专注 — 吴军谈AlphaGo的核心芯片TPU


吴军《第233封信 | 大学生考试秘籍》

计算机系统结构,它的基础是“3+1”。所谓“3”,不过是

  • 计算机的指令集和相应的实现方法
  • 存储、中断
  • 设备管理

而“+1”则是量化的性能评估

这门课的主线过去只有一个,就是所谓的处理器里面的流水线,今天又加了三个,即

  • 多线程的并行处理,
  • 以GPU为代表的矢量计算(这个过去在讲授超级机原理时也会讲到,不完全是新内容)
  • 以及云计算级别的并行计算



《第244封信 | 凡事都要专注 —— AlphaGo的核心芯片TPU解析》

TPU(Tensor Processing Unit)

CPU(Central Processing Unit),即中央处理器,它负责所有的计算,并且控制计算机的全部工作。

CPU性能提升的两个维度:

一、主频的提高

二、集成电路芯片密度(称为集成度)提高

CPU的主频不可能无限制提高,因为光速是一个绝对的瓶颈,今天计算机CPU内部,电子运行的速度已经接近光速所给的极限了,几乎没有了再提高的可能性,事实上从10年前开始,这条路就走不通了。

最早一个集成电路只有几千个晶体管,今天最多的有60亿个,这样计算可以并行开展,这也是为什么我们计算机和手机CPU有什么四核、八核之说。再往上16核、32核,今天的工艺,做那么多一是体积很大,二是散热问题无法解决。

我们知道,有主动性的人,总是想法设法寻找更好的解决方法。黄伟达的创始人黄仁勋就是这样的人。黄仁勋和他在英伟达的同事就想,CPU的计算速度之所以不够快,是因为它被设计成能够适应所有的计算了,里面很多晶体管都用来搭建控制电路了。

另外,因为计算太复杂,因此处理器本身设计得太复杂。而在计算机里面,有一种计算相对单一,就是控制显示器的图形计算,于是英伟达就为这一类计算专门设计了一种处理器,叫做GPU,即图形处理器。

GPU比CPU的好处有两个:

第一, 控制电路简单了,因此更多的晶体管用于了计算,而不是控制,这样本来10亿个晶体管可以搭建四个内核,还有希望搭建八个、十六个甚至更多。

第二,将单个儿的计算,变成一批一批的计算。在现实生活中,大部分的计算每次都是在两个数之间进行的,比如A+B=C,它是一个运算指令(“+”)带上两个数字(“A”和”B“),下一次做X-Y,是另一个运算指令(”-“)带上另外两个数字(”X“和”Y”)。因此计算机处理器实际上是按照一个指令通道(流)对应一个数据通道设计的(被称为SISD)。打一个不是很恰当的比方,一般的计算就如同你蹲在地上一个个捡豆子。

而图形计算机是整个一条线(在计算机科学里被称为向量)按照同一种操作一口气算完,比如A1+B1=C1,A2+B2=C2,。。。,最后A1000+B1000=C1000,对于这些计算来讲,指令都是一样的,只是使用了不同的数据而已,因此它可以设计出非常多的功能简单的计算核心,然后对一条指令开发很多数据通道(即所谓的SIMD)即可。

这就相当于用一个吸尘器在地上吸豆子,你走过一条线,就吸起一大堆,效率就高多了。对此,英伟达提出一种所谓的“统一计算架构”(CUDA)的概念,就是很多很多核都做同一件事情,并且在此基础上设计出图形处理器CPU。

results matching ""

    No results matching ""