Title: Course Introduction and Overview
1Course Introduction and Overview
- Pradondet Nilagupta
- Spring 2001
- (original notes from Randy Katz, UC Berkeley)
2Course Info
- Lecturer Pradondet Nilagupta
- Email pom_at_nontri.ku.ac.th
- Homepage http//www.cpe.ku.ac.th/pom/courses/205
521/204521.html - Phone 9428555 ext 1401
- office rm.1102 Building 1 Engineering Faculty
- Office hours Mon. 4-6 PM. or make an appointment
- Lecture hr Mon. 6-9 PM.
3References Textbook
- Main Textbook (required)
- Computer Architecture a Quantitative Approach 2nd
Edition, John L. Hennessy, David A. Patterson,
Morgan Kaufmann 1996. - 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. - Computer Architecture, Robert J. Baron, Lee
Higbie, Addison Wesley 1992.
4Grading
- 25 Homeworks
- 30 MidtermExam
- 30 Final Exam
- 15 Paper Presentation
5Topic Coverage
- Fundamentals of Computer Architecture (Chapter 1)
- Instruction Set Architecture (Chapter 2)
- Pipelining and Instructional Level Parallelism
(Chapter 3, 4) - Memory Hierarchy (Chapter 5)
- Input/Output and Storage (Chapter 6)
- Computer Arithmetic (Appendix A)
- Vector Processors
- Interconnection Network
- Multiprocessor
6Related Courses
Strong Prerequisite
Digital Org.
Comp. Arch.
Parallel
Why, Analysis, Evaluation
Parallel Architectures, Languages, Systems
How to build it Implementation details
7Course Focus
- To Understand the design techniques, machine
structures, technology factors, evaluation
methods that will determine the form of computers
in 21st Century
Parallelism
Technology
Programming
Languages
Applications
Interface Design (Inst. Set Arch.)
Computer Architecture Instruction Set
Design Organization Hardware
Operating
Measurement Evaluation
History
Systems
8Computer 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
SOFTWARE
9Computer Architectures 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 CourseDesign of
CPU, memory system, I/O system, Multiprocessors,
Networks - 2010s Computer Architecture Course Self
adapting systems? Self organizing structures?DNA
Systems/Quantum Computing?
10Computer Architecture Topics (1/2)
Input/Output and Storage
Disks, WORM, Tape
RAID
Emerging Technologies Interleaving Bus protocols
DRAM
Coherence, Bandwidth, Latency
Memory Hierarchy
L2 Cache
L1 Cache
Addressing, Protection, Exception Handling
VLSI
Instruction Set Architecture
Pipelining, Hazard Resolution, Superscalar,
Reordering, Prediction, Speculation
Pipelining and Instruction Level Parallelism
11Computer Architecture Topics (2/2)
M
P
M
P
M
P
M
P
S
Interconnection Network
Processor-Memory-Switch
Topologies, Routing, Bandwidth, Latency, Reliabili
ty
Multiprocessors Networks and Interconnections
12- Throughout this text we will focus on optimizing
machine cost per performance
13The Task of Computer Designer
- determine what attribute are important for a new
machine - design a machine to maximize cost performance
- What are these Task?
- instruction set design
- function organization
- logic design
- implementation
- IC design, packaging, power, cooling.
14Instruction 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
15Organization 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
16Organization 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 i.e. 2 version of
Silicon Graphics Indy differ in clock rate and in
detailed cache structure
17Choosing 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
18Computer Engineering Methodology
Technology Trends
19Computer Engineering Methodology
Evaluate Existing Systems for Bottlenecks
Benchmarks
Technology Trends
20Computer Engineering Methodology
Evaluate Existing Systems for Bottlenecks
Benchmarks
Technology Trends
Simulate New Designs and Organizations
Workloads
21Computer Engineering Methodology
Evaluate Existing Systems for Bottlenecks
Implementation Complexity
Benchmarks
Technology Trends
Implement Next Generation System
Simulate New Designs and Organizations
Workloads
22Early 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
23Underlying Technologies
Year Logic Storage Prog. Lang. O/S 54 Tubes core
(8 ms) 58 Transistor (10?s) FORTRAN 60 ALGOL,
COBOL Batch 64 Hybrid (1?s) thin film
(200ns) Lisp, APL, Basic 66 IC (100ns) PL/1,
Simula,C 67 Multiprog. 71 LSI (10ns) 1k
DRAM O.O. V.M. 73 (8-bit ?P) 75 (16-bit
?P) 4k DRAM 78 VLSI (10ns) 16k DRAM Networks 80
64k DRAM 84 (32-bit ?P) 256k DRAM ADA 87 ULSI 1M
DRAM 89 GAs 4M DRAM C 92 (64-bit ?P) 16M
DRAM Fortran90
Generation Evolutionary
Parallelism
24Context 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?
25Context 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
26Predictions 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
27Predictions 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 bandwidth
not keeping pace - Multimedia
- New interface technologies
- Video, speech, handwriting, virtual reality,