Losy pecetów od ich narodzin związane są zaś ściśle z kośćmi 16-bitowymi. W roku 1981 firma IBM wybrała do swojego komputera osobistego IBM PC (Personal Computer) układ 8086 mało wówczas znanej korporacji Intel. Następnie przyszła już kolej na procesory 32-bitowe, których najmłodszymi reprezentantami są układy Intel Pentium 4 i AMD Athlon XP.
W drodze do 64 bitów
Układy 32-bitowe wykorzystywane są w naszych pecetach od siedemnastu lat, czyli od chwili wprowadzenia do sprzedaży kości Intel 80386DX. Na drodze do dalszego zwiększania szerokości obrabianego słowa binarnego stanęły wolniej ewoluujące systemy operacyjne oraz przede wszystkim brak wystarczająco dużej ilości aplikacji, które wymagają działania na większej liczbie bitów.
Nie bez winy są też i konstruktorzy, którzy przez lata koncentrowali się na poprawianiu architektury 32-bitowej, a prędkość i wydajność zwiększali, stosując głównie coraz to szybsze zegary jednostek centralnych. Istnieją jednak zastosowania wymagające od układu obsługi dłuższych słów – obliczenia inżynierskie, grafika 3D, przetwarzanie strumieni wideo i wreszcie jednoczesne serwowanie wielu plików czy obsługa zaawansowanych baz danych. We współczesnych układach bez trudu znajdziemy zatem 128-bitowe rejestry (np. dla jednostki SSE), a na rynku dużych serwerów dominują kości 64-bitowe. Co więcej, procesory graficzne już od dawna są 128- lub nawet 256-bitowe!
Obecnie coraz częściej specjaliści postulują potrzebę zwiększenia długości słowa i niejako przy okazji… dostępnej przestrzeni adresowej. Architektura 32-bitowa zapewnia bowiem “zaledwie” możliwość zaadresowania do 4 gigabajtów RAM-u, co już wkrótce z pewnością okaże się wartością zbyt małą.
Kompatybilność nade wszystko
Pierwszym 64-bitowym procesorem “zgodnym” z architekturą x86 był Intel Itanium (patrz: CHIP 4/2000, str. 130), który wykorzystywany jest obecnie w dużych, korporacyjnych systemach serwerowych. Przy konstruowaniu tego układu inżynierowie postanowili pozbyć się balastu związanego z archaicznym zestawem instrukcji x86, tworząc zupełnie nową architekturę IA-64. Dla zapewnienia kompatybilności z dotychczasowym oprogramowaniem wbudowano jednak w jądro specjalny moduł dekodujący rozkazy x86, lecz szybkość jego działania pozostawia, niestety, wiele do życzenia. W założeniu krok ten miał wymusić szybką wymianę oprogramowania na jego 64-bitowe odpowiedniki, jednak – jak wiemy – nie przyniosło to oczekiwanych rezultatów.
Nieco inną koncepcję “miękkiej przesiadki na 64 bity” proponuje firma AMD. Podobnie jak w przypadku przejścia z szesnastu na trzydzieści dwa bity, tak jak to miało miejsce dla pamiętnych układów z serii 80286 i 80368, postawiono na pełną zgodność z istniejącym oprogramowaniem. Około półtora roku temu narodził się programowy model architektury x86-64 (patrz: CHIP 10/2000, str. 40), której pierwszymi krzemowymi przedstawicielami mają być procesory z serii Hammer (ang. młotek).
Tryby pracy procesora zgodnego z x86-64 | |||||||
Tryb | Wymagany system operacyjny | Wymagana rekompilacja programu |
Ustawienia domyślne1 | ||||
Rozmiar adresu (bity) | Rozmiar operandy (bity) | Rozszerzenia rejestrów2 | Rejestry ogólnego przeznaczenia (bity) | ||||
Tryb long3 | Tryb 64-bitowy | Nowy 64-bitowy system operacyjny | tak | 64 | 32 | tak | 64 |
Tryb kompatybilności | nie | 32 | nie | 32 | |||
16 | |||||||
Tryb legacy4 | 32- lub 16-bitowy system operacyjny | nie | 32 | 32 | nie | 32 | |
16 | 16 | ||||||
1) Ustawienia domyślne mogą zostać zmienione w większości trybów za pomocą prefiksów instrukcji lub bitu kontrolnego. 2) Rozszerzenia rejestrów obejmują wydłużenie rejestrów ogólnego przeznaczenia do 64-bitów, dodanie ośmiu nowych rejestrów GPR oraz ośmiu rejestrów SSE/SSE2. 3) Tryb long obsługuje tryb chroniony x86. Nie wspiera trybu rzeczywistego ani wirtualnego 8086. Nie obsługuje również przełącznika zadań. 4) Tryb legacy obsługuje wszystkie tryby pracy procesorów x86 (rzeczywisty, wirtualny, chroniony). |