他从资料里抽出一张图,是双机热备的状态转移图,画得清清楚楚。
“还有问题吗?”
没人再问。
“好。那就开始装。”
先装存储柜上的数据库系统。
陈教授从帆布包里拿出一个防静电盒,打开,里面是一块陶瓷封装的只读存储器芯片,银灰色的外壳,表面印着白色的丝印字。
“数据库的内核,固化在这块芯片里。插到中央存储柜的背板上,上电之后会自动加载到指定内存区域。”
吕辰接过芯片,用拇指摩挲了一下封装表面,然后走到中央存储柜后面,找到背板上预留的插槽,小心地插进去。“咔嗒”一声,到位。
陈教授走到管理员桌前,按下监控终端的电源开关。
显示器亮起来,绿色的字符开始跳动。
他敲了几行命令,屏幕上的输出一行一行地滚过:
LoAdING dAtAbASE KERNEL……
KERNEL LoAdEd0x1000
INItIALIZING bUFFER pooL……
bUFFER pooL SIZE:64Kb
INItIALIZING IRUctURE……
b+ tREE Root cREAtEd
dAtAbASE REAdY.
陈教授又敲了一个命令,屏幕上出现了一个简单的提示符:db>
他回头看了一眼吕辰:“数据库内核跑起来了。接下来装管理工具。”
他从帆布包里拿出一个牛皮纸信封,里面装着厚厚一沓二维卡,每张卡上打满了孔。
他把卡片一张一张地塞进读卡机,每塞一张,读卡机就“咔嗒”一声把卡片吞进去,显示器上逐行显示加载信息:
LoAdING db_mAooL……doNE
LoAdING db_qUERY_tooL……doNE
LoAdING db_ImpoRt_tooL……doNE
……
加载了将近二十张卡,最后屏幕上出现了一行提示:ALL tooL hELp FoR mANdS.
陈教授敲了“hELp”,屏幕上列出十几个命令:
REAtE_tAbLE、I、SELEct、UpdAtE、dELEtE、cREAtE_INdEx、dRop_INdEx……
“数据库的表结构我已经建好了。”他切换到另一个界面,屏幕上出现了一个表格状的输出:
tAbLE:cELLS
NS:
Id (INt, pRImARY KEY)
NAmE (chAR(32))
FUN (chAR(16))
tEch (chAR(4)) // 5Um oR 2Um
LAYoUt_dAtA (bLob)
SIm_modEL (bLob)
tESt_VEctoRS (bLob)
VERSIoN (INt)
modIFIEd_bY (chAR(32))
modIFIEd_At (tImEStAmp)
“每个标准单元存成一条记录。Id是唯一编号,NAmE是单元名称,FUN是逻辑功能,tEch是工艺版本——5微米还是2微米。LAYoUt_dAtA存版图的坐标数据,SIm_modEL存仿真模型的参数,tESt_VEctoRS存测试向量。VERSIoN、modIFIEd_bY、modIFIEd_At是版本管理用的。”
陈教授转过身,看着吕辰:“你们的人要做的,就是对着手册,把每个单元的这几项数据,用ImpoRt工具一条一条地塞进数据库。ImpoRt工具支持从文本文件批量导入,你们可以先把数据写成文本文件,再一次性导入,比一条一条敲命令快。”
吕辰点头,在本子上记下来。
数据库装完了,接下来是分布式调度微程序。
陈教授走到一号机前面,打开机柜门,从帆布包里拿出另一个防静电盒,里面是一块只读存储器芯片。
“调度器的微程序,固化在这块芯片里。插到一号机的接口板上。一号机就是主控节点。”
吕辰接过芯片,插到一号机接口板上的预留插槽。
陈教授走到操作台前,按下电源开关,插入引导卡,读卡机“咔嗒”一声。
显示器上的字符开始跳动:
LoAdING SchEdULER mIcRocodE……
mIcRocodE LoAdEd0x2000