Prefetching instructions between caches
    1.
    发明授权
    Prefetching instructions between caches 失效
    在缓存之间预取指令

    公开(公告)号:US5721864A

    公开(公告)日:1998-02-24

    申请号:US531948

    申请日:1995-09-18

    IPC分类号: G06F9/38 G06F12/08 G06F12/10

    摘要: A method for selectively pre-fetching Line M+1 into an L1 instruction cache from an L2 cache or from main memory during the execution of Line M. If unresolved branches exist in pending Line M, Line M+1 is speculative and may be pre-fetched into L1 instruction cache only from L2 cache, not from main memory. Unresolved branches in pending Line M are resolved before Line M+1 is pre-fetched from main memory. If no unresolved branches exist, Line M is committed ("inevitable-speculative") and is pre-fetched from main memory. In this way, no potentially wasteful pre-fetches are performed and main memory bandwidth is preserved.

    摘要翻译: 一种用于在线路M执行期间,从L2高速缓存或主存储器中选择性地将线路M + 1预取入L1指令高速缓存。如果在线路M中存在未解决的分支,则线路M + 1是推测性的并且可以是预先 仅从L2缓存中提取到L1指令缓存,而不是从主内存中。 在从主存储器中预取行M + 1之前,解决未决行M中的未解析分支。 如果没有未解决的分支存在,则线M被承诺(“不可避免的推测”),并且从主内存中预取。 以这种方式,不会执行潜在的浪费的预取,并且保留主存储器带宽。

    Apparatus and method for tracking out of order load instructions to
avoid data coherency violations in a processor
    3.
    发明授权
    Apparatus and method for tracking out of order load instructions to avoid data coherency violations in a processor 失效
    用于跟踪不合格的加载指令以避免处理器中的数据一致性违规的装置和方法

    公开(公告)号:US06148394A

    公开(公告)日:2000-11-14

    申请号:US21134

    申请日:1998-02-10

    IPC分类号: G06F9/38 G06F12/08 G06F9/312

    CPC分类号: G06F9/3834 G06F12/0859

    摘要: The present invention is directed towards a means to detect and reorder out of order instructions that may violate data coherency. The invention comprises a mis-queue table for holding entries of instruction data, each entry corresponding to an instruction in a computer microprocesor. The instruction data in each entry comprises: i) address information for the instruction; ii) ordering information for the instruction, indicating the order of the instruction relative to other instructions in the mis-queue table; iii) data modification information for the instruction, for indicating a possibility of modified data; and iv) out of order information, for indicating that a newer instruction has completed before the corresponding older instruction to the entry. The invention also comprises an out of order comparator for comparing an address of a completed instruction to any address information entries in the miss queue. If a completed instruction accesses the same address as another instruction, as indicated in the address information in the mis-queue table, and the completed instruction is newer than the matched instruction, the out of order field is marked indicating this condition exists. The invention comprises a modification comparator. This compares addresses from data altering events to those addresses in the entries in the mis-queue table. On a match, the modification field of the corresponding entry is marked to indicate this condition exists. When an instruction entry indicates that the corresponding instruction's data is modified, and that the instruction is out of order, all subsequent instructions are canceled.

    摘要翻译: 本发明涉及一种检测和重新排序可能违反数据一致性的乱序指令的手段。 本发明包括用于保存指令数据条目的错误队列表,每个条目对应于计算机微处理器中的指令。 每个条目中的指令数据包括:i)指令的地址信息; ii)订购指令的信息,指示相对于错误队列表中的其他指令的指令的顺序; iii)指示用于指示修改数据的可能性的数据修改信息; 以及iv)无序信息,用于指示较新的指令在对条目的相应较老指令之前已经完成。 本发明还包括一个无序比较器,用于将完成的指令的地址与未命中队列中的任何地址信息条目进行比较。 如果完成的指令访问与其他指令相同的地址,如错误队列表中的地址信息中所示,并且完成的指令比匹配的指令更新,则会显示乱序字段,指示此条件存在。 本发明包括修改比较器。 这将比较从数据更改事件到错误队列表中条目中的那些地址的地址。 在比赛中,相应条目的修改字段被标记为表示此条件存在。 当指令条目指示对应指令的数据被修改并且指令出现故障时,所有后续指令都被取消。

    Microprocessor instruction fetch unit for processing instruction groups having multiple branch instructions

    公开(公告)号:US06622236B1

    公开(公告)日:2003-09-16

    申请号:US09506229

    申请日:2000-02-17

    IPC分类号: G06F930

    摘要: A microprocessor, data processing system, and an associated method of executing microprocessor instructions and generating instruction fetch addresses are disclosed. The microprocessor includes an instruction fetch unit comprising and instruction fetch address register (IFAR) and an instruction processing unit (IPU). The IFAR is configured to provide an address to an instruction cache. The IPU is suitable for receiving a set of instructions from the instruction cache and for generating an instruction fetch address upon determining from the set of instructions that the program execution flow requires redirection. The IPU is adapted to determine that the program flow requires redirection if the number of branch instructions in the set of instructions for which branch instruction information must be recorded exceeds the capacity of IPU to record the branch instruction information in a single cycle. The IPU may include an address generation unit suitable for generating a set of branch target addresses corresponding to the set of received instructions and a multiplexer configured to receive as inputs the set of branch target addresses. The output of the multiplexer is provided to the instruction address fetch register. The IPU may include an address incrementer suitable for generating a next instruction address corresponding to the next sequential instruction address following the instruction address corresponding to the received set of addresses. In this embodiment, the next instruction address comprises an input to the multiplexer. The IPU may further include selector logic adapted to select the next instruction address as the output of the multiplexer if the number of branch instructions in the set of instructions for which branch instruction information must be recorded exceeds the capacity of IPU to record the branch instruction information in a single cycle. The selector logic is adapted to select as the output of the multiplexer the branch target address of the first instruction predicted to be taken if the number of branch instructions in the set of instructions for which branch instruction information must be recorded does not exceed the capacity of IPU to record the branch instruction information in a single cycle.

    Data processing system having an apparatus for out-of-order register
operations and method therefor
    5.
    发明授权
    Data processing system having an apparatus for out-of-order register operations and method therefor 失效
    数据处理系统具有无序寄存器操作的装置及其方法

    公开(公告)号:US6061785A

    公开(公告)日:2000-05-09

    申请号:US24804

    申请日:1998-02-17

    摘要: An apparatus for condition register (CR) renaming and methods of using the same are implemented. In a central processing unit (CPU) having a pipelined architecture, logical operations on CR operands may be executed out-of-order using the CR renaming mechanism. Any instruction that updates the CR data has an associated instruction identifier (IID) stored in a register. Subsequent condition register logical (LCR) instructions that use data in the CR use the stored IID to determine when the CR data has been updated by the execution of the instruction corresponding to the stored IID. When an instruction causing a CR data value update finishes executing, the updated data is obtained by snooping the finish bus of the corresponding execution unit. In this way, these instructions can obtain CR data prior to completion of the preceding instructions. Because the updated CR data is available to the LCR next to execute before the updating instruction completes, deserialized execution of LCR instructions is thereby realized.

    摘要翻译: 实现了条件寄存器(CR)重命名的装置及其使用方法。 在具有流水线架构的中央处理单元(CPU)中,使用CR重命名机制可以执行对无效操作数的逻辑运算。 更新CR数据的任何指令都具有存储在寄存器中的关联指令标识符(IID)。 使用CR中的数据的后续条件寄存器逻辑(LCR)指令使用存储的IID来确定通过执行与存储的IID相对应的指令来更新CR数据。 当导致CR数据值更新的指令完成执行时,通过窥探相应执行单元的完成总线来获得更新的数据。 以这种方式,这些指令可以在完成前面的指令之前获得CR数据。 因为在更新指令完成之前更新的CR数据可用于下一个执行的LCR,从而实现了反序列化执行LCR指令。

    Recovery mechanism for L1 data cache parity errors
    7.
    发明授权
    Recovery mechanism for L1 data cache parity errors 失效
    L1数据缓存奇偶校验错误的恢复机制

    公开(公告)号:US06332181B1

    公开(公告)日:2001-12-18

    申请号:US09072324

    申请日:1998-05-04

    IPC分类号: G06F1208

    摘要: A method of handling a cache error (such as a parity error), which allows a software recovery, by reporting the error using an unrelated system resource, such as an interrupt service, and particularly a data storage interrupt. The parity error can be reported by generating a data storage interrupt and using the data storage interrupt status register (DSISR) to indicate that the data storage interrupt is a result of the parity error. The context of the processor can be fully synchronized while handling the parity error.

    摘要翻译: 通过使用诸如中断服务之类的不相关的系统资源(特别是数据存储中断)来报告错误来处理允许软件恢复的高速缓存错误(例如奇偶校验错误)的方法。 可以通过产生数据存储中断并使用数据存储中断状态寄存器(DSISR)来指示数据存储中断是奇偶校验错误的结果来报告奇偶校验错误。 处理器的上下文可以在处理奇偶校验错误的同时完全同步。