元素選擇單元及其中的方法
【技術領域】
[0001] 本文的實施例涉及用于向量元素選擇的元素選擇以及其中的方法。另外的實施例 涉及包括元素選擇單元的加載存儲單元、包括元素選擇單元的內存到內存傳輸系統、包括 元素選擇單元的向量處理器以及包括向量處理器的集成電路。
【背景技術】
[0002] 對于一些數字信號處理算法,在計算可開始之前必須聚集或組織輸入數據。例如, 當從線性輸入向量中選擇數據元素的分散集合時,所選擇的數據元素可在計算能開始之前 聚集成后續數據元素的新線性輸出向量。這種類型的數據聚集或組織例如在3GPP長期演 進(LTE)通信系統中的數據副載波的均衡處理中需要。LTE是使用正交頻分復用(OFDM)的 無線通信標準。基于OFDM的通信系統通過施加(逆)傅里葉變換有效地解調(或調制)某 個數量的射頻副載波。對于LTE,根據該模式,每秒存在12000或14000個OFDM符號。對于 20MHz帶寬載波,每個OFDM符號的1200個副載波中的每個副載波都包括調制符號。調制符 號例如可以是用于信道估計的用戶數據符號或導頻符號。將各種類型信息信道和信號映射 在這些副載波上可能相當復雜并且分散。在進行數據信道的均衡處理之前,從輸入OFDM符 號中提取一些接收器系統中的數據符號,并將數據符號級聯成新向量。示例接收器系統包 括在其上映射均衡處理的向量處理器。
[0003] 動態存儲器分配(DMA)經常用于將數據元素拷貝到嵌入系統中。通常,DMA單元傳 輸數據元素的較粗粒度塊。表述"數據的較粗粒度塊"是指具有大小在范圍從數十字節到 數百萬字節的數據塊。數據塊越小,即,數據突發越短,控制和配置數據傳輸的開銷將越大。 DMA單元經常具有對于分散收集操作的支持,即,對于按順序執行DMA配置的鏈接列表的支 持。選擇LTE中的資源元素,即,選擇例如32位的復雜字,對于DMA單元將是太細粒度。
[0004] 經典數字信號處理器OSP)操作在標量樣本粒度上。因此,它們在從存儲器加載 和向存儲器存儲上可能是非常有選擇的。進一步說,在執行計算處理時可進行數據元素的 選擇。從而,不需要執行將數據元素拷貝到臨時數據向量。然而,應該指出,經典DSP的可 選擇性,即標量樣本粒度,可在信號處理軟件中增加復雜控制結構。
[0005] 進一步說,裝置一次加載和存儲一個選擇的標量元素需要相當長時間來聚集所有 選擇的數據元素。
[0006] 作為示例,假定LTE類別5接收器可用。LTE類別5接收器是在20MHz頻帶中支持 300兆位/秒的下行鏈路數據速率并具有多輸入多輸出(MIM0)接收器配置(并且因此具有 4個接收天線)的接收器。進一步說,假定數據元素提取被映射到具有一個數據存儲器接 口的標量DSP上。此類DSP然后為了此任務對于高達每秒134百萬指令進行加載。對于加 載和存儲操作,處理器負載被計算為4接收天線*1200數據符號/OFDM符號/天線*14000 OFDM符號/秒*2流線型處理器周期/數據元素選擇。
[0007] 此外,為了選擇4接收器天線流的數據元素,還必須執行從16信道估計流中選擇 數據元素。選擇模式具有與接收的符號流的數據元素選擇相同的選擇網格,并將導致高達 670 MIPS的處理器負載,這是相當大的開銷,并且具有相當長的等待時間。對于加載和存 儲操作,處理器負載被計算為16信道估計流*1200估計/OFDM符號/信道估計流*14000 OFDM符號/秒*2流線型處理器周期/數據元素選擇。
[0008] 向量DSP執行數據元素向量上的運算。重要種類的運算是所謂的單指令多數據 (SMD)運算,該運算借助于相同并行處理單元的陣列執行多個輸入向量上的相同算術運 算。SIMD運算要求算法是可向量化的,意味著輸入數據元素應該能夠作為相鄰數據元素的 向量進行處理。通過可用硬件并行性,即并行處理單元,向量DSP能夠執行SIMD運算,其相 比由經典非向量DSP提供的計算吞吐量提供了更高計算吞吐量。
[0009] 通常,向量DSP具有向量存儲器。從而,向量DSP可在一個指令中訪問后續數據元 素的向量。進一步說,向量DSP經常具有在其中存儲中間結果的向量寄存器文件,由此可減 少到向量存儲器的通信。而且,向量DSP要求向量存儲器可提供的高存儲器帶寬,使得加載 和/或存儲吞吐量可跟上計算吞吐量。
[0010] 向量DSP可具有對于向量內的數據元素重新組織的一些支持。例如,混洗單元可 能是可用的,該混洗單元可用于按輸出數據元素選擇特定輸入數據元素。混洗運算函數可 基于具有絕對索引或相對距離的配置模式。
[0011] 能夠從向量存儲器加載和/或存儲P數據元素向量的向量處理器或類似裝置比具 有標量加載接口和/或標量存儲接口的裝置具有更高存儲器帶寬。對于以與存儲器系統相 同的吞吐量的數據元素選擇,向量處理器必須能夠執行輸入數據元素的混洗,并將選擇的 數據元素聚集成一個或多個輸出向量。具有混洗單元、向量寄存器文件和對于基于掩碼的 元素選擇的支持的向量處理器可執行這個任務。然而,因為選擇模式可以是動態的,例如, 如在LTE元素提取情況下,因此這些混洗和掩碼模式必須動態選擇或計算。
[0012] 在飛行中的混洗模式和掩碼模式計算給出了信號處理上的計算開銷。布爾數據類 型和混洗模式數據類型上的運算必須由處理器支持。
[0013] 并不是所有處理器都支持模式計算。在一些向量處理器中,在編譯時必須定義混 洗模式。將所有可能模式硬編碼是不可能的。模式可被預先存儲并且查找。要指出,可能 模式的總數在一般情況下是向量中數據元素的數量的函數。可能模式的總數可被計算為 P*2 p,即,計算為旋轉偏移位置的數量(等于P)乘以可能掩碼向量的數量(等于2P),其中P 是向量中數據元素的數量。模式數量,因此還有所需的存儲內存,隨著不斷增長的向量大小 而激增。模式表因此必須是使用情況相關的,以使它更加成本有效。這使模式表和查找過 程更復雜。
[0014] 從表中計算或加載混洗和掩碼模式給出了運行時間開銷,其在某種程度上可在多 個流之間共享。此開銷例如與均衡任務的計算運算不能是軟件流線型的。
[0015] W02006/033056描述了用于混洗運算的微處理器裝置和方法。微處理器裝置包括 向量處理器架構,向量處理器架構具有功能向量處理器單元,功能向量處理器單元包括用 于存儲多個索引向量的第一內存部件和處理部件。功能向量處理器單元布置成接收要處理 的處理指令和至少一個輸入向量。第一內存部件布置成按照處理指令給處理部件提供所述 多個索引向量之一,并且處理部件布置成響應于所述指令生成至少一個輸出向量,至少一 個輸出向量按照所提供的一個索引向量將至少一個輸入向量的元素重新布置。功能向量處 理器單元進一步包括預先處理部件,該預先處理部件布置成接收參數,并根據所述參數處 理一個索引向量的元素,之后按照所處理的索引向量生成所述至少一個輸出向量。
[0016] 給向量處理器增加混洗電路以便支持數據元素選擇,在所需的區域和功率方面是 代價高的。進一步說,混洗電路是昂貴電路,因為在混洗電路中包括的兩輸入復用器的數量 隨著數據元素的數量P平方地縮放為(p-l)*p。然而要指出,完整混洗電路的區域受布線支 配,而在當前的互補金屬氧化物半導體(CMOS)技術中受標準單元支配不是那么多。
【發明內容】
[0017] 本文實施例的目的是提供一種改進數據處理系統中的性能的辦法。
[0018] 根據本文實施例的第一方面,所述目的通過在元素選擇單元中用于向量元素選擇 的方法實現。元素選擇單元包括選擇器控制電路和選擇器數據路徑電路,該選擇器數據路 徑電路包括多層,每層包括多個復用器。