august 29, 2015204521 digital system architecture course introduction and overview pradondet...
TRANSCRIPT
April 19, 2023204521 Digital System Architecture
Course Introduction and Overview
Pradondet NilaguptaSpring 2005
(original notes from Prof. Randy Katz,
Prof. Dan Connors,Prof. Amirali Baniasadi)
April 19, 2023204521 Digital System Architecture 2
Course Info
Lecturer: Pradondet Nilagupta Email: [email protected]:http://www.cpe.ku.ac.th/~pom/courses/205521/204521.html
Phone: 9428555 ext 1401
office: rm.406 Building 15 Engineering Faculty
Office hours: Wed. 4-6 PM. or make an appointment
Lecture hr: Wed. 6-9 PM.
April 19, 2023204521 Digital System Architecture 3
References Textbook
Main Textbook (required)– Computer Architecture a Quantitative Approach 3rd
Edition, John L. Hennessy, David A. Patterson, Morgan Kaufmann 2003.
Supplement Text– Advance Computer Architectures A design Space
Approach, Dezso Sima, Terence Fountain, Peter Kacsuk, Addison-Wesley, 1997
– Computer System Design and Architecture, Vincent P. Heuring, Harry F. Jordan, Addison-Wesley 1997.
– Computer Organization, V. Carl Hamacher, Zvonko G. Vranesic, Safwat G. Zaky,, McGraw-Hill, 1996.
April 19, 2023204521 Digital System Architecture 4
Grading
25% Homeworks
30% MidtermExam
30% Final Exam
15% Paper Presentation
April 19, 2023204521 Digital System Architecture 5
Topic Coverage
Fundamentals of Computer Design (Chapter 1)Instruction Set Principle (Chapter 2)Pipelining: Basic and Intermediate Concepts ( Appendix A)Instructional Level Parallelism (Chapter 3, 4)Memory Hierarchy Design(Chapter 5)Storage System (Chapter 7)Computer Arithmetic (Appendix H)Vector Processors (Appendix G)
April 19, 2023204521 Digital System Architecture 6
Related Courses
Digital& Org.
Digital& Org.
Comp.Arch.
Comp.Arch. ParallelParallel
How to build itImplementation details
Why, Analysis,Evaluation
Parallel Architectures,Languages, Systems
Strong
Prerequisite
Basic knowledge of theorganization of a computeris assumed!
April 19, 2023204521 Digital System Architecture 7
Course Focus (1/2)
To Understand the design techniques, machine structures, technology factors, evaluation methods that will determine the form of computers in 21st Century
Technology ProgrammingLanguages
OperatingSystems History
ApplicationsInterface Design(Inst. Set Arch.)
Measurement & Evaluation
Parallelism
Computer Architecture:• Instruction Set Design• Organization• Hardware
April 19, 2023204521 Digital System Architecture 8
Computer Architecture Is …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
SOFTWARESOFTWARE
April 19, 2023204521 Digital System Architecture 9
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?
April 19, 2023204521 Digital System Architecture 10
Computer Architecture Topics (1/2)
Instruction Set Architecture
Pipelining, Hazard Resolution,Superscalar, Reordering, Prediction, Speculation
Addressing,Protection,Exception Handling
L1 Cache
L2 Cache
DRAM
Disks, WORM, Tape
Coherence,Bandwidth,Latency
Emerging TechnologiesInterleavingBus protocols
RAID
VLSI
Input/Output and Storage
MemoryHierarchy
Pipelining and Instruction Level Parallelism
April 19, 2023204521 Digital System Architecture 11
Computer Architecture Topics (2/2)
M
Interconnection NetworkS
PMPMPMP …
Topologies,Routing,Bandwidth,Latency,Reliability
Processor-Memory-Switch
MultiprocessorsNetworks and Interconnections
April 19, 2023204521 Digital System Architecture 12
Throughout this text we will focus on optimizing machine cost per performance
April 19, 2023204521 Digital System Architecture 13
Computer Architecture
Role of a computer architect:
To design and engineer the various levels of a computer system to maximize performance and programmability within limits of technology and cost
April 19, 2023204521 Digital System Architecture 14
Instruction Set Architecture
Applications
Operating System
Firmw areCompiler
Instruction Set Processor I/O System
Datapath & Control
Digital Design
Circuit Design
Layout
S/W and H/W consists of hierarchical layers of abstraction, each hides details of lower layers from the above layer
The instruction set arch. abstracts the H/W and S/W interface and allows many implementation of varying cost and performance to run the same S/W
Levels of Abstraction
April 19, 2023204521 Digital System Architecture 15
The Task of Computer Designer
determine what attribute are important for a new machinedesign a machine to maximize cost performance
What are these Task?instruction set designfunction organizationlogic designimplementation– IC design, packag
ing, power, cooling….
April 19, 2023204521 Digital System Architecture 16
Instruction Set Architecture (ISA)
refer to actual programmer visible instruction set
serve as the boundary between software and hardware
must be designed to survive changes in hardware technology, software technology, and application characteristic.
i.e. 80xx, 68xxx,80x86
April 19, 2023204521 Digital System Architecture 17
Instruction Set Architecture (ISA)
Instruction set:
– Complete set of instructions used by a machine
ISA:
– Abstract interface between the HW and lowest-level SW. It encompasses information needed to write machine-language programs including
• Instructions
• Memory size
• Registers used
• . . .
April 19, 2023204521 Digital System Architecture 19
Instruction Set Architecture (ISA)
Fetch Instruction From Memory
Decode Instruction determine its size & action
Fetch Operand data
Execute instruction & compute results or status
Store Result in memory
Determine Next Instruction’s address
•Instruction Execution Cycle
April 19, 2023204521 Digital System Architecture 20
Organization and Hardware (1/2)
organization includes high-level aspect of computer design such as– memory system– bus structure– internal CPU
• arithmetic, logic, branch, data transfer are implemented
• i.e.. SPARC2, SPARC 20 has same instruction set but different organization
April 19, 2023204521 Digital System Architecture 21
Organization and Hardware (2/2)
Hardware used to refer to specific of a machine– detailed logic design– packaging technology of machine
machine identical ISA and nearly identical organization but they differs in detailed hardware
implementation
April 19, 2023204521 Digital System Architecture 22
Choosing between 2 designs
What should the computer architect aware of in choosing between two designs?– design complexity
• complex design take longer to complete, this means a design will need to have higher performance to be competitive
– design time both hardware and software
April 19, 2023204521 Digital System Architecture 23
Early Computing
1946: ENIAC, us Army, 18,000 Vacuum Tubes
1949: UNIVAC I, $250K, 48 systems sold
1954: IBM 701, Core Memory
1957: Moving Head Disk
1958: Transistor, FORTRAN, ALGOL, CDC & DEC
Founded
1964: IBM 360, CDC 6600, DEC PDP-8
1969: UNIX
1970: FLOPPY DISK
1981: IBM PC, 1st Successful Portable (Osborne1)
1986: Connection Machine, MAX Headroom Debut
April 19, 2023204521 Digital System Architecture 24
Generation
Evolutionary
Parallelism
Year Logic Storage Prog. Lang. O/S54 Tubes core (8 ms)
58 Transistor (10s) FORTRAN60 ALGOL, COBOL Batch
64 Hybrid (1 s) thin film (200ns) Lisp, APL, Basic66 IC (100ns) PL/1, Simula,C67 Multiprog.71 LSI (10ns) 1k DRAM O.O. V.M.
73 (8-bit P)
75 (16-bit P) 4k DRAM78 VLSI (10ns) 16k DRAM Networks80 64k DRAM
84 (32-bit P) 256k DRAM ADA87 ULSI 1M DRAM89 GAs 4M DRAM C++
92 (64-bit P) 16M DRAM Fortran90
Underlying Technologies
April 19, 2023204521 Digital System Architecture 25
History
1. “Big Iron” Computers:
Used vacuum tubes, electric relays and bulk magnetic storage devices. No microprocessors. No memory.
Example: ENIAC (1945), IBM Mark 1 (1944)
April 19, 2023204521 Digital System Architecture 26
History
Von Newmann:
Invented EDSAC (1949).
First Stored Program
Computer. Uses Memory.
Importance: We are still using
The same basic design.
April 19, 2023204521 Digital System Architecture
The Von Neumann Computer ModelPartitioning of the computing engine into components:
– Central Processing Unit (CPU): Control Unit (instruction decode , sequencing of operations), Datapath (registers, arithmetic and logic unit, buses).
– Memory: Instruction and operand storage.– Input/Output (I/O) sub-system: I/O bus, interfaces, devices.
– The stored program concept: Instructions from an instruction set are fetched from a common memory and executed one at a time
-Memory
(instructions, data)
Control
DatapathregistersALU, buses
CPUComputer System
Input
Output
I/O Devices
Major CPU Performance Limitation: The Von Neumann computing model implies Neumann computing model implies sequential executionsequential execution one instruction at a time one instruction at a time
April 19, 2023204521 Digital System Architecture 28
Hardware Components of Any Computer
Processor (active)
Computer
ControlUnit
Datapath
Memory(passive)
(where programs, data live whenrunning)
Devices
Input
Output
Keyboard, Mouse, etc.
Display, Printer, etc.
DisksNetworks ...
Five classic components of all computers:Five classic components of all computers:
1. Control Unit; 2. Datapath; 3. Memory; 4. Input; 5. Output1. Control Unit; 2. Datapath; 3. Memory; 4. Input; 5. Output}
Processor
} I/O
April 19, 2023204521 Digital System Architecture 29
Generic CPU Machine Instruction
Execution Steps
Instruction
Fetch
Instruction
Decode
Operand
Fetch
Execute
Result
Store
Next
Instruction
Obtain instruction from program storage
Determine required actions and instruction size
Locate and obtain operand data
Compute result value or status
Deposit results in storage for later use
Determine successor or next instruction
(Implied by The Von Neumann Computer Model)
Major CPU Performance Limitation: The Von Neumann computing model implies sequential
execution one instruction at a time
April 19, 2023204521 Digital System Architecture 30
Computer Components
Datapath of a von Newman machine
ALU
OP1 + OP2
Op1 Op2
OP1 + OP2...
Op1Op2
General-purpose Registers
ALU i/p registers
ALU o/p register
Bus
April 19, 2023204521 Digital System Architecture 31
Computer Components
Processor(CPU):– Active part of the motherboard– Performs calculations & activates devices– Gets instruction & data from memory– Components are connected via Buses
Bus:– Collection of parallel wires– Transmits data, instructions, or control signals
Motherboard– Physical chips for I/O connections, memory, & CPU
April 19, 2023204521 Digital System Architecture 32
Computer Components
CPU consists of– Datapath (ALU+ Registers):
• Performs arithmetic & logical operations
– Control (CU): • Controls the data path, memory, & I/O
devices• Sends signals that determine operations of
datapath, memory, input & output
April 19, 2023204521 Digital System Architecture 33
Technology Change
Technology changes rapidly– HW
• Vacuum tubes: Electron emitting devices • Transistors: On-off switches controlled by electricity• Integrated Circuits( IC/ Chips): Combines thousands
of transistors• Very Large-Scale Integration( VLSI): Combines
millions of transistors• What next?
– SW• Machine language: Zeros and ones• Assembly language: Mnemonics• High-Level Languages: English-like• Artificial Intelligence languages: Functions & logic
predicates• Object-Oriented Programming: Objects & operations
on objects
April 19, 2023204521 Digital System Architecture 34
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
Question: Does every thing look OK?
April 19, 2023204521 Digital System Architecture 35
Software Evolution.
Machine languageAssembly languageHigh-level languagesSubroutine libraries
There is a large gap between what is convenient for computers & what is convenient for humans
Translation/Interpretation is needed between both
April 19, 2023204521 Digital System Architecture 36
Language Evolution
swap (int v[], int k){ int temp temp = v[k]; v[k] = v[k+1]; v[k+1] = temp;}
00000000101000010000000000011000000000001000111000011000001000011000110001100010000000000000000010001100111100100000000000000100101011001111001000000000000000001010110001100010000000000000010000000011111000000000000000001000
swap: muli $2, $5, 4 add $2, $4, $2 lw $15, 0($2) lw $18, 4($2) sw $18, 0($2) sw $15, 4($2) jr $31
High-level language program (in C)
Assembly language program (for MIPS)
Binary machine language program (for MIPS)
April 19, 2023204521 Digital System Architecture 37
HW - SW Components
Hardware– Memory components
• Registers• Register file• memory• Disks
– Functional components• Adder, multiplier,
dividers, . . .• Comparators• Control signals
Software– Data
• Simple– Characters– Integers– Floating-point– Pointers
• Structured– Arrays– Structures
( records)– Instructions
• Data transfer• Arithmetic• Shift• Control flow• Comparison• . . .
April 19, 2023204521 Digital System Architecture 38
Predictions for the Late 1990s (1/2)
Technology– Very large dynamic RAM: 64 MBits and
beyond– Large fast Static RAM: 1 MB, 10ns
Complete systems on a chip– 10+ Million Transistors
Parallelism – Superscalar, Superpipeline, Vector,
Multiprocessors– Processor Arrays
April 19, 2023204521 Digital System Architecture 39
Predictions for the Late 1990s (2/2)
Low Power– 50% of PCs portable by 1995– Performance per watt
Parallel I/O– Many applications I/O limited, not computation– Computation scaling, but memory, I/O bandwid
th not keeping pace
Multimedia– New interface technologies– Video, speech, handwriting, virtual reality, …
April 19, 2023204521 Digital System Architecture 41
Technology => dramatic change
Processor– logic capacity: about 30% increase per year– clock rate: about 20% increase per year
Memory– DRAM capacity: about 60% increase per year (4x
every 3 years)– Memory speed: about 10% increase per year– Cost per bit: about 25% improvement per year
Disk– Capacity: about 60% increase per year
Higher logic density gave room for instruction pipeline & cacheHigher logic density gave room for instruction pipeline & cache
Performance optimization no longer implies smaller programsPerformance optimization no longer implies smaller programs
Computers became lighter and more power efficient Computers became lighter and more power efficient
April 19, 2023204521 Digital System Architecture 42
Dead Computer Society
ACRI
Alliant
American Supercomputer
Ametek
Applied Dynamics
Astronautics
BBN
CDC
Convex
Cray Computer
Cray Research
Culler-Harris
Culler Scientific
Cydrome
Dana/Ardent/Stellar/Stardent
Denelcor
Elxsi
ETA Systems
Evans and Sutherland Computer Division
Gould NPL
Guiltech
Intel Scientific Computers
Gould NPL
Guiltech
Intel Scientific Computers
International Parallel Machines
Kendall Square Research
Key Computer Laboratories
MasPar
Meiko
Multiflow
Myrias
Numerix
Prisma
Thinking Machines
Saxpy
Scientific Computer Systems (SCS)
Soviet Supercomputers
Supertek
Supercomputer Systems (SSI)
Suprenum
April 19, 2023204521 Digital System Architecture 44
Intel 4004 Die Photo
Introduced in 1970– First
microprocessor
2,250 transistors
12 mm2
108 KHz
April 19, 2023204521 Digital System Architecture 45
Intel 8086 Die Scan
29,0000 transistors
33 mm2
5 MHz
Introduced in 1979– Basic architecture
of the IA32 PC
April 19, 2023204521 Digital System Architecture 46
Intel 80486 Die Scan
1,200,000 transistors
81 mm2
25 MHz
Introduced in 1989– 1st pipelined
implementation of IA32
April 19, 2023204521 Digital System Architecture 47
Pentium Die Photo
3,100,000 transistors
296 mm2
60 MHz
Introduced in 1993– 1st superscalar
implementation of IA32
April 19, 2023204521 Digital System Architecture 48
Pentium III
9,5000,000 transistors
125 mm2
450 MHz
Introduced in 1999
April 19, 2023204521 Digital System Architecture 49
MOORE’s LAW
µProc60%/yr.(2X/1.5yr)
DRAM9%/yr.(2X/10 yrs)1
10
100
1000
198
0198
1 198
3198
4198
5 198
6198
7198
8198
9199
0199
1 199
2199
3199
4199
5199
6199
7199
8 199
9200
0
DRAM
CPU198
2
Processor-MemoryPerformance Gap:(grows 50% / year)
Per
form
ance
Time
“Moore’s Law”
Processor-DRAM Memory Gap (latency)
April 19, 2023204521 Digital System Architecture 50
Moore’s Not-Exactly-Law
Not a law of nature– But fairly accurate over 38 years and counting
No exponential is forever– but we can delay “forever” (Gordon Moore in
2003)
More about Moore’s Law athttp://www.intel.com/research/silicon/mooreslaw.htm
April 19, 2023204521 Digital System Architecture
Its all about money.(Trends affect profits, costs, etc.)
April 19, 2023204521 Digital System Architecture 52
Performance Trend
In general, tradeoffs should improve performance
The natural idea here… HW cheaper, easier to manufacture can make our processor do more things…
April 19, 2023204521 Digital System Architecture 55
Computer Engineering Methodology
TechnologyTrends
April 19, 2023204521 Digital System Architecture 56
Computer Engineering Methodology
Evaluate ExistingEvaluate ExistingSystems for Systems for BottlenecksBottlenecks
TechnologyTrends
Benchmarks
April 19, 2023204521 Digital System Architecture 57
Computer Engineering Methodology
Evaluate ExistingEvaluate ExistingSystems for Systems for BottlenecksBottlenecks
Simulate NewSimulate NewDesigns andDesigns and
OrganizationsOrganizations
TechnologyTrends
Benchmarks
Workloads
April 19, 2023204521 Digital System Architecture 58
Computer Engineering Methodology
Evaluate ExistingEvaluate ExistingSystems for Systems for BottlenecksBottlenecks
Simulate NewSimulate NewDesigns andDesigns and
OrganizationsOrganizations
Implement NextImplement NextGeneration SystemGeneration System
TechnologyTrends
Benchmarks
Workloads
ImplementationComplexity
April 19, 2023204521 Digital System Architecture 59
Context for Designing New Architectures
Application Area– Special Purpose (e.g., DSP) / General
Purpose– Scientific (FP intensive) / Commercial
Level of Software Compatibility– Object Code/Binary Compatible (cost
HW vs. SW)– Assembly Language (dream to be
different from binary)– Programming Language; Why not?
April 19, 2023204521 Digital System Architecture 60
Context for Designing New Architectures
Operating System Requirements for General Purpose Applications– Size of Address Space– Memory Management/Protection– Context Switch– Interrupts and Traps
Standards: Innovation vs. Competition– IEEE 754 Floating Point – I/O Bus – Networks – Operating Systems / Programming Languages
April 19, 2023204521 Digital System Architecture 61
Recent Trends in Computer DesignRecent Trends in Computer Design
The cost/performance ratio of computing systems have seen a steady decline due to advances in:
– Integrated circuit technology: decreasing feature size, • Clock rate improves roughly proportional to improvement in • Number of transistors improves proportional to (or faster).
– Architectural improvements in CPU design.
Microprocessor systems directly reflect IC improvement in terms of a yearly 35 to 55% improvement in performance.
Assembly language has been mostly eliminated and replaced by other alternatives such as C or C++
Standard operating Systems (UNIX, NT) lowered the cost of introducing new architectures.
Emergence of RISC architectures and RISC-core (x86) architectures.
Adoption of quantitative approaches to computer design based on empirical performance observations.