去年DARPA在ERI(Electronics Resurgence Initiative)中有一项计划叫Software Defined Hardware(SDH),其实这是半导体行业的老议题了,但是因为机器学习的应用而又升温;兼之在半导体产业进入异质整合时代,半导体的经济价值增加要依赖制程微缩以外的方法,SDH又重新进入半导体研发的核心领域。
半导体芯片的设计与制造有一个恒久的两难:弹性与效率之间的竞合。要能执行多种任务的—如CPU—需要弹性,要追求效率的—如ASIC—则需要专注,通常状况下是鱼与熊掌不可兼得,因为半导体芯片被制造出来后,它的线路以及相随的功能也就被定义了。
60年代起就开始探讨这问题,80、90年代这问题又被重新提起,而于现今变成半导体创新的重大议题有不得不然的理由:一个芯片,不管是专注的或是弹性的,其硏究、设计成本动辄上亿美金,而销售数量可能要达千万级才可能够回本。因此如何让一个芯片可以重复使用、高效执行不同任务就成为一个创造高经济价值的方法。
这想法很久以前就有,但是近年来才让这想法的实现趋近于可行:让芯片的线路—也就是功能—可以由外加的软件来定义(software defined),也就是说,线路是可以重构的(reconfigurable)。
这个想法很容易与现场可编程闸阵列(Field Programmable Gate Array;FPGA)混淆。事实上,在5、6年前的可重构计算评论文章中总有FPGA夹缠其中,FPGA也被常用来当成可重构芯片的基础元件之一。但有两点可以将二者区别开。FPGA只有在芯片静态时可以编程,而可重构芯片可以动态的改变结构,也就是说可重构芯片可以边执行任务、边重构。另外二者藉软件编程的速度相差甚大,FPGA的编程时间高达几百毫秒、甚至数秒,这远高于重构芯片所希望达到的速度目标。
可重构芯片的应用过去被定位在加/解密、视讯影像处处理、数码信号处理、网络安全等,而DARPA的硏究目标则放置在数据密集型的机器学习,这个重新定向极有道理。一来过去可重构芯片中常有DSP芯片,影像、视讯处理是优而为之的事,而这也是机器学习目前的主要功课之一。另外,可以动态重构表示芯片可以学习后改进技能,这是人工智能的核心技能。
一个小插曲。DARPA在其项目说明中将重构芯片的重构时间目标定为300~1000 ns,而这几天北京清华大学教授魏少军发表了一篇文章,说大陆目前的项目成果重构时间已达20~40 ns,足足提升了一个数量级。值此中美科际竞赛之际,发表这个成果是不是别有意趣?
现为DIGITIMES顾问,1988年获物理学博士学位,任教于中央大学,后转往科技产业发展。曾任茂德科技董事及副总、普天茂德科技总经理、康帝科技总经理等职位。曾于 Taiwan Semicon 任谘询委员,主持黄光论坛。2001~2002 获选为台湾半导体产业协会监事、监事长。