Abstrakt
AMD uvedl na trh v~září 2003 procesor AMD Athlon64. Jde o~nový 64 bitový procesor, na kterém lze spouštět 64 bitové programy. Na tomto procesoru je možné také spouštět staré 32 bitové programy.
64 bitové programy využívají větší rozsah adresního prostoru a mohou využívat více registrů, které jsou podporovány pouze v~64 bitovém režimu. Díky použití celé řady dalších nových funkcí a volání funkcí, nabízí programy pro 64 bitovou platformu AMD64 vyšší výkon.
SUSE LINUX podporuje nový procesor dvěma různými způsoby:
32 bitový SUSE LINUX pro platformu x86 je tímto procesorem podporován v~32 bitovém režimu, stejně jako by pracoval s~procesorem AMD Athlon nebo Intel Pentium.
Novou 64 bitovou verzí systému SUSE LINUX pro AMD64, která podporuje procesor v~64 bitovém režimu. Tato verze umožňuje také vývoj 32 bitových programů.
![]() | Důležité |
|---|---|
Z historických důvodů je výstup příkazu uname -m x86_64, což je název první specifikace společnosti AMD. | |
Z hardwarového hlediska se pro uživatele AMD64 v~zásadě nic nezměnilo a systém je velmi podobný klasickému systému s~procesorem AMD Athlon. Jednotlivá rozhraní a sběrnice z~původní platformy lze použít i v~nové a jsou také podporovány.
Protože ovladače zařízení pro AMD64 musí být 64 bitové, je nutné je nově překompilovat. V~současné době nejsou podporovány některé starší karty, ale u~novějšího hardwaru je podpora stejná jako v~případě 32 bitové architektury.
Ze softwarového hlediska jsou téměř všechny programy 64 bitové. Kromě toho jsou podporovány také 32 bitové programy. Zároveň je k~dispozici 32 bitová vývojová knihovna. Aby bylo možné odlišit stejné knihovny 32 a 64 bitové verze, ukládají se 32 bitové knihovny do adresáře /lib a 64 bitové do /lib64. Tak je dosaženo toho, že lze bez problémů instalovat i původní balíky z~32 bitové verze.
Z administrátorského a aplikačního hlediska se od sebe 32 a 64 bitové programy nijak neliší. Všechny programy vypadají stejně a chovají se stejně.
32 bitový software, který používá příkaz uname ke zjištění architektury, je nutné poupravit, aby mohl běžet i na systému AMD64. K~tomu je používán program linux32, který pozmění výstup příkazu uname -m. Nejdřív zadejte příkaz linux32 , pak mezeru a za ní název programu. Tímto způsobem můžete spustit také shell, kde bude výstup pozměněn již pro všechny v něm spouštěné aplikace.
V systému SUSE LINUX pro AMD64 můžete vyvíjet jak 32bitové, tak 64 bitové programy. GNU kompilátor bude poskytovat kód optimalizovaný pro 64 bitovou platformu AMD64 . Pomocí přepínače -m32 vytvoříte 32 bitový kód pro platformu x86, který poběží na 32 bitových procesorech AMD Athlon nebo Intel Pentium.
Při vývoji 64 bitového kódu musíte používat 64 bitové knihovny. Vždy budou prohledávány cesty /lib64 a /usr/lib64, u~některých částí kódu je nutné použít jinou cestu, např. u~kódu X11 musíte použít -L/usr/X11R6/lib64. V~těchto případech je nutné příslušně upravit soubor Makefile.
Při ladění kódu můžete použít GDB, který pro 64 bitovou platformu AMD64 najdete pod jménem gdb a pro 32 bitovou platformu x86 jako gdb32. Nástroj strace} můžete používat jak pro 32 bitové, tak pro 64 bitové programy. Pro Library Tracer ltrace je k~dispozici zvláštní program pro 32 bitové programy ltrace32.