【转】我们为什么要设计CPU和为什么要设计IC
0赞Luo Xin 中国科学院电子学研究所退休高级工程师
在本网文章“老外眼里的华为海思”一文中,有一句评论很能引起思考:(中国)已经有太多的公司试图拿出一个自己的CPU设计,但很少有足够的理由,来说明为什么他们需要它。其实据我了解这是一个困扰中国IC设计20多年的老问题了,但很少有中国人自己讨论。
20多年前就有一家中国公司开始设计一种针对某计算机语言的CPU,还曾经轰轰烈烈,开了不少鉴定会和发布会,业绩斐然。“针对语言的CPU”,听起来怪怪的,那用什么指令集?用什么操作系统?反正好歹也算是个理由吧!虽然所针对的这种语言已经鲜被使用,这家公司也及时识实务地“转身”为设计运行某种指令结构的CPU。
至于国家支持的CPU设计项目,当然最常见的理由莫过于“填补空白“了。同是在20多年前,我就亲耳听到一位顶级权威领导,”雄心勃勃“地宣布:“我们要设计4万门规模的RISC芯片!” RISC-Reduced Instruction Set Computer 一种当时挺新潮的体系结构提法。但以我的愚顿和无知,当时无论如何也难以领悟RISC与”4万门“规模有什么必然的联系?
”填补空白“看起来是一个重要和合理的理由,不论从打破禁运和有利于商业竞争,还是象863项目那样”保持跟踪世界科技先进水平“(可惜863并没有CPU设计的项目)。但是如果”设计“仅限于RTL描述,逻辑综合和FPGA/PGA实现,这些目的都很难完全实现。
其实CPU也好,其他IC也好都需要运行在某种或某类应用整机和系统上;执行某种指令和操作系统。没有整机和系统目标的CPU或IC,确实很难找到设计的理由。倒退到20年前,你没有RISC整机和系统的研制计划,为什么要设计RISC芯片?专用IC是为某个整机或系统专门设计的芯片,通用IC是为某类有共同要求的整机或系统设计的芯片。即使是为了填补空白,也首先应该某种或某类整机或系统有填补空白的需求,才会去设计填补空白的芯片。当然用买来的芯片去制造填补空白的整机,也是无可非议的。