ARM知識(shí)點(diǎn)詳解_第1頁(yè)
ARM知識(shí)點(diǎn)詳解_第2頁(yè)
ARM知識(shí)點(diǎn)詳解_第3頁(yè)
ARM知識(shí)點(diǎn)詳解_第4頁(yè)
已閱讀5頁(yè),還剩6頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、1、 ARM 處理器工作模式有幾種 ?各種工作模式下分別有什么特點(diǎn) ?ARM處理器有 7 種工作模式,這7 種模式及其特點(diǎn)是:快速中斷模式 (fiq)支持高速數(shù)據(jù)傳輸或通道處理, 外部中斷 fiq 信號(hào)有效且 CPSR的 F=0進(jìn)入。中斷模式 (irq)用于通用中斷處理,外部中斷irq信號(hào)有效 CPSR的 I=0 進(jìn)入。管理員模式 (svc)- 操作系統(tǒng)的保護(hù)模式, 復(fù)位、軟件中斷 進(jìn)入。主要用于 SWI( 軟件中斷 ) 和 OS(操作系統(tǒng) ) 。這個(gè)模式有額外的特權(quán),允許你進(jìn)一步控制計(jì)算機(jī)。中止模式 (abt)- 支持虛擬內(nèi)存和 / 或內(nèi)存保護(hù) 預(yù)取指令中止 / 數(shù)據(jù)中止 進(jìn)入未定義模式 (

2、und)-支持硬件協(xié)處理器的軟件仿真(浮點(diǎn)、向量運(yùn)算)未定義指令 進(jìn)入系統(tǒng)模式 (sys)- 支持操作系統(tǒng)的特殊用戶模式 ( 運(yùn)行操作系統(tǒng)任務(wù))用戶模式 (usr)正常的程序執(zhí)行模式,此模式應(yīng)用程序不能訪問(wèn)受操作系統(tǒng)保護(hù)的資源,不能改變模式,除非異常發(fā)生。2、ARM 處理器總共有多少個(gè)寄存器,這些寄存器按其在用戶編程中的功能是如何劃分的?這些寄存器在使用中各有何特殊之處 ?答: ARM微處理器共有 37 個(gè) 32 位寄存器,其中 31 個(gè)為通用寄存器, 6 個(gè)為狀態(tài)寄存器。31 個(gè)通用寄存器根據(jù)其編程特點(diǎn)可分為如下幾種類型:1、不分組寄存器 R0-R7 為所有模式共享2、分組寄存器 R8-R1

3、2R8_fiq-R12_fiq : FIQ 模式下的寄存器R8-R12:其它模式共享3、分組寄存器R13-R14分為 6 組,用戶、系統(tǒng)一組,其他每種模式一組。R13_<mode>通常用作堆棧指針SP,R14_<mode>通常用作子程序鏈接寄存器,當(dāng)進(jìn)入子程序時(shí),常用來(lái)保存PC的返回值其中, mode為以下幾種模式之一: usr 、 fiq 、irq 、svc 、 abt 、 und。4、程序寄存器R15 ( PC)所有模式共享6 個(gè)狀態(tài)寄存器:一個(gè) CPSR當(dāng)前程序狀態(tài)寄存器,保存當(dāng)前程序狀態(tài)。五個(gè)程序狀態(tài)備份寄存器SPSR(svc,abt,und,irq,frq),

4、只有在異常模式下,才能被訪問(wèn);各異常模式都擁有屬于自己的 SPSR,當(dāng)發(fā)生異常時(shí),SPSR用來(lái)保存 CPSR的值,從異常退出時(shí)則可由 SPSR來(lái)恢復(fù) CPSR。3、試述 ARM 處理器對(duì)異常中斷的響應(yīng)過(guò)程。答:當(dāng)一個(gè)異常出現(xiàn)以后, ARM微處理器執(zhí)行完當(dāng)前指令后(復(fù)位異常除外)會(huì)執(zhí)行以下幾步操作:1. 將下一條指令的地址存入相應(yīng)連接寄存器 LR(R14_XXX),以便程序在處理異常返回時(shí)能從正確的位置重新開始執(zhí)行。2. 將 CPSR復(fù)制到相應(yīng)的 SPSR中。3. 根據(jù)異常類型,強(qiáng)制設(shè)置 CPSR的運(yùn)行模式位。4. 強(qiáng)制 PC從相關(guān)的異常向量地址取一條指令執(zhí)行,從而跳轉(zhuǎn)到相應(yīng)的異常處理程序處。4

5、、如何從異常中斷處理程序中返回?需要注意哪些問(wèn)題?答:異常處理完畢之后, ARM微處理器會(huì)執(zhí)行以下幾步操作從異常返回:1. 將連接寄存器 LR(R14_XXX)的值減去相應(yīng)的偏移量后送到 PC中。2. 將 SPSR復(fù)制回 CPSR中,恢復(fù)原處理器工作模式。3. 若在進(jìn)入異常處理時(shí)設(shè)置了中斷禁止位,要在此清除。注意問(wèn)題:異常處理返回時(shí), IRQ和 FIQ 必須返回前一條指令,以便執(zhí)行因進(jìn)入異常而被“占據(jù)”的指令。 預(yù)取指中止必須返回前一條指令, 以便執(zhí)行在初次請(qǐng)求訪問(wèn)時(shí)造成存儲(chǔ)器故障的指令。 數(shù)據(jù)中止必須返回前面第二條指令,以便重新執(zhí)行因進(jìn)入異常而被占據(jù)的指令之前的數(shù)據(jù)傳送指令。5、ARM 處理

6、器版本的變化主要體現(xiàn)在內(nèi)核的變化和內(nèi)核的擴(kuò)展哪些方面?答: ARM處理器版本的變化主要體現(xiàn)在內(nèi)核的擴(kuò)展和擴(kuò)充。ARM內(nèi)核的擴(kuò)展主要是增加 ARM核外圍的組件,以改善 ARM性能,提供資源管理等功能。主要有 3 種硬件擴(kuò)展:1 、ARM內(nèi)核擴(kuò)展 cache 和緊耦合存儲(chǔ)器2 、擴(kuò)展存儲(chǔ)管理3 、擴(kuò)展協(xié)處理器接口(控制 cache、 TCM和存儲(chǔ)管理)ARM內(nèi)核擴(kuò)充主要是增加 ARM核功能,通常將具有某些特殊功能的 ARM內(nèi)核稱為它的某種變種,到目前為止ARM定義了如下變種:1、T 變種2、M變種3、E變種Thumb 指令集長(zhǎng)乘指令增強(qiáng)型 DSP指令4、J 變種java加速器Jazelle6、簡(jiǎn)述

7、 處理器啟動(dòng)時(shí)的模式轉(zhuǎn)換過(guò)程。處理器啟動(dòng)時(shí),首先進(jìn)入管理員模式 (svc),此后進(jìn)入除用戶模式之外的其他模式,主要完成各模式的堆棧設(shè)置,最后進(jìn)入用戶模式,運(yùn)行用戶程序。7、 ARM 存儲(chǔ)器的存儲(chǔ)周期有幾種類型,對(duì)應(yīng)于cache 訪問(wèn)和存儲(chǔ)器訪問(wèn)是何存儲(chǔ)周期?ARM 存儲(chǔ)器的存儲(chǔ)周期有 4 種類型,它們分別是:空閑周期、順序周期、協(xié)處理器寄存器傳送周期和非順序周期,對(duì)應(yīng)于 cache 訪問(wèn)的存儲(chǔ)周期是空閑周期和順序周期,對(duì)應(yīng)于存儲(chǔ)器訪問(wèn)的存儲(chǔ)周期是非順序周期。8、何謂 cache?簡(jiǎn)述 cache 的工作原理。Cache即高速緩沖存儲(chǔ)器是位于CPU 與內(nèi)存之間的高速存儲(chǔ)器,它的容量比內(nèi)存小但交換

8、速度快。在 cache 存儲(chǔ)系統(tǒng)當(dāng)中,把主存儲(chǔ)器和cache 都劃分成相同大小的塊。主存地址由塊號(hào)M 和塊內(nèi)地址N 兩部分組成。同樣,cache的地址也由塊號(hào)m 和塊內(nèi)地址n 組成。 然而 cache 是相連存儲(chǔ)器, 裝入時(shí), 通過(guò)地址變換部件把主存地址中的塊號(hào) M 變成 cache 的塊號(hào) m,塊號(hào) M 保存在塊號(hào)為m的cache塊的標(biāo)記區(qū),數(shù)據(jù)塊裝入cache緩沖區(qū)。當(dāng)CPU要訪問(wèn)cache 時(shí),CPU送來(lái)主存地址,放到主存地址寄存器中。然后通過(guò)地址變換部件把主存地址中的塊號(hào)M 變成 cache的塊號(hào) m,并放到 cache 地址寄存器當(dāng)中。同時(shí)將主存地址中的塊內(nèi)地址 N 直接作為 cac

9、he的塊內(nèi)地址 n 裝入到 cache地址寄存器中。 如果地址變換成功 (通常稱為 cache命中),就用得到的cache地址去訪問(wèn)cache,從 cache中取出數(shù)據(jù)送到 CPU 中。如果地址變換不成功,則產(chǎn)生 cache 失效信息,并且接著使用主存地址直接去訪問(wèn)主存儲(chǔ)器。9、簡(jiǎn)述全相聯(lián) cache、直接映象 cache、組相聯(lián) cache 其主存地址至 cache 地址的變換過(guò)程和數(shù)據(jù)檢索過(guò)程。全相聯(lián) cache 地址的變換過(guò)程和數(shù)據(jù)檢索過(guò)程:把內(nèi)存地址的塊號(hào)與 cache 目錄區(qū)的主存塊號(hào)比較,若相同則命中, 然后塊內(nèi)地址檢索 cache 塊/行的某字; 否則訪問(wèn)內(nèi)存。直接映象 cach

10、e 地址的變換過(guò)程和數(shù)據(jù)檢索過(guò)程:1、根據(jù) 內(nèi)存地址的 塊號(hào)找到 cache 的對(duì)應(yīng)塊。2、把內(nèi)存地址的區(qū)號(hào)與cache 塊的標(biāo)記比較, 若兩者相等且有效位為1,則為命中, 以塊內(nèi)地址訪問(wèn)Cache 數(shù)據(jù)區(qū)。若兩者不相等或有效位不為1,則訪問(wèn)內(nèi)存。組相聯(lián) cache 地址的變換過(guò)程和數(shù)據(jù)檢索過(guò)程:1、首先以 內(nèi)存 地址的組號(hào)q 找到 cache 中的組。如:物理地址的組號(hào)為1,則對(duì)應(yīng) cache 第 1 組。2、由于主存與cache 其組內(nèi)的塊之間采用全相連映射,因此把 內(nèi)存 地址的區(qū)號(hào)、組內(nèi)塊號(hào)與cache 目錄區(qū)所存的區(qū)號(hào)、組內(nèi)塊號(hào)比較,若有相同者則為命中。3、若命中,以物理地址的塊內(nèi)地址

11、查找某字,否則訪問(wèn)內(nèi)存。10、何謂寫通cache 和寫回 cache,兩者有何區(qū)別?采用寫通法進(jìn)行數(shù)據(jù)更新的cache 稱為寫通cache。寫通法是指CPU 在執(zhí)行寫操作時(shí),必須把數(shù)據(jù)同時(shí)寫入cache 和主存。采用寫回法進(jìn)行數(shù)據(jù)更新的cache稱為寫回cache。寫回法是指CPU在執(zhí)行寫操作時(shí),被寫的數(shù)據(jù)只寫入cache,不寫入主存。僅當(dāng)需要替換時(shí),才把已經(jīng)修改的cache塊寫回到主存中。寫通 cache 和寫回 cache 的區(qū)別主要體現(xiàn)在 執(zhí)行寫操作時(shí)數(shù)據(jù)是否同時(shí)寫入主存, 寫通 cache 的欲寫 數(shù)據(jù)同時(shí)寫入 cache和主存; 寫回 cache 的欲寫 數(shù)據(jù)只寫入 cache,不寫

12、入主存, 僅當(dāng)需要替換時(shí), 才把已經(jīng)修改的 cache 塊寫回到主存中。11、說(shuō)明 ARM 存儲(chǔ)器存儲(chǔ)訪問(wèn)過(guò)程。12、 arm 的 MMU 主要主要實(shí)現(xiàn)何功能。答: MMU 主要主要實(shí)現(xiàn)功能是:1、 虛擬存儲(chǔ)空間到物理存儲(chǔ)空間的映射。在ARM中采用了頁(yè)式虛擬存儲(chǔ)管理,通過(guò)兩級(jí)頁(yè)表實(shí)現(xiàn)虛擬地址到物理地址的映射。2、 存儲(chǔ)器訪問(wèn)權(quán)限的控制。3、 設(shè)置虛擬存儲(chǔ)空間的緩沖的特性,主要包括Cache、write buffer 的配置。13、協(xié)處理器cp15 主要主要實(shí)現(xiàn)何功能。答:協(xié)處理器 cp15 用于處理、控制ARM 的特殊性能,包括:1、片上存儲(chǔ)器管理單元(MMU) 的特性。2、指令、數(shù)據(jù)緩存的特

13、性。3、寫緩沖器的特性。為控制這些特性,CP15 提供了 16 個(gè)額外寄存器。14、簡(jiǎn)述MMU使能時(shí)存儲(chǔ)訪問(wèn)過(guò)程。(設(shè)chach為一級(jí)cache)答:使能通過(guò)配置MMU cp15時(shí)存儲(chǔ)訪問(wèn)過(guò)程寄存器,設(shè)置為:MMU使能 :(1) 若 cache 使能,根據(jù) arm 輸出的虛擬地址在CACHE 中搜索 ;若 cache 命中 , arm 處理器與cache 交換數(shù)據(jù)。(2) 若 cache 禁止或cache 未命中,首先訪問(wèn)TLB ,根據(jù)arm 輸出的虛擬地址在 TLB 中搜索,若 TLB 命中,將 TLB 中的物理頁(yè)地址與虛擬地址的頁(yè)內(nèi)偏移量拼接成物理地址,訪問(wèn)主存并把該塊數(shù)據(jù)讀取到cache

14、(使能時(shí) )中。(3) 若 cache 且 TLB 均未命中,訪問(wèn)主存中的頁(yè)表。15、 ARM 支持的物理頁(yè)有幾種類型,其容量為何值?ARM 支持的物理頁(yè)有四種類型,分別是:1m 的頁(yè),64k 的大頁(yè), 4k 的小頁(yè), 1k 的微頁(yè)或極小頁(yè)。16、簡(jiǎn)述采用單步頁(yè)表搜索過(guò)程。(若一級(jí)頁(yè)表的頁(yè)表項(xiàng)為1M 的段,采用單步頁(yè)表搜索;若為細(xì)頁(yè)表或粗頁(yè)表的頁(yè)表項(xiàng)則采用兩步搜索。)搜索步驟:1、首先由 c2 寄存器的高18 位和邏輯地址的高12 位拼接成段描述符的物理地址,如下圖所示:2、根據(jù)上述地址檢索一級(jí)頁(yè)表找到段描述符,把段描述符中的高 12 位和虛擬地址的低 20 位拼接成并由此地址訪問(wèn)主存物理頁(yè)及

15、相應(yīng)存儲(chǔ)單元。32 位物理地址,17、簡(jiǎn)述使用粗頁(yè)表和4k 頁(yè)的二級(jí)虛實(shí)地址轉(zhuǎn)換過(guò)程。1、首先把 c2 寄存器中的 18 位頁(yè)表基址作為粗頁(yè)表描述符的地址的高 18 位,虛擬地址的高 12 位作為粗頁(yè)表描述符的地址的中間部分, 00 作為粗頁(yè)表描述符的地址的最低 2 位,由此得到粗頁(yè)表描述符的物理地址。根據(jù)粗頁(yè)表描述符的物理地址,檢索一級(jí)頁(yè)表,找到粗頁(yè)表描述符。2、把粗頁(yè)表描述符22 位二級(jí)頁(yè)表基址與虛擬地址的中間8 位和 00 拼接成 4k 頁(yè)描述符的物理地址,根據(jù) 4k 頁(yè)描述符的物理地址,檢索二級(jí)頁(yè)表,找到4k 頁(yè)表描述符。3、將 4k 頁(yè)表描述符中的高20 位物理地址與虛擬地址的低 1

16、2 位拼接成主存物理地址,并由此訪問(wèn)某存儲(chǔ)單元。18、微處理器及嵌入式系統(tǒng)的總線一般由幾部分組成,arm中實(shí)現(xiàn)存儲(chǔ)器及外設(shè)讀、寫操作的控制信號(hào)是什么?微處理器及嵌入式系統(tǒng)的總線一般由3 部分組成,其分別是:1、數(shù)據(jù)總線:傳送數(shù)據(jù)信息的信號(hào)線,通常為雙向、三態(tài)總線。2、地址總線:用來(lái)傳送地址信息的信號(hào)線,通常為單向、三態(tài)總線3、控制總線:傳送控制信息的信號(hào)線。arm 中實(shí)現(xiàn)存儲(chǔ)器及外設(shè)讀、寫操作的控制信號(hào)分別是。19、何謂總線主控設(shè)備、總線從設(shè)備,并舉例說(shuō)明之。何謂主控設(shè)備是指能控制總線并啟動(dòng)數(shù)據(jù)傳送的任何設(shè)備稱做主控器或主設(shè)備,如 CPU 和 DMA 控制器 ??偩€從設(shè)備則是指能夠響應(yīng)總線主設(shè)

17、備發(fā)出的總線命令的任何設(shè)備,如存儲(chǔ)器。20、什么是系統(tǒng)總線,微機(jī)和arm 使用何系統(tǒng)總線?系統(tǒng)總線是指把微機(jī)系統(tǒng)內(nèi)各部件的相互連接的總線,例,微機(jī)的ISA 、EISA 、VESA 、PCI 等微機(jī)標(biāo)準(zhǔn)總線,arm 的片上總線。21、簡(jiǎn)述總線周期的四個(gè)階段。一個(gè)總線周期的四個(gè)階段:1.總線請(qǐng)求和仲裁階段由需要使用總線的主控設(shè)備向總線仲裁機(jī)構(gòu)提出使用總線的請(qǐng)求,經(jīng)總線仲裁機(jī)構(gòu)仲裁確定,把下一個(gè)傳送周期的總線使用權(quán)分配給哪一個(gè)請(qǐng)求源。2、尋址階段取得總線使用權(quán)的主控設(shè)備,通過(guò)地址總線發(fā)出本次要訪問(wèn)的從屬設(shè)備的存儲(chǔ)器地址、或I/O 端口地址及有關(guān)命令, 通過(guò)譯碼使參與本次傳送操作的從屬設(shè)備被選中,并開

18、始啟動(dòng)。3、數(shù)據(jù)傳送階段主控設(shè)備和從屬設(shè)備進(jìn)行數(shù)據(jù)交換。4、結(jié)束階段主控設(shè)備、從屬設(shè)備的有關(guān)信息均從系統(tǒng)總線上撤除,讓出總線,以便其他模塊能繼續(xù)使用。22、簡(jiǎn)述主設(shè)備和從設(shè)備之間的三種數(shù)據(jù)傳輸方式。主設(shè)備和從設(shè)備之間的數(shù)據(jù)傳輸方式:一、同步式傳輸使用一個(gè)同步時(shí)鐘作為控制數(shù)據(jù)的傳輸。主設(shè)備與從設(shè)備進(jìn)行一次傳輸所需的時(shí)間是固定的,其中每一步驟的起止時(shí)刻,也都有嚴(yán)格的規(guī)定,都以系統(tǒng)時(shí)鐘來(lái)統(tǒng)一。二、異步式傳輸異步傳輸是采取應(yīng)答式傳輸技術(shù)來(lái)實(shí)現(xiàn)的,用請(qǐng)求REQ 和應(yīng)答 ACK 兩種信號(hào)來(lái)協(xié)調(diào)傳輸過(guò)程。三、半同步傳輸半同步傳輸是綜合同步和異步傳輸方式的優(yōu)點(diǎn)設(shè)計(jì)出來(lái)的混合式的總線結(jié)構(gòu)。這種總線有兩個(gè)控制信號(hào):由主設(shè)備來(lái)的CLOCK和從設(shè)備來(lái)的WAIT 信號(hào)。若從設(shè)備傳輸速度足夠快,則不發(fā)WAIT等待信號(hào) ,以同步方式傳輸數(shù)據(jù)。如果從設(shè)備不能在一個(gè)周期內(nèi)作出響應(yīng),則使 WAIT信號(hào)變高而使主設(shè)備暫停。只要 WAIT 信號(hào)高電平有效,其后的時(shí)鐘周期內(nèi)主設(shè)備處于等待

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論