Patrick Madden在“多核處理器前途未卜(Multi-core processors face uncertain future)”一文中關(guān)于多核芯片的討論焦點(diǎn)集中于單個(gè)的通用處理器架構(gòu)上,實(shí)際上這種觀點(diǎn)對(duì)使用多處理器來(lái)解決系統(tǒng)架構(gòu)問(wèn)題作出了不必要的限制。正如Madden所言,大型半導(dǎo)體和服務(wù)器處理器供應(yīng)商可以提供多核的對(duì)稱(chēng)多處理器,每個(gè)對(duì)稱(chēng)多處理器都可以運(yùn)行并行的多線程軟件程序。這些多核處理器常在運(yùn)行基于SAMD(single application multiple data)模型應(yīng)用的大型服務(wù)器和筆記本電腦中。SAMD應(yīng)用可回溯至早期的大型機(jī)時(shí)代,當(dāng)時(shí)計(jì)算機(jī)專(zhuān)注于航班預(yù)定系統(tǒng)和實(shí)時(shí)銀行系統(tǒng)等實(shí)時(shí)應(yīng)用。
當(dāng)前,嵌入式設(shè)計(jì)中對(duì)稱(chēng)多處理器(SMP)架構(gòu)的應(yīng)用引起了業(yè)界極大的關(guān)注。實(shí)際上,很少應(yīng)用是同時(shí)并行(embarrassingly parallel)的。就像Madden提及,圖像和多媒體處理是同時(shí)并行的,但是這些應(yīng)用已經(jīng)有專(zhuān)用的多媒體芯片處理了,例如IBM的Cell處理器和ATI/Nvidia的圖形處理器。因此,包括Madden在內(nèi)的很多專(zhuān)家都認(rèn)為,對(duì)稱(chēng)多處理器上的并行應(yīng)用已經(jīng)被局限在一個(gè)很小的范圍之內(nèi)。
軟件工程師不習(xí)慣并行地考慮問(wèn)題
在Madden的文章中,大多關(guān)于對(duì)稱(chēng)多處理器的討論都會(huì)談到開(kāi)發(fā)工具的問(wèn)題。實(shí)際應(yīng)用中,依靠軟件工具把一個(gè)巨大的單線程應(yīng)用程序自動(dòng)分配給多個(gè)處理器運(yùn)行是不大可能的。類(lèi)似于Verilog這樣的硬件描述語(yǔ)言可以很容易地表達(dá)并行操作,而像C這樣的軟件語(yǔ)言更適用于單線程算法的實(shí)現(xiàn)。為了讓C語(yǔ)言更適用于并行編程,人們做了很多改進(jìn)嘗試,比如Concurrent C、UPC、mpC、pC等。它們有些通過(guò)特殊的庫(kù),有些通過(guò)并行的API來(lái)實(shí)現(xiàn)并行進(jìn)程的顯式標(biāo)識(shí)和進(jìn)程間的通信,例如Madden的文章中提到的MPI和OpenMP技術(shù)。
還有些研究人員試圖用全新的整合了并行編程結(jié)構(gòu)的軟件開(kāi)發(fā)語(yǔ)言來(lái)替代C語(yǔ)言。但是業(yè)界對(duì)這些新的編程語(yǔ)言并不認(rèn)可(例如,Ada語(yǔ)言和Inmos公司的Occam語(yǔ)言均以失敗告終)。我們已經(jīng)習(xí)慣于單任務(wù)的算法描述,對(duì)大多數(shù)程序員來(lái)說(shuō),思考并行程序或多線程操作都相當(dāng)困難。然而,跳出SMP的限制來(lái)擴(kuò)展處理器架構(gòu),我們發(fā)現(xiàn)至少有兩種利用異構(gòu)而非同構(gòu)的并行方式。使用該兩種便捷并行(convenient concurrency)方式能充分地將軟件開(kāi)發(fā)人員從并行工作的思考中釋放出來(lái),因?yàn)椴煌牟⑿腥蝿?wù)間的聯(lián)系并非十分緊密。
圖1:超級(jí)3G移動(dòng)電話(huà)原理圖
第一種方式
你可以稱(chēng)這種并行為“組合并行”,因?yàn)檫@種并行操作將不同的子系統(tǒng)組合在一起,而每個(gè)子系統(tǒng)中都包含一個(gè)或多個(gè)針對(duì)特定任務(wù)優(yōu)化過(guò)的處理器。在這種架構(gòu)設(shè)計(jì)中,結(jié)構(gòu)化的子系統(tǒng)間的通信只在需要時(shí)才相互影響。圖1所示的超級(jí)3G移動(dòng)電話(huà)系統(tǒng)體現(xiàn)了該思想。圖中共有18個(gè)獨(dú)立的處理模塊(灰色表示部分),每個(gè)模塊都有清晰的功能定義,因此很容易將整個(gè)系統(tǒng)功能劃分開(kāi)來(lái)用18個(gè)處理器完成設(shè)計(jì)(考慮到子任務(wù)處理的話(huà),可能需要更多處理器)。
一些人對(duì)這種架構(gòu)設(shè)計(jì)提出批評(píng),因?yàn)樘幚砥骱烷T(mén)電路的效率看上去并不是很高,至少在理論上只需用幾個(gè)高時(shí)鐘頻率的通用處理器(或者是SMP多核處理器)就可以替代10個(gè)、20個(gè)或更多的處理器核。實(shí)際上這些批評(píng)并不恰當(dāng),摩爾定律繼續(xù)促使在一片芯片上可以集成更多的晶體管,而Denard經(jīng)典尺度則提供速度更快、功耗更低的晶體管,但是從90nm開(kāi)始,Denard理論無(wú)法繼續(xù)提供更快的速度和更低的功耗了。在90nm節(jié)點(diǎn)上,功耗和能耗變得很難控制,而且隨著工藝的提高問(wèn)題將更嚴(yán)重。所以嵌入式系統(tǒng)的設(shè)計(jì)人員從現(xiàn)在開(kāi)始就必須接受降低系統(tǒng)時(shí)鐘頻率以滿(mǎn)足預(yù)期功耗和能耗指標(biāo)的設(shè)計(jì)風(fēng)格。
組合并行設(shè)計(jì)具有很多優(yōu)點(diǎn)
* 將運(yùn)算任務(wù)分配給幾個(gè)片上處理器來(lái)運(yùn)行是典型的增加晶體管數(shù)量換取低主頻以降低功耗和能耗的方法。這是一種很好的工程折衷,由于時(shí)鐘速度和內(nèi)核工作電壓之間的緊密關(guān)系,時(shí)鐘頻率的提高將使功耗呈超線性增長(zhǎng)。此外,較低時(shí)鐘速度的處理器不必采用最新的制程工藝。相同光刻節(jié)點(diǎn)情況下,采用速度較慢的低功耗制程的靜態(tài)漏電流水平比采用高性能制程的漏電流水平小三個(gè)數(shù)量級(jí)。
* 當(dāng)不需用到某個(gè)專(zhuān)用子系統(tǒng)時(shí),可以切斷其電源供應(yīng)。因此,設(shè)計(jì)人員可以很容易地確定何時(shí)使用或不使用這些專(zhuān)用子系統(tǒng)。
* ASIP可以比通用處理器具備更高效的利用面積和功耗,而用作組合并行系統(tǒng)中的任務(wù)處理器。由于所使用的通用處理器核很少,也相應(yīng)地減少了晶體管的數(shù)量。組合并行的設(shè)計(jì)避免了與SMP硬件設(shè)計(jì)和多線程代碼相關(guān)聯(lián)的子系統(tǒng)所需的復(fù)雜交互與同步。一個(gè)四內(nèi)核的SMP系統(tǒng)帶有音頻、視頻和照相功能,在運(yùn)行其他任務(wù)時(shí)仍不會(huì)撤消911緊急電話(huà),因此通常需要進(jìn)行大量的仿真與分析。而高層實(shí)現(xiàn)交互的獨(dú)立子系統(tǒng)能很容易地進(jìn)行單獨(dú)和組合的驗(yàn)證操作?;赟ystemC的系統(tǒng)仿真工具已經(jīng)可以方便地對(duì)組合并行的系統(tǒng)設(shè)計(jì)進(jìn)行仿真。不同的子系統(tǒng)可以用C語(yǔ)言來(lái)描述,并分別進(jìn)行驗(yàn)證,然后利用指令集仿真器對(duì)整個(gè)系統(tǒng)進(jìn)行仿真,這比進(jìn)行RTL仿真快幾百甚至上千倍。值得注意的是,C語(yǔ)言已經(jīng)為嵌入式程序員廣泛接受并采用,因此軟件工程師無(wú)需學(xué)習(xí)新的語(yǔ)言。
第二種方式
計(jì)算通??梢詣澐譃橛瑟?dú)立任務(wù)引擎構(gòu)成的流水線,因此便捷并行的第二種方式就是流水式數(shù)據(jù)流。各個(gè)流水式任務(wù)引擎都接收、處理并輸出數(shù)據(jù)塊,一旦處理任務(wù)完成后,數(shù)據(jù)塊就被送到下一級(jí)引擎。非對(duì)稱(chēng)多處理算法常常出現(xiàn)在信號(hào)處理和圖像處理應(yīng)用上,諸如移動(dòng)電話(huà)的基帶處理、視頻處理和靜態(tài)圖像處理等。流水線不但允許并行處理,而且還允許執(zhí)行基于ASIP的應(yīng)用,因?yàn)榱魉€中的每一個(gè)處理器都能高度集中于執(zhí)行某一部分的任務(wù)。
上述兩種便捷并行是互補(bǔ)的。因此,各個(gè)子系統(tǒng)的非對(duì)稱(chēng)多處理能和流水式設(shè)計(jì)的組合子系統(tǒng)進(jìn)行融合。消費(fèi)類(lèi)、便攜式和多媒體應(yīng)用產(chǎn)品可能需要10到100個(gè)處理器,而這些處理器都將針對(duì)產(chǎn)品功能的特定任務(wù)進(jìn)行優(yōu)化。對(duì)基于非對(duì)稱(chēng)多處理器的應(yīng)用進(jìn)行編程要比基于對(duì)稱(chēng)多處理器的容易得多,因?yàn)椴槐乜紤]太多的交互任務(wù)依賴(lài)關(guān)系。經(jīng)驗(yàn)表明通過(guò)這種方式能更清晰地編寫(xiě)軟件,而且可以避免在同構(gòu)多處理器上運(yùn)行多線程應(yīng)用所帶來(lái)的大量?jī)?yōu)化問(wèn)題。
采用這兩種便捷并行方式可以巧妙地避開(kāi)阿姆達(dá)爾定律。因?yàn)樵S多并行算法可分別地使用組合并行設(shè)計(jì)來(lái)加速,而單一算法的諸多部分(例如視頻編解碼)可以使用流水式設(shè)計(jì)進(jìn)行加速,所以整個(gè)系統(tǒng)的代碼將被分解為眾多小塊以分別進(jìn)行優(yōu)化加速??梢钥闯觯捎诓o(wú)增加軟件開(kāi)發(fā)的需求,所以采用多核設(shè)計(jì)得到的益處要比阿姆達(dá)爾定律預(yù)測(cè)的大得多。
當(dāng)然,獲得這些益處的同時(shí)是要付出一定代價(jià)的。在多顆處理器之間進(jìn)行任務(wù)劃分和算法加速會(huì)導(dǎo)致設(shè)計(jì)需要使用更多的晶體管,這通常是采用分治的設(shè)計(jì)方法所必需的。然而,摩爾定律此時(shí)勝過(guò)了阿姆達(dá)爾定律,它使得增加的晶體管的成本非常低。相比之下,由高主頻和高性能處理技術(shù)造成的高能耗以及多線程軟件的開(kāi)發(fā)復(fù)雜度所引發(fā)的成本問(wèn)題則更為嚴(yán)重。
上一篇:掌握關(guān)鍵技術(shù),令多核設(shè)計(jì)事半功倍
下一篇:多核網(wǎng)絡(luò)處理器及其開(kāi)發(fā)考慮成為關(guān)注焦點(diǎn)
- 熱門(mén)資源推薦
- 熱門(mén)放大器推薦
- 潤(rùn)石科技推出RS3215-Q1系列低壓差線性穩(wěn)壓器
- CANape 23開(kāi)啟智能測(cè)試新時(shí)代(下)
- 軟件定義汽車(chē)電源管理設(shè)計(jì):NXP的PMIC選型攻略解析
- 深度測(cè)評(píng)時(shí)空壺X1同聲傳譯器:全球最先進(jìn)AI同傳設(shè)備的非凡實(shí)力
- 鐵威馬F6-424 Max:六盤(pán)位擴(kuò)容+國(guó)產(chǎn)系統(tǒng)兼容,小白也能玩轉(zhuǎn)NAS
- 開(kāi)關(guān)電源給鉛酸電池恒流恒壓充電的電流跳動(dòng)問(wèn)題解析
- 自動(dòng)駕駛中的激光雷達(dá)是否會(huì)傷害攝像頭?
- AI/ML賦能的玻璃破碎傳感器:智能家居安防的新突破
- 觸覺(jué)技術(shù)助力企業(yè)在激烈的市場(chǎng)競(jìng)爭(zhēng)中脫穎而出
- DSO138mini示波器電源模塊
- 基于雙路比較器的 4.5ns 晶體振蕩器具有 50% 的占空比和互補(bǔ)輸出
- 電源類(lèi)型-全橋整流
- LT8410-1 高壓電源典型應(yīng)用電路無(wú)需變壓器
- AM1/4S-0503SH30Z 3.3V 0.25 瓦 DC-DC 轉(zhuǎn)換器的典型應(yīng)用
- L7809C負(fù)輸出電壓電路的典型應(yīng)用
- L7809C 穩(wěn)壓器的典型應(yīng)用@ (Vo(min) = Vxx + VBE)
- LTM8042EV 100mA 升壓操作的典型應(yīng)用電路
- 使用 ROHM Semiconductor 的 BD45421 的參考設(shè)計(jì)
- LED路燈燈鎮(zhèn)流器
- BOE(京東方)聯(lián)合榮耀打造榮耀Magic V5 以領(lǐng)先LTPO技術(shù)打造行業(yè)新標(biāo)桿
- 華為ADS 4發(fā)布:多傳感器融合,提升自動(dòng)駕駛安全性
- 曉鶯說(shuō):線控制動(dòng)變革風(fēng)云
- 大眾商用車(chē)推出AirConsole 將其信息娛樂(lè)系統(tǒng)擴(kuò)展為游戲機(jī)
- 福州大學(xué)發(fā)明新機(jī)器視覺(jué)傳感器 可使機(jī)器人對(duì)極端光照做出超快反應(yīng)
- 蘋(píng)果獲沉浸式虛擬顯示器相關(guān)的專(zhuān)利
- 英特爾汽車(chē)“折戟”,十年布局一夜歸零
- 寶馬自動(dòng)充電機(jī)器人概念驗(yàn)證成功,引領(lǐng)無(wú)人充電新時(shí)代
- 智駕模式下LQR最優(yōu)算法在EPS中的應(yīng)用研究
- 6月超17款人形機(jī)器人新品推出
- RS-485保護(hù)電路結(jié)電容對(duì)信號(hào)質(zhì)量的影響
- 明年起NSA手機(jī)不可入網(wǎng)?
- MOZI教育智能機(jī)器人,強(qiáng)大不止于此!
- 技術(shù)文章—LoRa火災(zāi)自動(dòng)報(bào)警系統(tǒng)
- 芯片累積出貨50億顆!這家國(guó)產(chǎn)混合信號(hào)SOC商宣布走向2.0模式
- 臺(tái)積電成為中國(guó)芯崛起的最大受益者
- 英特爾正在編織5G生態(tài)網(wǎng),助力重回巔峰
- 厲害!這臺(tái)機(jī)器人消毒比人工快十倍
- 5G商用日期臨近,國(guó)產(chǎn)機(jī)芯片廠商將加快步伐
- 英特爾處理器產(chǎn)品嚴(yán)重缺貨現(xiàn)象明年下半年才會(huì)緩解
- 如何使用Type C進(jìn)行電力共享?給你三種方法
- 初學(xué)FPGA (4)不完整條件語(yǔ)句與時(shí)序電路(EEFPGA學(xué)習(xí)計(jì)劃)
- 歡迎fengzhang2002、ddllxxrr成為“電子購(gòu)物體驗(yàn)”專(zhuān)區(qū)斑竹
- 嵌入式GSM短信息接口的軟硬件設(shè)計(jì)
- 曬曬今天收到的STM32F429板子
- C6416的TCP核的使用問(wèn)題,求大神幫忙解答
- expression must have pointer type
- 為什么不能單步執(zhí)行左移右移的操作
- 稅控行業(yè)獲生產(chǎn)資質(zhì)名單
- DM9000的ip可以任意設(shè)置么?