当前位置: 首页 > news >正文

玄铁C906——物理内存保护(PMP)介绍

1、前言

(1)本文描述的是玄铁C906的物理内存保护机制的实现中,与RISC-V架构手册中完整PMP机制的差异部分
(2)RISC-V架构的PMP机制,参考博客:《RISC-V架构——物理内存属性和物理内存保护》;

2、PMP概览

在这里插入图片描述

3、PMP地址寄存器差异

在这里插入图片描述
在这里插入图片描述

4、PMP地址寄存器差异带来编程差异

(1)pmp配置项中的NAPOR地址匹配模式是计算pmp地址寄存器中值的低位有多少个零来计算的,但是c906的pmp地址寄存器读出来低九位只能是零,所以通过读PMP地址寄存器的值来反推保护区域范围就有问题,不能直接移植opensbi里的pmp_get函数,需要考虑低九位只读且为零的问题;
(2)举例:按照NAPOR地址匹配模式,写入38’ byy_yyyy_yyyy_yyyy_yyyy_yyyy_yyyy_yy01_1111_1111表示保护区域是2的(9+3)次方,也就是4KB。但是你将上面的值写入,然后从PMP地址寄存器中读出来是38’ byy_yyyy_yyyy_yyyy_yyyy_yyyy_yyyy_yy00_0000_0000,因为pmp地址寄存器的低九位只读且为零;

5、拓展

问题:为什么把低九位设计成只读且为零?
个人看法:
(1)芯片支持最小保护区域是4KB,也就是保护区域的大小的4KB的整数倍,4KB也就2的12次方;
(2)按照NAPOR地址匹配模式计算保护区域,大小是2的(n+3)次方,其中n是地址最低位连续1的个数。要表示4KB,刚好n=12-3=9,也就是低九位肯定是连续1,既然低九位是固定的,那干脆就硬件直接设计成只读为零,简化芯片设计;

相关文章:

玄铁C906——物理内存保护(PMP)介绍

1、前言 (1)本文描述的是玄铁C906的物理内存保护机制的实现中,与RISC-V架构手册中完整PMP机制的差异部分; (2)RISC-V架构的PMP机制,参考博客:《RISC-V架构——物理内存属性和物理内存…...

【进阶C语言】编译与链接、预处理符号详解

目录 一、翻译环境 编译 1.预编译(预处理) 2.编译 3.汇编 链接 二、运行环境 三、预处理符号详解 1.预定义符号 2.#define 3.#undef 4..命令行定义 5.条件编译 6.头文件包含 代码是怎么变成可执行程序的? 一、翻译环境 翻译环境…...

spring.profiles生效顺序

服务在不同环境启动,需要的运行参数可能会有差异,不同启动环境也可能公用同一份运行参,为了方便对这些不同环境相同和差异参数进行管理,springboot提供了文件配置化形式对这些参数进行管理,对于不同环境的差异化参数使…...

【经典PageRank 】02/2 算法和线性代数

系列前文:【经典 PageRank 】01/2 PageRank的基本原理-CSDN博客 一、说明 并非所有连接都同样重要! 该算法由 Sergey 和 Lawrence 开发,用于在 Google 搜索中对网页进行排名。基本原则是重要或值得信赖的网页更有可能链接到其他重要网页。例…...

【微客云】91优惠话费充值API接口开发功能介绍

话费充值接口文档 接口版本:1.0 ―、引言 文档概述 本文档提供话费充值接口规范说明,提供一整套的完整的接入示例(http 接口)供商户参 考,可以帮助商户开发人员快速完成接口开发与联调,实现与话费充值系统的交易互联。 公司官网…...

Kubernetes - 一键安装部署 K8S(附:Kubernetes Dashboard)

问题描述 不知道大伙是如何安装 K8s,特别还是集群的时候,我上一次安装搭建的时候,那个恶心到我了,真的是一步一个脚印走完整个搭建流程,爬了不少坑。 于是,才有了今天的文章,到底有没有可以一…...

Camera2开发基础知识篇——手机影像参数

1. 2、对焦 对焦指相机将图像清晰聚焦的过程。自动对焦功能可自动调整焦点,确保主体清晰锐利。手动对焦功能允许用户手动选择焦点。 3、焦距 简单理解就是指镜头的视角和放大倍数。实际到物理设备,焦距就是从镜片光学中心到底片、CCD或CMOS等成像平面…...

Unity之ShaderGraph如何实现无贴图水球效果

前言 我们今天来实现一个无贴图水球效果,如下图所示: 主要节点 UVSplit:可以获得UV在RGB三个颜色分别的分量 Remap:重映射节点 基于输入 In 值在输入In Min Max的 x 和 y 分量之间的线性插值,返回输入Out Min Max…...

【C语言】指针错题(类型分析)

题目&#xff1a; #include <stdio.h> int main () {int*p NULL;int arr[10] {0}; return 0; } 选项&#xff1a; A、p arr ; B、 int (* ptr )[10]& arr ; C、 p & arr [ 0 ]; D、 p & arr ; 解析&#xff1a; 1、 p 是一个指针变量&#xff0c;指…...

prosemirror 学习记录(二)创建 apple 节点

apple type 向 schema 中添加 apple type const nodes {apple: {inline: true,attrs: {name: { default: "unknown" },},group: "inline",draggable: true,parseDOM: [{tag: "span[custom-node-typeapple]",getAttrs(dom) {return {name: dom…...

自然语言处理---迁移学习

fasttext介绍 作为NLP工程领域常用的工具包&#xff0c;fasttext有两大作用&#xff1a;进行文本分类、训练词向量。在保持较高精度的情况下&#xff0c;快速的进行训练和预测是fasttext的最大优势。fasttext优势的原因: fasttext工具包中内含的fasttext模型具有十分简单的网络…...

node 第十天 原生node封装一个简易的服务器

原生node封装一个简易的服务器, 把前面几天的知识揉和起来做一个服务器基础实现, 首页访问, 静态资源服务器, 特定接口封装, 404app.js 服务器入口文件 app.js node app.js即可启动服务器 const { start } require(./modules/server); start();require_modules.js 整合模块导…...

php实战案例记录(25)intval函数的用法

在PHP中&#xff0c;intval()函数用于将一个字符串转换为整数。它的语法如下&#xff1a; intval(string $value, int $base 10): int参数说明&#xff1a; $value&#xff1a;要转换的字符串。$base&#xff08;可选&#xff09;&#xff1a;进制数&#xff0c;默认为10。如…...

laravel框架介绍(二) composer命令下载laravel报错

1.composer命令下载laravel报如下错 &#xff1a; curl error 18 while downloading https://repo.packagist.org/p2/symfony/uid.j son: transfer closed with 3808 bytes remaining to read&#xff0c;具体为 解决方案&#xff1a;执行以下命令切换镜像 >composer con…...

代码签名证书到期了怎么续费?

我们都知道代码签名证书最长期限可以申请3年&#xff0c;但有的首次申请也会申请1年&#xff0c;这种情况下证书到期了就意味着要重新办理&#xff0c;同样的实名验证步骤还需要再走一遍&#xff0c;尤其目前无论是哪种类型的代码签名证书都会有物理硬件&#xff0c;即使交钱实…...

JAVA 同城服务预约家政小程序开发的优势和运营

随着社会节奏的加快&#xff0c;人们对家庭清洁和维护的需求日益增长。为了满足这一需求&#xff0c;JAVA同城服务预约家政小程序应运而生。本文将详细介绍该小程序开发的优势及运营策略&#xff0c;帮助读者更好地了解其价值和潜力。 一、开发优势 方便快捷&#xff1a;用户…...

基于粒子群算法的无人机航迹规划-附代码

基于粒子群算法的无人机航迹规划 文章目录 基于粒子群算法的无人机航迹规划1.粒子群搜索算法2.无人机飞行环境建模3.无人机航迹规划建模4.实验结果4.1地图创建4.2 航迹规划 5.参考文献6.Matlab代码 摘要&#xff1a;本文主要介绍利用粒子群算法来优化无人机航迹规划。 1.粒子群…...

前端使用qrcodejs2插件实现根据网址生成二维码

实现效果&#xff1a; 实现方法&#xff1a; 1.安装插件 npm install --save qrcodejs2 2.可以全局引入&#xff0c;也可以只在使用的vue文件中引入 import QRCode from qrcodejs2; 3.在vue文件的template中设置放置二维码的div <div id"qrcode"></di…...

A股风格因子看板 (2023.10 第11期)

该因子看板跟踪A股风格因子&#xff0c;该因子主要解释沪深两市的市场收益、刻画市场风格趋势的系列风格因子&#xff0c;用以分析市场风格切换、组合风格暴露等。 今日为该因子跟踪第11期&#xff0c;指数组合数据截止日2023-09-30&#xff0c;要点如下 近1年A股风格因子检验统…...

anaconda安装python 3.11

最近需要测试gpt researcher项目&#xff0c;gpt researcher项目的环境是3.11&#xff0c;于是用anaconda创建一个虚拟环境&#xff0c;结果报错了&#xff1a; UnsatisfiableError: The following specifications were found to be incompatible with each other:Package xz c…...

TDengine 快速体验(Docker 镜像方式)

简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能&#xff0c;本节首先介绍如何通过 Docker 快速体验 TDengine&#xff0c;然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker&#xff0c;请使用 安装包的方式快…...

椭圆曲线密码学(ECC)

一、ECC算法概述 椭圆曲线密码学&#xff08;Elliptic Curve Cryptography&#xff09;是基于椭圆曲线数学理论的公钥密码系统&#xff0c;由Neal Koblitz和Victor Miller在1985年独立提出。相比RSA&#xff0c;ECC在相同安全强度下密钥更短&#xff08;256位ECC ≈ 3072位RSA…...

iPhone密码忘记了办?iPhoneUnlocker,iPhone解锁工具Aiseesoft iPhone Unlocker 高级注册版​分享

平时用 iPhone 的时候&#xff0c;难免会碰到解锁的麻烦事。比如密码忘了、人脸识别 / 指纹识别突然不灵&#xff0c;或者买了二手 iPhone 却被原来的 iCloud 账号锁住&#xff0c;这时候就需要靠谱的解锁工具来帮忙了。Aiseesoft iPhone Unlocker 就是专门解决这些问题的软件&…...

连锁超市冷库节能解决方案:如何实现超市降本增效

在连锁超市冷库运营中&#xff0c;高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术&#xff0c;实现年省电费15%-60%&#xff0c;且不改动原有装备、安装快捷、…...

pikachu靶场通关笔记22-1 SQL注入05-1-insert注入(报错法)

目录 一、SQL注入 二、insert注入 三、报错型注入 四、updatexml函数 五、源码审计 六、insert渗透实战 1、渗透准备 2、获取数据库名database 3、获取表名table 4、获取列名column 5、获取字段 本系列为通过《pikachu靶场通关笔记》的SQL注入关卡(共10关&#xff0…...

学校时钟系统,标准考场时钟系统,AI亮相2025高考,赛思时钟系统为教育公平筑起“精准防线”

2025年#高考 将在近日拉开帷幕&#xff0c;#AI 监考一度冲上热搜。当AI深度融入高考&#xff0c;#时间同步 不再是辅助功能&#xff0c;而是决定AI监考系统成败的“生命线”。 AI亮相2025高考&#xff0c;40种异常行为0.5秒精准识别 2025年高考即将拉开帷幕&#xff0c;江西、…...

R 语言科研绘图第 55 期 --- 网络图-聚类

在发表科研论文的过程中&#xff0c;科研绘图是必不可少的&#xff0c;一张好看的图形会是文章很大的加分项。 为了便于使用&#xff0c;本系列文章介绍的所有绘图都已收录到了 sciRplot 项目中&#xff0c;获取方式&#xff1a; R 语言科研绘图模板 --- sciRplothttps://mp.…...

从“安全密码”到测试体系:Gitee Test 赋能关键领域软件质量保障

关键领域软件测试的"安全密码"&#xff1a;Gitee Test如何破解行业痛点 在数字化浪潮席卷全球的今天&#xff0c;软件系统已成为国家关键领域的"神经中枢"。从国防军工到能源电力&#xff0c;从金融交易到交通管控&#xff0c;这些关乎国计民生的关键领域…...

云原生周刊:k0s 成为 CNCF 沙箱项目

开源项目推荐 HAMi HAMi&#xff08;原名 k8s‑vGPU‑scheduler&#xff09;是一款 CNCF Sandbox 级别的开源 K8s 中间件&#xff0c;通过虚拟化 GPU/NPU 等异构设备并支持内存、计算核心时间片隔离及共享调度&#xff0c;为容器提供统一接口&#xff0c;实现细粒度资源配额…...

基于鸿蒙(HarmonyOS5)的打车小程序

1. 开发环境准备 安装DevEco Studio (鸿蒙官方IDE)配置HarmonyOS SDK申请开发者账号和必要的API密钥 2. 项目结构设计 ├── entry │ ├── src │ │ ├── main │ │ │ ├── ets │ │ │ │ ├── pages │ │ │ │ │ ├── H…...