Intel 8086

Intel 8086 Popis tohoto obrázku, také komentován níže Verze v keramickém pouzdře C8086. Obecné informace
Výroba Od roku 1978 do 90. let
Výrobce Intel
Představení
Frekvence 4,77  MHz  až 10  MHz
Fyzické specifikace
Bydlení 40kolíkový keramický nebo plastový dip
Jemnost gravírování um
Parametr záhlaví je povinný.Architektura a klasifikace
Architektura x86

Intel 8086 (také známý jako iAPX 86 ) je 16- bitový CISC mikroprocesor vyrábějí Intel začíná v roce 1978 . Jedná se o první procesor v rodině x86 , který se stal nejpopulárnější architekturou procesorů ve světě osobních počítačů , pracovních stanic a počítačových serverů díky možnosti IBM použít jej jako základ. “ IBM PC vydal několik let později. Jeho hlavním konkurentem byla Motorola 68000 uvedená na trh v roce 1979 a používaná zejména v Apple Macintosh .

Byla uvedena na trh v květnu 1978 za cenu 360 dolarů .

Nástupce 880bitového procesoru 8080 využívá zcela 16bitovou architekturu: registry, datová sběrnice a výpočty jsou prováděny v 16 bitech. Jeho adresová sběrnice je 20 bitů, což jí umožňuje adresovat 1 MB paměťového prostoru. Pro srovnání, 68000 bude o rok později 16/32 bitovým hybridním řešením využívajícím 32bitové registry, 24bitovou adresovou sběrnici a 16bitovou ALU a datovou sběrnici.

Obsahuje 29 000 tranzistorů leptaných do 3 µm . Jeho výpočetní výkon se pohybuje od 0,33 MIPS (při taktování na 4,77  MHz jako u IBM PC ) až po 0,75 MIPS pro 10 MHz verzi  .

Je schopen provádět 4 základní operace na celočíselných číslech (ADD, SUB, MUL, DIV) a lze jej také rozšířit propojením s koprocesorem Intel 8087, který přidává možnosti zpracování čísel s plovoucí desetinnou čárkou.

Dějiny

Projekt 8086 byl zahájen v roce Květen 1976. Původně byl koncipován jako dočasná náhrada za iAPX 432 , velmi ambiciózní projekt, který ještě nebyl dokončen a který o několik let později bude komerčním selháním. Intel tedy doufal, že vypustí konkurenční procesory (včetně společností Motorola , Zilog a MOS Technology ) a zároveň čelí hrozbě modelu Z80 , který navrhl bývalý zaměstnanec společnosti Intel, který pracoval na modelu 8080.

Architektura čipu byla rychle vyvinuta malou skupinou lidí, aby byla zajištěna kompatibilita se stejnými výrobními technikami jako u Intel 8085 .

Díky použití stejného montážního jazyka jako u 8008, 8080 a 8085 byla tedy 8086 prezentována jako dokonale kompatibilní a vyžadovala malou nebo žádnou úpravu zdrojového kódu programů. Nabízí však plnou 16bitovou podporu, na rozdíl od 8080 a 8085, které měly pouze velmi základní 16bitové schopnosti.

Přesto s cílem usnadnit jeho přijetí, výrobce v roce 1979 odmítne verzi s názvem 8088, jejíž externí sběrnice jsou sníženy na 8 bitů (data) a 16 bitů (adresa), aby byla kompatibilnější s 8bitovými základními deskami navrženými pro l ' Intel 8080 . Tento přístup bude existovat také pro jeho nástupce, jako je 80186 (80188).

Anekdota

V roce 2002 byla NASA kvůli zastaralosti svých validačních systémů nucena koupit na eBay 8086 procesorů, protože Intel je od 90. let nevyráběl .

V roce 2018 společnost Intel uvedla na trh procesor s omezenou edicí Intel Core i7 - 8086K , který si připomíná 40 let Intel 8086.

Obal

Existuje několik verzí 8086 s různými typy boxů a několika maximálními frekvencemi.

Pouzdra mohou být keramická nebo plastová. Přípona 8086 označuje maximální frekvenci: 5  MHz pro 8086, 8  MHz pro 8086-2 a 10  MHz pro 8086-1.

Varianty

V roce 1979 společnost Intel uvedla variantu tohoto procesoru, ale s externí datovou sběrnicí pouze 8 bitů to byl Intel 8088 . Právě tato levnější verze byla vybrána společností IBM k vytvoření prvního počítače IBM .

Architektura

Hlavní rysy

Adresování paměti

Procesor má 20bitovou adresovou sběrnici, zatímco jeho architektura je založena na 16bitové ALU. Aby bylo možné toto omezení překonat, procesor používá mechanismus segmentace paměti: jednobajtová adresa se získá kombinací dvou 16bitových registrů prostřednictvím operace přidání, která vytvoří 20bitový výsledek.

Konkrétně takzvaný segmentový registr vymezuje 64 kB blok paměti, jehož počáteční adresa se rovná value_of_register x 0x10 (tedy posun o 4 bity doleva: hodnota 0x1234 proto specifikuje skutečnou adresu 0x12340). K této hodnotě pocházející z registru segmentů je přidána hodnota zvaná offset, která pochází buď z jiného obecnějšího registru, nebo z přímé hodnoty programu.

Adresa bajtu je proto určena následovně: fyzická_adresa = hodnota_registru_segmentu x 0x10 + offset.

Segment je vždy identifikován jedním ze 4 registrů segmentů ALU: CS, DS, SS nebo ES.

Podle konvence jsou segmentované adresy označeny následovně: XX: YY nebo XX je název použitého registru segmentů (nebo někdy přímá hodnota) a YY název registru obsahujícího offset (nebo opět přímá hodnota).

Například CS: IP je adresa vytvořená kombinací registru Code Segment Register (CS) a registru Instruction Pointer (IP).

Registry

Na rozdíl od 68000, jejichž velmi ortogonální architektura umožňuje považovat většinu registrů za ekvivalentní, mají registry 8086 buď vyhrazenou funkci, nebo specifické vlastnosti, jejichž výsledkem jsou operace vztahující se pouze na ně. Je proto důležité dobře porozumět kapacitám každého z registrů a vytvořit efektivní kodex a podporovat jejich optimální využití.

Přerušení

Procesor má celkem 256 přerušení, některá se týkají hardwaru, jiná použitelná softwarem. Tabulka přerušení je paměťový blok 1024 bajtů začínající na fyzické adrese 0x00000 a obsahující 256 ukazatelů ve tvaru Segment: Offset (tedy 4 bajty každý). Tabulka vektorů přerušení se proto rozšíří na adresu 0x003FF. Každý ukazatel označuje adresu přidružené obslužné rutiny přerušení. Takže první ukazatel odpovídá přerušení 0 atd.

Když je vyvoláno přerušení čísla X, procesor načte ukazatel přítomný na adrese paměti X * 4 do registrů CS: IP poté, co uloží svůj obsah do zásobníku.

Počet přerušení závisí na jeho původu:

Jelikož se pro každý typ přerušení používá stejná logika pro výpočet adresy správce, neexistuje žádný skutečný rozdíl mezi hardwarovými, nemaskovatelnými nebo softwarovými přerušeními. Je proto vhodné vyhnout se překrývání při přidělování čísel.

Prvních 5 přerušení je vyhrazeno a vyrobeno samotným procesorem, a to buď přímo, nebo ve spojení s periferními komponentami:

Z tohoto důvodu nelze hardwarová nebo softwarová přerušení 0 až 4 použít a obecněji si specifikace vyhrazuje přerušení 5 až 31 pro použití hardwaru.

Všechna ostatní přerušení, nad 32, jsou volně použitelná a mohou být aktivována zejména instrukcí INT x.

Vstupní / výstupní porty

I / O porty mají vlastní adresní prostor pokrývající celkem 64 KB. Porty se pohybují od 0x0000 do 0xFFFF a jsou zpracovávány konkrétními pokyny:

Poznámky a odkazy

  1. (in) S. Mazor, „  Intel 8086's  “ , IEEE Annals of the History of Computing , sv.  32, n o  1,Leden-březen 2010, str.  75-79 ( DOI  10.1109 / MAHC.2010.22 , číst online )
  2. William J. Broad, „  NASA kontroluje na EBay zastaralé části  “ , New York Times ,12. května 2002
  3. Intel, „  Happy Birthday, 8086: Limited-Edition 8. generace Intel Core i7-8086K přináší špičkový herní zážitek  “ , Intel Newsroom,5. června 2018
  4. 8086 16-BIT HMOS MICROPROCESSOR 8086 / 8086-2 / 8086-1 (oficiální technická data od společnosti Intel)