第145章 陳萱的邀請

小服務員給弄來的這套漁具相當有檔次。

用具一應俱全:釣竿、水兜、魚簍、小笊籬、魚餌……

居然還有個小摺疊凳。

江寒謝過小服務員,拿着這些東西,來到中央魚塘處。

在岸邊選了個沒人的地方,架好魚竿,就開始閉目養神。

當然,其實是進入了虛擬空間。

閒着也是閒着,不如做點事情。

上次做的算數邏輯單元,還有幾個地方,必須完善一下。

比如,其中的加法器部分,當時並沒有考慮執行效率的問題。

當進位從低位向高位,逐一傳遞時,可能會產生很高的延遲。

江寒通過看書,找到了一種解決方案。

這種被稱爲“進位預測(carry look-ahead)”的技術,通過特殊設計的邏輯電路,能有效地緩解進位延遲問題。

江寒按照資料中的講解,將原本的ALU改造了一下。

測試後,效果還算令人滿意。

附帶一提,這個ALU並沒有實現乘除法和浮點運算。

並不是不需要,而是如果一切都用硬件來實現,電路會過於複雜。

ALU是和操作系統搭配工作的,一個計算機系統能做多少事情,由二者共同決定。

在設計ALU時,硬件上需要實現多少種功能和操作指令,本質上是個性價比問題。

如果爲了性能,應該儘可能用硬件來實現所有的算數運算和邏輯運算。

但這樣做,成本太高昂了。

江寒權衡再三後,決定現階段只實現基本的算數和邏輯,剩下的部分交給操作系統,用軟件的方式解決。

接下來,江寒打算實現一個存儲系統。

計算機不僅要能做計算,還應該能根據需要,存儲、讀取數據。

wWW✿тт kan✿C 〇

計算機中的數據,都是以二進制來存儲的。

其中比較特別的,是機器指令代碼。

其實,在馮諾依曼體系中,指令也被看做一種數據,特殊的、可執行的數據。

這也就是存儲程序的概念……

計算機中的存儲單元,無論是寄存器,還是內部存儲器,通常都是由時序電路組成的。

時序電路的實現,其實並不算特別複雜,本質上就是個週期性電信號的處理。

但如果考慮到同步、時鐘、反饋等一系列問題,就稍微有點麻煩了。

江寒照舊將大任務分解成小模快,,然後從最基本的地方入手。

首先,要實現一個“觸發器”。

如果說ALU的基本部件是“與非門”,那麼時序單元的基本部件,就是“觸發器”。

工程實踐中,“觸發器”有多種設計方案。

江寒選用的,是最常用的,也是比較簡單的“D觸發器”(Data Flip-Flop),簡稱DFF。

此類“觸發器”通常包括4個“與非門”,並提供1個輸入管腳,一個輸出管腳,通過“反饋迴路”來連接基本的邏輯門。

大多數計算機系統裡,都是採用振盪器來實現時鐘信號。

用連續的交變信號序列,來表示時間流逝。

所謂交變,就是電信號從高到低,在從低到高,反覆循環。

用數字來表示,就是0-1-0-1-0-1……

每兩個波峰之間的間隔,稱之爲1個“時鐘週期”。

現代個人電子計算機的時鐘頻率,通常高達每秒鐘幾十、幾百甚至幾千兆赫!

計算機系統通過時序信號,來整體協調各個部件的運行。

“觸發器”根據主時鐘信號的連續交變,將前一個時鐘週期的輸入,當做當前時鐘週期的輸出。

這個過程可以用out(t)=in(t-1)來描述。

江寒用4個與非門打造出D觸發器後,又在其基礎上實現了“二進制存儲單元”。

這是隻能存取、記憶1個二進制位的小裝置。

包括一個輸入、一個輸出,和一個負責寫操作的load接口。

別看它小,可是構成寄存器和內存陣列的基本結構。

根據out(t)=in(t-1)的設計需求,D觸發器的輸出必須反饋到輸入。

但簡單的將輸出信號傳送給輸入端,肯定是行不通的。

必須通過合理的設計,才能讓其正確工作。

比如加裝一個“多路轉換器”,用它的“選擇位”作爲寄存器的“加載位”……

D觸發器的設計,保證了輸出變化僅發生在兩個時鐘週期之間的切換點上,而不會發生在時鐘週期內部。

這樣,即使時序邏輯電路在時鐘週期內出現不穩定,也不會影響輸出的準確性。

只需要保證在下一個時鐘週期開始時,輸出準確無誤的數值就可以了。

這種“離散化”的特性,對於保證計算機系統的同步協調十分重要。

比如,要讓ALU計算兩個數A與B的和。

假設A所在的RAM寄存器,距離ALU很近,而B所在的RAM寄存器,距離ALU較遠。

由於物理條件的限制,比如電阻、干擾、信號噪聲或者其他隨機因素,A、B信號也許無法同步到達ALU。

爲了不讓運算結果出錯,就要保證:在一個時鐘週期內,ALU輸出的結果,能到達最遠的RAM寄存器。

這樣才能將互相獨立的一系列硬件,同步成一個協調、統一的整體系統。

江寒耗費了一點腦細胞後,終於將“二進制單元”搞定。

接下來,就可以大展拳腳了。

只要做出一個二進制單元,就能很容易地做出n位寄存器。

只要將n個一模一樣的二進制單元,有機地組織在一起,就能構建出n個“比特門”。

然後將此寄存器的load信號,賦予每個“比特門”,就可以批量存取數據了。

通常用8個“比特門”,來實現一個字節的數據存取。

若干個字節組織在一起,又可以構成任意位寬的寄存器。

比如江寒打算實現的,就是一個由4個字節組成的32位寄存器。

每個寄存器存儲的位寬,也叫“字長”,若干個寄存器組織在一起,就形成了“寄存器組”。

江寒設計的寄存器組,由8個32位寄存器組成。

接下來,是“存儲塊”,也就是俗稱內存的RAM(隨機讀寫存儲器)。

這種內存在設計上,要求不管存儲單元的物理位置在哪裡,ALU都能花費基本相同的時間,直接訪問。

設計的時候,先給RAM的每個記憶單元,分配一個地址,然後構建一個由N個寄存器組成的陣列。

再構建一個邏輯門,使其通過地址訪問到對應的記憶單元……

典型的RAM接受三種輸入值:數據、地址和加載位。

RAM設計起來不容易,但實現起來意外的簡單。

江寒先做出了一個字節的RAM,然後將其與空白圖紙一起賣掉。

得到圖紙後,就利用自動搭建功能,批量生產出大量“字節存儲單元”。

接下來,就可以組裝出任意規模的存儲陣列了。

江寒組裝了一個8個字節的存儲陣列,稱之爲RAM8,然後將其再次轉換成圖紙。

接下來,製作8組RAM8陣列,設計配套的電路,將其組合在一起,就成了RAM64。

重複上述過程,就打造出了RAM512、RAM4K、RAM16K、RAM64K……

“我去,這麼貴?”

前面還好,從4kb內存開始,自動構建功能的附加收費,就超過了元件本身的價格了。

但爲了節省時間,消滅錯誤率,還是得使用這個自動構建功能。

浪費點積分也是值得的。

反正積分來的容易,萬一不夠了,再多做幾臺無線電發射器也就是了……

第405章 身手很好,飯來張口第263章 一切都在算計中第297章 Py大法威力無窮第159章 想怎麼看,就怎麼看?第95章 再花5000也值第210章 爲了節目效果第194章 睡不着怎麼辦?第304章 不忘舊情,有恩必償第425章 街頭象棋第334章 比鬧鐘更早第47章 都選C第358章 27個學術點第61章 記憶和遺忘的生物學原理第9章 實名震驚第400章 不可逾越的高山第265章 羨慕使人質壁分離第66章 審覈過程第292章 江寒的靈氣與編程之道第211章 就當幫他們改進一下服務質量了第79章 李東的Show time第410章 六度分割理論?第85章 吊橋效應第398章 商用級手寫識別算法第168章 本能反應第88章 有點刺激第306章 就剩這麼幾個了第282章 又一顆壞蘋果?第409章 晨曦III巨型計算機第297章 Py大法威力無窮第73章 臭屁不過金少樓第176章 現學現賣第3章 一個大膽的想法第166章 意外的變化第140章 虛驚第115章 無線電發射器第256章 擴展歐幾里得算法,以及增強線段樹第360章 造了什麼孽?第378章 用詞精準第88章 有點刺激第274章 申請PCT國際專利第417章 江寒的圍棋水平第294章 峰迴路轉,轉了又轉第167章 提醒還是邀請?第193章 這也太考驗人了吧?第378章 用詞精準第316章 順藤摸瓜第392章 深度卷積神經網絡第417章 江寒的圍棋水平第414章 蚊子再小也是肉第402章 讀書之樂,臨行之前第164章 不會被下藥吧?第411章 不可不防,防不勝防第209章 校服就是最正式的裝扮第209章 校服就是最正式的裝扮第125章 我有一個同桌第310章 唯一的破綻第199章 大功告成第331章 揹着媽媽偷吃第128章 被傳染了怎麼辦?第308章 敬可愛又無常的命運第165章 看誰先慫第67章 異或問題第317章 爲什麼偏偏是那串數字?第302章 聳人聽聞,觸目驚心第55章 委託第161章 論腦補,只服你第39章 這可能是個誤會第412章 小女盆友,青梅竹馬?第85章 吊橋效應第173章 磨刀不誤砍柴工第424章 又一個冠軍到手第345章 意外連連第86章 蘇婉瑩的預測第225章 papa別鬧!第262章 貴有貴的道理第335章 不走尋常路第329章 拋棄框架,從零開始造輪子第80章 碰碰船和真人CS第113章 刷分的可能性第335章 長痛不如短痛第140章 虛驚第133章 過去的自己,以及自己的過去第218章 爲人實在,夠給面子第80章 碰碰船和真人CS第32章 借MacBook一用第314章 旗鼓相當?大獲全勝!第379章 似真似幻,恍如隔世第318章 飛機點餐攻略第180章 想謙虛都沒地方謙虛第60章 費曼學習法第153章 眼氣誰呢這是?第46章 月考開始第312章 阱中有坑,坑裡有釘第384章 把知識“安裝”到大腦裡第296章 攪動風雲第194章 睡不着怎麼辦?第77章 多少次回眸第183章 成功的路上沒有僥倖第80章 碰碰船和真人CS第51章 任務分析
第405章 身手很好,飯來張口第263章 一切都在算計中第297章 Py大法威力無窮第159章 想怎麼看,就怎麼看?第95章 再花5000也值第210章 爲了節目效果第194章 睡不着怎麼辦?第304章 不忘舊情,有恩必償第425章 街頭象棋第334章 比鬧鐘更早第47章 都選C第358章 27個學術點第61章 記憶和遺忘的生物學原理第9章 實名震驚第400章 不可逾越的高山第265章 羨慕使人質壁分離第66章 審覈過程第292章 江寒的靈氣與編程之道第211章 就當幫他們改進一下服務質量了第79章 李東的Show time第410章 六度分割理論?第85章 吊橋效應第398章 商用級手寫識別算法第168章 本能反應第88章 有點刺激第306章 就剩這麼幾個了第282章 又一顆壞蘋果?第409章 晨曦III巨型計算機第297章 Py大法威力無窮第73章 臭屁不過金少樓第176章 現學現賣第3章 一個大膽的想法第166章 意外的變化第140章 虛驚第115章 無線電發射器第256章 擴展歐幾里得算法,以及增強線段樹第360章 造了什麼孽?第378章 用詞精準第88章 有點刺激第274章 申請PCT國際專利第417章 江寒的圍棋水平第294章 峰迴路轉,轉了又轉第167章 提醒還是邀請?第193章 這也太考驗人了吧?第378章 用詞精準第316章 順藤摸瓜第392章 深度卷積神經網絡第417章 江寒的圍棋水平第414章 蚊子再小也是肉第402章 讀書之樂,臨行之前第164章 不會被下藥吧?第411章 不可不防,防不勝防第209章 校服就是最正式的裝扮第209章 校服就是最正式的裝扮第125章 我有一個同桌第310章 唯一的破綻第199章 大功告成第331章 揹着媽媽偷吃第128章 被傳染了怎麼辦?第308章 敬可愛又無常的命運第165章 看誰先慫第67章 異或問題第317章 爲什麼偏偏是那串數字?第302章 聳人聽聞,觸目驚心第55章 委託第161章 論腦補,只服你第39章 這可能是個誤會第412章 小女盆友,青梅竹馬?第85章 吊橋效應第173章 磨刀不誤砍柴工第424章 又一個冠軍到手第345章 意外連連第86章 蘇婉瑩的預測第225章 papa別鬧!第262章 貴有貴的道理第335章 不走尋常路第329章 拋棄框架,從零開始造輪子第80章 碰碰船和真人CS第113章 刷分的可能性第335章 長痛不如短痛第140章 虛驚第133章 過去的自己,以及自己的過去第218章 爲人實在,夠給面子第80章 碰碰船和真人CS第32章 借MacBook一用第314章 旗鼓相當?大獲全勝!第379章 似真似幻,恍如隔世第318章 飛機點餐攻略第180章 想謙虛都沒地方謙虛第60章 費曼學習法第153章 眼氣誰呢這是?第46章 月考開始第312章 阱中有坑,坑裡有釘第384章 把知識“安裝”到大腦裡第296章 攪動風雲第194章 睡不着怎麼辦?第77章 多少次回眸第183章 成功的路上沒有僥倖第80章 碰碰船和真人CS第51章 任務分析