HTG Spiega: Come Funziona una CPU Effettivamente Lavoro?

0
526

La maggior parte delle cose in un computer sono relativamente semplici da capire: la RAM, storage, le periferiche e i software di lavorare tutti insieme per rendere un computer in funzione. Ma il cuore del sistema, la CPU, sembra come per magia anche a molti tech persone. Qui, faremo del nostro meglio per rompere il basso.

La maggior parte delle ricerche per questo articolo proviene da “Ma Come Si fa a saperlo?” di J. Clark Scott. E ‘ fantastico leggere, va molto più in profondità rispetto a questo articolo, e merita il paio di dollari su Amazon.

Una nota prima di iniziare: le Cpu moderne sono ordini di grandezza più complesso di quello che stiamo delineando qui. È quasi impossibile per una persona a comprendere ogni sfumatura di un chip con oltre un miliardo di transistor. Tuttavia, i principi di base di come tutto si adatta insieme rimangono le stesse, e la comprensione delle nozioni di base vi darà una migliore comprensione dei sistemi moderni.

A Partire Da Piccoli

I computer funzionano in binario. Essi comprendono solo due stati: on e off. Per eseguire calcoli in binario, si usa un transistor. Il transistor permette solo il sorgente di un flusso di corrente attraverso di esso per lo scarico se c’è corrente attraverso il cancello. Essenzialmente, questo forma un interruttore binario, che taglia il filo, a seconda di un secondo segnale di ingresso.

CORRELATI: che Cosa è il Binario, e Perché i Computer Utilizzano?

I computer moderni uso miliardi di transistor per eseguire calcoli, ma a livelli più bassi, hai solo bisogno di una manciata di formare la maggioranza dei componenti di base, noto come porte.

Logica Gates

Stack un paio di transistor correttamente e avere ciò che è noto come un cancello di logica. Logica gates prendere due ingressi binari, eseguire un’operazione su di essi, e restituire un output. Il cancello O, ad esempio, restituisce true se uno degli ingressi è vero. Il cancello controlla se entrambi gli ingressi sono vere, XOR controlla se solo uno degli ingressi sono vere, e la N-varianti (NOR, NAND, e XNOR) sono invertite le versioni di base cancelli.

La Matematica, Con Le Sue Porte

Con solo due porte che si può fare base binaria oltre. Questo diagramma mostra un half adder, creato utilizzando Logicly, gratuito, parco giochi per i cancelli di logica. XOR gate qui si accende se solo uno degli ingressi è, ma non entrambi. Il cancello si accende se entrambi gli ingressi sono su, ma rimanere fuori se non c’è nessun input. Quindi, se entrambi sono, XOR rimane spento, e il cancello si accende, arrivando a correggere la risposta in due:

Questo ci consente una semplice installazione con tre uscite: zero, uno e due. Ma un po ‘ non è possibile memorizzare un valore maggiore di 1, e questa macchina non è troppo utile come si risolve solo uno dei più semplici problemi di matematica possibile. Ma questo è solo un half adder, e se si collegano due di loro con un solo ingresso, si ottiene un full adder:

Il full adder ha tre ingressi—i due numeri da sommare, e un “orso.” Il carry è utilizzato quando il numero finale supera ciò che può essere memorizzato in un singolo bit. Completo di marassi saranno collegati in una catena, e il carry è passato da un adder per il prossimo. Il carry è aggiunto al risultato dello XOR gate nella prima metà adder, e c’è un altro cancello per gestire entrambi i casi, quando il modo che avrebbe bisogno di essere acceso.

Quando entrambi gli ingressi sono su, il carry si accende, e la invia al prossimo full adder della catena:

E questo è quanto di più complesso come aggiunta si. In movimento fino a più bit, sostanzialmente, significa più completo marassi in una catena più lunga.

La maggior parte delle altre operazioni matematiche può essere fatto con l’aggiunta; la moltiplicazione è ripetuto l’aggiunta, la sottrazione può essere fatto con un po di fantasia po ‘ di inversione, e la divisione è ripetuto sottrazione. E mentre tutti i moderni computer hanno le soluzioni basate su hardware per velocizzare operazioni più complicate, si può tecnicamente fare tutto con il full adder.

Il Bus, e la Memoria

Ora, il nostro computer è niente di più che un brutto calcolatrice. Questo è perché non può ricordare nulla, e non fa nulla con le sue uscite. Sopra indicato è una cella di memoria, che permette di fare tutto. Sotto il cofano, si utilizza un sacco di porte NAND, e nella vita reale può essere molto diverso a seconda della tecnica di memorizzazione, ma la sua funzione è la stessa. Dare alcuni input, accendere la ‘scrittura’ di bit, e memorizza gli ingressi all’interno della cella. Questo non è solo una cella di memoria, come abbiamo anche bisogno di un modo per leggere le informazioni da esso. Questo viene fatto con un facilitatore, che è una raccolta di E porte per ogni bit della memoria, il tutto legato ad un altro ingresso, il “leggere”. La scrittura e la lettura di bit sono spesso chiamati “set” e “enable”.

Questo pacchetto è avvolto in quello che è conosciuto come un registro. Questi registri sono collegati al bus, che è un fascio di fili che corre intorno a tutto il sistema, collegato a ogni componente. Anche i computer moderni hanno un bus, anche se hanno più di un autobus per migliorare le prestazioni multitasking.

Ogni registro ha ancora leggere e scrivere, ma in questa configurazione, l’input e l’output sono la stessa cosa. Questo è davvero buono. Per esempio. Se si voleva copiare il contenuto di R1 in R2, è necessario attivare la lettura di un bit per R1, che avrebbero spinto il contenuto di R1 sul bus. Mentre la lettura di un bit è, devi attivare la scrittura di un bit per R2, che dovrebbe copiare il bus contenuto in R2.

I registri sono utilizzati per rendere la RAM. La RAM è spesso disposti in una griglia, con fili che vanno in due direzioni:

Il decoder prendere un binario di ingresso e accensione con il numero corrispondente filo. Per esempio, “11” 3 in binario, il più alto 2-numero di bit, in modo che il decoder si accende più alto del filo. In corrispondenza di ogni intersezione, c’è un registro. Tutti questi sono collegati alla centrale degli autobus, e a una centrale di lettura e scrittura di ingresso. Sia la lettura e la scrittura di ingresso si accende solo se i due fili attraversando il registro anche, in modo efficace che consente di selezionare la registrazione da cui leggere e scrivere. Nuovo, moderno RAM è molto più complicato, ma questa impostazione funziona ancora.

L’Orologio, passo-passo, e il Decoder

I registri sono utilizzati ovunque e sono lo strumento di base per lo spostamento di dati e l’archiviazione delle informazioni nella CPU. Così che cosa dice loro di spostare le cose intorno?

L’orologio è il primo componente del core della CPU e si accende e spegne a intervalli stabiliti, misurata in hertz o cicli al secondo. Questa è la velocità che vedete pubblicizzati a fianco di Cpu; 5 GHz chip in grado di eseguire 5 miliardi di cicli al secondo. Velocità di Clock è spesso una buona metrica per quanto veloce di una CPU.

L’orologio ha tre stati diversi: il clock di base, l’enable clock, e l’impostazione dell’orologio. Il clock di base sarà per la metà di un ciclo, e spento, per l’altra metà. Il attivare l’orologio è usato per attivare i registri e bisogno di essere di più per assicurarsi che i dati è abilitata. Imposta orologio ha sempre bisogno di essere al tempo stesso come attivare l’orologio, o altro di dati non corretti potrebbe essere scritto.

L’orologio è collegato a passo a passo, che potrà contare da uno a max passo, e reset indietro quando si è fatto. L’orologio è collegato E porte per ogni registro che la CPU può scrivere a:

Questi E i cancelli sono anche collegato all’uscita di un altro componente, il decodificatore di istruzione. Il decodificatore di istruzione prende un’istruzione del tipo “SET R2 A R1” e la decodifica in qualcosa che la CPU può capire. Ha al suo interno un registro denominato “Registro di Istruzione”, da cui l’operazione corrente viene memorizzato. Come esattamente si fa questo si riduce al sistema che si sta eseguendo, ma una volta decodificato, si accende il corretto impostare e attivare bit per il corretto registri, che verrà generato in base all’orologio.

Le istruzioni di un programma vengono memorizzati nella RAM (o cache L1 sui sistemi più moderni, più vicino alla CPU). Dal momento che i dati del programma sono memorizzati in registri, così come ogni altra variabile, può essere manipolata al volo per saltare tutto il programma. Questo è come i programmi, la loro struttura, con i passanti e, se le istruzioni. Un’istruzione di salto imposta la posizione corrente nella memoria che il decodificatore di istruzione è la lettura da una posizione diversa.

Come Si È

Ora, la nostra lordo semplificazione di come una CPU funziona è completa. Il principale degli autobus si estende su tutto il sistema e si connette a tutti i registri. Completo di marassi, insieme ad un sacco di altre operazioni, sono imballati in Unità di Logica Aritmetica, o ALU. Questo ALU avrà collegamenti con bus, e avrà anche una propria registri per memorizzare il secondo numero è operativo.

Per eseguire un calcolo, programma di caricamento dei dati dalla RAM di sistema nella sezione di controllo. La sezione di controllo legge due numeri di RAM, carichi il primo in ALU del registro di istruzioni, e poi carichi il secondo sul bus. Nel frattempo, invia le ALU un’istruzione di codice che gli dicono cosa fare. La ALU esegue tutti i calcoli e memorizza il risultato in un registro diverso, che la CPU è in grado di leggere e quindi continuare il processo.

Immagine Di Credito: Rost9/Shutterstock