SPRING 2012 Assembly Language
Definition 2 A microprocessor is a silicon chip which forms the core of a microcomputer the concept of what goes into a microprocessor has changed over the years (see history) Microprocessors are used in two general systems general purpose computing systems embedded control applications autos, ovens, phones, toys,... these are called microcontrollers
Microprocessor Chip 3 MIPS chip
History 4 Microprocessors have a short but significant history In 1969, a Japanese company (Busicom) approached Intel and asked them to build a set of custom chips for a hand-held calculator Intel proposed a single programmable chip (4004) It was released in 1971 as the world’s first microprocessor It was a 4 bit machine constructed out of 2300 transistors on a 16-pin chip
Growth 5 In 1974, Intel released the first 8-bit microprocessor the 8080 it consisted of 6000 transistors and could address 64K of memory Digital Research released the first general purpose operating system for a microprocessor, CP/M in 1975 In 1978, Intel released the 8086, a 16-bit microprocessor constructed out of 29,000 transistors At the same time, other companies such as Texas Instruments and Motorola released microprocessors
Intel
Intel
Intel
Intel
Intel
Intel
Intel Pentium
Intel Pentium Pro
Intel Pentium II
Intel Pentium III 15 Pentium III Processor 600 MHz, 9.5 M transistors 0.25u 5M process, 2.0V, 34.5W Dynamic Execution Superscalar pipeline 16/16 KB onchip I/D cache + 512KB offchip 2 nd - level cache Up to 4GB of addressable memory space Dual Independent Bus (DIB) architecture
Sun UltraSPARC II 16 64b 450MHz CPU with SPARC V9 ISA 4 instruction in-order issue 5.4M tr 126mm 2 die with 3.3V 21W 0.25u 5M process in 787 pin package 2-way set-associative 16KB I-Cache 2-way set-associative 16KB D-Cache
Intel Core i7 Die Million transistors45 nm per transistor
Chip Summary 18 Historically, 1 megabyte/second of data is supplied for each CPU MHz. Note: Log scale
Capacity Growth 19 Good news -- exponential growth in hardware capacity Logic growth: 60% to 80% per year DRAM growth: 60% per year (in 400% increments/3 years) Disk growth: 50% per year (was 25%/year until 1990) Bad news -- exponential growth in hardware usage Program size: 50% to 100% per year Increase software productivity -- standard components/interface layers Feature list increases -- “bloatware” Memory used to enhance user interface -- GUI Results Storage may be approaching “free” on a per-bit basis, but somehow it always seems to be full
Size Transistors per chip Year Pentium Pro Pentium ?
Transistors per chip 21 Currently > 2 Billion
Vanishing Electrons Electrons per device 2005 Year (Transistors per chip) (16M) (4M) (256M) (1G) (4G) (16G) (64M)
Device Scaling Number of chip components Feature size (microns) Classical AgeQuantum Age CMOS Historical Trend SIA Roadmap o K 295 o K Quantum State Switch 4oK4oK
2015 Microprocessor GHz processor clock 5 GHz network clock 128 processing tiles >5 TFLOPS peak (32b FLOPS) 1GB on-chip DRAM 100 GB/s off-chip DRAM interface 100 GB/s I/O 25x25mm 2 in m CMOS Tiles
Microprocessor Applications 25 Most microprocessors are sold for embedded control applications All Microprocessors CPUs Other CPUs 98% 2% 98% 2% PCs Embedded Control
Embedded System Growth 26 Embedded is the largest and fastest-growing part of the worldwide microprocessor industry Embedded is approximately 100 % of worldwide unit volume in microprocessors Average of processors per home (only 5 are within the home PC) “Turley’s Law”: “ The amount of processing power on your person will double every 12 months
Microprocessor Sales 27
Performance Measures 28 As microprocessors continue to improve, how do we measure and compare performance?
Performances Calculations 29 Relations between performance measures:
Typical Calculation 30 The typical approach to performance is: Execution Time 1 Performance = Hence, computer A is n times better than computer B means: n = performance A performance B
Performance Improvement 31 Often the goal is to determine the improvement in performance that results from some enhancement to a system Problem: the enhanced feature may not be used all the time - so what is a general expression for the performance improvement Amdahl's Law
Amdahl’s Law 32 Given a system with an execution time of Ex o and a speedup of S when an enhanced feature is used. Assume the enhanced feature is not used all the time, in fact the fraction of the time it is used is given by f What is the overall speedup in the new system? Ex n = Ex o (1-f) + Ex o ( ) f S SO: Ex o Ex n = 1 (1-f)+ ( ) f S
Example 33 The floating point unit in a microprocessor is improved so that it runs twice as fast as before. If floating point operations represent about 10% of the system load, what is the actual improvement in system performance? f = 0.1 S = 2 1 (1-f)+ ( ) f S Speedup = = 1.053
Real World Example 34 At the Los Alamos and Lawrence Livermore National Laboratories, 10 years of work by highly skilled programmers resulted in only 70% vectorization on most of the workload Vectorized code runs up to 10 times faster than scalar code Amdahl's Law predicts that the average speedup from vectorization is Result: The “killer micros", whose scalar speed is equal to or better than the scalar speed of the CRAY vector processors, took over a significant share of CRAY's market at the national laboratories