Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
vuoi
o PayPal
tutte le volte che vuoi
Mappe di Karnaugh
Le mappe di Karnaugh sono una rappresentazione "tabellare" delle funzioni booleane, alternative alle tabelle di verità.
Esempio:
U = AB + CD + CD
In base all'esponente del 2° semplifico in m termini:
- 20 = 0 termini;
- 21 = 1 termine;
- 22 = 2 termini;
- 23 = 3 termini;
- 24 = 4 termini.
La presenza dei segni - indica una macchina non completamente specificata.
In una funzione, al posto di combinazini valide in potenze di 2, quindi a elementi ingressi. Diventa molto difficile da "salvare" la fase di potenza.
MACCHINE NOTEVO
- MULTIPLEXER
- Il multiplexer è una macchina combinatoria
A0, ..., An-1
n segnali di selezione d0, ..., dn-1
Di questi al più uno è attivo.
- In uscita atti che assume
Ai se attivo di
0 di riposo se nessun selettore è attivo.
È utilizzato quando più linee devono essere convogliate verso un’unica linea di uscita (bus).
U = Σ Ai di
n = numero ingressi
esempio: multiplexer a 2 ingressi
U = A0d0 + A1d1
NOTA:
Se Σ di = 1 allora i detto attivabile
REALIZZAZIONE MULTIPLEXER A 2 INGRESSI
-FULL ADDER-
Full Adder
A B RS R 0 0 00 0 0 0 10 1 0 1 00 1 0 1 11 0 1 0 00 1 1 0 11 0 1 1 01 0 1 1 11 1Karnaugh
- S = AB R + AB R + AB R + AB R + A BR
- R = AR + AB + AR
Esempio Somma: 2 bit
2 + 3 = 5
Sei 1 = 101
Risultato: (R S )(S ) = 101 [2+3=5]
NOTA: Somma di m bit necessita di m adders.
ABC 00 01 11 10
CD 00 1
01 1 1
11 1 1
10 1
fn = ABCD + ABCD + ABCD + ABCD + ABCD + ABCD + ABCD + ABCD
fn = AB + AD + CD + ABC
• AD, ABC, CD, ABC implicanti primi
• AD, ABCD implicanti
Un implicante primo è detto essenziale se copre almeno un mintermine non coperto da altri implicanti.
ABCD 00 01 11 10
CD 00 1
01 1 1
11 1 1
10 1
fm = AB + BC + ABC + BCD
f = ABΦ + ABC + ABCD + ABCD + ABCD + ABCD
• AB essenziale, copre ABC solitaria non coperta;
• BC essenziale, copre ABCD non coperta.
Dunque, un implicante primo essenziale è l'unico ad essere implicato da un minterm, ovvero l'unico a coprire un minterm.
Il nucleo (N) della funzione è la somma dei suoi IPE; gli altri implicanti primi formano il residuo (R) della funzione.
Dunque, ogni fmin di f = N + R con R eventuale nullo.
Macchine Sequenziali
Tra le macchine sequenziali troviamo l'automa a stati finiti, che utilizza il concetto di stato ed può essere definito come una particolare condizione delle macchine.
- ASF è una quintupla (Q, I, U, ϯ, ω) dove:
- Q: insieme finito degli stati interni
- I: insieme finito degli ingressi
- U: insieme finito delle uscite
- Funzioni:
- ϯ: funzione di transizione
- ω: funzione di uscita
Esempio: distributore bibite, costo 30 cent
Il Flip-Flop
Tipo di memoria atto a memorizzare un dato binario.
I flip-flop sono componenti che memorizzano un bit di informazione e si
da un flip-flop la memorizzazione dell'ingresso di avere 3 possibili stati:
- stato di reset che pone il flip-flop in reset (0);
- stato di set che pone il flip-flop in set (1);
- stato neutro che lascia inalterato il bit memorizzato.
Analizziamo dunque il funzionamento di un flip-flop detto di tipo D che si presta
come una macchina sequenziale asincrona.
Flip-Flop D
In sincronia con un segnale di abilitazione a:
- Tipo latch
γ = r
1) vedi le pagine precedenti
3) Progettare una macchina sequenziale che riconosca, su x bin, la sequenza 0 1 0 0
U = v(si) Mealy
I = {0, 1} S = {000, 001, 010, 011, 100}
@Ottimizzato
Esercizio: Simulazione istruzione
move.w (A0)+, D0
- Heap Bookstore:
- PC = 8000
- A0 = 8000
Fetch Cycle:
- 1) MA = PC
- 2) MB (pulisco staccio in memoria)
- 3) IR = MB
- OP. Assembly -
- 4) MA = A0
- 5) MB (pulisco dato in memoria)
- EXECUTE -
- 6) D0 = MB
D0 (IN) MB (out)
- add D0, D1
- D0 = 4, D1 = 2
Fetch
- 4) TEMP2 = D0
- 5) D1 (out)
- 6) TEMP2 (IN)
- 7) D1 = TEMP2
D1 (IN) TEMP2 (OUT)
Se volessi utilizzare due flip-flop RS dovrei avere 2 tabelle per ogni
stato che mostrano questi segnali.
- 1 -> 0 R = 0, S = 0
- 0 -> 1 R = 0, S = 1
- 1 -> 1 R = -, S = -
- 0 -> 0 R = 0, S = -
Esempio temporizzazione con flip-flop RS
R S
S A
A
d2
DS
DD
DMS
LATCH
ET SALITA
ET DISCESA
MASTER-SLAVE
Il segnale di clock
Gli istanti di tempo in cui viene campionò il segnale elettrico sono scanditi da un apposito segnale detto clock.
Un clock ha le seguenti caratteristiche:
- è un segnale binario
- è un segnale periodico
Spesso nei sistemi digitali tutti i circuiti con memoria (flip-flop e matrici) "leggono" gli ingressi nello stesso istante, scandito dal segnale di clock.
Nel periodo Tick, o ciclo di clock, il segnale assume:
- il valore logico 1 per un tempo Th
- il valore logico 0 per un tempo Tc
Il rapporto Th/tick è detto duty-cycle.
Il passaggio di valore 0→1 è detto fronte di salita.
Il passaggio di valore 1→0 è detto fronte di discesa.
Periodo è espresso in secondi, la frequenza = 1/T è espressa in Hz.
11/10
Per permettere lo scambio di dati tra due entità è necessario stabilire un protocollo di comunicazione ovvero un insieme di regole che gestiscono la comunicazione. Protocollo semplice: prevede un segnale (Clock) che sincronizza la comunicazione Protocollo asincrono: la temporizzazione è gestita dal periferico attraverso uno scambio di messaggi.
Il processo attraverso il quale due calcolatori stabiliscono le regole comuni si detto Hand Shake.
Hand Shake
- Ingresso:
- Master invia la richiesta
- Aspetta una risposta/Ack (Strobe-in)
- Leggi il dato
- Uscita:
- Master scrive il dato
- Invia la richiesta (Strobe-out)
- Aspetto un Ack
Hand Shake completo (INPUT)
- RICHIESTA
- RISPOSTA
- DATO
- RISULTATO
Il programma che guida le azioni su un periferico è il Driver.