返回项目页面
对比文件列表
1995-04-19_EP0649086A_发明公开_EP0649086A1 Microprocessor with speculative execution_+++C_E_M_N_S_a_b_f_g_h_i_l_p+++.docx
2026-03-24 23:35
2000-07-19_EP0649086B_发明授权_EP0649086B1 Microprocessor with speculative execution_+++A_B_D_F_I_M_N_S_c_e_g_h+++.docx
2026-03-24 23:35
2002-06-11_US6405305B_发明授权_US06405305B1 Rapid execution of floating point load control word instructions_+++A_B_C_E_P_d_f_g_h_i+++.docx
2026-03-24 23:35
2005-02-10_US2005033946A_发明申请_US20050033946A1 Virtual prediction for control registers in a speculatively executing machine_+++A_B_C_D_F_H_P_e_g_i_l_s+++.docx
2026-03-24 23:35
2005-12-08_US2005273579A_发明申请_US20050273579A1 METHOD AND APPARATUS FOR MAINTAINING STATUS COHERENCY BETWEEN QUEUE-SEPARATED FUNCTIONAL UNITS_+++E_o_p_s+++.docx
2026-03-24 23:35
2006-08-15_US7093111B_发明授权_US07093111B2 Recovery of global history vector in the event of a non-branch flush_+++E_F_G_s+++.docx
2026-03-24 23:35
2009-03-03_US7500087B_发明授权_US07500087B2 Synchronization of parallel processes using speculative execution of synchronization instructions_+++S_e_f_g_i_l+++.docx
2026-03-24 23:35
2009-06-18_US2009158012A_发明申请_US20090158012A1 Method and Apparatus for Performing Improved Group Instructions_+++C_E_F_G_H_M_O_P_a_b_d_i_j_k_l_n_q_r_s+++.docx
2026-03-24 23:35
2010-08-12_US2010205406A_发明申请_US20100205406A1 OUT-OF-ORDER EXECUTION MICROPROCESSOR THAT SPECULATIVELY EXECUTES DEPENDENT MEMORY ACCESS INSTRUCTIONS BY PREDICTING NO VALUE CHANGE BY OLDER INSTRUCTIONS_+++A_B_C_D_H_I_P_e_f_g+++.docx
2026-03-24 23:35
2000-07-19_EP0649086B_发明授权_EP0649086B1 Microprocessor with speculative execution_+++A_B_D_F_I_M_N_S_c_e_g_h+++.docx

# 特征比对表格

技术特征描述以及公开性判断结果对比文件原文引用公开性论述
**A: 处理具有寄存器字段的配置值的行为的指令**<br>《直接公开》[0053]段:“... microprocessor 10 supports speculative execution in the case of both branch instructions (branches) and floating point instructions (floats). That is, instructions following either a branch or a float are speculatively allowed to proceed in the execution pipelines and complete execution.”<br>(译文:……微处理器10支持分支指令(分支)和浮点指令(浮点数)情况下的推测执行。也就是说,在分支或浮点指令之后发出的指令被允许在流水线中推测性地进行并完成执行。)目标专利的技术特征A描述的是“处理具有寄存器字段的配置值的行为的指令”,在目标专利中指上下文相关的向量指令。对比文件[0053]段明确公开了处理器支持对“浮点指令”(floating point instructions)进行推测执行,而浮点指令正是目标专利说明书[0002]段所提及的“行为取决于上下文的指令(例如,浮点向量指令)”的一种典型示例。因此,本领域技术人员能毫无疑义地确定对比文件直接公开了“处理具有寄存器字段的配置值的行为的指令”这一特征。
**B: 所述指令相依于在编程次序上先于所述指令的写入指令**<br>《直接公开》[0053]段:“... instructions following either a branch or a float are speculatively allowed to proceed in the execution pipelines and complete execution.”<br>(译文:……在分支或浮点指令之后发出的指令被允许在流水线中推测性地进行并完成执行。)目标专利的技术特征B描述了指令(如向量指令)依赖于编程次序上先于它的写入指令。对比文件[0053]段明确指出,后续指令(following)是在分支或浮点指令“之后”被推测执行的。这表明后续指令的执行依赖于前面这些控制 hazard 指令(即分支或浮点指令)的状态或结果,这种“在…之后”的关系直接对应于编程次序上的先后和依赖性。因此,该特征被对比文件直接公开。
**C: 所述写入指令将所述配置值写入到所述寄存器字段**<br>《隐含公开》[0053]段:“... microprocessor 10 supports speculative execution in the case of both branch instructions (branches) and floating point instructions (floats).”<br>(译文:……微处理器10支持分支指令(分支)和浮点指令(浮点数)情况下的推测执行。)目标专利的技术特征C限定了写入指令是将配置值写入寄存器字段的指令(如写入FPSCR的指令)。对比文件虽未明确文字记载“将配置值写入寄存器字段”,但其核心内容就是处理分支和浮点指令的推测执行。对于本领域技术人员而言,浮点指令的执行通常涉及配置或更新浮点状态与控制寄存器(如x86架构的FPU状态字),以设定舍入模式、异常掩码等上下文。因此,从对比文件公开的“浮点指令”出发,结合公知常识,可以合理推断出这些指令包含了将配置值写入相关寄存器字段的行为。故该技术特征被对比文件隐含公开。
**D: 在所述写入指令执行之前处理的所述指令在基于处理所述指令时的所述寄存器字段的当前值的上下文内执行**<br>《直接公开》[0053]段:“... instructions following either a branch or a float are speculatively allowed to proceed in the execution pipelines and complete execution.” 以及 [0054]段:“... prior to the speculation instruction being resolved are checkpointed...”<br>(译文:[0053]……在分支或浮点指令之后发出的指令被允许在流水线中推测性地进行并完成执行。[0054]……在推测指令被解决之前被检查点化……)目标专利的技术特征D描述了在写入指令(如VMSR)实际执行(提交)之前,就基于处理时寄存器字段的当前值(即旧上下文)开始处理相关指令。对比文件[0053]段明确指出,后续指令在分支或浮点指令(即推测指令)被“解决”(resolved,即最终确认正确与否)之前,就被允许在流水线中推测性地进行(proceed)和完成(complete)执行。这完全对应于“在写入指令执行之前处理指令”。同时,推测执行必然是基于执行开始时处理器(包括相关寄存器)的当前状态(上下文)进行的,如[0054]段提及的检查点操作正是为了保存此状态。因此,该特征被对比文件直接公开。
**E: 在队列中的条目中存储所述指令**<br>《隐含公开》[0060]段:“... resolution buffers 104 are allocated for (a) branches, (b) UCOFs, and (c) floats. The resolution buffers are allocated in ID2, and resolved in EX or WB... The resolution buffer has four entries, one for each of up to four unresolved COFs or floats...”<br>(译文:……分辨率缓冲区104被分配给(a)分支,(b)UCOF,和(c)浮点指令。分辨率缓冲区在ID2阶段分配,并在EX或WB阶段解决……分辨率缓冲区有四个条目,每个条目对应最多四个未解决的COF或浮点指令……)目标专利的技术特征E描述了将指令存储在队列的条目中(如SIIQ)。对比文件公开了“分辨率缓冲区”(resolution buffers)用于存储未解决的分支和浮点指令的信息,并且明确说明该缓冲区有“条目”(entries)。虽然名称不同,但“缓冲区”(buffer)具有存储和顺序管理功能,在本领域通常可视为一种“队列”结构。该缓冲区存储推测指令的信息,以支持后续的解决和修复,这与目标专利中SIIQ队列存储指令以待后续校验的作用是相同的。因此,本领域技术人员能够从对比文件的“分辨率缓冲区及其条目”推断出“在队列中的条目中存储指令”这一技术特征,故为隐含公开。
**F: 在所述条目中存储所述寄存器字段的所述当前值**<br>《直接公开》[0096]段:“Four Checkpoint registers 218, Chkpnt0 - Chkpnt3, are used to store a copy of the Current register 214, each time a checkpoint occurs. In the exemplary embodiment, checkpoints occur whenever a branch or float is issued into AC1.”<br>(译文:四个检查点寄存器218,Chkpnt0 - Chkpnt3,用于在每次检查点发生时存储当前寄存器214的副本。在示例性实施例中,每当分支或浮点指令被发射到AC1时,就会发生检查点。)目标专利的技术特征F描述在队列条目中存储寄存器字段的当前值(即上下文)。对比文件[0096]段明确公开了“检查点寄存器”(Checkpoint registers)用于在检查点发生时存储“当前寄存器”(Current register)的副本。这里的“当前寄存器”包含了处理器状态的当前值,例如[0078]段列举的指令指针(IP)、堆栈指针(SP)、条件码(Condition Codes)等。当分支或浮点指令(即推测指令)进入AC1阶段时,系统会创建检查点,保存当前状态。这与目标专利中在指令被放入SIIQ时存储FPSCR当前值的作用完全相同,都是为了后续可能的恢复。因此,该特征被对比文件直接公开。
**G: 在所述写入指令执行之后,搜索所述队列以查找所述条目**<br>《隐含公开》[0105]-[0108]段描述了分辨率(Resolution)过程,例如[0107]段:“Branches are resolved by resolving both the predicted target address and predicted direction... For BPU hits..., the predicted target address is compared to the actual (calculated) target address in AC2, and then the predicted direction is compared to the actual direction in EX/WB.”<br>(译文:分支通过解析预测的目标地址和预测的方向来解决……对于BPU命中……,预测的目标地址在AC2阶段与实际(计算出的)目标地址进行比较,然后预测的方向在EX/WB阶段与实际方向进行比较。)目标专利的技术特征G描述了在写入指令(如VMSR)执行后,搜索队列(SIIQ)以查找相关的条目。对比文件详细描述了在分支或浮点指令“解决”(resolved)时,需要执行一系列操作(如比较预测与实际地址/方向)来确定推测是否正确。这个过程必然需要访问和定位之前为该推测指令分配并存储了检查点信息的条目(即分辨率缓冲区中的条目)。虽然对比文件没有使用“搜索”一词,但“解决”一个已分配的条目,逻辑上隐含着需要先找到或访问该条目。因此,本领域技术人员能够合理推断出“在写入指令执行之后,搜索所述队列以查找所述条目”这一步骤,故为隐含公开。
**H: 及在所述写入指令执行之后,将存储在所述条目中的所述当前值与所述配置值进行比较**<br>《隐含公开》[0107]段:“Branches are resolved by resolving both the predicted target address and predicted direction... the predicted target address is compared to the actual (calculated) target address in AC2, and then the predicted direction is compared to the actual direction in EX/WB.” 以及 [0116]段:“The pipeline repair vector instructs the AC and EX pipe stages to flush the current instruction, and restore from the indexed checkpoint register.”<br>(译文:[0107]分支通过解析预测的目标地址和预测的方向来解决……预测的目标地址在AC2阶段与实际(计算出的)目标地址进行比较,然后预测的方向在EX/WB阶段与实际方向进行比较。[0116]流水线修复向量指示AC和EX流水线阶段刷新当前指令,并从索引的检查点寄存器恢复。)目标专利的技术特征H描述在写入指令执行后,将条目中存储的旧上下文值与新写入的配置值进行比较,以判断推测是否正确。对比文件[0107]段明确公开了在解决分支时,需要将“预测的”目标地址和方向与“实际的”(计算出的)目标地址和方向进行比较。这里的“预测的”状态对应于推测执行时保存的检查点状态(旧值),“实际的”状态对应于指令解决时确定的正确状态(新值)。这种比较是判断推测是否错误的直接手段。虽然比较的对象是分支预测信息而非直接的寄存器配置值,但二者在“比较推测状态与最终正确状态以确定是否一致”这一核心作用和原理上是相同的。因此,该特征被对比文件隐含公开。
**I: 其进一步包括:假如存储在所述条目中的所述当前值并不与所述配置值匹配,那么清洗所有飞行中指令的管线,且将程序计数器设定到以编程次序在所述写入指令之后的下一指令的地址。**<br>《直接公开》[0116]段:“The pipeline repair vector instructs the AC and EX pipe stages to flush the current instruction, and restore from the indexed checkpoint register.” 以及 [0117]段:“Thus, within one clock after the BPU detects a mispredicted branch, and broadcasts a repair vector 112 to the AC and EX pipe stages, the execution pipeline is repaired by restoring the processor state to that prior to the speculative execution of instructions past the branch.”<br>(译文:[0116]流水线修复向量指示AC和EX流水线阶段刷新当前指令,并从索引的检查点寄存器恢复。[0117]因此,在BPU检测到错误预测的分支并向AC和EX流水线阶段广播修复向量112后的一个时钟周期内,通过将处理器状态恢复到在该分支之后推测执行指令之前的状态来修复执行流水线。)目标专利的技术特征I描述了在比较不匹配时(即推测错误),采取的恢复动作:清洗管线并重设程序计数器(PC)。对比文件[0116]和[0117]段明确公开了当检测到分支错误预测时,会广播“流水线修复向量”(pipeline repair vector),该向量指示流水线阶段“刷新当前指令”(flush the current instruction)并从检查点恢复状态。这直接对应于“清洗所有飞行中指令的管线”。同时,恢复“推测执行指令之前的状态”必然意味着将程序控制流恢复到正确路径,即将程序计数器(PC)设定到正确指令的地址。在分支错误预测的上下文中,这通常就是分支指令之后的下一条指令(fall-through路径)或正确的目标地址。因此,该恢复机制被对比文件直接公开。
**J: 处理所述指令进一步包括:如果所述当前值为第一值,那么将所述指令处理为定义的**<br>《未公开》无目标专利的技术特征J和K定义了一种具体的指令行为:根据配置字段的当前值是否为特定值(第一值),将指令处理为“定义的”或“未定义的”。这是一种特定语义的上下文判断。对比文件通篇描述的是分支预测和浮点异常的推测执行,其“解决”过程涉及比较预测地址/方向或检测异常,但并未公开任何根据配置寄存器的某个特定值来决定一条指令是“有效的/定义的”还是“无效的/未定义的”这种具体机制。因此,对比文件没有公开该技术特征。
**K: 及如果所述当前值不是所述第一值,那么将所述指令处理为未定义的。**<br>《未公开》无同技术特征J的论述。对比文件未公开基于特定配置值将指令语义定义为“定义的”或“未定义的”机制。
**L: 其进一步包括:假如存储在所述条目中的所述当前值并不与所述配置值匹配,那么清洗所述指令及以编程次序跟随所述指令的所有飞行中指令的管线,且将程序计数器设定到所述指令的地址。**<br>《未公开》无目标专利的技术特征L描述了另一种恢复场景:当比较不匹配时,清洗从该指令本身开始及其之后的所有指令,并将PC设回该指令地址以重新执行。对比文件公开的修复机制(如[0116]段)是在分支错误预测时,刷新流水线并恢复状态到“推测执行指令之前”。这意味着错误预测的分支指令本身及其之后的推测指令都被清洗,PC被设定到分支指令地址以重新取指。这与特征L描述的“清洗指令及跟随指令”有相似性,但关键区别在于,目标专利特征L中的“指令”是指依赖于写入指令的向量指令,而对比文件中的修复点是“分支指令”本身(即控制 hazard 指令)。对比文件没有公开当一条非控制 hazard 的依赖指令(如向量指令)推测错误时,以该指令本身为修复点进行恢复的机制。因此,该特征未被对比文件公开。
**M: 其进一步包括:在所述条目中存储处理器的状态信息,所述状态信息是当处理所述指令时的状态信息**<br>《直接公开》[0096]段:“Four Checkpoint registers 218, Chkpnt0 - Chkpnt3, are used to store a copy of the Current register 214, each time a checkpoint occurs.” 以及 [0078]段列举了检查点的资源,包括IP, SP, 条件码等。<br>(译文:[0096]四个检查点寄存器218,Chkpnt0 - Chkpnt3,用于在每次检查点发生时存储当前寄存器214的副本。[0078]……)目标专利的技术特征M描述在队列条目中存储处理指令时的处理器状态信息。对比文件[0096]段明确公开了使用检查点寄存器来存储“当前寄存器”的副本,而[0078]段具体说明了检查点保存的处理器资源,包括指令指针(IP)、堆栈指针(SP)、寄存器转换单元(Register Translation Unit)、条件码(Condition Codes)和应用程序标志(Application Flags)。这些信息共同构成了处理器的“状态信息”。这与目标专利中在SIIQ条目存储状态信息(如指令地址、其他非上下文相关信息)的作用完全相同,都是为了在恢复时能将处理器恢复到特定状态。因此,该特征被对比文件直接公开。
**N: 及假如存储在所述条目中的所述当前值并不与所述配置值匹配,那么从所述条目检索所述状态信息,且将所述处理器恢复到所述状态信息所指示的状态。**<br>《直接公开》[0116]段:“The pipeline repair vector instructs the AC and EX pipe stages to flush the current instruction, and restore from the indexed checkpoint register.”<br>(译文:流水线修复向量指示AC和EX流水线阶段刷新当前指令,并从索引的检查点寄存器恢复。)目标专利的技术特征N描述了在不匹配时,利用存储的状态信息恢复处理器状态。对比文件[0116]段明确公开了在修复过程中(如分支错误预测),流水线阶段根据指令“从索引的检查点寄存器恢复”(restore from the indexed checkpoint register)。这正是从之前保存的检查点(即条目)中检索状态信息,并将处理器恢复到该状态的具体操作。因此,该特征被对比文件直接公开。
**O: 其中所述指令为向量指令。**<br>《未公开》无目标专利的技术特征O明确限定所述指令为“向量指令”。对比文件全文主要讨论的是“分支指令”和“浮点指令”的推测执行。虽然浮点指令与向量处理有关,但对比文件并未明确将其称为“向量指令”(vector instruction),也未强调其SIMD或向量化操作的特性。因此,该具体的指令类型限定未被对比文件公开。
**P: 其中所述寄存器字段包括一个或多个字段。**<br>《未公开》无目标专利的技术特征P限定了配置寄存器字段可以包括一个或多个字段。对比文件虽然提及检查点保存多个不同的处理器资源(如IP、SP、条件码等,见[0078]段),但这是多个独立的寄存器或状态位,并非一个“寄存器”内部的“多个字段”的概念。对比文件没有公开一个具有多个可配置字段的特定寄存器(如FPSCR)。因此,该特征未被公开。
**Q: 处理所述指令进一步包括:如果所述当前值为第一值,那么将所述指令处理为定义的**<br>《未公开》无同技术特征J、K。此为重复特征,未被公开。
**R: 及如果所述当前值不是所述第一值,那么将所述指令处理为未定义的。**<br>《未公开》无同技术特征J、K。此为重复特征,未被公开。
**S: 其进一步包括:当所述指令提交时,从所述队列移除所述条目。**<br>《直接公开》[0109]-[0110]段描述了解决(Resolution)和解除分配(Deallocate)的过程,例如[0110]段:“This resolution vector causes each pipe stage to deallocate one of four checkpoint registers, with the D Index identifying the checkpoint register to deallocate.”<br>(译文:该解决向量使每个流水线阶段解除分配四个检查点寄存器中的一个,D索引标识要解除分配的检查点寄存器。)目标专利的技术特征S描述当指令提交时,从队列中移除其对应的条目。对比文件[0109]-[0110]段说明,当分支或浮点指令被“解决”(resolved)且没有错误(即正确预测或无异常)时,会广播一个“解决向量”(resolution vector),该向量指示各流水线阶段“解除分配”(deallocate)对应的检查点寄存器。解除分配检查点寄存器即意味着释放该条目所占用的资源,这实质上等同于从管理这些检查点的逻辑队列中移除该条目。这与目标专利中指令提交后移除SIIQ条目的作用相同。因此,该特征被对比文件直接公开。

<<<A>>><<<B>>><<<D>>><<<F>>><<<I>>><<<M>>><<<N>>><<<S>>>

<<<c>>><<<e>>><<<g>>><<<h>>>

权利要求与技术特征
Powered by Django

网站备案号:渝ICP备2023012882号


重庆市非显而易见网络科技有限责任公司 A Anti NPE NPE