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

Calcolatori Elettronici II (A-L)

Appello del 21 dicembre 2006

 

Prima prova (15 punti)

Un'interfaccia IFMED riceve una sequenza continua {xn} di numeri binari assoluti a 8 bit dalle linee esterne XDAT[0-7], sincronizzate a un clock XCLK. La sequenza {xn} viene sottoposta a un processo di filtraggio non lineare, noto come median filter, nel quale ciascun valore di uscita {yn} viene determinato ordinando la terna {xn, xn-1, xn-2} per valori crescenti ed estraendo il secondo elemento dell'insieme così ottenuto. Ad esempio:

I termini della sequenza di uscita {yn}, oltre ad essere avviati verso un gruppo di linee di uscita XOUT[0-7], devono anche essere confrontati con un valore di soglia T fornito dalla CPU PD-32, e deve essere generato un interrupt ogni volta che yn > T.

Il software di controllo deve:

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

 

 

Seconda prova

1. (5 punti)    Una CPU opera con clock da 200 MHz e con una cache avente Hit Time = 1 clock e Miss Penalty = 8 clock; in tali condizioni, il tempo medio di accesso ai dati in memoria è pari a 21 nsec. Inserendo nel sistema anche una cache di secondo livello, avente lo stesso Hit Time ma Miss Penalty = 16 clock, si osserva un miglioramento del 26.5% nel tempo medio di accesso. Stimare il Miss Rate per ciascuna delle due cache.
 
2. (5 punti)    Si voglia implementare l'istruzione MIPS-32 Branch on Greater Than And Link

bgtal $rs, offset

in cui viene testato il registro $rs: se il suo contenuto risulta maggiore di zero, il valore corrente del Program Counter viene salvato nel registro $r31 e viene quindi eseguito il branch all'offset specificato, relativamente al Program Counter; altrimenti, l'esecuzione procede in sequenza.

Stabilire quali varianti all'architettura pipeline della CPU siano necessarie per l'implementazione di tale istruzione, ed evidenziare il flusso dei dati nelle varie fasi della sua esecuzione.
 

3. (5 punti)    Discutere la funzione del Translation Lookaside Buffer (TLB) nei sistemi di memoria virtuale e descriverne l'organizzazione.