ARM架构中MPU对OS下任务和内存的保护机制
创作时间:
作者:
@小白创作中心
ARM架构中MPU对OS下任务和内存的保护机制
引用
CSDN
1.
https://blog.csdn.net/xiandang8023/article/details/140688754
MPU(Memory Protection Unit)是ARM架构中用于实现内存保护的重要组件,它通过定义内存区域的访问权限、缓存策略等机制,为操作系统提供了一种细粒度的内存管理方式。本文将详细介绍MPU的主要功能及其在多任务环境下的应用。
MPU的主要功能
确定MPU保护区域的起始地址(Base address)和结束地址(Limit address):结束地址是根据起始地址与给定的region大小决定的。
确定MPU区域的访问权限:
- 只读(Read-only):只能读取,不能写入。
- 可读写(Read-Write):可以读取和写入。
- 确定访问级别:
- 特权访问(Privileged-OS Kernel):操作系统内核级别的访问。
- 非特权访问(Unprivileged-TASK):用户任务级别的访问。
- 实现资源隔离和资源共享:
- 在没有使用MPU的情况下:内存仅根据MSP(主堆栈指针)和PSP(进程堆栈指针)分特权级和用户级。此时,特权级可以访问整个堆栈空间,而用户级任务之间无法互相访问对方的堆栈,只能访问分配给自己的堆栈内存,但用户级任务可以随意访问全局变量。
- 启用MPU后:OS会对每个用户任务的独立内存空间设置访问权限。例如,为了防止堆栈溢出,MPU的Size会大于TASK的堆栈Size,多的预留内存作为溢出缓冲。或者将静态区某些数据权限设置为仅供某个任务读写,其他任务只能读,AUTOSAR中RTE的数据Buffer就是这个设计原理,普通全局变量随意访问。对于多核涉及的共享数据,要单独设置region,flash里的代码段一般定义为仅可读。
- 确定MPU保护区域的缓存控制:
- 可缓存(Cacheability):确定哪些内存区域可以通过Cache访问。
- 可缓冲(Normal memory):确定哪些内存区域是通过Normal Memory访问的,内核直接访问芯片内存。
- 可多核共享(Shareability):主要用于多核之间数据共享,主要用于核间通信IPC在SMP(多核同构)或AMP(多核异构)架构中,如果开启共享(Shareability),等同于关闭Cache。
- 实时监测任务对内存的访问行为:一旦发现非法访问就会触发异常,如栈溢出,数组越界,任务越界访问动态分配的内存等。
MPU与MSP、PSP的区别
MSP和PSP主要关注的是栈空间的管理和使用,而MPU则是为了提供更细粒度的内存访问控制和保护机制。MPU通过硬件对划分的Region更细化权限控制,MSP和PSP 指针是 CPU 架构层面的特权级划分,MPU 机制是基于内存区域的访问控制。只能说给系统提供更加细致和可靠的内存保护功能。
MPU的缓存控制
Cortex-M7的缓存控制
Cortex-A7(含MMU)的缓存控制
Shareability的使用场景
主要用于多核之间数据共享,主要用于核间通信IPC在SMP(多核同构)或AMP(多核异构)架构中,如果开启共享(Shareability),等同于关闭Cache。
热门推荐
武汉市狂犬病疫苗接种全攻略
【緊急預備金多少才夠?】10萬夠嗎?可以放在儲蓄險裡嗎?
酿酒酵母在食品科学和其他领域的强大功能
中国电子烟厂家面临的法律挑战
中医防治肺癌,真的有效吗?
积极心理学名言警句
《天国 拯救》创作故事讲解 探索中世纪的勇气与道德抉择
国印贵人在时柱是什么意思 国印贵人在日柱能发大财
头顶发凉是怎么回事
一文了解国际量化金融分析师证书CQF
车企上半年业绩:民企表现更优“保销量”还是“保利润”成问题
甘肃二十个最值得去的景点,看这篇就够了
一拳超人龙卷:超能力的极致展现与角色深度剖析
家庭保险规划受什么因素影响较大
NASA雄心勃勃:冷却地下熔岩室,能否驯服黄石火山这头巨兽?
【古建一课】认识常见古建筑纹饰
《我的世界》骑马指南:从驯服到骑行的全方位技巧与乐趣体验
一个动作不能自愈鼻炎,但这些方法能缓解症状
印度神话中的创世之举:湿婆与毗湿奴的神秘之子
中国航空工业集团凝心聚力加快打造世界一流直升机企业
晕厥的中医辨证论治
全国十大优质核桃产地:从漾濞到卢氏,品味各地特色核桃
A800 GPU:PCIe单卡与NVLink 8卡模组对比分析
八字命理中的官杀:贵气、地位与事业的象征
抑郁症是怎样一步一步形成的?如何积极应对抑郁症的到来?
中国AI双子星,在硅谷教OpenAI做事?
小红书需要一场「内斗」
揭秘圣遗物出货率:极品圣遗物的难刷之路
光学四大研究领域探讨:从应用,技术
天然高叶酸的五种食物,建议中老年人:常吃增强抵抗,越吃越健康