第582章 底层点火(2/2)
然后,机柜正面那个巴掌大的诊断面板亮了起来。
绿色的“电源正常”灯亮了。
黄色的“时钟正常”灯闪了两下,也亮了。
红色的“故障”灯没有亮。
七段数码管显示了一个数字:0。
汪涵教授盯着那个“0”看了两秒。
“POST通过了。”
最小自检程序在主控核心上电后自动执行,检测了核心芯片的寄存器、缓存、总线接口。
如果检测到故障,数码管会显示故障代码,红色的故障灯会亮。
但它是0。
一切正常。
十点二十分,I/O抽屉就位,加载驱动,第一个指示灯亮起。
宇文坤德取出I/O抽屉,推进第六个插槽。
“咔嗒”一声,板卡到位。
I/O抽屉的前面板上有八个拨码开关和八个指示灯,整整齐齐地排成两行。
卫知南取出第二颗只读存储芯片。
这颗芯片上写好了基础I/O驱动的微程序,读拨码开关的状态,点亮对应的指示灯。
只有几十条微指令,但这是昆仑1机第一次“做”一件事。
他把芯片插到主控板的另一个插座上。
汪涵教授走到终端前,手指悬在回车键上方。
停了大约两秒,然后他按了下去。
屏幕上跳出一行行字符。
微程序被逐条加载到主控核心的微程序存储器里。
LOAD PLETE. 47 MISTRUS LOADED.
汪涵教授直起腰,退后一步。
他看着吕辰。
吕辰站在机柜前面,右手食指悬在I/O抽屉前面板上的第一个拨码开关上方。
他转过头,看了看汪涵教授。
汪涵教授点了点头。
他看了看吴国华。
吴国华把示波器的探头夹在了I/O板的输出引脚上,屏幕上的波形稳定。
他点了点头。
他看了看宇文坤德。
宇文坤德站在配电盒旁边,手搭在空气开关上,随时准备断电。
他点了点头。
吕辰吸了一口气。
“点火。”他拨动了第一个开关。
机房里的空气仿佛凝固了一瞬。
然后,I/O抽屉前面板上的第一个指示灯,最左边的那一颗亮了。
绿色的光,在昏暗的机房里格外醒目。
它没有闪烁,没有迟疑,就那么稳稳地亮了,像一颗被点燃的星星。
汪涵教授站在机柜前面,盯着那颗指示灯,一动不动。
他的手垂在身侧,手指微微蜷着。
他没有说话,但他的嘴唇在微微发抖。
吴国华盯着示波器的屏幕。
波形没有异常,输出信号干净。
他没有说话,但他的手指在桌面上轻轻叩了两下。
宇文坤德站在配电盒旁边,手里攥着电笔,手背上青筋暴起。
吕辰看着那颗指示灯,过了几秒,他拨动了第二个开关。
第二个指示灯亮了。
第三个、第四个、第五个……
他一口气拨动了八个开关。
八个指示灯依次亮了起来,从左到右,像一排被点燃的引信。
他停下来,转过身,看着汪涵教授。
“汪教授,I/O驱动通了。”
汪涵教授站在机柜前面,过了好几秒,他的嘴角动了一下,声音沙哑。
“通了。”
吕辰翻开笔记本,在最机最小系统I/O驱动加载成功,第一个指示灯点亮。
然后他把笔记本举起来,让在场的人都看见。
“各位,签个字。”
不知道谁带头鼓的掌。
掌声从机房的某个角落响起来,先是稀稀拉拉的,然后汇成一片,在空旷的机房里回荡。
没有欢呼,没有人说话,就是鼓掌。
下午,存储抽屉、运算抽屉依次就位。
存储抽屉推进第五个插槽,内存读写测试程序加载。
十组常规测试全部通过,边界条件测试,全0地址、全1地址、地址线翻转临界点,全部通过。
终端机上跳出一行绿色的字符:BOUNDARY TEST PASSED. ALL 48 CASES VERIFIED.
汪涵教授点了点头。
运算抽屉推进第四个插槽。
这是今天最难的一道坎。
KL-VU向量运算单元,上万只晶体管,一次能处理一组向量数据。
今天只跑最简单的:1.0+2.0=3.0。
浮点加法微程序加载。
终端机上开始滚过一行行编译信息。
PILING... LINKING... LOADING... LOAD PLETE. 128 MISTRUS LOADED.
“加载完成。”卫知南确认。
钱兰敲了运行命令。
三秒后。
屏幕上跳出一行绿色的字符:RESULT: 3.000000 TEST PASSED.
吕辰盯着那行字,把“3.000000”看了两遍。
“汪教授,1.0加2.0,等于3.0。”
汪涵教授走到终端机前面,亲自敲了重新运行的命令。
屏幕上再次显示3.000000。
他又敲了一遍。
还是3.000000。
他直起腰,退后一步。
“这个加法,我算了半辈子。今天我们终于把它算在了昆仑1上。”
下午四点,全最小系统稳定运行。
六块板卡,电源、时钟、主控、运算、存储、I/O,全部在线。
系统没有跑复杂的任务,只是循环跑着今天加载的所有微程序:读写存储器的边界测试、浮点加法、I/O驱动。
每隔一小时,宇文坤德测一组数据:电压、温度、时钟波形。
万人敌记录在笔记本上,一笔一划,工工整整。
下午六点,第一组稳定运行的数据出来了。
电压最低点4.82V(存储板远端),最高点5.03V(电源板近端),全部在4.75-5.25V的指标范围内。
时钟毛刺最大幅度1.6V,没有超过阈值。
机柜内部温度28度(环境温度22度),温升6度,在预期内。
所有节点,全部在规格内。
吕辰把这份数据从头到尾看了一遍,合上本子。
“先跑24小时。明天下午这个时间,如果一切正常,最小系统,就通了。”
第二天下午五点,吕辰从工业部专家党支部学习回来,第一时间来到昆仑1机房。
机柜上,绿色的电源灯亮着,黄色的总线灯稳着,红色的故障灯暗着,七段数码管显示着“0”。
没有任何异常。
宇文坤德靠在墙角,手里攥着一个搪瓷缸子,缸子里的茶已经凉了。
见吕辰进来,他站起来,从桌上拿起那个记录了24小时数据的笔记本,递过去。
“吕工,24小时,零故障。”
吕辰接过本子,一页一页地翻。
电压、温度、时钟波形、总线误码率、中断响应时间,每一项数据都在规格内,没有一条超标,没有一次异常。
他翻到最后一页,上面写着宇文坤德的签字和卫知南的签字。
“确认最小系统24小时稳定运行。”
吕辰把本子合上。
二十分钟后,硬件板卡集成小组、软件与微程序小组的人到齐了。
吕辰站在一号机柜前面,手里拿着那份记录了24小时数据的笔记本。
“最小系统第一阶段,通过了。”他翻开本子,一页一页地念那些数据。
不是念给谁听,是确认。
念完之后,他把本子放在桌上。
他拿起桌上第一沓文件,那是《最小系统硬件状态确认书》。
上面列出了最小系统的硬件配置,一台主控机柜、六个抽屉(电源、时钟、主控、运算、存储、I/O)、总线背板,以及每一项硬件参数的实测数据。
“最小系统硬件状态确认书。确认最小系统的机械安装、电气连接、电源、时钟、散热,全部在规格内。”
他把文件递给宇文坤德。
宇文坤德接过去,签了字。
汪教授拿起第二沓文件,那是《底层驱动微程序包V1.0》的技术文档。
里面记录了今天加载的所有微程序,Bootloader、POST、基础IO驱动、看门狗喂狗程序、内存读写测试程序、浮点加法微程序,每一条微程序的版本、功能描述、测试结果。
“底层驱动微程序包V1.0。确认微程序的版本、功能、测试结果,全部通过。”
汪涵教授在最后一页签了字。
吕辰拿起第三样东西,那本记录了24小时数据的笔记本。
“基线数据。最小系统下,所有关键节点的电压、温度、时钟波形。这是昆仑1机的第一份健康档案。以后每一次测试、每一次故障排查、每一次升级,都要对比这份基线。”
三样东西,全部交付。
昆仑1的最小系统,通了。