專利名稱:一種Turbo碼譯碼器負荷均衡的調(diào)度裝置的制作方法
技術領域:
本實用新型涉及移動通訊系統(tǒng),特別涉及Turbo碼譯碼器在多路輸入和多個譯碼器的應用場景下,實現(xiàn)負荷均衡的調(diào)度裝置。
背景技術:
隨著無線通訊網(wǎng)絡的高速發(fā)展,無線通訊網(wǎng)絡逐漸成為人們?nèi)粘9ぷ骱蜕钪斜夭豢缮俚墓ぞ?。預計未來10年內(nèi),LTE(Long Term Evolution :移動通訊系統(tǒng))作為最具影響力的寬帶無線通信計數(shù)標準之一,將受到業(yè)界的越來越廣泛的關注。[0003] Turbo碼作為一種糾錯方法來保證最佳的通信傳輸,性能幾乎可以接近理論上的香農(nóng)極限(噪聲信道上最大信息傳輸速率),可以為正在開發(fā)中的LTE系統(tǒng)提供更大吞吐量,以滿足新的LTE標準提出的更激進的總系統(tǒng)延遲要求。在實際應用中,為了滿足整個系統(tǒng)對譯碼時間和接口傳輸速度嚴格要求,在譯碼中應用了多路高速串行輸入和多個Turbo譯碼器來提高譯碼吞吐率,降低系統(tǒng)處理時延,以滿足系統(tǒng)的需求。 圖1是現(xiàn)有技術的多路輸入和多譯碼器組成的譯碼系統(tǒng)的結構示意圖。它是通過多路獨立的輸入接口 ,以及各個輸入接口對應緩存模塊,與多個譯碼器一一綁定來實現(xiàn)待譯碼數(shù)據(jù)傳輸和譯碼操作。在這種應用場景下,如果其中某一路輸入接口不能發(fā)送數(shù)據(jù)或者多路輸入接口發(fā)送數(shù)據(jù)流量不均衡,將造成與之綁定的譯碼器閑置,或者各譯碼器流量不均衡,帶來譯碼資源利用率低,并且變相增大了整體譯碼延時,對整個系統(tǒng)的功能實現(xiàn)以及性能提升造成了很大的障礙。
實用新型內(nèi)容本實用新型所要解決的技術問題是提供一種Turbo碼譯碼器負荷均衡的調(diào)度裝置,能夠在有多路輸入接口下,減少碼塊在前級緩存中的等待時間,在各譯碼器之間實現(xiàn)負荷均衡的調(diào)度。 為了解決上述問題,本實用新型提供了一種Turbo碼譯碼器負荷均衡調(diào)度的調(diào)度裝置包括 輸入前級緩存模塊、譯碼器優(yōu)先級產(chǎn)生模塊,調(diào)度控制模塊,Turbo譯碼器模塊;其中, 輸入前級緩存模塊,接收來自輸入接口的CB (Code Block)塊,并根據(jù)輸入接口的接收和調(diào)度控制模塊的反饋,生成是否有待譯碼CB塊的信號并發(fā)送給調(diào)度控制模塊;[0009] 譯碼器優(yōu)先級產(chǎn)生模塊,跟蹤各Turbo譯碼器模塊遍歷輸入和輸出信息,以計算當前時刻各Turbo譯碼器模塊內(nèi)存的空閑情況,并根據(jù)調(diào)度控制模塊發(fā)出的排序請求,向調(diào)度控制模塊輸出當前時刻反映各Turbo譯碼器模塊優(yōu)先級的序列碼;[0010] 調(diào)度控制模塊,依次在各個輸入前級緩存模塊中進行查詢,根據(jù)輸入前級緩存模塊的狀況,各Turbo譯碼器模塊的狀態(tài),以及各Turbo譯碼器模塊優(yōu)先級序列碼,對各Turbo譯碼器模塊的進程進行控制;[0011]Turbo譯碼器模塊,完成調(diào)度控制模塊發(fā)過來的CB塊的譯碼處理。 優(yōu)選地,所述譯碼器優(yōu)先級產(chǎn)生模塊包括譯碼器的輸入輸出的檢測單元、譯碼器
內(nèi)存占用的計算單元、譯碼器內(nèi)存使用的優(yōu)先級排序單元和優(yōu)先級序列輸出單元,所述譯
碼器的輸入輸出的檢測單元、譯碼器內(nèi)存占用的計算單元、譯碼器內(nèi)存使用的優(yōu)先級排序
單元和優(yōu)先級序列輸出單元依次相連。 優(yōu)選地,所述調(diào)度控制模塊包括輸入前級緩存監(jiān)測單元、前級緩存遍歷控制單
元、譯碼器選擇判定單元、前級緩存讀取和譯碼器內(nèi)存寫入單元和譯碼器狀態(tài)鎖定單元;所
述輸入前級緩存監(jiān)測單元、前級緩存遍歷控制單元、譯碼器選擇判定單元、前級緩存讀取和
譯碼器內(nèi)存寫入單元和譯碼器狀態(tài)鎖定單元依次相連。 優(yōu)選地,所述輸入接口為一路以上。 本實用新型在多路輸入和多譯碼器之間引入負荷均衡的調(diào)度控制模塊,根據(jù)各Turbo譯碼器模塊的內(nèi)存狀況,實時決定每個CB(Code Block)塊由那個Turbo譯碼器模塊進行譯碼,打破現(xiàn)有技術中的多路輸入與多譯碼器之間鏈路綁定,降低多路輸入接口和多譯碼器之間的依賴,使任意一路輸入的CB塊可以在任意一個Turbo譯碼器模塊中完成譯碼工作,即使某一 Turbo譯碼器模塊出現(xiàn)故障,這一路輸入CB塊仍然可以在其他Turbo譯碼器模塊上進行正常的譯碼處理,在多譯碼器之間實現(xiàn)負荷均衡處理,減少CB塊的等待時間,提高譯碼效率和設計的靈活性。
圖1是現(xiàn)有技術的Turbo譯碼器的結構示意圖; 圖2是本實用新型具體實施方式
中Turbo譯碼器負荷均衡調(diào)度控制裝置的結構示意圖; 圖3是本實用新型具體實施方式
中譯碼優(yōu)先級產(chǎn)生模塊的結構示意框圖;[0019] 圖4是本實用新型具體實施方式
中調(diào)度控制模塊的結構示意框圖;[0020] 圖5是本實用新型具體實施方式
中Turbo譯碼器負荷均衡調(diào)度控制方法的流程示意圖; 圖6是本實用新型具體實施方式
中譯碼器選擇判決以及CB塊寫入譯碼器操作的流程示意圖。
具體實施方式
以下結合附圖對技術方案的實施作進一步的詳細描述 本實用新型的主要目的是提供一種功能獨立的低時延、并且易于實現(xiàn),在多譯碼器間進行負荷均衡的技術方案。 如圖2所示,本實用新型的多路輸入和多Turbo譯碼器負荷均衡調(diào)度控制裝置,包括Turbo譯碼器模塊51、52、53、輸入前級緩存模塊21、22、23、譯碼器優(yōu)先級產(chǎn)生模塊4、調(diào)度控制模塊3。各模塊的作用具體如下 輸入前級緩存模塊21、22、23用于分別接收輸入接口 11、 12、 13發(fā)送的CB塊,并接收調(diào)度控制模塊3的反饋信息,向調(diào)度控制模塊3輸出在輸入前級緩存模塊21、22、23中是否有CB塊的指示信號;[0026] 譯碼器優(yōu)先級產(chǎn)生模塊4通過實時、分別獨立跟蹤各Turbo譯碼器模塊51、52、53 遍歷輸入和輸出,計算各Turbo譯碼器模塊51、52、53的空閑內(nèi)存的大小,通過比較,進行相 對優(yōu)先級排序,輸出可以反映各Turbo譯碼器模塊51、52、53優(yōu)先級的序列碼; 調(diào)度控制模塊3控制整個調(diào)度的流程,依次輪詢各輸入前級緩存模塊21、22、23, 如果相應的輸入前級緩存模塊21、22、23中有CB塊,則發(fā)起Turbo譯碼器模塊51、52、53的 優(yōu)先級排序請求,按照Turbo譯碼器模塊51、52、53的優(yōu)先級序列碼,以及各Turbo譯碼器 模塊51、52、53此時的狀態(tài),針對當前CB塊,進行譯碼器選擇判決,確定由選定的Turbo譯 碼器模塊完成當前CB塊的譯碼工作,選擇判決成功后,由此Turbo譯碼器模塊的實際內(nèi)存 大小和當前CB具體參數(shù),決定是否能寫入到此選擇定的Turbo譯碼器模塊中。 另外,對于調(diào)度控制模塊3,如果Turbo譯碼器模塊選擇判決成功,并且當前CB可 以寫入到此Turbo譯碼器模塊中,則進行寫入操作;即使Turbo譯碼器模塊選擇判決成功, 如果當前CB仍然不能寫入到Turbo譯碼器模塊中,則對此種狀態(tài)進行記錄, 一旦這個記 錄的數(shù)值(此數(shù)值對應的時間信息,可以根據(jù)系統(tǒng)實際需求確定)超過門限值,則對相應 Turbo譯碼器模塊進行鎖定,鎖定期間不允許其他輸入前級緩存模塊再向此Turbo譯碼器 模塊內(nèi)存中寫入其他CB塊,此CB塊仍然可以被寫入到其他Turbo譯碼器模塊中, 一旦寫入 成功,則對相應的Turbo譯碼器模塊進行解鎖。 如圖3所示,上述的譯碼器優(yōu)先級產(chǎn)生模塊4具體的實現(xiàn)方式如下,包括譯碼器 的輸入輸出的檢測單元41、譯碼器內(nèi)存占用的計算單元42、譯碼器內(nèi)存使用的優(yōu)先級排序 單元43和優(yōu)先級序列輸出單元44。各單元的作用如下 譯碼器輸入輸出的監(jiān)測單元41跟蹤譯碼器的輸入和輸出觸發(fā)信號,提取輸入CB
塊,以及輸出譯碼后CB塊的參數(shù)信息,并發(fā)送給譯碼器內(nèi)存占用的計算單元42 ; 譯碼器內(nèi)存占用計算單元42根據(jù)上述檢測單元41的輸出計算內(nèi)存占用情況,有
CB塊輸入表示空閑內(nèi)存被占據(jù);有CB塊從譯碼器中輸出,表示有內(nèi)存被釋放;以此實時計
算內(nèi)存占用情況,并將計算結果發(fā)送給譯碼器內(nèi)存使用的優(yōu)先級排序單元43; 譯碼器內(nèi)存使用的優(yōu)先級排序單元43根據(jù)調(diào)度控制模塊3發(fā)出排序請求后,此單
元將當前時刻的各譯碼器內(nèi)存占用值鎖定,以供優(yōu)先級排序所用;內(nèi)存占用少的,表示當前
負荷較輕,排序后優(yōu)先級較高;內(nèi)存占用多的,表示當前負荷較重,排序后優(yōu)先級較低,并生
成反映優(yōu)先級的序列碼(此優(yōu)先級序列碼只是反映了內(nèi)存相對大小的排序),再發(fā)送給優(yōu)
先級序列輸出單元44。 優(yōu)先級序列輸出單元44在優(yōu)先級排序完成后,響應調(diào)度控制模塊3請求,向調(diào)度 控制模塊3輸出優(yōu)先級序列碼,結束排序操作,由此實現(xiàn)負荷均衡調(diào)度。 此外,如圖4所示,調(diào)度控制模塊3的具體的實現(xiàn)方式如下,包括輸入前級緩存監(jiān) 測單元31、前級緩存遍歷控制單元32、譯碼器選擇判定單元33、前級緩存讀取和譯碼器內(nèi) 存寫入單元34和譯碼器狀態(tài)鎖定單元35。各單元的作用具體如下 前級緩存監(jiān)測單元31根據(jù)各輸入前級緩存模塊21、22、23的輸出,判斷是否有的 待譯碼CB塊,輸出判斷后的信息;如果當前CB塊可以成功寫入到某個譯碼器中后,則向?qū)?應的輸入前級緩存模塊21、22、23輸出反饋信息,輸入前級緩存模塊21、22、23將根據(jù)此反 饋信息調(diào)整自己輸出狀態(tài)。 前級緩存遍歷控制單元32根據(jù)前級緩存監(jiān)測單元31輸出,決定是否進入前級緩存遍歷狀態(tài)。如果某個輸入前級緩存模塊21、22、23中沒有待譯碼的CB塊,或者此輸入前 級緩存模塊正在進行讀操作(上一個CB塊從緩存中的讀取仍然沒有結束,其從前級緩存模 塊中讀取鏈路仍然被占據(jù)),或者當前CB塊無法寫入譯碼器中,或者當前CB塊可以成功寫 入某個選定的譯碼器中,并在建立讀、寫鏈路后,則進入下一個輸入前級緩存模塊中,依次 完成全部的輸入前級緩存模塊輪詢。 —旦在前級緩存模塊21、前級緩存模塊22或前級緩存模塊23中有待譯碼CB塊,
則進入譯碼器的選擇判定單元33,按照譯碼器優(yōu)先級產(chǎn)生模塊4反饋的各優(yōu)先級序列,對
各譯碼器進行輪詢,主要是看此譯碼器是否在進行寫入操作(就是上次CB塊寫入還沒有完
成,其寫入鏈路仍然被數(shù)據(jù)流占據(jù)),或者被鎖定,查詢時依次從優(yōu)先級由高到低,優(yōu)先級較
高的只要滿足上述條件就會被選中,優(yōu)先級高的不滿足上述條件,依次向下搜索,選擇優(yōu)先
級較低的譯碼器再做查詢,一旦有譯碼器滿足條件,表示此次譯碼器選擇成功。 如果針對當前CB塊的譯碼器選擇成功,前級緩存讀取和譯碼器內(nèi)存寫入單元34
將當前CB塊參數(shù)和選定譯碼器的絕對實際內(nèi)存進行比較,確定是否可以進行CB塊的寫入
操作,可以寫入,則進行寫入操作,建立此選定譯碼器和前級緩存讀、寫鏈路,從輸入前級緩
存模塊中讀取待譯碼數(shù)據(jù),寫入譯碼器中,在CB塊的讀、寫期間,保持此鏈路,讀、寫結束后
由結束使能信號釋放此鏈路,如果無法寫入,則記錄此狀態(tài)(以備譯碼器狀態(tài)鎖定),結束
在各譯碼器中的輪詢。 如果某個輸入前級緩存中的某個CB塊在輪詢中長時間無法寫入任意一個譯碼器 中,即,針對此CB塊的寫入總是失敗,并且記錄的這個寫入失敗狀態(tài)的次數(shù)超過某個門限 值,譯碼器狀態(tài)鎖定單元35進行相應的譯碼器狀態(tài)鎖定,鎖定期間不允許其他輸入前級緩 存模塊中其他CB塊寫入此譯碼器,但,只要允許,這個CB塊仍然可以寫入其他未鎖定的譯 碼器中!只要此CB寫入成功(不管那個譯碼器中),這個記錄此CB塊寫入失敗狀態(tài)的次數(shù) 值清零,并開始記錄下一個CB塊的寫入失敗的信息。 如圖5所示,本實用新型的Turbo譯碼器負荷均衡控制的流程圖,包括以下步驟 a、多路高速輸入分別獨立發(fā)送CB塊,由各對應的輸入前級緩存模塊進行緩存,一
旦一個或一個以上的前級緩存中有CB塊,則執(zhí)行步驟b,否則,繼續(xù)等待; b、依次查詢各前級緩存,如果當前緩存中,有CB塊,則執(zhí)行步驟c,否則執(zhí)行d ; c、針對當前CB塊,進行譯碼器的選擇判定,如果最終的選擇判決和相應的寫入操
作成功,則執(zhí)行步驟d; d、查詢所有的前級緩存是否遍歷結束,遍歷結束,則執(zhí)行步驟a,否則執(zhí)行步驟e ; e、繼續(xù)查詢下一個前級緩存中,是否有CB塊,重復步驟b至步驟d ; 通過以上步驟完成整個調(diào)度的流程控制。 如圖6所示,本實用新型的Turbo譯碼器負荷均衡控制的譯碼器選擇判定和CB塊 寫入譯碼器流程圖,包括以下步驟 a、當前緩存是否在進行數(shù)據(jù)的輸出操作,如果是,結束當前操作,否則,執(zhí)行步驟 b ; b、發(fā)起譯碼器優(yōu)先級的排序請求信號,等待譯碼器優(yōu)先級產(chǎn)生模塊輸出的譯碼器 優(yōu)先級的序列碼,讀取后,執(zhí)行步驟c ; c、從優(yōu)先級最高的譯碼器開始,查看當前譯碼器是否在進行讀操作或者此譯碼器的寫入被鎖定,如果是,執(zhí)行步驟d,否則,執(zhí)行步驟f ; d、當前的譯碼器是否遍歷完成,如果是,結束當前操作;否則,執(zhí)行步驟e ; e、選擇次優(yōu)的譯碼器,重復步驟b至步驟d ; f、結合當前CB塊參數(shù)和當前選擇的譯碼器實際內(nèi)存大小,判斷CB塊是否能寫入 到此譯碼器內(nèi)存中去,如果可以寫入,執(zhí)行寫入操作,結束當前操作,否則,寫入失敗,執(zhí)行 步驟g; g、記錄寫入失敗的次數(shù),一旦這個數(shù)值超過設定的門限值,則對此譯碼器進行鎖
定操作(后續(xù)一旦此CB可以成功寫入,則自動解除此鎖定),結束當前操作。 通過以上步驟,完成針對當前前級緩存中CB塊的譯碼器的判定選擇,以及CB塊寫
入譯碼器的操作。 上述僅列舉了三路高速輸入,當然也適用于其它的多路輸入和多Turbo譯碼器。 綜上所述,以上僅為本實用新型的較佳實施例而已,并非用于限定本實用新型的 保護范圍,因此,凡在本實用新型的精神和原則之內(nèi)所作的任何修改、等同替換、改進等,均 應包含在本實用新型的保護范圍之內(nèi)。
權利要求一種Turbo碼譯碼器負荷均衡調(diào)度的調(diào)度裝置,其特征在于,包括輸入前級緩存模塊、譯碼器優(yōu)先產(chǎn)生模塊,調(diào)度控制模塊,Turbo譯碼器模塊;其中,輸入前級緩存模塊,接收來自輸入接口的CB塊,并根據(jù)輸入接口的接收和調(diào)度控制模塊的反饋,生成是否有待譯碼CB塊的信號并發(fā)送給調(diào)度控制模塊;譯碼器優(yōu)先級產(chǎn)生模塊,跟蹤各Turbo譯碼器模塊遍歷輸入和輸出信息,以計算當前時刻各Turbo譯碼器模塊內(nèi)存的空閑情況,并根據(jù)調(diào)度控制模塊發(fā)出的排序請求,向調(diào)度控制模塊輸出當前時刻反映各Turbo譯碼器模塊優(yōu)先級的序列碼;調(diào)度控制模塊,依次在各個輸入前級緩存模塊中進行查詢,根據(jù)輸入前級緩存模塊的狀況,各Turbo譯碼器模塊的狀態(tài),以及各Turbo譯碼器模塊優(yōu)先級序列碼,對各Turbo譯碼器模塊的進程進行控制;Turbo譯碼器模塊,完成調(diào)度控制模塊發(fā)過來的CB塊的譯碼處理。
2. 如權利要求1所述的裝置,其特征在于,所述譯碼器優(yōu)先級產(chǎn)生模塊包括譯碼器的輸入輸出的檢測單元、譯碼器內(nèi)存占用的計算單元、譯碼器內(nèi)存使用的優(yōu)先級排序單元和優(yōu)先級序列輸出單元,所述譯碼器的輸入輸出的檢測單元、譯碼器內(nèi)存占用的計算單元、譯碼器內(nèi)存使用的優(yōu)先級排序單元和優(yōu)先級序列輸出單元依次相連。
3. 如權利要求l所述的裝置,其特征在于,所述調(diào)度控制模塊包括輸入前級緩存監(jiān)測單元、前級緩存遍歷控制單元、譯碼器選擇判定單元、前級緩存讀取和譯碼器內(nèi)存寫入單元和譯碼器狀態(tài)鎖定單元;所述輸入前級緩存監(jiān)測單元、前級緩存遍歷控制單元、譯碼器選擇判定單元、前級緩存讀取和譯碼器內(nèi)存寫入單元和譯碼器狀態(tài)鎖定單元依次相連。
4. 如權利要求1至3任一所述的裝置,其特征在于,所述輸入接口為一路以上。
專利摘要本實用新型公開了一種Turbo碼譯碼器負荷均衡調(diào)度的調(diào)度裝置,包括輸入前級緩存模塊、譯碼器優(yōu)先級產(chǎn)生模塊,調(diào)度控制模塊,Turbo譯碼器模塊;其中,輸入前級緩存模塊接收來自輸入接口的CB塊,生成是否有待譯碼CB塊的信號并發(fā)送給調(diào)度控制模塊;譯碼器優(yōu)先級產(chǎn)生模塊向調(diào)度控制模塊輸出當前時刻反映各Turbo譯碼器模塊優(yōu)先級的序列碼;調(diào)度控制模塊對各Turbo譯碼器模塊的進程進行控制;Turbo譯碼器模塊完成調(diào)度控制模塊發(fā)過來的CB塊的譯碼處理。本實用新型可以降低多路輸入接口和多譯碼器之間的依賴,在多譯碼器之間實現(xiàn)負荷均衡處理,減少CB塊的等待時間,提高譯碼效率和設計的靈活性。
文檔編號H04L12/56GK201479155SQ20092017015
公開日2010年5月19日 申請日期2009年8月18日 優(yōu)先權日2009年8月18日
發(fā)明者陳石磊 申請人:中興通訊股份有限公司