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