freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

系統(tǒng)引導(dǎo)程序boot-loader的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)說(shuō)明書(shū)-文庫(kù)吧資料

2024-08-17 04:54本頁(yè)面
  

【正文】 ,也即啟動(dòng)過(guò)程可以分為stage 1和stage 2兩部分。Bootloader的啟動(dòng)過(guò)程可以是單階段的,也可以是多階段的。不同的體系結(jié)構(gòu)需求的bootloader是不同的;除了體系結(jié)構(gòu),bootloader還依賴(lài)于具體的嵌入式板級(jí)設(shè)備的配置。通過(guò)這段小程序,我們可以初始化必要的硬件設(shè)備,創(chuàng)建內(nèi)核需要的一些信息并將這些信息通過(guò)相關(guān)機(jī)制傳遞給內(nèi)核,從而將系統(tǒng)的軟硬件環(huán)境帶到一個(gè)合適的狀態(tài),最終調(diào)用操作系統(tǒng)內(nèi)核,真正起到引導(dǎo)和加載內(nèi)核的作用。在嵌入式Linux中, 。我們熟悉的PC中的引導(dǎo)程序一般由BIOS和位于MBR的OS bootloader(例如LILO或者GRUB)一起組成。 Bootloader的基本概念一個(gè)嵌入式Linux系統(tǒng)從軟件的角度看通常可以分為四個(gè)層次:引導(dǎo)加載序、Linux內(nèi)核、文件系統(tǒng)、用戶(hù)應(yīng)用程序。 4 Bootloader的概念本文在實(shí)現(xiàn)以及驗(yàn)證上都以開(kāi)放源代碼的linux為操作系統(tǒng),因此,在眾多舉例以及圖表描述中,多以linux系統(tǒng)為例子。對(duì)于本課題來(lái)說(shuō),最終的bootloader也必須在具體的系統(tǒng)上運(yùn)行起來(lái)?!? 將程序計(jì)數(shù)器值PC設(shè)置成該異常中斷的中斷向量地址,從而跳轉(zhuǎn)到相應(yīng)的異常中斷處理程序處執(zhí)行?!? 設(shè)置當(dāng)前的程序狀態(tài)寄存器CPSR中相應(yīng)的位,包括設(shè)置CPSR中的位,使處理器進(jìn)入相應(yīng)的執(zhí)行模式;設(shè)置CPSR中的位,禁止IRQ中斷,當(dāng)進(jìn)入FIQ模式時(shí),禁止FIQ模式。下面是ARM體系中各異常中斷向量的描述表: 異常中斷向量表 ARM處理器對(duì)異常中斷的響應(yīng)過(guò)程如下: ★ 保存處理器當(dāng)前狀態(tài)、中斷屏蔽位以及各條件標(biāo)志位。每個(gè)異常中斷對(duì)應(yīng)的中斷向量表中的4個(gè)字節(jié)的空間中放了一個(gè)跳轉(zhuǎn)指令或者一個(gè)向PC寄存器中賦值的數(shù)據(jù)訪問(wèn)指令。它可以放在存儲(chǔ)地址的低端,也可以放在存儲(chǔ)地址的高端。在異常中斷處理程序執(zhí)行完成后,程序返回到發(fā)生中斷的指令的下一條指令處執(zhí)行?!? 通過(guò)跳轉(zhuǎn)指令,程序可以跳轉(zhuǎn)到特定的地址標(biāo)號(hào)處執(zhí)行,或者跳轉(zhuǎn)到特定的子程序處執(zhí)行。 ARM體系的異常中斷 在ARM體系中通常有以下3種方式控制程序的執(zhí)行流程:★ 在程序正常執(zhí)行過(guò)程種,每執(zhí)行一條ARM指令,程序計(jì)數(shù)器寄存器(PC)的值加4個(gè)字節(jié);每執(zhí)行一條Thumb指令,程序計(jì)數(shù)器寄存器的值加2個(gè)字節(jié)。ARM指令包括60多個(gè)指令,并且支持多種尋址方式:寄存器尋址、立即數(shù)尋址、寄存器間接尋址、寄存器變址尋址、多寄存器尋址、堆棧尋址、塊拷貝尋址以及相對(duì)尋址等。★ Rd 位12-15,目標(biāo)寄存器編碼?!? S 位20,表示結(jié)果是否影響狀態(tài)寄存器標(biāo)志位:1影響,0不影響?!? I 位25,決定operand2的格式。ARM指令按功能大致可以分為跳轉(zhuǎn)指令、數(shù)據(jù)處理指令、乘法類(lèi)指令、數(shù)據(jù)傳送指令、協(xié)處理器類(lèi)指令以及雜項(xiàng)指令(包括狀態(tài)寄存器傳送指令、乘法類(lèi)指令、軟件中斷指令和斷點(diǎn)指令)。Thumb指令集的整體執(zhí)行速度比ARM32位指令集快,而且提高了代碼密度。因此ARM指令中還包括了多條協(xié)處理器指令,使用多達(dá)16個(gè)協(xié)處理器,允許將其他處理器通過(guò)協(xié)處理器接口進(jìn)行緊耦合;ARM還包括幾種內(nèi)存管理單元的變種,包括簡(jiǎn)單的內(nèi)存保護(hù)到復(fù)雜的頁(yè)面層次。它既可以是立即數(shù),也可以是邏輯運(yùn)算數(shù),使得ARM指令可以在讀取數(shù)值的同時(shí)進(jìn)行算術(shù)和移位操作。根據(jù)cond的不同編碼,可以選擇根據(jù)條件碼標(biāo)志決定指令的執(zhí)行。標(biāo)準(zhǔn)的ARM指令每條都是32位,有些ARM核還可以執(zhí)行16位的Thumb指令集。這種存儲(chǔ)器格式如下圖所示: bigendian格式的存儲(chǔ)系統(tǒng)在littleendian格式中,地址為A的字單元包括字節(jié)單元A、A+A+A+3,其中字節(jié)單元由高位到低位字節(jié)順序?yàn)锳+A+A+A;地址為A的字單元包括半字單元A、A+2,其中半字單元由高位到低位字節(jié)順序?yàn)锳+A;地址為A的半字單元包括字節(jié)單元A、A+1,其中字節(jié)單元由高位到低位字節(jié)順序?yàn)锳+A。但是在字單元中,4個(gè)字節(jié)哪一個(gè)是高位字節(jié),哪一個(gè)是低位字節(jié),則有兩種不同的格式:bigendian格式和littleendian格式。地址為A的字?jǐn)?shù)包括地址A、A+A+A+3這4個(gè)字節(jié)單元的內(nèi)容。ARM的地址空間也可以看作是230個(gè)32位的字單元。該地址空間的大小232個(gè)8位字節(jié)。 ARM存儲(chǔ)系統(tǒng)這里僅僅介紹ARM編程模型中與存儲(chǔ)系統(tǒng)相關(guān)的一些概念。 F:快速中斷禁止位;F=1時(shí)禁止FIQ中斷。 CPSR的低8位稱(chēng)為控制位,當(dāng)異常中斷發(fā)生時(shí)這些位發(fā)生改變。大部分的ARM指令可以根據(jù)CPSR中的這些條件標(biāo)志位來(lái)選擇性地執(zhí)行。當(dāng)用戶(hù)模式或者系統(tǒng)模式中訪問(wèn)SPSR,將會(huì)產(chǎn)生不可預(yù)知的結(jié)果。在異常中斷返回退出時(shí),可以用SPSR種保存的值來(lái)恢復(fù)CPSR。每一種處理器異常模式下都有一個(gè)專(zhuān)用的物理狀態(tài)寄存器,稱(chēng)為SPSR(備份程序狀態(tài)寄存器)。CPSR(當(dāng)前程序狀態(tài)寄存器)可以在任何處理器模式下被訪問(wèn)。也就是說(shuō),對(duì)于ARM指令集來(lái)說(shuō),PC指向當(dāng)前指令的下兩條指令的地址。 程序計(jì)數(shù)器R15又被記作PC。當(dāng)通過(guò)跳轉(zhuǎn)指令調(diào)用子程序時(shí),R14被設(shè)置為該子程序的返回地址;在子程序中,把R14的指賦值到程序計(jì)數(shù)器PC中時(shí),子程序返回。R13寄存器對(duì)應(yīng)6個(gè)不同的物理寄存器,即除了前面提過(guò)的用戶(hù)模式與系統(tǒng)模式共用一個(gè)寄存器外,其它模式都有相應(yīng)的物理寄存器;一般地,R13寄存器在ARM中通常用作棧指針,在ARM指令中這只是一種習(xí)慣的用法,并沒(méi)有任何指令強(qiáng)制性的使用R13作為棧指針。在所有的寄存器中,有些是各模式共用的同一個(gè)物理寄存器;有些寄存器是各模式自己擁有的獨(dú)立的物理寄存器。 ARM寄存器組介紹 ARM處理器一般共有37個(gè)寄存器,其中包括:★ 31個(gè)通用寄存器,包括程序計(jì)數(shù)器(PC)在內(nèi),這些寄存器都是32位寄存器;★ 6個(gè)狀態(tài)寄存器,這些寄存器也是32位寄存器;上一節(jié)已經(jīng)說(shuō)過(guò),ARM處理器共有7種不同的處理器模式,在每一種處理器模式中有一組相應(yīng)的寄存器。但是系統(tǒng)模式屬于特權(quán)模式,可以訪問(wèn)所有的系統(tǒng)資源,也可以直接進(jìn)行處理器模式的切換,它主要供操作系統(tǒng)任務(wù)使用。在每一種異常模式中都有一組寄存器,供相應(yīng)的異常處理程序使用,這樣就可以保證在進(jìn)入異常模式時(shí),用戶(hù)模式下的寄存器(保證了程序運(yùn)行狀態(tài))不被破壞。這種體系結(jié)構(gòu)可以使操作系統(tǒng)控制整個(gè)系統(tǒng)的資源。大多數(shù)的用戶(hù)程序運(yùn)行在用戶(hù)模式下,這時(shí),應(yīng)用程序不能夠訪問(wèn)一些受操作系統(tǒng)保護(hù)的系統(tǒng)資源,應(yīng)用程序也不能直接進(jìn)行處理器模式的切換。其中,除系統(tǒng)模式外,其他5種特權(quán)模式又稱(chēng)為異常模式。 ARM處理器模式ARM處理器共有7種運(yùn)行模式,:表格 ARM處理器模式 除了用戶(hù)模式之外的其他6種處理器模式稱(chēng)為特權(quán)模式(Privileged Modes)。因此。6. 寄存器:具體參考下節(jié)相關(guān)介紹。FPA10浮點(diǎn)加速器是作為協(xié)處理方式與ARM相連,并通過(guò)協(xié)處理指令的解釋來(lái)執(zhí)行。ARM為提高運(yùn)算速度,則采用兩位乘法的方法,根據(jù)乘數(shù)的2位來(lái)實(shí)現(xiàn)“加一移位”運(yùn)算 ;ARM高速乘法器采用328位的結(jié)構(gòu),這樣,可以降低集成度(其相應(yīng)芯片面積不到并行乘法器的1/3)。2. 桶形移位寄存器:ARM采用了3232位的桶形移位寄存器,這樣可以使在左移/右移n位、環(huán)移n位和算術(shù)右移n位等都可以一次完成。它由32位ALU、若干個(gè)32位通用寄存器以及狀態(tài)寄存器、328位乘法器、3232位桶形移位寄存器、指令譯碼以及控制邏輯、指令流水線和數(shù)據(jù)/地址寄存器組成。 ARM core描述盡管本本文實(shí)現(xiàn)主要涉及軟件上的開(kāi)發(fā),但是軟件上代碼的實(shí)現(xiàn)更多的都涉及芯片構(gòu)架,因此在這里簡(jiǎn)要介紹一下一般ARM core構(gòu)架。 3 ARM體系結(jié)構(gòu)介紹在介紹具體的ARM Bootloader的實(shí)現(xiàn)之前,首先介紹一下ARM的體系結(jié)構(gòu),因?yàn)锽ootloader是與處理器芯片緊密相連的。ARM架構(gòu)的設(shè)計(jì)采用了以下一些措施:★ 降低電源電壓★ 減少門(mén)的翻轉(zhuǎn)次數(shù),當(dāng)某個(gè)功能電路不需要時(shí),禁止門(mén)翻轉(zhuǎn)★ 減少門(mén)的數(shù)目,即降低芯片的集成度★ 降低時(shí)鐘頻率ARM還其他采用了一些特別的技術(shù),在保證高性能的前提下盡量縮小芯片的面積:★ 所有的指令都可以根據(jù)前面的執(zhí)行結(jié)果決定是否被執(zhí)行,從而提高指令的執(zhí)行效率;★ 可用加載/存儲(chǔ)指令批量傳輸數(shù)據(jù),以提高數(shù)據(jù)的傳輸效率;★ 可在一條數(shù)據(jù)處理指令中同時(shí)完成邏輯處理和移位處理;★ 在循環(huán)處理中使用地址的自動(dòng)增減來(lái)提高運(yùn)行效率;ARM的低功耗,使得ARM在專(zhuān)門(mén)針對(duì)嵌入式系統(tǒng)的處理器市場(chǎng)中始終處于有利的地位。雙核協(xié)同工作,各用所長(zhǎng),有效地提高了數(shù)據(jù)處理能力核傳輸速度,但是RISC+DSP分立的雙核結(jié)構(gòu)存在兩核之間互相通信的困難和分別編程的麻煩,為此發(fā)展了兩核融合在一起的單核結(jié)構(gòu),同時(shí)將指令集也合二為一,簡(jiǎn)化編程提高效率,將CPU提升到可快速運(yùn)算多媒體的算法,實(shí)現(xiàn)許多音視頻的解碼功能。Thumb指令集比通常的8位和16位RISC/CISC處理器具有更好的代碼密度,而芯片面積只增加6%,可使程序存儲(chǔ)器更小。★ 大量使用寄存器,數(shù)據(jù)處理指令只對(duì)寄存器進(jìn)行操作,只有加載/ 存儲(chǔ)指令可以訪問(wèn)存儲(chǔ)器,以提高指令的執(zhí)行效率。到目前為止,RISC體系結(jié)構(gòu)也還沒(méi)有嚴(yán)格的定義,一般認(rèn)為,RISC體系結(jié)構(gòu)應(yīng)具有如下特點(diǎn):★ 采用固定長(zhǎng)度的指令格式,指令歸整、簡(jiǎn)單、基本尋址方式有2~3種?;谝陨系牟缓侠硇?,1979年美國(guó)加州大學(xué)伯克利分校提出了RISC(Reduced Instruction Set Computer,精簡(jiǎn)指令集計(jì)算機(jī))的概念,RISC并非只是簡(jiǎn)單地去減少指令,而是把著眼點(diǎn)放在了如何使計(jì)算機(jī)的結(jié)構(gòu)更加簡(jiǎn)單合理地提高運(yùn)算速度上。 RISC指令集 傳統(tǒng)的CISC(Complex Instruction Set Computer,復(fù)雜指令集計(jì)算機(jī))結(jié)構(gòu)有其固有的缺點(diǎn),即隨著計(jì)算機(jī)技術(shù)的發(fā)展而不斷引入新的復(fù)雜的指令集,為支持這些新增的指令,計(jì)算機(jī)的體系結(jié)構(gòu)會(huì)越來(lái)越復(fù)雜,然而,在CISC指令集的各種指令中,其使用頻率卻相差懸殊,大約有20%的指令會(huì)被反復(fù)使用,占整個(gè)程序代碼的80%?! ntel StrongARM處理器是便攜式通訊產(chǎn)品和消費(fèi)類(lèi)電子產(chǎn)品的理想選擇,已成功應(yīng)用于多家公司的掌上電腦系列產(chǎn)品(6)Intel Xscale微處理器系列有關(guān)Intel Xscale微處理器系列,會(huì)在后面相關(guān)篇幅中進(jìn)行介紹。(5)StrongArm微處理器系列Intel StrongARM SA1100處理器是采用ARM體系結(jié)構(gòu)高度集成的32位RISC微處理器?! RM10E系列微處理器主要應(yīng)用于下一代無(wú)線設(shè)備、數(shù)字消費(fèi)品、成像設(shè)備、工業(yè)控制、通信和信息系統(tǒng)等領(lǐng)域?!?支持?jǐn)?shù)據(jù)Cache和指令Cache,具有更高的指令和數(shù)據(jù)處理能力★ 主頻最高可達(dá)400MIPS?!?支持VFP10浮點(diǎn)處理協(xié)處理器。★ 支持32位ARM指令集和16位Thumb指令集?! RM10E系列微處理器的主要特點(diǎn)如下:★ 支持DSP指令集,適合于需要高速數(shù)字信號(hào)處理的場(chǎng)合?! RM9E系列微處理器包含ARM926EJS、ARM946ES和ARM966ES三種類(lèi)型,以適用于不同的應(yīng)用場(chǎng)合。★ 主頻最高可達(dá)300MIPS。★ MPU支持實(shí)時(shí)操作系統(tǒng)?!?支持VFP9浮點(diǎn)處理協(xié)處理器?!?支持32位ARM指令集和16位Thumb指令集?! RM9E系列微處理器的主要特點(diǎn)如下:★ 支持DSP指令集,適合于需要高速數(shù)字信號(hào)處理的場(chǎng)合。 (3)ARM9E微處理器系列ARM9E系列微處理器為可綜合處理器,使用單一的處理器內(nèi)核提供了微控制器、DSP、Java應(yīng)用系統(tǒng)的解決方案,極大的減少了芯片的面積和系統(tǒng)的復(fù)雜程度。  ARM9系列微處理器主要應(yīng)用于無(wú)線設(shè)備、儀器儀表、安全系統(tǒng)、機(jī)頂盒、高端打印機(jī)、數(shù)字照相機(jī)和數(shù)字?jǐn)z像機(jī)等?!?MPU支持實(shí)時(shí)操作系統(tǒng)。★ 支持32位的高速AMBA總線接口?!?。(2)ARM9微處理器系列ARM9系列微處理器在高性能和低功耗特性方面提供最佳的性能?! RM7系列微處理器包括如下幾種類(lèi)型的核:ARM7TDMI、ARM7TDMIS、ARM720T、ARM7EJ。 ★ 主頻最高可達(dá)130MIPS,高速的運(yùn)算處理能力能勝任絕大多數(shù)的復(fù)雜應(yīng)用。★ 對(duì)操作系統(tǒng)的支持廣泛,包括Windows CE、Linux、Palm OS等?!?。ARM7微處理器系列具有如下特點(diǎn):★ 具有嵌入式ICE-RT邏輯,調(diào)試開(kāi)發(fā)方便。ARM體系有變種,也就是說(shuō)有些版本具備特定功能,在各個(gè)版本的版本號(hào)上可以體現(xiàn)出來(lái),說(shuō)明如下:T: 支持16位壓縮指令集Thumb;  D: 支持片上Debug;M:內(nèi)嵌硬件乘法器(Multiplier),增加用于長(zhǎng)乘法操作的指令;  I: 嵌入式ICE,支持片上斷點(diǎn)和調(diào)試點(diǎn);E:增強(qiáng)型DSP指令;ARM構(gòu)架誕生至今,已經(jīng)產(chǎn)生了多次變革,每一次都帶來(lái)性能上的極大飛躍,其過(guò)程包括:★ V1構(gòu)架(ARM1) 基本的數(shù)據(jù)處理指令(無(wú)乘法) 字節(jié)、半字和字的Load/Store指令轉(zhuǎn)移指令,包括子程序的調(diào)用和鏈接指令軟件中斷指令尋址空間64MB★ V2構(gòu)架(ARM2,ARM3)增加乘法和乘法指令增加支持協(xié)處理器的操作增加快速中斷模式增加SWP/SWPB的存儲(chǔ)器和寄存器交換指令★ V3構(gòu)架(ARM6)增加了MRS/MSR指令,訪問(wèn)新增的CPSR/SPSR寄存器增加了異常處理返回尋址空間4GB★ V4構(gòu)架(ARM7, ARM9)增加符號(hào)化和非符號(hào)化半字及符號(hào)化字節(jié)的存取指令增加16位的Thumb指令完善軟件中斷SWI指令★ V5構(gòu)架(ARM10)帶有鏈接和交換的轉(zhuǎn)移BLX指令計(jì)數(shù)前導(dǎo)零CLZ指令BRK中斷指令增加了一
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1