Computer System Design - Computer Architecture | ECEN 4243, Assignments of Computer Architecture and Organization

Material Type: Assignment; Professor: Johnson; Class: COMPUTER ARCHITECTURE; Subject: Electrical and Computer Engineering ; University: Oklahoma State University - Stillwater; Term: Spring 2008;

Typology: Assignments

Pre 2010

Uploaded on 11/08/2009

koofers-user-min
koofers-user-min 🇺🇸

10 documents

1 / 5

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
ECEN 4243 Computer Architecture
COMPUTER SYSTEM DESIGN January 28, 2008 page 1 of 5
COMPUTER SYSTEM DESIGN
Speed & Cost. Speed measure: how fast you get the service you desire (includes hard-
ware and software)
Cost measure: acquisition, training and maintenance costs (includes hardware and soft-
ware)
Speed/Cost Trade-off. Migrating functionality to hardware:
Increases speed
but
increases cost
Migrating functionality to software:
decreases cost
but
decreases speed
moral: unless functionality significantly improves performance (i.e. speed), don’t put
it in hardware (to reduce cost).
Reduced Instruction Set Computer (RISC)
vs.
Complex Instruction Set Computer (CISC)
No sharp dividing line!
Not obvious which is best for reducing program execution time!
RISC approach does seem to reduce hardware cost (at least of processor)
RISC processors dominate modern processor design since they give good performance at
reduced hardware cost.
RISC CISC
smaller number
of instructions
larger number of
instructions
simple fast instructions complicated slower
instructions
more instructions
in program
less instructions
in program
pf3
pf4
pf5

Partial preview of the text

Download Computer System Design - Computer Architecture | ECEN 4243 and more Assignments Computer Architecture and Organization in PDF only on Docsity!

COMPUTER SYSTEM DESIGN

Speed & Cost. Speed measure: how fast you get the service you desire (includes hard- ware and software)

Cost measure: acquisition, training and maintenance costs (includes hardware and soft- ware)

Speed/Cost Trade-off. Migrating functionality to hardware:

Increases speed but increases cost

Migrating functionality to software:

decreases cost but decreases speed

moral: unless functionality significantly improves performance (i.e. speed), don’t put it in hardware (to reduce cost).

Reduced Instruction Set Computer (RISC) vs. Complex Instruction Set Computer (CISC)

- No sharp dividing line! - Not obvious which is best for reducing program execution time! - RISC approach does seem to reduce hardware cost (at least of processor)

RISC processors dominate modern processor design since they give good performance at reduced hardware cost.

RISC CISC

- smaller number of instructions - larger number of instructions - simple fast instructions complicated slower instructions - more instructions in program - less instructions in program

Performance Driven Design

Moral: computer design is application dependent

Application for study in this class: General purpose computing for programs written in a high level language (HLL).

Performance Measurement General definition:

which we want to maximize. Alternatively, we can choose to minimize the inverse of speed:

CPU time can be broken into three major components (see p. 249):

Service

desired

 by user

performance

 requirements

  instruction

set

 complexity

computer

 design 

instruction

set

operating system,

compilers, linkers,

user programs

Software

Central Processing

Unit (CPU), memory,

input/output (I/O)

Hardware

We will study what typi- cal software requires.

We will cover a detailed example of a single instruction set and hardware design.

speed

programs executed

time

CPUtime

time

programs executed

CPUtime

instructions

programs executed

  clock cycles

instruction

  time

clock cycles

= ^ 

= ( IC) ( CPI) ( T)

- CPI depends on what program is executed. - CPI is improved most by improving CPI i for the instructions with the largest IC i.

Benchmarks. Performance depends on what program is being executed. In order to com- pare the performance of different computer designs, we really should compare designs running the same “benchmark” programs.

But the different computers will have different instruction sets, so what do we mean by the same program? We mean programs written in high level languages like FORTRAN, C, or COBOL.

Benchmarks measure performance of the compiler + hardware combination.

Commonly used set of benchmarks: fig. 4.5, p.

Results are usually reported individually for each of the benchmark programs. This is more meaningful than using average performance.

For example, the designers of CPU2, above, get a low average CPU time by tuning their design to run very fast on prog3, but CPU1 might be the better general purpose machine.

Amdahl’s Law. Suppose a part of the computer is changed to be faster than originally designed.

Suppose further that a FracTimeenhanced fraction of the time on the old design, the new

design can use the new hardware that has a speedup of Speedupenhanced. The rest of the

time the new design uses the same hardware with the same speed. Then,

prog

CPU time

prog2 prog3 prog4 prog

CPU

CPU

Speedup overall

Speed new

Speed old

CPUtime old

CPUtime new

CPUtime old FracTime enhanced ×CPUtime old

+( 1 - FracTime enhanced) ×CPUtime old

which is Amdahl’s law (p. 267). Amdahl’s law shows that speeding up the hardware is only effective when the improved hardware can be used a large fraction of the time. This is equivalent to improving the instructions with the highest instruction count or frequency.

CPUtime new FracTime enhanced

CPUtime old

Speedup enhanced

×--------------------------------------------

+( 1 - FracTime enhanced) ×CPUtime old

Speedup overall

FracTime enhanced

Speedup enhanced

-------------------------------------------- 1 - FracTime

+ enhanced

=^ ------------------------------------------------------------------------------------------------------