對于計算機我們肯定都很熟悉,它的內(nèi)部有ALU進(jìn)行算術(shù)和邏輯運算,可是他們運算得出的結(jié)果怎么辦?扔掉嗎?那這個計算就沒有任何意義了。
因此,那些計算出來的結(jié)果就需要存起來,于是就有了計算機內(nèi)存。
當(dāng)打游戲或者編輯某個文檔且進(jìn)入尾聲的時候,電源被切斷的慘痛經(jīng)歷大家應(yīng)該都經(jīng)歷過,再次打開電腦的時候,上次的數(shù)據(jù)都沒了,這就是隨機存取存儲器,簡稱RAM,還有一種就是電源關(guān)閉了數(shù)據(jù)還在,這就是持久存儲。
上面的有沒有理解不重要,現(xiàn)在我們從簡單的只能存1個bit電路開始,來了解一下內(nèi)存的工作原理吧!
先看OR門,將輸出傳回輸入,看看發(fā)生了什么?
首先,將兩個輸入A、B均設(shè)為0,“0 OR 0”是0,輸出0;如果將A變成1“1 OR 0”為1,輸出1,輸出回到B,B變?yōu)?,后面再怎么改變A的值,輸出仍然為1,這個電路可以用來記錄1。
再來看看AND門
將A和B都設(shè)為1,“1 AND 1”的輸出是1;如果將A變?yōu)?,輸出0,輸出回到B,B變?yōu)?,后面再怎么改變A的值,輸出仍然為0,這個電路記錄0。
現(xiàn)在有了記錄1和0的電路,為了做出有用的存儲(memory),我們將兩個電路合起來,變成了“AND-OR鎖存器”
它有兩個輸入,“設(shè)置”( SET )和“復(fù)位” ( RESET ),如果“設(shè)置”和“復(fù)位”都是0,電路的輸出就是最后放入的內(nèi)容,它存住了1 bit的信息,這就是存儲!
注:之所以叫“鎖存”,是因為它“鎖定”一個特定值并保持狀態(tài)不變。數(shù)據(jù)放入叫“寫入” ,數(shù)據(jù)輸出叫“讀取”。
用兩個輸入SET和RESET有點麻煩,為了更方便,我們只用一個輸入線,將它設(shè)為0或1來存儲值,再加一根“允許輸入線”來“啟用”(enable)內(nèi)存,啟用時允許寫入,未啟用時“鎖定”,再與一些額外邏輯門就可以組成一個叫“門鎖”(Gated Latch)的電路。
剛剛我們只存了1bit,沒什么大用,但如果我們并排放8個鎖存器,就可以存8位信息,這個8bit數(shù)字組的鎖存器叫“寄存器”,寄存器能存多少個Bit叫“位寬”。
早期電腦用8位寄存器,然后是16位,32位,如今大多計算機都是64位寬的寄存器。
在寫入寄存器之前,要啟用里面所有鎖存器,我們可以用一根線連接所有“允許輸入線”,并設(shè)為1,然后用8條數(shù)據(jù)線發(fā)數(shù)據(jù),最后將“允許寫入線”設(shè)回0,8bit的值就存好了。
對于bit少的,這樣并排擺放鎖存器可以,可是對于64位寄存器要64根數(shù)據(jù)線,64根連到輸出端,這怎么辦?
幸運的是,只要1根線啟用所有鎖存器,這樣加起來也要129根線;那存256個bit,要513根線,存放的數(shù)據(jù)越多,需要的線就越多,那有什么好的解決方法嗎?
解決方法就是用矩陣!
在矩陣中,我們將鎖存器做成網(wǎng)格,那么存256位只需要16x16的鎖存器。
讓我們看看矩陣鎖存器是如何工作的吧?
如果想打開某個鎖存器,就打開這個鎖存器交叉處的“允許寫入線”,這種行/列配置方法,需要一根共享的“允許寫入線”連接所有鎖存器,為了使鎖存器變?yōu)椤霸试S寫入”狀態(tài),行線、列線和“允許寫入線”都必須為1,而且每次只能有1個鎖存器啟用并鎖存數(shù)據(jù),這樣就可以用一根“數(shù)據(jù)線”連接所有鎖存器來傳數(shù)據(jù)。
這樣256位的存儲,只需要35根線——1根“數(shù)據(jù)線”,1根“允許寫入線”,1根“允許讀取線”和16行16列的用于選擇鎖存器的線。
為了將地址轉(zhuǎn)成行和列,我們需要一個叫“多路復(fù)用器”的部件,它的工作方式是:當(dāng)輸入一個4 bit數(shù)字時,它會把那根線連到相應(yīng)的輸出線,如果輸入0000,它會選擇第一列;如果輸入0001,則選擇下一列,依此類推。
一個多路復(fù)用器處理行(row),另一個多路復(fù)用器處理列(column),那么把256位內(nèi)存當(dāng)成一個組件來看,它需要一個8bit地址:4bit代表哪一列,4 bit 代表哪一行,還需要“允許寫入線”和“允許讀取線”,最后,還需要一條數(shù)據(jù)線,用于讀/寫數(shù)據(jù)。
今天,我們用鎖存器做了一塊SRAM(靜態(tài)隨機存取存儲器),還有其他類型的RAM,如DRAM,閃存和NVRAM,它們在功能上與SRAM相似,比如用不同的邏輯門,電容器,電荷陷阱或憶阻器等,但從根本上說,所有這些技術(shù)都是用矩陣層層嵌套存儲大量信息的,有沒有覺得很不可思議呢?
責(zé)任編輯:pj
-
寄存器
+關(guān)注
關(guān)注
31文章
5357瀏覽量
120582 -
計算機
+關(guān)注
關(guān)注
19文章
7513瀏覽量
88156 -
鎖存器
+關(guān)注
關(guān)注
8文章
906瀏覽量
41542 -
華秋DFM
+關(guān)注
關(guān)注
20文章
3494瀏覽量
4574
發(fā)布評論請先 登錄
相關(guān)推薦
評論