Tesla Full Self Drive SoC 芯片大小是20*13mm=260mm^2, 使用的是SAMSUNG的14nm的工艺,功耗大约是36W;
主要的模块是:
- CPU是3个4Core的Arm Cortex-A72 @ 2.2GHz
- GPU是1个 @ 1GHz ,FP64能力是600GFLOPs
- NPU是2个 @2.0GHz的自己的处理器,FP8的能力是38.86TFLOPs*2颗
- 支持的内存是:128 bit LPDDR4-4266 ,那么内存的带宽就是:2133MHz*2DDR*128bit/8/1000=68.256GB/s
FSD的方块图
其他的例如ISP是Image signal processor 图形信号处理器,是专用的图形处理芯片。
下面重点看一下其中的NPU的芯片
NPU的Die Shot
可以看出NPU自带32MiB的SRAM起到缓存的作用,用于展示存放神经网络的计算结果,这样就不用频繁的去读取更远的内存了。
还可以看出中间的MAC是Multiply Accumulate Cell组成的阵列,可以提供96*96个计算单元,也就是9216个Cell计算单元。
并且因为每个单元可以完成8位的乘积运算和32位的加法运算,所以一个时钟周期是可以完成9216*2=18432次的int8的操作。
又因为NPU的频率是2GHz,可以知道其运算能力是:2GHz*18432/1000=36.86TFLOPs(int8),
不要忘记每个FSD SoC上有两个NPU。
NPU的Cal Workflow
运算过程就是缓存中的数据经过激活函数和权重,到达计算单元,计算之后再进入激活函数,重新回到缓存直到这个神经网络计算完成为止。
NPU的ISA
这个NPU有自己的比较简单的ISA,可以看出一共有8个指令,整个命令的长度可以从32b到256b。
另外NPU的功耗大约是7.5W。
最后特斯拉的板卡上搭载的是两个互相冗余备份的FSD SoC,能力还是蛮强大的一个片上系统。
参考文献:
fuse wikichip上对npu的指令集有深入的介绍
wikichip上对FSD的规格有详细的介绍