“專案卡住了?”婁曉娥的聲音很輕。
林衛國“嗯”一聲,沒回頭。
“一個時間上的問題,很繞。”
婁曉娥走到他身邊伸手摸摸他的臉,全是冰冷的疲憊。
她心裡一疼。
“回家吧,你都兩天沒閉眼,鐵人也扛不住。”
“我睡不著。”
“睡不著也得睡。”
婁曉娥的語氣軟,但話裡沒一點商量的餘地。
“你現在就回去泡個熱水澡,
然後抱著安國和念慈睡一覺。甚麼都別想。”
“我跟你打賭,等你睡醒腦子一清楚,法子自己就蹦出來。”
林衛國看著妻子,那雙眼睛裡的堅持讓他沒法拒絕。
或許,她說的沒錯。
自己現在需要的不是更多的計算,而是一個放空的腦子。
......
回到幹部小區的家裡,天剛矇矇亮。
陽光從窗戶照進來在地板上鋪開一層暖色。
兩個剛學會走路的小傢伙林安國和林念慈,
正坐在地毯上跟一堆積木較勁。
林衛國拖著兩條跟灌了鉛一樣的腿推門進來。
“爸爸!”
還是女兒林念慈的眼睛尖,
第一個看見他奶聲奶氣地喊一句,
張開小手就搖搖晃晃撲過來。
林衛國的心一下就被這軟糯的聲音給化開。
然後蹲下身一把把女兒抱進懷裡。
小丫頭身上那股好聞的奶香味,
混著陽光的味道,比甚麼藥都管用。
他繃了兩天兩夜的神經,終於鬆下來。
“念慈,想爸爸沒?”
“想……”
小丫頭摟住他的脖子在他臉上啃一口。
另一邊的兒子林安國畫風就完全不一樣。
他只是抬眼皮瞥了老爹一下,
又低下頭繼續擺弄手裡的“大工程”,
他要搭一個全世界最高的塔。
他小眉頭擰著,屏住呼吸,
小心翼翼把一塊積木往另一塊上面放。
可地基沒打牢,那座“高塔”晃悠兩下,
“嘩啦”一聲塌個乾淨。
“哇——”
林安國看著一地的碎木頭塊小嘴一癟,
哭聲震天響,嗓門又亮又足,
感覺屋頂的灰都要被震下來。
“不哭不哭,安國最勇敢。”
婁曉娥趕緊從廚房跑出來,
把兒子抱起來拍著後背哄。
林衛國看著這場景,居然笑出聲。
這臭小子的牛脾氣真是一點沒浪費,全隨我。
不撞南牆不回頭,一碰釘子就炸毛。
他走過去從妻子懷裡接過還在抽抽搭搭的兒子,
自己也一屁股坐到地毯上。
“安國,看這兒,搭東西不能急。”
他一邊說,一邊拿起幾塊最大的積木,
在地上擺出一個四四方方的底座。
“第一步得先把根基打穩。你看這樣是不是就不晃?”
然後他拿起一塊小些的積木遞給兒子。
“來,你放。”
林安國看看爸爸搭好的底座,
又看看手裡的積木,半信半疑地把積木放上去。
嘿,還真穩當。
“對,就這麼幹。”林衛國又遞給他一塊。
“一層一層地往上加。放上面這塊之前,
一定要等下面那塊站穩當才能動手。”
林衛國很耐心地一塊一塊地教著兒子。
他自己都沒發覺,
他的腦子已經從那些要命的電路和演算法裡徹底拔出來,
全神貫注地盯著眼前這堆木頭塊。
他的大腦進入一種近乎放空的狀態,得到真正的休息。
就在他把最後一塊積木輕輕放到塔頂的時候。
一道念頭像閃電一樣在他腦子裡劃過!
等一下!
一層,一層……
等下面那塊放穩才能放上面這塊……
這……這不就是“握手協議”?
這不就是“非同步邏輯”最根本的想法嗎!
我之前為甚麼會失敗?
因為我太貪心了!
我讓ADC、加密、邏輯控制這幾個“工人”一塊兒上,
還指望他們步調一致。
結果呢?全擠成一鍋粥,
誰也幹不好活最後路都堵死!
可如果……
如果我不讓他們同時幹呢?
如果我讓他們像搭積木一樣排好隊,
一個幹完下一個再上呢?
林衛國的呼吸一下就急促起來。
“流水線!”
對!就是流水線!
把整個資料處理的過程拆成幾個獨立的“工位”。
第一個工位ADC就管取樣。
它採完一次就把資料扔給第二個工位,
然後立馬回頭幹下一次的活,根本不用管後面怎麼樣。
第二個工位加密單元,
它從第一個工位手裡拿資料算自己的加密。
算完再把結果扔給第三個工位。
第三個工位輸出單元,就管把加密完的資料打包發出去。
每個工位都在自己的節奏裡幹自己的活。
它們之間用不著那些複雜的實時“握手”,
只要一個簡單的“先進先出”快取佇列(FIFO)傳東西就行!
這不就跟軋鋼廠的流水線一個道理!
鋼坯從一頭進去經過一道道工序,從另一頭出來就成了鋼材。
每個工人哪需要知道整個流程,他只要把自個兒手裡的活幹好!
這種結構是會多出幾個固定週期的延遲。
但是!
它的“吞吐率”卻是最高的!
因為任何一個時候三個工位都在幹活,
只不過它們處理的是不同階段的資料!
這點延遲對人說話來講只要控制在幾十毫秒裡頭,
耳朵根本就聽不出來!
這個法子完美繞開那個要人命的“全域性同步”大坑!
它對硬體的要求也一下就降到最低!
“我真是個笨蛋!我怎麼現在才想明白!”
林衛國一拍大腿從地上彈起來。
他把懷裡還一臉發懵的兒子往婁曉娥手裡一塞。
“曉娥,飯不吃!我必須馬上回研究所!我想到了!我想出辦法!”
說完他轉身就往門外跑,腳上的拖鞋都差點穿反。
“哎,你……”
婁曉娥看著丈夫那副瘋瘋癲癲的樣子,
無奈地搖搖頭,嘴角卻翹起來。
那個甚麼都能解決的林總師又回來了。
當林衛國像一陣風衝回通訊研究所的實驗室時。
李部長和總工程師那幾個人正圍著桌子唉聲嘆氣,
一個個愁得跟霜打的茄子一樣。
“完了,我算了一晚上,
這非同步邏輯的時序補償就是個死結。”
總工程師揉著太陽穴,眼圈黑得嚇人。
“是啊,動一處,亂一片。改了這裡那裡又出問題。
這根本不是我們現在這點技術能解決的。”
“看來只能跟林總師彙報申請延長研發時間……”
李部長嘆口氣剛準備去拿電話。
實驗室的門“砰”一聲被人從外面撞開。
林衛國卷著一身風塵衝進來。
“誰說要延長?!”
他幾步衝到黑板前抄起粉筆,
看都不看屋裡的人,手底下龍飛鳳舞地畫起來。
“我們不搞那個甚麼狗屁的‘全域性同步’!我們玩‘流水線’!”
他一邊畫一邊用最快的速度,
把自己剛想到的“三級流水線結構”給吼出來。
從ADC取樣到FIFO快取,再到加密運算,最後到並行輸出……
整個實驗室裡只有他一個人的聲音,
和粉筆在黑板上“刷刷”的摩擦聲。
一開始那幫專家還聽得一頭霧水。
可隨著林衛國把整個資料流動的過程,
畫得越來越清楚。
他們的眼睛也瞪得越來越大,越來越亮。