Il processore Architettura dell’elaboratore Il processore Il processore Registri: memorie locali della CPU La CPU utilizza registri per la memorizzazione di istruzioni e dati IR (Instruction Register) PC (Programm Counter) PSW (Process Status Word) La CPU esegue istruzioni in linguaggio macchina In modo sequenziale e ciclico (ciclo macchina o ciclo CPU) Effettuando operazioni di lettura delle istruzioni dalla memoria centrale Dati letti e modificati in memoria centrale: accesso tramite indirizzo delle celle Il processore Il processore Il processore ALU (Airthmetic Logic Unit): svolgimento di istruzioni aritmetiche e logiche Registri fondamentali dell’unità di controllo PC (Program Counter): registro contatore delle istruzioni IR (Instruction Register): contiene una copia dell’istruzione da eseguire Operazioni aritmetiche: somma, sottrazione, moltiplicazione, divisione Operazioni logiche: confronto di due dati: =, <, >, AND, OR Dotata di alcuni registri per la memorizzazione dei dati di input/output Utilizzati nel ciclo macchina della CPU Il processore Fase di lettura La CPU esegue 4 fasi in modo ciclico (ciclo macchina o ciclo CPU) Lettura (Fetch) Decodifica Esecuzione Scrittura Dettagli sulla fase di lettura (fetch) 1. unità di controllo legge in PC l’indirizzo di memoria contente l’istruzione da eseguire 2. contenuto di PC inviato alla memoria (bus indirizzi) 3. memoria trasferisce il contenuto della cella all’indirizzo inviato (bus dati) 4. dato inviato copiato in IR 5. contenuto del PC viene incrementato (istruzione successiva) Fase di decodifica Fasi di esecuzione e scrittura Fase di decodifica di un’istruzione 1. Viene individuata la parte che identifica l’operazione 2. Vengono individuate le parti che specificano gli operandi Fase di esecuzione Esecuzione dell’istruzione, in genere da parte della ALU Fase di scrittura Risultato scritto Esempio di funzionamento della CPU Trasferimento del contenuto di cella 44 nel registro R01 Trasferimento del contenuto di cella 52 nel registro R02 Somma del contenuto dei registri R01 e R02 e memorizzazione nel registro R03 Trasferimento del contenuto del registro R03 nella cella di memoria di indirizzo 44 Programma 101 load R01, 44 102 load R02, 52 103 add R01, R02, R03 104 store R03, 44 In un registro interno alla CPU Memoria centrale Esempio di funzionamento della CPU CPU ALU Unità di controllo PSW Registri PC Indirizzi di memoria IR 101 Esempio di funzionamento della CPU Memoria Ind contenuto … … 44 22 … … 52 10 … … 101 load R01, 44 load R02, 52 102 103 104 add R01, R02, R03 store R03, 44 Esempio di funzionamento della CPU Istruzione 101 PC contiene valore 101 Fase di fetch CPU manda sul bus indirizzi 101 La memoria invia sul bus dati il contenuto della cella 101 (istruzione viene copiata dalla memoria in IR) Contenuto del PC viene incrementato Programma 101 load R01, 44 102 load R02, 52 103 add R01, R02, R03 104 store R03, 44 Esempio di funzionamento della CPU Esempio di funzionamento della CPU Memoria CPU Ind contenuto … … 44 22 … … 52 10 … … 101 load R01, 44 load R02, 52 102 103 104 add R01, R02, R03 store R03, 44 ALU Unità di controllo PSW Registri PC 102 IR load R01, 44 Esempio di funzionamento della CPU Istruzione 101 Fase di decodifica ed esecuzione CPU richiede il contenuto della cella di memoria di indirizzo 44 Programma 101 load R01, 44 102 Memoria invia contenuto della cella 44 103 104 load R02, 52 add R01, R02, R03 store R03, 44 Esempio di funzionamento della CPU Memoria Ind … … 44 22 … … 52 10 … … 101 load R01, 44 load R02, 52 102 103 104 Esempio di funzionamento della CPU CPU ALU Unità di controllo add R01, R02, R03 store R03, 44 Esempio di funzionamento della CPU La CPU passa all’istruzione 102 Programma Lettura del contenuto della cella 102 e caricamento dell’istruzione in IR 101 load R01, 44 Decodifica ed esecuzione 102 load R02, 52 103 add R01, R02, R03 104 store R03, 44 PSW Registri R01 contenuto 22 PC 102 IR load R01, 44 Esempio di funzionamento della CPU Esempio di funzionamento della CPU Memoria CPU Ind contenuto … … 44 22 … … 52 10 … … 101 load R01, 44 load R02, 52 102 103 104 Unità di controllo ALU PSW Registri R01 R02 22 10 add R01, R02, R03 store R03, 44 Esempio di funzionamento della CPU Esecuzione dell’istruzione 103 (somma) Nella fase di esecuzione l’unità di controllo • trasmette alla ALU il codice dell’istruzione da svolgere (add) • Attiva collegamenti tra registri R01 e R02 e ALU ALU esegue la somma e scrive il risultato in R03 Programma 101 load R01, 44 102 load R02, 52 103 add R01, R02, R03 104 store R03, 44 PC 103 IR load R02, 52 Esempio di funzionamento della CPU Memoria Ind contenuto … … 44 22 … … 52 10 … … 101 load R01, 44 load R02, 52 add R01, R02, R03 store R03, 44 102 103 104 Esempio di funzionamento della CPU CPU ALU Unità di controllo PSW Registri R01 R02 R03 22 10 32 PC 103 IR load R02, 52 Esempio di funzionamento della CPU Esecuzione dell’istruzione 104 (store) Viene prelevato indirizzo 44 e inviato alla memoria Programma 101 load R01, 44 Inviato alla memoria il contenuto del registro R03 102 load R02, 52 103 add R01, R02, R03 104 store R03, 44 Esempio di funzionamento della CPU Esempio di funzionamento della CPU CPU Memoria ALU Unità di controllo PSW Registri R01 R02 R03 22 10 32 PC IR 105 store R03, 44 Ind contenuto … … 44 32 … … 52 10 … … 101 load R01, 44 load R02, 52 102 103 104 add R01, R02, R03 store R03, 44 Funzionamento della CPU La velocità di elaborazione della CPU dipende dalla frequenza dei cicli macchina: clock Viene espressa in hertz (unità misura di frequenza) Attualmente si usano gigahertz (GHz). 9 1 gigahertz (simbolo GHz) = 10 Hz = 1.000.000.000 Hz Funzionamento della CPU Legge di Moore: numero di transistor su un chip raddoppia circa ogni 24 mesi E’ un’osservazione empirica Memoria Architettura dell’elaboratore Memoria Dispositivo di memorizzazione: immagazzinamento dati e istruzioni utili per l’elaboratore Caratteristiche fondamentali di una memoria generica : velocità della memoria capacità di memorizzazione memorizzazione permanente o temporanea costo della memoria Memoria Memoria Velocità di memorizzazione cresce con il costo per bit Esistono memorie di limitata capacità, veloci (costo alto) Memorie di grande capacità ma lente (costo contenuto) Tipi di memoria: registri CPU memoria centrale: memoria temporanea o di lavoro di sola lettura o ROM (Read Only Memory ) memoria di massa (o secondaria): area di memorizzazione permanente Memoria centrale Memoria centrale Caratteristiche della memoria centrale: contiene istruzioni e dati che la CPU elabora costituita da celle ogni cella identificata da un indirizzo univoco viene detta RAM (Random Access Memory , memoria ad accesso casuale o accesso diretto ) è una memoria volatile Indirizzi delle celle di memoria Contenuto delle celle di memoria Memoria centrale Accesso ai dati Acceso alle memoria centrale → diretto: si accede in modo diretto ad una cella tramite l’indirizzo Tempo di accesso costante Oltre all’accesso diretto ai dati: Accesso sequenziale: sequenza accesso predefinita Ogni cella richiede lo stesso tempo Accesso misto: serie di accessi diretti seguiti da una ricerca sequenziale ROM (Read Only Memory): memoria di sola lettura, permanente Dati contenuti in memoria ROM: programmi e istruzioni per la fase di inizializzazione (bootstrap) Non è utilizzata per memorizzare i dati dell’utente il tempo di accesso varia a seconda di dove si trova il dato utilizzato nei dischi Accesso associativo: simile all’accesso diretto Memoria ROM tempo di accesso variabile tipico dei nastri Dipendente dal valore che si sta cercando tempo di accesso costante per ogni cella usato nelle memorie cache