(57)【要約】【課題】データ処理のタイムアウトを回避するためのデータ処理装置を提供する。【解決手段】メインメモリ３０に対するメモリアクセスを制御するメモリ制御部２０と接続可能なデータ処理装置１０は、データ処理を実行するデータ処理部１２と、メインメモリ３０から読み出したデータを記憶可能なキャッシュメモリ１４ａと、キャッシュメモリ１４ａに対するメモリアクセスを制御するキャッシュメモリ制御部１４ｂと、キャッシュメモリ１４ａに対するメモリアクセスがキャッシュヒット又はキャッシュミスの何れであるかを判定するキャッシュ判定部１４ｃと、キャッシュ判定部１４ｃの判定結果の履歴を示すキャッシュ情報を記憶するキャッシュ情報記憶部１６と、キャッシュ情報記憶部１６に記憶されたキャッシュ情報に基づいて、データ処理部１２とメモリ制御部２０との間のデータ転送経路を切り替えるデータ転送経路切替部１８と、を備えている。【選択図】図１
2010165316.tif 000002
【特許請求の範囲】
【請求項１】
メインメモリに対するメモリアクセスを制御するメモリ制御部と接続可能なデータ処理装置であって、
データ処理を実行するデータ処理部と、
前記メインメモリから読み出したデータを記憶可能なキャッシュメモリと、
前記キャッシュメモリに対するメモリアクセスを制御するキャッシュメモリ制御部と、
前記キャッシュメモリに対するメモリアクセスがキャッシュヒット又はキャッシュミスの何れであるかを判定するキャッシュ判定部と、
前記キャッシュ判定部の判定結果の履歴を示すキャッシュ情報を記憶するキャッシュ情報記憶部と、
前記キャッシュ情報記憶部に記憶されたキャッシュ情報に基づいて、前記データ処理部と前記メモリ制御部との間のデータ転送経路を切り替えるデータ転送経路切替部と、
を備えることを特徴とするデータ処理装置。
【請求項２】
前記データ処理部は、前記キャッシュ情報記憶部に記憶されたキャッシュ情報が所定の判定条件を満たすと判断した場合に、前記データ転送経路切替部に、前記データ処理部と前記メモリ制御部との間のデータ転送経路を前記キャッシュメモリを経由しないデータ転送経路に切り替えさせることを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
前記キャッシュ情報記憶部に記憶されたキャッシュ情報が所定の判定条件を満たす場合に、前記キャッシュ情報が前記判定条件を満たすことを示す通知信号を発行する通知信号発行部をさらに備え、
前記データ転送経路切替部は、前記通知信号に基づいて、前記データ処理部と前記メモリ制御部との間のデータ転送経路を前記キャッシュメモリを経由しないデータ転送経路に切り替えることを特徴とする請求項１に記載のデータ処理装置。
【請求項４】
前記データ転送経路切替部によって前記データ処理部と前記メモリ制御部との間のデータ転送経路が前記キャッシュメモリを経由しないデータ転送経路に切り替えられた場合に、前記データ処理部は、前記キャッシュメモリを経由しないデータ転送経路を用いて、前記メインメモリに対するメモリアクセスのアクセス要求を前記メモリ制御部に転送し、前記メモリ制御部によって前記メインメモリから読み出されたデータが前記キャッシュメモリを経由しないデータ転送経路を用いて、前記データ処理部に転送されることを特徴とする請求項１乃至３の何れか１項に記載のデータ処理装置。
【請求項５】
前記所定の判定条件は、キャッシュミスの発生頻度が許容範囲であることを特徴とする請求項１乃至４の何れか１項に記載のデータ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理装置に関し、特に、画像データなどのマルチメディアデータを処理するデータ処理装置に関する。
【背景技術】
【０００２】
一般的に、画像データなどのマルチメディアデータを処理するデータ処理装置は、データ処理部として機能するプロセッサと、プロセッサによって取り扱われるデータを記憶するキャッシュメモリと、を備え、複数のデータ処理装置に共有されるメインメモリに接続されている。プロセッサは、メインメモリに記憶されたデータのうち、頻繁に取り扱うデータをキャッシュメモリに書き込み、キャッシュメモリに対するメモリアクセスを実行し、キャッシュメモリに記憶されたデータを読み出してデータ処理を実行する。
【０００３】
ここで、キャッシュメモリに対するメモリアクセスは、キャッシュメモリにデータ処理の対象となるデータが記憶されている場合にはキャッシュヒットと判定され、キャッシュメモリにデータ処理の対象となるデータが記憶されていない場合にはキャッシュミスと判定される。プロセッサは、キャッシュヒットと判定された場合にはキャッシュメモリに記憶されたデータを読み出してデータ処理を実行し、キャッシュミスと判定された場合にはメインメモリに記憶されたデータを読み出してデータ処理を実行する。従って、キャッシュミスの発生頻度が高くなるほど、データ処理の所要時間も長くなる。
【０００４】
しかしながら、従来のデータ処理装置では、プロセッサは、キャッシュミスの発生頻度にかかわらず、キャッシュメモリへのメモリアクセスを実行する。従って、キャッシュメモリに使用頻度の高いデータが記憶されていない場合にはキャッシュミスの発生頻度も高くなり、データ処理の所要時間が長くなる。その結果、データ処理のタイムアウトが発生する。
【０００５】
また、キャッシュミスが発生しやすいメモリアクセスを必要とするデータ処理に関しては、データ処理の対象となるデータが記憶されているかどうか不明であるキャッシュメモリに対するメモリアクセスを実行したときのメモリ帯域の消費量が、データ処理の対象となるデータが確実に記憶されているメインメモリに対するメモリアクセスを実行したときのメモリ帯域の消費量を上回ってしまう場合がある。例えば、プロセッサが、全メモリ帯域を超えるアクセス要求を発行した場合や、ＵＭＡ（Ｕｎｉｆｉｅｄ  Ｍｅｍｏｒｙ  Ａｒｃｈｉｔｅｃｔｕｒｅ）環境において割り当てられている帯域を超えるアクセス要求を発行した場合である。このような場合には、アクセス要求に対するレスポンス時間が増加し、且つ、プロセッサの性能が低下する。その結果、データ処理のタイムアウトが発生する。
【０００６】
しかしながら、従来のデータ処理装置（例えば、特許文献１を参照）では、プロセッサは、キャッシュミスの発生頻度にかかわらず、キャッシュメモリへのメモリアクセスを実行する。従って、キャッシュメモリに使用頻度の高いデータが記憶されておらず、且つ、他のプロセッサのメインメモリに対するメモリアクセスの頻度が少ない場合には、かえってデータ処理の所要時間が長くなり、結果として、データ処理のタイムアウトが発生する場合がある。
【０００７】
すなわち、従来のデータ処理装置では、プロセッサが、キャッシュミスの発生頻度にかかわらず、キャッシュメモリへのメモリアクセスを実行するので、データ処理のタイムアウトが発生し易いという問題がある。
【特許文献１】特開平９−１０１９１５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明の目的は、データ処理のタイムアウトを回避するためのデータ処理装置を提供することである。
【課題を解決するための手段】
【０００９】
本発明によれば、
メインメモリに対するメモリアクセスを制御するメモリ制御部と接続可能なデータ処理装置であって、
データ処理を実行するデータ処理部と、
前記メインメモリから読み出したデータを記憶可能なキャッシュメモリと、
前記キャッシュメモリに対するメモリアクセスを制御するキャッシュメモリ制御部と、
前記キャッシュメモリに対するメモリアクセスがキャッシュヒット又はキャッシュミスの何れであるかを判定するキャッシュ判定部と、
前記キャッシュ判定部の判定結果の履歴を示すキャッシュ情報を記憶するキャッシュ情報記憶部と、
前記キャッシュ情報記憶部に記憶されたキャッシュ情報に基づいて、前記データ処理部と前記メモリ制御部との間のデータ転送経路を切り替えるデータ転送経路切替部と、
を備えることを特徴とするデータ処理装置が提供される。
【発明の効果】
【００１０】
本発明によれば、データ処理のタイムアウトを回避することができる。
【発明を実施するための最良の形態】
【００１１】
（第１実施形態）
本発明の第１実施形態について説明する。本発明の第１実施形態は、データ処理部１２が、キャッシュ情報に基づいて、キャッシュメモリを経由するデータ転送経路とキャッシュメモリを経由しないデータ転送経路との切替を司るデータ処理装置の例である。
【００１２】
本発明の第１実施形態に係るデータ処理装置の構成について図面を参照して説明する。図１は、本発明の第１実施形態に係るデータ処理装置の構成を示すブロック図である。
【００１３】
図１に示す本発明の第１実施形態に係るデータ処理装置１０は、データ処理部１２と、キャッシュ１４と、キャッシュ情報記憶部１６と、内部バス１９と、を備えている。また、データ処理装置１０は、外部バス４０を介してメモリ制御部２０に接続されている。メモリ制御部２０は、メインメモリ３０に接続されている。また、メモリ制御部２０は、下位レベルキャッシュ（図示せず）、メモリバス（図示せず）、及びメモリコントローラ（図示せず）を備え、データ処理部１２が発行するアクセス要求に基づいてメモリアクセスを実行して、メインメモリ３０からのデータの読み出し及びメインメモリ３０へのデータの書き込みを制御するように構成されている。メインメモリ３０は、データ処理部１２が取り扱う様々なデータを記憶している。
【００１４】
図１に示すデータ処理部１２は、所定のデータ処理を実行するように構成されている。また、データ処理部１２は、データ転送経路切替部１８を備えている。例えば、データ処理部１２は、データ処理装置１０が組み込まれるシステムを制御するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）などのプロセッサや、ＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）―２，ＭＰＥＧ−４，ＡＶＣ（Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ），ＶＣ−１（Ｖｉｄｅｏ  Ｃｏｄｉｎｇ−１）などのビデオデータのデコードなどの画像処理などを実行するデコーダである。
【００１５】
図１に示すキャッシュ１４は、キャッシュメモリ１４ａと、キャッシュメモリ制御部１４ｂと、キャッシュ判定部１４ｃと、を備えている。キャッシュメモリ１４ａは、データ処理部１２が取り扱うデータを所定のライン数毎に一時的に記憶可能に構成されている。キャッシュメモリ制御部１４ｂは、データ処理部１２のアクセス要求に基づいてキャッシュメモリ１４ａに対するメモリアクセスを制御する（例えば、キャッシュメモリ１４ａからのデータの読み出し及びキャッシュメモリ１４ａへのデータの書き込みを行う）ように構成されている。キャッシュ判定部１４ｃは、キャッシュメモリ１４ａに対するメモリアクセスがキャッシュヒット又はキャッシュミスの何れであるかを判定するように構成されている。
【００１６】
図１に示すキャッシュ情報記憶部１６は、キャッシュ判定部１４ｃの判定結果の履歴を示すキャッシュ情報を記憶するように構成されている。例えば、キャッシュ情報記憶部１６は、フリップフロップやＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などの記憶回路である。また、判定結果の履歴は、キャッシュミスの発生頻度（キャッシュヒット回数、キャッシュミス回数、キャッシュヒット率、及びキャッシュミス率の少なくとも１つ）を含んでいる。
【００１７】
図１に示すデータ転送経路切替部１８は、キャッシュ情報記憶部１６に記憶されたキャッシュ情報に基づいて、データ処理部１２とメモリ制御部２０との間のデータ転送経路（メインメモリ３０に対するアクセス要求のデータ転送経路及びメインメモリ３０から読み出したデータのデータ転送経路）を切り替えるように構成されている。
【００１８】
図１に示す内部バス１９は、データ処理部１２と、キャッシュ１４と、キャッシュ情報記憶部１６と、を互いに接続するように構成されている。
【００１９】
本発明の第１実施形態に係るデータ処理装置の動作について図面を参照して説明する。図２は、本発明の第１実施形態に係るデータ処理の手順を示すフローチャートである。図３は、本発明の第１実施形態に係るデータ転送経路切替処理の手順を示すフローチャートである。
【００２０】
本発明の第１実施形態に係るデータ処理について説明する。図２（Ａ）は、キャッシュを経由するデータ転送経路が選択されているときのデータ処理の手順を示し、図２（Ｂ）は、キャッシュを経由しないデータ転送経路が選択されているときのデータ処理の手順を示す。
【００２１】
後述するデータ転送経路切替処理（図３を参照）において、キャッシュを経由するデータ転送経路が選択されているときには、はじめに、図２（Ａ）に示すように、アクセス要求発行工程（Ｓ２０１）が行われる。アクセス要求発行工程（Ｓ２０１）では、データ処理部１２が、キャッシュメモリ１４ａに対するメモリアクセスのアクセス要求を発行して、内部バス１９を介してキャッシュ判定部１４ｃに転送する。アクセス要求発行工程（Ｓ２０１）の結果、キャッシュ判定部１４ｃがアクセス要求の内容を知る。
【００２２】
次に、図２（Ａ）に示すように、キャッシュ判定工程（Ｓ２０２）が行われる。キャッシュ判定工程（Ｓ２０２）では、キャッシュ判定部１４ｃが、データ処理部１２によって発行されたアクセス要求が、キャッシュヒット又はキャッシュミスの何れであるかを判定し、判定結果をキャッシュメモリ制御部１４ｂに転送するとともに、キャッシュ情報記憶部１６に記憶されたキャッシュ情報を更新する。例えば、キャッシュ判定部１４ｃは、データ処理部１２によって発行されたアクセス要求に対応するデータがキャッシュメモリ１４ａに記憶されている場合にはキャッシュヒットと判定し、アクセス要求に対応するデータがキャッシュメモリ１４ａに記憶されていない場合にはキャッシュミスと判定する。また、キャッシュ判定部１４ｃは、キャッシュヒット回数及びキャッシュミス回数をカウントするとともに、キャッシュヒット回数及びキャッシュミス回数からキャッシュヒット率又はキャッシュミス率を算出して、算出結果に基づいてキャッシュ情報記憶部１６に記憶されたキャッシュ情報を更新する。キャッシュ判定工程（Ｓ２０２）の結果、キャッシュメモリ制御部１４ｂが、アクセス要求がキャッシュヒット又はキャッシュミスの何れであるかを知る。
【００２３】
次に、図２（Ａ）に示すように、キャッシュヒットと判定された場合には（Ｓ２０３−ＮＯ）、第１データ転送工程（Ｓ２０４）が行われる。第１データ転送工程（Ｓ２０４）では、キャッシュメモリ制御部１４ｂが、キャッシュ判定部１４ｃから転送された判定結果（キャッシュヒット）に基づいて、データ処理部１２によって発行されたアクセス要求に対応するデータをキャッシュメモリ１４ａから読み出して、内部バス１９を介してデータ処理部１２に転送する。第１データ転送工程（Ｓ２０４）の結果、データ処理部１２が、キャッシュメモリ１４ａに記憶されていたデータを受け取る。
【００２４】
一方、図２（Ａ）に示すように、キャッシュミスと判定された場合には（Ｓ２０３−ＹＥＳ）、メモリアクセス工程（Ｓ２１１）が行われる。メモリアクセス工程（Ｓ２１１）では、キャッシュメモリ制御部１４ｂが、メインメモリ３０に対するメモリアクセスのアクセス要求を発行して、メモリ制御部２０に転送する。続いて、メモリ制御部２０が、キャッシュメモリ制御部１４ｂから転送されたアクセス要求に基づいて、メインメモリ３０にデータのリクエストを送信するとともにメインメモリ３０からデータのレスポンスを受信する。メモリアクセス工程（Ｓ２１１）の結果、メモリ制御部２０が、メインメモリ３０からデータを読み出す。
【００２５】
次に、図２（Ａ）に示すように、第２データ転送工程（Ｓ２１２）が行われる。第２データ転送工程（Ｓ２１２）では、メモリ制御部２０が、メインメモリ３０から読み出したデータをキャッシュメモリ制御部１４ｂに転送する。続いて、キャッシュメモリ制御部１４ｂが、メモリ制御部２０から転送されたデータをキャッシュメモリ１４ｂに書き込むとともに、所定の単位でデータ処理部１２に転送する。第２データ転送工程（Ｓ２１２）の結果、データ処理部１２が、メインメモリ３０に記憶されていたデータを受け取る。
【００２６】
第１データ転送工程（Ｓ２０４）又は第２データ転送工程（Ｓ２１２）の後に、図２（Ａ）に示すように、データ処理工程（Ｓ２０５）が行われる。データ処理工程（Ｓ２０５）では、データ処理部１２が、第１データ転送工程（Ｓ２０４）又は第２データ転送工程（Ｓ２１２）において受け取ったデータを用いてデータ処理を実行する。その後、図２（Ａ）に示すデータ処理が完了する。
【００２７】
一方、後述するデータ転送経路切替処理（図３を参照）において、キャッシュを経由しないデータ転送経路が選択されているときには、はじめに、図２（Ｂ）に示すように、アクセス要求発行工程（Ｓ２２１）が行われる。アクセス要求発行工程（Ｓ２２１）では、データ処理部１２が、メインメモリ３０に対するメモリアクセスのアクセス要求を発行して、キャッシュメモリ１４ｂを経由しないデータ転送経路を用いて、発行したアクセス要求をメモリ制御部２０に転送する。アクセス要求発行工程（Ｓ２２１）の結果、メモリ制御部２０がアクセス要求の内容を知る。
【００２８】
次に、図２（Ｂ）に示すように、メモリアクセス工程（Ｓ２２２）が行われる。メモリアクセス工程（Ｓ２２２）では、メモリ制御部２０が、データ処理部１２から転送されたアクセス要求に基づいて、メインメモリ３０にデータのリクエストを送信するとともにメインメモリ３０からデータのレスポンスを受信する。メモリアクセス工程（Ｓ２２２）の結果、メモリ制御部２０が、メインメモリ３０からデータを読み出す。
【００２９】
次に、図２（Ｂ）に示すように、第３データ転送工程（Ｓ２２３）が行われる。第３データ転送工程（Ｓ２２３）では、メモリ制御部２０が、キャッシュメモリ１４ｂを経由しないデータ転送経路を用いて、メインメモリ３０から読み出したデータをデータ処理部１２に転送する。第３データ転送工程（Ｓ２２３）の結果、データ処理部１２が、メインメモリ３０に記憶されていたデータを受け取る。
【００３０】
次に、図２（Ｂ）に示すように、データ処理工程（Ｓ２２４）が図２（Ａ）に示すデータ処理工程（Ｓ２０５）と同様に行われる。その後、図２（Ｂ）に示すデータ処理が完了する。
【００３１】
本発明の第１実施形態に係るデータ転送経路切替処理について説明する。本発明の第１実施形態に係るデータ転送経路切替処理は、図２（Ａ）及び（Ｂ）に示すデータ処理から独立して行われる。例えば、本発明の第１実施形態に係るデータ転送経路切替処理は、所定のコマンド数（例えば、１００コマンド又は１０００コマンド）毎に行われてもよいし、所定のデータ量（例えば、１ＭＢ又は１００ＭＢ）毎に行われてもよいし、所定の時間（例えば、１／６０秒又は１／７２００秒）毎に行われてもよい。特に、データ処理部１２がデコーダである場合には、本発明の第１実施形態に係るデータ転送経路切替処理は、１フレームのデコード処理毎に行われてもよいし、１マクロブロックラインのデコード処理毎に行われてもよい。これらの値は予め指定される。
【００３２】
はじめに、図３に示すように、データ処理部１２が、キャッシュ情報記憶部１６に記憶されたキャッシュ情報が所定の判定条件を具備するか否かを判定する（Ｓ３０１）。キャッシュ情報が判定条件を具備する場合（例えば、キャッシュミスの発生頻度が許容範囲Ｔｈを超えている場合）には（Ｓ３０１−ＹＥＳ）、データ転送経路切替命令発行工程（Ｓ３０２）に進み、キャッシュ情報が判定条件を具備しない場合（例えば、キャッシュミスの発生頻度が許容範囲Ｔｈ以下である場合）には（Ｓ３０１−ＮＯ）、Ｓ３１１に進む。
【００３３】
図３に示すように、データ転送経路切替命令発行工程（Ｓ３０２）では、データ処理部１２が、データ転送経路切替部１８に、データ処理部１２とメモリ制御部２０との間のデータ転送経路をキャッシュメモリ１４を経由しないデータ転送経路に切り替えさせるためのデータ転送経路切替命令を発行して、データ転送経路切替部１８に転送する。データ転送経路切替命令発行工程（Ｓ３０２）の結果、データ転送経路切替部１８が、キャッシュ情報が判定条件を具備しないことを知る。
【００３４】
次に、図３に示すように、Ｓ３０３では、データ転送経路切替部１８が、データ処理部１２から転送されたデータ転送経路切替命令に基づいて、データ処理部１２とメモリ制御部２０との間のデータ転送経路として、キャッシュメモリ１４ａを経由しないデータ転送経路（例えば、キャッシュ１４を迂回する内部バス１９の経路）を選択する。
【００３５】
一方、図３に示すように、Ｓ３１１では、データ転送経路切替部１８が、データ処理部１２とメモリ制御部２０との間のデータ転送経路として、キャッシュメモリ１４ａを経由するデータ転送経路を選択する。
【００３６】
図３に示すように、本発明の第１実施形態に係るデータ転送経路切替処理は、Ｓ３０３又はＳ３１１の後に完了する。
【００３７】
本発明の第１実施形態に係るデータ転送経路について図面を参照して説明する。図４は、図２（Ａ）に示す第１データ転送工程（Ｓ２０４）において用いられる第１データ転送経路を示す概略図である。図５は、図２（Ａ）に示す第２データ転送工程（Ｓ２１２）において用いられる第２データ転送経路を示す概略図である。図６及び図７は、図２（Ｂ）に示す第３データ転送工程（Ｓ２２３）において用いられる第３データ転送経路を示す概略図である。図１０は、本発明の第１実施形態の変形例に係るデータ処理装置の構成を示すブロック図である。
【００３８】
図４に示す第１データ転送経路は、キャッシュを経由するデータ転送経路が選択されているときにキャッシュヒットと判定される場合のデータ転送経路である。図４に示すように、データ処理部１２が、キャッシュメモリ１４ａに対するメモリアクセスのアクセス要求を発行して、キャッシュ判定部１４ｃに転送する。次に、キャッシュ判定部１４ｃが、キャッシュメモリ１４ａに対するメモリアクセスのアクセス要求をキャッシュヒットと判定し、キャッシュメモリ制御部１４ｂに判定結果を転送するとともにキャッシュ情報記憶部１６に記憶されたキャッシュ情報を更新する。次に、キャッシュメモリ制御部１４ｂが、キャッシュメモリ１４ａに対してデータのリクエストを送信するとともにキャッシュメモリ１４ａからデータのレスポンスを受信して、キャッシュメモリ１４ａから読み出したデータをデータ処理部１２に転送する。すなわち、図４に示す第１データ転送経路では、アクセス要求及びデータがデータ処理部１２とキャッシュ１４との間で転送される。
【００３９】
図５に示す第２データ転送経路は、キャッシュを経由するデータ転送経路が選択されているときにキャッシュミスと判定される場合のデータ転送経路である。図５に示すように、データ処理部１２が、キャッシュメモリ１４ａに対するメモリアクセスのアクセス要求を発行して、キャッシュ判定部１４ｃに転送する。次に、キャッシュ判定部１４ｃが、キャッシュメモリ１４ａに対するメモリアクセスのアクセス要求をキャッシュミスと判定し、キャッシュメモリ制御部１４ｂに判定結果を転送するとともにキャッシュ情報記憶部１６に記憶されたキャッシュ情報を更新し、且つ、メインメモリ３０に対するメモリアクセスのアクセス要求を発行して、メモリ制御部２０に転送する。次に、メモリ制御部２０が、メインメモリ３０に対してデータのリクエストを送信するとともにメインメモリ３０からデータのレスポンスを受信して、メインメモリ３０から読み出したデータをキャッシュメモリ制御部１４ｂに転送する。次に、キャッシュメモリ制御部１４ｂが、メモリ制御部２０から転送されたデータをキャッシュメモリ１４ａに書き込むとともに、所定の単位でデータ処理部１２に転送する。すなわち、図５に示す第２データ転送経路では、アクセス要求及びデータが、データ処理部１２とメモリ制御部２０との間でキャッシュメモリ１４ｂを経由して転送される。
【００４０】
図６に示す第３データ転送経路は、キャッシュメモリ１４ｂを経由しないデータ転送経路が選択されているときのデータ転送経路である。図６に示すように、データ処理部１２が、メインメモリ３０に対するメモリアクセスのアクセス要求を発行して、キャッシュメモリ１４ｂを経由しないデータ転送経路を用いて、発行したアクセス要求をメモリ制御部２０に転送する。次に、メモリ制御部２０が、メインメモリ３０に対してデータのリクエストを送信するとともにメインメモリ３０からデータのレスポンスを受信して、キャッシュメモリ１４ｂを経由しないデータ転送経路を用いて、メインメモリ３０から読み出したデータをデータ処理部１２に転送する。すなわち、図６に示す第３データ転送経路では、アクセス要求及びデータが、データ処理部１２とメモリ制御部２０との間でキャッシュメモリ１４ｂを経由しないで転送される。
【００４１】
なお、本発明の第１実施形態では、図１に示す構成について例示したが、本発明の範囲はこれに限られるものではない。例えば、図１０に示すように、キャッシュ情報記憶部１６及びデータ転送経路切替部１８は、キャッシュ１４に組み込まれてもよい。また、データ処理部１２、キャッシュ１４、及びメインメモリ３０は、外部バス４０又はバス以外の接続手段を介して互いに接続されてもよい。
【００４２】
図７は、第３データ転送経路の変形例を示している。図１０に示すように、データ転送切替部１８がキャッシュ内に組み込まれている場合には、図７に示すように、データ処理部１２が、アクセス要求を発行して、キャッシュ判定部１４ｃに転送する。次に、キャッシュ判定部１４ｃが、データ処理部１２から転送されたアクセス要求をキャッシュヒットおよびキャッシュミスの判定を行わずに、データ処理部１２から転送されたままの形でメモリ制御部２０に転送する。次に、メモリ制御部２０が、メインメモリ３０に対してデータのリクエストを送信するとともにメインメモリ３０からデータのレスポンスを受信して、メインメモリ３０から読み出したデータをキャッシュメモリ制御部１４ｂに転送する。次に、キャッシュメモリ制御部１４ｂが、メモリ制御部２０から転送されたままのデータを、メモリ制御部２０から転送されたままの形でデータ処理部１２に転送する。すなわち、図７に示す第３データ転送経路では、アクセス要求及びデータがデータ処理部１２とメモリ制御部２０との間で転送されるときに、キャッシュ１４が動作しない（キャッシュメモリ制御部１４ｂがアクセス要求及びデータをスルーする）ようになっている。
【００４３】
データ処理部１２がビデオデータのデコーダとして機能する場合のデコード処理について説明する。
【００４４】
このデータ処理（デコード処理）では、データ処理部１２は、参照画像については、図４に示す第１データ転送経路（すなわち、キャッシュメモリ１４ａを経由するデータ転送経路）を用いて、キャッシュメモリ１４ａからデータを読み出し、それ以外のデータについては、図５に示す第２データ転送経路や、図６又は図７に示す第３データ転送経路を用いて、メインメモリ３０に記憶されたデータを読み出す。また、データ処理部１２は、所定数のマクロブロックライン毎に、キャッシュ情報記憶部１６に記憶されたキャッシュミス回数を参照し、参照したキャッシュミス回数と判定条件（キャッシュミス回数の上限）とを比較し、キャッシュミス回数が判定条件より大きい場合には、第３データ転送経路に切り替えさせるようにデータ転送経路切替命令を発行する。データ転送経路切替部１８は、データ処理部１２とメモリ制御部２０との間のデータ転送経路を、図６又は図７に示す第３データ転送経路に切り替える。この場合には、メインメモリ３０から読み出されたデータは、キャッシュメモリ１４ａに記憶されることなく、データ処理部１２に転送される。
【００４５】
また、本発明の第１実施形態では、データ転送経路切替処理は、キャッシュミス回数から消費されるメインメモリ３０のバンド幅（メインメモリ３０の占有率）を算出し、算出結果を用いてデータ転送経路切替命令発行工程（Ｓ３０２）を行ってもよい。例えば、データ転送経路切替部１８は、算出されたバンド幅が判定条件より大きい場合に、データ処理部１２とメモリ制御部２０との間のデータ転送経路を、図６又は図７に示すデータ転送経路に切り替える。
【００４６】
また、本発明の第１実施形態では、データ転送経路切替処理は、データ処理において取り扱われるデータの種類に基づいてデータ転送経路切替命令発行工程（Ｓ３０２）を行ってもよい。例えば、データ処理部１２がビデオデータのデコーダとして機能する場合には、キャッシュ判定部１４ｃは、デコード処理において取り扱われるストリームの種類に基づいてデータ転送経路切替命令発行工程（Ｓ３０２）を行う。
【００４７】
また、本発明の第１実施形態では、キャッシュ判定部１４ｃは、判定条件を記憶する記憶回路を備えてもよい。例えば、ユーザが任意に定めた判定条件が記憶回路に記憶され、キャッシュ判定部１４ｃは、記憶回路に記憶された判定条件を用いてデータ転送経路切替命令発行工程（Ｓ３０２）を行う。
【００４８】
本発明の第１実施形態によれば、データ処理部１２が、キャッシュ情報に基づいて、キャッシュミスが発生する可能性の低いアクセス要求に対してキャッシュメモリ１４ｂを経由するデータ転送経路に切り替え、キャッシュミスが発生する可能性の低いアクセス要求に対してキャッシュを経由しないデータ転送経路に切り替えるように、データ転送経路切替命令を発行する。従って、キャッシュミスが発生する可能性の高いアクセス要求に対して、無駄なメモリアクセスの発生を抑制することができる。その結果、データ処理のタイムアウトが回避される。換言すると、本発明の第１実施形態によれば、キャッシュ１４がメインメモリに対して行うキャッシュライン単位のアクセスよりも、キャッシュ１４を使用しない直接アクセスの方がメモリ帯域の消費が少ない場合があることを利用して、キャッシュミスの頻度に基づいてキャッシュの使用／非使用を切り替えるので、無駄なメモリ帯域の消費を抑制することができる。
【００４９】
また、本発明の第１実施形態によれば、キャッシュ判定部１４ｃがキャッシュヒット率及びキャッシュミス率を算出するので、データ処理部１２がキャッシュヒット率及びキャッシュミス率を算出する必要がなくなる。その結果、データ処理部１２の負担が低減する。
【００５０】
また、本発明の第１実施形態によれば、キャッシュ判定部１４ｃが、バンド幅に基づいてキャッシュ判定工程（Ｓ２０２）を行うので、キャッシュミス回数の判定条件を決める場合に比べて、ユーザは、バンド幅の判定条件を容易に決めることができる。
【００５１】
また、本発明の第１実施形態によれば、キャッシュ判定部１４ｃが、データ処理において取り扱われるデータの種類に基づいてデータ転送経路切替命令発行工程（Ｓ３０２）を行うので、データの種類によって消費されるバンド幅が異なる場合にも同様に効果を得ることができる。特に、データ処理部１２がビデオデータのデコーダとして機能する場合には、キャッシュ１４に対するアクセス要求のパターンがデコード処理において取り扱われるストリームによって決まる（例えば、ある種のストリームが取り扱われる場合には、キャッシュ１４に対するアクセス効率が極めて低く、キャッシュ１４を利用しない方が消費されるバンド幅が極めて低くなる）ので、ストリームの種類に基づいてデータ転送経路切替命令発行工程（Ｓ３０２）が行われることは有効である。
【００５２】
（第２実施形態）
本発明の第２実施形態について説明する。本発明の第２実施形態は、通知信号を用いて、データ転送経路を切り替えるデータ処理装置の例である。
【００５３】
本発明の第２実施形態に係るデータ処理装置の構成について図面を参照して説明する。図８は、本発明の第２実施形態に係るデータ処理装置の構成を示すブロック図である。
【００５４】
図８に示す本発明の第２実施形態に係るデータ処理装置１０は、本発明の第２実施形態と同様の構成を備えている（図１を参照）。また、データ処理部１２、キャッシュ情報記憶部１６、データ転送経路切替部１８、内部バス１９、メモリ制御部２０、メインメモリ３０、及び外部バス４０は、本発明の第２実施形態と同様である（図１を参照）。
【００５５】
図８に示すキャッシュ１４は、キャッシュメモリ１４ａと、キャッシュメモリ制御部１４ｂと、キャッシュ判定部１４ｃと、通知信号発行部１４ｄと、を備えている。キャッシュメモリ１４ａ、キャッシュメモリ制御部１４ｂ、及びキャッシュ判定部１４ｃは、本発明の第２実施形態と同様である。通知信号発行部１４ｄは、キャッシュ情報記憶部１６に記憶されたキャッシュ情報が所定の判定条件を具備する場合（例えば、キャッシュミスの発生頻度が許容範囲Ｔｈを超える場合）に、キャッシュ情報が判定条件を具備することを示す通知信号を発行するように構成されている。
【００５６】
本発明の第２実施形態に係るデータ処理装置の動作について図面を参照して説明する。図９は、本発明の第２実施形態に係るデータ転送経路切替処理の手順を示すフローチャートである。
【００５７】
図９に示すように、通知信号発行部１４ｄが、キャッシュ情報記憶部１６に記憶されたキャッシュ情報が所定の判定条件を具備するか否かを判定する（Ｓ９０１）。キャッシュ情報が判定条件を具備する場合（例えば、キャッシュミスの発生頻度が許容範囲Ｔｈを超えている場合）には（Ｓ９０１−ＹＥＳ）、通知信号発行工程（Ｓ９０２）に進み、キャッシュ情報が判定条件を具備しない場合（例えば、キャッシュミスの発生頻度が許容範囲Ｔｈ以下である場合）には（Ｓ９０１−ＮＯ）、Ｓ９１１に進む。
【００５８】
図９に示すように、通知信号発行工程（Ｓ９０２）では、通知信号発行部１４ｄが、通知信号（割込信号）を発行して、データ処理部１２に転送する。通知信号発行工程（Ｓ９０２）の結果、データ処理部１２が、キャッシュ情報が判定条件を具備しないことを知る。
【００５９】
次に、図９に示すように、データ転送経路切替命令発行工程（Ｓ９０３）が行われる。データ転送経路切替命令発行工程（Ｓ９０３）では、データ処理部１２が、通知信号発行部１４ｄから転送された通知信号（割込信号）に基づいて、データ転送経路切替命令を発行して、データ転送経路切替部１８に転送する。データ転送経路切替命令発行工程（Ｓ３０２）の結果、データ転送経路切替部１８が、キャッシュ情報が判定条件を具備しないことを知る。
【００６０】
次に、図９に示すように、Ｓ９０４が、図３に示すＳ３０３と同様に行われる。
【００６１】
一方、図９に示すように、Ｓ９１１が、図３に示すＳ３１１と同様に行われる。
【００６２】
図９に示すように、本発明の第２実施形態に係るデータ転送経路切替処理は、Ｓ９０４又はＳ９１１の後に完了する。
【００６３】
なお、本発明の第２実施形態では、図８に示す構成について例示したが、本発明の範囲はこれに限られるものではない。例えば、キャッシュ情報記憶部１６及びデータ転送経路切替部１８は、キャッシュ１４に組み込まれてもよい。この場合には、通知信号発行部１４ｄは、割込信号とは異なる通知信号を発行して、キャッシュ１４に組み込まれたデータ転送経路切替部１８に転送する。また、データ処理部１２、キャッシュ１４、及びメインメモリ３０は、外部バス４０又はバス以外の接続手段を介して互いに接続されてもよい。また、通知信号発行部１４ｄは、キャッシュ１４の外部に設けられてもよい。
【００６４】
また、本発明の第２実施形態によれば、データ転送経路切替処理の実行タイミングを予め通知信号発行部１４ｄに指定するので、データ処理部１２が意識することなく、データ転送経路切替処理を行うことができる。
【００６５】
本発明の第２実施形態によれば、通知信号発行部１４ｄが、キャッシュ情報に基づいて、キャッシュミスが発生する可能性を判定する。従って、本発明の第１実施形態に比べて、データ処理部１２の負担を軽減し、且つ、キャッシュミスが発生する可能性の高いアクセス要求に対して、無駄なメモリアクセスの発生を抑制することができる。その結果、データ処理のタイムアウトが回避される。
【００６６】
本発明の実施形態に係るデータ処理装置１０の少なくとも一部は、ハードウェアで構成しても良いし、ソフトウェアで構成しても良い。ソフトウェアで構成する場合には、データ処理装置１０の少なくとも一部の機能を実現するプログラムをフレキシブルディスクやＣＤ−ＲＯＭ等の記録媒体に収納し、コンピュータに読み込ませて実行させても良い。記録媒体は、磁気ディスクや光ディスク等の着脱可能なものに限定されず、ハードディスク装置やメモリなどの固定型の記録媒体でも良い。
【００６７】
また、本発明の実施形態に係るデータ処理装置１０の少なくとも一部の機能を実現するプログラムを、インターネット等の通信回線（無線通信も含む）を介して頒布しても良い。さらに、同プログラムを暗号化したり、変調をかけたり、圧縮した状態で、インターネット等の有線回線や無線回線を介して、あるいは記録媒体に収納して頒布しても良い。
【００６８】
上述した実施形態は、いずれも一例であって限定的なものではないと考えられるべきである。本発明の技術的範囲は、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【００６９】
【図１】本発明の第１実施形態に係るデータ処理装置の構成を示すブロック図である。
【図２】本発明の第１実施形態に係るデータ処理の手順を示すシーケンス図である。
【図３】本発明の第１実施形態に係るデータ転送経路切替処理の手順を示すフローチャートである。
【図４】本発明の第１実施形態に係る第１データ転送経路を示すブロック図である。
【図５】本発明の第１実施形態に係る第２データ転送経路を示すブロック図である。
【図６】本発明の第１実施形態に係る第３データ転送経路を示すブロック図である。
【図７】本発明の第１実施形態に係る第３データ転送経路の変形例を示すブロック図である。
【図８】本発明の第２実施形態に係るデータ処理装置の構成を示すブロック図である。
【図９】本発明の第２実施形態に係るデータ転送経路切替処理の手順を示すフローチャートである。
【図１０】本発明の第１実施形態の変形例に係るデータ処理装置の構成を示すブロック図である。
【符号の説明】
【００７０】
１０  データ処理装置
１２  データ処理部
１４  キャッシュ
１４ａ  キャッシュメモリ
１４ｂ  キャッシュメモリ制御部
１４ｃ  キャッシュ判定部
１４ｄ  通知信号発行部
１６  キャッシュ情報記憶部
１８  データ転送経路切替部
１９  内部バス
２０  メモリ制御部
３０  メインメモリ
４０  外部バス
【図１】
2010165316.tif 000003
【図２】
2010165316.tif 000004
【図３】
2010165316.tif 000005
【図４】
2010165316.tif 000006
【図５】
2010165316.tif 000007
【図６】
2010165316.tif 000008
【図７】
2010165316.tif 000009
【図８】
2010165316.tif 000010
【図９】
2010165316.tif 000011
【図１０】
2010165316.tif 000012