











Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Material Type: Notes; Class: Computer Systems Architecture; Subject: Computer Science; University: George Mason University; Term: Unknown 1989;
Typology: Study notes
1 / 19
This page cannot be seen from the preview
Don't miss anything!












1
Why is some hardware better than others for different programs?
What factors of system performance are hardware related? (e.g., Do we need a new machine, or a new operating system?)
How does the machine's instruction set affect performance?
3
Airplane Passengers Range (mi) Speed (mph)
Boeing 737-100 101 630 598 Boeing 747 470 4150 610 BAC/Sud Concorde 132 4000 1350 Douglas DC-8-50 146 8720 544
Plane
Boeing 747
BAD/Sud Concodre
Speed
610 mph
1350 mph
DC to Paris
6.5 hours
3 hours
Passengers
Throughput (pmph)
7
PerformanceX = 1 / Execution timeX
PerformanceX / PerformanceY = n
A 200 Mhz. clock has a cycle time
time
seconds program
= cycles program
× seconds cycle
× 109 = 5 nanoseconds
9
So, to improve performance (everything else being equal) you can either
________ the # of required cycles for a program, or
________ the clock cycle time or, said another way,
________ the clock rate.
seconds program
= cycles program
× seconds cycle
This assumption is incorrect,
different instructions take different amounts of time on different machines.
Why? hint: remember that these are machine instructions, not lines of C code
time
1st instruction2nd instruction3rd instruction4th 5th6th ...
13
Let C = number of cycles Execution time = C X clock cycle time = C/ clock rate
On computer A, C/ 400 MHz = C/ 400 X 10^6 = 10 seconds => C = 400 X 10^7
On computer B, number of cycles = 1.2 X C What should be B’s clock rate so that our favorite program has smaller execution time? 1.2 X C/ clock rate < 10 => 1.2 X 400 X 10^7 / 10 < clock rate I.e. clock rate > 480 MHz
15
Consider a program with 5 instructions
CPI 11/5 = 2.
Total 11
5 1
4 2
3 4
2 2
1 2
Instruction #cycles
cycle
seconds
instruction
cycles
program
instructions
program
seconds cpu time = = × ×
Clock cycle time
Instruction CPI Count Program X X
Technology X
Organization X X
Instruction X X Set
Compiler X X
19
"instruction frequency"
CPI = (CPU Time × Clock Rate) / Instruction Count = Clock Cycles / Instruction Count
“Average cycles per instruction”
CPU time Clockcycletime ( ) j 1
j
n
=
1
j j j
n
j
j
=
21
Suppose we have two implementations of the same instruction set architecture (ISA).
For some program,
Machine A has a clock cycle time of 10 ns. and a CPI of 2. Machine B has a clock cycle time of 20 ns. and a CPI of 1.
What machine is faster for this program, and by how much?
If two machines have the same ISA which of our quantities (e.g., clock rate, CPI, execution time, # of instructions) will always be identical?
25
The first compiler's code uses 5 million Class A instructions, 1 million Class B instructions, and 1 million Class C instructions.
The second compiler's code uses 10 million Class A instructions, 1 million Class B instructions, and 1 million Class C instructions.
ForsequenceB,executiontime 0.15secondsbutMIPS 80!!!
70 107 10
100 10 MIPS
1 7
Executiontime ( 5 1 1 ) 10 10
7
10 ( 5 1 1 ) 10
CPI (5^1121 3)^10
ForsequenceA,
CPI 10
clockrate IC CPI 10
IC clockrate IC CPIclockcycletime 10
IC
Executiontime 10
MIPSMillionsofinstructionspersecond NumberofInstructions
6
6
6
6
6
6
6 6 6
6
= =
= ×
= ×
= ++ × × ×
= ++ ×
= ×+× +× ×
×
= × ×
= × × × ×
=
×
= =
27
program while P do if Q then A else B fi if R then break fi C od end
Exit
**1. Find “basic blocks” of program
31
0
1 00
2 00
3 00
4 00
5 00
6 00
7 00
8 00
g cc e spr ess o sp ice do du c na sa7 li e q ntottma trix 30 0 fp p pp to mca tv Be n chm ark C om pi le r En h an ced co mpi le r
SPEC performance ratio
33
Benchmark Description go Artificial intelligence; plays the game of Go m88ksim Motorola 88k chip simulator; runs test program gcc The Gnu C compiler generating SPARC code compress Compresses and decompresses file in memory li Lisp interpreter ijpeg Graphic compression and decompression perl Manipulates strings and prime numbers in the special-purpose programming language Perl vortex A database program tomcatv A mesh generation program swim Shallow water model with 513 x 513 grid su2cor quantum physics; Monte Carlo simulation hydro2d Astrophysics; Hydrodynamic Naiver Stokes equations mgrid Multigrid solver in 3-D potential field applu Parabolic/elliptic partial differential equations trub3d Simulates isotropic, homogeneous turbulence in a cube apsi Solves problems regarding temperature, wind velocity, and distribution of pollutant fpppp Quantum chemistry wave5 Plasma physics; electromagnetic particle simulation
Does doubling the clock rate double the performance? Can a machine with a slower clock rate have better performance?
Clock rat e (MHz)
SPECint
2
0
4
6
8
3
1
5
7
9
10
50 100 150 200 250 Pentium Pentium Pro
Clock rate (M Hz) Pentium
SPECfp
Pentium Pro
2
0
4
6
8
3
1
5
7
9
10
50 100 150 200 250