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

Vergelijkbare documenten
scc = b) CD AB

Antwoorden zijn afgedrukt!!!!!!!

Studentnummer:... Opleiding:...

scc =!F3.!F2 b) CD AB

Uitwerking oefententamen Computerarchitectuur December 2016

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

Computerarchitectuur. Terugblik / discussie / oefenopgaven

Tentamen Computerorganisatie in aug. 1999, uur. N.B.: Dit tentamen bestaat uit 30 opgaven Totaal aantal bladzijden: 9

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

Beter, Sneller, Mooier. Processoren 12 januari 2015

Tentamen Computersystemen

Computerarchitectuur. H&P App. C. Pipelining

Tentamen 17 augustus 2000 Opgaven Computerarchitectuur

computerarchitectuur antwoorden

Tentamen Computersystemen

Beter, Sneller, Mooier. Processoren 27 maart 2012

Computerarchitectuur en netwerken. Memory management Assembler programmering

Hoofdstuk 7. Computerarchitectuur

Examen computerarchitectuur

Tentamen Computerorganisatie 28 augustus 1998, uur. N.B.: Dit tentamen bestaat uit 30 opgaven Totaal aantal bladzijden: 11

Digitale technieken Deeltoets II

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

slides2.pdf April 12,

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

Computerarchitectuur. App. B. Review of Memory Hierarchy

Hoe werkt een computer precies?

Computertechniek vorige examens

Tentamen Computersystemen

Computerarchitectuur en netwerken. Memory management Assembler programmering

Examen computerarchitectuur

Examen computerarchitectuur

Hoe werkt een rekenmachine?

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

Geheugenbeheer. ICT Infrastructuren 2 december 2013

Computerarchitectuur en netwerken Toets 1 4 okt

Digitale en analoge technieken

Microcontrollers Week 4 Introductie microcontroller Jesse op den Brouw (met dank aan Ben Kuiper) INLMIC/

b) Geef het schema van een minimale realisatie met uitsluitend NANDs en inverters voor uitgang D.

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

Voorblad tentamen ENG

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

Examen computerarchitectuur

Antwoorden vragen en opgaven Basismodule

Examen Geavanceerde Computerarchitectuur

Java virtuele machine JVM

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

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

Naam student: Studentnr: Klas: Cijfer:

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

Voorblad tentamen

Examen computerarchitectuur

Hoofdstuk 18. Embedded systemen

Computerarchitectuur. H&P Appendix A: Instruction Set Principles

Examen Geavanceerde Computerarchitectuur

Microcontrollers Week 1 Introductie microcontroller Jesse op den Brouw INLMIC/

TECHNISCHE UNIVERSITEIT EINDHOVEN FACULTEIT DER TECHNISCHE NATUURKUNDE

Digitale technieken Microprocessoren

1 Rekenen in eindige precisie

n o F o r t h voor MSP430 Launchpad 1. Memory map Er zijn twee ROM gebieden (alle getallen zijn hex): , verdeeld in vier blokken van 40

Getalformaten, timers en tellers

Bachelor Kunstmatige Intelligentie

Geannoteerde uitwerking tentamen Processoren 30 Januari 2015

Computerarchitectuur. H&P Appendix A: Instruction Set Principles

Oefeningen Interpretatie I Reeks 6 : Registermachines

Computerarchitectuur. Hoofdstuk 3: Instruction-Level Parallelism

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

Wat is een busverbinding?

Computerarchitectuur en Netwerken. Computerarchitectuur

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

1 Rekenen met gehele getallen

Microcontrollers Introductie INLMIC Jesse op den Brouw INLMIC/

18 Embedded systemen 1

De CPU in detail Hoe worden instruc4es uitgevoerd? Processoren 28 februari 2012

College 13: Patterns (2)

Today s class. Digital Logic. Informationsteknologi. Friday, October 19, 2007 Computer Architecture I - Class 8 1

ES1 Project 1: Microcontrollers

1=2720/2725 Operating System Concepten

Vakgroep CW KAHO Sint-Lieven

Examen besturingssystemen

Inleiding Digitale Techniek

Rekenen aan wortels Werkblad =

Hoofdstuk 19. Embedded systemen

Assembly en Assemblers. Processoren 5 januari 2015

Lab Webdesign: Javascript 3 maart 2008

Debugging in embedded en native systemen met GDB

computerarchitectuur F. Vonk versie

Uitwerking tentamen Analyse van Algoritmen, 29 januari

VOORBLAD SCHRIFTELIJKE TOETSEN

Sequentiële gepijplijnde machine

Microcontrollers Week 2 Opbouw ATmega32 controller, instructies Jesse op den Brouw INLMIC/

EE1410: Digitale Systemen BSc. EE, 1e jaar, , 10e hoorcollege

Faculteit Elektrotechniek - Capaciteitsgroep ICS Tentamen Schakeltechniek. Vakcodes 5A010/5A050, 26 november 2003, 14:00u-17:00u

slides12.pdf December 14,

Bouwstenen voor PSE. Datatypes en Datastructuren

Netwerken in productiesystemen. Automatiseringspiramide SCADA. Inleiding computersystemen en netwerken deel 2

Onderwijseenheid INLMIC Inleiding microcontrollers

From High-Level Language to language of the hardware

ACER CHROMEBOX CXI3 289,00. Kenmerken VBC COMPUTERS. Artikelcode : ITACCHROMEBOXCL

Faculteit Elektrotechniek - Leerstoel ES Tentamen Schakeltechniek. Vakcode 5A050, 17 november 2004, 9:00u-12:00u

ASUS DESKTOP GT51CH-BE016T 2 099,00. Kenmerken COMPUTRADE. Artikelcode : ITASGT51CHBE016

Transcriptie:

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 ander studiemateriaal. Beantwoord de vragen uitsluitend op dit vragenformulier in de daarvoor aangegeven blokken. Ander ingeleverd werk, zoals kladpapier, wordt niet beoordeeld. Schrijf op elke bladzijde uw naam. Naam:... Studentnummer:... Opleiding:... OPGAVE 1 (2 + 3 + 4 + 3 PUNTEN) a) Met welke term wordt het interface tussen software en hardware van een processor aangeduid? b) Welke drie aspecten zijn van invloed op de executietijd van een programma? 1. 2. 3. Voor een processor (Mbase) die op 500 Mhz draait zijn de volgende metingen gedaan: Instructie klasse CPI instructie frequentie A 2 40% B 3 25% C 3 25% D (branch) 5 10% De ontwerpers hebben de branch-instructies geoptimaliseerd (Mopt) maar de clock frequentie is nu 10 % lager. Ze hebben weer metingen gedaan en krijgen de volgende resultaten: Instructie klasse CPI instructie frequentie A 2 40% B 3 25% C 3 25% D 3 10% c) Wat is de gemiddelde CPI voor elke van die machines? Mbase = Mopt = d) Wat zal waarschijnlijk het effect van pipelining zijn op de aspecten genoemd onder b) voor processer Mbase? 1. 2. 3.

Tentamen Computerorganisatie 2 OPGAVE 2 (2 + 3 + 6 + 3 PUNTEN) Deze opgave gaat over de multi-cycle processor (zie documentatie) met de volgende veranderingen: De PC (Program Counter) maakt onderdeel uit van de register file. De PC is gelijk aan register E (RE); d.w.z. RE is altijd gelijk aan de PC en omgekeerd. Verder wordt register C (RC) als SP (Stack pointer) gebruikt. a) Wat is nu het uiteindelijke effect van de instructie LOAD RE, 20H? b) Geef de RTL beschrijving van de executiefase van de RETURN instructie RET a. De stack groeit van de hoge adressen naar de lage adressen en de SP (Stack Pointer) wijst naar de eerste vrije plaats op de stack. De waarde van 'a' wordt in register R5 teruggegeven. Hierdoor kan vanuit een procedure een variabele worden teruggegeven aan het aanroepende programma. RET a: c) Geef de microcode voor executiefase van de 'RET a' instructie. De executiefase begint op adres 0111 en de fetch op adres 0000. Gebruik zoveel mogelijk symbolische namen. Velden die er niet toe doen als don't care aangeven door het invullen van '-'; Address Next MC MS MM IL PCI PCL DA BA AA MB MD RW MW FS d) Stel het geheugen bevat vanaf adres 60H achtereenvolgens de waardes 10, 20, 30, 40, 50 en register R2 bevat een willekeurige element van de set {0,1,2,3,4}. Welke drie instructies (van de instructie-set van de SIMPLE processor, zie documentatie) moeten uitgevoerd worden als wordt gesprongen naar adres 10, 20,30, 40 of 50 voor respectievelijk de waarden in 0,1,2,3 of 4 in R2. OPGAVE 3 (3 + 5 + 3 + 3 + 3 PUNTEN) Gegeven is het volgende statement waarbij van het array a de elementen 1 t/m 100 met een constante b wordt opgehoogd: for ( i=100;i>0;i--) { a[i] = a[i] + b}; Dit wordt door een compiler vertaald in: Regelnummer 1 loop: load R0, 0(R1) ; R0 = array element 2 add R4, R0, R2 ; add scalar to R0 3 store 0(R1), R4 ; store result 4 subi R1,R1,1 ; decrement pointer 5 bnez R1,loop ; branch to loop if R1 ongelijk aan 0

Tentamen Computerorganisatie NAAM:... 3 R2 bevat de waarde b, en R0, R4, R1 en R2 zijn registers. Verder is gegeven dat de instrukties uitgevoerd worden op een processor met een pipeline met 5 secties: IF (Instructie fetch), ID (instructie decode), OF (operand fetch), EX (execute) en OW (operand write back). a) Tussen welke instructies zijn er data conflicten en branch conflicten? (geef de paren van de instructienummers) b) Vul het tijd-sectie diagram van één loop iteratie in. (Vul regelnummers van het programma in.) OW EX OF ID IF c) Hoeveel klok-tikken duurt het totale programma? Het aantal 'stalls' in de pipeline kan verminderd worden door zg. 'loop unrolling' techniek, hierbij worden een paar iteraties van de loop als het ware 'uitgerold'. Het resultaat is het volgende programma: 1 loop: load R0,0(R1) 2 add R4,R0,R2 3 store 0(R1),R4 4 load R6,-1(R1) 5 add R8,R6,R2 6 store -1(R1),R8 7 load R10,-2(R1) 8 add R12,R10,R2 9 store -2(R1),R12 10 load R14,-3(R1) 11 add R16,R14,R2 12 store -3(R1),R16 13 subi R1, R1, 4 14 bnez R1,loop d) Welke conflicten worden verbeterd en welke niet? Minder branch conflicten? ja/nee Minder data conflicten? ja/nee e) Door het herordenen van instructies kunnen ook nog conflicten opgelost worden. Geef een andere instructie volgorde met minder conflicten.

Tentamen Computerorganisatie 4 Huidige volgorde: 1 loop: load R0,0(R1) 2 add R4,R0,R2 3 store 0(R1),R4 4 load R6,-1(R1) 5 add R8,R6,R2 6 store -1(R1),R8 7 load R10,-2(R1) 8 add R12,R10,R2 9 store -2(R1),R12 10 load R14,-3(R1) 11 add R16,R14,R2 12 store -3(R1),R16 13 subi R1, R1, 4 14 bnez R1,loop Andere volgorde: OPGAVE 4 (5 + 3 + 3 + 3 + 3 PUNTEN) a) Dankzij welke eigenschap wordt de performance van het totale systeem verbeterd door het toevoegen van een cache? b) Bij cache wordt soms een LRU (Least Recently Used Algorithm) toegepast. Geef bij de gegeven drie implementaties van een cache aan waar je nooit een LRU tegen zult komen. Bij direct mapped wordt nooit een LRU toegepast? correct/niet correct Bij two-way-set-asscoiative wordt nooit een LRU toegepast? Bij fully associtiave wordt nooit een LRU toegepast? correct/niet correct correct/niet correct c) Gegeven een cache memory met een toegangstijd (access time) van 8 ns. Main memory heeft een toegangstijd van 85 ns. Veronderstel dat de hit-rate 0.8 is, wat is dan de effectieve toegangstijd van de cache-main memory combinatie? d) In veel computersystemen komt ook een MMU voor. Wat is de taak van een MMU?

Tentamen Computerorganisatie NAAM:... 5 e) De PCI bus gebruikt "centralized bus arbitration" voor het toekennen van een bus aan een device. Geef in onderstaand schema duidelijk de bedrading van de controle lijnen ("request" en "grant" lijnen) aan. Device 1 Device 2 Device N Bus Arbiter OPGAVE 5 (4 + 2 + 2 + 2 + 2 + 3 + 3 PUNTEN) Voor de communicatie van de processor met een Input/output device kan gebruik worden gemaakt van memory mapped IO. Wat is het kenmerk van memory mapped IO Bij polling (ook wel programmed IO ) wordt in het programma code opgenomen waarmee bijvoorbeeld een device wordt gevraagd of het nieuwe data heeft. Wat is een nadeel van polling en geef een alternatief mechanisme voor polling. Nadeel polling Alternatief voor polling Indien meerdere devices master van een bus kunnen worden is er een bus arbitration mechanisme nodig. Geef twee mogelijke mechanismen om de master te bepalen: 1) 2) Gegeven is een pipeline bestaande uit 5 secties. De vertragingstijd van de combinatoriek van de vijf secties is 25 ns, 30 ns, 35 ns, 40 ns en 45 ns. De registers aan het einde van elke sectie hebben een vertragingstijd van 5 ns. Verder is de omgeving is in staat om pauze cyclus en branch conflicten te voorkomen en is het aantal operaties zeer groot. Gevraagd wordt de minimale doorlooptijd van 1 instructie en de speedup ten opzichte van de situatie waarin geen pipeline is toegepast.

Tentamen Computerorganisatie 6 doorlooptijd 1 instructie Speedup OPGAVE 6 (6 2 + 5 2 PUNTEN) Xe Ye Xm Ym A B C D Et F Se Sm Bovenstaand datapad kan worden gebruikt voor het optellen en aftrekken twee genormaliseerde floating-point getallen X (=Xm 2 Xe ) en Y (=Ym 2 Ye ). Geef van de verschillende blokken, waarvan de functionaliteit is gegeven, aan en hoe dit gerealiseerd kan worden. Voor de realisatie kan gekozen worden uit: adder/subtractor, multiplexer, barrel shifter of register of een combinatie van deze realities. blok functionaliteit realisatie met A exponent vergelijken B select C select & align D adder E exponent adjust F post normalisation

Tentamen Computerorganisatie NAAM:... 7 Gegeven is het volgende 16-bits floating point formaat: Bit 15: S Teken ( Sign ); 0 is positief, 1 is negatief. Bits 10 t/m 14: E Exponent in excess 8 ; grondtal is 2. Bits 0 t/m 9: M Mantissa met hidden bit. Elk bitpatroon waarvan bits 10 t/m 14 (E) nul zijn, stelt de waarde 0.0 voor. Elk bitpatroon waarvan bits 10 t/m 14 (E) niet allemaal nul zijn, stelt een genormaliseerde representatie voor met de point links van het hidden bit. Geef als antwoord op onderstaande vragen een geheel getal of een afgerond decimaal floating point getal met 1 cijfer vóór en 5 cijfers achter de komma.. a) Geef decimaal de absoluut kleinste waarde voor de mantissa voor genormaliseerde representaties. b) Geef decimaal de grootste waarde voor de mantissa voor genormaliseerde representaties. c) Geef decimaal de kleinste voor genormaliseerde representaties bruikbare waarde voor de exponent. d) Geef decimaal de grootste voor genormaliseerde representaties bruikbare waarde voor de exponent. e) Hoeveel representaties zijn er voor het decimale getal 0?

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 ander studiemateriaal. Beantwoord de vragen uitsluitend op dit vragenformulier in de daarvoor aangegeven blokken. Ander ingeleverd werk, zoals kladpapier, wordt niet beoordeeld. Schrijf op elke bladzijde uw naam. Naam:... Studentnummer:... Opleiding:... OPGAVE 1 (2 + 3 + 4 + 3 PUNTEN) a) Met welke term wordt het interface tussen software en hardware van een processor aangeduid? ISA = Instruction Set Architecture b) Welke drie aspecten zijn van invloed op de executietijd van een programma? 1. aantal uit te voeren instrcuties 2. CPI 3. clock-frequentie Voor een processor (Mbase) die op 500 Mhz draait zijn de volgende metingen gedaan: Instructie klasse CPI instructie frequentie A 2 40% B 3 25% C 3 25% D (branch) 5 10% De ontwerpers hebben de branch-instructies geoptimaliseerd (Mopt) maar de clock frequentie is nu 10 % lager. Ze hebben weer metingen gedaan en krijgen de volgende resultaten: Instructie klasse CPI instructie frequentie A 2 40% B 3 25% C 3 25% D 3 10% c) Wat is de gemiddelde CPI voor elke van die machines? Mbase = 2,8 Mopt = 2,6 d) Wat zal waarschijnlijk het effect van pipelining zijn op de aspecten genoemd onder b) voor processer Mbase? 1. Aantal instructies wijzigt niet 2. De CPI daalt (voor de ideale pijplijn gaat de CPI naar 1) 3. De clock-frequentie stijgt. (de combinatoriek wordt onderbrolen door registers)

Tentamen Computerorganisatie 2 OPGAVE 2 (2 + 3 + 6 + 3 PUNTEN) Deze opgave gaat over de multi-cycle processor (zie documentatie) met de volgende veranderingen: De PC (Program Counter) maakt onderdeel uit van de register file. De PC is gelijk aan register E (RE); d.w.z. RE is altijd gelijk aan de PC en omgekeerd. Verder wordt register C (RC) als SP (Stack pointer) gebruikt. a) Wat is nu het uiteindelijke effect van de instructie LOAD RE, 20H? Dit is een JMP naar adres 20H b) Geef de RTL beschrijving van de executiefase van de RETURN instructie RET a. De stack groeit van de hoge adressen naar de lage adressen en de SP (Stack Pointer) wijst naar de eerste vrije plaats op de stack. De waarde van 'a' wordt in register R5 teruggegeven. Hierdoor kan vanuit een procedure een variabele worden teruggegeven aan het aanroepende programma. RET a: SP Ä SP + 1 PC ÄMEM[SP] R5 Ä a c) Geef de microcode voor executiefase van de 'RET a' instructie. De executiefase begint op adres 0111 en de fetch op adres 0000. Gebruik zoveel mogelijk symbolische namen. Velden die er niet toe doen als don't care aangeven door het invullen van '-'; Address Next MC MS MM IL PCI PCL DA BA AA MB MD RW MW FS 0111 - - 000-0 0 0 C - C - F 1 0 A+1 1000 - - 000 B 0 0 0 E C - B M 1 0-1001 0000 0 001-0 0 0 5 - C Im F 1 0 B d) Stel het geheugen bevat vanaf adres 60H achtereenvolgens de waardes 10, 20, 30, 40, 50 en register R2 bevat een willekeurige element van de set {0,1,2,3,4}. Welke drie instructies (van de instructie-set van de SIMPLE processor, zie documentatie) moeten uitgevoerd worden als wordt gesprongen naar adres 10, 20,30, 40 of 50 voor respectievelijk de waarden in 0,1,2,3 of 4 in R2. LOAD R1,60H ; start adres van de tabel ADDI R2,R2,R1 ; tel offset erbij op LOAD RE,[R2] ; jmp indirect OPGAVE 3 (3 + 5 + 3 + 3 + 3 PUNTEN) Gegeven is het volgende statement waarbij van het array a de elementen 1 t/m 100 met een constante b wordt opgehoogd: for ( i=100;i>0;i--) { a[i] = a[i] + b}; Dit wordt door een compiler vertaald in: Regelnummer 1 loop: load R0, 0(R1) ; R0 = array element 2 add R4, R0, R2 ; add scalar to R0 3 store 0(R1), R4 ; store result 4 subi R1,R1,1 ; decrement pointer concept uitwerking van het tentamen

Tentamen Computerorganisatie NAAM:... 3 5 bnez R1,loop ; branch to loop if R1 ongelijk aan 0 R2 bevat de waarde b, en R0, R4, R1 en R2 zijn registers. Verder is gegeven dat de instrukties uitgevoerd worden op een processor met een pipeline met 5 secties: IF (Instructie fetch), ID (instructie decode), OF (operand fetch), EX (execute) en OW (operand write back). a) Tussen welke instructies zijn er data conflicten en branch conflicten? (geef de paren van de instructienummers) 1,2 ; 2,3 en 4,5 b) Vul het tijd-sectie diagram van één loop iteratie in. (Vul regelnummers van het programma in.) OW 1 2 3 4 5 EX 1 2 3 4 5 OF 1 2 3 4 5 ID 1 2 2 2 3 3 3 4 5 5 5 IF 1 2 3 3 3 4 4 4 5 1 c) Hoeveel klok-tikken duurt het totale programma? 100 * 15 Het aantal 'stalls' in de pipeline kan verminderd worden door zg. 'loop unrolling' techniek, hierbij worden een paar iteraties van de loop als het ware 'uitgerold'. Het resultaat is het volgende programma: 1 loop: load R0,0(R1) 2 add R4,R0,R2 3 store 0(R1),R4 4 load R6,-1(R1) 5 add R8,R6,R2 6 store -1(R1),R8 7 load R10,-2(R1) 8 add R12,R10,R2 9 store -2(R1),R12 10 load R14,-3(R1) 11 add R16,R14,R2 12 store -3(R1),R16 13 subi R1, R1, 4 14 bnez R1,loop d) Welke conflicten worden verbeterd en welke niet? Minder branch conflicten? ja/nee Ja Minder data conflicten? ja/nee Nee e) Door het herordenen van instructies kunnen ook nog conflicten opgelost worden. Geef een andere instructie volgorde met minder conflicten. concept uitwerking van het tentamen

Tentamen Computerorganisatie 4 Huidige volgorde: 1 loop: load R0,0(R1) 2 add R4,R0,R2 3 store 0(R1),R4 4 load R6,-1(R1) 5 add R8,R6,R2 6 store -1(R1),R8 7 load R10,-2(R1) 8 add R12,R10,R2 9 store -2(R1),R12 10 load R14,-3(R1) 11 add R16,R14,R2 12 store -3(R1),R16 13 subi R1, R1, 4 14 bnez R1,loop Andere volgorde: loop: load F0,0(R1) load F6,-1(R1) load F10,-2(R1) load F14,-3(R1) add F4,F0,F2 add F8,F6,F2 add F12,F10,F2 add F16,F14,F2 store 0(R1),F4 store -1(R1),F8 store -2(R1), F12 store -3(R1), F16 subi R1,R1,4 bnez R1,loop OPGAVE 4 (5 + 3 + 3 + 3 + 3 PUNTEN) a) Dankzij welke eigenschap wordt de performance van het totale systeem verbeterd door het toevoegen van een cache? Dankzij locality of reference b) Bij cache wordt soms een LRU (Least Recently Used Algorithm) toegepast. Geef bij de gegeven drie implementaties van een cache aan waar je nooit een LRU tegen zult komen. Bij direct mapped wordt nooit een LRU toegepast? correct/niet correct correct Bij two-way-set-asscoiative wordt nooit een LRU toegepast? correct/niet correct niet correct Bij fully associtiave wordt nooit een LRU toegepast? correct/niet correct niet correct c) Gegeven een cache memory met een toegangstijd (access time) van 8 ns. Main memory heeft een toegangstijd van 85 ns. Veronderstel dat de hit-rate 0.8 is, wat is dan de effectieve toegangstijd van de cache-main memory combinatie? 0.8x8 + 0.2x85= 23.4 ms (of : 0.8x8 + 0.2x(8+85) = 25 ms d) In veel computersystemen komt ook een MMU voor. Wat is de taak van een MMU? Memory management concept uitwerking van het tentamen

Tentamen Computerorganisatie NAAM:... 5 e) De PCI bus gebruikt "centralized bus arbitration" voor het toekennen van een bus aan een device. Geef in onderstaand schema duidelijk de bedrading van de controle lijnen ("request" en "grant" lijnen) aan. Device 1 Device 2 Device N Bus Arbiter Device 1 Device 2 Device N Bus Arbiter Grant Req OPGAVE 5 (4 + 2 + 2 + 2 + 2 + 3 + 3 PUNTEN) Voor de communicatie van de processor met een Input/output device kan gebruik worden gemaakt van memory mapped IO. Wat is het kenmerk van memory mapped IO een deel van het geheugenbereik wordt gebruik om een I/O device te adresseren Bij polling (ook wel programmed IO ) wordt in het programma code opgenomen waarmee bijvoorbeeld een device wordt gevraagd of het nieuwe data heeft. Wat is een nadeel van polling en geef een alternatief mechanisme voor polling. Nadeel polling Onnodig gebruik van processortijd soms kan er niet worden gewacht op (bijvoorbeeld bij power down) Alternatief voor polling interrupt concept uitwerking van het tentamen

Tentamen Computerorganisatie 6 Indien meerdere devices master van een bus kunnen worden is er een bus arbitration mechanisme nodig. Geef twee mogelijke mechanismen om de master te bepalen: 1) 2) Daisy chain arbitration Centralized, parallel arbitration: PCI bus. Distributed arbitration by self-selection: each device wanting the bus places a code indicating its identity on the bus. By examining the bus a device can determine the device with the highest priority: nubus. Distributed arbitration by collision detection Gegeven is een pipeline bestaande uit 5 secties. De vertragingstijd van de combinatoriek van de vijf secties is 25 ns, 30 ns, 35 ns, 40 ns en 45 ns. De registers aan het einde van elke sectie hebben een vertragingstijd van 5 ns. Verder is de omgeving is in staat om pauze cyclus en branch conflicten te voorkomen en is het aantal operaties zeer groot. Gevraagd wordt de minimale doorlooptijd van 1 instructie en de speedup ten opzichte van de situatie waarin geen pipeline is toegepast. doorlooptijd 1 instructie 5* 50 ns = 250 ns Speedup zonder pipe: 25+30+35+40+45 ( secties zonder reg) + 5 ns (reg) = 180 ns met pipeline: voor zeer groot aantal instructies, geen pauze etc = 50 ns. Speedup = 180/50 = 3.6 ( of zonder laatste reg vergeten 175/50=3.5) OPGAVE 6 (6 2 + 5 2 PUNTEN) Xe Ye Xm Ym A B C D Et F Se Sm Bovenstaand datapad kan worden gebruikt voor het optellen en aftrekken twee genormaliseerde floating-point getallen X (=Xm 2 Xe ) en Y (=Ym 2 Ye ). Geef van de verschillende blokken, waarvan de functionaliteit is gegeven, aan en hoe dit gerealiseerd kan worden. Voor de realisatie kan gekozen worden uit: adder/subtractor, multiplexer, barrel shifter of register of een combinatie van deze realities. concept uitwerking van het tentamen

Tentamen Computerorganisatie NAAM:... 7 blok functionaliteit realisatie met A exponent vergelijken adder/subtracter B select multiplexer C select & align multiplexer+barrel shifter D adder adder/subtracter E exponent adjust adder/subtracter F post normalisation barrel shifter Gegeven is het volgende 16-bits floating point formaat: Bit 15: S Teken ( Sign ); 0 is positief, 1 is negatief. Bits 10 t/m 14: E Exponent in excess 8 ; grondtal is 2. Bits 0 t/m 9: M Mantissa met hidden bit. Elk bitpatroon waarvan bits 10 t/m 14 (E) nul zijn, stelt de waarde 0.0 voor. Elk bitpatroon waarvan bits 10 t/m 14 (E) niet allemaal nul zijn, stelt een genormaliseerde representatie voor met de point links van het hidden bit. Geef als antwoord op onderstaande vragen een geheel getal of een afgerond decimaal floating point getal met 1 cijfer vóór en 5 cijfers achter de komma.. a) Geef decimaal de absoluut kleinste waarde voor de mantissa voor genormaliseerde representaties. 0.5 b) Geef decimaal de grootste waarde voor de mantissa voor genormaliseerde representaties. 0.99951 (1-2 -11 ) c) Geef decimaal de kleinste voor genormaliseerde representaties bruikbare waarde voor de exponent. -7 d) Geef decimaal de grootste voor genormaliseerde representaties bruikbare waarde voor de exponent. 23 e) Hoeveel representaties zijn er voor het decimale getal 0? concept uitwerking van het tentamen

Tentamen Computerorganisatie 8 2 11 = 2048 concept uitwerking van het tentamen