Università degli Studi di Roma "La Sapienza" - Corso di Laurea in Ingegneria Informatica
a.a. 2004-2005

Calcolatori Elettronici II (A-L)

Appello del 6 luglio 2006

 

Prima prova (15 punti)

Un'interfaccia IFCMP opera come coprocessore per l'esecuzione di moltiplicazioni tra numeri complessi, rappresentati come coppie ordinate di numeri reali floating-point a 64 bit. L'interfaccia riceve dalla CPU PD-32 due operandi complessi X = XR + j XI, Y = YR + j YI, dove j = Ö(-1) è l'unità immaginaria, e trasmette alla CPU il risultato

Z = ZR + j ZI = (XR YR - XI YI) + j (XR YI + XI YR)

L'hardware dell'interfaccia utilizza un singolo modulo sequenziale FPMA (Floating-Point Multiply/Add, Fig. 1) per l'esecuzione dell'operazione R = A + B C, dove A, B, C, R sono numeri reali floating-point a 32 bit; l'inizio e il termine delle operazioni del modulo sono determinati dai segnali presenti rispettivamente all'ingresso BEGIN e all'uscita END (Fig. 2).

060706-1.gif (2837 bytes)

Fig. 1
060706-2.gif (2217 bytes)

Fig. 2

Il software di pilotaggio è organizzato sotto forma di subroutine che riceve in ingresso:

 

Progettare l'hardware dell'interfaccia e codificare la relativa subroutine di pilotaggio, corredandola di adeguati commenti.

 

NOTE:

 

 

Seconda prova

1.    (5 punti)    Descrivere l'organizzazione di una cache set-associativa a 4 vie, con capacità di 4 MByte (tag e bit di controllo esclusi) e lunghezza di blocco pari a 8 parole da 32 bit; evidenziare inoltre i vari campi in cui viene suddiviso l'indirizzo a 32 bit applicato alla cache e discutere la loro funzione.
 
2.   

(5 punti)    Un programma viene eseguito in 2.1 secondi; una sua subroutine, che viene richiamata 70 volte nel corso del programma, richiede un tempo di esecuzione di 10 millisecondi. Se la subroutine viene riscritta in modo da risultare il 75% più veloce, di quanto aumenterà la velocità dell'intero programma?
 

3.    (5 punti)    Descrivere le circostanze in cui si verificano conflitti di dati in una CPU MIPS-32 organizzata in pipeline, e discutere le tecniche per ridurre o eliminare gli stalli che ne conseguono.