[发明专利]一种面向边信道安全防护的循环语句执行方法及装置有效
申请号: | 202110443636.3 | 申请日: | 2021-04-23 |
公开(公告)号: | CN113076090B | 公开(公告)日: | 2022-07-05 |
发明(设计)人: | 黄立波;童敢;郭辉;郑重;邓全;倪晓强;郭维;雷国庆;王俊辉;隋兵才;孙彩霞;王永文 | 申请(专利权)人: | 中国人民解放军国防科技大学 |
主分类号: | G06F8/30 | 分类号: | G06F8/30;G06F8/41;G06F9/30 |
代理公司: | 湖南兆弘专利事务所(普通合伙) 43008 | 代理人: | 谭武艺 |
地址: | 410073 湖南*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 面向 信道 安全 防护 循环 语句 执行 方法 装置 | ||
1.一种面向边信道安全防护的循环语句执行方法,其特征在于,包括:
1)预先识别目标程序的源代码或目标代码中的循环体,为每一段循环体前插入一条基于可扩展指令集体系结构编码规范的扩展循环指令,得到使用扩展循环指令的目标程序;
2)在执行使用扩展循环指令的目标程序时,若遇到扩展循环指令,则基于扩展循环指令确定性执行该扩展循环指令后的循环体;
步骤2)中基于扩展循环指令确定性执行该扩展循环指令后的循环体时还包括基于循环状态寄存器组来记录循环体执行状态的步骤,所述循环状态寄存器组包括:剩余迭代次数寄存器loop_counter,用于存放当前执行循环的剩余迭代次数;循环体内指令条数寄存器inst_counter,用于存放循环体的循环体内指令条数;已加载指令条数寄存器load_counter,用于存放已加载到循环指令缓冲区的指令条数;当前执行指令地址寄存器inst_pointer,用于存放当前执行循环指令的指令地址,当前执行循环指令的指令地址包括两个部分,一部分为循环体首条指令地址,另一部分为当前执行指令地址相对循环体首条指令地址的偏移量;步骤2)中执行使用扩展循环指令的目标程序的步骤包括:
2.1)判断循环指令缓冲区的剩余迭代次数寄存器loop_counter是否为0,若为0则判定上一个循环已经运行完毕或未执行过循环,跳转执行下一步;跳转执行步骤2.5);
2.2)从指令缓存I-Cache中抓取指令I;
2.3)判断抓取的指令I是否为扩展循环指令,若为扩展循环指令,则首先译码识别出扩展循环指令的循环迭代次数k和循环体内指令条数n,然后执行循环状态寄存器组的初始化:初始化设置剩余迭代次数寄存器loop_counter为扩展循环指令的循环迭代次数k,循环体内指令条数寄存器inst_counter为扩展循环指令的循环体内指令条数n,已加载指令条数寄存器load_counter为0、当前执行指令地址寄存器inst_pointer为0;
2.4)更新程序计数器PC的值为下一条指令的地址,跳转执行步骤2.1);
2.5)判断循环指令缓冲区的已加载指令条数寄存器load_counter小于循环体内指令条数寄存器inst_counter是否成立,若成立则判定当前处于循环体的第一轮迭代的执行过程中、且循环体的指令尚未加载完毕,继续从指令缓存I-Cache中抓取指令I;若不成立,则判定当前处于循环体的第二轮迭代或后续轮迭代的执行过程中,跳转执行步骤2.7);
2.6)抓取的指令I进入流水线,并将抓取的指令I写入循环指令缓冲区LIB的第load_counter个缓冲区槽位,并将已加载指令条数寄存器load_counter的值加1,跳转执行步骤2.4);
2.7)从循环指令缓冲区LIB中抓取指令I[inst_pointer],其中inst_pointer为当前执行指令地址寄存器inst_pointer的偏移量;
2.8)抓取的指令I[inst_pointer]进入流水线,并更新当前执行指令地址寄存器inst_pointer的值为:(inst_pointer+1)%inst_counter,其中inst_pointer为当前执行指令地址寄存器inst_pointer的偏移量,inst_counter为循环体内指令条数寄存器inst_counter的值;
2.9)判断循环体内指令条数寄存器inst_counter的值为0是否成立,若成立,在将剩余迭代次数寄存器loop_counter的值减1;跳转执行步骤2.1)。
2.根据权利要求1所述的面向边信道安全防护的循环语句执行方法,其特征在于,步骤1)中的扩展循环指令的编码信息包括该扩展循环指令后循环体的循环迭代次数和循环体内指令条数。
3.根据权利要求1所述的面向边信道安全防护的循环语句执行方法,其特征在于,所述扩展循环指令最大支持的循环体内指令条数为2a-1条,其中a为扩展循环指令中循环体内指令条数的位宽。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科技大学,未经中国人民解放军国防科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110443636.3/1.html,转载请声明来源钻瓜专利网。