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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

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

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

4、小數(shù)據(jù)通路周期由以下組成:寄存器讀時間;移位器延遲;ALU延遲;寄存器寫建立時間;雙相時鐘間非重疊時間。 ALU的數(shù)據(jù)通路時序10v 桶形移位寄存器 為了減少移位的延遲時間,ARM采用了3232位的桶形移位寄存器。這樣,可以使左移/右移n位、環(huán)移n位和算術右移n位等都可以一次完成。 11v 高速乘法器 ARM為了提高運算速度,采用兩位乘法的方法。兩位乘法根據(jù)乘數(shù)的2位來實現(xià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、來實現(xiàn);3倍可看作4-1(11100-1),故先減1倍被乘數(shù),再加4倍被乘數(shù)來實現(xiàn)。4倍被乘數(shù)的操作實際上是在該2位乘數(shù)11的高1位乘數(shù)加“1”,且此“1”可暫存在Cout進位觸發(fā)器中。 12v 高速乘法器 ARM的高速乘法器采用328位的結構,內部結構如下:13v 浮點部件 浮點部件是作為選件為ARM體系結構選用,F(xiàn)PA10浮點加速器以協(xié)處理器方式與ARM相連,并通過協(xié)處理器指令的解釋來執(zhí)行。 14v 控制器 ARM的控制器采用硬接線的可編程邏輯陣列PLA。輸入端14根,輸出40根,分散控制Load/Store多路、乘法器、協(xié)處理器以及地址、寄存器、ALU和移位器的控制。 15v 寄存器AR

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

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

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

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

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

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

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

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

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

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

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

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

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

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

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論