隨著嵌入式技術和市場預期的發展,設計工程師不斷面臨著將擴展功能集成到更小、功耗更低的設備中的壓力。除了為這些新項目增加應用軟件的復雜性之外,客戶還需要交互式界面、無處不在的連接性、絕對的安全性和極高的可靠性。
嵌入式設計人員還面臨著將較慢的傳統接口電路與最新的高速控制設備和多個顯示器相結合的挑戰。最終的系統通常包括帶有操作系統 (OS) 和應用軟件的原始硬件,以及一個帶有軟件的完全獨立的控制器來處理更新的需求。這種方法增加了組件數量和功率要求,并且無助于提高傳統應用程序的性能。
為了應對這種日益增加的復雜性,設計人員正在利用托管多個操作系統的虛擬處理器來確保對實時事件的無阻礙、確定性響應,同時為用戶和操作員提供基于圖形的高級界面。虛擬化是通過添加一個虛擬機監視器 (VMM) 軟件層或管理程序來實現的,該層或管理程序隔離各個分區并執行客戶操作軟件。管理程序創建一個或多個模擬計算機環境或虛擬機,它們可以同時在單個處理器上托管獨立的操作系統和應用程序。
為了加快虛擬組件交互,芯片制造商正在將硬件輔助虛擬化整合到為延長生命周期的嵌入式應用程序量身定制的處理器架構中。例如,第二代 Intel Core 和 Intel Atom E6xx 處理器支持 Intel Virtualization Technology (Intel VT)。該技術通過使用硬件輔助來捕獲和執行某些 VMM 指令,從而提高了基于軟件的虛擬化性能和安全性。Intel VT 允許 VMM 將內存和 I/O 設備分配給特定分區,從而降低處理器負載并減少虛擬機切換時間。
虛擬隔離
將實時或安全關鍵嵌入式功能與基于圖形的大型操作系統相結合的虛擬平臺必須包含安全規定,允許未受影響的分區在發生軟件故障或網絡攻擊時繼續運行。例如,LynuxWorks 為各種虛擬機配置更新了 LynxSecure 分離內核和管理程序,如圖 1 所示。該虛擬化軟件旨在在安全防御環境中運行,其中具有不同安全級別的數據和應用程序必須共同駐留在單個設備上沒有腐敗。LynxSecure 使用虛擬機管理程序創建虛擬化層,將物理系統資源映射到每個客戶操作系統,并為其分配專用資源,例如內存、CPU 時間和 I/O 外圍設備。
圖 1: LynxSecure 嵌入式管理程序允許多個不同的操作系統共享一個物理硬件平臺。
TenAsys Corporation 為 Windows 提供 eVM,這是另一個嵌入式虛擬化平臺,在同一處理器平臺上與 Windows 一起托管嵌入式操作系統或實時操作系統 (RTOS)。為確保關鍵硬件接口未被虛擬化,eVM 對平臺進行分區,從而保證最大性能和對實時事件的確定性響應。eVM 作為標準 Windows 應用程序安裝,包括設置、啟動和停止多個 RTOS 客戶配置所需的所有集成工具。基于 Windows 的控制面板還允許用戶分配中斷、分配 I/O 設備和設置磁盤啟動映像。系統設置完成后,eVM 為客戶 RTOS 提供盡可能低的中斷延遲、直接訪問 I/O 和非分頁 RAM。
多核虛擬化
盡管虛擬化允許設計人員將操作系統和應用程序結合起來以降低系統功率要求和外形尺寸,但它對提高單個軟件組件的性能幾乎沒有任何作用。設計人員的最新趨勢之一是將多核處理器與虛擬化結合起來,通過并行處理提高性能。
通過虛擬化,管理程序在操作環境之間隔離和分配系統資源,以便實時、通用和遺留軟件可以很容易地集成到多核系統中。除了內存和硬件設備分配之外,虛擬化還允許開發人員根據需要將多個內核分配給計算密集型應用程序,以最大限度地提高整體系統性能。
Wind River Hypervisor 將虛擬化擴展到多核應用程序,允許設計人員將硬件設備、內存和內核配置和劃分為虛擬板,每個板都有自己的操作系統,同時保持必要的分離(見圖 2)。這些虛擬板可以在單個處理器內核上運行,也可以根據系統需求分布在多個內核上。Wind River Hypervisor 已應用于安全關鍵型應用,在這些應用中,系統的安全認證和非認證組件傳統上必須在物理上分離。然而,嵌入式虛擬化允許系統設計人員隔離經過安全認證的組件,同時仍使用經過認證的管理程序在單個硬件平臺上運行。
圖 2: Wind River Hypervisor 提供了一個虛擬化層,可將單核或多核芯片劃分為具有不同級別保護和功能的多個分區。
Real-Time Systems 還為多核處理器提供虛擬化支持。RTS Real-Time Hypervisor 充分利用英特爾 VT 的安全性,允許在單個多核平臺上完全獨立地執行多個操作系統。設計人員可以為每個操作系統分配單獨的處理器內核、內存和設備。通過配置文件,可以指定引導順序,并且在需要時,可以獨立于其他操作系統重新引導操作系統。為了促進操作系統之間的通信,管理程序還提供可配置的用戶共享內存,以及基于 TCP/IP 的虛擬網絡驅動程序。該系統可以運行多個 RTOS 實例,并與 Windows XP/CE/7/Embedded、QNX、Linux、On Time RTOS-32、VxWorks、Microware OS-9 和 Android 等高級操作軟件混合使用。
開發和調試
無論虛擬應用程序是在單個處理器上運行還是跨多個內核運行,軟件開發和調試工具都必須配置為支持多個操作系統和內存分區。例如,Green Hills Software 更新了其 INTEGRITY RTOS 和 MULTI 集成開發環境 (IDE),以支持最新的虛擬化微架構。INTEGRITY RTOS 圍繞分區架構構建,為嵌入式系統提供增強的可靠性、安全性和實時性能。安全分區保證每個任務獲得保護操作系統和用戶任務免受錯誤和惡意代碼攻擊所需的資源。INTEGRITY 架構提供針對嵌入式和實時多核處理器優化的非對稱多處理 (AMP) 和對稱多處理 (SMP) 支持。
MULTI IDE 軟件工具在單個包中包含多個 C 編譯器選項、調試器、編輯器、配置管理器、代碼瀏覽器和調試器。MULTI 還具有 DoubleCheck,這是一個集成的靜態分析器,可以隔離由可能不在同一源文件中的代碼段之間的復雜交互引起的錯誤。此外,Green Hills Probe 還為電路板啟動、設備驅動程序開發和系統級調試提供多核調試控制。
下一步是通過更新和簡化軟件開發工具集來整合多核支持,同時最大限度地減少對當前代碼創建實踐的修改。各種軟件供應商為基于第二代英特爾酷睿設備的產品提供高級開發工具和板級支持包。例如,CriticalBlue 的 Prism 軟件分析工具允許開發人員分析現有的軟件應用程序,評估新架構的優勢,并選擇合適的處理器。
Prism 分析在模擬器或硬件開發板上運行的現有代碼的行為,以評估引入或添加更多并行代碼結構的機會。例如,開發人員可以選擇第二代英特爾酷睿處理器家族的適當成員,并分析英特爾超線程技術、數據緩存未命中和指令吞吐量的影響。Prism 為開發人員提供了通過將程序劃分為多個線程可實現的性能增益的估計。
設計簡化,性能優化
虛擬化是一種行之有效的方法,可以用更少的組件簡化嵌入式設計,同時集成輕松組合不同操作軟件或未來更新所需的框架。虛擬化還通過隔離硬件和軟件層來簡化系統升級,以便設計人員可以輕松添加或修改外圍設備、內存和內核,而無需重構軟件架構。虛擬機管理程序使設計人員即使在部署后也可以通過調整資源映射來優化性能。
審核編輯:郭婷
-
處理器
+關注
關注
68文章
19339瀏覽量
230201 -
嵌入式
+關注
關注
5086文章
19143瀏覽量
306045 -
操作系統
+關注
關注
37文章
6847瀏覽量
123420
發布評論請先 登錄
相關推薦
評論