多核嵌入式處理器開發(fā)工具及技術方案
多核處理器的應用將為設備制造廠商解決復雜和成本問題并快速開發(fā)豐富多樣的功能找到新的有效途徑,對多核編程和調試的支持力度也正在日益增加。實時操作系統(tǒng)(RTOS)和工具供應商正在不斷改進以模型為主導的設計、虛擬原型以及C語言編譯?,F(xiàn)在我們來一一介紹目前各大公司對多核開發(fā)推出或升級的產品和支持服務。
本文引用地址:http://m.butianyuan.cn/article/149443.htmQNX的多核分割技術
QNX軟件系統(tǒng)公司創(chuàng)建于1980年,總部在加拿大。QNX繼續(xù)著正確的選擇-在正確的時間選擇正確的創(chuàng)新之路。隨著市場重心轉變到對于雙核和多核處理器的應用,QNX果斷地預測多核架構正在成為迎合性能、功率和系統(tǒng)整合性等方面挑戰(zhàn)的先進的解決之道。多核硬件的出現(xiàn)改寫了過去通常使用單處理器設計的嵌入式軟件開發(fā)商的規(guī)則。由此,獲得針對多核平臺的最優(yōu)解決方案變得空前重要。
基于大范圍可升級的QNX Neutrino? RTOS,客戶可以在一個豐富的多處理器解決方案組合中選擇并應用最適合其產品需求的模型。除了提供不對稱(AMP)和對稱多處理(SMP)能力,QNX還倡導一個創(chuàng)新的結合了SMP的高級資源管理和AMP的應用控制的混合功能-Bound Multiprocessing(BMP),BMP是一個打破常規(guī)的、簡化了核遷移并對多核以及更高級設計具有前瞻性證明的先進技術。
QNX 針對多核處理器的首個安全的存儲器和CPU分割功能。分割功能經常出現(xiàn)在安全性非常重要的應用中,因為它能確保CPU時間和存儲器所用的資源,并保證當某一部分發(fā)生問題或受到入侵時,不會影響應用中的其余部分。
分割目前僅限于單處理器,將分割信息傳達給多核系統(tǒng)是一件很困難的事情,因為需要在多個處理器間復制分割信息。將所有信息轉移到多核是項全新的嘗試,這需要設計人員靈活地將分割信息映射到多核架構上。
借助QNX公司的多核分割技術,Neutrino RTOS的用戶可以將一個處理器分割成兩個部分,當然,用戶也可以選擇一個分割部分包含多個處理器。該技術可用于具有相似架構的對稱多核系統(tǒng)。
上述分割技術可以處理多達8個相同內核,而且針對某些架構,這個數(shù)字甚至可以高達32個。目前該技術支持ARM、MIPS、PowerPC和X86處理器。此外,用戶還可選用QNX公司現(xiàn)有的“混合多處理(BMP)”功能,該功能將特定的線程或應用鎖定在一個特定的CPU內核組內。QNX公司的Momentics套件提供的可視化工具,則有助于優(yōu)化和調試多核設計。
風河系統(tǒng)Workbench
風河系統(tǒng)公司目前也在其Workbench On-Chip Debugging Edition產品中加入了對多核的支持。該產品包含一個可聯(lián)網(wǎng)、基于JTAG接口的在線仿真器,能支持多核和多處理應用。
該產品包含一個可聯(lián)網(wǎng)、基于JTAG接口的在線仿真器,可以在單個掃描鏈上連接多達128個處理器,而且能同時調試多達8個這樣的內核,能進行對稱或非對稱多處理。用戶可以在單一調試環(huán)境中調試多個內核。
最新的Workbench 2.6.1 On-Chip Debugging Edition版本能支持更多數(shù)量的新型處理器,包括Broadcom SiByte系列中的幾款、英特爾Xscale IOP342、飛思卡爾MPC8641D 2.0T以及PA Semi的PA6T-1682M。另外,該版本允許用戶在不需要內核指令的情況下調試Linux內核、用戶程序和共享庫,而且它還提供新的Eclipse插件“瀏覽”工具。
ARM Realview開發(fā)環(huán)境
IP供應商倒是早早就為多核做好了準備。行業(yè)領頭羊ARM在2005年就推出多核處理器ARM11 MPCore,它可以配置成包含1個到4個處理器,具有高達2600Dhrystone MIPS的性能。瑞薩計劃在2008年大量生產采用ARM11 MPCore處理器的第一種產品,其主要目標是數(shù)字家庭電子產品和辦公室自動化系統(tǒng)。
ARM Realview開發(fā)環(huán)境同時支持單核和多核應用。不久前,ARM公司宣布了RealView開發(fā)工具套件3.1版的許多新增功能,其中包括首次支持最新的Cortex-M1處理器。Cortex-M1是針對FPGA而設計的一款ARM產品。
Realview 3.1還增強了對ARM CoreSight調試與跟蹤技術的支持力度:為調試與跟蹤增加多個跟蹤數(shù)據(jù)流,并減少引腳數(shù)目;增加了用于ARM Neon SIMD架構的向量化編譯器;提供用于微控制器應用的新型microlibC庫。新版Realview還支持ARM DSP指令集擴展;性能有了更大的改進,并針對ARM處理器進行了調整;進一步增強了Eclipse項目管理。
Tensilica公司
可配置處理器的IP提供商Tensilica公司IP核的尺寸更小,可靈活配置總線、緩存、指令集、執(zhí)行數(shù)據(jù)路徑、I/O端口和寄存器,因此也更容易實現(xiàn)多核架構,其已有的成功應用更為驚人,在Cisco的CRS-1 Terabit路由器中,Cisco的工程師用188顆Tensilica Xtensa處理器內核搭建出了SPP(Silicon Packet Processor)引擎,處理能力高達40Gbps,在16插槽的線路卡機架中,可以實現(xiàn)1.2Tbps的總交換容量。Tensilica的處理器還能夠與ARM、MIPS處理器集成在一起,構成非對稱多處理器架構。
NI LabVIEW 8.5
美國國家儀器公司(NI)最新發(fā)布的LabVIEW 8.5為用于測試、控制與嵌入式系統(tǒng)開發(fā)的最新版圖形化設計平臺。構建在已投資10年的多線程技術之上,LabVIEW 8.5通過直覺并行數(shù)據(jù)流語言,簡化了多核心與FPGA架構的應用開發(fā)。
通過采用新一代的處理器,工程師與科學家必須開始考慮,如何讓軟件獲得多核心與FGPA架構系統(tǒng)的潛在性能。通過LabVIEW的并行數(shù)據(jù)流語言,用戶可輕松將用于數(shù)據(jù)流、控制、分析與信號處理的應用映射至多核心與FPGA架構。以早期版本的自動化多線程功能為基礎,LabVIEW 8.5 根據(jù)可用的核心數(shù)量,調整用戶的應用,并提供增強的線程安全驅動程序與鏈接庫,從而提升RF、高速數(shù)字I/O與混合信號測試應用的吞吐量。
LabVIEW 8.5也可通LabVIEW Real-Time環(huán)境,提供對稱多任務處理功能,讓嵌入式與工業(yè)級系統(tǒng)的工程師不需犧牲特定系統(tǒng)性能,即可跨多重核心自動下載平衡任務。利用最新版本的LabVIEW,用戶可手動指派部份程序代碼至特定處理器核心,以微調實時系統(tǒng)或將時間重要的程序代碼隔離到專用核心。為了滿足多核心開發(fā)時日漸增多的除錯與最優(yōu)化程序代碼的挑戰(zhàn),工程師與科學家現(xiàn)在可以使用新的 NI Real-Time Execution Trace工具組 2.0,以真實地顯示程序代碼區(qū)段之間的時序關系以及正在執(zhí)行程序代碼的個別線程與處理核心。
Portland Group PGI 7.0編譯器
意法半導體全資子公司Portland Group 3月份上市的針對多核64位處理器優(yōu)化的PGI 7.0編譯器。PGI編譯器和開發(fā)工具被廣泛用于高性能計算技術(HPC),即以復雜過程的建模和仿真為主的技術計算領域,如海洋建模、天氣預報、地震分析、生物信息分析技術等。把軟件程序轉換成計算機能夠理解的二進制指令的PGI編譯器是高性能計算領域公認的最好的軟件,在各種應用領域和產品性能評測中表現(xiàn)出世界領先的性能,經常被引用為工業(yè)的性能及可靠性標準。
帶有直接連通的AMD多核處理器架構配合PGI的編譯器可以為許多廣泛使用64位的工程和科學應用(如地理物理建模、機械工程、非線性動力學、計算化學和高能物理)帶來性能上的提升。
PGI新編譯器的評估版可以從Portland Group網(wǎng)站www.pgroup.com下載,用戶需要注冊。
The MathWorks MATLAB 7.5
The MathWorks不久前也宣布在MATLAB和分布式計算工具中推出四項增強功能,提供更高的性能和大型數(shù)據(jù)集處理能力。MATLAB現(xiàn)在包括了針對多核系統(tǒng)和64位Solaris平臺的多線程計算支持。
借助多線程功能,使用元素智能(element-wise)和線性代數(shù)函數(shù)的MATLAB應用程序可通過同時運行多線程來提升性能從而充分利用多核機器。最后,借助64位Solaris支持,使用MATLAB的工程師還可以利用64位計算的優(yōu)勢來開發(fā)涉及大型數(shù)據(jù)集和計算密集型任務的應用程序。MATLAB 7.5適用于Microsoft Windows, Solaris, Linux, and Macintosh平臺。
Hi-Tech Software的OCG
澳大利亞Hi-Tech Software公司推出了一種新型編譯器技術,該技術可能在今后會對多核設計有所幫助,但是目前,其主要瞄準的還是單處理器,特別是MCU。這種名為Omniscient Code Generation(OCG)的新技術,據(jù)稱可以同時針對所有程序模塊生成目標代碼,從而提供真正的全局優(yōu)化。
在編譯時,用戶不需要逐一模塊或逐一功能地檢查程序,因為OCG可以查找整個程序。對于擁有多個尋址空間的小型芯片來說,OCG可以幫助實現(xiàn)數(shù)據(jù)自動化分布;對擁有多個寄存器集的大型芯片來說,OCG可以執(zhí)行完整的程序分析,并對寄存器分配進行優(yōu)化。
OCG可以檢查所有代碼模塊,收集寄存器、堆棧、指針、對象和變量聲明上的數(shù)據(jù),并利用這些信息來確保模塊間的一致變量和對象聲明、優(yōu)化堆棧和寄存器分配,以及刪除無用的變量和函數(shù)。
Stubbs表示,OCG技術所產生的代碼比Hi-Tech公司現(xiàn)有編譯器的代碼緊湊20%,比競爭對手的編譯器代碼緊湊50%。“編程器可以編寫看起來像標準ANSI C的代碼,而不需要任何特別的擴展來處理內在架構。”他表示。
OCG適用于Microchip的PIC18 MCU系列以及Cypress的混合信號控制器。Hi-Tech公司還計劃增加對所有Microchip其它MCU和DSP的支持,以及對基于ARM7的MCU和8051 MCU的支持。
Virtutech Simics VMP
Virtutech是一家為軟件開發(fā)提供虛擬原型系統(tǒng)的公司,近日推出了新產品Simics VMP。Simics VMP是Simics開發(fā)套件中的一個模塊,它能夠借助英特爾和AMD處理器中的硬件虛擬化功能使代碼自行運行。傳統(tǒng)上被用于同一服務器以運行多個OS的片上虛擬化功能,被首次應用到軟件開發(fā)中來。
Virtutech公司還將推出Simics 3.2,該版本增加了一些新功能,可以幫助用戶在現(xiàn)有流程中集成虛擬化軟件開發(fā)。新版本改進了與第三方調試工具的集成,并增加了對符號表的支持。想在多核系統(tǒng)上簡單、低成本開發(fā)高質量軟件,唯一的方法就是采用虛擬化軟件開發(fā)。
Telelogic AB公司Rhapsody 7.1
想要簡便地創(chuàng)建復雜軟件,方法之一就是利用統(tǒng)一建模語言(UML)或系統(tǒng)建模語言(SysML)進行以模型為主導的開發(fā)。Telelogic AB公司展示了其Rhapsody系列的增強性能,而改進的目的正是為了更好地為以模型為主導的開發(fā)服務。改進后的Rhapsody 7.1更加緊密地符合SysML1.0的要求,能更好地支持靈活的開發(fā)流程。新的Rhapsody電信包(Telecom package)中囊括了最適合電信使用的工具集。Telelogic SDL Suite 6.0為基于規(guī)范與描述語言(SDL)的系統(tǒng)提供了改進的內核架構。
Mentor Graphics公司
Mentor Graphics公司為Nucleus RTOS的Inflexion Platform UI提供了新型應用編程接口(API),以簡化用戶接口的開發(fā)。該API能在無需修改嵌入式設備固件的情況下改變接口。
S2 Technologies
S2 Technologies則升級了自己的Stride工具集。該工具集主要用于在開發(fā)過程的早期階段進行嵌入式軟件測試和驗證。Stride 2.1增加了在目標應用上控制和自動運行C/C++測試代碼的能力、增加了自動生成測試腳本的功能、并增強了用戶接口。
Aonix公司
Aonix公司采用Perc Ultra和Perc Pico工具集的全Java代碼解決方案。對于計算密集型算法來說,其速度比采用C代碼的同等Java程序要快得多。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論