现在主要的问题是对 ”地址空间“ 这个概念不太理解,觉得很抽象,举几个例子,希望各位朋友能给出详细一点的解释(本人比较笨),十分感谢!
1,M3的地址空间是4GB,里面分为” 代码区(0.5GB)、SRAM(0.5GB)、外设(0.5GB)“等等,就拿外设区来说,地址范围是
0x4000 0000--0x5FFF FFFF,这0.5GB究竟是一个实体的存储空间还是虚拟的表示寻址能力的范围? 如果是虚拟的,为什么这些外设的寄存器确实是在这个范围内的,比如GPIO相应的一些寄存器?
2, 这些外设的寄存器 和 ARM自身的寄存器(R0,R1,R2...) 在物理层面是同一种寄存器吗? 有什么区别?
3,PC机32位处理器的寻址范围也是4GB,为什么我们的笔记本需要很大的内存(2G以上),而ARM 片上的内存却只有100K左右,我的意思是 同样是32位处理器,为什么ARM的内存 如此之小?
以上的问题 困扰了我一周,在网上搜了资料,感觉说的也很抽象,希望这里有人不要嫌我菜鸟。。帮我耐心解答,再次感谢。
|