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

Documenti analoghi
Arithmetic Logic Unit

Circuti AND, OR, NOT Porte logiche AND

Architettura degli Elaboratori

Architettura degli Elaboratori A Modulo 2

circuiti combinatori: ALU

Circuiti Sequenziali

Circuiti combinatori ALU

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

Addizionatori: metodo Carry-Lookahead. Costruzione di circuiti combinatori. Standard IEEE754

Circuiti integrati. Circuiti combinatori ALU. Esempio di chip SSI. Circuiti combinatori

Memorie e circuiti sequenziali

Architettura degli Elaboratori e Laboratorio. Matteo Manzali Università degli Studi di Ferrara Anno Accademico

Calcolatori Elettronici

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

Arch. Elab. - S. Orlando 2. circuiti comunemente incontrati nel progetto di un computer. Con tecnologia MSI, gli IC contenevano alcuni componenti base

Reti logiche (2) Circuiti sequenziali

Memorie e circuiti sequenziali. Elementi di memoria

Reti logiche (2) Circuiti sequenziali

LSS Reti Logiche: circuiti sequenziali

Livello logico digitale

Algebra e circuiti elettronici

Reti combinatorie. Reti combinatorie (segue)

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

Il processore: unità di elaborazione

senza stato una ed una sola

Arch. Elab. - S. Orlando 2. Possiamo organizzare le porte logiche in modo da realizzare un elemento di

ESERCITAZIONE 4.5. Approfondimento Circuiti Logici e Sequenziali

Progettazione dell unità di elaborazioni dati e prestazioni. Il processore: unità di elaborazione. I passi per progettare un processore

Calcolatori Elettronici

$GGL]LRQDWRULPHWRGR &DUU\/RRNDKHDG

I circuiti sequenziali

Elementi di memoria. Memorie e circuiti sequenziali. Latch. Set / Reset del latch

Università degli Studi di Cassino e del Lazio Meridionale Corso di Calcolatori Elettronici Elementi di memoria e Registri

Logica binaria. Cap. 1.1 e 2.1 dispensa

Il Livello Logico-Digitale. Blocchi funzionali combinatori

LOGICA SEQUENZIALE. Un blocco di logica puramente combinatoria è un. blocco con N variabili di ingresso e M variabili di uscita

Università degli Studi di Cassino

Circuiti sincroni circuiti sequenziali:bistabili e latch

Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Appello del 25 Febbraio Attenzione:

Architettura degli Elaboratori A Modulo 2

Architettura degli Elaboratori

una rete combinatoria è un circuito logico avente n ingressi (x 1

Calcolatori Elettronici B a.a. 2004/2005

AXO Architettura dei Calcolatori e Sistemi Operativi. reti sequenziali

I bistabili ed il register file

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

Elementi di memoria Ciascuno di questi circuiti è caratterizzato dalle seguenti proprietà:

Esercizi Logica Digitale,Circuiti e Bus

Processore. Memoria I/O. Control (Parte di controllo) Datapath (Parte operativa)

Processore. Memoria I/O. Control (Parte di controllo) Datapath (Parte operativa)

Corso di Calcolatori Elettronici I Elementi di memoria ing. Alessandro Cilardo

Esercitazione 03. Memorie e Registri. Gianluca Brilli 03/05/19 ARCHITETTURA DEI CALCOLATORI 1

Architettura degli Elaboratori Lez. 8 CPU MIPS a 1 colpo di clock. Prof. Andrea Sterbini

Unità Aritmetico-Logica

Architettura degli Elaboratori. Davide Bertozzi Dipartimento di Ingegneria Università of Ferrara. Componenti Combinatori Standard

Esercitazione del 26/03/ Soluzioni

Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Appello del 20 Giugno Attenzione:

Circuiti sincroni Circuiti sequenziali: i bistabili

Calcolatori Elettronici

Università degli Studi di Cassino

Processore. Memoria I/O. Control (Parte di controllo) Datapath (Parte operativa)

I flip-flop ed il register file. Sommario

Elementi di informatica

Logica Sequenziale. Modulo 5

AB=AB. Porte logiche elementari. Livello fisico. Universalità delle porte NAND. Elementi di memoria: flip-flop e registri AA= A. Porta NAND.

Componenti notevoli combinatori

ALU + Bistabili. Sommario

ALU + Bistabili. Prof. Alberto Borghese Dipartimento di Informatica Università degli Studi di Milano

Prima prova intercorso. Lezione 10 Logica Digitale (4) Dove siamo nel corso. Un quadro della situazione

Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Appello dell 11 Settembre Attenzione:

Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Appello del 19 Febbraio Attenzione:

Il Processore: l Unità di Controllo della ALU Barbara Masucci

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

Circuiti sequenziali e latch

Elementi base per la realizzazione dell unità di calcolo

Corso di Informatica

Macchine sequenziali

Circuiti combinatori notevoli

Flip-Flop. Tipo Set/Reset. É il tipo più semplice di circuito sequenziale. Una realizzazione in logica NOR é rappresentata in figura:

Introduzione all'architettura dei Calcolatori. Maurizio Palesi

PROVA SCRITTA DEL MODULO DI. 16 gennaio 2017

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

Architetture 1 AA Canale EO Andrea Sterbini 26 Gennaio Parte 1

Architettura degli elaboratori CPU a ciclo singolo

CALCOLATORI ELETTRONICI 25 giugno 2018

Appunti di informatica. Lezione 3 anno accademico Mario Verdicchio

I Bistabili. Maurizio Palesi. Maurizio Palesi 1

La macchina di Von Neumann. UNIVERSITÀ DEGLI STUDI DEL SANNIO Benevento DING DIPARTIMENTO DI INGEGNERIA CORSO DI "PROGRAMMAZIONE I"

Architettura hardware

Algebra di Boole e reti logiche. 6 ottobre 2017

Rappresentazione dell informazione

Cenni alle reti logiche. Luigi Palopoli

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

Microelettronica Corso introduttivo di progettazione di sistemi embedded

Un contatore è un registro che evolve secondo una sequenza predefinita di stati ordinati all applicazione di un impulso di ingresso

Un quadro della situazione. Lezione 9 Logica Digitale (3) Dove siamo nel corso. Organizzazione della lezione. Dove siamo. Dove stiamo andando..

Transcript:

Decoder Circuito combinatorio con n input e 2 n output Traduce gli n bit di input nell equivalente valore binario, e abilita a 1 l uscita corrispondente, mentre le altre uscite sono disabilitate a 0 Esiste anche l encoder, che esegue l operazione inversa Esempio di un decoder a 3 bit:

Multiplexer Due insiemi di input n input dati log 2 n input selettori L output corrisponde al valore del dato di input selezionato dai valori dei selettori di input Multiplexer 2 a 1 (a 1 bit) e sua implementazione Multiplexer 2 a 1 (a 32 bit) e sua implementazione

Arithmetic Logic Unit Circuito combinatorio all interno del processore per l esecuzione di istruzioni macchina di tipo aritmetico/ logiche (e di confronto) Quindi l ALU deve essere in grado di eseguire: somme (add) sottrazioni (sub) istruzioni di confronto (slt, beq, bne) funzioni logiche (and, or) Vediamo come è costruita una semplice ALU

Addizionatore L ALU deve includere un addizionatore per realizzare le somme di numeri interi in complemento a 2 Potremmo costruire un unico circuito combinatorio che implementa un addizionatore a n bit dati 2n input: A n-1 A 0 B n-1 B 0 n+1 diverse funzioni di output: Rip C n-1 C 0 solo due livelli di logica, ma con porte AND e OR con molti input fan-in delle porte molto elevato (non ammissibile) Soluzione di compromesso, basata su una serie di 1-bit adder collegati in sequenza il segnale deve attraversare più livelli di logica porte con fan-in limitato (ammissibile) circuito che usa lo stesso metodo usato dall algoritmo carta e penna a cui siamo abituati

Addizionatore a singolo bit A B Rip Sum Rip_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 1 1 1 1 1 Rip Rip AB 0 1 AB 0 00 01 11 10 0 1 0 1 1 0 1 0 Sum 00 01 11 10 0 0 1 0 1 0 1 1 1 Sum = ~A ~B Rip + ~A B ~Rip + A B Rip + A ~B ~Rip Rip_out Rip_out = Rip B + A B + Rip A

Porta XOR La funzione Sum non può essere semplificata ben 4 porte AND La costruzione di un addizionassero a 1 bit diventa più semplice impiegando porte XOR funzione logica che vale 0 (F) se entrambi gli ingressi sono uguali, ovvero entrambi 0 (F) o entrambi 1 (T) esempio di or esclusivo (XOR) nel linguaggio comune: o rimango a casa oppure vado al cinema A B XOR 0 0 0 0 1 1 1 0 1 1 1 0

Addizionatore a 1 bit e XOR Visto che la somma tra una coppia di bit A e B si esprime con A xor B abbiamo: Sum = A xor B xor Rip Rip_out = A B + (A xor B) Rip A B Rip Sum Rip_out 0 0 0 0 0 0 0 1 1 0 A B Rip Sum 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 1 1 1 1 1 Rip_out

1-bit ALU 1-bit ALU usata per eseguire le istruzioni macchina seguenti: and $2, $3, $4 or $2, $3, $4 CarryIn Operation add $2, $3, $4 Operation è un segnale di controllo a 2 bit usato per selezionare quale ingresso del multiplexer deve uscire a 0 1 Result determina il tipo di operazione che l ALU deve eseguire l ALU è la tipica componente che fa parte del Datapath (Parte Operativa) del processore La Parte Controllo comanda l esecuzione delle varie istruzioni settando opportunamente i segnali di controllo dell ALU (e delle altre componenti della Parte operativa) b CarryOut 2

32-bit ALU catena di 1-bit ALU con propagazione del Carry segnali di controllo per determinare l operazione che l ALU deve eseguire Operation: propagato a tutte le 1-bit ALU

Sottrazione La 1-bit ALU precedente può essere resa più complessa per poter eseguire: sub $2, $3, $4 Operazione di sottrazione: $2 = $3 - $4 trasformata in: $2 = $3 + (-$4) (-$4) significa che bisogna prima determinare l opposto (il complemento a 2) del numero signed contenuto in $4 il complemento a 2 si ottiene 1. effettuando l inversione (complemento a 1 bit-a-bit) 2. sommando 1 l ALU deve quindi possedere i circuiti predisposti per invertire il secondo operando e sommare 1 per sommare 1, basta porre ad 1 il carry-in dell ALU Binvert Operation Istruzione 0 00 and 0 01 or 0 10 sum 1 11 sub

Componente ALU Simbolo usato per rappresentare la componente ALU nel progetto della CPU. ALU operation comprende i segnali di controllo Bnegate e Operation.

Circuiti Sequenziali I circuiti combinatori sono in grado di calcolare funzioni che dipendono solo dai dati in input I circuiti sequenziali sono invece in grado di calcolare funzioni che dipendono anche da uno stato, cioè che dipendono anche da informazioni memorizzate in elementi di memoria interni In generale, la funzione calcolata dal circuito sequenziale ad un dato istante dipende dalla sequenza temporale dei valori in input al circuito La sequenza temporale determina infatti il valore memorizzato nello stato

SR Latch L SR Latch è un circuito, composto da 2 porte NOR concatenate, che costituisce l elemento base per costruire elementi di memoria più complessi Anche se (S,R)=(0,0), gli output del latch possono comunque essere diversi L output è il valore memorizzato nel latch Verificare infatti che il latch a sinistra memorizza il valore 0, mentre quello a destra memorizza il valore 1 Non c è clock

SR Latch 1 0 1 1 0 0 1 1 1 0 Poniamo (S,R)=(1,0) per effettuare il setting del latch a sinistra il valore memorizzato passa da 0 a 1 (e viene poi mantenuto riportando S=0) Poniamo (S,R)=(0,1) per effettuare il resetting del latch a destra il valore memorizzato passa da 1 a 0 (e viene poi mantenuto riportando R=0) La combinazione (S,R) = (0,0) viene detta combinazione di riposo, perché semplicemente mantiene il valore memorizzato in precedenza La combinazione di valori (S,R)=(1,1) non deve mai esser presentata al latch

SR Latch L SR Latch è un circuito, composto da 2 porte NOR concatenate, che costituisce l elemento base per costruire elementi di memoria più complessi Anche se (S,R)=(0,0), gli output del latch possono comunque essere diversi L output è il valore memorizzato nel latch Verificare infatti che il latch a sinistra memorizza il valore 0, mentre quello a destra memorizza il valore 1 Non c è clock

Clock Il clock serve per decidere quando un elemento che contiene uno stato deve essere aggiornato Ci occuperemo di clock edge-triggered: tutti i cambiamenti di stato avvengono sui fronti di salita o discesa del segnale di clock Fronte in discesa Periodo di clock Fronte in salita I segnali in input devono essere validi (stabili) quando si incontra il fronte Il periodo di clock deve essere lungo a sufficienza per permettere ai segnali elettrici dei circuiti di andare a regime

Clock Se il periodo di clock T è espresso in sec Frequenza di clock: F = 1/T Hz (numero di cicli al secondo) Se T = 10 nsec, qual è la frequenza del clock? 1 nsec = 10-9 sec 1 µsec = 10-6 sec 1 msec = 10-3 sec Freq = 1/T = 1 / ( 10 x 10-9 ) = 10 8 Hz = 10 2 x 10 6 Hz = 100 MHz Se T = 1 nsec, qual è la frequenza del clock? 1 nsec = 10-9 sec Freq = 1/T = 1/10-9 = 10 9 Hz = 1 GHz

D Latch D =1 corrisponde al setting: S=1 e R=0 D = 0 corrisponde al resetting: S=0 e R=1 La combinazione S=1 e R=1 non può mai verificarsi A causa delle 2 porte AND, quando il clock è deasserted abbiamo che nel latch non viene memorizzato alcun valore: S=0 e R=0 (viene mantenuto il valore precedentemente memorizzato) Viene memorizzato un valore (in dipendenza del valore di D) solo quando il clock è asserted Se il segnale C fosse invertito (porta NOT aggiuntiva), il latch memorizzerebbe sul valore basso del clock (cioè quando il clock è deasserted) Quando il clock è asserted, qualsiasi cambiamento di D viene propagato in uscita (trasparenza) Un elemento di memoria edge-triggered è chiamato flip-flop. Come realizzarlo?

D Flip-Flop D C Q Q Q Serie 2 D-latch: il primo viene detto master e il secondo slave Falling triggered: per semplicità, possiamo pensare che la memorizzazione avvenga in maniera istantanea su fronte di discesa del clock C D setup time C ritardo hold time Q Q

Circuito con memoria Durante ogni periodo di clock il circuito combinatorio dovrebbe calcolare una funzione sulla base dell attuale valore dell elemento di memoria (stato del circuito) l output calcolato dovrebbe diventare il nuovo valore da memorizzare nell elemento di memoria (nuovo stato del circuito) il nuovo valore memorizzato dovrebbe essere usato come input del circuito durante il ciclo di clock successivo l elemento di memoria deve essere usato sia come input che come output durante lo stesso ciclo di clock elemento di memoria circuito combinatorio

Registri Ogni registro è costituito da n flipflop, dove n è il numero bit che costituiscono una word D 32 D C Q 32 Q Più registri sono organizzati in una componente nota come register file Il clock non entra direttamente nei vari flip-flop, ma viene messo in AND D 0 D C Q Q 0 con un segnale di controllo: write Il segnale determina se, in D 2 D C Q Q 1 corrispondenza del fronte di discesa del clock, il valore di D debba (o meno) essere memorizzato nel registro D n-1 D C Q Q n-1

Register File

Lettura dal Register File Il Register file fornisce sempre in output una coppia di registri Non significativi, se i controlli non lo sono In tal caso, i circuiti che potenzialmente potrebbero usarli, devono ignorali

Scrittura nel Register File Decoder 5 a 32 per il segnale di scelta del registro Il segnale Write (in AND con il clock) abilita solo uno dei 32 registri Se il segnale di Write è non affermato, i possibili valori spuri in input non verranno memorizzati nel Register file