<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 手機與無(wú)線(xiàn)通信 > 設計應用 > 多核的多重挑戰——新聯(lián)盟在編制多核通信API的規范

多核的多重挑戰——新聯(lián)盟在編制多核通信API的規范

——
作者:Markus Levy 時(shí)間:2006-12-10 來(lái)源:電子產(chǎn)品世界 收藏

摘要: 本文從定義、結構差異、以及嵌入式軟件的角度介紹了處理器技術(shù)。
關(guān)鍵詞: ;;非;

是對還是錯?目前所稱(chēng)的處理器僅是處理器廠(chǎng)家和IP供應商為多賣(mài)芯片和內核而制造的過(guò)渡性熱炒。將單核直接倍增用于臺式計算機及服務(wù)器的這種多核處理器芯片的所謂開(kāi)發(fā)技術(shù)也在直接推向嵌入式系統。如果相信會(huì )刊上的這類(lèi)關(guān)于多核處理器的言語(yǔ),那么等將來(lái)有一天知曉對多核處理器性能的真實(shí)要求時(shí),定會(huì )大為震驚。真實(shí)的多核處理器原本指的是一種關(guān)于未來(lái)微處理器的新技術(shù)。目前多核的欺騙確實(shí)能夠多賣(mài)芯片和內核,而且在性能和功耗方面也能夠表現出某些期望的實(shí)用效果。但不幸的是,多年來(lái)用于臺式機和服務(wù)器中使用上述直接的或稱(chēng)無(wú)痛倍增式的多核技術(shù)對于嵌入式的使用幫助有限。為深入研究新型多核結構的挑戰,最近一些公司成立了一個(gè)非營(yíng)利性的多核聯(lián)盟的組織,其宗旨在于協(xié)助嵌入式工業(yè)解決彈片式多核處理器的共性難題。該組織著(zhù)手解決的第一個(gè)挑戰是彈片多內核之間的通信難題?,F正在開(kāi)發(fā)核間通信用的API規范。因該聯(lián)盟尚未正式獲準注冊,所以其成員現在不便公布。然而,提出申請并已繳納首次會(huì )費的公司至少已有15個(gè)。

多核的多重含義

首先應該給多核下個(gè)定義。 多核存在多種定義,尤其不幸的是,多核已被市場(chǎng)頻頻濫用,乃至被責之為一種騙局。

多核聯(lián)盟認為單片的多核器件應當存在兩個(gè)及以上的自治處理單元。 自治或自主是處理單元的重要條件。按此定義,凡主機流程中有協(xié)處理器的系統便被排斥在多核處理器之外,而與主機連接著(zhù)執行自己指令流的DSP核的則是多核系統。這是定義中的簡(jiǎn)明部分。

若論及AMP(非處理)與SMP(對稱(chēng)處理), 同構與異構,存儲器共用與分布等結構形式,簡(jiǎn)明定義將被突破。

多核處理中的SMP是含有兩個(gè)及以上的場(chǎng)合,各有同樣芯片,同結構的核,運行同樣的軟件。SMP可共用內存及緩存粘接部分。SMP使用同構的核,盡管同構的內核再不必一定是SMP。 若內部是同構的核,但各核運行的不是相同的操作系統,那就變成多處理(AMP)。AMP系統也可以用異構的核和共用存儲接口或使用分布存儲器。有時(shí),AMP與NUMA(非均一存儲器結構)可以看作同義詞。任何情況下,同構或異構核都可構成多核處理器,多核處理器都可以按SMP(對稱(chēng))或AMP ()模式運行。

往后,弄清每個(gè)嵌入式多核處理器的構成十分重要,因不同要求有不同的構成。 Freescale 和Intel以高端的工業(yè)和通信應用為目的,選用同構雙核的嵌入式多核結構。Freescale 、ST和TI公司以各類(lèi)多媒體消費電子產(chǎn)品為目標,使用異構多核嵌入式芯片,如Freescale的i.MX 和 ST的 Nomadik。其他公司,如PicoChip Design 和Connex Technology公司構建的則是具有數十、數百乃至數千個(gè)核的同構或異構多核處理器。這些本質(zhì)上差異巨大的多核處理器,在軟件編程和硬件的高并行度方面都更加的專(zhuān)業(yè)化。

AMP 與 SMP 更多的差異

關(guān)于A(yíng)MP或SMP的優(yōu)缺點(diǎn)的爭論,從通用計算領(lǐng)域的多計算機與多處理器開(kāi)始,長(cháng)期以來(lái)一直在爭辯和磋商。雖然持續了數十年,依然沒(méi)見(jiàn)明確的贏(yíng)家浮出水面。兩種方案的上下高低說(shuō)不清道不明,最后由應用的需要為準各行其是?,F在,這場(chǎng)爭論又傳遞給了嵌入式。

使用SMP,從應用角度看,操作系統掩蓋了CPU結構的優(yōu)劣并提供一些附加的功能。能夠支持SMP的操作系統有許多,包括實(shí)時(shí)操作系統。其中既有商用的又有開(kāi)放源碼的。 SMP 的編程較 AMP 容易,盡管SMP的多線(xiàn)程編程也較難。已知軟件的價(jià)格在項目開(kāi)發(fā)中占有相當的數目。另外,SMP因硅粒面積較大、耗能和保持高速緩存的粘合復雜等問(wèn)題,素有高價(jià)方案之名。又有連接帶寬、同步、鎖定等因素加大內核的開(kāi)銷(xiāo), 使SMP的可伸縮性受到限制。再有,移動(dòng)式的SMP系統,因需高度使用片上的,多核的頻繁連接耗費更多寶貴的電力。高速緩存的粘合,引發(fā)SMP系統產(chǎn)生不可預期的存取延時(shí),使一些實(shí)時(shí)應用系統無(wú)法接受。SMP系統較長(cháng)的存取時(shí)間,即使可以采用硬件的多線(xiàn)程進(jìn)行彌補,依然會(huì )產(chǎn)生性能的下降。SMP系統的伸縮性的不良,當核的使用數量增加時(shí),會(huì )有更多的核由于等待線(xiàn)程資源而使性能下降。

AMP,在有硬件的支持條件下,功耗、硅粒面積等方面有所改善,效率比SMP高。按傳統的說(shuō)法,AMP的編程較難。一般來(lái)說(shuō),將應用程序分割成松耦合的程序段,再映射給分布的AMP硬件結構并非是一件輕松的事。一些倡導者曾爭辯說(shuō),應當給AMP創(chuàng )造能夠優(yōu)化程序分段的健康生態(tài)環(huán)境。然而想要將多個(gè)程序段匯集成具有競爭能力的整體,依然并非易事。但是,當片上的的多核數目增長(cháng)到一定程度時(shí),采用SMP和AMP混合方案似乎更為可行。

多種存儲器結構也是問(wèn)題

多核結構也可以按存儲器結構形式和通信采用的機制來(lái)討論。

對于共用存儲器結構多核系統,傳統上多采用SMP編程模式。每個(gè)核都可以訪(fǎng)問(wèn)到全局地址空間中的所有存儲器。訪(fǎng)問(wèn)共用存儲器的典型方法是通過(guò)總線(xiàn),使用查詢(xún)的控制機制,來(lái)避免多個(gè)核同時(shí)訪(fǎng)問(wèn)同一個(gè)存儲器。為使片上的每一個(gè)核都能夠訪(fǎng)問(wèn)到所有的存儲器,這是一種最直接明了的方法。另外,共用存儲結構可以使用引用方式傳遞數據,數據不必真實(shí)地移動(dòng)。當太多的核同時(shí)存取時(shí),共用存儲器會(huì )變成瓶頸。傳統的SMP編程模式,不太能夠適應多核系統處理器。因為SMP傳統編程模式假定,有均一的存取結構和緩存等機制。SMP的功耗不理想,在伸縮方面也達不到嵌入式多核系統期望的數十乃至數百個(gè)核的水平。SMP頻繁地同步對于多數嵌入式多核系統是過(guò)度的耗費。嵌入式多核系統需要適合流式的通信和編程,而SMP對于流模式卻笨拙不靈。

分布式結構包括從全球英特網(wǎng)、廣域網(wǎng)(WAN)到局域網(wǎng)(LAN),服務(wù)器、含有各種處理內核的單芯片器件。對于分布存儲的多核系統,各核都有自己的局部存儲器。盡管可能有全局存儲地址空間,但需要各種形式的信息傳輸和資源同步機制才能通信。具有自己局部存儲器的核不必與其它核分享存取以求效率與支持伸縮。當某個(gè)核要求從其它單個(gè)或多個(gè)核取得數據或命令時(shí),必須在它們之間進(jìn)行同步,而且數據必須物理地在處理器間移動(dòng)而取代引用。并行編程支持便攜形態(tài)的信息傳送。分布式的編程通常比多線(xiàn)程(但它在SMP系統中能工作的很好)編程容易。然而,信息傳輸所需代碼大于并行傳輸的共用代碼。信息傳輸方式最初就是為串行通信過(guò)程(CSP)而設計的。從串行通信的字眼上就可聯(lián)想到,它不會(huì )運行于現代要求緊湊代碼的科學(xué)應用上面,更不用說(shuō)用到嵌入式可伸縮的系統上了。

為了支持這些多種不同存儲和通信結構,多年來(lái)開(kāi)發(fā)了多種API標準。其中有稱(chēng)之為OpenMP(開(kāi)放多處理)和MPI(信息傳輸接口) 的兩個(gè)標準。

MPI是大范圍分布計算系統中廣為應用的信息傳輸API。它可用于多種分布的存儲結構,因而也適宜于移動(dòng)系統。每個(gè)運行的硬件都可自行優(yōu)化,因而它又是高速的。 MPI雖然功能強大,但是復雜。要是把各種功能都發(fā)揮出來(lái),單片多核上的內存遠遠不足,同時(shí)計算開(kāi)銷(xiāo)之大也使存儲系統時(shí)延過(guò)大。

開(kāi)發(fā)更快的通信API

處理器間的通信標準盡管很多,但是沒(méi)有一個(gè)是為近鄰分布(緊耦合)、存儲緊湊、性能約束苛刻的嵌入式多核的系統所設計的。在嵌入式世界里,多數的應用在性質(zhì)上是的。多核系統可以在同一個(gè)單芯片內使用異構的核,或是在同構核上運行不同的操作系統而成為非對稱(chēng)結構,或者在同一芯片上令二者共存。

為應對向多核系統的轉移,業(yè)界同意抽象化并發(fā)概念,令其通用、簡(jiǎn)單、有效,直觀(guān)地表達為一組編程用的API。這即是多核協(xié)會(huì )的宗旨。 編寫(xiě)嵌入式多核系統的規范時(shí),應對資源管理(核、存儲、連接、I/O),核間通信,和片內行為的同步等有所陳述。編寫(xiě)API不應只針對單一操作系統,或單一的SMP操作系統。當異構多核系統跨越多個(gè)核運行多個(gè)操作系統時(shí),需要考慮任一操作系統均不能操作的資源。硬件加速器不運行任何操作系統,僅依靠當時(shí)運行核的操作系統對它的交互作用來(lái)工作。硬件加速器更加重了這種系統的復雜性。

聯(lián)盟已經(jīng)著(zhù)手編制關(guān)于嵌入式分布基礎通信方面的信息傳輸和資源管理的API。內部稱(chēng)它為通信API(即)。CAPI的目標系統包括多維異構核,片上連接,存儲器,操作系統,軟件開(kāi)發(fā)工具,和編程語(yǔ)言。CAPI是關(guān)于A(yíng)PI的編寫(xiě)規范,而并非是其實(shí)現。聯(lián)盟的成員可以自由地參照它完成自己所需處理器結構和選用操作系統的CAPI實(shí)現。

盡管有了多處理器編程的MPI和OpenMP工業(yè)標準,但其初始目標尚只集中于大型SMP分布系統及個(gè)別特定的應用領(lǐng)域(如科學(xué)計算)。

關(guān)于伸縮性,其CAPI的限制比其他標準的目標更多一些。再有,對比于應用方面,其CAPI更為通用化一些。

如圖1所示,CAPI形成單獨的一層,其上可以是應用層或開(kāi)發(fā)者構建的抽象層。為性能最佳,將核間通信、同步和資源分配劃出,由應用層和CAPI層直接交互,跨過(guò)一系列耗時(shí)的操作系統的調用。 CAPI有一長(cháng)串要支持的獨特性能和函數。

圖1  CAPI形成單獨的一層,其上可以是應用層或開(kāi)發(fā)者構建的抽象層。為性能最佳,將核間通信、同步和資源分配劃出,由應用和CAPI直接交互,跨過(guò)一系列耗時(shí)的操作系統的調用。圖中給出的是兩個(gè)核的情況。

編寫(xiě)軟件想著(zhù)未來(lái)

許多支持 SMP 的 RTOS 透明地平衡多處理器間的工作負擔,免除了再寫(xiě)這部分軟件。聯(lián)盟希望把這種方便也引入 AMP 系統,盡管開(kāi)發(fā)這部分軟件并不輕松。開(kāi)發(fā)應用軟件的主要挑戰在于設計的重用和程序的快捷。 編程人員在編程時(shí)更多地致力于優(yōu)化、快速和重用,并不關(guān)心對不同硬件結構適應性、市場(chǎng)的需要和工業(yè)標準的要求等等。一個(gè)普通的硬件的改變可能牽聯(lián)到增加很多個(gè)核,甚至不同的處理器。相應地,還會(huì )涉及軟件的生命周期。開(kāi)發(fā)者需要維護巨大的代碼庫和曾經(jīng)延續過(guò)多少代的產(chǎn)品演化。對于主機的處理器,若使用的是相當穩定和標準化的操作系統,將有助于開(kāi)發(fā)可重用和可重復映射的軟件。 但是現在的焦點(diǎn)已轉移到居于操作系統之上的應用構架。多媒體的應用構架如OpenMax,GStreamer和 Direct Show對于編寫(xiě)軟件有非常大的幫助。 然而,多數嵌入式的軟件是為特殊功能而運行在專(zhuān)用的處理器上,通常并無(wú)符合標準的操作系統。在如此情況之下,映射和快速都變成十分艱難的問(wèn)題。今天,多數嵌入式應用都存在固有的并行性,等待著(zhù)程序員去開(kāi)發(fā)。它們向SMP 結構映射比較容易,而對 AMP 至今仍是挑戰。新浮出水面的進(jìn)程間通信 (IPC) 標準解決這類(lèi)問(wèn)題很有幫助,多核聯(lián)盟也正在開(kāi)發(fā)中。它可以編寫(xiě)出將來(lái)對現行結構上的舊軟件能夠予以修改的軟件,并且將其轉移到 AMP。 若使用CAPI則必須修改軟件,為使得移動(dòng)容易,可能還需重新構建成松度的耦合才行。CAPI還將提供源代碼的移植和重用,令結構獨立和伸縮。甚至還可以設想,用這些特點(diǎn)將CAPI變成一個(gè)構架,用于評價(jià)程序套件EEMBC之中。

更好的中間件即將面世

面向消息的中間件能增加應用的互操作性、移植性和靈活性。 它能夠將應用程序在多個(gè)異構處理器核之間進(jìn)行分布。 它能夠通過(guò)將每個(gè)操作系統的細節對多操作系統應用中的其他操作系統隔離開(kāi)來(lái),減少編程的復雜性。

實(shí)現消息傳送中間件的典型形式,是采用中間件的軟件堆棧。CAPI是使用消息傳送API中間件的一例子。盡管CAPI的重要性極其關(guān)鍵,但它處于中間件堆棧的底層,堆棧中的一切高層中間件都是以它為基礎演進(jìn)而來(lái)。PolyCore 軟件的 Poly-Messenger是消息傳送中間件的一個(gè)例子。等CAPI完成之后,期望為PolyCore能夠提供一套具備映射和配置能力的Poly-Messenger CAPI。它為多核系統提供的是一套統一的API。只要再將硬件各異和軟件各異的組件都抽象化之后,它將提供從雙核到數百個(gè)核的高效伸縮能力。

不同的嵌入式應用需要不同的并行結構。應用及SoC會(huì )越來(lái)越復雜,軟件也將發(fā)展成包含多種算法的并發(fā)運行及它們彼此間的協(xié)調。視頻解碼算法將要求有驅動(dòng)多核的能力。大量的應用將要求多核的處理器。其中許多應用使用多核的SoC是唯一的選擇。

多核聯(lián)盟已不可避免地被卷入多核調試領(lǐng)域。 有許多廠(chǎng)家宣稱(chēng)他們的開(kāi)發(fā)工具內部支持任何嵌入式處理器組合的多核和多處理器系統。 如現存的方案中包括有 JTAG 探頭及另一端的服務(wù)端子,再備有多個(gè)因處理器而異的開(kāi)發(fā)調試專(zhuān)用的適配器。它們雖可勉強調試多核系統,但是并不全面,系統多于雙核就不行了。如對于一個(gè)16核的系統想象中就將用16個(gè)調試器。多核聯(lián)盟的計劃中,準備開(kāi)發(fā)一個(gè)標準的調試樣機及相應的API,希望廠(chǎng)家能夠參照研制出統一的多核系統調試器。

為了迎接即將到來(lái)的巨型多核革命,業(yè)界必須攜起手來(lái)推進(jìn)多核的生態(tài)環(huán)境。多核聯(lián)盟欲將操作系統的廠(chǎng)商、中間件提供商、處理器廠(chǎng)商、EDA廠(chǎng)商、應用開(kāi)發(fā)者、OEM廠(chǎng)商及其他集聚一堂,鼓舞信心,堅定信念,齊心協(xié)力,擬定一個(gè)符合共同需要的規劃藍圖,保證其實(shí)施。新事物的誕生,初始雖慢,繼之加速。多核聯(lián)盟已經(jīng)有了初始者們奠定的堅固基石,已經(jīng)著(zhù)手處理關(guān)鍵的挑戰,隨著(zhù)事業(yè)的發(fā)展,后繼者的涌現,任重道遠,前途光明!(梁合慶譯自《Microprocessor Report》)



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>