|
|||||||||||||||||||||||||||||||||||||||||||||||||||
Processori |
|||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
Shopping Processori? Compra un processore nei migliori negozi online. Clicca sui prodotti elencati qui sotto per confrontare i prezzi o usa il nostro motore di ricerca per individuare ed acquistare il processore adatto alle tue esigenze. Solo processori di qualita, processori a prezzi imbattibili.
L'unità centrale di elaborazione, in sigla CPU (dal corrispondente termine inglese Central Processing Unit),
anche chiamata, esclusivamente nella sua implementazione fisica, processore, è uno dei due componenti principali della macchina di von
Neumann, il modello su cui sono basati la maggior parte dei moderni computer.
Compito della CPU è quello di leggere i dati dalla memoria ed eseguirne le istruzioni; il risultato dell'esecuzione dipende dal dato su cui
opera e dallo stato interno della CPU stessa, che tiene traccia delle passate operazioni.
Famiglie di CPU [modifica]
In base all'organizzazione della memoria si possono distinguere due famiglie di CPU:
con architettura di von Neumann classica, in cui dati e istruzioni risiedono nella stessa memoria (è dunque possibile avere codice
automodificante). Questa architettura è la più comune, perché è più semplice e flessibile.
con architettura Harvard, in cui dati e istruzioni risiedono in due memorie separate. Questa architettura garantisce migliori prestazioni
poiché le due memorie possono lavorare in parallelo ma è più complessa da gestire. È tipicamente utilizzata nei DSP.
Struttura della CPU [modifica]
Una generica CPU contiene:
una ALU (Arithmetic Logic Unit) che si occupa di eseguire le operazioni logiche e aritmetiche;
una Unità di Controllo CU (control unit) che legge dalla memoria le istruzioni, se occorre legge anche i dati per l'istruzione letta, esegue
l'istruzione e memorizza il risultato se c'è, scrivendolo in memoria o in un registro della CPU.
dei registri, speciali locazioni di memoria interne alla CPU, molto veloci, a cui è possibile accedere molto più rapidamente che alla
memoria: il valore complessivo di tutti i registri della CPU costituisce lo stato in cui essa si trova attualmente. Due registri sempre
presenti sono:
il registro IP (Instruction Pointer) o PC (Program Counter), che contiene l'indirizzo in memoria della prossima istruzione da eseguire;
il registro dei flag: questo registro non contiene valori numerici convenzionali, ma è piuttosto un insieme di bit, detti appunto flag, che
segnalano stati particolari della CPU e alcune informazioni sul risultato dell'ultima operazione eseguita. I flag più importanti sono:
Flag di stato:
Overflow: indica se il risultato dell'operazione precedente era troppo grande per il campo risultato: 0 assenza di overflow,1 overflow
Zero: vale 1 se l'ultima operazione ha avuto risultato zero, altrimenti vale 0.
Carry: vale 1 se l'ultima operazione ha ecceduto la capacità del registro che contiene il risultato, altrimenti vale 0 (esempio: in un
registro a 8 bit, che può rappresentare solo numeri da 0 a 255, la somma 178+250 darebbe come risultato 172, cioè 428 - 256, e il carry
verrebbe posto a 1 insieme al flag di overflow).
Segno: indica il segno del risultato dell'operazione precedente: 0 risultato positivo,1 risultato negativo
Flag di controllo:
Interrupt: se a questo flag viene assegnato valore 1, la CPU smette di rispondere alle richieste di servizio esterne delle periferiche (i
segnali delle linee IRQ) finché non viene ripristinato al valore 0, o finché non arriva dall'esterno un segnale di RESET.
Oltre a queste unità possono esserne presenti altre, per esempio:
una FPU (Floating Point Unit) che si occupa di eseguire calcoli in virgola mobile;
una MMU (Memory Management Unit) che si occupa di tradurre gli indirizzi di memoria logici in indirizzi fisici, supportando la protezione
della memoria e/o uno o più meccanismi di memoria virtuale.
Una generica CPU deve eseguire i suoi compiti sincronizzandoli con il resto del sistema: perciò è dotata, oltre a quanto sopra elencato,
anche di uno o più bus interni che si occupano di collegare registri, ALU, unità di controllo e memoria: inoltre all'unità di controllo
interna della CPU fanno capo una serie di segnali elettrici esterni che si occupano di tenere la CPU al corrente dello stato del resto del
sistema e di agire su di esso. Il tipo e il numero di segnali esterni gestiti possono variare ma alcuni, come il RESET, le linee di IRQ e il
CLOCK sono sempre presenti.
Per quanto riguarda i registri, le CPU possono gestirli in molti modi: i più comuni sono registri nominativi (CPU CISC classiche), file di
registri (RISC) e stack di registri (Transputer e simili).
Stack di registri: i registri sono organizzati in una struttura a stack (pila); questa architettura ha il vantaggio di non dover specificare
su quale registro interno operare (è sempre quello in cima allo stack) ottenendo istruzioni più corte e più semplici da decodificare. Il
rovescio della medaglia è che nel caso sia necessario un dato "sepolto" in fondo allo stack, il suo recupero è un'operazione molto lenta.
Registri nominativi: ogni registro è identificato singolarmente e le istruzioni che usano registri specificano di volta in volta quale
registro devono usare. Spesso alcuni registri sono dedicati a scopi particolari (registri indice, accumulatori, registri di segmento ecc.)
imponendo la non ortogonalità del set di istruzioni (vedi oltre). La gran maggioranza delle CPU generiche degli anni '70 e '80 è di questo
tipo.
File di registri: I registri sono organizzati come una memoria interna della CPU e indicizzati: la CPU "alloca" un certo numero di registri
per ogni processo e/o subroutine in esecuzione, eliminando la necessità di accedere alla RAM per salvare gli stack di chiamata delle
funzioni e i dati di task switching nei sistemi multitask.
Una CPU è un circuito digitale sincrono: vale a dire che il suo stato cambia ogni volta che riceve un impulso da un segnale di sincronismo
detto clock, che ne determina di conseguenza la velocità operativa, detta velocità di clock: quindi il tempo di esecuzione di una istruzione
si misura in cicli di clock, cioè in quanti impulsi di clock sono necessari perché la CPU la completi. In effetti, una parte importante e
delicata di ogni CPU è il sistema di distribuzione che porta il segnale di clock alle varie unità e sottounità di cui è composta, per fare
in modo che siano sempre in sincronia: tale sistema si dirama in una struttura ad albero con divisori e ripetitori che giunge ovunque nella
CPU. Nei processori più moderni (Pentium, Athlon, PowerPC) questa "catena di ingranaggi" elettronica arriva ad impiegare circa il 30% di
tutti i transistor disponibili. La velocità di questa distribuzione determina in maniera diretta la massima frequenza operativa di una CPU:
nessuna CPU può essere più veloce del suo critical path, cioè del tempo che impiega il clock per percorrere il tratto più lungo in tutto
l'albero di distribuzione del clock. Per esempio, se il segnale di clock di una data CPU impiega un nanosecondo per attraversare tutto il
chip ed arrivare fino all'ultima sottounità, questa CPU potrà operare a non più di 1 GHz, perché altrimenti le sue componenti interne
perderebbero la sincronizzazione, con risultati imprevedibili (per avere un margine di sicurezza, il limite pratico sarà anzi ben minore di
1GHz).
13 Giochi gratis in streaming Free Gratis ioutube Agenzia Firenze Nord annunci ebae annunci e-bai go0gle google italia virgillo shopping annuncio libero agenzia congressi adhoc eventi firenze biglietto aereo voli aerei shopping online mediashopping assicurazione e assicurazioni valbormida shopping energia con fotovoltaico organizzazione eventi congressi groupama firenze shopping online vendita shopping online assicurazioni groupama assicurazione condominio firenze shopping it-facebook italia shopping live chat roulette matrimonio in e-by.it e-by.eu