Architektura x86 to rodzina zestawów instrukcji (ISA) procesorów typu CISC, zapoczątkowana w 1978 roku przez 16‑bitowy procesor Intel 8086 i do dziś stanowiąca fundament większości komputerów osobistych i serwerów.
Poniższy poradnik w przystępny sposób wyjaśnia zasadę działania architektury x86 oraz historię rozwoju jej instrukcji, tak aby pozostał aktualny przez lata.
1. Co to właściwie jest architektura x86?
Architektura x86 to przede wszystkim:
- Zestaw instrukcji procesora (ISA – Instruction Set Architecture) – język maszynowy, w którym procesor rozumie rozkazy programu;
- Model programowy – sposób zorganizowania rejestrów, trybów pracy, przestrzeni adresowej, obsługi pamięci i urządzeń wejścia/wyjścia;
- Rodzina kompatybilnych procesorów – od 8086 przez 80286, 80386, 80486, aż po współczesne układy 32‑ i 64‑bitowe.
Nazwa „x86” pochodzi od zakończenia numerów pierwszych procesorów: 8086, 80186, 80286, 80386, 80486 – stąd zapis „x86” zamiast wypisywania każdej liczby osobno.
Kilka kluczowych cech x86:
- Architektura CISC (Complex Instruction Set Computing) – rozbudowany zestaw instrukcji i złożone rozkazy zdolne wykonać więcej pracy w jednej instrukcji, w tym operacje bezpośrednio na pamięci;
- Zmienna długość instrukcji – od jednego do wielu bajtów, co ułatwia kompatybilność, ale komplikuje dekodowanie;
- Kompatybilność wsteczna – nowsze procesory x86 uruchamiają stare programy napisane dla 16‑ i 32‑bitowych poprzedników;
- Dominująca rola w świecie PC i serwerów – od lat standard w komputerach osobistych i wielu systemach serwerowych.
2. Zasada działania architektury x86 – jak „myśli” procesor
Zestaw instrukcji (ISA) – serce architektury
Instrukcja x86 to zakodowane w bajtach polecenie typu:
- przesyłanie danych (load/store, kopiowanie),
- operacje arytmetyczne i logiczne,
- skoki w inne miejsce programu (warunkowe i bezwarunkowe),
- obsługa przerwań (reakcja na zdarzenie sprzętowe lub programowe),
- instrukcje systemowe (np. zarządzanie pamięcią i trybami pracy).
W x86:
- Zmienna długość instrukcji – można łączyć prefiksy, tryby adresowania i operandy w jednym rozkazie;
- Operacje bezpośrednio na pamięci – wiele instrukcji nie wymaga każdorazowego ładowania danych do rejestrów, co jest typowe dla CISC;
- Bogaty zestaw trybów adresowania – bazowy, indeksowy, z przesunięciem; ułatwiają operacje na tablicach i strukturach danych.
Procesor pracuje w klasycznym cyklu:
- Pobierz kolejną instrukcję z pamięci (fetch)
- Zdekoduj jej znaczenie (decode) – ustal typ operacji, źródła i cele danych
- Wykonaj operację (execute) – na rejestrach lub pamięci
- Zapisz wynik i przejdź do następnej instrukcji
Współczesne procesory x86 realizują ten cykl z licznymi optymalizacjami (potokowość, wykonanie spekulatywne, równoległe jednostki wykonawcze). To już cechy mikroarchitektury konkretnych modeli, a nie samego zestawu instrukcji.
Rejestry – szybka pamięć wewnątrz CPU
Rejestry to najszybsza pamięć procesora. x86 historycznie dysponuje stosunkowo niewielką liczbą rejestrów ogólnego przeznaczenia w porównaniu z typowymi architekturami RISC, kompensując to bogatym zestawem specjalizowanych, złożonych instrukcji. Istotną rolę pełnią też rejestry specjalne (licznik rozkazów, rejestry segmentów, rejestry stanu – flagi, wektory przerwań), kluczowe dla pracy systemu operacyjnego i samego CPU.
W klasycznym 16‑bitowym 8086 znalazły się m.in.:
- 4 podstawowe rejestry ogólnego przeznaczenia (AX, BX, CX, DX),
- rejestry wskaźnikowe (SP, BP, SI, DI),
- rejestry segmentowe (CS, DS, ES, SS) do obsługi segmentacji pamięci.
W nowszych generacjach rosły liczba i szerokość rejestrów – 32‑bitowa architektura dodała rejestry 32‑bitowe, a x86‑64 rozszerzyła je do 64 bitów i zwiększyła ich liczbę do 16 rejestrów ogólnego przeznaczenia (RAX, RBX, …, R8–R15).
Organizacja pamięci – segmenty, adresy i little‑endian
W x86 dane są adresowane na poziomie bajtów (byte‑addressing), a słowa (np. 16‑, 32‑, 64‑bitowe) przechowywane są w pamięci w porządku little‑endian – najmłodszy bajt trafia pod najmniejszy adres.






