TechnologieAnatomia sukcesu x86

    Anatomia sukcesu x86

    Mikroprocesory z rodziny Intel x86 napędzają nasze komputery od ponad 30 lat. Ta początkowo mało wydajna architektura podbiła świat, a symbolem jej sukcesu stało się wprowadzenie w 2005 roku procesorów x86 do komputerów Apple Macintosh. Śledząc jej historię, łatwo zrozumieć sekret tej popularności.

    Anatomia sukcesu x86

    Pierwszy układ scalony

    Pod koniec lat 50. ubiegłego wieku Jack Kilby, późniejszy laureat Nagrody Nobla z fizyki, w laboratoriach firmy Texas Instruments rozpoczął pracę nad integracją w jednym układzie kilku podzespołów elektronicznych. W lecie 1958 roku stworzył na bazie germanu konstrukcję pierwszego układu scalonego, którą zaprezentował 12 września 1958 roku zarządowi firmy, 6 lutego 1959 jego wynalazek został opatentowany. Mniej więcej w tym samym czasie układ scalony skonstruował także Robert Noyce z Fairchild Semiconductor.

    Procesory można znaleźć nie tylko w pecetach i notebookach, ale też w zegarku, pralce, kuchence mikrofalowej, telefonie, GPS-ie, samochodzie. Poszczególne procesory mają inne architektury. Różnią się sposobem komunikacji, przetwarzania danych i wewnętrznymi instrukcjami.

    Dwa główne modele przetwarzania danych to CISC i RISC. Procesory CISC (Complex Instruction Set Computing) przetwarzają złożone rozkazy, wykonywane często w kilku cyklach zegara. Zmniejsza to ich wydajność, ale upraszcza programowanie. Procesory RISC (Reduced Instruction Set Computing) korzystają z minimalnej liczby szybko wykonujących się rozkazów, które przy odpowiedniej konstrukcji procesora mogą być przetwarzane jednocześnie. Wymagają doświadczenia od programisty lub skomplikowanego kompilatora.

    Technologię RISC wykorzystywały np. (do 2005 roku) procesory PowerPC w komputerach firmy Apple, a obecnie m.in. procesory Cell w konsolach PlayStation 3. Znajdujące się w naszych komputerach procesory z rodziny x86 początkowo były typowymi układami CISC. Z czasem wprowadzono do nich dekoder tłumaczący rozkazy x86 na proste mikrooperacje, pracujące według idei RISC. Dzięki temu architektura x86 stała się bardziej wydajna, a jej programowanie – znacznie prostsze. To m.in. pozwoliło jej zdominować świat.

    Pierwszy mikroprocesor

    Obraz

    Drogę do zbudowania mikroprocesora otworzyło stworzenie układu scalonego w 1958 roku (patrz ramka). Dziesięć lat później nad mikroprocesorami pracowały trzy konkurujące ze sobą firmy: Intel, Texas Instruments oraz Garrett AiResearch’s. Najwcześniej, bo w 1970 roku, ukończyła projekt firma Garrett, pracująca nad układem sterującym komputera do myśliwca Grumman F-14 Tomcat. Jednak informacje o nim opublikowano dopiero w 1997 roku.

    Na rynku cywilnym 17 września 1971 Texas Instruments zaprezentował czterobitowy mikroprocesor TMS1802NC (przetwarzał dane w porcjach o wielkości 4 bitów). Miał posłużyć jako układ centralny nowego kalkulatora. I choć to firma TI otrzymała patent na mikroprocesor (U.S. Patent 3,757,306), wiele źródeł podaje, że pierwszym działającym mikroprocesorem był jednak układ Intel 4004, zbudowany 15 listopada 1971 r. Faktem jest, że od 1971 r. Intel płacił TI za prawa patentowe do mikroprocesora.

    Mikrokomputerowa rewolucja

    Protoplasta architektury x86 – Intel 4004 – powstał na zamówienie japońskiej firmy Busicom, która potrzebowała układów scalonych do programowalnych kalkulatorów.

    Czterobitowy Intel 4004 składał się z 2300 tranzystorów i pracował z częstotliwością 740 kHz. Już w kwietniu 1972 roku zadebiutowała jego ośmiobitowa wersja – Intel 8008 (3300 tranzystorów, 800 kHz), korzystająca z kodu zbliżonego do x86. Oba mikroprocesory Intela otworzyły nowe rynki zbytu. Po raz pierwszy projektanci podzespołów elektronicznych otrzymali po przystępnej cenie programowalne układy o sporej mocy obliczeniowej. Wkrótce pojawiły się w sklepach wagi elektroniczne, maszynki do liczenia pieniędzy, systemy sterowania sygnalizacją świetlną, a także różnego typu kalkulatory.

    Intel 8008 stał się prekursorem popularnej serii 8-bitowych układów Intel 8080 (1974 rok), które doczekały się licznych klonów. Grupa pracowników Intela odeszła z firmy, by założyć przedsiębiorstwo Zilog. Opracowano w nim mikroprocesor Z80 (1976 rok), bazujący na Intelu 8080 i zgodny z nim software’owo. Układy z serii Z80 wywołały na początku lat 80. mikrokomputerową rewolucję, zapoczątkowaną przez maszyny ZX80, ZX81 i przede wszystkim ZX Spectrum. Wtedy to tanie komputery zaczęły masowo trafiać do domowego użytkownika.

    Pierwszy, sprzed 30 lat, i współczesny układ x86 – rysunki zachowują proporcję

    Obraz

    W ciągu 30 lat struktura procesorów zgodnych z x86 bardzo się zmieniła. Dla porównania zaprezentowany na początku listopada tego roku Intel Quad Core i7 (Nehalem), składa się z czterech procesorów i wkorzystuje megabajty pamięci podręcznej, skracającej czas oczekiwania procesora na dane z pamięci RAM – 64 KB cache L1, 4x256 KB cache L2 , oraz 4x2 MB cache L3 . W pierwszych procesorach x86, w tym Intelu 8088, takiej pamięci w ogóle nie było, a gdy została wprowadzona, miała zaledwie kilka kilobajtów. Co ważne, dzięki zmianom w procesie produkcyjnym z 3 µm na 45 nm, współczesne procesory, choć znacznie bardziej rozbudowane, zajmują relatywnie niewiele więcej miejsca niż poprzednicy.

    Narodziny x86

    Na bazie procesora Intel 8080 powstał pierwszy układ z rodziny x86 – Intel 8086 (czerwiec 1978 roku). Był to już procesor 16-bitowy, a zajmował powierzchnię 16 mm2. Jego nieco tańszą, okrojoną wersją Intel 8088 – będącą układem 16-bitowym, ale z 8-bitową magistralą danych – zainteresowała się firma IBM. Zastosowała go w swoim pierwszym komputerze osobistym IBM PC (IBM 5150), zakładając produkcję około 10 tys. maszyn rocznie. IBM PC, który trafił na rynek w 1981 roku, a także jego następcy, łącznie z najnowszymi konstrukcjami, mają otwartą architekturę. Użytkownik może modyfikować, rozbudowywać i rozszerzać możliwości komputera w zależności od potrzeb, przez dołożenie lub wymianę komponentów. W 1981 roku otwarta architektura była absolutną nowością.

    Co więcej, IBM PC zbudowany był z komponentów produkowanych przez firmy trzecie. IBM udostępniał też za darmo dokumentację techniczną komputera, co pozwoliło chętnym na produkcję dodatkowych kart rozszerzeń. W efekcie wiele firm zaczęło wytwarzać własne komputery IBM PC, zwane klonami. Ruszyła też masowa produkcja oprogramowania do IBM PC i ich klonów. To wszystko spopularyzowało architekturę x86 i spowodowało, że do dziś z niej korzystamy. Powstała też nowa kategoria komputerów osobistych – pecetów.

    Tysiące producentów rozpoczęło masową produkcję pecetów, korzystając z kolejnych generacji procesorów Intela, które są zgodne z poprzednimi układami z rodziny x86. Dzięki temu użytkownicy nowych komputerów mogli pracować na starszych programach. Do dziś na najnowszych układach Intela zgodnych z x86 można uruchomić najstarsze aplikacje z 1981 roku. Nie umożliwia tego w prosty sposób żadna inna platforma.

    Od i80286 do Pentium

    Kolejnym 16-bitowym procesorem z rodziny x86 był układ Intel 80 286 (1982 r.). Pierwsze wersje miały zegary 6 i 8 MHz, a ostatnie działały już z maksymalną prędkością 25 MHz. W procesorze i286 wprowadzono nowe instrukcje i sposób adresowania pamięci (odnajdywania miejsc, z których procesor pobiera lub wpisuje bajty).
    Drugą generację procesorów x86 zapoczątkował w 1985 roku 32-bitowy procesor Intel 80 386, inaczej i386DX, zajmujący 42 mm2. W 1998 roku pojawiła się jego okrojona wersja – 80386SX, a w 1990 roku – Intel 80386SL do notebooków.

    Następcą układów Intel 80 386 stała się rodzina procesorów Intel i486 (premiera – 1989 rok). Pod względem modelu oprogramowania i486 był niemal identyczny z układem Intel 80 386 – dodano w nim jedynie kolejne instrukcje. Za to architektura wewnętrzna układu i486 była sporym krokiem naprzód. W procesorze znalazła się po raz pierwszy wspólna pamięć podręczna pierwszego poziomu cache L1 na dane i instrukcje, o pojemności 8 KB, oraz zintegrowany koprocesor arytmetyczny, do obsługi operacji zmiennoprzecinkowych. i486 był dwukrotnie szybszy od taktowanego zbliżonym zegarem układu Intel 80 386. Jako pierwszy spośród układów x86 większość instrukcji wykonywał dokładnie w jednym takcie zegara. i486 był też ostatnim, zawierającym na końcu nazwy cyfry 86, od których zresztą wzięła się nazwa architektury x86.

    Kolejną, piątą generację procesorów zgodną z x86 nazwano Pentium – od greckiej liczby pięć (pente). Pierwszy model (1993 rok) oferował około dwukrotnie większą moc obliczeniową niż i486. W Pentium powiększono cache L1 i zmodernizowano jednostkę zmiennoprzecinkową. Procesor pozostał dalej 32-bitowy. Składał się, w uproszczeniu, z połączonych dwóch układów i486, dzięki czemu mógł wykonywać w określonych sytuacjach dwa rozkazy równolegle. Istotna modyfikacja procesora miała miejsce w 1995 roku, kiedy dodano zestaw instrukcji multimedialnych MMX i moduł do ich wykonywania, a procesor otrzymał nazwę Pentium MMX.

    30-letnia, skrócona historia x86 – najpopularniejszej architektury procesorów

    Obraz
    Obraz
    Obraz

    Era procesorów RISC

    Pentium MMX był ostatnim procesorem Intela o klasycznej architekturze CISC. Współczesne procesory zgodne z x86 tylko zewnętrznie są układami CISC, a wewnętrznie – RISC, gdyż przetwarzają rozkazy x86 na proste mikropolecenia.

    Pierwszym układem Intela z wewnętrzną architekturą RISC był Pentium Pro (1995 rok), przeznaczony głównie do serwerów i wydajnych stacji roboczych. Na jego bazie powstał Pentium II (1997 rok) i Pentium III (1999 rok). W tym ostatnim pojawiły się m.in. specjalne rozkazy i jednostki o nazwie SSE, wykorzystywane m.in. w dekodowaniu materiałów wideo oraz audio czy w obliczeniach graficznych 3D, przygotowujących dane dla kart graficznych w grach. Wraz z Pentium II zadebiutowały Celerony, czyli tańsze układy Intela o nieco ograniczonych możliwościach.

    W 2000 roku wprowadzono procesor Pentium 4. Został on kompletnie przeprojektowany, głównie pod kątem osiągania bardzo dużych częstotliwości zegara taktującego (architektura NetBurst). W praktyce okazało się jednak, że w seryjnych procesorach nie udało się przekroczyć szybkości 4 GHz. Produkcji tych procesorów zaniechano dopiero w tym roku. Przez osiem lat powstało kilka wersji Pentium 4, różniących się procesem technologicznym, dodatkowymi zestawami instrukcji (SSE2, SSE3).

    W kolejnych wersjach wbudowano technologię HyperThreading, która pozwala na jednoczesne przetwarzanie dwóch wątków tego samego programu lub przetwarzanie dwóch programów naraz, co zwiększa wydajność komputera. Pojawiła się też rozszerzona 64-bitowa architektura EM64T, która umożliwia przetwarzanie 64-bitowych danych i uruchamianie 64-bitowych programów i systemów operacyjnych, np. Windows Vista Ultimate 64-bit. Poza tym powstały wersje dwurdzeniowe Pentium D.

    Gdy okazało się, że nie da się bardziej przyspieszyć układów Pentium 4 i zaczęły one przegrywać pod względem wydajności z konkurencyjnymi procesorami firmy AMD, Intel wrócił do sprawdzonej architektury Pentium III, rozwinął ją i unowocześnił. Poligonem doświadczalnym były procesory mobilne Intel Core oraz Intel Core Duo. Na nich sprawdzono założenia nowej architektury, m.in. współużytkowaną pamięć cache oraz strukturę wielordzeniową, wytwarzaną w jednym kawałku krzemu. To one stały się podstawą do zaprojektowania układów Intel Core 2 Duo oraz najnowszych czterordzeniowych kości Intel Core i7.

    Inni producenci x86

    Od początku Intel udzielał licencji na wykorzystanie modelu programowego x86. Procesory zgodne z x86 na przestrzeni lat produkowały różne firmy, takie jak: Cyrix, IBM, NEC, AMD, VIA, NextGen, ST Microelectronics i inni. Obecnie są już tylko VIA i AMD, przy czym liczącą się dla Intela konkurencją pozostała jedynie AMD.

    Zgodne z x86 procesory firmy AMD (założonej w 1969 r.) kilkakrotnie w historii okazywały się technologicznie lepsze od produktów Intela i to on musiał gonić swojego konkurenta. To AMD jako pierwsza wprowadziła 64-bitowe rozszerzenia architektury x86 oraz układy dwurdzeniowe – AMD Athlon X2. Obecnie AMD produkuje dwu-, trzy- i czterordzeniowe procesory, zgodne z architekturą x86. Dzięki rywalizacji AMD i Intela mamy pewność, że na rynku będą się pojawiać nowsze i tańsze konstrukcje procesorów i komputerów.

    Anatomia sukcesu

    Dominację procesorów x86 w naszych komputerach zapewnia głównie otwarta architektura komputerów PC i wsteczna kompatybilność programowa. Ale architektura x86 wygrywa też dlatego, że jest ciągle rozwijana. Intel planuje np. wykorzystać ją w… kartach graficznych. Układ Larrabee bazujący na kilkunastu osadzonych na jednej krzemowej płytce procesorach, zgodnych z x86, ma być szybszy niż najszybsze obecnie karty graficzne Nvidii i ATI. Ponadto Larrabee ma być elastyczny programowo i umożliwiać wspomaganie głównego procesora w komputerze podczas obliczeń niezwiązanych z grafiką.

    Wybrane dla Ciebie