9cd2dd3bcfb3a285555de9d596a3bf5f.ppt
- Количество слайдов: 19
Processor Design 5 Z 032 Computer Systems Overview Chapter 1 Henk Corporaal Eindhoven University of Technology 2011 TU/e Processor Design 5 Z 032 1
Topics • • Computer revolution What is a computer system? Processor Memory Chips and semiconductor Communication Programming a computer (basics) TU/e Processor Design 5 Z 032 2
Computer revolution • Computers everywhere – PCs, portables, and workstations – Embedded systems – Playstations O(100 M)/year O(1000 M)/year O(50 M/year) • World Wide Web • Huge calculations – Human genome project – Large simulations • Information retrieval – Huge databases – Online libraries – Web pages • Computer performance growth TU/e Processor Design 5 Z 032 3
What is a computer system? Display harddisk network connection printer keyboard TU/e Processor Design 5 Z 032 actuators sensors 4
What is a computer system? Components: • input (mouse, keyboard) • output (display, printer) • memory – internal: DRAM, SRAM – external: hard disk drives, CD, floppy drive • network • see figs 1. 4 - 1. 12 TU/e Processor Design 5 Z 032 5
Structure of a computer system? Instruction memory Data memory Processor I/O interfaces Input and output devices TU/e Processor Design 5 Z 032 6
Focus • Our primary focus: the processor (CPU = central processing unit) – datapath and – control • Implemented using millions of transistors • Impossible to understand by looking at each transistor • We need… abstractions …. at many levels TU/e Processor Design 5 Z 032 7
Abstraction • Abstraction: – Give a complex item/object/structure a name • hide detail – The name represents this item/object/structure and can be used inside other items/objects/structures – This gives a hierarchical description • Examples: – – – Binary abstraction Circuit abstraction Machine instruction abstraction Program abstraction Data abstraction TU/e Processor Design 5 Z 032 8
Abstraction layers High level language Software Intermediate language level Compiler Operating system level Instruction set architecture (ISA) Register transfer level (RTL) Gate level VLSI level TU/e Processor Design 5 Z 032 Architecture / assembly Implementation / digital design Realization 9
Processor • General purpose processors (GPPs) (1995) – – – 80 x 86 MIPS Power. PC Sparc HP PA-RISC DEC Alpha 50 Million 5. 5 Million 3. 3 Million 700 K 300 K 200 K • Performance: see fig 1. 20 (pg 30) – grows with about 50% per year – doubling each 1. 6 years – hundred fold increase last 10 years TU/e Processor Design 5 Z 032 10
Processor • How does a processor operate ? • Performance growth, how? – Realization improvements • VLSI developments – Implementation improvements • Pipelining • Better circuits – Architecture improvements • Exploit parallelism • Prediction TU/e Processor Design 5 Z 032 11
Memory • Size – units: bit, byte, kbit, kbyte, Mbit, Mbyte, Gbit, Gbyte, Tbit, Tbyte, . . . – growth rate: see fig 1. 14 • DRAM growth rule: 4 times each 3 years • Types: – Volatile: SRAM, DRAM – Non-volatile: • Internal: ROM (and its many variants) • External: hard disk, floppy, CDROM, magnetic tape • Performance metrics: – Latency: access time in seconds (or nano seconds) – Throughput: bytes/second • Price / Performance or Price / Mbyte TU/e Processor Design 5 Z 032 12
Chips and semiconductor • VLSI improvements – Density • Processor O(100 Million) transistors/chip • Memory O(4 Billion) transistors/chip (DRAM) – Decreasing feature size: now 0. 13 m, next 0. 09 m – Speed of a transistor ~ 1/gate-length • However: future problems – wiring delays – quantum effects (like charge tunneling) • Note: chip area not much increasing – maximal about 1. 5 cm x 1. 5 cm – yield !! TU/e Processor Design 5 Z 032 13
Cost of an integrated circuit Cost per die = Cost per wafer Dies per wafer * Yield Dies per wafer = Wafer area Die area 1 Yield = (1+(Defects per area x Die area/2))2 Result: Cost of die = f (Die area ? ) TU/e Processor Design 5 Z 032 14
Communication • Computers can act stand alone, or in a network • Why network connected computers? – Communication • information exchange – Resource sharing • printers, modems, scanners, large storage capacities • Interconnection is standardized through protocol agreements – IP, TCP, Ethernet, Modem, Bluetooth standards, etc. TU/e Processor Design 5 Z 032 15
Programming a computer s w a p ( in t v [] , in t k ) Hig h-level language pro gram (in C ) {in t te m p ; te m p = v [ k ]; v [k ] = v [k + 1 ]; v [k + 1 ] = te m p ; } Assembler C compiler 0 00 0010 10 00 01 0000000011000 0010 00 11 10 000 1100000100 00 1 1 000 11 0001 10 000 00000 00 0 sw ap : Asse mb ly language pro gram (for M IPS) m u li $ 2 , $ 5 , 4 $ 2 , $ 4 , $ 2 1 010 11 0011 11 00 10 000000 00 0 lw $ 1 5 , 0 ($ 2 ) 1 010 11 0001 10 000 00000 10 0 lw $ 1 6 , 4 ($ 2 ) 0 00 1111 10 00 00 000001 00 0 a dd sw $ 1 6 , 0($ 2 ) sw $ 1 5 , 4($ 2 ) jr TU/e Processor Design 5 Z 032 1 000 11 0011 11 00 10 000000 10 0 $31 Binary machine language program (for MIPS) 16
Instruction Set Architecture: ISA • A very important abstraction – interface between hardware and low-level software – standardizes instructions, machine language bit patterns, etc. – advantage: different implementations of the same architecture – disadvantage: sometimes prevents using new innovations True or False: Binary compatibility is extraordinarily important? • Modern instruction set architectures: – 80 x 86/Pentium/K 7 (IA-32), Power. PC, DEC Alpha, MIPS, SUN SPARC, HP-PA, IA-64, and what about JVM? TU/e Processor Design 5 Z 032 17
Where we are headed • Performance issues (Chapter 2) – vocabulary and motivation • A specific instruction set architecture (Chapter 3) • Arithmetic and how to build an ALU (Chapter 4) • Constructing a processor to execute our instructions (Chapter 5) • Pipelining to improve performance (Chapter 6) • Memory: caches and virtual memory (Chapter 7) • I/O (Chapter 8) • Preliminaries: TU/e Processor Design 5 Z 032 18
Exercises • Try the following from chapter one: • 1. 1 - 1. 44 about definitions and terminology • 1. 46, 1. 47 • 1. 48 (read ‘in depth’ section pg. 48 first), 1. 50 TU/e Processor Design 5 Z 032 19