structuur en organisatie van computersystemen: deel 2
DESCRIPTION
Structuur en organisatie van computersystemen: deel 2. Yolande Berbers 200A 03.20. 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 - PowerPoint PPT PresentationTRANSCRIPT
slide 1Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
Structuur en organisatie van computersystemen:
deel 2
Yolande Berbers200A 03.20
slide 2Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
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
slide 3Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
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
slide 4Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
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
slide 5Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
doelstellingen van de cursus (vervolg)
verder doel (vervolg) na deze cursus moeten studenten
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
slide 6Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
verhouding hardware / software de cursus beschrijft de ‘structuur en organisatie van
computersystemen’ voor zover die van belang is voor een software specialist
doelstellingen van de cursus (vervolg)
slide 7Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
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
slide 8Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
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)
slide 9Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
tekstboeken Computer Architecture. A Quantitive Approach
(2nd edition)David A. Patterson, John L. HennessyMorgan 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 KacsukAddison Wesley, 1997, ISBN 0-201-42291-3 gebruikt voor het deel over parallelle machines
en niet-traditionele systemen
slide 10Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
slides www.cs.kuleuven.ac.be/~yolande/slides/
socs2.html slides worden continu up to date gehouden
slide 11Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
plaats van cursus in curriculum
directe opvolger van SOCS1 steunt nogal op besturingssystemen
slide 12Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
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
slide 13Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
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: orde van grootte zijn van belangexacte cijfers niet
slide 14Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
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
begrippen uit cursus, voor en nadelen van bepaalde technieken … moeten gekend zijn
ik kan hierbij vragen stellen
slide 15Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
Inleiding
slide 16Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
overzicht van deze inleiding vooruitgang van computermogelijkheden computerontwerp trends
software hardware
cpu chips geheugen chips disks
kostprijs
slide 17Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
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
slide 18Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
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
slide 19Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
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
slide 20Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
vooruitgang van computermogelijkheden (vervolg)
RISC architecturen ontworpen begin jaren 80, op de markt sinds 85 vanaf dan: 50% verbetering per jaar
Sun-4/260MIPS M/120
MIPS M2000IBM RS6000/540
HP 9000/750
DEC AXP 3000
0
50
100
150
200
250
300
1987 1988 1989 1990 1991 1992 1993 1994 1995
Year
Performance
IBM Power 2/590
1.54X/yr
1.35X/yr
DEC 21064a
Sun UltraSparc
slide 21Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
vooruitgang van computermogelijkheden
0
200
400
600
800
1000
1200
87 88 89 90 91 92 93 94 95 96 97
DEC Alpha 21264/600
DEC Alpha 5/500
DEC Alpha 5/300
DEC Alpha 4/266IBM POWER 100
DEC AXP/500
HP 9000/750
Sun-4/
260
IBMRS/
6000
MIPS M/
120
MIPS M
2000
1.54X/yr
slide 22Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
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
vooruitgang van computermogelijkheden (vervolg)
slide 23Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
minicomputers: worden vervangen door servers gemaakt met microprocessoren
mainframes: worden vervangen door grote multiprocessoren gemaakt met microprocessoren
supercomputers: verzamelingen van microprocessoren
gebruikte terminologie– personal computers
– servers voor werkstations
– mainframes
– werkstations
– supercomputers
vooruitgang van computermogelijkheden (vervolg)
slide 24Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
Technology Trends
Microprocessors
Minicomputers
Mainframes
Supercomputers
Year
0.1
1
10
100
1000
1965 1970 1975 1980 1985 1990 1995 2000
slide 25Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
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
slide 26Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
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
slide 27Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
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
slide 28Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
computerontwerp
Design
Analysis
Architecture is an iterative process:• Searching the space of possible designs• At all levels of computer systems
Creativity
Good IdeasGood Ideas
Mediocre IdeasBad Ideas
Cost /PerformanceAnalysis
slide 29Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
computerontwerp
vroegere verdeling computer architectuur = ontwerp van instructie set implementatie
organisatie hardware
huidige tendens computer architectuur omvat al deze aspecten
slide 30Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
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)
slide 31Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
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
slide 32Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
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)
slide 33Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
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
slide 34Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
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
slide 35Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
trends in implementatietechnologie
Year
Tra
nsi
stor
s
1000
10000
100000
1000000
10000000
100000000
1970 1975 1980 1985 1990 1995 2000
i80386
i4004
i8080
Pentium
i80486
i80286
i8086
CMOS improvements:• Die size: 2X every 3 yrs• Line width: halve / 7 yrs
Alpha 21264: 15 millionPentium Pro: 5.5 millionPowerPC 620: 6.9 millionAlpha 21164: 9.3 millionSparc Ultra: 5.2 million
Moore’s Law
slide 36Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
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.
slide 37Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
trends in implementatietechnologiesize
Year
Bit
s
1000
10000
100000
1000000
10000000
100000000
1000000000
1970 1975 1980 1985 1990 1995 2000
year size(Mb) cyc time
1980 0.0625 250 ns
1983 0.25 220 ns
1986 1 190 ns
1989 4 165 ns
1992 16 145 ns
1996 64 120 ns
2000 256 100 ns
Moore’s Law for Memory: Transistor capacity increases by 4x every 3 years
slide 38Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
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)
source: www.pricewatch.com, 5/21/98
slide 39Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
Memory Summary
DRAM rapid improvements in capacity, MB/$, bandwidth slow improvement in latency
Processor-memory interface (cache+memory bus): bottleneck to bandwidth
slide 40Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
Processor Limit: DRAM Gap
µProc60%/yr..
DRAM7%/yr..
1
10
100
10001980
1981
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
DRAM
CPU
1982
Processor-MemoryPerformance Gap:(grows 50% / year)
Per
form
ance
“Moore’s Law”
• 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
slide 41Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
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
trends in implementatie technologie (vervolg)
slide 42Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
Disk Description / History
1973:1. 7 Mbit/sq. in140 MBytes
1979:7. 7 Mbit/sq. in2,300 MBytes
SectorTrack
Cylinder
HeadPlatter
Arm
Embed. Proc. (ECC, SCSI)
Track Buffer
slide 43Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
1
10
100
1000
10000
1970 1980 1990 2000
Year
Are
al D
ensi
ty
Disk History
1989:63 Mbit/sq. in60,000 MBytes
1997:1450 Mbit/sq. in2300 MBytes
1997:3090 Mbit/sq. in8100 MBytes
slide 44Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
Performance Model /Trends
Capacity + 60%/year (2X / 1.5 yrs)
Transfer rate (BW) + 40%/year (2X / 2.0 yrs)
Rotation + Seek time – 8%/ year (1/2 in 10 yrs)
MB/$ > 60%/year (2X / <1.5
yrs) Fewer chips + areal
densitysource: Ed Grochowski, 1996, “IBM leadership in disk drive technology”;
Latency = Queuing Time + Controller time +Seek Time + Rotation Time + Size / Bandwidth
www.storage.ibm.com/storage/technolo/grochows/grocho01.htm,
per access
per byte
{+
Disk Limit: I/O Buses
CPU Memory bus
Memory
C
External I/O bus
(SCSI)C
(PCI)
C Internal I/O bus
C
Multiple copies of data,SW layers
Bus rate vs. Disk rate SCSI: Ultra2 (40 MHz),
Wide (16 bit): 80 MByte/s FC-AL: 1 Gbit/s = 125 MByte/s (single disk in 2002)
Cannot use 100% of bus Queuing Theory (< 70%) Command overhead
(Effective size = size x 1.2)
Controllers(15 disks)
slide 46Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
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 4 minutes 6 hours2000 12 minutes 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?
slide 47Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
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)
trends in implementatie technologie (vervolg)
slide 48Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
Clock Frequency Growth Rate
• 30% per year
0.1
1
10
100
1,000
19701975
19801985
19901995
20002005
Clo
ck r
ate
(MH
z)
i4004i8008
i8080
i8086 i80286i80386
Pentium100
R10000
slide 49Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
Transistor Count Growth Rate
• 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
Tran
sist
ors
1,000
10,000
100,000
1,000,000
10,000,000
100,000,000
19701975
19801985
19901995
20002005
i4004i8008
i8080
i8086
i80286i80386
R2000
Pentium R10000
R3000
slide 50Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
The future: general characteristics
Description 1995 1998 2001 2004 2007 2010
Line width (m) 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
slide 51Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
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
slide 52Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
The future: high performance (P)
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
slide 53Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
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
slide 54Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
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
slide 55Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
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)
slide 56Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
Component Costs
ComponentCost
List Price
15% to 33%
trends in kostprijs (vervolg)
slide 57Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
Component Costs Direct Costs (add 25% to 40%) recurring costs: labor,
purchasing, scrap, warranty
ComponentCost
Direct Cost
List Price
15% to 33%6% to 8%
trends in kostprijs (vervolg)
slide 58Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
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
ComponentCost
Direct Cost
GrossMargin
List Price
15% to 33%6% to 8%
34% to 39%
trends in kostprijs (vervolg)
slide 59Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
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
ComponentCost
Direct Cost
GrossMargin
AverageDiscount
Avg. Selling Price
List Price
15% to 33%6% to 8%
34% to 39%
25% to 40%
trends in kostprijs (vervolg)
slide 60Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
0%
20%
40%
60%
80%
100%
Mini W/S PC
Average Discount
Gross Margin
Direct Costs
Component Costs
0
1
2
3
4
5
Mini W/S PC
Average Discount
Gross Margin
Direct Costs
Component Costs
4.73.8
1.8
3.52.5
1.5
trends in kostprijs (vervolg)
slide 61Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
het meten en rapporteren van
performantie
slide 62Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
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
slide 63Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
het definiëren van performantie
wat bedoelen we met ‘computer X heeft een betere performantie dan computer Y’ ?
vergelijk met vliegtuigen
vliegtuig
Boeing 737-100
Boeing 747
Concorde
DC-8-50
passagiers-
capaciteit
101
470
132
146
vliegbereik
(km)
1000
6640
6400
13950
vliegsnelheid
(km / u)
957
976
2160
870
passagiersdoorvoer
(passagiers X km/u)
96.657
458.720
285.120
127.020
slide 64Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
het definiëren van performantie (vervolg)
verschillende criteria responsetijd = uitvoeringstijd doorvoer
klassiek definieert men performantie als
als X n keer sneller is dan Y:
termen zoals verhogen of verlagen zijn verwarrend:we zullen spreken over verbeteren en verslechteren
performantie Xuitvoeringstijd X
__
1
nuitvoeringstijd Y
uitvoeringstijd X
performantie X
performantie Y
_
_
_
_
slide 65Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
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
slide 66Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
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
slide 67Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
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
het meten van performantie (vervolg)
slide 68Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
voorbeelden: Livermore Loops (eigenlijk Livermore Fortran Kernels of
LFK) 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)
het meten van performantie (vervolg)
slide 69Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
voorbeelden: Linpack
oplossing van 100x100 lineaire vergelijking met L/U decompositie
klein programma
het meten van performantie (vervolg)
slide 70Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
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
het meten van performantie (vervolg)
slide 71Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
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)
het meten van performantie (vervolg)
slide 72Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
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
slide 73Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
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
slide 74Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
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
slide 75Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
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 $
het meten van performantie (vervolg)
slide 76Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
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
slide 77Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
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
slide 78Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
verslag uitbrengen over performantie (vervolg)
vergelijken van performantie: hoe combineer je informatie ?
niet zo eenvoudig !
Program P1 (secs)
Computer A
1
1000
1001
Computer B
10
100
110
Computer C
20
20
40
Program P2 (secs)
Total time (secs)
slide 79Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
verslag uitbrengen over performantie (vervolg)
totale uitvoeringstijd
rekenkundig gemiddelde
gewogen rekenkundig gemiddelde
Timeii
n
11
1nTimei
i
n
A
gem: W(3) (secs)
P2 (secs)
P1 (secs)
gem: W(2) (secs)
gem: W(1) (secs)
B C W(1) W(2) W(3)
1.00 10.00 20.00 0.50 0.909 0.999
1000.00 20.00 0.50 0.091 0.001100.00
500.50 20.0055.00
91.82 20.0018.18
2.00 20.0010.09
slide 80Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
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)
Normalized to A
P1 (secs)
P2 (secs)
A B C
Normalized to B
A B C
Normalized to C
A B C
Rek Gem
Geo Gem
Tot Tijd
1.0 10.0 20.0
1.0
1.0
1.0
1.0
0.1
5.05
1.0
0.11
1.0
1.0
1.0
1.0
1.0
1.0
1.0
1.0
1.0
1.0
0.02
10.01
0.63
0.04
0.1
10.0
5.05
1.0
9.1
2.0
0.2
1.1
0.63
0.36
0.05
50.0
25.03
1.58
25.03
0.5
5.0
2.75
1.58
2.75
Execution time ratioii
nn _ _
1
slide 81Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
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
slide 82Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
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
slide 83Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
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
slide 84Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
kwantitatieve principes (vervolg)
speedupperformantie met gebruik van verbetering
performantie zonder gebruik van verbetering
speedupuitvoeringstijd zonder gebruik van verbetering
uitvoeringstijd met gebruik van verbetering
ex. time = ex.time fract.fract.
speedup
speeup =ex. time
ex. time
fract.fract.
speedup
new old enhancedenhanced
enhanced
overallold
new
enhancedenhanced
enhanced
1
1
1
slide 85Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
kwantitatieve principes (vervolg) voorbeeld 1
verandering = verbetering met een factor 10 wordt gebruikt 40% van de tijd
speeupfract.
fract.
speedup
00.4
10
overal
enhancedenhanced
enhanced
1
1
1
1 41 56
..
slide 86Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
kwantitatieve principes (vervolg) voorbeeld 2
FP = 50% van uitvoeringstijd van een bepaalde benchmarkFPSQR = 20% van uitvoeringstijd van deze benchmark
alternatief 1: extra hardware: FPSQR is 10 keer sneller
alternatief 2: alle FP berekeningen 2 maal sneller
speedupfract.
fract.
speedup
speedup0
0.2
10
speedup0
0.5
2.0
overal
enhancedenhanced
enhanced
FPSQR
FP
1
1
1
1 2122
1
1 5133
..
..
slide 87Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
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
slide 88Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
kwantitatieve principes (vervolg)
CPU performantie is dus afhankelijk van 3 factoren: aantal instructies, klokcycli per instructie, klokfrequentie
CPU time = CPU klokcycli voor een prog. klokcyclustijd
= CPU klokcycli voor een prog.
klokfrequentie
CPI = CPU klokcycli voor een programma
ICCPU time = IC CPI klokcyclustijd
= IC CPI
klokfrequentie
slide 89Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
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
vb van berekening: zie boek blz 33
CPI = CPI IC
Instr. count CPI
IC
Instr. Count
i i
ii
i
n
i
n1
1
slide 90Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
kwantitatieve principesCPU time = Seconds = Instructions x Cycles x
Seconds
Program Program Instruction Cycle
CPU time = Seconds = Instructions x Cycles x Seconds
Program Program Instruction Cycle
Inst Count CPIClock RateProgram X
Compiler X (X)
Inst. Set. X X
Organization X X
Technology X
slide 91Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
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
slide 92Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
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 ?
slide 93Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
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 instructiesCPIB = 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
slide 94Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
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
slide 95Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
CPU Registers100s Bytes<1 ns
Cache10s-100s K Bytes1-10 ns$10/ MByte
Main MemoryM Bytes100ns- 300ns$1/ MByte
Disk10s G Bytes, 10 ms (10,000,000 ns)$0.0031/ MByte
CapacityAccess TimeCost
Tapeinfinitesec-min$0.0014/ MByte
Registers
Cache
Memory
Disk
Tape
Instr. Operands
Blocks
Pages
Files
StagingXfer Unit
prog./compiler1-8 bytes
cache cntl8-128 bytes
OS512-4K bytes
user/operatorMbytes
Upper Level
Lower Level
faster
Larger
geheugenhiërarchie
slide 96Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
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
Control
Datapath
SecondaryStorage(Disk)
Processor
Registers
MainMemory(DRAM)
SecondLevelCache
(SRAM)
On
-Ch
ipC
ache
1s 10,000,000s (10s ms)
Speed (ns): 10s 100s
100sGs
Size (bytes):Ks Ms
TertiaryStorage
(Disk/Tape)
10,000,000,000s (10s sec)
Ts
geheugenhiërarchie
slide 97Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
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
geheugenhiërarchie (vervolg)
slide 98Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
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
speedupfract.
fract.
speedup
00.9
10
enhancedenhanced
enhanced
1
1
1
1 95 3
..
slide 99Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
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 klokcyclusgeheugen-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
slide 100Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
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
slide 101Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
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)
CPUtime = (CPU klokcycli + geheugen-stall-cycli) x klokcyclus
= (IC x 2.0 + IC x 0.7) x klokcyclus= 2.7 x IC x klokcyclus
geh.-stall - cycli = IC aantal geheugenreferenties per instr.
mis - frequentie kost van missing
= IC 1+ 0.4
IC 0.7
0 02 25.
performantieverbetering = 2.7 IC klokcyclus
2.0 IC klokcyclus
1 35.
slide 102Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
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
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)
MIPS = IC
uitvoeringstijd
klokfrequentie
CPI
6 610 10
slide 103Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
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
slide 104Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
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 één van de programma’s van SPEC89 (matrix300)
werd vaak heel specifiek geoptimiseerd andere concrete voorbeelden in het boek
slide 105Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
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
80100 80
2080
20
080
sec( sec)
secsec
sec
sec
n
n
n
slide 106Structuur en Organisatie van Computersystemen: deel 2 Yolande Berbers
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 performantie-maten: kloksnelheid, CPI, instructie-aantallen
valstrik: piek-performantie gebruiken om machines te vergelijken