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

正文內(nèi)容

系統(tǒng)引導程序的設計與實現(xiàn)畢業(yè)設計說明書(編輯修改稿)

2025-01-08 17:22 本頁面
 

【文章內(nèi)容簡介】 雜,然而,在 CISC 指令集的各種指令中,其使用頻率卻相差懸殊,大約有 20%的指令會被反復使用,占整個程序代碼的 80%。而余下的 80%的指令卻不經(jīng)常使用,在程序設計中只占 8 20%,顯然,這種結構是不太合理的。 基于以上的不合理性, 1979 年美國加州大學伯克利分校提出了 RISC( Reduced Instruction Set Computer,精簡指令集計算機)的概念, RISC 并非只是簡單地去減少指令,而是把著眼點放在了如何使計算機的結構更加簡 單合理地提高運算速度上。 RISC 結構優(yōu)先選取使用頻率最高的簡單指令,避免復雜指令;將指令長度固定,指令格式和尋址方式種類減少;以控制邏輯為主,不用或少用微碼控制等措施來達到上述目的。 到目前為止, RISC 體系結構也還沒有嚴格的定義,一般認為, RISC 體系結構應具有如下特點: ★ 采用固定長度的指令格式,指令歸整、簡單、基本尋址方式有 2~ 3 種。 ★ 使用單周期指令,便于流水線操作執(zhí)行。 ★ 大量使用寄存器,數(shù)據(jù)處理指令只對寄存器進行操作,只有加載 / 存儲指令可以訪問存儲器,以提高指令的執(zhí)行效率。 ARM 主要使 用 32 位的 RISC 指令,但是指令代碼利用率低, ARM 為了彌補此不足,在新型 ARM 構架( V4T 版本以上)定義了 16 位的 Thumb 指令集。 Thumb指令集比通常的 8 位和 16 位 RISC/CISC 處理器具有更好的代碼密度,而芯片面積只增加 6%,可使程序存儲器更小。 另外,為了加速通信和多媒體中有關數(shù)字信號的處理, ARM 處理器在 RISC的基礎上增加了許多原屬 DSP 核中的關鍵部件。雙核協(xié)同工作,各用所長,有效地提高了數(shù)據(jù)處理能力核傳輸速度,但是 RISC+DSP 分立的雙核結構存在兩核之間互相通信的困難和分別編程的麻煩,為 此發(fā)展了兩核融合在一起的單核結構,同時將指令集也合二為一,簡化編程提高效率,將 CPU 提升到可快速運算多媒體的算法,實現(xiàn)許多音視頻的解碼功能。 低功耗 由于 ARM 架構的處理器主要用于手持式嵌入式系統(tǒng)之中,因此 ARM 構架在設計中十分注意低電壓、低功耗這一點,因而在手持式嵌入式系統(tǒng)得到廣泛的應用。 ARM 架構的設計采用了以下一些措施: ★ 降低電源電壓 ★ 減少門的翻轉(zhuǎn)次數(shù),當某個功能電路不需要時,禁止門翻轉(zhuǎn) ★ 減少門的數(shù)目,即降低芯片的集成度 ★ 降低時鐘頻率 ARM 還其他采用了一些特別的 技術,在保證高性能的前提下盡量縮小芯片的面積: 9 ★ 所有的指令都可以根據(jù)前面的執(zhí)行結果決定是否被執(zhí)行,從而提高指令的執(zhí)行效率; ★ 可用加載 /存儲指令批量傳輸數(shù)據(jù),以提高數(shù)據(jù)的傳輸效率; ★ 可在一條數(shù)據(jù)處理指令中同時完成邏輯處理和移位處理; ★ 在循環(huán)處理中使用地址的自動增減來提高運行效率; ARM 的低功耗,使得 ARM 在專門針對嵌入式系統(tǒng)的處理器市場中始終處于有利的地位。一組典型數(shù)據(jù)是:對于 ARM7 系列處理器,當核電壓是 時,每 MHz,其功耗只為 。 10 3 ARM 體系結構介紹 在介紹 具體的 ARM Bootloader的實現(xiàn)之前,首先介紹一下 ARM的體系結構,因為 Bootloader 是與處理器芯片緊密相連的。為了更好的在后面篇幅中介紹實現(xiàn),先簡單介紹相關的體系結構以及相關指令集。 ARM core 描述 盡管本本文實現(xiàn)主要涉及軟件上的開發(fā),但是軟件上代碼的實現(xiàn)更多的都涉及芯片構架,因此在這里簡要介紹一下一般 ARM core 構架。 下圖所示的是 ARM 構架圖。它由 32 位 ALU、若干個 32 位通用寄存器以及狀態(tài)寄存器、 32 8 位乘法器、 32 32 位桶形移位寄存器、指令譯碼以及控制邏輯、指 令流水線和數(shù)據(jù) /地址寄存器組成。 1. ALU:它 由 兩個操作數(shù)鎖存器、加法器、邏輯功能、結果以及零檢測邏輯構成。 2. 桶形移位寄存器: ARM 采用了 32 32 位的桶形移位寄存器,這樣可以使在左移 /右移 n 位、環(huán)移 n 位和算術右移 n 位等都可以一次完成。 3. 高速乘法器:乘法器一般采用 “加一移位 ”的方法來實現(xiàn)乘法。 ARM 為 提高運算速度,則采用兩位乘法的方法,根據(jù)乘數(shù)的 2位來實現(xiàn) “加一移位 ”運算 ;ARM 高速乘法器采用 32 8 位的結構,這樣,可以降低集成度(其相應芯片面積不到并行乘法器的 1/3)。 4. 浮點部件 :浮點部件是作為選件供 ARM 構架使用。 FPA10 浮點加速器是作為協(xié)處理方式與 ARM 相連,并通過協(xié)處理指令的解釋來執(zhí)行。 5. 控制器: ARM 的控制器采用的是硬接線的可編程邏輯陣列 PLA。 6. 寄存器:具體參考下節(jié)相關介紹。 不同的 ARM core 可能還有所不同。因此,圖 描述的僅僅針對一般而言。 11 圖 ARM構架圖 ARM 處理器工作狀態(tài)及模式 本節(jié)主要簡單介紹 ARM 處理器模式, ARM 寄存器組, ARM 存儲系統(tǒng), ARM指令集, ARM 體系異 常中斷等內(nèi)容。 ARM 處理器模式 ARM 處理器共有 7 種運行模式,如表 所示: 12 表格 ARM處理器模式 除了用戶模式之外的其他 6 種處理器模式稱為特權模式( Privileged Modes)。在這些模式下,程序可以訪問所有的系統(tǒng)資源,也可以任意地進行處理器模式的切換。其中,除系統(tǒng)模式外,其他 5 種特權模式又稱為異常模式。 處理器模式可以通過軟件控制進行切換,也可以通過外部中斷或異常處理過程進行切換。大多數(shù)的用戶程序運行在用戶模式下,這時,應用程序不能夠訪問一些受操作系統(tǒng)保 護的系統(tǒng)資源,應用程序也不能直接進行處理器模式的切換。當需要進行處理器模式的切換時,應用程序可以產(chǎn)生異常處理,在異常處理過程中進行模式的切換。這種體系結構可以使操作系統(tǒng)控制整個系統(tǒng)的資源。 當應用程序發(fā)生異常中斷時,處理器進入相應的異常模式。在每一種異常模式中都有一組寄存器,供相應的異常處理程序使用,這樣就可以保證在進入異常模式時,用戶模式下的寄存器(保證了程序運行狀態(tài))不被破壞。 系統(tǒng)模式并不是通過異常過程進入的,它和用戶模式具有完全一樣的寄存器。但是系統(tǒng)模式屬于特權模式,可以訪問所有的系統(tǒng)資源,也可以直 接進行處理器模式的切換,它主要供操作系統(tǒng)任務使用。通常操作系統(tǒng)的任務需要訪問所有的系統(tǒng)資源,同時該任務仍然使用用戶模式下的寄存器組,而不是使用異常模式下相應的寄存器組,這樣可以保證當異常中斷發(fā)生時任務狀態(tài)不被破壞。 ARM 寄存器組介紹 ARM 處理器一般共有 37 個寄存器,其中包括: ★ 31 個通用寄存器,包括程序計數(shù)器( PC)在內(nèi),這些寄存器都是 32 位寄存器; ★ 6 個狀態(tài)寄存器,這些寄存器也是 32 位寄存器; 上一節(jié)已經(jīng)說過, ARM 處理器共有 7 種不同的處理器模式,在每一種處理 13 器模式中 有一組相應的寄存器。任意時刻(也就是任意的處理器模式下),可見的寄存器包括 15 個通用寄存器( R0- R14)、一個或者兩個狀態(tài)寄存器以及程序計數(shù)器( PC)。在所有的寄存器中,有些是各模式共用的同一個物理寄存器;有些寄存器是各模式自己擁有的獨立的物理寄存器。圖 表示了各處理器模式下的可見寄存器: 圖 ARM狀態(tài)下的寄存器組 從 圖 中可以看出,通用寄存器 R0- R7 在所有的處理器模式下指的都是同一個物理寄存器 , 而對于 R8- R12 寄存器組,除了在快速中斷模式下有自己專有的物理寄存器,其它模式下也共 有統(tǒng)一物理寄存器。 R13 寄存器對應 6 個不同的物理寄存器,即除了前面提過的用戶模式與系統(tǒng)模式共用一個寄存器外,其它模式都有相應的物理寄存器;一般地, R13 寄存器在 ARM 中通常用作棧指針,在 ARM 指令中這只是一種習慣的用法,并沒有任何指令強制性的使用 R13 作為棧指針。 R14 寄存器又被稱為連接寄存器( Link Register, LR),在 ARM 體系中有下面兩種特殊的作用: 14 ★ 每一種處理器模式自己的物理 R14 中存放當前子程序的返回地址。當通過跳轉(zhuǎn)指令調(diào)用子程序時, R14 被設置為該子程序的返回地址;在子程序中 ,把R14 的指賦值到程序計數(shù)器 PC 中時,子程序返回 。 ★ 當異常中斷發(fā)生時,該異常模式特定的物理 R14 被設置成該異常模式將要返回的地址,對于有些異常模式, R14 的值可能與將返回的地址有個常數(shù)的偏移量。 程序計數(shù)器 R15 又被記作 PC。由于 ARM 采用了流水線機制,當正確讀取了PC 的值時,該值為當前指令地址加 8 個字節(jié)。也就是說,對于 ARM 指令集來說,PC 指向當前指令的下兩條指令的地址。由于 ARM 指令是字對齊的, PC 值的第 0位和第 1 位總為 0。 CPSR(當前程序狀態(tài)寄存器)可以在任何處理器模式下被訪問。它 包含了標志位、中斷禁止位、當前處理器模式標志以及其它的一些控制和狀態(tài)位。每一種處理器異常模式下都有一個專用的物理狀態(tài)寄存器,稱為 SPSR(備份程序狀態(tài)寄存器)。當特定的異常中斷發(fā)生時,這個寄存器用于存放當前程序狀態(tài)寄存器的內(nèi)容。在異常中斷返回退出時,可以用 SPSR 種保存的值來恢復 CPSR。由于用戶模式和系統(tǒng)模式不是異常中斷模式,所以它們沒有 SPSR。當用戶模式或者系統(tǒng)模式中訪問 SPSR,將會產(chǎn)生不可預知的結果。 SPSR 與 CPSR 的格式相同 , CPSR 的格式如圖 所示: 圖 N( Negative)、 Z( Zero)、 C( Carry)、 V( Overflow)統(tǒng)稱為標志位。大部分的 ARM 指令可以根據(jù) CPSR 中的這些條件標志位來選擇性地執(zhí)行。各條件標志位的具體含義如下: N:當兩個補碼表示的有符號整數(shù)運算時, N= 1 表示運算的結果為負數(shù); N= 0 表示運算結果為正數(shù)或零; Z: Z= 1 表示運算結果為零; Z= 0 表示運算的結果不為零; C:在加法指令中,當結果產(chǎn)生了進位,則 C= 1;其他情況下 C= 0; 在減法指令中,當運算中發(fā)生借位,則 C= 0;其他情況下 C= 0; V:對于加 /減法運算指令,當 操作數(shù)和運算結果為二進制的補碼表示的帶符號數(shù)時, V= 1 表示符號位溢出 。 CPSR 的低 8 位稱為控制位,當異常中斷發(fā)生時這些位發(fā)生改變。在特權模 15 式下,軟件可以修改這些控制位: I:普通中斷禁止位; I= 1 時禁止 IRQ 中斷。 F:快速中斷禁止位; F= 1 時禁止 FIQ 中斷。 T:對于 ARMv4 以及更高的版本的 T 系列的 ARM 處理器 T= 0 表示執(zhí)行 ARM 指令 T= 1 表示執(zhí)行 Thumb 指令 對于 ARMv5 以及更高版本的非 T 系列的 ARM 處理器 ★ T=0 表示執(zhí)行 ARM 指令 ★ T= 1 表示 強制下一條執(zhí)行的指令產(chǎn)生為定義指令中斷 Modes 位控制處理器模式,在這不再贅述。 ARM 存儲系統(tǒng) 這里僅僅介紹 ARM 編程模型中與存儲系統(tǒng)相關的一些概念。 ( 1) ARM 體系中的存儲空間 ARM 體系中使用單一的平板地址空間。該地址空間的大小 232個 8 位字節(jié)。這些字節(jié)單元的地址是一個無符號的 32 位數(shù)值,其取值范圍為 0 到 232- 1。 ARM 的地址空間也可以看作是 230個 32 位的字單元。這些字單元的地址可以被 4 整除,也就是說該地址的低兩位為 0b00。地址為 A 的字數(shù)包括地址 A、A+ A+ A+3 這 4 個字節(jié)單元的內(nèi)容。 ( 2) ARM 的存儲器格式 在 ARM 體系中,每個字單元中包含 4 個字節(jié)單元或者兩個半字單元,其中 1個半字單元中包含兩個字節(jié)單元。但是在字單元中, 4 個字節(jié)哪一個是高位字節(jié),哪一個是低位字節(jié),則有兩種不同的格式: bigendian 格式和 littleendian 格式。 在 bigendian 格式中,對于地址為 A 的字單元包括字節(jié)單元 A、 A+ A+A+3,其中字節(jié)單元由高位到低位字節(jié)順序為 A、 A+ A+ A+3;地址為 A的字單元包括半字單元 A、 A+2,其中半字單元由高位到 低 位字節(jié) 順序為 A、 A+2;地址為 A 的半字單元包括字節(jié)單元 A、 A+1,其中字節(jié)單元由高位到低位字節(jié)
點擊復制文檔內(nèi)容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1