1、“26 事件”的启示
四十年来,为了实现高速发展,在前进的道路上我们绕过了一些比较难攻的“山头”,包括作为工业“心脏”的发动机、作为信息产业“心脏”的中央处理器(Central Processing Unit,简称 CPU)、高端工控系统和高端仪器等。
 
现在这些未攻下的“山头”在后方作乱,成为巨大隐患。这些“山头”有一个共同的特点,就是攻下它需要很长时间,因为它们都是复杂系统。影响复杂系统品质的因素很多,需要在不断试错中发展,不可能一蹴而就。就像上楼,只能一步一步从楼梯爬上去,一步楼梯就是一次在应用中试错。
 
国外产品是在几十年应用中经历了多轮试错发展起来的,是沿着楼梯一步一步上的楼。
 
70 年代末以来,我国为了快速发展,每次产业升级都找容易取得效果的产品做,只能用国外的部件“攒”系统,计算机、汽车、飞机莫不如此。对于自主研发的产品,“在相同条件下优先使用”相当于永远不用,因为阻断了自主研发产品在应用中试错,在试错中发展的螺旋上升的过程。
 
核心技术产品的难点不在科学原理,而在于工程细节的完善。以汽车发动机为例,发动机的科学原理教科书都写得很清楚了,关键是造出来后如何在应用中试错,在试错中提高。造几辆基于自主发动机的汽车在实验室以及野外完成各种实验并不难,难的是一定批量的长期的应用验证。有的开到空气稀薄的青藏高原去,有的在冬天开到低温的漠河去,有的在夏天开到高温高湿的海南岛去,而且都要有一定批量和周期。一辆车不出问题不意味着批量不出问题,一年不出问题不意味着十年不出问题。要在应用中发现问题,并根据发现的问题进行持续改进。有时候需要多轮改进才能见效,因为复杂系统的细节太多,即使是发动机中控制喷油嘴的电路板和芯片也不简单。就像木桶有一百块短板,每次改掉二十块也需要改五轮,木桶的水才能增加,产品的品质才能明显提高。
 
试错需要时间和耐心,时间是核心技术产品最有效的门槛。以抗辐照 CPU 为例。掌握抗辐照技术并研制出抗辐照 CPU 后,首先要在地面做多轮的辐照实验,包括总剂量实验、单粒子实验、抗闩锁实验,做这些实验需要通过粒子加速器加速包括电子、质子及重离子在内的各种粒子打在芯片上来评估 CPU 的抗辐照能力。做完地面实验后第一次上天只能搭载而不是真正应用。搭载实验通过后可以用在备份系统中上天。
备份系统使用没问题后才能作为主份上天。上述每一步实验的时间都需要以年为单位。龙芯从 2006 年开始研制抗辐照 CPU,第一次上天是 2015 年,2017 年才开始上小批量,前后共花了十多年时间。有哪个社会资本愿意支持创业团队坚持十几年不盈利呢?但一旦跨入抗辐照芯片应用的门槛,别人想再进来也得很多年。因此,时间是核心技术产品最重要的门槛。任何一、两年或两、三年就能做出来的东西门槛都不高,门槛不高的产品利润都不高。
 
有没有办法避免上述耗时的多轮试错,不用爬楼梯,一步就上楼呢?70 年代末以来,我们进行了各种尝试。第一阶段是造不如买、买不如租;第二阶段是“市场换技术”,希望通过成立合资企业来掌握核心技术;第三阶段是直接收购国外高科技企业。
 
事实证明,这些都不是根本的解决办法。
 
背后的逻辑很简单,那就是西方是不会真心帮助我们发展的。反之,他们会设置各种门槛阻止我们进入他们的“领地”。在应用中试错是核心技术产业的发展固有的规律,我们可以通过加大投入和改进体制机制加速试错过程,但不能取代试错过程。只有坚持自力更生,长期坚持,我国核心技术产业才能“上楼”,才能不受制于人。
 
2、自主 CPU 在试错中发展过程
以龙芯 CPU 为代表的自主 CPU 研发和应用取得很大进展。
 
一是 CPU 性能不断提高,超过国际主流 CPU 的低端产品,正在向中高端逼近,预计 2020 年前后逼近国际主流 CPU 的性能“天花板”。
 
二是基于自主 CPU 形成了包括近千家企业的产业链,自主可控的信息产业体系正在形成。
 
三是在特殊行业、能源、交通等领域得到了大量应用,自主 CPU 能取得上述进展,主要是得到了应用和试错的机会,在试错中上了几级“楼梯”。
 
龙芯上第一级“楼梯”是主要面向基于嵌入式操作系统的单一应用及基于 Linux 通用操作系统的简单应用。自主 CPU 开始和操作系统结合,在结合过程中解决了成百上千的技术问题,包括 CPU 成熟度不够,嵌入式操作系统 VxWorks 的各类板级支持包(Board Support Package,简称 BSP)和图形包缺乏,在 Linux 上没有可用的 Java 虚拟机、浏览器、办公软件和数据库等。
 
通过建立质量体系和服务体系,并取得产业链合作伙伴的支持,初步解决了上述问题,自主基础软硬件达到“基本可用”。2015 年龙芯产业化主体龙芯中科公司通过市场销售达到盈亏平衡,并在此基础上实现利润的快速增长。这个阶段主要应用都是一个个“小烟囱”,每个应用的软硬件都不一样,需要专门技术服务,而且批量都不大。这类应用就像盐碱地,认真种可以不饿肚子,在 IT 产业被国外垄断集团深度垄断的情况下,龙芯只能种好“盐碱地”作为进一步发展的根据地。
 
在第一轮试错中也发现了 CPU 性能不足(只有市场主流产品的十分之一)、部分软件功能(如在线 Flash 视频播放)缺乏、输入 / 输出设备适配不够等问题。总体上看,第一级“楼梯”主要的瓶颈在于 CPU、操作系统及其结合部。
 
龙芯上第二级“楼梯”是主要面向包括办公和行业业务系统在内的复杂固定应用,每个应用场景有上千台计算机,涉及操作系统、数据库、中间件、浏览器、办公软件、Flash 视频、地理信息系统等。
虽然复杂,但有边界。在这个过程中,CPU 升级到第二代,性能大幅提高到第一代产品的 4-5 倍;操作系统升级到 64 位,稳定性大幅提高;Java 虚拟机、浏览器性能均提高到第一代产品的 2-3 倍;解决了制约桌面应用的网上 Flash 视频播放等相关问题。
 
大量自主输入 / 输出设备如高拍仪、扫描仪、打印机、身份证读卡器等企业主动加入自主产业链,输入 / 输出设备越来越丰富。CPU、操作系统、数据库、整机、系统集成等厂商紧密配合,协同解决用户试点过程中发现的问题,形成了“应用试点、发现问题、解决问题并完善平台、在试点中检验”的良性循环。应用方面达到了“可用”的水平,使用者对自主基础软硬件的抵触情绪逐步消失。新发现的问题包括:对复杂的外网应用,缺少像微信和 QQ 这样的即时通信软件;对大型应用,扩展性不好的数据库成为性能瓶颈;云计算等新兴 IT 架构的解决方案还需要加强研发等。总体上看,爬上第二级“楼梯”大幅缓解了基础软硬件的瓶颈,主要矛盾开始从 CPU 和操作系统的结合部转向操作系统与应用的结合部。
 
龙芯爬上第三级“楼梯”将在最近,面向的应用具有全业务、全地域的特点。自主基础软硬件将在第三轮试错后走向成熟,具备全面推广的条件。
 
龙芯在爬第三级“楼梯”过程中还将从三个方面完善基础软硬件。
 
一是 CPU 通用处理性能再提高 1-2 倍,逼近国际主流 CPU 的“天花板”。通过优化处理器微结构提高流水线效率,并通过物理设计提高频率,预计 2020 年龙芯 CPU 的性能可以逼近当时市场主流 CPU 的水平。
 
二是完善自主基础软硬件规范,实现系统架构稳定和技术平台收敛。在过去应用中,操作系统需要针对不同的主板和升级后的 CPU 进行磨合适配,而在 Wintel(英特尔公司的 X86 处理器和微软公司的 Windows 操作系统)体系中可以实现不同主板及 CPU 的操作系统二进制兼容。其背后是 Wintel 体系统一的系统架构,包括指令系统、地址空间布局、中断系统、多核互联架构、IO 接口规范等,需要 CPU、BIOS、桥片、操作系统配合完成。相比之下,ARM 架构由于只规范了指令系统和片内总线,其生态系统是碎片化的。龙芯正完善基于龙芯 CPU 和桥片的统一系统架构,大幅度降低软硬件适配工作量,并最终实现操作系统在不同主板和 CPU 的二进制兼容。
 
三是以用户体验为中心,对自主基础软硬件展开系统梳理和优化,打造集约型的系统,使用户体验有实质性的提高,达到“好用”水平。在此之后,自主基础软硬件的主要瓶颈将由 CPU 和操作系统的结合部转移到操作系统和应用的结合部。
 
经过上述三轮试错,以 CPU 和操作系统为代表的自主基础软硬件从不成熟到成熟,自主基础软硬件产业链从组合发散到组合收敛,基于自主基础软硬件的应用系统从基本可用、到可用、到好用,为构建独立于 Wintel 体系和 ARM+Android 体系外的自主技术体系打下坚实的基础。