x86
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].
Rozwój architektury Intel x86
edytujx86
edytujNazwa 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).
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.
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
edytujNazwa 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[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- 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 Pro (200 MHz, wersje z 256, 512 i 1024 L2 cache)
- Pentium II
- Celeron (tańsze wersje procesorów Intela)
- Xeon (serwerowe wersje procesorów)
- Pentium III
- Pentium 4
- Pentium 4 EE – Extreme 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
- Idealnie wierne kopie układów x86, aż do i486 włącznie
- AMD 80386 SX/DX/SE/DE (w tym wersje 40 MHz)
- AMD 80486 SX/DX/DE2/DX2/DX4 (w tym wersje pracujące do 50/150 MHz i 40/160 MHz)
- AMD Am5x86
- K5
- K6
- K7
- K8
- K10
- Zen
Inni producenci
edytujObecnie
edytuj- Procesory Elbrus
- x86 – np. Эльбрус-8С[4]
- mogący emulować x86, ogólnego przeznaczenia – Эльбрус-4С[5]
- 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:
- Układy zgodne z 386 i 486, w tym wersja 486DLC dla komputerów 386
- Cyrix 5x86
- Cyrix 6x86
- Cyrix MII
- Media GX
- 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
edytuj68000
edytujWedług 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ż
edytujPrzypisy
edytuj- ↑ Arm vs x86: Instruction sets, architecture, and all key differences explained [online], Android Authority, 5 czerwca 2021 [dostęp 2021-08-30] (ang.).
- ↑ June 2021 | TOP500 [online], www.top500.org [dostęp 2021-08-30] .
- ↑ Intel Core i7-980X – pierwszy desktopowy sześciordzeniowiec.
- ↑ Восьмиядерный микропроцессор с архитектурой Эльбрус [online], mcst.ru [dostęp 2024-04-26] [zarchiwizowane z adresu 2014-06-25] .
- ↑ ВК Эльбрус 401-PC/МЦСТ [online], www.mcst.ru [dostęp 2017-11-27] [zarchiwizowane z adresu 2017-06-21] .
- ↑ VIA’s New 28nm C4650 QuadCore x86 Processor Spotted – Gaming and General Purpose Benchmarks Surface, Impressive Low-End Performance [online], wccftech.com [dostęp 2017-11-27] (ang.).
- ↑ VIA Zhaoxin – premiera procesorów x86 KaiXian i KaisHeng | PurePC.pl [online], www.purepc.pl [dostęp 2018-01-26] (pol.).
- ↑ Official x86 Zhaoxin Processor Support Is Coming With Linux 5.3 – Phoronix [online], www.phoronix.com [dostęp 2019-10-01] (ang.).
- ↑ Volker Wertich interview transcript – Amiga Ireland 2019 – Amiga Ireland [online], amigausers.ie [dostęp 2019-03-03] (ang.).