【ARM Cache 系列文章 6 番外篇 – MMU, MPU, SMMU, PMU 差异与关系】
文章目录
- MMU 与 MPU 之间的关系
- MMU 与 SMMU 之间的关系
- MMU 与 PMU 之间的关系
上篇文章:ARM Cache 系列文章 5 – 内存屏障ISB/DSB/DMB
MMU 与 MPU 之间的关系
MMU(Memory Management Unit)和MPU(Memory Protection Unit)都是ARM架构中用于内存管理的关键组件,但它们的主要功能和使用场景有所不同。
MMU:MMU是负责虚拟内存管理的硬件单元。它将虚拟地址转换为物理地址,并管理内存保护和缓存控制。使用MMU,操作系统可以实现内存保护,把每个程序运行在独立的内存空间中,防止程序间互相干扰。此外,MMU还可以实现虚拟内存机制,允许程序使用的内存空间超过物理内存的大小。MMU通常在需要运行复杂操作系统(如Linux或Windows)的系统中使用。
MPU:MPU则是一种更简单的内存管理硬件,它不能转换虚拟地址,只能为内存区域设置权限,例如设定某段内存只读或可执行。MPU主要用于实现内存保护,防止程序访问不应访问的内存区域。由于其结构简单,MPU通常用在资源有限,只需要运行裸机程序或实时操作系统的嵌入式系统中。
MMU 常鉴于ARM Cortex-A 系列, MPU 常见与 ARM Cortex-系列。
总的来说,MMU和MPU都在内存管理中有重要作用,但MMU提供了更复杂、更全面的功能,适合于复杂的操作系统,而MPU则提供了一种轻量级的内存保护机制,适合于资源有限的嵌入式系统。
MMU 与 SMMU 之间的关系
MMU(Memory Management Unit)和SMMU(System Memory Management Unit)都是在ARM架构中使用的内存管理硬件组件,但它们的主要功能和使用场景有所不同。
MMU:MMU主要服务于CPU,它将虚拟地址转换为物理地址,并处理诸如内存保护和缓存控制等任务。通过MMU,操作系统可以创建一种虚拟内存环境,使得每个运行的程序都认为自己是在连续的内存空间中运行,同时还能防止一个程序访问另一个程序的内存空间。
SMMU:SMMU则是专门为系统的外设(如GPU,DMA等)设计的。它为系统的IO设备提供了与CPU类似的虚拟地址到物理地址的转换服务。这意味着IO设备可以直接在虚拟地址空间中操作,从而大大简化了驱动程序的设计。此外,SMMU还可以为IO设备提供内存保护功能,防止IO设备访问未授权的内存区域。
总的来说,MMU主要为CPU提供内存管理服务,而SMMU则为系统的IO设备提供类似的服务。它们共同为系统提供了一致的内存管理机制和内存保护机制。
MMU 与 PMU 之间的关系
ARM架构中的MMU(Memory Management Unit)和PMU(Performance Monitoring Unit)是两种完全不同的硬件组件,它们各自负责不同的功能。
MMU:MMU是一种硬件单元,负责处理虚拟内存和物理内存之间的映射。它能将CPU产生的虚拟地址翻译成物理地址,这样每个进程就能在自己的独立地址空间中运行,同时可以实现内存保护和缓存控制。
PMU:PMU则是一种硬件单元,用于监控处理器的性能相关的事件。例如,它可以跟踪指令的执行次数,缓存的命中率,分支预测的准确性等等。通过PMU,开发者可以详细了解软件运行的性能表现,优化代码,提高运行效率。
总的来说,MMU和PMU在ARM系统中负责不同的功能:MMU负责内存管理,而PMU负责性能监控。
上篇文章:ARM Cache 系列文章 5 – 内存屏障ISB/DSB/DMB
相关文章:
【ARM Cache 系列文章 6 番外篇 – MMU, MPU, SMMU, PMU 差异与关系】
文章目录 MMU 与 MPU 之间的关系MMU 与 SMMU 之间的关系MMU 与 PMU 之间的关系 上篇文章:ARM Cache 系列文章 5 – 内存屏障ISB/DSB/DMB MMU 与 MPU 之间的关系 MMU(Memory Management Unit)和MPU(Memory Protection Unit&#…...
NetSuite ERP顾问的进阶之路
目录 1.修养篇 1.1“道”是什么?“器”是什么? 1.2 读书这件事儿 1.3 十年计划的力量 1.3.1 一日三省 1.3.2 顾问损益表 1.3.3 阶段课题 2.行为篇 2.1协作 2.2交流 2.3文档管理 2.4时间管理 3.成长篇 3.1概念能力 3.1.1顾问的知识结构 …...
js 新浏览器打开页面
博主gzh:“程序员野区”,回复“加群”,可进博主web前端微信群 效果如下 setTimeout(()>{var url "https://blog.csdn.net/xuelang532777032?typeblog"; //要打开的网页地址var features "height500, width800, top100, left100, …...
jmeter软件测试实验(附源码以及配置)
jmeter介绍 JMeter是一个开源的性能测试工具,由Apache软件基金会开发和维护。它主要用于对Web应用程序、Web服务、数据库和其他类型的服务进行性能测试。JMeter最初是为测试Web应用程序而设计的,但现在已经扩展到支持更广泛的应用场景。 JMeter 可对服务…...
ZooKeeper原理剖析
1.ZooKeeper简介 ZooKeeper是一个分布式、高可用性的协调服务。在大数据产品中主要提供两个功能: 帮助系统避免单点故障,建立可靠的应用程序。提供分布式协作服务和维护配置信息。 2.ZooKeeper结构 ZooKeeper集群中的节点分为三种角色:Le…...
【算组合数】CF1833 F
少见地秒了这道1700,要是以后都这样就好了.... Problem - F - Codeforces 题意: 给定一个数列,让你在这个数列里找一个大小为M的子集,使得极差不超过M 思路: 子集,不是子序列,说明和顺序无…...
Attention详解(自用)
encoder-decoder 分心模型:没有引入注意力的模型在输入句子比较短的时候问题不大,但是如果输入句子比较长,此时所有语义完全通过一个中间语义向量来表示,单词自身的信息已经消失,可想而知会丢失很多细节信息࿰…...
pptx转pdf工具类
引入依赖 <dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>5.0.0</version></dependency><dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxm…...
2023华为OD统一考试(B卷)题库清单(持续收录中)以及考点说明
目录 专栏导读2023 B卷 “新加题”(100分值)2023Q2 100分2023Q2 200分2023Q1 100分2023Q1 200分2022Q4 100分2022Q4 200分牛客练习题 专栏导读 本专栏收录于《华为OD机试(JAVA)真题(A卷B卷)》。 刷的越多&…...
论文笔记--Won’t Get Fooled Again: Answering Questions with False Premises
论文笔记--Won’t Get Fooled Again: Answering Questions with False Premises 1. 文章简介2. 文章概括3 文章重点技术3.1 大模型面对FPQs的表现3.2 False QAs数据集3.3 训练和评估 4. 文章亮点5. 原文传送门 1. 文章简介 标题:Won’t Get Fooled Again: Answerin…...
【Django】include app_name和namespace的区别
app_name 区分不同app的url的name,防止不同app之间,url_name的重名,引用时加入app_name:name namespace 区分不同路由 include同一个view module的情况, 让不同路由进入同一个view中,进行reverse时,根据对…...
(黑客)自学笔记
特别声明: 此教程为纯技术分享!本教程的目的决不是为那些怀有不良动机的人提供及技术支持!也不承担因为技术被滥用所产生的连带责任!本教程的目的在于最大限度地唤醒大家对网络安全的重视,并采取相应的安全措施&#x…...
【期末课程设计】学生成绩管理系统
因其独特,因其始终如一 文章目录 一、学生成绩管理系统介绍 二、学生成绩管理系统设计思路 三、源代码 1. test.c 2. Student Management System.c 3.Stu_System.c 4.Teacher.c 5.Student Management System.h 前言: 学生成绩管理系统含教师…...
【论文笔记】KDD2019 | KGAT: Knowledge Graph Attention Network for Recommendation
Abstract 为了更好的推荐,不仅要对user-item交互进行建模,还要将关系信息考虑进来 传统方法因子分解机将每个交互都当作一个独立的实例,但是忽略了item之间的关系(eg:一部电影的导演也是另一部电影的演员)…...
ES6:基础使用,积累
一、理解ES6 ES6是ECMAScript 6.0的简称,也被称为ES2015。它是ECMAScript的第六个版本,是JavaScript标准的下一个重大更新。ES6于2015年6月发布,新增了许多新的语言特性和API,包括箭头函数、let和const关键字、模板字符串、解构赋…...
Android端上传文件到Spring Boot后端
准备 确定好服务器端文件保存的位置确定好请求参数名(前后端要保持一致的喔)如果手机是通过usb连接到电脑的,需要执行一下: adb reverse tcp:8080 tcp:8080 AndroidManifest.xml的<application/>节点中加上: android:usesC…...
使用GGML和LangChain在CPU上运行量化的llama2
Meta AI 在本周二发布了最新一代开源大模型 Llama 2。对比于今年 2 月发布的 Llama 1,训练所用的 token 翻了一倍,已经达到了 2 万亿,对于使用大模型最重要的上下文长度限制,Llama 2 也翻了一倍。 在本文,我们将紧跟趋…...
微服务基础理论
微服务简介 微服务Microservices之父,马丁.福勒,对微服务大概的概述如下: 就目前而言,对于微服务业界并没有一个统一的、标准的定义(While there is no precise definition of this architectural style ) 。但通在其…...
《向量数据库指南》:向量数据库Pinecone管理数据教程
目录 连接到索引 指定索引端点 调用whoami以检索您的项目名称。 描述索引统计信息 获取向量 更新向量 完整更新 ℹ️注意 部分更新 ⚠️注意 ℹ️注意 删除向量...
以深度为基础的Scikit-learn: 高级特性与最佳实践
Scikit-learn是一个广受欢迎的Python库,它用于解决许多机器学习的问题。在本篇文章中,我们将进一步探索Scikit-learn的高级特性和最佳实践。 一、管道机制 Scikit-learn的Pipeline类是一种方便的工具,它允许你将多个步骤(如数据…...
BootstrapBlazor通知组件:如何实现声音提示功能
BootstrapBlazor通知组件:如何实现声音提示功能 【免费下载链接】BootstrapBlazor 项目地址: https://gitcode.com/gh_mirrors/bo/BootstrapBlazor BootstrapBlazor是一个功能丰富的Blazor组件库,提供了各种UI组件来增强Web应用的用户体验。其中…...
6个高效突破内容访问限制的开源工具使用指南
6个高效突破内容访问限制的开源工具使用指南 【免费下载链接】bypass-paywalls-chrome-clean 项目地址: https://gitcode.com/GitHub_Trending/by/bypass-paywalls-chrome-clean 在信息爆炸的数字时代,优质内容常常被付费墙限制访问。本文将系统介绍基于开源…...
告别macOS原生切换烦恼:alt-tab-macos让窗口管理效率提升300%的终极指南
告别macOS原生切换烦恼:alt-tab-macos让窗口管理效率提升300%的终极指南 【免费下载链接】alt-tab-macos Windows alt-tab on macOS 项目地址: https://gitcode.com/gh_mirrors/al/alt-tab-macos 作为macOS用户,你是否也曾对系统自带的窗口切换功…...
agent实习面经(十一)
来自网络,侵删 先完成,再完美 某东,某节1.LLM 为什么有幻觉,如何减少 LLM 幻觉?1.1概率生成机制:LLM 本质是基于统计概率预测下一个 token,而非检索事实数据库。当训练数据中缺乏确切信息或模…...
STM32Fx标准外设固件库下载与安装全攻略
1. STM32Fx标准外设固件库是什么? 对于刚接触STM32开发的工程师来说,标准外设固件库就像是一本"使用说明书"。它封装了芯片底层寄存器的操作,让我们可以用更简单的方式控制硬件。举个例子,如果没有固件库,你…...
实战指南:基于快马生成电商订单自动化n8n工作流,无缝衔接shopify与crm
实战指南:基于快马生成电商订单自动化n8n工作流,无缝衔接shopify与crm 最近在帮朋友优化他们电商业务的后台流程,发现手动处理订单实在太费时间了。特别是遇到大促期间,订单量暴增,人工操作不仅效率低还容易出错。于是…...
图灵奖得主LeCun团队悄然引动世界模型革新!世界模型终于不崩了!48倍加速!15M参数单GPU端到端训练!自发涌现物理理解!
近日,杨立昆与其团队在新发布的论文《LeWorldModel:基于像素的稳定端到端联合嵌入预测架构》中,介绍了一种新的世界模型LeWorldModel(LeWM) ,这一模型可以端到端的训练,无需任何技巧,同时拥有15M参数、能在…...
域环境基础知识
Active Directory(AD) 域控制器功能: 集中管理所有域用户统一身份认证组策略分发资源访问控制 Windows Server域环境搭建 推荐版本: Windows Server 2003Windows Server 2008Windows Server 2012 域环境组成: 域控制器…...
3D元器件库技术解析与工程应用指南
## 1. 3D元器件库技术解析与应用指南### 1.1 3D封装库的技术价值 在现代电子设计自动化(EDA)流程中,高质量的3D元器件库可显著提升设计效率。本套封装库包含1088个标准封装模型,涵盖电阻器、电容器、接线端子、IC芯片、晶振等常见电子元件,所…...
《QGIS快速入门与应用基础》239:指北针样式选择(预设/自定义)
作者:翰墨之道,毕业于国际知名大学空间信息与计算机专业,获硕士学位,现任国内时空智能领域资深专家、CSDN知名技术博主。多年来深耕地理信息与时空智能核心技术研发,精通 QGIS、GrassGIS、OSG、OsgEarth、UE、Cesium、OpenLayers、Leaflet、MapBox 等主流工具与框架,兼具…...
