不理解内存分页的机制

2019-03-24 09:46发布

本帖最后由 无知的萝卜 于 2015-9-19 14:46 编辑

在TMS320C28x Assembly Language Tools里看到
TMS320C28x devices have separate memory spaces (pages) that occupy the same address ranges
(overlay).

在其他书上也有看到DSP的内存分页,但是不明白,为什么不同的页可以用同样的地址?
比如一个变量a储存在PAGE1的0x000021;
那么另一个变量b也能储存在PAGE2的0x000021吗?
但是在实际的内存中肯定只存在一个唯一一个地址0x000021呀?


此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
无知的萝卜
1楼-- · 2019-03-25 04:12
Aragorn 发表于 2015-9-28 14:02
你看的是哪个文档?

又看了下貌似整个图也不像是给的物理地址 - -  L0SARM之类的有重复 捕获.PNG
今天硬件基础课讲了些内存分段,看了下书后面的分页。目前还不是很清楚,待我再看看
Aragorn
2楼-- · 2019-03-25 09:47
 精彩回答 2  元偷偷看……
无知的萝卜
3楼-- · 2019-03-25 10:47
本帖最后由 无知的萝卜 于 2015-9-28 19:03 编辑
Aragorn 发表于 2015-9-28 16:30
1. 我记得用过一些存储芯片,那是实实在在的分页,因为访问的时候有页指令,但更多碰到的其实就是一个虚拟 ...

谢谢你耐心的回答。刚刚看了下28335_RAM_lnk.cmd里的说明:
  1. /* Define the memory block start/length for the F28335
  2.    PAGE 0 will be used to organize program sections
  3.    PAGE 1 will be used to organize data sections

  4.    Notes:
  5.          Memory blocks on F28335 are uniform (ie same
  6.          physical memory) in both PAGE 0 and PAGE 1.
  7.          That is the same memory region should not be
  8.          defined for both PAGE 0 and PAGE 1.
  9.          Doing so will result in corruption of program
  10.          and/or data.*/
复制代码 That is the same memory region should not be
         defined for both PAGE 0 and PAGE 1.

所以PAGE0和PAGE1的地址是不能重合的。
感觉和分页书上的内存分段有些不同,书上的涉及到虚拟内存,从CMD看得出来PAGE0和PAGE1全都是实际的物理地址。目前仅了解这些。
再次感谢你耐心的回答

一周热门 更多>

相关问题

    相关文章