(57)【要約】データ処理方法及び装置であって、該方法は、データバスから入力したデータを受信した後、該データの行方指示とデータ有効ビットセグメント指示に基づいて、前記データバスから入力したデータをアップリンク側シェアキャッシュに書き込むことと、一定のタイムスロットシーケンスに従って前記アップリンク側シェアキャッシュをポーリングし、前記アップリンク側シェアキャッシュでのデータを読み取って、対応の各チャンネルに出力することとを含む。本発明の実施例により、信頼的にデータのキャッシュとビット幅の変換を実現するとともに、効果的にキャッシュリソースを節約し、面積及びタイミングでの圧力を低下し、キャッシュ利用率を向上させることができる。【選択図】図3
2016503526.tif 000002
【特許請求の範囲】
【請求項１】
データバスから入力したデータを受信した後、該データの行方指示とデータ有効ビットセグメント指示により、前記データバスから入力したデータをアップリンク側シェアキャッシュに書き込むことと、
一定のタイムスロットシーケンスに従って、前記アップリンク側シェアキャッシュをポーリングし、前記アップリンク側シェアキャッシュにおけるデータを読み取り、対応の各チャンネルに出力することと、を含むデータ処理方法。
【請求項２】
前記アップリンク側シェアキャッシュはNブロックの所定ビット幅のランダムアクセスメモリ（RAM）からなり、各ブロックのRAMは論理的にY個のRAMセグメントに分けられ、
前記一定のタイムスロットシーケンスに従って、前記アップリンク側シェアキャッシュをポーリングし、前記アップリンク側シェアキャッシュにおけるデータを読み取ることは、
N≧Yの場合、各ポーリング周期がN個のタイムスロットであり、各タイムスロットにてY個のRAMセグメントをアクセスし、
N<Yの場合、各ポーリング周期がY個のタイムスロットであり、各タイムスロットにてN個のRAMセグメントをアクセスする、という方式を含む請求項1に記載の方法。
【請求項３】
前記データバスから入力したデータをアップリンク側シェアキャッシュに書き込む過程には、
チャンネルに従って当該ビートデータ末端部の書き込み位置を記録することを更に含む請求項1又は2に記載の方法。
【請求項４】
データバスから入力したデータを受信した後、該データの行方指示とデータ有効ビットセグメント指示に基づいて、前記データバスから入力したデータをアップリンク側シェアキャッシュに書き込むように設定されるアップリンク側書き込み制御モジュールと、
一定のタイムスロットシーケンスに従ってポーリングし、前記アップリンク側シェアキャッシュにおけるデータを読み取って、対応の各チャンネルに出力するように設定されるアップリンク側読み取り制御モジュールと、を含むデータ処理装置。
【請求項５】
前記アップリンク側シェアキャッシュはNブロックの所定ビット幅のランダムアクセスメモリ（RAM）からなり、各ブロックのRAMは論理的にY個のRAMセグメントに分けられ、
前記アップリンク側読み取り制御モジュールは、
一定のタイムスロットシーケンスに従ってポーリングし、前記アップリンク側シェアキャッシュにおけるデータを読み取ることは、N≧Yの場合、各ポーリング周期がN個のタイムスロットであり、各タイムスロットにてY個のRAMセグメントをアクセスし、N<Yの場合、各ポーリング周期がY個のタイムスロットであり、各タイムスロットにてN個のRAMセグメントをアクセスする、という方式を含むように設定される請求項4に記載の装置。
【請求項６】
前記アップリンク側書き込み制御モジュールは、前記データバスから入力したデータをアップリンク側シェアキャッシュに書き込む過程は、チャンネルに従って当該ビートデータ末端部の書き込み位置を記録することに更に用いられるように設定される請求項4又は5に記載の装置。
【請求項７】
各チャンネルから出力したデータをダウンリンク側シェアキャッシュに記憶することと、
スケジューリング順序によりデータを前記ダウンリンク側シェアキャッシュから読み取り、データバスに出力することと、を含むデータ処理方法。
【請求項８】
前記ダウンリンク側シェアキャッシュはNブロックの所定ビット幅のランダムアクセスメモリ（RAM）からなり、各ブロックのRAMは論理的にY個のRAMセグメントに分けられ、
前記各チャンネルから出力したデータをダウンリンク側シェアキャッシュに記憶することは、
一定のタイムスロットシーケンスに従って前記ダウンリンク側シェアキャッシュの各RAMブロックにおける各RAMセグメントをポーリングし、現在ポーリングしたRAMセグメント列が空いていると、対応チャンネルの出力しようとするデータを該RAMセグメント列に記憶することを含む請求項7に記載の方法。
【請求項９】
前記一定のタイムスロットシーケンスに従って前記ダウンリンク側シェアキャッシュの各RAMブロックにおける各RAMセグメントをポーリングすることは、
N≧Yの場合、各ポーリング周期がN個のタイムスロットであり、各タイムスロットにてY個のRAMセグメントをアクセスし、N<Yの場合、各ポーリング周期がY個のタイムスロットであり、各タイムスロットにてN個のRAMセグメントをアクセスする、という方式を含む請求項8に記載の方法。
【請求項１０】
前記スケジューリング順序によりデータを前記ダウンリンク側シェアキャッシュから読み取ることは、
各RAMセグメント列の総体キャッシュのデータ量を計算し、該RAMセグメント列キャッシュのデータ量が現在スケジューリングの指示に必要なデータ量の以上である場合、スケジューリングビットセグメント長さ指示により本回のスケジューリングで出力したデータを各RAMセグメントから読み取ることを含む請求項7〜9のいずれか1項に記載の方法。
【請求項１１】
各チャンネルから出力したデータをダウンリンク側シェアキャッシュに記憶するように設定されるダウンリンク側書き込み制御モジュールと、
スケジューリング順序によりデータを前記ダウンリンク側シェアキャッシュから読み取り、データバスに出力するように設定されるダウンリンク側読み取り制御モジュールと、を含むデータ処理装置。
【請求項１２】
前記ダウンリンク側シェアキャッシュはNブロックの所定ビット幅のランダムアクセスメモリ（RAM）からなり、各ブロックのRAMは論理的にY個のRAMセグメントに分けられ、
前記ダウンリンク側書き込み制御モジュールは、一定のタイムスロットシーケンスに従って前記ダウンリンク側シェアキャッシュの各RAMブロックにおける各RAMセグメントをポーリングし、現在ポーリングしたRAMセグメント列が空いていると、対応チャンネルの出力しようとするデータを該RAMセグメント列に記憶するように設定される請求項11に記載の装置。
【請求項１３】
前記ダウンリンク側書き込み制御モジュールは、
一定のタイムスロットシーケンスに従って前記ダウンリンク側シェアキャッシュの各RAMブロックにおける各RAMセグメントをポーリングすることは、N≧Yの場合、各ポーリング周期がN個のタイムスロットであり、各タイムスロットにてY個のRAMセグメントをアクセスし、N<Yの場合、各ポーリング周期がY個のタイムスロットであり、各タイムスロットにてN個のRAMセグメントをアクセスする、という方式を含むように設定される請求項12に記載の装置。
【請求項１４】
前記ダウンリンク側読み取り制御モジュールは、各RAMセグメント列の総体キャッシュのデータ量を計算し、該RAMセグメント列キャッシュのデータ量が現在スケジューリングの指示に必要なデータ量以上である場合、スケジューリングビットセグメント長さ指示により本回のスケジューリングで出力したデータを各RAMセグメントから読み取るように設定される請求項11〜13のいずれか1項に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータ通信分野に関し、特にデータ処理方法及び装置に関する。
【背景技術】
【０００２】
データ通信分野の大規模のデジタル論理設計において、論理回路の処理能力を向上させるか又は論理回路の両側バスのビット幅をマッチングするために、論理回路のデータパスをビット幅変換する必要がある。論理回路の両側の全帯域幅が必ずしも等しくなく、又はその中の一側に輻輳の状況が出現することを考えると、論理回路は更に伝送しようとするデータをキャッシュすることができる必要がある。
【０００３】
例えば図1に示すようなアプリケーションシナリオのように、アップリンク側において、データは一側のデータバスで入力されて他側のY個の（Yが1以上の整数である）チャンネルに伝送され、ダウンリンク側において、データはスケジューリングの指示に従ってY個のチャンネルからコンバージェンスした後データバスに伝送されて出力する。データバスで伝送されたデータは、各ビートがいずれも1つのチャンネルにのみ対応する。各チャンネルの帯域幅を効果的に利用するために、各チャンネルで有効データのみを伝送する。データバスのビット幅はAであり、各部材のバス幅がBであり、AはBのN倍（Nが1以上の整数）である。データバスの帯域幅と各チャンネルの全帯域幅が必ずしも等しくなく、且つデータバスと各チャンネルでいずれも輻輳の状況を出現する可能性があることを考えると、アップリンクとダウンリンク伝送パスにはいずれもキャッシュを設定する必要がある。
【０００４】
これに対して、常に図2に示す論理回路を採用して、データのキャッシュとビット幅の変換を実現し、FIFO（先入れ先出し）でデータのキャッシュを行い、一つの独立的なビット幅変換スプリット回路でデータのビット幅変換を実現する。アップリンク側において、チャンネル認識分配回路は入力データバスでデータの行方によりデータとデータの有効ビットセグメント指示をともに各チャンネルに一対一対応する、ビット幅が「A+データ有効ビットセグメント指示幅」である入力FIFOに配布し、対応するチャンネルはデータ入力を受信することができる場合、データは入力FIFOから読み取られ、ビット幅変換スプリット回路により、データ有効ビットセグメント指示に基づいてデータにおける有効部分をビット幅がBであるデータフローに変換し、対応のチャンネルに送信する。ダウンリンク側において、ビット幅変換スプライス回路は、各チャンネルからのデータを先にそれぞれビット幅変換スプライス回路を介してビット幅がAであるデータに変換し、更に各チャンネルに一対一対応する出力FIFOに書き込み、データバスはデータを受信することができる場合、データ選択コンバージェンス回路はスケジューリング順序に従って、各出力FIFOから順次にデータを読み取り、出力データバスにコンバージェンスして出力する。
【０００５】
データビット幅変換を実現するビット幅変換スプリット回路は、主にデマルチプレクサ（DMUX）からなり、その作業方法は以下のとおりである。
【０００６】
各チャンネルに対して、ビット幅がAであるデータはデータ有効ビットセグメント指示とともに入力FIFOから読み取られた後、先にレジスタに記憶される。ビット幅変換スプリット回路は、第1の周期にそのヘッダ部の幅がBであるデータを選択して出力し、第2の周期に前のビートと隣接する幅がBであるデータを出力し、有効データがすべてスケジューリング出力された後、ビット幅変換スプリット回路は、更に入力FIFOから読み取られた次のビートデータに変換し、続いて上記方式に従ってビット幅変換を行う。
【０００７】
ビット幅変換スプライス回路は、基本的にビット幅変換スプリット回路の逆過程であり、主にマルチプレクサー（MUX）からなり、その作業方法は、
各チャンネルに対して、ビット幅がBであるデータはチャンネルから出力された後、ビット幅変換スプライス回路により、出力順序に基づいて順次に幅がAであるデータにスプライスされ、対応の出力FIFOに書き込まれることである。
【０００８】
この方法において、アップリンク側データバスが入力したデータ又はダウンリンク側各チャンネルが出力した、ビット幅変換スプライス回路によりスプライスされたデータ（ビット幅がいずれもAである）において一部のビットセグメントのみが効果的であると、該ビートのデータはFIFOに記憶される場合、依然として「A+データ有効ビットセグメント指示幅」の幅を占め、該ビートのデータの全部ビットセグメントがいずれも効果的である場合と完全に同じであり、それにより、そのキャッシュ利用率が低いことを引き起こす。
【０００９】
また、該回路の具体的な実現を考える場合、FPGA（Field Programmable Gate Array、フィールドプログラマブルゲートアレイ）方法を採用して該回路を実現すると、FPGAにおいてFIFOを実現するためのBlock RAM（ブロックランダムアクセスメモリ）のビット幅は有限であり、且つその長さははるかにその幅（XilinxのVirex-5 FPGAを例として、1つの36kb大きさのBlock RAMの最大配置ビット幅が36bitしかに達することができない）よりも大きくし、このような方法にはY個のビット幅が「A+データ有効ビットセグメント指示幅」であるFIFOを採用する必要があるので、データバス幅Aが大きい場合、FPGA方法を採用するには複数のBlock RAMにビット幅スプライスを行うことにより各FIFOを実現する必要がある。このように、相当数のBlock RAMリソースを消耗し、大きい設計面積を占め、特にチャンネルの数Yも多い場合、ASICを採用して関連の論理回路を実現しても、このような大きいビット幅のFIFOも後端にレイアウト及びタイミング遅延での圧力をもたらし、同様に大きい設計面積を占用する。
【発明の概要】
【発明が解決しようとする課題】
【００１０】
本発明が解決しようとする技術問題は、データキャッシュとビット幅変換を信頼的に実現するとともに、キャッシュリソースを節約し、キャッシュ利用率を向上させるデータ処理方法及び装置を提供することである。
【課題を解決するための手段】
【００１１】
上記技術問題を解決するために、本発明はデータ処理方法を提供し、
データバスから入力したデータを受信した後、該データの行方指示とデータ有効ビットセグメント指示により、前記データバスから入力したデータをアップリンク側シェアキャッシュに書き込むことと、
一定のタイムスロットシーケンスに従って、前記アップリンク側シェアキャッシュをポーリングし、前記アップリンク側シェアキャッシュにおけるデータを読み取り、対応の各チャンネルに出力することと、を含む。
【００１２】
好ましくは、上記方法は、前記アップリンク側シェアキャッシュがNブロックの所定ビット幅のランダムアクセスメモリ（RAM）からなり、各ブロックのRAMが論理的にY個のRAMセグメントに分けられ、
前記一定のタイムスロットシーケンスに従って、前記アップリンク側シェアキャッシュをポーリングし、前記アップリンク側シェアキャッシュでのデータを読み取ることは、
N≧Yの場合、各ポーリング周期がN個のタイムスロットであり、各タイムスロットにてY個のRAMセグメントをアクセスし、
N<Yの場合、各ポーリング周期がY個のタイムスロットであり、各タイムスロットにてN個のRAMセグメントをアクセスするという方式を含む、という特徴を更に有する。
【００１３】
好ましくは、上記方法は、前記データバスから入力したデータをアップリンク側シェアキャッシュに書き込む過程には、
チャンネルに従って当該ビートデータ末端部の書き込み位置を記録することを更に含む、という特徴を更に有する。
【００１４】
上記問題を解決するために、本発明は更にデータ処理装置を提供し、
データバスから入力したデータを受信した後、該データの行方指示とデータ有効ビットセグメント指示に基づいて、前記データバスから入力したデータをアップリンク側シェアキャッシュに書き込むように設定されるアップリンク側書き込み制御モジュールと、
一定のタイムスロットシーケンスに従ってポーリングし、前記アップリンク側シェアキャッシュでのデータを読み取って、対応の各チャンネルに出力するように設定されるアップリンク側読み取り制御モジュールと、を含む。
【００１５】
好ましくは、上記装置は、
前記アップリンク側シェアキャッシュはNブロックの所定ビット幅のランダムアクセスメモリ（RAM）からなり、各ブロックのRAMは論理的にY個のRAMセグメントに分けられ、
前記アップリンク側読み取り制御モジュールは、一定のタイムスロットシーケンスに従ってポーリングし、前記アップリンク側シェアキャッシュでのデータを読み取ることは、N≧Yの場合、各ポーリング周期がN個のタイムスロットであり、各タイムスロットにてY個のRAMセグメントをアクセスし、N<Yの場合、各ポーリング周期がY個のタイムスロットであり、各タイムスロットにてN個のRAMセグメントをアクセスするという方式を含むように設定される、という特徴を更に有する。
【００１６】
好ましくは、上記装置は、
前記アップリンク側書き込み制御モジュールは、前記データバスから入力したデータをアップリンク側シェアキャッシュに書き込む過程は、チャンネルに従って当該ビートデータ末端部の書き込み位置を記録することに更に用いられるように設定される、という特徴を更に有する。
【００１７】
上記問題を解決するために、本発明は、更にデータ処理方法を提供し、
各チャンネルから出力したデータをダウンリンク側シェアキャッシュに記憶することと、
スケジューリング順序によりデータを前記ダウンリンク側シェアキャッシュから読み取り、データバスに出力することと、を含む。
【００１８】
好ましくは、上記方法は、
前記ダウンリンク側シェアキャッシュはNブロックの所定ビット幅のランダムアクセスメモリ（RAM）からなり、各ブロックのRAMは論理的にY個のRAMセグメントに分けられ、
前記各チャンネルから出力したデータをダウンリンク側シェアキャッシュに記憶することは、
一定のタイムスロットシーケンスに従って前記ダウンリンク側シェアキャッシュの各RAMブロックにおける各RAMセグメントをポーリングし、現在ポーリングしたRAMセグメント列が空いていると、対応チャンネルの出力しようとするデータを該RAMセグメント列に記憶することを含む、という特徴を更に有する。
【００１９】
好ましくは、上記方法は、前記一定のタイムスロットシーケンスに従って前記ダウンリンク側シェアキャッシュの各RAMブロックにおける各RAMセグメントをポーリングすることは、
N≧Yの場合、各ポーリング周期がN個のタイムスロットであり、各タイムスロットにてY個のRAMセグメントをアクセスし、N<Yの場合、各ポーリング周期がY個のタイムスロットであり、各タイムスロットにてN個のRAMセグメントをアクセスするという方式を含む、という特徴を更に有する。
【００２０】
好ましくは、上記方法は、前記スケジューリング順序によりデータを前記ダウンリンク側シェアキャッシュから読み取ることは、
各RAMセグメント列の総体キャッシュのデータ量を計算し、該RAMセグメント列キャッシュのデータ量が現在スケジューリングの指示に必要なデータ量以上である場合、スケジューリングビットセグメント長さ指示により本回のスケジューリングで出力したデータを各RAMセグメントから読み取ることを含む、という特徴を更に有する。
【００２１】
上記問題を解決するために、本発明は更にデータ処理装置を提供し、
各チャンネルから出力したデータをダウンリンク側シェアキャッシュに記憶するように設定されるダウンリンク側書き込み制御モジュールと、
スケジューリング順序によりデータを前記ダウンリンク側シェアキャッシュから読み取り、データバスに出力するように設定されるダウンリンク側読み取り制御モジュールと、を含む。
【００２２】
好ましくは、上記装置は、
前記ダウンリンク側シェアキャッシュはNブロックの所定ビット幅のランダムアクセスメモリ（RAM）からなり、各ブロックのRAMは論理的にY個のRAMセグメントに分けられ、
前記ダウンリンク側書き込み制御モジュールは、一定のタイムスロットシーケンスに従って前記ダウンリンク側シェアキャッシュの各RAMブロックにおける各RAMセグメントをポーリングし、現在ポーリングしたRAMセグメント列が空いていると、対応チャンネルの出力しようとするデータを該RAMセグメント列に記憶するように設定される、という特徴を更に有する。
【００２３】
好ましくは、上記装置は、
前記ダウンリンク側書き込み制御モジュールは、一定のタイムスロットシーケンスに従って前記ダウンリンク側シェアキャッシュの各RAMブロックにおける各RAMセグメントをポーリングすることは、N≧Yの場合、各ポーリング周期がN個のタイムスロットであり、各タイムスロットにてY個のRAMセグメントをアクセスし、N<Yの場合、各ポーリング周期がY個のタイムスロットであり、各タイムスロットにてN個のRAMセグメントをアクセスするという方式を含むように設定される、という特徴を更に有する。
【００２４】
好ましくは、上記装置は、
前記ダウンリンク側読み取り制御モジュールは、各RAMセグメント列の総体キャッシュのデータ量を計算し、該RAMセグメント列キャッシュのデータ量が現在スケジューリングの指示に必要なデータ量以上である場合、スケジューリングビットセグメント長さ指示により本回のスケジューリングで出力したデータを各RAMセグメントから読み取るように設定される、という特徴を更に有する。
【発明の効果】
【００２５】
以上のように、本発明の実施例はデータ処理方法及び装置を提供し、信頼的にデータのキャッシュとビット幅変換を実現するとともに、効果的にキャッシュリソースを節約し、面積及びタイミングでの圧力を低下し、キャッシュの利用率を向上させる。
【図面の簡単な説明】
【００２６】
以下、実施例又は従来技術の説明に使用する必要がある図面を簡単に紹介する。明らかに、以下の記載での図面はただ本発明の幾つかの実施例のみであり、当業者にとって、創造的な労働がないうえに、これらの図面により他の図面を取得することができない。
【００２７】
【図１】図1はデータキャッシュビット幅変換回路のアプリケーションシナリオの模式図である。
【図２】図2は従来データキャッシュビット幅変換及びキャッシュ回路構造の模式図である。
【図３】図3は本発明の実施例のアップリンク側方向のデータ処理方法のフローチャートである。
【図４】図4は本発明の実施例のダウンリンク側方向のデータ処理方法のフローチャートである。
【図５】図5は本発明の実施例のデータ処理装置の模式図である。
【図６】図6は本発明の実施例のアップリンク側伝送過程の模式図である。
【図７】図7は本発明の実施例の単一チャンネルのアップリンク側伝送過程の模式図である。
【図８】図8は本発明の実施例のダウンリンク側伝送過程の模式図である。
【発明を実施するための形態】
【００２８】
以下、図面を参照しながら、本発明の実施例を詳しく説明する。なお、衝突しない場合には、本願での実施例及び実施例での特徴を任意に互いに組み合わせることができる。
【００２９】
図3は本発明の実施例のアップリンク側方向のデータ処理方法のフローチャートであり、図3に示すように、本実施例の方法は以下のステップを含む。
【００３０】
ステップ101、アップリンク側方向において、データバスから入力したデータを受信した後、該データの行方指示とデータ有効ビットセグメント指示に基づいて、前記データバスから入力したデータをアップリンク側シェアキャッシュに書き込み、
データはデータバスから入力されるとともに、当該ビートデータの行方指示と有効ビットセグメント指示を提供する。行方指示とデータ有効ビットセグメント指示に基づいてデータバスから入力したデータをアップリンク側シェアキャッシュの各RAMブロックの各RAMセグメントに記憶する。
【００３１】
ステップ102、一定のタイムスロットシーケンスに従って、前記アップリンク側シェアキャッシュをポーリングし、前記アップリンク側シェアキャッシュでのデータを読み取って、対応の各チャンネルに出力する。
【００３２】
一定のタイムスロットシーケンスに従ってアップリンク側シェアキャッシュの各RAMブロックの各RAMセグメントをポーリングし、ポーリングしたRAMセグメントが非空で且つ対応の出力チャンネルはデータを受信することができると、現在ポーリングしたRAMセグメントにおけるデータを読み取り、対応のチャンネルに出力する。
【００３３】
前記ステップ101において、データと同期する「行方指示」は該ビートデータの宛先とするチャンネル番号を指示することに用いられ、データと同期する「有効ビットセグメント指示」は当該ビートデータには幾つかの部分（常にチャンネルビット幅B、即ちRAMブロックビット幅を単位として測定する）が効果であるかを指示することに用いられる。前記ステップ102において、データをアップリンク側シェアキャッシュに記憶するとともに、書き込み制御モジュールはチャンネルに従って当該ビートデータ末端部の書き込み位置を記録して、同じチャンネルへの次のビートデータの書き込みの依拠とする必要がある。
【００３４】
図4は本発明の実施例のダウンリンク側方向のデータ処理方法のフローチャートであり、図4に示すように、本実施例の方法は以下のステップを含む。
【００３５】
ステップ103、ダウンリンク側方向において、各チャンネルから出力したデータをダウンリンク側シェアキャッシュに記憶し、
あるチャンネルに出力しようとするデータがあり、且つ対応のダウンリンク側シェアキャッシュのRAMセグメントが空いている場合、ダウンリンク側書き込み制御モジュールの制御により、該チャンネルはデータを出力して、ダウンリンク側シェアキャッシュの各RAMブロックの各RAMセグメントに記憶する。
【００３６】
ステップ104、スケジューリング順序によりデータを前記ダウンリンク側シェアキャッシュから読み取り、データバスに出力する。
【００３７】
スケジューリング順序により、ダウンリンク側シェアキャッシュの各RAMブロックの各RAMセグメントにアクセスし、データをコンバージェンスしてデータバスに出力する。
【００３８】
図5は本発明の実施例のデータ処理装置の模式図であり、図5に示すように、
アップリンク側書き込み制御モジュール、アップリンク側読み取り制御モジュール、アップリンク側シェアキャッシュ、ダウンリンク側書き込み制御モジュール、ダウンリンク側読み取り制御モジュール及びダウンリンク側シェアキャッシュを含む。アップリンク・ダウンリンクシェアキャッシュはデータのキャッシュ機能を実現することに用いられ、アップリンク・ダウンリンクビット幅読み書き制御モジュールはアップリンク・ダウンリンクシェアキャッシュとともにデータのビット幅変換を実現する。
【００３９】
データフローの方向に従って区分すると、アップリンク側（データバスから各チャンネルまで）は、
データバスから入力したデータを受信した後、該データの行方指示とデータ有効ビットセグメント指示に基づいて、前記データバスから入力したデータをアップリンク側シェアキャッシュに書き込むためのアップリンク側書き込み制御モジュールと、
一定のタイムスロットシーケンスに従って、前記アップリンク側シェアキャッシュをポーリングし、前記アップリンク側シェアキャッシュでのデータを読み取って、対応の各チャンネルに出力するためのアップリンク側読み取り制御モジュールと、
Nブロックのビット幅がBであるRAMからなり、各ブロックのRAMはY個のRAMセグメントに区分され、各チャンネルに出力しようとするデータを記憶するためのアップリンク側シェアキャッシュと、を含む。
【００４０】
前記アップリンク側読み取り制御モジュールは、一定のタイムスロットシーケンスに従ってポーリングし、前記アップリンク側シェアキャッシュでのデータを読み取ることは、N≧Yの場合、各ポーリング周期がN個のタイムスロットであり、各タイムスロットにてY個のRAMセグメントをアクセスし、N<Yの場合、各ポーリング周期がY個のタイムスロットであり、各タイムスロットにてN個のRAMセグメントをアクセスする、という方式を含む。
【００４１】
前記アップリンク側書き込み制御モジュールは、前記データバスから入力したデータをアップリンク側シェアキャッシュに書き込む過程は、チャンネルに従って当該ビートデータ末端部の書き込み位置を記録することに更に用いられる。
【００４２】
データフロー方向に従って区分すると、ダウンリンク側（各チャンネルからデータバスまで）は、
各チャンネルから出力したデータをダウンリンク側シェアキャッシュに記憶するためのダウンリンク側書き込み制御モジュールと、
スケジューリング順序によりデータを前記ダウンリンク側シェアキャッシュから読み取り、データバスに出力するためのダウンリンク側読み取り制御モジュールと、
Nブロックのビット幅がBであるRAMからなり、各ブロックのRAMは論理的にY個のRAMセグメントに分けられ、データバスに出力しようとするデータを記憶するためのダウンリンク側シェアキャッシュと、を含む。
【００４３】
前記ダウンリンク側書き込み制御モジュールは、具体的に、一定のタイムスロットシーケンスに従って前記ダウンリンク側シェアキャッシュの各RAMブロックにおける各RAMセグメントをポーリングし、現在ポーリングしたRAMセグメント列が空いていると、対応チャンネルの出力しようとするデータを該RAMセグメント列に記憶することに用いられる。
【００４４】
前記ダウンリンク側書き込み制御モジュールは、一定のタイムスロットシーケンスに従って前記ダウンリンク側シェアキャッシュの各RAMブロックにおける各RAMセグメントをポーリングすることは、N≧Yの場合、各ポーリング周期がN個のタイムスロットであり、各タイムスロットにてY個のRAMセグメントをアクセスし、N<Yの場合、各ポーリング周期がY個のタイムスロットであり、各タイムスロットにてN個のRAMセグメントをアクセスする、という方式を含む。
【００４５】
前記ダウンリンク側読み取り制御モジュールは、具体的に、各RAMセグメント列の総体キャッシュのデータ量を計算し、該RAMセグメント列キャッシュのデータ量が現在スケジューリングの指示に必要なデータ量以上である場合、スケジューリングビットセグメント長さ指示により本回のスケジューリングで出力したデータを各RAMセグメントから読み取ることに用いられる。
【００４６】
以下、図面及び具体的な実施例を参照しながら、本発明を更に詳しく説明する。記載の実施例はただ本発明の一部の実施例であり、すべての実施例ではない。本発明における実施例に基づいて、当業者が創造的な労働をしない前提で取得したすべての他の実施例は、いずれも本発明の保護範囲に属する。
【００４７】
本発明は、一定のタイムスロットシーケンスに従ってシェアキャッシュを操作する方式を採用して、データのビット幅変換を実現し、有効データをスプライスして記憶する方式を採用して、キャッシュ効率の向上を実現し、従来技術に存在するキャッシュ利用率が低く、FPGAを実現する場合論理リソースを占用し、及び設計面積が多すぎる問題を解決する。
【００４８】
本発明の実施例の実現ブロック図は図6、図7及び図8に示す。アップリンク・ダウンリンクシェアキャッシュはいずれもNブロックのシンプルデュアルポートRAMからなり、各ブロックのRAMは論理的にY個のRAMセグメントに分けられる。同一の列にあるRAMセグメントは同一のチャンネルに対応し、RAMセグメント列と称する。シェアキャッシュは各論理RAMセグメントに1つのアドレス範囲を区分し、シェアキャッシュに対する読み書き操作過程において、読み書きアドレスにより各RAMセグメントを区分し、各論理のRAMセグメントは一定のタイムスロットに従って読み書き制御を行い、それが選択されて読みイネーブルを向上させる場合、該RAMセグメントのヘッダ部データを出力し、それが選択されて書きイネーブルを向上させる場合、データを該RAMセグメントの末端部に書き込む。 
【００４９】
簡単に説明するために、以下、N=Y=8の場合のみを例として本発明の作動過程を詳しく説明する。
【００５０】
アップリンク側の全体の書き込みと読み取り過程は図6に示す。
【００５１】
アップリンク側の書き込み過程について、
図6に示すように、アップリンク側において、データバスで伝送されたデータと同期する行方指示は、当該ビートデータの宛先とするチャンネル番号を明示し、データと同期する有効ビットセグメント指示はRAMブロックビット幅Bを単位として測定し、当該ビートデータにおいて高ビットから幾つかの部分が有効であるかを明示する。
【００５２】
各ビートデータの書き込みを完成した後、アップリンク側書き込み制御モジュールはいずれも書き込まれたRAMセグメント列に本回の書き込みの終了位置（該RAMセグメント列のどのRAMセグメントまで書き込まれたか）を記録する。毎回に書き込む場合、アップリンク側書き込み制御モジュールは行方指示により対応のRAMセグメント列を選定し、そして該RAMセグメント列の「前回の書き込み終了位置+1」を本回の書き込みの開始位置とし、データ有効ビットセグメント指示により現在の書き込み開始位置から、順次に「有効ビットセグメント」個のRAMブロックの書きイネーブルを向上させる。データバスでの有効データも本回の書き込み開始位置から始め、順次に現在に選定された各RAMセグメントに送信する。
【００５３】
本例について、図7に示すように、順次にチャンネルm#の第2ビートと第3ビートへ送信され、有効ビットセグメント長さはそれぞれ4Bと8Bである。第2ビートデータを書き込む前に、チャンネルm#に対応するRAMセグメント列m#の書き込み終了位置はRAMセグメント1#である。第1ビートデータを書き込む場合、該ビートデータは開始から終了までの順序で順次にRAMセグメント2#〜RAMセグメント5#に記憶され、書き込みを完成した後RAMセグメント列m#の書き込み終了位置をRAMセグメント5#に更新し、第2ビートデータを書き込む場合、該ビートデータは開始から終了までの順序で順次にRAMセグメント5#、RAMセグメント6#、RAMセグメント7#、RAMセグメント0#、RAMセグメント1#、RAMセグメント2#に記憶され、書き込みを完成した後RAMセグメント列m#の書き込み終了位置をRAMセグメント2#に更新する。
【００５４】
アップリンク側の読み取り過程について、
アップリンク側読み取り制御モジュールはタイムスロットに従って、一定の順序でアップリンク側シェアキャッシュの各RAMブロックにおける各RAMセグメントをポーリングする。N≧Yの場合、各ポーリング周期がN個のタイムスロットであり、各タイムスロットにてY個のRAMセグメントをアクセスし、N<Yの場合、各ポーリング周期がY個のタイムスロットであり、各タイムスロットにてN個のRAMセグメントをアクセスする。同一のRAMセグメント列について、前後の2つのタイムスロットにおいて順次に上下の二つの隣接するRAMセグメントにアクセスする。本例において、そのポーリング順序は以下のとおりである。
【００５５】
読み取りタイムスロット・：RAMセグメント・、RAM組・、RAMセグメント1、RAM組7、RAMセグメント2、RAM組6、RAMセグメント3、RAM組5、RAMセグメント4、RAM組4、RAMセグメント5、RAM組3、RAMセグメント6、RAM組2、RAMセグメント7、RAM組1にアクセスする。
【００５６】
読み取りタイムスロット1：RAMセグメント・、RAM組1、RAMセグメント1、RAM組・、RAMセグメント2、RAM組7、RAMセグメント3、RAM組6、RAMセグメント4、RAM組5、RAMセグメント5、RAM組4、RAMセグメント6、RAM組3、RAMセグメント7、RAM組2にアクセスする。
【００５７】
読み取りタイムスロット2：RAMセグメント・、RAM組2、RAMセグメント1、RAM組1、RAMセグメント2、RAM組・、RAMセグメント3、RAM組7、RAMセグメント4、RAM組6、RAMセグメント5、RAM組5、RAMセグメント6、RAM組4、RAMセグメント7、RAM組3にアクセスする。
【００５８】
読み取りタイムスロット3：RAMセグメント・、RAM組3、RAMセグメント1、RAM組2、RAMセグメント2、RAM組1、RAMセグメント3、RAM組・、RAMセグメント4、RAM組7、RAMセグメント5、RAM組6、RAMセグメント6、RAM組5、RAMセグメント7、RAM組4にアクセスする。
【００５９】
読み取りタイムスロット4：RAMセグメント・、RAM組4、RAMセグメント1、RAM組3、RAMセグメント2、RAM組2、RAMセグメント3、RAM組1、RAMセグメント4、RAM組・、RAMセグメント5、RAM組7、RAMセグメント6、RAM組6、RAMセグメント7、RAM組5にアクセスする。
【００６０】
読み取りタイムスロット5：RAMセグメント・、RAM組5、RAMセグメント1、RAM組4、RAMセグメント2、RAM組3、RAMセグメント3、RAM組2、RAMセグメント4、RAM組1、RAMセグメント5、RAM組・、RAMセグメント6、RAM組7、RAMセグメント7、RAM組6にアクセスする。
【００６１】
読み取りタイムスロット6：RAMセグメント・、RAM組6、RAMセグメント1、RAM組5、RAMセグメント2、RAM組4、RAMセグメント3、RAM組3、RAMセグメント4、RAM組2、RAMセグメント5、RAM組1、RAMセグメント6、RAM組・、RAMセグメント7、RAM組7にアクセスする。
【００６２】
読み取りタイムスロット7：RAMセグメント・、RAM組7、RAMセグメント1、RAM組6、RAMセグメント2、RAM組5、RAMセグメント3、RAM組4、RAMセグメント4、RAM組3、RAMセグメント5、RAM組2、RAMセグメント6、RAM組1、RAMセグメント7、RAM組・にアクセスする。
【００６３】
アップリンク側の各RAMセグメント列はいずれもその前回の読み取り終了位置を記録し、現在ポーリングしたRAMセグメント位置が「該RAMセグメント列の前回の読み取り終了位置+1」であり且つ該RAMセグメントが非空であり、同時にその対応の出力チャンネルが現在にデータを受信することができる場合、該RAMセグメントが属するRAMブロックの読みイネーブルを向上させ、本回の読み取られたデータを該RAMに対応するチャンネルに送信し、他の場合には、データを出力しない。
【００６４】
ダウンリンク側の全体の書き込みと読み取り過程は、図8に示す。
【００６５】
ダウンリンク側の書き込み過程について、
ダウンリンク側書き込み制御モジュールはタイムスロットに従って、一定の順序でダウンリンク側シェアキャッシュの各RAMブロックにおける各RAMセグメントをポーリングし、その順序はアップリンク側で読み取りタイムスロットのポーリング順序と同じである。N≧Yの場合、各ポーリング周期がN個のタイムスロットであり、各タイムスロットにてY個のRAMセグメントをアクセスし、N<Yの場合、各ポーリング周期がY個のタイムスロットであり、各タイムスロットにてN個のRAMセグメントをアクセスする。
【００６６】
ダウンリンク側書き込み制御モジュールは各RAMセグメント列に前回の書き込み位置を記録する。現在ポーリングしたRAMセグメント位置は「該RAMセグメント列の前回の書き込み位置+1」であり且つ該RAMに空があり、同時にその対応のチャンネルに出力することができるデータを有する場合、該RAMセグメントが属するRAMブロックの書きイネーブルを向上させ、対応するチャンネルから入力したデータを該RAMセグメントに送信し、他の場合には、データの書き込み操作を行わない。
【００６７】
ダウンリンク側の読み取り過程について、
ダウンリンク側読み取り制御モジュールは各RAMセグメント列に総体キャッシュのデータ量を計算し、該RAMセグメント列キャッシュのデータ量が現在スケジューリングの指示に必要なデータ量以上である場合のみ、ダウンリンク側読み取り制御モジュールは読み取り操作を起動し、同時にスケジューリングビットセグメント長さ指示（RAMブロックビット幅が測定単位である）を提供する。
【００６８】
ダウンリンク側読み取り制御モジュールは各RAMセグメント列に前回の読み取り終了位置を記録する。読み取り操作を起動する場合、ダウンリンク側読み取り制御モジュールは「該RAMセグメント列の前回の読み取り終了位置+1」のRAMセグメントを開始位置とし、スケジューリングビットセグメント長さ指示により本回のスケジューリングで出力したデータを各RAMセグメントから読み取り、データバスに送信して出力する。
【００６９】
上記実施形態によって分かるように、データビット幅変換とキャッシュ機能を実現すると同時に、アップリンク側とダウンリンク側の書き込み過程においてスプライスの方式を採用して有効データをキャッシュし、それにより、キャッシュ利用率は背景技術の前記解決手段よりも高くする。また、実施においてNブロックの幅がBであるキャッシュを採用するので、データバスAがはるかにBよりも大きくすると、具体的な実現の場合、チップ内のキャッシュリソースを効果的に利用して、設計面積とタイミング遅延を減少することができる点は、チャンネル数Yが大きい場合に特に明らかである。
【００７０】
当業者は、上記方法における全部又は一部のステップは、プログラムで関連のハードウェアを指令することにより完成することができ、前記プログラムはコンピュータ可読記憶媒体、例えば読み出し専用メモリ、ディスク又はCDなどに記憶することができることを理解することができる。選択的に、上記実施例の全部又は一部のステップは、１つ又は複数の集積回路を採用して達成することもできる。対応的には、上記実施例における各モジュール／ユニットはハードウェアの形式で達成してよく、ソフトウェア機能モジュールの形式で達成してもよい。本発明はいずれの特定形式のハードウェアとソフトウェアの組み合わせに限定されたものではない。
【００７１】
以上は本発明の好ましい実施例のみである。勿論、本発明は更に他の多種の実施例を有してもよい。本発明の趣旨及びその実質を逸脱しない場合、当業者は本発明に基づいて各種の対応の変更と変形を行うことができるが、これらの対応の変更と変形はいずれも本発明に付属する請求項の保護範囲に属すべきである。
【産業上の利用可能性】
【００７２】
従来技術と比べて、本発明の実施例は以下の利点を有する。
本発明の実施例で提供する方法及び装置は、データを処理する場合データでの有効ビットセグメントのみにキャッシュ及びビット幅の変換を行い、そのキャッシュ利用率及び伝送効率が高くし、且つその実現はN個のビット幅がBであるRAMブロックを採用するので、データバスビット幅が大きく且つFPGAを採用して実現する場合、効果的にチップ内のRAMリソースを利用して、設計面積を減少することができる。従来技術に存在するキャッシュ利用率が低く、具体的な実現の場合キャッシュリソースの消耗が多すぎ、面積及びタイミング圧力が大きすぎる問題と欠点を克服する。
【図１】
2016503526.tif 000003
【図２】
2016503526.tif 000004
【図３】
2016503526.tif 000005
【図４】
2016503526.tif 000006
【図５】
2016503526.tif 000007
【図６】
2016503526.tif 000008
【図７】
2016503526.tif 000009
【図８】
2016503526.tif 000010
【国際調査報告】
2016503526.tif 000011
2016503526.tif 000012
2016503526.tif 000013
2016503526.tif 000014
2016503526.tif 000015
2016503526.tif 000016