Corso di laurea in Informatica

Architettura degli elaboratori

Corsi A e B

Appello 8/7/2003

 

Nome e Cognome ……………………………………..…. Matricola ………………….

 

Esercizio 1 (1+2)

Con a disposizione 16Mbyte di memoria, indicare:

  1. quante pagine di un documento solo testuale sia possibile memorizzare supponendo che ogni pagina del documento sia composta da 32 righe, che ogni riga abbia 64 caratteri e che ogni carattere sia codificto in ASCII.
  2. quante pagine se ciascuna di queste contiene 16 righe di 64 caratteri ciascuna ed una immagine di 256*256 pixel ciascuna dei quali codificato con 64k colori.

Motivare le risposte.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Esercizio 2 (punti 4)

Si vuole avere un circuito con quattro ingressi ed una uscita che vale uno quando i quattro segnali in ingresso interpretati come nmuero in complemeto a due su quattro bit rappresentano una quantita' compresa tra -4 e +4 (estremi compresi).

In particolare, fornire la funzione booleana, la sua eventuale semplificazione nonche' disegnare il corrispondente circuito.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Esercizio 4 (punti 2)

Dato un Full-adder specificare quanto valgono le uscite nel caso che a = 0, b = 1, carry-in = 1.

 

 

 

 

 

 

 

 

 

 

Esercizio 5 (punti 2)

Data una memoria di 128Mbytes, in cui la lunghezza della parola e' di 32 bit, dire di quanti bit al minimo deve essere composto il Memory Address Register (MAR). E il Memory Data Register (MDR)?

 

 

 

 

 

 

 

 

 

 

 

 

 

Esercizio 6 (punti 2)

Dire quali di queste affermazioni sono corrette per caratterizzare l'indirizzamento indice (indexed):

  1. serve esclusivamente per accedere agli elementi di un vettore
  2. in Mic-1 serve per accedere alle variabili locali utilizzando come registro indice LV
  3. in Mic-1 si usa esclusivamente come registro indice PC
  4. in Mic-1 PC e' usato come registro indice per le istruzioni di controllo del flusso.

 

 

 

 

 

Esercizio 7 (punti 3+1)

Scrivere la sequenza di istruzioni IJVM tale che sia la traduzione corretta del frammento di programma JAVA:

k = 3 * k – j;

if (k == i)

j = k - i + 2;

sapendo che le variabili locali i, j e k sono memorizzate nelle posizioni 3 , 5 e 7 rispettivamente nel frame di allocazione delle variabili locali.

Per il frammento di codice generato in IJVM valutare la lunghezza in byte del codice.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Esercizio 8 (4 punti)

Dato le seguenti miscroistruzioni in Mic-1:

Main1 PC= PC + 1; goto (MBR)

MAR = SP + 1

PC = PC + 1; fetch

MDR = TOS = MBRU; wr; goto Main1

Verificare se implementano correttamente una istruzione di BIPUSH ed in caso negativo indicare le correzioni da apportare al microcodice.

 

 

 

 

 

 

 

Esercizio 9 (3 punti)

Una delle principali differenze tra l’architettura del Mic-1 e quella del Mic-2 è la presenza dell’Istruction Fetch Unit (IFU). Spiegarne la funzione e il vantaggi apportati dalla sua adozione.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Esercizio 10 (punti 3)

Specificare cosa significa macchina a due indirizzi.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Esercizio 11 (punti 3)

Spiegare perche` in una istruzione MAL è ammissibile avere sia come sorgente che come destinazione uno stesso registro pur essendo eseguita in un unico ciclo di data path.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Esercizio 12 (punti 3)

In una rappresentazione floating point su 8 bit, 5 bit servono a rappresentare la mantissa e 3 bit servono a rappresentare l’esponente. Fornire il minimo e il massimo dei numeri negativi e dei mumeri positivi rappresentabili nel caso in cui sia la mantissa che l’esponente usino la rappresentazione con segno (un bit per il segno).