What is computer architecture ?
- Amdahl, Blaauw and Brookes, 1964 (IBM 360 team):
- The structure of a computer that a machine language programmer must understand to write a correct (timing independent) program for that machine
- Loosely speaking, it is the science of designing computers “leading to glorious failures and some notable successes”
Architect’s job
- Design and engineer various parts of a computer system to maximize performance and programmability within the technology limits and cost budget
- Technology limit could mean process/circuit technology in case of microprocessor architecture
- For bigger systems technology limit could mean interconnect technology (how one component talks to another at macro level)
Slightly outdated data
58% growth rate
- Two major architectural reasons
- Advent of RISC (Reduced Instruction Set Computer) made it easy to implement many aggressive architectural techniques for extracting parallelism
- Introduction of caches
- Made easy by Moore’s law
- Two major impacts
- Highest performance microprocessors today outperform supercomputers designed less than 10 years ago
- Microprocessor-based products have dominated all sectors of computing: desktops, workstations, minicomputers are replaced by servers, mainframes are replaced by multiprocessors, supercomputers are built out of commodity microprocessors (also a cost factor dictated this trend)
|