當前位置: 半夏小說 玄幻奇幻 重生學神有系統 第137章 聽鬆小院,好地方?

《重生學神有系統》第137章 聽鬆小院,好地方?

在計算機中,二進制數是以補碼的形式進行運算的。

這樣做的目的,是爲了用統一的方式,來進行有符號數的加減法運算,使得件複雜度最小化。

關於補碼的運算規則比較複雜,這裡不多展開。

江寒首先要實現的,是最簡單的“半加”。

其功能十分簡單,就是實現兩個二進制位的加法。

之所以“半加”,是因爲輸只有兩個,不考慮其他運算產生的進位。

它的兩個輸位,只允許傳兩個1位的二進制數:1或者0。

輸出的運算結果,也有兩個二進制位。

一個SUM位,表示“和”;另一個則是Carry位,保存著“進位”信息。

比如……

:【1,1】,則輸出【1,0】

:【1,0】,則輸出【0,1】

:【0,1】,則輸出【0,1】

:【0,0】,則輸出【0,0】

輸出中,前面的是Carry位,後面的是SUM位。

如果單看SUM位的取值,這不就是把輸進行了XOR(異或)運算的結果嗎?

再看Carry位,它的取值也很有規律,就是個AND(與)邏輯。

沒錯,就是這麼簡單。

只要將一個“異或門”,並聯上一個“與門”,一隻半加就做了。

Advertisement

做好了這隻半加後,江寒又將其改造了一下。

爲了減工藝難度,統一基本元件的種類,可以只用“與非門”,去實現所有的邏輯運算。

江寒很快就完了這個計劃。

畢竟一隻“半加”的構造,實在很簡單。

當然,這裡也可以使用“異或門”或其他什麼門,效果都差不太多,沒什麼本質的區別。

江寒試著將這隻半加扔進了“回收站”。

也不知道,這麼簡單的“半加”,到底值多積分?

結果沒什麼驚喜,只有可憐的1.6分,遠遠不能保本。

好吧,繼續改進。

接下來,江寒將“半加”改造了“全加”。

和“半加”相比,“全加”只多了一個輸位。

也就是說,輸端包含了3個二進制位。

之所以這麼做,是考慮到了來自其他數位的進位。

“全加”有多種設計。

最簡單的設計,可以用兩個“半加”,加上一個“或門”來實現。

多個“全加”級聯,就了“多位全加”,也“加法”。

隨後,江寒還實現了另一個基本運算件:“增量”。

“增量”的功能只有一個,給輸的數據加1。

隨後,在以上工作的基礎上,就可以打造出可運算n位二進制數的“加法”了。

Advertisement

但在實現之前,江寒再次打開“商品列表”,買了幾張“空白圖紙”。

這玩意是他前幾天翻閱元件列表時,無意中發現的。

其功能也很簡單。

將其與任何作品一起回收,系統都會自對應的圖紙,並將其收納於【圖紙列表】中。

說實話,江寒對這個功能還是欣賞的。

儘管要多花一些積分,但至省了手繪圖紙的麻煩。

江寒將一隻“與非門”和空白圖紙一起扔進了【回收站】。

點擊了確認以後,作品與空白圖紙同時消失。

幾乎與此同時,圖紙列表更新了,多出了一個《與非門》的條目。

這樣,以後再構建複雜元件時,就不用每一個“與非門”都手了。

代價只是稍微多花一點點積分而已。

江寒試驗了一下,發現自構建一個“與非門”,需要花費27.2分。

這個電路只需要5個晶管,價值25分;導線等等算0.2分。

這樣,江寒只需要額外多花費不到8%的積分,就可以自化生產基本部件,從而避免了大量的重複機械勞

接下來,他又將“半加”、“全加”、“增量”……全都製作了圖紙,留待以後使用。

沒辦法,誰還沒有一點兒收集癖呢?

Advertisement

接下來,江寒就讓系統幫忙,大批量生產“與非門”。

點開圖紙列表,然後手指飛速點:【與非門】、【確認】、【與非門】、【確認】……

十分鐘後,工作臺上已經出現了一大堆“與非門”電路。

與手工打造相比,自構建的與非門有一個明顯的優點:規格、造型都極爲統一。

這無疑是一件很好的事

接下來,江寒將這些“與非門”連接了“加法”。

這是一隻32位的加法,最多支持32位有符號數的加法。

接下來,江寒開始進行今天的最後一個大工程,打造一隻“算數邏輯單元”,也就是ALU。

其包括32+32位的輸(x,y),和32位的輸出(out)。

此外,部還實現了一些函數,並設計了6個輸標誌位:zx、nx、zy、ny、f、no。

每個標誌位分別實現不同的基本指令。

如zx表示輸的x置0,nx表示對輸x取反,no表示對結果按位取反……

f爲0時,執行add指令,做加法運算;

f爲1時,則執行and指令,進行位與運算……

通過這些標誌位的不同組合,還可以實現更加複雜的功能。

6個標誌位,最多允許理2^6,也就是64種不同的指令。

此外還有兩個狀態位:zr和ng,據運算結果,將它們置0或1。

這個ALU可實現的功能,包括輸數相加、相減、位與、位或、取反、取相反數、自加1,自減1、清0、置1、置-1……

隨後,江寒利用剛纔生產的一系列“與非門”,將其手工搭建了出來。

經過反覆測試,所有功能都能正確執行,這也就意味著,這隻超簡易的ALU,到這裡就算打造功了。

接下來,當江寒試著將其扔進回收站時……

“咦?居然值3024分?”

本纔不過1800多分,也就是說,每臺淨賺將近1200!

雖然回報率很可觀,但用這玩意來刷分,並不會比“無線電發送裝置”更有效率。

因爲,打造起來實在太麻煩了,足足3個多小時,才能打造出一個。

而且,每時每刻都要極度小心、細心、耐心,無論哪個地方,都不能出一點點小問題,否則,都會導致全盤失敗!

不過,江寒很快就想到了一個可能

江寒將其和一張“空白圖紙”一起扔進了“回收站”,賣掉。

然後去圖紙列表裡看了一眼。

【需要花費積分1890+1238點,是否自構建?確認/取消。】

江寒開心一笑。

不錯!

隨後點擊了【確定】。

只多花了不到100分,就將ALU再次購買了回來,還額外獲得了一張圖紙。

接下來,就是繼續提高設計複雜度,做出真正的CPU來!

當然,這不是一朝一夕之功。

今天已經很累,就先到這裡。

以後每天晚上來做一點,估計幾天之後,一個簡單的晶管計算機就能出爐了。

至於X86兼容機,就稍微麻煩一些,可能得努力一個月以上……

猜你喜歡

分享

複製如下連結,分享給好友、附近的人、Facebook的朋友吧!
複製鏈接

問題反饋

反饋類型
正在閱讀: