X86
Z Wikipedii
x86 to rodzina procesorów Intel w architekturze CISC stosowana w komputerach PC, zapoczątkowana przez i wstecznie zgodna z 16-bitowym procesorem 8086, który z kolei wywodził się z 8-bitowego układu 8085. Model programowy realizowany przez procesory serii x86 to IA-32.
[edytuj] Rozwój architektury Intel x86
Opisując linię x86 i kolejne generacje warto mieć na względzie następującą historię rozwoju (kamienie milowe):
- 8086 - pierwsza wersja układu, 16-bitowy, tryb rzeczywisty, współpraca z 8087, 16-bit szyna danych (8 bit w wersji "SX" czyli 8088), brak MMU, dwie jednostki - współpracy z pamięcią czyli kolejki i wykonawcza, zegar - początkowo 4,77MHz, poprzez 8 do ~20MHz (obecnie spotyka się wersje do 300MHz)
- 80186 - poprawiona wersja 8086, o podobnych cechach jak poprzednik, nieco większa wydajność, kilkanaście nowych rozkazów, szybszy zegar
- 80286 - 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ść) - pierwsza istotna zmiana architektury x86, adresowanie 16MB RAM i 1GB pamięci wirtualnej, zegar 6, 8, 12, 16, 20, 25MHz
- 80386 - 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, do 4GB pamięci RAM
- i486 - dodano kilka nowych instrukcji, zwiększono wydajność jednostki stałoprzecinkowej oraz wbudowano i przeprojektowano FPU, dodatkowo wbudowano kontroler i pamięć cache L1
- Pentium - kolejna wersja procesora w architekturze x86, w procesorze tym 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 sklada się z dwóch jednostek wykonawczych dość podobnych do i486 - większość czasów wykonania instrukcji pozostała bez zmian, procesor w określonych sytuacjach może jednak wykonywać dwa rozkazy równolegle
- Pentium Pro - była to nowa generacja architektury oznaczana jako i686, procesor ten był dedykowany w szczególności do serwerów i wydajnych stacji roboczych, w procesorze tym wprowadzono usprawnienia typu PAE czy VME, z punktu widzenia wewnętrznej struktury układu największa zmiana w koncepcji układu, wewnętrznie układ jest procesorem RISC o 6 potokach, 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, L2 cache wbudowany 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
- 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
- Pentium II, Pentium III i Celeron - procesory oparte o rdzeń Pentium Pro wyposażone w rozszerzenie MMX w najróżniejszych wariantach (prędkości szyny i cache, ilość cache, obudowa, częstotliwość)
- 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ę
- Pentium 4 - 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, niestety w wielu przypadkach procesor ten był mniej wydajny od swojego poprzednika PIII
- HT - technologia hiperwątkowości
- x86-64 - 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 nie będąca autorstwa Intela
- Dual Core - układy z więcej niż jednym rdzeniem
[edytuj] Przedstawiciele
Do rodziny tej należą następujące procesory:
- Firmy Intel:
- 8086 i 8088 (wersje do 20MHz, pierwotnie 4,77MHz w PC XT, obecnie do 300MHz)
- 80186 i 80188 (wersje do 25MHz, wykorzystywany 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 25MHz, pierwotnie 8MHz w PC AT)
- 80386 (później nazwany 80386DX) i 80386SX (Intel 33MHz, konkurenci do 40MHz), obecnie także wersje przemysłowe 80386ZX (do 300MHz jako kontrolery jednoukładowe)
- i486 (później nazywany i486DX) i i486SX oraz układy i486DX2 i iDX4 (Intel i486DX - 50MHz, i486DX2 - 33/66MHz, iDX4 - 33/100, konkurenci do 160MHz)
- i586:
- Pentium OverDrive (do płyt 486)
- Pentium (układy S5 60, 66 i 60/90 MHz, układy S7 do 200MHz)
- Pentium MMX (do 233MHz i 266MHz w wersji Mobile)
- i686:
- Pentium Pro (200MHz, wersje z 256, 512 i 1024 L2 cache)
- Pentium II
- Celeron
- Xeon
- Pentium III
- Pentium 4
- Firmy AMD:
- Idealnie wierne kopie układów x86, aż do i486 włącznie
- AMD 80386 SX/DX (w tym wersje 40MHz)
- AMD 80486 SX/DX/DX2/DX4 (w tym wersje pracujące do 50/150MHz i 40/160MHz)
- AMD Am5x86
- AMD K5
- K6
- K7
- K8
- Idealnie wierne kopie układów x86, aż do i486 włącznie
- 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 IBM
- Procesory rodziny 386 i 486 (w tym wersje SLV dla notebooków)
- Firmy NexGen
- Procesory piątej generacji, programowo zgodne z i386, sprzedawane jako Nx 5x86
- Firmy UMC
- Udana seria układów UMC U5 (szybsze klony 486SX)
- Firmy IDT
- IDT WinChip
- Siemens i Harris
- 80286 (wersje do 25MHz)