版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、.嵌入式系統(tǒng)開發(fā)習(xí)題 11. 什么是嵌入式系統(tǒng)?有何特點(diǎn)?答:嵌入式系統(tǒng)的概念有很多種,在嵌入式系統(tǒng)領(lǐng)域中比較認(rèn)同的嵌入式系統(tǒng)的概念是:嵌入式系統(tǒng)是以應(yīng)用為中心,以計算機(jī)技術(shù)為基礎(chǔ),并且軟硬件可裁剪,適用于應(yīng)用系統(tǒng)對功能、可靠性、成本、體積、功耗有嚴(yán)格要求的專用計算機(jī)系統(tǒng)。嵌入式系統(tǒng)的特點(diǎn): 嵌入式系統(tǒng)是將先進(jìn)的計算機(jī)技術(shù)、半導(dǎo)體技術(shù)以及電子技術(shù)與各個行業(yè)的具體應(yīng)用相結(jié)合的產(chǎn)物,這一點(diǎn)就決定了它必然是一個技術(shù)密集、資金密集、高度分散、不斷創(chuàng)新的知識集成系統(tǒng)。 系統(tǒng)內(nèi)核小。由于嵌入式系統(tǒng)一般是應(yīng)用于小型電子裝置中,系統(tǒng)資源相對有限,所以內(nèi)核較之傳統(tǒng)的操作系統(tǒng)要小得多。 專用性強(qiáng)。 系統(tǒng)精簡。 系
2、統(tǒng)軟件( OS )要求具有高實(shí)時性。 嵌入式軟件開發(fā)要走向標(biāo)準(zhǔn)化,需要使用多任務(wù)的操作系統(tǒng)。 嵌入式系統(tǒng)本身并不具備在其上進(jìn)行進(jìn)一步開發(fā)的能力。2. 嵌入式系統(tǒng)可以分為幾層?每一層各完成哪些功能?答:嵌入式系統(tǒng)由硬件層、中間層、軟件層和功能層組成。.硬件層:以嵌入式微處理器為核心,存儲器用以存儲數(shù)據(jù)和執(zhí)行代碼,相關(guān)的設(shè)備接口和 I/O 接口,這些組成了一個嵌入式系統(tǒng)的基礎(chǔ),實(shí)現(xiàn)邏輯運(yùn)算,算術(shù)運(yùn)算等。中間層: 將系統(tǒng)上層軟件和底層硬件進(jìn)行分離, 封裝成標(biāo)準(zhǔn)的接口, 在上層軟件開發(fā)人員無需知道底層硬件的具體情況, 完成的任務(wù)是底層硬件的初始化、 數(shù)據(jù)的輸入 / 輸出操作、硬件的配置等功能。軟件層:
3、主要由RTOS、文件系統(tǒng)、圖形用戶接口、網(wǎng)絡(luò)系統(tǒng)和通用的組件模塊組成,是軟件開發(fā)的基礎(chǔ)。功能層:用來完成被控對象的控制功能。3. 嵌入式系統(tǒng)中硬件抽象層有什么特點(diǎn)?答:硬件抽象層是介于硬件層與軟件層之間的中間層,它將系統(tǒng)上層軟件與底層硬件分離開來,具有以下兩個特點(diǎn): 硬件相關(guān)性:因?yàn)榍度胧綄?shí)時系統(tǒng)的硬件環(huán)境具有應(yīng)用相關(guān)性,而作為上層軟件與硬件平臺之間的接口,硬件抽象層需要為操作系統(tǒng)提供操作和控制具體硬件的方法。 操作系統(tǒng)相關(guān)性:不同的操作系統(tǒng)具有各自的軟件層次結(jié)構(gòu),因此,不同的操作系統(tǒng)具有特定的硬件接口形式。4. 簡述嵌入式處理器的硬件組成?答:隨著集成電路集成度的不斷提高,嵌入式系統(tǒng)板級的硬
4、件電路模塊也越來越多的集成到芯片內(nèi)部,目前處理器芯片內(nèi)部的電路模塊組成如下: 處理器內(nèi)核,以CPU 為核心,有的還包含MMU (存儲器管理單元)、 Cache (高速緩存)、 ICE(在線仿真)等電路模塊。 DSP/ 協(xié)處理器,對于多媒體處理的處理器,內(nèi)部一般有DSP (數(shù)字信號處理)、浮點(diǎn)運(yùn)算、圖像加速等協(xié)處理器。. RAM/ROM,在單片機(jī)處理器中,處理器芯片內(nèi)部一般集成了ROM(只讀存儲器)和 RAM (可讀可寫存儲器)。 處理器內(nèi)部控制電路,如 PLL(鎖相環(huán))、復(fù)位、 DMA (直接存儲器存?。?、中斷控制器、低功耗控制、看門狗等電路。 芯片內(nèi)部接口電路,如GPIO (通用輸入、輸出)
5、接口、I2C(雙向兩線制的串行總線)接口、 IIS(音頻總線) 接口、 SPI(串行外設(shè)接口)、 USB(通用串行總線)接口、 LCD(液晶顯示)接口、ADC/DAC (模數(shù) / 數(shù)模轉(zhuǎn)換)、 UART (通用異步收發(fā)器)、IrDA (紅外接口) 、CAN (控制器局域網(wǎng)絡(luò))總線接口、以太網(wǎng)接口、Timer/RTC (定時器 / 計數(shù)器)接口等電路模塊。5. 嵌入式處理器分那幾類?它們有何特點(diǎn)?答:嵌入式微處理器。特點(diǎn):處理能力強(qiáng),具有較高的性能,價格也相應(yīng)較高。 嵌入式微控制器。特點(diǎn):主要用于嵌入式體統(tǒng)工業(yè)的主流,跟嵌入式微處理器相比,微控制器的最大特點(diǎn)是單片化,體積大大減小,從而使功耗和成
6、本下降,可靠性提高。并且價格低廉,功能優(yōu)良,擁有的品種和數(shù)量最多。 嵌入式DSP 處理器。特點(diǎn):DSP 處理器是專門用于信號處理方面的處理器,在系統(tǒng)結(jié)構(gòu)和指令算法方面進(jìn)行了特殊設(shè)計,具有很高的編譯效率和指令的執(zhí)行速度。 SoC 片上系統(tǒng)。特點(diǎn):實(shí)現(xiàn)了軟硬件無縫結(jié)合,直接在處理器片內(nèi)嵌入操作系統(tǒng)的代碼模塊具有極高的綜合性,在一個硅片內(nèi)部運(yùn)用VHDL 等硬件描述語言,實(shí)現(xiàn)一個復(fù)雜的系統(tǒng)絕大部分系統(tǒng)構(gòu)件在系統(tǒng)內(nèi)部,系統(tǒng)簡潔,減少了系統(tǒng)的體積和功耗,提高了系統(tǒng)的可靠性跟設(shè)計生產(chǎn)效率。.6. 分析目前市場上常用的幾種嵌入式處理器,說明不同嵌入式處理器的各自特點(diǎn)?答:目前市場上常用的嵌入式處理器有MCS5
7、1單片機(jī), ARM處理器, MIPS 處理器, PowerPC處理器, MC68000處理器, X86 處理器等。MCS51的特點(diǎn)是, 8 位 CPU ,片內(nèi)振蕩器,4KB ROM,128KB RAM,21個特殊功能寄存器, 32 根 I/O 總線,片外可尋找范圍分別為64KB 的外部程序和數(shù)據(jù),兩個16 位的定時 / 計數(shù)器,一個全雙工串口接口,中斷結(jié)構(gòu)分為兩級優(yōu)先級,5 個中斷源,適于按位邏輯運(yùn)算的處理器。ARM 處理器的特點(diǎn)是,體積小,功耗低,成本低,高性能,支持16/32位雙指令集,在全球有眾多合作伙伴。MIPS 處理器的特點(diǎn)是,高性能,高檔次的處理器,有32 位和 64 位的處理器,
8、簡化硬件設(shè)計,強(qiáng)調(diào)軟硬件協(xié)同提高性能。PowerPC處理器特點(diǎn),具有優(yōu)異的性能,低能量消耗,低散熱量。MC68000處理器,是一個16/32位的 CISC 處理器,采用32 位總線和寄存器,這個結(jié)構(gòu)對之后的32 為產(chǎn)品保持兼容。X86 處理器的特點(diǎn),可變指令長度的CISC 處理器,允許不對齊訪問存儲器。7. 舉例說明嵌入式處理器的性能指標(biāo)?并分析對嵌入式系統(tǒng)的影響?答:性能指標(biāo)主要有主頻,處理器字長,數(shù)據(jù)通路速度,運(yùn)算速度,高速緩存和處理器的系統(tǒng)架構(gòu)。 主頻,執(zhí)行每條指令的時鐘周期數(shù)一定,主頻越高單位時間內(nèi)執(zhí)行的指令越多。處理器字長,處理器內(nèi)部數(shù)據(jù)運(yùn)算的基本位數(shù),反映的是計算精度,以及單次處理
9、數(shù)據(jù)的總長度; 數(shù)據(jù)通路速度,讀取指令數(shù)據(jù)傳輸計算數(shù)據(jù)的速度越高,處理器性能越好。運(yùn)算速度,用MIPS (每秒執(zhí)行多少百萬條指令)表示,MIPS 越大,說明運(yùn)算速度越快;高速緩存,突破主存訪問速度的瓶頸,提高處理器的綜合性能。.8. 簡述你對嵌入式操作系統(tǒng)的認(rèn)識,分析嵌入式操作系統(tǒng)有哪些特點(diǎn)?答:嵌入式操作系統(tǒng)EOS 是一種支持嵌入式系統(tǒng)應(yīng)用的操作系統(tǒng)軟件,它是嵌入式系統(tǒng)(包括軟硬件系統(tǒng))極為重要的組成部分,通常包括與硬件相關(guān)的底層驅(qū)動軟件、系統(tǒng)內(nèi)核、設(shè)備驅(qū)動接口、通信協(xié)議、圖形界面、標(biāo)準(zhǔn)化瀏覽器等。EOS 是相對于一般操作系統(tǒng)而言的,它除具備了一般操作系統(tǒng)最基本的功能,如任務(wù)調(diào)度、同步機(jī)制、
10、中斷處理、文件功能等之外,還有以下特點(diǎn): 可裝卸性,開放性、可伸縮性的體系結(jié)構(gòu)。 強(qiáng)實(shí)時性, EOS 實(shí)時性一般較強(qiáng),可用于各種控制系統(tǒng)中。 統(tǒng)一的接口,提供各種設(shè)備驅(qū)動接口。 操作方便、簡單,提供友好的圖形GUI ,追求易學(xué)易用。 提供強(qiáng)大的網(wǎng)絡(luò)功能,支持TCP/IP 協(xié)議及其他協(xié)議,提供TCP/UDP/IP/PPP協(xié)議支持及統(tǒng)一的MAC 訪問層接口,為各種移動計算設(shè)備預(yù)留接口。 強(qiáng)穩(wěn)定性,弱交互性。 固化代碼。 更好地硬件適應(yīng)性,也就是良好的移植性。9. 試分析實(shí)時操作系統(tǒng)中可搶占型和不可搶占型有何區(qū)別?并舉例說明。答:實(shí)時操作系統(tǒng)可分為可搶占型和不可搶占型兩類。對于基于優(yōu)先級的系統(tǒng)而言,
11、可搶占型的實(shí)時操作系統(tǒng)是指內(nèi)核可以搶占正在運(yùn)行任務(wù)的CPU 使用權(quán)并將使用權(quán)交給進(jìn)入就緒態(tài)的優(yōu)先級更高的任務(wù),是內(nèi)核搶了CPU 讓別的任務(wù)運(yùn)行。不可搶占型實(shí)時操作系統(tǒng)使用某種算法以決定讓某個任務(wù)運(yùn)行后,就把CPU 的控制權(quán)完全交給該任務(wù),直到它主動將 CPU 控制權(quán)還回來。比如嵌入式操作系統(tǒng)uC/OS ,可以根據(jù)優(yōu)先級進(jìn)行搶占使用CPU ,優(yōu)先級高的任務(wù)可.以比優(yōu)先級低的任務(wù)優(yōu)先使用CPU 。10. 簡述嵌入式系統(tǒng)的開發(fā)過程?答:嵌入式系統(tǒng)的開發(fā)過程可以分為需求分析、建立開發(fā)環(huán)境、體系結(jié)構(gòu)設(shè)計、軟件/ 硬件設(shè)計、系統(tǒng)集成和系統(tǒng)優(yōu)化與測試 6 個階段。如果設(shè)計的流程是從需求分析開始,然后是建立開
12、發(fā)環(huán)境,依次進(jìn)行,最后是系統(tǒng)優(yōu)化與測試,那么就叫做自上而下的設(shè)計流程;反之就叫做自下而上的設(shè)計流程。所有的嵌入式系統(tǒng)設(shè)計不可避免的設(shè)計這六個階段,更重要的是找到一個好的設(shè)計方法,目前一種比較好的設(shè)計方法是采用計算機(jī)輔助設(shè)計工具。11. 簡述在線仿真器 ICE 和在線調(diào)試器 ICD 有何區(qū)別?答:在線仿真器ICE 是一種模擬CPU 的設(shè)備,能執(zhí)行CPU 的全部動作。采用該方式調(diào)試時,利用仿真頭代替目標(biāo)板上的CPU ,可以完全仿真CPU 的行為。在線調(diào)試器ICD 是將 CPU 的調(diào)試功能的引腳引出來,讓外部的硬件直接連接到這些引腳上去監(jiān)控整個CPU 的動作。12. 試分析嵌入式系統(tǒng)測試中的純軟件測
13、試過程,舉例說明實(shí)現(xiàn)方法。答:純軟件測試過程是指用工具采用軟件打點(diǎn)技術(shù),在被測試代碼中加入一些函數(shù),這些函數(shù)用來完成數(shù)據(jù)的生成,并將數(shù)據(jù)送往目標(biāo)機(jī)系統(tǒng)的共享內(nèi)存中,同時,在目標(biāo)機(jī)系統(tǒng)中運(yùn)行一個與處理任務(wù),用于完成這些數(shù)據(jù)的預(yù)處理,然后將處理過的數(shù)據(jù)通過目標(biāo)機(jī)的串口,網(wǎng)口或者USB 口送往宿主機(jī)測試平臺。舉例,可以在程序中間插入函數(shù),讀出當(dāng)前所有寄存器內(nèi)容,發(fā)送至目標(biāo)機(jī)系統(tǒng),測試者可以根據(jù)這些數(shù)據(jù)了解系統(tǒng)執(zhí)行情況。習(xí)題 21.按照 ARM處理器的命名規(guī)則,說明ARM7TDMI中 T、 D、 M 、 I 的含義。.答: T:支持16 位的Thumb指令集;D :支持JTAG片上調(diào)試;M :支持長乘
14、法操作( 64位結(jié)果)的ARM指令,包含快速乘法器;I :帶有嵌入式追蹤宏單元ETM( Embedded Trace Macro),用來設(shè)置斷點(diǎn)和觀察點(diǎn)。2. 什么是哈佛結(jié)構(gòu)?與普林斯頓結(jié)構(gòu)有何區(qū)別?答:哈佛結(jié)構(gòu)是一種將程序中指令和數(shù)據(jù)分開存儲的存儲器結(jié)構(gòu)。即哈佛結(jié)構(gòu)中程序存儲器和數(shù)據(jù)存儲器是兩個獨(dú)立的存儲器,每個存儲器獨(dú)立編址、獨(dú)立訪問。普林斯頓結(jié)構(gòu)(馮·諾伊曼結(jié)構(gòu))是一種將程序指令存儲器和數(shù)據(jù)存儲器合并在一起的存儲器結(jié)構(gòu)。程序指令存儲地址和數(shù)據(jù)存儲地址指向同一個存儲器的不同物理位置。這便是。這便是兩種結(jié)構(gòu)的區(qū)別。3. 什么是 RSIC ?什么是 CSIC ?簡述他們的特點(diǎn)與差別。
15、答: RSIC 是精簡指令集計算機(jī),CISC 是復(fù)雜指令集計算機(jī)。兩者的區(qū)別在于不同的CPU 設(shè)計理念和方法。對于 CISC : 在 CSIC 結(jié)構(gòu)的指令系統(tǒng)中,各種指令的使用頻率相差懸殊。有80% 的指令只在 20% 的運(yùn)行時間內(nèi)才會用到。 CISC 結(jié)構(gòu)指令系統(tǒng)的復(fù)雜性帶來了計算機(jī)體系結(jié)構(gòu)的復(fù)雜性,這不僅增加了研制時間和成本,而且還容易造成設(shè)計錯誤。 在 CISC 結(jié)構(gòu)指令系統(tǒng)中,由于各條指令的功能不均衡性,不利于采用先進(jìn)的計算機(jī)體系結(jié)構(gòu)技術(shù)來提高系統(tǒng)的性能。對于 RISC: 簡化指令集,只保留常用的基本指令; 設(shè)計大量的通用存儲器,減少訪存的次數(shù); 采用裝載 / 保存結(jié)構(gòu),支持流水線技術(shù)
16、,使每個周期時間相等; 采用簡單的指令格式、規(guī)整的指令字長和簡單的尋址方式;. 單機(jī)器周期指令,即大多數(shù)的指令都可以在一個機(jī)器周期內(nèi)完成,并且允許處理器在同一時間內(nèi)執(zhí)行一系列的指令。4. ARM7 處理器是幾級流水線?在 ARM7 處理器中,“ PC 指向的是下一條要執(zhí)行的指令”,這句話對嗎?為什么?答: ARM7處理器采用三級流水線?!?PC指向的是下一條要執(zhí)行的指令”,這句話不對。在ARM處理器中將PC程序計數(shù)器定義到R15寄存器,無論處理器處于何種狀態(tài),PC總是指向“正在取值”指令的地址,一般來說,人們習(xí)慣性的約定將“正在執(zhí)行的指令作為參考點(diǎn)”,成為當(dāng)前第一條指令,那么 PC 總是指向隨
17、后的第三條指令,或者說PC 總是指向當(dāng)前正在執(zhí)行的指令地址再加上2 條指令的地址,即指向正在執(zhí)行指令的下下一條指令,而不是指向下一條要執(zhí)行的指令。5.簡述ARM處理器中在線仿真器模塊EmbeddedICE-RT的作用。答: ARM處理器中的在線仿真器模塊EmbeddedICE-RT,一般還帶有嵌入式宏跟蹤單元模塊ETM ,實(shí)現(xiàn)ARM處理器的在線調(diào)試和運(yùn)行過程的跟蹤功能;并且具有諸多ICE功能,例如實(shí)時尋址、斷點(diǎn)、單步、對ARMCPU 的完全控制、對ASIC 系統(tǒng)其余部分的訪問,以及對主機(jī)顯示器外設(shè)訪問、鍵盤輸入和磁盤存儲。6. ARM 處理器的工作狀態(tài)分為哪二種?ARM 處理器又是怎么定義和標(biāo)
18、志的?答: ARM 處理器的工作狀態(tài)分為ARM 狀態(tài)和 Thumb狀態(tài),這兩種狀態(tài)有程序狀態(tài)字CPSR 中 T 標(biāo)志位確定,為0 時處理器工作在ARM 狀態(tài),為 1 時處理器工作在Thumb狀態(tài)。7.ARM7TDMI支持哪幾種指令集,各有什么特點(diǎn)?答: ARM7TDMI處理器內(nèi)核包含2 套指令系統(tǒng),分別為ARM指令集和Thumb指令.集,兩種指令集的特點(diǎn)是:ARM 指令集:處理器執(zhí)行32 位字對齊方式的ARM 指令,每條ARM 指令長度為32位,指令的功能強(qiáng)大。Thumb指令集:處理器執(zhí)行16 位字對齊方式的Thumb指令,每條Thumb指令長度為 16 位,是 ARM 指令功能的子集。8.
19、ARM7 處理器有哪些工作模式?如何實(shí)現(xiàn)不同模式之間的切換?舉例說明。答: ARM 處理器供支持7 種工作模式,分別為:用戶模式( usr );快速中斷模式 ( fiq );外部中斷模式(irq );管理模式(svc);數(shù)據(jù)訪問終止模式(abt );系統(tǒng)模式(sys);未定義指令中止模式(und )。在 7 中模式中,除用戶模式外,其他的6 種模式稱為特權(quán)模式,特權(quán)模式可以自由的切換處理器模式,而用戶模式不能直接切換到別的模式。特權(quán)模式下通過修改當(dāng)前程序狀態(tài)寄存器CPSR 中控制位M4:0 的值,來改變處理器的運(yùn)行模式。例如MSRCPSR_c, # (NoInt |SVC32Mode) / 從
20、系統(tǒng)模式切換到管理模式MSRCPSR_c, # (NoInt |SYS32Mode) / 從管理模式切換到系統(tǒng)模式9.描述 ARM7處理器的內(nèi)部寄存器結(jié)構(gòu),并分別說明快速中斷FIQ 有何特點(diǎn)?答: ARM7 微處理器共有37 個 32 位寄存器,其中31 個為通用寄存器,6 個為狀態(tài)寄存器。 37 個寄存器定義如下:31個 通 用 寄 存 器 : R0R15、 R8_fiq 、R9_fiq 、R10_fiq 、R11_fiq、R12_fiq 、R13_fiq 、R14_fiq 、 R13_svc 、 R14_svc 、 R13_abt 、 R14_abt 、 R13_und 、R14_und
21、、 R13_irq 、R14_irq 。6個狀態(tài)寄存器:CPSR 、 SPSR_abt、 SPSR_svc、 SPSR_irq、 SPSR_fiq 、.SPSR_und ??焖僦袛?FIQ ,適用于對一個突發(fā)事件的快速響應(yīng),在ARM 狀態(tài)中,快中斷有8 個專用的寄存器, 可以縮短狀態(tài)切換時需要的時間。當(dāng) CPSR 中相應(yīng)的 F 位清零, 快速中斷被使能。10. 什么是中斷延時?在實(shí)時系統(tǒng)中如何計算中斷延時時間?答:中斷延時是系統(tǒng)響應(yīng)一個中斷所需要的時間,即從外部中斷請求信號發(fā)出到執(zhí)行對應(yīng)的中斷服務(wù)程序ISR 的第 1 條指令所需要的時間。FIQ 的中斷延時計算,當(dāng)FIQ 使能時,最壞的延時包括
22、:a) Tsyncmax: 請求通過同步器的最長時間,為兩個處理器周期。b)Tldm :最長執(zhí)行時間,最長為20 個周期。c) Texc:數(shù)據(jù)中止異常進(jìn)入時間,為三個周期。d) Tfiq : FIQ 進(jìn)入時間,為兩個周期總的延時可為 27 個周期。11. 在內(nèi)存的數(shù)據(jù)存儲過程中,什么是“字對齊”和“半字對齊”?答:在內(nèi)存數(shù)據(jù)存儲過程中,一般分為小端存儲格式和大端存儲格式。下面以小端存儲格式為例來說明字對齊和半字對齊:在小端存儲格式中,對于地址為A 的字單元,其中字節(jié)的低位字節(jié)到高位字節(jié)地址順序?yàn)?A ,A+1, A+2 , A+3 ;對于地址為A 的半字單元,其中字節(jié)的低位字節(jié)到高位字節(jié)地址順
23、序?yàn)锳 , A+1 。12. 簡述程序計數(shù)器( PC)在處理器工作中的作用。答:在 ARM 處理器中將PC 程序計數(shù)器定義到R15 寄存器,無論處理器處于何種狀態(tài),PC 總是指向“正在取值”指令的地址。.13. 簡述 ARM 處理器中的返回鏈接寄存器( LR )在處理器工作中的作用。答:鏈接寄存器LR 用于保存子程序返回地址或者異常處理程序的返回地址,LR 寄存器一共有 6 個,其中子程序的返回地址使用一個R14 ,每種異常模式各自有一個專用的LR 寄存器用于保存異常處理程序的返回地址,它們分別為R14_fiq 、 R14_svc 、 R14_abt 、R14_und 、 R14_irq 。1
24、4. 分別簡述 ARM 處理器中的 CPSR 、 SPSR 在處理器工作中的作用。答: ARM 內(nèi)核包含1 個 CPSR 和 5 個僅供異常處理模式使用的SPSR。由于所有模式全部共享一個程序狀態(tài)寄存器CPSR,因此處理器所有的狀態(tài)全部都保存在 CPSR 中,也就是ARM 內(nèi)核是通過CPSR 來監(jiān)視和控制內(nèi)部操作的。每種異常模式都有一個對應(yīng)的程序狀態(tài)保存寄存器SPSR,用于保存任務(wù)在異常發(fā)生之前的 CPSR 狀態(tài)的當(dāng)前值。15.結(jié)合 CPSR 的結(jié)構(gòu),說明程序狀態(tài)字中各個bit位的作用。3130292827876543210NZCV-IFTM4M3M2M1M0答:條件代碼標(biāo)志(共計4bit )
25、含義如下:N :運(yùn)算結(jié)果的最高位反映在該標(biāo)志位。對于有符號二進(jìn)制補(bǔ)碼,結(jié)果為負(fù)數(shù)時N=1 ,結(jié)果為正數(shù)或零時N=0 ;Z :指令結(jié)果為0 時 Z=1 (通常表示比較結(jié)果“相等”),否則Z=0 ;C:當(dāng)進(jìn)行加法運(yùn)算,最高位產(chǎn)生進(jìn)位時C=1 ,否則C=0 。當(dāng)進(jìn)行減法運(yùn)算(包括CMP指令 ),最高位產(chǎn)生借位時C=0 ,否則 C=1 。V:當(dāng)進(jìn)行加法 / 減法運(yùn)算,并且發(fā)生有符號溢出時V=1 ,否則V=0 ,其它指令V 不變。. CPSR 的最低 8 位為控制位,控制了處理器的工作方式。當(dāng)發(fā)生異常時,這些位被硬件改變。當(dāng)處理器處于一個特權(quán)模式時,可用軟件操作這些位。它們分別是:中斷禁止位包括I和 F
26、位:當(dāng) I 位置位時, IRQ 中斷被禁止;當(dāng) F 位置位時, FIQ 中斷被禁止。T 位反映了處理器的當(dāng)前狀態(tài):當(dāng)位 T=1 時,處理器正在Thumb狀態(tài)下運(yùn)行;當(dāng)位 T=0 時,處理器正在ARM 狀態(tài)下運(yùn)行。模式位包括M4:0 共計 5bit ,這些位決定處理器的操作模式16. 簡述 ARM7TDMI 內(nèi)部有哪些寄存器及特點(diǎn)。答: ARM7 微處理器共有37 個 32 位寄存器,其中31 個為通用寄存器,6 個為狀態(tài)寄存器。 37 個寄存器定義如下:31個 通 用 寄 存 器 : R0R15、 R8_fiq 、R9_fiq 、R10_fiq 、R11_fiq、R12_fiq 、R13_fi
27、q 、 R14_fiq 、 R13_svc 、 R14_svc 、 R13_abt 、 R14_abt 、 R13_und 、R14_und 、 R13_irq 、R14_irq 。6個狀態(tài)寄存器:CPSR 、 SPSR_abt、 SPSR_svc、 SPSR_irq、 SPSR_fiq 、SPSR_und 。特點(diǎn):在 ARM 狀態(tài)中, R0R7是通用寄存器,是不分組寄存器;R8R14 ,SPSR 根據(jù)模式進(jìn)行分組的寄存器;R15 是程序計數(shù)器,不進(jìn)行分組;CPSR 是狀態(tài)寄存器,不進(jìn)行分組。17.什么是 ARM處理器的異常?ARM處理器中有哪幾種異常?答:在ARM中,異常是一些事件,這些事件
28、能導(dǎo)致正常的程序執(zhí)行流程被暫時地停.止,而進(jìn)入到該事件對應(yīng)的處理器異常模式并對該事件進(jìn)行處理。ARM 中定義了復(fù)位、未定義指令、SWI(軟中斷)、預(yù)取指終止、預(yù)取數(shù)終止、irq 以及 fiq 等種異常,與之對應(yīng)地ARM7 處理器有5 種異常模式。18. 分別簡述 ARM7 的 IRQ 、FIQ 異常處理過程,說明其異常向量地址。答: IRQ 異常的處理流程如下: 進(jìn)入 IRQ 異常模式。程序運(yùn)行在用戶模式下,當(dāng)一個IRQ 異常中斷發(fā)生時,內(nèi)核切換到“中斷模式”,并自動的做如下處理。將異常處理程序的返回地址保存到異常模式下的R14(R14_irq) 中。用戶模式的CPSR 將被保存到中斷異常模式
29、SPSR_irq 中。修改 CPSR,將 I 置 1 ,禁止新的IRQ 中斷產(chǎn)生,但不改變F 值,不限制FIQ 中斷發(fā)生,清零T 標(biāo)志位,進(jìn)入ARM 狀態(tài),修改模式位,設(shè)置為IRQ 模式。將 IRQ 異常中斷入口向量地址0x00000018送入 PC。在 IRQ 模式下,用戶模式的R13 和 R14 將不能操作,而R13_irq和 R14_irq 可以操作,即 R13_irq保存 IRQ 模式下的地址指針,R14_irq 保存了“ IRQ 中斷返回地址 +4 ”。退出IRQ異常模式。中斷服務(wù)程序執(zhí)行完畢后,使用一條指令將返回地址送入PC,即可實(shí)現(xiàn)IRQ 中斷返回,在返回過程中處理器會自動將SP
30、SR_irq中的內(nèi)容復(fù)制到CPSR,恢復(fù)中斷前的處理器狀態(tài)。FIQ 異常進(jìn)入與退出的流程與IRQ 類似,其異常入口地址是0x0000001C。19. ARM7 處理器對哪些異??梢赃M(jìn)行屏蔽?如何屏蔽或允許?答: FIQ 和 IRQ 可以被屏蔽。 將 CPSR 的標(biāo)志位I 和 F 分別置位對應(yīng)著IRQ 和 FIQ 中斷被禁止,清零這些位又可以將其使能。20.說明 CPSR 中 T 位的作用, ARM7處理器如何切換狀態(tài)?.答: CPSR 中 T 標(biāo)志位為0 時處理器工作在ARM 狀態(tài),為 1 時處理器工作在Thumb狀態(tài)。由于 ARM 采用字對齊或者半字對齊的存儲模式,這意味著地址的最低一個比特
31、位就不會在尋址過程中使用到。故,使用地址的最低位進(jìn)行區(qū)分,以何種模式取值和執(zhí)行指令,當(dāng)?shù)刂返匚粸? 時,置 CPSR 的 T 位為 1 ,反之,置位為0 。21.大 端 存 儲 模 式 和 小 端 存 儲 模 式 的 含 義 是 什 么 ? 畫 出 在0x2000單 元 中 存 儲0x87654321數(shù)據(jù)的大端存儲模式和小端存儲模式。答:大端存儲模式:在大端存儲格式中,對于地址為A 的字單元,其中字節(jié)的低位字節(jié)到高位字節(jié)地址順序?yàn)锳+3 ,A+2 , A+1 , A;對于地址為A 的半字單元,其中字節(jié)的低位字節(jié)到高位字節(jié)地址順序?yàn)锳+1 , A 。即數(shù)據(jù)的低字節(jié)存放在高地址中的順序進(jìn)行存儲。小
32、端存儲模式:在小端存儲格式中,對于地址為A 的字單元,其中字節(jié)的低位字節(jié)到高位字節(jié)地址順序?yàn)锳 , A+1, A+2 , A+3 ;對于地址為A 的半字單元,其中字節(jié)的低位字節(jié)到高位字節(jié)地址順序?yàn)锳 , A+1 。即數(shù)據(jù)的高字節(jié)存放在高地址中的順序進(jìn)行存儲。0x210x20030x210x20000x430x430x650x650x870x20000x870x2003上圖中,左側(cè)為大端存儲模式,右側(cè)為小端存儲模式。.習(xí)題 31 、 ARM7TDMI支持哪幾種指令集,各有什么特點(diǎn)?答:支持ARM 指令集和Thumb指令集,各自特點(diǎn)是ARM 指令集的指令是32位,執(zhí)行效率高、功能全,每條指令可以根
33、據(jù)條件執(zhí)行,但是代碼密度低。Thumb指令集指令是16 位,在功能上是ARM 指令集的子集,功能并沒有降低。2 、 ARM指令的尋址方式有幾種?并指出下列指令中的尋址方式。答: ARM指令的尋址方式有8 種,分別為立即尋址、寄存器尋址、寄存器移位尋址、寄存器間接尋址、基址變址尋址、相對尋址、多寄存器尋址、堆棧尋址。 SUBR0, R1, R2寄存器尋址 LDRR0, R2寄存器間接尋址 MVNR0, #0x0F2立即尋址LDMIAR0,R1-R5多寄存器尋址 STRR2, R4, #0x02!基址變址尋址 LDRR1, R2, R3基址變址尋址 MOVR1, R1, ROR #2寄存器移位尋址
34、 LDRR1, R3, #0x04基址變址尋址3 、 簡述 ARM指令集中第2 個操作數(shù)( operand2)的三種形式。答: 常數(shù)表達(dá)方式。該常數(shù)必須對應(yīng)8 位位圖,即常數(shù)是由一個8 位的常數(shù)循環(huán)右移偶數(shù)位得到。例如:MOVR2 ,#100 ; 寄存器方式。Operand2是 Rm 寄存器方式,在寄存器方式下操作數(shù)即位寄存器中的數(shù)值。例如:SUB R0 ,R1 , R2; 寄存器移位方式。Rm , shift表示將寄存器的移位結(jié)果作為操作數(shù),但Rm.值保持不變。例如:MOVR0, R1 , RRX;將 R1 帶擴(kuò)展的循環(huán)右移1 位,存入 R0中。4 、 指出下列指令是否正確,若不正確請說明原
35、因。 MOVSR1, 101不正確,立即尋址方式應(yīng)該是#101 MVNR1, #0x10F正確 STMDAR11, R2-R8!不正確,不能同時存儲在R2 和 R8 中 ADDR0!, R2, #4正確 LDRR4, R5!不正確, LDR 是存儲到單個寄存器的加載指令,而這個是兩個存儲器都進(jìn)行存儲,應(yīng)該為LDRR4, R5 MRSPC, CPSR不正確 MRS 是將 CPSR 傳送到通用寄存器中,但這里的通用寄存器不包括R15 ,即 PC LDMFDSR0!, R5-R8, R2正確 ADDR3, R3, R7不正確, ADD 指令不能訪問存儲器(9) LDRR11, R15 , R8 !正
36、確(10) BXSR0正確5 、 何謂 ARM指令的條件碼?默認(rèn)的條件碼是什么?舉例說明ARM指令的條件碼對指令執(zhí)行的影響。答:所謂的ARM指令的“條件執(zhí)行”是指在指令碼中含有本條指令的執(zhí)行條件,當(dāng) CPSR 中的條件碼標(biāo)志滿足時,處理器執(zhí)行本條指令,否則本條指令不執(zhí)行。默認(rèn)是無條件執(zhí)行。比如執(zhí)行指令“ANDEQR2 , R1 , R3 ”時,如果CPSR 中的Z=1時,執(zhí)行R2=R1&R3,否則不執(zhí)行該指令。.6 、 解釋“滿堆?!?、“空堆?!?、“遞增堆?!焙汀斑f減堆?!? ARM指令系統(tǒng)中是如何支持的?答:滿堆棧:堆棧指針SP 指向最后壓入的堆棧有效數(shù)據(jù)項(xiàng)??斩褩#憾褩V羔楽P 指
37、向下一個待壓入數(shù)據(jù)的空位置。遞增堆棧:向高地址方向生長。遞減堆棧:向低地址方向生長。滿遞增:堆棧向上增長,SP 指向內(nèi)含有效數(shù)據(jù)項(xiàng)的最高棧單元。指令如LDMFA 、STMFA等;空遞增:堆棧向上增長,SP 指向堆棧上的第一個空位置。指令如LDMEA 、 STMEA等;滿遞減:堆棧向下增長,SP 指向內(nèi)含有效數(shù)據(jù)項(xiàng)的最低棧單元。指令如LDMFD 、STMFD等;空遞減:堆棧向下增長,SP 指向堆棧下的第一個空位置。指令如LDMED 、 STMED等。7 、 試說明 MOV指令、 LDR 加載指令和LDR 偽指令三者的區(qū)別。答: MOV指令是在寄存器間進(jìn)行數(shù)據(jù)傳送,影響標(biāo)志位。LDR 指令是將存儲
38、器中的數(shù)據(jù)按給定地址加載到寄存器中,不影響標(biāo)志位。LDR 偽指令是可以在一個立即數(shù)前面加等號,把一個地址寫入某寄存器。8 、 解釋 B 指令、 BL 指令與 BX 指令的功能差別,并舉例說明其使用方法。答: B 指令是分支指令,BL 指令是帶鏈接的分支指令,BX 是帶狀態(tài)切換的分支指令。對于 B 指令“ B WAITA ”指跳轉(zhuǎn)至標(biāo)號WAITA處開始執(zhí)行, B 指令的跳轉(zhuǎn)范圍為±32M ,對于 BL 指令,實(shí)現(xiàn)程序跳轉(zhuǎn), 并保持 PC 到鏈寄存器LR 中,跳轉(zhuǎn)范圍± 32M ,.舉例“ BL DELAY ”完成的跳轉(zhuǎn)至標(biāo)號DELAY 處執(zhí)行,并把PC-4 存入 LR。BX
39、指令,帶狀態(tài)切換的跳轉(zhuǎn),比如“ BX R0 ”表示跳轉(zhuǎn) R0 指定的地址開始執(zhí)行,并查看R00位的值,如果是1,對 CPSR 的 T 位置位,解釋目標(biāo)程序?yàn)門humb 指令,如果是 0 ,對 CPSR 的 T 位清零,解釋目標(biāo)程序?yàn)锳RM 指令。9 、 分析下列兩段程序片斷的功能,試用類C 語言寫出其等價功能。程序片斷 1:程序片斷 2:CMPR0 , #10CMP R0, R1CMPNER1 , #20ADDHIR0,R0,#1ADDLSR1,R1,#1ADDNER0,R0,R1答:( 1) if(R0 > R1)( 2) if(R0 != 10)&&(R1 != 20
40、)R0+;RO = R0+R1;elseR1+;10 、 使用 ARM匯編指令的條件執(zhí)行功能,試用匯編語言實(shí)現(xiàn)下列兩條C 代碼語句。 if(x = = y)a = b + c;elsea = b c; if(x = = y) && ( a = = b) c = c * 2+b;( 2) LDR R0,x LDR R1,y答:( 1)LDRR0,xLDRR1,yLDRR2,bLDRR3,cCMPR0,R1ADDEQR4,R2,R3SUBNER4,R2,R3LDRR2, aLDRR3, bLDRR4, cCMPR0, R1CMPEQR2,R3,MULEQR4, R4, #2ADD
41、R4 , R4, R3STR c,R4STRa,R4.11 、下列代碼段是實(shí)現(xiàn)開 IRQ中斷和關(guān) IRQ 中斷功能,試補(bǔ)齊空白處內(nèi)容。MRSR0, CPSR MRSR1 ,CPSRBICR1,R0 , 0x80ORRR1, R1,#0x80MSRCPSR_c, R1MSRCPSR_c, R112 、 如果ARM處理器中各寄存器及存儲單元參數(shù)如下圖所示,試寫出執(zhí)行下列指令后,各寄存器及存儲單元中內(nèi)容變化情況。 STMIAR13!,R0-R3 LDMDBR13, R0-R3答:(1), R13 R0(2), R0 R13,R1 R1+4;R13+4 R1R1 R13,R1 R1+4;R13+8 R
42、2R2 R13,R1 R1+4;R13+12 R3R3 R13,R1 R1+4;習(xí)題 41. 什么是計算機(jī)語言?一般可以分為哪幾種?各自的優(yōu)缺點(diǎn)?答:計算機(jī)語言是計算機(jī)可以識別、理解的語言。計算機(jī)語言分為三類:機(jī)器語言,匯編語言和高級語言。機(jī)器語言( MachineLanguage)是由 0 和 1 二進(jìn)制代碼表示和存儲的指令與數(shù)據(jù)。它的特點(diǎn)是能被機(jī)器直接識別與執(zhí)行;程序所占內(nèi)存空間較少。其缺點(diǎn)是難認(rèn)、難記、難編、易錯。.匯編語言是一種面向物理層操作的計算機(jī)語言。不同的處理器類型,具有不同的匯編語言。使用匯編語言編寫程序能夠直接利用硬件系統(tǒng)的特性(如寄存器、標(biāo)志、中斷系統(tǒng)等) ,可直接對位、字節(jié)、字寄存器或存儲單元、I/O 端口進(jìn)行處理,同時也能直接使用 CPU 指令系統(tǒng)提供的各種尋址方式,編制出高質(zhì)量的程序,這樣的程序不但占用內(nèi)存空間少,而且執(zhí)行速度快。缺點(diǎn):由于匯編語言不直接支持復(fù)雜的抽象數(shù)據(jù)類型,在描述目標(biāo)系統(tǒng)模型時,需要程序員自己組織各種抽象數(shù)據(jù)類型的存儲方式,使得匯編語言程序設(shè)計較高級語言困難的多,需要較多的軟件開發(fā)時間,也增加了程序設(shè)計過程中出錯的可能性,程序維護(hù)也麻煩。高級語言( High Level Language)是脫離具體機(jī)器 (即獨(dú)立于機(jī)器) 的通用語言,不依賴于特定計算機(jī)的結(jié)構(gòu)與指令系統(tǒng)。與目標(biāo)系統(tǒng)的數(shù)學(xué)模型之間有著良
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 3.1 水循環(huán)(分層練習(xí))高一地理同步高效課堂(人教版2019必修第一冊)
- 期中模擬試卷(1-4單元)(試題)2024-2025學(xué)年六年級上冊數(shù)學(xué)人教版
- 穿越刺繡的時尚語言-抽紗刺繡與現(xiàn)代時裝設(shè)計探索
- Windows Server網(wǎng)絡(luò)管理項(xiàng)目教程(Windows Server 2022)(微課版)9.2 任務(wù)1 安裝VPN服務(wù)器
- 幼兒教育繪本分享-幼兒教育專家
- 山東省滕州市2024-2025學(xué)年上學(xué)期中練習(xí)九年級英語試題(無答案)
- 2024至2030年中國帶漏油架不粘炒鍋數(shù)據(jù)監(jiān)測研究報告
- 2024至2030年中國塑料造粒輔機(jī)數(shù)據(jù)監(jiān)測研究報告
- 2024至2030年中國全腈綸線數(shù)據(jù)監(jiān)測研究報告
- 2024至2030年中國便攜式傳送帶行業(yè)投資前景及策略咨詢研究報告
- DL∕T 325-2010 電力行業(yè)職業(yè)健康監(jiān)護(hù)技術(shù)規(guī)范
- 軟件供應(yīng)鏈安全管理
- 車站安保、安檢管理服務(wù) 投標(biāo)方案(技術(shù)方案)
- 大班科學(xué)《各種各樣的飛機(jī)》課件教案
- 八大員材料員考試題庫
- 老年個人健康狀況分析報告模板5-12-16
- 2024下半年黑龍江伊春市事業(yè)單位公開招聘工作人員181人重點(diǎn)基礎(chǔ)提升難、易點(diǎn)模擬試題(共500題)附帶答案詳解
- 共享安全非傳統(tǒng)安全研究的中國視域
- 2024年-VISIO各圖標(biāo)超全(IT行業(yè)專用網(wǎng)絡(luò)及硬件)學(xué)習(xí)課件
- 2024年中國長航校園招聘79人公開引進(jìn)高層次人才和急需緊缺人才筆試參考題庫(共500題)答案詳解版
- 2024年院感安全注射培訓(xùn)
評論
0/150
提交評論