HardwareGuide informatiche

Che cos’è la CPU e come funziona?

cos'è la cpu


In una società volta a creare cose sempre più grandi, noi agiamo nelle retrovie con l’intento di semplificare e ottimizzare tecnologie impercettibili all’occhio umano: la CPU.

La seguente guida è stata sviluppata interamente dal Team MiglioriPc.it, le informazioni fornite sono frutto della nostra conoscenza. Qualora vi siano degli errori, vi preghiamo di comunicarcelo.

Inoltre, ci tengo a sottolineare che il registro, a volte inappropriato e la semplicità delle spiegazioni, servono solo a comprendere più facilmente un argomento spigoloso come questo ad utenti meno esperti.

Che cos’è la CPU? Come funziona?

Che cos'è la CPU

Queste sono due delle domande alle quali i meno esperti avranno sicuramente cercato più volte una domanda.

Il processore o CPU (central processing unit) è l’unità di elaborazione delle informazioni centrale.

È collocato sulla mobo (scheda madre) nell’apposito socket, fatto solitamente di silicio, facilmente riconoscibile per la presenza di una ventola o di un sistema di raffreddamento abbastanza ingombrante su di esso.

Il suo ruolo è privilegiato tra i componenti del nostro PC: infatti, questa eccezionale tecnologia, che ha raggiunto un processo produttivo a 14 nm e si proietta nel futuro dei 10 nm (limite fisico massimo per la produzione), gestisce i rapporti tra le periferiche, la memoria primaria, secondaria ed esegue calcoli tramite un linguaggio macchina, dettato dallo stato di accensione/spegnimento dei transistors posti in esso.

Infatti, questi microprocessori utilizzano il sistema binario come base per l’elaborazione dati. Quest’ultimo è basato sui numeri 1 e 0 ,che rispettivamente indicano segnale attivo(acceso) e segnale inattivo(spento).

Il codice binario (o numerazione binaria) è stato inventato dal matematico Pascal nel XVII secolo, che fu anche il padre della prima macchina di calcolo. Questo sistema di enumerazione è stato visto sposarsi perfettamente con una macchina di natura elettrica, da cui deriva il Linguaggio macchina.

Anche la migrazione dei dati all’interno del System Bus avviene tramite segnale elettrico.

I processori hanno subito tantissime mutazioni nel corso degli anni, per quanto riguarda prestazioni, funzionalità, generazioni, socket ecc… Ma il futuro sembra quasi ormai essere un vicolo cieco da quando la legge di Moore (uno dei fondatori di Intel) non rispetta i tempi previsti:« La complessità di un microcircuito, misurata ad esempio tramite il numero di transistori per chip, raddoppia ogni 18 mesi. »

Anche gli italiani prendono parte a questo gande progresso: il primo micro-processore è stato ideato da un fisico italiano di nome Federico Faggin.

Com’è composto un processore?

Questi calcolatori sono generalmente composti da due parti importantissime:

  • ALU Arithmetic Logic Unit
  • CU    Control Unit

Nel primo caso, si tratta di un unità in grado di svolgere “semplici” calcoli matematici come addizioni, sottrazioni fino alle “manovre” più complesse.
Mentre l’unità di controllo, come vedremo, terrà ordine all’interno del processore monitorando l’esecuzione delle azioni.

Inoltre, al suo interno vi sono altre sezioni non meno importanti come:

  • Registri Interni
  • Bus Interno
  • Unità di controllo (anche definiti controller)

Registri interni sono delle piccole celle che eseguono istruzioni in base la loro dimensione in bit, alcuni di essi sono detti speciali e risultano inaccessibili alle istruzioni (che ora vedremo). Inoltre il set d’istruzioni dei registri,32 o 64 bit , determina l’eventuale supporto o meno dei sistemi operativi a 32 bit, e nel secondo caso a 32 bit e anche a 64.

Di seguito vi fornisco una lista completa di tutti i registri. Chi non volesse approfondire l’argomento può saltarli poiché non sono semplici da memorizzare.

  • PC Program Counter -> Detiene l’indirizzo di memoria dove è collocata la prossima istruzione da eseguire.
  • IR Istruction Register -> Archivia l’istruzione in esecuzione.
  • SR Status Register -> Monitora l’eventualità che si verifichino anomalie durante le operazioni.
  • AR Accumulator Register ->Tiene a mente operazioni veloci come somme e risultati parziali.
  • MDR Memory Data Register -> Contiene dati che stazionano prima di giungere da/alla memoria principale (ovvero la RAM).
  • MAR Memory Address Register -> Contiene l’indirizzo dove prelevare o depositare un’istruzione.
  • GPR General Purpose Register -> Registro ad uso casuale-generale, utilizzato anche per risultati intermedi di operazioni.

Tutti questi Registri sono molto veloci, quanto la velocità di clock della cpu, e sono collegati con dei fili che hanno le dimensioni circa 5 volte minori a quelle di un capello. Tali fili compongono il bus interno del processore che, appunto, mette in relazione CU/ALU e Registri.

cos'è la cpu

Altrettanto importante è il System Bus che possiamo per comodità suddividere in:

  1. Data Bus – utilizzato per la trasmissione dei dati secondo il metodo di accensione/spegnimento dei bit del sistema binario, come il resto dei bus esterni si collega a Memoria primaria, memoria di massa, periferiche I/O ecc..
    Permette il passaggio di dati fino a 64 bit, 8 byte, anche se spesso vengono utilizzati bus più piccoli aumentando la velocità di trasmissione. La dimensione del Bus Dati indica la capacità di spostare informazioni.
  2. Address Bus – È un insieme di “fili” che portano un bit d’informazione con la locazione di memoria dove si trova il dato obiettivo. La larghezza massima dell’address bus indica inoltre la RAM massima gestibile dalla cpu e appunto serve ad individuare l’indirizzo di locazione dei dati.
  3. Control Bus – Questo Bus permette l’interconnessione tra le periferiche. La cpu spedisce informazioni riguardanti le istruzioni da eseguire e le periferiche restituiscono un segnale di status di verifica.

I Moderni processori si aggirano circa sui 3/4 Ghz di frequenza di clock.

La frequenza di clock è la velocità con cui un processore riesce ad eseguire un ciclo: più alta è e più velocemente il processore elaborerà i dati.

Ma non basta paragonare le frequenze dei processori per dare un verdetto finale: infatti ci sono altri parametri da tenere in considerazione. Tra questi vi è la Cache.

Quest’ultima è una memoria ad altissima velocità fatta di SRAM. È stata ideata poiché la velocità del processore è talmente alta che il rapporto con la RAM (memoria primaria) causa un bottleneck (detto collo di bottiglia, questo evento si verifica quando la differenza prestazionale tra due componenti è talmente tanto elevata che il più lento non riesce a gestire il carico e costringe la cpu ad andare a frequenze più basse rallentando le performance generali).

Pertanto, se inizialmente posta sulla scheda madre, infine è stata implementata nel die del processore (supporto su cui è creato il processore). Ne esistono di 3 tipi L1, L2 ed L3.

Rispettivamente, nell’ordine in cui sono citate, vengono chiamate in causa per non dover prendere le informazioni dalla “lenta” RAM. Funzionano in ordine: se nella prima il processore non trova ciò che cerca, passa alla seconda e, successivamente ancora, alla terza.

Intel sostiene che la percentuale di individuazione dell’obiettivo nella cache L1 è del 90%.

Quindi, qualora si dovesse verificare un cache miss, con quelle restanti probabilità si passerà alla ricerca nella seconda partizione di chace. La terza e ultima sezione, la cache L3, è condivisa per tutti i core mentre le due precedenti sono egualmente divise.

Una tecnologia definita non blocking permette comunque di procedere con i calcoli anche in caso di cache miss. Un’altra, detta TLB, consente un miglior recupero in seguito un miss.

Esistono inoltre tre metodi di organizzazione della cache:

  1. Mappatura Diretta – Metodo di sistemazione e ricerca della cache veloce ma meno preciso.
  2. Totalmente Associativa – Metodo di sistemazione e ricerca della cache meno veloce ma più preciso.
  3. Parzialmente Associativa – Compromesso prestazionale tra le due sopra citate.
cos'è la cpu

Infine prima di chiudere questa sezione sullo “scheletro” di un processore dobbiamo parlare di Core e Threads.

Durante l’anno 2005, i due mega-produttori di processori (curiosità: uno stabilimento per la realizzazione di cpu costa circa 5 miliardi di dollari), si resero conto di non poter alzare di più le frequenze.

Decisero, pertanto, di inventare una tecnologia chiamata multi-core. Questa prevede l’utilizzo in uno stesso processore di più unità di elaborazione, chiuse dentro un involucro detto “package“.

Un Thread invece è la suddivisione di processo  in più sotto-processi. Portando un grosso beneficio a livello prestazionale, questa funzione può essere sfruttata sia su processori a singolo core che multi-core, anche se solitamente i core sono meno dei threads.

Quando la CPU esegue alternativamente istruzioni di thread differenti, si parla di multithreading, ma la sincronizzazione dei threads risulta molto difficile.

Come processare un’istruzione?

I processori sono basati su una struttura detta pipeline, che, in un ciclo di clock, riesce a svolgere un’istruzione seguendo cinque fasi fondamentali. Innanzitutto bisogna chiarire che cos’è questa maledetta istruzione che compare in questa guida qua e là: nient’altro che un un comando impartito (processo) in un linguaggio particolare.

Le 5 fasi di un pipeline comprendono:

  1. IF (Instruction Fetch): Lettura dell’istruzione da memoria principaleFivestagespipeline
  2. ID (Instruction Decode): Decodifica istruzione
  3. EX (Execution): Esecuzione dell’istruzione
  4. MEM (Memory): Attivazione della memoria (fase riselvata a istruzioni particolari)
  5. WB (Write Back): Scrittura del risultato nel registro opportuno

La Pipeline rappresenta nel suo campo la massima opportunità di parallelizzazione del lavoro. Questi stadi sono opportunamente studiati per permettere lo sviluppo di più di un’istruzione nello stesso ciclo di clock permettendo al processore, qualora si trovi in uno stadio, di iniziare a processare contemporaneamente quello precedente come in figura.

Il ciclo termina nella colonna verde quando, alla prima linea, sarà terminata la prima istruzione. Nelle altre sarà ancora in corso ma certamente questa tecnologia abbatte al minimo i tempi di attesa.

Capito come funziona un processore?

Per qualsiasi cosa che risulti meno chiara, ti invito a commentare il presente articolo: il confronto è fondamentale per la crescita reciproca.

Migliori processori per pc

I produttori più famosi di processori per pc sono sicuramente Intel e AMD: nel corso degli anni, a seconda anche della fascia di prezzo, si potrà consigliare un marchio piuttosto che un altro.

Pertanto ti proponiamo la lettura della nostra guida dedicata ai migliori processori per pc dove andiamo oltre una semplice classificazione basata su performance, benchmark e freddi numeri. Abbiamo poi dedicato anche guide specifiche ai processori AMD ed ai processori Intel.

Luca Storia

Luca Storia è un professionista a tutto tondo, Co-Founder di MiglioriPc.it, al quale si dedica a tempo pieno da ormai diversi anni.Oltre a dirigere il programma editoriale dell'intera redazione è anche abile nelle pubbliche relazioni ed è uno specialista della Search Engine Optimization (SEO).Si destreggia anche magistralmente nella creazione di contenuti grazie alle sua preparazione in fotografia, grafica tradizionale o vettoriale e video-making.

Articoli correlati

42 Commenti

  1. Siete stati davvero bravissimi!,, la guida è ottima e vi invito a continuare perché il progetto che portate avanti è super utile e formativo…complimenti!

  2. Un perfetto equilibrio viene data da un procssore veloce con ram velocce se uno dei componenti e lento il computer sara lento o comunque non dara le prestazioni reali

  3. Apprezzo la sforzo, ma alla fine possibile che non si riesca a spiegare come riesce ”da solo” il microprocessore a fare quello che fa senza disegni e senza gergo tecnico? Quando lo costruiscono, chi gli dice cosa dovrà fare? Ma anche un processore va programmato dopo che è stato creato in fabbrica? Non ho ancora trovato domande a queste risposte, ma magari la colpa è mia perchè non afferro alcuni concetti base di informatica o di matematica. Grazie e spero di avere un giorno della risposte! 🙂

    1. la ram contiene le istruzioni dei programmi che la CPU dovrà processare. La CPU si limita come dal nome a processare i dati che gli vengono forniti dalle altre periferiche. Nel processo di fabbricazione ALU e il CU sono già funzionanti e operativi perchè basati sul sistema binario quindi già programmati e pronti all’uso! la CU alla fine supervisiona il lavoro generale della CPU è ALU invece che dovrà svolgere tutti i calcoli sia fisici che logici. Spero che tu abbia capito questo concetto, a presto! 🙂

        1. Salve Erica,

          in linea generale credo che quello che mi abbia detto sia corretto a meno di fraintendimenti.

          Distinti Saluti
          Luca Storia (Co-Founder MiglioriPc.it)

    1. Salve Luigi, grazie per il feedback, come citato all’inizio dell’articolo l’argomento è al quanto spigoloso e si presume perciò che si abbiano delle conoscenze base tali da permetterne la comprensione, purtroppo (o forse per fortuna) le CPU hanno un funzionamento talmente complicato per il quale non è possibile parlarne con termini grezzi e banali. Ha appena letto una guida approfondita, e dubito riesca a trovare in rete qualcosa che possa essere semplificato più di quanto abbiamo fatto, ci scusiamo per l’inconveniente e la invitiamo a visitare altri articoli.

      Distinti Saluti,
      Team Miglioripc.it

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Pulsante per tornare all'inizio