# data[].attributes.body
Si incrementa il registro contatore dell’istruzione (PC).

Ciascuna azione viene richiesta al componente opportuno.

# data[].attributes.body
Si individua il tipo dell’operazione e gli operandi usati.

Si trasferiscono i dati nei registri opportuni.

# data[].attributes.body
i accede alla prossima istruzione, riferita dal registro contatore dell’istruzione (PC)  si porta tale istruzione dalla memoria centrale al Registro Istruzioni (IR)

# data[].attributes.body
Un programma è eseguito applicando ad ogni istruzione la sequenza fetch-decode-execute.

# data[].attributes.body
Serve per inviare comandi verso la memoria o le periferiche.

# data[].attributes.body
Consente di selezionare una cella in memoria per successive operazioni di lettura o scrittura.

# data[].attributes.body
Serve per trasferire dati tra la memoria centrale e il registro MDR o tra CPU e periferiche.

# data[].attributes.body
Interconnette le componenti interne del calcolatore CPU, trasporta dati, indirizzi e comandi

# data[].attributes.body
La parte del sistema operativo che si occupa dell'assegnazione alla CPU dei singoli processi che ne richiedono l'uso ricopre un ruolo fondamentale.

Essa deve svolgere diverse funzioni:
• Mantenere aggiornato lo stato del processore (libero/occupato)
• Decidere a quale processo assegnare il processore quando ne presenti la necessità.
• Assegnare il processore  al processo scelto.
• Riprendere il controllo del processore quando il processo è terminato  o sospeso.

# data[].attributes.body
Accanto alla CPU esiste una circuiteria chiamata Chipset che gestisce tutti i processi del sistema governando lo scambio di dati tra i vari componenti.

Essa a sua volta è divisa in due circuiti integrati distinti:
• Northbridge: Interfaccia processore e RAM o GPU.
• Southbridge: Interfaccia processore e bus di espansione.

# data[].attributes.body
• La frequenza del clock è un’unità di misura che identiﬁca quanti cicli macchina esegue la CPU in un secondo.
• MIPS (Million Instructions Per Second), è l’unità di misura che indica quante istruzioni al massimo è in grado di eseguire la CPU in un secondo.
• MFLOPS (Million Floating point Operations Per Second) misura invece il numero di operazioni medie in virgola mobile necessarie per eseguire operazioni aritmetiche.

# data[].attributes.body
Alcuni registri particolari sono sempre presenti:
• PC (Program Counter), che contiene l’indirizzo in memoria della prossima  istruzione da eseguire;

• IR (Instruction Register) contiene il codice binario dell’istruzione corrente.
• PSW (Processor State Word): contiene informazioni, opportunamente codificate, sull’esito dell’ultima istruzione che è stata eseguita.
• MAR (Memory Address Register): contiene l’indirizzo della cella di memoria che deve essere acceduta o memorizzata.
• MDR (Memory Data Register): contiene il dato che è stato acceduto o che deve essere memorizzato.
•  Registri di uso generale: usati per memorizzare gli operandi ed il risultato di una operazione.

# data[].attributes.body
Supervisiona il funzionamento della macchina nel suo complesso. Inoltre si accorge di eventi interrupt (segnalazioni) e procede con la sua gestione

# data[].attributes.body
Si occupa di eseguire le operazioni logiche e aritmetiche sui dati.

# data[].attributes.body
• Una ALU (Arithmetic Logic Unit).
• Una Unità di Controllo CU (Control Unit).
• Alcuni registri.

# data[].attributes.body
Il "mondo" delle CPU è in continua evoluzione Intel presenterà a gennaio i nuovi processori Kaby Lake a 14 nanometri per PC desktop e workstation.

# data[].attributes.body
Per adesso stiamo assistendo alla decima generazione di CPU,  il massimo rappresentante di questa generazione è l'

Intel Core i7 Extreme Edition, esso lavora ad una frequenza di 3,46Ghz, possiede un BUS dati e un BUS indirizzi a 64 BIT

# data[].attributes.body
Il primo processore che aprì le porte del mercato a gli utenti privati segnando così l'inizio della prima generazione di CPU fù l'8086, esso lavorava a una frequenza di 10Mhz, possedeva un BUS dati a 16 BIT e un BUS indirizzi a 20 BIT

# data[].attributes.body
Il primo processore ad esser stato commercializzato fù il 4004, realizzato dal ﬁsico Federico Faggin nel 1971.

# data[].attributes.body
La CPU è l’acronimo di Central Processing Unit, e coordina tutte le altre unità presenti sulle varie componenti dell’hardware, insieme alle loro attività e lo fa in maniera centralizzata.