seconda parte
Dunque...ora cercherò di spiegare il funzionamento e l'architettura di un qualsiasi processore.
Innanzitutto bisogna precisare che tutti i componenti del computer funzionano per mezzo della corrente continua.
Un transistor,come ho già detto prima,se si accende e se quindi viene attraversato
dalla corrente l'elettrica corrisponde all'istruzione o stato del codice binario 1,se si spegne o resta spento e quindi se non viene attraversato dalla corrente elettrica corrisponde all'istruzione o stato del codice binario 0.
Questa situazione è attuabile solo in teoria poichè con milioni se non miliardi di accensioni e spegnimenti al secondo è un pò difficile che ad un transistor non arrivi completamente corrente mentre ad un altro sia fornita una scossa elettrica completa...si tende dunque ad arrotondare:se per esempio prendiamo come scala di valori per misurare la potenza di una scossa affinchè un dato transistor si accenda o si spenga completamente 1(per l'accenzione)e 0(per lo spegnimento)anche se al transistor arriva una scossa il cui valore è 0,4 il transistor in questione verrà comunque considerato come spento è quindi sarà uno zero;
di contro naturalmente se a un transistor arriva una scossa il cui valore è 0,8 verrà comunque considerato come acceso è quindi sarà un 1.
Le cause più frequenti di instabilità di un processore sono da imputare ad una tenzione elettrica(che si misura in volt)e quindi di un voltaggio non sufficiente o eccessivo che porta ad un non corretto
arrotondamento che a sua volta causa una errata interpretazione del codice binario:se la CPU è poco alimentata si può verificare il caso in cui ad un transistor che doveva accendersi arrivi una scossa uguale a 0,3 e quindi assuma il valore di 0 binario falsando il risultato di un qualsiasi calcolo;
se la CPU è troppo alimentata invece può verificarsi il caso che ad un transistor che doveva restare spento arrivi una scossa il cui valore è 0,7 e che quindi assuma il valore di 1 binario...anche qui il risultato di una qualsiasi operazione...in questo caso si parla anche di limite fisico della CPU.
Ne parlerò in maniera più approfondita nella sezione overclock.
Fatta questa piccola precisazione sul funzionamento spiegherò in breve l'architettura di un processore.
Innanzitutto bisogna precisare che tutti i calcoli e tutti i componenti all'interno dalla Cpu vengono sincronizzati dal ciclo di clock che è in pratica una sorta di orologio interno;il ciclo di clock si ottiene facendo passare la corrente attraverso un cristallo che vibra:in seguito mediante un chip che si occupa di interpretare le vibrazioni è possibile ottenere dei cicli di clock dello stesso tempo a livello di miliardesimo di secondo.
Detto ciò i moderni processori si possono dividere in 4 parti
control:una sorta di sincronizzatore che dice cosa fare al Datapach,alla memoria RAM e a tutti i dispositivi di input o output del computer escluse le periferiche collegate per esempio tramite USB
Datapach:il cuore della CPU,cioè quella parte che si occupa di eseguire tutti i calcoli...in genere è quella che riscalda di più e ne parlerò meglio tra un pò.
BUS interno:in parole povere è la grandezza dei paccetti che la CPU può trattare(8,16,32 bit)
Cache:la memoria interna del processore,dove sono memorizza le istruzioni che la CPU usa più spesso.Anche questa scalda parecchio.
E adesso come promesso mi soffermerò a parlare del Datapach.
Esso si divide in molte unità di calcolo che si differenziano a seconda del lavoro che devono fare:
ALU(Arithmetic-Logic Unit) che si occupa delle addizioni,delle sottrazioni e di una parte della sintassi della programmazione.
FTU(Floating Point Unit)che si occupa dei calcoli floating point(sono i valori in virgola mobile,cioè quei valori che vanno 1E-37 a +1E-37 con dieci numeri di precisione(decimali).
MCIU(Multiple Cycle Integer Unit)che si occupa delle moltiplicazioni 16*32 bit,delle moltiplicazioni 32*32 bit,di divisioni con numeri interi e degli SPR Special Purpose Register(le istruzione che l'utente da tramite interfaccia grafica...Es:cliccare con mouse su una cartella,aprire un file musicale e tutte le altre operazioni possibili con il mouse).
LSU(Load Store Unit) o MMU(Memory Manangement Unit)che si occupa degli accessi alle memorie veloci:Ram.
BPU(Branch Processing Unit)che si occupa delle istruzioni di salto;in pratico stabilisce l'ordine dei calcoli da fare.
CRU(Condition Register Unit)che si occupa delle istruzioni di confronto:entra in funzione quando c'è un confronto da fare tra dati o istruzioni.
SCIU(Single Cycle Integer Unit)che si occupa di tutti gli altri calcoli e di una parte della sintassi della programmazione.
Ma a questo punto vi potreste chiedere dove vengono fatti tutti questi calcoli...si nel processore ma ci vuole una memorie...mica le può fare a mente FPRIVATE "TYPE=PICT;ALT=" ...cmq i calcoli vengono fatti nelle pipeline(che si dividono in stadi a seconda della lunghezza);per farvelo capire in parole semplici immaginate le pipeline come dei tubi dove passano le istruzioni da eseguire e il Datapach come un controllore che va eseguendo tutti i calcoli.Mentre il Datapach lavora le BPU scelgono in base a calcoli statistici le altre istruzioni da mettere all'inizio delle pipeline.
Se le BPU sbagliano e se quindi si devono calcolare prima degli altri dati il Datapach dovrà comunque svuotare le pipeline in questione perdendo numerosi cicli di clock.
Se invece le BPU non sbagliano la CPU lavorerà in maniera ottimale.
Questa è la principale differenza tra i Pentium 4 e gli Athlon:infatti mentre i pentium hanno pipeline da 20 stadi invece gli Athlon le hanno da 15 stadi:così facendo a seconda delle situazioni una andrà più veloce dell'altra;se infatti sarà un calcolo lineare i pentium avranno la meglio perchè hanno pipeline più lunghe,se invece sarà un calcolo non lineare gli Athlon risultaranno più veloci perchè ci mettono meno a svuotare le pipeline in quanto sono meno lunghe.Però avendo pipeline più lunghe si possono raggiungere fraquenze di clock(Mhz)più alte.
Ed anche per oggi ho finito e finalmente domani si parla di overclock.Scusate per questa lunga premessa ma ritengo che sia fondamentale e vi prometto che da ora in poi sarò meno noioso.