Circuiti integrati. Circuiti integrati

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

Logica combinatoria. La logica digitale

Il Livello Logico-Digitale. Blocchi funzionali combinatori

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

Architettura degli Elaboratori

Calcolatori: Algebra Booleana e Reti Logiche

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

Lezione 7 Sommatori e Moltiplicatori

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

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

SISTEMI DI NUMERAZIONE E CODICI

Struttura del calcolatore

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

Esempi ed esercizi Aritmetica degli elaboratori e algebra di commutazione

Testi di Esercizi e Quesiti 1

Flip-flop Macchine sequenziali

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

Programmazione modulare a.s

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

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

Comparatori. Comparatori di uguaglianza

Codifica binaria dei numeri

Circuiti sequenziali e elementi di memoria

Rappresentazione dei numeri in un calcolatore

Elementi di informatica

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

Tecniche per il progetto di sistemi elettronici tolleranti ai guasti

Calcolatori Elettronici A a.a. 2008/2009. RETI SEQUENZIALI: ESERCIZI Massimiliano Giacomin

Memorie ROM (Read Only Memory)

Aritmetica dei Calcolatori 2

Sistemi di Numerazione

Macchine combinatorie

ALGEBRA DELLE PROPOSIZIONI

Lezione 3. Sommario. Le operazioni aritmetiche binarie. L aritmetica binaria. La somma La sottrazione La moltiplicazione

Sistemi di Numerazione Binaria NB.1

4. Operazioni aritmetiche con i numeri binari

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

Introduzione ai microcontrollori

Architettura degli Elaboratori I Esercitazione 1 - Rappresentazione dei numeri

Esercizi per il recupero del debito formativo:

LABORATORIO DI SISTEMI

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

Il concetto di valore medio in generale

2.12 Esercizi risolti

Logica e codifica binaria dell informazione

Elementi di informatica

PROGRAMMAZIONE MODULARE

Macchine combinatorie: encoder/decoder e multiplexer/demultiplexer

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

4 3 4 = 4 x x x 10 0 aaa

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

ESEMPIO 1: eseguire il complemento a 10 di 765

Alessandro Pellegrini

Calcolatori Elettronici B a.a. 2006/2007

Codifica binaria dei numeri relativi

Calcolatori Elettronici Parte IV: Logica Digitale e Memorie

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

Rappresentazione delle informazioni

I sistemi di numerazione

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

Architettura hardware

CPU. Maurizio Palesi

Dispensa di Informatica I.1

Laurea Specialistica in Informatica

Architettura dei Calcolatori Reti Sequenziali Sincrone

APPUNTI DI ELETTRONICA DIGITALE

RAPPRESENTAZIONE BINARIA DEI NUMERI. Andrea Bobbio Anno Accademico

Comprendere il funzionamento dei convertitori V/f Saper effettuare misure di collaudo

Capitolo. Interfacciamento di periferiche I/O con il PC. 1.1 Il BUS di espansione del PC

Università degli Studi di Cassino Corso di Fondamenti di Informatica Codifica di dati e istruzioni. Anno Accademico 2010/2011 Francesco Tortorella

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

Il processore. Il processore. Il processore. Il processore. Architettura dell elaboratore

Reti sequenziali sincrone

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

Appunti di informatica. Lezione 2 anno accademico Mario Verdicchio

Fondamenti di Informatica

Circuiti amplificatori

CASSA AUTOMATICA SelfCASH

Modulo 8. Elettronica Digitale. Contenuti: Obiettivi:

LABORATORIO DI ARCHITETTURA DEI CALCOLATORI lezione n 2.

L unità di controllo. Il processore: unità di controllo. Le macchine a stati finiti. Struttura della macchina a stati finiti

Dispense di Informatica per l ITG Valadier

Informatica Generale 02 - Rappresentazione numeri razionali

Codici a barre. Marco Dell Oro. January 4, 2014

Reti sequenziali. Esempio di rete sequenziale: distributore automatico.

I componenti di un Sistema di elaborazione. Memoria centrale. È costituita da una serie di CHIP disposti su una scheda elettronica

Corso di Laurea in Informatica Architetture degli Elaboratori

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

Registri. «a2» Copyright Daniele Giacomini --

introduzione I MICROCONTROLLORI

Informatica. Rappresentazione dei numeri Numerazione binaria

FSM: Macchine a Stati Finiti

P R O G E T T O L A R S A A P P U N T I S U L P. L. C.

C. P. U. MEMORIA CENTRALE

Esame di INFORMATICA

LA TRASMISSIONE DELLE INFORMAZIONI QUARTA PARTE 1

Ciclo di Istruzione. Ciclo di Istruzione. Controllo. Ciclo di Istruzione (diagramma di flusso) Lezione 5 e 6

I componenti di un Sistema di elaborazione. CPU (central process unit)

Componenti combinatori

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

Transcript:

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 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 2

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 a porte MSI (Medium Scale Integrated): IC a scala di integrazione media, da a porte LSI (Large Scale Integrated): IC a scala di integrazione grande, da a. porte VLSI (Very Large Scale Integrated): IC a scala di integrazione molto grande, >. 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 3 Metodi di progetto logico Nessuno progetta un circuito integrato contenente 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 4 2

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 5 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 6 3

4 7 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 porta non usata porta non usata D ingresso non usato 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 9 Multiplexer Il blocco funzionale multiplexer ha: n ingressi di selezione 2 n 2 ingressi dati un uscita Gli ingressi dati sono numerati a partire da : k =,, 2,, 2 n Se sugli ingressi di selezione è presente il numero binario k, il kesimo ingresso dati viene inviato in uscita 5

Un solo ingresso di controllo Ctrl OUT OUT =!!Ctrl +!Ctrl +!Ctrl + Ctrl Ctrl Possibilità di ingressi di più bit OUT OUT = Ctrl +!Ctrl Multiplexer a 2 ingressi di controllo S S Tabella delle verità # riga S S I I2 I3 I4 U X X X I X X X I 2 U 2 X X X 3 X X X I 3 4 X X X I 4 MUX 5 X X X 6 X X X 7 X X X 2 6

Demultiplexer Circuito logico che effettua l operazione inversa rispetto al MUX (multiplexer) Il blocco funzionale demultiplexer (DEMUX) ha: n ingressi di selezione un ingresso dati 2n 2 uscite I D D Selezione S S 2 O D Uscite O 2 O 3 D O 4 O =!S!S 2 I O2 = S!S 2 I O3 =!S S 2 I O4 = S S 2 I D D D D 3 Demultiplexer O =!S!S 2 I O2 = S!S 2 I O3 =!S S 2 I O4 = S S 2 I S S 2 S S 2 O O () I O 2 I O 2 () O 3 O 3 () O 4 DMUX O 4 () 4 7

Decoder Il blocco funzionale decoder ha: n ingressi 2 n 2 uscite Le uscite sono numerate a partire da : k =,, 2,, 2 n Se sugli ingressi è presente il numero binario k, la kesima uscita assume il valore e le restanti uscite assumono il valore 5 Decoder F F2 F3 F4 F =!! F2 =! F3 =! F4 = F F F 2 F 2 F 3 F 4 DECODER F 3 F 4 6 8

Codificatore (encoder) È il blocco funzionale inverso del decodificatore. Ha: 2n 2 ingressi n uscite Se l ingresso kesimo vale e i rimanenti ingressi valgono, sulle uscite è presente il numero binario k Se due o più ingressi valgono, il funzionamento del blocco non è definito Uso caratteristico: rilevare la posizione di un segnale attivo in un gruppo di segnali 7 Codificatore ENC a 4 ingressi Se due o più ingressi valgono, il comportamento non è definito ingressi I I I2 I3 ENC U U Codificatore a 4 ingressi uscite Tabella delle verità # riga I I I2 I3 U U 2 3 8 9

Confrontatore (comparator) Il blocco funzionale confrontatore ha: due gruppi e di ingressi da n bit ciascuno tre uscite: minoranza <, uguaglianza = e maggioranza > Il blocco confronta i due numeri binari e da n bit presenti sui due gruppi di ingressi, e attiva (a ) l uscita corrispondente all esito del confronto 9 Confrontatore COMP a 2 bit ingressi < = > COMP Confrontatore di numeri a 2 bit uscite Tabella delle verità # riga < = > 2 3 4 5 6 7 8 9 2 3 4 5 2

Controllore di parità (parity checker) Il blocco funzionale controllore di parità ha: n ingressi un uscita Se un numero pari di ingressi vale (cioè, 2, 4, ingressi), l uscita vale Se un numero dispari di ingressi vale (cioè, 3, 5, ingressi), l uscita vale 2 Controllore di parità Tabella delle verità PR a 4 bit ingressi D D D2 P D3 PR uscita Controllore di parità a 4 ingressi # riga D3 D2 D2 D P 2 3 4 5 6 7 8 9 2 3 4 5 22

Usi caratteristici Confrontatore: confronti tra numeri interi (naturali o anche relativi) Controllore di parità: si usa per tecniche di rilevamento (e anche di correzione) degli errori di trasmissione e di memorizzazione: codice di parità per la segnalazione di errori 23 Shifter Effettua lo scorrimento verso sinistra o destra del valore presente agli ingressi Esempio: Sinistra: Destra: S/D OUTn OUTi OUT sinistra INn- INi- Nuovo bit destra Nuovo bit INi+ IN 24 2

Shifter S/D nuovo nuovo I bit 4 I 3 I 2 I I bit MUX MUX MUX MUX MUX O 4 O 3 O 2 O O 25 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 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 26 3

Half-adder Somma Carry Carry Somma =! +! = ± Carry = HLF-DDER Somma 27 Full-hadder Carry in Somma Carry out Carry in Somma = ± ± CarryIn CarryOut = + CarryIn + CarryIn + CarryIn( + ) Carry out Somma FULL-DDER 28 4

Sommatore per dati a 3 bit 2 2 F F H R2 R R 2 2 F F F R2 R R 29 Sottrattore intero binario naturale a n bit (n-bit subtractor) È il blocco funzionale inverso del sommatore intero a n bit Ha in ingresso due numeri interi binari naturali e da n bit ciascuno In uscita presenta la differenza a n bit dei due numeri interi e Può avere un prestito in ingresso e un prestito in uscita, non sempre usati 3 5

Sottrattore intero a n bit Sottrattore intero binario naturale a 3 bit minuendo 3 2 2 3 sottraendo sottrattore a 3 bit! 8 prestito in uscita M2 M M S2 S S Pusc D2 D D 7 M = M = = 2, S = = 3, P in = D = M! S! = 3, S = P in = 2! = 2, P =! in = D = M! S! P in = 3! 2! = e = P usc = Pin prestito in ingresso differenza 3 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 bit ciascuno in ingresso un segnale di comando C in uscita un numero intero binario naturale Z da n bit Su Z deve uscire la somma + se C =, la differenza se C = 32 6

Schema logico della soluzione n X + Y X C + S n Y n I S n X - Y X n MUX U I n Z - D n Y (si usa un multiplatore a 2 gruppi di ingressi dati; ciascun gruppo è da n bit) 33 Unità ritmetico-logica comandi dd Sub R in, P in LU n C LU U n operandi n E risultato esiti = < = > R usc P usc 34 7

Unità ritmetico-logica # riga Comando Operazione R Esito dd somma e + + R in riporto in uscita R usc Sub sottrae da!! P in prestito in uscita P usc 2 3 Pass Pass passa in uscita passa in uscita 4 Zero annulla uscita - 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 Confronta con - = - <, =, > 9 Multiply prodotto di e " riporto in uscita Divide divisione / / divisione per? - - 35 Esempio di calcolo comandi Compare Pass Zero dd nd Sub Null Or Rin, Pin 26 5 4 XXX = X n C LU operandi 23 5 XXX = n LU E U n XXX = 59 24 risultato esiti = < = > Rusc Pusc X X X X X X 36 8

9 37 Schema logico di una LU da bit 38 Esercizio LU che effettua ND, OR, NOT e somma algebrica +! or and Operazione F F CarryOut Output F F

39 4 2

4 42 2

43 44 22

Logica istabili e locchi sequenziali 23

47 48 24

49 25

5 52 26

53 54 27

55 56 28

Progettazione funzionale Contatori Modulo Contatori binari che consentono di contare i colpi di clock Utilizzando n bistabili consentono di contare da a 2^n- d ogni colpo di clock il valore del contatore viene incrementato di una unità Modulo significa che si resettano al raggiungimento del valore massimo. 58 29

3 59 Contatore Modulo 8 Quanti bistabili servono per realizzarlo? 3 6 Nc Nb Na C Tabella della verità di un contatore modulo 8 Non viene considerato il segnale di clock che serve solo per attivare la transizione, ma non ha effetto sull OUTPUT

3 6 Nc Nb Na C Usando una tecnica appropriata scrivere la sintesi in I forma normale (SoP) delle 3 uscite 62 Na C \C Na=!C+!+!C Na=(!C+!)+!C

32 63 Nb C \C Nb=!C+!C Nb= C 64 Nc C Nc=!C

Flip-Flop tipo D 66 33

Dalla rete combinatoria al contatore La rete combinatoria implementa la logica che consente di realizzare l incremento isogna aggiungere i bistabili ed il segnale di clock che attivi la transizione. 67 68 34

Progettazione circuito sequenziale Implementare un circuito che memorizza due bit specificati sugli ingressi solo se: Solo uno di essi differisce dai bit memorizzati precedentemente 69 7 35

Progettare in s tile funzionale, cioè combinando dei blocchi logici combinatori e sequenziali predefiniti, un circuito sequenziale che calcola la funzione F(,) che vale - / con! e vale con = dove e sono due numeri binari positivi di 4 bit, dotato dell'interfaccia seguente: 32 4 32 4 LOD RESET CK 4 U3U2UU Il circuito riceve i due dati e nel primo ciclo di clock, il caricamento avviene quando il segnale LOD è attivo. Nel ciclo successivo il circuito calcola la funzione F(,) e ne memorizza il risultato nel registro d uscita. Il circuito riceve in ingresso i seguenti segnali: Il segnale di clock, CK. Un segnale di caricamento, LOD. D u e gruppi di ingressi di 4 bit, (3, 2,, ) e (3, 2,, ) che accettano valori binari di 4 bit (3 e 3 sono i bit più significativi, e quelli meno significativi). Il circuito emette in uscita 4 segnali, U3, U2, U e U, su cui viene codificato un numero binario di 4 bit; (U3 è il bit più significativo, U quello meno significativo). Completare l unità di elaborazione che permette di ottenere questo comportamento, assumendo di avere a disposizione, oltre ai componenti di base, anche un sottrattore ed un divisore di numeri positivi. 7 36