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