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

正文內(nèi)容

[信息與通信]嵌入式系統(tǒng)-chapter2-嵌入式硬件系統(tǒng)基礎(chǔ)g-資料下載頁

2025-04-14 00:35本頁面
  

【正文】 3:0] 被一些 SIMD指令使用 – E 位控制讀取 /存儲的大小端 – A 位關(guān)閉不準(zhǔn)確的數(shù)據(jù)異常中斷 – IT [abcde] 用于 Thumb2指令組的條件執(zhí)行 10 8 9 19 GE[3:0] E A IT cond_abcde 電子科技大學(xué)嵌入式軟件工程中心 ARM微處理器:程序狀態(tài)寄存器 ? 模式控制位 M0M4 電子科技大學(xué)嵌入式軟件工程中心 ARM指令集 ? 所有的指令長度都是 32位 / 許多指令都在一個單獨周期內(nèi)執(zhí)行 ? 指令是條件執(zhí)行的 ? Load(加載 ) / store(存儲 )架構(gòu) – 數(shù)據(jù)處理指令示例 SUB r0,r1,5 ADD r2,r3,r3,LSL 2 ANDS r4,r4,0x20 ADDEQ r5,r5,r6 – 分支指令示例 B Label – 內(nèi)存訪問指令示例 LDR r0,[r1] STRNEB r2,[r3,r4] STMFD sp!,{r4r8,lr} r0 = r1 5 r2 = r3 + (r3 * 4) r4 = r4 AND 0x20 (set flags) IF EQ condition true r5 = r5 + r6 Branch forwards or backwards relative to current PC (+/ 32MB range) Load word at address r1 into r0 IF NE condition true, store bottom byte of r2 to address r3+r4 Store registers r4 to r8 and lr on stack. Then update stack pointer 電子科技大學(xué)嵌入式軟件工程中心 Thumb指令集 ? Thumb是一個 16位的指令集 – 對 C代碼的緊密度做了優(yōu)化 (大約是 ARM代碼大小的 65%) – 對窄內(nèi)存的性能進(jìn)行了提高 – 是 ARM指令集的功能子集 ? 對大多數(shù)的 Thumb指令而言 – 沒有使用條件執(zhí)行 ? 標(biāo)志一直都是置位的 – 源寄存器和目標(biāo)寄存器是相同的 – 只使用了低端寄存器 – 常量有大小的限制 – 沒有使用內(nèi)嵌桶型移位器 (inline barrel shifter) ? 通過使用 BX指令來切換 ARM態(tài)和 Thumb態(tài) ? Thumb不是一個 “ 常規(guī) ” 的指令集 ! – 對指令的約束有時是不一致的 – 一般由編譯器生成,而不是手動編寫代碼 電子科技大學(xué)嵌入式軟件工程中心 ARM和 Thumb的性能對比 0 5000 10000 15000 20220 25000 30000 35000 Dhrystone / sec @20MHz on ARM7TDMI ARM Thumb 32 bit 16 bit 16 bit with 32 bit stack 內(nèi)存寬度 (0等待狀態(tài) ) 電子科技大學(xué)嵌入式軟件工程中心 Thumb2 指令集 ? Thumb2 主要是對 Thumb指令集架構(gòu) (ISA)的擴(kuò)展指令 – 增加了 32位指令實現(xiàn)了幾乎所有的 ARM指令集架構(gòu)的功能 – 保留了完整的 16位 Thumb指令集 – ARM1156T2S和 Cortex 系列支持 Thumb2 – CortexM3只支持 Thumb2! ? 設(shè)計目標(biāo) :以 Thumb的指令密度達(dá)到 ARM的性能 – 不需要手動選擇指令集 ? 減少了剖析代碼和理解執(zhí)行方式的需求 ? 編譯器可以自動地選擇 16位和 32位指令的混合 – 可以訪問 ARM態(tài)的行為 ? 異??梢灾苯犹幚? ? 可以訪問協(xié)處理器 ? 可以完成 v5TE的高級數(shù)據(jù)處理 – 條件執(zhí)行可以通過 IfThen (IT) 指令 ? 14條緊接指令可以條件性地執(zhí)行 電子科技大學(xué)嵌入式軟件工程中心 Thumb 2的性能 /密集度 性能 代碼密度 100% ARM code 100% Thumb code Random mix ?Profiled? mix Thumb2 電子科技大學(xué)嵌入式軟件工程中心 指令流 執(zhí)行單元 ARM Thumb 譯碼階段 執(zhí)行階段 取指階段 Jazelle ? Jazelle使得 ARM核可以執(zhí)行 8位的 Java字節(jié)碼 – 95%的字節(jié)碼可以用硬件執(zhí)行 (典型 ) ? 普通 JVM: Caffeinemarks/MHz ? ARM9EJ: Caffeinemarks/MHz – 功耗效率顯著提高 – 相比 ARM9E, ARM9EJS多了大約 12K個額外的門電路 – ARM JTEK (Java Technology Enabling Kit)提供了支持代碼 ? 當(dāng)處理器在 Jazelle態(tài)執(zhí)行時 : – 所有的指令都是 8位寬 – 處理器進(jìn)行字訪問一次讀 4條指令 Jazelle 電子科技大學(xué)嵌入式軟件工程中心 ARM微處理器:異常 ? 異常是由內(nèi)部或者外部原因引起的 , 當(dāng)異常發(fā)生時 CPU將暫停執(zhí)行當(dāng)前指令自動到指定的向量地址讀取指令并且執(zhí)行 。 – 在 X86上 , 當(dāng)有異常發(fā)生時 CPU是 到指定的向量地址讀取要 執(zhí)行的程序的地址 – 而 ARM是 到向量地址的地方 讀取指令 , 也就是ARM的向量地址處存放的是一條指令 ( 一般是一條跳轉(zhuǎn)指令 ) 電子科技大學(xué)嵌入式軟件工程中心 ARM微處理器:異常 ? X86體系的中斷跳轉(zhuǎn) 內(nèi)存地址 IDT表 0x0000 0x0004 0x0008 0x000c 0x0010 中斷服務(wù)程序入口地址ISR_addr . . . . . 0x003f4 0x003f8 0x003fc ISR() { 保存現(xiàn)場 中斷處理 恢復(fù)現(xiàn)場 } 中斷到來,傳入中斷號。 CPU根據(jù) (中斷號 4)找尋內(nèi)存地址 將相應(yīng)內(nèi)存地址中的isr_addr加載到 PC,實現(xiàn)程序跳轉(zhuǎn) 電子科技大學(xué)嵌入式軟件工程中心 ARM微處理器:異常 ? ARM中斷的跳轉(zhuǎn) 0x00000000 LDR PC, Reset_Addr 0x00000004 LDR PC, Undefined_Addr 0x00000008 LDR PC, SWI_Addr 0x0000000c LDR PC, Prefetch_Addr 0x00000010 LDR PC, Abort_Addr 0x00000014 NOP 0x00000018 LDR PC, IRQ_ISR_Addr 0x0000001c LDR PC, FIQ_ISR_Addr 內(nèi)存地址 異常向量表 IRQ_ISR() { ….. 判斷中斷源 ……. } 觸發(fā) IRQ的設(shè)備處理程序 Device() { …….. } 在 X86中,根據(jù)中斷號得出的中斷處理程序已經(jīng)判斷了中斷源,而在 ARM中, IRQ只是一類中斷的總稱,還需要具體判斷觸發(fā) IRQ的是哪個設(shè)備! 電子科技大學(xué)嵌入式軟件工程中心 ARM微處理器:異常 ? ARM CPU將引起異常的類型分為 7種 電子科技大學(xué)嵌入式軟件工程中心 ARM微處理器:異常 ? 當(dāng)異常出現(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í)行 */ ifexception_mode==Reset or FIQ then CPSR[6]=1 /*禁止快速中斷 */ CPSR[7]=1 /*禁止正常中斷 */ PC=exception vector address ? 當(dāng)處理異常返回時,將 SPSR傳送到 CPSR, R14傳送到 PC 電子科技大學(xué)嵌入式軟件工程中心 ARM微處理器:異常 ? Reset: CPU被復(fù)位后,進(jìn)入 Supervisor Mode并且禁止 FIQ和 IRQ。 ? Undefined Instructions: CPU執(zhí)行一條未被定義的指令時就會觸發(fā)該異常。這種機(jī)制可以用于通過軟件仿真的方式擴(kuò)展THUMB or ARM指令集 。 ? SWI:軟中斷( SWI)是執(zhí)行 SWI指令 時觸發(fā)的,該異常主要用于 OS的系統(tǒng)調(diào)用。 電子科技大學(xué)嵌入式軟件工程中心 ARM微處理器:異常 ? Prefetch Abort: CPU在 讀取指令時發(fā)生讀內(nèi)存錯誤 并且 該指令又要被執(zhí)行 則觸發(fā)該異常;如果只是在讀取指令時發(fā)生了內(nèi)存錯誤而該指令又未被執(zhí)行則不會觸發(fā)該異常。 ? Data Abort:當(dāng) CPU在 讀寫數(shù)據(jù) 時,如果發(fā)生錯誤則觸發(fā)該異常。 電子科技大學(xué)嵌入式軟件工程中心 ARM微處理器:異常 ? IRQ:當(dāng)外部 IRQ輸入請求發(fā)生時( IRQ中斷已經(jīng)被使能),觸發(fā)該異常。 ? FIQ: FIQ通常被用于 快速傳輸數(shù)據(jù) 。當(dāng)外部 FIQ輸入請求發(fā)生時( FIQ中斷已經(jīng)被使能),觸發(fā)該異常。 電子科技大學(xué)嵌入式軟件工程中心 ARM微處理器:異常 ? 異常的優(yōu)先級 電子科技大學(xué)嵌入式軟件工程中心 ARM微處理器:內(nèi)存和 I/O ? ARM 的尋址空間是線性的地址空間 , 為 232=4G ? Bytes 0 to 3 存儲第一個 word, bytes 4 to 7存儲第二個 word ? 大小端決定了寄存器的內(nèi)容和內(nèi)存內(nèi)容的格式關(guān)聯(lián) – ARM寄存器是字 (4字節(jié) )寬 – ARM是按照字節(jié)順序來尋址內(nèi)存的 ? ARM支持大端( Bigendian)和小端( Littleendian)的內(nèi)存數(shù)據(jù)方式,可以通過硬件的方式設(shè)置端模式,也可以通過軟件的方式來設(shè)置( V6版本以上) 電子科技大學(xué)嵌入式軟件工程中心 大端的數(shù)據(jù)存放格式 低地址 高地址 地址 A 地址 A+1 地址 A+2 地址 A+3 最高有效字節(jié)的地址就是該 word的地址 最高有效字節(jié) 位于最低地址 word a=0x f6 73 4b cd f6 73 4b cd ARM微處理器:內(nèi)存和 I/O 最高有效字節(jié): Most significant byte 最低有效字節(jié): Least significant byte 電子科技大學(xué)嵌入式軟件工程中心 小端的數(shù)據(jù)格式 低地址 高地址 地址 A 地址 A+1 地址 A+2 地址 A+3 最低有效字節(jié)的地址就是該 word的地址 最低有效字節(jié)位于最低地址 word a=0x f6 73 4b cd f6 73 4b cd 最高有效字節(jié): Most significant byte 最低有效字節(jié): Least significant byte ARM微處理器:內(nèi)存和 I/O 電子科技大學(xué)嵌入式軟件工程中心 ARM微處理器:內(nèi)存和 I/O 大端 : 小端 : 0xb3204500 0xddddddd0 0xb3204500 0xddddddd0 f6 f6 73 73 4b 4b cd cd da da 00 00 ? 實例 – 變量 A: word A=0x f6 73 4b cd,在內(nèi)存中的起始地址為 0x b3 20 45 00 – 變量 B: half word B=218,在內(nèi)存中的起始地址為0x dd dd dd d0 問題: half word B=218與 word C=218在內(nèi)存中的存放方式有何不同?請分大端和小端兩種情況說明。 電子科技大學(xué)嵌入式軟件工程中心 ARM微處理器:內(nèi)存和 I/O 數(shù)據(jù)信息 狀態(tài)信息 控制信息 數(shù)字量 模擬量 開關(guān)量 連續(xù)幾位二進(jìn)制形式表示的數(shù)或字符。如鍵盤輸入的信息以及打印機(jī)、顯示器輸出的信息等 時間上連續(xù)變化的量,如溫度、壓力、流量等 只有兩個狀態(tài)的量,如閥門的合與斷、電路的開與關(guān)等 CPU與I/O設(shè)備之間的接口信息 反映外設(shè)當(dāng)前工作狀態(tài)的信息 READY信號:輸入設(shè)備是否準(zhǔn)備好 BUSY信號:輸出設(shè)備是否忙 …… CPU向外部設(shè)備發(fā)送的控制命令信息 ?讀寫控制信號 ?時序控制信號
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1