x86-64

Z Wikipedie, otevřené encyklopedie
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. Hlavní výhodou nastupujícího 64bitového režimu je odstranění limitu přímé dostupnosti paměti nad 4 GiB operační paměti RAM. Procesory jsou obdobně jako předchozí generace realizovány interně jako RISCová architektura emulující pomocí mikrokódu architekturu CISC.

Obsah

Vlastnosti [editovat]

V novém 64bitovém režimu jsou použity strojové instrukce, které pracují se 64bitovou adresou, takže je teoreticky možné využívat až 264 operační paměti RAM, avšak reálně procesor podporuje 248 = 256 TB.

Vývoj [editovat]

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] 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ů).[2][3] 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,[4] zatímco Intel používá u svých procesorů označení EM64T a IA-32E[5] a VIA „64-bit processors in VIA's x86 platform“.[6] Microsoft technologii nazývá „64-bit extended systems“ nebo x64.[5]

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

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.

Operační módy [editovat]

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

Reference [editovat]

  1. Advanced Micro Devices: AMD Releases x86-64 Architectural Specification; Enables Market Driven Migration to 64-Bit Computing, tisková zpráva, August 10, 2000, [cit. 2007-08-03], Dostupné on-line.
  2. Andi Kleen. Porting Linux to x86-64 [online]. 2001-06-26. Dostupné online.  
  3. Andi Kleen. Andi Kleen's Page [online]. . Dostupné online.  
  4. http://alioth.debian.org/docman/view.php/30192/21/debian-amd64-howto.html – The Debian GNU/Linux AMD64 HOW-TO
  5. a b http://blogs.msdn.com/b/junfeng/archive/2004/08/11/212534.aspx – AMD64? X86-64? EM64T? X64? Anymore?
  6. VIA. VIA Nano™ Processor [online]. VIA, [cit. 2010-11-09]. Dostupné online. (anglicky) 

Externí odkazy [editovat]