[发明专利]基于存储器的旗语有效
申请号: | 201380058342.2 | 申请日: | 2013-10-28 |
公开(公告)号: | CN104823155B | 公开(公告)日: | 2018-08-07 |
发明(设计)人: | H·C·纳卢瑞;A·纳瓦勒 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 高见 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 存储器 旗语 | ||
描述可用于在不同的处理引擎之间同步操作的基于存储器的旗语。在一个示例中,各操作包括在生产者引擎处执行上下文(该执行包括更新存储器寄存器),以及把已经更新了存储器寄存器的信号从生产者引擎发送给消费者引擎,该信号包括标识要由消费者引擎执行以便更新寄存器的上下文的上下文ID。
领域
本公开内容涉及在不同的处理引擎之间同步操作的领域,且尤其涉及使用旗语(semaphore)和存储器寄存器的信令。
背景
开发了允许在GPU(图形处理单元)中执行通用操作的计算技术。GPU具有为图形处理优化的大量简单并行处理管线。通过把要求许多相似的或相同的并行计算的通用操作移植到GPU,可以比在CPU(中央处理单元)上更快地执行这些操作,同时减少了对CPU的处理需求。这可以在提高性能的同时减少功耗。
GPU具有为执行不同的功能而优化的若干不同处理引擎。这些引擎可以包括:blitter(位图映射)引擎、渲染引擎、视频解码引擎、视频编码引擎和视频增强引擎,以及其他。每一引擎处理在由分离的调度处理器调度的上下文内的命令。调度处理器把各上下文指派给每一引擎,并且管理与每一上下文相关联的命令流的执行。
然而,GPU的处理引擎、命令缓冲器和命令流化器必须协调中间值和命令在不同的引擎之间的传输。当一个引擎正在产生将在由另一引擎执行的命令中使用的值时,必须使用某种机制来确保该值已经准备好可供消费者使用。在各引擎之间的协调可以消耗显著资源,那么这些资源就不能用来执行命令。
附图简述
作为示例而非限制在附图的各图中阐释本发明的各实施例,附图中,相同标号表示相似的元素。
图1是根据本发明的一种实施例带有命令流化器和信号的图形处理单元的一部分的框图。
图2A是根据本发明的一种实施例使用断言允许位执行批缓冲器的处理流程图。
图2B是根据本发明的一种实施例刷新断言寄存器中的值的处理流程图。
图3是根据本发明的一种实施例带有断言允许位寄存器的运算逻辑单元的硬件逻辑图。
图4是适于与本发明的一种实施例一起使用的图形处理单元的一部分的框图。
图5是适于与本发明的一种实施例一起使用的计算机系统的框图。
详细描述
本发明涉及例如在图形渲染电路中使用基于存储器的信令来在存储器访问的生产者/消费者模型的引擎之间同步。可以在软件调度模式中使用基于存储器的旗语,代替基于寄存器的旗语,用于在多个引擎和宿主CPU(中央处理单元)上运行的多个上下文之间通信。多个引擎可以包括:blitter引擎、渲染引擎、视频解码引擎、视频编码引擎和视频增强引擎,以及其他。
旗语可以用来在数据消费者和数据生产者之间传输不同类型的信息。旗语可以包含地址、参数和值。旗语命令可以被用来使用旗语。在生产者/消费者模型中,旗语数据可以被存储在存储器中。为了减少存储器访问延迟时间,可以使用智能方式来确定何时及如何从存储器采样旗语数据。
通过包括旗语故障时的上下文切换策略,可以增强旗语的使用。也可以向软件提供可编程性接口。除了软件辅助之外,可以向调度器软件提供硬件辅助,以便做出对由于旗语故障而被切换掉的上下文的有效重新调度的判决。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201380058342.2/2.html,转载请声明来源钻瓜专利网。