64 bitový procesor
64 bitový procesor (CPU — Central Processing Unit) je centrální jednotka
počítače s interními registry, které dokáží uchovat a zpracovat
jednotlivé údaje (celá čísla, adresy v paměti, ...) až do délky
64 bitů. První mikroprocesor vůbec
byl 4 bitový (Intel 4004), ale brzy
byl nahrazen 8 bitovou verzí (Intel
8008). 8 bitové procesory se staly
velice populární. Objevila se řada modelů (Intel 8080, Zilog Z80,
Motorola 6800, MOS Technology 6502, ...), pohánějící první
skutečně osobní počítače. V honbě za stále větším výpočetním
výkonem a schopností pracovat s větší pamětí se objevily
16 bitové a později 32 bitové procesory, některé vytvořené jako
rozšíření stávajících architektur, jiné navržené zcela nově přímo
jako 16 nebo dokonce 32 bitové.
Neustále rostoucí potřeba paměti, přesahující limit 4 GB 32 bitových
procesorů (2^32 = 4G), vedla k návrhu 64 bitových procesorů. A obdobně některé z nich
vznikly jako přirozené rozšíření existujících 32 bitových architektur, jiné byly nově navrženy
přímo jako 64 bitové.
Ale procesorové architektury mají těžký život. Buď rychle
uspějí a stanou se široce populární nebo brzy zahynou. Dnes
dominují pouze dvě architektury — Intel
x86-64 a ARM v7/v8. Dohnat se je snaží ještě procesory
architektury MISP, které se dříve jako úplně první mohly pyšnit
64 bitovou variantou. Všechny tři
architektury jsou k dispozici v 64 bitové variantě a všechny vznikly evolucí
předcházející 32 bitové verze, takže
mohou spouštět 32 bitové i
64 bitové programy.
64 bitový operační
systém
64 bitový operační systém
potřebuje k běhu 64 bitový CPU. Jistě
je možné vytvořit čistě 64 bitový
operační systém, provozující čistě 64 bitové aplikace, ale zřejmě je zhola nemožné s
takovým systémem uspět na trhu. Lidé potřebují spouštět existující
32 bitové aplikace, takže zachování
zpětné kompatibility je klíčové.
Aby byla zachována zpětná kompatibilita, musí ji
podporovat hardware (CPU) a také software (operační systém). A
všichni hlavní hráči tak činí (x64 a ARM, Windows a
Android).
64 bitový procesor může
spouštět 32 bitový i 64 bitový operační systém a aplikace. Pokud
pracuje 32 bitový OS, celý systém
pracuje čistě 32 bitově, včetně
limitů adresování paměti. Není možné použít jedinou 64 bitovou část kódu, 64 bitové aplikace nepracují.
Pokud na 64 bitovém
procesoru pracuje 64 bitový
operační systém, je možné spouštět 32 bitové i 64 bitové aplikace. Takže 64 bitové verze Windows dovoluje spouštět
32 bitovou i 64 bitovou verzi SIPS bez jakýchkoliv
problémů.
Ale je zde jedno důležité omezení. Není možné míchat
32 bitový a 64 bitový kód v rámci jednoho procesu. Každý
proces je buď kompletně 32 bitový
nebo kompletně 64 bitový, včetně
všech DLL, ovladačů a dalších komponent. To samé platí pro jádro
operačního systému — pokud je 64 bitové, všechny systémové ovladače musí být
také 64 bitové. Podobně
ovladače v uživatelské aplikaci (např. ASCOM ovladače kamery)
musí být 32 bitové pokud je
aplikace 32 bitová
(připomínáme — většina aplikací je stále
32 bitová), i pokud aplikace
pracuje na 64 bit procesoru a
operačním systému.
Skutečnost, že 32 bitový a
64 bitový kód nemůže být smíchán a
64 bitový program je vždy nově
přeložen (a upraven), dovoluje provést změny v instrukční sadě
procesorů. Obě firmy (AMD s x86-64 i ARM s v8) této možnosti
využily a v novém 64 bitovém módu
dané architektury rozšířily. x64 poněkud přeorganizovala sadu
registrů, aby byla symetričtější, a především zdvojnásobila jejich
počet (z 8 na 16). ARM podobně odstranil podmíněné vykonávání
všech instrukcí a ušetřené místo v instrukčním slově využil k
adresování dvojnásobného počtu registrů (32 namísto 16). Bez
nadsázky tak lze říci, že 64 bitová
ARM v8 je zcela nová architektura vzdáleně připomínající
32 bitovou ARM v7 (podobně jako
16 bitový Intel 8086 vzdáleně
připomínal 8 bitový Intel 8080).
|