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? Waarom is indirecte adressering nuttig in hogere programmeertalen? 3. Leg four-way set associatieve mapping uit adhv volgend voorbeeld: hoofdgeheugen van 4 mb ( da is dus 2 24 bytes) ---> nl 2 10 bytes = 1 kilobyte, 2 20 bytes = 1 megabyte,... cache van 512 kb (da is dus 2 19 bytes) woordlengte van 3 bytes 4. Daarna een voorbeeldje waaruit je de tag en het lijnnummer moet halen + geef de voordelen tov associatief en tov direct mapping (de getalwaarden kunnen een beetje mis zijn, maar 't is 't concept die telt hé 5. gegeven een programma in C en assemblercode ernaast (iets met recursie) 1. aantal instructies die uitgevoerd worden (dus het programma doorlopen en tellen) 2. Teken de stack op een bepaald ogenblik ( opgelet: bij een call-instructie moet er een terugkeeradres naar de stack!!) 3. waarin wordt de lokale variabele(uit de recursieve methode van het c-programma) in de assemblercode opgeslagen (bij ons was dat een register) 4. Geef 1 instructie die eigenlijk weg kan zodat de code nog steeds werkt (het gemakkelijkst is daarop te letten tijdens het doorlopen van het programma) Examen 2009 Groep 2 1. Waarvoor wordt de stack gebruikt bij een subroutine (5pt) 2. Maak een expanderende cod (zelfde vb als in de cursus) (5pt) 3. Geef de voordelen van segmentering (3pt) 4. Oefening op Assembler met < en > enzo. Niet heel moeilijk veel JNZ en JGE enzo gebruiken (7pt) Examen 2008 Groep 1 1. Segmentering 1. Geef het principe van segmentering 2. Hoe wordt segmentering geïmplementeerd met paging. 2. Associatieve mapping 1. Hoofdgeheugen: 256Mbyte Cache: 512kbyte 4-way set associatieve mapping Blokgrootte: 8bytes 2. Geef de adresvoorstelling + de constructie + leg uit. 3. Een uitbreiding. Je krijgt een adres (hex), tag-veld en set-veld aanwijzen... 4. Geef de voordelen t.o.v. directe en associatieve mapping.
3. Post-indexering 1. Wat is post-indexering. 2. Waarom is dit nuttig bij hogere programmeertalen. 4. Een programma in C (om de tweede macht te berekenen) 1. Hoeveel instructies worden er in totaal uitgevoerd. 2. Geef het stackbeeld + uitleg. 3. Waar wordt de variabele macht opgeslaan. 4. Welke instructie kan eventueel weggelaten worden. Examen 2008 Groep 2 1) Leg uit: 1. overlays 2. virtueel geheugen 3. paging 2) Coherentie 1. Leg uit : write policy, cache coherentie (zowat alles dus van die paragraaf zeggen) 2. Bereken de gem. toegangstijd bij gebruik van 2 caches (geg: hit ratio's en toegangstijden) 3) Leg uit: Software interrupt 4) Geg: een C programma (faculteit, recursief) 1. hoeveel instructies worden er uitgevoerd -teken de stack op een bep. ogenblik en geef (een beetje) uitleg 2. waar werd een bep. lokale variabele opgeslagen 3. verwijder minstens 1 nutteloze instructie (het programma moet ook werken voor andere inputs; geg. was faculteit(2), 't moest voor gelijk welk positief getal blijven werken) Examen: Januari 07 Groep 1 1. Geef de 2 manieren waarop de adressen van de I/O-module in de adresruimte geïntegreerd kunnen zijn. (op 5 punten) 2. Ontwerp een expanderende code van 12 bits (8 registers, dus 3 bits) met 4 instructies met 3 registerverwijzingen, 255 met 1 registerverwijzing en 8 zonder registerverwijzing (5ptn) 3. Bespreek write policy en cachecoherentie 4. Bereken de gemiddelde toegangstijd (we kregen een paar waarden, was met een L1 en een L2 cache) (op 3 punten) 5. Twee assemblerprogramma's die een voorwaarde controleerden (à la: if(xxx) then... else...) 1. Het ene was A>B en moesten we zeggen waar het resultaat van de vergelijking opgeslagen werd 2. Voor het tweede moesten we de xxx opzoeken en bespreken waar de resultaten werden opgeslaan (op 7 punten)
Examen: Januari 07 Groep 2 1) Stack: hoe en waarom bij subroutine (5ptn) 2) Oefening op set associative mapping zoals in les, en vorige examens (5ptn) 3) DMA: waarom, soorten,... eigenlijk alles van dat stuk (3ptn) 4) Oefening op binaire z80 code: 1. Zet code om nr mnemonics en omgekeerd 2. Geef inhoud van relevante registers, stap per stap, tot aan einde 3. Wat doet het programma Examen: Januari 07 Groep 3 1) Geef de 2 manieren waarop de adressen van de I/O-module in de adresruimte geïntegreerd kunnen zijn. (op 5 punten) 2) Direct mapping: (op 5 punten) 1. Leg uit aan de hand van een voorbeeld. 2. Leg algemeen uit. 3. Geef de voordelen/nadelen 4. Oefening: lijnnummer halen uit een geheugenadres 3) Voordelen segmentering. (op 3 punten) 4) C-programma (berekenen van een faculteit), met daarnaast het overeenkomstig stukske assemblercode. (op 7 punten) 1. Hoeveel instructies worden uitgevoerd? 2. Teken stack op een bepaald moment + leg uit 3. Wat is de lokale variabele? 4. Welke instructies zijn overbodig? Examen: Januari 06 Groep 1 1. Actieve synchronisatie en interrupts uitleggen - Interrupt afhandeling uitleggen 2. Ontwerp een 12-bits expanderende instructiecode. Er zijn 8 registers dus 3 bits voor adressering nodig. 4 instructies met 3 registers 255 instructies met 1 registers 8 instructies zonder registers 3. Write Policy uitleggen en Cachecoherentie, toegangstijden berekenen 4. Oefening met Z80.
Examen: Januari 06 Groep 2 1. Stack: wat en hoe bij een subroutine? 2. Set Associative Mapping: leg uit, teken, adres XXXXXXX: geef tag. bij HG: 128Mbyte - bij Cache: 512 kbyte - 4 way (dus 4 lijnen per set) 3. Voordelen van Segmentering. 4. Z80: beschrijf programma en zo.. Examen 2004 1. DMA: Leg uit: Wat? Hoe? Voordelen? Controlesignalen? Busconfiguratie? 2. Leg set associatieve mapping uit en leg uit aan de hand van volgende gegevens hoofdgeheugen: 64 Mbytes woordlengte: 8bytes cache: 512 kbytes 1. Bespreek aan de hand van het voorbeeld four way set associative mapping 2. Leg uit wat er gebeurd als er een read-instructie wordt uitgevoerd 3. Voordelen tov direct mapping? 4. Voordelen tov associative mapping 3. Geef de voordelen van segmentering (dit moest NIET uitgelegd worden) 4. Zoals op elk voorgaand examen : Z80 oefening 1. Vul aan: Soms mnemonic en soms de opcode in hex codes 2. Wat gebeurt er als het programma uitgevoerd wordt (alle registers zijn gegeven met een startwaarde); geef het verloop van de verschillende geheugens tijdens het uitvoeren3. bij code 55 (hex) : welk soort geheugenadressering is dit (was register indirecte adressering) 3. Wat was de betekenis van register B Examen 2003 1. I/O 1.1. Bespreek I/O-modules met actieve synchronisatie en met interrupts 1.2. Bespreek in detail I/O met interrupts 2. Set-associatieve mapping 2.1. Leg uit aan de hand van voorbeeld en schets. Gegeven: grootte geheugen en cache, het is 4-way set associatieve mapping (Het is niet echt nodig om die formulekes vanbuiten te leren, met redeneren komt ge er ook. Ge moet alleen zien dat ge u niet mistelt en dat ge alle groottes in machten van 2 opschrijft) 2.2. Ge krijgt een adres en ge moet zeggen waar dat in de cache kan terechtkomen en wat de tag is. 2.3. Wat gebeurt er bij een memory-read opdracht
3. Pipelining & Branch prediction 4. Z80 3.1. Waarom zijn spronginstructies nadelig bij pipelining? 3.2. Bespreek de voornaamste technieken van Branch Prediction. 4.1. Aanvullen van een programmake voor de Z80, de ene keer is de hexadecimale code weggelaten en de andere keer de mnemonics 4.2. Registers en geheugen aanpassingen opschrijven als het programma uitgevoerd wordt 4.3. Zeggen welk soort adressering gebruikt werd bij instructie LD (HL), A 4.4. Wat doet het programma en waarvoor wordt register B gebruikt? Examen (2) 2003 1. Segmentering/paginering 1. Principe segmentering 2. Hoe segmentering met paginering gebruiken 2. Direct mapping oefening 3. I/O mapped en isolated uitleggen 4. Oefening zoals altijd: Hexadecimaal of memnonic invullen, status registers, wat doet programma, welke adresseringstechniek is LD (HL),A