首頁 分類 排行榜 閱讀記錄 我的書架
第479章 五芯架構

週一,呂辰到計算機所領取了任務。

同時提交了晶片的設計方案,經過理論組的研究討論,程式設計機最終採用了五晶片架構,透過匯流排連線,匯流排協議完全遵循崑崙工程的規則。

控制核心單獨一塊晶片,負責取指令、譯碼、執行控制流,是整個系統的大腦。

單獨放一塊晶片,可以集中最佳化控制邏輯,不受其他功能干擾。

運算核心又是一塊晶片,加減乘除、邏輯運算都在這裡完成。

與控制核心分離,讓運算單元“專芯專用”,提高效率。

呂辰覺得這有點CPU中“ALU獨立”的雛形了。

鍵盤輸入管理用一塊晶片,實行 I/O分離。

這個能理解,鍵盤掃描是典型的“慢速外設”,需要不斷輪詢或中斷。

單獨用一塊晶片處理,可以讓控制核心不用被鍵盤拖累。

輸出和顯示管理一塊,讓顯示驅動獨立。

熒光管陣列需要動態掃描重新整理,佔用的時間和邏輯不少。

單獨一塊晶片處理顯示,符合“外設解除安裝”的工程原則。

最後是實行儲存分離,因此暫存儲存器是塊獨立的晶片。

這個年代畢竟暫存器數量有限,需要一個專門的“暫存區”來放中間資料。

用一塊晶片做SRAM陣列,比用暫存器堆划算得多。

這個方案的妙處有三。

首先就是模組化設計,讓晶片各司其職,五塊晶片透過資料匯流排、地址匯流排、控制匯流排連線,形成一個完整的微型計算機系統。

控制核心是“大腦”,運算核心是“算盤”,鍵盤和顯示是“手腳”,暫存是“草稿紙”。

分工清晰,邏輯嚴密。

其次是降低了單晶片複雜度,提升良率。

在當前五微米工藝下,做一塊大晶片的良率可能只有20%,但做五塊小晶片,每塊良率能做到70%以上,五塊拼起來的總成本反而更低。

最後就是為後續的升級留下了餘地。

以後工藝進步了,可以把控制核心和運算核心整合到一塊晶片上,但鍵盤和顯示晶片可以繼續用老的,暫存晶片可以換容量更大的。

模組化設計的可擴充套件性,就這樣埋下了。

從計算所回來之後,呂辰直接把錢蘭和諸葛彪請到辦公室。

“任務下來了,程式設計機正式立項。咱們得把這五塊晶片的事定下來。”

錢蘭抬起頭:“五塊?”

“對。”呂辰從包裡拿出設計任務,放在桌上,“控制核心一塊,運算核心一塊,鍵盤輸入管理一塊,輸出顯示管理一塊,再加上儲存晶片一塊。一共五塊。”

諸葛彪湊過來看了一眼:“控制核心和運算核心分開?那資料怎麼傳?”

“匯流排。資料匯流排、地址匯流排、控制匯流排。控制核心發指令,運算核心算數,鍵盤和顯示各管各的,暫存資料放在儲存晶片裡。這個是崑崙工程定義的,完全遵循就好。”

錢蘭翻了翻任務表,眉頭微皺:“儲存晶片放在儲存組做,我還是不放心。”

呂辰看著她:“你的意思是?”

錢蘭斟酌著說:“這五塊晶片,控制核心、運算核心、鍵盤、顯示,這四塊咱們自己設計,自己流片。但儲存晶片靠別人給。萬一他們那邊卡了殼……”

諸葛彪若有所思:“有道理。備份一下?”

錢蘭點點頭:“我想親自帶人設計一塊儲存晶片。哪怕容量小一點,速度慢一點,只要能用,咱們手裡就有個底牌。儲存組那邊做出來了,咱們用他們的;做不出來,咱們自己頂上。”

呂辰笑道:“錢師姐,你這是要把自己累死。”

錢蘭道:“累不死,第八組30個人呢,分一兩個人給我就行。”

呂辰點點頭:“那咱們先把分工定下來。控制核心我來牽頭,運算核心和鍵盤輸入管理彪子你來,錢師姐你負責輸出顯示管理和暫存。”

諸葛彪把煙掐了:“行,運算核心和鍵盤輸入都只需要在紅星二號上擴充套件,相對輕鬆。”

錢蘭也點點頭:“儲存晶片和顯示驅動,兩邊不衝突。顯示驅動相對簡單,主要是字元發生器和掃描重新整理,我帶著人做就行。”

三個人又討論了半天,把每塊晶片的基本功能、介面定義、需要用到哪些標準單元,一項一項列了出來。

中午吃完飯回來,三人直奔第八組。

第八組的辦公室,已經坐滿了人。

三十來個年輕人,有趴在桌上畫圖的,有圍在一起討論的,有幾個正對著黑板上的公式發呆。

靠窗的一張桌子旁邊,坐著一個戴眼鏡的年輕人,頭髮梳得一絲不苟,正低頭看著甚麼。

聽見腳步聲,他抬起頭,看見呂辰,站起來笑了笑。

“彪子、蘭姐、呂辰,你們來了?”

這是曾祺,比呂辰大兩屆的師兄,北大數學系的,是星河計劃尖兵組的元老,也是第八組有組長。

話不多,但腦子特別清楚,邏輯性強,帶隊伍也有一套。

“曾師兄。”呂辰走過去,“人都到齊了?”

“齊了。”曾祺掃了一眼屋裡,拍了拍手,“大家停一下,來活了。”

屋裡安靜下來,所有人都看向呂辰三人。

呂辰走到屋子中間,清了清嗓子:“各位,咱們第八組接下了一個活,程式設計機專案。這個專案是‘崑崙工程’的一部分,具體幹甚麼,曾師兄應該已經跟你們說過一些。今天咱們把任務分下去。”

他拿起粉筆,在黑板上畫了一個草圖。

“整個系統,需要五塊晶片。控制核心一塊,運算核心一塊,鍵盤輸入管理一塊,輸出顯示管理一塊,儲存晶片一塊。”

他在五塊晶片下面各畫了一條線。

“控制核心,我來牽頭。運算核心和鍵盤輸入管理,諸葛師兄牽頭。輸出顯示管理和儲存晶片,錢蘭師姐親自負責。”

他看著所有人:“這五塊晶片,從哪兒開始做?從標準單元庫下手。咱們的第一卷單元庫,有四百二十七個單元,與非門、或非門、觸發器、計數器、譯碼器,全都有。咱們要做的,就是把這些單元像搭積木一樣拼起來。”

他頓了頓:“單元庫裡有的,直接用。單元庫裡沒有的,自己設計,畫版圖,然後補充進單元庫。這是規矩。”

曾祺點點頭,轉過身看著屋裡那些人:“那咱們分一下組。”

他開始點名。

“第一小隊,控制核心。周建國、大張海、高函、趙保成、孫明樟、羅燕。你們六個,跟著呂工。”

被點到名的幾個人點點頭,往呂辰那邊靠了靠。

“第二小隊,運算核心。陳曉、周敏、陸明遠、吳大志、孫小軍、趙亮。你們六個,跟著諸葛師兄。”

“第三小隊,鍵盤輸入管理。小張海,鄭強、劉偉、王軍、李華、張明。你們六個,也跟著諸葛師兄。”

“第四小隊,輸出顯示管理。孫麗、李娟、王芳、趙敏、陳紅、周梅。你們六個,跟著錢師姐。”

“第五小隊,儲存晶片。劉剛、楊光、王磊、李勇、張峰、趙雷。你們六個,也跟著錢師姐。”

三十個人,五個小隊,每隊六人,整整齊齊。

曾祺自己沒給自己安排位置,呂辰看了他一眼:“曾師兄,你呢?”

曾祺笑了笑:“我查缺補漏。哪個組遇到難題,我過去幫忙。方案銜接、介面定義、匯流排協議,我來盯著。”

呂辰心裡讚了一聲。這個安排,有水平。

分隊完畢,眾人各自找地方坐下。

呂辰帶著第一小隊的六個人,佔了一張大繪圖桌。

他拿出一個紙,開始細講:“控制核心,是整個系統的大腦。它要做幾件事:第一,取指令,從儲存晶片裡把微程式指令讀出來。第二,譯碼,分析這條指令要幹甚麼。第三,發控制訊號,告訴運算核心、鍵盤、顯示,該幹活了。”

他拿起鉛筆,在紙上畫了一個簡單的框圖。

“內部架構,我打算用累加器結構。程式計數器、指令暫存器、累加器、狀態暫存器、微程式控制器。微程式控制器是關鍵,它裡面有一個控制儲存器,放著咱們的微程式。開機就載入,一直執行。”

周建國舉手:“呂工,微程式控制器怎麼做?”

呂辰說:“用只讀儲存器陣列。把微程式固化在裡面,一次寫好,永遠不變。這個可以用儲存晶片的技術來做,但容量不需要太大,幾十個字就夠了。”

大張海問:“那咱們現在幹甚麼?”

這一個組裡就有兩個張海,為了區分,分別在名字前面加上大小。

呂辰說:“先做邏輯設計。把控制核心拆成一個個模組:程式計數器、指令暫存器、累加器、算術邏輯單元、微程式控制器。每個模組,先看單元庫裡有沒有現成的。有,直接用;沒有,自己畫版圖。”

他頓了頓:“模組設計完了,拼起來,模擬。模擬過了,送流片。”

六個人點點頭,開始翻單元庫手冊。

隔壁桌,第二小隊的人圍在一起,諸葛彪正對著運算核心的草圖講解:“運算核心,主要做算術邏輯運算。加法、減法、與、或、異或、移位。咱們翻翻單元庫手冊,用加法器、乘法器、邏輯閘,拼成一個運算單元。”

陳曉問:“諸葛師兄,運算核心要不要有自己的暫存器?”

諸葛彪彪點點頭:“要。至少四個通用暫存器,用來放運算元和中間結果。這個可以用觸發器陣列做,單元庫裡有。”

他頓了頓:“加法器用全加器級聯,八位加法器需要八個全加器。單元庫裡有FA型,直接用。暫存器用FD型觸發器,也是現成的。咱們先把邏輯圖畫出來,然後過一遍。”

陳曉點點頭,帶著人開始畫圖。

諸葛彪站在旁邊看了一會兒,確認他們上手了,才轉身去下一組。

來到第三小隊,小張海對著鍵盤輸入管理的草圖和其他隊員們商量:“鍵盤輸入管理這塊,相對簡單。主要功能是掃描鍵盤矩陣,檢測哪個鍵按下了,產生中斷訊號,把鍵碼發給控制核心。”

諸葛彪插話道:“小張海說的對,這玩意兒說白了就是矩陣掃描加編碼。六十四個鍵,八乘八矩陣,行掃描,列檢測。按下去,編碼,發中斷。”

鄭強問:“諸葛師兄,中斷怎麼處理?”

諸葛彪說:“簡單。按一下鍵,發一個脈衝。控制核心收到脈衝,就知道該讀鍵碼了。然後咱們把鍵碼放到資料匯流排上,控制核心來取。”

正說著,曾祺拍了拍手,大聲音強調了一下匯流排:“崑崙工程的匯流排協議是現成的。咱們這五塊晶片,要完全遵循崑崙工程的標準,將來和崑崙機對接也方便。”

強調完,大家繼續討論。

第四小隊那邊,孫麗正帶著人討論顯示驅動:“顯示一行二十四個字元。每個字元,用七段數碼管那種思路,但要有字元發生器,能顯示字母和數字。”

她翻著資料,“這是紅星二號的顯示電路,可以參考。”

李娟問:“字元發生器怎麼做?”

孫麗說:“用只讀儲存器。把每個字元的點陣存進去,給字元碼,輸出對應的段訊號。容量不大,幾十個字就夠了。”

錢蘭走過來看了一眼:“思路對。你們先把字元發生器的邏輯圖畫出來,儲存單元用單元庫裡的ROM陣列。有問題隨時找我。”

說完,她走到第五小隊那邊。

劉剛抬起頭:“錢師姐,這個六管單元,咱們是自己畫,還是用單元庫裡的?”

錢蘭說:“單元庫裡有沒有現成的?”

劉剛翻著手冊:“有觸發器陣列,但那是幾位拼起來的,不是單個的儲存單元。”

錢蘭想了想:“那就自己畫。六管單元是儲存晶片的基礎,畫好了,後面的陣列就好辦。”

她拿起筆,在草圖上畫了一個簡單的結構。

“兩個交叉耦合的反相器,存一位。兩個門管,控制讀寫。再加兩個管子做緩衝。一共六個管子。”

楊光看著草圖:“這個畫起來有點複雜。”

錢蘭說:“但這是基礎。單元設計得好不好,直接影響整個晶片的良率。咱們不著急出結果,先穩紮穩打。單元設計,模擬,最佳化,反覆幾遍,直到滿意為止。”

劉剛點點頭:“明白。”

傍晚的時候,呂辰從繪圖桌前站起來,活動了一下脖子。

第一小隊的邏輯設計,已經搭出了基本框架。

程式計數器、指令暫存器、累加器、狀態暫存器,都有眉目了。

最難的是微程式控制器,控制儲存器的設計,還需要再琢磨。

他走到窗邊,點了一根菸。

窗外,夕陽把整個研究所染成金黃色。

主樓的灰牆在夕陽下泛著暖光,遠處的煙囪冒著白煙。

諸葛彪湊過來,也點了一根菸。

“第一小隊怎麼樣?”

“還行。”呂辰吐了一口煙,“控制核心的框架搭起來了,微程式控制器還得再想想。控制儲存器用只讀儲存器陣列,這個思路對,但具體的微指令格式、控制訊號的編碼,還得細摳。”

諸葛彪點點頭:“控制核心是最難的,全部都要從零設計。像鍵盤掃描,就是矩陣加編碼,沒甚麼難的,明天應該能把邏輯圖畫完。運算核心難一點,但也就是在HX-2A的基礎上拓展。”

呂辰笑了笑:“你那兒簡單,錢師姐那兒可不輕鬆。又要管顯示,又要做儲存晶片。”

諸葛彪看了一眼錢蘭那邊,她正趴在繪圖桌上,跟第五小隊的人討論著甚麼,頭髮垂下來,遮住了半邊臉。

“錢師姐心細。”諸葛彪說,“做備份是對的,萬一儲存組那邊掉鏈子,咱們手裡有底牌。”

呂辰點點頭。

這時候,曾祺走過來,手裡拿著一疊紙。

“呂辰、諸葛,崑崙工程的匯流排規範我影印好了。各組一份,介面設計都按這個來。”

諸葛彪接過翻了翻:“有崑崙工程在前面趟路,咱們省了不少事。”

曾祺點點頭,看了一眼屋裡那些還在忙碌的人。

“今天第一天,大家狀態不錯。”

呂辰點點頭:“這批人,底子好,上手也挺快。”

曾祺笑了笑:“都是崑崙工程逼出來的,錯不了。”

窗外的夕陽慢慢沉下去,天邊泛起暗紫色。

屋裡的人還在忙碌,圖紙一張一張地畫,單元庫手冊一頁一頁地翻。

五塊晶片,三十個人,剛剛起步。

A−
A+
護眼
目錄