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