返回第五百八十三章 电源肌骨  四合院:我是雨水表哥首页

关灯 护眼     字体:

上一页 目录 下一页

    先写后读,地址递增,数据模式全0、全1、交替5A、A5。

    屏幕上每完成一组测试,就跳出一个绿色的“PASS”。

    30组基础测试,全部通过。

    “写入全部主存,随机地址。”汪涵说。

    这是第一道硬门槛,6台机柜的全部主存容量为28MB,在当时已是天文数字。

    钱兰敲了一个脚本,终端机开始咔嗒咔嗒地响,探针矩阵一行一行地扫过二维卡。

    机房里的气氛安静了下来。所有人都在等。

    三分钟后,屏幕上跳出一行字:

    WRITE COMPLETE. BYTES WRITTEN.

    “读回校验。”

    钱兰敲了读回命令。

    又是一段漫长的等待。

    屏幕上的字符开始滚动,每一行都是地址和数据比对的结果。

    滚了大约两分钟,最后一行跳出来:

    READ VERIFY COMPLETE. ALL DATA MATCHED. 0 ERRORS.

    吴国华盯着那行字看了两秒,肩膀微微松了一下。

    郑长枫在笔记本上记了一笔:“随机读写,零错误。”

    真正考验存储子系统的是跨子系统协同。

    1月10日

    此时运算机柜还没有正式上架,但第一阶段最小系统里已经有一块运算板在机柜里跑着。汪涵决定用那块运算板做协同测试。

    这是一个典型的科学计算场景。

    运算单元从存储取数据,计算完再存回去。

    路径上任何问题都会暴露。

    汪涵亲自加载FFT微程序,那条微程序有三百多条指令,是向量计算库里最复杂的一个。

    加载完成。

    钱兰敲了运行命令。

    运算板上的指示灯开始闪烁。黄色的总线占用灯闪得很快,绿色的运行灯一直亮着。存储机柜那边的指示灯也在闪,读写的频率很高,像某种急促的心跳。

    三十秒后,屏幕上跳出一行字:

    FFT COMPLETE. DATA VERIFIED.

    “比对一下原始数据和变换后的数据。”吕辰说。

    钱兰又敲了一组命令。

    屏幕上开始逐行比对,每一行都跳出一个绿色的“MATCH”。

    滚了十几秒,最后一行:

    ALL DATA VERIFIED. 0 ERRORS.

    汪涵靠在椅背上,把眼镜摘下来擦了擦。

    他的手指在镜片上停了一下,像是在确认自己没有看错。

    ”那一行写了两个字:通过。

    秦无功拿着绿色记号笔走到接口对照表前,在“存储子系统”那一列下面,一口气打了六个勾。

    第二轮测试中也不是一帆风顺。

    1月11日上午,当第三台存储机柜上架后,系统出现了第一次重大故障。

    总线死锁。

    现象是:两个存储控制器同时向同一块内存区域发出读写请求,仲裁器没有处理好优先级,两条指令卡死在了总线上。系统不崩溃,但也无法继续执行。

    示波器上能看到地址总线的电平卡在中间状态,既不归零也不跳变。

    吴国华用逻辑分析仪抓了半个小时的波形,最后锁定在两组地址信号的重叠窗口。

    “两个控制器同时申请同一个Bank,仲裁器给的应答信号同时到达,谁也没等到对方的释放信号。”他用手指点着屏幕上的两条波形,“死锁了。”

    钱兰听到这话立刻走到黑板前,画了一张仲裁状态转移图。

    “现有的仲裁优先级是‘先来先服务’。如果两个请求同时到达,状态机没有定义这种情况,会进入一个非法状态。”她用粉笔在图上圈了一个圈,“这里,缺少一个‘同时到达’的处理分支。”

    汪涵走过来看了看,点了点头:“微程序里加一条判断。两个请求同时到达时,默认给低地址Bank的控制器优先级。不需要改硬件。”

    他当场坐下,在终端上修改微程序,加了六个微指令,重新制作了二维卡,加载,重启。

    死锁消失。

    郑长枫重新跑了一遍28MB随机读写测试,全部通过。

    吕辰在本子上记了一笔:“总线仲裁缺陷,微程序修复。已归档至故障模式库。”

    墙上接口对照表的“存储仲裁”格子,被打上了一个绿勾,旁边用红笔标注了“已修复”。

    1月12日下午,存储子系统独立测试全部完成。

    六台机柜满配,ECC纠错验证通过。

    测试人员故意在写入数据后、读出前用信号发生器
本章未完,请点击下一页继续阅读>>

『加入书签,方便阅读』

上一页 目录 下一页