微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 行业新闻动态 > ARM不只有MCU,GPU Mali的底层架构分析

ARM不只有MCU,GPU Mali的底层架构分析

时间:07-28 来源:微型计算机 点击:

纳入囊中。


Mali GPU现在几乎覆盖了全世界所有使用ARM架构的设备。

回到现实中。Midgard从架构上来看很有趣,它的某些方面和市场中已经出现的GPU架构非常相似,但另一些方面差异又非常大。从架构上来看,Midgard是之前Utgard的继承者,但是统一渲染架构和分离式渲染架构的差异如此之大,使得这两个架构又不能直接比较。当然,Midgard还是继承了不少Utgard中优秀的部分,尤其是部分周围功能模块。Midgard架构相对应的产品最终需要占领从廉价到顶级这样广阔的市场,为了达到这样的目的,ARM对产品进行了一些调整,削减了部分中低端型号的功能,并对内部结构进行了改变。因此,本文将重点集中在Midgard最顶级的型号上,这样可以充分展示这个架构设计的优势。

首先需要了解的是Midgard的设计目标和功能。和之前只能支持OpenGL ES 2.0的、已经基本没有升级空间的Utgard不同,Midgard的功能要求更为丰富,它不但需要提供强悍的图形性能,还需要能够带来出色的计算性能。这部分内容需要依靠于统一渲染架构来完成,因为这类架构天生擅长大规模的数学、图形计算。因此计算功能只是一个扩充,但也是经过深思熟虑后的决定-ARM推广通用计算的目的可能不仅仅考虑图形市场。此外,从API的角度来看,Midgard架构设计甚至是超出目前的OpenGL ES 3.0的,所有的Midgard都能在硬件层面上支持OpenGL ES 3.1,不过OpenGL ES 3.1的功能设计依赖于操作系统和设备供应商所提供的驱动程序,这样的设计可以使得Midgard能够在未来API更新后跟上新的标准而不至于落伍。


ARM的GPU发展计划,从低端到高端都有覆盖。其中蓝色箭头代指产品采用了老的Utgard架构,而新的橙色箭头的产品都采用Midgard架构。

目前的安卓系统可能很难支持Midgard的部分功能,但是更新的Android L和Android Extension Pack却能充分应用它们。新的Android Extension Pack将进一步扩展Open GL ES 3.1,尤其是加入那些目前尚不能支持的重要功能,诸如曲面细分和几何着色器(在桌面GPU中,前者在Direct3D 11中纳入官方支持,后者是Direct3D 10的代表性技术)。鉴于这种情况,Midgard都预先提供了对上述功能的支持。ARM已经证实,他们希望所有基于Midgard的GPU都能支持未来的更新的安卓系统和Android Extension Pack。

还有一点优势在于,伴随着OpenGL ES的规格更新,Midgard也开始支持Direct3D-由于目前Mali无法支持Direct3D,因此所有Windows Phone和Windows RT设备都只能使用英伟达或者高通的SoC。不过为了进一步区分市场,ARM还是将Midgard架构的产品做出了一些区分,比如即将到来的顶级产品Mali-760能够支持Direct3D 11.1,而较低端的Mali-T720只能支持到Direct3D 9.3,后者将普遍出现在入门级、更为注重成本的市场。

另外,Midgard的计算性能也需要关注。Midgard打算通过同时支持Android RenderScript框架和OpenCL 1.2,并积极成为这个领域的一个强有力的竞争者。OpenCL目前在移动计算领域做得并不算太好,主要原因在于操作系统都没有对它提供一致性的支持,比如iOS,而安卓也是最近才开始支持,即使某些硬件支持OpenCL,但在支持的功能上也存在差异,最终限制了开发人员使用这项技术。在这一点上,ARM已经明确表示,他们的Midgard将完全支持这方面的GPU计算。

深入底层-Midgard架构分析

在分析Midgard的架构时,本文将从一个比较高的视角来观察它。下文给出了Midgard的着色器核心架构,尽管名称上被称之为"着色器",但是实际上其中的内容非常丰富:"着色器"在本文中包含的内容不仅仅是一个普通着色器中所包含的"三管线(tri-pipe)"设计,还包含了三角形Setup模块、光栅化模块、Z轴消隐模块、ROP单元、tiling模块以及专门为通用计算和"三管线"而设计的一些线程控制模块。


Open GL ES 3.1在之前的会议上曾经被提出过来,并明确说明不会支持曲面细分、几何着色器。

一个Midgard的着色器,实际产品诸如Mali-T760,由于要充分考虑设计上的可扩展性,因此即使这个着色器包含了一个GPU的绝大部分内容,但是它依旧不能算作一个完整的GPU-因为部分周边部件并没有被放置在目前所介绍的着色器中。ARM设计了一个可扩展的、带有绝大部分功能的着色器,同时给出了一系列的共享硬件,厂商可以根据需要选择不同数量的着色器搭配共享模块,最终获得合适的GPU方案。Midgard支持从1个到16个"着色器"的设计方案,这也是最强悍的Mali-T760MP16的来源。

Midgard的共享部分主要是一些管理模块,比如任务调度管理器等,其次是L2高速

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top