会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
热词
    • 1. 发明授权
    • Method and apparatus for maximum throughput scheduling of dependent
operations in a pipelined processor
    • 用于流水线处理器中依赖操作的最大吞吐量调度的方法和装置
    • US6101597A
    • 2000-08-08
    • US176370
    • 1993-12-30
    • Robert P. ColwellMichael A. FettermanGlenn J. HintonRobert W. MartellDavid B. Papworth
    • Robert P. ColwellMichael A. FettermanGlenn J. HintonRobert W. MartellDavid B. Papworth
    • G06F9/38G06F9/30
    • G06F9/3824G06F9/383
    • Maximum throughput or "back-to-back" scheduling of dependent instructions in a pipelined processor is achieved by maximizing the efficiency in which the processor determines the availability of the source operands of a dependent instruction and provides those operands to an execution unit executing the dependent instruction. These two operations are implemented through number of mechanisms. One mechanism for determining the availability of source operands, and hence the readiness of a dependent instruction for dispatch to an available execution unit, relies on the prospective determination of the availability of a source operand before the operand itself is actually computed as a result of the execution of another instruction. Storage addresses of the source operands of an instruction are stored in a content addressable memory (CAM). Before an instruction is executed and its result data written back, the storage location address of the result is provided to the CAM and associatively compared with the source operand addresses stored therein. A CAM match and its accompanying match bit indicate that the result of the instruction to be executed will provide a source operand to the dependent instruction waiting in the reservation station. Using a bypass mechanism, if the operand is computed after dispatch of the dependent instruction, then the source operand is provided directly from the execution unit computing the source operand to a source operand input of the execution unit executing the dependent instruction.
    • 通过最大化处理器确定依赖指令的源操作数的可用性的效率,并将这些操作数提供给执行依赖的执行单元,从而实现流水线处理器中相关指令的最大吞吐量或“背对背” 指令。 这两个操作通过多个机制来实现。 用于确定源操作数的可用性以及因此用于发送到可用执行单元的依赖指令的准备的机制依赖于在操作数本身实际计算之前源操作数的可用性的预期确定 执行另一条指令。 指令的源操作数的存储地址存储在内容可寻址存储器(CAM)中。 在执行指令并且其结果数据被写回之前,将结果的存储位置地址提供给CAM并与存储在其中的源操作数地址相关联地进行比较。 CAM匹配及其伴随的匹配位指示要执行的指令的结果将为在保留站等待的从属指令提供源操作数。 使用旁路机制,如果在分派依赖指令之后计算操作数,则将操作数从执行单元直接提供到计算源操作数到执行依赖指令的执行单元的源操作数输入。
    • 7. 发明授权
    • Method and apparatus for implementing a non-blocking translation
lookaside buffer
    • 用于实现非阻塞转换后备缓冲器的方法和装置
    • US5564111A
    • 1996-10-08
    • US315833
    • 1994-09-30
    • Andrew F. GlewHaitham AkkaryRobert P. ColwellGlenn J. HintonDavid B. PapworthMichael A. Fetterman
    • Andrew F. GlewHaitham AkkaryRobert P. ColwellGlenn J. HintonDavid B. PapworthMichael A. Fetterman
    • G06F9/38G06F11/00G06F12/10G06F11/34
    • G06F9/3865G06F11/0751G06F12/1027G06F9/3842G06F2212/684
    • A non-blocking translation lookaside buffer is described for use in a microprocessor capable of processing speculative and out-of-order instructions. Upon the detection of a fault, either during a translation lookaside buffer hit or a page table walk performed in response to a translation lookaside buffer miss, information associated with the faulting instruction is stored within a fault register within the translation lookaside buffer. The stored information includes the linear address of the instruction and information identifying the age of instruction. In addition to storing the information within the fault register, a portion of the information is transmitted to a reordering buffer of the microprocessor for storage therein pending retirement of the faulting instruction. Prior to retirement of the faulting instruction, the translation lookaside buffer continues to process further instructions. Upon retirement of each instruction, the reordering buffer determines whether a fault had been detected for that instruction and, if so, the microprocessor is flushed. Then, a branch is taken into microcode. The microcode accesses the linear address and other information stored within the fault register of the translation lookaside buffer and handles the fault. The system is flushed and the microcode is executed only for faulting instructions which actually retire. As such, faults detected while processing speculative instructions based upon mispredicted branches do not prevent further address translations and do not cause the system to be flushed. Method and apparatus implementations are described herein.
    • 描述了用于能够处理推测和乱序指令的微处理器中的非阻塞转换后备缓冲器。 在检测到故障时,无论是在翻译后备缓冲器命中还是响应于翻译后备缓冲器未命中执行的页表行走期间,与故障指令相关联的信息都存储在翻译后备缓冲器内的故障寄存器内。 所存储的信息包括指令的线性地址和识别指令年龄的信息。 除了将信息存储在故障寄存器之外,信息的一部分被发送到微处理器的重排序缓冲器以便存储在故障指令中。 在故障指令退出之前,翻译后备缓冲区继续处理进一步的指令。 在每个指令退出后,重新排序缓冲器确定是否检测到该指令发生故障,如果是,则清除微处理器。 然后,一个分支被带入微码。 微代码访问存储在翻译后备缓冲区的故障寄存器内的线性地址和其他信息,并处理故障。 系统被刷新,微代码仅对实际退出的故障指令执行。 因此,基于错误预测的分支处理推测性指令时检测到的故障不会妨碍进一步的地址转换,并且不会导致系统被刷新。 本文描述了方法和装置实现。
    • 10. 发明授权
    • Method and apparatus for dynamic allocation of multiple buffers in a
processor
    • 用于在处理器中动态分配多个缓冲器的方法和装置
    • US5778245A
    • 1998-07-07
    • US204861
    • 1994-03-01
    • David B. PapworthAndrew F. GlewGlenn J. HintonRobert P. ColwellMichael A. FettermanShantanu R. GuptaJames S. Griffith
    • David B. PapworthAndrew F. GlewGlenn J. HintonRobert P. ColwellMichael A. FettermanShantanu R. GuptaJames S. Griffith
    • G06F9/38G06F9/50G06F15/82
    • G06F9/5016G06F9/3836G06F9/384G06F9/3855G06F9/3857G06F9/3885
    • A method and apparatus for dynamically allocating entries of microprocessor resources to particular instructions in an efficient manner to efficiently utilize buffer size and resources. The pipelined and superscalar microprocessor is capable of speculatively executing instructions and also out-of-order processing. Resources within the microprocessor include a store buffer, a load buffer, a reorder buffer and a reservation station. The reorder buffer contains a larger set of physical registers and also contains information related to speculative instructions and the reservation station comprises information related to instructions pending execution. The load buffer is only allocated to load instructions and is valid for an instruction from allocation pipestage to instruction retirement. The store buffer is only allocated to store instructions and is valid for an instruction from allocation to store performance. The reservation station is allocated to most instructions and is valid for an instruction from allocation to instruction dispatch. The reorder buffer is allocated to all instructions and is valid for a given instruction from allocation to retirement. The load buffer, store buffer, and reorder buffer are sequentially allocated while the reservation station is not. Resource allocation is performed dynamically (as needed by the operation) rather than as a full set of resources attached to each operation. Using the above allocation scheme, efficient usage of the microprocessor resources is accomplished.
    • 一种用于以有效方式动态地将微处理器资源的条目分配给特定指令以有效利用缓冲器大小和资源的方法和装置。 流水线和超标量微处理器能够推测性地执行指令并进行无序处理。 微处理器内的资源包括存储缓冲器,加载缓冲器,重新排序缓冲器和保留站。 重排序缓冲器包含较大的一组物理寄存器,并且还包含与推测指令相关的信息,并且保留站包括与待执行的指令相关的信息。 加载缓冲区仅分配给加载指令,对从分配管理到指令退出的指令有效。 存储缓冲区仅被分配用于存储指令,并且对于分配的指令有效以存储性能。 保留站被分配给大多数指令,并且对于从分配到指令分派的指令是有效的。 重新排序缓冲区被分配给所有指令,并且对于从分配到退休的给定指令是有效的。 在保留站不存在的情况下顺序地分配负载缓冲器,存储缓冲器和重排序缓冲器。 动态执行资源分配(根据操作需要),而不是作为每个操作附加的一整套资源。 使用上述分配方案,可以实现微处理器资源的高效利用。