Università degli Studi di Roma "La Sapienza" -
Corso di Laurea in Ingegneria Informatica
a.a. 2005-2006
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.
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 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. |