四合院:我是雨水表哥
第584章 百核齐鸣
1月13日晨会。
陈茂林、汪涵、吕辰、秦无功四人围着长条桌坐下,面前各放着一杯热茶。墙上的接口对照表已经打了将近三分之一。电源和存储两列几乎全绿,像是两块整齐的麦田。
“第三轮,I/O机柜。”陈茂林用手指点着黑板上那条时间线,“两台满配,通信协议栈、中断处理、DMA驱动。目标是中断响应延迟小于10微秒,外设联调成功。”
汪涵翻开本子:“I/O通信协议栈还有两个bug,昨天晚上已经改完了。DMA驱动今天上午能在模拟台上跑通。”
“那就上架。”陈茂林说。
I/O机柜比存储机柜浅一些,标准深度350毫米。两台机柜被叉车推进机房,靠在最右侧的位置。
宇文坤德开始上架抽屉。I/O抽屉的种类比存储多得多,有通信接口抽屉、通道控制器抽屉、DMA抽屉、外设适配器抽屉,一共十几个型号。他一边推一边在本子上记编号,每推一个就打一个勾。
中午十二点,两台I/O机柜全部上架完毕。
汪涵亲自加载I/O微程序包。终端机咔嗒咔嗒地响了十几分钟,屏幕上终于跳出一行字:
I/O MICROCODE LOADED. 87 INSTRUCTIONS. CHANNEL CONTROLLER ONLINE. DMA ONLINE.
“驱动加载成功。”汪涵说。
“测中断响应。”吕辰说。
这是I/O子系统的核心指标。外部设备发起中断请求,到主控核心响应并跳转到中断服务程序,这段时间不能超过10微秒。
钱兰用信号发生器模拟外部中断,示波器的探头夹在主控核心的中断响应引脚上。
波形跳出来。
吴国华盯着屏幕:“从中断请求到响应,大约15微秒。”
超过指标。
陈茂林的眉头皱了一下。
汪涵走到终端前,调出中断响应的微程序清单,一行一行地看。看了大约五分钟,他的手指停在其中一行上。
“这里。”他用铅笔点着屏幕,“中断响应路径中,微程序做了一次多余的寄存器备份。这是为了通用性设计的,但加在中断路径里太耗时间。”
他删除了那三个微指令,重新编译、加载。
再测。
示波器屏幕上的时间标尺缩短了将近一半。
吴国华读数据:“8微秒。达标。”
吕辰在笔记本上记了一笔。
汪涵没说话,把修改后的微程序清单签了字,递给卫知南归入《功能微程序包V1.0》。
外设联调是第三轮最有视觉冲击力的环节。
第一个接上的是读卡机。
吴国华把一张刻着“HELLO KUNLUN”的二维卡塞进读卡槽,读卡机开始咔嗒咔嗒地响。
终端机上,屏幕跳出了那行字:
HELLO KUNLUN
汪涵盯着那行字看了两秒,嘴角微微动了一下。
第二个接上的是显示器。
那是昆仑0机上已经验证过的字符显示器,能显示24行80列英文字符和数字。
显示控制芯片是吕辰他们设计的,现在已经第二版了,显示更稳定。
他敲了一行命令,屏幕上跳出一个光标。再敲了几个字母,屏幕上显示出“KUNLUN1 I/O TEST”。
第三个接上的是键盘。
陈茂林亲自走到键盘前面,伸出食指,一个键一个键地敲:1 + 1 =
显示器上出现了“2”。
他没说话,又敲:1024 * 1024 =
显示器上出现了“”。
他退后一步,看着那个数字:“键盘能用。”
故障注入升级版在这一轮正式亮相。
郑长枫从工具箱里拿出一个小盒子,打开,里面是一块自制的“故障注入板”,几根导线、几个电阻、一个信号发生器,焊在一块万用板上。
他把这块小板子串联在I/O总线上,然后拧动了信号发生器的频率旋钮。
总线上开始出现偶发的位翻转:数据线上的某个比特,在极短的时间内从0变成1,又从1跳回来。
屏幕上的字符开始出现乱码,但很快恢复了正常。
汪涵盯着终端机的输出日志,看了几秒:“ECC纠正了。记录在这里——总线位翻转,地址0x3F2A,检测到一位错误,已纠正。”
他在笔记本上记下了时间和故障类型。
第二个故障更复杂。
钱兰取出一块烧录好的只读存储器芯片,换下了微程序中的某一块。
新芯片里,有一条微程序指令被人为跳过了,地址0x1F8处的指令被改成了空操作。
系统运行了大约两分钟后,诊断系统报出了警告:
INSTRUCTION CHECKSUM ERROR AT 0x1F8. EXPECTED 0x7E, GOT 0x00.
MICROCODE MODULE 23 RESET.
诊断系统不仅发现了异常,还自动复位了出错的那个微程序模块,系统没有崩溃。
汪涵站了起来,走到机柜前面,看着数码管上显示的错误代码。
他看了很久,然后转过身,看着郑长枫。
“这个故障注入板,做一套标准版的。发给所有测试组。”
郑长枫点了点头。
吕辰在本子上记下了这轮故障注入的所有数据和对应的微程序诊断逻辑。
这些东西,将来都会进入故障模式库。
跨子系统协同,I/O+主控。
钱兰在键盘上敲了一行命令,触发了一个外部中断。
中断信号通过I/O通道控制器传递给主控核心,主控核心响应中断,调用已经上架的运算板,做一次浮点加法,结果通过I/O输出到显示器。
整个过程不到2毫秒。
显示器上出现了“3. + 2. = 5.”。
吕辰站在显示器前面:“I/O通了。第三轮完成。”
秦无功拿着绿色记号笔走到接口对照表前,在“I/O子系统”那一列下面,一口气打了九个勾。
打完最后一个,他退后两步,看了看整张表。
电源、存储、I/O,三列几乎全绿。
还剩下最大的两列,运算和主控。
1月16日下午,陈茂林在机房门口贴了一张纸:“第三轮完成,1月17日上午第四轮启动。”
1月17日,天气阴沉,预报说要下雪。
第四轮是最大的一轮,21台运算机柜加第二台主控机柜,要占满机房的剩余全部空间。
早上七点,运输队开始运送抽屉。
一车一车的抽屉从货箱里卸下来,一个一个地推进机房。
21台运算机柜,每台6个抽屉,一共126个抽屉,加上第二台主控机柜的9个抽屉,135个抽屉,每一个都要推到位、锁紧、确认。
一直到深夜12点,最后一个抽屉推完的时候,吕辰手指都在发抖。
他用力甩了甩手,从兜里掏出烟,点了一根,深深地吸了一口。
检测完成,已经是第三天下午。
“上电!”
21台运算机柜的开关被依次推上。
《四合院:我是雨水表哥》 第584章 百核齐鸣 精彩章节在线阅读。本章共计 5496 字。