CN114546494A - 管线式电脑系统与指令处理方法 - Google Patents
管线式电脑系统与指令处理方法 Download PDFInfo
- Publication number
- CN114546494A CN114546494A CN202011337202.7A CN202011337202A CN114546494A CN 114546494 A CN114546494 A CN 114546494A CN 202011337202 A CN202011337202 A CN 202011337202A CN 114546494 A CN114546494 A CN 114546494A
- Authority
- CN
- China
- Prior art keywords
- instruction
- address
- branch
- branch instruction
- predicted
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 15
- 238000000034 method Methods 0.000 claims description 14
- 230000008569 process Effects 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 9
- 230000007246 mechanism Effects 0.000 description 7
- 230000004044 response Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
Images
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/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
- G06F9/3804—Instruction prefetching for branches, e.g. hedging, branch folding
- G06F9/3806—Instruction prefetching for branches, e.g. hedging, branch folding using address prediction, e.g. return stack, branch history buffer
-
- 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/3005—Arrangements for executing specific machine instructions to perform operations for flow control
- G06F9/30061—Multi-way branch instructions, e.g. CASE
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
Abstract
本公开涉及管线式电脑系统与指令处理方法。管线式电脑系统包含处理器电路以及存储器电路。处理器电路用以在执行一第一分支指令前根据该第一分支指令的一第一地址获得该第一分支指令的一第一目标地址以及一第一预测指令的一第二地址,并在该第一分支指令的一预测结果为跳转成立时依序预先取出该第一目标地址对应的一第一指令与该第一预测指令,其中该第一预测指令之执行顺序次于该第一指令的执行顺序。存储器电路用以暂存该第一指令与该第一预测指令。
Description
技术领域
本案是关于电脑系统,尤其是关于具有分支预测机制的管线式电脑系统及其指令处理方法。
背景技术
指令管线化(instruction pipeline)可增加单位时间内被执行的指令数量。为了更进一步提高指令处理的效率,分支预测机制可用来预测分支指令(例如为跳转指令、返回指令等等)的执行结果,以提前处理后续的指令。然而,当分支指令的预测结果为跳转不成立(branch not-taken)时,现有的分支预测机制仍无法消除指令处理过程中的多数停顿(bubble)。
发明内容
于一些实施例中,管线式电脑系统包含处理器电路以及存储器电路。处理器电路用以在执行一第一分支指令前根据该第一分支指令的一第一地址获得该第一分支指令的一第一目标地址以及一第一预测指令的一第二地址,并在该第一分支指令的一预测结果为跳转成立时依序预先取出该第一目标地址对应的一第一指令与该第一预测指令,其中该第一预测指令之执行顺序次于该第一指令的执行顺序。存储器电路用以暂存该第一指令与该第一预测指令。
于一些实施例中,指令处理方法包含下列操作:在执行一第一分支指令前根据该第一分支指令的一第一地址获得该第一分支指令的一第一目标地址以及一第一预测指令的一第二地址;以及在该第一分支指令的一预测结果为跳转成立时依序预先取出该第一目标地址对应的一第一指令与该第一预测指令,其中该第一预测指令之执行顺序次于该第一指令的执行顺序。
有关本案的特征、实作与功效,兹配合图式作较佳实施例详细说明如下。
附图说明
图1为根据本案一些实施例绘制一种管线式电脑系统的示意图;
图2为根据本案一些实施例绘制一种指令处理方法的流程图;
图3A为根据本案一些实施例绘制图1的管线式电脑系统依序执行多个指令的示意图;
图3B为根据本案一些实施例绘制图3A中多个指令的运行流程图;
图4A为根据本案一些实施例绘制图1的管线式电脑系统依序执行多个指令的示意图;
图4B为根据本案一些实施例绘制图3A中多个指令的运行流程图;以及
图5为根据本案一些实施例绘制图1的管线式电脑系统依序执行多个指令的示意图。
具体实施方式
本文所使用的所有词汇具有其通常的意涵。上述之词汇在普遍常用之字典中之定义,在本案的内容中包含任一于此讨论的词汇之使用例子仅为示例,不应限制到本案之范围与意涵。同样地,本案亦不仅以于此说明书所示出的各种实施例为限。
关于本文中所使用之『耦接』或『连接』,均可指二或多个元件相互直接作实体或电性接触,或是相互间接作实体或电性接触,亦可指二或多个元件相互操作或动作。如本文所用,用语『电路系统(circuitry)』可为由至少一电路(circuit)所形成的单一系统,且用语『电路』可为由至少一个晶体管与/或至少一个主被动元件按一定方式连接以处理讯号的装置。
如本文所用,用语『与/或』包含了列出的关联项目中的一个或多个的任何组合。在本文中,使用第一、第二与第三等等之词汇,是用于描述并辨别各个元件。因此,在本文中的第一元件也可被称为第二元件,而不脱离本案的本意。为易于理解,于各图式中的类似元件将被指定为相同标号。
图1为根据本案一些实施例绘制的一种管线式(pipeline)电脑系统100的示意图。于一些实施例中,管线式电脑系统100可应用于一般电子产品,例如包含(但不限于)个人电脑、笔记本电脑、显示卡、伺服器、平板电脑、智能手机、电视、网络装置等等。管线式电脑系统100包含处理器电路110、主存储器120以及输入输出(input/output)装置130。主存储器120用以储存指令与/或数据。I/O装置130可接收(或输出)指令(或数据)。
于一些实施例中,处理器电路110为管线式处理器电路,其可允许多个指令重迭运行。例如,处理器电路110可包含程序计数器电路(未示出)、指令存储器(未示出)、至少一多工器电路(未示出)、至少一暂存器电路(未示出)以及至少一数据存储器电路(未示出),其形成复数条数据路径以平行处理多条指令。上述关于处理器电路110的数据路径之设置方式用于示例,且本案并不以此为限。
于一些实施例中,处理器电路110的核心(core)部分包含指令撷取电路112,且处理器电路110更包含存储器电路114。指令撷取电路112可用以决定分支指令的预测结果为跳转成立(branch-taken)或跳转不成立(branch-untaken),并依据预测结果自主存储器120(或存储器电路114)预先取出(prefetch)对应的指令。于一些实施例中,指令撷取电路112包含分支预测机制(未示出),其用来决定上述预测结果并储存有一查找表(如后述的表1与表2)。于一些实施例中,该分支预测机制可根据先前指令执行的历史记录决定当前分支指令的预测结果,其中该历史记录可储存为该查找表。于一些实施例中,该分支预测机制可执行全局分享(global-sharing,g-share)算法,或执行具有标记几何历史长度的分支预测(tagged geometric history length branch prediction,TAGE)算法,以决定分支指令的预测结果。关于上述的算法种类用于示例,且本案并不以此为限。各种可用于分支预测的相关算法皆为本案所涵盖之范围。关于上述分支预测以及预先取出的相关操作将于后述段落进行说明。
于一些实施例中,存储器电路114可为暂存器,其用以暂存经指令撷取电路112预先取出的指令与/或数据。于一些实施例中,存储器电路114可为高速缓存,其可包含完整的高速缓存阶层。例如,存储器电路114可仅包含L1高速缓存,或可包含L1高速缓存与L2高速缓存,或可包含L1高速缓存、L2高速缓存以及L3高速缓存。上述关于存储器电路114的种类用于示例,且本案并不以此为限。
图2为根据本案一些实施例绘制一种指令处理方法200的流程图。于一些实施例中,指令处理方法200可由(但不限于)图1的处理器电路110执行。
于操作S210,在执行第一分支指令(例如为分支指令B)前根据第一分支指令的第一地址(例如为表1中的地址ADDRB)获得第一分支指令的第一目标地址(例如为表1中的地址ADDR3)以及第一预测指令(例如为分支指令C)的第二地址(例如为表1中的地址ADDRC)。于操作S220,在第一分支指令的预测结果为跳转成立时依序预先取出第一目标地址对应的第一指令与第一预测指令,其中第一预测指令之执行顺序次于第一指令之执行顺序。
上述多个操作仅为示例,并非限定需依照此示例中的顺序执行。在不违背本案的各实施例的操作方式与范围下,在指令处理方法200下的各种操作当可适当地增加、替换、省略。或者,在指令处理方法200下的一或多个操作可以是同时或部分同时执行。
为进一步说明指令处理方法200,参照图3A与图3B,图3A为根据本案一些实施例绘制图1的管线式电脑系统100依序执行多个指令的示意图,且图3B为根据本案一些实施例绘制图3A中多个指令的运行流程图。
如图3A所示,处理器电路110由上而下依序执行一连串的多个指令1、A、2、3、B、C、4以及D。于此例中,假设指令A、指令B、指令C以及指令D为分支指令,指令2为指令A的目标地址所对应之指令,指令3为指令B的目标地址所对应之指令、且指令4为指令C的目标地址所对应之指令。于一些实施例中,分支指令可为(但不限于)条件式分支(conditionalbranch)指令与/或无条件分支(unconditional branch)指令。
如前所述,处理器电路110储存有查找表。于一些实施例中,此查找表用以纪录前述的第一地址、第一目标地址以及第二地址之间的对应关系。例如,此查找表可表示为下表1:
分支指令的地址 | 分支指令的目标地址 | 次一预测指令的地址 |
ADDR<sub>A</sub> | ADDR<sub>2</sub> | ADDR<sub>B</sub> |
ADDR<sub>B</sub> | ADDR<sub>3</sub> | ADDR<sub>C</sub> |
ADDR<sub>C</sub> | ADDR<sub>4</sub> | ADDR<sub>D</sub> |
ADDR<sub>C'</sub> | ADDR<sub>4'</sub> | ADDR<sub>D'</sub> |
在上表1中,分支指令的地址(即第一地址)代表此分支指令于主存储器120(或存储器电路114)的储存地址。分支指令的目标地址(即第一目标地址)为当此分支指令的预测结果为跳转成立时欲执行的指令之储存地址。次一预测指令的执行顺序次于该目标地址所对应的指令之执行顺序。例如,目标地址ADDR2所对应的指令为指令2,且次一预测指令为在指令2后被执行的指令B。如此,处理器电路110在执行分支指令A时,指令撷取电路112可根据分支指令A的储存地址ADDRA搜寻查找表,以获得目标地址ADDR2以及次一预测指令(即分支指令B)的地址ADDRB。换言之,分支指令的地址相当于查找表的标签(tag)。若查找表中的标签有被击中(hit),代表处理器电路110正在执行对应此标签的分支指令,且处理器电路110可获得相对应的目标地址以及次一预测指令的储存地址(即第二地址)。如图3A所示,指令撷取电路112可根据分支指令的地址预测(如虚线所示)目标地址以及次一预测指令的地址。
于不同实施例中,在上表1中之次一预测指令的地址可为一偏移值或是一绝对地址。若该次一预测指令的地址为偏移值,处理器电路110可相加对应的目标地址与对应的相对偏移植以决定次一预测指令的实际储存地址。
于一些实施例中,如图3B所示,管线式电脑系统100的指令处理过程可分为多级,其依序包含:预先取出指令(标示为1_IF)、指令标签比对(标示为2_IX)、指令缓冲(3_IB)、指令解码(标示为4_ID)、指令发送(标示为5_IS)、运算元取出(标示为6_OF)、执行(标示为7_EX)以及写回(标示为8_WB)。上述关于指令处理过程的多个级数用于示例,且本案并不以此为限。于一些实施例中,在处理器电路110于第1级(即1_IF)处理分支指令(例如为分支指令B)前,指令撷取电路112可开始决定此分支指令的预测结果,并根据此分支指令的地址搜寻查找表(例如为上表1),以获得此分支指令的目标地址以及次一预测指令的地址。若预测结果为跳转成立,处理器电路110可于第3级(即3_IB)预先取出处理目标地址对应的指令(例如为指令3)。接着,处理器电路110可于第4级(即4_ID)预先取出次一预测指令(例如为分支指令C)。应当理解,依据实际硬件架构不同,处理器电路110(与/或指令撷取电路112)可于更前级或更后级预先取出目标地址对应的指令以及次一预测指令。
详细而言,于期间T时,处理器电路110开始处理指令1。于期间T+1时,处理器电路110开始处理分支指令A,且指令撷取电路112开始决定分支指令A的预测结果。同时,指令撷取电路112根据地址ADDRA读取查找表,以获得目标地址ADDR2以及次一预测指令的地址ADDRB(即图2的操作S210)。
于期间T+2时,由于尚未确认分支指令A是否跳转成立,处理器电路110开始处理次于分支指令A的下一指令(例如为图5的指令A')。于此例中,分支指令A的预测结果为跳转成立,故处理器电路110冲刷(flush)该下一指令。于此条件下,会于期间T+2产生一次停顿(bubble)。
于期间T+3,指令撷取电路112确认分支指令A的预测结果为跳转成立(标示为3_IB/direct2)。响应于此预测结果,处理器电路110可根据目标地址ADDR2预先取出指令2(即图2的操作S220)。同时,若地址ADDRB所对应的次一预测指令(即指令B)为分支指令,指令撷取电路112可开始决定分支指令B的预测结果,并根据分支指令B的地址ADDRB读取查找表,以获得目标地址ADDR3以及次一预测指令(即分支指令C)的地址ADDRC(即图2的操作S210)。
于期间T+4,处理器电路110开始处理分支指令B(即图2的操作S220)。换言之,分支指令B的预测结果可在此分支指令B被执行(即期间T+4)之前一期间(即期间T+3)开始决定。
于期间T+5,指令撷取电路112确认分支指令B的预测结果为跳转成立(标示为3_IB/direct3)。响应于此预测结果,处理器电路110可根据目标地址ADDR3开始处理(即预先取出)指令3(即图2的操作S220)。换言之,在执行指令B后,处理器电路110可在无时间延迟(即不造成停顿)下预先取出指令3。同时,由于地址ADDRC所对应的次一预测指令为分支指令C,指令撷取电路112可开始决定分支指令C的预测结果,并根据地址ADDRC读取查找表,以获得目标地址ADDR4以及次一预测指令(即分支指令D)的地址ADDRD(即图2的操作S210)。于期间T+6,处理器电路110预先取出对应于地址ADDRC的分支指令C,以开始处理分支指令C(即图2的操作S220)。换言之,在期间T+4至期间T+6的运作过程中,处理器电路110可在未造成停顿下依序执行分支指令B、指令2以及分支指令C。依此类推,在期间T+7至期间T+10,若后续的分支指令C与分支指令D的预测结果皆为跳转成立,指令处理过程中的多个停顿将被消除。
于一些相关技术中,分支预测机制仅根据分支指令的地址预先取出跳转成立时的目标地址。于上述技术中,即便分支指令的预测结果为跳转成立,在执行目标地址所对应的指令前仍会产生一次停顿。相对于上述技术,藉由上表1的设置方式,在指令处理过程中之多数停顿可被消除。如此,可改善处理器电路110的指令处理效率。
参照图4A与图4B,图4A为根据本案一些实施例绘制图1的管线式电脑系统100依序执行多个指令的示意图,且图4B为根据本案一些实施例绘制图4A中多个指令的运行流程图。
于此例中,处理指令1、分支指令A、指令2、分支指令B以及指令3的多个操作相同于图3B,故于此不再赘述。于期间T+5,指令撷取电路112开始决定分支指令C的预测结果,并根据分支指令C的地址ADDRC读取查找表,以获得目标地址ADDR4以及次一预测指令的地址ADDRD(即图2的操作S210)。于期间T+6,处理器电路110开始处理分支指令C。同时,指令撷取电路112开始决定分支指令C'的预测结果,并根据分支指令C'的地址ADDRC'读取查找表,以获得目标地址ADDR4'以及次一预测指令(即分支指令D')的地址ADDRD'(即图2的操作S210)。应当理解,分支指令C'的执行顺序次于分支指令C的执行顺序,且分支指令D'的执行顺序次于目标地址ADDR4'对应的指令4'之执行顺序。于期间T+7,指令撷取电路112确认分支指令C的预测结果为跳转不成立。因此,处理器电路110于期间T+7开始处理(即循序预先取出)分支指令C'。于期间T+8,指令撷取电路112确认分支指令C'的预测结果为跳转成立(标示为3_IB/direct4'),并根据分支指令D'的地址ADDRD'搜寻查找表,以获得对应的目标地址以及次一预测指令(未示出)的地址(即图2的操作S210)。同时,指令撷取电路112可于期间T+8开始决定分支指令D'的预测结果,且处理器电路110可于期间T+8预先取出指令4',并于期间T+9预先取出分支指令D'。换言之,在此例中,在分支指令C为预测结果为跳转不成立的条件下,处理器电路110可在未造成停顿下依序执行分支指令C'、指令4'以及分支指令D'。
于前述的相关技术中,若遇到分支指令的预测指令为跳转不成立时,仍会产生至少一个停顿。于另一些相关技术中,分支预测机制是根据分支指令的目标地址获得次一分支指令(若预测结果为跳转成立)之目标地址。于上述技术中,若预测结果为跳转不成立时,将产生数个(例如为4个)停顿。相对于上述相关技术,藉由上表1的设置方式,在分支指令的预测结果为跳转不成立时,处理器电路110可在未产生停顿下执行多个指令。
参照图5,图5为根据本案一些实施例绘制图1的管线式电脑系统100依序执行多个指令的示意图。于一些实施例中,处理器电路110更用以根据分支指令(例如为分支指令A)的地址获得另一预测指令(例如为分支指令A')的地址,并用以在分支指令A的预测结果为跳转不成立时开始处理该另一预测指令A'。换言之,相较于图3A或图4A,指令撷取电路112可根据分支指令的地址预测(如虚线所示)目标地址、次一预测指令(若跳转成立)的地址以及次一预测指令(若跳转不成立)的地址。
在图5的例子中,前述的查找表可表示为下表2:
换言之,于此例中,查找表(即上表2)更用以纪录分支指令的地址、分支指令的目标地址、次一预测指令(若预测结果为跳转成立)的地址以及次一预测指令(若预测结果为跳转不成立)的地址之间的对应关系。
例如,当处理器电路110开始处理分支指令A前,指令撷取电路112可根据分支指令A的地址ADDRA开始决定分支指令A的预测结果,并自表2获得对应的目标地址ADDR2、次一预测指令B(若预测结果为跳转成立)的地址ADDRB以及次一预测指令A'(若预测结果为跳转不成立)的地址ADDRA'。依此类推,若分支指令A的预测结果为跳转不成立,处理器电路110(与指令撷取电路112)可根据地址ADDRA'获得分支指令A'的目标地址ADDR2'、次一预测指令(若预测结果为跳转成立)的地址(未示出)以及次一预测指令(若预测结果为跳转不成立)的地址(未示出)。如此一来,若预测结果为跳转不成立,处理器电路110(与指令撷取电路112)可开始处理(即预先取出)对应的次一预测指令,以消除更多的停顿。
综上所述,藉由本案一些实施例中之管线式电脑系统与指令处理方法可有效的消除指令处理过程中的停顿,以增进整体指令处理效率。
虽然本案之实施例如上所述,然而该些实施例并非用来限定本案,本技术领域具有通常知识者可依据本案之明示或隐含之内容对本案之技术特征施以变化,凡此种种变化均可能属于本案所寻求之专利保护范畴,换言之,本案之专利保护范围须视本说明书之申请专利范围所界定者为准。
【符号说明】
100:管线式电脑系统
110:处理器电路
112:指令撷取电路
114:存储器电路
120:主存储器
130:输入输出装置
200:指令处理方法
S210,S220:操作
1,2,2',3,4,4':指令
A,A',B,B',C,C',D,D':分支指令
1_IF:预先取出指令
2_IX:指令标签比对
3_IB:指令缓冲
4_ID:指令解码
5_IS:指令发送
6_OF:运算元取出
7_EX:执行
8_WB:写回
T,T+1,T+2,T+3,T+4,T+5,T+6,T+7,T+8,T+9,T+10:期间
Claims (10)
1.一种管线式电脑系统,包含:
一处理器电路,用以在执行一第一分支指令前根据该第一分支指令的一第一地址获得该第一分支指令的一第一目标地址以及一第一预测指令的一第二地址,并在该第一分支指令的一预测结果为跳转成立时依序预先取出该第一目标地址对应的一第一指令与该第一预测指令,其中该第一预测指令之执行顺序次于该第一指令的执行顺序;以及
一存储器电路,用以暂存该第一指令与该第一预测指令。
2.根据权利要求1所述之管线式电脑系统,其中该处理器电路用以根据该第一地址搜寻一查找表以获得该第一目标地址以及该第二地址,且该查找表用以纪录该第一地址、该第一目标地址以及该第二地址之间的一对应关系。
3.根据权利要求1所述之管线式电脑系统,其中该处理器电路更用以根据一第二分支指令的一第三地址获得该第二分支指令的一第二目标地址以及一第二预测指令的一第四地址,其中该第二分支指令之执行顺序次于该第一分支指令之执行顺序,且若该预测结果为跳转不成立,该处理器电路更用以开始处理该第二分支指令。
4.根据权利要求1所述之管线式电脑系统,其中该第一分支指令的该预测结果是在该第一分支指令被执行的前一期间开始决定。
5.根据权利要求1所述之管线式电脑系统,其中该处理器电路更用以根据该第一地址获得一第二预测指令的一第三地址,并用以在该预测结果为跳转不成立时开始处理该第二预测指令。
6.根据权利要求5所述之管线式电脑系统,其中该处理器电路用以根据该第一地址搜寻一查找表以获得该第一目标地址、该第二地址以及该第三地址,且该查找表用以纪录该第一地址、该第一目标地址、该第二地址以及该第三地址之间的一对应关系。
7.一种指令处理方法,包含:
在执行一第一分支指令前根据该第一分支指令的一第一地址获得该第一分支指令的一第一目标地址以及一第一预测指令的一第二地址;以及
在该第一分支指令的一预测结果为跳转成立时依序预先取出该第一目标地址对应的一第一指令与该第一预测指令,其中该第一预测指令之执行顺序次于该第一指令的执行顺序。
8.根据权利要求7所述之指令处理方法,更包含:
根据一第二分支指令的一第三地址获得该第二分支指令的一第二目标地址以及一第二预测指令的一第四地址,其中该第二分支指令之执行顺序次于该第一分支指令之执行顺序;以及
若该预测结果为跳转不成立,开始处理该第二分支指令。
9.根据权利要求8所述之指令处理方法,其中该第二预测指令的执行顺序次于该第二目标地址所对应之一指令的执行顺序。
10.根据权利要求7所述之指令处理方法,更包含:
根据该第一地址获得一第二预测指令的一第三地址;以及
在该预测结果为跳转不成立时开始处理该第二预测指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011337202.7A CN114546494A (zh) | 2020-11-25 | 2020-11-25 | 管线式电脑系统与指令处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011337202.7A CN114546494A (zh) | 2020-11-25 | 2020-11-25 | 管线式电脑系统与指令处理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114546494A true CN114546494A (zh) | 2022-05-27 |
Family
ID=81659127
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011337202.7A Pending CN114546494A (zh) | 2020-11-25 | 2020-11-25 | 管线式电脑系统与指令处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114546494A (zh) |
-
2020
- 2020-11-25 CN CN202011337202.7A patent/CN114546494A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5687349A (en) | Data processor with branch target address cache and subroutine return address cache and method of operation | |
KR100411529B1 (ko) | 제2 레벨 분기 예측 테이블을 이용한 분기 예측 방법 및장치 | |
JP4027620B2 (ja) | 分岐予測装置、プロセッサ、及び分岐予測方法 | |
US6178498B1 (en) | Storing predicted branch target address in different storage according to importance hint in branch prediction instruction | |
US10613869B2 (en) | Branch target address provision | |
KR100974384B1 (ko) | 분기 명령들을 예측하기 위한 방법 및 장치 | |
KR101081662B1 (ko) | 비순차적 명령 어드레스들을 프리패치하기 위한 방법 및 장치 | |
JPH0334024A (ja) | 分岐予測の方法とそのための装置 | |
KR20070108939A (ko) | 포워드 룩킹 브렌치 타겟 어드레스 캐싱 | |
US5935238A (en) | Selection from multiple fetch addresses generated concurrently including predicted and actual target by control-flow instructions in current and previous instruction bundles | |
US20060224871A1 (en) | Wide branch target buffer | |
US5964869A (en) | Instruction fetch mechanism with simultaneous prediction of control-flow instructions | |
JP2009536770A (ja) | ブロックに基づく分岐先アドレスキャッシュ | |
JPH06208463A (ja) | 命令をその少なくとも1つの実行装置へ迅速にディスパッチする方法および装置 | |
JP2010509680A (ja) | ワーキング・グローバル・ヒストリ・レジスタを備えるシステム及び方法 | |
KR101026978B1 (ko) | 리턴 스택을 운용하는 방법 및 장치 | |
US20080022080A1 (en) | Data access handling in a data processing system | |
TWI397816B (zh) | 減少在分支目標位址快取記憶體搜尋的方法與裝置 | |
CN117472446B (zh) | 基于处理器的多级取指目标缓冲器的分支预测方法 | |
US20040225866A1 (en) | Branch prediction in a data processing system | |
TWI768547B (zh) | 管線式電腦系統與指令處理方法 | |
CN114546494A (zh) | 管线式电脑系统与指令处理方法 | |
KR20200139759A (ko) | 데이터 항목들을 프리페치하는 장치 및 방법 | |
US6219784B1 (en) | Processor with N adders for parallel target addresses calculation | |
US7343481B2 (en) | Branch prediction in a data processing system utilizing a cache of previous static predictions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |