>> technologii PAE, která jim umožní jejich paměť naadresovat i na 32bitovém systému.
Blbost. Ano, naadresujete fyzickou paměť třeba celou, ale ten program má jen 32bitové ukazatele, takže víc jak 4GB nenaadresuje (možná přes nějaké fígle, ve Windows je nějaká funkce, která dokáže pro proces alokovat kýbl paměti a pak se to další funkcí dá přepínat, aby se to vešlo do 32bit ukazatelů). A nejde jen o fyzickou paměť, ale i virtuální. Víte, jak je pohodlné zavolat mmap() či CreateFileMaping() na soubor a zacházet s ním jako s ukazatelem? Systém se pak už o vše postará za vás.
>> k tomu assembleru
Např. SSE2 instrukce jsou pořád stále stejně velké. Jen při použití "nových" registrů (xmm8-15) se zvětší o 1B.
V "normálních" instrukcí se většinou používají 32bit adresy a dochází k relativnímu adresování vzhledem k RIP (což je registr ukazující na instrukci za aktuální). Jediná instrukce, kde se dá použít 64bit adresa jako imm je "mov".
Berte taky v úvahu, že díky tomu, že všechny x86_64 procesory podporují SSE2, tak je mnohem lepší možnost optimalizace než pro x86, kde na nějaké 386 sse2 není a např. u debianu je to i386 balíčky prolezlý od shora dolů.
Petr Krčmář pracuje jako šéfredaktor serveru Root.cz. GNU/Linuxem a Unixem obecně se zabývá již více než deset let a věnuje se především jeho nasazení v počítačových sítích a bezpečnostní politice. Zde bloguje o Root.cz, Linuxu, internetu a světě kolem sebe.
Přečteno 113 686×
Přečteno 90 239×
Přečteno 73 647×
Přečteno 58 363×
Přečteno 54 591×