RH850系列芯片深度剖析 1.8-内存管理之MPU

在这里插入图片描述

RH850系列芯片深度剖析 1.8-内存管理之MPU

文章目录

  • RH850系列芯片深度剖析 1.8-内存管理之MPU
    • 一、MPU简介
      • 1.1 功能特性
      • 1.2 系统保护标识符(SPID)
    • 二、保护区域设置
      • 2.1 保护区域属性设置
      • 2.2 保护区域设置注意事项
        • 2.2.1 跨越保护区域边界
        • 2.2.2 无效的保护区域设置
        • 2.2.3 保护违规检查期间参考的下限和上限地址
        • 2.2.4 跨越连续保护区域的内存访问
          • 2.2.4.1 操作数访问跨越保护区域
          • 2.2.4.2 指令读取跨越保护区域
        • 2.2.5 跨越地址 0000 0000H 的内存访问
      • 2.3 访问控制
      • 2.4 违规和异常
        • 2.4.1 执行保护违规(MIP异常)
        • 2.4.2 数据保护违规(MDP异常)
        • 2.4.3 异常原因码以及异常地址
      • 2.5 内存保护设置检查功能
        • 2.5.1 检查细节
        • 2.5.2 检查流程
        • 2.5.3 示例代码
        • 2.5.4 地址区域的计算方法
        • 2.5.5 检查内存保护设置检查功能的结果

一、MPU简介

内存保护功能由 MPU(内存保护单元)提供,通过检测和防止不可靠程序未经授权使用系统资源、失控事件等来维持系统的平稳运行。

1.1 功能特性

MPU根据功能分为以下特性:

  1. 内存访问控制
    可为地址空间分配多个保护区域。因此,可以检测和防止用户程序未经授权执行程序或篡改数据。可以指定每个区域的上限和下限地址,从而精确有效地使用地址空间。

  2. CPU 各运行模式的访问管理
    在该 CPU 中,多个状态位用于控制对资源的访问,根据每个程序的可靠性级别,这些位将被组合使用,以执行适当的保护。

  3. 使用系统保护标识符 (SPID) 进行保护
    该 CPU 可使用系统保护标识符 (SPID) 检查区域是否匹配。SPID 寄存器的使用和设置限制取决于 CPU 所安装产品的系统规范。这些系统规范应用在内存访问控制中,实现有效的访问管理。

1.2 系统保护标识符(SPID)

在该 CPU 中,内存资源和外设由系统保护组管理。通过指定正在执行的程序所属的组,可以为程序分配可访问的内存资源和外设。正在执行的程序属于 SPID 指定的组,内存资源和外设是否可访问由 SPID 决定。管理员可以为 SPI

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1472882.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

2-3 图像分类数据集

MNIST数据集是图像分类任务中广泛使用的数据集之一,但作为基准数据集过于简单,我们将使用类似但更复杂的Fashion-MNIST数据集。 %matplotlib inline import torch import torchvision # pytorch模型关于计算机视觉模型实现的一个库 from torch.utils i…

【Unity 人性动画的复用性】

Unity的动画系统,通常称为Mecanim,提供了强大的动画复用功能,特别是针对人型动画的重定向技术。这种技术允许开发者将一组动画应用到不同的角色模型上,而不需要为每个模型单独制作动画。这通过在模型的骨骼结构之间建立对应关系来…

【Odoo开源ERP】别把ERP与进销存软件混为一谈

导读:企业使用ERP软件能够实现管理升级,多方信息集成,按照既定策略逻辑运算,生成计划建议,减少人力成本,提高准确率的同时提高经营能力。 ERP,是MRP II的下一代软件,除了MRP II已有的…

JAVA 获取客户端信息工具类

获取客户端信息工具类 import com.wangyao.common.constant.ConstantNumeral; import jakarta.annotation.Nullable; import jakarta.servlet.http.HttpServletRequest; import jakarta.validation.constraints.NotNull; import lombok.extern.slf4j.Slf4j;import java.io.IOEx…

[单master节点k8s部署]18.监控系统构建(三)Grafana安装

Grafana是一个跨平台的开源的度量分析和可视化工具。支持多种数据源,比如OpenTSDB,Prometheus,ElasticResearch,Cloudwatch等。 Grafana安装 通过yaml配置grafana的pod和service,grafana工作在kube-system的命名空间…

【C++】 解决 C++ 语言报错:Memory Leak

文章目录 引言 内存泄漏(Memory Leak)是 C 编程中常见且严重的内存管理问题之一。当程序分配了内存而没有正确释放,导致内存无法被重新利用时,就会发生内存泄漏。这种错误会导致程序占用越来越多的内存,最终可能导致系…

NFT音乐版权系统的主要功能

NFT音乐版权系统是指利用区块链技术和NFT技术来管理和交易音乐版权的系统。该系统的主要功能包括以下几个方面。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流合作。 1. 音乐版权确权 NFT音乐版权系统可以为音乐作品的版权提供独特的标识和…

FineBI在线学习资源-数据处理

FineBI在线学习资源汇总: 学习资源 视频课程 帮助文档 问答 数据处理学习文档: 相关资料: 故事背景概述-https://help.fanruan.com/finebi6.0/doc-view-1789.html 基础表处理-https://help.fanruan.com/finebi6.0/doc-view-1791.html …

什么是数字化产科管理平台?

什么是数字化产科管理平台? 数字化产科管理平台是为医院产科量身定制的信息管理系统,旨在提高医院产科的服务质量和管理效率。该平台全面覆盖了孕妇从怀孕开始到生产结束以及产后42天以内的一系列医院保健服务信息。以下是数字产科管理平台的详细介绍&a…

LLM - 神经网络的训练过程

1. 对于回归问题,用损失函数来计算预测值和真实值的差异,一种常用的公式是如下图所示(Mean Square Error),如果损失函数的值越小说明神经网络学习越准确,所以神经网络训练目标是减小损失函数的值, 2. 对于分类问题&…

Django学习第五天

启动项目命令 python manage.py runserver 图像验证码生成随机字母或者数字 import random from PIL import Image, ImageDraw, ImageFont, ImageFilterdef check_code(width120, height40, char_length5, font_fileZixunHappyBold.ttf, font_size28):code []img Image.new…

19C 单机文件系统安装文档

准备工作 1)查看系统版本、内核参数 more /etc/redhat-release more /etc/redflag-releaseuname -a2)查看当前系统是否配置了HugePages。在下面的查询中,HugePages的几个相关值都为0,表明当前未配值HugePages,其次可以看到该版本的大页大小为…

wsl安装Linux系统到指定位置

默认情况下,wsl安装的系统,会安装到系统C盘,长期下去,很容易把C盘的空间消耗完,从而影响系统的正常运行,所以我建议是将wsl所有的系统都安装到其它磁盘中,便于维护。 1、导出镜像 通过wsl -l -v 查看当前已安装的系统版本。 导出到当前目录位置,也可以指定目录位置。 w…

【并发编程JUC】AQS详解

定义理解 AQS,全称为AbstractQueuedSynchronizer,是Java并发包(java.util.concurrent)中的一个框架级别的工具类,用于构建锁和同步器。它是许多同步类的基础,如ReentrantLock、Semaphore、CountDownLatch等…

如何在 SwiftUI 中熟练使用 sensoryFeedback 修饰符

文章目录 前言背景介绍平台支持仅支持watchOS支持watchOS和iOS 基本用法预定义样式根据触发器值选择样式使用场景当值更改时触发使用条件闭包触发使用反馈闭包触发 可以运行 Demo总结 前言 SwiftUI 引入了新的 sensoryFeedback 视图修饰符,使我们能够在所有 Apple …

【UE5.3】笔记8 添加碰撞,检测碰撞

添加碰撞 打开BP_Food,添加Box Collision组件,与unity类似: 调整Box Collision的大小到刚好包裹物体,通过调整缩放和盒体范围来控制大小,一般先调整缩放找个大概大小,然后调整盒体范围进行微调。 碰撞检测 添加好碰撞…

OpenSSH for Windows安装和卸载方法

文章目录 一、关于OpenSSH for Windows二、OpenSSH 在Windows中进行安装三、安装或者卸载OpenSSH for Windows四、启动openssh for Windows五、通过openssh 连接Server推荐阅读 一、关于OpenSSH for Windows OpenSSH 是安全 Shell (SSH) 工具的开放源代码版本,Linu…

进程、程序、应用程序之间的关系

文章目录 进程和程序进程和应用程序总结参考资料 进程和程序 程序:程序是存放在硬盘中的可执行文件,主要包括代码指令和数据。程序本身是一个静态的文件,只有在被操作系统加载到内存中并执行时才会变成进程。 进程:进程是程序在…

gitLab使用流程

标题1.配置账户 git config --global user.name git config --global user.email mygitlabmali.cn 标题2.生成秘匙 ssh-keygen -t rsa -C “mygitlabmail.cn” 。 //输入命令后一直回车 ,输入命令后一直回车(密码可以不填),至…

昇思25天学习打卡营第8天|ResNet50迁移学习

一、迁移学习定义 迁移学习(Transfer Learning):在一个任务上训练得到的模型包含的知识可以部分或全部地转移到另一个任务上。允许模型将从一个任务中学到的知识应用到另一个相关的任务中。适用于数据稀缺的情况,可减少对大量标记…