欢迎访问ic37.com |
会员登录 免费注册
发布采购

发展中国的CPU芯片

日期:2007-4-29标签: (来源:互联网)

中国科学院计算技术研究所研究员 唐志敏

在中国的具体条件下,发展CPU,不仅是企业行为,很重要的是政府应当做什么,很有必要先谈谈政府为什么要做这件事情。搞清楚了为什么做,才能确定做什么和如何做。

一、为什么做

有人认为,对“中国要不要做CPU”的回答只有一个,即“要做!”。这个答案我是同意的。但具体的理由,却未必都一致,所以还是有必要再拿出来议一议。

一般说来,政府认为需要大力支持的事情,主要有三种类型:一是对国家安全至关重要,二是可能有重大经济利益,三是社会公益需要。就CPU而言,与第三个方面关系不大,所以我们只说前两个。

CPU有巨大的市场,开发CPU产品可能获得巨大的经济利益。但是,必须看到,CPU已经是一项非常成熟的技术,要想在技术领先我们十年乃至更多年的巨无霸企业占据的地盘上分一杯羹,谈何容易。有人说,正是因为这样,单靠企业不能成事,才需要政府的支持。可是,WTO的游戏规则,是不允许政府花大力气去支持CPU这样竞争中的技术的。在面向市场方面,政府只能支持对竞争前技术的研究开发。

CPU对信息系统安全乃至国家安全的重要性,已经讨论得很多了,这里不必多说。但对庞大的信息系统来说,影响安全的因素,又何止CPU一个?随着计算机技术和网络技术的发展,信息系统越来越呈现出大服务器+小客户端这样的两极分化趋势:关键的数据资料存储在服务器端,主要的信息处理工作也都在服务器端做,客户端只是提供方便的使用界面及与界面相关的简单处理。所以,从这个意义上说,服务器端的安全是最重要的,服务器的CPU才是最需要自主解决的。

二、做什么

虽然人们常常谈论通用CPU和嵌入式CPU,但从结构上看,并没有通用和嵌入式之分。通用和嵌入式的分别,主要是根据应用模式的不同而划分的。通用CPU芯片的功能一般比较强,能运行复杂的操作系统和大型应用软件。嵌入式CPU芯片在功能和性能上有很大的变化范围,有些嵌入式CPU(如SONY的PS2)比通用CPU更为复杂。随着集成度的提高,在嵌入式应用中,人们倾向于把CPU、存储器和一些外围电路集成到一个芯片上,构成所谓的系统芯片(简称为SOC),而把SOC上的那个CPU称为CPU芯核。

有人认为,嵌入式CPU有巨大的市场空间,可针对应用而设计,目前在业界也没有特别强大的垄断者,所以应该是首选的开发目标。这是对的,但这应该是企业自主做的事,不是政府应该做的事。也有人认为,目前我们实力较差,很难开发出高水平的CPU芯片,所以应根据电子政务对安全性的要求,开发适用于网络终端机的CPU芯片。但如前所述,信息系统的安全性主要体现在服务器端,终端上的CPU即使很安全,也于事无补。

所以,政府应该支持的,是通用CPU芯片,尤其是应用于服务器系统的高性能通用CPU芯片的研制。纵观各类CPU芯片,我们可以发现,通用CPU芯片领导着技术发展的主流,提高芯片性能的各类技术,都是首先在通用CPU芯片中得到应用和推广,然后再逐步应用到嵌入式CPU中去的。同时,人们经常谈论的涉及半导体技术发展速度的摩尔定律,也主要是针对通用CPU芯片而言的。

三、难点在哪里

国内在CPU体系结构研究方面有一定的基础,但实际开展的CPU芯片研制工作还比较初步,高水平的工作不多,与国际水平相比,差距还很大。这些差距,体现在从工业基础、技术积累、人才培养、研发模式到产业化途径的诸多方面。

从技术和实现的角度看,最大的差距,既不在CPU体系结构设计上,也不在集成电路制造工艺上,而是在体系结构与微电子工艺的结合部,即高性能CPU芯片的物理设计方面。若以厂家提供的标准单元库,以常规的ASIC流程来做,CPU设计实现的工作量虽然小了,但即使一直做到版图设计,芯片主频只能达到工艺水平所能提供性能的一半甚至更低。为了进一步提高性能,必须在基本单元和宏单元的物理设计方面下大的功夫,投入大量的体系结构设计、逻辑设计与版图设计人员,联合攻关。

四、走兼容的道路,专利问题不是拦路虎

兼容性和专利问题是一个说到做CPU就必被提到的问题。

从设计CPU的角度看,兼容一般指的是指令系统兼容(虽然二进制兼容与指令系统兼容并不完全一样,但在很多场合可以把二者视为等同)。兼容的好处很多,如大大减少系统软件和应用开发的成本,可以利用现有的大量应用软件等。如果做到引脚级兼容,则还可以有效地利用各类硬件开发系统和外围芯片。因为指令系统不兼容而失败的例子,在国内外也很多,原DEC公司的Alpha芯片,就是一个很好的例子。

有人认为,采用已有的指令系统设计CPU芯片,就无法掌握完全自主的知识产权。这里估且不论是否有必要追求所谓完全的自主知识产权,先分析一下,指令系统本身,是否属于知识产权的范畴。答案是否定的。

知识产权主要包括著作权(版权)及其邻接权、商标权、专利权、技术或商业秘密等类型。指令系统的定义是公开的,所以不属于技术秘密。它显然也不是一种注册的商标或标记。据查证,没有人或企业为某种指令系统申请专利,也没有人为其申请著作权。因此,指令系统,就其内容本身而言,不涉及知识产权。

当然,指令系统本身没有知识产权问题,并不意味着已有的成熟指令系统就可以随便使用。一方面,很多厂商已经为指令系统的某些具体实现技术申请了专利,因此,使用已有的指令系统,或者要回避这些实现方面的专利,或者就要取得相应的实施许可。另一方面,某些指令系统的名称可能是一种商标,使用前需要取得许可。

同时,在CPU芯片设计领域,也不存在不可回避的概念型专利。设计通用CPU,不可避免地要使用像cache这样的基本结构,动态调度的方法也难以完全脱离Tomasulo算法而另起炉灶。但是,这些成熟技术本身并没有专利。虽然目前已注册的CPU设计、制造和测试相关专利有数万项,且其中大部分都掌握在国外一些大公司的手里,但这些专利都是针对某项具体的实现方法的,而所有的具体实现细节,都是跟CPU所采用的微体系结构的方案密切相关的。只要我们设计出有自己特色的CPU微体系结构,那么在具体实现方面,就可以通过新的实现方法,基本上避开已有专利中描述的实现方法。

另外,即使存在个别我们无法回避,或者特别适用于我们设计的CPU芯片的专利,我们也完全可以通过正常的渠道,与专利权人协商,支付一定的使用费,取得合法的实施许可。而且,通过我们自己的技术创新可以形成一批自主的专利技术,实现与其它专利权人的交叉许可。

总之,实现指令系统的兼容性并没有本质上的困难,但仍需要注意在具体实现技术方面的专利回避问题,必要时也可以通过付费的方式,获得专利实施许可。当然,更重要的,还是在保证指令系统兼容的前提下,实现体系结构上的自主创新。事实上,芯片集成度的不断增加,给CPU的体系结构设计带来了巨大的创新空间。尤其是在芯片体系结构对计算机系统安全性的支持方面,我们是大有可为的。因此,完全有可能通过自主的体系结构创新,实现CPU技术的跨越式发展。

五、发展策略

国外CPU芯片的发展迄今已走过了30年的历程,通用CPU技术相对来说已经比较成熟。如果我们简单地采取跟踪战略,先做低端,再做高端,亦步亦趋地跟在别人后面,是没有前途的。应尽可能从高起点出发,突破真正的核心技术,再逐步向低端发展。我们没有历史包袱,可以直接采用最先进的设计,借鉴国外的许多研究成果,一步到位,实现跳过中间阶段的跨越式发展。

在采用先进工艺技术,加强物理设计的同时,应该通过处理器体系结构的创新来提高性能,强调各个层次的并行性的开发。如除了通过多发射开发指令级并行性外,还可以开发线程级的并行性。同时通过操作系统、编译、以及处理器的软硬件协同来提高性能,简化硬件设计,降低功耗。

通用CPU芯片的研制是一项复杂的系统工程,长期的科学积累是成功的基础,高水平的研发队伍是成功的关键,稳定的微电子工艺线是成功的保障,大量的应用是持续发展的动力。因此,搞通用CPU研制,绝不能一哄而上。应集中优势队伍,联合攻关。建议在全国范围内,选择1-2个在CPU设计方面有科研基础和人才优势的计算机系统研制单位,联合有实力的微电子设计单位,建立通用CPU芯片设计基地,由国家给予重点支持。