286 计算机运行时硬盘发出的 “咔嗒” 声此起彼伏,绿色荧光屏在昏暗的房间里连成一片冷光,空气里混着打印纸的油墨味与电路板的潮热气息。
陈醒攥着那本夹着《计算机世界》的硬壳笔记本,在一排排机器间穿梭,目光最终落在角落,
一个穿着洗得发白的蓝布工装、戴着厚黑框眼镜的男生,正弯腰盯着屏幕,手指在键盘上飞快敲击,屏幕上满是密密麻麻的汇编指令。
“赵海同学?”
陈醒放轻脚步走近,注意到对方桌角堆着《8086 汇编语言程序设计》和《汉卡硬件原理》,书页边缘被翻得卷起,键盘旁的搪瓷杯里,泡着的茶叶已经沉底,杯壁结着一圈褐色茶渍。
赵海闻声抬头,镜片后的眼睛带着几分警剔,指尖还悬在回车键上:
“你是?”
他的声音有些沙哑,象是长时间没说话,左手食指指腹有一层明显的老茧, 那是常年握电烙铁、写代码留下的痕迹。
“电子工程系大三,陈醒。”
陈醒将《计算机世界》摊开在桌上,指着那篇 “汉字系统内存优化” 的短文,
“你的文章里提到,用中断矢量重定向减少汉卡对常规内存的占用,这个思路很有意思。但我觉得,还有优化空间。”
赵海的目光从文章移到陈醒脸上,眉头微蹙:
“常规内存就 640KB,现在主流汉卡最少占 64KB,要跑 DSO 和 WSP,根本不够用。我试过压缩字库,解压速度又跟不上, 你有办法?”
他说话直接,没有多馀寒喧,指尖无意识地摩挲着键盘边缘,显然对这个 “跨系来客” 的技术实力存疑。
陈醒没直接回答,而是从笔记本里抽出一张草图, 纸上画着汉卡的硬件框架,标注着
“字库芯片:27C512”
“缓存:6264”,
旁边用红笔写着一行小字:
“动态字库加载:常用字存缓存,生僻字按需读 ROM”。
“现在的汉卡把所有字库都塞进内存,其实没必要。”
他指着草图,声音压得稍低,避免打扰周围人,
“我查过电子工业部的报告,国产 27C512 ROM 芯片的读取速度能到 150ns,配合 6264 静态缓存,把常用的 3000 个汉字存在缓存里,生僻字用硬件逻辑快速调用,常规内存占用能压到 32KB 以下。”
赵海的眼睛骤然亮了,他伸手拿过草图,指尖在 “动态加载” 的标注上反复划过,呼吸都急促了几分:
“我试过软件加载,但 DOS 的中断响应太慢,会卡顿。你说的硬件逻辑…… 怎么实现?”
“用国产 74LS 系列逻辑芯片做地址译码器。”
陈醒从帆布挎包里掏出一块小小的电路板, 上面焊着几个三极管和逻辑芯片,
“这是我做的简易地址分配模块,能让汉卡和 CPU 抢内存时,优先级自动调整。你看这里,”
他指着一个焊点,
“74LS138 做译码,配合 8259 中断控制器,能把调用字库的延迟控制在 100ns 以内,比软件中断快三倍。”
赵海立刻拉过旁边的空椅子,将陈醒的模块接在自己的 286 计算机上,手指在键盘上敲击起来。
屏幕上的汇编代码飞快滚动,片刻后,一行 “内存占用:28KB” 的字样跳了出来。
他猛地抬头,镜片后的眼睛里满是难以置信:
“真能压到 30KB 以下?我之前算过,最少也要 40KB!”
“还有输入法。”
陈醒没停,继续补充,
“现在的拼音输入法要逐字选,效率太低。你能不能写个简拼词库?比如‘zhongguo’直接映射‘中国’,用软件把词库存在汉卡的 ROM 里,调用时和字库同步加载, 这样输入速度能提一倍。”
这话让赵海陷入了沉思,他盯着屏幕上的代码,手指轻轻敲击桌面:
“词库要占空间,而且简拼重码率高……”
“用二分法查词。”
陈醒立刻接话,
“把词库按拼音首字母排序,查的时候用硬件逻辑做二分查找,比软件遍历快得多。我算过,哪怕词库有 1 万个词,查找时间也不会超过 50ns,不影响打字流畅度。”
机房里的 “咔嗒” 声似乎都小了些,赵海盯着陈醒画的草图,又看了看那块简易模块,突然起身:
“跟我来。”
他带着陈醒走到机房最里面的一台 386 计算机前,开机后调出一个界面, 屏幕上是一个