Processor Design 5 Z 032 Computer Systems Overview

  • Slides: 19
Download presentation
Processor Design 5 Z 032 Computer Systems Overview Chapter 1 Henk Corporaal Eindhoven University

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

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 –

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

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)

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

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

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 –

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

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

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

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,

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 •

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

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

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

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

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 •

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

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