1 chapter 1 computer architecture and design ece4480/5480 computer architecture and design...
TRANSCRIPT
1chapter 1
Computer Architecture and Design
ECE4480/5480 Computer Architecture and DesignDepartment of Electrical and Computer EngineeringUniversity of Colorado at Colorado SpringsInstructor: Dr. Charlie Wang
2chapter 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 trade-offs 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
3chapter 1
Course Objectives
• Teach you how to design by leading you through the process of each unit used in modern computers
• We will finish the whole 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
4chapter 1
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
5chapter 1
Where is “Computer Architecture and Design”?
I/O systemProcessor
CompilerOperating
System(Windows 2K)
Application (Netscape)
Digital DesignCircuit Design
Instruction Set Architecture
Datapath & Control
transistors
MemoryHardware
Software Assembler
6chapter 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)
7chapter 1
Anatomy: 5 components of any Computer
Personal Computer
Processor
Computer
Control
Datapath
Memory
(where programs, data live whenrunning)
Devices
Input
Output
Keyboard, Mouse
Display, Printer
Disk (where programs, data live whennot running)
8chapter 1
Computer Architecture
• Factors affect computer architecture
– technology
– applications
– operating systems
– programming languages
– history
9chapter 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.
10chapter 1
Microprocessor Complexity
11chapter 1
Performance Trends
2X transistors/Chip Every 1.5 to 2.0 yearsCalled “Moore’s Law”
12chapter 1
Computer Architecture
• Computer Architecture
– is an iterative process to search the space of all possible designs at all levels of computer systems
13chapter 1
MIPS Instruction Set Architecture
• Instruction Category– load/store
– computational
– jump and branch
– floating point
» coprocessor
– memory management
– special
registersR0 - R31
instruction formats : all 32 bitsop rs rt rd shamt functop rs rt address / immediateop jump target address
R - type
I - type
J - type
14chapter 1
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
15chapter 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
16chapter 1
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.