x86

Z Wikipedie, otevřené encyklopedie

Skočit na: Navigace, Hledání
Question book-new.svg Tento článek obsahuje informace, které nejsou ověřené.
Jste-li s předmětem článku dostatečně seznámeni, pomozte prosím vylepšit tento článek doplněním věrohodných zdrojů, které dokládají uvedená tvrzení.

x86 je označení architektury procesorů. Jedna se o architekturu 16bitovou, registrovou, s CISCovou instrukční sadou. Vyznačuje se až extrémní asymetrií architektury: z jeho osmi aritmetických registrů nejsou žádné dva zcela zaměnitelné. Jako x86 jsou často označovány i procesory na ní navazující kompatibilní architektury IA-32.

Obsah

[editovat] IBM PC

Tato architektura byla použita v osobních počítačích IBM PC, které slavily obrovský úspěch. Díky tomu a nepřenositelnosti napsaného software je i dnes nutné udržovat zpětnou kompatibilitu až k prvnímu procesoru této architektury - a tím je vlastně tato architektura definovaná, protože neexistuje žádný návrh nebo popis architektury předcházející první procesor Intel 8086.

Politika IBM v době, kdy uvažovalo o použití této architektury (konkrétně procesoru 8088) v IBM PC, vyžadovala alespoň dva zdroje čipů, proto v roce 1982 AMD podepsalo kontrakt s Intelem a stalo se licencovaným druhým výrobcem procesorů 8086 a 8088. Později pod stejným kontraktem vyrábělo 80286. Intel ovšem smlouvu v roce 1986 vypověděl a odmítl předat AMD technické detaily 80386.

[editovat] Registry x86

  • aritmetické
    • AX – akumulátor (řada instrukcí ho má jako implicitní operand)
    • BX – bázový registr (tj. určený pro adresaci)
    • CX – čítač (tj. určený pro počítání cyklů)
    • DX – rozšíření akumulátoru (někdy nazýván data register)
    • SI – source index – index pro zdroj (tj. pro čtení)
    • DI – destination index – index pro cíl (tj. pro zápis)
    • BP – base pointer – určen jako ukazatel na záznam aktivní procedury na zásobníku (tím, že se implicitně spojoval s SS)
    • SP – stack pointer – ukazatel vrcholu zásobníku
  • segmentové
    • CS – segment kódu
    • DS – datový segment
    • ES – extra segment
    • SS – zásobníkový (stack) segment
  • registr IP (instrukční pointer neboli čítač instrukcí), vždy odkazovaný implicitně
  • registr FLAGS (příznaky)

Všechny registry mají šířku 16 bitů. Kromě toho šlo přistupovat k registrům AX-DX po částech, tj. jen k dolním (AL-DL) a horním (AH-DH) osmi bitům. Architektura x86 má i skupinu instrukcí pro práci s řetězci, kde jednotlivé instrukce zahrnují čtení nebo zápis z/do dohodnutých dvojic registrů (segmentu a indexu) – čtení většinou z DS:SI a zápis do ES:DI.

Podrobněji viz Intel 8086, pro popis registrů u článků Intel 80386 či IA-32, kde můžete vidět jak byly rozšířeny.

[editovat] Výrobci

[editovat] Předchozí architektura

Jedná se pouze o návaznost, nikoliv kompatibilitu.

[editovat] Procesory této architektury

[editovat] Navazující architektury

[editovat] Externí odkazy