這道題目主要是看地址線,地址線從
,也就是說有15條地址線,不要把它想象得太複雜,地址線其實就是電線,它能經過電流的高低不一樣來表示0和1這兩個狀態(即高電平和低電平),當你有一條電線的時候,你能夠表示2個狀態(0
和1
),當你擁有兩條電線的時候,你能夠表示4個狀態(00
,01
,10
,11
),以此類推html
換成地址線的話,也就是一條地址線能夠選擇2個地址,2條地址線能夠選擇4個地址……當你有13條電線的時候,你能夠選擇 個地址,記住這個結論,後面須要用到web
那麼,咱們再來看地址線 ,他們同時鏈接到一個ROM、四個RAM,當 地址線工做的時候,(注意,這裏的「工做」是說他們有電流流過的時候,ROM和四個RAM是可以同時接收到地址線的電流,但5個存儲器要同時工做是很混亂的,這個時候咱們就須要用到譯碼器了app
譯碼器見名會意,就是翻譯解析的意思,上圖這個74LS139譯碼器,鏈接兩條地址線
和
,咱們知道2條地址線能夠表示4個地址,那麼它的四個輸出端對應的就是4個不一樣的地址:
即00
,
即01
,
即10
,
即11
假如此時
爲00
,選擇輸出端就是
,那麼
這條電線就有高電平輸出到ROM,ROM的
片選信號引腳收到高電平後,它就可以使ROM工做了,而此時其餘四個RAM是不工做的
兩條地址線,一個譯碼器就可以使咱們的各個存儲器有序的工做了。svg
接着,咱們須要進入到ROM和RAM的內部了,前面經過 咱們能夠選擇到某一存儲器的某一地址,但咱們還不太清楚選擇的這個地址裏面有什麼東西,那就來講個結論,這個地址其實就是一個鎖存器spa
再次強調下,ROM和RAM都是存儲器,內部都是用鎖存器來鎖存數據的翻譯
你能夠去仔細研究一下鎖存器,但在這裏咱們只須要知道鎖存器的功能就行了,鎖存器是可以將數據鎖存起來的,這麼些個數據其實也就是0
或者1
,也就是說,鎖存器可以保存0
和1
。code
說一下位這個概念,1位就是說這一個位置能夠存放
0
或者1
,2位就是說着有兩個位置能夠存放0
和1
。orm
一個鎖存器,確定不止鎖存一個0或者1,也就是不止鎖存1位,能夠是4位、8位等等xml
那麼這整個電路的工做就是這樣的,以讀操做爲例(即CPU的
引腳爲高電平):
當
工做時,選擇某一存儲器的某一地址,告訴這個地址上的鎖存器,「你要工做了,把你的鎖存的數據,輸出到數據總線上」htm
這裏的數據總線就是圖上的
對於第一小題,?K是問這一存儲器有多少個地址,?位是問這一存儲器地址上的鎖存器鎖存的位數。
每一個ROM/RAM存儲器鏈接的都是13條地址線,13條地址線就是
這裏
ROM鏈接的數據總線是
,說明它的鎖存器是8位
一個RAM鏈接的數據總線是
或者
,說明它的鎖存器是4位
答案就呼之欲出了,ROM芯片的規格是
,ROM芯片的規格是
這裏有一個坑,答案是要用KB表示,咱們知道1B=8bit,也就1B等於8位,因此咱們須要知道ROM或者RAM能夠存儲多少個8位的數據量
ROM比較簡單,就一個ROM,且它的鎖存器是8位的,從地址線就能夠知道共有
個鎖存器,也就是說ROM可以存儲
個8位的數據量,轉換成
就是
而RAM就稍微複雜點,它是由四個RAM兩兩間相互關聯組成的,咱們先來單看其中兩個RAM
這兩個RAM裏的鎖存器是4位的,右邊的RAM存放低4位,左邊RAM存放高4位,在輸出的時候就可以合併輸出一個8位的數據了
換個角度看,它本質上無非就是將一個8位的數據拆成兩半分別存儲,因此,咱們就可以知道這兩個RAM就至關於一個ROM,一樣是
,那還有另外2個RAM,總共就是
至於爲何RAM不和ROM同樣,非要將一個8位的數據拆成兩半分別存儲超出個人知識範圍,留個坑,待研究
第3小題就很簡單了
共有15條地址線,地址範圍也就是:
首先經過譯碼器,當
爲00時,經過
選擇ROM,那麼最高兩位就是00,範圍就是:
這麼長的數據寫起來挺費勁的,通常換算成16進制,也就是從0H
到1FFFH
剩餘的RAM也好求了,最高兩位是01到10,範圍就是:
換算成16進制也就是2000H
到5FFFFH