首页 > 编程知识 正文

什么是地址映射地址重定位,什么叫地址映射

时间:2023-05-06 15:52:53 阅读:276046 作者:1836

ARM体系结构-地址映射

一、什么是地址映射

1、ARM Cortex-A8架构,32位CPU,CPU设计时就有32根地址线和32根数据线。
2、32根地址线决定了CPU的地址空间为4G,那么这4G空间如何分配使用?这个问题就是地址映射问题?我的理解就是这些地址空间是如何分配使用的。

二、地址映射规则

1、芯片外接外部RAM和外部ROM的时候,RAM和ROM器件都是独立器件,并没有地址一说,或者说都只有自己的绝对地址,且从0x00开始。而对于CPU来说,0x00地址只能有1个,所以外接器件挂到CPU上时只能做地址映射,如RAM的地址为0x3000 0000, ROM地址为0x4000 0000, 这样CPU就做了统一编址。
2、也就是说这些地址要统一分配使用,总共就只有4G,所以说内存(RAM)、端口(寄存器)和存储器(RAM)都被映射到改4G空间里面,但是哪些占用低地址,哪些占用高地址?
3、这些问题已经被ARM的设计者给设计好了的,地址从高到低如何使用,已经被规定好,而我们只需要学习这些规则就好了。掌握规则,并使用规则。
4、因此可以想象到:ARM体系结构中,系统上电或复位后,处理器将从地址0x00处取第一条指令,因此,上电的时候,地址0x00处必须是非易失性的ROM或FLASH。
5、CPU地址总线的地址,由硬件电路控制其具体含义。物理地址中很大一部分是留给内存条中的内存的,但也常被映射到其他存储器上 (如显存、BIOS等)。就生成了物理地址,这个物理地址被放到CPU的地址线上。
6、物理地址空间,一部分给物理RAM(内存)用,一部分给总线用,这是由硬件设计来决定的,但物理RAM一般不能上到4GB,因为还有一部分要给总线用(总线上还挂着别的许多设备)。一般是把低端物理地址给RAM用,高端物理地址给总线用。

三、如图所示地址映射:

1、根据上面的分析,4G的地址空间,都被使用,并将其划分为不同的作用。
2、地址空间的分布使用示例:

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。