Come funziona il microprocessore a livello fisico. Struttura interna del processore

Come funziona il microprocessore a livello fisico. Struttura interna del processore

29.11.2020

Il processore è il principale dispositivo informatico che esegue operazioni logiche e aritmetiche e controlla tutti i componenti del computer. Il processore è una piastra di silicio sottile rettangolare in miniatura, che ospita un numero enorme di transistor che implementano tutte le funzioni svolte dal processore. Una piastra di silicio è molto fragile e, poiché qualsiasi danno ad essa porterà al guasto del processore, viene inserita in una custodia di plastica o ceramica.

1. Introduzione 2. Core del processore 2.1. Come funziona il core del processore 2.2. Modi per migliorare le prestazioni del core del processore 2.2.1. Conduttura 2.2.2. superscalarità 2.2.3. Elaborazione parallela dei dati 2.2.4. Tecnologia Hyper-threading 2.2.5. Tecnologia Turbo Boost. 2.2.6. Efficienza nell'esecuzione dei comandi. 2.3 Modi per ridurre il consumo energetico del core del processore 3. Memoria cache

1. Introduzione.

Un processore moderno è un dispositivo complesso e ad alta tecnologia che include tutti i più recenti progressi nella tecnologia informatica e nei relativi campi della scienza.

I processori più moderni sono costituiti da:

    uno o più kernel che eseguono tutte le istruzioni;

    diversi livelli di memoria cache (di solito 2 o tre livelli), accelerando l'interazione del processore con la RAM;

    controller della RAM;

    controller del bus di sistema (DMI, QPI, HT, ecc.);

Ed è caratterizzato dai seguenti parametri:

    tipo di microarchitettura;

    frequenza di clock;

    un insieme di comandi eseguibili;

    il numero di livelli di cache e la loro dimensione;

    il tipo e la velocità del bus di sistema;

    la dimensione delle parole elaborate;

    la presenza o l'assenza di un controller di memoria integrato;

    il tipo di RAM supportata;

    la quantità di memoria indirizzabile;

    la presenza o l'assenza di un core grafico integrato;

    consumo di energia.

Uno schema a blocchi semplificato di un moderno processore multi-core è mostrato nella Figura 1.

Iniziamo la nostra recensione del dispositivo processore con la sua parte principale: il kernel.

2. Il cuore del processore.

Il core del processore è la sua parte principale, che contiene tutti i blocchi funzionali ed esegue tutte le operazioni logiche e aritmetiche.

La Figura 1 mostra uno schema a blocchi del dispositivo core del processore. Come puoi vedere nella figura, ogni core del processore è costituito da diversi blocchi funzionali:

    recuperare blocco di istruzioni;

    blocchi per la decodifica delle istruzioni;

    blocchi di campionamento dati;

    blocco di controllo;

    blocchi per l'esecuzione delle istruzioni;

    blocchi per il salvataggio dei risultati;

    blocco del lavoro con interruzioni;

    serie di registri;

    il contatore dei comandi.

Blocco di recupero delle istruzioni legge le istruzioni all'indirizzo specificato nel contatore dei comandi. Di solito legge diverse istruzioni per ciclo di clock. Il numero di istruzioni leggibili è determinato dal numero di blocchi di decodifica, poiché è necessario caricare il più possibile i blocchi di decodifica ad ogni ciclo di lavoro. Affinché l'unità di recupero funzioni in modo ottimale, è presente un predittore di rami nel core del processore.

Predittore di transizione cerca di determinare quale sequenza di comandi verrà eseguita dopo la transizione. Ciò è necessario per massimizzare il carico sulla pipeline del core del processore dopo il salto condizionale.

Blocchi di decodifica, come suggerisce il nome, sono blocchi che decodificano le istruzioni, ad es. determinare cosa deve fare il processore e quali dati aggiuntivi sono necessari per eseguire l'istruzione. Questo compito è molto difficile per la maggior parte dei processori commerciali moderni basati sul concetto CISC. Il fatto è che la lunghezza delle istruzioni e il numero di operandi non sono fissi e questo complica notevolmente la vita degli sviluppatori di processori e rende il processo di decodifica un compito non banale.

Spesso le singole istruzioni complesse devono essere sostituite con un microcodice, una serie di istruzioni semplici che eseguono collettivamente la stessa azione di un'istruzione complessa. Il set di microcodici viene flashato nella ROM integrata nel processore. Inoltre, il microcodice semplifica lo sviluppo del processore, poiché non è necessario creare blocchi del kernel complessi per l'esecuzione di singoli comandi e correggere il microcodice è molto più semplice che eliminare un errore nel funzionamento del blocco.

Nei processori moderni, di solito ci sono 2-4 blocchi di decodifica delle istruzioni, ad esempio, nei processori Intel Core 2, ogni core contiene due di questi blocchi.

Blocchi di recupero dati recuperare i dati dalla memoria cache o dalla RAM necessari per eseguire le istruzioni correnti. In genere, ogni core del processore contiene diversi blocchi di recupero dati. Ad esempio, i processori Intel Core utilizzano due blocchi di recupero per ogni core.

Blocco di controllo sulla base di istruzioni decodificate, controlla il funzionamento dei blocchi per l'esecuzione delle istruzioni, distribuisce il carico tra di essi e garantisce l'esecuzione tempestiva e corretta delle istruzioni. È uno dei blocchi più importanti del core del processore.

Blocchi per l'esecuzione delle istruzioni comprendono diversi blocchi di diverso tipo:

ALU - unità logica aritmetica;

FPU - un dispositivo per eseguire operazioni in virgola mobile;

Blocchi per la gestione dell'espansione dei set di istruzioni. Vengono utilizzate istruzioni aggiuntive per accelerare l'elaborazione dei flussi di dati, la crittografia e la decrittografia, la codifica video e così via. Per questo, nel core del processore vengono introdotti ulteriori registri e set di logica. Al momento, le estensioni più popolari ai set di istruzioni sono:

MMX (Multimedia Extensions) - una serie di istruzioni sviluppate da Intel per accelerare la codifica e la decodifica di dati audio e video in streaming;

SSE (Streaming SIMD Extensions) è un insieme di istruzioni sviluppate da Intel per eseguire la stessa sequenza di operazioni su un insieme di dati con un processo computazionale parallelo. I set di comandi vengono costantemente migliorati e al momento ci sono revisioni: SSE, SSE2, SSE3, SSSE3, SSE4;

ATA (Application Targeted Accelerator) è un insieme di istruzioni sviluppate da Intel per accelerare il funzionamento di software specializzato e ridurre il consumo energetico quando si lavora con tali programmi. Queste istruzioni possono essere utilizzate, ad esempio, durante il calcolo dei checksum o la ricerca di dati;

3DNow è un set di istruzioni sviluppato da AMD per estendere le capacità del set di istruzioni MMX;

AES (Advanced Encryption Standard) è un insieme di istruzioni sviluppate da Intel per accelerare il funzionamento delle applicazioni che utilizzano la crittografia dei dati utilizzando lo stesso algoritmo.

Unità di archiviazione dei risultati fornisce un record del risultato dell'esecuzione dell'istruzione in RAM all'indirizzo specificato nell'istruzione elaborata.

Blocco di interruzione. Lavorare con gli interrupt è uno dei compiti più importanti del processore, che gli consente di reagire agli eventi in modo tempestivo, interrompere il flusso del programma ed eseguire le azioni richieste. A causa della presenza di interruzioni, il processore è in grado di operare in pseudo-parallelo, ad es. al cosiddetto multitasking.

La gestione degli interrupt è la seguente. Il processore verifica una richiesta di interruzione prima di iniziare ogni ciclo. Se c'è un'interruzione da elaborare, il processore memorizza nello stack l'indirizzo dell'istruzione che avrebbe dovuto eseguire e i dati ricevuti dopo l'esecuzione dell'ultima istruzione e procede con l'esecuzione della funzione di gestione dell'interruzione.

Dopo la fine dell'esecuzione della funzione di servizio di interruzione, i dati salvati in essa vengono letti dallo stack e il processore riprende l'esecuzione del compito ripristinato.

Registri- memoria ad accesso casuale ultraveloce (l'accesso ai registri è parecchie volte più veloce dell'accesso alla memoria cache) di piccole dimensioni (diverse centinaia di byte), che fa parte del processore, per la memorizzazione temporanea dei risultati intermedi dell'esecuzione delle istruzioni. I registri del processore sono divisi in due tipi: registri generici e registri speciali.

I registri per scopi generici vengono utilizzati quando si eseguono operazioni aritmetiche e logiche o operazioni specifiche di set di istruzioni aggiuntive (MMX, SSE, ecc.).

I registri per scopi speciali contengono i dati di sistema necessari per il funzionamento del processore. Tali registri includono, ad esempio, registri di controllo, registri di indirizzi di sistema, registri di debug, ecc. L'accesso a questi registri è altamente regolamentato.

Contatore comandi- registro contenente l'indirizzo del comando che il processore inizierà ad eseguire al prossimo ciclo di lavoro.

Il processore è il microcircuito principale del computer. In genere, è anche uno dei componenti per PC più high-tech e costosi. Nonostante il processore sia un dispositivo separato, ha un gran numero di componenti nella sua struttura che sono responsabili di una funzione specifica. Qual è la loro specificità?

Processore: funzioni del dispositivo e cronologia dell'aspetto

Il componente PC, ora comunemente indicato come processore centrale, è caratterizzato da una sufficiente storia interessante origine. Pertanto, per comprenderne le specificità, sarà utile indagare alcuni fatti chiave sull'evoluzione del suo sviluppo. Il dispositivo, noto all'utente moderno come unità di elaborazione centrale, è il risultato di molti anni di miglioramento della tecnologia di produzione di microcircuiti informatici.

La visione degli ingegneri della struttura del processore è cambiata nel tempo. Nei computer della prima e della seconda generazione, i componenti corrispondenti consistevano in un gran numero di blocchi separati, molto dissimili nei loro compiti. A partire dalla terza generazione di computer, le funzioni del processore iniziarono a essere viste in un contesto più ristretto. Gli ingegneri progettisti di computer hanno stabilito che questo dovrebbe essere il riconoscimento e l'interpretazione delle istruzioni della macchina, inserendole nei registri e controllando altri componenti hardware del PC. Tutte queste funzioni hanno iniziato a essere combinate in un unico dispositivo.

Microprocessori

Con lo sviluppo della tecnologia informatica, nella struttura del PC iniziarono ad essere introdotti dispositivi chiamati "microprocessori". Uno dei primi dispositivi di questo tipo è stato il prodotto Intel 4004, rilasciato da una società americana nel 1971. I microprocessori sulla scala di un microcircuito combinavano nella loro struttura le funzioni che abbiamo definito sopra. I dispositivi moderni, in linea di principio, operano sullo stesso concetto. Pertanto, il processore centrale di un laptop, PC, tablet contiene nella sua struttura: un dispositivo logico, registri e un modulo di controllo responsabile di funzioni specifiche. Tuttavia, in pratica, i componenti dei moderni microcircuiti sono spesso presentati in un insieme più complesso. Studiamo questa caratteristica in modo più dettagliato.

La struttura dei moderni processori

Il processore centrale di un moderno PC, laptop o tablet è rappresentato dal kernel: ora è considerato la norma che ce ne siano diversi, memoria cache a vari livelli, nonché controller: RAM, bus di sistema. Le prestazioni di un tipo appropriato di microcircuito sono determinate dalle sue caratteristiche chiave. In quale aggregato possono essere rappresentati?

Caratteristiche più significative Unità centrale di elaborazione sui moderni PC sono i seguenti: il tipo di microarchitettura (di solito indicata in nanometri), frequenza di clock(in gigahertz), la quantità di memoria cache a ciascun livello (in megabyte), il consumo energetico (in watt) e la presenza o meno di un modulo grafico.

Studiamo più in dettaglio le specifiche del funzionamento di alcuni moduli chiave della CPU. Cominciamo con il kernel.

Core del processore

L'unità centrale di elaborazione di un moderno PC ha sempre un nucleo. Contiene i blocchi funzionali chiave del microcircuito, attraverso i quali svolge le necessarie funzioni logiche e aritmetiche. Di norma, sono presentati in un determinato insieme di elementi. Pertanto, il dispositivo del processore centrale assume più spesso la presenza di blocchi responsabili della risoluzione dei seguenti compiti:

Recupero e decodifica istruzioni;

Campionamento dati;

Seguendo le istruzioni;

Salvataggio dei risultati del calcolo;

Lavorare con gli interrupt.

Inoltre, la struttura dei microcircuiti del tipo corrispondente è integrata con un'unità di controllo, un dispositivo di memoria, un contatore di istruzioni e una serie di registri. Consideriamo più in dettaglio le specifiche del lavoro dei componenti corrispondenti.

Core del processore: componenti

Tra i blocchi chiave nel nucleo del processore centrale c'è quello che è responsabile della lettura delle istruzioni scritte nell'indirizzo registrato nel contatore di comandi. Di norma, durante un ciclo di clock vengono eseguite contemporaneamente più operazioni del tipo corrispondente. Il numero totale di istruzioni da leggere è predeterminato dall'indice nei blocchi di decodifica. Il principio principale qui è che ad ogni tick, i componenti contrassegnati vengono caricati al massimo. Per soddisfare questo criterio, nella struttura del processore possono essere presenti elementi hardware ausiliari.

Nel blocco di decodifica vengono elaborate le istruzioni che determinano l'algoritmo per il funzionamento del microcircuito nel corso della risoluzione di determinati problemi. Mantenerli in funzione è un compito arduo, secondo molti professionisti IT. Ciò è dovuto, in parte, al fatto che la durata dell'istruzione non è sempre chiaramente definita. I processori moderni di solito includono 2 o 4 blocchi in cui viene eseguita la decodifica corrispondente.

Per quanto riguarda i componenti responsabili del recupero dei dati, il loro compito principale è garantire che le istruzioni vengano ricevute dalla memoria cache o dalla RAM, necessarie per garantire l'esecuzione delle istruzioni. I core dei processori moderni di solito contengono diversi blocchi del tipo corrispondente.

Anche i componenti di controllo presenti nel microcircuito si basano su istruzioni decodificate. Sono chiamati ad esercitare il controllo sull'operato delle unità preposte all'esecuzione delle istruzioni, nonché a ripartire tra loro i compiti, per controllarne la tempestiva esecuzione. I componenti di controllo appartengono alla categoria dei più importanti nella struttura dei microprocessori.

Nei nuclei dei microcircuiti del tipo corrispondente, ci sono anche blocchi responsabili della corretta esecuzione delle istruzioni. Nella loro struttura, ci sono elementi come un'unità aritmetica e logica, nonché un componente responsabile dei calcoli in virgola mobile.

Ci sono blocchi nei core del processore che controllano l'elaborazione dell'espansione dei set impostati per le istruzioni. Questi algoritmi, oltre ai comandi di base, vengono utilizzati per aumentare l'intensità dell'elaborazione dei dati, per implementare procedure di crittografia o decrittazione dei file. La soluzione di tali problemi richiede l'introduzione di registri aggiuntivi nella struttura del nucleo del microcircuito, nonché set di istruzioni. I processori moderni di solito includono le seguenti estensioni: MMX (progettato per codificare file audio e video), SSE (utilizzato per parallelizzare i calcoli), ATA (utilizzato per velocizzare i programmi e ridurre il consumo energetico di un PC), 3DNow (espandere le capacità multimediali di un computer), AES (crittografia dei dati) e molti altri standard.

Nella struttura dei core del processore, di solito sono presenti blocchi responsabili della memorizzazione dei risultati nella RAM secondo l'indirizzo contenuto nell'istruzione.

Il componente principale che controlla l'operazione di interruzione del microcircuito è importante. Questa funzione consente al processore di garantire la stabilità dei programmi in condizioni di multitasking.

Il lavoro del processore centrale è anche associato all'uso dei registri. Questi componenti sono analoghi alla RAM, tuttavia, l'accesso ad essi viene eseguito molte volte più velocemente. Il volume della risorsa corrispondente è piccolo - di regola, non supera un kilobyte. I registri sono classificati in diversi gusti. Questi possono essere componenti di uso generale che sono coinvolti nell'esecuzione di calcoli aritmetici o logici. Esistono registri per scopi speciali che possono includere dati di sistema utilizzati dal processore durante il funzionamento.

Nella struttura del core del processore sono presenti anche vari componenti ausiliari. Quale per esempio? Questo potrebbe essere un sensore che tiene traccia di quale sia la temperatura attuale della CPU. Se le sue prestazioni sono superiori agli standard stabiliti, il microcircuito può inviare un segnale ai moduli responsabili del funzionamento delle ventole e inizieranno a ruotare più velocemente. Esiste un predittore di transizione nella struttura del kernel, un componente progettato per determinare quali istruzioni verranno eseguite dopo il completamento di determinati cicli di operazioni eseguite dal microcircuito. Un esempio di un altro componente importante è il contatore di comandi. Questo modulo fissa l'indirizzo dell'algoritmo corrispondente, che viene trasmesso al microcircuito nel momento in cui inizia a eseguire l'uno o l'altro ciclo.

Questa è la struttura del kernel, che è inclusa nell'unità di elaborazione centrale del computer. Studiamo ora più in dettaglio alcune delle caratteristiche chiave dei microcircuiti del tipo corrispondente. Vale a dire: tecnologia di processo, velocità di clock, dimensione della memoria cache e consumo energetico.

Caratteristiche del processore: tipo di tecnologia di processo

È consuetudine associare lo sviluppo della tecnologia informatica all'emergere di nuove generazioni di computer con il miglioramento delle tecnologie informatiche. Allo stesso tempo, oltre agli indicatori di prestazione, uno dei criteri per assegnare un computer a una determinata generazione può essere considerato la sua dimensione assoluta. I primissimi computer erano di dimensioni paragonabili a un edificio a più piani. I computer di seconda generazione erano di dimensioni paragonabili, per esempio, a un divano oa un pianoforte. I computer del livello successivo erano già molto vicini a quelli che ora ci sono familiari. A loro volta, i PC moderni sono computer di quarta generazione.

In realtà, a cosa serve tutto questo? Il fatto è che nel corso dell'evoluzione dei computer si è formata una regola non ufficiale: più il dispositivo è tecnologicamente avanzato, più piccole sono le dimensioni con le stesse prestazioni, e anche con più - ha. È pienamente valido in relazione alle caratteristiche considerate del processore centrale, vale a dire, il processo tecnico della sua fabbricazione. In questo caso è importante la distanza tra i singoli cristalli di silicio che formano la struttura del microcircuito. Più è piccolo, maggiore è la densità degli elementi corrispondenti che la scheda CPU pone su se stessa. Tanto più produttivo, di conseguenza, può essere considerato. I processori moderni sono realizzati secondo la tecnologia di processo a 90-14 nm. Questo indicatore tende a diminuire gradualmente.

Frequenza di clock

La velocità di clock del processore centrale è uno degli indicatori chiave delle sue prestazioni. Determina quante operazioni al secondo può eseguire il microcircuito. Più ce ne sono, più efficiente è il processore e il computer nel suo insieme. Si può notare che questo parametro caratterizza, prima di tutto, il core come modulo indipendente del processore centrale. Cioè, se ci sono diversi componenti corrispondenti sul microcircuito, ognuno di essi funzionerà a una frequenza separata. Alcuni professionisti IT ritengono accettabile sommare queste caratteristiche su tutti i core. Cosa significa? Se, ad esempio, il processore ha 4 core con una frequenza di 1 GHz, le prestazioni totali del PC, se segui questa metodologia, saranno di 4 GHz.

Componenti di frequenza

L'indicatore in esame è formato da due componenti. Innanzitutto, questa è la frequenza del bus di sistema - di solito è misurata in centinaia di megahertz. In secondo luogo, questo è il coefficiente per il quale viene moltiplicato l'indicatore corrispondente. In alcuni casi, i produttori di processori danno agli utenti la possibilità di regolare entrambi i parametri. Allo stesso tempo, se si impostano valori sufficientemente alti per il bus di sistema e il moltiplicatore, è possibile aumentare significativamente le prestazioni del microcircuito. Ecco come viene overcloccato il processore. È vero, devi usarlo con attenzione.

Il fatto è che durante l'overclocking, la temperatura del processore centrale può aumentare in modo significativo. Se sul PC non è installato un sistema di raffreddamento appropriato, ciò può portare al guasto del microcircuito.

Dimensione della cache

I processori moderni sono dotati di moduli di memoria cache. Il loro scopo principale è il posizionamento temporaneo dei dati, di regola, rappresentato da una serie di comandi e algoritmi speciali, quelli che vengono utilizzati più spesso nel funzionamento del microcircuito. Cosa dà questo in pratica? Innanzitutto, il fatto che il carico sul processore centrale può essere ridotto grazie al fatto che gli stessi comandi e algoritmi saranno disponibili online. Il microcircuito, dopo aver ricevuto istruzioni già pronte dalla memoria cache, non perde tempo a svilupparle da zero. Di conseguenza, il computer funziona più velocemente.

La caratteristica principale della memoria cache è il volume. Più è grande, più è capiente questo modulo in termini di posizione delle stesse istruzioni e algoritmi utilizzati dal processore. Più è probabile che il microcircuito trovi ogni volta quelli di cui hai bisogno tra loro e lavori più velocemente. La memoria cache sui processori moderni è spesso divisa in tre livelli. Il primo funziona sulla base dei microcircuiti più veloci e più high-tech, il resto - più lento. La quantità di memoria cache del primo livello sui processori moderni è di circa 128-256 KB, il secondo - 1-8 MB, il terzo - può superare i 20 MB.

Consumo energetico

Un altro parametro significativo del microcircuito è il consumo di energia. L'alimentazione della CPU può essere costosa. I moderni modelli di microcircuiti consumano circa 40-50 watt. In alcuni casi, questo parametro è di importanza economica, ad esempio quando si tratta di dotare le grandi imprese di diverse centinaia o migliaia di computer. Ma il consumo energetico non è meno significativo in termini di adattamento dei processori da utilizzare su dispositivi mobili- laptop, tablet, smartphone. Più basso è l'indicatore corrispondente, più lungo sarà lavoro autonomo dispositivo.

Ora ci sono molte informazioni su Internet sull'argomento dei processori, puoi trovare una serie di articoli su come funziona, dove vengono principalmente menzionati registri, orologi, interruzioni e così via ... Ma, per una persona che non ha familiarità con tutti questi termini e concetti, è abbastanza difficile in questo modo "con fly" approfondire la comprensione del processo, ma è necessario iniziare in piccolo, ovvero con una comprensione elementare come è organizzato il processore e quali sono le parti principali di cui è composto.

Quindi, cosa risulterà essere all'interno del microprocessore, se lo smonti:

il numero 1 denota la superficie metallica (coperchio) del microprocessore, che serve a dissipare il calore e proteggere da danno meccanico cosa c'è dietro questo coperchio (cioè all'interno del processore stesso).

Il numero 2 è il cristallo stesso, che di fatto è la parte più importante e costosa del microprocessore da produrre. È grazie a questo cristallo che avvengono tutti i calcoli (e questo è il vero funzione principale processore) e più è complesso, più è perfetto: più potente è il processore e più costoso, rispettivamente. Il cristallo è fatto di silicio. In effetti, il processo di fabbricazione è molto complesso e contiene decine di passaggi, maggiori dettagli in questo video:

Il numero 3 è uno speciale supporto di textolite, a cui sono attaccate tutte le altre parti del processore, inoltre, svolge il ruolo di un pad di contatto - ci sono un gran numero di "punti" dorati sul retro - questi sono contatti ( li puoi vedere un po 'nella figura). Grazie all'area di contatto (substrato), è assicurata una stretta interazione con il cristallo, poiché non è possibile influenzare direttamente il cristallo in alcun modo.

La copertura (1) è fissata al supporto (3) con un sigillante adesivo resistente alle alte temperature. Non c'è spazio d'aria tra il cristallo (2) e il coperchio, il suo posto è preso dal grasso termico, una volta solidificato forma un "ponte" tra il cristallo del processore e il coperchio, che garantisce un ottimo flusso di calore.

Il cristallo è collegato al substrato mediante saldatura e sigillante, i contatti del substrato sono collegati ai contatti del cristallo. Questa figura mostra chiaramente come i contatti del cristallo sono collegati ai contatti del substrato utilizzando fili molto sottili (nella foto c'è un aumento di 170 volte):

In generale, il dispositivo dei processori di produttori diversi e persino i modelli dello stesso produttore può variare notevolmente. Tuttavia, il principio di funzionamento rimane lo stesso: tutti hanno un substrato di contatto, un cristallo (o diversi situati nello stesso caso) e una copertura metallica per la dissipazione del calore.

Ad esempio, ecco come appare il substrato di contatto di un processore Intel Pentium 4 (il processore è invertito):

La forma dei contatti e la struttura della loro disposizione dipendono dal processore e scheda madre computer (le prese devono corrispondere). Ad esempio, nell'immagine appena sopra, i pin del processore sono senza "pin", poiché i pin si trovano direttamente nel socket della scheda madre.

E c'è un'altra situazione in cui i "pin" dei contatti sporgono direttamente dal substrato di contatto. Questa caratteristica è tipica principalmente per i processori AMD:

Come accennato in precedenza, il dispositivo diversi modelli i processori dello stesso produttore possono differire, ne abbiamo un vivido esempio: un processore quad-core Intel Core 2 Quad, che è essenzialmente 2 processori dual-core della linea core 2 duo, combinati in un caso:

Importante! Il numero di cristalli all'interno di un processore e il numero di core del processore non sono gli stessi.

Nei modelli moderni Processori Intel si adatta a 2 cristalli (chip) contemporaneamente. Il secondo chip è il core grafico del processore, infatti, svolge il ruolo di una scheda video incorporata nel processore, ovvero, anche se il sistema è assente, il core grafico assumerà il ruolo di una scheda video, e abbastanza potente (in alcuni modelli di processore, la potenza di calcolo dei core grafici consente di giocare a giochi moderni con impostazioni grafiche medie).

È tutto dispositivo centrale a microprocessore, insomma, ovviamente.

Lo strumento è più semplice della macchina. Lo strumento viene spesso utilizzato a mano e la macchina è alimentata dal vapore o da un animale.

Charles Babbage

Un computer può anche essere chiamato macchina, ma al posto del vapore c'è l'elettricità. Ma la programmazione ha reso il computer semplice come qualsiasi strumento.

Il processore è il cuore/cervello di qualsiasi computer. Il suo scopo principale sono le operazioni aritmetiche e logiche e, prima di immergersi nella giungla del processore, è necessario comprenderne i componenti principali e come funzionano.

I due componenti principali di un processore

Dispositivo di controllo

Un'unità di controllo (CU) aiuta il processore a controllare ed eseguire le istruzioni. L'UU dice ai componenti esattamente cosa fare. In conformità con le istruzioni, coordina il lavoro con altre parti del computer, incluso il secondo componente principale: l'unità logica aritmetica (ALU). Tutte le istruzioni vanno prima direttamente al dispositivo di controllo.

Esistono due tipi di implementazione UU:

  • UU su logica rigida(centraline cablate inglesi). La natura del lavoro è determinata dalla struttura elettrica interna: il dispositivo del circuito stampato o del cristallo. Di conseguenza, la modifica di tale CU senza intervento fisico è impossibile.
  • CU con controllo a microprogramma(centraline microprogrammabili inglesi). Può essere programmato per vari scopi. La parte di programma viene salvata nella memoria della CU.

I controller hard logic sono più veloci, ma i controller microprogrammati hanno funzionalità più flessibili.

Unità logica aritmetica

Questo dispositivo, stranamente, esegue tutte le operazioni aritmetiche e logiche, come addizione, sottrazione, OR logico, ecc. ALU è costituito da elementi logici che eseguono queste operazioni.

La maggior parte delle porte logiche ha due ingressi e un'uscita.

Di seguito è riportato un diagramma di un mezzo sommatore, che ha due ingressi e due uscite. A e B qui sono ingressi, S è un'uscita, C è un trasferimento (al bit più significativo).

Circuito mezzo sommatore aritmetico

Archiviazione delle informazioni - registri e memoria

Come accennato in precedenza, il processore esegue i comandi che gli arrivano. I comandi nella maggior parte dei casi funzionano con dati che possono essere intermedi, di input o di output. Tutti questi dati, insieme alle istruzioni, sono archiviati nei registri e nella memoria.

Registri

Register è la cella minima di memoria dati. I registri sono costituiti da latch / flip-flop. I trigger, a loro volta, sono costituiti da elementi logici e possono memorizzare 1 bit di informazioni.

ca. trad. I trigger possono essere sincroni o asincroni. Quelli asincroni possono cambiare il loro stato in qualsiasi momento e quelli sincroni solo durante un fronte positivo/negativo all'ingresso di sincronizzazione.

Per il loro scopo funzionale, i trigger sono divisi in diversi gruppi:

  • RS-flip-flop: mantiene il suo stato a livello zero su entrambi gli ingressi e lo cambia quando si imposta uno su uno degli ingressi (Reset / Set - Reset / Set).
  • Flip-flop JK: identico al flip-flop RS tranne per il fatto che quando le unità vengono alimentate a due ingressi contemporaneamente, il flip-flop cambia il suo stato nell'opposto (modalità di conteggio).
  • T-flip-flop: cambia il suo stato al contrario ad ogni ciclo di clock al suo unico ingresso.
  • D-flip-flop: ricorda lo stato in ingresso al momento della sincronizzazione. I flip-flop D asincroni sono privi di significato.

La RAM non è adatta per memorizzare dati intermedi, poiché rallenterà il processore. I dati intermedi vengono inviati ai registri tramite il bus. Possono memorizzare comandi, dati di output e persino indirizzi di celle di memoria.

Il principio di funzionamento del grilletto RS

Memoria (RAM)

La RAM (memoria ad accesso casuale) è un grande gruppo di questi stessi registri collegati tra loro. La memoria di tale memoria è volatile e i dati da lì scompaiono quando l'alimentazione viene spenta. La RAM prende l'indirizzo della posizione di memoria in cui devono essere inseriti i dati, i dati stessi e un flag di scrittura/lettura che attiva i trigger.

ca. trad. La memoria ad accesso casuale è statica e dinamica, rispettivamente SRAM e DRAM. Nella memoria statica, le celle sono trigger e nella memoria dinamica condensatori. SRAM è più veloce e DRAM è più economico.

Comandi (istruzioni)

I comandi sono le azioni effettive che il computer dovrebbe intraprendere. Sono di diversi tipi:

  • Aritmetica: addizione, sottrazione, moltiplicazione, ecc.
  • rompicapo: AND (moltiplicazione logica/congiunzione), OR (somma logica/disgiunzione), negazione, ecc.
  • Informazione: sposta, inserisci, esci, carica e memorizza.
  • Comandi di salto: goto, se... goto, chiama e ritorna.
  • Comando di arresto: ferma.

ca. trad. Infatti, tutte le operazioni aritmetiche in ALU possono essere create sulla base di due sole: addizione e spostamento. Tuttavia, più operazioni di base sono supportate da un'ALU, più è veloce.

Le istruzioni vengono fornite al computer in linguaggio assembly o generate da un compilatore di linguaggio di alto livello.

In un processore, le istruzioni sono implementate nell'hardware. In un ciclo di clock, un processore single-core può eseguire un'istruzione elementare (di base).

Un gruppo di istruzioni viene solitamente chiamato set di istruzioni.

Orologio della CPU

La velocità di un computer è determinata dalla velocità di clock del suo processore. Frequenza di clock - il numero di cicli di clock (rispettivamente e comandi eseguibili) al secondo.

La frequenza degli attuali processori è misurata in GHz (Gigahertz). 1 GHz = 10 Hz - miliardi di operazioni al secondo.

Per ridurre il tempo di esecuzione del programma, è necessario ottimizzarlo (ridurlo) o aumentare la frequenza di clock. Alcuni processori hanno la capacità di aumentare la frequenza (overclockare il processore), ma tali azioni influiscono fisicamente sul processore e spesso causano surriscaldamento e guasti.

Segui le istruzioni

Le istruzioni sono memorizzate nella RAM in ordine sequenziale. Per un ipotetico processore, un'istruzione consiste in un codice operativo e un indirizzo di memoria/registro. All'interno del dispositivo di controllo sono presenti due registri di istruzione, nei quali vengono caricati il ​​codice del comando e l'indirizzo del comando attualmente eseguibile. Il processore dispone anche di registri aggiuntivi che memorizzano gli ultimi 4 bit delle istruzioni eseguite.

Di seguito è riportato un esempio di un set di comandi che aggiunge due numeri:

  1. CARICO_A 8. Questo comando salva i dati nella RAM, diciamo<1100 1000>... I primi 4 bit sono l'opcode. È lui che definisce l'istruzione. Questi dati vengono inseriti nei registri delle istruzioni UU. L'istruzione viene decodificata nell'istruzione load_A - inserisci i dati 1000 (ultimi 4 bit dell'istruzione) nel registro A.
  2. CARICA_B 2. La situazione è simile a quella precedente. Questo pone il numero 2 (0010) nel registro B.
  3. AGGIUNGI B A. Il comando aggiunge due numeri (più precisamente, aggiunge il valore del registro B al registro A). L'UU dice all'ALU di eseguire l'operazione di somma e rimettere il risultato nel registro A.
  4. NEGOZIO_A 23. Salviamo il valore del registro A nella locazione di memoria 23.

Queste sono le operazioni necessarie per sommare due numeri.

Pneumatico

Tutti i dati tra processore, registri, memoria e dispositivi I/O (dispositivi input-output) vengono trasferiti su bus. Per caricare in memoria i dati appena elaborati, il processore inserisce l'indirizzo sul bus indirizzi ei dati sul bus dati. Quindi è necessario autorizzare la scrittura sul bus di controllo.

cache

Il processore ha un meccanismo per memorizzare le istruzioni nella cache. Come abbiamo appreso in precedenza, un processore può eseguire miliardi di istruzioni in un secondo. Pertanto, se ogni istruzione fosse memorizzata nella RAM, la sua rimozione da lì richiederebbe più tempo dell'elaborazione. Pertanto, per accelerare il lavoro, il processore memorizza parte delle istruzioni e dei dati nella cache.

Se i dati nella cache e nella memoria non corrispondono, vengono contrassegnati con bit sporchi.

Flusso di istruzioni

I processori moderni possono elaborare più istruzioni in parallelo. Mentre un'istruzione è in fase di decodifica, il processore potrebbe avere il tempo di ricevere un'altra istruzione.

Tuttavia, questa soluzione è adatta solo per istruzioni indipendenti l'una dall'altra.

Un processore multi-core significa che contiene effettivamente diversi processori separati con alcune risorse condivise, come la cache.

Struttura della CPU

Per chiarire a un non professionista come funziona il processore centrale di un computer, considera in quali blocchi è composto:

Unità di controllo del processore;

Registri di comando e dati;

Dispositivi logici aritmetici (eseguono operazioni aritmetiche e logiche);

Un blocco di operazioni con numeri reali, cioè con numeri in virgola mobile o, più semplicemente, con frazioni (FPU);

Memoria buffer (cache) di primo livello (separatamente per istruzioni e dati);

Memoria tampone (cache) di secondo livello per la memorizzazione dei risultati di calcoli intermedi;

La maggior parte dei processori moderni ha anche una cache L3;

Interfaccia bus di sistema.

Come funziona il processore

L'algoritmo del processore centrale di un computer può essere rappresentato come una sequenza delle seguenti azioni.

L'unità di controllo del processore prende dalla RAM, in cui è caricato il programma, determinati valori (dati) e comandi che devono essere eseguiti (istruzioni). Questi dati vengono caricati nella cache del processore.

Dalla memoria buffer (cache) del processore, le istruzioni ei dati ricevuti vengono scritti nei registri. Le istruzioni sono collocate nei registri delle istruzioni e i valori nei registri dei dati.

L'unità logica aritmetica legge istruzioni e dati dai corrispondenti registri del processore ed esegue queste istruzioni sui numeri ricevuti.

I risultati vengono nuovamente scritti nei registri e, se i calcoli sono terminati, nella memoria buffer del processore. Il processore ha pochissimi registri, quindi è costretto a memorizzare risultati intermedi nella memoria cache di vari livelli.

I nuovi dati e comandi necessari per i calcoli vengono caricati nella cache di livello superiore (dal terzo al secondo, dal secondo al primo) e i dati non utilizzati, al contrario, nella cache di livello inferiore.

Se il ciclo di calcolo è terminato, il risultato viene scritto su RAM il computer per liberare spazio nella memoria buffer del processore per nuovi calcoli. La stessa cosa accade quando la memoria cache sta traboccando di dati: i dati non utilizzati vengono spostati nella cache di livello inferiore o nella RAM.

La sequenza di queste operazioni costituisce il thread operativo del processore. Il processore si surriscalda durante il funzionamento. Per evitare che ciò accada, è necessario pulire tempestivamente il laptop a casa.

Per velocizzare la CPU e aumentare le prestazioni di elaborazione, vengono costantemente sviluppate nuove soluzioni architetturali per aumentare l'efficienza del processore. Tra questi, l'esecuzione delle operazioni della pipeline, il tracciamento, ovvero un tentativo di anticipare ulteriormente azioni del programma, elaborazione parallela di comandi (istruzioni), multithreading e multicore.

Un processore multi-core ha diversi core di calcolo, ovvero diverse unità aritmetico-logiche, unità di calcolo e registri a virgola mobile, nonché una cache di primo livello, ciascuna combinata nel proprio core. I core hanno una memoria buffer comune di secondo e terzo livello. L'aspetto della cache L3 è stato causato proprio dal multicore e, di conseguenza, dalla necessità di una maggiore quantità di memoria buffer veloce per memorizzare i risultati di calcolo intermedi.

I principali indicatori che influiscono sulla velocità di elaborazione di un processore sono il numero di core di elaborazione, la lunghezza della pipeline, la frequenza di clock e la memoria cache. Per aumentare le prestazioni di un computer è spesso necessario cambiare il processore, e questo comporta la sostituzione della scheda madre e della RAM. I nostri specialisti ti aiuteranno ad aggiornare, configurare e riparare il tuo computer a casa a Mosca. centro Servizi se il processo ti spaventa autoassemblaggio e aggiornamenti del computer.

© 2021 hecc.ru - Notizie sulla tecnologia informatica