星河計劃被接管以後,對於紅星所來說,其實沒甚麼區別。
這本就不是甚麼新鮮事。
紅星所從成立那天起,就涉及國防軍工,大門外站的從來都是軍人,進出查三證一天沒斷過。
6305廠破土動工那會兒,保衛就換成了現役部隊,荷槍實彈,二十四小時巡邏。
驚雷專案組成立後,國防科委又派了代表駐所,辦公室就在三樓東頭,門上連個牌子都沒掛。
全所研究員早就被篩了好幾遍。
誰家幾口人,甚麼成份,社會關係清不清楚,有沒有海外關係,全在本子上記著。
呂辰早就是“絕對可靠”,最近那兩則登報宣告,又堵上了最後一點疑慮,這事兒就算翻篇了。
所以軍管不軍管的,對呂辰來說,該上班還是上班,該幹活還是幹活。
崑崙工程也和他沒甚麼直接關係。
架構是他提出來的沒錯,但那只是開始,動動嘴皮子的事。
真正把架構變成圖紙,把圖紙變成晶片,那是宋顏教授、吳國華的事,他們帶著積體電路實驗室好幾個小組在幹,呂辰完全插不了手。
甚至夏先生在會上親自定的崑崙-0機,其對積體電路實驗室也沒任何影響,因為晶片就是正在設計的KL-01主控核心,加上KL-PE01到KL-PE07那七塊運算核心。
這些事,積體電路實驗室的人在幹,計算機所在幹,理論組也在幹。
呂辰偶爾去聽聽進展,提幾句建議,但具體的事不用他上手。
這是宋顏教授的事,不是呂辰的事。
呂辰現在的主要身份是工程師和科研助教,核心職責是跨領域、跨專案的“救火隊長”與“技術催化器”。
他手頭正在帶的專案有三四個,除了《可程式設計邏輯控制器概念設計》,其他都是自動化方面的工作。
每天穿梭於實驗室、車間、會議室之間,解決最棘手的系統級問題。
又是一天清晨,陽光透過窗戶照進來,在辦公桌上投下一片金黃。
呂辰泡好一杯茶,拿起桌上的《人民日報》,翻到國際版。
頭條是一篇揭露美蘇太空合作真相的文章,標題很犀利:《美蘇兩霸勾心鬥角 太空“合作”純屬騙局》。
呂辰端著茶杯,一行一行往下看。
報道說,美聯社訊息,美國在佛羅里達州卡納維拉爾角頻繁發射衛星,這是“美帝國主義推行全球霸權、鎮壓民族解放運動的軍事需要”。“雙子星座”計劃,是為侵略戰爭服務的空中偵察與間諜活動。
另一邊,塔斯社發宣告,把蘇聯的“聯盟號”飛船和金星探測器計劃,定性為“轉移國內人民視線、掩蓋資本主義復辟真相的虛偽把戲”。勃列日涅夫上臺後,追隨美帝,鼓吹“和平共處”,實際上是在太空軍備競賽中跟美帝爭搶分贓。
報道最後總結:美蘇爭霸,反映的是“帝國主義陣營日益衰落、修正主義集團徹底背叛”。兩國無論誰在太空領先,都是在瘋狂掠奪科研成果,目的是更殘酷地壓迫本國人民,進行世界範圍的侵略。
最後一段寫得提氣:“與美國和蘇聯的窮兵黷武截然相反,中國發展尖端技術完全是為了打破超級大國的核壟斷和太空壟斷,服務於人民,並支援世界革命。”
報道下面配了一幅漫畫。兩個壯漢,一個戴著星條旗高帽,一個戴著蘇聯紅軍帽,在太空中扭打成一團。地面上,亞非拉人民高舉革命紅旗。標題寫著:兩霸相爭 革命得益。
呂辰正看得津津有味,門被推開了。
宋顏教授走進來,手裡拿著一摞圖紙,往他桌上一放。
“小呂,有個活。”
呂辰放下報紙,抬起頭:“宋教授,您說。”
宋顏在對面椅子上坐下,開門見山:“崑崙工程的程式設計機,劉教授在會上定了,由咱們我們所和計算機所牽頭。實驗室現在所有人都抽不開身,吳國華他們正趕崑崙機的晶片設計,謝凱忙驚雷專案,錢蘭和諸葛彪在設計鍵合機。算來算去,就你手上暫時沒專案。”
呂辰點點頭:“明白。甚麼要求?”
宋顏把那摞圖紙往前推了推:“這是計算機機所送來的技術需求,設計組這邊你負責,把總體的方案做出來,和計算機所對接,由他們跟據方案,把任務分給星河計劃各組攻關,積體電路實驗室還是負責晶片設計,總成也在計算機所。”
宋顏頓了頓:“夏先生親自點名,要你來做總體架構。”
呂辰接過來翻了翻。
密密麻麻的,列了很多需求,連微程式的指令格式、微操作定義、時序要求都寫了好幾頁。
宋顏繼續說:“人手方面,我已經叫諸葛彪和錢蘭暫時放下鍵合機的設計,再把第八組調給你們使用。三十個人,底子都不錯,你帶著他們好好練手。”
“三十個人?”呂辰愣了一下,“這麼多?”
“你以為呢?”宋顏站起來,“程式設計機看著簡單,牽涉的東西不少,這是積體電路實驗室的一次重要練兵,你們就是把系統架構搭出來,然後拆成模組,分下去。”
呂辰把那摞圖紙又翻了翻,心裡大概有了數。
“行。”他說,“甚麼時候開始?”
“現在。”宋顏走到門口,回過頭,“夏先生的意思,三個月內拿出方案,年底前做出樣機。崑崙-0明年要跑程式,不能等。”
門關上了。
呂辰坐在那兒,盯著那摞圖紙看了半天,然後端起茶杯,喝了一口。
茶已經涼了。
他站起來,走到窗前。
窗外是研究所的主樓,灰牆青瓦,樸素得不能再樸素。主樓後面,是工業陶瓷和冶金材料研究中心的廠房,大煙囪正往外吐著白煙。再往遠處,能看見6305廠那片正在施工的工地,塔吊矗立,人來人往。
呂辰把窗戶推開一條縫,四月的風灌進來,帶著一點煤煙味,一點青草味,還有遠處工地上隱隱約約的號子聲。
他點了一根菸,慢慢抽著,腦子裡開始轉。
程式設計機。
這詞兒擱後世,沒人知道是甚麼東西。
但在這個年代,這玩意兒是剛需。
當前計算機的指令,包括103、104系列,DJS系列都是用微程式實現的。
所謂微程式,就是把每條機器指令,拆成一串更底層的微操作。
比如一條“加法指令”,背後可能是“取指令→譯碼→取運算元→執行→寫回”這麼一串步驟。每一步,對應一條微指令。
編寫這些微程式碼,就是把複雜的指令邏輯,轉換成0101的二進位制序列。
這是一項極其繁瑣、極易出錯的工作。
最傳統的方法是用紙和筆,一條一條手寫,然後讓人工打到紙帶上。
但崑崙機不一樣,它是大型向量運算系統,需要的指令數量遠超任何計算機。
手寫?打到紙袋上?且不說效率,光是差錯就能把人逼瘋。
程式設計機要做的,就是把這個過程自動化,讓工程師用更“人友好”的方式輸入微程式。
目前流行的程式設計機,都是那種超大機櫃,一堆開關,無數訊號燈,加紙帶打孔機的樣式。將輸入的指令,由機器自動轉換成二進位制,打到紙帶上。
呂辰又看了看計算機所發來的這個技術需求,思路還是老一套。
不過呂辰畢竟是兩世人,見識過無數個人電腦,在他看來,這其實就是一個專用記事本,因此肯定不會再用老一套的辦法。
他腦子裡開始浮現出一個畫面。
一個機櫃,和後世電腦的機箱差不多大。
前面是一個鍵盤,按鍵密密麻麻,除了數字鍵,還有字母鍵、功能鍵。
鍵盤上方是一排熒光管陣列,不是單個的數碼管,而是一整排,能顯示一行字元。
機櫃側面連著一臺制卡機,和哈工大研發的那種差不多,能把資料打成二維卡上的孔。
工程師坐在機櫃前,用鍵盤輸入微程式。
用的是助記符,比如“LOAD R1, #5”。
輸入的內容實時顯示在熒光管上。
輸錯了,可以按刪除鍵改。
確認無誤後,按一下“制卡”鍵,機器自動把整段微程式轉換成孔位資料,制卡機開始工作,幾秒鐘後,一張二維卡就從機器裡“吐”出來。
工程師拿起那張卡,走到崑崙機的讀卡機前面,插進去,按啟動鍵。
崑崙機開始執行,微程式被讀入,指令開始執行。
呂辰睜開眼睛。
這個思路,可行。
他起身給自己倒了杯水,站在窗前,繼續往下想。
要實現這個思路,需要解決幾個核心問題。
第一是顯示,紅星二號用的是熒光管顯示,只能顯示數字和少量字元。
但程式設計機需要顯示字母、符號,至少得能顯示一行二三十個字元。
技術上,可以在原有驅動電路的基礎上,增加譯碼邏輯和字元發生器,讓熒光管能擴充套件出字元顯示功能,就是最好的方案。
第二是輸入,這個肯定用鍵盤。
紅星二號的計算器鍵盤只有數字鍵加少量功能鍵,十幾二十個按鍵。
但程式設計機需要更多的功能鍵,需要字母鍵,至少得六七十個按鍵。
鍵盤本身就是開關矩陣,增加按鍵只是增加矩陣的行列數,技術上沒難度。
第三是儲存,這是最大的挑戰。
程式設計機需要三類儲存:程式儲存器,存放微程式編輯軟體本身,大概需要幾KB;資料儲存器,存放使用者輸入的微程式程式碼,可能幾十KB;工作儲存器,臨時存放中間資料,幾百個位元組就夠。
儲存組正在開發的儲存晶片,雖然容量不大,速度不快,但只要能存住資料,就能用。
一片不夠就多片拼,總能拼出需要的容量。
第四是主控晶片,程式設計機需要一個核心,能執行編輯軟體,能控制鍵盤、顯示、儲存、外設。
這需要一塊比紅星二號更強大的晶片,但技術路線是一樣的:標準單元庫,手工畫版圖,五微米工藝。
在紅星二號的基礎上,增加一些指令,擴充套件一些功能,應該能做出來。
最後就是介面,程式設計機需要和制卡機通訊,還需要和崑崙機直接連線。
這需要專門的介面晶片,處理資料格式轉換和通訊協議。
呂辰把這些問題在腦子裡過了一遍,又過了一遍。
這東西能讓工程師能像用文字編輯器一樣寫微程式,雖說還叫程式設計機,但本質上,就是一臺專用的微型計算機。
只是它執行的不是通用程式,而是微程式編輯軟體。
這個思路,其實跟後世的個人電腦已經有點像了。
有輸入,有顯示,有儲存,能跑軟體,能輸出。
區別只在於,個人電腦是通用的,甚麼程式都能跑;程式設計機是專用的,只能跑微程式編輯軟體。
但架構是一樣的。
有了思路,就是寫方案了。
呂辰拿出一張紙,開始寫:
物理形態:專用機櫃,鍵盤輸入,熒光管陣列顯示,連二維卡制卡機或者直連崑崙。
儲存:用儲存晶片,放微程式程式碼。
控制核心:紅星二號級別晶片+儲存晶片,執行編輯軟體。
工作流程:
1. 開機,編輯軟體從儲存晶片載入。
2. 工程師用鍵盤輸入微程式,用助記符,如“LOAD R1, #5”。
3. 軟體實時轉換成二進位制,顯示在螢幕上。
4. 可以隨時修改、插入、刪除。
5. 確認無誤後,按“制卡”鍵。
6. 程式設計機自動把整段微程式轉換成二維卡孔位資料。
7. 制卡單元開始打孔。
8. 幾秒鐘後,二維卡“吐”出來。
9. 工程師直接把卡片拿到崑崙機讀卡機上,插進去執行。
寫完了,他放下筆,又看了一遍。
不錯。
他站起來,拿起草稿紙出了門。
來到錢蘭的辦公室,呂辰敲了敲門框。
錢蘭抬起頭,手裡拿著一幅機械設計圖。
“呂辰?”她放下圖紙,“你是來說程式設計機的事?”
呂辰走進去,在她對面坐下,把那張紙放在桌上。
“我大體上是這個想法,你幫我參詳一下。”
錢蘭拿起那張紙,看了半天:“你這個思路很大膽啊,不用開關矩陣,不用訊號燈,不用磁芯,不用紙帶機……,夏先生會同意?”
呂辰笑道:“就是找你們一起商量一下,只要可行性沒問題,夏先生不是食古不化的人。”
錢蘭點點頭:“這個方案的確對工程師很友好,鍵盤輸入更方便,顯示能讓工程師一直監視輸入過程,輸出用二維卡,比紙帶機方便太多了,這個思路實現了,效率能翻十倍。”
錢蘭又看了一會兒,琢磨道:“顯示和鍵盤,咱們都有基礎。紅星二號我們實現了顯示,雖然只能顯數字和少量字元,但只要擴充套件一下譯碼邏輯,加個字元發生器,就能顯字母。”
呂辰點點頭:“我也是這樣想的,鍵盤也是。紅星二號的鍵盤是數字鍵加少量功能鍵,咱們要的是字母鍵。鍵盤本身就是開關矩陣,增加按鍵只是增加矩陣的行列數。”
錢蘭拿起筆,開始畫起了草圖。
“顯示驅動晶片,要能接收二進位制資料,轉換成顯示訊號,驅動熒光管陣列。這個可以參考紅星二號那套電路,重新畫版圖。”
“鍵盤掃描晶片,要能掃描鍵盤矩陣,檢測按鍵,產生中斷。這個更簡單,就是矩陣掃描的電路。”
“儲存晶片……”
兩人正說著,門又被推開了。
諸葛彪走進來:“你們兩個都在,正好。宋教授讓我過來,說程式設計機的事。”
他看見桌上那張草稿,拿起來看了看,然後抬起頭。
“這是方案?”
呂辰點點頭。
諸葛彪盯著那張草圖看了半天,然後“嘖”了一聲。
“你這是要做個人電腦啊。”
呂辰心裡一跳。
諸葛彪沒注意他的表情,繼續說:“有輸入,有輸出,有儲存,有中央處理單元。這不是電腦是甚麼?”
他把草圖放下,點著煙,吸了一口。
“不過這思路對。程式設計機嘛,就是用來程式設計序的。用紙帶程式設計序,那是繞遠路。直接上鍵盤,上顯示,讓工程師能看見自己敲的是甚麼,這才是正路。”
他指著草圖上那幾個方塊:“主控晶片,用紅星二號改。顯示驅動晶片,錢蘭你來弄?鍵盤掃描晶片,我來。儲存晶片,找儲存組要。介面晶片,和計算機所那邊對接。”
錢蘭點點頭:“可以。”
呂辰說:“那咱們先把系統架構定下來。功能需求:要支援哪些編輯功能?顯示多少行?儲存容量多大?模組劃分:主控、顯示、鍵盤、儲存、外設介面,每個模組的職責和介面。技術路線:用幾塊晶片?用甚麼匯流排連線?”
他頓了頓:“最主要的是和計算機所、理論組對齊。確保輸出的二維卡格式和崑崙機相容。”
諸葛彪把煙掐滅,拿起筆,在草圖上又添了幾筆。
“晶片設計,咱們分工。”他說,“主控晶片,能執行編輯軟體。這個你最清楚,你來牽頭。”
呂辰點點頭。
“顯示驅動晶片,負責把二進位制資料轉換成顯示訊號,驅動熒光管。錢蘭你來?”
錢蘭點點頭:“可以。”
“鍵盤掃描晶片,負責掃描鍵盤矩陣,檢測按鍵。這個我來,簡單。”
“儲存晶片……”諸葛彪看向呂辰。
呂辰說:“我去找儲存組,我去問問進展,順便把需求提過去。”
“介面晶片,負責和制卡機通訊。”諸葛彪想了想,“這個得和哈工大一起搞。二維卡的標準是他們定的,制卡機的介面也是他們設計的。咱們得派人過去對接。”
呂辰點點頭:“我去協調。”
三個人又討論了半天,把任務一項一項分下去。
從錢蘭辦公室出來,已經快中午了。
呂辰站在走廊裡,點了一根菸,慢慢抽著。
陽光從走廊盡頭的窗戶照進來,在地上投下一片光影。
他慢慢走著,腦子裡還在轉。
主控晶片,用甚麼架構?簡單一點,就用累加器結構。
指令集不用複雜,能支援基本的算術邏輯運算、跳轉、記憶體讀寫就行。
關鍵是能執行編輯軟體。
編輯軟體要做甚麼?接受鍵盤輸入,把助記符轉換成二進位制,顯示在螢幕上,允許修改、插入、刪除,最後輸出到制卡機。
時鐘、復位、中斷、匯流排仲裁、地址譯碼、外設對映……
主控晶片要執行編輯軟體,編輯軟體是固定的,功能也固定,用微程式實現控制,比用硬佈線靈活,改起來也方便。
微程式控制,需要控制儲存器,可以用儲存晶片陣列做一個只讀儲存器。
編輯軟體是固定的,寫在只讀儲存器裡,一次寫好,永遠不變。
主控晶片內部,用微程式控制,執行固定的編輯軟體。
使用者輸入的微程式程式碼,放在可讀可寫儲存器裡……
呂辰深吸了一口,然後慢慢吐出來。
陽光很好,曬在身上暖洋洋的。
呂辰抬頭看了一眼天,藍得發亮,一絲雲都沒有。