Circuiti digitali. Parte III. Logica Digitale e Memorie. Funzioni logiche (booleane) Tavola della verità

Documenti analoghi
Parte III. Logica Digitale e Memorie

Parte III. Logica Digitale e Memorie

Calcolatori Elettronici Parte IV: Logica Digitale e Memorie

Logica Digitale. Fondamenti di Informatica - Prof. Gregorio Cosentino

Calcolatori Elettronici Parte IV: Logica Digitale e Memorie. Prof. Riccardo Torlone Università di Roma Tre

Logica Digitale. Fondamenti Informatica 2 - Prof. Gregorio Cosentino

Clock. Corso di Architettura degli Elaboratori. Architetture degli Elaboratori. Circuiti combinatori e sequenziali.

Clock. Corso di Architettura degli Elaboratori. Latch di tipo SR. Circuiti combinatori e sequenziali. Il livello logico digitale: Memoria

Calcolatori Elettronici Parte IV: Logica Digitale e Memorie

Clock. Corso di Architettura degli Elaboratori. Architetture degli Elaboratori. Latch di tipo SR sincronizzato. Latch di tipo SR

Memorie Corso di Calcolatori Elettronici A 2007/2008 Sito Web: Prof. G. Quarella

Reti logiche (2) Circuiti sequenziali

Parte III. Logica Digitale, Memorie, Microprocessori e Bus

Reti logiche (2) Circuiti sequenziali

Università degli Studi di Cassino e del Lazio Meridionale

Arithmetic Logic Unit

Memorie a semiconduttore

Memorie elettroniche. 1. Parametri delle memorie

DIAGRAMMI TEMPORALI relativi all'esecuzione di una istruzione e agli accessi alla memoria:

Corso di Architettura degli Elaboratori. Porte logiche (I) Architetture degli Elaboratori. Porte logiche (III) Porte logiche (II)

FONDAMENTI DI INFORMATICA. Prof. PIER LUCA MONTESSORO. Facoltà di Ingegneria Università degli Studi di Udine. Reti logiche

senza stato una ed una sola

Circuiti e reti combinatorie. Appendice A (libro italiano) + dispense

Porte logiche di base. Cenni circuiti, reti combinatorie, reti sequenziali

Il Sottosistema di Memoria

Porte logiche. Porte logiche. Corso di Architettura degli Elaboratori. Algebra Booleana

La memoria - tecnologie

Livello logico digitale bus e memorie

Il quadro di insieme. Tecnologie per la memoria e gerarchie di memoria. Un ripasso: latch D e flip-flop D. Un ripasso: clock

Il Sottosistema di Memoria

Circuiti digitali Architettura 2002

Moduli combinatori Barbara Masucci

MEMORIE AD ACCESSO CASUALE

Costruire memorie ancora più grandi

La memoria - tecnologie

DIAGRAMMI TEMPORALI relativi all'esecuzione di una istruzione e agli accessi alla memoria:

Architettura di un elaboratore

Architettura di un elaboratore

La memoria - tecnologie

Parte III. Logica Digitale, Memorie, Microprocessori e Bus. Calcolatori Elettronici (5 crediti) Prof.G.Cosentino III.1

Calcolatori Elettronici B a.a. 2004/2005

Un quadro della situazione

Architettura di un elaboratore

Architettura Single Channel

La memoria centrale di un calcolatore

Il Sottosistema di Memoria

CALCOLATORI ELETTRONICI. I dispositivi di memoria

Porte logiche di base. Cenni circuiti, reti combinatorie, reti sequenziali

Reti combinatorie. Reti combinatorie (segue)

Reti combinatorie (segue) Reti combinatorie. Lezione 2. Architettura degli Elaboratori A. Sperduti 1

Multiplexer. Multiplexer 2 a 1 (a 1 bit) e sua implementazione. Multiplexer 2 a 1 (a 32 bit) e sua implementazione

Parte III Logica Digitale, Memorie, Microprocessori e Bus

Fondamenti di Informatica

Lezione 22 La Memoria Interna (1)

Funzioni, espressioni e schemi logici

PORTE LOGICHE. Si effettua su due o più variabili, l uscita assume lo stato logico 1 se almeno una variabile di ingresso è allo stato logico 1.

Il Sottosistema di Memoria

Memorie a semiconduttore (1)

Circuiti combinatori notevoli

Circuiti combinatori ALU

Implementazione di circuiti

Logica binaria. Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna

Il livello logico digitale

Algebra e circuiti elettronici

Architettura dei computer

PSPICE simulazione di circuiti digitali Flip Flop M/S, Moltiplicatore parallelo, Memoria SRAM, sommatore, comparatore

anno scolastico 2009 / 2010 ELETTRONICA per Elettrotecnica ed Automazione

Dal sistema operativo all' hardware

MEMORIE. Una panoramica sulle tipologie e sulle caratteristiche dei dispositivi di memoria

A cosa servono i moltiplicatori? Tanti algoritmi prevedono l utilizzo di moltiplicazioni!

Fondamenti di Informatica B

Sintesi Calcolatori Elettronici

Memorie e circuiti sequenziali

Livello logico digitale

LE MEMORIE. Prof. CAPEZIO Francesco. Quest'opera è soggetta alla licenza Creative Commons Attribuzione Non Commerciale

Logica binaria. Cap. 1.1 e 2.1 dispensa

ESERCITAZIONE 4.5. Approfondimento Circuiti Logici e Sequenziali

Le Memorie. Classe III Telecomunicazioni Sistemi e Reti. Prof. Tullio Parcesepe

SisElnF1 17/12/2002. E CIRCUITI COMBINATORI E SEQUENZIALI E1 Circuiti combinatori

SisElnF1 12/21/01. F CIRCUITI COMBINATORI E SEQUENZIALI F1 Circuiti combinatori

Memorie e circuiti sequenziali. Elementi di memoria

Architettura degli Elaboratori

Elettronica Digitale. 1. Sistema binario 2. Rappresentazione di numeri 3. Algebra Booleana 4. Assiomi A. Booleana 5. Porte Logiche OR AND NOT

Laboratorio di Architettura degli Elaboratori A.A. 2016/17 Circuiti Logici

Soluzione Esercizio 1

L organizzazione interna della memoria e del banco di registri prevedono generalmente che le uscite di 2 o più componenti

Circuiti sequenziali. Circuiti sequenziali e applicazioni

ESERCITAZIONE 2. Algebre di Boole e funzioni logiche Circuiti combinatori e sequenziali

La logica Cuniberti cucchi-vol.1 Segnali elettrici. Segnale analogico

Calcolatori Elettronici

Architettura. Argomenti. Modello di Von Neumann. Corso di Laurea in Ingegneria Biomedica aa 2003/2004. Ing. Antonio Coronato. Modello di Von Neumann

Il livello logico digitale

Operatori logici e algebra di boole

Struttura di un elaboratore

AXO Architettura dei Calcolatori e Sistemi Operativi. reti sequenziali

Algebra di Boole e reti logiche. 6 ottobre 2017

Architettura dei calcolatori

Transcript:

Circuiti digitali Parte III Logica Digitale e Memorie INGRESSI i 1 i n CIRCUITO DIGITALE Circuiti elettronici i cui ingressi e le cui uscite assumono solo due livelli Al circuito sono associate le funzioni che calcolano le uscite a partire dagli ingressi o 1 = f 1 (i 1,.,i n ). o m = f m (i 1,.,i n ) o 1 o m USCITE III.1 III.2 Funzioni logiche (booleane) Tavola della verità y = f(x 1,,x n ) y,x 1,,x n {0,1} {0,1} n {0,1} f Sia le variabili indipendenti che la variabile dipendente sono booleane Le variabili booleane sono definite in un dominio con due soli valori possibili: FALSO { 0, 1} {F, T} VERO FALSE TRUE x 1 x 2 x n-1 x n f 0 0.. 0 0 0 0 0.. 0 1 1..... 1 1.. 1 1 0 Una funzione booleana è rappresentabile tramite la sua tavola della verità La tavola della verità specifica i punti in cui la funzione assume valore 1 (cioè vero) 2 n combinazioni di ingresso 2 2 n funzioni distinte di n variabili III.3 III.4

Funzioni booleane (esempi) Algebra circuitale (algebra booleana) Con n=1 si hanno 4 funzioni: x 1 f 0 f 1 f 2 f 3 0 0 0 1 1 (f 2 è detta NOT) 1 0 1 0 1 Con n=2 si hanno 16 funzioni distinte, tra cui: È una struttura algebrica (insieme più operatori) Reticolo distributivo complementato Insieme: I = { 0,1 } Operatori: AND, OR Complementazione: NOT x 1 x 2 f 0 f 1 f 2 f 3 f 4 f 5 f 6 f 7 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1 1 1 0 0 0 1 1 0 0 1 1 1 1 0 1 0 1 0 1 0 1 Le funzione f 1 è detta AND a funzione f 7 è detta OR Notazione Se x e y sono due variabili booleane: L AND di x e y si indica con x y L OR di x e y si indica con x + y Il NOT di x si indica con x III.5 III.6 Proprietà dell algebra booleana Espressioni algebriche Teor.: ogni funzione booleana è algebrica, cioè rappresentabile con un espressione dell algebra Prima Forma Canonica f = j=1..m i=1..n x ij * x ij* vale x i oppure x i f è espressa come OR di tutte le combinazioni per cui la funzione assume valore vero (somma di mintermini) Qualsiasi funzione booleana può essere messa in prima forma canonica III.7 III.8

Funzioni booleane (esempio) Porte logiche Tre variabili booleane A, B, C Funzione di maggioranza M: è vera solo se almeno due delle tre variabili sono vere Circuiti elementari che realizzano gli operatori dell algebra Le porte logiche vengono realizzate con circuiti elettronici: ABC ABC ABC ABC M = ABC + ABC + ABC + ABC NOT NAND NOR III.9 III.10 Circuiti logici Esempio: funzione di maggioranza Tutte le funzioni booleane sono algebriche Un espressione algebrica comprende solo operatori dell algebra di Boole: AND, OR, NOT M = ABC + ABC + ABC + ABC Qualsiasi funzione booleana può essere calcolata con un circuito realizzato con sole porte AND, OR e NOT Ogni funzione booleana può essere messa in prima forma canonica È immediato passare dalla prima forma canonica al circuito logico che la calcola III.11 III.12

Porte NAND e NOR Porta XOR È possibile simulare AND, OR e NOT, e quindi realizzare qualsiasi circuito, usando soli NAND oppure soli NOR Calcola la funzione OR Esclusivo: dà uscita 1 (vero) quando uno solo degli ingressi (ma non entrambi) vale 1 Facilmente realizzabile con porte AND, OR e NAND III.13 III.14 Circuiti integrati Circuiti combinatori Circuiti in cui l uscita dipende solo dagli ingressi, e non dallo stato cioè dalla storia passata Molte porte realizzate sulla stessa piastrina di silicio (chip) Contenitori da 14 a 68 piedini Vari livelli di integrazione: SSI (Small Scale) 1-10 porte MSI (Medium Scale) 10-100 LSI (Large Scale) 10 2-10 5 VLSI (Very Large Sc.) > 10 5 Tempi di commutazione 1-20 ns a seconda della tecnologia ESEMPIO n INGRESSI DI CONTROLLO 2 n INGRESSI CONTROLLATI... MULTIPLEXER UNA USCITA Gli ingressi di controllo selezionano quale degli ingressi controllati viene mandato in uscita III.15 III.16

Multiplexer (circuito) Calcolo di funzioni tramite multiplexer Con un multiplexer ad n si può calcolare qualsiasi funzione di n variabili booleane Gli ingressi controllati corrispondono ai mintermini Si cablano a 0 o 1, a seconda che il mintermine compaia o meno nella forma canonica ESEMPIO: Funzione di maggioranza III.17 III.18 Decodificatore Comparatore Circuito a n ingressi e 2 n uscite Una ed una sola delle 2 n uscite assume valore vero in corrispondenza a ciascuna delle 2 n configurazioni di ingresso Compara i bit omologhi di due stringhe L'uscita vale 1 se e solo se A i =B i i Se A i =B i allora A i XOR B i = 0 Il NOR dà uscita 1 solo quando tutti i suoi ingressi valgono 0 III.19 III.20

Programmable Logic Arrays (PLA) Permette di realizzare una qualsiasi funzione (in prima forma canonica) Circuito configurabile tramite bruciatura (interruzione) di connessioni Permette di calcolare più funzioni Due sezioni nel circuito: A) Generazione di un insieme di mintermini B) Selezione dei mintermini da inviare a ciascuna delle uscite Limitazioni Numero limitato di mintermini generati << 2 n Numero limitato di mintermini in ingresso a ciascuno degli OR di uscita PLA: realizzazione circuitale Genera 6 funzioni di 12 variabili; massimo 50 mintermini (su 4096) III.21 III.22 Semiaddizionatore (half adder) Addizionatore completo (full adder) Circuito a 2 ingressi e 2 uscite: somma e riporto (carry) Non può essere usato per la somma di numerali a più bit, dove occorre sommare anche il riporto della cifra precedente Circuito a 3 ingressi e 2 uscite Riceve il riporto dalla cifra precedente III.23 III.24

ALU a 1 bit (bit slice) ALU a 1 bit (continua) Costituisce il modulo base (slice) con cui sono realizzate Unità Aritmetico Logiche (ALU) per operandi a n bit Gli ingressi A e B sono bit omologhi degli operandi Gli ingressi F 0 e F 1 selezionano la funzione calcolata: 00: AND 01: OR 10: NOT 11: SUM Gli ingressi ENA ed ENB sono segnali di enable INVA permette di negare l ingresso A Valore di default ENA=ENB=1 e INVA=0 Le uscite sono due: Out per il risultato e Carry per il riporto III.25 III.26 ALU a n bit Circuiti sequenziali i 1 o 1 INGRESSI s 1. s r STATO DEL CIRCUITO USCITE i n o m Realizzata connettendo n ALU ad 1 bit (bit slices) Problema: propagazione dei riporti Ciascuno stadio deve attendere il riporto dal precedente Tempo di addizione lineare con n Nessun ritardo per le altre operazioni L ingresso INC incrementa la somma di 1 (A+1, A+B+1) Sono circuiti in cui i valori delle uscite del circuito non dipendono solo dai valori attuali degli ingressi ma anche dai loro valori precedenti, cioè dalla storia passata o i = f i ( i 1,...,i n,s 1,,s r ) i=1,,m s i =g i ( i 1,...,i n,s 1,,s r ) j=1,,r III.27 III.28

Circuiti sequenziali (continua) Clock o i = f i ( i 1,...,i n,s 1,,s r ) i=1,,m s i =g i ( i 1,...,i n,s 1,,s r ) j=1,,r Le uscite o i del circuito dipendono dagli ingressi attuali e dalla storia passata La storia passata è riassunta nello stato del circuito Lo stato è codificato tramite variabili di stato booleane s 1,,s r (r variabili di stato codificano 2 r stati) Realizzazione del circuito: Le variabili di stato s i sono memorizzate in elementi di memoria binari Circuiti combinatori calcolano le uscite e il nuovo valore dello stato I cambiamenti di stato del circuito vengono sincronizzati da un segnale (clock) Da un clock primario ne possono essere ricavati altri per sfasatura, sottrazione ecc. Le transizioni di stato del circuito possono avvenire: A) In corrispondenza dei livelli B) In corrispondenza dei fronti III.29 III.30 Latch RS Latch con clock Dispositivo di memoria elementare Due stati stabili Q=0 e Q=1 S (SET): forza Q a 1 R (RESET): forza Q a 0 Con S=R=0 il circuito mantiene lo stato Il circuito commuta sui livelli cioè quando S o R passano a 1 S ed R non devono mai andare insieme ad 1 I segnali R ed S vengono trasferiti sugli ingressi del latch solo quando il clock è ad 1 Quando il clock è a 0 gi segnali R ed S vengono ignorati Il filtro del clock consente di non influenzare il latch con i transitori dei circuiti che calcolano i segnali R ed S III.31 III.32

Latch D (Delay) Latch e Flip-Flop C è un solo ingresso D (i segnali R e S sono sempre uno il negato dell altro) Quando il clock va ad 1 il latch registra nello stato Q il valore dell ingresso D (da cui il nome Delay, cioè ritardo) Evita il verificarsi della situazione scorretta R=S=1 Semplifica la realizzazione dei circuiti, perché è necessario un solo segnale di eccitazione (D) a) b) I Latch commutano sui livelli del clock ( a) alto, b) basso) c) d) I Flip-Flop commutano sui fronti del clock: c) Commuta sul fronte di salita d) Commuta sul fronte di discesa III.33 III.34 Registri Organizzazione della memoria I Flip-Flop sono gli elementi base di memorizzazione I registri sono insiemi di Flip-Flop: memorizzano parole di n bit Molti Flip-Flop possono essere messi su un unico chip Occorrono in genere da 6 a 10 transistor per ogni Flip-Flop III.35 III.36

Segnali di ingresso e di uscita Memoria da 4 celle di 3 bit ciascuna I flip-flop di ogni riga rappresentano una cella Segnali di ingresso e di uscita: A 0, A 1 indirizzo della parola letta o scritta; selezionano una parola, abilitando riga di flip-flop I 0, I 1, I 2 dati da immagazzinare in scrittura RD=1: lettura; RD=0 scrittura CS (chip select) trigger per la lettura e la scrittura; in AND con RD=0 e con il segnale di abilitazione sulla riga generano il fronte del clock che causa la scrittura I 0, I 1, I 2 nei flip-flop OE abilita il trasferimento dei dati in uscita, attivando i dispositivi a tre stati O 0, O 1, O 2 uscite di lettura, abilitate dai dispositivi a tre stati Dispositivi a 3 stati In base ad un segnale di controllo C si comporta: (b) C=1: come circuito chiuso (c) C=0: come circuito aperto Tempo di commutazione: pochi nsec Consente di usare gli stessi piedini sia per la lettura che per scrittura Usato anche per la connessione ai bus e a qualsiasi linea bidirezionale III.37 III.38 Chip di memoria Chip di memoria: numero di piedini CS OE WE CHIP DI MEMORIA n m.. log 2 n LINEE INDIRIZZO Occorre un grande numero di piedini nel chip m linee dati (per parole di m bit) log 2 n linee di indirizzo per n parole di memoria segnali di controllo e alimentazione m LINEE DATI IN/OUT ESEMPIO Chip da 256 MByte Chip da n m bit complessivi m linee dati bidirezionali log 2 n linee di indirizzo Segnali di controllo: CS: Chip Select, seleziona il chip interessato OE Output Enable, abilita la lettura delle uscite WE Write Enable, specifica tra lettura e scrittura m=8 linee dati log 2 256 M= 28 linee indirizzo 3+2 linee di controllo e alimentazione totale 41 piedini: troppi Soluzione m=1: memorie bit slice Decodifica a matrice: riduce linee di indirizzo III.39 III.40

Matrice bidimensionale di selezione Matrice di selezione Le celle di memoria elementari sono organizzate secondo un array bidimensionale Ciascuna cella è individuata da un indirizzo di riga e da un indirizzo di colonna Per 2 m celle occorrono 2 m/2 righe e 2 m/2 colonne Indirizzi di riga e colonna inviati in sequenza Si dimezzano i piedini e si risparmia nella complessità della logica di decodifica Un decoder m 2 m richiede 2 m porte AND ESEMPIO 4M parole (m=22) 22 linee di indirizzo 1 decoder a 22 4M porte AND 2 decoder a 11 2 2 11 = 4k porte AND 1/2 log 2 n DECODER 1/2 log n n log 2 n DECODER 1/2 log n n 1/2 log 2 n = log 2 n III.41 III.42 Chip di memoria: esempio Schede di memoria RAS (Row Address Strobe), CAS (Column Address Strobe) Indirizzi di riga e di colonna multiplexati sugli stessi piedini 11 RAS + 11 CAS = 22 indirizzi 2 22 = 4096K III.43 La scheda memorizza n parole di 8+1 bit Si usano n+1 chip se si vuole il controllo di parità Bit di parità gestito dal controller della memoria III.44

Moduli DIMM DIMM da 2 GB Connettore DIMM (Double Inline Memory Module) 168 piedini, 64 bit (8 byte), 16 chip, 2-16 GByte Il controller gestisce più DIMM Ogni DIMM informa il controller della sua dimensione (segnali su certi piedini) Il controller determina al momento del boot il tipo di RAM Dall indirizzo e dalla configurazione il controller calcola a quale DIMM mandare il segnale di Chip Select Chip da 128 MB III.45 Tassonomia delle memorie RAM (Random Access Memory) SRAM (Static RAM): a Flip-Flop, molto veloce (~5nsec) DRAM (Dynamic RAM): basata su capacità parassite; richiede refresh, alta densità, basso costo (~30 nsec) FPM: selezione a matrice EDO: (Extended Data Output) lettura in pipeline, più banda SDRAM (Synchronous DRAM): sincrona, prestazioni migliori ROM (Read Only Memory) PROM (Programmable ROM) EPROM (Erasable PROM) raggi UV EEPROM: cancellabile elettricamente Flash Memory: particolare tipo di EEPROM, ciclo 100nsec, max 10.000 riscritture III.46 Tipi di memorie e loro impieghi Memorie SDRAM e DDR Solo le memorie ROM, PROM, EPROM, EEPROM e Flash mantengono il loro contenuto in assenza di alimentazione: le altre (SRAM, DRAM etc.) sono volatili Le memorie SDRAM sono sincrone cioè comandate dal clock Il clock elimina la necessità di alcuni segnali di sincronismo Le più moderne SDRAM sono anche DDR (Double Data Rate) Le DDR raddoppiano la banda trasferendo dati sia sul fronte di salita che su quello di discesa del clock Per una frequenza di 100 MHz a gruppi di 8 byte: Banda di picco = 100 MHz x 2 x 8 byte = 1600 MB/s III.47 III.48

DDR-2 e DDR-3 Tecnologia Dual Channel DESKTOP LAPTOP DDR 184 pin 200 pin DDR2 240 pin 200 pin DDR3 240 pin 204 pin SO-DIMM per laptop Il fattore limitante è la frequenza di lavoro della memoria La banda dipende invece dalla frequenza del bus Nelle DDR2 la frequenza del bus è il doppio della memoria La memoria ha però maggiore pipelining interno 4 trasferimenti per ciclo di memoria, cioè due per ciclo di bus A parità di frequenza di bus ha la stessa banda di una DDR Ma si può alzare la frequenza di bus e aumentare la banda La DDR3 fa 8 trasferimenti per ciclo di memoria, e lavora a frequenza un quarto rispetto al bus Ciascun banco è composto da una coppia di DIMM che lavorano in parallelo Banda di picco DDR400 con clock del bus a 200 MHz: Banda = 200 MHz x 2 x 8 byte x 2 canali = 6400 MB/s = 6.4 GB/s III.49 III.50 SSD (Solid State Drive) SSD: tecnologie e prestazioni Sono dischi allo stato solido, senza parti meccaniche in movimento Realizzati con chip di memoria Assicurano: La persistenza dei dati (anche a computer spento) Grande capacità: centinaia di Gbyte Utilizzate due diverse tecnologie Memoria Flash La tecnologia assicura la persistenza Migliori degli HD nei tempi di accesso Peggiori degli HD nei tempi di trasferimento Migliore affidabilità e resistenza rispetto agli HD Disponibili nei formati standard da 2.5 e 3.5 (consumer) Problema: numero limitato di cicli (milioni di cicli) Memoria DRAM La tecnologia non assicura la persistenza: memoria volatile Elevatissime prestazioni: tempi di accesso di 0.01 ms, cioè 250 volte più veloci degli HD Persistenza garantita da batterie e sistema di backup interno Molto costosi: usati solo in server ad alte prestazioni III.51 III.52