(57)【要約】【課題】  プリフェッチを適切に行ってリアルタイム処理に遅延が発生する可能性を低くする。【解決手段】  各マスターモジュール４は、メモリーモジュール１内のデータを読み出すためにリードアクセス要求を発行するＤＭＡコントローラー１１と、ＤＭＡコントローラー１１により読み出されたリードデータを一時的に格納するＤＭＡバッファー１２とを有する。そして、プリフェッチ部５は、マスターモジュール４のＤＭＡバッファー１２の残データ量を監視し、その残データ量に基づくタイミングで、そのマスターモジュール４についてのプリフェッチを行う。【選択図】図１
2016081215.tif 000002
【特許請求の範囲】
【請求項１】
メモリーモジュール内のデータを読み出すためにリードアクセス要求を発行するダイレクトメモリーアクセスコントローラーを有するマスターモジュールと、
前記マスターモジュールのために、前記メモリーモジュール内のデータのプリフェッチを行うプリフェッチ部とを備え、
前記マスターモジュールは、前記ダイレクトメモリーアクセスコントローラーにより読み出されたリードデータを一時的に格納するバッファーを有し、
前記プリフェッチ部は、前記マスターモジュールの前記バッファーの残データ量を監視し、前記残データ量に基づくタイミングで、前記マスターモジュールについてのプリフェッチを行うこと、
を特徴とする電子機器。
【請求項２】
前記プリフェッチ部は、前記マスターモジュールの前記バッファーの残データ量を監視し、前記残データ量の減少速度に基づくタイミングで、前記マスターモジュールについてのプリフェッチを行うことを特徴とする請求項１記載の電子機器。
【請求項３】
前記プリフェッチ部は、前記マスターモジュールの前記バッファーの前記残データ量がゼロである期間が所定時間継続したときに前記マスターモジュールについてのプリフェッチを行うことを特徴とする請求項１記載の電子機器。
【請求項４】
複数のマスターモジュールを備え、
前記プリフェッチ部は、前記複数のマスターモジュールの前記バッファーの残データ量を監視し、前記複数のマスターモジュールのうち、前記残データ量の少ないマスターモジュールについてのプリフェッチを、前記残データ量の多いマスターモジュールについてのプリフェッチより優先して行うこと、
を特徴とする請求項１記載の電子機器。
【請求項５】
複数のマスターモジュールを備え、
前記プリフェッチ部は、前記複数のマスターモジュールの前記バッファーの残データ量を監視し、前記複数のマスターモジュールのうち、前記残データ量が継続的にゼロとなっている時間の長いマスターモジュールについてのプリフェッチを、前記残データ量が継続的にゼロとなっている時間の短いマスターモジュールについてのプリフェッチより優先して行うこと、
を特徴とする請求項１記載の電子機器。
【請求項６】
前記プリフェッチ部は、前記複数のマスターモジュールのそれぞれについてリードアクセス要求を時系列的に監視し、前記リードアクセス要求に基づいて、前記複数のマスターモジュールのそれぞれについてのリードアクセスパターンを特定し、特定した前記リードアクセスパターンに基づいて、前記複数のマスターモジュールのそれぞれについてプリフェッチするデータを特定することを特徴とする請求項４または請求項５記載の電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子機器に関するものである。
【背景技術】
【０００２】
ある電子機器では、代理リードアクセス回路が、過去のリードアクセスに基づいて、プリフェッチアドレスを特定し、特定したプリフェッチアドレスのデータをプリフェッチしている（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−３８０６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述の技術では、代理リードアクセス回路は、プリフェッチより高い優先度を有するリードアクセス要求がない期間にプリフェッチしている。
【０００５】
しかしながら、上述のように優先度の高いリードアクセス要求がない期間までプリフェッチを待っていると、あるマスターモジュールが、スキャン画像処理、ビデオ画像処理などのリアルタイム処理などにおいて、リード要求を発行後一定時間内にデータを受け取ることが要求される場合にデータリードに遅延が発生し、リアルタイム処理に遅延が発生する可能性がある。
【０００６】
本発明は、上記の問題に鑑みてなされたものであり、プリフェッチを適切に行ってリアルタイム処理に遅延が発生する可能性を低くする電子機器を得ることを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係る電子機器は、メモリーモジュール内のデータを読み出すためにリードアクセス要求を発行するダイレクトメモリーアクセスコントローラーを有するマスターモジュールと、前記マスターモジュールのために、前記メモリーモジュール内のデータのプリフェッチを行うプリフェッチ部とを備える。そして、前記マスターモジュールは、前記ダイレクトメモリーアクセスコントローラーにより読み出されたリードデータを一時的に格納するバッファーを有し、前記プリフェッチ部は、前記マスターモジュールの前記バッファーの残データ量を監視し、前記残データ量に基づくタイミングで、前記マスターモジュールについてのプリフェッチを行う。
【発明の効果】
【０００８】
本発明によれば、プリフェッチを適切に行ってリアルタイム処理に遅延が発生する可能性を低くする電子機器を得ることができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、本発明の実施の形態に係る電子機器の構成を示すブロック図である。
【発明を実施するための形態】
【００１０】
以下、図に基づいて本発明の実施の形態を説明する。
【００１１】
図１は、本発明の実施の形態に係る電子機器の構成を示すブロック図である。
【００１２】
図１に示す電子機器では、メモリーモジュール１のメモリーコントローラー２がバス３に接続されている。メモリーモジュール１は、ＤＲＡＭ（Dynamic Random Access Memory）のモジュールである。例えば、メモリーモジュール１としては、ＤＤＲ３−ＳＤＲＡＭ（Double Data Rate 3 - Synchronous DRAM）が使用される。メモリーコントローラー２は、バス３からリードアクセス要求を受け付けると、そのリードアクセス要求により指定されたデータをメモリーモジュール１から取り出し、バス３へ送出する。
【００１３】
バス３には、複数のマスターモジュール４が接続されている。各マスターモジュール４は、ＤＭＡ（Direct Memory Access）コントローラー１１を有する。ＤＭＡコントローラー１１は、メモリーモジュール１内のデータを読み出すためにリードアクセス要求をバス３へ発行する。また、各マスターモジュール４は、ＤＭＡコントローラー１１により読み出されたリードデータを一時的に格納するＤＭＡバッファー１２を有する。マスターモジュール４は、ＤＭＡバッファー１２内のリードデータを読み出し、そのリードデータに対して所定の処理を実行する。マスターモジュール４は、ＤＭＡバッファー１２内のリードデータが処理の実行に不要となった時点でＤＭＡバッファー１２から削除する。
【００１４】
さらに、バス３には、プリフェッチ部５が接続されている。プリフェッチ部５は、メモリーモジュール１内のデータのプリフェッチを行う。特に、プリフェッチ部５は、各マスターモジュール４のＤＭＡバッファー１２の残データ量を監視し、その残データ量に基づくタイミングで、そのマスターモジュール４についてのプリフェッチを行う。
【００１５】
プリフェッチ部５は、判定部３１、データリード部３２、データバッファー３３、およびアクセス要求処理部３４を備える。
【００１６】
各マスターモジュール４は、マスターモジュール４のＩＤおよびＤＭＡバッファー１２内の残データ量を定期的にプリフェッチ部５に通知する。判定部３１は、そのＩＤおよび残データ量を受信し、マスターモジュール４ごとに、残データ量に基づいてプリフェッチを行うか否かを判定する。
【００１７】
例えば、判定部３１は、あるマスターモジュール４の残データ量が、そのマスターモジュール４の性能要求に基づき設定される閾値未満になったときにプリフェッチを行うと判定する。あるいは、例えば、プリフェッチ部は、マスターモジュール４の残データ量がゼロである期間が、そのマスターモジュール４の性能要求に基づき設定される閾値を超える時間継続したときにプリフェッチを行うと判定する。
【００１８】
データリード部３２は、判定部３１によりプリフェッチを行うと判定された場合に、プリフェッチを行い、プリフェッチによるリードデータを、マスターモジュール４のＩＤおよびアドレスに関連付けてデータバッファー３３に格納する。
【００１９】
アクセス要求処理部３４は、各マスターモジュール４からバス３へ送出されるリードアクセス要求に関する処理を行う。
【００２０】
具体的には、アクセス要求処理部３４は、各マスターモジュール４からバス３へ送出されるリードアクセス要求を受け付け、リードアクセス要求の対象となるアドレスのデータがデータバッファー３３に格納されているか否かを判定し、リードアクセス要求の対象となるアドレスのデータがデータバッファー３３に格納されている場合、受け付けたリードアクセス要求をメモリーコントローラー２へ送出せずに、そのデータをデータバッファー３３から読み出し、そのデータを、リードアクセス要求の送信元のマスターモジュール４に宛ててバス３へ送出する。
【００２１】
一方、リードアクセス要求の対象となるアドレスのデータがデータバッファー３３に格納されていない場合、アクセス要求処理部３４は、受け付けたリードアクセス要求を、送信元を変更せずに、メモリーコントローラー２へ送出する。これにより、リードデータが、メモリーコントローラー２によって、リードアクセス要求の送信元のマスターモジュール４に宛ててバス３へ送出される。
【００２２】
なお、マスターモジュール４からのリードアクセス要求の対象となるアドレスのデータがデータバッファー３３に格納されていない場合、そのマスターモジュール４についてデータバッファー３３に別のデータが格納されているときには、アクセス要求処理部３４は、データバッファー３３に格納されている、そのマスターモジュール４についてのデータを破棄する。
【００２３】
また、アクセス要求処理部３４は、複数のマスターモジュール４のそれぞれについてリードアクセス要求を時系列的に監視し、リードアクセス要求に基づいて、複数のマスターモジュール４のそれぞれについてのリードアクセスパターンを特定し、特定したリードアクセスパターンに基づいて、複数のマスターモジュール４のそれぞれについてプリフェッチするデータ（つまりリードアクセスするアドレス）を特定する。データリード部３２は、アクセス要求処理部３４により特定されたデータに対するプリフェッチを行う。
【００２４】
具体的には、マスターモジュール４ごとに、アクセス要求処理部３４は、受け付けたリードアクセス要求の対象となるアドレスの履歴を記憶し、リードアクセスパターン（連続的にアクセスされるブロックのサイズ、アクセスされるアドレスが不連続になる周期、アクセスされるアドレスが不連続になる際のアドレス変化量など）を特定する。
【００２５】
次に、上記電子機器の動作について説明する。
【００２６】
プリフェッチ部５は、自律的にプリフェッチ処理を行うとともに、マスターモジュール４からのリードアクセス要求の受信時にアクセス要求処理を行う。
【００２７】
（１）プリフェッチ処理
【００２８】
プリフェッチ部５は、上述のように、マスターモジュール４のＤＭＡバッファー１２の残データ量を監視しており、残データ量についての所定の条件に従ってプリフェッチを行っている。その際、プリフェッチ部５は、マスターモジュール４ごとに別々に、過去のリードアクセス要求の履歴に基づいて、プリフェッチを行うデータを決定する。
【００２９】
（２）アクセス要求処理
【００３０】
また、プリフェッチ部５は、マスターモジュール４からバス３へ送出されたリードアクセス要求を取得し、リードアクセス要求により指定されたデータがプリフェッチによってリード済みである場合には、リードアクセス要求をメモリーコントローラー２へ送信せずに、既に得られているリードデータをそのマスターモジュール４へ提供する。一方、リードアクセス要求により指定されたデータがプリフェッチによってリード済みではない場合には、プリフェッチ部５は、取得したリードアクセス要求をメモリーコントローラー２へ送信する。
【００３１】
また、プリフェッチ部５は、リードアクセス要求を取得すると、マスターモジュール４ごとに、リードアクセス要求（アクセス先のアドレス）の履歴に追加する。
【００３２】
以上のように、上記実施の形態によれば、各マスターモジュール４は、メモリーモジュール１内のデータを読み出すためにリードアクセス要求を発行するＤＭＡコントローラー１１と、ＤＭＡコントローラー１１により読み出されたリードデータを一時的に格納するＤＭＡバッファー１２とを有する。そして、プリフェッチ部５は、マスターモジュール４のＤＭＡバッファー１２の残データ量を監視し、その残データ量に基づくタイミングで、そのマスターモジュール４についてのプリフェッチを行う。
【００３３】
これにより、各マスターモジュール４におけるリードデータ待ちの時間が長くならないようにプリフェッチが適切に行われるため、リアルタイム処理に遅延が発生する可能性が低くなる。
【００３４】
なお、上述の各実施の形態は、本発明の好適な例であるが、本発明は、これらに限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々の変形、変更が可能である。
【００３５】
例えば、上記実施の形態において、プリフェッチ部５は、マスターモジュール４のＤＭＡバッファー１２の残データ量の減少速度に基づくタイミングで、マスターモジュール４についてのプリフェッチを行うようにしてもよい。
【００３６】
また、上記実施の形態において、プリフェッチ部５は、複数のマスターモジュール４についてのプリフェッチが競合した場合、残データ量の少ないマスターモジュールについてのプリフェッチを、残データ量の多いマスターモジュールについてのプリフェッチより優先して行うようにしてもよい。
【００３７】
また、上記実施の形態において、プリフェッチ部５は、複数のマスターモジュール４についてのプリフェッチが競合した場合、残データ量が継続的にゼロとなっている時間の長いマスターモジュールについてのプリフェッチを、残データ量が継続的にゼロとなっている時間の短いマスターモジュールについてのプリフェッチより優先して行うようにしてもよい。
【産業上の利用可能性】
【００３８】
本発明は、例えば、リアルタイムで画像処理を行う画像処理装置に適用可能である。
【符号の説明】
【００３９】
１  メモリーモジュール
４  マスターモジュール
５  プリフェッチ部
１１  ＤＭＡコントローラー
１２  ＤＭＡバッファー（バッファーの一例）
【図１】
2016081215.tif 000003