COMP 381 Design and Analysis of Computer Architectures http:www.cs.ust.hkhamdiClassCOMP381 Mounir Ha - PowerPoint PPT Presentation

1 / 36
About This Presentation
Title:

COMP 381 Design and Analysis of Computer Architectures http:www.cs.ust.hkhamdiClassCOMP381 Mounir Ha

Description:

To understand the design techniques, machine structures, technology ... people design computer ... Design of CPU, memory system, Input/Output system, ... – PowerPoint PPT presentation

Number of Views:153
Avg rating:3.0/5.0
Slides: 37
Provided by: mot112
Category:

less

Transcript and Presenter's Notes

Title: COMP 381 Design and Analysis of Computer Architectures http:www.cs.ust.hkhamdiClassCOMP381 Mounir Ha


1
COMP 381Design and Analysis of Computer
Architectures http//www.cs.ust.hk/hamdi/Class/
COMP381/Mounir HamdiCPEG DirectorComputer
Science Professor
2
Administrative 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

3
Administrative 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.

4
Course 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.

5
Course 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
6
Course 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.

7
Computer 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
8
Whats 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!)

9
Computer 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.

10
Computer 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.

11
Computer 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)

12
User 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

13
Three 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

14
The 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

15
The Task of a Computer Designer
16
Levels 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
17
Topics 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)

18
Computer 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
19
Computer 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
20
Trends 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

21
Trends 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

22
Trends 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).

23
Processor Performance(Before 90s - 1.35, Now
1.58)
24
Trends 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.

25
Intel 4004 Die Photo
  • Introduced in 1970
  • First microprocessor
  • 2,250 transistors
  • 12 mm2
  • 108 KHz

26
Intel 8086 Die Scan
  • 29,0000 transistors
  • 33 mm2
  • 5 MHz
  • Introduced in 1979
  • Basic architecture of the IA32 PC

27
Intel 80486 Die Scan
  • 1,200,000 transistors
  • 81 mm2
  • 25 MHz
  • Introduced in 1989
  • 1st pipelined implementation of IA32

28
Pentium Die Photo
  • 3,100,000 transistors
  • 296 mm2
  • 60 MHz
  • Introduced in 1993
  • 1st superscalar implementation of IA32

29
Pentium III
  • 9,5000,000 transistors
  • 125 mm2
  • 450 MHz
  • Introduced in 1999

30
Moores Law
31
Technology X86 Architecture Progression
32
Memory 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
33
MOOREs 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
34
Technology 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

35
Processor-Memory Gap We need a balanced Computer
System
Computer System
Clock Period, CPI, Instruction count
Bandwidth
Capacity, Cycle Time
Capacity, Data Rate
36
Computer Architecture Innovations(Are influenced
by advances in technology)
  • ISA design (RISC)
  • Pipelining
  • Cache memories
  • Instruction Level Parallelism
  • Superscalar techniques
  • I/O design
  • Multi-processors
Write a Comment
User Comments (0)
About PowerShow.com