ARM標(biāo)準(zhǔn)體系結(jié)構(gòu)與接口關(guān)鍵技術(shù)一_第1頁(yè)
ARM標(biāo)準(zhǔn)體系結(jié)構(gòu)與接口關(guān)鍵技術(shù)一_第2頁(yè)
ARM標(biāo)準(zhǔn)體系結(jié)構(gòu)與接口關(guān)鍵技術(shù)一_第3頁(yè)
ARM標(biāo)準(zhǔn)體系結(jié)構(gòu)與接口關(guān)鍵技術(shù)一_第4頁(yè)
ARM標(biāo)準(zhǔn)體系結(jié)構(gòu)與接口關(guān)鍵技術(shù)一_第5頁(yè)
已閱讀5頁(yè),還剩3頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

ARM920TDMA處理器是哈佛結(jié)構(gòu),包含取指、譯碼、實(shí)施、存放、寫(xiě)入五級(jí)流水線(xiàn)。包含cp14和cp15兩個(gè)協(xié)處理器。16k數(shù)據(jù)緩存和16k指令緩存。虛擬地址64路相關(guān)緩存。每線(xiàn)8字。ARM基礎(chǔ)數(shù)據(jù)類(lèi)型:ARM采取是32位架構(gòu),基礎(chǔ)上數(shù)據(jù)類(lèi)型有以下三種:Byte:字節(jié),8位Halfword:半字,16bit(半字必需和2字節(jié)邊界對(duì)齊Word:字,32bit(必需和4字節(jié)邊界對(duì)齊全部數(shù)據(jù)類(lèi)型指令操作數(shù)全部是字類(lèi)型。ARM指令編譯后是4字節(jié)(和字邊界對(duì)齊,Thumb指令編譯后是2字節(jié)(和半字對(duì)齊存放器大/小端Arm支持大端模式和小端模式。在大端模式下,一個(gè)字高地址放是數(shù)據(jù)地位,在小端模式下,數(shù)據(jù)低地址放是數(shù)據(jù)低位。ARM920T,有7中工作模式:用戶(hù)模式(User,正常程序?qū)嵤┠J???焖僦兄鼓J?FIQ,當(dāng)一個(gè)高優(yōu)先級(jí)中止產(chǎn)生時(shí)將會(huì)進(jìn)入該模式,通常見(jiàn)于高速數(shù)據(jù)傳輸和通道處理。外部中止模式(IRQ,當(dāng)一個(gè)低優(yōu)先級(jí)中止產(chǎn)生時(shí)將會(huì)進(jìn)入該模式,通常見(jiàn)于通常中止處理特權(quán)模式(Supervise,當(dāng)復(fù)位或軟中止指令實(shí)施時(shí)進(jìn)入該模式,是一個(gè)供操作系統(tǒng)使用保護(hù)模式。數(shù)據(jù)訪(fǎng)問(wèn)中止模式(abort,當(dāng)存取異常時(shí)將會(huì)進(jìn)入該模式,用于虛擬存放或存放保護(hù)未定義指令中止模式(undef,當(dāng)實(shí)施未定義指令時(shí)進(jìn)入該模式,有時(shí)用于經(jīng)過(guò)軟件仿真協(xié)處理器硬件工作方法系統(tǒng)模式(system使用和user模式相同寄存器集模式,用于運(yùn)行特權(quán)級(jí)操作系統(tǒng)任務(wù)除了用戶(hù)模式,其它六中均為特權(quán)模式。在特權(quán)模式下,程序能夠訪(fǎng)問(wèn)全部系統(tǒng)資源,也能夠任意進(jìn)行處理器模式切換。流水線(xiàn)概念和原理處理器根據(jù)一系列步驟來(lái)實(shí)施每一條指令,經(jīng)典步驟以下:1、從存放器讀取指令(fetch2、譯碼以判別它是屬于哪一條指令(decode3、從指令中提取指令操作數(shù)(這些操作數(shù)往往存在于寄存器中(reg4、將操作數(shù)進(jìn)行組合以得到結(jié)果或存放器地址(ALU5、假如需要,則訪(fǎng)問(wèn)存放器以存放數(shù)據(jù)(mem6、將結(jié)果寫(xiě)回到寄存器堆(res流水線(xiàn)分類(lèi):1、3級(jí)流水線(xiàn)ARM組織取指令—>譯碼—>實(shí)施2、5級(jí)流水線(xiàn)ARM組織取指令—>譯碼—>實(shí)施—>緩沖/數(shù)據(jù)—>回寫(xiě)3、6級(jí)流水線(xiàn)ARM組織取指令—>發(fā)射—>譯碼—>實(shí)施—>存放—>回寫(xiě)影響流水線(xiàn)性能原因:1、互鎖:即一條指令結(jié)果被用作下一條指令操作數(shù)2、跳轉(zhuǎn)指令:ARM為微處理器指令系統(tǒng)ARM處理器尋址方法:1、立即數(shù)尋址方法2、寄存器尋址方法3、寄存器移位尋址方法內(nèi)存訪(fǎng)問(wèn)指令尋址方法:內(nèi)存訪(fǎng)問(wèn)指令尋址方法能夠分為以下多個(gè)1、字及無(wú)符號(hào)字節(jié)load/store指令尋址方法2、雜類(lèi)load/store指令尋址方法3、批量load/store指令尋址方法4、協(xié)處理器load/store指令尋址方法ARM處理器指令集操作數(shù)指令集:MOV:實(shí)施結(jié)果就是把一個(gè)數(shù)N送到目標(biāo)寄存器Rd,其中N能夠是寄存器也能夠是立即數(shù)MVN:是反相傳送指令,它將操作數(shù)反碼傳送到目標(biāo)寄存器,多用于向寄存器傳送一個(gè)負(fù)數(shù)或生成位掩碼。AND:指令將shifter_operand表示數(shù)值和寄存器Rn值按位做邏輯和操作,并將結(jié)果保留到目標(biāo)寄存器Rd中,同時(shí)依據(jù)操作結(jié)果更新CPSR寄存器EOR:指令時(shí)將寄存器Rn中值和shifter_operand實(shí)施行按位異或操作,并將實(shí)施結(jié)果存放到目標(biāo)寄存器Rd中,同時(shí)依據(jù)指令實(shí)施結(jié)果更新到CPSR中對(duì)應(yīng)條件標(biāo)志位SUB:指令從急促安全Rn中減去shifter_operand表示數(shù)值,并將結(jié)果存到目標(biāo)寄存器Rd中,同時(shí)更具指令實(shí)施結(jié)果設(shè)置CPSR中對(duì)應(yīng)標(biāo)志位RSB:指令從寄存器shifter_operand中減去Rn表示數(shù)值,并將結(jié)果保留到目標(biāo)寄存器Rd中,同時(shí)更具指令實(shí)施結(jié)果設(shè)置CPSR中對(duì)應(yīng)位。ADC:指令將寄存器shifter_operand值加上Rn表示值,再加上CPSR中C條件標(biāo)志位值,并將結(jié)果保留到目標(biāo)寄存器Rd中,同時(shí)依據(jù)指令實(shí)施結(jié)果設(shè)置CPSR中對(duì)應(yīng)標(biāo)志位SBC指令用于實(shí)施操作數(shù)大于32位時(shí)減法操作。該指令從寄存器Rn中減去shifter_operand表示數(shù)值,再減去寄存器CPSR中C條件標(biāo)志位反碼,并將結(jié)果保留到目標(biāo)寄存器Rd中,同時(shí)依據(jù)指令實(shí)施結(jié)果哦設(shè)置CPSR中對(duì)應(yīng)標(biāo)志位。RSC指令從寄存器shifter_operand中減去Rn表示數(shù)值,再減去寄存器CPSR中C條件標(biāo)志位反碼,并將結(jié)果保留到目標(biāo)寄存器Rd中,同時(shí)依據(jù)指令實(shí)施結(jié)果設(shè)置CPSR中對(duì)應(yīng)標(biāo)志位TST測(cè)試實(shí)施用于將一個(gè)寄存器值和一個(gè)算術(shù)值進(jìn)行比較,條件標(biāo)志位依據(jù)兩個(gè)操作數(shù)做邏輯和后結(jié)果設(shè)置。TEQ指令用于將一個(gè)寄存器值和一個(gè)算術(shù)值做比較,條件標(biāo)志位依據(jù)兩個(gè)操作數(shù)做邏輯異或后結(jié)果設(shè)置,方便以后指令依據(jù)對(duì)應(yīng)條件標(biāo)志來(lái)判定是否實(shí)施。CMP指令使用寄存器Rn值減去shifter_operand值,依據(jù)操作結(jié)果更新CPSR中對(duì)應(yīng)條件標(biāo)志位,方便后面指令依據(jù)對(duì)應(yīng)條件標(biāo)志來(lái)判定是否實(shí)施。CMN指令使用寄存器Rn值將去shifter_operand表示負(fù)數(shù)值,依據(jù)操作結(jié)果跟新CPSR中對(duì)應(yīng)條件標(biāo)志位,方便后面指令更具對(duì)應(yīng)條件標(biāo)志來(lái)判定是否實(shí)施。ORR位邏輯或操作指令,它將第二個(gè)源操作數(shù)shifter_operand值和寄存器Rn值按位做邏輯或操作,并將結(jié)果保留到Rd中BIC位清零指令,將寄存器Rn中值和第二個(gè)源操作數(shù)shifter_operand值反碼按位做邏輯和操作,并將結(jié)果保留到目標(biāo)寄存器中乘法指令集ARM異常中止處理概述ARM處理器中有7中類(lèi)型異常,按優(yōu)先級(jí)從高到低排序以下:復(fù)位異常(reset、數(shù)據(jù)異常(dataabort、快速中止異常(FIQ、外部中止異常(IRQ、預(yù)取異常(prefetchabort、軟中止異常(swi和未定義異常(undefinedinstruction。當(dāng)異常發(fā)生時(shí)候處理器會(huì)把PC設(shè)置為一個(gè)特定存放器地址,之一地址房子被稱(chēng)為向量表特定地址范圍內(nèi)。向量表入口是部分跳轉(zhuǎn)指令,跳轉(zhuǎn)到專(zhuān)門(mén)處理摸個(gè)異?;蛑兄棺映绦?。存放器映射地址0x00000000是為向量表(一組32位字保留。在有些處理器中,向量表能夠選擇定位在存放空間高地址(從偏移量0xffff0000開(kāi)始,部分嵌入式系統(tǒng),如Linux和windowsCE就是利用這一特征。當(dāng)異常發(fā)生時(shí),分組寄存器r14和SPSR用于保留處理器狀態(tài)。異常返回式,SPSR內(nèi)容回復(fù)到CPSR中,連接寄存器r14內(nèi)容回復(fù)到程序計(jì)數(shù)器PC。1、復(fù)位異常:當(dāng)處理器復(fù)位引腳有效時(shí),系統(tǒng)產(chǎn)生復(fù)位異常中止,程序跳轉(zhuǎn)到復(fù)位異常中止處理程序處實(shí)施。復(fù)位異常中止有以下兩種情況:系統(tǒng)上電和系統(tǒng)復(fù)位。復(fù)位異常中止處理程序關(guān)鍵功效:A、設(shè)置異常中止向量表B、初始化數(shù)據(jù)棧和寄存器C、初始化存放系統(tǒng),如系統(tǒng)中MMUD、初始化關(guān)鍵I/0設(shè)備E、使能中止F、處理器切換到適宜模式G、初始化c變量,跳轉(zhuǎn)到應(yīng)用程序?qū)嵤?、未定義指令異常3、軟中止SWI:軟中止發(fā)生時(shí),處理器進(jìn)入特權(quán)模式,實(shí)施部分特權(quán)模式下操作系統(tǒng)功效。4、預(yù)取指令異常:是由系統(tǒng)存放器匯報(bào),當(dāng)處理器試圖去取一條被標(biāo)識(shí)為預(yù)取無(wú)效指令式,發(fā)生預(yù)取異常5、數(shù)據(jù)訪(fǎng)問(wèn)異常:數(shù)據(jù)訪(fǎng)問(wèn)異常是由存放器發(fā)出數(shù)據(jù)中止信號(hào),它由存放器訪(fǎng)問(wèn)指令load/store產(chǎn)生。當(dāng)數(shù)據(jù)訪(fǎng)問(wèn)指令目標(biāo)地址不存在或改地址不許可目前指令訪(fǎng)問(wèn)時(shí),處理器產(chǎn)生數(shù)據(jù)訪(fǎng)問(wèn)中止異常。當(dāng)數(shù)據(jù)訪(fǎng)問(wèn)中止異常發(fā)生時(shí),寄存器值將依據(jù)以下規(guī)則進(jìn)行修改:A、返回地址寄存器r14值只和發(fā)生數(shù)據(jù)異常指令地址相關(guān),和PC無(wú)關(guān)B、假如指令中沒(méi)有指定基址寄存器回寫(xiě),則基址寄存器值不會(huì)改變C、假如指令中指定了機(jī)制寄存器回寫(xiě),則寄存器值和具體芯片ABORTMODELS相關(guān),由芯片生產(chǎn)商指定D、假如指令只加載一個(gè)通用寄存器值,則通用寄存器值不變

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論