DRAM Address Mapping/Decoding(内存地址解码)

内存地址解码,即DRAM Address Mapping,是从64bit内存物理地址到Dram地址的映射过程,涉及socket、ctrl、chl等多个层面。这一复杂的映射在BIOS的内存初始化阶段完成,对不同主板和CPU具有独特性。开发人员可通过正向开发调用API、逆向开发理解原理或获取样品数据来了解这一过程。
摘要由CSDN通过智能技术生成

定义:所谓内存地址解码,也可以称作Dram地址的解码,DRAM Address Mapping(多通道卡槽定位和颗粒定位)

解释:是指从64bit的内存物理地址(比如,0x12345678234)到Dram地址(socket/ctrl/chl/dimm/rank/chip/group/bank/row/col)的映射关系的过程。

KEY: How physical addresses map to rows and banks in DRAM

内存地址解码的过程是一个十分复杂的过程,对于intel平台来说,

这部分MRC代码是BIOS在内存初始化阶段就执行完成的,我们作为UEFI应用开发者

无法知晓这其中的具体实现过程,除非我们有具体某个主板的BIOS源码进行分析。

而且不同的消费端的主板和服务器端的主板,二者的区别是巨大的,不可套用,消费级的主板只有4个卡槽,但是服务器的主板有很多卡槽,比如16个、24个、32个等等,映射复杂度不可同日而语。

就算不考虑服务器主板,只考虑消费级主板的内存映射,

开发人员需要的工作量也是巨量的,因为4个卡槽不同的状态,内存控制器对内存地址的编址是不一样的,比如:

A1 A2插2个8GB的内存条和A1 B1插2个8GB的内存条, 这2中情况的内存地址映射是不同的。

比如A1插8GB的内存条, B1插16GB的内存条,这种不对称插法又是另外的映射方式。

挖掘这个MAPPING的办法分为3种。

第一种:正向开发。

直接调用主板的BIOS的关于

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值