会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
热词
    • 1. 发明授权
    • Dual prediction branch system having two step of branch recovery process
which activated only when mispredicted branch is the oldest instruction
in the out-of-order unit
    • 双预测分支系统具有分支恢复过程的两个步骤,仅在错误预测分支是无序单元中最旧的指令时激活
    • US5812839A
    • 1998-09-22
    • US851141
    • 1997-05-05
    • Bradley D. HoytGlenn J. HintonDavid B. PapworthAshwani Kumar GuptaMichael Alan FettermanSubramanian NatarajanSunil ShenoyReynold V. D'Sa
    • Bradley D. HoytGlenn J. HintonDavid B. PapworthAshwani Kumar GuptaMichael Alan FettermanSubramanian NatarajanSunil ShenoyReynold V. D'Sa
    • G06F9/38
    • G06F9/3806G06F9/322G06F9/3844G06F9/3863G06F9/3885
    • A four stage branch instruction resolution system for a pipelined processor is disclosed. A first stage of the branch instruction resolution system predicts the existence and outcome of branch instructions within an instruction stream such that an instruction fetch unit can continually fetch instructions. A second stage decodes all the instructions fetched. If the decode stage determines that a branch instruction predicted by the first stage is not a branch instruction, the decode stage flushes the pipeline and restarts the processor at a corrected address. The decode stage verifies all branch predictions made by the branch prediction stage. Finally, the decode stage makes branch predictions for branches not predicted by the branch prediction stage. A third stage executes all the branch instructions to determine a final branch outcome and a final branch target address. The branch execution stage compares the final branch outcome and final branch target address with the predicted branch outcome and predicted branch target address to determine if the processor must flush the front-end of the microprocessor pipeline and restart at a corrected address. A final branch resolution stage retires all branch instructions. The retirement stage ensures that any instructions fetched after a mispredicted branch are not committed into permanent state.
    • 公开了一种用于流水线处理器的四级分支指令解析系统。 分支指令解析系统的第一阶段预测指令流内分支指令的存在和结果,使得指令获取单元可以连续地获取指令。 第二阶段解码所有提取的指令。 如果解码级确定由第一级预测的分支指令不是分支指令,则解码级别刷新流水线并以校正的地址重新启动处理器。 解码阶段验证分支预测阶段所做的所有分支预测。 最后,解码阶段对分支预测阶段未预测的分支进行分支预测。 第三阶段执行所有分支指令以确定最终分支结果和最终分支目标地址。 分支执行阶段将最终分支结果和最终分支目标地址与预测的分支结果和预测分支目标地址进行比较,以确定处理器是否必须冲洗微处理器流水线的前端并以修正的地址重新启动。 最终的分支解决阶段退出所有分支指令。 退休阶段确保在错误预测的分支之后提取的任何指令不会被永久保留。
    • 2. 发明授权
    • Method and apparatus for predicting and handling resolving return from
subroutine instructions in a computer processor
    • 用于预测和处理计算机处理器中的子程序指令的解析返回的方法和装置
    • US5768576A
    • 1998-06-16
    • US739743
    • 1996-10-29
    • Bradley D. HoytGlenn J. HintonDavid B. PapworthAshwani Kumar GuptaMichael Alan FettermanSubramanian NatarajanSunil ShenoyReynold V. D'Sa
    • Bradley D. HoytGlenn J. HintonDavid B. PapworthAshwani Kumar GuptaMichael Alan FettermanSubramanian NatarajanSunil ShenoyReynold V. D'Sa
    • G06F9/38G06F9/42
    • G06F9/3806G06F9/30054G06F9/4426
    • A method and apparatus for resolving Return From Subroutine instructions in a computer processor are disclosed. The method and apparatus resolve Return From Subroutine instructions in four stages. A first stage predicts Call Subroutine instructions and Return From Subroutine instructions within the instruction stream. The first stage stores a return address in a return register when a Call Subroutine instruction is predicted. The first stage predicts a return to the return address in the return register when a Return From Subroutine instruction is predicted. A second stage decodes each Call Subroutine and Return From Subroutine instruction in order to maintain a Return Stack Buffer that stores a stack of return addresses. Each time the second stage decodes a Call Subroutine instruction, a return address is pushed onto the Return Stack Buffer. Correspondingly, each time the second stage decodes a Return From Subroutine instruction, a return address is popped off of the Return Stack Buffer. The second stage verifies predictions made by the first stage and predicts return addresses for Return From Subroutine instructions that were not predicted by the first stage. A third stage executes Return From Subroutine instructions such that the predictions are verified. Finally, a fourth stage retires Return From Subroutine instructions and ensures that no instructions fetch after a mispredicted return address are committed into permanent state.
    • 公开了一种用于解决计算机处理器中的子程序返回指令的方法和装置。 该方法和设备分四个阶段解析子程序指令。 第一阶段预测指令流中的调用子程序指令和子程序返回指令。 当预测一个调用子程序指令时,第一阶段将返回地址存储在一个返回寄存器中。 第一阶段预测当返回从子程序指令被预测时返回寄存器中的返回地址。 第二阶段解码每个调用子程序和从子程序返回指令,以便维护一个存储一堆返回地址的返回栈缓冲区。 每次第二阶段解码一个调用子程序指令时,一个返回地址被推到返回栈缓冲区上。 相应地,每次第二级解码从子程序返回指令时,返回地址从返回堆栈缓冲区中弹出。 第二阶段验证第一阶段做出的预测,并预测第一阶段未预测的返回从子程序指令的返回地址。 第三阶段执行从子程序返回指令,使得预测得到验证。 最后,第四阶段退出从子程序返回指令,并确保在错误预测的返回地址之后没有指令提取到永久状态。
    • 6. 发明授权
    • Method and apparatus for resolving return from subroutine instructions
in a computer processor
    • 用于解决计算机处理器中子程序指令返回的方法和装置
    • US5604877A
    • 1997-02-18
    • US176065
    • 1994-01-04
    • Bradley D. HoytGlenn J. HintonDavid B. PapworthAshwani K. GuptaMichael A. FettermanSubramanian NatarajanSunil ShenoyReynold V. D'Sa
    • Bradley D. HoytGlenn J. HintonDavid B. PapworthAshwani K. GuptaMichael A. FettermanSubramanian NatarajanSunil ShenoyReynold V. D'Sa
    • G06F9/38G06F9/42
    • G06F9/3806G06F9/30054G06F9/4426
    • A method and apparatus for resolving Return From Subroutine instructions in a computer processor are disclosed. The method and apparatus resolve Return From Subroutine instructions in four stages. A first stage predicts Call Subroutine instructions and Return From Subroutine instructions within the instruction stream. The first stage stores a return address in a return register when a Call Subroutine instruction is predicted. The first stage predicts a return to the return address in the return register when a Return From Subroutine instruction is predicted. A second stage decodes each Call Subroutine and Return From Subroutine instruction in order to maintain a Return Stack Buffer that stores a stack of return addresses. Each time the second stage decodes a Call Subroutine instruction, a return address is pushed onto the Return Stack Buffer. Correspondingly, each time the second stage decodes a Return From Subroutine instruction, a return address is popped off of the Return Stack Buffer. The second stage verifies predictions made by the first stage and predicts return addresses for Return From Subroutine instructions that were not predicted by the first stage. A third stage executes Return From Subroutine instructions such that the predictions are verified. Finally, a fourth stage retires Return From Subroutine instructions and ensures that no instructions fetch after a mispredicted return address are committed into permanent state.
    • 公开了一种用于解决计算机处理器中的子程序返回指令的方法和装置。 该方法和设备分四个阶段解析子程序指令。 第一阶段预测指令流中的调用子程序指令和子程序返回指令。 当预测一个调用子程序指令时,第一阶段将返回地址存储在一个返回寄存器中。 第一阶段预测当返回从子程序指令被预测时返回寄存器中的返回地址。 第二阶段解码每个调用子程序和从子程序返回指令,以便维护一个存储一堆返回地址的返回栈缓冲区。 每次第二阶段解码一个调用子程序指令时,一个返回地址被推到返回栈缓冲区上。 相应地,每次第二级解码从子程序返回指令时,返回地址从返回堆栈缓冲区中弹出。 第二阶段验证第一阶段做出的预测,并预测第一阶段未预测的返回从子程序指令的返回地址。 第三阶段执行从子程序返回指令,使得预测得到验证。 最后,第四阶段退出从子程序返回指令,并确保在错误预测的返回地址之后没有指令提取到永久状态。
    • 8. 发明授权
    • Method and apparatus for a branch instruction pointer table
    • 分支指令指针表的方法和装置
    • US5918046A
    • 1999-06-29
    • US783073
    • 1997-01-15
    • Bradley D. HoytGlenn J. HintonDavid B. PapworthSubramanian NatarajanReynold V. D'Sa
    • Bradley D. HoytGlenn J. HintonDavid B. PapworthSubramanian NatarajanReynold V. D'Sa
    • G06F9/38G06F9/40
    • G06F9/3806G06F9/30054G06F9/322G06F9/3861
    • A buffer is used to store information about the branch instructions within a pipelined microprocessor that can speculatively execute instructions. When a branch instruction in the microprocessor is decoded, the address of the instruction immediately following the branch instruction (the Next Linear Instruction Pointer or NLIP) and some processor state information is written into a Branch Instruction Pointer Table. The branch instruction then proceeds down the microprocessor pipeline. Eventually, the branch instruction is executed. The resolved branch outcome for the branch instruction is compared with a predicted branch outcome. If the branch prediction was correct, the microprocessor continues execution along the current path. However, if the branch prediction was wrong then the execution unit flushes the front-end microprocessor pipeline and restores the microprocessor state information that was stored in the Branch IP Table. If the branch was mispredicted as not taken, the execution unit instructs an Instruction Fetch Unit to resume execution at a final branch target address. Alternatively, if the branch was mispredicted as taken when the branch should not have been taken, the execution unit instructs the Instruction Fetch Unit to resume execution at the Next Linear Instruction Pointer (NLIP) address stored in the Branch IP Table.
    • 缓冲器用于存储可以推测性地执行指令的流水线微处理器内关于分支指令的信息。 当微处理器中的分支指令被解码时,紧跟在分支指令(下一个线性指令指针或NLIP)之后的指令的地址和一些处理器状态信息被写入分支指令指针表。 然后分支指令继续沿着微处理器管线。 最终执行分支指令。 将分支指令的分解结果与预测的分支结果进行比较。 如果分支预测是正确的,则微处理器沿着当前路径继续执行。 然而,如果分支预测错误,则执行单元刷新前端微处理器流水线并恢复存储在分支IP表中的微处理器状态信息。 如果分支被错误预测为未被执行,则执行单元指示指令获取单元在最终分支目标地址处恢复执行。 或者,如果在不支持分支时分支被错误预测,则执行单元指示指令获取单元在存储在分支IP表中的下一个线性指令指针(NLIP)地址处继续执行。