CN103282876B - 数据元素的条件选择 - Google Patents
数据元素的条件选择 Download PDFInfo
- Publication number
- CN103282876B CN103282876B CN201180049212.3A CN201180049212A CN103282876B CN 103282876 B CN103282876 B CN 103282876B CN 201180049212 A CN201180049212 A CN 201180049212A CN 103282876 B CN103282876 B CN 103282876B
- Authority
- CN
- China
- Prior art keywords
- memory element
- condition
- data
- source memory
- secondary source
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 claims abstract description 21
- 238000004590 computer program Methods 0.000 claims abstract description 6
- 230000004044 response Effects 0.000 claims description 47
- 230000008569 process Effects 0.000 claims description 12
- 238000013500 data storage Methods 0.000 claims description 5
- 230000005055 memory storage Effects 0.000 claims description 3
- 238000003672 processing method Methods 0.000 claims 2
- 230000001960 triggered effect Effects 0.000 claims 2
- 239000000654 additive Substances 0.000 claims 1
- 230000000996 additive effect Effects 0.000 claims 1
- 238000013507 mapping Methods 0.000 claims 1
- 230000006870 function Effects 0.000 description 22
- 238000011112 process operation Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000002349 favourable effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000008570 general process Effects 0.000 description 1
- 238000004064 recycling 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
-
- 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/22—Microcontrol or microprogram arrangements
- G06F9/26—Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
- G06F9/262—Arrangements for next microinstruction selection
- G06F9/264—Microinstruction selection based on results of processing
- G06F9/265—Microinstruction selection based on results of processing by address selection on input of storage
-
- 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/30072—Arrangements for executing specific machine instructions to perform conditional operations, e.g. using predicates or guards
-
- 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/30094—Condition code generation, e.g. Carry, Zero flag
-
- 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/38—Concurrent instruction execution, e.g. pipeline, look ahead
-
- 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/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3824—Operand accessing
- G06F9/383—Operand prefetching
-
- 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/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3842—Speculative instruction execution
Abstract
揭示一种数据处理设备、方法以及计算机程序,其对诸如寄存器之类的一个数据元素执行操作并然后有条件地选择该寄存器或未被执行操作的另一寄存器。设备包含:指令解码器,被配置为解码至少一个条件选择指令,该至少一个条件选择指令指定主要源寄存器、次要源寄存器、目的地寄存器、条件以及要对来自次要源寄存器的数据元素执行的操作;数据处理器,被配置为执行由指令解码器控制的数据处理操作,其中:数据处理器响应经解码的至少一个条件选择指令以及具有预定结果的条件,对来自次要源寄存器的数据元素执行操作以形成结果数据元素,并且将该结果数据元素存储在目的地寄存器中;并且数据处理器响应经解码的至少一个条件选择指令以及不具有预定结果的条件,从来自主要寄存器的数据元素形成结果数据元素,并将该结果数据元素存储在目的地寄存器中。
Description
技术领域
本发明涉及数据处理设备的领域,并且具体地,涉及基于条件选择源数据元素(element)的条件选择指令的领域。
背景技术
条件选择已被用在如CambridgeUK的所执行处理中,并且这些指令指示处理器仅响应于预定条件被满足才执行处理操作。需要被满足的条件的示例有少于、多于、等于、为负、进位输入(carryin)、为零,等等。
这些条件指令尤其在至少部分地彼此并行执行指令的高端处理设备中的缺点为:指令流中条件指令随后的需要条件指令的结果作为输入的指令可能需要原始值或更新值,这依赖于条件是否被满足。当随后的指令已进入管线,而条件指令仍在管线中时,可能需要使得原始值或结果值在管线中能用于随后的指令。这可能要求额外的对原始值进行读取,这在速度和功率上具有相当高的开销。
已经知道了选择指令,这种选择指令使得处理器基于条件被满足而从两个源寄存器选项中选择要被写入目的地寄存器的结果。
US2006/0236078公开了一种传统的条件选择指令,其中,两个寄存器的内容可被加在一起,并且如果等于条件被满足,则该结果被至于结果寄存器中,并且如果等于条件未被满足,则另一寄存器的内容被至于结果寄存器中。
将期望能够保持许多条件指令的功能并仍然维持性能。
发明内容
从第一方面看来,本发明提供了一种数据处理设备,包含:数据存储装置,该数据存储装置包含用于存储数据元素的多个存储元件;指令解码器,该指令解码器被配置为解码至少一个条件选择指令,所述至少一个条件选择指令指定主要源存储元件、次要源存储元件、条件以及要对存储于所述次要源存储元件的数据元素执行的操作,其中,所述操作包含递增来自所述次要源存储元件的数据元素、逻辑地反向来自所述次要源存储元件的数据元素以产生逐位逻辑反向的存储元件值、逻辑地反向并递增来自所述次要源存储元件的数据元素以产生该数据元素的算术负值中的一种;数据处理器,该数据处理器被配置为执行数据处理操作,该数据处理操作由所述指令解码器控制,其中:所述数据处理器响应于经解码的所述至少一个条件选择指令与具有预定结果(outcome)的所述条件,对来自所述次要源存储元件的数据元素执行所述操作,以形成结果数据元素;并且所述数据处理器响应于经解码的所述至少一个条件选择指令与不具有预定结果的所述条件,从所述主要存储元件中的数据元素形成所述结果数据元素
本发明认识到,条件选择指令是响应于预定条件的结果而选择存储在存储元件中的特定值的有效方式。预定结果可为条件被满足,或可为条件未满足。本发明还认识到,若条件选择指令引起对存储元件之一中的值执行操作,则这可提供具有许多传统条件指令的特性而没有许多性能缺点的指令,就像访问结果时,两个存储元件中的一个被简单地选择。
在一些实施例中,所述指令还指定目的地存储元件,所述数据处理器响应于所述至少一个条件选择指令,将所述结果数据元素存储在所述目的地存储元件中。
指令可指定要存储结果数据元素的目的地存储元件,或其可被配置为简单地覆写在具有结果数据元素的预定存储位置上。
在一些实施例中,目的地存储元件可以是源存储元件中的一者,而在其他实施例中,目的地存储元件可以为不同的存储元件。
在一些实施例中,所述数据处理器响应于经解码的所述至少一个条件选择指令与不具有预定结果的所述条件,对所述次要源存储元件中的数据元素执行操作,以及从所述主要源存储元件中的数据元素形成所述结果数据元素。
在条件不具有预定结果时,所述主要源存储元件被选择作为所述结果数据元素的源。在一些实施例中,尽管主要源存储元件被选择,但是仍对次要源存储元件中的数据元素执行由条件选择指令所指定的操作。尽管在此情况中并不需要此操作的结果,然而不论如何,执行此操作是有利的,因为一般地其决定条件的结果,这花费大量指令运行时间,因此,若在知道条件是否具有预定结果之前在次要源存储元件中执行操作,则当条件的结果被确定时两种存储元件都已准备好供选择,从而过程的等待时间被减少。
在一些实施例中,所述存储元件数据存储装置包含映像至零值的存储元件。
提供具有与其相关联的操作(诸如反向和递增)以及映射到零值的存储元件的可能性的条件选择指令能够提供具有执行映射到由许多旧有条件指令执行的操作的许多不同操作的能力的处理设备。后面给出关于这些的示例。按照这种方式,可以以适当方式利用此条件式选择功能来仿真在旧有系统中提供的许多条件指令。此条件选择功能提供了一种能够提供旧有条件指令的功能但没有许多性能缺点的有效且方便的方式。
本领域技术人员将很清楚,存储元件可为若干种事物,例如,在一些实施例中,他们可以为寄存器,而在另一些实施例中,他们可以为存储器位置。
在一些实施例中,所述指令解码器被配置为响应于所述条件选择指令输出递增控制信号;并且所述处理器被配置为处理经解码的所述条件选择指令,包含:加法器,该加法器被配置为接收来自所述次要源存储元件的值以及进位输入信号;多工器,该多工器被配置为接收来自所述主要源存储元件的信号以及来自所述加法器的输出的信号,用于所述多工器的选择信号包含所述条件,以使得具有预定结果的所述条件触发所述多工器选择所述加法器的输出;其中响应于所述递增控制信号被设置,所述进位输入信号被设定成1,并且所述加法器递增从所述至少一个源存储元件接收的值。
本发明的实施例的进一步的优点为实施这些功能所需的电路系统为简单处理电路系统,其在许多情况下呈现在处理器中且可被再利用以提供所需功能。例如,递增操作可以通过使用加法器和进位输入信号来提供,其中,递增控制信号设定了进位输入信号,并且用于多工器的选择功能为条件的结果。
在一些实施例中,所述指令解码器被配置为响应于所述条件选择指令输出反向控制信号;并且所述处理器被配置为处理经解码的所述条件选择指令,包含:加法器,该加法器被配置为响应于反向控制信号被设定而接收来自所述次要源存储元件并通过反向器的值,并且响应于反向控制信号未被设定而接收来自所述次要源存储元件但未通过所述反向器的值;多工器,该多工器被配置为接收来自所述主要源存储元件的信号和来自所述加法器的输出的信号,用于所述多工器的所述选择信号包含所述条件,以使得具有预定结果的所述条件触发所述多工器选择所述加法器输出。
反向功能可通过利用反向器来提供,并且如果反向器与加法器耦接,则如果需要的话,可组合反向与递增。
例如,在一些实施例中,所述指令解码器被配置为响应于所述条件选择指令而输出递增控制信号和反向控制信号;其中,响应于递增控制信号被设定,所述进位输入信号被设定成1,并且响应于反向控制信号被设定,所述加法器递增从所述次要源存储元件所接收的反向值。
提供反向并递增的能力意味着算术负值可以2的补码值(complimentvalue)的形式提供。
在一些实施例中,所述主要源存储元件与所述次要源存储元件为相同的存储元件。
尽管可使用不同的源存储元件,但是在一些实施例中,他们为相同的存储元件。在此情况下,若条件具有预定结果,则从已被执行操作的存储元件中的值形成结果元素,而若条件不具有预定结果,则所存储的数据元素被用来形成结果数据元素。这是有利的,因为条件选择变为如果条件具有预定结果则执行操作并且如果不具有预定结果则不执行操作。实现这的一种方式是从存储元件形成两条路径,一条通过执行操作的功能电路系统,另一条直接从存储元件走,被选择用来发送结果元素的路径依赖于条件的结果。
在一些实施例中,从响应于至少一个先前的数据处理操作而设定的算术逻辑标志来确定所述条件的结果。
不论条件是否具有预定结果,都可从响应于至少一个先前的数据处理操作而在计算机的状态存储元件中设定的算术逻辑标志来决定。这些先前的数据处理操作是响应于在条件选择指令之前执行的至少一个指令而执行的,并且这些操作决定了条件的结果,即,不论条件是否满足皆根据此来设定标志。因此,为了确定条件是否具有一定结果,一定条件代码被与标志比较,并且如果相匹配,则确定条件具有预定结果;如果不匹配,则确定条件不具有预定结果。显而易见地,该此系统可反向,以使得不匹配为预先结果,而匹配不是预定结果。
先前的数据处理操作可为若干种事物,但在一些实施例中,该先前的数据处理操作包含:对至少一个源存储元件内的数据元素与另一值进行比较。
条件代码可为某种事物,例如在源存储元件B中为小于一定值的值。为了确定此条件的结果,通过执行从所述一定值中减去存储元件B中的值并响应于此设定算术逻辑标志,来对存储于存储元件B中的值与所述一定值进行比较,存储于存储元件B中的值应小于所述一定值。此操作是响应于指令流中的稍早指令而执行的。因此,若负标志被设定,则条件已满足。
在另一些实施例中,所述至少一个先前的数据处理操作包含:对所述主要源存储元件中的数据元素与所述次要源存储元件中的数据元素进行比较。
对两个源存储元件中的值进行比较并且仅在他们彼此具有一定关系时执行一定操作可能是适当的。若这作为条件,则先前的处理操作可为:对这些值进行比较并且设定标志,其中条件是否满足可从状态标志来决定。
条件可为若干种类,例如,条件可为不等于、等于、小于、大于、大于等于、小于等于、为零或为负。所有这些条件都可从条件标志确定。
算术逻辑标志包含:负结果标志、零结果标志、退位(carryout)标志以及带正负号溢位标志中的至少一者。因此,这些值之间的比较通常为减法,而负值结果将指示值中的一个大于另一个,类似地零值结果将指示两值相等,诸如此类。
在一些实施例中,所述条件的预定结果包含所述条件被满足。
如同先前提到的,条件的预定结果可为条件已被满足,或者,也可为条件未被满足。
在一些实施例中,所述数据处理设备包含:响应于算术指令执行加法和减法操作的算术电路系统,其中响应于所述条件选择指令对所述次要源存储元件中的数据元素执行操作的电路系统中的至少一些包含该算术电路系统。
如同先前提到的,条件式选择功能可执行的诸如递增等操作可利用算术电路系统来执行。如果此算术电路系统已存在于用于执行加法和减法运算的处理器中,则可方便地重复利用该电路系统执行条件选择指令。在此情况中,可提供该指令的功能而不需大量额外的电路系统,从而使得对电路区域的使用更高效。
在一些实施例中,所述条件选择指令包含指示符,该指示符指示所述源存储元件和所述目的地存储元件的宽度。
本发明的实施例适合用于可利用不同宽度的存储元件的设备。因此,例如,硬件可以寄存器作为其存储元件,其具有64位宽度,但是有时也可运行利用32位宽度存储元件的代码。在此情况下,指示符可被设定并且寄存器的相关部分可被访问。
本发明的第二方面提供了一种数据处理设备的方法,包含:接收至少一个条件选择指令,所述至少一个条件选择指令指定主要源存储元件、次要源存储元件、条件以及要对所述次要源存储元件内的数据元素执行的操作,其中,所述操作包含递增来自所述次要源存储元件的数据元素、逻辑地反向来自所述次要源存储元件的数据元素以产生逐位逻辑反向的存储元件值、逻辑地反向并递增来自所述次要源存储元件的数据元素以产生该数据元素的算术负值中的一种;解码所接收的所述至少一个条件选择指令;判断所述条件是否具有预定结果;若所述条件具有预定结果,则选择所述次要源存储元件,并对来自所选择的存储元素的数据元素执行所述操作,以形成结果数据元素;并且若所述条件不具有预定结果,则选择所述主要源存储元件中的数据元素以形成所述结果数据元素。
本发明的第三方面提供了一种存储计算机程序的计算机程序产品,所述计算机程序包含条件选择指令,当在数据处理器上运行时能操作以控制数据处理器执行如根据本发明的第二方面所述的方法的步骤。
本发明的第四方面提供了一种由在数据处理设备上运行的计算机程序提供的虚拟机,该虚拟机根据本发明的第一方面所述的数据处理设备提供一种指令运行环境。
附图说明
参考在附图中所示的实施例,通过实例来进一步描述本发明,其中:
图1图示根据本发明的一个实施例的数据处理设备;
图2图示根据本发明的一个实施例的用于执行条件选择指令的处理电路系统;
图3图示根据本发明的一个实施例的被重复用于执行条件选择指令的数据处理设备内的算术电路系统;
图4图示根据本发明的一个实施例的条件选择指令以及示例状态标志;
图5A和图5B图示条件选择指令如何被用于执行仿真旧有条件式指令的功能的示例;
图6图示说明根据本发明的一个实施例的方法的流程图;
图7图示对条件选择指令的编码的示例;以及
图8是示意性地图示本技术的虚拟机的图表。
具体实施方式
图1图示根据本发明的一个实施例的数据处理设备10。此数据处理设备10具有用于存储要被处理的指令的数据存储装置20。数据处理设备10具有用于处理指令的管线30,包括用于从指令存储装置20获取指令的获取单元32、用于解码这些指令的指令解码器34以及用于处理经解码的指令的处理单元36。
还具有包含多个寄存器的寄存器库40。处理单元36从这些寄存器读取数据和向这些寄存器写入数据。此寄存器库包括程序状态寄存器CPSR,该程序状态状态寄存器CPSR包含处理器的状态标志。这些状态标志是响应于处理操作而设定的,并且可被处理器用来确定处理器的特定状况或状态。
在本实施例中,还具有映射到0的寄存器X31。因此,当此寄存器通过指令被选择时,总是给定0值。
配置解码器34以解码的一个指令为条件选择指令。响应于此经解码的指令,处理器对源寄存器中由该指令所指定的一个源寄存器执行由该指令所指定的操作,然后选择此源寄存器或另一寄存器作为结果元素要写入其中的目的地寄存器。
图2图示处理单元36中可被用于响应于条件选择指令执行这些处理操作的处理电路系统的示例。
在本发明的实施例中,条件选择指令可对寄存器之一中的值执行两种操作中的一种操作。条件选择指令可响应于递增控制信号被设定而递增,或者可响应于反向控制标志被设定而通过对所存储的值中每个位执行逐位逻辑反向来使该值反向。条件选择指令依赖于条件,并且因此,判断条件是否被满足,并且依赖于此,寄存器中的这个寄存器或另一寄存器被输出。
因此,在图2的实施例中,有两个源寄存器Rn与Rm。在本实施例中,他们都为32位宽度,尽管在替代实施例中,他们可为64位宽度。在另一些实施例中,他们可为64位宽度,但是响应于条件选择指令中选择位被设定而被当作32位寄存器,并且仅仅较高32位或较低32位被写入或读出。
寄存器中的一个,Rm,为次要寄存器,在该寄存器上执行条件选择指令可指定的任何操作。因此,在本实施例中,条件选择指令可指定反向操作、递增操作、或者这两者、或者都不指定。若这两者都未指定,则条件选择功能简单地利用多工器50选择寄存器Rm或寄存器Rn。
应注意,尽管寄存器Rm与Rn被示出为不同的寄存器,但是在本发明的实施例中他们可为相同的寄存器,其中,一个数据路径直接从该寄存器达到多工器,而另一数据路径通过功能电路系统。
用于多工器50的选择信号从与指令相关联的条件来确定,上述条件利用评估单元60来评估。在本实施例中,评估单元60将与指令相关联的条件代码与存储在处理设备的CPSR寄存器中的算术逻辑标志进行比较。如果在该条件代码与这些标志间存在匹配,则确定条件已被满足,并且寄存器Rm被选择。如果不存在匹配,则寄存器Rn被选择。
因此,在反向信号和递增信号都未被设定的基本情况下,指令被视作条件选择功能指令,并且依赖于条件是否被满足而选择Rm或Rn。然而,如果指令是反向条件选择指令,则反向信号被设定并且异或(XOR)门70对寄存器Rm中的每一个位逐位作反向,并且反向值经由加法器75被输出到多工器50。如果递增信号未设定,则如果选择功能选择了寄存器Rm,则该逐位反向值被输出到目的地寄存器Rd。如果选择功能选择了寄存器Rn,则逐位反向被执行,但是此反向的结果不被选择以输出到目的地寄存器。
作为本处理电路系统的输入还有递增信号,并且该递增信号作为进位输入(carryin)信号到达加法器75,因此当递增信号被设定了时,加法器接收进位输入。因此,当递增信号被设定了时,从XOR门70输出的值(在反向未被设定的情况下是在寄存器Rm中存储的值,而在反向信号被设定的情况下是存储于寄存器Rm中的值反向)被递增并且如果条件具有预定结果则被利用多工器50选择。若反向信号和递增信号都被设定,则输出值为存储于寄存器Rm中的值的负2的补码值(complimentvalue)。如果仅递增信号被设定,则仅仅存储于寄存器Rm中的值被递增1。
应注意,对存储在寄存器Rm中的值的操作是在利用多工器50选择之前执行的。因此,如果寄存器Rm未被选择,则这些操作被执行是没用的。然而,对条件代码的评估一般要耗费大量时间,因此,如果仅在要执行的操作要结束时才要求此操作的结果,则可能更有利。
图3图示处理电路系统的替代实施例,其类似于图2所示的处理电路系统,但是重复利用了处理设备的一般算术电路系统中的加法器电路系统75。因此,当与图2比较时,这里具有另一个与(AND)门80,该与门80在处理电路系统执行条件选择指令时被用来遮蔽寄存器A向加法器75的输入。因此,当条件选择指令被运行时,0被输入AND门,从而使得存储于寄存器A中的值无法到达加法器。当被作为算术电路系统的部分用于一般的处理操作时,AND门不遮蔽寄存器A的输入,且加法器75可被用来将寄存器A与B加和,或将寄存器A与寄存器B的反向值加和。
在条件选择功能的情况下,加法器75被用于递增存储于寄存器B中的值,或递增存储于寄存器B的反向值,因此,加法器的另一个输入(寄存器A,用于执行一般算术指令)利用AND门80被遮蔽。在其他方面中,此电路系统与图2的电路系统相同。
XOR逻辑通过基于使得寄存器B内的每个位与反向信号进行逐位异或而产生中间结果来提供反向功能。应了解,该电路系统可与如图3中所示的处理器的主要算术单元合并,或其可被构建为如图2中所示的单独的电路系统。
图4图示不同类型的条件选择指令以及他们输出的值的示例。因此,响应于没有反向和递增信号的条件选择指令(CSEL),依赖于条件是否与算术逻辑标志匹配,存储于主要寄存器Rn中的值或存储于次要寄存器Rm中的值被输出到目的地寄存器。
响应于递增信号被设定的条件选择指令(Csel.INC),从寄存器Rm接收的值被递增,并且依赖于条件和标志,存储于寄存器Rn中的值或存储于寄存器Rm并被递增的值被输出到目的地寄存器。
如果反响信号被设定(Csel.INV),则来自寄存器Rm的值为逐位反向的,并且依赖于条件代码是否与标志匹配,Rm中的反向值或存储于Rn中的值被输出到目的地寄存器。
如果反向位与递增位都被设定(Csel.INV.INC),则来自寄存器Rm的值被反向并被递增。这产生了存储于Rm中的值的2的补码值,即原始值的算术负值形式。而且,依赖于条件代码与标志是否匹配,存储于寄存器Rn中的值或来自寄存器Rm的经反向并递增的值被输出到目的地寄存器。
关于条件代码,在本实施例中,条件代码为四位码,其指示出选择寄存器Rm所需的标志样式,而非选择寄存器Rn。这些标志作为四比特值被存储于CPSR寄存器中并包含N、Z、C与B。N指示负结果,Z指示零结果,C指示进位输出(carryout),以及B指示带正负号算术溢位(overflow)。这些标志通过之前的数据处理操作来设定。因此,在条件选择指令运行之前,执行判断条件选择指令是否满足所需的比较的操作被执行。这些操作可响应于比较指令而执行,比较指令将标志设置为其比较的结果。为了判断条件是否被满足,可在条件选择指令内编码指示条件被满足的与一定标志值匹配的条件代码,并且将此代码与标志进行简单比较将判定出条件是否被满足。
所述之前的处理指令可采取或许用于对源寄存器之一中的值与另一源寄存器中的值进行比较,或者或许用于对源寄存器中的值与设定值进行比较的比较指令的形式。一般地,比较指令执行减法运算,并且此结果设定了算术标志。因此,如果指令与条件代码为如果A小于B则B将递增,则该比较可从B中减去A,并且如果结果为负,则设定N标志,因此,条件代码应具有与被设定的N标志匹配的模式。此比较指令可在条件选择指令之前被执行,并且倘若没有设定算术逻辑标志的中间指令,该比较指令甚至可在许多指令之前被执行。
如先前所述,此条件选择指令的优点之一是可提供先前条件指令的功能而没有先前条件指令的一些缺点。图5图示可提供与条件选择指令提供等效功能的示例条件指令。
因此,在第一示例中,条件选择指令可提供介于1和0之间的选择。这使用了映到0的寄存器。在该图中,为了简单起见,这被图示为R0,虽然在图1所示的实施例中被设定为映射到值0的寄存器31。在此情况中,映射到0的寄存器被用作两个源寄存器,并且递增功能被使用,以使得依赖于条件而可选择0值或0递增值,并且因此,依赖于条件,可输出0或1。
条件选择指令也可用来在0值与所有1被屏蔽之间选择。在此情况中,反向操作被使用,并且映射到0的寄存器再一次被用作两个源寄存器。在此情况中,该寄存器被选择作为目的地寄存器,或者该寄存器的反向版本被选择。该寄存器的反向版本将是1被屏蔽,并且依赖于条件是否被满足,0值寄存器或1的屏蔽被提供给目的地寄存器。
条件选择指令也可用于输出存储于寄存器中的绝对值。为了提供此功能,最初通过比较此寄存器中的值与0值以设定条件标志,在本示例中为R3与0值比较。选择了递增和反向功能的条件选择指令被寄存器R3使用,R3既作为源寄存器又作为目的地寄存器,并且条件为小于。因此,如果R3小于0,即如果R3为负值,则递增并反向存储于R3中的值,以提供此值(即负值)的2的补码值。因此,如果存储于R3中的值为负,则其被再负,这表示存储于R3中的值的正值版本为输出。然而,如果存储于R3中的值为正,则条件小于未被满足,则主要寄存器(即R3)存储的值为输出。因此,通过使用此特定条件选择指令,提供了绝对值指令。
下一个示例提供了对值的条件递增,在此情况中,条件选择指令选择了递增操作。在此情况中,主要寄存器被指定为R3,而次要寄存器被指定为目的地寄存器。条件为存储于R3中的值等于存储于R4中被递增的值,因此,若如此,则存储于R3中的值为输出。如非如此,则存储于R4中的值被递增并被存储于R4。
下面的指令示中与指令相关的条件如何可不依赖于存储于源寄存器中的值,但可与存储于另一寄存器中值有关。在此情况中,条件选择指令被用于仿真如下条件式指令:若存储于B中的值等于0,则存储于A中的值应递增。为了使用条件选择指令执行此功能,用于设定标志的初始指令将对存储于B中的值与0进行比较。接着要运行的条件选择指令如下:递增操作被执行,并且源寄存器和目的地寄存器相同,并且条件为等于。因此,如果比较寄存器B与0的比较指令为等于,则因为比较指令实际上为减法,所以将设定Z标志。
该指令的条件代码指示应设定标志0。若如此,则已被递增的次要寄存器中的值被存储寄存器A中,即A被递增。若未设定0标志,即存储于寄存器B中的值不等于0,则主要寄存器中(也为寄存器A)的值为输出。在此情况中,主要寄存器中没有执行操作,因此其值为输出,而非其递增值为输出。
图5的最后示例示出如何利用条件选择指令执行若B大于0,则A可设定成1,否则A设定成0。在此情况中,用于设定标志的比较指令比较寄存器B与0。要运行的条件选择指令已设定递增信号,并且源寄存器为映射到0的寄存器以及目的地寄存器,在此情况中为寄存器A。因此,若比较寄存器B与0的比较指令显示寄存器B大于0,则次要寄存器被选择,并且由于递增值被设定,所有0值输入被递增1,因此1被存储于寄存器A中。若条件未被满足,则B不大于0,则主要寄存器被选择(为寄存器0),因此0被存储于寄存器A中。
因此,从上述示例可看出,条件选择指令可被用于提供许多以条件为基础的不同功能。此外,从前面的图中可清楚知悉,条件选择指令可以简单电路系统实现。
图6图示根据本发明的一个实施例的示例性条件选择指令。在此示例中,具有选择指示符SF,其指示指令在32位寄存器还是64位寄存器中操作。这使得该指令可用在能处理32位值或64位值的处理器中。应注意,在另一些实施例中,此标志可依赖于使用该指令的处理器的性质而用于在不同大小的值之间选择。
还有单比特反向(INVERT)字段,其控制图2图以及图3的XOR逻辑,并确定次要寄存器中的值是否被反向。接着还有9比特字段的操作码(OPCODE),其唯一识别此指令为条件选择指令。接着有4比特的次要寄存器说明符Rm,其识别要作为对于该指令的主要源寄存器的寄存器。
接着有4比特的条件(Cond)字段,其指定选择条件并指示选择主要寄存器或次要寄存器需要哪种标志样式。接着有1比特未使用,而接着有也为1比特的递增指示符(Increment),其控制先前图中的加法器输入,并决定存储于次要寄存器中的值是否递增。接着有4比特的主要源寄存器说明符Rn,其识别主要源寄存器,并且接着有目的地寄存器说明符Rd。关于此,主要和次要源寄存器当被写入指令中时按照他们出现在指令中的顺序被称为“主要”与“次要”,没有另外的意义。
应注意,这为简单的示例性指令编码,并且寄存器操作代码以及条件字段的宽度仅为指示性的并且依赖于处理设备所支持的指令寄存器的数目以及测试条件。此外,虽然在本示例中,寄存器被用于存储源和目的地元件,但在另一些实施例中,源和目的地存储元件可位于存储器,在此情况中,数据元素说明符将是存储器位置地址。
图7示出图示了在运行条件选择指令的方法中所执行的步骤的流程图。因此,最初,经解码的条件选择指令被接收,并且此指令指定了两个寄存器,寄存器1与寄存器2。
寄存器2的中间值被指派。判断是否设置了反向。若如此,该中间值被逻辑反向。判断是否设置了递增。若设置了递增,该中间值被递增。然后,依赖于通过条件指令指定的条件是否被满足,选择要输出到目的地寄存器的值。因此,该中间值或来自寄存器1的值被输出到目的地寄存器。在一些实施例中,若条件已满足,则该中间值被输出到目的地寄存器,而若条件未满足,则来自寄存器1的值被输出到目的地寄存器。然而,在另一些实施例中,响应于条件已满足,可以是寄存器1中的值被输出,而响应于条件未满足,则中间值被输出。
若输出的是中间值,则取决于条件选择指令是否指定了反向操作和/或递增操作,该值可以为来自寄存器2的初始值,可以为初始值被递增1、初始值被逻辑反向,或初始值被逻辑反向并然后被递增1。
图8图示可利用的虚拟机实施方式。虽然前面描述的实施例以支持所涉技术的操作特定处理硬件的设备和方法来实施本发明,但是还可以提供所谓的具有硬件装置的虚拟机实施方式。这些虚拟机实施方式在运行支持虚拟机程序510的主机操作系统520的主机处理器530上运行。通常地,提供虚拟机实施方式需要以合理速度运行的大型高效能处理器,但在某些情况下,例如当因为兼容性或重复利用的理由而期望运行另一个处理器的本地代码时,此方法可被调整。虚拟机程序510提供对应用程序500的应用程序接口,该应用程序接口与由实际硬件(通过虚拟机程序510建模的装置)提供的应用程序接口相同。因此,包括如上所述存储器访问控制的程序指令可利用虚拟机程序510在应用程序500中运行来建模与虚拟机硬件的交互。
本发明的各个其他方面和特征在所附权利要求中被定义。在不脱离本发明的范围的情况下,可根据在此的描述了对实施例做出各种修改。
Claims (25)
1.一种数据处理设备,包含:
数据存储装置,包含用于存储数据元素的多个存储元件;
指令解码器,被配置为解码至少一个条件选择指令,所述至少一个条件选择指令指定主要源存储元件、次要源存储元件、条件以及要对存储于所述次要源存储元件的数据元素执行的操作,
其中,所述操作包含递增来自所述次要源存储元件的数据元素、逻辑地反向来自所述次要源存储元件的数据元素以产生逐位逻辑反向的存储元件值、逻辑地反向并递增来自所述次要源存储元件的数据元素以产生该数据元素的算术负值中的一种;
数据处理器,被配置为执行由所述指令解码器控制的数据处理操作,其中:
所述数据处理器响应经解码的所述至少一个条件选择指令以及所述条件具有预定结果,对来自所述次要源存储元件的数据元素执行操作,以形成结果数据元素;并且
所述数据处理器响应经解码的所述至少一个条件选择指令以及所述条件不具有预定结果,使用所述主要源存储元件中的数据元素形成所述结果数据元素。
2.如权利要求1所述的数据处理设备,其中,所述至少一个条件选择指令还指定目的地存储元件,所述数据处理器响应所述至少一个条件选择指令,将所述结果数据元素存储到该目的地存储元件中。
3.如权利要求2所述的数据处理设备,其中,所述目的地存储元件包含所述主要源存储元件和所述次要源存储元件中之一。
4.如权利要求1所述的数据处理设备,其中,所述数据处理器响应经解码的所述至少一个条件选择指令以及所述条件不具有预定结果,对所述次要源存储元件中的数据元素执行操作,并且使用所述主要源存储元件中的数据元素形成所述结果数据元素。
5.如前述任一权利要求所述的数据处理设备,其中,所述数据存储装置包含:映射至零值的存储元件。
6.如前述权利要求1至4中任一项所述的数据处理设备,其中,所述存储元件包含寄存器,并且所述存储元件数据存储装置包含寄存器库。
7.如前述权利要求1至4中任一项所述的数据处理设备,其中,所述存储元件包含存储器位置,并且所述存储元件数据存储装置包含存储器。
8.如前述权利要求1至4中任一项所述的数据处理设备,其中:
所述指令解码器被配置为响应于所述条件选择指令而输出递增控制信号;并且
所述处理器被配置为处理经解码的所述条件选择指令,包含:
加法器,被配置为接收来自所述次要源存储元件的值以及进位输入信号;
多工器,被配置为接收来自所述主要源存储元件的信号以及来自所述加法器的输出的信号,用于所述多工器的选择信号包含所述条件,从而在所述条件具有预定结果的情况下所述多工器被触发以选择所述加法器的输出;其中
响应于所述递增控制信号被设置,所述进位输入信号被设置为1,并且所述加法器递增从所述主要源存储元件和所述次要源存储元件中的至少一个接收的值。
9.如前述权利要求1至4中任一项所述的数据处理设备,其中,
所述指令解码器被配置为响应于所述条件选择指令输出反向控制信号;并且
所述处理器被配置为处理经解码的所述条件选择指令,包含:
加法器,被配置为响应于所述反向控制信号被设置,接收来自所述次要源存储元件并通过反向器的值,并且响应于所述反向控制信号未被设置,接收来自所述次要源存储元件但未通过所述反向器的值;
多工器,被配置为接收来自所述主要源存储元件的信号以及来自所述加法器的输出的信号,用于所述多工器的选择信号包含所述条件,使得在所述条件具有预定结果的情况下所述多工器被触发以选择所述加法器的输出。
10.如权利要求8所述的数据处理设备,
其中,所述指令解码器被配置为响应于所述条件选择指令,输出递增控制信号与反向控制信号;
其中,响应于所述递增控制信号被设置,所述进位输入信号被设置为1,并且响应于所述反向控制信号被设置,所述加法器递增从所述次要源存储元件接收的反向值。
11.如前述权利要求1至4中任一项所述的数据处理设备,其中,所述主要源存储元件与所述次要源存储元件为相同的存储元件。
12.如前述权利要求1至4中任一项所述的数据处理设备,其中,所述条件的结果响应于至少一个先前的数据处理操作而根据算术逻辑标志来决定。
13.如权利要求12所述的数据处理设备,其中,所述至少一个先前的数据处理操作包含:对所述主要源存储元件和所述次要源存储元件中的至少一个内的数据元素与另一值进行比较。
14.如权利要求13所述的数据处理设备,其中,所述至少一个先前的数据处理操作包含:将所述主要源存储元件中的数据元素与所述次要源存储元件中的数据元素进行比较。
15.如权利要求12所述的数据处理设备,其中,所述条件包含:不等于、等于、小于、大于、大于等于、小于等于、为零以及为负中的至少一者。
16.如权利要求12所述的数据处理设备,其中,所述算术逻辑标志包含:负结果标志、零结果标志、进位输出标志以及带正负号溢位标志中的至少一者。
17.如前述权利要求1至4中任一项所述的数据处理设备,其中,所述条件的预定结果包含所述条件被满足。
18.如前述权利要求2或3所述的数据处理设备,所述条件选择指令包含指示符,该指示符指示所述主要源存储元件、所述次要源存储元件和所述目的地存储元件的宽度。
19.如前述权利要求1至4中任一项所述的数据处理设备,所述数据处理设备包含算术电路系统,该算术电路系统响应于算术指令执行加法运算和减法运算,其中,响应于所述条件选择指令对所述次要源存储元件内的数据元素执行所述操作的电路系统中的至少一些部分包含所述算术电路系统。
20.一种数据处理方法,包含:
接收至少一个条件选择指令,所述至少一个条件选择指令指定主要源存储元件、次要源存储元件、条件以及要对所述次要源存储元件内的数据元素执行的操作,其中所述操作包含递增来自所述次要源存储元件的数据元素、逻辑地反向来自所述次要源存储元件的数据元素以产生逐位逻辑反向的存储元件值、逻辑地反向并递增来自所述次要源存储元件的数据元素以产生该数据元素的算术负值中的一种;
解码所接收的所述至少一个条件选择指令;
判断所述条件是否具有预定结果;
若所述条件具有预定结果,则选择所述次要源存储元件,并对来自所选择的存储元件的数据元素执行所述操作,以形成结果数据元素;并且
若所述条件不具有所述预定结果,则选择所述主要源存储元件中的数据元素,以形成所述结果数据元素。
21.如权利要求20所述的方法,包含执行如下附加步骤:
将所述结果数据元素存储在由所述至少一个条件选择指令所指定的目的地存储元件中。
22.一种处理数据方法,包含:
接收至少一个条件选择指令,所述至少一个条件选择指令指定主要源存储元件、次要源存储元件、条件以及要对所述次要源存储元件内的数据元素执行的操作,其中所述操作包含递增来自所述次要源存储元件的数据元素、逻辑地反向来自所述次要源存储元件的数据元素以产生逐位逻辑反向的存储元件值、逻辑地反向并递增来自所述次要源存储元件的数据元素以产生该数据元素的算术负值中的一种;
解码所接收的所述至少一个条件选择指令;
判断所述条件是否具有预定结果;
若所述条件具有预定结果,则选择所述次要源存储元件以形成结果数据元素;并且
若所述条件不具有所述预定结果,则选择所述主要源存储元件中的数据元素,以形成所述结果数据元素,
其中,在判断所述条件是否具有所述预定结果的步骤之前对来自所述次要源存储元件的数据元素执行所述操作。
23.一种数据处理设备,包含:
用于接收至少一个条件选择指令的装置,所述至少一个条件选择指令指定主要源存储元件、次要源存储元件、条件以及要对所述次要源存储元件内的数据元素执行的操作,其中所述操作包含递增来自所述次要源存储元件的数据元素、逻辑地反向来自所述次要源存储元件的数据元素以产生逐位逻辑反向的存储元件值、逻辑地反向并递增来自所述次要源存储元件的数据元素以产生该数据元素的算术负值中的一种;
用于解码所接收的所述至少一个条件选择指令的装置;
用于判断所述条件是否具有预定结果的装置;
用于若所述条件具有预定结果,则选择所述次要源存储元件,并对来自所选择的存储元件的数据元素执行所述操作,以形成结果数据元素的装置;并且
用于若所述条件不具有所述预定结果,则选择所述主要源存储元件中的数据元素,以形成所述结果数据元素的装置。
24.如权利要求23所述的设备,还包含用于将所述结果数据元素存储在由所述至少一个条件选择指令所指定的目的地存储元件中的装置。
25.一种虚拟机,由在数据处理设备上运行的计算机程序提供,所述虚拟机根据权利要求1至19中任一项所述的数据处理设备提供指令运行环境。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1017176.7 | 2010-10-12 | ||
GB1017176.7A GB2484654B (en) | 2010-10-12 | 2010-10-12 | Conditional selection of data elements |
PCT/GB2011/051847 WO2012049474A1 (en) | 2010-10-12 | 2011-09-29 | Conditional selection of data elements |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103282876A CN103282876A (zh) | 2013-09-04 |
CN103282876B true CN103282876B (zh) | 2016-02-03 |
Family
ID=43304419
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180049212.3A Active CN103282876B (zh) | 2010-10-12 | 2011-09-29 | 数据元素的条件选择 |
Country Status (10)
Country | Link |
---|---|
US (2) | US9753724B2 (zh) |
EP (1) | EP2628073B1 (zh) |
JP (1) | JP5732139B2 (zh) |
KR (1) | KR101802740B1 (zh) |
CN (1) | CN103282876B (zh) |
GB (1) | GB2484654B (zh) |
IL (1) | IL225614A (zh) |
MY (1) | MY164515A (zh) |
TW (1) | TWI536261B (zh) |
WO (1) | WO2012049474A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2523823B (en) * | 2014-03-07 | 2021-06-16 | Advanced Risc Mach Ltd | Data processing apparatus and method for processing vector operands |
GB2564853B (en) * | 2017-07-20 | 2021-09-08 | Advanced Risc Mach Ltd | Vector interleaving in a data processing apparatus |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0385566A2 (en) * | 1989-02-27 | 1990-09-05 | International Business Machines Corporation | Data processor |
CN101482812A (zh) * | 2008-01-09 | 2009-07-15 | 恩益禧电子股份有限公司 | 处理器装置及条件分支处理方法 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04363722A (ja) * | 1991-05-17 | 1992-12-16 | Toshiba Corp | 情報処理装置 |
US5805913A (en) * | 1993-11-30 | 1998-09-08 | Texas Instruments Incorporated | Arithmetic logic unit with conditional register source selection |
US5537560A (en) * | 1994-03-01 | 1996-07-16 | Intel Corporation | Method and apparatus for conditionally generating a microinstruction that selects one of two values based upon control states of a microprocessor |
US20020002666A1 (en) * | 1998-10-12 | 2002-01-03 | Carole Dulong | Conditional operand selection using mask operations |
JP2001022576A (ja) | 1999-07-12 | 2001-01-26 | Hitachi Ltd | データ処理装置 |
GB2352308B (en) * | 1999-07-21 | 2004-06-30 | Element 14 Ltd | Accessing a test condition |
AU2003224042A1 (en) | 2002-04-05 | 2003-10-20 | Optimization Methods Deutschland Gmbh | Method and device for optimizing the order of assignment of a number of supplies to a number of demanders |
US7647480B2 (en) * | 2004-07-27 | 2010-01-12 | Arm Limited | Handling of conditional instructions in a data processing apparatus |
WO2006053173A2 (en) | 2004-11-10 | 2006-05-18 | Nvidia Corporation | Multipurpose multiply-add functional unit |
US7428566B2 (en) * | 2004-11-10 | 2008-09-23 | Nvidia Corporation | Multipurpose functional unit with multiply-add and format conversion pipeline |
US7624256B2 (en) | 2005-04-14 | 2009-11-24 | Qualcomm Incorporated | System and method wherein conditional instructions unconditionally provide output |
JP4962476B2 (ja) * | 2008-11-28 | 2012-06-27 | ソニー株式会社 | 算術復号装置 |
GB2480285A (en) | 2010-05-11 | 2011-11-16 | Advanced Risc Mach Ltd | Conditional compare instruction which sets a condition code when it is not executed |
-
2010
- 2010-10-12 GB GB1017176.7A patent/GB2484654B/en active Active
-
2011
- 2011-09-23 US US13/200,348 patent/US9753724B2/en active Active
- 2011-09-29 MY MYPI2013700502A patent/MY164515A/en unknown
- 2011-09-29 KR KR1020137009023A patent/KR101802740B1/ko active IP Right Grant
- 2011-09-29 CN CN201180049212.3A patent/CN103282876B/zh active Active
- 2011-09-29 JP JP2013533280A patent/JP5732139B2/ja active Active
- 2011-09-29 WO PCT/GB2011/051847 patent/WO2012049474A1/en active Application Filing
- 2011-09-29 EP EP11767046.3A patent/EP2628073B1/en active Active
- 2011-10-03 TW TW100135780A patent/TWI536261B/zh active
-
2013
- 2013-04-07 IL IL225614A patent/IL225614A/en active IP Right Grant
-
2017
- 2017-08-02 US US15/666,978 patent/US9983872B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0385566A2 (en) * | 1989-02-27 | 1990-09-05 | International Business Machines Corporation | Data processor |
CN101482812A (zh) * | 2008-01-09 | 2009-07-15 | 恩益禧电子股份有限公司 | 处理器装置及条件分支处理方法 |
Also Published As
Publication number | Publication date |
---|---|
EP2628073B1 (en) | 2017-05-03 |
TW201216154A (en) | 2012-04-16 |
EP2628073A1 (en) | 2013-08-21 |
GB2484654B (en) | 2013-10-09 |
JP2013539882A (ja) | 2013-10-28 |
JP5732139B2 (ja) | 2015-06-10 |
GB2484654A (en) | 2012-04-25 |
IL225614A (en) | 2017-02-28 |
WO2012049474A1 (en) | 2012-04-19 |
US20170329603A1 (en) | 2017-11-16 |
US9983872B2 (en) | 2018-05-29 |
GB201017176D0 (en) | 2010-11-24 |
US20120089817A1 (en) | 2012-04-12 |
CN103282876A (zh) | 2013-09-04 |
KR101802740B1 (ko) | 2017-12-28 |
US9753724B2 (en) | 2017-09-05 |
IL225614A0 (en) | 2013-06-27 |
MY164515A (en) | 2017-12-29 |
KR20130101052A (ko) | 2013-09-12 |
TWI536261B (zh) | 2016-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101731238B1 (ko) | 조건부 비교 명령 | |
JP5984865B2 (ja) | 命令エミュレーションプロセッサ、方法、およびシステム | |
CN102707927B (zh) | 具有条件指令的微处理器及其处理方法 | |
KR102379894B1 (ko) | 벡터 연산들 수행시의 어드레스 충돌 관리 장치 및 방법 | |
US11163574B2 (en) | Method for maintaining a branch prediction history table | |
CN104899181A (zh) | 用于处理向量操作数的数据处理装置和方法 | |
US20110302394A1 (en) | System and method for processing regular expressions using simd and parallel streams | |
CN112148251A (zh) | 跳过无意义的矩阵运算的系统和方法 | |
CN107851007B (zh) | 宽数据类型的比较的方法和装置 | |
KR101016257B1 (ko) | 프로세서 및 정보 처리 장치 | |
CN103282876B (zh) | 数据元素的条件选择 | |
US20210117189A1 (en) | Reduced instruction set processor based on memristor | |
US5991874A (en) | Conditional move using a compare instruction generating a condition field | |
US5291615A (en) | Instruction pipeline microprocessor | |
US7353343B2 (en) | Memory management system for preventing program execution when CPU fetches execution code from unoccupied region of memory | |
US5812845A (en) | Method for generating an object code for a pipeline computer process to reduce swapping instruction set | |
US6233675B1 (en) | Facility to allow fast execution of and, or, and test instructions | |
US5045992A (en) | Apparatus for executing instruction regardless of data types and thereafter selectively branching to other instruction upon determining of incompatible data type | |
CN106990939B (zh) | 修改数据处理单元的行为 | |
JPS6049937B2 (ja) | マイクロプログラム制御のデ−タ処理装置 | |
US7039792B1 (en) | Method and system for implementing a floating point compare using recorded flags | |
JPH1196001A (ja) | プログラム実行装置及びプログラム変換方法 | |
JP2987281B2 (ja) | プロセッサ | |
JPS623341A (ja) | 条件付制御方法 |
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 |