CS 211: Computer Architecture

Download Report

Transcript CS 211: Computer Architecture

CS 6461: Computer Architecture
Fall 2013
History and Trends
Instructor: Morris Lancaster
Instructor
• Morris Lancaster
– 703 400 6408
– [email protected]
8/13/2013
CS 6461 History and Trends
2
Computer Architecture
Instruction Set Architecture
Refers to the instruction set that can be used by the
programmer or generated by a compiler
This logical view serves as the boundary between
hardware and software
Can be compared with an interface specification or
contract for an object – where given a set of
preconditions, a given activity will always yield the
same postconditions with respect to the architecture
View as the accessible register set and memory and the
instructions that can be used to affect them
8/13/2013
CS 6461 Lecture 1.2
3
Computer Architecture
Organization
High level aspects of computer design, including memory
system, bus structure, design of the internal cpu,
independent of the ISA.
8/13/2013
CS 6461 Lecture 1.2
4
Computer Architecture
• Organization
– Processors with two distinct organizations can support
the same ISA
• NEC VR 5432 and VR 4122 both support MIPS 64 ISA
• VR 4122 does floating point in software and has different
cache and pipeline than VR 5432
8/13/2013
CS 6461 Lecture 1.2
5
Computer Architecture
• Hardware
– The specifics of a machine’s detailed logic design and
packaging
• Clock rates, voltages, etc.
8/13/2013
CS 6461 Lecture 1.2
6
Trends in Technology, Applications and
Architectures
Historical Perspective
• 1957 to early 1970s
– Technology improvements:
• tubes to transistors to integrated circuits
– Organization improvements:
•
•
•
•
Larger register sets
Increased number of buses
Introduction of caches
Introduction of pipelines
– Mainframes and minicomputers dominated the market
– “Big fish ate little fish”
– 25% to 30% per year performance growth contributed to by
technology improvements and organization improvements
8/13/2013
CS 6461 Lecture 1.2
8
Historical Perspective
• Late 1970’s through early 1980’s
– Technology improvements:
• LSI to VLSI to not categorizing any more
• Facilitated 35% or more growth per year
– Organization improvements:
• Few new improvements so as to have less impact than
technology
– Microprocessor based systems began to take over
– “little fish eat big fish?”
8/13/2013
CS 6461 Lecture 1.2
9
Historical Perspective
Why microprocessor systems flourished
• Fundamental changes in software development
and development environments
– Assembly language development virtually eliminated, and
therefore applications became ISA (object code) independent
(Intel’s/IBM’s lesson with 8080 and 8086)
– Standard OS (varieties of UNIX, Linux)
• Manufacturing costs were lower
– The life cycle for design and development (and cost recovery) of
microprocessors was shorter, so improvements could be made
quicker to produce higher performance processors
8/13/2013
CS 6461 Lecture 1.2
10
Historical Perspective
Why microprocessor systems flourished
• Users could afford the new systems, especially
those users with limited or no access to the
corporate or university mainframe
• Given the fast turnaround for new designs and
ISA independence, experimentation with new
architectures was facilitated
– Reduced Instruction Set Computer architectures
developed
8/13/2013
CS 6461 Lecture 1.2
11
Historical Perspective
Advances in Computer Organization Begin Again
• RISC
– Exploitation of instruction level parallelism
• Initially through pipelining and later through multiple instruction
issue
– The use of caches
• Initially simple and later more complex
– Intel IA 32 (x86) Architecture goes RISC
• IA 32 instructions translated internally to RISC-Like instructions
• As transistor counts per chip soared this translation cost became
negligible
8/13/2013
CS 6461 Lecture 1.2
12
Historical Perspective
Advances in Computer Organization Begin Again
• Technology improvements continued and the combination
of the technology and organization enhancements has led
to 20 years of sustained growth in performance at an
annual rate of over 50%. Organization enhancements have
been the more significant portion of this growth.
8/13/2013
CS 6461 Lecture 1.2
13
Historical Perspective
Performance
?
8/13/2013
CS 6461 Lecture 1.2
14
Historical Perspective
Chip Transistor Count
Sun Niagra 16 core and
IBM Power 7 8 core (both 2 billion trans)
Intel 2 Billion Transistor 2008 (Article)
Intel 1 Billion Transistor 2006
From Stallings, Computer Organization and Architecture – 8th Edition
8/13/2013
CS 6461 Lecture 1.2
15
Evolution
• Wide range of applications of computing
– Desktop computing – business
• Now Workstations are on the Desktop
– High performance workstations
– Servers
• Minicomputers replaced by microprocessors acting as
servers
– Supercomputers
• Built from large numbers of microprocessors
– Embedded computers
8/13/2013
CS 6461 Lecture 1.2
16
The Designer’s Challenges
• Rate of change of technology
– Integrated circuit logic technology
• Transistor density increases at about 35% per year
• Increases in die size about 10% to 20% per year (better yields)
• Combined effect of about 55% per year increase in transistor
count per chip
– DRAM
• Density increases of 40% to 60% per year
– Magnetic Disk Technology
• Greater than 100% per year
– Network Technologies
• 10Mbps to 100Mbps to Gigabit
• Greater connectivity
8/13/2013
CS 6461 Lecture 1.2
17
Design Requirements/Constraints for
Computer Architectures
Requirements
• Who will program the machines
• What do they expect?
– Performance?
– Low power consumption?
• How?
– HLL, embedded, etc
• Compilation is key to performance
– HW/SW interaction at ISA level
– Knowledge of architecture, application and algorithms
8/13/2013
CS 6461 Lecture 1.2
19
The Designer’s Challenges
what are the real requirements?
• Which of these has the best performance?
Airplane
Passengers
Boeing 737- 100
101
Boeing 747
470
BAC/Sud Concorde
132
Douglas DC-8-50
146
Range (mi) Speed (mph)
630
598
4150
610
4000
1350
8720
544
How much faster is the Concorde compared to the 747? <2.213>
How much bigger is the 747 than the Douglas DC- 8? <3.5606>
bigger? faster? greatest range?
What is the passenger mph ratio of the 747 compared to the
Concorde?<?>
8/13/2013
CS 6461 Lecture 1.2
20
Industry Challenge
• Delays in delivery of a new technology can
severely impact market position
• Life cycle for a particular product less than 5 years
(e.g. Pentium II, Pentium III, Pentium IV)
• Cost
• Inventory risk.
• Other notes:
– In 2004 Intel cancelled all its high performance
uniprocessor projects and joined IBM and Sun in
declaring that the road to higher performance would be
in multiple processors per chip.
8/13/2013
CS 6461 Lecture 1.2
21
Focus of Text
• Look at the factors that made the last century’s
incredible growth rate possible
– Architectural ideas
– Accompanying compiler improvements
• Look at
– Reasons for change
– Challenges and initial promising approaches
– Compilers
8/13/2013
CS 6461 Lecture 1.2
22
Defining Computer Architectures
• Determine what attributes are important for a new
computer
• Design the computer to maximize performance while
staying within cost, power and availability constraints.
–
–
–
–
Instruction set design
Functional organization
Logic design
Implementation
•
•
•
•
8/13/2013
IC design
Packaging
Power
Cooling
CS 6461 Lecture 1.2
23
Instruction Set Architecture
• 7 Dimensions
– Class of ISA
• Register-memory
• Load-store
• Others
80x86
MIPS
– Stack
– Memory Addressing
• Byte or word addressing
• Alignment
8/13/2013
CS 6461 Lecture 1.2
24
Instruction Set Architecture
• 7 Dimensions (continued)
– Addressing Modes
• Register, immediate, displacement – MIPS
• Add another displacement, register – older mainframe
– Operand Size
•
•
•
•
•
8/13/2013
8 bit
16 bit
32 bit
64 bit
IEEE 32 bit single precision and 64 bit double precision,
also 80 bit extended version
CS 6461 Lecture 1.2
25
Instruction Set Architecture
• 7 Dimensions (continued)
– Operations
•
•
•
•
Data Transfer
Arithmetic/Logical
Control
Floating Point
– Control flow
• Conditional branches, unconditional jumps, procedure
calls, returns
– ISA encoding
• Fixed length
• Variable Length
8/13/2013
CS 6461 Lecture 1.2
26
Instruction Set Architecture
MIPS
• MIPS Instruction subset on Page 11
MIPS Formats Figure 1.6
8/13/2013
CS 6461 Lecture 1.2
27
What Remains?
• Designing the organization and hardware to meet
goals and functional requirements
– Organization – high level aspects of a computer’s
design
• CPU Design
• Memory Design and Interconnect
• ISA x86 AMD Opteron and Pentium 4 have very different
internal designs
– Hardware – specifics, detailed logic design and
packaging
• Pentium 4 versus Mobile Pentium 4
8/13/2013
CS 6461 Lecture 1.2
28
Cost of an Integrated Circuit
• Cost of integrated circuit
Cost of die + cost of testing die + cost of packaging and final test
die yield
• Cost of die
Cost of Wafer
.
Dies per wafer * die yield
• Dies per wafer
π * (wafer diameter/2)2
die area
8/13/2013
- π * wafer diameter
CS 6461 Lecture 1.2
2*die area
29
Die Wafer
8/13/2013
CS 6461 Lecture 1.2
30
Cost of an Integrated Circuit
• Die yield
.4 to .8 in 2001
Wafer yield * ( 1 + Defects per unit area * Die area )-α
α
A parameter that corresponds
inversely to the number of masking levels
8/13/2013
CS 6461 Lecture 1.2
31
Measuring and Reporting Performance
• Performance = 1 / Response time
• Machine X is n times faster than machine Y
Performance X
•
Performance Y
=
Response time Y
Response time X
=n
• Example,
– Machine X runs a program in 10 sec
– Machine Y runs the same program in 15 sec
– 15 / 10 = 1.5  X is 1.5 times faster than Y
8/13/2013
CS 6461 Lecture 1.2
32
Quantitative Performance
• Amdahl’s Law
speedup =
Performance for entire task using enhancement when possible
Performance for entire task without using the enhancement
8/13/2013
CS 6461 Lecture 1.2
33
Quantitative Performance
• A program is broken down into instructions
• Each instruction takes multiple clock cycles
# of instructions
Time/program
=
# of clocks
*
a program
second
*
# of instructions
clock
= instruction count * CPI / clock rate
• Instruction count (instructions executed, not static code)
– Mostly determined by compiler and ISA
• CPI (average clock per instruction)
– Mostly determined by ISA and CPU organization –CPI’s may differ according
to instruction –
• Clock rate
– Mostly determined by technology and CPU organization
8/13/2013
CS 6461 Lecture 1.2
34
Quantitative Principles
•
•
•
•
Take advantage of parallelism
Understand Amdahl’s Law
Principle of Locality
Focus on the Common Case – make it fast
8/13/2013
CS 6461 Lecture 1.2
35