主存储器的基本组成
主存儲器的基本組成
包括存儲體M,各種邏輯部件及控制電路等。
主存儲器的示意圖如下:
其實主存并不是上面那么簡單,還有很多部件一起協作,如下圖:
我們只討論第一個圖,接下來分別介紹主存儲器中的各個部件。
?
存儲體
我們看主存儲體中的存儲體:
我們把存儲體放大來看,先給一個示意圖,方便理解:
自己畫的圖,可能不是很準確。
存儲體的組成:
存儲體由許多存儲單元組成,每個存儲單元又包含若干個存儲元件,每個存儲元件可以寄存一位二進制代碼0/1。
對于其組成我們可以這樣來記憶:
存儲體呢,相當于一棟大樓,大樓內有很多房間(存儲單元),每個房間內又有很多床位(存儲元件),那么0代表床上無人,1代表床上有人。
存儲單元:
以8位二進制作為一個存儲單元,也就是一個字節。
一個存儲單元可以存儲一串二進制代碼,稱這串二進制代碼為一個存儲字,代碼位數位存儲字長。指令(地址碼+操作碼)就存放在存儲單元中。
存儲單元有編號,這些編號稱為存儲單元的地址號。存儲單元按地址尋訪。這些地址都是二進制的形式。
?
存儲體的另一種示意圖:
如果我們忽略存儲原件不計,那么存儲體的樣子是這樣的:
這個十分簡單的圖卻在分析主存中存儲單元地址的分配的時候,有重要作用。
我們既然都忽略了存儲原件,那么圖中的小方格就是存儲單元了。外面最大的矩形框自然是存儲體。
那存儲單元中的數字是什么東西??
這些數字形象化的代替了存儲單元的地址。當然,實際中都應該是二進制數。
?
MAR
存儲器地址寄存器。保存了存儲單元的地址(編號)。其位數反映存儲單元的個數。
為什么這么說呢?
比如有16個存儲單元,而存儲單元的地址是用二進制表示的,那么用4位二進制數就可以表示。MAR的位數就是4位。
那么相反,如果我們知道MAR有4位,那么存儲單元就有24個,16個存儲單元。
所以MAR反映存儲單元的個數。
?
MDR
存儲器數據寄存器,其位數反映存儲字長。
存放的是:存儲器中從存儲某單元讀出、或要寫入某存儲單元的數據(代碼)。
如果MDR=8,每個存儲單元進行訪問時,數據是8位,存儲字長8位。
?
主存儲器和CPU的聯系
要想完成一個完整的取或存操作,CPU(控制器)還得給主存加以各種控制信號(讀命令、寫命令、地址譯碼驅動信號等)。
現代計算機中:
1.主存由半導體集成電路構成
2.驅動器、譯碼器和讀寫電路均在存儲芯片中
3.MAR和MDR在CPU芯片中
4.存儲芯片和CPU芯片可以通過總線(系統總線)連接
5.地址總線用來指出存儲單元地址號。
總結
- 上一篇: Java实现阿拉伯数字转大写中文
- 下一篇: 代理猎手(Proxy Hunter)使用