新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 多核嵌入式處理器開發(fā)工具及技術(shù)方案

多核嵌入式處理器開發(fā)工具及技術(shù)方案

作者: 時間:2012-03-13 來源:網(wǎng)絡(luò) 收藏

多核的應(yīng)用將為設(shè)備制造廠商解決復(fù)雜和成本問題并快速開發(fā)豐富多樣的功能找到新的有效途徑,對多核編程和調(diào)試的支持力度也正在日益增加。實(shí)時操作系統(tǒng)(RTOS)和工具供應(yīng)商正在不斷改進(jìn)以模型為主導(dǎo)的設(shè)計、虛擬原型以及C語言編譯?,F(xiàn)在我們來一一介紹目前各大公司對多核開發(fā)推出或升級的產(chǎn)品和支持服務(wù)。

本文引用地址:http://www.butianyuan.cn/article/149443.htm

QNX的多核分割

QNX軟件系統(tǒng)公司創(chuàng)建于1980年,總部在加拿大。QNX繼續(xù)著正確的選擇-在正確的時間選擇正確的創(chuàng)新之路。隨著市場重心轉(zhuǎn)變到對于雙核和多核的應(yīng)用,QNX果斷地預(yù)測多核架構(gòu)正在成為迎合性能、功率和系統(tǒng)整合性等方面挑戰(zhàn)的先進(jìn)的解決之道。多核硬件的出現(xiàn)改寫了過去通常使用單設(shè)計的軟件開發(fā)商的規(guī)則。由此,獲得針對多核平臺的最優(yōu)解決變得空前重要。

基于大范圍可升級的QNX Neutrino? RTOS,客戶可以在一個豐富的多處理器解決組合中選擇并應(yīng)用最適合其產(chǎn)品需求的模型。除了提供不對稱(AMP)和對稱多處理(SMP)能力,QNX還倡導(dǎo)一個創(chuàng)新的結(jié)合了SMP的高級資源管理和AMP的應(yīng)用控制的混合功能-Bound Multiprocessing(BMP),BMP是一個打破常規(guī)的、簡化了核遷移并對多核以及更高級設(shè)計具有前瞻性證明的先進(jìn)

QNX 針對多核處理器的首個安全的存儲器和CPU分割功能。分割功能經(jīng)常出現(xiàn)在安全性非常重要的應(yīng)用中,因?yàn)樗艽_保CPU時間和存儲器所用的資源,并保證當(dāng)某一部分發(fā)生問題或受到入侵時,不會影響應(yīng)用中的其余部分。

分割目前僅限于單處理器,將分割信息傳達(dá)給多核系統(tǒng)是一件很困難的事情,因?yàn)樾枰诙鄠€處理器間復(fù)制分割信息。將所有信息轉(zhuǎn)移到多核是項(xiàng)全新的嘗試,這需要設(shè)計人員靈活地將分割信息映射到多核架構(gòu)上。

借助QNX公司的多核分割,Neutrino RTOS的用戶可以將一個處理器分割成兩個部分,當(dāng)然,用戶也可以選擇一個分割部分包含多個處理器。該技術(shù)可用于具有相似架構(gòu)的對稱多核系統(tǒng)。

上述分割技術(shù)可以處理多達(dá)8個相同內(nèi)核,而且針對某些架構(gòu),這個數(shù)字甚至可以高達(dá)32個。目前該技術(shù)支持ARM、MIPS、PowerPC和X86處理器。此外,用戶還可選用QNX公司現(xiàn)有的“混合多處理(BMP)”功能,該功能將特定的線程或應(yīng)用鎖定在一個特定的CPU內(nèi)核組內(nèi)。QNX公司的Momentics套件提供的可視化工具,則有助于優(yōu)化和調(diào)試多核設(shè)計。

風(fēng)河系統(tǒng)Workbench

風(fēng)河系統(tǒng)公司目前也在其Workbench On-Chip Debugging Edition產(chǎn)品中加入了對多核的支持。該產(chǎn)品包含一個可聯(lián)網(wǎng)、基于JTAG接口的在線仿真器,能支持多核和多處理應(yīng)用。

該產(chǎn)品包含一個可聯(lián)網(wǎng)、基于JTAG接口的在線仿真器,可以在單個掃描鏈上連接多達(dá)128個處理器,而且能同時調(diào)試多達(dá)8個這樣的內(nèi)核,能進(jìn)行對稱或非對稱多處理。用戶可以在單一調(diào)試環(huán)境中調(diào)試多個內(nèi)核。

最新的Workbench 2.6.1 On-Chip Debugging Edition版本能支持更多數(shù)量的新型處理器,包括Broadcom SiByte系列中的幾款、英特爾Xscale IOP342、飛思卡爾MPC8641D 2.0T以及PA Semi的PA6T-1682M。另外,該版本允許用戶在不需要內(nèi)核指令的情況下調(diào)試Linux內(nèi)核、用戶程序和共享庫,而且它還提供新的Eclipse插件“瀏覽”工具。

ARM Realview開發(fā)環(huán)境

IP供應(yīng)商倒是早早就為多核做好了準(zhǔn)備。行業(yè)領(lǐng)頭羊ARM在2005年就推出多核處理器ARM11 MPCore,它可以配置成包含1個到4個處理器,具有高達(dá)2600Dhrystone MIPS的性能。瑞薩計劃在2008年大量生產(chǎn)采用ARM11 MPCore處理器的第一種產(chǎn)品,其主要目標(biāo)是數(shù)字家庭電子產(chǎn)品和辦公室自動化系統(tǒng)。

ARM Realview開發(fā)環(huán)境同時支持單核和多核應(yīng)用。不久前,ARM公司宣布了RealView套件3.1版的許多新增功能,其中包括首次支持最新的Cortex-M1處理器。Cortex-M1是針對FPGA而設(shè)計的一款A(yù)RM產(chǎn)品。

Realview 3.1還增強(qiáng)了對ARM CoreSight調(diào)試與跟蹤技術(shù)的支持力度:為調(diào)試與跟蹤增加多個跟蹤數(shù)據(jù)流,并減少引腳數(shù)目;增加了用于ARM Neon SIMD架構(gòu)的向量化編譯器;提供用于微控制器應(yīng)用的新型microlibC庫。新版Realview還支持ARM DSP指令集擴(kuò)展;性能有了更大的改進(jìn),并針對ARM處理器進(jìn)行了調(diào)整;進(jìn)一步增強(qiáng)了Eclipse項(xiàng)目管理。

Tensilica公司

可配置處理器的IP提供商Tensilica公司IP核的尺寸更小,可靈活配置總線、緩存、指令集、執(zhí)行數(shù)據(jù)路徑、I/O端口和寄存器,因此也更容易實(shí)現(xiàn)多核架構(gòu),其已有的成功應(yīng)用更為驚人,在Cisco的CRS-1 Terabit路由器中,Cisco的工程師用188顆Tensilica Xtensa處理器內(nèi)核搭建出了SPP(Silicon Packet Processor)引擎,處理能力高達(dá)40Gbps,在16插槽的線路卡機(jī)架中,可以實(shí)現(xiàn)1.2Tbps的總交換容量。Tensilica的處理器還能夠與ARM、MIPS處理器集成在一起,構(gòu)成非對稱多處理器架構(gòu)。

NI LabVIEW 8.5

美國國家儀器公司(NI)最新發(fā)布的LabVIEW 8.5為用于測試、控制與系統(tǒng)開發(fā)的最新版圖形化設(shè)計平臺。構(gòu)建在已投資10年的多線程技術(shù)之上,LabVIEW 8.5通過直覺并行數(shù)據(jù)流語言,簡化了多核心與FPGA架構(gòu)的應(yīng)用開發(fā)。

通過采用新一代的處理器,工程師與科學(xué)家必須開始考慮,如何讓軟件獲得多核心與FGPA架構(gòu)系統(tǒng)的潛在性能。通過LabVIEW的并行數(shù)據(jù)流語言,用戶可輕松將用于數(shù)據(jù)流、控制、分析與信號處理的應(yīng)用映射至多核心與FPGA架構(gòu)。以早期版本的自動化多線程功能為基礎(chǔ),LabVIEW 8.5 根據(jù)可用的核心數(shù)量,調(diào)整用戶的應(yīng)用,并提供增強(qiáng)的線程安全驅(qū)動程序與鏈接庫,從而提升RF、高速數(shù)字I/O與混合信號測試應(yīng)用的吞吐量。

LabVIEW 8.5也可通LabVIEW Real-Time環(huán)境,提供對稱多任務(wù)處理功能,讓與工業(yè)級系統(tǒng)的工程師不需犧牲特定系統(tǒng)性能,即可跨多重核心自動下載平衡任務(wù)。利用最新版本的LabVIEW,用戶可手動指派部份程序代碼至特定處理器核心,以微調(diào)實(shí)時系統(tǒng)或?qū)r間重要的程序代碼隔離到專用核心。為了滿足多核心開發(fā)時日漸增多的除錯與最優(yōu)化程序代碼的挑戰(zhàn),工程師與科學(xué)家現(xiàn)在可以使用新的 NI Real-Time Execution Trace工具組 2.0,以真實(shí)地顯示程序代碼區(qū)段之間的時序關(guān)系以及正在執(zhí)行程序代碼的個別線程與處理核心。

Portland Group PGI 7.0編譯器

意法半導(dǎo)體全資子公司Portland Group 3月份上市的針對多核64位處理器優(yōu)化的PGI 7.0編譯器。PGI編譯器和被廣泛用于高性能計算技術(shù)(HPC),即以復(fù)雜過程的建模和仿真為主的技術(shù)計算領(lǐng)域,如海洋建模、天氣預(yù)報、地震分析、生物信息分析技術(shù)等。把軟件程序轉(zhuǎn)換成計算機(jī)能夠理解的二進(jìn)制指令的PGI編譯器是高性能計算領(lǐng)域公認(rèn)的最好的軟件,在各種應(yīng)用領(lǐng)域和產(chǎn)品性能評測中表現(xiàn)出世界領(lǐng)先的性能,經(jīng)常被引用為工業(yè)的性能及可靠性標(biāo)準(zhǔn)。

帶有直接連通的AMD多核處理器架構(gòu)配合PGI的編譯器可以為許多廣泛使用64位的工程和科學(xué)應(yīng)用(如地理物理建模、機(jī)械工程、非線性動力學(xué)、計算化學(xué)和高能物理)帶來性能上的提升。

PGI新編譯器的評估版可以從Portland Group網(wǎng)站www.pgroup.com下載,用戶需要注冊。

The MathWorks MATLAB 7.5

The MathWorks不久前也宣布在MATLAB和分布式計算工具中推出四項(xiàng)增強(qiáng)功能,提供更高的性能和大型數(shù)據(jù)集處理能力。MATLAB現(xiàn)在包括了針對多核系統(tǒng)和64位Solaris平臺的多線程計算支持。

借助多線程功能,使用元素智能(element-wise)和線性代數(shù)函數(shù)的MATLAB應(yīng)用程序可通過同時運(yùn)行多線程來提升性能從而充分利用多核機(jī)器。最后,借助64位Solaris支持,使用MATLAB的工程師還可以利用64位計算的優(yōu)勢來開發(fā)涉及大型數(shù)據(jù)集和計算密集型任務(wù)的應(yīng)用程序。MATLAB 7.5適用于Microsoft Windows, Solaris, Linux, and Macintosh平臺。

Hi-Tech Software的OCG

澳大利亞Hi-Tech Software公司推出了一種新型編譯器技術(shù),該技術(shù)可能在今后會對多核設(shè)計有所幫助,但是目前,其主要瞄準(zhǔn)的還是單處理器,特別是MCU。這種名為Omniscient Code Generation(OCG)的新技術(shù),據(jù)稱可以同時針對所有程序模塊生成目標(biāo)代碼,從而提供真正的全局優(yōu)化。

在編譯時,用戶不需要逐一模塊或逐一功能地檢查程序,因?yàn)镺CG可以查找整個程序。對于擁有多個尋址空間的小型芯片來說,OCG可以幫助實(shí)現(xiàn)數(shù)據(jù)自動化分布;對擁有多個寄存器集的大型芯片來說,OCG可以執(zhí)行完整的程序分析,并對寄存器分配進(jìn)行優(yōu)化。

OCG可以檢查所有代碼模塊,收集寄存器、堆棧、指針、對象和變量聲明上的數(shù)據(jù),并利用這些信息來確保模塊間的一致變量和對象聲明、優(yōu)化堆棧和寄存器分配,以及刪除無用的變量和函數(shù)。

Stubbs表示,OCG技術(shù)所產(chǎn)生的代碼比Hi-Tech公司現(xiàn)有編譯器的代碼緊湊20%,比競爭對手的編譯器代碼緊湊50%。“編程器可以編寫看起來像標(biāo)準(zhǔn)ANSI C的代碼,而不需要任何特別的擴(kuò)展來處理內(nèi)在架構(gòu)。”他表示。

OCG適用于Microchip的PIC18 MCU系列以及Cypress的混合信號控制器。Hi-Tech公司還計劃增加對所有Microchip其它MCU和DSP的支持,以及對基于ARM7的MCU和8051 MCU的支持。

Virtutech Simics VMP

Virtutech是一家為軟件開發(fā)提供虛擬原型系統(tǒng)的公司,近日推出了新產(chǎn)品Simics VMP。Simics VMP是Simics開發(fā)套件中的一個模塊,它能夠借助英特爾和AMD處理器中的硬件虛擬化功能使代碼自行運(yùn)行。傳統(tǒng)上被用于同一服務(wù)器以運(yùn)行多個OS的片上虛擬化功能,被首次應(yīng)用到軟件開發(fā)中來。

Virtutech公司還將推出Simics 3.2,該版本增加了一些新功能,可以幫助用戶在現(xiàn)有流程中集成虛擬化軟件開發(fā)。新版本改進(jìn)了與第三方調(diào)試工具的集成,并增加了對符號表的支持。想在多核系統(tǒng)上簡單、低成本開發(fā)高質(zhì)量軟件,唯一的方法就是采用虛擬化軟件開發(fā)。

Telelogic AB公司Rhapsody 7.1

想要簡便地創(chuàng)建復(fù)雜軟件,方法之一就是利用統(tǒng)一建模語言(UML)或系統(tǒng)建模語言(SysML)進(jìn)行以模型為主導(dǎo)的開發(fā)。Telelogic AB公司展示了其Rhapsody系列的增強(qiáng)性能,而改進(jìn)的目的正是為了更好地為以模型為主導(dǎo)的開發(fā)服務(wù)。改進(jìn)后的Rhapsody 7.1更加緊密地符合SysML1.0的要求,能更好地支持靈活的開發(fā)流程。新的Rhapsody電信包(Telecom package)中囊括了最適合電信使用的工具集。Telelogic SDL Suite 6.0為基于規(guī)范與描述語言(SDL)的系統(tǒng)提供了改進(jìn)的內(nèi)核架構(gòu)。

Mentor Graphics公司

Mentor Graphics公司為Nucleus RTOS的Inflexion Platform UI提供了新型應(yīng)用編程接口(API),以簡化用戶接口的開發(fā)。該API能在無需修改嵌入式設(shè)備固件的情況下改變接口。

S2 Technologies

S2 Technologies則升級了自己的Stride工具集。該工具集主要用于在開發(fā)過程的早期階段進(jìn)行嵌入式軟件測試和驗(yàn)證。Stride 2.1增加了在目標(biāo)應(yīng)用上控制和自動運(yùn)行C/C++測試代碼的能力、增加了自動生成測試腳本的功能、并增強(qiáng)了用戶接口。

Aonix公司

Aonix公司采用Perc Ultra和Perc Pico工具集的全Java代碼解決。對于計算密集型算法來說,其速度比采用C代碼的同等Java程序要快得多。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉