Esercizi Salvatore Orlando & Marta Simeoni Arch. Elab. A – M. Simeoni 1 Esercizio 1 1. Esprimere i numeri decimali A = 3.1275 • 102 e B = –1.123375 • 103 in notazione floating point, secondo lo standard IEEE754 in singola precisione. A = 3.1275 • 102 = 312.7510 = 100111000.112 = 1.0011100011 • 28 Quindi: S=0 E = 127 + 8 = 135 = 100001112 M = 1 + 0.0011100011 Arch. Elab. A – M. Simeoni 2 1 Esercizio 1 (continua) 1. Esprimere i numeri decimali 3.1275 • 102 e –1.123375 • 103 in notazione floating point, secondo lo standard IEEE754 in singola precisione. B = -1.123375 • 103 = -1123.37510 = -10001100011.0112 = = - 1.0001100011011 • 210 Quindi: S=1 E = 127 + 10 = 137 = 100010012 M = 1 + 0.0001100011011 Arch. Elab. A – M. Simeoni 3 Esercizio 1 (continua) 2. Eseguire la somma dei due numeri, mostrando tutti i dettagli del procedimento... (a) Allineamento esponenti: l’esponente di A è 28, mentre quello di B è 210. Bisogna quindi spostare la mantissa di A a destra di due posizioni: A = 0.010011100011 B = 1.0011100011 (b) Complemento a due: B è negativo. Per poter effettuare la somma devo prima eseguire il complemento a due (e aggiungere una posizione per il segno): A = 00.0100111000110 B = 10.1110011100101 Arch. Elab. A – M. Simeoni 4 2 Esercizio 1 (continua) 2. Eseguire la somma dei due numeri, mostrando tutti i dettagli del procedimento... (c) Somma delle mantisse: A = 00.0100111000110 + B = 10.1110011100101 --------------------C = 11.0011010101011 si tratta di un numero negativo il cui valore assolut è... 00.1100101010101 (facendo il complemento a due) (d) Normalizzazione risultato: 0.1100101010101 · 210 = 1.100101010101 · 29 (e) Risultato secondo lo standard IEEE754: S=1 E = 127 + 9 = 136 = 10001000 M = 1+0.100101010101 Arch. Elab. A – M. Simeoni 5 Esercizio 2 Progettare un circuito sequenziale che riceve due segnali di ingresso I0 ed I1, e produce in uscita un segnale Out tale che: Out = 1 se negli ultimi due cicli i segnali di ingresso sono uguali (bit a bit) Out = 0 altrimenti. Le sottosequenze sono sovrapponibili. Ad esempio: I0: 1011000101... I1: 1111010100... Out: 0001100110... Si richiede di: disegnare un automa di Moore che modelli il circuito disegnare un automa di Mealy che modelli il circuito per l’automa di taglia più ridotta, scrivere le tabelle di verità per Output e NextState e ricavare le equazioni minime Arch. Elab. A – M. Simeoni 6 3 Esercizio 2 (continua) L’automa di Moore è il seguente: I0 I1 Arch. Elab. A – M. Simeoni 7 Esercizio 2 (continua) L’automa di Mealy è il seguente: Le tabelle di verità per Output e NextState sono: S0 Æ s=0 S1 Æ s=1 s I0 I1 s’ Out 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 1 0 0 1 1 0 0 1 0 0 0 0 1 0 0 1 Arch. Elab. A – M. Simeoni 8 4 Esercizio 2 (continua) Le corrispondenti mappe di Karnaugh sono: Le equazioni per s’ e Out sono: s’ = ~I0 · ~I1 + I0 · I1 Out = s · ~I0 · ~I1 + s · I0 · I1 Arch. Elab. A – M. Simeoni 9 Esercizio 3 Considerare un’implementazione del MIPS con una rappresentazione interna dei numeri relativi (in complemento a 2) a 8 bit. Quindi anche i registri saranno a 8 bit. Effettuare (a mano) le seguenti operazioni nello stesso modo in cui lo farelle l’ALU vista a lezione. 1. sub $2, $3, $4 ($3=0x40, $4=0x8F) 2. sub $2, $3, $4 ($3=0xFA, $4=0x8E) 3. add $2, $3, $4 ($3=0x7F, $4=0x7F) In quali casi si ha overflow e perchè? 1. sub $2, $3, $4 ($3=0x40, $4=0x8F) 0x40 = 01000000 0x8F = 10001111 (negativo) 01000000 + positivo 01110000 + positivo 1 -------10110001 Å Overflow perchè negativo! Arch. Elab. A – M. Simeoni 10 5 Esercizio 3 2. sub $2, $3, $4 ($3=0xFA, $4=0x8E) 0xFA = 11111010 0x8F = 10001110 (entrambi negativi!) 11111010 + negativo 01110001 + positivo 1 -------01101100 Å No Overflow (impossibile!) 3. add $2, $3, $4 ($3=0x7F, $4=0x7F) 0x7F = 01111111 0x7F = 01111111 (entrambi positivi!) 01111111 + positivo 01111111 + positivo 0 -------11111110 Å Overflow perchè negativo Arch. Elab. A – M. Simeoni 11 Esercizio 4 Minimizzare l’uscita E della seguente funzione utilizzando l’algoritmo di Quine-McCluskey: A B C D E 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 1 1 0 0 1 1 0 0 0 0 0 1 0 0 0 1 Æ0 Æ1 Æ4 Æ5 Æ 11 0000 ----0001 0100 ----0101 ----1011 ----1111 0 √ 1 √ 4 √ 5 √ 000_ 0_00 ----0_01 010_ ----1_11 0/1 √ 0/4 √ 0_0_ 0/4/1/5 1/5 √ 4/5 √ 11/15 11√ 15√ E = ~A ~B ~C + ~AB ~C + ~A ~C + ACD Æ 15 ~A~C ACD 0 x 1 x 4 x 5 11 15 x x x Arch. Elab. A – M. Simeoni 12 6