首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

超级新手的一个问题 ,谢谢

超级新手的一个问题 ,谢谢

哪个前辈能给我解析下  “地址映射”和“存储器重映射” 的这个概念


解析透彻点最好不过了:)


谢谢!

凡宇云

***地址映射MAP:

计算机最重要的功能单元之一是Memory。Memory是众多存储单元的集合,为了使CPU准确找到存储有某个信息的存储单元,必须为这些单元分配一个相互区别的“身份证号”,

这就是地址编码。在嵌入式处理器内,集成了多种类型的Memory,通常,我们称同一类型的Memory为一个Memory Block。一般情况下,处理器设计者会为每一个Memory Block分配一

个数值连续,数目与其存储单元数相等,以16进制表示的自然数集合作为该Memory Block的地址编码。这种自然数集合与Memory Block的对应关系,就是Memory Map(存储器映射

),有时也叫Address Map(地址映射)。
Memory Map是一个逻辑概念,是计算机系统在复位后才建立起来的。Memory Map相当于这样一个数学函数:函数的输入量是地址编码,输出量被寻址单元中的数据。当计算机系

统掉电后或复位时,这个数学函数不得存在,只有计算机系统中实现这个数学函数的物理基础--电路连接。
总之,Memory Map是计算机系统时的预备动作,是一个将CPU所拥有的地址编码资源向系统内各个物理存储器块分配的自动过程。


***地址重映射REMAP:

Remap与计算机的异常处理机制密切相关。完整的计算机系统必须具备异常处理能力。当异常产生时,CPU在硬件驱动机制下跳入到预先设定的存储器单元中,取出相应的异常处

理程序的入品地址,并根据该入口地址进入异常处理程序。这个保存有异常处于是程序入口地址的存储器单元就是通常所说的“异常入口”,单片机系统也叫“中断入口”。异常

入口的集中管理组成了“异常向量表”。

系统加电后的异常向量表从低速非易失性存储器映射得到。随着处理器速度的提高,非易失性存储器的读取速度使得CPU只能以多个空闲等待的同期来获取异常向量,这就限制

了CPU能力的充分发挥。当非易失性存储器位宽小于CPU位宽时,这种负面的影响更加明显。于是,Remap就被引入了。

Remap实际就是对此前已确立的存储器映射的再次修改。从本质上讲,Map和Remap是一样的,都是将地址编码资源分配给存储器块,(所以叫Re___Map ,也就再来一次map的意

思,:))。只是二者时间不同,前者在上电时刻发生,是任何计算机系统都必须的;而后者在系统上电后稳定运行的时刻发生,对于计算机系统设计人员来说是可选选的。像8位

单片机系统就没有使用Remap技术。

完整的Remap过程实际上通常始于系统的Bootload过程。具体执行动作为:Bootload将非易失性存储器中的异常向量复制到高速易失性存储器块的一端。然后执行Remap,将位于

高速易失性存储器中的异常向量块映射到异常向量表地址空间上。此后,系统若产生异常,CPU将从已映射到异常向量表地址空间的高速非易失性存储器中读取异常向量。因而CPU

可以无等待地全速跳入异常处理程序,获得最佳的实时异常响应。
51 c8051f(f020,f040) msp430 arm(2410,2510) fpga(xc3s4000) dsp(5116 dm642) keilc vc++ matlab linux protel Ten_layerPCB mpegx h.26x Rscode Turbocode ofdm VideoBroadcasting ldpc_code(now!)
返回列表