目标专利:653用以预测有条件非分支指令的不执行的方法和设备
专利公开号:CN102483696B
专利权人:高通股份有限公司
无效请求书提交日期:2026年
非显而易见性评估仅供参考,不构成法律建议。
| 编号 | 名称 |
|---|
一种用于不执行已发出的有条件非分支指令的方法,所述方法包含:将有条件非分支指令识别为入选以用于预测,所述预测指示所述入选有条件非分支ECNB指令将不会执行;以及响应于所述ECNB指令将不会执行的所述预测,将所述ECNB指令作为无操作NOP指令执行,其中,比较评估准则值与ECNB指令执行状态计数器的计数值输出以启用所述预测,其中所述ECNB指令执行状态计数器在强力指示了所述ECNB指令的先前所尝试执行未被执行的计数值下饱和。
在处理此类复杂的底层处理器架构和通信标准的无效宣告请求时,精准拆解权利要求并将其与对比文件的具体实施例建立直接映射是关键。针对该目标专利权利要求1,以下是紧密结合说明书的权利要求解释、对比文件分析以及特征比对表格。
权利要求1保护的是一种用于预测有条件非分支指令(ECNB)不执行并提前将其按无操作(NOP)指令处理的方法。结合目标专利说明书(特别是[0022]-[0037]段),该权利要求的核心逻辑如下:
目标对象(特征A):有条件非分支指令(例如有条件载入指令)。这类指令如果不执行,依然会占用管线资源或导致暂停。
处理机制(特征B):不等待条件最终解析,而是通过预测逻辑(包含比较评估准则值与计数器输出)来决定是否启用预测。一旦预测其“将不会执行”,直接在管线中将其作为NOP指令处理(例如不提取操作数),从而降低功耗并提升性能。
预测依据(特征C):引入了一个“ECNB指令执行状态计数器”,该计数器记录该指令历史的执行情况。说明书[0037]段明确指出,这通常是一个两位计数器,当多次未被执行时,计数器会递减并达到“饱和”状态(如“00”输出),这个饱和值强力指示(strongly indicates) 先前未执行,以此作为高置信度的预测基础。
从整体解决的技术问题(避免有条件非分支指令在不执行时浪费处理器管线资源)以及技术效果(通过预测并将其视作NOP指令以提升性能和降低功耗)来看,D4(US20010032308A1) 是最适合作为最接近的对比文件(CPA)。
入选理由:D4(及其同族D1)完全针对“预测谓词指令(Predicated instruction,即有条件非分支指令)”这一特定对象。D4详细公开了基于历史信息计算预测谓词值(PPV),如果预测为False,则在管线中将该指令当作no-op(NOP)处理,且同样使用了置信度值(Confidence Value, CV)与阈值进行比较来决定是否启用预测。这与本专利的发明构思、解决的问题和达到的效果高度一致。
以下基于以 D4(US20010032308A1) 为CPA,结合 D2(JP2000305795A) 和 D3(JP2000322257A) 进行的特征比对与公开性分析。
| 权利要求1 技术特征 | 对应对比文件及公开出处 | 公开情况定性 | 详细比对与分析 |
| 特征A:所述方法包含:将有条件非分支指令识别为入选以用于预测,所述预测指示所述入选有条件非分支ECNB指令将不会执行 |
D4 (US20010032308A1) 段落 [0025], [0049] |
毫无异议公开 | D4公开了处理器获取“谓词指令”(Predicated instruction,即有条件非分支指令,如IF-THEN指令)。[0049]段明确指出根据PPV(预测谓词值)进行预测,如果PPV为False(指示不会执行),则应用该预测。 |
| 特征B:响应于所述ECNB指令将不会执行的所述预测,将所述ECNB指令作为无操作NOP指令执行,其中,比较评估准则值与ECNB指令执行状态计数器的计数值输出以启用所述预测 |
D4 (US20010032308A1) 段落 [0049], [0060]-[0061] |
实质公开 | D4在[0049]段明确公开了“If the PPV is false, the instruction is treated like a no-op”(如果预测为假,指令被当作无操作指令处理)。同时,[0060]-[0061]段公开了判断置信度值(CV)是否小于特定阈值(threshold value,即评估准则值),如果CV >= 阈值,则启用预测。D4的CV计数器实质上起到了状态计数器的作用。 |
| 特征C:其中所述ECNB指令执行状态计数器在强力指示了所述ECNB指令的先前所尝试执行未被执行的计数值下饱和。 |
D4 段落 [0054]-[0058] D3 (JP2000322257A) 段落 [0005], 图10 |
由D4+D3实质公开/显而易见 | D4公开了带有饱和机制的计数器([0054]段:with saturation at both ends)。虽然D4的计数器状态(00至11)主要表征“置信度”,但使用2位饱和计数器来表征“强烈不执行(Strongly not taken)”是本领域极度常规的技术手段。D3在[0005]段和图10中极其明确地公开了用于指令预测的2位状态机,包含“強い不成立予測状態”(强烈不成立/不执行状态)。两者结合不存在任何技术障碍。 |
在提出无效请求时,权利要求1中最薄弱的技术特征是“特征C”(ECNB指令执行状态计数器在强力指示了未被执行的计数值下饱和)。
薄弱原因与无效逻辑:
D4已覆盖核心发明点:目标专利的核心贡献(特征A和特征B:识别有条件非分支指令 -> 预测不执行 -> 视作NOP -> 用阈值控制预测启用)已经被D4以几近相同的方式(谓词指令 -> PPV预测为False -> 视作no-op -> CV与阈值比较)完全揭示。
特征C仅为公知常识的简单替换:专利权人如果在口审中试图通过特征C进行答辩(例如强调D4的CV是“置信度”而不是直接的“执行状态饱和”,或者D4的状态不是“强力指示未执行”),这是极其脆弱的。因为利用2位双峰饱和计数器(Bimodal Saturating Counter),并将其状态定义为“强力执行(11)”、“弱执行(10)”、“弱不执行(01)”、“强力不执行(00)”,是计算机体系结构中分支/条件预测的最经典基础方案。
结合文献打击:**D3(JP2000322257A)**的图10和[0005]段明确教导了这种具有“强烈不成立预测状态(Strongly not taken)”的4状态/2位饱和计数器机制。将D3中常规的饱和计数器状态定义直接应用于D4的预测逻辑中,以实现对ECNB指令执行历史的跟踪,对于本领域技术人员而言属于常规设计(Design Choice),无法带来预料不到的技术效果。因此,使用 D4 结合 D3(或D2) 即可形成一条极为坚实的创造性打击链条,特征C极易被攻破。
这份专利无效分析需要极高的技术严谨性与针对性。结合目标专利说明书的教导,我们首先对权利要求进行解释,随后通过特征比对表格深入剖析对比文件(D1、D2)的公开情况,并最终确立最接近的对比文件及无效请求的突破口。
权利要求1保护的是一种用于处理“有条件非分支指令(ECNB)”的预测及执行方法。
结合说明书 [0003]-[0005] 段的记载,背景技术中处理器执行有条件分支指令会引起管线停顿,引入了有条件非分支指令来缓解。但如果评估后该非分支指令不执行,依然会白白消耗资源(如提取寄存器操作数等)。
因此,本专利的核心发明点在于:
预测对象: 识别入选的“有条件非分支指令(ECNB)”。
预测动作与结果: 预测该指令“将不会执行”。一旦预测其不执行,就在管线中将其作为**“无操作NOP指令”**执行(不读取通用寄存器或存取存储器,见说明书[0033]),从而节省功耗、提升性能。
预测的触发条件(硬件逻辑): 使用一个“ECNB指令执行状态计数器”。只有当该计数器的计数值达到“饱和”(例如说明书[0037]中提到的“00”输出,强力指示先前尚未执行),并且将其与评估准则值进行比较符合条件时,才启用上述预测。
对比文件指代:
D1: JP2000322257A (2000-11-24_JP2000322257A_发明专利_JP2000322257A)
D2: US20010032308A1 (2001-10-18_US2001032308A_发明申请_US20010032308A1)
| 权利要求1技术特征 | D1 (JP2000322257A) 公开情况及出处 | D2 (US20010032308A1) 公开情况及出处 |
|
技术特征A: 所述方法包含:将有条件非分支指令识别为入选以用于预测,所述预测指示所述入选有条件非分支ECNB指令将不会执行 |
未公开。 D1全篇针对的是“条件分岐命令”(有条件分支指令),而非权利要求限定的“有条件非分支指令”。 出处:[0001] 本発明は条件分岐命令の投機的実行制御方法に関し... |
毫无异议公开。 D2明确公开了对谓词指令(Predicated instruction,即有条件非分支指令)进行谓词预测,并能预测其为False(即不执行)。 出处:[0008] The second instruction, IF (P) THEN c=d+e, includes two parts... predicates... the second part on the value of predicate P. [0049] Within pipeline 373... the predicated IF-THEN instruction is conditionally executed depending on the PPV. |
|
技术特征B: 响应于所述ECNB指令将不会执行的所述预测,将所述ECNB指令作为无操作NOP指令执行,其中,比较评估准则值与ECNB指令执行状态计数器的计数值输出以启用所述预测 |
未公开。 D1在预测置信度低时采取的动作是“待机”(暂停投机执行),而不是将其作为NOP指令执行。 出处:[0017] ...分岐条件確定待機が選択されたときには、条件分岐命令の分岐条件が確定するまで当該条件分岐命令の後続命令の投機的実行を抑止する... |
毫无异议公开。 D2公开了若预测值为False,则将指令视为no-op执行;且D2通过比较置信度值(CV)与阈值来决定是否启用预测。 出处:[0049] If the PPV is false, the instruction is treated like a no-op... [0060]-[0061] it is determined if a confidence value is less than a particular threshold value... If... not less... then the predicate is predicted... |
|
技术特征C: 其中所述ECNB指令执行状态计数器在强力指示了所述ECNB指令的先前所尝试执行未被执行的计数值下饱和。 |
实质公开了类似硬件逻辑,但对象不同。 D1公开了2位饱和计数器(4个状态),包含“強い不成立予測状態”(强不成立预测状态,即饱和状态),但用于分支指令。 出处:[0005] 図10では、強い成立予測状態21... および強い不成立予測状態24の4状態で... |
实质公开。 D2公开了用于记录谓词历史和置信度的计数器机制,且在连续预测正确时置信度会达到饱和(如状态11,高置信度)。结合PPV=0(不执行),即相当于状态计数器饱和在强力指示不执行的状态。 出处:[0054]-[0058] incremented with every correct prediction... and is decremented with every incorrect prediction... with saturation at both ends. |
从整体解决的技术问题以及技术效果来看,D2 是绝佳的最接近的对比文件。
技术领域与解决的客观技术问题: 目标专利解决的是“有条件非分支指令”在判定不执行时仍占用管线资源的问题。D1解决的是“有条件分支指令”预测失败导致管线冲刷(Pipeline Flush)带来的功耗浪费问题。而D2解决的恰恰是“谓词指令(Predicated instruction,计算机体系结构中即指有条件非分支指令)”的执行预测问题。
技术效果: 目标专利通过将预测不执行的指令转为NOP,达到不读取寄存器/不存取存储器从而提升性能的效果。D2在 [0049] 段落中明确记载了“If the PPV is false, the instruction is treated like a no-op”,两者达到的技术效果完全一致。
结论: D1由于指令类型的根本差异(分支 vs. 非分支),在创造性评理中不适合作为主证。D2在发明构思、指令操作对象、硬件状态机判断逻辑以及最终作为NOP执行的手段上,与权利要求1高度吻合。
严格来说,D2 几乎公开了权利要求1的全部特征。唯一可能存在争议的微小文字差异在于技术特征C中关于“ECNB指令执行状态计数器”的具体表述。
目标专利使用的是一个融合的“ECNB指令执行状态计数器”,其特定的饱和值(如00)直接代表“强力指示不执行”。
D2 使用的是解耦的两个变量:预测谓词值(PPV,记录是1还是0)和置信度值(CV,记录饱和度)。在D2的图4状态机中,当PPV=0且CV饱和在11时,其等效于目标专利的“强力指示未执行下饱和”。
虽然存在上述极微小的结构对应差异,但这属于本领域技术人员基于D2状态机逻辑的惯用手段替换。D1在此处无需作为补充,因为D2自身的状态机机制已经足以破坏该特征的创造性。
若以此撰写无效请求,最薄弱的技术特征(即专利权人最可能进行争辩的防线)是技术特征B与C中关于硬件计数值逻辑的联合限定:
“比较评估准则值与ECNB指令执行状态计数器的计数值输出以启用所述预测,其中所述ECNB指令执行状态计数器在强力指示了所述ECNB指令的先前所尝试执行未被执行的计数值下饱和。”
无效攻防预判:
专利权人必然会紧抓D2中PPV(预测值)与CV(置信度)分离的架构,主张D2并没有一个单一的“执行状态计数器”其计数值直接等于“评估准则值”的比较对象,且D2的CV计数器只是指示“置信度”而非“执行/未执行状态”。
我们的反击策略:
在撰写无效宣告请求书时,应重点将D2的 图4状态机(State Diagram FIG. 4) 整体解释为权利要求1所述的“ECNB指令执行状态计数器”。指出D2在 [0054] 段落明确记载了使用“counter”来修改CV,且具有“saturation at both ends”。PPV与CV的联合逻辑输出实质上构成了对历史执行状态的计数评估,本领域技术人员为了硬件实现的便利,将PPV的0/1状态与CV的饱和度合并为一个单一计数器的不同比特位(如目标专利[0037]段中的两位计数器“00”、“01”、“10”、“11”),属于显而易见的常规硬件设计选择,不具备突出的实质性特点和显著的进步。
无效宣告请求书(具体理由部分)
一、 提出无效宣告请求的法律依据
本无效宣告请求书针对目标专利(下称“本专利”)的权利要求1提出。请求人认为,本专利权利要求1所限定的技术方案已被现有技术公开,或属于本领域技术人员在现有技术基础上的显而易见的设计,不符合《中华人民共和国专利法》第二十二条第三款关于创造性的规定,依法应予宣告无效。
二、 证据目录
证据1: US20010032308A1(“Method and apparatus for performing predicate prediction”),公开日2001年10月18日。
证据2: JP2000322257A(“Speculative execution control method for conditional branch instruction”),公开日2000年11月24日。
三、 宣告无效的具体理由
证据1(D2)与本专利属于相同的技术领域,均涉及处理器对指令执行的预测控制,特别是针对有条件非分支指令(Predicated instruction / 谓词指令)的预测机制。证据1整体上公开了与本专利高度重合的技术方案,适合作为评定本专利创造性的最接近的对比文件。
证据1毫无异议公开或实质公开了权利要求1的绝大部分技术特征,具体比对如下表所示:
| 权利要求1技术特征 | 证据1(US20010032308A1)的公开内容与原文引证 | 事实认定 |
|
【技术特征A】 一种用于不执行已发出的有条件非分支指令的方法,所述方法包含:将有条件非分支指令识别为入选以用于预测,所述预测指示所述入选有条件非分支ECNB指令将不会执行; |
原文引证: 1. 段落[0008]:The second instruction, IF (P) THEN c=d+e, includes two parts... predicates (or conditions) the second part... on the value of predicate P. 2. 段落[0010]:A predicted predicate value for a predicate is determined. A predicated instruction is then conditionally executed depending on the predicted predicate value. 3. 段落[0049]:Within pipeline 373... the predicated IF-THEN instruction is conditionally executed depending on the PPV. |
毫无异议公开。 证据1中的“predicated instruction”即本领域的“有条件非分支指令”。证据1公开了对该指令进行预测(预测PPV的值),且明确包含预测其值为False(即指示不会执行)的情况。 |
|
【技术特征B】 以及响应于所述ECNB指令将不会执行的所述预测,将所述ECNB指令作为无操作NOP指令执行,其中,比较评估准则值与ECNB指令执行状态计数器的计数值输出以启用所述预测, |
原文引证: 1. 段落[0049]:If the PPV is false, the instruction is treated like a no-op... 2. 段落[0060]:it is determined if a confidence value is less than a particular threshold value. 3. 段落[0061]:If the confidence value is less than the threshold value, the execution of the instruction is stalled... If, however, the confidence value is not less than the threshold value... then the predicate is predicted to be the predicted predicate value... |
毫无异议公开。 证据1明确记载了当预测值(PPV)为false时,将指令作为no-op(无操作指令)执行;且明确公开了将置信度值(confidence value)与特定阈值(threshold value,即评估准则值)进行比较,若不小于阈值则启用预测。 |
|
【技术特征C】 其中所述ECNB指令执行状态计数器在强力指示了所述ECNB指令的先前所尝试执行未被执行的计数值下饱和。 |
原文引证: 1. 段落[0054]:This embodiment may be implemented using a counter to modify the CV wherein the CV is incremented with every correct prediction... and is decremented with every incorrect prediction... with saturation at both ends. 2. 段落[0058]:In state 415 of FIG. 4, the CV is 11 and, for this embodiment, a CV of 11 indicates a high confidence in the PPV. |
实质公开。 证据1使用“计数器(counter)”记录置信度(CV),并在两端饱和。当历史执行记录强力指示指令未执行时(即PPV稳定为0,且预测连续正确),CV计数器达到饱和值(如11,代表高置信度)。这实质等同于本专利的“强力指示未执行下饱和”。 |
经上述比对,权利要求1与证据1可能存在的唯一争议点(区别技术特征)在于文字表述的微小差异:本专利使用一个综合的“ECNB指令执行状态计数器”其计数值直接指示“强力未执行”;而证据1在实施例中(图4状态机)从逻辑上解耦了预测值(PPV,记录1或0)与置信度计数器(CV,记录饱和度)。
1. 实际解决的技术问题:
提供一种硬件状态记录与评估机制,以确保只有在历史执行情况具有高置信度时才启用预测。
2. 结合启示与显而易见性论述:
首先,证据1的实质技术逻辑已经完整覆盖了该区别特征。证据1中PPV=0(指示不执行)且CV计数器达到上限饱和(指示强力/高置信度)的组合逻辑,在硬件实现与实际物理效果上,与本专利所述的“在强力指示了未执行的计数值下饱和”没有任何实质性区别。
其次,对于本领域的普通技术人员而言,在计算机体系结构的硬件设计中,将“状态变量(0/1)”与“置信度计数器”合并设计为一个单一的多位计数器(例如将状态编码为00代表强力不执行,01代表较弱不执行,10代表较弱执行,11代表强力执行),或者拆分为两个独立寄存器,仅仅是极为常规的逻辑门和状态机设计选择(Routine design choice)。这种简单的硬件整合并未带来任何预料不到的技术效果,属于本领域技术人员的惯用技术手段。
退一步讲,即使合议组认为证据1中PPV与CV的组合未能完全等同于本专利所述的单一且饱和的“执行状态计数器”,证据2(JP2000322257A)的引入将彻底摧毁该特征的任何创造性空间。
证据2在其说明书 [0005] 段落明确公开了:
“図10では、強い成立予測状態21,弱い成立予測状態22,弱い不成立予測状態23,および強い不成立予測状態24の4状態で分岐予測を行い...” (在图10中,以强成立预测状态21、弱成立预测状态22、弱不成立预测状态23以及强不成立预测状态24这4种状态进行分支预测...)。
补强论述:
证据2明确教导了在指令预测领域(尽管其针对分支指令),业界早已广泛使用具有4个状态的2位饱和计数器。其中,“強い不成立予測状態”(强不成立预测状态)这一计数值,正是本专利权利要求1中“强力指示了...未被执行的计数值下饱和”的完美对应。
面对证据1中已有的谓词指令(有条件非分支指令)预测框架,本领域技术人员为了优化记录硬件,完全有动机借鉴同属指令预测领域的证据2中的“4状态饱和计数器”机制(将独立的状态与置信度整合为一个2位饱和计数器)。将证据2中成熟的“强力不执行下饱和”的计数器机制平移应用于证据1的非分支指令预测中,不存在任何技术障碍,是顺理成章的技术演进。
四、 结论
综上所述,本专利权利要求1的核心技术方案——识别有条件非分支指令、通过计数器比较评估准则、预测不执行并作为NOP指令执行——已被证据1毫无异议地公开。其关于状态计数器饱和的具体限定,既属于证据1实质公开的范畴,也属于结合证据1、证据2及本领域公知常识容易想到的显而易见的设计。
本专利权利要求1不具备突出的实质性特点和显著的进步,不符合《专利法》第二十二条第三款的规定。请求国家知识产权局依法宣告本专利权利要求1无效。
意见陈述书(专利权人针对无效宣告请求的答辩)
一、 答辩总体意见
专利权人认为,无效宣告请求人(下称“请求人”)对本专利权利要求1以及对比文件1(D2,US20010032308A1)的技术方案存在严重的误读,甚至将完全不同的硬件逻辑混为一谈。本专利权利要求1所限定的技术方案具有突出的实质性特点和显著的进步,具备《专利法》第二十二条第三款规定的创造性。请求合议组依法维持本专利权利要求1全部有效。
二、 针对具体无效理由的详细反驳
请求人主张证据1中的“PPV(预测值)与CV(置信度计数器)的组合”等同于本专利的“ECNB指令执行状态计数器”,这是对计算机底层硬件架构设计的根本性误解。证据1并未公开或实质公开权利要求1中的【技术特征C】。
1. 证据1的CV计数器记录的是“预测准确率(对/错)”,而非“执行状态(执行/不执行)”
仔细研读证据1段落 [0054] 可知,证据1的CV(Confidence Value)计数器是这样工作的:
“the CV is incremented with every correct prediction... and is decremented with every incorrect prediction...”
这明确说明,证据1的计数器递增/递减的触发条件是预测是否正确。当CV达到饱和(例如11)时,它仅仅表示**“高置信度(即系统强烈认为预测是对的)”**。
如果此时PPV=1,CV=11表示“强烈确信该指令会被执行”。
如果此时PPV=0,CV=11表示“强烈确信该指令不会执行”。
由此可见,证据1的CV计数器本身绝对无法指示指令是“被执行”还是“未被执行”。
2. 本专利的“ECNB指令执行状态计数器”具有本质不同的技术逻辑
本专利权利要求1明确限定了:“所述ECNB指令执行状态计数器在强力指示了所述ECNB指令的先前所尝试执行未被执行的计数值下饱和。”
这意味着,本专利的单一计数器的计数值直接与指令的“执行/不执行”状态强绑定。例如(结合本专利说明书[0037]段),计数器在一端饱和(如00)直接代表“强力未执行”,在另一端饱和(如11)直接代表“强力已执行”。
3. 结论:证据1未公开技术特征C
证据1必须同时读取PPV寄存器的值和CV计数器的值,并通过额外的逻辑门组合,才能推导出指令的状态。证据1中不存在任何一个“计数值直接饱和在强力未执行状态”的计数器。因此,证据1既没有字面公开,也没有实质公开权利要求1的技术特征B和C中关于单一执行状态计数器的硬件限定。
请求人主张“将状态变量(PPV)与置信度计数器(CV)合并设计为一个多位计数器是常规设计选择”,该主张是典型的事后诸葛亮(Hindsight),在技术上完全站不住脚。
1. 硬件架构的“融合”与“解耦”解决的是完全不同的技术问题
证据1明确采用了**“状态与置信度解耦”的架构(图4状态机)。解耦的好处在于可以独立更新预测值和置信度,这是一种基于“分支目标缓冲(BTB)和预测器”分离的经典设计。 而本专利采用的是“状态融合”架构,通过一个计数器的递增/递减直接反映执行倾向。这种设计省去了对比文件1中必须维护PPV和CV两个独立硬件结构的开销**,同时省去了后续判断时需要将PPV和CV进行逻辑“与/或”运算的组合逻辑电路。
2. 技术效果的显著提升
在对功耗和面积极其敏感的现代处理器管线(Pipeline)中,减少读取端口、降低逻辑门级数是极具挑战的。本专利通过一个整合的“ECNB指令执行状态计数器”,使得处理器只需在解码级(Decode Stage)读取一个硬件计数值并与评估准则进行一次简单比较,即可迅速决定是否将指令转为NOP(无操作指令)。这种架构不仅极大简化了预测与固定逻辑电路(说明书[0033]),还进一步降低了处理器的功耗。这显然不是“未带来预料不到的技术效果的常规选择”。
请求人试图引入证据2的“4状态2位饱和计数器”来填补证据1的空白。然而,证据1与证据2之间不存在技术结合的启示,且结合后也无法得到本专利的技术方案。
1. 处理对象与技术领域的根本差异阻断了结合启示
证据2(D1) 针对的是有条件分支指令(Conditional Branch Instruction)。分支指令的作用是改变程序计数器(Program Counter, PC),影响的是控制流。分支预测失败会导致指令预取错误,需要清空整个前端管线(Pipeline Flush)。
证据1(D2)与本专利 针对的是有条件非分支指令(Conditional Non-branch Instruction / Predicated Instruction)。这类指令不改变控制流,只影响数据路径(Data Path)。
证据1本身已经拥有一套完整且自洽的、专门针对“谓词指令(非分支指令)”的PPV+CV解耦预测机制。本领域技术人员在面对证据1时,没有任何动机去拆解其核心的解耦状态机,并强行植入证据2中用于控制流分支预测的紧耦合饱和计数器。因为两者的管线处理阶段、更新时机以及出错后的恢复代价完全不同。
2. 即使生硬结合,也无法得到权利要求1
退一万步讲,即便将证据2的2位计数器强行移植到证据1中,所得出的方案依然是用于“分支预测(Branch Prediction)”。而本专利权利要求1明确限定的是“**ECNB(有条件非分支)**指令执行状态计数器”。将用于A指令的硬件生搬硬套到处理B指令的专利上,并声称其破坏了针对B指令发明的创造性,这违背了创造性评判中“整体对比”的基本原则。
三、 结语
综上所述,请求人的无效理由完全建立在对底层硬件计数器逻辑的混淆之上。证据1的“置信度计数器”绝非本专利的“执行状态计数器”,两者在状态机逻辑、硬件开销和技术效果上有着本质区别。请求人试图用事后拼凑的方式,将用于分支指令的证据2与用于非分支指令的证据1强行结合,缺乏事实依据与结合启示。
本专利权利要求1通过精巧的硬件状态计数器设计,有效解决了有条件非分支指令在处理器管线中的资源浪费问题,具备突出的实质性特点和显著的进步。恳请国家知识产权局合议组查明事实,驳回请求人的全部无效宣告请求,维持本专利权全部有效。
意见陈述书(专利权人针对无效宣告请求的答辩)
一、 答辩总体意见
专利权人认为,无效宣告请求人(下称“请求人”)对本专利权利要求1以及对比文件1(D2,US20010032308A1)的技术方案存在严重的误读,甚至将完全不同的硬件逻辑混为一谈。本专利权利要求1所限定的技术方案具有突出的实质性特点和显著的进步,具备《专利法》第二十二条第三款规定的创造性。请求合议组依法维持本专利权利要求1全部有效。
二、 针对具体无效理由的详细反驳
请求人主张证据1中的“PPV(预测值)与CV(置信度计数器)的组合”等同于本专利的“ECNB指令执行状态计数器”,这是对计算机底层硬件架构设计的根本性误解。证据1并未公开或实质公开权利要求1中的【技术特征C】。
1. 证据1的CV计数器记录的是“预测准确率(对/错)”,而非“执行状态(执行/不执行)”
仔细研读证据1段落 [0054] 可知,证据1的CV(Confidence Value)计数器是这样工作的:
“the CV is incremented with every correct prediction... and is decremented with every incorrect prediction...”
这明确说明,证据1的计数器递增/递减的触发条件是预测是否正确。当CV达到饱和(例如11)时,它仅仅表示**“高置信度(即系统强烈认为预测是对的)”**。
如果此时PPV=1,CV=11表示“强烈确信该指令会被执行”。
如果此时PPV=0,CV=11表示“强烈确信该指令不会执行”。
由此可见,证据1的CV计数器本身绝对无法指示指令是“被执行”还是“未被执行”。
2. 本专利的“ECNB指令执行状态计数器”具有本质不同的技术逻辑
本专利权利要求1明确限定了:“所述ECNB指令执行状态计数器在强力指示了所述ECNB指令的先前所尝试执行未被执行的计数值下饱和。”
这意味着,本专利的单一计数器的计数值直接与指令的“执行/不执行”状态强绑定。例如(结合本专利说明书[0037]段),计数器在一端饱和(如00)直接代表“强力未执行”,在另一端饱和(如11)直接代表“强力已执行”。
3. 结论:证据1未公开技术特征C
证据1必须同时读取PPV寄存器的值和CV计数器的值,并通过额外的逻辑门组合,才能推导出指令的状态。证据1中不存在任何一个“计数值直接饱和在强力未执行状态”的计数器。因此,证据1既没有字面公开,也没有实质公开权利要求1的技术特征B和C中关于单一执行状态计数器的硬件限定。
请求人主张“将状态变量(PPV)与置信度计数器(CV)合并设计为一个多位计数器是常规设计选择”,该主张是典型的事后诸葛亮(Hindsight),在技术上完全站不住脚。
1. 硬件架构的“融合”与“解耦”解决的是完全不同的技术问题
证据1明确采用了**“状态与置信度解耦”的架构(图4状态机)。解耦的好处在于可以独立更新预测值和置信度,这是一种基于“分支目标缓冲(BTB)和预测器”分离的经典设计。 而本专利采用的是“状态融合”架构,通过一个计数器的递增/递减直接反映执行倾向。这种设计省去了对比文件1中必须维护PPV和CV两个独立硬件结构的开销**,同时省去了后续判断时需要将PPV和CV进行逻辑“与/或”运算的组合逻辑电路。
2. 技术效果的显著提升
在对功耗和面积极其敏感的现代处理器管线(Pipeline)中,减少读取端口、降低逻辑门级数是极具挑战的。本专利通过一个整合的“ECNB指令执行状态计数器”,使得处理器只需在解码级(Decode Stage)读取一个硬件计数值并与评估准则进行一次简单比较,即可迅速决定是否将指令转为NOP(无操作指令)。这种架构不仅极大简化了预测与固定逻辑电路(说明书[0033]),还进一步降低了处理器的功耗。这显然不是“未带来预料不到的技术效果的常规选择”。
请求人试图引入证据2的“4状态2位饱和计数器”来填补证据1的空白。然而,证据1与证据2之间不存在技术结合的启示,且结合后也无法得到本专利的技术方案。
1. 处理对象与技术领域的根本差异阻断了结合启示
证据2(D1) 针对的是有条件分支指令(Conditional Branch Instruction)。分支指令的作用是改变程序计数器(Program Counter, PC),影响的是控制流。分支预测失败会导致指令预取错误,需要清空整个前端管线(Pipeline Flush)。
证据1(D2)与本专利 针对的是有条件非分支指令(Conditional Non-branch Instruction / Predicated Instruction)。这类指令不改变控制流,只影响数据路径(Data Path)。
证据1本身已经拥有一套完整且自洽的、专门针对“谓词指令(非分支指令)”的PPV+CV解耦预测机制。本领域技术人员在面对证据1时,没有任何动机去拆解其核心的解耦状态机,并强行植入证据2中用于控制流分支预测的紧耦合饱和计数器。因为两者的管线处理阶段、更新时机以及出错后的恢复代价完全不同。
2. 即使生硬结合,也无法得到权利要求1
退一万步讲,即便将证据2的2位计数器强行移植到证据1中,所得出的方案依然是用于“分支预测(Branch Prediction)”。而本专利权利要求1明确限定的是“**ECNB(有条件非分支)**指令执行状态计数器”。将用于A指令的硬件生搬硬套到处理B指令的专利上,并声称其破坏了针对B指令发明的创造性,这违背了创造性评判中“整体对比”的基本原则。
三、 结语
综上所述,请求人的无效理由完全建立在对底层硬件计数器逻辑的混淆之上。证据1的“置信度计数器”绝非本专利的“执行状态计数器”,两者在状态机逻辑、硬件开销和技术效果上有着本质区别。请求人试图用事后拼凑的方式,将用于分支指令的证据2与用于非分支指令的证据1强行结合,缺乏事实依据与结合启示。
本专利权利要求1通过精巧的硬件状态计数器设计,有效解决了有条件非分支指令在处理器管线中的资源浪费问题,具备突出的实质性特点和显著的进步。恳请国家知识产权局合议组查明事实,驳回请求人的全部无效宣告请求,维持本专利权全部有效。
无效宣告请求人补充意见陈述书(针对专利权人答辩意见的反驳)
一、 总体反驳意见
专利权人的答辩意见在逻辑上存在两个致命缺陷:第一,违背了权利要求解释的基本原则,试图将说明书中的具体实施方式(如“单一的、融合的2位计数器”、“减少读取端口”)强行“读入”权利要求1中,以此人为制造区别特征;第二,刻意割裂了现有技术的内在联系,无视了证据1(D2)中已经给出的明确结合启示。
请求人坚持认为,本专利权利要求1的范围已被证据1实质公开,或者至少是结合证据1、证据2及本领域常规设计手段显而易见得出的,不具备创造性。
二、 针对专利权人具体答辩的详细反驳
专利权人辩称证据1的CV计数器只记录“预测准确率”,PPV记录“预测值”,两者解耦,因此不存在本专利中“直接指示执行状态”的计数器。这完全是文字游戏和对硬件状态机的曲解。
1. 专利权人违反了权利要求解释规则,将说明书限制读入权利要求
审查权利要求1时,必须以其字面记载为准。权利要求1仅限定了“ECNB指令执行状态计数器”,并未限定该计数器在底层物理电路上必须是“绝对单一的寄存器”,也未限定不能由PPV和CV联合表征。专利权人主张本专利的架构“省去了独立硬件结构的开销、减少了读取端口”,但这些所谓的“技术效果”和“硬件结构限制”在权利要求1中根本找不到任何依据。以说明书的特定实施例来限缩权利要求保护范围,在无效程序中是绝对不被允许的。
2. 证据1的图4状态机(State Machine)就是一个完整的“执行状态计数器”
在数字逻辑和计算机体系结构中,计数器(Counter)本质上就是一种状态机。证据1的图4完整展示了一个状态机:当系统处于状态415(CV=11)且PPV=0时,这个整体的硬件状态所表达的物理含义就是“历史执行记录强力指示该指令未执行”。这完全落入了权利要求1“执行状态计数器在强力指示了未被执行的计数值下饱和”的文字保护范围。专利权人试图将一个整体的状态机强行拆分为两个孤立的变量,从而否认其整体功能,这是对现有技术的不客观评价。
即使退一步,认可权利要求1隐含了“融合为一个计数器”的限定,这依然是本领域的常规设计(Routine Design Choice)。
在数字电路设计中,如何对状态进行编码(State Encoding)是大学本科级别的基础知识。
方案A(证据1解耦式):用1 bit表示状态(0/1),用2 bit表示置信度饱和情况(00至11)。
方案B(本专利融合式):直接用2 bit表示状态及饱和情况(00强力不执行,01弱不执行,10弱执行,11强力执行)。
从数学逻辑和数字电路上看,方案A和方案B是完全等价的同构映射。本领域技术人员在设计硬件时,根据总线宽度、逻辑门库(Gate Library)的特性,在这两种等价的编码方式之间进行切换,是极其常规的技术手段。专利权人宣称这种基础的状态编码切换带来了“显著提升”、“极大简化”,属于毫无数据支撑的夸大其词,根本无法构成突出的实质性特点。
专利权人最核心的防线在于:证据1是“非分支指令(谓词指令)”,证据2是“分支指令”,两者控制流不同,所以绝对没有结合启示。这一主张被证据1本身的明文记载彻底击碎。
1. 证据1明文给出了借鉴“分支预测技术”的明确教导
请合议组审查证据1(D2)的第 [0046] 段,原文清楚地记载:
"For another embodiment of the present invention, the historical information may include additional bits, and predicate prediction calculator 372 of FIG. 3B may use these bits in conjunction with branch prediction techniques to provide for a more accurate PPV. For example, a two bit up-down counter or bimodal prediction technique may be used..."
(译文:在本发明的另一个实施例中,历史信息可以包括附加位,并且图3B的谓词预测计算器372可以结合分支预测技术使用这些位以提供更准确的PPV。 例如,可以使用两比特上下计数器或双模预测技术...)
证据1(针对非分支指令)的原作者已经明确且直接地告诉本领域技术人员:为了提高预测准确率,你们应该去使用“分支预测技术(branch prediction techniques)”中的“两比特计数器(two bit up-down counter)”!
2. 专利权人的“领域隔离论”不攻自破
证据1第[0046]段的这段记载,是极其罕见且有力的“显式结合启示”。它直接戳破了专利权人所谓的“分支指令与非分支指令预测机制不可混用、没有结合动机”的谎言。
本领域技术人员在阅读证据1时,看到第[0046]段的指引,自然会去寻找现有的优秀“分支预测两比特计数器”方案,此时必然会检索到同领域的经典文件——证据2(D1)。将证据2中成熟的“4状态2比特分支预测饱和计数器”(强成立/弱成立/弱不成立/强不成立)直接用于证据1的谓词预测中,不仅是显而易见的,更是证据1原文强烈建议的设计方向。
三、 结语
专利权人的答辩意见充满了对权利要求的不当限缩以及对现有技术的割裂。事实是:
证据1的整体硬件状态机已经实质公开了权利要求1的所有特征。
即使算作区别特征,“融合编码”与“解耦编码”也只是数字电路极其常规的替换。
最关键的是,证据1第[0046]段明确指出了将“分支预测的2位计数器机制”(证据2)引入“非分支指令预测”的技术路径,这构成了无懈可击的结合启示。
综上所述,本专利权利要求1的创造性完全被证据1单独,或证据1与证据2的结合所破坏。请求合议组支持请求人的主张,宣告本专利权利要求1无效。
无效宣告请求人补充意见陈述书(针对专利权人答辩意见的反驳)
一、 总体反驳意见
专利权人的答辩意见在逻辑上存在两个致命缺陷:第一,违背了权利要求解释的基本原则,试图将说明书中的具体实施方式(如“单一的、融合的2位计数器”、“减少读取端口”)强行“读入”权利要求1中,以此人为制造区别特征;第二,刻意割裂了现有技术的内在联系,无视了证据1(D2)中已经给出的明确结合启示。
请求人坚持认为,本专利权利要求1的范围已被证据1实质公开,或者至少是结合证据1、证据2及本领域常规设计手段显而易见得出的,不具备创造性。
二、 针对专利权人具体答辩的详细反驳
专利权人辩称证据1的CV计数器只记录“预测准确率”,PPV记录“预测值”,两者解耦,因此不存在本专利中“直接指示执行状态”的计数器。这完全是文字游戏和对硬件状态机的曲解。
1. 专利权人违反了权利要求解释规则,将说明书限制读入权利要求
审查权利要求1时,必须以其字面记载为准。权利要求1仅限定了“ECNB指令执行状态计数器”,并未限定该计数器在底层物理电路上必须是“绝对单一的寄存器”,也未限定不能由PPV和CV联合表征。专利权人主张本专利的架构“省去了独立硬件结构的开销、减少了读取端口”,但这些所谓的“技术效果”和“硬件结构限制”在权利要求1中根本找不到任何依据。以说明书的特定实施例来限缩权利要求保护范围,在无效程序中是绝对不被允许的。
2. 证据1的图4状态机(State Machine)就是一个完整的“执行状态计数器”
在数字逻辑和计算机体系结构中,计数器(Counter)本质上就是一种状态机。证据1的图4完整展示了一个状态机:当系统处于状态415(CV=11)且PPV=0时,这个整体的硬件状态所表达的物理含义就是“历史执行记录强力指示该指令未执行”。这完全落入了权利要求1“执行状态计数器在强力指示了未被执行的计数值下饱和”的文字保护范围。专利权人试图将一个整体的状态机强行拆分为两个孤立的变量,从而否认其整体功能,这是对现有技术的不客观评价。
即使退一步,认可权利要求1隐含了“融合为一个计数器”的限定,这依然是本领域的常规设计(Routine Design Choice)。
在数字电路设计中,如何对状态进行编码(State Encoding)是大学本科级别的基础知识。
方案A(证据1解耦式):用1 bit表示状态(0/1),用2 bit表示置信度饱和情况(00至11)。
方案B(本专利融合式):直接用2 bit表示状态及饱和情况(00强力不执行,01弱不执行,10弱执行,11强力执行)。
从数学逻辑和数字电路上看,方案A和方案B是完全等价的同构映射。本领域技术人员在设计硬件时,根据总线宽度、逻辑门库(Gate Library)的特性,在这两种等价的编码方式之间进行切换,是极其常规的技术手段。专利权人宣称这种基础的状态编码切换带来了“显著提升”、“极大简化”,属于毫无数据支撑的夸大其词,根本无法构成突出的实质性特点。
专利权人最核心的防线在于:证据1是“非分支指令(谓词指令)”,证据2是“分支指令”,两者控制流不同,所以绝对没有结合启示。这一主张被证据1本身的明文记载彻底击碎。
1. 证据1明文给出了借鉴“分支预测技术”的明确教导
请合议组审查证据1(D2)的第 [0046] 段,原文清楚地记载:
"For another embodiment of the present invention, the historical information may include additional bits, and predicate prediction calculator 372 of FIG. 3B may use these bits in conjunction with branch prediction techniques to provide for a more accurate PPV. For example, a two bit up-down counter or bimodal prediction technique may be used..."
(译文:在本发明的另一个实施例中,历史信息可以包括附加位,并且图3B的谓词预测计算器372可以结合分支预测技术使用这些位以提供更准确的PPV。 例如,可以使用两比特上下计数器或双模预测技术...)
证据1(针对非分支指令)的原作者已经明确且直接地告诉本领域技术人员:为了提高预测准确率,你们应该去使用“分支预测技术(branch prediction techniques)”中的“两比特计数器(two bit up-down counter)”!
2. 专利权人的“领域隔离论”不攻自破
证据1第[0046]段的这段记载,是极其罕见且有力的“显式结合启示”。它直接戳破了专利权人所谓的“分支指令与非分支指令预测机制不可混用、没有结合动机”的谎言。
本领域技术人员在阅读证据1时,看到第[0046]段的指引,自然会去寻找现有的优秀“分支预测两比特计数器”方案,此时必然会检索到同领域的经典文件——证据2(D1)。将证据2中成熟的“4状态2比特分支预测饱和计数器”(强成立/弱成立/弱不成立/强不成立)直接用于证据1的谓词预测中,不仅是显而易见的,更是证据1原文强烈建议的设计方向。
三、 结语
专利权人的答辩意见充满了对权利要求的不当限缩以及对现有技术的割裂。事实是:
证据1的整体硬件状态机已经实质公开了权利要求1的所有特征。
即使算作区别特征,“融合编码”与“解耦编码”也只是数字电路极其常规的替换。
最关键的是,证据1第[0046]段明确指出了将“分支预测的2位计数器机制”(证据2)引入“非分支指令预测”的技术路径,这构成了无懈可击的结合启示。
综上所述,本专利权利要求1的创造性完全被证据1单独,或证据1与证据2的结合所破坏。请求合议组支持请求人的主张,宣告本专利权利要求1无效。
作为处于绝对中立客观立场的“模拟合议组”(类似于国家知识产权局专利局复审和无效审理部的审查员),对本次无效宣告请求的审理将严格遵循《专利审查指南》中“三步法”的创造性评判标准。
本次无效案件的交锋质量极高,双方均抓住了技术与法律的核心。以下是对所有核心争议点的裁判抉择路径的详细推演,以及对最终成功概率的评估。
争议焦点:
证据1(D2)中的“预测值(PPV)+ 置信度计数器(CV)”状态机,是否等同于或实质公开了权利要求1中的“ECNB指令执行状态计数器(在强力指示未执行下饱和)”?
合议组的裁判抉择路径:
权利要求解释原则: 合议组将首先界定权利要求1中“计数器”的保护范围。虽然无效请求人主张“状态机即计数器”,但从字面含义及本领域通用技术语境来看,“ECNB指令执行状态计数器”且其“计数值”直接表征“执行/未执行”倾向,隐含了这是一个将状态与饱和度融合的单一硬件逻辑。
证据1(D2)的事实认定: D2段落[0054]明确记载CV是根据“预测准确率(correct/incorrect prediction)”进行加减的,它反映的是Confidence(置信度),而PPV记录的是Value(0或1)。D2的计数值(如11)本身只能说明“很确定”,必须结合PPV的值才能知道是“确定执行”还是“确定不执行”。
裁判结论: 合议组大概率会支持专利权人的主张,即认定证据1没有单独完整公开该特征。合议组会倾向于认定:本专利的计数器是“结果导向”的(计数值直接表征执行与否),而D2的计数器是“准确率导向”的(计数值表征预测的准不准)。这构成了一个区别技术特征。
争议焦点:
专利权人主张“有条件分支指令(D1)”与“有条件非分支指令(D2及本专利)”处理对象、管线代价完全不同,毫无结合启示;无效请求人则主张D2段落[0046]给出了明确的结合指引。
合议组的裁判抉择路径:
客观证据优于主观推理: 专利权人从计算机体系结构底层的“控制流与数据流”差异出发,论证两者的鸿沟,在纯技术理论上具有一定合理性。但是,专利审查的铁律是“以文字公开的文献为准”。
D2段落[0046]的致命杀伤力: 合议组查明D2第[0046]段原文:“...may use these bits in conjunction with branch prediction techniques... For example, a two bit up-down counter...”。这一句话直接在法律层面上跨越了“分支”与“非分支”的技术鸿沟。
裁判结论: 合议组将毫无悬念地支持无效请求人。无论专利权人如何辩称两者底层逻辑不同,D2的作者已经明确向本领域技术人员建议:“为了提高非分支指令(谓词)的预测准确率,去借用分支预测技术中的2位计数器吧”。这构成了《审查指南》中最典型、最强力的**“明示结合启示”**。因此,将D1(分支预测领域的典型4状态2位饱和计数器)引入D2,对本领域技术人员而言是显而易见的。
争议焦点:
专利权人主张,融合设计的计数器减少了读取端口、降低了逻辑门级数,降低了功耗,是非显而易见的;无效请求人认为这只是常规编码设计的替换。
合议组的裁判抉择路径:
技术效果的自然延伸: 当合议组确认了“将D1的2位状态计数器引入D2”具有明确启示后,接下来的问题是:将D1的计数器(计数值直接代表强成立/强不成立)替换掉D2原有的(PPV+CV解耦)逻辑,是否带来了预料不到的效果?
事实认定: 采用单一饱和计数器代替两个分离变量,必然会减少部分状态组合逻辑,这是数字电路设计中采用紧凑状态编码(Compact State Encoding)的必然结果。本领域技术人员在被D2[0046]段启发去使用“分支预测的2位计数器”时,就必然会获得这种简化硬件的好处。
裁判结论: 合议组将支持无效请求人。该技术效果属于采用特定现有技术(D1)后可合理预期的常规效果,不属于“预料不到的技术效果”,无法支撑创造性。
裁判全景推演:
合议组认定D2为最接近的对比文件。
合议组认定D2公开了本专利的大部分特征(识别ECNB、预测不执行、转为NOP执行)。
合议组确认存在区别特征:特定的ECNB执行状态计数器逻辑(融合型vs解耦型)。
合议组根据D2段落[0046]的明文记载,认定现有技术给出了将分支预测计数器(D1)应用于非分支指令(D2)的明确启示。
合议组得出最终结论:本专利权利要求1的区别特征是本领域技术人员在D2的明确教导下,结合D1容易想到的,不具备创造性。
成功概率评估:极高(85% - 95%)
评估理由:
本次无效请求的杀伤力在于证据链的完美闭环。
在大量的专利无效实务中,请求人往往败在“事后诸葛亮”式的拼凑,无法证明“结合动机”。但本案中,请求人极为精准地抓住了D2第[0046]段的“in conjunction with branch prediction techniques”,这在实务中被称为**“黄金结合点”**(Golden Link)。它让专利权人精心构筑的“控制流(分支)与数据流(非分支)技术壁垒”瞬间崩塌。
除非专利权人能够从权利要求从属项中找到其他未被D1和D2覆盖的、涉及特定硬件微架构(Microarchitecture)的极其特殊的限缩特征进行修改(例如具体的管线级数追踪、特定的条件清空回退机制等),否则仅仅依靠权利要求1目前的保护范围,被宣告全部无效的命运几乎无可避免。
根据权利要求1所述的方法,其中响应于所述预测而不提取所述ECNB指令执行所需的源操作数。
根据权利要求1所述的方法,其中响应于所述预测从而不保留通用寄存器文件中的寄存器来含有所述ECNB指令的执行结果。
根据权利要求1所述的方法,其进一步包含: 响应于停用预测旗标而预测所述ECNB指令不执行,所述停用预测旗标指示在所述预测所基于的入选周期期间未发生所述ECNB指令的先前成功执行。
根据权利要求1所述的方法,其进一步包含: 在历史寄存器中记录所述ECNB指令是否曾执行;以及 响应于所述历史寄存器指示所述ECNB指令的至少一次先前所尝试执行未曾执行而预测下一次发生的ECNB指令不执行。
根据权利要求5所述的方法,其中在软件回路中曾遇到所述ECNB指令的所述至少一次先前所尝试执行。
根据权利要求5所述的方法,其中在预先指定的地址范围中曾遇到所述ECNB指令的所述至少一次先前所尝试执行。
根据权利要求5所述的方法,其中在具有所识别的数目的处理器循环内曾遇到所述ECNB指令的所述至少一次先前所尝试执行。
根据权利要求1所述的方法,其进一步包含: 在第一方向上更新所述ECNB指令执行状态计数器以指示所述ECNB指令的先前所尝试执行曾有条件地执行;以及在与所述第一方向相反的第二方向上更新所述ECNB指令执行状态计数器以指示所述ECNB指令的先前所尝试执行未曾有条件地执行。
根据权利要求1所述的方法,其中所述评估准则值为所述计数值。
根据权利要求1所述的方法,其中在软件回路中曾遇到所述ECNB指令的所述先前所尝试执行。
一种用于预测有条件非分支指令将不会执行的设备,所述设备包含:第一电路,其用于识别指令是入选以用于预测的有条件非分支指令,其中,所述指令是入选以用于预测的有条件非分支指令或不入选以用于预测的有条件非分支指令; 具有计数值输出的ECNB指令执行状态计数器,其中,比较评估准则值与ECNB指令执行状态计数器的计数值输出以启用所述预测,其中所述ECNB指令执行状态计数器在强力指示了所述ECNB指令的先前所尝试执行未被执行的计数值下饱和;以及第二电路,其响应于满足评估准则而启用,所述第二电路用于预测入选有条件非分支ECNB指令是否将不会执行。
根据权利要求12所述的设备,其进一步包含: 操作数提取电路,其响应于不执行的所述预测而不提取所述ECNB指令执行所需的操作数。
根据权利要求12所述的设备,其进一步包含: 管线追踪电路,其用以在用于预测的管线级之后的管线级中追踪所述预测;以及ECNB指令执行级电路,其响应于不执行的所述预测而不执行所述ECNB指令。
根据权利要求12所述的设备,其进一步包含: 其中所述计数值在第一方向上经更新以指示ECNB指令曾有条件地执行并在指示强力执行历史的第一计数值下饱和,且在第二方向上经更新以指示ECNB指令未曾执行并在指示强力不执行历史的第二计数值下饱和。
根据权利要求15所述的设备,其中所述评估准则值为所述第二计数值。
根据权利要求12所述的设备,其中所述评估准则值为处于非作用中状态的停用预测旗标,其中所述停用预测旗标的所述非作用中状态指示预测经启用,其中在任何时候确定所述ECNB指令已在与所述ECNB指令相关联的软件回路中有条件地执行的情况下将所述停用预测旗标设定为停用预测状态。
一种用于预测有条件非分支指令将不会执行的方法,所述方法包含:识别指令是入选以用于预测其是否将执行的有条件非分支指令,其中,所述指令是入选以用于预测的有条件非分支指令或不入选以用于预测的有条件非分支指令;以及响应于满足评估准则而预测所述入选有条件非分支ECNB指令将不执行,其中,所述评估准则要求所述ECNB指令的设定数目个先前尝试执行在预测之前具有强力不执行状态。
根据权利要求18所述的方法,其中响应于满足所述评估准则而不提取所述ECNB指令执行所需的源操作数。
根据权利要求18所述的方法,其中响应于满足所述评估准则而将所述ECNB指令作为无操作NOP指令执行。
根据权利要求18所述的方法,其中满足所述评估准则包含:记录在软件回路内曾遇到的所述ECNB指令的先前所尝试执行的执行状态的历史;以及将所述历史与依据所述评估准则的评估值进行比较以指示是否已满足所述评估准则。