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

Calcolatori Elettronici II (A-L)

Appello del 14 settembre 2005

 

Prima prova (15 punti)

Un'interfaccia IFRLE riceve in continuazione da un bus esterno XDAT0-7 dati paralleli a 8 bit, sincronizzati a un clock esterno XCLK e a un segnale XSYNC che individua l'inizio di un blocco di 4096 dati.

050914htm.gif (8826 bytes)

L'interfaccia comprime il blocco con un algoritmo di run-length encoding in cui una sequenza di N byte uguali consecutivi di valore X viene trasformata nella coppia di byte { X, N }; se N > 255, la sequenza viene suddivisa nel minimo numero di sottosequenze di lunghezza inferiore a 256, ciascuna codificata come sopra. Ad esempio, la sequenza { 23 23 23 23 23 } viene codificata come { 23 05 }, mentre una sequenza di 1000 byte uguali a 37 viene codificata come { 37 255 37 255 37 255 37 235 }.

Il software di controllo su CPU PD-32 č organizzato come subroutine che:

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

 

 

Seconda prova

1.    (5 punti)    Una CPU opera con clock da 200 MHz e con una cache ad accesso diretto avente hit time pari a un singolo ciclo di clock e miss penalty di 300 nsec. In tali condizioni, le misurazioni forniscono un tempo medio di accesso alla memoria di 125 nsec. Se la cache ad accesso diretto viene sostituita con una di tipo set-associativo, in cui il miss rate diminuisce del 30%, di quanto migliorerą il tempo medio di accesso alla memoria?
 
2.    (5 punti)    Si voglia estendere il set di istruzioni della CPU MIPS con l'istruzione Jump Indirect in formato I:

jm offset($rs)      ; PC ¬ Memory[offset+($rs)]

Discutere le varianti all'architettura multiciclo della CPU necessarie per l'implementazione di tale istruzione, e determinarne il diagramma degli stati per il controllo dell'esecuzione.
 

3.    (5 punti)    Una cache set-associativa ad N vie, con blocchi da B byte, ha una capacitą totale di C byte di dati (tag esclusi). La CPU ad essa connessa opera con indirizzi da k bit e con dati da 32 bit. Determinare in funzione di k, N, B, C:
  • il numero di set in cui č suddivisa la cache,
  • il numero totale di bit necessari per l'immagazzinamento dei tag,
  • le funzioni e le dimensioni dei vari campi in cui viene suddiviso l'indirizzo nell'accesso alla cache.

(Si assuma che N, B, C siano tutte potenze intere di 2, e si trascurino nel calcolo i bit di validitą, dirty, etc.)