CS2305: Computer Architecture
Fundamentals of Computer Design
(Computer Architecture: Chapter 1 )
Copyright By PowCoder代写 加微信 powcoder
Department of Computer Science and Engineering
Fundamentals Defining Computer Architecture Agenda
Introduction
Classes of Computers
1.3 Defining Computer Architecture Trends in Technology
Trends in Power and Energy in ICs Trends in Cost
Dependability
Measuring Performance
Quantitative Principles
Fundamentals Defining Computer Architecture Defining Computer Architecture
“Old” view of computer architecture:
Instruction Set Architecture (ISA) design
i.e., decisions regarding:
registers, memory addressing, addressing modes, instruction operands, available operations, control flow instructions, instruction encoding
The ISA is roughly the same as the programming model of a processor as seen by an assembly language programmer or compiler writer.
Fundamentals
Instruction Set Architecture
Applications
Operating System Firmware
Instruction Set Architecture Instruction Set Processor
I/O System
Datapath & Control Digital Design Circuit Design Layout
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
Fundamentals
Contents of Instruction Set Architecture
Registers
Class of ISA
Memory addressing Byte addressing
Addressing modes
Types and sizes of operands Operations
Control flow instructions
Encoding an ISA
Fixed length and variable length
Fundamentals
Addressing Modes
Example Instruction
Register Immediate Displacement
Add R4, #3
Add R4, 100(R1)
R4 <- R4 + R3
R4 <- R4 + 3
R4 <- R4 + M[100+R1]
Register deferred
Add R4,(R1)
R4 <- R4 + M[R1]
Add R3, (R1 + R2)
R3 <- R3 + M[R1+R2]
Memory deferred
Add R1, (1001) Add R1, @(R3)
R1 <- R1 + M[1001] R1 <- R1 + M[M[R3]]
Auto- increment
Add R1, (R2)+
Add R1,-(R2)
Add R1, 100(R2)[R3]
R1 <- R1 +M[R2] R2 <- R2 + d
Auto- decrement
R1 <- R1 + M[R2]
R1<-R1+M[100+R2+R3*d]
Fundamentals
Example ISAs
ARMv1-v7
ARMv7 extensions Thumb-2
IBM 8100
instructions)
SSE4 – All streaming SIMD extensions 4 instructions (both
NEON – media acceleration technology[8]
x86 extensions
FPU (x87) – Floating-point-unit (FPU) instructions
MMX – MMX SIMD instructions
MMX Extended – extended MMX SIMD instructions
SSE – streaming SIMD extensions (SSE) instructions (70
VFP v3 HP 2100
instructions)
SSE2 – streaming SIMD extensions 2 instructions (144 new
instructions)
SSE3 – streaming SIMD extensions 3 instructions (13 new
IBM Series
SSE4.1 and SSE4.2)
SSE4a – streaming SIMD extensions 4a (AMD)
SSE5 – streaming SIMD extensions 5 (170 instructions)
XSAVE – XSAVE instructions
AVX – advanced vector extensions instructions
FMA – fused multiply-add instructions
AES – Advanced Encryption Standard instructions
CLMUL – Carry-less mtiply (PCLMULQDQ) instruction
3DNow![citation needed] – 3DNow! instructions (21
Power Architecture POWER
instructions)
3DNow! Extended – extended 3DNow! instructions (5
PowerPC AS
instructions)
Cyrix – Cyrix-specific instructions
AMD – AMD-specific instructions (older than K6)
SMM – System management mode instructions
SVM – Secure virtual machine instructions
PadLock – VIA PadLock instructions
instructions)
SSSE3 – supplemental streaming SIMD extensions (16
instructions)
SSE4.1 – streaming SIMD extensions 4, Penryn subset (47
instructions)
SSE4.2 – streaming SIMD extensions 4, Nehalem subset (7
Fundamentals
MIPS Instruction Fields
MIPS fields are given names to make them easier to refer to
rd 5-bits shamt 5-bits funct 6-bits
opcode that specifies the operation
register file address of the first source operand register file address of the second source operand register file address of the result’s destination shift amount (for shift instructions)
function code augmenting the opcode
op rs rt rd shamt funct
Fundamentals
MIPS Addressing Modes Examples
1. Register addressing
op rs rt rd funct
Register word operand
2. Immediate addressing
op rs rt operand
3. Base (displacement) addressing
op rs rt offset base register
word or byte operand
4. PC-relative addressing
op rs rt offset Program Counter (PC)
branch destination instruction
Fundamentals
Microarchitecture
microarchitecture, also called computer organization, is the way a given ISA is implemented on a processor.
A given ISA may be implemented with different microarchitectures.
The microarchitecture includes the constituent parts of the processor and how these interconnect and interoperate to implement the ISA.
Intel i80286 microarchitecture
Fundamentals
Microarchitectural Concepts
Instruction pipelining Hierarchical memory organization Cache
Cache coherence
Branch prediction
Superscalar
Out-of-order execution
Register renaming Multiprocessing and multithreading
Fundamentals
Computer Architecture in General
When we construct a building numerous practical considerations need to be taken into account:
• Available materials
• Worker skills • Budget
Similarly, Computer Architecture is about working within constraints:
• What will the market buy?
• Cost/Performance
• Tradeoffs in materials and processes
Fundamentals
Genuine Computer Architecture
Genuine definition: Designing the organization and hardware to meet goals and functional requirements
The implementation of a computer involves two components
1) organization (or microarchitecture)
2) hardware: detailed logic design and packaging
In this course, computer architecture covers all the three:
(2) microarchitecture or organization, and (3) hardware
Fundamentals Trends in Technology Agenda
Introduction
Classes of Computers
Defining Computer Architecture
1.4 Trends in Technology
Trends in Power and Energy in ICs Trends in Cost
Dependability
Measuring Performance
Quantitative Principles
Fundamentals
Rapid Changes in Technology
If an ISA is successful, it should survive rapid changes in implementation technology
The designer of a computer should be aware of such rapid changes
Five implementation technologies are critical to model implementations of computer design
Fundamentals
Five Critical Implementation Techs
Integrated circuit logic technology
• As Moore’s law, the transistors count doubles every 18-24 months
Semiconductor DRAM
• The capacity per DRAM chip doubles every two to three years
Semiconductor Flash
• Capacity doubles roughly every two years • Capacity doubles every three years
• Bandwidth increases quickly
Magnetic disk technology
Network technology
Fundamentals
ENIAC - background
Electronic Numerical Computer
Eckert and Mauchly, University of Pennsylvania
Purpose: Trajectory tables for weapons
(1907-1980) & J. (1919-1995)
Started 1943, Finished 1946
Too late for war effort Used until 1955
Fundamentals
ENIAC - details
Decimal (not binary)
20 accumulators of 10 digits
Programmed manually by switches
18,000 vacuum tubes
15,000 square feet
140 kW power consumption
5,000 additions per second
Fundamentals
Transistors – the 2nd generation
Replaced vacuum tubes
Advantages Smaller
Less heat dissipation
First working transisto
Solid state device
Made from Silicon (Sand)
Invented 1947 at Bell Labs
, and at Bell Labs, 1948.
Fundamentals
Transistor Based Computers
Second generation machines
NCR & RCA produced small transistor machines
Produced IBM 7000
DEC - 1957 Produced PDP-1
Fundamentals
Microelectronics – 3rd Generation Literally - “small
electronics”
A computer is made up of gates, memory cells and interconnections
These can be manufactured on a semiconductor
e.g. silicon wafer
Fundamentals Trends in Technology Agenda
Introduction
Classes of Computers
Defining Computer Architecture
1.4 Trends in Technology
Trends in Power and Energy in ICs Trends in Cost
Dependability
Measuring Performance
Quantitative Principles
Fundamentals Trends in Technology
Two Metrics: Bandwidth and Latency
Bandwidth or throughput
• Total work done in a given time
• 10,000-25,000X improvement for processors
• 300-1200X improvement for memory and disks
Latency or response time
• Time between start and completion of an event • 30-80X improvement for processors
• 6-8X improvement for memory and disks
Fundamentals
Milestones for
1) microprocessors,
2) memory,
3) networks, and
Fundamentals Trends in Technology Bandwidth and Latency
Latency improved 6x to 80x
Throughput improved 300x to 25,000x
Bandwidth has outpaced latency!
Log-log plot of bandwidth and latency milestones
Fundamentals Trends in Technology Feature Size and Its Impacts
Feature size is the minimum size of transistor or wire in x or y dimension
Integration density scales quadratically with feature size
10 microns in 1971 to .032 microns in 2011 Wire delay does not scale well with feature
Wire delay is proportional to the product of resistance and capacitance
Fundamentals Trends in Power Agenda
Introduction
Classes of Computers
Defining Computer Architecture
Trends in Technology
1.5 Trends in Power and Energy in ICs Trends in Cost
Dependability
Measuring Performance
Quantitative Principles
Fundamentals Trends in Technology Power and Energy
Problem: Get power in, get power or heat out
Thermal Design Power (TDP)
Characterizes sustained power consumption
Used as target for power supply and cooling system
Lower than peak power, higher than average power consumption
Clock rate can be reduced dynamically to limit power consumption
Fundamentals Trends in Technology Dynamic Energy and Power
Dynamic energy per transistor
Used for a transistor switching from 0 -> 1 or 1 -> 0 1⁄2 x Capacitive load x Voltage2
The capacitive load is a function of number of transistors connected to output and the technology which determines the capacitance of wires and transistors
Dynamic power per transistor
1⁄2 x Capacitive load x Voltage2 x Frequency switched
Voltage is the key
The voltage of processors has become lower and lower
Fundamentals
Trends in Technology
Intel 80386 consumed ~ 2 W
3.3 GHz Intel Core i7
consumes 130 W
Heat must be dissipated from 1.5 x 1.5 cm chip
This is the limit of what can be cooled by air
Fundamentals
Power vs. Energy
Power is defined as the energy consumed in a unit time
Question: Which metric should we use to compare processors: power or energy?
It is better to use energy used for a specific task
Energy is tied to the a specific task and the time required for that task
Fundamentals Trends in Technology Techniques for Reducing Power
Turn off the clock
• Turn off the clock of inactive modules • In periods of low activity, operate at
Dynamic Voltage- Frequency Scaling
lower frequency
• In low power states, accesses are not
Low power state for DRAM, disks
Overclocking, turning off cores
• To turn off other cores and just run on a few cores
Fundamentals Trends in Technology Static Power
Cause: The leakage current flows even when a transistor is off
Powerstatic = Currentstatic x Voltage Scales with number of transistors
To reduce static power: power gating, turning off the power supply
程序代写 CS代考 加微信: powcoder QQ: 1823890830 Email: powcoder@163.com