当前位置: 首页 > 专利查询>英特尔公司专利>正文

用于广播比较加法的系统、设备和方法技术方案

技术编号:18425979 阅读:21 留言:0更新日期:2018-07-12 01:54
提供用于运行指令的系统、设备和方法的实施例。在一些情况下,指令具有目标操作数以及第一源操作数和第二源操作数的字段。解码指令引起采用归约操作对第一打包数据源的广播打包数据元素的归约,并且在打包数据目的地中存储每个归约的结果,其中要用于归约中的第一打包数据源的打包数据元素通过在第二打包数据源中存储的打包数据元素的广播值与在没有广播的情况下的在第二打包数据源中存储的打包数据元素的比较的结果来支配。

System, device and method for broadcast comparison addition

An embodiment of a system, device and method for operating instructions is provided. In some cases, the instruction has the field of the target operand and the first source operand and the second source operand. The decoding instruction causes the reduction of the broadcast package data elements of the first packaged data source using the reduction operation, and stores the results of each reduction in the packaged data destination, in which the packaged data elements to be used for the first packaged data source in the reduction are used to store the package data elements stored in the second package number according to the source. The broadcast value is governed by the comparison of the packaged data elements stored in the second packaged data sources without broadcasting.

【技术实现步骤摘要】
用于广播比较加法的系统、设备和方法
本专利技术的领域一般涉及计算机处理器架构,以及更具体来说涉及在被运行时引起特定结果的指令。
技术介绍
使用冲突检测封装的稀疏更新模式的向量化具有其局限性。考虑稀疏更新的示例代码:这个循环无法采用直接方式来向量化,因为它在idx[i]在循环的不同迭代上具有相等值时可具有潜在数据相关性(参考相同存储器地址)。对循环进行向量化的常规方式是要采用冲突指令来检查索引的冲突,该冲突指令生成将向量中的每个索引彼此比较的结果,并且基于这个结果,将值从B[]加载到向量,置换、累加并且存储到A[]。累加通常通过基于特殊置换控制(其基于冲突结果来生成)置换值在while内循环中进行。这个过程是迭代的,并且如以下所示的那样重复进行:while内循环的迭代的主体和次数根据可用的指令集和算法实现而改变。例如,如果存在16个相等索引(极端情况),则简单算法包含15个置换和15个加法。本专利技术提供一组技术方案,如下。1.一种设备,包括:解码器,其用来对具有目标操作数以及第一源操作数和第二源操作数的字段的指令进行解码,以及运行电路系统,其用来运行所解码指令以采用归约操作来执行第一打包数据源的广播打包数据元素的归约,并且在打包数据目的地中存储每个所述归约的结果,其中要用于所述归约中的所述第一打包数据源的所述打包数据元素通过在第二打包数据源中存储的打包数据元素的广播值与在没有广播的情况下的在所述第二打包数据源中存储的所述打包数据元素的比较的结果来支配。2.如技术方案1所述的设备,其中,所述第一源操作数是打包数据寄存器,以及所述第二源操作数是存储器位置。3.如技术方案1所述的设备,其中,所述第一源操作数是打包数据寄存器,以及所述第二源操作数是打包数据寄存器。4.如技术方案1所述的设备,其中,所述第二源操作数中存储的打包数据元素的值形成掩码。5.如技术方案1所述的设备,其中,要运行所解码指令,所述运行电路系统要向来自暂时向量的第一集合的单独暂时向量广播来自所述第二打包数据源的索引的给定向量的每个索引,将暂时向量的所述第一集合与来自所述第二打包数据源的索引的所述给定向量进行比较以生成掩码集合,使用所述掩码集合向暂时向量的第二集合广播为归约所提供的值,并且通过归约操作将暂时向量的所述第二集合全部归约到单个向量。6.如技术方案1所述的设备,其中,所述归约是加法、减法、乘法和除法中的一个。7.如技术方案1所述的设备,其中,所述比较是三角和等于、不等于、小于、大于、小于或等于和大于或等于中的一个或多个。8.一种方法,包括:对具有目标操作数以及第一源操作数和第二源操作数的字段的指令进行解码,以及运行所解码指令以采用归约操作来执行第一打包数据源的广播打包数据元素的归约,并且在打包数据目的地中存储每个所述归约的结果,其中要广播的所述第一打包数据源的所述打包数据元素通过在第二打包数据源中存储的打包数据元素的广播值与在没有广播的情况下的在所述第二打包数据源中存储的所述打包数据元素的比较的结果来支配。9.如技术方案8所述的方法,其中,所述第一源操作数是打包数据寄存器,以及所述第二源操作数是存储器位置。10.如技术方案8所述的方法,其中,所述第一源操作数是打包数据寄存器,以及所述第二源操作数是打包数据寄存器。11.如技术方案8所述的方法,其中,所述第二源操作数中存储的打包数据元素的值形成掩码。12.如技术方案8所述的方法,其中,对于所述目标操作数的每个打包数据元素位置,向来自暂时向量的第一集合的单独暂时向量广播来自所述第二打包数据源的索引的给定向量的每个索引,将暂时向量的所述第一集合与来自所述第二打包数据源的索引的所述给定向量进行比较以生成掩码集合,使用所述掩码集合向暂时向量的第二集合广播为归约所提供的值,并且通过归约操作将暂时向量的所述第二集合全部归约到单个向量。13.如技术方案8所述的方法,其中,来自所述目的地的初始值是所述归约生成中使用的另一个输入。14.如技术方案8所述的方法,还包括:在解码之前把来自第一指令集的所述指令转化为第二指令集的指令,其中待解码的所述指令属于所述第二指令集。15.一种存储指令的非暂时机器可读媒介,所述指令在由处理器运行时使所述处理器执行方法,所述方法包括:对具有目标操作数以及第一源操作数和第二源操作数的字段的指令进行解码,以及运行所述解码指令以采用归约操作来执行第一打包数据源的广播打包数据元素的归约,并且在打包数据目的地中存储每个所述归约的结果,其中要广播的所述第一打包数据源的所述打包数据元素通过在第二打包数据源中存储的打包数据元素的广播值与在没有广播的情况下的在所述第二打包数据源中存储的所述打包数据元素的比较的结果来支配。16.如技术方案15所述的非暂时机器可读媒介,其中,所述第一源操作数是打包数据寄存器,以及所述第二源操作数是存储器位置。17.如技术方案15所述的非暂时机器可读媒介,其中,所述第一源操作数是打包数据寄存器,以及所述第二源操作数是打包数据寄存器。18.如技术方案15所述的非暂时机器可读媒介,其中,所述第二源操作数中存储的打包数据元素的值形成掩码。19.如技术方案15所述的非暂时机器可读媒介,其中,对于所述目标操作数的每个打包数据元素位置,向来自暂时向量的第一集合的独立暂时向量广播来自所述第二打包数据源的索引的给定向量的各索引,将暂时向量的所述第一集合与来自所述第二打包数据源的索引的所述给定向量进行比较以生成掩码集合,使用所述掩码集合向暂时向量的第二集合广播为归约所提供的值,并且通过归约操作将暂时向量的所述第二集合全部归约到单个向量。20.如技术方案15所述的非暂时机器可读媒介,其中,来自所述目的地的初始值是所述归约生成中使用的另一个输入。21.如技术方案15所述的非暂时机器可读媒介,还包括:在解码之前把来自第一指令集的所述指令转化为第二指令集的指令,其中待解码的所述指令属于所述第二指令集。附图说明在附图中的图中作为示例而不是限制来图示本专利技术,附图中相似参考指示类似元素,并且其中:图1图示广播比较加法指令的示范运行;图2图示广播比较加法指令的示范运行;图3图示广播比较算术指令的示范运行;图4图示广播比较加法指令的运行的实施例;图5图示广播比较加法指令的运行的实施例;图6图示用来处理指令、例如广播比较算术指令的硬件的实施例;图7图示由处理器执行以处理广播比较算术指令的方法的实施例;图8A-8B是图示按照本专利技术的实施例的通用向量友好指令格式及其指令模板的框图;图9A是图示按照本专利技术的实施例的示范特定向量友好指令格式的框图;图9B是图示按照本专利技术的一个实施例的组成全操作码字段的特定向量友好指令格式的字段的框图;图9C是图示按照本专利技术的一个实施例的组成寄存器索引字段的特定向量友好指令格式900的字段的框图;图9D是图示按照本专利技术的一个实施例的组成扩大操作字段的特定向量友好指令格式900的字段的框图;图10是按照本专利技术的一个实施例的寄存器架构的框图;图11A是图示按照本专利技术的实施例的示范有序管线和示范寄存器重命名、无序发出/运行管线的框图;图11B是图示按照本专利技术的实施例的要包含在处理器中的有序架构核和示范寄存器重命名、无序发出/运行架构核的示范性实施例的框图;图12A-B图示更本文档来自技高网...

【技术保护点】
1. 一种设备,包括:解码器部件,其用来对具有目标操作数以及第一源操作数和第二源操作数的字段的指令进行解码,以及运行电路系统部件,其用来运行所解码指令以采用归约操作来执行第一打包数据源的广播打包数据元素的归约,并且在打包数据目的地中存储每个所述归约的结果,其中要用于所述归约中的所述第一打包数据源的所述打包数据元素通过在第二打包数据源中存储的打包数据元素的广播值与在没有广播的情况下的在所述第二打包数据源中存储的所述打包数据元素的比较的结果来支配。

【技术特征摘要】
2016.12.30 US 15/3961991.一种设备,包括:解码器部件,其用来对具有目标操作数以及第一源操作数和第二源操作数的字段的指令进行解码,以及运行电路系统部件,其用来运行所解码指令以采用归约操作来执行第一打包数据源的广播打包数据元素的归约,并且在打包数据目的地中存储每个所述归约的结果,其中要用于所述归约中的所述第一打包数据源的所述打包数据元素通过在第二打包数据源中存储的打包数据元素的广播值与在没有广播的情况下的在所述第二打包数据源中存储的所述打包数据元素的比较的结果来支配。2.如权利要求1所述的设备,其中,所述第一源操作数是打包数据寄存器,以及所述第二源操作数是存储器位置。3.如权利要求1所述的设备,其中,所述第一源操作数是打包数据寄存器,以及所述第二源操作数是打包数据寄存器。4.如权利要求1-3中任何所述的设备,其中,所述第二源操作数中存储的打包数据元素的值形成掩码。5.如权利要求1-4中任何所述的设备,其中,要运行所解码指令,所述运行电路系统部件要向来自暂时向量的第一集合的单独暂时向量广播来自所述第二打包数据源的索引的给定向量的每个索引,将暂时向量的所述第一集合与来自所述第二打包数据源的索引的所述给定向量进行比较以生成掩码集合,使用所述掩码集合向暂时向量的第二集合广播为归约所提供的值,并且通过归约操作将暂时向量的所述第二集合全部归约到单个向量。6.如权利要求1-5中任何所述的设备,其中,所述归约是加法、减法、乘法和除法中的一个。7.如权利要求1-6中任何所述的设备,其中,所述比较是三角和等于、不等于、小于、大于、小于或等于和大于或等于中的一个或多个。8.一种方法,包括:对具有目标操作数以及第一源操作数和第二源操作数的字段的指令进行解码,以及运行所解码指令以采用归约操作来执行第一打包数据源的广播打包数据元素的归约,并且在打包数据目的地中存储每个所述归约的结果,其中要广播的所述第一打包数据源的所述打包数据元素通过在第二打包数据源中存储的打包数据元素的广播值与在没有广播的情况下的在所述第二打包数据源中存储的所述打包数据元素的比较的结果来支配。9.如权利要求8所述的方法,其中,所述第一源操作数是打包数据寄存器,以及所述第二源操作数是存储器位置。10.如权利要求8所述的方法,其中,所述第一源操作数是打包数据寄存器,以及所述第二源操作数是打包数据寄存器。11.如权利要求8所述的方法,其中,所述第二源操作数中存储的打包数据元素的值形成掩码。12.如权利要求...

【专利技术属性】
技术研发人员:R瓦伦丁J科巴尔M普洛特尼科夫
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国,US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1