DSP(digital signal processor)看它的名字就知道是专业做数字信号处理的。DSP是一种独特的微处理器(采用哈佛结构,内部结构已经固定),有自己的完整指令系统,通过指令和数据工作(这个也是CPU和ARM等的工作方式),开发遵循嵌入式软件的设计原则,更注重于算法的实现。
NPU是嵌入式神经网络处理器(NPU),采用“数据驱动并行计算”的架构,特别擅长处理视频、图像类的海量多媒体数据
至于算力的衡量
国外知名媒体Anandtech选择了使用麒麟960的华为Mate 9、使用麒麟970的华为Mate 10 Pro、使用骁龙835的谷歌Pixel 2 XL和LG V30四款手机,分别测试了ARM CPU、Hexagon DSP和NPU的AI性能,测试结果以性能(fps)和效能(mJ/inference)双重指标来衡量。我们首先注意到的一个结果是,NPU和CPU在处理AI运算时的性能有着几十倍的巨大差异。这些算法在CPU上执行的速度最高不过2fps,同时还会消耗掉大量的电能。无论是骁龙835还是麒麟960的CPU平均功耗都已经超过可持续工作的上限。作为对比,骁龙835的Hexagon DSP相比CPU约有8~10倍的性能提升,而麒麟970的NPU性能又可达到Hexagon DSP的1.5倍~4倍。不过在能耗比方面,虽然华为NPU相比CPU有着巨大到已经不在一个次元的优势,但我们也很惊讶的看到,骁龙835的Hexagon DSP的综合效率落后麒麟970的NPU仅6%左右。
这个就不是针对同一问题解决的东西,不好进行比较的。
DSP是专注数字信号处理的,即使DSP处理器其实也是分了很多针对不同类型的信号的不同型号类型,比如有音频信号的、图像的等待
NPU是专注于神经网络处理的,它们处理不同的数据。
虽然可能可以提出一些专门的问题来比较二者算力,但其实这个本身比较就意义不大,因为它们本身就是不同的东西,好比用通用架构的CPU处理AI和用NPU处理AI,速度是不同,但为什么我们还是离不开CPU呢,因为NPU只能处理AI计算,其它的也是不行的。