You are on page 1of 11

Politecnico di Milano

FACOLTÀ DI INGEGNERIA DELL’INFORMAZIONE
Corso di Architettura dei calcolatori
anno accademico 2007­2008 – prova in itinere
Cognome(LEGGIBILE)...................................... Matr........................................................ Nome (LEGGIBILE)....................................... Firma........................................................

Riportare i dati personali in modo che siano LEGGIBILI

Q 1

Q 2

Q 3

Q 4

Q 5

Q 6

TOT

NOTE PER LO SVOLGIMENTO Si raccomanda di essere  sintetici  (al fine di evitare inutili perdite di tempo in trattazioni  generiche   e   poco   significative   ai   fini   della   valutazione   finale)   e  ordinati  allo   scopo   di  migliorare l'interpretazione da parte dei correttori. I temi proposti debbono essere risolti utilizzando unicamente lo spazio lasciato al termine  del testo di ogni quesito, il retro delle pagine o, eventualmente, utilizzando lo spazio finale.  Verranno corretti SOLO i fogli componenti il tema d’esame. Il peso dei quesiti Q1, Q2, Q3 è pari a 6; quello dei quesiti Q4, Q5, Q6 è pari a 5.

È   vietato   consultare   testi   o   appunti   di   qualunque   genere   o   usare   dispositivi  elettronici, così come interagire con i vicini. Chiunque sia trovato in possesso di  documentazione   relativa   al   corso,   anche   se   non   strettamente   attinente   al   tema  d'esame,   vedrà   annullata   la   prova.  Non   è   consentito   uscire   durante   la   prima  mezz’ora, il compito deve essere comunque riconsegnato, anche in caso di ritiro. 

Quesito 1 La valutazione delle prestazioni: definire il concetto di CPI e discuterlo in particolare in  relazione all’architettura pipelined superscalare. .

.Quesito 2 Discutere le tecniche per la gestione ottimizzata delle scritture in cache.

Quesito 3 Illustrare il concetto di esecuzione fuori ordine nelle architetture superscalari e correlarlo  all’uso del Reorder Buffer. .

.   riesce   a  dimezzare tale CPI per il 40% del tempo di esecuzione. Entrambi devono eseguire un codice composto da 1000  istruzioni.5   mentre   P2.Quesito 4 Si   considerino   due   processori   P1   e   P2   che   implementano   lo   stesso   set   d'istruzioni   e  operano alla frequenza di 1MHz.   P1   presenta   CPI=2. 1) calcolare il tempo di esecuzione del codice per i due processori. 3) calcolare lo speed­up utilizzando la legge di Amdahl. 2) calcolare lo speed­up di P2 rispetto a P1 sfruttando i risultati del punto precedente.   grazie   ad   alcune   ottimizzazioni.

 2° e 4° blocco della RAM. 1) quante parole è grande un blocco? 2) stabilire la dimensione della memoria RAM considerando che può contenere 2048  blocchi.Quesito 5 Sia dato un calcolatore con memoria RAM organizzata a parole da 32bit (con gli indirizzi di  memoria si punta ad ogni singola parola). spiegando  quali sono i suoi campi. il loro significato e la dimensione in bit. Quanti bit sono necessari per indirizzare tutte le parole della RAM? 3) illustrare la struttura dell'indirizzo di memoria per il calcolatore in esame. Tale ciclo è memorizzato  sequenzialmente nel 1°. Ipotizzando che la cache sia  inizialmente vuota indicare il numero totale di cache miss durante l'esecuzione del  ciclo while. Si vuole dotare il calcolatore di una memoria  cache completamente associativa da 2Kparole capace di memorizzare 4 blocchi. 4) un  ciclo while  richiede 5 iterazioni per essere eseguito. Fornire una breve motivazione del risultato presentato. .

D      F0.  dato memoria → MEM(indirizzo_memoria). mentre  Qj  e  Qk  sono i  puntatori   alle   Reservation   Station   che   producono  Vj  e  Vk. Nel completare le tabelle si utilizzi la seguente nomenclatura per indicare i  risultati delle istruzioni e i dati della memoria:  risultato   istruzione  →  RIS_tagUnità(numero_istruzione).D.F5.D. Es: MEM(35+R3).   Possono   viaggiare  contemporaneamente   sul   Common   Data   Bus   diversi   dati.F4 3 MUL.D F3.D  F2.D/SUB.50(R1) 2 DIV.D F6. 2 unità di ADD.D/DIV.  sapendo di avere a disposizione 2 unità di L.   Es:   RIS_MUL2(3)  rappresenta il risultato dell'istruzione numero 3 calcolato nell'unità MUL2. Note:  Vj  e  Vk  rappresentano il valore degli operandi sorgente. Codice: N Istruzione 1 L.F4 Svolgimento: 1) N 1 2 3 4 TAG ADD1 ADD2 MUL1 BUSY OP.F4.F5 4 ADD.CODE Vj Vk Qj Qk Issue Exe Write .F3.   Tutte   le   unità   richiedono   lo  stesso tempo di esecuzione.D e 1 unità di  MUL.D/S.Quesito 6 Si mostri l'esecuzione del codice di seguito presentato secondo l'algoritmo di Tomasulo.

F1 F2 F3 F4 F5 F6 2) N 1 2 3 4 TAG ADD1 ADD2 MUL1 BUSY OP.TAG LOAD1 LOAD2 BUSY OP.CODE Address Vj Qj .CODE Address Vj Qj F0 Valore Qk C.CODE Vj Vk Qj Qk Issue Exe Write TAG LOAD1 LOAD2 BUSY OP.B.D.

CODE Vj Vk Qj Qk Issue Exe Write TAG LOAD1 LOAD2 BUSY OP. F1 F2 F3 F4 F5 F6 3) N 1 2 3 4 TAG ADD1 ADD2 MUL1 BUSY OP.B.D.CODE Address Vj Qj F0 Valore Qk F1 F2 F3 F4 F5 F6 .F0 Valore Qk C.

B.CODE Address Vj Qj F0 Valore Qk C.C. 4) N 1 2 3 4 TAG ADD1 ADD2 MUL1 BUSY OP. F1 F2 F3 F4 F5 F6 .CODE Vj Vk Qj Qk Issue Exe Write TAG LOAD1 LOAD2 BUSY OP.D.D.B.

CODE Address Vj Qj F0 Valore Qk C.D.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.B. F1 F2 F3 F4 F5 F6 .