Imagination 的PowerVR GPU由一个固件处理器驱动,该处理器负责工作负载的高级调度和优先级设置。它与固定功能单元的数据主控器协同工作。为了允许多种类型工作的并发处理,PowerVR GPU 为每种类型的工作分配了一个数据主控器,包括几何处理、3维、计算和2维(或数据移动)。这些数据主控器负责这些工作的底层运行,包括设置工作。前几代产品采用了单任务数据主控器,这意味着数据主控器会执行特定的工作,而切换工作则需要固件处理器来设置下一个工作。这种方法意味着大部分的设置工作发生在从一个渲染切换到下一个渲染时,这通常会导致空闲时间,期间固件处理器将设置下一个工作并重新编程寄存器。这种设置工作可能需要数据访问和其他复杂的同步任务,由于延迟问题,可能导致数千个周期的固件工作期间没有为特定的数据主控器安排任何工作。这通常会导致空闲时间,甚至导致 GPU 核心的电源门控,从而损失性能以及降低扩展效率。随着 PowerVRGPU 的速度越来越快,具有更强大的 SPU、更多数量的SPU 和多核架构,GPU 的渲染/处理性能显著提升。这意味着处理计算内核和/或图形渲染所需的时间减少了(因为我们拥有了更大、更快的 GPU 核心),但是我们仍然只有一个固件处理器,这意味着设置阶段仍需相同的时间。例如,比较AXT-16-512和 DXT-72-2304,理论上我们的处理速度提高了 4.5 倍,但是固件处理时间保持不变,因此如果不做改进,它占总时间的比例将会更大。这一点如下图所示:IMG D 系列 GPU 通过在数据主控器引入流水线技术来解决设置时间问题。流水线技术意味着固件可以在 GPU 仍在处理上一个工作的同时设置(流水线化)下一个工作。实际上,固件工作现在与GPU 工作重叠而不是在工作之间串行运行。这种方法使得同一级核心的性能提高了 5%,因为我们避免了空闲周期并提高了 GPU 处理硬件的利用率,这意味着芯片性能回报更好。这一概念如下图所示:
上一代的空闲时间也可以通过我们的 PVRTune统计工具观察到:
-
处理器
+关注
关注
68文章
19257浏览量
229632 -
数据
+关注
关注
8文章
7002浏览量
88937 -
gpu
+关注
关注
28文章
4729浏览量
128879
发布评论请先 登录
相关推荐
评论