论文部分内容阅读
Imagination是业内传奇的GPU公司之一,从2008年开始,旗下移动GPU产品在很长一段时间几乎代表了移动SoC图形技术的巅峰。好花不常开,好景不常在,随着产业进步、市场竞争和变化,Imagination的产品逐渐在市场中销声匿迹。尤其是苹果在2017年宣布不再使用Imagination的授权后,Imagination一落千丈,空有技术而找不到市场,最后被中资公司股权收购。不过,近期Imagination又发布了全新的A系列移动GPU产品,并且市场上又传出消息称苹果再度和Imagination联手移动GPU。那么,Imagination A系列GPU究竟如何?又有哪些独特之处呢?请看本文给你带来的详细分析。
Imagination是GPU市场的“老玩家—了,在个人PC发展的初期,Imagination就曾经和ATI、英伟达在市场上扳过手腕,不过由于技术路径、市场策略等原因,Imagination在2000年宣布放弃了桌面市场,全面转向超低功耗领域,并终于在2006年之后的移动计算市场大放异彩,借着苹果iPhone的东风,成为移动计算市场的GPU霸主之一。
早期的移动计算市场在架构和技术路径上的竞争还是颇为激烈的,除了有Imagination、ARM这样的巨头外,还出现了Vivante这样的小厂商提供相关GPU授权,也有一些厂商尝试自研GPU架构或者授权GPU架构,典型的比如英伟达和AMD,都有自己的移动GPU部门或者授权定制的产品。随着市场的进一步发展变化,移动GPU市场基本呈现寡头化的态势。2015年,主要采用Imagination技术授权的苹果、ARM的Mali以及高通的AdrenoGPU三足鼎立,这也是Imagination最为辉煌的时候。随后的2017年,苹果宣布和Imagination解约并开启自研移动GPU的道路,同时像高通、三星、华为等厂商要么已经自有顶尖的移动GPU,要么表示有自研移动GPU的必要,这意味着移动GPU市场发生了重大变化,甚至有可能回归到之前的“战乱时代”。
全新A系列GPU:有史以来最快的GPU IP
在这种情况下,Imagination公司发布了全新A系列移动GPU产品。Imagination宣称这次发布堪称公司15年发展历史上最重要的GPU产品和IP发布。新产品的定位也非常明确,扭转Imagination在移动GPU市场上份额持续损失的趋势,并且使得使用Imagination GPU IP的厂商重新占领移动GPU的性能巅峰。
A系列GPU是Imagination的第十代产品。在品牌使用上,Imagination将放弃之前使用多年的PowerVR,转而使用字母和数字命名的方式。使用这种方法的原因是Imagination希望市场彻底改变对旗下产品的看法,并树立一个全新的技术起点。当然,在一些技术场合,Imagination可能还会使用PowerVR的名称,尤其是其在专利的、基于图块的延迟渲染技术方面。新产品的名称采用的是A “系列后缀”的方式完成,比如顶级的产品依1日被称为XE系列,中端和入門级依次被称作XM、XT系列。组合起来就有AXE、AXM和AXT等多款产品。
在本次发布会上,Imagination带来了AXT、AXM和AXE系列,当然其中的主角是AXT系列,AXM和AXE系列是进一步精简的版本。性能方面,Imagination宣称AXT比第九代类似定位的产品快2.5倍。需要注意的是,Imagination并没有在不同代次的XT系列GPU之间进行精确的对比,而是和“市场上广泛使用的”第九代XT系列型号进行对比。不过,考虑到目前市场上根本没有公开宣布的第八代和第九代8XT或者9XTP产品,这样的对比显得有些空洞,但这依1日是新品性能对比时可以选择的唯—方法。据悉,Imagination采用的对比对象有可能是联发科Helio P90中所采用的GM9446,这款移动GPU架构基于较老的Rogue,具有一定可比性。值得一提的是,在性能对比方面,Imagination希望A系列产品的性能、面积等参数更为透明,并且在性能基准和上代产品对比上更为容易,供应商都可以据此独立验证和比较性能指标。
架构方面,A系列架构的改进主要包括了GPU计算单元的重新设计和ALU架构的大幅度调整,Imagination宣称新的架构带来了4倍的性能提升、8倍的AI计算效能提升和在维持同等性能的基础下拥有了60%的功耗降低。
本次发布会上,Imagination发布了四款新品,其中两款型号为AXT系列,两款为进一步精简版本的AXM系列。在产品命名上,Imagination米用了非常直观、独特的命名方式。以本次发布的顶级产品AXT-64-2048为例,这个名称意味着这款GPU在每个时钟周期可以完成64个像素计算或者2048个FP 32的计算。因此,在1GHz的GPU频率下,其最大计算性能为图形2TFLOPS,AI计算采用的是INT8格式,因此其性能是FP32的图形计算能力的4倍,为8TFLOPS,另外,整体填充速率为64 Gigatexels/s。值得注意的是,Imagination在产品宣传中不再使用的Gigapixels/s的单位,转而使用更容易理解的Gigatexel/s单位。做出这样改动的原因是因为部分用户会混淆纹理图案率的含义,因此这里改用Gigatexels/s,更为清晰且容易理解。
除了AXT-64-2048外,Imagination还发布了AXT-32-1024、ATM-8-256、AXE-1-16等产品。其中AXE-1-16采用了一个单独的自定义结构。实际上,从命名就可以看出不同型号的产品的性能档次和基本的产品区间了。Imagination认为AXT-32-1024将会成为中高端移动SoC的最佳选择,至于性能更强的AXT-64-2048,则有机会出现在更大尺寸的设备之中。 全新的ISA和ALU:一个更宽的GPU架构
在看完型号后,再来看看相关的架构设计。和前文所说的一样,全新A系列GPU在架构设计上尤其是ISA和ALU上和之前的Imagination GPU结构存在根本的不同,并且和其他任何公开披露的GPU架构都存在很大差异。
全新ALU设计的关键点在于,新的架构比之前Rogue架构和Furian架构的宽度更宽,每个集群的密度高达128个执行单元,因此Imagination称之为128宽度的架构。
从之前的架构发展来看,Rogue架构的波前阵列的宽度为32,但是单个SIMD宽度仅为16,因此Rogue需要2个周期才能完成一个32宽度的阵列的执行。在8XT的Furian中,SIMD的宽度扩大到了32宽,一个周期就可以完成32宽度波前数据的执行,在9XT的架构中,SIMD的宽度进一步提升到了40单位。
和其他移动GPU横向比较来看的话,像是ARM最新发布的架构中,SIMD宽度也大幅度提升,从之前Mali-G72的4个单元增加到了新的G76中的2个4单元的模块,也就是实际上8宽度的设计更新一些的Mali-G77中,SIMD计算单元的宽度被进一步提升至16,并且ARM还涉及了与之匹配的波前阵列。除了移动GPU之外,在桌面GPU方面,英伟达的GPU采用的一直都是32宽度的波前阵列,AMD方面则从之前4x16宽度ALU、匹配64宽度的波前阵列转向了32宽度的SIMD和波次,AMD在此处的设计也比较灵活,当两个ALU集群或者CU单元聚合在一起的时候,可以执行64宽度的波前并实现向后兼容。
通过比较可以看出,Imagination的新设计相比目前所有的GPU方案来说,都要宽数倍,这也是迄今为止在商业GPU设计中最宽的SIMD方案。从技术角度来说,为了更高的效率,人们一般会选择一个合适的SIMD宽度并匹配相应的控制单元。更宽的SIMD虽然能够在一个周期内处理更多的数据,但是如何将更多的线程有效的捆绑在一起,并使得所有计算单元保持忙碌状态,是其中的难点所在。为了解决这个难题,A系列的设计也做了相应的更改,对ISA和ALU做出了极大的简化。
和Rogue架构相比,新的A系列将执行单元从两个MADD乘加单元简化为仅有一个MADD单元。在之前的第八代架构和第九代Furian架构中,这样的设计也曾出现过,但当时Imagination在MADD单元边还保留了一个辅助的MUL单元,不过在新的A系列架构上,MUL单元都已经被精简掉了o
Imagination给出了进入MADD单元的三个箭头,代表了用于存储操作数据的三个寄存器源,其中2个用于乘法,1个用于加法,和之前的Furian架构的MADD单元的ISA相比,新的A系列加入了一个额外的乘法寄存器源。
实际上,Imagination新的架构,是从面向指令集并行的ILP架构的设计转向了最大化线程级并行TLP架构的设计,并且付出了巨大的努力。在这方面,AMD在从之前的4D架构转向GCN架构时曾做过类似的工作,当时AMD从ILP的繁重设计中过渡到GCN这类几乎完全受到TLP约束的架构,并得到了性能的大幅度提升。
根据一些消息,由于简化了指令和相关执行部分,转向“大规模”TLP架构带来的更高的ALU利用率,大幅度提高了芯片中ALU的实际占比密度,同样也带来了每平方毫米性能的提升。自然的,相对应的是芯片面积的降低和消除冗余晶体管等,这都带来了功率效能的提高。
进一步深入的话,在着色器方面A系列GPU也有颇多创新。Imagination还给出了一些资料用于介绍整个A系列着色器的工作流程。这些资料显示,在一个典型的着色器工作流程中,从根据内存中的命令队列启动的数据主机开始,3D数据母版开始预处理其它的固定功能,然后触发着色器程序执行隐藏表面的移除和工作量生成。接下来GPU将会把一些三角形组合在一起成为一组任务,以便更好地填充波前阵列所需要的128宽度以及更好地利用ALU。
另外,可编程数据定序器也就是PDS拥有资源和管理器的分配的功能。PDS可以为工作负载保留本地寄存器空间,并且在任务分配给線程时管理任务。PDS能够将即将到来的线程进行数据预取或者预加载至本地内存,一旦线程数据可用,它就开始标记活动槽,并由指令调度程序和解码器将活动槽进行分派并解码,再送入执行单元。
除了之前介绍的主ALU外,A系列架构还拥有辅助ALU。尤其值得注意的是,Imagination在设计中为整数和按位运算等功能设计了单独的执行单元,这些单元虽然在执行上是分开的,但是和浮点单元共享相同的数据路径,因此会和浮点单元以排他的方式运作,也就是要么使用这个要么使用那个。这些整数单元的作用是提高AI计算效能,并且具有四倍速率的INT8吞吐能力。在速度上,辅助ALU管道以1/4的速度运行,因此每个周期并行执行32个线程。从某种意义上讲,Imagination的这种设计和ARM在Mali-G76、Mali-G77上的整数乘积指令NN的功能非常相似。不过Imagination没有详细说明这种设计可行性。
此外,一些更复杂指令也可以在专用的单元上获得较好的执行效果,比如数据移动、数据转换、迭代器、原子操作等。
固定功能的更改和GPU的可伸缩性
在更高的层级,可以看到A系列GPU设计的架构总图。从图中可以看出,A系列GPU在架构布局上和之前的PowerVR GPU相似度很高。图中显示ALU依1日占据最大一部分面积,被称为usc也就是unified shading cluster也就是统一渲染簇。usc以及各种其他固定功能块又容纳在SPU或者着色器处理单元中,通常被称之为“核心”。
每个SPU在当前的配置中包含2个USC,这意味着最终一个SPU中将有2个1 28宽度的ALU集群。所有的AXT配置都是这样的。但是,更低端一些的AXM-8-256单元只有一个USC,是其中的例外。实际上,AXT-16-512是带有完整SPU的最小配置方案了。 每个SPU都拥有自己的几何流水线以及最多2个纹理处理单元。A系列继承了Fu rian架构的TPU的吞吐量设计,这意味着每个该模块的每个时钟周期都能够采样8个双线性滤波纹理像素。A系列现在每个SPU的容量增加了一倍,并且AXT型号具有2个TPU,从而使总纹理填充率达到每个SPU每个时钟周期16个。
A系列的纹理单元微架构也做出了重大调整。Imagination宣称新架构的一个重大改进来自于LO缓存的处理和位置信息。LO缓存在纹理化工作流程中,被重新定位在处理和过滤阶段之间,这样可以使得LO缓存保留处理阶段的输出,并实现Imagination所谓的大量数据的复用,因为不需要每次都对像素进行重新处理。鉴于在各向异性过滤处理期间可能要对纹理采样的次数,因此这样做的优势应该还是比较明显的。
Imagination还谈到了如何大大改善新架构各向异性过滤的质量。在使用传统的纹理隧道的一组比较截图中可以看出,Imagination的新的各向异性过滤更接近角度独立,这也是ANISO过滤的理想结果,反之则是角度依赖的过滤。有趣的是,Imagination声称即使使用更少的样本也可以实现这种改进后的角度独立性过滤,但是Imag.nation没有说其中具体的实现方法。总的来看,新的纹理架构设计有助于提高计算效率和硬件密度,但是由于目前A系列和比较老的Rogue系列进行对比,因此不是很确定A系列是否能够相对第九代9XM依1日能够获得如此显著的i生能和特性优势。
固定功能单元的另一个变化是像素管线。尽管从表面上看,X系列和我们之前在Furia n上看到的相比吞吐量没有任何变化。但是实际上A系列具有2个PBE单元,每个PCE每时钟周期可以吞吐4个像素,因此每个SPU每周期可以处理8个像素。此外,每个核心中还有更多的设计,包括前核心和后核心,因此每个周期可以处理16个像素混合,不过在1:1的像素和纹理上,只能每周期处理8 PPC。总的来看,Imagination的新设计使得纹理吞吐率提高了一倍,同时又保持了稳定的像素吞吐率。这意味著新的A系列产品和其他厂商的设计保持了一致,像素和纹理填充率则维持在了1:2的水平。
在Alpha操作上,Alpha操作现在是在像素管线的专用硬件单元上完成的,不再使用ALU资源,通过固定功能引荐,可以改善心梗并且允许全速率的FP16操作,并且解放ALU,使其可以将计算资源用在其他更需要的地方。此外,这样做还提高了硬件效率和芯片密度,改善了电源情况。
值得注意的是,对于AXM系列的产品,Imagination使用定制的固定功能单元提高面积利用率,而不是简单缩放单元。
GPU规模:进一步扩大
由于Imagination设计了SPU模块,这是整个GPU中最基本的模块,因此可以通过简单的搭载更多的SPU模块来扩大GPU的规模并提高性能。
Imagination给出了四款配置模式,分别使用1、2、3、4个SPU,对应了ATX系列下的四个不同的型号。值得注意的是,AXT下SPU扩扎的型号,其纹理、FLOPS均以16-512为倍数发生。其中32-1024的规格是比较适合高端智能手机的,48-1536可以在较低的时钟频率下提供较高的计算能力。而最强大的AXT-64-2048则是规模最大也是性能最强的GPU,如果有意向客户的话,Imagination可以帮助客户构建这个巨大的GPU。
横向对比来看的话,AXT-16-512这种单个SPU、2个USC的配置和之前几代类似配置相比,A系列的确存在巨大的体系结构变化。虽然相比9系列,A系列增长没有4倍之多,但是512FLOPSXj比9XTP的240FLOPS,这也是超过2倍的性能提升。
另外值得注意的是,Imagination的A系列构建的基础模块体积就已经很大了。比如AXT系列的SPU要比Mali-G77大很多,后者性能仅为64FLOPS以及每周期像素填充率仅为2,因此AXT的一个SPU大概类似于Mali-G77 MP8方案。相对应的,就每平方毫米性能和功率效率而言,几个大核心和大量的小核心相比,总是几个大核心更占优势,正如苹果和高通的多核心设计那样。
新的多任务和安全特性:HyperLane技术
A系列GPU的另一个特性是支持Imagination的HyperLane技术。这项技术的特点是在多任务和安全性上大大扩展了该体系的灵活性。此外,Imagination在GPU虚拟化上也有独特的创新,这使得它能够在汽车设计等领域有着自己的优势。
HyperLane技术是虚拟化技术的扩展,在单个GPU执行任务时的分离能力上更胜一筹。在渲染流程中存在一些不同类型的主控制器,每种控制器都会将工作负载分配给GPU。比如几何部分由几何主数据处理,像素部分由3D主数据处理,2D则交给2D主数据部分,其余流程还包括计算和工作负载主数据。针对以上每个主数据,GPU各个模块对于给定的任务都是活动的,其他的模块保持空闲状况。
目前的消息显示,在HyperLane功能的辅助下,GPU硬件能够实现完整的任务并发,多个数据主机都可以同时处于活动状态,因此可以跨GPU的硬件资源来动态执行工作任务。这使得GPU具备了多任务处理能力,可以从多达8个来源接受不同的任务提交。不仅如此,每个HyperLane都可以配置自己的虚拟内存空间,也可以实现共享任意的内存空间。在任务分配方面,既可以根据块来分配不同的任务,也可以根据时间片来进行HyperLane,之间的共享,还可以给与HyperLane优先级,使得更重要的任务可以占用更多资源或者更快完成。
在安全特性方面,Imagination加入了隔离受保护的内容和权限管理等功能,能有效保证一个设备内部的信息安全和可靠。此外,在特色功能上还值得一提的是,Imagination在A系列产品上集成一个小型专用CPU(架构可能基于RISC-V),这个CPU本来是用于处理GPU管理任务或者充当固件处理器。一般来说,其他的体系结构中,GPU是受主CPU驱动而工作的,但是A系列的这颗固件处理器甚至可以实现各种管理控制任务和操作处理等,包括调试GPU、数据记录、DVFS算法等。这样的设计还很少看到,可能在快速调试和优化3D负载方面有比较显著的作用。 面积性能比:持续优化
面积性能比是SoC设计中最重要的一部分。如果能够以更小的面积获得更高的性能,那将显著节约最终的生产成本等。Imagination带来了一个比较有趣的对比,以骁龙855和Exynos9820为例,前者使用高通自家优化定制的Adreno GPU,后者则使用Mali系列。一个鲜明的数据对比是,在GPU性能相当的情况下,通过面基性能优化,高通使用100%的面积,完成100%的性能。但是同等性能在三星处理器上,需要184%的面积。
不过这里存在一个疑问,那就是这两颗处理器并没有采用完全一样的工艺。高通采用了TSMC的7nm工艺,三星则采用了自家的8nm工艺。不过Imagination给出了另一个角度的对比,那就是都采用A系列GPU完成同样的性能,比如都采用AXT-16-512实现,对比图可以看出,A系列产品在同等性能下所需的芯片面积更小,其面积性能比更为出色。
当然,客户也可以选择更大的AXT-32-1024来实现同样的性能。但即使如此,依旧比ARM Mali系列所占面积更小,在合理的频率下甚至能获得75%的性能优势。或者维持同样的性能,但同時将带来极高的电源效率。
值得庆幸的是,Imagination虽然选择了比较老的骁龙855进行比较,但是由于其面积性能比的优势过于巨大,即使面对全新的骁龙865,Imagination的A系列产品也优势满满。当然,目前这些数据都来自于Imagination,具体到实际产品上会怎么样,还得看未来的产品发展。
Imagination的未来之路
Imagination带来的全新A系列有着出色的性能,如果一切顺利的话,它将给业内带来深远的影响。
Imagination的工作当然不会止步于此。在发布会上,Imagination还带来了未来的路线图,在A系列之后,2020年Imagination将发布B系列,随后的C系列、D系列,相比现在的产品,Imagination希望每年都带来一些性能提升和更新,尤其是性能,Imagination希望以1.3倍或者30%的年复合增长率提升,这是一个颇为庞大的目标。
进一步来看,Imagination的A系列将在2020年早期推向市场,具体产品可能会在2020年下半年出现。另外,B系列的研发也很顺利,应该在2020年夏天完成并适时发布。具体客户方面,几大巨头中,目前Imagination还没有固定的客户资源,只有一些较小的SoC厂商,比如RockChip、紫光展锐等。至于华为等厂商,依旧存在极高的商业或者其它门槛,Imagination可能很难进入。目前Imagination最大的胜利在于联发科,近几年联发科在ARM Mali和Imagination之间摇摆,如果Imagination能够固定下来这个大客户那么将带来很不错的市场期望,尤其是在联发科努力冲刺高端市场的今天,Imagination出色的面积性能比将带给联发科更为优秀的成本和市场表现。
长远来看,随着半导体工艺逐渐逼近极限,制造工艺的技术难以维持之前快速发展的态势,这就对半导体架构设计提出了更高的要求,通过更优秀和完美的架构设计,应该能在一定程度上对冲工艺进步缓慢的问题。Imagination的A系列似乎是这种变化的完美典范,相比之前的产品,A系列带来了Imagination在移动GPU上的世代跨越,如果能够在商业实现上获得成功,这将是Imagination-个难得的转折点,也不枉Imagination将其视为公司发展历史上最重要的产品,毕竟,这就是未来。
Imagination是GPU市场的“老玩家—了,在个人PC发展的初期,Imagination就曾经和ATI、英伟达在市场上扳过手腕,不过由于技术路径、市场策略等原因,Imagination在2000年宣布放弃了桌面市场,全面转向超低功耗领域,并终于在2006年之后的移动计算市场大放异彩,借着苹果iPhone的东风,成为移动计算市场的GPU霸主之一。
早期的移动计算市场在架构和技术路径上的竞争还是颇为激烈的,除了有Imagination、ARM这样的巨头外,还出现了Vivante这样的小厂商提供相关GPU授权,也有一些厂商尝试自研GPU架构或者授权GPU架构,典型的比如英伟达和AMD,都有自己的移动GPU部门或者授权定制的产品。随着市场的进一步发展变化,移动GPU市场基本呈现寡头化的态势。2015年,主要采用Imagination技术授权的苹果、ARM的Mali以及高通的AdrenoGPU三足鼎立,这也是Imagination最为辉煌的时候。随后的2017年,苹果宣布和Imagination解约并开启自研移动GPU的道路,同时像高通、三星、华为等厂商要么已经自有顶尖的移动GPU,要么表示有自研移动GPU的必要,这意味着移动GPU市场发生了重大变化,甚至有可能回归到之前的“战乱时代”。
全新A系列GPU:有史以来最快的GPU IP
在这种情况下,Imagination公司发布了全新A系列移动GPU产品。Imagination宣称这次发布堪称公司15年发展历史上最重要的GPU产品和IP发布。新产品的定位也非常明确,扭转Imagination在移动GPU市场上份额持续损失的趋势,并且使得使用Imagination GPU IP的厂商重新占领移动GPU的性能巅峰。
A系列GPU是Imagination的第十代产品。在品牌使用上,Imagination将放弃之前使用多年的PowerVR,转而使用字母和数字命名的方式。使用这种方法的原因是Imagination希望市场彻底改变对旗下产品的看法,并树立一个全新的技术起点。当然,在一些技术场合,Imagination可能还会使用PowerVR的名称,尤其是其在专利的、基于图块的延迟渲染技术方面。新产品的名称采用的是A “系列后缀”的方式完成,比如顶级的产品依1日被称为XE系列,中端和入門级依次被称作XM、XT系列。组合起来就有AXE、AXM和AXT等多款产品。
在本次发布会上,Imagination带来了AXT、AXM和AXE系列,当然其中的主角是AXT系列,AXM和AXE系列是进一步精简的版本。性能方面,Imagination宣称AXT比第九代类似定位的产品快2.5倍。需要注意的是,Imagination并没有在不同代次的XT系列GPU之间进行精确的对比,而是和“市场上广泛使用的”第九代XT系列型号进行对比。不过,考虑到目前市场上根本没有公开宣布的第八代和第九代8XT或者9XTP产品,这样的对比显得有些空洞,但这依1日是新品性能对比时可以选择的唯—方法。据悉,Imagination采用的对比对象有可能是联发科Helio P90中所采用的GM9446,这款移动GPU架构基于较老的Rogue,具有一定可比性。值得一提的是,在性能对比方面,Imagination希望A系列产品的性能、面积等参数更为透明,并且在性能基准和上代产品对比上更为容易,供应商都可以据此独立验证和比较性能指标。
架构方面,A系列架构的改进主要包括了GPU计算单元的重新设计和ALU架构的大幅度调整,Imagination宣称新的架构带来了4倍的性能提升、8倍的AI计算效能提升和在维持同等性能的基础下拥有了60%的功耗降低。
本次发布会上,Imagination发布了四款新品,其中两款型号为AXT系列,两款为进一步精简版本的AXM系列。在产品命名上,Imagination米用了非常直观、独特的命名方式。以本次发布的顶级产品AXT-64-2048为例,这个名称意味着这款GPU在每个时钟周期可以完成64个像素计算或者2048个FP 32的计算。因此,在1GHz的GPU频率下,其最大计算性能为图形2TFLOPS,AI计算采用的是INT8格式,因此其性能是FP32的图形计算能力的4倍,为8TFLOPS,另外,整体填充速率为64 Gigatexels/s。值得注意的是,Imagination在产品宣传中不再使用的Gigapixels/s的单位,转而使用更容易理解的Gigatexel/s单位。做出这样改动的原因是因为部分用户会混淆纹理图案率的含义,因此这里改用Gigatexels/s,更为清晰且容易理解。
除了AXT-64-2048外,Imagination还发布了AXT-32-1024、ATM-8-256、AXE-1-16等产品。其中AXE-1-16采用了一个单独的自定义结构。实际上,从命名就可以看出不同型号的产品的性能档次和基本的产品区间了。Imagination认为AXT-32-1024将会成为中高端移动SoC的最佳选择,至于性能更强的AXT-64-2048,则有机会出现在更大尺寸的设备之中。 全新的ISA和ALU:一个更宽的GPU架构
在看完型号后,再来看看相关的架构设计。和前文所说的一样,全新A系列GPU在架构设计上尤其是ISA和ALU上和之前的Imagination GPU结构存在根本的不同,并且和其他任何公开披露的GPU架构都存在很大差异。
全新ALU设计的关键点在于,新的架构比之前Rogue架构和Furian架构的宽度更宽,每个集群的密度高达128个执行单元,因此Imagination称之为128宽度的架构。
从之前的架构发展来看,Rogue架构的波前阵列的宽度为32,但是单个SIMD宽度仅为16,因此Rogue需要2个周期才能完成一个32宽度的阵列的执行。在8XT的Furian中,SIMD的宽度扩大到了32宽,一个周期就可以完成32宽度波前数据的执行,在9XT的架构中,SIMD的宽度进一步提升到了40单位。
和其他移动GPU横向比较来看的话,像是ARM最新发布的架构中,SIMD宽度也大幅度提升,从之前Mali-G72的4个单元增加到了新的G76中的2个4单元的模块,也就是实际上8宽度的设计更新一些的Mali-G77中,SIMD计算单元的宽度被进一步提升至16,并且ARM还涉及了与之匹配的波前阵列。除了移动GPU之外,在桌面GPU方面,英伟达的GPU采用的一直都是32宽度的波前阵列,AMD方面则从之前4x16宽度ALU、匹配64宽度的波前阵列转向了32宽度的SIMD和波次,AMD在此处的设计也比较灵活,当两个ALU集群或者CU单元聚合在一起的时候,可以执行64宽度的波前并实现向后兼容。
通过比较可以看出,Imagination的新设计相比目前所有的GPU方案来说,都要宽数倍,这也是迄今为止在商业GPU设计中最宽的SIMD方案。从技术角度来说,为了更高的效率,人们一般会选择一个合适的SIMD宽度并匹配相应的控制单元。更宽的SIMD虽然能够在一个周期内处理更多的数据,但是如何将更多的线程有效的捆绑在一起,并使得所有计算单元保持忙碌状态,是其中的难点所在。为了解决这个难题,A系列的设计也做了相应的更改,对ISA和ALU做出了极大的简化。
和Rogue架构相比,新的A系列将执行单元从两个MADD乘加单元简化为仅有一个MADD单元。在之前的第八代架构和第九代Furian架构中,这样的设计也曾出现过,但当时Imagination在MADD单元边还保留了一个辅助的MUL单元,不过在新的A系列架构上,MUL单元都已经被精简掉了o
Imagination给出了进入MADD单元的三个箭头,代表了用于存储操作数据的三个寄存器源,其中2个用于乘法,1个用于加法,和之前的Furian架构的MADD单元的ISA相比,新的A系列加入了一个额外的乘法寄存器源。
实际上,Imagination新的架构,是从面向指令集并行的ILP架构的设计转向了最大化线程级并行TLP架构的设计,并且付出了巨大的努力。在这方面,AMD在从之前的4D架构转向GCN架构时曾做过类似的工作,当时AMD从ILP的繁重设计中过渡到GCN这类几乎完全受到TLP约束的架构,并得到了性能的大幅度提升。
根据一些消息,由于简化了指令和相关执行部分,转向“大规模”TLP架构带来的更高的ALU利用率,大幅度提高了芯片中ALU的实际占比密度,同样也带来了每平方毫米性能的提升。自然的,相对应的是芯片面积的降低和消除冗余晶体管等,这都带来了功率效能的提高。
进一步深入的话,在着色器方面A系列GPU也有颇多创新。Imagination还给出了一些资料用于介绍整个A系列着色器的工作流程。这些资料显示,在一个典型的着色器工作流程中,从根据内存中的命令队列启动的数据主机开始,3D数据母版开始预处理其它的固定功能,然后触发着色器程序执行隐藏表面的移除和工作量生成。接下来GPU将会把一些三角形组合在一起成为一组任务,以便更好地填充波前阵列所需要的128宽度以及更好地利用ALU。
另外,可编程数据定序器也就是PDS拥有资源和管理器的分配的功能。PDS可以为工作负载保留本地寄存器空间,并且在任务分配给線程时管理任务。PDS能够将即将到来的线程进行数据预取或者预加载至本地内存,一旦线程数据可用,它就开始标记活动槽,并由指令调度程序和解码器将活动槽进行分派并解码,再送入执行单元。
除了之前介绍的主ALU外,A系列架构还拥有辅助ALU。尤其值得注意的是,Imagination在设计中为整数和按位运算等功能设计了单独的执行单元,这些单元虽然在执行上是分开的,但是和浮点单元共享相同的数据路径,因此会和浮点单元以排他的方式运作,也就是要么使用这个要么使用那个。这些整数单元的作用是提高AI计算效能,并且具有四倍速率的INT8吞吐能力。在速度上,辅助ALU管道以1/4的速度运行,因此每个周期并行执行32个线程。从某种意义上讲,Imagination的这种设计和ARM在Mali-G76、Mali-G77上的整数乘积指令NN的功能非常相似。不过Imagination没有详细说明这种设计可行性。
此外,一些更复杂指令也可以在专用的单元上获得较好的执行效果,比如数据移动、数据转换、迭代器、原子操作等。
固定功能的更改和GPU的可伸缩性
在更高的层级,可以看到A系列GPU设计的架构总图。从图中可以看出,A系列GPU在架构布局上和之前的PowerVR GPU相似度很高。图中显示ALU依1日占据最大一部分面积,被称为usc也就是unified shading cluster也就是统一渲染簇。usc以及各种其他固定功能块又容纳在SPU或者着色器处理单元中,通常被称之为“核心”。
每个SPU在当前的配置中包含2个USC,这意味着最终一个SPU中将有2个1 28宽度的ALU集群。所有的AXT配置都是这样的。但是,更低端一些的AXM-8-256单元只有一个USC,是其中的例外。实际上,AXT-16-512是带有完整SPU的最小配置方案了。 每个SPU都拥有自己的几何流水线以及最多2个纹理处理单元。A系列继承了Fu rian架构的TPU的吞吐量设计,这意味着每个该模块的每个时钟周期都能够采样8个双线性滤波纹理像素。A系列现在每个SPU的容量增加了一倍,并且AXT型号具有2个TPU,从而使总纹理填充率达到每个SPU每个时钟周期16个。
A系列的纹理单元微架构也做出了重大调整。Imagination宣称新架构的一个重大改进来自于LO缓存的处理和位置信息。LO缓存在纹理化工作流程中,被重新定位在处理和过滤阶段之间,这样可以使得LO缓存保留处理阶段的输出,并实现Imagination所谓的大量数据的复用,因为不需要每次都对像素进行重新处理。鉴于在各向异性过滤处理期间可能要对纹理采样的次数,因此这样做的优势应该还是比较明显的。
Imagination还谈到了如何大大改善新架构各向异性过滤的质量。在使用传统的纹理隧道的一组比较截图中可以看出,Imagination的新的各向异性过滤更接近角度独立,这也是ANISO过滤的理想结果,反之则是角度依赖的过滤。有趣的是,Imagination声称即使使用更少的样本也可以实现这种改进后的角度独立性过滤,但是Imag.nation没有说其中具体的实现方法。总的来看,新的纹理架构设计有助于提高计算效率和硬件密度,但是由于目前A系列和比较老的Rogue系列进行对比,因此不是很确定A系列是否能够相对第九代9XM依1日能够获得如此显著的i生能和特性优势。
固定功能单元的另一个变化是像素管线。尽管从表面上看,X系列和我们之前在Furia n上看到的相比吞吐量没有任何变化。但是实际上A系列具有2个PBE单元,每个PCE每时钟周期可以吞吐4个像素,因此每个SPU每周期可以处理8个像素。此外,每个核心中还有更多的设计,包括前核心和后核心,因此每个周期可以处理16个像素混合,不过在1:1的像素和纹理上,只能每周期处理8 PPC。总的来看,Imagination的新设计使得纹理吞吐率提高了一倍,同时又保持了稳定的像素吞吐率。这意味著新的A系列产品和其他厂商的设计保持了一致,像素和纹理填充率则维持在了1:2的水平。
在Alpha操作上,Alpha操作现在是在像素管线的专用硬件单元上完成的,不再使用ALU资源,通过固定功能引荐,可以改善心梗并且允许全速率的FP16操作,并且解放ALU,使其可以将计算资源用在其他更需要的地方。此外,这样做还提高了硬件效率和芯片密度,改善了电源情况。
值得注意的是,对于AXM系列的产品,Imagination使用定制的固定功能单元提高面积利用率,而不是简单缩放单元。
GPU规模:进一步扩大
由于Imagination设计了SPU模块,这是整个GPU中最基本的模块,因此可以通过简单的搭载更多的SPU模块来扩大GPU的规模并提高性能。
Imagination给出了四款配置模式,分别使用1、2、3、4个SPU,对应了ATX系列下的四个不同的型号。值得注意的是,AXT下SPU扩扎的型号,其纹理、FLOPS均以16-512为倍数发生。其中32-1024的规格是比较适合高端智能手机的,48-1536可以在较低的时钟频率下提供较高的计算能力。而最强大的AXT-64-2048则是规模最大也是性能最强的GPU,如果有意向客户的话,Imagination可以帮助客户构建这个巨大的GPU。
横向对比来看的话,AXT-16-512这种单个SPU、2个USC的配置和之前几代类似配置相比,A系列的确存在巨大的体系结构变化。虽然相比9系列,A系列增长没有4倍之多,但是512FLOPSXj比9XTP的240FLOPS,这也是超过2倍的性能提升。
另外值得注意的是,Imagination的A系列构建的基础模块体积就已经很大了。比如AXT系列的SPU要比Mali-G77大很多,后者性能仅为64FLOPS以及每周期像素填充率仅为2,因此AXT的一个SPU大概类似于Mali-G77 MP8方案。相对应的,就每平方毫米性能和功率效率而言,几个大核心和大量的小核心相比,总是几个大核心更占优势,正如苹果和高通的多核心设计那样。
新的多任务和安全特性:HyperLane技术
A系列GPU的另一个特性是支持Imagination的HyperLane技术。这项技术的特点是在多任务和安全性上大大扩展了该体系的灵活性。此外,Imagination在GPU虚拟化上也有独特的创新,这使得它能够在汽车设计等领域有着自己的优势。
HyperLane技术是虚拟化技术的扩展,在单个GPU执行任务时的分离能力上更胜一筹。在渲染流程中存在一些不同类型的主控制器,每种控制器都会将工作负载分配给GPU。比如几何部分由几何主数据处理,像素部分由3D主数据处理,2D则交给2D主数据部分,其余流程还包括计算和工作负载主数据。针对以上每个主数据,GPU各个模块对于给定的任务都是活动的,其他的模块保持空闲状况。
目前的消息显示,在HyperLane功能的辅助下,GPU硬件能够实现完整的任务并发,多个数据主机都可以同时处于活动状态,因此可以跨GPU的硬件资源来动态执行工作任务。这使得GPU具备了多任务处理能力,可以从多达8个来源接受不同的任务提交。不仅如此,每个HyperLane都可以配置自己的虚拟内存空间,也可以实现共享任意的内存空间。在任务分配方面,既可以根据块来分配不同的任务,也可以根据时间片来进行HyperLane,之间的共享,还可以给与HyperLane优先级,使得更重要的任务可以占用更多资源或者更快完成。
在安全特性方面,Imagination加入了隔离受保护的内容和权限管理等功能,能有效保证一个设备内部的信息安全和可靠。此外,在特色功能上还值得一提的是,Imagination在A系列产品上集成一个小型专用CPU(架构可能基于RISC-V),这个CPU本来是用于处理GPU管理任务或者充当固件处理器。一般来说,其他的体系结构中,GPU是受主CPU驱动而工作的,但是A系列的这颗固件处理器甚至可以实现各种管理控制任务和操作处理等,包括调试GPU、数据记录、DVFS算法等。这样的设计还很少看到,可能在快速调试和优化3D负载方面有比较显著的作用。 面积性能比:持续优化
面积性能比是SoC设计中最重要的一部分。如果能够以更小的面积获得更高的性能,那将显著节约最终的生产成本等。Imagination带来了一个比较有趣的对比,以骁龙855和Exynos9820为例,前者使用高通自家优化定制的Adreno GPU,后者则使用Mali系列。一个鲜明的数据对比是,在GPU性能相当的情况下,通过面基性能优化,高通使用100%的面积,完成100%的性能。但是同等性能在三星处理器上,需要184%的面积。
不过这里存在一个疑问,那就是这两颗处理器并没有采用完全一样的工艺。高通采用了TSMC的7nm工艺,三星则采用了自家的8nm工艺。不过Imagination给出了另一个角度的对比,那就是都采用A系列GPU完成同样的性能,比如都采用AXT-16-512实现,对比图可以看出,A系列产品在同等性能下所需的芯片面积更小,其面积性能比更为出色。
当然,客户也可以选择更大的AXT-32-1024来实现同样的性能。但即使如此,依旧比ARM Mali系列所占面积更小,在合理的频率下甚至能获得75%的性能优势。或者维持同样的性能,但同時将带来极高的电源效率。
值得庆幸的是,Imagination虽然选择了比较老的骁龙855进行比较,但是由于其面积性能比的优势过于巨大,即使面对全新的骁龙865,Imagination的A系列产品也优势满满。当然,目前这些数据都来自于Imagination,具体到实际产品上会怎么样,还得看未来的产品发展。
Imagination的未来之路
Imagination带来的全新A系列有着出色的性能,如果一切顺利的话,它将给业内带来深远的影响。
Imagination的工作当然不会止步于此。在发布会上,Imagination还带来了未来的路线图,在A系列之后,2020年Imagination将发布B系列,随后的C系列、D系列,相比现在的产品,Imagination希望每年都带来一些性能提升和更新,尤其是性能,Imagination希望以1.3倍或者30%的年复合增长率提升,这是一个颇为庞大的目标。
进一步来看,Imagination的A系列将在2020年早期推向市场,具体产品可能会在2020年下半年出现。另外,B系列的研发也很顺利,应该在2020年夏天完成并适时发布。具体客户方面,几大巨头中,目前Imagination还没有固定的客户资源,只有一些较小的SoC厂商,比如RockChip、紫光展锐等。至于华为等厂商,依旧存在极高的商业或者其它门槛,Imagination可能很难进入。目前Imagination最大的胜利在于联发科,近几年联发科在ARM Mali和Imagination之间摇摆,如果Imagination能够固定下来这个大客户那么将带来很不错的市场期望,尤其是在联发科努力冲刺高端市场的今天,Imagination出色的面积性能比将带给联发科更为优秀的成本和市场表现。
长远来看,随着半导体工艺逐渐逼近极限,制造工艺的技术难以维持之前快速发展的态势,这就对半导体架构设计提出了更高的要求,通过更优秀和完美的架构设计,应该能在一定程度上对冲工艺进步缓慢的问题。Imagination的A系列似乎是这种变化的完美典范,相比之前的产品,A系列带来了Imagination在移动GPU上的世代跨越,如果能够在商业实现上获得成功,这将是Imagination-个难得的转折点,也不枉Imagination将其视为公司发展历史上最重要的产品,毕竟,这就是未来。