1) 電阻的作用 [上拉電阻] 接在電源和參考點之間的電阻
(1) 作用: 使參考點的電平默認為高電平[下拉電阻]
接在地和參考點之間的電阻
(1) 作用: 使參考點的電平默認為低電平
2) 局部性原理
程序執行時,訪問的數據和執行的指令往往在一個局部范圍內。 3)bus
可以接多個設備的一組線叫總線
(1) CPU總線
CPU(ALU和控制器)連接內存和IO設備的一組線, 用于傳輸: 地址、數據和控制
地址線
數據線
控制線
(2) 單總線(ARM)
內存和IO設備接在相同cpu總線上,表現為:
1. 內存和IO設備在同一地址空間(0 - 4G)
2. 訪問內存和IO設備的方法一樣(指令相同)
(3) 多總線(x86)
內存和IO設備接在不同組cpu總線上,表現為:
1. 內存和IO設備在不在同一地址空間(0 - 4G)
2. 訪問內存和IO設備的方法一樣(不同指令)
4)RISC & CISC RISC (精簡指令集): 可以不用硬件實現的功能,就用軟件實現。 CISC(復雜指令集):硬件可以實現的功能,都由硬件實現。 5)ARM處理器八種工作模式 (1).正常運行 user 運行應用程序 system 運行內核中的進程上下文 SVC 運行操作系統的管理代碼 (2)中斷運行 IRQ(中斷請求) 運行普通的設備中斷 FIQ(快速中斷請求)用于快速或安全設備的中斷 (3)異常處理 Abort 讀取指令或數據儲存失敗時,運行處理程序的模式 Undefined Instruction 解析指令時,發現指令非法,運行處理程序的模式 (4)Monitor Coetex-A 安全模式 6)權限 user非特權模式 其它 特權模式 7)寄存器 概念: 軟硬件接口,也是存儲單元。CPU內核寄存器,也是存儲單元,CPU利用寄存器的名字中的編號來訪問寄存器。 功能: R0——R15通用寄存器 R0——R7 非備份寄存器 R8——R14 備份寄存器 R13 (SP) 棧指針寄存器 R14(LR) 保存返回地址寄存器 R15(PC) Program Count (正在讀取的指令的地址) CPSR 狀態寄存器 SPSR 備份狀態寄存器 8) CPSR 狀態標識位(ALU運算時產生)
(1)N 計算的結果是否為負數(保存下來的結果的最高位)
1 負數
0 正數
例: 2 - 3 = -1 N = 1
0000 0000 0000 0000 0000 0000 0000 0010
+1111 1111 1111 1111 1111 1111 1111 1101
-----------------------------------------
1
2 - 1 = 1 N = 0
0000 0000 0000 0000 0000 0000 0000 0010
+1111 1111 1111 1111 1111 1111 1111 1111
-----------------------------------------
10
int x, y
....
if (x > y)
(2) Z 計算的結果是否為0(保存下來的結果)
1 為0
0 為非0
例: 2 - 2 = 0 Z = 1
0000 0000 0000 0000 0000 0000 0000 0010
+1111 1111 1111 1111 1111 1111 1111 1110
-----------------------------------------
10
int x, y
...
if (x == y)
(3) C 加法運算中,是否有進位 1 進位
0 不進位
減法運算中,是否有借位
1 沒有借位
0 有借位
例: 2 - 3 = -1 C = 0
0000 0000 0000 0000 0000 0000 0000 0010
+1111 1111 1111 1111 1111 1111 1111 1101
-----------------------------------------
1
2 - 3 = -1 C = 0
0000 0000 0000 0000 0000 0000 0000 0010
-0000 0000 0000 0000 0000 0000 0000 0011
-----------------------------------------
unsigned int x, y;
...
if (x > y)
(4)V 計算的結果是否超出補碼的范圍()
1 超出補碼的范圍
0 沒有超出補碼的范圍
例: 0x7fffffff - (-1) = -2^31 V = 1
0 0111 1111 1111 1111 1111 1111 1111 1111
+0 0000 0000 0000 0000 0000 0000 0000 0001
------------------------------------------
0 1 0
-2^31 - 1 V = 1
-2^31 +(-2^31) V = 1
-1 + -1 V = 0
1 1111 1111 1111 1111 1111 1111 1111 1111
1 1111 1111 1111 1111 1111 1111 1111 1111
-----------------------------------------
1 1 10
總結:
如果運算的結果為負數(保存), 并且V = 1, 說明原本(實際)的結果為正數
正數或0 V = 1, 負數
I位 屏蔽IRQ中斷
F位 屏蔽FIQ中斷
T位 1 表示正在運行thumb指令,處于thumb狀態
0 ARM ARM
模式位 0 - 4bit |