Les 9: Meerdradige uitvoering

Maat: px
Weergave met pagina beginnen:

Download "Les 9: Meerdradige uitvoering"

Transcriptie

1 Les 9: Meerdradige uitvoering consistentie Geavanceerde computerarchitectuur Lieven Eeckhout Academiejaar Universiteit Gent

2 Overzicht Sequentiële consistentie Versoepelde consistentie Transactional memory 2

3 Geheugenconsistentie Geheugenconsistentiemodel specificeert de onderlinge volgorde van geheugenreferenties op een processor t.o.v. de geheugenreferenties van andere processors Is een integraal onderdeel van de ISA van een systeem voor multiprocessordoeleinden contract tussen de hardware en software Is van belang voor een correcte uitvoering van meerdradige applicaties 3

4 Consistentie vs coherentie Coherentie specificeert de onderlinge volgorde van geheugenreferenties naar eenzelfde geheugenlocatie Consistentiemodel specificeert de onderlinge volgorde van geheugenreferenties naar verschillende geheugenlocaties 4

5 A en B zijn gedeelde variabelen, en zijn initieel nul Draad 0 Voorbeeld Draad 1 algoritme van Dekkers A=1; if (B==0) { // critical section A=0; } B=1; if (A==0) { // critical section B=0; } Algoritme van Dekkers is een software implementatie voor locking Mutuele exclusie is gegarandeerd zolang eerst geschreven wordt en dan pas gelezen wordt Maar in OoO processor kunnen geheugenoperaties herordend worden, b.v. via load bypassing 5

6 Voorbeeld (bis) Draad 0 A=1; if (B==0) { // critical section A=0; } Draad 1 B=1; if (A==0) { // critical section B=0; } Enkele mogelijke correcte uitvoeringen: W A,0 ;R B,0 ;W B,1 ;R A,1 : draad 0 in kritische sectie W B,1 ;R A,1 ;W A,0 ;R B,0 : draad 1 in kritische sectie Een incorrecte uitvoering: R B,0 ;R A,1 ;W A,0 ;W B,1 : beide draden in kritische sectie R B,0 ;W B,1 ;R A,1 ;W A,0 : beide draden in kritische sectie W = write; R = read; subscript X,n = op geheugenlocatie X door draad n 6

7 Voorbeeld (ter) Draad 1 A=1; if (B==0) { critical section A=0; } Draad 2 B=1; if (A==0) { critical section B=0; } B.v. indien de leesoperatie vóór de schrijfoperatie uitgevoerd kan worden (load bypassing wegens niet-identieke adressen) Mutuele exclusie is niet langer gegarandeerd 7

8 Consistentiemodellen Twee types Sequentiële consistentie (SC) Sequential consistency Totale ordening tussen alle geheugenoperaties van alle processors Versoepelde consistentie Relaxed consistency Partiële ordening tussen de geheugenoperaties van alle processors Betere prestatie omdat totale ordening niet steeds nodig is 8

9 Sequentiële consistentie Totale ordening tussen alle geheugenreferenties van alle processors Door Lamport in 1979 Alsof alle processors alle gedeelde variabelen om beurt lezen en schrijven; bovendien is de ordening per draad zoals opgelegd door de programmavolgorde Conceptueel: ordening in een time-sharing systeem == multiprocessor met SC Eenvoudig voor programmeur 9

10 Sequentiële consistentie Processors issuing memory references as per program order P 1 P 2 P n The switch is randomly set after each memory reference Memory Uit Culler, Singh en Gupta Parallel Computer Architecture The result of the execution is the same as if the operations of all processors are executed in some sequential order, and the operations of each individual processor appear in the order specified by its program. (Lamport, 1979) 10

11 Draad 1 ld A; ld B; st C; st A; ld A; st B; Voorbeelden een SC uitvoering een andere SC uitvoering draad 1 draad 2 draad 1 draad 2 Draad 2 st B; ld A; ld C; st A; st B; ld B; ld A ld B st C st B ld A ld A ld B st C st B st A ld A ld C st A st B st A ld A st B ld A ld C st A st B ld B st B ld B 11

12 Waarom SC? Is een eenvoudig en intuïtief programmeermodel Heel wat legacy code werd geschreven voor time-sharing omgeving Men wil dat die code ook werkt op MP systeem Men wil inspanningen niet doen om code te herschrijven 12

13 SC: bespreking SC implementeren op een efficiënte manier voor goede prestatie is niet eenvoudig Wegens Totale ordening van geheugenoperaties per draad ( OoO paradigma) Totale ordening van geheugenoperaties van alle processors Vereist zeer veel bandbreedte over interconnectie 13

14 Maar... Totale ordening is niet steeds nodig Dus: versoepelen Enkel die geheugenreferenties ordenen die in volgorde uitgevoerd moeten worden teneinde de echte afhankelijkheden te respecteren Enkel ordening op gedeelde variabelen Betere prestatie en illusie van SC uitvoering Merk op: niet hetzelfde als versoepelde consistentie (zie later) Versoepeling op microarchitecturaal niveau versus op architecturaal niveau ~ OoO uitvoering van afhankelijkheden via registers en geheugen in OoO processor 14

15 SC implementeren Via cachecoherentie worden RAW afhankelijkheden tussen verschillende processors gerespecteerd Indien CPU A een variabele leest die geschreven wordt door CPU B, moet eerst de variabele in CPU A ongeldig gemaakt worden om nadien de nieuwe waarde te kopiëren van CPU B naar CPU A Indien geen coherentietrafiek (invalidates en/of cache misses), zijn er geen afhankelijkheden tussen de CPUs 15

16 SC implementeren (bis) M.a.w. geen consistentieregels nodig voor cache hits tussen coherentietrafiek (invalidate en/of cache miss) Geen interventie voor een groot deel van de geheugenoperaties wegens cache hits Twee overblijvende problemen Lokaal probleem: ordening van cache hits t.o.v. coherentietrafiek Globaal probleem: ordening van invalidates en cache misses 16

17 Globale probleem Er is ergens in het systeem één punt nodig waar de cache misses en invalidaties geordend worden Kleine multiprocessor met gedeelde bus Toegang tot de bus wordt geordend Grote multiprocessor met een directory Toegangen ordenen aan de ingang van de directory of in de interconnectie 17

18 Lokale probleem Ordenen van cache hits t.o.v. coherentietrafiek Eenvoudig in OoO processor De load/store queue uitbreiden om ook adressen van de globale stroom te bekijken Gebeurt toch reeds voor respecteren van RAW afhankelijkheden tussen geheugenoperaties (zie vroeger) 18

19 M.a.w. speculatie We speculeren dat een geheugenoperatie niet geordend moet worden Indien later blijkt dat ordening vereist is, heruitvoeren Dit mechanisme is reeds aanwezig voor de OoO uitvoering van geheugenoperaties (load bypassing en load forwarding) We hebben dus een mechanisme nodig om inbreuk op de ordening te detecteren 19

20 Uitbreiding in OoO processor finished load buffer OoO processorkern bus upgrades bus writes CPU B CPU C CPU D in-order commit CPU A bus 20

21 Detectie van inbreuk op ordening We markeren een speculatieve leesoperatie indien die hetzelfde adres refereert als het adres dat op de bus verschijnt t.g.v. een externe schrijfoperatie Bij completion van een gemarkeerde leesoperatie, de leesoperatie beschouwen als een foutief voorspelde sprong De leesoperatie en alle daarop volgende instructies opnieuw ophalen en uitvoeren Geïmplementeerd in MIPS R10K, HP PA-8000 en Intel Pentium Pro 21

22 Voorbeeld 1 Draad 1 Draad 2 st A=1 ld B ld A... ld B st A coherentie ld A execute commit ld B ld A 22

23 Voorbeeld 2 Draad 1 st A=1 if (ld B==0) { // critical section st A=0 } ld B Draad 2 st B=1 if (ld A==0) { // critical section st B=0 } st B=1 st A=1 beiden in kritische sectie ld A ld A st B=0 execute commit ld B st A=0 23

24 Voorbeeld 2 (bis) Draad 1 st A=1 if (ld B==0) { // critical section st A=0 } ld B Draad 2 st B=1 if (ld A==0) { // critical section st B=0 } st B=1 ld A ld A st A=1 st B=0 execute commit ld B ld B st A=0 24

25 SC versoepelen in hardware Wordt vaak toegepast MIPS R10K, HP PA-8000, Intel Pentium Pro Heeft beperkingen Vereist extra hardware Niet alle processors ondersteunen dit Toepasbaarheid is beperkt tot de processor Dit is een microarchitecturale optimalisatie Compiler is niet in staat instructies te herordenen 25

26 Overzicht Sequentiële consistentie Versoepelde consistentie Transactional memory 26

27 Relaxed Consistency Waarom niet het geheugenmodel wijzigen/versoepelen? Relaxed memory consistency model Idee Eenvoudige hardware Programmeur/compiler moet geheugenoperaties aanduiden die geordend moeten worden Alle andere operaties hoeven niet geordend te worden Voordelen Stelt compiler én processor in staat geheugenoperaties te herordenen 27

28 Versoepelde geheugenmodellen Groep 1: een leesoperatie kan een schrijfoperatie bypassen TSO, PC Groep 2: een schrijfoperatie kan ook een schrijfoperatie bypassen PSO Groep 3: lees- en schrijfoperaties kunnen ook leesoperaties bypassen WO, RC, RMO, Alpha, PowerPC [Merk op: een read-modify-write instructie is een lees- én schrijfoperatie] 28

29 Groep 1: Versoepelen van schrijf-lees ordening Een leesoperatie kan een schrijfoperaties bypassen Kortere latentie leesoperatie Latentie verbergen van schrijfoperatie 2 varianten TSO: total store ordering Garandeert write atomicity Write atomicity = alle schrijfoperaties (tot om het even welke geheugenlocatie) zijn zichtbaar voor alle processors in dezelfde ordening PC: processor consistency Garandeert geen write atomicity, enkel totale ordening van schrijfoperaties per processor 29

30 Fragment 1 Draad 1 A = 1; flag = 1; Draad 2 while (flag == 0); print A; TSO en PC garanderen SC semantiek 30

31 Fragment 2 A = 1; B = 1; Draad 1 print B; print A; Draad 2 SC garandeert dat Indien 1 geprint wordt voor B, ook 1 geprint wordt voor A Zo ook TSO en PC 31

32 Fragment 3 Draad 1 Draad 2 Draad 3 A = 1; while (A == 0); B = 1; while (B == 0); print A; SC garandeert dat A als 1 geprint wordt Zo ook TSO Maar niet PC Schrijfoperatie B=1; kan vroeger zichtbaar zijn voor draad 3 dan schrijfoperatie A=1; Dit kan optreden tgv. buffering in processor, cache en geheugencontroller, interconnectienetwerk, etc. 32

33 Fragment 4 A = 1; print B; Draad 1 B = 1; print A; Draad 2 SC garandeert dat Onmogelijk 0 geprint wordt voor zowel A als B Dit is de basis voor Dekker s algoritme Software manier voor mutuele exclusie Maar niet TSO en PC Omdat een leesoperatie een schrijfoperatie kan bypassen M.a.w., Dekker s algoritme werkt niet in TSO en PC 33

34 Hoe SC garanderen wanneer nodig in TSO/PC model? Mechanisme nodig dat garandeert dat (a) Een leesoperatie niet vóór een schrijfoperatie (waarbij lees- na schrijfoperatie komt in programmavolgorde) uitgevoerd wordt (b) Write atomicity vóór een leesoperatie (a) Kan gegarandeerd worden via MEMBAR (memory barrier) of FENCE instructies 34

35 Memory barriers Een barrier is een instructie Bestaat typisch in verschillende varianten voor verschillende ordeningen Hier: write-to-read MEMBAR Alle schrijfoperaties vóór de barrier moeten uitgevoerd zijn alvorens de uitvoering van de leesoperatie gestart kan worden B.v. fragment 4: Draad 1 A = 1; w2r_membar; print B; Draad 2 B = 1; w2r_membar; print A; 35

36 SC semantiek bij TSO/PC MEMBAR vóór de leesoperatie OF De leesoperatie vervangen door een readmodify-write instructie Leesoperatie wordt behandeld als een schrijfoperatie, dus geen herordening 36

37 Barrier implementatie Processor blokkeren (stall) tot alle voorgaande geheugenoperaties architecturaal gezien uitgevoerd zijn (completed) Vereist inspecteren ROB store buffer alle invalidaties in andere CPUs tgv. een store vóór de barrier moeten afgehandeld zijn Kan honderden processorcycli duren 37

38 Groep 2: Versoepelen van schrijf-schrijf ordening Een schrijfoperatie kan ook een schrijfoperatie (naar een andere geheugenlocatie) bypassen Laat write buffer merging toe Latentie van schrijfoperaties verbergen PSO: partial store ordering Sun Sparc Garandeert ook write atomicity 38

39 Fragment 1 Draad 1 A = 1; flag = 1; Draad 2 while (flag == 0); print A; TSO en PC garanderen SC semantiek PSO niet 39

40 Fragment 2 A = 1; B = 1; Draad 1 print B; print A; Draad 2 SC garandeert dat Indien 1 geprint wordt voor B, ook 1 geprint wordt voor A Zo ook TSO en PC Is niet het geval voor PSO 40

41 Fragment 3 Draad 1 Draad 2 Draad 3 A = 1; while (A == 0); B = 1; while (B == 0); print A; SC garandeert dat A als 1 geprint worden Zo ook TSO en PSO Wegens write atomicity Maar niet PC Wegens geen write atomicity 41

42 Fragment 4 A = 1; print B; Draad 1 B = 1; print A; Draad 2 SC garandeert dat Onmogelijk 0 geprint wordt voor zowel A als B Maar niet voor TSO, PC en PSO Omdat een leesoperatie een schrijfoperatie kan bypassen 42

43 Hoe SC garanderen wanneer nodig in PSO model? Via write-to-write MEMBAR of STBAR Alle schrijfoperaties vóór de barrier moeten uitgevoerd zijn alvorens de uitvoering van de volgende schrijfoperatie gestart kan worden B.v. fragment 1: Draad 1 A = 1; w2w_membar; flag = 1; Draad 2 while (flag == 0); print A; 43

44 Groep 3: Alle ordeningen versoepelen Geen enkele programma-ordening wordt gegarandeerd Bovenop groep 1 en 2: lees- en schrijfoperaties kunnen ook leesoperaties bypassen Verbergen van latentie tgv. leesoperaties Out-of-order uitvoering van leesoperaties Maakt heel wat compileroptimalisaties mogelijk 44

45 Verschillende modellen WO: weak ordering RC: release consistency Commerciële implementaties RMO: relaxed memory ordering Sun Sparc V9 Digital Alpha IBM PowerPC 45

46 WO: Weak Ordering Idee: Parallelle programma s gebruiken synchronisatie-operaties om geheugentoegangen te coördineren Tussen synchronisatie-operaties: geen ordening van geheugenoperaties 46

47 Voorbeeld Draad 1... lock (taskq); newtask->next = head; if (head!= NULL) head->prev = newtask; head = newtask; unlock (taskq);... Draad 2... lock (taskq); newtask->next = head; if (head!= NULL) head->prev = newtask; head = newtask; unlock (taskq);... Semantiek blijft behouden Ondanks herordeningen tss. synchronisatie-operaties Zolang geheugenoperaties niet herordend worden tov. synchronisatie-operaties, en vice versa 47

48 SYNC operatie Alle geheugenoperaties vóór de SYNC operatie moeten uitgevoerd zijn alvorens de uitvoering van de volgende geheugenoperatie gestart kan worden read/write read/write SYNC read/write read/write SYNC read/write read/write 48

49 RC: Release Consistency Draad 1... lock (taskq); newtask->next = head; if (head!= NULL) head->prev = newtask; head = newtask; unlock (taskq);... acquire: toegang krijgen tot code of variabelen release: toegang verlenen (aan andere processor) tot code of variabelen Uitbreiding op WO model door onderscheid te maken tussen verschillende types van synchronisatie 49

50 Acquire en Release Acquire Alle geheugenoperaties die volgen op de acquire kunnen niet uitgevoerd worden vóór de acquire acquire mag herordend worden tov. voorgaande operaties Release Alle geheugenoperaties die komen vóór de release moeten uitgevoerd zijn alvorens de release uit te voeren Operaties volgend op de release kunnen herordend worden tov. de release 50

51 read/write read/write SYNC read/write read/write SYNC read/write read/write Weak Ordering read/write read/write 1 acquire read/write read/write 2 release Release Consistency read/write read/write 3 51

52 Commerciële implementaties Veronderstellen geen ordening Verschillen in de instructies die aangeboden worden om een ordening op te leggen Memory barriers Of fences genaamd ISA-specifiek 52

53 Voorbeeld 1: Digital Alpha Twee soorten fence instructies Memory barrier (MB) = synchronisatie-operatie zoals in WO Write memory barrier (WMB) = STBAR in PSO; legt enkel ordening op voor schrijfoperaties 53

54 Voorbeeld 2: Sun Sparc V9 RMO Relaxed memory ordering MEMBAR fence instructie met 4 flavor bits Read-to-read Read-to-write Write-to-read Write-to-write Elke combinatie van bits kan aangezet worden 54

55 Voorbeeld 3: IBM PowerPC Eén enkele fence instructie sync zoals MB instructie in Alpha ISA Geen write atomicity 55

56 56 SYNC neen ja ja ja PowerPC MB, WMB ja ja ja ja Alpha MEMBARs ja ja ja ja RMO REL, ACQ ja/neen ja ja ja RC SYNC ja ja ja ja WO STBAR ja ja ja PSO MEMBAR neen ja PC MEMBAR ja ja TSO ja SC operaties write atomicity r-to-r/w reorder w-to-w reorder w-to-r reorder model

57 Hardware/software interface Redeneren over toegelaten herordeningen is niet eenvoudig Ook portabiliteit is een mogelijks probleem B.v. een programma dat correct uitvoert op een TSO systeem zal niet correct uitvoeren op een RMO systeem Programmeermodel is vaak geïnspireerd op WO/RC modellen Programmeur moet synchronisatie toevoegen Compiler vertaalt synchronisatie in fence instructies Compiler en hardware herordenen geheugenoperaties 57

58 SC PC Consistentiemodellen in commerciële processors SGI MIPS Intel Pentium processor familie TSO Veel Sun Microsystems machines Geen ordening, enkel fence instructies Digital Alpha, IBM PowerPC, Sun Sparc V9 58

59 Overzicht Sequentiële consistentie Versoepelde consistentie Transactional memory 59

60 TM: motivatie We gaan het multi-core tijdperk in Zie volgende les Huidig programmeermodel op basis van synchronisatie via locks is ontoereikend Niet robust Moeilijk efficiënte code te schrijven Software met locks is niet composable 60

61 Locks zijn niet robust Stel: draad 1 neemt de lock en de load operatie (ld r1,a) veroorzaakt een page fault Zeer lange latentie Terwijl draad 1 de lock vasthoudt Draad 2 blijft in spin loop geen vooruitgang Draad 1 spin: cmpswp AL,1 bfail spin ld r1,a add r1,r1,1 st r1,a st 0,AL Draad 2 spin: cmpswp AL,1 bfail spin ld r1,a add r1,r1,3 st r1,a st 0,AL 61

62 Programmeren met locks is niet eenvoudig Coarse-grained locking Eenvoudig te programmeren Slechte prestatie Fine-grained locking Goede prestatie Moeilijk te programmeren 62

63 Software met locks is niet composable (1/2) lock T 1 hash tabel eerst lock nemen op T 1 add(t 1,item) item alvorens item toe te voegen kopieer element van T 1 naar T 2 delete(t 1,item) lock T 1 lock T 2 add(t 2,item) item item eerst lock nemen op T 2 alvorens item te verwijderen uit T 1 63

64 Software met locks is niet composable (2/2) kopieer element van T 1 naar T 2 delete(t 1,item) lock T 1 lock T 2 add(t 2,item) item item eerst lock nemen op T 2 alvorens item te verwijderen uit T 1 Stel: we willen deze methode als interface aanbieden Wat gebeurt er indien draad 1 een element wil kopiëren van T1 naar T2, en draad 2 van T1 naar T2? Mogelijks een deadlock Draad 1 neemt lock op T2, en draad 2 neemt lock op T1 Draad 1 probeert nadien lock to nemen op T2, en draad 2 probeert lock te nemen op T1 geen van beide maakt vooruitgang 64

65 Transactional Memory: basisidee Meerdere draden proberen gelijktijdig een kritische sectie te betreden op een atomaire manier Indien dat lukt: prima, pas architecturale toestand aan: commit Indien dat niet lukt: herstel de toestand zoals aan het begin van de kritische sectie (abort) en probeer opnieuw Programmeur specificeert de kritische secties maar zegt niet hoe dat moet gegarandeerd worden Dat gebeurt door het onderliggende TM systeem Draad 1 atomic{ ld r1,a add r1,r1,1 st r1,a } Draad 2 atomic{ ld r1,a add r1,r1,3 st r1,a } 65

66 Programmeren in TM lock (L); x++; unlock (L); atomic { x++; } Dit is wat de programmeur specificeert Het onderliggende systeem (compiler, VM, hardware, etc.) garandeert correcte uitvoering 66

67 Transactional Memory (1/2) Transactie Atomaire eenheid Een sequentie van operaties die ofwel volledig uitgevoerd wordt (commit), ofwel geen effect heeft (abort) Door programmeur gedefinieerd Gebaseerd op DBMS Toegang tot gemeenschappelijke data zonder locks Indien een conflict, herstel toestand, en probeer opnieuw 67

68 Transactional Memory (2/2) Alles of niets benadering: atomicity Bij commit, alle geheugenoperaties hebben terzelfdertijd effect Bij abort, geen enkele schrijfoperatie heeft effect Transactie is geïsoleerd: isolation Het effect van schrijfoperaties is enkel zichtbaar voor andere draden bij commit Geeft de illusie aan programmeur van seriële uitvoering Geen conflicterende geheugentoegangen door parallelle transacties vanuit andere draden Lost veel problemen van locks op: TM is robust, eenvoudig te programmeren, composable 68

69 TM: schaalbaarheid Parallelle leesoperaties tot dezelfde data Locks laten geen meerdere lezers toe TM wel, op automatische manier Parallelle lees- en schrijfoperaties tot disjuncte data Programmeur kan fine-grain locking toevoegen Niet eenvoudig Niet modulair TM garandeert fine-grain locking op automatische manier 69

70 TM implementatie (1) Data versioning Het beheren van verschillende versies van dezelfde data Twee benaderingen Eager versioning Past geheugentoestand onmiddellijk aan; en houdt undo log bij Snelle commit; trage abort Lazy versioning Houdt schrijfoperaties bij in buffer; past geheugentoestand aan bij commit Trage commit; snelle abort 70

71 Eager versioning begin van de transactie schrijf X 15 draad draad Undo Log X: 10 Undo Log X: 10 geheugen X: 15 geheugen commit transactie abort transactie draad draad X: 10 Undo Log X: 10 Undo Log X: 15 geheugen X: 10 geheugen 71

72 Lazy versioning begin van de transactie schrijf X 15 draad draad Write Buffer X: 15 Write Buffer X: 10 geheugen X: 10 geheugen commit transactie abort transactie draad draad X: 15 Write Buffer X: 15 Write Buffer X: 15 geheugen X: 10 geheugen 72

73 TM implementatie (2) Per transactie hebben we een een Read Set, en Geheugenlocaties gelezen door de transactie een Write Set Geheugenlocaties geschreven door de transactie Conflict treedt op indien ene draad een variabele leest die een andere draad wil schrijven Conflictdetectie op basis van vergelijken Read en Write Sets 73

74 TM implementatie (2) bis Conflictdetectie: twee benaderingen Optimistische benadering Bekijk lees- en schrijfoperaties enkel bij commit Veronderstel dat er geen conflicten zullen zijn Pessimistische benadering Bekijk lees- en schrijfoperaties tijdens uitvoering van transactie Gebruik contention manager om te beslissen over (i) stall, of (ii) abort (restart) Optimaliseer meest voorkomende geval 74

75 Optimistische detectie D1 D2 D1 D2 D1 D2 D1 D2 rd A wr A rd A rd A wr A wr B rd A wr A rd A wr A wr C commit restart commit commit restart commit commit rd A rd A wr A commit commit commit tijd succes abort succes abort 75

76 Pessimistische detectie D1 D2 D1 D2 D1 D2 D1 D2 rd A wr A rd A rd A wr A wr B rd A wr A rd A wr A stall restart restart wr C commit rd A commit rd A wr A commit rd A restart commit commit commit rd A wr A tijd succes stall abort restart geen 76 vooruitgang

77 Conflictdetectie Pessimistisch + Snelle detectie van conflicten Geen garantie voor vooruitgang; meer aborts Fine-grain communicatie Optimistisch + Garantie voor vooruitgang + Potentieel minder conflicten + Coarse-grain communicatie Trage detectie van conflicten 77

78 Transactional Memory Onderwerp van huidig onderzoek TM API Verschillende mogelijke TM implementaties Software Hardware Hybride software/hardware implementaties Ondersteuning in Sun Rock processor 78

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

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

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

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

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

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

Gelijktijdigheid: Wederzijdse Uitsluiting & Synchronisatie Concurrency: Mutual Exclusion & Synchonization (5e ed: 5.1-5.2, Appendix A.

Gelijktijdigheid: Wederzijdse Uitsluiting & Synchronisatie Concurrency: Mutual Exclusion & Synchonization (5e ed: 5.1-5.2, Appendix A. Gelijktijdigheid: Wederzijdse Uitsluiting & Synchronisatie Concurrency: Mutual Exclusion & Synchonization (5e ed: 51-52, Appendix A1) Processes zijn meestal niet onafhankelijk Bijvoorbeeld: 2 processen

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

Les 4: geheugenstroom in outof-order

Les 4: geheugenstroom in outof-order Les 4: geheugenstroom in outof-order microarchitectuur Geavanceerde computerarchitectuur Lieven Eeckhout Academiejaar 2008-2009 Universiteit Gent Overzicht Geheugenhiërarchie (herhaling Computerarchitectuur

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

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

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

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. 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

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

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

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

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

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

1 Aanvulling cosy deeltijd

1 Aanvulling cosy deeltijd 1 Aanvulling cosy deeltijd 1.1 Multiprocessor versus multicomputer Het kenmerk van een multiprocessor is dat meer CPU hetzelfde geheugen delen. Voordeel van deze aanpak is het relatief eenvoudige programmeermodel.

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

Semaforen. Semaforen p. 1/2

Semaforen. Semaforen p. 1/2 Semaforen 2008 Semaforen p. 1/2 Vorige Keer mbv mutual exclusion kritieke sectie (cs) 1. software : Dekker s, Peterson s algoritme 2. hardware: uniprocessor machine: disable interrupts 3. hardware: multiprocessor

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

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

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

Racedetectie in Parallelle Programma s door Gecontroleerde Heruitvoering

Racedetectie in Parallelle Programma s door Gecontroleerde Heruitvoering Racedetectie in Parallelle Programma s door Gecontroleerde Heruitvoering Michiel Ronsse Promotoren: Prof. dr. ir. K. De Bosschere Prof. dr. ir. J. Van Campenhout Proefschrift ingediend tot het behalen

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

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

Opgaven Registers Concurrency, 29 nov 2018, Werkgroep.

Opgaven Registers Concurrency, 29 nov 2018, Werkgroep. Opgaven Registers Concurrency, 29 nov 2018, Werkgroep. Gebruik deze opgaven om de stof te oefenen op het werkcollege. Cijfer: Op een toets krijg je meestal zes tot acht opgaven. 1. Safe Integer: Van een

Nadere informatie

Extra details van de performance in de database kunt u zien met het Top Activity scherm dat u van hieruit kunt tonen.

Extra details van de performance in de database kunt u zien met het Top Activity scherm dat u van hieruit kunt tonen. Real-time performance diagnose in Oracle In Oracle 10g en 11g is het mogelijk om de database performance real-time te volgen, als u de licentie voor Diagnostics Pack heeft aangeschaft (en de Enterprise

Nadere informatie

TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica

TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica Deel-tentamen Operating Systemen (2IN05) op vrijdag 5 oktober 2007, 9.00-10.30 uur. Het tentamen bestaat uit twee delen die apart worden

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

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

TI-2720 Operating System Concepten. 6 november 2012, uur. docent: H.J. Sips. Dit is een tentamen met 9 open vragen

TI-2720 Operating System Concepten. 6 november 2012, uur. docent: H.J. Sips. Dit is een tentamen met 9 open vragen TECHNISCHE UNIVERSITEIT DELFT Faculteit Elektrotechniek, Wiskunde en Informatica Sectie Parallelle en Gedistribueerde Systemen TUDelft TI-2720 Operating System Concepten 6 november 2012, 14.00-17.00 uur.

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

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

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

Benchmarking van transactioneel geheugen

Benchmarking van transactioneel geheugen Benchmarking van transactioneel geheugen Stijn Polfliet Promotor: prof. dr. ir. Lieven Eeckhout Masterproef ingediend tot het behalen van de academische graad van Master in de ingenieurswetenschappen:

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

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

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

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

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

Tim Mallezie Architectuur van besturingssystemen: Vraag A2.

Tim Mallezie Architectuur van besturingssystemen: Vraag A2. Procesbeheer: kenmerken van moderne besturingssystemen. 1. Bespreek de (drie) meest typische kenmerken van moderne besturingssystemen. 2. In hoeverre beantwoorden UNIX, Linux en Windows NT hieraan? Geef

Nadere informatie

Take-home Tentamen Protocolvericatie. Universiteit van Amsterdam. 27 Maart 1994

Take-home Tentamen Protocolvericatie. Universiteit van Amsterdam. 27 Maart 1994 Take-home Tentamen Protocolvericatie Vakgroep Programmatuur Universiteit van Amsterdam 27 Maart 1994 Algemene Opmerkingen Dit tentamen omvat zes reguliere opgaven plus een bonusopgave. Opgaves 1, 2, 5

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

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

Oefeningen Interpretatie I Reeks 6 : Registermachines

Oefeningen Interpretatie I Reeks 6 : Registermachines Oefeningen Interpretatie I Reeks 6 : Registermachines Deze oefeningenreeks behandelt het beschrijven van computationele processen aan de hand van registermachineprogrammaʼs. Registermachines manipuleren

Nadere informatie

FAT32 disk structuur 2007 stam.blogs.com

FAT32 disk structuur 2007 stam.blogs.com FAT32 disk structuur 2007 stam.blogs.com Master Boot Record De Master Boot Record is vrijwel hetzelfde voor alle besturingssystemen. Het ligt binnen de eerste sector van de harddisk: Cylinder 0, Head 0,

Nadere informatie

ONTWERP VAN GEDISTRIBUEERDE SOFTWARE ACADEMIEJAAR 2009-2010 1 STE EXAMENPERIODE, 15 JANUARI 2010, 14U 17U30 VRAAG 1: INLEIDENDE BEGRIPPEN[20 MIN]

ONTWERP VAN GEDISTRIBUEERDE SOFTWARE ACADEMIEJAAR 2009-2010 1 STE EXAMENPERIODE, 15 JANUARI 2010, 14U 17U30 VRAAG 1: INLEIDENDE BEGRIPPEN[20 MIN] ONTWERP VAN GEDISTRIBUEERDE SOFTWARE ACADEMIEJAAR 2009-2010 1 STE EXAMENPERIODE, 15 JANUARI 2010, 14U 17U30 Naam :.. Richting :.. Opmerkingen vooraf : - werk verzorgd en duidelijk, zodat er geen dubbelzinnigheden

Nadere informatie

Digitale technieken Deeltoets II

Digitale technieken Deeltoets II Digitale technieken Deeltoets II André Deutz 11 januari, 2008 De opgaven kunnen uiteraard in een willekeurige volgorde gemaakt worden geef heel duidelijk aan op welke opgave een antwoord gegegeven wordt.

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

ESA Week 4a: Unix. Vandaag: versiebeheer (RCS, CVS, SVN) Donderdag: Compilatiebeheer, SSH en nog het een en ander

ESA Week 4a: Unix. Vandaag: versiebeheer (RCS, CVS, SVN) Donderdag: Compilatiebeheer, SSH en nog het een en ander ESA Week 4a: Unix Vandaag: versiebeheer (RCS, CVS, SVN) Donderdag: Compilatiebeheer, SSH en nog het een en ander 1/30 23 september 2004 Versiebeheer Een Version-Control System biedt ondersteuning bij de

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

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

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

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

Hyper-V vs ESX in het datacenter

Hyper-V vs ESX in het datacenter Hyper-V vs ESX in het datacenter Gabrie van Zanten www.gabesvirtualworld.com GabesVirtualWorld.com Welke hypervisor voor het datacenter? Virtualisatie is volwassen geworden Virtualisatie in het datacenter

Nadere informatie

Hoofdstuk 7. Computerarchitectuur

Hoofdstuk 7. Computerarchitectuur Hoofdstuk 7 Computerarchitectuur 1 controlebus CPU MEMORY I/O databus adresbus Figuur 71 Schematische opbouw van een computersysteem 8 Figuur 72 Een busverbinding Buslijn Out E A In Out E B In Out E C

Nadere informatie

From High-Level Language to language of the hardware

From High-Level Language to language of the hardware Overzichtscollege 1 Abstractieniveaus Een computersysteem bestaat uit een hiërarchie van lagen Elke laag heeft een goed gedefinieerde interface naar de bovenliggende en onderliggende lagen Essentieel bij

Nadere informatie

Proeftentamen in1211 Computersystemen I (Opm: de onderstreepte opgaven zijn geschikt voor de tussentoets)

Proeftentamen in1211 Computersystemen I (Opm: de onderstreepte opgaven zijn geschikt voor de tussentoets) TECHNISCHE UNIVERSITEIT DELFT Faculteit Informatietechnologie en Systemen Afdeling ISA Basiseenheid PGS Proeftentamen in1211 Computersystemen I (Opm: de onderstreepte opgaven zijn geschikt voor de tussentoets)

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

Hoe werkt een computer precies?

Hoe werkt een computer precies? Hoe werkt een computer precies? Met steun van stichting Edict Ben Bruidegom & Wouter Koolen-Wijkstra AMSTEL Instituut Universiteit van Amsterdam Overview Introductie SIM-PL Simulatietool voor werking computer

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

Dealer instructie. SE serie 2008 versie 009

Dealer instructie. SE serie 2008 versie 009 Dealer instructie SE serie 2008 versie 009 Inhoudsopgave 1 Dealer F.A.Q... 3 1.1 Dealer frequently Asking Questions... 3 1.2 Initalisatiecodes... 4 1.3 Grafisch bericht (=grafische commerciële boodschap)...

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

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

Correspondentie inzake overnemen of reproductie kunt u richten aan:

Correspondentie inzake overnemen of reproductie kunt u richten aan: Vrijwel alle namen van software- en hardwareproducten die in deze cursus worden genoemd, zijn tegelijkertijd ook handelsmerken en dienen dienovereenkomstig te worden behandeld. Alle rechten voorbehouden.

Nadere informatie

Voorkennis: C, basiskennis microprocessoren (bij voorkeur ARM7 processor)

Voorkennis: C, basiskennis microprocessoren (bij voorkeur ARM7 processor) Real Time Operating Systems (RTOS) Voorkennis: C, basiskennis microprocessoren (bij voorkeur ARM7 processor) Kennis nodig voor: Operating systems Niveau: inleidend Diplomavoorwaarde: bachelor, schakelprogramma

Nadere informatie

Assembly en Assemblers. Processoren 5 januari 2015

Assembly en Assemblers. Processoren 5 januari 2015 Assembly en Assemblers Processoren 5 januari 2015 Doel van vandaag Ik heb al losse eindjes over assembly verteld en een voorbeeldprogramma doorlopen. vandaag: algemeen + systematisch overzicht Programmeertalen

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

Computerarchitectuur. H&P Appendix A: Instruction Set Principles

Computerarchitectuur. H&P Appendix A: Instruction Set Principles Computerarchitectuur H&P Appendix A: Instruction Set Principles Kristian Rietveld http://ca.liacs.nl/ Instruction Sets Een processor moet precies worden verteld wat deze moet doen. Dit staat opgeschreven

Nadere informatie

Computerarchitectuur. H&P Appendix A: Instruction Set Principles

Computerarchitectuur. H&P Appendix A: Instruction Set Principles Computerarchitectuur H&P Appendix A: Instruction Set Principles Kristian Rietveld http://ca.liacs.nl/ Instruction Sets Een processor moet precies worden verteld wat deze moet doen. Dit staat opgeschreven

Nadere informatie

Transaction management.

Transaction management. Transaction management joost.vennekens@kuleuven.be Transact ie Reeks bewerkingen die geheel vormen Mogelijk verschillende tegelijkertijd Transaction manager Voorwaarden: Atomic Consistent Isolated Durable

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

Universiteit Leiden Opleiding Informatica

Universiteit Leiden Opleiding Informatica Internal Report 2010 08 February 2011 Universiteit Leiden Opleiding Informatica Multithreading voor iedereen Jaron Viëtor BACHELOR THESIS Leiden Institute of Advanced Computer Science (LIACS) Leiden University

Nadere informatie

Software Mobiliteit. UAMS - 6 maart 2001. Theo D'Hondt Lab voor Pogrammeerkunde Vrije Universiteit Brussel http://prog.vub.ac.

Software Mobiliteit. UAMS - 6 maart 2001. Theo D'Hondt Lab voor Pogrammeerkunde Vrije Universiteit Brussel http://prog.vub.ac. Software Mobiliteit Theo D'Hondt Lab voor Pogrammeerkunde Vrije Universiteit Brussel http://prog.vub.ac.be/~tjdhondt p. 1 Overzicht Stelling Objecttechnologie Distributie Mobiliteit Evolutie Besluit p.

Nadere informatie

Begrippen van transactieverwerking

Begrippen van transactieverwerking Gegevensbanken 2010 Begrippen van transactieverwerking Bettina Berendt www.cs.kuleuven.be/~berendt Begrippen van transactieverwerking: Motivatie & Samenvatting 2 Waar zijn we? Les Nr. wie wat 1 ED intro,

Nadere informatie

Windows Xp professional op de werkstations en Windows 2000 op de Server

Windows Xp professional op de werkstations en Windows 2000 op de Server Windows Xp professional op de werkstations en Windows 2000 op de Server Uitleg over het implementeren van Microsoft Windows XP Professional op de werkstations en de bijbehorende management tools. Dit boekje

Nadere informatie

College 13: Patterns (2)

College 13: Patterns (2) Concurrency Gerard Tel / Jacco Bikker - november 2016 februari 2017 College 13: Patterns (2) Welkom! genda: Collective Operations Reduce Scan Stencil Recurrence Concurrency college 13 Patterns (2) 3 Collectives

Nadere informatie

Software Reverse Engineering. Jacco Krijnen

Software Reverse Engineering. Jacco Krijnen Software Reverse Engineering Jacco Krijnen Opbouw Inleiding en definitie Techniek Assemblers/Disassemblers Compilers/Decompilers Toepassingen Security Overige Softwarebeveiliging Piracy Anti RE technieken

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

Beter, Sneller, Mooier. Processoren 27 maart 2012

Beter, Sneller, Mooier. Processoren 27 maart 2012 Beter, Sneller, Mooier Processoren 27 maart 2012 Beter! Sneller! Krach:gere CPU: microcode Snellere CPU: pipeline, out- of- order execu:on Sneller RAM: cache meer mogelijkheden... Welke extra s kan processor-

Nadere informatie

Datastructuren Uitwerking jan

Datastructuren Uitwerking jan Datastructuren Uitwerking jan 2015 1 1a. Een abstracte datastructuur is een beschrijving van een datastructuur, met de specificatie van wat er opgeslagen wordt (de data en hun structuur) en welke operaties

Nadere informatie

Inhoudsopgave. Optimalisatie van de mmips. Forwarding optie 1. Design flow. implementation

Inhoudsopgave. Optimalisatie van de mmips. Forwarding optie 1. Design flow. implementation 2 Inhoudsopgave Optimalisatie van de mmips pc Sander Stuijk Veel gestelde vragen Hoe moet ik forwarding implementeren? Hoe moet ik clipping implementeren? Waarom is mijn simulatie zo traag? Hoe kan ik

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

Eerste Toets Concurrency 20 december 2018, , Educ-β.

Eerste Toets Concurrency 20 december 2018, , Educ-β. Eerste Toets Concurrency 20 december 2018, 11.00 13.00, Educ-β. Motiveer je antwoorden kort! Stel geen vragen over deze toets; als je een vraag niet duidelijk vindt, schrijf dan op hoe je de vraag interpreteert

Nadere informatie

Gedistribueerd programmeren

Gedistribueerd programmeren Gedistribueerd programmeren Gedistribueerd programmeren Collegedictaat, september 2007 Gerard Tel Email: gerard@cs.uu.nl Instituut voor Informatica en Informatiekunde Universiteit Utrecht Opmaak: Gerard

Nadere informatie

Workshop Git. multiplayer notepad. Anthony Clays 21 november /30

Workshop Git. multiplayer notepad. Anthony Clays 21 november /30 1/30 Workshop Git multiplayer notepad Anthony Clays 21 november 2016 2/30 Inleiding De basis Eerste stappen Branches en samenwerken Geavanceerde features Inleiding /30 Wat is git? Auteur: Linus Torvalds

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

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

Een.NET-besturingssysteemtoolkit. Discovering Cosmos. Sijmen J. Mulder

Een.NET-besturingssysteemtoolkit. Discovering Cosmos. Sijmen J. Mulder Een.NET-besturingssysteemtoolkit Discovering Cosmos Sijmen J. Mulder Agenda Boek 1 Cosmos: a very short introduction Boek 2 Modern Operating Systems Pauze Boek 3 The Design and Implementation of the Cosmos

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

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

DB architectuur. joost.vennekens@denayer.wenk.be

DB architectuur. joost.vennekens@denayer.wenk.be DB architectuur joost.vennekens@denayer.wenk.be DB - logisch perspectief - DB - fysisch perspectief - DBMS Fysische details van databank beheren Zodat gebruiker zich enkel om logische perspectief moet

Nadere informatie

Proeftentamen in1211 Computersystemen I (NB de onderstreepte opgaven zijn geschikt voor de tussentoets)

Proeftentamen in1211 Computersystemen I (NB de onderstreepte opgaven zijn geschikt voor de tussentoets) TECHNISCHE UNIVERSITEIT DELFT Faculteit Informatietechnologie en Systemen Afdeling ISA Basiseenheid PGS Proeftentamen in1211 Computersystemen I (NB de onderstreepte opgaven zijn geschikt voor de tussentoets)

Nadere informatie

LCD MONITOR SHARP INFORMATION DISPLAY GEBRUIKSAANWIJZING

LCD MONITOR SHARP INFORMATION DISPLAY GEBRUIKSAANWIJZING LCD MONITOR SHARP INFORMATION DISPLAY DOWNLOADER Versie 1.1 GEBRUIKSAANWIJZING Inleiding Deze software Kan controleren of er nieuwe versies zijn van de gebruikte software. Indien er een nieuwe versie is,

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

Examen Programmeren 2e Bachelor Elektrotechniek en Computerwetenschappen Faculteit Ingenieurswetenschappen Academiejaar juni, 2010

Examen Programmeren 2e Bachelor Elektrotechniek en Computerwetenschappen Faculteit Ingenieurswetenschappen Academiejaar juni, 2010 Examen Programmeren 2e Bachelor Elektrotechniek en Computerwetenschappen Faculteit Ingenieurswetenschappen Academiejaar 2009-2010 16 juni, 2010 **BELANGRIJK** 1. Schrijf je naam onderaan op elk blad. 2.

Nadere informatie