x86内存架构介绍

内存架构是硬件架构中最复杂的部分。理解了内存架构,就理解了现代操作系统的大部分内容。

地址空间:很多教科书把内存比作一个大数组,地址就是这个数组的索引。地址空间则是个更大的数组,它是所有可用资源的集合,同样地址是这个数组的索引。地址空间可以划分以下两种类型。

1、物理地址空间

硬件平台可以粗略地划分成3个部分:cpu、内存、和其他硬件设备。其中CPU是平台的主导者,从cpu的角度看,内存和其他硬件设备都是可以使用的资源。这些资源组和在一起,分布在CPU的物理地址空间内,如同名字的暗示,CPU使用物理地址索引这些资源。物理地址空间的大小,由CPU实现的物理地址位数所决定,物理地址位数和CPU处理数据的能力没有必然联系。例如16位的8086CPU具有20位地址空间。

前面提到,内存和其他硬件设备分布在物理地址空间内。用一个例子可以很容易说明。假设一个平台cpu的物理地址空间为4GB,有512M内存,其他硬件设备的IO寄存器被映射到512M的IO地址内。512M内存和IO地址只占用物理地址空间的一部分,还有大部分处于空闲。数组再次显示了它的作用,只有一个4GB大小的数组,其中的1GB的元素具有有效值512M内存和512M 的IO地址。其他元素不存在。

2、线性地址空间

一个平台只有一个物理地址空间,但每个程序都认为自己独享了整个平台的硬件资源,为了让多个程序能够有效地相互隔离和使用物理地址空间的资源,线性地址空间的概念被引入了。和物理地址空间一样,线性地址空间的大小取决于CPU实现的线性地址位数,例如实现了32位线性地址空间的CPU具有4GB大小的线性地址空间。需要注意的是,线性地址空间的大小和物理地址空间的大小没有必然的联系。例如,intel的PAE平台具有4GB的线性地址空间,64G的物理地址空间

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值