Linea A20

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca

Lalinea A20olinea di indirizzamento A20è una delle tante linee elettriche che fanno parte delbus di sistemadi un computer basato suarchitetturax86.In particolare, la linea A20 viene utilizzata per la trasmissione del 21° bit attraverso ilbus di indirizzamento.

Un microprocessore, di solito, avrà un numero di linee di indirizzamento pari allogaritmoin base due del suo spazio di indirizzamento fisico. Per esempio, unIntel 80386,che ha uno spazio di indirizzamento di 4GiB,richiede 32 linee, denominate A0, A1,..., A31. Le linee prendono il nome dal bit dell'indirizzo che trasmettono. Perciò, la linea A0 trasmetterà ilbit meno significativo,cioè il bit 0 (il primo bit). La linea A20 trasmette il bit 20 (cioè il 21º bit), e diviene attiva nel momento in cui si raggiunge 1MiBo 220.(Si noti che, nel caso dell'80386, le linee A0 ed A1 non esistono di per sé, dal momento che questo processore indirizza la memoria conparoleda 4 bytes, indicando quali sono i 4 byte significativi per quel particolare trasferimento di memoria tramite linee separateByte Enable).

QuandoIBMprogettò l'IBM PC AT,decise di utilizzare i nuovi e più avanzati processoriIntel 80286,che non erano del tutto compatibili con i precedentiIntel 8086eIntel 8088quando funzionavano inmodalità reale.I precedenti microprocessori x86 non avevano le linee di bus da A20 a A31; per questo motivo, indirizzi che superavano il primomegabytenon sarebbero stati visibili al processore. L'80286 poteva, invece, indirizzare fino a 16megabytedi memoria.

Molti programmi funzionavano e funzionano ancora secondo il comportamento appena descritto, e diventava quindi una procedura usuale accedere ai primi 64kBdi memoria senza modificare i registri di segmento del processore. Per rimanere compatibile con questi programmi,IBMdecise di risolvere il problema da sé, a livello discheda madre.

Venne inserita unaporta logicasulla linea A20 tra il processore e il bus di sistema, che venne quindi denominataPorta A20.La porta A20 può essere abilitata o disabilitata via software per permettere od impedire al bus di indirizzamento di ricevere un segnale dalla linea A20. Viene settata opportunamente durante l'esecuzione di programmi che si basano sulle vecchie specifiche. Quando il sistema viene avviato, ilBIOSabilita la linea A20 durante il conteggio e l'esame della memoriaRAMinstallata, e la disabilita prima di trasferire il controllo al sistema operativo.

In origine, la porta logica era una porta collegata al controller per la tastieraIntel 8042.La sua gestione era un processo relativamente lento. Sono stati in seguito introdotte delle alternative che permettono unmultitaskingpiù efficiente per i programmi che richiedono l'accesso all'intera memoria fisica installata.

Si noti che la disconnessione della linea A20 non impedirebbe l'accesso atuttala memoria, ma solo a quella nel range 1 MB-2 MB, 3 MB-4 MB, 5 MB-6 MB ecc. Il software inmodalità realepoteva aver problemi soltanto con la memoria che si trovasse appena oltre il primo megabyte, e quindi la soluzione trovata rispondeva perfettamente alle esigenze.

Col passare del tempo, l'espressionelinea A20venne sempre più confusa dal grande pubblico conPorta-A20.

L'abilitazione della porta A20 è uno dei passaggi che unsistema operativoinmodalità protettax86compie durante la procedura di avvio, spesso prima che il bootloader passi il controllo alkernel(ad esempio, nel caso diLinux).

Lamodalità 8086 virtuale,introdotta con il processoreIntel 80386,permette di simulare il comportamento richiesto dai programmi in modalità reale attraverso l'uso delle caratteristiche dimemoria virtualeproprie del processore: la memoria fisica può essere associata a più di un indirizzo virtuale, cosa che permette alla memoria associata al primo megabyte di memoria virtuale di esserlo anche al secondo megabyte. Un sistema operativo appositamente modificato è in grado di intercettare i cambiamenti dello stato della linea A20, e di compiere i cambiamenti necessari allo spazio d'indirizzamento della memoria virtuale - cosa che rende inutile la disabilitazione della porta A20.

Il processoreIntel 80486aggiunse un pin speciale denominatoA20M#,che quando è in funzione forza il 20° bit dell'indirizzo fisico al valore zero per tutti gli accessi alla memoria cache o quella esterna da parte del processore. Questa nuova caratteristica fu vantaggiosa per i costruttori di schede madri, dal momento che rende sovrabbondante parte della circuiteria necessaria all'implementazione della porta A20. Il software ha, comunque, la necessità di gestire la porta e deve rapportarsi a periferiche esterne (ilchipset) per farlo.

Collegamenti esterni

[modifica|modifica wikitesto]
 Portale Informatica:accedi alle voci di Wikipedia che trattano di informatica