《ARM嵌入式系統(tǒng)結(jié)構(gòu)與編程》第二章課后答案_第1頁
《ARM嵌入式系統(tǒng)結(jié)構(gòu)與編程》第二章課后答案_第2頁
《ARM嵌入式系統(tǒng)結(jié)構(gòu)與編程》第二章課后答案_第3頁
《ARM嵌入式系統(tǒng)結(jié)構(gòu)與編程》第二章課后答案_第4頁
《ARM嵌入式系統(tǒng)結(jié)構(gòu)與編程》第二章課后答案_第5頁
已閱讀5頁,還剩3頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

千里之行,始于足下讓知識帶有溫度。第第2頁/共2頁精品文檔推薦《ARM嵌入式系統(tǒng)結(jié)構(gòu)與編程》第二章課后答案第2章ARM技術(shù)與ARM體系結(jié)構(gòu)

1.簡述ARM處理器內(nèi)核調(diào)試結(jié)構(gòu)原理

答:ARM處理器普通都帶有嵌入式追蹤宏單元ETM(EmbeddedTraceMacro),它是ARM公司自己推出的調(diào)試工具。ARM處理器都支持基于JTAG(JointTestActionGroup聯(lián)合測試行動(dòng)小組)的調(diào)試辦法。它利用芯片內(nèi)部的EmbeddedICE來控制ARM內(nèi)核操作,可完成單步調(diào)試和斷點(diǎn)調(diào)試等操作。當(dāng)CPU處理單步執(zhí)行完畢或到達(dá)斷點(diǎn)處時(shí),就可以在宿主機(jī)端查看處理器現(xiàn)場數(shù)據(jù),但是它不能在CPU運(yùn)行過程中對實(shí)時(shí)數(shù)據(jù)舉行仿真。

ETM解決了上述問題,能夠在CPU運(yùn)行過程中實(shí)時(shí)掃描處理器的現(xiàn)場信息,并數(shù)據(jù)送往TAP(TestAccessPort)控制器。上圖中分為三條掃描鏈(圖中的粗實(shí)線),分離用來監(jiān)視ARM核,ETM,嵌入式ICE的狀態(tài)。

1.分析ARM7TDMI-S各字母所代表的含義。

答:ARM7TDMI–S中

ARM是AdvancedRISCMachines的縮寫

7是系列號;

T:支持高密度16位的Thumb指令集;

D:支持JTAG片上調(diào)試;

M:支持用于長乘法操作(64位結(jié)果)ARM指令,包含迅速乘法器;;

I:帶有嵌入式追蹤宏單元ETM,用來設(shè)置斷點(diǎn)和觀看點(diǎn)的調(diào)試硬件;

S:可綜合版本,意味著處理器內(nèi)核是以源代碼形式提供的。這種源代碼形式又可以編譯成一種易于EDA工具使用的形式。

2.ARM處理器的工作模式有哪幾種,其中哪些為特權(quán)模式,哪些為異樣模式,并指出處

理器在什么狀況下進(jìn)入相應(yīng)的模式。

答:ARM技術(shù)的設(shè)計(jì)者將ARM處理器在應(yīng)用中可能產(chǎn)生的狀態(tài)舉行了分類,并針對同一類型的異樣狀態(tài)設(shè)定了一個(gè)固定的入口點(diǎn),當(dāng)異樣產(chǎn)生時(shí),程序會自動(dòng)跳轉(zhuǎn)到對應(yīng)異樣入口處舉行異樣服務(wù)。

?1.用戶模式:非特權(quán)模式,也就是正常程序執(zhí)行的模式,大部分任務(wù)在這種模式下

執(zhí)行。在用戶模式下,假如沒異樣發(fā)生,不允許應(yīng)用程序自行轉(zhuǎn)變處理器的工作模式,假如有異樣發(fā)生,處理器不會自動(dòng)切換工作模式

?2.FIQ模式:也稱為迅速中斷模式,支持高速數(shù)據(jù)傳輸和通道處理,當(dāng)一個(gè)高優(yōu)先

級(fast)中斷產(chǎn)生時(shí)將會進(jìn)入這種模式。

?3.IRQ模式:也稱為一般中斷模式,:當(dāng)一個(gè)低優(yōu)先級(normal)中斷產(chǎn)生時(shí)將會進(jìn)入

這種模式。在這模式下按中斷的處理器方式又分為向量中斷和非向量中斷兩種。通常的中斷處理都在IRQ模式下舉行。

?4.SVC模式:稱之為管理模式,它是一種操作系統(tǒng)庇護(hù)模式。當(dāng)復(fù)位或軟中斷指

令執(zhí)行時(shí)處理器將進(jìn)入這種模式。

?5.中止模式:當(dāng)存取異樣時(shí)將會進(jìn)入這種模式,用來處理存儲器故障、實(shí)現(xiàn)虛擬存

儲或存儲庇護(hù)。

?6.未定義指令異樣模式:當(dāng)執(zhí)行未定義指令時(shí)會進(jìn)入這種模式,主要是用來處理未

定義的指令陷阱,支持硬件協(xié)處理器的軟件仿真,由于未定義指令多發(fā)生在對協(xié)處理器的操作上。

?7.系統(tǒng)模式:使用和User模式相同寄存器組的特權(quán)模式,用來運(yùn)行特權(quán)級的操作

系統(tǒng)任務(wù)。

?在這7種工作模式中,除了用戶模式以外,其他6種處理器模式可以稱為特權(quán)模式,

在這些模式下,程序可以拜訪全部的系統(tǒng)資源,也可以隨意地舉行處理器模式的切換。

?在這6種特權(quán)模式中,除了系統(tǒng)模式外的其他5種特權(quán)模式又稱為異樣模式,每種

異樣都對應(yīng)有自己的異樣處理入口點(diǎn)。

3.分析程序狀態(tài)寄存器(PSR)各位的功能描述,并說明C,Z,N,V在什么狀況下舉行置位

和清零。

答:

?條件位:

?N=1-結(jié)果為負(fù),0-結(jié)果為正或0

?Z=1-結(jié)果為0,0-結(jié)果不為0

?C=1-進(jìn)位,0-借位

?V=1-結(jié)果溢出,0結(jié)果沒溢出

?Q位:

?僅ARM5TE/J架構(gòu)支持

?指示增加型DSP指令是否溢出

?中斷禁止位:

?I=1:禁止IRQ.

?F=1:禁止FIQ.

?TBit

?僅ARMxT架構(gòu)支持

?T=0:處理器處于ARM狀態(tài)

?T=1:處理器處于Thumb狀態(tài)

?Mode位(處理器模式位):

?0b10000User

?0b10001FIQ

?0b10010IRQ

?0b10011Supervisor

?0b10111Abort

?0b11011Undefined

?0b11111System

4.簡述ARM處理器異樣處理和程序返回的過程。

答:只要正常的程序流被臨時(shí)中止,處理器就進(jìn)入異樣模式。例如響應(yīng)一個(gè)來自外設(shè)的中斷。在處理異樣之前,ARM7TDMI內(nèi)核保存當(dāng)前的處理器狀態(tài),這樣當(dāng)處理程序結(jié)束時(shí)可以恢復(fù)執(zhí)行本來的程序。假如同時(shí)發(fā)生兩個(gè)或更多異樣,那么將根據(jù)固定的挨次來處理異樣。

在異樣發(fā)生后,ARM7TDMI內(nèi)核會作以下工作:

1.在適當(dāng)?shù)腖R中保存下一條指令的地址

2.將CPSR復(fù)制到適當(dāng)?shù)腟PSR中;

3.將CPSR模式位強(qiáng)制設(shè)置為與異樣類型相對應(yīng)的值;

4.強(qiáng)制PC從相關(guān)的異樣向量處取指。

ARM7TDMI內(nèi)核在中斷異樣時(shí)置位中斷禁止標(biāo)志,這樣可以防止不受控制的異樣嵌套。注:異樣總是在ARM狀態(tài)中舉行處理。當(dāng)處理器處于Thumb狀態(tài)時(shí)發(fā)生了異樣,在異樣向量地址裝入PC時(shí),會自動(dòng)切換到ARM狀態(tài)。

當(dāng)異樣結(jié)束時(shí),異樣處理程序必需:

1.將LR中的值減去偏移量后存入PC,偏移量按照異樣的類型而有所不同;

2.將SPSR的值復(fù)制回CPSR;

3.清零在入口置位的中斷禁止標(biāo)志。

注:恢復(fù)CPSR的動(dòng)作會將T、F和I位自動(dòng)恢復(fù)為異樣發(fā)生前的值。

5.ARM處理器字?jǐn)?shù)據(jù)的存儲格式有哪兩種?并指出這兩種格式的區(qū)分。

答:ARM7TDMI處理器可以將存儲器中的字以下列格式存儲

?大端格式(Big-endian)

?小端格式(Little-endian)

?小端存儲器系統(tǒng):

在小端格式中,高位數(shù)字存放在高位字節(jié)中。因此存儲器系統(tǒng)字節(jié)0銜接到數(shù)據(jù)線7~0。

?大端存儲器系統(tǒng):

在大端格式中,高位數(shù)字存放在低位字節(jié)中。因此存儲器系統(tǒng)字節(jié)0銜接到數(shù)據(jù)線31~24。

6.分析帶有存儲器拜訪指令(LDR)的流水線運(yùn)行狀況,并用圖示說明流水線的運(yùn)行機(jī)制。答:存儲器拜訪指令LDR流水線舉例

取指的存儲器拜訪和執(zhí)行的數(shù)據(jù)路徑占用都是不行同時(shí)分享的資源,對于多周期指令來說,假如指令復(fù)雜以至于不能在單個(gè)時(shí)鐘周期內(nèi)完成執(zhí)行階段,就會產(chǎn)生流水線堵塞。

對存儲器的拜訪指令LDR是非單周期指令

LDR指令的執(zhí)行,拜訪存儲器,回寫寄存器(占用了3個(gè)周期)。造成了MOV指令的執(zhí)行被阻斷。

7.簡述ARM9的5級流水線每一級所完成的功能和實(shí)現(xiàn)的操作。

答:ARM920在指令操作上采納5級流水線.

取指:從指令Cache中讀取指令。

譯碼:對指令舉行譯碼,識別出是對哪個(gè)寄存器舉行操作并從通用寄存器中讀取操作數(shù)。

執(zhí)行:舉行ALU運(yùn)算和移位操作,假如是對存儲器操作的指令,則在ALU中計(jì)算出要拜訪的存儲器地址。

存儲器拜訪:假如是對存儲器拜訪的指令,用來實(shí)現(xiàn)數(shù)據(jù)緩沖功能(通過數(shù)據(jù)Cache)。

寄存器回寫:將指令運(yùn)算或操作結(jié)果寫回到目標(biāo)寄存器中。

8.什么叫流水線互鎖?應(yīng)如何來解決,舉例說明。

答:互鎖:當(dāng)前指令的執(zhí)行需要前面指令的執(zhí)行結(jié)果,但前面的

溫馨提示

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

評論

0/150

提交評論