Title: COMP 381 Design and Analysis of Computer Architectures http:www.cs.ust.hkhamdiClassCOMP381 Mounir Ha
1COMP 381Design and Analysis of Computer
Architectures http//www.cs.ust.hk/hamdi/Class/
COMP381/Mounir HamdiCPEG DirectorComputer
Science Professor
2Administrative Details
- Instructor Prof. Mounir Hamdi
- Office 3545
- Email hamdi_at_cs.ust.hk
- Phone 2358 6984
- Office hours Wednesdays 1000 - 1200.
- Teaching Assistants
- Li XinNgan Hoi LunTsang Kei ManWong Man Cheung
3Administrative Details
- Textbook
- John L. Hennessy and David A. Patterson.
Computer Architecture A Quantitative Approach.
Morgan Kaufman Publishers, Third Edition, 2003. - Reference Book
- John L. Hennessy and David A. Patterson.
Computer Organization and Design The
Hardware/Software Interface. Morgan Kaufman
Publishers, 2001. - Grading Scheme
- Quizzes 5.
- Homeworks/Project 30.
- Midterm Exam 30.
- Final Exam 35.
4Course Description and Goal
- What will COMP 381 give me?
- An in-depth understanding of the inner-workings
of modern computers, their evolution, and
trade-offs present at the hardware/software
boundary. - An in-depth understanding of the interaction and
design of the various components at hardware
level (processor, memory, I/O) and the software
level (operating system, compiler, instruction
sets). - Equip you with an intellectual toolbox for
dealing with a host of system design challenges.
5Course Description and Goal (contd)
- To understand the design techniques, machine
structures, technology factors, and evaluation
methods that will determine the form of computers
in the 21st Century
Technology
Programming
Languages
Applications
Computer Architecture Instruction Set
Design Organization Hardware
Operating
Measurement Evaluation
History
Systems
6Course Description and Goal (contd)
- Will I use the knowledge gained in this subject
in my profession? - Remember
- Few people design entire computers or entire
instruction sets - But
- Many people design computer components
- Any successful computer engineer/architect needs
to understand, in detail, all components of
computers in order to design any successful
piece of hardware or software.
7Computer Architecture in General
- When building a Cathedral numerous practical
considerations need to be taken into account - Available materials
- Worker skills
- Willingness of the client to pay the price.
Notre Dame de Paris
- Similarly, Computer Architecture is about working
within constraints - What will the market buy?
- Cost/Performance
- Tradeoffs in materials and processes
SOFTWARE
8Whats the Focus of Computer Architecture?
- 1950s to 1960s Computer Architecture Course
- Computer Arithmetic.
- 1970s to mid 1980s Computer Architecture Course
Instruction Set Design, especially ISA
(Instruction Set Architecture) appropriate for
compilers. (What well do in Chapter 2) - 1990s to 2000s Computer Architecture
CourseDesign of CPU, memory system, Input/Output
system, Multiprocessors. (All evolving at a
tremendous rate!)
9Computer Architecture Vs. Computer Organization
- The term Computer architecture is sometimes
mistakenly restricted to computer instruction set
design, with other aspects of computer design
called implementation - More accurate definition Computer Architecture
involves 3 inter-related components - Instruction set architecture (ISA) The actual
programmer-visible instruction set and serves as
the boundary between the software and hardware.
10Computer Architecture Vs. Computer Organization
- Implementation of a machine has two components
- Organization includes the high-level aspects of
a computers design such as The memory system,
the bus structure, the internal CPU unit which
includes implementations of arithmetic, logic,
branching, and data transfer operations. - Hardware Refers to the specifics of the machine
such as detailed logic design and packaging
technology. - In general, Computer Architecture refers to the
above three aspects Instruction set
architecture, organization, and hardware.
11Computer Architecture Vs. Computer Organization
- You could have the same instruction set
architecture but different organizations (NEC
5432 and NEC 4122) - You could have the same instruction set
architecture and same organization, but different
hardware implementations (Pentium vs. Celeron) - Computer Architecture (ISA, Organization,
hardware)
12User Perspective of Computers
- 50s and 60s
- Big mainframes time-share or sign up for time
- 70s
- Mini-computer still time share but it might be a
more locally owned machine - 80s
- Microprocessors are born
- Your own desktop machine becomes possible
- 90s
- WWW, PDAs (Personal Digital Assistant), and
cellular phones - Interconnectivity ? server machines
- High performance consumer electronics games and
set-top boxes
13Three Computing Classes Today
- Desktop Computing (our class focus)
- Personal computer and workstation 1K - 10K
- Optimized for price-performance
- Server
- Web server, file sever, computing sever 10K -
10M - Optimized for availability, scalability, and
throughput - Embedded Computers
- Fastest growing and the most diverse space 10 -
10K - Microwaves, washing machines, palmtops, cell
phones, etc. - Optimizations price, power, specialized
performance
14The Task of the Computer Architect
- DETERMINE what the functional requirements are
and which can be a major task. (usually a market
issue) - General-purpose desktop balanced for a range of
tasks - Scientific servers high-performance floating
point and graphics - Commercial servers support for databases and
transaction processing reliability,
availability, and scalability. - Embedded computing power control may be required
- THEN optimize the design
- WHILE staying within the cost and power
constraints
- PLUS you must predict the trends
- IBM always provides such great pathological
examples, e.g., 1-2 BILLION spent on Josephson
Junction and 3D Integrated Circuit potential,
then they scrapped the program and picked CMOS
like everybody else
15The Task of a Computer Designer
16Levels of Abstraction
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
Figure is courtesy of Dave Patterson
17Topics to be covered in this class
- We are particularly interested in the
architectural aspects of making a
high-performance computer - Fundamentals of Computer Architecture (Chapter 1)
- Instruction Set Architecture (Chapter 2, Appendix
D) - Pipelining Instruction Level Parallelism
(Chapters 3, 4) - Memory Hierarchy (Chapter 5)
- Input/Output and Storage (Chapter 6)
- Networks and Interconnection Technology (Chapter
7) - Multiprocessors (Chapter 8)
18Computer Architecture Topics
Input/Output and Storage
Disks and Tape
RAID
Emerging Technologies Interleaving
DRAM
Coherence, Bandwidth, Latency
Memory Hierarchy
L2 Cache
Cache Design Block size, Associativity
L1 Cache
Addressing modes, formats
Instruction Set Architecture
Processor Design
Pipelining, Hazard Resolution, Superscalar,
Reordering, ILP Branch Prediction, Speculation
19Computer Architecture Topics
Multiprocessors Networks and Interconnections
Shared Memory, Message Passing
M
P
M
P
M
P
M
P
Network Interfaces
S
Interconnection Network
Topologies, Routing, Bandwidth, Latency,
Reliability
20Trends in Computer Architectures
- The computer architect/designer must be aware of
the computer usage trends and the technology
trends before trying to lay down the design
philosophy since they can have a tremendous
effect on the success/ failure of the computer - Trends in Computer Usage
- The structure and size of software programs
should have a big effect on the instruction set
architecture (e.g., memory address space). - The importance of high-level languages as opposed
to assembly languages forces the computer
architect to closely work with compiler designers
(e.g., pipelining design, cache design, etc.) - Internet usage affects I/O design
21Trends in Computer Architectures
- Programming languages might encourage
architecture features to improve performance and
code size, e.g. Fortran and Java - Operating systems rely on the hardware to
support essential features such as semaphores and
memory management - Technology always changes what could be done and
changes designs focus - Applications usually derive capabilities and
constrains, e.g. embedded computing - History always provides the starting point and
filter out mistakes
22Trends in Computer Architectures
- Computer technology has been advancing at an
alarming rate - You can buy a computer today that is more
powerful than a supercomputer in the 1980s for
1/1000 the price. - These advances can be attributed to advances in
technology as well as advances in computer design - Advances in technology (e.g., microelectronics,
VLSI, packaging, etc) have been fairly steady - Advances in computer design (e.g., ISA, Cache,
RAID, ILP, etc.) have a much bigger impact (This
is the theme of this class).
23Processor Performance(Before 90s - 1.35, Now
1.58)
24Trends in Technology
- Trends in Technology followed closely Moores Law
Transistor density of chips doubles every
1.5-2.0 years - As a consequence of Moores Law
- Processor speed doubles every 1.5-2.0 years
- DRAM size doubles every 1.5-2.0 years
- Etc.
- These constitute a target that the computer
industry aim for.
25Intel 4004 Die Photo
- Introduced in 1970
- First microprocessor
- 2,250 transistors
- 12 mm2
- 108 KHz
26Intel 8086 Die Scan
- 29,0000 transistors
- 33 mm2
- 5 MHz
- Introduced in 1979
- Basic architecture of the IA32 PC
27Intel 80486 Die Scan
- 1,200,000 transistors
- 81 mm2
- 25 MHz
- Introduced in 1989
- 1st pipelined implementation of IA32
28Pentium Die Photo
- 3,100,000 transistors
- 296 mm2
- 60 MHz
- Introduced in 1993
- 1st superscalar implementation of IA32
29Pentium III
- 9,5000,000 transistors
- 125 mm2
- 450 MHz
- Introduced in 1999
30Moores Law
31 Technology X86 Architecture Progression
32Memory Capacity (Single Chip DRAM)
year size(Mb) cyc time 1980 0.0625 250
ns 1983 0.25 220 ns 1986 1 190 ns 1989 4 165
ns 1992 16 145 ns 1996 64 120 ns 2000 256 100
ns
Moores Law for Memory Transistor capacity
increases by 4x every 3 years
33MOOREs LAW
Processor-DRAM Memory Gap (latency)
µProc 60/yr. (2X/1.5yr)
1000
CPU
Moores Law
100
Processor-Memory Performance Gap(grows 50 /
year)
Performance
10
DRAM 9/yr. (2X/10 yrs)
DRAM
1
1980
1981
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
1982
34Technology Trends
Capacity Speed (latency) Logic 2x in 3
years 2x in 3 years DRAM 4x in 3 years 2x in
10 years Disk 4x in 3 years 2x in 10 years
- Speed increases of memory and I/O have not kept
pace with processor speed increases. - That is why you are taking this class
- This phenomena is extremely important in
numerous processing/computing devices - Always remember this
35Processor-Memory Gap We need a balanced Computer
System
Computer System
Clock Period, CPI, Instruction count
Bandwidth
Capacity, Cycle Time
Capacity, Data Rate
36Computer Architecture Innovations(Are influenced
by advances in technology)
- ISA design (RISC)
- Pipelining
- Cache memories
- Instruction Level Parallelism
- Superscalar techniques
- I/O design
- Multi-processors