软件水平 > 中级资格 > 嵌入式系统设计师 > 文章内容

软件水平考试嵌入式系统设计师辅导:地址映射

2017-9-4编辑:daibenhua

  地址映射

  地址映射也叫地址重定位。

  逻辑地址和物理地址是完全不同的,不能用逻辑地址来直接访问内存单元。

  为了保证CPU 在执行指令的时候,可以正确地访问内存单元,需要将用户程序中的逻辑地址转换为运行时由机器直接寻址的物理地址。这个过程称为:地址映射。

  地址映射由存储管理单元MMU 来完成。

  地址映射主要有两种方式:静态地址映射和动态地址映射。

  静态地址映射:当用户程序被装入内存时,直接对指令代码进行修改,一次性地实现逻辑地址到物理地址的转换。

  动态地址映射:当用户程序被装入内存时,不对指令代码做任何修改,而是在程序的运行过程中,当它需要访问内存单元的时候,再来进行地址转换。

  在具体实现时,这项转换工作一般是由硬件的地址映射机制来完成的。通常设置一个基地址寄存器,

  或者叫重定位寄存器。当一个任务被调度运行时,就把它所在分区的起始地址装入到整个寄存器中。然后,在程序运行的过程中,当需要访问某个内存单元时,硬件就会自动地将其中的逻辑地址加上基地址寄存器中的内容,从而得到实际的物理地址,并且按照这个物理地址区执行。

  这个基地址寄存器位于MMU 的内部,整个地址映射过程是自动运行的。从理论上说,每访问一次内存都要进行一次地址映射。

软件水平考试嵌入式系统设计师辅导:内存保护

热点推荐

登录注册
触屏版电脑版网站地图