1 / 77

Fundamentals of Computer Design

Fundamentals of Computer Design. 游象甫. Outline. Introduction The Changing Face of Computing and the Task of the Computer Designer Technology Trends Cost, Price, and Their Trends Measuring and Reporting Performance Quantitative Principles of Computer Design Performance and Price-Performance.

yates
Télécharger la présentation

Fundamentals of Computer Design

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Fundamentals of Computer Design 游象甫

  2. Outline • Introduction • The Changing Face of Computing and the Task of the Computer Designer • Technology Trends • Cost, Price, and Their Trends • Measuring and Reporting Performance • Quantitative Principles of Computer Design • Performance and Price-Performance

  3. Introduction • $1K today buys a personal computer better than a computer bought in 1980 for $1M • My first computer, 1989 • Intel 80386 25MHz, 2MB RAM, 20MB hard disk, 51/4” and 31/2” floppy disk, 14” mono screen, dot-matrix printer Epson 500c => all cost NTD 70,000 • My Nth computer, 2004 • Intel Pentium 4 2.4GHz, 768MB DDR-400, 60GB hard disk, 31/2” floppy disk, 19” LCD, Epson C43UX => all cost NTD 35,000

  4. Introduction (cont.) • 1945-1970 • Mainframes dominated • Improvement by better electronic technologies and computer architecture • 1970s • Mainframes and minicomputers still dominated • Improvement by integrated circuit technologies at 25% to 30% per year

  5. Introduction (cont.) • 1980s • Microprocessor-based computers is a main trend • Improvement by integrated circuit technologies at 35% per year • Changes in software design • Mostly with UNIX and C • Virtual elimination of assembly language • Need for efficient compilers

  6. Introduction (cont.) • Reduced Instruction Set Computer (RISC) was proposed • Favor a smaller and simpler set of instructions that all take about the same amount of time to execute • Doing everything in registers and loading and saving the data to and from them. Many researchers prefer the term load-store • Performance Improved by 50% per year • ARM, DEC Alpha, PA-RISC, SPARC, MIPS, and IBM PowerPC

  7. Introduction (cont.) • Complex Instruction Set Computer (CISC) • Each instruction can execute several low-level operations, such as a load from memory, an arithmetic operation, and a memory store, all in a single instruction • CDC 6600, System/360, VAX, PDP-11, Motorola 68000 family and the Intel x86 CPUs

  8. Introduction (cont.) By advanced architectural and organizational ideas

  9. The Changing Face of Computing • Three computing markets • Desktop computing • The first and still the largest market in terms of dollars • Optimize the price-performance • Servers • Availability • A system can reliably and effectively provide a service • Scalability • Efficient Throughput • Transactions per minute

  10. The Cost of an Unavailable System NTD 200,000,000 NTD 450,000

  11. The Changing Face of Computing (cont.) • Embedded computers • Meeting the performance need at a minimum price • Real-time performance requirements • The need to minimize memory and power • Approaches to embedded computers • A combined hardware/software solution • Custom software on an off-the-shelf embedded processor • Custom software on a digital signal processor

  12. A Summary of Three Computing Classes

  13. The Task of the Computer Designer • Determine what attributes are important for a new machine • Design a machine to maximize performance while staying within cost and power constraints

  14. Functional Requirements an Architect Faces

  15. Technology Trends • To design a new machine, we’d better be aware of technology trends • Integrated circuit logic technology • A growth rate in transistor count on a chip on about 55% per year, 35% from transistor density increase and 20% for die size decrease • Semiconductor DRAM • Density increases by between 40% and 60% per year • Cycle time improved by one-third in 10 years • Bandwidth per chip increases about twice as fast as latency decreases

  16. Technology Trends (cont.) • Magnetic disk technology • Disk density increases by more than 100% per year • Access time has improved one-third in 10 years • Network technology • It took about 10 years for Ethernet to move from 10Mbps to 100Mbps. • It took only 5 years from 100Mbps to 1Gbps • From my personal experience, it seems take less than 2 years from 1Gbps to 10Gbps • Bandwidth is not a problem, but contents and security

  17. Scaling of Transistor Performance, Wires, and Power • Feature size : size of a transistor • decreased from 10 microns in 1971 to 0.18 microns in 2001, recently 0.065 microns in 2005 • Wire delay becomes a problem • Power consumption increases • The first microprocessors consumed 1 watt, while 2 GHz Pentium 4 consumes close to 100 watts • How to remove the heat is a challenge • Why your notebook has different type of CPUs? Cook an egg by CPU

  18. Cost, Price, and Their Trends • Price is what you sell a finished good for • Cost is the amount spend to produce it, including overhead • Time • Volume • Commodification • Learning curve • Manufacturing costs decrease over time

  19. Impact of Time on the Price of DRAM

  20. Impact of Time on the Price of an Intel Pentium III

  21. Cost of an Integrated Circuit • Wafer

  22. Cost of an Integrated Circuit

  23. For Fun

  24. Cost Analysis of an Integrated Circuit Why?

  25. Example • Find the number of dies per 30cm wafer for a die that is 0.7cm on a side. • Answer: When 1cm on a side, the number becomes 640!

  26. Example • Find the die yield for dies that are 1com on a side and 0.7cm on a side, assuming a defect density of 0.6 per cm2. • Answer

  27. Area vs. Defects per Unit Area From 柯皓仁, 交通大學

  28. Computer Designers vs. Chip Costs • Smaller area + Higher yield -> Smaller cost • Possible solutions • Redundancy to reduce defects -> for DRAM • Simply functions included and reduce the number of I/O pins

  29. Distribution of Cost in a System

  30. Cost vs. Price We are here!

  31. Cost/Price for Different Kinds of Systems From 柯皓仁, 交通大學

  32. How much your boss spends on R&D • 4% - 12%, in general • 15% - 20%, rarely prosper over the long term!

  33. Measuring and Reporting Performance • X is n times faster than Y

  34. Measuring Performance • Wall-clock time, response time, elapsed time • The latency to complete a task, including everything • CPU time • time spent computing your program by CPU • system CPU time + user CPU time

  35. OS Time • Unix time command reports • User CPU time • System CPU time • Total elapsed time • % of elapsed time that is user + system CPU time • BEWARE • OS’s have a way of under-measuring themselves 90.7u 12.9s 2:39 65% From 柯皓仁, 交通大學

  36. Choosing Programs to Evaluate Performance • Real applications– clearly the right choice • Challenges • Porting and eliminating system-dependent activities • User burden -- to know which of your programs you really care about • Modified (or scripted) applications • Enhance portability or focus on particular aspects of system performance From 柯皓仁, 交通大學

  37. Choosing Programs to Evaluate Performance (cont.) • Kernels– small, key pieces of real programs • Best used to isolate performance of individual features to explain the reasons from differences in performance of real programs • Livermore Loops and Linpack are examples • Not real programs however -- no user really uses them • Toy benchmarks– quicksort, puzzle • Beginning programming assignment From 柯皓仁, 交通大學

  38. Choosing Programs to Evaluate Performance (Cont.) • Synthetic benchmarks • Try to match the average frequency of operations and operands of a large set of programs • No user really runs them -- not even pieces of real programs • They typically reside in cache & don’t test memory performance • You must understand what the benchmark code is in order to understand what it might be measuring • Companies thrive or bust on benchmark performance • Hence they optimize for the benchmark From 柯皓仁, 交通大學

  39. Benchmark Suites • SPEC (Standard Performance Evaluation Corporation) • http://www.spec.org • Desktop benchmarks • CPU-intensive: SPEC CPU2000 • Graphic-intensive: SPECviewperf • Server benchmarks • CPU throughput-oriented: SPECrate • I/O activity: SPECSFS (NFS), SPECWeb • Transaction processing: TPC (Transaction Processing Council) From 柯皓仁, 交通大學

  40. Benchmark Suits (cont.) • Embedded benchmarks • EEMBC (EDN Embedded Microprocessor Benchmark Consortium) From 柯皓仁, 交通大學

  41. Some PC Benchmarks

  42. SPEC CPU2000 Benchmark Suites - Integer

  43. SPEC CPU2000 Benchmark Suites – Floating Point

  44. EEMBC Benchmark Suites

  45. Reporting Performance Results • Claim Spice takes X seconds on machine Y • Missing: • Spice version input? What was the circuit? • Operational parameters - time step, duration • Compiler and version & optimization settings • Machine configuration - disk, memory, etc. • Source code modification or hand-generated assembly language • Reproducibility is a must • List everything another experimenter would need to duplicate the results From 柯皓仁, 交通大學

  46. An Example for Benchmark Reporting

  47. Comparing Performance • How can we compare performance fair? • Total Execution Time • Weighted Execution Time • Normalized Execution Time

  48. An Example • By total execution time • B is 9.1 times faster than A for programs P1 and P2 • C is 25 times faster than A for programs P1 and P2 • C is 2.75 times faster than B for programs P1 and P2

  49. An Example (cont.) • Weighted Arithmetic Mean

  50. Normalized Execution Time • Arithmetic Mean • Geometric Mean • Ratio of the means = Mean of the ratios • Consistent no matter which machine is the reference

More Related