x86

rodzina architektur procesorów firmy Intel

x86 – rodzina architektur (modeli programowych) procesorów firmy Intel, typu CISC. Zapoczątkowana przez i wstecznie zgodna z 16-bitowym procesorem 8086, który z kolei wywodził się z 8-bitowego układu 8085. Nazwa architektury pochodzi od nazw pierwszych modeli z tego typu, których numery kończyły się liczbą 86. Obecnie architektury x86 dominują na rynku komputerów PC i serwerów[1]. Najszybsze superkomputery korzystają z architektur typu RISC[2].

Procesor Intel 8086 z 1978
Procesor Intel 80486 DX z 1989 od spodu
Procesor Intel Core 2 z 2006

Rozwój architektury Intel x86 edytuj

x86 edytuj

Nazwa x86 w odniesieniu do modelu programowego procesorów dotyczy pierwszych procesorów tego typu – od 8086 do 286, które były układami o architekturze 16-bitowej. Obecnie systemy i oprogramowanie 32-bitowe, często przyjmują oznaczenie x86 (procesory 16-bitowe wyszły z użycia).

x86-32 (IA-32) edytuj

Drugie stadium rozwoju typu zapoczątkował w 1985 procesor 80386, w którym dokonano rozszerzenia słowa do 32 bitów, unikając jednak konieczności natychmiastowej wymiany wszystkich komputerów poprzez zachowanie trybów zgodności z poprzednimi rozwiązaniami. Tak zmodyfikowaną architekturę (model programowy) x86 oznacza się zazwyczaj symbolem IA-32 (od Intel Architecture 32 bit) lub x86-32 (często skracając do x86).

Model ten z czasem został rozszerzony o nowe technologie, głównie wspierające zastosowania multimedialne, takie jak MMX czy SSE. Procesory oparte na tym modelu do dziś stanowią większość procesorów używanych w komputerach na świecie.

x86-64 (x64 lub AMD64) edytuj

Trzecim stadium rozwoju procesorów wywodzących się z architektury x86 są procesory 64-bitowe. Architekturę (model programowy) takich procesorów, ze względu na wciąż zachowywaną wsteczną kompatybilność z pierwowzorami o architekturze x86, oznacza się symbolem x86-64. Rozwiązanie to zostało wprowadzone przez firmę Advanced Micro Devices (AMD), a dopiero później zaadaptowane przez Intela jako Intel 64 (wcześniej EM64T). Procesory o architekturze IA-64 nie należą do rodziny x86.

Najważniejsze zmiany w kolejnych generacjach procesorów edytuj

Nazwa procesora Rok Maks. częstotliwość taktowania (w momencie wprowadzenia, MHz) Maks liczba rdzeni Liczba tranzys
torów (mln.)
Proces technologiczny (nm) Uwagi
Intel 8086 1978 8 1 0,029 3000 układ 16-bitowy; pracował jedynie w trybie rzeczywistym; współpracował z koprocesorem 8087; miał 16-bitową szynę danych (ośmiobitową w wersji „SX”, czyli 8088); nie miał MMU; składał się z dwóch jednostek – współpracy z pamięcią, czyli kolejki oraz wykonawczej; zegar od 4,77 MHz do około 20 MHz (obecnie spotyka się wersje do 300 MHz)
Intel 80186 1982 12 1 0,055 3000 poprawiona wersja 8086, o podobnych cechach jak poprzednik; posiadał nieco większą wydajność, kilkanaście nowych rozkazów i szybszy zegar
Intel 80286 1982 12,5 1 0,134 1500 druga generacja układów; procesor wciąż 16-bitowy, o zwiększonej do 24-bitów szynie adresowej; istotnie usprawniona wydajność; nowe rozkazy, nowy tryb pracy – chroniony (wspierający wielozadaniowość); adresowanie 16 MB RAM i 1 GB pamięci wirtualnej; zegar do 25 MHz
Intel 80386 1985 20 1 0,275 1500 i 1000 trzecia generacja układów i równocześnie największa rewolucja w zakresie architektury x86, procesor 32-bitowy, o poszerzonych rejestrach wewnętrznych, szynie danych i adresowej (do 32 bitów); istotnie usprawniona wydajność; wiele nowych rozkazów; wbudowany MMU; zmieniony tryb chroniony; wprowadzony tryb wirtualny pozwalający obsłużyć do 4 GB pamięci RAM
Intel i486 1989 25 1 1,180 235, 900000 do 1600000 1000, 800 i 600 dodano kilka nowych instrukcji; zwiększono wydajność jednostki stałoprzecinkowej oraz wbudowano i przeprojektowano koprocesor (FPU); dodatkowo wbudowano kontroler i pamięć cache poziomu L1; w modelach X2 i X4 wprowadzono taktowanie wewnętrzne procesora szybsze niż szyn zewnętrznych
Pentium 1993 66 1 3,1 do 3,3 800, 600 i 350 powiększono cache L1; zmodernizowano FPU; dodano jednostkę przewidywania skoków; dodano kilka nowych instrukcji; zwiększono zewnętrzną magistralę danych do 64 bitów (procesor pozostał 32-bitowy) oraz szynę adresową do 36 bitów; procesor składa się z dwóch jednostek wykonawczych dość podobnych do 486 i jeżeli 2 kolejne rozkazy nie kolidują ze sobą, to są wykonywane jednocześnie
Pentium Pro 1995 200 1 5,5 500 i 350 nowa generacja architektury, nieformalnie oznaczana jako i686; procesor ten był dedykowany pierwotnie do serwerów i wydajnych stacji roboczych, w procesorze tym wprowadzono usprawnienia typu PAE czy VME, z dużą zmianą wewnętrznej struktury układu, pod względem mikroarchitektury układ ma wiele cech procesora RISC (choć zewnętrznie pozostaje zgodny z architekturą CISC); posiada 6 potoków; architektura Pentium Pro jest podstawą procesorów Pentium II i Pentium III; kompletnie zmieniona realizacja wewnętrzna – procesor wewnętrznie działa zupełnie inaczej niż wszystkie poprzednie, stanowiąc pod tym względem pierwszą największą zmianę od czasu 8086; cache L2 wbudowano w procesor jako osobny płatek krzemu zamknięty wraz z procesorem w jednej obudowie; 36 bitów szyny adresowej; 64 bity szyny danych; istotnie zmieniony sposób pracy szyny danych
Pentium MMX 1995 233 1 4,5 350, 280 i 250 nieco ulepszony Pentium, dodane rozkazy MMX
Pentium II 1997 266 1 7,5 do 27,4 350, 250 i 180 połączenie Pentium Pro z Pentium MMX
Pentium III 1999 500 1 8,2 do 44 250, 180 i 130 wprowadzone rozkazy SSE
Pentium 4 2000 1500 2 42 do 188 180, 130 i 90 kompletnie przeprojektowany procesor maksymalizujący technikę potokowości, dzięki czemu możliwe stało się osiąganie bardzo dużych częstotliwości zegara
EM64T 2003 2200 1 zmiana architektury x86 o znaczeniu prawie tak wielkim jak pojawienie się 80386; poszerzenie rejestrów do 64 bitów, nowe rejestry, nowe rozkazy, poszerzenie przestrzeni adresowej, nowe tryby pracy; pierwsza istotna zmiana architektury niebędąca autorstwa Intela
Pentium D 2004 3200 2 230 i 376 90 i 65 dwurdzeniowy procesor całkowicie oparty na Pentium 4, po którym odziedziczył wiele wad
Intel Core Duo 2006 3000 2 321 95 i 65 układ dwurdzeniowy
Intel Core 2 Duo 2006 3600 2 228 do 410 65 i 45 układy dwurdzeniowe wydajniejsze od Core Duo
Intel Core 2 Quad 2007 3000 4 410 (wersja Extreme) do 820 65 i 45 układy czterordzeniowe (2 układy C2D w jednej obudowie)
Pierwsza generacja Intel Core i7 2008 3200 4 do 6 731 45 układy czterordzeniowe oraz sześciordzeniowe; dzięki technologii Hyper-Threading mają podwojoną ilość wątków; technologia Turbo boost oraz zintegrowany kontroler pamięci(inne języki)[3].

Technologie edytuj

  • MMX – rozszerzenie architektury 80386 wykorzystujące rejestry koprocesora dla instrukcji SIMD, pierwsza istotna zmiana z punktu widzenia software od pojawienia się 80386, stosowany w układach Pentium MMX i późniejszych
  • SSE, SSE2, SSE3 – rozszerzenie MMX, nowe rejestry dla instrukcji SIMD, wprowadzane sukcesywnie wraz z rozwojem linii Pentium II i III
  • 3DNow! – zaproponowane przez AMD rozszerzenie MMX, stosowane i rozwijane konsekwentnie w procesorach od K6 w górę
  • HT – technologia wielowątkowości współbieżnej
  • AMD-V, Intel VT-x - technologie pozwalające na wirtualizację

Przedstawiciele edytuj

Procesory produkowane przez firmę Intel edytuj

  • 8086 i 8088 (wersje do 20 MHz, pierwotnie 4,77 MHz w PC XT, obecnie do 300 MHz)
  • 80186 i 80188 (wersje do 25 MHz, wykorzystywane głównie w urządzeniach automatyki ze względu na zintegrowane: kontroler przerwań, kontroler DMA, liczniki (redukcja liczby układów na płycie głównej), rzadko stosowane w komputerach osobistych, kilka nowych instrukcji, generalnie brak większych różnic programowych w stosunku do 8086)
  • 80286 (wersje do 25 MHz, pierwotnie 8 MHz w PC AT)
  • 80386 (później nazwany 80386DX) i 80386SX (Intel 33 MHz, konkurenci do 40 MHz), obecnie także wersje przemysłowe 80386ZX (do 300 MHz jako kontrolery jednoukładowe)
  • i486 (później nazywany i486DX) i 486SX oraz układy i486DX2 i iDX4 (Intel i486DX – 50 MHz, i486DX2 – 33/66 MHz, iDX4 – 33/100, konkurenci do 160 MHz)
  • i586:
    • Pentium OverDrive (do płyt 486)
    • Pentium (układy S5 60, 66 i 60/90 MHz, układy S7 do 200 MHz)
    • Pentium MMX (do 233 MHz i 266 MHz w wersji Mobile)
  • i686:
  • Pentium 4
    • Pentium 4 EEExtreme Edition (wersje z cache L3, ze zwiększonym cache L2 lub innymi usprawnieniami – dla najbardziej wymagających użytkowników)
    • Układy Pentium 4 D, Pentium 4 EE i Xeon wyposażone w x86-64
    • Xeon (wersje serwerowe)
    • Układy Pentium D 4 Dual Core wyposażone w x86-64

Procesory produkowane przez firmę AMD edytuj

Inni producenci edytuj

Obecnie edytuj

  • Procesory Elbrus
  • Procesory VIA
    • specjalizowane do zastosowań bez użycia chłodzenia aktywnego np. VIA QuadCore E-Series[6]
    • KX-7000 ze zintegrowanym GPU zapewniającym rozdzielczość do 4096 × 2304 pikseli przy 60 Hz (przez DisplayPort lub HDMI). Wszystkie chipy VIA Zhaoxin mają być wolne od Meltdown i Spectre[7].
  • Zhaoxin

Zhaoxin (Shanghai Zhaoxin Semiconductor Co., Ltd.(兆芯, Zhào xīn)) to chiński producent procesorów, produkujący procesory na podstawie licencji spółki utworzonej przez przedsiębiorstwo VIA i administracji Szanghaju. Procesory są wspierane w Linuxie od jądra w wersji 5.3[8].

Historyczne edytuj

  • Firmy Cyrix:
  • Firmy VIA:
  • Firmy Rise Technology:
  • Firmy NEC
  • Firmy IBM
    • Procesory typu 386 i 486 (w tym wersje SLV dla notebooków) oraz na licencji Cyrixa – odpowiedniki Cyrix 6x86
  • Firmy NexGen
    • Procesory piątej generacji, programowo zgodne z i386, sprzedawane jako Nx 5x86
  • Firmy UMC
    • Seria układów UMC U5 (szybsze klony 486SX)
  • Firmy IDT
    • IDT WinChip
  • Siemens i Harris
    • 80286 (wersje do 25 MHz)

Porównanie z różnymi architekturami edytuj

68000 edytuj

Wg Volkera Werticha, autora między innymi słynnej gry The Settlers, procesory x86 były dużo słabsze niż seria 68K. Zamiast 16 rejestrów było ich zaledwie kilka. Było bardzo mało rozkazów, co sprawiało, że kodowanie na x86 w porównaniu do Amigi było koszmarem (autor przeniósł m.in. grę z Amigi na zgodne z IBM PC). Wersja na Amigę bez problemu wówczas obsługiwała 8000 osadników bez zwolnień w prędkości gry, mimo wymagania zaledwie 68000, jako procesora[9].

Zobacz też edytuj

Przypisy edytuj