MAR - Memory Address Register
MDR - Memory Data Register (a
volte detto anche MBR - Memory Buffer Register)
Questi due registri comunicano con la memoria attraverso il Data Bus
e l'Address Bus (che si trovano sulla scheda madre). Il primo comunica
alla mamoria l'indirizzo della cella da selezionare, e il secondo il
dato da leggere o scrivere.
Il ciclo del processore consiste nell'indirizzamento (addressing),
prelevamento (fetching), decodifica (decoding) ed esecuzione
(executing) di istruzioni dalla
memoria.
Per gestire il ciclo vengono usati due registri:
PC - Program Counter
IR - Instruction Register
Questi due registri servono a gestire l'avanzamento del programma.
Il primo tiene traccia dell'indirizzo della prossima istruzione
da eseguire, il secondo contiene l'istruzione corrente.
Ad ogni istruzione lo stato del processore può cambiare, a seconda
del risultato dell'istruzione stessa. Memorizzare lo stato del
processore può influenzare l'esito dell'istruzione successiva.
SR - Status Register
Il Registro di stato contiene dei bit che indicano lo stato del
processore, e vengono impostati di volta in volta secondo il risultato
dell' ultima operazione compiuta.
Alcuni bit registrano il risultato delle operazioni eseguite dalla
ALU:
Zero BIT - risultato nullo
Negative BIT - risultato negativo
Overflow BIT- risultato troppo grande
Carry BIT - risultato con riporto
Parity BIT - numero di bit =1 pari
Altri invece vengono impostati dal programmatore:
Interrupt BIT - interrompibile
Direction BIT - direzione di lettura della memoria
Trap BIT - controllo errori e interruzioni
Le operazioni metematiche vengono eseguite dall' ALU, usando i
registri R1, R2, ecc ... : si tratta di registri generici per
contenere dati e indirizzi. Il primo di questi registri era previsto
già dal modello di von Neumann e vien ancora chiamato registro accumulatore
La velocità del processore dipende dalla frequenza di funzionamento:
più alta è la frequenza, cioè maggiore il numero di cicli al secondo,
maggiore è la velocità. Attualmente la frequenza di funzionamento di un
processore si misura in GHZ (GigaHertZ), cioè miliardi di cicli al
secondo.
Una unità di misura alternativa sono i MIPS (Milioni di Istruzioni
Per Secondo); dato che la velocità di esecuzione di un'istruzione è
variabile (dipende dalla sua complessità), questa è una misura
statistica.
Una tecnica per velocizzare il ciclo di CPU è quella di fare in modo
che mentre viene eseguita una fase, si dia inizio già alla fase
precedente per l'istruzione successiva.
Quindi per esempio quando l'istruzione è in fase di decoding, la
successiva è già in fase di fetching e quella dopo in fase di
addressing. Questo richiede che alcuni registri interni (IR, PC)
vengano duplicati per poter gestire i serie istruzioni diverse.
Negli ultimi anni i produttori di mcroprocessori sono addirittura riusciti a inserire in un unico chip due, quattro o addirittura 8 CPU, dando origine ai cosiddetti processori dual-core, quad-core, 8-core.
Un' altra caratteristiche che influenza la velocità del processore è
l'ampiezza dai suoi registri dati, e di conseguenza l'ampiezza del bus
dati; infatti se posso trasferire e trattare più bit
contemporaneamente, aumento la velocità delle operazioni. I nuovi
processoria 64 bit hanno quindi a parità di clock una velocità
superiore a quelli a 32 bit.
Per velocizzare le operazioni di trasferimento dati dalla memoria i
moderni processori sono anche dotati di una memoria interna (cache di 1
livello) dove vengono trasferite le istruzioni contigue a quella
richiesta, in modo che siano direttamente disponibili per i cicli
successivi.
INTEL - processori per PC e schede grafiche
AMD (Advanced Micro Devices) - processori compatibil Intel e per schede grafiche(AMD Radeon)
NVIDIA - processori per schede grafiche
SPARC - processori ad alta scalabilità a tecnologia non propretaria
MOTOROLA - processori per elettronica di consumo
![]() |
![]() |
![]() |