**本次调用模型名称:** GPT-4o
**对比文件名称:** 2004-03-04_US2004044878A_发明申请_US20040044878A1 Synchronisation between pipelines in a data processing apparatus
**目标专利名称:** 消除指令处理电路中的冗余同步屏障和相关处理器系统、方法以及计算机可读媒体CN105009074B
---
### **特征比对表格**
| 技术特征描述以及公开性判断结果 | 对比文件原文引用 (段落标号或部分) | 公开性论述 |
| **A:其包括:检测第一指令,所述第一指令指示关于计算机架构需要后续同步屏障且所述计算机架构允许由计算机硬件自动地执行同步操作的操作** <br> **《隐含公开》** | [0090] 表1列出了所有协处理器指令,包括MCR、MCRR等。这些指令被描述为“将信息从核心寄存器传输到协处理器”。[0092] “核心管道处理所有指令,包括核心指令和协处理器指令。协处理器则仅处理协处理器指令...” | 对比文件公开了特定的指令(如MCR),这些指令需要与协处理器交互。根据目标专利说明书[0058],MCR指令(写入TTBR0)是需要后续软件指令同步屏障(ISB)的指令范例。同时,对比文件描述的指令在管道中执行时,会触发令牌在同步队列中传递,这本身构成了由硬件管理(“自动执行”)的同步操作的一部分。虽然对比文件未明确使用“需要后续同步屏障”和“允许自动执行同步操作”的措辞,但本领域技术人员可以理解,在管道化处理器中,某些指令(如涉及系统寄存器写入的MCR)的执行会改变处理器状态,为确保后续指令正确执行,架构上需要同步;同时,指令在管道中的推进及令牌交换本身就是硬件自动执行的同步机制。因此,该特征被**隐含公开**。 |
| **B:响应于所述第一指令,由所述计算机硬件自动地执行所述同步操作** <br> **《隐含公开》** | [0085] “核心可能需要取消已传递给协处理器的指令...或者由于分支预测错误,可能需要刷新整个协处理器管道。”[0093] “核心和GCP管道以及它们之间通信的同步队列如图3所示...操作将通过描述每个队列的目的来描述管道同步的操作。”[0100] “完成队列...通过在管道末端提供每个协处理器指令退休的许可来维持同步。” | 对比文件详细描述了指令(如MCR)在核心和协处理器管道中执行时,会触发一系列硬件自动管理的同步操作。例如,指令在核心取指阶段被放入指令队列([0096]),在核心发射阶段可能放入取消队列([0098]),在协处理器解码阶段放入长度队列([0102]),在协处理器发射阶段放入接受队列([0104]),最终通过完成队列([0100])允许指令退休。这些令牌的生成、传递和消费都是响应于指令在管道中的流动而由硬件自动执行的,确保了管道间的同步。这对应于目标专利中由硬件自动执行的同步操作。因此,该特征被**隐含公开**。 |
| **C:检测由所述计算机硬件响应于所述第一指令自动执行所述同步操作而导致的第一同步事件** <br> **《隐含公开》** | [0093] “图3显示了核心和GCP管道以及它们之间通信的同步队列。每个队列被实现为一个非常短(FIFO)缓冲区...队列的唯一状态信息是一个指示队列何时为空的标志。这只需要由队列的接收端监控,并决定相关联的管道阶段是否可以继续前进。”[0102] “当协处理器解码了一条指令,它将知道向量加载或存储操作的长度。该信息随同步令牌沿长度队列330发送。” | 在对比文件的令牌同步机制中,同步“事件”体现为令牌被放入队列(发送端)以及从队列中被接收(接收端)。例如,当协处理器解码了一个向量加载指令,它将一个包含长度信息的令牌放入长度队列([0102])。这个“放入令牌”的动作就是由指令执行触发的、硬件自动执行的一个同步操作,并且这个事件可以被队列的接收端(核心的EX1阶段)“检测”到,因为接收端需要监控队列状态以决定是否继续。因此,检测由指令触发的、硬件自动执行的同步事件这一概念,已被对比文件**隐含公开**。 |
| **D:检测指令流中的下一个指令** <br> **《直接公开》** | [0085] “核心可能需要将指令传递给多个协处理器...”[0096] “核心通过指令队列300将其取指阶段190发出的每条指令传递出去。” | 对比文件明确公开了指令流(核心取指的指令)被连续检测和处理。核心取指单元获取指令,并将其传递给指令队列,这构成了对“指令流中的下一个指令”的持续检测。因此,该特征被**直接公开**。 |
| **E:确定所述下一个指令是否包括类型对应于所述第一同步事件的同步屏障** <br> **《隐含公开》** | [0096] “理想情况下,它应该只传递协处理器指令,但在此阶段,它还没有时间解码指令。因此,由GCP在其自己的解码阶段205对到达的指令进行解码,并拒绝非协处理器指令。”[0104] “协处理器可能在发射阶段决定它不能接受一条指令,并将此信息与同步令牌一起沿接受队列340传递。”[0129] “核心传递从内存获取的每条指令...由GCP在其解码阶段205对到达的指令进行解码并拒绝非协处理器指令...A标志930现在表示A中的数据是有效的并且代表一条协处理器指令。” | 目标专利中的“同步屏障”是指如ISB这样的明确指令。对比文件虽然没有明确提及ISB指令,但其整个同步机制是用于确保指令在核心和协处理器管道之间正确排序和状态一致,其功能等同于一个由硬件和队列机制实现的“同步屏障”。对比文件公开了指令解码逻辑([0129]),用于确定指令的类型(例如,是否是协处理器指令)。如果将该逻辑扩展,本领域技术人员不难想象,为了处理需要更强顺序保证的情况(如系统寄存器更新后),可以在指令流中插入明确的同步指令(如ISB),并通过类似机制(例如,一个专门的“屏障队列”或利用现有队列的状态)来确定下一个指令是否是这种同步屏障,并检查其类型是否与之前发生的同步事件(如通过取消队列、完成队列传递的事件)匹配。因此,该特征被**隐含公开**。 |
| **F:以及响应于确定所述下一个指令包括类型对应于所述第一同步事件的同步屏障,从所述指令流消除所述下一个指令。** <br> **《隐含公开》** | [0122] “图12显示了当协处理器指令在核心的发射阶段被取消时,核心和协处理器管道的行为...它(指令C)在核心管道中变成一个幻影...协处理器管道中的指令将在EX1阶段从取消队列310获取取消令牌后立即失效。”[0144] “图13显示了当协处理器指令被协处理器反弹(不接受)时...核心管道中的指令将在EX2阶段从接受队列340获取接受令牌后立即失效。” | 对比文件公开了“消除”指令的概念,具体表现为将指令变为“幻影”或使其“失效”。当核心取消一个指令(图12)或协处理器反弹一个指令(图13)时,该指令不会正常执行,而是从有效的执行流中被移除。虽然触发消除的原因(取消、反弹)与目标专利(冗余同步屏障)不同,但“响应于一个确定(接收到特定令牌)而从指令流中消除一个指令”这一基本操作模式已被公开。本领域技术人员可以推理,如果检测到一个同步屏障指令是冗余的(即其对应的同步事件已由硬件自动完成),则可以应用相同的“幻影化”或“失效”机制来消除该屏障指令。因此,该特征被**隐含公开**。 |
| **G:其中检测所述第一同步事件包括检测指令同步事件** <br> **《隐含公开》** | [0100] “完成队列320...通过在管道末端提供每个协处理器指令退休的许可来维持同步。”[0106] “如果分支预测错误...核心可能有必要刷新两个管道...刷新信号...将导致管道和指令队列300被清除,直至触发刷新的指令。” | 对比文件中的“同步事件”主要围绕指令的排序、退休和管道刷新。例如,完成队列的令牌用于指令退休的同步,刷新信号用于指令序列的同步。这些都属于“指令同步”的范畴,即确保指令执行的正确顺序和状态可见性,而不是针对数据访问的“数据同步”。因此,对比文件公开了指令同步事件的检测。该特征被**隐含公开**。 |
| **H:并且其中确定所述下一个指令是否包括类型对应于所述第一同步事件的同步屏障包括检测所述下一个指令是否是指令同步屏障。** <br> **《隐含公开》** | 结合特征E和G的论述。对比文件公开了确定指令类型(如是否为协处理器指令)的机制,以及指令同步事件(如通过完成队列、刷新机制)。本领域技术人员可以理解,在一个完整的系统中,可能包含明确的指令同步屏障(如ISB)。要检测一个指令是否为指令同步屏障,其方法(例如,通过操作码解码)与对比文件中检测指令是否为协处理器指令的方法是相同或类似的。因此,在对比文件已公开指令类型检测和指令同步事件的基础上,检测下一个指令是否是指令同步屏障是该原理的直接应用。该特征被**隐含公开**。 | |
| **I:其中检测所述第一同步事件包括检测数据同步事件** <br> **《未公开》** | [0109] “大多数协处理器指令导致数据通过接口传输...”[0113] “加载数据由核心LSU 222的WB阶段250通过接口发送,并由协处理器管道的EX6阶段275从加载队列接收。”[0115] “存储队列400连接LSU 222的DC阶段和协处理器的发射阶段215。” | 对比文件详细描述了在加载和存储操作期间的数据传输,并通过加载队列和存储队列进行管理。然而,这些队列的主要目的是**传输数据本身**,并确保数据在正确的时间被生产者和消费者使用(流量控制),而不是作为独立的“数据同步事件”或“数据同步屏障”。目标专利中的数据同步事件(如数据同步屏障DSB)是为了确保内存访问顺序对所有观察者可见,是一种更严格的一致性语义。对比文件的数据传输机制虽然涉及同步,但其侧重点是数据传输的协调,而非作为可被检测和可能冗余的、用于内存顺序的通用“数据同步事件”。因此,该特征**未被公开**。 |
| **J:并且其中确定所述下一个指令是否包括类型对应于所述第一同步事件的同步屏障包括检测所述下一个指令是否是数据同步屏障。** <br> **《未公开》** | 无相应内容。 | 由于对比文件未公开“数据同步事件”(特征I),因此也必然未公开检测“数据同步屏障”指令的相关内容。该特征**未被公开**。 |
| **K:其中检测所述第一同步事件包括设定同步旗标。** <br> **《隐含公开》** | [0093] “每个队列被实现为一个非常短的先入先出(FIFO)缓冲区...队列的唯一状态信息是一个指示队列何时为空的标志。这只需要由队列的接收端监控...”[0120] “队列由三个寄存器600、610、620组成,每个寄存器与一个标志630、640、650相关联,指示该寄存器是否包含有效数据。” | 对比文件中同步队列的“有效标志”(valid flag)实质上起到了同步旗标的作用。当一个同步事件(令牌被放入队列)发生时,发送端会设置对应缓冲区的有效标志。接收端通过监控这个标志(即“同步旗标”)来检测事件是否发生。因此,使用一个标志位来指示同步事件的状态这一技术手段已被对比文件公开。该特征被**隐含公开**。 |
| **L:其进一步包括响应于确定所述下一个指令不包括类型对应于所述第一同步事件的同步屏障而清除所述同步旗标。** <br> **《隐含公开》** | [0123] “当队列被读取时,与提供信息的缓冲区相关联的标志必须被清除。此操作可以与输入操作结合...这可以通过使用读使能信号来屏蔽所选阶段的标志来实现,使其可用于输入。”图7及相关描述。 | 对比文件明确描述了当队列中的令牌(代表一个同步事件)被接收端消费(读取)后,对应的有效标志会被清除。在目标专利的语境下,如果下一个指令不是冗余同步屏障,则意味着之前的同步事件需要被“消耗”掉,以便后续指令能正常触发同步,因此需要清除同步旗标。这与对比文件中消费令牌后清除标志的操作在功能和逻辑上是一致的。因此,该特征被**隐含公开**。 |
| **M:其中确定所述下一个指令是否包括类型对应于所述第一同步事件的同步屏障包括确定是否设定所述同步旗标。** <br> **《隐含公开》** | [0093] “队列的唯一状态信息是一个指示队列何时为空的标志。这只需要由队列的接收端监控,并决定相关联的管道阶段是否可以继续前进。” | 在对比文件的机制中,管道阶段通过检查队列标志(即“同步旗标”)是否被设定,来决定是否能够继续处理当前指令。这直接对应于目标专利中通过检查同步旗标是否被设定,来判断之前的同步事件是否已发生,进而判断下一个同步屏障指令是否冗余。因此,该特征被**隐含公开**。 |
| **N:其中从所述指令流消除所述下一个指令包括用指示无操作的指令代替所述指令流中的所述下一个指令。** <br> **《隐含公开》** | [0122] “...它(指令C)在核心管道中变成一个幻影...”[0144] “...核心管道中的指令将在EX2阶段从接受队列340获取接受令牌后立即失效。” | 对比文件将需要消除的指令转化为“幻影”指令。“幻影”指令在管道中继续流动但不产生实际效果,其功能等同于“无操作”(NOP)指令。因此,用功能上等效于NOP的“幻影”指令来代替原指令,这一技术手段已被对比文件隐含公开。该特征被**隐含公开**。 |
| **O:其中从所述指令流消除所述下一个指令包括从所述指令流移除所述下一个指令。** <br> **《直接公开》** | [0104] “当核心EX2阶段270...收到一个指示拒绝相应指令的令牌时,它通过清空EX2阶段从管道中移除该指令。”[0122] “协处理器管道中的指令将在EX1阶段从取消队列310获取取消令牌后立即失效。” | 对比文件明确公开了从指令流(管道)中“移除”或“失效”指令。例如,当指令被取消或反弹时,它被从管道中清除或标记为立即失效,这等同于从有效的指令执行序列中移除。因此,该特征被**直接公开**。 |
<<<D>>><<<O>>>
<<<a>>><<<b>>><<<c>>><<<e>>><<<f>>><<<g>>><<<h>>><<<k>>><<<l>>><<<m>>><<<n>>>