Slide sull'Unità di apprendimento 1, che esplora le architetture dei sistemi di elaborazione e l'unità di elaborazione centrale (CPU). Il Pdf, utile per lo studio universitario di Informatica, presenta diagrammi dettagliati dell'architettura interna della CPU e dei registri interni, facilitando la comprensione dei componenti hardware fondamentali.
Mostra di più68 pagine
Visualizza gratis il Pdf completo
Registrati per accedere all’intero documento e trasformarlo con l’AI.
Unità di apprendimento 1 Le architetture dei sistemi di elaborazione 1110100101 7 1010101000101 POL IO 0110110110101010100110110101010 101010100101 001110101010100101 1012100101Unità di apprendimento 1 Lezione 2 1110100101 L'unità di elaborazione (CPU) IO POL 1010101000101 7 101010100101 1012100101 0110110110101010100110110101010 001110101010100101In questa lezione impareremo:
Boot Fetch Op Code Fetch Decode Op Code Fetch Operand Address Execute Execute Instruction
. Ogni ciclo macchina viene eseguito molto velocemente e in maniera ciclica a sua volta con altri cicli macchina, fino a un reset Completamento della decodifica dell'istruzione attuale Reset Fetch Execute Completamento dell'esecuzione dell'istruzione precedente
. In questa fase il codice macchina dell'istruzione viene codificato in operazioni da seguire da parte della CPU, tutto questo attraverso circuiti logici predisposti (prefissate fisicamente) o mediante microistruzioni (sequenze di passi elementari) contenute nella ROM secondo la logica microprogrammata.
· Operazione di lettura, dalla memoria o da un registro nel caso in cui la CPU riconosce se è necessario prelevare dalla memoria o da un registro interno un altro dato per completare l'esecuzione.
Nella fase di execute la Control Unit invia segnali che rappresentano opportuni comandi per l'esecuzione.
Fase fetch (1) Fetch istruzione (2) Calcola l'indirizzo della prossima istruzione Fase decode (3) Decodifica l'istruzione (4) Calcola l'indirizzo dell'operando (5) Fetch operando Operandi multipli Fase execute (6) Esegui l'istruzione (7) Calcola l'indirizzo del risultato (8) Memorizza il risultato Istruzione completata, estrai la prossima istruzione
. La memory dump identifica lo stato in cui si trovano le celle della memoria in un determinato momento · In alcuni casi viene anche mostrato il corrispettivo ASCII del contenuto della singola cella di memoria
1 Fetch · Viene prelevata l'istruzione presente all'indirizzo contenuto nel registro PC (0100h · Si tratta di una sequenza di 6 byte che rappresentano il codice macchina dell'istruzione (00 05 0A 00 00 00) ● Il codice operativo dell'istruzione viene inserito nel registro IR (Instruction Register)
2) Decode · Viene decodificata l'istruzione il cui codice macchina è presente nel registro IR
(3) Fetch degli operandi · Viene prelevato il contenuto della cella 000Ah, cioè 05h
(4) Execute ● Il valore recuperato dal passo precedente (05h) viene sommato con il contenuto del registro AL (poniamo che contenga 0Fh) ● Il risultato viene posto nuovamente nella cella di indirizzo 000A che conterrà 14h al termine dell'esecuzione dell'istruzione . L'operazione richiede più cicli di data path
● data path è una sezione della CPU che raggruppa l'ALU e i registri ● passaggio di due operandi attraverso l'ALU e la memorizzazione del risultato in un nuovo registro viene detto ciclo di data path A+ B A Registri B BUS di Input della ALU A B Registri di Input della ALU ALU A + B C Registro di Output della ALU
● Ogni ciclo macchina è scandito da un temporizzatore (clock), oscillatore al quarzo che emette segnali a intervalli di tempo regolari ● Il numero di cicli macchina eseguiti in un secondo di tempo prende il nome di Hertz (Hz) ● Il clock è un segnale in ingresso alla CPU, maggiore è la frequenza del clock, maggiore sarà la velocità di lavoro della CPU. 7 Tempoclock La CPU è un sistema a tempi discreti, in quanto si prendono in considerazione lo stato del sistema in un certo istante t e poi all'istante successivo (t+1) è privo di significato; quello che succede nel periodo compreso tra t e (t+1) è privo di significato. La CPU è un circuito digitale sincrono; il suo stato cambia ogni volta che riceve un impulso da un segnale di sincronismo, detto clock, che ne determina la velocità operative, detta velocità di clock.
indirizzi dati controllo scrivi leggi memoria MAR scrivi bus interni registro registro ALU MDR registro esecuzione BUS Central Processor Unit unità di controllo PC IR PSW bus interni stato leggi I/O
BUS di controllo CPU (Unità centrale di elaborazione) UC (Unità di Controllo) esegui operazione PC [registro Contatore di programma) Memoria Centrale BUS indirizzi MAR registro dell'indirizzo dimemoria) IR (registro dell'istruzione PSW (registro del flag) BUS dati MDR (registro del dato di memorla) Registro 1 stato Registro 2 ... ALU (Unità aritmetico logica) Registro "T"
· Registro interno (nelle CPU Intel è IP - Instruction Pointer) che contiene, in ogni fase di avanzamento del programma, l'indirizzo (e non l'istruzione) di memoria in cui si trova l'istruzione successiva da eseguire Indirizzi di memoria 000FFh 00100h 00100h Registro puntatore 00101h Memoria
. Anche chiamato Status register o registro dei flag (bandiere). · A differenza degli altri registri, il significato del valore contenuto in questo registro non è dato dall'intera configurazione dei bit, ma il valore di ogni singolo bit, in base alla posizione che occupa, ha un significato ben preciso e determina il funzionamento del processore.
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 OF DF IF |TF SF ZF AF PF CF Carry Flag Parity Flag Auxiliary Flag Zero Flag Sign Flag Trap Flag Interrupt Flag Direction Flag Overflow Flag
Le operazioni aritmetico-logiche sono le somme, l'AND, l'OR, .. I bit di stato sono chiamati anche Flag di stato e possono assumere solo i valori 0,1. I bit di stato sono. -Carry Flag (CF), assume valore 1 se il risultato dell'ultima operazione aritmetico-logica ha generato un riporto (o prestito); - Parity Flag (PF) . Vale 1 se il numero di 1 negli ultimi 8 bit meno significativi del risultato è pari, 0 altrimenti. - Zero Flag (ZF), assume valore 1 se il risultato dell'ultima operazione aritmetico-logica è zero). - Sign Flag (SF), assume valore 1 se il risultato dell'ultima operazione aritmetico-logica ha generato un valore il cui bit più significativo è 1 (se la codifica è in complemento a 2 allora si può dedurre che il numero è negativo) ,coincide con il MSB del risultato dopo un'operazione aritmetica