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