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

正文內(nèi)容

嵌入式系統(tǒng)設(shè)計報告-資料下載頁

2025-10-19 18:42本頁面
  

【正文】 電源域基于架構(gòu)的軟件控制嵌套矢量中斷控制器(NVIC)低延遲、低抖動中斷響應不需要匯編編程以純C 語言編寫的中斷服務(wù)例程工具和RTOS 支持廣泛的第三方工具支持Cortex 微控制器軟件接口標準(CMSIS)最大限度地增加軟件成果重用CoreSight調(diào)試和跟蹤JTAG 或2 針串行線調(diào)試(SWD)連接支持多處理器支持實時跟蹤(10)SecurCore系列微處理器l 為安全要求較高應用設(shè)計。智能卡n SIM、ID、銀行業(yè)、付費電視、公共交通、電子政務(wù) ARM處理器模式(1)32位ARM處理器工作狀態(tài)32位ARM處理器有三種工作狀態(tài) l ARM狀態(tài)。對應32位ARM指令集 l Thumb狀態(tài)。對應16位Thumb指令集 l Jazelle狀態(tài)。對應8位的Jazelle指令集用于在處理器指令層次對JAVA加速只有進入特定的狀態(tài),相應的指令集才有效。CPSR的J(Jazelle)和T(Thumb)位反映程序的狀態(tài)。Thumb2 l 與現(xiàn)有 ARM 和 Thumb 解決方案向后兼容,同時擴展了 Thumb 指令集的可用功能; l 使用少于 31% 的內(nèi)存以降低系統(tǒng)成本; l 提供比現(xiàn)有高密度代碼高出 38% 的性能。(2)64位ARM處理器工作狀態(tài)ARMv8架構(gòu)兩種主要執(zhí)行狀態(tài):AArch64, AArch32 AArch64:引入了一套新的指令集“A64”專門用于64位處理 AArch32:兼容現(xiàn)有的32位ARM指令集 ARMv8架構(gòu)支持三個主要指令集A32(或 ARM):32 位固定長度指令集T32(Thumb):以 16 位固定長度指令集的形式引入,在引入 Thumb2 技術(shù)時增強為 16 位和 32 位混合長度A64:提供與 ARM 和 Thumb 指令集類似功能的64位固定長度指令集(3)ARM處理器運行模式l 用戶模式(usr):ARM處理器正常的程序執(zhí)行狀態(tài)。l 快速中斷模式(fiq):用于高速數(shù)據(jù)傳輸或通道處理 l 外部中斷模式(irq):用于通用的中斷處理。l 管理模式(svc):操作系統(tǒng)使用的保護模式。l 數(shù)據(jù)訪問終止模式(abt):當數(shù)據(jù)或指令預取終止時進入該模式,可用于虛擬存儲及存儲保護。l 系統(tǒng)模式(sys):運行具有特權(quán)的操作系統(tǒng)任務(wù)。l 未定義指令中止模式(und):當未定義的指令執(zhí)行時進入該模式,可用于支持硬件協(xié)處理器的軟件仿真。運行模式可通過軟件改變,也可通過外部中斷或異常處理改變。用戶模式之外的模式稱為非用戶模式或特權(quán)模式。除用戶模式和系統(tǒng)模式之外的5種稱為異常模式,常用于處理中斷和異常、訪問受保護的系統(tǒng)資源等情況。 ARM體系的異常處理(1)ARM體系中3種控制程序執(zhí)行流程的方式: l 順序執(zhí)行 l 跳轉(zhuǎn)分支指令l 異常中斷:處理器暫時中斷當前數(shù)據(jù)流的現(xiàn)象。(2)對異常的響應。ARM處理器執(zhí)行完當前指令后: l 進入與特定的異常相應的操作模式;l 將引起異常指令的下一條指令的地址保存到新模式的R14中;l 將CSPR原值保存到新模式的SPSR中;l 通過設(shè)置CSPR的第7位來禁止IRQ。如果為FIQ中斷,則還要設(shè)置CSPR的第6位來禁止FIQ;l 給PC強制賦向量地址值。(3)中斷向量表指定了異常中斷及其處理程序的對應關(guān)系,它通常存放在存儲地址的低端。大小為32字節(jié),其中每個異常中斷占據(jù)4字節(jié)空間,用于存放一個跳轉(zhuǎn)指令或者一個向PC寄存器中賦值的指令。(4)異常優(yōu)先級:當幾個異常中斷同時發(fā)生時,就必須按照一定的次序來處理這些異常中斷。(5)從異常返回將連接寄存器LR的值減去相應偏移量后送到PC中; 將SPSR復制回CPSR中;若在進入異常處理時設(shè)置了中斷禁止位,則要清除。通過普通指令控制PC返回軟件中斷的返回指令 MOVS R15, R14。將鏈接寄存器內(nèi)容移入PC并轉(zhuǎn)換模式 IRQ,F(xiàn)IQ和預取異常終止中斷的返回指令 SUBS R15, R14, 4 數(shù)據(jù)終止異常的返回指令 SUBS R15, R14, 8。異常在導致異常的指令的下一條指令后產(chǎn)生 ARM內(nèi)部寄存器(1)寄存器結(jié)構(gòu)32位ARM有31個32位通用寄存器,6個狀態(tài)寄存器。通用寄存器可用來保存數(shù)據(jù)和地址信息,用R為前綴加寄存器序號表示15個通用寄存器(R0~R14)、一個或兩個狀態(tài)寄存器及程序計數(shù)器可在任意時間和處理器模式下被訪問,有些處理器模式擁有自身獨立的寄存器(2)通用寄存器分成三類:R0~R7:未分組寄存器。每個未分組寄存器在所有的處理器模式下都表示同一個物理寄存器。R8~R14:分組寄存器。每個分組寄存器與一個用戶模式的寄存器對應。R15:程序計數(shù)器PC。分組寄存器R8~R14可分為兩組:R8~R12:每個寄存器對應兩組不同的物理寄存器,一組是FIQ模式下的,記為R8_fiq~R12_fiq, 另一組是除FIQ模式外的:R8_usr~R12_usr。R13~R14:分別對應6個不同的物理寄存器。用戶模式和系統(tǒng)模式共用一個寄存器,另外5個對應其余5種。R13 _ R14 _可以是以下幾種模式之一:usr、svc、abt、und、irq和fiq。R13:被稱為堆棧指針SP,但沒有任何指令強制性使用R13作為堆棧指針R14又被稱為鏈接寄存器LR(Link Register)。當調(diào)用子程序時,返回地址被自動保存到R14。由于ARM采用了多級流水線技術(shù),所以當正常讀取PC值時,該值為當前指令地址值加8,或是加12。 ARM體系的存儲系統(tǒng)(1)地址空間將存儲器看作是從零地址開始的字節(jié)的線性組合 03字節(jié):第1個存儲的字數(shù)據(jù) 47字節(jié):第1個存儲的字數(shù)據(jù) 依次排列(2)存儲器格式 大端格式小端格式(3)存儲器訪問對準無論取指還是內(nèi)存訪問都以字、半字或字節(jié)對準訪問 a)非對齊的指令預取操作ARM狀態(tài):將一個非對齊地址寫入PC,數(shù)據(jù)的第0位和第1位被忽略,PC的bit[1:0]為0 Thumb狀態(tài):數(shù)據(jù)的第0位被忽略,PC的bit[0]為0 b)非對齊地址內(nèi)存的訪問操作(LOAD/STORE操作)執(zhí)行結(jié)果不可預知忽略字單元地址低兩位的值,半字單元最低位的值(分別對應訪問字和半字)在LDR和SWP指令中,對存儲器訪問忽略造成地址不對齊的低地址位,然后使用這些低地址位控制裝載數(shù)據(jù)的循環(huán) ARM指令系統(tǒng)及程序設(shè)計基礎(chǔ)教學目的:使學生對ARM指令系統(tǒng)及程序設(shè)計的基礎(chǔ)知識有一定的了解。教學重點:ARM指令系統(tǒng)。教學難點:ARM程序設(shè)計的基礎(chǔ)知識。教學方法與教學手段:課堂講授,多媒體教學。教學時間:4課時。教學內(nèi)容 ARM尋址方式(1)尋址方式處理器根據(jù)指令中給出的地址信息尋找物理地址的方式。尋找操作數(shù)或操作數(shù)地址的方式。(2)立即尋址也叫立即數(shù)尋址,操作數(shù)本身在指令中給出,該操作數(shù)被稱為立即數(shù)。例如: ADD R0, R0, 1。R0223。R0+1 立即數(shù)須以“”為前綴,對于十六進制表示的立即數(shù),還需在“”后加上“0x”或“amp。”。(3)寄存器尋址操作數(shù)存在寄存器中。例如: ADD R0, R1, R2。R0223。R1+R2(4)寄存器間接尋址以寄存器的值作為操作數(shù)地址。例如: ADD R0, R1, [R2]。R0 223。 R1+[R2](5)基址變址尋址a)基址加偏移的尋址方式將寄存器內(nèi)容與指令中給出的地址偏移量相加,得到操作數(shù)的有效地址。如: LDR R0, [R1, 4]。R0 223。 [R1+4]前變址:基址加變址作為操作數(shù)地址。后變址:基址作為操作數(shù)的地址,傳送后自動更新基址寄存器的值。b)基址加索引的尋址方式將基址寄存器的值與索引寄存器的值相加,形成操作數(shù)的有效地址。例如: LDR R0, [R1, R2]。R0 223。 [R1+R2] c)多寄存器尋址一條指令可完成多個(最多16個)寄存器值的傳送。例如:LDMIA R0, {R1, R2, R4}。R1 223。 [R0] 22。R2 223。 [R0+4]。R4 223。 [R0+8](6)寄存器移位尋址操作數(shù)為寄存器中數(shù)做相應的移位而得到 例如:ARM中的移位或循環(huán)移位操作: l LSL:邏輯左移(Logical Shift Left)l LSR:邏輯右移(Logical Shift Right)ADDR0, R1, R2, LSL 3。R0223。R1+8R2 l ASR:算術(shù)右移(Arithmetic Shift Right)。移位過程中保持符號位不變,若源操作數(shù)為正數(shù),則字的高端空出的位補0。若源操作數(shù)為負數(shù),則字的高端空出的位補1。l ROR:循環(huán)右移(Rotate Right)。從字的最低端移出的位依次填入字的高端空出的位。l RRX:擴展的循環(huán)右移(Rotate Right Extended)。操作數(shù)向右移一位,左側(cè)空位由狀態(tài)寄存器C位填充。當移位的類型為RRX時,無需指定移位的位數(shù),其它的則須指定移位的位數(shù)。(7)相對尋址以PC當前值作為基地址,指令中的地址標號作為位移量,兩者相加后得到操作數(shù)的有效地址。例如:BLNEXTMOV ??PC, LR。從子程序返回 NEXT。跳轉(zhuǎn)至子程序 NEXT ??(8)堆棧尋址a)堆棧:按先進后出(FILO)的方式工作,使用堆棧指針(Stack Pointer, SP)指示當前操作位置。b)根據(jù)棧指針的指向位置可將堆棧分為l 滿堆棧:SP指向最后壓入堆棧的數(shù)據(jù)。l 空堆棧:SP指向下個將放入數(shù)據(jù)空位置c)根據(jù)堆棧的生成方式可將堆棧分為l 遞增堆棧(Ascending Stack):堆棧由低地址向高地址生成。l 遞減堆棧(Descending Stack):由高地址向低地址生成。d)ARM支持四種類型堆棧工作方式滿遞增堆棧:SP指向最后壓入的數(shù)據(jù),且由低地址向高地址生成。滿遞減堆棧:SP指向最后壓入的數(shù)據(jù),且由高地址向低地址生產(chǎn)。空遞增堆棧:SP指向下個將放入數(shù)據(jù)的空位置,且由低地址向高地址生成。空遞減堆棧:SP指向下個將要放入數(shù)據(jù)的空位置,且由高地址向低地址生成。 ARM指令集(1)ARM指令集分類 加載/存儲指令數(shù)據(jù)處理指令 分支指令狀態(tài)寄存器訪問指令 異常/中斷指令 協(xié)處理器指令(2)ARM指令的特點 所有指令都是32bit;大多數(shù)指令都在單周期內(nèi)完成; 所有指令都可以條件執(zhí)行; load/store體系結(jié)構(gòu);指令集可以通過協(xié)處理器擴展。(3)ARM指令的格式(4)ARM指令的條件執(zhí)行所有ARM指令都可包含一個可選的條件碼,只有當CPSR中條件標志位滿足指定條件時,指令才會被執(zhí)行。否則以NOP指令通過流水線。(5)加載/存儲指令Load:將內(nèi)存中數(shù)據(jù)裝載到寄存器 Store:將寄存器中的數(shù)據(jù)存入內(nèi)存 a)單寄存器傳輸指令{} {B} Rd, addressing1 {} SB | H | SH Rd, addressing2 {} {B} Rd, LABEL LDR/STR指令:寄存器在前,地址在后 LDM/STM指令:地址在前,寄存器在后LABEL:相對PC的尋址方式。編譯器在匯編時,會將標號LABEL匯編成PC的偏移量存入該指令的立即數(shù)字段。B: Byte;S: Sign;H: Half LDR/STR:讀/寫一個32bit字到/從一個32位寄存器,要求讀/寫地址字對齊。LDRB:內(nèi)存8bit字節(jié)223。32bit寄存器;不要求地址對齊,寄存器高24位清零。STRB:寄存器低8位223。內(nèi)存的某個地址;不要求地址對齊。LDRH:16bit半字223。 32bit寄存器;要求地址半字對齊,寄存器的高16bit清零。STRH:寄存器低16bit223。內(nèi)存;要求地址半字對齊。LDRSH:有符號16bit半字223。32bit寄存器中;要求地址半字對齊,寄存器高16bit根據(jù)符號位擴展。LDRSB:有符號8bit字節(jié)223。32bit寄存器中;不要求地址對齊,寄存器高24bit根據(jù)符號位擴展?!皵?shù)據(jù)”一列指的是這條指令所訪問的存儲單元“基址寄存器”一列的內(nèi)容是指執(zhí)行指令之后“基址寄存器”的內(nèi)容 b)多寄存器傳輸指令{} Rn{!}, {^} LDM / STM:從由基址寄存器指示的一片連續(xù)存儲器到寄存器列表所指示的多個寄存器之間傳送數(shù)據(jù)。!:表示執(zhí)行完操作后將變化之后的地址值寫入基址寄存器^:對于LDM操作,如恢復的寄存器中含有PC(R15)寄存器,則指令執(zhí)行的同時CPU自動將SPSR拷貝到CPSR中,例如:LDMFD {R0R12, LR, PC}^ 數(shù)據(jù)的傳送發(fā)生在User用戶模式下的寄存器,而非當前模式寄存器,例如:LDMDB SP, {R0LR}^ 例如:STMIA R0!, {R1R5}。以R0為地址指針,將R1R5保存到內(nèi)存,指針向上移動c)交換指令SWP {B} {} Rd, Rm, [Rn] SWP:字交換;SWPB:字節(jié)交換 Rd 223。 [Rn], [Rn] 223。 Rm 例如:SWP R1, R2, [R3]。R1223。[R3] ,[R3]223。 R2 SWP R1, R1, [R2]。R1與[R2]內(nèi)容互換(6)數(shù)據(jù)處理指令a)數(shù)據(jù)傳送指令MOV {cond} {S} Rd, Operand 例如: MOV R1, R0 MOVEQ PC, R14。將R14值傳到PC b)數(shù)據(jù)取反傳送指令 MVN {cond} {S} Rd, Operand 例如:MVN R1, 2。將立即數(shù)2取反送至R1 c)算術(shù)運算指令ADD、ADC ADD|ADC {cond} {S} Rd, Oper1, Oper2 例如: ADDS ADCS ADCS ADC R0, R4, R8 R1, R5, R9。加低端的字。帶進位加第二字R2, R6, R10。帶進位加第三字 R3, R7, R11。帶進位加第四字可實現(xiàn) 128位加法 SUB:減法指令SUB {cond} {S} Rd, Oper1, Oper2 SBC:帶借位減法指令SBC {cond} {S} Rd,
點擊復制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1