當前位置:才華齋>IT認證>嵌入式>

嵌入式作業系統與嵌入式處理器

嵌入式 閱讀(2.9W)

隨著計算機技術和通訊技術的快速發展,嵌入式系統已經廣泛滲入到工業控制、行動通訊、電子商務、資訊家電等多個應用領域,應用日益廣泛。下面小編為大家整理了關於嵌入式作業系統與嵌入式處理器的文章,一起來看看吧:

嵌入式作業系統與嵌入式處理器

  1 嵌入式系統

嵌入式系統(Embedded System,ES)是將先進的微電子技術、通訊技術和計算機技術與各個具體應用領域相結合的產物,是一個資金技術密集且高度整合創新的知識系統。嵌入式系統是以應用為中心,計算機技術為基礎,軟硬體可裁剪,適應於應用系統對功能、可靠性、成本、體積和功耗等方面有嚴格要求的專用計算機系統。因此,它具有“嵌入性”、“專有性”和“計算機系統”三個基本要素,其中“嵌入性”是它的特徵,“專有性”是它的靈魂,“計算機系統”是它的本質。

根據IEEE(Institute of Electrical and Electronics Engineers 電氣電子工程師協會)從它的用途來定義,嵌入式系統是用來監視、控制或者輔助機器和裝置執行的系統[2]。其實嵌入式系統就是微作業系統和功能軟體的整合,在以微處理器為核心的微型計算機硬體體系中所形成的簡易便捷,穩定可靠,經濟實用的機電一體化產品。

  2 嵌入式處理器

嵌入式處理器(Embedded Processor,EP)與通用處理器最大的區別就在於嵌入式處理器大多工作在為不同使用者群所設計的特定系統中,它常常將通用處理器中許多由板卡完成的功能整合到晶片內部,從而有利於實現嵌入式系統設計的微型化,同時又保證了較高的可靠性和處理效率。到目前為止,全球嵌入式處理器的種類已經超過1000多種,其中以ARM、MIPS、Power PC、Motorola 68K、X86等體系結構最為常見,一般將嵌入式處理器分成以下四類:

1)嵌入式微控制器 (Microcontroller Unit,MCU);

2)嵌入式微處理器 (Embedded Microprocessor Unit,EMPU);

3)嵌入式DSP處理器(Embedded Digital Signal Processor,EDSP);

4)片上系統(System On Chip,SOC)。

一般在嵌入式系統設計中常用的嵌入式微處理器和體系結構主要有以下幾種:

1) ARM

ARM(Advanced RISC Machines)公司是全球著名的16/32位精簡指令集計算機RISC(Reduced Instruction Set Computer)處理器設計供應商,通過提供高效能與低功耗的RISC處理器晶片設計技術給各個生產廠商來生產滿足不同應用領域要求的晶片。事實上,由於ARM處理器一方面支援16位的Thumb指令集和32位的ARM指令集,另一方面使用了大量的暫存器和靈活的定址方式來提高系統執行的效率,所以ARM處理器技術已經成為數字通訊、工業控制、多媒體家電等嵌入式應用領域的RISC標準。ARM系列處理器種類很多,目前市場上應用最為廣泛的是ARM9和ARM10系列處理晶片。ARM9處理器由於擁有了五級流水線結構和自帶MMU功能,廣泛應用於手持終端和無線通訊等領域。ARM10處理器由於採用了更高的六級流水線結構和支援DSP指令以及支援64位的AMBA匯流排介面[5],其效能較ARM9有了很大的提高,廣泛應用於手持PDA以及車載電子等高階領域。

2) MIPS

MIPS(Microprocessor without Interlocked Pipeline Stages)簡稱無內部互鎖流水級的微處理器,是美國MIPS技術公司推出的一種基於RISC架構的高效能高檔次的處理器核心。MIPS採用了先進的設計理念和清晰的系統結構,強調軟硬體協同工作以提高處理器效能,同時簡化了硬體設計,採用軟體方法來避免流水線執行中的資料相關問題。雖與ARM處理器相比,MIPS體系結構的處理器功耗要高些,但它具備了從32位低端產品到64位高階產品的完整解決方案,而且在智慧財產權的授權費用上MIPS要低於ARM,因此,MIPS核心逐漸被越來越多的消費類電子產品和工業控制產品的設計所採用。

3) Power PC

PowerPC(Performance optimization with Enhanced RISC performance Computing)簡稱效能優化與增強的RISC效能計算,是由IBM、Motorola和Apple公司聯合開發的一款高效能32/64位RISC處理器,其主要特點是可伸縮性好,方便靈活和較高的價效比。常見的基於Power PC架構的處理器有IBM公司的Power PC64S(深藍內部的CPU)、Power PC750、Power PCG3以及Motorola公司的MC和MPC系列等。目前,基於Power PC體系結構的處理器廣泛應用於桌面PC系統、移動PC系統、嵌入式系統以及金融電信等行業。

4) Motorola 68K

Motorola 68K採用複雜指令集計算機CISC(Complex Instruction Set Computer)架構[8],是出現比較早的嵌入式處理器,在全球的各種嵌入式處理器應用領域中取得了巨大成功。曾經Sun微計算機公司把這款處理器應用於早期的產品開發中。

5) X86
  X86系列處理器起源於Inter架構的8080,然後發展出286、386、486直到現在的奔騰處理器乃至雙核處理器。從嵌入式市場分佈來看,486DX也是與ARM、68K、MIPS、SuperH齊名的五大嵌入式處理器之一。目前市場上基於X86體系結構的PC104產品佔有很大的市場份額。

  3 嵌入式作業系統

嵌入式作業系統(Embedded Operating System,EOS)是嵌入式系統的重要組成部分,它通常執行在嵌入式硬體平臺之上,對整個系統的軟硬體資源進行有效管理控制和協調排程的系統軟體。嵌入式作業系統可以分為兩大類:嵌入式實時作業系統(Embedded Real-time Operating System,ERTOS)和嵌入式分時作業系統。實時作業系統是指系統能及時響應外部事件的請求,在確定的時間內對事件進行處理,並控制所有任務協調一致執行的作業系統。實時作業系統對響應時間有著嚴格的要求,絕對不能錯過該時限要求,否則就會引起嚴重的錯誤。而分時作業系統則按照相等的時間片(time slicing)輪流排程程序執行,在執行的時間上並沒有實時作業系統要求的那麼嚴格,錯過任務執行的最後截止期限或執行時序上的偏差,並不會造成系統的崩潰,帶來災難性的後果。

通常按照對截止期限(Deadline)要求的不同,嵌入式實時作業系統又可以分為硬實時系統(Hard Real-time OS)和軟實時系統(Soft Real-time OS)。硬實時系統是指對系統響應時間有著嚴格的要求,在任務的截止期限內必須及時響應,絕對不能錯過任務處理的截止期限,否則就會引起系統崩潰或者導致災難性後果。軟實時系統是指系統任務一般能夠在截止期限到達前得到處理,但是如果系統響應時間錯過處理的截止期限,它並不會導致系統崩潰或出現致命的錯誤。

1998年,Bernat和Burns兩位科學家又提出弱硬實時(Weakly Hard Real-time)的概念[9],即實時任務可以錯過截止期限,但任務錯過的截止期限必須可預知且被限制在一定的時間範圍內。從定義上看,弱硬實時能夠科學地定義軟實時任務的.實時特性及實時要求,是對軟實時系統的細化和發展。兩者相似之處都允許系統中的實時任務錯過截止期限,而不同之處在於弱硬實時系統在軟實時系統的基礎上加了一些對截止期限的限制,規定了任務錯過的截止期限數必須可預知且被限定在一定的範圍之內。弱硬實時系統的優點就在於能夠對軟實時系統中實時任務“軟”的程度進行定性,同時雖然弱硬實時系統對任務在單個週期中的特性要求是“軟”的,但從任務視窗的角度來看,弱硬實時系統對任務的要求又是“硬”的,即任務錯過的截止期限必須可預知且被嚴格限制。

  目前國內外常見的嵌入式作業系統主要有以下幾種:

1) Windows CE

Windows CE是美國Microsoft公司專門為各種移動和行動式消費類電子產品等嵌入式應用系統設計的一款32位高效能微核心結構的多工多使用者的作業系統。它具有一個簡潔高效的基於完整優先權的可搶佔式作業系統核心[10],支援強大的通訊和圖形實現功能,能夠適應廣泛的系統需求。Windows CE不需要任何特定的硬體結構,實際的硬體結構完全由使用者根據需要自由設計。現在Microsoft公司又推出了針對行動通訊產品應用的Windows Mobile作業系統,佔據了很大的市場份額。

2) VxWorks

VxWorks是美國WindRiver公司於1983年設計開發的一種具有工業領導地位的高效能實時作業系統[21]。VxWorks採用一種微核心結構(最小體積<8KB),包括了程序管理、儲存管理、裝置管理、檔案系統管理、網路協議及系統應用等幾個部分,為使用者提供高效的實時多工管理與排程的能力、微秒級的中斷處理能力、系統資源之間靈活的通訊機制,並且具有優先順序排隊和迴圈排程的能力。VxWorks支援多種體系結構的處理器,如X86、i960、Sun Sparc、Motorola、MC68xxx、ARM、Power PC等,和廣泛的工業標準,如POSIX1003.b實時擴充套件。此外,VxWorks還支援多種物理介質標準和完整的TCP/IP網路協議,支援多處理器並行工作,具有快速多工切換、搶佔式任務排程、任務間通訊方式多樣化的特點,並且完全符合ANSIC的標準,是目前應用最為廣泛、市場佔有率最高的實時系統之一。

3) μC/OS-II

μC/OS-II是一款專門為計算機嵌入式應用而設計的基於靜態優先順序的搶佔式排程的多工實時作業系統,是一種免費且開源的作業系統。μC/OS-II系統採用MicroWindow圖形系統。由於μC/OS-II不支援檔案系統,不支援驅動程式和應用程式的模組載入,因此在進行系統開發時,核心和驅動程式以及應用程式都是集中編譯的。經過十多年的應用和修改,已經被移植到多種處理器平臺上。μC/OS-II由於核心小巧,佔用空間小,執行效率高,實時效能優良和具有較強的可擴充套件性,廣泛應用於航空航天等領域。

4) QNX

QNX是加拿大QNX Software System公司於1980年開發的一款可擴充套件的分散式微核心嵌入式實時作業系統。它部分遵循POSIX標準,如POSIX.1(程式介面)和POSIX.2(Shell和工具)以及POSIX.1b(實時擴充套件)。使用者可以把應用程式與核心直接編譯在一起,生成一個單一的多執行緒映像。QNX提供POSIX.1b標準程序排程:32個程序優先順序、基於優先順序的搶佔式程序排程,其程序在獨立的地址空間執行。此外,QNX核心非常小巧(QNX4.x大約為12Kb)而且執行速度極快,但是QNX不能很好支援GUI系統,目前市場佔有量不是很大。