(57)【要約】【課題】  データキャッシュの機能とＤＳＰ性能が低下しないコンピュータシステム及びそのコンピュータシステムのデータアクセス方法を提供する。【解決手段】  ＣＰＵコア、ＤＳＰコア、データキャッシュ、第１及び第２シーケンシャルバッファモジュール、及び外装メモリを含み、ＤＳＰコアに／から伝達される入力または出力データをデータキャッシュを使用せず、シーケンシャルバッファを使用してシーケンシャルにアクセスする。また、外装メモリ内に互いに分離された入力データ領域、臨時データ領域、及び出力データ領域を有する。【選択図】      図２
2004246889.tif 000002
【特許請求の範囲】
【請求項１】
命令に従ってデータを処理するＤＳＰコアと、
前記ＤＳＰコアの前記データ処理に従う臨時データを貯蔵するデータキャッシュと、
前記ＤＳＰコアに受信される入力データを貯蔵する第１シーケンシャルバッファモジュールと、
前記ＤＳＰコアから出力される出力データを貯蔵する第２シーケンシャルバッファモジュールと、
前記臨時データ、前記入力データ及び前記出力データを貯蔵する外装メモリとを具備することを特徴とするコンピュータシステム。
【請求項２】
前記第１及び第２シーケンシャルバッファモジュールは、
前記外装メモリのアドレスを貯蔵するアドレスレジスタと、
前記外装メモリアドレスを一つずつ増加させるインクリメント部と、
前記外装メモリアドレスの下位ビットに従ってシーケンシャルバッファをアドレッシングするマルチプレクサと、
前記マルチプレクサの出力に応答して前記入力データまたは前記出力データを貯蔵する前記シーケンシャルバッファとを具備することを特徴とする請求項１に記載のコンピュータシステム。
【請求項３】
前記外装メモリアドレスは、ＣＰＵコアにより初期化されることを特徴とする請求項２に記載のコンピュータシステム。
【請求項４】
前記シーケンシャルバッファは、
データレジスタのセットであることを特徴とする請求項２に記載のコンピュータシステム。
【請求項５】
前記シーケンシャルバッファは、
前記データレジスタ内のデータにより前記シーケンシャルバッファが空いているか、満たされているかを知らせることを特徴とする請求項２に記載のコンピュータシステム。
【請求項６】
前記外装メモリは、
前記臨時データを貯蔵する臨時データ領域と、
前記入力データを貯蔵する入力データ領域と、
前記出力データを貯蔵する入力データ領域とを具備し、
前記臨時データ領域、前記入力データ領域、及び前記出力データ領域は互いに分離されていることを特徴とする請求項１に記載のコンピュータシステム。
【請求項７】
前記ＣＰＵコアは、
前記シーケンシャルバッファが空いていれば、前記外装メモリに貯蔵された入力データを順次に読み出して、前記シーケンシャルバッファに満たすように指示するプリフィル命令を実行することを特徴とする請求項２に記載のコンピュータシステム。
【請求項８】
前記ＣＰＵコアは、
前記シーケンシャルバッファが満たされていれば、前記シーケンシャルバッファに書き込まれたデータを外装メモリに順次に貯蔵するポスト−フラッシュ命令を実行することを特徴とする請求項２に記載のコンピュータシステム。
【請求項９】
前記バッファモジュールは、
前記ＤＳＰコアがシーケンシャルバッファのデーアを読み出してシーケンシャルバッファが空いていることを認識して、前記外装メモリの入力データを前記シーケンシャルバッファに満たす自動フィル動作を実行することを特徴とする請求項２に記載のコンピュータシステム。
【請求項１０】
前記シーケンシャルバッファモジュールは、
前記ＤＳＰコアのデータが前記シーケンシャルバッファに書き込まれて前記シーケンシャルバッファが満たされていることを認識して、前記シーケンシャルバッファのデータを前記外装メモリに貯蔵する自動フラッシュ動作を実行することを特徴とする請求項２に記載のコンピュータシステム。
【請求項１１】
前記コンピュータシステムは、  前記ＤＳＰコア、前記データキャッシュ及び前記第１及び第２シーケンシャルバッファモジュールが一つのチップに集積化されるシステムオンチップで実現されることを特徴とする請求項１に記載のコンピュータシステム。
【請求項１２】
ＣＰＵコア、ＤＳＰコア、データキャッシュ、シーケンシャルバッファ、及び外装メモリを含むコンピュータシステムのデータアクセス方法において、
前記ＤＳＰコアのデータが臨時データを含めば、前記データキャッシュを通じて前記外装メモリの臨時データ領域に／から伝達される段階と、
前記シーケンシャルバッファが空いていれば、前記外装メモリに貯蔵された入力データを順次に読み出して前記シーケンシャルバッファに満たすように指示するプリフィル命令を実施する段階と、
前記シーケンシャルバッファが満たされていれば、前記シーケンシャルバッファに書き込まれた出力データを外装メモリに順次に貯蔵するポストフラッシュ命令を実行する段階と、
前記シーケンシャルバッファが空いていれば、前記外装メモリの前記入力データを前記シーケンシャルバッファに満たす自動フィル動作を実行する段階と、
前記シーケンシャルバッファが満たされていれば、前記シーケンシャルバッファのデータを前記外装メモリに貯蔵する自動フラッシュ動作を実行する段階とを具備することを特徴とするコンピュータシステムのデータアクセス方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はコンピュータシステムに関するものであり、特に、シーケンシャルバッファを内蔵してＤＳＰのデータアクセス性能を向上させるコンピュータシステム及びそのコンピュータシステムのデータアクセス方法に関するものである。
【背景技術】
【０００２】
最近、プロセッサ、内蔵メモリ、複数の周辺機器、及び外部バスインタフェースが一つのチップに含まれている集積化されたシステムオンチップ（Ｓｙｓｅｔｍ−Ｏｎ−Ｃｈｉｐ：以下、“ＳＯＣ”という）が広く使用されている。ＳＯＣは一つの小さいコンピュータシステムに見なされる。ＳＯＣには一般的に二つ以上のプロセッサが内蔵され、制御を担当するＣＰＵ（Ｃｅｎｔｅｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）とデータ処理を担当するＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）がそれである。ＤＳＰは多量のデータが入力されて一定の処理をした後に、多量のデータを出力する機能を有する。
【０００３】
図１は一般的なＳＯＣ内のＤＳＰのデータ処理を示す図である。これを参照すると、ＳＯＣ１１０は基本的にＣＰＵコア１１２、ＤＳＰコア１１４、データキャッシュ１１６を含む。コアとは、予め設計された機能ブロックを意味する。ＤＳＰコア１１４はデータキャッシュ１１６を通じて外装メモリ１２０をアクセスする。外装メモリ１２０にはＤＳＰコア１１４がアクセス可能なメモリ領域が割り当てられ、入力データ領域１２２と臨時データ領域１２４、及び出力データ領域１２６に区分される。入力データ領域１２２のデータはＤＳＰコア１１４による読み出しが可能なデータであり、出力データ領域１２６のデータはＤＳＰコア１１４から出力されて貯蔵されるデータである。臨時データ領域１２４のデータはＤＳＰコア１１４に／からデータ読み出し／貯蔵が可能なデータである。データキャッシュ１１６はＤＳＰコア１１４と外装メモリ１２０との間に位置し、外装メモリ１２０に比べて相対的に小さいメモリ容量と速いアクセス時間を有する。データキャッシュ１１６には入力データ領域１２２のデータ、臨時データ領域１２４のデータ、及び出力データ領域１２６のデータが一時的に貯蔵された後、ＤＳＰコア１１４または外装メモリ１２０に送り出される。
【０００４】
一方、データキャッシュ１１６に貯蔵されるデータは普通“ヒット率（ｈｉｔ  ｒａｔｉｏ）”を上げるために頻繁に使用されるデータであることが求められる。ところで、入力データ領域１２２のデータや出力データ領域１２６のデータはデータ読み出しまたは貯蔵のため一回しか使用されないデータにもかかわらず、データキャッシュ１１６に貯蔵されるということは、データキャッシュ１１６の機能を低下させる要因になる。これと共に、外装メモリ１２０の入力データ領域１２２、臨時データ領域１２４、及び出力データ領域１２６はＤＳＰコア１１４がアクセスすることができる一つのデータアドレス空間を分割して使用することとして、入力データ領域１２２と出力データ領域１２６が大きくなれば、臨時データ領域１２４が相対的に小さくなって、ＤＳＰコア１１４が処理しなければならないデータが多くなる場合に、ＤＳＰ性能を低下させる原因になる。
【０００５】
したがって、データキャッシュの機能とＤＳＰ性能を低下させないコンピュータシステムが求められる。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明の目的は、シーケンシャルバッファを内蔵してＤＳＰのデータアクセス性能を向上させるコンピュータシステムを提供することにある。
【０００７】
本発明の他の目的は、前記コンピュータシステムのデータアクセス方法を提供することにある。
【課題を解決するための手段】
【０００８】
上述の目的を達成するために、本発明のコンピュータシステムは、命令に従ってデータを処理するＤＳＰコアと、このＤＳＰコアのデータ処理に従う臨時データを貯蔵するデータキャッシュと、ＤＳＰコアに受信される入力データを貯蔵する第１シーケンシャルバッファモジュールと、ＤＳＰコアから出力される出力データを貯蔵する第２シーケンシャルバッファモジュールと、臨時データ、入力データ及び出力データを貯蔵する外装メモリとを具備することを特徴とする。
【０００９】
好ましい形態として、前記第１及び第２シーケンシャルバッファモジュールは、外装メモリのアドレスを貯蔵するアドレスレジスタと、外装メモリアドレスを１ずつ増加させるインクリメント部と、外装メモリアドレスの下位ビットに従ってシーケンシャルバッファをアドレッシングするマルチプレクサと、このマルチプレクサの出力に応答して入力データまたは出力データを貯蔵するシーケンシャルバッファとを具備する。
また、前記外装メモリアドレスは、ＣＰＵコアにより初期化される。
また、前記シーケンシャルバッファはデータレジスタのセットである。
また、前記シーケンシャルバッファは、データレジスタ内のデータによりシーケンシャルバッファが空いているか、満たされているかを知らせる。
また、前記外装メモリは、臨時データを貯蔵する臨時データ領域と、入力データを貯蔵する入力データ領域と、出力データを貯蔵する出力データ領域とを具備し、臨時データ領域、入力データ領域、及び出力データ領域は互いに分離されていることを特徴とする。
【００１０】
また、前記ＣＰＵコアは、シーケンシャルバッファが空いていれば、外装メモリに貯蔵された入力データを順次に読み出して、前記シーケンシャルバッファに満たすように指示するプリフィル命令を実行する。
また、前記ＣＰＵコアは、シーケンシャルバッファが満たされていれば、シーケンシャルバッファに書き込まれたデータを外装メモリに順次に貯蔵するポスト−フラッシュ命令を実行する。
また、前記バッファモジュールは、ＤＳＰコアがシーケンシャルバッファのデータを読み出してシーケンシャルバッファが空いていることを認識して、外装メモリの入力データをシーケンシャルバッファに満たす自動フィル動作を実行する。
また、前記シーケンシャルバッファモジュールは、ＤＳＰコアのデータがシーケンシャルバッファに書き込まれてシーケンシャルバッファが満たされていることを認識して、シーケンシャルバッファのデータを外装メモリに貯蔵する自動フラッシュ動作を実行する。
また、前記コンピュータシステムは、ＤＳＰコア、データキャッシュ及び第１及び第２シーケンシャルバッファモジュールが一つのチップに集積化されるシステムオンチップで実現される。
【００１１】
上述の他の目的を達成するために本発明のコンピュータシステムのデータアクセス方法は、ＣＰＵコア、ＤＳＰコア、データキャッシュ、シーケンシャルバッファ、及び外装メモリを含むコンピュータシステムのデータアクセス方法において、ＤＳＰコアのデータが臨時データを含めば、データキャッシュを通じて外装メモリの臨時データ領域に／から伝達される段階と、シーケンシャルバッファが空いていれば、外装メモリに貯蔵された入力データを順次に読み出してシーケンシャルバッファに満たすように指示するプリフィル命令を実行する段階と、シーケンシャルバッファが満たされていれば、シーケンシャルバッファに書き込まれた出力データを外装メモリに順次に貯蔵するポストフラッシュ命令を実行する段階と、シーケンシャルバッファが空いていれば、外装メモリの入力データをシーケンシャルバッファに満たす自動フィル動作を実行する段階と、シーケンシャルバッファが満たされていれば、シーケンシャルバッファのデータを外装メモリに貯蔵する自動フラッシュ動作を実行する段階とを具備することを特徴とする。
【発明の効果】
【００１２】
本発明のコンピュータシステムによると、ＤＳＰコアに／から伝達される入力または出力データをデータキャッシュを使用せず、シーケンシャルバッファを使用してシーケンシャルにアクセスし、ＤＳＰコアのデータタイプに従って外装メモリ内に互いに分離された入力データ領域、臨時データ領域、及び出力データ領域を使用するので、データキャッシュの機能とＤＳＰ性能が低下しない。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の望ましい実施の形態を添付図面を参照して説明する。なお、同一の構成要素に対しては他の図上に表示されても同一の参照符号を付して、同一の構成要素であることを明白にする。
【００１４】
図２は本発明の一実施の形態によるコンピュータシステムを示す図である。これを参照すると、コンピュータシステム２００はＣＰＵコア２１２、ＤＳＰコア、データキャッシュ２１６、第１及び第２シーケンシャルバッファ２１８、２１９を内蔵したＳＯＣ２１０と外装メモリ２２０とを含む。ＣＰＵコア２１２は命令キャッシュ（図示しない）から一連の命令を受信し、これをデコーディングして、その命令による動作を実行する。ここで、本発明と関連した命令はプリフィル（ＰＲＥ−ＦＩＬＬ）命令とポストフラッシュ（ＰＯＳＴ−ＦＬＵＳＨ）命令であるが、ＣＰＵコア２１２がこの命令以外の他の命令を実行することができることはもちろんである。
【００１５】
ＤＳＰコア２１４は一般的に、マルチメディアアプリケーションで活用され、マルチメディアアプリケーションで扱う入力及び出力データは各アプリケーションに従って決められたパターンを有するストリーム形態である。明確なパターンのストリームデータは、一回のみ読み出され、一回のみ貯蔵されることができるので、本発明のシーケンシャルバッファを通じてデータ処理することが望ましい。代表的なマルチメディアアプリケーションであるデータ圧縮及び圧縮解除機能を実行することを例としてあげると、ＤＳＰコア２１４はデータ圧縮のためにソースファイルを呼び出してこれをエンコーディングして圧縮ファイルを生成する。また、ＤＳＰコア２１４は圧縮解除のために圧縮ファイルを呼び出して、これをデコーディングして圧縮解除ファイルを生成する。ここで、ＤＳＰコア２１４の立場で見る時に、ソースファイルまたは圧縮ファイルはデータ圧縮または圧縮解除のために一回のみ使用されるファイルであり、圧縮ファイルと圧縮解除ファイルはデータ圧縮または圧縮解除の後に、一回のみ入力されて出力されるファイルである。このように、一回のみ使用してそれ以上使用しないデータ、すなわち入力データと出力データは第１シーケンシャルバッファモジュール２１８と第２シーケンシャルバッファモジュール２１９を通じて外装メモリ２２０から／に伝達される。
【００１６】
外装メモリ２２０は入力データ領域２２２、臨時データ領域２２４、及び出力データ領域２２６に区分される。臨時データ領域２２４は図１のデータアドレス空間に該当する領域に、入力データ領域２２２は第１拡張されたデータ領域に、そして出力データ領域２２６は第２拡張されたデータ領域に各々割り当てられる。これは、図１でＤＳＰコア１１４がアクセスすることができる外装メモリ１２０のデータアドレス空間が一つに限定されることに比べて、データタイプに従って別個に分離されたデータアドレス空間を使用することによって、ＤＳＰ性能を向上させる利点がある。
【００１７】
図３は図２の第１または第２シーケンシャルメモリモジュール２１８、２１９を具体的に示す図である。これを参照すると、第１または第２シーケンシャルメモリモジュール２１８、２１９はアドレスレジスタ３０２、インクリメント部３０４、シーケンシャルバッファ３０６、及び第１及び第２マルチプレクサ３１０、３２０を含む。アドレスレジスタ３０２はＣＰＵコア２１２から設定される外装メモリ２２０のアドレスを貯蔵する。外装メモリ２２０のアドレスはアドレスバスを通じて外装メモリ２２０内の入力／出力データ領域をアドレッシングする。インクリメント部３０４は外装メモリ２２０のアドレスを一つずつ増加させながら、シーケンシャルバッファ３０６の内部のアドレスを指示する。
【００１８】
シーケンシャルバッファ３０６は複数個のデータが貯蔵される一種のデータレジスタセットの一種として、ＤＳＰコア２１４から外装メモリ２２０に、または外装メモリ２２０からＤＳＰコア２１４に伝達されるデータを臨時に貯蔵する。シーケンシャルバッファ３０６内には多様な個数にデータレジスタを具備することができ、本実施の形態では、四つのデータレジスタを具備する例に対して記述される。四つのデータレジスタは、アドレスレジスタ３０２に貯蔵された下位２ビットを利用してアドレッシングされる。一つのデータレジスタにはワード単位のデータが貯蔵され、一つの有効ビット３０８を置いて該当データレジスタのデータを読み出すことができるか、該当レジスタにデータを書き込むことができるかを知らせる。
【００１９】
有効ビット３０８はＤＳＰコア２１４がシーケンシャルバッファ３０６内の該当データレジスタにデータを書き込むと、例えば、“１”に設定され、そのデータが外装メモリ２２０の出力データ領域２２６に貯蔵されれば、例えば“０”に設定される。また、ＤＳＰコア２１４の要請により外装メモリ２２０の入力データ領域２２２のデータがシーケンシャルバッファ３０６内のデータレジスタに満たされれば、有効ビット３０８は例えば、“１”に設定され、そのデータがＤＳＰコア２１４に読み出されると、例えば、“０”に設定される。
【００２０】
第１マルチプレクサ３１０はアドレスレジスタ３０２の下位２ビットによりアドレッシングされるシーケンシャルバッファ３０６内のデータレジスタにＤＳＰコア２１４のデータを伝送する。第２マルチプレクサ３２０はアドレスレジスタ３０２の下位２ビットによりアドレッシングされるシーケンシャルバッフア３０６内のデータレジスタに外装メモリ２２０のデータを伝送する。
【００２１】
このようなシーケンシャルバッファモジュールを含む本発明のコンピュータシステム２００は次のように動作する。
【００２２】
先ず、アドレスレジスタ３０２の値と有効ビット３０８を組み合わせてシーケンシャルバッファ３０６内のデータレジスタが空いているか、満たされているかを判断する。ＤＳＰコア２１４に／からデータ読み出し動作を実行する前に、プリフィル（ＰＲＥ−ＦＩＬＬ）動作とポストフラッシュ（ＰＯＳＴ−ＦＬＵＳＨ）動作を実行する。プリフィル動作は、シーケンシャルバッファ３０６が空いていれば、ＣＰＵコア２１２の命令により指示される外装メモリ２２０内の入力データ領域２２２のアドレスに貯蔵されたデータを順次に読み出してシーケンシャルバッファ３０６内のデータレジスタに満たすことを意味する。ポストフラッシュ動作はシーケンシャルバッファ３０６が満たされていれば、シーケンシャルバッファ３０６内のデータレジスタに書き込まれたデータをＣＰＵコア２１２の命令により指示される出力データ領域２２６のアドレスに該当するメモリ空間に順次に貯蔵する動作である。
【００２３】
次に、ＤＳＰコア２１４に／からデータを読み出す動作は自動フィル動作と自動フラッシュ動作からなる。ＤＳＰコア２１４がシーケンシャルバッファ３０６のデータを読み出してシーケンシャルバッファ３０６が空いていれば、外装メモリ２２０内の入力データ領域２２２のデータをシーケンシャルバッファ３０６に満たす自動フィル動作を実行する。これに対して、ＤＳＰコア２１４のデータがシーケンシャルバッファ３０６に書き込まれてシーケンシャルバッファ３０６が満たされていれば、シーケンシャルバッファ３０６のデータを外装メモリ２２０内の出力データ領域２２６に貯蔵する自動フラッシュ動作を実行する。
【００２４】
したがって、本発明のコンピュータシステムによると、ＤＳＰコアに／から伝達される入力または出力データをデータキャッシュを使用せず、シーケンシャルバッファを使用してシーケンシャルにアクセスすることによって、従来の技術によるデータキャッシュの機能低下問題を解決できる。また、ＤＳＰコア２１４のデータタイプに従って外装メモリ２２０内に互いに分離された入力データ領域、臨時データ領域、及び出力データ領域を使用するので、従来の限定されたデータアドレス空間によりＤＳＰ性能を低下させる問題を解決できる。
【００２５】
以上、本発明の実施の形態を詳述したが、これは例示的なものに過ぎず、本発明の技術的思想及び範囲を制限、または限定するものではない。上記実施の形態では、二つのシーケンシャルバッファモジュールが入力と出力を各々担当する例に対して記述された。これと異なり、シーケンシャルバッファモジュールは一つのコンピュータシステムに一つまたはそれ以上の個数存在することができる。一つのみ存在する場合は、一つのシーケンシャルバッファモジュールが入力と出力を交互に担当し、三つ以上存在する場合は、入力または出力データを二つ以上のシーケンシャルバッファモジュールが分けて担当する。したがって、本発明の技術的思想及び範囲を逸脱しない限度内で多様な変化及び変更が可能であることはもちろんである。
【図面の簡単な説明】
【００２６】
【図１】一般的に知られたＳＯＣ内のＤＳＰのデータ処理を示す図である。
【図２】本発明の一実施の形態によるコンピュータシステムを示す図である。
【図３】図２のシーケンシャルバッファモジュールを具体的に示す図である。
【符号の説明】
【００２７】
２００    コンピュータシステム
２１２    ＣＰＵコア
２１４    ＤＳＰコア
２１６    データキャッシュ
２１８    第１シーケンシャルバッファモジュール
２１９    第２シーケンシャルバッファモジュール
２２０    外装メモリ
２２２    入力データ領域
２２４    臨時データ領域
２２６    出力データ領域
【図１】
2004246889.tif 000003
【図２】
2004246889.tif 000004
【図３】
2004246889.tif 000005