intel架构地址空间
Intel架构中的程序访问计算机资源时使用了四种物理地址空间,如图1所示。
图1 Intel CPU使用的四个物理地址空间。Registers和MSRs在CPU内部,而存储器与I/O地址空间则通过系统总线与内存或者其他设备进行交流
寄存器空间由用于访问CPU的寄存器文件名称组成,这是唯一以CPU的时钟频率运行的存储器,并且在使用时没有任何延迟损失。 寄存器空间是由CPU的架构定义,并记录在 SDM。
一些寄存器,例如控制寄存器(CR) 在配置CPU的操作中扮演特定的角色。 例如,CR3在地址转换中起着核心作用。 这些寄存器只能由系统软件访问。 其余的寄存器组成一个应用程序的执行上下文,本质上是一个高速暂存空间。 这些寄存器可以在所有特权级别进行访问,并且它们的分配是由软件的编译器管理。 许多CPU指令仅对寄存器中的数据进行操作,并且只能将他们的结果在寄存器中。
存储器空间(memory address),一般称为地址空间或物理地址空间,由2^36 (64 GB)—2^40(1 TB)个地址组成。 存储器空间主要用于访问DRAM,但也用于与存储器空间映射的设备(从系统总线读取存储器请求并写入回复CPU)通信 。 一些CPU指令可以从存储器空间中读取其输入