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