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

一种跨平台的程序指令重排的验证方法与流程

2022-07-13 22:09:26 来源:中国专利 TAG:

技术特征:
1.一种跨平台的程序指令重排的验证方法,其特征在于将两个应用进程对同一块共享内存读写并发操作,运行时写进程在某地址写数据时,读进程在该地址上追赶到写进程进行读操作;具体方法如下:写进程程序,主流程中执行两个步骤:先进行data变量赋值操作,后进行flag变量的赋值操作;读进程程序,主流程中执行两个步骤:先判断flag变量是否就绪;就绪后再进行data变量的读操作,然后检查data值和上一次读取值predata之差,差值不为1则表示指令重排。2.如权利要求1所述的一种跨平台的程序指令重排的验证方法,其特征在于所述应用进程中的变量data和flag在内存实现中组成程序操作的最小单元,以便读写进程的使用,因此程序中使用结构体将两个变量组合成逻辑上的整体。3.如权利要求1所述的一种跨平台的程序指令重排的验证方法,其特征在于所述共享内存是一块大小固定且连续的共享内存,形同一块连续的数组。4.如权利要求2所述的一种跨平台的程序指令重排的验证方法,其特征在于所述的共享内存为首尾相接的环形结构。5.如权利要求1-4任一所述的一种跨平台的程序指令重排的验证方法,其特征在于所述验证方法,具体如下:a.写进程负责内存数据的生成,写进程使用写指针操作共享内存,从第一位置开始,将data和flag赋一个相同的64位的long long类型值,使用相同的数值用于读进程进行数据判断,赋值完成后,写指针后移一位,同时,下一个位置的赋值递增一;b.读进程负责内存数据的读取,同时,通过对flag和data的数据检查,完成对程序运行状态的验证,判断进程运行过程中cpu操作是否发生了指令重排,读进程使用读指针操作共享内存,在读进程中设置一个变量为predata,初始化为0,该值记录每次读进程获取到的内存位置中的data值,供读进程进行数据正确性判断。

技术总结
本发明公开一种跨平台的程序指令重排的验证方法,该方法将两个应用进程对同一块共享内存读写并发操作,运行时写进程在某地址写数据时,读进程在该地址上追赶到写进程进行读操作,具体方法包括写进程程序和读进程程序,所述写进程程序主流程中先进行Data变量赋值操作,再进行Flag变量的赋值操作;所述读进程程序主流程中先判断Flag变量是否就绪,再进行Data变量的读操作,检查Data值和上一次读取值preData之差,差值不为1则表示指令重排;本发明公开的一种跨平台的程序指令重排的验证方法,提出了内存中的Data和Flag同时设置为相同的数值的方式,简化了指令重排的结果验证,支持多种程序设计语言,通过共享内存使用,便于进程之间的数据同步。进程之间的数据同步。进程之间的数据同步。


技术研发人员:束长栋 廖球
受保护的技术使用者:上交所技术有限责任公司
技术研发日:2022.03.09
技术公布日:2022/7/12
再多了解一些

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

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

相关文献