当Mali-G76相比,下一代Mali-G77设备将Arm的图形性能提高了40%。该数字考虑了流程以及体系结构方面的改进。Mali-G77可以配置7到16个着色器内核,每个内核的大小几乎与G76内核完全相同。这意味着高端智能手机可能会采用与今天相同的GPU核心数量。
看看广受欢迎的Manhattan GFXBench基准测试,性能提升40%可以为现代硬件带来相当大的优势。
在架构方面,游戏性能可提高20%至
40%,而机器学习可提高60%
一个10核心的Mali-G77(我们经常从华为那里看到的配置)看起来几乎可以超越这一代顶级移动图形硬件。三星Exynos中常见的12核配置为Arm的最新GPU带来了巨大优势。当然,真正的基准测试将取决于其他因素,包括进程节点,GPU缓存,LPDDR内存配置以及要测试的应用程序类型。
仅就新架构而言,Mali-G77的能效和性能密度平均提高了30%。得益于INT8点产品的支持,机器学习应用程序也获得了60%的巨大提升,游戏性能预期提高20%至40%。
为了确切地了解Arm如何实现这种性能提升,让我们更深入地研究架构。
Bifrost的继任者Valhall
Vahall是Arm的第二代标量GPU架构。它是一个16宽warp执行引擎,从本质上讲意味着GPU每个周期,每个处理单元,每个内核并行执行16条指令。比Bifrost的4和8宽高。
其他新的体系结构功能包括完全由硬件管理的动态指令调度,以及与Bifrost保持等效的全新指令集。其他功能包括对Arm的AFBC1.3压缩格式,FP16渲染目标,分层渲染和顶点着色器输出的支持。
Mali-G77的并行数学运算量比G76多33%
通过检查核心内部的执行单元,可以找到理解主要架构更改的关键。GPU的这一部分负责数字处理。
在Bifrost中,每个GPU内核包含三个执行引擎,对于某些较低端的Mali-G52设计,则包含两个。每个引擎都包含一个 i-cache,寄存器文件和控制单元。在Mali-G72中,每个引擎每个循环处理4条指令,在去年的Mali-G76中增加到8条指令。分布在这三个内核上的每个周期允许12和24个32位浮点(FP32)融合乘法累加(FMA)指令。
使用Valhall和Mali-G77,每个GPU内核内部只有一个执行引擎。与以前一样,该引擎包含了控制单元,寄存器和 i-cache,现在它们在两个处理单元之间共享。每个处理单元每个周期处理16条翘曲指令,每个内核的总吞吐量为32 FP32 FMA指令。与Mali-G76相比,指令吞吐量提高了33%。
Arm已经从每个GPU内核的三个执行单元过渡到只有一个执行单元,但是G77内核现在有两个处理单元。
此外,每个处理单元都包含两个新的数学功能块。新的转换单元(CVT)处理基本的整数,逻辑,分支和转换指令。特殊功能单元(SFU)加速了整数乘法,除法,平方根,对数以及其他复杂的整数函数。
标准FMA单元进行了一些调整,每个周期支持16条FP32指令,32条FP16或64条INT8点积指令。这些优化使机器学习应用程序的性能提高了60%。
Mali-G77的另一个关键变化是引入了四重纹理映射器,这是上一代产品中的双重纹理映射器的基础。纹理映射器负责将场景中的3D多边形映射到您在屏幕上看到的2D表示形式。它负责采样,内插和滤波,以平滑成角度的和移动的内容,从而避免出现粗糙的低质量边缘。
低成本的抗锯齿功能仍然存在,可以提高图像质量,但是纹理性能加倍是这里的主要优点。现在,纹理单元每个时钟处理4个双线性纹理元素,以前每个时钟处理2个三线性纹理元素,并且处理更快的FP16和FP32过滤。
四重纹理映射器分为两个路径,为命中缓存中内容的线程提供了较短的管道。Miss路径用于处理格式转换和纹理解压缩,具有更广泛的L2缓存接口。这对于可能经常需要从内存中提取新数据的机器学习工作负载也很有帮助。
将所有东西集中在Mali-G77中
Arm对Mali-G77进行了许多其他调整,以适应Valhall架构的重大变化。借助单一执行单元设计,简化了控制块,而内部动态调度程序实际上允许在每个内核内部发出更灵活的指令。每个内核具有更高的吞吐量,数据路径也更短,等待时间更短,从以前的8个周期减少到只有4个周期。
新设计还可以更好地与Vulkan API保持一致,从而简化了驱动程序描述符,从而降低了驱动程序开销,从而提高了“从金属到金属”的性能。
总之,Mali-G72和Valhall对Bifrost进行了重要更改,从而有望显着提高游戏和机器学习应用程序的性能。重要的是,该设计适合与Bifrost相同的功率和面积预算,从而确保移动设备将能够提供更多的峰值性能,而无需担心热量,功率和硅片成本。根据性能预测,Mali-G77应该能够使高通的下一代Adreno物有所值。