A20 (informatica)

informatica

A20 of adreslijn 20 is een van de adreslijnen van een i86-microprocessor vanaf 80286. De oorspronkelijke microprocessor van de i86-familie, de Intel 8086, heeft twintig adreslijnen, genummerd van A0 to A19, dus kan 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 met 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 ervoor 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.