A20 (informatica)

Uit Wikipedia, de vrije encyclopedie
Ga naar: navigatie, zoeken

A20 is de 21e adreslijn van een i86-microprocessor vanaf 80286.

De oorspronkelijke microprocessor van de i86-familie, de 8086, heeft twintig adreslijnen, genummerd van A0 to A19, en kan dus 1 megabyte adresseren. Deze heeft dus geen A20.

Deze adressering geschiedt door een adres van 16 bits op te tellen bij de met 16 vermenigvuldigde waarde in een segmentregister. Het resultaat van deze bewerking kan meer dan FFFFFh zijn, namelijk maximaal 10FFEFh. Dit adres is gelijk aan 0FFEFh, aangezien er niet meer dan twintig adreslijnen zijn.

De latere 80286 heeft 24 adreslijnen. De resulterende adresruimte van 16 megabyte bestaat uit 1 megabyte standaardgeheugen en 15 megabyte extended memory. Het extended memory is in real mode grotendeels niet toegankelijk (tenzij speciale trucs worden toegepast, zie LOADALL).

Een klein deel van het extended memory is wel toegankelijk, want 10FFEFh is niet meer gelijk aan 00FFEFh. Het gevolg hiervan is dat de 80286 niet helemaal compatibel is met de 8086.

Om dit probleem (volgens sommigen een bug in de processor, maar in werkelijkheid een vanzelfsprekend gevolg van de architectuur) te verhelpen, hebben veel computers een extra poort in de 21e adreslijn, de A20-poort. Deze poort zorgt er voor dat A20 altijd 0 is, waardoor een adres groter dan FFFFFh gelijk is aan een adres aan het begin van de geheugenruimte. Werkt de processor in protected mode, waarbij het hele extended memory toegankelijk is, dan moet de A20-poort uitgeschakeld worden.