cse141 introduction to computer architecture
play

cse141: Introduction to Computer Architecture Steven Swanson Alice - PowerPoint PPT Presentation

cse141: Introduction to Computer Architecture Steven Swanson Alice Liang 1 Todays Agenda What is architecture? Why is it important? Whats in this class? 2 Computer Architecture 3 What is architecture? How do you build a machine


  1. cse141: Introduction to Computer Architecture Steven Swanson Alice Liang 1

  2. Today’s Agenda What is architecture? Why is it important? What’s in this class? 2

  3. Computer Architecture 3

  4. What is architecture? • How do you build a machine that computes? • Quickly, safely, cheaply, efficiently, in technology X, for application Y, etc. • Architects develop new mechanism for performing and organizing “mechanical” computation 4

  5. Why is architecture important? • For the world • Computer architecture provides the engines that power all of computing Civilization advances by extending the number of important operations which we can perform without thinking about them. -- Alfred North Whitehead 5

  6. 6

  7. 6

  8. 6

  9. 6

  10. 6

  11. 6

  12. 6

  13. 6

  14. 6

  15. Why is architecture important? • For the world • Computer architecture provides the engines that power all of computing Civilization advances by extending the number of important operations which we can perform without thinking about them. -- Alfred North Whitehead • For you • As computer scientists, software engineers, and sophisticated users, understanding how computers work is essential • The processor is the most important piece of this story • Many performance (and efficiency) problems have their roots in architecture. 7

  16. Orientation The internet

  17. Orientation The internet

  18. High-end Server Ultra Portable Handheld Motherboards to scale • Architecturally, these machines are more similar than different • Same parts • Different Scale • Different Constraints

  19. Orientation: A Server Memor Memor Memor Memor PCIe y y y y CPU Sockets Memor Memor Memor Memor y y y y Architecture begins about here.

  20. Orientation: MacBook Air System CPU Hub Connectors SSD Slot Memory Architecture begins about here.

  21. Orientation: iPhone 4s Flash Memory on the back Sim CPU + Peripherals Card DRAM Architecture begins about here.

  22. You are here Nehalem Corei7 Nvidia Tegra 3 Quad-core Server Five-core mobile processor processor

  23. The processors go here…

  24. The processors go here…

  25. The processors go here…

  26. The processors go here…

  27. The processors go here…

  28. The processors go here…

  29. The processors go here…

  30. The processors go here…

  31. The processors go here…

  32. The processors go here…

  33. The processors go here…

  34. The processors go here…

  35. Abstractions of the Physical World… Physics/Materials Devices Micro-architecture Processors Architectures

  36. Abstractions of the Physical World… cse241a/ Physics/ This Course ECE dept Chemistry/ Material science Physics/Materials Devices Micro-architecture Processors Architectures

  37. …for the Rest of the System JVM Software Processor Compilers Languages Architectures Engineers/ Abstraction Applications

  38. …for the Rest of the System cse121 cse131 cse130 cseEverythingElse JVM Software Processor Compilers Languages Architectures Engineers/ Abstraction Applications

  39. Current state of architecture

  40. Moore’s Law • The number of transistors we can build in a fixed area of silicon doubles (roughly) every two years. Moore’s Law is the most important driver for historic CPU performance gains 19

  41. Since 1940 20

  42. Since 1940 50,000 x speedup >1,000,000,000 x density (Moore’s Law) 20

  43. Since 1940 50,000 x speedup Plug boards -> Java >1,000,000,000 x density Hand assembling -> GCC (Moore’s Law) No OS -> Windows 7 20

  44. Since 1940 50,000 x speedup Plug boards -> Java >1,000,000,000 x density Hand assembling -> GCC (Moore’s Law) No OS -> Windows 7 We have used this performance to make computers easier to use, easier to program, and to solve ever-more complicated problems. 20

  45. Since 1940 50,000 x speedup Plug boards -> Java >1,000,000,000 x density Hand assembling -> GCC (Moore’s Law) No OS -> Windows 7 We have used this performance to make computers easier to use, easier to program, and to solve ever-more complicated problems. 20

  46. Where do We Get Performance? 100000 specINT95 Perf specINT2000 Perf specINT2006 Perf specINT2000 Mhz specINT2006 Mhz 10000 Relative Performance or Clock speed (Mhz) 1000 100 10 1 1990 1995 2000 2005 2010 2015 Year 21

  47. Where do We Get Performance? 100000 specINT95 Perf specINT2000 Perf specINT2006 Perf specINT2000 Mhz specINT2006 Mhz 10000 Relative Performance or Clock speed (Mhz) Clock speed 1000 100 10 1 1990 1995 2000 2005 2010 2015 Year 21

  48. Where do We Get Performance? 100000 specINT95 Perf specINT2000 Perf specINT2006 Perf specINT2000 Mhz specINT2006 Mhz 10000 Relative Performance or Clock speed (Mhz) Clock speed 1000 Golden age: 100 ~40-50%/year 10 1 1990 1995 2000 2005 2010 2015 Year 21

  49. Where do We Get Performance? 100000 specINT95 Perf specINT2000 Perf specINT2006 Perf specINT2000 Mhz specINT2006 Mhz 10000 Relative Performance or Clock speed (Mhz) Clock speed 1000 Golden age: 100 ~40-50%/year 10 Modern era: ~25%/year 1 1990 1995 2000 2005 2010 2015 Year 21

  50. The End of Clock Speed Scaling • Clock speed is the biggest contributor to power • Chip manufactures (Intel, esp.) pushed clock speeds very hard in the 90s and early 2000s. • Doubling the clock speed increases power by 2-8x • Clock speed scaling is essentially finished. • Most future performance improvements will be due to architectural and process technology improvements 22

  51. Power 1000 100 2 Watts/cm 10 1 1.5µ 1µ 0.7µ 0.5µ 0.35µ 0.25µ 0.18µ 0.13µ 0.1µ 0.07µ 1.5µ 1µ 0.7µ 0.5µ 0.35µ 0.25µ 0.18µ 0.13µ 0.1µ 0.07µ 23

  52. Power 1000 100 2 Watts/cm 10 1 1.5µ 1µ 0.7µ 0.5µ 0.35µ 0.25µ 0.18µ 0.13µ 0.1µ 0.07µ 1.5µ 1µ 0.7µ 0.5µ 0.35µ 0.25µ 0.18µ 0.13µ 0.1µ 0.07µ 23

  53. Power 1000 100 2 Watts/cm 10 1 1.5µ 1µ 0.7µ 0.5µ 0.35µ 0.25µ 0.18µ 0.13µ 0.1µ 0.07µ 1.5µ 1µ 0.7µ 0.5µ 0.35µ 0.25µ 0.18µ 0.13µ 0.1µ 0.07µ 23

  54. Power 1000 100 2 Watts/cm 10 1 1.5µ 1µ 0.7µ 0.5µ 0.35µ 0.25µ 0.18µ 0.13µ 0.1µ 0.07µ 1.5µ 1µ 0.7µ 0.5µ 0.35µ 0.25µ 0.18µ 0.13µ 0.1µ 0.07µ 23

  55. Power 1000 100 2 Watts/cm 10 1 1.5µ 1µ 0.7µ 0.5µ 0.35µ 0.25µ 0.18µ 0.13µ 0.1µ 0.07µ 1.5µ 1µ 0.7µ 0.5µ 0.35µ 0.25µ 0.18µ 0.13µ 0.1µ 0.07µ 23

  56. Power 1000 100 2 Watts/cm 10 1 1.5µ 1µ 0.7µ 0.5µ 0.35µ 0.25µ 0.18µ 0.13µ 0.1µ 0.07µ 1.5µ 1µ 0.7µ 0.5µ 0.35µ 0.25µ 0.18µ 0.13µ 0.1µ 0.07µ 23

  57. The Rise of Parallelism • Multi-processors • If one CPU is fast, two must be faster! • They allow you to (in theory) double performance without changing the clock speed. • Seems simple, so why are becoming so important now • Speeding up a single CPU makes everything faster! • An application’s performance double every 18 months with no effort on the programmer’s part. • Getting performance out of a multiprocessor requires work. • Parallelizing code is difficult, it takes (lots of) work • There aren’t that many threads • Remember or look forward to cse120 24

  58. Intel Core 2 Duo Intel P4 Intel Nahalem (2006) (2000) (2010) 2 cores 1 core 4 cores SPARC T3 Nvidia Tegra 3 AMD Zambezi (2010) (2011) (2011) 16 cores 5 cores 16 cores 25

  59. Why This Class? 26

  60. The Goal of a Degree in CS or CE (My $0.02) • To understand the components and abstractions that make up a modern computing system • To understand how they impact a system’s performance, efficiency, and usefulness • To be able to harness, modify, and extend them to solve problems effectively 27

  61. Goals for this Class • Understand how CPUs run programs • How do we express the computation the CPU? • How does the CPU execute it? • How does the CPU support other system components (e.g., the OS)? • What techniques and technologies are involved and how do they work? • Understand why CPU performance (and other metrics) vary. • How does CPU design impact performance? • What trade-offs are involved in designing a CPU? • How can we meaningfully measure and compare computer systems? • Understand why program performance varies • How do program characteristics affect performance? • How can we improve a programs performance by considering the CPU running it? • How do other system components impact program performance? 28

  62. What’s in this Class • Instruction sets • The memory system • • MIPS Memory technologies • • x86 Caching • Operating system • ISAs and the compiler • The processor pipeline support • • Basic design Virtual memory • • Pipelining Exceptions, interrupts • • Dealing with hazards IO • Introduction to • Speculation and control • Measuring multiprocessors performance • Amdahl’s Law • Performance measurement • Metrics 29

Recommend


More recommend