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 II CSC/CPE 315 Where software and hardware finally meet Prof. Franklin Chapter 1 – Fabrication What is Computer Architecture? Program software Architecture Write compilers Design assembly language Design processor Optimize layout, circuits, etc Design transistor technology Instruction Set Architecture • Provides a view of the computer to the compiler/programmer • Performance – Compiler optimizations – Hardware optimizations • Price – Implementation difficulty (labor) – Implementation size (manufacturing) Processor Design • Where software and hardware meet • Memory system, bus structure, chip design • High-level ISA implementation (P1 vs P2) • Performance – Cache size, # of func units, bells & whistles • Price – Implementation difficulty (labor) – Implementation size (manufacturing) Hardware Implementation • Detailed logic design • Performance – Low-level optimizations • Price – Packaging technology CPE 315 Topics • What do high-level instructions get compiled down to? • How do you build a basic machine? • How do architects specialize the hardware to run programs quickly? • How do programmers optimize programs to run quickly? How to Speak Computer High Level Language Program temp = v[k]; v[k] = v[k+1]; v[k+1] = temp; Compiler lw $15, lw $16, sw $16, sw $15, Assembly Language Program 0($2) 4($2) 0($2) 4($2) Assembler 1000110001100010000000000000000 1000110011110010000000000000100 1010110011110010000000000000000 1010110001100010000000000000100 Machine Language Program ISA Machine Interpretation Hardware ALUOP[0:3] <= InstReg[9:11] & MASK Java High Level Language Program temp = v[k]; v[k] = v[k+1]; v[k+1] = temp; Compiler lw $15, lw $16, sw $16, sw $15, Assembly Language Program 0($2) 4($2) 0($2) 4($2) Assembler Java 1000110001100010000000000000000 1000110011110010000000000000100 Java Byte Code 1010110011110010000000000000000 1010110001100010000000000000100 ISA Virtual Machine Interpretation Java Virtual Machine ISA Software translates each instruction for the current hardware Machine Interpretation Hardware ALUOP[0:3] <= InstReg[9:11] & MASK Architecture • Where software and hardware meet • Must understand software – Programs have certain characteristics – Optimize design to take advantage of char. • Must understand hardware – Hardware design complexity – Ease of programming – Performance – Power Performance • Not an absolute • Depends on application characteristics – Graphics – General-Purpose desktop – Scientific apps – Servers • Rapidly changing technology – DRAM speed, chip density, etc. • This is the focus of our class But I’m CS • Why do I have to learn about hardware? (I hear you ask) • Hardware is optimized to take advantage of _________________________ • If your software is different, it can get ___________ performance • You must _________ general architecture to _________ for it. • In ideal world, ________ would do this for you. Which is faster? R1 = A[5]; B[6] = R1 R3 = R0 + R2 R5 = R4 – R3 R7 = R0 + R6 C[7] = R7 R1 = A[5]; R3 = R0 + R2 R7 = R0 + R6 B[6] = R1 R5 = R4 – R3 C[7] = R7 Which is faster in C/Java? for(i=0;i<n;i++) for(j=0;j<n;j++) A[j][i] = i*j+7; for(i=0;i<n;i++) for(j=0;j<n;j++) A[i][j] = i*j+7; What data structure should I use? • Array or linked structure? • Does it change often? • Does it get searched often? Growing Silicon • Silicon is a ______ grown in a vat • It comes out the shape of a ______ • This is called an ________ Creating Chips • Sliced into thin discs called ______ • Etch grooves and pour metal, etc • Cut the wafer into ______ or ______ • A flaw is called a _________ • The percentage of good ones is _______ Price vs Cost • Price – Selling price – Supply & Demand – Little correlation to fabrication cost • Cost – Fabrication cost – Design cost Cost • Cost per die • Dies per wafer • Yield • Cheapest when Yield and Dies per wafer are (high / low) Current chip trends • Shrinking Technology –Reported in ________ –Each generation allows more to fit in same space –_____________ gradually falls in time with same technology Current chip trends • Increasing Area effects: –Yield – (increases / decreases) chance of a defect on die –Dies/wafer – (more / fewer) dies, (more / less) wasted space Example • Current P4’s are 217mm2 in 0.18-micron technology. A new 0.13-micron fab process should cut the die area in half. If defects occur 1 per cm2, what are the old and new yields? • Yield = 1 / (1 + (defectrate*area/2)) 2 OldYield: Technology trends • Smaller is faster, cheaper – Faster – – Cheaper – • Bigger holds more • Complexity is more accurate, but large & expensive New Yield: Review: Two’s complement • 2 -> -2 -> 2 • 0010 -> 1110 -> 0010 • Flip all the bits, add one. It works both directions • 5 -> -5 -> 5 • ____ ____ _____