Some definitions of architecture define it as describing the capabilities and programming model of a computer but not a particular implementation. Mohammad Usman Khan, all members of the Machine Organization department in IBM’s main research center in 1959. Planning a Computer Cpu organization in computer architecture pdf: Project Stretch, ed. Computer architecture, like other architecture, is the art of determining the needs of the user of a structure and then designing to meet those needs as effectively as possible within economic and technological constraints.
Later, computer users came to use the term in many less-explicit ways. The earliest computer architectures were designed on paper and then directly built into the final hardware form. There are other types of computer architecture. Pin architecture functions are more flexible than ISA functions because external hardware can adapt to new encodings, or change from a pin to a message. The term “architecture” fits, because the functions must be provided for compatible systems, even if the detailed method changes.
The purpose is to design a computer that maximizes performance while keeping power consumption in check, costs low relative to the amount of expected performance, and is also very reliable. For this, many aspects are to be considered which includes instruction set design, functional organization, logic design, and implementation. The implementation involves integrated circuit design, packaging, power, and cooling. Optimization of the design requires familiarity with compilers, operating systems to logic design, and packaging.
Besides instructions, the ISA defines items in the computer that are available to a program—e. The ISA of a computer is usually described in a small instruction manual, which describes how the instructions are encoded. An assembler is a computer program that translates a human-readable form of the ISA into a computer-readable form. ISAs vary in quality and completeness. For example, single-instruction ISAs like an ISA that subtracts one from a value and if the value is zero then the value returns to a higher value are both inexpensive, and fast, however ISAs like that are not convenient or helpful when looking at the size of the ISA. Memory organization defines how instructions interact with the memory, and how memory interacts with itself.
Modern emulators can measure size, cost, and speed to determine if a particular ISA is meeting its goals. Computer organization helps optimize performance-based products. For example, software engineers need to know the processing power of processors. They may need to optimize software in order to gain the most performance for the lowest price. This can require quite detailed analysis of the computer’s organization. For example, in a SD card, the designers might need to arrange the card so that the most data can be processed in the fastest possible way.
Computer organization also helps plan the selection of a processor for a particular project. Multimedia projects may need very rapid data access, while virtual machines may need fast interrupts. Sometimes certain tasks need additional components as well. Computer organization and features also affect power consumption and processor cost. Once an instruction set and micro-architecture are designed, a practical machine must be developed. Once the design validation process starts, the design at the logic level are tested using logic emulators.
However, this is usually too slow to run realistic test. Most hobby projects stop at this stage. The final step is to test prototype integrated circuits. Integrated circuits may require several redesigns to fix problems. The exact form of a computer system depends on the constraints and goals. Sometimes other considerations, such as features, size, weight, reliability, and expandability are also factors.