




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一章嵌入式系統概論
無處不在的嵌入式系統嵌入式系統的定義嵌入式系統的特徵嵌入式系統的發展歷程嵌入式系統的分類嵌入式系統的基本結構嵌入式系統的設計要求嵌入式應用開發
電腦發展的三大階段
第一階段:始於五十年代的由IBM等公司率先研製的大型機。第二階段:始於七十年代的個人電腦。第三階段:電腦正邁入下一個充滿機遇的階段—“後PC時代”或“無處不在的電腦”階段。無處不在的電腦施樂公司PaloAlto研究中心主任MarkWeiser認為:“從長遠來看,PC機和電腦工作站將衰落,因為電腦變得無處不在:例如在牆裏、在手腕上、在手寫電腦中(象手寫紙一樣)等等,隨用隨取、伸手可及”。全世界的電腦科學家正在形成一種共識:
電腦不會成為科幻電影中的那種貪婪的怪物,而是將變得小巧玲瓏,無處不在.他們藏身在任何地方,又消失在所有地方,功能強大,卻又無影無蹤.人們將這種思想命名為:“無所不在的電腦”。
嵌入式系統無處不在彼此互連
採樣控制系統飛行控制系統資訊家電即時信號處理系統汽車電子產品普適計算仿真測試嵌入式系統無處不在嵌入式設備無處不在,但桌面系統還依然有用無處不在的電腦是電腦與使用者的比率達到和超過100:1的階段無處不在的電腦包括通用電腦和嵌入式電腦系統在100:1比例中95%以上都是嵌入式電腦系統,並非通用電腦通用電腦-看得見的電腦如:PC機、伺服器、大型電腦等。顯示器主機鼠標鍵盤硬件諸如主機、顯示器、鍵盤、滑鼠等看得見部件軟體應用程式可按用戶需要隨時改變,即重新編制。通用電腦-看得見的電腦嵌入式系統定義看不見的電腦,一般不能被用戶編程,它有一些專用的I/O設備,對用戶的介面是專用的。
通常將嵌入式電腦系統簡稱為嵌入式系統。嵌入式系統是以應用為中心、以電腦技術為基礎、軟體硬體可裁剪、適應應用系統對功能、可靠性、成本、體積、功耗嚴格要求的專用電腦系統。嵌入式系統定義嵌入式系統是將先進的電腦技術、半導體技術和電子技術與各個行業的具體應用相結合後的產物。包含有電腦,但又不是通用電腦的電腦應用系統。通用電腦與嵌入式系統對比特徵通用電腦嵌入式系統形式和類型看得見的電腦。按其體系結構、運算速度和結構規模等因素分為大、中、小型機和微機。看不見的電腦。形式多樣,應用領域廣泛,按應用來分。組成通用處理器、標準匯流排和外設。軟體和硬體相對獨立。面向應用的嵌入式微處理器,匯流排和外部介面多集成在處理器內部。軟體與硬體是緊密集成在一起的。開發方式開發平臺和運行平臺都是通用電腦採用交叉開發方式,開發平臺一般是通用電腦,運行平臺是嵌入式系統。二次開發性應用程式可重新編制一般不能再編程即時系統
即時系統:能夠在限定的回應時間內提供所需水準服務的電腦系統。即時性並不等於快!而是“及時”
衡量即時系統的三個指標:回應時間、吞吐量、生存時間
即時系統強調的是即時性和可靠性
嵌入式系統≠即時系統嵌入式系統的特徵
技術密集專用緊湊安全可靠多種多樣及時回應成本敏感開發困難不可壟斷技術密集軟硬結合,缺一不可基本的微處理器、記憶體;FPGA、CPLD;專用的處理晶片實現行業的特定功能,難以通用。功能日益更新專用緊湊一般用於特定的任務,其硬體和軟體都必須高效率地設計,量體裁衣、去除冗餘,而通用電腦則是一個通用的計算平臺。它通常都具有低功耗、體積小、集成度高等特點,能夠把通用微處理器中許多由板卡完成的任務集成在晶片內部。嵌入式軟體是應用程式和操作系統兩種軟體的一體化程式。安全可靠對於嵌入式系統,編譯的軟體通常稱為固件,大多數被存放在只讀記憶體或閃存而不是硬碟中,只需要非常少的硬體資源就可以運行。一般來講,希望設備中嵌入式系統可以不出錯誤地連續運行,或者出現系統錯誤也可以進行自我修復,而不是也不大可能進行人工干預。這對嵌入式系統的可靠性提出了極高的要求。運行環境往往惡劣嵌入式設備連網勢在必行為什麼嵌入式系統有特別的安全可靠性要求?在大多數嵌入式系統的軟體中一般都包括一些機制,比如硬體的看門狗定時器,軟體的記憶體保護和重啟動機制。保障措施?多種多樣嵌入式處理器週邊設備嵌入式操作系統開發工具外部環境相關外觀形狀及時回應嵌入式系統屬於某種技術過程的核心處理環節,必須滿足技術過程的相關要求。由於這些技術過程一般都有時間、可靠、可用等約束,相應的嵌入式系統也就需要即時性保障嵌入式系統外部事件往往不是單一,而且隨機發生,可能同時出現。因此嵌入式系統還具有多任務分佈和併發的特點。在這種多任務嵌入式系統中,對重要性各不相同的任務進行統籌兼顧的合理調度是保證每個任務及時執行的關鍵
大多數即時系統都是嵌入式系統關注成本嵌入式系統通常需要注意的成本是系統成本,特別是量大的消費類數位化產品,其成本是產品競爭的關鍵因素之一。嵌入式的系統成本包括:一次性的開發成本NRE(Non-RecurringEngineering)成本產品成本:硬體BOM、外殼包裝和軟體版稅等批量產品的總體成本=NRE成本+每個產品成本*產品總量每個產品的最後成本=總體成本/產品總量=NRE成本/產品總量+每個產品成本開發困難:需要專門工具和特殊方法由於嵌入式系統資源有限,一般不具備自主開發能力,產品發佈後用戶通常也不能對其中的軟體進行修改,必須有一套專門的開發環境。該開發環境包括專門的開發工具(包括設計、編譯、調試、測試等工具),採用交叉開發的方式進行,交叉開發環境如圖所示。採用交叉環境不可壟斷PC有WinTel壟斷嵌入式系統工業的基礎是以應用為中心的“晶片”設計和麵向應用的軟體產品開發嵌入式系統的發展歷程
萌芽階段:嵌入式系統的出現和興起(1960-1970)簡單系統階段:嵌入式系統開始走向日常生活(1971-1989)RTOS階段:嵌入式系統開始走向繁榮,軟體和硬體日臻完善(1989-90年代末)網路化階段:嵌入式系統應用走向縱深(1990年-現在)嵌入式系統的出現和興起出現:20世紀60年代以電晶體、磁芯存儲為基礎的電腦開始用於航空等軍用領域。第一臺機載專用數字電腦是奧托內蒂克斯公司為美國海軍艦載轟炸機“民團團員”號研製的多功能數字分析器(Verdan)。同時嵌入式電腦開始應用於工業控制。1962年一個美國乙烯廠實現了工業裝置中的第一個直接數字控制(DDC)。嵌入式系統的出現和興起興起:在1965~1970年,當時電腦已開始採用積體電路,即第三代電腦。在航空航太領域、工業控制、軍事的需求推動下。第一次使用機載數字電腦控制的是1965年發射的Gemini3號,第一次通過容錯來提高可靠性是1968年的阿波羅4號、土星5號。1965年DEC公司推出PDP8併發展成PDP11系列,成為工業生產集中控制的主力軍。在軍用領域中,為了可靠和滿足體積、重量的嚴格要求,還需為各個武器系統設計五花八門的專用的嵌入式電腦系統。嵌入式系統開始走向日常生活嵌入式系統大發展是在微處理器問世之後1973年至1977年間各廠家推出了許多8位的微處理器,包括Intel8080/8085,Motorola的6800/6802,Zilog的Z80和Rockwell的6502。微處理器不單用來組成微型電腦,而且用來製造儀器儀錶、醫療設備、機器人、家用電器等嵌入式系統。僅8085/Z80微處理器的銷售就超過7億片,其中大部分是用於嵌入式工業控制應用。嵌入式系統開始走向日常生活單片機、DSP出現隨著微電子工藝水準的提高,積體電路設計製造商開始把嵌入式應用所需要的微處理器、I/O介面、A/D、D/A轉換、串行介面以及RAM、ROM通通集成到一個VLSI中,製造出面向I/O設計的微控制器,就是我們俗稱的單片機。專門用於高速即時信號處理的數字信號處理器DSP。嵌入式系統開始走向繁榮軟體技術的進步使嵌入式系統日臻完善在微處理器出現的初期,為了保障嵌入式軟體的時間、空間效率,軟體只能用組合語言編寫。由於微電子技術的進步,對軟體的時空效率的要求不再那麼苛刻了,嵌入式電腦的軟體開始使用C等高級語言。對於複雜的嵌入式系統來說除了需要高級語言開發工具外,還需要嵌入式即時操作系統的支持。嵌入式系統開始走向繁榮80年代開始出現了一批軟體公司,推出商品化的嵌入式即時操作系統和各種開發工具。ReadySystem(後來的MicrotecResearch、後來又被MentorGraphic收購)公司:VRTX操作系統及Xray,Spectra工具IntegratedSystemIncorporation(ISI,後被WindRiver公司合併):pSOS操作系統及pRISM工具WindRiver公司:VxWorks操作系統及Tornado工具QNX公司:QNX操作系統及工具商用嵌入式即時操作系統和開發工具的出現和推廣應用,使嵌入式系統的開發從作坊式向分工協作規模化的方向發展,促使嵌入式應用擴展到更廣闊的領域。嵌入式系統應用走向縱深進入20世紀90年代,在分佈控制、柔性製造、數位化通信和數字化家電等巨大需求的牽引下,嵌入式系統的硬體、軟體技術進一步加速發展、應用領域進一步擴大。手機、數碼相機、VCD、數字電視、路由器、交換機等都是嵌入式系統。大多數豪華轎車每輛擁有約50個嵌入式微處理器。最新的波音777寬體客機上約有1000個微處理器。在不久的將來你會在你的家裏發現幾十到上百的嵌入系統在為你服務。嵌入式系統應用走向縱深嵌入式系統的硬體4位、8位、16位微處理器晶片已逐步讓位於32位嵌入式微處理器晶片。面向不同應用領域的(Application-Specific)、功能強大、集成度高、種類繁多、價格低廉、低功耗的32位晶片已大量應用於各種各樣的軍用和民用設備。DSP向高速、高精度、低功耗發展。DSP與通用嵌入式微處理器集成(SoC)已成為現實,並已大量應用於嵌入式系統,如手機、IP電話等。嵌入式系統應用走向縱深嵌入式系統的軟體隨著微處理器性能的提高,嵌入式軟體的規模也隨著發生指數型增長。嵌入式系統應用走向縱深低價位的RISC/32-位微處理器日益複雜的應用產品推向市場的時間壓力開發成本的提高嵌入式軟體危機32位晶片將能夠執行由上百萬行C代碼構成的複雜程式,使得嵌入式應用具備高度複雜和智能化的功能軟體的實現從某種意義上說決定了產品的功能,已成為新產品成功與否的關鍵因素。
嵌入式系統應用走向縱深為此,嵌入式系統已大量採用嵌入式操作系統。嵌入式操作系統功能不斷的擴大和豐富,由80年代只有內核、發展為包括內核、網路、檔、圖形介面、嵌入式JAVA、嵌入式CORBA及分佈式處理等豐富功能的集合。此外,嵌入式開發工具更加豐富,其集成度和易用性不斷提高,目前不同廠商已開發出不同類型的嵌入式開發工具,可以覆蓋嵌入式軟體開發過程各個階段,提高嵌入式軟體開發效率。嵌入式系統的分類按嵌入式處理器的位數來分類按應用來分類按系統即時性來分類按工業界應用的複雜程度來分類按嵌入式處理器的位數來分類4位嵌入式系統8位嵌入式系統16位嵌入式系統32位嵌入式系統64位嵌入式系統正成為主流發展趨勢高度複雜的、高速的嵌入式系統已開始採用目前已大量應用按應用來分類資訊家電類移動終端類通信類汽車電子類工業控制類按即時性分類根據系統對即時性要求的程度,可將嵌入式系統分為硬實時、軟即時系統:硬實時:系統對系統回應時間有嚴格的要求,如果系統回應時間不能滿足,就要引起系統崩潰或致命的錯誤。軟即時:系統對系統回應時間有要求,但是如果系統回應時間不能滿足,不會導致系統出現致命的錯誤或崩潰。按即時性分類根據處理速度的快慢:強即時系統,其系統回應時間在毫秒或微秒級。一般即時系統,其系統回應時間在幾秒的數量級上,其實時性的要求比強即時系統要差一些。弱即時系統,其系統回應時間約為數十秒或更長。這種系統的回應時間可能隨系統負載的輕重而變化。按工業界應用的複雜程度度來分類簡單單處理器系統可擴展單處理器系統複雜嵌入式系統製造或過程控制中使用的電腦系統嵌入式系統的組成嵌入式系統一般由嵌入式硬體和軟體組成硬體以微處理器為核心集成記憶體和系統專用的輸入/輸出設備軟體包括:初始化代碼及驅動、嵌入式操作系統和應用程式等,這些軟體有機地結合在一起,形成系統特定的一體化軟體。嵌入式系統硬體組成電源晶振複位端口時鐘分頻
定時器DMA中斷控制I/O端口A/D轉換核心處理器DRAMFlashROM網口處理器核嵌入式處理器核調試介面外設與擴展USBLCD手寫筆鍵盤紅外其他最小硬體系統嵌入式系統軟體組成嵌入式即時操作系統嵌入式應用系統應用程式介面功耗管理檔管理GUI操作系統內核有線無線網路基本組件汽車電子流覽器資訊家電嵌入式資料庫擴展組件板級支持包嵌入式硬體層嵌入式系統與單片機、PC相比的優勢採用32位RISC嵌入式微處理器和即時操作系統組成的嵌入式控制系統,與傳統基於單片機的控制系統和基於PC的控制方式相比,具有以下突出優點:性能方面:採用32位RISC結構微處理器,主頻從30MHz到624MHz以上,處理能力大大超出單片機系統,接近PC機的水準,但體積更小,能夠真正地“嵌入”到設備中;實性性方面:嵌入式機控制器內嵌即時操作系統(RTOS),能夠完全保證控制系統的強即時性;人機交互方面:嵌入式控制器可支持大螢幕的液晶顯示器,提供功能強大的圖形用戶介面;輸入方法多種多樣;系統升級方面:嵌入式控制器可為控制系統專門設計,其功能專一,成本較低,而且開放的用戶程式介面(API)保證了系統能夠快速升級和更新。
嵌入式系統的設計要求功能實用、便於升級併發處理、及時回應造型自然、結構緊湊介面方便、操作容易穩定可靠、維護簡便功耗管理、降低成本
嵌入式系統設計不同與桌面系統,它非常受限於功能和具體的應用環境,如及時性、體積/重量限制、安全性、可靠性等。因此,在設計時要考慮一下以下因素:嵌入式系統應用開發
嵌入式系統的開發是一個軟硬體的協同開發產品定義系統總體設計軟硬體總體設計軟硬體集成與測試產品發佈嵌入式系統開發過程硬體設計產品定義系統概要設計系統總體框架處理器選定操作系統選定開發環境選定原理圖設計PCB設計制板與調試硬體調試原理圖設計PCB設計制板與調試硬體調試符合需要?軟硬體集成及測試產品發佈是否否否軟體設計系統總體設計嵌入式系統應用開發嵌入式系統設計:設計複雜,成功率相對低嵌入式編程:以C為主嵌入式系統測試:比較困難,測試手段必須多樣嵌入式軟體的重用:構件技術嵌入式開發平臺:平臺選擇是基礎,也是方向嵌入式系統的應用領域嵌入式系統廣泛地應用於消費電子、通信、汽車、國防、航空航太、工業控制、儀錶、辦公自動化等領域。據歐盟的統計:2003年全球大概有80億片嵌入式微處理器,到2010年,預計會達到160億片,地球上的人平均擁有3個嵌入式微處理器;在航空電子中,嵌入式軟體的開發成本占整個飛機研製成本的50%;對於汽車工業,汽車電子在整車價值中的比例逐年提高,將從1997年的20%提升到2010年的33-40%;消費電子數量越來越大,據預測,到2010年,僅數字家庭在美國的銷售額就將達到2000億歐元。嵌入式系統的應用領域AndthelistgoesonandonAnti-lockbrakesAuto-focuscamerasAutomatictellermachinesAutomatictollsystemsAutomatictransmissionAvionicsystemsBatterychargersCamcordersCellphonesCell-phonebasestationsCordlessphonesCruisecontrolCurbsidecheck-insystemsDigitalcamerasDiskdrivesElectroniccardreadersElectronicinstrumentsElectronictoys/gamesFactorycontrolFaxmachinesFingerprintidentifiersHomesecuritysystemsLife-supportsystemsMedicaltestingsystemsModemsMPEGdecodersNetworkcardsNetworkswitches/routersOn-boardnavigationPagersPhotocopiersPoint-of-salesystemsPortablevideogamesPrintersSatellitephonesScannersSmartovens/dishwashersSpeechrecognizersStereosystemsTeleconferencingsystemsTelevisionsTemperaturecontrollersThefttrackingsystemsTVset-topboxesVCR’s,DVDplayersVideogameconsolesVideophonesWashersanddryersA“shortlist”ofembeddedsystems嵌入式系統的應用領域消費電子領域隨著技術的發展,消費電子產品正向數位化和網路化方向發展。高清晰度數字電視將代替傳統的模擬電視。數碼相機將代替傳統的膠片相機。固定電話今後會被IP電話所替代。各種家用電器(電視機、冰箱、微波爐、電話等)將通過家庭通信、控制中心與Internet連接,實現遠程控制、資訊交互、網上娛樂、遠程醫療和遠程教育等。轉變為智能網路家電,還可以實現遠程醫療,遠程教育等。嵌入式系統的應用領域通信領域通信領域大量應用嵌入式系統,主要包括程式控制交換機、路由器、IP交換機、傳輸設備等。據預測,由於互聯的需要,特別是寬頻網路的發展,將會出現各種網路設備如:ADSLModem/Router等,其數量將遠遠高於傳統的網路設備。它們基於32位的嵌入式系統、價格低廉,將為企業、家庭提供更為廉價的、方便的、多樣的網路方案。就寬頻上網的網路設備ADSLRouter而言,國外現在每月需要600K的數量。嵌入式系統的應用領域工控、汽車電子、仿真、醫療儀器等隨著工業、汽車、醫療衛生等各部門對智能控制需求的不斷增長,需要對設備進行智能化、數位化改造,為嵌入式系統提供了很大的市場。就汽車電子系統而言,目前的大多數高檔轎車每輛擁有約50個嵌入式微處理器。如BMW7系列轎車,則平均安裝有63個嵌入式微處理器。據預測,21世紀初美國接入Internet的汽車將有一億輛。ICInsights報導2001年車載計算系統的市場規模是30億美元,而2004年將達到46億美元,屆時這些系統將成為所有新型轎車的標準設備。嵌入式系統的應用領域國防、航空航太領域雷達、電子對抗、坦克、戰艦航天器(火箭、衛星、太空梭等)飛機(民用和軍用飛機)嵌入式系統的發展趨勢形成行業的標準:行業性嵌入式軟硬體平臺嵌入式系統是以應用為中心的系統,不會象PC一樣只有一種平臺。吸取PC的成功經驗,形成不同行業的標準。統一的行業標準具有開放、設計技術共用、軟硬體重用、構件相容、維護方便和合作生產的特點,是增強行業性產品競爭能力的有效手段。如歐共體汽車產業聯盟規定以OSEK標準作為開發汽車嵌入式系統的公用平臺和應用編程介面嵌入式系統的發展趨勢面向應用領域的、高度集成的、以32位嵌入式微處理器為核心的SOC(SystemOnChip)將成為應用主流SoC給系統帶來高性能之外更多更重要的好處穩定性、體積、散熱、功耗·
·
·
處理器外設記憶體I/O“Systemonboard”“Systemonchip”USB以太網memoryExternalMemoryCPUAddressDataCacheBusInterfaceWriteBufferMMU/MPURRWWWW(R/W)
外設如USB、LCD
控制器等擴展晶片內核(core)處理器記憶體子系統SoC的片內外設系統的片外設備處理器(Processor)晶片(SoC)系統(System)嵌入式系統的發展趨勢嵌入式應用軟體的開發需要強大的開發工具和操作系統的支持採用即時多任務編程技術和交叉開發工具技術來控制功能複雜性,簡化應用程式設計、保障軟體品質和縮短開發週期。嵌入式操作系統將在現有的基礎上,不斷採用先進的操作系統技術,結合嵌入式系統的需求向:可適應不同的嵌入式硬體平臺具有可移植、可伸縮、功能強大、可配置、良好的即時性、可靠性、高可用方向發展
嵌入式系統的發展趨勢嵌入式開發工具支持多種硬體平臺覆蓋嵌入式軟體開發過程各個階段高效高度集成的工具集方向發展RequirementAnalysisSoftwareDesignCodingTestRelease嵌入式軟體開發基本過程嵌入式系統的發展趨勢嵌入式系統聯網成為必然趨勢,驅動了大量新的應用針對外部聯網要求,嵌入系統必需配有通信介面,需要TCP/IP協議簇軟體支持。針對內部聯網要求,新一代嵌入式系統還需具備IEEE1394、USB、CAN、Bluetooth或IrDA通信介面,同時也需要提供相應的通信組網協議軟體和物理層驅動軟體。為了支持網路交互的應用,還需內置XML流覽器和WebServer。嵌入式系統的發展趨勢嵌入式系統向新的嵌入式計算模型方向發展支持自然的人機交互和互動的、圖形化、多媒體的嵌入式人機介面。操作簡便、直觀、無須學習。如司機操縱高度自動化的汽車主要還是通過習慣的方向盤、腳踏板和操縱杆。可編程的嵌入式系統。嵌入式系統可支持二次開發如採用嵌入式Java技術,可動態加載和升級軟體,增強嵌入式系統功能。支持分佈式計算。與其他嵌入式系統和通用電腦系統互聯構成分佈式計算環境。
作業:課本P28第10題
寫一篇小論文,分析嵌入式系統的現狀以及發展趨勢第二章嵌入式微處理器
嵌入式微處理器概述
ARM嵌入式微處理器體系結構
嵌入式微處理器概述
嵌入式硬體系統是以嵌入式微處理器為核心,主要由嵌入式微處理器、匯流排、記憶體、輸入/輸出介面和週邊設備組成。嵌入式微處理器擁有豐富的片內資源,同時提供了擴展介面,還可以根據應用的需要,進一步擴展外部介面,實現硬體的裁減。嵌入式微處理器匯流排記憶體輸入/輸出介面和設備嵌入式硬體系統基本體系架構電源晶振電路複位電路程式/數據記憶體CPU中斷控制器I/O介面電路定時器專用電路串/並口USB顯示鍵盤其他週邊為設備嵌入式微處理器有4、8、16、32、64位處理器;尋址空間從幾KB到上G;處理速度從幾MHz到上GHz。體積小、集成度高、低功耗、價格較低;對即時任務有很強的支持能力;嵌入式微處理器有許多不同的體系,即使在同一體系中也可能具有不同的時鐘速度和匯流排數據寬度、集成不同的外部介面和設備。據不完全統計,目前全世界嵌入式微處理器的品種總量已經超過千種,有幾十種嵌入式微處理器體系,主流的體系有ARM、MIPS、PowerPC、SH、X86等。匯流排從微處理器的角度來看,匯流排可分為片外匯流排(如:PCI、ISA等)和片內匯流排(如:AMBA、AVALON、OCP、WISHBONE等)。選擇匯流排和選擇嵌入式微處理器密切相關,匯流排的種類隨不同的微處理器的結構而不同。記憶體嵌入式系統的記憶體包括主存和外存。大多數嵌入式系統的代碼和數據都存儲在處理器可直接訪問的存儲空間即主存中。系統上電後在主存中的代碼直接運行。主記憶體的特點是速度快,一般採用ROM、EPROM、NorFlash、SRAM、DRAM等記憶體件。記憶體目前有些嵌入式系統除了主存外,還有外存。外存是處理器不能直接訪問的記憶體,用來存放各種資訊,相對主存而言具有價格低、容量大的特點。在嵌入式系統中一般不採用硬碟而採用電子盤做外存,電子盤的主要種類有NandFlash、SD(SecureDigital)卡、CompactFlash、SmartMedia、MemoryStick、MultiMediaCard、、DOC(DiskOnChip)等。輸入/輸出介面和設備嵌入式系統的大多數輸入/輸出介面和部分設備已經集成在嵌入式微處理器中。輸入/輸出介面主要有中斷控制器、DMA、串行和並行介面等,設備主要有定時器(Timers)、計數器(counters)、看門狗(watchdogtimers)、RTC、PWM(Pulsewidthmodulator)、AD/DA、顯示器、鍵盤和網路等。嵌入式微處理器的體系結構微處理器體系結構馮•諾依曼(VonNeumann)結構哈佛(Harvard)結構指令系統
RISCCISC採用的先進技術嵌入式微處理器體系結構地址數據主記憶體MOVr8,#8CPUPC指令程式記憶體CPUPC地址數據記憶體MOVr8,#8地址數據馮•諾依曼結構哈佛結構嵌入式微處理器體系結構傳統的微處理器採用的馮·諾依曼結構將指令和數據存放在同一存儲空間中,統一編址,指令和數據通過同一匯流排訪問。哈佛結構則是不同於馮·諾依曼結構的一種並行體系結構,其主要特點是程式和數據存儲在不同的存儲空間中,即程式記憶體和數據記憶體是兩個相互獨立的記憶體,每個記憶體獨立編制、獨立訪問。與之相對應的是系統中設置的兩條匯流排(程式匯流排和數據匯流排),從而使數據的吞吐率提高了一倍。指令系統嵌入式微處理器的指令系統可採用精簡指令集系統RISC(ReducedInstructionSetComputer)或複雜指令集系統CISC(ComplexInstructionSetComputer)
CISCRISC指令系統指令數量很多;大量的混雜型指令集,有簡單快速的指令,也有複雜的多週期指令指令數量少;簡單的單週期指令,在彙編指令方面有相應的CISC微代碼指令執行時間有些指令執行時間很長,如整塊的記憶體內容拷貝,或將多個寄存器的內容拷貝到記憶體多為單週期指令編碼長度編碼長度可變,1-15位元組長度固定,4位元組尋址模式複雜的尋址模式,支持記憶體到記憶體尋址尋址方式簡單操作可以對記憶體和寄存器進行操作僅允許LOAD和STORE指令存取記憶體,其他所有的操作都基於寄存器到寄存器價格由硬體完成部分軟體功能,硬體複雜性增加,晶片成本高由軟體完成部分硬體功能,軟體複雜性增加,晶片成本低寄存器數目寄存器較少寄存器較多嵌入式微處理器採用的先進技術流水線技術超標量技術匯流排和匯流排橋嵌入式微處理器的分類嵌入式微處理器MPU嵌入式微控制器MCU嵌入式DSP處理器嵌入式片上系統Soc、Sopc嵌入式微處理器的集成度用於桌面和服務器的微處理器的晶片內部通常只包括CPU核心、Cache、MMU、匯流排介面等部分,其他附加的功能如外部介面、系統匯流排、外部匯流排和外部設備獨立在其他晶片和電路內。嵌入式微處理器除了集成CPU核心、Cache、MMU、匯流排等部分外,還集成了各種外部介面和設備,如中斷控制器、DMA、定時器、UART等。符合嵌入式系統的低成本和低功耗需求,一塊單一的集成了大多數需要的功能塊的晶片價格更低,功耗更少。嵌入式微處理器的集成度嵌入式微處理器是面向應用的,其片內所包含的組件的數目和種類是由它的市場定位決定的。在最普通的情況下,嵌入式微處理器包括:片內記憶體外部記憶體的控制器,外設介面(串口,並口)LCD控制器:面向終端類應用的嵌入式微處理器中斷控制器,DMA控制器,協處理器定時器,A/D、D/A轉換器多媒體加速器:當高級圖形功能需要時匯流排其他標準介面或外設嵌入式微處理器的體系結構算術格式(ArithmeticFormat)由於低成本和低功耗的限制,大多數的嵌入式微處理器使用定點運算(fixed-pointarithmetic),即數值被表示為整數或在-1.0和+1.0之間的分數,比數值表示為尾數和指數的浮點版本的晶片便宜。當嵌入式系統中需要使用浮點運算時,可採用軟體模擬的方式實現浮點運算,只不過這樣要佔用更多的處理器時間。
功能單元(FunctionalUnits)通常包括不止一個的功能單元,典型的是包含一個ALU、移位器和乘法累加器
MAC,處理器通常用一條指令完成乘法操作。
嵌入式微處理器的功耗管理提供功耗管理機制
運行模式(RunningMode):處理器處於全速運行狀態下。待命模式(StandbyMode):處理器不執行指令,所有存儲的資訊是可用的,處理器能在幾個週期內返回運行模式。時鐘關閉模式(clock-offmode):時鐘完全停止,要退出這個模式系統需要重新啟動。影響功耗的其他因素還有匯流排(特別是匯流排轉換器,可以採用特殊的技術使它的功耗最小)和記憶體的大小(如果使用DRAM,它需要不斷的刷新)。為了使功耗最小,匯流排和記憶體要保持在應用系統可接受的最小規模。主流的嵌入式微處理器目前主流的嵌入式微處理器系列主要有ARM系列、MIPS系列、PowerPC系列、SuperH系列和X86系列等。屬於這些系列的嵌入式微處理器產品很多,有上千種以上。Units
(millions)Source:AndrewAllison,InsideTheNewComputerIndustry,January2001EmbeddedRISCProcessorShipmentsARM嵌入式微處理器ARM(AdvancedRISCMachine)公司是一家專門從事晶片IP設計與授權業務的英國公司,其產品有ARM內核以及各類週邊介面。ARM內核是一種32位RISC微處理器,具有功耗低、性價比高、代碼密度高等三大特色。目前,90%的移動電話、大量的遊戲機、手持PC和機頂盒等都已採用了ARM處理器,許多一流的晶片廠商都是ARM的授權用戶(Licensee),如Intel、Samsung、TI、Motorola、ST等,ARM已成為業界公認的嵌入式微處理器標準。ARM處理器的分類核體系結構ARM1V1ARM2V2ARM2aS,ARM3V2aARM6,ARM600,ARM610V3ARM7,ARM700,ARM710V3ARM7TDMI,ARM710T,ARM720TARM740TV4TStrongARM,ARM8,ARM810V4ARM9TDMI,ARM920T,ARM940TV4TARM9E-S、XScaleV5TEARM10TDMI,ARM1020EV5TEARM11,ARM1156T2-S,ARM1156T2F-S,ARM1176JZ-S,ARM11JZF-SV6ARMCortex-M3、ARMCortex-R4、ARMCortex-A8V7ARM處理器的分類T――為解決代碼長度的問題,ARM體系結構增加了T變種,它就是Thumb指令集,它是ARM技術的一大特色。D――Debug,提供調試支持I――晶片上帶有內置的ICE(InCircuitEmulation),從而支持程式內的中斷點和數據空間的“觀察點”設置。M――Multiplier,支持長乘法指令,由於在ARM體系版本4以後,M變種成為系統的標準功能,字元M通常不需要列出。E――Extended,支持增強型DSP指令J――Java指令支持,增加了Java加速器JazelleSIMD――支持ARM媒體功能擴展,這是ARMV6之後的變種,它增加了媒體指令,在降低耗電量的同時還強化了圖形處理性能。通過追加SIMD功能,將語音及圖像的處理功能提高到了原機型的4倍。ARMV4ARMV4是目前支持的最老的架構,是基於32-bit地址空間的32-bit指令集。ARMv4除了支持ARMv3的指令外還擴展了:支持halfword的存取支持byte和halfword的符號擴展讀支持Thumb指令提供Thumb和Normal狀態的轉換指令進一步的明確了會引起Undefined異常的指令對以前的26bits體系結構的CPU不再相容
ARMv4TARMv4T增加了16-bitThumb
指令集,這樣使得編譯器能產生緊湊代碼(相對於32-bit代碼,記憶體能節省到35%以上)並保持32-bit系統的好處。Thumb在處理器中仍然要擴展為標準的32位ARM指令來運行。用戶採用16位Thumb指令集最大的好處就是可以獲得更高的代碼密度和降低功耗。ARMV5TE1999年推出ARMv5TE其增強了Thumb體系,增強的Thumb體系增加了一個新的指令同時改進了Thumb/ARM相互作用、編譯能力和混合及匹配ARM與Thumb例程,以更好地平衡代碼空間和性能並在ARMISA上擴展了增強的DSP
指令集:
增强的DSP指令包括支持飽和算術(saturatedarithmetic),並且針對AudioDSP應用提高了70%性能。‘E’擴展表示在通用的CPU上提供DSP能力。ARMv5TEJ2000年推出ARMv5TEJ,增加了Jazelle擴展以支持Java加速技術。Jazelle技術比僅僅基於軟體的JVM性能提高近8倍的性能減少了80%的功耗。ARMv62001年推出ARMv6,它在許多方面做了改進如記憶體系統、異常處理和較好地支持多處理器。SIMD擴展使得廣大的軟體應用如Video和Audiocodec的性能提高了4倍。Thumb-2和TrustZone技術也用於ARMv6中。ARMv6第一個實現是2002年春推出的ARM1136J(F)-STM處理器,2003年又推出了
ARM1156T2(F)-S
和ARM1176JZ(F)-S處理器。ARMv7ARMv7定義了3種不同的處理器配置(processorprofiles):
ProfileA是面向複雜、基於虛擬記憶體的OS和應用的ProfileR是針對即時系統的ProfileM是針對低成本應用的優化的微控制器的。所有ARMv7profiles實現Thumb-2技術,同時還包括了NEON™技術的擴展提高DSP和多媒體處理吞吐量400%
,並提供浮點支持以滿足下一代3D圖形和遊戲以及傳統嵌入式控制應用的需要。系列相應產品性能特點ARM7系列ARM7TDMI,ARM7TDMI-S,ARM720T,ARM7EJ三級流水性能:0.9MIPS/MHz,可達到130MIPs(Dhrystone2.1)
ARM9系列ARM920T,ARM922T
五級流水,性能:1.1MIPS/MHz,可達300MIPS(Dhrystone2.1),單32-bitAMBAbus介面,支持MMUARM9E系列ARM926EJ-S,RM946E-S,ARM966E-S,ARM968E-S,ARM996HS
五級流水,支持DSP指令。性能:1.1MIPS/MHz,可達300MIPS(Dhrystone2.1),高性能AHB,軟核(softIP)
ARM10系列ARM1020E,ARM1022EARM1026EJ-S,xcale(7級流水線)6級流水支持分支預測(branchprediction),支持DSP指令。性能:1.35MIPS/MHz,可達430+Dhrystone2.1
MIPS,,可選支持高性能浮點操作,雙64位匯流排介面,內部64位數據通路系列相應產品性能特點ARM11系列ARM11MPCore,ARM1136J(F)-S,ARM1156T2(F)-S,ARM1176JZ(F)-S
8級流水線(9級ARM1156T2(F)-S),獨立的load-store和arithmetic流水線,支持分支預測和返回棧(ReturnStack)。強大的ARMv6指令集,支持DSP,SIMD(SingleInstructionMultipleData)擴展,支持ARMTrustZone、Thumb-2核心技術。740Dhrystone2.1MIPS,低功耗0.6mW/MHz(0.13µm,1.2V)Cortex系列Cortex-A8,Cortex-M3,Cortex-R4Cortex-A系列:面向用於複雜OS和應用的應用處理器(applicationsprocessors),支持ARM,ThumbandThumb-2指令集。Cortex-R系列:面向嵌入式即時領域的嵌入式處理器,支持ARM,Thumb,和Thumb-2指令集。Cortex-M系列:面向深嵌入式價格敏感的嵌入式處理器,只支持Thumb-2指令集SecurCore系列SecurCoreSC100,SecurCoreSC200用於SmartCard和SecureIC的32-bit解決方案。支持ARM和Thumb
指令集,軟核。具有安全特徵和低成本安全存儲保護單元
當前的主流ARM處理器ARM7世界上最為廣泛使用的CPU之一<100MHzARM9100-300MHzARM11晶片已經面世ARM11300-700+MHzSIMD指令擴展支持更豐富的多媒體應用40家授權晶片公司,一些已開始量產FOMAN902iFirstARM11basedphoneOMAP2420i.MX31/i.MX31L目前最快的嵌入式處理器最快的處理器提供超過2000DMIPS的性能運行於1GHz頻率(90nmor65nm製造工藝)功耗小於300mWARMCortexA8ApplicationProcessorCortex-M3實現$1
ARM晶片ARMCortexArchitectureThumb-2ISA3StagePipeline1.22DMIPS/MHz–30%overARM7TDMI33Kgates–30%smallerthanARM7TDMILuminaryMicro的Stellaris系列MCU產品售價僅1美元ARMCortex-M3微控制器內核,專門針對MCU應用領域而設計,突出低成本、低功耗和高效率。ARM7TDMIThumb架構擴展,提供兩個獨立的指令集:ARM指令,均為32位Thumb指令,均為16位兩種運行狀態,用來選擇哪個指令集被執行內核具有Debug擴展結構增強乘法器(32x8)支持64位結果EmbeddedICE邏輯3級流水線馮·諾依曼架構CPI(CyclePerInstruction)約為1.9ARM7TDMIARM7TDMI內核MCLKnIRQnFIQnRESETBUSENBIGENDISYNCnWAITVDDVSSAPEDBE協處理器介面記憶體管理記憶體介面ABORTnOPCCPBCPAnCPInTRANSnM[4:0]MAS[1:0]nRWnMREQLOCKSEQnENOUTA[31:0]DOUT[31:0]DIN[31:0]D[31:0]電源匯流排控制時鐘配置中斷內核信號ARM7TDMIARM7TDMI內核TAP
控制器JTAG介面數據匯流排控制信號地址匯流排BUSSplitterEmbeddedICE邏輯方框圖乘法器指令解碼地址自增器nRESETnMREQSEQABORTnIRQnFIQnRWMAS[1:0]LOCKnCPICPACPBnWAITMCLKnOPCBIGENDISYNCnTRANSnM[4:0]D[31:0]桶移位器32位ALUDBE寫數據寄存器讀數據寄存器地址寄存器寄存器BankA[31:0]ABE及控制邏輯PCUpdate解碼站指令解壓縮IncrementerPCABusBBusALUBusARM7TDMI內核ARM7TDMI指令流水線為增加處理器指令流的速度,ARM7系列使用3級流水線。允許多個操作同時處理,而非順序執行。
PC指向正被取指的指令,而非正在執行的指令。FetchDecodeExecute從記憶體中讀取指令解碼指令中用到的寄存器寄存器讀(從寄存器Bank)移位及ALU操作寄存器寫(到寄存器Bank)PC PCPC-4 PC-2PC-8 PC-4ARM ThumbARM7TDMI指令流水線
操作週期 1 2 3 4 56ADDSUBMOVANDORREORCMPRSBFetchDecode。FetchExecuteDecodeFetchExecuteDecodeFetchExecuteDecodeFetchFetchExecuteDecodeExecuteDecodeFetchExecuteDecodeFetch最佳流水線該例中用6個時鐘週期執行了6條指令
所有的操作都在寄存器中(單週期執行)
指令周期数(CPI)=1ARM7TDMIARM7TDMI內核地址地址數據讀AMBA
介面寫緩衝MMU數據寫數據ARM7xxT控制邏輯CacheAMBA匯流排介面JTAG和非AMBA信號CP15帶Cache的ARM7TDMIARM710T8K統一的cache完整的記憶體管理單元(MMU),支持虛擬地址和記憶體保護寫緩衝ARM720T同ARM710T,但支持WinCEARM740T8K統一的cache記憶體管理單元寫緩衝WriteBuffer:當數據寫到WriteBuffer後不需要CPU的任何干預而由WriteBuffer控制邏輯自動的將數據寫到最終的地方;Cache的回寫則需要CPU的干預。WriteBuffer較小,通常只有幾十個位元組。ReadBuffer:當讀數據時ReadBuffer自動多讀取一些位元組,但是不佔用CPU的匯流排時間,所以能加快讀數據的速度;當使用Cache時如果要從記憶體中讀取數據則每個數據都會佔用CPU的時間,這是與ReadBuffer的最大不同點。ReadBuffer較小,通常只有幾十個位元組。Cache與Buffer的區別ARM9TDMIHarvard架構增加了可用的記憶體寬度指令記憶體介面數據記憶體介面可以實現對指令和數據記憶體的同時訪問5級流水線實現了以下改進:改進CPI到~1.5提高了最大時鐘頻率ARM9TDMIInstructionFetchShift+ALUMemoryAccessRegWriteRegReadRegDecodeFETCHDECODEEXECUTEMEMORYWRITEARM9TDMIARMorThumb
InstDecodeRegSelectRegReadShiftALURegWriteThumb®ARM
decompressARMdecodeInstructionFetchFETCHDECODEEXECUTEARM7TDMI流水線ARM9TDMIARM9TDMIDCacheICacheMMUGLUE外部記憶體ARM940T2x4KcachesMPU寫緩衝ARM9xxTARM920T2x16KcachesMMU支持虛擬地址和記憶體保護寫緩衝帶Cache的ARM9TDMIARM9E-S系列概述ARM9E基於ARM9TDMI內核,有以下擴展和增強單週期32x16乘法器EmbeddedICE邏輯RT改進的ARM/Thumb交互操作新的32x16和16x16乘法指令新的計數到零指令新的飽和算術指令ARM946E-SARM9E-S內核指令和數據cache,大小可選擇指令和數據RAM,大小可選擇保護單元AHB匯流排介面ARM966E-S與ARM946E-S相似,但無cacheARM926EJ-S系列概述Jazelle狀態允許直接執行Java8位碼ARM926EJ-SARM9E-S內核可配置的cache和TCM記憶體管理單元雙重32位AHB匯流排介面(多層)ARM10E系列概述v5TE架構CPI1.36級流水線靜態分支預測32kB指令cache和32kB數據cache支持“Hitundermiss”非阻塞的執行單元每週期64位的LDM/STM操作EmbeddedICE邏輯-RT-II支持新的VFPv1結構同ARM1020E,除了cache大小為16kB對SUDL(singleuserdesignlicense)有效ARM1020EARM1022EARM9vsARM10流水線的對比Intel®StrongARM概述ARMV4架構(無Thumb支持)5級流水線,降低跳轉損耗-stagepipeline,reducedbranchpenalty改進的乘法器(典型地比ARM9TDMI快2個週期)不支持Multi-ICE調試(JTAG限制在連通性測試)無外部協處理器介面SA-110:
16K指令和數據caches,8x16位元組寫緩衝.SA-1100/1110:片上外設,記憶體控制器更小的cache容量PID寄存器指令中斷點,通過CP15Intel®XScale™概述V5TE相容架構7-8級流水線帶統計分支預測32k的數據和指令Cache,外加2k的數據Minicache8口寫緩衝,4口填充和追加緩衝完整的32位協處理器介面調試和性能監控邏輯(通過CP14)乘-加模組(作為CP0)可配置的內核時鐘速度100-733MHz,來自33-66MHz輸入時鐘非同步輸入匯流排時鐘可到100MHz(最大匯流排內核時鐘的1/3)匯流排概述匯流排是CPU與記憶體和設備通信的機制,是電腦各部件之間傳送數據、地址和控制資訊的公共通道。片內匯流排或內部匯流排:連接CPU內部各主要功能部件片外匯流排:CPU與記憶體(RAM和ROM)和I/O介面之間進行資訊交換的通道數據匯流排Dbus地址匯流排Abus控制匯流排Cbus按相對於CPU位置劃分按功能和信號類型匯流排分類匯流排概述匯流排寬度匯流排頻率匯流排帶寬匯流排帶寬(單位:MB/s)=(匯流排寬度/8)×匯流排頻率如:匯流排寬度32位,頻率66MHZ,則匯流排帶寬=(32/8)*66MHz=264MB/s匯流排的主要參數又稱匯流排位寬,指的是匯流排能同時傳送數據的位數。如16位匯流排就是具有16位數據傳送能力。匯流排工作速度的一個重要參數,工作頻率越高,速度越快。通常用MHz表示。又稱匯流排的數據傳送率,是指在一定時間內匯流排上可傳送的數據總量,用每秒最大傳送數據量來衡量。匯流排帶寬越寬,傳輸率越高。匯流排概述原因:數據寬度:高速匯流排通常提供較寬的數據連接。成本:高速匯流排通常採用更昂貴的電路和連接器。橋允許匯流排獨立操作,這樣在I/O操作中可提供某些並行性。一個微處理器系統可能含有多條匯流排高速匯流排低速匯流排高速設備低速設備橋匯流排互聯的電路匯流排概述記憶體高速設備CPU低速設備低速設備橋高速匯流排低速匯流排多匯流排系統匯流排概述匯流排概述Processor-localbusMicro-processorCacheMemorycontrollerDMAcontrollerBridgePeripheralPeripheralPeripheralPeripheralbus嵌入式系統匯流排AMBA匯流排AMBA(AdvancedMicrocontrollerBusArchitecture)是ARM公司研發的一種匯流排規範,目前為3.0版本。在AMBA匯流排規範中,定義了3種匯流排:AHB(AdvancedHigh-performanceBus):用於高性能系統模組的連接,支持突發模式數據傳輸和事務分割;可以有效地連接處理器、片上和片外存儲器,支持流水線操作。ASB(AdvancedSystemBus):也用於高性能系統模組的連接,由AHB匯流排替代;APB(AdvancedPeripheralBus):用於較低性能外設的簡單連接,一般是接在AHB或ASB系統匯流排上的第二級匯流排。AMBA匯流排測試介面ARMCPUSDRAMControlSRAMLCDControl橋並行介面串行介面TimerUART基於AMBA匯流排的典型系統AHB系統匯流排APB外部匯流排ARM微處理器:編程模型數據類型
位元組型數據(Byte):數據寬度為8bits
半字數據類型(HalfWord):數據寬度為16bits,存取式必須以2位元組對齊的方式
字數據類型(Word):數據寬度為32bits,存取式必須以4位元組對齊的方式ARM微處理器:處理器工作狀態(PROCESSOROPERATINGSTATES)處理器有兩種工作狀態:ARM:32位,執行字對準的ARM指令Thumb:16位,執行半字對準的Thumb指令ARM和Thumb之間狀態的切換不影響處理器的模式或寄存器的內容ARM微處理器:處理器工作狀態進入Thumb狀態:執行BX指令。在Thumb狀態進入異常(IRQ,FIQ,UNDEF,ABORT,SWIetc.),當異常處理返回時自動轉換到Thumb狀態進入ARM狀態:執行BX指令。進入異常時,將PC放入異常模式鏈接寄存器中,從異常向量地址開始執行也可進入ARM狀態ARM微處理器:CPU模式(processormode)CPU模式的轉變:軟體控制異常外部中斷7種CPU模式處理器模式處理器模式描述用戶模式(User,usr)正常程式執行的模式快速中斷模式(FIQ,fiq)用於高速數據傳輸和通道處理普通中斷模式(IRQ,irq)用於通常的中斷處理監管模式(Supervisor,svc)供操作系統使用的一種保護模式數據訪問中止模式(Abort,abt)用於虛擬存儲及存儲保護未定義指令中止模式(Undefined,und)用於支持通過軟體方針硬體的協處理器系統模式(System,sys)用於運行特權級的操作系統任務ARM微處理器:CPU模式User模式程式不能訪問有些受保護的資源只能通過異常的形式來改變CPU的當前運行模式特權模式可以存取系統中的任何資源System模式與User模式的運行環境一樣但是它可以不受任何限制的訪問任何資源該模式主要用於運行系統中的一些特權任務FIQ模式IRQ模式Supervisor模式Abort模式Undefined模式異常模式:主要是在外部中斷或者程式執行非法操作時會觸發ARM微處理器:寄存器ARM處理器有37個寄存器
31個通用寄存器:程式計數器、堆疊及其他通用寄存器
6個狀態寄存器這些寄存器不能同時看到不同的處理器狀態和工作模式確定哪些寄存器是對編程者是可見的ARM微處理器:ARMState寄存器未分組寄存器分組寄存器程式計數器通用寄存器程式狀態寄存器ARM微處理器:ThumbState寄存器ARMState與ThumbState寄存器關係ARM微處理器:通用寄存器通用寄存器是R0-R15的寄存器,分為三類
未分組寄存器:沒有對應影子寄存器的寄存器R0-R7分組寄存器:有對應影子寄存器的寄存器R8-R14
程式計數器:R15(或者PC)
影子寄存器是指該寄存器在不同的模式下對應的物理寄存器ARM微處理器:通用寄存器R0-R7所有模式下,R0-R7所對應的物理寄存器都是相同的這八個寄存器是真正意義上的通用寄存器,ARM體系結構中對它們沒有作任何特殊的假設,它們的功能都是等同的。在中斷或者異常處理程式中一般都需要對這幾個寄存器進行保存。ARM微處理器:通用寄存器R8-R14訪問的物理寄存器取決於當前的處理器模式,若要訪問特定的物理寄存器而不依賴當前的處理器模式,則要使用規定的名字。R8-R12各有兩組物理寄存器:一組為FIQ模式,另一組是除FIQ以外的其他模式。R13-R14各有6個分組的物理寄存器,一個用於用戶模式和系統模式,其他5個分別用於5種異常模式。R13(也被稱為SP指針)被用作棧指針,通常在系統初始化時需要對所有模式下的SP指針賦值,當CPU在不同的模式時棧指針會被自動切換成相應模式下的值。R14有兩個用途,一是在調用副程式時用於保存調用返回地址,二是在發生異常時用於保存異常返回地址。ARM微處理器:通用寄存器R15用作程式計數器(PC),可以被讀寫ARMstate:bits[1:0]為0,bits[31:2]即為PC.THUMBstate:bit[0]為0,bits[31:1]即為PCARM微處理器:程式狀態寄存器CPSR(當前程式狀態寄存器)在所有的模式下都是可以讀寫的;SPSR(備份程式狀態寄存器)用來進行異常處理。它們主要包含:保存ALU中的當前操作資訊中斷使能標誌當前處理器的模式其他的一些狀態和控制標誌ARM微處理器:程式狀態寄存器置0表示執行32bit的ARM指令置1表示執行16bit的Thumb指令NegativeZeroCarryOverflowIRQ中斷的回應:置1:禁止回應置0:允許回應FIQ中斷的回應:置1:禁止回應置0:允許回應條件標誌模式控制位ARM/Thumb控制標誌中斷標誌ARM微處理器:程式狀態寄存器模式控制位M0-M4ARM微處理器:異常異常是由內部或者外部原因引起的,當異常發生時CPU將暫停執行當前指令自動到指定的向量地址讀取指令並且執行。在X86上,當有異常發生時CPU是到指定的向量地址讀取要執行的程式的地址而ARM是到向量地址的地方讀取指令,也就是ARM的向量地址處存放的是一條指令(一般是一條跳轉指令)ARM微處理器:異常Reset:CPU被複位後,進入SupervisorMode並且禁止FIQ和IRQ。UndefinedInstructions:CPU執行一條未被定義的指令時就會觸發該異常。這種機制可以用於通過軟體仿真的方式擴展THUMBorARM指令集。SWI:軟中斷(SWI)是執行SWI指令時觸發的,該異常主要用於OS的系統調用。ARM微處理器:異常PrefetchAbort:CPU在讀取指令時發生讀記憶體錯誤並且該指令又要被執行則觸發該異常;如果只是在讀取指令時發生了記憶體錯誤而該指令又未被執行則不會觸發該異常。DataAbort:當CPU在讀寫數據時,如果發生錯誤則觸發該異常。ARM微處理器:異常IRQ:當外部IRQ輸入請求發生時(IRQ中斷已經被使能),觸發該異常。FIQ:FIQ通常被用於快速傳輸數據。當外部FIQ輸入請求發生時(FIQ中斷已經被使能),觸發該異常。ARM微處理器:異常異常的優先順序ARM微處理器:異常當異常出現時,異常模式分組的R14和SPSR用於保存狀態,即:
R14_<exception_mode>=returnlinkSPSR_<exception_mode>=CPSRCPSR[4:0]=exceptionmodenumberCPSR[5]=0/*在ARM狀態執行*/if<exception_mode>==ResetorFIQthenCPSR[6]=1/*禁止快速中斷*/CPSR[7]=1/*禁止正常中斷*/PC=exceptionvectoraddress當處理異常返回時,將SPSR傳送到CPSR,R14傳送到PCARM微處理器:記憶體和I/OARM的尋址空間是線性的地址空間,為232=4GBytes0to3存儲第一個word,bytes4to7存儲第二個wordARM支持大端(Big-endian)和小端(Little-endian)的記憶體數據方式ARM微處理器:記憶體和I/O大端的數據存放格式低地址高地址地址A地址A+1地址A+2地址A+3最高有效位元組的地址就是該word的地址最高有效位元組位於最低地址worda=0xf6
73
4b
cdf6734bcdARM微處理器:記憶體和I/O小端的數據格式
低地址高地址地址A地址A+1地址A+2地址A+3最低有效位元組的地址就是該word的地址最低有效位元組位於最低地址worda=0xf6
73
4b
cdf6734bcdARM微處理器:記憶體和I/O大端:小端:0xb32045000xddddddd00xb32045000xddddddd0f6f673734b4bcdcd0000dada實例變數A:wordA=0xf6734bcd,在內存中的起始地址為0xb3204500變數B:halfwordB=218,在內存中的起始地址為0xddddddd0問題:halfwordB=218與wordC=218在內存中的存放方式有何不同?請分大端和小端兩種情況說明。ARM微處理器:記憶體和I/O實例ARM微處理器:記憶體和I
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 协议书离婚办理流程
- 营销方案感悟
- 大型美容美发活动方案策划
- 民事仲裁协议书
- 协议书室友制
- 酒店咨询方案文案范文
- 2025-2030乳品零售终端业态变革与新零售模式创新研究报告
- 1 感受空气 教学设计-科学三年级上册教科版
- 2025-2030中国高端饮用水消费群体画像及营销模式研究报告
- 活动二 宣传科学施肥教学设计小学综合实践活动沪科黔科版五年级下册-沪科黔科版
- 经口腔镜甲状腺切除术
- 煤矿回收材料管理制度
- DB32T 5124.1-2025 临床护理技术规范 第1部分:成人危重症患者目标温度管理
- DB34T 4985-2025“多规合一”实 用性村庄规划编制规程
- 山东省威海市荣成市实验中学(五四制)2024-2025学年八年级上学期期末考试数学试题(含部分答案)
- 2025年云南事业单位a类真题及答案
- 《非甾体抗炎药物》课件
- 烟道供货及安装合同模板
- 美容皮肤临床技术操作规范方案
- 2025年机关意识形态工作要点
- 交通安全设施培训课件
评论
0/150
提交评论