1. L’Unità di controllo si occupa di controllare tutte le operazioni del
calcolatore, interpretare le istruzioni prelevate dalla memoria e inviare alle
altre unità i segnali per l'esecuzione delle operazioni
2. L’Unità aritmetico-logica, detta ALU (Arithmetic & Logic Unit), permette di effettuare operazioni aritmetiche di base
(somme, sottrazioni, ecc.) e di prendere decisioni
Queste due unità sono spesso integrate in una CPU, Central Processing Unit – Unità di Elaborazione Centrale (che contiene
anche una serie di registri, simili alla memoria)
3. La Memoria conserva le istruzioni e i dati da elaborare e i risultati ottenuti dalle elaborazioni*;
4. L’Unità di ingresso (Input) immette le informazioni nel calcolatore per farle elaborare;
5. L’Unità di uscita (Output) riceve le informazioni dalla memoria del calcolatore per renderle pronte all’uso; le unità di
ingresso e uscita sono anche dette periferiche
6. Il Bus, vero e proprio canale di comunicazione che consente ai dati di transitare fra diversi componenti del calcolatore.
7. Registri della CPU
La CPU contiene diversi registri
• Registro Istruzione (IR): memorizza l’istruzione da eseguire
• Contatore di Programma (PC): memorizza l’indirizzo in memoria della prossima istruzione da eseguire
• Registri Dati (in numero variabile): contengono dati utilizzati per i calcoli
I registri della CPU sono aggiornati dall’esecuzione dell’istruzione
Funzionamento della CPU
Tipi di istruzioni
• aritmetiche e logiche —> es. somma di due registri, risultato in un terzo
• lettura e scrittura da memoria: –
– mem reg reg mem
→ →
• input/output: – dispositivo reg – reg dispositivo
→ →
• salti (condizionati e non) Istruzioni di controllo: di norma, dopo una istruzione si
esegue la successiva
– alterano l'esecuzione lineare del programma es. dopo l'istruzione alla locazione 133 si esegue quella
– permettono di implementare condizioni, cicli, ecc. alla locazione 134
esistono solo due tipi di istruzioni per alterare quest'ordine:
– salti incondizionati
– salti condizionati
entrambi scrivono un valore in PC
Il Programma
• nell'architettura di Von Neumann, si trova in memoria assieme ai dati
• è rappresentato da una sequenza di codici numerici (e.g., 56 = somma)
• vengono letti ed eseguiti uno per volta
Esecuzione del programma (esempio):
la sequenza 1921 - 992 - 10063 - 56 rappresenta un programma di quattro istruzioni
(codificate, per comodità, in base 10)
l'unità centrale legge 1921 e la esegue poi legge 992 e la esegue
poi legge 10063 e la esegue
poi legge 56 e la esegue
PC = l'indirizzo (132, 133, 134,...)
IR = l'istruzione (1921, 992, 10063, ...)
• Nota: se l’istruzione da eseguire è una istruzione di “salto”, il PC viene aggiornato
all’indirizzo di memoria che contiene l’istruzione a cui saltare
Esecuzione generale del programma in pseudocodice
sequenza di passi:
PC=132 IR=...
lettura da memoria della locazione 132 incremento PC
PC=133 IR=1921
controllo esegue l'istruzione 1921 lettura da memoria della locazione 133 incremento PC
PC=134 IR=992
controllo esegue l'istruzione 992
...
! Nota: se l’istruzione da eseguire è una istruzione di “salto”, il PC viene aggiornato all’indirizzo di memoria che contiene
l’istruzione a cui saltare
Il linguaggio della macchina
• La CPU è in grado di eseguire solo istruzioni molto semplici.
• Queste sono espresse in linguaggio macchina (o codice binario), dipendente dall’elaboratore.
• Il linguaggio assemblativo consente di esprimere istruzioni in forma simbolica (comprensibile da un umano). Queste
sono in corrispondenza 1-1 con le istruzioni in linguaggio macchina.
• Nel seguito consideriamo un esempio di processore semplice (non esistente nella realtà), con quattro registri (R1, R2,
R3, R4) ed un insieme semplificato di istruzioni, espresse in forma simbolica.
Nota: Linguaggi come Python, Java, C, C++,.. sono linguaggi di alto livello: si basano su costrutti non elementari,
comprensibili da un umano. Ogni istruzione corrisponde in genere a molte istruzioni in linguaggio macchina. In larga
misura questi linguaggi sono indipendenti dallo specifico elaboratore.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.