MCPLive > 杂志文章 > 高通骁龙820 Hexagon 680 DSP技术解析

高通骁龙820 Hexagon 680 DSP技术解析

2015-11-10王志恒《微型计算机》2015年11月上

一般来说,玩家们关注一款手机处理器主要看的是CPU部分和GPU部分,比如CPU是什么架构、多少个核心、频率多少,GPU又有多少个模块、像素单元多少个等,但实际上手机处理器的构造远不止如此,除了性能支撑外,它还要负责例如语音处理、图像处理、输入输出处理、触觉反馈等。那么,这些“零零碎碎”的工作是由什么手机处理器中哪些部分完成的呢?答案就是DSP。

什么是DSP?

DSP的全称是“Digital Signal Processing”,也就是数字信号处理器。和多样性、多功能的CPU不同,DSP是一种固定的可编程功能硬件,它的灵活性比CPU差,但是整体效率更高,目前很多DPS都采用顺序执行方式设计,这意味着更少的电能消耗和晶体管数量。并且,DSP往往都采用VLIW指令集,这也和现在的CPU等处理器设备完全不同。

高通给出了骁龙820的结构示意图,Hexagon 680在其中占据了很重要的位置。
高通给出了骁龙820的结构示意图,Hexagon 680在其中占据了很重要的位置。

举例来说,DSP中存在专门处理JPEG图像压缩的部分,这部分内容专门只针对JPEG图像压缩算法设计,硬件上只针对这一个工作进行全力优化(比如专门针对图形处理中常用的傅里叶变换的计算单元,效能极为出色),执行专用操作。一般来说,在一个移动处理器中,有很多类似的功能使用CPU部分完成虽然也可以,但是整体效能不高,并且能耗表现也不够理想。因此,人们往往为移动处理器增加多种专用的DSP,专门针对诸如图像、音频、视频、语音、输入、触控等内容,不但提高了处理效率,而且还在很大程度上释放了CPU资源,降低了能耗。当然,从技术角度来看,DSP比较关注指令集并行,也就是单核心性能,对线程级并行则不太擅长,因此也不太可能存在使用成千上万个DSP来组成计算单元的可能性了。

近,高通在展会上介绍他们全新的骁龙820处理器时,专门花了很长一段时间详细介绍了骁龙820中集成的Hexagon 680 DSP处理器。通过这款先进的DSP处理器,我们可以大概了解到目前DSP部分对手机性能和功能的影响,以及先进DSP的优势所在。作为一款多功能、面向多场合的复杂的手机SOC,拥有强大的内置的DSP是不可或缺的,那么,骁龙820这款高通接下来的旗舰产品,其DSP都有哪些优势、性能如何呢?我们一起来看看吧!

强大的VVX—Hexagon 680 DSP简介

一般来说,用户主要在三个方面使用DSP,首先是视频处理。在Android设备上,视频处理可以改善播放的视频内容的质量,比如反交错、降噪、色彩校正等。其次是相机后处理和CV,包括摄像头数据处理、动态增强、色彩调整、HDR等。后还有相机播放内容,针对传感器等的处理情况。目前Hexagon 680均对这些内容做出了支持。

骁龙820的结构和功能划分示意图。注意骁龙820使用了三颗DSP芯片,分别是超低功耗DSP、计算DSP和MODEM DSP。今天我们介绍的Hexagon 680主要功能就是计算DSP。
骁龙820的结构和功能划分示意图。注意骁龙820使用了三颗DSP芯片,分别是超低功耗DSP、计算DSP和MODEM DSP。今天我们介绍的Hexagon 680主要功能就是计算DSP。

Hexagon 680的HVX可以实现的计算功能举例
Hexagon 680的HVX可以实现的计算功能举例

Hexagon 680 DSP内置了一个1024bit的SMID矢量数据寄存器,高通称之为Hexagon Vector Extensions—Hexagon矢量扩展,简写为HVX。HVX每次可以处理四条VLIW向量指令,每个循环可以处理多达4096bit数据,需要注意的是,一般实际应用中的指令比DSP支持的大指令宽度要小很多,不过借助于SIMD和系统的特性,单个指令可以一次操作多个数据,因此在计算中很多数据可以被一次性填充进入处理过程,实现效能的大化。另外,HVX为了实现上下文切换功能,还设计了32个向量寄存器。规格方面,HVX支持32位的定点十进制数的操作,但不支持浮点计算,这应该是考虑到晶体管数量和功耗的原因,一般情况下也没有浮点计算的需求。总的来看,这样的规格和性能足以满足4K视频以及20M像素摄像头的处理需求了。高通还展示了HVX底层设计的一些细节。HVX内部拥有L1数据和指令缓存,4个并行的VLIW标量处理单元,单元的运行频率为500MHz,还有共享的L2缓存。此外,HVX中还有两组独立的矢量单元,这样设计实际上是为了执行多线程任务,比如同时处理音频和图像处理,矢量单元可以独立进行计算。

HVX内部SMID结构图
HVX内部SMID结构图

HVX的存储结构设计
HVX的存储结构设计

与此同时,在存储系统方面,矢量单元和向量单元共享L2缓存。但HVX的L2实际上在一个周期内就可以完成负载的处理,因此有些人也认为这就是一个更为宽松的L1缓存。从应用中来看,Hexagon 680可以直接将数据从摄像头传递至L2缓存(速度为1.2Gp/秒),并将其传输给ISP开始处理,以避免占用DRAM,同时也可以降低能耗。此外,高通还为设计了了一个SMMU(System Memory Management Unit),它可以自动管理那些不可复制的数据,并使得多个并发应用共享CPU资源,实现效能提升。

效能提升—Hexagon 680提升效率、降低能耗

首先来看看有关Hexagon 680的SIMD架构和之前NEON架构的对比。NEON用作浮点和加速处理已经有很长一段时间了,也一直是ARM架构处理器增强浮点计算、矢量计算的重要组建。相对于HVX来说,NEON就显得特别“小气”。因为在一个单独的“核”下面,NEON只支持128bit的单个SIMD管道,相比4路的、1024bit-SMID的HVX显然要差太远了。不仅如此,HVX的SIMD的计算还拥有512KB的L2(相当于L1)缓存支持,相比之下,NEON之前在高通的处理器中应用时,只能使用32KB的L1指令缓存和L1数据缓存。显然,更大的缓存容量能够隐藏DRAM延迟,减少数据调用、等待时间并显著提高计算效率。Hexagon 680在相同的视频编辑工作下,大概能够达到之前NEON三倍的效率,并降低了功耗。

此外,四个标量的线程也使得很多计算可以由HVX直接处理完成而不需要CPU的辅助,这也可以降低能耗并使得开发人员能够更方便的使用HVX。高通展示了有关Hexagon 680中HVX的计算能力测试结果。根据测试来看,HVX的性能随着线程数量增加,测试成绩增加非常显著,高可超过14000分。另外,在DMIPS上,三个线程后,DMIPS的性能增加速度放缓,但是依旧逼近14000分。高通认为,目前很多应用程序同时需要矢量和标量计算,在HVX的加持下,很多应用可以考虑转移到HVX上来计算,这样就释放了大量的CPU资源,CPU可以转去做更为重要的一些工作,对GPU来说也是如此。

Hexagon 680可以直接获得摄像头的数据并处理后传递至L2缓存。
Hexagon 680可以直接获得摄像头的数据并处理后传递至L2缓存。

SMMU可以辅助控制数据传输
SMMU可以辅助控制数据传输

高通给出的有关Hexagon 680的一些性能测试。
高通给出的有关Hexagon 680的一些性能测试。

Hexagon 680能够自动处理图像,让图像变得更为符合人眼视觉。
Hexagon 680能够自动处理图像,让图像变得更为符合人眼视觉。

之前我们说过,DSP在Android设备商重要的功能之一就是图像处理。高通也做了一些这方面的成果展示。之前很多手机在拍摄完照片后进行处理时,往往会调用CPU或者GPU,,虽然在软件算法的辅助下可以达到不错的效果,但在能耗比上的表现不是很令人满意。高通展示了一张通过Hexagon 680进行自动HDR计算的照片,在照片中,Hexagon 680改善了场景光照质量,针对一些曝光不足的地区自动调整曝光,并进行了降噪处理,终使得画面纯净、自然。当然,这只是Hexagon 680应用的一个方面,在强大的矢量和标量记算能力的辅助下,只要有优秀的算法,Hexagon 680就能够大放异彩,高通宣称借助于Hexagon 680,可以实现更为清晰的低光照下的视频录制功能,成像质量和速度比之前单纯使用CPU等有了明显提高。图形处理的性能方面,高通也公布了一些数据,比如由于有Hexagon 680的辅助,在图片处理方面,Hexagon 680相比之前使用四核心Krait处理延迟要低三倍,功耗更是只有后者的十分之一左右,节能效果非常显著。

后再来看看Hexagon 680的一项特殊功能——对始终开启的传感器实现自动监控。Hexagon 680拥有特殊的“低功耗岛”,设计人员可以用它监控诸如计步器、传感器等一些需要系统“始终开启”的设备,替代之前的CPU唤醒或辅助处理器唤醒等操作,更进一步降低能耗。根据高通的测试来看,使用Hexagon 680的骁龙820对比骁龙808,能够在“始终开启”的状态下,仅使用之前1/3到1/2的功耗就能完成相同的任务。

Hexagon 680的图像处理速度非常出色,能耗比很高。
Hexagon 680的图像处理速度非常出色,能耗比很高。

高通还给出了有关Hexagon 680其他方面的测试结果。
高通还给出了有关Hexagon 680其他方面的测试结果。

DPS表现出色,骁龙820值得期待

Hexagon 680整体表现相当出色,它依靠DSP在架构设计上的优势,尤其是1024bit SIMD的加入,使得Hexagon 680大大拓展了应用范围,能够在多项任务中表现出比传统DSP更强悍的功能。目前有关Hexagon 680的相关API也已经准备完成,软件和系统只要调用Hexagon 680的API,就能够启动并得到计算辅助。从发布会来看,高通对Hexagon 680则进行了前所未有的详细介绍,这说明骁龙820努力在朝着更高能耗比、更高效能方向迈进。在经历了骁龙810的高热、高功耗之后,我们越来越期待这款高通精心打造、集成了大量先进技术的全新旗舰移动处理器了。

分享到:

用户评论

用户名:

密码: