今天我們來實現(xiàn)一個最簡單內(nèi)存。 由于在計算機中除了邏輯電路之外沒有別的東西,我們要存儲也需要用邏輯電路來實現(xiàn),接下來我們先去實現(xiàn)一個簡單的寄存器。 寄存器寄存器又分為兩種一種只能存 1 ,一種只能存 0 能存 1image 能存 0image 能存 1 和 0 的邏輯電路有了,我們就可以存儲全部狀態(tài)了,我們發(fā)現(xiàn)寄存器只能能夠存一種狀態(tài)并且無法清除保存的狀態(tài)。 鎖存器image 這次好了,設(shè)置端通電 1 就存起來了,想存 0 就給恢復(fù)端通電,這樣我們就簡單實現(xiàn)了一個能存儲一個 bit 的電路。但是我們還會發(fā)現(xiàn)一個問題就是存 1、0 的狀態(tài)需要兩個線分別去處理,這樣就會有很多不便。我們繼續(xù)往下看來解決這個問題。 門鎖image 門鎖符號image 這樣一來我們就可以用一根線控制鎖存器的狀態(tài),并且添加了允許寫入的線來控制切入權(quán)限。這樣一來存一個 bit 的電路我們就完成了。下面我們來組合一下。 8位寄存器image 這個電路就是我們使用 8 個門鎖組合成的存儲單位,這樣我們就可以存儲一個字節(jié)(Byte)了,但是我們還會發(fā)現(xiàn)一些問題就是,如果內(nèi)存這樣設(shè)計的話,是不是要浪費很多線材,你可以簡單計算一下,這樣一個簡單的寄存器需要使用多少線材。 門鎖矩陣image 看到這個比較懵逼的圖了沒有,我們使用矩陣的方式來組合門鎖,這個地方我省略的一些格子,理論上應(yīng)該是 16 *16 也就是存儲 256 bit 的一個矩陣,這樣一來我們會節(jié)省很多線材。我們接下來看看每個格子里都是什么?
放大單個格子image 我們來分析一下這個電路的優(yōu)劣勢? 優(yōu)勢
劣勢
繼續(xù)看我們怎么規(guī)避掉的。 簡易內(nèi)存塊image 這個圖就是把我們上面的門鎖矩陣進行封裝而成的內(nèi)存塊。 內(nèi)存image 然后我們再把 8 個內(nèi)存塊組合起來,這樣我們就可以繼續(xù)存 1Byte 的數(shù)據(jù)了。 寫入數(shù)據(jù)
讀取數(shù)據(jù)
到此我們就完成了一個簡單的內(nèi)存。 小結(jié)看到這個大家心中有沒有解開一個疑惑。 |
|
來自: 東耳果果 > 《電腦 機器人 太空》