大家好:
我学习 C6678地址扩展后的理解:
1、本地地址32为,共计4G空间;
2、扩展后的 物理地址,36为,共计64G空间;
3、经过扩展,相当于是把 本地连续的4G空间,扩展到 外部64G空间中 ,多个块组成的 不连续空间。物理空间64G中,能够被访问的还是最多4G空间。
实际并不能够配置8G的外部存储器,是吗?
上述理解是否有误?请指正!
如果上述理解有误,可以配置多余4G的存储器,比如说
内部2G地址空间 8000 0000 – FFFF FFFF 可以正常扩展到 8:0000 0000 – 8:7FFF FFFF,都是2G,可以理解接受
但是,
内部2G地址空间 8000 0000 – FFFF FFFF 如何扩展到 4G的物理空间?
hongkun ma:
有了新的认识:
针对 内部2G地址空间 8000 0000 – FFFF FFFF,
1、在同一个时刻,不管映射到哪个地址段,空间大小上,确实只能够映射到外部的2G空间;不可能超过2G;
2、但是,在不同时刻,可以修改 映射寄存器,实现内部地址 8000 0000 – FFFF FFFF,映射到外部不同地址的功能;
3、也就是说,外部扩展8G的话,把这8G分成4段,每段2G;然后 ,需要访问8G的 第1段2G,则,配置射寄存器,把 内部2G地址空间 8000 0000 – FFFF FFFF,映射到这个第1段2G;需要访问8G的 第2段2G,则,重新配置射寄存器,把 内部2G地址空间 8000 0000 – FFFF FFFF,映射到这个第2段2G;需要访问8G的 第3段2G,则,重新配置射寄存器;需要访问8G的 第4段2G,则,重新配置射寄存器;这里的扩展是 物理空间的扩展,所以资料上的描述 物理地址 还是有道理的。
逻辑地址空间,只能是32位的,4G,永远变不了。
Ryan BL:
回复 hongkun ma:
你的理解是对的, 然后实际上前2G的空间也是可以映射DDR的,比如hyper link空间的那一段,大家都会这么干.