新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基站調(diào)制解調(diào)器――為什么要現(xiàn)在選擇多核?

基站調(diào)制解調(diào)器――為什么要現(xiàn)在選擇多核?

作者: 時(shí)間:2016-09-12 來源:網(wǎng)絡(luò) 收藏

根據(jù)功能分配任務(wù)

圖 3 所示系統(tǒng)存在 7 項(xiàng)針對(duì)2 名用戶按顏色劃分的任務(wù),其按功能分配。

圖3:根據(jù)功能進(jìn)行的任務(wù)分配。

圖3:根據(jù)功能進(jìn)行的任務(wù)分配。

在這種設(shè)計(jì)中,內(nèi)核無需知道系統(tǒng)中存在多少用戶。相反,它只需知道必須執(zhí)行多少個(gè)唯一功能。隨著用戶數(shù)量增加,完成一項(xiàng)任務(wù)的時(shí)間也會(huì)隨之增加。

如果在數(shù)據(jù)可用時(shí)立即調(diào)用某項(xiàng)任務(wù),則會(huì)為每個(gè)用戶調(diào)用每項(xiàng)任務(wù),而且任務(wù)切換次數(shù)隨用戶數(shù)量增加而增加,這種情況會(huì)造成大量的任務(wù)切換次數(shù)。更好的方法是為每項(xiàng)任務(wù)分配一個(gè)鏈接列表。當(dāng)任務(wù)完成時(shí),將在該用戶中執(zhí)行作為該任務(wù)(與下項(xiàng)功能相關(guān)聯(lián))鏈接列表項(xiàng)目的系統(tǒng)。

這種方法不會(huì)隨著用戶在鏈接列表中的累加而產(chǎn)生中斷。在每項(xiàng)任務(wù)被激活時(shí),它會(huì)完成其鏈接列表或者運(yùn)行至鏈接列表被搶占為止。其中一種選擇是僅允許鏈接列表用戶處理之間的搶占,這樣用戶功能就永遠(yuǎn)不會(huì)中斷。這種選擇可以在存儲(chǔ)需求最低狀態(tài)下實(shí)現(xiàn)搶占,因?yàn)樗行枰臓顟B(tài)已經(jīng)保存到相關(guān)列表中了。

其中一個(gè)關(guān)鍵的考慮事項(xiàng)是激活任務(wù)的頻率:

• 簡(jiǎn)單的周期性中斷:通過將任務(wù)分組到少量?jī)?yōu)先級(jí)隊(duì)列可以進(jìn)一步簡(jiǎn)化此類中斷。在 WCDMA 中,只需兩個(gè)隊(duì)列即可獲得良好的性能。其中存在單個(gè)周期中斷,內(nèi)核在切換到低優(yōu)先級(jí)隊(duì)列之前先清空高優(yōu)先級(jí)隊(duì)列。高優(yōu)先級(jí)任務(wù)允許搶占時(shí)間更長(zhǎng)的低優(yōu)先級(jí)任務(wù),而不需要隨用戶數(shù)增加的數(shù)據(jù)驅(qū)動(dòng)中斷。需要計(jì)算中斷周期,以確保能夠在最后期限之前以足夠快的速度完成高優(yōu)先級(jí)任務(wù)的最差情況負(fù)載。

• 多個(gè)周期中斷:其能夠迅速完成高優(yōu)先級(jí)隊(duì)列,同時(shí)在完成較低優(yōu)先級(jí)隊(duì)列之前保留盡可能多的時(shí)間。因此,只要不全部完成高優(yōu)先級(jí)隊(duì)列,就不會(huì)遺留低優(yōu)先級(jí)隊(duì)列中的任務(wù)。

• 隊(duì)列達(dá)到特定大小時(shí)的中斷:這是希望將中斷次數(shù)最小化時(shí)執(zhí)行隊(duì)列的最有效方式,但是它會(huì)使任務(wù)的延遲取決于到達(dá)任務(wù)的數(shù)量。因此它不太適用于嚴(yán)格的實(shí)時(shí)系統(tǒng)。

• 隊(duì)列頭 (head of queue) 達(dá)到特定時(shí)限時(shí)的中斷:可以實(shí)現(xiàn)一定時(shí)間內(nèi)一定水平的服務(wù)保證,同時(shí)將中斷次數(shù)最小化。為了實(shí)現(xiàn)上述目的可以為每個(gè)隊(duì)列 頭設(shè)置一個(gè)定時(shí)器,然后在定時(shí)器達(dá)到指定值時(shí)產(chǎn)生中斷。如果需要處理隊(duì)列頭,則必須采取某種方法將定時(shí)器重新設(shè)置到下一個(gè)隊(duì)列項(xiàng)目的等待時(shí)間長(zhǎng)度。其適用于需要跟蹤隊(duì)列中各項(xiàng)任務(wù)所耗時(shí)間的復(fù)雜系統(tǒng)。

為了將任務(wù)數(shù)量和任務(wù)搶占開銷保持在可控水平,它們不可根據(jù)用戶數(shù)量而定。相反,任務(wù)應(yīng)當(dāng)與功能而不是與用戶關(guān)聯(lián)。由于目前的 BTS 為了實(shí)時(shí)滿足客戶需求而必須承擔(dān)更多數(shù)據(jù)流量,因此這種設(shè)計(jì)越來越重要。

多核考慮

當(dāng)今的 SoC 一般是多核 CPU ,采用獨(dú)立的 IP 塊,為了實(shí)現(xiàn)一個(gè)完整的調(diào)制解調(diào)器功能必須實(shí)現(xiàn)互操作和同步化。這種架構(gòu)需要某種方式將優(yōu)先級(jí)隊(duì)列系統(tǒng)(圖 4)映射至多 CPU 環(huán)境。

圖4:基于功能的任務(wù)優(yōu)先級(jí)隊(duì)列。紅色箭頭表示處理順序的依存性。

圖4:基于功能的任務(wù)優(yōu)先級(jí)隊(duì)列。紅色箭頭表示處理順序的依存性。

最簡(jiǎn)單的選項(xiàng)是將用戶分配到相關(guān) CPU,使每個(gè) CPU 都保持其自己的隊(duì)列。但是這樣會(huì)有兩個(gè)缺點(diǎn):第一,所有用戶有可能共享某些功能(如過濾與解調(diào))。第二,某些功能可能需要共享協(xié)處理器或外設(shè),造成它們不具有完全獨(dú)立性。這樣會(huì)造成一系列優(yōu)先級(jí)隊(duì)列之間的交互復(fù)雜化,從而難以保證實(shí)時(shí)性能。由于必須要支持多個(gè) CPU 的存取,協(xié)處理器和外設(shè)也將變得更為復(fù)雜,因此必須決定 CPU 的哪項(xiàng)任務(wù)優(yōu)先。所有這些都會(huì)增加軟、硬件驅(qū)動(dòng)程序的復(fù)雜性,使最終系統(tǒng)的測(cè)試更加困難、更加耗時(shí)。

為避免這些缺點(diǎn),TI 采取了不同的方案:為單個(gè) CPU 分配功能任務(wù),從而使每個(gè) CPU 都負(fù)責(zé)唯一一組功能。一般只加速特定類型功能的每一個(gè)協(xié)處理器都與單個(gè) CPU 關(guān)聯(lián)。這種方法可以顯著簡(jiǎn)化協(xié)處理器所執(zhí)行任務(wù)的排序。在許多情況下,外設(shè)也會(huì)與單個(gè) CPU 通信,從而減少對(duì)不缺乏數(shù)據(jù)的任務(wù)進(jìn)行檢驗(yàn)所需的測(cè)試。

TI 的設(shè)計(jì)采用全系統(tǒng)同步排列 CPU 的幀、時(shí)隙 (slot) 與符號(hào)邊界。這種通信采用由一項(xiàng)任務(wù)產(chǎn)生、發(fā)送到另一個(gè)任務(wù)的數(shù)據(jù)塊來實(shí)現(xiàn),一般由 L2 存儲(chǔ)器之間的 DMA 執(zhí)行。(每個(gè) CPU 都具有其自己的 L2 存儲(chǔ)器,因?yàn)楣蚕泶鎯?chǔ)器需要在速度等方面做出權(quán)衡折中。)

由于 TI DSP 可用于眾多功能,因此 TCI6488 SoC具有高度的對(duì)稱性。例如,所有 CPU 都可以訪問接收機(jī)加速協(xié)處理器 (RAC)。這種設(shè)計(jì)允許在所有 CPU 上運(yùn)行相同的功能并且允許所有 CPU 訪問所有協(xié)處理器和外設(shè)資源。不過,TI 建議系統(tǒng)設(shè)計(jì)人員讓一個(gè) CPU 與 RAC 交互,以簡(jiǎn)化器件的操作。

通過實(shí)現(xiàn) CPU的資源負(fù)載平衡,根據(jù)每項(xiàng)任務(wù)所采用的代碼,一個(gè) CPU 可能會(huì)先于其他 CPU 達(dá)到最高容量。解決方案是進(jìn)行重新分組,但這需要軟件架構(gòu)改頭換面 —— 這是在完成 CPU 測(cè)試時(shí)設(shè)計(jì)人員更愿意避免的情況。TI 相信,軟件無線電方法與工具的進(jìn)步會(huì)讓軟件分配變得更為輕松。

TI 采用代碼周期估算、電子表格以及事務(wù)處理級(jí)模型來開發(fā)用于 WCDMA TCI6488 SoC 的建議軟件分組。TI 相信,這種分組可以提供近乎完美的解決方案,同時(shí)仍然保留以下簡(jiǎn)單性:用一個(gè) CPU 控制 RAC、一個(gè) CPU 控制 TCP 和 VCP,以及用一個(gè) CPU 執(zhí)行 Tx 芯片頻率加速和與天線陣列接口的輸出通信。

對(duì)于其他標(biāo)準(zhǔn)(如不采用 RAC而是基于 OFDM 的標(biāo)準(zhǔn)),更易于開發(fā)對(duì)稱軟件架構(gòu)。不過,即使在這些情況下仍然更便于分配此問題,這可以讓一個(gè) CPU 執(zhí)行 FFT/IFFT 和部分調(diào)制/解調(diào)任務(wù),而將相關(guān)結(jié)果發(fā)送至另一個(gè) CPU 以便進(jìn)行符號(hào)率處理。若用于天線數(shù)據(jù),這種方法可以簡(jiǎn)化天線接口 或串行 RapidIO 與負(fù)責(zé)前端處理的 CPU 之間的通信。另外,其還可以簡(jiǎn)化后端符號(hào)率處理及其與以太網(wǎng)或串行 RapidIO 的通信。



關(guān)鍵詞:

評(píng)論


相關(guān)推薦

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

關(guān)閉