La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Aritmetica Binaria 8-11-2000. Nei sistemi posizionali le cifre variano da 0 a B-1, la somma di due cifre qualunque non supera 2B-2. Al massimo il risultato.

Presentazioni simili


Presentazione sul tema: "Aritmetica Binaria 8-11-2000. Nei sistemi posizionali le cifre variano da 0 a B-1, la somma di due cifre qualunque non supera 2B-2. Al massimo il risultato."— Transcript della presentazione:

1 Aritmetica Binaria

2 Nei sistemi posizionali le cifre variano da 0 a B-1, la somma di due cifre qualunque non supera 2B-2. Al massimo il risultato e costituito da una cifra di ugual peso e da un eventuale riporto di valore 1 sulla cifra di peso immediatamente superiore. La presenza del riporto non altera questa proprietà, portando al massimo la somma a 2B-1. Analoghe considerazioni valgono per la sottrazione. Somme tra numeri binari Consideriamo il caso della somma di due bit: = = = = Somma di due bit (Half Adder): Sum = A + B

3 Dalla sintesi della tabella della verità si ricava lo schema logico dell Half Adder (HA). Half Adder (HA) Sum C A B Half-Adder (HA) C = A · BSum = A · B + A · B B A B

4 Somma di tre bit (Full Adder): Sum = A + B + Cin Full-Adder (FA) Full Adder (FA) Sum C out A B Cin

5 Cin BA Cin BA Sum = A·B·Cin + A·B·Cin + A·B·Cin + A·B·Cin C out =A·Cin + B·Cin + AB Generalmente il Full-Adder si realizza utilizzando due Half-Adder ed un OR come mostrato nello schema seguente

6 Esempio di somma tra numeri binari: = FA

7 Differenza due bit:Diff = A - B Sottrazioni tra numeri binari Differenza di tre bit: Diff = A - B - Bin

8 = Esempio di sottrazione tra numeri binari:

9 Un progetto gerarchico e' un progetto suddiviso su più livelli. Ad ogni livello è associata una descrizione funzionale o una struttura di blocchi interconnessi I2 I3 I1 Z1 Z2 A Z1 Z2 I2 I3 I1 B1 B2 Livello 0 Livello 1 Livello 2 Livello 3 Progetto gerarchico

10 Problema: progettare in modo gerarchico una rete che esegua la somma di due numeri codificati con codice binario da 4 bit. Progetto di un sommatore a 4 Bit Soluzione: Il primo passo è quello di descrivere lo schema in termini di segnali di ingresso e uscita (descrizione ai morsetti). Tale livello di descrizione corrisponde al livello gerarchico 0 (o entity). 4 Bit Full Adder Z[0..3] COUTX[0..3] Y[0..3] Level 0 - Entity

11 1 BIT FULLADDER 1 BIT FULLADDER 1 BIT FULLADDER 1 BIT FULLADDER Z0 Z1 Z2 Z3 X0 Y0 X1 Y1 X2 Y2 X3 Y3 0 Cout Level 1 Lo schema logico di livello 0 può essere ulteriormento scomposto in blocchi più semplici, come mostrato nello schema logico seguente, utilizzando 4 Full-Adder a 1 Bit.

12 X y CINZ C SC S 1 Bit Half Adder 1 Bit Half Adder COUT Ogni Full-Adder ad 1 Bit è descrivibile mediante il seguente schema logico utilizzando degli Half-Adder a 1 Bit. Level 2

13 X Y C S Level 3 Infine, gli Half-Adder utilizzati per realizzare i Full-Adder a 1 Bit possono essere descritti mediante il seguente schema logico. Questo è livello di descrizione più basso del nostro progetto. Per linserimento del progetto allinterno del simulatore partiremo da questo livello di descrizione e ripercorreremo la gerarchia fino ad arrivare al livello 0. Schema logico di un Half-Adder.

14 Design Entry Sintesi (Compilazione) Simulazione NO SI Funzionamento previsto ? Trasferimento al Chip (Target FPGA)

15 Nella rappresentazione binaria di numeri dotati di segno viene tipicamente usato un bit per discriminare tra valori positivi e valori negativi. Dati n bit per la rappresentazione il bit usato per il segno è quello più significativo (MSB, in posizione n-1). Aritmetica binaria: i numeri relativi Rappresentazione Segno-Valore Assoluto (S-VA) In questo rappresentazione al valore assoluto del numero viene prefisso un bit per indicarne il segno. Il valore 0 di questo bit codifica il segno più e il valore 1 il segno meno. Esempio n=8: = = modulosegno

16 La rappresentazione S-VA è vantaggiosa per la sua semplicità ma richiede circuiti complessi per lesecuzione di somme algebriche. Prima di eseguire una somma algebrica tra due operandi A e B e necessario determinare quale dei due e maggiore in valore assoluto. Se A e maggiore di B si esegue la differenza A-B e si assegna al risultato il segno di A. Se A e minore di B si esegue la differenza B-A e si assegna al risultato il segno di B Osservazioni Usando n bit (es. 8) per la codifica, il range di valori rappresentabili risulta: [-2 n n-1 -1]. Un bit (MSB) è usato per il segno. (Con 8 bit sono rapresentabili valori nellintervallo [ ]). Vi sono due configurazioni per lo zero ( e ) Poichè le operazioni vanno eseguite sulla sola parte di valore assoluto è semplice la determinazione delloverflow

17 Esempio di operazioni algebriche con rappresentazione S-VA ( ) 10 Stesso segno, si esegue la somma escludendo il bit più significativo. Entrambi gli operandi hanno lo stesso segno ( bit 7 = 0 ), quindi il segno viene mantenuto ( bit 7 = 0 ) = = Risultato : ( ) 10 Il primo operando ha modulo maggiore del secondo ( |22| > |17| ) => si esegue la differenza tra 22 e 17. In questo caso il segno del risultato (5) è positivo e il bit 7 deve essere posto a = = Risultato :

18 (8 - 16) 10 Il secondo operando ha modulo maggiore ( |16| >|8| ) del primo. Si esegue la differenza tra 16 e 8. Il segno e quello delloperando di valore assoluto maggiore. In questo caso il segno di 16 è negativo e il bit 7 deve essere posto a = Risultato ( ) 10 Entrambi gli operandi di segno negativo => si sommano i valori assoluti = Overflow. Sono necessari 8 bit per rappresentare 151 ! Usando la rappresentazione S-VA sono disponibili per il modulo solo 7 bit => (Overflow).

19 Rappresentazione in complemento a 2 (2s C) Dati n bit per la codifica del modulo e del segno: la rappresentazione in complemento a 2 (2s C) di un numero si ottiene sommando (sottraendo nel caso di numeri negativi) a 2 n il numero codificato in valore assoluto ed eliminando leventuale bit di riporto in posizione n; - Con tale rappresentazione possono essere codificati i valori compresi nellintervallo [(2 n-1 -1), -2 n-1 ]. - I numeri positivi restano inalterati - I numeri negativi sono calcolabili partendo dal corrispondente valore positivo, invertendo tutti i bit (complemento a 1, 1s) e sommando 1

20 Siano dati 3 bit (n=3) per la rappresentazione di numeri con segno Bit 0Bit 1Bit 2 n=3 Con tale configurazione di bit potranno essere codificati i numeri da +3 a -4, cioè [2 2 -1,-2 2 ] si somma (o si sottrae) a 2 3 = 8 10 = la rappresentazione in valore assoluto del numero che si vuole rappresentare in 2s C, La rappresentazione in complemento a 2 (2s C) si ottiene come segue: Es +2: Per i numeri positivi si somma a il modulo del numero (|2 10 |=010 2 ). Quindi = = x010 2 in complemento a 2 Es -2: Per i numeri negativi si sottrae da il modulo del numero |2 10 |= Quindi = = x110 2 in complemento a 2 Esempio

21 Rappresentazione in Segno e Valore Assoluto (S-VA) e Complemento a 2 (2s C) di numeri con segno utilizzando 3 bit

22 Interpretazione di un numero codificato in complemento a 2 La rappresentazione con segno e valore assoluto (S-VA) risulta più intuitiva ma meno potente rispetto alla rappresentazione in complemento a 2 (2s C). Come interpretare un numero codificato in complemento a 2 ? In una configurazione binaria di n bit codificata in complemento a 2, il bit più significativo (MSB in posizione n-1) assume un peso negativo pari a -2 n-1. Esempio: n= in complemento a 2 equivale a: = -1· · ·2 1 +1·2 0 = = Mentre in complemento a 2 equivale a : = 0· · ·2 1 +1·2 0 = = I numeri positivi (d n-1 =0) codificati in complemento a 2 rimangono inalterati.

23 Nella rappresentazione in complemento a 2 i numeri positivi rimangono inalterati mentre i numeri negativi possono essere ottenuti, dalla rappresentazione in valore assoluto, invertendo tutti i bit (1s C) e sommando 1. Esempio n = 4 a) Rappresentare in complemento a 2. Soluzione = (rimane inalterato) b) Rappresentare in complemento a 2. Soluzione Si esprime il valore assoluto di –5 in binario. Si applica il complemento a 1 e si somma 1 a risultato. 1s = > > = -5 Metodo opertivo per il calcolo del complemento a 2 di un numero

24 Propriètà Applicando due volte la regola del complemento a 2 si ottiene il numero originale. Esempio n = in complemento a 2 risulta Applicando nuovamente il complemento a 2 si ottiene il valore assoluto del numero 1s > > > = Propriètà il complemento di una somma algebrica è uguale alla somma aritmetica dei complementi

25 - Vi è una sola rappresentazione per lo zero (00…000). - Operativamente non vi e differenza nelleseguire somme o sottrazioni - Non e necessario individuare il maggiore, in valore assoluto, tra i due operandi come nel caso della rappresentazione S-VA. Vantaggi della rappresentazione in complemento a 2 rispetto alla rapp. somma valore assoluto Per Esercizio Utilizzando una rappresentazione a 4 bit calcolare 3 +1 = [0100] 3 -1 = [0010] = [1101] 3 -7 = [1100]

26 3+3 = 6 (overflow) = Esempi: Con N=3 possono essere rappresentati i numeri tra [+3, -4] in 2s C 2+1 = = = -6 (overflow) = = = = = Nel caso della rappresentazione con segno e valore assoluto (S-VA) la presenza di eventuali situazioni overflow puo essere rilevata analizzando il bit di carry-out relativo al bit più significativo del modulo. S-VA Nel caso di somme algebriche con numeri rappresentati in complemento a 2 la rilevazione della condizione di overflow si ottiene controllando se il bit di carry-in e il bit di carry_out relativi al bit più significativo (il bit n-1) della codifica sono diversi. Questa operazione puo essere eseguita utilizzando loperatore logico or-esclusivo. 2s C Overflow

27 Progetto di un sommatore algebrico a 4 Bit Problema: progettare in modo gerarchico una rete che esegua la somma algebrica di due numeri di 4 bit codificati con segno e valore assoluto (S-VA). La rete produce un risultato a 4 bit per cui è necessario segnalare eventuali situazioni di overflow. Somma Algebrica Z[0..2] Overflow X[0..2] Y[0..2] S-VA Segno Y Segno X Segno Z Level 0 - Entity

28 Level 1 Lo schema logico dellesercizio puo essere ulteriormente scomposto.In rosso sono evidenziati i tipi di rappresentazione utilizzati per lelaborazione delle informazioni allinterno della rete. Overflow C2s Z[0..2] X[0..2] Y[0..2] C2s 4 Bit Full Adder C2s Errore 2s C S-VA Segno Z Segno y Segno x

29 Level 2 La rete che calcola il complemento a 2 può essere ulteriormente decomposta con due blocchi in cascata che, nel caso di numeri negativi, calcolano il complemento a 1 e sommano 1. La rete che somma 1 al numero in complemento a 1 puo essere ottenuta con un FA a 4 bit nel quale uno degli operandi è 1 se il numero è negativo e 0 se il numero è positivo. C1s I[0..2] 3 4 Segno x s CS-VA U[0..3]

30 Level 3 Mentre la rete che calcola il complemento a 1 puo essere realizzata con degli operatori di or-esclusivo.


Scaricare ppt "Aritmetica Binaria 8-11-2000. Nei sistemi posizionali le cifre variano da 0 a B-1, la somma di due cifre qualunque non supera 2B-2. Al massimo il risultato."

Presentazioni simili


Annunci Google