CPU(中央处理器)是计算机系统的核心和大脑,也是国家大宗战略物资,系统复杂研发难度高。我国 CPU 研发起步较早,但发展较为坎坷,步入正轨是在“十二五”之后。在国家集成电路产业政策和大基金投资等多重措施支持下,一大批国产 CPU 设计单位成长起来,产品覆盖了高性能计算、桌面、移动和嵌入式等主要应用场景。但是,国内设计企业在 CPU 指令集架构上主要还是依靠国际授权和技术合作。主要厂商如飞腾、龙芯、申威、兆芯及海思等 企业在各自领域设计出 了 自主可控程度较高的 CPU ,产品本身正在实现从“可用”到“好用”的转变,在党政军和重点行业市场得到应用推广,生态建设也取得较大进展。
本文整理自平安证券的研究报告《国产 CPU 正从可用向好用转变,自主可控前景可期》,重点梳理国产 CPU 发展现状、未来机遇。
CPU 是计算机的大脑和心脏,是国家大宗战略产品,也是一个巨复杂系统。计算机主要由三部分构成:CPU、内存、外部设备(存储、显示器、输入输出等)。CPU 负责指挥外部设备和内存进行协同的工作,处在指挥和控制地位,是核心之所在。CPU 也是国家大宗战略产品,尤其是进入信息化、智能化时代,它就和工业化阶段中的钢铁一样,是整个产业的基础,应用面广,支撑作用强,是国家战略安全、产业安全的重要保障。CPU 还是一个巨复杂系统,它同其他芯片器件不同,它需要全能,不但强调逻辑控制,还需要有强劲的计算速度,技术实现难度非常之高,全球能够独立研发高性能 CPU 的国家少之又少。
计算机结构简图
我国处理器研发起步相对较早,但发展历程比较坎坷。上世纪六十年代,基于超大规模集成电路的微处理器还未出现,计算机系统就是一个大型的中央处理器,体积大,计算速度慢。当时,我国使用的计算机系统都是自主设计,且同国际水平差距不大,标志性产品包括晶体管 109 机(1965 年 6月研制)、小规模集成电路 106 机(1968 年研制)等。上世纪 70 年代以后,美国大规模集成电路尤其是超大规模集成电路快速发展起来,以英特尔 4004 为标志,美国真正意义上的微处理器面世,CPU 正式进入商用时代,此后按照摩尔定律持续快速演进,英特尔此后也一直统治着全球桌面和高性能计算市场。
相反我国受限于国内经济条件、国际技术封锁等原因,期间虽然研制出了基于大规模集成电路的第三代计算机系统——专用 77 型微机,但丧失了第四代计算机系统(基于超大规模集成电路)的研究能力。从“七五”开始,一直到“九五”,国家对国产 CPU 的支持力度明显下降,主要科研支持计划都未将其列入。直接的后果是,上世纪 90 年代中期,国内大量处理器研究单位关闭,人员大批流失,大学也很少设置硬件专业,计算机公司变成组装厂,CPU 设计能力基本丧失。
但是,随着国内信息化的加速以及电子信息制造业的快速发展,“缺芯”的问题又再次受到国家重视。“十五”期间要不要、能不能开发国产 CPU 的争论开始爆发,此后科技部将信息产业部启动了发展国产 CPU 的“泰山计划”。虽然该计划未能实现既定目标,但为国产 CPU 的发展点燃了“星星之火”,这些火种演变成了现在国产 CPU 设计的三支国家队——飞腾、申威和龙芯。
除了“泰山计划”外,科技部也在通过“863 计划”对国产 CPU 进行支持。从“十一五”开始,国家通过核高基重大科技专项对国产 CPU 重点企业进行了扶持。“十二五”以来,国家通过集成电路产业优惠政策、产业基金等措施扶持国产 CPU 产业,国内培育出了一批国产 CPU 设计单位和研究机构,发展走向正轨。其中,传统的设计机构如龙芯、飞腾、申威、海思、紫光展锐等竞争力正在提升,君正、兆芯、海光等新秀也在快速成长,科研机构包括中科院计算所、北大众志、国防科大、江南计算所、北京大学、浙江大学等都在积极参与,形成了百花齐放的局面。
CPU 发展到今天,其内部架构和逻辑关系已经变得错综复杂,设计企业如果从头开始进入,成功难度很大。国内有部分完全自主架构,如北大众志完全自主开发的指令集产品 UniCore,苏州国芯、杭州中天、浙江大学共同设计的国产嵌入式 CPU——C-Core 等。但是我们也看到,虽然这些产品在指令集架构上,实现了完全的自主,安全性最高,但是缺点也十分明显,包括缺乏操作系统等基础软硬件支持、开发工具少(编译器、调试器等)、应用程序开发困难、移植难度大等,所以一直以来在产业化上受到较大制约。目前,活跃在市场上的国产 CPU 绝大多数都是采用同国外合作的方式,主要途径包括购买指令集授权、技术合作等。
提到指令集架构,则要从计算机的发展史开始说起。早期的计算机系统,软件的编写都是直接面向硬件系统的,即使是同一厂商的不同计算机产品,他们的软件和硬件都是不能通用的,软件和硬件紧紧耦合在一起,不可分离。后来,IBM 为了使自己的一系列计算机能够使用相同的软件,免去重复编写的痛苦,于是在它的计算机系统中引入指令集架构(ISA,Instruction Set Architecture)的概念,将软件编程所需要的硬件信息抽象出来,形成一个抽象的机器架构,编程人员在这个抽象机器上进行编程,进而实现了与硬件的解耦。至此,处理器则从原来与系统不能分离,演变成为指令集架构、微结构、底层的物理实现三层结构,并一直延续到现在。指令集架构中,最为基础的就是指令集,它是用来引导 CPU 进行加减运算和控制计算机操作系统的一系列指令集合。
处理器结构演变过程
目前,全球 CPU 指令集架构有两类——复杂指令集(X86)和精简指令集(以 ARM、MIPS、POWER等为代表)。其中,复杂指令集(CISC)通过增加可实现复杂功能的指令和多种灵活的编址方式,来提高程序的运行速度。但直接后果就是需要对不等长的指令进行分割处理,造成一些不必要的等待,效率较低,对硬件集成度、工艺、功耗均非常高。
相反,精简指令集(RISC)采用的等长的指令,可以将一条指令分割成若干个进程或者线程,交给不同的处理器并行处理,效率高,硬件集成度要求不高,工艺简单而且成本低。英特尔在早期研发 CPU 时,精简指令集还未出现,而在精简指令集出现之后,英特尔也看到了精简指令集存在的明显优势,但为了实现后向兼容,也不得不一条路走到黑,继续推动 X86 复杂指令集的发展。
这两类架构竞争十分激烈。上世纪 90 年代,复杂指令集和精简指令集阵营展开了激烈厮杀。复杂指令集一方,英特尔凭借着与微软的事实上的结盟(Wintel 体系),同时也在新的微内核中融合了一些精简指令集的技术优势,在中低档服务器、PC、笔记本等主流领域占据了绝大多数份额;精简指令集一方,虽然指令集本身有优势,但是群龙无首且各自为战,最终被 Wintel 体系打败,且挤压到嵌入式市场,后来在智能手机兴起之后才觅得新的市场空间。尤其是 ARM,通过与 Android 的合作,在智能手机处理器市场占据了绝大多数份额。在 ARM 的 64 位产品(ARM V8)推出之后,其市场也不再局限于嵌入式和移动领域,高性能计算、服务器和桌面也都成为其重要方向。
复杂指令集和精简指令集架构在国内均有授权或者技术合作。X86 授权的有兆芯、海光,兆芯是通过威盛获得的 X86 授权,海光则是中科曙光和 AMD 合作的产物。精简指令集授权的有龙芯(MIPS)、飞腾(兼容 ARM V8 架构)、申威(Alpha)、海思(ARM)等。可以看到,ARM 架构在国内市场上的影响力较大。
目前,CPU 授权主流的方式有三种:架构授权、软核授权和硬核授权,对于使用授权的企业来说,CPU 的完成度依次上升,设计难度依次下降,但自主程度也在降低。