Logica combinatoria. La logica digitale



Documenti analoghi
Un circuito integrato è una piastrina di silicio (o chip), quadrata o rettangolare, sulla cui superficie vengono realizzati e collegati

Circuiti integrati. Circuiti integrati

Linguaggio del calcolatore. Algebra di Boole AND, OR, NOT. Notazione. And e or. Circuiti e reti combinatorie. Appendice A + dispense

Cap. 3 Reti combinatorie: analisi e sintesi operatori logici e porte logiche

Calcolatori: Algebra Booleana e Reti Logiche

Esempi ed esercizi Aritmetica degli elaboratori e algebra di commutazione

I.I.S. Primo Levi Badia Polesine A.S

Algebra Di Boole. Definiamo ora che esiste un segnale avente valore opposto di quello assunto dalla variabile X.

Utilizzo I mintermini si usano quando si considererà la funzione di uscita Q come Somma di Prodotti (S. P.) ossia OR di AND.

Memorie ROM (Read Only Memory)

Algebra di Boole. Le operazioni base sono AND ( ), OR ( + ), NOT ( )

Algebra booleana e circuiti logici. a cura di: Salvatore Orlando

Codifica binaria e algebra di Boole

Reti Logiche. Le reti logiche sono gli elementi architettonici di base dei calcolatori, e di tutti gli apparati per elaborazioni digitali.

Algebra Booleana 1 ALGEBRA BOOLEANA: VARIABILI E FUNZIONI LOGICHE

Architettura dei Calcolatori Algebra delle reti Logiche

Codifica binaria dei numeri relativi

Algebra di Boole ed Elementi di Logica

Architettura degli Elaboratori

Parte II Indice. Operazioni aritmetiche tra valori rappresentati in binario puro. Rappresentazione di numeri con segno

Codifica binaria dei numeri

SISTEMI DI NUMERAZIONE E CODICI

Comparatori. Comparatori di uguaglianza

4 3 4 = 4 x x x 10 0 aaa

Lezione 7 Sommatori e Moltiplicatori

Modulo 8. Elettronica Digitale. Contenuti: Obiettivi:

Laboratorio di Architettura degli Elaboratori A.A. 2015/16 Circuiti Logici

Elementi di informatica

Sistemi di Numerazione

Rappresentazione dei numeri in un calcolatore

Operatori logici e porte logiche

Sintesi Combinatoria Uso di componenti diversi dagli operatori elementari. Mariagiovanna Sami Corso di reti Logiche 8 Anno

Matematica Computazionale Lezione 4: Algebra di Commutazione e Reti Logiche

ISTITUTO ISTRUZIONE SUPERIORE "L. EINAUDI" ALBA ANNO SCOLASTICO 2015/2016

APPUNTI DI ELETTRONICA DIGITALE

Esercitazioni di Reti Logiche. Lezione 2 Algebra Booleana e Porte Logiche. Zeynep KIZILTAN zkiziltan@deis.unibo.it

ALGEBRA DELLE PROPOSIZIONI

Le Mappe di Karnaugh.

L algebra di Boole. Cenni Corso di Reti Logiche B. Mariagiovanna Sami

Testi di Esercizi e Quesiti 1

Sistema di numerazione binario, operazioni relative e trasformazione da base due a base dieci e viceversa di Luciano Porta

Laurea Specialistica in Informatica

Lezione 2 OPERAZIONI ARITMETICHE E LOGICHE ARCHITETTURA DI UN ELABORATORE. Lez2 Informatica Sc. Giuridiche Op. aritmetiche/logiche arch.

Sintesi di reti combinatorie. Sommario. Motivazioni. Sommario. Funzioni Espressioni. M. Favalli

Dispense di Informatica per l ITG Valadier

Lezione 2 Circuiti logici. Mauro Piccolo piccolo@di.unito.it

Macchine combinatorie

Alessandro Pellegrini

Appunti sulla Macchina di Turing. Macchina di Turing

Logica e codifica binaria dell informazione

Sistemi di Numerazione Binaria NB.1

Informatica. Rappresentazione dei numeri Numerazione binaria

Algebra di Boole. Le operazioni, nell algebra booleana sono basate su questi tre operatori: AND ( ), OR ( + ),NOT ( )

Variabili logiche e circuiti combinatori

MAPPE DI KARNAUGH. Nei capitoli precedenti si è visto che è possibile associare un circuito elettronico o elettrico ad una funzione logica.

ESEMPIO 1: eseguire il complemento a 10 di 765

Algebra booleana. Si dice enunciato una proposizione che può essere soltanto vera o falsa.

I sistemi di numerazione

Reti sequenziali sincrone

Informatica Generale (Prof. Luca A. Ludovico) Presentazione 5.1 Operazioni aritmetiche nel sistema binario

Lezione 8. La macchina universale

2AE 2BE [Stesura a.s. 2014/15]

Introduzione ai microcontrollori

Operazioni Aritmetiche e Codici in Binario Giuseppe Talarico 23/01/2013

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.6. Unità di controllo microprogrammata

RAPPRESENTAZIONE BINARIA DEI NUMERI. Andrea Bobbio Anno Accademico

Il Livello Logico-Digitale. Blocchi funzionali combinatori

Alcune nozioni di base di Logica Matematica

Sommario. Teoremi Maxterm Forme Canoniche Mappe di Karnaugh Fine lezione

Il simbolo. è è = = = In simboli: Sia un numero naturale diverso da zero, il radicale. Il radicale. esiste. esiste 0 Il radicale

Architettura degli Elaboratori I Esercitazione 1 - Rappresentazione dei numeri

Appunti di informatica. Lezione 2 anno accademico Mario Verdicchio

Laboratorio di Architettura degli Elaboratori - A.A. 2012/13

Logica combinatoria. La logica digitale

Informatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter

Circuiti amplificatori

la scienza della rappresentazione e della elaborazione dell informazione

Aritmetica dei Calcolatori 2

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Fondamenti di calcolo booleano

Operazioni binarie fondamentali

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.7. Il moltiplicatore binario e il ciclo di base di una CPU

PROGRAMMAZIONE MODULARE

A L'operatore NOT si scrive con una linea sopra la lettera indicante la variabile logica A ; NOT di A =

Algoritmi e strutture dati. Codici di Huffman

Algebra di Boole e reti logiche. Giovedì 8 ottobre 2015

Macchine combinatorie: encoder/decoder e multiplexer/demultiplexer

Flip-flop Macchine sequenziali

Reti sequenziali. Esempio di rete sequenziale: distributore automatico.

Fondamenti di Informatica

CODIFICA BINARIA. ... sono rappresentati ricorrendo a simboli che sintezzano il concetto di numerosità.

Il concetto di valore medio in generale

Excel. A cura di Luigi Labonia. luigi.lab@libero.it

LABORATORIO DI ARCHITETTURA DEI CALCOLATORI lezione n 2.

Rappresentazione delle informazioni

IL CODICE BINARIO. Il codice binario. Codifica posizionale. Aritmetica binaria

ISTITUTO PROFESSIONALE PER L'INDUSTRIA E L ARTIGIANATO ALESSANDRO VOLTA GUSPINI. PROGRAMMA DIDATTICO con riferimento al programma ministeriale

Librerie digitali. Video. Gestione di video. Caratteristiche dei video. Video. Metadati associati ai video. Metadati associati ai video

La codifica delle informazioni

Architettura degli Elaboratori Implementazione di funzioni booleane

Macchine a stati finiti. Sommario. Sommario. M. Favalli. 5th June 2007

Transcript:

Logica combinatoria La logica digitale La macchina è formata da porte logiche Ogni porta riceve in ingresso dei segnali binari (cioè segnali che possono essere 0 o 1) e calcola una semplice funzione (ND, OR, ecc) lcune porte, collegate opportunamente, possono formare una memoria di un bit (bistabile) Combinando N memorie di un bit si può formare un registro capace di memorizzare un numero binario (non più grande di 2 N -1) Combinando le porte si realizzano i circuiti che formano i calcolatori Luciano aresi 2 1

Porte logiche Segnali e informazioni Per elaborare informazioni, occorre rappresentarle (o codificarle) Per rappresentare (o codificare) le informazioni si usano segnali I segnali devono essere elaborati, nei modi opportuni, tramite dispositivi di elaborazione Segnale binario una grandezza che può assumere due valori distinti, convenzionalmente indicati con 0 e 1 s {0, 1} Qualsiasi informazione è rappresentabile (o codificabile) tramite uno o più segnali binari (per esempio i caratteri del codice SCII) Luciano aresi 4 2

Il segnale binario Rappresentazione fisica del segnale binario: si usano svariate grandezze fisiche tensione elettrica (la più usata!) corrente elettrica potenza ottica altre grandezze fisiche Elaborazione del segnale binario: si usano svariate classi di dispositivi di elaborazione porte logiche reti combinatorie reti sequenziali Sono tutti circuiti digitali (o numerici) Luciano aresi 5 Porte logiche I circuiti digitali sono formati da componenti digitali elementari, chiamati porte logiche Le porte logiche sono i circuiti minimi per l elaborazione di segnali binari L elemento funzionale fondamentale per la costruzione di porte logiche è il transistor Classificazione Per modo di funzionamento: porta NOT, porta porta ND, porta OR (sono le porte logiche fondamentali) Per numero di ingressi: porte a 1 ingresso, porte a 2 ingressi, porte 3 ingressi, e così via... Luciano aresi 6 3

La porta NOT (invertitore) Se l ingresso vale 0 Volt, l uscita vale 5 Volt Se l ingresso vale 5 Volt, l uscita vale 0 Volt Se ai valori di tensione 0 e 5 Volt si associano convenzionalmente i valori binari 0 e 1, rispettivamente, si ottiene la cosiddetta tabella delle verità della porta logica, che corrisponde alla tabella di commutazione Luciano aresi 7 Porta NOT (invertitore, negatore) Simbolo funzionale X (a 1 ingresso) X simbolo semplificato Tabella delle verità X 0 1 1 0 L uscita vale 1 se e solo se l ingresso vale 0 Luciano aresi 8 4

Porta ND Simbolo funzionale (a 2 ingressi) L uscita vale 1 se e solo se entrambi gli ingressi valgono 1 X Tabella delle verità X 0 0 0 0 1 0 1 0 0 1 1 1 Luciano aresi 9 Porta OR Simbolo funzionale (a 2 ingressi) L uscita vale 1 se e solo se almeno un ingresso vale 1 X Tabella delle verità X 0 0 0 0 1 1 1 0 1 1 1 1 Luciano aresi 10 5

Generalizzazioni lcuni tipi di porte a 2 ingressi si possono generalizzare a 3, 4, ecc ingressi Le due porte a più ingressi maggiormente usate sono la porta ND e la porta OR Tipicamente si usano ND (o OR) a 2, 4 o 8 ingressi (raramente più di 8) L uscita X della porta ND a 3 ingressi vale 1 se e soltanto se tutti e tre gli ingressi, e C valgono 1 L uscita X della porta OR a 3 ingressi vale 1 se e soltanto se almeno uno tra gli ingressi, e C vale 1 Si generalizza a più ingressi nel modo ovvio... Luciano aresi 11 Porta ND a 3 ingressi C Simbolo funzionale L uscita vale 1 se e solo se tutti e 3 gli ingressi valgono 1 X Tabella delle verità C X 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 Luciano aresi 12 6

Porta OR a 3 ingressi Simbolo funzionale C L uscita vale 0 se e solo se tutti e 3 gli ingressi valgono 0 X Tabella delle verità C X 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 1 Luciano aresi 13 Realizzazione ad albero La porta ND a 3 ingressi si realizza spesso come albero di porte ND a 2 ingressi (ma non è l unico modo) C X X C Nota bene: non tutti i tipi di porte a più di 2 ingressi si possono realizzare come alberi di porte a 2 ingressi (funziona sempre con ND e OR) Luciano aresi 14 7

lgebra di oole, funzioni e reti combinatorie lgebra di oole L algebra di oole (dal suo inventore G. oole) serve a descrivere matematicamente i circuiti digitali (o circuiti logici) Componenti dell algebra di oole: Operatori booleani Regole di trasformazione ed equivalenza tra operatori booleani Luciano aresi 16 8

Operatori booleani Nome Operazione Porta associata Inversione X =! Porta NOT Somma logica X = + Porta OR Prodotto logico X = Porta ND, e X sono variabili booleane,, X {0, 1} Il prodotto ha precedenza sulla somma Luciano aresi 17 Operatori booleani Somma Prodotto Inversione 0 + 0 = 0 0 0 = 0!0 = 1 0 + 1 = 1 0 1 = 0!1 = 0 1 + 0 = 1 1 0 = 0 1 + 1 = 1 1 1 = 1 Sono le tabelle delle verità della porta logica OR, ND e NOT, rispettivamente Luciano aresi 18 9

Proprietà degli op. booleani lcune proprietà degli operatori booleani somigliano a quelle dell algebra numerica tradizionale ltre sono piuttosto diverse (per esempio la proprietà di assorbimento)! Le proprietà degli operatori booleani si possono usare per trasformare espressioni booleane Luciano aresi 19 Proprietà degli op. booleani Legge Prodotto logico (ND) Somma logica (OR) Identità 1 = 0 + = Elemento nullo 0 = 0 1 + = 1 Idempotenza = + = Inverso! = 0 +! = 1 Commutativa = + = + ssociativa ( ) C = ( C) ( + ) + C = + ( + C) Distributiva + C = ( + ) ( + C) ( + C) = + C ssorbimento ( + ) = + = De Morgan!( ) =! +!!( + ) =!! Luciano aresi 20 10

Esempi F =!XYZ +!XY!Z + XZ F =!XY(Z +!Z) + XZ F =!XY1 + XZ F =!XY + XZ F = +! +!C F = +!(1+C) F = +!1 F = +! F = ( +!)( + ) F = 1( + ) F = + Luciano aresi 21 Tabella delle verità La tabella delle verità è un modo per rappresentare il comportamento di una funzione combinatoria La tabella delle verità ha due colonne: colonna degli ingressi, le cui righe contengono tutte le combinazioni di valori delle variabili della funzione colonna dell uscita, che riporta i corrispondenti valori assunti dalla funzione Luciano aresi 22 11

Esempio n = 3 ingressi colonna ingressi 2 n = 2 3 = 8 righe # riga C + /C F 0 0 0 0 0 0 + /0 1 1 0 0 1 0 0 + /1 0 2 0 1 0 0 1 + / 0 1 3 0 1 1 0 1 + /1 0 4 1 0 0 1 0 + /0 1 5 1 0 1 1 0 + /1 0 6 1 1 0 1 1 + /0 1 7 1 1 1 1 1 + /1 1 (per comodità nella colonna centrale è riportato anche il calcolo) colonna uscita Luciano aresi 23 Rete combinatoria ogni funzione combinatoria, data come espressione booleana, si può sempre associare un unico circuito digitale, formato da porte logiche, che viene chiamato rete combinatoria Gli ingressi della rete combinatoria sono le variabili della funzione L uscita della rete combinatoria emette il valore assunto dalla funzione Luciano aresi 24 12

Esempio F(,, C) = +!C rete combinatoria C / C F Luciano aresi 25 Rete combinatoria Una rete combinatoria è un circuito digitale: dotato di n 1 ingressi principali e di un uscita formato da porte logiche ND, OR e NOT e privo di retroazioni Eventualmente, una rete combinatoria può anche essere formata da porte logiche di altro tipo La tabella delle verità di una rete combinatoria può anche essere ricavata per simulazione del funzionamento circuitale della rete combinatoria stessa Per simulare il funzionamento circuitale di una rete combinatoria, si applicano dei valori agli ingressi, e li si propaga lungo la rete fino all uscita Luciano aresi 26 13

Simulazione circuitale (corrisponde alla riga 0 della tabella) 0 0 0 C 0 1 1 F Risultato della simulazione: F(0, 0, 0) = 1 Luciano aresi 27 Simulazione circuitale # riga C! +!C +! C F 0 0 0 0!0 0 +!0 +!0 0 1 (per comodità è riportato anche il calcolo) 1 0 0 1!0 0 +!1 +!0 1 1 2 0 1 0!0 1 +!0 +!0 0 1 3 0 1 1!0 1 +!1 +!0 1 1 4 1 0 0!1 0 +!0 +!1 0 1 5 1 0 1!1 0 +!1 +!1 1 0 6 1 1 0!1 1 +!0 +!1 0 1 7 1 1 1!1 1 +!1 +!1 1 0 Luciano aresi 28 14

Sintesi di reti combinatorie La sintesi di una rete combinatoria espressa come tabella delle verità, consiste nel ricavare lo schema logico (il circuito digitale) che calcola la funzione combinatoria In generale, per una data tabella delle verità possono esistere più reti combinatorie (la soluzione al problema di sintesi non è dunque unica) Due funzioni diverse sono le stesse se e solo se hanno la stessa tabella delle verità Luciano aresi 29 Sintesi di reti combinatorie Esistono svariate procedure di sintesi di reti combinatorie, che differiscono per: Complessità della procedura di sintesi Ottimalità della rete combinatoria risultante, per dimensioni e velocità Una tecnica di sintesi semplice e universale, benché non sempre ottimale, è la sintesi in 1a forma canonica, o come somma di prodotti (mintermini) Si considerano le righe della tabella delle verità il cui valore è 1 2a forma canonica: la funzione può essere espressa come il prodotto logico dei termini somma (maxtermini) Si considerano le righe della tabella delle verità il cui valore è 0 Luciano aresi 30 15

Sintesi in 1a forma canonica (o sintesi come somma di prodotti) Scrivere la tabella delle verità, a n 1 ingressi, della funzione da sintetizzare Introdurre n invertitori per generare la negazione di ogni segnale di ingresso principale Introdurre una porta ND a n ingressi per ogni 1 presente nella colonna dell uscita della tabella delle verità Collegare gli ingressi delle porte ND così introdotte agli ingressi principali, in forma diretta o negata, in modo appropriato Inviare l uscita di tutte le porte ND a un unica porta OR, dotata di tanti ingressi quante sono le porte ND così introdotte Vale il duale per la seconda forma canonica Si complementano le variabili il cui valore è 1 Luciano aresi 31 Funzione maggioranza Si chiede di sintetizzare (in 1a forma canonica) una funzione combinatoria dotata di 3 ingressi, e C, e di un uscita F, funzionante come segue: Se la maggioranza degli ingressi vale 0, l uscita vale 0 Se la maggioranza degli ingressi vale 1, l uscita vale 1 La tabella delle verità della funzione maggioranza è mostrata a lato L uscita vale 1 se e solo se 2 o tutti e 3 gli ingressi valgono 1 (cioè se e solo se il valore 1 è in maggioranza) # r i g a C F 0 0 0 0 0 1 0 0 1 0 2 0 1 0 0 3 0 1 1 1 4 1 0 0 0 5 1 0 1 1 6 1 1 0 1 7 1 1 1 1 Luciano aresi 32 16

Rete combinatoria schema logico C!!!C 0 1 1! C 1 0 1! C F C 1 1 0!C 1 1 1 C Luciano aresi 33 Espressione booleana Dallo schema logico della rete combinatoria così sintetizzata, si può ricavare la funzione combinatoria data come espressione booleana F(,, C) =! C +! C +!C + C Nota bene: è una somma di prodotti Luciano aresi 34 17

Reti combinatorie equivalenti Una funzione combinatoria, data come tabella delle verità, può ammettere più reti combinatorie differenti che la sintetizzano Reti combinatorie che realizzano la medesima funzione combinatoria si dicono equivalenti Esse hanno tutte la stessa funzione, ma struttura (e costo) differente Luciano aresi 35 Due reti equivalenti C C + C ( + C ) F F F1 = + C F2 = ( + C) Trasformazione: F1 = + C = = ( + C) = = F2 (prop. distributiva) C + C Luciano aresi 36 18

Costo e velocità Il costo di una rete combinatoria si valuta in vari modi (criteri di costo): Numero di porte, per tipo di porta e per quantità di ingressi della porta Numero di porte universali (NND o NOR) e altri ancora... La velocità di una rete combinatoria è misurata dal tempo che una variazione di ingresso impiega per modificare l uscita della rete (o ritardo di propagazione) Per calcolare la velocità di una rete combinatoria, occorre conoscere i ritardi di propagazione delle porte logiche componenti la rete, e poi analizzare i percorsi ingressi-uscita Luciano aresi 37 Velocità 0 0 2 ns 0 2 ns C 0 1 ns 1 1 ns 3 ns 1 2 + 3 = 5 ns F Ritardo totale = 5 ns = 5 10-9 sec Freq. di commutazione = 1 / 5 ns = 200 MHz Luciano aresi 38 19

Operatori funzionalmente completi Gli operatori NND e NOR sono funzionalmente completi Significa che con soli NND (NOR) è possibile realizzare qualsiasi funzione logica Combinando opportunamente porte NND è possibile ottenere le funzioni ND, OR e NOT NND NOR X X X Y!(XY) 0 0 1 0 1 1 1 0 1 1 1 0 X Y!(X + Y) 0 0 1 0 1 0 1 0 0 1 1 0 Luciano aresi 39 ltri operatori XOR OR esclusivo L uscita vale uno solo quando uno dei due ingressi vale uno F = X Y =!XY + X!Y XNOR La negazione del precedente L uscita vale uno solo quando gli ingressi hanno il medesimo valore F = X Y =!X!Y + XY X Y (X Y) 0 0 0 0 1 1 1 0 1 1 1 0 X Y (X Y) 0 0 1 0 1 0 1 0 0 1 1 1 X X Luciano aresi 40 20

Mappe di Karnaugh Due mintermini o maxtermini sono logicamente adiacenti se differiscono per un unico letterale Mappe di karnaugh Per realizzare reti combinatorie su due livelli Utili per funzioni booleane con non più di 5/6 variabili Contengono la stessa informazione delle tabelle delle verità CD 00 01 11 10 00 01 11 10 Luciano aresi 41 Sintesi con mappe di Karnaugh C D N 0 0 0 0 1 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 0 1 0 0 1 CD 00 01 11 10 0 1 0 1 1 0 1 1 0 0 0 1 1 1 0 00 01 1 1 1 1 1 1 0 0 0 1 1 0 0 1 1 11 1 1 1 0 1 0 1 1 0 1 1 0 10 1 1 1 1 1 0 0 0 1 1 0 1 1 1 1 1 0 0 1 1 1 1 1 N =!!C +!CD +!!D + D Luciano aresi 42 21

Rappresentazioni e aritmetica binaria Rappresentazione in modulo e segno Dato un numero intero N, codificato su n bit, il bit più significativo rappresenta il segno (0 significa positivo e 1 negativo) I restanti n-1 bit rappresentano il valore assoluto del numero N = 6 3 bit + 1 per il segno 0110 N = -6 1110 Problemi con le operazioni aritmetiche elementari nalisi del segno Confronto dei valori assoluti Luciano aresi 44 22

Somma tra due numeri NO segno = segno NO > SI RIS = + RIS = - RIS = - segno RIS = segno segno RIS = segno segno RIS = segno Luciano aresi 45 Rappresentazione in complemento a 1 Codifica diversa per semplificare l algoritmo di calcolo Non si distingue più il segno dal modulo Dato un numero N, il suo opposto si calcola complementando ad uno ad uno tutti i bit che compongono il numero N = 01001 -N = 10110 Somma e sottrazione richiedono solo sommatori e negatori (per il calcolo dell opposto) Il risultato è corretto a meno di un 1 nel caso in cui si verifichi un riporto nella somma stessa Quindi si usa sempre una seconda somma per sommare il riporto generato (fosse zero la somma sarebbe inutile) Luciano aresi 46 23

Esempio N = 011001 (+25) e M = 000011 (+3) N + M = 011001 + 000011 = 011100 (+28) K = 111100 (-3) N + K = 011001 + 111100 = (1)010101 010101 + 000001 = 010110 (+22) I due numeri devono essere rappresentati con lo stesso numero di cifre Sempre due somme Non è la soluzione ottima, ma è la meno costosa Luciano aresi 47 Rappresentazione in complemento a 2 Ulteriore miglioramento, ma rappresentazione sempre più complicata Somme algebriche con una sola addizione Notazione non simmetrica (-2 n-1 N 2 n-1-1) Una sola codifica per il numero zero Numeri positivi stessa codifica Numeri negativi -N è quel numero che sommato a N produce una configurazione di tutti zero e un bit di riporto che si trascura Operativamente Complemento a 1 e poi si somma uno Si scorre il numero da destra a sinistra, lasciando inalterate le cifre fino al primo uno (compreso) e complementando le altre Luciano aresi 48 24

Esempio N = 011001 (+25) -N = 100110 + 000001 = 100111 oppure -N = 100111 Salvo solo il primo uno e complemento tutto il resto N = 011001 (+25) e M = 000011 (+3) K = 111101 (-3) N + K = 011001 + 111101 = (1)010110 = 010110 (+22) M N = 000011 + 100111 = 101010 (-22) 010110 +22 ttenzione a leggere i numeri negativi Luciano aresi 49 Confronto Codifica Modulo e segno Complemento a 1 Complemento a 2 0000 +0 +0 +0 0001 +1 +1 +1 0010 +2 +2 +2 0011 +3 +3 +3 0100 +4 +4 +4 0101 +5 +5 +5 0110 +6 +6 +6 0111 +7 +7 +7 1000-0 -7-8 1001-1 -6-7 1010-2 -5-6 1011-3 -4-5 1100-4 -3-4 1101-5 -2-3 1110-6 -1-2 1111-7 -0-1 Luciano aresi 50 25

Circuiti integrati Circuiti integrati Le porte logiche non vengono prodotte isolatamente, ma sono realizzate su circuiti integrati Un circuito integrato è una piastrina di silicio (o chip), quadrata o rettangolare, sulla cui superficie vengono realizzati e collegati transistor e dunque porte logiche, che complessivamente realizzano uno o più circuiti digitali La piastrina di silicio di un circuito integrato ha solitamente dimensioni comprese tra: 5 5 mm e 1 1 cm (di rado superiore) La piastrina di silicio integra i transistor, i collegamenti tra i transistor e i collegamenti con i morsetti di ingresso/uscita del chip Luciano aresi 52 26

Famiglie di circuiti integrati I circuiti integrati sono classificati in base alle loro dimensioni, cioè al numero di porte logiche contenute: SSI (Small Scale Integrated): IC a scala di integrazione piccola, da 1 a 10 porte MSI (Medium Scale Integrated): IC a scala di integrazione media, da 10 a 100 porte LSI (Large Scale Integrated): IC a scala di integrazione grande, da 100 a 100.000 porte VLSI (Very Large Scale Integrated): IC a scala di integrazione molto grande, > 100.000 porte Ogni famiglia ha degli usi caratteristici nei calcolatori e in generale nei dispositivi elettronici, che dipendono dalle sue dimensioni, ovvero dalla quantità di porte presenti sul circuito integrato stesso Luciano aresi 53 Metodi di progetto logico Nessuno progetta un circuito integrato contenente 10 milioni di transistor, equivalenti a circa 2 milioni di porte logiche ND a 2 ingressi, trattandolo come un unica rete combinatoria (o sequenziale) di dimensioni enormi! Per progettare circuiti digitali di tali dimensioni, si usano tecniche modulari, per scomporre il problema Luciano aresi 54 27

Matrici logiche programmabili Esistono circuiti integrati programmabili, chiamati PL (Programmable Logic rray, matrici logiche programmabili), che permettono di realizzare qualsiasi rete combinatoria Il solo limite della PL è dato da: Il numero di piedini (che è fisso) Il numero massimo di porte logiche disponibili sulla PL Il produttore produce e commercializza PL vergini : esse non hanno a bordo alcun circuito digitale definito Spetta al compratore programmare la PL vergine, installandole a bordo una o più reti combinatorie (o anche sequenziali), secondo le esigenze Per programmare la PL occorre un apposito apparato programmatore Luciano aresi 55 Come funziona un PL La PL vergine contiene già un numero fissato di porte logiche ND, OR e NOT (o anche NND, ecc) Nella PL vergine i collegamenti tra queste porte logiche sono però indefiniti La PL vergine contiene delle matrici di microinterruttori a transistor: bruciandoli o lasciandoli intatti si realizzano collegamenti tra le porte L apparato programmatore di PL è in grado di bruciare selettivamente i microinterruttori presenti sulla PL Per farlo, esso applica ad alcuni piedini della PL (piedini di programmazione), speciali valori di tensione elettrica, che agiscono sui microinterruttori L operazione è del tutto automatica e relativamente veloce, e irreversibile Luciano aresi 56 28

29 Luciano aresi 57 C D M I C R O I N T E R R U T T O R I M I C R O I N T E R R U T T O R I C F p o r t a n o n u s a t a p o r t a n o n u s a t a D i n g r e s s o n o n u s a t o Funzione maggioranza a tre ingressi Circuiti combinatori elementari

Circuiti combinatori elementari Esiste una ben nota e ormai stabilizzata libreria di blocchi funzionali predefiniti di tipo combinatorio Essa contiene blocchi funzionali per tutte le funzioni combinatorie di base Questi blocchi appartengono alle famiglie MSI e (alcuni di essi) LSI La libreria contiene anche blocchi funzionali di tipo sequenziale Luciano aresi 59 Multiplexer Il blocco funzionale multiplexer ha: n 1 ingressi di selezione 2 n 2 ingressi dati un uscita Gli ingressi dati sono numerati a partire da 0: k = 0, 1, 2,, 2 n -1 Se sugli ingressi di selezione è presente il numero binario k, il kesimo ingresso dati viene inviato in uscita Luciano aresi 60 30

Un solo ingresso di controllo Ctrl OUT 0 0 0 0 0 0 1 0 0 1 0 1 0 1 1 0 OUT =!!Ctrl +!Ctrl +!Ctrl + Ctrl 1 0 0 0 1 0 1 1 1 1 0 1 Ctrl Possibilità di ingressi di più bit 1 1 1 1 00 01 11 10 0 0 1 1 0 1 0 0 1 1 OUT = Ctrl +!Ctrl OUT Luciano aresi 61 Multiplexer a 2 ingressi di controllo S 0 S 1 Tabella delle verità I 1 I 2 I 3 I 4 MUX U # riga S1 S0 I1 I2 I3 I4 U 0 0 0 0 X X X 0 1 0 0 1 X X X 1 2 0 1 X 0 X X 0 3 0 1 X 1 X X 1 4 1 0 X X 0 X 0 5 1 0 X X 1 X 1 6 1 1 X X X 0 0 7 1 1 X X X 1 1 Luciano aresi 62 31

Demultiplexer Circuito logico che effettua l operazione inversa rispetto al MUX (multiplexer) Il blocco funzionale demultiplexer (DEMUX) ha: n 1 ingressi di selezione un ingresso dati 2n 2 uscite Selezione Uscite I S1 S2 O1 O2 O3 O4 D 0 0 D 0 0 0 D 1 0 0 D 0 0 D 0 1 0 0 D 0 O1 =!S 1!S 2 I O2 = S 1!S 2 I O3 =!S 1 S 2 I O4 = S 1 S 2 I D 1 1 0 0 0 D Luciano aresi 63 Demultiplexer O1 =!S 1!S 2 I O2 = S 1!S 2 I O3 =!S 1 S 2 I O4 = S 1 S 2 I S 1 S 2 S 1 S 2 O 1 O 1 (00) I O 2 I O 2 (10) O 3 O 3 (01) O 4 DMUX O 4 (11) Luciano aresi 64 32

Decoder Il blocco funzionale decoder ha: n 1 ingressi 2 n 2 uscite Le uscite sono numerate a partire da 0: k = 0, 1, 2,, 2 n - 1 Se sugli ingressi è presente il numero binario k, la kesima uscita assume il valore 1 e le restanti uscite assumono il valore 0 Luciano aresi 65 Decoder F1 F2 F3 F4 0 0 1 0 0 0 0 1 0 1 0 0 1 0 0 0 1 0 1 1 0 0 0 1 F1 =!! F2 =! F3 =! F4 = F 1 F 1 F 2 F 2 F 3 F 4 DECODER F 3 F 4 Luciano aresi 66 33

Shifter Effettua lo scorrimento verso sinistra o destra del valore presente agli ingressi Esempio: 010010011 Sinistra: 100100110 Destra: 001001001 sinistra destra S/D 1 0 OUTn INn-1 Nuovo bit OUTi INi-1 INi+1 OUT0 Nuovo bit IN1 Luciano aresi 67 Shifter S/D nuovo bit nuovo I 4 I 3 I 2 I 0 I 1 bit 0 1 MUX 0 1 MUX 0 1 MUX 0 1 MUX 0 1 MUX O 4 O 3 O 2 O 1 O 0 Luciano aresi 68 34

Sommatore È la generalizzazione del sommatore completo: addizione di numeri interi binari naturali (positivi) a n bit Ha in ingresso due numeri interi binari naturali e da n 1 bit ciascuno In uscita presenta la somma a n bit dei due numeri interi e Può avere un riporto in ingresso e un riporto in uscita, non sempre usati Luciano aresi 69 Half-adder!! Somma! Carry! 0! 0! 0! 0! 0! 1! 1! 0!!! 1! 0! 1! 0! 1! 1! 0! 1! Carry! Somma =! +! = ±! Carry =! HLF-DDER! Somma! Luciano aresi 70 35

Full-hadder Carry in Somma Carry out 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 Carry in 1 1 1 1 1 Somma = ± ± CarryIn CarryOut = + CarryIn + CarryIn + CarryIn( + ) Carry out Somma FULL-DDER Luciano aresi 71 Sommatore per dati a 3 bit 2 2 1 1 0 0 F F H R2 R1 R0 2 2 1 1 0 0 F F F 0 R2 R1 R0 Luciano aresi 72 36

Esempio di progetto in stile funzionale Si chiede di progettare un circuito digitale combinatorio, che abbia: in ingresso due numeri interi binari naturali (positivi) e da n 1 bit ciascuno in ingresso un segnale di comando C in uscita un numero intero binario naturale Z da n 1 bit Su Z deve uscire la somma + se C = 0, la differenza - se C = 1 Luciano aresi 73 Schema logico della soluzione n X + Y X C + S n Y n I 0 S n X - Y X n M U X U I 1 n Z - D n Y (si usa un multiplatore a 2 gruppi di ingressi dati; ciascun gruppo è da n bit) Luciano aresi 74 37

Unità ritmetico-logica c o m a n d i d d S u b R i n, P i n L U o p e r a n d i n n C L U E U n r i s u l t a t o e s i t i = 0 < = > R u s c P u s c Luciano aresi 75 Unità ritmetico-logica # riga Comando Operazione R Esito 0 dd somma e + + R in riporto in uscita R usc 1 Sub sottrae da P in prestito in uscita P usc 2 3 Pass Pass passa in uscita passa in uscita 4 Zero annulla uscita 0-5 Shift Left scorre a SX 2 bit più significativo di 6 Shift Right scorre a DX / 2 bit meno significativo di 7 8 Null Compare Confronta con 0 Confronta con - = 0 - <, =, > 9 Multiply prodotto di e riporto in uscita 10 Divide divisione / / divisione per 0? Luciano aresi 76 - - 38

Schema logico di una LU da 1 bit Luciano aresi 77 Esercizio F0 F1 Output CarryOut LU che effettua ND, OR, NOT e somma algebrica F0 F1 Operazione 0 0 and 0 1 or 1 0! 1 1 + 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 1 1 0 0 0 1 0 0 0 0 0 1 0 1 1 0 0 1 1 0 0 0 0 1 1 1 1 0 1 0 0 0 0 0 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 1 1 0 1 1 0 0 1 0 1 1 0 1 1 0 1 1 1 0 0 0 1 1 1 1 0 1 Luciano aresi 78 39