(57)【要約】  メモリアクセス制御部は、データ及び全ページの仮想ページ番号と物理ページ番号との対応を格納したページテーブルを記憶する記憶部と、一部のページの仮想ページ番号と物理ページ番号とを対応させて記憶するバッファ、及び、バッファの記憶内容に基づいて仮想アドレスを物理アドレスに変換する変換処理部を有する変換部と、を備え、変換処理部は、アクセス要求に係る仮想アドレスの仮想ページ番号がバッファ内に存在しない場合、バッファにおいて、仮想アドレスを物理アドレスに変換した変換済み回数が変換実行回数に達したページの仮想ページ番号と物理ページ番号とを、アクセス要求に係る仮想アドレスの仮想ページ番号とこの仮想ページ番号に対応する記憶部内の物理ページ番号とに書き換える。
2010150451.tif 000002
【特許請求の範囲】
【請求項１】
データ、及び、複数のページの夫々について、仮想アドレスの一部であってページを示す仮想ページ番号と物理アドレスの一部であってページを示す物理ページ番号との対応関係を示すページテーブルを記憶する記憶部と、
前記複数のページの一部のページの夫々について、前記仮想ページ番号と前記物理ページ番号とを対応させて記憶するバッファ、及び、前記バッファの記憶内容に基づいて仮想アドレスを物理アドレスに変換する変換処理部を有する変換部と、
物理アドレスに変換を施すアクセス要求に係る仮想アドレスを前記変換処理部に対して渡し、前記変換処理部により得られた物理アドレスに基づいて前記記憶部からデータを取得する制御部と、
を備え、
前記変換処理部は、
前記アクセス要求に係る仮想アドレスの仮想ページ番号が前記バッファ内に存在しない場合、前記バッファにおいて、仮想アドレスを物理アドレスに変換した変換済み回数が変換実行回数に達したページの仮想ページ番号と物理ページ番号とを、前記アクセス要求に係る仮想アドレスの仮想ページ番号とこの仮想ページ番号に対応する前記記憶部内の物理ページ番号とに書き換える
メモリアクセス制御装置。
【請求項２】
前記変換部は、前記変換実行回数を基準回数として予め記憶する基準回数記憶部を更に備える請求項１記載のメモリアクセス制御装置。
【請求項３】
前記変換部は、前記変換実行回数を計算する回数計算部を更に備える請求項１記載のメモリアクセス制御装置。
【請求項４】
前記回数計算部は、ページサイズと、１回のアクセスで前記記憶部から読み出されるデータのデータサイズと、ページにおける読み出しが開始される仮想アドレス及びページにおける読み出しを終了する仮想アドレスの少なくとも一方とに基づいて、前記変換実行回数を計算する
請求項３記載のメモリアクセス制御装置。
【請求項５】
データ、及び、複数のページの夫々について、仮想アドレスの一部であってページを示す仮想ページ番号と物理アドレスの一部であってページを示す物理ページ番号との対応関係を示すページテーブルを記憶する記憶部と、
前記複数のページの一部のページの夫々について、前記仮想ページ番号と前記物理ページ番号とを対応させて記憶するバッファ、及び、前記バッファの記憶内容に基づいて仮想アドレスを物理アドレスに変換する変換処理部を有する変換部と、
物理アドレスに変換を施すアクセス要求に係る仮想アドレスを前記変換処理部に対して渡し、前記変換処理部により得られた物理アドレスに基づいて前記記憶部からデータを取得する制御部と、
を備え、
前記変換処理部は、
前記アクセス要求に係る仮想アドレスの仮想ページ番号が前記バッファ内に存在しない場合、前記バッファにおいて、仮想アドレスを物理アドレスに変換した変換済み回数が変換実行回数に達したページの仮想ページ番号と物理ページ番号とを、前記アクセス要求に係る仮想アドレスの仮想ページ番号とこの仮想ページ番号に対応する前記記憶部内の物理ページ番号とに書き換える
集積回路。
【請求項６】
データ、及び、複数のページの夫々について、仮想アドレスの一部であってページを示す仮想ページ番号と物理アドレスの一部であってページを示す物理ページ番号との対応関係を示すページテーブルを記憶する記憶部と、前記複数のページの一部のページの夫々について、前記仮想ページ番号と前記物理ページ番号とを対応させて記憶するバッファ、及び、前記バッファの記憶内容に基づいて仮想アドレスを物理アドレスに変換する変換処理部を有する変換部と、物理アドレスに変換を施すアクセス要求に係る仮想アドレスを前記変換処理部に対して渡し、前記変換処理部により得られた物理アドレスに基づいて前記記憶部からデータを取得する制御部と、を備えるメモリアクセス制御装置において行われるメモリアクセス制御方法であって、
前記変換処理部は、
前記アクセス要求に係る仮想アドレスの仮想ページ番号が前記バッファ内に存在するかを判定する判定ステップと、
存在しないと判定した場合、前記アクセス要求に係る仮想アドレスの仮想ページ番号に対応する物理ページ番号を前記記憶部から読み出すステップと、
前記バッファにおいて、仮想アドレスを物理アドレスに変換した変換済み回数が変換実行回数に達したページの仮想ページ番号と物理ページ番号とを、前記アクセス要求に係る仮想アドレスの仮想ページ番号と読み出された物理ページ番号とに書き換える書き換えステップと、
を有するメモリアクセス制御方法。
【請求項７】
メモリアクセス制御部と、当該メモリアクセス制御部に対して仮想アドレスによるアクセス要求を行う処理部とを備えるデータ処理装置であって、
前記メモリアクセス制御部は、
データ、及び、複数のページの夫々について、仮想アドレスの一部であってページを示す仮想ページ番号と物理アドレスの一部であってページを示す物理ページ番号との対応関係を示すページテーブルを記憶する記憶部と、
前記複数のページの一部のページの夫々について、前記仮想ページ番号と前記物理ページ番号とを対応させて記憶するバッファ、及び、前記バッファの記憶内容に基づいて仮想アドレスを物理アドレスに変換する変換処理部を有する変換部と、
物理アドレスに変換を施す前記処理部からのアクセス要求に係る仮想アドレスを前記変換処理部に対して渡し、前記変換処理部により得られた物理アドレスに基づいて前記記憶部からデータを取得して取得したデータを前記処理部へ出力する制御部と、
を備え、
前記変換処理部は、
前記アクセス要求に係る仮想アドレスの仮想ページ番号が前記バッファ内に存在しない場合、前記バッファにおいて、仮想アドレスを物理アドレスに変換した変換済み回数が変換実行回数に達したページの仮想ページ番号と物理ページ番号とを、前記アクセス要求に係る仮想アドレスの仮想ページ番号とこの仮想ページ番号に対応する前記記憶部内の物理ページ番号とに書き換える
データ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想アドレスを物理アドレスに変換する技術に関する。
【背景技術】
【０００２】
仮想空間でデータを扱う処理装置において、データ処理を行うデータ処理部がデータを記憶部から読み出すためには、データ処理部は記憶部に格納されているデータの物理アドレスでのアクセスが必要となる。しかしながら、データ処理部は、仮想アドレスでデータを管理するため、仮想アドレスから物理アドレスへの変換が必要となる。この変換を行う変換部は、一般的にコスト抑制のため、ページ毎に仮想アドレスの上位ビットで表される仮想ページ番号（仮想空間でのページを示す情報）と物理アドレスの上位ビットで表される物理ページ番号（物理空間でのページを示す情報）との対応関係を示すページテーブル内の一部のページのみの情報をバッファに記憶する。但し、仮想アドレスは仮想ページ番号とページ内オフセットとからなり、物理アドレスは物理ページ番号とページ内オフセットとからなり、仮想アドレスのページ内オフセットと物理アドレスのページ内オフセットとは同じである。なお、仮想アドレス及び物理アドレスの概要については図２を参照して後述する。【０００３】
変換部は、仮想アドレスの仮想ページ番号に対応するバッファ内の物理ページ番号と、仮想アドレスのページ内オフセットとを用いて、仮想アドレスを物理アドレスに変換する。このため、変換部は、仮想ページ番号がバッファ内に存在するページについては、このページの仮想アドレスをバッファ内の情報を用いて物理アドレスに変換することが可能である。しかしながら、変換部は、仮想ページ番号がバッファ内に存在しないページについては、このページに関する仮想アドレスをバッファ内の情報を用いて物理アドレスに変換することができない。【０００４】
変換部は、バッファに仮想ページ番号が記憶されていないページに関する仮想アドレスを物理アドレスに変換する必要がある場合には、ページテーブル全体を記憶している記憶部から必要なページの仮想ページ番号に対応する物理ページ番号を読み出し、読み出した内容に基づいてバッファを更新し、仮想アドレスを物理アドレスに変換することになる。【０００５】
このページテーブル全体へのアクセスには時間がかかり、このことはリアルタイム処理が必要となるシステムにおいて問題となる。このため、変換部は、バッファに記憶されている今後不必要なページの情報を今後必要なページの情報に置き換えることが求められる。【０００６】
この不必要なページの情報を特定する方法として、各ページのアクセス回数を記憶するメモリを用意し、メモリに記憶されているアクセス回数に基づいてアクセス頻度の最も低いページを不必要なページとして特定する方法がある。このような従来の技術として、例えば、特許文献１に記載されたものがある。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平０４−１２３１４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、上記の従来の技術を仮想アドレスと物理アドレスとの変換を行い、例えばページに対してアクセスする回数が定まるメモリアクセス制御装置に適用した場合、次のような問題がある。バッファから現在までのアクセス頻度が低いが今後アクセスされる可能性が高いページの情報がなくなり、バッファに現在までのアクセス頻度が高いが今後アクセスされる可能性が低いページの情報が残り、バッファでのヒット率が低下するという問題がある。【０００９】
そこで、本発明は、バッファでのヒット率の向上を図ることが可能なメモリアクセス制御装置、集積回路、メモリアクセス制御方法及びデータ処理装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するために本発明のメモリアクセス制御装置は、データ、及び、複数のページの夫々について、仮想アドレスの一部であってページを示す仮想ページ番号と物理アドレスの一部であってページを示す物理ページ番号との対応関係を示すページテーブルを記憶する記憶部と、前記複数のページの一部のページの夫々について、前記仮想ページ番号と前記物理ページ番号とを対応させて記憶するバッファ、及び、前記バッファの記憶内容に基づいて仮想アドレスを物理アドレスに変換する変換処理部を有する変換部と、物理アドレスに変換を施すアクセス要求に係る仮想アドレスを前記変換処理部に対して渡し、前記変換処理部により得られた物理アドレスに基づいて前記記憶部からデータを取得する制御部と、を備え、前記変換処理部は、前記アクセス要求に係る仮想アドレスの仮想ページ番号が前記バッファ内に存在しない場合、前記バッファにおいて、仮想アドレスを物理アドレスに変換した変換済み回数が変換実行回数に達したページの仮想ページ番号と物理ページ番号とを、前記アクセス要求に係る仮想アドレスの仮想ページ番号とこの仮想ページ番号に対応する前記記憶部内の物理ページ番号とに書き換える。【００１１】
本発明の集積回路は、データ、及び、複数のページの夫々について、仮想アドレスの一部であってページを示す仮想ページ番号と物理アドレスの一部であってページを示す物理ページ番号との対応関係を示すページテーブルを記憶する記憶部と、前記複数のページの一部のページの夫々について、前記仮想ページ番号と前記物理ページ番号とを対応させて記憶するバッファ、及び、前記バッファの記憶内容に基づいて仮想アドレスを物理アドレスに変換する変換処理部を有する変換部と、物理アドレスに変換を施すアクセス要求に係る仮想アドレスを前記変換処理部に対して渡し、前記変換処理部により得られた物理アドレスに基づいて前記記憶部からデータを取得する制御部と、を備え、前記変換処理部は、前記アクセス要求に係る仮想アドレスの仮想ページ番号が前記バッファ内に存在しない場合、前記バッファにおいて、仮想アドレスを物理アドレスに変換した変換済み回数が変換実行回数に達したページの仮想ページ番号と物理ページ番号とを、前記アクセス要求に係る仮想アドレスの仮想ページ番号とこの仮想ページ番号に対応する前記記憶部内の物理ページ番号とに書き換える。【００１２】
本発明のメモリアクセス制御方法は、データ、及び、複数のページの夫々について、仮想アドレスの一部であってページを示す仮想ページ番号と物理アドレスの一部であってページを示す物理ページ番号との対応関係を示すページテーブルを記憶する記憶部と、前記複数のページの一部のページの夫々について、前記仮想ページ番号と前記物理ページ番号とを対応させて記憶するバッファ、及び、前記バッファの記憶内容に基づいて仮想アドレスを物理アドレスに変換する変換処理部を有する変換部と、物理アドレスに変換を施すアクセス要求に係る仮想アドレスを前記変換処理部に対して渡し、前記変換処理部により得られた物理アドレスに基づいて前記記憶部からデータを取得する制御部と、を備えるメモリアクセス制御装置において行われるメモリアクセス制御方法であって、前記変換処理部は、前記アクセス要求に係る仮想アドレスの仮想ページ番号が前記バッファ内に存在するかを判定する判定ステップと、存在しないと判定した場合、前記アクセス要求に係る仮想アドレスの仮想ページ番号に対応する物理ページ番号を前記記憶部から読み出すステップと、前記バッファにおいて、仮想アドレスを物理アドレスに変換した変換済み回数が変換実行回数に達したページの仮想ページ番号と物理ページ番号とを、前記アクセス要求に係る仮想アドレスの仮想ページ番号と読み出された物理ページ番号とに書き換える書き換えステップと、有する。【００１３】
本発明のデータ処理装置は、メモリアクセス制御部と、当該メモリアクセス制御部に対して仮想アドレスによるアクセス要求を行う処理部とを備えるデータ処理装置であって、前記メモリアクセス制御部は、データ、及び、複数のページの夫々について、仮想アドレスの一部であってページを示す仮想ページ番号と物理アドレスの一部であってページを示す物理ページ番号との対応関係を示すページテーブルを記憶する記憶部と、前記複数のページの一部のページの夫々について、前記仮想ページ番号と前記物理ページ番号とを対応させて記憶するバッファ、及び、前記バッファの記憶内容に基づいて仮想アドレスを物理アドレスに変換する変換処理部を有する変換部と、物理アドレスに変換を施す前記処理部からのアクセス要求に係る仮想アドレスを前記変換処理部に対して渡し、前記変換処理部により得られた物理アドレスに基づいて前記記憶部からデータを取得して取得したデータを前記処理部へ出力する制御部と、を備え、前記変換処理部は、前記アクセス要求に係る仮想アドレスの仮想ページ番号が前記バッファ内に存在しない場合、前記バッファにおいて、仮想アドレスを物理アドレスに変換した変換済み回数が変換実行回数に達したページの仮想ページ番号と物理ページ番号とを、前記アクセス要求に係る仮想アドレスの仮想ページ番号とこの仮想ページ番号に対応する前記記憶部内の物理ページ番号とに書き換える。
【発明の効果】
【００１４】
上記のメモリアクセス制御装置、集積回路、メモリアクセス制御方法、データ処理装置の夫々によれば、バッファにおいて、仮想アドレスを物理アドレスに変換した変換済み回数が変換実行回数に達したページの仮想ページ番号と物理ページ番号とを、アクセス要求に係る仮想アドレスの仮想ページ番号とこれに対応する物理ページ番号とに書き換える。このため、バッファに今後アクセスされる可能性が高いページの仮想ページ番号と物理ページ番号との対応が残り、バッファでのヒット率の向上が図られる。【００１５】
上記のメモリアクセス制御装置において、前記変換部は、前記変換実行回数を基準回数として予め記憶する基準回数記憶部を更に備えるようにしてもよい。【００１６】
これによれば、予め変換実行回数を基準回数として記憶する基準回数記憶部を設けることによって、バッファに仮想ページ番号及び物理ページ番号を書き込む度に変換実行回数を新たに取得する必要がなくなり、変換実行回数を取得に係る処理負荷の軽減を図ることができる。【００１７】
上記のメモリアクセス制御装置において、前記変換部は、前記変換実行回数を計算する回数計算部を更に備えるようにしてもよい。【００１８】
これによれば、ページの一部にデータが存在するような場合であっても、アクセス要求に係る仮想アドレスの仮想ページ番号とこれに対応する物理ページ番号とに書き換えられる、バッファ内の仮想ページ番号と物理ページ番号とを適切なものにすることが可能になる。これにより、バッファでのヒット率の向上が図られる。【００１９】
上記のメモリアクセス制御装置において、前記回数計算部は、ページサイズと、１回のアクセスで前記記憶部から読み出されるデータのデータサイズと、ページにおける読み出しが開始される仮想アドレス及びページにおける読み出しを終了する仮想アドレスの少なくとも一方とに基づいて、前記変換実行回数を計算するようにしてもよい。【００２０】
これによれば、変換実行回数の算出を容易に行うことができる。
【図面の簡単な説明】
【００２１】
【図１】第１の実施の形態に係るメモリアクセス制御部を備える再生装置の構成図。
【図２】仮想アドレスと物理アドレスとの概要を示す図。
【図３】図１のメモリアクセス制御部の構成図。
【図４】図３の記憶部に記憶されている各プレーンの仮想空間での配置と物理空間での配置の対応関係の概要を示す図。
【図５】図３の記憶部に記憶されているページテーブルの一例を示す図。
【図６】図３のＴＬＢの内容の一例を示す図。
【図７】図３のメモリアクセス制御部の動作の流れを示すフローチャート。
【図８】図３のブレンダーのデータの読み出しの順番を示すタイミング図。
【図９】図８の時刻Ｔ０におけるＴＬＢの内容を示す図。
【図１０】図８の時刻Ｔ１におけるＴＬＢの内容を示す図。
【図１１】図８の時刻Ｔ２におけるＴＬＢの内容を示す図。
【図１２】第２の実施の形態に係るメモリアクセス制御部を備える再生装置の構成図。
【図１３】図１２のメモリアクセス制御部の構成図。
【図１４】図１３のメモリアクセス制御部の動作の流れを示すフローチャート。
【図１５】図１３の回数計算部による回数計算処理の流れを示すフローチャート。
【図１６】図１３のブレンダーのデータの読み出しの順番を示すタイミング図。
【図１７】図１６の時刻Ｔ１０におけるＴＬＢの内容を示す図。
【図１８】図１６の時刻Ｔ１１におけるＴＬＢの内容を示す図。
【図１９】図１６の時刻Ｔ１２におけるＴＬＢの内容を示す図。
【図２０】図１６の時刻Ｔ１３におけるＴＬＢの内容を示す図。
【図２１】図１６の時刻Ｔ１４におけるＴＬＢの内容を示す図。
【発明を実施するための形態】
【００２２】
≪第１の実施の形態≫
以下、本発明の第１の実施の形態について図面を参照しつつ説明する。
【００２３】
＜再生装置＞
図１は第１の実施の形態に係るメモリアクセス制御部２６を備える再生装置１の構成図である。
【００２４】
再生装置１は、ディスクに記憶された映像情報や音声情報を再生するものであり、ドライバ１０と、復調部１１と、ＥＣＣデコーダ１２と、スイッチ１３と、第１プレローディングバッファ１４と、第２プレローディングバッファ１５と、第１リードバッファ１６と、第２リードバッファ１７と、スイッチ１８と、スイッチ１９と、ＩＧデコーダ２０と、Ｔｘｔデコーダ２１と、ＰＧデコーダ２２と、ビデオデコーダ２３と、オーディオデコーダ２４と、スイッチ２５と、メモリアクセス制御部２６と、ブレンダー２７と、ミキサ２８とを備える。
【００２５】
ここでは、メモリアクセス制御部２６以外の再生装置１の構成要素は一般的なものであるので、再生装置１の各構成要素の概要を記載するに留め、メモリアクセス制御部２６の詳細を図３以降で説明するものとする。
【００２６】
ドライバ１０は、ディスクに記憶された映像情報や音声情報等のデータを読み出し、読み出したデータを復調部１１へ出力する。復調部１１は、ドライバ１０から入力されたデータに対して復調処理を行い、復調処理後のデータをＥＣＣデコーダ１２へ出力する。ＥＣＣデコーダ１２は、復調部１１から入力されたデータに対して誤り訂正符号（Error Correcting Code：ECC）に基づく誤り訂正処理を行い、誤り訂正処理後のデータをスイッチ１３へ出力する。スイッチ１３は、ＥＣＣデコーダ１２から入力されたデータの出力先を、不図示の制御部に制御されて、第１プレローディングバッファ１４、第２プレローディングバッファ１５、第１リードバッファ１６、及び第２リードバッファ１７の何れかに切り替えるためのスイッチである。
【００２７】
第１プレローディングバッファ１４は、スイッチ１３を介して入力された音声データを一時的に保存し、保存した音声データをミキサ２８へ出力する。第２プレローディングバッファ１５は、スイッチ１３を介して入力されたテキストデータを一時的に保存し、保存したテキストデータをＴｘｔデコーダ２１へ出力する。第１リードバッファ１６は、スイッチ１３を介して入力されたデータを一時的に保存し、保存したデータをスイッチ１８へ出力する。第２リードバッファ１７は、スイッチ１３を介して入力されたデータを一時的に保存し、保存したデータをスイッチ１９へ出力する。
【００２８】
スイッチ１８は、第１リードバッファ１６から入力されたデータの出力先を、不図示の制御部に制御されて、ＩＧデコーダ２０、ＰＧデコーダ２２、ビデオデコーダ２３、及びスイッチ１９の何れかに切り替えるためのスイッチである。スイッチ１９は、オーディオデコーダ２４へ出力するデータの入力元を、不図示の制御部に制御されて、第２リードバッファ１７及びスイッチ１８の何れかに切り替えるためのスイッチである。
【００２９】
ＩＧデコーダ２０は、スイッチ１８を介して入力されたインタラクティブグラフィックスデータをデコードし、そのデコードしたデータであるインタラクティブグラフィックスプレーン（以下、「ＩＧプレーン」と言う。）をメモリアクセス制御部２６内の後述する記憶部１００に格納する。
【００３０】
Ｔｘｔデコーダ２１は、第２プレローディングバッファ１５から入力されたテキストデータをデコードし、そのデコードしたデータをスイッチ２５へ出力する。ＰＧデコーダ２２は、スイッチ１８を介して入力されたプレゼンテーショングラフィックスデータをデコードし、そのデコードしたデータをスイッチ２５へ出力する。スイッチ２５は、メモリアクセス制御部２６へ出力するデータの入力元を、不図示の制御部に制御されて、Ｔｘｔデコーダ２１及びＰＧデコーダ２２の何れかに切り替え、プレゼンテーショングラフィックスプレーン（以下、「ＰＧプレーン」と言う。）をメモリアクセス制御部２６内の後述する記憶部１００に格納する。
【００３１】
ビデオデコーダ２３は、スイッチ１８を介して入力されたビデオデータをデコードし、そのデコードしたデータであるビデオプレーン（以下、「Ｖプレーン」と言う。）をメモリアクセス制御部２６内の後述する記憶部１００に格納する。
【００３２】
オーディオデコーダ２４は、スイッチ１９を介して入力された音声データをデコードし、デコード後の音声データをミキサ２８へ出力する。ミキサ２８は、第１プレローディングバッファ１４から入力された音声データとオーディオデコーダ２４から入力された音声データとを混合し、混合した音声データを再生装置１の外部へ出力する。
【００３３】
メモリアクセス制御部２６は、ＩＧプレーン、ＰＧプレーン、及びＶプレーンなどの情報を記憶している。ブレンダー２７はメモリアクセス制御部２６に対して仮想アドレスによるアクセス要求を行う。このアクセス要求を受けて、メモリアクセス制御部２６はアクセス要求に係る仮想アドレスを物理アドレスに変換し、物理アドレスに基づいてメモリアクセス制御部２６内の後述する記憶部１００からデータ（ＩＧプレーン、ＰＧプレーン、Ｖプレーン）を読み出し、読み出したデータをブレンダー２７に渡す。ブレンダー２７は、メモリアクセス制御部２６から受け取ったＩＧプレーンと、ＰＧプレーンと、Ｖプレーンとを混合し、混合したデータを再生装置１の外部へ出力する。
【００３４】
＜仮想アドレスと物理アドレス＞
図２は仮想アドレスと物理アドレスとの概要を示す図である。但し、図２ではページサイズを４Ｋ（＝４０９６＝２12）バイトとする。
【００３５】
仮想アドレスは、仮想空間でのページを示す仮想ページ番号と、そのページ内の位置を示すページ内オフセットの２つの部分に分かれる。ページサイズが４Ｋバイトの場合、仮想アドレスの最上位ビットから１２ビット目までが仮想ページ番号となり、１１ビット目から最下位ビットまでの１２ビットがページ内オフセットとなる。
【００３６】
物理アドレスは、物理空間でのページを示す物理ページ番号と、そのページ内の位置を表すページ内オフセットとの２つの部分に分かれる。ページサイズが４Ｋバイトの場合、物理アドレスの最上位ビットから１２ビット目までが物理ページ番号となり、１１ビット目から最下位ビットまでの１２ビットがページ内オフセットとなる。
【００３７】
データが同じ場合、仮想アドレスのページ内オフセットと物理アドレスのページ内オフセットとは一致することから、仮想アドレスから物理アドレスへの変換は、仮想アドレスの仮想ページ番号を物理アドレスの物理ページ番号に変換することにより実現される。
【００３８】
なお、仮想アドレス及び物理アドレスの夫々のページ内オフセットのビット数は、ページサイズによって定まるものである。また、仮想アドレスのビット数と物理アドレスのビット数とが同じ場合もあれば、異なる場合もある。
【００３９】
＜メモリアクセス制御部の構成＞
図３は図１のメモリアクセス制御部２６の構成図である。なお、図３では、メモリアクセス制御部２６とＩＧデコーダ２０、スイッチ２５、ビデオデコーダ２３及びブレンダー２７との接続関係を明確にするために、ＩＧデコーダ２０、スイッチ２５、ビデオデコーダ２３及びブレンダー２７も示している。
【００４０】
メモリアクセス制御部２６は、記憶部１００と、制御部２００と、変換部３００とを備える。
【００４１】
記憶部１００は、ＩＧプレーンＡ、ＰＧプレーンＢ、及びＶプレーンＣを記憶し、更に、ページ単位での仮想アドレスと物理アドレスとの対応を表すページテーブル１５０の全体を記憶する。
【００４２】
ここで、記憶部１００に記憶されている各プレーンの仮想空間での配置と物理空間での配置の対応関係の概要について図４を用いて説明する。記憶部１００は、本実施の形態では、ＩＧプレーンＡ、ＰＧプレーンＢ、及びＶプレーンＣを４Ｋバイトのページ単位で管理している。仮想空間で連続するデータも物理空間ではページ単位で断片化して配置されている。例えば、仮想空間で連続しているＩＧプレーンＡは、物理空間ではＩＧプレーンＡ−０，Ａ−１，Ａ−２，・・・，Ａ−５３９に断片化して配置されている。なお、図４における、ＩＧプレーンＡ−０，Ａ−１，Ａ−２，・・・，Ａ−５３９、ＰＧプレーンＢ−０，Ｂ−１，・・・，Ｂ−５３９、ＶプレーンＣ−０，Ｃ−１，・・・，Ｃ−５３９は、夫々、１ページ分のデータである。
【００４３】
次に、記憶部１００に記憶されているページテーブル１５０の一例について図５を参照しつつ説明する。ページテーブル１５０は、図５に一例を示すように、ページの全てについて、ページ毎に仮想ページ番号とこれに対応する物理ページ番号との対応関係を記憶するためのテーブルである。上述したように、同じデータの場合には仮想アドレスのページ内オフセットと物理アドレスのページ内オフセットとは同じであるので、仮想アドレスから物理アドレスに変換する観点からは、ページテーブルには仮想ページ番号とこれに対応する物理ページ番号との対応関係を記憶しておけば十分である。これは、変換部３００内の後述するＴＬＢ（translation-lookaside buffer）３２０についても同じことが言える。
【００４４】
制御部２００は、ブレンダー２７からの仮想アドレスによるアクセス要求を受け、変換部３００内の後述する変換処理部３３０に対してアクセス要求に係る仮想アドレスを渡す。そして、制御部２００は、変換処理部３３０を制御して変換処理部３３０にアクセス要求に係る仮想アドレスを物理アドレスに変換させ、変換処理部３３０から変換により得られた物理アドレスを受け取る。
【００４５】
そして、制御部２００は、記憶部１００に対して物理アドレスによるアクセス要求を行い、記憶部１００から所定データサイズ（本実施の形態では、２５６バイト）分のデータを受け取り、受け取ったデータを仮想アドレスによるアクセス要求を行ったブレンダー２７に対して渡す。
【００４６】
変換部３００は、制御部２００によって制御されて、制御部２００から渡されたアクセス要求に係る仮想アドレスを物理アドレスに変換して物理アドレスを制御部２００へ渡すものであり、基準回数レジスタ３１０と、ＴＬＢ（translation-lookaside buffer）３２０と、変換処理部３３０とを備える。
【００４７】
基準回数レジスタ３１０は、１ページ当たりブレンダー２７が仮想アドレスによるアクセス要求を行う回数、言い換えると、１ページ当たり仮想アドレスを物理アドレスに変換する回数（以下、「基準回数」と言う。）を記憶するためのレジスタである。なお、本実施の形態では、基準回数レジスタ３１０に予め基準回数が設定されているものとする。
【００４８】
本実施の形態では、ページサイズを４Ｋ（＝４０９６＝２12）バイト、１回のアクセスで記憶部１００から読み出されるデータのデータサイズを２５６（＝２8）バイトとすると、基準回数レジスタ３１０に記憶される基準回数は１６（＝２12／２8）となる。
【００４９】
ＴＬＢ３２０は、図６に一例を示すように、ページテーブル１５０に記憶されている複数ページのうちの一部のページについて、ページ毎に仮想ページ番号とこれに対応する物理ページ番号とこれに対応する回数との対応関係を記憶するためのバッファである。
【００５０】
図６の回数は、対応するページに対して基準回数のアクセス要求が行われたか、言い換えると、そのページで仮想アドレスを物理アドレスに基準回数分変換したか否かを判断するために用いられる。但し、回数には、対応するページの仮想ページ番号と物理ページ番号とがＴＬＢ３２０に格納されたタイミングでは基準回数レジスタ３１０に記憶されている基準回数がセットされる。回数の値は対応するページについて仮想アドレスが物理アドレスに変換される度に１デクリメントされる。なお、後述する第２の実施の形態では、回数には、対応するページの仮想ページ番号と物理ページ番号とがＴＬＢ３２０に格納されたタイミングでは後述する回数計算部３８０によって計算された回数がセットされる。
【００５１】
回数の値が０であるページは、該当ページ対してブレンダー２７が仮想アドレスによるアクセス要求を行った回数、言い換えると、該当ページで仮想アドレスを物理アドレスに変換した回数が基準回数に達したページと言うことになる。
【００５２】
変換処理部３３０は、制御部２００からアクセス要求に係る仮想アドレスを渡され、制御部２００によって制御されてアクセス要求に係る仮想アドレスを物理アドレスに変換して物理アドレスを制御部２００へ渡す。
【００５３】
以下に、変換処理部３３０が制御部２００により制御されて行う処理内容を説明する。
【００５４】
変換処理部３３０は、アクセス要求に係る仮想アドレスの仮想ページ番号がＴＬＢ３２０に存在するかを判定する。
【００５５】
アクセス要求に係る仮想アドレスの仮想ページ番号がＴＬＢ３２０内に存在した場合、変換処理部３３０は、アクセス要求に係る仮想アドレスの仮想ページ番号に対応する物理ページ番号をＴＬＢ３２０から読み出し、読み出した物理ページ番号とこの仮想アドレスのページ内オフセットとに基づいてこの仮想アドレスを物理アドレスに変換し、物理アドレスを制御部２００へ渡す。そして、変換処理部３３０は、ＴＬＢ３２０においてアクセス要求に係る仮想アドレスの仮想ページ番号に対応する回数を１デクリメントする。
【００５６】
一方、アクセス要求に係る仮想アドレスの仮想ページ番号がＴＬＢ３２０内に存在しなかった場合、変換処理部３３０は、記憶部１００内のページテーブル１５０から仮想ページ番号に対応する物理ページ番号を読み出す。そして、変換処理部３３０は、ＴＬＢ３２０において、回数“０”が存在する場合には回数“０”に対応する仮想ページ番号と物理ページ番号とを、回数“０”が存在しない場合には回数が最大である仮想ページ番号と物理ページ番号とを、アクセス要求に係る仮想アドレスの仮想ページ番号とページテーブル１５０から読み出した物理ページ番号とに書き換える。変換処理部３３０は、ＴＬＢ３２０において、書き換えにより新たに記憶されることになった仮想ページ番号と物理ページ番号とに対応する回数の値を、基準回数レジスタ３１０に記憶されている基準回数に書き換える。更に、変換処理部３３０は、ＴＬＢ３２０からアクセス要求に係る仮想アドレスの仮想ページ番号に対応する物理ページ番号を読み出し、読み出した物理ページ番号とこの仮想アドレスのページ内オフセットとに基づいてこの仮想アドレスを物理アドレスに変換し、物理アドレスを制御部２００へ渡す。そして、変換処理部３３０は、ＴＬＢ３２０においてアクセス要求に係る仮想アドレスの仮想ページ番号に対応する回数を１デクリメントする。
【００５７】
＜メモリアクセス制御部の動作＞
図７は図３のメモリアクセス制御部２６の動作の流れを示すフローチャートである。
【００５８】
制御部２００は、ブレンダー２７からの仮想アドレスによるアクセス要求を受けるまで（Ｓ１：ＮＯ）、ブレンダー２７からの仮想アドレスによるアクセス要求の待ち状態にある（ステップＳ１）。制御部２００は、ブレンダー２７からの仮想アドレスによるアクセス要求を受けると（Ｓ１：ＹＥＳ）、ステップＳ２の処理に移行する。
【００５９】
制御部２００はブレンダー２７からのアクセス要求に係る仮想アドレスを変換部３００内の変換処理部３３０に対してアドレス変換を施す仮想アドレスとして渡す。そして、制御部２００は変換処理部３３０を制御し、制御部２００により制御された変換処理部３３０は、制御部２００から渡されたアクセス要求に係る仮想アドレスの仮想ページ番号がＴＬＢ３２０に存在するかを判定する（ステップＳ２）。この仮想ページ番号がＴＬＢ３２０に存在した場合（Ｓ２：ＹＥＳ）、制御部２００はステップＳ８の処理に移行する。一方、この仮想ページ番号がＴＬＢ３２０に存在しなかった場合（Ｓ２：ＮＯ）、制御部２００はステップＳ３の処理に移行する。
【００６０】
ステップＳ３において、制御部２００は変換処理部３３０を制御し、制御部２００により制御された変換処理部３３０は記憶部１００内のページテーブル１５０からアクセス要求に係る仮想アドレスの仮想ページ番号に対応する物理ページ番号を読み出す（ステップＳ３）。
【００６１】
制御部２００は変換処理部３３０を制御し、制御部２００により制御された変換処理部３３０は回数の値“０”がＴＬＢ３２０に存在するかを判定する（ステップＳ４）。
【００６２】
回数の値“０”がＴＬＢ３２０に存在した場合（Ｓ４：ＹＥＳ）、制御部２００は変換処理部３３０を制御し、制御部２００により制御された変換処理部３３０は、ＴＬＢ３２０において、回数“０”に対応する仮想ページ番号と物理ページ番号とを、アクセス要求に係る仮想アドレスの仮想ページ番号とページテーブル１５０から読み出した物理ページ番号とに書き換える（ステップＳ５）。但し、ＴＬＢ３２０に回数の値“０”が複数存在する場合には、複数のうちの何れか１つに対してステップＳ５の処理が行われる。そして、制御部２００は変換処理部３３０を制御し、制御部２００により制御された変換処理部３３０は、ＴＬＢ３２０において、ステップＳ５における書き換えにより新たに記憶されることになった仮想ページ番号と物理ページ番号とに対応する回数を基準回数レジスタ３１０に記憶されている基準回数（本実施の形態では、“１６”）に書き換える（ステップＳ７）。そして、制御部２００はステップＳ８の処理に移行する。
【００６３】
回数の値“０”がＴＬＢ３２０に存在しなかった場合（Ｓ４：ＮＯ）、制御部２００は変換処理部３３０を制御し、制御部２００により制御された変換処理部３３０は、ＴＬＢ３２０において、回数の最大値に対応する仮想ページ番号と物理ページ番号とを、アクセス要求に係る仮想アドレスの仮想ページ番号とページテーブル１５０から読み出した物理ページ番号とに書き換える（ステップＳ６）。但し、ＴＬＢ３２０に最大値の回数が複数存在する場合には、複数のうちの何れか１つに対してステップＳ６の処理が行われる。そして、制御部２００は変換処理部３３０を制御し、制御部２００により制御された変換処理部３３０は、ＴＬＢ３２０において、ステップＳ６における書き換えにより新たに記憶されることになった仮想ページ番号と物理ページ番号とに対応する回数を基準回数レジスタ３１０に記憶されている基準回数（本実施の形態では、“１６”）に書き換える（ステップＳ７）。そして、制御部２００はステップＳ８の処理に移行する。
【００６４】
ステップＳ８において、制御部２００は変換処理部３３０を制御し、制御部２００により制御された変換処理部３３０は、ＴＬＢ３２０からアクセス要求に係る仮想アドレスの仮想ページ番号に対応する物理ページ番号を読み出し、読み出した物理ページ番号とこの仮想アドレスのページ内オフセットとに基づいてこの仮想アドレスを物理アドレスに変換し、物理アドレスを制御部２００へ渡す（ステップＳ８）。そして、制御部２００は変換処理部３３０を制御し、制御部２００により制御された変換処理部３３０は、ＴＬＢ３２０において、アクセス要求に係る仮想アドレスの仮想ページ番号に対応する回数を１デクリメントする（ステップＳ９）。
【００６５】
制御部２００は、ステップＳ８で変換処理部３３０から渡された物理アドレスに基づいて記憶部１００から所定データサイズ（本実施の形態では、２５６バイト）分のデータを読み出し（ステップＳ１０）、記憶部１００から読み出した２５６バイト分のデータをアクセス要求元のブレンダー２７へ渡す（ステップＳ１１）。そして、制御部２００は、ステップＳ１の処理に移行する。
【００６６】
＜具体例＞
以下、ブレンダー２７及びメモリアクセス制御部２６の動作の具体例を図８及び図９から図１１を参照しつつ説明する。
【００６７】
図８に示すように、ブレンダー２７は、ＶプレーンＣ−０、ＰＧプレーンＢ−０、ＩＧプレーンＡ−０の夫々に対するアクセスを１６回繰り返し、その後、ＶプレーンＣ−１に対するアクセスを行うものとする。
【００６８】
時刻Ｔ０における変換部３００内のＴＬＢ３２０の記憶内容は図９であったとする。このときに、ブレンダー２７が、メモリアクセス制御部２６内の制御部２００に対して、ＶプレーンＣ−０の仮想ページ番号を含む仮想アドレスによるアクセス要求を行う。制御部２００は、変換部３００内の変換処理部３３０に対してブレンダー２７からの仮想アドレスを渡す。変換処理部３３０は、ＴＬＢ３２０にＶプレーンＣ−０の仮想ページ番号が存在するかを判定する。ここでは、ＴＬＢ３２０にＶプレーンＣ−０の仮想ページ番号が存在するので、変換処理部３３０は、ＶプレーンＣ−０の仮想ページ番号に対応するＴＬＢ３２０内の物理ページ番号とアクセス要求に係る仮想アドレスのページ内オフセットとに基づいて仮想アドレスを物理アドレスに変換する。そして、変換処理部３３０は、ＴＬＢ３２０において、ＶプレーンＣ−０の仮想ページ番号に対応する回数を１デクリメントする。制御部２００は、変換処理部３３０によるアドレス変換で得られた物理アドレスに基づいて記憶部１００からＶプレーンＣ−０の２５６バイト分のデータを読み出し、読み出した２５６バイト分のデータをブレンダー２７へ渡す。
【００６９】
次に、ブレンダー２７が、メモリアクセス制御部２６内の制御部２００に対して、ＰＧプレーンＢ−０の仮想ページ番号を含む仮想アドレスによるアクセス要求を行う。制御部２００は、変換部３００内の変換処理部３３０に対してブレンダー２７からの仮想アドレスを渡す。変換処理部３３０は、ＴＬＢ３２０にＰＧプレーンＢ−０の仮想ページ番号が存在するかを判定する。ここでは、ＴＬＢ３２０にＰＧプレーンＢ−０の仮想ページ番号が存在するので、変換処理部３３０は、ＰＧプレーンＢ−０の仮想ページ番号に対応するＴＬＢ３２０内の物理ページ番号とアクセス要求に係る仮想アドレスのページ内オフセットとに基づいて仮想アドレスを物理アドレスに変換する。そして、変換処理部３３０は、ＴＬＢ３２０において、ＰＧプレーンＢ−０の仮想ページ番号に対応する回数を１デクリメントする。制御部２００は、変換処理部３３０によるアドレス変換で得られた物理アドレスに基づいて記憶部１００からＰＧプレーンＢ−０の２５６バイト分のデータを読み出し、読み出した２５６バイト分のデータをブレンダー２７へ渡す。
【００７０】
次に、ブレンダー２７が、メモリアクセス制御部２６内の制御部２００に対して、ＩＧプレーンＡ−０の仮想ページ番号を含む仮想アドレスによるアクセス要求を行う。制御部２００は、変換部３００内の変換処理部３３０に対してブレンダー２７からの仮想アドレスを渡す。変換処理部３３０は、ＴＬＢ３２０にＩＧプレーンＡ−０の仮想ページ番号が存在するかを判定する。ここでは、ＴＬＢ３２０にＩＧプレーンＡ−０の仮想ページ番号が存在するので、変換処理部３３０は、ＩＧプレーンＡ−０の仮想ページ番号に対応するＴＬＢ３２０内の物理ページ番号とアクセス要求に係る仮想アドレスのページ内オフセットとに基づいて仮想アドレスを物理アドレスに変換する。そして、変換処理部３３０は、ＴＬＢ３２０において、ＩＧプレーンＡ−０の仮想ページ番号に対応する回数を１デクリメントする。制御部２００は、変換処理部３３０によるアドレス変換で得られた物理アドレスに基づいて記憶部１００からＩＧプレーンＡ−０の２５６バイト分のデータを読み出し、読み出した２５６バイト分のデータをブレンダー２７へ渡す。
【００７１】
ブレンダー２７は、メモリアクセス制御部２６内の制御部２００に対して、ＶプレーンＣ−０、ＰＧプレーンＢ−０、ＩＧプレーンＡ−０の夫々に対するアクセス要求を更に１５回行う。
【００７２】
１６回目のＩＧプレーンＡ−０に対するアクセス要求が完了した後の時刻Ｔ１における変換部３００内のＴＬＢ３２０の記憶内容は、時刻Ｔ０から時刻Ｔ１までの間にＶプレーンＣ−０、ＰＧプレーンＢ−０、ＩＧプレーンＡ−０の夫々に対して１６回のアクセス要求が行われたので、図１０になる。図１０に示すように、時刻Ｔ１においては、ＴＬＢ３２０内のＶプレーンＣ−０、ＰＧプレーンＢ−０、及びＩＧプレーンＡ−０の夫々に対応する回数は０である。
【００７３】
時刻Ｔ１の後、ブレンダー２７が、メモリアクセス制御部２６内の制御部２００に対して、ＶプレーンＣ−１の仮想ページ番号を含む仮想アドレスによるアクセス要求を行う。制御部２００は、変換部３００内の変換処理部３３０に対してブレンダー２７からの仮想アドレスを渡す。変換処理部３３０は、ＴＬＢ３２０にＶプレーンＣ−１の仮想ページ番号が存在するかを判定する。ここでは、ＴＬＢ３２０にＶプレーンＣ−１の仮想ページ番号が存在しないので、変換処理部３３０は、ページテーブル１５０からＶプレーンＣ−１の仮想ページ番号に対応する物理ページ番号を読み出す。そして、変換処理部３３０は、ＴＬＢ３２０において、回数が０であるＩＧプレーンＡ−０の仮想ページ番号と物理ページ番号とをＶプレーンＣ−１の仮想ページ番号と物理ページ番号とに書き換え、ＶプレーンＣ−１の回数を基準回数レジスタ３１０に保持されている基準回数“１６”に書き換える。変換処理部３３０は、ＶプレーンＣ−１の仮想ページ番号に対応するＴＬＢ３２０内の物理ページ番号とアクセス要求に係る仮想アドレスのページ内オフセットとに基づいて仮想アドレスを物理アドレスに変換する。そして、変換処理部３３０は、ＴＬＢ３２０において、ＶプレーンＣ−１の仮想ページ番号に対応する回数を１デクリメントする。制御部２００は、変換処理部３３０によるアドレス変換で得られた物理アドレスに基づいて記憶部１００からＶプレーンＣ−１の２５６バイト分のデータを読み出し、読み出した２５６バイト分のデータをブレンダー２７へ渡す。時刻Ｔ２における変換部３００内のＴＬＢ３２０の記憶内容は、図１１になる。
【００７４】
このように、ＴＬＢ３２０において、仮想アドレスを物理アドレスに変換した変換済み回数が基準回数に達したページの仮想ページ番号と物理ページ番号とを、アクセス要求に係る仮想アドレスの仮想ページ番号とこれに対応する物理ページ番号とに書き換えられる。このため、ＴＬＢ３２０に今後アクセスされる可能性が高いページの仮想ページ番号と物理ページ番号との対応が残り、ＴＬＢ３２０でのヒット率の向上が図られる。
【００７５】
≪第２の実施の形態≫
以下、本発明の第２の実施の形態について図面を参照しつつ説明する。但し、第１の実施の形態ではページ当たりのアクセス回数が一定である場合を対象としているのに対して、本実施の形態ではページ当たりのアクセス回数が一定でない場合を対象とするものである。なお、本実施の形態において、第１の実施の形態の構成要素と実質的に同じ構成要素には同じ符号を付し、その説明が適用できるため本実施の形態ではその説明を省略し、或いは、簡単な記載に留める。
【００７６】
＜再生装置＞
図１２は第２の実施の形態に係るメモリアクセス制御部２６Ａを備える再生装置１Ａの構成図である。
【００７７】
再生装置１Ａは、ディスクに記憶された映像情報や音声情報を再生するものであり、ドライバ１０と、復調部１１と、ＥＣＣデコーダ１２と、スイッチ１３と、第１プレローディングバッファ１４と、第２プレローディングバッファ１５と、第１リードバッファ１６と、第２リードバッファ１７と、スイッチ１８と、スイッチ１９と、ＣＰＵ（Central Processing Unit）５０と、オーディオデコーダ２４と、メモリアクセス制御部２６Ａと、ブレンダー２７と、ミキサ２８とを備える。
【００７８】
ＣＰＵ５０は、図１のＩＧデコーダ２０、Ｔｘｔデコーダ２１、ＰＧデコーダ２２、ビデオデコーダ２３、及びスイッチ２５の処理を行う。また、ＣＰＵ５０は、プレーンがページの途中から開始される場合にはその開始される仮想アドレス（以下、「開始アドレス」と言う。）をメモリアクセス制御部２６Ａ内の後述する開始アドレスレジスタ３６０に格納し、プレーンがページの途中で終了する場合にはその終了する仮想アドレス（以下、「終了アドレス」と言う。）をメモリアクセス制御部２６Ａ内の後述する終了アドレスレジスタ３７０に格納する。
【００７９】
ブレンダー２７は、メモリアクセス制御部２６Ａ内の記憶部１００に記憶されたＩＧプレーン、ＰＧプレーン、Ｖプレーンを画像データの左上から順番に読み出して混合し、混合したデータを再生装置１の外部へ出力する。
【００８０】
＜メモリアクセス制御部の構成＞
図１３は図１２のメモリアクセス制御部２６Ａの構成図である。なお、図１３では、メモリアクセス制御部２６ＡとＣＰＵ５０及びブレンダー２７との接続関係を明確にするために、ＣＰＵ５０及びブレンダー２７も示している。
【００８１】
メモリアクセス制御部２６Ａは、記憶部１００と、制御部２００Ａと、変換部３００Ａとを備える。記憶部１００は、第１の実施の形態で説明したように、ＩＧプレーンＡ、ＰＧプレーンＢ、及びＶプレーンＣを記憶し、更に、ページ単位での仮想アドレスと物理アドレスとの対応を表すページテーブル１５０の全体を記憶する。
【００８２】
制御部２００Ａは、ブレンダー２７からの仮想アドレスによるアクセス要求を受け、変換処理部３００Ａ内の後述する変換処理部３３０Ａに対してアクセス要求に係る仮想アドレスを渡す。そして、制御部２００Ａは、変換処理部３３０Ａを制御して変換処理部３３０Ａにアクセス要求に係る仮想アドレスを物理アドレスに変換させ、変換処理部３３０Ａから変換により得られた物理アドレスを受け取る。この際、制御部２００Ａは、変換部３００Ａ内の後述する回数計算部３８０を制御して、アクセス要求が行われたページに対してアクセスされる回数、言い換えると、アクセス要求を行ったページにおいて仮想アドレスを物理アドレスに変換する変換実行回数を計算させる。
【００８３】
そして、制御部２００Ａは、記憶部１００に対して物理アドレスによるアクセス要求を行い、記憶部１００から所定データサイズ（本実施の形態では、２５６バイト）分のデータを受け取り、受け取ったデータを仮想アドレスによるアクセス要求を行ったブレンダー２７に対して渡す。
【００８４】
変換部３００Ａは、制御部２００Ａによって制御されて、制御部２００Ａから渡されたアクセス要求に係る仮想アドレスを物理アドレスに変換して物理アドレスを制御部２００Ａへ渡すものである。変換部３００Ａは、ＴＬＢ３２０と、変換処理部３３０Ａと、開始アドレスレジスタ３６０と、終了アドレスレジスタ３７０と、回数計算部３８０とを備える。
【００８５】
変換処理部３３０Ａは、制御部２００Ａからアクセス要求に係る仮想アドレスを渡され、制御部２００Ａによって制御されてアクセス要求に係る仮想アドレスを物理アドレスに変換して物理アドレスを制御部２００Ａへ渡す。
【００８６】
以下に、変換処理部３３０Ａが制御部２００Ａにより制御されて行う処理内容を説明する。
【００８７】
変換処理部３３０Ａは、アクセス要求に係る仮想アドレスの仮想ページ番号がＴＬＢ３２０に存在するかを判定する。
【００８８】
アクセス要求に係る仮想アドレスの仮想ページ番号がＴＬＢ３２０内に存在した場合、変換処理部３３０Ａは、アクセス要求に係る仮想アドレスの仮想ページ番号に対応する物理ページ番号をＴＬＢ３２０から読み出し、読み出した物理ページ番号とこの仮想アドレスのページ内オフセットとに基づいてこの仮想アドレスを物理アドレスに変換し、物理アドレスを制御部２００Ａへ渡す。そして、変換処理部３３０Ａは、ＴＬＢ３２０においてアクセス要求に係る仮想アドレスの仮想ページ番号に対応する回数を１デクリメントする。
【００８９】
一方、アクセス要求に係る仮想アドレスの仮想ページ番号がＴＬＢ３２０内に存在しなかった場合、変換処理部３３０Ａは、記憶部１００内のページテーブル１５０から仮想ページ番号に対応する物理ページ番号を読み出す。そして、変換処理部３３０Ａは、ＴＬＢ３２０において、回数“０”が存在する場合には回数“０”に対応する仮想ページ番号と物理ページ番号とを、回数“０”が存在しない場合には回数が最大である仮想ページ番号と物理ページ番号とを、アクセス要求に係る仮想アドレスの仮想ページ番号とページテーブル１５０から読み出した物理ページ番号とに書き換える。変換処理部３３０Ａは、ＴＬＢ３２０において、書き換えにより新たに記憶されることになった仮想ページ番号と物理ページ番号とに対応する回数の値を、回数計算部３８０によって計算された回数に書き換える。更に、変換処理部３３０Ａは、ＴＬＢ３２０からアクセス要求に係る仮想アドレスの仮想ページ番号に対応する物理ページ番号を読み出し、読み出した物理ページ番号とこの仮想アドレスのページ内オフセットとに基づいてこの仮想アドレスを物理アドレスに変換し、物理アドレスを制御部２００Ａへ渡す。そして、変換処理部３３０Ａは、ＴＬＢ３２０においてアクセス要求に係る仮想アドレスの仮想ページ番号に対応する回数を１デクリメントする。
【００９０】
開始アドレスレジスタ３６０は、プレーンがページの途中から開始される場合にその開始される仮想アドレス（開始アドレス）を保持するためのレジスタであり、開始アドレスはＣＰＵ５０によって格納される。終了アドレスレジスタ３７０は、プレーンがページの途中で終了する場合にはその終了する仮想アドレス（終了アドレス）を保持するためのレジスタであり、終了アドレスはＣＰＵ５０によって格納される。回数計算部３８０は、ＴＬＢ３２０に新たに仮想ページ番号と物理ページ番号とを書き込むページに対してブレンダー２７がアクセスする回数、言い換えると、このページにおいて仮想アドレスを物理アドレスに変換する回数（変換実行回数）を、開始アドレスレジスタ３６０の記憶内容及び終了アドレスレジスタ３７０の記憶内容を利用して計算し、計算した結果得られた回数（以下、「計算回数」と言う。）を変換処理部３３０Ａへ出力する。但し、回数計算部３８０の処理内容の詳細は図１５を参照して後述する。
【００９１】
＜メモリアクセス制御部の動作＞
図１４は図１３のメモリアクセス制御部２６Ａの動作の流れを示すフローチャートである。
【００９２】
制御部２００Ａ及び変換処理部３３０Ａは、制御部２００及び変換処理部３３０がステップＳ１〜Ｓ６において行う処理と実質的に同じ処理を行う（ステップＳ１〜Ｓ６）。
【００９３】
制御部２００Ａは、回数計算部３８０に対してアクセス要求に係る仮想アドレスを回数計算部３８０に渡し、アクセス要求に係るページで仮想アドレスを物理アドレスに変換する回数を計算させるための回数計算要求を行い、変換処理部３３０Ａは回数計算部３８０から計算回数を受け取る（ステップＳ１００）。
【００９４】
制御部２００Ａは変換処理部３３０Ａを制御し、制御部２００Ａにより制御された変換処理部３３０Ａは、ＴＬＢ３２０において、ステップＳ５或いはステップＳ６における書き換えにより新たに記憶されることになった仮想ページ番号と物理ページ番号とに対応する回数をステップＳ１００で受け取った計算回数に書き換える（ステップＳ７Ａ）。そして、制御部２００ＡはステップＳ８の処理に移行する。
【００９５】
制御部２００Ａ及び変換処理部３３０Ａは、制御部２００及び変換処理部３３０がステップＳ８〜Ｓ１１において行う処理と実質的に同じ処理を行う（ステップＳ８〜Ｓ１１）。
【００９６】
［回数計算部の動作］
図１５は図１３の回数計算部３８０による回数計算処理の流れを示すフローチャートである。但し、図１５では、仮想アドレスを２４ビット、ページサイズを４Ｋ（＝２12）バイトとして説明する。この場合、仮想アドレスの上位１２ビットが仮想ページ番号となり、下位１２ビットがページ内オフセットとなる。
【００９７】
回数計算部３８０は、制御部２００Ａからの回数計算要求を受けるまで（Ｓ１０１：ＮＯ）、制御部２００Ａからの回数計算要求の待ち状態にある（ステップＳ１０１）。回数計算要求があると（Ｓ１０１：ＹＥＳ）、回数計算部３８０は、制御部２００Ａからのアクセス要求に係る仮想アドレスの上位１２ビット（仮想ページ番号）が開始アドレスレジスタ３６０に記憶されている開始アドレスの上位１２ビットと一致するか、言い換えるとアクセス要求によるアクセス対象のページが開始アドレスレジスタ３６０に記憶されている開始アドレスの上位１２ビットで表されるページと一致するかを判定する（ステップＳ１０２）。一致しない場合には（Ｓ１０２：ＮＯ）、回数計算部３８０はステップＳ１０３の処理へ移行し、一致する場合には（Ｓ１０２：ＹＥＳ）、回数計算部３８０はステップＳ１０６の処理へ移行する。
【００９８】
ステップＳ１０３において、回数計算部３８０は、制御部２００Ａからのアクセス要求に係る仮想アドレスの上位１２ビット（仮想ページ番号）が終了アドレスレジスタ３７０に記憶されている終了アドレスの上位１２ビットと一致するか、言い換えるとアクセス要求によるアクセス対象のページが終了アドレスレジスタ３７０に記憶されている終了アドレスの上位１２ビットで表されるページと一致するかを判定する（ステップＳ１０３）。一致しない場合には（Ｓ１０３：ＮＯ）、回数計算部３８０はステップＳ１０４の処理へ移行し、一致する場合には（Ｓ１０３：ＹＥＳ）、回数計算部３８０はステップＳ１０５の処理へ移行する。
【００９９】
ステップＳ１０２のＮＯ且つステップＳ１０３のＮＯの場合、アクセス要求によるアクセス対象のページではこのページの先頭から最後までのデータを読み出すことになる。回数計算部３８０は、下記の式（１）を演算し、アクセス要求によるアクセス対象のページからデータを読み出すのに必要なアクセス回数、言い換えると、このページで仮想アドレスを物理アドレスに変換する回数を計算する（ステップＳ１０４）。そして、回数計算部３８０は、下記の式（１）の計算の結果得られた計算回数Ｎを変換処理部３３０Ａへ出力する（ステップＳ１０９）。
【０１００】
Ｎ＝Ｐ／Ｒ      （１）
但し、式（１）及び後述する他の式において、Ｐはページサイズであり、Ｒは１回のアクセスで記憶部１００から読み出されるデータのデータサイズである。但し、本実施の形態では、Ｐ、Ｒは夫々４０９６、２５６である。
【０１０１】
ステップＳ１０２のＮＯ且つステップＳ１０３のＹＥＳの場合、アクセス要求によるアクセス対象のページではこのページの先頭から終了アドレスレジスタ３８０に記憶されている終了アドレスによって示される位置までのデータを読み出すことになる。回数計算部３８０は、下記の式（２）を演算し、アクセス要求によるアクセス対象のページからデータを読み出すのに必要なアクセス回数、言い換えると、このページで仮想アドレスを物理アドレスに変換する回数を計算する（ステップＳ１０５）。そして、回数計算部３８０は、下記の式（２）の計算の結果得られた計算回数Ｎを変換処理部３３０Ａへ出力する（ステップＳ１０９）。
【０１０２】
Ｎ＝Ｅ／Ｒ      （２）
但し、式（２）及び後述する他の式において、Ｅは終了アドレスレジスタ３７０に記憶されている終了アドレスの下位１２ビット（仮想アドレスのページ内オフセット）の値である。
【０１０３】
ステップＳ１０６において、回数計算部３８０は、制御部２００Ａからのアクセス要求に係る仮想アドレスの上位１２ビット（仮想ページ番号）が終了アドレスレジスタ３７０に記憶されている終了アドレスの上位１２ビットと一致するか、言い換えるとアクセス要求によるアクセス対象のページが終了アドレスレジスタ３７０に記憶されている終了アドレスの上位１２ビットで表されるページと一致するかを判定する（ステップＳ１０６）。一致しない場合には（Ｓ１０６：ＮＯ）、回数計算部３８０はステップＳ１０７の処理へ移行し、一致する場合には（Ｓ１０６：ＹＥＳ）、回数計算部３８０はステップＳ１０８の処理へ移行する。
【０１０４】
ステップＳ１０２のＹＥＳ且つステップＳ１０６のＮＯの場合、アクセス要求によるアクセス対象のページでは開始アドレスレジスタ３６０に記憶されている開始アドレスによって示される位置からこのページの最後までのデータを読み出すことになる。回数計算部３８０は、下記の式（３）を演算し、アクセス要求によるアクセス対象のページからデータを読み出すのに必要なアクセス回数、言い換えると、このページで仮想アドレスを物理アドレスに変換する回数を計算する（ステップＳ１０７）。そして、回数計算部３８０は、下記の式（３）の計算の結果得られた計算回数Ｎを変換処理部３３０Ａへ出力する（ステップＳ１０９）。
【０１０５】
Ｎ＝（Ｐ−Ｓ）／Ｒ      （３）
但し、式（３）及び後述する他の式において、Ｓは開始アドレスレジスタ３６０に記憶されている開始アドレスの下位１２ビット（仮想アドレスのページ内オフセット）の値である。
【０１０６】
ステップＳ１０２のＹＥＳ且つステップＳ１０６のＹＥＳの場合、アクセス要求によるアクセス対象のページでは開始アドレスレジスタ３６０に記憶されている開始アドレスによって示される位置から終了アドレスレジスタ３７０に記憶されている終了アドレスによって示される位置までのデータを読み出すことになる。回数計算部３８０は、下記の式（４）を演算し、アクセス要求によるアクセス対象のページからデータを読み出すのに必要なアクセス回数、言い換えると、このページで仮想アドレスを物理アドレスに変換する回数を計算する（ステップＳ１０８）。そして、回数計算部３８０は、下記の式（４）の計算の結果得られた計算回数Ｎを変換処理部３３０Ａへ出力する（ステップＳ１０９）。
【０１０７】
Ｎ＝（Ｅ−Ｓ）／Ｒ      （４）
＜具体例＞
以下、ブレンダー２７及びメモリアクセス制御部２６Ａの動作の具体例を図１６及び図１７から図２１を参照しつつ説明する。なお、図１７から図２１の仮想ページ番号及び物理ページ番号を記入していない箇所では、ＶプレーンＣ−０，Ｃ−１、ＰＧプレーンＢ−０、ＩＧプレーンＡ−０の仮想ページ番号及び物理ページ番号以外の仮想ページ番号及び物理ページ番号が書き込まれているものとする。
【０１０８】
ここでは、ＶプレーンＣ−０、Ｃ−１、ＰＧプレーンＢ−１の夫々のデータの全てを読み出すのに必要な回数、言い換えると、ＶプレーンＣ−０、Ｃ−１、ＰＧプレーンＢ−１での仮想アドレスを物理アドレスに変換する回数は１６であるとする。また、ＩＧプレーンＡ−０のデータの全てを読み出すのに必要な回数、言い換えると、ＩＧプレーンＡ−０での仮想アドレスを物理アドレスに変換する回数は１６であるとする。
【０１０９】
図１６に示すように、ブレンダー２７は、ＶプレーンＣ−０、ＰＧプレーンＢ−０の夫々に対するアクセスを１５回繰り返し、ＩＧプレーンＡ−０に対してアクセスを行い、ＶプレーンＣ−０、ＰＧプレーンＢ−０に対するアクセスを行い、その後、ＶプレーンＣ−１に対するアクセスを行うものとする。
【０１１０】
時刻Ｔ１０における変換部３００Ａ内のＴＬＢ３２０の記憶内容は図１７であったとする。このときに、ブレンダー２７が、メモリアクセス制御部２６Ａ内の制御部２００Ａに対して、ＶプレーンＣ−０の仮想ページを含む仮想アドレスによるアクセス要求を行う。制御部２００Ａは、変換部３００Ａ内の変換処理部３３０Ａに対してブレンダー２７からの仮想アドレスを渡す。変換処理部３３０Ａは、ＴＬＢ３２０にＶプレーンＣ−０の仮想ページ番号が存在するかを判定する。ここでは、ＴＬＢ３２０にＶプレーンＣ−０の仮想ページ番号が存在しないので、変換処理部３３０Ａは、ページテーブル１５０からＶプレーンＣ−０の仮想ページ番号に対応する物理ページ番号を読み出す。そして、変換処理部３３０Ａは、ＴＬＢ３２０において、回数“０”に対応する仮想ページ番号と物理ページ番号とをＶプレーンＣ−０の仮想ページ番号と物理ページ番号とに書き換える。回数計算部３８０は図１５の処理を実行してＶプレーンＣ−０に関する計算回数を計算する。変換処理部３３０Ａは、ＴＬＢ３２０において、ＶプレーンＣ−０の回数を回数計算部３８０によって計算された計算回数（ここでは、“１６”）に書き換える。変換処理部３３０Ａは、ＶプレーンＣ−０の仮想ページ番号に対応するＴＬＢ３２０内の物理ページ番号とアクセス要求に係る仮想アドレスのページ内オフセットとに基づいて仮想アドレスを物理アドレスに変換する。そして、変換処理部３３０Ａは、ＴＬＢ３２０において、ＶプレーンＣ−０の仮想ページ番号に対応する回数を１デクリメントする。制御部２００Ａは、変換処理部３３０Ａによるアドレス変換で得られた物理アドレスに基づいて記憶部１００からＶプレーンＣ−０の２５６バイト分のデータを読み出し、読み出した２５６バイト分のデータをブレンダー２７へ渡す。
【０１１１】
ブレンダー２７が、メモリアクセス制御部２６Ａ内の制御部２００Ａに対して、ＰＧプレーンＢ−０のページ番号を含む仮想アドレスによるアクセス要求を行う。制御部２００Ａは、変換部３００Ａ内の変換処理部３３０Ａに対してブレンダー２７からの仮想アドレスを渡す。変換処理部３３０Ａは、ＴＬＢ３２０にＰＧプレーンＢ−０の仮想ページ番号が存在するかを判定する。ここでは、ＴＬＢ３２０にＰＧプレーンＢ−０の仮想ページ番号が存在しないので、変換処理部３３０Ａは、ページテーブル１５０からＰＧプレーンＢ−０の仮想ページ番号に対応する物理ページ番号を読み出す。そして、変換処理部３３０Ａは、ＴＬＢ３２０において、回数“０”に対応する仮想ページ番号と物理ページ番号とをＰＧプレーンＢ−０の仮想ページ番号と物理ページ番号とに書き換える。回数計算部３８０は図１５の処理を実行してＰＧプレーンＢ−０に関する計算回数を計算する。変換処理部３３０Ａは、ＴＬＢ３２０において、ＰＧプレーンＢ−０の回数を回数計算部３８０によって計算された計算回数（ここでは、“１６”）に書き換える。変換処理部３３０Ａは、ＰＧプレーンＢ−０の仮想ページ番号に対応するＴＬＢ３２０内の物理ページ番号とアクセス要求に係る仮想アドレスのページ内オフセットとに基づいて仮想アドレスを物理アドレスに変換する。そして、変換処理部３３０Ａは、ＴＬＢ３２０において、ＰＧプレーンＢ−０の仮想ページ番号に対応する回数を１デクリメントする。制御部２００Ａは、変換処理部３３０Ａによるアドレス変換で得られた物理アドレスに基づいて記憶部１００からＰＧプレーンＢ−０の２５６バイト分のデータを読み出し、読み出した２５６バイト分のデータをブレンダー２７へ渡す。
【０１１２】
１回目のＰＧプレーンＢ−０に対するアクセス要求が完了した後の時刻Ｔ１１における変換部３００Ａ内のＴＬＢ３２０の記憶内容は図１８になる。
【０１１３】
ブレンダー２７は、メモリアクセス制御部２６Ａ内の制御部２００Ａに対して、ＶプレーンＣ−０、ＰＧプレーンＢ−０の夫々に対するアクセス要求を更に１４回行う。
【０１１４】
ブレンダー２７は、メモリアクセス制御部２６Ａ内の制御部２００Ａに対して、ＩＧプレーンＡ−０のページ番号を含む仮想アドレスによるアクセス要求を行う。制御部２００Ａは、変換部３００Ａ内の変換処理部３３０Ａに対してブレンダー２７からの仮想アドレスを渡す。変換処理部３３０Ａは、ＴＬＢ３２０にＩＧプレーンＡ−０の仮想ページ番号が存在するかを判定する。ここでは、ＴＬＢ３２０にＩＧプレーンＡ−０の仮想ページ番号が存在しないので、変換処理部３３０Ａは、ページテーブル１５０からＩＧプレーンＡ−０の仮想ページ番号に対応する物理ページ番号を読み出す。そして、変換処理部３３０Ａは、ＴＬＢ３２０において、回数“０”に対応する仮想ページ番号と物理ページ番号とをＩＧプレーンＡ−０の仮想ページ番号と物理ページ番号とに書き換える。回数計算部３８０は図１５の処理を実行してＩＧプレーンＡ−０に関する計算回数を計算する。変換処理部３３０Ａは、ＴＬＢ３２０において、ＩＧプレーンＡ−０の回数を回数計算部３８０によって計算された計算回数（ここでは、“２”）に書き換える。変換処理部３３０Ａは、ＩＧプレーンＡ−０の仮想ページ番号に対応するＴＬＢ３２０内の物理ページ番号とアクセス要求に係る仮想アドレスのページ内オフセットとに基づいて仮想アドレスを物理アドレスに変換する。そして、変換処理部３３０Ａは、ＴＬＢ３２０において、ＩＧプレーンＡ−０の仮想ページ番号に対応する回数を１デクリメントする。制御部２００Ａは、変換処理部３３０Ａによるアドレス変換で得られた物理アドレスに基づいて記憶部１００からＩＧプレーンＡ−０の２５６バイト分のデータを読み出し、読み出した２５６バイト分のデータをブレンダー２７へ渡す。
【０１１５】
１回目のＩＧプレーンＡ−０に対するアクセス要求が完了した後の時刻Ｔ１２における変換部３００Ａ内のＴＬＢ３２０の記憶内容は図１９になる。
【０１１６】
時刻Ｔ１２の後、ブレンダー２７が、メモリアクセス制御部２６Ａ内の制御部２００Ａに対して、ＶプレーンＣ−０、ＰＧプレーンＢ−０、ＩＧプレーンＡ−０の夫々に係る仮想アドレスによるアクセス要求を更に１回行う。ＩＧプレーンＣ−０に係る仮想アドレスによるアクセス要求が完了した後の時刻Ｔ１３における変換部３００Ａ内のＴＬＢ３２０の記憶内容は、時刻Ｔ１２から時刻Ｔ１３までの間にＶプレーンＣ−０、ＰＧプレーンＢ−０、ＩＧプレーンＡ−０の夫々に対して１回のアクセス要求が行われたので、図２０になる。
【０１１７】
時刻Ｔ１３の後、ブレンダー２７が、メモリアクセス制御部２６Ａ内の制御部２００Ａに対して、ＶプレーンＣ−１の仮想ページ番号を含む仮想アドレスによるアクセス要求を行う。制御部２００Ａは、変換部３００Ａ内の変換処理部３３０Ａに対してブレンダー２７からの仮想アドレスを渡す。変換処理部３３０Ａは、ＴＬＢ３２０にＶプレーンＣ−１の仮想ページ番号が存在するかを判定する。ここでは、ＴＬＢ３２０にＶプレーンＣ−１の仮想ページ番号が存在しないので、変換処理部３３０Ａは、ページテーブル１５０からＶプレーンＣ−１の仮想ページ番号に対応する物理ページ番号を読み出す。そして、変換処理部３３０Ａは、ＴＬＢ３２０において、ＴＬＢ３２０において、回数０であるＩＧプレーンＡ−０の仮想ページ番号と物理ページ番号とをＶプレーンＣ−１の仮想ページ番号と物理ページ番号とに書き換える。回数計算部３８０は図１５の処理を実行してＶプレーンＣ−１に関する計算回数を計算する。変換処理部３３０Ａは、ＴＬＢ３２０において、ＶプレーンＣ−１の回数を回数計算部３８０によって計算された計算回数（ここでは、“１６”）に書き換える。変換処理部３３０Ａは、ＶプレーンＣ−１の仮想ページ番号に対応するＴＬＢ３２０内の物理ページ番号とアクセス要求に係る仮想アドレスのページ内オフセットとに基づいて仮想アドレスを物理アドレスに変換する。そして、変換処理部３３０Ａは、ＴＬＢ３２０において、ＶプレーンＣ−１の仮想ページ番号に対応する回数を１デクリメントする。制御部２００Ａは、変換処理部３３０Ａによるアドレス変換で得られた物理アドレスに基づいて記憶部１００からＶプレーンＣ−１の２５６バイト分のデータを読み出し、読み出した２５６バイト分のデータをブレンダー２７へ渡す。時刻Ｔ１４における変換部３００Ａ内のＴＬＢ３２０の記憶内容は、図２１になる。
【０１１８】
このように、ページの一部に読みだすデータが存在するような場合があっても、ＴＬＢ３２０において、仮想アドレスを物理アドレスに変換した変換済み回数がページから必要なデータを読み出すのに必要な回数に達したページの仮想ページ番号と物理ページ番号とを、アクセス要求に係る仮想アドレスの仮想ページ番号とこれに対応する物理ページ番号とに書き換えられる。このため、ＴＬＢ３２０に今後アクセスされる可能性が高いページの仮想ページ番号と物理ページ番号との対応が残り、ＴＬＢ３２０でのヒット率の向上が図られる。
【０１１９】
≪補足≫
本発明は上記の実施の形態で説明した内容に限定されず、本発明の目的とそれに関連又は付随する目的を達成するためのいかなる形態においても実施可能であり、例えば、以下であってもよい。
【０１２０】
（１）上記の第１の実施の形態では、基準回数レジスタ３１０に基準回数を記憶し、変換処理部３３０は基準回数レジスタ３１０に記憶された基準回数を利用する構成としているが、これに限定されるものではなく、例えば次のようなものであっても良い。変換部３００は、基準回数レジスタ３１０を備えず、ページサイズ及び１回のアクセスで読み出されるデータのデータサイズを記憶するレジスタと、レジスタに記憶されているページサイズをレジスタに記憶されているデータサイズで除算することによって基準回数を算出する算出部とを備え、変換処理部３３０は算出部によって算出された基準回数を利用する構成としてもよい。また、変換部３００は、基準回数レジスタ３１０を備えず、ページテーブル１５０に仮想ページ番号と物理ページ番号とに対応させて基準回数を記憶し、変換処理部３３０はページテーブル１５０に記憶されている基準回数を利用する構成としても良い。
【０１２１】
（２）上記の第１及び第２の実施の形態では、回数“０”が存在しない場合には回数が最大である仮想ページ番号と物理ページ番号とを、アクセス要求に係る仮想アドレスの仮想ページ番号とページテーブル１５０から読み出した物理ページ番号に書き換えるとしたが、これに限定されるものではなく、例えば次のようなものであってもよい。最後にアクセスされたタイミングが最も古いページの仮想ページ番号と物理ページ番号とを、アクセス要求に係る仮想アドレスの仮想ページ番号とページテーブル１５０から読み出した物理ページ番号に書き換えるようにしてもよい。
【０１２２】
（３）上記の第１及び第２の実施の形態では、仮想アドレスを物理アドレスに変換したページに対応するＴＬＢ３２０の回数を１デクリメントすることによって、ページにおいての仮想アドレスを物理アドレスに変換した変換済み回数が第１の実施の形態では基準回数に、第２の実施の形態では計算回数に達したか否かを判断できるようにしたが、これに限定されるものではなく、例えば次のようなものであってもよい。ＴＬＢ３２０に新たなページの仮想ページ番号と物理ページ番号とが書き込まれたときに、この新たなページに対応するＴＬＢ３２０の回数を０にし、仮想アドレスを物理アドレスに変換したページに対応するＴＬＢ３２０の回数を１インクリメントすることによって、ページにおいての仮想アドレスを物理アドレスに変換した変換済み回数が第１の実施の形態では基準回数に、第２の実施の形態では計算回数に達したか否かを判断できるようにしてもよい。
【０１２３】
（４）上記の第１及び第２の実施の形態では、ページ内の同じデータを１回読みだす場合を前提として説明したが、これに限定されるものではなく、第１及び第２の実施の形態の手法はページ内の同じデータをＬ（Ｌは２以上の整数）回読みだす場合にも応用できる。但し、第１の実施の形態の手法を応用する場合には、例えば、ページ内の同じデータを１回読みだすのに必要な仮想アドレスを物理アドレスに変換する回数をＬ倍した値を基準回数レジスタ３１０に格納すればよい。また、第２の実施の形態の手法を応用する場合には、例えば、上記の式（１）〜（４）で算出された計算回数ＮをＬ倍し、この結果得られた値をページに関して仮想アドレスを物理アドレスに変換する回数とすればよい。
【０１２４】
（５）上記の第１及び第２の実施の形態の再生装置１，１Ａ又はメモリアクセス制御部２６，２６Ａは、例えば集積回路であるＬＳＩとして実現されてもよい。これらは、個別に１チップ化されてもよいし、全てまたは一部を含むように１チップ化されてもよい。ここでは、ＬＳＩとしたが、集積度の違いにより、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。さらには、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
【０１２５】
また、上記の第１及び第２の実施の形態の例えばメモリアクセス制御部２６，２６Ａを集積化した半導体チップと、画像を描画するためのディスプレイとを組み合せて、様々な用途に応じた描画機器を構成することができる。携帯電話やテレビ、デジタルビデオレコーダ、デジタルビデオカメラ、カーナビゲーション等における情報描画手段として、上記の第１及び第２の実施の形態の例えばメモリアクセス制御部２６，２６Ａを利用することが可能である。ディスプレイとしては、ブラウン管（ＣＲＴ）の他、液晶やＰＤＰ（プラズマディスプレイパネル）、有機ＥＬなどのフラットディスプレイ、プロジェクターを代表とする投射型ディスプレイなどと組み合わせることが可能である。
【０１２６】
（６）上記の第１及び第２の実施の形態では、メモリアクセス制御部２６，２６Ａを搭載する機器が再生装置１，１Ａであるが、これに限定されるものではなく、メモリアクセス制御部２６，２６Ａを搭載する機器は再生装置以外であってもよい。また、メモリアクセス制御部２６，２６Ａにアクセス要求を行う処理部がブレンダー２７であるが、これに限定されるものではなく、メモリアクセス制御部２６，２６Ａをにアクセス要求を行う処理部はブレンダー２７以外であってもよい。
【０１２７】
（７）上記の第１及び第２の実施の形態のメモリアクセス制御部２６，２６Ａを３Ｄテレビなどの３Ｄ対応機器に適用することが可能である。
【０１２８】
（８）上記の第１及び第２の実施の形態で説明した処理フローの流れは同じ結果が得られのであれば処理の順番を変更してもよい。
【０１２９】
（９）上記の第１及び第２の実施の形態で説明した内容、及び上記の補足において説明した内容を適宜組み合わせることができる。
【産業上の利用可能性】
【０１３０】
本発明は、例えば、携帯電話や携帯音楽プレーヤ、デジタルカメラ、デジタルビデオカメラ等の電池駆動の携帯表示端末や、テレビ、デジタルビデオレコーダ、ＢＤレコーダ、ＢＤプレーヤ、ＤＶＤレコーダ、ＤＶＤプレーヤ、カーナビゲーション等の高解像度の情報表示機器におけるメニュー表示やＷｅｂブラウザ、エディタ、ＥＰＧ、地図表示等に利用することができる。
【符号の説明】
【０１３１】
２６  メモリアクセス制御部
１００  記憶部
１５０  ページテーブル
２００，２００Ａ  制御部
３００，３００Ａ  変換部
３１０  基準回数レジスタ
３２０  ＴＬＢ
３３０，３３０Ａ  変換処理部
３６０  開始アドレスレジスタ
３７０  終了アドレスレジスタ
３８０  回数計算部
【図１】
2010150451.tif 000003
【図２】
2010150451.tif 000004
【図３】
2010150451.tif 000005
【図４】
2010150451.tif 000006
【図５】
2010150451.tif 000007
【図６】
2010150451.tif 000008
【図７】
2010150451.tif 000009
【図８】
2010150451.tif 000010
【図９】
2010150451.tif 000011
【図１０】
2010150451.tif 000012
【図１１】
2010150451.tif 000013
【図１２】
2010150451.tif 000014
【図１３】
2010150451.tif 000015
【図１４】
2010150451.tif 000016
【図１５】
2010150451.tif 000017
【図１６】
2010150451.tif 000018
【図１７】
2010150451.tif 000019
【図１８】
2010150451.tif 000020
【図１９】
2010150451.tif 000021
【図２０】
2010150451.tif 000022
【図２１】
2010150451.tif 000023
【手続補正書】
【提出日】平成23年2月18日(2011.2.18)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想アドレスを物理アドレスに変換する技術に関する。
【背景技術】
【０００２】
仮想空間でデータを扱う処理装置において、データ処理を行うデータ処理部がデータを記憶部から読み出すためには、データ処理部は記憶部に格納されているデータの物理アドレスでのアクセスが必要となる。しかしながら、データ処理部は、仮想アドレスでデータを管理するため、仮想アドレスから物理アドレスへの変換が必要となる。この変換を行う変換部は、一般的にコスト抑制のため、ページ毎に仮想アドレスの上位ビットで表される仮想ページ番号（仮想空間でのページを示す情報）と物理アドレスの上位ビットで表される物理ページ番号（物理空間でのページを示す情報）との対応関係を示すページテーブル内の一部のページのみの情報をバッファに記憶する。但し、仮想アドレスは仮想ページ番号とページ内オフセットとからなり、物理アドレスは物理ページ番号とページ内オフセットとからなり、仮想アドレスのページ内オフセットと物理アドレスのページ内オフセットとは同じである。なお、仮想アドレス及び物理アドレスの概要については図２を参照して後述する。
【０００３】
変換部は、仮想アドレスの仮想ページ番号に対応するバッファ内の物理ページ番号と、仮想アドレスのページ内オフセットとを用いて、仮想アドレスを物理アドレスに変換する。このため、変換部は、仮想ページ番号がバッファ内に存在するページについては、このページの仮想アドレスをバッファ内の情報を用いて物理アドレスに変換することが可能である。しかしながら、変換部は、仮想ページ番号がバッファ内に存在しないページについては、このページに関する仮想アドレスをバッファ内の情報を用いて物理アドレスに変換することができない。
【０００４】
変換部は、バッファに仮想ページ番号が記憶されていないページに関する仮想アドレスを物理アドレスに変換する必要がある場合には、ページテーブル全体を記憶している記憶部から必要なページの仮想ページ番号に対応する物理ページ番号を読み出し、読み出した内容に基づいてバッファを更新し、仮想アドレスを物理アドレスに変換することになる。
【０００５】
このページテーブル全体へのアクセスには時間がかかり、このことはリアルタイム処理が必要となるシステムにおいて問題となる。このため、変換部は、バッファに記憶されている今後不必要なページの情報を今後必要なページの情報に置き換えることが求められる。
【０００６】
この不必要なページの情報を特定する方法として、各ページのアクセス回数を記憶するメモリを用意し、メモリに記憶されているアクセス回数に基づいてアクセス頻度の最も低いページを不必要なページとして特定する方法がある。このような従来の技術として、例えば、特許文献１に記載されたものがある。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平０４−１２３１４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、上記の従来の技術を仮想アドレスと物理アドレスとの変換を行い、例えばページに対してアクセスする回数が定まるメモリアクセス制御装置に適用した場合、次のような問題がある。バッファから現在までのアクセス頻度が低いが今後アクセスされる可能性が高いページの情報がなくなり、バッファに現在までのアクセス頻度が高いが今後アクセスされる可能性が低いページの情報が残り、バッファでのヒット率が低下するという問題がある。
【０００９】
そこで、本発明は、バッファでのヒット率の向上を図ることが可能なメモリアクセス制御装置、集積回路、メモリアクセス制御方法及びデータ処理装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するために本発明のメモリアクセス制御装置は、データ、及び、複数のページの夫々について、仮想アドレスの一部であってページを示す仮想ページ番号と物理アドレスの一部であってページを示す物理ページ番号との対応関係を示すページテーブルを記憶する記憶部と、前記複数のページの一部のページの夫々について、前記仮想ページ番号と前記物理ページ番号とを対応させて記憶するバッファ、及び、前記バッファの記憶内容に基づいて仮想アドレスを物理アドレスに変換する変換処理部を有する変換部と、物理アドレスに変換を施すアクセス要求に係る仮想アドレスを前記変換処理部に対して渡し、前記変換処理部により得られた物理アドレスに基づいて前記記憶部からデータを取得する制御部と、を備え、前記変換処理部は、前記アクセス要求に係る仮想アドレスの仮想ページ番号が前記バッファ内に存在しない場合、前記バッファにおいて、仮想アドレスを物理アドレスに変換した変換済み回数が変換実行回数に達したページの仮想ページ番号と物理ページ番号とを、前記アクセス要求に係る仮想アドレスの仮想ページ番号とこの仮想ページ番号に対応する前記記憶部内の物理ページ番号とに書き換える。
【００１１】
本発明の集積回路は、データ、及び、複数のページの夫々について、仮想アドレスの一部であってページを示す仮想ページ番号と物理アドレスの一部であってページを示す物理ページ番号との対応関係を示すページテーブルを記憶する記憶部と、前記複数のページの一部のページの夫々について、前記仮想ページ番号と前記物理ページ番号とを対応させて記憶するバッファ、及び、前記バッファの記憶内容に基づいて仮想アドレスを物理アドレスに変換する変換処理部を有する変換部と、物理アドレスに変換を施すアクセス要求に係る仮想アドレスを前記変換処理部に対して渡し、前記変換処理部により得られた物理アドレスに基づいて前記記憶部からデータを取得する制御部と、を備え、前記変換処理部は、前記アクセス要求に係る仮想アドレスの仮想ページ番号が前記バッファ内に存在しない場合、前記バッファにおいて、仮想アドレスを物理アドレスに変換した変換済み回数が変換実行回数に達したページの仮想ページ番号と物理ページ番号とを、前記アクセス要求に係る仮想アドレスの仮想ページ番号とこの仮想ページ番号に対応する前記記憶部内の物理ページ番号とに書き換える。
【００１２】
本発明のメモリアクセス制御方法は、データ、及び、複数のページの夫々について、仮想アドレスの一部であってページを示す仮想ページ番号と物理アドレスの一部であってページを示す物理ページ番号との対応関係を示すページテーブルを記憶する記憶部と、前記複数のページの一部のページの夫々について、前記仮想ページ番号と前記物理ページ番号とを対応させて記憶するバッファ、及び、前記バッファの記憶内容に基づいて仮想アドレスを物理アドレスに変換する変換処理部を有する変換部と、物理アドレスに変換を施すアクセス要求に係る仮想アドレスを前記変換処理部に対して渡し、前記変換処理部により得られた物理アドレスに基づいて前記記憶部からデータを取得する制御部と、を備えるメモリアクセス制御装置において行われるメモリアクセス制御方法であって、前記変換処理部は、前記アクセス要求に係る仮想アドレスの仮想ページ番号が前記バッファ内に存在するかを判定する判定ステップと、存在しないと判定した場合、前記アクセス要求に係る仮想アドレスの仮想ページ番号に対応する物理ページ番号を前記記憶部から読み出すステップと、前記バッファにおいて、仮想アドレスを物理アドレスに変換した変換済み回数が変換実行回数に達したページの仮想ページ番号と物理ページ番号とを、前記アクセス要求に係る仮想アドレスの仮想ページ番号と読み出された物理ページ番号とに書き換える書き換えステップと、有する。
【００１３】
本発明のデータ処理装置は、メモリアクセス制御部と、当該メモリアクセス制御部に対して仮想アドレスによるアクセス要求を行う処理部とを備えるデータ処理装置であって、前記メモリアクセス制御部は、データ、及び、複数のページの夫々について、仮想アドレスの一部であってページを示す仮想ページ番号と物理アドレスの一部であってページを示す物理ページ番号との対応関係を示すページテーブルを記憶する記憶部と、前記複数のページの一部のページの夫々について、前記仮想ページ番号と前記物理ページ番号とを対応させて記憶するバッファ、及び、前記バッファの記憶内容に基づいて仮想アドレスを物理アドレスに変換する変換処理部を有する変換部と、物理アドレスに変換を施す前記処理部からのアクセス要求に係る仮想アドレスを前記変換処理部に対して渡し、前記変換処理部により得られた物理アドレスに基づいて前記記憶部からデータを取得して取得したデータを前記処理部へ出力する制御部と、を備え、前記変換処理部は、前記アクセス要求に係る仮想アドレスの仮想ページ番号が前記バッファ内に存在しない場合、前記バッファにおいて、仮想アドレスを物理アドレスに変換した変換済み回数が変換実行回数に達したページの仮想ページ番号と物理ページ番号とを、前記アクセス要求に係る仮想アドレスの仮想ページ番号とこの仮想ページ番号に対応する前記記憶部内の物理ページ番号とに書き換える。
【発明の効果】
【００１４】
上記のメモリアクセス制御装置、集積回路、メモリアクセス制御方法、データ処理装置の夫々によれば、バッファにおいて、仮想アドレスを物理アドレスに変換した変換済み回数が変換実行回数に達したページの仮想ページ番号と物理ページ番号とを、アクセス要求に係る仮想アドレスの仮想ページ番号とこれに対応する物理ページ番号とに書き換える。このため、バッファに今後アクセスされる可能性が高いページの仮想ページ番号と物理ページ番号との対応が残り、バッファでのヒット率の向上が図られる。
【００１５】
上記のメモリアクセス制御装置において、前記変換部は、前記変換実行回数を基準回数として予め記憶する基準回数記憶部を更に備えるようにしてもよい。
これによれば、予め変換実行回数を基準回数として記憶する基準回数記憶部を設けることによって、バッファに仮想ページ番号及び物理ページ番号を書き込む度に変換実行回数を新たに取得する必要がなくなり、変換実行回数を取得に係る処理負荷の軽減を図ることができる。
【００１６】
上記のメモリアクセス制御装置において、前記変換部は、前記変換実行回数を計算する回数計算部を更に備えるようにしてもよい。
これによれば、ページの一部にデータが存在するような場合であっても、アクセス要求に係る仮想アドレスの仮想ページ番号とこれに対応する物理ページ番号とに書き換えられる、バッファ内の仮想ページ番号と物理ページ番号とを適切なものにすることが可能になる。これにより、バッファでのヒット率の向上が図られる。
【００１７】
上記のメモリアクセス制御装置において、前記回数計算部は、ページサイズと、１回のアクセスで前記記憶部から読み出されるデータのデータサイズと、ページにおける読み出しが開始される仮想アドレス及びページにおける読み出しを終了する仮想アドレスの少なくとも一方とに基づいて、前記変換実行回数を計算するようにしてもよい。
【００１８】
これによれば、変換実行回数の算出を容易に行うことができる。
【図面の簡単な説明】
【００１９】
【図１】第１の実施の形態に係るメモリアクセス制御部を備える再生装置の構成図。
【図２】仮想アドレスと物理アドレスとの概要を示す図。
【図３】図１のメモリアクセス制御部の構成図。
【図４】図３の記憶部に記憶されている各プレーンの仮想空間での配置と物理空間での配置の対応関係の概要を示す図。
【図５】図３の記憶部に記憶されているページテーブルの一例を示す図。
【図６】図３のＴＬＢの内容の一例を示す図。
【図７】図３のメモリアクセス制御部の動作の流れを示すフローチャート。
【図８】図３のブレンダーのデータの読み出しの順番を示すタイミング図。
【図９】図８の時刻Ｔ０におけるＴＬＢの内容を示す図。
【図１０】図８の時刻Ｔ１におけるＴＬＢの内容を示す図。
【図１１】図８の時刻Ｔ２におけるＴＬＢの内容を示す図。
【図１２】第２の実施の形態に係るメモリアクセス制御部を備える再生装置の構成図。
【図１３】図１２のメモリアクセス制御部の構成図。
【図１４】図１３のメモリアクセス制御部の動作の流れを示すフローチャート。
【図１５】図１３の回数計算部による回数計算処理の流れを示すフローチャート。
【図１６】図１３のブレンダーのデータの読み出しの順番を示すタイミング図。
【図１７】図１６の時刻Ｔ１０におけるＴＬＢの内容を示す図。
【図１８】図１６の時刻Ｔ１１におけるＴＬＢの内容を示す図。
【図１９】図１６の時刻Ｔ１２におけるＴＬＢの内容を示す図。
【図２０】図１６の時刻Ｔ１３におけるＴＬＢの内容を示す図。
【図２１】図１６の時刻Ｔ１４におけるＴＬＢの内容を示す図。
【発明を実施するための形態】
【００２０】
≪第１の実施の形態≫
以下、本発明の第１の実施の形態について図面を参照しつつ説明する。
＜再生装置＞
図１は第１の実施の形態に係るメモリアクセス制御部２６を備える再生装置１の構成図である。
【００２１】
再生装置１は、ディスクに記憶された映像情報や音声情報を再生するものであり、ドライバ１０と、復調部１１と、ＥＣＣデコーダ１２と、スイッチ１３と、第１プレローディングバッファ１４と、第２プレローディングバッファ１５と、第１リードバッファ１６と、第２リードバッファ１７と、スイッチ１８と、スイッチ１９と、ＩＧデコーダ２０と、Ｔｘｔデコーダ２１と、ＰＧデコーダ２２と、ビデオデコーダ２３と、オーディオデコーダ２４と、スイッチ２５と、メモリアクセス制御部２６と、ブレンダー２７と、ミキサ２８とを備える。
【００２２】
ここでは、メモリアクセス制御部２６以外の再生装置１の構成要素は一般的なものであるので、再生装置１の各構成要素の概要を記載するに留め、メモリアクセス制御部２６の詳細を図３以降で説明するものとする。
【００２３】
ドライバ１０は、ディスクに記憶された映像情報や音声情報等のデータを読み出し、読み出したデータを復調部１１へ出力する。復調部１１は、ドライバ１０から入力されたデータに対して復調処理を行い、復調処理後のデータをＥＣＣデコーダ１２へ出力する。ＥＣＣデコーダ１２は、復調部１１から入力されたデータに対して誤り訂正符号（Error Correcting Code：ECC）に基づく誤り訂正処理を行い、誤り訂正処理後のデータをスイッチ１３へ出力する。スイッチ１３は、ＥＣＣデコーダ１２から入力されたデータの出力先を、不図示の制御部に制御されて、第１プレローディングバッファ１４、第２プレローディングバッファ１５、第１リードバッファ１６、及び第２リードバッファ１７の何れかに切り替えるためのスイッチである。
【００２４】
第１プレローディングバッファ１４は、スイッチ１３を介して入力された音声データを一時的に保存し、保存した音声データをミキサ２８へ出力する。第２プレローディングバッファ１５は、スイッチ１３を介して入力されたテキストデータを一時的に保存し、保存したテキストデータをＴｘｔデコーダ２１へ出力する。第１リードバッファ１６は、スイッチ１３を介して入力されたデータを一時的に保存し、保存したデータをスイッチ１８へ出力する。第２リードバッファ１７は、スイッチ１３を介して入力されたデータを一時的に保存し、保存したデータをスイッチ１９へ出力する。
【００２５】
スイッチ１８は、第１リードバッファ１６から入力されたデータの出力先を、不図示の制御部に制御されて、ＩＧデコーダ２０、ＰＧデコーダ２２、ビデオデコーダ２３、及びスイッチ１９の何れかに切り替えるためのスイッチである。スイッチ１９は、オーディオデコーダ２４へ出力するデータの入力元を、不図示の制御部に制御されて、第２リードバッファ１７及びスイッチ１８の何れかに切り替えるためのスイッチである。
【００２６】
ＩＧデコーダ２０は、スイッチ１８を介して入力されたインタラクティブグラフィックスデータをデコードし、そのデコードしたデータであるインタラクティブグラフィックスプレーン（以下、「ＩＧプレーン」と言う。）をメモリアクセス制御部２６内の後述する記憶部１００に格納する。
【００２７】
Ｔｘｔデコーダ２１は、第２プレローディングバッファ１５から入力されたテキストデータをデコードし、そのデコードしたデータをスイッチ２５へ出力する。ＰＧデコーダ２２は、スイッチ１８を介して入力されたプレゼンテーショングラフィックスデータをデコードし、そのデコードしたデータをスイッチ２５へ出力する。スイッチ２５は、メモリアクセス制御部２６へ出力するデータの入力元を、不図示の制御部に制御されて、Ｔｘｔデコーダ２１及びＰＧデコーダ２２の何れかに切り替え、プレゼンテーショングラフィックスプレーン（以下、「ＰＧプレーン」と言う。）をメモリアクセス制御部２６内の後述する記憶部１００に格納する。
【００２８】
ビデオデコーダ２３は、スイッチ１８を介して入力されたビデオデータをデコードし、そのデコードしたデータであるビデオプレーン（以下、「Ｖプレーン」と言う。）をメモリアクセス制御部２６内の後述する記憶部１００に格納する。
【００２９】
オーディオデコーダ２４は、スイッチ１９を介して入力された音声データをデコードし、デコード後の音声データをミキサ２８へ出力する。ミキサ２８は、第１プレローディングバッファ１４から入力された音声データとオーディオデコーダ２４から入力された音声データとを混合し、混合した音声データを再生装置１の外部へ出力する。
【００３０】
メモリアクセス制御部２６は、ＩＧプレーン、ＰＧプレーン、及びＶプレーンなどの情報を記憶している。ブレンダー２７はメモリアクセス制御部２６に対して仮想アドレスによるアクセス要求を行う。このアクセス要求を受けて、メモリアクセス制御部２６はアクセス要求に係る仮想アドレスを物理アドレスに変換し、物理アドレスに基づいてメモリアクセス制御部２６内の後述する記憶部１００からデータ（ＩＧプレーン、ＰＧプレーン、Ｖプレーン）を読み出し、読み出したデータをブレンダー２７に渡す。ブレンダー２７は、メモリアクセス制御部２６から受け取ったＩＧプレーンと、ＰＧプレーンと、Ｖプレーンとを混合し、混合したデータを再生装置１の外部へ出力する。
【００３１】
＜仮想アドレスと物理アドレス＞
図２は仮想アドレスと物理アドレスとの概要を示す図である。但し、図２ではページサイズを４Ｋ（＝４０９６＝２12）バイトとする。
【００３２】
仮想アドレスは、仮想空間でのページを示す仮想ページ番号と、そのページ内の位置を示すページ内オフセットの２つの部分に分かれる。ページサイズが４Ｋバイトの場合、仮想アドレスの最上位ビットから１２ビット目までが仮想ページ番号となり、１１ビット目から最下位ビットまでの１２ビットがページ内オフセットとなる。
【００３３】
物理アドレスは、物理空間でのページを示す物理ページ番号と、そのページ内の位置を表すページ内オフセットとの２つの部分に分かれる。ページサイズが４Ｋバイトの場合、物理アドレスの最上位ビットから１２ビット目までが物理ページ番号となり、１１ビット目から最下位ビットまでの１２ビットがページ内オフセットとなる。
【００３４】
データが同じ場合、仮想アドレスのページ内オフセットと物理アドレスのページ内オフセットとは一致することから、仮想アドレスから物理アドレスへの変換は、仮想アドレスの仮想ページ番号を物理アドレスの物理ページ番号に変換することにより実現される。
【００３５】
なお、仮想アドレス及び物理アドレスの夫々のページ内オフセットのビット数は、ページサイズによって定まるものである。また、仮想アドレスのビット数と物理アドレスのビット数とが同じ場合もあれば、異なる場合もある。
【００３６】
＜メモリアクセス制御部の構成＞
図３は図１のメモリアクセス制御部２６の構成図である。なお、図３では、メモリアクセス制御部２６とＩＧデコーダ２０、スイッチ２５、ビデオデコーダ２３及びブレンダー２７との接続関係を明確にするために、ＩＧデコーダ２０、スイッチ２５、ビデオデコーダ２３及びブレンダー２７も示している。
【００３７】
メモリアクセス制御部２６は、記憶部１００と、制御部２００と、変換部３００とを備える。
記憶部１００は、ＩＧプレーンＡ、ＰＧプレーンＢ、及びＶプレーンＣを記憶し、更に、ページ単位での仮想アドレスと物理アドレスとの対応を表すページテーブル１５０の全体を記憶する。
【００３８】
ここで、記憶部１００に記憶されている各プレーンの仮想空間での配置と物理空間での配置の対応関係の概要について図４を用いて説明する。記憶部１００は、本実施の形態では、ＩＧプレーンＡ、ＰＧプレーンＢ、及びＶプレーンＣを４Ｋバイトのページ単位で管理している。仮想空間で連続するデータも物理空間ではページ単位で断片化して配置されている。例えば、仮想空間で連続しているＩＧプレーンＡは、物理空間ではＩＧプレーンＡ−０，Ａ−１，Ａ−２，・・・，Ａ−５３９に断片化して配置されている。なお、図４における、ＩＧプレーンＡ−０，Ａ−１，Ａ−２，・・・，Ａ−５３９、ＰＧプレーンＢ−０，Ｂ−１，・・・，Ｂ−５３９、ＶプレーンＣ−０，Ｃ−１，・・・，Ｃ−５３９は、夫々、１ページ分のデータである。
【００３９】
次に、記憶部１００に記憶されているページテーブル１５０の一例について図５を参照しつつ説明する。ページテーブル１５０は、図５に一例を示すように、ページの全てについて、ページ毎に仮想ページ番号とこれに対応する物理ページ番号との対応関係を記憶するためのテーブルである。上述したように、同じデータの場合には仮想アドレスのページ内オフセットと物理アドレスのページ内オフセットとは同じであるので、仮想アドレスから物理アドレスに変換する観点からは、ページテーブルには仮想ページ番号とこれに対応する物理ページ番号との対応関係を記憶しておけば十分である。これは、変換部３００内の後述するＴＬＢ（translation-lookaside buffer）３２０についても同じことが言える。
【００４０】
制御部２００は、ブレンダー２７からの仮想アドレスによるアクセス要求を受け、変換部３００内の後述する変換処理部３３０に対してアクセス要求に係る仮想アドレスを渡す。そして、制御部２００は、変換処理部３３０を制御して変換処理部３３０にアクセス要求に係る仮想アドレスを物理アドレスに変換させ、変換処理部３３０から変換により得られた物理アドレスを受け取る。
【００４１】
そして、制御部２００は、記憶部１００に対して物理アドレスによるアクセス要求を行い、記憶部１００から所定データサイズ（本実施の形態では、２５６バイト）分のデータを受け取り、受け取ったデータを仮想アドレスによるアクセス要求を行ったブレンダー２７に対して渡す。
【００４２】
変換部３００は、制御部２００によって制御されて、制御部２００から渡されたアクセス要求に係る仮想アドレスを物理アドレスに変換して物理アドレスを制御部２００へ渡すものであり、基準回数レジスタ３１０と、ＴＬＢ（translation-lookaside buffer）３２０と、変換処理部３３０とを備える。
【００４３】
基準回数レジスタ３１０は、１ページ当たりブレンダー２７が仮想アドレスによるアクセス要求を行う回数、言い換えると、１ページ当たり仮想アドレスを物理アドレスに変換する回数（以下、「基準回数」と言う。）を記憶するためのレジスタである。なお、本実施の形態では、基準回数レジスタ３１０に予め基準回数が設定されているものとする。
【００４４】
本実施の形態では、ページサイズを４Ｋ（＝４０９６＝２12）バイト、１回のアクセスで記憶部１００から読み出されるデータのデータサイズを２５６（＝２8）バイトとすると、基準回数レジスタ３１０に記憶される基準回数は１６（＝２12／２8）となる。
【００４５】
ＴＬＢ３２０は、図６に一例を示すように、ページテーブル１５０に記憶されている複数ページのうちの一部のページについて、ページ毎に仮想ページ番号とこれに対応する物理ページ番号とこれに対応する回数との対応関係を記憶するためのバッファである。
【００４６】
図６の回数は、対応するページに対して基準回数のアクセス要求が行われたか、言い換えると、そのページで仮想アドレスを物理アドレスに基準回数分変換したか否かを判断するために用いられる。但し、回数には、対応するページの仮想ページ番号と物理ページ番号とがＴＬＢ３２０に格納されたタイミングでは基準回数レジスタ３１０に記憶されている基準回数がセットされる。回数の値は対応するページについて仮想アドレスが物理アドレスに変換される度に１デクリメントされる。なお、後述する第２の実施の形態では、回数には、対応するページの仮想ページ番号と物理ページ番号とがＴＬＢ３２０に格納されたタイミングでは後述する回数計算部３８０によって計算された回数がセットされる。
【００４７】
回数の値が０であるページは、該当ページ対してブレンダー２７が仮想アドレスによるアクセス要求を行った回数、言い換えると、該当ページで仮想アドレスを物理アドレスに変換した回数が基準回数に達したページと言うことになる。
【００４８】
変換処理部３３０は、制御部２００からアクセス要求に係る仮想アドレスを渡され、制御部２００によって制御されてアクセス要求に係る仮想アドレスを物理アドレスに変換して物理アドレスを制御部２００へ渡す。
【００４９】
以下に、変換処理部３３０が制御部２００により制御されて行う処理内容を説明する。
変換処理部３３０は、アクセス要求に係る仮想アドレスの仮想ページ番号がＴＬＢ３２０に存在するかを判定する。
【００５０】
アクセス要求に係る仮想アドレスの仮想ページ番号がＴＬＢ３２０内に存在した場合、変換処理部３３０は、アクセス要求に係る仮想アドレスの仮想ページ番号に対応する物理ページ番号をＴＬＢ３２０から読み出し、読み出した物理ページ番号とこの仮想アドレスのページ内オフセットとに基づいてこの仮想アドレスを物理アドレスに変換し、物理アドレスを制御部２００へ渡す。そして、変換処理部３３０は、ＴＬＢ３２０においてアクセス要求に係る仮想アドレスの仮想ページ番号に対応する回数を１デクリメントする。
【００５１】
一方、アクセス要求に係る仮想アドレスの仮想ページ番号がＴＬＢ３２０内に存在しなかった場合、変換処理部３３０は、記憶部１００内のページテーブル１５０から仮想ページ番号に対応する物理ページ番号を読み出す。そして、変換処理部３３０は、ＴＬＢ３２０において、回数“０”が存在する場合には回数“０”に対応する仮想ページ番号と物理ページ番号とを、回数“０”が存在しない場合には回数が最大である仮想ページ番号と物理ページ番号とを、アクセス要求に係る仮想アドレスの仮想ページ番号とページテーブル１５０から読み出した物理ページ番号とに書き換える。変換処理部３３０は、ＴＬＢ３２０において、書き換えにより新たに記憶されることになった仮想ページ番号と物理ページ番号とに対応する回数の値を、基準回数レジスタ３１０に記憶されている基準回数に書き換える。更に、変換処理部３３０は、ＴＬＢ３２０からアクセス要求に係る仮想アドレスの仮想ページ番号に対応する物理ページ番号を読み出し、読み出した物理ページ番号とこの仮想アドレスのページ内オフセットとに基づいてこの仮想アドレスを物理アドレスに変換し、物理アドレスを制御部２００へ渡す。そして、変換処理部３３０は、ＴＬＢ３２０においてアクセス要求に係る仮想アドレスの仮想ページ番号に対応する回数を１デクリメントする。
【００５２】
＜メモリアクセス制御部の動作＞
図７は図３のメモリアクセス制御部２６の動作の流れを示すフローチャートである。
制御部２００は、ブレンダー２７からの仮想アドレスによるアクセス要求を受けるまで（Ｓ１：ＮＯ）、ブレンダー２７からの仮想アドレスによるアクセス要求の待ち状態にある（ステップＳ１）。制御部２００は、ブレンダー２７からの仮想アドレスによるアクセス要求を受けると（Ｓ１：ＹＥＳ）、ステップＳ２の処理に移行する。
【００５３】
制御部２００はブレンダー２７からのアクセス要求に係る仮想アドレスを変換部３００内の変換処理部３３０に対してアドレス変換を施す仮想アドレスとして渡す。そして、制御部２００は変換処理部３３０を制御し、制御部２００により制御された変換処理部３３０は、制御部２００から渡されたアクセス要求に係る仮想アドレスの仮想ページ番号がＴＬＢ３２０に存在するかを判定する（ステップＳ２）。この仮想ページ番号がＴＬＢ３２０に存在した場合（Ｓ２：ＹＥＳ）、制御部２００はステップＳ８の処理に移行する。一方、この仮想ページ番号がＴＬＢ３２０に存在しなかった場合（Ｓ２：ＮＯ）、制御部２００はステップＳ３の処理に移行する。
【００５４】
ステップＳ３において、制御部２００は変換処理部３３０を制御し、制御部２００により制御された変換処理部３３０は記憶部１００内のページテーブル１５０からアクセス要求に係る仮想アドレスの仮想ページ番号に対応する物理ページ番号を読み出す（ステップＳ３）。
【００５５】
制御部２００は変換処理部３３０を制御し、制御部２００により制御された変換処理部３３０は回数の値“０”がＴＬＢ３２０に存在するかを判定する（ステップＳ４）。
回数の値“０”がＴＬＢ３２０に存在した場合（Ｓ４：ＹＥＳ）、制御部２００は変換処理部３３０を制御し、制御部２００により制御された変換処理部３３０は、ＴＬＢ３２０において、回数“０”に対応する仮想ページ番号と物理ページ番号とを、アクセス要求に係る仮想アドレスの仮想ページ番号とページテーブル１５０から読み出した物理ページ番号とに書き換える（ステップＳ５）。但し、ＴＬＢ３２０に回数の値“０”が複数存在する場合には、複数のうちの何れか１つに対してステップＳ５の処理が行われる。そして、制御部２００は変換処理部３３０を制御し、制御部２００により制御された変換処理部３３０は、ＴＬＢ３２０において、ステップＳ５における書き換えにより新たに記憶されることになった仮想ページ番号と物理ページ番号とに対応する回数を基準回数レジスタ３１０に記憶されている基準回数（本実施の形態では、“１６”）に書き換える（ステップＳ７）。そして、制御部２００はステップＳ８の処理に移行する。
【００５６】
回数の値“０”がＴＬＢ３２０に存在しなかった場合（Ｓ４：ＮＯ）、制御部２００は変換処理部３３０を制御し、制御部２００により制御された変換処理部３３０は、ＴＬＢ３２０において、回数の最大値に対応する仮想ページ番号と物理ページ番号とを、アクセス要求に係る仮想アドレスの仮想ページ番号とページテーブル１５０から読み出した物理ページ番号とに書き換える（ステップＳ６）。但し、ＴＬＢ３２０に最大値の回数が複数存在する場合には、複数のうちの何れか１つに対してステップＳ６の処理が行われる。そして、制御部２００は変換処理部３３０を制御し、制御部２００により制御された変換処理部３３０は、ＴＬＢ３２０において、ステップＳ６における書き換えにより新たに記憶されることになった仮想ページ番号と物理ページ番号とに対応する回数を基準回数レジスタ３１０に記憶されている基準回数（本実施の形態では、“１６”）に書き換える（ステップＳ７）。そして、制御部２００はステップＳ８の処理に移行する。
【００５７】
ステップＳ８において、制御部２００は変換処理部３３０を制御し、制御部２００により制御された変換処理部３３０は、ＴＬＢ３２０からアクセス要求に係る仮想アドレスの仮想ページ番号に対応する物理ページ番号を読み出し、読み出した物理ページ番号とこの仮想アドレスのページ内オフセットとに基づいてこの仮想アドレスを物理アドレスに変換し、物理アドレスを制御部２００へ渡す（ステップＳ８）。そして、制御部２００は変換処理部３３０を制御し、制御部２００により制御された変換処理部３３０は、ＴＬＢ３２０において、アクセス要求に係る仮想アドレスの仮想ページ番号に対応する回数を１デクリメントする（ステップＳ９）。
【００５８】
制御部２００は、ステップＳ８で変換処理部３３０から渡された物理アドレスに基づいて記憶部１００から所定データサイズ（本実施の形態では、２５６バイト）分のデータを読み出し（ステップＳ１０）、記憶部１００から読み出した２５６バイト分のデータをアクセス要求元のブレンダー２７へ渡す（ステップＳ１１）。そして、制御部２００は、ステップＳ１の処理に移行する。
【００５９】
＜具体例＞
以下、ブレンダー２７及びメモリアクセス制御部２６の動作の具体例を図８及び図９から図１１を参照しつつ説明する。
【００６０】
図８に示すように、ブレンダー２７は、ＶプレーンＣ−０、ＰＧプレーンＢ−０、ＩＧプレーンＡ−０の夫々に対するアクセスを１６回繰り返し、その後、ＶプレーンＣ−１に対するアクセスを行うものとする。
【００６１】
時刻Ｔ０における変換部３００内のＴＬＢ３２０の記憶内容は図９であったとする。このときに、ブレンダー２７が、メモリアクセス制御部２６内の制御部２００に対して、ＶプレーンＣ−０の仮想ページ番号を含む仮想アドレスによるアクセス要求を行う。制御部２００は、変換部３００内の変換処理部３３０に対してブレンダー２７からの仮想アドレスを渡す。変換処理部３３０は、ＴＬＢ３２０にＶプレーンＣ−０の仮想ページ番号が存在するかを判定する。ここでは、ＴＬＢ３２０にＶプレーンＣ−０の仮想ページ番号が存在するので、変換処理部３３０は、ＶプレーンＣ−０の仮想ページ番号に対応するＴＬＢ３２０内の物理ページ番号とアクセス要求に係る仮想アドレスのページ内オフセットとに基づいて仮想アドレスを物理アドレスに変換する。そして、変換処理部３３０は、ＴＬＢ３２０において、ＶプレーンＣ−０の仮想ページ番号に対応する回数を１デクリメントする。制御部２００は、変換処理部３３０によるアドレス変換で得られた物理アドレスに基づいて記憶部１００からＶプレーンＣ−０の２５６バイト分のデータを読み出し、読み出した２５６バイト分のデータをブレンダー２７へ渡す。
【００６２】
次に、ブレンダー２７が、メモリアクセス制御部２６内の制御部２００に対して、ＰＧプレーンＢ−０の仮想ページ番号を含む仮想アドレスによるアクセス要求を行う。制御部２００は、変換部３００内の変換処理部３３０に対してブレンダー２７からの仮想アドレスを渡す。変換処理部３３０は、ＴＬＢ３２０にＰＧプレーンＢ−０の仮想ページ番号が存在するかを判定する。ここでは、ＴＬＢ３２０にＰＧプレーンＢ−０の仮想ページ番号が存在するので、変換処理部３３０は、ＰＧプレーンＢ−０の仮想ページ番号に対応するＴＬＢ３２０内の物理ページ番号とアクセス要求に係る仮想アドレスのページ内オフセットとに基づいて仮想アドレスを物理アドレスに変換する。そして、変換処理部３３０は、ＴＬＢ３２０において、ＰＧプレーンＢ−０の仮想ページ番号に対応する回数を１デクリメントする。制御部２００は、変換処理部３３０によるアドレス変換で得られた物理アドレスに基づいて記憶部１００からＰＧプレーンＢ−０の２５６バイト分のデータを読み出し、読み出した２５６バイト分のデータをブレンダー２７へ渡す。
【００６３】
次に、ブレンダー２７が、メモリアクセス制御部２６内の制御部２００に対して、ＩＧプレーンＡ−０の仮想ページ番号を含む仮想アドレスによるアクセス要求を行う。制御部２００は、変換部３００内の変換処理部３３０に対してブレンダー２７からの仮想アドレスを渡す。変換処理部３３０は、ＴＬＢ３２０にＩＧプレーンＡ−０の仮想ページ番号が存在するかを判定する。ここでは、ＴＬＢ３２０にＩＧプレーンＡ−０の仮想ページ番号が存在するので、変換処理部３３０は、ＩＧプレーンＡ−０の仮想ページ番号に対応するＴＬＢ３２０内の物理ページ番号とアクセス要求に係る仮想アドレスのページ内オフセットとに基づいて仮想アドレスを物理アドレスに変換する。そして、変換処理部３３０は、ＴＬＢ３２０において、ＩＧプレーンＡ−０の仮想ページ番号に対応する回数を１デクリメントする。制御部２００は、変換処理部３３０によるアドレス変換で得られた物理アドレスに基づいて記憶部１００からＩＧプレーンＡ−０の２５６バイト分のデータを読み出し、読み出した２５６バイト分のデータをブレンダー２７へ渡す。
【００６４】
ブレンダー２７は、メモリアクセス制御部２６内の制御部２００に対して、ＶプレーンＣ−０、ＰＧプレーンＢ−０、ＩＧプレーンＡ−０の夫々に対するアクセス要求を更に１５回行う。
【００６５】
１６回目のＩＧプレーンＡ−０に対するアクセス要求が完了した後の時刻Ｔ１における変換部３００内のＴＬＢ３２０の記憶内容は、時刻Ｔ０から時刻Ｔ１までの間にＶプレーンＣ−０、ＰＧプレーンＢ−０、ＩＧプレーンＡ−０の夫々に対して１６回のアクセス要求が行われたので、図１０になる。図１０に示すように、時刻Ｔ１においては、ＴＬＢ３２０内のＶプレーンＣ−０、ＰＧプレーンＢ−０、及びＩＧプレーンＡ−０の夫々に対応する回数は０である。
【００６６】
時刻Ｔ１の後、ブレンダー２７が、メモリアクセス制御部２６内の制御部２００に対して、ＶプレーンＣ−１の仮想ページ番号を含む仮想アドレスによるアクセス要求を行う。制御部２００は、変換部３００内の変換処理部３３０に対してブレンダー２７からの仮想アドレスを渡す。変換処理部３３０は、ＴＬＢ３２０にＶプレーンＣ−１の仮想ページ番号が存在するかを判定する。ここでは、ＴＬＢ３２０にＶプレーンＣ−１の仮想ページ番号が存在しないので、変換処理部３３０は、ページテーブル１５０からＶプレーンＣ−１の仮想ページ番号に対応する物理ページ番号を読み出す。そして、変換処理部３３０は、ＴＬＢ３２０において、回数が０であるＩＧプレーンＡ−０の仮想ページ番号と物理ページ番号とをＶプレーンＣ−１の仮想ページ番号と物理ページ番号とに書き換え、ＶプレーンＣ−１の回数を基準回数レジスタ３１０に保持されている基準回数“１６”に書き換える。変換処理部３３０は、ＶプレーンＣ−１の仮想ページ番号に対応するＴＬＢ３２０内の物理ページ番号とアクセス要求に係る仮想アドレスのページ内オフセットとに基づいて仮想アドレスを物理アドレスに変換する。そして、変換処理部３３０は、ＴＬＢ３２０において、ＶプレーンＣ−１の仮想ページ番号に対応する回数を１デクリメントする。制御部２００は、変換処理部３３０によるアドレス変換で得られた物理アドレスに基づいて記憶部１００からＶプレーンＣ−１の２５６バイト分のデータを読み出し、読み出した２５６バイト分のデータをブレンダー２７へ渡す。時刻Ｔ２における変換部３００内のＴＬＢ３２０の記憶内容は、図１１になる。
【００６７】
このように、ＴＬＢ３２０において、仮想アドレスを物理アドレスに変換した変換済み回数が基準回数に達したページの仮想ページ番号と物理ページ番号とを、アクセス要求に係る仮想アドレスの仮想ページ番号とこれに対応する物理ページ番号とに書き換えられる。このため、ＴＬＢ３２０に今後アクセスされる可能性が高いページの仮想ページ番号と物理ページ番号との対応が残り、ＴＬＢ３２０でのヒット率の向上が図られる。
【００６８】
≪第２の実施の形態≫
以下、本発明の第２の実施の形態について図面を参照しつつ説明する。但し、第１の実施の形態ではページ当たりのアクセス回数が一定である場合を対象としているのに対して、本実施の形態ではページ当たりのアクセス回数が一定でない場合を対象とするものである。なお、本実施の形態において、第１の実施の形態の構成要素と実質的に同じ構成要素には同じ符号を付し、その説明が適用できるため本実施の形態ではその説明を省略し、或いは、簡単な記載に留める。
【００６９】
＜再生装置＞
図１２は第２の実施の形態に係るメモリアクセス制御部２６Ａを備える再生装置１Ａの構成図である。
【００７０】
再生装置１Ａは、ディスクに記憶された映像情報や音声情報を再生するものであり、ドライバ１０と、復調部１１と、ＥＣＣデコーダ１２と、スイッチ１３と、第１プレローディングバッファ１４と、第２プレローディングバッファ１５と、第１リードバッファ１６と、第２リードバッファ１７と、スイッチ１８と、スイッチ１９と、ＣＰＵ（Central Processing Unit）５０と、オーディオデコーダ２４と、メモリアクセス制御部２６Ａと、ブレンダー２７と、ミキサ２８とを備える。
【００７１】
ＣＰＵ５０は、図１のＩＧデコーダ２０、Ｔｘｔデコーダ２１、ＰＧデコーダ２２、ビデオデコーダ２３、及びスイッチ２５の処理を行う。また、ＣＰＵ５０は、プレーンがページの途中から開始される場合にはその開始される仮想アドレス（以下、「開始アドレス」と言う。）をメモリアクセス制御部２６Ａ内の後述する開始アドレスレジスタ３６０に格納し、プレーンがページの途中で終了する場合にはその終了する仮想アドレス（以下、「終了アドレス」と言う。）をメモリアクセス制御部２６Ａ内の後述する終了アドレスレジスタ３７０に格納する。
【００７２】
ブレンダー２７は、メモリアクセス制御部２６Ａ内の記憶部１００に記憶されたＩＧプレーン、ＰＧプレーン、Ｖプレーンを画像データの左上から順番に読み出して混合し、混合したデータを再生装置１の外部へ出力する。
【００７３】
＜メモリアクセス制御部の構成＞
図１３は図１２のメモリアクセス制御部２６Ａの構成図である。なお、図１３では、メモリアクセス制御部２６ＡとＣＰＵ５０及びブレンダー２７との接続関係を明確にするために、ＣＰＵ５０及びブレンダー２７も示している。
【００７４】
メモリアクセス制御部２６Ａは、記憶部１００と、制御部２００Ａと、変換部３００Ａとを備える。記憶部１００は、第１の実施の形態で説明したように、ＩＧプレーンＡ、ＰＧプレーンＢ、及びＶプレーンＣを記憶し、更に、ページ単位での仮想アドレスと物理アドレスとの対応を表すページテーブル１５０の全体を記憶する。
【００７５】
制御部２００Ａは、ブレンダー２７からの仮想アドレスによるアクセス要求を受け、変換処理部３００Ａ内の後述する変換処理部３３０Ａに対してアクセス要求に係る仮想アドレスを渡す。そして、制御部２００Ａは、変換処理部３３０Ａを制御して変換処理部３３０Ａにアクセス要求に係る仮想アドレスを物理アドレスに変換させ、変換処理部３３０Ａから変換により得られた物理アドレスを受け取る。この際、制御部２００Ａは、変換部３００Ａ内の後述する回数計算部３８０を制御して、アクセス要求が行われたページに対してアクセスされる回数、言い換えると、アクセス要求を行ったページにおいて仮想アドレスを物理アドレスに変換する変換実行回数を計算させる。
【００７６】
そして、制御部２００Ａは、記憶部１００に対して物理アドレスによるアクセス要求を行い、記憶部１００から所定データサイズ（本実施の形態では、２５６バイト）分のデータを受け取り、受け取ったデータを仮想アドレスによるアクセス要求を行ったブレンダー２７に対して渡す。
【００７７】
変換部３００Ａは、制御部２００Ａによって制御されて、制御部２００Ａから渡されたアクセス要求に係る仮想アドレスを物理アドレスに変換して物理アドレスを制御部２００Ａへ渡すものである。変換部３００Ａは、ＴＬＢ３２０と、変換処理部３３０Ａと、開始アドレスレジスタ３６０と、終了アドレスレジスタ３７０と、回数計算部３８０とを備える。
【００７８】
変換処理部３３０Ａは、制御部２００Ａからアクセス要求に係る仮想アドレスを渡され、制御部２００Ａによって制御されてアクセス要求に係る仮想アドレスを物理アドレスに変換して物理アドレスを制御部２００Ａへ渡す。
【００７９】
以下に、変換処理部３３０Ａが制御部２００Ａにより制御されて行う処理内容を説明する。
変換処理部３３０Ａは、アクセス要求に係る仮想アドレスの仮想ページ番号がＴＬＢ３２０に存在するかを判定する。
【００８０】
アクセス要求に係る仮想アドレスの仮想ページ番号がＴＬＢ３２０内に存在した場合、変換処理部３３０Ａは、アクセス要求に係る仮想アドレスの仮想ページ番号に対応する物理ページ番号をＴＬＢ３２０から読み出し、読み出した物理ページ番号とこの仮想アドレスのページ内オフセットとに基づいてこの仮想アドレスを物理アドレスに変換し、物理アドレスを制御部２００Ａへ渡す。そして、変換処理部３３０Ａは、ＴＬＢ３２０においてアクセス要求に係る仮想アドレスの仮想ページ番号に対応する回数を１デクリメントする。
【００８１】
一方、アクセス要求に係る仮想アドレスの仮想ページ番号がＴＬＢ３２０内に存在しなかった場合、変換処理部３３０Ａは、記憶部１００内のページテーブル１５０から仮想ページ番号に対応する物理ページ番号を読み出す。そして、変換処理部３３０Ａは、ＴＬＢ３２０において、回数“０”が存在する場合には回数“０”に対応する仮想ページ番号と物理ページ番号とを、回数“０”が存在しない場合には回数が最大である仮想ページ番号と物理ページ番号とを、アクセス要求に係る仮想アドレスの仮想ページ番号とページテーブル１５０から読み出した物理ページ番号とに書き換える。変換処理部３３０Ａは、ＴＬＢ３２０において、書き換えにより新たに記憶されることになった仮想ページ番号と物理ページ番号とに対応する回数の値を、回数計算部３８０によって計算された回数に書き換える。更に、変換処理部３３０Ａは、ＴＬＢ３２０からアクセス要求に係る仮想アドレスの仮想ページ番号に対応する物理ページ番号を読み出し、読み出した物理ページ番号とこの仮想アドレスのページ内オフセットとに基づいてこの仮想アドレスを物理アドレスに変換し、物理アドレスを制御部２００Ａへ渡す。そして、変換処理部３３０Ａは、ＴＬＢ３２０においてアクセス要求に係る仮想アドレスの仮想ページ番号に対応する回数を１デクリメントする。
【００８２】
開始アドレスレジスタ３６０は、プレーンがページの途中から開始される場合にその開始される仮想アドレス（開始アドレス）を保持するためのレジスタであり、開始アドレスはＣＰＵ５０によって格納される。終了アドレスレジスタ３７０は、プレーンがページの途中で終了する場合にはその終了する仮想アドレス（終了アドレス）を保持するためのレジスタであり、終了アドレスはＣＰＵ５０によって格納される。回数計算部３８０は、ＴＬＢ３２０に新たに仮想ページ番号と物理ページ番号とを書き込むページに対してブレンダー２７がアクセスする回数、言い換えると、このページにおいて仮想アドレスを物理アドレスに変換する回数（変換実行回数）を、開始アドレスレジスタ３６０の記憶内容及び終了アドレスレジスタ３７０の記憶内容を利用して計算し、計算した結果得られた回数（以下、「計算回数」と言う。）を変換処理部３３０Ａへ出力する。但し、回数計算部３８０の処理内容の詳細は図１５を参照して後述する。
【００８３】
＜メモリアクセス制御部の動作＞
図１４は図１３のメモリアクセス制御部２６Ａの動作の流れを示すフローチャートである。
【００８４】
制御部２００Ａ及び変換処理部３３０Ａは、制御部２００及び変換処理部３３０がステップＳ１〜Ｓ６において行う処理と実質的に同じ処理を行う（ステップＳ１〜Ｓ６）。
制御部２００Ａは、回数計算部３８０に対してアクセス要求に係る仮想アドレスを回数計算部３８０に渡し、アクセス要求に係るページで仮想アドレスを物理アドレスに変換する回数を計算させるための回数計算要求を行い、変換処理部３３０Ａは回数計算部３８０から計算回数を受け取る（ステップＳ１００）。
【００８５】
制御部２００Ａは変換処理部３３０Ａを制御し、制御部２００Ａにより制御された変換処理部３３０Ａは、ＴＬＢ３２０において、ステップＳ５或いはステップＳ６における書き換えにより新たに記憶されることになった仮想ページ番号と物理ページ番号とに対応する回数をステップＳ１００で受け取った計算回数に書き換える（ステップＳ７Ａ）。そして、制御部２００ＡはステップＳ８の処理に移行する。
【００８６】
制御部２００Ａ及び変換処理部３３０Ａは、制御部２００及び変換処理部３３０がステップＳ８〜Ｓ１１において行う処理と実質的に同じ処理を行う（ステップＳ８〜Ｓ１１）。
【００８７】
［回数計算部の動作］
図１５は図１３の回数計算部３８０による回数計算処理の流れを示すフローチャートである。但し、図１５では、仮想アドレスを２４ビット、ページサイズを４Ｋ（＝２12）バイトとして説明する。この場合、仮想アドレスの上位１２ビットが仮想ページ番号となり、下位１２ビットがページ内オフセットとなる。
【００８８】
回数計算部３８０は、制御部２００Ａからの回数計算要求を受けるまで（Ｓ１０１：ＮＯ）、制御部２００Ａからの回数計算要求の待ち状態にある（ステップＳ１０１）。回数計算要求があると（Ｓ１０１：ＹＥＳ）、回数計算部３８０は、制御部２００Ａからのアクセス要求に係る仮想アドレスの上位１２ビット（仮想ページ番号）が開始アドレスレジスタ３６０に記憶されている開始アドレスの上位１２ビットと一致するか、言い換えるとアクセス要求によるアクセス対象のページが開始アドレスレジスタ３６０に記憶されている開始アドレスの上位１２ビットで表されるページと一致するかを判定する（ステップＳ１０２）。一致しない場合には（Ｓ１０２：ＮＯ）、回数計算部３８０はステップＳ１０３の処理へ移行し、一致する場合には（Ｓ１０２：ＹＥＳ）、回数計算部３８０はステップＳ１０６の処理へ移行する。
【００８９】
ステップＳ１０３において、回数計算部３８０は、制御部２００Ａからのアクセス要求に係る仮想アドレスの上位１２ビット（仮想ページ番号）が終了アドレスレジスタ３７０に記憶されている終了アドレスの上位１２ビットと一致するか、言い換えるとアクセス要求によるアクセス対象のページが終了アドレスレジスタ３７０に記憶されている終了アドレスの上位１２ビットで表されるページと一致するかを判定する（ステップＳ１０３）。一致しない場合には（Ｓ１０３：ＮＯ）、回数計算部３８０はステップＳ１０４の処理へ移行し、一致する場合には（Ｓ１０３：ＹＥＳ）、回数計算部３８０はステップＳ１０５の処理へ移行する。
【００９０】
ステップＳ１０２のＮＯ且つステップＳ１０３のＮＯの場合、アクセス要求によるアクセス対象のページではこのページの先頭から最後までのデータを読み出すことになる。回数計算部３８０は、下記の式（１）を演算し、アクセス要求によるアクセス対象のページからデータを読み出すのに必要なアクセス回数、言い換えると、このページで仮想アドレスを物理アドレスに変換する回数を計算する（ステップＳ１０４）。そして、回数計算部３８０は、下記の式（１）の計算の結果得られた計算回数Ｎを変換処理部３３０Ａへ出力する（ステップＳ１０９）。
【００９１】
Ｎ＝Ｐ／Ｒ      （１）
但し、式（１）及び後述する他の式において、Ｐはページサイズであり、Ｒは１回のアクセスで記憶部１００から読み出されるデータのデータサイズである。但し、本実施の形態では、Ｐ、Ｒは夫々４０９６、２５６である。
【００９２】
ステップＳ１０２のＮＯ且つステップＳ１０３のＹＥＳの場合、アクセス要求によるアクセス対象のページではこのページの先頭から終了アドレスレジスタ３８０に記憶されている終了アドレスによって示される位置までのデータを読み出すことになる。回数計算部３８０は、下記の式（２）を演算し、アクセス要求によるアクセス対象のページからデータを読み出すのに必要なアクセス回数、言い換えると、このページで仮想アドレスを物理アドレスに変換する回数を計算する（ステップＳ１０５）。そして、回数計算部３８０は、下記の式（２）の計算の結果得られた計算回数Ｎを変換処理部３３０Ａへ出力する（ステップＳ１０９）。
【００９３】
Ｎ＝Ｅ／Ｒ      （２）
但し、式（２）及び後述する他の式において、Ｅは終了アドレスレジスタ３７０に記憶されている終了アドレスの下位１２ビット（仮想アドレスのページ内オフセット）の値である。
【００９４】
ステップＳ１０６において、回数計算部３８０は、制御部２００Ａからのアクセス要求に係る仮想アドレスの上位１２ビット（仮想ページ番号）が終了アドレスレジスタ３７０に記憶されている終了アドレスの上位１２ビットと一致するか、言い換えるとアクセス要求によるアクセス対象のページが終了アドレスレジスタ３７０に記憶されている終了アドレスの上位１２ビットで表されるページと一致するかを判定する（ステップＳ１０６）。一致しない場合には（Ｓ１０６：ＮＯ）、回数計算部３８０はステップＳ１０７の処理へ移行し、一致する場合には（Ｓ１０６：ＹＥＳ）、回数計算部３８０はステップＳ１０８の処理へ移行する。
【００９５】
ステップＳ１０２のＹＥＳ且つステップＳ１０６のＮＯの場合、アクセス要求によるアクセス対象のページでは開始アドレスレジスタ３６０に記憶されている開始アドレスによって示される位置からこのページの最後までのデータを読み出すことになる。回数計算部３８０は、下記の式（３）を演算し、アクセス要求によるアクセス対象のページからデータを読み出すのに必要なアクセス回数、言い換えると、このページで仮想アドレスを物理アドレスに変換する回数を計算する（ステップＳ１０７）。そして、回数計算部３８０は、下記の式（３）の計算の結果得られた計算回数Ｎを変換処理部３３０Ａへ出力する（ステップＳ１０９）。
【００９６】
Ｎ＝（Ｐ−Ｓ）／Ｒ      （３）
但し、式（３）及び後述する他の式において、Ｓは開始アドレスレジスタ３６０に記憶されている開始アドレスの下位１２ビット（仮想アドレスのページ内オフセット）の値である。
【００９７】
ステップＳ１０２のＹＥＳ且つステップＳ１０６のＹＥＳの場合、アクセス要求によるアクセス対象のページでは開始アドレスレジスタ３６０に記憶されている開始アドレスによって示される位置から終了アドレスレジスタ３７０に記憶されている終了アドレスによって示される位置までのデータを読み出すことになる。回数計算部３８０は、下記の式（４）を演算し、アクセス要求によるアクセス対象のページからデータを読み出すのに必要なアクセス回数、言い換えると、このページで仮想アドレスを物理アドレスに変換する回数を計算する（ステップＳ１０８）。そして、回数計算部３８０は、下記の式（４）の計算の結果得られた計算回数Ｎを変換処理部３３０Ａへ出力する（ステップＳ１０９）。
【００９８】
Ｎ＝（Ｅ−Ｓ）／Ｒ      （４）
＜具体例＞
以下、ブレンダー２７及びメモリアクセス制御部２６Ａの動作の具体例を図１６及び図１７から図２１を参照しつつ説明する。なお、図１７から図２１の仮想ページ番号及び物理ページ番号を記入していない箇所では、ＶプレーンＣ−０，Ｃ−１、ＰＧプレーンＢ−０、ＩＧプレーンＡ−０の仮想ページ番号及び物理ページ番号以外の仮想ページ番号及び物理ページ番号が書き込まれているものとする。
【００９９】
ここでは、ＶプレーンＣ−０、Ｃ−１、ＰＧプレーンＢ−１の夫々のデータの全てを読み出すのに必要な回数、言い換えると、ＶプレーンＣ−０、Ｃ−１、ＰＧプレーンＢ−１での仮想アドレスを物理アドレスに変換する回数は１６であるとする。また、ＩＧプレーンＡ−０のデータの全てを読み出すのに必要な回数、言い換えると、ＩＧプレーンＡ−０での仮想アドレスを物理アドレスに変換する回数は１６であるとする。
【０１００】
図１６に示すように、ブレンダー２７は、ＶプレーンＣ−０、ＰＧプレーンＢ−０の夫々に対するアクセスを１５回繰り返し、ＩＧプレーンＡ−０に対してアクセスを行い、ＶプレーンＣ−０、ＰＧプレーンＢ−０に対するアクセスを行い、その後、ＶプレーンＣ−１に対するアクセスを行うものとする。
【０１０１】
時刻Ｔ１０における変換部３００Ａ内のＴＬＢ３２０の記憶内容は図１７であったとする。このときに、ブレンダー２７が、メモリアクセス制御部２６Ａ内の制御部２００Ａに対して、ＶプレーンＣ−０の仮想ページを含む仮想アドレスによるアクセス要求を行う。制御部２００Ａは、変換部３００Ａ内の変換処理部３３０Ａに対してブレンダー２７からの仮想アドレスを渡す。変換処理部３３０Ａは、ＴＬＢ３２０にＶプレーンＣ−０の仮想ページ番号が存在するかを判定する。ここでは、ＴＬＢ３２０にＶプレーンＣ−０の仮想ページ番号が存在しないので、変換処理部３３０Ａは、ページテーブル１５０からＶプレーンＣ−０の仮想ページ番号に対応する物理ページ番号を読み出す。そして、変換処理部３３０Ａは、ＴＬＢ３２０において、回数“０”に対応する仮想ページ番号と物理ページ番号とをＶプレーンＣ−０の仮想ページ番号と物理ページ番号とに書き換える。回数計算部３８０は図１５の処理を実行してＶプレーンＣ−０に関する計算回数を計算する。変換処理部３３０Ａは、ＴＬＢ３２０において、ＶプレーンＣ−０の回数を回数計算部３８０によって計算された計算回数（ここでは、“１６”）に書き換える。変換処理部３３０Ａは、ＶプレーンＣ−０の仮想ページ番号に対応するＴＬＢ３２０内の物理ページ番号とアクセス要求に係る仮想アドレスのページ内オフセットとに基づいて仮想アドレスを物理アドレスに変換する。そして、変換処理部３３０Ａは、ＴＬＢ３２０において、ＶプレーンＣ−０の仮想ページ番号に対応する回数を１デクリメントする。制御部２００Ａは、変換処理部３３０Ａによるアドレス変換で得られた物理アドレスに基づいて記憶部１００からＶプレーンＣ−０の２５６バイト分のデータを読み出し、読み出した２５６バイト分のデータをブレンダー２７へ渡す。
【０１０２】
ブレンダー２７が、メモリアクセス制御部２６Ａ内の制御部２００Ａに対して、ＰＧプレーンＢ−０のページ番号を含む仮想アドレスによるアクセス要求を行う。制御部２００Ａは、変換部３００Ａ内の変換処理部３３０Ａに対してブレンダー２７からの仮想アドレスを渡す。変換処理部３３０Ａは、ＴＬＢ３２０にＰＧプレーンＢ−０の仮想ページ番号が存在するかを判定する。ここでは、ＴＬＢ３２０にＰＧプレーンＢ−０の仮想ページ番号が存在しないので、変換処理部３３０Ａは、ページテーブル１５０からＰＧプレーンＢ−０の仮想ページ番号に対応する物理ページ番号を読み出す。そして、変換処理部３３０Ａは、ＴＬＢ３２０において、回数“０”に対応する仮想ページ番号と物理ページ番号とをＰＧプレーンＢ−０の仮想ページ番号と物理ページ番号とに書き換える。回数計算部３８０は図１５の処理を実行してＰＧプレーンＢ−０に関する計算回数を計算する。変換処理部３３０Ａは、ＴＬＢ３２０において、ＰＧプレーンＢ−０の回数を回数計算部３８０によって計算された計算回数（ここでは、“１６”）に書き換える。変換処理部３３０Ａは、ＰＧプレーンＢ−０の仮想ページ番号に対応するＴＬＢ３２０内の物理ページ番号とアクセス要求に係る仮想アドレスのページ内オフセットとに基づいて仮想アドレスを物理アドレスに変換する。そして、変換処理部３３０Ａは、ＴＬＢ３２０において、ＰＧプレーンＢ−０の仮想ページ番号に対応する回数を１デクリメントする。制御部２００Ａは、変換処理部３３０Ａによるアドレス変換で得られた物理アドレスに基づいて記憶部１００からＰＧプレーンＢ−０の２５６バイト分のデータを読み出し、読み出した２５６バイト分のデータをブレンダー２７へ渡す。
【０１０３】
１回目のＰＧプレーンＢ−０に対するアクセス要求が完了した後の時刻Ｔ１１における変換部３００Ａ内のＴＬＢ３２０の記憶内容は図１８になる。
ブレンダー２７は、メモリアクセス制御部２６Ａ内の制御部２００Ａに対して、ＶプレーンＣ−０、ＰＧプレーンＢ−０の夫々に対するアクセス要求を更に１４回行う。
【０１０４】
ブレンダー２７は、メモリアクセス制御部２６Ａ内の制御部２００Ａに対して、ＩＧプレーンＡ−０のページ番号を含む仮想アドレスによるアクセス要求を行う。制御部２００Ａは、変換部３００Ａ内の変換処理部３３０Ａに対してブレンダー２７からの仮想アドレスを渡す。変換処理部３３０Ａは、ＴＬＢ３２０にＩＧプレーンＡ−０の仮想ページ番号が存在するかを判定する。ここでは、ＴＬＢ３２０にＩＧプレーンＡ−０の仮想ページ番号が存在しないので、変換処理部３３０Ａは、ページテーブル１５０からＩＧプレーンＡ−０の仮想ページ番号に対応する物理ページ番号を読み出す。そして、変換処理部３３０Ａは、ＴＬＢ３２０において、回数“０”に対応する仮想ページ番号と物理ページ番号とをＩＧプレーンＡ−０の仮想ページ番号と物理ページ番号とに書き換える。回数計算部３８０は図１５の処理を実行してＩＧプレーンＡ−０に関する計算回数を計算する。変換処理部３３０Ａは、ＴＬＢ３２０において、ＩＧプレーンＡ−０の回数を回数計算部３８０によって計算された計算回数（ここでは、“２”）に書き換える。変換処理部３３０Ａは、ＩＧプレーンＡ−０の仮想ページ番号に対応するＴＬＢ３２０内の物理ページ番号とアクセス要求に係る仮想アドレスのページ内オフセットとに基づいて仮想アドレスを物理アドレスに変換する。そして、変換処理部３３０Ａは、ＴＬＢ３２０において、ＩＧプレーンＡ−０の仮想ページ番号に対応する回数を１デクリメントする。制御部２００Ａは、変換処理部３３０Ａによるアドレス変換で得られた物理アドレスに基づいて記憶部１００からＩＧプレーンＡ−０の２５６バイト分のデータを読み出し、読み出した２５６バイト分のデータをブレンダー２７へ渡す。
【０１０５】
１回目のＩＧプレーンＡ−０に対するアクセス要求が完了した後の時刻Ｔ１２における変換部３００Ａ内のＴＬＢ３２０の記憶内容は図１９になる。
時刻Ｔ１２の後、ブレンダー２７が、メモリアクセス制御部２６Ａ内の制御部２００Ａに対して、ＶプレーンＣ−０、ＰＧプレーンＢ−０、ＩＧプレーンＡ−０の夫々に係る仮想アドレスによるアクセス要求を更に１回行う。ＩＧプレーンＣ−０に係る仮想アドレスによるアクセス要求が完了した後の時刻Ｔ１３における変換部３００Ａ内のＴＬＢ３２０の記憶内容は、時刻Ｔ１２から時刻Ｔ１３までの間にＶプレーンＣ−０、ＰＧプレーンＢ−０、ＩＧプレーンＡ−０の夫々に対して１回のアクセス要求が行われたので、図２０になる。
【０１０６】
時刻Ｔ１３の後、ブレンダー２７が、メモリアクセス制御部２６Ａ内の制御部２００Ａに対して、ＶプレーンＣ−１の仮想ページ番号を含む仮想アドレスによるアクセス要求を行う。制御部２００Ａは、変換部３００Ａ内の変換処理部３３０Ａに対してブレンダー２７からの仮想アドレスを渡す。変換処理部３３０Ａは、ＴＬＢ３２０にＶプレーンＣ−１の仮想ページ番号が存在するかを判定する。ここでは、ＴＬＢ３２０にＶプレーンＣ−１の仮想ページ番号が存在しないので、変換処理部３３０Ａは、ページテーブル１５０からＶプレーンＣ−１の仮想ページ番号に対応する物理ページ番号を読み出す。そして、変換処理部３３０Ａは、ＴＬＢ３２０において、ＴＬＢ３２０において、回数０であるＩＧプレーンＡ−０の仮想ページ番号と物理ページ番号とをＶプレーンＣ−１の仮想ページ番号と物理ページ番号とに書き換える。回数計算部３８０は図１５の処理を実行してＶプレーンＣ−１に関する計算回数を計算する。変換処理部３３０Ａは、ＴＬＢ３２０において、ＶプレーンＣ−１の回数を回数計算部３８０によって計算された計算回数（ここでは、“１６”）に書き換える。変換処理部３３０Ａは、ＶプレーンＣ−１の仮想ページ番号に対応するＴＬＢ３２０内の物理ページ番号とアクセス要求に係る仮想アドレスのページ内オフセットとに基づいて仮想アドレスを物理アドレスに変換する。そして、変換処理部３３０Ａは、ＴＬＢ３２０において、ＶプレーンＣ−１の仮想ページ番号に対応する回数を１デクリメントする。制御部２００Ａは、変換処理部３３０Ａによるアドレス変換で得られた物理アドレスに基づいて記憶部１００からＶプレーンＣ−１の２５６バイト分のデータを読み出し、読み出した２５６バイト分のデータをブレンダー２７へ渡す。時刻Ｔ１４における変換部３００Ａ内のＴＬＢ３２０の記憶内容は、図２１になる。
【０１０７】
このように、ページの一部に読みだすデータが存在するような場合があっても、ＴＬＢ３２０において、仮想アドレスを物理アドレスに変換した変換済み回数がページから必要なデータを読み出すのに必要な回数に達したページの仮想ページ番号と物理ページ番号とを、アクセス要求に係る仮想アドレスの仮想ページ番号とこれに対応する物理ページ番号とに書き換えられる。このため、ＴＬＢ３２０に今後アクセスされる可能性が高いページの仮想ページ番号と物理ページ番号との対応が残り、ＴＬＢ３２０でのヒット率の向上が図られる。
【０１０８】
≪補足≫
本発明は上記の実施の形態で説明した内容に限定されず、本発明の目的とそれに関連又は付随する目的を達成するためのいかなる形態においても実施可能であり、例えば、以下であってもよい。
【０１０９】
（１）上記の第１の実施の形態では、基準回数レジスタ３１０に基準回数を記憶し、変換処理部３３０は基準回数レジスタ３１０に記憶された基準回数を利用する構成としているが、これに限定されるものではなく、例えば次のようなものであっても良い。変換部３００は、基準回数レジスタ３１０を備えず、ページサイズ及び１回のアクセスで読み出されるデータのデータサイズを記憶するレジスタと、レジスタに記憶されているページサイズをレジスタに記憶されているデータサイズで除算することによって基準回数を算出する算出部とを備え、変換処理部３３０は算出部によって算出された基準回数を利用する構成としてもよい。また、変換部３００は、基準回数レジスタ３１０を備えず、ページテーブル１５０に仮想ページ番号と物理ページ番号とに対応させて基準回数を記憶し、変換処理部３３０はページテーブル１５０に記憶されている基準回数を利用する構成としても良い。
【０１１０】
（２）上記の第１及び第２の実施の形態では、回数“０”が存在しない場合には回数が最大である仮想ページ番号と物理ページ番号とを、アクセス要求に係る仮想アドレスの仮想ページ番号とページテーブル１５０から読み出した物理ページ番号に書き換えるとしたが、これに限定されるものではなく、例えば次のようなものであってもよい。最後にアクセスされたタイミングが最も古いページの仮想ページ番号と物理ページ番号とを、アクセス要求に係る仮想アドレスの仮想ページ番号とページテーブル１５０から読み出した物理ページ番号に書き換えるようにしてもよい。
【０１１１】
（３）上記の第１及び第２の実施の形態では、仮想アドレスを物理アドレスに変換したページに対応するＴＬＢ３２０の回数を１デクリメントすることによって、ページにおいての仮想アドレスを物理アドレスに変換した変換済み回数が第１の実施の形態では基準回数に、第２の実施の形態では計算回数に達したか否かを判断できるようにしたが、これに限定されるものではなく、例えば次のようなものであってもよい。ＴＬＢ３２０に新たなページの仮想ページ番号と物理ページ番号とが書き込まれたときに、この新たなページに対応するＴＬＢ３２０の回数を０にし、仮想アドレスを物理アドレスに変換したページに対応するＴＬＢ３２０の回数を１インクリメントすることによって、ページにおいての仮想アドレスを物理アドレスに変換した変換済み回数が第１の実施の形態では基準回数に、第２の実施の形態では計算回数に達したか否かを判断できるようにしてもよい。
【０１１２】
（４）上記の第１及び第２の実施の形態では、ページ内の同じデータを１回読みだす場合を前提として説明したが、これに限定されるものではなく、第１及び第２の実施の形態の手法はページ内の同じデータをＬ（Ｌは２以上の整数）回読みだす場合にも応用できる。但し、第１の実施の形態の手法を応用する場合には、例えば、ページ内の同じデータを１回読みだすのに必要な仮想アドレスを物理アドレスに変換する回数をＬ倍した値を基準回数レジスタ３１０に格納すればよい。また、第２の実施の形態の手法を応用する場合には、例えば、上記の式（１）〜（４）で算出された計算回数ＮをＬ倍し、この結果得られた値をページに関して仮想アドレスを物理アドレスに変換する回数とすればよい。
【０１１３】
（５）上記の第１及び第２の実施の形態の再生装置１，１Ａ又はメモリアクセス制御部２６，２６Ａは、例えば集積回路であるＬＳＩとして実現されてもよい。これらは、個別に１チップ化されてもよいし、全てまたは一部を含むように１チップ化されてもよい。ここでは、ＬＳＩとしたが、集積度の違いにより、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。さらには、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
【０１１４】
また、上記の第１及び第２の実施の形態の例えばメモリアクセス制御部２６，２６Ａを集積化した半導体チップと、画像を描画するためのディスプレイとを組み合せて、様々な用途に応じた描画機器を構成することができる。携帯電話やテレビ、デジタルビデオレコーダ、デジタルビデオカメラ、カーナビゲーション等における情報描画手段として、上記の第１及び第２の実施の形態の例えばメモリアクセス制御部２６，２６Ａを利用することが可能である。ディスプレイとしては、ブラウン管（ＣＲＴ）の他、液晶やＰＤＰ（プラズマディスプレイパネル）、有機ＥＬなどのフラットディスプレイ、プロジェクターを代表とする投射型ディスプレイなどと組み合わせることが可能である。
【０１１５】
（６）上記の第１及び第２の実施の形態では、メモリアクセス制御部２６，２６Ａを搭載する機器が再生装置１，１Ａであるが、これに限定されるものではなく、メモリアクセス制御部２６，２６Ａを搭載する機器は再生装置以外であってもよい。また、メモリアクセス制御部２６，２６Ａにアクセス要求を行う処理部がブレンダー２７であるが、これに限定されるものではなく、メモリアクセス制御部２６，２６Ａをにアクセス要求を行う処理部はブレンダー２７以外であってもよい。
【０１１６】
（７）上記の第１及び第２の実施の形態のメモリアクセス制御部２６，２６Ａを３Ｄテレビなどの３Ｄ対応機器に適用することが可能である。
（８）上記の第１及び第２の実施の形態で説明した処理フローの流れは同じ結果が得られのであれば処理の順番を変更してもよい。
【０１１７】
（９）上記の第１及び第２の実施の形態で説明した内容、及び上記の補足において説明した内容を適宜組み合わせることができる。
【産業上の利用可能性】
【０１１８】
本発明は、例えば、携帯電話や携帯音楽プレーヤ、デジタルカメラ、デジタルビデオカメラ等の電池駆動の携帯表示端末や、テレビ、デジタルビデオレコーダ、ＢＤレコーダ、ＢＤプレーヤ、ＤＶＤレコーダ、ＤＶＤプレーヤ、カーナビゲーション等の高解像度の情報表示機器におけるメニュー表示やＷｅｂブラウザ、エディタ、ＥＰＧ、地図表示等に利用することができる。
【符号の説明】
【０１１９】
２６  メモリアクセス制御部
１００  記憶部
１５０  ページテーブル
２００，２００Ａ  制御部
３００，３００Ａ  変換部
３１０  基準回数レジスタ
３２０  ＴＬＢ
３３０，３３０Ａ  変換処理部
３６０  開始アドレスレジスタ
３７０  終了アドレスレジスタ
３８０  回数計算部
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
データ、及び、複数のページの夫々について、仮想アドレスの一部であってページを示す仮想ページ番号と物理アドレスの一部であってページを示す物理ページ番号との対応関係を示すページテーブルを記憶する記憶部と、
前記複数のページの一部のページの夫々について、前記仮想ページ番号と前記物理ページ番号とを対応させて記憶するバッファ、及び、前記バッファの記憶内容に基づいて仮想アドレスを物理アドレスに変換する変換処理部を有する変換部と、
物理アドレスに変換を施すアクセス要求に係る仮想アドレスを前記変換処理部に対して渡し、前記変換処理部により得られた物理アドレスに基づいて前記記憶部からデータを取得する制御部と、
を備え、
前記変換処理部は、
前記アクセス要求に係る仮想アドレスの仮想ページ番号が前記バッファ内に存在しない場合、前記バッファにおいて、仮想アドレスを物理アドレスに変換した変換済み回数が変換実行回数に達したページの仮想ページ番号と物理ページ番号とを、前記アクセス要求に係る仮想アドレスの仮想ページ番号とこの仮想ページ番号に対応する前記記憶部内の物理ページ番号とに書き換える
メモリアクセス制御装置。
【請求項２】
前記変換部は、前記変換実行回数を基準回数として予め記憶する基準回数記憶部を更に備える請求項１記載のメモリアクセス制御装置。
【請求項３】
前記変換部は、前記変換実行回数を計算する回数計算部を更に備える請求項１記載のメモリアクセス制御装置。
【請求項４】
前記回数計算部は、ページサイズと、１回のアクセスで前記記憶部から読み出されるデータのデータサイズと、ページにおける読み出しが開始される仮想アドレス及びページにおける読み出しを終了する仮想アドレスの少なくとも一方とに基づいて、前記変換実行回数を計算する
請求項３記載のメモリアクセス制御装置。
【請求項５】
データ、及び、複数のページの夫々について、仮想アドレスの一部であってページを示す仮想ページ番号と物理アドレスの一部であってページを示す物理ページ番号との対応関係を示すページテーブルを記憶する記憶部と、
前記複数のページの一部のページの夫々について、前記仮想ページ番号と前記物理ページ番号とを対応させて記憶するバッファ、及び、前記バッファの記憶内容に基づいて仮想アドレスを物理アドレスに変換する変換処理部を有する変換部と、
物理アドレスに変換を施すアクセス要求に係る仮想アドレスを前記変換処理部に対して渡し、前記変換処理部により得られた物理アドレスに基づいて前記記憶部からデータを取得する制御部と、
を備え、
前記変換処理部は、
前記アクセス要求に係る仮想アドレスの仮想ページ番号が前記バッファ内に存在しない場合、前記バッファにおいて、仮想アドレスを物理アドレスに変換した変換済み回数が変換実行回数に達したページの仮想ページ番号と物理ページ番号とを、前記アクセス要求に係る仮想アドレスの仮想ページ番号とこの仮想ページ番号に対応する前記記憶部内の物理ページ番号とに書き換える
集積回路。
【請求項６】
データ、及び、複数のページの夫々について、仮想アドレスの一部であってページを示す仮想ページ番号と物理アドレスの一部であってページを示す物理ページ番号との対応関係を示すページテーブルを記憶する記憶部と、前記複数のページの一部のページの夫々について、前記仮想ページ番号と前記物理ページ番号とを対応させて記憶するバッファ、及び、前記バッファの記憶内容に基づいて仮想アドレスを物理アドレスに変換する変換処理部を有する変換部と、物理アドレスに変換を施すアクセス要求に係る仮想アドレスを前記変換処理部に対して渡し、前記変換処理部により得られた物理アドレスに基づいて前記記憶部からデータを取得する制御部と、を備えるメモリアクセス制御装置において行われるメモリアクセス制御方法であって、
前記変換処理部は、
前記アクセス要求に係る仮想アドレスの仮想ページ番号が前記バッファ内に存在するかを判定する判定ステップと、
存在しないと判定した場合、前記アクセス要求に係る仮想アドレスの仮想ページ番号に対応する物理ページ番号を前記記憶部から読み出すステップと、
前記バッファにおいて、仮想アドレスを物理アドレスに変換した変換済み回数が変換実行回数に達したページの仮想ページ番号と物理ページ番号とを、前記アクセス要求に係る仮想アドレスの仮想ページ番号と読み出された物理ページ番号とに書き換える書き換えステップと、
を有するメモリアクセス制御方法。
【請求項７】
メモリアクセス制御部と、当該メモリアクセス制御部に対して仮想アドレスによるアクセス要求を行う処理部とを備えるデータ処理装置であって、
前記メモリアクセス制御部は、
データ、及び、複数のページの夫々について、仮想アドレスの一部であってページを示す仮想ページ番号と物理アドレスの一部であってページを示す物理ページ番号との対応関係を示すページテーブルを記憶する記憶部と、
前記複数のページの一部のページの夫々について、前記仮想ページ番号と前記物理ページ番号とを対応させて記憶するバッファ、及び、前記バッファの記憶内容に基づいて仮想アドレスを物理アドレスに変換する変換処理部を有する変換部と、
物理アドレスに変換を施す前記処理部からのアクセス要求に係る仮想アドレスを前記変換処理部に対して渡し、前記変換処理部により得られた物理アドレスに基づいて前記記憶部からデータを取得して取得したデータを前記処理部へ出力する制御部と、
を備え、
前記変換処理部は、
前記アクセス要求に係る仮想アドレスの仮想ページ番号が前記バッファ内に存在しない場合、前記バッファにおいて、仮想アドレスを物理アドレスに変換した変換済み回数が変換実行回数に達したページの仮想ページ番号と物理ページ番号とを、前記アクセス要求に係る仮想アドレスの仮想ページ番号とこの仮想ページ番号に対応する前記記憶部内の物理ページ番号とに書き換える
データ処理装置。
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１】
2010150451.tif 000024
【図２】
2010150451.tif 000025
【図３】
2010150451.tif 000026
【図４】
2010150451.tif 000027
【図５】
2010150451.tif 000028
【図６】
2010150451.tif 000029
【図７】
2010150451.tif 000030
【図８】
2010150451.tif 000031
【図９】
2010150451.tif 000032
【図１０】
2010150451.tif 000033
【図１１】
2010150451.tif 000034
【図１２】
2010150451.tif 000035
【図１３】
2010150451.tif 000036
【図１４】
2010150451.tif 000037
【図１５】
2010150451.tif 000038
【図１６】
2010150451.tif 000039
【図１７】
2010150451.tif 000040
【図１８】
2010150451.tif 000041
【図１９】
2010150451.tif 000042
【図２０】
2010150451.tif 000043
【図２１】
2010150451.tif 000044
【国際調査報告】
2010150451.tif 000045
2010150451.tif 000046
2010150451.tif 000047
2010150451.tif 000048