You are on page 1of 16

Fundamentals of Computer Design

Fundamentals of Computer Design
There has been a dramatic, unprecedented growth in the area of computer technology. Sustaining this growth requires continued innovation in computer design. Topics of Discussion (1) Area of Growth (2) Task of a Computer Architect (3) Computer Architecture (4) Trends in Implementation Technology (5) Cost and Trends in Cost (6) Measuring and Reporting Performance (7) Quantitative Principles (8) Summary

Huang - Spring 2008 CSE 340


Clusters. Embedded computing Huang .g. Desktop computing: Workstations and PCs thriving. E.g.g.Spring 2008 CSE 340 2 . E. (3) Exponential growth in the variety and complexity of the applications. E. Client-server applications. Main-frame and Mini-computers vanished.Fundamentals of Computer Design Areas of Growth (1) Significant enhancements in the capability available to the users. Servers. (2) Dominance of micro-processor based design across the entire range of computers. Distributed computing.

(2) Design a machine to maximize performance while staying within cost constraints. (3) Some important design aspects: instruction set design functional requirements logic design implementation (4) Design optimization involves a range of items from Compilers to Operating System to Logic Design and Packaging.Fundamentals of Computer Design Tasks of a Computer Designer (1) Determine the attributes important to the new machine. Huang .Spring 2008 CSE 340 3 .

Spring 2008 CSE 340 4 .g.g. CPU internal organization Bus structure Memory organization Hardware: Implementation specifics of a machine e.Fundamentals of Computer Design Computer Architecture Covering three aspects of computer design Instruction Set Architecture: Programmer visible instruction sets Boundary between software and hardware Organization: High-level aspects of computer design e. Logic design and Packing technology Huang .

Structured programming. Huang . High-level languages . eg.Fundamentals of Computer Design Technology Trends Address space growth. Compiler technology .Instruction and Data. Software development environment. MS DOS’s 640K to current system’s Gbytes Pipelining .OOPs.Spring 2008 CSE 340 5 . Cache use at all levels.exploring underlying architectural features.

Cycle time (slowly) decreases by one-third in ten years. Huang .Spring 2008 CSE 340 6 . leading to a faster internet structure. Higher bandwidth is made possible by optical media and faster switching hardware. Semiconductor DRAM: Density increases 40-60% per year. Bandwidth per chip increases about twice as fast as latency decreases.Fundamentals of Computer Design Technology Trends IC Technology: Transistor count on a chip increases 55% per year. Network Technology: 1 Gb Ethernet becomes available. Magnetic disk technology: Density increases 100% per year recently. Access time improved by one-third in ten years.

yield improvement brings down the cost. Volume As consumption increases. and Commodization Time: As time progresses. Huang . cost comes down.Spring 2008 CSE 340 7 .Fundamentals of Computer Design Cost and Trends in Cost What is cost? What is price? Impacts on cost: Time. Volume. (mass production) Commodization: Competition among producers brings prices down.

System performance: Elapsed time on unloaded system.9s 2. Huang .39 65% (1) CPU time for program (2) OS time for program (3) Elapsed time (4) % (CPU time/ Elapsed time) CPU Performance: user CPU time on unloaded system. Measuring Performance: Elapsed time System CPU time Unix time command: 90.Fundamentals of Computer Design Measuring and Reporting Performance Performance =1/ (Execution Time).7u 12.Spring 2008 CSE 340 8 .

8-Queen/n-Queen Benchmark suites Huang .) What do we test the system with? Synthetic benchmarks: Dhrystone and Whetstone Realworld programs: TeX. Spice. grep Kernels (part of): Linpack. Livermore loops Toy benchmarks: Quicksort.Fundamentals of Computer Design Measuring and Reporting Performance (Contd. gcc.Spring 2008 CSE 340 9 .

Make the common case fast (optimize for the normal case) .Estimate the performance improvement by making these cases faster . * Speedup tells us how much faster a task will run using the enhancement as opposed to the original machine.Spring 2008 CSE 340 10 . if satisfactory Amdahl’s Law: Speedup = Perf. without enhancement * Enhancement is any change/modification in the design and realization of a component. Huang .Identify the frequently requested case(s) .Fundamentals of Computer Design Quantitative Principles Most important principle in computer design: .Carry out the optimization. with enhancement / Perf.

* Then. * Amdahl’s Law serves as a guide to how much an enhancement will improve performance and how to distribute resources to improve cost/performance. Huang . * Then.) * The enhancement feature may not be used all the time.Fundamentals of Computer Design Amdahl’s Law (contd. Let the fraction of the computation time when the enhanced feature is used be F. * Let the speedup when enhanced feature is used be Se. the overall speedup So is Xold/Xnew = 1/((1-F)+F/Se). the execution time with enhancement Xnew = Xold*(1-F) + Xold*F/Se.Spring 2008 CSE 340 11 . * If an enhancement feature is rarely used. it’s not worth adding it.

The speedup of this unit is by a factor of 10. Decide which of the following two designs is better.Fundamentals of Computer Design Amdahl’s Law .Spring 2008 CSE 340 12 . FPSQR is responsible for 20% of the execution time of a critical graphics benchmark.Example Objective: Speedup Floating point square root operation. FP instructions are responsible for 50% of the total execution time. Design 1: Add FPSQR hardware. Design 2: Make all floating point (FP) instructions run 1. How will we measure the times for new and improved FP operations without building the system? (Simulation and Quantitative Analysis) Huang .6 times faster.

2ns) Clock rate = Frequency (e. CPI and Clock cycle time.g. 200 MHz) * IC = Instruction Count of a program CPI = CPU clock cycle for a program / IC * CPU Time = IC * CPI * Clock cycle time = IC * CPI / Clock rate Therefore.Spring 2008 CSE 340 13 . Huang .Fundamentals of Computer Design CPU Performance Equation Some definitions: * Time reference in a computer is provided by a clock. The discrete time events specified by the clock is known as clock cycles.g. * CPU time for a program = CPU clock cycles for a program * Clock cycle time (= CPU clock cycles for a program / Clock Rate) * Clock cycle time = Period (e. the CPU performance is dependent on three components: IC.

Spring 2008 CSE 340 14 . Huang .Instruction set architecture and compiler technology Improvement in one component has some predictable impacts on the other two.Hardware technology and organization * CPI .Organization and Instruction set architecture * Instruction count . * Clock cycle time .Fundamentals of Computer Design CPU Performance Equation (contd.) Now how do we improve performance? These three factors are inter-dependent.

5. Compare these two design alternatives using CPU performance equation.Fundamentals of Computer Design CPU Performance Equation -Example * Frequency of FP instructions (other than FPSQR): 25% * Average CPI of FP instructions: 4.33 * Frequency of FPSQR: 2% * CPI of FPSQR: 20 Design alternative 1: Reduce CPI of FPSQR from 20 to 2.Spring 2008 CSE 340 15 . Huang .0 * Average CPI of other instructions: 1. Design alternative 2: Reduce average CPI of all FP instructions to 2.

0 .64.2%(Old CPI for FPSQR .02(20-2) = 1.625.Spring 2008 CSE 340 16 . Design 1 speedup = 2.33*75/100) = 1. Design 2: New Program CPI = (2. Design 1: New Program CPI = CPI Original .0/1. Huang .0.33*75/100)=2.Fundamentals of Computer Design CPU Performance Equation -Example (Contd.64=1.5*25/100)+(1.625 = 1.) Program CPI original = (4*25/100)+(1.0/1. Same as computed by Amdahl’s Law.0.New CPI for FPSQR) = 2.23. Design 2 speedup = 2.22.