Sei sulla pagina 1di 11

PolitecnicodiMilano

FACOLTDIINGEGNERIADELLINFORMAZIONE
CorsodiArchitetturadeicalcolatori
annoaccademico20072008provainitinere
Cognome(LEGGIBILE)...................................... Matr........................................................ Nome(LEGGIBILE)....................................... Firma........................................................

RiportareidatipersonaliinmodochesianoLEGGIBILI

Q 1

Q 2

Q 3

Q 4

Q 5

Q 6

TOT

NOTEPERLOSVOLGIMENTO Siraccomandadiessere sintetici (alfinedievitareinutiliperditeditempointrattazioni generiche e poco significative ai fini della valutazione finale) e ordinati allo scopo di migliorarel'interpretazionedapartedeicorrettori. Itemipropostidebbonoessererisoltiutilizzandounicamentelospaziolasciatoaltermine deltestodiogniquesito,ilretrodellepagineo,eventualmente,utilizzandolospaziofinale. VerrannocorrettiSOLOifoglicomponentiiltemadesame. IlpesodeiquesitiQ1,Q2,Q3paria6;quellodeiquesitiQ4,Q5,Q6paria5.

vietato consultare testi o appunti di qualunque genere o usare dispositivi elettronici,coscomeinteragireconivicini.Chiunquesiatrovatoinpossessodi documentazione relativa al corso, anche se non strettamente attinente al tema d'esame, vedr annullata la prova. Non consentito uscire durante la prima mezzora,ilcompitodeveesserecomunquericonsegnato,ancheincasodiritiro.

Quesito1 Lavalutazionedelleprestazioni:definireilconcettodiCPIediscuterloinparticolarein relazioneallarchitetturapipelinedsuperscalare.

Quesito2 Discutereletecnicheperlagestioneottimizzatadellescrittureincache.

Quesito3 Illustrareilconcettodiesecuzionefuoriordinenellearchitetturesuperscalariecorrelarlo allusodelReorderBuffer.

Quesito4 Si considerino due processori P1 e P2 che implementano lo stesso set d'istruzioni e operanoallafrequenzadi1MHz.Entrambidevonoeseguireuncodicecompostoda1000 istruzioni. P1 presenta CPI=2,5 mentre P2, grazie ad alcune ottimizzazioni, riesce a dimezzaretaleCPIperil40%deltempodiesecuzione. 1) calcolareiltempodiesecuzionedelcodiceperidueprocessori; 2) calcolarelospeedupdiP2rispettoaP1sfruttandoirisultatidelpuntoprecedente; 3) calcolarelospeeduputilizzandolaleggediAmdahl.

Quesito5 SiadatouncalcolatoreconmemoriaRAMorganizzataaparoleda32bit(congliindirizzidi memoriasipuntaadognisingolaparola).Sivuoledotareilcalcolatorediunamemoria cachecompletamenteassociativada2Kparolecapacedimemorizzare4blocchi. 1) quanteparolegrandeunblocco? 2) stabilireladimensionedellamemoriaRAMconsiderandochepucontenere2048 blocchi.QuantibitsononecessariperindirizzaretutteleparoledellaRAM? 3) illustrarelastrutturadell'indirizzodimemoriaperilcalcolatoreinesame,spiegando qualisonoisuoicampi,illorosignificatoeladimensioneinbit; 4) un ciclowhile richiede5iterazioniperessereeseguito.Taleciclomemorizzato sequenzialmentenel1,2e4bloccodellaRAM.Ipotizzandochelacachesia inizialmentevuotaindicareilnumerototaledicachemissdurantel'esecuzionedel ciclowhile.Fornireunabrevemotivazionedelrisultatopresentato.

Quesito6 Simostril'esecuzionedelcodicediseguitopresentatosecondol'algoritmodiTomasulo, sapendodiavereadisposizione2unitdiL.D/S.D,2unitdiADD.D/SUB.De1unitdi MUL.D/DIV.D.Nelcompletareletabellesiutilizzilaseguentenomenclaturaperindicarei risultatidelleistruzionieidatidellamemoria: risultato istruzione RIS_tagUnit(numero_istruzione). Es: RIS_MUL2(3) rappresentailrisultatodell'istruzionenumero3calcolatonell'unitMUL2. datomemoriaMEM(indirizzo_memoria).Es:MEM(35+R3). Note: Vj e Vk rappresentanoilvaloredeglioperandisorgente,mentre Qj e Qk sonoi puntatori alle Reservation Station che producono Vj e Vk. Possono viaggiare contemporaneamente sul Common Data Bus diversi dati. Tutte le unit richiedono lo stessotempodiesecuzione. Codice: N Istruzione 1 L.DF0,50(R1) 2 DIV.DF2,F3,F4 3 MUL.DF3,F4,F5 4 ADD.DF6,F5,F4

Svolgimento: 1) N 1 2 3 4 TAG ADD1 ADD2 MUL1 BUSY OP.CODE Vj Vk Qj Qk Issue Exe Write

TAG LOAD1 LOAD2

BUSY

OP.CODE

Address

Vj

Qj

F0 Valore Qk C.D.B.

F1

F2

F3

F4

F5

F6

2) N 1 2 3 4 TAG ADD1 ADD2 MUL1 BUSY OP.CODE Vj Vk Qj Qk Issue Exe Write

TAG LOAD1 LOAD2

BUSY

OP.CODE

Address

Vj

Qj

F0 Valore Qk C.D.B.

F1

F2

F3

F4

F5

F6

3) N 1 2 3 4 TAG ADD1 ADD2 MUL1 BUSY OP.CODE Vj Vk Qj Qk Issue Exe Write

TAG LOAD1 LOAD2

BUSY

OP.CODE

Address

Vj

Qj

F0 Valore Qk

F1

F2

F3

F4

F5

F6

C.D.B.

4) N 1 2 3 4 TAG ADD1 ADD2 MUL1 BUSY OP.CODE Vj Vk Qj Qk Issue Exe Write

TAG LOAD1 LOAD2

BUSY

OP.CODE

Address

Vj

Qj

F0 Valore Qk C.D.B.

F1

F2

F3

F4

F5

F6

5) N 1 2 3 4 TAG ADD1 ADD2 MUL1 BUSY OP.CODE Vj Vk Qj Qk Issue Exe Write

TAG LOAD1 LOAD2

BUSY

OP.CODE

Address

Vj

Qj

F0 Valore Qk C.D.B.

F1

F2

F3

F4

F5

F6

Potrebbero piacerti anche