Intel x86服务器架构中的memory访问之旅

本文探讨了Intel X86服务器架构中内存访问的过程,涉及分段机制、分页、SAD、TAD和RIR等步骤,详细阐述了逻辑地址如何转换为物理地址,并在多CPU系统中定位数据存储位置。
摘要由CSDN通过智能技术生成

在计算机系统中,CPU只负责执行指令,它执行的指令是从内存中取出来的,而内存中的内容又是从硬盘中读取出来的。最古老的计算机简单说起来就是这样的,随着技术的不断发展,得益于一些新技术的实施,计算机的性能不断提高,这些新技术,有得着眼于减小内存的访问延迟,有的用于提高内存的吞吐量,而有一些则是采用了更快的内存技术,类似于这样的技术不胜枚举,每一方面都值得深究,都能花上一个月的时间去好好学习。最近学习了相关的知识,在这里做个记录,如果有误,还请指教。

以intel X86服务器架构中的memory系统来说,CPU发出的指令在访问数据的时候,最完整的情况包括如下几点:

  1. 分段机制。保护模式下,CPU希望访问的数据都是如下格式: ds:0xabcd,这里的ds还可能是其他的段选择子,而后面的0xabcd则是表示偏移量,可以是立即数,也可以是某个寄存器。这种格式的地址称作逻辑地址,特点是有段选择子。这里首先需要把“段基址:偏移量”这种格式的逻辑地址转换成线性地址。
  2. 分页机制。通过第一步的线性地址的转换,地址中已经没有段选择子了,这时候需要把线性地址转换成物理地址。
  3. SAD(system address decode)。在服务器中,经常会有多个CPU,少则2个,多则8个,每个CPU中都有memory controller,后面接的DIMM。希望访问的数据到底在哪根DIMM中呢?这根DIMM是在哪个CPU后面呢?从大到小一步一步来找,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值