CN1349160A - 流水线控制相关延迟消除方法 - Google Patents

流水线控制相关延迟消除方法 Download PDF

Info

Publication number
CN1349160A
CN1349160A CN 01131569 CN01131569A CN1349160A CN 1349160 A CN1349160 A CN 1349160A CN 01131569 CN01131569 CN 01131569 CN 01131569 A CN01131569 A CN 01131569A CN 1349160 A CN1349160 A CN 1349160A
Authority
CN
China
Prior art keywords
instruction
branch
fundamental block
prefetched
fetch
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
CN 01131569
Other languages
English (en)
Other versions
CN1142485C (zh
Inventor
戴葵
王志英
沈立
王蓉晖
王蕾
张春元
王明仕
刘芳
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.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
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 National University of Defense Technology filed Critical National University of Defense Technology
Priority to CNB011315695A priority Critical patent/CN1142485C/zh
Publication of CN1349160A publication Critical patent/CN1349160A/zh
Application granted granted Critical
Publication of CN1142485C publication Critical patent/CN1142485C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Advance Control (AREA)

Abstract

本发明公开了一种流水线控制相关延迟消除方法,其目的是在满足硬件实现简单、功耗低的前提下,高效消除流水线控制相关延迟,提高微处理器性能。技术方案是:由编译器确定分支指令所有可能的转移目标地址并插入预取指令;由两个取指令部件提前读入当前分支指令的所有后继指令,并由选择器根据对当前分支指令的译码结果选择一个取指令部件提供的指令进行译码和执行。预取指令有fetch addr1,addr2、fetch addr、fetch stack三条,它们对应不同的分支指令,由取指令部件执行。指令预取以基本块为单位。本发明硬件实现复杂度低、功耗低,控制相关延迟消除率高,无效预取指令数少。采用本发明设计的微处理器有极高性能价格比。

Description

流水线控制相关延迟消除方法
技术领域:本发明涉及微处理器设计中流水线控制相关延迟的消除方法,尤其是要求功耗低、硬件实现简单的嵌入式微处理器设计中流水线控制相关延迟的消除方法。
背景技术:目前,微处理器设计中消除流水线控制相关延迟的方法大致可以分为两类,即分支预测和延迟分支方法。分支预测方法主要利用程序运行时的局部性原理,根据分支指令执行结果的统计信息预测下次分支转移是否成功。分支预测的效果不仅取决于其准确性,而且与分支预测时的开销密切相关。流水线控制相关延迟取决于流水线的结构、预测的方法和预测错误后恢复所采取的策略。这种方法的不足之处在于,预测需要大量的硬件支持,例如预测表和预测错误后的恢复部件等,实现开销大、功耗高。延迟分支方法的主要思想是在控制相关暂停周期内执行与分支指令无关的指令,从而掩盖该暂停周期。这种方法的不足之处在于,无法填充所有的分支延迟槽,同时无法保证被调度的指令总是必须要执行的,如果不是必须的,那么性能得不到真正提高。
嵌入式微处理器主要应用于家电、手机、微控制器等领域,要求功耗低,以上方法要么无法满足其功耗低、复杂度低的要求,要么控制相关延迟消除率低,无法充分提高其性能。即使在通用微处理器设计中,这些方法也无法高效率地消除流水线中的控制相关延迟。
发明内容:本发明所要解决的技术问题是在满足嵌入式微处理器硬件实现简单、功耗低的前提下,高效消除流水线控制相关延迟,提高微处理器性能。
本发明的技术方案是:由编译模块中的编译器确定分支指令所有可能的转移目标地址并插入预取指令;在取指令模块中设计两个取指令部件提前读入当前分支指令的所有可能的后继指令;在指令译码和执行模块中设计一个选择器,由选择器根据对当前分支指令的译码结果选择一个取指令部件提供的指令交指令译码部件和指令执行部件进行译码和执行,从而消除流水线控制相关延迟。目前国内外尚无采用这种方法进行流水线控制相关延迟消除的报道。
本发明涉及到八个名词:流水线、分支指令、流水线相关、控制相关、控制相关延迟、指令预取、预取指令、基本块,它们的定义是:
(1)流水线:将微处理器的指令执行过程分解成若干个子过程,每
  个子过程都可以有效地在其专用功能段上与其他子过程同时执
  行,这就是指令执行的流水技术。流水线是流水技术的具体实
  现。在不同的微处理器设计中,流水线具体被分为多少个阶段
  也不相同。一般流水线都包括5个阶段:取指、译码、执行、
  访存、写回。
(2)分支指令:改变程序计数器值的所有指令统称为分支指令,它
  包括四类:条件转移指令、直接无条件转移指令、间接无条件
  转移指令和函数、过程返回指令(例如retum语句)。
(3)流水线相关:由于指令间的相互依赖关系造成的流水线停顿称
  为流水线相关。
(4)控制相关:由于分支指令引起的流水线相关叫控制相关。
(5)控制相关延迟:因为控制相关引起的流水线暂停时钟周期数就
 是控制相关延迟。
(6)指令预取:在指令被执行之前提前将指令从存储器中取出的操
 作称为指令预取。
(7)预取指令:负责完成预取的指令称为预取指令。
(8)基本块:程序的基本组成单元,它只有一个入口(即基本块的
第一条语句)和一个出口(即基本块的最后一条语句),一个基
本块至少含有两条指令,基本块的出口为分支指令,一个程序
总是可以划分成若干个基本块。
本发明的执行过程是:
1.由编译模块中的编译器确定分支指令所有可能的转移目标地址并插入预取指令;
2.当程序开始运行时,取指令模块中,一个取指令部件读入第一个基本块,另一个取指令部件空闲。对于程序中的每一个基本块:
(a)负责读入该基本块的取指令部件依次读入基本块中的每一条
指令,并判断它是否为预取指令。如果当前被读入的指令为预
取指令,则将预取指令发送给另一个取指令部件,由它执行该
预取指令;否则将指令发送给指令译码和执行模块中的译码部
件进行译码。
(b)当基本块的最后一条指令即分支指令译码结束后,指令译码和
执行模块中的选择器根据译码结果选择一个取指令部件中的基
本块作为当前基本块的后继基本块:
1)假设两个取指令部件分别为IF0和IF1,当前正在执行IF0
的指令,IF1则执行预取指令,预取当前基本块的后继目标
指令。当指令顺序执行,即结束译码的指令不是分支指令或
转移条件为False的分支指令时,选择IF0中的指令进行译
码;当执行分支指令时,即结束译码的指令是转移条件为
True的分支指令时,选择IF1中的指令进行译码。
2)如果当前流水线正在执行IF1中的指令,选择策略正好相反,
即:如果指令依照程序顺序执行,即结束译码的指令不是分
支指令或转移条件为False的分支指令时,选择IF1中的指
令进行译码;当执行分支指令时,即结束译码的指令是转移
条件为True的分支指令时,选择IF0中的指令进行译码。
因此,在程序运行过程中,一个取指令部件负责为指令执行部件提供指令,另一个取指令部件负责完成指令预取,两个取指令部件并行工作,使得当分支指令译码结束时,所有可能的分支目标指令已经分别保存在两个取指令部件中。
与一般编译器相比,本发明的编译器增加了两项特殊功能:确定分支指令所有可能的转移地址并根据不同类型的分支指令向基本块中插入预取指令。编译器插入预取指令的流程是:编译程序依次读出程序代码中的每一条指令,当遇到分支指令时,表示到达当前基本块的末尾,根据分支指令的类型在该分支指令所在基本块的第一条指令之后插入相应的预取指令。
分支指令分为四类,本发明根据它们的不同情况设计了三条预取指令对应不同的分支指令。三条预取指令是fetch addr1,addr2、fetchaddr、fetch stack。
(1)  条件分支指令:转移可能成功也可能失败,有两个后继基
本块,应同时预取当前基本块的两个后继基本块。有两个可能
的转移地址,一个保存在指令中,另一个是该指令之后那条指
令的地址。此时在该分支指令所在基本块的第一条指令之后插
入预取指令fetch addr1,addr2,预取从地址addr1和addr2开始
的两个基本块。addr1由该分支指令译码得到,addr2是该指令
之后的指令地址,其值为分支指令地址加指令长度(单位为字
节)。
(2)  直接无条件分支指令:转移总是成功,只有一个后继基本
块,在编译时可以获得转移目标地址,预取目标基本块即可。
只有一个可能的转移地址,保存在指令中。此时在该分支指令
所在基本块的第一条指令之后插入预取指令fetch addr,预取
从地址addr开始的基本块。addr由该分支指令译码得到。
(3)  间接无条件分支指令:转移总是成功,但由于转移目标地
址保存在寄存器中,通常在编译时无法得到,对于这类分支指
令,不进行处理。
(4)  过程返回语句:转移总是成功,只有一个后继基本块,这
类语句通常出现在过程调用返回时,由于过程调用可能出现嵌
套,本发明用一个栈来保存过程调用的返回地址(即预取地
址),每次过程调用时将返回地址保存在栈顶单元,预取时从
栈顶单元中获得预取地址。此时在该过程返回指令所在基本块
的第一条指令之后插入预取指令fetch stack,预取从栈顶单元
地址开始的基本块。
与其他指令不同,预取指令由取指令部件执行。不同的RISC(精简指令集计算)指令集对应的预取指令的编码可能有所不同,但只要实现本发明相同的功能,都属于本发明保护范围。预取以基本块为单位进行,除了当条件分支指令转移失败时预取的一部分后继指令外,所预取的指令都将被执行。
如果在分支指令译码结束前所有可能的目标指令已被读入,就可以根据分支指令译码结果选择正确的后继指令进行译码和执行。采用系统性能评测协会(System Performance Evaluation CooperativeConsortium)提供的SPECint95基准程序组进行测试,在FastDLX模拟器(标准的CPU模拟器)中实现本发明时,如果不考虑间接无条件分支指令(这类指令在程序中所占的比率比较低),在分支指令译码结束后分支目标指令已被读入的机率达99.3%;如果考虑间接无条件分支指令,在分支指令译码结束后分支目标指令已被读入的机率达93%。
本发明具有以下优点:
(1)  硬件实现复杂度低、功耗低。与分支预测技术相比,本发
明省去了复杂的分支预测硬件和预测错误时的恢复硬件,仅仅
使用了简单的控制逻辑部件,大大降低了硬件实现的难度和复
杂度。
(2)  控制相关延迟消除率高。本发明直接根据分支指令的译码
结果选择分支目标指令,指令预取保证了当分支指令译码结束
后绝大多数指令都已被读入,从而消除了绝大多数控制相关延
迟。
(3)  预取以基本块为单位进行,在执行当前基本块的同时预取
它的所有后继基本块,使得预取操作发出时间早,保证了有充
足时间完成预取;同时,除了条件分支指令转移失败时预取的
一部分后继指令外,所预取的指令都是将要被执行的,有效地
减少了无效预取数。
本发明在满足嵌入式微处理器硬件实现简单、功耗低的前提下,实现了高效消除流水线控制相关延迟,提高微处理器性能的目的。本发明也可应用在通用微处理器设计中。
附图说明:
图1是本发明编译器插入预取指令的流程图;
图2是本发明总体逻辑结构图;
图3是一般微处理器非分支指令在5级流水线中的时空图;
图4是一般微处理器分支指令在5级流水线中的时空图;
图5是采用本发明后分支指令在5级流水线中的时空图;
图6是采用本发明针对SPECint95基准程序的测试结果;
图7是采用本发明和其它控制相关延迟消除方法的性能比较。
具体实施方式:
图1为本发明编译器插入预取指令的流程图。编译程序依次读出程序代码中的每一条指令,当遇到分支指令时,表示到达当前基本块的末尾,根据分支指令的类型在该分支指令所在基本块的第一条指令之后插入相应的预取指令,程序最后总是一条过程返回语句,因此编译时总能遇到分支指令。
图2是本发明的总体逻辑结构图。它由编译模块、取指令模块、指令译码和执行模块组成:
编译模块主要负责确定分支指令所有可能的转移地址并根据分支指令的类型插入预取指令。编译器依次读取源程序中的每一条指令,如果该指令为分支指令,则根据分支指令的类型向它所在基本块的第一条指令之后插入相应的预取指令。具体方法为:对于条件分支指令,有两个后继基本块,相应的预取地址有两个,插入预取指令fetchaddr1,addr2,其中addr1由该分支指令译码得到,addr2是该指令之后的指令地址,其值为分支指令地址加指令长度(单位为字节);对于直接无条件分支指令,只有一个后继基本块,相应的预取地址有一个,插入预取指令fetch addr,其中addr由指令译码得到;过程返回语句,有一个后继基本块,相应的预取地址有一个,保存在栈顶单元中,插入预取指令fetch stack。编译后的程序代码保存在存储器中。
取指令模块主要负责为指令译码和执行模块提供指令,并进行指令预取,其功能通过两个取指令部件完成。取指令部件IF0通过端口0从指令Cache中读指令,取指令部件IF1则通过端口1从指令Cache中读指令。在程序开始运行时,选择IF0提供的指令进行译码和执行,IF1空闲,当IF0读入预取指令后,将其转发给IF1,由IF1完成预取;在程序运行过程中,哪个取指令部件进行取指令,哪个取指令部件进行指令预取应根据分支指令的译码结果确定:如果IF0负责取指令,IF1负责指令预取,结束译码的指令不是分支指令或者是转移失败的分支指令,那么二者操作不变,否则IF1负责取指令,IF0负责指令预取;如果IF1负责取指令,IF0负责指令预取,结束译码的指令不是分支指令或者是转移失败的分支指令,那么二者操作不变,否则IF0负责取指令,IF1负责指令预取。
指令译码和执行模块主要负责指令的译码和执行,被译码和执行的指令由取指令模块中的一个取指令部件提供,其中分支指令的译码结果被送往选择器和两个取指令部件,非分支指令的译码结果被送往指令执行部件进行执行。选择器负责根据分支指令的译码结果选择一个取指令部件提供的指令进行译码和执行,当程序开始运行时,它选择IF0中的指令译码和执行,在程序运行过程中,它根据分支指令的译码结果进行选择:如果正在使用IF0中的指令,结束译码的指令不是分支指令或者是转移失败的分支指令,那么继续使用中IF0的指令,否则使用IF1中的指令;如果正在使用IF1中的指令,结束译码的指令不是分支指令或者是转移失败的分支指令,那么继续使用IF1中的指令,否则使用IF0中的指令。在指令执行过程中,如果发生过程调用,则将过程返回地址保存在栈顶单元中以便进行预取。
如图3,假设流水线分为5个阶段:取指(IF)、译码(ID)、执行(EX)、访存(MEM)和写回(WB),指令p为在指令i之后执行的第一条指令,指令p+1为在指令i之后执行的第二条指令,依次类推。由于i不是分支指令,那么在对它译码的同时,取指令部件将读取指令p,因此指令i的ID阶段与指令p的IF阶段重合,指令i的EX阶段与指令p的ID阶段重合,此时没有控制相关延迟。
如图4,指令i为分支指令,在与图3相同的流水线中,只有在指令i译码结束后,才能确定指令p的地址,指令i的EX阶段与指令p的IF阶段重叠,此时流水线有一个时钟周期的控制相关延迟。
如图5,假设指令I为分支指令,指令i1是分支转移失败时执行的指令,指令i2是分支转移成功时执行的指令,指令q为在分支指令后执行的第二条指令,指令q+1为在分支指令后执行的第三条指令,依此类推。采用本发明后,在指令i译码的同时,两个取指令部件将分别读取指令i1和i2,在指令i译码结束后即可根据译码结果选择指令i1或i2进行译码,指令i的EX阶段与指令i1或i2的ID阶段重合,消除了原有的控制相关延迟。
本发明已成功地在银河TS-1嵌入式微处理器IP核的流水线中实现,能有效消除流水线控制相关延迟,图6为采用SPECint95基准程序组测试得到的结果。图中,纵轴表示SPECint95基准程序组中的每个基准程序,横轴表示控制相关延迟消除率,gcc为88.80%,ijpeg为83.32%,compress为88.55%,perl为88.69%,m88ksim为92.99%,li为85.09%,vertex为87.47%,go为86.16%,流水线控制相关延迟的平均消除率达到87.8%。
图7出了采用不同的控制相关延迟消除方法所得到的性能,其中CPI(cycle per instruction)表示执行一条指令所需的平均时钟周期数,条件分支延迟、无条件分支延迟和平均分支延迟的单位都是时钟周期(cycle)。其中,流水线暂停代表没有采用任何分支延迟消除技术的情况,双取指部件表示采用本发明的情况。采用本发明后,条件分支延迟降低到0.05,无条件分支延迟降低到0.09,平均分支延迟降低到0.06,有效CPI值降低到1.01,均远远低于采用其他方法得到的结果。

Claims (4)

1.一种流水线控制相关延迟消除方法,其总体逻辑结构包括编译模块、取指令模块、指令译码和执行模块,其特征在于由编译模块中的编译器负责确定分支指令所有可能的转移地址并根据分支指令的类型插入预取指令;取指令模块除了负责为指令译码和执行模块提供指令,还要进行指令预取,其功能通过两个取指令部件IF0和IF1完成;指令译码和执行模块中有一个选择器,负责根据当前分支指令的译码结果选择一个取指令部件提供的指令交指令译码部件和指令执行部件进行译码和执行;其执行过程是:1)由编译模块中编译器确定分支指令所有可能的转移目标地址并插入预取指令;2)当程序开始运行时,取指令模块中一个取指令部件读入第一个基本块,另一个取指令部件空闲;对于程序中的每一个基本块:(a)负责读入该基本块的取指令部件依次读入基本块中的每一条
指令,并判断它是否为预取指令;如果当前被读入的指令为
预取指令,则将预取指令发送给另一个取指令部件,由它执
行该预取指令;否则将指令发送给译码部件进行译码;(b)当基本块的最后一条指令即分支指令译码结束后,指令译码
和执行模块中的选择器根据分支指令译码结果选择一个取指令
部件中的基本块作为当前基本块的后继基本块:
I.如果当前正在执行IF0中的指令,IF1则执行预取指令,
预取当前基本块的后继目标指令;当指令顺序执行,即结束译
码的指令不是分支指令或转移条件为False的分支指令时,选
择IF0中的指令进行译码;当执行分支指令时,即结束译码的
指令是转移条件为True的分支指令时,选择IF1中的指令进
行译码;
II.如果当前流水线正在执行IF1中的指令,选择策略正好相
反,即:如果指令依照程序顺序执行,即结束译码的指令不是
分支指令或转移条件为False的分支指令时,选择IF1中的指
令进行译码;当执行分支指令时,即结束译码的指令是转移条
件为True的分支指令时,选择IF0中的指令进行译码。
2.根据权利要求1所述的流水线控制相关延迟消除方法,其特征在于所述编译器插入预取指令的流程是:编译程序依次读出程序代码中的每一条指令,当遇到分支指令时,表示到达当前基本块的末尾,根据分支指令的类型在该分支指令所在基本块的第一条指令之后插入相应的预取指令。
3.根据权利要求1所述的流水线控制相关延迟消除方法,其特征在于所述预取指令是对应不同的分支指令设计的,它们包括fetchaddr1,addr2、fetch addr、fetch stack三种,不同的分支指令要使用不同的预取指令:
(1)  条件分支指令:转移可能成功也可能失败,有两个后继基
本块,应同时预取当前基本块的两个后继基本块;有两个可
能的转移地址,一个保存在指令中,另一个是该指令之后那
条指令的地址;此时在该分支指令所在基本块的第一条指令
之后插入预取指令fetch addr1,addr2,预取从地址addr1
和addr2开始的两个基本块;addr1由该分支指令译码得到,
 addr2是该指令之后的指令地址,其值为分支指令地址加指
 令长度;(2)  直接无条件分支指令:转移总是成功,只有一个后继基本
 块,在编译时可以获得转移目标地址,预取目标基本块即可;
 只有一个可能的转移地址,保存在指令中;此时在该分支指
 令所在基本块的第一条指令之后插入预取指令fetch addr,
 预取从地址addr开始的基本块。addr由该分支指令译码得
 到;(3)  间接无条件分支指令:转移总是成功,但由于转移目标地
址保存在寄存器中,通常在编译时无法得到,对于这类分支
指令,不进行处理;(4)  过程返回语句:转移总是成功,只有一个后继基本块,这
类语句通常出现在过程调用返回时,由于过程调用可能出现
嵌套,本发明用一个栈来保存过程调用的返回地址(即预取
地址),每次过程调用时将返回地址保存在栈顶单元,预取时
从栈顶单元中获得预取地址;此时在该过程返回指令所在基
本块的第一条指令之后插入预取指令fetch stack,预取从
栈顶单元地址开始的基本块。
4.根据权利要求1所述的流水线控制相关延迟的消除方法,其特征在于所述指令预取以基本块为单位进行,除了条件分支指令转移失败时预取的一部分后继指令外,所预取的指令都将被执行。
CNB011315695A 2001-11-28 2001-11-28 流水线控制相关延迟消除方法 Expired - Fee Related CN1142485C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB011315695A CN1142485C (zh) 2001-11-28 2001-11-28 流水线控制相关延迟消除方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB011315695A CN1142485C (zh) 2001-11-28 2001-11-28 流水线控制相关延迟消除方法

Publications (2)

Publication Number Publication Date
CN1349160A true CN1349160A (zh) 2002-05-15
CN1142485C CN1142485C (zh) 2004-03-17

Family

ID=4670694

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB011315695A Expired - Fee Related CN1142485C (zh) 2001-11-28 2001-11-28 流水线控制相关延迟消除方法

Country Status (1)

Country Link
CN (1) CN1142485C (zh)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7340589B2 (en) 2002-06-24 2008-03-04 Seiko Epson Corporation Shift prefix instruction decoder for modifying register information necessary for decoding the target instruction
CN100461135C (zh) * 2003-04-02 2009-02-11 智慧第一公司 变更高速缓存数据区段的方法与装置
CN100538626C (zh) * 2002-09-06 2009-09-09 美普思科技有限公司 利用跳转指令清除冒险的方法及设备
WO2011079824A1 (en) * 2009-12-31 2011-07-07 Shanghai Xin Hao Micro Electronics Co., Ltd. Branching processing method and system
WO2013000400A1 (zh) * 2011-06-29 2013-01-03 上海芯豪微电子有限公司 分支处理方法与系统
CN101782847B (zh) * 2009-01-20 2013-04-24 瑞昱半导体股份有限公司 数据储存方法及装置
CN103608768A (zh) * 2013-04-01 2014-02-26 华为技术有限公司 一种数据预取方法、相关装置及系统
WO2014079389A1 (en) * 2012-11-26 2014-05-30 Shanghai Xinhao Microelectronics Co. Ltd. Branch processing method and system
CN103902252A (zh) * 2014-03-28 2014-07-02 中国航天科技集团公司第九研究院第七七一研究所 一种用于流水线指令相关性的分析方法
CN105260256A (zh) * 2015-10-27 2016-01-20 首都师范大学 一种双模冗余流水线的故障检测及回退方法
CN103336682B (zh) * 2005-08-12 2016-07-06 高通股份有限公司 对先行载入值检查的增强
WO2016155623A1 (zh) * 2015-03-30 2016-10-06 上海芯豪微电子有限公司 基于信息推送的信息系统和方法
CN110780925A (zh) * 2019-09-02 2020-02-11 芯创智(北京)微电子有限公司 一种指令流水线的预译码系统及方法
CN112416438A (zh) * 2020-12-08 2021-02-26 王志平 一种流水线预分支的实现方法
CN113076136A (zh) * 2021-04-23 2021-07-06 中国人民解放军国防科技大学 一种面向安全防护的分支指令执行方法和电子装置
CN116112580A (zh) * 2022-11-23 2023-05-12 国网智能电网研究院有限公司 一种电力低延时业务的硬件流水线gtp数据分流方法及装置

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7340589B2 (en) 2002-06-24 2008-03-04 Seiko Epson Corporation Shift prefix instruction decoder for modifying register information necessary for decoding the target instruction
CN100538626C (zh) * 2002-09-06 2009-09-09 美普思科技有限公司 利用跳转指令清除冒险的方法及设备
CN100461135C (zh) * 2003-04-02 2009-02-11 智慧第一公司 变更高速缓存数据区段的方法与装置
CN103336682B (zh) * 2005-08-12 2016-07-06 高通股份有限公司 对先行载入值检查的增强
CN101782847B (zh) * 2009-01-20 2013-04-24 瑞昱半导体股份有限公司 数据储存方法及装置
WO2011079824A1 (en) * 2009-12-31 2011-07-07 Shanghai Xin Hao Micro Electronics Co., Ltd. Branching processing method and system
CN102117198B (zh) * 2009-12-31 2015-07-15 上海芯豪微电子有限公司 一种分支处理方法
WO2013000400A1 (zh) * 2011-06-29 2013-01-03 上海芯豪微电子有限公司 分支处理方法与系统
WO2014079389A1 (en) * 2012-11-26 2014-05-30 Shanghai Xinhao Microelectronics Co. Ltd. Branch processing method and system
CN103838550A (zh) * 2012-11-26 2014-06-04 上海芯豪微电子有限公司 一种分支处理系统和方法
CN103838550B (zh) * 2012-11-26 2018-01-02 上海芯豪微电子有限公司 一种分支处理系统和方法
US9529595B2 (en) 2012-11-26 2016-12-27 Shanghai Xinhao Microelectronics Co. Ltd. Branch processing method and system
CN103608768A (zh) * 2013-04-01 2014-02-26 华为技术有限公司 一种数据预取方法、相关装置及系统
CN103608768B (zh) * 2013-04-01 2017-03-01 华为技术有限公司 一种数据预取方法、相关装置及系统
CN103902252B (zh) * 2014-03-28 2016-08-31 中国航天科技集团公司第九研究院第七七一研究所 一种用于流水线指令相关性的分析方法
CN103902252A (zh) * 2014-03-28 2014-07-02 中国航天科技集团公司第九研究院第七七一研究所 一种用于流水线指令相关性的分析方法
WO2016155623A1 (zh) * 2015-03-30 2016-10-06 上海芯豪微电子有限公司 基于信息推送的信息系统和方法
CN105260256A (zh) * 2015-10-27 2016-01-20 首都师范大学 一种双模冗余流水线的故障检测及回退方法
CN105260256B (zh) * 2015-10-27 2018-03-23 首都师范大学 一种双模冗余流水线的故障检测及回退方法
CN110780925A (zh) * 2019-09-02 2020-02-11 芯创智(北京)微电子有限公司 一种指令流水线的预译码系统及方法
WO2021042705A1 (zh) * 2019-09-02 2021-03-11 芯创智(北京)微电子有限公司 一种指令流水线的预译码系统及方法
CN110780925B (zh) * 2019-09-02 2021-11-16 芯创智(北京)微电子有限公司 一种指令流水线的预译码系统及方法
CN112416438A (zh) * 2020-12-08 2021-02-26 王志平 一种流水线预分支的实现方法
CN113076136A (zh) * 2021-04-23 2021-07-06 中国人民解放军国防科技大学 一种面向安全防护的分支指令执行方法和电子装置
CN116112580A (zh) * 2022-11-23 2023-05-12 国网智能电网研究院有限公司 一种电力低延时业务的硬件流水线gtp数据分流方法及装置
CN116112580B (zh) * 2022-11-23 2024-04-26 国网智能电网研究院有限公司 一种电力低延时业务的硬件流水线gtp数据分流方法及装置

Also Published As

Publication number Publication date
CN1142485C (zh) 2004-03-17

Similar Documents

Publication Publication Date Title
CN1142485C (zh) 流水线控制相关延迟消除方法
CN1308826C (zh) 用于smt处理器上的cpi调度的系统和方法
CN1222868C (zh) 多线程流水线指令解码器的方法和设备
CN1191524C (zh) 预取指令的执行方法和设备
US9697000B2 (en) Energy-focused compiler-assisted branch prediction
CN1129843C (zh) 使用组合的数据处理器系统和指令系统
CN1222985A (zh) 在多级流水线结构中处理条件跳转的方法
CN1292343C (zh) 处理器及处理管线中例外反应的装置与方法
CN1504881A (zh) 爪哇执行设备和爪哇执行方法
US20130198495A1 (en) Method and Apparatus For Register Spill Minimization
CN1581070A (zh) 一种回应非标准返回序列的检测而选择性覆盖返回堆栈预测的装置及方法
CN1825276A (zh) 多线程管道中的可编程延迟分派
CN1173262C (zh) 虚拟机指令的优化字节码解释器
CN1379872A (zh) 用于在执行被转换指令时维持环境的方法和装置
CN1473294A (zh) 硬件环路
CN1206145A (zh) 带有流水线处理电路的信号处理器及其方法
CN1860436A (zh) 用于处理指令循环的方法和系统
CN1716202A (zh) 动静结合二进制翻译中静态信息不完备的处理方法及装置
CN100345117C (zh) 二进制翻译中对x86中浮点运算的处理方法
CN1100293C (zh) 指令控制拼装方法及其装置
CN1269036C (zh) 用于生成预测助手线程的方法和计算机
CN1755631A (zh) 二进制翻译中的库函数调用处理方法
Azeemi Multicriteria energy efficient source code compilation for dependable embedded applications
CN1542608A (zh) 微控制器
Azeemi Compiler directed battery-aware implementation of mobile applications

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C14 Grant of patent or utility model
GR01 Patent grant
C19 Lapse of patent right due to non-payment of the annual fee
CF01 Termination of patent right due to non-payment of annual fee