A processor, including an execution unit used to execute instructions in order to load index from an index array and to disperse the elements to a location in a sparse memory based on those indexes. The execution unit includes the logic of loading the index values for calculating the address of the address that the specific data element will be written in the memory in accordance with each data element that needs to be dispersed by the instructions to be dispersed by the instructions. The index value can be retrieved from an index array for identifying the instruction. The execution unit includes logic for calculating the address based on the sum of the index values that are retrieved for the location of the data element, based on the base address specified by the instructions in the use of optional zoom. The execution unit includes the logic for retrieving data elements from a continuous position in a source vector register specified by the instructions specified by the instructions and storing them to the calculated location.
【技术实现步骤摘要】
【国外来华专利技术】用于加载索引和分散操作的指令和逻辑
本公开涉及处理逻辑、微处理器和相关联的指令集架构领域,所述指令集架构当由处理器或其他处理逻辑执行时执行逻辑、数学或其他功能操作。相关技术说明多处理器系统正变得越来越普遍。多处理器系统的应用包括动态域分区一直延续到桌面计算。为了利用多处理器系统,可以将有待执行的代码分成多个线程以供由各种处理实体执行。可以彼此并行地执行每个线程。当指令在处理器上接收时其可以被解码为原生或更原生的词语或指令字以供在处理器上执行。处理器可以在片上系统中实施。通过存储在阵列中的索引对存储器进行间接的读访问和写访问可用于密码学、简图遍历、分类和稀疏矩阵应用。附图说明实施例以举例的方式被展示并且不限于附图中的图:图1A是根据本公开的实施例的形成有可以包括用于执行指令的执行单元的处理器的示例性计算机系统的框图;图1B展示了根据本公开的实施例的数据处理系统;图1C展示了用于执行文本串比较操作的数据处理系统的其他实施例;图2是根据本公开的实施例的可以包括用于执行指令的逻辑电路的处理器的微架构的框图;图3A展示了根据本公开的实施例的多媒体寄存器中的各种紧缩数据类型表示;图3B展示了根据本公开的实施例的可能的寄存器中数据存储格式(in-registerdatastorageformat);图3C展示了根据本公开的实施例的多媒体寄存器中的各种有符号和无符号紧缩数据类型表示;图3D展示了操作编码格式的实施例;图3E展示了根据本公开的实施例的具有四十个位或更多个位的另一种可能的操作编码格式;图3F展示了根据本公开的实施例的又另一种可能的操作编码格式;图4A是框图 ...
【技术保护点】
1.一种处理器,包括:前端,用于接收指令;解码器,用于对所述指令进行解码;核,用于执行所述指令,所述核包括:第一逻辑,用于从索引阵列中检索第一索引值,其中:所述索引阵列位于存储器中基于所述指令的第一参数的第一地址处;并且所述第一索引值位于所述索引阵列内的最低顺序位置处;第二逻辑,用于基于以下各项计算在所述存储器中有待将第一数据元素分散到的位置的地址:所述第一索引值;以及所述存储器中的一组潜在数据元素位置的基地址,所述基地址基于所述指令的第二参数;第三逻辑,用于从由所述指令的第三参数标识的源向量寄存器中检索所述第一数据元素,其中,所述第一数据元素将从所述源向量寄存器中的最低顺序位置中被检索;以及第四逻辑,用于将所述第一数据元素存储到所述存储器中可使用针对有待将所述第一数据元素分散到的所述位置所计算的所述地址来访问的位置;以及引退单元,用于引退所述指令。
【技术特征摘要】
【国外来华专利技术】2015.12.21 US 14/977,4451.一种处理器,包括:前端,用于接收指令;解码器,用于对所述指令进行解码;核,用于执行所述指令,所述核包括:第一逻辑,用于从索引阵列中检索第一索引值,其中:所述索引阵列位于存储器中基于所述指令的第一参数的第一地址处;并且所述第一索引值位于所述索引阵列内的最低顺序位置处;第二逻辑,用于基于以下各项计算在所述存储器中有待将第一数据元素分散到的位置的地址:所述第一索引值;以及所述存储器中的一组潜在数据元素位置的基地址,所述基地址基于所述指令的第二参数;第三逻辑,用于从由所述指令的第三参数标识的源向量寄存器中检索所述第一数据元素,其中,所述第一数据元素将从所述源向量寄存器中的最低顺序位置中被检索;以及第四逻辑,用于将所述第一数据元素存储到所述存储器中可使用针对有待将所述第一数据元素分散到的所述位置所计算的所述地址来访问的位置;以及引退单元,用于引退所述指令。2.如权利要求1所述的处理器,其特征在于,所述核进一步包括:第五逻辑,用于从所述索引阵列中检索第二索引值,所述第二索引值将在所述阵列内与所述第一索引值相邻;第六逻辑,用于基于以下各项计算在所述存储器中有待将第二数据元素分散到的位置的地址:所述第二索引值;以及所述存储器中的所述一组潜在数据元素位置的所述基地址;第七逻辑,用于从所述源向量寄存器中检索所述第二数据元素,所述第二数据元素在所述源向量寄存器中与所述第一数据元素相邻;以及第八逻辑,用于将所述第二数据元素存储到所述存储器中可使用针对有待将所述第二数据元素分散到的所述位置所计算的所述地址来访问的位置,其中,所述第二数据元素被存储到所述存储器中与所述第一数据元素不相邻的位置。3.如权利要求1所述的处理器,其特征在于,针对有待将所述第一数据元素分散到的所述位置所计算的所述地址与所述存储器中的所述一组潜在数据元素位置的所述基地址不同。4.如权利要求1所述的处理器,其特征在于,所述核进一步包括:第五逻辑,用于针对通过执行所述指令被分散到所述存储器的每个附加数据元素来从所述索引阵列内的下一个连续位置中检索对应索引值;第六逻辑,用于针对所述附加数据元素中的每一个基于以下各项来计算将所述附加数据元素分散到的对应地址:所述对应索引值;以及所述存储器中的所述一组潜在数据元素位置的所述基地址;第七逻辑,用于从所述源向量寄存器中的下一个连续位置中检索每个附加数据元素;以及第八逻辑,用于将每个附加数据元素存储到所述存储器中可使用针对有待将所述附加数据元素分散到的所述位置所计算的所述地址来访问的对应位置,所述附加数据元素将被存储到的所述位置中的至少两个是不相邻的位置;其中,待分散的最大数据元素数量基于所述指令的第四参数。5.如权利要求1所述的处理器,其特征在于,所述核进一步包括:第五逻辑,用于确定掩码寄存器中用于附加索引值的位未被置位,所述掩码寄存器是基于所述指令的第四参数而被标识的;第六逻辑,用于基于确定所述掩码中的所述位未被置位而省略以下操作:检索所述附加索引值;基于所述附加索引值计算有待将附加数据元素分散到的位置的地址;从所述源向量寄存器中检索所述附加数据元素;以及将所述附加数据元素存储到所述存储器中可使用针对有待将所述附加数据元素分散到的所述位置所计算的所述地址来访问的位置;以及第七逻辑,用于基于确定所述掩码中所述位未被置位而保持所述存储器中所述附加数据元素在其他情况下会被存储到的所述位置中的所述值。6.如权利要求1所述的处理器,其特征在于,所述核进一步包括:高速缓存;第五逻辑,用于将附加索引值从所述索引阵列预取到所述高速缓存中;第六逻辑,用于基于所述附加索引值来计算所述存储器中的附加位置的地址;以及第七逻辑,用于将所述存储器中的所述附加位置的内容预取到所述高速缓存中。7.如权利要求1所述的处理器,其特征在于,所述核进一步包括:第五逻辑,用于将所述存储器中待分散的所述第一数据元素的所述地址计算为所述第一索引值与所述存储器中的所述一组潜在数据元素位置的所述基地址之和。8.如权利要求1所述的处理器,其特征在于,所述核进一步包括:第五逻辑,用于判定掩码寄存器中用于附加索引值的位是否被置位,所述掩码寄存器是基于所述指令的第四参数而被标识的;第六逻辑,用于在已经判定了所述位是否已经被置位之后清除所述掩码寄存器中的每一位。9.如权利要求1所述的处理器,其特征在于,所述核进一步包括:第五逻辑,用于确定掩码寄存器中用于附加索引值的位被置位,所述掩码寄存器是基于所述指令的第四参数而被标识的;第六逻辑,用于基于确定所述掩码中的所述位未被置位而省略检索所述附加索引值:基于所述附加索引值计算有待将附加数据元素分散到的位置的地址;以及从所述源向量寄存器中检索所述附加数据元素,并且将所述附加数据元素存储到所述存储器中可使用针对有待将所述附加数据元素分散到的所述位置所计算的所述地址来访问的位置;以及第七逻辑,用于基于确定所述掩码中所述位未被置位来将空值存储在所述存储器中所述附加数据元素在其他情况下会被存储到的所述位置中。10.如权利要求1所述的处理器,其特征在于,所述处理器包括:单指令多数据(SIMD)协处理器,用于实施对所述指令的执行。11.一种方法,所述方法包括在处理器中:接收指令;对所述指令进行解码;执行所述指令,包括:从索引阵列中检索第一索引值,其中:所述索引阵列位于存储器中基于所述指令的第一参数的地址处;并且所述第一索引值位于所述索引阵列内的最低顺序位置处;基于以下各项计算在所述存储器中有待将第一数据元素分散到的位置的地址:所述第一索引值;以及所述存储器中的一组潜在数据元素位置的基地址,所述基地址基于所述指令的第二参数;以及从由所述指令的第三参数标识的源向量寄存器中的最低顺序位置中检索所述第一数据元素;以及将所述第一数据元素存储到所述存储器中可使用针对有待将所述第一数据元素分散到的所述位置所计算的所述地址来访问的位置;以及引退所述指令。12.如权利要求11所述的方法,其特征在于,进一步包括:从所述索引阵列中检索第二索引值,所述第二索引值在所述阵列内与所述第一索引值相邻;基于以下各项计算在所述存储器中有待将第二数据元素分散到的位置的地址:所述第二索引值;以及所述存储器中的所述一组潜在数据元素位置的所述基地址;从所述源向量寄存器中检索所述第二数据元素,所述...
【专利技术属性】
技术研发人员:I·M·戈克豪尔,C·R·扬特,A·C·瓦利斯,E·乌尔德阿迈德瓦尔,
申请(专利权)人:英特尔公司,
类型:发明
国别省市:美国,US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。