一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种应用于RISC_V架构的低资源内存保护装置的制作方法

2022-07-02 05:26:47 来源:中国专利 TAG:

一种应用于risc_v架构的低资源内存保护装置
技术领域
1.本发明涉及soc内存保护技术领域,特别涉及一种应用于risc_v架构的低资源内存保护装置。


背景技术:

2.risc_v是近年来发展十分迅速的一种开源指令集架构。为支持soc(system on chip,片上系统)安全处理和故障控制,risc_v特权架构标准提出了物理内存保护pmp结构。risc_v支持最多16个物理内存保护表项可配置,每个表项对应一个32位或64位地址段,即pmpaddr0~pmpaddr15寄存器,以及8位的配置寄存器,合并后为32位的pmpcfg0~pmpcfg3寄存器。
3.当前主流pmp处理结构,都是将指令获取地址和访存地址单独判定,以实现快速的地址合法性检查,但对某些速率要求较低且资源面积紧张的soc来说,会占用大量soc资源。
4.基于上述情况,本发明提出了一种应用于risc_v架构的低资源内存保护装置。


技术实现要素:

5.本发明为了弥补现有技术的缺陷,提供了一种简单高效的应用于risc_v架构的低资源内存保护装置。
6.本发明是通过如下技术方案实现的:
7.一种应用于risc_v架构的低资源内存保护装置,其特征在于:包括依次连接的soc模块、地址合并模块、关联存储器tlb模块和pmp(物理内存保护)模块;
8.所述地址合并模块,用于合并指令获取地址和访存地址;
9.所述关联存储器tlb模块,用于实现虚拟地址到真实物理地址的快速查找;
10.所述pmp模块,用于实现物理地址的访存权限和指令执行信息;
11.所述soc模块,负责根据关联存储器tlb模块反馈的真实物理地址和pmp检查结果执行soc程序,实现内存保护。
12.所述地址合并模块将指令获取地址和访存地址合并为一个虚拟地址,并生成判定指令获取地址与访存地址的地址类型判定信号;
13.所述关联存储器tlb模块包括快速定位页表项,负责虚拟地址映射到实际物理地址,生成指令执行信息、访存权限信息和地址有效命中信息;
14.当来源于地址合并模块的地址,未命中关联存储器tlb模块内部的快速定位页表项时,所述关联存储器tlb模块遍历所有页表,实现虚拟地址到实际物理地址的映射;
15.所述pmp模块在接收到实际物理地址和地址类型判定信号后,通过实际物理地址遍历pmp地址寄存器,判定地址是否命中有效物理地址空间,再通过地址类型判定信号以及pmp配置寄存器,判定指令执行信息和访存权限信息;
16.判定结束后,将pmp检查结果反馈到关联存储器tlb模块以及soc模块。
17.所述pmp模块预设有16个地址寄存器和4个配置寄存器,每个配置寄存器含有4个
表项的8位权限设置,每个权限设置包含pmp表项寄存器锁定位、地址匹配模式位、指令执行属性位、访存写属性位和访存读属性位。
18.对于低资源内存保护结构,所述soc模块不能同时生成的指令获取地址和访存地址,具体工作流程如下:
19.步骤s1、上电后,soc模块通过地址总线配置16个地址寄存器和4个配置寄存器,开启内存保护功能;
20.步骤s2、soc程序开始运行,生成指令获取地址或访存地址,传输到地址合并模块;
21.步骤s3、地址合并模块判定地址类型,若为指令获取地址,则地址类型判定信号为高,输出虚拟地址为指令获取地址;否则,地址类型判定信号为低,输出虚拟地址为访存地址;
22.步骤s4、关联存储器tlb模块根据虚拟地址遍历内部的快速定位页表项,如果遍历命中,则直接映射获取真实物理地址,同时,根据地址类型判定信号获取pmp检查结果,即地址有效命中信息、指令执行信息或访存权限信息;将映射后的真实物理地址和pmp检查结果反馈回soc;
23.如果遍历未命中,关联存储器tlb模块通过虚拟地址,遍历所有地址映射页表项,获取真实物理地址。
24.所述pmp模块根据配置寄存器中的地址匹配模式位和地址寄存器,判定pmp模块三种工作模式tor(the onion router,洋葱路由器)、na4或napot下的不同有效地址段;
25.所述pmp模块获取关联存储器tlb模块传输的真实物理地址,遍历16个有效地址段,判定真实物理地址的命中地址段。
26.当真实物理地址命中某个地址段后,根据地址类型判定信号以及配置寄存器中对应表项的指令执行属性位,访存写属性位和读属性位,生成pmp检查结果,即地址有效命中信息、指令执行信息或访存权限信息;将pmp检查结果反馈回关联存储器tlb模块,关联存储器tlb模块根据页面置换算法和策略,将虚拟地址、对应真实物理地址和pmp检查结果更新到快速定位页表项;同时关联存储器tlb模块将真实物理地址和pmp检查结果反馈回soc模块。
27.若真实物理地址未命中任何有效地址段,pmp模块根据soc模块当前的工作模式,即机器模式、用户模式和监控模式,将未命中信息返回关联存储器tlb模块,关联存储器tlb模块根据页面置换算法和策略,将虚拟地址、对应真实物理地址和pmp检查结果更新到快速定位页表项;同时关联存储器tlb模块将真实物理地址和pmp检查结果反馈回soc模块。
28.本发明应用于risc_v架构的低资源内存保护装置,包括依次连接的soc模块、地址合并模块和pmp(物理内存保护)模块;
29.所述soc模块传输的地址为真实物理地址,所述地址合并模块输出的地址为真实物理地址;所述pmp模块接收到真实物理地址后,遍历所有有效地址段,根据命中结果,将pmp检查结果,即地址有效命中信息、指令执行信息或访存权限信息,反馈给soc模块。
30.本发明的有益效果是:该应用于risc_v架构的低资源内存保护装置,结构简单,将指令获取地址和访存地址合并为一个虚拟地址,极大的降低了tlb和pmp处理逻辑的内部资源应用面积以及物理内存保护结构的处理功耗,具有较高的实用价值。
附图说明
31.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
32.附图1为本发明应用于risc_v架构的低资源内存保护装置示意图。
33.附图2为本发明应用于risc_v架构的低资源内存保护方法示意图。
具体实施方式
34.为了使本技术领域的人员更好的理解本发明中的技术方案,下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚,完整的描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
35.该应用于risc_v架构的低资源内存保护装置,包括依次连接的soc模块、地址合并模块、关联存储器tlb模块和pmp(物理内存保护)模块;
36.所述地址合并模块,用于合并指令获取地址和访存地址;
37.所述关联存储器tlb模块,用于实现虚拟地址到真实物理地址的快速查找;
38.所述pmp模块,用于实现物理地址的访存权限和指令执行信息;
39.所述soc模块,负责根据关联存储器tlb模块反馈的真实物理地址和pmp检查结果执行soc程序,实现内存保护。
40.所述地址合并模块将指令获取地址和访存地址合并为一个虚拟地址,并生成判定指令获取地址与访存地址的地址类型判定信号;
41.所述关联存储器tlb模块包括快速定位页表项,负责虚拟地址映射到实际物理地址,生成指令执行信息、访存权限信息和地址有效命中信息;
42.当来源于地址合并模块的地址,未命中关联存储器tlb模块内部的快速定位页表项时,所述关联存储器tlb模块遍历所有页表,实现虚拟地址到实际物理地址的映射;
43.所述pmp模块在接收到实际物理地址和地址类型判定信号后,通过实际物理地址遍历pmp地址寄存器,判定地址是否命中有效物理地址空间,再通过地址类型判定信号以及pmp配置寄存器,判定指令执行信息和访存权限信息;
44.判定结束后,将pmp检查结果反馈到关联存储器tlb模块以及soc模块。
45.所述pmp模块预设有16个地址寄存器和4个配置寄存器,每个配置寄存器含有4个表项的8位权限设置,每个权限设置包含pmp表项寄存器锁定位、地址匹配模式位、指令执行属性位、访存写属性位和访存读属性位。
46.所述pmp模块与系统总线互联,负责实现16个地址寄存器和4个配置寄存器的读写功能。
47.对于低资源内存保护结构,所述soc模块不能同时生成的指令获取地址和访存地址,具体工作流程如下:
48.步骤s1、上电后,soc模块通过地址总线配置16个地址寄存器和4个配置寄存器,开启内存保护功能;
49.步骤s2、soc程序开始运行,生成指令获取地址或访存地址,传输到地址合并模块;
50.步骤s3、地址合并模块判定地址类型,若为指令获取地址,则地址类型判定信号为高,输出虚拟地址为指令获取地址;否则,地址类型判定信号为低,输出虚拟地址为访存地址;
51.步骤s4、关联存储器tlb模块根据虚拟地址遍历内部的快速定位页表项,如果遍历命中,则直接映射获取真实物理地址,同时,根据地址类型判定信号获取pmp检查结果,即地址有效命中信息、指令执行信息或访存权限信息;将映射后的真实物理地址和pmp检查结果反馈回soc;
52.如果遍历未命中,关联存储器tlb模块通过虚拟地址,遍历所有地址映射页表项,获取真实物理地址。
53.所述pmp模块根据配置寄存器中的地址匹配模式位和地址寄存器,判定pmp模块三种工作模式tor(the onion router,洋葱路由器)、na4或napot下的不同有效地址段;
54.所述pmp模块获取关联存储器tlb模块传输的真实物理地址,遍历16个有效地址段,判定真实物理地址的命中地址段。
55.当真实物理地址命中某个地址段后,根据地址类型判定信号以及配置寄存器中对应表项的指令执行属性位,访存写属性位和读属性位,生成pmp检查结果,即地址有效命中信息、指令执行信息或访存权限信息;将pmp检查结果反馈回关联存储器tlb模块,关联存储器tlb模块根据页面置换算法和策略,将虚拟地址、对应真实物理地址和pmp检查结果更新到快速定位页表项;同时关联存储器tlb模块将真实物理地址和pmp检查结果反馈回soc模块。
56.若真实物理地址未命中任何有效地址段,pmp模块根据soc模块当前的工作模式,即机器模式、用户模式和监控模式,将未命中信息返回关联存储器tlb模块,关联存储器tlb模块根据页面置换算法和策略,将虚拟地址、对应真实物理地址和pmp检查结果更新到快速定位页表项;同时关联存储器tlb模块将真实物理地址和pmp检查结果反馈回soc模块。
57.页面置换算法和策略根据不同设计需求,可采用最优算法、先进先出算法、最近未使用算法等不同结构。
58.pmp模块的地址寄存器和配置寄存器根据设计需求不同,只使用其中的部分,如配置未4个有效地址段、8个地址段。
59.为了实现地址合法性检测的实时性,可删除tlb模块。该应用于risc_v架构的低资源内存保护装置,包括依次连接的soc模块、地址合并模块和pmp(物理内存保护)模块;
60.所述soc模块传输的地址为真实物理地址,所述地址合并模块输出的地址为真实物理地址;所述pmp模块接收到真实物理地址后,遍历所有有效地址段,根据命中结果,将pmp检查结果,即地址有效命中信息、指令执行信息或访存权限信息,反馈给soc模块。
61.以上所述的实施例,只是本发明具体实施方式的一种,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献