x86-64處理器架構中,當處於長模式(Long mode)時,64位元應用程式(或者是作業系統)可以使用64位元指令和暫存器,而32位元程式將以一種相容子模式執行。虛擬86模式在長模式下不可用,也就是說,長模式不相容16位元程式。

概述

不在長模式下執行時,處理器支援真實模式保護模式兩個子模式,在這兩個模式下的x86-64處理器與x86-32處理器執行方式完全相同。

CPUID擴充屬性域中的一個位可以令執行在真實模式或者保護模式的程式得知處理器能否轉換到長模式,這使得程式能夠檢測是否使用了x86-64處理器。這類似於Intel IA-64處理器使用CPUID中的一個屬性位來讓程式檢測自己是否執行在IA-32仿真模式下。

主記憶體限制

儘管暫存器的大小與以前的x86架構相比增加到了64位元,但是現時的x86-64電腦不允許尋址到EB級別大小的記憶體(Intel Xeon Scalable平台和AMD EPYC平台最多只支援到TB級別大小的記憶體)。這是現時x86-64 CPU的限制。

參見