Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Computer Architecture Instructor: Wen-Hung Liao E-mail: [email protected] Office: 大仁樓三樓 200312 Office hours: TBA Course web page: http://www.cs.nccu.edu.tw/~whliao/cod2005/ Textbook: Patterson and Hennessy, Computer Organization and Design, 3rd Edition. Companion website Chapter 1 Computer Abstractions and Technology Introduction Rapidly changing field: vacuum tube -> transistor -> IC -> VLSI doubling every 1.5 years: memory capacity processor speed (Due to advances in technology and organization) Moore’s Law (Example) Year of introduction Transistors 4004 1971 2,250 8008 1972 2,500 8080 1974 5,000 8086 1978 29,000 286 1982 120,000 386™ processor 1985 275,000 486™ DX processor 1989 1,180,000 Pentium® processor 1993 3,100,000 Pentium II processor 1997 7,500,000 Pentium III processor 1999 24,000,000 Pentium 4 processor 2000 42,000,000 Things you’ll be learning How computers work, a basic foundation How to analyze their performance Issues affecting modern processors (caches, pipelines, parallel computing) Why learn this stuff? you want to call yourself a “computer scientist” you want to build software people use (need performance) you need to make a purchasing decision or offer “expert” advice Prerequisite Some background in assembly language Boolean algebra Logic design What is a computer? Components: input (mouse, keyboard...) output (display, printer...) storage(disk drives, CD…) memory (DRAM, SRAM...) data path control network Our primary focus: the processor (data path and control) implemented using millions of transistors Impossible to understand by looking at each transistor Below your program gram High-level (in C) language pro High-level programming language - Fortran - C/C++ - Java swap(int v[], int k) {int temp; temp = v[k]; v[k] = v[k+1]; v[k+1] = temp; } C compiler Assembly language program (for MIPS) Assembly language: machine dependent swap: muli $2, $5,4 add $2, $4,$2 lw $15, 0($2) lw $16, 4($2) sw $16, 0($2) sw $15, 4($2) jr $31 Assembler Machine language: consists of binary digits,or ‘bits’ of information 00000000101000010000000000011000 00000000100011100001100000100001 Binary machine 10001100011000100000000000000000 language 10001100111100100000000000000100 program 101011001111001000000000000000 (for MIPS) 00 10101100011000100000000000000100 00000011111000000000000000001000 Instruction Set Architecture 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 Modern instruction set architectures 80x86/Pentium/K6,PowerPC, DEC Alpha, MIPS, SPARC, HP, IA-64 RISC vs. CISC architecture Where we are headed A specific instruction set architecture (Chapter 2) Arithmetic and how to build an ALU (Chapter 3) Assessing and understanding performance (Chapter 4) Constructing a processor to execute our instructions (Chapter 5) Pipelining to improve performance (Chapter 6) Memory: caches and virtual memory (Chapter 7) Storage, Networks, and Other Peripherals (Chapter 8) Multiprocessors (Chapter 9) Homework Read Chapter 1 of textbook. Download appropriate SPIM simulator for your computer. The Chip Manufacturing Process Integrated IC Cost Cost per wafer Cost per die Dies per wafer yield Wafer area Dies per wafer Die area Yield (empirical) 1 (1 (Defects per area Die area/2)) 2 Question: What is the approximate relationship between cost and die area?