嵌入式GPGPU在多媒体SOC芯片设计及超高清智能电视应用研究
2021-03-26林川
林川
(广东博华超高清创新中心有限公司,广东 深圳 518000)
0 引言
大多数的ASIC设计都要用到嵌入式存储器,并且随着集成电路工艺水平的提高以及市场的需求越来越高,芯片的规模也越来越壮大,使用到的存储器也越来越多,嵌式存储器在整个SOC芯片中的可测性设计问题越来越突出。由于规模化的生产要求比较全面的测试覆盖率,能够有效的剔除不合格的芯片,另外,增加逻辑、替换单元以及增加引脚等耗费以及时间、面积。功耗等花费是否会在合理的范围内。所以通过实践,结合整个SOC的芯片,选择了合适的算法,介绍和实现了在SOC芯片中存入嵌入式GPGPU的设计。
1 GPGPU概况
1.1 GPGPU的定义
通用图形处理器(General-purpose computing on graphics processing units,简称GPGPU),是用来计算原本由中央处理器处理的通用计算任务的处理图形任务的图形任务处理器,一般来说,这些通用计算和图形处理没有关系[1]。
1.2 对比CPU,GPGPU的优势
对比GPU,CPU的浮点运算能力不足是它最大的缺点。像现在流行的CPU产品,或是英特尔,或是AMD,他们的浮点运算能力一般都在10Gflops。而Geforce6的系列产品的浮点运算能力一般可以达到40Gflops,GeForce7950GX2的浮点运算能力竟是可以达到384Gflops。由此可见,CPU和GPU的浮点运算能力相差巨大。即使内部性能再强,但是输入输出宽带有限,那也是无法被系统利用起来的。然而GPU可以很轻松地解决这个问题,纹理映射功能作为提高场景真实度的重要方法很早就被加入到GPU中了,用以解决GPU和显存间的输入输出宽带问题。CPU和内存间的宽带仅仅是GPU和显存间的十分之一,GPU可以大数量的输入输出,这使得巨大的浮点运算能力有了用途。GPU专门为图形运算而设计,考虑了图形运算的特殊性。就比如像素着色器来说,同一批的所有待处理像素都会执行相同的像素着色程序,换句话说,类似的运算会在大量的数据上重复运行。这恰好与SIMD的概念不谋而合,使得GPU非常适合单指令多数据运算,像科学计算、数据库分析都是单指令多数据运算。这也使得许多伤脑筋于CPU的科研人员把目标转向了GPU,想要用GPU这种优化设计去进行图形之外的通用计算。许多GPU程序员编写程序时,发现高级着色语言会给他们许多帮助。以前编写着色程序使用汇编语言,难度大效率低,而现在具有C/C++的高级语言可以大大地提高程序员编程效率。高级着色语言,如微软hlsl、opengl的glls、斯坦福大学rtsll和nvidiacg可以隐藏底层硬件的技术细节,提高gpu的开发效率。此时,虽然CPU编程语言处于前面,但GPU正在迎头赶上,使得开发和使用比以前容易得多[2-3]。
2 GPGPU在多媒体SOC芯片设计中的应用
2.1 SOC的发展历程
从1947年在美国贝尔实验室发明出第一个晶体管,到现如今集成几十亿个晶体管的CPU,今天已有70 多年的历史。而其中两个重要的发展节点,一个是1958-1959年,来自仙童的罗伯特·诺伊斯(Robert Noyce)发明了硅集成电路。来自德州仪器的杰克·基尔比(Jack Kilby)发明了锗集成电路。另外一个,就是SoC的出现。SOC(System-On-Chip), 即片上系统。可以简单地理解为把系统做在一块芯片上。20世纪90年代中期,因使用专用集成电路来实现芯片组受到启发,萌生应该将完整计算机所有不同的功能块一次直接集成于一颗硅片上的想法。
2.2 国内SOC现状
提起国内的SOC,最先想到的是海思的麒麟系列。海思麒麟可以说是华为自主设计的一款SOC,其中CPU和GPU应用的架构是由ARM授权的。NPU(Neural Network Processing Unit)-- 神经网络处理器,曾经是采用寒武纪的产品,目前搭载的是自研NPU,代号达芬奇。麒麟处理器主要应用在华为自家的旗舰机上,对标的是苹果A系列,高通骁龙,以及三星的猎户座处理器。虽然性能上相比以上几款稍差,但在这个性能过剩的时代,海思足以满足智能手机对性能的要求。在台积电不再为华为代工之后,国产最强SOC也走到了尽头。近期有新闻传出华为计划在上海建芯片厂,麒麟SOC在不久的将来也许会回归。紫光展锐作为国内第二大芯片设计厂商,在5G领域具有全面的产品与技术解决方案。目前展锐的UNISOC在移动终端,工业交通,电子电力等行业具有广泛的应用。国内的另外一家老牌SOC是全志科技(Allwinner),其主要的产品是基于ARM架构的大型SOC,主要产品有R329,R818等28nm的智能语音芯片,以及A系列的平板处理器[4]。全志科技的SOC主要布局物联网,智能家居等领域。
2.3 GPGPU在麒麟SOC芯片设计中的应用
从以上国内SOC芯片公司的发展现状来看,产品覆盖还算广泛。但从产品的性能来看,麒麟和国际主流移动处理器的差距最小。最新的麒麟芯片麒麟9000芯片CPU方面依旧是基于上代ARM A77核心架构,采用的是一颗主频为3.13GHz的A77高频核心、三颗主频为2.54GHz的A77高性能核心以及四颗主频为2.05GHz的A55效能核心组成;在这颗主频高达3.13GHz高频核心加持下,麒麟9000芯片的CPU性能提升巨大!GPU方面,麒麟9000采用的是“公版”架构的Mali-G78,核心数量高达24核,是一款性能极为强大的图形处理器;华为官方数据显示,麒麟9000芯片的GPU性能比骁龙865+的Adreno 650高52%,在实力方面可以说是“吊打”骁龙865+,基本上达到了苹果A14芯片的水平。麒麟9000芯片集成了153亿晶体管,作为对比,苹果公司刚刚推出的iPhone12系列手机搭载的是苹果A14芯片,该芯片的晶体管数量为118亿;当然,苹果A14芯片并没有集成5G基带,而麒麟9000芯片是集成5G基带的设计,直接从晶体管数量来比较性能是并不科学的。麒麟9000系列芯片采用的是台积电5nm工艺制式,内置的是巴龙5000基带,支持“双模”5G网络;华为消费者业务CEO余承东表示,苹果才刚刚推出旗下首款5G手机,而华为已经推出了第三代5G芯片,上行速度比其他5G技术快五倍,下行速度快两倍,芯片在能效方面的表现也更加优秀[5]。
3 GPGPU在智能电视中的应用
随着社会的发展,360P、720P这样的分辨率已经淡出了视线。1080P已然成为我们刷剧看电影的“基础”选项,而对于家用电视来说1080P似乎都已经有点不够看了,更高标准的4K分辨率正在成为家庭数字电视的新标配,这对电视SOC提出了更高的要求。此方面联发科走在了行业的前沿。
2021年3月3日,联发科发布了最新的4K智能电视芯片MT9638,再次引发了人们对电视芯片领域的关注。全新4K电视芯片MT9638,性能强劲,多项AI技术加持MediaTek MT9638集成独立AI处理器APU,多核CPU及GPU(Arm Mali-G52 MC1),可提供强劲性能,让电视系统运行流畅不卡顿。同时,充分发挥AI高能效,支持AI超级分辨率AI-SR,可智能提升画面的分辨率,让画面更清晰,结合MEMC动态补偿,提供更精彩的4K观影体验。MT9638还支持AI图像画质增强(AI-PQ),可以智能识别内容场景,优化每一帧画面的色彩饱和度、亮度、锐利度、动态补偿及降噪,提升整体画质。此外,MT9638还支持更多AI语音交互技术,让电视制造商可集成语音助手等智慧功能,让用户可以通过语音操控电视,或联动其他物联网终端设备。与此同时,MT9638还支持多项先进技术,如最高4K分辨率60Hz刷新率、AV1/HEVC/VP9编码格式,以及HDR10+,和超过2000个区域的分区调光显示;同时支持杜比全景声、DTS Virtual X虚拟环绕声。HDMI 2.1、USB 3.0接口,可扩展支持Wi-Fi 6解决方案[6]。
4 结论
GPGPU的研发和应用对社会经济,人们的生活有着极大的影响,它极大的优化了SOC的性能,带来了一系列电子产品的更新换代。总之,它带来了硬件的极大进步,使之我们在使用手机电脑智能电视这些电子产品时更加的方便舒适,体感大大提高了。