Recente geschiedenis van uw computer

De 80286 met de A20 poort werd twee jaar na zijn introductie op de consumentenmarkt gebruikt in de IBM PC AT. Dat was de eerste pc met een AT design en een ISA bus.


40 Jaar Intel 80286 Met Beruchte A20 Poort
Schema van een ISA Bus

Industry Standard Architecture

Of ISA is een bus voor insteekkaarten in oude personal computers.

De bus werd in 1981 geïntroduceerd door IBM en heeft een 8-bit databus, die werkte op 4,77 MHz. De bus was ontworpen voor 16-bits data, maar omdat in de eerste PC’s met een 8088 processor, een 8-bits databus werden toegepast, werd de uitbreidingsbus ook als 8-bits uitgevoerd.

40 Jaar Intel 80286 Met Beruchte A20 Poort

Met de komst van de IBM AT, gebaseerd op de 80286, werd de bus uitgebreid naar een 16-bits bus die op 8 MHz werkte. Deze werd ook wel de AT bus genoemd.

40 Jaar Intel 80286 Met Beruchte A20 Poort
Eén 8-bits en vijf 16-bits ISA-slots op een moederbord

Intel kondigde in februari 1982 de 80286 processor aan met 134.000 transistors van 1,5 micron of wel 1500 nanometer.

40 Jaar Intel 80286 Met Beruchte A20 Poort
Intel 80286 met beruchte A20 poort

De 80286 kon meer berekeningen met grotere snelheid uitvoeren dan zijn voorganger, de Intel 8088. 40 Jaar Intel 80286 Met Beruchte A20 PoortDie werd sinds 1981 in de IBM Personal Computer gebruikt en was de voorloper van alle x86 pc’s. De 286 processor kon ook meer RAM aansturen, gedeeltelijk kwam dat omdat hij meer adresregels had. Dat werd uiteindelijk mogelijk via een omweg, een probleem waar programmeurs jarenlang mee bezig zijn geweest.

Omdat zelfs de 8088 in theorie 1 MB RAM kon aanspreken, wat in IBM pc’s verre van uitputtend was. Zelfs de IBM AT 5170 had standaard slechts 256 Kilobytes geïnstalleerd. De 80286 kon echter tot 16 MB RAM geheugen aansturen. Hiervoor was de protected mode bedoeld, niet de zogenaamde realtimemode waarmee de 8088 werkte.

Achterwaartse compatibiliteit met oudere DOS versies en software was veel belangrijker voor IBM dan de mogelijkheid om meer RAM te beheren.

40 Jaar Intel 80286 Met Beruchte A20 Poort
IBM pc, circa 1981

A20 of adreslijn 20 is één van de adreslijnen van een i86 microprocessor vanaf 80286. De oorspronkelijke microprocessor van de i86 familie, de Intel 8086, heeft twintig adreslijnen. Deze zijn genummerd van A0 tot A19 ze kon tot 1 megabyte adresseren. Deze processor had dus geen A20.

IBM rustte daarom de AT PC uit met een schakelfunctie voor de A20-adreslijn. Deze beruchte A20 poort dempte de A20 lijn eenvoudig in 8088 compatibele modus. De A20 poort was al geïnstalleerd in opvolgers van de 80286. Het verdween pas 30 jaar later. Ook al was het lang daarvoor alleen belangrijk voor slechts weinig computers die verondersteld werden oude code te draaien.

40 Jaar Intel 80286 Met Beruchte A20 Poort
PC Informatie met een Intel 8088 processor

Deze adressering gebeurde 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, maximaal 10FFEFh. Dit adres is gelijk aan 0FFEFh, aangezien er niet meer dan twintig adreslijnen zijn.

Latere 80286 processoren

De latere 80286 processor heeft 24 adreslijnen. De resulterende adresruimte van 16 megabyte bestaat uit 1 megabyte standaardgeheugen en 15 megabyte extended geheugen. Het extended geheugen is in real mode grotendeels niet toegankelijk, tenzij met LOADALL. Een klein deel van het extended geheugen 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.

Volgens sommigen is dit een bug in de processor, maar in werkelijkheid een vanzelfsprekend gevolg van de architectuur. Om dit 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 geheugen toegankelijk is, dan moet de A20 poort uitgeschakeld worden.

Het echte probleem met de A20-poort was dat er geen software was om te bepalen of deze actief was of niet. Deze onduidelijkheid zorgde jarenlang voor problemen en vervelende probleemoplossingen.

Dit maakt de A20 poort tot een beroemd voorbeeld van mislukte oplossingen die ook elders in de geschiedenis van de x86 pc voorkwamen, die werd gekenmerkt door hoge kostendruk dat op den duur vervelend was. Het begon eigenlijk met de 8088 in de originele pc, die een bewust getrimde versie van de 8086 was. Bijvoorbeeld had deze een externe bus die werd teruggebracht tot 8 bits in plaats van een 16-bits bus.

Afgezien van de nadelen van de A20 poort, bracht de 80286 een enorme prestatieverbetering en nieuwe concepten. Met de beschermde modus op basis van een speciale Memory management unit, in het kort MMU, werd een virtueel geheugenbeheer geïntroduceerd.

Het maakte niet alleen meer RAM mogelijk, maar ook de isolatie van de adresgebieden van verschillende processen die parallel liepen met verschillende toegangsrechten. In nieuwere processors met speculatieve uitvoering werd dit beveiligingsprincipe in 2018 op zijn grondvesten geschud door de zijkanaal aanvallen Spectre en Meltdown.

Tot slot

De 80286 was erg populair, niet alleen als Intel product: AMD maakte de Am286, met tweede bron 80286, dus geen volledige Amx86. Eind jaren 80 kwamen er ook energie besparende versies zoals van Siemens de SAB 80286 en ook Fujitsu en Intersil vervaardigde versies.