Questa testata è partner di La Repubblica e contribuisce alla sua audience
Hot topics:
News su Guide ai regali di Natale
52 minuti

Come funziona il computer: il processore - Parte 1

Il processore per molti è un pezzo silicio che fa andare il computer, ma all'interno nasconde tante cose. In questo primo articolo affrontiamo il tema della frequenza e delle cache.

Come funziona il computer: il processore - Parte 1

Il computer si evolve

Il mondo dei computer è mutato, rispetto anche solo a 5 anni fa. Intel ha cambiato a più riprese i socket dei propri microprocessori, AMD ha introdotto APU sempre migliori e complesse, è arrivato l'UEFI, gli SSD sono diventati un prodotto sempre più popolare e, che vi piaccia o no, Microsoft ha presentato Windows 8.

Dato che molte persone continuano ad avvicinarsi al mondo dei PC, abbiamo deciso di parlarvi un po' di alcuni termini che a volte sono difficili comprendere. In questo articolo ci concentriamo sul processore. Come accennato, ci rivolgiamo a un pubblico di neofiti e non all'appassionato che ci legge quotidianamente e ha tanta competenza.

Parlando di CPU spesso si snocciolano un sacco di specifiche che possono confondere i meno informati. Diciamo subito che i processori si possono identificare con due parametri principali: l'ampiezza e la rapidità. La velocità di un processore è un concetto abbastanza semplice, e si conta in megahertz e gigahertz, che significano milioni e miliardi, rispettivamente, di cicli al secondo (e più alto è il numero meglio è). L'ampiezza di un processore è qualcosa di più complicato perché sono tre le specifiche espresse sotto forma di ampiezze: bus dati (I/O), bus indirizzi e registri interni.

Intel 1150 i5-4690K Ci5 Box Intel 1150 i5-4690K Ci5 Box
AMD APU A6 6400K Black Edition Dual Core AMD APU A6 6400K Black Edition Dual Core
Intel Ci7 Box Processore CPU 1150 i7-4790K Intel Ci7 Box Processore CPU 1150 i7-4790K
AMD AM3+ FX-8350 AMD AM3+ FX-8350
Intel i5 4590 Quad Core Intel i5 4590 Quad Core

Il bus dati di un processore è chiamato anche front side bus (FSB), processor side bus (PSB) o solo CPU bus. Tutti questi termini si riferiscono a un collegamento (bus appunto) posto tra la CPU e il chipset principale (North Bridge o Platform Controller Hub). Intel usa la terminologia FSB o PSB, mentre AMD usa solo FSB.

Il numero di bit con cui un processore è stato progettato può confondere. I processori più moderni hanno bus dati a 64 bit o anche più ampi, ma non significa che siano classificabili come processori a 64 bit. Processori dal 386 fino al Pentium 4 e l'Athlon XP sono considerati a 32 bit perché i registri interni sono ampi 32 bit, anche se i bus dati di I/O hanno un'ampiezza di 64 bit e il loro bus indirizzi sia ampio 36 bit. I processori dalla serie Intel Core 2 e AMD Athlon 64 sono stati considerati a 64 bit perché i loro registri interni sono ampi 64 bit.

Ecco una tabella che descrive le differenti specifiche usate per catalogare i microprocessori PC; parleremo delle varie voci in dettaglio nelle prossime pagine.

Processore Intel Core i5 (Ivy Bridge) AMD FX (Vishera)
Core 4 8 / 6 / 4
Processo 22 nm 32 nm
Frequenza >2x >2x
Tensione 1.4 V 0.825-1.475 V
Registri 64-bit 64-bit
Data Bus 64-bit 64-bit
Memoria max. 32 GB 1 TB
Cache L1 >64 KB 32KB I/16K D per core
Cache L2 256 KB per core 1 MB per core
Cache L3 6 MB 8 MB (8 / 6-core)
4 MB (4-core)
Velocità cache L2/L3 Core Core
Istruzioni multimediali SSE4.2, AVX SSE4.2, AVX, FMA4
Transistor 1.4 miliardi 1.2 miliardi
Debutto Aprile 2012 Ottobre 2012

Bus dati di I/O, bus indirizzi e registri interni

Bus dati di I/O

Due delle caratteristiche più importanti di un processore sono la velocità e l'ampiezza dei bus dati esterni. Questi definiscono la velocità con cui un dato si può spostare all'interno o esterno del processore.

I dati in un computer sono inviati come informazioni digitali rappresentati come 1 e 0 tramite i segnali elettrici. Si può aumentare la quantità di dati inviati (bandwidth) incrementando il ciclo di tempo o il numero di bit inviati alla volta, o entrambi. Negli anni i bus dati del processore sono passati da 8 bit a 64 bit di ampiezza. Più collegamenti abbiamo, più bit possiamo inviare nello stesso intervallo: tutti i processori più moderni hanno bus dati ampi 64 bit (8 byte), e perciò possono trasferire 64 bit di dati alla volta da e verso il chipset della motherboard o la memoria di sistema.

Un buon modo per comprendere come si muovono le informazioni è immaginare un'autostrada e il traffico che si muove su di essa. Per far aumentare il traffico (far muovere più auto in un determinato tempo) possiamo aumentare la velocità delle auto, aggiungere più corsie o entrambe le cose.

Con l'evoluzione dei processori sono state aggiunte più linee. Potete pensare a un chip a 8-bit come un'autostrada a singola corsia dato che passa 1 byte alla volta (1 byte= 8 bit). I chip a 16 bit, con 2 byte che si muovono alla volta, ricordano a un'autostrada a due corsie. Con quattro linee in ogni direzione abbiamo un bus dati a 32 bit, che sposta 4 byte alla volta. Il bus dati a 64 bit è come una strada a otto corsie da e verso il chip.

Dopo aver raggiunto bus ampi 64 bit i progettisti dei chip hanno scoperto che non era possibile aumentare ulteriormente la velocità, perché era troppo difficile sincronizzare tutti i 64 bit. Ma tornando a un minor numero di linee era possibile aumentare la velocità dei bit - vale a dire riducendo il ciclo di clock - in modo da consentire larghezze di banda superiori. Per questo motivo molti nuovi processori hanno bus dati ampi solo 4 o 16 bit, eppure offrono larghezze di banda maggiori rispetto ai precedenti bus a 64 bit.

Un altro miglioramento nei nuovi processori sta nell'uso di bus multipli separati per operazioni differenti. Il progetto tradizionale dei processori richiede che tutti i dati passino da un singolo bus, mentre i nuovi processori hanno bus fisici separati per dati da e verso il chipset, memoria e slot grafico.

Address Bus

L'address bus è un insieme di fili che trasportano l'informazione che descrive la locazione di memoria, nella quale il dato è stato inviato o da cui il dato è stato recuperato. Come con il bus dati, ogni filo in un address bus trasporta un singolo bit d'informazione. Questo singolo bit è una sola cifra nell'indirizzo: più fili (cifre) usate per calcolare questi indirizzi, maggiore è il numero totale delle "address location". La dimensione - o l'ampiezza - dell'address bus indica anche la quantità massima di RAM che un chip può gestire.

L'analogia dell'autostrada fatta in precedenza può far capire come s'inseriscono gli address bus in questo discorso. Se il bus dati è l'autostrada e la dimensione del bus dati è equivalente al numero di corsie, l'address bus si riferisce al numero civico o indirizzo. La dimensione dell'address bus è equivalente al numero di cifre nell'indirizzo di casa. Per esempio, se vivete in una strada nella quale l'indirizzo è stato limitato a un numero a due cifre - base 10 - non ci possono essere più di 100 indirizzi distinti (00-99) per quella strada (102). Aggiungete un'altra cifra e il numero di indirizzi disponibili sale a 1000 (000-999), o 103.

I computer usano il sistema di numerazione binaria (base 2), quindi un numero a due cifre fornisce solo quattro indirizzi unici (00, 01, 10 e 11), calcolati come 22. Un numero di tre cifre fornisce solo otto indirizzi (000-111), che è 23. Per esempio, i processori 8086 e 8088 usavano un bus address a 20 bit per calcolare un massimo di 220 - o 1,048,576 byte (1MB) - di "address location". La seguente tabella descrive le capacità d'indirizzamento della memoria dei processori.

AMD/Intel 64-bit
Address Bus 40-bit
Byte 1,099,511,627,776
KiB 1,073,741,824
MiB 1,048,576
GiB 1024
TiB 1

Il bus dati e l'address bus sono indipendenti e i progettisti del chip possono usare la dimensione che vogliono per ciascuno. Solitamente i chip con bus dati più ampi hanno address bus più grandi. La dimensione dei bus può fornire un'importante informazione circa la potenza del chip, misurata in due modi. La dimensione del bus dati indica la capacità del chip di spostare l'informazione, e la dimensione dell'address bus vi dice quanta memoria può gestire il chip.

Registri interni (bus dati interno)

La dimensione dei registri interni indica quanta informazione può gestire il processore in un dato momento e come si muove all'interno chip. È qualcosa che viene definito "bus dati interno". Un registro è una cella all'interno del processore; ad esempio, il processore può aggiungere numeri in due registri differenti, immagazzinando il dato in un terzo registro. La dimensione del registro determina la dimensione del dato sul quale il processore può operare. La dimensione di un registro descrive anche il tipo di software o comandi e istruzioni che un chip può eseguire.

I processori con registri interni a 32 bit possono eseguire le istruzioni a 32 bit che elaborano blocchi di dati a 32 bit, ma i processori con registri a 16 bit non possono fare lo stesso. I processori dal 386 al Pentium 4 usano registri interni a 32 bit e possono essenzialmente far girare sistemi operativi e software a 32 bit. Il Core 2, Athlon 64 e i processori più recenti hanno registri interni sia a 32 bit che a 64 bit, i quali possono eseguire sistemi operativi e applicazioni a 32 bit così come le versioni più recenti a 64 bit.

Continua a pagina 2
AREE TEMATICHE
Vuoi ricevere aggiornamenti su #CPU?
Iscriviti alla newsletter!