




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第2章ARM/THUMB微處理器結構及指令系統
本章簡要介紹了ARM/THUMB微處理器的一些基本概念、應用領域及特點,以引導讀者進入ARM/THUMB的殿堂。本章主要內容有:◆ARM/THUMB及相關技術簡介◆ARM/THUMB微處理器系列◆ARM/THUMB微處理器的結構◆ARM/THUMB指令系統第一頁,共五十三頁。2.1ARM微處理器概述 ARM(AdvancedRISCMachines),既可以認為是一個公司的名字,也可以認為是對一類微處理器的通稱,還可以認為是一種技術的名字。 1991年ARM公司成立于英國劍橋,主要出售芯片設計技術的授權。目前,采用ARM技術知識產權(IP)核的微處理器,即我們通常所說的ARM微處理器,已遍及工業控制、消費類電子產品、通信系統、網絡系統、無線系統等各類產品市場,基于ARM技術的微處理器應用約占據了32位RISC微處理器75%以上的市場份額,ARM技術正在逐步滲入到我們生活的各個方面。第二頁,共五十三頁。 ARM公司是專門從事基于RISC技術芯片設計開發的公司,作為知識產權供應商,它本身不直接從事芯片生產,靠轉讓設計許可,由合作公司生產各具特色的芯片,世界各大半導體生產商從ARM公司購買其設計的ARM微處理器核,根據各自不同的應用領域,加入適當的外圍電路,從而形成自己的ARM微處理器芯片進入市場。 目前,全世界有幾十家大的半導體公司都使用ARM公司的授權,因此既使得ARM技術獲得更多的第三方工具、制造、軟件的支持,又使整個系統成本降低,從而使產品更容易進入市場被消費者所接受,更具有競爭力。第三頁,共五十三頁。2.1.1ARM處理器系列 下面所列的是ARM微處理器的幾個系列,以及其他廠商基于ARM體系結構的處理器,這些處理器除了具有ARM體系結構的共同特點以外,每一個系列的ARM微處理器都有各自的特點和應用領域。 ◆ARM7系列 ◆ARM9系列 ◆ARM9E系列 ◆ARMl0E系列 ◆SecurCore系列 ◆Intel的Xscale ◆Intel的StrongARM第四頁,共五十三頁。1.ARM7微處理器系列ARM7系列微處理器為低功耗的32位RISC處理器,最適合用于對價位和功耗要求較高的消費類應用。ARM7微處理器系列具有如下特點:具有嵌入式ICE(In-CircuitEmulator)—RT邏輯,調試開發方便。極低的功耗,適合對功耗要求較高的應用,如便攜式產品。能夠提供0.9MIPS/MHz的三級流水線結構。代碼密度高并兼容16位的Thumb指令集。對操作系統的支持廣泛,包括WindowsCE、Linux、PalmOS等。指令系統與ARM9系列、ARM9E系列和ARMl0E系列兼容,便于產品升級換代。主頻最高可達130MIPS,高速的運算處理能力能勝任絕大多數的復雜應用。第五頁,共五十三頁。ARM的JTAG調試接口1。ARM的JTAG調試結構一個典型的ARM基于JTAG調試結構如圖所示。Debug主控(Host)通常是運行有ARM公司或者第三方提供的調式軟件的PC,通常用的調試軟件有ARMDebugforWindow(ADW),Linux下的arm-elf-gdb等。通過這些調試軟件,可以發送高級的ARM指令,比如:設置籪點,讀寫存儲器,單步跟蹤,全速運行等。協議轉換器(Protrocolconverter)負責轉換Debug主控端發出的高級ARM調式命令為底層的和ARM內核通信的JTAG命令。Debug主控端和協議轉換器之間的介質可以有很多種,比如:以太網,USB,RS-232,并口等。主控端和協議轉換器之間的通信協議最典型的就是ARM公司提供的Angle標準,也可以是第三方廠家自己定義的標準。關于Angle的協議,請參考ARMSDT和ADS,ajj公司的OpenICE32,EPI公司的Jeeni等。第六頁,共五十三頁。協議轉換器(Protrocolconverter)負責轉換Debug主控端發出的高級ARM調式命令為底層的和ARM內核通信的JTAG命令。Debug主控端和協議轉換器之間的介質可以有很多種,比如:以太網,USB,RS-232,并口等。主控端和協議轉換器之間的通信協議最典型的就是ARM公司提供的Angle標準,也可以是第三方廠家自己定義的標準。關于Angle的協議,請參考ARMSDT和ADS,ajj公司的OpenICE32,EPI公司的Jeeni等。Debug目標板就是指系統的調試對象.以一個典型的ARM7TDMI處理器內核為例,說明ARM7TDMI內核的JTAG調試結構.第七頁,共五十三頁。ARMJTAG的JTAG宏單元(Macricell)主要包括3條JTAG掃描鏈(ScanChain)和一個JTAG的控制TAP狀態機。2.JTAG與AngelJTAG調試:協議轉換器解釋上位機傳送來的命令,通過JTAG控制ARM執行。Angle調試:協議轉換器可以直接做為目標板Firmware的一部分.直接執行從宿主機轉送過來的調試指令;并回送相應數據。Angel可以節省專門的JTAG仿真器,但是,它需要軟件,或者是嵌入式操作系統的支持,做不到完全的實時仿真。而JTAG仿真是通過硬件和控制ARM的EmbeddedICE實現的可以做到實時仿真。第八頁,共五十三頁。JTAG的基本知識1.什么是JTAGJTAG是JointTestActionGroup的縮寫:是IEEE1149.1標準。2.使用JTAG的優點JTAG的建立使得集成電路固定在PCB上,只通過邊掃描便可以通過測試。在ARM7TDMI處理器中,可以通過JTAG直接控制ARM的內部總線,I/O口等信息,從而達到調試的目的。第九頁,共五十三頁。3.JTAG的典型信號TMS:測試模式選擇(TestModeSelect),通過TMS信號控制JTAG狀態機的狀態。TCK:JTAG的時鐘信號。TDI:數據輸入信號。TDO:數據輸出信號。nTRST:JTAG復位信號,復位JTAG的狀態機和內部的宏單元(Macrocell)。4.JTAG狀態機5.JTAG鏈的組成第十頁,共五十三頁。ARM7TDMI內核的JTAG掃描鏈結構ARM7TDMI內核的JTAG掃描鏈結構.主要包括3條掃描鏈:Scanchain0,Scanchain1Scanchain2.ScanChain0:有113個掃描單元,包括ARM核的所有I/O,地址數據總線和輸入輸出控制信號.這條鏈上的信號復雜,不易控制,但是,包含的信息豐富,可以通過這條鏈得到ARM7TDMI所有的內核信息。第十一頁,共五十三頁。ScanChain1:有33個掃描單元,包括ARM核的數據總線和一個斷點控制信號。這是一條很有用地鏈,通過控制這條鏈,可以控制ARM核執行指定的指令,從而實現對ARM的內部寄存器,協處理器以及外部存儲器的讀寫操作。ScanChain2:有38個掃描單元,通過控制EmbeddedICE宏單元,實現對ARM執行指令的斷點,觀察點控制。EmbeddedICE是集成在ARM內核的中的嵌入式ICE防真器。其結構如圖所示。通過對EmbeddedICE的控制,對EmbeddedICE中寄存器的讀取,可以獲得ARM內核的狀態,為程序設置斷點以及讀取Debug通信通道。第十二頁,共五十三頁。ARM7系列微處理器的主要應用領域為:工業控制、Internet設備、網絡和調制解調器設備、移動電話等多種多媒體和嵌入式應用。ARM7系列微處理器包括如下幾種類型的核:ARM7TDMI、ARM7TDMI-S、ARM720T、ARM7EJ。其中,ARM7TDMI是目前使用最廣泛的32位嵌入式RISC處理器,屬低端ARM處理器核。TDMI的基本含義為:T:支持16位壓縮指令集Thumb;D:支持片上Debug;M:內嵌硬件乘法器(Multiplier);I:嵌入式ICE,支持片上斷點和調試點。本書所介紹的Samsung公司的S3C44b0X即屬于該系列的處理器。第十三頁,共五十三頁。2.ARM9微處理器系列
ARM9系列微處理器在高性能和低功耗特性方面提供最佳的性能。具有以下特點:5級整數流水線,指令執行效率更高。提供1.1MIPS/MHz的哈佛結構。支持32位ARM指令集和16位Thumb指令集。支持32位的高速AMBA總線接口。全性能的MMU,支持WindowsCE、Linux、PalmOS等多種主流嵌入式操作系統。第十四頁,共五十三頁。MPU支持實時操作系統。支持數據Cache和指令Cache,具有更高的指令和數據處理能力。ARM9系列微處理器主要應用于無線設備、儀器儀表、安全系統、機頂盒、高端打印機、數字照相機和數字攝像機等。ARM9系列微處理器包含ARM920T、ARM922T和ARM940T三種類型,以適用于不同的應用場合。
第十五頁,共五十三頁。3.ARM9E微處理器系列ARM9E系列微處理器為可綜合處理器,使用單一的處理器內核提供了微控制器、DSP、Java應用系統的解決方案,極大地減少了芯片的面積和系統的復雜程度。ARM9E系列微處理器提供了增強的DSP處理能力,很適合于那些需要同時使用DSP和微控制器的應用場合。第十六頁,共五十三頁。
ARM9E系列微處理器的主要特點如下:支持DSP指令集,適合于需要高速數字信號處理的場合。5級整數流水線,指令執行效率更高.支持32位ARM指令集和16位Thumb指令集.支持32位的高速AMBA(先進的微控制器總線體系結構)總線接口.支持VFP9浮點處理協處理器.第十七頁,共五十三頁。全性能MMU,支持WindowsCE、Linux、PalmOS等多種主流嵌入式操作系統。MPU支持實時操作系統。支持數據Cache和指令Cache,具有更高的指令和數據處理能力。主頻最高可達300MIPS。
第十八頁,共五十三頁。ARM9系列微處理器主要應用于下一代無線設備、數字消費品、成像設備、工業控制、存儲設備和網絡設備等領域。ARM9E系列微處理器包含ARM926EJ-S、ARM946E-S和ARM966E-S3種類型,以適用于不同的應用場合。第十九頁,共五十三頁。4.ARMl0E微處理器系列ARMl0E系列微處理器具有高性能、低功耗的特點,由于采用了新的體系結構,與同等的ARM9器件相比較,在同樣的時鐘頻率下,性能提高了近50%,同時,ARMl0E系列微處理器采用了兩種先進的節能方式,使其功耗極低。第二十頁,共五十三頁。ARMl0E系列微處理器的主要特點如下:支持DSP指令集,適合于需要高速數字信號處理的場合。6級整數流水線,指令執行效率更高。支持32位ARM指令集和16位Thumb指令集。支持32位的高速AMBA總線接口。
第二十一頁,共五十三頁。支持VFPl0浮點處理協處理器。全性能MMU,支持WindowsCE、Linux、PalmOS等多種主流嵌入式操作系統。支持數據Cache和指令Cache,具有更高的指 令和數據處理能力。主頻最高可達400MIPS。內嵌并行讀寫操作部件。
第二十二頁,共五十三頁。ARMl0E系列微處理器主要應用于下一代無線設備、數字消費品、成像設備、工業控制、通信和信息系統等領域。ARMl0E系列微處理器包含ARMl020E,ARMl022E和ARMl026EJ-S3種類型,以適用于不同的應用場合。第二十三頁,共五十三頁。5.SecurCore微處理器系列SecurCore系列微處理器專為安全需要而設計,提供了完善的32位RISC技術的安全解決方案,因此,SecurCore系列微處理器除了具有ARM體系結構的低功耗、高性能的特點外,還具有獨特的優勢,即提供了對安全解決方案的支持。SecurCore系列微處理器除了具有ARM體系結構各種主要特點外,還在系統安全方面具有如下的特點:帶有靈活的保護單元,以確保操作系統和應用數據的安全。采用軟內核技術,防止外部對其進行掃描探測。可集成用戶自己的安全特性和其他協處理器。
第二十四頁,共五十三頁。SecurCore系列微處理器主要應用于一些對安全性要求較高的應用產品及應用系統,如電子商務、電子政務、電子銀行業務、網絡和認證系統等領域。SecurCore系列微處理器包含:SecurCoreSCl00、SecurCoreSCll0、SecurCoreSC200和SecurCoreSC2104種類型,以適用于不同的應用場合。
第二十五頁,共五十三頁。6.StrongARM微處理器系列IntelStrongARMSA-1100處理器是采用ARM體系結構高度集成的32位RISC微處理器。它融合了Intel公司的設計和處理技術,以及ARM體系結構的電源效率,采用在軟件上兼容ARMv4體系結構、同時采用具有Intel技術優點的體系結構。IntelStrongARM處理器是便攜式通信產品和消費類電子產品的理想選擇,已成功應用于多家公司的掌上電腦系列產品。第二十六頁,共五十三頁。7.Xscale處理器Xscale處理器是基于ARMv5TE體系結構的解決方案,是一款性能全、性價比高、功耗低的處理器。它支持16位的Thumb指令和DSP指令集,已使用在數字移動電話、個人數字助理和網絡產品等場合。Xscale處理器是Intel目前主要推廣的一款ARM微處理器第二十七頁,共五十三頁。2.1.2RISC體系結構ARM處理器實現加載/存儲(load/store)體系結構是典型的RISC處理器。只有加載和存儲指令可以訪問存儲器。數據處理指令只對寄存器的內容進行操作。第二十八頁,共五十三頁。精簡指令集計算機RISC(ReducedInstructionSetComputer)結構的產生是相對于傳統的復雜指令集計算機CISC(ComplexInstructionSetComputer)結構而言的。盡管在1979年美國加州大學伯克利分校的帕特遜等人即提出了這個名字,但不同的看法使得目前尚未有對RISC的嚴格定義。比較普遍的認為是,RISC應該是一種計算機設計的基本原則,它的出現標志著計算機體系結構發展上的一個重要里程碑。第二十九頁,共五十三頁。傳統的CISC計算機的指令集隨著計算機的發展而引入了各種各樣的復雜指令,使得指令集和為此要實現這些指令的計算機體系結構越來越復雜,已經不堪重負。經過大量的研究和分析,發現在CISC的指令集中,各種指令的使用頻度相差懸殊。大概有20%的指令被反復使用,使用量約占整個程序的80%;而有80%左右的指令則很少使用,其使用量約占整個程序的20%。這就是所謂的20%—80%定律。
第三十頁,共五十三頁。RISC特點如下:指令規整、對稱、簡單。指令小于100條,基本尋址方式有2~3種。單周期指令。指令字長度一致,單拍完成,便于流水操作;ARM7三級流水線:取指、譯碼、執行;ARM9五級流水線;ARMl0六級流水線。大量的寄存器。寄存器不少于32個。數據處理器的指令只對寄存器的內容操作。只有加載/存儲指令可以訪問存儲器。
第三十一頁,共五十三頁。 ARM指令體系結構使用了加載/存儲體系結構、固定長32位指令和3地址指令格式的RISC特性;舍棄了寄存器窗口、延遲轉移和所有指令單周期的RISC特性。第三十二頁,共五十三頁。2.1.3ARM和Thumb狀態ARM體系結構v4T及以上版本定義了稱為Thumb指令集的16位指令集。Thumb指令集的功能是32位ARM指令集的功能子集。Thumb在性能和代碼大小之間提供了出色的折中。正在執行Thumb指令集的處理器是工作在Thumb狀態下。正在執行ARM指令集的處理器是工作在ARM狀態下。第三十三頁,共五十三頁。在ARM狀態下的處理器不能執行Thumb指令,在Thumb狀態下的處理器也不能執行ARM指令。必須確保處理器不接受對當前狀態來說為錯誤指令集的指令。每個指令集都包括切換處理器狀態的指令。ARM處理器總是在ARM狀態下開始執行代碼。ARM處理器支持7種處理器模式,取決于體系結構版本。
第三十四頁,共五十三頁。2.1.4.寄存器ARM處理器有37個寄存器。寄存器被安排成部分重疊的組(overlap--pingbank)。每種處理器模式都有不同的寄存器組。分組的寄存器在處理處理器異常和特權操作時可得到快速的上下文切換。通常寄存器R13用做堆棧指針。在用戶模式下,R14用做鏈接寄存器(LR),在子程序調用時用來保存返回地址。若返回地址保存在通信堆棧中,則它也可用做通用寄存器。第三十五頁,共五十三頁。在異常處理模式下,R14用來保存異常的返回地址。程序計數器用R15(或PC)訪問。在ARM狀態下每條指令加1個字(4個字節),或在Thumb狀態下每條指令加2個字節。分支指令把目的地址加載到程序計數器中。也可以使用數據操作指令直接加載程序計數器。在執行時,R15不包含當前執行指令的地址。典型情況下,當前正在執行指令的地址對于ARM狀態是PC—8,或對于Thumb狀態是PC—4。第三十六頁,共五十三頁。2.1.5ARM指令集概述所有ARM指令是32位長度。指令以字對準保存,這樣ARM狀態指令地址的最低2位總是零。一些指令使用最低有效位判定代碼是轉向Thumb代碼還是ARM代碼。具有字節(8位)、半字(16位)、字(32位)帶符號或無符號數傳送能力。第三十七頁,共五十三頁。2.1.6Thumb指令集概述所有Thumb指令是16位長度,在存儲器中半字對準保存。因此,指令的最低有效位在Thumb狀態下總是為零。對于所有Thumb數據處理指令有:操作寄存器中全部為32位值;數據訪問和取指使用全32位地址。條件分支指令是依據CPSR中ALU的狀態標志有條件執行的唯一的Thumb指令。第三十八頁,共五十三頁。在Thumb狀態下,大多數指令只能訪問R0~R7。寄存器R8~R15是被限制訪問的寄存器。在Thumb狀態下它們用高寄存器表示。Thumb狀態只在分立操作時使用桶式移位,具有LSI、LSR、ASR或ROR指令。Thumb體系結構的擴充使得在8/16位系統價格下可得到32位性能,即最小化系統存儲器大小和價格下出色的代碼密度;在低系統價格的8或16位總線上由16位存儲器得到32位性能。第三十九頁,共五十三頁。Thumb是32位體系結構的擴充。Thumb指令集是大多數常用的32位ARM指令的子集,壓縮成16位寬操作碼。在執行時,16位指令透明地實時解壓縮成全32位ARM指令且沒有性能損失。設計者可以使用16位Thumb和32位ARM指令集。在于程序級可根據應用需求,靈活地強調性能或代碼大小。Thumb比通常的8和16位CISC/RISC控制器有更好的代碼密度,是傳統32位體系結構代碼大小的一部分。這意味著程序存儲器可以更小,因而降低了成本。
第四十頁,共五十三頁。3AMBA總線先進的微控制器總線體系結構AMBA規范定義了三種總線:AHB(AdvancedHigh-performanceBus):用于連接高性能系統模塊。它支持突發數據傳輸方式及單個數據傳輸方式,所有時序參考同一個時鐘沿;ASB(AdvancedSystemBus):用于連接高性能系統模塊,它支持突發數據傳輸模式;APB(AdvancePeripheralBus):是一個簡單接口支持低性能的外圍接口。
第四十一頁,共五十三頁。一個典型的基于AMBA的微控制器同時集成AHB(或ASB)和APB接口,如圖所示。ASB總線是舊版的系統的總線,而新版的AHB總線增強了對性能、綜合及時序驗證的支持。APB總線通常用作的局部的第二總線,作為AHB或ASB上的單個從屬模塊。第四十二頁,共五十三頁。根據AMBA的規范,連接AHB/ASB和APB的APB橋的唯一功能是提供更簡單的接口。任何由低性能外圍設備產生的延遲會由連接高性能(AHB/ASP)總線的橋反映出來。橋本身仿佛是一個簡單APB總線的主設備,它訪問與之相連的從設備,并且通過高性能總線上控制信號的子集控制它們。下面給出AHB、ASB和APB的主要特征.第四十三頁,共五十三頁。3.1AHB
AHB是先進的系統總線。它主要的目的就是連接共性能、高吞吐率的設備,例如CPU、DMA和DSP。它的主要特性:高性能新一代總線;多控制器;分段傳輸;單周期總線控制權移交;沒有三態實現方式;第四十四頁,共五十三頁。32~128位總線寬;包含一種訪問保護機制,用來區別特權訪問和無特權訪問模式,或指令和數據提取等;突發傳輸模式最大為16節;訪問空間限制在32位;提供為較慢設備使用而扼制數據流的機制;支持仲裁、REQ、GNT和LOCK;支持字節、半字和字傳輸。
第四十五頁,共五十三頁。AHB總線和ASB總線有下列不同的特點:AHB總線支持分開處理。有很長響應延遲的從機在準備傳輸的數據時讓出總線從事其它傳送操作;使用單一時鐘沿控制所有操作,有利于綜合和設計驗證(通過使用靜態時序分析和其他相似工具);使用中心多路器總線方案而不是三態驅動的雙向總線;支持更寬的64位或128位數據總線配置。第四十六頁,共五十三頁。3.2ASB
ASB是通用系統總線,是一種微處理器和系統外設的高性能互連,主要特征如下:多控制器;突發數據傳輸方式;流水線傳送;32-128位總線寬度;包含一種訪問保護機制,用來區別特權訪問和無特權訪問模式,或指令和數據提取等;雙向數據總線;提
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 家庭護理居間合同樣本
- 教育學工作匯報
- 窒息護理操作規程
- 礦山運輸糾紛處理合同
- 膜性腎病診療規范
- 舞蹈工作室教練聘用合同范本
- 2024珠海市索卡科技技工學校工作人員招聘考試及答案
- 2024溫州第二職業中等專業學校工作人員招聘考試及答案
- 2024清遠市清新區職業技術學校工作人員招聘考試及答案
- 2024河南省工業和信息化高級技工學校工作人員招聘考試及答案
- 2021新蘇教版科學四年級下冊7.太陽教案
- 第二節歐洲西部
- 淺談在小學五六年級開展性教育的必要性
- (完整版)二十四山年月日時吉兇定局詳解,
- 降落傘拉直階段軌跡及拉直力計算
- 天貓淘寶店鋪運營每日巡店必做的事
- 支撐掩護式液壓支架總體方案及底座設計
- 閥門螺栓使用對照表
- 光驅的讀取偏移值度矯正數據
- 壓力容器基礎知識
- 教你寫出漂亮字體——鋼筆楷書字帖
評論
0/150
提交評論