编码:隐匿在计算机软硬件背后的语言(7)--存储器组织
在上一篇文章編碼:隱匿在計(jì)算機(jī)軟硬件背后的語言(6)--反饋與觸發(fā)器中,我們知道一個反向器、兩個與門和兩個或非門可以構(gòu)成一個D型電平觸發(fā)器。它可以存儲一位信息,為了表達(dá)地更清晰,我們把輸入端和輸出端重新命名,以與功能相符,如下圖所示
當(dāng)寫入端為1時,數(shù)據(jù)輸出端與數(shù)據(jù)輸入端同步;當(dāng)寫入端為0時,數(shù)據(jù)輸入端對輸出沒有影響,輸出端存儲的數(shù)據(jù)是輸入端最后一次輸入。我們也叫它1位鎖存器。簡化框圖如下
如果我們想得到多位鎖存器,可以像下面一樣將8個1位鎖存器連接起來
這樣就得到了一個8位鎖存器。還有另外一種方式將8個鎖存器連接。即在輸出端增加一個8-1選擇器,同時增加三個選擇輸入端,這樣每次我們就可以得到1位鎖存輸出。如下圖所示
其中三個選擇輸入端的真值表和電路連接方式如下圖所示
然后在輸出端連接一個3-8譯碼器,通過輸入來選擇那個存儲器被用到,其電路連接方式如下圖所示
整個系統(tǒng)的電路連接方式如下所示
我們把3-8譯碼器和8-1選擇器的三個輸入端連在一起,8個鎖存器的輸入連在一起,組成上圖所示的系統(tǒng)。
當(dāng)寫入端為1時,我們可以通過選擇端來控制那個鎖存器被寫入和輸出。上圖中的3-8譯碼器和8-1選擇器的三個輸入端實(shí)際上就是所謂的地址端,地址端的輸入決定了那個鎖存器被引用。這種配置下的鎖存器也叫做讀/寫存儲器,更普遍的叫法是隨機(jī)訪問存儲器(Random Access Memory)或者RAM,其簡化結(jié)構(gòu)如下
上述電路之所以被稱為存儲器是因?yàn)樗瓤梢员4嫘畔?#xff08;寫數(shù)據(jù)),又可以檢查每個存儲器保存了什么數(shù)據(jù)(讀數(shù)據(jù))。之所以被稱為讀/寫存儲器是因?yàn)樽x寫操作都很自由,只需要改變地址和相關(guān)的輸入就可以從8個鎖存器中讀出或者寫入數(shù)據(jù)。上述的RAM陣列以8*1的方式組織起來。也就是陣列每次輸出1位,可以存儲8位(比特)。RAM陣列的組合形式有多種,比如
上圖可以存儲8個數(shù)據(jù),每個數(shù)據(jù)有2位(比特)。是一個8*2的RAM存儲器。還可以如下組織
上圖又增加了一個1-2譯碼器和2-1選擇器,相當(dāng)于又增加了一位地址線;此時存儲器變?yōu)?6*1的RAM陣列。
從以上兩圖可以看出存儲器的容量可以用下面的式子表示
RAM陣列的容量=2^地址輸入端個數(shù)
那么如下圖所示的RAM存儲器
我們就可以知道它有10個地址位,因?yàn)?024=2的10次方。輸出位數(shù)為8,也就是一個字節(jié)。存儲容量為1024*8個比特。
下面說一下我們平時所說的存儲器容量。
1024個字節(jié)=1KB,也就是上圖所示的RAM存儲器容量。(kilobyte,kilo表示“千”,與十進(jìn)制的1000區(qū)分)
1024個KB=1MB(megabyte,mega在希臘文中意味著宏大)2^20字節(jié)
1024個MB=1GB(gigabyte,giga意思為巨大)2^30字節(jié)
1024個GB=1TB(terabyte,teras希臘語為巨人)2^40字節(jié)
1024個TB=1PB(petabyte)一批字節(jié)2^50字節(jié)
1024個PB=一安字節(jié)(exabyte)2^60字節(jié)
上圖所示的RAM存儲器容量為64KB,地址線為16條,也就是兩個字節(jié),數(shù)據(jù)位數(shù)是8位。
轉(zhuǎn)載于:https://www.cnblogs.com/hitfredrick/p/6403007.html
總結(jié)
以上是生活随笔為你收集整理的编码:隐匿在计算机软硬件背后的语言(7)--存储器组织的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: boost之lexical_cast
- 下一篇: 四-1、Cadence Allegro推