CN1926511A - 在数据字内插入比特 - Google Patents

在数据字内插入比特 Download PDF

Info

Publication number
CN1926511A
CN1926511A CNA2004800423443A CN200480042344A CN1926511A CN 1926511 A CN1926511 A CN 1926511A CN A2004800423443 A CNA2004800423443 A CN A2004800423443A CN 200480042344 A CN200480042344 A CN 200480042344A CN 1926511 A CN1926511 A CN 1926511A
Authority
CN
China
Prior art keywords
register
value
displacement
data
instruction
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
Application number
CNA2004800423443A
Other languages
English (en)
Other versions
CN100538624C (zh
Inventor
S·A·福德
P·M·卡彭特
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ARM Ltd
Original Assignee
Advanced Risc Machines Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Advanced Risc Machines Ltd filed Critical Advanced Risc Machines Ltd
Publication of CN1926511A publication Critical patent/CN1926511A/zh
Application granted granted Critical
Publication of CN100538624C publication Critical patent/CN100538624C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30018Bit or string instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30032Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30036Instructions to perform operations on packed data, e.g. vector, tile or matrix operations

Abstract

提供一种数据处理系统(2),其支持移位插入指令SLI、SRI,用于将源数据值移位指定的移位量,并且随后将除移入位之外的移位值中的比特插入目的值,该目的值内的剩下比特不变。

Description

在数据字内插入比特
技术领域
本发明涉及数据处理系统。更特别地,本发明涉及在程序控制下在数据字中插入比特。
背景技术
已知在数据处理系统内将多个比特字段一起压缩在单个数据字中。例如,在16位数据字中,可能需要压缩分别代表红、绿、蓝值的三个彩色分量值,其中两个长度为5位,以及另一个长度为6位。通常,这些不同的分量值将被分别处理,并且分别计算它们的大小。在这样的计算之后,单独分量需要装配在单一数据字中,以使它们可以利用更紧凑的形式来存储,并且更容易地在逐个象素的基础上被操纵。
为了实现这样的数据压缩,一种可能的解决方案是提供程序指令,这些指令指定源寄存器中将被插入目的寄存器中的比特字段的长度和目的寄存器中该比特字段将被插入的位置。这样的指令典型地将不得不指定源寄存器、目的寄存器、比特字段长度以及比特字段插入位置。以这种方式不得不指定单个指令内的4个独立参数,这对于该指令内可利用的指令位空间不利地设置高要求,并且使得这样的指令在它们所消耗的指令位空间方面是不利的。
发明内容
从一个方面来看,本发明提供用于处理数据的设备,所述设备包含:
多个寄存器,可操作为存储待操纵的数据值;
处理逻辑,可操作为对存储在所述多个寄存器中的一个或多个数据值执行数据处理操作;以及
指令译码器,响应程序指令来控制所述处理逻辑,以执行利用所述程序指令指定的数据处理操作;其中
所述指令译码器响应移位插入(shift-and-insert)指令来控制所述处理逻辑,以执行移位插入数据处理操作,得到具有利用以下步骤给定的结果值的结果:
将存储在第一寄存器中的第一数据值移位N个比特位置的移位量,以形成包含N个移入位的移位值,其中N具有多个不同的非零值之一;和
除了所述N个被移入位之外,将所述移位值的相应位插入第二寄存器中存储的第二数据值中的相应比特位置,所述第二数据值中对应于所述N个移入位的比特不变,从而形成所述结果。
本发明考虑其中需要使用这种指令的大部分情况,不需要能够分别指定比特字段长度和比特字段位置的完全灵活性。相反,指定将被应用于源值的移位数量的单个参数控制源值的位被写入目的值中的起始位置。根据相关指令的移位方向,被写入目的值中的位从起始位置扩展至目的值的合适末端。可能插入比最终需求更多的位数。但是,本技术考虑,在大部分情况下,多个这样的指令被执行,并且被写入一个指令中的过多位将利用随后指令中的需要数据来盖写,以致于最后压缩的数据值将包含所需要的正确位。因此,操作的压缩类别或者其他的位装配操作可以利用具有有益小的指令位空间需求的指令来实现。将意识到,上述的本发明的表达是根据移位插入指令产生具有利用指定的移位操作和指定的插入操作给出的结果值的结果来作出的。将认识到,实际用于获得这样的结果值的机制能够改变,就好像这样的移位插入已经被执行一样。如此不同的机制和步骤利用本技术来包含。移位与插入步骤是表述期望的最终结果是如何与输入相关联的一种方式,但是输入与输出之间同样的关系可以通过各种不同的方式来获得和表述。这些替换包含在本技术中。
移位量可以被指定为在指令中指定的寄存器内存储的一个值,或可选地并且更好地被指定为在移位插入指令自身中编码的立即值。
第一和第二寄存器可以有利地由源寄存器指定字段来指定,这两个寄存器都与寄存器组中的寄存器相关。也可以使用目的寄存器指定字段(可选地,与第一寄存器或第二寄存器之一共享)。
将认识到,本技术的移位可以是右移位或左移位,这依赖于环境以及期望的压缩或位插入的形式。
有可能第一数据值和第二数据值能够具有不同的位长度,且被存储在不同长度的寄存器中,虽然在最佳实施例中第一数据值和第二数据值具有相同的位数。
如前所述,将认识到,以上所述的输入和输出的关系可以通过各种不同的方式来实施,虽然优选的方式是使用第一值的移位和形成屏蔽(mask)值,用于选择第二数据中的哪些比特利用移位数据值内的相应位来代替以及第二数据值中哪些比特不变。这个屏蔽值可以有利地利用起始屏蔽上的移位或者利用可选技术诸如直接形成屏蔽的指令的解码来形成。
本技术可以有益地用于标量(scalar)处理系统以及单指令多数据分组(singleinstruction multiple data packet)(SIMD)处理系统中。
从另一方面来看,本发明提供一种处理数据的方法,所述方法包含以下步骤:
在多个寄存器中存储待操纵的数据值;
对所述多个寄存器中存储的一个或多个数据值,使用处理逻辑来执行数据处理操作;和
响应程序指令,利用指令译码器来控制所述处理逻辑,以执行由所述程序指令指定的数据处理操作;其中
所述指令译码器响应移位插入指令来控制所述处理逻辑,以执行移位插入数据处理操作,得到具有利用以下步骤给定的结果值的结果:
将存储在第一寄存器内的第一数据值移位N个比特位置的移位量,以形成包含N个移入位的(被)移位值,其中N具有多个不同的非零值之一;和
除了所述N个移入位之外,将所述移位值的相应位插入到第二寄存器中存储的第二数据值中的相应比特位置,所述第二数据值中对应于所述N个移入位的比特不变,从而形成所述结果。
附图说明
现在,将仅仅利用示例参考附图来描述本发明的实施例,其中:
附图1示意地图解可以使用本发明技术的数据处理系统类型;
附图2示意地图解根据本技术一个示例的三个不同的移位插入指令的语法;
附图3示意地图解移位插入指令的作用;
附图4示意地图解用于执行移位插入操作的硬件排列方案;
附图5图解在标量处理系统中像素值压缩操作的示例;和
附图6示意地图解在单指令多数据系统中的像素压缩操作。
具体实施方式
附图1示意地图解数据处理系统2,其可以是集成电路的形式,包括寄存器组4、乘法器6、移位器8和加法器10。寄存器组4、乘法器6、移位器8和加法器10可以被视为组成了处理逻辑,用于在利用指令译码器12生成的控制信号的控制下执行期望的数据处理操作。指令译码器12自身响应被加载到指令流水线14中的程序指令。将意识到,附图2中的数据处理系统典型地将包含多个其他的单元,但是为了简明起见而被省略了。在操作中,程序指令被提取到指令流水线14中,并且当它们在指令流水线14中达到执行级(executestage)时,由指令译码器12使用它们来生成控制信号,这些控制信号配置处理逻辑4,6,8,10的不同单元,以执行期望的数据处理操作。处理逻辑典型地将包含许多其他的单元,用于提供除了附图1中所示的简单的乘法、移位和加法操作以外的处理操作。
附图2示意地图解一些示例性移位插入指令的语法(句法),这些指令可以由附图1中的数据处理系统2来支持。左移位与插入指令SLI包含指定目的寄存器的寄存器字段dest、指定源寄存器的寄存器字段src以及指定立即值的字段#imm。源寄存器包含数据值,该数据值将被移位,并且随后被插入到目的寄存器,而目的寄存器中的某些位不被改变。立即值#imm指定在插入发生之前应用于源寄存器值的移位的数量,同时也有效地指定了插入发生的位置,如下将进一步阐述的。
附图2图解上面指令的右移位变量,即SRI指令。同时也图解了左移位指令的变量,其中移位值由第二源寄存器src2来指定。
将意识到,附图1中所示的指令的句法和确切形式只是一个示例,并且本发明技术的不同实施例可以使用显著变化的指令表示法和语法。
附图3阐述了移位插入操作的一个例子。寄存器16包含源值。这个源值包含数据部分18,例如像素值。寄存器16中在数据部分18之外的部分可以不表示任何有意义的东西或者可以是期望被丢弃的数据值的小数部分。
在这个示例中,寄存器16中的值被右移位一数量,该数量利用相关的SRI指令内的立即字段#imm来指定。在寄存器的左手端上,移入位被引入到所生成的移位值。这是普通的移位操作行为。
目的值被保存在寄存器20中,并且除了移入位之外的移位值部分被写入到替换最初存储在目的值中的相应位的这个目的值。目的值20中对应于移位值内的移入位的比特未被替换并且保留为未改变。最后的结果值包含原始目的值,移位值中的插入位替代在那些相应位置上的其原始位。将明白,在当前示例中,仅仅除了数据部分18之外,移位值中的位已被插入结果值即位G和H内。如果有效的话,则这些不必要的位可以根据需要在后续的移位插入操作中利用其他的位值来改写。
附图4示意地图解有关如何能够实施移位插入操作的硬件表示。在这个示例中,源寄存器22提供其值给左移位器24。将认识到,对于指令的右移位变量,可以替代使用右移位电路。在这个示例中,利用#4的立即值来指定移位数量。左移位器24生成移位值26,在其4个最右比特位置中具有4个移入零值。与移位值26的生成同时,通过取包含全是1的起始屏蔽值28,并对此进行与利用它自己的左移位器30对源值22应用的相同的移位,产生屏蔽值。屏蔽值中的移入值再次为零,并且这导致移位屏蔽32。该移位屏蔽32随后能够被用作多位控制信号,该信号被提供给多位多路复用器34,该复用器选择来自移位值26的位或选择来自目的值36的位,以便馈送给结果值38。
附图5图解了红、绿和蓝像素值分量被压缩为16位结果值的标量压缩操作。第一操作利用移位量为5个比特位置使用右移位插入指令对红和绿分量值执行。这留下结果中的5比特红分量R5不变,但是将绿分量G6及其剩余物写入该结果中。通过利用11比特位置的移位量执行右移位插入指令,第二指令取组合的红和绿分量,并且将蓝分量B5插入它中,以使蓝分量B5邻接已被插入的绿分量G6的末尾,并且填充16位结果值内的剩余位置。
附图6表示如图5所示的相同类型的压缩操作,但是在这种情况中,在单指令多数据(SIM)系统内执行。如将认识到,对于SIMD系统内的每个数据航线(lane),单独执行同样的移位插入操作,以便能够使用2个SIMD右移位插入指令,将4组像素值一起并行进行压缩。

Claims (26)

1、一种用于处理数据的设备,所述设备包含:
多个寄存器,可操作来存储待处理的数据值;
处理逻辑,可操作为对存储在所述多个寄存器中的一个或多个数据值执行数据处理操作;以及
指令译码器,响应程序指令来控制所述处理逻辑,从而执行由所述程序指令指定的数据处理操作;其中
所述指令译码器响应移位插入指令来控制所述处理逻辑,以执行移位插入数据处理操作,得到具有由以下步骤给定的结果值的结果:
将存储在第一寄存器中的第一数据值移位N个比特位置的移位量,以形成包含N个移入位的被移位值,其中N具有多个不同非零值之一;和
除了所述N个被移入位之外,将所述移位值的各自位插入到存储在第二寄存器中的第二数据值中的相应比特位置,所述第二数据值中对应于所述N个移入位的位不变,因此形成所述结果。
2、如权利要求1所述的设备,其中所述移位插入指令包括用于指定所述N个比特位置的移位位数的立即值。
3、如权利要求1和2中任一项所述的设备,其中所述移位插入指令包含指定寄存器组中的一个寄存器用作所述第一寄存器的寄存器指定字段。
4、如权利要求1,2和3中任一项所述的设备,其中所述移位插入指令包含指定寄存器组中的一个寄存器用作所述第二寄存器的寄存器指定字段。
5、如前述权利要求中任一项所述的设备,其中移位插入指令包含指定寄存器组中的一个寄存器用作目的寄存器的寄存器指定字段。
6、如权利要求5所述的设备,其中用于所述目的寄存器的寄存器指定字段被所述第一寄存器和第二寄存器之一共享。
7、如前述权利要求中任一项所述的设备,其中所述第一数据值被右移位。
8、如权利要求1-6中任一项所述的设备,其中所述第一数据值被左移位。
9、如前述权利要求中任一项所述的设备,其中所述第一数据值和第二数据值具有同样的位数。
10、如前述权利要求中任一项所述的设备,其中响应所述移位插入指令,所述处理逻辑可操作来移位所述第一值。
11、如前述权利要求中任一项所述的设备,其中响应所述移位插入指令,所述处理逻辑可操作来形成屏蔽值,用于选择所述第二数据值中的哪些位利用所述移位数据值的相应位来代替,以及所述第二数据值中的哪些位不变。
12、如前述权利要求中任一项所述的设备,其中所述处理逻辑是单指令多数据处理逻辑,并且所述第一寄存器和第二存储器是第一单指令多数据寄存器和第二单指令多数据寄存器的相应部分,所述移位插入指令可操作为控制在各自处理航线中多个移位插入操作的并行执行。
13、如权利要求1-11中任一项所述的设备,其中所述处理逻辑是标量处理逻辑。
14、一种处理数据的方法,所述方法包含以下步骤:
在多个寄存器中存储待处理的数据值;
根据在所述多个寄存器中存储的一个或多个数据值,使用处理逻辑来执行数据处理操作;和
响应程序指令,利用指令译码器来控制所述处理逻辑,从而执行由所述程序指令指定的数据处理操作;其中
所述指令译码器响应移位插入指令来控制所述处理逻辑,以执行移位插入数据处理操作,得到具有利用以下步骤给定的结果值的结果:
将存储在第一寄存器中的第一数据值移位N个比特位置的移位量,以形成包含N个移入位的被移位值,其中N具有多个不同的非零值之一;和
除了所述N个被移入位之外,将所述被移位值的各自位插入到第二寄存器中存储的第二数据值的相应比特位置,所述第二数据值中对应于所述N个移入位的位不变,因此形成所述结果。
15、如权利要求14所述的方法,其中所述移位插入指令包括指定N个比特位置的移位量的立即值。
16、如权利要求14和15中任一项所述的方法,其中所述移位插入指令包含指定寄存器组中的寄存器用作所述第一寄存器的寄存器指定字段。
17、如权利要求14,15和16中任一项所述的方法,其中所述移位插入指令包含指定寄存器组中的寄存器用作所述第二寄存器的寄存器指定字段。
18、如权利要求14-17中任一项所述的方法,其中移位插入指令包含用于指定寄存器组中的寄存器用作目的寄存器的寄存器指定字段。
19、如权利要求18所述的方法,其中用于所述目的寄存器的寄存器指定字段被所述第一寄存器和第二寄存器之一共享。
20、如权利要求13-17中任一项所述的方法,其中所述第一数据值被右移位。
21、如权利要求14-17中任一项所述的方法,其中所述第一数据值被左移位。
22、如权利要求14-19中任一项所述的方法,其中所述第一数据值和第二数据值具有同样的比特数。
23、如权利要求14-20中任一项所述的方法,其中响应所述移位插入指令,所述处理逻辑可操作来移位所述第一值。
24、如权利要求14-21中任一项所述的方法,其中响应所述移位插入指令,所述处理逻辑形成屏蔽值,用于选择所述第二数据值中的哪些位利用所述移位数据值内的相应位来代替,以及所述第二数据值中的哪些位不变。
25、如权利要求14-22中任一项所述的方法,其中所述处理逻辑是单指令多数据处理逻辑,并且所述第一寄存器和第二存储器是第一单指令多数据寄存器和第二单指令多数据寄存器的相应部分,所述移位插入指令可操作来控制在相应的处理航线中多个移位插入操作的并行执行。
26、如权利要求14-22中任一项所述的方法,其中所述处理逻辑是标量处理逻辑。
CNB2004800423443A 2004-03-10 2004-08-03 用于处理数据的方法和设备 Active CN100538624C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB0405407A GB2411978B (en) 2004-03-10 2004-03-10 Inserting bits within a data word
GB0405407.8 2004-03-10

Publications (2)

Publication Number Publication Date
CN1926511A true CN1926511A (zh) 2007-03-07
CN100538624C CN100538624C (zh) 2009-09-09

Family

ID=32117417

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004800423443A Active CN100538624C (zh) 2004-03-10 2004-08-03 用于处理数据的方法和设备

Country Status (11)

Country Link
US (1) US7350058B2 (zh)
EP (1) EP1723512A2 (zh)
JP (1) JP2007528545A (zh)
KR (1) KR100981998B1 (zh)
CN (1) CN100538624C (zh)
GB (1) GB2411978B (zh)
IL (1) IL177507A (zh)
MY (1) MY137200A (zh)
RU (1) RU2006135629A (zh)
TW (1) TWI322947B (zh)
WO (1) WO2005088441A2 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102348111A (zh) * 2010-07-30 2012-02-08 国家卫星气象中心 用于静止气象卫星数据广播的数据压缩结构识别码
CN104049953A (zh) * 2013-03-15 2014-09-17 英特尔公司 用于合并操作掩码的未经掩码元素的处理器、方法、系统和指令
CN104899522A (zh) * 2015-06-09 2015-09-09 网易(杭州)网络有限公司 一种数据处理方法及装置
CN105892993A (zh) * 2016-03-28 2016-08-24 龙芯中科技术有限公司 基于提取插入操作的重组方法、装置及微处理器
CN107851019A (zh) * 2015-07-31 2018-03-27 Arm 有限公司 用于执行叠接操作的设备和方法
CN109891756A (zh) * 2019-01-31 2019-06-14 香港应用科技研究院有限公司 可重置分段可缩放移位器
CN110912562A (zh) * 2018-09-18 2020-03-24 深圳市茁壮网络股份有限公司 一种浮点数据处理方法、装置及存储介质

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7529918B2 (en) * 2006-07-21 2009-05-05 Broadcom Corporation System and method for efficiently performing bit-field extraction and bit-field combination operations in a processor
JP4374363B2 (ja) * 2006-09-26 2009-12-02 Okiセミコンダクタ株式会社 ビットフィールド操作回路
GB2447427B (en) 2007-03-12 2011-05-11 Advanced Risc Mach Ltd Address calculation within data processing systems
KR20100101586A (ko) * 2007-12-05 2010-09-17 샌드브리지 테크놀로지스, 인코포레이티드 데이터 처리에 있어서 레지스터 시프트 및 회전을 포함하는 방법 및 명령어 세트
US20120117360A1 (en) * 2010-11-09 2012-05-10 Texas Instruments Incorporated Dedicated instructions for variable length code insertion by a digital signal processor (dsp)
GB2485774A (en) * 2010-11-23 2012-05-30 Advanced Risc Mach Ltd Processor instruction to extract a bit field from one operand and insert it into another with an option to sign or zero extend the field
US9823928B2 (en) * 2011-09-30 2017-11-21 Qualcomm Incorporated FIFO load instruction
US9619236B2 (en) * 2011-12-23 2017-04-11 Intel Corporation Apparatus and method of improved insert instructions
US10402198B2 (en) * 2013-06-18 2019-09-03 Nxp Usa, Inc. Signal processing device and method of performing a pack-insert operation
US20170177350A1 (en) * 2015-12-18 2017-06-22 Intel Corporation Instructions and Logic for Set-Multiple-Vector-Elements Operations
US20170185402A1 (en) * 2015-12-23 2017-06-29 Intel Corporation Instructions and logic for bit field address and insertion
US10831479B2 (en) 2019-02-20 2020-11-10 International Business Machines Corporation Instruction to move data in a right-to-left direction

Family Cites Families (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US131030A (en) * 1872-09-03 Improvement in portable furnaces
US133682A (en) * 1872-12-03 Improvement in gates
FR2253415A5 (zh) * 1973-12-04 1975-06-27 Cii
US4569016A (en) * 1983-06-30 1986-02-04 International Business Machines Corporation Mechanism for implementing one machine cycle executable mask and rotate instructions in a primitive instruction set computing system
US4876660A (en) * 1987-03-20 1989-10-24 Bipolar Integrated Technology, Inc. Fixed-point multiplier-accumulator architecture
JPH0778735B2 (ja) * 1988-12-05 1995-08-23 松下電器産業株式会社 キャッシュ装置と命令読出し装置
JPH05233281A (ja) * 1992-02-21 1993-09-10 Toshiba Corp 電子計算機
US5408670A (en) * 1992-12-18 1995-04-18 Xerox Corporation Performing arithmetic in parallel on composite operands with packed multi-bit components
US5481743A (en) * 1993-09-30 1996-01-02 Apple Computer, Inc. Minimal instruction set computer architecture and multiple instruction issue method
US5881302A (en) * 1994-05-31 1999-03-09 Nec Corporation Vector processing unit with reconfigurable data buffer
US6009508A (en) * 1994-06-21 1999-12-28 Sgs-Thomson Microelectronics Limited System and method for addressing plurality of data values with a single address in a multi-value store on FIFO basis
GB9412434D0 (en) * 1994-06-21 1994-08-10 Inmos Ltd Computer instruction compression
GB9412487D0 (en) * 1994-06-22 1994-08-10 Inmos Ltd A computer system for executing branch instructions
US5761103A (en) * 1995-03-08 1998-06-02 Texas Instruments Incorporated Left and right justification of single precision mantissa in a double precision rounding unit
GB9509989D0 (en) * 1995-05-17 1995-07-12 Sgs Thomson Microelectronics Manipulation of data
GB9509983D0 (en) * 1995-05-17 1995-07-12 Sgs Thomson Microelectronics Replication of data
GB9509988D0 (en) * 1995-05-17 1995-07-12 Sgs Thomson Microelectronics Matrix transposition
GB9509987D0 (en) 1995-05-17 1995-07-12 Sgs Thomson Microelectronics Manipulation of data
GB9513515D0 (en) * 1995-07-03 1995-09-06 Sgs Thomson Microelectronics Expansion of data
GB9514684D0 (en) * 1995-07-18 1995-09-13 Sgs Thomson Microelectronics An arithmetic unit
GB9514695D0 (en) * 1995-07-18 1995-09-13 Sgs Thomson Microelectronics Combining data values
JP3526976B2 (ja) * 1995-08-03 2004-05-17 株式会社日立製作所 プロセッサおよびデータ処理装置
US6295599B1 (en) 1995-08-16 2001-09-25 Microunity Systems Engineering System and method for providing a wide operand architecture
US5907865A (en) * 1995-08-28 1999-05-25 Motorola, Inc. Method and data processing system for dynamically accessing both big-endian and little-endian storage schemes
EP0789870B1 (en) * 1995-09-01 2003-01-15 Philips Electronics North America Corporation Method and apparatus for custom operations of a processor
US6088783A (en) * 1996-02-16 2000-07-11 Morton; Steven G DPS having a plurality of like processors controlled in parallel by an instruction word, and a control processor also controlled by the instruction word
US5937178A (en) * 1996-02-13 1999-08-10 National Semiconductor Corporation Register file for registers with multiple addressable sizes using read-modify-write for register file update
US6009191A (en) * 1996-02-15 1999-12-28 Intel Corporation Computer implemented method for compressing 48-bit pixels to 16-bit pixels
US5808875A (en) * 1996-03-29 1998-09-15 Intel Corporation Integrated circuit solder-rack interconnect module
US5838984A (en) * 1996-08-19 1998-11-17 Samsung Electronics Co., Ltd. Single-instruction-multiple-data processing using multiple banks of vector registers
US6058465A (en) * 1996-08-19 2000-05-02 Nguyen; Le Trong Single-instruction-multiple-data processing in a multimedia signal processor
US5996066A (en) * 1996-10-10 1999-11-30 Sun Microsystems, Inc. Partitioned multiply and add/subtract instruction for CPU with integrated graphics functions
US5893145A (en) * 1996-12-02 1999-04-06 Compaq Computer Corp. System and method for routing operands within partitions of a source register to partitions within a destination register
US6173366B1 (en) * 1996-12-02 2001-01-09 Compaq Computer Corp. Load and store instructions which perform unpacking and packing of data bits in separate vector and integer cache storage
US5909572A (en) * 1996-12-02 1999-06-01 Compaq Computer Corp. System and method for conditionally moving an operand from a source register to a destination register
US5898896A (en) * 1997-04-10 1999-04-27 International Business Machines Corporation Method and apparatus for data ordering of I/O transfers in Bi-modal Endian PowerPC systems
US5973705A (en) * 1997-04-24 1999-10-26 International Business Machines Corporation Geometry pipeline implemented on a SIMD machine
US6047304A (en) * 1997-07-29 2000-04-04 Nortel Networks Corporation Method and apparatus for performing lane arithmetic to perform network processing
GB2330226B (en) * 1997-08-30 2000-12-27 Lg Electronics Inc Digital signal processor
GB2329810B (en) * 1997-09-29 2002-02-27 Science Res Foundation Generation and use of compressed image data
US5933650A (en) * 1997-10-09 1999-08-03 Mips Technologies, Inc. Alignment and ordering of vector elements for single instruction multiple data processing
US5864703A (en) * 1997-10-09 1999-01-26 Mips Technologies, Inc. Method for providing extended precision in SIMD vector arithmetic operations
US6144980A (en) * 1998-01-28 2000-11-07 Advanced Micro Devices, Inc. Method and apparatus for performing multiple types of multiplication including signed and unsigned multiplication
US6085213A (en) * 1997-10-23 2000-07-04 Advanced Micro Devices, Inc. Method and apparatus for simultaneously multiplying two or more independent pairs of operands and summing the products
US6038583A (en) * 1997-10-23 2000-03-14 Advanced Micro Devices, Inc. Method and apparatus for simultaneously multiplying two or more independent pairs of operands and calculating a rounded products
US6269384B1 (en) * 1998-03-27 2001-07-31 Advanced Micro Devices, Inc. Method and apparatus for rounding and normalizing results within a multiplier
US6223198B1 (en) * 1998-08-14 2001-04-24 Advanced Micro Devices, Inc. Method and apparatus for multi-function arithmetic
US6223277B1 (en) * 1997-11-21 2001-04-24 Texas Instruments Incorporated Data processing circuit with packed data structure capability
US6223320B1 (en) * 1998-02-10 2001-04-24 International Business Machines Corporation Efficient CRC generation utilizing parallel table lookup operations
US6334176B1 (en) * 1998-04-17 2001-12-25 Motorola, Inc. Method and apparatus for generating an alignment control vector
US6292888B1 (en) * 1999-01-27 2001-09-18 Clearwater Networks, Inc. Register transfer unit for electronic processor
GB2352065B (en) * 1999-07-14 2004-03-03 Element 14 Ltd A memory access system
US6408345B1 (en) * 1999-07-15 2002-06-18 Texas Instruments Incorporated Superscalar memory transfer controller in multilevel memory organization
US6546480B1 (en) * 1999-10-01 2003-04-08 Hitachi, Ltd. Instructions for arithmetic operations on vectored data
US6430684B1 (en) * 1999-10-29 2002-08-06 Texas Instruments Incorporated Processor circuits, systems, and methods with efficient granularity shift and/or merge instruction(s)
US6748521B1 (en) * 2000-02-18 2004-06-08 Texas Instruments Incorporated Microprocessor with instruction for saturating and packing data
US7272622B2 (en) * 2001-10-29 2007-09-18 Intel Corporation Method and apparatus for parallel shift right merge of data
US7685212B2 (en) * 2001-10-29 2010-03-23 Intel Corporation Fast full search motion estimation with SIMD merge instruction

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102348111A (zh) * 2010-07-30 2012-02-08 国家卫星气象中心 用于静止气象卫星数据广播的数据压缩结构识别码
CN104049953B (zh) * 2013-03-15 2017-11-03 英特尔公司 用于合并操作掩码的未经掩码元素的装置、方法、系统和制品
CN104049953A (zh) * 2013-03-15 2014-09-17 英特尔公司 用于合并操作掩码的未经掩码元素的处理器、方法、系统和指令
US9411593B2 (en) 2013-03-15 2016-08-09 Intel Corporation Processors, methods, systems, and instructions to consolidate unmasked elements of operation masks
CN104899522B (zh) * 2015-06-09 2018-01-30 网易(杭州)网络有限公司 一种数据处理方法及装置
CN104899522A (zh) * 2015-06-09 2015-09-09 网易(杭州)网络有限公司 一种数据处理方法及装置
CN107851019A (zh) * 2015-07-31 2018-03-27 Arm 有限公司 用于执行叠接操作的设备和方法
CN107851019B (zh) * 2015-07-31 2022-06-28 Arm 有限公司 用于执行叠接操作的设备和方法
CN105892993A (zh) * 2016-03-28 2016-08-24 龙芯中科技术有限公司 基于提取插入操作的重组方法、装置及微处理器
CN105892993B (zh) * 2016-03-28 2019-02-15 龙芯中科技术有限公司 基于提取插入操作的重组方法、装置及微处理器
CN110912562A (zh) * 2018-09-18 2020-03-24 深圳市茁壮网络股份有限公司 一种浮点数据处理方法、装置及存储介质
CN109891756A (zh) * 2019-01-31 2019-06-14 香港应用科技研究院有限公司 可重置分段可缩放移位器
CN109891756B (zh) * 2019-01-31 2023-03-28 香港应用科技研究院有限公司 可重置分段可缩放移位器

Also Published As

Publication number Publication date
CN100538624C (zh) 2009-09-09
WO2005088441A2 (en) 2005-09-22
GB2411978B (en) 2007-04-04
TWI322947B (en) 2010-04-01
KR20070028322A (ko) 2007-03-12
MY137200A (en) 2009-01-30
RU2006135629A (ru) 2008-04-20
IL177507A0 (en) 2006-12-10
JP2007528545A (ja) 2007-10-11
KR100981998B1 (ko) 2010-09-13
GB0405407D0 (en) 2004-04-21
TW200530838A (en) 2005-09-16
EP1723512A2 (en) 2006-11-22
IL177507A (en) 2010-12-30
US20050204117A1 (en) 2005-09-15
GB2411978A (en) 2005-09-14
WO2005088441A3 (en) 2006-06-22
US7350058B2 (en) 2008-03-25

Similar Documents

Publication Publication Date Title
CN1926511A (zh) 在数据字内插入比特
EP2603851B1 (en) Data processing apparatus having bit field manipulation instruction and method
CN111656367A (zh) 神经网络加速器的系统和体系结构
JP3526976B2 (ja) プロセッサおよびデータ処理装置
CN101097512B (zh) 用于实施混洗和移位操作的方法、设备和系统
JPH09106342A (ja) 並べ換え装置
JP7335225B2 (ja) データ処理装置におけるデータ項目内のカウント要素
WO2001035224A1 (en) Bit-serial memory access with wide processing elements for simd arrays
CN1516003A (zh) 一种机器可读介质
KR102560424B1 (ko) 와이드 데이터 타입들의 비교
US9594668B1 (en) Debugger display of vector register contents after compiler optimizations for vector instructions
KR102584031B1 (ko) 데이터 처리장치에서의 요소 바이 벡터 연산
CN1160620C (zh) 带算术逻辑单元和堆栈的数据处理器
US8135229B1 (en) Image processing method and device
US6253314B1 (en) Instruction set and executing method of the same by microcomputer
CN107430506B (zh) 发现向量内的重复值的多个实例的方法和装置及到排序的应用
US8358653B1 (en) Generating a pipeline of a packet processor from a parsing tree
EP1489493A1 (en) Operation processor, building method, operation processing system, and operation processing method
KR101699029B1 (ko) 영역 처리 속도를 향상한 영상 처리 장치 및 영상 처리 방법
US20040243788A1 (en) Vector processor and register addressing method
US8443102B1 (en) Pipeline of a packet processor programmed to extract packet fields
US20080158238A1 (en) Format conversion apparatus from band interleave format to band separate format
WO2023199015A1 (en) Technique for handling data elements stored in an array storage
GB2617828A (en) Technique for handling data elements stored in an array storage
CN115660054A (zh) 时序神经网络的映射方法及装置、加速器

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant