ARM新GPU架构Midgard
ARM公司将挪威GPU开发厂商Falanx购入旗下,之后就推出了由Falanx开发的 Mali品牌 的GPU核心。包括有Mali-200,Mali-400MP,Mali-300等「Utgard」系列产品,其主要面向的是当前的主流产品,并已经在三星公司的Android智能手机「Galaxy S II」等上得到了应用。
不过Utgard系列属于采用 垂直型图形管线构造的架构,各自拥有 顶点着色器 和 像素着色单元 的架构,相当于PC产品上DirectX 9时代的架构,因此在非图形处理的通用性上要低许多。因此ARM对架构进行了更新,开发
与当前PC上GPU一样 的统一架构,也就是最新推出的「Midgard」系列。
最早推出基于Midgard架构的GPU,就是去年(2010年)11月发布的「Mali-T604」,而第二代产品就是今年(2011年)11月率先在日本推出的「Mali-T658」。T658与T604一样均属于Midgard系列,不过在架构上获得了长足的改进。Mali-T604则是ARM在2012年面向高端移动产品推出的GPU核心,将会与ARM下代CPU核心「Cortex-A15」配合使用。
Midgard架构的特点 就是在提升通用处理功能的同时,依然保持足够的图形处理效率。包括有64-bit双精度浮点运算和64-bit整数运算,64-bit寻址,shader单元间的内存同步,并全兼容OpenCL 1.1。我们都知道NVIDIA和AMD的下代GPU核心将会对通用处理进行优化,而在移动市场上,Midgard主要的竞争对手有Imagination Technologies公司的PowerVR显卡,相对而言Imagination在通用计算的优化上则要慎重得多(下代PowerVR变化并不大)。
而作为第二代Midgard架构的Mali-T658,是基于Mali-T604的基本架构开发而来。Mali-T604有4个shader,而Mali-T658则增加至8个。 Mali-T604配备了拥有4个shader单元和二级高速缓存的核心群。而Mali-T658的组数则提升了2倍 ,配置为2个拥有4个shader和L2缓存的核心群。如果换一种说法,可以将Mali-T658称为双GPU构成。
两个核心群被合并后,通过单一的dispatcher,每个核心群都会分到相同的处理任务。而shader间的内存同步以及核心群间的SCU依然保持。不过核心群间依然采用独立的L2 缓存和snoop单元,彼此之间的联系通过AMBA4总线实现。因此可以认为任务的分配可以根据需要实现最佳化。
Mali-T658的shader单元也是由Mali-T604发展而来。Mali-T604拥有2个运算管线,而Mali-T658则提升至4个。指令发出端口的数量比Mali-T604多 。