° Pls Read Pro Forma: Course Objective
° Pls Read Pro Forma: Course Objective
Comp Arch is the design of the abstraction layer Comp Arch = Instruction Set Arch + Machine Organization
Computer Architect thinks about high-level components, how they fit together, how they work together to deliver performance. building architect
Hardware Designer thinks about circuits, components, timing, functionality, ease of debugging construction engineer Machine Orga hw comp Logic Designers View
Design of IS
ComputerInterface Compiler/System View
Low power/energy
Energy in (battery life, cost of electricity) Energy out (cooling and related costs) Cyclic problem, very much a problem today
Reliable
Does it continue to perform correctly? Hard fault vs transient fault Google story - memory errors and sun spots Space satellites vs desktop vs server reliability
High performance
Fast is only meaningful in the context of a set of important tasks Not just Gigahertz truck vs sports car analogy Impossible goal: fastest possible design for all programs
Technology
Material for development
Programming Languages
Applications
Scientific;Commercial; Desktop; Mobile; Embedded; Deeply Embedded
Operating Systems
History
Computer Architecture: Instruction Set Design Machine Organization Implementation
Flash: optimized for density, cost (used for storage) Increasing opportunities for integrating multiple technologies
Technology Computers get 10x faster, smaller, cheaper every 5-6 years!
A 10x quantitative change is qualitative change Plane is 10x faster than car, and fundamentally different travel mode
DRAM: density: ~60%, speed: ~4% Disk: density: ~60%, speed: ~10% (non-transistor) Big improvements in flash memory and network bandwidth, too
Structure & Function Structure is the way in which components relate to each other Function is the operation of individual components as part of the structure
Functional View
Peripherals
Computer
Central Processing Unit Main Memory
Computer
Systems Interconnection
Input Output
Communication lines
CPU
Computer
I/O System Bus Memory CPU
Registers
Control Unit
Control Unit
CPU
ALU Internal Bus Registers Control Unit
Control Memory
Instr. Set Proc. I/O system Datapath & Control Digital Design Circuit Design
Layout
Hardware
levels of abstraction Under a rapidly changing set of forces Design, Measurement, and Evaluation
Levels of abstraction Important concept in comp arch is the use of many levels of abstractions. Every level of abstraction contents
an interface (outside view of what it does), and an implementation (inside view of how it works) Interface
A B A Y NAND NAND Y 2 x 1 Mux
Implementation
B
S
NAND
Measurement and evaluation Comp Arch is iterative process -- search for design possiblity -- at any level Accurate measurement and evaluation is crucial to making the right design decisions Creativity
Cost / Performance Analysis
Good Ideas
Bad Ideas
Mediocre Ideas
Level of Representation
temp = v[k]; High Level Language Program Compiler Assembly Language Program Assembler Machine Language Program
0000 1010 1100 0101 1001 1111 0110 1000
v[k] = v[k+1];
v[k+1] = temp;
lw $15, lw $16, sw sw
1100 0101 1010 0000 0110 1000 1111 1001
Computer Workstation Design Target: 25% of cost on Processor 25% of cost on Memory Rest on I/O devices, power supplies, box Processor Control Datapath Memory Devices
Input
Output
Networks