[发明专利]一种同步多线程系统中共享寄存器的验证方法及装置有效
申请号: | 201710842395.3 | 申请日: | 2017-09-18 |
公开(公告)号: | CN109522049B | 公开(公告)日: | 2023-04-25 |
发明(设计)人: | 申晖 | 申请(专利权)人: | 展讯通信(上海)有限公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30 |
代理公司: | 北京兰亭信通知识产权代理有限公司 11667 | 代理人: | 赵永刚 |
地址: | 201203 上海市浦东新区浦东*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 同步 多线程 系统 共享 寄存器 验证 方法 装置 | ||
1.一种同步多线程系统中共享寄存器的验证方法,其特征在于,包括:
当同步多线程系统中至少两个线程同时访问同一共享寄存器时,对所述线程所执行的指令序列分别进行监测并分别获取所述线程对应的指令信息;
根据所获取的指令信息识别出非法的指令序列并发出错误提示信息,其中,当第一线程的指令信息中读请求已完成后,判断第二线程的指令信息中写请求是否完成的方式对非法的指令序列进行识别。
2.根据权利要求1所述的方法,其特征在于,所述指令信息包括读/写属性信息、写入值信息和指令的完成状态信息中一种或者任意组合。
3.根据权利要求1或2所述的方法,其特征在于,所述根据所获取的指令信息识别出非法的指令序列包括:
提取对第一线程进行监测所获取的第一线程的指令信息;
提取对第二线程进行监测所获取的第二线程的指令信息;
根据第一线程的指令信息和第二线程的指令信息识别出非法的指令序列。
4.根据权利要求3所述的方法,其特征在于,所述根据第一线程的指令信息和第二线程的指令信息识别出非法的指令序列包括:
当第一线程的指令信息中读请求已完成判断第二线程的指令信息中写请求是否完成,如果所述写请求已完成,则所述指令序列不是非法的指令序列并执行下一步;如果所述写请求未完成,则所述指令序列为非法的指令序列。
5.根据权利要求1所述的方法,其特征在于,在所述对所述线程所执行的指令序列分别进行监测并分别获取所述线程对应的指令信息之后,所述方法还包括:
将所获取的指令信息进行存储。
6.根据权利要求1所述的方法,其特征在于,在所述对所述线程所执行的指令序列分别进行监测并分别获取所述线程对应的指令信息之后,所述方法还包括:
对共享寄存器的值进行验证。
7.根据权利要求6所述的方法,其特征在于,所述对共享寄存器的值进行验证包括:
获取共享寄存器的更新结果;
提取所存储的指令信息;
根据所述更新结果和所存储的指令信息判断共享寄存器的值是否正确,如果所述共享寄存器的值正确,则继续对共享寄存器进行验证;如果共享寄存器的值不正确,则发出错误提示信息。
8.根据权利要求7所述的方法,其特征在于,所述根据所述更新结果和所存储的指令信息判断共享寄存器的值是否正确包括:
判断所述更新结果是否在所存储的指令信息内,如果在所存储的指令信息内,则所述共享寄存器的值正确;如果不在所存储的指令信息内,则共享寄存器的值不正确。
9.一种同步多线程系统中共享寄存器的验证装置,其特征在于,包括:
共享寄存器,分别与同步多线程系统中各线程连接,并用于同步多线程系统中各线程同时访问;
访问监测器,分别与同步多线程系统中各线程连接,并用于对各线程进行监测并获取各线程对应的指令信息,以及根据所获取的指令信息识别出非法的指令序列并发出错误提示信息;其中,当第一线程的指令信息中读请求已完成后,判断第二线程的指令信息中写请求是否完成的方式对非法的指令序列进行识别。
10.根据权利要求9所述的装置,其特征在于,所述访问监测器包括:
监测模块,用于对各线程进行监测并获取各线程对应的指令信息;
存储模块,用于将所获取的指令信息进行存储;
识别模块,用于根据所获取的指令信息识别出非法的指令序列;
错误发送模块,用于发出错误提示信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于展讯通信(上海)有限公司,未经展讯通信(上海)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710842395.3/1.html,转载请声明来源钻瓜专利网。