JP5347024B2 - メモリアクセス制御装置、集積回路、メモリアクセス制御方法及びデータ処理装置 - Google Patents

メモリアクセス制御装置、集積回路、メモリアクセス制御方法及びデータ処理装置 Download PDF

Info

Publication number
JP5347024B2
JP5347024B2 JP2011519499A JP2011519499A JP5347024B2 JP 5347024 B2 JP5347024 B2 JP 5347024B2 JP 2011519499 A JP2011519499 A JP 2011519499A JP 2011519499 A JP2011519499 A JP 2011519499A JP 5347024 B2 JP5347024 B2 JP 5347024B2
Authority
JP
Japan
Prior art keywords
virtual
page
page number
physical
address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2011519499A
Other languages
English (en)
Other versions
JPWO2010150451A1 (ja
Inventor
昌樹 前田
順彦 若山
幸治 浅井
雅博 石井
博史 天野
芳信 橋本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2011519499A priority Critical patent/JP5347024B2/ja
Publication of JPWO2010150451A1 publication Critical patent/JPWO2010150451A1/ja
Application granted granted Critical
Publication of JP5347024B2 publication Critical patent/JP5347024B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

本発明は、仮想アドレスを物理アドレスに変換する技術に関する。
仮想空間でデータを扱う処理装置において、データ処理を行うデータ処理部がデータを記憶部から読み出すためには、データ処理部は記憶部に格納されているデータの物理アドレスでのアクセスが必要となる。しかしながら、データ処理部は、仮想アドレスでデータを管理するため、仮想アドレスから物理アドレスへの変換が必要となる。この変換を行う変換部は、一般的にコスト抑制のため、ページ毎に仮想アドレスの上位ビットで表される仮想ページ番号(仮想空間でのページを示す情報)と物理アドレスの上位ビットで表される物理ページ番号(物理空間でのページを示す情報)との対応関係を示すページテーブル内の一部のページのみの情報をバッファに記憶する。但し、仮想アドレスは仮想ページ番号とページ内オフセットとからなり、物理アドレスは物理ページ番号とページ内オフセットとからなり、仮想アドレスのページ内オフセットと物理アドレスのページ内オフセットとは同じである。なお、仮想アドレス及び物理アドレスの概要については図2を参照して後述する。
変換部は、仮想アドレスの仮想ページ番号に対応するバッファ内の物理ページ番号と、仮想アドレスのページ内オフセットとを用いて、仮想アドレスを物理アドレスに変換する。このため、変換部は、仮想ページ番号がバッファ内に存在するページについては、このページの仮想アドレスをバッファ内の情報を用いて物理アドレスに変換することが可能である。しかしながら、変換部は、仮想ページ番号がバッファ内に存在しないページについては、このページに関する仮想アドレスをバッファ内の情報を用いて物理アドレスに変換することができない。
変換部は、バッファに仮想ページ番号が記憶されていないページに関する仮想アドレスを物理アドレスに変換する必要がある場合には、ページテーブル全体を記憶している記憶部から必要なページの仮想ページ番号に対応する物理ページ番号を読み出し、読み出した内容に基づいてバッファを更新し、仮想アドレスを物理アドレスに変換することになる。
このページテーブル全体へのアクセスには時間がかかり、このことはリアルタイム処理が必要となるシステムにおいて問題となる。このため、変換部は、バッファに記憶されている今後不必要なページの情報を今後必要なページの情報に置き換えることが求められる。
この不必要なページの情報を特定する方法として、各ページのアクセス回数を記憶するメモリを用意し、メモリに記憶されているアクセス回数に基づいてアクセス頻度の最も低いページを不必要なページとして特定する方法がある。このような従来の技術として、例えば、特許文献1に記載されたものがある。
特開平04−123149号公報
しかしながら、上記の従来の技術を仮想アドレスと物理アドレスとの変換を行い、例えばページに対してアクセスする回数が定まるメモリアクセス制御装置に適用した場合、次のような問題がある。バッファから現在までのアクセス頻度が低いが今後アクセスされる可能性が高いページの情報がなくなり、バッファに現在までのアクセス頻度が高いが今後アクセスされる可能性が低いページの情報が残り、バッファでのヒット率が低下するという問題がある。
そこで、本発明は、バッファでのヒット率の向上を図ることが可能なメモリアクセス制御装置、集積回路、メモリアクセス制御方法及びデータ処理装置を提供することを目的とする。
上記目的を達成するために本発明のメモリアクセス制御装置は、データ、及び、複数のページの夫々について、仮想アドレスの一部であってページを示す仮想ページ番号と物理アドレスの一部であってページを示す物理ページ番号との対応関係を示すページテーブルを記憶する記憶部と、前記複数のページの一部のページの夫々について、前記仮想ページ番号と前記物理ページ番号とを対応させて記憶するバッファ、及び、前記バッファの記憶内容に基づいて仮想アドレスを物理アドレスに変換する変換処理部を有する変換部と、物理アドレスに変換を施すアクセス要求に係る仮想アドレスを前記変換処理部に対して渡し、前記変換処理部により得られた物理アドレスに基づいて前記記憶部からデータを取得する制御部と、を備え、前記変換処理部は、前記アクセス要求に係る仮想アドレスの仮想ページ番号が前記バッファ内に存在しない場合、前記バッファにおいて、仮想アドレスを物理アドレスに変換した変換済み回数が変換実行回数に達したページの仮想ページ番号と物理ページ番号とを、前記アクセス要求に係る仮想アドレスの仮想ページ番号とこの仮想ページ番号に対応する前記記憶部内の物理ページ番号とに書き換える。
本発明の集積回路は、データ、及び、複数のページの夫々について、仮想アドレスの一部であってページを示す仮想ページ番号と物理アドレスの一部であってページを示す物理ページ番号との対応関係を示すページテーブルを記憶する記憶部と、前記複数のページの一部のページの夫々について、前記仮想ページ番号と前記物理ページ番号とを対応させて記憶するバッファ、及び、前記バッファの記憶内容に基づいて仮想アドレスを物理アドレスに変換する変換処理部を有する変換部と、物理アドレスに変換を施すアクセス要求に係る仮想アドレスを前記変換処理部に対して渡し、前記変換処理部により得られた物理アドレスに基づいて前記記憶部からデータを取得する制御部と、を備え、前記変換処理部は、前記アクセス要求に係る仮想アドレスの仮想ページ番号が前記バッファ内に存在しない場合、前記バッファにおいて、仮想アドレスを物理アドレスに変換した変換済み回数が変換実行回数に達したページの仮想ページ番号と物理ページ番号とを、前記アクセス要求に係る仮想アドレスの仮想ページ番号とこの仮想ページ番号に対応する前記記憶部内の物理ページ番号とに書き換える。
本発明のメモリアクセス制御方法は、データ、及び、複数のページの夫々について、仮想アドレスの一部であってページを示す仮想ページ番号と物理アドレスの一部であってページを示す物理ページ番号との対応関係を示すページテーブルを記憶する記憶部と、前記複数のページの一部のページの夫々について、前記仮想ページ番号と前記物理ページ番号とを対応させて記憶するバッファ、及び、前記バッファの記憶内容に基づいて仮想アドレスを物理アドレスに変換する変換処理部を有する変換部と、物理アドレスに変換を施すアクセス要求に係る仮想アドレスを前記変換処理部に対して渡し、前記変換処理部により得られた物理アドレスに基づいて前記記憶部からデータを取得する制御部と、を備えるメモリアクセス制御装置において行われるメモリアクセス制御方法であって、前記変換処理部は、前記アクセス要求に係る仮想アドレスの仮想ページ番号が前記バッファ内に存在するかを判定する判定ステップと、存在しないと判定した場合、前記アクセス要求に係る仮想アドレスの仮想ページ番号に対応する物理ページ番号を前記記憶部から読み出すステップと、前記バッファにおいて、仮想アドレスを物理アドレスに変換した変換済み回数が変換実行回数に達したページの仮想ページ番号と物理ページ番号とを、前記アクセス要求に係る仮想アドレスの仮想ページ番号と読み出された物理ページ番号とに書き換える書き換えステップと、有する。
本発明のデータ処理装置は、メモリアクセス制御部と、当該メモリアクセス制御部に対して仮想アドレスによるアクセス要求を行う処理部とを備えるデータ処理装置であって、前記メモリアクセス制御部は、データ、及び、複数のページの夫々について、仮想アドレスの一部であってページを示す仮想ページ番号と物理アドレスの一部であってページを示す物理ページ番号との対応関係を示すページテーブルを記憶する記憶部と、前記複数のページの一部のページの夫々について、前記仮想ページ番号と前記物理ページ番号とを対応させて記憶するバッファ、及び、前記バッファの記憶内容に基づいて仮想アドレスを物理アドレスに変換する変換処理部を有する変換部と、物理アドレスに変換を施す前記処理部からのアクセス要求に係る仮想アドレスを前記変換処理部に対して渡し、前記変換処理部により得られた物理アドレスに基づいて前記記憶部からデータを取得して取得したデータを前記処理部へ出力する制御部と、を備え、前記変換処理部は、前記アクセス要求に係る仮想アドレスの仮想ページ番号が前記バッファ内に存在しない場合、前記バッファにおいて、仮想アドレスを物理アドレスに変換した変換済み回数が変換実行回数に達したページの仮想ページ番号と物理ページ番号とを、前記アクセス要求に係る仮想アドレスの仮想ページ番号とこの仮想ページ番号に対応する前記記憶部内の物理ページ番号とに書き換える。
上記のメモリアクセス制御装置、集積回路、メモリアクセス制御方法、データ処理装置の夫々によれば、バッファにおいて、仮想アドレスを物理アドレスに変換した変換済み回数が変換実行回数に達したページの仮想ページ番号と物理ページ番号とを、アクセス要求に係る仮想アドレスの仮想ページ番号とこれに対応する物理ページ番号とに書き換える。このため、バッファに今後アクセスされる可能性が高いページの仮想ページ番号と物理ページ番号との対応が残り、バッファでのヒット率の向上が図られる。
上記のメモリアクセス制御装置において、前記変換部は、前記変換実行回数を基準回数として予め記憶する基準回数記憶部を更に備えるようにしてもよい。
これによれば、予め変換実行回数を基準回数として記憶する基準回数記憶部を設けることによって、バッファに仮想ページ番号及び物理ページ番号を書き込む度に変換実行回数を新たに取得する必要がなくなり、変換実行回数を取得に係る処理負荷の軽減を図ることができる。
上記のメモリアクセス制御装置において、前記変換部は、前記変換実行回数を計算する回数計算部を更に備えるようにしてもよい。
これによれば、ページの一部にデータが存在するような場合であっても、アクセス要求に係る仮想アドレスの仮想ページ番号とこれに対応する物理ページ番号とに書き換えられる、バッファ内の仮想ページ番号と物理ページ番号とを適切なものにすることが可能になる。これにより、バッファでのヒット率の向上が図られる。
上記のメモリアクセス制御装置において、前記回数計算部は、ページサイズと、1回のアクセスで前記記憶部から読み出されるデータのデータサイズと、ページにおける読み出しが開始される仮想アドレス及びページにおける読み出しを終了する仮想アドレスの少なくとも一方とに基づいて、前記変換実行回数を計算するようにしてもよい。
これによれば、変換実行回数の算出を容易に行うことができる。
第1の実施の形態に係るメモリアクセス制御部を備える再生装置の構成図。 仮想アドレスと物理アドレスとの概要を示す図。 図1のメモリアクセス制御部の構成図。 図3の記憶部に記憶されている各プレーンの仮想空間での配置と物理空間での配置の対応関係の概要を示す図。 図3の記憶部に記憶されているページテーブルの一例を示す図。 図3のTLBの内容の一例を示す図。 図3のメモリアクセス制御部の動作の流れを示すフローチャート。 図3のブレンダーのデータの読み出しの順番を示すタイミング図。 図8の時刻T0におけるTLBの内容を示す図。 図8の時刻T1におけるTLBの内容を示す図。 図8の時刻T2におけるTLBの内容を示す図。 第2の実施の形態に係るメモリアクセス制御部を備える再生装置の構成図。 図12のメモリアクセス制御部の構成図。 図13のメモリアクセス制御部の動作の流れを示すフローチャート。 図13の回数計算部による回数計算処理の流れを示すフローチャート。 図13のブレンダーのデータの読み出しの順番を示すタイミング図。 図16の時刻T10におけるTLBの内容を示す図。 図16の時刻T11におけるTLBの内容を示す図。 図16の時刻T12におけるTLBの内容を示す図。 図16の時刻T13におけるTLBの内容を示す図。 図16の時刻T14におけるTLBの内容を示す図。
≪第1の実施の形態≫
以下、本発明の第1の実施の形態について図面を参照しつつ説明する。
<再生装置>
図1は第1の実施の形態に係るメモリアクセス制御部26を備える再生装置1の構成図である。
再生装置1は、ディスクに記憶された映像情報や音声情報を再生するものであり、ドライバ10と、復調部11と、ECCデコーダ12と、スイッチ13と、第1プレローディングバッファ14と、第2プレローディングバッファ15と、第1リードバッファ16と、第2リードバッファ17と、スイッチ18と、スイッチ19と、IGデコーダ20と、Txtデコーダ21と、PGデコーダ22と、ビデオデコーダ23と、オーディオデコーダ24と、スイッチ25と、メモリアクセス制御部26と、ブレンダー27と、ミキサ28とを備える。
ここでは、メモリアクセス制御部26以外の再生装置1の構成要素は一般的なものであるので、再生装置1の各構成要素の概要を記載するに留め、メモリアクセス制御部26の詳細を図3以降で説明するものとする。
ドライバ10は、ディスクに記憶された映像情報や音声情報等のデータを読み出し、読み出したデータを復調部11へ出力する。復調部11は、ドライバ10から入力されたデータに対して復調処理を行い、復調処理後のデータをECCデコーダ12へ出力する。ECCデコーダ12は、復調部11から入力されたデータに対して誤り訂正符号(Error Correcting Code:ECC)に基づく誤り訂正処理を行い、誤り訂正処理後のデータをスイッチ13へ出力する。スイッチ13は、ECCデコーダ12から入力されたデータの出力先を、不図示の制御部に制御されて、第1プレローディングバッファ14、第2プレローディングバッファ15、第1リードバッファ16、及び第2リードバッファ17の何れかに切り替えるためのスイッチである。
第1プレローディングバッファ14は、スイッチ13を介して入力された音声データを一時的に保存し、保存した音声データをミキサ28へ出力する。第2プレローディングバッファ15は、スイッチ13を介して入力されたテキストデータを一時的に保存し、保存したテキストデータをTxtデコーダ21へ出力する。第1リードバッファ16は、スイッチ13を介して入力されたデータを一時的に保存し、保存したデータをスイッチ18へ出力する。第2リードバッファ17は、スイッチ13を介して入力されたデータを一時的に保存し、保存したデータをスイッチ19へ出力する。
スイッチ18は、第1リードバッファ16から入力されたデータの出力先を、不図示の制御部に制御されて、IGデコーダ20、PGデコーダ22、ビデオデコーダ23、及びスイッチ19の何れかに切り替えるためのスイッチである。スイッチ19は、オーディオデコーダ24へ出力するデータの入力元を、不図示の制御部に制御されて、第2リードバッファ17及びスイッチ18の何れかに切り替えるためのスイッチである。
IGデコーダ20は、スイッチ18を介して入力されたインタラクティブグラフィックスデータをデコードし、そのデコードしたデータであるインタラクティブグラフィックスプレーン(以下、「IGプレーン」と言う。)をメモリアクセス制御部26内の後述する記憶部100に格納する。
Txtデコーダ21は、第2プレローディングバッファ15から入力されたテキストデータをデコードし、そのデコードしたデータをスイッチ25へ出力する。PGデコーダ22は、スイッチ18を介して入力されたプレゼンテーショングラフィックスデータをデコードし、そのデコードしたデータをスイッチ25へ出力する。スイッチ25は、メモリアクセス制御部26へ出力するデータの入力元を、不図示の制御部に制御されて、Txtデコーダ21及びPGデコーダ22の何れかに切り替え、プレゼンテーショングラフィックスプレーン(以下、「PGプレーン」と言う。)をメモリアクセス制御部26内の後述する記憶部100に格納する。
ビデオデコーダ23は、スイッチ18を介して入力されたビデオデータをデコードし、そのデコードしたデータであるビデオプレーン(以下、「Vプレーン」と言う。)をメモリアクセス制御部26内の後述する記憶部100に格納する。
オーディオデコーダ24は、スイッチ19を介して入力された音声データをデコードし、デコード後の音声データをミキサ28へ出力する。ミキサ28は、第1プレローディングバッファ14から入力された音声データとオーディオデコーダ24から入力された音声データとを混合し、混合した音声データを再生装置1の外部へ出力する。
メモリアクセス制御部26は、IGプレーン、PGプレーン、及びVプレーンなどの情報を記憶している。ブレンダー27はメモリアクセス制御部26に対して仮想アドレスによるアクセス要求を行う。このアクセス要求を受けて、メモリアクセス制御部26はアクセス要求に係る仮想アドレスを物理アドレスに変換し、物理アドレスに基づいてメモリアクセス制御部26内の後述する記憶部100からデータ(IGプレーン、PGプレーン、Vプレーン)を読み出し、読み出したデータをブレンダー27に渡す。ブレンダー27は、メモリアクセス制御部26から受け取ったIGプレーンと、PGプレーンと、Vプレーンとを混合し、混合したデータを再生装置1の外部へ出力する。
<仮想アドレスと物理アドレス>
図2は仮想アドレスと物理アドレスとの概要を示す図である。但し、図2ではページサイズを4K(=4096=212)バイトとする。
仮想アドレスは、仮想空間でのページを示す仮想ページ番号と、そのページ内の位置を示すページ内オフセットの2つの部分に分かれる。ページサイズが4Kバイトの場合、仮想アドレスの最上位ビットから12ビット目までが仮想ページ番号となり、11ビット目から最下位ビットまでの12ビットがページ内オフセットとなる。
物理アドレスは、物理空間でのページを示す物理ページ番号と、そのページ内の位置を表すページ内オフセットとの2つの部分に分かれる。ページサイズが4Kバイトの場合、物理アドレスの最上位ビットから12ビット目までが物理ページ番号となり、11ビット目から最下位ビットまでの12ビットがページ内オフセットとなる。
データが同じ場合、仮想アドレスのページ内オフセットと物理アドレスのページ内オフセットとは一致することから、仮想アドレスから物理アドレスへの変換は、仮想アドレスの仮想ページ番号を物理アドレスの物理ページ番号に変換することにより実現される。
なお、仮想アドレス及び物理アドレスの夫々のページ内オフセットのビット数は、ページサイズによって定まるものである。また、仮想アドレスのビット数と物理アドレスのビット数とが同じ場合もあれば、異なる場合もある。
<メモリアクセス制御部の構成>
図3は図1のメモリアクセス制御部26の構成図である。なお、図3では、メモリアクセス制御部26とIGデコーダ20、スイッチ25、ビデオデコーダ23及びブレンダー27との接続関係を明確にするために、IGデコーダ20、スイッチ25、ビデオデコーダ23及びブレンダー27も示している。
メモリアクセス制御部26は、記憶部100と、制御部200と、変換部300とを備える。
記憶部100は、IGプレーンA、PGプレーンB、及びVプレーンCを記憶し、更に、ページ単位での仮想アドレスと物理アドレスとの対応を表すページテーブル150の全体を記憶する。
ここで、記憶部100に記憶されている各プレーンの仮想空間での配置と物理空間での配置の対応関係の概要について図4を用いて説明する。記憶部100は、本実施の形態では、IGプレーンA、PGプレーンB、及びVプレーンCを4Kバイトのページ単位で管理している。仮想空間で連続するデータも物理空間ではページ単位で断片化して配置されている。例えば、仮想空間で連続しているIGプレーンAは、物理空間ではIGプレーンA−0,A−1,A−2,・・・,A−539に断片化して配置されている。なお、図4における、IGプレーンA−0,A−1,A−2,・・・,A−539、PGプレーンB−0,B−1,・・・,B−539、VプレーンC−0,C−1,・・・,C−539は、夫々、1ページ分のデータである。
次に、記憶部100に記憶されているページテーブル150の一例について図5を参照しつつ説明する。ページテーブル150は、図5に一例を示すように、ページの全てについて、ページ毎に仮想ページ番号とこれに対応する物理ページ番号との対応関係を記憶するためのテーブルである。上述したように、同じデータの場合には仮想アドレスのページ内オフセットと物理アドレスのページ内オフセットとは同じであるので、仮想アドレスから物理アドレスに変換する観点からは、ページテーブルには仮想ページ番号とこれに対応する物理ページ番号との対応関係を記憶しておけば十分である。これは、変換部300内の後述するTLB(translation-lookaside buffer)320についても同じことが言える。
制御部200は、ブレンダー27からの仮想アドレスによるアクセス要求を受け、変換部300内の後述する変換処理部330に対してアクセス要求に係る仮想アドレスを渡す。そして、制御部200は、変換処理部330を制御して変換処理部330にアクセス要求に係る仮想アドレスを物理アドレスに変換させ、変換処理部330から変換により得られた物理アドレスを受け取る。
そして、制御部200は、記憶部100に対して物理アドレスによるアクセス要求を行い、記憶部100から所定データサイズ(本実施の形態では、256バイト)分のデータを受け取り、受け取ったデータを仮想アドレスによるアクセス要求を行ったブレンダー27に対して渡す。
変換部300は、制御部200によって制御されて、制御部200から渡されたアクセス要求に係る仮想アドレスを物理アドレスに変換して物理アドレスを制御部200へ渡すものであり、基準回数レジスタ310と、TLB(translation-lookaside buffer)320と、変換処理部330とを備える。
基準回数レジスタ310は、1ページ当たりブレンダー27が仮想アドレスによるアクセス要求を行う回数、言い換えると、1ページ当たり仮想アドレスを物理アドレスに変換する回数(以下、「基準回数」と言う。)を記憶するためのレジスタである。なお、本実施の形態では、基準回数レジスタ310に予め基準回数が設定されているものとする。
本実施の形態では、ページサイズを4K(=4096=212)バイト、1回のアクセスで記憶部100から読み出されるデータのデータサイズを256(=28)バイトとすると、基準回数レジスタ310に記憶される基準回数は16(=212/28)となる。
TLB320は、図6に一例を示すように、ページテーブル150に記憶されている複数ページのうちの一部のページについて、ページ毎に仮想ページ番号とこれに対応する物理ページ番号とこれに対応する回数との対応関係を記憶するためのバッファである。
図6の回数は、対応するページに対して基準回数のアクセス要求が行われたか、言い換えると、そのページで仮想アドレスを物理アドレスに基準回数分変換したか否かを判断するために用いられる。但し、回数には、対応するページの仮想ページ番号と物理ページ番号とがTLB320に格納されたタイミングでは基準回数レジスタ310に記憶されている基準回数がセットされる。回数の値は対応するページについて仮想アドレスが物理アドレスに変換される度に1デクリメントされる。なお、後述する第2の実施の形態では、回数には、対応するページの仮想ページ番号と物理ページ番号とがTLB320に格納されたタイミングでは後述する回数計算部380によって計算された回数がセットされる。
回数の値が0であるページは、該当ページ対してブレンダー27が仮想アドレスによるアクセス要求を行った回数、言い換えると、該当ページで仮想アドレスを物理アドレスに変換した回数が基準回数に達したページと言うことになる。
変換処理部330は、制御部200からアクセス要求に係る仮想アドレスを渡され、制御部200によって制御されてアクセス要求に係る仮想アドレスを物理アドレスに変換して物理アドレスを制御部200へ渡す。
以下に、変換処理部330が制御部200により制御されて行う処理内容を説明する。
変換処理部330は、アクセス要求に係る仮想アドレスの仮想ページ番号がTLB320に存在するかを判定する。
アクセス要求に係る仮想アドレスの仮想ページ番号がTLB320内に存在した場合、変換処理部330は、アクセス要求に係る仮想アドレスの仮想ページ番号に対応する物理ページ番号をTLB320から読み出し、読み出した物理ページ番号とこの仮想アドレスのページ内オフセットとに基づいてこの仮想アドレスを物理アドレスに変換し、物理アドレスを制御部200へ渡す。そして、変換処理部330は、TLB320においてアクセス要求に係る仮想アドレスの仮想ページ番号に対応する回数を1デクリメントする。
一方、アクセス要求に係る仮想アドレスの仮想ページ番号がTLB320内に存在しなかった場合、変換処理部330は、記憶部100内のページテーブル150から仮想ページ番号に対応する物理ページ番号を読み出す。そして、変換処理部330は、TLB320において、回数“0”が存在する場合には回数“0”に対応する仮想ページ番号と物理ページ番号とを、回数“0”が存在しない場合には回数が最大である仮想ページ番号と物理ページ番号とを、アクセス要求に係る仮想アドレスの仮想ページ番号とページテーブル150から読み出した物理ページ番号とに書き換える。変換処理部330は、TLB320において、書き換えにより新たに記憶されることになった仮想ページ番号と物理ページ番号とに対応する回数の値を、基準回数レジスタ310に記憶されている基準回数に書き換える。更に、変換処理部330は、TLB320からアクセス要求に係る仮想アドレスの仮想ページ番号に対応する物理ページ番号を読み出し、読み出した物理ページ番号とこの仮想アドレスのページ内オフセットとに基づいてこの仮想アドレスを物理アドレスに変換し、物理アドレスを制御部200へ渡す。そして、変換処理部330は、TLB320においてアクセス要求に係る仮想アドレスの仮想ページ番号に対応する回数を1デクリメントする。
<メモリアクセス制御部の動作>
図7は図3のメモリアクセス制御部26の動作の流れを示すフローチャートである。
制御部200は、ブレンダー27からの仮想アドレスによるアクセス要求を受けるまで(S1:NO)、ブレンダー27からの仮想アドレスによるアクセス要求の待ち状態にある(ステップS1)。制御部200は、ブレンダー27からの仮想アドレスによるアクセス要求を受けると(S1:YES)、ステップS2の処理に移行する。
制御部200はブレンダー27からのアクセス要求に係る仮想アドレスを変換部300内の変換処理部330に対してアドレス変換を施す仮想アドレスとして渡す。そして、制御部200は変換処理部330を制御し、制御部200により制御された変換処理部330は、制御部200から渡されたアクセス要求に係る仮想アドレスの仮想ページ番号がTLB320に存在するかを判定する(ステップS2)。この仮想ページ番号がTLB320に存在した場合(S2:YES)、制御部200はステップS8の処理に移行する。一方、この仮想ページ番号がTLB320に存在しなかった場合(S2:NO)、制御部200はステップS3の処理に移行する。
ステップS3において、制御部200は変換処理部330を制御し、制御部200により制御された変換処理部330は記憶部100内のページテーブル150からアクセス要求に係る仮想アドレスの仮想ページ番号に対応する物理ページ番号を読み出す(ステップS3)。
制御部200は変換処理部330を制御し、制御部200により制御された変換処理部330は回数の値“0”がTLB320に存在するかを判定する(ステップS4)。
回数の値“0”がTLB320に存在した場合(S4:YES)、制御部200は変換処理部330を制御し、制御部200により制御された変換処理部330は、TLB320において、回数“0”に対応する仮想ページ番号と物理ページ番号とを、アクセス要求に係る仮想アドレスの仮想ページ番号とページテーブル150から読み出した物理ページ番号とに書き換える(ステップS5)。但し、TLB320に回数の値“0”が複数存在する場合には、複数のうちの何れか1つに対してステップS5の処理が行われる。そして、制御部200は変換処理部330を制御し、制御部200により制御された変換処理部330は、TLB320において、ステップS5における書き換えにより新たに記憶されることになった仮想ページ番号と物理ページ番号とに対応する回数を基準回数レジスタ310に記憶されている基準回数(本実施の形態では、“16”)に書き換える(ステップS7)。そして、制御部200はステップS8の処理に移行する。
回数の値“0”がTLB320に存在しなかった場合(S4:NO)、制御部200は変換処理部330を制御し、制御部200により制御された変換処理部330は、TLB320において、回数の最大値に対応する仮想ページ番号と物理ページ番号とを、アクセス要求に係る仮想アドレスの仮想ページ番号とページテーブル150から読み出した物理ページ番号とに書き換える(ステップS6)。但し、TLB320に最大値の回数が複数存在する場合には、複数のうちの何れか1つに対してステップS6の処理が行われる。そして、制御部200は変換処理部330を制御し、制御部200により制御された変換処理部330は、TLB320において、ステップS6における書き換えにより新たに記憶されることになった仮想ページ番号と物理ページ番号とに対応する回数を基準回数レジスタ310に記憶されている基準回数(本実施の形態では、“16”)に書き換える(ステップS7)。そして、制御部200はステップS8の処理に移行する。
ステップS8において、制御部200は変換処理部330を制御し、制御部200により制御された変換処理部330は、TLB320からアクセス要求に係る仮想アドレスの仮想ページ番号に対応する物理ページ番号を読み出し、読み出した物理ページ番号とこの仮想アドレスのページ内オフセットとに基づいてこの仮想アドレスを物理アドレスに変換し、物理アドレスを制御部200へ渡す(ステップS8)。そして、制御部200は変換処理部330を制御し、制御部200により制御された変換処理部330は、TLB320において、アクセス要求に係る仮想アドレスの仮想ページ番号に対応する回数を1デクリメントする(ステップS9)。
制御部200は、ステップS8で変換処理部330から渡された物理アドレスに基づいて記憶部100から所定データサイズ(本実施の形態では、256バイト)分のデータを読み出し(ステップS10)、記憶部100から読み出した256バイト分のデータをアクセス要求元のブレンダー27へ渡す(ステップS11)。そして、制御部200は、ステップS1の処理に移行する。
<具体例>
以下、ブレンダー27及びメモリアクセス制御部26の動作の具体例を図8及び図9から図11を参照しつつ説明する。
図8に示すように、ブレンダー27は、VプレーンC−0、PGプレーンB−0、IGプレーンA−0の夫々に対するアクセスを16回繰り返し、その後、VプレーンC−1に対するアクセスを行うものとする。
時刻T0における変換部300内のTLB320の記憶内容は図9であったとする。このときに、ブレンダー27が、メモリアクセス制御部26内の制御部200に対して、VプレーンC−0の仮想ページ番号を含む仮想アドレスによるアクセス要求を行う。制御部200は、変換部300内の変換処理部330に対してブレンダー27からの仮想アドレスを渡す。変換処理部330は、TLB320にVプレーンC−0の仮想ページ番号が存在するかを判定する。ここでは、TLB320にVプレーンC−0の仮想ページ番号が存在するので、変換処理部330は、VプレーンC−0の仮想ページ番号に対応するTLB320内の物理ページ番号とアクセス要求に係る仮想アドレスのページ内オフセットとに基づいて仮想アドレスを物理アドレスに変換する。そして、変換処理部330は、TLB320において、VプレーンC−0の仮想ページ番号に対応する回数を1デクリメントする。制御部200は、変換処理部330によるアドレス変換で得られた物理アドレスに基づいて記憶部100からVプレーンC−0の256バイト分のデータを読み出し、読み出した256バイト分のデータをブレンダー27へ渡す。
次に、ブレンダー27が、メモリアクセス制御部26内の制御部200に対して、PGプレーンB−0の仮想ページ番号を含む仮想アドレスによるアクセス要求を行う。制御部200は、変換部300内の変換処理部330に対してブレンダー27からの仮想アドレスを渡す。変換処理部330は、TLB320にPGプレーンB−0の仮想ページ番号が存在するかを判定する。ここでは、TLB320にPGプレーンB−0の仮想ページ番号が存在するので、変換処理部330は、PGプレーンB−0の仮想ページ番号に対応するTLB320内の物理ページ番号とアクセス要求に係る仮想アドレスのページ内オフセットとに基づいて仮想アドレスを物理アドレスに変換する。そして、変換処理部330は、TLB320において、PGプレーンB−0の仮想ページ番号に対応する回数を1デクリメントする。制御部200は、変換処理部330によるアドレス変換で得られた物理アドレスに基づいて記憶部100からPGプレーンB−0の256バイト分のデータを読み出し、読み出した256バイト分のデータをブレンダー27へ渡す。
次に、ブレンダー27が、メモリアクセス制御部26内の制御部200に対して、IGプレーンA−0の仮想ページ番号を含む仮想アドレスによるアクセス要求を行う。制御部200は、変換部300内の変換処理部330に対してブレンダー27からの仮想アドレスを渡す。変換処理部330は、TLB320にIGプレーンA−0の仮想ページ番号が存在するかを判定する。ここでは、TLB320にIGプレーンA−0の仮想ページ番号が存在するので、変換処理部330は、IGプレーンA−0の仮想ページ番号に対応するTLB320内の物理ページ番号とアクセス要求に係る仮想アドレスのページ内オフセットとに基づいて仮想アドレスを物理アドレスに変換する。そして、変換処理部330は、TLB320において、IGプレーンA−0の仮想ページ番号に対応する回数を1デクリメントする。制御部200は、変換処理部330によるアドレス変換で得られた物理アドレスに基づいて記憶部100からIGプレーンA−0の256バイト分のデータを読み出し、読み出した256バイト分のデータをブレンダー27へ渡す。
ブレンダー27は、メモリアクセス制御部26内の制御部200に対して、VプレーンC−0、PGプレーンB−0、IGプレーンA−0の夫々に対するアクセス要求を更に15回行う。
16回目のIGプレーンA−0に対するアクセス要求が完了した後の時刻T1における変換部300内のTLB320の記憶内容は、時刻T0から時刻T1までの間にVプレーンC−0、PGプレーンB−0、IGプレーンA−0の夫々に対して16回のアクセス要求が行われたので、図10になる。図10に示すように、時刻T1においては、TLB320内のVプレーンC−0、PGプレーンB−0、及びIGプレーンA−0の夫々に対応する回数は0である。
時刻T1の後、ブレンダー27が、メモリアクセス制御部26内の制御部200に対して、VプレーンC−1の仮想ページ番号を含む仮想アドレスによるアクセス要求を行う。制御部200は、変換部300内の変換処理部330に対してブレンダー27からの仮想アドレスを渡す。変換処理部330は、TLB320にVプレーンC−1の仮想ページ番号が存在するかを判定する。ここでは、TLB320にVプレーンC−1の仮想ページ番号が存在しないので、変換処理部330は、ページテーブル150からVプレーンC−1の仮想ページ番号に対応する物理ページ番号を読み出す。そして、変換処理部330は、TLB320において、回数が0であるIGプレーンA−0の仮想ページ番号と物理ページ番号とをVプレーンC−1の仮想ページ番号と物理ページ番号とに書き換え、VプレーンC−1の回数を基準回数レジスタ310に保持されている基準回数“16”に書き換える。変換処理部330は、VプレーンC−1の仮想ページ番号に対応するTLB320内の物理ページ番号とアクセス要求に係る仮想アドレスのページ内オフセットとに基づいて仮想アドレスを物理アドレスに変換する。そして、変換処理部330は、TLB320において、VプレーンC−1の仮想ページ番号に対応する回数を1デクリメントする。制御部200は、変換処理部330によるアドレス変換で得られた物理アドレスに基づいて記憶部100からVプレーンC−1の256バイト分のデータを読み出し、読み出した256バイト分のデータをブレンダー27へ渡す。時刻T2における変換部300内のTLB320の記憶内容は、図11になる。
このように、TLB320において、仮想アドレスを物理アドレスに変換した変換済み回数が基準回数に達したページの仮想ページ番号と物理ページ番号とを、アクセス要求に係る仮想アドレスの仮想ページ番号とこれに対応する物理ページ番号とに書き換えられる。このため、TLB320に今後アクセスされる可能性が高いページの仮想ページ番号と物理ページ番号との対応が残り、TLB320でのヒット率の向上が図られる。
≪第2の実施の形態≫
以下、本発明の第2の実施の形態について図面を参照しつつ説明する。但し、第1の実施の形態ではページ当たりのアクセス回数が一定である場合を対象としているのに対して、本実施の形態ではページ当たりのアクセス回数が一定でない場合を対象とするものである。なお、本実施の形態において、第1の実施の形態の構成要素と実質的に同じ構成要素には同じ符号を付し、その説明が適用できるため本実施の形態ではその説明を省略し、或いは、簡単な記載に留める。
<再生装置>
図12は第2の実施の形態に係るメモリアクセス制御部26Aを備える再生装置1Aの構成図である。
再生装置1Aは、ディスクに記憶された映像情報や音声情報を再生するものであり、ドライバ10と、復調部11と、ECCデコーダ12と、スイッチ13と、第1プレローディングバッファ14と、第2プレローディングバッファ15と、第1リードバッファ16と、第2リードバッファ17と、スイッチ18と、スイッチ19と、CPU(Central Processing Unit)50と、オーディオデコーダ24と、メモリアクセス制御部26Aと、ブレンダー27と、ミキサ28とを備える。
CPU50は、図1のIGデコーダ20、Txtデコーダ21、PGデコーダ22、ビデオデコーダ23、及びスイッチ25の処理を行う。また、CPU50は、プレーンがページの途中から開始される場合にはその開始される仮想アドレス(以下、「開始アドレス」と言う。)をメモリアクセス制御部26A内の後述する開始アドレスレジスタ360に格納し、プレーンがページの途中で終了する場合にはその終了する仮想アドレス(以下、「終了アドレス」と言う。)をメモリアクセス制御部26A内の後述する終了アドレスレジスタ370に格納する。
ブレンダー27は、メモリアクセス制御部26A内の記憶部100に記憶されたIGプレーン、PGプレーン、Vプレーンを画像データの左上から順番に読み出して混合し、混合したデータを再生装置1の外部へ出力する。
<メモリアクセス制御部の構成>
図13は図12のメモリアクセス制御部26Aの構成図である。なお、図13では、メモリアクセス制御部26AとCPU50及びブレンダー27との接続関係を明確にするために、CPU50及びブレンダー27も示している。
メモリアクセス制御部26Aは、記憶部100と、制御部200Aと、変換部300Aとを備える。記憶部100は、第1の実施の形態で説明したように、IGプレーンA、PGプレーンB、及びVプレーンCを記憶し、更に、ページ単位での仮想アドレスと物理アドレスとの対応を表すページテーブル150の全体を記憶する。
制御部200Aは、ブレンダー27からの仮想アドレスによるアクセス要求を受け、変換処理部300A内の後述する変換処理部330Aに対してアクセス要求に係る仮想アドレスを渡す。そして、制御部200Aは、変換処理部330Aを制御して変換処理部330Aにアクセス要求に係る仮想アドレスを物理アドレスに変換させ、変換処理部330Aから変換により得られた物理アドレスを受け取る。この際、制御部200Aは、変換部300A内の後述する回数計算部380を制御して、アクセス要求が行われたページに対してアクセスされる回数、言い換えると、アクセス要求を行ったページにおいて仮想アドレスを物理アドレスに変換する変換実行回数を計算させる。
そして、制御部200Aは、記憶部100に対して物理アドレスによるアクセス要求を行い、記憶部100から所定データサイズ(本実施の形態では、256バイト)分のデータを受け取り、受け取ったデータを仮想アドレスによるアクセス要求を行ったブレンダー27に対して渡す。
変換部300Aは、制御部200Aによって制御されて、制御部200Aから渡されたアクセス要求に係る仮想アドレスを物理アドレスに変換して物理アドレスを制御部200Aへ渡すものである。変換部300Aは、TLB320と、変換処理部330Aと、開始アドレスレジスタ360と、終了アドレスレジスタ370と、回数計算部380とを備える。
変換処理部330Aは、制御部200Aからアクセス要求に係る仮想アドレスを渡され、制御部200Aによって制御されてアクセス要求に係る仮想アドレスを物理アドレスに変換して物理アドレスを制御部200Aへ渡す。
以下に、変換処理部330Aが制御部200Aにより制御されて行う処理内容を説明する。
変換処理部330Aは、アクセス要求に係る仮想アドレスの仮想ページ番号がTLB320に存在するかを判定する。
アクセス要求に係る仮想アドレスの仮想ページ番号がTLB320内に存在した場合、変換処理部330Aは、アクセス要求に係る仮想アドレスの仮想ページ番号に対応する物理ページ番号をTLB320から読み出し、読み出した物理ページ番号とこの仮想アドレスのページ内オフセットとに基づいてこの仮想アドレスを物理アドレスに変換し、物理アドレスを制御部200Aへ渡す。そして、変換処理部330Aは、TLB320においてアクセス要求に係る仮想アドレスの仮想ページ番号に対応する回数を1デクリメントする。
一方、アクセス要求に係る仮想アドレスの仮想ページ番号がTLB320内に存在しなかった場合、変換処理部330Aは、記憶部100内のページテーブル150から仮想ページ番号に対応する物理ページ番号を読み出す。そして、変換処理部330Aは、TLB320において、回数“0”が存在する場合には回数“0”に対応する仮想ページ番号と物理ページ番号とを、回数“0”が存在しない場合には回数が最大である仮想ページ番号と物理ページ番号とを、アクセス要求に係る仮想アドレスの仮想ページ番号とページテーブル150から読み出した物理ページ番号とに書き換える。変換処理部330Aは、TLB320において、書き換えにより新たに記憶されることになった仮想ページ番号と物理ページ番号とに対応する回数の値を、回数計算部380によって計算された回数に書き換える。更に、変換処理部330Aは、TLB320からアクセス要求に係る仮想アドレスの仮想ページ番号に対応する物理ページ番号を読み出し、読み出した物理ページ番号とこの仮想アドレスのページ内オフセットとに基づいてこの仮想アドレスを物理アドレスに変換し、物理アドレスを制御部200Aへ渡す。そして、変換処理部330Aは、TLB320においてアクセス要求に係る仮想アドレスの仮想ページ番号に対応する回数を1デクリメントする。
開始アドレスレジスタ360は、プレーンがページの途中から開始される場合にその開始される仮想アドレス(開始アドレス)を保持するためのレジスタであり、開始アドレスはCPU50によって格納される。終了アドレスレジスタ370は、プレーンがページの途中で終了する場合にはその終了する仮想アドレス(終了アドレス)を保持するためのレジスタであり、終了アドレスはCPU50によって格納される。回数計算部380は、TLB320に新たに仮想ページ番号と物理ページ番号とを書き込むページに対してブレンダー27がアクセスする回数、言い換えると、このページにおいて仮想アドレスを物理アドレスに変換する回数(変換実行回数)を、開始アドレスレジスタ360の記憶内容及び終了アドレスレジスタ370の記憶内容を利用して計算し、計算した結果得られた回数(以下、「計算回数」と言う。)を変換処理部330Aへ出力する。但し、回数計算部380の処理内容の詳細は図15を参照して後述する。
<メモリアクセス制御部の動作>
図14は図13のメモリアクセス制御部26Aの動作の流れを示すフローチャートである。
制御部200A及び変換処理部330Aは、制御部200及び変換処理部330がステップS1〜S6において行う処理と実質的に同じ処理を行う(ステップS1〜S6)。
制御部200Aは、回数計算部380に対してアクセス要求に係る仮想アドレスを回数計算部380に渡し、アクセス要求に係るページで仮想アドレスを物理アドレスに変換する回数を計算させるための回数計算要求を行い、変換処理部330Aは回数計算部380から計算回数を受け取る(ステップS100)。
制御部200Aは変換処理部330Aを制御し、制御部200Aにより制御された変換処理部330Aは、TLB320において、ステップS5或いはステップS6における書き換えにより新たに記憶されることになった仮想ページ番号と物理ページ番号とに対応する回数をステップS100で受け取った計算回数に書き換える(ステップS7A)。そして、制御部200AはステップS8の処理に移行する。
制御部200A及び変換処理部330Aは、制御部200及び変換処理部330がステップS8〜S11において行う処理と実質的に同じ処理を行う(ステップS8〜S11)。
[回数計算部の動作]
図15は図13の回数計算部380による回数計算処理の流れを示すフローチャートである。但し、図15では、仮想アドレスを24ビット、ページサイズを4K(=212)バイトとして説明する。この場合、仮想アドレスの上位12ビットが仮想ページ番号となり、下位12ビットがページ内オフセットとなる。
回数計算部380は、制御部200Aからの回数計算要求を受けるまで(S101:NO)、制御部200Aからの回数計算要求の待ち状態にある(ステップS101)。回数計算要求があると(S101:YES)、回数計算部380は、制御部200Aからのアクセス要求に係る仮想アドレスの上位12ビット(仮想ページ番号)が開始アドレスレジスタ360に記憶されている開始アドレスの上位12ビットと一致するか、言い換えるとアクセス要求によるアクセス対象のページが開始アドレスレジスタ360に記憶されている開始アドレスの上位12ビットで表されるページと一致するかを判定する(ステップS102)。一致しない場合には(S102:NO)、回数計算部380はステップS103の処理へ移行し、一致する場合には(S102:YES)、回数計算部380はステップS106の処理へ移行する。
ステップS103において、回数計算部380は、制御部200Aからのアクセス要求に係る仮想アドレスの上位12ビット(仮想ページ番号)が終了アドレスレジスタ370に記憶されている終了アドレスの上位12ビットと一致するか、言い換えるとアクセス要求によるアクセス対象のページが終了アドレスレジスタ370に記憶されている終了アドレスの上位12ビットで表されるページと一致するかを判定する(ステップS103)。一致しない場合には(S103:NO)、回数計算部380はステップS104の処理へ移行し、一致する場合には(S103:YES)、回数計算部380はステップS105の処理へ移行する。
ステップS102のNO且つステップS103のNOの場合、アクセス要求によるアクセス対象のページではこのページの先頭から最後までのデータを読み出すことになる。回数計算部380は、下記の式(1)を演算し、アクセス要求によるアクセス対象のページからデータを読み出すのに必要なアクセス回数、言い換えると、このページで仮想アドレスを物理アドレスに変換する回数を計算する(ステップS104)。そして、回数計算部380は、下記の式(1)の計算の結果得られた計算回数Nを変換処理部330Aへ出力する(ステップS109)。
N=P/R (1)
但し、式(1)及び後述する他の式において、Pはページサイズであり、Rは1回のアクセスで記憶部100から読み出されるデータのデータサイズである。但し、本実施の形態では、P、Rは夫々4096、256である。
ステップS102のNO且つステップS103のYESの場合、アクセス要求によるアクセス対象のページではこのページの先頭から終了アドレスレジスタ380に記憶されている終了アドレスによって示される位置までのデータを読み出すことになる。回数計算部380は、下記の式(2)を演算し、アクセス要求によるアクセス対象のページからデータを読み出すのに必要なアクセス回数、言い換えると、このページで仮想アドレスを物理アドレスに変換する回数を計算する(ステップS105)。そして、回数計算部380は、下記の式(2)の計算の結果得られた計算回数Nを変換処理部330Aへ出力する(ステップS109)。
N=E/R (2)
但し、式(2)及び後述する他の式において、Eは終了アドレスレジスタ370に記憶されている終了アドレスの下位12ビット(仮想アドレスのページ内オフセット)の値である。
ステップS106において、回数計算部380は、制御部200Aからのアクセス要求に係る仮想アドレスの上位12ビット(仮想ページ番号)が終了アドレスレジスタ370に記憶されている終了アドレスの上位12ビットと一致するか、言い換えるとアクセス要求によるアクセス対象のページが終了アドレスレジスタ370に記憶されている終了アドレスの上位12ビットで表されるページと一致するかを判定する(ステップS106)。一致しない場合には(S106:NO)、回数計算部380はステップS107の処理へ移行し、一致する場合には(S106:YES)、回数計算部380はステップS108の処理へ移行する。
ステップS102のYES且つステップS106のNOの場合、アクセス要求によるアクセス対象のページでは開始アドレスレジスタ360に記憶されている開始アドレスによって示される位置からこのページの最後までのデータを読み出すことになる。回数計算部380は、下記の式(3)を演算し、アクセス要求によるアクセス対象のページからデータを読み出すのに必要なアクセス回数、言い換えると、このページで仮想アドレスを物理アドレスに変換する回数を計算する(ステップS107)。そして、回数計算部380は、下記の式(3)の計算の結果得られた計算回数Nを変換処理部330Aへ出力する(ステップS109)。
N=(P−S)/R (3)
但し、式(3)及び後述する他の式において、Sは開始アドレスレジスタ360に記憶されている開始アドレスの下位12ビット(仮想アドレスのページ内オフセット)の値である。
ステップS102のYES且つステップS106のYESの場合、アクセス要求によるアクセス対象のページでは開始アドレスレジスタ360に記憶されている開始アドレスによって示される位置から終了アドレスレジスタ370に記憶されている終了アドレスによって示される位置までのデータを読み出すことになる。回数計算部380は、下記の式(4)を演算し、アクセス要求によるアクセス対象のページからデータを読み出すのに必要なアクセス回数、言い換えると、このページで仮想アドレスを物理アドレスに変換する回数を計算する(ステップS108)。そして、回数計算部380は、下記の式(4)の計算の結果得られた計算回数Nを変換処理部330Aへ出力する(ステップS109)。
N=(E−S)/R (4)
<具体例>
以下、ブレンダー27及びメモリアクセス制御部26Aの動作の具体例を図16及び図17から図21を参照しつつ説明する。なお、図17から図21の仮想ページ番号及び物理ページ番号を記入していない箇所では、VプレーンC−0,C−1、PGプレーンB−0、IGプレーンA−0の仮想ページ番号及び物理ページ番号以外の仮想ページ番号及び物理ページ番号が書き込まれているものとする。
ここでは、VプレーンC−0、C−1、PGプレーンB−1の夫々のデータの全てを読み出すのに必要な回数、言い換えると、VプレーンC−0、C−1、PGプレーンB−1での仮想アドレスを物理アドレスに変換する回数は16であるとする。また、IGプレーンA−0のデータの全てを読み出すのに必要な回数、言い換えると、IGプレーンA−0での仮想アドレスを物理アドレスに変換する回数は16であるとする。
図16に示すように、ブレンダー27は、VプレーンC−0、PGプレーンB−0の夫々に対するアクセスを15回繰り返し、IGプレーンA−0に対してアクセスを行い、VプレーンC−0、PGプレーンB−0に対するアクセスを行い、その後、VプレーンC−1に対するアクセスを行うものとする。
時刻T10における変換部300A内のTLB320の記憶内容は図17であったとする。このときに、ブレンダー27が、メモリアクセス制御部26A内の制御部200Aに対して、VプレーンC−0の仮想ページを含む仮想アドレスによるアクセス要求を行う。制御部200Aは、変換部300A内の変換処理部330Aに対してブレンダー27からの仮想アドレスを渡す。変換処理部330Aは、TLB320にVプレーンC−0の仮想ページ番号が存在するかを判定する。ここでは、TLB320にVプレーンC−0の仮想ページ番号が存在しないので、変換処理部330Aは、ページテーブル150からVプレーンC−0の仮想ページ番号に対応する物理ページ番号を読み出す。そして、変換処理部330Aは、TLB320において、回数“0”に対応する仮想ページ番号と物理ページ番号とをVプレーンC−0の仮想ページ番号と物理ページ番号とに書き換える。回数計算部380は図15の処理を実行してVプレーンC−0に関する計算回数を計算する。変換処理部330Aは、TLB320において、VプレーンC−0の回数を回数計算部380によって計算された計算回数(ここでは、“16”)に書き換える。変換処理部330Aは、VプレーンC−0の仮想ページ番号に対応するTLB320内の物理ページ番号とアクセス要求に係る仮想アドレスのページ内オフセットとに基づいて仮想アドレスを物理アドレスに変換する。そして、変換処理部330Aは、TLB320において、VプレーンC−0の仮想ページ番号に対応する回数を1デクリメントする。制御部200Aは、変換処理部330Aによるアドレス変換で得られた物理アドレスに基づいて記憶部100からVプレーンC−0の256バイト分のデータを読み出し、読み出した256バイト分のデータをブレンダー27へ渡す。
ブレンダー27が、メモリアクセス制御部26A内の制御部200Aに対して、PGプレーンB−0のページ番号を含む仮想アドレスによるアクセス要求を行う。制御部200Aは、変換部300A内の変換処理部330Aに対してブレンダー27からの仮想アドレスを渡す。変換処理部330Aは、TLB320にPGプレーンB−0の仮想ページ番号が存在するかを判定する。ここでは、TLB320にPGプレーンB−0の仮想ページ番号が存在しないので、変換処理部330Aは、ページテーブル150からPGプレーンB−0の仮想ページ番号に対応する物理ページ番号を読み出す。そして、変換処理部330Aは、TLB320において、回数“0”に対応する仮想ページ番号と物理ページ番号とをPGプレーンB−0の仮想ページ番号と物理ページ番号とに書き換える。回数計算部380は図15の処理を実行してPGプレーンB−0に関する計算回数を計算する。変換処理部330Aは、TLB320において、PGプレーンB−0の回数を回数計算部380によって計算された計算回数(ここでは、“16”)に書き換える。変換処理部330Aは、PGプレーンB−0の仮想ページ番号に対応するTLB320内の物理ページ番号とアクセス要求に係る仮想アドレスのページ内オフセットとに基づいて仮想アドレスを物理アドレスに変換する。そして、変換処理部330Aは、TLB320において、PGプレーンB−0の仮想ページ番号に対応する回数を1デクリメントする。制御部200Aは、変換処理部330Aによるアドレス変換で得られた物理アドレスに基づいて記憶部100からPGプレーンB−0の256バイト分のデータを読み出し、読み出した256バイト分のデータをブレンダー27へ渡す。
1回目のPGプレーンB−0に対するアクセス要求が完了した後の時刻T11における変換部300A内のTLB320の記憶内容は図18になる。
ブレンダー27は、メモリアクセス制御部26A内の制御部200Aに対して、VプレーンC−0、PGプレーンB−0の夫々に対するアクセス要求を更に14回行う。
ブレンダー27は、メモリアクセス制御部26A内の制御部200Aに対して、IGプレーンA−0のページ番号を含む仮想アドレスによるアクセス要求を行う。制御部200Aは、変換部300A内の変換処理部330Aに対してブレンダー27からの仮想アドレスを渡す。変換処理部330Aは、TLB320にIGプレーンA−0の仮想ページ番号が存在するかを判定する。ここでは、TLB320にIGプレーンA−0の仮想ページ番号が存在しないので、変換処理部330Aは、ページテーブル150からIGプレーンA−0の仮想ページ番号に対応する物理ページ番号を読み出す。そして、変換処理部330Aは、TLB320において、回数“0”に対応する仮想ページ番号と物理ページ番号とをIGプレーンA−0の仮想ページ番号と物理ページ番号とに書き換える。回数計算部380は図15の処理を実行してIGプレーンA−0に関する計算回数を計算する。変換処理部330Aは、TLB320において、IGプレーンA−0の回数を回数計算部380によって計算された計算回数(ここでは、“2”)に書き換える。変換処理部330Aは、IGプレーンA−0の仮想ページ番号に対応するTLB320内の物理ページ番号とアクセス要求に係る仮想アドレスのページ内オフセットとに基づいて仮想アドレスを物理アドレスに変換する。そして、変換処理部330Aは、TLB320において、IGプレーンA−0の仮想ページ番号に対応する回数を1デクリメントする。制御部200Aは、変換処理部330Aによるアドレス変換で得られた物理アドレスに基づいて記憶部100からIGプレーンA−0の256バイト分のデータを読み出し、読み出した256バイト分のデータをブレンダー27へ渡す。
1回目のIGプレーンA−0に対するアクセス要求が完了した後の時刻T12における変換部300A内のTLB320の記憶内容は図19になる。
時刻T12の後、ブレンダー27が、メモリアクセス制御部26A内の制御部200Aに対して、VプレーンC−0、PGプレーンB−0、IGプレーンA−0の夫々に係る仮想アドレスによるアクセス要求を更に1回行う。IGプレーンC−0に係る仮想アドレスによるアクセス要求が完了した後の時刻T13における変換部300A内のTLB320の記憶内容は、時刻T12から時刻T13までの間にVプレーンC−0、PGプレーンB−0、IGプレーンA−0の夫々に対して1回のアクセス要求が行われたので、図20になる。
時刻T13の後、ブレンダー27が、メモリアクセス制御部26A内の制御部200Aに対して、VプレーンC−1の仮想ページ番号を含む仮想アドレスによるアクセス要求を行う。制御部200Aは、変換部300A内の変換処理部330Aに対してブレンダー27からの仮想アドレスを渡す。変換処理部330Aは、TLB320にVプレーンC−1の仮想ページ番号が存在するかを判定する。ここでは、TLB320にVプレーンC−1の仮想ページ番号が存在しないので、変換処理部330Aは、ページテーブル150からVプレーンC−1の仮想ページ番号に対応する物理ページ番号を読み出す。そして、変換処理部330Aは、TLB320において、TLB320において、回数0であるIGプレーンA−0の仮想ページ番号と物理ページ番号とをVプレーンC−1の仮想ページ番号と物理ページ番号とに書き換える。回数計算部380は図15の処理を実行してVプレーンC−1に関する計算回数を計算する。変換処理部330Aは、TLB320において、VプレーンC−1の回数を回数計算部380によって計算された計算回数(ここでは、“16”)に書き換える。変換処理部330Aは、VプレーンC−1の仮想ページ番号に対応するTLB320内の物理ページ番号とアクセス要求に係る仮想アドレスのページ内オフセットとに基づいて仮想アドレスを物理アドレスに変換する。そして、変換処理部330Aは、TLB320において、VプレーンC−1の仮想ページ番号に対応する回数を1デクリメントする。制御部200Aは、変換処理部330Aによるアドレス変換で得られた物理アドレスに基づいて記憶部100からVプレーンC−1の256バイト分のデータを読み出し、読み出した256バイト分のデータをブレンダー27へ渡す。時刻T14における変換部300A内のTLB320の記憶内容は、図21になる。
このように、ページの一部に読みだすデータが存在するような場合があっても、TLB320において、仮想アドレスを物理アドレスに変換した変換済み回数がページから必要なデータを読み出すのに必要な回数に達したページの仮想ページ番号と物理ページ番号とを、アクセス要求に係る仮想アドレスの仮想ページ番号とこれに対応する物理ページ番号とに書き換えられる。このため、TLB320に今後アクセスされる可能性が高いページの仮想ページ番号と物理ページ番号との対応が残り、TLB320でのヒット率の向上が図られる。
≪補足≫
本発明は上記の実施の形態で説明した内容に限定されず、本発明の目的とそれに関連又は付随する目的を達成するためのいかなる形態においても実施可能であり、例えば、以下であってもよい。
(1)上記の第1の実施の形態では、基準回数レジスタ310に基準回数を記憶し、変換処理部330は基準回数レジスタ310に記憶された基準回数を利用する構成としているが、これに限定されるものではなく、例えば次のようなものであっても良い。変換部300は、基準回数レジスタ310を備えず、ページサイズ及び1回のアクセスで読み出されるデータのデータサイズを記憶するレジスタと、レジスタに記憶されているページサイズをレジスタに記憶されているデータサイズで除算することによって基準回数を算出する算出部とを備え、変換処理部330は算出部によって算出された基準回数を利用する構成としてもよい。また、変換部300は、基準回数レジスタ310を備えず、ページテーブル150に仮想ページ番号と物理ページ番号とに対応させて基準回数を記憶し、変換処理部330はページテーブル150に記憶されている基準回数を利用する構成としても良い。
(2)上記の第1及び第2の実施の形態では、回数“0”が存在しない場合には回数が最大である仮想ページ番号と物理ページ番号とを、アクセス要求に係る仮想アドレスの仮想ページ番号とページテーブル150から読み出した物理ページ番号に書き換えるとしたが、これに限定されるものではなく、例えば次のようなものであってもよい。最後にアクセスされたタイミングが最も古いページの仮想ページ番号と物理ページ番号とを、アクセス要求に係る仮想アドレスの仮想ページ番号とページテーブル150から読み出した物理ページ番号に書き換えるようにしてもよい。
(3)上記の第1及び第2の実施の形態では、仮想アドレスを物理アドレスに変換したページに対応するTLB320の回数を1デクリメントすることによって、ページにおいての仮想アドレスを物理アドレスに変換した変換済み回数が第1の実施の形態では基準回数に、第2の実施の形態では計算回数に達したか否かを判断できるようにしたが、これに限定されるものではなく、例えば次のようなものであってもよい。TLB320に新たなページの仮想ページ番号と物理ページ番号とが書き込まれたときに、この新たなページに対応するTLB320の回数を0にし、仮想アドレスを物理アドレスに変換したページに対応するTLB320の回数を1インクリメントすることによって、ページにおいての仮想アドレスを物理アドレスに変換した変換済み回数が第1の実施の形態では基準回数に、第2の実施の形態では計算回数に達したか否かを判断できるようにしてもよい。
(4)上記の第1及び第2の実施の形態では、ページ内の同じデータを1回読みだす場合を前提として説明したが、これに限定されるものではなく、第1及び第2の実施の形態の手法はページ内の同じデータをL(Lは2以上の整数)回読みだす場合にも応用できる。但し、第1の実施の形態の手法を応用する場合には、例えば、ページ内の同じデータを1回読みだすのに必要な仮想アドレスを物理アドレスに変換する回数をL倍した値を基準回数レジスタ310に格納すればよい。また、第2の実施の形態の手法を応用する場合には、例えば、上記の式(1)〜(4)で算出された計算回数NをL倍し、この結果得られた値をページに関して仮想アドレスを物理アドレスに変換する回数とすればよい。
(5)上記の第1及び第2の実施の形態の再生装置1,1A又はメモリアクセス制御部26,26Aは、例えば集積回路であるLSIとして実現されてもよい。これらは、個別に1チップ化されてもよいし、全てまたは一部を含むように1チップ化されてもよい。ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
また、上記の第1及び第2の実施の形態の例えばメモリアクセス制御部26,26Aを集積化した半導体チップと、画像を描画するためのディスプレイとを組み合せて、様々な用途に応じた描画機器を構成することができる。携帯電話やテレビ、デジタルビデオレコーダ、デジタルビデオカメラ、カーナビゲーション等における情報描画手段として、上記の第1及び第2の実施の形態の例えばメモリアクセス制御部26,26Aを利用することが可能である。ディスプレイとしては、ブラウン管(CRT)の他、液晶やPDP(プラズマディスプレイパネル)、有機ELなどのフラットディスプレイ、プロジェクターを代表とする投射型ディスプレイなどと組み合わせることが可能である。
(6)上記の第1及び第2の実施の形態では、メモリアクセス制御部26,26Aを搭載する機器が再生装置1,1Aであるが、これに限定されるものではなく、メモリアクセス制御部26,26Aを搭載する機器は再生装置以外であってもよい。また、メモリアクセス制御部26,26Aにアクセス要求を行う処理部がブレンダー27であるが、これに限定されるものではなく、メモリアクセス制御部26,26Aをにアクセス要求を行う処理部はブレンダー27以外であってもよい。
(7)上記の第1及び第2の実施の形態のメモリアクセス制御部26,26Aを3Dテレビなどの3D対応機器に適用することが可能である。
(8)上記の第1及び第2の実施の形態で説明した処理フローの流れは同じ結果が得られのであれば処理の順番を変更してもよい。
(9)上記の第1及び第2の実施の形態で説明した内容、及び上記の補足において説明した内容を適宜組み合わせることができる。
本発明は、例えば、携帯電話や携帯音楽プレーヤ、デジタルカメラ、デジタルビデオカメラ等の電池駆動の携帯表示端末や、テレビ、デジタルビデオレコーダ、BDレコーダ、BDプレーヤ、DVDレコーダ、DVDプレーヤ、カーナビゲーション等の高解像度の情報表示機器におけるメニュー表示やWebブラウザ、エディタ、EPG、地図表示等に利用することができる。
26 メモリアクセス制御部
100 記憶部
150 ページテーブル
200,200A 制御部
300,300A 変換部
310 基準回数レジスタ
320 TLB
330,330A 変換処理部
360 開始アドレスレジスタ
370 終了アドレスレジスタ
380 回数計算部

Claims (7)

  1. データ、及び、複数のページの夫々について、仮想アドレスの一部であってページを示す仮想ページ番号と物理アドレスの一部であってページを示す物理ページ番号との対応関係を示すページテーブルを記憶する記憶部と、
    前記複数のページの一部のページの夫々について、前記仮想ページ番号と前記物理ページ番号とを対応させて記憶するバッファ、及び、前記バッファの記憶内容に基づいて仮想アドレスを物理アドレスに変換する変換処理部を有する変換部と、
    物理アドレスに変換を施すアクセス要求に係る仮想アドレスを前記変換処理部に対して渡し、前記変換処理部により得られた物理アドレスに基づいて前記記憶部からデータを取得する制御部と、
    を備え、
    前記変換処理部は、
    前記アクセス要求に係る仮想アドレスの仮想ページ番号が前記バッファ内に存在しない場合、前記バッファにおいて、仮想アドレスを物理アドレスに変換した変換済み回数が変換実行回数に達したページの仮想ページ番号と物理ページ番号とを、前記アクセス要求に係る仮想アドレスの仮想ページ番号とこの仮想ページ番号に対応する前記記憶部内の物理ページ番号とに書き換える
    メモリアクセス制御装置。
  2. 前記変換部は、前記変換実行回数を基準回数として予め記憶する基準回数記憶部を更に備える請求項1記載のメモリアクセス制御装置。
  3. 前記変換部は、前記変換実行回数を計算する回数計算部を更に備える請求項1記載のメモリアクセス制御装置。
  4. 前記回数計算部は、ページサイズと、1回のアクセスで前記記憶部から読み出されるデータのデータサイズと、ページにおける読み出しが開始される仮想アドレス及びページにおける読み出しを終了する仮想アドレスの少なくとも一方とに基づいて、前記変換実行回数を計算する
    請求項3記載のメモリアクセス制御装置。
  5. データ、及び、複数のページの夫々について、仮想アドレスの一部であってページを示す仮想ページ番号と物理アドレスの一部であってページを示す物理ページ番号との対応関係を示すページテーブルを記憶する記憶部と、
    前記複数のページの一部のページの夫々について、前記仮想ページ番号と前記物理ページ番号とを対応させて記憶するバッファ、及び、前記バッファの記憶内容に基づいて仮想アドレスを物理アドレスに変換する変換処理部を有する変換部と、
    物理アドレスに変換を施すアクセス要求に係る仮想アドレスを前記変換処理部に対して渡し、前記変換処理部により得られた物理アドレスに基づいて前記記憶部からデータを取得する制御部と、
    を備え、
    前記変換処理部は、
    前記アクセス要求に係る仮想アドレスの仮想ページ番号が前記バッファ内に存在しない場合、前記バッファにおいて、仮想アドレスを物理アドレスに変換した変換済み回数が変換実行回数に達したページの仮想ページ番号と物理ページ番号とを、前記アクセス要求に係る仮想アドレスの仮想ページ番号とこの仮想ページ番号に対応する前記記憶部内の物理ページ番号とに書き換える
    集積回路。
  6. データ、及び、複数のページの夫々について、仮想アドレスの一部であってページを示す仮想ページ番号と物理アドレスの一部であってページを示す物理ページ番号との対応関係を示すページテーブルを記憶する記憶部と、前記複数のページの一部のページの夫々について、前記仮想ページ番号と前記物理ページ番号とを対応させて記憶するバッファ、及び、前記バッファの記憶内容に基づいて仮想アドレスを物理アドレスに変換する変換処理部を有する変換部と、物理アドレスに変換を施すアクセス要求に係る仮想アドレスを前記変換処理部に対して渡し、前記変換処理部により得られた物理アドレスに基づいて前記記憶部からデータを取得する制御部と、を備えるメモリアクセス制御装置において行われるメモリアクセス制御方法であって、
    前記変換処理部は、
    前記アクセス要求に係る仮想アドレスの仮想ページ番号が前記バッファ内に存在するかを判定する判定ステップと、
    存在しないと判定した場合、前記アクセス要求に係る仮想アドレスの仮想ページ番号に対応する物理ページ番号を前記記憶部から読み出すステップと、
    前記バッファにおいて、仮想アドレスを物理アドレスに変換した変換済み回数が変換実行回数に達したページの仮想ページ番号と物理ページ番号とを、前記アクセス要求に係る仮想アドレスの仮想ページ番号と読み出された物理ページ番号とに書き換える書き換えステップと、
    を有するメモリアクセス制御方法。
  7. メモリアクセス制御部と、当該メモリアクセス制御部に対して仮想アドレスによるアクセス要求を行う処理部とを備えるデータ処理装置であって、
    前記メモリアクセス制御部は、
    データ、及び、複数のページの夫々について、仮想アドレスの一部であってページを示す仮想ページ番号と物理アドレスの一部であってページを示す物理ページ番号との対応関係を示すページテーブルを記憶する記憶部と、
    前記複数のページの一部のページの夫々について、前記仮想ページ番号と前記物理ページ番号とを対応させて記憶するバッファ、及び、前記バッファの記憶内容に基づいて仮想アドレスを物理アドレスに変換する変換処理部を有する変換部と、
    物理アドレスに変換を施す前記処理部からのアクセス要求に係る仮想アドレスを前記変換処理部に対して渡し、前記変換処理部により得られた物理アドレスに基づいて前記記憶部からデータを取得して取得したデータを前記処理部へ出力する制御部と、
    を備え、
    前記変換処理部は、
    前記アクセス要求に係る仮想アドレスの仮想ページ番号が前記バッファ内に存在しない場合、前記バッファにおいて、仮想アドレスを物理アドレスに変換した変換済み回数が変換実行回数に達したページの仮想ページ番号と物理ページ番号とを、前記アクセス要求に係る仮想アドレスの仮想ページ番号とこの仮想ページ番号に対応する前記記憶部内の物理ページ番号とに書き換える
    データ処理装置。
JP2011519499A 2009-06-24 2010-04-26 メモリアクセス制御装置、集積回路、メモリアクセス制御方法及びデータ処理装置 Expired - Fee Related JP5347024B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011519499A JP5347024B2 (ja) 2009-06-24 2010-04-26 メモリアクセス制御装置、集積回路、メモリアクセス制御方法及びデータ処理装置

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2009149447 2009-06-24
JP2009149447 2009-06-24
JP2011519499A JP5347024B2 (ja) 2009-06-24 2010-04-26 メモリアクセス制御装置、集積回路、メモリアクセス制御方法及びデータ処理装置
PCT/JP2010/002974 WO2010150451A1 (ja) 2009-06-24 2010-04-26 メモリアクセス制御装置、集積回路、メモリアクセス制御方法及びデータ処理装置

Publications (2)

Publication Number Publication Date
JPWO2010150451A1 JPWO2010150451A1 (ja) 2012-12-06
JP5347024B2 true JP5347024B2 (ja) 2013-11-20

Family

ID=43386241

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011519499A Expired - Fee Related JP5347024B2 (ja) 2009-06-24 2010-04-26 メモリアクセス制御装置、集積回路、メモリアクセス制御方法及びデータ処理装置

Country Status (4)

Country Link
US (1) US8533429B2 (ja)
JP (1) JP5347024B2 (ja)
CN (1) CN102132263A (ja)
WO (1) WO2010150451A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140118541A1 (en) * 2012-10-26 2014-05-01 Sensormatic Electronics, LLC Transcoding mixing and distribution system and method for a video security system
US8904444B2 (en) * 2012-11-15 2014-12-02 Motorola Mobility Llc Scalable data acquisition and accumulation in a resource constrained environment
CN105138481B (zh) * 2014-05-30 2018-03-27 华为技术有限公司 存储数据的处理方法、装置和系统
US20160147667A1 (en) * 2014-11-24 2016-05-26 Samsung Electronics Co., Ltd. Address translation in memory
CN107209724B (zh) 2015-03-27 2020-02-14 华为技术有限公司 数据处理方法、内存管理单元及内存控制设备
CN105760263B (zh) * 2016-01-27 2019-08-06 新华三信息技术有限公司 一种地址线故障检测的方法和装置
US9842059B2 (en) * 2016-04-14 2017-12-12 Western Digital Technologies, Inc. Wear leveling in storage devices
JP2020140380A (ja) * 2019-02-27 2020-09-03 ローム株式会社 半導体装置及びデバッグシステム
US12010365B2 (en) * 2022-03-31 2024-06-11 Comcast Cable Communications, Llc Methods and systems for content management

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62151958A (ja) * 1985-12-25 1987-07-06 Matsushita Electric Ind Co Ltd 仮想アドレス変換装置
JPH0485641A (ja) * 1990-07-30 1992-03-18 Nec Corp 仮想記憶管理方式
JPH11238015A (ja) * 1998-02-24 1999-08-31 Hitachi Ltd プロセッサ装置
JP2004334267A (ja) * 2003-04-30 2004-11-25 Fujitsu Ltd マイクロプロセッサ

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63223847A (ja) * 1987-03-12 1988-09-19 Matsushita Electric Ind Co Ltd アドレス変換装置
JPH04123149A (ja) 1990-09-12 1992-04-23 Nec Ibaraki Ltd ページ置換回路
US5918251A (en) * 1996-12-23 1999-06-29 Intel Corporation Method and apparatus for preloading different default address translation attributes
US6581151B2 (en) * 2001-07-18 2003-06-17 Ip-First, Llc Apparatus and method for speculatively forwarding storehit data based on physical page index compare
JP4123149B2 (ja) 2003-12-15 2008-07-23 富士ゼロックス株式会社 画像処理装置
US7363463B2 (en) * 2005-05-13 2008-04-22 Microsoft Corporation Method and system for caching address translations from multiple address spaces in virtual machines
US7721067B2 (en) * 2006-01-20 2010-05-18 Qualcomm Incorporated Translation lookaside buffer manipulation
CN101246452B (zh) * 2007-02-12 2010-12-15 国际商业机器公司 执行快速的mmu模拟的方法和装置、以及全系统模拟器
US8140820B2 (en) * 2008-05-21 2012-03-20 Arm Limited Data processing apparatus and method for handling address translation for access requests issued by processing circuitry

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62151958A (ja) * 1985-12-25 1987-07-06 Matsushita Electric Ind Co Ltd 仮想アドレス変換装置
JPH0485641A (ja) * 1990-07-30 1992-03-18 Nec Corp 仮想記憶管理方式
JPH11238015A (ja) * 1998-02-24 1999-08-31 Hitachi Ltd プロセッサ装置
JP2004334267A (ja) * 2003-04-30 2004-11-25 Fujitsu Ltd マイクロプロセッサ

Also Published As

Publication number Publication date
JPWO2010150451A1 (ja) 2012-12-06
US8533429B2 (en) 2013-09-10
US20110161622A1 (en) 2011-06-30
CN102132263A (zh) 2011-07-20
WO2010150451A1 (ja) 2010-12-29

Similar Documents

Publication Publication Date Title
JP5347024B2 (ja) メモリアクセス制御装置、集積回路、メモリアクセス制御方法及びデータ処理装置
KR101701910B1 (ko) 시스템 메모리 관리 유닛 컨텍스트들을 저장 및 기억하기 위한 방법 및 장치들 및 프로그램 물건
US20080177938A1 (en) Hybrid hard disk drive, computer system including the same, and flash memory DMA circuit for hybrid HDD
TWI796490B (zh) 在向量處理器為基礎裝置中提供多重元件多重向量(memv)暫存器檔案存取
US10042576B2 (en) Method and apparatus for compressing addresses
US20180329830A1 (en) Reducing metadata size in compressed memory systems of processor-based systems
JP6945544B2 (ja) プロセッサベースシステムにおけるメモリ内の圧縮メモリラインの優先度ベースのアクセス
US6195107B1 (en) Method and system for utilizing virtual memory in an embedded system
US20180173623A1 (en) Reducing or avoiding buffering of evicted cache data from an uncompressed cache memory in a compressed memory system to avoid stalling write operations
US10372635B2 (en) Dynamically determining memory attributes in processor-based systems
US7409607B2 (en) Memory address generating apparatus, processor having the same, and memory address generating method
JP5898787B2 (ja) オーバースキャンサポート
JP2011100453A (ja) イメージプロセッサ及びそれを含む電子装置及びイメージプロセッシング方法
CN104885063A (zh) 针对转译后备缓冲器(tlb)的重叠检查
US11061820B2 (en) Optimizing access to page table entries in processor-based devices
US10061698B2 (en) Reducing or avoiding buffering of evicted cache data from an uncompressed cache memory in a compression memory system when stalled write operations occur
CN109727183B (zh) 一种图形渲染缓冲区压缩表的调度方法及装置
US10929312B2 (en) Zone-SDID mapping scheme for TLB purges
US20210240394A1 (en) Memory access management
US6801988B2 (en) Data buffer for block unit data transfer to SDRAM
TW201913366A (zh) 在基於處理器的系統中利用經壓縮返回地址堆疊(cras)提供高效遞迴處理
US20150134711A1 (en) File access method and system thereof
CN107977282B (zh) 一种SPI-Nand读取数据页的方法及装置
US20200167293A1 (en) Mmu assisted address sanitizer
CN108781085B (zh) 生成具有用于从回看缓冲器预取经解压缩数据的回看预取指令的压缩数据流

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120914

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130723

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130819

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees