Structuur en organisatie van computersystemen: deel 2

advertisement
Structuur en organisatie
van computersystemen:
deel 2
Yolande Berbers
200A 03.20
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 1
praktische organisatie

lessenschema: 14 lessen

dinsdag 26 en woensdag 27 maart
paas-’vakantie’

dinsdag 16 en woensdag 17 april

dinsdag 23 en woensdag 24 april
pauze: ik zit een week in het buitenland

dinsdag 7 en woensdag 8 mei

dinsdag 14 en woensdag 15 mei

dinsdag 21 en woensdag 22 mei

dinsdag 10.35-12u35, S01.03

woensdag 10.35-12u35, S01.03
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 2
doelstellingen van de cursus

direct doel
 inzicht


in
huidige tendensen in computerarchitectuur
– achtergrond
– algemene kenmerken
– invloed voor de software
huidige tendensen in basissoftware
– besturingssystemen
– compilers
 specifieke
aandacht voor
snelheid
 parallellisme (op alle niveaus)
 via case studies kennis maken met belangrijke architecturen

Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 3
doelstellingen van de cursus (vervolg)

verder doel


studenten voorbereiden op een veelvoorkomende latere job:
kiezen van gepaste apparatuur en basisprogrammatuur

voor een bepaalde omgeving

voor een bepaald doel

wat voor soort producten zijn er op de markt

wat moet je wel en niet geloven van de verkopers
‘materiaal-cursus’: niet afstuderen met alleen theoretische
kennis
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 4
doelstellingen van de cursus (vervolg)

verder doel (vervolg)

na deze cursus moeten studenten



Yolande Berbers
offertes voor computersystemen met kennis van zaken
kunnen vergelijken
technische artikels over computerarchitecturen kunnen
begrijpen
de vooruitgang in computerarchitectuur in de komende
jaren gemakkelijk kunnen volgen
Structuur en Organisatie van Computersystemen: deel 2
slide 5
doelstellingen van de cursus (vervolg)

verhouding hardware / software

de cursus beschrijft de ‘structuur en organisatie van
computersystemen’ voor zover die van belang is voor een
software specialist
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 6
karakteristieken van de cursus

een domein dat in continue en snelle beweging is
(geen historisch overzicht maar huidige state-of-the-art)



breed domein
moeilijkheidsgraad: niet zo hoog
de cursus brengt
nieuwe methoden, technieken, begrippen, modellen, ...
analytisch
 nieuwe terminologie
beschrijvend



de cursus wil praktisch zijn
vergelijkbaar met SOCS1
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 7
overzicht van de cursus









inleiding tot computerarchitectuur (H1)
performantie (H1)
instructie-set principes, RISC-architecturen (H2)
pipelining (H3)
parallellisme op het instructieniveau (H4)
geheugen-hiërarchie (H5)
parallelle machines (slides)
niet-traditionele systemen (slides, kopies)
een aantal case studies (slides)
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 8
tekstboeken

Computer Architecture. A Quantitive Approach
(2nd edition)
David A. Patterson, John L. Hennessy
Morgan Kaufmann Publishers, 1996, ISBN 1-55860-329-8
boek richt zich in de eerste plaats tot ontwerpers van systemen
 wij zullen die elementen benadrukken die ons helpen de
huidige systemen te begrijpen en te evalueren


Advanced Computer Architectures. A Design Space
Approach Deszo Sima, Terence Fountain, Peter Kacsuk
Addison Wesley, 1997, ISBN 0-201-42291-3

gebruikt voor het deel over parallelle machines
en niet-traditionele systemen
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 9
slides


www.cs.kuleuven.ac.be/~yolande/slides/socs2.html
slides worden continu up to date gehouden
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 10
plaats van cursus in curriculum


directe opvolger van SOCS1
steunt nogal op besturingssystemen
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 11
vorm van het examen




mogelijkheid tot alternatief examen (zie verder)
gesloten boek examen
mondeling met schriftelijke voorbereiding
vraag 1
peilt naar inzicht in de cursus
 overzichtsvraag
 combinatie van 2 of meer (hoofd)stukken


vraag 2


peilt naar diepte-kennis van een bepaald stuk cursus
vraag 3
peilt naar terminologie-kennis
 bestaat uit meerdere kleine vragen

Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 12
van belang voor het examen

‘vergelijk x en y’ betekent niet bespreek achter elkaar
eerst x en dan y, maar bespreek x en y zodat ze
vergelijkbaar worden (dus volgens hetzelfde stramien)
en vergelijk ze dan

cijfers:
Yolande Berbers
orde van grootte zijn van belang
exacte cijfers niet
Structuur en Organisatie van Computersystemen: deel 2
slide 13
mogelijkheid tot alternatief examen

bespreking van een hedendaagse architectuur

voorstelling van 20 min (indien één student)

voorstelling van 40 min (indien twee studenten)

redelijke vrijheid bij de keuze van architectuur (niet Intel)

keuzes kenbaar maken eerste week na pasen

zelf zoeken naar documentatie (op het web is er veel te vinden)

bespreking in het licht van de behandelde topics uit de cursus


Yolande Berbers
begrippen uit cursus, voor en nadelen van bepaalde
technieken … moeten gekend zijn
ik kan hierbij vragen stellen
Structuur en Organisatie van Computersystemen: deel 2
slide 14
Inleiding
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 15
overzicht van deze inleiding



vooruitgang van computermogelijkheden
computerontwerp
trends
software
 hardware
 cpu chips
 geheugen chips
 disks
 kostprijs

Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 16
vooruitgang van computermogelijkheden

2 elementen die spelen bij vooruitgang
vooruitgang in de technologie die gebruikt wordt
in het bouwen van computers (onderwerp van elektronica)
 vooruitgang in computerontwerp (onderwerp van deze cursus)


vooruitgang niet gelijkmatig:
in technologie: nogal regelmatig
 in computerontwerp: onregelmatig, met sprongen



tot eind jaren 70: 25% verbetering per jaar
vanaf eind jaren 70: microprocessoren
kunnen de technologische vooruitgang beter uitbuiten
 35% verbetering per jaar (zie grafiek verder)
 massaproductie mogelijk, dus goedkoper

Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 17
vooruitgang van computermogelijkheden (vervolg)

wet van Moore uit 1965

voorspelde dat de kracht van een chip zou verdubbelen
elke 18 maanden

voorspelling is grotendeels juist gebleken

deze vooruitgang zal wellicht nog een tijdje lang doorgaan
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 18
vooruitgang van computermogelijkheden (vervolg)

vroegere rem op vernieuwingen in
computerarchitecturen
veel code werd geschreven in assembler
 heel architectuur afhankelijk
 grote investering: moest nog kunnen draaien op volgende
machine uit zelfde reeks
 object-code compatibiliteit is heel belangrijk
 besturingssystemen
 merkafhankelijk
 in assembler geschreven
 risico en kost van een nieuwe architectuur waren heel hoog
 UNIX bracht hierin verandering

Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 19
vooruitgang van computermogelijkheden (vervolg)

RISC architecturen
ontworpen begin jaren 80, op de markt sinds  85
 vanaf dan: 50% verbetering per jaar

300
Sun UltraSparc
P
e
r
f
o
r
m
a
n
c
e
1.54X /yr
250
DE C 21064a
200
150
IBM Powe r 2/590
100
DE C AX P 3000
H P 9000/750
50
M IPS M /120
Sun-4/260 M IPS M 2000
IBM RS6000/540
0
1987
1.35X /yr
1988
1989
1990
1991
1992
1993
1994
1995
Ye ar
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 20
vooruitgang van computermogelijkheden
1200
DEC Alpha 21264/600
1.54X/yr
1000
800
600
DEC Alpha 5/500
400
200
0
DEC Alpha 5/300
DEC
HP
IBM
AXP/
Sun MIPSMIPS
9000/
RS/
DEC Alpha 4/266
500
-4/ M M/
750
6000
IBM POWER 100
260 2000 120
87 88 89 90 91 92 93 94 95 96 97
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 21
vooruitgang van computermogelijkheden (vervolg)

gevolgen van deze enorme vooruitgang
het krachtigste werkstation in 93 (IBM Power-2) vgl. met de
krachtigste computer in 88 (Cray Y-MP)
 werkstation is even snel voor floating point berekeningen
 werkstation is sneller voor integerberekeningen
 werkstation kost minder dan 10% van supercomputer
 microprocessoren worden gebruikt voor alle maten van
computers, ook voor mainframes en supercomputers

Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 22
vooruitgang van computermogelijkheden (vervolg)

gebruikte terminologie
– personal computers
– servers voor werkstations
– mainframes



– werkstations
– supercomputers
minicomputers: worden vervangen door servers
gemaakt met microprocessoren
mainframes: worden vervangen door grote
multiprocessoren gemaakt met microprocessoren
supercomputers: verzamelingen van microprocessoren
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 23
Technology Trends
1000
Supercomputers
100
Mainframes
10
Minicomputers
Microprocessors
1
0.1
1965
1970
1975
1980
1985
1990
1995
2000
Year
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 24
intermezzo: perspective on Post-PC Era
PostPC Era will be driven by 2 technologies:
1) “Gadgets”:Tiny Embedded
or Mobile Devices
 ubiquitous: in everything
 e.g., successor to PDA,
cell phone,
wearable computers

2) Infrastructure to Support such Devices
 e.g., successor to Big Fat Web Servers, Database
Servers
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 25
New Architecture Directions

“…media processing will become the dominant force in
computer arch. and microprocessor design.”

“...new media-rich applications ... involve significant
real-time processing of continuous media streams, and
make heavy use of vectors of packed 8-, 16-, 32-bit integer
and Fl. Pt.”

Needs include real-time response, continuous media data
types (no temporal locality), fine grain parallelism,
coarse grain parallelism, memory bandwidth
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 26
computerontwerp

complexe taak
functionele eisen bepalen
 maximaliseren van de performantie
 maar binnen de kostenbeperkingen


aspecten
ontwerp van instructieset:
grens tussen software en hardware
 functionele organisatie
 logisch ontwerp
 implementatie
 ontwerp van geïntegreerd circuit
 verpakking, koeling, voedingseenheid
 kennis nodig van o.a. compilers, besturingssystemen

Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 27
computerontwerp
Architecture is an iterative process:
• Searching the space of possible designs
• At all levels of computer systems
Des ign
Analysis
Creativity
Cost /
Performance
Analysis
Good Ideas
Bad Ideas
Yolande Berbers
Mediocre Ideas
Structuur en Organisatie van Computersystemen: deel 2
slide 28
computerontwerp

vroegere verdeling
computer architectuur = ontwerp van instructie set
 implementatie
 organisatie
 hardware


huidige tendens

computer architectuur omvat al deze aspecten
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 29
computerontwerp

organisatie
geheugensysteem, busstructuur, interne CPU
 mogelijk: gelijke instructieset maar verschillende organisatie
(vb SPARCstation-2 en SPARCstation-20)


hardware
gedetailleerd logisch ontwerp, klok-snelheid, cache,
verpakking
 mogelijk: gelijke instructieset en organisatie maar verschillende
hardware (vb Intel-reeks, Silicon Graphics Indy)

Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 30
functionele eisen

functionele eisen hangen af van veel factoren
voor welke gebruikers is de machine bedoeld
 voor welke applicaties
 op welke besturingssystemen mikt men
 welke standaarden wilt men volgen
 vaak zijn markt-elementen heel belangrijk
 figuur 1.2: werkt deze verschillende punten meer uit


optimiseren van ontwerp
meestal kost vs snelheid (ook nadruk in deze cursus)
 ook mogelijk: fouttolerantie en betrouwbaarheid

Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 31
software trends

programma’s gebruiken meer en meer geheugen

factor 1.5 tot 2 per jaar

adresruimten moeten groter worden,
dus adressen nemen meer bits in beslag: 0.5 tot 1 per jaar

komt zowel door programma’s als door verbeteringen in
DRAM technologie (zie verder)
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 32
software trends

rol van compiler wordt steeds groter
assembler is ongeveer helemaal verdwenen
 compilers bepalen mee in grote mate de performantie
 compilers: belangrijkste interface gebruiker / machine
 verbeteringen in compiler technologie
 optimisaties, herschikken van code
(pipelining, geheugen systeem)
 ook onderwerp van deze cursus

Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 33
trends in implementatietechnologie

integrated circuit technologie

densiteit: toename van 50% per jaar
(verviervoudiging in 3 jaar)

chip-oppervlakte: toenamen van 10 tot 25% per jaar

gecombineerd effect: toename van het aantal transistoren per
chip van 60 tot 80% per jaar
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 34
trends in implementatietechnologie
100000000
Alpha 21264: 15 million
Pentium Pro: 5.5 million
PowerPC 620: 6.9 million
Alpha 21164: 9.3 million
Sparc Ultra: 5.2 million
10000000
Moore’s Law
Pentium
i80486
Tra nsisto rs
1000000
i80386
i80286
100000
CMOS improvements:
• Die size: 2X every 3 yrs
• Line width: halve / 7 yrs
i8086
10000
i8080
i4004
1000
1970
1975
1980
1985
1990
1995
2000
Year
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 35
trends in implementatietechnologie

semiconductor DRAM technologie

densiteit: toename van 60% per jaar
(verviervoudiging in 3 jaar)

cyclus tijd: veel kleinere verbetering
vermindering van een derde in 10 jaar
Capacity
Speed
Logic
2x in 3 years
2x in 3 years
DRAM
4x in 3 years
1.4x in 10 years
Disk
2x in 3 years
1.4x in 10 years
Speed increases of memory and I/O have not
kept pace with processor speed increases.
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 36
trends in implementatietechnologie
s ize
1000000000
100000000
year
1980
1983
1986
1989
1992
1996
2000
Bits
10000000
1000000
100000
10000
size(Mb)
cyc time
0.0625 250 ns
0.25
220 ns
1
190 ns
4
165 ns
16
145 ns
64
120 ns
256
100 ns
1000
1970
1975
1980
1985
1990
1995
2000
Year
Moore’s Law for Memory:
Transistor capacity increases by 4x every 3 years
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 37
Memory History/Trends/State of Art

DRAM: main memory of all computers
Commodity chip industry: no company >20% share
 Packaged in SIMM or DIMM (e.g.,16 DRAMs/SIMM)


Capacity: 4X/3 yrs (60%/yr..)



Moore’s Law
MB/$: + 25%/yr.
Latency: – 7%/year, Bandwidth: + 20%/yr. (so far)
Yolande Berbers
source: www.pricewatch.com, 5/21/98
slide 38
Structuur en Organisatie van Computersystemen: deel 2
Memory Summary

DRAM
rapid improvements in capacity, MB/$, bandwidth
 slow improvement in latency


Processor-memory interface
(cache+memory bus): bottleneck to bandwidth
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 39
Processor Limit: DRAM Gap
CPU
“Moore’s Law”
100
10
µProc
60%/yr..
Processor-Memory
Performance Gap:
(grows 50% / year)
DRAM
1
DRAM
7%/yr..
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
Performance
1000
• Alpha 21264 full cache miss in instructions executed:
180 ns/1.7 ns =108 clks x 4 or 432 instructions
• Caches in Pentium Pro: 64% area, 88% transistors
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 40
trends in implementatie technologie (vervolg)

harde schijf technologie

densiteit: toename van 50% per jaar
bijna verviervoudiging in 3 jaar

cyclus tijd: veel kleinere verbetering
vermindering van een derde in 10 jaar
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 41
Disk Description / History
Embed. Proc.Track
(ECC, SCSI) Sector
Track Arm
Buffer Head
Platter
Cylinder
Yolande Berbers
1973:
1. 7 Mbit/sq. in
140 MBytes
1979:
7. 7 Mbit/sq. in
2,300 MBytes
Structuur en Organisatie van Computersystemen: deel 2
slide 42
Disk History
Areal Density
10000
1000
100
10
1
1970
1980
1990
2000
Year
1989:
63 Mbit/sq. in
60,000 MBytes
Yolande Berbers
1997:
1450 Mbit/sq. in
2300 MBytes
1997:
3090 Mbit/sq. in
8100 MBytes
Structuur en Organisatie van Computersystemen: deel 2
slide 43
Performance Model /Trends

Capacity

+ 60%/year (2X / 1.5 yrs)
Latency =
 Transfer rate (BW)
Queuing Time +
 + 40%/year (2X / 2.0 yrs)
Controller time +
per access Seek Time +
 Rotation + Seek time
Rotation Time
+
 – 8%/ year (1/2 in 10 yrs)
+ Size / Bandwidth
per byte
{

MB/$
> 60%/year (2X / <1.5 yrs)
 Fewer chips + areal density

source: Ed Grochowski, 1996,
“IBM leadership in disk drive technology”;
www.storage.ibm.com/storage/technolo/grochows/grocho01.htm,
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 44
Disk Limit: I/O Buses
Multiple copies of data,
SW layers

CPU Memory
bus
Memory C
C

Bus rate vs. Disk rate

Cannot use 100% of bus
 Queuing Theory (< 70%)
 Command overhead
(Effective size = size x 1.2)
Internal
I/O bus
(PCI)
SCSI: Ultra2 (40 MHz),
Wide (16 bit): 80 MByte/s
 FC-AL: 1 Gbit/s = 125 MByte/s
(single disk in 2002)

External
I/O bus
C
(SCSI)
C
Controllers (15 disks)
Disk Limit






Continued advance in
 capacity (60%/yr)
 bandwidth (40%/yr.)
Slow improvement in seek, rotation (8%/yr)
Time to read whole disk
Year
Sequentially
Randomly
1990
2000
4 minutes
12 minutes
6 hours
1 week
Dynamically change data layout to reduce seek, rotation delay?
Leverage space vs. spindles?
External I/O bus bottleneck to transfer rate, cost?
=> move to fast serial lines (FC-AL)?
how to use speed of embedded processor inside disk?
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 46
trends in implementatie technologie (vervolg)

huidige tijdschaal van microprocessoren
ontwerp 2 jaar
 productie 2 jaar
 levensduur van minimum 5 jaar
 gevolg: wanneer productie op volle toeren draait zijn
sleuteltechnologieën (DRAM bv.) reeds een stap verder


technologische veranderingen gebeuren vaak niet op een
continue manier maar in discrete stappen
bv. DRAM groeit steeds met factor 4
 vanaf een bepaalde grens kan opeens iets heel anders
(bv. 32-bit, 64-bit)

Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 47
Clock Frequency Growth Rate
Clock rate (MHz)
1,000
100
10








R10000
















 Pentium100













 



i80386

i80286
i8086 


1
i8080


 i8008
i4004
0.1
1970
1980
1990
2000
1975
1985
1995
2005
• 30% per year
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 48
Transistor Count Growth Rate
100,000,000

Transistors
10,000,000
1,000,000
i80286 
100,000

 




R10000





 Pentium



















i80386
  R3000
R2000
i8086
10,000

i8080

 i8008
i4004
1,000
1970
1980
1990
2000
1975
1985
1995
2005
• 100 million transistors on chip by early 2000’s A.D.
• Transistor count grows much faster than clock rate
- 40% per year, order of magnitude more contribution in 2 decades
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 49
The future: general characteristics
Description
1995
1998
2001
2004
2007
2010
Line width (mm)
0.35
0.25
0.18
0.13
0.10
0.07
Number of masks
18
20
20
22
22
24
Wafer size (mm)
200
200
300
300
400
400
Number of wiring levels
4-5
5
5-6
6
6-7
7-8
Power supply V: desktop
3.3
2.5
1.8
1.5
1.2
0.9
Power supply V: battery
2.5
1.8-2.5
0.9-1.8
0.9
0.9
0.9
Max. power dissipation/chip
80
100
120
140
160
180
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 50
The future: DRAM
Description
1995
1998
2001
2004
2007
2010
Number of bits per chip
64M
256M
1G
4G
16G
64G
Chip size (mm2)
190
280
420
640
960
1400
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 51
The future: high performance (mP)
Description
1995
1998
2001
2004
2007
2010
Number of transistors
10M
21M
47M
108M
260M
560M
Number of I/O pads
900
1350
2000
2600
3600
4800
Number of package pins
512
512
512
512
800
1024
On chip clock freq. (MHz)
300
450
600
800
1000
1100
PCB frequency (Mhz)
150
200
250
300
375
475
Chip size (mm2)
250
300
360
430
520
620
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 52
The future: ASIC
Description
1995
1998
2001
2004
2007
2010
Number of transistors
9M
26M
52M
108M
275M
560M
Number of I/O pads
900
1350
2000
2600
3600
4800
Number of package pins
750
1100
1700
2200
3000
4000
On chip clock freq. (MHz)
150
200
300
400
500
625
Chip size (mm2)
450
660
750
900
1100
1400
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 53
trends in kostprijs

kost van een product vermindert met de tijd
onder de knie krijgen van een technologie (leercurve)
verlaagt de kost
 grotere verkochte hoeveelheden verlagen de kost
 leercurve gaat sneller
 efficiëntere productiemethoden voor grote hoeveelheden
 ontwerpkosten worden verdeeld over meer producten
 zie als voorbeeld figuur 1.3


standaard randapparaten verlagen sterk in prijs
 DRAM,
kleine disks, schermen, toetsenborden, enz.
 zeer grote competitie, door gespecialiseerde firma’s
 hebben zeer groot volume door standaardisatie
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 54
trends in kostprijs (vervolg)


figuur 1.6 geeft de uitsplitsing van kosten voor een
eenvoudig kleuren werkstation
figuren 1.7 en 1.8 en figuren volgende slides
component-kosten zijn maar een klein deel van de uiteindelijke
prijs op een prijslijst
 bij volumeproducten (bv PC’s)
 is de ‘gross margin’ lager (= alle kosten die niet direkt toe te
schrijven zijn aan een bepaald product, zoals marketing en
reklame, R&D, gebouwen, directie, winst)
 is de ‘average discount’ groter
(= winst die de eindverkoper heeft)

Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 55
trends in kostprijs (vervolg)

Component Costs
List Price
Component
Cost
Yolande Berbers
15% to 33%
Structuur en Organisatie van Computersystemen: deel 2
slide 56
trends in kostprijs (vervolg)
Component Costs
 Direct Costs (add 25% to 40%) recurring costs: labor, purchasing,

scrap, warranty
List Price
Direct Cost
Component
Cost
Yolande Berbers
6% to 8%
15% to 33%
Structuur en Organisatie van Computersystemen: deel 2
slide 57
trends in kostprijs (vervolg)
Component Costs
 Direct Costs (add 25% to 40%) recurring costs: labor, purchasing,

scrap, warranty

Gross Margin (add 82% to 186%) nonrecurring costs:
R&D, marketing, sales, equipment maintenance, rental, financing cost,
pretax profits, taxes
List Price
Gross
Margin
Direct Cost
Component
Cost
Yolande Berbers
34% to 39%
6% to 8%
15% to 33%
Structuur en Organisatie van Computersystemen: deel 2
slide 58
trends in kostprijs (vervolg)
Component Costs
 Direct Costs (add 25% to 40%) recurring costs: labor, purchasing, scrap,

warranty

Gross Margin (add 82% to 186%) nonrecurring costs:
R&D, marketing, sales, equipment maintenance, rental, financing cost, pretax
profits, taxes

Average Discount to get List Price (add 33% to 66%): volume discounts
and/or retailer markup
List Price
Avg. Selling Price
Average
Discount
Gross
Margin
Direct Cost
Component
Cost
Yolande Berbers
25% to 40%
34% to 39%
6% to 8%
15% to 33%
Structuur en Organisatie van Computersystemen: deel 2
slide 59
trends in kostprijs (vervolg)
100%
80%
Average Discount
60%
Gross Margin
40%
Direct Costs
20%
Component Costs
0%
Mini
5
4
W/S
PC
4.7
3.5
3.8
Average Dis count
2.5
3
Gross Margin
1.8
2
Direct Cos ts
1.5
1
Component Cos ts
0
Mini
Yolande Berbers
W/S
PC
Structuur en Organisatie van Computersystemen: deel 2
slide 60
het meten en
rapporteren van
performantie
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 61
performantie: overzicht

wat verstaat men onder performantie

programma's uitvoeren om performantie te meten

performantie vergelijken en samenvatten

kwantitatieve principes ivm performantie


algemeen, formules, toegepast op enkele kleinere voorbeelden

toegepast op geheugenhiërarchie
fouten en valstrikken
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 62
het definiëren van performantie


wat bedoelen we met ‘computer X heeft een
betere performantie dan computer Y’ ?
vergelijk met vliegtuigen
vliegtuig
passagiersdoorvoer
passagierscapaciteit
vliegbereik
(km)
vliegsnelheid
(km / u)
Boeing 737-100
101
1000
957
96.657
Boeing 747
470
6640
976
458.720
Concorde
132
6400
2160
285.120
DC-8-50
146
13950
870
127.020
Yolande Berbers
(passagiers X km/u)
Structuur en Organisatie van Computersystemen: deel 2
slide 63
het definiëren van performantie (vervolg)

verschillende criteria
responsetijd = uitvoeringstijd
 doorvoer


klassiek definieert men performantie als
1
performantie_ X 
uitvoeringstijd _ X

als X n keer sneller is dan Y:
uitvoeringstijd _ Y performantie_ X
n

uitvoeringstijd _ X performantie_ Y

termen zoals verhogen of verlagen zijn verwarrend:
we zullen spreken over verbeteren en verslechteren
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 64
het meten van performantie

slechts één echte maat: uitvoeringstijd
van één taak = responstijd
 van meerdere taken = doorvoer
 responsetijd (latency) bevat ook wachttijden
 CPU-tijd = user CPU-tijd + system CPU-tijd
 vaak gebruikt men enkel user CPU-tijd


keuze van programma’s om performantie te meten
echte programma’s
 kernels
 spelbenchmarks
 synthetische benchmarks
 benchmark suites

Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 65
het meten van performantie (vervolg)
echte programma's
 beste methode
 voordelen:



vergelijkt dat wat men in werkelijkheid wil doen
nadelen:




software niet altijd beschikbaar
(moet gekocht worden)
niet altijd eenvoudig uit te voeren (duurt te lang)
zelfs al is de broncode beschikbaar, overdragen van de code is
meestal geen evidente zaak
vergelijking moet volledig door de klant gebeuren
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 66
het meten van performantie (vervolg)

kernels


korte, typische extracten van echte programma's
voordelen:
gemakkelijk te schrijven, ook voor nieuwe machines waar nog
geen compilers voor zijn (oud argument)
 vergelijkingswaarden zijn voor vele machines bekend
 goed om individuele aspecten van computers te vergelijken


nadelen:


geeft niet echt weer wat later als software zal draaien
voorbeelden:

Livermore Loops, Linpack
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 67
het meten van performantie (vervolg)

voorbeelden:

Livermore Loops (eigenlijk Livermore Fortran Kernels of LFK)






Yolande Berbers
24 Fortran DO-loops uit code van de Lawrence Livermore
National Laboratory
wordt gebruikt sinds begin jaren 70 (eerst 14, later 24 loops)
mengeling van lussen die wel/niet gevectoriseerd kunnen
worden
lengte van de lussen wordt gevarieerd
heeft geleid tot het gebruik van de term Mflop/s
(millions of floating point operations per second)
geeft niet 1 cijfer, maar een groot aantal (zie ook SPEC)
Structuur en Organisatie van Computersystemen: deel 2
slide 68
het meten van performantie (vervolg)

voorbeelden:

Linpack


Yolande Berbers
oplossing van 100x100 lineaire vergelijking met L/U
decompositie
klein programma
Structuur en Organisatie van Computersystemen: deel 2
slide 69
het meten van performantie (vervolg)

spel benchmarks


bekende algoritmes die men als benchmark gebruikt
voordelen:
korte code om in te tikken
 voorbeelden gemakkelijk te vinden in artikels
 vergelijkingswaarden zijn voor vele machines bekend


nadelen:


geeft niet echt weer wat later als software zal draaien
(minder nog dan kernels)
voorbeelden:

zeef van Erastosthenes, quicksort
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 70
het meten van performantie (vervolg)

synthetische benchmarks


volgt de idee van de kernels: programma's die de frequentie
van instructiegebruik nabootsen in bepaalde
toepassingsgebieden
voordelen:
vergelijkingswaarden zijn voor vele machines bekend
 de testen zijn veel uitgebreider dan kernels


nadelen:
geeft niet echt weer wat later als software zal draaien
 problemen indien performantie afhangt van klein stukje code:
geeft vaak aanleiding tot ad hoc optimisaties


voorbeelden:
Whetstone (Fortran wetenschappelijk code)
 Dhrystone (geen wetenschappelijk code)

Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 71
het meten van performantie (vervolg)

benchmark suites


verzameling van benchmarks
voordelen:
zwakheid van een bepaalde benchmark uit de suite wordt
gecompenseerd door de andere benchmarks uit de suite
 vergelijkingswaarden zijn voor vele machines bekend


nadelen:
methode om de resultaten van de verschillende benchmarks
samen te brengen is heel belangrijk
 geeft niet echt weer wat later als software zal draaien


voorbeelden:

SPEC92, SPEC95, SPEC CPU2000, TPC
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 72
het meten van performantie (vervolg)

SPEC: System Performance Evaluation Corporation
opgericht door meer dan 20 computerfirma’s in 1988
 eerste versie in 1989; standaard machine VAX 11/780
 tweede versie in 1992 met uitgebreide floating-point tests;
standaard machine VAX 11/780
 derde algemene versie van 1995
standaard machine Sun SPARCstation 10/450 met 64MB RAM
 nieuwe versies nodig: optimisaties van compilers voor
benchmarks!
 nieuwe gespecialiseerde suites
– SPEChpc96: voor high performance computing

– SPECweb96: voor web-toepassingen
– SPECjvm98: voor het testen van java virtual machines
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 73
het meten van performantie (vervolg)

SPEC: System Performance Evaluation Corporation


nieuwste algemene versie: SPEC CPU2000
 bestaat uit CINT2000 en CFP2000
 CINT2000 suite bevat 12 application-based benchmarks in C
and C++
 CFP2000 suite bevat 14 CPU-intensieve benchmarks in
FORTRAN (77 en 90) en C
 referentiemachine: Sun Microsystems Ultra5_10 werkstation
met 300-MHz SPARC processor en 256-MB geheugen
 de waarden van CINT2000 en CFP2000 zijn op de
referentiemachine per definitie 100
methode (zie ook fig. 1.9):

meerdere in de praktijk gebruikte toepassingsprogramma’s
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 74
het meten van performantie (vervolg)

2 manieren om er mee te werken:
SPECint en SPECfp : meest gebruikt
 enkel die tests gebruiken die het meest lijken op de software
die men wil draaien
 maar meestal wordt alleen het gemiddelde resultaat
gepubliceerd (zie figuur uit tijdschrift)
 SPECrate_int, SPECrate_fp
 testen de verwerkingscapaciteit van een systeem
 meerdere kopieën van dezelfde test worden opgestart;
gemeten wordt hoeveel processen binnen bepaalde tijd
volledig uitgevoerd zijn
 ook geschikt voor multiprocessoren
 een tape met de testen kost 800 $

Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 75
het meten van performantie (vervolg)

TPC: Transaction Processing Performance Council
tps: transactions per second of tpm: transactions per minute
 $/tps: geeft prijs/performantie
 gebruikt in de database wereld
 test de van combinatie database software en onderliggende
hardware
 TPC-A, TPC-B, TPC-C bestaan
 niet zo gekend als SPEC, resultaten minder publiek
 het kost een firma initieel tot 500.000 $ om TPC-C audit op te
bouwen, te optimiseren en te tunen

Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 76
verslag uitbrengen over performantie

reproduceerbaarheid
cijfers over benchmarks hebben slechts betekenis als alle
omstandigheden meting vermeld zijn (wat weinig gebeurd)
 exacte versie van processor
 versie van compiler
 gebruikte optimisaties (zie ook bij fouten en valstrikken)
 hoeveelheid RAM
 hoeveelheid cache (primair, secundair)
 welke input
 enz.
 bij auto-tests: wel gewoonte om alle omstandigheden te geven
 bij SPEC: baseline performance naast optimized performance

Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 77
verslag uitbrengen over performantie (vervolg)
vergelijken van performantie: hoe combineer je
informatie ?
 niet zo eenvoudig !

Computer A
Computer B
Computer C
Program P1 (secs)
1
10
20
Program P2 (secs)
1000
100
20
Total time (secs)
1001
110
40
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 78
verslag uitbrengen over performantie (vervolg)

totale uitvoeringstijd
n
 Timei
i 1
1 n
 Timei
n i 1

rekenkundig gemiddelde

gewogen rekenkundig gemiddelde
A
B
C
W(1)
W(2)
W(3)
P1 (secs)
1.00
10.00
20.00
0.50
0.909
0.999
P2 (secs)
1000.00
100.00
20.00
0.50
0.091
0.001
gem: W(1) (secs)
500.50
55.00
20.00
gem: W(2) (secs)
91.82
18.18
20.00
gem: W(3) (secs)
2.00
10.09
20.00
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 79
verslag uitbrengen over performantie (vervolg)


genormaliseerde uitvoeringstijd tov een referentiemachine:
uitvoeringstijd van referentiemachine is dan 1 (per def.)
gemiddelde van genormaliseerde uitvoeringstijden
rekenkundig
 meetkundig (SPEC)
n

n
 Execution_ time_ ratioi
i 1
Normalized to A
Normalized to B
Normalized to C
A
B
C
A
B
C
A
B
C
P1 (secs)
1.0
10.0
20.0
0.1
1.0
2.0
0.05
0.5
1.0
P2 (secs)
1.0
0.1
0.02
10.0
1.0
0.2
50.0
5.0
1.0
Rek Gem
1.0
5.05
10.01
5.05
1.0
1.1
25.03
2.75
1.0
Geo Gem
1.0
1.0
0.63
1.0
1.0
0.63
1.58
1.58
1.0
Tot Tijd
1.0
0.11
0.04
9.1
1.0
0.36
25.03
2.75
1.0
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 80
verslag uitbrengen over performantie (vervolg)

voordelen van meetkundig gemiddelde van
genormaliseerde uitvoeringstijden
onafhankelijk van uitvoeringstijden van individuele progr.
 onafhankelijk van referentiemachine


nadelen van meetkundig gemiddelde van
genormaliseerde uitvoeringstijden
ze voorspellen niet de uitvoeringstijden
 de constructeurs worden aangemoedigd om korte
programma's te optimizeren (gaat gemakkelijker dan langere
en heeft hetzelfde effect)


ideaal:
eerst juiste gewichten (afhankelijk van voorspelde gebruik)
 en dan normalisatie

Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 81
kwantitatieve principes

belangrijkste principe
zorg ervoor dat wat vaak voorkomt snel is
 uitgangspunt van RISC (zie later)
 extra voordeel: wat vaak voorkomt is meestal ook simpel
 vb: overflow
 komt niet zo vaak voor
 versnel dus het normale geval (geen overflow)
 eventueel is dan overflow trager, maar dat is minder erg


dit kan gekwantificeerd worden met behulp van de
wet van Amdahl
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 82
kwantitatieve principes (vervolg)

Amdahl’s wet: een verbetering is beperkt tot de fractie
die baat heeft bij de verbetering

factoren die een rol spelen
– fractie waarop verbetering een invloed heeft
– vb: een programma duurt 60 sec.; de verbetering heeft
betrekking op 20 sec; de fractie is 20/60
– verbetering die bekomen kan worden
– vb: zonder verbetering duurt een stuk 20 sec.; met
verbetering duurt het 8 sec.; verbetering (speedup) is 20/8


wet van Amdahl is interessant om verschillende
mogelijke verbetering te vergelijken
in formules: zie volgende slide
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 83
kwantitatieve principes (vervolg)
performantie met gebruik van verbetering
speedup 
performantie zonder gebruik van verbetering
uitvoeringstijd zonder gebruik van verbetering
speedup 
uitvoeringstijd met gebruik van verbetering
ex. timenew = ex. timeold
speeupoverall
ex. timeold
=
ex. timenew

Yolande Berbers
fract. enhanced 

  1  fract. enhanced  


speedupenhanced 
1
fract. enhanced
1  fract. enhanced  
speedupenhanced
Structuur en Organisatie van Computersystemen: deel 2
slide 84
kwantitatieve principes (vervolg)

voorbeeld 1
verandering = verbetering met een factor 10
 wordt gebruikt 40% van de tijd

speeupoveral 
1
fract. enhanced
1  fract. enhanced  
speedupenhanced
1

 1.56
0.4
1  0.4 
10
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 85
kwantitatieve principes (vervolg)

voorbeeld 2
FP = 50% van uitvoeringstijd van een bepaalde benchmark
FPSQR = 20% van uitvoeringstijd van deze benchmark
 alternatief 1: extra hardware: FPSQR is 10 keer sneller
 alternatief 2: alle FP berekeningen 2 maal sneller
1
speedupoveral 
fract. enhanced
1  fract. enhanced  
speedupenhanced
1
speedupFPSQR 
 1.22
0.2
1  0.2 
10
1
speedupFP 
 1.33
0.5
1  0.5 
2.0

Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 86
kwantitatieve principes (vervolg)

berekenen van CPU-performantie
vorige berekeningen gingen ervan uit dat we precies weten wat
het effect zal zijn van een verbetering
 in de praktijk moet je dit voorspellen, je kunt het niet meten
(want de verbeteringen zijn nog niet doorgevoerd)
 een aantal formules kunnen hierbij gebruikt worden

CPI = gemiddelde duur van een instructie
= gemiddeld aantal klokcycli per instructie
IC = aantal instructies in een prog. = Instruction Count
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 87
kwantitatieve principes (vervolg)
CPU time = CPU klokcycli voor een prog.  klokcyclustijd
CPU klokcycli voor een prog.
=
klokfrequentie
CPU klokcycli voor een programma
CPI =
IC
CPU time = IC  CPI  klokcyclustijd
IC  CPI
=
klokfrequentie

CPU performantie is dus afhankelijk van 3 factoren:
aantal instructies, klokcycli per instructie, klokfrequentie
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 88
kwantitatieve principes (vervolg)

deze drie factoren zijn niet onafhankelijk


een verbetering van één factor kan een invloed hebben op de
andere (bv een verslechtering)
basistechnologieën die invloed hebben op de 3 factoren:
klokfrequentie: hardware technologie en organisatie
 CPI: organisatie en instructieset
 aantal instructies: instructieset en compilertechnologie


formules die helpen bij CPU-ontwerpbeslissingen
n
 CPIi  ICi
ICi


CPI =
  CPIi  

 Instr. Count 
Instr. count
i 1
vb van berekening: zie boek blz 33
i 1

Yolande Berbers
n
Structuur en Organisatie van Computersystemen: deel 2
slide 89
kwantitatieve principes
CPU time
= Seconds
= Instructions x
Program
Program
Program
(X)
Inst. Set.
X
X
Yolande Berbers
Cycle
Inst Count CPI Clock Rate
X
X
Technology
x Seconds
Instruction
Compiler
Organization
Cycles
X
X
X
Structuur en Organisatie van Computersystemen: deel 2
slide 90
kwantitatieve principes (vervolg)

meten (of schatten) van de 3 factoren
klokfrequentie
 heel moeilijk, is meestal een schatting
 aantal instructies
 nodig compiler te hebben (wordt heel vroeg ontwikkeld)
 totaal aantal instructies is van belang
 ook frequentiegebruik van verschillende (klassen van)
instructies is van belang (instructiemix)
 CPI
 vaak werkt men met CPIi (per instructie (klasse))
 moeilijk want afhankelijk van de toestand van processor
(dus pipeline en cache)
 vaak zal men die twee factoren opsplitsen

Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 91
kwantitatieve principes (vervolg)

voorbeeld 3: 2 alternatieven voor conditionele sprong

alt A: een ‘compare’ instructie die een conditiecode zet,
gevolgd door een ‘branch’ die de conditiecode test

alt B: slechts 1 instructie, een ‘branch’ die direct vergelijkt

voor beide:

conditionele ‘branch’ instructie duurt 2 klokcycli

alle andere instructies duren 1 klokcyclus

alt A: 20% zijn sprongen en er zijn dus ook 20% ‘compare’

alt A: snellere klok omdat korte sprong: 1.25 maal sneller dan B
? vraag: welke CPU is sneller ?
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 92
kwantitatieve principes (vervolg)






CPIA = 0.20 x 2 + 0.80 X 1 = 1.2
CPU time A
= ICA x CPIA x klokcyclustijdA
= ICA x 1.2 x klokcyclustijdA
alt B heeft geen extra ‘compare’, dus 20/80 of 25% zijn
sprongen en de rest (75%) zijn andere instructies
CPIB = 0.25 x 2 + 0.75 X 1 = 1.25
alt B heeft in totaal minder instructies uit te voeren:
ICB = 0.8 ICA
CPU time B
= ICB x CPIB x klokcyclustijdB
= 0.8 x ICA x 1.25 x (1.25 x kl.cyclustijdA)
= 1.25 x ICA x klokcyclustijdA
alternatief A is dus sneller
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 93
geheugenhiërarchie

axioma van hardware ontwerp: klein is snel
 klein:
signalen moeten minder ver gaan
 meer voeding mogelijk per cel
 wel veel duurder

van groot belang bij geheugens
 grote
bandbreedte (in MB/sec.)
 kleine toegangstijden

data toegang
meest recent gebruikt komt vaak terug (temporele lokaliteit)
 wat in de buurt ligt is vaak ook nodig (ruimtelijke lokaliteit)


combinatie van deze elementen met de wet van Amdahl:
geheugen hiërarchie is de oplossing
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 94
geheugenhiërarchie
Capacity
Access Time
Cost
CPU Registers
100s Bytes
<1 ns
Cache
10s-100s K Bytes
1-10 ns
$10/ MByte
Main Memory
M Bytes
100ns- 300ns
$1/ MByte
Disk
10s G Bytes, 10 ms
(10,000,000 ns)
$0.0031/ MByte
Tape
infinite
sec-min
$0.0014/ MByte
Yolande Berbers
Staging
Xfer Unit
Upper Level
faster
Registers
Instr. Operands
prog./compiler
1-8 bytes
Cache
Blocks
cache cntl
8-128 bytes
Memory
Pages
OS
512-4K bytes
Files
user/operator
Mbytes
Disk
Larger
Tape
Lower Level
Structuur en Organisatie van Computersystemen: deel 2
slide 95
geheugenhiërarchie

By taking advantage of the principle of locality:


give user as much memory as is available in cheapest technology
provide access at the speed offered by the fastest technology
Processor
Control
Speed (ns): 1s
Size (bytes): 100s
Yolande Berbers
On-Chip
Cache
Registers
Datapath
Second
Level
Cache
(SRAM)
Main
Memory
(DRAM)
10s
100s
Ks
Ms
Secondary
Storage
(Disk)
Tertiary
Storage
(Disk/Tape)
10,000,000s 10,000,000,000s
(10s ms)
(10s sec)
Gs
Ts
Structuur en Organisatie van Computersystemen: deel 2
slide 96
geheugenhiërarchie (vervolg)


cache terminologie: cache hit, cache miss, cache block
vergelijking cache en virtueel geheugen
bij cache miss blokkeert de CPU totdat gegevens aanwezig zijn
 bij page fault krijgen we een proceswisseling

Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 97
performantie van cachegeheugen

voorbeeld: speedup na toevoeging van een cache
cache is 10 maal sneller dan het hoofdgeheugen
 cache wordt gebruikt 90% van de keren

speedup 
1
fract. enhanced
1  fract. enhanced  
speedupenhanced
1

 5.3
0.9
1  0.9 
10
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 98
performantie van cachegeheugen (vervolg)

meestal is er al een geheugenhiërarchie
vraag: hoe kan ik die verbeteren
 nodig: in rekening brengen van wachten van CPU op cache

CPUtime = (CPU klokcycli + geheugen-stall-cycli) x klokcyclus
geheugen-stall-cycli = aantal missingen x kost van een missing
= IC x aantal missingen per instructie x kost van een missing
= IC x aantal geh. ref. per instr. x mis-frequ. x kost van missing

de elementen uit de laatste formule zijn ‘gemakkelijk’ te
bepalen, o.a. door simulatie
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 99
performantie van cachegeheugen (vervolg)

voorbeeld
machine met CPI = 2.0 als data in de cache
 geheugentoegang enkel via load en store (40% van instr.)
 kost van missing = 25 klokcycli
 mis-frequentie = 2%

? vraag: hoeveel sneller zou de machine zijn met alleen cache hits
CPUaltijd hit =  CPU klokcylic + geh - stall - cycli  klokcyclus
=  IC  CPI + 0  klokcyclus
= IC  2.0  klokcyclus
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 100
performantie van cachegeheugen (vervolg)

voor machine met cache
(elke instructie vraagt een instructiefetch uit het geheugen, en
40% van de instructies vragen nog een geheugentoegang extra)
geh.-stall - cycli = IC  aantal geheugenreferenties per instr.
 mis - frequentie  kost van missing
= IC  1 + 0.4  0.02  25
 IC  0.7
CPUtime = (CPU klokcycli + geheugen-stall-cycli) x klokcyclus
= (IC x 2.0 + IC x 0.7) x klokcyclus
= 2.7 x IC x klokcyclus
2.7  IC  klokcyclus
performantieverbetering =
2.0  IC  klokcyclus
 1.35
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 101
fouten en valstrikken

valstrik: MIPS is een goede maat om performanties van
computersystemen te vergelijken



Million Instructions per Second
Meaningless Indicator of Performance of System
Marketing’s Invention to Promote Sales
IC
klokfrequentie
MIPS =

6
uitvoeringstijd  10
CPI  106
hoe groter de MIPS, hoe performanter het systeem
(gemakkelijk te begrijpen)
 3-voudig probleem:
 MIPS is afhankelijk van instructieset
 MIPS kan variëren op 1 systeem (afh. van programma)
 MIPS kan variëren omgekeerd als performantie (vb: FP)

Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 102
fouten en valstrikken (vervolg)

valstrik: MFLOPS is een consistente en handige maat
voor performantie
Million FP Operations Per Second
 is afhankelijk van de machine en van het programma
(compilers hebben een MFLOP van 0)
 als zelfde programma vergeleken wordt tussen verschillende
systemen, dan nog is het geen goede vergelijking
 soort hardware ondersteunde FP operaties: niet overal gelijk
 maakt geen verschil tussen snelle FP operaties (bv optelling)
en trage FP operaties (bv deling)
 zoals bij MIPS: men geeft maar 1 cijfer en zegt niets over de
omstandigheden van dat cijfer

Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 103
fouten en valstrikken (vervolg)

fout: synthetische benchmarks voorspellen performantie


compilers worden vaak aangepast expliciet aan veelgebruikte
benchmarks
 eenvoudige programma’s waar alle procedures kunnen
uitgeschakeld worden
 door kennis van bepaalde formules uit Whetstone vertalen
sommige compilers dit in veel eenvoudigere code
valstrik: benchmarks blijven altijd geldig


Yolande Berbers
één van de programma’s van SPEC89 (matrix300) werd
vaak heel specifiek geoptimiseerd
andere concrete voorbeelden in het boek
Structuur en Organisatie van Computersystemen: deel 2
slide 104
fouten en valstrikken (vervolg)

valstrik: verwachten dat de verbetering van één aspect de
performantie van een machine zal doen toenemen met een
hoeveelheid die evenredig is met de grootte van de verbetering
 vb: de uitvoering van een programma duurt 100 sec., waarvan
80 sec. vermenigvuldigingen zijn. Met hoeveel moet ik de
vermenigvuldiging verbeteren opdat mijn programma 5 maal
sneller zou uitvoeren ?
uitvoerings tijd na verbetering
80 sec
 (100  80 sec)
n
80 sec
20 sec 
 20 sec
n
80 sec
0
n

Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 105
fouten en valstrikken (vervolg)

fout: hardware-onafhankelijke maten voorspellen
performantie



vb: gebruik van grootte van programma’s als maat voor
programma-uitvoeringstijd (dat werd vroeger wel eens
gedaan)
valstrik: vergelijken van computers, waarbij men alleen
rekening houdt met één van de drie performantiematen: kloksnelheid, CPI, instructie-aantallen
valstrik: piek-performantie gebruiken om machines te
vergelijken
Yolande Berbers
Structuur en Organisatie van Computersystemen: deel 2
slide 106
Download