188 322 Computer Architecture Lecturer: Watis Leelapatra Office: 4301D Email: watis@kku.ac.th Course Webpage http://gear.kku.ac.th/~watis/courses/188322/188322.html
188 322 Computer Architecture Grading Policy Midterm Exam Final Exam Quiz (End of each Chapter) 40% 40% 20%
Text Books References: 1. Patterson, D. A. and Hennessy, J. L,, Computer Organization and Design 2nd Ed., Morgan Kaufmann, 1998. 2. Etc., (Any text books related to discussed topics in class)
What is Computer Architecture? Computer Architecture is the science and art of selecting and interconnecting hardware components to create computers that meet functional, performance and cost goals. Computer architecture is not about using computers to design buildings.
Why study computer architecture? Understand where computers are going Future capabilities drive the computing world Forced to think 5+ years in the future Exposure to high-level design Less about design than what to design Engineering, science, art The best architects understand all the levels Devices, circuits, architecture, compilers, applications Understand hardware for software tuning Real-world impact no computer architecture, no computers! Get a job / higher study
What will we learn in this course? Review of essential background in digital logic & up Learning from A GOOD Design (MIPS CPU) Work with MIPS CPU Simulator
Historical Perspective Decade of 70 s (Microprocessors) Programmable Controllers Single Chip Microprocessors Personal Computers Decade of 80 s (RISC Architecture) Instruction Pipelining Fast Cache Memories Compiler Optimizations Decade of 90 s (Instruction Level Parallelism) Superscalar Processors Aggressive Code Scheduling Low Cost Supercomputing Out of Order Execution
Technology => dramatic change 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
Technology => Dramatic Change Processor 2X in performance every 1.5 years; 1000X performance in last decade Main Memory DRAM capacity: 2x / 2 years; 1000X size in last decade Cost/bit: improves about 25% per year Disk capacity: > 2X in size every 1.5 years Cost/bit: improves about 60% per year 120X size in last decade
Technology => Dramatic Change Moore s Law Gordon Earle Moore: Co-founder & former Chairman of Intel Corp. describes an important trend in the history of computer hardware that the number of transistors that can be placed on an integrated circuit is doubling approximately every two years.
Trends: Microprocessor Capacity 100,000,000 Alpha 21264: 15 million Pentium Pro: 5.5 million PowerPC 620: 6.9 million Alpha 21164: 9.3 million Sparc Ultra: 5.2 million 10,000,000 Moore s Law transistors Pentium i80486 1,000,000 i80386 i80286 100,000 2X transistors/chip Every 1.5 years i8086 10,000 i8080 Called Moore s Law : i4004 1000 1970 1975 1980 1985 Year 1990 1995 2000
Trends: Memory Capacity (1 Chip DRAM) DRAM: Dynamic Random Access Memory where programs live while running; volatile (contrast with disk memory) 1,000,000,000 year size(megabit) 100,000,000 0.0625 0.25 1 4 16 64 256 Now 1.4X/yr, or doubling every 2 years 10,000,000 Bits 1980 1983 1986 1989 1992 1996 2000 1,000,000 100,000 10,000 1,000 1970 1975 1980 1985 1990 Year 1995 2000
Trends: Processor Performance 1100 1000 900 800 700 600 500 400 300 200 100 0 DEC Alpha 21264/600 Intel VC820 (Pentium III, 1.0 GHz) 1.54x/year DEC Alpha 5/500 DEC HP IBM AXP/ Sun MIPS MIPS RS/ 9000/ 500-4/ M M/ 6000 750 260 2000 120 DEC Alpha 5/300 DEC Alpha 4/266 IBM POWER 100 87 88 89 90 91 92 93 94 95 96 97
Why Study Computer Architecture Aren t they fast enough already? Are they? Fast enough to do everything we will EVER want? - AI, protein sequencing, graphics Is speed the only goal? - Power: heat dissipation + battery life - Cost - Reliability - Etc. Answer #1: requirements are always changing Answer #2: technology playing field is always changing
Classes of Computers High performance (supercomputers) Supercomputers Cray T-90 Massively parallel computers Cray T3E Balanced cost/performance Workstations SPARCstations Servers SGI Origin, UltraSPARC High-end PCs Pentium quads Low cost/power Low-end PCs, laptops, PDAs mobile Pentiums, ARM
What is *Computer Architecture* Computer Architecture = Instruction Set Architecture + Organization + Hardware
What is Computer Architecture? Applications Software Hardware Operating System Compiler (Unix; Windows) Assembler Processor Memory I/O system Instruction Set Architecture Datapath & Control Digital Design Circuit Design transistors, IC layout Key Idea: levels of abstraction hide unnecessary implementation details helps us cope with enormous complexity of real systems
What is Computer Architecture? Computer Architecture = Instruction Set Architecture (ISA) - the one true language of a machine - boundary between hardware and software - the hardware s specification; defines what a machine does; + Machine Organization - the guts of the machine; how the hardware works; the implementation; must obey the ISA abstraction
Forces on Computer Architecture Technology Programming Languages Applications Computer Architecture Operating Systems Compiler
Forces Acting on Computer Architecture R-a-p-i-d Improvement in Implementation Technology: IC: integrated circuit; invented 1959 SSI MSI LSI VLSI: dramatic growth in number transistors/chip ability to create more (and bigger) FUs per processor; bigger memory more sophisticated applications, larger databases Tomorrow s Science Fiction: ubiquitous computing: computers embedded everywhere New Languages: Java, C++...
Machine Organization: 5 classic components of any computer Personal Computer Computer Processor (CPU) (active) Control ( brain ) Datapath ( brawn ) Memory (passive) (where programs, & data live when running) Devices Input Output The components of every computer, past and present, belong to one of these five categories Keyboard, Mouse Disk (where programs, & data live when not running) Display, Printer
Machine Organization Perspective Capabilities & performance characteristics of principal Functional Units (FUs) of the CPU Ways in which these components are interconnected to realize the ISA Information flows between components How such information flow is controlled Levels of Machine Description Register Transfer Level (RTL) Gate Level (Digital Design)
von Neumann Computer 1944: The First Electronic Computer ENIAC at IAS, Princeton University. (18,000 vacuum tubes) Stored-Program Concept Storing programs as numbers by John von Neumann Idea: A program is written as a sequence of instructions, represented by binary numbers. The instructions are stored in the memory just as data. They are read one by one, decoded and then executed by the CPU.
Execution Cycle Instruction Obtain instruction from program storage Fetch Instruction Determine required actions and instruction size Decode Operand Locate and obtain operand data Fetch Execute Result Compute result value or status Deposit results in storage for later use Store Next Instruction Determine successor instruction
Instruction-Set Processor Design Architecture (ISA) programmer/compiler view functional appearance to its immediate user/system programmer Opcodes, addressing modes, architected registers, IEEE floating point Implementation (µ Architecture) processor designer/view logical structure or organization that performs the architecture Pipelining, functional units, caches, physical registers Hardware (chip/system) designer view physical structure that embodies the implementation Gates, cells, transistors, wires
Relationship Between the Three Aspects Processors having identical ISA may be very different in organization. e.g. NEC VR 5432 and NEC VR 4122 Processors with identical ISA and nearly identical organization are still not nearly identical. e.g. Pentium II and Celeron are nearly identical but differ at clock rates and memory systems
Why Study Computer Architecture? It impacts every other aspect of engineering and science Case Study: Earth Simulator The Earth Simulator (ES) was the fastest supercomputer in the world from 2002 to 2004. The system was developed in 1997 for running global climate models to evaluate the effects of global warming and problems in solid earth geophysics. Total of 5120 processors and 10 TB of memory.
Why Study Computer Architecture? Atmospheric science uses computational fluid heavily
Why Study Computer Architecture? Case Study: Earth Simulator
Example of different processor architectures Cell Broadband Engine Architecture (by Sony, Toshiba & IBM)
Example of different processor architectures Cluster of Sony PlayStation3 s used for large-scale modelling of the human brain 300 PS3s ordered for the U.S. Air Force Axion Racing s entry into the DARPA Urban Challenge PlayStation3 Gravity Grid Folding@Home
Folding@Home Project Study of proteins which are necklaces of amino acids. Proteins are the basis of how biology gets things done. They are the driving force behind all of the biochemical reactions which make biology work. Proteins self-assemble fold amazingly quickly Some as fast as a millionth of a second. It's remarkably long for computers to simulate. It takes about a day to simulate a nanosecond
SETI@Home Project Search for Extra-Terestrial Intelligence Project Key idea is to analyse pickuped signal from space