Sono in una fase successiva che coprirà in digitale il venerabile e sempre così utile microprocessore.
Ora quello che è un microprocessore nel microprocessore è una vasta collezione di circuiti
digitali interconnessi, ognuno dei quali esegue un lavoro specifico, ognuno dei quali viene chiamato in azione con un programma.
Permettetemi di ripetere che un microprocessore è un microchip contenente un'enorme collezione di circuiti digitali interconnessi
con ciascuno di quei circuiti che svolgono un lavoro specifico.
E tu chiami ognuno di quei circuiti in azione con un programma, il programma è una
serie di istruzioni che scrivi ognuna delle istruzioni che invocheremo sulla miriade di
circuiti digitali che hai a disposizione tutti pre-costruiti all'interno del microprocessore.
Quindi è molto versatile e hai questa banca di circuiti digitali pre-costruita per te e puoi
attivare ognuno di questi circuiti di quante volte o di rado desideri.
Ora in genere questi circuiti funzionano con i registri o leggendoli o scrivendoli.
Alcuni di questi registri saranno collegati all'esterno del chip.
Quindi puoi usare i registri per connetterti al mondo esterno.
A volte il circuito digitale che chiamate all'azione può essere un convertitore analogico-digitale.
Ora ne parleremo più in dettaglio più avanti.
Ma è un circuito molto complesso che prende una tensione analogica per misurarlo e sputa
un numero binario che rappresenta quanto grande o piccola sia quella tensione analogica.
In ogni caso il CPQ o unità di elaborazione centrale è un microchip contenente un blocco di circuiti digitali
che rispondono a un programma.
Abbiamo visto quello che abbiamo chiamato la linea dell'orologio sul registro Flip-Flop di tipo R D.
L'orologio si trova nella parte centrale del CPQ e l'orologio emette un flusso continuo di impulsi
che attivano le funzioni del CPQ.
Per esempio c'è un contatore di programma che è solo un registro ma che il registro ha nel circuito
digitale unito che incrementa il numero nel registro di uno ogni volta che vede un orologio che fa girare
il programma contro uno di quei circuiti digitali all'interno del microprocessore.
Ora l'orologio guida tutte le funzioni.
Il CPQ che fa sì che passi attraverso il programma, il programma è
memorizzato nella memoria di una memoria in cui la memoria del programma e il bus di indirizzo vanno a
ciascuna di quelle posizioni di memoria che il bus indirizzo è pilotato dal contatore del programma.
Così come il contatore del programma conta con ogni impulso di clock, continua a passare attraverso le posizioni di
memoria del programma.
Quindi passa attraverso il programma una riga alla volta ogni posizione di memoria memorizza una riga del
programma il tuo codice.
Vediamo quindi che il contatore del programma è esadecimale 0.
A Questo scende il bus degli indirizzi e collega la posizione di memoria a zero modo al bus dati.
Il tuo programma che hai scritto è stato memorizzato nella memoria del programma.
0 8 sarebbe la decima riga del tuo codice.
Destra.
Quindi diciamo che la riga 10 del tuo programma è esadecimale.
Una teoria.
Il motivo per cui l'hai scritto è perché volevi attivare il circuito digitale,
che è un indirizzo 3.
Così l'A-3 esadecimale viene scaricato su questo bus dati.
C'era un altro circuito che chiamerò Fred Fred come tutti gli altri nel microprocessore è
guidato dall'orologio.
Fred sa che questa prossima riga del programma chiamerà uno dei circuiti di utilità.
Quindi Fred prende quell'A3 e lo scarica sul bus che controlla tutti i circuiti di utilità.
A-3 decrementa che il bus è de multiplexato e fa scattare un registro all'indirizzo A-3 che attiva il circuito
di utilità in un circuito di tutte le tre chiamate.
Cindy Cindy riceve la chiamata per andare al lavoro.
La prima cosa che fa è dire ad un amico hey che ho bisogno del prossimo numero nel programma.
Saranno i dati di cui ho bisogno.
L'unico scopo di Cindy nella vita come circuito di utilità è quello di prendere il prossimo numero
nel programma e di memorizzarlo in un altro registro che è collegato a otto pin all'esterno del microchip.
Quindi Cindy aspetta il prossimo ciclo di clock che fa scattare il contatore del programma a
contare uno che collega la prossima posizione di memoria per inviarlo memorizzato sul database.
Fred non ha fatto nulla perché Cindy gli ha detto di non farlo.
Quindi Cindy prende quel numero.
Cindy conosce l'indirizzo specifico del registro che è collegato a quegli otto pin che vanno
al mondo esterno.
Quindi lascia l'indirizzo sul bus degli indirizzi e mette il numero che ha imposto su un altro
bus che corre per tutto il tempo, quasi come se inviassi la posta, semplicemente ha messo l'indirizzo sul bus degli indirizzi
che si è multiplexato dall'altra parte attivando il registro per archiviare il numero che ora si
trova nel database centrale.
Quel numero è risultato essere binario 0 0 0 1 0 1 0 0 0 che è ciò che 1 4 e esadecimale.
Hai messo quel numero in un perché hai scelto quel numero.
Perché in questo particolare caso, quando hai costruito questo robot, nel microprocessore c'erano questi due piedini che si accendono
per azionare i motori del tuo robot.
Questi due motori di guida uno su ciascun lato della traccia potrebbero essere un robot.
Guida i binari in avanti.
Quando hai costruito tutti i circuiti, hai collegato questi motori a questi due pin sul microprocessore.
Mettendo quel numero come linea nel tuo programma hai acceso quei due motori ma non altri due
motori o luci sul tuo robot che erano collegati agli altri pin.
Se avessi voluto accendere i fari del robot.
Beh, li avevi collegati al pin 1 in modo che avresti invece scritto in un numero binario di 0
0 0 1 0 1 0 o 1 nel tuo programma.
Questo metterebbe un alto sul pin 1 e accendendo i circuiti di controllo dei fari.
Ora Cindy lo sa e non le importa.
Il suo compito è semplicemente quello di prendere il numero che le hai dato e inviarlo dove mai hai voluto
quel numero.
È come la signora dell'ufficio postale.
A lei non importa cosa c'è nella lettera.
Si limita a fare in modo che venga recapitata all'indirizzo giusto.
Quindi Cindy ora ha fatto il suo lavoro.
Adesso dice a Fred Ok che ho finito adesso.
E Cindy va a dormire Fred non sa che la prossima riga del programma sarà un'istruzione.
Chiamerà uno dei tanti circuiti di utilità disponibili.
Il successivo impulso di clock incrementa il contatore del programma inviando la riga successiva del programma
sul bus dati che Fred afferra.
Sa che questo è l'indirizzo di uno dei circuiti di utilità.
Quindi manda quel numero sul bus degli indirizzi che controlla i circuiti di utilità.
È de multiplexato che tutti i circuiti di utilità ma solo una partita ovviamente.
E quello era il circuito delle utilities che chiamerò Clinton.
Quindi il segnale sveglia Clinton.
Il lavoro di Clinton è strano e richiede diversi passaggi.
Quindi Clinton riceve la chiamata per lavorare e dice a Fred.
OK Fred Avrò bisogno del prossimo numero del programma e poi ci vorrà un po ', quindi Fred aspetta il
prossimo impulso di clock e la prossima riga nel programma per essere trasmessa fino alla data di noi.
E poi Fred mette effettivamente in pausa il contatore del programma e poi legge il foglio o qualcosa per un po 'mentre
Clint fa il suo lavoro.
Il compito di Clinton è quello di ottenere la riga successiva nella memoria del programma, che
è l'indirizzo di una posizione di memoria. Clinton aspetta che il prossimo numero scenda dal databus che il suo circuito afferra quel
numero e lo fa cadere dritto sul bus centrale degli indirizzi nel cuore del CPQ che attiva una posizione
di memoria per inviare il numero che ha memorizzato nel database centrale del CPQ.
Clinton ha accesso a questo database centrale.
Ma Clinton come tutti gli altri nel CPQ che è guidato dall'orologio.
Il successivo impulso di clock lo fa scattare per estrarre quel numero dal bus dati caricato in
un registro speciale che ha nel suo circuito al successivo impulso del clock, il suo circuito legge un qualsiasi numero in
quel registro e lo capovolge.
Ognuno è trasformato in uno zero e ogni zero è trasformato in uno che è il lavoro di Clinton.
Questo è ciò che fanno i circuiti.
Il prossimo impulso di clock innesca i circuiti di Clinton in modo che mandi di nuovo quell'indirizzo che aveva
prima sul bus centrale degli indirizzi e scarichi il nuovo numero convertito dal suo registro lungo il bus dati centrale
proprio nel punto in cui li ha presi da dove ha ha ottenuto il numero
Il lavoro di Clinton è terminato.
Quindi si sveglia Fred e dice che Yo Fred ho finito.
E Clinton si riaddormenta.
Fred ora prende nuovamente il comando sapendo che il prossimo numero a uscire dal programma
sarà l'indirizzo di uno dei circuiti di utilità.
Quindi Fred è pronto a trasmettere le tue prossime istruzioni al prossimo circuito di utilità di cui sono tutti lì seduti
in attesa di eseguire i tuoi ordini.
Quindi puoi vedere questo ciclo di passaggi in corso.
Si noti che alcuni lavori richiedono più passaggi rispetto ad altri e alcuni lavori richiedono più impulsi di clock
rispetto ad altri perché ogni passo è guidato dall'orologio.
Noterai anche che l'intero programma non è altro che numeri esadecimali.
Questo è tutto.
In effetti, tutto ciò che fa il microprocessore è manipolare i numeri fino al livello di un
singolo bit.
Ma se riesci a immaginarlo, i comandi o le istruzioni del programma sono in effetti un numero univoco
che attiva un circuito di utilità specifico all'interno del microprocessore.
Ora questo è strano all'inizio perché siamo abituati a parlare una lingua usando lettere e parole e
cose giuste.
Ma sorprendentemente ti ritrovi presto a parlare questo linguaggio di programmazione.
Questo linguaggio di programmazione è chiamato codice macchina.
Ora, quando stavo imparando i microprocessori al college, avevamo una scheda di
addestramento a microprocessore e qui puoi vedere solo una tastiera esadecimale e un display esadecimale.
Avevamo un foglio con tutte le istruzioni e ci sono numeri esadecimali.
Ma hai rapidamente imparato e memorizzato i numeri per le istruzioni più comuni.
Quindi, mentre scrivi il programma, vorresti istruire il processore a moltiplicare due numeri, il valore esadecimale
per quel comando sarebbe dire esadecimale a e.
Quindi entreresti nella memoria del programma.
Quindi, dopo un po 'di programmazione, non hai nemmeno pensato, oh, moltiplicato, hai pensato istintivamente.
OK, mi sto sviando.
La linea di fondo è che il codice macchina è in realtà solo numeri
e quindi anche se programmeremo a parole quelle parole vengono convertite in questi numeri e puoi vedere come i numeri funzionano effettivamente
all'interno del microprocessore.