在用電路實(shí)現(xiàn)加法之后,就需要一個(gè)能把結(jié)果保存下來的存儲(chǔ)電路。設(shè)想存儲(chǔ)電路的運(yùn)行邏輯是:有一個(gè)控制開關(guān),當(dāng)著開關(guān)=1的時(shí)候,輸出端等于輸入端的值,當(dāng)開關(guān)=0的時(shí)候,輸入端的值的變化,不影響輸出端的值,也就是輸出端保持之前的數(shù)值。
4.1. 一位觸發(fā)器
首先我們得承認(rèn),要像上一章的加法器一樣,通過邏輯分析設(shè)計(jì)這樣一個(gè)能滿足存儲(chǔ)數(shù)字需求的電路不是一件很容易的事情,本章拿前人的成果,直接把電路給出來,試著給大家分析。
1918年英國工程師埃克爾斯發(fā)明了一個(gè)具有記憶功能的電路,如圖 4-1:
圖 4-1具有記憶能力的電路(觸發(fā)器)
這是一個(gè)震蕩反饋電路,對(duì)于初學(xué)者來說稍微有點(diǎn)燒腦,我們列出這個(gè)電路的真值表(表 4-1):
表 4-1 觸發(fā)器的輸入輸出真值表
S | R | Q | |
---|---|---|---|
0 | 0 | 不變 | 不變 |
0 | 1 | 0 | 1 |
1 | 0 | 1 | 0 |
1 | 1 | 0 | 0 |
我們可以發(fā)現(xiàn)該電路最神奇的地方在于當(dāng)S=R=0的時(shí)候,可以保持輸出的值Q不變,即這個(gè)時(shí)候Q的值不受R的變化影響,也就是Q能夠保存一個(gè)比特的信號(hào),這就是使得其具有作為存儲(chǔ)電路的可能性。
仔細(xì)分析這個(gè)表的輸入輸出,可以發(fā)現(xiàn)幾個(gè)有意思的特征可以被利用:
1、如果另S和R保持相反的輸入(即R=0,S=1 或者R=1,S=0),則輸出Q的值一直和R保持一致;
2、如果S=R=1,輸出Q=0;S=R=0,輸出Q保存一個(gè)比特信號(hào);
在此技術(shù)上,我們稍微修改一下電路
圖 4-2一位寄存器比特單元電路
在圖 4-1的基礎(chǔ)上,在S、R兩個(gè)輸入端分別增加一個(gè)“與門”,用CP開關(guān)進(jìn)行控制,根據(jù)表 4-1,電路邏輯狀態(tài)如下:
當(dāng)CP=0,無論開關(guān)D=0還是D=1,通過兩個(gè)與門的作用,S=R=0,Q保持之前的值不變,起到保存比特信號(hào)的效果;
當(dāng)CP=1,S、R的值取決于開關(guān)D的狀態(tài),D=1,則S=1、R=0、輸出Q=D=1,相反D=0,則S=0、R=1、輸出Q=D=0,也就是該狀態(tài)下,存儲(chǔ)器可以把輸入的值寫入到Q。
至此,一個(gè)完整的一位存儲(chǔ)電路設(shè)計(jì)完成了,CP是狀態(tài)控制開關(guān),CP=1,使得輸出Q=輸入D;CP=0,輸出狀態(tài)不變,實(shí)現(xiàn)存儲(chǔ)。
圖 4-2是完整的一位存儲(chǔ)電路,大虛線框代表的就是存儲(chǔ)電路,用簡化的圖例可以表示為:
圖 4-3觸發(fā)器示意圖
圖 4-4 八位二進(jìn)制數(shù)字存儲(chǔ)
4.2. 存儲(chǔ)芯片設(shè)計(jì)
圖 4-2的電路輸入、輸出在不同的線路端,對(duì)于存儲(chǔ)芯片的使用來說還是不夠方便。作為存儲(chǔ)芯片,我們希望寫入和讀取是同一個(gè)端口,用寫入(W)、讀取(R)兩個(gè)控制端決定當(dāng)前是處于讀取還是寫入狀態(tài),這樣的設(shè)計(jì)更有利于大規(guī)模的存儲(chǔ)電路的堆疊。
圖 4-5 比特存儲(chǔ)單元電路
圖 4-5中把寄存器單元的輸出Q和“讀”控制開關(guān)R通過“與門”G連接,輸出端和輸入端D連接。當(dāng)R斷開狀態(tài),G與DB端的連線相當(dāng)于斷開,使得寄存器輸出端Q不對(duì)DB端的狀態(tài)造成影響。工作步驟如下:
1、W合并,R斷開,寫入狀態(tài):Q=DB
2、W斷開,R斷開,保持狀態(tài):Q不受DB影響;
3、W斷開,R合并,讀取狀態(tài):DB=Q
至此,我們完成存儲(chǔ)芯片的比特單元的電路設(shè)計(jì),用更簡單的示意圖表示如下:
圖 4-6比特存儲(chǔ)單元電路示意圖
圖 4-7 八位存儲(chǔ)芯片單元(寄存器)電路圖
現(xiàn)在我們已經(jīng)可以嘗試站在軟件開發(fā)的角度對(duì)存儲(chǔ)芯片的電路設(shè)計(jì)提一些需求,把圖 4-7的8位整體作為一個(gè)字節(jié)的存儲(chǔ)單元,一個(gè)存儲(chǔ)芯片有大量的字節(jié)存儲(chǔ)單元(比如現(xiàn)在主流的8G內(nèi)存有810241024個(gè)這樣的字節(jié)存儲(chǔ)單元),希望給每個(gè)存儲(chǔ)單元一個(gè)位置編號(hào),方便在編程的時(shí)候直接定位存儲(chǔ)的位置,這個(gè)位置編號(hào)成為“地址”。
圖 4-7的簡化示意圖如下:
圖 4-8 八位寄存器示意圖
為了方便理解,先給出一個(gè)字節(jié)存儲(chǔ)單元疊在一起的電路圖(圖 4-9)作為過度,從圖中可以看出,默認(rèn)狀態(tài)所有的讀、寫控制都斷開,當(dāng)需要對(duì)第一行進(jìn)行“存”操作,只需要把W0=1,該狀態(tài)下D0~D7修改的值都會(huì)被保存到第一行的8個(gè)電路中。
圖 4-9 四組八位存儲(chǔ)芯片字節(jié)單元組電路圖
這個(gè)電路與我們的存儲(chǔ)芯片越來越接近了,但是還有一個(gè)缺點(diǎn),每行都需要W、R兩個(gè)控制端,那么一個(gè)保存256字節(jié)的存儲(chǔ)芯片就有256*2個(gè)控制端,而且,隨著存儲(chǔ)芯片的容量越來越大,控制端越來越多,如果封裝成一個(gè)芯片不可能設(shè)置那么多的針腳,所以必須想到變通的方法。
觀察發(fā)現(xiàn),雖然W、R控制端總數(shù)很多,但是在存儲(chǔ)芯片操作的過程中,每次只會(huì)對(duì)其中的一行(一個(gè)字節(jié))操作。我們需要一個(gè)地址選擇功能的電路,通過輸入n位的數(shù)字,能夠?qū)崿F(xiàn)在2^n^個(gè)地址中選中一個(gè)。因?yàn)閚位的二進(jìn)制數(shù)字能表示0~2^n-1^的數(shù)字,才提出這么精準(zhǔn)的設(shè)計(jì)需求。
有一種叫“譯碼器”的電路邏輯,解決了這種問題。我們用一個(gè)2進(jìn)4出的譯碼器電路來演示說明其原理,方法類似設(shè)計(jì)加法器電路(圖 3-3)設(shè)計(jì)的方法:
1、列出所有可能的邏輯表達(dá)值(表 4-2);
表 4-2 二進(jìn)四出譯碼器邏輯真值表
A1 | A0 | D3 | D2 | D1 | D0 |
---|---|---|---|---|---|
0 | 0 | 0 | 0 | 0 | 1 |
0 | 1 | 0 | 0 | 1 | 0 |
1 | 0 | 0 | 1 | 0 | 0 |
1 | 1 | 1 | 0 | 0 | 0 |
2、根據(jù)真值表給出邏輯表達(dá)式;
3、根據(jù)邏輯表達(dá)式設(shè)計(jì)譯碼器的電路圖
圖 4-10 二進(jìn)4出譯碼器電路圖
三進(jìn)八出譯碼器的示意圖如下:
圖 4-11三進(jìn)八出譯碼器示意圖
將譯碼器連接到字節(jié)單元組存儲(chǔ)(圖 4-9)的所有W、R端口(如圖 4-12)。當(dāng)A1=0,A0=1,通過譯碼器D1=1,W1通過與門連接D1和W(W1=D1&W),R1通過與門連接D1和R(R1=D1&R)。所以譯碼器控制了選中哪一行的存儲(chǔ)單元,W、R實(shí)現(xiàn)對(duì)這行存儲(chǔ)單元的讀、寫控制。
圖 4-12連接譯碼器后的完整存儲(chǔ)電路
圖 4-12中利用2比特位的譯碼器實(shí)現(xiàn)了4行(4字節(jié))的存儲(chǔ)芯片,同理,可以用8比特位的譯碼器實(shí)現(xiàn)256行(256字節(jié))的存儲(chǔ)芯片。
這里的2比特位和8比特位即內(nèi)存地址長度,現(xiàn)在計(jì)算機(jī)的操作系統(tǒng)常用32位和64位,指的就是內(nèi)存的地址長度。按照這樣的理解32位的操作,最長控制4294967296個(gè)地址,因?yàn)槊總€(gè)地址所代表的內(nèi)存空間也是32位(4個(gè)字節(jié)),可以說其能控制的最大存儲(chǔ)是:4294967296 * 4字節(jié) = 16GB。當(dāng)然現(xiàn)代計(jì)算機(jī)還可以通過譯碼器的級(jí)聯(lián)擴(kuò)展地址空間。
為了下文繪制電路圖方便,把圖 4-12簡化成表示8位地址的內(nèi)存示意圖(圖 4-13):
圖 4-13 八位地址的內(nèi)存示意圖
-
寄存器
+關(guān)注
關(guān)注
31文章
5325瀏覽量
120052 -
存儲(chǔ)電路
+關(guān)注
關(guān)注
2文章
11瀏覽量
13101 -
加法器
+關(guān)注
關(guān)注
6文章
183瀏覽量
30093 -
觸發(fā)器
+關(guān)注
關(guān)注
14文章
1996瀏覽量
61057
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論