1. 引言
过去两年,可穿戴设备成为新的研究领域的主角,从智能手表、手环、眼镜等可穿戴设备延伸到智能家居、智能汽车、医疗健康等更广泛的领域,而拥有用户界面良好的人机接口则成为可穿戴设备的基本要求。可穿戴设备人机界面的首要目标就是要使屏幕显示内容展现的直观、自然,并且宜于使用,因为这是用户和设备之间第一个接口。虽然可穿戴设备显示屏幕较小,所有交互的信息(如文本、图像、图标、视频等)都需要简洁方式显示在屏幕上,但较小屏幕的并不意味着设备处理能力简单,相反的,作为一个单独应用SoC处理器,其不仅需要实时完成数据处理、数据通信、传感器信息分析处理等,还需要完成用户界面显示,因此可穿戴设备必须采用图形处理器(graphic process unit, GPU)支持,才能完成所需的用户界面信息显示。
相比移动GPU,可穿戴设备的GPU应用有自己特点。首先由于可穿戴设备是电池供电,相比手机应用,可穿戴设备需要更长的工作时间,但图形显示占用设备大量功耗,所以应用于可穿戴设备的GPU必须采用多种方法进行超低功耗处理,保证设备可以长时间工作。其次可穿戴设备本身需要小型化,整机尺寸要小、物料(bill of material, BOM)要少,因此可穿戴设备的GPU IP面积必须要小,同时也需要减少GPU渲染所需的外部DDR存储。而采用目前常用的移动GPU实现可穿戴设备的人机界面渲染,存在诸多使用限制,如移动GPU芯片面积过大,支持的图形功能太复杂,所需DDR存储较大,工作时功耗较大导致发热严重,图形驱动程序复杂、占用系统开销较大、着色器预编译时间较长等。所以需要针对可穿戴设备的GPU特点,进行小面积、超低功耗的GPU体系结构的研究,而这种针对可穿戴设备的小面积、超低功耗的GPU我们称之为可穿戴GPU。
2.可穿戴设备的GPU发展现状
2014年3月,Google发布了可穿戴设备平台Android Wear [1] [2] 操作系统,该操作系统图形显示部分必须需要硬件的GPU支持,才能实现对可穿戴设备图形显示的多种优化,所以,从Google的Android的生态环境角度看待这个问题,运行Android Wear操作系统的显示界面精美的可穿戴设备必然迎来爆发式增长。因此,采用GPU渲染的丰富、直观、交互性强的人机界面将是众多可穿戴设备的核心支撑技术。目前支持Android Wear操作系统的智能手表产品有的MOTO 360、LG G Watch 、HUAWEI Watch等,这些智能手表界面精美,但一般仅能工作一天,就需要再次充电,因此可穿戴设备的低功耗设计是一个首要解决的问题。
2.1. GPU国内研究现状
根据文献,拥有OpenGL ES 3D图形IP核的图芯科技公司(Vivante Corporation),直到2009年才在中国有了第一家客户。而中国关于GPU的研发项目是在2009年才有所展开,到目前为止也只有长沙景嘉微电子一家有成型的芯片,其采用0.13 μm的工艺实现,3D图形处理性能指标仅达到早期桌面级图形硬件加速的水平。西安邮电大学从2009年开始自主研究GPU,提出了文献[3] [4] 所示多态并行图形架构,该结构的处理单元可以在 SIMD和MIMD两种模式下运行,兼有异步执行机制,还可以实现分布式指令并行处理。配套软件包含OpenGL1.3和2.0、扩展的OpenCL [5] 语言和编译、并行编程开发环境IDE和仿真器。同步完成的还有OpenVX机器视觉系统[6] 。同时自主研发的另外一款嵌入式GPU [7] [8] 芯片,已经进入测试阶段。此外国内研究图形加速器的单位还有北大众志微处理器研究中心、中国科技大学、西安电子科技大学[9] 等单位。总体来说,国内有关GPU的研究都在起步阶段,特别是对于可穿戴GPU缺乏系统研究。
2.2. 可穿戴GPU国外研究现状
国外移动GPU研究已经较成熟,但是可穿戴GPU应用才出现不久,所以针对可穿戴GPU的研究都处于起步阶段,但国外研究机构已经展开对可穿戴GPU这一新兴领域的大量研究。
2.2.1. Think Silicon公司的NEMA|t100可穿戴GPU
2015年6月4日,希腊Think Silicon公司发布了工业界面积最小的超低功耗的3D GPU NEMA|t100 [10] ,主要面向可穿戴或者非可穿戴的物联网市场。NEMA|t100的低功耗特性可以将可穿戴设备的电池从一天延长到五天时间。采用28 nm工艺,NEMA|t100的面积仅有0.1 mm2,可以运行在400 MHZ。NEMA|t100采用内存数据压缩技术和3D图形算法加速技术,可运行OpenGL ES API,NEMA|t100和DDR存储的总功耗仅有0.07 mW,而处理器本身功耗仅有0.03 mW。图1为NEMA|t100的架构图,该架构特点是显示缓冲区采用压缩算法实现,减少缓存面积;Z Buffer和纹理缓冲区采用对称的压缩和解压缩算法,同样减少缓存面积,降低与外部DDR存储的吞吐量,降低系统功耗;图形光栅化采用硬件实现。NEMA|t100仅有一个内核,采用VLIW指令集,支持多线程超标量架构。
2.2.2. DMP公司的ANT可穿戴GPU
日本DMP公司于2014年6月31日发布了针对可穿戴和物联网设备的GPU IP核ANT [11] 。ANT采用TSMC 28 nm HPC工艺实现,面积仅为0.25 mm2,主要面向可穿戴设备小尺寸显示设备中,或者其他物联网小尺寸显示设备中。该处理器实现了在小尺寸屏幕上的低功耗和高性能的2D/3D UI显示完美结合。
2.2.3. Imagination公司的 PowerVR GX5300可穿戴GPU
英国Imagination公司于2014年7月发布了一款与Android兼容的针对可穿戴和物联网设备的GPU IP核GX5300 [12] 。GX5300主要针对可穿戴设备的超低功耗需求设计,采用TSMC 28 nm工艺,面积仅为0.5 mm2,符合新的可穿戴设备的高清晰度GPU图形性能需求,支持480 p到720 p分辨率,以及最小的OpenGL ES 2.0图形集。GX5300架构如图2所示,采用PowerVR系列的区块延迟渲染(tile based deferred rendering, TBDR)的统一着色器架构专利,该架构可明显减少GPU与外部存储器之间的数据吞吐量,减少系统功耗;针对OpenGL ES 2.0标准中不需要高精度运算,采用低功耗16位浮点数和高精度32位浮点数相结合的混合图形运算单元,减少运算量,降低功耗;采用PVRTC压缩纹理格式,减少内存带宽和功耗,进一步减少系统整机内存需求。
2.2.4. Vivante公司的GCNano可穿戴GPU
美国Vivante公司于2014年6月2日发布针对可穿戴和物联网产品应用的GPU产品线,包括GCNano Lite、GCNano和GCNAno Ultra [13] 。该产品线针对MCU/MPU产品进行了各种优化,采用28 nm LP工

Figure 1. The internal architecture of Think Silicon NEMA|t100 GPU
图1. Think Silicon公司的NEMA|t100可穿戴GPU架构

Figure 2. The internal architecture of Imagination PowerVR GX5300 GPU
图2. Imagination公司的PowerVR GX5300可穿戴GPU架构
艺实现,其中GCNano Lite面积仅为0.3 mm2,漏电功耗仅为0.3 mW。该处理器主要针对硅面积、低功耗、存储容量、驱动尺寸、带宽减少以及显示控制配合上,进行了大量优化。
2.2.5. 小结
考虑到可穿戴GPU应用低功耗、小面积、高性价比等特点,可穿戴GPU芯片设计工艺目前一般采用28 nm成熟工艺节点实现,如表1所示。由表1可知,可穿戴GPU需要支持OpenGL ES 2.0图形标准,为了适合可穿戴设备应用,可穿戴GPU芯片面积要小,功耗要低,GPU运行频率较低,同时需要使用各种图形数据压缩技术,可减少GPU内部存储面积和总线带宽,降低整体系统功耗。
3. 可穿戴设备的GPU发展趋势和面临问题
与传统的桌面GPU和手机GPU相比,可穿戴GPU有着不同的设计目标。前者以渲染高质量、绚丽的图形和游戏为目的,而后者则以可穿戴设备的人机界面为中心,需要一种小面积GPU体系结构的支持,这是目前可穿戴GPU研究的一个主要方向。因为可穿戴设备一般采用电池供电,其应用环境要求一次充电后,要长时间工作,而图形显示的能源消耗占设备功耗的主要部分,设计有效的策略延长设备工作时间成为了可穿戴GPU的核心问题,这其中包括了GPU数据流加速算法、减少存储和存储访问的数据压

Table 1. Wearable GPU performance analysis
表1. 可穿戴GPU性能比较
缩算法,以及芯片的集成电路低功耗设计方法和热量管理机制和策略,它们构成了可穿戴GPU的第二个方面的主要研究内容。此外,一些与应用密切相关的共性技术也是可穿戴GPU基础研究的重要组成部分,其中包括实时响应的图形渲染场景切换换算法,可穿戴GPU渲染图形数据的安全性的研究等。本项目中,我们拟对可穿戴GPU中的体系结构、低功耗算法和预估策略、图形渲染实时响应以及可穿戴GPU的渲染流水线数据安全展开研究,因为这些是可穿戴GPU的核心支撑技术。
3.1. 可穿戴GPU渲染架构
目前两种主流的GPU渲染架构是区块渲染(tile based rendering, TBR) [14] 模式和立即渲染(immediately mode rendering, IMR)模式。其中TBR将屏幕划分为多个方块,如32 × 32像素,然后分别渲染每个像素块,该方式可以减少与存储器的数据访问,但是需要提前建立区块表和相关数据库信息;而传统的IMR模式中,GPU接受到命令就立即执行,同时IMR也可以采用多种图形数据流加速方法,如隐藏面消除、Early-Z等技术,加速流水线渲染速度,使芯片功耗和带宽降低。TBR与传统IMR有很多区别的,但是IMR也同样能高效完成图形渲染,所以在实际的可穿戴GPU图形架构设计中,该如何选择哪种模式进行图形渲染,如何优化处理器体系结构,使GPU面积最小,使之符合可穿戴设备应用,这些都是可穿戴GPU设计首要考虑的问题。
3.2. 可穿戴GPU提高图形渲染性能和降低功耗的算法
采用电池供电可穿戴设备,提高图形渲染性能和降低功耗的算法与策略是首要研究问题。可穿戴GPU渲染过程中减少不必要的图形渲染,可以降低总体计算量,进一步减少功耗,这些算法包括深度剔除[15] 、包围盒剔除、三角形延迟渲染[16] 、可编程的剔除运算单元[17] 等算法。可穿戴GPU提高图形性能和降低功耗的另一个关键是减少内部运算部件和内存之间的存取操作,因为内存带宽功耗比计算功耗增加更迅速[18] 。与传统的桌面GPU和手机使用的移动GPU相比,前者由于渲染目标不同,更注重纹理压缩 [19] 技术的应用以减少与内存之间的存取操作,而后者除了纹理压缩算法,还需要研究设计显示缓冲区、深度缓冲区 [20] 和模版缓冲区的对称压缩算法。纹理压缩算法因为应用关系,可以尝试复杂的芯片片外压缩算法,然后在片内实现快速解压,所以称纹理压缩算法为非对称的压缩算法;而缓冲区压缩算法需要在芯片内部完成快速压缩、快速还原图形的算法,所以缓冲区压缩算法称为对称压缩算法。这些压缩算法不仅可以减少运算部件和内存之间的存取数据总量,同时加快图形渲染速度,还可以减少存储访问引起的功耗,并显著的减少外部DDR存储容量,有助于降低系统物料(bill of material, BOM)成本,这对可穿戴设备至关重要,因为更小的设备尺寸意味着更低的成本和更低的功耗。上述可穿戴GPU的算法研究,不仅可以减少GPU渲染数据流总量、降低与外部存储的数据交互量,还可以减少GPU功耗,并减少BOM成本,因此这些算法对可穿戴GPU的超低功耗设计、实现有重要的意义。
3.3. 可穿戴GPU能量和热量管理策略
虽然可以采用多种集成电路低功耗设计方法,降低系统功耗,减少发热,但是可穿戴GPU与桌面GPU应用环境有显著的不同,可穿戴GPU通常是在一个密封的、没有专用散热器件的环境下使用,所以可穿戴GPU需要解决的另外一个主要问题就是芯片发热控制[21] [22] 。芯片过热会造成两个非常不利的影响。首先,芯片的漏电功耗(Leakage Power)会随温度升高快速增长,造成芯片功耗过高。其次,芯片温度超过设计阈值会导致芯片出错,进而导致可穿戴设备关机或死机。因而可穿戴GPU需要进行发热检测或发热预估,当发现过热现象已经发生或者将要发生时,进行功耗干预措施。所以发热监控要与动态电压和频率调节(dynamic voltage and frequency scaling, DVFS) [23] 机制类似,需要增加芯片的温度传感器,根据温度和图形流水线负载,预估各个模块发热贡献,综合采用DVFS和电源门控功耗(Power Gating) [24] 策略,以保证芯片在可接受的温度范围内正常工作。因此,GPU的能量和发热管理策略的研究对可穿戴GPU应用至关重要。
3.4. 可穿戴GPU渲染场景快速切换
图形处理管线包含了诸多硬件加速器和可编程染色器,图形渲染硬件流水线往往有几百级长度,每一级都含有许多需要保存的状态信息。上下文转换对于流水线而言是非常复杂和费时的。对于可穿戴GPU来说,上下文切换缓慢将是一个噩梦,因为用户需要实时的信息反馈到屏幕上,而由于内部切换过慢,导致信息反馈不及时,对某些应用场合将是致命的。因此如何高效的进行图形上下文场景快速切换,也将是可穿戴图形应用领域不可缺少的关键机制。
3.5. 可穿戴GPU渲染数据安全性
随着可穿戴的普及,所有的智能设备通过网络连接在一起。个人隐私数据如何在网络下受到保护,则成为了可穿戴设备发展需要着重考虑的问题。在一个可穿戴设备应用的SoC中,GPU和操作系统如何保护图形流水线数据的可靠性,则成为一个崭新的研究方向。为了使数据更加安全,可以采用至少两级的认证、加密、网络安全认证以及可信区域授权等,这些技术目前已经非常成熟,但可穿戴GPU数据安全不是要取代任何现有的协议,而是要增强整个图形渲染过程的数据安全性,给用户更加安全的使用环境。与GPU相关的隐私数据包括:任何可视的在GPU缓冲区渲染的安全信息,如数字、密码、受保护的视屏、用户界面中的安全区域,以及在系统存储器、高速缓冲器的GPU数据和GPU的虚拟化数据。这些数据如何在操作系统中划分安全和非安全区域,如何在GPU内部进行保护,这些都是需要研究探索的问题。针对这些问题,促使图形开放标准组织Khronos Group在嵌入式系统图形库(Embedded systems graphics library, EGL)标准接口中提出了一个新的EXT_protected_surface [25] 扩展功能,GPU硬件设计厂商通过该接口,可以自行设计硬件配合该扩展功能使用,使操作系统、驱动层和GPU硬件建立可信数据通道,保护图形数据安全性。纵观数据信息安全领域,GPU的数据安全并没有被关注过,GPU只是被认为渲染逼真的3D图形或执行计算任务的图形/图像处理器。但展望未来,随着可穿戴设备大量普及,可穿戴GPU保护隐私安全的图形数据机制,将成为可穿戴图形安全应用的基本保障。
综上所述,可穿戴GPU中图形处理器架构、图形数据流加速和压缩、低功耗和发热策略,以及图形实时响应和数据安全都具有现实的理论意义和应用价值,但因可穿戴GPU独特的技术要求和制约因素,使得研究和设计一款适合可穿戴应用的、小面积的、超低功耗的、BOM成本低的、高可靠性的、高实时响应的GPU面临不小的挑战。
4. 总结
总之,尽管在近一年时间内,对这一崭新课题的研究已经有了部分成果,Think Silicon、Imagination、Vivante和DMP公司推出了针对可穿戴应用的GPU,但或多或少的存在一些缺陷与不足,主要包括图形运算开销大、能耗高、可穿戴图形应用特征不明显等,因此目前关于这一课题的研究基本上还处于初步的探索阶段,要最终形成成熟的应用技术,还可能需要更具创新性的研究,或者大量细致的完善工作。在国内外可穿戴图形应用研究日渐重视的背景下,适时启动可穿戴GPU的体系结构研究、图形数据流加速、低功耗和发热预估策略,以及图形快速响应和数据安全等关键支撑技术的研究课题是必要而且迫切的。
基金项目
国家自然基金重点项目(No. 61136002)。