对比文件名称:2005-02-10_US2005033946A_发明申请_US20050033946A1 Virtual prediction for control registers in a speculatively executing machine
目标专利名称:335优化用于上下文相关指令的性能CN105190540B
模型名称:DeepSeek
| 技术特征描述以及公开性判断结果 | 对比文件原文引用 | 公开性论述 |
| **技术特征A:其包括:处理具有寄存器字段的配置值的行为的指令,《直接公开》** | 说明书[0006]段:”One type of dependency is a control dependency. Many processing devices include various control words or control registers. When a value is loaded into such control words, the processing device may perform operations in a different manner.” | 对比文件明确描述了处理指令,该指令的行为由控制字(control word)或控制寄存器中的值决定,该值即为“配置值”。当值加载到这些控制字中时,处理设备以不同的方式执行操作。这与目标专利中“具有寄存器字段的配置值的行为的指令”本质相同,即指令的行为取决于寄存器(控制寄存器)字段(控制字)中的配置值。因此,该技术特征被直接公开。 |
| **技术特征B:所述指令相依于在编程次序上先于所述指令的写入指令,《直接公开》** | 说明书[0006]段:”When a value is loaded into such control words, the processing device may perform operations in a different manner.” 以及说明书[0022]段:”…operations are executed using the predicted control (PCW)…These instructions are considered to be speculatively executed because whether or not they will be retired to machine state is uncertain…Additionally, the execution resources may allow out-of-order execution.” | 对比文件指出,在控制字(寄存器)被加载一个值后,处理设备以不同方式操作。这隐含了后续指令的行为依赖于先前的加载(写入)指令所设置的值。说明书[0022]进一步说明,使用预测控制字执行的操作是推测执行的,且允许乱序执行,这必然要求在程序次序上,后续指令依赖于先前设置控制字的写入指令。因此,该依赖关系被直接公开。 |
| **技术特征C:所述写入指令将所述配置值写入到所述寄存器字段,《直接公开》** | 说明书[0006]段:”When a value is loaded into such control words…” 以及说明书[0032]段:”…in response to the control word changing instruction.” | 对比文件描述了加载(load)值到控制字(control words)的指令,例如FLDCW指令。这里的“加载”即为“写入”,将配置值写入到控制寄存器字段。因此,该技术特征被直接公开。 |
| **技术特征D:在所述写入指令执行之前处理的所述指令在基于处理所述指令时的所述寄存器字段的当前值的上下文内执行,《直接公开》** | 说明书[0022]段:”As indicated in block 210, with a predicted control word chosen, operations are executed using the predicted control (PCW) by the execution resources 140 in the embodiment of FIG. 1. In one embodiment, the operations executed using the predicted control word are subsequent in a program sequence to the control word changing instruction.” | 对比文件明确指出,在控制字改变指令(写入指令)的实际值被解析(即执行完成)之前,后续指令就已经开始使用预测的控制字(PCW)进行推测执行(见附图2流程框210)。这里的“预测控制字”就是在处理该指令时,处理器所采用的寄存器字段的“当前值”(尽管是预测值),指令在此预测值所定义的上下文中执行。这完全对应于目标专利中“在写入指令执行之前处理的指令在基于处理所述指令时的所述寄存器字段的当前值的上下文内执行”。因此,该技术特征被直接公开。 |
| **技术特征E:在队列中的条目中存储所述指令《隐含公开》** | 说明书[0032]段:”The allocation module 320 allocates resources for instructions to execute... Additionally, the allocation module 320 may “color” various microoperations as they progress to a scheduler 335, and may track their speculative execution progress.” | 对比文件描述了推测执行的指令需要被跟踪和管理(track their speculative execution progress)。虽然未明确提及“队列中的条目”,但在超标量、乱序执行的处理器中,对推测执行的指令进行管理和跟踪,必然需要一种缓冲或队列结构来暂存这些指令及其相关信息(如颜色标记),以便在预测错误时进行恢复。这是本领域技术人员能够合理推断出的必要技术手段。因此,该技术特征被隐含公开。 |
| **技术特征F:在所述条目中存储所述寄存器字段的所述当前值《直接公开》** | 说明书[0032]段及附图3b:”…each of a set of N predicted control values (PCV-1 through PCV-N) are stored and a color is associated therewith.” | 对比文件明确公开了存储预测的控制值(predicted control values),并且每个值与一个颜色(color)相关联。颜色用于标记一组在特定控制字预测值下推测执行的指令。存储的“预测控制值”就是在处理指令时使用的寄存器字段的“当前值”(预测值)。这与目标专利中在条目中存储“当前值”完全对应。因此,该技术特征被直接公开。 |
| **技术特征G:在所述写入指令执行之后,搜索所述队列以查找所述条目《隐含公开》** | 说明书[0022]段:”In block 215, the actual control word has been resolved, and is tested against the stored control words, including the predicted control word.” 以及说明书[0033]段:”…comparator 360… compares the actual control word to all of the valid control values stored in the storage element 350.” | 对比文件描述了在实际控制字(即写入指令执行后的配置值)被解析后,需要将其与存储的控制值(包括预测值)进行比较。为了进行比较,处理器必须能够找到与当前推测执行指令流相关联的存储条目(即存储的预测控制值及其关联的指令集)。虽然对比文件没有明确使用“搜索队列”这一表述,但根据其描述的比较机制和推测执行指令跟踪的需要,本领域技术人员能够毫无疑义地理解,必然存在一个查找和识别与待比较的预测值相对应的指令条目(或指令集合)的过程。这个过程就是“搜索以查找条目”。因此,该技术特征被隐含公开。 |
| **技术特征H:及在所述写入指令执行之后,将存储在所述条目中的所述当前值与所述配置值进行比较。《直接公开》** | 说明书[0022]段:”In block 215, the actual control word has been resolved, and is tested against the stored control words, including the predicted control word.” 以及说明书[0033]段:”The comparator 360… compares the actual control word to all of the valid control values stored in the storage element 350.” | 对比文件明确公开了在实际控制字(即配置值)被解析(执行后),将其与存储的控制字(包括预测的控制字,即条目中存储的当前值)进行比较(tested against/compares)。这与目标专利的技术特征H完全一致。因此,该技术特征被直接公开。 |
| **技术特征I:其进一步包括:假如存储在所述条目中的所述当前值并不与所述配置值匹配,那么清洗所有飞行中指令的管线,且将程序计数器设定到以编程次序在所述写入指令之后的下一指令的地址。《隐含公开》** | 说明书[0023]段:”In the case of no match occurring in block 215, then the results of the operations executed using the predicted control word are flushed from the processor and a serializing flow is initiated…” | 对比文件公开了如果预测值与实际值不匹配(即无匹配发生),则将从处理器中清洗(flushed)使用预测控制字执行的操作结果,并启动序列化流程(serializing flow)。序列化流程是处理器架构中的标准恢复机制,其核心步骤通常包括清洗错误的推测执行指令(即所有相关的飞行中指令)和将程序计数器重置到正确的指令地址以便重新执行。对于控制字预测错误的情况,重新执行的起点通常就是导致控制字改变的写入指令之后的下一条指令。本领域技术人员可以合理推断出这种恢复机制必然包含清洗管线和重置程序计数器这两个核心操作。因此,该技术特征被隐含公开。 |
| **技术特征J:处理所述指令进一步包括:如果所述当前值为第一值,那么将所述指令处理为定义的《未公开》** | 未发现相关内容。 | 目标专利说明书[0028]段明确描述了根据配置字段的值(如非零值)将向量指令处理为“未定义的(undefined)”,从而导致中断。对比文件仅关注控制字值的匹配与否,以及预测错误时的恢复,完全没有提及根据控制字的特定值将指令语义处理为“定义的(defined)”或“未定义的(undefined)”这种操作模式或指令行为。该特征涉及指令的具体语义解释,而非通用的依赖和预测机制。因此,对比文件既未直接公开也未隐含公开该技术特征。 |
| **技术特征K:及如果所述当前值不是所述第一值,那么将所述指令处理为未定义的。《未公开》** | 未发现相关内容。 | 同技术特征J,对比文件未涉及根据控制字具体值将指令处理为“未定义”的概念。因此,对比文件既未直接公开也未隐含公开该技术特征。 |
| **技术特征L:其进一步包括:假如存储在所述条目中的所述当前值并不与所述配置值匹配,那么清洗所述指令及以编程次序跟随所述指令的所有飞行中指令的管线,且将程序计数器设定到所述指令的地址。《隐含公开》** | 说明书[0025]段:”If the prediction was not correct, then whether a virtual match occurs is determined in block 450... If a virtual match occurs…then a set uOP is dispatched to update (set) the appropriate entry in the prediction table 330 to the correct (actual) control value, so that re-execution will cause the prediction to be correct.” 以及说明书[0035]段:”After the set uOP has been dispatched, the instructions subsequent to the control word changing instruction may be re-executed.” | 对比文件描述了在发生“虚拟匹配”(即实际值与某个存储值匹配,但不是预测值)时,会更新预测器并重新执行(re-executed)控制字改变指令之后的指令。为了实现“重新执行”,处理器必须从正确的指令点开始执行流程。这隐含了需要清洗(撤销)从预测错误点开始的所有推测执行指令(即该指令及之后的所有指令),并将程序计数器(或指令指针)重置到需要重新执行的指令地址。在虚拟匹配场景下,由于预测值错误但存在正确的存储值,通常的恢复动作是重新执行依赖该控制字的指令流,这隐含了技术特征L的清洗和设定程序计数器的操作。因此,该技术特征被隐含公开。 |
| **技术特征M:其进一步包括:在所述条目中存储处理器的状态信息,所述状态信息是当处理所述指令时的状态信息《未公开》** | 未发现相关内容。 | 对比文件公开了存储预测的控制值(PCV)和关联的颜色(color),用于标识一组指令和进行比较。但并未提及在存储预测控制值的条目中,还需要额外存储“处理器的状态信息”(例如,架构寄存器状态等),以便在恢复时使用。目标专利的该特征(见说明书[0034]段)是为了在恢复时能将处理器恢复到指令被处理时的特定状态。对比文件的恢复机制(如虚拟匹配后更新预测器并重新执行)并未描述需要依赖此类存储的状态信息。因此,对比文件既未直接公开也未隐含公开该技术特征。 |
| **技术特征N:及假如存储在所述条目中的所述当前值并不与所述配置值匹配,那么从所述条目检索所述状态信息,且将所述处理器恢复到所述状态信息所指示的状态。《未公开》** | 未发现相关内容。 | 由于对比文件未公开技术特征M(存储状态信息),因此基于状态信息进行恢复的技术特征N也未被公开。目标专利该恢复方式与对比文件描述的通过更新预测器并重新执行指令的恢复机制不同。 |
| **技术特征O:其中所述指令为向量指令。《未公开》** | 说明书[0030]段提到了“SIMD execution units”,但未将依赖控制字的指令限定为向量指令。 | 对比文件通篇描述的是依赖于控制字/控制寄存器的指令,其应用是通用的(例如,特权级别、舍入方式、精度等),并未具体限定为“向量指令”。虽然执行单元中可能包含SIMD单元,但依赖控制字的指令本身并不特指向量指令。目标专利将向量指令作为一个具体实施例(见说明书[0024]段),但权利要求中的该特征进行了限定。因此,该限定性特征未被对比文件公开。 |
| **技术特征P:其中所述寄存器字段包括一个或多个字段。《直接公开》** | 说明书[0006]段:”Many processing devices include various control words or control registers.” | 对比文件中的“control words”或“control registers”通常包含多个字段(例如,用于控制不同方面的位域)。术语“control words”本身就暗示了其可能由多个字段组成。因此,该技术特征被直接公开。 |
| **技术特征Q:处理所述指令进一步包括:如果所述当前值为第一值,那么将所述指令处理为定义的《未公开》** | 未发现相关内容。 | 此特征与技术特征J实质相同,均为根据特定值将指令处理为“定义”的。基于与技术特征J相同的理由,该特征未被对比文件公开。 |
| **技术特征R:及如果所述当前值不是所述第一值,那么将所述指令处理为未定义的。《未公开》** | 未发现相关内容。 | 此特征与技术特征K实质相同,均为根据特定值将指令处理为“未定义”的。基于与技术特征K相同的理由,该特征未被对比文件公开。 |
| **技术特征S:其进一步包括:当所述指令提交时,从所述队列移除所述条目。《隐含公开》** | 说明书[0022]段:”These instructions are considered to be speculatively executed because whether or not they will be retired to machine state is uncertain (until the speculation is resolved).” | 对比文件指出,推测执行的指令在推测被解决(即确认正确)之前,其提交(退休)状态是不确定的。一旦推测被验证正确(例如,预测匹配),指令就会被提交(退休)。用于跟踪和管理推测指令的队列或结构,其条目必然需要在指令提交(或因为错误预测而被清洗)后移除,以释放资源供后续指令使用。这是本领域技术人员根据处理器队列管理常识能够合理推断出的必然操作。因此,该技术特征被隐含公开。 |
<<<A>>><<<B>>><<<C>>><<<D>>><<<F>>><<<H>>><<<P>>>
<<<e>>><<<g>>><<<i>>><<<l>>><<<s>>>