.存儲單元
存儲器被分成若干個存儲單元,每個存儲單元從0開始順序編號。電子計算機的最小信息單位是bit。8個bit組成一個Byte(雖然現在一個字節可能不是8位,有寬字符出現了,但是一般我們的機器都是8位1字節的),也就是通常所說的字節。微型機存儲器的存儲單元可以存儲一個Byte,即8個二進制位。一個存儲器如果有128個存儲單元,那么它就可以存儲128個Byte。
微機存儲器的容量是以字節為最小單位來計算的。
對於擁有128個存儲單元的存儲器,我們可以說,它的容量是128個字節。常見計量容量換算:
1KB=1024B 1MB=1024KB 1GB=1024MB 1TB=1024GB
.CPU對存儲器的讀寫
CPU要想進行數據讀寫,必須和外部器件(標准說法是芯片)進行下面三類信息的交互:
1.存儲單元的地址(地址信息)
2.器件的選擇(即選擇要對那個一個器件進行操作 ),讀或寫的命令(控制信息)
3.讀或寫的數據(數據信息)
但是,CPU是通過上面講地址、數據和控制信息傳到存儲芯片中的呢?電子計算機能處理、傳輸的信息都是電信號,電信號當然要用導線傳送。在計算機中專門有鏈接CPU和其他芯片的導線,通常稱為總線。總線從屋里上來講,就是一根根導線的集合。根據傳輸信息的不同,總線從邏輯上分為三類,地址總線,數據總線和控制總線。
.地址總線
CPU是通過地址總線來指定存儲單元的。一根導線在穩定狀態只有兩種狀態,0或者1。一個CPU有N跟地址總線,則可以說這個CPU的地址總線的寬度為N。這樣的CPU最多可以尋找2的N次方個內存單元,即2的N次方Byte。
.數據總線
數據總線的寬度決定了CPU和外界的數據傳送速度。8根數據總線一次可以傳送一個8位二進制數據,即一個字節。
8088CPU數據總線寬度為8, 8086CPU數據總線寬度為16。如果傳輸數據89D8H,8088需要分兩次傳輸,而8086只用傳輸一次。
.控制總線
CPU對外部器件的控制是通過數據總線來進行的。有多少根控制總線,就意味着CPU提供了對外部器件的多少種控制。控制總線的寬度決定了CPU對外部器件的控制能力。
.內存地址空間
什么是內存空間?如果一個CPU地址總線寬度為10,那么可以尋址1024個內存單元,即尋址能力為1KB。這1024個可尋址的內存單元就構成這個CPU的內存地址空間。
.主板
每一台PC機都有一個主板,主板上的器件通過總線相連。這些器件有CPU、存儲器、外圍芯片組、擴展插槽等。擴展插槽上一般插有RAM內存條和各類接口卡。
.接口卡
CPU對外部設備都不能直接控制,比如顯示器、音箱、打印機等。直接控制這些設備工作的是插在擴展插槽上的接口卡。擴展插槽通過總線個CPU相連,所以接口卡也通過總線和CPU相連。CPU可以直接控制接口卡,從而實現對外設的間接控制。
.各類存儲器芯片
RAM:隨機存儲器,可讀可寫,但必須帶電存儲,掉電后存儲內容丟失。
ROM:只讀存儲器,只能讀取數據不能寫入,掉電后內容不丟失。
.內存地址空間
CPU在操控存儲器的時候,把它們當做內存來對待。把它們總的看作一個由若干存儲單元組成的邏輯存儲器,這個邏輯存儲器就是我們說說的內存地址空間。在匯編這門課中,我們面對的就是內存地址空間。內存地址空間的大小受CPU地址總線的寬度限制。8086CPU地址總線寬度為20,可以定位2的10次方個內存單元,即內存空間大小為1MB,80386CPU地址總線寬度為32,則內存地址空間最大為4GB。我們基於一個計算機硬件系統編程的時候,必須知道這個系統中的內存地址空間分配情況。這樣才能保證讀寫操作是在預期存儲器中進行的。最終運行程序的是CPU,我們用匯編編程的時候,必須從CPU的角度思考問題。