Computer Abstractions and Technology
Computer Abstractions and Technology
#$%$ &ntroduction
Underpinned by Moores Law Computers in automobiles Cell phones Human genome project orld ide eb !earch "ngines
Chapter 1 Computer Abstractions and Technology 2
Classes of Computers
'esktop computers
(eneral purpose) variety of software !ubject to cost*performance tradeoff +etwork based High capacity) performance) reliability ,ange from small servers to building si-ed Hidden as components of systems !tringent power*performance*cost constraints
!erver computers
"mbedded computers
Understanding Performance
.lgorithm
'etermines number of operations e/ecuted 'etermine number of machine instructions e/ecuted per operation 'etermine how fast instructions are e/ecuted 'etermines how fast &*1 operations are e/ecuted Chapter 1 Computer Abstractions and Technology 6
.pplication software
ritten in high4level language Compiler5 translates HLL code to machine code 1perating !ystem5 service code
!ystem software
Handling input*output Managing memory and storage !cheduling tasks 6 sharing resources
Hardware
High4level language
Level of abstraction closer to problem domain Provides for productivity and portability 0e/tual representation of instructions 8inary digits 2bits3 "ncoded instructions and data Chapter 1 Computer Abstractions and Technology 8
.ssembly language
Hardware representation
Components of a Computer
The BIG Picture
&nput*output includes
'isplay) keyboard) mouse Hard disk) C'*':') flash ;or communicating with other computers
!torage devices
+etwork adapters
natom! of a Computer
1utput device
+etwork cable
&nput device
&nput device
natom! of a Mouse
1ptical mouse
8uttons 6 wheel
'atapath5 performs operations on data Control5 se=uences datapath) memory) %%% Cache memory
(stractions
The BIG Picture
Hide lower4level detail 0he hardware*software interface 0he &!. plus system software interface 0he details underlying and interface
&mplementation
Loses instructions and data when power off Magnetic disk ;lash memory 1ptical disk 2C',1M) ':'3
+etworks
ithin a building
ide area network 2 .+5 the &nternet ireless network5 i;i) 8luetooth
Technolog! Trends
',.M capacity
#$%> Performance
*efining Performance
,esponse time
How long it takes to do a task 0otal work done per unit time
0hroughput
Relative Performance
$Cs on .) $@s on 8 "/ecution 0ime8 * "/ecution 0ime. F $@s * $Cs F $%@ !o . is $%@ times faster than 8
Chapter 1 Computer Abstractions and Technology 22
"lapsed time
CPU time
Comprises user CPU time and system CPU time 'ifferent programs are affected differently by CPU and system performance
CPU Clocking
CPU Time
CPU 0ime = CPU Clock Cycles Clock Cycle 0ime CPU Clock Cycles = Clock ,ate
Performance improved by
,educing number of clock cycles &ncreasing clock rate Hardware designer must often trade off clock rate against cycle count
Chapter 1 Computer Abstractions and Technology 25
.im for As CPU time Can do faster clock) but causes $%7 J clock cycles
How fast must Computer 8 clock beD Clock Cycles8 $%7 Clock Cycles . Clock ,ate8 = = CPU 0ime 8 As Clock Cycles . = CPU 0ime . Clock ,ate . = $Cs 7(H- = 7C $C ? $%7 7C $C ? 7> $C ? Clock ,ate8 = = = >(HAs As Chapter 1 Computer Abstractions and Technology 26
'etermined by program) &!. and compiler 'etermined by CPU hardware &f different instructions have different CP&
CP% ,$ample
Computer .5 Cycle 0ime F 7@Cps) CP& F 7%C Computer 85 Cycle 0ime F @CCps) CP& F $%7 !ame &!. hich is faster) and by how muchD
CPU 0ime . 8 = &nstruction Count CP& Cycle 0ime . . = & 7%C 7@Cps = & @CCps . is fasterE = &nstruction Count CP& Cycle 0ime 8 8 = & $%7 @CCps = & ACCps
8 = & ACCps = $%7 Eby this much CPU 0ime & @CCps . Chapter 1 Computer Abstractions and Technology 28
n Clock Cycles &nstruction Count i CP& = = CP&i &nstruction Count i=$ &nstruction Count
,elative fre=uency
CP% ,$ample
8 7 $ $
C < 7 $
!e=uence $5 &C F @
!e=uence 75 &C F A
Clock Cycles Clock Cycles F 7J$ L $J7 L 7J< F >J$ L $J7 L $J< F $C F? .vg% CP& F ?*A F $%@ .vg% CP& F $C*@ F 7%C Chapter 1 Computer Abstractions and Technology 3!
Performance )ummar!
The BIG Picture
&nstructions Clock cycles !econds CPU 0ime = Program &nstruction Clock cycle
Performance depends on
.lgorithm5 affects &C) possibly CP& Programming language5 affects &C) CP& Compiler5 affects &C) CP& &nstruction set architecture5 affects &C) CP&) 0c
Chapter 1 Computer Abstractions and Technology 31
Power Trends
all
Reducing Power
N@O of capacitive load of old CPU $@O voltage and $@O fre=uency reduction
Pnew Cold C%N@ 2:old C%N@37 ;old C%N@ > = = C%N@ = C%@7 7 Pold Cold :old ;old
Uniprocessor Performance
Multiprocessors
Multicore microprocessors
More than one processor per chip Compare with instruction level parallelism
Hard to do
Programming for performance Load balancing 1ptimi-ing communication and synchroni-ation Chapter 1 Computer Abstractions and Technology 35
Manufacturing %Cs
M* #pteron -. Wafer
H75 <CCmm wafer) $$B chips) ?Cnm technology H>5 >@nm technology
afer cost and area are fi/ed 'efect rate determined by manufacturing process 'ie area determined by architecture and circuit design Chapter 1 Computer Abstractions and Technology 38
!upposedly typical of actual workload 'evelops benchmarks for CPU) &*1) eb) E
!P"C CPU7CCA
(eometric mean
)P,Cpower4ss5.//6 for -1
0arget Load O $CCO ?CO NCO BCO ACO @CO >CO <CO 7CO $CO CO 1verall sum SssjQops* Spower Performance 2ssjQops*sec3 7<$)NAB 7$$)7N7 $N@)NC< $A<)>7B $>C)$AC $$N)<7> ?7C)<@ BC)@CC >B)$7A 7<)CAA C $)7N<)@?C .verage Power 2 atts3 7?@ 7NA 7B@ 7A@ 7@A 7>A 7<< 777 7CA $NC $>$ 7)AC@ >?<
How much improvement in multiply performance to get @J overallD NC Cant be doneT 7C = + 7C n Chapter 1 Computer Abstractions and Technology 43
.t $CCO load5 7?@ .t @CO load5 7>A 2N<O3 .t $CO load5 $NC 2A$O3 Mostly operates at $CO K @CO load .t $CCO load less than $O of the time
&nstruction count M&P! = "/ecution time $C A &nstruction count Clock rate = = A &nstruction count CP& CP& $C A $C Clock rate
Concluding Remarks
Cost*performance is improving
'ue to underlying technology development &n both hardware and software 0he hardware*software interface