Intel 80286

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2021. április 14-én felülvizsgált verziótól ; az ellenőrzések 9 szerkesztést igényelnek .
Intel 80286
processzor

Mikroprocesszor Intel 80286 (8 MHz)
Termelés 1982. február 1- től az 1990-es évek elejéig
Fejlesztő Intel
Gyártók
CPU frekvencia 4-25  MHz
Gyártástechnológia 1,5  µm
Utasítási készletek x86-16 ( MMU -val )
Csatlakozók
Magok
Intel 80188Intel 80386

Az Intel 80286 (más néven i80286, i286, szleng deuce ) egy 16 bites x86 - kompatibilis mikroprocesszor az Intel második generációjában, amelyet 1982. február 1-jén adtak ki. Ez az Intel 8086 processzor továbbfejlesztett változata, és 3-6-szor nagyobb teljesítményt nyújt. A processzort főleg IBM PC-kompatibilis számítógépekben használták .

Leírás

Az Intel 80286 processzort párhuzamosan fejlesztették az Intel 80186 / 80188 processzorokkal , azonban hiányzott belőle néhány olyan modul, amely az Intel 80186 processzorban elérhető volt. Az Intel 80286 processzor pontosan ugyanabban a csomagban készült, mint az Intel 80186 - LCC , mivel valamint PGA típusú esetekben 68 következtetéssel. Az új processzorban megnőtt a regiszterek száma , új utasítások kerültek be, új processzor mód került hozzáadásra - védett mód . A processzornak 6 bájtos sora volt (mint az Intel 8086-nál). A cím- és adatbuszok nincsenek benne multiplexelve (azaz a címek és adatok továbbítása különböző lábakon történik). A címbusz 24 bitesre nőtt, így a RAM mennyisége 16 MB lehet. A gyorsabb lebegőpontos műveletekhez Intel 80287 matematikai társprocesszorra van szükség .

Regisztrálok

Az Intel 8086 processzor 14 regisztere mellé 11 új regiszter került a védett mód és egyéb funkciók megvalósítására: gépállapot szóregiszter, 16 bit (MSW); feladatregiszter, 16 bit (TR); leíró tábla regiszterek , egy 64 bites és két 40 bites ( GDTR , IDTR, LDTR ) és 6 szegmensregiszter kiterjesztésű regiszter, 48 bites.

Útmutató

A processzor ugyanazzal az utasításkészlettel rendelkezett, mint az Intel 80186 processzor, amelyhez 16 új utasítás került (LGDT, LIDT, LLDT, LMSW, LTR, SGDT, SIDT, SLDT, SMSW, STR, ARPL, CLTS, LAR, LSL, VERR , VERW) szükséges a memóriakezelő eszközökkel való együttműködéshez. A PUSH parancs most már konstansokat menthet a verembe . Az Intel 80286 utasításai átlagosan 4,5 ciklus alatt hajtódnak végre.

Memóriaszervezés

A 24 bites címbusz 16 MB fizikai memória címzését teszi lehetővé, de valós módban már csak 1 MB (640 KB normál memória és 384 KB bővített memória) érhető el, az alacsony címektől kezdve. Szoftveres szempontból a memória szegmensekbe szerveződik, csakúgy, mint a 8086-ban, de a szegmentációs vezérlésben jelentős különbségek vannak a valós és a védett módok között.

Valós módban a memóriacímzés teljes kompatibilitást deklarál a 8086-os processzorral, amely 20 bites címbusszal 1 MB fizikai memóriaterületet fed le. Valójában a PC-szoftver-fejlesztők örömére a 80286-ban van egy hiba, amelyet a processzorok következő generációiban "legalizálnak". Fizikai cím kiszámításakor túlcsordulás léphet fel, amelyet 20 bites címbusz esetén a rendszer egyszerűen figyelmen kívül hagy. Ha például Seg=FFFFh és EA=FFFFh, akkor a PA=16 x Seg + EA=10FFEF képlettel számított fizikai címet a 8086-os processzor 0FFEF-ként értelmezi – az első megabájthoz tartozó címet. A 80286-os processzor A20 kimenete azonban ebben az esetben egy lesz, ami a fizikai memória második megabájtjából származó cella címének felel meg. A 8086-tal való teljes szoftverkompatibilitás érdekében egy speciális Gate A20 kapu került be a PC áramkörbe, amely erőszakosan visszaállítja a rendszercímbusz A20 bitjét. Anélkül, hogy felismerték volna ennek a hibának a potenciális előnyeit, a 8042-es billentyűzetvezérlő szoftveresen vezérelt bitjével legalizálták a kapuvezérlést.Amikor a RAM olcsóbb lett és a szoftverek „étvágya” nőtt, egyes rezidens programok vagy akár az operációs rendszer egy része, ill. gyorsabb módszerek jelentek meg a szelepvezérlés felgyorsítására (Gate A20 Fast Control).

A 8086-tal ellentétben a 80286-os processzor szegmenshatárátlépési vezérlőkkel rendelkezik, amelyek valós módban is működnek. Amikor megpróbál megcímezni egy szót FFFFh eltolással (a magas bájtja túlmegy a szegmenshatáron), vagy olyan utasítást hajt végre, amelynek bájtai nem férnek el ebbe a szegmensbe, a processzor megszakítást generál - a 13-as (0Dh) típusú kivétellel - Szegmens túllépési kivétel. Egy ESCAPE utasítás végrehajtására tett kísérlet olyan memória-operandummal, amely nem fér el a szegmensben, 9-es típusú kivételt dob ​​– Processor Extension Segment Overrrun Interrupt.

Védett módban a 8086-hoz és a 80286-os valós módhoz engedélyezett összes címzési mód működik. A különbségek a szegmensek meghatározásához kapcsolódnak:

Az Intel 80286 processzor működési módjai

Az Intel 80286 processzor két működési módot valósított meg – a védett módot és a valós módot . Valós módban a processzor teljes mértékben kompatibilis volt az ezt megelőzően kiadott x86-os processzorokkal, vagyis a processzor újra- vagy összeszerelés nélkül, minimális módosításokkal tudta végrehajtani az Intel 8086/8088/8018x-hez szánt programokat. A címképzésben mindössze 20 címbuszvonal vett részt, így a címezhető memória maximális mennyisége ebben a módban változatlan maradt - 1 MB. Védett módban a processzor legfeljebb 1 GB virtuális memóriát tudott megcímezni (miközben a valós memória mennyisége nem haladta meg a 16 MB-ot) a memóriacímzési mechanizmus megváltoztatásával. A valós módból biztonságos módba való váltás szoftveresen történik és viszonylag egyszerű, a visszakapcsoláshoz azonban a processzor hardveres újraindítása szükséges, ami az IBM PC-kompatibilis gépeken általában a billentyűzetvezérlővel történt. A Machine Status Word (MSW) regiszter a processzor aktuális üzemmódjának nyomon követésére szolgál. A valós módú programok nem futhatnak védett módban módosítás nélkül, akárcsak a gépi BIOS programok.

A védett mód lényege a következő. A programozó és az általa fejlesztett programok logikai címteret (virtuális címteret) használnak, amely 1024 MB méretű lehet (Intel 80286 esetén). A logikai címet a memóriakezelő egység ( MMU ) automatikusan fizikai címmé alakítja. Védett módban a programnak csak az adott pillanatban szükséges része tárolható a memóriában, a többi pedig külső memóriában (például merevlemezen) tárolható. Ha a program egy olyan részét érik el, amely jelenleg nem található a memóriában, az operációs rendszer szüneteltetheti a programot, betöltheti a szükséges kódrészt a külső memóriából, és folytathatja a program végrehajtását. Ezért azok a programok érvényesek, amelyek nagyobbak, mint a rendelkezésre álló memória. Más szóval, a felhasználónak úgy tűnik, hogy több memóriával dolgozik, mint amilyen valójában. A virtuális memóriarendszer megvalósítása azonban még mindig messze volt a tökéletestől. A Védett módhoz többfeladatos operációs rendszerre van szükség, mint például a Microsoft Windows 2.0 , IBM OS/2 vagy UNIX .

A fizikai címet a következőképpen alakítjuk ki. A szegmensregiszterek tárolnak egy szelektort , amely tartalmazza a leíró táblában lévő leíró indexét (13 bit), egy bitet, amely meghatározza, hogy melyik leíró táblát fogja elérni (helyi vagy globális), valamint a kért jogosultsági szint két bitjét. Ezután elérjük a megfelelő leíró táblázatot és a megfelelő leírót, amely tartalmazza a kezdeti, 24 bites szegmenscímet, szegmens méretét és hozzáférési jogait. Ezt követően a szükséges fizikai cím kiszámítása megtörtént úgy, hogy a szegmens címét hozzáadtuk a 16 bites mutatóregiszterben tárolt eltoláshoz.

Az Intel 80286 processzor védett üzemmódjának azonban volt néhány hátránya. Nem volt kompatibilis az MS-DOS valós módra írt programokkal. A védett módból valós módba váltáshoz a processzor hardveres alaphelyzetbe állítása volt szükséges.

Rings of Protection

A privilegizált parancsok végrehajtása elleni védelem érdekében, amelyek drasztikusan megváltoztathatják a teljes rendszer állapotát, az adatokhoz való hozzáférés és a kódszegmensek védelme érdekében az Intel 80286 processzorában a privilégium védelmet vezették be [1] . 4 szintű jogosultságokat osztottak ki, az úgynevezett védelmi gyűrűket (Ring)  - a rendszermagnak szánt legelőnyösebb 0-s szinttől (Ring 0) a legkevésbé kiváltságos 3-as szintig (Ring 3), amelyet az alkalmazási programoknak szántak.

Operációs rendszer támogatás

Annak ellenére, hogy 1982-ben bejelentették, a 80286 védett módot a személyi számítógépekben hosszú ideig korlátozottan használják. Ennek fő oka a 8086-os processzorra írt programok védett móddal való összeférhetetlensége volt.Az egyik probléma az volt, hogy a 8086 által használt szegmensmemória-címzés lehetővé tette, hogy sok szegmenssel azonos címet képezzenek + offset kombinációk, és programok vettek részt egy ilyen kombináció kialakításában. , nem az operációs rendszer. Például, ha egy 8086-os programnak memóriablokkra volt szüksége, akkor felveszi a memória első szabad bájtjának szegmensét és eltolását, elosztja az eltolást 16-tal, és hozzáadja a szegmens értékéhez, így egy új, nem használt szegmens. A 80286-ban azonban a szegmensértéket indexként használják a leíró táblázatban. Ha a szegmenst önkényesen választja ki, előfordulhat, hogy a megfelelő leíró nem jelenik meg a táblázatban, vagy a leíró nem megfelelő paraméterekkel rendelkezik. Csak az operációs rendszer tudja módosítani a leíró táblát a védelem megléte miatt.

A másik probléma a kód- és adatszegmensek szétválasztása volt. Védett módban a programok nem módosíthatnak kódszegmenseket vagy nem hajthatnak végre egy adatszegmensben elhelyezett kódot, bár 8086 program használt ilyen trükköket.

Egy másik probléma az volt, hogy az IBM PC BIOS fejlesztői figyelmen kívül hagyták az Intel ajánlásait , és fenntartott megszakítási számokat használtak. Például a 80287 aritmetikai társprocesszor hiba esetén 10 16 megszakítást generál . Az IBM PC-n azonban a 10 16 megszakítást használják a kijelző vezérlésére.

Mindezek a problémák a meglévő programok jelentős módosítását igényelték. Az operációs rendszer fejlesztői előtt kellett dönteni, hogy egy viszonylag egyszerű rendszert építenek, amely csak védett módban működik, de nem kompatibilis a legtöbb korábban írt programmal, vagy olyan rendszert hoznak létre, amely a valós és a védett üzemmódban egyaránt tartalmaz komponenseket, és szükség szerint vált át közöttük. ( ami csak a processzor alaphelyzetbe állításával lehetséges és jelentősen csökkenti a teljesítményt), így biztosítva a kompatibilitást a korábban írt programokkal [2] .

1985 januárjában a Digital Research bejelentette a Concurrent DOS 286 -ot, az Intellel közösen létrehozott operációs rendszert . A terméknek csak a 80286 védett módot kellett használnia, ami ennek a módnak minden előnyét biztosította a felhasználóknak a többfelhasználós, többfeladatos programvégrehajtásban, miközben támogatta a 8086 emulációt [3] . A deklarált funkciók működtek a fejlesztés kezdetén használt B-1 léptetőprocesszor prototípusán , de májusban a Digital Research problémákat fedezett fel a soros C-1 léptetőprocesszor emulációjával kapcsolatban, ami nem tette lehetővé a Concurrent DOS 286 számára a 8086-os programok futtatását. védett módban. A Concurrent DOS 286 megjelenése késett, és az Intel megkezdte a chip új verziójának fejlesztését [3] . Augusztusban, a 80286 E-1 stepping mintáinak kiterjedt tesztelése után a Digital Research megerősítette, hogy az Intel minden dokumentált hibát kijavított, de kijelentette, hogy a Concurrent DOS 286 kiadás előtti verziójában továbbra is vannak dokumentálatlan teljesítménybeli problémák. Az Intel kijelentette, hogy a Digital A Research által választott emulációs megközelítési programok a 8086-hoz védett módban eltérnek a kezdeti specifikációtól. Az Intel azonban kisebb mikrokód -módosításokat hajtott végre az E-2 léptetőprocesszorokon, ami lehetővé tette a Digital Research számára, hogy sokkal gyorsabban emuláljon [4] . 1986-ban az IBM a Concurrent DOS 286-ot (IBM 4680 OS névre keresztelve) választotta a kiskereskedelmi rendszerben POS terminálként használt IBM 4680 számítógép operációs rendszerének [5] . Ugyanezek a korlátozások érintették a FlexOS 286 1.0-s verzióját , a Concurrent DOS 286 utódját, amelyet 1986-ban fejlesztett ki a Digital Research és 1987 januárjában vezettek be (ezt a rendszert használta később az IBM az IBM 4690 operációs rendszer alapjaként ).

E problémák miatt Bill Gates a 80286-ot "agyhalott chipnek" nevezte [6] , mivel nyilvánvaló volt, hogy az új Microsoft Windows operációs rendszer nem lesz képes egyszerre több MS-DOS alkalmazás futtatására a 80286 -on. szakadást okozott a Microsoft és az IBM között, mivel az IBM ragaszkodott ahhoz, hogy az OS/2 , amely eredetileg az IBM és a Microsoft közös fejlesztése, támogassa a 80286 védett módot.

A védett mód támogatása a Coherent , Xenix , NetWare 286 , iRMX , OS/2 , Windows 3.0 operációs rendszerekben is megvalósult .

Intel 80286 processzoron alapuló számítógépek

1984-ben az IBM bemutatta a 6 MHz frekvenciájú Intel 80286 processzoron alapuló PC-jét - IBM PC AT, amely nagy érdeklődést váltott ki az x86 architektúra és különösen az IBM PC iránt. 1987-ben az IBM új PC-modelleket adott ki - IBM PS / 2-50 és IBM PS / 2-60. Mire az IBM PS / 2 PC megjelent, az IBM már nem volt monopolista a személyi számítógépek piacán, sok cég gyártott hasonló modelleket, gyakran olcsóbban.

Versenyképes megoldások

Mivel az Intel licenceket adott el a 80286-os mikroprocesszorok gyártásához, sok vállalat valóban előállította ennek a mikroprocesszornak a klónjait - AMD , Siemens AG és HARRIS . Reverse Engineering segítségével a 80286 klónokat hozták létre:

Voltak olyan processzorok is, amelyeket az Inteltől függetlenül fejlesztettek ki, mint például a Zilog , a Motorola és mások.

Specifikációk

Jegyzetek

  1. Mors S.P., Albert D.D. Mikroprocesszor architektúra 80286 = A 80286 architektúra. - M . : Rádió és kommunikáció, 1990. - S.  185 . — 304 p. — ISBN 5-256-00466-2 .
  2. Petzol, Charles. Akadályok egy felnőtt operációs rendszer előtt  // PC Magazine. - 1986. - V. 5 , 11. sz . – S. 170–74 . Az eredetiből archiválva : 2014. szeptember 25.
  3. 12 Edward Foster . A Super DOS az új 80286-ra vár – a párhuzamos DOS 286 – késik, amíg az Intel nem frissíti a chipet – a Xenix teljesítményét és az IBM PC-kompatibilitást kínálja  // InfoWorld. - InfoWorld Media Group, 1985. - V. 7 , 19. szám . S. 17–18 . ISSN 0199-6649 . Az eredetiből archiválva : 2014. szeptember 25.
  4. Edward Foster. Az Intel új 80286-os chipet mutatott be – A DRI párhuzamos DOS 286 jövője a processzor javítása után továbbra sem világos  // InfoWorld. - InfoWorld Media Group, 1985. - V. 7 , 34. szám . - S. 21 . — ISSN 0199-6649 . Az eredetiből archiválva: 2017. március 20.
  5. Melissa Calvo és Jim Forbes. Az IBM DRI operációs rendszert használ  // InfoWorld. - InfoWorld Media Group, 1986. - V. 8. , 6. sz . - S. 12 . — ISSN 0199-6649 . Az eredetiből archiválva : 2014. október 1.
  6. Mikroprocesszorok: Programozói nézet . - New York: McGraw-Hill, 1990. - ISBN 0-07-016638-2 .

Linkek