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

Calcolatori Elettronici II (A-L)

Appello del 14 settembre 2006

 

Prima prova (15 punti)

Un'interfaccia IFMVP opera come coprocessore per il calcolo di prodotti matrice-vettore y = Mx, dove x = { xi ≤ 0 = < 4 } e y = { yi, 0 ≤ i < 4 } sono vettori a 4 componenti e M = { Mij, 0 ≤ i, j < 4 }è una matrice 4×4; sia le componenti dei vettori che gli elementi della matrice sono numeri floating-point a 64 bit. L'interfaccia riceve dalla CPU PD-32 un vettore x e un intero k che identifica una tra 256 matrici M immagazzinate in una ROM residente sulla stessa interfaccia, e restituisce alla CPU il vettore prodotto y tale che

3

yi =

Σ

Mij xj

j=0

Per l'esecuzione dei calcoli relativi, l'interfaccia utilizza un singolo modulo FPMA (Floating-Point Multiply Add, Fig. 1) per l'esecuzione dell'operazione R = A + BC, dove A, B, C, R sono numeri reali floating-point a 64 bit; tale operazione viene completata in un tempo non superiore a 4 periodi di System Clock.

FPMA module

Fig. 1

Il software di pilotaggio è organizzato sotto forma di subroutine che riceve in ingresso:

 

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

 

 

Seconda prova

1.    (5 punti)    Una CPU opera con clock da 250 MHz e con una cache ad accesso diretto avente hit time pari a un singolo ciclo di clock e miss penalty di 450 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 25%, di quanto migliorerà il tempo medio di accesso alla memoria?
 
2.   

(5 punti)    Un sistema di memoria virtuale ha le seguenti caratteristiche: indirizzo virtuale da 34 bit, pagine fisiche da 4 Kbyte, memoria fisica da 2 Gbyte. Assumendo il byte come minima unità indirizzabile, descrivere il meccanismo di paginazione corrispondente, e determinare le dimensioni della Page Table. (Si trascuri lo spazio necessario per i bit di validità, dirty, protezione, etc.; si trascuri anche lo spazio necessario per le informazioni di puntamento al disco rigido.)
 

3.    (5 punti)    Si voglia estendere il set di istruzioni della CPU MIPS con l'istruzione Subtract Memory in formato I:

subm $rt,offset($rs)       ; $rt ← ($rt) - 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.