ARM四款新的移动GPU IP,启用新的命名规则,分别是Mali-G710、Mali-G610、Mali-G510、Mali-G310。 这是ARM Valhall GPU架构的第三代产品,也是第一次完整覆盖高中低端各个领域。
G710、G510、G310分别定位旗舰、主流、入门级市场,依次取代现有的G78、G57、G31。
G610继承了 Mali-G710 的所有功能,但价格更低,只是相比G710核心数较少。
G710
G710综合性能提升20%、机器学习性能提升35%、纹理性能提升50%、能效提升20%,用于高端旗舰智能手机;
作为 Valhall GPU 架构的延续G710的执行引擎设计和G77、G78十分类似,变化更多是一些细节。
- wavefront/warp大小从8变为了16,而且每个执行引擎有两个数据路径,最终形成每个核心32个FMA。
- ISA指令集也有了不小的改进,可以更好地满足Vulkan等新的现代 API 设计的GPU的需求。
- G710还新增了第二个执行引擎,有效地将 Valhall 架构的每个着色器shader核心的计算性能提高了一倍;
在上图中,“8x”和“4x”指标是关于每个内核每个周期的吞吐量;可以看到每核心每时钟周期的不同吞吐量也有4倍、8倍的增加。
- 新的 G710 包括一个全新的纹理单元,现在每个时钟能够处理多达 8 个双线性纹素,并且优化了新设计以显著提高面积效率,纹理单元性能密度提升了50%,也就是面积效益比前代更好。
- 在执行引擎中,继续使用两个处理单元或处理元素集群,在这方面,我们看不到代之间有太大的差异,但是如果我们更深入地研究实际的处理单元,就会发现块发生了变化:
我们看到从 16 宽(warp 宽)处理元素和执行单元的单个实例转变为 4 宽执行单元的四个实例。设计之间的吞吐量没有改变,但新的微架构为处理元素提供了更多专用资源,并允许更好的结构以提高效率。
总体而言,新的执行引擎设计使 FMA 每个内核的每时钟频率增加了一倍,也有利于将着色器内核内的能量分布从执行引擎降低 20%。
另外,传统的工作管理器(Job Manager)变成了新的“指令流前端”(Command Stream Frontend),负责调度和处理draw-call,CSF 引入了一种未公开性质的新 CPU,还首次引入固件层,与硬件紧密配合处理主机需求。(draw call是CPU向GPU发出的一种命令,CPU每调用一次API让GPU进行一次绘制,就是一次draw call)。
G710可以配置8-16个不同核心数,G610则是最多6个核心,另外二级缓存可以配置2个或4个区块,每个区块256KB或者512KB, 也就是整体最小512KB,最多2MB。
G510
在中低端,新的 Mali-G510 和 Mali-G310 是对市场之前G57 和 G31 的改进。
G510综合性能提升100%、机器学习性能提升100%、能效提升22%,电池寿命更长,ML 提升 100%,适用于中端智能手机、高级智能电视和机顶盒;
G510支持2-6个核心配置,每核心每执行单元的配置也可以定制,shader核心以外纹理单元可选配每周期4纹素或每周期8纹素,使得纹理单元也大大加强。
加上L2 cache可选配,就决定了Mali-G510可以有很多种配置选择,实现多种多样的性能。
在执行引擎方面,执行引擎还是2个,但也可以配置为只用1个,从而可以将每时钟周期从64 FMA减少到48 FMA(每周期FMA执行能力在48-64之间可选);
ARM列举了G510 10种可能的不同规格配置,计算能力、填充率各有不同,适合不同应用需求。
G310
G310以最小的面积成本提供最高的性能,虽然定位最低但变化最大,号称纹理性能提升多达6倍、Vulkan性能提升4.5倍、安卓UI内容性能提升2倍;适用于入门级智能手机、AR 设备和可穿戴设备。
与上一代最小的 Mali IP 产品 G31 相比,这款 GPU 实际上是一个重大的性能飞跃,从 Bifrost 架构向新 Valhall 设计的转变。
采用了新的执行引擎设计,支持灵活的规模配置,允许将集群进一步缩小到每个 EE 仅一个,并且还允许在最低配置中只允许一个 EE,允许每核心可以有16、32、48、64 FMA,纹理单元最低则是每时钟周期2个。
不过,G310仅支持单核心设计,因此配置仅通过更改该核心内的不同执行单元来实现。
总结
从Mali-G710到G610是核心数减配;而到G510,除了核心数减配,还包括shader核心规模、纹理单元规模等的减配;G310则属于核心再减配,并对shader核心规模和其他各部分单元再再减配的低配版。