第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ù)免費閱讀

下載本文檔

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

文檔簡介

第3章ARM體系結(jié)構(gòu)1主要內(nèi)容1324ARM體系結(jié)構(gòu)概述編程模型ARM基本尋址方式ARM指令集5ARM9TDMI內(nèi)核6ARM9與ARM7的比較ARM920T核723.1.1ARM體系結(jié)構(gòu)的特點

ARM即AdvancedRISCMachines的縮寫。ARM公司1990年成立,是設(shè)計公司。ARM是知識產(chǎn)權(quán)(IP)供應(yīng)商,本身不生產(chǎn)芯片,靠轉(zhuǎn)讓設(shè)計許可,由合作伙伴公司來生產(chǎn)各具特色的芯片。ARM處理器的3大特點是:耗電少、成本低、功能強;16位/32位雙指令集;全球眾多合作伙伴保證供應(yīng)。3

ARM處理器為RISC芯片,其簡單的結(jié)構(gòu)使ARM內(nèi)核非常小,這使得器件的功耗也非常低。它具有經(jīng)典RISC的特點:

大的、統(tǒng)一的寄存器文件;

裝載/保存結(jié)構(gòu),數(shù)據(jù)處理操作只針對寄存器的內(nèi)容,而不直接對存儲器進行操作;

簡單的尋址模式;

統(tǒng)一和固定長度的指令域,簡化了指令的譯碼,便于指令流水線設(shè)計。3.1.1ARM體系結(jié)構(gòu)的特點43.1.1ARM體系結(jié)構(gòu)的特點ARM體系結(jié)構(gòu)的特點:RISC型處理器結(jié)構(gòu)ARM/Thumb指令集多處理器狀態(tài)模式(7種處理器模式)嵌入式在線仿真調(diào)試靈活和方便的接口ARM體系結(jié)構(gòu)具有協(xié)處理器接口ARM處理器核還具有片上總線:AMBA(AHB/ASB/APB)低電壓低功耗的設(shè)計53.1.1ARM體系結(jié)構(gòu)的特點ARM目前的產(chǎn)品系列:ARM7ARM9ARM9EARM10SecurCoreARM11ARMCortex-A/R/M系列…通用處理器系列專門為安全設(shè)備設(shè)計的處理器系列63.1.2ARM處理器結(jié)構(gòu)1324ARM的體系結(jié)構(gòu)ARM的流水線結(jié)構(gòu)ARM存儲器結(jié)構(gòu)ARMI/O結(jié)構(gòu)5ARMAMBA接口6ARM協(xié)處理器接口ARMJTAG調(diào)試接口771.ARM的體系結(jié)構(gòu)由32位ALU、31個32位通用寄存器及6個狀態(tài)寄存器、32×8位乘法器、32×32位桶形移位寄存器、指令譯碼及控制邏輯、指令流水線和數(shù)據(jù)/地址寄存器組成。8

ALU由兩個操作數(shù)鎖存器、加法器、邏輯功能、結(jié)果及零檢測邏輯構(gòu)成。

ALU的邏輯結(jié)構(gòu)9

ALU

每一時鐘周期由雙相時鐘組成。ALU的最小數(shù)據(jù)通路周期由以下組成:寄存器讀時間;移位器延遲;ALU延遲;寄存器寫建立時間;雙相時鐘間非重疊時間。

ALU的數(shù)據(jù)通路時序10

桶形移位寄存器

為了減少移位的延遲時間,ARM采用了32×32位的桶形移位寄存器。這樣,可以使左移/右移n位、環(huán)移n位和算術(shù)右移n位等都可以一次完成。11

高速乘法器

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位來實現(xiàn);3倍可看作4-1(11=100-1),故先減1倍被乘數(shù),再加4倍被乘數(shù)來實現(xiàn)。4倍被乘數(shù)的操作實際上是在該2位乘數(shù)11的高1位乘數(shù)加“1”,且此“1”可暫存在Cout進位觸發(fā)器中。

12

高速乘法器

ARM的高速乘法器采用32×8位的結(jié)構(gòu),內(nèi)部結(jié)構(gòu)如下:13

浮點部件

浮點部件是作為選件為ARM體系結(jié)構(gòu)選用,F(xiàn)PA10浮點加速器以協(xié)處理器方式與ARM相連,并通過協(xié)處理器指令的解釋來執(zhí)行。14

控制器

ARM的控制器采用硬接線的可編程邏輯陣列PLA。輸入端14根,輸出40根,分散控制Load/Store多路、乘法器、協(xié)處理器以及地址、寄存器、ALU和移位器的控制。

15

寄存器ARM內(nèi)含37個寄存器,其中:31個通用32位寄存器6個狀態(tài)寄存器163.1.2ARM處理器結(jié)構(gòu)1324ARM的體系結(jié)構(gòu)ARM的流水線結(jié)構(gòu)ARM存儲器結(jié)構(gòu)ARMI/O結(jié)構(gòu)5ARMAMBA接口6ARM協(xié)處理器接口ARMJTAG調(diào)試接口717

指令執(zhí)行的階段計算機中的1條指令的執(zhí)行可以分若干個階段:①取指,從存儲器中取出指令(fetch);②譯碼,指令譯碼(dec):③取操作數(shù),假定操作數(shù)從寄存器組中取(reg);④執(zhí)行運算(ALU);⑤存儲器訪問,操作數(shù)與存儲器有關(guān)(mem);⑥結(jié)果寫回寄存器(res)。18

指令執(zhí)行的階段流水線的停頓相鄰指令執(zhí)行的數(shù)據(jù)相關(guān)性會產(chǎn)生指令執(zhí)行的停頓。19

指令執(zhí)行的階段碰到分支類指令,則會使后面緊接該條指令的幾條指令的執(zhí)行都無效。遇到分支指令20

ARM體系結(jié)構(gòu)的3級流水線ARM7體系結(jié)構(gòu)采用了3級流水線,分為取指,譯碼和執(zhí)行。下圖是單周期3級流水線的操作示意圖。21

ARM體系結(jié)構(gòu)的3級流水線

由于取指的存儲器訪問和執(zhí)行的數(shù)據(jù)通路占用都是不可同時共享的資源,因此對多周期指令來說,會產(chǎn)生流水線阻塞。如圖3-12所示下圖的陰影框周期都是與存儲器訪問有關(guān)的。因此在流水線設(shè)計中不允許重疊。22

ARM體系結(jié)構(gòu)的5級流水線(ARM9體系結(jié)構(gòu)的)5級流水線把存儲器的取指與數(shù)據(jù)存取分開,增加了I-Cache和D-Cache以提高存儲器存取的效率,增加了數(shù)據(jù)寫回的專門通路和寄存器,以減少數(shù)據(jù)通路沖突。這樣,5級流水線分為:取指、指令譯碼、執(zhí)行、數(shù)據(jù)緩存和寫回。233.1.2ARM處理器結(jié)構(gòu)1324ARM的體系結(jié)構(gòu)ARM的流水線結(jié)構(gòu)ARM存儲器結(jié)構(gòu)ARMI/O結(jié)構(gòu)5ARMAMBA接口6ARM協(xié)處理器接口ARMJTAG調(diào)試接口724

ARM存儲器結(jié)構(gòu)

ARM架構(gòu)的處理器,有的帶有指令Cache和數(shù)據(jù)Cache,但片內(nèi)不帶有片內(nèi)RAM和片內(nèi)ROM,系統(tǒng)所需的RAM和ROM須通過總線外接,如下圖。253.1.2ARM處理器結(jié)構(gòu)1324ARM的體系結(jié)構(gòu)ARM的流水線結(jié)構(gòu)ARM存儲器結(jié)構(gòu)ARMI/O結(jié)構(gòu)5ARMAMBA接口6ARM協(xié)處理器接口ARMJTAG調(diào)試接口726

ARM

I/O結(jié)構(gòu)

ARM架構(gòu)中的處理器核和處理器內(nèi)核一般都沒有I/O的部件和模塊,構(gòu)成ARM架構(gòu)的處理器中的I/O可通過AMBA總線來擴充。(1)存儲器映像I/OARM采用存儲器映像I/O的方式,即把I/O端口地址作為特殊的存儲器地址。不過I/O的輸入/輸出與真正的存儲器讀/寫仍然有所不同:存儲器的單元重復(fù)讀多次的值是一致的;而I/O設(shè)備的連續(xù)2次輸入,其輸入值可能會有所不同。(2)直接存儲器存取DMA

在I/O的數(shù)據(jù)流量比較大,中斷處理比較頻繁的場合,會明顯影響系統(tǒng)的性能。因此,許多系統(tǒng)就采用了直接存儲器存取DMA,這樣,I/O的數(shù)據(jù)塊傳送至存儲器的緩沖器區(qū)域就不需要處理器介入,而中斷也僅僅出現(xiàn)在出現(xiàn)出錯時或緩沖器滿時。(3)中斷IRQ和快速中斷FIQ一般的ARM沒有DMA的功能,為了提高I/O處理的能力,對于一些要求I/O處理速率比較高的事件,系統(tǒng)安排快速中斷FIQ(FastInterrupt),而對其余的I/O源仍安排一般中斷IRQ。273.1.2ARM處理器結(jié)構(gòu)1324ARM的體系結(jié)構(gòu)ARM的流水線結(jié)構(gòu)ARM存儲器結(jié)構(gòu)ARMI/O結(jié)構(gòu)5ARMAMBA接口6ARM協(xié)處理器接口ARMJTAG調(diào)試接口728

ARM協(xié)處理器接口

ARM為了便于片上系統(tǒng)SOC的設(shè)計,處理器內(nèi)核盡可能精簡,要增加系統(tǒng)的功能,可以通過協(xié)處理器來實現(xiàn)。在邏輯上,ARM可以擴展16個協(xié)處理器,每個協(xié)處理器可有16個寄存器。協(xié)處理器號功能15系統(tǒng)控制14調(diào)試控制器13~8保留7~4用戶3~0保留

例如,MMU和保護單元的系統(tǒng)控制都采用CP15協(xié)處理器;JTAG調(diào)試中的協(xié)處理器為CP14。293.1.2ARM處理器結(jié)構(gòu)1324ARM的體系結(jié)構(gòu)ARM的流水線結(jié)構(gòu)ARM存儲器結(jié)構(gòu)ARMI/O結(jié)構(gòu)5ARMAMBA接口6ARM協(xié)處理器接口ARMJTAG調(diào)試接口730

ARMAMBA接口

ARM處理器也可以通過先進微控制器總線架構(gòu)AMBA(AdvancedMicrocontrollerBusArchitecture)來擴展不同體系架構(gòu)的宏單元及I/O部件。AMBA事實上已成為片上總線OCB(OnChipBus)標準。AMBA包括以下三類總線:先進高性能總線AHB先進系統(tǒng)總線ASB先進外圍總線APB313.1.2ARM處理器結(jié)構(gòu)1324ARM的體系結(jié)構(gòu)ARM的流水線結(jié)構(gòu)ARM存儲器結(jié)構(gòu)ARMI/O結(jié)構(gòu)5ARMAMBA接口6ARM協(xié)處理器接口ARMJTAG調(diào)試接口

732

JTAG調(diào)試接口的結(jié)構(gòu)

由測試訪問端口TAP(TestAccessPort)控制器、旁路(Bypass)寄存器、指令寄存器、數(shù)據(jù)寄存器以及與JTAG接口兼容的ARM架構(gòu)處理器組成。33

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

JTAG測試信號TRST:測試復(fù)位輸入信號,測試接口初始化。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ù)傳播至串行測試電路中的下一個芯片。35

TAP狀態(tài)機

測試訪問端口TAP控制器是一個16狀態(tài)的有限狀態(tài)機,為JTAG提供控制邏輯。狀態(tài)轉(zhuǎn)移圖如右圖:

36

JTAG接口控制指令

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

ARM體系結(jié)構(gòu)的處理器內(nèi)核有:ARM7TDMI、ARM8、ARM9TDMI、ARM10TDMI及ARM11TDMI等。38

ARM7TDMIARM7TDMI名字原義如下:ARM7ARM632位整數(shù)核的3V兼容的版本;T16位壓縮指令集Thumb;D在片調(diào)試(Debug)支持,允許處理器響應(yīng)調(diào)試請求暫停;M增強型乘法器(Multiplier),與以前處理器相比性能更高,產(chǎn)生全64位結(jié)果;I嵌入式ICE硬件提供片上斷點和調(diào)試點支持。39ARM7TDMI體系結(jié)構(gòu)圖40

ARM7TDMI引腳圖41

采用了3級流水線結(jié)構(gòu),指令執(zhí)行分為取指、譯碼和執(zhí)行等3個階段;運算器能實現(xiàn)32位整數(shù)運算;采用了高效的乘法器,用32×8位乘法器實現(xiàn)32×32位乘法(結(jié)果為64位)。采用v4T版指令,支持16位Thumb指令集;嵌入式ICE(Embedded-ICE)模塊為ARM7TDMI提供了片內(nèi)調(diào)試功能。同時通過JTAG接口可以很方便地用PC主機對ARM7TDMI進行開發(fā)和調(diào)試。還提供了存儲器接口、MMU接口、協(xié)處理器接口和調(diào)試接口,以及時鐘與總線等控制信號。

ARM7TDMI主要特點42

ARM7TDMI主要性能指標工藝:0.35μm(新近采用0.25μm);金屬布線:3層;電壓:3.3V(新近采用1.2V、0.9V);管子數(shù):74209只;內(nèi)核芯片面積:2.1mm2;時鐘:0~66MHz;MIPS:66;功耗:87mW;MIPS/W:690(采用0.25μm工藝,0.9V電壓,可達1200MIPS/W)。43

ARM9TDMI主要性能指標工藝:025μm(0.18μm);金屬布線:3層;電壓:2.5V(1.2V);管子數(shù):11100只;核芯片面積:2.1mm2;時鐘:0~200MHz;MIPS:220;功耗:150mW;MIPS/W:1500。44

ARM9TDMI流水線結(jié)構(gòu)ARM9TDMI處理器內(nèi)核采用了5級流水線。45

ARM9TDMI主要特點采用指令和數(shù)據(jù)分離訪問的方式,即采用了指令Cache和數(shù)據(jù)Cache。用專門硬件來直接完成ARM與Thumb指令的譯碼。ARM9TDMI也有協(xié)處理器接口,允許在芯片增加浮點、數(shù)字信號處理或其他專用的協(xié)處理器。ARM9TDMI也提供相應(yīng)的軟核。ARM9E-S是具有DSP功能的能執(zhí)行v5TE版ARM指令的ARM9TDMI軟核,當然其芯片面積要增加30%。在ARM9流水線設(shè)計中,增加專用流水段用于存儲器訪問和將結(jié)果寫回到寄存器組。而且,寄存器讀也移到譯碼段。這些改變通過減少在單一時鐘周期內(nèi)操作最大的邏輯數(shù)目,允許更高的時鐘頻率。46

ARM10TDMI

ARM10TDMI在系統(tǒng)結(jié)構(gòu)上主要采用增加時鐘速率和減少每條指令平均時鐘周期數(shù)CPI(ClockPerInstruction)兩大措施,以同樣的工藝,同樣的芯片面積,在性能上2倍于ARM9TDMI。

ARM10TDMI采用提高時鐘速率、6級流水線、分支預(yù)測邏輯、64位存儲器和無阻塞的存/取邏輯等措施,使ARM10TDMI的性能得到很大提高,是目前高檔ARM體系結(jié)構(gòu)的處理器內(nèi)核。流水線結(jié)構(gòu)473.1.4ARM處理器核

在最基本的ARM處理器內(nèi)核基礎(chǔ)上,可增加

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論