47     Poprzednia strona Spis treści Nastepna strona     : Pojedynki gigantów – historia mikroprocesorów



"Rem'X"


Od czasu zbudowania pierwszego mikroprocesora mijają właśnie 33 lata. Szmat czasu, szczególnie z perspektywy światka sprzętu komputerowego. I choć rocznica nie jest okrągła to proponuję mały rzut okiem na historię tych serc wielu układów cyfrowych, ale z uwagi na rozległość dziedziny ograniczymy się do tego, co interesuje nas najbardziej, czyli pecetów.



PREHISTORIA
Nie obrażając 30-latków, Intel 4004 to dziś już staruszek, nestor rodu rzekłbym :) Dawno zasłużył na emeryturę i można go znaleźć jedynie wśród eksponatów muzealnych. Od czasu jego zbudowania przez firmę Intel w 1971 roku zmieniło się niemal wszystko. Chociaż, czy aby na pewno... ? :)
Pomysł stworzenia czegoś co dziś nazywamy mikroprocesorem, czy po prostu procesorem, zrodził się gdzieś koło roku 1970. Wówczas w Intelu pracowano nad zleceniem na projekt kalkulatora i początkowo planowano jego budowę na podstawie kilkunastu specjalizowanych scalaków. Z czasem jednak wygrała nowatorska koncepcja budowy jednego układu uniwersalnego, programowalnego. A więc w uproszczeniu raz ten sam układ mógłby zająć się dodawaniem dwóch liczb całkowitych, a po przeprogramowaniu liczby byłyby odejmowane. Taka filozofia przyświeca (z reguły) budowaniu procesorów po dziś dzień, lecz koncepcji realizacji tego zadania było w historii co najmniej kilka.

286 – made by AMD, copyright by Intel


WSZYSCY MAMY 8086 :) Pierwszym przełomem po kilku wersjach rozbudowanych następców cztero-tysiączek-czwórek był rok 1976 i model 8086. Po modelach 4- i 8- bitowych był to pierwszy model 16-bitowy, mogący zaadresować zawrotną ilość pamięci operacyjnej - do 1 MB. Model ten był niemal dziełem sztuki – składał się z 29 tysięcy tranzystorów, jego maksymalna częstotliwość taktowania wynosiła 8 MHz i do tego mógł wykonywać do 800 tys. operacji stałoprzecinkowych na sekundę (0,8 MIPsa). Chciałbym tutaj odnotować jeszcze jeden ważny fakt. Do dziś każdy właściciel peceta ma w swojej skrzyni 8086. I co więcej korzysta z niego przy każdym włączeniu sprzętu. O co chodzi? Otóż każdy procesor w pececie startuje jako 8086 (w tzw. trybie rzeczywistym). Dopiero po przejściu POSTa (ekranu startowego, z odczytem BIOSa, CMOSa, testowaniem pamięci itp.) odpowiedni bit w jednym z rejestrów jest przełączany i od tej pory nasza maszyna zaczyna korzystać z pełni swych możliwości (tryb wirtualny z ochroną). Idąc dalej – rozkazy maszynowe spotykane w 8086 również pozostały, tyle tylko że ich przetwarzanie wygląda teraz nieco inaczej, a poza tym zostały rozszerzone (o koprocesor, MMX, SSE itp.). Tak więc przeszłość PC ciąży dość mocno na tej architekturze, co z jednej strony stanowi wadę (stare rozwiązania mogą w pewnym stopniu ograniczać możliwości), a z drugiej korzyść (różnie pojmowana kompatybilność w dół).

ALI BABA I 32 ROZBÓJNIKÓW
Kolejnym punktem przełomowym było wprowadzenie 80386 w 1985 (w międzyczasie był nieudany 80186, oraz całkiem dobry 80286). Tutaj po raz pierwszy wprowadzono tryb pracy wirtualnej z ochroną, procek był też pierwszym 32-bitowcem dla peceta, podwojono liczbę rejestrów (z 16 na 32), przestrzeń adresowa wynosiła już 4 GB, tranzystorków w układzie było 275 tys., standardowa częstotliwość maksymalna to 20 MHz. To wszystko razem dawało możliwość wykonania 6 mln operacji stałoprzecinkowych w ciągu sekundy (6 MIPs).

Wnętrze prekursora – 4004


5 ELEMENT
Następna rewolucja nastąpiła wraz z nadejściem modeli Pentium (1993) i PentiumPro (1995). Oprócz tego, że standardowo zawierały one już wbudowaną pamięć podręczną L1 i koprocesor do obliczeń zmiennoprzecinkowych (od 80486), to procesorki te stanowiły przejście w kierunku innej architektury. W Pentium zastosowano architekturę superskalarną – procesor może wykonywać więcej niż 1 instrukcję w takcie zegara, ponieważ posiada 2 potoki stałoprzecinkowe o głębokości 5 stopni i 1 zmiennoprzecinkową, 8-stopniową (dawny koprocesor). To wymusza stosowanie dodatkowej jednostki – układu przewidywania skoków. Magistrala danych staje się 64-bitowa (architektura pozostaje oczywiście 32-bitowa). Pierwsze Pentiumy były taktowane częstotliwością 60 MHz, były zbiorem 3 mln tranzystorów i umożliwiały wykonanie 100 MIPsów. PentiumPro z kolei jest prekursorem architektury PostRISC (w miejsce CISC) w linii procesorów desktopowych Intela. Współczesne procesory także wykorzystują tę koncepcję. W bardzo dużym uproszczeniu chodzi o to, że instrukcje typu CISC teraz są sprzętowo tłumaczone na zestaw tzw. mikrooperacji, charakterystycznych dla RISCów. Stąd też można powiedzieć, że PostRISC to połączenie obu wcześniejszych architektur. PentiumPro ma aż 14 stopniowy potok, operacje są optymalizowane sprzętowo, mogą być nawet wykonywane w innej kolejności. I jeszcze garść info technicznego: 5,5 mln tranzystorów, częstotliwość od 180 MHz, adresacja do 64 GB pamięci, aż 440 MIPs.
NOWY STARY ZAWODNIK W GRZE
Tutaj do gry na poważnie włącza się AMD, które do modelu K5 kopiowało pomysły Intela. W 1996 roku wypuszcza model K6, które przypomina nieco PentiumPro (należy pamiętać, że PPro było głównie procesorem serwerowym, K6 natomiast był skierowany do rynku desktopów). Architektura PostRISC, bardzo dobry układ przewidywania skoków, a nawet układ analizy strumienia instrukcji, bardzo duży cache L1 (po 32 kB na instrukcje i dane), L2 max 2 MB – to wszystko razem czyniło ten procesor mocną konkurencją dla Intela. K6 składał się z 9 mln tranzystorów, pracował przy częstotliwościach 160 – 550 MHz (K6-2).

MULTIMEDIÓW SIĘ ZACHCIAŁO
Kolejny etap wart odnotowania to intelowskie Pentium II (1997) – jest to w zasadzie PentiumPro z dodatkową grupą rozkazów MMX – MultiMedia eXtension (pomijając oczywiście zmienioną technologię produkcji). Tak jak PentiumPro, jego następca dostaje w jednej obudowie cache drugiego poziomu (L2). Dodatkowa grupa rozkazów korzysta tak naprawdę z rejestrów jednostki zmiennoprzecinkowej (czyli niegdysiejszego koprocesora). Rozkazy te, zwane multimedialnymi, różnią się od dotychczasowych tym, że wykonują jedną operację jednocześnie na kilku danych (liczbach), choć fizycznie znajdujących się w 1 rejestrze. Takie podejście określa się mianem SIMD – Single Instruction- Multiple Data (jedna instrukcja- kilka danych). Rozszerzenie MMX pojawiło się, co prawda wcześniej, jeszcze w ostatniej linii klasycznego Pentium, ale dopiero z PII rozwinęło skrzydła. Procek ten taktowany był zegarem od 233 do 450MHz, składał się z 7 mln tranzystorów i osiągał wydajność 466 MIPsów (wersja 266 MHz). Po drodze pojawiły się jeszcze Celerony. Były to niemal te same procesory, tylko bez cache L2 (później z obciętą jej ilością) oraz kilkoma innymi uproszczeniami mającymi ograniczyć prócz wydajności przede wszystkim cenę. Odpowiedzią AMD było K6-2 (1998), z instrukcjami 3D Now!, podobnymi do MMX 2 lata młodsze od PII, PentiumIII dostało kolejne rozszerzenie – SSE (Streaming SIMD Extension), znowu więcej cache'a L2 (nawet 1 MB). Jednostek wykonawczych było już 11, a stopni w potoku 10. To bydlę, taktowane zegarem od 450 do 1400 MHz zbudowane było z 9 mln tranzystorów a osiągało 1000 MIPsów (wersja 500MHz). Późniejsze rozbudowane wersje przekraczały te granice (wystarczy powiedzieć, że były zbudowane z max 37 mln tranzystorów).

K6 – udany rywal dla Intela


DURAN, DURAN
Rok 1999 był rokiem narodzin legendarnego i obecnego do dziś AMD Athlona (K7). Zawierał 3 niezależne jednostki zmiennoprzecinkowe, 3 niezależne jednostki stałoprzecinkowe i jeszcze 3 także niezależne jednostki generacji adresów, wszystko superskalarne i superpotokowe. Wpadką okazał się układ przewidywania skoków - nieco gorszy niż w K6 (dlatego w Athlonach64 stosuje się poprzednie rozwiązanie). Tranzystorów było od 22 do 55 mln, częstotliwość od 500 do 2200 MHz. Z tym, że od modeli AthlonXP AMD zaczęło stosować oznaczenia będące ekwiwalentem wydajności względem Pentium4. Stąd też wersja AthlonXP 3200+ jest taktowana zegarem 2200MHz. Pojawiła się również obcięta wersja procesorów o nazwie Duron, nieco lepsza niż intelowskie odpowiedniki – Celerony.

PIII – ewolucja względem PII i PPro


WIDZĘ POD2ÓJNIE
W 2000 roku Intel skonstruował z kolei Pentium4 które było (jest!) kolejnym po P3 ewolucyjnym rozwinięciem koncepcji PostRISC w Intelu. W architekturze zmieniło się to, że mikrooperacje są teraz tłumaczone nieco wcześniej, przed umieszczeniem w cache L1. P4 dostało 20-stopniowy potok (nazywany już hiperpotokiem), kolejne rozszerzenie SSE2 (od niedawno wypuszczonej wersji o nazwie kodowej Prescott także SSE3), zastosowano sprzętowe prepobranie danych. Późniejsze wersje są również wyposażone w nową technologię HyperThreading – poprzez zduplikowanie pewnych zasobów procesora uzyskano 2 procesory logiczne w 1 procesoru fizycznym. P4 składa się z 29 mln tranzystorów, a jego najbardziej wypasione wersje nawet z 149 mln, taktowanie od 1,3 do 3,2 GHz (lada moment 3,4 GHz). Tryb dwukanałowej obsługi pamięci pozwala uzyskać 128-bitową szynę danych.

64 KRASNOLUDKI
Od niedawna (3 kwartał 2003) na rynku są już dostępne Athlony64 i AthlonyFX... Nowa koncepcja AMD to 64-bitowa architektura w komputerach domowych i biurowych. Ale to już temat na kolejny artykuł :)


47     Poprzednia strona Spis treści Nastepna strona     : Pojedynki gigantów – historia mikroprocesorów