推荐序2
第一眼看到石侃博士这本《详解FPGA:人工智能时代的驱动引擎》时,一下子勾起了我的回忆。回想起来,我大约是在2005年第一次接触FPGA,从此为我打开了一扇通往硬件世界的大门。
我的博士工作便是研制了一套基于FPGA的内存总线监测设备HMTT。它支持软硬件协同,可以算是一款颇具特色的自研设备,撰写的相关论文也被2008年系统评测领域国际顶级会议SIGMETEICS接收,这可能是该会1973年举办以来接收的中国大陆第一篇论文。
虽然已经是15年前的工作,但现在对HMTT的一些技术细节依然是如数家珍:硬件部分是一块自制的带有FPGA的PCB,直接插在DDR内存槽上,而内存条则插在PCB上。内存总线上的信号被分为两路,一路送往内存条去读写数据,另一路则被送到FPGA进行处理,实时还原为包含物理地址的读写命令,然后通过以太网发送到一个磁盘阵列存下来。
软件部分设计了一种同步机制,能让FPGA识别软件操作(如操作系统页表更新、函数调用等),从而将物理地址和软件操作关联起来,例如通过和页表关联就能将物理地址还原为进程的虚拟地址。
如今,HMTT已经发展到第四代,从早期支持DDR-200到现在已能支持DDR4-2600,伴随的是所使用的FPGA也从Xilinx的Virtex-4/5发展到Kintex UltraScale XCKU035。研制HMTT成功之后的十多年,我们团队的每一项科研工作都没离开过FPGA。
有时会想,为什么会出现FPGA这样的技术?为什么这类硬科技大多先在美国诞生?中国未来又有什么新机会?翻阅着石侃博士的这本关于FPGA的大作,读着书中一个个与FPGA深度融合的前沿技术及其背后的人和故事,启发我对这几个问题更深入的思考。
石侃博士在书中把FPGA的诞生称为“历史的必然”。20世纪80年代,2/3的芯片项目由于需求变化、设计漏洞、流片失败等种种原因而赔钱,只有1/3的芯片设计能实际投入生产。因此业界急需一种技术能在流片前充分测试与验证,从而降低流片失败率。于是FPGA应运而生!1984年,Xilinx推出了世界上第一款FPGA XC2064,只有64个可编程逻辑单元,800个晶体管。35年后的2019年,英特尔推出了当时世界上最大的FPGA—Stratix10 GX 10M,1020万个可编程逻辑单元,433亿个晶体管。如今FPGA已经发展成一个全球市场规模约60亿美元的产业,在整个芯片产业链中发挥着不可或缺的作用,甚至成为我国面临“卡脖子”的一类核心芯片。回顾一项项硬科技的发展历程,哪怕诞生之初再渺小,只要能真正解决市场需求,那么它的诞生就是一种“历史的必然”。
为什么FPGA先在美国诞生?而不是在日本或者欧洲?事实上,20世纪80年代初,日本的半导体产业如日中天,1986年日本半导体在全球市场的份额甚至超过了美国。虽然这本书并没有直接回答这个问题,但从书中所介绍的一系列FPGA与云计算、大数据、人工智能等前沿应用的深入融合例子,结合80年代美国和日本各自半导体产业的发展历程,也许能给我们一些启发。当时美日半导体产业的发展存在两点主要的区别:
(1)技术出口侧:美国的市场需求更旺盛、更前沿。虽然日本在80年代的半导体产业突飞猛进,但是大部分仍然是出口到美国,1980—1984年日本对美出口额增长了8倍。换而言之,日本并没有直接感知到最前沿的需求。
(2)技术供应侧:美国的研发投入更具前瞻性,布局更合理。1984年Xilinx公司成立,得益于政府支持的MOSIS项目所发明的MPW技术以及推动的Fabless模式,也得益于政府支持的一系列CAD/EDA项目。相比较而言,日本的研发投入则更聚焦于对已有产品的改良,使得产品质量更高、价格更低、供货更稳定,但缺少了开拓性。同期,美国还启动了多个研究机构,如SRC、SEMATECH等,大力支持半导体领域的基础研究与共性技术,培养大批高水平人才,为产业发展提供深厚的技术储备与人才储备。
诚然,中国错过了20世纪80年代半导体发展的黄金期,导致半导体产业成为今天中国与发达国家差距最大的领域之一。但是,从这本书中我也看到新的机会:一方面,书中介绍的云计算、大数据、人工智能等新兴应用在中国也发展得如火如荼,并产生了许多前沿需求,甚至有些已经催生了一些基于FPGA的达到国际先进水平的技术,例如深鉴科技的FPGA人工智能加速技术,阿里巴巴的弹性裸金属服务器神龙架构,我们团队研制的芯片敏捷设计SERVE云平台,等等。另一方面,中国对半导体领域的重视程度前所未有,社会各界均在积极投入,不同的维度(市场、科研、资本、知识产权、教育等),不同的环节(应用、设计、制造、封测、装备、材料等),不同的路线(引进消化、独立自主、开源共享等)……相信只要坚持投入,在不久的将来一定能看到成效。
包云岗
中科院计算所研究员,副所长