主存儲器與CPU的連接


主存儲器與CPU的連接

主存儲器(簡化結構)

主存簡單模型

連接原理

3類

數據總線、地址總線、控制總線

從存儲器中讀出一個信息字:

  1. 首先CPU把這個信息字的地址送到MAR
  2. 然后經過地址總線到主存
  3. 在通過控制總線發出讀命令
  4. 主存接到讀命令后,就知道把這個地址的數據讀出
  5. 根據CPU決定將數據送到哪,通過數據總線

寫一個數據到主存:

  1. CPU要把信息字所在的主存單元的地址經過MAR送到地址總線
  2. 然后在把這個信息字送到MDR
  3. 然后向主存發送一個寫命令
  4. 主存收到寫命令后
  5. 把數據總線上的信息寫到相應地址線指出的儲存單元中

主存地址單元分配(比較重要)

主存地址分配

總容量1KB

按字節尋址:1K個單元,每個單元1B,1K=1024,十根地址線

按字尋址:256個單元,每個單元4B,高位看成組號,后面跟兩位

按半子尋址:512個單元,每個單元2B

按雙字尋址:128個單元,每個單元8B

如何存放一個字?如12345678H

大端方式:高位字(12)節作為字地址

小端方式:低位字(78)節做為字地址

主存儲容量的擴展

由於單個芯片的容量總是有限的。

需要在字和位兩個方面擴充。

位擴展法,字擴展法,字位擴展法。

位擴展

這個是8K*1位,即13根地址線和1位數據線。

CPU要求:8位的數據線,16位的地址線

如何進行連接?

CS是高電平有效,所以要選擇到他要給個1

這樣顯然是不夠的,cpu有8位的數據線,而存儲芯片只有1位,不滿足存儲容量的要求。

在加一塊芯片

8塊芯片進行擴展

相當於並聯在一起。

一個8K*8位的存儲器。

字擴展

存儲芯片是8K*8位的,CPU也是8位的數據線

會不知道哪一個數據

使用片選線來進行控制。

但是還是會遇到同樣的問題,如果是11的話,兩個的數據都會被操作了。

線選法:A14 A13只能為01或10,n條線->n個選片信號

地址:01x xxxx xxxx xxxx、10x xxxx xxxx xxxx

改進:用一個非門

地址1x xxxx xxxx xxxx、0x xxxx xxxx xxxx

譯碼片選法:n條線->2^n個選片信號

譯碼器。

譯碼器

高電平有效,1

低電平有效,0

3位地址選8塊芯片。

注意圈圈。

使能端,EN,還有可能有多個使能端。使譯碼器工作。

將譯碼器利用到字擴展

00,01,10,11

對比

字位同時拓展

例題

系統程序區用ROM,用戶程序區用RAM

1.確認地址線、數據線、選擇存儲芯片

數據線:CPU數據線8根 -> 存儲器位數應擴展為8位

回顧


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM