Università di Modena e Reggio Emilia
Corso di laurea in ingegneria elettronica
Calcolatori elettronici
Mattia Valiante
Calcolatori elettronici
Reti logiche
- Rete logica: sistema digitale avente n segnali binari di ingresso ed m di uscita.
Differenza RLS e RLC
Combinatoria: ogni segnale di uscita dipende solo dai valori degli ingressi in quell'istante, è anche detta rete senza memoria; possono essere descritte in 7 modi diversi:
- Parole
- Tabella di verità
- Mappe
- Espressioni booleane
- Schema logico
- Forme d'onda
- Linguaggi di descrizione dell'hardware
Sequenziale: ogni segnale di uscita dipende dai valori degli ingressi in quell'istante e dallo STATO in quell'istante (stato = configurazione interna, riassume la sequenza degli ingressi precedenti); è detta anche rete con memoria.
Rappresentazione booleana di AND, OR, XOR (e negativi)
- AND (*) e NAND ('')
- OR (+) e NOR ('')
- XOR e XNOR
- NOT
Multiplexer e demultiplexer
DEMULTIPLEXER (o decoder) realizza la funzione di smistare un singolo input in una delle possibili n uscite; è una rete logica con 1 ingresso di dato, che poi viene smistato, n segnali di controllo e 2 alla n uscite.
MULTIPLEXER permette di deviare su un'unica uscita un segnale proveniente da uno tra gli n possibili ingressi; è una rete logica avente 2 alla n ingressi di tipo dati e n ingressi di tipo segnali di controllo ed 1 di uscita. È possibile costruire un multiplexer mettendo in cascata vari livelli di multiplexer più piccoli. AMPLIFICATORE TRISTATE
Half adder e full adder
HALF ADDER somma 2 bit in input restituendo l'eventuale riporto (carry).
FULL ADDER sommatore che tiene conto anche del riporto.
SOMMATORE A N BIT si ottiene mettendo in colonna n Full Adder, si avranno meno porte logiche ma meno performante, più lenta.
ALU rappresentazione (1 e 8 bit)
ALU (unità aritmetico logica) è un circuito combinatorio in grado di svolgere opportune operazioni (selezionabili mediante opportuni segnali) aritmetiche e/o logiche su due operandi. L'ALU fornisce in uscita il risultato e eventuali FLAG che descrivono il risultato (negativo/zero) o errori (overflow) o carry.
In generale i flag sono 4: C.O.N.Z. (Carry, Overflow, Negativo, Zero). Si ha OVERFLOW quando il numero non è rappresentabile con i bit a disposizione perché troppo grande, oppure se sommando due numeri positivi esce un numero negativo poiché i bit sono con segno (0111(7)+0001(1)=1000(-8)).
Flag:
- Carry: identifica un overflow con bit senza segno.
- Overflow: identifica un overflow con bit con segno.
ALU A 1 BIT svolge 4 operazioni: AND, OR, SOMMA, DIFFERENZA. Combinando le ALU a 1 bit è possibile realizzare una ALU a più bit; per esempio uno a 4 bit: L'ALU si può riassumere con un unico simbolo:
Bistabile disegno e spiegazione
Le reti sequenziali devono conservare memoria degli eventi passati nel proprio stato interno (STATO PRESENTE: stato interno attuale, STATO FUTURO: stato della rete logica in seguito alla variazione degli ingressi). Si dividono in:
- ASINCRONE: l'input modifica lo stato e l'output in qualsiasi istante.
- SINCRONE: l'input modifica lo stato e l'output solo in presenza di un opportuno evento di sincronizzazione (CLOCK).
Esistono dei blocchi elementari capaci di memorizzare lo stato attuale, questi sono chiamati memorie binarie o BISTABILI ASINCRONI. Questi permettono di memorizzare il valore di una variabile di stato binaria e di variare alla presenza di un'opportuna configurazione di ingresso.
BISTABILE S-R (SET-RESET): è una rete con due ingressi S e R e una uscita Q (ed una opposta Q#) tale che se Q=1 Q#=0 e S=1 R=0, mentre con S=R=0 non cambi nulla. Il caso S=R=1 non si verifica mai (questa quindi è considerata una funzione non completamente specificata).
LATCH S-R: Si differenzia dal bistabile perché in esso è presente un segnale di enable, se EN=0 tutto rimane nello stato corrente (stato di hold), mentre se EN=1 la rete è sensibile a cambiamenti di ingresso.
FLIP-FLOP S-R composto da 2 latch s-r con un unico clock.
D LATCH: memoria capace di mantenere costante l'uscita se il segnale di clock non è attivo e di cambiare l'uscita campionando l'ingresso quando il clock è attivo.
Il FLIP-FLOP D, che deriva da questo latch, è quello più usato per memorizzare segnali il cui valore è attivo solo in un certo periodo di tempo.
Differenza latch e flip-flop
In generale si definisce un LATCH come un bistabile asincrono, capace di memorizzare o meno segnali di ingresso in funzione di un segnale di abilitazione.
Il FLIP-FLOP è un dispositivo bistabile sincrono in cui il cambiamento della uscita non è conseguenza del cambiamento dell'ingresso di dato ma è conseguenza del cambiamento di un ingresso di controllo sincrono (clock) o asincrono (preset o clear). Si dividono in:
- S-R LATCH
- FLIP-FLOP T: Molto usati all'interno dei contatori o per ricordare l'evoluzione di un contesto interno al sistema di elaborazione di due stati possibili. Si forma con un flip-flop jk.
- FLIP-FLOP JK e D: Nei JK non c'è più il problema dell'ingresso proibito (11), vengono usati per il campionamento dei dati, per realizzare funzioni più complesse con meno logica esterna. JK e D sono i più usati.
Automa a stati finiti (Moore e Mealy)
Reti sequenziali con un numero finito di stati. G e F sono reti logiche combinatorie (esempio: alza la mano quando escono tre 1).
L'elemento di memoria è collegato ad un clock che ha il fronte di salita solo quando tutto è stabile. ASF è sincrono.
Amplificatore tristate, registri e memorie
Strumento che permette il passaggio di dati se il segnale che gli arriva è 1, mentre genera ALTA IMPEDENZA se il segnale è 0. Viene usato, per esempio, per la realizzazione di registri.
Un REGISTRO è un elemento di memoria in cui n flip-flop vengono controllati dallo stesso clock, formando sostanzialmente una unità in grado di memorizzare parole composte da n bit.
Le MEMORIE sono dispositivi di memorizzazione assimilabili a banchi di registri, anche se dal punto di vista architetturale se ne discostano; la presenza di più registri introduce la necessità di codificare a n bit il numero e utilizzare un demultiplexer per produrre i segnali di abilitazione della cella in questione, il numero codificato verrà detto indirizzo della cella.
ADE8
- IR e PC differenze: PC (Program Counter) è il contatore delle istruzioni, indica l'indirizzo della prossima istruzione da eseguire. IR (Instruction Register) contiene l'istruzione da eseguire, quella corrente. Sono 2 registri che svolgono attività diverse, uno tramite la fetch legge le istruzioni da eseguire, l'IR invece le contiene.
- IRO e IRP: Fanno parte entrambi dell'INSTRUCTION REGISTER, che noi per semplicità abbiamo diviso in 2 registri da 8 bit. Il primo IRO è chiamato così perché contiene l'OPCODE, cioè il codice operativo dell'istruzione da eseguire; è l'unico collegato direttamente con l'unità di controllo. L'IRP invece contiene il Parametro dell'istruzione: indirizzo di memoria dove recuperare il valore.
-
Appunti Calcolatori elettronici - parziale
-
Appunti dettagliati di Calcolatori elettronici
-
Appunti Calcolatori Elettronici: Schema
-
Appunti di Calcolatori elettronici