CA1 - Computer Architecture CSci4203/EE4363 • Course...

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: Computer Architecture CSci4203/EE4363 • Course Information Instructor: Wei Chung Hsu Background 1987­1992 Cray Research Architect 1993­1999 HP Compiler Architect 2000­now U. of M. csci4203/ee4363 fall 2005 1 Text Book: David A. Patterson and John L. Hennessy “Computer Organization and Design: The Hardware/Software Interface”, 3rd edition, 2005 David Lilja and Sachin Sapatnekar “Designing Digital Computer Systems with Verilog”, 2005 csci4203/ee4363 fall 2005 2 My Office Hour: T, Th, 11:00 to 12:00 EE/CS 6­207 (office hour only) Walter Lib (DTC) B18V (by appointment) TA: Changho Choi Office Hour: W, F, 10:00 to 11:00 EE/CS 2­209 csci4203/ee4363 fall 2005 3 How is csci4203 different from csci2021? Chapters in “Computer Organization and Design” look similar to chapters in “Introduction to Computer Systems” 4203 will focus more on details of computer arithmetic (ch. 3) understanding and evaluating performance (ch 4) design data path and control (ch 5) pipelining design (ch 6) details of caches (ch 7) multiprocessors and clusters (ch 8) design with verilog csci4203/ee4363 fall 2005 4 Grading: • Homework Assignments: 25% • Midterm exam: 20% (10/18, in­class) • Lab/project: 25% • Final Exam: 30% (12/20, 4­6pm) More Details: see web page l­2005/csci4203 csci4203/ee4363 fall 2005 5 Chapter 1 Computer Abstractions and Technology csci4203/ee4363 fall 2005 6 Historical Perspective Year 1951 1964 1976 1981 1991 1996 2003 Name UNIVAC I Cray­1 IBM PC HP 9k­750 Intel Ppro Intel P4 Performance price 2K adds/sec $1M $1M $4M $3K $7K $4K $1K 166,000K 240K 50,000K 400,000K 6,000,000K csci4203/ee4363 fall 2005 Adjusted price/perf ratio 1 318 51K 154K 16M 239M 11B 7 IBM 360/50 500K Major contributors to the unprecedented progress 1) IC process technologies 1000x 2) Computer architectures 10­100x 3) Compiler optimizations 2­5x csci4203/ee4363 fall 2005 8 Classes of Computing Applications Desktops: A computer designed for use by an Servers: A computer used for running larger programs for multiple users, and typically accessed via a network. Range from small web servers to supercomputers. another device used for running one predetermined application. csci4203/ee4363 fall 2005 individual, usually incorporating a graphic display, keyboard and mouse Embedded computers: A computer inside 9 Design requirements for 3 classes Desktops: good performance for single Desktops: good performance for single users, low cost, third­party software Servers: high throughput, greater expandability, Embedded computers: designed to run one larger memory, scalable computing and I/O capacity, reliable, robust, … application (or one class of application) which is normally integrated with the hardware and delivered as one system. Must meet performance, cost and power constraints. csci4203/ee4363 fall 2005 10 10 Number of processors sold between 1998 and 2002 1200 1000 800 Millions of 400 computers 600 servers desktops embedded 200 0 1998 1999 2000 2001 2002 csci4203/ee4363 fall 2005 11 11 What is “Computer Architecture” Computer Architecture = Instruction Set Architecture + Machine Organization + ….. csci4203/ee4363 fall 2005 12 12 ... the attributes of a [computing] system as seen by the programmer, i.e. the conceptual structure and functional behavior, as distinct from the organization of the data flows and controls the logic design, and the physical implementation. – Amdahl, Blaaw, and Brooks, 1964 -- Organization of Programmable Storage -- Data Types & Data Structures: Encodings & Representations -- Instruction Set -- Instruction Formats -- Modes of Addressing and Accessing Data Items and Instructions -- Exceptional Conditions csci4203/ee4363 fall 2005 13 13 Instruction Set Architecture SOFTWARE The Instruction Set: a Critical Interface software instruction set hardware csci4203/ee4363 fall 2005 14 14 Example ISAs (Instruction Set Architectures) • Sun Sparc • SGI MIPS • Digital Alpha • HP PA­RISC • IBM • Intel • Intel IA­64 (v8, v9) (I, II,…V) (v1, v3) (v1.1, v2.0) (360/370/390) (8086,286,386, 486,Pentium, MMX, ...) 1987­? 1986­ 1992­x 1986­x 1964­x 1978­ 2000­? 15 15 csci4203/ee4363 fall 2005 RISC vs. CISC • Decade long debate on whether RISC (simple ISA) or CISC (complex ISA) is more suitable for compilers, more efficient for high performance implementations. RISC dominates scientific/engineering computing while CISC still dominates commercial world, thanks to Intel. • csci4203/ee4363 fall 2005 16 16 • MIPS R3000 Registers Instruction Categories ISA – Load/Store Computational Jump and Branch Floating Point • coprocessor – Memory Management – Special – – – R0 - R31 PC HI LO Three Instruction Formats: all 32 bits wide OP OP OP rs rs rt rt rd sa funct immediate jump target 17 17 Q: How many already familiar with MIPS ISA? csci4203/ee4363 fall 2005 • Organizatio Capabilities & Performance n Characteristics of Principal Logic Designer's View ISA Level FUs & Interconnect • • • • 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. Register Transfer Level (RTL) Description csci4203/ee4363 fall 2005 18 18 Computer Architecture’s Changing Definition • 1950s to 1960s: Computer Architecture • • • Course: Computer Arithmetic 1970s to mid 1980s: Computer Architecture Course: Instruction Set Design, especially ISA appropriate for compilers 1990s: Computer Architecture Course: Design of CPU, memory system, I/O system, Multiprocessors, Networks 2010s: Computer Architecture Course: Self adapting systems? Self organizing structures? DNA Systems/Quantum Computing? csci4203/ee4363 fall 2005 19 19 What is “Computer Application Architecture”? Operating System Compiler Firmware Instr. Set Proc. I/O system Datapath & Control Digital Design Circuit Design Layout Instruction Set Architecture • Coordination of many levels of abstraction • Under a rapidly changing set of forces csci4203/ee4363 fall 2005 • Design, Measurement, and Evaluation 20 20 Levels of Design Abstraction 1. Application Level (All kind of application programs written on High Level Languages) 2. Compilation Level (Each high­level program is compiled into machine code) 3. Operating System Level (Set of services for managing resources of a computer) csci4203/ee4363 fall 2005 21 21 Levels of Design Abstraction (cont.) 4. Instruction Set Architecture Level The design involves specification of: memory space processor registers instruction format instruction types data types data formats addressing modes csci4203/ee4363 fall 2005 interrupts and exceptions 22 22 Levels of Design Abstraction (cont.) 5. Microarchitecture Level (Implementation and organization of hardware components) 6. Logic and Circuit Design Level (Design of components in specific technology) 7. Device and Technology Level (Manufacturing, packaging, etc) csci4203/ee4363 fall 2005 23 23 Forces on Computer Architecture Programming Technology Languages Applications Computer Architecture Operating systems Cleverness History csci4203/ee4363 fall 2005 24 24 Technology for building processors Year Technology used Relative perf/unit cost 1951 1965 1975 1995 2005 Vacuum tube Transistor Integrated circuit VLSI ULSI csci4203/ee4363 fall 2005 1 35 900 2,400,000 6,200,000,000 25 25 Pitfall Ignoring the inexorable progress of hardware when planning a new machine ­­ suppose you plan to introduce a machine in 3 years and you claim the machine will be a terrific seller because it is 3x as fast as anything available today…. ­­ the average performance growth rate for the industry will yield machines with the same performance…. csci4203/ee4363 fall 2005 26 26 • Since 1946 all computers have had 5 components Processor Input Control Memory The Big Picture Datapath Output csci4203/ee4363 fall 2005 27 27 Five Classic Components CPU 1) 2) Data Path: performs arithmetic operations Control: tells the data path, memory, and I/O devices what to do according to instructions. Memory where the programs (and data) are kept when they are running Input Output csci4203/ee4363 fall 2005 28 28 1) DVD Drive 2) LCD display 3) DRAM 4) Zip drive 5) Network 6) CRT 7) Optical mouse 8) Floating point unit 9) Instruction Decoder 10) Hard Disk drive 11) General Purpose Registers 12) Data Cache Exercise: Five Classic Components Input/Output Output Memory Input/Output Input/Output Output Input Data Path Control Input/Output Data Path Data Path 29 29 csci4203/ee4363 fall 2005 ...
View Full Document

Ask a homework question - tutors are online