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

Calcolatori Elettronici II (A-L)

Appello del 13 aprile 2007

 

Prima prova (15 punti)

Un'interfaccia IFMSG, attestata sul bus di I/O di una CPU PD-32, riceve in continuazione dati a 8 bit da un canale esterno XDAT[0-7] sincronizzati a un clock XCLK. Un messaggio su tale canale è costituito da una sequenza di byte consecutivi tali che:

Tra un messaggio e l'altro sul canale sono presenti solo byte uguali a 00h.

Su comando della CPU l'interfaccia aspetta l'arrivo di un messaggio e trasferisce ad essa le relative informazioni, come specificato più avanti.

 

Il software di controllo deve essere organizzato come subroutine che:

Al termine dell'acquisizione, la subroutine pone nei registri R1 e R2 la destinazione D e, rispettivamente, la lunghezza L del messaggio acquisito, e ritorna infine al chiamante.

 

Progettare l'hardware dell'interfaccia e codificare il software di pilotaggio, corredandolo di adeguati commenti.

 

 

Seconda prova

1. (5 punti)    Descrivere l'organizzazione di una cache set-associativa a 4 vie, con blocchi da 16 byte e indirizzi a 32 bit; determinarne poi la capacità totale in bit, includendo i tag e trascurando i campi di controllo (validità, dirty, etc.)
2. (5 punti)    In un sistema di elaborazione la memoria di massa e la memoria principale sono utilizzate rispettivamente per il 15% e per il 60% del tempo di esecuzione. Per rendere il sistema più efficiente, vi è la possibilità di:

(a) sostituire la memoria principale con una il 20% più veloce, con un certo costo X, oppure
(b) sostituire la memoria di massa con una il doppio più veloce, con un costo 3X.

Quale delle due alternative è da preferire, e perché?

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 ridurne l'impatto sulle prestazioni.