一碗酸梅湯 作品
第144章 時序邏輯電路和寄存器
小服務員給弄來的這套漁具相當有檔次。
用具一應俱全:釣竿、水兜、魚簍、小笊籬、魚餌……
居然還有個小摺疊凳。
江寒謝過小服務員,拿著這些東西,來到中央魚塘處。
在岸邊選了個沒人的地方,架好魚竿,就開始閉目養神。
當然,其實是進入了虛擬空間。
閒著也是閒著,不如做點事情。
上次做的算數邏輯單元,還有幾個地方,必須完善一下。
比如,其中的加法器部分,當時並沒有考慮執行效率的問題。
當進位從低位向高位,逐一傳遞時,可能會產生很高的延遲。
江寒通過看書,找到了一種解決方案。
這種被稱為“進位預測(carrylook-ahead)”的技術,通過特殊設計的邏輯電路,能有效地緩解進位延遲問題。
江寒按照資料中的講解,將原本的alu改造了一下。
測試後,效果還算令人滿意。
附帶一提,這個alu並沒有實現乘除法和浮點運算。
並不是不需要,而是如果一切都用硬件來實現,電路會過於複雜。
alu是和操作系統搭配工作的,一個計算機系統能做多少事情,由二者共同決定。
在設計alu時,硬件上需要實現多少種功能和操作指令,本質上是個性價比問題。
如果為了性能,應該儘可能用硬件來實現所有的算數運算和邏輯運算。
但這樣做,成本太高昂了。
江寒權衡再三後,決定現階段只實現基本的算數和邏輯,剩下的部分交給操作系統,用軟件的方式解決。
接下來,江寒打算實現一個存儲系統。
計算機不僅要能做計算,還應該能根據需要,存儲、讀取數據。
計算機中的數據,都是以二進制來存儲的。
其中比較特別的,是機器指令代碼。
其實,在馮諾依曼體系中,指令也被看做一種數據,特殊的、可執行的數據。
這也就是存儲程序的概念……
計算機中的存儲單元,無論是寄存器,還是內部存儲器,通常都是由時序電路組成的。
時序電路的實現,其實並不算特別複雜,本質上就是個週期性電信號的處理。
但如果考慮到同步、時鐘、反饋等一系列問題,就稍微有點麻煩了。
江寒照舊將大任務分解成小模快,,然後從最基本的地方入手。
首先,要實現一個“觸發器”。
如果說alu的基本部件是“與非門”,那麼時序單元的基本部件,就是“觸發器”。
用具一應俱全:釣竿、水兜、魚簍、小笊籬、魚餌……
居然還有個小摺疊凳。
江寒謝過小服務員,拿著這些東西,來到中央魚塘處。
在岸邊選了個沒人的地方,架好魚竿,就開始閉目養神。
當然,其實是進入了虛擬空間。
閒著也是閒著,不如做點事情。
上次做的算數邏輯單元,還有幾個地方,必須完善一下。
比如,其中的加法器部分,當時並沒有考慮執行效率的問題。
當進位從低位向高位,逐一傳遞時,可能會產生很高的延遲。
江寒通過看書,找到了一種解決方案。
這種被稱為“進位預測(carrylook-ahead)”的技術,通過特殊設計的邏輯電路,能有效地緩解進位延遲問題。
江寒按照資料中的講解,將原本的alu改造了一下。
測試後,效果還算令人滿意。
附帶一提,這個alu並沒有實現乘除法和浮點運算。
並不是不需要,而是如果一切都用硬件來實現,電路會過於複雜。
alu是和操作系統搭配工作的,一個計算機系統能做多少事情,由二者共同決定。
在設計alu時,硬件上需要實現多少種功能和操作指令,本質上是個性價比問題。
如果為了性能,應該儘可能用硬件來實現所有的算數運算和邏輯運算。
但這樣做,成本太高昂了。
江寒權衡再三後,決定現階段只實現基本的算數和邏輯,剩下的部分交給操作系統,用軟件的方式解決。
接下來,江寒打算實現一個存儲系統。
計算機不僅要能做計算,還應該能根據需要,存儲、讀取數據。
計算機中的數據,都是以二進制來存儲的。
其中比較特別的,是機器指令代碼。
其實,在馮諾依曼體系中,指令也被看做一種數據,特殊的、可執行的數據。
這也就是存儲程序的概念……
計算機中的存儲單元,無論是寄存器,還是內部存儲器,通常都是由時序電路組成的。
時序電路的實現,其實並不算特別複雜,本質上就是個週期性電信號的處理。
但如果考慮到同步、時鐘、反饋等一系列問題,就稍微有點麻煩了。
江寒照舊將大任務分解成小模快,,然後從最基本的地方入手。
首先,要實現一個“觸發器”。
如果說alu的基本部件是“與非門”,那麼時序單元的基本部件,就是“觸發器”。