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
歡迎光臨 (http://www.raoushi.com/bbs/) | Powered by Discuz! X3.1 |