• Non ci sono risultati.

Corso di Laurea in Informatica Architetture degli Elaboratori

N/A
N/A
Protected

Academic year: 2022

Condividi "Corso di Laurea in Informatica Architetture degli Elaboratori"

Copied!
9
0
0

Testo completo

(1)

Corso di Laurea in Informatica

Architetture degli Elaboratori

Corsi A e B

Scritto del 13 dicembre 2006

• Si ricorda che non `e possibile usare appunti, calcolatrici, e nessun altro materiale cartaceo o elettronico.

• Per ogni esercizio il massimo punteggio conseguibile `e indicato nella prima riga.

• La somma di tutti i punteggi conseguibili `e uguale a 33.

• Se la risposta `e un numero `e possibile indicare anche il procedimento per ottenerlo per dis- tinguere gli errori di calcolo da quelli concettuali.

• Per gli esercizi a risposte multiple vero/falso, per ogni risposta lo studente pu`o fare una croce su “V”, se ritiene che l’affermazione sia corretta, su “F” se ritiene che l’affermazione sia errata, oppure non rispondere. Se l’esercizio vale N punti e ci sono K risposte possibili allora:

– ogni risposta corretta apporta un punteggio di N/K;

– ogni risposta errata comporta una diminuzione di punteggio compresa tra 0 e N/K a seconda della gravit`a dell’errore;

– ogni mancata risposta lascia il punteggio invariato.

Esercizio 1 (punti 3)

Scrivere una sequenza di istruzioni IJVM che sia la traduzione corretta del frammento di codice Java seguente, sapendo che le variabili x e y sono memorizzate nelle posizioni 0 e 1 del frame di allocazione delle variabili locali:

if (x > y) x = x - y;

else

if (x < y) y = y - x;

else { y = 0;

x = 0;

}

(2)

Esercizio 2 (punti 3)

Data una stringa 10010010 a 8 bit, questa

(a) `e un numero positivo se la rappresentazione usata `e il complemento a 2;

(b) `e un numero negativo se la rappresentazione usata e il complemento a 1;

(c) vale −110 se la rappresentazione usata `e il complemento a 2;

(d) vale −146 se la rappresentazione usata `e il complemento a 2;

(e) vale 146 se la rappresentazione usata `e il complemento a 2;

(f) vale −109 se la rappresentazione usata `e il complemento a 1.

Esercizio 3 (punti 3)

Dati i contenuti di memoria riportati qui sotto (in binario) e una macchina a un indirizzo dotata di accumulatore acc (in tutti le operazioni l’operando implicito `e l’accumulatore), qual `e il valore finale dell’accumulatore (in binario) dopo l’esecuzione delle seguenti istruzioni?

LOAD INDIRECT 0x40 ADD DIRECT 0x20 ADD IMMEDIATE 0x60 Contenuto della memoria:

indirizzo valore 0x10 0010 0001 0x20 0000 1100 0x30 0010 0010 0x40 0011 0000 0x50 1010 0100 0x60 0000 0100 Esercizio 4 (punti 2)

Data la microistruzione MAL invokevirtual16 “MDR = SP + H + 1; wr” nella microarchitettura Mic-1, fornire la corrispondente configurazione dei bit del MIR, supponendo che invokevirtuale17 si trovi all’indirizzo 0xA3, che i registri sul bus B sono codificati nel seguente modo: MDR (0), PC (1), MBR (2), MBRU (3), SP (4), LV (5), CPP (6), TOS (7), OPC (8) e che i segnali di controllo dell’ALU sono dati dalla seguente tabella:

F0 F1 EN A EN B IN V A IN C F unzione

0 1 1 0 0 0 A

0 1 0 1 0 0 B

0 1 1 0 1 0 A

1 0 1 1 0 0 B

1 1 1 1 0 0 A + B

1 1 1 1 0 1 A + B + 1

1 1 1 0 0 1 A + 1

1 1 0 1 0 1 B + 1

1 1 1 1 1 1 B − A

1 1 0 1 1 0 B − 1

1 1 1 0 1 1 −A

0 0 1 1 0 0 A AND B

0 1 1 1 0 0 A OR B

(3)

Le seguenti microistruzioni realizzano l’istruzione IJVM IF ICMPEQ offset che fornisce il branch condizionato basato sull’uguaglianza delle due parole sul top dello stack di esecuzione. Completare le parti mancanti.

MAR = SP = SP - 1;

MAR = SP = SP - 1 H = MDR; rd

OPC = TOS TOS =

Z = OPC H; if ( ) goto T; else goto F Esercizio 6 (punti 3)

Si consideri l’architettura Mic-1.

(a) Nel registro MBR vengono memorizzate, tra le altre cose, gli opcode delle istruzioni da inter- pretare.

b) Nel registro MAR vengono memorizzati gli indirizzi da utilizzare durante l’esecuzione di una fetch.

c) Nel registro MDR vengono memorizzati, tra le altre cose, i dati provenienti dalla memoria a seguito di una istruzione di read.

d) Nel registro MAR vengono vengono memorizzate istruzioni nella fase di fetch.

e) Nel registro MBR vengono memorizzate istruzioni nella fase di fetch.

f) L’ALU svolge attivit`a di sincronismo dei vari dispositivi.

Esercizio 7 (punti 3)

Si completino i collegamenti mancanti nel circuito riportato in figura nel modulo risposte in modo da realizzare un multiplexer.

Esercizio 8 (punti 3)

Data un’informazione memorizzata su n + r bits (n bits per i dati e r per il controllo:

(a) con r = 1 e tecnica del bit di parit`a, solo 2nconfigurazioni sono valide;

(b) con il bit di parit`a si rilevano tutti gli errori di un bit;

(c) con il bit di parit`a si rilevano tutti gli errori che sono in numero dispari;

(d) se l’errore `e di un solo bit, con il bit di parit`a posso correggerlo;

(e) in un codice con n = 12, in cui le sole 4 configurazioni che rappresentano codici validi sono 0x000, Ox03F, OxF C0, 0xF F F , se arriva la parola 0x00F e si sono verificati al pi`u errori doppi, la parola inviata era 0x03F.

(4)

Esercizio 9 (punti 3)

Con riferimento alla notazione a virgola mobile (floating point), in particolare rispetto all’IEEE 754:

(a) `e definita una sequenza di bit che viene interpretata come “non `e un numero” (not a number);

(b) `e definita una sequenza di bit che viene interpretata come “infinito”;

(c) `e possibile rappresentare qualunque numero razionale superiore a 128;

(e) aumentando i bit della mantissa a scapito dei bit per l’esponente, diminuisco il range dei numeri rappresentabili, ma aumento la precisione;

(f) aumentando i bit della mantissa a scapito dei bit per l’esponente, diminuisco la precisione, ma aumento il range dei numeri rappresentabili;

(g) viene usata la rappresentazione in eccesso sia per la mantissa che per l’esponente;

(h) viene usata la rappresentazione in eccesso solo per l’esponente;

Esercizio 10 (punti 3)

Si supponga che la memoria principale di un elaboratore abbia dimensione di 256 Kbyte organizzata in parole di 4 byte ciascuna. Dire:

1. quante sono le parole di cui `e costituita tale memoria;

2. quanti bit sono necessari per indirizzare ogni parola di tale memoria;

3. quanti bit sono necessari per indirizzare ogni byte di tale memoria;

Supponendo di aggiugere un nuovo banco di memoria supplementare di 256 Kbyte, rispondere nuovamente alle tre domande di sopra.

Esercizio 11 (punti 2)

In un disco a pi`u piatti il tempo di seek `e:

(a) il tempo necessario per spostarsi da un piatto all’altro;

(b) il tempo necessario per spostarsi da una superficie ad un’altra;

(c) il tempo di lettura di un settore;

(d) il tempo necessario affinch`e il braccio arrivi sulla traccia giusta;

(e) il tempo di attesa del settore giusto, una volta che il braccio sia posizionato sulla traccia giusta;

(f) la somma del tempo necessario affinch`e il braccio arrivi sulla traccia giusta e del tempo di attesa del settore;

(g) `e dell’ordine dei ms;

(h) `e dell’ordine dei µs Esercizio 12 (punti 3)

Si descriva il protocollo di comunicazione fra master e slave per il trasferimento dati su bus asincroni (protocollo di full handshake)

(5)

Scritto di Architetture degli Elaboratori del 13/12/2006 MODULO RISPOSTE

Cognome: Nome:

Matricola: Corso:

1.

2.

(a) V F (b) V F (c) V F (d) V F (e) V F (f ) V F

3.

Valore finale accumulatore acc:

(6)

4.

NEXT ADDRESS (in binario, 9 bit):

JMPC, JAMN, JAMZ:

SLL8, SRA1:

F0, F1, ENA, ENB, INVA, INC:

H, OPC, TOS, CPP, LV, SP, PC, MDR, MAR:

WRITE, READ, FETCH:

Bus B:

5.

MAR = SP = SP - 1;

MAR = SP = SP - 1 H = MDR; rd

TOS =

Z = OPC H; if ( ) goto T; else goto F 6.

(a) V F (b) V F (c) V F (d) V F (e) V F (f ) V F

7.

8.

(7)

(a) V F (b) V F (c) V F (d) V F (e) V F (f ) V F (g) V F

10.

(1)

(2)

(3)

(1 bis)

(2 bis)

(3 bis)

11.

(a) V F (b) V F (c) V F (d) V F (e) V F (f ) V F

(g) V F (h) V F

12.

(8)

Scritto di Architetture degli Elaboratori del 13/12/2006 SOLUZIONI

Cognome: Nome:

Matricola: Corso:

1.

ILOAD 0 ILOAD 1 ISUB IFLT L0 ILOAD 0 ILOAD 1 ISUB ISTORE 0 GOTO L1 L0 ILOAD 0 ILOAD 1 ISUB IFLT L2 GOTO L3 L2 ILOAD 1 ILOAD 0 ISUB ISTORE 1 GOTO L1 L3 BIPUSH 0

ISTORE 0 BIPUSH 0 ISTORE 1 L1 ...

2.

(a) V F (b) V F (c) V F (d) V F (e) V F (e) V

F 3.

Valore finale accumulatore acc: 00100010 + 00001100 + 01100000 = 10001110 4.

NEXT ADDRESS (in binario, 9 bit): 010100011

JMPC, JAMN, JAMZ: 000

(9)

Bus B: 0100 5.

MAR = SP = SP - 1; rd MAR = SP = SP - 1 OPC = TOS

H = MDR; rd TOS = MDR

Z = OPC - H; if (Z) goto T; else goto F 6.

(a) V F (b) V F (c) V F (d) V F (e) V F (f ) V

F 7.

Si deva Figura 3.11 a pag. 144 del libro di testo, versione italiana.

8.

(a) V F (b) V F (c) V F (d) V F (e) V F

9.

(a) V F (b) V F (c) V F (d) V F (e) V F (f ) V

F (g) V F

10.

(1) 216 (2) 16 (3) 18 (1 bis) 217 (2 bis) 17 (3 bis) 19 11.

(a) V F (b) V F (c) V F (d) V F (e) V F (f ) V

F (g) V F (h) V F

12. Si veda il libro di testo (pag. 177 e 178 della versione italiana, con riferimento alla figura 3.39)

Riferimenti

Documenti correlati

(punti 3) Dire al piu` quante immagini di 160 x 160 pixel a 16 toni di grigio possono essere memorizzate in un palmare che dispone di 512 Kbyte di memoria4. Nella stessa quantita`

f) L’istruzione ISUB e’ un esempio di istruzione “a zero indirizzi” poiche’ esegue la sottrazione dei primi due valori sul top dello stack e memorizza il risultato sul top

e) Nell’indirizzamento di tipo indicizzato l’indirizzo in memoria a cui reperire l’informazione si determina sommando due valori di cui uno solitamente contenuto in un registro

e) Nel latch di tipo D sincronizzato il segnale nella porta D pu`o avere durata inferiore al segnale di livello del clock.. f) Nel flip-flop di tipo D il segnale nella porta D

[r]

…..una Chiesa aperta, accogliente verso gli altri, verso chi è diverso, verso chi la pensa in modo differente, una Chiesa che si sperimenta nel mondo, una Chiesa che si sporca le

Sapendo che l’utente utilizza una macchina fotografica da 12 megapixel e che i file vengono salvati in formato JPEG (con compressione media 3×), stimare il numero di

• La definizione di una variabile in un blocco annulla la visibilità di eventuali variabili con lo stesso nome, ma definite in