嵌入式處理器體系結構

從應用對象上加以定義,嵌入式系統是軟件和硬件的綜合體,還可以涵蓋機械等附屬裝置。下面是小編整理的關於嵌入式處理器體系結構,歡迎大家參考!

嵌入式處理器體系結構

這個階段課程淵源已久。上世紀90年代時單片機的大行其道是計算機單芯片化的開端。隨着集成電路技術的發展,單芯片上集成的功能越來越強,終於在本世紀初發展出現了在單芯片上集成複雜計算機系統的技術(System-on-Chip SOC)。這使得原本需要獨立運行在單獨的計算機上的複雜的軟件系統可以運行在(嵌入)小型的設備上。這就是“嵌入式系統”。這種系統的核心處理器被稱爲“嵌入式處理器”。

在講授這部分課程時,講師應當讓學生同時接觸到Intel架構以及ARM架構的指令。學生應當首先學習編寫在操作系統環境下運行的彙編語言程序,然後在無操作系統環境下運行的裸板程序。歸根結底,這個階段課程教給學員分析和編寫彙編語言程序的一般性方法,而非僅僅針對某個體系結構和彙編器。學員將學到超越某個具體指令集的彙編語言能力以及建立在此之上的自底向上的思考整個計算機體系的能力。

  傳統誤區

完全地學習處理器體系結構需要具備大量的先修課程(主要是電路類課程),今天的學生不具備這些先修課程能力。傳統的方式是首先講解處理器體系結構,然後講解指令集,再然後講解彙編程序語法,再然後像C語言階段一樣寫一些小程序,再然後...。但是很不幸,教學實踐表明,由於無法安排足夠的課時,這種方式的教學甚至無法讓學員獲得最基本的分析和使用匯編代碼的能力。同時由於處理器能力的增強導致嵌入式軟件體系的複雜度大大提升的結果是芯片廠商包辦了底層的諸如Bootloader之類的底層軟件。同時大部分的嵌入式產品都通過運行某種操作系統環境提供應用層支持。直接在無操作系統環境下編程的程序員崗位在嵌入式行業中大大減少。這樣一來,講授裸機彙編的傳統課程體系和最新工程實踐嚴重脫節。

  問題分析

問題的根源在於現代程序員對於彙編語言的需求是很獨特的。即使是在操作系統核心級別的代碼中,用匯編語言寫成的代碼總量也不會很多。而當程序員開始和這些代碼打交道時,往往意味着他碰到了關鍵的核心問題。這個時候問題的核心在於整體的軟硬件結構而不是具體的彙編指令。現代的.程序員在處理構成系統關鍵部分的彙編代碼時,並不需要像計算機發展的早期時的彙編程序員那樣精通某種彙編語言的每一個角落。只要“框架”清晰,指令集的障礙自然可以通過臨時查閱相關體系結構的手冊邁過。但是框架卻不是臨時能夠建立起來的。

應當徹底改變這部分課程以適應最新的工程實踐。壓縮繁瑣的彙編指令教學,增加在操作系統環境下的關鍵彙編代碼分析和設計,把原本放在彙編程序上的精力轉移到SOC的體系結構和操作系統的底層機制上。

教師應當在C、內核這幾個課程階段展開多架構彙編語言視角的討論。這樣能夠讓學生在很長的時間跨度上去習慣用匯編語言的視角分析問題。在本階段的教學中,首先在Linux環境下寫彙編,然後纔是裸板的彙編。這是因爲經過前期的學習,學生對於Linux和C是比較熟悉的,使用匯編語言和這兩種環境打交道會降低學習的難度梯度。

消除了學生對指令集的恐懼之後,再展開用匯編和C語言直接操作硬件的SOC課程環節。他們將通過這個環節瞭解到基於ARM的SOC體系結構特點,包括總線、地址、外設以及中斷等等硬件知識。由於已經熟悉了彙編語言,所以此時的學生能夠把精力集中在SOC體系結構本身上。這是組織課程的一種“超級技巧”,尤其用來解決那些複雜的課程環節:儘量避免在課程中同時出現兩個或多個學生之前並不熟悉的知識體系(在這裏就是彙編和SOC芯片)。通過重新規劃這課程,甚至動用其它環節的課程以呼應這一階段課程的方式降低學習的難度梯度。

嵌入式微處理器(Micro Processor Unit,MPU)

嵌入式微處理器是由通用計算機中的CPU演變而來的。它的特徵是具有32位以上的處理器,具有較高的性能,當然其價格也相應較高。但與計算機處理器不同的是,在實際嵌入式應用中,只保留和嵌入式應用緊密相關的功能硬件,去除其他的冗餘功能部分,這樣就以最低的功耗和資源實現嵌入式應用的特殊要求。和工業控制計算機相比,嵌入式微處理器具有體積小、重量輕、成本低、可靠性高的優點。目前主要的嵌入式處理器類型有Am186/88、386EX、SC-400、Power PC、68000、MIPS、ARM/ StrongARM系列等。其中Arm/StrongArm是專爲手持設備開發的嵌入式微處理器,屬於中檔的價位。

Power PC:

由IBM、Apple和Motorola聯合開發,並製造出基於PowerPC的多處理器計算機。PowerPC架構具有可伸縮性好、方便靈活的特點。主要有以下產品使用Power PC微處理器

蘋果公司:Power Macintosh系列、PowerBook系列(1995年以後的產品)、iBook系列、iMac系列(2005年以前的產品)、eMac系列產品。

任天堂:GameCube 和 Wii。

Sony:PlayStation 3。

  MIPS:

MIPS是世界上很流行的一種RISC處理器。MIPS的意思“無內部互鎖流水級的微處理器”(Microprocessor without interlocked piped stages),其機制是儘量利用軟件辦法避免流水線中的數據相關問題。它最早是在80年代初期由斯坦福(Stanford)大學Hennessy教授領導的研究小組研製出來的。MIPS公司的R系列就是在此基礎上開發的RISC工業產品的微處理器。這些系列產品爲很多計算機公司採用構成各種工作站和計算機系統。MIPS技術公司是美國著名的芯片設計公司,它採用精簡指令系統計算結構(RISC)來設計芯片。和英特爾採用的複雜指令系統計算結構(CISC)相比,RISC具有設計更簡單、設計週期更短等優點,並可以應用更多先進的技術,開發更快的下一代處理器。MIPS是出現最早的商業RISC架構芯片之一,新的架構集成了所有原來MIPS指令集,並增加了許多更強大的功能。MIPS處理器是八十年代中期RISC CPU設計的一大熱點。MIPS是賣的最好的RISC CPU,可以從任何地方,如Sony, Nintendo的遊戲機,Cisco的路由器和SGI超級計算機,看見MIPS產品在銷售。目前隨着RISC體系結構遭到x86芯片的競爭,MIPS有可能是起初RISC CPU設計中唯一的一個在本世紀盈利的。和英特爾相比,MIPS的授權費用比較低,也就爲除英特爾外的大多數芯片廠商所採用。