i386 - i386
Obecná informace | |
---|---|
Spuštěno | Říjen 1985 |
Přerušeno | 28. září 2007 |
Běžní výrobci | |
Výkon | |
Max. Taktovací frekvence CPU | 12 MHz až 40 MHz |
Šířka dat | 32 bitů (386SX: 16 bitů) |
Šířka adresy | 32 bitů (386SX: 24 bitů) |
Architektura a klasifikace | |
Min. velikost funkce | 1,5 µm až 1 µm |
Instrukční sada | x86-32 |
Fyzické specifikace | |
Tranzistory | |
Koprocesor | 386DX: Intel 80387
386SX: Intel 80387SX |
Balíčky | |
Zásuvka | |
Dějiny | |
Předchůdce | Intel 80286 |
Nástupce | i486 |
Intel 386 , původně vydána jako 80386 a později přejmenovaný i386 , je 32bitový mikroprocesor představil v roce 1985. První verze měly 275,000 tranzistorů a byl CPU řady pracovních stanic a high-end osobní počítače času. Jako původní implementace 32bitového rozšíření architektury 80286 jsou instrukční sada i386, programovací model a binární kódování stále společným jmenovatelem všech 32bitových procesorů x86 , které se označuje jako architektura i386 , x86 nebo IA-32 , v závislosti na kontextu.
32bitový i386 dokáže správně spustit většinu kódu určeného pro dřívější 16bitové procesory, jako jsou 8086 a 80286, které byly v raných počítačích všudypřítomné . (Podle stejné tradice jsou moderní 64bitové procesory x86 schopny spouštět většinu programů napsaných pro starší procesory x86, až k původním 16bitovým 8086 z roku 1978.) V průběhu let postupně novější implementace stejné architektury se staly několik stokrát rychlejší než původní 80386 (a tisíckrát rychlejší než 8086). Údajně bylo naměřeno 33 MHz 80386, aby fungovalo při přibližně 11,4 MIPS .
80386 byl představen v říjnu 1985, zatímco výroba čipů ve značném množství byla zahájena v červnu 1986. Základní desky pro počítačové systémy založené na 80386 byly zpočátku těžkopádné a drahé, ale výroba byla odůvodněna přijetím 80386 v hlavním proudu. První osobní počítač, který používal 80386, byl navržen a vyroben společností Compaq a označil poprvé, kdy byla základní komponenta v de facto standardu kompatibilním s PC IBM aktualizována jinou společností než IBM .
V květnu 2006 Intel oznámil, že výroba i386 bude zastavena na konci září 2007. Přestože byl procesor CPU osobního počítače dlouho zastaralý , Intel a další pokračovali ve výrobě čipu pro vestavěné systémy . Takové systémy využívající i386 nebo jeden z mnoha derivátů jsou mimo jiné běžné v letecké technice a elektronických hudebních nástrojích. Některé mobilní telefony také používaly (později plně statické varianty CMOS ) procesor i386, například BlackBerry 950 a Nokia 9000 Communicator . Linux nadále podporoval procesory i386 až do 11. prosince 2012; když jádro řezalo pokyny specifické pro 386 ve verzi 3.8.
Architektura
|
Procesor byl významným vývojem v architektuře x86 a rozšířil dlouhou řadu procesorů, které sahaly až k Intel 8008 . Předchůdcem 80386 byl Intel 80286 , 16bitový procesor se systémem správy a ochrany paměti na bázi segmentů . 80386 přidal třístupňový instrukční kanál, rozšířil architekturu ze 16 bitů na 32 bitů a přidal jednotku pro správu paměti na čipu . Tato jednotka pro překlad stránkování značně usnadnila implementaci operačních systémů využívajících virtuální paměť . Nabízel také podporu pro ladění registru .
80386 představoval tři provozní režimy: reálný režim, chráněný režim a virtuální režim. Chráněný režim , který debutoval v 286, byla rozšířena tak, aby 386 řešit až 4 GB paměti. Zcela nový virtuální režim 8086 (nebo VM86 ) umožnil provozovat jeden nebo více programů v reálném režimu v chráněném prostředí, i když některé programy nebyly kompatibilní.
Možnost nastavit 386 tak, aby se chovala, jako by měla model s plochou pamětí v chráněném režimu navzdory skutečnosti, že ve všech režimech používá segmentovaný paměťový model, byla pravděpodobně nejdůležitější změnou funkcí pro rodinu procesorů x86, dokud AMD neuvolní x86. -64 v roce 2003.
Do 386 bylo přidáno několik nových pokynů: BSF, BSR, BT, BTS, BTR, BTC, CDQ, CWDE, LFS, LGS, LSS, MOVSX, MOVZX, SETcc, SHLD, SHRD.
Byly přidány dva nové segmentové registry (FS a GS) pro programy pro obecné účely, jediné stavové slovo stroje 286 se rozrostlo do osmi řídicích registrů CR0 – CR7. Pro zarážky hardwaru byly přidány ladicí registry DR0 – DR7. K jejich přístupu jsou použity nové formy instrukce MOV.
Hlavním architektem při vývoji 80386 byl John H. Crawford . Byl zodpovědný za rozšíření architektury a instrukční sady 80286 na 32bitové a poté vedl vývoj mikroprogramu pro čip 80386.
Řada procesorů i486 a P5 Pentium byla potomky designu i386.
Typy dat
Následující datové typy jsou přímo podporovány, a proto implementovány jedním nebo více strojními pokyny i386 ; tyto datové typy jsou stručně popsány zde:
- Bit ( booleovská hodnota), bitové pole (skupina až 32 bitů) a bitový řetězec (až 4 Gbit na délku).
- 8bitové celé číslo (bajt) , buď se znaménkem (rozsah −128..127), nebo bez znaménka (rozsah 0..255).
- 16bitové celé číslo , buď se znaménkem (rozsah −32 768..32 767) nebo bez znaménka (rozsah 0..65 535).
- 32bitové celé číslo , buď se znaménkem (rozsah −2 31 ..2 31 −1), nebo bez znaménka (rozsah 0..2 32 −1).
- Offset , posunutí 16 nebo 32 bitů odkazující na místo v paměti (pomocí libovolného režimu adresování).
- Ukazatel , 16bitový volič společně s 16- nebo 32bitovým offsetem.
- Znak (8bitový znakový kód).
- Řetězec , sekvence 8, 16 nebo 32 bitových slov (až 4 Gbit na délku).
- BCD , desetinné číslice (0..9) reprezentované nerozbalenými bajty.
- Balený BCD , dvě BCD číslice v jednom bajtu (rozsah 0..99).
Příklad kódu
Následující zdrojový kód sestavy i386 je pro podprogram pojmenovaný, _strtolower
který kopíruje řetězec znaků ASCIIZ s nulovým zakončením z jednoho umístění do druhého a převádí všechny abecední znaky na malá písmena. Řetězec je kopírován po jednom bajtu (8bitový znak).
00000000 00000000 55 00000001 89 E5 00000003 8B 75 0C 00000006 8B 7D 08 00000009 8A 06 0000000B 46 0000000C 3C 41 0000000E 7C 06 00000010 3C 5A 00000012 7F 02 00000014 04 20 00000016 88 07 00000018 47 00000019 3C 00 0000001B 75 EC 0000001D 5D 0000001E C3 0000001F |
; _strtolower:
; Copy a null-terminated ASCII string, converting
; all alphabetic characters to lower case.
;
; Entry stack parameters
; [ESP+8] = src, Address of source string
; [ESP+4] = dst, Address of target string
; [ESP+0] = Return address
;
_strtolower proc
push ebp ;Set up the call frame
mov ebp,esp
mov esi,[ebp+12] ;Set ESI = src
mov edi,[ebp+8] ;Set EDI = dst
loop mov al,[esi] ;Load AL from [src]
inc esi ;Increment src
cmp al,'A' ;If AL < 'A',
jl copy ; Skip conversion
cmp al,'Z' ;If AL > 'Z',
jg copy ; Skip conversion
add al,'a'-'A' ;Convert AL to lowercase
copy mov [edi],al ;Store AL to [dst]
inc edi ;Increment dst
cmp al,0 ;If AL <> 0,
jne loop ; Repeat the loop
done pop ebp ;Restore the prev call frame
ret ;Return to caller
end proc
|
Ukázkový kód používá registr EBP (základní ukazatel) k vytvoření rámce volání , oblasti v zásobníku, která obsahuje všechny parametry a lokální proměnné pro provedení podprogramu. Tento druh konvence volání podporuje reentrantní a rekurzivní kód a Algolské jazyky jej používají od konce padesátých let minulého století. Model ploché paměti se konkrétně předpokládá, že segmenty DS a ES adresují stejnou oblast paměti.
Varianty čipů
80386SX
V roce 1988 Intel představil 80386SX , nejčastěji označovaný jako 386SX , zkrácenou verzi 80386 se 16bitovou datovou sběrnicí určenou především pro levnější počítače zaměřené na domácí, vzdělávací a malé obchodní trhy. , zatímco 386DX zůstal špičkovou variantou používanou na pracovních stanicích, serverech a dalších náročných úkolech. CPU zůstal interně plně 32bitový, ale 16bitová sběrnice měla zjednodušit rozvržení obvodové desky a snížit celkové náklady. 16bitová sběrnice zjednodušila design, ale omezila výkon. K adresové sběrnici bylo připojeno pouze 24 pinů, což omezilo adresování na 16 MB , ale v té době to nebylo kritické omezení. Rozdíly ve výkonu nebyly způsobeny pouze rozdílnými šířkami datové sběrnice, ale také kvůli vyrovnávací paměti zvyšující výkon, často využívané na deskách využívajících původní čip.
Původní 80386 byl následně přejmenován na i386DX, aby nedošlo k záměně. Intel však následně použil příponu „DX“ k označení schopnosti i486DX s plovoucí desetinnou čárkou. 387SX byla část 80387, která byla kompatibilní s 386SX (tj. S 16bitovou databází). 386SX byl zabalen v povrchové montáži QFP a někdy nabízen v zásuvce, aby bylo možné provést upgrade.
80386SL
80386SL byl představen jako energeticky úsporném provedení pro přenosné počítače . Procesor nabízel několik možností správy napájení (např. SMM ) a také různé režimy „spánku“, které šetřily energii baterie . Obsahoval také podporu pro externí mezipaměť 16 až 64 kB . Extra funkce a techniky implementace obvodů způsobily, že tato varianta měla více než 3krát více tranzistorů než i386DX. I386SL byl poprvé k dispozici při taktu 20 MHz, přičemž později byl přidán model 25 MHz.
Obchodní význam
První počítač založený na Intel 80386 byl Compaq Deskpro . Společnost Compaq rozšířením 16/24bitového standardu IBM PC/AT do nativně 32bitového výpočetního prostředí se stala první společností, která na platformě PC navrhla a vyrobila tak významný technický hardware. IBM bylo nabídnuto použití 80386, ale mělo výrobní práva pro dřívější 80286 . IBM se proto rozhodlo na tento procesor spolehnout ještě několik let. Počáteční úspěch Compaq Deskpro 386 hrál důležitou roli při legitimizaci odvětví „klonování“ počítačů a při zdůrazňování role IBM v něm.
Před rokem 386 kvůli obtížnosti výroby mikročipů a nejistotě spolehlivého zásobování bylo žádoucí, aby jakýkoli polovodič na masovém trhu byl získáván z více zdrojů, tj. Od dvou nebo více výrobců, druhé a další společnosti vyrábějící na základě licence od původní společnost. 386 byl po určitou dobu (4,7 let) k dispozici pouze od společnosti Intel, protože Andy Grove , tehdejší generální ředitel společnosti Intel, se rozhodl nepodporovat ostatní výrobce, aby vyráběli procesor jako druhý zdroj . Toto rozhodnutí bylo nakonec klíčové pro úspěch společnosti Intel na trhu. 386 byl prvním významným mikroprocesorem, který byl získán z jednoho zdroje . Single-sourcing 386 umožnil společnosti Intel větší kontrolu nad jejím vývojem a podstatně vyšší zisky v pozdějších letech.
AMD představilo svůj kompatibilní procesor Am386 v březnu 1991 po překonání zákonných překážek, čímž skončil 4,7letý monopol Intelu na procesorech kompatibilních s 386. Od roku 1991 IBM také vyrobila 386 čipů v licenci pro použití pouze v počítačích a deskách IBM.
Kompatibilní
- AMD AMD AM386 SX a Am386DX byly téměř přesné klony i386SX a i386DX. Právní spory způsobily několikaleté zpoždění výroby, ale 40 MHz část AMD se nakonec stala velmi oblíbenou u počítačových nadšenců jako levná a málo výkonná alternativa k 25 MHz 486SX. Příkon byl dále snížen u „modelů notebooků“ (Am386 DXL/SXL/DXLV/SXLV), které mohly pracovat s 3,3 V a byly implementovány v plně statických obvodech CMOS .
- Čipy a technologie Super386 38600SX a 38600DX byly vyvinuty pomocí reverzního inženýrství . Prodávaly se špatně kvůli některým technickým chybám a nekompatibilitě a také kvůli jejich pozdnímu vystoupení na trhu. Byly to tedy výrobky s krátkou životností.
- Cyrix Cx486SLC / Cx486DLC by mohl být (zjednodušeně) popsán jako druh hybridního čipu 386/486, který obsahoval malé množství mezipaměti na čipu. Byl oblíbený mezi počítačovými nadšenci, ale s OEM si vedl špatně . Procesory Cyrix Cx486SLC a Cyrix Cx486DLC byly pinově kompatibilní s i386SX a i386DX. Tyto procesory byly také vyráběny a prodávány společností Texas Instruments .
- IBM 386SLC a 486SLC / DLC byly varianty designu Intel, který obsahoval velké množství on-chip cache (8 kB, a později 16 kb). Dohoda se společností Intel omezila jejich použití pouze na vlastní řadu počítačů a upgradovacích desek IBM, takže nebyly k dispozici na volném trhu.
Počáteční problémy
Intel původně zamýšlel, aby 80386 debutoval na 16 MHz. Kvůli špatným výnosům byl však místo toho zaveden na 12,5 MHz.
Na začátku výroby Intel objevil okrajový obvod, který by mohl způsobit, že systém vrátí nesprávné výsledky z 32bitových operací násobení. Nebyly ovlivněny všechny již vyrobené procesory, takže Intel testoval svůj inventář. Procesory, u nichž bylo zjištěno, že neobsahují chyby, byly označeny dvojitou sigma (ΣΣ) a dotčené procesory byly označeny „POUZE 16 BIT S/W“. Tyto druhé procesory byly prodávány jako dobré součásti, protože v té době 32bitová schopnost nebyla pro většinu uživatelů relevantní. Takové čipy jsou nyní extrémně vzácné a staly se sběratelskými.
I387 matematický koprocesor nebyl připraven včas pro zavedení 80386, a proto mnoho z časných 80386 desky namísto poskytovaných socket a hardwarovou logiku , aby použitím 80287 . V této konfiguraci pracoval FPU asynchronně k CPU, obvykle s taktovací frekvencí 10 MHz. Originální Compaq Deskpro 386 je příkladem takového designu. To však bylo nepříjemné pro ty, kteří záviseli na výkonu s plovoucí desetinnou čárkou, protože výkonnostní výhody 80387 oproti 80287 byly značné.
Upgrady kompatibilní s pinem
Intel později nabídl upravenou verzi svého 486DX v balení i386, označeného jako Intel RapidCAD . To poskytlo cestu k upgradu pro uživatele s hardwarem kompatibilním s i386. Upgrade byl dvojicí čipů, které nahradily i386 i i387. Protože design 486DX obsahoval FPU , čip, který nahradil i386, obsahoval funkce s plovoucí desetinnou čárkou a čip, který nahradil i387, sloužil velmi málo účelu. Druhý čip byl však nezbytný k poskytnutí signálu FERR základní desce a vypadal, že funguje jako normální jednotka s plovoucí desetinnou čárkou.
Třetí strany nabídly širokou škálu vylepšení pro systémy SX i DX. Nejoblíbenější byly založeny na jádru Cyrix 486DLC/SLC, které obvykle nabízelo podstatné zlepšení rychlosti díky efektivnějšímu instrukčnímu kanálu a interní mezipaměti L1 SRAM. Cache byla obvykle 1 kB, nebo někdy 8 kB ve variantě TI. Některé z těchto upgradovacích čipů (jako například 486DRx2/SRx2) prodával samotný Cyrix, ale častěji se vyskytovaly v sadách nabízených specialisty na upgrade, jako jsou Kingston, Evergreen a Improve-It Technologies. Některé z nejrychlejších modulů upgradu procesoru obsahovaly rodinu IBM SLC/DLC (pozoruhodná 16 kB mezipamětí L1) nebo dokonce samotný Intel 486. Mnoho 386 upgradovacích sad bylo inzerováno jako jednoduchá výměna za zasouvání, ale často vyžadovalo komplikovaný software pro ovládání zdvojnásobení mezipaměti nebo hodin. Část problému spočívala v tom, že na většině 386 základních desek byla řada A20 ovládána výhradně základní deskou, přičemž CPU nevěděl, což způsobilo problémy s CPU s interními mezipaměti.
Celkově bylo velmi obtížné konfigurovat upgrady tak, aby vytvářely výsledky inzerované na obalu, a upgrady často nebyly příliš stabilní nebo nebyly plně kompatibilní.
Modely a varianty
Rané modely 5 V.
i386DX
Původní verze, vydaná v říjnu 1985.
- Schopný pracovat s 16 nebo 32bitovými externími sběrnicemi
- Cache: závisí na základní desce
- Balíček: PGA -132 nebo PQFP -132
- Postup: První typy CHMOS III, 1,5 µm, později CHMOS IV, 1 µm
- Velikost matrice: 104 mm² (přibližně 10 mm × 10 mm) u CHMOS III a 39 mm² (6 mm × 6,5 mm) u CHMOS IV.
- Počet tranzistorů: 275 000
- Uvedený maximální takt: 12 MHz (starší modely), později 16, 20, 25 a 33 MHz
RapidCAD
Speciálně zabalený Intel 486 DX a fiktivní jednotka s plovoucí desetinnou čárkou (FPU) navržená jako náhrada kompatibilní s kolíky pro procesory i386 a i387 FPU.
Verze pro vestavěné systémy
80376
Jednalo se o vestavěnou verzi 80386SX, která nepodporovala skutečný režim a stránkování v MMU.
i386EX, i386EXTB a i386EXTC
Správa systému a napájení a vestavěné periferní a podpůrné funkce: Dva řadiče přerušení 82C59A; Časovač, čítač (3 kanály); Asynchronní SIO (2 kanály); Synchronní SIO (1 kanál); Watchdog timer (Hardware/Software); PIO . Použitelné s FPU 80387SX nebo i387SL.
- Datová / adresová sběrnice: 16/26 bitů
- Balíček: PQFP -132, SQFP -144 a PGA -168
- Proces: CHMOS V, 0,8 µm
- Uvedené maximální hodiny:
- i386EX: 16 MHz @2,7 ~ 3,3 voltů nebo 20 MHz @3,0 ~ 3,6 voltů nebo 25 MHz @4,5 ~ 5,5 voltů
- i386EXTB: 20 MHz @2,7 ~ 3,6 voltů nebo 25 MHz @3,0 ~ 3,6 voltů
- i386EXTC: 25 MHz @4,5 ~ 5,5 voltů nebo 33 MHz @4,5 ~ 5,5 voltů
i386CXSA a i386SXSA (nebo i386SXTA)
Transparentní režim správy napájení, integrované vstupy kompatibilní s MMU a TTL (pouze 386SXSA). Použitelné s FPU i387SX nebo i387SL.
- Datová / adresová sběrnice: 16/26 bitů (24 bitů pro i386SXSA)
- Balení: BQFP -100
- Napětí: 4,5 ~ 5,5 voltů (25 a 33 MHz); 4,75 ~ 5,25 voltů (40 MHz)
- Proces: CHMOS V, 0,8 µm
- Uvedený maximální takt: 25, 33, 40 MHz
i386CXSB
Transparentní režim správy napájení a integrovaná MMU . Použitelné s FPU i387SX nebo i387SL.
- Datová / adresová sběrnice: 16/26 bitů
- Balení: BQFP -100
- Napětí: 3,0 V (16 MHz) nebo 3,3 V (25 MHz)
- Proces: CHMOS V, 0,8 µm
- Uvedený maximální takt: 16, 25 MHz
Zastarávání
Windows 95 byl jediným záznamem v sérii Windows 9x, který oficiálně podporoval 386, vyžadující alespoň 386DX, ačkoli bylo doporučeno 486 nebo lepší; Windows 98 vyžaduje 486DX nebo vyšší. Ve Windows NT rodiny, Windows NT 3.51 byla poslední verze s 386 podporu.
Debian GNU/Linux odstranil podporu 386 s vydáním 3.1 ( Sarge ) v roce 2005. S odvoláním na zátěž údržby kolem primitiv SMP vývojáři linuxového jádra omezili podporu z vývojové kódové základny v prosinci 2012, později vydané jako verze jádra 3.8.
Mezi BSD , FreeBSD ‚s 5.x vydání byla poslední na podporu 386; podpora pro 386SX byla zrušena s vydáním 5.2, zatímco zbývající podpora 386 byla odstraněna s vydáním 6.0 v roce 2005. OpenBSD odstranilo 386 podpory s verzí 4.2 (2007), DragonFly BSD s vydáním 1.12 (2008) a NetBSD s vydáním 5.0 (2009).
Viz také
Poznámky a reference
externí odkazy
- Intel 80386 Programmer's Reference Manual 1986
- Rodina procesorů Intel 80386
- Intel 231746-001 Úvod do 80386 Apr86 (duben 1986) a Včetně datového listu 80386 Intel 231630-002 80386 VYSOKÝ VÝKON 32-BITOVÝ MIKROPROCESOR S INTEGROVANOU SPRÁVOU PAMĚTI-datový list pro 80386-12 a 80386-16
- 1988 Příručka k mikroprocesorům a periferiím Intel Volume 1 Microprocesor including 80386 HIGH PERFORMANCE 32-BIT CHMOS MICROPROCESSOR WITH INTEGRATED MEMORY MANAGEMENT Říjen 1987 Objednací číslo: 231630-004
- Příručka k mikroprocesoru a periferním zařízením Intel 1989, mikroprocesor 1, včetně MIKROPROCESORU 386 ™ VYSOKÝ VÝKON 32bitový mikroprocesor CHMOS S INTEGROVANOU SPRÁVOU PAMĚTI listopad 1988 Objednací číslo: 231630-005
- Podrobný seznam raných 80386 steppings (revizí)