Intel 80286

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 14. april 2021; checks kræver 9 redigeringer .
Intel 80286
CPU

Mikroprocessor Intel 80286 (8 MHz)
Produktion 1. februar 1982 til begyndelsen af ​​1990'erne
Udvikler Intel
Producenter
CPU frekvens 4-25  MHz
Produktionsteknologi 1,5  µm
Instruktionssæt x86-16 (med MMU )
Stik
Kerner
Intel 80188Intel 80386

Intel 80286 (også kendt som i80286, i286, slang deuce ) er en 16-bit x86 - kompatibel mikroprocessor af anden generation fra Intel, udgivet den 1. februar 1982. Det er en forbedret version af Intel 8086-processoren og har 3-6 gange højere ydeevne. Processoren blev primært brugt i IBM PC-kompatible computere .

Beskrivelse

Intel 80286 processoren blev udviklet parallelt med Intel 80186 / 80188 processorerne , dog manglede den nogle moduler, der var tilgængelige i Intel 80186 processoren Intel 80286 processoren blev produceret i nøjagtig samme pakke som Intel 80186 - LCC , som f.eks. samt i tilfælde af PGA -typen med 68 konklusioner. Antallet af registre blev øget i den nye processor , nye instruktioner blev tilføjet, en ny processortilstand blev tilføjet - beskyttet tilstand . Processoren havde en 6 -byte kø (som Intel 8086). Adresse- og databusserne er ikke multiplekset i den (det vil sige, adresser og data overføres på forskellige ben). Adressebussen er øget til 24 bit, så mængden af ​​RAM kan være 16 MB. For hurtigere flydende kommaoperationer kræves Intel 80287 matematisk coprocessor .

Registre

Ud over de 14 registre i Intel 8086-processoren blev der tilføjet 11 nye registre for at implementere beskyttet tilstand og andre funktioner: maskinstatusordregister, 16 bit (MSW); opgaveregister, 16 bit (TR); deskriptor tabelregistre , et 64-bit og to 40-bit ( GDTR , IDTR, LDTR ) og 6 segmentregisterudvidelsesregistre, 48 ​​bit.

Instruktioner

Processoren havde samme instruktionssæt som Intel 80186-processoren, hvortil 16 nye instruktioner blev tilføjet (LGDT, LIDT, LLDT, LMSW, LTR, SGDT, SIDT, SLDT, SMSW, STR, ARPL, CLTS, LAR, LSL, VERR , VERW) nødvendig for at arbejde med værktøjer til hukommelseshåndtering. PUSH kommandoen kunne nu gemme konstanter på stakken . Instruktioner i Intel 80286 udføres i gennemsnit på 4,5 cyklusser.

Hukommelsesorganisation

24-bit adressebussen tillader adressering af 16 MB fysisk hukommelse, men i real mode er kun 1 MB (640 KB almindelig hukommelse og 384 KB udvidet hukommelse) tilgængelig, startende fra lave adresser. Fra et softwaresynspunkt er hukommelsen organiseret i form af segmenter, ligesom i 8086, men segmenteringskontrol har betydelige forskelle for reelle og beskyttede tilstande.

I real mode erklærer hukommelsesadressering fuld kompatibilitet med 8086-processoren, som med sin 20-bit adressebus dækker en fysisk hukommelsesplads på 1 MB. Faktisk, til glæde for pc-softwareudviklere, har 80286 en fejl, der er "legaliseret" i fremtidige generationer af processorer. Ved beregning af en fysisk adresse kan der opstå et overløb, som med en 20-bit adressebus blot ignoreres. Hvis for eksempel Seg=FFFFh og EA=FFFFh, fortolkes den fysiske adresse beregnet med formlen PA=16 x Seg + EA=10FFEF af 8086-processoren som 0FFEF - adressen, der hører til den første megabyte. Imidlertid vil output A20 fra 80286-processoren i dette tilfælde være indstillet til én, hvilket svarer til adressen på cellen fra den anden megabyte fysisk hukommelse. For at sikre fuld softwarekompatibilitet med 8086 blev der indført en speciel Gate A20-gate i pc-kredsløbet, som tvangsnulstiller A20-bitten af ​​systemadressebussen. Uden at indse den potentielle fordel ved denne fejl, blev gate-kontrol legaliseret gennem en software-styret bit af 8042-tastaturcontrolleren. Da RAM blev billigere og "appetitten" af software voksede, blev nogle residente programmer eller endda en del af operativsystemet, og hurtigere metoder har vist sig at fremskynde ventilkontrol (Gate A20 Fast Control).

I modsætning til 8086 har 80286-processoren segmentgrænseoverskridende kontroller, der også fungerer i real mode. Når du forsøger at adressere et ord med en offset på FFFFh (dets høje byte går ud over segmentgrænsen) eller udfører en instruktion, hvis bytes ikke passer i dette segment, genererer processoren et interrupt - en undtagelse af type 13 (0Dh) - Undtagelse for segmentoverskridelse. Et forsøg på at udføre en ESCAPE-instruktion med en hukommelsesoperand, der ikke passer i segmentet, giver en undtagelse af type 9 - Processor Extension Segment Overrrun Interrupt.

I beskyttet tilstand fungerer alle adresseringstilstande til 8086 og reel tilstand 80286. Forskellene vedrører definitionen af ​​segmenter:

Driftstilstande for Intel 80286-processoren

Intel 80286-processoren implementerede to tilstande af driftsbeskyttet tilstand og ægte tilstand . I real mode var processoren fuldt ud kompatibel med x86-processorer, der blev udgivet før det, det vil sige, at processoren kunne udføre programmer beregnet til Intel 8086/8088/8018x uden at samle eller samle igen med minimale ændringer. Kun 20 adressebuslinjer deltog i adressedannelsen, så den maksimale mængde adresserbar hukommelse i denne tilstand forblev den samme - 1 MB. I beskyttet tilstand kunne processoren adressere op til 1 GB virtuel hukommelse (mens mængden af ​​reel hukommelse ikke var mere end 16 MB) ved at ændre hukommelsesadresseringsmekanismen. Skift fra reel tilstand til sikker tilstand sker i software og er relativt simpelt, dog kræves der en hardwarenulstilling af processoren, hvilket i IBM PC-kompatible maskiner normalt blev udført ved hjælp af tastaturcontrolleren. Maskinstatusordregisteret (MSW) bruges til at holde styr på processorens aktuelle driftstilstand. Real mode-programmer kan ikke køre i beskyttet tilstand uden ændringer, ligesom maskinens BIOS -programmer.

Essensen af ​​den beskyttede tilstand er som følger. Programmøren og de programmer, han udvikler, bruger et logisk adresserum (virtuelt adresserum), som kan være 1024 MB stort (til Intel 80286). Den logiske adresse konverteres automatisk til en fysisk adresse af hukommelsesstyringsenheden ( MMU ). I beskyttet tilstand kan kun den del af programmet, der er nødvendig i øjeblikket, gemmes i hukommelsen, og resten kan gemmes i ekstern hukommelse (for eksempel på en harddisk). Hvis der tilgås en del af programmet, som ikke i øjeblikket er i hukommelsen, kan operativsystemet sætte programmet på pause, indlæse den nødvendige kodesektion fra ekstern hukommelse og genoptage programafviklingen. Derfor bliver programmer, der er større end mængden af ​​tilgængelig hukommelse, gyldige. Med andre ord ser det ud for brugeren, at han arbejder med mere hukommelse, end han egentlig er. Implementeringen af ​​det virtuelle hukommelsessystem var dog stadig langt fra perfekt. Beskyttet tilstand kræver et multitasking-operativsystem såsom Microsoft Windows 2.0 , IBM OS/2 eller UNIX .

Den fysiske adresse er dannet som følger. Segmentregistrene lagrer en selektor , der indeholder indekset for deskriptoren i deskriptortabellen (13 bit), en bit, der bestemmer, hvilken deskriptortabel der skal tilgås (lokal eller global) og to bits af det anmodede privilegieniveau. Dernæst tilgås den tilsvarende tabel med deskriptorer og den tilsvarende deskriptor, som indeholdt den indledende, 24-bit, segmentadresse, segmentstørrelse og adgangsrettigheder. Derefter blev den nødvendige fysiske adresse beregnet ved at tilføje segmentadressen til forskydningen gemt i 16-bit pointerregisteret.

Den beskyttede tilstand i Intel 80286-processoren havde dog nogle ulemper. Det var inkompatibelt med programmer skrevet til MS-DOS real mode. For at skifte fra beskyttet tilstand til ægte tilstand krævedes en hardwarenulstilling af processoren.

Ringe af beskyttelse

For at beskytte mod udførelse af privilegerede kommandoer, der drastisk kan ændre hele systemets tilstand, for at beskytte adgang til data og for at beskytte kodesegmenter, blev privilegiebeskyttelse indført i Intel 80286-processoren [1] . Der blev tildelt 4 niveauer af privilegier, de såkaldte beskyttelsesringe (Ring)  - fra det mest privilegerede niveau 0 (Ring 0), beregnet til systemkernen, til det mindst privilegerede niveau 3 (Ring 3), beregnet til applikationsprogrammer.

Understøttelse af operativsystem

På trods af at den blev annonceret i 1982, har den beskyttede tilstand 80286 i personlige computere haft begrænset brug i lang tid. Hovedårsagen til dette var inkompatibiliteten med den beskyttede tilstand af programmer skrevet til 8086-processoren. Et af problemerne skyldtes det faktum, at segmenthukommelsesadresseringen brugt af 8086 gjorde det muligt at danne den samme adresse med mange segment + offset-kombinationer, og programmer var involveret i dannelsen af ​​en sådan kombination. , ikke operativsystemet. For eksempel, hvis et program til en 8086 havde brug for en hukommelsesblok, ville det tage segmentet og forskydningen af ​​den første ledige hukommelsesbyte, dividere forskydningen med 16 og tilføje den til segmentværdien, og dermed danne en ny, ubrugt segment. I 80286 bruges segmentværdien dog som et indeks i deskriptortabellen. Hvis segmentet er valgt vilkårligt, vises den tilsvarende deskriptor i tabellen muligvis ikke, eller beskrivelsen vil have uhensigtsmæssige parametre. Kun operativsystemet kan ændre deskriptortabellen på grund af tilstedeværelsen af ​​beskyttelse.

Et andet problem var adskillelsen af ​​kode- og datasegmenter. I beskyttet tilstand kan et program ikke ændre kodesegmenter eller udføre kode placeret i et datasegment, selvom 8086 programmer brugte sådanne tricks.

Et andet problem var, at IBM PC BIOS -udviklerne ignorerede Intels anbefalinger og brugte reserverede interruptnumre. For eksempel genererer den aritmetiske coprocessor 80287 interrupt 1016 , når der opstår en fejl . På IBM PC'en bruges interrupt 10 16 dog til at styre skærmen.

Alle disse problemer krævede betydelige ændringer af eksisterende programmer. Operativsystemudviklere stod over for valget mellem at bygge et relativt simpelt system, der kun fungerer i beskyttet tilstand, men som ikke er kompatibelt med de fleste tidligere skrevne programmer, eller at skabe et system, der indeholder komponenter til at arbejde i både ægte og beskyttet tilstand og skifter mellem dem efter behov. (hvilket kun er muligt gennem en processornulstilling og reducerer ydeevnen betydeligt), hvilket sikrer kompatibilitet med tidligere skrevne programmer [2] .

I januar 1985 annoncerede Digital Research Concurrent DOS 286 , et styresystem skabt i samarbejde med Intel . Produktet skulle kun bruge 80286-beskyttet tilstand, hvilket gav brugerne alle fordelene ved denne tilstand ved at levere multi-bruger, multi-tasking-programudførelse, samtidig med at det understøttede 8086-emulering [3] . De erklærede funktioner var funktionelle på prototypen B-1 step -processor, der blev brugt i begyndelsen af ​​udviklingen , men i maj opdagede Digital Research problemer med emulering på den serielle C-1 step-processor, som ikke tillod Concurrent DOS 286 at køre programmer til 8086 i beskyttet tilstand. Frigivelsen af ​​Concurrent DOS 286 blev forsinket, og Intel begyndte at udvikle en ny version af chippen [3] . I august, efter omfattende test af prøver af 80286 E-1 stepping, bekræftede Digital Research, at Intel havde rettet alle dokumenterede fejl, men udtalte, at der fortsat var udokumenterede ydeevneproblemer på pre-release-versionen af ​​Concurrent DOS 286. Intel oplyste, at Digital Researchs valgte emuleringstilgangsprogrammer for 8086 i beskyttet tilstand adskiller sig fra de oprindelige specifikationer. Intel foretog dog mindre mikrokodeændringer til E-2 stepping-processorerne, der gjorde det muligt for Digital Research at emulere meget hurtigere [4] . I 1986 valgte IBM Concurrent DOS 286 (omdøbte den til IBM 4680 OS) som operativsystemet til IBM 4680 -computeren, der blev brugt i detailsystemet som en POS-terminal [5] . De samme begrænsninger påvirkede version 1.0 af FlexOS 286 , efterfølgeren til Concurrent DOS 286, udviklet af Digital Research i 1986 og introduceret i januar 1987 (dette system blev senere brugt af IBM som grundlag for IBM 4690 OS ).

På grund af disse problemer døbte Bill Gates 80286'eren "hjernedøde chippen" [6] , da det var indlysende, at det nye Microsoft Windows -operativsystem ikke ville være i stand til at køre flere MS-DOS- applikationer samtidigt på 80286. Dette kan have forårsagede en splittelse mellem Microsoft og IBM, da IBM insisterede på, at OS/2 , oprindeligt en fælles udvikling mellem IBM og Microsoft, understøtter 80286 beskyttet tilstand.

Understøttelse af beskyttet tilstand er også blevet implementeret i operativsystemerne Coherent , Xenix , NetWare 286 , iRMX , OS/2 , Windows 3.0 .

Computere baseret på Intel 80286-processoren

I 1984 introducerede IBM sin pc baseret på Intel 80286-processoren med en frekvens på 6 MHz - IBM PC AT, hvilket vakte stor interesse for x86-arkitekturen generelt og for IBM pc'en i særdeleshed. I 1987 frigiver IBM nye pc-modeller - IBM PS / 2-50 og IBM PS / 2-60. På det tidspunkt, hvor IBM PS / 2 PC blev udgivet, var IBM ikke længere en monopolist på markedet for personlige computere, mange virksomheder producerede lignende modeller, ofte billigere.

Konkurrencedygtige løsninger

Da Intel solgte licenser til produktion af 80286 mikroprocessorer, producerede mange virksomheder faktisk kloner af denne mikroprocessor - AMD , Siemens AG og HARRIS . Ved hjælp af reverse engineering blev kloner af 80286 oprettet:

Der var også processorer udviklet uafhængigt af Intel, såsom Zilog , Motorola og andre.

Specifikationer

Noter

  1. Mors S.P., Albert D.D. Mikroprocessorarkitektur 80286 = 80286-arkitekturen. - M . : Radio og kommunikation, 1990. - S.  185 . — 304 s. — ISBN 5-256-00466-2 .
  2. Petzol, Charles. Forhindringer for et voksent styresystem  // PC Magazine. - 1986. - V. 5 , nr. 11 . — S. 170–74 . Arkiveret fra originalen den 25. september 2014.
  3. 12 Edward Foster . Super DOS afventer ny 80286 – Concurrent DOS 286 – forsinket indtil Intel opgraderer chip – tilbyder Xenix's power og IBM PC-kompatibilitet  // InfoWorld. - InfoWorld Media Group, 1985. - V. 7 , nr. 19 . S. 17–18 . ISSN 0199-6649 . Arkiveret fra originalen den 25. september 2014.
  4. Edward Foster. Intel viser ny 80286-chip – Fremtiden for DRI's Concurrent DOS 286 er stadig uklar efter processoren er rettet  // InfoWorld. - InfoWorld Media Group, 1985. - V. 7 , nr. 34 . - S. 21 . — ISSN 0199-6649 . Arkiveret fra originalen den 20. marts 2017.
  5. Melissa Calvo og Jim Forbes. IBM vil bruge et DRI-operativsystem  // InfoWorld. - InfoWorld Media Group, 1986. - V. 8 , nr. 6 . - S. 12 . — ISSN 0199-6649 . Arkiveret fra originalen den 1. oktober 2014.
  6. Mikroprocessorer: En programmørs synspunkt . - New York: McGraw-Hill, 1990. - ISBN 0-07-016638-2 .

Links