2010-09-28_US7805592B_发明授权_US07805592B2 Early resolving instructions_+++D_n_o+++.docx

对比文件名称:2010-09-28_US7805592B_发明授权_US07805592B2 Early resolving instructions

目标专利名称:消除指令处理电路中的冗余同步屏障和相关处理器系统、方法以及计算机可读媒体CN105009074B

模型名称:DeepSeek-R1

根据目标专利说明书,该专利涉及消除指令处理电路中的冗余同步屏障。其核心在于:检测由硬件自动执行第一指令而触发的第一同步事件,然后检查指令流中的下一个指令是否为类型与该第一同步事件对应的同步屏障,如果是,则消除该冗余的同步屏障指令,从而提高CPU性能。对比文件US7805592B涉及并行流水线处理器,特别是通过早期预解码控制转移指令(如循环、分支、返回指令)来产生stall(暂停)信号,防止后续指令进入流水线,从而简化当这些控制指令被执行时所需的、从流水线中冲刷(squash)不需要的指令的机制。

### 特征比对表格

技术特征描述以及公开性判断结果对比文件原文引用公开性论述
**A:检测第一指令,所述第一指令指示关于计算机架构需要后续同步屏障且所述计算机架构允许由计算机硬件自动地执行同步操作的操作** <br>**未公开**对比文件未明确引用相关内容。**论述**:目标专利中的“第一指令”(如MCR指令)具有双重属性:(1)计算机架构要求其后必须有软件同步屏障;(2)计算机硬件被允许自动执行同步操作。对比文件(如[0080]-[0081]段)描述了“early resolving instructions”(如循环、分支、rv指令),这些指令在被解码和执行时,会影响后续指令序列,处理器需要采取行动(如暂停流水线)以确保正确性。虽然这些指令在广义上可以被认为是“需要后续操作以确保正确性”,但对比文件并未明确描述这些指令具有目标专利所定义的第二个属性,即“允许由计算机硬件自动地执行同步操作”。对比文件中硬件采取的行动(产生stall信号)是为了管理指令流和控制转移,其目的和作用与目标专利中硬件自动执行的“同步操作”(确保数据或指令访问顺序的屏障操作)不同。因此,本领域技术人员无法从对比文件毫无疑义地得出或合理推断出该技术特征。
**B:响应于所述第一指令,由所述计算机硬件自动地执行所述同步操作** <br>**未公开**对比文件未明确引用相关内容。**论述**:目标专利中,硬件响应于第一指令(如MCR指令)自动执行的是“同步操作”,其具体表现形式是“同步事件”,例如指令同步事件或数据同步事件(参见说明书[0029], [0038]段)。对比文件中,响应于检测到“early resolving instruction”,硬件执行的操作是产生一个“stall”信号来暂停流水线(参见[0081]段:“Whenever an early resolving instruction is detected... the VTIA stage is stalled to hold off any subsequent packets”)。虽然两者都是硬件自动执行的操作,但其作用和目的截然不同。目标专利的“同步操作”是为了确保内存一致性或指令顺序的屏障;对比文件的“stall操作”是为了在控制流可能改变时,阻止后续指令进入流水线,从而简化后续的指令冲刷逻辑。因此,对比文件未公开“由计算机硬件自动地执行所述同步操作”这一技术特征。
**C:检测由所述计算机硬件响应于所述第一指令自动执行所述同步操作而导致的第一同步事件** <br>**未公开**对比文件未明确引用相关内容。**论述**:目标专利的核心之一是检测由硬件自动执行同步操作而导致的“同步事件”。说明书[0029], [0038]段明确将同步事件分类为指令同步或数据同步事件。对比文件通篇未提及“同步事件”(synchronization event)这一概念。对比文件中检测到的是“early resolving instruction”本身(通过预解码单元),以及由此产生的需要“stall”流水线的条件(参见[0085]段:“If the instruction is determined to be such an instruction, then the stall control unit 130 stalls stage VTIA...”)。检测“stall条件”与检测“同步事件”在技术内涵和作用上完全不同。前者是关于控制流管理,后者是关于内存或指令顺序一致性。因此,该特征未被对比文件公开。
**D:检测指令流中的下一个指令** <br>**《直接公开》**图9及对应文字描述了处理器流水线结构,指令在流水线阶段(如IF, D)中流动并被处理。例如,在IF阶段,指令被取出(参见[0086]段:“In the IF stage, the V-cache index is loaded into the instruction fetching unit 122 in the slave cluster. The instruction fetching unit 122 then fetches the instruction...”)。**论述**:检测指令流中的下一个指令是任何指令处理电路或流水线的基本且必要的功能。对比文件明确描述了具有多个流水线阶段的处理器,指令在时钟周期控制下从一个阶段移动到下一个阶段(参见[0002]-[0003]段)。在具体实施中(如图9及[0086]段),指令在每个时钟周期被取出(fetch)并加载到流水线寄存器中,这本质上就是在持续地“检测指令流中的下一个指令”。因此,本领域技术人员能够毫无疑义地从对比文件得出该技术特征。
**E:确定所述下一个指令是否包括类型对应于所述第一同步事件的同步屏障** <br>**未公开**对比文件未明确引用相关内容。**论述**:目标专利中,此步骤是将检测到的“下一个指令”与之前发生的“第一同步事件”的类型进行比较,判断其是否为对应的“同步屏障”指令(如ISB指令对应于指令同步事件)。对比文件完全不存在“同步事件”和“同步屏障”的概念。对比文件在预解码阶段(VTIA)会确定取出的指令是否为“early resolving instruction”(如循环、分支等控制转移指令)(参见[0085]段),但这判断的是指令本身的控制属性,而不是判断它是否与某个先前发生的“同步事件”类型对应。两者判断的对象、依据和目的均不相同。因此,该特征未被公开。
**F:以及响应于确定所述下一个指令包括类型对应于所述第一同步事件的同步屏障,从所述指令流消除所述下一个指令。** <br>**未公开**对比文件未明确引用相关内容。**论述**:目标专利的“消除”操作,其前提是识别出了“冗余的同步屏障”。如说明书[0030]段和图2所示,当紧跟在硬件自动同步事件之后的软件同步屏障指令被判定为冗余时,它被消除(用NOP代替或移除)。对比文件中,当检测到“early resolving instruction”时,会采取的行动是“stall”流水线以防止后续指令进入(参见[0081]段),或在某些情况下,将后续指令替换为“bubbles”(即NOP)或标记为无效(参见[0089]-[0090]段)。然而,这种“替换为NOP”或“防止进入”的操作,并非基于“下一个指令是冗余同步屏障”的判断,而是基于“当前指令是可能改变控制流的指令,需要等待其谓词解析”的判断。其技术原理和解决的问题(简化控制流改变时的指令冲刷 vs. 消除冗余同步操作以提高性能)不同。因此,该特征未被对比文件公开。
**G:其中检测所述第一同步事件包括检测指令同步事件** <br>**未公开**对比文件未明确引用相关内容。**论述**:目标专利明确区分了指令同步事件和数据同步事件(参见说明书[0029], [0038], [0054]段)。对比文件通篇未提及任何关于“指令同步”(instruction synchronization)或类似概念。对比文件关注的是控制转移指令(如分支、循环)对指令序列的影响,以及由此产生的流水线管理问题,不涉及确保指令获取顺序正确的同步屏障。因此,该特征未被公开。
**H:并且其中确定所述下一个指令是否包括类型对应于所述第一同步事件的同步屏障包括检测所述下一个指令是否是指令同步屏障。** <br>**未公开**对比文件未明确引用相关内容。**论述**:如特征G所述,对比文件不存在“指令同步事件”的概念,因此也不可能存在检测“指令同步屏障”(如ISB指令)的操作。对比文件检测的是控制转移指令,而非同步屏障指令。因此,该特征未被公开。
**I:其中检测所述第一同步事件包括检测数据同步事件** <br>**未公开**对比文件未明确引用相关内容。**论述**:目标专利提到了数据同步事件(参见说明书[0029], [0038]段)。对比文件通篇未提及任何关于“数据同步”(data synchronization)或内存一致性屏障的概念。其技术内容围绕指令预取、解码、执行和控制流变更,不涉及数据访问顺序的同步。因此,该特征未被公开。
**J:并且其中确定所述下一个指令是否包括类型对应于所述第一同步事件的同步屏障包括检测所述下一个指令是否是数据同步屏障。** <br>**未公开**对比文件未明确引用相关内容。**论述**:如特征I所述,对比文件不存在“数据同步事件”的概念,因此也不可能存在检测“数据同步屏障”的操作。因此,该特征未被公开。
**K:其中检测所述第一同步事件包括设定同步旗标。** <br>**未公开**对比文件未明确引用相关内容。**论述**:目标专利使用“同步旗标”来记录特定类型同步事件的发生(参见说明书[0027], [0034], [0070]段及图4)。对比文件中,当检测到“early resolving instruction”时,会触发“stall”条件,这可能导致流水线控制单元设定某种状态以维持暂停(stall)。然而,这种“stall条件”或状态是为了控制指令流动,其目的和含义与目标专利中用于记录“同步事件已发生”的“同步旗标”不同。对比文件没有教导设定一个专门用于指示“同步事件发生”的旗标。因此,该特征未被公开。
**L:其进一步包括响应于确定所述下一个指令不包括类型对应于所述第一同步事件的同步屏障而清除所述同步旗标。** <br>**未公开**对比文件未明确引用相关内容。**论述**:由于对比文件未公开“同步旗标”(特征K),因此自然也不存在基于“下一个指令不是对应同步屏障”而清除该旗标的操作。目标专利中该步骤(参见图4方框75)是同步事件跟踪逻辑的一部分。对比文件中的流水线控制逻辑(如stall的断言与释放)基于不同的条件和机制。因此,该特征未被公开。
**M:其中确定所述下一个指令是否包括类型对应于所述第一同步事件的同步屏障包括确定是否设定所述同步旗标。** <br>**未公开**对比文件未明确引用相关内容。**论述**:目标专利中,判断下一个指令是否为冗余同步屏障的一个重要依据是检查对应的“同步旗标”是否被设定(参见说明书[0078]段及图4)。由于对比文件未公开“同步旗标”(特征K),因此也不存在利用该旗标来进行判断的步骤。对比文件中判断是否采取行动(如stall)是基于对当前指令的预解码结果,而非基于一个记录历史事件的旗标。因此,该特征未被公开。
**N:其中从所述指令流消除所述下一个指令包括用指示无操作的指令代替所述指令流中的所述下一个指令。** <br>**《隐含公开》**1. [0081]段:“...the packet containing the early resolving instruction is allowed to propagate through to the X1 stage followed by several bubbles (or no-operation instructions/V-cache miss signals) in all pipelines.” <br>2. [0090]段:“...hit registers 112 and 116 are both reset, indicating that the instructions in both the IF stage and D stage of the master cluster are to be ignored. Thus a two-stage bubble appears in the pipeline...” <br>3. [0092]段:“...since the master cluster is stalled by the stall control unit 130, these unwanted instructions are prevented from being loaded into the pipelines in the first place, and instead “miss” signals are fed into the respective hit registers.”**论述**:对比文件多次提到,当流水线因检测到早期解析指令而被暂停(stall)时,在后续的流水线阶段中会出现“bubbles”(气泡)。在处理器流水线领域,“bubble”通常被理解为不执行任何有效操作的周期,本质上就是“无操作”(No-Operation, NOP)指令(参见引用1明确将bubbles与no-operation instructions等同)。引用2和3进一步说明,通过将命中(hit)寄存器重置(指示指令无效),使得相应流水线阶段中的指令被忽略,从而在流水线中产生“bubble”。这相当于用无效或NOP指令填充了那些原本可能被有效指令占据的流水线阶段。虽然对比文件产生NOP的动机(管理控制流)与目标专利(消除冗余同步)不同,但其技术手段——用NOP指令替代指令流中的某些指令——已被对比文件所披露。因此,本领域技术人员可以从对比文件的内容中合理推断出“用指示无操作的指令代替指令流中的指令”这一技术手段。
**O:其中从所述指令流消除所述下一个指令包括从所述指令流移除所述下一个指令。** <br>**《隐含公开》**1. [0092]段:“If the early resolving instruction is executed, then the instruction held in the VTIA stage of the master pipeline is squashed...” <br>2. [0095]段:“If the loop instruction is acted on, then the lb1 instruction in the VTIA stage is the first instruction of the loop body, and could potentially still be used from the VTIA stage. However... this instruction is discarded regardless...” <br>3. 图11-13的说明中多次提到后续指令被“squashed”(例如,图11第五时钟周期:“the lb1 instruction which was held in VTIA is squashed”)。**论述**:对比文件明确描述了“squash”操作,即丢弃或移除已在流水线中但尚未提交的指令。例如,当早期解析指令(如循环指令)确定要执行时,原本暂停在VTIA阶段的下一条指令(lb1)会被“squashed”(丢弃)(参见引用1、2)。图11-13的时序图也清晰展示了这一过程。术语“squash”在本领域通常意味着从流水线中清除该指令,使其不会被执行,这实质上就是从指令流(在此处指正在流水线中处理的指令序列)中“移除”该指令。虽然对比文件中“squash”指令的触发条件和目的(控制流改变)与目标专利不同,但“从指令流移除指令”这一具体操作手段已被对比文件所披露。因此,本领域技术人员可以从对比文件的内容中合理推断出该技术特征。

<<<D>>><<<n>>><<<o>>>

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

网站备案号:渝ICP备2023012882号


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