ARM處理器的工作模式 ARM處理器狀態(tài) ARM微處理器的工作狀態(tài)一般有兩種,并可在兩種狀態(tài)之間切換:第一種為ARM狀態(tài),此時(shí)處理器執(zhí)行32位的字對(duì)齊的ARM指令;第二種為Thumb狀態(tài),此時(shí)處理器執(zhí)行16位的、半字對(duì)齊的Thumb指令。在程序的執(zhí)行過程中,微處理器可以隨時(shí)在兩種工作狀態(tài)之間切換,并且,處理器工作狀態(tài)的轉(zhuǎn)變并不影響處理器的工作模式和相應(yīng)寄存器中的內(nèi)容。但ARM微處理器在開始執(zhí)行代碼時(shí),應(yīng)該處于ARM狀態(tài)。 ARM處理器狀態(tài) 進(jìn)入Thumb狀態(tài):當(dāng)操作數(shù)寄存器的狀態(tài)位(位0)為1時(shí),可以采用執(zhí)行BX指令的方法,使微處理器從ARM狀態(tài)切換到Thumb狀態(tài)。此外,當(dāng)處理器處于Thumb狀態(tài)時(shí)發(fā)生異常(如IRQ、FIQ、Undef、Abort、SWI等),則異常處理返回時(shí),自動(dòng)切換到Thumb狀態(tài)。 進(jìn)入ARM狀態(tài):當(dāng)操作數(shù)寄存器的狀態(tài)位為0時(shí),執(zhí)行BX指令時(shí)可以使微處理器從Thumb狀態(tài)切換到ARM狀態(tài)。此外,在處理器進(jìn)行異常處理時(shí),把PC指針放入異常模式鏈接寄存器中,并從異常向量地址開始執(zhí)行程序,也可以使處理器切換到ARM狀態(tài)。ARM處理器模式 ARM微處理器支持7種運(yùn)行模式,分別為:用戶模式(usr):ARM處理器正常的程序執(zhí)行狀態(tài)。快速中斷模式(fiq):用于高速數(shù)據(jù)傳輸或通道處理。外部中斷模式(irq):用于通用的中斷處理。管理模式(svc):操作系統(tǒng)使用的保護(hù)模式。數(shù)據(jù)訪問終止模式(abt):當(dāng)數(shù)據(jù)或指令預(yù)取終止時(shí)進(jìn)入該模式,可用于虛擬存儲(chǔ)及存儲(chǔ)保護(hù)。系統(tǒng)模式(sys):運(yùn)行具有特權(quán)的操作系統(tǒng)任務(wù)。定義指令中止模式(und):當(dāng)未定義的指令執(zhí)行時(shí)進(jìn)入該模式,可用于支持硬件協(xié)處理器的軟件仿真。ARM處理器模式 ARM微處理器的運(yùn)行模式可以通過軟件改變,也可以通過外部中斷或異常處理改變。大多數(shù)的應(yīng)用程序運(yùn)行在用戶模式下,當(dāng)處理器運(yùn)行在用戶模式下時(shí),某些被保護(hù)的系統(tǒng)資源是不能被訪問的。 除用戶模式以外,其余的所有6種模式稱之為非用戶模式,或特權(quán)模式;其中除去用戶模式和系統(tǒng)模式以外的5種又稱為異常模式,常用于處理中斷或異常,以及需要訪問受保護(hù)的系統(tǒng)資源等情況。ARM寄存器 ARM處理器共有37個(gè)寄存器。其中包括:31個(gè)通用寄存器,包括程序計(jì)數(shù)器(PC)在內(nèi)。這些寄存器都是32位寄存器。以及6個(gè)32位狀態(tài)寄存器。 關(guān)于寄存器這里就不詳細(xì)介紹了,有興趣的人可以上網(wǎng)找找,很多這方面的資料。異常處理 當(dāng)正常的程序執(zhí)行流程發(fā)生暫時(shí)的停止時(shí),稱之為異常,例如處理一個(gè)外部的中斷請(qǐng)求。在處理異常之前,當(dāng)前處理器的狀態(tài)必須保留,這樣當(dāng)異常處理完成之后,當(dāng)前程序可以繼續(xù)執(zhí)行。處理器允許多個(gè)異常同時(shí)發(fā)生,它們將會(huì)按固定的優(yōu)先級(jí)進(jìn)行處理。當(dāng)一個(gè)異常出現(xiàn)以后,ARM微處理器會(huì)執(zhí)行以下幾步操作:進(jìn)入異常處理的基本步驟:將下一條指令的地址存入相應(yīng)連接寄存器LR,以便程序在處理異常返回時(shí)能從正確的位置重新開始執(zhí)行。將CPSR復(fù)制到相應(yīng)的SPSR中。根據(jù)異常類型,強(qiáng)制設(shè)置CPSR的運(yùn)行模式位。強(qiáng)制PC從相關(guān)的異常向量地址取下一條指令執(zhí)行,從而跳轉(zhuǎn)到相應(yīng)的異常處理程序處。如果異常發(fā)生時(shí),處理器處于Thumb狀態(tài),則當(dāng)異常向量地址加載入PC時(shí),處理器自動(dòng)切換到ARM狀態(tài)。 ARM微處理器對(duì)異常的響應(yīng)過程用偽碼可以描述為: R14_ = Return LinkSPSR_= CPSRCPSR[4:0] = Exception Mode NumberCPSR[5] = 0 ;當(dāng)運(yùn)行于 ARM 工作狀態(tài)時(shí)If == Reset or FIQ then;當(dāng)響應(yīng) FIQ 異常時(shí),禁止新的 FIQ 異常CPSR[6] = 1PSR[7] = 1PC = Exception Vector Address異常處理完畢之后,ARM微處理器會(huì)執(zhí)行以下幾步操作從異常返回:將連接寄存器LR的值減去相應(yīng)的偏移量后送到PC中。將SPSR復(fù)制回CPSR中。若在進(jìn)入異常處理時(shí)設(shè)置了中斷禁止位,要在此清除。
上傳時(shí)間: 2013-11-15
上傳用戶:hanbeidang
摘 要:介紹了Win32平臺(tái)(Windows95/98/NT)下socket的阻塞和非阻塞兩種工作模式。結(jié)合兩個(gè)具體程序模型,討論了在網(wǎng)絡(luò)環(huán)境下發(fā)送/接收數(shù)據(jù)使用阻塞式socket的必要性和不足之處,并提出用能延時(shí)退出的阻塞式socket讀寫函數(shù)的解決方案。
上傳時(shí)間: 2013-12-08
上傳用戶:66666
aes加密與des加密(包括三重des加密與cbc工作模式)
上傳時(shí)間: 2015-06-25
上傳用戶:cursor
這是一個(gè)DES加解密的C程序。其中實(shí)現(xiàn)了一重DES、三重DES、DES的兩種工作模式:ECB和CBC。
上傳時(shí)間: 2015-06-29
上傳用戶:erkuizhang
該程序可以將DOS的工作模式進(jìn)行轉(zhuǎn)變,由實(shí)模式進(jìn)入保護(hù)模式.想了解計(jì)算機(jī)底層的人一定會(huì)喜歡,呵呵!
上傳時(shí)間: 2013-12-09
上傳用戶:cc1
控制步進(jìn)電機(jī)項(xiàng)目程序:綜合考慮工作模式、加速啟動(dòng),減速停止曲線;以及置步數(shù)等因素,決定在該時(shí)刻,電機(jī)的驅(qū)動(dòng)速度。
標(biāo)簽: 控制 工作模式 步進(jìn)電機(jī) 項(xiàng)目
上傳時(shí)間: 2013-12-08
上傳用戶:啊颯颯大師的
DSP的SPI工作模式,該模式是采用的查詢方式。先要設(shè)計(jì)主從方式。然后就可以進(jìn)行數(shù)據(jù)傳輸。
上傳時(shí)間: 2014-01-05
上傳用戶:zhangjinzj
s3c44b0 arm工作模式實(shí)驗(yàn)
標(biāo)簽: s3c44b0 arm 工作模式 實(shí)驗(yàn)
上傳時(shí)間: 2016-02-24
上傳用戶:xiaodu1124
復(fù)制U盤指定文件夾設(shè)有四種工作模式,如下:復(fù)制:可以自動(dòng)復(fù)制U盤中指定類型的文件,也可以自動(dòng)復(fù)制U盤中所有的文件.刪除:可以自動(dòng)刪除U盤中指定類型的文件,也可以自動(dòng)刪除U盤中所有的文件,寫入:向U盤寫入單個(gè)文件
上傳時(shí)間: 2016-03-02
上傳用戶:cazjing
三星公司arm9處理器芯片手冊(cè)部分資料(中文) 包括: 處理器綜述; 處理器工作模式; 存儲(chǔ)器控制器; NAND FLASH控制器; 觸摸屏和ADC接口 存儲(chǔ)器控制器
上傳時(shí)間: 2014-11-28
上傳用戶:Miyuki
蟲蟲下載站版權(quán)所有 京ICP備2021023401號(hào)-1