第5、6節(jié)課(第3章第1節(jié))_第1頁(yè)
第5、6節(jié)課(第3章第1節(jié))_第2頁(yè)
第5、6節(jié)課(第3章第1節(jié))_第3頁(yè)
第5、6節(jié)課(第3章第1節(jié))_第4頁(yè)
第5、6節(jié)課(第3章第1節(jié))_第5頁(yè)
已閱讀5頁(yè),還剩49頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第3章 ARM體系結(jié)構(gòu) 1主要內(nèi)容ARM體系結(jié)構(gòu)概述 編程模型ARM基本尋址方式ARM指令集ARM9TDMI內(nèi)核ARM9與ARM7的比較ARM920T核 23.1.1 ARM體系結(jié)構(gòu)的特點(diǎn) ARM即Advanced RISC Machines的縮寫。ARM公司1990年成立,是設(shè)計(jì)公司。ARM是知識(shí)產(chǎn)權(quán)(IP)供應(yīng)商,本身不生產(chǎn)芯片,靠轉(zhuǎn)讓設(shè)計(jì)許可,由合作伙伴公司來生產(chǎn)各具特色的芯片。 ARM處理器的3大特點(diǎn)是:耗電少、成本低、功能強(qiáng);16位/32位雙指令集;全球眾多合作伙伴保證供應(yīng)。3 ARM處理器為RISC芯片,其簡(jiǎn)單的結(jié)構(gòu)使ARM內(nèi)核非常小,這使得器件的功耗也非常低。它具有經(jīng)典RISC的

2、特點(diǎn): 大的、統(tǒng)一的寄存器文件; 裝載/保存結(jié)構(gòu),數(shù)據(jù)處理 操作只針對(duì)寄存器的內(nèi)容,而不直接對(duì)存儲(chǔ)器進(jìn)行操作; 簡(jiǎn)單的尋址模式; 統(tǒng)一和固定長(zhǎng)度的指令域,簡(jiǎn)化了指令的譯碼,便于指令流水線設(shè)計(jì)。3.1.1 ARM體系結(jié)構(gòu)的特點(diǎn)43.1.1 ARM體系結(jié)構(gòu)的特點(diǎn)ARM體系結(jié)構(gòu)的特點(diǎn):RISC型處理器結(jié)構(gòu)ARM/Thumb指令集多處理器狀態(tài)模式 (7種處理器模式)嵌入式在線仿真調(diào)試靈活和方便的接口ARM體系結(jié)構(gòu)具有協(xié)處理器接口 ARM處理器核還具有片上總線: AMBA(AHB/ASB/APB) 低電壓低功耗的設(shè)計(jì) 53.1.1 ARM體系結(jié)構(gòu)的特點(diǎn)ARM目前的產(chǎn)品系列:ARM7ARM9ARM9EAR

3、M10SecurCoreARM 11ARM Cortex-A/R/M系列通用處理器系列專門為安全設(shè)備設(shè)計(jì)的處理器系列63.1.2 ARM處理器結(jié)構(gòu)ARM的體系結(jié)構(gòu) ARM的流水線結(jié)構(gòu)ARM存儲(chǔ)器結(jié)構(gòu)ARM I/O結(jié)構(gòu)ARM AMBA接口ARM協(xié)處理器接口ARM JTAG 調(diào)試接口 71.ARM的體系結(jié)構(gòu)由32位ALU、31個(gè)32位通用寄存器及6個(gè)狀態(tài)寄存器、328位乘法器、3232位桶形移位寄存器、指令譯碼及控制邏輯、指令流水線和數(shù)據(jù)/地址寄存器組成。 8v ALU由兩個(gè)操作數(shù)鎖存器、加法器、邏輯功能、結(jié)果及零檢測(cè)邏輯構(gòu)成。 ALU的邏輯結(jié)構(gòu)9v ALU 每一時(shí)鐘周期由雙相時(shí)鐘組成。ALU的最

4、小數(shù)據(jù)通路周期由以下組成:寄存器讀時(shí)間;移位器延遲;ALU延遲;寄存器寫建立時(shí)間;雙相時(shí)鐘間非重疊時(shí)間。 ALU的數(shù)據(jù)通路時(shí)序10v 桶形移位寄存器 為了減少移位的延遲時(shí)間,ARM采用了3232位的桶形移位寄存器。這樣,可以使左移/右移n位、環(huán)移n位和算術(shù)右移n位等都可以一次完成。 11v 高速乘法器 ARM為了提高運(yùn)算速度,采用兩位乘法的方法。兩位乘法根據(jù)乘數(shù)的2位來實(shí)現(xiàn)“加-移位”運(yùn)算。 乘數(shù)An-1An:00-原部分積S右移2位; 01-原部分積S加被乘數(shù)后右移2位; 10-原部分積S加2倍被乘數(shù)后,右移2位; 11-原部分積S加3倍被乘數(shù)后,右移2位。 2倍被乘數(shù)可通過將被乘數(shù)左乘1位

5、來實(shí)現(xiàn);3倍可看作4-1(11100-1),故先減1倍被乘數(shù),再加4倍被乘數(shù)來實(shí)現(xiàn)。4倍被乘數(shù)的操作實(shí)際上是在該2位乘數(shù)11的高1位乘數(shù)加“1”,且此“1”可暫存在Cout進(jìn)位觸發(fā)器中。 12v 高速乘法器 ARM的高速乘法器采用328位的結(jié)構(gòu),內(nèi)部結(jié)構(gòu)如下:13v 浮點(diǎn)部件 浮點(diǎn)部件是作為選件為ARM體系結(jié)構(gòu)選用,F(xiàn)PA10浮點(diǎn)加速器以協(xié)處理器方式與ARM相連,并通過協(xié)處理器指令的解釋來執(zhí)行。 14v 控制器 ARM的控制器采用硬接線的可編程邏輯陣列PLA。輸入端14根,輸出40根,分散控制Load/Store多路、乘法器、協(xié)處理器以及地址、寄存器、ALU和移位器的控制。 15v 寄存器AR

6、M內(nèi)含37個(gè)寄存器,其中:31個(gè)通用32位寄存器6個(gè)狀態(tài)寄存器 163.1.2 ARM處理器結(jié)構(gòu)ARM的體系結(jié)構(gòu) ARM的流水線結(jié)構(gòu)ARM存儲(chǔ)器結(jié)構(gòu)ARM I/O結(jié)構(gòu)ARM AMBA接口ARM協(xié)處理器接口ARM JTAG 調(diào)試接口 17v 指令執(zhí)行的階段計(jì)算機(jī)中的1條指令的執(zhí)行可以分若干個(gè)階段: 取指,從存儲(chǔ)器中取出指令(fetch); 譯碼,指令譯碼(dec): 取操作數(shù),假定操作數(shù)從寄存器組中取(reg); 執(zhí)行運(yùn)算(ALU); 存儲(chǔ)器訪問,操作數(shù)與存儲(chǔ)器有關(guān)(mem); 結(jié)果寫回寄存器(res)。 18v 指令執(zhí)行的階段流水線的停頓相鄰指令執(zhí)行的數(shù)據(jù)相關(guān)性會(huì)產(chǎn)生指令執(zhí)行的停頓。 19v

7、指令執(zhí)行的階段碰到分支類指令,則會(huì)使后面緊接該條指令的幾條指令的執(zhí)行都無效。 遇到分支指令20v ARM體系結(jié)構(gòu)的3級(jí)流水線 ARM7體系結(jié)構(gòu)采用了3級(jí)流水線,分為取指,譯碼和執(zhí)行。下圖是單周期3級(jí)流水線的操作示意圖。 21v ARM體系結(jié)構(gòu)的3級(jí)流水線 由于取指的存儲(chǔ)器訪問和執(zhí)行的數(shù)據(jù)通路占用都是不可同時(shí)共享的資源,因此對(duì)多周期指令來說,會(huì)產(chǎn)生流水線阻塞。如圖3-12所示下圖的陰影框周期都是與存儲(chǔ)器訪問有關(guān)的。因此在流水線設(shè)計(jì)中不允許重疊 。22v ARM體系結(jié)構(gòu)的5級(jí)流水線 (ARM9體系結(jié)構(gòu)的)5級(jí)流水線把存儲(chǔ)器的取指與數(shù)據(jù)存取分開,增加了I-Cache和D-Cache以提高存儲(chǔ)器存取的

8、效率,增加了數(shù)據(jù)寫回的專門通路和寄存器,以減少數(shù)據(jù)通路沖突。 這樣,5級(jí)流水線分為:取指、指令譯碼、執(zhí)行、數(shù)據(jù)緩存和寫回。 233.1.2 ARM處理器結(jié)構(gòu)ARM的體系結(jié)構(gòu) ARM的流水線結(jié)構(gòu)ARM存儲(chǔ)器結(jié)構(gòu)ARM I/O結(jié)構(gòu)ARM AMBA接口ARM協(xié)處理器接口ARM JTAG 調(diào)試接口 24v ARM存儲(chǔ)器結(jié)構(gòu) ARM架構(gòu)的處理器,有的帶有指令Cache和數(shù)據(jù)Cache,但片內(nèi)不帶有片內(nèi)RAM和片內(nèi)ROM,系統(tǒng)所需的RAM和ROM須通過總線外接,如下圖。 253.1.2 ARM處理器結(jié)構(gòu)ARM的體系結(jié)構(gòu) ARM的流水線結(jié)構(gòu)ARM存儲(chǔ)器結(jié)構(gòu)ARM I/O結(jié)構(gòu)ARM AMBA接口ARM協(xié)處理器

9、接口ARM JTAG 調(diào)試接口 26v ARM I/O結(jié)構(gòu) ARM架構(gòu)中的處理器核和處理器內(nèi)核一般都沒有I/O的部件和模塊,構(gòu)成ARM架構(gòu)的處理器中的I/O可通過AMBA總線來擴(kuò)充。 (1)存儲(chǔ)器映像I/O ARM采用存儲(chǔ)器映像I/O的方式,即把I/O端口地址作為特殊的存儲(chǔ)器地址。不過I/O的輸入/輸出與真正的存儲(chǔ)器讀/寫仍然有所不同:存儲(chǔ)器的單元重復(fù)讀多次的值是一致的;而I/O設(shè)備的連續(xù)2次輸入,其輸入值可能會(huì)有所不同。(2)直接存儲(chǔ)器存取DMA 在I/O的數(shù)據(jù)流量比較大,中斷處理比較頻繁的場(chǎng)合,會(huì)明顯影響系統(tǒng)的性能。因此,許多系統(tǒng)就采用了直接存儲(chǔ)器存取DMA,這樣,I/O的數(shù)據(jù)塊傳送至存儲(chǔ)

10、器的緩沖器區(qū)域就不需要處理器介入,而中斷也僅僅出現(xiàn)在出現(xiàn)出錯(cuò)時(shí)或緩沖器滿時(shí)。(3)中斷IRQ和快速中斷FIQ 一般的ARM沒有DMA的功能,為了提高I/O處理的能力,對(duì)于一些要求I/O處理速率比較高的事件,系統(tǒng)安排快速中斷FIQ(Fast Interrupt),而對(duì)其余的I/O源仍安排一般中斷IRQ。 273.1.2 ARM處理器結(jié)構(gòu)ARM的體系結(jié)構(gòu) ARM的流水線結(jié)構(gòu)ARM存儲(chǔ)器結(jié)構(gòu)ARM I/O結(jié)構(gòu)ARM AMBA接口ARM協(xié)處理器接口ARM JTAG 調(diào)試接口 28v ARM協(xié)處理器接口 ARM為了便于片上系統(tǒng)SOC的設(shè)計(jì),處理器內(nèi)核盡可能精簡(jiǎn),要增加系統(tǒng)的功能,可以通過協(xié)處理器來實(shí)現(xiàn)。

11、在邏輯上,ARM可以擴(kuò)展16個(gè)協(xié)處理器,每個(gè)協(xié)處理器可有16個(gè)寄存器。協(xié)處理器號(hào)功 能15系統(tǒng)控制14調(diào)試控制器138保留74用戶30保留 例如,MMU和保護(hù)單元的系統(tǒng)控制都采用CP15協(xié)處理器; JTAG調(diào)試中的協(xié)處理器為CP14。293.1.2 ARM處理器結(jié)構(gòu)ARM的體系結(jié)構(gòu) ARM的流水線結(jié)構(gòu)ARM存儲(chǔ)器結(jié)構(gòu)ARM I/O結(jié)構(gòu)ARM AMBA接口ARM協(xié)處理器接口ARM JTAG 調(diào)試接口 30v ARM AMBA接口 ARM處理器也可以通過先進(jìn)微控制器總線架構(gòu)AMBA(Advanced Microcontroller Bus Architecture)來擴(kuò)展不同體系架構(gòu)的宏單元及I/

12、O部件。AMBA事實(shí)上已成為片上總線OCB(On Chip Bus)標(biāo)準(zhǔn)。AMBA包括以下三類總線:先進(jìn)高性能總線AHB先進(jìn)系統(tǒng)總線ASB先進(jìn)外圍總線APB313.1.2 ARM處理器結(jié)構(gòu)ARM的體系結(jié)構(gòu) ARM的流水線結(jié)構(gòu)ARM存儲(chǔ)器結(jié)構(gòu)ARM I/O結(jié)構(gòu)ARM AMBA接口ARM協(xié)處理器接口ARM JTAG 調(diào)試接口 32v JTAG調(diào)試接口的結(jié)構(gòu) 由測(cè)試訪問端口TAP(Test Access Port)控制器、旁路(Bypass)寄存器、指令寄存器、數(shù)據(jù)寄存器以及與JTAG接口兼容的ARM架構(gòu)處理器組成。 33v JTAG的控制寄存器 測(cè)試訪問端口TAP控制器 對(duì)嵌入在ARM處理器核內(nèi)部

13、的測(cè)試功能電路進(jìn)行訪問控制,是一個(gè)同步狀態(tài)機(jī)。通過測(cè)試模式選擇信號(hào)TMS和時(shí)鐘信號(hào)TCK來控制其狀態(tài)機(jī)。 指令寄存器 是串行移位寄存器,通過它可以串行輸入執(zhí)行各種操作的指令。 數(shù)據(jù)寄存器組 是一組串行移位寄存器。操作指令被串行裝入由當(dāng)前指令所選擇的數(shù)據(jù)寄存器,隨著操作的進(jìn)行,測(cè)試結(jié)果被串行移出。其中:器件ID寄存器:讀出在芯片內(nèi)固化的ID號(hào)。旁路寄存器:1位移位寄存器,用1個(gè)時(shí)鐘的延遲把TDI連至TDO,使測(cè)試者在同一電路板測(cè)試循環(huán)內(nèi)訪問其他器件。邊界掃描寄存器(掃描鏈):截取ARM處理器核與芯片引腳之間所有信號(hào),組成專用的寄存器位。34v JTAG測(cè)試信號(hào) TRST:測(cè)試復(fù)位輸入信號(hào),測(cè)試接

14、口初始化。 TCK:測(cè)試時(shí)鐘,在TCK時(shí)鐘的同步作用下,通過TDI和TDO引腳串行移入/移出數(shù)據(jù)或指令,同時(shí)也為測(cè)試訪問端口TAP控制器的狀態(tài)機(jī)提供時(shí)鐘。 TMS:測(cè)試模式選擇信號(hào),控制測(cè)試接口狀態(tài)機(jī)的操作。 TDI,測(cè)試數(shù)據(jù)輸入線,其串行輸入數(shù)據(jù)送至邊界掃描寄存器或指令寄存器(由TAP控制器的當(dāng)前狀態(tài)及已保存在指令寄存器中的指令來控制)。 TDO:測(cè)試數(shù)據(jù)輸出線,把從邊界掃描鏈采樣的數(shù)據(jù)傳播至串行測(cè)試電路中的下一個(gè)芯片。35v TAP狀態(tài)機(jī) 測(cè)試訪問端口TAP控制器是一個(gè)16狀態(tài)的有限狀態(tài)機(jī),為JTAG提供控制邏輯。狀態(tài)轉(zhuǎn)移圖如右圖: 36v JTAG接口控制指令 控制指令用于控制JTAG接

15、口各種操作,控制指令包括公用(Public)指令和私有(Private)指令。最基本的公用指令有: BYPASS:旁路片上系統(tǒng)邏輯指令,用于未被測(cè)試的芯片,即把TDI與TPO旁路(1個(gè)時(shí)鐘延遲)。 EXTEST:片外電路測(cè)試指令,用于測(cè)試電路板上芯片之間的互連。 IDCODE:讀芯片ID碼指令,用于識(shí)別電路板上的芯片。此時(shí),ID寄存器在TDI與TDO引腳之間,在capture DR狀態(tài)中,芯片的ID復(fù)制至該寄存器,然后在shift DR狀態(tài)中移出。 INTEST:片內(nèi)測(cè)試指令,邊界掃描寄存器位于TDI與TDO引腳之間,處理器核邏輯輸入和輸出狀態(tài)被該寄存器捕獲和控制。373.1.3 ARM處理器

16、內(nèi)核 ARM體系結(jié)構(gòu)的處理器內(nèi)核有:ARM7TDMI、ARM8、ARM9TDMI、ARM10TDMI及ARM11TDMI等。38v ARM7TDMIARM7TDMI名字原義如下:ARM7 ARM6 32位整數(shù)核的3V兼容的版本;T 16位壓縮指令集Thumb;D 在片調(diào)試(Debug)支持,允許處理器響應(yīng)調(diào) 試請(qǐng)求暫停;M 增強(qiáng)型乘法器(Multiplier),與以前處理器 相比性能更高,產(chǎn)生全64位結(jié)果;I 嵌入式ICE硬件提供片上斷點(diǎn)和調(diào)試點(diǎn)支持。39v ARM7TDMI體系結(jié)構(gòu)圖 40v ARM7TDMI引腳圖41 采用了3級(jí)流水線結(jié)構(gòu),指令執(zhí)行分為取指、譯碼和執(zhí)行等3個(gè)階段; 運(yùn)算器能

17、實(shí)現(xiàn)32位整數(shù)運(yùn)算; 采用了高效的乘法器,用328位乘法器實(shí)現(xiàn)3232位乘法(結(jié)果為64位)。 采用v4T版指令,支持16位Thumb指令集; 嵌入式ICE(Embedded-ICE)模塊為ARM7TDMI提供了片內(nèi)調(diào)試功能。同時(shí)通過JTAG接口可以很方便地用PC主機(jī)對(duì)ARM7TDMI進(jìn)行開發(fā)和調(diào)試。 還提供了存儲(chǔ)器接口、MMU接口、協(xié)處理器接口和調(diào)試接口,以及時(shí)鐘與總線等控制信號(hào)。v ARM7TDMI主要特點(diǎn)42v ARM7TDMI主要性能指標(biāo)工藝:0.35m(新近采用0.25m);金屬布線:3層;電壓:3.3V(新近采用1.2V、0.9V); 管子數(shù):74209只;內(nèi)核芯片面積:2.1mm

18、2;時(shí)鐘:066MHz;MIPS:66; 功耗:87mW;MIPS/W:690(采用0.25m工藝,0.9V電壓,可達(dá)1 200MIPS/W)。43v ARM9TDMI主要性能指標(biāo)工藝:025m(0.18m);金屬布線:3層;電壓:2.5V(1.2V);管子數(shù):11 100只;核芯片面積:2.1mm2;時(shí)鐘:0200MHz;MIPS:220;功耗:150mW;MIPS/W:1 500。44v ARM9TDMI流水線結(jié)構(gòu)ARM9TDMI處理器內(nèi)核采用了5級(jí)流水線。 45v ARM9TDMI主要特點(diǎn) 采用指令和數(shù)據(jù)分離訪問的方式,即采用了指令Cache和數(shù)據(jù)Cache。 用專門硬件來直接完成ARM

19、與Thumb指令的譯碼。 ARM9TDMI也有協(xié)處理器接口,允許在芯片增加浮點(diǎn)、數(shù)字信號(hào)處理或其他專用的協(xié)處理器。ARM9TDMI也提供相應(yīng)的軟核。ARM9E-S是具有DSP功能的能執(zhí)行v5TE版ARM指令的ARM9TDMI軟核,當(dāng)然其芯片面積要增加30。 在ARM9流水線設(shè)計(jì)中,增加專用流水段用于存儲(chǔ)器訪問和將結(jié)果寫回到寄存器組。而且,寄存器讀也移到譯碼段。這些改變通過減少在單一時(shí)鐘周期內(nèi)操作最大的邏輯數(shù)目,允許更高的時(shí)鐘頻率。46v ARM10TDMI ARM10TDMI在系統(tǒng)結(jié)構(gòu)上主要采用增加時(shí)鐘速率和減少每條指令平均時(shí)鐘周期數(shù)CPI(Clock Per Instruction)兩大措施,以同樣的工藝,同樣的芯片面積,在性能上2倍于ARM9TDMI。 ARM10TDMI采用提高時(shí)鐘速率、6級(jí)流水線、分支預(yù)測(cè)邏輯、64位存儲(chǔ)器和無阻塞的存/取邏輯等措施,使ARM10TDMI的性能得到很大提高,是目前高檔ARM體系結(jié)構(gòu)的處理器內(nèi)核。流水線結(jié)構(gòu)473.1.4 ARM處理器核 在最基本的ARM處理器內(nèi)核基礎(chǔ)上,可增加Cache、存儲(chǔ)器管理單元M

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論