Computer Architecture and Design

Download Report

Transcript Computer Architecture and Design

chapter 1
Computer Architecture and Design
ECE4480/5480 Computer Architecture and Design
Department of Electrical and Computer Engineering
University of Colorado at Colorado Springs
Instructor: Dr. Charlie Wang
1
chapter 1
Computer Architecture and Design
• What is in this course ?
– In-depth understanding of the inner-operations of a high
performance processor, processor evolution, and tradeoffs present at the hardware/software boundary
» performance/cost/implementation complexity
tradeoff in fast/slow operations
– experience with the design process in the context of a
large complex digital system design
» functional specification --> control and datapath -->
physical implementation
2
chapter 1
3
Course Objectives
• Teach you how to design by leading you
through the process of each unit used in
modern computers
• We will finish the book and supplement new
material for techniques used in newly
announced processors such as multithread
processors, multi-core processors and I/O
buses
– textbook “ Computer Organization and Design ; The
Hardware/Software Interface “ by Patterson and
Hennessy, Morgan Kaufmann Publisher
– Computer Architecture – A Quantitative Approach by the
same author and publisher.
chapter 1
4
What is Computer Architecture
• Computer Architecture
– Computer architecture = Instruction set architecture plus
computer organization
– Instruction Set Architecture (ISA)
» ISA specifies data types and data structures, storage
elements, instruction formats, operation code set,
modes of addressing and accessing data items,
exceptional conditions
– Computer Organization
» functions and characteristics of functional units
» functional units connections
» information flow between functional units
» how functional units are controlled
» register transfer level description
chapter 1
5
Where is “Computer Architecture and Design”?
Application (Netscape)
Software
Hardware
Operating
Compiler
System
Assembler (Windows 2K)
Processor Memory I/O system
Datapath & Control
Digital Design
Circuit Design
transistors
Instruction Set
Architecture
chapter 1
Computer Architecture and Design
•
•
•
•
•
•
•
•
layout (lowest level))
circuit design
digital design
datapath & control
instruction set proc. and I/O system
compiler and firmware
operating system
application (highest level)
6
chapter 1
7
Anatomy: 5 components of any Computer
Personal Computer
Computer
Processor
Control
Datapath
Memory
(where
programs,
data
live when
running)
Devices
Input
Output
Keyboard,
Mouse
Disk
(where
programs,
data
live when
not running)
Display,
Printer
chapter 1
8
Computer Architecture
• Factors affect computer architecture
– technology
– applications
– operating systems
– programming languages
– history
chapter 1
Computer Technology - Dramatic Change!
• Processor
– 2X in speed every 1.5 years (since ‘85);
100X performance in last decade.
• Memory
– DRAM capacity: 2x / 2 years (since ‘96);
64x size improvement in last decade.
• Disk
– Capacity: 2X / 1 year (since ‘97)
– 250X size in last decade.
9
chapter 1
10
Microprocessor Complexity
chapter 1
11
Single Processor Performance
Move to multi-processor
chapter 1
12
Performance Trends
2X transistors/Chip Every 1.5 to 2.0 years
Called “Moore’s Law”
chapter 1
13
Computer Architecture
• Computer Architecture
– is an iterative process to search the space
of all possible designs at all levels of
computer systems
chapter 1
14
MIPS Instruction Set Architecture
• Instruction Category
–
–
–
–
load/store
computational
jump and branch
floating point
» coprocessor
– memory management
– special
registers
R0 - R31
instruction formats : all 32 bits
op
rs
rt
rd
shamt
funct
op
rs
rt
address / immediate
op
jump target address
R - type
I - type
J - type
chapter 1
15
MIPS Instructions
High Level Language program
compiler
Assembly language program
assembler
Machine language program
lw $15, 0($2);
lw $16, 4($2);
sw $16, 0($2);
sw $15, 4($4);
0010 1001 0001 1010 0011 0011 1100 1010
chapter 1
Instruction execution cycle
Instruction fetch
– obtain instruction from program storage
Instruction decode
– determine required actions and instruction size
Operand fetch
– locate and obtain operand data
Execute
– compute result value or status
Result store
– deposit results in storage for later use
Next instruction fetch
16
chapter 1
17
Summary
• Computers have five components
–
–
–
–
–
processor : datapath
processor : control
memory
input devices
output devices
• All memories are not “born” equal
– Cache memory : fast, expensive, and placed closer to
processor
– Main memory : cheap, we can put more main memory
• Input and output devices
– wide range of speed : graphics vs. keyboard
– wide range of requirements : speed, standard, cost, etc.