Dlouhý režim - Long mode

V architektuře počítače x86-64 je dlouhý režim režim, ve kterém má 64bitový operační systém přístup k 64bitovým instrukcím a registrům . 64bitové programy jsou spuštěny v dílčím režimu nazývaném 64bitový režim, zatímco 32bitové programy a 16bitové programy v chráněném režimu jsou prováděny v dílčím režimu, který se nazývá režim kompatibility. Programy v reálném režimu nebo virtuální režim 8086 nelze nativně spouštět v dlouhém režimu.

Přehled

Procesor x86-64 funguje shodně jako procesor IA-32, když běží v reálném režimu nebo chráněném režimu, což jsou podporované dílčí režimy, když procesor není v dlouhém režimu.

Trochu v poli rozšířených atributů CPUID informuje programy ve skutečných nebo chráněných režimech, pokud může procesor přejít do dlouhého režimu, což umožňuje programu detekovat procesor x86-64. To je podobné bitům atributů CPUID, které procesory Intel IA-64 umožňují programům detekovat, zda běží pod emulací IA-32.

V počítači se starším systémem BIOS běží BIOS a zavaděč v reálném režimu , pak jádro 64bitového operačního systému zkontroluje a přepne procesor do dlouhého režimu a poté spustí nová vlákna režimu jádra se 64bitovým kódem. V počítači s UEFI běží firmware UEFI (kromě CSM a starší volitelné ROM ), zavaděč UEFI a jádro operačního systému UEFI v režimu Long.

Omezení paměti

Zatímco velikosti registrů se oproti předchozí architektuře x86 zvýšily na 64 bitů , adresování paměti ještě nebylo zvýšeno na celých 64 bitů. Prozatím je nepraktické vybavit počítače dostatečnou pamětí, která by vyžadovala celých 64 bitů. Dokud to tak bude, lze jednotky načítání/ukládání, mezipaměti , MMU a TLB zjednodušit bez ztráty použitelné paměti. Navzdory tomuto omezení je software naprogramován pomocí plných 64bitových ukazatelů , a proto bude moci využívat postupně větší adresní prostory, protože budou podporovány budoucími procesory a operačními systémy.

Aktuální limity

První CPU implementující architekturu x86-64, konkrétně procesory AMD Athlon 64 / Opteron (K8), měly 48bitové virtuální a 40bitové fyzické adresování .

Prostor virtuálních adres těchto procesorů je rozdělen do dvou 47bitových oblastí, z nichž jedna začíná na nejnižší možné adrese a druhá se rozprostírá od největší. Pokus o použití adres mimo tento rozsah způsobí obecnou poruchu ochrany .

Limit fyzického adresování omezuje, kolik počítače může mít k instalované paměti RAM přístup. Na víceprocesorovém systému ccNUMA (Opteron) to zahrnuje paměť, která je nainstalována ve vzdálených uzlech, protože CPU mohou přímo adresovat (a ukládat do mezipaměti) veškerou paměť bez ohledu na to, zda je na domovském uzlu nebo vzdáleném. Limit 1  TB (40bitový) pro fyzickou paměť pro K8 je podle běžných standardů osobních počítačů obrovský, ale mohl být omezením pro použití v superpočítačích. V důsledku toho mikroarchitektura K10 (nebo „10h“) implementuje 48bitové fyzické adresy, a tak může adresovat až 256  TB RAM.

V případě potřeby lze mikroarchitekturu krok za krokem rozšířit bez vedlejších účinků softwaru a současně ušetřit náklady s její implementací. Pro budoucí rozšíření podporuje architektura rozšíření virtuálního adresního prostoru na 64 bitů a adresování fyzické paměti na 52 bitů (omezeno formátem záznamu tabulky stránek ). To by procesoru umožnilo adresovat 2 64 bytů (16 exabajtů ) virtuálního adresního prostoru a 2 52 bytů (4 petabajty ) fyzického adresního prostoru.

Viz také

Reference

externí odkazy