8086匯編 計算機傳輸詳解
基礎了解
一、計算機存儲單元
計算機數據可以被存儲在內存與磁盤中,對於計算機來說他們不同的數據有着不同的含義,他們可以被分為指令與數據,而這些存儲在計算機的數據都會有着固定的大小,根據計算機的存儲單元來決定。
數據量:B、KB、MB、GB、TB...
存儲單元:https://www.cnblogs.com/xiangsikai/p/9468131.html
二、計算機內存存儲
計算機對於數據都是采取二進制的方式存儲,而對於CPU管理,數據主要以十六進制補碼的方式存儲在內存中,方便管理及使用。在匯編語言里不同的進制會采用字母表示(例1)。在存儲器被划分為若干個存儲單元,每個存儲單元從0開始順序編號,內存地址為16進制表示(例2)。
補碼:https://www.cnblogs.com/xiangsikai/p/12371424.html
例1
- 1000100111011000B (二進制)
- 89D8H (十六進制)
- 104730O(八進制)
- 35288D(十進制)
例2
一個存儲器有128個存儲單元,編號從0~127。
三、計算機中的總線
1、總線說明
在計算機中專門有連接CPU和其他芯片的導線,通常稱為總線。
- 物理上:一根根導線的集合。
- 邏輯上划分為: 地址總線、數據總線、控制總線。
2、地址總線
- CPU是通過地址總線來指定存儲單元的。
- 地址總線寬度,決定了可尋址的存儲單元大小。
- N根地址總線(寬度為N),對應尋址空間2N。
3、數據總線
- CPU與內存或其它器件之間的數據傳送是通過數據總線來進行的。
- 數據總線的寬度決定了CPU和外界的數據傳送速度。
例:向內存中寫入數據89D8H時的數據傳送
4、控制總線
- CPU通過控制總線對外部器件進行控制。
- 控制總線是一些不同控制線的集合
- 控制總線寬度決定了CPU對外部器件的控制能力。
5、其他說明
說明:8086類型的CPU地址總線寬度為20,尋址能力相當於2的20次方,數據總線為16,一次性傳遞數據2B,讀取1k數據需要512次。
內存的讀寫與地址空間
一、CPU對存儲器的讀寫
1、說明
CPU要想進行數據的讀寫,必須和外部器件進行三類信息的交互:
- 存儲單元的地址:(地址信息)
- 器件的選擇,讀或寫命令:(控制信息)
- 讀或寫的數據:(數據信息)
2、案例
機器碼: 101000000000001100000000
16進制:A00300
匯編指令:MOV AL,[3]
說明:
- CPU 地址線 獲取內存地址號3
- CPU 控制線發送讀信號
- CPU 數據線 將內存08數據讀取到 AL寄存器內
二、內存地址空間
1、內存空間
CPU地址總線寬度為N,尋址空間為2NB。
8086CPU的地址總線寬度為20,那么可以尋址1MB個內存單元,其內存地址空間為1MB。
RAM與ROM構成了整個內存空間。
說明:
- RAM 隨機存儲器,可讀可寫,斷電會丟失,動態存儲
- ROM 只讀存儲器,系統存儲的重要信息
2、將各類存儲器看作一個邏輯存儲器統一編址
- 所有的物理存儲器被看作一個由若干存儲單元組成的邏輯存儲器;
- 每個物理存儲器在這個邏輯存儲器中占有一個地址段,即一段地址空間;
- CPU在這段地址空間中讀寫數據,實際上就是在相對應的物理存儲器中讀寫數據。
3、內存地址空間的分配方案以8086PC機為例
每段地址空間對應的 內存地址空間段。