工智能芯片,目前有两种发展路径:一种是延续传统计算架构,加速硬件计算能力,主要以3种类型的芯片为代表,即GPU、FPGA和ASIC,但CPU依旧发挥着不可替代的作用;另一种是颠覆经典的冯诺依曼计算架构,采用人脑神经元的结构来提升计算能力,以IBMTrueNorth芯片为代表。
就经典架构而言,按照处理器芯片效率排序,从低到高依次是CPU、DSP、GPU、FPGA和ASIC。沿着CPU->ASIC的方向,芯片中晶体管的效率越来越高。因为FPGA&ASIC等芯片实现的算法直接用晶体管门电路实现,比起指令系统,算法直接建筑在物理结构之上,没有中间层次,因此晶体管的效率最高。CPU&GPU需要软件支持,而FPGA&ASIC则是软硬件一体的架构,软件就是硬件。
而按照晶体管易用性排序是相反的。从ASIC到CPU,芯片的易用性越来越强。CPU&GPU的编程需要编译系统的支持,编译系统的作用是把高级软件语言翻译成机器可以识别的指令(也叫机器语言)。高级语言带来了极大的便利性和易用性,因此用CPU&GPU实现同等功能的软件开发周期要远低于FPGA&ASIC芯片。

CPU仍然是最好的通用处理器之一:CPU作为通用处理器,兼顾计算和控制,70%晶体管用来构建Cache还有一部分控制单元,用来处理复杂逻辑和提高指令的执行效。计算通用性强,而计算性能一般。
GPU具有最强大的并行计算能力:GPU主要擅长做类似图像处理的并行计算,所谓的“粗粒度并行(coarse-grainparallelism)”。GPU提供大量的计算单元(多达几千个计算单元)和大量的高速内存,可以同时对很多像素进行并行处理。并行计算处理能力强大。
FPGA是万能芯片:FPGA即现场可编程门阵列,它不采用指令和软件,是软硬件合一的器件。FPGA由于算法是定制的,没有CPU和GPU的取指令和指令译码过程,数据流直接根据定制的算法进行固定操作,计算单元在每个时钟周期上都可以执行,所以可以充分发挥浮点计算能力,计算效率高于CPU和GPU。FPGA的缺点在于进行编程要使用硬件描述语言。
ASIC是高性能功耗比的专用芯片:ASIC是一种专用芯片,是为了某种特定的需求而专门定制的芯片。ASIC芯片的计算能力和计算效率都可以根据算法需要进行定制,所以ASIC与通用芯片相比,具有体积小、功耗低、计算性能高、计算效率高、芯片出货量越大成本越低等优点。其不足是算法固定,算法改变化就可能无法使用。
还木有评论哦,快来抢沙发吧~