版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、嵌入式ARM系統(tǒng)原理與實例開發(fā)楊宗德編著2007年7月1第二章 嵌入式ARM 處理器 主要內(nèi)容ARM處理器的應(yīng)用和發(fā)展,各個處理器內(nèi)核版本的特點和應(yīng)用領(lǐng)域以及主要功能。處理器硬件體系結(jié)構(gòu)相關(guān)基礎(chǔ)知識,內(nèi)容包括馮諾依曼體系和哈佛總線體系結(jié)構(gòu)區(qū)別、CISC 和RISC 的區(qū)別以及ARM處理器的指令流水線結(jié)構(gòu)等知識點。ARM處理器內(nèi)部結(jié)構(gòu),涉及ARM7系列處理器、ARM9 系列處理器以及XScale 系列處理器內(nèi)部結(jié)構(gòu)及功能。212ARM處理器概述 ARM硬件體系結(jié)構(gòu) 3ARM處理器內(nèi)部結(jié)構(gòu) 第2章嵌入式ARM處理器 3ARM處理器概述ARM(Advanced RISC Machines),既可以認(rèn)
2、為是一個公司的名字,也可以認(rèn)為是一類微處理器的通稱,還可以認(rèn)為是一種技術(shù)的名字。ARM處理器是一個32位元精簡指令集(RISC)處理器架構(gòu),其廣泛地使用在許多嵌入式系統(tǒng)設(shè)計。ARM7、ARM9、ARM9E和ARM10為4個通用處理器系列,每一個系列提供一套相對獨特的性能來滿足不同應(yīng)用領(lǐng)域的需求。4ARM處理器概述具有以下幾個主要特點:體積小、低功耗、低成本;支持 Thumb(16 位)和ARM(32 位)雙指令集,能很好地兼容8/16 位器件;大量使用寄存器,指令執(zhí)行速度快;大多數(shù)數(shù)據(jù)操作都在寄存器中完成;尋址方式簡單,執(zhí)行效率高;指令長度固定;擁有全球眾多的合作伙伴。5ARM處理器概述 隨著
3、ARM技術(shù)的發(fā)展,新的ARM處理器還集成了以下幾個主要特點。 Thumb:16位指令集,用以改善代碼密度; DSP:用于DSP應(yīng)用的算術(shù)運算指令集; Jazeller:允許直接執(zhí)行Java代碼的擴(kuò)充。 目前ARM處理器有以下幾個系列的產(chǎn)品:ARM7TDMI、ARM720T、ARM9TDMI、ARM922T、ARM940T、ARM946T、ARM966T、ARM10TDM1等。 自V5以后,ARM公司提供Piccolo DSP的芯核給芯片設(shè)計者,用于設(shè)計ARMDSP結(jié)構(gòu)的芯片。6命名的規(guī)則命名規(guī)則,有兩類: 一類是基于ARM結(jié)構(gòu)的版本命名規(guī)則;一類是基于ARM結(jié)構(gòu)版本的處理器系列命名規(guī)則。202
4、2/8/127命名的規(guī)則 版本命名規(guī)則 ARMv | n | variants | x(variants) | 分成四個組成部分:ARMv - 固定字符,即ARM Versionn - 指令集版本號。ARM架構(gòu)版本發(fā)布了7個系列。variants - 變種。x(variants) - 排除x后指定的變種常見的變種有:T - Thumb指令集M - 長乘法指令E - 增強(qiáng)型DSP指令J - Java加速器JazelleSIMD - ARM媒體功能擴(kuò)展例:ARMv5TxM表示ARM指令集版本為5,支持T變種,不支持M變種。2022/8/128命名的規(guī)則 版本命名規(guī)則 ARM體系結(jié)構(gòu)處理器自誕生以來
5、,不斷發(fā)展與創(chuàng)新,ARM體系的指令集功能形成了多種版本,為了適合不同的應(yīng)用場合,各個版本又增加了新的變種,這些變種為該版本的指令集增加了新的功能。 不同版本的指令集應(yīng)用于不同的處理器,這也就形成了ARM處理器系列,ARM系列處理器不同版本實現(xiàn)技術(shù)、性能、應(yīng)用場合個不相同。2022/8/129命名的規(guī)則 處理器系列命名規(guī)則 每個ARM處理器都有一個特定的指令集架構(gòu),而一個特定的指令集架構(gòu)又可以由多種處理器實現(xiàn)。規(guī)則:ARMxyzTDMIEJF-Sx 處理器系列,如ARM7、ARM9y 存儲管理/保護(hù)單元z CacheT 支持Thumb指令集D支持片上調(diào)試 JTAG調(diào)試器M支持快速乘法器I 支持E
6、mbedded ICE,嵌入式跟蹤調(diào)試E 支持增強(qiáng)型DSP指令(基于TDMI)J 支持Jazelle加速(Jazelle是ARM處理器的硬件Java加速器)F 具備向量浮點單元-S 可綜合版本2022/8/1210命名的規(guī)則 處理器系列命名規(guī)則附加說明: ARM7TDMI之后的所有ARM內(nèi)核,即使“ARM”標(biāo)志后沒有包含“TDMI”字符,也都默認(rèn)包含了TDMI的功能特性; JTAG是由IEEE1149.1標(biāo)準(zhǔn)測試訪問端口和邊界掃描結(jié)構(gòu)來描述的,它是ARM用來發(fā)送和接收處理器內(nèi)核與測試儀器之間調(diào)試信息的一系列協(xié)議; 嵌入式ICE宏單元是建立在處理器內(nèi)部用來設(shè)置斷點和觀察點的調(diào)試硬件; 可綜合,意
7、味著處理器內(nèi)核是以源代碼形式提供的。這種源代碼形式可被編譯成一種易于EDA工具使用的形式。2022/8/1211ARM7處理器 ARM7處理器是低功耗的32位微處理器,最適合于對價位和功耗要求較高的消費類應(yīng)用,廣泛運用于工業(yè)控制、網(wǎng)絡(luò)設(shè)備、數(shù)據(jù)通信等領(lǐng)域。目前,ARM7處理器包括ARM7TDMI、ARM7TDMI-S、ARM7EJ-S和ARM720T,如表所示為ARM7微處理器的性能特征。2022/8/1212ARM9處理器 ARM9微處理器是ARM7處理器的升級,是高性能和低功耗處理器的代表,采用1.1MIPS/MHz的哈佛總線結(jié)構(gòu),廣泛運用于無線設(shè)備、儀用儀表、數(shù)字成像、數(shù)字機(jī)頂盒和網(wǎng)絡(luò)產(chǎn)
8、品中。目前,ARM9系統(tǒng)微處理器主要有ARM920T、ARM922T、ARM940T等產(chǎn)品,如表所示為ARM9處理器的性能特征。2022/8/121312ARM處理器概述 ARM硬件體系結(jié)構(gòu) 3ARM處理器內(nèi)部結(jié)構(gòu) 第2章嵌入式ARM處理器 14馮諾依曼體系和哈佛總線體系 馮諾依曼結(jié)構(gòu)又稱作普林斯頓體系結(jié)構(gòu)。 1945年,馮諾依曼首先提出了“存儲程序”的概念和二進(jìn)制原理,人們把利用這種概念和原理設(shè)計的電子計算機(jī)系統(tǒng)統(tǒng)稱為“馮諾依曼型結(jié)構(gòu)”計算機(jī)。馮諾依曼結(jié)構(gòu)的處理器使用同一個存儲器,經(jīng)由同一個總線傳輸。 馮諾依曼結(jié)構(gòu)處理器具有以下幾個特點: 必須有一個存儲器;必須有一個控制器;必須有一個運算器
9、,用于完成算術(shù)運算和邏輯運算;必須有輸入和輸出設(shè)備,用于進(jìn)行人機(jī)通信。15馮諾依曼體系和哈佛總線體系馮諾依曼的主要貢獻(xiàn)就是提出并實現(xiàn)了“存儲程序”的概念。 由于指令和數(shù)據(jù)都是二進(jìn)制碼,指令和操作數(shù)的地址又密切相關(guān),因此,當(dāng)初選擇這種結(jié)構(gòu)是自然的。 但是,這種指令和數(shù)據(jù)共享同一總線的結(jié)構(gòu),使得信息流的傳輸成為限制計算機(jī)性能的瓶頸,影響了數(shù)據(jù)處理速度的提高。16馮諾依曼體系和哈佛總線體系哈佛結(jié)構(gòu)是一種將程序指令存儲和數(shù)據(jù)存儲分開的存儲器結(jié)構(gòu)。中央處理器首先到程序指令存儲器中讀取程序指令內(nèi)容,解碼后得到數(shù)據(jù)地址,再到相應(yīng)的數(shù)據(jù)存儲器中讀取數(shù)據(jù),并進(jìn)行下一步的操作(通常是執(zhí)行)。程序指令存儲和數(shù)據(jù)存儲
10、分開,可以使指令和數(shù)據(jù)有不同的數(shù)據(jù)寬度,如Microchip公司的PIC16芯片的程序指令是14位寬度,而數(shù)據(jù)是8位寬度。 哈佛結(jié)構(gòu)的微處理器通常具有較高的執(zhí)行效率。其程序指令和數(shù)據(jù)指令分開組織和存儲的,執(zhí)行時可以預(yù)先讀取下一條指令。17馮諾依曼體系和哈佛總線體系 哈佛結(jié)構(gòu)是指程序和數(shù)據(jù)空間獨立的體系結(jié)構(gòu),目的是為了減輕程序運行時的訪存瓶頸。 在典型情況下,完成一條指令需要3個步驟,即:取指令、指令譯碼和執(zhí)行指令。從指令流的定時關(guān)系也可看出馮諾依曼結(jié)構(gòu)與哈佛結(jié)構(gòu)處理方式的差別。舉一個最簡單的對存儲器進(jìn)行讀寫操作的指令,指令1至指令3均為存、取數(shù)指令,對馮諾依曼結(jié)構(gòu)處理器,由于取指令和存取數(shù)據(jù)要
11、從同一個存儲空間存取,經(jīng)由同一總線傳輸,因而它們無法重疊執(zhí)行,只有一個完成后再進(jìn)行下一個。 如果采用哈佛結(jié)構(gòu)處理以上同樣的3條存取數(shù)指令,由于取指令和存取數(shù)據(jù)分別經(jīng)由不同的存儲空間和不同的總線,使得各條指令可以重疊執(zhí)行,這樣,也就克服了數(shù)據(jù)流傳輸?shù)钠款i,提高了運算速度。18馮諾依曼體系和哈佛總線體系哈佛總線體系結(jié)構(gòu)主要有以下幾個特點: 程序空間和數(shù)據(jù)空間分開; 提供較大的數(shù)據(jù)存儲器帶寬; 適合于 DSP 數(shù)字信號處理。目前,絕大多數(shù)的 DSP 以及ARM9 以上系列ARM 處理器內(nèi)核都采用哈佛體系結(jié)構(gòu)。同時,修正的哈佛總線結(jié)構(gòu)還可以在程序空間和數(shù)據(jù)空間之間相互傳送數(shù)據(jù)。19馮諾依曼體系和哈佛總
12、線體系 與馮諾依曼結(jié)構(gòu)處理器比較,哈佛結(jié)構(gòu)處理器有兩個明顯的特點:(1)使用兩個獨立的存儲器模塊,分別存儲指令和數(shù)據(jù),每個存儲模塊都不允許指令和數(shù)據(jù)并存; (2)使用獨立的兩條總線,分別作為CPU與每個存儲器之間的專用通信路徑,而這兩條總線之間毫無關(guān)聯(lián)。20馮諾依曼體系和哈佛總線體系 與哈佛體系結(jié)構(gòu)相比,改進(jìn)的哈佛結(jié)構(gòu),特點為: (1)使用兩個獨立的存儲器模塊,分別存儲指令和數(shù)據(jù),每個存儲模塊都不允許指令和數(shù)據(jù)并存; (2)具有一條獨立的地址總線和一條獨立的數(shù)據(jù)總線,利用公用地址總線訪問兩個存儲模塊(程序存儲模塊和數(shù)據(jù)存儲模塊),公用數(shù)據(jù)總線則被用來完成程序存儲模塊或數(shù)據(jù)存儲模塊與CPU之間的
13、數(shù)據(jù)傳輸; (3)兩條總線由程序存儲器和數(shù)據(jù)存儲器分時共用。21馮諾依曼體系和哈佛總線體系 體系結(jié)構(gòu)與采用的獨立與否的總線無關(guān),與指令空間和數(shù)據(jù)空間的分開獨立與否有關(guān)。 51單片機(jī)數(shù)據(jù)指令存儲區(qū)是分開的,但總線是分時復(fù)用得,所以屬于改進(jìn)型的哈佛結(jié)構(gòu)。 現(xiàn)在的處理器雖然外部總線上看是諾依曼結(jié)構(gòu)的,但是由于內(nèi)部CACHE的存在,因此實際上內(nèi)部來看已經(jīng)類似改進(jìn)型哈佛結(jié)構(gòu)的了。 至于優(yōu)缺點,馮諾依曼體系實現(xiàn)簡單,成本低。哈佛體系結(jié)構(gòu)復(fù)雜,對外圍設(shè)備的連接與處理要求高,十分不適合外圍存儲器的擴(kuò)展。早期通用CPU難以采用這種結(jié)構(gòu);而單片機(jī),由于內(nèi)部集成了存儲器,所以可以采用哈佛結(jié)構(gòu)。 現(xiàn)在的處理器,依托C
14、ACHE的存在,已經(jīng)很好的將二者統(tǒng)一起來了。22馮諾依曼體系結(jié)構(gòu)模型指令寄存器控制器數(shù)據(jù)通道輸入輸出中央處理器存儲器程序指令0指令1指令2指令3指令4數(shù)據(jù)數(shù)據(jù)0數(shù)據(jù)1數(shù)據(jù)223哈佛體系結(jié)構(gòu)指令寄存器控制器數(shù)據(jù)通道輸入輸出中央處理器程序存儲器指令0指令1指令2數(shù)據(jù)存儲器數(shù)據(jù)0數(shù)據(jù)1數(shù)據(jù)2地址指令地址數(shù)據(jù)24CISC和RISCCISC:復(fù)雜指令集(Complex Instruction Set Computer) 復(fù)雜指令系統(tǒng)計算機(jī)的CISC微處理器是臺式計算機(jī)系統(tǒng)的中心,其核心為運行指令的電路。 早期的計算機(jī)部件比較昂貴,主頻低,運算速度慢。為了提高運算速度,人們不得不將越來越多的復(fù)雜指令加入到
15、指令系統(tǒng)中,以提高計算機(jī)的處理效率,這就逐步形成復(fù)雜指令集計算機(jī)體系。 為了在有限的指令長度內(nèi)實現(xiàn)更多的指令,人們又設(shè)計了操作碼擴(kuò)展。然后,為了達(dá)到操作碼擴(kuò)展的先決條件減少地址碼,設(shè)計師又發(fā)現(xiàn)了各種尋址方式,如基址尋址、相對尋址等,以最大限度地壓縮地址長度,為操作碼留出空間。25CISC和RISC 每出一代新的CPU,都會有自己新的指令,而為了兼容以前的CPU平臺上的軟件,舊的CPU的指令集又必須保留,這就使指令的解碼系統(tǒng)越來越復(fù)雜。CISC可以有效地減少編譯代碼中指令的數(shù)目,使取指操作所需要的內(nèi)存訪問數(shù)量達(dá)到最小化。此外CISC可以簡化編譯器結(jié)構(gòu),它在處理器指令集中包含了類似于程序設(shè)計語言結(jié)
16、構(gòu)的復(fù)雜指令,這些復(fù)雜指令減少了程序設(shè)計語言和機(jī)器語言之間的語義差別,而且簡化了編譯器的結(jié)構(gòu)。26CISC和RISC 復(fù)雜指令系統(tǒng)計算機(jī)(CISC)包含一個豐富的微代碼系統(tǒng),簡化了處理器上運行程序的編制。 主要有以下幾個特點: 1)具有大量的指令和尋址方式; 2)大多數(shù)程序只使用少量的指令就能夠運行。27CISC和RISC CISC存在許多缺點,首先,在這種計算機(jī)中,各種指令的使用率相差懸殊,一個典型程序的運算過程所使用的80%指令,只占一個處理器指令系統(tǒng)的20%。同時,復(fù)雜的指令系統(tǒng)必然帶來結(jié)構(gòu)的復(fù)雜性,增加了設(shè)計的時間與成本。此外,盡管VLSI技術(shù)現(xiàn)在已達(dá)到很高的水平,也很難把CISC的全
17、部硬件做在一個芯片上。 在CISC中,許多復(fù)雜指令需要極復(fù)雜的操作,這類指令多數(shù)是某種高級語言的直接翻版,通用性差。由于采用二級的微碼執(zhí)行方式,它也降低那些被頻繁調(diào)用的簡單指令系統(tǒng)的運行速度。針對CISC的這些弊病,提出了精簡指令的設(shè)想即指令系統(tǒng)應(yīng)當(dāng)只包含那些使用頻率很高的少量指令,并提供一些必要的指令以支持操作系統(tǒng)和高級語言按照這個原則發(fā)展而成的計算機(jī)被稱為精簡指令集計算機(jī)(Reduced Instruction Set Computer-RISC)結(jié)構(gòu)簡稱RISC28CISC和RISCRISC:精簡指令集(Reduced Instruction Set Computer) 精簡指令集,是計
18、算機(jī)中央處理器的一種設(shè)計模式,也被稱為RISC(Reduced Instruction Set Computing的縮寫)。這種設(shè)計思路對指令數(shù)目和尋址方式都做了精簡,使其實現(xiàn)更容易,指令并行執(zhí)行程度更好,編譯器的效率更高。 RISC風(fēng)格是強(qiáng)調(diào)計算機(jī)結(jié)構(gòu)的簡單性和高效性。RISC設(shè)計是從足夠的不可缺少的指令集開始的。它的速度比那些具有傳統(tǒng)復(fù)雜指令組計算機(jī)結(jié)構(gòu)的機(jī)器快得多,而且RISC機(jī)由于其較簡潔的設(shè)計,較易使用,故具有更短的研制開發(fā)周期。 29CISC和RISC RISC結(jié)構(gòu)一般具有如下的一些特點:單周期的執(zhí)行:它統(tǒng)一用單周期指令。從根本上克服了CISC指令周期數(shù)有長有短,造成運行中偶發(fā)性不
19、確定,致使運行失常的問題。采用高效的流水線操作:使指令在流水線中并行地操作,從而提高處理數(shù)據(jù)和指令的速度。無微代碼的硬連線控制:微代碼的使用會增加復(fù)雜性和每條指令的執(zhí)行周期。30CISC和RISC指令格式的規(guī)格化和簡單化:為與流水線結(jié)構(gòu)相適應(yīng)且提高流水線的效率,指令的格式必須趨于簡單和固定的規(guī)式。比如指令采用16位或32位的固定的長度,并且指令中的操作碼字段、操作數(shù)字段都盡可能具有統(tǒng)一的格式。此外,盡量減少尋址方式,從而使硬件邏輯部件簡化且縮短譯碼時間,同時也提高了機(jī)器執(zhí)行效率和可靠性。采用面向寄存器堆的指令:RISC結(jié)構(gòu)采用大量的寄存器寄存器操作指令,使指令系統(tǒng)更為精簡??刂撇考鼮楹喕?/p>
20、令執(zhí)行速度大大提高。由于VLSI技術(shù)的迅速發(fā)展,使得在一個芯片上做大量的寄存器成為可能。這也促成了RISC結(jié)構(gòu)的實現(xiàn)。31CISC和RISC采用裝入/存儲指令結(jié)構(gòu):在CISC結(jié)構(gòu)中。大量設(shè)置存儲器存儲器操作指令,頻繁地訪問內(nèi)存,將會使執(zhí)行速度降低。RISC結(jié)構(gòu)的指令系統(tǒng)中,只有裝入/存儲指令可以訪問內(nèi)存,而其它指令均在寄存器之間對數(shù)據(jù)進(jìn)行處理。用裝入指令從內(nèi)存中將數(shù)據(jù)取出,送到寄存器;在寄存器之間對數(shù)據(jù)進(jìn)行快速處理,并將它暫存在那里,以便再有需要時。不必再次訪問內(nèi)存。在適當(dāng)?shù)臅r候,使用一條存儲指令再將這個數(shù)據(jù)送回內(nèi)存。采用這種方法可以提高指令執(zhí)行的速度。 通常使用的單片機(jī)中,MCS-51系列的
21、單片機(jī)屬于CISC的體系結(jié)構(gòu);AVR系列的單片機(jī)則屬于RISC的體系結(jié)構(gòu)。32CISC和RISC RISC和CISC是設(shè)計制造微處理器的兩種典型技術(shù),雖然它們都是試圖在體系結(jié)構(gòu)、操作運行、軟件硬件、編譯時間和運行時間等諸多因素中做出某種平衡,以求達(dá)到高效的目的,但采用的方法不同,因此,在很多方面差異很大,它們主要有:(1)指令系統(tǒng):RISC設(shè)計者把主要精力放在那些經(jīng)常使用的指令上,盡量使它們具有簡單高效的特色。對不常用的功能,常通過組合指令來完成。因此,在RISC機(jī)器上實現(xiàn)特殊功能時,效率可能較低。但可以利用流水技術(shù)和超標(biāo)量技術(shù)加以改進(jìn)和彌補(bǔ)。而CISC計算機(jī)的指令系統(tǒng)比較豐富,有專用指令來完
22、成特定的功能。因此,處理特殊任務(wù)效率較高。33CISC和RISC(2)存儲器操作:RISC對存儲器操作有限制,使控制簡單化;而CISC機(jī)器的存儲器操作指令多,操作直接。(3)程序:RISC匯編語言程序一般需要較大的內(nèi)存空間,實現(xiàn)特殊功能時程序復(fù)雜,不易設(shè)計;而CISC匯編語言程序編程相對簡單,科學(xué)計算及復(fù)雜操作的程序社設(shè)計相對容易,效率較高。(4)中斷:RISC機(jī)器在一條指令執(zhí)行的適當(dāng)?shù)胤娇梢皂憫?yīng)中斷;而CISC機(jī)器是在一條指令執(zhí)行結(jié)束后響應(yīng)中斷。(5)CPU:RISCCPU包含有較少的單元電路,因而面積小、功耗低;而CISCCPU包含有豐富的電路單元,因而功能強(qiáng)、面積大、功耗大。34CISC
23、和RISC(6)設(shè)計周期:RISC微處理器結(jié)構(gòu)簡單,布局緊湊,設(shè)計周期短,且易于采用最新技術(shù);CISC微處理器結(jié)構(gòu)復(fù)雜,設(shè)計周期長。(7)用戶使用:RISC微處理器結(jié)構(gòu)簡單,指令規(guī)整,性能容易把握,易學(xué)易用;CISC微處理器結(jié)構(gòu)復(fù)雜,功能強(qiáng)大,實現(xiàn)特殊功能容易。(8)應(yīng)用范圍:由于RISC指令系統(tǒng)的確定與特定的應(yīng)用領(lǐng)域有關(guān),故RISC機(jī)器更適合于專用機(jī);而CISC機(jī)器則更適合于通用機(jī)。35ARM處理器的指令三級流水線 流水線(pipeline)是指在程序執(zhí)行時多條指令重疊進(jìn)行操作的一種準(zhǔn)并行處理實現(xiàn)技術(shù)。 在CPU中由若干個不同功能的電路單元組成一條指令處理流水線,然后將一條指令分成若干步后再
24、由這些電路單元分別執(zhí)行,這樣就能實現(xiàn)在一個CPU時鐘周期完成一條指令,因此提高CPU的運算速度。經(jīng)典奔騰每條整數(shù)流水線都分為四級流水,即指令預(yù)取、譯碼、執(zhí)行、寫回結(jié)果,浮點流水又分為八級流水。 由于流水線技術(shù)通過多個功能部件并行工作來縮短程序執(zhí)行時間,提高處理器的效率和吞吐率。因此在嵌入式系統(tǒng)中經(jīng)常會用到流水線技術(shù),例如ARM、FPGA都會采用流水線技術(shù)。2022/8/1236ARM處理器的指令三級流水線 ARM7是馮諾依曼結(jié)構(gòu),采用了典型的三級流水線, ARM9則是哈佛結(jié)構(gòu),采用五級流水線技術(shù), ARM10采用6級流水線,ARM11則更是使用了7級流水線。 通過增加流水線級數(shù),簡化了流水線的
25、各級邏輯,進(jìn)一步提高了處理器的性能。2022/8/1237ARM處理器的指令三級流水線 PC代表程序計數(shù)器,流水線使用三個階段,因此指令分為三個階段執(zhí)行:1.取指(從存儲器裝載一條指令);2.譯碼(識別將要被執(zhí)行的指令);3.執(zhí)行(處理指令并將結(jié)果寫回寄存器)。 PC指向“正在取指”的指令,而不是指向“正在執(zhí)行”的指令或正在“譯碼”的指令。一般來說,人們習(xí)慣性約定將“正在執(zhí)行的指令作為參考點”,稱之為當(dāng)前第一條指令,因此ARM處理器的PC總是指向第三條指令。2022/8/1238ARM處理器的指令三級流水線 當(dāng)ARM狀態(tài)時,每條指令為4字節(jié)長,所以PC始終指向該指令地址加8字節(jié)的地址,即:PC
26、值=當(dāng)前程序執(zhí)行位置+8。 周期1 周期2周期3周期4 周期5 周期6PC-8取指 譯碼 執(zhí)行PC-4 取指 譯碼 執(zhí)行PC 取指 譯碼 執(zhí)行2022/8/1239ARM處理器的指令三級流水線 2022/8/1240ARM處理器的指令五級流水線 ARM9增加了兩個功能部件,分別訪問存儲器并寫回結(jié)果,同時,ARM9將讀寄存器的操作轉(zhuǎn)移到譯碼部件上,使得流水線各部件的功能更平衡。因此采用了5級流水線。 周期1周期2周期3周期4周期5周期6 周期7 周期8 周期9PC-16 取指 譯碼 執(zhí)行 存儲 回寫PC-12 取指 譯碼 執(zhí)行 存儲 回寫PC-8 取指 譯碼 執(zhí)行 存儲 回寫PC-4 取指 譯碼
27、 執(zhí)行 存儲 回寫PC 取指 譯碼 執(zhí)行 存儲 回寫2022/8/1241ARM處理器的指令三級流水線 五級流水線也有它的缺點,即使存在一種互鎖,即寄存器沖突。讀寄存器是在譯碼階段,寫寄存器是在回寫階段。如果當(dāng)前指令(A)的目的操作數(shù)寄存器和下一條指令(B)的源操作數(shù)寄存器一致,B指令就需要等A回寫之后才能譯碼。這就是五級流水線中的寄存器沖突。ARM10處理器的流水線為了解決寄存器沖突的問題,增加了預(yù)取操作。因此ARM10由6級流水線組成,利用預(yù)取、發(fā)送操作來取代ARM9中的取值操作。 ARM11處理器的流水線和以前的ARM內(nèi)核不同,它由8級流水線組成,比以前的ARM內(nèi)核提高了至少40%的吞吐
28、量。8級流水線可以使8條指令同時被執(zhí)行。2022/8/1242ARM處理器的指令五級流水線2022/8/124312ARM處理器概述 ARM硬件體系結(jié)構(gòu) 3ARM處理器內(nèi)部結(jié)構(gòu) 第2章嵌入式ARM處理器 44ARM7內(nèi)部結(jié)構(gòu)框圖 ARM7微處理器采用亞微米制造工藝,是一種低電壓、低功耗的通用32位RISC微處理器單元,可用做一般應(yīng)用或者嵌入到ASIC,其內(nèi)核采用馮諾依曼體系結(jié)構(gòu),使用1.8/3/5 V供電模式,特別適用于對電源敏感的應(yīng)用領(lǐng)域,并能夠方便地集成到較大的客戶芯片中。 目前,ARM7微處理器廣泛運用于電信產(chǎn)品、GSM終端控制、數(shù)據(jù)通信、協(xié)議轉(zhuǎn)換、便攜式計算機(jī)、掌上電腦、自動控制系統(tǒng)、
29、發(fā)動機(jī)管理單元、信息存儲系統(tǒng)、存儲卡圖像處理以及工業(yè)控制器等領(lǐng)域。2022/8/1245ARM7內(nèi)部結(jié)構(gòu)框圖 2022/8/1246ARM7內(nèi)部結(jié)構(gòu)框圖 1)ALU:它有兩個操作數(shù)鎖存器、加法器、邏輯功能、結(jié)果以及零檢測邏輯構(gòu)成。2)桶形移位寄存器:ARM采用了3232位的桶形移位寄存器,這樣可以使在左移/右移n位、環(huán)移n位和算術(shù)右移n位等都可以一次完成。3)高速乘法器:乘法器一般采用“加一移位”的方法來實現(xiàn)乘法。ARM為了提高運算速度,則采用兩位乘法的方法,根據(jù)乘數(shù)的2位來實現(xiàn)“加一移位”運算 ;ARM高速乘法器采用328位的結(jié)構(gòu),這樣,可以降低集成度(其相應(yīng)芯片面積不到并行乘法器的1/3)
30、。2022/8/1247ARM7內(nèi)部結(jié)構(gòu)框圖 4)控制器:ARM的控制器采用的是硬接線的可編程邏輯陣列PLA。5)寄存器:具體的介紹在后續(xù)相關(guān)章節(jié)。6)浮點部件:浮點部件是作為選件供ARM構(gòu)架使用。FPA10浮點加速器是作為協(xié)處理方式與ARM相連,并通過協(xié)處理指令的解釋來執(zhí)行。2022/8/1248ARM7內(nèi)核主要特點32位的RISC結(jié)構(gòu)處理器(包括32位地址線和數(shù)據(jù)線);Little/Big Endian(小端/大端)操作模式;高性能RISC;較低的電壓損耗;適用于對電源比較敏感的應(yīng)用中;快速中斷響應(yīng);適用于實時系統(tǒng);支持虛擬內(nèi)存;支持高級語言;具有簡單但功能強(qiáng)大的指令系統(tǒng)。2022/8/1
31、249ARM7功能圖 2022/8/1250ARM7功能圖根據(jù)ARM7的功能可以將其劃分為以下幾個部分。(1) Clocks時鐘管理模塊。由MEM時鐘輸入線MCLK和長時間等待信號線nWAIT組成,主要用來管理系統(tǒng)時鐘。(2) Processor Mode處理器工作模式選擇模塊。由處理器模式信號線nM4:0組成,輸出信號為內(nèi)部狀態(tài)位的反向,表示處理器的操作模式。(3) Interrupts中斷模塊。主要由外部中斷信號線組成,用來處理系統(tǒng)外部所有的請求中斷信號。(4) Bus Controls總線控制模塊。由總線使能信號線DBE和APE信號線組成,主要用來控制系統(tǒng)總線時序。2022/8/1251
32、ARM7功能圖(5) Power電源管理模塊。提供系統(tǒng)所有芯片和器件的電源配置。(6) Configuration工作狀態(tài)配置模塊。配置系統(tǒng)狀態(tài),主要由BIGEND信號線控制系統(tǒng)是大端模型還是小端模式?jīng)Q定。(6) Memory Interface存儲器接口模塊。管理系統(tǒng)存儲器Flash以及RAM存儲器,主要由32根數(shù)據(jù)線和32根地址線組成。(7) Memory Management Interface存儲管理接口。管理存儲器系統(tǒng),如Abort存儲器異常信號線。(8) Coprocessor Interface協(xié)處理器接口模塊。如果系統(tǒng)需要配置協(xié)處理器,將使用協(xié)處理器接口單元。2022/8/12
33、52ARM9功能結(jié)構(gòu)圖 2022/8/1253ARM9功能結(jié)構(gòu)圖 ARM9系列處理器主要包含ARM920T、ARM940T等類型,其內(nèi)核處理器采用哈佛總線結(jié)構(gòu),分別由取指、解碼、執(zhí)行、存儲和寫操作等5級流水線組成,可以作為單獨內(nèi)核嵌入到其他復(fù)雜設(shè)備中。ARM9內(nèi)核處理器同樣支持32位和16位指令集,允許用戶在此兩種指令間切換。 ARM9支持全性能的MMU。絕大多數(shù)嵌入式操作系統(tǒng),如Liunx、Palm、Window CE等,可以方便地移植到ARM9中。以ARM9為內(nèi)核的處理器廣泛運用于無線設(shè)備、儀器儀表、安全系統(tǒng)、數(shù)字機(jī)頂盒、高端打印設(shè)備、數(shù)字照相機(jī)和數(shù)字?jǐn)z相機(jī)設(shè)備中。2022/8/1254ARM9功能結(jié)構(gòu)圖 ARM9TDMI處理器內(nèi)核采用ARMv4T架構(gòu),增加了可用的存儲器寬度、指令存儲器接口以及數(shù)據(jù)存儲器接口,可以支持16位Thumb指令集和32位ARM指令,ARM9作為高性能的32位RISC處理器內(nèi)核,可以實現(xiàn)對指令和數(shù)據(jù)存儲器的同時訪問。 主要包含以下結(jié)構(gòu):1) 16KB指令緩存和16KB
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 遼寧現(xiàn)代服務(wù)職業(yè)技術(shù)學(xué)院《人體解剖學(xué)局解》2023-2024學(xué)年第一學(xué)期期末試卷
- 蘭州大學(xué)《定向運動與素質(zhì)拓展》2023-2024學(xué)年第一學(xué)期期末試卷
- 江西工業(yè)貿(mào)易職業(yè)技術(shù)學(xué)院《學(xué)術(shù)寫作與文獻(xiàn)檢索》2023-2024學(xué)年第一學(xué)期期末試卷
- 吉林醫(yī)藥學(xué)院《市政工程識圖》2023-2024學(xué)年第一學(xué)期期末試卷
- 湖南水利水電職業(yè)技術(shù)學(xué)院《金融風(fēng)險管理(實驗)》2023-2024學(xué)年第一學(xué)期期末試卷
- 重慶藝術(shù)工程職業(yè)學(xué)院《計算機(jī)輔助產(chǎn)品設(shè)計》2023-2024學(xué)年第一學(xué)期期末試卷
- 重慶化工職業(yè)學(xué)院《大學(xué)生創(chuàng)新創(chuàng)業(yè)意識》2023-2024學(xué)年第一學(xué)期期末試卷
- 中央美術(shù)學(xué)院《古典園林建筑構(gòu)造》2023-2024學(xué)年第一學(xué)期期末試卷
- 浙江農(nóng)林大學(xué)《工程圖學(xué)綜合訓(xùn)練》2023-2024學(xué)年第一學(xué)期期末試卷
- 鄭州商貿(mào)旅游職業(yè)學(xué)院《建筑工程計量與計價B》2023-2024學(xué)年第一學(xué)期期末試卷
- 福建省廈門市2023-2024學(xué)年高二上學(xué)期期末考試語文試題(解析版)
- 課文背書統(tǒng)計表
- 三年級語文下冊教案-14 蜜蜂3-部編版
- 蘇教版小學(xué)數(shù)學(xué)四年級下冊全冊教案
- DB51T2939-2022 彩燈(自貢)制作工藝通用規(guī)范
- 押金收據(jù)條(通用版)
- 藥理治療中樞神經(jīng)系統(tǒng)退行性疾病藥.pptx
- 強(qiáng)三基反三違除隱患促安全百日專項行動實施方案
- 新人教版七年級數(shù)學(xué)上冊全冊專項訓(xùn)練大全
- 標(biāo)準(zhǔn)預(yù)防--ppt課件
- 壓力管道氬電聯(lián)焊作業(yè)指導(dǎo)書
評論
0/150
提交評論