多个应用程序在同时竞争使用同一块物理内存,其必然会导致某个时刻只存在程序的某个片段在执行,也即是所有程序代码和数据分时复用物理内存空间—这就是内存管理单元(MMU)工作核心作用所在。 本文要谈的是控制器领域SoC的内存管理单元的硬件设计,其重要的理念同样是代码和数据分时复用物理内存空间,在保障系统功能和性能的基础上最大限度地节省物理内存的目的。...
分类:
其他好文 时间:
2014-07-22 23:01:34
阅读次数:
385
以下内容摘自《步步惊芯——软核处理器内部设计分析》一书
OR1200中实现的加载存储类指令有8条,每条指令的作用与说明如表9.1所示。
说明一点:在第2章建立的最小系统没有配置使用MMU,所以有效地址等于物理地址。
加载存储类指令的助记符也很好理解记忆,第一位是’s’表示存储指令,’l’表示加载指令;第二位是’b’表示对字节操作...
分类:
其他好文 时间:
2014-05-07 15:13:28
阅读次数:
421
上一节讲述了在没有MMU的CPU(如80251、MIPS M控制器系列、ARM cortex m系列)上实现虚拟内存管理的集成硬件设计方法,新设计的内存管理管理单元要实现虚拟内存管理还需要操作系统、代码分块(Bank)的支持。Bank设计是为了实现不同时刻运行的Bank(代码块)运行在同一块内存上,所以在运行之前操作系统需要将已存在内存的代码/数据进行缓存处理,并加载将要运行的Bank到该内存上。为了实现这个目的,需要明确几个设计原则。...
分类:
其他好文 时间:
2014-05-03 21:06:44
阅读次数:
356