Kierunek 128 bitów

W informatycznym sprzęcie nadal można znaleźć mikroprocesory. Ich rozwój podlega ilościowo działającemu prawu Moore'a, przechodzącego od czasu do czasu skokowo w nową jakość, objawiającą się wzrostem długości mikroprocesorowego słowa.

W informatycznym sprzęcie nadal można znaleźć mikroprocesory. Ich rozwój podlega ilościowo działającemu prawu Moore'a, przechodzącego od czasu do czasu skokowo w nową jakość, objawiającą się wzrostem długości mikroprocesorowego słowa.

Tak zwana bitowość procesora, czyli długość słowa, którym operuje, to podstawowy parametr tych najbardziej złożonych układów scalonych. Właśnie obchodzimy 30-lecie tego ważnego wynalazku. 15 listopada 1971 r. intelowska reklama w czasopiśmie Electronic News obwieściła światu nadejście nowej ery w dziedzinie zintegrowanych układów elektronicznych (announcing a new era of integrated electronics). Wtedy to światło dzienne ujrzał mikroprocesor Intel 4004. Jego nazwa słusznie pozwala się domyśleć, że było to urządzenie 4-bitowe.

Wynalazca mikroprocesora, Marcian "Ted" Hoff, działał na zlecenie nie istniejącej już firmy japońskiej Busicom, która potrzebowała układów scalonych dla swych kalkulatorów. 10 cyfr potrzebnych do wykonywania operacji arytmetycznych da się zakodować już na czterech bitach (24). Jeśli jednak chcemy, aby podstawowa operacja mikroprocesorowa przetworzyła znak alfanumeryczny, to potrzebne było pojawienie się procesorów 8-bitowych (mówimy tu o kodzie ASCII, Unicode potrzebuje już 16 bitów). Jeszcze większe wymagania ma szybkie przetwarzanie grafiki (zwłaszcza w trybie true color). Do takich specjalizowanych zadań można używać również koprocesorów, ale głównym motywem wydłużania procesorowego słowa była pamięć.

Mowa oczywiście o pamięci operacyjnej, bo tylko to, co się w niej znajduje, może być przetwarzane przez mikroprocesor. Jego efektywna praca wymaga zatem możliwości natychmiastowego zaadresowania (dostępu) każdej dowolnej komórki pamięci. Nie oznacza to jednak, że procesory 8-bitowe mogły zarządzać pamięcią nie większą niż ledwie 256 bajtów (28).

Wolę Motorolę

Tak by się działo, gdyby szerokość ich szyny adresowej była również 8-bitowa. Jeśli dodamy trzeci parametr - szerokość szyny danych - to widać, że bitowość procesora wcale nie jest wielkością dającą się jednoznacznie określić tylko jedną wartością. Słynna Motorola 68000 była hybrydą, operującą wprawdzie rejestrem 32-bitowym, ale wyposażoną w 24-bitową szynę adresową i "zaledwie" 16-bitową szynę danych. Cudzysłów jest tu jak najbardziej na miejscu, mówimy bowiem o roku 1979. Dla porównania, w tym samym czasie 8088 Intela był procesorem 16-bitowym z 20-bitową szyną danych, standard IBM-PC jeszcze nie istniał, a ekspansja komputerów domowych, takich jak Commodore C64 czy ZX Spectrum, dopiero się zaczynała.

Ten ostatni model, popularny swego czasu w Polsce, korzystał z procesora Z80 Ziloga. Pod koniec ery procesorów 8-bitowych operowały one 16-bitową szyną adresową, co pozwalało na dostęp do 64 KB pamięci operacyjnej (216). Czy to dużo? Wydawało się ongiś, że wystarczy to na dłuższy czas. Pomnożono zatem ową wielkość przez 10, tworząc standard tzw. pełnej pamięci operacyjnej: 640 KB. Miał wystarczyć na wiele lat... Tymczasem prawo Moore'a jest tak naprawdę regułą wykładniczego wzrostu całej technologii informatycznej i dotyczy również pamięci operacyj- nej. Świadczy o tym chociażby miniona dekada.

Mniej więcej co półtora roku podwajała się wówczas wielkość pamięci operacyjnej w typowej konfiguracji komputerowej. Na początku lat 90. był to 1 MB, dziś już 128-256 MB. Jeszcze jedna legenda rynku home computers - Amstrad - operował tzw. bankami pamięci 2 x 64 KB. W ten sposób procesorem z 16-bitową szyną danych można było zaadresować 128 KB... tyle, że nie od razu. Trzeba było bowiem wiedzieć, o który bank chodzi. Te dwa obszary pamięci da się zaadresować jednym dodatkowym bitem, a dla czterech potrzeba dwóch dodatkowych pozycji. Takie triki były jednak de facto przedłużaniem szyny adresowej o kolejne bity.

Ruchome informacje

Dochodzimy tu do kwestii wirtualnego adresowania pamięci, znanego już we wczesnych konfiguracjach komputerów mainframe (były to lata 60.). Adres rozkazu nie musi bowiem odpowia- dać bezpośrednio fizycznemu umiejscowieniu pamięci operacyjnej. Co więcej, komputer może dysponować pamięcią operacyjną o mniejszym rozmiarze niż jest to potrzebne do wykonania całego programu. Rozwiązaniem jest tutaj mechanizm stronicowania (paging). Mówimy już jednak o systemie operacyjnym, czyli warstwie programowej architektury komputera, a ta z definicji jest zawsze wolniejsza od mechanizmów implementowanych bezpośrednio w warstwie sprzętowej.

Zatem presja na przechodzenie od procesorów 8- do 16-, a potem do 32-bitowych była bardzo silna. Dziś na naszych oczach dokonuje się przechodzenie do architektur 64-bitowych. Proces ten zaczął się dekadę temu i potrwa jeszcze kilka następnych lat. Przełomem był tu rok 1992 i pojawienie się słynnej Alphy 21064 Digitala. Dodajmy, że układ przetrwał "połknięcie" koncernu DEC przez Compaqa (osobną kwestię stanowi dalsza polityka nowego giganta branży IT po fuzji tej firmy z HP).

Co na to Intel? Firma zbierała doświadczenia w zakresie architektur 64-bitowych już w końcu lat 80. Mowa o procesorze RISC i860. Jednak prawdziwe wejście na ważny rynek stacji roboczych dokonuje się w tym roku w związku z procesorem Itanium (wcześniej znanym jako Merced). Wprawdzie maso- wy rynek PC ma inne wymagania sprzętowo-cenowe, ale presja na 64 bity będzie rosła.

Wykonajmy jeszcze jedno potęgowanie: 232 = 4 294 967 296 (4 GB). Czy to dużo? Dla "znakowej" informatyki, takiego obszaru adresowalnej pamięci, byłoby aż nadto, ale informacja, która się "rusza i mówi", potrzebuje o wiele większych pamięci i procesorowych mocy.

Zapas mocy

Sceptycy wątpią, czy już dzisiaj potrzeba nam 64-bitowych procesorów na skalę masową. Podobne głosy dało się zresztą słyszeć i przed laty, kiedy 32 bity zastępowały 16. To prawda, że obecnie większoś-ci znanych aplikacji wystarczą 32 bity. Z drugiej strony, można to twierdzenie sformułować inaczej: właściwości aplikacji odpowiadają aktualnym właści- wościom procesorów. Zatem rozwój sprzętu musi wyprzedzać wymagania oprogramowania. Rozwój informatyki przebiegający w cyklu: sprzęt-oprogramowanie-zastosowanie wymaga owego "zapasu mocy". Bez niego (posługując się porównaniem motoryzacyjnym) nie da się dokonać informatycznego przyspieszenia w odpowiednim momencie.

Tylko taka sytuacja gwarantuje użytkownikowi komfort: on chce, by potrzebne mu narzędzia dało się zaszyć w rozwiązania informatyczne. Programista, którego zadaniem jest zaimplementowanie tych idei, wie, że będzie to wykonalne, że gotowe narzędzia będą działać z pożądaną szybkością. Owszem, nie należy przy tym zapominać o rachunku ekonomicznym, ale technicznie powinno nas być stać na stwierdzenie, że możliwe jest niemal wszystko. Tym różni się nasza epoka od czasów Charlesa Babbage'a - ówczesny rozwój musiał być wolniejszy od aktualnego, gdyż najwspanialsze nawet idee napotykały nieprzekraczalne bariery ich fizycznej realizacji.

Zapas mocy, o którym mówimy, daje zatem informatyce gwarancję elastyczności rozwojowej. Właśnie ona jest największą siłą każdego komputera. Widać tu podobieństwa do naszego wspaniałego organu - mózgu. To mózg sprawia, że nie biegając szybciej niż gepardy możemy być od nich szybsi. Że nie latając jak orły, potrafimy jednak wznosić się wyżej niż one. Że nie nurkując jak ryby głębinowe, zapuszczamy się w oceaniczne odmęty, niedostępne morskim stworom.

Elastyczny mikroprocesor

W początkach swego rozwoju komputer wykorzystywany do edycji tekstów nie był jednoznacznie lepszy od elektronicznej maszyny do pisania. Uniwersalny komputer nie grał lepiej w szachy niż specjalizowane urządzenia zbudowane w tym celu. Dziś również nie zawsze gwarantuje lepszą jakość ruchomego obrazu niż podzespoły zwykłego telewizora. Jednak w każdej z tych dziedzin prędzej czy później zaznacza się dominacja wielozadaniowego, elastycznego mikroprocesora (oczywiście, owo elastyczne cudo bez odpowiedniego oprogramowania jest nic nie warte).

Na horyzoncie widać też już kolejny szczyt intelowskiej linii procesorów IA-64, noszący dumną nazwę najwyższej góry Ameryki Północnej - McKinley. To już 220 mln tranzystorów, dokładnie 100 tys. razy więcej od swego praprzodka sprzed 30 lat i krok w stronę architektur 128-bitowych. Jeszcze w technologii 0,18 µm, ale w jego następcy - Madisonie (rok 2004) bity będą poruszać się po ścieżkach o jedną trzecią węższych - 0,13 µm. Widać już teraz, jak szybko rośnie liczba aplikacji działających na nowych procesorach. W przypadku wspomnianego Itanium jest szacowana już przez przedstawicieli Intela na niemal pół tysiąca (do końca br.). Szczególnie istotne było pojawienie się w sprzedaży 64-bitowego systemu operacyjnego Microsoftu: Windows 2000 Advanced Server.

Mocniejsza cegiełka

Co z alternatywnymi rozwiązaniami w zakresie architektur procesorowych, takimi jak systemy multiprocesorowe, masowo-równoległe czy specjalizowane procesory wektorowe? Informatyka ma prawo rozwijać się wielotorowo. Nie mówimy tutaj o wykluczających się alternatywach. Jest w tym rozwoju miejsce dla przetwarzania klastrowego, jak również ewoluowania metaprzetwarzania w kierunku przetwarzania kratowego (grid computing). Pamiętajmy jednak, że każde z tych rozwiązań będzie tym skuteczniejsze, im większą moc będzie miała ich podstawowa cegiełka - mikroprocesor.

W latach 70. dominowały wśród tych urządzeń modele 8-bitowe. Lata 80. to czasy mikroprocesorów 16-bitowych, a 90. - architektur 32-bitowych. Można zatem śmiało powiedzieć, że pierwsze lata naszego wieku to czas mikroprocesorów 64-bitowych (choć oczywiście z jednej strony takowe istniały już dekadę temu, z drugiej zaś także sprawdzone architektury mikroprocesorowe trzymają się mocno - wystarczy spojrzeć na serię układów Xeon Pentium). Można przypuszczać, że następna dekada będzie czasem mikroprocesorów 128-bitowych, stosowanych na szeroką skalę.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200