会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
热词
    • 11. 发明授权
    • Using a modified value GPR to enhance lookahead prefetch
    • 使用修改值GPR来增强前瞻预取
    • US07421567B2
    • 2008-09-02
    • US11016206
    • 2004-12-17
    • Richard James EickemeyerHung Qui LeDung Quoc NguyenBenjamin Walter StoltBrian William Thompto
    • Richard James EickemeyerHung Qui LeDung Quoc NguyenBenjamin Walter StoltBrian William Thompto
    • G06F9/30G06F9/40G06F15/00
    • G06F9/3842G06F9/3804G06F9/383G06F9/3838
    • The present invention allows a microprocessor to identify and speculatively execute future instructions during a stall condition. This allows forward progress to be made through the instruction stream during the stall condition which would otherwise cause the microprocessor or thread of execution to be idle. The execution of such future instructions can initiate a prefetch of data or instructions from a distant cache or main memory, or otherwise make forward progress through the instruction stream. In this manner, when the instructions are re-executed (non speculatively executed) after the stall condition expires, they will execute with a reduced execution latency; e.g. by accessing data prefetched into the L1 cache, or enroute to the processor, or by executing the target instructions following a speculatively resolved mispredicted branch. In speculative mode, instruction operands may be invalid due to source loads that miss the L1 cache, facilities not available in speculative execution mode, or due to speculative instruction results that are not available. Dependency and dirty (i.e. invalid result) bits are tracked and used to determine which speculative instructions are valid for execution. A modified value register storage and bit vector are used to improve the availability of speculative results that would otherwise be discarded once they leave the execution pipeline because they cannot be written to the architected registers. The modified general purpose registers are used to store speculative results when the corresponding instruction reaches writeback and the modified bit vector tracks the results that have been stored there. Younger speculative instructions that do not bypass directly from older instructions will then use this modified data when the corresponding bit in the modified bit vector indicates the data has been modified. Otherwise, data from the architected registers will be used.
    • 本发明允许微处理器在失速状态期间识别和推测地执行未来的指令。 这允许在停顿条件期间通过指令流进行正向进展,否则将导致微处理器或执行线程空闲。 这样的未来指令的执行可以启动来自远程高速缓存或主存储器的数据或指令的预取,或以其他方式通过指令流进行进展。 以这种方式,当在停止条件到期之后重新执行(不推测地执行)指令时,它们将以降低的执行延迟执行; 例如 通过访问预取到L1高速缓存中的数据,或者进入处理器,或通过在推测性地解决的误预测分支之后执行目标指令。 在推测模式中,由于缺少L1缓存的源加载,在推测执行模式下不可用的设备,或由于不可用的推测指令结果,指令操作数可能无效。 跟踪依赖关系和脏(即无效结果)位,并用于确定哪些推测指令对执行有效。 改进的值寄存器存储和位向量被用于提高推测结果的可用性,否则,由于不能将其写入到架构化的寄存器,否则将抛弃执行流水线。 修改后的通用寄存器用于在对应指令到达回写时存储推测结果,修改后的位向量跟踪存储在其中的结果。 当修改的位向量中的相应位指示数据已被修改时,不直接从旧指令旁路的较小的推测指令将使用该修改的数据。 否则,将使用来自架构化寄存器的数据。
    • 13. 发明授权
    • Instruction group formation and mechanism for SMT dispatch
    • SMT派遣指导小组组织和机制
    • US07237094B2
    • 2007-06-26
    • US10965143
    • 2004-10-14
    • Brian William CurranBrian R. KonigsburgHung Qui LeDavid Arnold LuickDung Quoc Nguyen
    • Brian William CurranBrian R. KonigsburgHung Qui LeDavid Arnold LuickDung Quoc Nguyen
    • G06F9/38
    • G06F9/3853G06F9/30145G06F9/382G06F9/3851G06F9/3885
    • A more efficient method of handling instructions in a computer processor, by associating resource fields with respective program instructions wherein the resource fields indicate which of the processor hardware resources are required to carry out the program instructions, calculating resource requirements for merging two or more program instructions based on their resource fields, and determining resource availability for simultaneously executing the merged program instructions based on the calculated resource requirements. Resource vectors indicative of the required resource may be encoded into the resource fields, and the resource fields decoded at a later stage to derive the resource vectors. The resource fields can be stored in the instruction cache associated with the respective program instructions. The processor may operate in a simultaneous multithreading mode with different program instructions being part of different hardware threads. When the resource availability equals or exceeds the resource requirements for a group of instructions, those instructions can be dispatched simultaneously to the hardware resources. A start bit may be inserted in one of the program instructions to define the instruction group. The hardware resources may in particular be execution units such as a fixed-point unit, a load/store unit, a floating-point unit, or a branch processing unit.
    • 通过将资源字段与相应的程序指令相关联来处理计算机处理器中的指令的更有效的方法,其中资源字段指示需要哪个处理器硬件资源来执行程序指令,计算用于合并两个或多个程序指令的资源需求 并且基于所计算的资源需求来确定用于同时执行所合并的程序指令的资源可用性。 指示所需资源的资源矢量可以被编码到资源字段中,并且在稍后阶段解码资源字段以导出资源向量。 资源字段可以存储在与相应的程序指令相关联的指令高速缓存中。 处理器可以以同时多线程模式操作,其中不同的程序指令是不同硬件线程的一部分。 当资源可用性等于或超过一组指令的资源需求时,可以将这些指令同时发送到硬件资源。 可以在程序指令之一中插入起始位以定义指令组。 硬件资源可以特别地是诸如定点单元,加载/存储单元,浮点单元或分支处理单元之类的执行单元。
    • 14. 发明授权
    • Mechanism to reduce instruction cache miss penalties and methods therefor
    • 降低指令高速缓存的机制错误惩罚及其方法
    • US06658534B1
    • 2003-12-02
    • US09052247
    • 1998-03-31
    • Steven Wayne WhiteHung Qui LeKurt Alan FeistePaul Joseph Jordan
    • Steven Wayne WhiteHung Qui LeKurt Alan FeistePaul Joseph Jordan
    • G06F1200
    • G06F9/382G06F9/3804G06F12/0862
    • The mechanism to reduce instruction cache miss penalties by initiating an early cache line prefetch is implemented. The mechanism provides for an early prefetch of a next succeeding cache line before an instruction cache miss is detected during a fetch which causes an instruction cache miss. The prefetch is initiated when it is guaranteed that instructions in the subsequent cache line will be referenced. This occurs when the current instruction is either a non-branch instruction, so instructions will execute sequentially, or if the current instruction is a branch instruction, but the branch forward is sufficiently short. If the current instruction is a branch, but the branch forward is to the next sequential cache line, a prefetch of the next sequential cache line may be performed. In this way, cache miss latencies may be reduced without generating cache pollution due to the prefetch of cache lines which are subsequently unreferenced.
    • 实现了通过启动早期高速缓存行预取来减少指令高速缓存未达错误的机制。 该机制在提取期间检测到指令高速缓存未命中导致指令高速缓存未命中之前提供对下一个后续高速缓存行的早期预取。 当保证将引用后续高速缓存行中的指令时,启动预取。 当当前指令是非分支指令时,会发生这种情况,因此指令将顺序执行,或者当前指令是分支指令,但分支前进足够短。 如果当前指令是分支,而分支转发到下一个顺序高速缓存行,则可以执行下一个顺序高速缓存行的预取。 以这种方式,可以减少高速缓存未命中延迟,而不会由于先前未被引用的高速缓存线的预取而产生高速缓存污染。
    • 17. 发明授权
    • Data processing system and method for completing out-of-order
instructions
    • 数据处理系统和完成无序指令的方法
    • US5875326A
    • 1999-02-23
    • US840919
    • 1997-04-25
    • Hoichi CheongPaul Joseph JordanHung Qui Le
    • Hoichi CheongPaul Joseph JordanHung Qui Le
    • G06F9/38G06F9/00
    • G06F9/3855G06F9/3836G06F9/3842G06F9/3857
    • During operation of a pipelined data processing system, an interruptible instruction table is used to store target identifiers associated with instructions which may result in speculative execution. During operation of the interruptible instruction table, a pointer, referred to as a completing instruction buffer entry pointer, points to a bottom of the interruptible instruction table if that table includes any instruction. An entry at the bottom of the interruptible instruction table is a next instruction to complete. This entry includes a target identifier, referred to as a non-speculative-non-interruptible TID, may be used to release resources held for all prior executed instructions. The data processing system determines the value of the non-speculative-non-interruptible TID to ensure that order determination is preserved and provides a true speculative execution point.
    • 在流水线数据处理系统的操作期间,可中断指令表用于存储与可能导致推测执行的指令相关联的目标标识符。 在可中断指令表的操作期间,如果该表包括任何指令,则称为完成指令缓冲器入口指针的指针指向可中断指令表的底部。 可中断指令表底部的条目是要完成的下一条指令。 该条目包括被称为不推测不可中断的TID的目标标识符可用于释放为所有先前执行的指令保持的资源。 数据处理系统确定非推测不可中断TID的值,以确保顺序确定被保留并提供真实的推测执行点。