CN101369223B - 指令编码方法和处理器 - Google Patents
指令编码方法和处理器 Download PDFInfo
- Publication number
- CN101369223B CN101369223B CN2007100449701A CN200710044970A CN101369223B CN 101369223 B CN101369223 B CN 101369223B CN 2007100449701 A CN2007100449701 A CN 2007100449701A CN 200710044970 A CN200710044970 A CN 200710044970A CN 101369223 B CN101369223 B CN 101369223B
- Authority
- CN
- China
- Prior art keywords
- instruction
- bag
- processor
- link field
- load
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Advance Control (AREA)
Abstract
提供了一种用于可发射并行指令的处理器的指令编码方法和处理器,将每条指令编码为多个编码域,编码域中可选择性地包含表征是否后续指令与当前指令属于同一个指令包的连接域,连接域的设置与否由处理器的计算单元的数量和装载/存储单元的数量决定。
Description
技术领域
本发明涉及指令编码方法和处理器,尤其涉及一种并行指令的指令编码方法和处理器。
背景技术
为了加快处理器的处理速度,许多处理器都具有每个时钟周期可以发射多条指令的能力。目前具有这种能够每个时钟周期发射多条指令的能力的处理器主要有两种。一种是超标量处理器,超标量处理器在单个时钟周期内可以发射执行多条指令。为了使这多条指令可以并行执行,超标量处理器一般具有多个处理单元,如多个定点运算单元、浮点运算单元和装载/存储单元等。超标量处理器主要通过硬件从应用的程序代码中寻找指令级并行性,如果没有找到较多的指令级并行,就可能出现空置的指令槽。对于较低指令级并行性的一些应用,超标量处理器并不能体现出它在性能方面的优势。此外,超标量处理器由于过多的利用硬件进行指令动态调度,使得硬件开销过大。另一种是超长指令字(VLIW)处理器。超长指令字处理器也可以在单个时钟周期内发射多条指令,它主要是通过编译器来寻找指令级并行性,然后编码成一条由可同时发射的多条微指令组合而成的超长指令。相比于超标量处理器,超长指令字处理器在处理器硬件开销方面具有一定的优势。
超长指令字处理器采用了并行指令技术,在同一时间可以同时对多条指令进行处理。通常可以把同时进行处理的并行指令称为一个指令包或指令字。一个指令包的大小往往受限于总线宽度。一般来说,现今普遍使用的总线宽度为32位或64位。例如,对于64位总线宽度的处理器,其指令包的长度最大为64位。
超长指令字处理器的指令包都非常长,往往会相当程度地增加指令代码的存放空间。而处理器需要利用各种特定的指令组合来完成要求的应用程序。存储指令代码除了占用内存,还需占用缓存,这些对芯片面积都将造成影响。特别对于单芯片系统,芯片面积是直接决定成本的最重要因素之一,指令集代码的编码效率是设计中面临的非常重要的一个问题。而且,对指令代码进行存取 操作需要功耗,指令的长短也直接影响着取指令代码所需的功耗大小。
处理器中有的指令需要执行比较复杂的功能或者带有长立即数等特性,需要相对较长的长度,而有的指令执行的功能较为简单,只需要相对较短的指令长度。如果所有的指令采用同样的长度,则通常需要满足具有最长指令长度的指令的要求,这样,即使执行较简单功能的指令也采用了更长的指令长度,这在一定程度上浪费了指令存储空间。因此,有的处理器采用变长指令来减少指令占用的存储空间。对于采用并行指令技术的超长指令字处理器来说,如果同时使用变长指令,一个指令包中的每条指令的长度是不确定的,无法判断一个指令包是否已译码完成。因此,指令译码的时候,必须在指令编码中显示每个指令包的边界,使得处理器的流水线能够辨认哪几条指令构成了一个指令包。在一些现有的处理器中,在每条指令编码时加入一个连接域,用一位或多位代码来表示指令包中的该条指令之后有无下一条指令,藉此可以判断一个指令包中的全部指令是否已完成译码。由于处理器的指令空间压缩有时可能幅度非常大,可能造成指令空间编码十分紧张。为了有效的节省指令编码空间,本发明试图从指令包的角度来考虑改进指令编码方法,以节省指令编码空间。
发明内容
为克服现有技术中存在的缺陷,本发明提出了一种用于可发射并行指令的处理器的指令编码方法和系统,可以减少并行指令的指令长度,节省指令存储空间和取指令功耗。
根据本发明的一个方面,提供一种用于可发射并行指令的处理器的指令编码方法,包括:
将每条指令编码为多个编码域,其中,编码域中可选择性地包含表征是否后续指令与当前指令属于同一个指令包的连接域;
在所述指令包中最多包含一条未设置连接域的指令;
当所述指令包中包含一条未设置连接域的指令时,将该未设置连接域的指令编码在所述指令包的最后一条指令。
根据本发明的另一方面,提供一种用于可发射并行指令的处理器的指令编码系统,包括:
用以将每条指令编码为多个编码域的装置,其中,编码域中可选择性地包含表征是否后续指令与当前指令属于同一个指令包的连接域;
用以在所述指令包中最多包含一条未设置连接域的指令的装置;
用以当所述指令包中包含一条未设置连接域的指令时,将该未设置连接域 的指令编码在所述指令包的最后一条指令的装置。
根据本发明的一个方面,连接域的设置与否由处理器的计算单元的数量和装载/存储单元的数量决定。
在对指令并行发射的指令包中,最多包含一条未设置连接域的指令,并且,当指令包中包含一条未设置连接域的指令时,未设置连接域的指令编码在指令包的最后一条指令。
在一些实施例中,处理器中设置了一个计算单元,多个装载/存储单元,指令编码中,对于装载/存储指令设置连接域,对于计算指令不设置连接域。
在另一些实施例中,处理器中设置了一个装载/存储单元,多个计算单元,指令编码中,对于计算指令设置连接域,对于装载/存储指令不设置连接域。
根据本发明的另一个方面,一种可发射并行指令的处理器设置了至少一个装载/存储单元和至少一个计算单元,存储器中存放有多条指令,指令的编码域中可选择性地包含表征是否后续指令与当前指令属于同一个指令包的连接域,连接域的设置与否由处理器的计算单元的数量和装载/存储单元的数量决定。
在本发明的一个实施例中,处理器设置了至少一个装载/存储单元,一个计算单元,存储器中存放有多条指令,指令中的装载/存储指令在编码域中设置表征是否后续指令与当前指令属于同一个指令包的连接域,指令中的计算指令在编码域中不设置连接域。
在本发明的另一个实施例中,处理器设置了至少一个计算单元,一个装载/存储单元,存储器中存放有多条指令,指令中的计算指令在编码域中设置表征是否后续指令与当前指令属于同一个指令包的连接域,指令中的装载/存储指令在编码域中不设置连接域。
附图说明
以下附图为对本发明示例性实施例的辅助说明,结合以下附图对本发明实施例的阐述,是为进一步揭示本发明的特征所在,但并不限制本发明,图中相同符号代表实施例中相应元件或步骤,其中:
图1为根据本发明一实施例的处理器的结构示意图。
图2为根据本发明一实施例的一种指令编码示意图。
图3为根据本发明一实施例的一个指令包的编码结构示意图。
图4为根据本发明另一实施例的处理器的结构示意图。
图5为根据本发明另一实施例的一种指令编码示意图。
图6为根据本发明另一实施例的一个指令包的编码结构示意图。
图7为根据本发明一实施例的一示例性指令包的编码结构示意图。
图8为根据本发明另一实施例的一示例指令包的编码结构示意图。
具体实施方式
参见图1,根据本发明的一个示例性的实施例,处理器10设置了两个装载/存储单元11、13和一个计算单元12。装载/存储单元用于存放指令和数据,在执行并行指令时,总线可同时对两个装载/存储单元进行存取操作。控制单元15从装载/存储单元中取出指令并对指令进行译码,再由计算单元根据译码后的指令从装载/存储单元中取出数据执行运算。处理器的每个流水线周期可以执行一个指令包,一个指令包的最大长度为例如64位,在本示例性实施例中最多由一条计算指令和两条存取指令共三条指令构成。由于在VLIW体系中,一个指令包中的所有指令都是在同一个流水线周期并发执行的指令,所以同一指令包中的指令的排列顺序无关紧要,任何排列顺序执行的结果都是一样的,这样使得传统基于每一条指令编码中都含有连接域(Link Bit)的方法本质上有冗余,这样的冗余不仅带来编码空间的浪费,也降低了指令编码的效率,增加了存储指令的存储器的大小和取指令所用的功耗。
由于指令包内部指令排列的无关性,为了压缩编码空间,本发明提出了一种用于可发射并行指令的处理器的指令编码方法,有效解决了并行指令的连接域的冗余问题。该方法将每条指令编码为多个编码域,但并非每个指令的编码域中都包含有表征是否后续指令与当前指令属于同一个指令包的连接域,而是根据处理器的硬件结构在部分指令的编码域中设置连接域。本发明中指令的连接域的设置与否由处理器的计算单元的数量和装载/存储单元的数量来决定。在发射并行指令的指令包中,最多包含一条未设置连接域的指令,当指令包中包含一条未设置连接域的指令时,该未设置连接域的指令编码在指令包的最后一条指令。
在一些示例性的实施例中,处理器中设置了一个计算单元以及至少一个存储单元。例如,图1所示的处理器中,设置了两个装载/存储单元和一个计算单元。根据这样的硬件结构,按照本发明,可以只对该处理器的所有装载/存储指 令设置连接域,而对所有计算指令不设置连接域。在对指令并行发射的指令包中,最多包含一条计算指令。当指令包中包含一条计算指令时,该计算指令编码在指令包的最后一条指令。图2为一种示例性的指令编码示意图。每条装载/存储指令包括操作码域、操作数1域和连接域,并可选性地包括操作数2域等。每条计算指令也包括操作码域和操作数1域,并可选性地包括操作数2域和操作数3域等。操作数1域、操作数2域和操作数3域分别可以是寄存器,或者是立即数(指令的这些编码域为本领域的已知内容,这里不再赘述)。在控制单元对指令进行译码后,处理器根据由指令的操作码域译码得到的操作信息来执行指令,例如进行存储/装载指令/数据,或者进行地址/数据的计算等。在一些实施例中,连接域可以用编码中的一个位或多个位来表示。例如,可以设置一个1位长度、名为连接位link bit(简称L)的编码域来表示连接域,当link bit位的值为1时,表示后续指令与当前指令属于同一个指令包;当link bit位的值为0时,表示后续指令与当前指令不属于同一个指令包。当然,本领域的技术人员还可以采用其它方式表示连接域,例如link bit位的值为0时,表示后续指令与当前指令属于同一个指令包;当link bit位的值为1时,表示后续指令与当前指令不属于同一个指令包。另外,本领域的技术人员还可以任选地用多个位来表示连接域,这里不再赘述。
根据本发明的一个实施例,指令长度有例如16位,24位和32位等,指令包最大长度可以是64位。在指令长度等条件满足的情况下,该处理器可以并行执行两条装载/存储指令和一条计算指令。图3示意性地表示了两条装载/存储指令和一条计算指令组成的一个指令包。当执行由这样三条指令组成的一个指令包时,两条装载/存储指令放在指令包的前面,而一条计算指令放在指令包的最后,该计算指令未设置连接域。在控制单元进行指令译码时,由于指令包的前两条指令均为装载/存储指令,其中分别设置了连接域以表示后续指令与当前指令属于同一指令包,因此,当该指令包中还含有计算指令时,指令包中的这两条装载/存储指令根据连接域的指示,可以知道该指令包还没译码完,后面还存在指令。当译码出计算指令时,由于控制单元根据计算指令本身的性质,即控制单元从译码出来的操作码可得知该指令为计算指令,因此,控制单元可以判断出该指令包已经完成译码。当该处理器并行执行由一条装载/存储指令和 一条计算指令组成的指令包时,类似地,把装载/存储指令放在指令包的前面,该装载/存储指令设置连接域表示后续指令与当前指令属于同一指令包,而计算指令放在指令包的最后,该计算指令未设置连接域。从装载/存储指令中的连接域可以判断出指令包中还存在其他指令,而从计算指令可以明确指令包已经完成译码。当该处理器并行执行由两条装载/存储指令组成的指令包时,则指令包中在前的装载/存储指令的连接域可以指示出指令包中还有后续指令,而指令包中在后的装载/存储指令的连接域可以指示出指令包中已经没有后续指令,从而完成了全部译码。当该处理器仅执行由一条装载/存储指令组成的指令包时,通过该装载/存储指令的连接域可以指示出指令包中没有后续指令。当该处理器仅执行由一条计算指令组成的指令包时,则通过计算指令本身译码出的操作码显示出其为计算指令,因而可以判断出该指令包已经完成译码。
例如,下面列出的一个指令包包含三条并行指令的例子,其具体编码可参见图7。
LDW A1,D1‖LDW A2,D2‖ADD D1,D2,D3
该指令包可用来进行地址的计算。在指令包的三条并行指令中,前两条指令均为LDW指令,分别用来把地址寄存器寻址到的一个字的内存数据A1、A2装载到数据寄存器,属于装载/存储指令。ADD指令用来执行将数据寄存器D1与数据寄存器D2进行加法运算,结果存入目标数据寄存器D3。LDW指令属于装载/存储指令,在编码时设置连接位link bit,在图7中以L位表示。而ADD指令属于计算指令,在编码时未设置连接位link bit,并且该计算指令放在指令包的最后。在如上三条并行指令组成的指令包中,由于指令包的两条LDW指令后面都跟有其它并行指令,因此,这两条LDW指令的连接域L位都为例如1,表示后续指令与当前指令属于同一个指令包。在另一示例中,例如该指令包仅包含前两条并行的装载/存储指令LDW指令,而不包含计算指令ADD指令时,指令包中的第1条LDW指令的连接位L位为例如1,表示指令包中还有并行指令在其后,而第2条LDW指令的连接位L位为例如0,表示指令包已经结束,后面没有并行指令。
从以上描述可以看出,对于可执行多条并行指令的处理器,本发明省略了计算指令的连接域而减少了指令占用的存储空间,但同样可以准确判断出指令 包是否已经完成译码。改变指令长度模式和/或指令包最大并行长度的情况,例如仅采用16位和32位两类指令长度,这仍属于本发明的实质范围内。
在另一些实施例中,处理器中设置了一个存储单元以及至少一个计算单元。例如,图4所示的处理器40,设置了两个计算单元42、44和一个存储单元41。根据这样的硬件结构,按照本发明,可以只对该处理器的所有计算指令设置连接域,而对所有装载/存储指令不设置连接域。在对指令并行发射的指令包中,最多包含一条装载/存储指令。当指令包中包含一条装载/存储指令时,该装载/存储指令编码在指令包的最后一条指令。图5为一种指令编码示意图。每条装载/存储指令包括操作码域和地址1域,并可选性地包括地址2域等。每条计算指令也包括操作码域、地址1域和连接域,并可选性地包括地址2域和立即数域等。在控制单元对指令进行译码后,处理器根据由指令的操作码域译码得到的操作信息来执行指令,例如进行存储/装载指令/数据,或者进行地址/数据的计算等。在一些实施例中,连接域可以用编码中的一个位或多个位来表示。例如,可以设置一个1位长度、名为连接位link bit的编码域,在图8中以连接位L位表示。当连接位link bit位的值为1时,表示后续指令与当前指令属于同一个指令包;当连接位link bit位的值为0时,表示后续指令与当前指令不属于同一个指令包。当然,本领域的技术人员还可以采用其它方式表示连接域,例如link bit位的值为0时,表示后续指令与当前指令属于同一个指令包;当link bit位的值为1时,表示后续指令与当前指令不属于同一个指令包。另外,本领域的技术人员还可以任选地用多个位来表示连接域,这里不再赘述。
根据本发明的一个实施例,指令长度有例如16位,24位和32位等,指令包最大长度可以是64位。在指令长度等条件满足的情况下,该处理器可以并行执行一条装载/存储指令和两条计算指令。图6示意性地表示了一条装载/存储指令和两条计算指令组成的一个指令包。当执行由这样三条指令组成的一个指令包时,两条计算指令放在指令包的前面,而装载/存储指令放在指令包的最后,其中计算指令设置了连接域,而装载/存储指令未设置连接域。在控制单元进行指令译码时,由于指令包的前两条指令均为计算指令,其中分别设置了连接域,因此,当该指令包中还含有后续指令时,指令包中的这两条计算指令根据连接域的指示,可以知道该指令包还没译码完,后面还存在后续指令。当译 码出装载/存储指令时,由于控制单元根据装载/存储指令本身的性质,即控制单元从译码出来的操作码可得知该指令为装载/存储指令,因此,控制单元可以判断出该指令包已经完成译码。当该处理器并行执行由一条装载/存储指令和一条计算指令组成的指令包时,类似地,把计算指令放在指令包的前面,而装载/存储指令放在指令包的最后。计算指令中的连接域被置位成表示后续指令与当前指令属于同一个指令包,而装载/存储指令未设置连接域,因此从计算指令的连接域可以判断出指令包中还存在其他指令,而从装载/存储指令可以明确指令包已经完成译码。当该处理器并行执行由两条计算指令组成的指令包时,则指令包中在前的计算指令的连接域可以指示出指令包中还有后续指令,而指令包中在后的计算指令的连接域可以指示出指令包中已经没有后续指令,从而完成全部译码。当该处理器仅执行由一条计算指令组成的指令包时,通过该计算指令的连接域可以指示出指令包中没有后续指令。当该处理器仅执行由一条装载/存储指令组成的指令包时,则通过装载/存储指令本身译码出的操作码显示出其为装载/存储指令,就可以判断出该指令包已经完成译码。
例如,下面列出的一个指令包包含三条并行指令的例子,其具体编码可参见图8。
ADD D1,#1F,D2‖ADD D1,D2,D3‖STW D3,A1
该指令包可用来进行数据的计算和存储的计算。在指令包的三条并行指令中,前两条指令为ADD指令,第1条ADD指令是基于短立即数的加法操作指令,将数据寄存器D1中的数据与5位无符号立即数#1F相加后,暂存于数据寄存器D2。第2条ADD指令是基于数据寄存器的加法操作指令,将数据寄存器D1中的数据与数据寄存器D2中的数据相加后,暂存于数据寄存器D3。STW指令用来把数据寄存器D3中的数据存放到地址寄存器A1所指向的内存地址。在这个实施例中,前两条ADD指令属于计算指令,在编码时设置连接位(linkbit),在图8中以L表示。STW指令属于装载/存储指令,在编码时未设置连接位(link bit),并且放在指令包的最后。在如上三条并行指令组成的指令包中,由于指令包的两条计算指令ADD指令后面都跟有其它并行指令,因此,这两条ADD指令的连接域L位都为例如1,表示后续指令与当前指令属于同一指令包。在另一示例中,例如该指令包仅包含前两条并行的计算指令ADD 指令,而不包含装载/存储指令STW指令时,此时指令包中的第1条ADD指令的连接位L位为例如1,表示指令包中还有并行指令在其后,而第2条ADD指令的连接位L位为例如0,表示指令包已经结束,后面没有并行指令。
从以上描述的几种情况,可以看出,对于可执行多条并行指令的处理器,本发明省略了装载/存储指令的连接域而减少了指令占用的存储空间,但本发明仍可准确判断出指令包是否已经完成译码。同样地,在改变指令长度模式和/或指令包最大并行长度的情况下,本发明仍可实施。
Claims (8)
1.一种用于可发射并行指令的处理器的指令编码方法,包括:
将每条指令编码为多个编码域,其中,编码域中可选择性地包含表征是否后续指令与当前指令属于同一个指令包的连接域;
在所述指令包中最多包含一条未设置连接域的指令;
当所述指令包中包含一条未设置连接域的指令时,将该未设置连接域的指令编码在所述指令包的最后一条指令。
2.如权利要求1所述的指令编码方法,其特征在于,所述处理器设置了至少一个装载/存储单元和至少一个计算单元,存储器中存放有多条指令,指令的编码域中可选择性地包含表征是否后续指令与当前指令属于同一个指令包的连接域,连接域的设置与否由处理器的计算单元的数量和装载/存储单元的数量决定。
3.如权利要求2所述的指令编码方法,其特征在于,所述处理器中设置了一个计算单元和至少一个装载/存储单元,其中,所述未设置连接域的指令是对应于所述计算单元的计算指令。
4.如权利要求2所述的指令编码方法,其特征在于,所述处理器中设置了一个装载/存储单元和至少一个计算单元,其中,所述未设置连接域的指令是对应于所述装载/存储单元的装载/存储指令。
5.一种用于可发射并行指令的处理器的指令编码系统,包括:
用以将每条指令编码为多个编码域的装置,其中,编码域中可选择性地包含表征是否后续指令与当前指令属于同一个指令包的连接域;
用以在所述指令包中最多包含一条未设置连接域的指令的装置;
用以当所述指令包中包含一条未设置连接域的指令时,将该未设置连接域的指令编码在所述指令包的最后一条指令的装置。
6.如权利要求5所述的指令编码系统,其特征在于,所述处理器设置了至少一个装载/存储单元和至少一个计算单元,存储器中存放有多条指令,指令的编码域中可选择性地包含表征是否后续指令与当前指令属于同一个指令包的连接域,连接域的设置与否由处理器的计算单元的数量和装载/存储单元的数量决定。
7.如权利要求6所述的指令编码系统,其特征在于,所述处理器中设置了一个计算单元和至少一个装载/存储单元,其中,所述未设置连接域的指令是对应于所述计算单元的计算指令。
8.如权利要求6所述的指令编码系统,其特征在于,所述处理器中设置了一个装载/存储单元和至少一个计算单元,其中,所述未设置连接域的指令是对应于所述装载/存储单元的装载/存储指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007100449701A CN101369223B (zh) | 2007-08-17 | 2007-08-17 | 指令编码方法和处理器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007100449701A CN101369223B (zh) | 2007-08-17 | 2007-08-17 | 指令编码方法和处理器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101369223A CN101369223A (zh) | 2009-02-18 |
CN101369223B true CN101369223B (zh) | 2012-01-04 |
Family
ID=40413058
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007100449701A Expired - Fee Related CN101369223B (zh) | 2007-08-17 | 2007-08-17 | 指令编码方法和处理器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101369223B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110795903B (zh) * | 2019-09-12 | 2023-08-15 | 中科寒武纪科技股份有限公司 | 指令处理方法、装置及相关产品 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1152329A1 (en) * | 2000-03-30 | 2001-11-07 | Agere Systems Guardian Corporation | Method and apparatus for identifying splittable packets in a multithreated vliw processor |
WO2002044890A2 (de) * | 2000-11-28 | 2002-06-06 | Infineon Technologies Ag | Anordnung zur befehlsübertragung |
-
2007
- 2007-08-17 CN CN2007100449701A patent/CN101369223B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1152329A1 (en) * | 2000-03-30 | 2001-11-07 | Agere Systems Guardian Corporation | Method and apparatus for identifying splittable packets in a multithreated vliw processor |
WO2002044890A2 (de) * | 2000-11-28 | 2002-06-06 | Infineon Technologies Ag | Anordnung zur befehlsübertragung |
Also Published As
Publication number | Publication date |
---|---|
CN101369223A (zh) | 2009-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100390729C (zh) | 利用规格字段指令编码的处理器 | |
US7366874B2 (en) | Apparatus and method for dispatching very long instruction word having variable length | |
US8904153B2 (en) | Vector loads with multiple vector elements from a same cache line in a scattered load operation | |
US6418527B1 (en) | Data processor instruction system for grouping instructions with or without a common prefix and data processing system that uses two or more instruction grouping methods | |
TWI507980B (zh) | 最佳化暫存器初始化操作 | |
CN109918130A (zh) | 一种具有快速数据旁路结构的四级流水线risc-v处理器 | |
CN1142484C (zh) | 微处理器向量处理方法 | |
CN102117198A (zh) | 一种分支处理方法 | |
CN101535951A (zh) | 用于辨识子例程调用的方法及设备 | |
US11645078B2 (en) | Detecting a dynamic control flow re-convergence point for conditional branches in hardware | |
US5958043A (en) | Superscalar processor with forward map buffer in multiple instruction parallel issue/execution management system | |
CN101189574B (zh) | 指令存储器单元和操作方法 | |
CN100573500C (zh) | 基于Avalon总线的流处理器IP核 | |
CN104216681A (zh) | 一种cpu指令处理方法和处理器 | |
JPS5621242A (en) | Pipeline control method for computer operation | |
CN101369223B (zh) | 指令编码方法和处理器 | |
CN102779026B (zh) | 一种高性能dsp处理器中的指令多发射方法 | |
US20080256334A1 (en) | Processing System and Method for Executing Instructions | |
CN101246435A (zh) | 一种支持高级语言部分语句功能的处理器指令集 | |
US20200034149A1 (en) | Processor with multiple execution pipelines | |
CN102436781A (zh) | 基于隐式相关性和隐式旁路的微处理器指令拆分装置 | |
CN103218207B (zh) | 基于单/双发射指令集的微处理器指令处理方法及系统 | |
CN202720631U (zh) | 基于单/双发射指令集的微处理器指令处理系统 | |
US20120179895A1 (en) | Method and apparatus for fast decoding and enhancing execution speed of an instruction | |
CN100359471C (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120104 Termination date: 20140817 |
|
EXPY | Termination of patent right or utility model |