Athlon 64 i Opteron

Ósma generacja procesorów AMD o roboczej nazwie Hammer miała wyznaczać standard układów 32- i 64-bitowych. Legend i plotek na temat tego procesora nikt chyba nie zliczy. Przedstawimy ze szczegółami fakty na temat wnętrza architektury x86-64.

Ósma generacja procesorów AMD o roboczej nazwie Hammer miała wyznaczać standard układów 32- i 64-bitowych. Legend i plotek na temat tego procesora nikt chyba nie zliczy. Przedstawimy ze szczegółami fakty na temat wnętrza architektury x86-64.

Wraz z technologią x86-64 AMD wkracza na nowe drogi, nie porzucając jednak starych ścieżek. Procesory Hammer nie opierają się na całkowicie nowej architekturze, jak choćby seria Itanium Intela. Mówiąc w uproszczeniu, w procesorach Hammer AMD rozszerza rejestry do 64 bitów. Podąża więc tą samą drogą, którą wybrał Intel, przechodząc z technologii 286 na 386. Od czasów procesorów 80386 obliczenia wykonuje nie tylko 16-bitowy rejestr AX, ale także 32-bitowy rejestr EAX.

Rozszerzając technologię IA-32, AMD chce uzyskać pewność, że procesory x86-64 będą mogły wykonywać aktualne kody 16- i 32-bitowe bez utraty wydajności zarówno pod kontrolą 32-, jak i 64-bitowych systemów operacyjnych. Dla porównania: architektura IA-64 intelowskiej serii Itanium może wykonywać "stare" programy wyłącznie dzięki skomplikowanej emulacji sprzętowej - rejestry x86 są odzwierciedlane w rejestrach IA-64, a logika sterująca zamienia je w strumień danych IA-64. Proces ten wymaga czasu, co obniża wydajność.

Natomiast w architekturze x8664 AMD taka emulacja nie jest konieczna - w programach 32-bitowych 64-bitowego rozszerzenia po prostu się nie używa. Dlatego też Hammer jest, według AMD, najszybszym dotychczas procesorem x86 w środowisku 32-bitowym.

1. Tryby robocze Hammera

Aby bez problemu współpracować z oprogramowaniem 32- i 64-bitowym, procesory Hammer dysponują różnymi trybami pracy:

  • legacy

  • 64-bitowym

  • zgodności.
Jeżeli Hammer wykryje aktualny system operacyjny z jądrem 32-bitowym, na przykład Windows XP, pracuje w tak zwanym trybie legacy. Zachowuje się przy tym jak normalny procesor x86 i jest w pełni kompatybilny z istniejącymi systemami operacyjnymi i aplikacjami 16- i 32-bitowymi.

Funkcje 64-bitowe architektury x86-64 pozostają w takiej sytuacji niewykorzystane. Jeżeli jednak Hammer rozpozna 64-bitowy system operacyjny, przełącza się w tryb pracy nazwany Long Moce. Tryb Gong Mode technologii x86-64 zawiera dwa podtryby: tryb 64-bitowy i tryb zgodności. Aplikacje 64-bitowe pracują w trybie 64-bitowym. Programy mają zatem do dyspozycji pełną przestrzeń adresowąo wielkości 64 bitów. Tryb zgodności architektury x86-64 umożliwia kompatybilność binarną systemów operacyjnych poniżej 64-bitowych z aplikacjami 16- i 32-bitowymi. Nie jest konieczne kompilowanie od nowa programów, ale nie mogą one wykorzystywać całej 64-bitowej przestrzeni adresowej systemu operacyjnegoi muszą się zadowolić wielkością 4 GB.

2. Globalny bit kontrolny

Budowa rejestru - architektura x86-64 procesorów Hammer rozszerza 32-bitowy rejestr procesorów IA-32 do 64 bitów.

Budowa rejestru - architektura x86-64 procesorów Hammer rozszerza 32-bitowy rejestr procesorów IA-32 do 64 bitów.

O tym, w jakim trybie pracy znajduje się procesor Hammer, decyduje globalny bit kontrolny LMA (Long Modo Active) oraz dwa inne znaczniki (flags). Jeżeli wartość bitu LMA wynosi O, Hammer zachowuje się jak zwykły procesor x86. Jeżeli procesor pracuje w trybie 64-bitowym Long Mode, bit LMA, mający atrybut "tylko do odczytu", uzyskuje wartość 1.

Aby aktywować tryb Long Mode procesora Hammer, system operacyjny musi aktywować bit LME (Long Mode Enable) z rejestru EFER (Extended Feature Enable Register). W tym celu oprogramowanie musi:

  • aktywować tryb Long Mode, co może nastąpić wyłącznie w trybie rzeczywistym (Real Mode) i w trybie chronionym (Protected Mode), bez adresowania segmentowego (bez stronicowania);

  • włączyć fizyczne rozszerzenie adresowania przez nadanie bitowi CR4.PAE rejestru kontrolnego wartości 1;

  • nadać wartość 1 bitowi w rejestrze LME.EFER.
Procesor pracuje teraz w 64-bitowym trybie Long Mode i w zależności od aplikacji może działać w jednym z dwóch podtrybów. O tym, czy będzie to tryb 64-bitowy, czy tryb zgodności, decyduje znacznik: CS-Descriptor określa, czy aplikacje w środowisku 64-bitowym pracują w trybie zgodności 16- lub 32-bitowej, czy też wykorzystują tryb 64-bitowy.

3. Nowe rejestry

W trakcie pracy w trybie 64-bitowym procesor ma do dyspozycji dodatkowe możliwości w stosunku do trybu legacy:

  • 64-bitowa przestrzeń adresowa

  • relacyjne adresowanie danych z 64-bitowym offsetem

  • rozszerzenie ośmiu rejestrów GPR (General Purpose Register) do 64 bitów poprzez prefiks R

  • dodatkowe osiem rejestrów GPR R8 do R15

  • osiem nowych 128-bitowych rejestrów SSE XMM8 do XMM15

  • 64-bitowy wskaźnik poleceń (RIP). Architektura x86-64 widzi 64-bitowy obszar adresowy tylko dzięki adresowaniu segmentowemu. Fizyczny obszar adresowy jest ograniczony do 52 bitów.
W pierwszej generacji rodziny procesorów Hammer AMD zaimplementowat zaledwie 48-bitową, wirtualną przestrzeń adresową-fizyczna przestrzeń adresowa jest ograniczona do 40 bitów. Pierwsze procesory Hammer mogą adresować do 1 TB pamięci.

Aplikacje, które pracują w trybie legacy lub w trybie zgodności, mają w przypadku procesora Hammer do dyspozycji nadal tylko osiem ogólnych rejestrów 32-bitowych: EAX, EBX, ECX, EDX, EBP, ESI, EDI i ESP. Jeżeli jednak procesor pracuje w trybie 64-bitowym, architektura x86-64 rozszerza te osiem rejestrów za pomocą prefiksu R do 64 bitów. Rozszerzone rejestry otrzymują oznaczenia od RAX do RSR W trybie 64-bitowym Hammer ma ponadto dostęp do ośmiu nowych, również 64-bitowych rejestrów GPR - od R8 do R15.

Do obliczeń zmiennoprzecinkowych podwojono osiem 128-bitowych rejestrów SSE, dodając XMM8 do XMM15. Są one jednak wykorzystywane tylko w trybie 64-bitowym. Wszystkie tryby robocze dysponują za to zgodnością z zestawem instrukcji Intela SSE2. W procesorze Hammer AMD po raz pierwszy stosuje rozszerzenia multimedialne Pentium 4, które dysponuje tylko ośmioma rejestrami XMM.


Zobacz również