“项目卡住了?”娄晓娥的声音很轻。
林卫国“嗯”一声,没回头。
“一个时间上的问题,很绕。”
娄晓娥走到他身边伸手摸摸他的脸,全是冰冷的疲惫。
她心里一疼。
“回家吧,你都两天没闭眼,铁人也扛不住。”
“我睡不着。”
“睡不着也得睡。”
娄晓娥的语气软,但话里没一点商量的余地。
“你现在就回去泡个热水澡,
然后抱着安国和念慈睡一觉。什么都别想。”
“我跟你打赌,等你睡醒脑子一清楚,法子自己就蹦出来。”
林卫国看着妻子,那双眼睛里的坚持让他没法拒绝。
或许,她说的没错。
自己现在需要的不是更多的计算,而是一个放空的脑子。
......
回到干部小区的家里,天刚蒙蒙亮。
阳光从窗户照进来在地板上铺开一层暖色。
两个刚学会走路的小家伙林安国和林念慈,
正坐在地毯上跟一堆积木较劲。
林卫国拖着两条跟灌了铅一样的腿推门进来。
“爸爸!”
还是女儿林念慈的眼睛尖,
第一个看见他奶声奶气地喊一句,
张开小手就摇摇晃晃扑过来。
林卫国的心一下就被这软糯的声音给化开。
然后蹲下身一把把女儿抱进怀里。
小丫头身上那股好闻的奶香味,
混着阳光的味道,比什么药都管用。
他绷了两天两夜的神经,终于松下来。
“念慈,想爸爸没?”
“想……”
小丫头搂住他的脖子在他脸上啃一口。
另一边的儿子林安国画风就完全不一样。
他只是抬眼皮瞥了老爹一下,
又低下头继续摆弄手里的“大工程”,
他要搭一个全世界最高的塔。
他小眉头拧着,屏住呼吸,
小心翼翼把一块积木往另一块上面放。
可地基没打牢,那座“高塔”晃悠两下,
“哗啦”一声塌个干净。
“哇——”
林安国看着一地的碎木头块小嘴一瘪,
哭声震天响,嗓门又亮又足,
感觉屋顶的灰都要被震下来。
“不哭不哭,安国最勇敢。”
娄晓娥赶紧从厨房跑出来,
把儿子抱起来拍着后背哄。
林卫国看着这场景,居然笑出声。
这臭小子的牛脾气真是一点没浪费,全随我。
不撞南墙不回头,一碰钉子就炸毛。
他走过去从妻子怀里接过还在抽抽搭搭的儿子,
自己也一屁股坐到地毯上。
“安国,看这儿,搭东西不能急。”
他一边说,一边拿起几块最大的积木,
在地上摆出一个四四方方的底座。
“第一步得先把根基打稳。你看这样是不是就不晃?”
然后他拿起一块小些的积木递给儿子。
“来,你放。”
林安国看看爸爸搭好的底座,
又看看手里的积木,半信半疑地把积木放上去。
嘿,还真稳当。
“对,就这么干。”林卫国又递给他一块。
“一层一层地往上加。放上面这块之前,
一定要等下面那块站稳当才能动手。”
林卫国很耐心地一块一块地教着儿子。
他自己都没发觉,
他的脑子已经从那些要命的电路和算法里彻底拔出来,
全神贯注地盯着眼前这堆木头块。
他的大脑进入一种近乎放空的状态,得到真正的休息。
就在他把最后一块积木轻轻放到塔顶的时候。
一道念头像闪电一样在他脑子里划过!
等一下!
一层,一层……
等下面那块放稳才能放上面这块……
这……这不就是“握手协议”?
这不就是“异步逻辑”最根本的想法吗!
我之前为什么会失败?
因为我太贪心了!
我让Adc、加密、逻辑控制这几个“工人”一块儿上,
还指望他们步调一致。
结果呢?全挤成一锅粥,
谁也干不好活最后路都堵死!
可如果……
如果我不让他们同时干呢?
如果我让他们像搭积木一样排好队,
一个干完下一个再上呢?
林卫国的呼吸一下就急促起来。
“流水线!”
对!就是流水线!
把整个数据处理的过程拆成几个独立的“工位”。
第一个工位Adc就管采样。
它采完一次就把数据扔给第二个工位,
然后立马回头干下一次的活,根本不用管后面怎么样。
第二个工位加密单元,
它从第一个工位手里拿数据算自己的加密。
算完再把结果扔给第三个工位。
第三个工位输出单元,就管把加密完的数据打包发出去。
每个工位都在自己的节奏里干自己的活。
它们之间用不着那些复杂的实时“握手”,
只要一个简单的“先进先出”缓存队列(FIFo)传东西就行!
这不就跟轧钢厂的流水线一个道理!
钢坯从一头进去经过一道道工序,从另一头出来就成了钢材。
每个工人哪需要知道整个流程,他只要把自个儿手里的活干好!
这种结构是会多出几个固定周期的延迟。
但是!
它的“吞吐率”却是最高的!
因为任何一个时候三个工位都在干活,
只不过它们处理的是不同阶段的数据!
这点延迟对人说话来讲只要控制在几十毫秒里头,
耳朵根本就听不出来!
这个法子完美绕开那个要人命的“全局同步”大坑!
它对硬件的要求也一下就降到最低!
“我真是个笨蛋!我怎么现在才想明白!”
林卫国一拍大腿从地上弹起来。
他把怀里还一脸发懵的儿子往娄晓娥手里一塞。
“晓娥,饭不吃!我必须马上回研究所!我想到了!我想出办法!”
说完他转身就往门外跑,脚上的拖鞋都差点穿反。
“哎,你……”
娄晓娥看着丈夫那副疯疯癫癫的样子,
无奈地摇摇头,嘴角却翘起来。
那个什么都能解决的林总师又回来了。
当林卫国像一阵风冲回通讯研究所的实验室时。
李部长和总工程师那几个人正围着桌子唉声叹气,
一个个愁得跟霜打的茄子一样。
“完了,我算了一晚上,
这异步逻辑的时序补偿就是个死结。”
总工程师揉着太阳穴,眼圈黑得吓人。
“是啊,动一处,乱一片。改了这里那里又出问题。
这根本不是我们现在这点技术能解决的。”
“看来只能跟林总师汇报申请延长研发时间……”
李部长叹口气刚准备去拿电话。
实验室的门“砰”一声被人从外面撞开。
林卫国卷着一身风尘冲进来。
“谁说要延长?!”
他几步冲到黑板前抄起粉笔,
看都不看屋里的人,手底下龙飞凤舞地画起来。
“我们不搞那个什么狗屁的‘全局同步’!我们玩‘流水线’!”
他一边画一边用最快的速度,
把自己刚想到的“三级流水线结构”给吼出来。
从Adc采样到FIFo缓存,再到加密运算,最后到并行输出……
整个实验室里只有他一个人的声音,
和粉笔在黑板上“刷刷”的摩擦声。
一开始那帮专家还听得一头雾水。
可随着林卫国把整个数据流动的过程,
画得越来越清楚。
他们的眼睛也瞪得越来越大,越来越亮。