CN107851022A - 向量长度查询指令 - Google Patents
向量长度查询指令 Download PDFInfo
- Publication number
- CN107851022A CN107851022A CN201680044118.1A CN201680044118A CN107851022A CN 107851022 A CN107851022 A CN 107851022A CN 201680044118 A CN201680044118 A CN 201680044118A CN 107851022 A CN107851022 A CN 107851022A
- Authority
- CN
- China
- Prior art keywords
- vector
- scale
- value
- equipment
- query statement
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 239000013598 vector Substances 0.000 title claims abstract description 168
- 238000000034 method Methods 0.000 claims description 20
- 230000003247 decreasing effect Effects 0.000 claims description 7
- 230000004044 response Effects 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims 2
- 241000208340 Araliaceae Species 0.000 claims 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 claims 1
- 235000003140 Panax quinquefolius Nutrition 0.000 claims 1
- 235000008434 ginseng Nutrition 0.000 claims 1
- 230000002441 reversible effect Effects 0.000 claims 1
- 230000001052 transient effect Effects 0.000 claims 1
- 230000007423 decrease Effects 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 235000013399 edible fruits Nutrition 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 241000669072 Chrysomphalus dictyospermi Species 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/30149—Instruction analysis, e.g. decoding, instruction word fields of variable length instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/3001—Arithmetic instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30036—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Mathematical Physics (AREA)
- Complex Calculations (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
Abstract
公开了支持向量处理操作的数据处理系统2,该数据处理系统2使用缩放向量长度查询指令。缩放向量长度查询指令返回取决于向量中的元素数量乘以缩放值的结果,该向量中的元素数量是针对由指令指定的可变向量元素大小的,并且该缩放值由指令指定。缩放向量长度查询指令可具有计数指令、递增指令或递减指令形式。指令可以包括模式约束,该模式约束对部分结果值应用约束(例如,以M为模或2的幂),该部分结果值表示针对指令指定的寄存器元素大小而提供的向量元素数量。
Description
技术领域
本公开涉及数据处理系统领域。更具体地,本公开涉及支持向量处理的数据处理系统。
背景技术
已知提供支持处理向量操作数的数据处理系统,向量操作数包括多个向量元素。向量寄存器内的位数量通常由相关处理器架构定义。向量寄存器中的位数量可以在不同大小的向量元素之间划分,从而使得给定向量寄存器提供不同数量的向量元素。
发明内容
根据本公开的至少一些实施例,提供一种用于处理数据的设备,该设备包括处理电路,用于执行向量处理操作;以及解码器电路,用于解码程序指令来生成控制信号,从而控制所述处理电路来执行所述向量处理操作;其中所述解码器电路响应于缩放向量长度查询指令,控制所述处理电路来返回取决于向量长度乘以缩放值的结果值,该向量长度由所述设备在执行所述向量处理操作时使用,并且该缩放值由所述缩放向量长度查询指令指定。
根据本公开的至少一些实施例,提供一种用于处理数据的设备,该设备包括用于执行向量处理操作的处理装置;及用于解码程序指令来生成控制信号从而控制所述处理电路来执行所述向量处理操作的解码器装置;其中所述解码器装置响应于缩放向量长度查询指令,控制所述处理装置来返回取决于向量长度乘以缩放值的结果值,该向量长度由所述设备在执行所述向量处理操作时使用,并且该缩放值由所述缩放向量长度查询指令指定。
根据本公开的至少一些实施例,提供一种处理数据的方法,该方法包括解码缩放向量长度查询指令,从而控制处理电路来返回取决于向量长度乘以缩放值的结果值,该向量长度在执行向量处理操作时使用,并且该缩放值由所述缩放向量长度查询指令指定。
附图说明
下面将通过示例的方式参考附图来描述示例实施例,其中:
图1示意地示出了支持向量处理的数据处理系统;
图2示意地示出了多个不同形式的缩放向量长度查询指令;
图3示意地示出了图2中不同类型的缩放向量长度查询指令的特性的示例;
图4示意地示出了用于响应于缩放向量长度查询指令来创建结果值的查找表实现方式;
图5是示意地示出缩放向量长度查询指令的特性的流程图;并且
图6示意地示出了虚拟机实现方式。
具体实施方式
图1示意地示出了数据处理系统2,该数据处理系统包括处理器4,该处理器4耦合至存储器6,该存储器6存储数据值8及程序指令10。处理器4包括指令提取单元12,用于从存储器6提取程序指令10并向解码器电路14供应提取程序指令。解码器电路14解码所提取的程序指令且生成控制信号16以控制向量处理电路18,从而对存储在向量寄存器电路20内的向量寄存器执行向量处理操作,该操作如解码的向量指令所指定。将了解,实际上,处理器4将通常包括更多电路元件,且附图中已省略这些电路元件。
图1还示意地示出了示例性向量寄存器Zi,在此示例中,该向量寄存器具有256的向量位大小。向量寄存器Zi由16个向量元素a0-a15形成。这些向量元素中的每一个具有16位的向量位大小,因此,向量寄存器Zi内的向量元素数量是16。向量元素大小是可以由被解码的向量指令指定的变量。例如,向量指令可以经编码以指定向量元素为字节、半字、字或双字(分别为8、16、32、64位)。依据向量元素位大小,向量寄存器Zi内的向量元素数量将改变。由此,对于由256位形成的向量寄存器Zi而言,可以支持十六个16位向量元素、八个32位向量元素或四个64位向量元素。
处理器4的给定实现方式将包括向量寄存器电路20,该向量寄存器电路20支持给定位大小的向量寄存器Zi。然而,使用相同指令集架构的处理器4的不同实现方式可以支持不同大小的向量寄存器,例如512位、384位、1024位等等。
作为使能包括向量指令的程序代码以适用于提供不同大小的向量寄存器Zi而无需任何或显著修改的向量寄存器电路20的方式,提供有一个或多个缩放向量长度查询指令。这些缩放向量长度查询指令返回取决于向量中的元素数量乘以缩放值的结果值,该向量中的元素数量是针对由缩放向量长度查询指令指定的可变向量元素大小(例如,字节、半字、字或双字)的,该缩放值由缩放向量长度查询指令指定。这类缩放向量长度查询指令能够返回结果,该结果可考虑实现方式的特定向量寄存器大小,并且还考虑可以由正在实现的向量码提供的程序回路滚动(loop rolling)的程度。缩放值可以以恒定整数值的形式提供,该恒定整数值编码在缩放向量长度查询指令内(例如,指令内的立即值(immediatevalue))。
图2示意地示出了多种不同形式的缩放向量长度查询指令。具体而言,向量长度查询指令的类型可以是计数指令、递增指令或递减指令。也可能存在作为缩放向量长度查询指令的更多类型的指令。缩放向量长度查询指令还指定向量元素大小,结果值将针对该向量元素大小被决定。因此,向量元素大小可为字节B、半字H、字W或双字D。缩放向量长度查询指令还指定纯量(scalar)寄存器Xd,该纯量寄存器可充当对于指令的输入操作数值的来源,并充当待写入的结果值目的地。
图2中示出的缩放向量长度查询指令内最终两个参数是指定模式约束的字段,根据该模式约束可以指定由处理设备所使用的向量长度,并且依据该向量长度来返回缩放向量长度查询指令的结果值。向量模式约束可采用多种不同形式。约束可以是例如设备提供的最大值是指定值M的倍数,例如向量元素数量的值被约束为值M的倍数(以M为模)。约束模式的另一示例是针对支持的向量元素数量所返回的最大值应约束为2的幂,例如2、4、8、16、32等等。约束模式的另一示例是不对超出向量寄存器Zi的物理大小的支持的元素数量的最大值应用约束。因此,如果向量寄存器长度是256位,且元素大小是16位,则以此方式利用“All”约束,将基于向量元素数量为16返回结果值。
由缩放向量长度查询指令指定的最终参数是缩放值。该缩放值可以是自身具有立即值的缩放向量长度查询指令内编码的恒定整数值。虽然该缩放值可以具有多种值,但是已发现1至8(包括1和8)范围中的缩放值能够支持大部分程度的回路展开(loopunrolling),该回路展开通常在保存用于编码缩放向量长度查询指令的指令位空间时被发现。
图3示意地示出了结果值,这些结果值可以被返回以用于某些示例性缩放向量长度查询指令。示出的列是向量位大小(即,向量寄存器Zi的位大小)、向量元素位大小(例如,字节、半字、字、双字)、向量模式约束(例如,A、以M为模、2的幂,等等)、缩放值(例如,指令自身内编码的恒定值,范围自1至8(包括1和8))、以及指令类型(例如,计数、递增、递减)。针对计数指令,输入值可以被视为“0”,并且在递增及递减指令的情况下,输入值可以是输入寄存器Xd所提供的值。
考虑图3中示出的第一行,该行指定向量位大小128。向量元素位大小为8。因此,无约束的最大向量元素计数为16。该行的模式约束是“All”,且相应地这对应于无约束模式。第一行的缩放是“1”,且因此结果不由缩放改变。指令类型是计数,且因此提供向量寄存器内具有字节大小的向量元素的数量的简单计数且该计数等于16。
更复杂的示例在第五行给出。在该情况中,向量位大小是256,且向量元素位大小是32。这指示所支持的向量元素的无约束数量为8。然而,模式约束是应为支持数量的向量元素数量应为3的倍数。因此,模式约束将被视作所支持的最大值的向量元素数量减少为6。第五行的缩放值是2,且指令类型是计数,且由此结果值是模式约束的结果的两倍,即,12。
又一示例在第十行中给出。在该行中,向量位大小是384,且向量元素位大小是16。这可以指示向量寄存器支持的原始向量元素数量为24。然而,该行中应用的模式约束是所支持的向量计数应为2的幂,且由此所支持的位大小为16的向量元素最大数量被视作16。应用缩放因子2。因此,经缩放后的部分结果值是32。指令类型是递增类型缩放向量长度查询指令,且保持在纯量寄存器Xd内的对于递增的输入值是48。此生成结果值(递增后的值)80。
当缩放向量长度查询指令是缩放计数指令时,则指令返回计数值,该计数值取决于所支持的元素数量乘以缩放值。当缩放向量长度查询指令是缩放递增指令时,则指令返回递增结果值,该结果值取决于要递增的输入值(通过基于向量位大小、向量元素位大小、模式约束及缩放值确定的值来递增)。以类似方式,当缩放向量长度查询指令是缩放递减指令时,则此指令返回递减结果值,该递减结果值取决于要递减的输入值。
图4示出了用于响应于缩放向量长度查询指令而确定结果值的电路的示例性实现方式。该实现方式具有查找表的形式,该表包括表地址解码器22,该解码器索引至结果值表24中。供应来自缩放向量长度查询指令的参数(字段)作为到表解码器22的输入。这些字段包括元素大小(2位)、应用的约束模式(5位)、及应用的缩放值(3位)。表地址解码器22针对特定实现方式(即,针对实现的特定向量长度)具有固定形式。表地址解码器22响应于供应至其的输入信号而生成1-hot输出,以从结果值表24中选择结果值,如果缩放向量长度查询指令分别是缩放递增指令或缩放递减指令,则该结果值随后被供应至递增电路或递减电路(加法器或减法器)。
图5是示意地示出处理缩放向量长度查询指令的逻辑流程的流程图。将理解,实际上,这类处理通常同时执行,且图5中示出的个别步骤实际上可以同时执行。在步骤26中,处理等待直至收到缩放向量长度查询指令。然后,步骤28确定与指定向量元素大小相关的向量寄存器实现方式所支持的向量元素的原始最大数量。步骤30应用缩放向量长度查询指令所指定的约束模式(如果有的话)。步骤32对通过在步骤26中应用约束模式所确定的部分结果进行缩放。如果指令类型是计数指令,则在步骤36中,将计数结果写入目的地寄存器。如果指令类型是递增,则在步骤38中,通过在步骤32中确定的递增值来递增已保持的目的地寄存器值,并且将递增后的结果写入目的地寄存器。如果在步骤34中决定指令类型是递减,则在步骤40中,通过在步骤32中计算的递减值来递减目的地寄存器值,且将结果写入目的地寄存器。
图6示出了可以使用的虚拟机实现方式。虽然前文所描述的实施例根据用于操作支持本申请相关技术的特定处理硬件的设备及方法来实现本发明,但是还可以提供硬件装置的所谓虚拟机的实现方式。这些虚拟机实现方式在主机处理器530上执行,该主机处理器530在支持虚拟机程序510的主机操作系统520上执行。通常,需要强大的处理器来提供虚拟机实现方式,该虚拟机实现方式以合理的速度执行,但该种方法在某些环境中合乎情理,如在出于兼容性或再使用原因而需要执行源于另一处理器的代码的情况下。虚拟机程序510向应用500提供应用编程接口,该接口与将由实际硬件提供的应用编程接口相同,该实际硬件是正由虚拟机程序510模型化的装置。由此,包括对上述存储器访问的控制的程序指令可通过使用虚拟机程序510而在应用500内执行,以对这些程序指令与虚拟机硬件的互动进行模型化。
尽管本文已描述特定实施例,但将了解,本发明并非限定于这些实施例,且可在本发明的范围内进行各种修改及添加。例如,可在不背离本发明的范围的前提下,以下从属权利要求的特征可与独立权利要求的特征进行多种组合。
Claims (15)
1.一种用于处理数据的设备,所述设备包括:
处理电路,用于执行向量处理操作;以及
解码器电路,用于解码程序指令来生成控制信号从而控制所述处理电路来执行所述向量处理操作;其中
所述解码器电路响应于缩放向量长度查询指令,控制所述处理电路来返回取决于向量中的元素数量乘以缩放值的结果值,该向量中的元素数量是针对由所述缩放向量长度查询指令指定的可变向量元素大小的,并且该缩放值由所述缩放向量长度查询指令指定。
2.如权利要求1所述的设备,其中,所述缩放值是所述缩放向量长度查询指令内编码的恒定整数值。
3.如权利要求1所述的设备,其中,所述缩放值处于从1延伸到8的范围中,该范围包括1和8。
4.如权利要求1所述的设备,其中,所述向量元素大小选自8位、16位、32位及64位中的一个。
5.如权利要求1所述的设备,其中,所述缩放向量长度查询指令包括一个或多个其他参数,且由所述处理电路返回的所述结果值取决于所述一个或多个其他参数。
6.如权利要求5所述的设备,其中,所述一个或多个其他参数包括向量模式约束,根据所述向量模式约束来确定由所述设备使用的所述向量长度。
7.如权利要求6所述的设备,其中,所述向量模式约束指定所述元素数量是以下中的一个:
由所述设备提供的最大值,该最大值还是指定值M的一数;
由所述设备提供的最大值,该最大值还是2的幂;以及
由所述设备提供的最大值。
8.如权利要求1所述的设备,其中,所述缩放向量长度查询指令是缩放计数指令,该缩放计数指令返回计数结果值,该计数结果值取决于所述元素数量乘以所述缩放值。
9.如权利要求1所述的设备,其中,所述缩放向量长度查询指令是缩放递增指令,该缩放递增指令返回递增结果值,该递增结果值取决于要递增的输入值。
10.如权利要求1所述的设备,其中,所述缩放向量长度查询指令是缩放递减指令,该缩放递减指令返回递减结果值,该递减结果值取决于要递减的输入值。
11.如权利要求1所述的设备,其中,所述向量处理电路包括查找表,该查找表基于所述缩放值被寻址以至少部分地确定所述结果值。
12.如权利要求5所述的设备,其中,所述查找表基于所述一个或多个其他参数被寻址。
13.一种用于处理数据的设备,所述设备包括:
用于执行向量处理操作的处理装置;及
用于解码程序指令来生成控制信号从而控制所述处理电路来执行所述向量处理操作的解码装置;其中
所述解码器装置响应于缩放向量长度查询指令,控制所述处理装置来返回取决于向量中的元素数量乘以缩放值的结果值,该向量中的元素数量是针对由所述缩放向量长度查询指令指定的可变向量元素大小的,并且该缩放值由所述缩放向量长度查询指令指定。
14.一种处理数据的方法,所述方法包括:
解码缩放向量长度查询指令,从而控制处理电路来返回取决于向量中的元素数量乘以缩放值的结果值,该向量中的元素数量是针对由所述缩放向量长度查询指令指定的可变向量元素大小的,并且该缩放值由所述缩放向量长度查询指令指定。
15.一种存储在非暂态存储介质上的计算机程序,该计算机程序用于控制计算机以提供虚拟机执行环境,该执行环境对应于如权利要求1所述的设备。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP15386026.7A EP3125109B1 (en) | 2015-07-31 | 2015-07-31 | Vector length querying instruction |
EP15386026.7 | 2015-07-31 | ||
PCT/EP2016/064500 WO2017021055A1 (en) | 2015-07-31 | 2016-06-23 | Vector length querying instruction |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107851022A true CN107851022A (zh) | 2018-03-27 |
CN107851022B CN107851022B (zh) | 2022-05-17 |
Family
ID=54140382
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680044118.1A Active CN107851022B (zh) | 2015-07-31 | 2016-06-23 | 向量长度查询指令 |
Country Status (8)
Country | Link |
---|---|
US (1) | US11314514B2 (zh) |
EP (1) | EP3125109B1 (zh) |
JP (1) | JP6818010B2 (zh) |
KR (1) | KR102586258B1 (zh) |
CN (1) | CN107851022B (zh) |
IL (1) | IL256403B (zh) |
TW (1) | TWI721999B (zh) |
WO (1) | WO2017021055A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170046168A1 (en) * | 2015-08-14 | 2017-02-16 | Qualcomm Incorporated | Scalable single-instruction-multiple-data instructions |
US11455169B2 (en) | 2019-05-27 | 2022-09-27 | Texas Instruments Incorporated | Look-up table read |
CN110333857B (zh) * | 2019-07-12 | 2023-03-14 | 辽宁工程技术大学 | 一种基于约束规划的自定义指令自动识别方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0205809A2 (en) * | 1985-06-17 | 1986-12-30 | International Business Machines Corporation | Vector processing |
CN101535945A (zh) * | 2006-04-25 | 2009-09-16 | 英孚威尔公司 | 全文查询和搜索系统及其使用方法 |
CN101901248A (zh) * | 2010-04-07 | 2010-12-01 | 北京星网锐捷网络技术有限公司 | 一种布隆过滤器的生成、更新以及查询元素方法和装置 |
US20110145543A1 (en) * | 2009-12-15 | 2011-06-16 | Sun Microsystems, Inc. | Execution of variable width vector processing instructions |
CN103020018A (zh) * | 2012-12-27 | 2013-04-03 | 南京师范大学 | 一种基于多维伪随机序列的压缩感知矩阵构造方法 |
CN103105775A (zh) * | 2012-12-17 | 2013-05-15 | 清华大学 | 基于序优化与在线核极限学习机的分层迭代优化调度方法 |
WO2013086380A1 (en) * | 2011-12-08 | 2013-06-13 | Oracle International Corporation | Techniques for more efficient usage of memory - to - cpu bandwidth |
US20140289502A1 (en) * | 2013-03-19 | 2014-09-25 | Apple Inc. | Enhanced vector true/false predicate-generating instructions |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6133547A (ja) | 1984-07-25 | 1986-02-17 | Fujitsu Ltd | ベクトル・レジスタのオ−バフロ−情報通知方式 |
US5537606A (en) * | 1995-01-31 | 1996-07-16 | International Business Machines Corporation | Scalar pipeline replication for parallel vector element processing |
NO20004869D0 (no) * | 2000-09-28 | 2000-09-28 | Torbjoern Rognes | Metode for hurtig optimal lokal sekvensjustering ved bruk av parallell prosessering |
US6788303B2 (en) * | 2001-02-27 | 2004-09-07 | 3Dlabs Inc., Ltd | Vector instruction set |
US20040073773A1 (en) * | 2002-02-06 | 2004-04-15 | Victor Demjanenko | Vector processor architecture and methods performed therein |
US9170812B2 (en) * | 2002-03-21 | 2015-10-27 | Pact Xpp Technologies Ag | Data processing system having integrated pipelined array data processor |
US8966223B2 (en) * | 2005-05-05 | 2015-02-24 | Icera, Inc. | Apparatus and method for configurable processing |
US7725624B2 (en) | 2005-12-30 | 2010-05-25 | Intel Corporation | System and method for cryptography processing units and multiplier |
GB2464292A (en) | 2008-10-08 | 2010-04-14 | Advanced Risc Mach Ltd | SIMD processor circuit for performing iterative SIMD multiply-accumulate operations |
US10175990B2 (en) * | 2009-12-22 | 2019-01-08 | Intel Corporation | Gathering and scattering multiple data elements |
US20110158310A1 (en) * | 2009-12-30 | 2011-06-30 | Nvidia Corporation | Decoding data using lookup tables |
JP5699554B2 (ja) * | 2010-11-11 | 2015-04-15 | 富士通株式会社 | ベクトル処理回路、命令発行制御方法、及びプロセッサシステム |
US9092227B2 (en) * | 2011-05-02 | 2015-07-28 | Anindya SAHA | Vector slot processor execution unit for high speed streaming inputs |
US20140207838A1 (en) * | 2011-12-22 | 2014-07-24 | Klaus Danne | Method, apparatus and system for execution of a vector calculation instruction |
US9557993B2 (en) * | 2012-10-23 | 2017-01-31 | Analog Devices Global | Processor architecture and method for simplifying programming single instruction, multiple data within a register |
US20140189310A1 (en) | 2012-12-27 | 2014-07-03 | Nvidia Corporation | Fault detection in instruction translations |
US9282014B2 (en) * | 2013-01-23 | 2016-03-08 | International Business Machines Corporation | Server restart management via stability time |
US10437600B1 (en) * | 2017-05-02 | 2019-10-08 | Ambarella, Inc. | Memory hierarchy to transfer vector data for operators of a directed acyclic graph |
-
2015
- 2015-07-31 EP EP15386026.7A patent/EP3125109B1/en active Active
-
2016
- 2016-06-23 KR KR1020187003457A patent/KR102586258B1/ko active IP Right Grant
- 2016-06-23 JP JP2018503589A patent/JP6818010B2/ja active Active
- 2016-06-23 CN CN201680044118.1A patent/CN107851022B/zh active Active
- 2016-06-23 US US15/741,303 patent/US11314514B2/en active Active
- 2016-06-23 WO PCT/EP2016/064500 patent/WO2017021055A1/en active Application Filing
- 2016-07-20 TW TW105122825A patent/TWI721999B/zh active
-
2017
- 2017-12-19 IL IL256403A patent/IL256403B/en active IP Right Grant
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0205809A2 (en) * | 1985-06-17 | 1986-12-30 | International Business Machines Corporation | Vector processing |
CN101535945A (zh) * | 2006-04-25 | 2009-09-16 | 英孚威尔公司 | 全文查询和搜索系统及其使用方法 |
US20110145543A1 (en) * | 2009-12-15 | 2011-06-16 | Sun Microsystems, Inc. | Execution of variable width vector processing instructions |
CN101901248A (zh) * | 2010-04-07 | 2010-12-01 | 北京星网锐捷网络技术有限公司 | 一种布隆过滤器的生成、更新以及查询元素方法和装置 |
WO2013086380A1 (en) * | 2011-12-08 | 2013-06-13 | Oracle International Corporation | Techniques for more efficient usage of memory - to - cpu bandwidth |
CN103105775A (zh) * | 2012-12-17 | 2013-05-15 | 清华大学 | 基于序优化与在线核极限学习机的分层迭代优化调度方法 |
CN103020018A (zh) * | 2012-12-27 | 2013-04-03 | 南京师范大学 | 一种基于多维伪随机序列的压缩感知矩阵构造方法 |
US20140289502A1 (en) * | 2013-03-19 | 2014-09-25 | Apple Inc. | Enhanced vector true/false predicate-generating instructions |
Also Published As
Publication number | Publication date |
---|---|
TWI721999B (zh) | 2021-03-21 |
JP6818010B2 (ja) | 2021-01-20 |
US11314514B2 (en) | 2022-04-26 |
JP2018521422A (ja) | 2018-08-02 |
WO2017021055A1 (en) | 2017-02-09 |
IL256403B (en) | 2019-08-29 |
EP3125109A1 (en) | 2017-02-01 |
EP3125109B1 (en) | 2019-02-20 |
US20180196673A1 (en) | 2018-07-12 |
KR102586258B1 (ko) | 2023-10-10 |
TW201717051A (zh) | 2017-05-16 |
IL256403A (en) | 2018-02-28 |
KR20180037961A (ko) | 2018-04-13 |
CN107851022B (zh) | 2022-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11630800B2 (en) | Programmable vision accelerator | |
CN110352412B (zh) | 矩阵压缩加速器系统和方法 | |
TWI531970B (zh) | 在資料處理裝置中的位址產生 | |
US9910714B2 (en) | Scriptable dynamic load balancing in computer systems | |
CN109144568A (zh) | 将有效位通道作为矢量断言暴露于cpu | |
US10600142B2 (en) | Compression and decompression of indices in a graphics pipeline | |
CN107851022A (zh) | 向量长度查询指令 | |
CN113032007B (zh) | 一种数据处理方法及装置 | |
JP2012119009A5 (ja) | 選択演算を実行するプロセッサ | |
US9378017B2 (en) | Apparatus and method of efficient vector roll operation | |
KR20150117522A (ko) | 그래픽스 상태 관리 장치 및 방법 | |
CN115906720A (zh) | 存储器的设计方法、装置、电子设备和存储介质 | |
CN109727187A (zh) | 用于调整多个感兴趣区域数据的存储位置的方法和装置 | |
JP2010287110A (ja) | 情報処理装置、情報処理方法、プログラム及び記録媒体 | |
WO2015199734A1 (en) | Buffer-based update of state data | |
CN106502775B (zh) | 一种分时调度dsp算法的方法和系统 | |
US7945757B1 (en) | Conserving and shaping address space with arrays | |
JP7377208B2 (ja) | データ処理 | |
KR102315279B1 (ko) | 작업 그룹의 크기를 결정하는 장치 및 방법 | |
US20200142749A1 (en) | Graphics processor and graphics processing method based on subdivided states | |
KR102673748B1 (ko) | 다차원 직접 메모리 접근 컨트롤러 및 그것을 포함하는 컴퓨터 시스템 | |
CN108520011B (zh) | 一种确定任务的执行方案的方法及装置 | |
WO2023199014A1 (en) | Technique for handling data elements stored in an array storage | |
CN117892685A (zh) | 一种用于eda验证的数据处理方法、装置和介质 | |
US9928644B2 (en) | Method and apparatus for determining mutual intersection of multiple convex shapes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |