@Tomahawk,
post #84
Magiczna liczba "64" oznacza, w skrócie wielkość słowa maszynowego, którym operuje procesor komputera w obliczeniach wewnętrznych. Ma to bezpośrednie przełożenie zarówno na szybkość działania aplikacji, jak i możliwości samego sprzętu komputerowego.
Procesory wyposażone są w zestaw tzw. rejestrów pełniących rolę buforów na dane przetwarzane aktualnie przez instrukcje. Poszczególne rejestry mają właśnie rozmiar słowa maszynowego i w ten sposób determinowana jest wielkość danych obrabianych w trakcie pojedynczego rozkazu. Oczywiście dłuższe rejestry oznaczają, że te same obliczenia na dużych liczbach mogą być zrealizowane w mniejszej liczbie kroków.
Od zarania dziejów, architektura x86 udostępniała 8 rejestrów procesora. x86-64 zwiększa ich liczbę do 16, przez co programy mogą trzymać więcej danych bezpośrednio w procesorze, eliminując tym samym niektóre narzuty czasowe związane z kopiowaniem ich z pamięci cache czy RAM.
W szczególności, w rejestrach musiały być zapisywane także adresy komórek pamięci. Ograniczenie długości do 32 bitów dawało możliwość zaadresowania maksymalnie 4 GB, natomiast dostęp do reszty realizowany był przez szereg trickowych i skomplikowanych obejść.
Niestety, wiąże się z tym pewna mała niedogodność. Wskaźniki, czyli zmienne przechowujące adresy do innych miejsc pamięci, są w programach komputerowych niezwykle powszechne. Ich wydłużenie sprawia, iż 64-bitowe wersje tych samych programów z definicji wymagać będą nieco więcej pamięci operacyjnej.
Obecne komputery są tak szybkie, iż w większości przypadków przyspieszenie będzie niezauważalne. Aplikacje takie, jak przeglądarka internetowa czy edytor tekstu, większość czasu spędzają w stanie uśpienia, oczekując na np. naciśnięcie przycisku klawiatury czy kliknięcie myszką. Niemniej tam, gdzie potrzeba naprawdę dużej mocy, 64-bitowe aplikacje zyskują dodatkowego kopa.
link