-
公开(公告)号:CN108112269A
公开(公告)日:2018-06-01
申请号:CN201680054133.4
申请日:2016-09-13
Applicant: 微软技术许可有限责任公司
CPC classification number: G06F9/3016 , G06F9/268 , G06F9/30007 , G06F9/30021 , G06F9/30036 , G06F9/3004 , G06F9/30043 , G06F9/30047 , G06F9/3005 , G06F9/30058 , G06F9/30072 , G06F9/30076 , G06F9/30087 , G06F9/3009 , G06F9/30098 , G06F9/30101 , G06F9/30105 , G06F9/3013 , G06F9/30138 , G06F9/30145 , G06F9/30167 , G06F9/30189 , G06F9/32 , G06F9/321 , G06F9/345 , G06F9/35 , G06F9/355 , G06F9/3557 , G06F9/3802 , G06F9/3804 , G06F9/3822 , G06F9/3824 , G06F9/3828 , G06F9/383 , G06F9/3836 , G06F9/3838 , G06F9/3842 , G06F9/3848 , G06F9/3851 , G06F9/3853 , G06F9/3855 , G06F9/3859 , G06F9/3867 , G06F9/3891 , G06F9/466 , G06F9/528 , G06F11/36 , G06F11/3648 , G06F11/3656 , G06F12/0806 , G06F12/0811 , G06F12/0862 , G06F12/0875 , G06F12/1009 , G06F13/4221 , G06F15/7867 , G06F15/80 , G06F15/8007 , G06F2212/452 , G06F2212/602 , G06F2212/604 , G06F2212/62 , Y02D10/13 , Y02D10/14 , Y02D10/151
Abstract: 公开了用于使在无效指令的目标字段中标识的存储器存储指令和一个或多个寄存器无效的装置和方法。在所公开的技术的一些示例中,一种装置可以包括存储器,以及一个或多个基于块的处理器核,所述一个或多个基于块的处理器核被配置为取回并且执行多个指令块。核其中之一可以包括控制单元,所述控制单元至少部分基于接收到无效指令而被配置为基于无效指令的第一目标字段和第二目标字段来获取多个存储器访问指令中的存储器访问指令的指令标识和多个寄存器中的至少一个寄存器的寄存器标识。使与指令标识相关联的至少一个寄存器和存储器访问指令无效。基于无效的存储器访问指令,来执行后续存储器访问指令。
-
公开(公告)号:CN108027769A
公开(公告)日:2018-05-11
申请号:CN201680054458.2
申请日:2016-09-12
Applicant: 微软技术许可有限责任公司
IPC: G06F12/0806 , G06F9/38
CPC classification number: G06F9/3016 , G06F9/268 , G06F9/30007 , G06F9/30021 , G06F9/30036 , G06F9/3004 , G06F9/30043 , G06F9/30047 , G06F9/3005 , G06F9/30058 , G06F9/30072 , G06F9/30076 , G06F9/30087 , G06F9/3009 , G06F9/30098 , G06F9/30101 , G06F9/30105 , G06F9/3013 , G06F9/30145 , G06F9/30167 , G06F9/30189 , G06F9/32 , G06F9/321 , G06F9/345 , G06F9/35 , G06F9/355 , G06F9/3557 , G06F9/3802 , G06F9/3804 , G06F9/3822 , G06F9/3824 , G06F9/383 , G06F9/3836 , G06F9/3838 , G06F9/3842 , G06F9/3848 , G06F9/3851 , G06F9/3853 , G06F9/3855 , G06F9/3859 , G06F9/3867 , G06F9/3891 , G06F9/466 , G06F9/528 , G06F11/36 , G06F11/3648 , G06F11/3656 , G06F12/0806 , G06F12/0811 , G06F12/0862 , G06F12/0875 , G06F12/1009 , G06F13/4221 , G06F15/7867 , G06F15/80 , G06F15/8007 , G06F2212/452 , G06F2212/602 , G06F2212/604 , G06F2212/62 , Y02D10/13 , Y02D10/14 , Y02D10/151
Abstract: 公开了用于使用寄存器访问指令(例如,寄存器读取指令)来发起指令块执行的装置和方法。在所公开的技术的一些示例中,基于块的计算系统可以包括被配置为执行至少一个指令块的多个处理器核。该至少一个指令块对数据流指令集架构(ISA)编码。ISA包括第一多个指令和第二多个指令。第一多个指令中的一个或多个指令至少指定第一目标指令而不指定数据源操作数。第二多个指令中的一个或多个指令至少指定第二目标指令以及指定寄存器的数据源操作数。
-
公开(公告)号:CN108027767A
公开(公告)日:2018-05-11
申请号:CN201680054181.3
申请日:2016-09-13
Applicant: 微软技术许可有限责任公司
IPC: G06F12/0806 , G06F9/38 , G06F9/30
CPC classification number: G06F9/3016 , G06F9/268 , G06F9/30007 , G06F9/30021 , G06F9/30036 , G06F9/3004 , G06F9/30043 , G06F9/30047 , G06F9/3005 , G06F9/30058 , G06F9/30072 , G06F9/30076 , G06F9/30087 , G06F9/3009 , G06F9/30098 , G06F9/30101 , G06F9/30105 , G06F9/3013 , G06F9/30145 , G06F9/30167 , G06F9/30189 , G06F9/32 , G06F9/321 , G06F9/345 , G06F9/35 , G06F9/355 , G06F9/3557 , G06F9/3802 , G06F9/3804 , G06F9/3822 , G06F9/3824 , G06F9/383 , G06F9/3836 , G06F9/3838 , G06F9/3842 , G06F9/3848 , G06F9/3851 , G06F9/3853 , G06F9/3855 , G06F9/3859 , G06F9/3867 , G06F9/3891 , G06F9/466 , G06F9/528 , G06F11/36 , G06F11/3648 , G06F11/3656 , G06F12/0806 , G06F12/0811 , G06F12/0862 , G06F12/0875 , G06F12/1009 , G06F13/4221 , G06F15/7867 , G06F15/80 , G06F15/8007 , G06F2212/452 , G06F2212/602 , G06F2212/604 , G06F2212/62 , Y02D10/13 , Y02D10/14 , Y02D10/151
Abstract: 公开了用于使用硬件结构来控制基于块的处理器架构中的寄存器访问指令的执行的装置和方法,该硬件结构指示指令块中的寄存器访问指令的相对顺序。在所公开的技术的一个示例中,一种操作处理器的方法包括:至少部分地基于被编码在先前的指令块内的依赖性以及指示针对先前的指令块已经执行了哪些寄存器写入指令的所存储的数据来选择要执行的多个指令中的寄存器访问指令,并且执行所选择的指令。在一些示例中,使用写入掩码、读取掩码、寄存器写入向量寄存器或计数器中的一个或多个来确定寄存器读取/写入依赖性。基于编码的依赖性和经掩码的写入向量,下一指令块可以在其寄存器依赖性可用时发出。
-
公开(公告)号:CN108027729A
公开(公告)日:2018-05-11
申请号:CN201680054052.4
申请日:2016-09-13
Applicant: 微软技术许可有限责任公司
CPC classification number: G06F9/3016 , G06F9/268 , G06F9/30007 , G06F9/30021 , G06F9/30036 , G06F9/3004 , G06F9/30043 , G06F9/30047 , G06F9/3005 , G06F9/30058 , G06F9/30072 , G06F9/30076 , G06F9/30087 , G06F9/3009 , G06F9/30098 , G06F9/30101 , G06F9/30105 , G06F9/3013 , G06F9/30138 , G06F9/30145 , G06F9/30167 , G06F9/30189 , G06F9/32 , G06F9/321 , G06F9/345 , G06F9/35 , G06F9/355 , G06F9/3557 , G06F9/3802 , G06F9/3804 , G06F9/3822 , G06F9/3824 , G06F9/3828 , G06F9/383 , G06F9/3836 , G06F9/3838 , G06F9/3842 , G06F9/3848 , G06F9/3851 , G06F9/3853 , G06F9/3855 , G06F9/3859 , G06F9/3867 , G06F9/3891 , G06F9/466 , G06F9/528 , G06F11/36 , G06F11/3648 , G06F11/3656 , G06F12/0806 , G06F12/0811 , G06F12/0862 , G06F12/0875 , G06F12/1009 , G06F13/4221 , G06F15/7867 , G06F15/80 , G06F15/8007 , G06F2212/452 , G06F2212/602 , G06F2212/604 , G06F2212/62 , Y02D10/13 , Y02D10/14 , Y02D10/151
Abstract: 公开了用于在基于块的处理器架构中取回和译码指令的系统和方法。在所公开的技术的一个例子中,可以使用基于块的处理器核来执行指令块。指令块可以包括指令头部和一条或多条指令。基于块的处理器核可以包括彼此通信的头部译码逻辑和取回逻辑。头部译码逻辑可以被配置为对指令块头部译码以确定指令块内的多个子块的起始位置。取回逻辑可以被配置为发起针对多个子块的并行提取和译码操作。
-
公开(公告)号:CN107450889A
公开(公告)日:2017-12-08
申请号:CN201610396830.X
申请日:2016-05-31
Applicant: 上海芯豪微电子有限公司
Inventor: 林正浩
CPC classification number: G06F9/30003 , G06F9/3804
Abstract: 本发明提供了一种处理间接分支指令的系统和方法,可根据指令顺序在执行到间接分支指令前提前计算并记录间接分支目标指令地址,应用于处理器及计算机领域时,可以掩盖执行间接分支指令时的延迟,提高处理器及计算机性能。
-
公开(公告)号:CN103250131B
公开(公告)日:2015-12-16
申请号:CN201180053524.1
申请日:2011-09-16
Applicant: 索夫特机械公司
Inventor: M·阿布达拉
CPC classification number: G06F9/3806 , G06F9/30018 , G06F9/30029 , G06F9/30047 , G06F9/3804 , G06F9/3836 , G06F9/3844 , G06F9/3869 , G06F12/0875 , G06F2212/1016 , G06F2212/452
Abstract: 本发明公开了一种标识指令的方法,该方法包括:访问包括多个分支指令的多个指令。对于多个分支指令中的每个分支指令,生成相应的第一掩码,该第一掩码代表如果采用分支则执行的指令。生成相应的第二掩码,该第二掩码代表如果不采用分支则执行的指令。接收预测输出,该预测输出包括对于每个分支指令的相应的分支预测。对于每个分支指令,使用该预测输出以从相应的第一掩码和第二掩码之中选择相应的结果掩码。对于每个分支指令,如果预测先前分支越过后续分支而分支,则使所述后续分支的结果掩码无效。对所有结果掩码执行逻辑操作以产生最终掩码。使用该最终掩码以选择用于执行的指令子集。
-
公开(公告)号:CN101449238B
公开(公告)日:2015-06-17
申请号:CN200780018535.X
申请日:2007-06-05
Applicant: 英特尔公司
Inventor: D·A·鲁伊克
IPC: G06F9/38
CPC classification number: G06F9/3848 , G06F9/3804 , G06F9/382 , G06F9/3828 , G06F9/3853 , G06F9/3855 , G06F9/3857 , G06F9/3859 , G06F9/3869 , G06F9/3889
Abstract: 本发明的实施例提供了一种用于存储分支预测信息的方法和设备。在一个实施例中,所述方法包括接收分支指令并且存储所述分支指令的本地分支预测信息,所述本地分支预测信息包括所述本地分支预测信息的本地可预测性值。所述方法还包括只有当本地可预测性值低于可预测性阈值时,才存储所述分支指令的全局分支预测信息。
-
公开(公告)号:CN104598217A
公开(公告)日:2015-05-06
申请号:CN201410601088.2
申请日:2014-10-30
Applicant: 国际商业机器公司
IPC: G06F9/44
CPC classification number: G06F9/3861 , G06F8/4441 , G06F9/30043 , G06F9/30072 , G06F9/3804 , G06F9/46
Abstract: 本发明公开涉及用于执行安全有条件加载和有条件存储操作的方法和设备。提供了一种用于在存储访问不能被证明是安全的时进行安全有条件操作的计算机实现的方法的说明性实施例包括由增强编译器接收用于事务的部分源代码,由所述增强编译器分析接收到的所述部分源代码以确定由所述增强编译器分析的所述部分源代码是否是用于变换的候选。响应于确定由所述增强编译器分析的所述部分源代码是用于变换的候选,变换被分析的所述部分源代码以在变换后代码的第一部分中使用有条件操作,其中相应的有条件操作使用硬件事务存储器在硬件中调用重试操作,及在变换后代码的第二部分中添加指向原始代码部分的分支,其中所述分支的代码是包含所述原始代码部分的恢复部分。
-
公开(公告)号:CN104252334A
公开(公告)日:2014-12-31
申请号:CN201310270207.6
申请日:2013-06-29
Applicant: 华为技术有限公司 , 中国科学院计算技术研究所
IPC: G06F9/38
CPC classification number: G06F9/3804
Abstract: 本发明实施例提供一种分支目标地址获取方法和装置,通过根据当前分支指令的PC值的中位确定第一分支目标地址缓存BTAC中与当前分支指令对应的第一条目;判断当前分支指令的进程号和当前分支指令的PC值的高位是否与当前分支指令对应的第一条目中的标签字段中存储的分支指令的进程号和分支指令的PC的高位相同;若相同,则获取与当前分支指令对应的第一条目中的目标PC字段中的分支目标地址作为当前分支指令的分支目标地址。本发明相当于将第一BTAC中与当前分支指令的进程号、PC值的高位和中位都相同的分支指令的分支目标地址作为了当前分支指令的分支目标地址,因此,避免了进程间干扰的问题。
-
公开(公告)号:CN103927266A
公开(公告)日:2014-07-16
申请号:CN201410016939.7
申请日:2014-01-15
Applicant: 想象力科技有限公司
Inventor: J·梅雷迪思
IPC: G06F12/08
CPC classification number: G06F12/0862 , G06F9/30047 , G06F9/3804 , G06F12/08 , G06F12/0891 , G06F12/0897 , G06F2212/602 , H04L47/24 , H04L47/782 , H04L63/168 , H04L67/2842
Abstract: 本发明描述了预取流量的改进控制,具体描述了用于改进控制由处理器生成的流量的方法及系统。在一个实施例中,当设备生成为来自存储器层级的一条数据或指令生成预取请求时,设备包括在请求中的预取标识符。此标识符将请求标记为预取请求而不是非预取请求,例如时间敏感型请求。基于该标识符,当预取流量没有被存储器层级完成时,存储器层级然后可以在高流量时发布中止响应,这抑制了预取流量。在接收到中止响应时,设备删除预取请求的任何记录的至少一部分,并且如果后来需要数据/指令,则以比原来的预取请求更高的优先级发布新的请求。
-
-
-
-
-
-
-
-
-