x86-64

Z Wikipedie, otevřené encyklopedie
(Přesměrováno z AMD64)
Skočit na: Navigace, Hledání

x86-64 (též AMD64, EM64T, IA-32E) je v informatice označení generace 64bitových procesorů pro počítače IBM PC kompatibilní. Procesor je zpětně kompatibilní s 32bitovou (viz IA-32) a 16bitovou architekturou (viz x86), a proto se na IBM PC prosadil. Procesory jsou obdobně jako předchozí generace realizovány interně jako RISCová architektura emulující pomocí mikrokódu architekturu CISC.

Obsah

[editovat] Vývoj

Architektura AMD64 byla vyvinuta společností AMD jako alternativa k radikálně odlišné architektuře IA-64, kterou se snažila prosadit dvojice Intel a Hewlett-Packard.[1][2] AMD64 byl evoluční krok CISC architektury podobný nástupu 32bitové architektury IA-32 na rozdíl od architektury IA-64 (procesor Itanium), která byla pokusem o prosazení nové zpětně nekompatibilní 64bitové architektury typu RISC. Jako první bylo na novou architekturu adaptováno jádro Linuxu v roce 2001 (ještě před fyzickou dostupností procesorů).[3][4] Jako první byl s podporou x86-64 v roce 2003 na trh uveden procesor Opteron. Původní označení x86-64 bylo společností AMD změněno na AMD64,[5] zatímco Intel používá u svých procesorů označení EM64T a IA-32E[6] a VIA „64-bit processors in VIA's x86 platform“.[7] Microsoft technologii nazývá „64-bit extended systems“ nebo x64.[6]

[editovat] Základní rozšíření

Kvůli zpětné kompatibilitě je rozšíření realizováno jako další módy procesoru. K reálnému, chráněnému a V86 módu i386, nyní zvanými 'Legacy' (zděděné) módy, přibyly dva 'Long' (dlouhé) módy: '64bitový' a 'kompatibilní'. Procesor je možné provozovat buď s 32bitovým jádrem operačního systému (kterým může být i systém určený pro i386) v Legacy módech, nebo s 64bitovým jádrem v Long módech - jádro potom běží v 64bitovém módu a aplikace v 64bitovém nebo v kompatibilním.

Většina vylepšení architektury se týká pouze 64bitového módu, menšina i kompatibilního. Legacy módy nemají žádné vylepšení (na rozdíl od i386, kde byl vylepšen i starý reálný mód).

  • Plná podpora 64bitových celých čísel - veškeré aritmetické i logické operace se provádí v 64bitech.
  • Rozšíření registrů - registry byly rozšířeny na 64bitů (stále je přístupná 32bitová, 16bitová a 8bitová část).
  • Rozšíření počtu registrů - k původní sadě 8 'general-purpose' registrů přibylo dalších 8. To umožňuje držet více lokálních proměnných v registrech a tedy významně zrychluje aplikace. 16 registrů je ovšem stále málo v porovnání s RISCovými stroji. Zdvojnásoben z 8 na 16 byl i počet XMM registrů.
  • Rozšíření virtuálního adresového prostoru - současné implementace AMD64 mohou adresovat 256 terabyte (248), v budoucnu bude možné to rozšířit na 16 exabyte (264). Pointerová aritmetika běží v 64bitech, omezení je dáno metodou překladu virtuálních adres na fyzické.
  • Rozšíření fyzického adresového prostoru - současné implementace AMD64 mohou adresovat 1 terabyte (240) RAM, architektura povoluje rozšíření na 4 petabyte (252). V legacy módech je podporováno PAE (rozšíření fyzických adres), stejně jako na moderních procesorech architektury i386, umožňující přístup k 64 gigabyte.
  • Adresace relativní k ukazateli instrukce - adresace relativní k RIP zvyšuje efektivitu kódu nezávislého na pozici používaného ve sdílených knihovnách.
  • SSE instrukce - součástí architektury je povinná implementace rozšíření procesorů i386 SSE a SSE2 pro výpočty v pohyblivé řádové čárce. Podpora SSE3 byla přidána dodatečně.
  • Bit No-eXecute (nespustitelné) - stránku paměti je bitem NX možné označit jako obsahující pouze data a zabránit tak spuštění kódu z dané stránky. Tato vlastnost umožňuje chránit systém před většinou buffer overrun (přetečení bufferu) chyb, které se často zneužívají k útoku.
  • Odstranění starších vlastností - v Long módech procesor nepodporuje některé méně používané vlastnosti i386, jako je segmentace (částečně stále fungují registry FS a GS), TSS nebo v86.

[editovat] Operační módy

Režim procesoru Potřebný operační systém Nutno znovu přeložit stávající programy Výchozí velikost adresy Výchozí velikost operandu Je k dispozici 64bitové rozšíření registrů Typická šířka registru
Nové režimy 64bitový Long 64bitový OS ano 64 32 ano 64
Režim kompatibility ne 32 32 ne 32
16 16 16
Dosavadní režimy Chráněný režim Klasický 16 nebo 32bitový OS ne 32 32 ne 32
16 16 16
Virtuální 8086 režim 16 16 16
Reálný režim Klasický 16bitový OS

[editovat] Reference

  1. {{{publisher}}}: {{{title}}}, tisková zpráva, [cit. {{{accessdate}}}], Dostupné on-line.
  2. http://www.highbeam.com/doc/1G1-63991773.html – Dočasný odkaz na oznámení společností AMD o specifikaci pro x86-64 (nefunkční odkaz na amd.com)
  3. Andi Kleen. Porting Linux to x86-64 [online]. 2001-06-26. Dostupné online.  
  4. Andi Kleen. Andi Kleen's Page [online]. . Dostupné online.  
  5. http://alioth.debian.org/docman/view.php/30192/21/debian-amd64-howto.html – The Debian GNU/Linux AMD64 HOW-TO
  6. a b http://blogs.msdn.com/b/junfeng/archive/2004/08/11/212534.aspx – AMD64? X86-64? EM64T? X64? Anymore?
  7. VIA. VIA Nano™ Processor [online]. VIA, [cit. 2010-11-09]. Dostupné online. (anglicky) 
Osobní nástroje
Jmenné prostory

Varianty
Akce
Navigace
Tisk/export
Nástroje
V jiných jazycích