Concetti Chiave

  • L'architettura IA-32 è progettata per i microprocessori Intel a 32 bit, definendo set di istruzioni, registri e modalità di indirizzamento.
  • La gestione della memoria nell'architettura IA-32 si basa su servizi di Memory Management, con memoria fisica organizzata in byte con indirizzi univoci.
  • I modelli di memoria IA-32 comprendono il modello flat, il modello segmentato e il modello con indirizzamento reale, ciascuno con specifiche modalità di accesso.
  • La modalità protetta permette l'uso di diversi modelli di memoria e supporta il multitasking, consentendo a ciascun task di operare con modelli differenti.
  • La modalità SMM (System Management Mode) gestisce funzioni di sicurezza e risparmio energetico, attivandosi tramite interrupt e salvando lo stato corrente del processore.

L’architettura IA-32 (Intel Architecture 32 bit) è l’insieme del set di istruzioni e la descrizione dell’ambiente di programmazione per i microprocessori INTEL a 32 bit. L’architettura IA-32 descrive tutte le caratteristiche relative all’ambiente di programmazione dei processori a 32 bit come i registri, le modalità di indirizzamento, la configurazione della memoria ed altro. Alcune caratteristiche proprie della IA-32 sono state inserite già nei processori a 16 bit. Con la CPU INTEL 80286 è introdotta la modalità operativa definita modo protetto. L'INTEL 80386, è la prima CPU a 32 bit della famiglia di processori appartenenti all’architettura IA-32.

Qual è la gestione della memoria nell'architettura IA-32?

Un sistema operativo che lavora con l’architettura IA-32, per accedere alla memoria di sistema utilizza i servizi di Memory Management offerti dal processore.

La memoria fisica è quella cui può accedere direttamente il processore con il suo bus indirizzi. Essa è organizzata come una successione di byte a ciascuno dei quali è assegnato in modo univoco un indirizzo fisico.

Quando sono utilizzati i servizi di Memory Management del processore in uso, i programmi accedono alla memoria fisica utilizzando uno dei seguenti modelli:

    Modelli di memoria nell'architettura IA-32

  • Modello di memoria Flat: la memoria è vista in questo caso come un unico spazio continuo indirizzabile in cui risiede il codice, i dati e lo stack.
  • Modello di memoria segmentata: nella memoria sono presenti una serie di spazi indirizzabili detti segmenti. Il codice, i dati e lo stack si trovano in segmenti distinti che possono essere anche di lunghezza diversa. Per indirizzare un byte presente in un segmento, si utilizza il selettore di segmento posto in uno dei registri segmento (CS, DS, SS, ES, FS, GS) che punta ad un descrittore contenuto in una di due tabelle, dette tavola dei descrittori globali (GDT) e tavola dei descrittori locali (LDT). La tavola dei descrittori globali contiene le indicazioni per individuare i segmenti presenti in memoria per tutti i programmi mentre la tavola dei descrittori locali individua i segmenti per un’unica applicazione.
  • Modello di memoria con indirizzamento reale: è il vecchio modello 8086 in cui è disponibile uno spazio indirizzabile massimo di 1 Mbyte. Per questo modello è prevista una segmentazione con segmenti di lunghezza fissa pari a 64 kByte. L’indirizzo fisico, di una locazione di memoria appartenente ad un segmento, è trovato direttamente dal contenuto del registro di segmento ed aggiungendo ad esso un offset che varia da 0000h a FFFFh.

Modalità operative del processore IA-32

L’architettura IA-32 definisce più modi di operare per il processore ciascuno dei quali permette di accedere a specifiche istruzioni e caratteristiche architetturali.

  • Modalità protetta: possono essere utilizzati in questa modalità tutti i modelli di memoria disponibili. Il modello utilizzato è legato al Sistema Operativo in uso. Se si lavora in multitasking ogni task può usare un modello di memoria differente. È possibile, in modalità protetta in ambiente multitasking, far lavorare il processore con indirizzamento reale. Questo modo di operare, definito modalità-8086 virtuale, non è una modalità operativa vera e propria ma un’opzione per la modalità protetta che può essere abilitata per ogni task.
  • Modalità con indirizzamento reale: il processore entra in questa modalità dopo reset. Questo modo di operare è quello proprio della CPU 8086. In questa modalità e possibile utilizzare solamente il modello di memoria con indirizzamento reale. Il processore può passare da questa modalità a quella protetta o a quella SMM.
  • Modalità SMM e gestione energetica

  • Modalità con SMM (System Management Mode): la modalità SMM serve per implementare, in modo trasparente, specifiche funzioni di sicurezza e gestione di risparmio energetico del sistema. Il processore entra in questa modalità se è reso attivo dall’esterno un determinato pin di interrupt (SMI) o quando riceve il comando specifico di interrupt dal controllore avanzato degli interrupt (APIC). La CPU quando diviene attiva questa modalità, entra in un separato spazio di indirizzamene salvando le impostazioni di base dell’attuale programma o task in esecuzione e, quando termina la modalità SMM, il processore è posto nello stato precedente alla sua attivazione.

Domande da interrogazione

  1. Qual è la principale caratteristica dell'architettura IA-32?
  2. L'architettura IA-32 è un insieme di istruzioni e descrizioni per i microprocessori Intel a 32 bit, che include dettagli su registri, modalità di indirizzamento e configurazione della memoria.

  3. Quali modelli di memoria sono utilizzati nell'architettura IA-32?
  4. I modelli di memoria nell'architettura IA-32 includono il modello flat, il modello segmentato e il modello con indirizzamento reale, ognuno con caratteristiche specifiche per l'accesso alla memoria.

  5. Cosa consente la modalità protetta nell'architettura IA-32?
  6. La modalità protetta consente l'uso di tutti i modelli di memoria disponibili e supporta il multitasking, permettendo a ogni task di utilizzare un modello di memoria differente.

  7. Come funziona la modalità SMM nell'architettura IA-32?
  8. La modalità SMM è utilizzata per funzioni di sicurezza e gestione energetica, attivata da un pin di interrupt o da un comando specifico, permettendo al processore di salvare lo stato attuale e ripristinarlo successivamente.

  9. Qual è la differenza tra la modalità con indirizzamento reale e la modalità protetta?
  10. La modalità con indirizzamento reale è limitata al modello di memoria 8086 e viene attivata dopo un reset, mentre la modalità protetta consente l'uso di vari modelli di memoria e supporta il multitasking.

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community