內(nèi)存-矩陣連接鎖存器
「在矩陣中,不并列排放鎖存器,做成網(wǎng)格的形式?!?/strong>
這樣存256位就可以使用16X16的網(wǎng)格。
「如果要啟用其中的某個(gè)寄存器,指明對應(yīng)的行號和列號即可?!?/strong>
如何實(shí)現(xiàn)只打開某個(gè)鎖存器
首先給定行號和列號,只有對應(yīng)的 「行號和列號都滿足條件時(shí)」 ,才會(huì)打開某個(gè)鎖存器的行列選擇器 「(ROW+COLUMN SELECT TEST)?!?/strong>
實(shí)現(xiàn)方案已經(jīng)看出來了**「使用的是AND門(也就是下圖的ROW+COLUMN SELECT TEST)」** ,那么這個(gè)行號和列號怎么轉(zhuǎn)換成對應(yīng)的比特01呢?(后面總結(jié)矩陣需要多少跟線的時(shí)候在講解)
如何實(shí)現(xiàn)"允許寫入線"
「和之前一樣也是用的一根允許寫入線來控制所有鎖存器的寫入線?!?/strong>
但和之前稍微不同的是
「允許存儲(chǔ)不單單是允許寫入就可以存儲(chǔ)的了,還需要滿足另外一個(gè)條件就是:對應(yīng)的行列選擇器被打開」
因此需要在傳統(tǒng)的WRITE ENABLE的基礎(chǔ)上 AND 行列選擇器的開關(guān)。只有行號,列號,允許寫入線都是1才進(jìn)行存儲(chǔ)。
「而且每次只有一個(gè)鎖存器會(huì)這樣,這會(huì)在數(shù)據(jù)輸入線實(shí)現(xiàn)的時(shí)候有特別大的幫助」
如何實(shí)現(xiàn)數(shù)據(jù)輸入線
得益于之前的寫入判斷:只有行號,列號,允許寫入線都是1才進(jìn)行存儲(chǔ),而且每次只有一個(gè)鎖存器會(huì)這樣。因此我們不需要向并排那樣每個(gè)鎖存器都有一個(gè)輸入線 「,矩陣只需要一個(gè)數(shù)據(jù)輸入線即可,因?yàn)槊看沃荒懿僮饕粋€(gè)鎖存器,其他鎖存器會(huì)忽略數(shù)據(jù)線上的值,因?yàn)闆]有“允許寫入(行列不滿足)”」
大致修改流程
先鎖定行列矩陣中開啟哪個(gè)鎖存器,在判斷是否允許寫入,如果允許寫入那么數(shù)據(jù)線的值就是輸出,如果不允許寫入那么輸出不會(huì)改變
如何實(shí)現(xiàn)數(shù)據(jù)讀取線
類似數(shù)據(jù)輸入線一樣,每次鎖定要讀取的行列即可。「但是每次只可以輸出一個(gè)鎖存器上存儲(chǔ)的數(shù)字」
總結(jié)-矩陣后的256位內(nèi)存需要多少線
「答案是僅僅需要35跟線即可?!?/strong>
一條數(shù)據(jù)線,一條允許寫入線,一條允許讀取線(強(qiáng)調(diào)?。∶看沃豢勺x取一位如果需要讀取多位需要將多個(gè)內(nèi)存向寄存器那樣把鎖存器并排放置),還有剩下32個(gè)線就是我們用于鎖定對應(yīng)行列的鎖存器,這個(gè)32跟線就是多路復(fù)用器的32跟線,下面介紹多路復(fù)用器
多路復(fù)用器----將行列二進(jìn)制地址轉(zhuǎn)換為行和列打開對應(yīng)的鎖存器
由于256位的寄存器行列數(shù)最大值也就是16,因此4位數(shù)足夠了。
轉(zhuǎn)換示例:比如行號12用二進(jìn)制表示:1100,列號8用二進(jìn)制表示:1000.因此行列的表示可以寫成**「11001000代表的是十二行第8列」**
選擇多路復(fù)用器
根據(jù)轉(zhuǎn)換的不同行列數(shù),需要不同的多路復(fù)用器。
上面我們用的都是16行,「因此行和列選擇的都是1到16多路復(fù)用器。一個(gè)多路復(fù)用器處理行,一個(gè)處理列」
工作方式
輸入四位數(shù)字,會(huì)選擇對應(yīng)的行或列,比如代表列的0000列的復(fù)用器會(huì)選擇第一列,如果是0001=1會(huì)選擇第二列,以此類推..
抽象-可以存儲(chǔ)256位的內(nèi)存
8位地址里面四位表示行號,另外四位表示列號
數(shù)據(jù)Data輸入線
允許寫入線:WRITE ENABLE
允許讀取線:READ ENABLE
存儲(chǔ)多位信息
我們從最初只能存儲(chǔ)一位的內(nèi)存發(fā)展到存儲(chǔ)八位的內(nèi)存再之后發(fā)展到剛剛提到的可以存儲(chǔ)256位的內(nèi)存(每次只可取一個(gè)位)。但是這一個(gè)**「可以存儲(chǔ)256位的內(nèi)存也只是每次可以輸出一位的信息,并沒有多大用處,因此將這些內(nèi)存再次鏈接起來,向寄存器那樣將多個(gè)鎖存器并排放置」**
「將八個(gè)256位內(nèi)存并排放置,每次都可以存儲(chǔ)一個(gè)八位的數(shù)字,八位也叫一個(gè)字節(jié)(byte)。」
「每次都給8個(gè)256位內(nèi)存一樣的地址,每個(gè)地址存一位,也就意味著總共能存256個(gè)字節(jié)」
抽象-看成一個(gè)整體的可尋址內(nèi)存
8-BIT ADDRESS INPUT:代表的是這八個(gè)256位內(nèi)存中使用的同一個(gè)行列,因此這個(gè)RAM有256個(gè)地址,而每個(gè)地址都可以讀寫一個(gè)8位的值,也就是可以存儲(chǔ)256X8位的信息,也即256個(gè)字節(jié)(byte)
「這個(gè)RAM有16個(gè)尋址空間地址,每個(gè)地址可以讀寫8位值,可以看到是由8個(gè)16位內(nèi)存組成」 下一篇文章將CPU的時(shí)候會(huì)用到
現(xiàn)在計(jì)算機(jī)的內(nèi)存已經(jīng)擴(kuò)展到了GB的方式,和上面介紹的一樣,也是不斷的打包這些矩陣,不斷把內(nèi)存打包到更大規(guī)模,8位最多能代表256個(gè)內(nèi)存地址,如果想要給千兆或者十億字節(jié)的內(nèi)存尋址(尋找地址),需要使用32位的地址。
總結(jié)
這篇文章,我們用**「鎖存器做了一個(gè)SRAM(靜態(tài)隨機(jī)存取存儲(chǔ)器)」** ,還有其他類型的RAM,比如DRAM,閃存和NVRAM。。他們在功能上和SRAM相同,但用不同的電路存單個(gè)位:比如 「用不同的邏輯門,電容器,電荷捕獲或憶阻器」 。但根本上,「這些技術(shù)都是矩陣層層嵌套來存儲(chǔ)大量信息。計(jì)算機(jī)底層其實(shí)很好理解,難得是一層層難以理解的抽象?!?/strong>
-
電源
+關(guān)注
關(guān)注
185文章
18357瀏覽量
256095 -
存儲(chǔ)器
+關(guān)注
關(guān)注
38文章
7648瀏覽量
167224 -
ROM
+關(guān)注
關(guān)注
4文章
578瀏覽量
87305
發(fā)布評論請先 登錄
鎖存器、觸發(fā)器、寄存器和緩沖器的區(qū)別
觸發(fā)器、鎖存器、寄存器三者的區(qū)別
【轉(zhuǎn)】數(shù)字電路三劍客:鎖存器、觸發(fā)器和寄存器
RFM反射內(nèi)存5565控制和狀態(tài)寄存器
如何使用鎖存器的Time Borrowing技術(shù)來替代關(guān)鍵路徑中的寄存器
如何在VHDL中實(shí)現(xiàn)一個(gè)簡單的寄存器

鎖存器、觸發(fā)器、寄存器的關(guān)聯(lián)與區(qū)別及其相應(yīng)的verilog描述
簡單利用鎖存器做一個(gè)寄存器和內(nèi)存(上)

什么是鎖存器 與寄存器有何區(qū)別
帶輸入鎖存器的8位移位寄存器數(shù)據(jù)表

評論