骁龙820A:内置芯片介绍

news/2024/11/28 13:29:05/

高通骁龙820A内置了Hexagon 680 DSP芯片,如下图所示,可见Hexagon 680在其中占据了很重要的位置。
在这里插入图片描述
DSP中存在专门处理JPEG图像压缩的部分,这部分内容专门只针对JPEG图像压缩算法设计,硬件上只针对这一个工作进行全力优化(比如专门针对图形处理中常用的傅里叶变换的计算单元,效能极为出色),执行专用操作。一般来说,在一个处理器中,有很多类似的功能使用CPU部分完成虽然也可以,但是整体效能不高,并且能耗表现也不够理想。因此,人们往往为处理器增加多种专用的DSP,专门针对诸如图像、音频、视频、语音、输入、触控等内容,不但提高了处理效率,而且还在很大程度上释放了CPU资源,降低了能耗。当然,从技术角度来看,DSP比较关注指令集并行,也就是单核心性能,对线程级并行则不太擅长,因此也不太可能存在使用成千上万个DSP来组成计算单元的可能性了。 一般来说,用户主要在三个方面使用DSP,首先是视频处理。在Android设备上,视频处理可以改善播放的视频内容的质量,比如反交错、降噪、色彩校正等。其次是相机后处理和CV,包括摄像头数据处理、动态增强、色彩调整、HDR等。最后还有相机播放内容,针对传感器等的处理情况。目前Hexagon 680均对这些内容做出了支持。

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的存储结构设计

与此同时,在存储系统方面,矢量单元和向量单元共享L2缓存。但HVX的L2实际上在一个周期内就可以完成负载的处理,因此有些人也认为这就是一个更为宽松的L1缓存。从应用中来看,Hexagon 680可以直接将数据从摄像头传递至L2缓存(速度为1.2Gp/秒),并将其传输给ISP开始处理,以避免占用DRAM,同时也可以降低能耗。此外,高通还为设计了了一个SMMU(System Memory Management Unit),它可以自动管理那些不可复制的数据,并使得多个并发应用共享CPU资源,实现效能提升。
之前我们说过,DSP在Android设备商最重要的功能之一就是图像处理。高通也做了一些这方面的成果展示。在强大的矢量和标量记算能力的辅助下,只要有优秀的算法,Hexagon 680就能够大放异彩,高通宣称借助于Hexagon 680,可以实现更为清晰的低光照下的视频录制功能,成像质量和速度比之前单纯使用CPU等有了明显提高。图形处理的性能方面,高通也公布了一些数据,比如由于有Hexagon680的辅助,在图片处理方面,Hexagon 680相比之前使用四核心Krait处理延迟要低三倍,功耗更是只有后者的十分之一左右,节能效果非常显著。 最后再来看看Hexagon 680的一项特殊功能——对始终开启的传感器实现自动监控。Hexagon 680拥有特殊的“低功耗岛”,设计人员可以用它监控诸如计步器、传感器等一些需要系统“始终开启”的设备,替代之前的CPU唤醒或辅助处理器唤醒等操作,更进一步降低能耗。根据高通的测试来看,使用Hexagon 680的骁龙820对比骁龙808,能够在“始终开启”的状态下,仅使用之前1/3到1/2的功耗就能完成相同的任务。
在这里插入图片描述
Hexagon 680的图像处理速度非常出色,能耗比很高。

Hexagon 680整体表现相当出色,它依靠DSP在架构设计上的优势,尤其是1024bit SIMD的加入,使得Hexagon680大大拓展了应用范围,能够在多项任务中表现出比传统DSP更强悍的功能。目前有关Hexagon 680的相关API也已经准备完成,软件和系统只要调用Hexagon 680的API,就能够启动并得到计算辅助。


http://www.ppmy.cn/news/245385.html

相关文章

阿里8年,肝到P7只剩这份笔记了,已助朋友拿到15个Offer....

时光飞逝,转眼间在阿里工作了8年,工作压力大,节奏快,但是从技术上确实得到了成长,尤其是当你维护与大促相关的系统的时候,熬到P7也费了不少心思 我的职业生涯开始和大多数测试人一样,刚开始接触…

2G金士顿U盘修复工具迈科微MW6208E/8208_v1.2.0.8

不知道山寨金士顿U盘在各地有没有区别,我在成都拿到的山寨金士顿2GU盘。使用的是MW6208E(检测出来的不一定准确,我是直接打开U盘看主控芯片型号)的主控。 量产工具识别FALSH为TC58DVG02A1FT_128MB,如果有和我一样的朋…

java.lang.OutOfMemoryError: Failed to allocate a 8208 byte allocation with 3440 free bytes and 3440

内存溢出错误是在Android app运行的时候出现的,这可能是因为app RAM中缓存太多文件或反复实例化相同的位图和视频造成的内存不足现象,下面是我在运行时候所出现的错误。 可以在androidmenifest.xml文件中更改application配置,将hardwareAccel…

RDA5820收音机芯片驱动

RDA5820 是北京锐迪科推出的一款集成度非常高的立体声 FM收发芯片。该芯片具有以下 特点:  FM 发射和接收一体  支持 65Mhz~115Mhz的全球 FM接收频段,收发天线共用。  支持 IIC/SPI接口  支持 32.768K晶振  数字音量及自动 AGC控制  支…

Springboot整合第三方OAuth2登录详解及避坑

环境&#xff1a;springboot2.3.10.RELEASE OAuth2 请先阅读《SpringBoot2 整合OAuth2实现统一认证 》文章&#xff0c;本篇内容是调用之前写的一个OAuth2认证服务。 相关依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>…

花生壳 Linux arm

安装和使用Linux花生壳服务 一、安装说明&#xff08;以CentOS 5为例&#xff09; 1、安装必要的开发包 [rootlocalhost ~]# yum install gcc gcc-c autoconf automake 2、下载phddns-2.0.2.16556.tar.gz到某一个目录 [rootlocalhost ~]# wget http://download.oray.com/p…

Java求自幂数

题目解释 一个n位自然数等于自身各个数位上数字的n次幂之和&#xff0c;则称此数为自幂数 一位自幂数&#xff1a;独身数: 1&#xff0c;2&#xff0c;3&#xff0c;4&#xff0c;5&#xff0c;6&#xff0c;7&#xff0c;8&#xff0c;9 两位自幂数&#xff1a;没有 三位自幂数…

打印指定进程中的数据

本次要实现&#xff0c;指定进程pid&#xff0c;和某个字符串变量的地址&#xff0c;在linux内核中将字符串内容打印出来。测试程序的代码如下&#xff1a; #include <stdio.h> #include <sys/types.h> #include <unistd.h>char* p "hello, can show …