Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
EEM 486: Computer Architecture Lecture 1 Course Introduction and the Five Components of a Computer EEM 486 Course Information Instructor: Atakan Doğan ([email protected]) Office Hours: Anytime Materials: http://home.anadolu.edu.tr/~atdogan Text: Patterson and Hennessy, Computer Organization and Design: The Hardware/Software Interface, 3rd Edition. Lec 1.2 Grading Grading • Midterm I: • Midterm II: • Homeworks • Final: 25% (XX% Course + YY% Project) 25% (XX% Course + YY% Project) 10% 40% (XX% Course + YY% Project) HW policy: return in 1 week; no late HW; no cheating Grading Guidelines AA: 90-100 Others: 40-90 FF: 0-40 Lec 1.3 What You Need to Know Logic design (EEM 232) • Logical equations, schematic diagrams, components Basic machine structure (EEM 333) • Processor, memory, I/O Read and write in an assembly language (EEM 336) Lec 1.4 Introduction This course is all about how computers work But what do we mean by a computer? • Different types: desktop, servers, embedded devices • Different uses: automobiles, graphics, finance, genomics… • Different manufacturers: Intel, Apple, IBM, Microsoft, Sun… • Different underlying technologies and different costs! Analogy: Consider a course on “automotive vehicles” • Many similarities from vehicle to vehicle (e.g., wheels) • Huge differences from vehicle to vehicle (e.g., gas vs. electric) Best way to learn: • Focus on a specific instance and learn how it works • While learning general principles and historical perspective Lec 1.5 Why learn this stuff? You want to call yourself a “computer scientist” You want to build software that people use (need performance) You need to make a purchasing decision or offer “expert” advice Both Hardware and Software affect performance: • Algorithm determines number of source-level statements • Language/Compiler/Architecture determine machine instruction (Chapter 2 and 3) • Processor/Memory determine how fast instructions are executed (Chapter 5, 6, and 7) Assessing and Understanding Performance in Chapter 4 Lec 1.6 Historical Perspective ENIAC built in World War II was the first general purpose computer • Used for computing artillery firing tables • 80 feet long by 8.5 feet high and several feet wide • Each of the twenty 10 digit registers was 2 feet long • Used 18,000 vacuum tubes • Performed 1900 additions per second Lec 1.7 Technology Rapidly changing field: • vacuum tube -> transistor -> IC -> VLSI Moore’s Law transistor capacity doubles every 18-24 months Lec 1.8 VLSI commercial IC technology extrapolations Lec 1.9 Microprocessor Logic Density 100000000 10000000 R10000 Pentium R4400 i80486 Transistors 1000000 i80386 i80286 100000 R3010 i8086 SU MIPS i80x86 M68K 10000 MIPS Alpha i4004 1000 1970 1975 1980 1985 1990 1995 2000 2005 In ~1985 the single-chip processor (32-bit) and the single-board computer emerged • workstations, personal computers, multiprocessors have been riding this wave since In the 2002+ timeframe, these may well look like mainframes compared single-chip computer (maybe 2 chips) Lec 1.10 Processor Performance (SPEC) Performance now improves 50% per year (2x every 1.5 years) 350 300 RISC Performance 250 RISC introduction 200 150 Intel x86 100 35%/yr 50 0 1982 1984 1986 1988 1990 1992 1994 Year Lec 1.11 Technology Trends Processor • Logic capacity: about 30% per year • Clock rate: about 20% per year Memory • DRAM capacity: about 60% per year (4x every 3 years) • Memory speed: about 10% per year • Cost per bit: improves about 25% per year Disk • Capacity: about 60% per year • Total data use: 100% per 9 months! Network Bandwidth • Bandwidth increasing more than 100% per year! Lec 1.12 What is “Computer Architecture”? Computer Architecture = Instruction Set Architecture + Machine Organization Lec 1.13 A View of Computer Architecture Application Operating System Compiler Firmware Instr. Set Proc. I/O system Instruction Set Architecture Datapath & Control Digital Design Circuit Design Layout Coordination of many levels of abstraction Under a rapidly changing set of forces; technology, applications, OS, programming languages, etc. Design, Measurement, and Evaluation Lec 1.14 Processor Organization Capabilities & performance characteristics of principal functional units, e.g., Registers, ALU, Shifters, Logic Units, ... Ways in which these components are interconnected Information flows between components Logic and means by which such information flow is controlled Choreography of FUs to realize the ISA Register Transfer Level (RTL) Description Lec 1.15 The Instruction Set: a Critical Interface software instruction set hardware Lec 1.16 Instruction Set Architecture A very important abstraction • interface between hardware and low-level software • standardizes instructions, machine language bit patterns, etc. • advantage: different implementations of the same architecture • disadvantage: sometimes prevents using new innovations True or False: Binary compatibility is extraordinarily important? Modern instruction set architectures: • IA-32, PowerPC, MIPS, SPARC, ARM, and others Lec 1.17 Machine Organization: The Big Picture Since 1946 all computers have had 5 components Processor Input Control Memory Datapath Output Lec 1.18 Machine Organization Components: • input (mouse, keyboard) • output (display, printer) • memory (disk drives, DRAM, SRAM, CD) • network Our primary focus: the processor (datapath and control) • implemented using millions of transistors • impossible to understand by looking at each transisto Lec 1.19 How do computers work? Need to understand abstractions such as: • Applications software • Systems software • Assembly Language • Machine Language • Architectural Issues: i.e., Caches, Virtual Memory, Pipelining • Sequential logic, finite state machines • Combinational logic, arithmetic circuits • Boolean logic, 1s and 0s • Transistors used to build logic gates (CMOS) • Semiconductors/Silicon used to build transistors • Properties of atoms, electrons, and quantum dynamics So much to learn! Lec 1.20 Where are We Going?? Input Multiplier Input Multiplicand 32 Multiplicand Register LoadMp 32=>34 signEx 32 34 34 32=>34 signEx 1 0 34x2 MUX Arithmetic Multi x2/x1 34 34 Sub/Add 34-bit ALU Control Logic 34 32 32 2 ShiftAll LO register (16x2 bits) Prev 2 Booth Encoder HI register (16x2 bits) LO[1] Extra 2 bits 2 "LO [0]" Single/multicycle Datapaths <<1 ENC[2] ENC[1] ENC[0] LoadLO ClearHI LoadHI 2 32 Result[HI] LO[1:0] 32 Result[LO] 1000 CPU “Moore’s Law” IFetchDcd WB Exec Mem Performance 10 DRAM 9%/yr. DRAM (2X/10 yrs) 1 198 2 3 198 498 1 5 198 6 198 7 198 8 198 9 199 0 199 199 2 199 399 1 4 199 5 199 699 1 7 199 8 199 9 200 0 Exec Mem Processor-Memory Performance Gap: (grows 50% / year) 198 098 1 1 198 IFetchDcd EEM 486 AU’05 100 µProc 60%/yr. (2X/1.5yr) WB Time IFetchDcd Exec Mem IFetchDcd WB Exec Mem WB Pipelining I/O Memory Systems Lec 1.21 Summary All computers consist of five components • Processor: (1) datapath and (2) control • (3) Memory • (4) Input devices and (5) Output devices Not all “memory” are created equally • Cache: fast (expensive) memory are placed closer to the processor • Main memory: less expensive memory--we can have more Need to design against constraints of performance, power, area and cost Lec 1.22