Ostatnimi czasy stało się głośno o procesorach 64 bitowych, głośno o systemach 64 bitowych, oraz o wszystkim innym co ma "bitowych" w nazwie. Wynika to z tego, że na rynku zaczęły się pojawiać 64 bitowe układy CPU. Na wielu forach i chatach ludzie pytają i dostają odpowiedzi, które albo są wzięte "z głowy" albo nie są ujęte obiektywnie, bo czy można nazwać obiektywną oceną komentarz "64 bity są gorsze, bo są problemy ze sterownikami". Wiele jest też teraz opinii jako że "64 bity jest lepsze" ..i tutaj autor urwał… dokończę za niego… są lepsze, idąc myślą, że lepsze zawsze to, co jest większe. W tym przypadku to akurat prawda, jednak czy z taką wiedzą i tokiem myślenia można w ogóle zabierać zdanie? Ciekawy jestem, jak taki osobnik skomentowałby parametr dysku twardego, który zwie się po polsku "czas dostępu", gdzie proporcja jest odwrotna. Jednak zbaczam z kursu, meritum sprawy to czym różni się x86 od AMD64.
Różnice procesorów 32 i 64 bitowych
Takimi podstawowymi zmianami w architekturze AMD64 są:
1. Wzrost wydajności 64 bitowych procesorów o 5-15% względem 32 bitowej architektury
2. Zwiększona ilość adresowanej pamięci z 4 GB [w x86] do 1TB [w AMD64] oraz możliwości adresowania gigantycznych ilości pamięci dla konkretnych aplikacji, bez rekompilacji kodu źródłowego
3. Obsługa odwołań Instruction Pointer - czyli wzrost wydajności i szybkości aplikacji
4. Obsługa Intelowskich zestawów instrukcji SIMD SSE1 SSE2, nowsze modele również SSE3
5. Mechanizm ochrony obszaru pamięci operacyjnej, przed traktowaniem go przez procesor, jako zbioru instrukcji do wykonania, zwany NX-BIT
Wnioski
A teraz konkretniej, co z tego wynika:
Przede wszystkim dla użytkowników, fakt że GPU x86 będzie o 5-15% mniej wydajny od analogicznego GPU typu AMD64 pracującego w trybie kompatybilności z x86. Z tego faktu wynikają jeszcze dwa następne, mianowicie słabsze nagrzewanie się jednostki GPU oraz pobieranie mniejszej ilości energii do pracy. Dla nas wszystkich drugą i to bardzo istotną zmianą jest możliwość adresowania pamięci RAM w tak wielkich ilościach. Już za parenaście lat procesory będą w stanie przydzielić jednej aplikacji 4 GB pamięci RAM, czyli ilości pamięci, która dzisiaj jest ilością maksymalną dla procesorów 32 bitowych [i to tylko teoretycznie, bo w praktyce maksymalnie można w jednej chwili używać tylko 3 GB RAM]. Punkt 4. oraz 5. jest właściwie dobrymi zmianami dla programistów ponieważ nowa platforma daje nowe możliwości oraz zabezpiecza przed potencjalnymi błędami interpretacji CPU danych. Jednak nie jestem jeszcze programistą i nie moge powiedzieć więcej na ten temat. Jest jeszcze jeden aspekt, mianowicie potrzeba rekompilacji wielu programów i sterowników, które nie będą poprawnie działać na procesorach 64 bitowych, pomimo ich wstecznej kompatybilności.