Esercizi sui circuiti
(Nuovo Ordinamento)
Tra un esercizio ed un'altro, potrebbe essere interessante andare a
leggersi questa
breve biografia di Boole.
e
Breve biografia di De Morgan.
Soluzione all'esercizio n.12 Cap.4 del Tanenbaum.
Esercizio 1(vecchio programma)
Fornire la forma canonica congiuntiva della funzione di 4 variabili (a,b,c,d)
rappresentata dall'espressione ab- + a-cd + abcd-
Soluzione. (By S. Fede)
Esercizio 2
Preso il circuito corrispondente ad ab- + a-cd + abcd-, costruire un circuito equivalente, ma con almeno 10 porte logiche in piu'.
Soluzione. (By S. Fede and
R.Ferraro)
Esercizio 3
Fornire due definizioni di circuito combinatorio. Una volta fatto,
dimostrare che le due definizioni sono equivalenti.
Soluzione(?).
Soluzione(F. Caponnetto and C. Pata).
Esercizio 4
Cos'e' il principio di dualita' delle algebre booleane?
Soluzione (by Silvia Cariolo & Valentina Campisi)
Esercizio 5
Dimostrare che l'insieme { -->, ()-} e' funzionalmente
completo.
(Il connettivo --> e' l'implicazione: A-->B e' falso se e solo se A e' vero e B e' falso)
Soluzione (By S. Privitera).
Esercizio 6
Fare l'esercizio 19 del Capitolo 4 del Tanenbaum... e tutti gli altri.
Esercizio 7
(a) Fornire le definizioni di circuito combinatorio
Esercizio 8
Volete progettare un circuito sequenziale Accumula4 che
restituisca sempre 4 bit 0 agli
istanti 4k-3, 4k-2, 4k-1 (per ogni k>1). Agli istanti 4k restituira' invece
una stringa di bit formata dai bit ricevuti negli istanti
4k-3, 4k-2, 4k-1, 4k.
Esempio di comportamento di Accumula4:
istanti 1 2 3 4 5 6 7 8 9 10 11
Input 0 1 0 1 1 1 0 0 1 1 1
Output 0000 0000 0000 0101 0000 0000 0000 1100 0000 0000 0000
Supponete di non aver la possibilita' di costruire nuovi circuiti
e di avere a disposizione i seguenti moduli:
Addizionatori, Registri, Multiplexer (selettori in ingresso),
Demultiplexer (selettori in uscita), Comparatori.
Tali moduli li potete avere di qualsiasi dimensione.
Costruire, componendo tali moduli,
la rete sequenziale sincrona che realizza Accumula4.
Tenete presente che avete la possibilita' di fornire
agli ingressi dei moduli anche dei valori costanti.
Soluzione.
Esercizio 9
Descrivere il circuito sequenziale dell'esercizio precedente
suponendo di avere a disposizione anche dei registri a spostamento.
Esercizio 10
Dimostrare che l'insieme di operatori booleani {not, and} e' funzionalmente completo.
Dire perche' non puo' esistere un insieme di operatori funzionalmente completo
e contenente un solo operatore booleano.
Soluzione.
Esercizio 11
Dimostrare che per ogni espressione algebrica booleana ne esiste una equivalente
(che rappresenta la stessa funzione) e che utilizza solo gli operatori NOR o NAND.
Risposta.
Semplici esercizi a quiz sulle Algebre booleane.
Nella pagina web
http://homepages.wmich.edu/~johnson/ece250/Quiz1/quiz.html
Ci sono dei semplici quiz interattivi sull'algebra booleana. Buon divertimento.
Di seguito alcuni esercizi proposti ai vostri colleghi dell'Universita' di Milano.
NOTA:
per denotare il complemento di una espressione 'expr' viene usata la
notazione not{expr}. Espressioni consecutive come 'expr1 expr2' si
considerano in AND.
- Usando le proprieta` dell'algebra di Boole dimostrare la
seguente equazione:
A + not{A} B = A + B.
- Disegnare lo schema logico che realizza la funzione OR
utilizzando solo porte logiche NAND. Mostrare i passi logici
(utilizzando le proprieta` dell'algebra di Boole) che dimostrano la
correttezza di tale schema.
- Disegnare lo schema logico che realizza la funzione AND
utilizzando solo porte logiche NAND.
- Sia M la funzione ``maggioranza'' di 3
variabili, cioe`, M=1 se almeno 2 delle variabili sono a 1 e
M=0 altrimenti. Mostrare come un MUX (multiplexer) 4-a-1 possa
essere utilizzato per implementare M.
Possibile soluzione (by Massimiliano Salfi).
- Si svolga l'esercizio precdente per la funzione M' che vale 1
solo nel caso in cui esattamente 2 variabili siano a 1.
Possibile soluzione (by Massimiliano Salfi).
- Implementare le due funzioni di 2 variabili XOR e AND
utilizzando un singolo PLA 2x4x2.
- Implementare le due funzioni di 2 variabili XNOR e NAND
utilizzando un singolo PLA 2x4x2.
- Implementare le due funzioni di 2 variabili XOR e AND
utilizzando una singola ROM. Quale e` la dimensione minima
necessaria per la ROM?
Alcune soluzioni (by Massimiliano Salfi).
Altre soluzioni (by Massimiliano Salfi).
Esercizio 12
* Cos'e' un Multiplexer? Cos'e' un Demultiplexer?
* Dire brevemente perche' in un latch SR la
configurazione S=1, R=1 non viene utilizzata.
Esercizio 13
Cos'e' un Multiplexer? Come si puo' usare un multiplexer per
convertire dati da paralleli a seriali?
Esercizio 14
(a)
Cos'e' una Macchina di Turing?
Perche' il modello della Macchina di Turing e' alla base delle architetture di tipo Von Neumann?
(b)
Il latch SR e' un circuito combinatorio? Giustificare brevemente.
Dire brevemente perche' in un latch SR la configurazione di input S=1, R=1 non viene utilizzata.
Esercizio 15
Abbiamo a disposizione uno spazio di indirizzamento di 216 posizioni,
in un sistema con memory mapped I/O.
Vogliamo che i 32 registri di un Chip di I/O
vengano letti e scritti come se fossero le posizioni da 32 (25) a 64-1 (26-1)
nel nostro spazio di indirizzamento.
Disegnare il circuito combinatorio da collegare tra le linee di
indirizzo del Bus e il segnale di Chip Select del Chip di I/O (supponendo che il CS sia asserito alto)
Soluzione.
Esercizio 16
Abbiamo a disposizione uno spazio di indirizzamento di 28 posizioni.
Una parte della memoria e' fisicamente realizzato da una ROM contenente
24 parole di memoria. Vogliamo che tali parole vengano
lette dalla CPU come se fossero le posizioni da 8 (23) a 15 (24-1)
e da 32 (25) a 47
Disegnare il circuito combinatorio da collegare tra le linee di
indirizzo del Bus e il segnale di Chip Select del Chip della ROM
(supponendo che il CS sia asserito basso).
Soluzione.
Esercizio 17
Abbiamo
un Chip di I/O che contiene due registri. Vogliamo che tali registri,
utilizzando la tecnica di Memory Mapped
I/O, vengano letti e scritti come se fossero, rispettivamente, la prima e
l'ultima locazione di memoria dello spazio di indirizzamento
disponibile, che si suppone essere di 28 locazioni. Disegnare il
circuito combinatorio che prende in Input le 8 linee di Address
del bus e che restituisce in output il CS (Chip Select,
che supponiamo asserito alto) del nostro Chip di I/O.
Soluzione.
Esercizio 18
Che cosa e' una switching algebra (algebra booleana minimale)?
Qual e' un possibile procedimento per passare
dalla descrizione di una funzione booleana tramite tabella di verita' ad una
descrizione della stessa funzione come espressione algebrica?
Applicare tale procedimento a
a b | f
--------
0 0 | 1
0 1 | 0
1 0 | 1
1 1 | 1
Esercizio 19
Come puo' venire utilizzato il circuito di Figura 3-19 nell'implementazione
della macchina Mic-1?
Da dove provengono, in tale implementazione, i
vari segnali di input del circuito?
Esercizio 20
Descrivere il funzionamento del circuito di Fig. 3-24.
Esercizio 21
Abbiamo a disposizione uno spazio di indirizzamento di 28 posizioni in
un sistema con memory mapped I/O.
Una parte della memoria e' fisicamente realizzato da una ROM contenente
56 parole di memoria. Vogliamo che tali parole vengano
lette dalla CPU come se fossero le posizioni da 8 (23) a 63 (26-1)
Disegnare il circuito combinatorio da collegare tra le linee di
indirizzo del Bus e il segnale di Chip Select del Chip della ROM
(supponendo che il CS sia asserito basso). Dare inoltre un'idea di come collegare le linee
di indirizzo del Bus alle linee Indirizzo della ROM.
Soluzione.
Esercizio 22
Descrivere la funzionalita' ed il comportamento del circuito di Fig. 3-16 del testo.
Esercizio 23
Supponiate di avere un Bus con 4 linee per gli indirizzi e che tali linee
siano collegate al segnale CS di una piccola ROM, come indicato nella figura.
__________ CS
|
AND
_________
| |
OR |
______ |
| | |
| | |
A3 ----x--|----|-------
A2 -------|----|-------
A1 -------x----|-------
A0 ------------x-------
Ovviamente una CPU collegata a tale bus potra' leggere in uno spazio di
indirizzamento di 24 parole (con indirizzi da 0 a 24-1). Di queste, quali sono quelle che
fisicamente appartengono alla ROM sopra citata?
Giustificare la risposta.
Soluzione.
Esercizio 24
Fornire la definizione insieme di operatori booleani funzionalmente completo.
Dimostrare che l'inseme {And, Or, Not} e' funzionalmente completo.
Soluzione.
Esercizio 25
Fornire le definizioni di: Circuito, Circuito Combinatorio, Circuito Sequenziale, Circuito Sequenziale
Sincrono, Circuito Sequenziale Asincrono.
Esercizio 26
Disegnare il circuito di un Multiplexer (selettore di ingresso) a 4 vie.
Esercizio 27
I Chip di memoria non volatile (Nonvolatile Memory Chips). Discuterne.
Esercizio 28
Si consideri la realizzazione dell'ALU di Mic-1 tramite il collegamento di
32 alu da 1-bit come da Fig.3-19 del testo.
Qual e' l'output della ALU se i sei bit di controllo
F0, F1, ENA, ENB, INVA, INC
sono settati con 010111?
Giustificare la risposta.
Soluzione.
Esercizio 29
Descrivere la funzionalita' di un decodificatore (decoder).
Fornire il circuito di un decodificatore a 4 uscite.
Esercizio 30
Cos'e' un insieme di operatori booleani funzionalmente completo?
Dimostrare che {NAND, OR} e' funzionalmente completo.
Esercizio 31
E' possibile realizzare in Hw qualsiasi funzione
f : {0,1}* --> {0,1}* ? Perche'?
Esercizio 32
Fornire la definizione di Insieme di operatori booleani funzionalmente completo.
Qual e' l'affermazione corretta tra le due seguenti? Dimostrarlo formalmente.
- il numero di insiemi funzionalmente completi
di operatori booleani e' finito.
- il numero di insiemi funzionalmente completi
di operatori booleani e' infinito.
Esercizio 33
Fornire le definizioni di circuito combinatorio, sequenziale,
sequenziale sincrono e sequenziale asincrono.
Fornire il circuito di un Multiplexer a quattro vie.
Fornire la descrizione di un semplice circuito sequenziale asincrono.