WEBVTT

00:00.900 --> 00:05.250
Abbiamo ragione, diciamo che costruiamo un gruppo di queste otto grandi banche che si registrano e

00:05.250 --> 00:06.420
le useremo come memoria.

00:06.420 --> 00:08.580
Stiamo andando a memorizzare un sacco di numeri.

00:08.610 --> 00:15.870
Abbiamo un bus di otto byte a otto bit che invia una cifra a 8 bit a tutte le posizioni di memoria.

00:15.870 --> 00:20.310
Lo chiameremo bus dati perché sta trasmettendo i dati.

00:20.310 --> 00:22.220
Vogliamo conservare.

00:22.540 --> 00:27.420
Ora deve essere in grado di consegnare i dati a tutti i banchi di memoria in modo che siano

00:27.420 --> 00:28.740
collegati a ciascuno di essi.

00:28.740 --> 00:34.440
Il problema è che abbiamo una serie di numeri, quindi vogliamo memorizzare il primo numero nel primo

00:34.440 --> 00:40.470
byte una memoria il secondo numero nel secondo byte una memoria il terzo e il terzo byte ecc.

00:40.560 --> 00:47.840
Non vogliamo memorizzare diciamo 256 copie del primo numero in tutte le 256 posizioni.

00:47.940 --> 00:49.500
Che spreco.

00:49.500 --> 00:56.400
Quindi il problema è come accendere o spegnere i banchi di memoria in modo che solo uno di essi

00:56.400 --> 00:59.400
memorizzi effettivamente il numero che scende dal bus.

00:59.430 --> 01:05.940
Lo facciamo usando un secondo bus a 8 bit che chiameremo il bus indirizzo e daremo

01:05.940 --> 01:10.580
un indirizzo univoco a ciascuna di quelle posizioni di memoria.

01:10.680 --> 01:16.390
Controlleremo le posizioni di memoria usando una funzione chiamata D multiplexing.

01:17.070 --> 01:22.080
Diciamo che volevamo inviare il nostro primo numero al nostro primo morso di dati nella

01:22.080 --> 01:25.170
posizione di memoria con l'indirizzo decimale di uno.

01:25.190 --> 01:30.950
Questo è in realtà abbastanza facile da multiplexare un indirizzo decimale di uno sarebbe un alto sulla binario di

01:30.950 --> 01:33.820
una riga e tutte le altre linee sarebbe zero.

01:34.250 --> 01:40.340
Quindi inseriamo un'intera serie di porte org nei sette bit superiori dell'indirizzo

01:40.340 --> 01:49.490
e le catene daisy metteranno un nodo fuori da un bit e lo faranno anche nella catena a margherita.

01:49.490 --> 01:56.290
L'ultimo cancello della catena sarà un cancello NOR che si alimenta nell'orologio del banco di memoria.

01:56.300 --> 01:57.550
Guarda cosa succede.

01:58.770 --> 02:06.360
Se uno qualsiasi di questi sette bit superiori è alto Questi sono tutti irrigati invierà un high al Norgate finale

02:06.870 --> 02:14.730
che emetterà un valore basso e quindi il nostro banco di memoria non verrà attivato se la prima offerta è bassa

02:14.730 --> 02:22.080
quindi il gate NOT convertirà ad un livello alto che innesca il finale, né porta ad un basso spegnimento

02:22.080 --> 02:23.740
del banco di memoria.

02:23.790 --> 02:30.540
C'è solo una combinazione che innescherà un high sull'output del finale, né gate se tutti i sette

02:30.540 --> 02:32.250
bit superiori sono bassi.

02:32.460 --> 02:35.640
Poi tutti questi o Gates mettono un basso.

02:35.640 --> 02:39.540
Se il primo bit è alto, allora il Gate non è invertito a un valore basso.

02:39.540 --> 02:46.080
Tutti gli input sulla nostra intera catena di cancelli di lavoro a margherita e gli input sul Norgate finale

02:46.080 --> 02:47.130
sono bassi.

02:47.130 --> 02:52.820
Quindi l'uscita andrà alta impostando la linea di clock sul banco di memoria.

02:52.820 --> 02:54.430
Ciao.

02:54.600 --> 03:00.620
E quel banco di memoria registrerà quindi tutto ciò che sta arrivando sul bus dati.

03:00.670 --> 03:08.030
Chiamiamo questo processo d multiplexing che viene spesso mostrato come deam mux in breve.

03:08.280 --> 03:10.140
Diamo un'occhiata ad un altro esempio in modo rapido.

03:10.140 --> 03:17.280
Ora volevo mostrarvi un esempio usando lo standard comune per inserire le porte sul multiplex, ma ricordate

03:17.430 --> 03:24.150
che potete ottenere porte logiche con più ingressi o persino costruire un gate logico usando i

03:24.150 --> 03:28.580
transistor e avere tanti ingressi su di esso come volete.

03:28.740 --> 03:33.960
Puoi anche fare il multiplex in diversi modi usando diverse porte.

03:33.990 --> 03:40.800
Quindi se ti capita di avere un intero casino e mangiare patatine puoi usarle se necessario.

03:40.810 --> 03:43.190
Quindi accendiamo i circuiti in esadecimale.

03:43.190 --> 03:49.110
Indirizzo 1 8 0 0 0 1 1 0 1 0 in binario.

03:49.150 --> 03:55.580
Quindi vogliamo un massimo sull'output del nostro multiplexer d solo quando queste tre linee sono alte.

03:55.990 --> 04:00.350
Quindi usiamo un ingresso e un gate a tre che quando queste linee diventano alte.

04:00.380 --> 04:06.500
Boom otteniamo un high sull'output o il gate di fine tutto il check out.

04:06.790 --> 04:14.170
Qualsiasi numero binario che capita di avere queste tre linee alte innescherebbe anche il circuito 255 che

04:14.170 --> 04:16.560
innescherebbe il multiplexer ad esempio.

04:16.600 --> 04:22.520
Quindi dobbiamo escludere tutti gli altri numeri che cosa dobbiamo controllare.

04:22.600 --> 04:26.210
Dobbiamo controllare tutte le altre righe di zeri.

04:26.410 --> 04:32.110
Puoi farlo con un Norgate se qualcuna di quelle linee è alta.

04:32.200 --> 04:35.600
Otterremo uno zero sull'output del nostro Norgate.

04:35.620 --> 04:41.190
Possiamo quindi combinare il segnale dal gate con il segnale da e gate.

04:41.290 --> 04:49.450
Quindi fintanto che entrambe le porte stanno emettendo una finale e il cancello ne metterà anche uno

04:49.450 --> 04:52.440
che innesca il nostro circuito bersaglio.

04:52.730 --> 04:57.650
Diciamo che hai avuto accesso a diversi chip di gate NOT e chip di gate di fine.

04:57.890 --> 05:04.490
Un altro modo per farlo è quello di slop A Not gate di un inverter su ogni riga che

05:05.130 --> 05:12.690
deve essere pari a 0 e daisy chain a tutto e Gates in questo modo tutti gli zeri verranno invertiti a quelli che

05:12.690 --> 05:19.650
in ultima analisi innescano uno in uscita qualsiasi high su qualsiasi delle altre linee viene convertito in zero e la finale

05:19.650 --> 05:22.200
e la porta non vengono mai attivate.

05:23.880 --> 05:31.500
L'intero processo di multiplexing nell'indirizzamento avviene molto di solito dietro le quinte, come

05:31.500 --> 05:32.590
vedrai.

05:32.880 --> 05:39.330
Ma è importante capire cosa sta succedendo e come farlo perché occasionalmente potresti aver bisogno di

05:39.330 --> 05:41.440
fare alcuni indirizzi esterni.

05:41.670 --> 05:48.390
Per esempio più avanti, quando usiamo i microprocessori, potresti aggiungere qualche tipo di memoria

05:48.390 --> 05:52.400
esterna e dovrai sapere come indirizzare quella memoria.

05:52.410 --> 05:59.630
Il punto principale è che vuoi attivare qualcosa con un numero specifico su un bus e lo fai

05:59.650 --> 06:01.170
con porte logiche.

06:01.680 --> 06:09.000
Quindi esercita la tua nuova abilità con alcuni indirizzi di esempio e progetta alcuni array multiplexing

06:09.000 --> 06:11.600
per i seguenti indirizzi esadecimali.

06:12.670 --> 06:26.650
1 1 A F F F 3 5.

06:26.660 --> 06:34.750
Ora ricorda che il tuo multiplexer dovrebbe emettere solo un massimo quando quel numero specifico è visto sul bus

06:34.750 --> 06:35.860
degli indirizzi.

06:35.920 --> 06:37.440
Quindi basta cancellarlo sulla carta.

06:37.480 --> 06:40.330
E sfortunatamente questo è un esercizio mentale.

06:40.330 --> 06:46.150
Dovrai controllare il tuo lavoro per la semplice ragione che ci sono diversi modi

06:46.150 --> 06:49.410
per costruire un multiplexer in ogni istanza.

06:49.420 --> 06:55.630
Sentiti libero di pubblicare il tuo circuito nei commenti e altri o io stesso posso darti un feedback per

06:55.630 --> 06:56.620
vedere se funziona.
