Les 4: geheugenstroom in outof-order

Maat: px
Weergave met pagina beginnen:

Download "Les 4: geheugenstroom in outof-order"

Transcriptie

1 Les 4: geheugenstroom in outof-order microarchitectuur Geavanceerde computerarchitectuur Lieven Eeckhout Academiejaar Universiteit Gent

2 Overzicht Geheugenhiërarchie (herhaling Computerarchitectuur en Besturingssystemen ) Geheugenstroom in OoO processor Prestatie verbeteren van de geheugenhiërarchie 2

3 Belang geheugenhiërarchie Latentie verbergen van geheugen Te wijten aan relatief gezien zeer traag geheugen t.o.v. processor Geheugenhiërarchie is zeer effectief Idealiter Oneindige capaciteit Oneindige bandbreedte Persistent (non-volatile) Geen latentie Goedkoop 3

4 Geheugenhiërarchie Component Technologie Bandbreedte Latentie Kost per gigabyte (USD) Schijf Magnetisch 10+ MB/s 10ms < 1 Hoofdgeheugen DRAM 2+ GB/s 50+ ns < 200 On-chip L2 cache SRAM 10+ GB/s 2+ ns < On-chip L1 cache SRAM 50+ GB/s 300+ ps < Registerbestand SRAM met meerdere leesen schrijfpoorten 200+ GB/s 300+ ps > (?) 4

5 Lokaliteit Geheugenhiërarchie is gebaseerd op de notie van lokaliteit Temporele lokaliteit Toegangen tot dezelfde lokatie in geheugen gebeuren dicht bijeen in de tijd Spatiale lokaliteit Toegangen tot naburige lokaties in geheugen gebeuren dicht bijeen in de tijd Zowel in data- als in instructiestroom Voor (bijna) alle computerprogramma s 5

6 M.a.w. Data of instructies die we veel gebruiken plaatsen we dicht bij de processorkern Liefst in registers Indien niet mogelijk, in L1 cache(s) Indien ook niet mogelijk, in L2 cache, enz. Data die we niet veel nodig hebben, laten we ver van de processorkern In hoofdgeheugen of op schijf 6

7 Cache Drie mogelijke organisaties Direct-mapped Set-associatief Volledig associatief Grootte C = S x A x B S = #sets A = associativiteit B = blokgrootte 7

8 Direct-mapped cache adres tag index offset tag data =? hit? data 8

9 Set-associatieve cache adres tag index offset tag data tag data data hit? =? =? 9

10 Vervangingsalgoritme In set-associatieve en volledig associatieve caches Replacement policy Mogelijke vervangingsalgoritmes First-in first-out (FIFO) Least recently used (LRU) Not most recently used (NMRU) Random 10

11 Schrijfoperaties en caches Write through vs. write back Write through: schrijf data onmiddellijk door naar volgend niveau in hiërarchie Vereist meer bandbreedte Write back: schrijf data niet onmiddellijk door, maar markeer dirty bit Data wordt weggeschreven bij een vervanging Write allocate vs. write no-allocate Write allocate: alloceer data in cache Write no-allocate: alloceer data niet in cache Kan op ieder niveau van geheugenhiërarchie verschillend zijn 11

12 Miss-classificatie (voor een gegeven cachegrootte, een gegeven blokgrootte en een gegeven vervangingsalgoritme) Cold miss of compulsory miss Eerste referentie in programma Capacity miss Miss die ook voorkomt bij een volledig associatieve cache Beperking van de grootte van de cache Conflict miss Overige misses Heeft te maken met indexering 12

13 Typische geheugenhiërarchie Eerste niveau (L1) Gescheiden instructie- en datacache 8KB tot 64KB Toegangstijd 1 tot 4 processorcycli Tweede niveau (L2) Geünificeerd (instructies en data samen) 256 KB tot 16MB Toegangstijd 10 tot 30 processorcycli Typisch on-chip Derde niveau (L3) Typisch off-chip, soms met tags on-chip Soms ook on-chip (Intel Xeon en Itanium 2) 13

14 Off-chip hiërarchie Soms ook vierde niveau (L4) Voor geheugen-intensieve applicaties in servers, b.v. IBM xseries 445 op basis van Itanium 2 processors Geheugen (DRAM) 128MB tot 100GB Uniprocessor 70ns In multiprocessor 100ns tot 1000ns 14

15 Virtueel geheugen Programmeur ziet 32- of 64-bit adresruimte Geheugen is echter veel kleiner... Virtueel-geheugensysteem vertaalt het beeld van de programmeur naar het fysieke geheugen Indruk wekken dat volledig virtueel adresbereik aanwezig is in fysiek geheugen En verschillende processen hebben dit beeld... time-sharing Dit vereist vertaling van virtuele adressen naar fysieke adressen; en demand paging 15

16 Adresvertaling virtueel adres pagina van typisch 4 of 8 KB adresvertaling fysiek adres hoofdgeheugen 16

17 Demand paging Hardware gaat na of pagina aanwezig is in fysiek geheugen Indien niet moet de software de pagina inladen vanaf de harde schijf Duurt ongeveer 10ms Processor blokkeren? Neen Exceptie wordt gegenereerd (page fault of paginafout); OS zoekt een fysieke pagina die vervangen mag worden; OS leest pagina van schijf terwijl een ander proces in uitvoering is Wanneer pagina ingelezen is, kan het proces opnieuw gescheduled worden 17

18 Memory protection Fysiek geheugen bevat meerdere pagina s van verschillende processen Proces A mag toestand van proces B niet ongewenst aanpassen Zelfde virtueel adres, verschillend fysiek adres Soms is dit echter wenselijk Gemeenschappelijk geheugen tss. twee processen, of gemeenschappelijke bibliotheken Verschillende virtuele adressen, zelfde fysiek adres Ook binnen één proces kan een geheugentoegang ongewenst zijn: bepaalde acties zijn onmogelijk op bepaalde pagina s protectiebits (zie Besturingssystemen ) 18

19 Paginatabellen bijhouden Voorwaartse paginatabellen Geïnverteerde paginatabellen TLB Translation lookaside buffer Kleine hardware structuur B.v. volledig associatief bestaande uit 64 elementen Gedeelte van paginatabellen bijhouden in hardware Voor instructies (I-TLB) en data (D-TLB) Indien TLB miss Indien afbeelding in paginatabel: lees in hoofdgeheugen Indien niet in paginatabel: pagina niet in geheugen, paginafout (= exceptie) afhandelen via OS 19

20 Cache en TLB virtueel adres tag index pagina-offset TLB fysisch adres fysisch-paginanummer pagina-offset tag index blok-offset cache data 20

21 Overzicht Geheugenhiërarchie (herhaling Computerarchitectuur en Besturingssystemen ) Geheugenstroom in OoO processor Prestatie verbeteren van de geheugenhiërarchie 21

22 Geheugenstroom Memory data flow Load en store operaties Data ophalen uit het geheugen om berekeningen op uit te voeren Spill code: compiler kan niet alle data alloceren in registers, dus extra geheugenoperaties nodig Complexe datastructuren (in geheugen) enkel toegankelijk via geheugen 22

23 Uitvoering geheugenoperatie Drie stappen Adresgeneratie Typisch: adresberekening via een optelling van registerinhoud plus een offset Dit is in de virtuele adresruimte Adresvertaling Vertaling virtueel adres naar fysiek adres Geheugentoegang Effectieve toegang tot data Load: geheugeninhoud ophalen in register Store: registerwaarde opslaan in geheugen 23

24 Load/stores in OoO processor Load moet wachten op register met adres Store moet wachten op twee registers (adres + inhoud) Gepijplijnde uitvoering in FU Eerste trap: adresberekening Tweede trap: adresvertaling Toegang tot TLB; mogelijks een TLB miss of zelfs een paginafout (dit laatste leidt tot een exceptie) Derde trap: Load: waarde opladen in register; mogelijks een D-cache miss en een blokkering van de load/store-eenheid Store: geen derde trap 24

25 Stores in OoO processor Twee pijplijntrappen identiek aan eerste twee trappen voor load Data die weggeschreven moet worden, wordt opgeslagen in reorder buffer en in store queue/buffer Wanneer de store het reorder buffer verlaat (completion), wordt de status bit veranderd in store buffer (of, gecopieerd van store queue naar store buffer) en kan de data weggeschreven worden naar geheugen (retire, in programmavolgorde) Merk op: store is architecturaal gezien uitgevoerd bij completion 25

26 Speculatieve uitvoering Instructies speculatief uitvoeren langs voorspelde pad Dus ook loads en stores... Dit is echter geen probleem Geheugentoestand wordt niet gewijzigd wegens inorder completion vanuit store buffer Loads halen mogelijks (bij cache miss) data op uit geheugen in de cache... Interferentie met data die reeds in de cache aanwezig is... Kan positief of negatief zijn 26

27 Afhankelijkheden tussen geheugenoperaties Wanneer twee geheugenoperaties naar hetzelfde adres verwijzen is er een afhankelijkheid RAW WAR WAW Een eerste mogelijkheid is in-order uitvoering van geheugenoperaties... Beter is out-of-order uitvoering van loads/stores, maar opgepast voor afhankelijkheden in OoO processor Wegens in-order completion kunnen WAW en WAR niet voorkomen Enkel RAW zijn een mogelijks probleem 27

28 OoO uitvoering van loads Vooral OoO voor loads is belangrijk voor een betere prestatie We kunnen geen hernoeming doen in front-end pijplijn omdat de adressen nog niet gekend zijn Loads zijn vaak het begin van een ketting van afhankelijke instructies Twee mogelijke technieken om loads sneller uit te voeren Load bypassing Load forwarding 28

29 Load bypassing... store r2 MEM[A]... load vóór stores uitvoeren store r3 MEM[B]... load r4 MEM[C]... 29

30 Load forwarding... store r2 MEM[A]... store r3 MEM[B]... load r4 MEM[A] RAW afhankelijkheid; data doorsturen van store naar load; load doet geen toegang meer tot geheugen... 30

31 Hoe implementeren in OoO? Niet zo eenvoudig... We beschouwen eerst de organisatie van een superscalaire pijplijn En bekijken twee gevallen In-order uitvoering van load/stores Out-of-order uitvoering van load/stores ( om educatieve redenen; bedoeling is OoO uitvoering van loads/stores) Prestatiewinst 11% tot 19% via load bypassing 1% tot 4% extra via load forwarding 31

32 Organisatie reservatiestation store eenheid load eenheid store buffer adres finished adres data data completed data cache update data + adres 32

33 Werking We veronderstellen (voorlopig) in-order uitvoering van geheugenoperaties Load heeft voorrang op store; schrijfoperatie gebeurt enkel indien bus vrij is en D-cache een geheugenpoort vrij heeft Store buffer Finished: zowel speculatieve als niet-speculatieve instructies Indien langs foutief voorspeld pad, kan genullifieerd worden Completed: niet-speculatieve stores Architecturaal gezien reeds uitgevoerd Moeten uitgevoerd worden in geval van een exceptie 33

34 Load bypassing & forwarding Nagaan of een load data leest die door een store (die vóór de load komt in programmavolgorde) geschreven wordt Indien we in-order uitvoering beschouwen van loads en stores, moeten we dus het store buffer bekijken Indien geen afhankelijkheid, load uitvoeren Load bypassing (vanuit geheugen bekeken) Indien een afhankelijkheid, data van store doorsturen Load forwarding 34

35 Complexiteit store buffer Vrij groot Comparators voor associatieve opzoeking in store buffer Mogelijks meerdere stores met zelfde adres als load; dus, data van meest recente store doorsturen naar load Extra leespoort(en) vanuit load-eenheid 35

36 OoO issue van loads? In-order issue garandeert dat alle stores vóór de load uitgevoerd zijn alvorens load uitgevoerd wordt Enkel store buffer bekijken In-order issue beperkt ILP Load moet wachten op alle voorgaande stores (ook indien load onafhankelijk is van stores) Wat indien OoO issue van load/stores? 36

37 Mogelijks probleem Store die vóór de load komt en die naar hetzelfde adres refereert, is nog niet uitgevoerd wanneer load uitgevoerd wordt Store zit nog in reservatiestation, of is in uitvoering Nog niet in store buffer Meer zelfs, adres is mogelijks nog niet gekend 37

38 OoO issue van loads reservatiestation store eenheid load eenheid store buffer finish finished adres data adres data data adres completed update finished load buffer data cache 38

39 Werking Loads voeren OoO uit Wanneer inputoperandi beschikbaar zijn Bij finish, adres en data in finished load buffer Load verlaat finished load buffer bij completion Bij completion van store, doe associatieve opzoeking in finished load buffer Indien geen overeenkomst: geen afhankelijkheid: load mocht uitgevoerd worden vóór store Indien wel overeenkomst: RAW hazard, dus load wordt genullifieerd, alsook alle instructies die afhankelijk zijn van de load 39

40 Ontwerpkeuzes Load instructies vroeg uitvoeren geeft significante prestatieverhoging Maar Extra hardwarekost is aanzienlijk In geval van foutieve speculatie Load opnieuw uitvoeren (en mogelijks opnieuw ophalen) Alle volgende (afhankelijke) instructies eveneens; een grote kost Oplossing: RAW afhankelijkheid voorspellen tussen een load en een store (dependence prediction) 40

41 Overzicht Geheugenhiërarchie Geheugenstroom in OoO processor Prestatie verbeteren van de geheugenhiërarchie Latentie van cache miss reduceren Miss rate reduceren Latentie van cache miss verbergen Hit time van cache reduceren 41

42 Prestatie verbeteren 4 mogelijke benaderingen Latentie van cache miss reduceren Miss rate reduceren Latentie van cache miss verbergen Hit time van cache reduceren (Meeste van) deze technieken zijn orthogonaal, maw. en-en, niet of-of; voor zowel instructies als data 42

43 Latentie cache miss (1) Meerdere niveaus in hiërarchie Van een gemiddelde toegangstijd = hit_time L1 + miss_rate L1 x latentie MEM... naar... hit_time L1 + miss_rate L1 x (hit_time L2 + miss_rate L2 x latentie MEM ) M.a.w. een kleinere fractie van alle instructies naar hoofdgeheugen Kostelijk qua hardware Tegenwoordig tot ±¾ van de chipoppervlakte! 43

44 Voorbeeld: Intel Itanium 800MHz L1 32KB (I- en D-) L2 96KB L3 4MB CPU core: 25 miljoen transistors Caches: 300 miljoen transistors 44

45 Latentie cache miss (2) (Op hogere niveaus van de hiërarchie; typisch tss. L2 en het hoofdgeheugen) Cachelijn is typisch 32 tot 128 bytes Het woord dat opgehaald wordt is typisch 8 bytes Twee technieken om gevraagde woord sneller naar CPU kern te brengen Early restart: cachelijn ophalen in sequentiële volgorde; wanneer cachelijn opgehaald is, gevraagde woord meteen naar CPU Critical word first: haal gevraagde woord eerst op en stuur naar CPU; haal dan de rest van het blok op 45

46 Latentie cache miss (3) Prioriteit geven aan cache misses tgv. leesoperaties over schrijfoperaties, en buffering Write-through D-cache Om blokkering te vermijden: write buffer (merk op: niet hetzelfde als store buffer) Data tijdelijk in write buffer bijhouden tot wanneer de bus vrij is Bij load miss, write buffer eerst controleren op de data Write-back D-cache Stel load miss heeft een write-back tot gevolg Write-back en dan lezen? Neen Wel: write-back blok kopiëren in write buffer, lezen, inhoud write buffer wegschrijven in geheugen 46

47 Latentie cache miss (4) Write merging Zowel write-through als write-back hebben een vorm van write buffers Write merging gaat verschillende woorden die op naburige adressen of hetzelfde adres liggen samenbrengen in één grotere schrijfoperatie Voordelen: Minder geheugentrafiek Beter gebruik write buffer (minder blokkeringen) 47

48 Latentie cache miss (5) Victim cache Victim cache CPU D-cache MEM 48

49 Victim cache Klein, volledig-associatieve cache Bevat blokken die verwijderd worden uit de cache t.g.v. een miss Bij een cache miss, eerst victim cache bekijken Indien hit: blokken in cache en victim cache omwisselen Indien miss: naar hoofdgeheugen In AMD Athlon: victim cache met 8 elementen 49

50 Latentie cache miss (6) Via verbeterde DRAM-technologie Kortere latentie tot hoofdgeheugen En ook meer bandbreedte Vier technieken Open paging Geheugenbanken Synchrone DRAM-toegang Double data rate 50

51 DRAM adres (14 bits) rijdecoder bitarray 16K x 16K RAS CAS data (16 bits) RAS CAS adres rij kolom data 51

52 Dual Inline Memory Module adres DIMM RAM chip 0 RAM chip 1 RAM chip 2 RAM chip 3 data (16 bits) data (16 bits) data (16 bits) data (16 bits) data (64 bits) 52

53 Open paging adres (14 bits) rijdecoder bitarray 16K x 16K RAS CAS data (16 bits) RAS CAS adres rij kolom kolom data data 53

54 Geheugenbanken bank N-1 bank 1 adres (14 bits) rijdecoder bitarray bitarray bitarray bank 0 RAS CAS data (16 bits) Bank is kleiner kleinere toegangstijd Meerdere open pages 54

55 Bijkomende optimalisaties Synchrone interface Synchronous DRAM Asynchronous DRAM Geen asynchrone handshaking Op basis van een kloksignaal Kortere latentie Double data rate Data wordt getransfereerd op zowel opgaande als neergaande flank van het kloksignaal Hogere bandbreedte 55

56 Overzicht Geheugenhiërarchie Geheugenstroom in OoO processor Prestatie verbeteren van de geheugenhiërarchie Latentie van cache miss reduceren Miss rate reduceren Latentie van cache miss verbergen Hit time van cache reduceren 56

57 Miss rate (1) Grotere blokgrootte Beter spatiale lokaliteit uitbuiten Elimineert koude misses Voor een vaste grootte van de cache bestaat er een optimale blokgrootte Grotere blokgrootte: minder koude misses Maar ook minder aantal sets of associativiteit: dus meer conflict- en capaciteitsmisses Nadeel: grotere latentie in geval van een miss B.v. 32 tot 128 bytes voor L1; 64 tot 256 bytes voor L2 57

58 Miss rate (2) Grotere caches Is een belangrijke trend tegenwoordig omwille van Grote kloof in toegangstijd geheugen t.o.v. klokperiode processor Steeds groter aantal beschikbare transistors per chip B.v. 6MB L3 cache op de chip (Intel Itanium 2) Nadelen Hoge kost Grote toegangstijd (kan deels gecompenseerd worden m.b.v. cachebanken, zie straks) 58

59 Miss rate (3) Hogere associativiteit 2:1 regel -- een heuristiek Een direct-mapped cache met grootte N heeft ongeveer dezelfde miss rate als een 2-wegs set-associatieve cache met grootte N/2 Nadeel: Grotere hit time, mogelijks een probleem voor klokcyclus 59

60 Miss rate (4) Way prediction Zie ook vroeger Weg voorspellen Miss rate ~ set-associatieve cache Latentie ~ direct-mapped cache Miss rate of hit time?? Miss rate t.o.v. direct-mapped cache Hit time t.o.v. set-associatieve cache 60

61 Miss rate (5) Via compileroptimalisaties (codegeneratie) Zowel voor instructies als voor data: code en data layout Voorbeelden voor code: Via profilering conflicten tss. stukken code identificeren, en bij plaatsen van code in binair bestand hiermee rekening houden Alignatie van basisblokken aan begin van een cacheblok (zie vroeger) 61

62 Compileroptimalisaties bis Voorbeelden voor data Lussen omwisselen (loop interchange) /* voor */ for (j = 0; j < 100; j++) for (i = 0; i < 5000; i++) x [i][j] = 2 * x [i][j]; /* na */ for (i = 0; i < 5000; i++) for (j = 0; j < 100; j++) x [i][j] = 2 * x [i][j]; 62

63 Compileroptimalisaties ter Voorbeelden voor data Blocking /* voor */ for (i = 0; i < N; i++) for (j = 0; j < N; j++) { r = 0; for (k = 0; k < N; k++) r += y [i][k] * z [k][j]; x [i][j] = r; } maw. matrix z wordt N keer volledig gelezen 63

64 Compileroptimalisaties ter /* na blocking */ for (jj = 0; jj < N; jj += B) for (kk = 0; kk < N; kk += B) for (i = 0; i < N; i++) for (j = jj; j < min (jj+b,n); j++) { r = 0; for (k = kk; k < min (kk+b,n); k++) r += y [i][k] * z [k][j]; x [i][j] += r; } 64

65 Overzicht Geheugenhiërarchie Geheugenstroom in OoO processor Prestatie verbeteren van de geheugenhiërarchie Latentie van cache miss reduceren Miss rate reduceren Latentie van cache miss verbergen Hit time van cache reduceren 65

66 Verbergen latentie Gemiddelde toegangstijd verkleinen via verbergen latentie Niet-blokkerende cache Out-of-order uitvoering Parallellisme: meerdere simultane cachetoegangen Cachebanken Gepijplijnde cachetoegang Prefetching Voorspellen adres Waardevoorspelling 66

67 Niet-blokkerende cache Een blokkerende cache blokkeert bij cache miss Andere geheugenoperaties kunnen geen toegang doen tot cache Niet-blokkerende (non-blocking) cache door Kroft in 1981 Idee: loads die een cache miss veroorzaken aan de kant zetten In missed load queue, of Miss Status Handling Registers (MSHR) 67

68 Niet-blokkerende cache reservatiestation store eenheid load eenheid cache miss missed load queue store buffer finish adres data adres data data adres update finished load buffer data cache 68

69 Werking Bij cache miss, load aan de kant zetten in missed load queue Andere onafhankelijke loads kunnen verder uitvoeren Wanneer het blok is opgehaald, beëindigt de load zijn uitvoering (finish) Doel: latentie tgv. load miss verbergen door uitvoeren onafhankelijke instructies Indien meerdere outstanding misses, bereiken we parallellisme op niveau van geheugen (memory-level parallelism of MLP) 69

70 Out-of-order uitvoering Wegens exploiteren ILP Latentie L1 miss (tot 10 cycli) kan goed verborgen worden via out-of-order uitvoering Latentie L2 miss (meer dan 100 cycli) kan niet goed verborgen worden via out-oforder uitvoering Wegens eindige grootte reorder buffer (zie later) 70

71 Parallelle cachetoegangen Hoe simultane cachetoegangen (in een zelfde klokcyclus) op een efficiënte manier implementeren? Caches dupliceren? Neen wegens te hoge hardwarekost Mogelijke oplossingen: Cachebanken Gepijplijnde cachetoegangen 71

72 Cachebanken D-cache bank 1 D-cache bank 2 D-cache bank 3 D-cache bank 4 Verdeling tussen verschillende cachebanken gebeurt op basis van een aantal adresbits Nadeel: conflicten (meerdere toegangen tot eenzelfde bank in één cyclus) leiden tot extra cycli in uitvoering [merk op: is afhankelijk van verdeling van data over de verschillende banken] 72

73 Gepijplijnde D-cache toegang Meerdere parallelle toegangen tot D- cache Parallellisme in tijd Nadeel: blokkeringen indien afhankelijkheden tussen opeenvolgende toegangen B.v. pointer chasing code: doorlopen van een gelinkte lijst 73

74 Prefetching Doel: toekomstige load misses anticiperen en de data vroegtijdig ophalen overlap tussen ophalen data en uitvoeren andere instructies vóór de load Wanneer de load dan effectief uitgevoerd wordt, is de data reeds in de cache en hebben we dus geen cache miss Kan in software (prefetch hints) en in hardware, voor zowel instructies als data 74

75 Ontwerpkeuzes Belangrijke aspecten Tijdig ophalen data om latentie te verbergen Mogelijks extra conflicten in cache wegens ophalen data langs foutief voorspeld pad Indien prefetch te vroeg komt, andere zinvolle data wordt onnodig verwijderd uit cache Kan opgelost worden via een apart prefetch buffer Extra communicatie over de bus Voorspelbaarheid? Stride over een array is makkelijk te voorspellen; gelinkte lijst, bomen e.d. zijn veel moeilijker 75

76 Hardware prefetching CPU D-cache prefetcher MEM 76

77 Voorbeeld Stream buffer Door Jouppi in 1990 Bij cache miss, haal ook volgende blok op en houd dit bij in stream buffer Als nadien toegang tot blok in stream buffer, haal het daarop volgende blok op We kunnen meerdere stream buffers hebben die anticiperend ophalen van op verschillende adressen 77

78 Software prefetching Compiler (of programmeur) voegt prefetchinstructies toe in de code Ophalen in Register, of Cache Faulting vs. non-faulting Kan exceptie veroorzaken? Typisch: non-faulting Overhead t.g.v. extra prefetch-instructies Vaak in combinatie met software pipelining, loop unrolling, enz. 78

79 Voorspellen adres van load Load address prediction Door Austin en Sohi in 1995 Adres van ophaalgroep aanleggen aan voorspeller; voorspeller geeft adres terug van leesoperatie; data ophalen in volgende cyclus (dus in begin van de pijplijn) Speculatieve techniek: indien verkeerde voorspelling, herstel nodig 79

80 Voorspellen data van load Load value prediction Lipasti, Wilkerson en Shen, 1996 Effectieve waarde voorspellen van de leesoperatie Speculatieve techniek 80

81 Overzicht Geheugenhiërarchie Geheugenstroom in OoO processor Prestatie verbeteren van de geheugenhiërarchie Latentie van cache miss reduceren Miss rate reduceren Latentie van cache miss verbergen Hit time van cache reduceren 81

82 Hit time reduceren (1) Kleine en eenvoudige caches Direct-mapped is sneller dan setassociatief Klein is sneller dan groot (wegens kortere draadlengtes) Trend: grootte L1 caches blijft gelijk over verschillende generaties, of verkleint zelfs L1 D-cache: 16KB in Pentium III en 8KB in Pentium 4 82

83 Hit time reduceren (2) Latentie adresvertaling virtuele adressen naar fysieke adressen verbergen Extra pijplijntrap voor vertaling... virtueel adres tag index pagina-offset TLB fysiek adres fysiek-paginanummer tag index pagina-offset blok-offset cache data 83

84 Virtuele cache? I.p.v. een fysiek geadresseerde cache? Voordeel: kortere hit time Problemen Protectie wordt bijgehouden als onderdeel van de adresvertaling Bij proces-switch: zelfde virtuele adressen verwijzen naar andere fysieke adressen Oplossing: procesid bijhouden per cachelijn In geval verschillende virtuele adressen verwijzen naar eenzelfde fysiek adres zitten er meerdere kopieën in de cache I/O gebeurt typisch via fysieke adressen 84

85 Alternatief Virtueel geïndexeerd, fysiek getagged virtueel adres tag index pagina-offset index blok-offset TLB cache fysiek paginanummer tag = fysiek paginanummer data =? hit/miss? 85

86 Nadeel Paginagrootte = grootte van één weg in de cache Een direct-mapped cache kan niet groter zijn dan de paginagrootte Door associativiteit toe te voegen kan de cache groter worden 86

87 Hit time reduceren (3) Cachebanken In plaats van één grote cache, meerdere kleine cachebanken Kleine cachebank kortere toegangstijd Selectie cachebank op basis van een aantal bits in adres Typisch blok-interleaving : opeenvolgende blokken in opeenvolgende banken Verhoogt ook bandbreedte van de geheugenhiërarchie 87

88 Oefeningen (1) De IBM Power4 en UltraSPARC III hebben een write through cache op L1 en een write-back cache op L2. Beide cacheniveaus zijn on-chip. Waarom deze ontwerpsbeslissing? Bedenk een adresstroom waarbij een direct-mapped cache beter presteert dan een set-associatieve cache. 88

89 Oefeningen (2) Beschouw een processor met 32-bit virtuele adressen, 4KB pagina s en 36-bit fyische adressen. En beschouw verder L1 I-cache: 64KB, 128 byte blokgrootte, 4WSA, virtuele cache L1 D-cache: 32KB, 64 byte blokgrootte, 2WSA, fysische cache, writeback TLB: 128 elementen, 4WSA Bereken het aantal bits voor de offset, index en tag. Alsook het aantal tag bits en data bits. 89

Computerarchitectuur. App. B. Review of Memory Hierarchy

Computerarchitectuur. App. B. Review of Memory Hierarchy Computerarchitectuur App. B. Review of Memory Hierarchy Kristian Rietveld http://ca.liacs.nl/ Caching De memory wall is een zeer groot probleem dat vraagt om oplossingen. De gebruikelijke oplossing is

Nadere informatie

Vraag 1 (2 punten) (iii) Een lees-opdracht van virtueel adres 2148 seg 0, offset 2148 - idem

Vraag 1 (2 punten) (iii) Een lees-opdracht van virtueel adres 2148 seg 0, offset 2148 - idem Tentamen A2 (deel b) 24-06-2004 Geef (liefst beknopte en heldere) motivatie bij je antwoorden; dus niet enkel ja of nee antwoorden, maar ook waarom. Geef van berekeningen niet alleen het eindresultaat,

Nadere informatie

Examen Geavanceerde Computerarchitectuur

Examen Geavanceerde Computerarchitectuur Examen Geavanceerde Computerarchitectuur Academiejaar 2006-2007 Dinsdag 16 januari 2007, 14u00 Prof. dr. ir. L. Eeckhout Richting: Enkele opmerkingen vooraf: Vul eerst en vooral op ieder blad Uw naam en

Nadere informatie

Digitale en analoge technieken

Digitale en analoge technieken Digitale en analoge technieken Peter Slaets February 14, 2006 Peter Slaets () Digitale en analoge technieken February 14, 2006 1 / 33 Computerarchitectuur 1 Processors 2 Primair geheugen 3 Secundair geheugen

Nadere informatie

Geheugenbeheer. ICT Infrastructuren 2 december 2013

Geheugenbeheer. ICT Infrastructuren 2 december 2013 Geheugenbeheer ICT Infrastructuren 2 december 2013 Doelen van geheugenbeheer Reloca>e (flexibel gebruik van geheugen) Bescherming Gedeeld/gemeenschappelijk geheugen Logische indeling van procesonderdelen

Nadere informatie

Tentamen 17 augustus 2000 Opgaven Computerarchitectuur

Tentamen 17 augustus 2000 Opgaven Computerarchitectuur Tentamen 17 augustus 2000 Opgaven - 1 - Computerarchitectuur Tentamen Computerarchitectuur (213005) 17 augustus 2000 2 bladzijden met 5 opgaven 3 antwoordbladen Het raadplegen van boeken, diktaten of aantekeningen

Nadere informatie

Oefeningenlessen Geavanceerde Computerarchitectuur

Oefeningenlessen Geavanceerde Computerarchitectuur Oefeningenlessen Geavanceerde Computerarchitectuur Lieven Eeckhout Academiejaar 2010-2011 Hybride tournament sprongvoorspeller Beschouw een hybride tournament sprongvoorspeller bestaande uit een bimodale

Nadere informatie

Geheugenbeheer. ICT Infrastructuren. hoofdstukken 7 en 8.1

Geheugenbeheer. ICT Infrastructuren. hoofdstukken 7 en 8.1 Geheugenbeheer ICT Infrastructuren hoofdstukken 7 en 8.1 Eenvoudig geheugenbeheer OS gebruikt een klein stukje geheugen rest is voor gewone processen OS vrij 0 1000 Eenvoudig geheugenbeheer OS gebruikt

Nadere informatie

Uitwerking oefententamen Computerarchitectuur December 2016

Uitwerking oefententamen Computerarchitectuur December 2016 Uitwerking oefententamen Computerarchitectuur December 2016 I.a. De overall CPI kan worden berekend met de formule n IC i CPI Instruction count CPI i voor de ratio vullen we telkens de geven frequentie

Nadere informatie

Computerarchitectuur. Terugblik / discussie / oefenopgaven

Computerarchitectuur. Terugblik / discussie / oefenopgaven Computerarchitectuur Terugblik / discussie / oefenopgaven Kristian Rietveld http://ca.liacs.nl/ Trends & Performance Voorkennis We bouwden een 4-bit microprocessor bij Digitale Technieken. Bij computerarchitectuur

Nadere informatie

Computerarchitectuur. H&P Ch 2. Memory Hierarchy Design

Computerarchitectuur. H&P Ch 2. Memory Hierarchy Design Computerarchitectuur H&P Ch 2. Memory Hierarchy Design Kristian Rietveld http://ca.liacs.nl/ Motivatie Hoe dichter bij de CPU, hoe sneller het geheugen. - Maar ook: kleiner en duurder. Programmeurs willen

Nadere informatie

Les 11: systeemarchitectuur virtuele machines

Les 11: systeemarchitectuur virtuele machines Les 11: systeemarchitectuur virtuele machines Geavanceerde computerarchitectuur Lieven Eeckhout Academiejaar 2008-2009 Universiteit Gent Virtuele machines Motivatie Interfaces Virtualisatie: inleiding

Nadere informatie

Computertechniek vorige examens

Computertechniek vorige examens Computertechniek vorige examens Examen 2009 Groep 1 1. Geef de 2 manieren waarop de adressen van de I/O-module in de adresruimte geïntegreerd kunnen zijn. (memory-mapped en isolated dus) 2. Wat is post-indexering?

Nadere informatie

Virtueel Geheugen en demand paging (1)

Virtueel Geheugen en demand paging (1) Virtueel Geheugen en demand paging (1) Programma's zijn vaak niet in hun geheel in het geheugen nodig, vanwege: zelden gebruikte onderdelen groter gedeclareerde arrays dan nodig als programma helemaal

Nadere informatie

Examen besturingssystemen

Examen besturingssystemen Examen besturingssystemen Vrijdag 3 februari 2006, 9u 12u Prof. Koen De Bosschere Richting: Naam: Belangrijk 1. Vergeet niet uw naam te vermelden. 2. Schrijf de antwoorden in de daarvoor voorziene ruimte.

Nadere informatie

computerarchitectuur antwoorden

computerarchitectuur antwoorden 2017 computerarchitectuur antwoorden F. Vonk versie 1 2-8-2017 inhoudsopgave hardware... - 3 - CPU... - 3 - bussen... - 4 - bridges... - 4 - RAM... - 4 - hardware architectuur... - 5 - Dit werk is gelicenseerd

Nadere informatie

Examen Geavanceerde Computerarchitectuur

Examen Geavanceerde Computerarchitectuur Examen Geavanceerde Computerarchitectuur Academiejaar 2010-2011 Maandag 17 januari 2010, 8u30 Prof. dr. ir. L. Eeckhout Naam: Richting: Enkele opmerkingen vooraf: Vul eerst en vooral op ieder blad Uw naam

Nadere informatie

Geheugen en Adressering. Binding. Binding (2) Logische en Fysieke adresruimten. relocatie register. Dynamic loading

Geheugen en Adressering. Binding. Binding (2) Logische en Fysieke adresruimten. relocatie register. Dynamic loading Geheugen en Adressering Binding Geheugen (main memory, primary storage) is noodzakelijk voor de uitvoering van programma's. te beschouwen als array van adresseerbare bytes (of woorden). verschillende processen

Nadere informatie

RAM geheugens. Jan Genoe KHLim. Situering RAM-geheugens. Geheugens. Halfgeleider Geheugens. Willekeurig toegankelijk geheugen

RAM geheugens. Jan Genoe KHLim. Situering RAM-geheugens. Geheugens. Halfgeleider Geheugens. Willekeurig toegankelijk geheugen Jan Genoe KHLim Situering RAM-geheugens Geheugens Halfgeleider Geheugens Serieel toegankelijk geheugen Willekeurig toegankelijk geheugen Read Only Memory ROM Random Access Memory RAM Statische RAM SRAM

Nadere informatie

Memory Management. Virtual Memory. Eisen Memory Management. Verdelen geheugen over meerdere processen

Memory Management. Virtual Memory. Eisen Memory Management. Verdelen geheugen over meerdere processen Memory Management Process control information Entry point to program Process Control Block Verdelen geheugen over meerdere processen Program Branch instruction Virtual Memory Data Reference to data Processen

Nadere informatie

informatica. hardware. overzicht. moederbord CPU RAM GPU architectuur (vwo)

informatica. hardware. overzicht. moederbord CPU RAM GPU architectuur (vwo) informatica hardware overzicht moederbord CPU RAM GPU architectuur (vwo) 1 moederbord basis van de computer componenten & aansluitingen chipset Northbridge (snel) Southbridge ("traag") bussen FSB/HTB moederbord

Nadere informatie

Computerarchitectuur en netwerken. Memory management Assembler programmering

Computerarchitectuur en netwerken. Memory management Assembler programmering Computerarchitectuur en netwerken 2 Memory management Assembler programmering Lennart Herlaar 10 september 2018 Inhoud 1 Protectie: Hoe het O.S. programma s tegen elkaar kan beschermen modes memory management

Nadere informatie

Examen Geavanceerde Computerarchitectuur

Examen Geavanceerde Computerarchitectuur Examen Geavanceerde Computerarchitectuur Academiejaar 2007-2008 Maandag 21 januari 2008, 14u00 Prof. dr. ir. L. Eeckhout Naam: Richting: Enkele opmerkingen vooraf: Vul eerst en vooral op ieder blad Uw

Nadere informatie

Examen computerarchitectuur

Examen computerarchitectuur Examen computerarchitectuur Dinsdag 16 juni 2009, 14u00 Prof. Koen De Bosschere Richting: Naam: Belangrijk 1. Vergeet niet uw naam te vermelden. 2. Schrijf de antwoorden in de daarvoor voorziene ruimte.

Nadere informatie

Les 9: Meerdradige uitvoering

Les 9: Meerdradige uitvoering Les 9: Meerdradige uitvoering consistentie Geavanceerde computerarchitectuur Lieven Eeckhout Academiejaar 2008-2009 Universiteit Gent Overzicht Sequentiële consistentie Versoepelde consistentie Transactional

Nadere informatie

Examen besturingssystemen

Examen besturingssystemen Examen besturingssystemen Vrijdag 11 januari 2008, 13u30 17u00 Prof. Koen De Bosschere Richting: Naam: Belangrijk 1. Vergeet niet uw naam te vermelden. 2. Schrijf de antwoorden in de daarvoor voorziene

Nadere informatie

Sequentiële gepijplijnde machine

Sequentiële gepijplijnde machine Sequentiële gepijplijnde machine Samenvatting controlesignalen Als we de controlesignalen van vorig hoofdstuk nemen, kunnen we per cyclus een naam geven aan de stap. We plaatsen hiervoor wel de registerbeschrijving

Nadere informatie

Tentamen Computersystemen

Tentamen Computersystemen Tentamen Computersystemen baicosy6 2e jaar bachelor AI, 2e semester 21 oktober 213, 9u-11u OMHP D.9 vraag 1 Van een Single Cycle Harvard machine hebben de componenten de volgende propagation delay time:

Nadere informatie

Hardware Beginners. Processoren. Door Theo De Paepe

Hardware Beginners. Processoren. Door Theo De Paepe Hardware Beginners Processoren Merken en types Intel AMD * Pentium * Pentium II * Pentium III * Pentium 4 * Celeron * K6 * K7 / Athlon (64 BIT) * Duron * Sempron Opbouw En nog: * FPU * Datalijnen * Adreslijnen

Nadere informatie

Examen besturingssystemen

Examen besturingssystemen Examen besturingssystemen Dinsdag 8 februari 2005, 9u 12u Prof. Koen De Bosschere Richting: Naam: Belangrijk 1. Vergeet niet uw naam te vermelden. 2. Schrijf de antwoorden in de daarvoor voorziene ruimte.

Nadere informatie

Computerarchitectuur en netwerken. Memory management Assembler programmering

Computerarchitectuur en netwerken. Memory management Assembler programmering Computerarchitectuur en netwerken 2 Memory management Assembler programmering Lennart Herlaar 12 september 2016 Inhoud 1 Protectie: Hoe het O.S. programma s tegen elkaar kan beschermen modes memory management

Nadere informatie

Examen besturingssystemen

Examen besturingssystemen Examen besturingssystemen Zaterdag 26 januari 2013, 14u00 Prof. Koen De Bosschere Richting: Naam: Belangrijk 1. Vergeet niet uw naam te vermelden. 2. Schrijf de antwoorden in de daarvoor voorziene ruimte.

Nadere informatie

Beter, Sneller, Mooier. Processoren 12 januari 2015

Beter, Sneller, Mooier. Processoren 12 januari 2015 Beter, Sneller, Mooier Processoren 12 januari 2015 Beter! Sneller! Krachtigere CPU: maak instructies die meer doen Snellere CPU: pipeline, out-of-order execution Sneller RAM: cache meer mogelijkheden...

Nadere informatie

Examen computerarchitectuur

Examen computerarchitectuur Examen computerarchitectuur Vrijdag 6 juni 2008, 14:00 Prof. Koen De Bosschere Naam, Voornaam: Richting: Belangrijk 1. Vergeet niet uw naam en voornaam te vermelden. 2. Schrijf de antwoorden in de daarvoor

Nadere informatie

slides2.pdf April 12,

slides2.pdf April 12, Werking van CPU CSN CS2 CPU, I/O en Memory management Piet van Oostrum 12 april 2002 De ALU kan alleen eenvoudige operaties uitvoeren (bijv. twee getallen optellen, vermenigvuldigen of testen of iets >

Nadere informatie

Computerarchitectuur en netwerken Toets 1 4 okt

Computerarchitectuur en netwerken Toets 1 4 okt 11.00 13.00 De open vragen moet je beantwoorden op tentamenpapier. De multiple-choice antwoorden moet je op het vragenblad invullen in de rechtervakjes en dat blad inleveren. Schrijf je naam, studentnummer

Nadere informatie

Examen computerarchitectuur

Examen computerarchitectuur Examen computerarchitectuur Woensdag 22 juni 2005, 8u30 Prof. Koen De Bosschere Naam, Voornaam: Richting: Belangrijk 1. Vergeet niet uw naam en voornaam te vermelden. 2. Schrijf de antwoorden in de daarvoor

Nadere informatie

Nederlandse samenvatting (Dutch summary)

Nederlandse samenvatting (Dutch summary) Nederlandse samenvatting (Dutch summary) Ditproefschriftpresenteerteen raamwerk voorhetontwikkelenvanparallellestreaming applicaties voor heterogene architecturen met meerdere rekeneenheden op een chip.

Nadere informatie

Sequentiële Logica. Processoren 24 november 2014

Sequentiële Logica. Processoren 24 november 2014 Sequentiële Logica Processoren 24 november 2014 Inhoud Eindige automaten Schakelingen met geheugen Realisatie van eindige automaten Registers, schuifregisters, tellers, etc. Geheugen Herinnering van week

Nadere informatie

Examen besturingssystemen

Examen besturingssystemen Examen besturingssystemen Vrijdag 30 januari 2004, 14u 17u Prof. Koen De Bosschere Richting: Naam: Belangrijk 1. Vergeet niet uw naam te vermelden. 2. Schrijf de antwoorden in de daarvoor voorziene ruimte.

Nadere informatie

Computerarchitectuur. H&P Ch 5. Thread-Level Parallelism

Computerarchitectuur. H&P Ch 5. Thread-Level Parallelism Computerarchitectuur H&P Ch 5. Thread-Level Parallelism Kristian Rietveld http://ca.liacs.nl/ Thread-Level Parallelism In het geval van thread-level parallelism (TLP) gaan we uit van meerdere threads.

Nadere informatie

TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica

TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica Examen Operating Systemen (2R230) op vrijdag 26 augustus 2005, 14.00-17.00 uur. Het tentamen bestaat uit drie delen die apart worden

Nadere informatie

Centrale begrippen hoofdstuk 3. Waarom multiprogramming? Vandaag. processen proces state: running, ready, blocked,... Vragen??

Centrale begrippen hoofdstuk 3. Waarom multiprogramming? Vandaag. processen proces state: running, ready, blocked,... Vragen?? Vragen?? Vandaag Hoofdstuk 4: threads (tentamenstof : 4.1 t/m 4.2) Kleine Opgaven 4.1 (niet alleen ja of nee, ook waarom!) en 4.4 inleveren maandag Centrale begrippen hoofdstuk 3 processen proces state:

Nadere informatie

computerarchitectuur F. Vonk versie

computerarchitectuur F. Vonk versie 2017 computerarchitectuur F. Vonk versie 1 2-8-2017 inhoudsopgave 1. inleiding... - 3-2. hardware... - 4-3. moederbord... - 5-4. CPU... - 7-5. bussen... - 12-6. bridges... - 15-7. RAM... - 16-8. hardware

Nadere informatie

' Het tentamen is gesloten boek, dus het is niet toegestaan om het tekstboek, slides of eigen gemaakte aantekeningen te gebruiken.

' Het tentamen is gesloten boek, dus het is niet toegestaan om het tekstboek, slides of eigen gemaakte aantekeningen te gebruiken. Tentamen Operating Systems Dinsdag 14 juni 2016,10:00-13:00 Examinator: dr. K. F. D. Rietveld ' Het tentamen is gesloten boek, dus het is niet toegestaan om het tekstboek, slides of eigen gemaakte aantekeningen

Nadere informatie

Klas : 5 Industriële ICT Herhalingsvragen reeks 1 PC-techniek

Klas : 5 Industriële ICT Herhalingsvragen reeks 1 PC-techniek Klas : 5 Industriële ICT Herhalingsvragen reeks 1 PC-techniek VTI St.- Laurentius Neem eerst de tekst in het boek door, doe dit enkele keren en probeer uiteraard te onthouden wat je leest. Los nadien de

Nadere informatie

TECHNISCHE UNIVERSITEIT EINDHOVEN FACULTEIT DER TECHNISCHE NATUURKUNDE

TECHNISCHE UNIVERSITEIT EINDHOVEN FACULTEIT DER TECHNISCHE NATUURKUNDE @! TECHNISCHE UNIVERSITEIT EINDHOVEN FACULTEIT DER TECHNISCHE NATUURKUNDE Tentamen Computers bij fysische experimenten (3BB0) op donderdag 3 november 006, 10:30-1:00 Het tentamen duurt 90 minuten en wordt

Nadere informatie

Hoofdstuk 3: Processen: Beschrijving en Besturing. Wat is een proces? Waarom processen? Wat moet het OS ervoor doen? Is het OS zelf een proces?

Hoofdstuk 3: Processen: Beschrijving en Besturing. Wat is een proces? Waarom processen? Wat moet het OS ervoor doen? Is het OS zelf een proces? Hoofdstuk 3: Processen: Beschrijving en Besturing Wat is een proces? Waarom processen? Wat moet het OS ervoor doen? Is het OS zelf een proces? 1 Wat is een proces? Een proces is een programma in uitvoering

Nadere informatie

Examen Geavanceerde Computerarchitectuur

Examen Geavanceerde Computerarchitectuur Examen Geavanceerde Computerarchitectuur Academiejaar 2009-2010 Maandag 4 januari 2010, 14u00 Prof. dr. ir. L. Eeckhout Naam: Richting: Enkele opmerkingen vooraf: Vul eerst en vooral op ieder blad Uw naam

Nadere informatie

SOCS: Oefeningen Hoofdstuk 2

SOCS: Oefeningen Hoofdstuk 2 SOCS: Oefeningen Hoofdstuk 2 Digitale Logica Opgave 1 Wat is een transistor? Een transistor bestaat uit een aantal gedopeerde halfgeleiders. Het doperen van de halfgeleiders is het wijzigen van de geleidende

Nadere informatie

TECHNISCHE UNIVERSITEIT EINDHOVEN FACULTEIT DER TECHNISCHE NATUURKUNDE

TECHNISCHE UNIVERSITEIT EINDHOVEN FACULTEIT DER TECHNISCHE NATUURKUNDE TECHNISCHE UNIVERSITEIT EINDHOVEN FACULTEIT DER TECHNISCHE NATUURKUNDE Tentamen Computers bij fysische experimenten (3BB20) op dinsdag 25 oktober 2005 Het tentamen duurt 90 minuten en wordt gemaakt zonder

Nadere informatie

Examen besturingssystemen

Examen besturingssystemen Examen besturingssystemen Zaterdag 14 januari 2017, 8u30 Prof. Koen De Bosschere Richting: Naam: Belangrijk 1. Vergeet niet uw naam te vermelden. 2. Schrijf de antwoorden in de daarvoor voorziene ruimte.

Nadere informatie

TECHNISCHE UNIVERSITEIT EINDHOVEN ComputerSystemen Deeltentamen B (weken 6..9) vakcode 2M208 woensdag 19 Maart 2003, 9:00-10:30

TECHNISCHE UNIVERSITEIT EINDHOVEN ComputerSystemen Deeltentamen B (weken 6..9) vakcode 2M208 woensdag 19 Maart 2003, 9:00-10:30 TECHNISCHE UNIVERSITEIT EINDHOVEN ComputerSystemen Deeltentamen B (weken 6..9) vakcode 2M208 woensdag 19 Maart 2003, 9:00-10:30 Algemene opmerkingen (lees dit!): - Dit tentamen duurt ANDERHALF UUR! - Dit

Nadere informatie

IN1805 I Operating System Concepten

IN1805 I Operating System Concepten IN1805 I Operating System Concepten Hoofdstuk 12: Mass-storage structure 9-1 Secondary storage (1) voornamelijk disks kleinst leesbare eenheid: sector plaats van een sector volledig bepaald door: drive

Nadere informatie

Computerarchitectuur. H&P App. C. Pipelining

Computerarchitectuur. H&P App. C. Pipelining Computerarchitectuur H&P App. C. Pipelining Kristian Rietveld http://ca.liacs.nl/ Motivatie Pipelining is een techniek die tegenwoordig in iedere CPU wordt gebruikt om de performance te verbeteren. Idee:

Nadere informatie

Uitwerking Tentamen Operating Systems Maandag 15 juni 2015 P1 P2 P3 P4 P5 P1 P3 P5 P4 P2 P1 P3 P5 P3. Opgave 1

Uitwerking Tentamen Operating Systems Maandag 15 juni 2015 P1 P2 P3 P4 P5 P1 P3 P5 P4 P2 P1 P3 P5 P3. Opgave 1 Uitwerking Tentamen Operating Systems Maandag 15 juni 2015 Belangrijk: de gegeven antwoorden vormen één mogelijke uitwerking van het tentamen. Echter zijn er bij vele vragen meerdere correcte antwoorden

Nadere informatie

Multi-core systemen. door Alexander Melchior

Multi-core systemen. door Alexander Melchior Multi-core systemen Multi-cpu & Multi-core Multi cpu & Multi core door Alexander Melchior Toevoeging aan GDP Overdragen Capita Selecta Waarom? Een stukje geschiedenis 2005: Introductie eerste consumenten

Nadere informatie

Computerarchitectuur 2016 Inleveropdracht 3: Exploiting Memory Hierarchies in Modern Systems

Computerarchitectuur 2016 Inleveropdracht 3: Exploiting Memory Hierarchies in Modern Systems Computerarchitectuur 2016 Inleveropdracht 3: Exploiting Memory Hierarchies in Modern Systems Gesuggereerde Deadline: zondag 27 november 2016 Zoals we in het hoorcollege uitgebreid hebben besproken spelen

Nadere informatie

Een desktopcomputer kan uit de volgende onderdelen zijn opgebouwd:

Een desktopcomputer kan uit de volgende onderdelen zijn opgebouwd: SAMENVATTING HOOFDSTUK 1 Een computersysteem De twee meest gebruikte modellen computers zijn: * Desktop * Laptop Een desktopcomputer kan uit de volgende onderdelen zijn opgebouwd: Systeemkast Beeldscherm

Nadere informatie

ICT Infrastructuren: Processen en Threads. 18 november 2013 David N. Jansen

ICT Infrastructuren: Processen en Threads. 18 november 2013 David N. Jansen ICT Infrastructuren: Processen en Threads 18 november 2013 David N. Jansen Datum en Ajd van werkcollege na overleg met de aanwezigen: donderdag 8:45 10:30 Leerdoel voor vandaag. Stallings hoofdst 2 4 Hoofddoelen

Nadere informatie

Examen Geavanceerde Computerarchitectuur

Examen Geavanceerde Computerarchitectuur Examen Geavanceerde Computerarchitectuur Academiejaar 2008-2009 Maandag 30 januari 2009, 14u00 Prof. dr. ir. L. Eeckhout Voornaam: Naam: Richting: Enkele opmerkingen vooraf: Vul eerst en vooral op ieder

Nadere informatie

Examen computerarchitectuur

Examen computerarchitectuur Examen computerarchitectuur Vrijdag 6 juni 2003, 8u30 Prof. Koen De Bosschere Naam, Voornaam: Richting: Belangrijk 1. Vergeet niet uw naam en voornaam te vermelden. 2. Schrijf de antwoorden in de daarvoor

Nadere informatie

Examen besturingssystemen

Examen besturingssystemen Examen besturingssystemen Dinsdag 6 januari 2009, 14u00 Prof. Koen De Bosschere Richting: Naam: Belangrijk 1. Vergeet niet uw naam te vermelden. 2. Schrijf de antwoorden in de daarvoor voorziene ruimte.

Nadere informatie

De computer als processor

De computer als processor De computer als processor DE FYSIEKE COMPUTER Componenten van de computerconfiguratie Toetsenbord Muis Scanner Microfoon (Extern geheugen) Invoerapparaten Uitvoerapparaten Monitor Printer Plotter Luidspreker

Nadere informatie

HOOFDSTUK 1: Performantie van webgebaseerde toepassingen

HOOFDSTUK 1: Performantie van webgebaseerde toepassingen HOOFDSTUK 1: Performantie van webgebaseerde toepassingen 1. Basisprincipes componenten en tijden is totale antwoordtijd is transfertijd is transfertijd http-request is transfertijd http-reply (data) is

Nadere informatie

RAM en CPU. Mute (http://mutecode.com) 1 september

RAM en CPU. Mute (http://mutecode.com) 1 september en CPU Mute (http://mutecodecom) 1 september 2015 De meeeste RAM is vluchtig Daarmee bedoelen we dat de data verloren gaat wanneer de spanning wegvalt Veel voorkomende types RAM zijn: Dynamic RAM (DRAM)

Nadere informatie

Verhogen van geheugenparallellisme via dynamische codeoptimalisatie

Verhogen van geheugenparallellisme via dynamische codeoptimalisatie Faculteit Ingenieurswetenschappen Vakgroep Elektronica en Informatiesystemen Voorzitter: Prof. dr. ir. J. Van Campenhout Verhogen van geheugenparallellisme via dynamische codeoptimalisatie door Koen Beel

Nadere informatie

1=2720/2725 Operating System Concepten

1=2720/2725 Operating System Concepten TECHNISCHE UNIVERSITEIT DELFT Faculteit EWI, Afdeling SCT 1 1 1=2720/2725 Operating System Concepten ^ november 2013, 14.00-17.00 uur. docent: H.J. Sips Dit is een tentamen met 9 open vragen Opgave Punten

Nadere informatie

Nauwkeurige on-the-fly prestatie-analyse van multi-core processors

Nauwkeurige on-the-fly prestatie-analyse van multi-core processors Nauwkeurige on-the-fly prestatie-analyse van multi-core processors Maarten Heyse Promotor: prof. dr. ir. Lieven Eeckhout Begeleider: Stijn Eyerman Masterproef ingediend tot het behalen van de academische

Nadere informatie

High Performance Computing

High Performance Computing High Performance Computing Kristian Rietveld (krietvel@liacs.nl, kamer 138) Groep Computer Systems High-Performance Computing Optimizing compilers (generieke codes, maar ook specifieke rekenkernels). Parallel

Nadere informatie

von-neumann-architectuur Opbouw van een CPU Processoren 1 december 2014

von-neumann-architectuur Opbouw van een CPU Processoren 1 december 2014 von-neumann-architectuur Opbouw van een CPU Processoren 1 december 2014 Herhaling: Booleaanse algebra (B = {0,1},., +, ) Elke Booleaanse functie f: B n B m kan met., +, geschreven worden Met Gates (electronische

Nadere informatie

High Performance Computing

High Performance Computing High Performance Computing Kristian Rietveld (krietvel@liacs.nl, kamer 138) Groep Computer Systems - Embedded systems - Specifieke software mappen op specfieke hardware. - Hardware synthesis. - Real-time

Nadere informatie

Waarmaken van Leibniz s droom

Waarmaken van Leibniz s droom Waarmaken van Leibniz s droom Artificiële intelligentie Communicatie & internet Operating system Economie Computatietheorie & Software Efficiënt productieproces Hardware architectuur Electronica: relais

Nadere informatie

Het gebruik van snel flashgeheugen is dus aan te raden. Er zijn ook flashgeheugens met een logo om aan te geven dat het geschikt is voor ReadyBoost.

Het gebruik van snel flashgeheugen is dus aan te raden. Er zijn ook flashgeheugens met een logo om aan te geven dat het geschikt is voor ReadyBoost. ReadyBoost ReadyBoost is een techniek van het Windows Vista en Windows 7 besturingssysteem om de prestaties van het systeem te verbeteren. Hierbij maakt het gebruik van het flashgeheugen van bijvoorbeeld

Nadere informatie

Een desktopcomputer kan uit de volgende onderdelen zijn opgebouwd:

Een desktopcomputer kan uit de volgende onderdelen zijn opgebouwd: Soorten Personal Computers De drie meest voorkomende computers zijn: * Desktop * Laptop * Tablet Een desktopcomputer kan uit de volgende onderdelen zijn opgebouwd: Systeemkast Beeldscherm Toetsenbord Printer

Nadere informatie

Computerarchitectuur. Hoofdstuk 3: Instruction-Level Parallelism

Computerarchitectuur. Hoofdstuk 3: Instruction-Level Parallelism Computerarchitectuur Hoofdstuk 3: Instruction-Level Parallelism Kristian Rietveld http://ca.liacs.nl/ Instruction-level Parallelism Doel: gebruik maken van potentiële overlap tussen opeenvolgende instructies.

Nadere informatie

Computerarchitectuur en Netwerken. Computerarchitectuur

Computerarchitectuur en Netwerken. Computerarchitectuur Computerarchitectuur en Netwerken 1 Computerarchitectuur Lennart Herlaar 2 september 2015 Opbouw van het vak Eerst (6 keer) over de opbouw van computer en operating system Collegedictaat Systeemarchitectuur

Nadere informatie

Examen computerarchitectuur

Examen computerarchitectuur Examen computerarchitectuur Vrijdag 8 juni 2007, 14u00 Prof. Koen De Bosschere Naam, Voornaam: Richting: Belangrijk 1. Vergeet niet uw naam en voornaam te vermelden. 2. Schrijf de antwoorden in de daarvoor

Nadere informatie

11011 Processor MMI Intro. Binaire representatie. Computer: Logische opbouw (Von Neumann) 3-input 1-hot detector.

11011 Processor MMI Intro. Binaire representatie. Computer: Logische opbouw (Von Neumann) 3-input 1-hot detector. NOT NOT NOT NOT NOT NOT 9-09-7 Intro MMI The Digital World 2 Peter van Kranenburg Vandaag: Terugblik vorige week Werking CPU Soorten instructies Werking CPU Cache Pipelining Digitale representatie Tekst

Nadere informatie

Hardware-software Co-design

Hardware-software Co-design Jan Genoe KHLim Versie: maandag 10 juli 2000 Pagina 1 Wat is HW/SW Co-design Traditioneel design: De verdeling tussen de HW en de SW gebeurt bij het begin en beiden worden onafhankelijk ontwikkeld Verweven

Nadere informatie

Van Poort tot Pipeline. Ben Bruidegom & Wouter Koolen-Wijkstra AMSTEL Instituut Universiteit van Amsterdam

Van Poort tot Pipeline. Ben Bruidegom & Wouter Koolen-Wijkstra AMSTEL Instituut Universiteit van Amsterdam Van Poort tot Pipeline Ben Bruidegom & Wouter Koolen-Wijkstra AMSTEL Instituut Universiteit van Amsterdam Van Poort tot Pipeline Pipeline processor One cycle machine Calculator File of registers Assembly

Nadere informatie

In te vullen tabellen.

In te vullen tabellen. In te vullen tabellen. Basisprincipes Binair rekenen: omzettingen: decimaal --> hexadecimaal Stel (40)10 = (?)16 40 16-32 2 16 8-0 0 2 =(28) 16 Binair rekenen: omzettingen: binair --> hexadecimaal Stel

Nadere informatie

AndesCore TM N1213-S. AndesCore N1213-S. CPU Core. Configurability for customers

AndesCore TM N1213-S. AndesCore N1213-S. CPU Core. Configurability for customers AndesCore TM N1213-S 1 www.andestech.com AndesCore N1213-S CPU Core 32bit CPU Single issue with 8-stage pipeline Andestar ISA with 16-/32-bit intermixable instructions to reduce code size Dynamic branch

Nadere informatie

Ekt1. Computer bouwen

Ekt1. Computer bouwen Computer bouwen 1 Inhoudsopgave Inleiding blz. 3 Systemrequirements blz. 3 Benodigdheden blz. 4/5 Conclusies blz. 6 Bronvermelding blz. 6 2 Inleiding Tijdens de les kregen wij de opdracht om een computer

Nadere informatie

scc = b) CD AB

scc = b) CD AB Computerarchitectuur en -organisatie (213030) Dinsdag 21 januari 2040, 13.30 17.00 uur 7 bladzijden met 8 opgaven 4 bladzijden met documentatie Let op: Vul het tentamenbriefje volledig in (d.w.z. naam,

Nadere informatie

Samenvatting Computer Architectuur 2006-2007

Samenvatting Computer Architectuur 2006-2007 Sequentiële logica Wat is sequentiële logica We noemen dit ook wel final state machine. Het neemt een ingang en een huidige toestand en vertaalt die via een combinatorische functie in een uitgang en een

Nadere informatie

Examen besturingssystemen

Examen besturingssystemen Examen besturingssystemen Vrijdag 21 januari 2011, 8u30 Prof. Koen De Bosschere Richting: Naam: Belangrijk 1. Vergeet niet uw naam te vermelden. 2. Schrijf de antwoorden in de daarvoor voorziene ruimte.

Nadere informatie

Releasenotes versie 1.1 VERSIE A

Releasenotes versie 1.1 VERSIE A Releasenotes versie 1.1 VERSIE 10. 06A Inhoud 1. Inleiding FORTUNA 10.06A 3 2. Systeemeisen FORTUNA 10 4 3. Installatie 5 4. FORTUNA App 6 5. Beveiliging 6 6. Besturingssystemen 6 7. App functionaliteiten

Nadere informatie

SERVICE LEVEL AGREEMENT SERVICE LEVEL AGREEMENT ADDENDUM VIRTUALISATIE VERSIE

SERVICE LEVEL AGREEMENT SERVICE LEVEL AGREEMENT ADDENDUM VIRTUALISATIE VERSIE SERVICE LEVEL AGREEMENT SERVICE LEVEL AGREEMENT ADDENDUM VIRTUALISATIE VERSIE 2014-05-28 Inhoudsopgave 1. Definities...3 1.1. Control Panel...3 1.2. CPU...3 1.3. CPU core...3 1.4. Dienst...3 1.5. I/O-operaties...3

Nadere informatie

Wat is een busverbinding?

Wat is een busverbinding? Wat is een busverbinding? gemeenschappelijke verbinding tussen CPU, geheugen en I/O-schakelingen onderscheid tussen: databus/adresbus/controlbus intern/extern serieel/parallel unidirectioneel/bidirectioneel

Nadere informatie

Studentnummer:... Opleiding:... a) Met welke term wordt het interface tussen software en hardware van een processor aangeduid?

Studentnummer:... Opleiding:... a) Met welke term wordt het interface tussen software en hardware van een processor aangeduid? Computerorganisatie (213110) Dinsdag 15 augustus 2000, 13.30 17.00 uur 7 bladzijden met 6 opgaven 3 bladzijden met documentatie Bij dit tentamen mag geen gebruik worden gemaakt van boeken, dictaten of

Nadere informatie

9. Strategieën en oplossingsmethoden

9. Strategieën en oplossingsmethoden 9. Strategieën en oplossingsmethoden In dit hoofdstuk wordt nog even terug gekeken naar alle voorgaande hoofdstukken. We herhalen globaal de structuren en geven enkele richtlijnen voor het ontwerpen van

Nadere informatie

COMPUTERVAARDIGHEDEN EN PROGRAMMEREN

COMPUTERVAARDIGHEDEN EN PROGRAMMEREN COMPUTERVAARDIGHEDEN EN PROGRAMMEREN 3 e les Prof. Dr. Frank De Proft 12 oktober 2004 Tweede les : Inleiding Computerwetenschappen vs. computervaardigheden - Algoritmen 1 Derde les : Enkele basisbegrippen»

Nadere informatie

Examen besturingssystemen

Examen besturingssystemen Examen besturingssystemen Zaterdag 9 januari 2016, 8u30 Prof. Koen De Bosschere Richting: Naam: Belangrijk 1. Vergeet niet uw naam te vermelden. 2. Schrijf de antwoorden in de daarvoor voorziene ruimte.

Nadere informatie

Foutdetectie. Toenemend belang van foutdetectie

Foutdetectie. Toenemend belang van foutdetectie Toenemend belang van foutdetectie We verwachten steeds meer van digitale systemen Steeds meer signalen steeds meer storingen Steeds hogere frequentie steeds hogere gevoeligheid aan storingen en foutcorrectie

Nadere informatie

Cover Page. Author: Vu, Van Thieu Title: Opportunities for performance optimization of applications through code generation Issue Date:

Cover Page. Author: Vu, Van Thieu Title: Opportunities for performance optimization of applications through code generation Issue Date: Cover Page The handle http://hdl.handle.net/1887/18622 holds various files of this Leiden University dissertation. Author: Vu, Van Thieu Title: Opportunities for performance optimization of applications

Nadere informatie

-Een stukje geschiedenis van de PC (personal computer)

-Een stukje geschiedenis van de PC (personal computer) -Een stukje geschiedenis van de PC (personal computer) De pc is bedacht in 1833 Door gebrek aan onderdelen kwam de eerst werkende PC 100 jaar later Gewicht: 35 ton (35.000 kilo!) en kamervullend. Zie de

Nadere informatie

Jen Kegels, Eveline De Wilde, Inge Platteaux, Tamara Van Marcke. Hardware. De computer in een oogopslag. 1 / 11 Cursusontwikkeling

Jen Kegels, Eveline De Wilde, Inge Platteaux, Tamara Van Marcke. Hardware. De computer in een oogopslag. 1 / 11 Cursusontwikkeling Hardware De computer in een oogopslag 1 / 11 Cursusontwikkeling Opslag Er worden verschillende apparaten gebruikt om gegevens op te slaan. Dit zijn de meest voorkomende apparaten. Harde schijf; CD / DVD;

Nadere informatie

De allereerste Intel microprocessor de i4004 uit 1971

De allereerste Intel microprocessor de i4004 uit 1971 Processortechnologie Een echte nieuwsbrief deze maal met de nadruk op nieuws! In deze uitgave wil ik het even hebben over de veranderingen die zich de laatste 2 jaar hebben voorgedaan op de PC-industrie.

Nadere informatie

De Arduino-microcontroller in de motorvoertuigentechniek (2)

De Arduino-microcontroller in de motorvoertuigentechniek (2) De Arduino-microcontroller in de motorvoertuigentechniek (2) E. Gernaat (ISBN 978-90-79302-11-6) 1 Procescomputer 1.1 Microprocessoren algemeen De informatie-verwerking zoals is behandeld, is vrijwel geheel

Nadere informatie