MMU 和 MPU的区别
S3C2440里面带的是MMU,而现在流行的Cortex-M3/4 里面带的是MPU。
MMU vs MPU
内存是现代计算机最重要的组件之一。因此,它的内容不能被任何错误的应用所篡改。这个功能可以通过MMU(Memory Management Unit)或者MPU(Memory Protection Unit)来实现。尽管这个两个东西有同样的基本功能,但是它们之间还是存在一些不同。MMU被认为是比MPU更先进的设备。MMU能完成MPU的所有工作,并且它还具备MPU没有的一些高级特性。
MMU具备而MPU不具备的特性包括:缓存控制,总线仲裁,bank切换。这些特性是更复杂的计算机所需要的,以便信息处理流程更顺畅无误。通过使用MMU,你能优化你的计算机性能,因为它可以让微处理器不用关心上述:缓存控制,总线仲裁,bank切换任务,由独立的MMU单元来全权负责。
如果你使用的是简单计算机,不需要做多任务或者相关处理,使用MMU可能不是最好的做法。首先要考虑的是价格和复杂性,因为使用先进的MMU会带来更高的价格和复杂度。相比于简单的MPU,使用MMU会给系统带来不必要的负担。如果主处理器不够快,使用MMU会造成一些问题。
选择MMU还是MPU更大程度上取决于构建系统的规模和复杂度。如果的你系统足够大使用MMU会带来好处。如果你构建一个可靠地简单系统,MMU是不建议选择的。MPU将提供必要的功能,同时降低复杂性和成本。
总结:
MMU比MPU更先进
MMU能覆盖MPU的所有功能
MMU能实现缓存控制,总线仲裁,Bank切换,而MPU不能
MPU比MMU更简单,使用开销也更少
Memory is one important component in modern computing. As such, it is necessary that its contents are not corrupted by any errant application. This function can be done by an MMU (Memory Management Unit) or by an MPU (Memory Protection Unit). Although they both do the same basic function, there are a number of differences between an MMU and an MPU. An MMU is considered to be a more advanced device than an MPU. An MMU is capable of doing the job of an MPU along with other more advanced features that are absent in the latter.
The features that are present in an MMU and not in the MPU include cache control, bus arbitration, and bank switching. All these features are necessary in more complex computers as they allow the flow of information to be smoother and without any problem. By using an MMU, you can also optimize the performance of your computer as it would off-load the said tasks from the microprocessor.
But if you are dealing with a very simple computer that does not do multi-tasking and other related processes, using an MMU may not be the best thing to do. The primary consideration would be price and complexity as employing the more advanced MMU would be more costly and more complex. It may also tax the system unnecessarily as MMU units utilize more overhead compared to the far simpler MPUs. If the main processor used is not fast enough, using an MMU may cause problems.
Choosing between an MMU and MPU is largely dependent on the scale and complexity of the system being built. An MMU is recommended if your system is large enough to benefit from its capabilities. If you are building a relatively simply system, using an MMU is not advisable. An MPU would provide the necessary capabilities while keeping complexity and cost down.
Summary:
An MMU is more advanced than an MPU
An MMU is able to do the job of an MPU
An MMU is capable of cache control while an MPU is not
An MMU is capable of bus arbitration while an MPU is not
An MMU is capable of bank switching while an MPU is not
An MPU is simpler and uses less overhead than an MMU
MMU 和 MPU的区别的更多相关文章
- ARM系列产品
ARM7系列 ARM9系列 ARM9E系列 ARM10E系列 SecurCore系列 Intel的StrongARM ARM11系列 Intel的Xscale 其中,ARM7.ARM9.ARM9E和A ...
- ARM architectures
https://gitorious.org/freebsd/freebsd/raw/56c5165837bf08f50ca4a08c6b2da91f73852960:sys/arm/include/a ...
- ARM架构解析
ARM架构解析 (2014-11-23 21:56:53) 转载▼ 标签: francis_hao arm架构 arm核 soc 分类: MCU 先来谈一下ARM的发展史:1978年12月5日,物理学 ...
- ARM架构
ARM架构(过去称作进阶精简指令集机器(Advanced RISC Machine),更早称作Acorn RISC Machine)是一个32位元精简指令集(RISC) 中央处理器(processor ...
- 我的 FPGA 学习历程(02)—— 实验:点亮 LED 灯
关于 Quartus 的操作可以使用 Quartus 自带的帮助,帮助中带有全套的操作教程. 中文网络教程链接(链接至 altera中文官网,点击观看) Quartus II 软件设计系列:基础 Qu ...
- 关于ARM CM3的启动文件分析
下面以ARM Cortex_M3裸核的启动代码为例,做一下简单的分析.首先,在启动文件中完成了三项工作: 1. 堆栈以及堆的初始化 2. 定位中断向量表 3. 调用Reset Handler. ...
- 10.1-uC/OS-III任务堆栈空间
1.设置任务优先级 嵌入式系统中的重要的应用应该被设置为高优先级,一些显示操作就应该被设置为低优先级. 然而, 由于实时系统的复杂性, 在大多数情况下任务的优先级是不能被事先确定的.多数系统中,不是所 ...
- ARM architecture
http://en.wikipedia.org/wiki/ARM_architecture ARM architecture ARM architectures The ARM logo De ...
- arm cpu的架构及分类说明
今天在编译mplayer for mx27ads的时候, 碰到了armv5te与armv6优化的问题. 默认的交叉编译器支持armv5te也支持armv6,就默认使用了mplayer中mpeg4的ar ...
随机推荐
- Ubuntu18.04 设置wifi热点
(1)在终端输入 命令:nm-connection-editor (2)然后点击wifi网络进行配置即可:
- 网易云易盾CTO朱浩齐:我们是如何用AI赋能内容安全?
本文由 网易云发布. 5月19日,LiveVideoStack携手网易云易盾,共同打造了“娱乐多媒体开发应用实践”专题,帮助开发者和泛娱乐平台运营人员,提升技术能力,突破难点,拓展思路与视野. 在专 ...
- 快速理解python2中的编码问题
# -*- coding:utf-8 -*- ''' python2 中的字符编码有str和unicode(字符串类型的名字) str类型字符串类型在内存中存储的是bytes数据 Unicode类型字 ...
- 与虚拟机和linux的初次接触
初次接触虚拟机 根据老师所给的资源和教程,虚拟机安装的过程十分顺利. 接下来是在虚拟机上安装linux操作系统我下载了破解版的Ubuntu,也是十分顺利 接下来就是安装虚拟机增强功能,命令有些繁琐,在 ...
- PostgreSQL参数学习:max_wal_senders
磨砺技术珠矶,践行数据之道,追求卓越价值回到上一级页面:PostgreSQL基础知识与基本操作索引页 回到顶级页面:PostgreSQL索引页[作者 高健@博客园 luckyjackgao@g ...
- 2288: 【POJ Challenge】生日礼物
2288: [POJ Challenge]生日礼物 https://lydsy.com/JudgeOnline/problem.php?id=2288 分析: 贪心+堆+链表. 首先把序列变一下,把相 ...
- 理解依赖注入(Dependency Injection)
理解依赖注入 Yii2.0 使用了依赖注入的思想.正是使用这种模式,使得Yii2异常灵活和强大.千万不要以为这是很玄乎的东西,看完下面的两个例子就懂了. class SessionStorage { ...
- DSP28335声音降噪(未完成)
1. 确定使用的模块是Webrtc-NS,采集声音的芯片TLV32AIC23,实际测试发现Webrtc-NS无法使用,所以改成FIR滤波器. 从时域特性上来看,数字滤波器还可以分为有限冲激响应数字滤波 ...
- meta标签的常见用法
一.定义和用法 <meta> 标签始终位于 head 元素中.<meta> 元素可提供有关页面的元信息(meta-information),元数据不会显示在页面上,但是对于机器 ...
- Django——POST请求及Action触发事件
添加网页login,将类型置为post,并添加action page,也就是之前写好的页面 添加page网页的views函数,要求获取post指令,如果username及password均正确则跳转到 ...