Two major Areas of Digital Computer Design!
- Technology and Architecture are the two major areas in the design of a digital computer.
- During the first 25 years of electronic computers, development took place in both of these areas for improving the performance of computers in terms of its cost, size, speed and storage etc.
Technological Development in Computer Design:
- The technology used in the first generation computers like ENIAC was vacuum tubes.
- The second-generation computers used transistors made up of semi-conductors as their switching devices.
- Third-generation computers used ICs for the construction of their CPUs.
- ICs were made of silicon materials to hold various electronic components like transistors, capacitors and resistors in a single chip.
LSI & VLSI Technology:
- The computers developed based on IC technology were known as mini-computers and mainframe computers.
- But in the late 1970s, technology was greatly improved to hold thousands and ten thousands of electronic components in a single chip. This technology is known as LSI and VLSI.
- The chip developed using VLSI technology for processing is called as microprocessor.
- The computer constructed using microprocessor is called as a microcomputer.
Till 1980, the performance of an electronic computer was largely driven by technology. Since mid 1980s, the performance has been totally depend on the advancement in the architecture of the digital computer. Two major changes have been taken place in the early 1980s. First one is the development of high-level languages to reduce the need for object-code compatibility. Second one is the creation of standardized, vendor-independent OS, such as UNIX.
The development in the area of software led to the development of a new set of architecture, called as RISC architecture. RISC-based machines have grown at an annual rate of over 50%. Advantages of architectural development in the computer design includes:
- Enhances the capability available to computer users.
- Replace the higher-end mini and mainframe computers with the lower-end workstations and servers.
The Task of a Computer Designer:
The task of a computer designer includes the following:
- Determine what attributes are important for a new machine.
- Design a machine with higher performance and lower cost. The design includes the following sub tasks:
- Instruction set design
- Functional organization design (physical)
- Logic design and
- Implementation, which includes IC Design, packaging, power and cooling.
- Optimize the design involves hardware and software optimization. Examples are: optimization of compilers, OS and the hardware logic design.
The Instruction Set Design/Architecture refers to the actual programmer visible instruction set, which serves as the boundary between hardware and software.
The term Organization includes the high-level aspects of a computer design such as the memory system, the bus structure and the internal CPU. Hardware refers to the specifics of a machine. This would include the detailed logic design and the packaging technology of the machine.
Thus the job of a Computer Architect is to:
- Determine the functional requirements
- Design a computer to meet the functional requirements, as well as price and performance goals.
- Optimize the design based on some metrics. The most common metrics are: cost and performance. Some other metrics are: reliability and fault tolerance.