You are on page 1of 5

UNIT I:

Fundamentals of Computer Design:Fundamentals of Computer design, Changing


faces of computing and task of computer designer, Technology trends, Cost price
and their trends, Measuring and reporting performance, Quantitative principles o
f computer design, Amdahls law. Instruction set principles and examplesIntroduction, Classifying instruction set-MEmory addressing-type and size of
operands, Operations in the instruction set.
UNIT II:
Pipelines:Introduction, Basic RISC instruction set, Simple implementation of RISC
instruction set, Classic five stage pipe lined RISC processor, Basic performance
issues in pipelining, Pipeline hazards, Reducing pipeline branch penalties.
Memory Hierarchy Design:Introduction, Review of ABC of cach
cache miss penalty, Virtual memory.
UNIT III: Instruction Level Parallelism the Hardware Approach:
Instruction-Level parallelism, Dynamic
scheduling, Dynamic scheduling using Tomasulos approach, Branch prediction, high
performance instruction delivery-hardware based speculation. ILP Software
Approach: Basic compiler level techniques, Static branch prediction, VLIW approach,
Exploiting ILP, Parallelism at compile time, Cross cutting issues Hardware verses Software.
UNIT IV:
Multi Processors and Thread Level Parallelism:Multi Processors and Thread level
Parallelism-Introduction, Characteristics of application domain, Systematic shared
memory architecture, Distributed shared memory architecture, Synchronization.
UNIT V:
Inter Connection and Networks:Introduction, Interconnection network media,
Practical issues in interconnecting networks, Examples of inter connection, Cluster,
Designing of clusters. Intel Architecture:Intel IA-64 ILP in embedded and mobile
markets Fallacies and pit falls.
TEXT BOOKS:
1.
John L. Hennessy, David A. Patterson
Computer Architecture: A Quantitative Approach, 3rd
Edition, An Imprint of Elsevier

Tasks of a Computer Designer


(1) Determine the attributes important to the new machine.
(2) Design a machine to maximize performance while staying within cost constraints.
(3) Some important design aspects:
instruction set design
functional requirements
logic design
implementation
(4) Design optimization involves a range of items
from Compilers to Operating System to Logic
Design and Packaging.

Fundamentals of Computer Design


Huang - Spring 2008 CSE 340
4 Computer Architecture
Covering three aspects of computer design
Instruction Set Architecture
:
Programmer visible instruction sets
Boundary between software and hardware
Organization
:
High-level aspects of computer design
e.g.
CPU internal organization
Bus structure
Memory organization
Hardware
:
Implementation specifics of a machine
e.g. Logic desi
gn and Packing technology
Fundamentals of Computer Design
Huang - Spring 2008 CSE 340
5 Technology Trends
Address space growth.
eg.
MS DOSs 640K to current systems Gbytes
Pipelining - Instruction and Data.
Cache use at all levels.
Compiler technology - exploring underlying
architectural features.
High-level languages - OOPs, Structured
programming.
Software development environment.
Fundamentals of Computer Design
Huang - Spring 2008 CSE 340
6 Technology Trends
IC Technology:
Transistor count on a chip increases 55% per year.
Semiconductor DRAM:
Density increases 40-60% per year.
Cycle time (slowly) decreases by one-third in ten years.
Bandwidth per chip increases about twice as fast as latency
decreases.
Magnetic disk technology:
Density increases 100% per year recently.
Access time improved by one-third in ten years.
Network Technology:
1 Gb Ethernet becomes available, leading to a faster
internet structure. High

er bandwidth is made possible


by optical media and faster switching hardware.
Fundamentals of Computer Design
Huang - Spring 2008 CSE 340
7 Cost and Trends in Cost
What is
cost
?
What is
price
?
Impacts on cost:
Time, Volume,
and
Commodization
Time:
As time progresses, yield impr
ovement brings down the cost.
Volume
As consumption increases, cost comes down. (mass produc
tion)
Commodization:
Competition among producers brings prices down.
Fundamentals of Computer Design
Huang - Spring 2008 CSE 340
8 Measuring and Reporting
Performance
Performance =1/ (Execution Time).
Measuring Performance:
Elapsed time
System CPU time
Unix
time
command: 90.7u 12.9s 2.39 65%
(1) CPU time for program
(2) OS time for program
(3) Elapsed time
(4) % (CPU time/ Elapsed time)
CPU Performance:
user CPU time on unloaded system.
System performance:
Elapsed time on unloaded system.
Fundamentals of Computer Design
Huang - Spring 2008 CSE 340
9 Measuring and Reporting
Performance
(Contd.)
What do we test the system with?
Synthetic benchmarks: Dhrystone and Whetstone

Realworld programs: TeX, Spice, gcc, grep


Kernels (part of): Linpack, Livermore loops
Toy benchmarks: Quicksort, 8-Queen/n-Queen
Benchmark suites
Fundamentals of Computer Design
Huang - Spring 2008 CSE 340
10 Quantitative Principles
Most important principle in computer design:
- Make the common case fast (optimize for the normal
case)
- Identify the frequently requested case(s)
- Estimate the performance improvement by making these
cases faster
- Carry out the optimization, if satisfactory
Amdahls Law:
Speedup =
Perf. with enha
ncement / Perf. without enhancement
* Enhancement is any change/modification in the design and
realization of a component.
* Speedup tells us how much fast
er a task will run using the
enhancement as opposed to the original machine

You might also like