多媒體應(yīng)用需要多處理器SoC的設(shè)計(jì)
——
多媒體應(yīng)用需要多處理器SoC的設(shè)計(jì)
移動(dòng)電話正成為手持終端娛樂的中心,其同時(shí)也可作為復(fù)雜的寬帶無(wú)線電話發(fā)揮作用。用戶因?yàn)槠涞臒o(wú)線功能而選用移動(dòng)電話,但一旦隨身攜帶,用戶則進(jìn)一步希望其還能作為PDA、MP3播放器、數(shù)碼相機(jī)、攝像機(jī)、視頻播放機(jī)以及游戲機(jī)等。
開發(fā)這樣的多媒體設(shè)備面臨著巨大的技術(shù)挑戰(zhàn),特別是在服務(wù)質(zhì)量、響應(yīng)性以及電池壽命方面尤為如此。最終的解決方案在于依靠被高度集成到片上系統(tǒng)技術(shù)中的多個(gè)處理引擎。
請(qǐng)考慮用戶面臨的以下情境:
--消費(fèi)者使用無(wú)線電話作為帶耳機(jī)的MP3播放器,她同時(shí)還可以玩視頻游戲。音樂和游戲聲音必須混合在一起,這樣二者能夠同時(shí)出現(xiàn),不會(huì)出現(xiàn)爆音或靜止。
--另一位消費(fèi)者正在觀看存儲(chǔ)在插入電話中閃存卡上的電影,這時(shí)他的母親來電話了。當(dāng)然他希望無(wú)線電話能夠告知他有人來電話,并顯示來電者身份。
--還有一位用戶正在參加視頻會(huì)議,但他還必須關(guān)注因特網(wǎng)上發(fā)布的臺(tái)風(fēng)警告。屏幕上的文本信息會(huì)為他提供新聞動(dòng)態(tài),不會(huì)造成視頻或音頻的中斷。
為了按照上述消費(fèi)者的期望提供必要的服務(wù)質(zhì)量,我們要求多個(gè)處理引擎同時(shí)工作
開發(fā)這樣的多媒體設(shè)備面臨著巨大的技術(shù)挑戰(zhàn),特別是在服務(wù)質(zhì)量、響應(yīng)性以及電池壽命方面尤為如此。最終的解決方案在于依靠被高度集成到片上系統(tǒng)技術(shù)中的多個(gè)處理引擎。
請(qǐng)考慮用戶面臨的以下情境:
--消費(fèi)者使用無(wú)線電話作為帶耳機(jī)的MP3播放器,她同時(shí)還可以玩視頻游戲。音樂和游戲聲音必須混合在一起,這樣二者能夠同時(shí)出現(xiàn),不會(huì)出現(xiàn)爆音或靜止。
--另一位消費(fèi)者正在觀看存儲(chǔ)在插入電話中閃存卡上的電影,這時(shí)他的母親來電話了。當(dāng)然他希望無(wú)線電話能夠告知他有人來電話,并顯示來電者身份。
--還有一位用戶正在參加視頻會(huì)議,但他還必須關(guān)注因特網(wǎng)上發(fā)布的臺(tái)風(fēng)警告。屏幕上的文本信息會(huì)為他提供新聞動(dòng)態(tài),不會(huì)造成視頻或音頻的中斷。
為了按照上述消費(fèi)者的期望提供必要的服務(wù)質(zhì)量,我們要求多個(gè)處理引擎同時(shí)工作
。單個(gè)處理器配置即便具備多媒體擴(kuò)展,可能也難以實(shí)時(shí)、同時(shí)應(yīng)對(duì)上述各種動(dòng)態(tài)工作負(fù)載,因?yàn)樗捎玫氖琼樞蚨皇遣⑿械亩嗳蝿?wù)處理方法。
為了能夠滿足同時(shí)出現(xiàn)的多媒體任務(wù)和用戶界面事件的要求,單個(gè)處理器必須始終在任務(wù)間進(jìn)行交換,這會(huì)導(dǎo)致很高的系統(tǒng)開銷。最終,任務(wù)交換會(huì)造成幀丟失、音頻爆音、視頻閃爍或斑紋。
工作負(fù)載情境
我們不妨舉一個(gè)例子,考慮兩個(gè)處理器運(yùn)行工作負(fù)載的情況,其中包括控制任務(wù)、用戶界面任務(wù)以及多媒體任務(wù)。處理器A使用單個(gè)處理引擎,在所有三個(gè)任務(wù)之間進(jìn)行上下文交換(Context Switching),這就造成開銷。處理器B使用兩個(gè)處理引擎(一個(gè)ARM和一個(gè)DSP),將處理多媒體的任務(wù)交由DSP完成。由于ARM處理器只需完成控制和用戶界面任務(wù),這就大大降低了上下文交換開銷。即便處理器A運(yùn)行于快得多的時(shí)鐘速度上,從最終用戶角度來看,其結(jié)果也會(huì)遜于處理器B。
德州儀器公司 (TI) 的Omap 1611進(jìn)一步推出了多處理技術(shù),其集成了ARM926、TI 55x DSP以及一系列針對(duì)視頻、Java及安全性的專用硬件加速器。為了實(shí)現(xiàn)最佳成本組合,ARM內(nèi)核與DSP內(nèi)核通過流量控制器可共享外部存儲(chǔ)器。
當(dāng)然,軟件的高度集成對(duì)兩個(gè)以上處理引擎并行工作以實(shí)現(xiàn)無(wú)縫性能是至關(guān)重要的。軟件的橋接功能可識(shí)別所要求的任務(wù),并將其分配給最合適的處理器,在某些情況下,還會(huì)分配給尚未運(yùn)行的處理器。其也可以關(guān)閉不使用的處理引擎,并在需要時(shí)再將其打開。
這種多處理功能也有助于實(shí)現(xiàn)用戶期望的響應(yīng)性。用戶已習(xí)慣于等待 MP3 音樂從因特網(wǎng)上下載,他們想聽下載文件時(shí),希望能夠?qū)x擇歌曲、控制音量和暫停等進(jìn)行操作,或?qū)崟r(shí)切換至另一應(yīng)用。用戶希望按鍵之后立即得到響應(yīng)。
在無(wú)線多媒體設(shè)備中,實(shí)現(xiàn)這樣的響應(yīng)性并不像想像的那么簡(jiǎn)單。原因在于,命令與控制功能、用戶界面和信號(hào)處理等在播放MP3歌曲時(shí)都是處于工作狀態(tài)的,從本質(zhì)上講,這要求不同類型的數(shù)據(jù)處理。用戶接口是一種高中斷活動(dòng),而信號(hào)處理則要求持續(xù)與高度重復(fù)地執(zhí)行復(fù)雜的數(shù)學(xué)運(yùn)算。
近期的經(jīng)驗(yàn)顯示,不管性能集多豐富,客戶都不會(huì)選擇通話時(shí)間或待機(jī)時(shí)間大大低于他們已習(xí)慣的、目前第二代電話的無(wú)線多媒體設(shè)備。日本電信運(yùn)營(yíng)商Docomo在推出其第三代電話時(shí)就此方面獲得了第一手經(jīng)驗(yàn)。Docomo的第一批3G電話獲得的市場(chǎng)份額大大低于預(yù)期目標(biāo)。目前,該公司正在提供經(jīng)過重新設(shè)計(jì)的電話,待機(jī)電池使用時(shí)間超過200小時(shí),并且工業(yè)設(shè)計(jì)與日本現(xiàn)有的2G電話更為接近,這樣,市場(chǎng)才開始接受3G機(jī)型。
盡管聽起來似乎與想當(dāng)然的看法相左,但一般說來多處理引擎的功耗確實(shí)低于單個(gè)處理核心設(shè)計(jì),其電池壽命也更長(zhǎng)。利用不同類型處理核心(RISC、DSP和硬件加速器)的各種功能,我們可以從性能和功耗角度就優(yōu)化的引擎給出合適的算法,而且可以根據(jù)需要啟用或關(guān)閉有關(guān)單元,從而進(jìn)一步延長(zhǎng)電池使用時(shí)間。
DSP使用復(fù)雜的指令,使其可在單個(gè)時(shí)鐘周期內(nèi)進(jìn)行若干數(shù)學(xué)運(yùn)算。RISC架構(gòu)與指令集一般僅允許在一個(gè)周期內(nèi)僅執(zhí)行一次運(yùn)算。因此,DSP處理MP3音樂或視頻流所需的周期遠(yuǎn)低于RISC芯片。此外,DSP內(nèi)核由內(nèi)部存儲(chǔ)器支持,而非由高速緩存支持。就緊湊的DSP循環(huán)而言,內(nèi)部SRAM可提供兩大優(yōu)勢(shì):確定性執(zhí)行和功耗節(jié)省。
RISC核心可執(zhí)行諸如用戶接口及視頻顯示管理等高中斷命令與控制功能,這比DSP的效率高得多,且其執(zhí)行這些操作的功耗也比DSP低,特別是當(dāng)其不需要實(shí)時(shí)發(fā)生時(shí)更為如此。
硬件加速器既可增強(qiáng)性能,又能提高電源效率,但會(huì)降低靈活性和可升級(jí)性。TI為其Omap器件添加了上述加速器,以解決特定的專用加速任務(wù),諸如Java、安全性和視頻、離散余弦轉(zhuǎn)換、反DCT、運(yùn)動(dòng)估計(jì)以及像素插值等。
設(shè)計(jì)人員將多處理引擎運(yùn)用到其系統(tǒng)的核心,既可以滿足消費(fèi)者的當(dāng)前需求,又可以為將來的無(wú)線多媒體設(shè)備制定發(fā)展策略。
Avner Goren (avner@ti.com)現(xiàn)就任于 TI(位于達(dá)拉斯)的全球無(wú)線終端業(yè)務(wù)部。
為了能夠滿足同時(shí)出現(xiàn)的多媒體任務(wù)和用戶界面事件的要求,單個(gè)處理器必須始終在任務(wù)間進(jìn)行交換,這會(huì)導(dǎo)致很高的系統(tǒng)開銷。最終,任務(wù)交換會(huì)造成幀丟失、音頻爆音、視頻閃爍或斑紋。
工作負(fù)載情境
我們不妨舉一個(gè)例子,考慮兩個(gè)處理器運(yùn)行工作負(fù)載的情況,其中包括控制任務(wù)、用戶界面任務(wù)以及多媒體任務(wù)。處理器A使用單個(gè)處理引擎,在所有三個(gè)任務(wù)之間進(jìn)行上下文交換(Context Switching),這就造成開銷。處理器B使用兩個(gè)處理引擎(一個(gè)ARM和一個(gè)DSP),將處理多媒體的任務(wù)交由DSP完成。由于ARM處理器只需完成控制和用戶界面任務(wù),這就大大降低了上下文交換開銷。即便處理器A運(yùn)行于快得多的時(shí)鐘速度上,從最終用戶角度來看,其結(jié)果也會(huì)遜于處理器B。
德州儀器公司 (TI) 的Omap 1611進(jìn)一步推出了多處理技術(shù),其集成了ARM926、TI 55x DSP以及一系列針對(duì)視頻、Java及安全性的專用硬件加速器。為了實(shí)現(xiàn)最佳成本組合,ARM內(nèi)核與DSP內(nèi)核通過流量控制器可共享外部存儲(chǔ)器。
當(dāng)然,軟件的高度集成對(duì)兩個(gè)以上處理引擎并行工作以實(shí)現(xiàn)無(wú)縫性能是至關(guān)重要的。軟件的橋接功能可識(shí)別所要求的任務(wù),并將其分配給最合適的處理器,在某些情況下,還會(huì)分配給尚未運(yùn)行的處理器。其也可以關(guān)閉不使用的處理引擎,并在需要時(shí)再將其打開。
這種多處理功能也有助于實(shí)現(xiàn)用戶期望的響應(yīng)性。用戶已習(xí)慣于等待 MP3 音樂從因特網(wǎng)上下載,他們想聽下載文件時(shí),希望能夠?qū)x擇歌曲、控制音量和暫停等進(jìn)行操作,或?qū)崟r(shí)切換至另一應(yīng)用。用戶希望按鍵之后立即得到響應(yīng)。
在無(wú)線多媒體設(shè)備中,實(shí)現(xiàn)這樣的響應(yīng)性并不像想像的那么簡(jiǎn)單。原因在于,命令與控制功能、用戶界面和信號(hào)處理等在播放MP3歌曲時(shí)都是處于工作狀態(tài)的,從本質(zhì)上講,這要求不同類型的數(shù)據(jù)處理。用戶接口是一種高中斷活動(dòng),而信號(hào)處理則要求持續(xù)與高度重復(fù)地執(zhí)行復(fù)雜的數(shù)學(xué)運(yùn)算。
近期的經(jīng)驗(yàn)顯示,不管性能集多豐富,客戶都不會(huì)選擇通話時(shí)間或待機(jī)時(shí)間大大低于他們已習(xí)慣的、目前第二代電話的無(wú)線多媒體設(shè)備。日本電信運(yùn)營(yíng)商Docomo在推出其第三代電話時(shí)就此方面獲得了第一手經(jīng)驗(yàn)。Docomo的第一批3G電話獲得的市場(chǎng)份額大大低于預(yù)期目標(biāo)。目前,該公司正在提供經(jīng)過重新設(shè)計(jì)的電話,待機(jī)電池使用時(shí)間超過200小時(shí),并且工業(yè)設(shè)計(jì)與日本現(xiàn)有的2G電話更為接近,這樣,市場(chǎng)才開始接受3G機(jī)型。
盡管聽起來似乎與想當(dāng)然的看法相左,但一般說來多處理引擎的功耗確實(shí)低于單個(gè)處理核心設(shè)計(jì),其電池壽命也更長(zhǎng)。利用不同類型處理核心(RISC、DSP和硬件加速器)的各種功能,我們可以從性能和功耗角度就優(yōu)化的引擎給出合適的算法,而且可以根據(jù)需要啟用或關(guān)閉有關(guān)單元,從而進(jìn)一步延長(zhǎng)電池使用時(shí)間。
DSP使用復(fù)雜的指令,使其可在單個(gè)時(shí)鐘周期內(nèi)進(jìn)行若干數(shù)學(xué)運(yùn)算。RISC架構(gòu)與指令集一般僅允許在一個(gè)周期內(nèi)僅執(zhí)行一次運(yùn)算。因此,DSP處理MP3音樂或視頻流所需的周期遠(yuǎn)低于RISC芯片。此外,DSP內(nèi)核由內(nèi)部存儲(chǔ)器支持,而非由高速緩存支持。就緊湊的DSP循環(huán)而言,內(nèi)部SRAM可提供兩大優(yōu)勢(shì):確定性執(zhí)行和功耗節(jié)省。
RISC核心可執(zhí)行諸如用戶接口及視頻顯示管理等高中斷命令與控制功能,這比DSP的效率高得多,且其執(zhí)行這些操作的功耗也比DSP低,特別是當(dāng)其不需要實(shí)時(shí)發(fā)生時(shí)更為如此。
硬件加速器既可增強(qiáng)性能,又能提高電源效率,但會(huì)降低靈活性和可升級(jí)性。TI為其Omap器件添加了上述加速器,以解決特定的專用加速任務(wù),諸如Java、安全性和視頻、離散余弦轉(zhuǎn)換、反DCT、運(yùn)動(dòng)估計(jì)以及像素插值等。
設(shè)計(jì)人員將多處理引擎運(yùn)用到其系統(tǒng)的核心,既可以滿足消費(fèi)者的當(dāng)前需求,又可以為將來的無(wú)線多媒體設(shè)備制定發(fā)展策略。
Avner Goren (avner@ti.com)現(xiàn)就任于 TI(位于達(dá)拉斯)的全球無(wú)線終端業(yè)務(wù)部。
評(píng)論