1 / 68

Chapter 2 Computer Evolution and Performance

Chapter 2 Computer Evolution and Performance. Contents. A Brief History of Computers Designing for Performance Pentium and PowerPC Evolution Performance Evaluation. ENIAC. A brief history of computers. Electronic Numerical Integrator And Computer John Mauchly and John Presper Eckert

Download Presentation

Chapter 2 Computer Evolution and Performance

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. Chapter 2Computer Evolution and Performance

  2. Contents • A Brief History of Computers • Designing for Performance • Pentium and PowerPC Evolution • Performance Evaluation

  3. ENIAC A brief history of computers • Electronic Numerical Integrator And Computer • John Mauchly and John Presper Eckert • Trajectory tables for weapons • Started 1943 / Finished 1946 • Too late for war effort • Used until 1955 • Decimal (not binary) • 20 accumulators of 10 digits • Programmed manually by switches • 18,000 vacuum tubes • 30 tons • 1,500 square feet • 140 kW power consumption • 5,000 additions per second

  4. von Neumann/Turing A brief history of computers • Stored Program concept • Main memory storing programs and data • ALU operating on binary data • Control unit interpreting instructions from memory and executing • Input and output equipment operated by control unit • Princeton Institute for Advanced Studies • IAS • Completed 1952

  5. von Nuemann Machine A brief history of computers • If a program could be represented in a form suitable for storing in memory, the programming process could be facilitated • A computer could get its its instructions from memory, and a program could could be set or altered by setting the values of a portion of memory Input Output Equipment Arithmetic And Logic Unit Main Memory Program Control Unit

  6. 0 1 39 (a) Number Word Left Instruction Right Instruction 0 8 19 20 28 39 Opcode Address Opcode Address (b) Instruction Word IAS Memory Formats A brief history of computers • 1000 x 40 bit words • Binary number • 2 x 20 bit instructions • Each instruction consisting of an 8-bit opcode • A 12-bit address designating one of the words in memory Sign Bit

  7. IAS Registers A brief history of computers • Memory Buffer Register • Containing a word to be stored in memory, or used to receive a word from memory • Memory Address Register • Specifying the address in memory of the word to be written from or read into the MBR • Instruction Register • Containing the 8-bit opcode instruction being executed • Instruction Buffer Register • Employed to hold temporarily the righthand instruction from a word memory • Program Counter • Containing the address of the next instruction-pair to be fetched from memory • Accumulator and Multiplier Quotient • Employed to hold temporarily operands and results of ALU operations.

  8. Central Processing Unit Arithmetic and Logic Unit Accumulator MQ Arithmetic & Logic Circuits MBR Input Output Equipment Instructions & Data Main Memory PC IBR MAR IR Control Circuits Address Program Control Unit Structure of IAS A brief history of computers

  9. Start Is Next Instruction In IBR? Yes No MAR ← PC No Memory Access required MBR ← M(MAR) Fetch Cycle IR ← IBR (0:7) MAR ← IBR (8:19) IR ← IBR (20:27) MAR←IBR(28:39) IBR←MBR(20:39) IR ← MBR (0:7) MAR ←MBR(8:19) Left Instruction Required? No Yes PC ← PC+1 Decode instruction in IR If AC ≥ 0 then Go to M(X, 0:19) AC ← AC + M(X) AC ← M(X) Go to M(X, 0:19) Is AC ≥ 0? Yes Execu- tion Cycle MBR ← M(MAR) PC ← MAR MBR ← M(MAR) AC ← MBR AC ← MBR No Partial Flowchart of IAS A brief history of computers

  10. The IAS Instruction Set A brief history of computers

  11. The IAS Instruction Set A brief history of computers

  12. The IAS Instruction Set A brief history of computers • Data transfer • Move data between memory and ALU registers or between two ALU registers • Unconditional branch • This sequence can be changed by a branch instruction allowing decision points • Conditional branch • The branch can be made dependent on a condition, thus allowing decision points • Arithmetic • Operations performed by the ALU • Address modify • Permits addresses to be computed in the ALU and then inserted into instruction stored in memory.

  13. Commercial Computers A brief history of computers • 1947 - Eckert-Mauchly Computer Corporation • UNIVAC I (Universal Automatic Computer) • US Bureau of Census 1950 calculations • Became part of Sperry-Rand Corporation • Late 1950s - UNIVAC II • Faster • More memory

  14. IBM A brief history of computers • Had helped build the Mark I • Punched-card processing equipment • 1953 - the 701 • IBM’s first stored program computer • Scientific calculations • 1955 - the 702 • Business applications • Lead to 700/7000 series

  15. Computer Generations A brief history of computers Generation Approximate Dates Technology Typical Speed (operations per second) 1 2 3 4 5 1946-1957 1958-1964 1965-1971 1972-1977 1978- . Vacuum tube Transistor Small- and Medium-scale Integration Large-scale Integration Very-large-scale Integration 40,000 200,000 1,000,000 10,000,000 100,000,000

  16. Transistors A brief history of computers • Replaced vacuum tubes • Smaller • Cheaper • Less heat dissipation • Solid State device • Made from Silicon (Sand) • Invented 1947 at Bell Labs • William Shockley et al.

  17. Transistor Based Computers A brief history of computers • Second generation machines • NCR & RCA produced small transistor machines • IBM 7000 • Digital Equipment Corporation (DEC) - 1957 • Produced PDP-1

  18. IBM 700/7000 Series A brief history of computers

  19. IBM 700/7000 Series A brief history of computers

  20. CPU Mag Tape Units Card Punch Data Channel Line Printer Card Reader Multiplexor Drum Data Channel Disk Data Channel Disk Memory Hypertapes Data Channel Teleprocessing Equipment An IBM 7094 Configuration A brief history of computers

  21. The IBM 7094 A brief history of computers • The most important point is the use of data channels. A data channel is an independent I/O module with its own processor and its own instruction set. • Another new feature is the multiplexor, which is the central termination point for data channel, the CPU, and memory.

  22. Microelectronics A brief history of computers • Literally - “small electronics” • A computer is made up of gates, memory cells and interconnections • These can be manufactured on a semiconductor • e.g. silicon wafer

  23. Microelectronics A brief history of computers • Data storage • Provided by memory cells • Data processing • Provided by gates • Data movement • The paths between components are used to move data from memory to memory and from memory through gates to memory • Control • The paths between components can carry control signals. The memory cell will store the bit on its input lead when the WRITE control signal is ON and will place that bit on its output lead when the READ control signal is ON.

  24. Wafer Chip Package Chip Gate Wafer, Chip, and Gate A brief history of computers • Small-scale integration (SSI)

  25. Generations of Computer A brief history of computers • Vacuum tube - 1946-1957 • Transistor - 1958-1964 • Small scale integration - 1965 on • Up to 100 devices on a chip • Medium scale integration - to 1971 • 100-3,000 devices on a chip • Large scale integration - 1971-1977 • 3,000 - 100,000 devices on a chip • Very large scale integration - 1978 to date • 100,000 - 100,000,000 devices on a chip • Ultra large scale integration • Over 100,000,000 devices on a chip

  26. Moore’s Law A brief history of computers • Increased density of components on chip • Gordon Moore - cofounder of Intel • Number of transistors on a chip will double every year • Since 1970’s development has slowed a little • Number of transistors doubles every 18 months • Cost of a chip has remained almost unchanged • Higher packing density means shorter electrical paths, giving higher performance • Smaller size gives increased flexibility • Reduced power and cooling requirements • Fewer interconnections increases reliability

  27. Growth in CPU Transistor Count A brief history of computers

  28. IBM 360 series A brief history of computers • 1964 • Replaced (& not compatible with) 7000 series • First planned “family” of computers • Similar or identical instruction sets • Similar or identical O/S • Increasing speed • Increasing number of I/O ports(i.e. more terminals) • Increased memory size • Increased cost • Multiplexed switch structure

  29. Key Characteristics of 360 Family A brief history of computers • Many of its features have become standard on other large computers

  30. DEC PDP-8 A brief history of computers • 1964 • First minicomputer (after miniskirt!) • Did not need air conditioned room • Small enough to sit on a lab bench • $16,000 • $100k+ for IBM 360 • Embedded applications & OEM • Later models of the PDP-8 used a bus structure that is now virtually universal for minicomputers and microcomputers

  31. PDP-8/E Block Diagram A brief history of computers • Highly flexible architecture allowing modules to be plugged into the bus to create various configurations

  32. Semiconductor Memory A brief history of computers • The first application of integrated circuit technology to computers • construction of the processor • also used to construct memories • 1970 • Fairchild • Size of a single core • i.e. 1 bit of magnetic core storage • Holds 256 bits • Non-destructive read • Much faster than core • Capacity approximately doubles each year

  33. Evolution of Intel Microprocessors A brief history of computers

  34. Evolution of Intel Microprocessors A brief history of computers

  35. Evolution of Intel Microprocessors A brief history of computers

  36. Microprocessor Speed Design for performance • In memory chips, the relentless pursuit of speed has quadrupled the capacity of DRAM, every years • Pipelining • On board cache • On board L1 & L2 cache • Branch prediction • Data flow analysis • Speculative execution

  37. Evolution of DRAM / Processor Characteristics Design for performance

  38. Performance Mismatch Design for performance • Processor speed increased • Memory capacity increased • Memory speed lags behind processor speed

  39. Performance Balance Design for performance • It is responsible for carrying a constant flow of program instructions and data between memory chips and the processor → The interface between processor and main memory is the most crucial pathway in the entire computer

  40. Trends in DRAM use Design for performance

  41. Performance Balance Design for performance • On average, the number of DRAMs per system is going down. • The solid black lines in the figure show that, for a fixed-sized memory, the number of DRAMs needed is declining • The shaded bands show that for a particular type of system, main memory size has slowly increased while the number of DRAMs has declined

  42. Solutions Design for performance • Increase number of bits retrieved at one time • Make DRAM “wider” rather than “deeper” • Change DRAM interface • Cache • Reduce frequency of memory access • More complex cache and cache on chip • Increase interconnection bandwidth • High speed buses • Hierarchy of buses

  43. Performance Balance Design for performance • Two constantly evolving factors to be coped with • The rate at which performance is changing in the various technology areas differs greatly from one type of element to another • New applications and new peripheral devices constantly change the nature of the demand on the system in terms of typical instruction profile and the data access patterns.

  44. Intel Pentium and PowerPC evolution • Pentium - results of design effort on CISCs • 1971 - 4004 • First microprocessor • All CPU components on a single chip • 4 bit • Followed in 1972 by 8008 • 8 bit • Both designed for specific applications • 1974 - 8080 • Intel’s first general purpose microprocessor • 8086 • 16 bit, instruction cache, or queue • 80286 • addressing a 16-Mbyte memory

  45. Intel Pentium and PowerPC evolution • 80386 • 32 bit, multitasking • 80486 • built-in math coprocessor • Pentium • superscalar techniques • Pentium Pro • Pentium II • Intel MMX thchnology • Pentium III • additional floating-point instruction • Merced • 64-bit organization

  46. PowerPC Pentium and PowerPC evolution • RISC systems • PowerPC Processor Summary

  47. Two Notions of Performance Performance evaluation Plane DC to Paris Speed Passengers Throughput (pmph) • Which has higher performance? • Time to do the task (Execution Time) • execution time, response time, latency • Tasks per day, hour, week, sec, ns. .. (Performance) • throughput, bandwidth • Response time and throughput often are in opposition Boeing 747 6.5 hours 610 mph 470 286,700 BAD/Sud Concodre 3 hours 1350 mph 132 178,200

  48. To Assess Performance Performance evaluation • Response Time • Time to complete a task • Throughput • Total amount of work done per time • Execution Time (CPU Time) • User CPU time • Time spent in the program • System CPU time • Time spent in OS • Elapsed Time • Execution Time + Time of I/O and time sharing

  49. Criteria of Performance Performance evaluation • Execution time seems to measure the power of the CPU • Elapsed time measures the performance of whole system including OS and I/O • User is interested in elapsed time • Sales people are interested in the highest number of performance that can be quoted • Performance analysist is interested in both execution time and elapsed time

  50. Definitions Performance evaluation • Performance is in units of things-per-second • bigger is better • If we are primarily concerned with response time • performance(x) = 1 execution_time(x) " X is n times faster than Y" means Performance(X) n = ---------------------- Performance(Y)

More Related