Cała prawda o 64 bitach
Wiele osób wciąż nie wie, co oznacza architektura 64-bitowa i jaki ma wpływ na wydajność. Czy takie procesory mogą wykonywać dwa razy więcej operacji? Czy są dwa razy szybsze niż ich 32-bitowe odpowiedniki? Oczywiście nie.
Istnieją tylko dwie zasadnicze różnice między “starymi” a “nowymi” procesorami. Pierwsza to szersze (64-bitowe) rejestry. Ich znaczenie dla wydajności procesora jest duże, choć niedecydujące. Znajdują one bowiem zastosowanie tylko wtedy, gdy procesor operuje na odpowiednio wielkich liczbach. Można tu podać uproszczony przykład. W trakcie zwykłego dodawania dwóch liczb potrzebne są trzy rejestry – po dwa na składniki i jeden na sumę. Procesor zużywa więc tyle samo mocy przerobowej na dodanie 4 i 16, jak 32142 oraz 771. Różnica ujawnia się dopiero, gdy składnik ma więcej niż 32 bity. Wtedy do jego przechowania potrzeba dwóch albo i więcej rejestrów, no chyba że mamy procesor o architekturze x86-64. Dysponując dwukrotnie większą ilością miejsca, można w jednym kroku wykonać operację, na którą starsze modele potrzebowały dwóch kroków. Szczególnie duże korzyści ujawniają się przy obliczeniach zmiennoprzecinkowych (jednostki SIMD od dawna korzystają z długich rejestrów), jak również przy skomplikowanych operacjach matematycznych. Warunek jest jeden: kod programu musi być odpowiednio zoptymalizowany, a system – 64-bitowy. To ostatnie z kolei oznacza konieczność wykorzystania 64-bitowych sterowników. Nie oszukujmy się – złożenie odpowiedniej platformy jest obecnie dość kłopotliwe, tym bardziej, że 64-bitowa wersja Windows XP, którą można za darmo pobrać ze strony Microsoftu, jest jeszcze edycją próbną, a wiele firm wciąż nie udostępniło odpowiednich sterowników do swoich urządzeń.
Druga cecha “64-bitowców” to rozszerzony obszar adresowy pamięci. Teoretyczne maksimum przy adresowaniu 32-bitowym to 4 gigabajty. Można oczywiście korzystać z różnych sztuczek, takich np. jak PAE (Physical Address Extension), dzięki któremu Windows 2000/XP jest w stanie “obsłużyć” 8 lub nawet 64 GB (w wersji DataCenter). Takie rozwiązania wpływają jednak niekorzystnie na wydajność. Tymczasem procesor 64-bitowy bez problemu może współpracować z 1024 GB (adresowanie 40-bitowe) lub nawet 16 TB (!) pamięci (48-bitowe adresowanie wirtualne). Taka konfiguracja jest obecnie niewyobrażalna, ale przecież w 1981 roku Bill Gates mówił, że wystarczy nam 640 KB pamięci operacyjnej. To liczba o trzy rzędy wielkości mniejsza od wymagań dzisiejszych systemów.
Platforma testowa | |||||
Procesor | Płyta główna | pamięć RAM | Karta graficzna | Dysk twardy | Zasilacz |
AMD Athlon 64 FX-55 (3700 zł) | MSI K8N Neo4 (nVidia nForce4 Ultra) | 2 x OCZ PC4200 EL Dual CH Platinum Edition (400 MHz) | nVidia GeForce 6800 GT 256 MB (PCI Express) | Maxtor DiamondMax Plus 9 (80 GB) | Tagan TG480-U01 |
Intel Pentium 4 Extreme Edition 3,73 MHz (4100 zł) | Abit Fatal1ty AA8XE (Intel 925XE) | 2 x Micron PC4200 DDR2 (533 MHz) | nVidia GeForce 6800 GT 256 MB (PCI Express) | Maxtor DiamondMax Plus 9 (80 GB) | Tagan TG480-U01 |