Architettura del Processore: Interrupt, DMA e Gestione della Memoria
Classificato in Informatica
Scritto il in
italiano con una dimensione di 3,19 KB
Componenti Fondamentali del Processore
- Program Counter (PC): contiene l'indirizzo dell'istruzione da leggere.
- Registro Istruzioni (IR): contiene l'ultima istruzione letta.
Gestione degli Interrupt
Gli interrupt interrompono la normale esecuzione del processore e sono utilizzati per migliorare l'efficienza di elaborazione. Possono essere generati da software, orologio, I/O o guasti hardware.
Quando gli interrupt sono disabilitati, il processore ignora il segnale. Se si verifica un'interruzione in questo periodo, essa rimane generalmente in sospeso e viene controllata dal processore solo dopo la riattivazione degli interrupt.
Categorie di Azioni del Processore
Quando il processore interpreta un'istruzione, l'azione può essere classificata in 4 categorie:
- Processore-Memoria: trasferimento di dati tra processore e memoria.
- Processore-I/O: trasferimento di dati da o verso un dispositivo periferico.
- Elaborazione dei dati: esecuzione di operazioni aritmetiche o logiche.
- Controllo: modifica della sequenza di esecuzione.
Trattamento degli Interrupt
Quando un dispositivo di I/O è pronto, invia una richiesta di interruzione al processore. Il processore sospende il programma corrente, esegue la routine di trattamento dell'interruzione e, al termine, riprende l'esecuzione originale.
Multiprogrammazione ed Efficienza
La multiprogrammazione permette di mantenere il processore attivo anche quando un'operazione di I/O richiede molto tempo, evitando che il sistema rimanga inattivo.
Evoluzione della Gestione I/O
- I/O Programmato: Il processore invia un comando al modulo I/O e ne verifica periodicamente lo stato. Problema: spreco di tempo e degrado delle prestazioni.
- I/O guidato da Interrupt: Il processore continua con altri lavori utili mentre attende il completamento del modulo I/O. È un evento asincrono.
- Direct Memory Access (DMA): Utilizzato per grandi trasferimenti di dati. Un modulo separato gestisce il trasferimento tra memoria e dispositivo senza l'intervento costante del processore.
Eccezioni e Modalità di Funzionamento
Un'eccezione è un evento sincrono inatteso generato durante l'esecuzione di un'istruzione (es. overflow, indirizzo non valido).
Doppia Modalità di Esecuzione
Per garantire la sicurezza, il processore opera in due modalità:
- Istruzioni privilegiate (Kernel Mode): Operazioni che possono interferire con il sistema operativo o altri programmi.
- Istruzioni non privilegiate (User Mode): Operazioni sicure che non compromettono il sistema.
Gestione della Pila (Stack)
La pila è utilizzata per gestire le chiamate di procedura e i ritorni. Quando il processore esegue una chiamata, salva l'indirizzo di ritorno sullo stack; quando esegue un ritorno, preleva l'indirizzo dalla cima della pila.