[发明专利]使用编译器插入的转换代码对冗余线程进行指纹识别的方法和设备有效
申请号: | 201780036459.9 | 申请日: | 2017-06-21 |
公开(公告)号: | CN109313551B | 公开(公告)日: | 2021-02-23 |
发明(设计)人: | 丹尼尔·I·洛厄尔 | 申请(专利权)人: | 超威半导体公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30 |
代理公司: | 上海胜康律师事务所 31263 | 代理人: | 樊英如;张华 |
地址: | 美国加利*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 使用 编译器 插入 转换 代码 冗余 线程 进行 指纹识别 方法 设备 | ||
1.一种加速处理方法,包括:
在相应的处理元件上执行冗余线程;
通过将由所述冗余线程执行的运算的结果与先前编码值和初始值中的至少一个进行散列来生成所述结果的编码值,其中响应于所述冗余线程执行用于比较所述结果的事件触发器来生成所述编码值;以及
根据自从对所述结果的先前编码值的先前比较以来,所述事件触发器是否已经发生了可配置的次数,选择性地绕过对所述编码值的至少一次比较。
2.如权利要求1所述的方法,其中所述可配置的次数大于1。
3.如权利要求1所述的方法,其中所述事件触发器是由所述冗余线程执行以将所述结果存储到存储器中的存储指令。
4.如权利要求1所述的方法,其中在所述相应的处理元件上执行所述冗余线程包括在所述相应的处理元件上同时执行所述冗余线程。
5.如权利要求1所述的方法,还包括:
通过在编译期间插入代码来修改将由所述冗余线程执行的程序代码,以生成用于对所述结果进行散列的代码值的查找表。
6.如权利要求5所述的方法,其中在编译期间修改所述程序代码还包括为每个所述冗余线程初始化计数器,其中每个计数器都响应于所述冗余线程执行所述事件触发器而递增,并且其中将所述计数器的值与所述可配置的次数进行比较,以确定是否选择性地绕过所述至少一次比较。
7.如权利要求6所述的方法,其中在编译期间修改所述程序代码还包括插入代码以对所述结果进行散列以生成所述编码值,以将所述计数器的值与所述可配置的次数进行比较以确定是否选择性地绕过所述至少一次比较,以及以响应于确定用于所述比较的所述事件触发器已经发生了所述可配置的次数而在所述冗余线程之间共享和比较所述编码值。
8.如权利要求7所述的方法,其中在编译期间修改所述程序代码还包括插入代码以确定在所述冗余线程退出所述程序代码之前是否要执行未完成的共享和比较运算。
9.一种加速处理设备,包括:
用于执行第一线程的第一处理元件;以及
用于执行对所述第一线程来说是冗余的至少一个第二线程的至少一个第二处理元件,其中所述第一处理元件和所述至少一个第二处理元件通过将由所述第一线程和所述至少一个第二线程执行的运算的结果与先前编码值和初始值中的至少一个进行散列来编码所述结果的值,其中响应于所述第一线程和所述至少一个第二线程执行用于比较所述结果的事件触发器来生成所述编码值,以及其中所述第一处理元件和所述至少一个第二处理元件将根据自从对所述结果的先前编码值的先前比较以来,所述事件触发器是否已经发生了可配置的次数,选择性地绕过对所述编码值的至少一次比较。
10.如权利要求9所述的设备,其中所述可配置的次数大于1。
11.如权利要求9所述的设备,其中所述事件触发器是由所述冗余线程执行以存储所述结果的存储指令。
12.如权利要求9所述的设备,其中分别通过所述第一处理元件和所述至少一个第二处理元件同时执行所述第一线程和所述至少一个第二线程。
13.如权利要求9所述的设备,还包括:
包含所述第一处理元件和所述至少一个第二处理元件的多个处理元件,其中所述多个处理元件实现编译器,所述编译器被配置为通过在编译期间插入代码来修改将由所述第一线程和所述至少一个第二线程执行的程序代码,以生成代码值的查找表,所述代码值用于对所述结果进行散列以生成所述编码值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于超威半导体公司,未经超威半导体公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201780036459.9/1.html,转载请声明来源钻瓜专利网。