何建軍蹲在機箱前,將三塊電源板逐一滑入卡槽,擰緊螺絲,他從工具箱裡抽出一卷粗號漆包線,把接地端子串聯起來,焊接到機箱底部的銅排上。
【寫到這裡我希望讀者記一下我們域名 天天看小說超順暢,𝚝𝚝𝚔𝚊𝚑.𝚝𝚠隨時看 】
他拿出萬用表,挨個量了一遍接地電阻,確認每個端子的阻值都在規定範圍之內。
「電源就位。」
「王德明,運算器板上架。」
王德明把第一塊運算器電路板推進卡槽,手指卡住板子的邊緣稍微晃了晃,確認接外掛咬合到位。
他擰緊四顆固定螺絲。
每顆正好三圈半。
多一圈板子可能翹曲,少半圈執行時可能因振動接觸不良,王德明擰的不快,但每一顆都嚴格按規程來。
六塊板子依次就位後,他從工具箱裡取出萬用表,開始測量板間聯結器的對應管腳。
「第二板到第三板進位線……通,第三板到第四板資料匯流排……通。」
他一邊測量一邊念出結果。
旁邊的李明遠在記錄表上逐項打鉤,六塊板子之間一共四十多個管腳需要逐一測通,李明遠的記錄表寫滿了兩頁紙。
第三天的工作是安裝儲存器。
張國平跪在地上,一塊一塊的把穿好的子陣列放進儲存器框架,每兩塊之間隔上一層薄銅板做遮蔽,十六塊子陣列加上十五層銅板疊起來有半尺多厚,他托著框架的手臂始終保持平穩。
全部安裝到位才直起身子。
他長出一口氣,後背的工裝已經被汗浸透了,活動了一下發僵的手腕,又趴下去檢查了一遍框架底部的固定螺栓。
前三天都是機械裝配。
麻煩從第四天才真正開始。
這一天要進行整機聯調,陳序年接通電源,在撥碼開關上輸入了一條最簡單的指令,把儲存地址0000的內容裝入累加器。
他按下執行鍵。
控制面板上指示燈依次閃爍,取指、解碼、取數,到取數這一步,累加器的十六盞燈全部暗著。
「儲存器沒讀出來。」
王德明湊過來看面板。
張國平蹲到儲存器框架旁邊,拿示波器探頭搭在驅動線上,螢幕上出現鋸齒狀的脈衝波形。
「驅動電流不夠,波形前沿上升太慢,磁芯還沒翻轉過來脈衝就結束了。」
陳序年先排除了電源問題。
又讓張國平量了第一塊子陣列的驅動管基極偏置電阻。
四百七十歐。
「改三百三十歐試試。」
張國平用烙鐵拆掉原來的電阻,換上新的三百三十歐電阻,焊好之後吹了吹焊點上的松香菸氣,再按執行鍵,示波器上的驅動脈衝前沿陡了不少。
累加器面板上亮了燈。
0000地址的內容被正確讀出。
但這只是十六塊里的第一塊。
接下來五天,張國平和王德明把十六塊子陣列的驅動引數逐一微調,每塊磁芯的特性有細微差異,驅動電流大了干擾相鄰磁芯,小了讀不出來。
有時候調好了一塊。
旁邊那塊又出毛病。
來回反覆的折騰。
期間燒了十一隻驅動電晶體。
每燒一隻,方培生就從備品箱裡遞一隻新的,臉上的表情從肉疼變成麻木。
「幸好孫工多備了三倍。」
方培生把第十一隻燒毀的管子扔進廢品筐。
十六塊全部調通後,陳序年開始測運算器和控制器的配合,加法、減法、邏輯與或、移位、條件跳轉,前十條全對。
到第十一條出了問題。
那是一條儲存器間接定址指令,先從一個地址取出另一個地址,再從新地址取出資料,兩次訪存之間,累加器的值莫名其妙的變了。
重複十次,六次對,四次錯。
「時序競爭。」
陳序年盯著面板上閃爍的燈。
「兩次訪存之間有一個時鐘周期的空隙,累加器鎖存訊號和儲存器選通訊號出現了重疊。」
王德明拿示波器接上兩路訊號,兩個波形疊在一起看,果然有一小段重疊區間,兩個訊號同時有效,累加器在不該被寫入的時候被灌了垃圾資料。
「改兩相非重疊時鐘。」
王德明自己提出了方案。
「把一個時鐘周期分成兩個不重疊的相位,奇數相干訪存,偶數相干運算,兩個相之間留出安全間隔。」
陳序年看了他一眼。
這方案他畫總體框圖的時候就考慮過,當時為了簡化選了單相時鐘,王德明能在除錯中自己摸到這個點,說明他不是照貓畫虎。
「你畫電路,何建軍改振盪器和分頻器。」
陳序年拍板。
改造花了四天。
拆舊電路,焊新電路,重新布線,調整各級閘電路的訊號接入相位,王德明畫的電路圖改了三版,前兩版在搭試驗板的時候發現訊號走線太長會引入雜散電容。
第三版重新調整了布局才過關。
換上兩相時鐘後,間接定址指令連續測一百次,全對。
但陳序年沒有放鬆。
他又跑了兩百條隨機指令序列,在第一百七十三條時又錯了,條件跳轉在特定資料模式下偶爾失靈。
查了三個小時。
鎖定原因了。
三條關鍵訊號路徑上電晶體批次不同,開關延遲有差異,在相位切換瞬間最慢那條路徑上的訊號還沒穩定就被取樣了。
解決辦法簡單。
三條路徑上各並聯一隻小電容做延遲匹配,C14等於22pF,C15等於15pF,C16等於10pF,焊上去,再跑兩百條隨機指令,問題消失。
第五周,全機連續執行老化測試。
一段已知結果的迴圈程式,設定無限重複執行,目標七十二小時不間斷零錯誤。
前二十四小時出了三次停機。
第一次虛焊。
方培生補了一焊。
第二次濾波電容漏電,何建軍換新的,第三次儲存器驅動線鬆了,張國平擰緊端子。
每次停機他們都在記錄本上寫清楚故障現象、原因和處理方法。
這是陳序年定下的規矩。
後四十八小時,沒有再停過。
第七十二小時整,陳序年按下停機鍵。
方培生從紙帶輸出裝置上撕下最後一段結果。
逐行核對。
「全對。」
實驗室里安靜了兩秒。
王德明率先拍了一下桌面,張國平和李明遠跟著叫了一聲好,何建軍蹲在機箱旁邊,手裡還攥著螺絲刀,咧著嘴直笑。
陳序年沒有急著表態,他走到控制面板前,低頭看了一眼機箱側板上的溫度貼片,又摸了摸電源模組的外殼,溫度正常,風扇轉速穩定。
七十二個小時。
這台機器扛下來了。
「下午兩點,全員到實驗室。」
陳序年直起腰,看著在場的人。
「正式運算測試。」
中午,陳序年去食堂打了兩份飯,一份端回了宿舍,林晚秋今天上午在醫務室給新來的青工做入所體檢,中午趕不回來。
他把飯菜用紗布蓋好,放在灶台上溫著。
自己三兩口扒完碗裡的棒子麵糊糊,啃了一個窩頭,喝了半杯涼白開,就往主樓走。
下午兩點。
實驗室里擠滿了人。
除了計算機組的王德明、張國平、李明遠,還有方培生、何建軍、梁啟明,梁啟明是帶著兩個年輕計算員一起來的,三個人手裡都抱著厚厚一沓草稿紙。
紙上寫滿了手算的驗證資料。
陳序年站在控制面板前,伸手撥動撥碼開關。
十六個開關,每一個對應一個二進位制位,他按照預設的測試方案,在撥碼開關上手動輸入了第一條正式計算指令。
將儲存地址0010中的數與儲存地址0011中的數相加,結果存入地址0012。
他的手指在最後一個開關上停了一下。
屋裡沒有人出聲。
陳序年按下執行鍵。
控制面板上的指示燈亮了。
取指燈亮,滅。
解碼燈亮,滅。
取數燈亮,滅。
運算燈亮,滅。
回存燈亮,滅。
整個過程不到一秒鐘。
方培生第一個撲到面板前,俯下身子,挨個讀地址0012上十六盞指示燈的狀態。
「1101010001001100。」
他從口袋裡掏出鉛筆頭,在手心裡飛快的把二進位制轉成十進位制。
嘴裡念叨著。
「十進位制,54604。」
梁啟明翻開手裡的草稿紙,上面提前寫好了驗算結果。
兩個預置的加數分別是27851和26753,他在紙上算過的結果正是54604。
「對。」
梁啟明的聲音比平時高了兩度。
陳序年沒有停,他在撥碼開關上連續輸入了十五組測試指令,加法、減法、邏輯與、邏輯或、左移位、右移位、條件跳轉、子程式呼叫,每一條指令執行完畢,方培生讀數,梁啟明對照手算結果。
十五組,全部正確。
王德明從工具箱裡翻出一段打好孔的紙帶,遞給陳序年。
「陳工,我提前編了一段迴圈程式,依次往4096個儲存地址里寫入資料,再逐個讀出來校驗,能跑一遍嗎?」
「上。」
陳序年接過紙帶,裝入紙帶讀入裝置。
紙帶噠噠噠的被機器吞進去,指示燈開始有節奏的閃爍,儲存器驅動電路發出細微的嗡嗡聲,紙帶輸出端開始吐出打了孔的結果帶。
二十分鐘後。
最後一段結果紙帶落下。
方培生和張國平一人抓著一頭。
逐行比對。
「4096個字,寫入讀出全部正確,無一錯誤。」
方培生把紙帶卷好。
塞進工具箱裡。
手都在抖。
梁啟明手裡的鉛筆掉在地上,他彎腰去撿,站起來的時候眼眶有點發紅。
他在手搖計算機前熬了多少個通宵,那些日子他自己最清楚。
以後再也不用二十個人輪班倒了。
何建軍從機箱後面探出頭來。
「陳工,散熱正常,電源電壓穩定,時脈頻率沒有偏移。」
陳序年點了點頭,轉身看著屋裡所有人。
「從今天下午開始,這台機器正式投入使用。」
陳序年說。
「梁組長,程式編寫的事,你來牽頭。」
梁啟明吞了口口水。
「陳工,我先問一句,輻射流體力學那套方程組,降維到二維軸對稱之後,600個網格點,四個物理量加三個中間變數,隱式格式每步要解一組稀疏線性方程,這個程式,你估計多少條指令能寫完?」
陳序年在腦子裡過了一遍程式結構。
「主程式加十幾個子程式,總共大概一千二百條左右。」
梁啟明倒吸了一口氣。
一千二百條機器指令。
全部手工編碼。
每一條都要翻譯成十六位二進位制數,再用打孔機打在紙帶上,中間任何一條指令的地址算錯了,程式就會跑飛。
「時間夠嗎?」
梁啟明問。
「三周。」
陳序年說。
「前兩周寫程式和除錯,第三周跑小規模測試算例驗證,你選兩個數學底子最好的人跟你一起干。」
「行。」
梁啟明把鉛筆往耳朵後面一別,回頭沖身後兩個年輕人招了招手。
「小周、老李,今晚開始加班,先把方程組的離散格式全部推導一遍,確認沒有錯誤。」
兩個年輕人互相看了一眼,齊聲應道。
「好。」
散了之後,陳序年在實驗室里多待了一會兒,他蹲在機箱前,用手電筒往裡照了照,檢查了幾處關鍵焊點和接線端子。
一切正常。
從實驗室出來,天已經擦黑了。
食堂的大鐘敲了六下。
陳序年穿過林蔭道往後排宿舍走,經過醫務室門口的時候,看見裡頭的燈還亮著。
他推開門探了一下頭。
林晚秋正坐在桌前,手裡拿著毛筆往一本厚厚的登記簿上抄寫體檢資料,桌上摞著一摞表格,旁邊放著一杯已經涼透了的白開水。
「還沒忙完?」
陳序年走進去。
「快了,就剩最後三個人的資料沒抄上。」
林晚秋抬頭看了他一眼,筆沒停。
「你今天臉色比昨天好看多了,是不是有好事?」
陳序年在她對面的凳子上坐下來。
「差不多。」
「什麼叫差不多?」
林晚秋一邊抄一邊問。
「到底是好事還是不好的事?」
「好事。」
「那就好。」
林晚秋沒有追問具體內容。
她在登記簿上寫完最後一個數字,把筆帽蓋好,伸了個懶腰。
「走吧,回去做飯,中午給你留的那份你吃了沒有?」
「吃了。」
「碗洗了沒有?」
陳序年頓了頓。
「沒來得及。」
林晚秋白了他一眼,站起身收拾桌上的東西。
「你就記得干你那些大事,碗放在那兒都能長毛了。」
兩人並排往宿舍走。
五月的晚風吹的楊樹葉子嘩啦啦響,院子裡的路燈還沒亮,只有主樓二樓幾扇窗戶透出白熾燈的光。