Zrodenie štandardu - procesor Intel 8086, ktorým sa začala dodnes používaná architektúra x86

Intel 8086 je 16-bitový procesor od spoločnosti Intel postavený na architektúre x86. Vyrábal sa technológiou NMOS a mal adresovateľný pamäťový priestor o veľkosti 1 MB. Intel ho navrhol a a uvedol na trh v máji 1978. Bol to prvý z radu procesorov architektúry x86. Krátko po jeho uvedení bol uvedený aj Intel Intel 8088, ktorý mal 8-bitovú vonkajšiu zbernicu umožňujúcu spoluprácu s lacnými čipovými sadami. Bol odvodený od Intel 8080 a Intel 8085 s podobnými registrami, rozšírenými na 16 bitov. Mikroprocesor obsahoval 20 adresných a16 dátových liniek.
Intel 8086 môže byť považovaný za otca všetkých procesorov bežiacich v stolných počítačoch dnes, či už ide o PC alebo MAC. Väčšina hlavných procesorov Intel pre stolové počítače si stále zachováva architektúru Intel x86 vo svojom jadre a beží ako režim „virtuálneho 8086“.
História vzniku procesora
Projekt Intel 8086 sa začal v máji 1976 a pôvodne bol zamýšľaný ako projekt na "preklenutie medzery" a ako konkurent spoločnosti Zilog s procesorom Z80, ktorá rýchlo zachytila potreby trhu s mikroprocesormi strednej triedy. Na čele projektu bol elektrotechnik Stephen Morse, ktorý bol však viac softvérovým inžinierom ako hardvérovým, čo ako sa neskôr ukázalo vôbec nebolo na škodu, ale skôr naopak. Tento softvérovo orientovaný prístup k návrhu procesorov sa v priemysle ukázal ako revolučný a architektúru x86 vyniesla do pomyselného neba. Stephen Morse, 36-ročného elektroinžinier, urobil na Intel dojem najmä svojim kritickým skúmaním konštrukčných chýb procesora 8800. Vedenie spoločnosti vybralo Morseho preto ako jediného konštruktéra pre procesor 8086. "Ak by vedenie spoločnosti [Intel] tušilo, že táto architektúra bude žiť po mnoho generácií a bude súčasťou dnešných ... procesorov," spomína Morse, "nikdy by túto úlohu nezverilo jedinému človeku.".
Stephen P. Morse - tvorca procesora Intel 8086
Architektom procesora 8086 bol bývalý inžinier spoločnosti Intel Stephen Morse.
Hoci bol procesor 8086 Morseovým obľúbeným projektom, nepracoval na ňom sám. K Morseovmu tímu sa pridali ďalší zamestnanci spoločnosti Intel vrátane Billa Pohlmana, Jima McKevitta a Brucea Ravenela, ktorí sa v lete 1978 významne podieľali na uvedení 8086 na trh.
Okrem stanovenia niekoľkých základných požiadaviek - aby bol procesor 8086 kompatibilný so softvérom napísaným pre populárny čip 8080 a aby dokázal adresovať 128 kB pamäte - sa vedenie spoločnosti Intel Morseovi nepletlo do cesty. Keďže nikto neočakával, že návrh bude dlho žiť, nekládli mu do cesty žiadne prekážky a mohol si robiť prakticky čo chcel.
Technicky vzaté, Intel 8086 bol mikroprocesor s kompletnou 16-bitovou architektúrou, ktorá mala 16-bitové registre, 16-bitovú dátovú zbernicu a 20-bitovú adresovú zbernicu, ktorá by mohla odkazovať až na 1 MB fyzickej pamäte. Avšak vďaka svojim 16-bitovým registrom dokázal efektívne adresovať iba 64 kB pamäte. Čo však robilo tento procesor špeciálnym, boli jeho segmentové registre, ktoré mu umožnili adresovať viac ako 64 kB pamäte, čo by mohlo špecifikovať umiestnenie pamäte pre kód, dáta, zásobník a ďalších 64 KB dátového segmentu.
Pohľad na štruktúru procesora
Pôvodný čip meral 33 mm² a minimálna veľkosť prvkov bola 3,2 μm.
Architektúra procesora
Architektúra procesora Intel 8086 je založená na von Neumannovej architektúre, čo znamená, že dáta a programové inštrukcie sú uložené v spoločnej pamäti. Procesor pracuje s 16-bitovými dátovými blokmi a má 20-bitovú adresnú sbornicu, čo umožňuje adresovať až 1 MB pamäte.
8086 má deväť 16-bitových registrov. Tieto registre sú:
- Akumulátor (AX): Register AX je najčastejšie používaným registrom v procesore 8086. Je to 16-bitový register, ktorý sa používa pre aritmetické a logické operácie. Môže byť rozdelený na dva 8-bitové registre: AH (horný bajt) a AL (dolný bajt).
- Bázový registr (BX): Register BX je ďalší 16-bitový register. Používa sa pre operácie s adresami a pre indexovanie pamäte. Podobne ako AX, môže byť tiež rozdelený na AH a AL.
- Počítadlo (CX): Register CX je určený pre cyklické operácie a iterácie. Používa sa najmä v spojení s inštrukciami loop a repeat. Rovnako ako AX a BX, môže byť rozdelený na AH a AL.
- Dátový registr (DX): DX je ďalší 16-bitový register, ktorý sa používa pre niektoré vstupno-výstupné operácie a pre uchovávanie väčších hodnôt.
- Zdrojový index (SI): Register SI sa používa pre operácie so zdrojovými dátami v blokoch pamäte, napríklad pri prenose dát.
- Cieľový index (DI): Register DI je podobný SI, avšak používa sa pre operácie s cieľovými dátami v blokoch pamäte, napríklad pri kopírovaní dát.
- Index bázového registra (BP): Register BP sa často používa ako bázový register pre adresovanie relatívnych dát v pamäti. Používa sa najmä v kombinácii s inštrukciami pre prácu s lokálnymi premennými v zásobníku.
- Registre ukazovateľa (SP, IP): Register SP (Stack Pointer) sa používa na sledovanie vrcholu zásobníka, čo je dôležité pre správnu funkciu zásobníka. Register IP (Instruction Pointer) je používaný na sledovanie aktuálnej vykonávanej inštrukcie v programe.
- Registrové kombinácie (CS, DS, ES, SS): Tieto registre slúžia na uchovávanie segmentových adries, ktoré určujú začiatok rôznych segmentov pamäte. CS (Code Segment) uchováva adresu kódu, DS (Data Segment) adresu dát, ES (Extra Segment) môže byť použitý pre ďalšie dáta a SS (Stack Segment) pre zásobník.
Toto je prehľad hlavných registrov procesora Intel 8086 a ich účelov. Každý z týchto registrov má svoje špecifické využitie pri vykonávaní rôznych operácií a manipulácii s dátami a adresami.
8086 podporuje rôzne režimy prevádzky, vrátane reálneho režimu (Real Mode) a chráneného režimu (Protected Mode). V reálnom režime procesor pracuje podobne ako staršie 8-bitové procesory a môže adresovať iba 1 MB pamäte. V chránenom režime je možné využiť pokročilé funkcie a ochranu pamäte, čo umožňuje adresovať až 16 MB (alebo viac) pamäte.
Popis vývodov procesora
8086 používa komplexnú inštrukčnú sadu (CISC), ktorá obsahuje širokú škálu operácií a módov adresovania. Inštrukcie sa skladajú z operátora (napríklad sčítanie, odčítanie, presun) a operandov (registre, konštanty alebo pamäťové adresy). Procesor tiež obsahuje rôzne inštrukcie pre riadenie programu, vetvenie, skoky a podmienené skoky.
Mikroprocesor 8086.
Na začiatku veľa vody nenamútil
Morseov výtvor po svojom vydaní sotva zaujal svet počítačov. Trh s osobnými počítačmi strednej triedy bol nasýtený biznis strojmi typu cookie-cutter založenými na Z80 a s operačným systémom CP/M, ktorý bol na konci 70. rokov 20. storočia všade. Model 8086 sa preto najprv objavil v niekoľkých nevýrazných osobných počítačoch a termináloch. Trochu sa síce presadil aj na trhu prenosných počítačov (v podobe 80C86), no stále to nebolo to, čo sa očakávalo. Nakoniec sa presadil na trhu mikrokontrolérov a embeded aplikácií a to najmä v programe NASA Space Shuttle, ktorý dodnes používa čipy 8086 na riadenie diagnostických testov na raketách na tuhé palivo. (Vesmírna agentúra NASA dodnes nakupuje elektronické "pamiatky" na eBay, aby získala ďalšie procesory.)
V marci 1979 Morse opustil spoločnosť Intel. Následne sa odohrala séria zdanlivo nenápadných udalostí, ktoré viedli k tomu, že sa procesor 8086 stal pomaly, ale isto prvým priemyselným štandardom.
Niekoľko týždňov po Morseovom odchode spoločnosť Intel vydala procesor 8088, ktorý Morse doslova nazvak "vykastrovanou verziou 8086", pretože využíval upravenú verziu 16-bitových schopností 8086. Keďže mnohé systémy boli stále 8-bitové, 8088 posielal 16-bitové dáta v dvoch 8-bitových cykloch, vďaka čomu bol kompatibilný s 8-bitovými systémami.
O dva roky neskôr začala spoločnosť IBM pracovať na modeli 5150, prvom počítači spoločnosti, ktorý pozostával len z lacných hotových súčiastok. Pre IBM, ktorá predtým zdôrazňovala svoje vlastné technológie s vylúčením všetkých ostatných, to bola nová koncepcia.
Počítať spoločnosti IBM pod typovým označením 5150.Čip 8088 bol postavený na rovnakom kóde ako 8086 a jeho začlenenie do počítača IBM 5150, čo pomohlo urobiť z kódu 8086 priemyselný štandard.
Je zrejmé, že hotový systém si vyžadoval hotový mikroprocesor. Ale ktorý si vybrať? IBM sa už na začiatku rozhodla, že jej nový stroj potrebuje 16-bitový procesor, a zúžila výber na troch kandidátov: Motorola 68000 (výkonný 16-bitový procesor, ktorý bol základom prvého Macintoshu), Intel 8086 a jeho "vykastrovaný" bratranec Intel 8088.
Podľa Davida J. Bradleyho, pôvodného člena vývojového tímu IBM, spoločnosť vylúčila z úvahy čip Motorola, pretože IBM lepšie poznala a vyhovovali jej procesory Intel. Misky váh naklonila skutočnosť, že Microsoft mal k dispozícii hotový a funkčný interpret BASIC pre 8086 a, keďže zdieľal rovnaký základný kód, aj pre 8088.
IBM si teda musela vybrať medzi 8086 a 8088. Nakoniec sa rozhodlo na základe jednoduchej ekonomickej úvahy o znížení počtu čipov. IBM sa rozhodla pre 8088, čo jej umožnilo vyrábať lacnejšie stroje, pretože mohla použiť menej modulov ROM a menej pamäte RAM, hovorí Bradley.
V istom zmysle však nezáležalo na tom, ktorý z čipov Intel si IBM vybrala. Oba boli postavené na rovnakom základnom kóde 8086, ktorý napísal Stephen Morse...
Od čipu k štandardu
Ako sa kód 8086 stal priemyselným štandardom? Odpoveď sa skrýva v dôležitej úlohe samotného počítača IBM 5150. (Počítač 5150 je na našom zozname 25 najväčších počítačov všetkých čias na 6. mieste.) Počítačový priemysel na začiatku 80. rokov pripomínal východnú Európu po rozpade Sovietskeho zväzu - množstvo roztrieštených republík, ktoré sa vydali rôznymi smermi. K dispozícii boli desiatky rôznych počítačových platforiem od rovnako veľkého počtu výrobcov. Nekompatibilita počítačových systémov neustále frustrovala používateľov, ktorí túžili používať softvér, hardvér a periférne zariadenia z jedného počítača na inom.
Postupne sa však odlišné časti PC vesmíru dostali na obežnú dráhu okolo počítača 5150. Jedným z hlavných dôvodov jeho úspechu bolo meno IBM na krabici. Táto značka mala medzi obchodnými zákazníkmi väčšiu váhu ako konkurenčné spoločnosti, ako napríklad Radio Shack alebo Apple. Otázka dňa preto znela: "Chcete si kúpiť počítač od International Business Machines alebo od spoločnosti pomenovanej po ovocí?".
A keďže IBM použila hotové komponenty, ostatné spoločnosti mohli vyrábať klony - a samozrejme aj klonovali.
Keďže IBM PC sa rýchlo stalo dominantným, spoločnosť Intel využila tento trend a v priebehu rokov vyvinula vylepšené verzie 8086, počnúc modelom 80186 a pokračujúc modelmi 80286, 80386, 80486, Pentium atď. až do súčasnosti. Vďaka spoločným koncovým čísliciam vo väčšine týchto označení procesorov sa táto línia stala známou ako "x86", a to aj po tom, čo spoločnosť Intel prešla na názvy, ktoré možno označiť ochrannou známkou, ako napríklad Pentium, Celeron a Centrino. Čoskoro sa k Intelu pridali aj ďalší výrobcovia procesorov, spoločnosti ako AMD, Cyrix, NEC a dokonca aj IBM vydali vlastné procesory kompatibilné s x86, čím sa x86 ešte viac upevnil ako štandard PC.
Správne miesto, správny čas
Podľa Morseho a Bradleyho sa naša súčasná závislosť od x86 zrodila najmä vďaka náhode. "Mal som jednoducho šťastie, že som bol v správnom čase na správnom mieste," hovorí Morse. "Procesor mohol navrhnúť každý šikovný inžinier. Pravdepodobne by mal radikálne odlišnú inštrukčnú sadu, ale všetky počítače by dnes boli založené na tejto architektúre." Podobne vtipkuje aj veterán IBM Bradley: "Keby si IBM pre IBM PC vybrala Motorolu 68000 (ako niektorí chceli), mali by sme duopol WinOla a nie duopol Wintel."
Skutočná sila x86 nespočíva v konkrétnych operačných kódoch, vďaka ktorým naše procesory fungujú, ale v dynamike spoločných počítačových štandardov. Model 8086 pripravil pôdu pre rýchly, exponenciálny pokrok v rýchlosti, kapacite a výkonnosti počítačov - všetko poháňané tvrdou konkurenciou medzi stovkami spoločností, ktoré sa snažia zlepšiť to isté.
Morseova skromná inštrukčná sada 8086 je stále základom takmer každého moderného procesora PC, od Opteronu cez Athlon až po Core 2 Quad a vyššie. Pamätajte, že akýkoľvek program v assembleri napísaný už v roku 1978 pre mikroprocesor Intel 8086 bude bežať bez úprav aj na najnovšom procesore Intel - len minimálne o 180 000-krát rýchlejšie. Hoci Intel 8086 je už dnes považovaný za zastaraný procesor, jeho architektúra a inštrukčná sada mala významný vplyv na vývoj osobných počítačov a je predchodcom mnohých moderných procesorov rodiny x86.
Máte aj vy zaujímavú konštrukciu, alebo článok a chceli by ste sa o to podeliť s viac ako 360.000 čitateľmi? Tak neváhajte a dajte nám vedieť, radi ju uverejníme a to vrátane obrazových a video príloh. Rovnako uvítame aj autorov teoretických článkov, či autorov zaujímavých videí z oblasti elektroniky / elektrotechniky.
Kontaktujte nás!