00、計算機的工作模式
關鍵詞: CPU、總線、記憶體、其他裝置
了解: 計算機僅通過cpu執行資料運算,中間結果儲存到記憶體,最終運算結果傳遞給到其他程序處理
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLi0zaHRGcWdUYuVzVa9GczoVdG1mWfVGc5RHLwkzX39GZhh2csATMflHLwEzX4xSZz91ZsADMx8FdsYkRGZkRG9lcvx2bjxSa2EWNhJTW1AlUxEFeVRUUfRHelRHL2EzXlpXazxyayFWbyVGdhd3LcV2Zh1Wa9M3clN2byBXLzN3btg3PnVGcq5CN4ImNjJDOiZ2MlRWNxYjN4ITZykjN2EjY2UWN1ATM58CX4IzLcZDMxIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjL2M3Lc9CX6MHc0RHaiojIsJye.jpeg)
- CPU是這台計算機的大腦
- 總線組成CPU和其他裝置的高速通道
- 記憶體存儲媒體,儲存CPU計算的中間結果
- 其他裝置,顯示卡/顯示器、磁盤控制器/磁盤、usb控制器/滑鼠鍵盤等
01、CPU和記憶體
關鍵詞: 運算單元、資料單元、控制單元、代碼段、資料段、指令指針寄存器、程序切換、總線
了解: CPU内部有3個單元組成。當程式加載到記憶體時,cpu通過總線讀取程序的資料段(資料)和代碼段(指令),将運算後的結果寫回資料段。
- 運算單元隻管算,例如做加法、做位移等等。
- 資料單元包括 CPU 内部的緩存和寄存器組,空間小速度快,可以暫時存放資料和運算結果。
- 控制單元是一個統一的指揮中心,它可以獲得下一條指令,然後執行這條指令。
- 記憶體分段這裡簡單分為代碼段和資料段兩塊,分别存放指令和資料。
- 指令指針寄存器是控制單元部分,存放下一條指令在記憶體中的位置。
- 程序切換CPU 裡有兩個寄存器,專門儲存目前處理程序的代碼段的起始位址,以及資料段的起始位址(A程序切換B程序後,指令指針寄存器也會指向B的代碼段)。
- 總線有位址總線的位數決定尋址範圍,資料總線的位數決定一次讀取多少資料。
02、x86平台
關鍵詞: 開放、統一、相容
了解: 約定俗成
03、x86平台處理器(8086處理器和32位處理器)
04、總結
05、練習題
# 了解下彙編指令:
mov, call, jmp, int, ret, add, or, xor, shl, shr, push, pop, inc, dec, sub, cmp
# 答案:
move a b :把b值賦給a,使a=b
call和ret :call調用子程式,子程式以ret結尾
jmp :無條件跳
int :中斷指令
add a b : 加法,a=a+b
or :或運算
xor :異或運算
shl :算術左移
ahr :算術右移
push xxx :壓xxx入棧
pop xxx: xxx出棧
inc: 加1
dec: 減1
sub a b : a=a-b
cmp: 減法比較,修改标志位
參考資料
- 極客時間 - x86架構
- x86 Assembly Guide
- Linux學習筆記《六》