This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

C6678 地址扩展疑问



大家好:

我学习 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的物理空间?

  • 有了新的认识:
    针对 内部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,永远变不了。
  • 你的理解是对的, 然后实际上前2G的空间也是可以映射DDR的,比如hyper link空间的那一段,大家都会这么干.