test Flashcards

1
Q

Wat zijn de voordelen van het gebruik van een compiler?

A

De compiler kan optimaliseren, fouten opsporen voor uitvoering, en weet wat nodig is van de computer (data, CPU power).

Dit betekent dat de compiler ‘in de toekomst’ kan kijken.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Wat zijn de nadelen van het gebruik van een compiler?

A

Een compiler genereert bestanden, wat extra geheugenruimte vereist. Het kan niet werken op lagere niveaus waar het concept van een bestand niet bestaat.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Wat zijn de voordelen van het gebruik van een interpreter?

A

Een interpreter kan werken op lagere niveaus zonder bestanden nodig te hebben en vertaalt code lijn per lijn direct uitgevoerd.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Wat zijn de nadelen van het gebruik van een interpreter?

A

De interpreter is gevoeliger voor fouten, kan niet optimaliseren, en de uitvoering is eerder traag.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Wat is de gedachte achter een CISC-architectuur?

A

Complexe instructies sequentieel uitvoeren om alle hardware te gebruiken voor parallelisme.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Wat is het nadeel van een CISC-architectuur?

A

Complexe instructies moeten worden opgesplitst in micro-instructies, wat tijd kost.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Wat is de gedachte achter een RISC-architectuur?

A

Een kleinere instructieset gebruiken en meerdere instructies tegelijk starten zonder te wachten op uitvoeringstijd (PIPELINING).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Waarom is de instructieset beperkt bij RISC?

A

Een beperkte instructieset met uniforme lengte bevordert de pipeline-efficiëntie, omdat elke instructie dezelfde tijd in elk stadium doorbrengt.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Hoe wordt neerwaartse compatibiliteit bereikt tussen CISC en RISC?

A

Sommige RISC-processors vertalen CISC-instructies naar interne micro-instructies, waardoor ze CISC-code kunnen uitvoeren.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Welke regels worden er aan RISC-instructies opgelegd?

A
  • Alle instructies moeten rechtstreeks op hardware uitgevoerd worden.
  • Maximaliseer het aantal instructies per tijdseenheid.
  • Instructies moeten makkelijk decodeerbaar zijn.
  • Alleen load en store operaties mogen geheugen refereren.
  • Genoeg registers moeten voorzien worden.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Wat is een superscalaire architectuur?

A

Een ontwerp met meerdere rekeneenheden, met meerdere eenheden toegevoegd aan de execution stap om de pipeline niet te vertragen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Hoe werkt een GPU?

A

Werkt op basis van Single Instruction-stream Multiple Data-stream (SIMD), waarbij veel gelijkaardige eenvoudige processoren dezelfde bewerkingen op verschillende data uitvoeren.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Wat is het probleem bij de omzetting van little endian naar big endian?

A

Verwarring over de juiste interpretatie van bytes tussen systemen met verschillende endianness.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Wat is het principe van cachegeheugen?

A

Caches slaan veelgebruikte waarden op voor snellere toegang en maken gebruik van het lokaliteitsbeginsel.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Waarom werd RAID bedacht?

A

Om memory parallel te laten werken door meerdere drives als één grote disk te laten functioneren.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Waarom is er bij RAID meer nood aan een redundante schijf?

A

Voor fouttolerantie; bij schijffouten blijven gegevens behouden door de redundante schijf.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Wat is de impact van de strip-grootte op de prestaties?

A
  • Kleinere strip-grootte verbetert leessnelheid, maar vermindert IO’s per seconde.
  • Grotere strip-grootte verhoogt het aantal IO’s per seconde.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Wat is een schrijfstraf bij RAID-4?

A

Kan herleid worden tot twee leesopdrachten en twee schrijfopdrachten.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Wat betekent mechanisch gesynchroniseerd in RAID-2?

A

Alle schijven draaien gelijktijdig, gesynchroniseerd qua armpositie en rotationele positie.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Waarom hebben solid state drives een write amplification factor?

A

Door hun block-architectuur, waarbij hele blokken gewist en herschreven moeten worden.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Wat is het probleem bij DMA in combinatie met cache-geheugens?

A

Kan leiden tot inconsistente gegevens tussen geheugen en cache.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Hoe geeft de CPU een I/O-opdracht aan een I/O device?

A
  • CPU stuurt instructie naar de controller van het I/O device.
  • Controller vertaalt en geeft door aan het I/O device.
  • I/O device voert instructie uit.
  • I/O device stuurt antwoord naar de controller.
  • Controller formatteert het antwoord voor geheugen.
  • CPU slaat het op in geheugen.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Welke prioriteit krijgt de CPU bij een bus?

A

De CPU krijgt de laatste prioriteit vanwege real-time data verlies bij I/O devices. Dit heet ‘cycle stealing’.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Wat is de functie van de embedded CPU bij een laserprinter?

A

Verwerkt gegevens en zet speciale taalformaten om naar bitmapafbeeldingen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

Hoe worden grijstinten bekomen?

A

Via half-toning, waarbij de originele image in cellen wordt verdeeld met verschillende mogelijkheden.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q

Waarom is het afdrukken van kleuren niet triviaal?

A

Monitoren gebruiken uitgestuurd licht, terwijl printers gereflecteerd licht gebruiken. Kleurmodellen: RGB (voor monitors) en CMYK (voor printers).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
27
Q

Wat zijn de beperkingen van ASCII?

A

Oorspronkelijk 7 bits, onvoldoende voor niet-Engelse tekens. Uitgebreid naar 8 bits met ‘pages’ voor extra karakters.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
28
Q

Welke problemen zijn er met Unicode?

A

16-bits bood 65536 combinaties, onvoldoende voor alle talen. Uitgebreid met codeplanes voor extra dimensies.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
29
Q

Wat zijn de eigenschappen van UTF-8?

A

Variabele lengte; ASCII-tekens met 1 byte (0), andere met meerdere bytes die beginnen met ‘1’s voor aantal benodigde bytes.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
30
Q

Hoeveel transistoren zijn nodig voor een AND-poort?

A

6 transistors.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
31
Q

Wat is een ripple carry adder?

A

Aaneengeschakelde full adders waarbij de carry-out van de ene naar de carry-in van de volgende gaat.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
32
Q

Wat is een ripple carry adder?

A

Een ripple carry adder bestaat uit aaneengeschakelde full adders, waarbij de carry-out van de ene naar de carry-in van de volgende gaat.

Dit veroorzaakt vertraging doordat de carry door het hele systeem moet ‘rippelen’.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
33
Q

Hoe werkt een carry select adder?

A

Bij een carry select adder worden twee berekeningen uitgevoerd met carry-in gelijk aan 0 en 1, en de juiste uitkomst wordt geselecteerd wanneer de carry van het vorige deel arriveert.

Deze aanpak minimaliseert de vertraging.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
34
Q

Wat is het voordeel van het gebruik van RAS en CAS signalen bij een geheugenchip?

A

Het zorgt voor een gestructureerde toegang tot de geheugencellen. RAS selecteert de rij en CAS selecteert de kolom, waardoor efficiënte geheugentoegang mogelijk is.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
35
Q

Wat is een nadeel van het gebruik van RAS en CAS signalen?

A

Het is iets trager aangezien er 2 addressing cycles nodig zijn in plaats van 1.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
36
Q

Wat is de breedte van de databus bij een CPU?

A

De breedte varieert, maar veelvoorkomende breedtes zijn 8, 16, 32, of 64 bits, met moderne systemen die vaak 64-bits databussen gebruiken.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
37
Q

Waarom heb je een busdriver nodig voor het aansluiten van een I/O-controller op een bus?

A
  1. Voltage-regulatie voor compatibiliteit.
  2. Signaalversterking.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
38
Q

Wat is wired-or?

A

Wired-or is een schakeling waarbij de devices aan dezelfde bus hangen; indien minstens 1 device de bus wilt gebruiken, trekt deze de bus low.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
39
Q

Wat zijn de nadelen van een parallelle bus?

A
  1. Skew: verschil in aankomsttijd van verschillende lijnen.
  2. Cross-talk: interferentie bij hoge frequenties.
  3. Hogere kosten en complexiteit door meer wires.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
40
Q

Wat is een full-handshake?

A

Een fenomeen dat optreedt bij asynchrone bussen waarbij de meester een synchronization request stuurt en de slaaf antwoordt met een SSYN.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
41
Q

Hoe wordt een interrupt afgehandeld bij gebruik van de 8259A prioriteitsinterruptcontroller?

A
  1. IO device stuurt interrupt naar de interrupt controller.
  2. Controller stuurt interrupt request naar CPU.
  3. CPU zoekt interrupt nummer op in zijn vector tabel.
  4. Registers + PC naar stack.
  5. Interrupt afhandelen en terug naar main code.
42
Q

Hoe werkt pipelining voor DDR3/4/5 SDRAM?

A

Memory requests hebben 3 stappen: 1. Activate fase. 2. Read/Write fase. 3. Precharge fase.

43
Q

Wat is memory mapped I/O?

A

IO registers worden op specifieke geheugenadressen toegewezen, waardoor toegang tot IO-functies via reguliere geheugenlees- en schrijfopdrachten kan plaatsvinden.

44
Q

Wat zijn de voordelen van memory mapped I/O?

A
  1. Geen extra datatransfer nodig naar de CPU.
  2. Snellere toegang tot IO-functies.
45
Q

Wat zijn de nadelen van memory mapped I/O?

A
  1. Verlies van geheugenruimte.
  2. CPU stalls bij gebrek aan parallelle operaties.
46
Q

Wat is isolated I/O?

A

Bij isolated I/O worden specifieke instructies gebruikt voor I/O-bewerkingen die gescheiden zijn van het geheugenadresbereik.

47
Q

Wat zijn de voordelen van isolated I/O?

A
  1. Adresbescherming.
  2. Gebruik van volledige geheugen.
48
Q

Wat zijn de nadelen van isolated I/O?

A
  1. Complexer door extra instructies.
  2. CPU moet data nog naar register/memory transferen.
49
Q

Wat is partiële adresdecodering?

A

Het betekent dat de hoogste orde adresbits beslissen welke device de CPU nodig heeft.

50
Q

Wat is een datapad?

A

Meerdere registers verbonden via input-bussen met één rekeneenheid (ALU) en via een terugkeer-bus aan diezelfde registers gekoppeld.

51
Q

Wat zijn de mogelijkheden om een geheugenaanvraag te doen via de MIC-1?

A

Directe adressering en indirecte adressering.

52
Q

Wanneer wordt een geheugenaanvraag gesteld?

A

Steeds op het einde van de datapadcyclus.

53
Q

Wat is de datapadtiming van de MIC-1?

A

∆w: Selecteren van een nieuwe micro-instructie. ∆x: Tijd voor B stabiel. ∆y: Tijd voor ALU stabiel. ∆z: Tijd voor Cbus stabiel.

54
Q

Waarom is timing op een datapad belangrijk?

A

Te korte clockcycles leiden tot foutieve resultaten en te lange cycles zijn inefficiënt.

55
Q

Waarom moet de klokpuls kort en krachtig zijn?

A

Om te voorkomen dat veranderingen in het resultaat van een bewerking de C-bus beïnvloeden.

56
Q

Wat is het verschil tussen een micro-instructie en een micro-operatie?

A

Een micro-instructie bevat ADDR en JAM velden, terwijl een micro-operatie deze niet nodig heeft.

57
Q

Hoe wordt het adres van de volgende micro-instructie bepaald?

A

Aan de hand van de 3 JAM bits en 9 NEXT_ADDRESS bits.

58
Q

Wat bevat de constanten pool in het geheugenmodel van de IJVM?

A

Constanten, strings en pointers die naar andere plaatsen in memory refereren.

59
Q

Wat is het voordeel van een 12-wegs set associatieve cache?

A

Bij een miss van de eerste set hoef je alleen de volgende set op dezelfde rij te checken.

60
Q

Hoe kan de uitvoeringstijd van ISA-instructies worden verbeterd?

A

Door meer hardware, parallelisme, pipelining en out of order execution.

61
Q

Waarom zijn er drie latch registers toegevoegd in een gepipelined model?

A

Om het datapad op te breken in meerdere delen, wat de clock versnelt en pipelining mogelijk maakt.

62
Q

Wat zijn de twee soorten lokaliteit?

A
  1. Ruimtelijke lokaliteit.
  2. Tijdelijke lokaliteit.
63
Q

Geef een voorbeeld van ruimtelijke lokaliteit.

A

Arrays of het programma zelf.

64
Q

Geef een voorbeeld van tijdelijke lokaliteit.

A

For- of while-loops.

65
Q

Hoe bepaal je op welke rij in de cache je moet zoeken?

A

Door het adres te splitsen in TAG, LINE en OFFSET bits.

66
Q

Wanneer krijg je collisions in de cache?

A

Als adres1 % 524288 == adres2 % 524288.

67
Q

Wat zijn de drie componenten van een geheugenadres in de cache?

A

(TAG, LINE, OFFSET)

Het adres is dus (13 TAG)(13 LINE)(6 OFFSET)

68
Q

Wat is een cache hit?

A

Wanneer de valid bit op 1 staat en de TAG overeenkomt

Dit betekent dat de gevraagde data in de cache aanwezig is.

69
Q

Wat is het doel van de dirty flag in cache?

A

Om aan te geven dat data is veranderd

Dit wordt gebruikt bij write-back cache mechanismen.

70
Q

Wat zijn de twee methoden voor schrijfoperaties naar cachelijnen?

A
  • Write Back
  • Write Through
71
Q

Wat is het probleem bij de uitvoering van sprongopdrachten?

A

Het probleem ligt bij pipelining

Decoden van een instructie gebeurt in de tweede stage.

72
Q

Wat is een delay slot in pipelining?

A

De clockcycle na een sprong waarin de pipeline bezig moet blijven

Vaak vindt de compiler geen nuttige instructie voor het delay slot.

73
Q

Wat is de eenvoudigste vorm van sprongvoorspelling?

A

Aannemen dat backward conditional branches altijd genomen worden, en voorwaartse niet.

74
Q

Hoeveel TAG bits zijn er bij een geschiedenis tabel van 1024 lijnen en 64-bit instructielengtes?

A

19 TAG bits

Dit is berekend als 32-10-3.

75
Q

Waarom zijn de prestaties beter met twee geschiedenisbits bij dynamische sprongvoorspelling?

A

Het voorkomt verkeerde voorspellingen bij sprongen

Voorbeeld: Bij for-lussen kunnen er fouten optreden in de voorspelling.

76
Q

Wat zijn de belangrijke regels voor superscalaire architectuur bij instructies?

A
  • Optelling/aftrekking: start in n+1, klaar in n+2
  • Vermenigvuldigen: start in n+1, klaar in n+3
77
Q

Wat is het probleem van Write After Read (WAR) in superscalaire architectuur?

A

Als een operand nog aan het lezen is, kan er niet naar geschreven worden.

78
Q

Wat is het principe van ‘precise interrupt’ in systemen?

A

Zodat we precies weten waar we gebleven zijn na een interrupt.

79
Q

Waarom is het onverstandig om getal=2 naar voren te schuiven in de gegeven code?

A

Kan leiden tot inefficiënt geheugen schrijven

Het volatile keyword zorgt ervoor dat altijd naar het hoofdgeheugen wordt gegaan.

80
Q

Wat is een poison bit en wanneer is het handig om dit toe te voegen?

A

Een bit dat aangeeft dat een register ongeldige informatie bevat

Handig bij speculative execution om crashes te voorkomen.

81
Q

Wat is store-to-load forwarding?

A

Resultaten van een store instructie worden in een buffer opgeslagen voor latere load instructies.

82
Q

Wat is geheugenalignering?

A

Gegevensstructuren moeten beginnen op een adres dat een veelvoud is van een bepaalde waarde

Dit verbetert de prestaties.

83
Q

Wat is het idee achter een VLIW-CPU?

A

Gebruik van zeer lange instructies om alle functionele eenheden te benutten.

84
Q

Wat is predicated execution?

A

Een predicaat toevoegen aan elke instructie om te bepalen of deze uitgevoerd moet worden.

85
Q

Wat is fine-grained multithreading?

A

Afwisselend van thread elke cycle

Dit kan niet altijd bruikbaar zijn door het aantal benodigde threads.

86
Q

Wat is coarse-grained multithreading?

A

Eén thread gebruiken tot er een stall is, dan naar de volgende thread gaan.

87
Q

Welke bronnen moeten bij multithreading sowieso worden gedupliceerd?

A
  • Program counter
  • Tabel die architectural registers op werkelijke registers mapt
  • Interrupt controller
88
Q

Wat zijn de drie types van resource sharing?

A
  • Full-resource sharing
  • Partitioned sharing
  • Threshold sharing
89
Q

Aan welke vier randvoorwaarden moet elk geheugenbeheersysteem voldoen?

A
  • Zoveel mogelijk processen in het hoofdgeheugen laden
  • Verwijzingen vertalen naar fysieke geheugenadressen
  • Beveiligingsmechanismen voor processen
  • Logische structuur van programma’s vertalen naar eendimensionale adresruimtes
90
Q

Wat is paginering?

A

Verdeelt hoofdgeheugen in frames en processen in pagina’s van gelijke grootte.

91
Q

Wat is het verschil tussen paginering en vaste partitionering?

A
  • Paginering: blokjes zijn kleiner en hoeven niet achter elkaar te staan
  • Vaste partitionering: blokjes zijn groter en moeten aaneengeschakeld zijn.
92
Q

Wat is paginering?

A

Een methode waarbij het hoofdgeheugen in frames wordt verdeeld en processen in even grote pagina’s worden opgedeeld.

93
Q

Hoe wordt een pagina vertaald naar een frame?

A

Via een paginatabel die in het processbeeld zit.

94
Q

Wat is een logisch adres?

A

Bestaat uit een paginanummer en een offset.

95
Q

Wat doet de MMU bij adresvertaling?

A

Vervangt het paginanummer door het framenummer.

96
Q

Wat is segmentatie?

A

Een geheugenbeheer techniek waarbij een proces meerdere blokken van verschillende grootte kan gebruiken.

97
Q

Wat is het verschil tussen dynamische partitionering en segmentatie?

A

Bij segmentatie is externe fragmentatie minder groot, maar beide gebruiken geheugenblokjes.

98
Q

Wat zijn de stappen bij een paginafout?

A
  1. Processor genereert interrupt
  2. OS neemt over
  3. IO-verzoek om stuk proces in hoofdgeheugen te laden
  4. Pagina tabellen worden bijgewerkt.
99
Q

Wat zijn drie voordelen van virtueel geheugen?

A
  • Meer processen in hoofdgeheugen
  • Processen kunnen groter zijn dan hoofdgeheugen
  • Efficiëntie van geheugen.
100
Q

Wat is een nadeel van virtueel geheugen?

A

Overhead en trashing.

101
Q

Wat zijn de twee parameters die het besturingssysteem moet monitoren bij virtueel geheugen?

A
  • Gemiddelde tijd tussen paginafouten (L)
  • Gemiddelde tijd om een pagina te vervangen (S).
102
Q

Wat is thrashing?

A

Wanneer de processor meer bezig is met swappen dan met het uitvoeren van instructies.