1 La Unità Aritmetico Logica. Aritmetica 32 operation result a b ALU.

Slides:



Advertisements
Presentazioni simili
Circuiti Aritmetico-Logici
Advertisements

Informatica 3 Codifica binaria.
Tesina di fine corso Argomento: Corso: Professore: Autori:
Algebra di Boole.
RETI LOGICHE Daniele Manzaroli
NANDNOR A BA NAND B falso vero falso vero vero vero falso vero falso A BA NOR B falso vero falso vero falso vero falso falso vero falso
Esercizio n o 3 Si realizzi una calcolatrice a 32 bit con interfaccia “normale” (decimale) con LabView, utilizzando SOLAMENTE: –convertitore decimale (input)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Numeri con segno ed in virgola Marco D. Santambrogio – Ver. aggiornata al 20 Marzo.
Massimiliano Sbaraglia Network Engineer MPLS classi amministrative flussi di traffico Affinità e Maschera.
2a + 10b abx2 3a + 1 y 2 a + 1 x + 2y a − Espressioni algebriche
L’addizione ESEMPIO Rappresentazione
Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica FONDAMENTI DI INFORMATICA Domenico Talia
I Polinomi Prof.ssa A.Comis.
4. Codifica binaria dell’informazione Informatica - CDL in Ingegneria Industriale- A.A Ing. Simona Colucci.
Agile Group – DIEE, Università degli studi di Cagliari Università degli Studi di Cagliari Corso di Laurea in Ingegneria Elettronica ELEMENTI DI INFORMATICA.
NUMERI RELATIVI I numeri relativi comprendono i numeri positivi, negativi e lo 0 Esempio: +10, -5, +3, 0, -2 I numeri relativi si possono trovare all’interno.
- Addizione - Sottrazione - Moltiplicazione - Divisione.
NUMERI ed ERRORI MANOLO VENTURIN UNIVERSITÀ DEGLI STUDI DI PADOVA DIP. DI MATEMATICA PURA ED APPLICATA A. A. 2007/2008.
Informatica per l’Ingegneria- CDL in Ingegneria Informatica- A.A Codifica binaria dell’informazione.
I Numeri.
Insiemi di numeri e insiemi di punti
Prova d’Esame: selezione di domande
NUMERI RAZIONALI OPERAZIONI DEFINIZIONE PROPRIETA’ POTENZE SIMBOLOGIA FRAZIONI EQUIVALENTI PROPRIETA’ RAPPRESENTAZIONE SULLA.
Architettura e funzionalità
Unità di apprendimento 1
Laboratorio II, modulo Elettronica digitale (cfr.
Le successioni Un caso particolare di funzioni: le successioni
INFORMATICA DI BASE I FONDAMENTI.
GLI INSIEMI NUMERICI N – Z – Q – R – C
Logica binaria Moreno Marzolla
Il calcolo della probabilità
4 < 12 5 > −3 a < b a > b a ≤ b a ≥ b
x : variabile indipendente
Cammino dei Dati (Datapath)
Le Potenze esponente potenza c volte base elevato
Scalari e Vettori
Prof.ssa Carolina Sementa
La frazione come numero razionale assoluto
Le quattro operazioni.
JAVA usa una rappresentazione in VIRGOLA MOBILE
PROGRAMMAZIONE BASH – ISTRUZIONE IF
Addizioni in binario, ottale, esadecimale
Lezione 2 – A.A. 2016/2017 Prof. Giovanni Acampora
Domanda 1 A cosa corrisponde in notazione decimale il numero binario positivo senza segno ) 32 2) 48 3) 46 4) 3 5) 36 September 18.
ALU (Arithmetic Logic Unit)
Rappresentazione dei Numeri
Controllo e microprogrammazione
INFORMATICA DI BASE I FONDAMENTI.
I RADICALI Definizione di radicali Semplificazione di radicali
Codicfiche Interi Complemento alla base.
Il sistema di numerazione decimale
I numeri relativi DEFINIZIONE. Si dicono numeri relativi tutti i numeri interi, razionali e irrazionali dotati di segno (positivo o negativo). ESEMPI Numeri.
Operazioni su Naturali
Scalari e Vettori
I NUMERI REALI ( ) come ampliamenti successivi
Algebra Booleana.
Corso di Informatica Applicata Introduzione
L’INSIEME DEI NUMERI REALI
I RADICALI ARITMETICI.
Sistemi Digitali.
Le operazioni con le frazioni
Reti Combinatorie E Algebra Di Boole
Circuiti combinatori Laboratorio di Architetture degli Elaboratori I
NUMERI RELATIVI ..., -2, -1, 0, 1, 2, ... formano l’insieme dei numeri interi Sono chiamati anche numeri relativi, in quanto il loro valore dipende dal.
Moltiplicazione e ALU Laboratorio di Architetture degli Elaboratori I
Le variabili Tipo Valori ammissibili
Sistemi e Tecnologie della Comunicazione
Algoritmi.
Transcript della presentazione:

1 La Unità Aritmetico Logica

Aritmetica 32 operation result a b ALU

I Bit non hanno significato proprio — le procedure di conversione definiscono le relazioni tra bit e numeri Numeri binari : decimali: n -1 I problemi coinvolti nella rappresentazione sono molti: numeri rappresentabili sono finiti (overflow) rappresentare numeri reali e frazioni numeri negativi Numeri

Modulo e Segno Complemento a = = = = = = = = = = = = = = = = -1 Quale è il migliore e perché ? Possibili Rappresentazioni

Numeri a 32 bit con segno: = = = = + 2,147,483, = + 2,147,483, = – 2,147,483, = – 2,147,483, = – 2,147,483, = – = – = – 1 10 maxint minint MIPS

Per negare un numero in complemento a 2: si invertono tutti i bit e si somma 1 Convertire un numero ad n bit in un numero con più di n bit: I numeri a 16 bit vengono immediatamente convertiti a 32 bit per l’aritmetica Copia il bit più significativo > > “estensione in segno" Operazioni in Complemento a 2

Uguale alla somma decimale (riporto/prestito di 1) Per il complemento a 2: La sottrazione viene effettuata sommando l’opposto Overflow: La somma di due numeri a n bit non necessariamente porta a numeri a n bit Addizione & Sottrazione

L’Overflow è una condizione di errore: il risultato di una operazione di somma o sottrazione non è rappresentabile Se sommiamo due numeri positivi: Il penultimo riporto è l’ultimo riporto è Il penultimo riporto è l’ultimo riporto è 0 Controllare l’Overflow

Se sommiamo due numeri negativi: Il penultimo riporto è l’ultimo riporto è Il penultimo riporto è l’ultimo riporto è 1 Controllare l’Overflow

Visto che la sottrazione viene ricondotta ad una somma, possiamo affermare che: “Se il penultimo riporto e l’ultimo riporto coincidono il risultato è corretto, altrimenti è scorretto” Oppure “Se XOR(c n-1,c n )=1, il risultato è scorretto. Si è verificato un overflow” Controllare l’Overflow

L’Overflow avviene quando il valore del segno viene alterato: Quando la somma di due numeri positivi porta ad un numero negativo o, la somma di due negativi dà un positivo Etc… Consideriamo le operazioni A + B e A – B L’overflow può accadere se B è 0 ? E se A è 0 ? Controllare l’Overflow

Costruiamo una ALU che supporti le operazioni di and e or Costruiamo una ALU ad un bit e ne utilizziamo 32 Possibile Implementazione (somma di prodotti) b a operation result opabres Una ALU (arithmetic logic unit)

Con le linee di controllo seleziono quale degli input sarà l’output Costruiamo la nostra ALU utilizzando un multiplexer: S C A B Il Multiplexer nota: si chiama multiplexer a 2 input (a 2 vie) anche se ha 3 input!

Il sommatore ad un bit è il seguente: Possiamo costruire una ALU a 1-bit per add, and e or ? Possiamo costruire una ALU a 32 bit ? Aggiungiamo la somma c out = a b + a c in + b c in sum = a xor b xor c in

Implementazione della ALU a 32 bit

Per le proprietà del Complemento a 2, la differenza si ottiene negando b e sommando. Una buona soluzione: E per la differenza (a – b) ?

Dobbiamo supportare anche una istruzione di confronto (slt) l’istruzione di confronto slt è considerata una istruzione aritmetica produce 1 se a < b, 0 altrimenti (a-b) < 0 implica che a < b Dobbiamo supportare il test di uguaglianza (a-b) = 0 implica a = b La ALU per il MIPS

Supportare slt 0 3 Result Operation a 1 Carry In C arryOut 0 1 Binvert b 2 Less a.

Test per l’uguaglianza Valori per le linee di controllo: 000 = and 001 = or 010 = add 110 = subtract 111 = slt Nota: la linea zero è 1 quando il risultato è zero!

Supportare NOR E’ necessario prevedere un insieme funzionalmente completo di operatori logici La modifica di minore impatto sul progetto dell’ALU e’ quella di introdurre la funzione NOR attraverso la relazione (de Morgan): NOR(a,b) = NOT(OR(a,b)) = AND(NOT(a),NOT(b))

Supportare NOR