Array ( [0] => 15487970 [id] => 15487970 [1] => cswiki [site] => cswiki [2] => X86-64 [uri] => X86-64 [3] => AMD Opteron 146 Venus, 2005.jpg [img] => AMD Opteron 146 Venus, 2005.jpg [4] => [day_avg] => [5] => [day_diff] => [6] => [day_last] => [7] => [day_prev_last] => [8] => [oai] => [9] => [is_good] => [10] => [object_type] => [11] => 1 [has_content] => 1 [12] => [oai_cs_optimisticky] => ) Array ( [0] => {{DISPLAYTITLE:x86-64}} [1] => '''x86-64''' (též '''AMD64''', '''EM64T''', '''IA-32E''') je v [[Informatika|informatice]] označení generace [[64bitový]]ch [[mikroprocesor|procesorů]] pro [[počítač]]e [[IBM PC kompatibilní]]. Procesor je [[zpětná kompatibilita|zpětně kompatibilní]] s [[32bitový|32bitovou]] (viz [[IA-32]]) a [[16bitový|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 [[Bajt|GiB]] [[Operační paměť|operační paměti]] [[RAM]], podpora [[NX bit]]u a vyšší rychlost zpracování 64bitových operací. Procesory jsou obdobně jako předchozí generace realizovány interně jako [[RISC]]ová architektura emulující pomocí mikrokódu architekturu [[CISC]]. [2] => [3] => == Vlastnosti == [4] => V novém 64bitovém režimu jsou použity [[Strojová instrukce|strojové instrukce]], které pracují se 64bitovou adresou, takže je teoreticky možné využívat až 264 [[bajt]]ů [[Operační paměť|operační paměti]] [[RAM]], avšak reálně procesor podporuje 248 bajtů = 256 TB. Kvůli prodloužení operandů strojových instrukcí z 32bitových na 64bitové došlo k tzv. zřídnutí kódu (stejný strojový kód je v 64bitové variantě delší, než v 32bitové), a proto jsou nároky na dostupnou [[operační paměť]] u 64bitového systému vyšší, než kdyby byl použit stejný 32bitový operační systém (v systému [[Windows 7]] jsou minimální požadavky 1 GB pro 32bitový systém a 2 GB RAM pro 64bitový systém).{{Citace monografie [5] => | titul = Požadavky na systém Windows 7 [6] => | url = http://windows.microsoft.com/cs-cz/windows7/products/system-requirements [7] => }} [8] => [9] => === 64bitový režim === [10] => Je-li na počítači s 64bitovým procesorem (x86-64) spuštěn 64bitový [[operační systém]], je možné přímo spouštět [[64bitový|64bitové]] i [[32bitový|32bitové]] aplikace v [[Chráněný režim|chráněném režimu]]. Dále je možné spouštět [[16bitový|16bitové]] aplikace v [[Chráněný režim|chráněném režimu]] procesoru [[Intel 80286]], avšak nelze spouštět 16bitové aplikace v reálném režimu procesoru [[Intel 8086]]. [11] => [12] => V 64bitových [[Windows NT]] (např. [[Windows 7]] nebo [[Windows 10]]) však subsystém [[Virtual DOS machine|NTVDM]] nepodporuje běh 16bitových aplikací v chráněném režimu procesoru Intel 80286, takže je nelze spustit, i když hardwarové omezení pro to není. Omezení lze obejít pomocí virtualizace (spuštění virtualizovaného 32bitového nebo 16bitového systému a uvnitř něj pak požadované aplikace). [13] => [14] => V 64bitovém systému [[Linux]] lze 16bitové aplikace v chráněném režimu procesoru Intel 80286 spouštět bez omezení pomocí [[Wine]]. [15] => [16] => === 32bitový režim === [17] => Je-li na počítači se 64bitovým procesorem použit 32bitový systém, není možné spouštět 64bitové aplikace, ale je možné spouštět 16bitové aplikace jak v chráněném režimu procesoru Intel 80286, tak v reálném režimu procesoru Intel 8086. [18] => [19] => === 16bitový režim === [20] => Na počítači s 64bitovým procesorem (x86-64) lze spustit 16bitový systém v reálném režimu (např. operační systém [[DOS]]), avšak pak nelze přímo spustit ani 32bitové ani 64bitové aplikace. Protože však v reálném 16bitovém režimu neexistuje žádná ochrana a žádná omezení (chybí [[privilegovaný režim]]), může si kterákoliv aplikace přepnout procesor do 32bitového nebo 64bitového režimu (jak to dělá např. [[DJGPP]] pro využití [[DPMI]]). Návrat zpět pak nemusí být bez restartu počítače možný. [21] => [22] => == Vývoj == [23] => Architektura AMD64 byla ohlášena roku 1999 společností [[Advanced Micro Devices|AMD]] a plně specifikována v srpnu 2000 jako alternativa k radikálně odlišné architektuře [[IA-64]], kterou se snažila prosadit dvojice [[Intel]] a [[Hewlett-Packard]].{{cite press release [24] => | title = AMD Releases x86-64 Architectural Specification; Enables Market Driven Migration to 64-Bit Computing [25] => | publisher = Advanced Micro Devices| [26] => | year = August 10, 2000 [27] => | url = http://www.amd.com/us/press-releases/Pages/Press_Release_715.aspx [28] => | accessdate = 2007-08-03 [29] => }} AMD64 byl evoluční krok [[CISC]] architektury podobný nástupu [[32bitový|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 [[Linux (jádro)|jádro Linuxu]] v roce 2001 (ještě před fyzickou dostupností procesorů).{{Citace elektronické monografie | titul=Porting Linux to x86-64 | autor=Andi Kleen | url=http://www.x86-64.org/pipermail/announce/2001-June/000020.html | datum=2001-06-26 | quote=Status: The kernel, compiler, tool chain work. The kernel boots and work on simulator and is used for porting of userland and running programs | postscript= | datum přístupu=2010-11-09 | url archivu=https://web.archive.org/web/20100910014057/http://www.x86-64.org/pipermail/announce/2001-June/000020.html | datum archivace=2010-09-10 | nedostupné=ano }}{{Citace elektronické monografie | url=http://www.halobates.de/ | titul= Andi Kleen's Page | autor=Andi Kleen |quote=This was the original paper describing the Linux x86-64 kernel port back when x86-64 was only available on simulators. |postscript=}} 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,{{Citace elektronického periodika |titul=– The Debian GNU/Linux AMD64 HOW-TO |url=http://alioth.debian.org/docman/view.php/30192/21/debian-amd64-howto.html |datum přístupu=2010-11-09 |url archivu=https://web.archive.org/web/20101113015250/http://alioth.debian.org/docman/view.php/30192/21/debian-amd64-howto.html |datum archivace=2010-11-13 |nedostupné=ano }} zatímco Intel používá u svých procesorů označení EM64T a IA-32E[http://blogs.msdn.com/b/junfeng/archive/2004/08/11/212534.aspx – AMD64? X86-64? EM64T? X64? Anymore?] a VIA „64-bit processors in VIA's x86 platform“.{{Citace elektronické monografie [30] => |autor = VIA [31] => |titul = VIA Nano™ Processor [32] => |url = http://www.via.com.tw/en/products/processors/nano/ [33] => |datum vydání = [34] => |datum přístupu = 2010-11-09 [35] => |vydavatel = VIA [36] => |jazyk = anglicky [37] => |url archivu = https://web.archive.org/web/20080530071601/http://www.via.com.tw/en/products/processors/nano/ [38] => |datum archivace = 2008-05-30 [39] => |nedostupné = ano [40] => }} Microsoft technologii nazývá „64-bit extended systems“ nebo x64. [41] => [42] => == Základní rozšíření == [43] => Kvůli [[Zpětná kompatibilita|zpětné kompatibilitě]] je rozšíření realizováno jako další režimy procesoru. K [[Reálný režim|reálnému]], [[Chráněný režim|chráněnému]] a [[Virtual 8086 mode|V86 režimu]] [[IA-32|i386]], nyní zvanými „Legacy“ (zděděný) režim, přibyly dva „Long“ (dlouhé) režimy: ''64bitový'' a ''kompatibilní''. Procesor je možné provozovat buď s 32bitovým [[Jádro operačního systému|jádrem]] [[operační systém|operačního systému]] (kterým může být i systém určený pro i386) v Legacy režimech, nebo s 64bitovým jádrem v Long režimu – jádro potom běží v 64bitovém režimu a aplikace v 64bitovém nebo v kompatibilním režimu. [44] => [45] => Většina vylepšení architektury se týká pouze 64bitového režimu, menšina i kompatibilního. Legacy režimy nemají žádné vylepšení (na rozdíl od i386, kde byl vylepšen i starý reálný režim). [46] => [47] => * '''Plná podpora 64bitových celých čísel''' – veškeré aritmetické i logické operace se provádí v 64 bitech. [48] => * '''Rozšíření registrů''' – [[Registr procesoru|registry]] byly rozšířeny na 64 bitů (stále je přístupná 32bitová, 16bitová a 8bitová část). [49] => * '''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 [[RISC]]ovými stroji. Zdvojnásoben z 8 na 16 byl i počet XMM registrů. [50] => * '''Rozšíření virtuálního adresového prostoru''' – současné implementace AMD64 mohou adresovat 256 [[Bajt|TiB]] (248), v budoucnu bude možné rozšířit na 16 [[Bajt|EiB]] (264). Pointerová aritmetika běží v 64 bitech, omezení je dáno metodou překladu virtuálních adres na fyzické. [51] => * '''Rozšíření fyzického adresového prostoru''' – původní implementace AMD64 mohla adresovat maximálně 1 [[Bajt|TiB]] (240) RAM; od roku 2007 ([[AMD 10h|AMD K10]]) je používáno 48 bitů, což je adresace maximálně 256 [[Bajt|TiB]]; architektura umožňuje rozšíření až na 4 [[Bajt|PiB]] (252). V legacy režimech je podporováno [[Physical Address Extension|PAE]] (rozšíření fyzických adres), stejně jako na moderních procesorech architektury i386, umožňující přístup k 64 [[Bajt|GiB]]. [52] => * '''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 [[knihovna (programování)|knihovnách]]. [53] => * '''SSE instrukce''' – součástí architektury je povinná implementace rozšíření procesorů [[IA-32|i386]] [[Streaming SIMD Extensions|SSE]] a [[Streaming SIMD Extensions|SSE2]] pro výpočty v pohyblivé řádové čárce. Podpora [[Streaming SIMD Extensions|SSE3]] byla přidána dodatečně. [54] => * '''No-eXecute bit''' – stránku paměti je bitem [[NX bit|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é často zneužívá k útoku [[malware]]. [55] => * '''Odstranění starších vlastností''' – v Long režimu procesor nepodporuje některé méně používané vlastnosti i386, jako je [[segmentace paměti]] (částečně stále fungují registry FS a GS), TSS nebo v86. [56] => [57] => == Operační módy == [58] => {| class="wikitable" [59] => |- bgcolor="#ccccaa" [60] => ! colspan="2" | Režim procesoru [61] => ! Potřebný [[operační systém]] [62] => ! Nutno znovu přeložit stávající programy [63] => ! Výchozí velikost adresy [64] => ! Výchozí velikost operandu [65] => ! Je k dispozici 64bitové rozšíření registrů [66] => ! Typická šířka registru [67] => |- align="center" [68] => | rowspan="3" | Nové režimy [69] => | 64bitový Long [70] => | rowspan="3" | 64bitový OS [71] => | ano [72] => | 64 [73] => | 32 [74] => | ano [75] => | 64 [76] => |- align="center" [77] => | rowspan="2" | Režim kompatibility [78] => | rowspan="2" | ne [79] => | 32 [80] => | 32 [81] => | rowspan="2" | ne [82] => | 32 [83] => |- align="center" [84] => | 16 [85] => | 16 [86] => | 16 [87] => |- align="center" [88] => | rowspan="4" | Dosavadní režimy [89] => | rowspan="2" | Chráněný režim [90] => | rowspan="3" | Klasický 16 nebo 32bitový OS [91] => | rowspan="4" | ne [92] => | 32 [93] => | 32 [94] => | rowspan="4" | ne [95] => | 32 [96] => |- align="center" [97] => | 16 [98] => | 16 [99] => | 16 [100] => |- align="center" [101] => | Virtuální 8086 režim [102] => | rowspan="2" | 16 [103] => | rowspan="2" | 16 [104] => | rowspan="2" | 16 [105] => |- align="center" [106] => | Reálný režim [107] => | Klasický 16bitový OS [108] => |} [109] => [110] => == Podpora operačních systémů == [111] => Následuje popis některých operačních systémů, které podporují architekturu x86-64: [112] => [113] => === DOS === [114] => Je možné provozovat long mód pod [[DOS]]em bez DOS rozšíření, ale uživatel se musí vrátit do normálního módu [[BIOS]] nebo DOS přerušeními. [115] => Je dokonce možné vstoupit do long módu s rozšířením pro DOS podobně jako to dělá [[DOS/4GW]], ale mnohem komplexněji od té doby, co x86-64 nemá virtuální 8086 mód. [116] => [117] => === Linux === [118] => [[Linux]] byl prvním z operačních systémů, který podporoval architekturu x86-64 v long módu. Učinil tak ve své verzi 2.4 z ledna 2001, a to ještě dříve, než byl dostupný x86-64 hardware. Linux ovšem také poskytuje zpětnou kompatibilitu pro spouštění 32bitových programů. [119] => [120] => Několik linuxových distribucí je v současné době dodáváno s nativními x86-64 jádry. Některé, jako například [[Arch Linux]], [[SUSE]], [[Mandriva]] nebo [[Debian]] umožňují uživatelům instalovat 32bitové komponenty a knihovny, které poběží mimo x86-64. Jiné distribuce, například [[Fedora]], [[Slackware]] nebo [[Ubuntu]] jsou dostupné ve verzích pro jak pro 32bitovou architekturu, tak i pro x86-64. Fedora a [[Red Hat Enterprise Linux]] dovolují instalaci všech komponent v obou verzích (32 i 64bitové) na 64bitový systém. [121] => [122] => X32 ABI (Application Binary Interface), které bylo představeno ve verzi 3.4 jádra Linuxu, dovoluje programům kompilovaným pro x32 ABI běžet v 64bitovém módu, když se používají 32bitové ukazatele a datové pole. I když to limituje program k využití 4 GB paměti, také to snižuje nároky na paměť programu a v některých případech to umožní programu běžet rychleji. [123] => [124] => 64bitový Linux dovoluje využít až 128 TB virtuálního adresního prostoru pro jeden proces a umí adresovat téměř 64 TB fyzické paměti (musí se přihlížet k limitům procesoru a systému). [125] => [126] => === OS X === [127] => [[OS X|Mac OS X]] verze 10.4.7 a vyšší verze Mac OS X v10.4 umožňují běh 64bitových utilit příkazového řádku pomocí POSIXu a matematických knihoven na zařízeních s 64bitovými Intel procesory i 64bitovými PowerPC. Žádné jiné knihovny nebo frameworky nepracují s 64bitovými aplikacemi v Mac OS X v10.4. Jádro společně se svými rozšířeními je pouze 32bitové. [128] => [129] => Mac OS X v10.5 podporuje 64bitové grafické aplikace a používá k tomu Cocoa, Quartz, [[OpenGL]] a X11 na zařízeních s 64bitovými [[Intel]] procesory i s 64bitovými [[PowerPC]]. Všechny negrafické knihovny a frameworky také podporují 64bitové verze. Jádro i jeho rozšíření jsou 32bitové. [130] => [131] => Mac OS X v10.6 je první verze OS X, které má 64bitové jádro. Nicméně, ne všechny 64bitové počítače umožňují běh 64bitového jádra, a ne všechny, které to umí, to také implicitně dělají. 64bitové jádro, stejně jako to 32bitové, podporuje běh 32bitových aplikací. Obě jádra také podporují 64bitové aplikace. 32bitové aplikace mají virtuální adresní prostor limitovaný 4 GB pod jádrem. [132] => [133] => OS X v10.7 a vyšší má pouze 64bitové jádro, ale je ponechaná podpora běhu 32bitových aplikací (a to dokonce i pro 64bitové počítače, které v Mac OS X 10.6 mohli používat pouze 32bitové jádro). [134] => [135] => 64bitové jádro nepodporuje 32bitové rozšíření jádra a 32bitové jádro nepodporuje 64bitové rozšíření jádra. Od OS X 10.9 lze používat pouze digitálně podepsaná 64bitová rozšíření jádra. [136] => [137] => === Solaris === [138] => [[Solaris (operační systém)|Solaris]] 10 a pozdější podporují x86-64 architekturu. Solaris 10 (stejně jako architektura SPARC) má pouze jeden obraz operačního systému, který obsahuje 32 i 64bitové jádro. Má název „x64/x86“ DVD-ROM image. Výchozí chování je to, že se nabootuje 64bitové jádro umožňující běh 32 i 64bitových programů. 32bitové jádro může být zvoleno manuálně, ale znamená to, že bude umožněn běh pouze 32bitových aplikací. Příkazem isainfo se zjistí, zda běží 64bitové jádro. [139] => [140] => Solaris 11 už obsahuje pouze 64bitové jádro. Nicméně, 64bitové jádro podporuje 32 i 64bitové programy, knihovny a systémová volání. [141] => [142] => === Windows === [143] => [[Windows XP]] Professional x64 Edition a [[Windows Server 2003]] x64 Edition byly prvními verzemi Windows s podporou 64bitového režimu. Obě tyto edice byly uvolněny v březnu 2005. Obě edice jsou interně stejného buildu (5.2.3790.1830 SP1). Obě sdílejí stejný zdroj a binárky, takže i systémové updaty jsou vydávány v unifikovaných balíčcích.{{doplňte zdroj}} [144] => * [[Windows Vista]], který má mnoho různých edicí, byl vydán v lednu 2007. [145] => * [[Windows 7]] vyšel v červnu 2009. [146] => * [[Windows Server 2008]] ([[Windows Server 2008 R2|R2]]), od R2 dostupné pouze v 64bitových verzích. [147] => * [[Windows Server 2012]] ([[Windows Server 2012 R2|R2]]) [148] => [149] => Windows x64 má tyto charakteristiky: [150] => * 8 TB virtuálního adresního prostoru pro jeden proces (user mode). 64bitový program může využívat 8 TB v plném rozsahu, samozřejmě nehledě na limity systému. 8 TB je 4096× větší, než je poskytováno na 32bitových systémech Windows, tedy pouze 2 GB. [151] => * 8 TB virtuálního adresního prostoru pro jádro. Nárůst je opět 4096× (viz virtuální adresní prostor pro jeden proces). [152] => * Možnost běhu 32bitových aplikací ([[EXE|.exe]]) a dynamických knihoven ([[DLL|.dll]]) s použitím [[WoW64]]. Mimoto, pokud je 32bitový program nalinkován s možností „large address aware“, může použít až 4 GB virtuálního adresního prostoru v 64bitových Windows. [153] => * Pokud nejsou 32 i 64bitové aplikace nalinkovány s možností „large address aware“, jsou limitovány 2 GB virtuálního adresního prostoru. [154] => * Možnost využít fyzickou paměť ([[RAM]]) v těchto rozsazích: 128 GB (Windows XP a Vista), 192 GB (Windows 7), 512 GB ([[Windows 8]]) a 1 TB (Windows Server 2012). [155] => * LLP64: datové typy ''int'' a ''long'' jsou široké 32 bitů, ''long long'' je 64bitový, pokud jsou ukazatele a typy odvozeny od 64bitových ukazatelů. [156] => * Na 64bitových systémech musí být kernel mode ovladače 64bitové. User-mode ovladače mohou být 32bitové. [157] => * 16bitové Windows a aplikace pro DOS neběží na 64bitových verzích Windows kvůli tomu, že byl odstraněn virtual DOS machine subsystém (NTVDM). [158] => * Plná implementace ochrany NX (No Execute) page. To je také implementováno v 32bitových verzích Windows, když jsou spuštěny v PAE módu. [159] => * [[Microsoft Visual Studio]] dokáže kompilovat nativní aplikace pro 64bitovou architekturu. Taková aplikace může být pouze spuštěna na 64bitových Windows nebo na architektuře IA-32, která dokáže spustit 32bitovou aplikaci na 32bitových Windows nebo 64bitových Windows s WoW64 emulačním módem. [160] => [161] => === BSD === [162] => Operační systémy DragonFly BSD, FreeBSD, NetBSD a OpenBSD také podporují 64bitovou architekturu. [163] => [164] => == Reference == [165] => {{Překlad|jazyk=en|článek=x86-64|revize=589777912}} [166] => [167] => [168] => == Externí odkazy == [169] => * Matthew Kerner, Neil Padgett: [http://www.cs.washington.edu/education/courses/csep590/06au/projects/history-64-bit.pdf ''A History of Modern 64-bit Computing''] [170] => [171] => [[Kategorie:Architektura procesoru]] [172] => [[Kategorie:Instrukční sady]] [] => )
good wiki

X86-64

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.

More about us

About

Expert Team

Vivamus eget neque lacus. Pellentesque egauris ex.

Award winning agency

Lorem ipsum, dolor sit amet consectetur elitorceat .

10 Year Exp.

Pellen tesque eget, mauris lorem iupsum neque lacus.

You might be interested in

,'Bajt','IA-32','Streaming SIMD Extensions','32bitový','Chráněný režim','RISC','Windows 7','RAM','operační systém','NX bit','Linux','64bitový'