**对比文件名称**:2014-07-03_发明申请_US20140184617A1 MID-PRIMITIVE GRAPHICS EXECUTION PREEMPTION
**目标专利名称**:一种用于数据处理的方法和设备 CN108140233B
**本次调用模型名称**:DeepSeek-R1
### **特征比对表格**
| 技术特征描述及公开性判断结果 | 对比文件原文引用(中文翻译) | 公开性论述 |
| **技术特征A**:响应于接收到绘制调用来使用图形处理单元GPU通过所述GPU的图形管线来执行第一组命令,所述绘制调用定义待通过执行所述第一组命令来渲染的一或多个基元。 | [0030]:“原始分发单元207接收被编码为图形基元并存储在存储器中的处理任务的指针。图形基元是由GPC 208渲染的基本图形对象,包括但不限于点、线段、三角形、三角形链和二次面片。指向图形基元的指针包含在作为推送缓冲区存储并由前端单元212从主机接口206接收的命令流中。”<br>[0054]:“图形处理管线400包括顶点着色器402、外壳着色器404……像素着色器418。” | 对比文件公开了GPU(通过其并行处理子系统112/PPU 202)接收包含图形基元指针的命令流(即绘制调用),并通过其图形处理管线400(包含顶点着色器、像素着色器等)执行相关的程序指令(即第一组命令)以渲染这些基元。这与目标专利特征A的作用相同,都是启动图形渲染过程。本领域技术人员能毫无疑义地得出该技术方案。 |
| **<<<A>>>** | ||
| **技术特征B**:在执行所述第一组命令期间且在渲染所有所述一或多个基元之前通过所述GPU来接收抢占通知。 | [0067]:“前端212然后断言抢占信号,并等待图形处理管线400内的各种着色器确认收到抢占信号。”<br>[0092]:“当在三角形的光栅化期间,在粗光栅区域边界处,可以抢占图形程序的执行。” | 对比文件明确描述了在图形处理管线执行期间(例如,在光栅化三角形期间,但尚未完成所有基元的渲染),GPU的前端单元212会接收或断言抢占信号(抢占通知)。这与目标专利特征B的作用相同,即在渲染完成前接收抢占指令。本领域技术人员能毫无疑义地得出该技术方案。 |
| **<<<B>>>** | ||
| **技术特征C**:响应于接收到所述抢占通知而至少通过第一硬件开关来将所述GPU的本地存储器的输出与所述图形管线的级断开连接。 | [0061]:“在抢占期间,光栅化管线410停止从数据缓冲区416读取顶点属性,并完成图形基元部分在粗光栅区域内的处理。光栅化管线410中直到并包括粗光栅器440的处理单元立即停止,并通过ramchain将当前状态保存到上下文状态存储器401。”<br>[0066]:“为了减少为中间基元抢占存储的上下文状态量,处理集群阵列230内的一些执行单元被耗尽,而其他单元在处理期间的关键点被停止。” | 对比文件描述了响应于抢占,图形管线中的某些级(如粗光栅器440及之前的单元)被立即“停止”,并且它们与后续处理的数据流被中断(例如,停止从数据缓冲区读取)。数据缓冲区416作为本地存储器的一种形式(位于L2缓存405中)。虽然对比文件没有明确使用“第一硬件开关”这一术语,但其描述的“停止”特定单元并中断数据流的机制,本质上实现了将本地存储器(数据缓冲区)的输出与图形管线后续级(如细光栅器450)断开连接的功能。这种“停止”机制在本领域通常由硬件控制逻辑(可视为一种硬件开关)实现。因此,本领域技术人员有可能通过推理认为对比文件隐含了通过硬件控制机制实现断开连接的技术方案。 |
| **<<<c>>>** | ||
| **技术特征D**:且至少通过第二硬件开关来将所述GPU的所述本地存储器的输出连接到所述GPU的硬件流输出单元以在执行所述第一组命令期间动态配置所述图形管线的级的互连。 | [0055]:“在中间基元抢占期间,顶点着色器402将输出数据排空到中间级缓冲区312中,然后中间级缓冲区312的内容被复制到上下文状态存储器401,而不是由外壳着色器404处理。”<br>[0059]:“在抢占期间,中间级缓冲区中的数据被复制到上下文状态存储器401,而不是由几何着色器414处理。”<br>[0072]:“每个可抢占上下文包括数据缓冲区416和上下文状态缓冲区426的一个副本。” | 对比文件描述了在抢占时,中间数据(如顶点着色器输出)从中间级缓冲区(一种本地存储器)被“复制”或“存储”到上下文状态存储器401(位于L2缓存405,属于GPU外部存储器,如系统内存104的缓存)。这一操作改变了数据流向:在正常处理时,数据在管线级间(如从顶点着色器到外壳着色器)流动;在抢占时,数据被重定向到外部存储器。虽然对比文件未明确提及“硬件流输出单元”和“第二硬件开关”,但将数据从本地缓冲区复制到外部存储器的功能必然需要硬件数据通路和控制器(例如,通过内存接口214、ramchain机制或专用复制硬件)。这种为了抢占而动态重定向数据流的行为,隐含了动态配置管线级互连以连接到一个输出功能单元(即实现“流出”功能的硬件)的技术思想。 |
| **<<<d>>>** | ||
| **技术特征E**:归因于在执行所述第一组命令期间对所述GPU的所述图形管线的级的互连的动态配置,将在执行所述第一组命令中的一或多个命令期间产生的中间数据从所述硬件流输出单元输出到所述GPU外部的存储器。 | [0055]:“在中间基元抢占期间,顶点着色器402将输出数据排空到中间级缓冲区312中,然后中间级缓冲区312的内容被复制到上下文状态存储器401...”<br>[0065]:“因为L2缓存405中保存的数据在抢占期间被保留,所以数据缓冲区416和上下文状态缓冲区426不需要通过内存复制来显式保存以执行中间基元抢占。”<br>[0072]:“每个可抢占上下文包括数据缓冲区416和上下文状态缓冲区426的一个副本。” | 对比文件明确记载,在抢占过程中,中间数据(如顶点着色器、外壳着色器等产生的数据)从中间级缓冲区312或数据缓冲区416(本地存储器)被保存到上下文状态存储器401或上下文状态缓冲区426。上下文状态缓冲区426位于L2缓存405中,而L2缓存405是内存接口214的一部分,其支持系统内存104作为后备存储,因此属于“GPU外部的存储器”。这一数据输出是响应抢占、停止某些管线单元并重定向数据流(即动态配置互连)的结果。因此,对比文件隐含了技术特征E的技术方案。 |
| **<<<e>>>** | ||
| **技术特征F**:在完成对所述第一组命令的执行以渲染所述绘制调用的所述一个或多个基元之前,通过所述GPU抢占执行所述第一组命令,来执行第二组命令。 | [0052]:“中间基元图形抢占中断处理,而无需等待图形处理管线耗尽变为空闲。渲染在单个基元中间被中断,可能是全屏基元,以便在所有基元的像素被绘制之前允许上下文切换发生。”<br>[0067]:“对于中间基元抢占,这意味着当基元内只有一部分像素已被光栅化时停止处理。相比之下,基元级抢占在一个或多个完整基元被光栅化后停止处理。”<br>[0092]:“当在三角形的光栅化期间,在粗光栅区域边界处,可以抢占图形程序的执行。” | 对比文件的核心思想就是“中间基元抢占”,即在完成当前基元(属于第一组命令)的所有像素渲染之前,停止其执行,以切换到另一上下文(即第二组命令)。这明确公开了在渲染完成前抢占第一组命令来执行第二组命令。本领域技术人员能毫无疑义地得出该技术方案。 |
| **<<<F>>>** | ||
| **技术特征G**:和执行所述第二组命令。 | [0052]:“...允许上下文切换发生。”<br>[0069]:“在第4阶段,前端212将与不同应用程序关联的新上下文的状加载到图形处理管线400中。”<br>[0090]:“在步骤590,使用所选上下文的已恢复上下文状态恢复执行。” | 对比文件多次提及在抢占和保存当前上下文状态后,会加载并执行新的上下文(即第二组命令)。这是上下文切换的必然步骤。本领域技术人员能毫无疑义地得出该技术方案。 |
| **<<<G>>>** | ||
| **技术特征H**:其中所述一或多个基元包括第一组基元和第二组基元,其中抢占包括在对像素块光栅化和像素着色而不对其它后续像素块进行处理之后抢占,所述像素块包括所述第一组基元中的一或多个基元的一或多个像素而不包括所述第二组基元的像素,且其中光栅化和像素着色包括由所述图形管线的两个级来执行的功能。 | [0079]:“屏幕空间被划分为多个不重叠的粗光栅区域,使得每个像素包含在一个且仅一个粗光栅区域中。每个粗光栅区域被划分为两个或更多不重叠的细光栅区域...”<br>[0081]:“当执行中间基元抢占时,粗光栅器440完成当前粗光栅区域的处理,在当前图形基元与多个粗光栅区域相交时,停止在当前图形基元内的一个粗光栅区域处。”<br>[0092]:“当在三角形的光栅化期间,在粗光栅区域边界处,可以抢占图形程序的执行...粗光栅区域内的单元排出剩余的像素工作到帧缓冲区。” | 对比文件定义了“粗光栅区域”和“细光栅区域”作为像素处理块。其明确公开了抢占发生在完成当前“粗光栅区域”的处理之后,并在该边界处停止。这意味着处理了一个像素块(粗光栅区域),而同一基元内的后续像素块(其他粗光栅区域)未被处理。这符合“对像素块光栅化和像素着色而不对其它后续像素块进行处理之后抢占”的描述。对比文件中的“粗光栅器”和“像素着色器”(或负责像素处理的SM)即对应图形管线的两个级。虽然对比文件示例是单个基元内的不同区域,但本领域技术人员可以合理推断,若第一组命令涉及多个基元(第一组基元和第二组基元),抢占点(如某个粗光栅区域)完全可能只包含部分基元(第一组基元)的像素,而不包含其他基元(第二组基元)的像素。因此,该技术特征被隐含公开。 |
| **<<<h>>>** | ||
| **技术特征I**:其中抢占包括在到达绘制调用边界之前抢占。 | [0052]:“中间基元图形抢占中断处理,而无需等待图形处理管线耗尽变为空闲。渲染在单个基元中间被中断...”<br>[0067]:“对于中间基元抢占,这意味着当基元内只有一部分像素已被光栅化时停止处理。相比之下,基元级抢占在一个或多个完整基元被光栅化后停止处理。” | 对比文件明确将“中间基元抢占”与“基元级抢占”(可视为一种绘制调用边界)进行对比,强调其是在单个基元中间(即基元/绘制调用边界之前)进行中断。这直接公开了在到达绘制调用边界之前抢占。本领域技术人员能毫无疑义地得出该技术方案。 |
| **<<<I>>>** | ||
| **技术特征J**:其中将所述GPU的所述本地存储器的输出从所述图形管线的级断开连接包括:将所述GPU的所述本地存储器的输出从光栅化级断开连接。 | [0061]:“在抢占期间,光栅化管线410停止从数据缓冲区416读取顶点属性...光栅化管线410中直到并包括粗光栅器440的处理单元立即停止...”<br>[0081]:“当执行中间基元抢占时,粗光栅器440完成当前粗光栅区域的处理...停止在当前图形基元内的一个粗光栅区域处。” | 对比文件指出,在抢占时,光栅化管线410(包含粗光栅器440)停止从数据缓冲区416(本地存储器)读取数据。这等效于将本地存储器的输出从光栅化级(具体为粗光栅器及之前的单元)断开连接。虽然未使用“断开连接”一词,但“停止读取”是实现断开连接功能效果的一种方式。本领域技术人员有可能通过推理得出该技术方案。 |
| **<<<j>>>** | ||
| **技术特征K**:仅响应于接收到所述抢占通知,将由着色器产生的所述中间数据输出到所述GPU外部的所述存储器。 | [0055]:“在中间基元抢占期间,顶点着色器402将输出数据排空到中间级缓冲区312中,然后中间级缓冲区312的内容被复制到上下文状态存储器401,而不是由外壳着色器404处理。”<br>[0067]:“前端212然后断言抢占信号...前端然后等待各种着色器完成与图形基元关联的当前像素集的工作...” | 对比文件描述了在抢占信号断言后,着色器(如顶点着色器)完成其当前工作并将数据排空到缓冲区,随后这些数据被复制到外部存储器(上下文状态存储器401)。这一数据输出到外部存储器的动作是由抢占通知触发的特定流程的一部分。可以理解为“仅响应于抢占通知”才执行此特殊的保存操作,而非正常渲染流程。因此,该技术特征被隐含公开。 |
| **<<<k>>>** | ||
| **技术特征L**:和停止执行用于渲染所述一或多个基元的所述第一组命令。 | [0067]:“前端212停止向图形处理管线400发送新的图形基元。”<br>[0081]:“当执行中间基元抢占时,粗光栅器440完成当前粗光栅区域的处理,...停止在当前图形基元内的一个粗光栅区域处。”<br>[0092]:“当抢占被发起时,不发出新指令...” | 对比文件明确记载了在抢占时,前端停止分发新工作(基元),并且执行单元在完成当前块后停止。这直接导致了用于渲染基元的第一组命令的执行被停止。本领域技术人员能毫无疑义地得出该技术方案。 |
| **<<<L>>>** | ||
| **技术特征M**:在执行所述第二组命令之后,通过从所述GPU外部的所述存储器检索所述中间数据来恢复执行所述第一组命令以进行光栅化和像素着色。 | [0069]:“在第4阶段,前端212将与不同应用程序关联的新上下文的状加载到图形处理管线400中。如果先前上下文曾被抢占,则某些上下文状态...通过ramchain恢复到图形处理管线400。”<br>[0090]:“在步骤575,所选上下文状态从上下文状态存储器401读取并恢复到原始分发单元207和原始生成器408内的寄存器...在步骤590,使用所选上下文的已恢复上下文状态恢复执行。” | 对比文件描述了在恢复被抢占的上下文时,将之前保存的上下文状态(其中包含了中间数据,如顶点属性指针等)从上下文状态存储器401(GPU外部存储器)加载回图形处理管线,然后恢复执行。恢复执行自然包括继续进行光栅化和像素着色。因此,该技术特征被直接公开。 |
| **<<<M>>>** | ||
| **技术特征N**:通过所述级从所述本地存储器接收所述中间数据以在接收所述抢占通知之前供所述级处理。 | [0055]:“顶点着色器402可以读取原始分发单元207存储在中间级缓冲区312、并行处理内存204或系统内存104中的数据,用于处理顶点数据。”<br>[0061]:“光栅化管线410读取几何着色器414生成的顶点属性...” | 对比文件的图形处理管线(例如,顶点着色器、光栅化管线)在正常操作时,需要从各种缓冲区(如中间级缓冲区312、数据缓冲区416)读取数据以供处理。这些缓冲区属于本地或缓存存储器。这描述了在抢占发生前的正常数据流。本领域技术人员能毫无疑义地得出该技术方案。 |
| **<<<N>>>** | ||
| **技术特征O**:其中,所述硬件流输出单元耦合到所述GPU外部的所述存储器。 | [0055]:“...然后中间级缓冲区312的内容被复制到上下文状态存储器401...”<br>[0065]:“数据缓冲区416和上下文状态缓冲区426...存储在L2缓存405中...PP内存204反过来是L2缓存405的后备存储。” | 对比文件描述了将数据复制到上下文状态存储器401,或指出数据缓冲区416/上下文状态缓冲区426位于L2缓存405中,而L2缓存与系统内存(GPU外部存储器)连接。这隐含了存在将数据从GPU内部传输到外部存储器的通路和功能单元。虽然未命名“硬件流输出单元”,但实现此复制/保存功能的硬件模块(如内存接口、DMA控制器或专用复制电路)必然耦合到外部存储器。因此,该技术特征被隐含公开。 |
| **<<<o>>>** |
<<<A>>><<<B>>><<<c>>><<<d>>><<<e>>><<<F>>><<<G>>><<<h>>><<<I>>><<<j>>><<<k>>><<<L>>><<<M>>><<<N>>><<<o>>>