III ESONERO Architetture degli Elaboratori, 6 Giugno 2001

Non e' ammesso l'uso di alcun testo, appunti o calcolatrici. Le risposte ai quesiti vanno scritte nel foglio di bella copia. Si raccomanda la massima SINTETICITA' negli esercizi che richiedano una spiegazione scritta.


Esercizio 1
E' possibile progettare un codice ad espansione che permetta la codifica di quanto segue in una istruzione di 12 bit? Un registro viene indicato con 3 bit. Giustificare la risposta.



Esercizio 2
Consideriamo il seguente frammento di programma (descritto anche nel Tananbaum) scritto in un linguaggio assembly generico.
	MOV R1,#0	; accumula l'OR in R1, inizialmente 0
	MOV R2,#0	; R2=indice, i, del prodotto: A[i] AND B[i]
	MOV R3,#4096	; R3=indice del primo valore da non usare
LOOP:	MOV R4,A(R2)	; R4=A[i]
	AND R4,B(R2)	; R4=A[i] AND B[i]
	OR  R1,R4	; OR tutti i prodotti booleani in R1
	ADD R2,#4	; i=i+4 (una parola alla volta =4byte)
	CMP R2,R3	; finito?
	BLT LOOP	; se R2 < R3, non abbiamo finito, quindi continua.
Tale programma suppone di avere in memoria due vettori di 1024 parole. Tali vettori sono memorizzati a partire dagli indirizzi A e B. Ogni parola e' lunga 4 byte e l'indirizzamento della memoria e' al byte. Il programma calcola, per ogni parola del vettore A, l'AND bit a bit di tale parola con la parola corrispondente in B, per poi fare l'OR bit a bit di tutte le 1024 parole ottenute.
Riscrivere il codice supponendo di avere a disposizione tutte le modalita' di indirizzamento utilizzate nel programma dato, escluso l'indirizzanento indice, supponendo pero' di avere a disposizione anche l'indirizzamento indiretto dei registri, che si denota con (r), dove r e' il nome di un registro.
Ricordiamo che #c denota indirizzamento immediato, r quello registro e c(r) quello indice.
Ricordate che il primo argomento delle istruzioni e' anche quello dove finisce il risultato.
Esercizio 3
L'architettura IA-64 utilizza una tecnica chiamata predication, che permette di ridurre il numero di salti condizionati e che permette di sfruttare bene la potenza delle pipeline.
Dire sinteticamente in cosa consiste.