项目代号被定为“盘古”,意为开天辟地。
马小淘成为了项目的总架构师和灵感来源。他凭借记忆和资料,画出了极其关键的、高度概括的x86指令集映射图和Windows NT内核架构框图。
“不要复制,要理解!然后转化!”这是他反复强调的原则。
项目分两步并行:
1. 硬件层:“龙芯-III”设计(代号“赛龙”)
硅魂的团队负责将“龙芯-II”的RISC架构,通过微代码翻译层,模拟出x86指令集的执行环境。这是一个极其复杂和低效的过程,但这是必经之路。
他们重点改进了内存控制器,以更好地实现x86架构的段页式内存管理。极大强化了浮点运算单元(FPU) 的性能,因为图形界面和多媒体应用极度依赖浮点计算。
最终流片成功的处理器,被命名为“赛龙(SaiLong)-I型”,其微架构思想借鉴了奔腾III的P6架构,主频达到了266MHz,性能虽然远不如同频现实产品,但已经具备了运行复杂图形操作系统的基础。
2. 软件层:“华盟操作系统”开发(代号“轩辕”)
马小淘亲自带领最核心的软件团队,闭关攻坚操作系统内核。他们没有一行一行去抄Windows代码,而是基于对NT内核(层次化、微内核思想) 的理解,用C语言和汇编,从零开始编写。
小主,
他们实现了抢先式多任务调度、虚拟内存管理、硬件抽象层(HAL)。
在此基础上,他们开发了图形设备接口(GDI)、窗口管理器、以及最基本的设备驱动程序。
这个过程充满了难以想象的困难。系统频繁蓝屏、死机、驱动程序无法识别硬件… 实验室里堆满了因为过度测试而烧毁的“赛龙”处理器和开发板。
经过无数个不眠之夜和无数次推倒重来,历史性的一刻终于到来。
在“龙渊”地下实验室的一个屏蔽室内,一台原型机被连接上显示器。它搭载了“赛龙-I”处理器、16MB内存、以及一块由硅魂团队开发的、性能极其孱弱的2D图形加速卡。
马小淘深吸一口气,亲手按下了电源按钮。
屏幕先是闪过一阵“龙芯”BIOS的自检信息,随后,硬盘(是的,他们甚至捣鼓出了原始的IDE硬盘接口)开始吱吱作响地读取数据。