陳序年把筆記本收回來,翻到之前記錄程式指令規模的那一頁,在旁邊添了幾個數字。
(由於緩存原因,請用戶直接瀏覽器訪問 讀小說就上天天看小說,𝓉𝓉𝓀𝒶𝓃.𝓉𝓌超順暢 網站,觀看最快的章節更新)
「你原來寫的那版大概七百條,加上定標程式碼,差不多就是一千二百條。」
梁啟明閉了下眼又睜開,抓起了鉛筆。
「我重寫。」
重寫用了五天。
這五天裡梁啟明幾乎沒離開過計算室,他讓小周從宿舍把行軍床搬了過來,靠在牆角,上面鋪了一條毛毯。
困的撐不住了就趴在桌上睡半個小時,鬧鐘一響立刻爬起來接著寫,有時候鬧鐘還沒響他就醒了,盯著天花板發幾秒呆,又低下頭繼續。
小周和老李兩人輪班,一個幫著校對地址,一個幫著核對二進位制碼。
校對地址的工作量比寫程式碼還大,梁啟明重寫了記憶體分配方案,所有子程式的入口地址全部變了,呼叫關係要重新理一遍。
小周用一張大紙畫了一棵呼叫樹,貼在牆上,每改一處就用紅筆標註,改完再用藍筆確認。
何建軍守在打孔機旁邊,隨時準備上紙帶,梁啟明改一段程式碼,他就打一段,兩人之間的配合已經很默契。
念碼的語速越來越快,何建軍的手指跟的上。
有幾次梁啟明念到一半停下來,何建軍就等著,手懸在打孔機上方不動,等對方想清楚了再繼續念。
整個過程里何建軍從不催,也不問。
陳序年每天去看兩次進度,早上一次,晚上一次,每次過去都帶一個窩頭或者半杯熱水,放在梁啟明桌角。
梁啟明有時候根本沒注意到,等回過神來窩頭已經涼透了,水也涼了,陳序年也不說什麼,下一次去的時候把涼窩頭收走,再放一個新的。
第三天的時候碰到了一個棘手的問題。
定標程式碼里有一段迴圈,需要反覆讀取儲存器里同一塊區域的資料,讀一次、算一次、寫回去、再讀出來,這個過程對儲存器的時序要求很高,梁啟明在紙上模擬了好幾遍,總覺得在某些極端情況下可能出現讀寫衝突。
他去找陳序年討論。
陳序年看了時序圖,沉吟了一會兒,提了一個建議,在讀和寫之間插入兩個空指令周期,讓儲存器有時間完成前一次寫入的全部動作。
梁啟明回去改了,問題解決了。
第十二天,程式第一次完整跑通了小規模測試算例。
網格減半,徑向十格,軸向十五格,一百五十個網格點,程式從頭跑到尾,沒有崩潰,沒有溢位,紙帶輸出了一長串資料。
梁啟明和小周、老李三個人花了一整天時間,把資料翻譯成物理量,跟手算的抽查點逐一對照。
「十五個抽查點,十三個完全吻合,兩個偏差在千分之三以內。」
梁啟明把對照表放在陳序年面前。
陳序年掃了一眼那兩個偏差點的位置,都在邊界附近。
「邊界條件的離散精度不夠,網格加密之後會改善。」
他說。
「可以上正式算例了。」
「明天開始。」
梁啟明說完,忽然靠在椅背上,嘴巴張了張,沒說出聲,眼皮一合,當場睡了過去。
小周趕緊把他扶到旁邊的行軍床上,梁啟明倒下去就沒了動靜,鼾聲很響。
陳序年給他蓋了條毯子,走出計算室。
走廊里沒有人,主樓二樓的其他房間都黑著燈,只有計算室門縫裡漏出一道光。
在走廊里站了一會兒,聽見計算室里小周輕手輕腳收拾桌面的聲響,才轉身下樓。
穿過大院,回宿舍,推開門,林晚秋沒在。
灶台上放著一碗粥,蓋著紗布,旁邊壓著一張紙條。
「去醫務室值夜班了,你自己吃。鍋里還有半個窩頭。」
陳序年把粥端到桌前,揭開紗布,玉米面粥已經有些涼了,上面結了一層薄皮。
用調羹攪了攪,大口喝了幾口。
喝完粥,他坐在桌前,拿出筆記本翻到第七頁。
正式計算要連續執行十幾天,中間如果機器停機,程式就得從頭跑,何建軍那邊的電源模組能不能撐住連續運轉,心裡沒有十足的把握。
散熱也是個問題,鋁合金機箱在密閉的實驗室里連續執行,溫度會持續往上走,六月的天氣已經熱了,光靠機箱側面的自然對流散熱恐怕不夠。
他在筆記本上寫了兩行字:備用散熱方案,鼓風機外吹;電源模組連續工作溫升測試,至少預跑48小時。
寫完合上筆記本,關燈上床。
床單上還留著林晚秋身上淡淡的草藥味,陳序年側過身,把臉埋進枕頭裡。
正式計算的第一天是六月十七號。
梁啟明一早就把程式紙帶裝進了讀入裝置,六百個網格點的完整輸入資料也打好了孔,整整五盤紙帶碼在桌上。
「陳工,我把輸出改成了每隔五十步列印一次中間結果。」
梁啟明指著控制面板旁邊的紙帶輸出裝置。
「萬一中途停機,至少能從最近的存檔點重新開始,不用從頭跑。」
「考慮的周到。」
陳序年點頭。
梁啟明按下了執行鍵,控制面板上的指示燈開始有節奏地閃爍,儲存器驅動電路發出持續的低頻嗡嗡聲,紙帶讀入裝置噠噠噠地轉動。
前兩個小時一切正常。
陳序年守在機箱旁邊,每隔十五分鐘摸一次電源模組的外殼,溫度在緩慢上升,但還在安全範圍內。
第三個小時,何建軍從機箱後面探出頭來。
「陳工,電源電壓穩定,時脈頻率沒有偏移。」
「好。」
陳序年站起身,看了一眼窗外,六月的太陽曬的厲害,實驗室的窗戶朝西,下午的時候整面牆都會被曬熱。
「何建軍,你去後勤處找兩台鼓風機過來,對著機箱側面的散熱孔吹。」
「現在就要嗎?」
「現在,下午太陽曬過來,室溫會上去。」
何建軍擦了擦手上的油,出去了。
半小時後回來了,手裡拎著兩台鐵殼子的手搖鼓風機,臉色有些不好看。
「後勤處沒有電動的,只有這種手搖的。」
何建軍把鼓風機放在地上。
「要用的話,得有人一直搖。」
陳序年看著那兩台鼓風機,上面有鏽,搖把上包的膠皮也裂開了,拎起一台試了試,搖起來阻力不小。
「先放著,等溫度上來了再說。」
下午兩點,室溫開始攀升,機箱側板上的溫度貼片從三十五度變成了四十度,電源模組外殼摸上去已經有些燙手。
「鼓風機上。」
陳序年說。
何建軍和張國平一人抓一台,對著機箱兩側的散熱孔開始搖,手搖鼓風機的聲音很大,呼呼呼呼的。
兩個人蹲在機箱旁邊,沒搖多久衣服就濕透了,額頭上的汗直往下掉。
溫度貼片上的數字慢慢降了回來,四十度、三十八度,穩定在三十七度左右。
「不能停。」
陳序年說。
「誰累了就換人。」
王德明和李明遠也加入了搖鼓風機的行列,四個人兩兩輪換,每人搖二十分鐘休息二十分鐘,休息的人就坐在牆角喝水。
劉大壯第二天就來了,他看了看那兩台手搖鼓風機,二話沒說回了車間。
當天晚上,扛著一台鐵架子走進實驗室。
「腳踏式風扇。」
劉大壯把鐵架子往機箱旁邊一放。
「用腳踩踏板,帶動皮帶,皮帶連著風扇葉片,不用手搖了,踩就行。」
何建軍試了試,雙腳一踩,風扇呼呼轉起來,風力比手搖鼓風機大不少,而且雙手解放了,可以同時干別的。
「劉師傅,你這腦子……」
何建軍豎起大拇指。
「嗨,車間裡的老物件改改就行了。」
劉大壯拍了拍鐵架子上的灰。
「你們忙,我回去了。」
有了腳踏風扇,散熱的問題基本解決了。
但麻煩還是來了。
第六天凌晨兩點,機器突然停了,值夜班的小周發現控制面板上所有指示燈同時滅了,立刻跑去叫陳序年。
從宿舍趕到實驗室的時候,梁啟明已經蹲在機箱前面了,臉色很難看。
「自動停機保護。」
何建軍從機箱後面鑽出來,手裡拿著溫度貼片。
「電源模組溫度超過了六十度,保護電路切斷了主供電。」
「半夜三更怎麼會超溫?」
陳序年接過溫度貼片看了看。
「風扇停了。」
何建軍指了指腳踏風扇,踏板上空無一人。
「值夜班的小周打了個盹,腳從踏板上滑下來了。」
小周站在旁邊,臉漲的通紅,嘴唇哆嗦著說不出話。
陳序年沒有責怪他,連續好幾天值夜班,誰都扛不住。
蹲在機箱前,檢查了電源模組和各板卡的狀態,保護電路及時切斷了供電,硬體沒有損壞。
「梁組長,最近一次存檔是第幾步?」
「第三百步。」
梁啟明翻了翻紙帶輸出的結果。
「停機時程式正在跑第三百四十二步,中間四十二步的計算結果丟失了。」
「能從第三百步重啟嗎?」
「能,我把第三百步的資料重新裝進儲存器就行,但裝入資料本身要花半個小時,然後從第三百步重新跑到第三百四十二步,大約七個小時。」
「那就從第三百步重啟。」
陳序年站起身,轉頭看著何建軍。
「以後值夜班必須兩個人,一個人踩風扇,一個人盯機器,困了就換,誰都不准打盹。」
「是。」
何建軍和小周齊聲應道。
重啟花了八個小時,程式從第三百步開始重新執行,到中午十二點追回了進度。
此後十三天裡,機器又停了三次。
第二次是白天,原因是電源模組裡一隻濾波電容漏電,輸出電壓跌到了驅動電晶體的最低工作電壓以下,儲存器讀出錯誤。
何建軍拆開電源模組檢查,發現那隻電容的外殼已經鼓起來了,邊上還滲出了一點電解液。
從備件箱裡翻出一隻同規格的電容換上,重新測試,輸出電壓恢復正常,紋波也在允許範圍內,然後重啟。
第三次是夜裡,儲存器框架上一個接線端子鬆了,某塊子陣列的驅動訊號時斷時續。
張國平拿扳手擰緊了端子,他順便檢查了框架上其他所有端子,又發現兩個有鬆動跡象的,一併擰緊了。
第四次最危險。
第十一天下午,室外溫度飆到了三十六度,實驗室里更熱,兩台腳踏風扇滿負荷運轉,溫度貼片還是爬到了五十五度。
陳序年當機立斷。
「找人來幫忙,再加兩颱風扇。」
王德明跑出去喊人。
十分鐘後,機械車間的兩個青工扛著劉大壯緊急趕製的第二台腳踏風扇跑進來了,同時來的還有三個借調過來的工程師,每人手裡拎著一個鐵皮水桶。
「灌冷水,把桶放在機箱底下。」
陳序年指揮道。
「熱空氣上升,冷水吸熱,靠溫差幫忙散熱。」
三桶井水放在機箱下面,加上四颱風扇同時吹,溫度終於被壓回了四十度以下。
從那天起,實驗室里每天早上換一次井水,中午換一次,晚上再換一次,負責換水的是後勤處派來的兩個年輕人,每次扛著四桶水從院子裡的水井走到主樓,來回要走三趟。
第十三天早晨,紙帶輸出裝置吐出了最後一段結果。
梁啟明從裝置上撕下紙帶的時候,手在抖,把紙帶展開,鋪在長桌上,從頭到尾看了一遍。
紙帶上密密麻麻的孔位,排列的整整齊齊。
他和小周、老李三個人圍在桌前,拿著鉛筆和草稿紙,開始逐行翻譯。
二進位制轉十進位制,十進位制轉物理量。
溫度、密度、壓力、輻射通量,六百個網格點,八百個時間步,每個節點的資料都要翻譯出來。
翻譯用了整整兩天。
翻譯過程中他們發現有幾段紙帶上的孔位間距略有偏差,可能是打孔機在連續工作後精度下降了。
梁啟明讓小周把這幾段拿出來單獨核對,用放大鏡逐孔確認,確認無誤後才繼續。
翻譯完成後,梁啟明把資料整理成二十七項關鍵指標,抄寫在一份匯報材料上,拿著材料去找了錢忠國。
陳序年沒有跟去。
他在實驗室里守著機器,等梁啟明回來。
這台機器已經連續運轉了十三天,各處的螺絲、端子、接線都經受了長時間震動和熱脹冷縮的考驗。
繞著機箱慢慢走了一圈,用手背試了試各個部位的溫度,又檢查了一遍電源模組的輸出讀數。