目标专利:94在SIMD架构中用于通道混洗的混洗器电路
专利公开号:CN109478175B
专利权人:高通股份有限公司
无效请求书提交日期:2026年
非显而易见性评估仅供参考,不构成法律建议。
| 编号 | 名称 |
|---|---|
| 0 | 发明申请_US20140208067A1 VECTOR ELEMENT ROTATE AND INSERT UNDER MASK INSTRUCTION_+++A_D_K_b_c_n_p+++.docx |
| 0 | 发明专利_JP2008502018A Holography or diffraction pattern_+++a_p+++.docx |
| 0 | 发明专利_JP2007526536A Method and apparatus for shuffling data_+++A_B_D_N_P_c_e_f_g_h_k_o+++.docx |
| 0 | 发明专利_GB2444744B Apparatus and method for performing re-arrangement operations on data_+++A_B_C_D_K_N_e_f_g_h_l+++.docx |
| 0 | 发明专利_GB604280A Improvements in or relating to iodine images and methods of producing same.docx |
| 0 | 发明授权_US09314263B2 Atherectomy devices, systems, and methods.docx |
| 0 | 发明授权_US09218182B2 Systems, apparatuses, and methods for performing a shuffle and operation (shuffle-op)_+++A_B_C_D_K_N_P_e_f_g_h_i+++.docx |
| 0 | 发明授权_US08914613B2 Vector shuffle instructions operating on multiple lanes each having a plurality of data elements using a same set of per-lane control bits_+++A_B_C_D_N_P_e+++.docx |
| 0 | 发明授权_US07343389B2 Apparatus and method for SIMD modular multiplication_+++A_P_o+++.docx |
| 0 | 发明授权_US5513371A Hierarchical interconnection network architecture for parallel processing, having interconnections between bit-addressible nodes based on address bit permutations_+++A_B_E_P_c_d_f_j_k_l+++.docx |
| 0 | 发明申请_WO2015054142A1 USER INTERFACE CONTROL IN A NETWORKED AUDIO SYSTEM.docx |
| 0 | 发明申请_US20150039851A1 METHODS, APPARATUS, INSTRUCTIONS AND LOGIC TO PROVIDE VECTOR SUB-BYTE DECOMPRESSION FUNCTIONALITY_+++A_B_N_O_P_c_d_e_f_h_l+++.docx |
| 0 | 3gpp文件_+++B_P+++.docx |
| 0 | 发明申请_US20140149480A1 SYSTEM, METHOD, AND COMPUTER PROGRAM PRODUCT FOR TRANSPOSING A MATRIX_+++A_B_D_K_O_P_c_e_l_n+++.docx |
| 0 | 发明申请_US20140059323A1 SYSTEMS AND METHODS OF DATA EXTRACTION IN A VECTOR PROCESSOR_+++A_b_n_p+++.docx |
| 0 | 发明申请_US20140046376A1 Bone Stabilization Device.docx |
| 0 | 发明申请_US20130339682A1 METHODS TO OPTIMIZE A PROGRAM LOOP VIA VECTOR INSTRUCTIONS USING A SHUFFLE TABLE AND A MASK STORE TABLE_+++N_a_b_d_e_k_o_p+++.docx |
| 0 | 发明申请_US20130339664A1 INSTRUCTION EXECUTION UNIT THAT BROADCASTS DATA VALUES AT DIFFERENT LEVELS OF GRANULARITY_+++A_N_P+++.docx |
| 0 | 发明申请_US20100106944A1 Data processing apparatus and method for performing rearrangement operations_+++A_B_D_P_f_n+++.docx |
| 0 | 发明申请_US20090172358A1 IN-LANE VECTOR SHUFFLE INSTRUCTIONS_+++D_K_N_a_b_c_e_p+++.docx |
| 0 | 发明申请_US20090018567A1 Atherectomy devices, systems, and methods.docx |
| 0 | 发明申请_US20080215855A1 Execution unit for performing shuffle and other operations_+++A_D_P_b_h_k_n_o+++.docx |
| 0 | 发明申请_US20040054877A1 Method and apparatus for shuffling data_+++A_D_P_b_c_e_f_k_n+++.docx |
一种用于处理数据的装置,所述装置包括: 多个处理通道,所述处理通道中的每一个包括用以处理所述数据的电路,其中所述处理通道是以单指令多数据SIMD结构配置;以及混洗器电路,其经配置以: 从所述处理通道的源子组接收数据; 响应于指示所述处理通道中的至少一些将数据输出到所述处理通道中的另一个的指令而将从所述处理通道的所述源子组接收的所述数据重排序;以及将经重排序数据分别输出到全部所述处理通道,其中所述处理通道的目的地子组将所述经重排序数据存储于对应寄存器中,且其中除所述处理通道的所述目的地子组外的所述处理通道丢弃所述接收的经重排序数据。
你好!我是Gemini。作为一名经验丰富的专利代理师,我非常乐意为您分析该技术特征。
在进行侵权或无效分析时,我们首先需要对权利要求中的技术特征进行合理的解释,也就是“权利要求解释(Claim Construction)”。然后,我们将这一解释与对比文件进行逐一比对。
技术特征G:“且其中除所述处理通道的所述目的地子组外的所述处理通道丢弃所述接收的经重排序数据。”
结合说明书的解释:
根据目标专利说明书第[0019]段的明确记载:“丢弃经重排序数据的处理通道意味着处理通道未成功在对应寄存器中存储经重排序数据,且将不对数据采取进一步动作,或处理通道经配置以不在对应寄存器中存储经重排序数据。”
此外,第[0046]段记载了其硬件实现方式:“用于不对应于处理通道的目的地子组的寄存器的MUX并不允许经重排序数据存储于对应寄存器中(例如,使得处理通道丢弃数据)。”
由此可见,本专利中所谓的“丢弃(Discard)”,在硬件和逻辑层面上,其本质是指在SIMD架构中,部分处理通道(非目的地子组)被配置为不将计算或接收到的结果写入/存储到其对应的目标寄存器中,从而保持原有状态或不对新数据做进一步处理。
我们现在来看提供的四篇对比文件(注:D1《GB2444744B》提供的文本中无说明书内容,故不作分析)。我们将重点寻找与SIMD架构中“屏蔽写入(Write-masking)”或“条件存储”相关的披露。
D4 详细公开了在SIMD架构下对向量元素进行混洗(Shuffle)及操作的指令(VSHP{OP})。
关于是否存储/丢弃数据的披露:
原文出处1:第[0033]段记载:“...a writemask register stores a plurality of bits... wherein each active bit of the writemask register governs the operation/update of a packed data element of a vector register during SIMD processing.”(写入掩码寄存器存储多个位...其中写入掩码寄存器的每个有效位控制SIMD处理期间向量寄存器的打包数据元素的操作/更新。)
原文出处2:第[0052]段记载:“Additionally, in some embodiments a writemask register is used for masking active data element positions from having the operation performed on them. For example... if the third data element... is masked, then no operation would be performed and the value in destination register at that location will remain 1 and not become 2 as illustrated.”(此外,在一些实施例中,写入掩码寄存器用于屏蔽活动数据元素位置...如果第三个数据元素被屏蔽,则不执行任何操作,并且该位置的目的地寄存器中的值将保持为1...)
原文出处3:第[0069]段记载:“...no operation will be performed at 305... and no updated result will be stored in the least significant data element position of the destination register.”(...不执行任何操作...并且没有更新的结果将存储在目的地寄存器的最低有效数据元素位置中。)
代理师分析意见:D4明确公开了在SIMD的混洗操作中,利用写入掩码(writemask)来控制哪些数据通道(lane)进行更新,哪些不进行更新。被掩码屏蔽(masked)的数据通道不存储更新的结果(no updated result will be stored)。这与目标专利说明书中对“丢弃(即经配置以不在对应寄存器中存储)”的定义在实质上是完全等同的。
D3 公开了用于处理 VECTOR ELEMENT ROTATE AND INSERT UNDER MASK (VERIM) 指令的系统。
关于是否存储/丢弃数据的披露:
原文出处:第[0100]段记载:“第3のオペランドは、各要素内にマスクを含む。第3のオペランド内の1である各ビットについて、第2のオペランド内のローテートされた要素の対応するビットが、第1のオペランド内の対応するビットに置き換わる。... 第3のオペランド内の0である各ビットについて、第1のオペランドの対応するビットは変更されないままである。”(第三操作数在各元素内包含掩码。对于第三操作数中为1的各比特,第二操作数中循环的元素的对应比特替换第一操作数中的对应比特... 对于第三操作数中为0的各比特,第一操作数的对应比特保持不变。)
代理师分析意见:D3也公开了基于掩码(Mask)的条件插入。当掩码为0时,目的寄存器的原有比特保持不变(即不存储新接收/旋转的数据),这也构成了对技术特征G实质上的公开。
D2 公开了通过 PSHUFB 指令进行数据混洗。
关于是否存储/丢弃数据的披露:
原文出处:第[0084]段及图3A-3C记载了“ゼロ設定フラグ (zero setting flag)”。如果该标志被设置,则目的数据元素位置被填充为“0”。
代理师分析意见:D2公开的是将非目标位置的数据直接写“0”(清零),而不是“不在对应寄存器中存储(保持原样或丢弃)”。因此,D2的清零操作与目标专利定义的“丢弃”不完全一致。
| 目标专利权利要求1特征 | 对比文件 D4 (US09218182B2) 的对应披露 | 是否公开 |
| 技术特征E:以及将经重排序数据分别输出到全部所述处理通道, | 在SIMD指令执行中,源数据被提供给执行资源(即处理通道),计算/混洗的结果准备写入目标寄存器。 | 隐含/实质公开 |
| 技术特征F:其中所述处理通道的目的地子组将所述经重排序数据存储于对应寄存器中, | 第[0033]段、[0071]段:通过writemask中处于active(激活)状态的位所对应的通道,将结果存储入destination register(目标寄存器)。 | 实质公开 |
| 技术特征G:且其中除所述处理通道的所述目的地子组外的所述处理通道丢弃所述接收的经重排序数据。 | 第[0033]、[0052]、[0069]段:对于被掩码屏蔽(masked)的数据位置,不执行操作且不存储更新的结果(no updated result will be stored / value will remain),即对应于本专利说明书定义的“经配置以不在对应寄存器中存储”的“丢弃”动作。 | 实质公开 |
综上所述,作为一名专利代理师,我的专业意见是:对比文件D4(US09218182B2)单独实质公开了技术特征G。
目标专利权利要求1中所谓“丢弃接收的经重排序数据”,结合其说明书可知,其本质就是SIMD架构中极其常见的**掩码写屏蔽(Writemasking)**技术(即只把结果写入部分通道的寄存器,其他通道不存入新数据)。这一技术手段及其实现的功能在D4的第[0033]、[0052]和[0069]段中已经被清晰且毫无疑义地实质性公开。此外,D3 (JP2016510461A) 的第[0100]段关于 Under Mask 指令的描述也同样实质公开了该特征。
希望这个细致的对比分析能为您的案件推进提供有力的支持!如果您需要我进一步将D4的特征C、D(关于混洗源和重排序指令)与目标专利进行更完整的权利要求比对,或者需要分析D4结合D3的创造性论述逻辑,请随时告诉我!
作为一名经验丰富的专利代理师,我将为您对目标专利说明书、权利要求1以及提供的五篇对比文件(D1-D5)进行深度的特征比对与创造性分析。
经查阅,**对比文件1(GB2444744B)**提供的文本仅有“无说明书”字样,未包含任何实质性技术内容,因此在下述分析中,D1不作为有效的现有技术参与特征比对,我们将重点聚焦于D2至D5。
我们将权利要求1拆解为A-G七个技术特征。以下为各对比文件的公开情况概览表:
| 技术特征 | 目标专利说明 | D2 (JP2007526536A) | D3 (JP2016510461A) | D4 (US09218182B2) | D5 (US5513371A) |
| A: 装置 | 一种用于处理数据的装置 | 公开 | 公开 | 公开 | 公开 |
| B: SIMD结构 | 多个处理通道及电路,配置为单指令多数据(SIMD)结构 | 公开 | 公开 | 公开 | 仅节点级公开 |
| C: 接收源子组 | 混洗器电路从处理通道的源子组接收数据 | 实质公开 | 未公开 | 未公开 | 未公开 |
| D: 指令重排序 | 响应混洗指令,将接收的数据重排序 | 公开 | 公开 | 公开 | 未公开 |
| E: 输出至全部 | 将经重排序数据分别输出到全部所述处理通道 | 公开 | 公开 | 公开 | 未公开 |
| F: 目的地存储 | 目的地子组将数据存储于对应寄存器中 | 实质公开 | 公开 | 公开 | 未公开 |
| G: 其余通道丢弃 | 除目的地子组外的处理通道丢弃接收的经重排序数据 | 实质公开 | 公开 | 公开 | 未公开 |
D2主要公开了在SIMD架构下处理打包数据字节混洗(PSHUFB)的方法和装置。
特征B(SIMD结构): 毫无异议公开。 D2原文 [0080] 记载:“SIMDコプロセッサ161は、データシャッフルを含むSIMD処理を実行することが可能である”(SIMD协处理器161能够执行包含数据混洗的SIMD处理)。
特征C(源子组接收): 实质公开。 目标专利中“源子组”的目的是为了避免全通道到全通道的昂贵纵横制硬件。D2原文 [0098] 记载:“データ要素は、一組の上位及び下位packedデータ要素に分けられ、各組は8つのデータ要素を有する。これは、16:1muxではなくデータ要素選択中により小さな8:1muxの使用を可能にする”。即它将数据分为上位和下位子组(各8个),使用较小的8:1多路复用器代替完整的16:1多路复用器,实质上公开了从“源子组”接收数据以降低硬件复杂度的思想。
特征D、E(重排序与全输出): 公开。 D2原文 [0091] 记载:“マスクオペランド510の値に基づき、ソースデータオペランド520からデータ要素を選択し、選択されたデータ要素を結果540の適切な位置に整理/シャッフルする”。说明了响应指令和掩码进行重排序并输出到结果寄存器。
特征F、G(选择性存储与丢弃): 实质公开。 D2采用的是“清零(flush to zero)”机制。原文 [0094] 记载:“ゼロフラグがブロック932において設定されていると判断されると... エントリが「0」に設定される”。虽然不是严格意义上保持旧值的“丢弃”,但其实质利用掩码控制了哪些通道接收有效重排序数据,哪些通道被屏蔽,与目标专利“掩码控制目的地”功能高度相似。
D3公开了一种用于处理Vector Element Rotate and Insert Under Mask (VERIM)指令的系统。
特征B、D、E(SIMD、重排序与输出): 公开。 D3原文 [0100] 记载:“第2のオペランドの各要素は、第4のオペランドによって指定されたビット数だけ左にローテートされる”(各元素根据指定位数进行旋转/重排序)。
特征F、G(掩码下插入/丢弃): 公开。 D3原文 [0100] 记载:“第3のオペランド内の0である各ビットについて、第1のオペランドの対応するビットは変更されないままである”(对于掩码中为0的位,对应位保持不变)。这毫无异议地公开了“目的地子组写入,其余通道丢弃(保持不变)”的机制。
特征C(源子组): 未公开。 D3是对整个向量操作,未提及对硬件通道进行“子组”划分以节省物理线路。
D4涉及执行矢量混洗及运算(VSHP{OP})指令的系统。
特征B(SIMD结构): 毫无异议公开。 D4原文 [0031] 记载:“Single Instruction Multiple Data (SIMD) refers to a type of instruction that causes a processor to perform an operation on multiple data items”。
特征D、E(混洗电路与重排序): 公开。 原文 [0185] 记载:“The VPU supports swizzling the register inputs with swizzle unit 1120”(VPU支持使用swizzle单元进行混洗)。原文 [0065] 记载:“perform a shuffle, defined by the immediate, of the data element positions of the first source”。
特征F、G(掩码控制写入与丢弃): 毫无异议公开。 原文 [0185] 记载:“Write mask registers 1126 allow predicating resulting vector writes”(写掩码寄存器允许预测结果的矢量写入)。更具体的,原文 [0052] 记载:“if the third data element... is masked, then no operation would be performed and the value in destination register at that location will remain 1”(如果被掩码屏蔽,则不执行任何操作,该位置目的寄存器中的值将保留),完美映射了目标专利中“目的地子组存储,除外通道丢弃(不执行操作,保留原值)”的特征。
特征C(源子组): 未公开。 D4未涉及为缩减全纵横制面积而先处理源子组硬件的架构设计。
D5涉及用于并行处理的层次化互连网络(HSE和HdB网络)。
分析: D5探讨的是多处理器节点(Multiple Processors)之间的宏观网络拓扑连接,而非GPU/CPU内核中SIMD架构的底层寄存器/通道混洗电路(Shuffler Circuit)。D5中的“节点”是完整的处理器,而非“包含用以处理数据的电路的处理通道”。因此,D5与本权利要求微架构层面的技术方案属于不同层级的技术,关联度较低。
从“整体解决的技术问题”以及“技术效果”角度来看,在创造性分析中,D2和D4均非常适合作为最接近的对比文件(CPA),两者分别从目标专利的两个核心技术贡献方向逼近了本发明:
适用理由: D4解决的技术问题与目标专利高度一致,即在SIMD架构中如何高效执行向量元素的混洗和重排序,并且D4已经毫无异议地公开了**“利用掩码(Writemask)实现目的通道写入,其余通道丢弃(不操作/保留原值)”**(即特征F和G)。
区别技术特征: D4未公开特征C(混洗器电路从源通道的“子组”接收数据,而不是一次性从所有通道接收)。
解决的客观技术问题: 如何在增加处理通道数量时,避免完整的全通道到全通道纵横制带来的芯片面积和功耗呈二次方增加的问题。
结合启示: 可结合 D2。D2在 [0098] 段明确教导了为了避免使用庞大的多路复用器(如16:1),将数据通道分为上位和下位“子组”,采用较小的复用器(8:1)分段处理。本领域技术人员为了解决D4中全通道混洗的硬件开销问题,有动机引入D2的“子组划分”硬件降级方案。
适用理由: D2的硬件架构说明中,直接触及了目标专利试图解决的**“硬件布线和多路复用器面积庞大”**的核心痛点。D2实质上公开了通过处理“源子组”(分组处理)来缩减硬件规模(特征C)。
区别技术特征: D2对不需要的数据采取的是“清零(flush to zero)”操作,而非目标专利的“丢弃接收数据(即不对对应寄存器采取进一步动作或不存储)”(特征G的严谨定义)。
解决的客观技术问题: 如何在SIMD混洗的多次分段迭代中,不破坏非当前迭代目标通道中已有的数据。
结合启示: 可结合 D3 或 D4。D4明确公开了使用写掩码(Write mask)在混洗操作中“丢弃/保持原值(remain)”的机制。将D4的掩码机制引入D2的分组混洗架构中,以保护非目的通道的数据,对本领域技术人员而言是显而易见的。
总结: 目标专利实际上是将“分段(源子组)处理以节省硬件交叉开关面积”与“目的掩码控制以保证迭代写入正确”两个技术手段结合了起来。建议优先使用D4作为CPA,辅以D2进行创造性评判,因为D4的VSHP指令与掩码机制在行为逻辑上与目标专利的指令级表现更为吻合,将D2的底层硬件优化思维(子组划分)作为结合文献具有很强的说服力。
您是否需要我以D4为最接近的现有技术,为您起草一份完整的、反驳创造性的审查意见通知书(Office Action)答复逻辑或无效宣告理由框架?
你好!作为一名经验丰富的专利代理师,我非常乐意为你提供专业的技术比对和创造性分析。
针对你提供的目标专利说明书以及两篇对比文件(D1: US20040054877A1, D2: US20150039851A1),我进行了深入的特征拆解与技术比对。 在SIMD架构中,随着处理通道(Lanes)数量的增加,实现所有通道间自由通信的全纵横制(Full Crossbar)电路会导致芯片面积和功耗呈二次方增长。目标专利正是为了解决这一硬件底层的痛点,提出了“分段混洗”(源子组输入 -> 广播全部 -> 目的地子组存储/其余丢弃)的精妙架构。
以下是详细的权利要求特征比对及最接近现有技术(CPA)的分析。
| 技术特征分解 | 对比文件1 (D1) US20040054877A1 | 对比文件2 (D2) US20150039851A1 |
| A: 一种用于处理数据的装置, | 毫无异议公开。见[0048]段:“computer system 100 formed with a processor 102”。 | 毫无异议公开。见[0053]段:“computer system 100 formed with a processor 102”。 |
| B: 所述装置包括:多个处理通道,所述处理通道中的每一个包括用以处理所述数据的电路,其中所述处理通道是以单指令多数据SIMD结构配置; | 毫无异议公开。见[0038]段:“Single Instruction, Multiple Data (SIMD)”及[0069]段描述了执行SIMD操作的执行单元。 | 毫无异议公开。见[0002]段:“single-instruction multiple-data (SIMD) vector registers...”及[0050]段描述的SIMD技术。 |
| C: 以及混洗器电路,其经配置以:从所述处理通道的源子组接收数据; | 未公开。D1公开了混洗逻辑接收源操作数(如[0086]段),但D1是基于完整的寄存器宽度(如128位)进行全局混洗,并未公开从通道的“子组(小部分)”分段接收数据以节省硬件开销的机制。 | 未公开。D2公开了shuffler拷贝或混洗源向量(如[0175]段),重点在于子字节解压,并未公开源子组分段接收的硬件机制。 |
| D: 响应于指示所述处理通道中的至少一些将数据输出到所述处理通道中的另一个的指令而将从所述处理通道的所述源子组接收的所述数据重排序; | 实质公开。见[0086]段:“shuffle logic 530 selects data elements... based on the values in the mask operand 510 and arranges/shuffles...”。但缺少“从源子组”接收的前提。 | 实质公开。见[0179]段:“shuffler 1609 ... shuffle one byte from each of the intermediate vector register... into a first destination...”。同样缺少“从源子组”的前提。 |
| E: 以及将经重排序数据分别输出到全部所述处理通道, | 实质公开。D1将重排序后的数据输出(写入)到完整宽度的结果寄存器(resultant 540)中,实质上对应了所有通道。 | 实质公开。D2将数据输出至目标向量寄存器(如vector register 1630)的各个向量元素中。 |
| F: 其中所述处理通道的目的地子组将所述经重排序数据存储于对应寄存器中, | 实质公开。D1通过掩码选择部分元素存储混洗数据([0087]段)。D2通过掩码选择性存储以避免覆盖([0186]段)。 | 实质公开。见[0186]段:“micro-op UOP 1666 may use a mask operand to avoid overwriting the first and second... destination 32-bit vector elements”。 |
| G: 且其中除所述处理通道的所述目的地子组外的所述处理通道丢弃所述接收的经重排序数据。 | 未公开。D1明确教导的是“清零(flush to zero)”(见[0088]段:“A '0' is placed in the corresponding data element position”)。写入0是一个写操作,并非目标专利中定义的“未成功存储...或不经配置以存储(丢弃)”。 | 实质公开。见[0186]段:“use a mask operand to avoid overwriting”(避免覆盖)。在硬件层面,使用掩码屏蔽写使能信号,维持寄存器原值,实质上等同于目标专利中“丢弃接收的经重排序数据”的概念。 |
D1毫无异议地公开了SIMD架构以及执行数据混洗(Shuffle)的指令和电路(特征A、B)。在D1的图6和[0091]-[0095]段中,描述了一个基于多路复用器(MUX)的混洗电路,它根据掩码(Mask)对128位数据进行重排序(特征D、E)。
主要区别在于: D1为了实现任意通道到任意通道的混洗,仍然在局部依赖完整的连线(虽然分了上下半区使用8:1 MUX,但一次性处理所有数据),未公开目标专利中为了节省二次方暴增的物理连线,而采用“只取源子组(Source Subgroup)输入混洗器,再广播给全部,靠目的地子组的写使能来截取数据”的分段混洗架构(特征C)。此外,D1对于不需要的数据采取的是强制写入0(flush to zero),而不是丢弃(特征G)。
D2同样毫无异议地公开了SIMD架构下的处理装置(特征A、B)。D2的核心是向量子字节解压缩(Sub-byte Decompression)。在解压过程中,D2使用了混洗器(Shuffler 1605, 1609)和移位器(Shifter 1617)对数据进行重排序和对齐(特征D、E)。D2在[0186]段提到了使用掩码来避免覆盖目的寄存器中的数据(avoid overwriting),这实质上公开了特征F和特征G(只有目的地存储,其他丢弃原值保持不变)。
主要区别在于: D2的混洗是为了解压(例如将2-bit拼凑成8-bit),其数据源是完整的寄存器数据流,未公开特征C(从硬件通道的源子组提取数据以实现分段混洗)。
在进行创造性(非显而易见性)评价时,对比文件1 (D1) 更适合作为最接近的现有技术(CPA)。
理由如下:
技术领域与整体技术问题高度重合:目标专利解决的整体技术问题是:在SIMD架构中,传统的“全通道到全通道纵横制(Full Crossbar)”混洗电路会导致芯片面积和功耗呈二次方增加,如何实现低成本、低功耗的通道间数据混洗。D1(US20040054877A1)同样致力于在SIMD处理器中通过硬件逻辑(图6的多路复用器网络)提供一种高效的封包字节混洗(Packed Byte Shuffle)机制。两者都在探讨通用的SIMD硬件级数据混洗。
D2的解决目标偏离:虽然D2在硬件微操上(如Masking以避免覆盖)与目标专利有相似之处,但D2的整体技术问题是“如何对数据库中紧凑的子字节(如2-bit/4-bit)进行SIMD向量解压”。将其作为起点去构思一种用来替代全纵横制混洗网络的通用硬件机制,存在事后诸葛亮(Hindsight)的嫌疑。
基于D1作为CPA的创造性论述脉络:
区别技术特征:目标专利相对于D1的区别主要在于:(1) 混洗器电路从处理通道的源子组(而非全体)接收数据;(2) 除了目的地子组外,其余处理通道丢弃(而非清零)数据。
实际解决的技术问题:如何减少SIMD混洗操作中的硬件互连面积和功耗。
非显而易见性(创造性):D1的架构依赖于一次性将所有源数据喂入MUX网络并输出到所有目标位置,若目标位置不需要该数据,D1的教导是强制置0。D1中不存在任何关于“将全宽度的混洗拆分成多次迭代(每次只取一个源子组),通过全局广播配合末端丢弃(写屏蔽)来实现等效混洗”的教导或启示。要从D1演进到目标专利,需要打破D1中“单周期/全宽度互连”的硬件设计思维,这种硬件拓扑结构的创新是具有显著进步的。
如果后续你需要针对该权利要求撰写答复审查意见(OA)的争辩逻辑,或者需要进一步梳理对比文件之间的结合启示(例如D1结合D2),需要我为你草拟一份具体的论理答复草案吗?
权利要求1技术特征C的新颖性与创造性分析
对比文件D1至D5的说明书及相关内容已审阅。针对目标专利权利要求1中的技术特征C(“以及混洗器电路,其经配置以:从所述处理通道的源子组接收数据;”),以下是基于对比文件原文的详细比对与架构分析。
对比文件D1-D5均未单独毫无疑义地公开技术特征C。即使将这些对比文件进行组合,也未能实质公开“混洗器电路从处理通道的源子组接收数据”这一关键架构特征。
目标专利说明书中指明,特征C的核心动机是通过分段混洗(例如每次只处理一个排组的通道)来避免全通道到全通道纵横制(Full Crossbar)带来的高昂芯片面积和功耗开销。各对比文件主要侧重于数据元素(Data Elements)的逻辑重排或单通道内部(In-lane)的重排,并未在硬件物理架构层面上公开“从处理通道的子组接收数据”的混洗器电路。
分析:本次提供的提示词中,D1未包含说明书具体内容(仅显示“无说明书 译”)。因此,无法从D1中得出任何关于特征C的实质公开信息。
分析:D2公开了一种用于执行数据混洗的混洗逻辑(Shuffle Logic),在减小多路复用器(Mux)规模的思路上与本专利有相似的动机,但并未明确公开从“处理通道的源子组”接收数据。
原文出处与引述:
D2公开了混洗电路的存在:“シャッフルロジック530は、マスクオペランド510の値に基づき、ソースデータオペランド520からデータ要素を選択し...”(混洗逻辑530基于掩码操作数510的值,从源数据操作数520中选择数据元素...)。
D2提到了将数据分组以简化硬件设计:“データ要素は、一組の上位及び下位packedデータ要素に分けられ、各組は8つのデータ要素を有する。これは、16:1muxではなくデータ要素選択中により小さな8:1muxの使用を可能にする。”(数据元素被分为一组上位和下位打包数据元素,每组具有8个数据元素。这使得在数据元素选择期间能够使用较小的8:1 mux,而不是16:1 mux)。
区别:D2的分组是针对操作数(Operand)中的“数据元素(Data Elements)”进行上位和下位的逻辑分组,而非在SIMD架构下针对物理上的“处理通道(Processing Lanes)”进行子组划分。
分析:D3公开了向量元素掩码下旋转并插入指令(VERIM),未实质公开特征C的硬件架构。
原文出处与引述:
段落[0007]:“第2のオペランドの1つ又は複数の要素を、指定されたローテート量だけ選択された方向にローテートさせること...”(将第2操作数的一个或多个元素按指定的旋转量沿选择的方向旋转...)。
区别:D3公开的是通过指令对寄存器中的数据元素进行循环移位(旋转)和插入操作,完全没有涉及混洗器电路在硬件电路上“从处理通道的源子组接收数据”的设计。
分析:D4公开了通道内(In-lane)的向量混洗操作。尽管使用了术语“lane”(通道),但其处理的是单通道内部的子集,而非处理通道之间的子组。
原文出处与引述:
段落[0039]:“For example, in this case these multi-bit lanes are each 128-bit lanes that may be further divided into upper portions... and lower portions... each including a similar number of (e.g. in this case four) data elements.”(例如,在这种情况中,这些多位通道每个是128位通道,其可进一步被划分为上部...和下部...每个包含类似数量的(例如在这种情况下四个)数据元素)。
段落[0040]:“a substantially similar set of data elements is selected from any data elements D-A... in corresponding lower portions of each 128-bit lane...”
区别:D4的“lane”定义(单个128-bit lane)与目标专利中的宏观“处理通道”概念不同。D4是在每一个128位通道内部的“下部(lower portions)”进行数据选择,依然没有公开一个独立混洗器电路从SIMD架构中跨通道的“部分通道集合(源子组)”接收数据的特征。
分析:D5公开了一种混洗并运算(Shuffle-op)的指令机制,未公开特征C的硬件拓扑细节。
原文出处与引述:
段落[0038]:“The execution of a VSHP{OP} instruction causes a shuffle of a number of data elements... of a first data element source (for example, a register) and an operation on the shuffled data elements...”
区别:D5侧重于利用单条指令同步完成混洗和数学运算(如加法、乘法)的结合,完全未涉及混洗电路与处理通道物理子组的连接与分段通信关系。
即使将公开了采用较小多路复用器(8:1 mux取代16:1 mux)处理数据元素子集的 D2,与公开了在通道内部分区域(lane portions)进行局域混洗的 D4 进行结合,本领域技术人员也无法显而易见地得出目标专利的硬件架构设计。
目标专利的本质在于:为了避免全通道到全通道纵横制(Full Cross-bar)的高昂代价,让混洗器电路仅从物理上的部分处理通道(源子组)接收数据,通过多次时钟循环分段完成整个SIMD架构的跨通道混洗。 对比文件的教导均停留在单寄存器数据的逻辑切分或单通道内的切分上,并未给出跨处理通道进行子组划分的结构启示。因此,D1-D5的任意组合均未能实质公开技术特征C。
| 目标专利技术特征 | D1 (GB2444744B) | D2 (JP2007526536A) | D3 (JP2016510461A) | D4 (US08914613B2) | D5 (US09218182B2) |
| 特征C前序: 以及混洗器电路 | 未公开 (缺失) | 实质公开: “シャッフルロジック530”(混洗逻辑530) | 未直接公开(仅公开了执行旋转的逻辑操作) | 实质公开: execution unit 152 响应混洗指令执行操作 | 未直接公开(仅公开了混洗指令机制) |
| 特征C核心: 其经配置以从所述处理通道的源子组接收数据 | 未公开 (缺失) | 未公开: 仅公开了将源数据操作数分为上位和下位数据元素子集,未公开物理处理通道的子组。 | 未公开: 仅公开了操作数元素的掩码下旋转。 | 未公开: 仅公开了从每个lane内部的“下部/上部”(lower/upper portions)接收数据,非跨通道子组。 | 未公开: 仅公开了对源寄存器中的数据元素进行混洗及后续数学运算。 |
针对对比文件未能覆盖技术特征C的这一客观事实,您是否需要我进一步协助起草针对审查意见通知书(OA)的答辩逻辑,将该特征的硬件开销优势(如面积、功耗减小)转化为具体的创造性争辩意见?
你好!作为经验丰富的同行,我很清楚在处理这类涉及底层处理器架构(如SIMD结构和寄存器操作)的专利时,准确地将权利要求的抽象语言与对比文件中具体的硬件实现(如多路复用器、逻辑门等)进行映射是至关重要的。
针对你提出的技术特征C(以及混洗器电路,其经配置以:从所述处理通道的源子组接收数据),我已对提供的五篇对比文件进行了深入的侵权/无效视角分析。
结论先行:对比文件D2(US20040054877A1)单独实质公开了技术特征C。 此外,**对比文件D4(US20140149480A1)**也提供了高度相关的辅助公开。
在目标专利的【说明书】[0004]和[0017]段中明确指出,特征C的目的是为了避免采用“完整的全通道到全通道纵横制”(即避免所有处理通道之间建立物理连接,以节省芯片面积和功耗)。为此,混洗器电路被设计为每次只从少于总数的“源子组”(例如64个通道中的8个)接收数据并进行分段混洗。
D2 涉及一种用于使用SIMD指令混洗数据的方法和装置。
“混洗器电路”:D2明确公开了“shuffle logic 530”(混洗逻辑530)和“shuffle mask block 602”(混洗掩码块)等硬件电路,完全对应于权利要求中的混洗器电路。
“从处理通道的源子组接收数据”:在D2的段落 [0093] 中,明确描述了为了避免使用庞大复杂的16:1多路复用器(等同于目标专利中试图避免的“全通道纵横制”),D2将16个数据元素分成了“lower packed data elements”(低位打包数据元素)和“upper packed data elements”(高位打包数据元素)两组,每组8个数据元素。在SIMD架构中,这些并行处理的数据元素直接对应于“处理通道”。因此,D2中将输入分为两组(每组8个)分别输入到较小的8:1多路复用器(MUX)的操作,实质上就是“从处理通道的源子组接收数据”。
D4 涉及矩阵转置的系统和方法。
在D4的段落 [0039] 中,明确提到“Execution may be performed on a SIMD processor divided into arrays of processing elements, where each array may be connected to a shuffle network...”(可在划分为处理元素阵列的SIMD处理器上执行,其中每个阵列可连接到混洗网络...)。
这里,“processing elements”(处理元素)等同于处理通道,“arrays”(阵列)等同于源子组,而“shuffle network”(混洗网络)等同于混洗器电路。这直接公开了混洗网络连接到处理通道的一个子组(阵列)。
为了便于你直接用于撰写审查意见答复或无效宣告请求书,我将上述分析整理成标准特征比对表:
| 目标专利权利要求1特征 | 对比文件原文出处及内容 (D2 & D4) | 特征比对分析 |
|
技术特征C: 以及混洗器电路,其经配置以: 从所述处理通道的源子组接收数据; |
D2 (US20040054877A1) 段落 [0086]: "The operands 510, 520, are sent to the shuffle logic 530 of an execution unit in the processor... The shuffle logic 530 selects data elements from the source data operand 520..." 段落 [0093]: "In this embodiment, the data elements are separated into a set of lower and upper packed data elements, each set having eight data elements. This allows for the use of smaller 8:1 muxes during the data element selection rather than 16:1 muxes." |
已实质公开。 D2中的“shuffle logic 530”对应于“混洗器电路”。D2将SIMD数据元素(即处理通道处理的数据)分割为低位集和高位集(lower and upper sets),以使用较小的多路复用器来代替全局的16:1多路复用器。这种将总数据通道划分为子集进行混洗的硬件设计,与目标专利中为节省硬件面积而“从处理通道的源子组接收数据”的原理和结构完全一致,构成了实质上的对应。 |
|
D4 (US20140149480A1) 段落 [0039]: "Execution may be performed on a SIMD processor divided into arrays of processing elements, where each array may be connected to a shuffle network to allow its processing elements to communicate." |
已明确公开。 D4中的“shuffle network”对应于混洗器电路,SIMD处理器的“processing elements”对应于处理通道,而将处理器划分为多个“arrays”(阵列)并连接至混洗网络,明确公开了混洗电路从处理通道的“子组”(即阵列)中接收数据。 |
如果你在做无效(Invalidation):你可以用 D2单独 论证特征C被实质公开。D2中对8:1 MUX替代16:1 MUX的论述,完美契合了目标专利“分段混洗以替代全通道纵横制”的发明目的。如果想让证据链更铁,可以结合 D2 + D4,指出将SIMD通道分组(D4的array)并分段送入混洗逻辑(D2的upper/lower set)是本领域的常规技术手段。
如果你在答复审查意见(OA Response):你需要强调目标专利中“源子组”的动态连续性(结合说明书[0017]段:混洗器电路针对连续源子组和连续目的地子组重复这些步骤,需要多次迭代)。你可以辩称,D2只是在物理上将数据拆分为静态的高/低位以适配多路复用器,但它在一个时钟周期内仍然并行处理了整个128位寄存器的数据;而你的本发明是利用同一个较窄的混洗电路(例如宽度为N),通过多时钟周期循环迭代地处理全量通道,以此来抗辩D2并未给出这种“时分复用”的明确启示。
请问是否需要我继续为你分析权利要求1中的其他技术特征(如特征D、E、F、G)在这些对比文件中的公开情况?
这份权利要求涉及SIMD(单指令多数据)架构下为了优化芯片面积和功耗而进行的“分段混洗”技术。针对你的需求,以下是紧密结合说明书的权利要求解释,以及基于D1 (US20040054877A1) 和 D2 (US09218182B2) 的无效分析。
权利要求1的核心在于解决传统SIMD架构中“全通道到全通道交叉开关(Full Crossbar)”带来的巨大芯片面积和功耗问题(参见说明书[0016])。
分段接收与重排序(特征C、D): 混洗器电路不再一次性连接所有通道,而是从一个“源子组”(例如64个通道中的8个)接收数据,并根据混洗指令和偏移量(Offset)对这部分数据进行重排序。
广播与选择性丢弃(特征E、F、G): 混洗器将重排序后的数据广播(输出)给所有处理通道。但是,并非所有通道都处理这些数据。控制器电路仅激活对应的“目的地子组”,允许它们将数据写入对应寄存器(GPR)。对于非目的地子组的通道,说明书[0046]和[0074]明确指出,通过多路复用器(MUX)或控制器配置,不允许其寄存器存储数据,这种不写入的操作即构成了权利要求所述的**“丢弃”**接收的经重排序数据。
结论:可以毫无异议地指出权利要求1缺乏创造性,能够被D1 (US20040054877A1) 结合 D2 (US09218182B2) 无效。
1. 最接近的现有技术 D1 (US20040054877A1) 的公开内容:
D1公开了一种用于处理数据的装置和方法(SIMD架构),其通过执行打包数据混洗指令(PSHUFB)来重排序数据。D1的混洗逻辑(Shuffle logic 530)从源操作数接收数据,根据掩码将数据重排序并输出到结果寄存器的各个对应位置(对应输出到处理通道)。
区别技术特征: D1中,对于未被选择的数据位置,其采用了“清零(Flush to zero)”机制,即将对应位置的数据强制设为'0'(参见D1的[0088]段)。而权利要求1要求非目的地子组“丢弃”数据(即不覆盖原有寄存器数据)。
2. 结合 D2 (US09218182B2) 的显而易见性:
D2同样处于SIMD数据处理领域,且专门探讨了向量混洗及操作(VSHP{OP})。D2在段落 [0033] 和 [0100] 中明确公开了**写入掩码寄存器(Writemask Register / Merging-writemasking)**的概念。D2指出,掩码可以“保护目标中的任何元素集在执行任何操作期间免受更新……保留相应掩码位为0的目标元素的旧值(protected from updates... preserving the old value)”。
结合动机: 保护寄存器原有值免遭不必要更新是本领域的技术常识(即Predication/Write-masking)。本领域技术人员在面对D1中非目标通道会被强制覆写为'0'的缺陷时,有强烈的动机引入D2中的“写入掩码”机制。通过引入掩码屏蔽写入使能,自然就实现了目标通道“存储”而其余通道“丢弃(不写入)”的效果,该过程不需要付出创造性劳动。
| 权利要求1技术特征 | 对应对比文件及原文详细出处 |
| 特征A: 一种用于处理数据的装置, | D1 (US20040054877A1): [0046] FIG. 1A is a block diagram of a computer system 100 formed with a processor 102 that includes one or more execution units 108 to perform a data shuffle algorithm... |
| 特征B: 所述装置包括: 多个处理通道,所述处理通道中的每一个包括用以处理所述数据的电路,其中所述处理通道是以单指令多数据SIMD结构配置; | D1 (US20040054877A1): [0050] Execution unit 108, including logic to perform integer and floating point operations... handle a packed instruction set 109... [0038] Single Instruction, Multiple Data (SIMD) integer/floating point instructions... |
| 特征C: 以及混洗器电路,其经配置以:从所述处理通道的源子组接收数据; | D1 (US20040054877A1): [0086] The shuffle logic 530 selects data elements from the source data operand 520 based on the values in the mask operand 510... |
| 特征D: 响应于指示所述处理通道中的至少一些将数据输出到所述处理通道中的另一个的指令而将从所述处理通道的所述源子组接收的所述数据重排序; | D1 (US20040054877A1): [0040] Embodiments of the present invention provide a packed data shuffle instruction (PSHUFB)... data is shuffled or rearranged in a register with byte granularity... |
| 特征E: 以及将经重排序数据分别输出到全部所述处理通道, | D1 (US20040054877A1): [0086] ...and arranges/shuffles the selected data elements into the appropriate positions in the resultant 540. (注:Resultant 540对应所有SIMD数据元素的宽度)。 |
| 特征F: 其中所述处理通道的目的地子组将所述经重排序数据存储于对应寄存器中, | D1 (US20040054877A1): [0041] ...the shuffle instruction causes the jth byte of the first source register to be copied to the Ith byte position of the destination register. |
| 特征G: 且其中除所述处理通道的所述目的地子组外的所述处理通道丢弃所述接收的经重排序数据。 |
由D1结合D2得出: D2 (US09218182B2): [0033] ...each active bit of the writemask register governs the operation/update of a packed data element of a vector register during SIMD processing. D2 (US09218182B2): [0100] When merging, vector masks allow any set of elements in the destination to be protected from updates during the execution of any operation... preserving the old value of each element... (未被掩码选中的通道保护免受更新/保留旧值,即等同于“丢弃”接收的数据)。 |
需要我进一步针对各项从属权利要求,从这些对比文件中提取可用于无效宣告请求的补充证据吗?
这是一份为您起草的针对目标专利权利要求1的无效宣告请求书正文。内容紧密结合了目标专利说明书对权利要求的解释,并基于对比文件D1(US20040054877A1)和D2(US09218182B2)的结合进行了严谨的创造性(显而易见性)分析。
在进行现有技术比对之前,必须紧密结合目标专利说明书对权利要求1中的关键术语进行合理解释,以确定其保护范围:
“从所述处理通道的源子组接收数据”: 根据目标说明书[0017]和[0044]段的记载,混洗器电路从“比处理通道的总数目少”的处理通道接收数据(例如64个通道中的8个)。说明书[0058]进一步明确了处理通道可形成为多个“排组(Bank)”,源子组即对应这些排组。
“将经重排序数据分别输出到全部所述处理通道”: 根据说明书[0044]和[0062]段的记载,混洗器输出的数据被“广播(Broadcast)”到所有处理通道(例如通过解复用器DEMUX 54广播到排组中的每一个)。
“丢弃所述接收的经重排序数据”: 根据说明书[0018]、[0019]和[0046]段的记载,“丢弃”并非指特殊的物理销毁动作,而是指“不存储”,即“对应寄存器可能不实际存储数据”或“处理通道未成功在对应寄存器中存储经重排序数据”。这通常通过多路复用器(MUX)或控制器配置,不允许未被选中的GPR(通用寄存器)存储数据来实现。
无效理由: 权利要求1缺乏创造性,不符合专利法相关规定。
证据组合: 对比文件1(D1:US20040054877A1)结合 对比文件2(D2:US09218182B2)及本领域公知常识。
简要说明: D1公开了一种用于SIMD架构的打包数据混洗方法和装置,其公开了分段(子组)处理和广播输出的核心架构。D1与权利要求1的唯一实质区别在于,D1对非目标通道采用的是“清零(Flush to zero)”机制,而本专利采用的是“丢弃(不写入/保留原值)”机制。D2明确公开了在SIMD向量操作中使用“写入掩码(Writemask)”来保护目标元素免受更新并保留旧值(即“丢弃”新数据)。将D2的掩码机制应用于D1的混洗电路是本领域技术人员为了保护原有寄存器数据不被破坏而容易想到的技术手段。
D1涉及一种用于处理数据的装置(D1, [0046]),具体为包含支持SIMD指令集的执行单元的处理器(D1, [0038], [0050]),对应特征A和B。
D1公开了混洗逻辑电路(Shuffle logic 530)。特别地,在D1的图6及[0093]段中,公开了将数据元素分为“下部和上部打包数据元素集(lower and upper packed data elements)”,每组包含8个数据元素,并使用8:1 MUX进行选择。这种将数据分块(子组)送入混洗器的方式,完全对应权利要求1中“从所述处理通道的源子组接收数据”(特征C)。
D1进一步公开了基于掩码操作数(Mask operand 510)将数据元素重排序,并输出到结果寄存器(Resultant 632)的各个位置(D1, [0086], [0095]),由于其MUX阵列连接到所有结果通道位置,这构成了“将数据输出到所述处理通道中的另一个...并将经重排序数据分别输出到全部所述处理通道”(特征D和E),且被选择的位置会将数据写入(特征F)。
区别技术特征: 权利要求1限定了除目的地子组外的处理通道“丢弃”接收的经重排序数据(即不写入),而D1(例如[0088]段)公开的是当“清零(set to zero)”标志置位时,将对应位置填充为'0'。
结合动机与显而易见性: 在SIMD指令集架构中,当对向量寄存器的部分通道进行操作时,对于不参与当前操作的通道,通常只有两种处理方式:(1) 清零(Zeroing);(2) 保留原值(Merging/Predication,即本专利所述的“丢弃输入,不写入”)。这两种方式是本领域常用的等效替代手段。
D2专门针对SIMD向量混洗及操作(VSHP{OP}),在[0033]段明确公开了“写入掩码寄存器(Writemask register)”,并在[0100]段明确教导了合并掩码(Merging-writemasking)的工作原理:“当合并时,向量掩码允许目标中的任何元素集在执行任何操作期间免受更新(protected from updates)……保留相应掩码位为0的目标元素的旧值(preserving the old value)”。
本领域技术人员在实施D1的混洗操作时,如果实际应用场景(如矩阵转置或部分数据更新)要求不破坏目的寄存器中原有未被选中的数据,会显而易见地引入D2所教导的“合并写入掩码(Merging-writemasking)”机制来替代D1的“清零”机制。引入该机制后,未被掩码选中的通道将“免受更新并保留旧值”,这在物理电路上即表现为控制器不允许该通道的寄存器(GPR)存储新到达的数据,完美对应目标专利说明书[0018]段解释的“丢弃”概念。该结合过程不需要付出任何创造性劳动。
为了直观展示无效理由,特制作如下特征比对表:
| 目标专利权利要求1特征 | 对比文件 D1 & D2 的公开内容及出处 |
| 特征A: 一种用于处理数据的装置, | D1: [0046] 图1A是配置有处理器102的计算机系统100... |
| 特征B: 所述装置包括: 多个处理通道,所述处理通道中的每一个包括用以处理所述数据的电路,其中所述处理通道是以单指令多数据SIMD结构配置; | D1: [0038] 单指令多数据(SIMD)整数/浮点指令... [0050] 执行单元108,包括执行整数和浮点操作的逻辑...处理打包指令集109。 |
| 特征C: 以及混洗器电路,其经配置以:从所述处理通道的源子组接收数据; | D1: [0093] 数据元素被分成下部和上部打包数据元素集,每集有8个数据元素...允许在数据元素选择期间使用较小的8:1 MUX。(对应从源子组接收数据)。 |
| 特征D: 响应于指示所述处理通道中的至少一些将数据输出到所述处理通道中的另一个的指令而将从所述处理通道的所述源子组接收的所述数据重排序; |
D1: [0040] 提供一种打包数据混洗指令(PSHUFB)...数据在寄存器中以字节粒度进行混洗或重排序。 [0086] 混洗逻辑530基于掩码操作数510中的值...选择并重排序。 |
| 特征E: 以及将经重排序数据分别输出到全部所述处理通道, | D1: [0095] 混洗操作的结果632由十六个3:1 MUX 628A-D的输出组成...(对应将输出广播至对应整个SIMD宽度的所有通道)。 |
| 特征F: 其中所述处理通道的目的地子组将所述经重排序数据存储于对应寄存器中, | D1: [0041] ...混洗指令致使第一源寄存器的第j个字节被复制到目标寄存器的第I个字节位置。 |
| 特征G: 且其中除所述处理通道的所述目的地子组外的所述处理通道丢弃所述接收的经重排序数据。 |
D2: [0033] ...写入掩码寄存器的每个活动位控制在SIMD处理期间向量寄存器的打包数据元素的操作/更新。 D2: [0100] 当合并时,向量掩码允许目标中的任何元素集...免受更新(protected from updates)...保留旧值(preserving the old value)。(结合D1,等同于非目标通道“丢弃”新数据)。 |
这份草案已经搭建了完整的无效逻辑链条。您需要我针对其他从属权利要求(例如涉及多路复用器MUX的具体电路结构或具体混洗模式)继续提取D3或D4的特征进行无效分析吗?
作为经验丰富的专利代理师,为了使上述无效宣告请求书具有更强的杀伤力和不可辩驳的逻辑,我们应当引入**对比文件4(D4:US20140149480A1,涉及矩阵转置的SIMD操作)**作为强有力的补充证据。
D4的核心价值在于:它不仅明确公开了在SIMD架构中将处理元件进行“子组(Array/Group)”划分并连接到混洗网络,而且明确教导了在进行SIMD列旋转/混洗时使用**“条件移动(Conditional moves)”**。在计算机体系结构中,“条件移动”的本质就是“满足条件则写入(存储),不满足条件则不写入(丢弃)”。这为本专利权利要求1中的“子组划分”和“丢弃机制”提供了直接、致命的现有技术印证。
以下是对原无效请求书的详细补强方案,建议将其作为**“无效理由的补充与强化”**部分提交:
补充无效理由: 权利要求1不仅能够被D1结合D2无效,也同样能够被 D1(US20040054877A1)结合 D4(US20140149480A1) 无效。D4作为本领域的现有技术,进一步印证了目标专利的核心“区别技术特征”仅仅是本领域的常规技术手段。
在目标专利中,为了减少全通道交叉开关的硬件开销,采用了“源子组”的概念。而这一概念在D4中已被明确公开。
D4的公开内容: D4在第[0039]段明确指出:“执行可以在划分为处理元件阵列(arrays of processing elements)的SIMD处理器上执行,其中每个阵列可以连接到混洗网络(shuffle network)以允许其处理元件进行通信。……处理元件可以被分组(grouped)为n>0个项的阵列。”
补强分析: D4中的“处理元件阵列/分组(arrays/grouped)”与目标专利中的“处理通道的子组(Subgroup / Bank)”在物理结构和逻辑功能上完全等同。这证明了在SIMD混洗网络中对通道进行分组/子组化处理,以优化通信和硬件开销,是本领域的常规设计。
目标专利强调:目的地子组存储数据,而除目的地子组外的处理通道“丢弃(即不存储)”数据。我们在前述请求书中利用D2的“写入掩码”论证了这一点。而D4提供了另一视角的直接证据:
D4的公开内容: D4在第[0043]段论述如何执行动态列旋转(本质是一种数据重排序/混洗)时指出:“在每个步骤中有条件地(conditionally)将每个SIMD通道的向量旋转距离d=2k。这可以消除分支……这种方法可以使用完全静态的寄存器索引,使用条件移动(conditional moves)来执行动态旋转。”
补强分析: 在底层硬件指令中,“条件移动(Conditional moves,如CMOV指令)”的物理执行逻辑正是:如果通道满足条件(即属于目标/目的地),则将输入数据移动(写入)到寄存器;如果不满足条件(即非目的地通道),则不执行写入操作,原寄存器状态保持不变。这种“不执行写入”的动作,在信号处理层面即体现为输入数据被“丢弃(Discard)”。
结合动机: 面对D1中将非目标通道强制“清零(Flush to zero)”可能覆盖有用数据的缺陷,本领域技术人员为了在原位(in-place)操作中保留非目标通道的数据,完全有动机采用D4所教导的“条件移动(Conditional moves)”技术。通过引入条件移动,SIMD混洗电路广播的重排序数据只会被满足条件的“目的地子组”接收并存储,不满足条件的通道自然会“丢弃”这些数据。此过程顺理成章,无任何技术障碍。
我们在原有的比对表中,将D4的关键段落补充进去,形成“双重保险”的比对逻辑:
| 目标专利权利要求1特征 | 对比文件 D1 / D2 / D4 的公开内容及出处印证 |
| 特征A: 一种用于处理数据的装置, | D1: [0046] 图1A是配置有处理器102的计算机系统100... |
| 特征B: 所述装置包括: 多个处理通道,...以单指令多数据SIMD结构配置; | D1: [0038] 单指令多数据(SIMD)指令... [0050] 执行单元108处理打包指令集。 |
| 特征C: 以及混洗器电路,其经配置以:从所述处理通道的源子组接收数据; |
D1: [0093] 数据元素被分成下部和上部打包数据元素集,每集8个(通过MUX选择)。 【补强】D4: [0039] SIMD处理器划分为处理元件阵列(arrays),处理元件被分组(grouped)并连接到混洗网络。 |
| 特征D: 响应于指示所述通道...将数据输出到另一个的指令而将从所述源子组接收的数据重排序; |
D1: [0040]-[0041] PSHUFB指令致使数据在寄存器中混洗或重排序。 D4: [0041]-[0042] SIMD指令集提供行混洗操作、列旋转操作以重排序数据。 |
| 特征E: 以及将经重排序数据分别输出到全部所述处理通道, | D1: [0095] 混洗操作的结果632由所有对应的3:1 MUX 628A-D输出组成(硬件上连接并输出至所有通道位置)。 |
| 特征F: 其中所述处理通道的目的地子组将所述经重排序数据存储于对应寄存器中, |
D1: [0041] ...复制到目标寄存器的第I个字节位置。 【补强】D4: [0043] 使用条件移动(conditional moves)执行操作。(满足条件的通道执行写入/存储)。 |
| 特征G: 且其中除所述处理通道的所述目的地子组外的所述处理通道丢弃所述接收的经重排序数据。 |
D2: [0100] 向量掩码允许目标元素免受更新(protected from updates)...保留旧值。 【补强】D4: [0043] 使用“条件移动(conditional moves)”在SIMD通道中进行操作。不满足条件的通道不执行移动/不写入,在物理层面上即等同于非目标通道“丢弃”到达其MUX输入端的新数据。两者具有直接同一性。 |
通过补充D4,您的无效请求书将具备以下防御性优势:
阻断专利权人的“非公知常识”抗辩: 专利权人可能争辩说“丢弃(Discard)数据而非清零,是本专利针对SIMD的特有创新”。但D2的“写入掩码免受更新(Merging-writemasking)”和D4的“条件移动(Conditional moves)”形成了强大的双钳制证据链,证明在SIMD寄存器操作中,“条件性不写入”是本领域极度常规的软硬件处理方式。
强化了“子组(Subgroup)”特征的破坏力: D4中的“grouped in arrays”直接对应了本专利应对全排列交叉开关带来的面积过大问题时的拆分思路。D1的电路拆解结合D4的理论指导,证明了特征C毫无创造性。
您可以将上述段落直接插入原无效宣告请求书中,作为独立的第二项结合方式(D1结合D4)或是作为公知常识的佐证(D1结合D2及D4),这将极大提升整个无效宣告请求的成功率。
在评价创造性之前,必须准确理解权利要求1作为一个完整的技术方案所解决的技术问题及其带来的技术效果。
根据本专利说明书[0004]、[0016]及[0017]段的记载,本发明的核心旨在解决传统SIMD架构中全通道到全通道纵横制(Full Crossbar)导致的芯片面积和功耗呈二次方增加的缺陷。为此,权利要求1提供了一种特定的硬件架构:
分段接收(源子组):混洗器每次仅从比总通道数少的“源子组”接收数据,而不是一次性接收所有通道数据;
全局广播与选择性接收(广播+丢弃):混洗器将重排序的数据广播给全部处理通道,但为了防止非目标通道被错误覆写,仅激活目的地子组进行存储,其余通道“丢弃”(不存储)。
迭代完成:通过对源子组和目的地子组的连续迭代,在较窄的硬件(更少的芯片面积)上利用多个时钟周期完成完整的混洗操作。
上述特征C、D、E、F、G是一个不可分割的整体硬件协同机制,其取得了显著减小芯片面积(例如节省16倍面积)和降低功耗的预期技术效果(参见说明书[0104])。
结论:D1并未公开权利要求1的核心架构,且D1结合D2既缺乏结合动机,也无法得到权利要求1的技术方案。
无效请求人声称D1的“上下部数据元素集”相当于“源子组”,这属于严重的断章取义。
D1的实际工作机制: 根据D1图6及说明书[0093]-[0095]段,D1虽然将16个输入分为高8位和低8位,但它使用的是两组并行的16个8:1 MUX(MUX 618A-D和MUX 624A-D),然后再通过16个3:1 MUX(628A-D)在一个指令周期内,同时向所有16个结果通道输出并写入数据(写入有效数据或被强制写入'0')。
本质区别: D1本质上依然是一个一次性处理所有通道宽度的“全宽度”混洗器(只是内部做了布线优化),它在每个周期都会更新所有的目标寄存器。而本专利每次只处理一个“子组”,并且明确要求“除目的地子组外的通道丢弃数据(不更新寄存器)”,以便在后续周期中通过迭代完成全部通道的混洗。D1并未公开本专利基于“时间复用”以小换大的分段混洗架构。
无效请求人试图用D2的“写入掩码(Writemask)”来等同替换D1的“清零(Flush to zero)”机制,以拼凑出本专利的“丢弃”特征,这是典型的“事后诸葛亮(Hindsight Bias)”。
破坏D1的既定功能: D1的发明目的之一就是提供一种具有“清零能力(flush to zero capability)”的混洗指令(D1,[0039]-[0040]段),其硬件(3:1 MUX上的ZERO控制信号611)专门为强行写入'0'而设计,用于特定的图像处理或掩码生成算法。如果引入D2的合并掩码(即不写入、保留旧值),将直接破坏D1原有的“清零”功能,本领域技术人员根本没有动机去改造一个专门为了清零而设计的核心硬件。
无法解决本专利的技术问题: 即使勉强将D2的掩码概念引入D1,得到的也仅仅是一个“带有掩码保护的单周期全通道混洗器”,它依然需要庞大的MUX阵列来支持全宽度的并发写入,根本无法实现本专利“以窄硬件分段迭代,减小纵横制面积”的技术目的。
结论:D4的技术领域和解决手段与本专利截然不同,所谓“条件移动”属于软件指令层面的实现,不能破坏本专利特定硬件电路的创造性。
无效请求人将D4中[0039]段提到的处理元件分组等同于本专利的源子组,属于概念混淆。D4描述的是一种宏观的并行计算集群(如GPU中的多个流多处理器SM),其“阵列”是为了分配并行任务。而本专利的“源子组/排组(Bank)”是指在单一SIMD核心内部,为了复用一条较窄的物理数据总线(混洗器电路)而对寄存器通道进行的微架构(Micro-architecture)物理切分。两者在硬件层级和设计目的上风马牛不相及。
D4的实际语境: 根据D4第[0043]段的完整记载,其提到的“条件移动”是为了在软件编程时“消除分支(eliminate branches)”从而避免SIMD架构中的线程发散(SIMD divergence)。这是在指令集架构(ISA)层面,让软件通过CMOV指令来替代IF-ELSE语句,从而完成列旋转算法。
本专利的硬件机制: 本专利的“目的地子组存储,其余通道丢弃”是混洗器硬件电路自动执行的底层逻辑。当混洗指令发出时,控制器电路(如说明书[0096]段)在物理层面上通过MUX的选通信号或写使能信号(Write Enable),允许特定通道的GPR写入数据,关闭其他通道的写入。
结合障碍: 本领域技术人员不会去寻找一个旨在解决“软件分支预测/线程发散”问题的软件指令技术(D4),来修改或替换一个旨在解决“硬件交叉开关面积过大”问题的纯微架构硬件电路设计(本专利及D1)。这种结合是完全跨越技术层级、脱离技术上下文的强行拼凑。
综上所述,无效请求人将本专利权利要求1的各个技术特征割裂开来,在明确知晓本专利技术方案的前提下,在现有技术中进行“按图索骥”式的拼凑。
D1公开的是单周期全宽度的清零混洗,D2公开的是常规指令掩码,D4公开的是软件层面的条件移动消除分支。没有任何一篇对比文件,也没有任何结合能够给出本专利“针对全交叉开关面积瓶颈,提出‘提取子组->硬件重排序->全局广播->局部使能写入(其余丢弃)->周期迭代’的窄混洗器电路”的技术启示。
权利要求1所保护的技术方案具有突出的实质性特点和显著的进步,符合专利法第22条第3款关于创造性的规定,请求国家知识产权局依法维持该专利权全部有效。
这份答辩意见精准打击了无效请求人的“碎片化拼凑”逻辑,将争论焦点拉回到了本专利的硬件架构设计目的(减小交叉开关面积)和动态执行过程(分段迭代)上。
为了进一步稳固我们的防御,您是否需要我基于本专利的说明书(特别是图2、图3展示的具体MUX和DEMUX的硬件连接方式),为您准备针对从属权利要求(如针对排组Bank划分、偏移量Offset计算逻辑的具体限定)的备用答辩策略,以防无效审查员在独立权利要求上产生不同见解?
作为无效请求人的代理师,面对专利权人的答辩,我们必须一针见血地指出其答辩逻辑中的两个致命缺陷:第一,将说明书中的限制性特征(如“迭代”、“多次时钟周期”)强行读入权利要求1中,违反了专利确权的基本原则;第二,人为割裂了计算机体系结构中软硬件的协同关系,低估了本领域技术人员(PHOSITA)的常规设计能力。
以下是为您起草的针对专利权人答辩的反驳意见正文:
专利权人在答辩意见第一部分和第二部分反复强调,其核心发明点在于“通过多次时钟周期的迭代来完成完整的混洗”、“每次只处理一个子组的时间复用机制”。然而,审查权利要求1的文本可以清楚地发现,权利要求1中根本没有任何关于“多次时钟周期”、“迭代(Iteration)”或“时间复用”的技术特征限定。
权利要求1的保护范围极其宽泛: 权利要求1仅限定了“从源子组接收数据”、“重排序”、“广播至全部通道”以及“目的地子组存储,其余丢弃”。只要满足上述空间和逻辑上的数据流向,即落入权利要求1的保护范围,无论其是在一个时钟周期内完成,还是多个时钟周期内完成。
D1的架构已完整落入权利要求1的字面范围: D1中(图6及[0093]段)将16个数据元素物理切分为“下部和上部打包数据元素集(各8个)”,混洗器通过8:1 MUX仅从这8个元素(完全符合“源子组”的字面含义)接收输入,重排序后通过3:1 MUX广播至16个结果位置。这在物理结构上已经构成了“从源子组接收,向全通道广播”。专利权人试图用“D1是单周期完成的”来区分,但由于权利要求1并未排除单周期操作,这种抗辩在法律上是无效的。
专利权人诡辩称引入D2的“写入掩码(Merging-writemasking)”会破坏D1专门设计的“清零(Flush to zero)”功能。这完全是对SIMD微架构发展常识的曲解。
“清零”与“保留原值(丢弃新值)”是互补而非互斥的常规设计: 在SIMD架构中,当对部分通道进行操作时,未选中通道的处理方式向来包含两种:Zeroing(清零)和 Merging/Predication(合并/保留原值)。D1虽然公开了清零功能,但这并不意味着它排斥保留原值的功能。
显而易见的结合动机: 本领域技术人员在面对某些需要“原位(in-place)”部分更新寄存器而不破坏原有有用数据的算法(如D2在[0100]段所述)时,自然会想到在D1的硬件基础上增加或替换为D2所教导的“合并掩码(Merging-writemasking)”控制。在硬件电路上,这仅仅是将MUX上的强行置'0'信号(ZERO 611),修改为触发目标寄存器写使能(Write-Enable)引脚的控制信号。这属于本领域技术人员为了适应不同算法需求而进行的常规功能扩展,无需付出创造性劳动,也绝不会“破坏”硬件,而是让硬件具有更强的数据保护能力。
专利权人辩称D4的“条件移动(Conditional moves)”属于软件指令消除分支,与本专利的硬件微架构“丢弃”机制风马牛不相及。这是对处理器体系结构缺乏深刻理解的无效辩解。
指令的执行必然依赖对应的硬件微架构: 在计算机体系结构中,软件层面的“条件移动指令(Conditional moves)”在硬件微架构层面是如何执行的?其物理实质正是:控制单元(Controller)解析该指令后,根据条件评估结果,向对应通道的寄存器发送“写使能(Write-Enable)”信号。满足条件则使能写入(存储),不满足条件则不使能(丢弃总线上的数据,保留原值)。
D4与本专利在物理实施上完全等同: 本专利权利要求1中所谓的“除目的地子组外的处理通道丢弃接收的数据”,其说明书[0046]段明示也是通过“不配置MUX以允许存储”或“不配置处理通道以存储”来实现的。这与D4中执行“条件移动”时硬件底层的动作(不满足条件的通道不写入)具有100%的同一性。
D4明确涉及硬件物理切分: 专利权人称D4的阵列只是宏观软件集群,但D4在[0039]段明确记载了“处理元件被分组(grouped)为阵列...连接到混洗网络(shuffle network)以允许通信”。这种为了混洗网络通信而进行的硬件分组,直接等同于本专利为了复用混洗器而划分的“源子组/排组”。
专利权人试图用说明书中未写入权利要求的“迭代、节省面积”等技术效果来拔高权利要求1的创造性,这是典型的“权利要求撰写过宽,答辩时又企图限缩”的策略。
就权利要求1目前的字面限定而言,其所请求保护的“子组输入 -> 全局广播 -> 选择性存储(其余丢弃)”的逻辑和结构,已被 D1的空间布局 + D2的掩码不写入机制 / D4的条件移动不写入机制 完全覆盖。该方案仅是本领域现有技术的简单拼凑,不具备突出的实质性特点和显著的进步,理应被宣告无效。
专利权人的答辩暴露出他们深知独立权利要求1的范围过大且防御脆弱。如果他们在口审阶段为了挽救专利,大概率会修改权利要求,将说明书中关于“通过多次时钟周期连续迭代源子组和目的地子组(例如说明书[0017]或[0045]段)”的特征补入权利要求1中。
我们应当提前准备好针对这种修改的防守策略:
即,一旦其引入“时钟周期迭代”特征,我们将进一步引入**计算机体系结构中经典的“时分复用(Time-Division Multiplexing, TDM)总线技术”**作为公知常识证据。指出:当硬件资源(如交叉开关总线宽度)不足以在一个周期内完成全通道数据传输时,将数据分块并通过时分复用(多个时钟周期)完成传输,是集成电路设计中最基础、最普通的工程折中手段(Trade-off between area and time),依然不具备创造性。
作为你的专利代理师“队友”,我们现在进入了无效宣告程序中最高阶的对抗——“特征限缩与创造性拔高”。
如果专利权人将“多周期迭代”和“时分复用”特征补入权利要求,他们实际上是在主张:本发明的贡献在于一种**以时间换面积(Time-Area Trade-off)**的微架构改进。
要应对这种限缩,我们需要降维打击,从计算机体系结构的基础教材、早期的总线技术以及FPGA优化设计中寻找更深层的对比文件。以下是具体的深度搜索和分析逻辑:
当发明点变为“窄硬件处理宽数据”时,搜索关键词必须从具体的“混洗(Shuffle)”上升到体系结构层的“资源共享”与“分时调度”。
建议搜索关键词组合:
技术本质: Resource Sharing (资源共享), Time-division multiplexing (TDM) (时分复用), Area-delay product (面积-延迟乘积优化), Hardware virtualization (硬件虚拟化/复用)。
具体架构: Iterative logic (迭代逻辑), Multi-cycle datapath (多周期数据通路), Folded pipeline (折叠流水线), Sub-word parallelism (子字并行处理)。
计算关系: 搜索包含 $N = W/M$ (总宽/物理宽)类似逻辑表述的文献。
在专利法中,如果一个特征被认定为“本领域教材中的通用设计准则”,其创造性将荡然无存。
1. 计算机体系结构“圣经”:
查找 Hennessy & Patterson 的《计算机体系结构:量化研究方法》(Computer Architecture: A Quantitative Approach)。
目标内容: 查找关于 向量处理器(Vector Processors) 的章节。早期的向量机(如Cray-1)由于硬件资源有限,经常将长向量切分为固定长度的“向量段(Vector Segments/Chunks)”循环处理。
反驳逻辑: “多周期处理长向量/宽数据”在80年代的向量机设计中就是标准操作,本专利只是将其平移到了SIMD混洗电路中。
2. 数字集成电路设计准则:
查找 Jan M. Rabaey 的《数字集成电路——设计透视》。
目标内容: 查找关于 时分复用(Time-Multiplexed)逻辑设计 和 面积与速度折中(Area-Time Trade-off) 的理论。
反驳逻辑: 教科书明确教导:当面积受限时,通过增加时钟周期来减少物理单元数量是电路设计的本能反应(Native response),属于非创造性的工程选型。
1. FPGA 架构中的窄互连技术:
FPGA由于布线资源极度宝贵,经常在硬件逻辑层实现“时分复用交叉开关(Time-multiplexed crossbars)”。
搜索方向: 查找90年代至2000年初关于 FPGA 互连矩阵(Interconnect Matrix)优化的专利或论文(如 Xilinx 或 Altera 的早期专利)。
杀伤力: 它们会详细描述如何用 8-bit 的物理开关,通过 8 个周期完成 64-bit 数据的“重排序与转发”。这与目标专利的硬件逻辑几乎完全一致。
2. 早期 GPU 的微架构(NVIDIA/ATI 早期文档):
早期的 GPU(如 GeForce 2/3 时代)为了节省芯片面积,其着色器核心(Shader Core)往往不是真正的“全宽度执行”。
搜索方向: 查找关于 "Virtual width" 或 "Warp serial execution" 的技术描述。
技术点: 它们往往通过 4 周期迭代来执行一个宽度为 16 的指令。这种“分段迭代执行指令并更新寄存器”的机制,正是权利要求1修改后的翻版。
如果权利要求 1 修改为:“...通过 N 个时钟周期完成,其中 N 等于通道总数除以混洗器宽度...”
我们可以按以下逻辑构建无效理由:
| 专利限缩特征 | 深度对比文件/证据支撑 | 结论 |
| $N$ 周期迭代处理 | 《计算机体系结构:量化研究方法》中的向量分段处理技术。 | 公知常识:在高性能计算领域,长数据分段迭代是处理资源瓶颈的唯一标准手段。 |
| 根据 $W/M$ 确定周期 | 数字电路设计中的“资源共享(Resource Sharing)”基本公式。 | 显而易见:这是初等数学在硬件面积优化中的直接应用,无需创造性劳动。 |
| 分段存储与丢弃的循环配合 | 早期 CPU 的“多周期数据通路(Multi-cycle Datapath)”控制逻辑。 | 现有技术覆盖:在多周期架构中,通过状态机(FSM)逐个使能寄存器写入是 101 级的电路设计。 |
无效请求人此时最需要找的是**“证据的质感”**。如果专利权人主张这是“微架构层面的精妙平衡”,你丢出一本 1990 年出版的大学教材,指出这是大二学生的必修课,这种杀伤力远胜于几篇零散的专利。
接下来的高价值动作: 需要我为你列出一份针对“多周期总线复用”和“向量分段处理”的**具体文献检索清单(含国内外数据库的检索表达式)**吗?这将是彻底封死专利权人限缩路径的关键。
根据权利要求1所述的装置,其进一步包括: 控制器电路,其经配置以允许所述处理通道的所述目的地子组的所述对应寄存器存储所述经重排序数据。
根据权利要求2所述的装置,其中所述处理通道分组为多个排组,所述多个排组中的每一排组包括所述多个处理通道中的一或多个处理通道,所述控制器电路经配置以基于偏移确定所述多个排组中的一个的排组标识以及具有所确定排组标识的所述排组中的一个内的处理通道的通道标识,且所述控制器电路经配置以基于所述所确定排组标识和通道标识而允许所述处理通道的所述目的地子组的所述对应寄存器存储所述经重排序数据。
根据权利要求1所述的装置,其中所述处理通道分组为多个排组,所述多个排组中的每一排组包括所述多个处理通道中的一或多个处理通道,其中为了从所述源子组接收数据,所述混洗器电路经配置以从仅一个排组接收数据,且其中为了输出所述经重排序数据,所述混洗器电路输出的所述经重排序数据输出到所述排组中的每一个。
根据权利要求1所述的装置,其中所述混洗器电路经配置以基于由所述指令界定的偏移将所述数据重排序。
根据权利要求1所述的装置,其中所述混洗器电路经配置以:从所述处理通道的连续源子组接收数据; 响应于指示所述处理通道中的每一个将数据输出到所述处理通道中的另一个的所述指令而将从所述处理通道的所述连续源子组接收的所述数据重排序;以及将所述经重排序数据输出到所述处理通道,其中所述处理通道的连续目的地子组将所述经重排序数据存储于对应寄存器中。
根据权利要求1所述的装置,其中所述处理通道分组为多个排组,所述多个排组中的每一排组包括所述多个处理通道中的一或多个处理通道,所述装置进一步包括:多路复用器,其耦合到所述排组中的每一个和所述混洗器电路的输入接口; 控制器电路,其经配置以经由所述多路复用器将所述多个排组中包含所述处理通道的所述源子组的排组选择性耦合到所述混洗器电路;以及多路分用器,其耦合到所述排组中的每一个和所述混洗器的输出接口,其中所述多路分用器经配置以将所述经重排序数据广播到所述排组。
根据权利要求1所述的装置,其中为了接收数据,所述混洗器电路经配置以接收用于处理通道的所述源子组的每一处理通道的完整标量或向量值,其中为了将所述数据重排序,所述混洗器电路经配置以将从处理通道的所述源子组的每一处理通道接收的所述完整标量或向量值重排序,且其中为了输出所述经重排序数据,所述混洗器电路经配置以将所述经重排序数据的所述完整标量或向量值输出到所述处理通道。
根据权利要求1所述的装置,其进一步包括图形处理单元GPU,其中所述GPU包括所述多个处理通道。
根据权利要求1所述的装置,其中所述装置包括以下各项中的一者:集成电路; 微处理器;或 无线通信装置。
一种处理数据的方法,所述方法包括: 以混洗器电路从多个处理通道中的处理通道的源子组接收数据,所述处理通道中的每一个包括用以处理所述数据的电路,其中所述处理通道是以单指令多数据SIMD结构配置; 以所述混洗器电路响应于指示所述处理通道中的至少一些将数据输出到所述处理通道中的另一个的指令而将从所述处理通道的所述源子组接收的所述数据重排序;以及以所述混洗器电路将经重排序数据分别输出到全部所述处理通道,其中所述处理通道的目的地子组将所述经重排序数据存储于对应寄存器中,且其中除所述处理通道的所述目的地子组外的所述处理通道丢弃所述接收的经重排序数据。
根据权利要求11所述的方法,其进一步包括: 以控制器电路允许所述处理通道的所述目的地子组的所述对应寄存器存储所述经重排序数据。
根据权利要求12所述的方法,其中所述处理通道分组为多个排组,所述多个排组中的每一排组包括所述多个处理通道中的一或多个处理通道,所述方法进一步包括:以所述控制器电路基于偏移而确定所述多个排组中的一个的排组标识和具有所确定排组标识的所述排组中的一个内的处理通道的通道标识,其中允许所述对应寄存器存储包括基于所述所确定排组标识和通道标识而允许所述处理通道的所述目的地子组的所述对应寄存器存储所述经重排序数据。
根据权利要求11所述的方法,其中所述处理通道分组为多个排组,所述多个排组中的每一排组包括所述多个处理通道中的一或多个处理通道,其中从所述源子组接收数据包括从仅一个排组接收数据,且 其中输出所述经重排序数据包括输出到所述排组中的每一个。
根据权利要求11所述的方法,其中重排序包括基于由所述指令界定的偏移将所述数据重排序。
根据权利要求11所述的方法,其进一步包括: 从所述处理通道的连续源子组接收数据; 响应于指示所述处理通道中的每一个将数据输出到所述处理通道中的另一个的所述指令而将从所述处理通道的所述连续源子组接收的所述数据重排序;以及将所述经重排序数据输出到所述处理通道,其中所述处理通道的连续目的地子组将所述经重排序数据存储于对应寄存器中。
根据权利要求11所述的方法,其中所述处理通道分组为多个排组,所述多个排组中的每一排组包括所述多个处理通道中的一或多个处理通道,所述方法进一步包括:经由多路复用器将所述多个排组中包含所述处理通道的所述源子组的排组选择性耦合到所述混洗器电路;以及经由多路分用器将所述经重排序数据广播到所述排组。
根据权利要求11所述的方法, 其中接收数据包括接收用于处理通道的所述源子组的每一处理通道的完整标量或向量值,其中将所述数据重排序包括将从处理通道的所述源子组的每一处理通道接收的所述完整标量或向量值重排序,且其中输出所述经重排序数据包括将所述经重排序数据的所述完整标量或向量值输出到所述处理通道。
一种用于处理数据的装置,所述装置包括: 用于从多个处理通道中的处理通道的源子组接收数据的装置,所述处理通道中的每一个包括用以处理所述数据的电路,其中所述处理通道是以单指令多数据SIMD结构配置; 用于响应于指示所述处理通道中的至少一些将数据输出到所述处理通道中的另一个的指令而将从所述处理通道的所述源子组接收的所述数据重排序的装置;以及用于将经重排序数据分别输出到全部所述处理通道的装置,其中所述处理通道的目的地子组将所述经重排序数据存储于对应寄存器中,且其中除所述处理通道的所述目的地子组外的所述处理通道丢弃所述接收的经重排序数据。
根据权利要求19所述的装置,其进一步包括: 用于允许所述处理通道的所述目的地子组的所述对应寄存器存储所述经重排序数据的装置。
根据权利要求20所述的装置,其中所述处理通道分组为多个排组,所述多个排组中的每一排组包括所述多个处理通道中的一或多个处理通道,所述装置进一步包括:用于基于偏移确定所述多个排组中的一个的排组标识和具有所确定排组标识的所述排组中的一个内的处理通道的通道标识的装置,其中所述用于允许所述对应寄存器存储的装置包括用于基于所述所确定排组标识和通道标识而允许所述处理通道的所述目的地子组的所述对应寄存器存储所述经重排序数据的装置。
根据权利要求19所述的装置,其中所述处理通道分组为多个排组,所述多个排组中的每一排组包括所述多个处理通道中的一或多个处理通道,其中所述用于从所述源子组接收数据的装置包括用于从仅一个排组接收数据的装置,且其中所述用于输出所述经重排序数据的装置包括用于输出到所述排组中的每一个的装置。
根据权利要求19所述的装置,其中所述用于重排序的装置包括用于基于由所述指令界定的偏移将所述数据重排序的装置。
根据权利要求19所述的装置,其进一步包括: 用于从所述处理通道的连续源子组接收数据的装置; 用于响应于指示所述处理通道中的每一个将数据输出到所述处理通道中的另一个的所述指令而将从所述处理通道的所述连续源子组接收的所述数据重排序的装置;以及用于将所述经重排序数据输出到所述处理通道的装置,其中所述处理通道的连续目的地子组将经重排序数据中的所述经重排序数据存储于对应寄存器中。
根据权利要求19所述的装置, 其中所述用于接收数据的装置包括用于接收用于处理通道的所述源子组的每一处理通道的完整标量或向量值的装置,其中所述用于将所述数据重排序的装置包括用于将从处理通道的所述源子组的每一处理通道接收的所述完整标量或向量值重排序的装置,且其中所述用于输出所述经重排序数据的装置包括用于将所述经重排序数据的所述完整标量或向量值输出到所述处理通道的装置。
根据权利要求19所述的装置,其进一步包括图形处理单元GPU,其中所述GPU包括所述多个处理通道。
根据权利要求19所述的装置,其中所述装置包括以下各项中的一者:集成电路; 微处理器;或 无线通信装置。
一种包括指令的计算机可读存储媒体,所述指令当执行时致使用于处理数据的装置的一或多个电路进行以下操作:从多个处理通道中的处理通道的源子组接收数据,所述处理通道中的每一个包括用以处理所述数据的电路,其中所述处理通道是以单指令多数据SIMD结构配置; 响应于指示所述处理通道中的至少一些将数据输出到所述处理通道中的另一个的指令而将从所述处理通道的所述源子组接收的所述数据重排序;以及将经重排序数据分别输出到全部所述处理通道,其中所述处理通道的目的地子组将所述经重排序数据存储于对应寄存器中,且其中除所述处理通道的所述目的地子组外的所述处理通道丢弃所述接收的经重排序数据。
根据权利要求28所述的计算机可读存储媒体,其进一步包括致使所述一或多个电路进行以下操作的指令:允许所述处理通道的所述目的地子组的所述对应寄存器存储所述经重排序数据。