Systemy operacyjne

Vista x64 – czas na 64-bity w świecie Windows?

przeczytasz w 2 min.

Oto i stało się! Windows XP nie jest już dostępny w sprzedaży i kupując system operacyjny od Microsoftu skazani jesteśmy na cieszącą się ciągle niezbyt dobrą opinią Vistę. W dzisiejszym artykule zasta

Większość sprzedawanych obecnie procesorów posiada zdolność wykonywania 64-bitowego kodu (jak również wykonuje z pełną wydajnością kod 16- i 32-bitowy). Rozszerzenie zestawu instrukcji x86 o możliwość wykonywania 64-bitowego kodu wprowadziła firma AMD w Athlonach 64. Ten dodatkowy zestaw instrukcji nazwano x86-64 lub AMD64.
Intel nie mogąc przeforsować swojej drogiej i obwarowanej patentami IA-64, musiał na szybko wyposażyć swoje procesory w zestaw instrukcji zgodnych z AMD64, któremu nadał nazwę EM64T.

Jaki jest zysk z 64-bitowego procesora, poza lepszym samopoczuciem wynikającym ze znacznej różnicy pomiędzy liczbami 64 i 32? Pierwszą i zasadniczą różnicą jest ilość pamięci, którą może wykorzystać procesor. W przypadku 32 bitów ograniczona jest ona do 4 gigabajtów (2 do potęgi 32), podczas gdy teoretyczny limit technologii 64-bitowej jest znacznie, znacznie wyższy. Przy 64-bitowym adresowaniu jest to 2 do potęgi 64, jednak należy tu zaznaczyć, że współczesne procesory nie wykorzystują pełnych 64-bitów do adresowania, gdyż nie ma takiej potrzeby.

Uważni czytelnicy zwrócą teraz uwagę, że przecież w czasach 32-bitów również istniały pecety posiadające znacznie więcej pamięci niż 4 GB. To oczywiście prawda, a sytuacja taka jest możliwa dzięki wprowadzeniu możliwości 36-bitowego adresowania pamięci już w Pentium Pro. Technologia ta nazwana została PAE (Physical Address Extension), a jej pojawienie się zostało wymuszone zapotrzebowaniem na pamięć w maszynach serwerowych i mocnych stacjach roboczych.

Jednak współczesne „biurkowe” wersje Windows (Vista x86 i XP x86 SP2/3) nie robią użytku z tej funkcjonalności w trosce o kompatybilność z niedopracowanymi (bądź starymi) sterownikami. Natomiast 32-bitowe Windowsy serwerowe mogą obsłużyć nawet 64 GB RAM. Korzystanie z PAE okupione jest pewnym pogorszeniem wydajności pamięci, na ogół mało istotnym dla zastosowań serwerowych. Szersze omówienie PAE znaleźć możemy na przykład w bazie wiedzy Microsoftu.

Następną korzyścią jest teoretycznie większa szybkość przetwarzania danych przez procesor 64-bitowy w porównaniu z 32-bitowym odpowiednikiem oraz większa precyzja obliczeń wykonywanych podczas jednego cyklu procesora. Bezpośrednio wynika ona z podwojonej liczby rejestrów procesora (miejsce przechowywania danych w CPU, dostęp do nich obarczony jest najmniejszym możliwym opóźnieniem, mniejszym niż w przypadku korzystania z cache i kilkadziesiąt razy mniejszym od czasu dostępu do RAM). 
Dodatkowo rejestry mają dwukrotnie większą pojemność w porównaniu z architekturą 32-bitową. Nie bez znaczenia pozostają również optymalizacje dokonywane przez kompilatory dzięki możliwości porzucenia części balastu kompatybilności wstecznej.

Dokładniej chodzi o częstsze wykorzystywanie jednostek SIMD (np. SSE, SSE2) zamiast jednostki zmiennoprzecinkowej (FPU). Często owocuje to znacznym przyrostem wydajności w obliczeniach naukowych, kodowaniu multimediów, kompresji i innych zastosowaniach wymagających przetworzenia dużej ilości danych. 
W tym miejscu podkreślić należy, że jednostki SIMD mogą być równie efektywnie wykorzystywane w środowisku 32-bitowym (ale często nie są, by zachować kompatybilność ze starszymi procesorami x86 nie mającymi takich rozszerzeń). Warto o tym pamiętać, by uniknąć nazbyt pochopnych wniosków podczas pomiarów wydajności i rozdzielać efekt architektury 64-bitowej od efektu wykorzystania SSE, czy 3DNow!

Wstępne analizy firmy Cakewalk (producenta profesjonalnych rozwiązań do obróbki dźwięku), wykazały 20-30% przyrost wydajności niektórych operacji w programie Sonar skompilowanym do wersji 64-bitowej. Co więcej, w żadnym z testów nie obserwowano obniżenia wydajności w stosunku do środowiska 32-bitowego. 

Podobnie zachęcające rezultaty daje przeprowadzone na Athlonie64 porównanie wydajności wielu aplikacji uruchamianych pod Ubuntu x86 i x64 – spadki wydajności przy przejściu do środowiska 64-bitowego jeśli występowały to były niewielkie, podczas gdy często obserwowano znaczący wzrost wydajności aplikacji 64-bitowych - nawet rzędu 20-30%. 
Istnieją jednak i inne testy wykonane w środowisku linuksowym, których wyniki nie nastrajają już tak optymistycznie, a wręcz sugerują pozostanie przy sprawdzonych, 32-bitowych programach, np. świeży test AMD Phenom.

Jak więc widzimy, i jeszcze zobaczymy w rozdziale dotyczącym wydajności Visty, nie zawsze rozważania teoretyczne znajdują potwierdzenie w praktyce, a ostateczny wynik benchmarków uzależniony jest od większej liczby czynników, niż tylko architektura procesora.

Witaj!

Niedługo wyłaczymy stare logowanie.
Logowanie będzie możliwe tylko przez 1Login.

Połącz konto już teraz.

Zaloguj przez 1Login