离线
TA的每日心情 | 慵懒 2021-7-27 09:25 |
---|
签到天数: 57 天 [LV.5]
|
楼主 |
发表于 2020-7-11 09:16:53
|
显示全部楼层
柒. Edge Computing(边缘计算)对处理器的需求
机器学习在当前的AI应用中快速的发展,系统也会增加更多智能功能。但是在云端的系统(例如数据中心)和边缘系统(例如IoT设备)对运算能力的需求是不同的,在云端可以采用大型高效的GPU来提供千万亿次的浮点运算能力,Google的TPU 3.0的单芯片的浮点运算能力远远超过100 Petaflops (一千万亿的浮点运算),用于深度学习或者进行推理。但是在边缘系统中,就很难采用功耗高的类似GPU或TPU的方案。系统开发人员必须要考虑采用效率更加高的解决方案,除了满足计算精度问题外,必须考虑实际应用场景对设备功耗,安装尺寸以及综合成本的问题。
将AI优势扩展至边缘设备,取代以云端为基础的资源,能够大幅降低功耗,同时缩短反应时间。 同时,本地数据储存和处理不仅提高安全性,更节省宝贵的带宽。通过将 AI整合至边缘设备中,即使在网络关闭以节省功耗的情况下,也能实现实时工作的智能功能。
低功耗解决方案可于网络边缘实现各类应用。例如,智能门铃可通过嵌入式AI功能自动进入待机模式,直到感应到有人出现;智能电视在没有观众观看的情况下自动关机;AI安防摄像头,只在出现入侵者时才发出警报,而不是因为自己家里或者邻居家里狗、猫等其他动物经过而出现在摄像头前的误报。搭载脸部识别的移动设备和平板电脑需要用户在进行脸部识别前唤醒装置。该解决方案让这一类设备能够在低功耗的状况下持续侦测人脸,再唤醒高功耗应用处理器执行深度识别任务。
在边缘设备的芯片中很多都是以神经网络(NN)硬件进行机器学期,这样就有需求为神经网络配置硬件加速器,RISC-V CPU中的ALU(算数逻辑单元) 就可以达到这样的需求。在这样的应用中,RISC-V体现出了非常精简高效的基础指令的特点,用最少的资源进行运算。在基础指令之上,开发人员通常采用各种标准的ISA Extension。例如采用Vector Extension ISA(向量扩展ISA)来增强RISC-V处理器,神经网络的矩阵运算的效率是通过从RISC-V ALU传输矩阵数据,再通过Vector Extension ISA减少甚至消除循环,memory load store(内存存取)以及address mapping(地址映射)产生的成本等方法来提升的。
捌. Edge Computing中至关重要的Security问题
Security对于边缘计算而言至关重要。那么RISC-V能否为Edge Computing提供可靠安全的整体方案?一个安全的RISC-V系统究竟有哪一些组件?还有哪一些新的安全技术?
当前RISC-V的体系中有哪一些安全组件
RISC-V ISA中有3种模式,分别为User(用户), Supervisor(管理员)以及 Machine(机器) 模式。
PMP(Physical Memory Protection) ,采用基础加边界的方案,没有转换,除非系统重置,否则禁止所有的访问,包括所有模式下程序对锁定memory区域的访问。
有2个保护边界,第一个为在Supervisor和User模式之间具有保护,第二个为PMPs (Physical memory protection) 机制保护所有的访问。
地址转换和保护,是基于标准页面的方案。
RISC-V的一些新的安全技术
传统的计算的安全性不够,因为几乎所有的程序都能获取到程序代码和数据,编译器和连接器将源码模块合并成单个二进制文件;各个功能模块(如Stack,Heap,Buffers)通过共享存储单元来通信;任何bit的源码都能得到任何bit的数据;任何一个错误指令能够瘫痪整个系统(如DOS)。
而RISC-V的Security Technical Group(安全技术组)中的成员 HEX Five公司,他们提出了一个更好的方法,也就是Multi-domain Trusted Execution Environment(多区域信任执行环境),该技术也是基于RISC-V标准扩展指令。在2018年,Hex Five先后宣布完成了基于集成SiFive RISC-V CPU以及Andes RISC-V CPU的晶片开发了类似ARM TrustZone的Trusted Execution Environment。
玖. RISC-V在Edge Computing中的一些应用案例
Canaan发布的Kendryte K210芯片
Kendryte K210芯片是一个非常典型的RISC-V应用于Edge Computing的案例。其应用包括:目标检测,目标识别,声源定位,声场成像,语音识别。该SoC晶片的主要组成模块为:
RISC-V CPU:双核64bit RISC-V处理器,提供了高性能,高带宽,高吞吐能力
KPU:神经网络加速单元,达到1 TOPS 0.35W@400MHz
APU:音频处理器,支持8路麦克风阵列预处理流程
FFT:512点FFT加速,高吞吐能力,支持16位定点运算
FPU:高性能浮点运算处理单元,双精度浮点,单精度浮点加速
Kendryte K210芯片主要组成模组
图片来源:Canaan Creative
Kendryte K210借助RISC-V的开源生态,支持多种即时操作系统(RTOS),包括FreeRTOS,RT-Thread, XBoot, Zephyr, SylixOS等。
BITMAIN发布的Sophon BM1880芯片
BM1880是一个Coprocessor,在实际应用时需要和类似Camera SoC这样的Host进行连接,数据通过USB或者Ethernet进行传输,Edge Inference可以在BM1880上完成。应用场景主要是Camera(摄像头),Robot(机器人),Drone(无人机)。该SoC晶片的的主要组成模块为:
双核ARM A53处理器
单核64bit RISC-V处理器
16/32bit, 1866/3200MHz, DDR3/LPDDR3/DDR4/LPDDR4
TPU: 运算能力达到1 TOPS@INT8,Winograd convolution达到2 TOPS
On chip memory>
Video Decoder/Image Codec/VPP:支持2 ways 1080p@30fps H264 decode; JPEG Encode/Decode; Hardware video processing
Interface: Ethernet and USB3.0用于视频数据的传输
让我们来分析一下,BM1880使用的RISC-V core,采用了单核64bit CPU core,按照实际应用选择的ISA为RV64 IMAFDC, 最高频率达到1GHz,16KiB L1 I-Cache/16KiB L1 D-Cache, RISC-V CPU和VAD (Voice Automatic Detection)模块配合使用,提供很好的低功耗及VAD的硬件加速能力。我们进一步来分析,RISC-V的模块化,灵活配置的ISA究竟能够给BM1880带来什么好处。
选择了M extension ISA是因为,M extension提供了整数乘法及除法运算能力,能提供高性能的乘法及除法运算的硬件加速功能;
选择A extension是因为应用的软件以及操作系统需要CPU支持Atomic Operation(原子操作);
选择同时支持F及D extension是因为需要用到单精度及双精度浮点运算能力;
选择C extension是因为可以能够通过该压缩指令扩展,在编译器编译代码时得到更高的code density(代码密度)和更高的运行效率;
拾. 总结
RISC-V ISA在当前的行业应用中,主要是嵌入式应用为主,在嵌入式应用中,由以用于边缘计算设备为主,边缘设备的AI及Inference(推理)深度结合的设计架构,在未来很长一段时间内,都将是保持高增长的趋势,这是RISC-V技术与Edge Computing最好的结合点,我们可以预期在2019年RISC-V将Vector Extension ISA 标准批准通过后,有更多的Core以及软体出现,将更有利于边缘计算晶片PPA和灵活度的提升,一定将助力其更上一层楼。
本篇完
|
|