【发布时间】:2018-04-18 18:07:14
【问题描述】:
这是否有意义,或者如果不运行任何类型的操作系统,我们是否可以从在微控制器上安装 MMU(内存管理单元)中受益?
以 beaglebone 板上使用的基于 ARM Cortex A8 的芯片为例,它包括一个 MMU。据我了解,这提供了可以让我们运行嵌入式 Linux 或其他一些操作系统的好处。
我的困惑是,如果我们不使用操作系统,MMU 对我们有用吗?据我了解,虚拟内存是一种由硬件和软件共同提供的内存管理技术。我们是否需要操作系统不断更新和更改物理地址到虚拟地址的映射,或者这可以仅在硬件中完成吗?提前致谢。
【问题讨论】:
-
mmu 可能会有性能损失,因为必须查找每个事务。如果您一直访问相同的地址空间,则 mmu 中相当于一个小型缓存,但每个事务仍然需要花费额外的时间。好处正如 Clifford 所描述的那样,mmu 允许您控制总线/系统的可缓存范围和其他功能,如果不使用操作系统,您可以使虚拟地址 = 物理以使生活更轻松你自己……
-
如果您只是使用 mmu 来控制内存空间的属性,则可以将其设为静态。不断变化的是人们正在分配和释放并且操作系统正在加载和加载程序等。单任务您可以根据需要设置一次,或者可以在运行时使用它,您的设计是您的选择。
标签: memory-management embedded microcontroller mmu cortex-a