Le reti combinatorie: sintesi e analisi

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

ESERCIZI DEL CORSO DI INFORMATICA

Esercitazioni di Reti Logiche. Lezione 1 Rappresentazione dell'informazione. Zeynep KIZILTAN zkiziltan@deis.unibo.it

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

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

Aritmetica binaria sui numeri relativi (somme e sottrazioni) e Unità aritmetiche

Esempi ed esercizi Aritmetica degli elaboratori e algebra di commutazione

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

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

I Bistabili. Maurizio Palesi. Maurizio Palesi 1

Informatica Teorica. Macchine a registri

Componenti combinatori

APPUNTI DI ELETTRONICA DIGITALE

PROGRAMMA SVOLTO E L E T T R O N I C A Anno Scolastico 2014/2015 Classe III Ae Prof. Boldrini Renato Prof. Procopio Sostene

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

Algebra Booleana 1 ALGEBRA BOOLEANA: VARIABILI E FUNZIONI LOGICHE

Sistemi Web per il turismo - lezione 3 -

Lezione 7 Sommatori e Moltiplicatori

Aritmetica dei Calcolatori 2

Appunti del corso di Informatica 1 (IN110 Fondamenti) 3 Modelli di calcolo

Macchine combinatorie

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

CORSO DI CALCOLATORI ELETTRONICI I CdL Ingegneria Biomedica (A-I)

A.C. Neve Esercizi Digitali 1

Esercitazione di Calcolatori Elettronici Ing. Battista Biggio. Corso di Laurea in Ingegneria Elettronica. Esercitazione 1 (Capitolo 2) Reti Logiche

PROGRAMMA DI SCIENZE E TECNOLOGIE APPLICATE 2015/2016 Classe 2ª Sez. C Tecnologico

x y z F x y z F F = x z + y z + yz + xyz G = wyz + vw z + vwy + vwz + v w y z Sommario

Il calcolatore. Architettura di un calcolatore (Hardware)

LABORATORIO DI ARCHITETTURA DEI CALCOLATORI lezione n 2.

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

FSM: Macchine a Stati Finiti

Modulo 8. Elettronica Digitale. Contenuti: Obiettivi:

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

Variabili logiche e circuiti combinatori

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

Riconoscere e formalizzare le dipendenze funzionali

Memorie ROM (Read Only Memory)

SECONDO BIENNIO ISTITUTO TECNICO ELETTRONICA ED ELETTROTECNICA

orario ricevimento via orario ufficio risposta entro 3 giorni

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.

PROGETTAZIONE DISCIPLINARE MATEMATICA classe 2^

Informatica. Rappresentazione dei numeri Numerazione binaria

Sintesi di reti logiche multilivello. Sommario. Motivazioni. Sommario. M. Favalli

MATEMATICA GENERALE Prova d esame del 4 giugno FILA A

Il programma OCTAVE per l insegnamento dell algebra lineare nella Scuola Secondaria p. 1

Esercitazione n o 3 per il corso di Ricerca Operativa

7 Disegni sperimentali ad un solo fattore. Giulio Vidotto Raffaele Cioffi

Flip-flop Macchine sequenziali

Logica combinatoria. La logica digitale

Sito personale e forum

Introduzione ai microcontrollori

Codifica binaria e algebra di Boole

0.1 Esercizi calcolo combinatorio

Laurea Specialistica in Informatica

Sommario. Addizione naturale

CAPITOLO V. DATABASE: Il modello relazionale

Testi di Esercizi e Quesiti 1

Architettura dei Calcolatori Algebra delle reti Logiche

Rappresentazione dei numeri in un calcolatore

Architettura del computer (C.Busso)

Studio di funzione. Tutti i diritti sono riservati. E vietata la riproduzione, anche parziale, senza il consenso dell autore. Funzioni elementari 2

I S T I T U T O T E C N I C O I N D U S T R I A L E S T A T A L E V E R O N A

Calcolatori: Algebra Booleana e Reti Logiche

4 3 4 = 4 x x x 10 0 aaa

1. Operazioni in logica binaria e porte logiche

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

Esercitazioni su rappresentazione dei numeri e aritmetica dei calcolatori"

Lezioni di Economia Politica

NORMALIZZAZIONE DI SCHEMI RELAZIONALI. Prof.ssa Rosalba Giugno

Sistemi di Numerazione

Architettura degli Elaboratori Implementazione di funzioni booleane

Codifica binaria dei numeri relativi

Operatori logici e porte logiche

Grafici e Pagina web

Sistemi di Numerazione Binaria NB.1

Architettura degli Elaboratori

La microarchitettura. Didattica della strumentazione digitale e sistemi a microprocessore anno accademico pagina 1

Logica binaria. Porte logiche.

Matematica con il foglio di calcolo

2.1 Rappresentazione binaria dell informazione I Interruttore I 0 alto 1 1 basso 0

Architettura degli Elaboratori e delle Reti

Caratteristiche di un PC

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

Capitolo 5: Macchine di Turing e calcolabilitá secondo Turing

PSICOMETRIA. Esercitazione n.1. C.d.L. Comunicazione e Psicologia a.a. 2012/13

3.5.1 PREPARAZ1ONE I documenti che si possono creare con la stampa unione sono: lettere, messaggi di posta elettronica, o etichette.

Appunti di informatica. Lezione 2 anno accademico Mario Verdicchio

ELEMENTI PROGETTAZIONE LOGICA

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

Algebra Booleana ed Espressioni Booleane

Sistemi di Numerazione e Algebra Booleana

Matematica Computazionale Lezione 4: Algebra di Commutazione e Reti Logiche

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

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

Architettura degli elaboratori (A)

4. Operazioni aritmetiche con i numeri binari

Sottrazione Logica. Sottrattore Parallelo

Percorsi di matematica per il ripasso e il recupero

Domanda e offerta. consumatori di un bene/servizio per ciascun livello di prezzo del bene/servizio preso

ITCS Erasmo da Rotterdam. Anno Scolastico 2014/2015. CLASSE 4^ M Costruzioni, ambiente e territorio

Transcript:

Le reti combinatorie: sintesi e analisi Le reti combinatorie hanno un certo numero di ingressi (n) ed un certo numero di uscite (m); ciascuna delle uscite dipende soltanto dai valori degli ingressi in quel momento Pertanto, solo per le reti combinatorie vale sempre che se in due istanti diversi avremo gli stessi ingressi allora anche le uscite saranno uguali Per poter progettare una rete combinatoria a partire da specifiche scritte o per eseguire il procedimento inverso, passare cioè da una rete già progettata ad una descrizione del suo funzionamento, impareremo Come descrivere il funzionamento di una rete combinatoria in termini matematici Come legare legare la descrizione matematica ad una realizzazione schematica Come rendere il processo ottimale in due diverse situazioni

Rete logica combinatoria x... x n F: I U sistema di m funzioni di n variabili binarie z = F (x,.., x n )... z m = F m (x,.., x n ) Rete logica combinatoria i valori delle variabili di uscita (variabili dipendenti) dipendono solo dai valori contemporanei delle variabili di ingresso (variabili indipendenti) Nelle reti combinatorie non può avvenire che gli stessi ingressi forniti in istanti diversi diano luogo ad uscite diverse 2

Descrizione funzionale di una rete combinatoria: la tabella della verità Descrive univocamente il comportamento di una rete combinatoria a n ingressi Una riga per ciascuna configurazione degli ingressi, una colonna per gli ingressi e per ciascuna uscita. La tabella di verità si legge per righe Ciascuna uscita può avere uno solo di 3 valori in una t.d.v. e cioè,, o -. L ultimo valore si legge indifferente e significa che l uscita può assumere entrambi i valori per quell ingresso +m colonne x x 2 x n F i (x, x 2,, x n ) 2 n righe oppure oppure oppure oppure oppure - oppure - oppure - oppure - Funzione completa Funzione incompleta 3

Il convertitore BCD/7 Segmenti D C B A Convertitore di codice BCD 7 segmenti a b c d e f g e f d g a c b La tabella della verità ci permette di descrivere inequivocabilmente il comportamento di una macchina combinatoria. Nel caso sopra abbiamo 6 (2 4 ) righe e 8 colonne ( + 7). La rete è descritta da 7 funzioni di 4 variabili binarie 4

Convertitore BCD/7 Segmenti parte III D C B A a b c d e f g D C B A Convertitore di codice BCD 7 segmenti..e le rimanenti configurazioni di ingressi? a b c d e f g e f d g a c b - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - utilizzo per l uscita un ulteriore simbolo che rappresenta una condizione di «indifferenza» (don t care) 5

Comportamento & Struttura Nel caso di reti combinatorie, è possibile passare da descrizione del comportamento a realizzazione (e viceversa) mediante analisi e sintesi x... x n rete combinatoria z = F(x, x 2,, x n ) Comportamento Struttura z = F(x,.., x n ) sintesi x x 2 x 3 G 3 G 2 G z analisi G k x n 6

Algebra binaria Algebra binaria - Sistema matematico formato da un insieme di operatori definiti assiomaticamente ed atti a descrivere con una espressione ogni funzione di variabili binarie Calcolo delle proposizioni vero, falso e, o, non tre operatori Crisippo (25 a.c.) G. Boole (854) AND, OR e NOT costituiscono un insieme funzionalmente completo Algebra di commutazione, +,., * tre operatori C. Shannon (938) Algebra del nand, un operatore Algebra del nor, un operatore Algebra lineare,,. due operatori (EX-OR, AND) 7

Algebra di commutazione Sistema matematico ) un insieme di simboli B {, } 2) un insieme di operazioni O {+,., *} somma logica (+) prodotto logico (.) complementazione (*) 3) un insieme di postulati P: + =. = * = + =. = * = + =. = + =. = 8

Costanti, Variabili, Espressioni Costanti: elementi, dell insieme B Variabili: entità suscettibili di assumere il valore o Espressioni: stringhe finite di costanti, variabili, operatori e parentesi, formate in accordo alle seguenti regole: ) e sono espressioni 2) una variabile è una espressione 3) se A è un espressione, lo è anche (A*) 4) se A, B sono espressioni, lo sono anche (A+B), (A.B) Esempi: a+(b.c) a + bc a*.b (a+b)* a*.b + + ab* N.B. - L operazione di prodotto è prioritaria rispetto alla somma e non è obbligatorio racchiuderla tra parentesi. La notazione AB indica A B. La negazione è prioritaria rispetto al prodotto 9

Rappresentazione della negazione Esistono numerosi modi per rappresentare la negazione nelle espressioni logiche come ad esempio carattere soprallineato, apostrofo, asterisco, /, # ecc. Nel corso useremo solo caratteri soprallineati ed asterischi quindi per A negato potremmo trovare le scritture A A*

Funzioni complete di una variabile x f f f 2 f 3 4 funzioni di una variabile f, f 3 : costanti e f : identità o buffer f 2 : not X Z BUFFER Z = X X Z X Z NOT Z = X X Z

Funzioni complete di due variabili x x f f 5 f 3 f 5 f 2 f f f 4 f 7 f 8 f 9 f 6 f 3 f 2 f f 4 6 funzioni di due variabili f, f 5 : costanti e f 3, f 5 : identità o buffer f 2, f : not f : and f 4 : nand f 7 : or f 8 : nor f 9 : equivalence f 6 : ex-or Nota: Le possibili funzioni di n variabili sono 2 2n 2

Funzioni elementari & Porte logiche... X X 2 Z AND Z = X X 2 X X 2 Z X X 2 Z OR Z = X + X 2 X X 2 Z X X 2 Z EXOR Z = X X 2 X X 2 Z 3

... Funzioni elementari & Porte logiche X X 2 Z NAND Z = X X 2 X X 2 Z X X 2 Z NOR Z = X X 2 X X 2 Z X X 2 Z EQUIVALENCE Z = (X X 2 ) X X 2 Z 4

Alcune proprietà dell algebra di commutazione X+Y=Y+X X.Y=Y.X X+Y+Z=(X+Y)+Z X.Y.Z=(X.Y).Z X.(Y+Z)= (X.Y)+ (X.Z) X+(Y.Z)=(X+Y).(X+Z) Distributività X+X=X X.X=X (idempotenza - entrambi) X+=X X.=X X.= X+= X+(X.Y)=X X+ X= X. X= Elemento neutro A.X+A. X=A (A+X).(A+ X)=A (combinazione) (X. Y) = X+ Y (X + Y) = X. Y (Leggi di De Morgan) X.Y+Y.Z+ X.Z= X.Y+ X.Z (consenso) (X+Y).(Y+Z).( X+Z)=(X+Y).( X+Z) (consenso) X+ X.Y = X + Y Commutatività: nello schema lo scambio degli ingressi non cambia il funzionamento per AND ed OR Associatività: definizione degli AND ed OR a 3 ingressi Esercizio importante: visualizzare le proprietà sopra su apposite tabelle di verità e tramite schemi logici, capire come passare da OR a AND usando le leggi di De Morgan 5

Come di mostrare le uguaglianze usando solo tabelle di verità Dimostrare X+(Y.Z)=(X+Y).(X+Z). Scrivere una tabella di verità con gli ingressi necessari 2. Usare una colonna di uscita per ciascuna operazione elementare da svolgere 3. Eseguire confronti Utile a volte separarli per colonne visto che il ruolo di ingresso sarà mutevole durante la procedura Si ricorda di procedere sempre per riga e di scegliere sempre le colonne giuste, nell esempio sotto sono riportati in blu per ciascuna colonna gli indici delle colonne usate per scrivere i valori. La colonna X ha indice X Y Z Y.Z X+Y.Z X+Y X+Z (X+Y).(X+Z) 2,2,3,,2 5,6 6

Il problema della sintesi Funzione assegnata Espressioni equivalenti Schemi logici SINTESI: abbiamo infiniti schemi che risolvono il nostro problema, vogliamo trovare quelli che sono ottimali secondo i parametri di Massima velocità Minima complessità Uso l algebra di commutazione per elaborare le espressioni logiche e giungere a quella corrispondente allo schema voluto 7

Complessità e velocità Indicatori : N gate = numero di gate N conn = numero di connessioni N casc = numero di gate disposti in cascata sul più lungo percorso di elaborazione Complessità funzione crescente di N gate, N conn Velocità di elaborazione funzione decrescente di N casc Esempio: x y z Le due reti sono equivalenti. Hanno la stessa velocità di elaborazione. La rete di sinistra è meno complessa. x z y 8

Il ritardo dei gate Nei gate reali la variazione degli ingressi sull uscita ha luogo solamente dopo un certo ritardo. Solitamente si differenziano i ritardi dovuti a cambiamenti sul fronte di salita (t LH ) o sul fronte di discesa (t HL ) Di norma i costruttori forniscono il ritardo minimo, massimo e nominale. Sulla base del progetto che si sta affrontando si andranno ad adoperare i valori in relazione al caso peggiore x t min x t y t typ y t max Modello di gate con ritardo 9

Cosa significa che un segnale è attivo basso? Segnali attivi bassi Vuol dire che la funzione svolta dal segnale (nel caso del decoder abilitare la decodifica degli ingressi) è attivata quando il segnale ha valore logico basso (). I segnali attivi bassi si indicano solitamente con questa notazione: <nome del segnale># (per esempio ENABLE#) oppure <nome del segnale>* NOTA: Nel corso cercheremo sempre di lavorare con segnali attivi alti, tuttavia dobbiamo sapere cosa sono e saper trattare i segnali attivi bassi. Quando avremo a che fare con segnali attivi bassi useremo la notazione con * 2

Espressioni canoniche I forma canonica (Espressione canonica SP): ogni funzione di n variabili binarie è descritta da una somma di tanti termini prodotto quante sono le configurazioni per cui la funzione stessa vale. In ogni termine prodotto (mintermine) compaiono tutte le n variabili, ciascuna in forma vera se nella configurazione corrispondente vale, in forma negata altrimenti. II forma canonica (Espressione canonica PS): ogni funzione di n variabili binarie è descritta da un prodotto di tanti termini somma quante sono le configurazioni per cui la funzione stessa vale. In ogni termine somma (maxtermine) compaiono tutte le n variabili, ciascuna in forma vera se nella configurazione corrispondente vale, in forma negata altrimenti. Per ciascuna funzione logica esistono sicuramente almeno due espressioni logiche e quindi due schemi. Gli schemi logici risultanti dalle espressioni canoniche sono a due livelli (ottima velocità), ma solitamente sono semplificabili in schemi meno complessi (forme minime) 2

Decoder: funzionamento Un decoder (n : m) accetta in ingresso n bit e presenta in uscita m = 2 n linee sulle quali asserisce (ovvero porta ad ) solo quella che corrisponde al valore binario in ingresso Un decoder può anche avere un ingresso di ENABLE# (attivo basso); EN* è un ulteriore ingresso che ha lo scopo di forzare tutte le uscite a quando questo vale Tabella della verità Schema a blocchi EN* X X Y 3 Y 2 Y Y X X D E C Y Y Y 2 EN* Y 3 Espressioni canoniche SP delle uscite E inizialmente difficile trattare i segnali attivi bassi, vedremo alcuni esempi nella seconda parte del corso Y 3 = EN X X Y 2 = EN X X Y = EN X X Y = EN X X 22

Decoder: schema logico Espressioni canoniche SP delle uscite Schema logico Y 3 Y 3 = EN X X Y 2 = EN X X Y = EN X X Y 2 Y = EN X X Y Y EN* X X 23

Multiplexer a due vie: funzionamento Un multiplexer (o selettore) permette di selezionare uno degli n ingressi per presentarlo in uscita; la selezione è effettuata tramite una linea di comando. Con n linee di ingresso, il numero di linee di comando deve essere pari a log 2 n Tabella della verità A I I U Se A= allora U=I altrimenti U=I Schema a blocchi I I M U X Espressione canonica SP dell uscita U = A I I + A I I + A I I + A I I A U 24

Multiplexer a due vie: schema logico Espressione canonica SP espressione normale SP (manipolazione algebrica dell espressione) U = A I I + A I I + A I I + A I I = = A I (I + I ) + A I (I + I ) = = A I + A I Abbiamo applicato le regole dell algebra bina per semplificare l espressione e, conseguentemente lo schema. Tuttavia non sempre è possibile procedere semplicemente a queste elaborazioni Schema logico I U I A 25

Implicanti e implicati primi Implicante di una funzione Termine prodotto di n o meno variabili che assume valore per configurazioni per cui anche la funzione vale Implicato di una funzione Termine somma di n o meno variabili che assume valore per configurazioni per cui anche la funzione vale [Implicante Implicato] primo [Implicante Implicato] da cui non è possibile eliminare alcun letterale senza perdere la sua proprietà + ABC + DFE + Termine Letterale Espressione SP 26

ESPRESSIONE MINIMA Espressioni minime SP o PS L espressione minima SP è una somma irridondante di implicanti primi L espressione minima PS è un prodotto irridondante di di implicati primi Irridondante indica che non possono essere eliminati termini Primo indica che non possono essere eliminati letterali + ABC + DFE + Termine Letterale Espressione minima (SP/PS) Espressione SP. espressione SP/PS 27 2. formata dal minimo numero possibile di termini (prodotti/somme) 3. aventi ciascuno il minimo numero possibile di letterali (variabili in forma vera o complementata). Fornisce la descrizione algebrica di una rete di costo minimo

Mappe di Karnaugh Mappa di Karnaugh Rappresentazione bidimensionale della tabella della verità di una funzione di 2,3,4 variabili, i cui valori sono stati elencati sui bordi in maniera che due configurazioni consecutive differiscano per il valore di un solo bit Esempi: a b Somma logica di 2 variabili 28! a br Riporto del Full Adder ab cd Parità su 4 variabili

Adiacenza tra celle Coppia di celle adiacenti su mappe di Karnaugh Due celle le cui coordinate differiscono per un solo bit. In una mappa che descrive una funzione di n variabili ogni cella ha n celle adiacenti. Regola grafica per l adiacenza - Sono adiacenti celle aventi un lato in comune o poste all estremità di una stessa riga o colonna. 29 cella scelta come esempio celle adiacenti a b a bc 2 variabili 3 variabili ab cd 4 variabili

Estensione delle mappe a 5 variabili cella scelta come esempio celle adiacenti de bc a= de bc a= abc de 5 variabili a bc de Cambia un solo bit Ulteriore regola di adiacenza - Sono adiacenti celle che occupano la stessa posizione in sotto-mappe adiacenti 3

3 Estensione delle mappe a 6 variabili cella scelta come esempio celle adiacenti ef cd ef cd ab= ab = ef cd ab = ef cd 6 variabili ab=

Raggruppamenti rettangolari Raggruppamento Rettangolare (RR) di ordine p Insieme di 2 p celle di una mappa all interno del quale ogni cella ha esattamente p celle adiacenti RR ed implicanti Un RR di ordine p costituito da celle contenenti valore, ed eventualmente condizioni di indifferenza, individua un implicante della funzione. Nel prodotto compaiono le sole (n-p) variabili che rimangono costanti nel RR, in forma vera se valgono, in forma complementata se valgono. RR ed implicati Un RR di ordine p costituito da celle contenenti valore, ed eventualmente condizioni di indifferenza, individua un implicato della funzione. Nella somma compaiono le sole (n-p) variabili che rimangono costanti nel RR, in forma vera se valgono, in forma complementata se valgono. 32

2 mintemini adiacenti implicante ab cd X X X X X X X X X X X X X X mintermini implicante canonica SP: a bc d + abc d +... normale SP: ac d +... Combinazione: xy+x y = x Due mintermini di una espressione canonica SP corrispondenti a configurazioni che individuano celle adiacenti sono equivalenti ad un unico implicante con un letterale in meno. 33

x2 maxtermini implicato canonica PS: maxtermini implicato cd ab X X X X X X X X X X X X X X ( a+ b+c+ d)( a+ b+ c+ d)... normale PS: ( a+ b+ d)... Combinazione: (x+y)(x+ y) = x Due maxtermini di una espressione canonica PS corrispondenti a configurazioni che individuano celle adiacenti sono equivalenti ad un unico implicato con un letterale in meno. 34

4 mintermini adiacenti implicante Quattro mintermini corrispondenti a configurazioni che individuano un raggruppamento di 4 celle a 2 a 2 adiacenti sono equivalenti ad un unico implicante con due letterali in meno. cd ab X X X X X X X X X X X X canonica SP: ab cd + abcd + ab ad + abcd + Combinazione: xy+x y = x normale SP: abd + abd +.. Combinazione: xy+x y = x normale SP: bd +.. 35

Implicanti e implicati PRIMI RR di dimensione massima ed implicanti primi Un RR formato da celle contenenti valore o - e non interamente incluso in un RR di ordine superiore individua un implicante primo RR di dimensione massima ed implicati primi Un RR formato da celle contenenti valore o - e non interamente incluso in un RR di ordine superiore individua un implicato primo Esempio (caso SP): cd ab X X X X X X X bd d non è un implicante primo! è un implicante primo! 36

Implicato primo: esempio cd ab x x x x x x c + d non è un implicato primo! non è un implicato primo! c + d d è un implicato primo! 37

Individuazione grafica dei termini ridondanti Un RR le cui celle sono tutte incluse in altri RR può NON essere preso in considerazione per la la forma minima ab cd X X X X X X X X X X X X cd ab X X X X X X X X X X X X 38 normale SP: ac d + abc + abd +... xy+ xz+yz = xy + xz normale SP: ac d + abd +... normale PS: ( a+ b+ d)( a+ c+ d)( a+b+ d)... (x+y).( x+z).(y+z) = (x+y).( x+z) normale PS: ( a+ b+ d)( a+b+ d)...

Copertura minima Copertura di una funzione su una mappa Insieme di RR la cui unione racchiude tutte le celle contenenti o valore (copertura degli uni) o valore (copertura degli zeri), ed eventualmente celle con valore indifferente Coperture ed espressioni normali Una copertura degli uni (zeri) individua una espressione normale SP (PS) che descrive, nel suo dominio, la funzione assegnata tramite la mappa. Gli implicanti (implicati) che appaiono nell espressione sono individuati dai raggruppamenti componenti la copertura. Copertura minima Copertura costituita dal minimo numero possibile di RR di dimensione massima e corrispondente alla espressione minima 39

RR non di dimensione massima: esempio ab cd - - c + ac d Uno dei due RR non è di dimensione massima (ac d non è un implicante primo): l espressione non è minima. ab cd - - c + a d L espressione è minima! 4

RR non di numero minimo: esempio ab cd ac d + abc + b cd + a c Somma irridondante di implicanti primi, ma non espressione minima ab cd ac d + abd + a c Espressione minima 4

Espressioni minime PS equivalenti: esempio ab cd ( b+ c+d) (a+ c+ d) (b+c+ d) ( a+c+d) ab cd (a+ b+ c) ( a+ b+d) ( a+b+c) (a+b+ d) 42

Coperture ed espressioni: esempi cd ab - - - a bc La funzione f(a, b, c, d) è identicamente uguale a cd ab - - PS: SP: b + d b + d a bc + a b c + abc L espressione minima SP è l espressione canonica Le coperture minime PS ed SP portano alla stessa espressione 43

Individuazione grafica dell espressione minima () A partire dalla mappa che descrive la funzione occorre determinare la copertura minima e da questa la corrispondente espressione minima. Il procedimento è per sua natura non sistematico e presuppone l abilità di chi lo esegue. È tuttavia possibile delineare una sequenza di passi che consentono di individuare con facilità la copertura minima. ) Si decide se cercare l espressione di tipo SP o PS e ci si predispone di conseguenza a coprire gli uni o gli zeri. ab cd - - ) scegliamo SP 44

Individuazione grafica dell espressione minima (2) 2) Si cerca di individuare tra le celle da coprire una cella che possa essere racchiusa in un solo RR e lo si traccia di dimensione massima, annotando il termine corrispondente. Se la funzione è incompleta il RR può contenere anche condizioni di indifferenza. ab cd - - ) scegliamo SP 2) ac d 45

Individuazione grafica dell espressione minima (3) 3) Si ripete fino a quando è possibile il passo 2, tenendo conto della possibilità di coprire anche celle incluse in RR già tracciati. ab cd - - ) scegliamo SP 2) ac d 3) a c 46

Individuazione grafica dell espressione minima (4) 4) Si prendono in considerazione le celle ancora da coprire e se ne sceglie a colpo d occhio la copertura migliore, tenendo conto come al solito della possibilità di coprire celle già coperte e condizioni di indifferenza. ab cd - - ) scegliamo SP 2) ac d 3) a c 4) abd oppure b cd 5) Si ripete il passo 4 fino a soddisfare la condizione di copertura. Si scrive infine l espressione minima. 5) ac d + a c + abd b cd 47

Individuazione grafica dell espressione minima: esempio di copertura PS ab cd - - - 2) a + b 3) b+ d oppure a + d 4) a+ c oppure c+ d b+ d 5) (a + b) a + d. a+ c c+ d ) scegliamo PS. Espressione minima PS: (a + b) (a + d) ( c+ d) 48

Esempio: sintesi minima di un encoder Tabella della verità Mappe di Karnaugh delle funzioni di uscita X 2 X X Y Y - - - - - - - - x x x 2 - - - - Y x x x 2 - Se si suppone che le corrispondenti configurazioni di ingresso non possano presentarsi allora queste possono essere considerate condizioni di indifferenza. - - - Y 49

Sintesi minima di un encoder Mappe di Karnaugh delle funzioni di uscita x x x 2 - Espressioni minime SP delle funzioni di uscita Y = X2 + X Y = X2 + X Espressioni minime PS delle funzioni di uscita - - - Y Y = X2 + X Y = X2 + X x x x 2 - X 2 X X Schema logico Y - - - Y Y 5

ESERCIZIO:analisi N 3 N 2 N N N 3 N 2 N N F F Esressione normale SP F = N 3 N 2 + N 3 N 5

ESERCIZIO:analisi N N N 3 N 2 F = N 3 N 2 + N 3 N N 3 N 2 N N F 52

ESERCIZIO:analisi Bit più significativo (MSB) 53 N 3 N 2 N N N 3 N 2 N N Codice BCD Bit meno significativo (LSB) Risultato dell analisi: la rete consente di individuare le configurazioni di 4 bit che non corrispondono ad un codice BCD. La funzione F vale in corrispondenza di tali configurazioni.? BASE N 3 N 2 N N F 2 3 4 5 6 7 8 9 ---- ---- 2 ---- 3 ---- 4 ---- 5 ----

Alea statica Rete combinatoria glitch Alea statica I ritardi di propagazione possono determinare una temporanea variazione dell uscita di una rete combinatoria, in risposta ad una sequenza di due ingressi per cui avrebbe invece dovuto rimanere costante Comportamento apparentemente aleatorio inaccettabile su una retroazione diretta 54

Alea statica nell OR x z x x 2 x 2 z - x x 2 t z x x 2 z - x x 2 t z x z x 2 Occorre far cambiare un solo ingresso alla volta! 55

Alea statica nell AND x x 2 z x x 2 z - x t x 2 x 2 x z - x 2 x t Occorre far cambiare un solo ingresso alla volta! x z x 2 56

Visualizzazione dell alea statica sulle AND mappe OR X \ X F = X X Nel passaggio dalla configurazione XX = alla configurazione XX = si verifica un alea se cambia prima X!!! Nel passaggio dalla configurazione XX = alla configurazione XX = si verifica un alea se cambia prima X!!! X \ X F = X + X Nel passaggio dalla configurazione XX = alla configurazione XX = si verifica un alea se cambia prima X!!! Nel passaggio dalla configurazione XX = alla configurazione XX = si verifica un alea se cambia prima X!!! 57

Alea statica nel SELETTORE c t Occorre impiegare una copertura ridondante! b A t a t A t U? 3 t Anche con l ipotesi che cambi un solo ingresso alla volta, resta il problema del disallineamento dei loro complementi causato dal ritardo di NOT interni a = NOT(A) c b U 58

Il SELETTORE: la copertura ridondante SP minima: U = AI + AI A I I U SP ridondante: U = AI + I I + AI I U I A 59

SELETTORE: rete non minima I = t t c d t U SP ridondante: U = AI + I I + AI I = A t a t A b 3 t a = NOT(A) L AND in più mantiene il corretto valore di U per tutto il transitorio c b 6 d U

Eliminazione a priori delle alee statiche Una r. c. completamente specificata ed i cui segnali d ingresso cambiano di valore uno solo alla volta non presenta alea statica se è descritta da un espressione normale formata da tutti i termini primi Mappe di Karnaugh Per eliminare a priori le alee statiche in una rete combinatoria completamente specificata è necessario e sufficiente scegliere una copertura in cui ogni coppia di (o di ) contenuta in celle adiacenti sia racchiusa in almeno un RR 6

Alea statica & mappe di Karnaugh () F = m(, 3, 5, 7, 8, 9, 2, 3) X 3 X 4 X X 2 F Espressione minima SP F = X X 4 + X X 3 62

Alea statica & mappe di Karnaugh (2) X 3 X 4 X X 2 Consideriamo di trovarci nel caso in cui X 3 X 4 =. L espressione che descrive la rete si riduce a F = X + X. Infatti, come rappresentato nella mappa, a prescindere dai valori di X e X 2, la funzione deve valere. Tenendo però in considerazione il ritardo dovuto al NOT, si può verificare un alea. t/2 U sono celle adiacenti X t sono celle adiacenti X Nell esempio in esame, si ha un alea nel passaggio di X da a. U X ALEA!! 63

Alea statica & mappe di Karnaugh (3) X 3 X 4 X X 2 Supponendo che gli ingressi cambino di valore uno solo alla volta (es. X ), il problema dell alea statica può essere risolto introducendo uno o più raggruppamenti ridondanti. F Nell esempio in esame è possibile considerare solamente un unico raggruppamento di ordine 2, ottenendo l espressione ridondante: sono celle adiacenti sono celle adiacenti F = X X 4 + X X 3 + X 3 X 4 Il problema dell alea sarebbe stato risolto anche considerando i due raggruppamenti di ordine sopra riportati (linea trattegiata). Questo avrebbe portato però ad un espressione più costosa : F = X X 4 + X X 3 + X 2 X 3 X 4 + X 2 X 3 X 4 64

Buffer 3-state: il comando di Output Enable (OE) I O I O OE OE I O X Z OE= consente il passaggio OE= blocca il passaggio OE I OE Lo stato elettrico del segnale d uscita è indefinito o flottante (Stato di Alta Impedenza) O Z 65 t PZH t PHL t PLZ Z

Il bus come risorsa condivisa Rete Rete 2 Rete n OE OE 2 OE n BUS In ogni istante di tempo solamente una rete potrà accedere al bus. Questo vuol dire che solamente un segnale di OE i potrà essere attivo in ogni istante di tempo. I segnali di OE i verranno generati da una rete che possiamo chiamare controllore del bus. Controllore del bus OE OE 2... OE n 66

Addizione (con riporto) Somma fra due bit: non basta per eseguire la somma in colonna + = + = + = + = Il Full Adder consente di sommare i bit in una determinata posizione di una somma con due addendi, n Full Adder collegati consentono di ottenere un sommatore ad n bit C i a i b i Full Adder riporto carry C i a i b i C i+ s i s i C i+ C n s n C n- C n-2 C C in = a n- a n-2 a a + b n- b n-2 b b s n- s n-2 s s 67

a b HA XOR AND sum cout Progettazione di un adder a 4 bit (prima parte) C_in a_i b_i C_out a HA C S b FA OR a HA C S b S 68

Sommatore a 4 bit Y 3.. X 3.. 4 4 C in C out B 3.. Adder 4 bit A 3.. S3.. 4 OV uns U 3.. X3 Y3 X2 Y2 X Y X Y a3 b3 a2 b2 a b a b Cin 4bit_Adder a b a b a b Cin Cin Cin a b Cin FA FA FA FA Cout Cout Cout Cout S S S S Cout Cout s3 s2 s s3 s2 s s s 69

Ripasso sulla Somma Ipotesi: consideriamo qui n bit con n = 8 Se eseguiamo la somma di quantità senza segno (i numeri rappresentabili vanno da e 255) possiamo utilizzare 8 full adder e l ultimo carry segnala con il valore l errore nel risultato che è troppo grande per essere rappresentato Se consideriamo la somma di numeri con segno e usiamo la notazione in complemento a 2, allora i numeri rappresentabili vanno da -28 a 27. In questo caso l errore di risultato non rappresentabile non è indicato dal valore del carry out dell ultimo full adder. Occorre invece realizzare una rete logica che legga almeno i segni degli operandi, il segno dell uscita ed il bit di carry out dell ultimo full adder. In alternativa si ottiene la stessa informazione dallo XOR del carry in e del carry out dell ultimo full adder. Questo XOR dà quindi l indicazione della situazione di overflow. Questa soluzione, non dipende dal segno degli operandi. ATTENZIONE: l ultimo bit di carry out verrà d ora in poi chiamato carry out il termine overflow verrà utilizzato solo per indicare lo stato di errore dovuto a risultato non visualizzabile 7

Complemento a 2 di un numero naturale N formato da n bit complement and increment Notare l uso del carry in per incrementare B A CI 4 BIT a ADDER a a 2 a 3 s s s 2 s 3 b b b 2 b 3 CO - B 7 Esercizio in classe: Per eseguire complement and increment in realtà non servono n full adder, anche una soluzione con meno potenza di calcolo è in grado di raggiungere il risultato corretto. Ragionarci e cercare di trovarla

Esercizi Utilizzando una rappresentazione in complemento a 2 con n=6 si eseguano le seguenti operazioni: (-2) + (+4) (-2) + (-) (-2) - (-2) (-2) + (+2) (-2) + (-4) (+) - (+5) (+) - (+) (+2) +(+5) Se lavoro in complemento a 2 la situazione di overflow è determinata dal fatto che i CO calcolati dai full adder in posizione n-2 ed n- siano diversi

Approfondimento: il sottrattore (è un esercizio, potrà essere verificato, non è presente nelle CPU) Determinare la tabella di verità di un full subtracter, un modulo che, così come avviene per il full adder relativamente alla somma con riporto, consente di realizzare un sottrattore secondo l approccio della sottrazione in colonna con prestito. 73

Sottrazione (con prestito) p i a i b i Full Subtracter d i p i+ Mi hanno richiesto prestito p i a i b i p i+ Richiedo prestito d i p n d n p n- p n-2 p a n- a n-2 a a - b n- b n-2 b b d n- d n-2 d d

Approfondimento: ALU ( Arithmetic and Logic Unit) x c flag y ALU u u = F c (x, y) ALU - Rete combinatoria in grado di eseguire diverse operazioni di tipo aritmetico o logico. L operazione di volta in volta eseguita dipende dal valore attribuito ai bit di programmazione (codice operazione) 75

Adder a 4 bit a3 b3 a2 b2 a b a b a3 b3 a2 b2 a b a b 4bit_Adder a b a b a b Cin Cin Cin a b Cin FA FA FA FA Cout Cout Cout Cout S S S S XOR ov s3 s2 s s ov 76 s3 s2 s s

Un adder/subtractor programmabile CI x CI 4 BIT ADDER a y C M U X a a 2 a 3 s s s 2 s 3 b b b 2 b 3 CO u Aggiungo ingressi di controllo e reti di preelaborazione fra gli ingressi (x ed y) ed i valori effettivamente sommati (a e b) CI x + y x + y + x - y - x -y ogni configurazione degli ingressi di controllo ho una diversa funzione svolta dalla rete 77

x y C M U X.. più operazioni aritmetiche Schema inserito per conoscenza C 2 M U X C CI CI 4 BIT a ADDER a a 2 a 3 s s s 2 s 3 b b b 2 b 3 CO Continuo ad aggiungere ingressi di controllo e reti di preelaborazione fra gli ingressi (x ed y) ed i valori effettivamente sommati (a e b), mi accorgo che riesco a gestire molte operazioni aritmetiche, ma nessuna operazione logica M U X u CI C 2 C C x + y x + y + x - y - x x - x -y y y + -(y +) - y 2 4 -, - x + x 78

Operazioni logiche Le operazioni logiche come AND OR XOR ecc sono eseguite bit a bit fra le configurazioni degli operandi in ingresso. Usare un adder per eseguire operazioni bit a bit è impossibile senza modifiche allo stesso. Ciò avviene acausa della catena di propagazione del carry La modifica consiste quindi nell interrompere la catena di propagazione del carry quando si eseguono operazioni logiche, e per fare ciò basta forzare tutti i carry a tramite un segnale di controllo. 79

Bit di modalità e operazioni logiche x y C 2 C C Rete di pre-elabor. r a b CI M FA CI a a a 2 a 3 b b b 2 b 3 R s M (bit di modalità, : logica, : aritmetica) M 4 BIT ADDER con M s s s 2 s 3 CO u r a b FA R s C 2 C C M= x y (x y) x x y y M= s = a b 8

Segnali di flag x y c ALU flag u ZF SF ZERO FLAG: vale se il risultato vale. SIGN FLAG: vale se il risultato è negativo. CF CARRY FLAG: vale se CO=. OF PF OVERFLOW FLAG: vale in caso di traboccamento del risultato di un operazione fra numeri relativi rappresentati in complemento a 2. PARITY FLAG: vale se il bit di parità del risultato vale. 8

Generazione dei flag per una ALU a 4 bit ZF = (u + u + u 2 + u 3 ) SF = u 3 CF = CO OF = r 3 CO PF = u u u 2 u 3 82

C 3 C 2 C C M La ALU a 4 bit CI ZF SF CF OF PF x a M r s u x b R x 2 x 3 Rete di pre-elabor. a b M r R s u a 2 M r 2 s 2 u 2 y b 2 R y y 2 a 3 M r 3 s 3 u 3 y 3 b 3 R CO 83