五分鐘理解主存儲器的基本組成結構
在剛開始入門電腦組成原理的時候,很多小夥伴都會被主存儲器的基本結構,相關術語搞得一臉懵逼。今天,來聊下,什麼是主存儲器?主存儲器的基本組成結構是什麼?
主存儲器的基本組成結構
主存就是由上圖中所示的部件一起協同工作,裡面的其他部件,由於涉及其他的知識點,我們留到後面再介紹。
今天,我們用這張簡單的主存縮略圖,來介紹下主存儲器的基本組成。
存儲體
那麼,什麼是存儲體呢?我們把存儲體放大來看,這裡用我畫的圖做講解。
存儲體由哪些組成
存儲體由許多的存儲單元組成,每個存儲單元裡面又包含若干個存儲元件,每個存儲元件可以存儲一位二進位數0/1。
存儲單元:
存儲單元表示存儲二進位程式碼的容器,一個存儲單元可以存儲一連串的二進位程式碼,這串二進位程式碼被稱為一個存儲字,程式碼的位數為存儲字長。
在存儲體中,存儲單元是有編號的,這些編號稱為存儲單元的地址號。而存儲單元地址的分配有兩種方式,分別是大端、大尾方式、小端、小尾方式。
存儲單元是按地址尋訪的,這些地址同樣都是二進位的形式。
如圖
這個圖只顯示了存儲單元,裡面的存儲元件忽略不看的話,圖中的小方格就是存儲單元了,外面最大的矩形就是我們的存儲體,存儲單元中的數字就是地址了。
對於存儲體的組成,這裡引用一個形象的比喻:
存儲體,相當於一棟大樓,大樓內有很多個房間(存儲單元),每個房間又有很多個床位(存儲元件),二進位程式碼0表示一個對象,1表示另一個對象(事實上0表示低電平,1表示高電平)。
MAR
MAR叫做存儲地址暫存器,保存的是存儲單元的地址,其位數反映了存儲單元的個數。
用個例子來說明下:
比如有32個存儲單元,而存儲單元的地址是用二進位來表示的,那麼5位二進位數就可以32個存儲單元。那麼,MAR的位數就是5位。
在實際運用中,我們 知道了MAR的位數,存儲單元的個數也可以知道了。
MDR
MDR表示存儲數據暫存器,其位數反映存儲字長。
MDR存放的是從存儲元件讀出,或者要寫入某存儲元件的數據(二進位數)。
如果MDR=16,,每個存儲單元進行訪問的時候,數據是16位,那麼存儲字長就是16位。
主存儲器和CPU的工作原理
在現代計算中,要想完成一個完整的讀取操作,CPU中的控制器要給主存發送一系列的控制訊號(讀寫命令、地址解碼或者發送驅動訊號等等)。
說明:
1.主存由半導體元件和電容器件組成。
2.驅動器、解碼器、讀寫電路均位於主存儲晶片中。
3.MAR、MDR位於CPU的內部晶片中
4.存儲晶片和CPU晶片通過系統匯流排(數據匯流排、系統匯流排)連接。