Architettura del calcolatore Flashcards
Macchina di Von Neumann: elementi
- CPU
- Memoria centrale
- Bus
- Periferiche
Memoria centrale: descrizione
- Indirizzi: distanza dalla cella 0
- Parole: sequenza di bit per ogni indirizzo, codificano dati o istruzioni/controlli
Registri: celle di memoria utilizzati per azioni specifiche
- DR: Data Register
- AR: Address Register
- CR: Control Register
Operazione di lettura da memoria centrale
1) Arriva in AR indirizzo della cella da leggere
2) Azione di controllo (CR)
3) Memoria centrale prende contenuto della cella puntata da AR e lo mette in DR
Operazione di scrittura su memoria centrale
1) Dato - > DR
2) Indirizzo - > AR
3) Memoria scrive contenuto di DR nella cella puntata da AR
BUS: descrizione
- Mezzo trasmissivo condiviso: tutti gli elementi connessi al bus vedono ciò che passa
- Linea occupata durante trasporto informazioni
- Controllato dalla CPU
- Tre linee: Data, Address, Control
CPU: registri
- AR collegato a linea Address del BUS
- DR collegato a linea Data del BUS
- IR: Interrupt Register
- A, B: registri ALU
- ALU: Aritmetic Logic Unit, esegue operazioni aritmetico logiche
- SR: Status Register, registra eccezioni ALU (overflow)
CPU: Control Unit
- Linea Control del BUS in ingresso
- CIR: Current Instruction Register, contiene istruzione eseguita in quell’istante
- IPC: Interrupt Program Counter, utile nella gestione interrupt
- PC: Program Counter, contiene indirizzo della prossima istruzione da eseguire
CPU: descrizione
- Processore centrale
- Registri
- ALU
- CU: Control Unit
Programma: descrizione
Sequenza di istruzioni in memoria
Lancio di un programma ed esecuzione di una istruzione
- Indirizzo prima cella del programma - > PC
- PC - > AR
- Lettura da memoria
- Memoria - > DR
- DR - > CIR
- ALU esegue istruzione in CIR
- PC incrementato
Interrupt: cos’è
Interruzione richiesta da un processo al sistema operativo
Ad ogni possibile interruzione viene associato un codice, ogni codice è associato un programma di gestione dell’interruzione (ISR)
Tipi di interruzioni
- Hardware: generati da dispositivi hardware esterni alla CPU, come periferiche.
Possono essere - Mascherabili (IRR): la CPU può non considerarle
- Non mascherabili (NMI): vengono sempre considerate
- Software: interruzione generata da istruzioni software del programma in esecuzione
IR: Interrupt Register
Registro della CPU in cui viene memorizzato il codice che identifica una particolare interruzione
ISR: Interrupt Subroutine
- Programma di gestione dell’interrupt
- Sistema operativo carica da qualche parte in memoria tutti gli ISR necessari per gestire tutte le possibili interruzioni
- Ad ogni codice associato ad un’interruzione corrisponde un ISR
Passaggi di gestione interrupt
Prima di eseguire una qualsiasi istruzione, la CPU controlla che non ci sia da gestire un interrupt
In questo caso:
1) Interrupt - > IR
2) PC - > IPC salvato l’indirizzo dell’istruzione successiva, per recuperarlo una volta terminata la ISR
3) Salvataggio del contesto: salvati in memoria i valori dei registri
4) Indirizzo prima cella ISR - > PC
5) Esecuzione ISR
6) IPC - > PC
7) Caricamento del contesto del programma iniziale