freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

嵌入式處理器ppt課件(2)-資料下載頁

2025-05-12 08:36本頁面
  

【正文】 果為 0,則 Z置 1,通常表示比較的結果相等?!?  C: 進位。無論是算術運算還是移位操作,只要指令操作產(chǎn)生進位輸出,則 C被設置?! ?V: 溢出。算術運算產(chǎn)生到符號位的溢出,則 V被設置?! ?Q: 指示增強型 DSP指令中是否出現(xiàn)溢出或飽和,僅出現(xiàn)在 ARM體系結構 v5以上版本的 E變量中。 第 2章 嵌入式處理器     對于程序員而言, C和 V的使用在大多數(shù)情況下都有一個簡單的條件測試,并不一定需要計算出條件碼的精確值即可得到需要的結果?!?  I、 F、 T和 M[4: 0]是控制位??刂莆坏母淖兣c異常的出現(xiàn)有關,另外在特權模式下,也可由軟件改變?! ?I: 置 1則禁止 IRQ中斷?! ?F: 置 1則禁止 FIQ中斷?!?  T: 對于 ARM體系結構 v4以上版本, T= 0指示 ARM執(zhí)行, T= 1指示 Thumb執(zhí)行;對于 ARM體系結構 v5以上版本, T= 0指示 ARM執(zhí)行, T= 1指示下一條指令引起未定義的指令異常?! ?M[4: 0]: 模式位。決定處理器的工作模式,即用戶、 FIQ、 IRQ、 管理、中止、未定義、系統(tǒng)。 第 2章 嵌入式處理器    (5) Thumb狀態(tài)的寄存器集。 Thumb狀態(tài)下的寄存器集是ARM狀態(tài)下寄存器集的子集。具體情況如圖 211所示。   第 2章 嵌入式處理器 第 2章 嵌入式處理器     6.異?!?  異常 (exception)是指由內(nèi)部或外部源產(chǎn)生從而需要處理器處理的一個事件。例如,外部中斷或試圖實行未定義的指令都會引起異常的發(fā)生。處理異常之前,處理器必須保存當前的狀態(tài),以便在異常處理完成后,能夠使原來的操作重新執(zhí)行?! ?ARM支持 7種類型的異常。對于每種異常,處理器將強制從異常對應的某個固定地址開始執(zhí)行程序。這些固定地址稱為異常向量。 第 2章 嵌入式處理器     異常出現(xiàn)時,相應異常模式下的 r14和 SPSR用來保存當前狀態(tài),其過程可描述如下:   r14_exception_mode=return link   SPSR_exception_mode=CPSR   CPSR[4:0]=exception mode number   CPSR[5]=0 /*使處理器在 ARM狀態(tài)下執(zhí)行 */   CPSR[7]=1 /*禁止新的 IRQ中斷 */   If exception_mode==Reset or FIQ then   CPSR[6]=1 /*禁止新的 FIQ中斷 */   PC=exception vector address 第 2章 嵌入式處理器     異常處理完成后返回的過程與進入異常處理的過程相逆,主要是需要將 SPSR的內(nèi)容恢復到 CPSR,將 r14的內(nèi)容恢復到 PC。 具體做法主要有兩種:使用帶 S位的數(shù)據(jù)處理指令,將 PC作為目的寄存器;使用帶恢復 CPSR的多加載指令。    多個異??赡軙瑫r發(fā)生,因此在 ARM中就通過給各個異常賦予不同的優(yōu)先級來確定處理異常的順序。 優(yōu)先級按照從高到低的順序排列如下:  復位 → 數(shù)據(jù)異常中止 → FIQ→ IRQ→ 預取指異常中止 → SWI、 未定義指令 (這兩種異常的指令編碼互斥,不可能同時發(fā)生 )  第 2章 嵌入式處理器     復位是處理器最高級別的異常 ,當 nRESET信號變?yōu)榈碗娖綍r產(chǎn)生復位。復位后處理器從確定的狀態(tài)重新啟動,如果有其他未解決的異常則都變得沒有關系。當 nRESET信號再變?yōu)楦唠娖綍r,處理器拷貝 PC和 CPSR的當前值到 r14_svc和 SPSR_svc, 強制 CPSR    M[4:0]為管理模式, CPSR的 I和 F位置位, T位清除, 強制 PC從地址 0x00處 取指,若需要重新執(zhí)行,則恢復到 ARM狀態(tài)。復位后,除 PC和 CPSR外的其他寄存器均不 確定。 第 2章 嵌入式處理器    7.存儲器和存儲器映射 I/O    與單片機等簡單系統(tǒng)相比,現(xiàn)在一些復雜的嵌入式系統(tǒng)中,存儲系統(tǒng)的功能更加強大,可能包含有多種現(xiàn)代計算機存儲技術,如 Cache、 Write Buffer、 MMU、 存儲保護機制、快速上下文切換等?! 』?ARM內(nèi)核的嵌入式系統(tǒng)可能包含 Flash、 ROM、SRAM、 SDRAM等多種類型的存儲器,不同類型的存儲器存取速度和數(shù)據(jù)寬度等都不盡相同。存儲系統(tǒng)的設計可以是多種多樣的,但是應當遵循一定的規(guī)則,否則可能會引起一些不必要的麻煩,例如:可能使存儲系統(tǒng)的實現(xiàn)比較困難;可能導致向其他 ARM處理器的移植出現(xiàn)麻煩;可能會引起一些標準軟件(如編譯器 )的不適應。 第 2章 嵌入式處理器    1) 地址空間    ARM體系結構使用 232個 8位字節(jié)的單一、線性地址空間,字節(jié)地址的范圍為 0~ 232- 1; 也可以將地址空間看作由 230個 32位的字組成,字地址可被 4整除,且按字對準,例如以 A為字對準地址的字地址由 A、 A+ A+ A+ 3共 4個字節(jié)組成;在ARM體系結構 v4以上版本中,也可以將地址空間看作由 231個 16位的半字組成,半字地址可被 2整除,且按半字對準,例如以 A為字對準地址的半字地址由 A、 A+ 1共 2個字節(jié)組成。 第 2章 嵌入式處理器   在程序中,通常使用普通的整數(shù)指令來計算地址。指令按照 正常順序執(zhí)行的情況下 ,下一條指令的地址=當前指令的地址+ 4。 對于分支指令, 目的地址=當前指令的地址+ 8+偏移量。如果計算結果在地址空間中向上或向下溢出,則指令會出現(xiàn)環(huán)繞,從而后果無法預知,因此 地址轉移不應超出0x00000000~ 0xFFFFFFFF的范圍 。 第 2章 嵌入式處理器    2) 存儲器格式    存儲器格式是指字、半字、字節(jié)在存儲器中存放的方式,也反映了存儲器中字、半字、字節(jié)之間的映射關系?!?  存儲器格式包括小端和大端兩種格式 。大、小端存儲格式如圖 213所示?! ≡?小端存儲格式 下,字或半字地址的 低字節(jié) (對準字節(jié) )存放在低地址 ;在 大端存儲格式 下,字或半字地址的 低字節(jié) (對準字節(jié) )存放在高地址 。下面舉例說明大、小端存儲格式對程序的影響,如圖 214所示。 ARM處理器的大、小端存儲格式是通過硬件配置的, 小端存儲格式是 ARM處理器的缺省格式 。第 2章 嵌入式處理器 第 2章 嵌入式處理器 第 2章 嵌入式處理器    3) 存儲器訪問對準    ARM體系結構強調(diào)存儲器訪問應當按照字或半字對準。如果沒有按照這種方式對準而進行存儲器訪問,則會造成很多麻煩。  對于非對準的取指,在 ARM工作狀態(tài)下,未對準的地址寫入 R15后,結果將不可預知或忽略地址位 [1:0];在 Thumb狀態(tài)下,未對準的地址寫入 R15后,通常忽略地址位 [0]。 第 2章 嵌入式處理器     對于非對準的數(shù)據(jù)訪問,體系結構可能定義成以下行為之一:   (1) 不可預知?! ?(2) 忽略使訪問非對準的低地址位。   (3) 忽略使訪問非對準的低地址位,但使用這些位控制加載數(shù)據(jù)的循環(huán)移位 (適用于 LDR和 SWP指令 )。 第 2章 嵌入式處理器    4) 存儲器映射 I/O    ARM系統(tǒng)實現(xiàn) I/O功能的標準方法是使用存儲器映射 I/O。 這種方法使用特定的存儲器地址,對這些地址加載和存儲,即可完成 I/O操作。通常,對存儲器映射 I/O地址加載對應輸入,對存儲器映射 I/O地址存儲對應輸出。另外,加載和存儲也可執(zhí)行控制功能,替代或附加到正常的 I/O操作上。  由于需要映射 I/O行為,因此這些特定的存儲地址與正常的存儲地址的使用方式有所差異。通常需要將存儲器映射 I/O的位置標識為非高速緩存的 (uncachable)和非緩存的 (unbufferable),目的是避免改變訪問模式的數(shù)目、類型、順序或定時。 第 2章 嵌入式處理器 ARM尋址方式   1.寄存器尋址    指令地址碼給出寄存器的編號, 寄存器中的內(nèi)容為操作數(shù)。例:   ADD R0, R1, R2 。 R0←R1+R2   這條指令的含義是將寄存器 R1和 R2的內(nèi)容相加,結果放入寄存器 R0中。 注意寫操作數(shù)的順序為:第 1個寄存器 R0為結果寄存器,第 2個寄存器 R1為第一操作數(shù)寄存器,第 3個寄存器 R2為第二操作數(shù)寄存器。 第 2章 嵌入式處理器     2.立即尋址   指令操作碼后的地址碼是立即數(shù),即操作數(shù)本身 。例:   ADD R3, R3, 1 。 R3←R3+1   AND R8, R7, amp。FF 。 R8←R7[7:0]    立即數(shù)的表示以 “ ” 為前綴 , 十六進制的立即數(shù)在 “ ”后面加 “ amp。” 符號?! 〉?1條指令將 R3的內(nèi)容加 1,結果放入 R3中;第 2條指令將R7的 32位值與立即數(shù) 0FFH邏輯與,結果是將 R7的低 8位放入 R8中。 第 2章 嵌入式處理器     3.寄存器移位尋址    寄存器移位尋址是 ARM指令集特有的尋址方式 。 第 2個操作數(shù)與第 1個操作數(shù)結合之前,選擇進行移位操作。例:   ADD R3, R2, R1, LSL 3 。 R3←R2+8R1    寄存器 R1的內(nèi)容邏輯左移 3位,再與寄存器 R2的內(nèi)容相加,結果放入 R3中?! ?可采取的移位操作包括 :   LSL: 邏輯左移 (Logical Shift Left)。 寄存器中字的低端空出的位補 0。 第 2章 嵌入式處理器     LSR: 邏輯右移 (Logical Shift Right)。 寄存器中字的高端空出的位補 0?!?  ASR: 算術右移 (Arithmetic Shift Right)。 算術移位的對象是帶符號數(shù)。在移位過程中必須保持操作數(shù)的符號不變。若源操作數(shù)為正數(shù),則字的高端空出的位補 0;若源操作數(shù)為負數(shù),則字的高端空出的位補 1?!?  ROR: 循環(huán)右移 (ROtate Right)。 從字的最低端移出的位填入字的高端空出的位?! ?RRX: 擴展為 1的循環(huán)右移 (Rotate Right eXtended by 1 place)。 操作數(shù)右移 1位,空位 (位 [31])用 “ C” 標志填充。 第 2章 嵌入式處理器 第 2章 嵌入式處理器     4.寄存器間接尋址    指令地址碼給出寄存器的編號,寄存器為地址指針,存放操作數(shù)的有效地址。 例:LDR R0, [R1] 。 R0←[R1]STR R0, [R1] 。 R0→[R1]  第 1條指令將寄存器 R1所指向的地址單元的內(nèi)容加載到寄存器 R0中。第 2條指令將寄存器 R0的內(nèi)容存入寄存器 R1指向的地址單元。 第 2章 嵌入式處理器    5.基址尋址    基址尋址是將基址寄存器的內(nèi)容與指令中給出的位移量相加,形成操作數(shù)有效地址。 基址尋址用于訪問基址附近的存儲單元,包括基址加偏移量尋址和基址加索引尋址,可以將寄存器間接尋址看作是位移量為 0的基址加偏移量尋址?! ?1) 基址加偏移量尋址  基址加偏移量尋址中的 偏移量最大為 4 KB, 可分為前索引尋址和后索引尋址。  第 2章 嵌入式處理器    前索引尋址 舉例:   LDR R0, [R1, 4] 。 R0←[R1+4]    這條指令是把基址 R1的內(nèi)容加上偏移量 4后所指向的存儲單元的內(nèi)容加載到寄存器 R0中?! ?后索引尋址 舉例:   LDR R0, [R1], 4 。 R0←[R1]。 R1← R1+4    第 2章 嵌入式處理器     后索引尋址是指基址不帶偏移作為傳送的地址,傳送后自動索引?!?  這種改變基址寄存器指向下一個傳送的地址對數(shù)據(jù)塊傳送很有用,還可以采用帶自動索引的前索引尋址實現(xiàn)。例:   LDR R0, [R1, 4]! 。 R0←[R1]。 R1←R1+4  這兩條指令功能相同, 符號 “ ! ” 表明指令在完成數(shù)據(jù)傳送后更新基址寄存器。 ARM的這種自動索引不消耗額外的時間。 第 2章 嵌入式處理器    2) 基址加索引尋址    基址加索引尋址是指先指定一個基址寄存器,再指定另一個寄存器 (稱為索引 ),其值作為位移加到基址上形成存儲器地址。例:   LDR R0, [R1, R2] 。 R0←[R1+R2]    這條指令是將 R1和 R2的內(nèi)容相加得到操作數(shù)的地址,再將此地址單元的內(nèi)容加載 到 R0。 第 2章 嵌入式處理器    6.多寄存器尋址    多寄存器尋址是指一次可以傳送多個寄存器的值,允許一條指令一次傳送 16個寄存器的任何子集,包括 16個寄存器 。例:   LDMIA R1, {R0, R2, R5} 。 R0←[R1]。 R2←[R1+4]。 R5←[R1+8]  由于傳送的數(shù)據(jù)總是 32位的字,因此基址寄存器 R1應當字對準。 這條指令是將 R1指向的連續(xù)存儲單元的內(nèi)容送到寄存器 R0、 R2和 R5。 第 2章 嵌入式處理器     7.堆棧尋址  堆棧是一種按照特定順序進行存取的存儲區(qū)。這種特定的順序是指 “ 后進先出 ” (LIFO)或 “ 先進
點擊復制文檔內(nèi)容
教學課件相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1