打开微信,使用扫一扫进入页面后,点击右上角菜单,
点击“发送给朋友”或“分享到朋友圈”完成分享
按:本文首发于本人的公众号inrealworld(链接)。视频重点是DSA(Domain Specific Architecture),人工智能领域正式DSA可以发挥优势额领域,转帖于此,希望与大家多交流。
2018年6月3日,在加利福尼亚,2017年图灵奖获(2018年3月21日公布)得者Hennessy和Patterson做了图灵奖lecture :A New Golden Age for Computer Architecture: Domain-Specific Hardware/Software Co-Design, Enhanced Security, Open Instruction Sets, and Agile Chip Development。两个人因为在处理器架构的贡献,获得2017年图灵奖:“Hennessy和Patterson对于微处理器的基础贡献引领了移动和物联网的发展”:
Hennessy and Patterson’s Foundational Contributions to Today’s Microprocessors Helped Usher in Mobile and IoT Revolutions
具体获奖细节请参考:2017图灵奖揭晓:两位大神携手获奖,Google成最大“赢家”(参考链接1)。
以下是本人笔记正文。CPU指令集的发展
演讲第一部分首先回顾了中央处理器(CPU)的指令集(ISA)的发展。指令集(ISA)是计算机的抽象,大致有三种:
CISC(Complex Instruction Set Computer,复杂指令集);
RISC(Reduced Instruction Set Computer,精简指令集);
VLIW(Very Long Instruction Word,超长指令字)。
早期Intel X86是CISC架构,但是从奔腾Pro开始,内部采用RISC核心。自从Intel安腾使用的VLIM失败后,最近15年内都没有新的通用处理器再使用VLIM。市场上99%以上处理器都是RISC(数据来源,演讲24分10秒)。
目前处理器面临的挑战
Dennard scaling描述了当晶体管尺寸越来越小的时候,电源密度是不变的,也就是同样尺寸芯片下面可以有更高的性能。由于半导体工艺的限制,随着晶体管尺寸的缩小,电源功耗并不会降低。Dennard scaling已经失效了。
同样的,摩尔定律也由于工艺的限制失效了。处理器性能的年增长已经由最高的52%降到2015年以后的3%。
如果飞机像软件一样,经常出功能异常(malfunction)的话,除了在加利福尼亚的人,没有人能参加今天的会议。
历史上人们想了很多手段去改善系统的安全。最开始我们认为这个应该可以从软件层面完全解决,但是遗憾的是软件层面没有办法解决全部问题(例如今年发现的五个幽灵/熔断漏洞:1,2,3,3a和4)。所以安全需要硬件的参与!
以40年以前开始发展的x86架构为例,当前的安全状况:
底层的固件是封闭的。没有百分之百保证安全的办法。
不公开的指令集。
第二部分的结论。
如何解决上述问题?
解决问题的思路有三个,软件,硬件,或软件硬件协同。
从上面例子可以看到,与通用的脚本语言python,相比更多的软硬件结合的优化可以做到6万倍的性能提升。
特定领域架构与特定领域语言
上面对特定领域优化的例子,引出DSA(领域特定架构):
这是一种针对特定领域优化的架构,但不是针对某个应用优化的(后者是专用集成电路(Application Specific Integrated Circuit: ASIC)要解决的问题)。
半瓦注:例如国内比特大陆的比特币矿机就是对比特币挖矿这个特定应用优化的ASIC。
设计这种处理器需要比通用处理器更多的领域相关知识
例子:
用于机器学习的神经网络处理器;
用于图形和虚拟现实的GPU(俗称显卡);
可编程的网络设备。
机器学习论文增长的速度和摩尔定律的速度是一样的。
作者认为的方向就是从应用到领域特定语言到计算机体系结构再到芯片实现的垂直整合。
RISC-V考虑到DSA需求,预留了大量的op code。
另一个例子是英伟达的深度学习加速器。
增强安全
安全要求是无后门,可以从控制整个硬件。RISC-V很可能是第一个进行软硬件协同设计的架构。
自由和开放的架构以及开源实现
RISC-V像Linux是开源的,更多组织和更多个人可以同时参与到RISC-V的研发;
RISC-V指令集是组件化和可扩展的;
整个软件从下到上都是完全开源的(可以修改的);
指令集从设计上考虑了从物联网到云计算的各种领域的需求;
由拥有一百名以上成员的基金会推动,保证可以长期演进。更多公司去做同一个架构的处理器,意味着更激烈的竞争。商业公司可以去卖一个指令集更好的实现。
敏捷芯片开发
chisel是一个模块化的硬件设计语言,助力硬件的敏捷开发。上图是不同RISC-V处理器的代码复用情况。
热门帖子
精华帖子