新聞中心

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

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

作者: 時間:2008-11-10 來源:網(wǎng)絡(luò) 收藏

3G 無線技術(shù)可支持諸如視頻流等各種高帶寬應(yīng)用,從而能夠大幅提高收發(fā)器基站 (BTS) 的工作負載。事實上,流經(jīng)基站的數(shù)據(jù)業(yè)務(wù)量的日益提高已經(jīng)促使無線運營商不得不蜂擁開始回程擴容。獨立分析公司 Heavy Reading 于 2006 年3 月發(fā)布的一份報告指出,“運營商一般根據(jù)每個蜂窩站點 2 條 T-1/E1 回程電路制訂最初的 HSDPA/EV-DO 部署計劃;但隨著容量擴展,他們開始意識到需要多達 10 條此類電路?!?

由于回程容量與用戶需求在同時增長,無線運營商及其基礎(chǔ)局端供應(yīng)商也在想方設(shè)法確保基站本身不出現(xiàn)瓶頸。為避免此類問題,移動行業(yè)正在迅速向采用多核基帶處理器的基站調(diào)制解調(diào)器過渡。在無線基站領(lǐng)域之外,多核處理器用過去幾年時間就證明了自身在性能平衡與功率效率方面的價值,這一點可以說明為什么僅德州儀器 (TI) 一家公司的處理器出貨量就超過了 10 億?,F(xiàn)在人們不再對無線基站系統(tǒng)設(shè)計人員開始采用它們而感到驚訝。

多核設(shè)計的一大關(guān)鍵優(yōu)勢就是效率。多核設(shè)計可將任務(wù)分配至多個內(nèi)核,而不是為承擔(dān)附加工作負荷而單純提高單個處理器內(nèi)核的頻率。例如,如果系統(tǒng)需要數(shù)字信號處理器 (DSP) 提供 3GHz 性能,多核設(shè)計可以在單個 DSP 封裝中采用三個頻率為 1GHz 的內(nèi)核。

相比而言,如果為了滿足新型 BTS 的嚴苛要求而提高單核 DSP 的速度,則所需功率和產(chǎn)生的熱量會達到讓人無法承受的水平,而多核設(shè)計可以在無損性能的情況下避免這些缺陷。

此外,芯片制造商還可以通過開發(fā)高級的低功耗技術(shù)來進一步提高多核 DPS 的功率效率。TI 的 Smart Reflex 技術(shù)就是一個很好的范例,其可以在保持規(guī)定器件性能的同時降低靜態(tài)與動態(tài)功耗。Smart Reflex 技術(shù)可根據(jù)制造工藝考慮到器件專用的硅芯片特征以及熱參數(shù)等因素。這樣不僅可以有效降低 DSP 的功耗,同時還能保持性能目標 —— TI 的 TCI6488 基帶處理器(采用 Smart Reflex 技術(shù)的DSP 之一)目前達到 1GHz。

多核的另一種優(yōu)勢是能夠集成片上加速器來提高自身性能,進而消除對附加 FPGA 或微處理器的需求,同時還能降低組件數(shù)與材料清單 (BOM) 成本。這種競爭優(yōu)勢也是多核設(shè)計能夠吸引系統(tǒng)設(shè)計人員及其基礎(chǔ)局端客戶的原因所在。

新要求

對于大多數(shù)無線運營商而言,由于電子郵件、Web 瀏覽、音樂下載等數(shù)據(jù)應(yīng)用的廣泛普及,他們都面臨著數(shù)據(jù)流量快速增長的挑戰(zhàn)。此外,遙測、遠程信息處理技術(shù)以及其它機器對機器 (M2M) 等應(yīng)用的更廣泛應(yīng)用也是數(shù)據(jù)流量不斷增長的原因。所有這些因素共同造成了每個 BTS 或基站需要承擔(dān)更多的負載,在城市區(qū)域尤其如此。

隨著運營商部署長期演進 (LTE) 等 4G 技術(shù),其工作負載還會進一步提高 —— 預(yù)計要支持超過 300Mbps 的峰值下載速度和超過 80Mbps 的峰值上傳速度。

另外,3G 調(diào)制解調(diào)器標準要求支持每個用戶的特定數(shù)據(jù)速率與服務(wù)質(zhì)量 (QoS) 要求。這種功能性會帶來各方面的 I/O、MIPS 與內(nèi)存需求。因此,在準備對現(xiàn)有片上系統(tǒng) (SoC)(如 TCI6488 等)進行編程或者開發(fā)一種新的片上系統(tǒng)(SoC)以支持當(dāng)今多用戶 BTS 調(diào)制解調(diào)器時,軟件與系統(tǒng)設(shè)計人員會面臨多種挑戰(zhàn)并需要周全考慮設(shè)計事項。

從說明簡單調(diào)制解調(diào)器數(shù)據(jù)流程的圖 1 可以了解這些 SoC 執(zhí)行的任務(wù)。四種方框分別表示濾波器、解調(diào)、正向糾錯與拆包任務(wù)。此外,圖中還顯示了一個時延要求較低的控制通道和一個時延要求更寬松的數(shù)據(jù)通道。


圖1:基本 BTS 調(diào)制解調(diào)器模型。

典型系統(tǒng)軟件的設(shè)計包括對軟件組件或任務(wù)的開發(fā),這些軟件組件或任務(wù)運行于實時操作系統(tǒng) (RTOS) 上,而且為實現(xiàn)預(yù)期功能相互之間需要實時互動。設(shè)計人員一開始就必須決定每項任務(wù)是與用戶還是與功能相關(guān)。如果與用戶相關(guān),則可能會執(zhí)行多個功能,但僅限于該用戶。如果與某個功能相關(guān),則會對所有用戶執(zhí)行該功能。這種基本決策具有多方面影響:產(chǎn)生中斷的方式、任務(wù)切換頻率、軟件與所有外設(shè)的互動方式以及 SoC 的硬件加速等。

根據(jù)用戶分配任務(wù)

圖 2 說明,當(dāng)根據(jù)用戶分配任務(wù)的系統(tǒng)中存在兩個用戶時將如何安排任務(wù)。利用標簽結(jié)尾的編號區(qū)分每個用戶,而每個標簽標明是長時延(慢)還是短時延(快)通道。

圖2:根據(jù)用戶進行的任務(wù)分配。

圖2:根據(jù)用戶進行的任務(wù)分配。

SoC 的內(nèi)核不知道同時存在多少個用戶,因此它必須:

? 在復(fù)位時預(yù)定義所需的最大任務(wù)數(shù);或者
? 隨著用戶在系統(tǒng)的出現(xiàn)而動態(tài)生成任務(wù)并在用戶退出系統(tǒng)時刪除任務(wù)。

每種技術(shù)各有優(yōu)劣。例如,對于預(yù)定義任務(wù),即使它們未被使用,內(nèi)核也必須知道所需任務(wù)的最大數(shù)量并且維護這些任務(wù)的數(shù)據(jù)結(jié)構(gòu)。如果內(nèi)核對每個任務(wù)的最差情況也維持完整的數(shù)據(jù)結(jié)構(gòu)(包括數(shù)據(jù)存儲需求),則所帶來的挑戰(zhàn)是必須提供可支持所有用戶按最高數(shù)據(jù)速率運行時的足夠內(nèi)存。

一種解決方案是定義高速率和中等速率等多個任務(wù)級別,并且定義每個等級的具體數(shù)量。然后內(nèi)核可根據(jù)所需的用戶速率選擇任務(wù)類型。問題是用戶速率可能會改變,從而迫使內(nèi)核將所有狀態(tài)信息從一種結(jié)構(gòu)轉(zhuǎn)移至另一種結(jié)構(gòu)。

因此,雖然可以針對所有任務(wù)預(yù)定義某些結(jié)構(gòu),但其他結(jié)構(gòu)必須與任務(wù)動態(tài)關(guān)聯(lián)。在此情況下,內(nèi)存管理必須盡可能簡單,而且還得避免內(nèi)存碎片。

在用戶出現(xiàn)時可以動態(tài)生成任務(wù)及其方式,然后在用戶退出時刪除。這種方法很明確,但是缺點是在內(nèi)存中創(chuàng)建和刪除結(jié)構(gòu)時會產(chǎn)生開銷并且造成相關(guān)內(nèi)存管理問題。

在根據(jù)用戶分配任務(wù)時,任務(wù)數(shù)隨著用戶數(shù)的增加會成倍增長。在WCDMA 基站中,一顆芯片支持的 32~64 個用戶中的每一個都會需要數(shù)百個任務(wù),這是巨大的工作負載。隨著任務(wù)數(shù)量的增加,每秒的任務(wù)切換次數(shù)也會相應(yīng)增加。因此中斷程序和內(nèi)核會耗費更多時間,而用于有效工作的時間會更少。TI 相信,如果存在數(shù)十個用戶,那么基于用戶的任務(wù)組織工作會導(dǎo)致系統(tǒng)無法管理。

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


圖 3 所示系統(tǒng)存在 7 項針對2 名用戶按顏色劃分的任務(wù),其按功能分配。
圖3:根據(jù)功能進行的任務(wù)分配。

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

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

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

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

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

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

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

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

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

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

多核考慮

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

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

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

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

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

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

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

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

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

事實上,可共同為所有用戶執(zhí)行 OFDMA 調(diào)制,此項任務(wù)無法被完全分配到不同的 CPU。因此,TI 任務(wù)軟件架構(gòu)的簡單性以及眾多調(diào)制解調(diào)器算法的特性決定了系統(tǒng)設(shè)計人員應(yīng)當(dāng)以不對稱的方式將任務(wù)分配到 CPU。

實現(xiàn)多個 SoC 的資源平衡

另一個問題是每個 SoC 是否應(yīng)當(dāng)具有不同的任務(wù),例如,一個 SoC 只執(zhí)行符號率解碼,而另一個執(zhí)行碼執(zhí)行芯片級調(diào)制。其缺點是所有片上協(xié)處理器都得不到有效利用。

例如,只執(zhí)行符號率處理的 TCI6488 器件就需要更強大、高功率并且占用大量空間的 Turbo 與 Viterbi解碼器。但是此類解碼器對于只執(zhí)行碼片級關(guān)聯(lián)的另一個 SoC 毫無用處,因此 需要功率高得多的接收加速器。所以,除非為每個主板功能提供不同的 SoC,否則協(xié)處理器就必須考慮到每項功能的最差情況。為每一類功能都開發(fā)不同的 SoC 是一種成本浪費。

將 SoC 專用于某一類特定功能也不利于實現(xiàn)可擴展的系統(tǒng)。顯然,如果我們希望提高主板的通道密度并讓每個 SoC 執(zhí)行一整套相同的功能,則只需在主板中增加更多 SoC。TCI6488 旨在以最少的附加硬件達到上述目的。天線接口和串行 RapidIO 都可采用菊花鏈連接方式,而以太網(wǎng)和 RapidIO則可連接到交換機。

但是,如果不同 SoC 提供不同的功能,實現(xiàn)系統(tǒng)的可擴展性就需要將用戶數(shù)量提高一倍。如果所需用戶數(shù)量提高 15%,則讓執(zhí)行符號率的 SoC 功能提高 15% 的方式是再增加一個 SoC,而其利用率只有 15%。其他 SoC 的情況同樣如此,因此會造成擴展后解決方案效率極低。

對于采用多核、協(xié)處理器加速 SoC 的系統(tǒng)設(shè)計,具有最高板級可擴展性、實現(xiàn)最簡單、最易于測試的軟件的系統(tǒng)架構(gòu)需要 SoC 中的每個 CPU 都執(zhí)行一組唯一的任務(wù),但是系統(tǒng)中的每個 SoC 都執(zhí)行與其它 SoC 相同的一組任務(wù)。TI 針對 WCDMA/HSPA 網(wǎng)絡(luò)中這種情況而推出了 TCI6488,其強調(diào)以相同方式有效支持其它調(diào)制解調(diào)器標準的靈活性。

結(jié)果是多核處理器總算及時到來,而此時無線運營商及其基礎(chǔ)局端供應(yīng)商在奮力滿足 HSPA+、LTE 以及移動 WiMAX 等 3G 與 4G 技術(shù)的苛刻的新需求。通過巧妙平衡功耗與性能,多核處理器為系統(tǒng)設(shè)計人員滿足今后 10 年的移動網(wǎng)絡(luò)需求帶來了亟需的工具。

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


評論


相關(guān)推薦

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

關(guān)閉