Logica binaria Moreno Marzolla

Slides:



Advertisements
Presentazioni simili
Algoritmi e Strutture Dati
Advertisements

Algebra di Boole..
Corso C Porte logiche.
Corso C Porte logiche.
Algebra di Boole.
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
1 © Alberto Montresor Algoritmi e Strutture Dati Capitolo 7 - Tabelle hash Alberto Montresor Università di Trento This work is licensed under the Creative.
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
Riconfigurare il diritto dautore. Lipertesto, una necessità di riconfigurazione. Secondo G. P. Landow, lavvento dellipertesto implica la necessità di.
STRUTTURA DELL’ELABORATORE
ELETTRONICA GEORGE BOOLE FUNZIONI LOGICHE Lezione N° 1
Algoritmi e Strutture Dati
Programmazione Procedurale in Linguaggio C++
Algebra di Boole.
Analisi e Sintesi di un contatore BCD con Quartus II
Circuiti logici.
Rappresentazione dell'informazione
Algebra di Boole L’algebra di Boole è un formalismo che opera su variabili (dette variabili booleane o variabili logiche o asserzioni) che possono assumere.
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
Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica FONDAMENTI DI INFORMATICA Domenico Talia
21/09/2016AUTORE: LUCA ORRU'1 Circuiti digitali. 21/09/2016AUTORE: LUCA ORRU'2 Introduzione Nei calcolatori elettronici l’informazione viene elaborata.
Laboratorio di Architettura Degli Elaboratori1 PSPICE – Circuiti sequenziali.
Code con priorità Moreno Marzolla Dip. di Scienze dell'Informazione Università di Bologna
Elementi fondamentali dell’ Architettura di di un elaboratore elettronico.
1 La Unità Aritmetico Logica. Aritmetica 32 operation result a b ALU.
Gestione della memoria
Rappresentazione dell'informazione
Architettura dei calcolatori
I Circuiti Sequenziali ed i Flip/Flop
Laboratorio II, modulo Elettronica digitale (cfr.
La rappresentazione delle informazioni
Linguaggio C: Espressioni
Dal problema al processo risolutivo
INFORMATICA DI BASE I FONDAMENTI.
Gli array Moreno Marzolla
Il linguaggio C Strutture Moreno Marzolla
Universita’ di Milano Bicocca Corso di Basi di Dati 1 in eLearning C
Dal problema al processo risolutivo
Rappresentazione di alberi
Cammino dei Dati (Datapath)
JAVA usa una rappresentazione in VIRGOLA MOBILE
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)
Circuiti integrati Costruzione di circuiti (logici e non) su un substrato di silicio. Non solo la parte attiva ma anche le connessioni tra le porte. Incredibile.
Algebra di Boole e sue applicazioni
INFORMATICA DI BASE I FONDAMENTI.
Circuiti digitali Architettura © Roberto Bisiani, 2000
Codicfiche Interi Complemento alla base.
Algebra Booleana.
Elementi di base per lo studio dei circuiti digitali
© 2007 SEI-Società Editrice Internazionale, Apogeo
Algebra di Boole e Funzioni Binarie
Reti Combinatorie E Algebra Di Boole
Circuiti combinatori Laboratorio di Architetture degli Elaboratori I
APPUNTI SUL LINGUAGGIO C Esercizi su File e Alberi Binari
Introduzione a Logisim
Moltiplicazione e ALU Laboratorio di Architetture degli Elaboratori I
Macchine a stati finiti
Memorie Laboratorio di Architetture degli Elaboratori I
Reti Combinatorie: sintesi
Algoritmi.
ALGORITMO E’ una successione finita di passi che consente di risolvere tutti i problemi di una classe e di determinare il risultato. Caratteristiche: Finito.
Programmazione Procedurale
Transcript della presentazione:

Logica binaria Moreno Marzolla Dipartimento di Informatica—Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/

Copyright © 2016, 2017 Moreno Marzolla, Università di Bologna, Italy http://www.moreno.marzolla.name/teaching/FINFA/ This work is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/4.0/ or send a letter to Creative Commons, 543 Howard Street, 5th Floor, San Francisco, California, 94105, USA. Logica binaria

Rappresentazione dell'informazione I calcolatori elettronici rappresentano qualsiasi tipo di informazione come una sequenza di cifre binarie (bit) In particolare, sia i dati che il calcolatore elabora, sia le istruzioni che esegue, sono codificate con sequenze di bit Bit Una singola cifra binaria: 0 oppure 1 Byte Una sequenza di 8 cifre binarie: es 0010 1110 Parola (Word) Una sequenza di 4 bytes (= 32 cifre binarie) Logica binaria

Nota storica La rappresentazione binaria non è l'unica possibile Sono stati realizzati calcolatori basati sulla logica ternaria Possibili valori: -1, 0, 1 I calcolatori ternari hanno (avevano?) vantaggi rispetto a quelli binari in quanto richiedevano circuiti più semplici per realizzare le più comuni operazioni aritmetiche, e quindi risultavano più economici da realizzare Calcolatore Setun (Сетунь) sviluppato nel 1958 presso l'Università di Stato di Mosca da Sergei Sobolev e Nikolay Brusentsov Logica binaria

Operazioni elementari sui bit Tre operazioni elementari R = A AND B R = A OR B R = NOT A A A R R A R B B Logica binaria

Altre operazioni sui bit Ogni altra operazione su bit si può ottenere tramite composizione delle operazioni elementari AND, OR, NOT Esempio: Or Esclusivo (XOR, eXclusive OR) A XOR B = 1 se e solo se (A=0 AND B=1) OR (A=1 AND B=0) Ossia: A XOR B ≡ ( (NOT A) AND B ) OR ( (A AND (NOT B) ) R = A XOR B Logica binaria

Operazioni sui bit: XOR R = A XOR B A R B A R A XOR B ≡ ( (NOT A) AND B ) OR ( (A AND (NOT B) ) B Logica binaria

In generale Il metodo è valido per ogni tavola di verità Esempio: Il risultato è 1 se e solo se (A=0 AND B=0) OR (A=1 AND B=0) OR (A=1 AND B=1) Ossia ( (NOT A) AND (NOT B) ) OR ( A AND (NOT B) ) OR ( A AND B ) Nota: questo procedimento non produce necessariamente l'espressione booleana “più semplice” per descrivere una funzione data. Nel corso di Calcolatori Elettronici verrà illustrato un algoritmo per rappresentare una tabella di verità con il numero minimo di operatori logici Logica binaria

In generale ( (NOT A) AND (NOT B) ) OR ( A AND (NOT B) ) OR ( A AND B ) (NOT A) AND (NOT B) A B A AND (NOT B) A AND B Logica binaria

NOR e NAND A NAND B ≡ NOT (A AND B) A NOR B ≡ NOT (A OR B) R = A NAND B R = A NOR B A A R R B B Logica binaria

Le porte NAND sono universali Le porte AND, OR e NOT si possono ottenere usando esclusivamente porte NAND A A R R B NOT A A AND B A R B A OR B Logica binaria

1-bit Half Adder Calcola la somma S e l'eventuale riporto C tra due bit A e B 0 + 0 = 0 riporto 0 0 + 1 = 1 riporto 0 1 + 0 = 1 riporto 0 1 + 1 = 0 riporto 1 Dalla tabella di verità, osserviamo che S = A XOR B C = A AND B A B S C Logica binaria

2-to-1 Multiplexer (Mux) Dispositivo con tre ingressi: A, B e S (Selettore) L'output è uguale ad A se S=0; L'output è uguale a B se S=1. In maniera analoga si possono definire 4-to-1, 8-to-1, … multiplexer Sono necessari più bit per il selettore 2-to-1 multiplexer A R B S Logica binaria

2-to-1 Multiplexer (Mux) una possibile realizzazione Logica binaria

Costruiamo un frammento di CPU 1-bit ALU (Arithmetic Logic Unit) Una componente fondamentale di una CPU Effettua operazioni aritmetiche (es, somme, prodotti) e logiche (AND e OR di bit, confronti tra numeri ecc) Come esempio consideriamo una ALU che dati due input, A e B, può calcolare l'AND oppure l'OR logico 1-bit ALU A R B Op Logica binaria

1-bit ALU Si può facilmente costruire utilizzando porte AND, OR e un multiplexer 2-to-1 1-bit ALU A R B Op Logica binaria

Una ALU più sofisticata Usando un Mux 4-to-1 possiamo aggiungere altre due operazioni, ad esempio la somma e la negazione (NOT A) 4-to-1 Mux A B R half adder 2 Op Indica che questo input è composto da 2 bit C Logica binaria

Programmare la ALU Si programma tramite micro istruzioni composte da 4 bit I primi due indicano l'operazione 00 → NOT 01 → AND 10 → OR 11 → ADD Gli altri due indicano i valori di A e B Es: 1101 → ADD 0 1 0111 → AND 1 1 Op1 Op2 A B 4-to-1 Mux A B R half adder 2 Op C Logica binaria

Flip-flop Semplice circuito logico che può essere utilizzato per memorizzare il valore di un singolo bit S S R Qnext Azione Q Mantieni stato precedente 1 Reset Set Q R Logica binaria

Flip-flop S Q Nota: X AND 0 = 0 X AND 1 = X Q Q X OR 1 = 1 X OR 0 = X Q Nota: X AND 0 = 0 X AND 1 = X X OR 1 = 1 X OR 0 = X Q Q 1 S R Qnext Azione Q Mantieni stato prec. 1 Reset Set R Logica binaria

Flip-flop S 1 1 Nota: X AND 0 = 0 X AND 1 = X 1 1 X OR 1 = 1 X OR 0 = X 1 1 1 S R Qnext Azione Q Mantieni stato prec. 1 Reset Set R Logica binaria

Flip-flop S 1 Nota: X AND 0 = 0 X AND 1 = X 1 1 X OR 1 = 1 X OR 0 = X 1 Nota: X AND 0 = 0 X AND 1 = X X OR 1 = 1 X OR 0 = X 1 1 1 S R Qnext Azione Q Mantieni stato prec. 1 Reset Set R Logica binaria

Flip-flop S Nota: X AND 0 = 0 X AND 1 = X X OR 1 = 1 X OR 0 = X Reset Nota: X AND 0 = 0 X AND 1 = X X OR 1 = 1 X OR 0 = X S R Qnext Azione Q Mantieni stato prec. 1 Reset Set 1 R Logica binaria

Flip-flop S Nota: X AND 0 = 0 X AND 1 = X X OR 1 = 1 X OR 0 = X Reset Nota: X AND 0 = 0 X AND 1 = X X OR 1 = 1 X OR 0 = X 1 S R Qnext Azione Q Mantieni stato prec. 1 Reset Set R Logica binaria

Implementazione alternativa S-R (Set-Reset) NOR latch Due output Q e Q, uno l'opposto dell'altro R S R Qnext Azione Q Mantieni stato precedente 1 Reset Set ?? Non ammesso (Q = Q = 0 !!!) Q Q S Logica binaria

Esercizi Per ciascuno dei circuiti seguenti, determinare la tebella di verità e disegnare il circuito booleano corrispondente [Parità] Disegnare un circuito booleano con tre ingressi, A, B, C, e una singola uscita R. Il valore di R deve essere tale che il gruppo di 4 bit ABCR deve avere un numero pari di cifre 1 Es: ABC = 110, R=0; ABC=111, R=1; ABC=010, R=1 [Controllo parità] Disegnare un circuito booleano con quattro ingressi, A, B, C, D, e una singola uscita R. R vale uno se e solo se il gruppo di 4 bit ABCD contiene un numero pari di cifre 1 Es: ABCD=0110, R=1; ABCD=0111, R=0; ABCD=0101, R=1 Logica binaria

Idee chiave Porte logiche (AND, OR, NOT, XOR) Tabelle di verità Espressioni logiche Semplici circuiti combinatori MUX / DEMUX 1-bit ALU Flip-flop Logica binaria