Ciao a tutti, Dopo che mi avete gentilmente fatto notare che molti articoli del mio sito erano pieni di errori ho pensato di riscriverli, ho cominciato con l'articolo CPU:
[INIZIO]La CPU (Central Processing Unit) è la parte principale di un computer; esegue i calcoli aritmetici e logici.
Informazioni generali
Possiamo immaginare una semplice CPU come moltissime porte logiche (NAND, NOR, INVERTER, XOR, XAND ecc...) connesse in modo particolare fra loro, un insieme più o meno complesso di porte connesse in modo particolare forma un "istruzione". Ovvero un operazione particolare. Le istruzioni sono presenti su tutte le cpu, ogni istruzione è progrettatta per velocizzare un dato calcolo, che, se eseguito direttamente dall' ALU o l' FPU richiederebbe più tempo. Esempi di gruppi di istruzioni sono ad esempio le MMX, le SSE, le
3DNow!.E l' ALU e la FPU? Queste due unità sono importantissime in quanto eseguono calcoli binari generali, addizioni, sottrazioni e via dicendo. Anche queste possiamo immaginarle sempre come un insieme di porte logiche, ma molto molto più complesso.
La memoria
Fino ad ora abbiamo parlato delle varie operazioni che può svolgere una cpu, ma, dove memorizza i numeri in ingresso? E dove il risultato?
Prima di tutto, diciamo che le normali cpu sfruttano l' architettura di Harvard, questa architettura utilizza due memorie cache, una per i dati (ovvero cosa elaborare) e una per le istruzioni (ovvero come elaborare i dati). Ma oltre alla memoria cache, esiste anche un altra memoria estremamente più veloce: i registri.
Nei registri vengono memorizzate informazioni come i registi IP (Instruction Pointer) che contengono l'indirizzo di memoria della prossima istruzione da eseguire, e il registro di flag, che contiene informazioni su stati particolari della CPU.
Oltre ai registri ci sono altre unità di memoria, ovvero la cache. ci sono diversi livelli della cache, il livello base è [1], questo è il tipo di cache più veloce; normalmente è di 128Kb, divisi in due spezzoni da 64Kb: uno per i dati e uno per le istruzioni. Oltre al livello base esistono anche altri livelli, in modo da memorizzare momentaneamente le prossime istruzioni/dati da eseguire che poi verranno trasferiti nella cache di livello base.
A questo punto ci chiederemo, ma che cos' è che gestisce i vari scambi di dati e istruzioni? Nella cpu vi è un unità particolare, detta unità di controllo che gestisce i passaggi di dati e istruzioni tra i registri, la cache e la memoria RAM.
Ma un registro, quanti dati può contenere? Spesso si sente parlare di cpu a
32bit, a 64 bit, quelle delle schede video arrivano anche a 256bit. Il numero di bit significa che la cpu utilizza registri dove si possono memorizzare stringhe con una lunghezza massima di 32bit, o 64bit, e così via. Ovviamente, memorizzando più bit, questi verranno eseguiti tutti insieme, altrimenti non avrebbe senso avere i registri più lunghi se il core non riuscirebbe ad eseguire tutte le istruzioni in essi contenute.Il core appunto, è la parte dove sono contenute le unità fondamentali, come l' ALU, la FPU, i registri e l' unità di controllo.
La frequenza di funzionamento
Tutti noi avremo sentito parlare di "frequenza di funzionamento di una cpu". Questa si misura in Hertz, ovvero la velocità con cui vengono eseguite le istruzioni.
Ma la frequenza è così importante? Per dare un idea, sappiate che un AMD Atlhon FX-57, che sfrutta una frequenza di 2,8GHz, è molto più veloce di un Intel Pentium 4 670 che sfrutta una frequenza di 3,8Ghz !
Oltretutto più la frequenza è elevata e più il processore si riscalderà e più consumerà! Ma come mai questa tutta questa differenza tra quelle due CPU? Senza divulgarci in particolari tecnici come la Pipeline, possiamo dirlo con un semplice esempio: Sapendo la frequenza di una CPU sappiamo quanto veloce può girare la manovella, ma non sappiamo quanto lavoro compie ad ogni giro.
E allora, se vogliamo sapere la quantità di lavoro che compie, cosa dobbiamo controllare? Dobbiamo controllare i FLOPS (floating point operations per second; istruzioni in virgola mobile per secondo) e gli IPS (instructions per seconds, istruzioni per secondo (normalmente riferito alle operazioni con numeri interi).
Ma che cosa genera il segnale di controllo della frequenza? Questa unità particolare si chiama PLL (Phase Locked Loop), che è composto da un oscillatore controllato in frequenza e da un ADC per il controllo del funzionamento del VCO. In molte schede madri il PLL è regolabile, in modo da aumentare o diminuire la frequenza, queste operazioni sono dette rispettivamente Overclock e Underclock.
Il processo produttivo
Oramai siamo arrivati a processi produttivi sempre più "stretti", da 0,18um fino ad arrivare ai primissimi processori a 0,065um.
Ma che cos'è in realtà il processo produttivo? Molto semplicemente, possiamo dire che il processo produttivo è la distanza tra i gate dei transistor, più questa è bassa, più transistor si potranno "stipare" in meno spazio, e si potrà arrivare a frequenze più elevate.
Ovviamente, ci sarà un limite. Per il silicio, il minimo processo produttivo a cui si può arrivare è di 0,010um.
[FINE]Che ne pensate? Ho dimenticato qualcosa? Ho sbagliato qualcosa? Grazie a tutti in anticipo.
Bye,