CN103309645A - 一种在计算机数据处理指令中附加跳转功能的方法及cpu模块 - Google Patents
一种在计算机数据处理指令中附加跳转功能的方法及cpu模块 Download PDFInfo
- Publication number
- CN103309645A CN103309645A CN2013101537461A CN201310153746A CN103309645A CN 103309645 A CN103309645 A CN 103309645A CN 2013101537461 A CN2013101537461 A CN 2013101537461A CN 201310153746 A CN201310153746 A CN 201310153746A CN 103309645 A CN103309645 A CN 103309645A
- Authority
- CN
- China
- Prior art keywords
- condition
- data processing
- instruction
- code
- redirect
- 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
- 238000000034 method Methods 0.000 title claims abstract description 22
- 230000008859 change Effects 0.000 claims description 5
- 230000008878 coupling Effects 0.000 claims description 5
- 238000010168 coupling process Methods 0.000 claims description 5
- 238000005859 coupling reaction Methods 0.000 claims description 5
- 230000006870 function Effects 0.000 description 34
- 230000005540 biological transmission Effects 0.000 description 5
- 238000000151 deposition Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000013011 mating Effects 0.000 description 2
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
Images
Landscapes
- Executing Machine-Instructions (AREA)
Abstract
本发明公开一种在计算机数据处理指令中附加跳转功能的方法及其CPU模块,在数据处理指令的数据结构中设置反条件码和跳转矢量,并且在CPU的指令地址计算部件中增加了反条件码和跳转矢量的处理电路,实现了将数据处理指令和跳转指令合二为一,使得数据处理指令具有跳转功能,充分利用指令地址计算部件和数据处理部件并行操作的特点,为CPU能够快速地、高效地执行程序代码提供一种行之有效的解决办法。本发明方法不但提高CPU资源利用率和程序的运行效率,而且还使得程序代码更加紧凑。
Description
技术领域
本发明属于计算机领域,具体涉及一种在计算机数据处理指令中附加跳转功能的方法,使得计算机在执行数据处理操作时也能够同步执行直接跳转。本发明还涉及使用该方法的CPU模块。
背景技术
当前一套完整的CPU硬件电路***主要是由ROM、指令读取模块、指令寄存器、指令译码器、程序地址运算器、程序状态寄存器、数据处理模块、数据读写模块和RAM等部件构成,如图1所示。在图1中:(1)是ROM,用于存放程序指令。(2)是指令读取模块,用于从ROM读取要执行的指令。(3)是指令寄存器,用于存放正在执行的指令,它是由操作码、条件码以及若干个操作数构成。(4)是指令译码器,用于对存放在指令寄存器中的指令进行译码,产生指令执行需要的控制信号。(5)是数据处理模块,它是在指令译码器译码输出的控制信号的作用下,完成数据传送和数据运算的操作。(6)是二输入与门电路。(7)是PSW,即程序状态寄存器,里面存放数据处理后的各种状态码。(8)是执行条件比较器,它是比较指令寄存器(3)中的条件码和PSW的状态码,输出控制信号RUN_EN来控制是否允许执行指令。(9)是二选一数据选择器,在译码器(4)的控制下根据指令要求选择顺序执行还是跳转执行。(10)是加法器。(11)是二选一数据选择器。(12)是PC,里面存放的是下一条指令地址。(13)是数据读写模块。(14)是RAM,里面存放的是数据。在有些CPU中,指令寄存器(3)中没有条件码,它是把条件码隐含在指令译码器当中,其条件码由指令寄存器中的操作码从指令译码器索引而得到。由图1看出,指令地址计算是由(3)、(4)、(6)、(7)、(8)、(9)、(10)等电路部件协同来完成,为了表述方便,在此把(3)、(4)、(6)、(7)、(8)、(9)、(10)电路部件的组合称之为指令地址计算部件,它是完成指令地址运算功能,其计算结果通过数据选择器(11)存放到PC(12)中。执行数据处理是由数据处理模块(5)完成。从电路结构来说,上述的指令地址运算部件和数据处理模块是并联关系,从理论来说,如果通过特定的设计,是可以使得CPU执行直接跳转的操作和数据处理的操作同步进行的,但是现有的CPU硬件电路和指令***都无法实现CPU执行直接跳转的操作和执行数据处理的操作同步进行。
现有的每套计算机指令***中都由两大类指令构成,它们是跳转指令和数据处理指令。 其中跳转指令又分为直接跳转指令、子程序调用指令;而数据处理指令又分为数据传送指令、数据运算指令。这些指令分工非常明确,功能单一。应用程序就是由这些功能单一的指令根据程序逻辑运算要求组合而成的。如下面这段简单的C语言程序代码:
if(a<b)a=b+c;
else a=d+e;
f++;
为了通俗易懂,在此借用流行的MCS-51汇编语言来翻译这段C语言程序代码,得到汇编程序例1如下:
汇编程序例1:
行号 标号 汇编指令(其中A为累加器,C为进位标记)
1 C001: MOV A,a,
2 C002: CLR C;
3 C003: SUBB A,b;
4 C004: JNC C009;
5 C005: MOV A,b;
6 C006: ADD A,c;
7 C007: MOV a,A,
8 C008: JMP C00C;
9 C009: MOV A,d;
10 C00A: ADD A,e;
11 C00B: MOV a,A;
12 C00C: INC f;
从上面的汇编程序例1可以看出,第1、2、3、5、6、7、9、10、11、12行是数据处理指令,这些数据处理指令只能让CPU做有关数据传送和数据运算的操作,而且只能顺序执行;第4行和第8行是跳转指令,该跳转指令只能做程序跳转的操作,程序逻辑需要跳转的地方就要使用跳转指令来完成,CPU在执行跳转指令时数据处理模块是闲置的,资源白白浪费掉了。
发明内容
本发明的第一目的在于提供一种在计算机数据处理指令中附加跳转功能的方法,使得CPU在执行数据处理操作时也能够同步执行直接跳转,能充分利用指令地址运算部件和数据 处理模块并行操作的特点。
本发明的第二目的在于提供实现上述方法的CPU电路模块,解决现有的计算机指令执行效率低下的不足。
本发明的第一个目的可通过以下的技术措施来实现:一种在计算机数据处理指令中附加跳转功能的方法,在现有计算机的数据处理指令的数据结构中增设一个反条件码和一个跳转矢量;
现有计算机的数据处理指令的数据结构中包含有条件码,所述条件码是数据处理操作的执行条件,只有在PSW(程序状态寄存器)中的状态码匹配该指令的条件码时,数据处理操作才能执行,否则数据处理操作就不能执行,该条件码和反条件码共同构成在数据处理指令中附加的跳转功能的执行条件;
所述反条件码用于指示在数据处理指令中附加的跳转功能的执行条件和该指令中的条件码是相同还是相反,如果相同则表示同条件跳转,如果相反则表示反条件跳转;
且所述的反条件码和PSW的状态码是否匹配条件码的信号要遵循真值表1中的逻辑运算关系,来决定在数据处理指令中附加的跳转功能是顺序执行还是跳转执行;
真值表1
反条件码PSW状态码是否匹配条件码 | 跳转功能执行选择 |
同条件不匹配 | 顺序执行 |
同条件匹配 | 跳转 |
反条件不匹配 | 跳转 |
反条件匹配 | 顺序执行 |
所述跳转矢量用于更改程序计数器(即PC)的数值,它为在数据处理指令中附加跳转功能提供跳转的方向和距离。
本发明的第二个目的可通过以下的技术措施来实现:一种使用上述方法的CPU模块,在CPU的指令地址计算部件中增设反条件码和跳转矢量的处理电路,让CPU的指令地址计算部件能够和执行数据处理操作的电路部件并行操作,并且指令地址计算部件按真值表1中的逻辑运算;
真值表1
反条件码PSW状态码是否匹配条件码 | 跳转功能执行选择 |
同条件不匹配 | 顺序执行 |
同条件匹配 | 跳转 |
[0035]
反条件不匹配 | 跳转 |
反条件匹配 | 顺序执行 |
本发明巧妙在数据处理指令的数据结构中设置反条件码和跳转矢量,并且在CPU的指令地址计算部件中增加了反条件码和跳转矢量的处理电路,实现了将数据处理指令和跳转指令合二为一,使得数据处理指令具有跳转功能,充分利用指令地址计算部件和数据处理部件并行操作的特点,为CPU能够快速地、高效地执行程序代码提供一种行之有效的解决办法。本发明方法不但提高CPU资源利用率和程序的运行效率,而且还使得程序代码更加紧凑。
附图说明
图1为现有CPU硬件电路***组成原理示意图;
图2为使用本发明方法的CPU硬件电路***组成原理示意图。
具体实施方式
本发明方法具体包括:1、在计算机的数据处理指令的数据结构中增设一个被称为跳转矢量的操作数,该跳转矢量用于更改PC(即程序计数器)的数值,从而为在数据处理指令中附加跳转功能提供跳转的方向和距离;2、现有计算机的数据处理指令的数据结构中包含有条件码的操作数,只有在PSW(程序状态寄存器)中的状态码匹配该指令的条件码时,数据处理操作才能执行,该条件码也是在数据处理指令中附加跳转功能的执行条件之一;3、在计算机的数据处理指令的数据结构中增设一位被称为反条件码的操作数,该反条件码用于指示在数据处理指令中附加的跳转功能的执行条件和该指令中的条件码是相同还是相反,如果相同则表示同条件跳转,如果相反则表示反条件跳转,该条件码和反条件码共同构成在数据处理指令中附加的跳转功能的执行条件;4、在数据处理指令的数据结构中应该包含有操作码、条件码、反条件码、跳转矢量以及其它若干个操作数;5、所述的反条件码和PSW状态码是否匹配条件码的信号要遵循真值表1中的逻辑运算关系,来决定在数据处理指令中附加的跳转功能是顺序执行还是跳转执行;
真值表1
反条件码PSW状态码是否匹配条件码 | 跳转功能执行操作 |
同条件不匹配 | 顺序执行 |
同条件匹配 | 跳转 |
反条件不匹配 | 跳转 |
反条件匹配 | 顺序执行 |
[0042] 通过上述技术方法处理后,数据处理指令已经不是单一功能的数据处理指令,而应该称之为具有跳转功能的数据处理指令。此时该具有跳转功能的数据处理指令的数据结构如表2所示。
表2具有跳转功能的数据处理指令数据结构
操作码 | 条件码 | F | 操作数1 | 操作数2 | 操作数3 | 跳转矢量 |
其中F是反条件码,跳转矢量是相对PC跳转的矢量,操作数根据实际的要求可能多于3个,也可能少于3个。
在表2中,由于该具有跳转功能的数据处理指令中的跳转矢量的位数有限,无法做长距离直接跳转,所以在遇到需要长距离直接跳转的场合还是要使用专门的长距离直接跳转指令来完成,这些专门的长距离直接跳转指令只是做跳转,不做数据处理,因此可以把上述表2中的指令数据结构中的操作数1、操作数2、操作数3以及跳转矢量合并起来形成长跳转矢量,从而可以实现长距离直接跳转,这些长距离直接跳转指令包括专门的直接跳转指令和子程序调用指令,其指令数据结构如表3所示。
表3长跳转指令和子程序调用指令数据结构
操作码 | 条件码 | F | 长跳转矢量 |
其中F是反条件码,且必须是同条件跳转,长跳转矢量是相对PC跳转的矢量。
另外,虽然中断服务程序调用指令、子程序返回指令以及中断服务程序返回指令都是属于间接跳转,但其本质是属于数据传送指令的范畴,只是数据传送的目标寄存器是PC而已,所以这些指令属于数据处理指令,其数据结构和表2相同。
根据真值表1,如果定义F=0表示为同条件跳转,F=1表示为反条件跳转,RUN_EN=0表示为PSW状态码不匹配条件码,RUN_EN=1表示为PSW状态码匹配条件码,跳转功能选择顺序执行为0,跳转功能选择跳转执行为1,则由真值表1可以得到真值表4.
真值表4
FRUN_EN | 跳转功能执行操作 |
00 | 0 |
01 | 1 |
10 | 1 |
11 | 0 |
对应于表2、表3的数据结构以及真值表4的逻辑关系,在CPU硬件电路***的指令地址计算部件中增加有反条件码和跳转矢量的处理电路,让CPU的指令地址计算部件能够和执行 数据处理的电路部件并行操作,并且使得指令地址运算部件能够实现真值表4中的逻辑运算。其CPU硬件电路***如图2所示。
在图2中,组成CPU硬件电路部件有:(1)是ROM,用于存放程序指令。(2)是指令读取模块,用于从ROM读取要执行的指令。(3)是指令寄存器,用于存放正在执行的指令,它是由操作码、若干个操作数、跳转矢量、条件码和反条件码F构成,其数据结构和表2、表3对应。(4)是指令译码器,用于对存放在指令寄存器中的操作码进行译码,产生指令执行需要的控制信号。(5)是数据处理模块,它是在指令译码器输出的控制信号的作用下,完成数据的传送和运算操作。(6)是二输入与门。(7)是PSW,即程序状态寄存器,里面存放数据处理后的各种状态码。(8)是执行条件比较器,它是判断PSW状态码是否匹配条件码,如果PSW状态码匹配条件码,则执行条件比较器输出的控制信号RUN_EN=1,否则执行条件比较器输出的控制信号RUN_EN=0。(9)是二选一数据选择器,用于选择顺序执行的PC增量还是跳转执行的跳转矢量。(10)是加法器,它是完成指令地址的有符号数加法计算。(11)是二选一数据选择器,用于选择加法器(10)输出的指令地址值还是数据处理模块(5)输出的指令地址值。(12)是PC,里面存放的是下一条指令地址。(13)是数据读写模块。(14)是RAM,里面存放的是数据。(15)是二选一数据选择器。(16)是二输入异或门。其中,指令地址计算部件是由(3)、(4)、(6)、(7)、(8)、(9)、(10)、(15)、(16)等电路部件组成。在该指令地址计算部件中包含有反条件码和跳转矢量的处理电路,并且使得CPU的指令地址计算部件能够和执行数据处理的电路部件并行操作,而且指令地址运算部件能够实现真值表4中的逻辑运算。
在图2中,具有跳转功能的数据处理指令的处理过程是:由PC(12)提供的指令地址,指令读取模块(2)读出存贮在ROM(1)中的计算机指令并送到指令寄存器(3)中,其中指令寄存器(3)的操作码字段用于索引指令译码器(4),由指令译码器(4)提供该指令的执行控制信号;指令寄存器(3)的条件码字段和PSW(程序状态寄存器)(7)的状态码被送到执行条件比较器(8),以判断在PSW(7)中的状态码是否匹配指令寄存器(3)中的条件码,如果PSW状态码匹配条件码,则控制信号RUN_EN=1,否则控制信号RUN_EN=0。该RUN_EN信号一路送到数据处理模块(5),以控制数据处理模块(5)是否可以执行数据处理操作;另一路RUN_EN信号和指令译码器(4)输出直接跳转控制信号送到二输入与门(6),以共同决定跳转矢量的选择:如果指令是专门的跳转指令,则数据选择器(15)将选择长跳转矢量(即由指令寄存器的操作数1、操作数2、操作数3和跳转矢量等字段组成);如果是数据处理指令,则数据选择器(15)只选择指令寄存器(3)中的跳转矢量字段,指令寄存器(3)的操 作数1、操作数2、操作数3送到数据处理模块,进行数据处理操作。再一路RUN_EN信号和指令寄存器(3)的反条件码字段送到二输入异或门(16),以共同决定指令是顺序执行还是跳转执行:如果反条件码是同条件跳转(即F=0),而且状态码不匹配该条件码(即RUN_EN=0),则数据选择器(9)将选中由指令译码器(4)提供的顺序执行PC增量;如果反条件码是同条件跳转(即F=0),而且状态码匹配该条件码(即RUN_EN=1),则数据选择器(9)将选中数据选择器(15)输出的跳转矢量;如果反条件码是反条件跳转(即F=1),而且状态码不匹配该条件码(即RUN_EN=0),则数据选择器(9)将选中由数据选择器(15)输出的跳转矢量;如果反条件码是反条件跳转(即F=1),而且状态码匹配该条件码(即RUN_EN=1),则数据选择器(9)将选中由指令译码器(4)提供的顺序执行PC增量。由数据选择器(9)输出的矢量和PC寄存器(12)输出的指令地址送到加法器(10)进行有符号数加法运算,得到相对PC跳转的方向和距离。如果指令不是间接跳转指令,则数据选择器(11)将选中加法器(10)输出的数据,并送入PC寄存器(12),否则,如果指令是间接跳转指令,则数据选择器(11)将选中数据处理模块(5)输出的数据,并送入PC寄存器(12)中。
在这里必须特别说明:如果真值表4中F和RUN_EN采用其他的电平定义,则影响电路(16)的逻辑形态,但是要遵循真值表1中的逻辑关系;还有,如果所有计算机的指令长度规格统一,则顺序执行PC增量将是一个常数。
通过上述技术方法实施后,对应于表2的指令数据结构,这些具有跳转功能的数据处理指令的汇编语言格式如下所示:
操作码[条件码][操作数1],[操作数2],[操作数3],[F][JMP 标号]
注意观察该汇编指令格式,发现比现在传统的数据处理指令汇编语言格式多出了“[F][JMP标号]”字段,这个字段就是用于描述跳转功能。其中F是反条件码助记符,JMP是跳转助记符,标号是PC要跳转的指令地址标号(注意:此处的标号不能简单等同于表3中的跳转矢量)。如果F被隐去,则表示同条件跳转,即跳转执行条件和操作码后缀的条件码相同;如果F被显现,则表示反条件跳转,即跳转执行条件和操作码后缀的条件码相反。如果数据处理指令操作码后缀中有条件码,则必须有“[F]JMP标号”字段,因为有条件码的数据处理指令肯定是有分支跳转的;如果数据处理指令操作码后缀中没有条件码字段,则表示操作码指示的操作总是执行,程序员应根据程序是否需要跳转来决定是否保留“[F]JMP标号”字段。
为了正确理解具有跳转功能的数据处理指令的汇编语言格式中“[F][JMP 标号]”字段的意义,现在结合应用实例,并根据真值表1中的逻辑关系,列出4种可能情况下该汇编语 言格式的用法:
情况1:有条件码,同条件跳转。
举例说明该情况下如何使用:
例子(1):MOVC A,b,JMP C009;
这条语句的意思是:如果条件C等于1成立,则同步执行MOV A,b和JMP C009;如果条件C等于1不成立,则不执行MOV A,b,也不执行JMP C009,PC自动指向顺序执行的下一条指令。
情况2:有条件码,反条件跳转。
举例说明该情况下如何使用:
例子(2):MOVC A,b,FJMP C009;
这条语句的意思是:如果条件C等于1成立,则只执行MOV A,b,不执行FJMP C009,并且PC自动指向顺序执行的下一条指令;如果条件C等于1不成立,则不执行MOV A,b,只执行FJMP C009。
情况3:无条件码,同条件跳转。
这种情况下操作码后缀没有条件码,表示指令总是执行。举例说明该情况下如何使用:
例子(3):MOV A,b,JMP C009;
这条语句的意思是:总是同步执行MOV A,b和JMP C009。
情况4:无条件码,反条件跳转。
举例说明该情况下如何使用:
例子(4):MOV A,b,FJMP C009;
这种情况需要特别说明,由于是操作码后缀没有条件码,意思是不受条件限制,所以它的反条件就是完全受限的意思,那么这条语句的意思是:无条件执行MOV A,b,PC自动指向顺序执行的下一条指令,永远不会执行FJMP C009。在这种情况下,为了便于阅读,汇编指令助记符中的“FJMP标号”字段不用写了,但是该指令数据结构中的反条件码仍然是1,即表示反条件跳转。例子(4)中的汇编指令助记符可以写成:MOV A,b。
现在使用上述的具有跳转功能的数据处理指令的汇编语言格式修改汇编程序例1,得到汇编程序例2。
汇编程序例2:
行号 标号 汇编指令(其中A为累加器,C为进位标记)
1 C001: MOV A,a,
2 C002: CLR C;
3 C003: SUBB A,b;
4 C005: MOVC A,b,FJMP C009;/*注意:此处的MOVC不是MCS-51指令集的MOVC*/
5 C006: ADD A,c;
6 C007: MOV a,A,JMP C00C;
7 C009: MOV A,d;
8 C00A: ADD A,e;
9 C00B: MOV a,A;
10 C00C: INC f;
分析上面的汇编程序例2,并对照汇编程序例1,可以看出汇编程序例2的第4行指令是由汇编程序例1的第4行和第5行合并得来的;汇编程序例2的第6行指令是由汇编程序例1的第7行和第8行合并得来的,程序逻辑没有变化,但是少用了2条跳转指令。由此可见,使用本发明的技术方案后程序代码变得紧凑了,执行效率也提高了。
通过上述技术方法实施后,对应于表3的指令数据结构,这些长跳转指令的汇编语言格式如下所示:
操作码[条件码] 标号
由于长跳转指令包括直接跳转指令和子程序调用指令,以下举例说明这些长距离跳转指令的用法。
对于直接跳转指令,其应用例子为:
例子(5):JC C009;
这条语句的意思是:如果条件C等于1成立,则执行J C009,即相对当前PC跳转到C009处;如果条件C等于1不成立,则PC自动指向顺序执行的下一条指令。
对于子程序调用指令,其应用例子为:
例子(6):CALLZ C009;
这条语句的意思是:如果条件Z等于1成立,则执行CALL C009,即相对当前PC调用C009处子程序;如果Z等于1不成立,则PC自动指向顺序执行的下一条指令。
虽然中断服务程序调用指令、子程序返回指令以及中断服务程序返回指令都是属于间接跳转,但其本质是属于数据传送指令的范畴,只是数据传送的目标寄存器是PC而已,所以这些指令也是属于数据处理指令,其数据结构和上述的具有跳转功能的数据处理指令的数据结构(表2)相同,汇编语言格式也是一样的,在此就不用一一列出了。
本发明的实施方式不限于此,按照本发明的上述内容,利用本领域的普通技术知识和惯 用手段,在不脱离本发明的上述基本技术思想前提下,本发明还可以做出其它多种形式的修改、替换或变更,均落在本发明权利保护范围之内。
Claims (2)
1.一种在计算机数据处理指令中附加跳转功能的方法,其特征是:
在现有计算机的数据处理指令的数据结构中增设一个反条件码和一个跳转矢量;
现有计算机的数据处理指令的数据结构中包含有条件码,所述条件码是数据处理操作的执行条件,只有在程序状态寄存器中的状态码匹配该指令的条件码时,数据处理操作才能执行,否则数据处理操作就不能执行,该条件码和所述反条件码共同构成在数据处理指令中附加的跳转功能的执行条件;
所述反条件码用于指示在数据处理指令中附加的跳转功能的执行条件和该指令中的条件码是相同还是相反,如果跳转功能的执行条件和该指令中的条件码相同则表示同条件跳转,如果跳转功能的执行条件和该指令中的条件码相反则表示反条件跳转;
且所述的反条件码和程序状态寄存器中的状态码是否匹配条件码的信号要遵循真值表1中的逻辑运算关系,来决定在数据处理指令中附加的跳转功能是顺序执行还是跳转执行;
真值表1
所述跳转矢量用于更改程序计数器的数值,为在数据处理指令中附加跳转功能提供跳转的方向和距离。
2.一种实现权利要求1所述方法的CPU模块,其特征是:在CPU的指令地址计算部件中增设反条件码和跳转矢量的处理电路,让CPU的指令地址计算部件能够和执行数据处理指令的电路部件并行操作,并且指令地址计算部件按真值表1中的逻辑运算;
真值表1
。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310153746.1A CN103309645B (zh) | 2013-04-27 | 2013-04-27 | 一种在计算机数据处理指令中附加跳转功能的方法及cpu模块 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310153746.1A CN103309645B (zh) | 2013-04-27 | 2013-04-27 | 一种在计算机数据处理指令中附加跳转功能的方法及cpu模块 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103309645A true CN103309645A (zh) | 2013-09-18 |
CN103309645B CN103309645B (zh) | 2015-09-16 |
Family
ID=49134909
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310153746.1A Expired - Fee Related CN103309645B (zh) | 2013-04-27 | 2013-04-27 | 一种在计算机数据处理指令中附加跳转功能的方法及cpu模块 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103309645B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108415709A (zh) * | 2018-02-12 | 2018-08-17 | 北京梆梆安全科技有限公司 | 一种基于有限状态机加固源代码的方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1716230A (zh) * | 2004-06-30 | 2006-01-04 | 富士通株式会社 | 运算装置和运算装置控制方法 |
CN101493762A (zh) * | 2008-01-23 | 2009-07-29 | Arm有限公司 | 多指令集的指令预解码 |
US20110320773A1 (en) * | 2010-06-24 | 2011-12-29 | International Business Machines Corporation | Function virtualization facility for blocking instruction function of a multi-function instruction of a virtual processor |
CN102708088A (zh) * | 2012-05-08 | 2012-10-03 | 北京理工大学 | 面向海量数据高性能计算的cpu/gpu协同处理方法 |
-
2013
- 2013-04-27 CN CN201310153746.1A patent/CN103309645B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1716230A (zh) * | 2004-06-30 | 2006-01-04 | 富士通株式会社 | 运算装置和运算装置控制方法 |
CN101493762A (zh) * | 2008-01-23 | 2009-07-29 | Arm有限公司 | 多指令集的指令预解码 |
US20110320773A1 (en) * | 2010-06-24 | 2011-12-29 | International Business Machines Corporation | Function virtualization facility for blocking instruction function of a multi-function instruction of a virtual processor |
CN102708088A (zh) * | 2012-05-08 | 2012-10-03 | 北京理工大学 | 面向海量数据高性能计算的cpu/gpu协同处理方法 |
Non-Patent Citations (2)
Title |
---|
白锋等: "一种针对短循环的跳转隐藏技术", 《计算机工程与应用》, 1 August 2003 (2003-08-01), pages 70 - 71 * |
谭明星等: "一种混合型值关联间接跳转预测机制", 《电子学报》, vol. 40, no. 11, 15 November 2012 (2012-11-15), pages 2298 - 2302 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108415709A (zh) * | 2018-02-12 | 2018-08-17 | 北京梆梆安全科技有限公司 | 一种基于有限状态机加固源代码的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103309645B (zh) | 2015-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11086816B2 (en) | Processors, methods, and systems for debugging a configurable spatial accelerator | |
US10558575B2 (en) | Processors, methods, and systems with a configurable spatial accelerator | |
US10416999B2 (en) | Processors, methods, and systems with a configurable spatial accelerator | |
US10515046B2 (en) | Processors, methods, and systems with a configurable spatial accelerator | |
US10445451B2 (en) | Processors, methods, and systems for a configurable spatial accelerator with performance, correctness, and power reduction features | |
US10387319B2 (en) | Processors, methods, and systems for a configurable spatial accelerator with memory system performance, power reduction, and atomics support features | |
US20190004878A1 (en) | Processors, methods, and systems for a configurable spatial accelerator with security, power reduction, and performace features | |
CN105278920B (zh) | 用于实现具有迭代依赖条件的迭代的向量环路的指令 | |
US20190101952A1 (en) | Processors and methods for configurable clock gating in a spatial array | |
US20190004994A1 (en) | Processors and methods for pipelined runtime services in a spatial array | |
JP4283131B2 (ja) | プロセッサ及びコンパイル方法 | |
JP6849274B2 (ja) | 融合された単一のサイクルのインクリメント−比較−ジャンプを実施するための命令及びロジック | |
TWI544407B (zh) | 浮點定比處理器、方法、系統及指令 | |
EP3776216A1 (en) | Apparatus, methods, and systems for integrated performance monitoring in a configurable spatial accelerator | |
US20050177704A1 (en) | Processor for making more efficient use of idling components and program conversion apparatus for the same | |
CN103970509A (zh) | 对条件循环进行矢量化的指令和逻辑 | |
JP2018500657A5 (zh) | ||
CN104756068A (zh) | 合并相邻的聚集/分散操作 | |
CN108519921A (zh) | 用于从通用寄存器向向量寄存器进行广播的装置和方法 | |
CN104335166A (zh) | 用于执行混洗和操作(混洗-操作)的***、装置和方法 | |
CN104025022A (zh) | 用于具有推测支持的向量化的装置和方法 | |
EP3588311B1 (en) | Prefetcher for delinquent irregular loads | |
CN104011665A (zh) | 超级乘加(超级madd)指令 | |
Celio et al. | The renewed case for the reduced instruction set computer: Avoiding isa bloat with macro-op fusion for risc-v | |
CN101256546A (zh) | 32位微处理器 |
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: 20150916 |
|
CF01 | Termination of patent right due to non-payment of annual fee |