This preview shows page 1. Sign up to view the full content.
Unformatted text preview: Computer Architecture CSci4203/EE4363 • Course Information
Instructor: Wei Chung Hsu Background 19871992 Cray Research Architect 19931999 HP Compiler Architect 2000now 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 6207 (office hour only) Walter Lib (DTC) B18V (by appointment) TA: Changho Choi Office Hour: W, F, 10:00 to 11:00 EE/CS 2209
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, inclass) • Lab/project: 25% • Final Exam: 30% (12/20, 46pm) More Details: see web page http://www.itlabs.umn.edu/classes/Fal l2005/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 Cray1 IBM PC HP 9k750 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 10100x 3) Compiler optimizations 25x
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, thirdparty 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 PARISC • IBM • Intel • Intel IA64
(v8, v9) (I, II,…V) (v1, v3) (v1.1, v2.0) (360/370/390) (8086,286,386, 486,Pentium, MMX, ...) 1987? 1986 1992x 1986x 1964x 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 highlevel 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
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
- Fall '05