5. Jak pracuje mikroprocesor

Třebaže mikroprocesor INTEL 80386 - první 32 bitový procesor použitý v osobních počítačích se systémem MS-DOS - není tím nejvýkonnějším procesorem používaným v počítačích, zůstává důležitý, protože představuje minimální standard výpočetních kapacit. V jednom okamžiku umí manipulovat až s 32 bity dat, proto zpracovává instrukce dvakrát až třikrát rychleji než jeho předchůdce, lntel 80286, který je zase alespoň pětkrát rychlejší než Intel 8088 z původního osobního počítače IBM PC.

Šest základních jednotek Intelu 80386 získává data a instrukce z paměti, ukládá obojí tam, kde je ostatní jednotky budou mít po ruce, rozpoznává smysl instrukcí a pak instrukce provádí a výsledky zapisuje zpět do RAM. Váš vlastní stůl je analogií pro činnost procesoru 80386. Ekvivalentem kódu a dat, se kterými čip pracuje jsou zprávy a jiné písemnosti uložené ve vstupní přihrádce. V ní je například požadavek vašeho šéfa na vyhotovení nějaké zprávy a obchodní data, která máte ve zprávě použít. Protože jste v okamžiku, kdy požadavek přišel, zaneprázdněni něčím jiným, uložíte tento požadavek do zásobníku věcí k vyřízení. Když jste se současnou prací hotovi, podíváte se na tento požadavek a jeho data a šéfovu instrukci zpracujete. Pak ke zprávě připojíte rozdělovník a uložíte ji do výstupní přihrádky. Mikroprocesor je ale při provádění těchto úkolů daleko efektivnější než vy, protože tyto akce provádí souběžně. Jednotlivé kroky odpovídají úlohám, které provádí jednotka pro styk se sběrnicí, jednotka pro předběžné načtení kódu, jednotka pro dekódování instrukce, výpočetní jednotka a segmentová a stránková jednotka. Uvedený příklad ukazuje, jak tyto části spolupracují při provádění jednoduchého sečítání 2+2.

Mikroprocesor
1. Jednotka pro předběžné načtení kódu, která zařadí instrukci do fronty na zpracování, požádá jednotku pro styk se sběrnicí, aby z paměti načetla další instrukci - v našem případě instrukci pro sečtení dvou čísel. Úkolem jednotky pro předběžné načtení kódu je zajistit, aby jednotka pro dekódováni instrukci nezahálela po dobu načítání další instrukce.
2. V tutéž dobu segmentová a stránková jednotka převádějí adresu instrukce z virtuální adresy na fyzickou adresu (skutečnou adresu v paměti), které rozumí jednotka pro styk se sběrnicí.
3. Jednotka pro styk se sběrnicí, která spojuje čip 386 s ostatními částmi počítače, získává instrukci z RAM a odesílá ji do jednotky pro předběžné načteni kódu.
4. Jednotka pro předběžné načtení kódu posílá instrukci dál do dekódovací jednotky, která zkoumá kód, indentifikuje ho jako instrukci pro sečtení dvou čísel, přetvoří ji do tvaru, kterému porozumí výpočetní jednotka a odešle ji do této jednotky.
5. Uvnitř výpočetní jednotky se řídící jednotka chápe koordinace kroků potřebných pro provedení každé instrukce. Ostatním částem výpočtové jednotky nařizuje, co mají dělat a kdy. Pro tuto operaci zašle řídící jednotka virtuální adresu prvního čísla, které se má sečíst a které je uloženo v RAM, do jednotky pro test ochrany.
6. Jednotka pro test ochrany zabezpečuje, že operace prováděné výpočetní jednotkou jsou přípustné, že nedochází k přepsání míst v paměti nebo k přístupu k zařízením tam, kde to není dovoleno. V našem případě jednotka pro test ochrany zjistí, že řídicí jednotka má povolen přístup na adresu, kde je první číslo a předá ji dál segmentové a stránkové jednotce, kde je virtuální adresa převedena na fyzickou adresu, aby ji mohla použít jednotka pro styk se sběrnicí.
7. Jednotka pro styk se sběrnicí najde a přečte číslo uložené na dané adrese. Číslo putuje zpět přes jednotku pro test ochrany do výpočetní jednotky, kde uloženo do jednoho z vnitřních registrů čipu. Registry pracují ve výpočetní jednotce jako kombinace zápisníkové a pracovní paměti. Podobné operace se provedou i s druhým číslem, které se také uloží do výpočetní jednotky.
8. Aritmeticko-logická jednotka vypočte součet čísla, právě získaného z RAM a čísla, které bylo uloženo do vnitřních registrů.
9. Řídicí jednotka přikáže jednotce pro styk se sběrnicí, aby součet uložila do RAM. Segmentová a stránková jednotka převedou virtuální adresu uvedenou řídící jednotkou pro uložení součtu na fyzickou adresu, čímž instrukce končí.

Poznámka: Existuje několik typů mikroprocesoru 386. Většinou se liší pracovní rychlostí, která je vyjadřovaná v megahertzech. Pro 386 také existují verze DX a SX. SX komunikuje s pamětí RAM pomocí 32 bitů široké cesty. SX interně zpracovává data po 32 bitech v jednom okamžiku, stejně jako to dělá čip DX, ale komunikace s RAM probíhá po 16 bitech najednou. Jedinou výhodou čipu SX je levnější a jednodušší zabudování do starších koncepcí PC. Od doby dokončení 386 vytvořil Intel procesor 80486. Ten rovněž manipuluje s 32 bitovými daty najednou, ale oproti 80386 má dvě komponenty navíc Jednou je zabudovaná 8k paměť cache pro RAM, která pracuje jako vnější RAM cache Ta zajišťuje, že procesor není nucen čekat na data, která ke své práci potřebuje. Další komponentou je vestavěný matematický koproresor.