Intel 80286 - Intel 80286

Intel 80286
KL Intel i286.jpg
Procesor Intel A80286-8 se šedým keramickým rozdělovačem tepla
Obecná informace
Spuštěno 1982
Přerušeno 1991
Běžní výrobci
Výkon
Max. Taktovací frekvence CPU 5 MHz až 25 MHz
Rychlost FSB 5 MHz až 25 MHz
Šířka dat 16 bitů
Šířka adresy 24 bitů
Architektura a klasifikace
Min. velikost funkce 1,5 µm
Instrukční sada x86-16 (s MMU )
Fyzické specifikace
Tranzistory
Koprocesor Intel 80287
Balíčky
Zásuvka
Dějiny
Předchůdce 8086 , 8088 (zatímco 80186 byl současný)
Nástupce Intel 80386

Intel 80286 (prodávaný též jako iAPX 286 a často nazývány Intel 286 ) je 16bitový mikroprocesor , který byl zaveden dne 1. února 1982. Bylo to poprvé, 8086 založené na procesoru s odděleným, ne multiplexovaný adresových a datových sběrnic a také první se správou paměti a širokými ochrannými schopnostmi. 80286 používal přibližně 134 000 tranzistorů v původní inkarnaci nMOS ( HMOS ) a stejně jako současný 80186 dokázal správně spustit většinu softwaru napsaného pro dřívější procesory Intel 8086 a 8088 .

80286 byl použit pro IBM PC/AT , představený v roce 1984, a poté široce používán ve většině počítačů kompatibilních s PC/AT až do začátku 90. let.

Historie a výkon

AMD 80286 (verze 16 MHz)

První 80286 čipy společnosti Intel byly specifikovány pro maximální taktovací frekvenci 5, 6 nebo 8  MHz a pozdější verze pro 12,5 MHz. AMD a Harris později produkovaly části 16 MHz, 20 MHz a 25 MHz. Společnosti Intersil a Fujitsu také navrhly plně statické verze CMOS původní implementace nMOS společnosti Intel s vyčerpávajícím zatížením , která byla z velké části zaměřena na zařízení napájená bateriemi.

V průměru byla 80286 údajně naměřena tak, aby měla rychlost přibližně 0,21 instrukcí na hodiny v „typických“ programech, i když by to mohlo být výrazně rychlejší v optimalizovaném kódu a v těsných smyčkách, protože mnoho instrukcí bylo možné provést ve 2 hodinových cyklech každý. Modely 6 MHz, 10 MHz a 12 MHz byly údajně naměřeny tak, aby fungovaly při 0,9 MIPS, 1,5 MIPS a 2,66 MIPS.

Pozdější úroveň E- kroku 80286 byla bez několika významných chyb, které způsobovaly problémy programátorům a autorům operačního systému v dřívějších procesorech B-step a C-step (běžné u klonů AT a AT). Tato nášlapná část E-2 mohla být k dispozici později v roce 1986.

Architektura

Zjednodušená mikroarchitektura 80286
Výstřel Intel 80286

Společnost Intel neočekávala, že osobní počítače budou používat procesor 286. CPU byl navržen pro víceuživatelské systémy s víceúlohovými aplikacemi, včetně komunikace (například automatizovaných ústředen ) a řízení procesů v reálném čase . Mělo 134 000 tranzistorů a sestávalo ze čtyř nezávislých jednotek: adresové jednotky, sběrnicové jednotky, instrukční jednotky a prováděcí jednotky, uspořádané do volně propojeného (vyrovnávacího) potrubí , stejně jako v 8086. Bylo vyrobeno v 68pólovém balení , včetně balíčků PLCC ( plastový olověný čipový nosič ), LCC ( bezolovnatý čipový nosič ) a PGA ( pin grid array ).

Zvýšení výkonu 80286 oproti 8086 (nebo 8088) by mohlo být v mnoha programech více než 100% za taktovací cyklus (tj. Dvojnásobný výkon při stejném taktu). Jednalo se o velký nárůst, plně srovnatelný se zlepšením rychlosti o sedm let později, kdy byl představen model i486 (1989) nebo původní Pentium (1993). To bylo částečně způsobeno multiplexovanými adresovými a datovými sběrnicemi, ale hlavně skutečností, že výpočty adres (například base+index ) byly levnější. Byly prováděny vyhrazenou jednotkou v 80286, zatímco starší 8086 musel provádět efektivní výpočet adres pomocí obecné ALU , což v mnoha případech spotřebovalo několik dalších hodinových cyklů. 80286 byl také účinnější v předběžném načítání instrukcí, ukládání do vyrovnávací paměti, provádění skoků a v komplexních mikrokódovaných numerických operacích, jako je MUL / DIV, než jeho předchůdce.

80286 obsahoval, kromě všech instrukcí 8086, všechny nové instrukce 80186: ENTER, LEAVE, BOUND, INS, OUTS, PUSHA, POPA, PUSH okamžitý, IMUL okamžitý a okamžitý posun a otočení. 80286 také přidal nové pokyny pro chráněný režim: ARPL, CLTS, LAR, LGDT, LIDT, LLDT, LMSW, LSL, LTR, SGDT, SIDT, SLDT, SMSW, STR, VERR a VERW. Některé z pokynů pro chráněný režim lze (nebo musí) použít v reálném režimu k nastavení a přepnutí do chráněného režimu a některé (například SMSW a LMSW) jsou užitečné pro samotný skutečný režim.

Intel 80286 má 24-bitovou adresovou sběrnici a byl schopen adresovat až 16  MB z RAM , ve srovnání s 1 MB adresnosti jeho předchůdce. Náklady na paměť a počáteční vzácnost softwaru využívajícího paměť nad 1 MB však znamenaly, že 80286 počítačů bylo zřídka dodáváno s více než jedním megabajtem paměti RAM. Kromě toho došlo k potrestání výkonu při přístupu k rozšířené paměti ze skutečného režimu (ve kterém běžel DOS, dominantní operační systém pro PC až do poloviny 90. let), jak je uvedeno níže.

Funkce

Siemens 80286 (verze 10 MHz)
IBM 80286 (verze 8 MHz)

Chráněný režim

286 byl první z rodiny procesorů x86, který podporoval režim chráněné virtuální adresy , běžně nazývaný „ chráněný režim “. Navíc to byl první komerčně dostupný mikroprocesor s možnostmi MMU na čipu (systémy využívající současný Motorola 68010 a NS320xx mohly být vybaveny volitelným MMU řadičem). To by umožnilo kompatibilním společnostem IBM mít poprvé pokročilé víceúlohové operační systémy a soutěžit na trhu serverů / pracovních stanic s doménou Unix .

V chráněném režimu 80286 bylo zavedeno několik dalších pokynů, které jsou užitečné pro víceúlohové operační systémy.

Další důležitou vlastností 80286 je prevence neoprávněného přístupu. Toho je dosaženo:

  • Vytváření různých segmentů pro data, kód a zásobník a zabránění jejich překrývání.
  • Přiřazení úrovní oprávnění každému segmentu. Segmenty s nižšími úrovněmi oprávnění nemají přístup k segmentům s vyššími úrovněmi oprávnění.

V 80286 (a v jeho koprocesoru Intel 80287 ) lze aritmetické operace provádět s následujícími různými typy čísel:

Podle návrhu se 286 nemohl vrátit z chráněného režimu do základního režimu reálné adresy kompatibilní s 8086 („ skutečný režim “) bez hardwarově inicializovaného resetu. V PC/AT představeném v roce 1984, IBM přidala externí obvody, stejně jako specializovaný kód v ROM BIOSu a periferním mikrokontroléru 8042, aby software umožnil reset, což umožňuje reentry v reálném režimu při zachování aktivní paměti a návratu kontroly na program, který inicioval reset. (BIOS je nutně zapojen, protože získává kontrolu přímo, kdykoli se CPU resetuje.) Přestože metoda fungovala správně, uložila obrovskou penalizaci za výkon.

Teoreticky by aplikace reálného režimu mohly být přímo prováděny v 16bitovém chráněném režimu, pokud by byla dodržována určitá pravidla (nově navržená se zavedením 80286); nicméně, protože mnoho programů DOS nevyhovovalo těmto pravidlům, chráněný režim nebyl široce používán, dokud se neobjevil jeho nástupce, 32bitový Intel 80386 , který byl navržen tak, aby se snadno pohyboval mezi režimy a aby poskytoval emulaci skutečný režim v chráněném režimu. Když Intel navrhl 286, nebyl navržen tak, aby byl schopen multitasking aplikací v reálném režimu; reálný režim měl být jednoduchým způsobem, jak zavaděč bootstrapu připravit systém a poté přepnout do chráněného režimu; v podstatě v chráněném režimu byl 80286 navržen tak, aby byl novým procesorem s mnoha podobnostmi s jeho předchůdci, zatímco skutečný režim na 80286 byl nabízen pro systémy menšího rozsahu, které by mohly těžit z pokročilejší verze jádra CPU 80186 s výhodami jako jsou vyšší taktovací frekvence, rychlejší provádění instrukcí (měřeno v hodinových cyklech) a nemultiplexované sběrnice, nikoli však 24bitový (16 MB) paměťový prostor.

Pro podporu chráněného režimu byly přidány nové pokyny: ARPL, VERR, VERW, LAR, LSL, SMSW, SGDT, SIDT, SLDT, STR, LMSW, LGDT, LIDT, LLDT, LTR, CLTS. Existují také nové výjimky (interní přerušení): neplatný operační kód, koprocesor není k dispozici, dvojitá chyba, přetečení segmentu koprocesoru, chyba zásobníku, přetečení segmentu/chyba obecné ochrany a další pouze pro chráněný režim.

Podpora OS

Chráněný režim 80286 nebyl v počítačových aplikacích běžně používán až mnoho let po jeho vydání, částečně kvůli vysokým nákladům na přidání rozšířené paměti do počítače, ale také kvůli potřebě softwaru na podporu velké uživatelské základny 8086 počítačů. Například v roce 1986 jej používal pouze program VDISK, ovladač disku RAM dodávaný s PC DOS 3.0 a 3.1. DOS mohl využít další RAM k dispozici v chráněném režimu ( rozšířené paměti ) buď přes BIOS volání (INT 15h, AH = 87H), jako RAM disk , nebo jako emulace z expandované paměti . Potíž spočívala v nekompatibilitě starších programů DOS v reálném režimu s chráněným režimem. Jednoduše nemohli nativně běžet v tomto novém režimu bez výrazných úprav. V chráněném režimu byla správa paměti a zpracování přerušení prováděny jinak než v reálném režimu. Kromě toho by programy DOS obvykle měly přímý přístup k datovým a kódovým segmentům, které jim nepatřily, protože skutečný režim jim to umožňoval bez omezení; naproti tomu záměrem chráněného režimu bylo zabránit programům v přístupu k jiným než jejich vlastním segmentům, pokud nebyl výslovně povolen zvláštní přístup. I když bylo možné nastavit prostředí chráněného režimu, které umožňovalo všem programům přístup ke všem segmentům (vložením všech popisovačů segmentů do GDT a přiřazením všech stejné úrovně oprávnění), toto podkopalo téměř všechny výhody chráněného režimu kromě rozšířený (24bitový) adresní prostor. Volba, které vývojáři OS čelili, byla buď začít od nuly a vytvořit OS, který by nespustil drtivou většinu starých programů, nebo přijít s verzí DOSu, která byla pomalá a ošklivá (tj. Ošklivá z interního technického viewpoint), ale stále by běžel většinu starých programů. Chráněný režim také neposkytoval dostatečně výraznou výkonnostní výhodu oproti reálnému režimu kompatibilnímu s 8086, aby ospravedlňoval podporu jeho schopností; ve skutečnosti, s výjimkou přepínačů úloh při multitaskingu, to ve skutečnosti přineslo pouze nevýhodu ve výkonu tím, že zpomalilo mnoho instrukcí pomocí litanie přidaných kontrol oprávnění. V chráněném režimu byly registry stále 16bitové a programátor byl stále nucen používat paměťovou mapu složenou ze segmentů 64 kB, stejně jako v reálném režimu.

V lednu 1985, Digital Research zobrazilo na 286 Souběžná DOS 1.0 operační systém, vyvinutý ve spolupráci se společností Intel . Produkt by fungoval striktně jako operační systém s nativním režimem 80286 (tj. Chráněný režim), což uživatelům umožní plně využívat výhod chráněného režimu k provádění operací s více uživateli a více úkoly při spuštění emulace 8086. To fungovalo na prototypovém kroku B-1 čipu, ale Digital Research objevil v květnu problémy s emulací na stupni C-1 produkční úrovně, což by nedovolilo souběžnému DOS 286 spouštět software 8086 v chráněném režimu. Vydání souběžného DOS 286 bylo odloženo, dokud Intel nevyvinul novou verzi čipu. V srpnu, po rozsáhlých testech na E-1 krokových vzorcích 80286, Digital Research uznal, že Intel opravil všechny zdokumentované 286 chyb, ale řekl, že stále existují nedoložené problémy s výkonem čipu s předběžnou verzí Concurrent DOS 286 běžící na E- 1 krok. Intel uvedl, že přístup, který si Digital Research přál v emulaci softwaru 8086 v chráněném režimu, se liší od původních specifikací. Přesto v kroku E-2 implementovali drobné změny v mikrokódu, které by společnosti Digital Research umožnily spustit režim emulace mnohem rychleji. Jmenoval IBM 4680 OS , IBM původně vybral DR souběžné DOS 286 jako základ svého IBM 4680 počítače pro produkty IBM System z rostlin a point-of-sale terminály v roce 1986. Digital Research FlexOS 286 verze 1.3, původ souběžné DOS 286, byl vyvinutý v roce 1986, zavedený v lednu 1987 a později přijatý společností IBM pro jejich operační systém IBM 4690 , ale ovlivnila jej stejná omezení.

Problémy vedly k tomu, že Bill Gates skvěle odkazoval na 80286 jako na „mozek mrtvý čip“, protože bylo jasné, že nové prostředí Microsoft Windows nebude schopno provozovat více aplikací MS-DOS s 286. Bylo to pravděpodobně zodpovědné za rozkol mezi Microsoftem a IBM, protože IBM trvala na tom, že OS/2 , původně společný podnik mezi IBM a Microsoftem, poběží na 286 (a v textovém režimu).

Jiné operační systémy, které používaly chráněný režim 286, byly Microsoft Xenix (kolem roku 1984), Coherent a Minix . Těm méně bránila omezení chráněného režimu 80286, protože neměly za cíl spouštět aplikace MS-DOS nebo jiné programy v reálném režimu. Intel ve svém nástupnickém čipu 80386 vylepšil chráněný režim, aby adresoval více paměti, a také přidal samostatný virtuální režim 8086 , režim v chráněném režimu s mnohem lepší kompatibilitou MS-DOS, aby uspokojil odlišné potřeby trhu.

Komponenty podpory

Tento seznam součástí rozhraní sběrnice, které se připojují k mikroprocesoru Intel 80286.

  • 82258 Advanced Direct Memory Access Controller - přenosová rychlost 8 MB za sekundu, podporuje až 32 subkanálů, maskování a porovnávání, ověřování, překlad a montáž/demontáž, které jsou zpracovávány současně. Podporuje také rozsah adres 16 MB. Ty byly k dispozici za 170 USD v množství 100.
  • 82C284 Generátor hodin a ovladač
  • Řadič sběrnice 82288
  • 82289 Bus arbitr

Viz také

Reference

externí odkazy