(57)【要約】【課題】物理アドレスの検索成功率を高めるメモリ管理ユニットを含むシステム・オン・チップとそのメモリアドレス変換方法及び電子装置を提供する。【解決手段】本発明のシステム・オン・チップは、複数の作業セットで動作するために各作業セットに対応するそれぞれの要請を出力するマスタＩＰと、作業セット別にそれぞれ割り当てられて要請に対する仮想アドレスを物理アドレスに変換するＭＭＵを複数個含むＭＭＵモジュールと、ＭＭＵモジュールとメモリ装置とを連結して複数のＭＭＵのうちの少なくとも１つのＭＭＵでアドレス変換された要請をメモリ装置に伝達する第１バスインターコネクタと、マスタＩＰとＭＭＵモジュールとを連結して作業セット別に複数のＭＭＵのうちの何れか１つのＭＭＵを割り当てる第２バスインターコネクタと、を備える。【選択図】図７
2014132467.tif 000002
【特許請求の範囲】
【請求項１】
システム・オン・チップ（ＳｏＣ）であって、
複数の作業セットで動作するために前記各作業セットに対応するそれぞれの要請を出力するマスタＩＰと、
前記作業セット別にそれぞれ割り当てられて前記要請に対する仮想アドレスを物理アドレスに変換するメモリ管理ユニット（ＭＭＵ）を複数個含むＭＭＵモジュールと、
前記ＭＭＵモジュールとメモリ装置とを連結し、前記複数のＭＭＵのうちの少なくとも１つのＭＭＵでアドレス変換された前記要請を前記メモリ装置に伝達する第１バスインターコネクタと、
を備えることを特徴とするＳｏＣ（Ｓｙｓｔｅｍ  ｏｎ  Ｃｈｉｐ）。
【請求項２】
前記複数の作業セットは、リード動作セット及びライト動作セットを含み、
前記ＭＭＵモジュールは、
前記マスタＩＰのリード要請に応じて前記メモリ装置の前記リード動作セットにアクセスする第１ＭＭＵと、
前記マスタＩＰのライト要請に応じて前記メモリ装置の前記ライト動作セットにアクセスする第２ＭＭＵと、
を含むことを特徴とする請求項１に記載のＳｏＣ。
【請求項３】
前記第１ＭＭＵは、リードチャネルを通じて前記マスタＩＰと連結され、
前記第２ＭＭＵは、ライトチャネルを通じて前記マスタＩＰと連結されることを特徴とする請求項２に記載のＳｏＣ。
【請求項４】
前記第１バスインターコネクタは、
前記第１ＭＭＵから前記リード要請を受信した場合に前記メモリ装置のリード動作セットに連結し、
前記第２ＭＭＵから前記ライト要請を受信した場合に前記メモリ装置のライト動作セットに連結することを特徴とする請求項２に記載のＳｏＣ。
【請求項５】
前記複数の作業セットは、ソースセット及びデスティネーションセットを含み、
前記ＭＭＵモジュールは、
前記マスタＩＰのソースアクセス要請に応じて前記メモリ装置の前記ソースセットにアクセスする第１ＭＭＵと、
前記マスタＩＰのデスティネーションアクセス要請に応じて前記メモリ装置の前記デスティネーションセットにアクセスする第２ＭＭＵと、
を含むことを特徴とする請求項１に記載のＳｏＣ。
【請求項６】
前記ＳｏＣは、
前記マスタＩＰと前記ＭＭＵモジュールとを連結し、前記マスタＩＰの要請に応じて前記第１ＭＭＵまたは前記第２ＭＭＵを動的に割り当てる第２バスインターコネクタを更に含むことを特徴とする請求項５に記載のＳｏＣ。
【請求項７】
前記第２バスインターコネクタは、
前記マスタＩＰからソースアクセス要請を受信した場合に前記第１ＭＭＵに連結し、
前記マスタＩＰからデスティネーションアクセス要請を受信した場合に前記第２ＭＭＵに連結することを特徴とする請求項６に記載のＳｏＣ。
【請求項８】
システム・オン・チップ（ＳｏＣ）であって、
複数の作業セットで動作するために前記各作業セットに対応するそれぞれの要請を出力するマスタＩＰと、
前記作業セット別にそれぞれ割り当てられて前記要請に対する仮想アドレスを物理アドレスに変換するメモリ管理ユニット（ＭＭＵ）を複数個含むＭＭＵモジュールと、
前記ＭＭＵモジュールとメモリ装置とを連結し、前記複数のＭＭＵのうちの少なくとも１つのＭＭＵでアドレス変換された前記要請を前記メモリ装置に伝達する第１バスインターコネクタと、
前記マスタＩＰと前記ＭＭＵモジュールとを連結し、前記複数の作業セットのそれぞれに対して前記複数のＭＭＵのうちの何れか１つのＭＭＵを割り当てる第２バスインターコネクタと、
を備えることを特徴とするＳｏＣ。
【請求項９】
前記複数の作業セットのそれぞれは、
前記メモリ装置に保存されて前記マスタＩＰが前記メモリ装置から頻繁に参照するページの集合であって、前記作業セット間でそれぞれ独立して運用されるデータセットであることを特徴とする請求項１又は８に記載のＳｏＣ。
【請求項１０】
前記ＭＭＵモジュール内の前記複数のＭＭＵは、
前記各作業セットに対してそれぞれ独立して動作することを特徴とする請求項１又は８に記載のＳｏＣ。
【請求項１１】
前記ＳｏＣは、
前記複数の作業セットのそれぞれに対応するＭＭＵ割り当て情報を保存するアドレス分配器を更に含み、
前記アドレス分配器は、前記マスタＩＰから前記要請を受信した場合に前記ＭＭＵ割り当て情報に基づいて前記要請に対応する当該ＭＭＵのＩＤを出力することを特徴とする請求項８に記載のＳｏＣ。
【請求項１２】
前記アドレス分配器は、
前記複数の作業セットのそれぞれに対応する前記ＭＭＵ割り当て情報を保存するレジスタセットと、
前記マスタＩＰから受信した前記要請に対する仮想アドレスと前記ＭＭＵ割り当て情報とを比較して前記要請に対応する当該ＭＭＵのＩＤを出力するアドレス比較器と、を含むことを特徴とする請求項１１に記載のＳｏＣ。
【請求項１３】
前記レジスタセットは、
前記各作業セットの連続した仮想アドレスを区分するインジケーターを前記各ＭＭＵのＩＤにマッピングして前記ＭＭＵ割り当て情報として保存することを特徴とする請求項１２に記載のＳｏＣ。
【請求項１４】
前記アドレス比較器は、
前記要請に対する仮想アドレスのそれぞれと前記インジケーターとを比較して、前記作業セットに割り当てられた当該ＭＭＵのＩＤを出力することを特徴とする請求項１３に記載のＳｏＣ。
【請求項１５】
前記第１バスインターコネクタ及び前記第２バスインターコネクタは、
前記マスタＩＰの要請及び前記メモリ装置の応答によって、前記複数のＭＭＵのうちの動的に割り当てられた何れか１つのＭＭＵのポートを連結することを特徴とする請求項８に記載のＳｏＣ。
【請求項１６】
複数の作業セットで動作するマスタＩＰが前記各作業セットに対応するそれぞれの要請を出力する段階と、
前記作業セット別に複数のメモリ管理ユニット（ＭＭＵ）のうちの何れか１つのＭＭＵを動的に割り当てる段階と、
前記作業セット別に割り当てられたＭＭＵが前記要請に対する仮想アドレスを物理アドレスに変換する段階と、
前記アドレス変換された前記物理アドレスをメモリ装置に伝達する段階と、
を有することを特徴とするメモリアドレス変換方法。
【請求項１７】
前記複数の作業セットのそれぞれは、
前記メモリ装置に保存されて前記マスタＩＰが前記メモリ装置から頻繁に参照するページの集合であって、前記作業セット間でそれぞれ独立して運用されるデータセットであることを特徴とする請求項１６に記載のメモリアドレス変換方法。
【請求項１８】
前記複数のＭＭＵは、
前記各作業セットに対して前記ＭＭＵ間でそれぞれ独立して動作することを特徴とする請求項１６に記載のメモリアドレス変換方法。
【請求項１９】
前記ＭＭＵを動的に割り当てる段階は、
前記複数の作業セットのそれぞれに対応するＭＭＵ割り当て情報を保存して前記マスタＩＰから前記要請を受信した場合に前記要請に対する仮想アドレスと前記ＭＭＵ割り当て情報とを比較する段階と、
比較の結果、前記ＭＭＵ割り当て情報に基づいて前記要請に対応する当該ＭＭＵのＩＤを出力する段階と、
を含むことを特徴とする請求項１６に記載のメモリアドレス変換方法。
【請求項２０】
前記メモリアドレス変換方法は、
複数の作業セットのそれぞれに対して前記メモリ装置が前記要請に応じて前記物理アドレスの作業セットを処理し、前記要請に対する応答またはデータを出力する段階と、
前記複数のＭＭＵのうちの前記処理された作業セットに割り当てられたＭＭＵに前記要請に対する応答またはデータを伝達する段階と、
前記要請に対する応答またはデータを前記マスタＩＰに伝達する段階と、
を更に含むことを特徴とする請求項１６に記載のメモリアドレス変換方法。
【請求項２１】
前記要請に対する応答は、
前記処理された作業セットに割り当てられた当該ＭＭＵのＩＤを含むことを特徴とする請求項２０に記載のメモリアドレス変換方法。
【請求項２２】
複数の作業セットで動作するために前記各作業セットに対応するそれぞれの要請を出力するマスタＩＰと、
前記作業セット別にそれぞれ割り当てられて前記要請に対する仮想アドレスを物理アドレスに変換するメモリ管理ユニット（ＭＭＵ）を複数個含むＭＭＵモジュールと、
前記マスタＩＰの各要請に応じて前記物理アドレスの作業セットを処理し、該要請に対する応答またはデータを出力するメモリ装置と、
前記ＭＭＵモジュールと前記メモリ装置とを連結して前記ＭＭＵでアドレス変換された前記要請のそれぞれを前記メモリ装置に伝達し、前記メモリ装置で処理された前記各要請に対する応答またはデータを前記ＭＭＵモジュールに伝達する第１バスインターコネクタと、
前記マスタＩＰと前記ＭＭＵモジュールとを連結して前記作業セット別に前記複数のＭＭＵのうちの何れか１つのＭＭＵを割り当て、前記マスタＩＰの各要請を各作業セット別に割り当てられた前記ＭＭＵに伝達し、前記要請に対する応答またはデータを前記ＭＭＵから前記マスタＩＰに伝達する第２バスインターコネクタと、
を備えることを特徴とする電子装置。
【請求項２３】
前記第２バスインターコネクタは、
前記各作業セットに対応するＭＭＵ割り当て情報を保存して前記マスタＩＰから前記要請を受信した場合に前記要請に対応する当該ＭＭＵを連結することを特徴とする請求項２２に記載の電子装置。
【請求項２４】
第１及び第２データ作業セットに対応する１つ以上の要請を出力するマスタＩＰと、
メモリ管理ユニット（ＭＭＵ）モジュールと、を備え、
前記ＭＭＵモジュールは、
前記第１データ作業セットの仮想アドレスを物理アドレスに変換する第１変換動作を行う第１ＭＭＵと、
前記第２データ作業セットの仮想アドレスを物理アドレスに変換する第２変換動作を行う第２ＭＭＵと、を含み、
前記第１及び第２変換動作が前記第１及び第２ＭＭＵによって同時に行われるように、前記第１及び第２ＭＭＵは別個のユニットであることを特徴とするＳｏＣ。
【請求項２５】
前記第１ＭＭＵは、第１メモリバッファを含み、前記第１メモリバッファを用いて前記第１変換動作を行い、
前記第２ＭＭＵは、第２メモリバッファを含み、前記第２メモリバッファを用いて前記第２変換動作を行うことを特徴とする請求項２４に記載のＳｏＣ。
【請求項２６】
前記第１メモリバッファは、
変換索引バッファであることを特徴とする請求項２５に記載のＳｏＣ。
【請求項２７】
前記ＳｏＣは、
前記ＭＭＵモジュールと前記メモリ装置とを連結して前記マスタＩＰの要請を前記メモリ装置に伝達する第１バスインターコネクタを更に含み、
前記第１及び第２データ作業セットは、前記メモリ装置に保存されることを特徴とする請求項２４に記載のＳｏＣ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリ管理ユニットに係り、より詳しくは、ＩＰコア（機能ブロック）が複数の作業セットで動作する場合に、作業セットごとに分離して使用可能なメモリ管理ユニットとそのメモリアドレス変換方法及び電子装置に関する。
【背景技術】
【０００２】
メモリ管理ユニット（Ｍｅｍｏｒｙ  Ｍａｎａｇｅｍｅｎｔ  Ｕｎｉｔ；以下、ＭＭＵと称する）は、ＣＰＵ、ＧＰＵ（Ｇｒａｐｈｉｃ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）などのダイレクトメモリアクセス（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）ユニットによって要求されるメモリアクセスを処理するためのハードウェアコンポーネントである。ＭＭＵは、ページメモリ管理ユニット（Ｐａｇｅｄ  Ｍｅｍｏｒｙ  Ｍａｎａｇｅｍｅｎｔ  Ｕｎｉｔ；ＰＭＭＵ）とも呼ばれる。
【０００３】
仮想メモリを使うＩＰ（Ｉｎｔｅｌｌｅｃｔｕａｌ  Ｐｒｏｐｅｒｔｙ；以下、ＩＰと称する）は、メモリ装置にアクセスする時、仮想アドレスに対応する物理アドレスにアクセスする。この際、ＭＭＵは、仮想アドレスと物理アドレスとの間のアドレス変換を行う。
システム・オン・チップ（Ｓｙｓｔｅｍ  ｏｎ  Ｃｈｉｐ；以下、ＳｏＣと称する）は、ＭＭＵの面積効率性を高め、物理アドレスの索引速度を高めるために、限定されたサイズの変換索引バッファ（Ｔｒａｎｓｌａｔｉｏｎ  Ｌｏｏｋ−ａｓｉｄｅ  Ｂｕｆｆｅｒ；以下、ＴＬＢと称する）を有し、所定のページ置換ポリシー（Ｐａｇｅ  Ｒｅｐｌａｃｅｍｅｎｔ  Ｐｏｌｉｃｙ）に従って動作する。
【０００４】
しかし、ＳｏＣが複数の作業セットで動作する場合、ＩＰ（機能ブロック）が各作業セット別に参照する物理アドレス領域が異なるので、１つのＭＭＵのみを使うと、当該ＩＰを使う作業セットが変わって、ＴＬＢの検索成功率（ｈｉｔ  ｒａｔｉｏ）が著しく落ちる問題がある。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は、上記従来の問題点に鑑みてなされたものであって、本発明の目的は、ＩＰが複数の作業セットを処理する場合、物理アドレスの検索成功率を高めるために、柔軟に運用されるメモリ管理ユニットを含むシステム・オン・チップとそのメモリアドレス変換方法及び電子装置を提供する。
【課題を解決するための手段】
【０００６】
上記目的を達成するためになされた本発明の一態様によるシステム・オン・チップ（ＳｏＣ）は、複数の作業セットで動作するために前記各作業セットに対応するそれぞれの要請を出力するマスタＩＰと、前記作業セット別にそれぞれ割り当てられて前記要請に対する仮想アドレスを物理アドレスに変換するメモリ管理ユニット（ＭＭＵ）を複数個含むＭＭＵモジュールと、前記ＭＭＵモジュールとメモリ装置とを連結し、前記複数のＭＭＵのうちの少なくとも１つのＭＭＵでアドレス変換された前記要請を前記メモリ装置に伝達する第１バスインターコネクタと、を備える。
【０００７】
前記ＭＭＵモジュール内の前記複数のＭＭＵは、前記各作業セットに対してそれぞれ独立して動作し得る。
前記複数の作業セットは、リード動作セット及びライト動作セットを含み、前記ＭＭＵモジュールは、前記マスタＩＰのリード要請（Ｒｅａｄ  Ｒｅｑｕｅｓｔ）に応じて前記メモリ装置の前記リード動作セットにアクセスする第１ＭＭＵと、前記マスタＩＰのライト要請（Ｗｒｉｔｅ  Ｒｅｑｕｅｓｔ）に応じて前記メモリ装置の前記ライト動作セットにアクセスする第２ＭＭＵと、を含み得る。
前記第１ＭＭＵは、リードチャネルを通じて前記マスタＩＰと連結され、前記第２ＭＭＵは、ライトチャネルを通じて前記マスタＩＰと連結され得る。
前記複数の作業セットは、ソースセット及びデスティネーションセットを含み、前記ＭＭＵモジュールは、前記マスタＩＰのソースアクセス要請に応じて前記メモリ装置の前記ソースセットにアクセスする第１ＭＭＵと、前記マスタＩＰのデスティネーションアクセス要請に応じて前記メモリ装置の前記デスティネーションセットにアクセスする第２ＭＭＵと、を含み得る。
前記ＳｏＣは、前記マスタＩＰと前記ＭＭＵモジュールとを連結し、前記マスタＩＰの要請に応じて前記第１ＭＭＵまたは前記第２ＭＭＵを動的に（ｄｙｎａｍｉｃ）割り当てる第２バスインターコネクタを更に含み得る。
【０００８】
上記目的を達成するためになされた本発明の他の態様によるシステム・オン・チップ（ＳｏＣ）は、複数の作業セットで動作するために前記各作業セットに対応するそれぞれの要請を出力するマスタＩＰと、前記作業セット別にそれぞれ割り当てられて前記要請に対する仮想アドレスを物理アドレスに変換するメモリ管理ユニット（ＭＭＵ）を複数個含むＭＭＵモジュールと、前記ＭＭＵモジュールとメモリ装置とを連結し、前記複数のＭＭＵのうちの少なくとも１つのＭＭＵでアドレス変換された前記要請を前記メモリ装置に伝達する第１バスインターコネクタと、前記マスタＩＰと前記ＭＭＵモジュールとを連結し、前記複数の作業セットのそれぞれに対して前記複数のＭＭＵのうちの何れか１つのＭＭＵを割り当てる第２バスインターコネクタと、を備える。
【０００９】
上記目的を達成するためになされた本発明の一実施形態によるメモリアドレス変換方法は、複数の作業セットで動作するマスタＩＰが前記各作業セットに対応する要請を出力する段階と、前記作業セット別に複数のメモリ管理ユニット（ＭＭＵ）のうちの何れか１つのＭＭＵを動的に割り当てる段階と、前記作業セット別に割り当てられたＭＭＵが前記要請に対する仮想アドレスを物理アドレスに変換する段階と、前記アドレス変換された前記物理アドレスをメモリ装置に伝達する段階と、を有する。
【００１０】
前記メモリアドレス変換方法は、複数の作業セットのそれぞれに対して前記メモリ装置が前記要請に応じて前記物理アドレスの作業セットを処理し、前記要請に対する応答またはデータを出力する段階と、前記複数のＭＭＵのうちの前記処理された作業セットに割り当てられたＭＭＵに前記要請に対する応答またはデータを伝達する段階と、前記要請に対する応答またはデータを前記マスタＩＰに伝達する段階と、を更に含む。
【００１１】
上記目的を達成するためになされた本発明の一態様による電子装置は、複数の作業セットで動作するために前記各作業セットに対応するそれぞれの要請を出力するマスタＩＰと、前記作業セット別にそれぞれ割り当てられて前記要請に対する仮想アドレスを物理アドレスに変換するメモリ管理ユニット（ＭＭＵ）を複数個含むＭＭＵモジュールと、前記マスタＩＰの各要請に応じて前記物理アドレスの作業セットを処理し、該要請に対する応答またはデータを出力するメモリ装置と、前記ＭＭＵモジュールと前記メモリ装置とを連結して前記ＭＭＵでアドレス変換された前記要請のそれぞれを前記メモリ装置に伝達し、前記メモリ装置で処理された前記各要請に対する応答またはデータを前記ＭＭＵモジュールに伝達する第１バスインターコネクタと、前記マスタＩＰと前記ＭＭＵモジュールとを連結して前記作業セット別に前記複数のＭＭＵのうちの何れか１つのＭＭＵを割り当て、前記マスタＩＰの各要請を各作業セット別に割り当てられた前記ＭＭＵに伝達し、前記要請に対する応答またはデータを前記ＭＭＵから前記マスタＩＰに伝達する第２バスインターコネクタと、を備える。
前記第２バスインターコネクタは、前記各作業セットに対応するＭＭＵ割り当て情報を保存して前記マスタＩＰから前記要請を受信した場合に前記要請に対応する当該ＭＭＵを連結し得る。
【００１２】
上記目的を達成するためになされた本発明の更に他の態様によるＳｏＣは、第１及び第２データ作業セットに対応する１つ以上の要請を出力するマスタＩＰと、メモリ管理ユニット（ＭＭＵ）モジュールと、を備え、前記ＭＭＵモジュールは、前記第１データ作業セットの仮想アドレスを物理アドレスに変換する第１変換動作を行う第１ＭＭＵと、前記第２データ作業セットの仮想アドレスを物理アドレスに変換する第２変換動作を行う第２ＭＭＵと、を含み、前記第１及び第２変換動作が前記第１及び第２ＭＭＵによって同時に行われるように、前記第１及び第２ＭＭＵは別個のユニットである。
前記第１ＭＭＵは、第１メモリバッファを含み、前記第１メモリバッファを用いて前記第１変換動作を行い、前記第２ＭＭＵは、第２メモリバッファを含み、前記第２メモリバッファを用いて前記第２変換動作を行い得る。
前記第１メモリバッファは、変換索引バッファであり得る。
前記ＳｏＣは、前記ＭＭＵモジュールと前記メモリ装置とを連結して前記マスタＩＰの要請を前記メモリ装置に伝達する第１バスインターコネクタを更に含み、前記第１及び第２データ作業セットは、前記メモリ装置に保存し得る。
【発明の効果】
【００１３】
本発明のＳｏＣによれば、マスタＩＰが所定の作業セットで動作中に、更に他の作業セットで動作する場合、メモリ管理ユニット（ＭＭＵ）モジュールのうち、処理中である作業セットに割り当てられないメモリ管理ユニットを割り当てて独立して使うことによって、物理アドレスの検索成功率を高めることができる。
また、作業セット間の影響を最小化または減少させながら、ＳｏＣの動作速度を向上させ、作業セット別にＭＭＵを割り当てて使うために、ＭＭＵを柔軟に運用することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施形態によるメモリ管理ユニットを含む電子装置を示す図である。
【図２】図１に示したＳｏＣのブロック図を示す。
【図３】図２に示したメモリ管理ユニットの動作を説明する概念図である。
【図４】本発明のメモリ管理ユニットの一実施形態による構造を説明する概念図である。
【図５】本発明のメモリ管理ユニットの他の実施形態による構造を説明する概念図である。
【図６】本発明のメモリ管理ユニットの更に他の実施形態による構造を説明する概念図である。
【図７】図６のメモリ管理ユニットの動作を説明する概念図である。
【図８】図６の実施形態によるメモリアドレス変換方法を示すフローチャートである。
【図９】図６の実施形態によるメモリアドレス変換方法を示すフローチャートである。
【図１０】本発明の実施形態によって行われるイメージブレンディング過程を説明する概念図である。
【図１１】図２に示したＳｏＣを含む電子装置の一実施形態を示す図である。
【図１２】図２に示したＳｏＣを含む電子装置の更に他の実施形態を示す図である。
【発明を実施するための形態】
【００１５】
以下、本発明を実施するための形態の具体例を、図面を参照しながら詳細に説明する。
【００１６】
図１は、本発明の一実施形態によるメモリ管理ユニットを含む電子装置を示す図である。
【００１７】
図１を参照すると、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）、タブレットＰＣ、ネットブック、ｅリーダー、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、ＰＭＰ（Ｐｏｒｔａｂｌｅ  Ｍｕｌｔｉｍｅｄｉａ  Ｐｌａｙｅｒ）、ＭＰ３プレーヤー、またはＭＰ４プレーヤーのようなデータ処理装置として具現可能な電子装置１００は、電子装置１００の全般的な動作を制御するＳｏＣ１を含む。
【００１８】
ＳｏＣ１は、一例として、プロセッサとして具現可能であり、プロセッサは、プログラム命令（ｐｒｏｇｒａｍ  ｉｎｓｔｒｕｃｔｉｏｎｓ）を読み出して実行するユニットである。ＳｏＣ１は、ＭＭＵモジュール１０を含む。
【００１９】
ＳｏＣ１は、プログラム命令（例えば、入力装置１２０を通じて入力された入力信号によって生成されたプログラム命令）を実行する。ＳｏＣ１は、メモリ装置１１０に保存されたデータをリード（ｒｅａｄ）し、リードされたデータを、ディスプレイ１３０を通じて表示する。
【００２０】
メモリ装置１１０は、データを保存するための保存場所であって、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）、各種プログラム、及び各種データを保存する。メモリ装置１１０は、ＳｏＣ１から受信した要請に応じてデータを処理する。例えば、メモリ装置１１０は、不揮発性メモリ装置（フラッシュメモリ、ＰＲＡＭ（Ｐｈａｓｅ−ｃｈａｎｇｅ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＭＲＡＭ（Ｍａｇｎｅｔｉｃ  ＲＡＭ）、ＲｅＲＡＭ（Ｒｅｓｉｓｔｉｖｅ  ＲＡＭ）、またはＦｅＲＡＭ（Ｆｅｒｒｏｅｌｅｃｔｒｉｃ  ＲＡＭ））、または揮発性メモリ装置（ＤＲＡＭ、ＳＲＡＭ）である。他の実施形態で、メモリ装置１１０は、ＳｏＣ１の内部に備えられる内蔵メモリであり得る。メモリ装置１１０は、仮想アドレスに対する物理アドレスを変換するページテーブル１１５を含む。入力装置１２０は、タッチパッドまたはマウスのようなポインティング装置、キーパッド、またはキーボードとして具現可能である。
【００２１】
図２は、図１に示したＳｏＣのブロック図を示す。
図１及び図２を参照すると、ＳｏＣ１は、ＣＰＵ３、キャッシュ５、及びメモリ管理ユニットモジュール（Ｍｅｍｏｒｙ  Ｍａｎａｇｅｍｅｎｔ  Ｕｎｉｔ  ｍｏｄｕｌｅ；以下、ＭＭＵモジュールと称する）１０などを含む。
【００２２】
ＣＰＵ３は、プログラム命令を読み出して実行する動作を行うＳｏＣ１の一部分である。
【００２３】
キャッシュ５は、メモリ装置１１０からデータをより迅速にリード／ライトするために、データを保存するコンポーネントである。ＣＰＵ３は、ページ（ｐａｇｅ）の内容をメモリ装置１１０からリード（またはＰａｇｅ  Ｉｎ）してキャッシュ５に保存する。ＣＰＵ３は、キャッシュ５に保存されたページの内容をメモリ装置１１０にライト（またはＰａｇｅ  Ｏｕｔ）する。
【００２４】
ＭＭＵモジュール１０は、ＣＰＵ３によって要求されるメモリ装置１１０へのアクセスを処理するためのハードウェアコンポーネントである。
【００２５】
ＭＭＵモジュール１０の機能は、ＣＰＵ３、ＧＰＵ、ディスプレイコントローラ８０、またはマルチメディア加速ユニット６０内のグラフィックエンジンからの要請に対する仮想アドレスを物理アドレスに変換（ｔｒａｎｓｌａｔｉｏｎ）、メモリ保護、キャッシュ５の制御、バス調停（ｂｕｓ  ａｒｂｉｔｒａｔｉｏｎ）、またはバンクスイッチング（ｂａｎｋ  ｓｗｉｔｃｈｉｎｇ）を含む。
【００２６】
ＳｏＣ１は、システム周辺ユニット５０、マルチメディア加速ユニット（ｍｕｌｔｉｍｅｄｉａ  ａｃｃｅｌｅｒａｔｉｏｎ  ｕｎｉｔ）６０、接続ユニット７０、ディスプレイコントローラ８０、及びメモリインターフェースユニット９０を更に含む。
【００２７】
システム周辺ユニット５０、マルチメディア加速ユニット６０、接続ユニット７０、ディスプレイコントローラ８０、及びメモリインターフェースユニット９０のそれぞれは、システムバス４０を通じてデータや命令を送受信する。
システムバス４０は、複数のチャネルを含む。例えば、複数のチャネルは、ＡＸＩ（ａｄｖａｎｃｅｄ  ｅｘｔｅｎｓｉｂｌｅ  ｉｎｔｅｒｆａｃｅ）チャネル規格によって、リードデータチャネル（Ｒ）、リードアドレスチャネル（ＡＲ）、ライトアドレスチャネル（ＷＲ）、ライト応答チャネル（Ｂ）、及びライトデータチャネル（Ｗ）を含む。
【００２８】
システム周辺ユニット５０は、リアルタイムクロック（ＲＴＣ：Ｒｅａｌ−Ｔｉｍｅ  Ｃｌｏｃｋ）、位相同期ループ（ＰＬＬ：Ｐｈａｓｅ−Ｌｏｃｋｅｄ  Ｌｏｏｐ）、及びウォッチドッグタイマ（Ｗａｔｃｈ  Ｄｏｇ  Ｔｉｍｅｒ）を含む。
【００２９】
マルチメディア加速ユニット６０は、グラフィックエンジンを含む。マルチメディア加速ユニット６０は、カメラインターフェース、グラフィック計算を行うためにフレームバッファまたは他のビデオディスプレイ回路と集積されたグラフィックエンジン、及び圧縮されていないデジタルデータを伝送するためのオーディオ／ビデオインターフェースであるＨＤＭＩ（登録商標）（Ｈｉｇｈ−Ｄｅｆｉｎｉｔｉｏｎ  Ｍｕｌｔｉｍｅｄｉａ  Ｉｎｔｅｒｆａｃｅ）を含む。
【００３０】
ＭＭＵモジュール１０は、グラフィックエンジンから出力される仮想アドレスを物理アドレスに変換するために使われる。
【００３１】
マルチメディア加速ユニット６０は、ＨＤＭＩ（登録商標）の代わりに、アナログテレビエンコーディングシステムであるＮＴＳＣ（Ｎａｔｉｏｎａｌ  Ｔｅｌｅｖｉｓｉｏｎ  Ｓｙｓｔｅｍ  Ｃｏｍｍｉｔｔｅｅ）／ＰＡＬ（Ｐｈａｓｅ  Ａｌｔｅｒｎａｔｅ  Ｌｉｎｅ）を含みうる。
【００３２】
接続ユニット７０は、オーディオインターフェース、ＡＴＡ（Ａｄｖａｎｃｅｄ  Ｔｅｃｈｎｏｌｏｇｙ  Ａｔｔａｃｈｍｅｎｔ）のようなストレージインターフェース、及び接続インターフェースを含む。例えば、接続ユニット７０は、入力装置１２０と通信を行わせる。
【００３３】
ディスプレイコントローラ８０は、データをディスプレイ１３０に表示させるように制御する。
【００３４】
ＭＭＵモジュール１０は、ディスプレイコントローラ８０から出力される仮想アドレスを物理アドレスに変換するために使われる。
【００３５】
メモリインターフェースユニット９０は、メモリ装置１１０の種類（例えば、フラッシュメモリ、またはＤＲＡＭ）によってメモリ装置１１０をアクセス可能にするインターフェースである。
【００３６】
説明の便宜上、ＣＰＵ３、グラフィックエンジン、ディスプレイコントローラ８０など、作業セット単位でデータを処理するプロセッサをマスタＩＰ（Ｍａｓｔｅｒ  ＩＰ：Ｍａｓｔｅｒ  Ｉｎｔｅｌｌｅｃｔｕａｌ  Ｐｒｏｐｅｒｔｙ）と称する。
【００３７】
マスタＩＰは、作業セット単位で動作し、同時に複数個の作業セットを処理する。作業セット（Ｗｏｒｋｉｎｇ  Ｓｅｔ）とは、メモリ装置１１０に保存されるデータセットであって、マスタＩＰがメモリ装置１１０から頻繁に（例えば、基準時間内に基準回数以上）参照するページ（ｐａｇｅ）の集合、または１つのマスタＩＰからメモリ装置１１０に記憶させることができるページの量を言う。この際、マスタＩＰで各作業セットは、他の作業セットと独立して運用される。
【００３８】
図３は、図２に示したメモリ管理ユニットの動作を説明する概念図である。
【００３９】
図１〜図３を参照すると、ＭＭＵモジュール１０は、ＴＬＢ（Ｔｒａｎｓｌａｔｉｏｎ  Ｌｏｏｋａｓｉｄｅ  Ｂｕｆｆｅｒ；以下、ＴＬＢと称する）１２を含み、マスタＩＰ３０及びメモリ装置１１０と複数のチャネル（Ｒ、ＡＲ、ＡＷ、Ｂ、及びＷ）で連結される。
【００４０】
マスタＩＰ３０は、複数の作業セットを処理する。マスタＩＰ３０は、複数の作業セットで動作するために、各作業セットに対応する要請をＭＭＵモジュール１０またはキャッシュ５に出力する。この際、マスタＩＰ３０が出力する要請には、メモリ装置１１０内の当該作業セットに対する仮想アドレスＶＡが含まれる。
【００４１】
ＭＭＵモジュール１０は、マスタＩＰ３０の要請に応じて仮想アドレスＶＡを用いてページ物理アドレスＰＡを計算して出力する。ページ物理アドレスＰＡは、仮想アドレスＶＡのページ番号（ＰＮ）とオフセット（例えば、ページテーブルポインター）とを結合してページテーブル１１５のインデックスとしてアクセスするためのアドレスである。
【００４２】
ＴＬＢ１２は、仮想アドレス変換速度（ｖｉｒｔｕａｌ  ａｄｄｒｅｓｓ  ｔｒａｎｓｌａｔｉｏｎ  ｓｐｅｅｄ）を向上させるために使われるメモリ管理ハードウェアであり、ページ番号（ＰＮ）とフレーム番号（ＦＮ）とがマッピングされる。すなわち、ＴＬＢ１２は、マスタＩＰ３０が参照したページに対して仮想アドレスＶＡと物理アドレスＰＡとをマッピング（ｍａｐｐｉｎｇ）して保存する。仮想アドレスを物理アドレスにアドレス変換を試みる時、ＭＭＵモジュール１０は、ＴＬＢ１２を先ず確認する。
【００４３】
マスタＩＰ３０の要請に対応する仮想アドレスＶＡに対してＴＬＢ１２にマッピング情報があった場合、ＭＭＵモジュール１０は、メモリ装置１１０にアクセスする必要なしに直ちにアドレス変換を処理する（ＴＬＢ  ｈｉｔ）。
【００４４】
一方、マスタＩＰ３０の要請の仮想アドレスＶＡに対してＴＬＢ１２にマッピング情報がない場合（ＴＬＢ  ｍｉｓｓ）、ページテーブルウォーク（Ｐａｇｅ  Ｔａｂｌｅ  Ｗａｌｋ；ＰＴＷ）が行われる。ページテーブルウォークとは、仮想アドレスＶＡのページ番号（ＰＮ）とフレーム番号（ＦＮ）とがＴＬＢ１２でマッチングされない時（すなわち、仮想アドレスＶＡにマッピングされた物理アドレスＰＡ情報がない時）、仮想アドレスＶＡのページ番号（ＰＮ）とフレーム番号（ＦＮ）とがメモリ装置内のページテーブル１１５に存在するか否かを探す処理（ｐｒｏｃｅｓｓ）を意味する。
【００４５】
ページテーブル１１５は、メモリ装置１１０内のデータのそれぞれの仮想アドレスと物理アドレスとをマッピングした情報を保存する。
【００４６】
キャッシュ５は、マスタＩＰ３０がリードしようとする命令またはデータの物理アドレスＰＡにリードを試みる時、当該物理アドレスの命令やデータがキャッシュ５内に存在した場合、メモリ装置１１０にアクセスする必要なしに、直ちに命令やデータをマスタＩＰ３０に出力する（Ｃａｃｈｅ  ｈｉｔ）。
【００４７】
しかし、マスタＩＰ３０がリードしようとする命令またはデータの物理アドレスにリードを試みても、当該命令やデータがキャッシュ５内に存在しない場合、メモリ装置１１０のデータ／命令保存部１１７にアクセスして、当該命令やデータを読み取る（Ｃａｃｈｅ  ｍｉｓｓ）。
【００４８】
データ／命令保存部１１７は、メモリ装置１１０内のデータ／命令のそれぞれについての情報を保存する。
【００４９】
図４は、本発明のメモリ管理ユニットの一実施形態による構造を説明する概念図である。説明の便宜上、マスタＩＰ３０、複数のＭＭＵを含んだＭＭＵモジュール１０、バスインターコネクタ４１、及びメモリ装置１１０のみを図示する。
【００５０】
マスタＩＰ３０は、作業セット単位で動作する。マスタＩＰ３０は、複数の作業セットに対する動作を行う。この際、メモリ装置内の複数の作業セットのそれぞれは、互いに独立し、マスタＩＰ３０は、各作業セットを独立して運用する。
【００５１】
マスタＩＰ３０は、各作業セットを処理する時、要請（ｒｅｑｕｅｓｔ）及び処理する作業セット単位データの仮想アドレスＶＡをＭＭＵモジュール１０に出力する。一実施形態として、図４に示すように、マスタＩＰ３０が、メモリ装置１１０のデータに対してリード動作（ｒｅａｄ）及びライト動作（Ｗｒｉｔｅ）を行う場合を説明する。
【００５２】
本実施形態で、複数の作業セットは、リード動作作業セット及びライト動作作業セットを含む。すなわち、作業セットは、マスタＩＰ３０のリード要請に応じてメモリ装置１１０で保存データをリードするリード動作セットとマスタＩＰ３０のライト要請に応じてメモリ装置にライトデータをライトするライト動作セットとに分ける。
【００５３】
ＭＭＵモジュール１０は、複数個のＭＭＵ１０Ｒ、１０Ｗを含む。複数個のＭＭＵは、各作業セットに対してそれぞれ割り当てられて、それぞれ異なる作業セット（それぞれ異なるＭＭＵ）に対して独立して運用される。
【００５４】
第１ＭＭＵ１０Ｒは、マスタＩＰ３０のリード要請に応じてメモリ装置１１０内のリード動作セットにアクセスするために割り当てられる。第１ＭＭＵ１０Ｒは、リードチャネルＲＣＨに連結される。リードチャネルＲＣＨは、マスタＩＰ３０からのリード要請、メモリ装置１１０からの応答、及びリード要請に応じてメモリ装置１１０からマスタＩＰ３０に伝送されるリードデータを送受信する。リードチャネルＲＣＨは、マスタＩＰ３０とＭＭＵモジュール１０、ＭＭＵモジュール１０とメモリ装置１１０との間を連結する。例えば、リードチャネルＲＣＨは、ＡＸＩバス規格によるＡＲチャネル及びＲチャネルを含む。
【００５５】
第１ＭＭＵ１０Ｒは、マスタＩＰ３０から受信したリード要請に対する仮想アドレスＶＡを物理アドレスＰＡに変換して、物理アドレスに変換されたリード要請をメモリ装置１１０に送信し、メモリ装置１１０でリードされたデータ及びリード要請に対する応答をマスタＩＰ３０に伝送する。
【００５６】
第２ＭＭＵ１０Ｗは、マスタＩＰ３０のライト要請に応じてメモリ装置１１０内のライト動作セットにアクセスするために割り当てられる。第２ＭＭＵ１０Ｗは、ライトチャネルＷＣＨに連結される。ライトチャネルＷＣＨは、マスタＩＰ３０からのライト要請、メモリ装置１１０からの応答、及びライト要請に応じてメモリ装置１１０にライトされるライトデータを送受信する。ライトチャネルＷＣＨは、マスタＩＰ３０とＭＭＵモジュール１０、ＭＭＵモジュール１０とメモリ装置１１０との間を連結する。例えば、ライトチャネルＷＣＨは、ＡＸＩバス規格によるＡＷチャネル、Ｗチャネル、及びＢチャネルを含む。
【００５７】
第２ＭＭＵ１０Ｗは、マスタＩＰ３０から受信したライト要請に応じてライトデータが書き込まれる領域の仮想アドレスＶＡを物理アドレスＰＡに変換し、メモリ装置１１０にライトされたデータに対する物理アドレスＰＡを仮想アドレスＶＡに変換する。
【００５８】
本実施形態で、マスタＩＰ３０と第１ＭＭＵ１０Ｒとの間のリードチャネルＲＣＨ、マスタＩＰ３０と第２ＭＭＵ１０Ｗとの間のライトチャネルＷＣＨは、ハードウェア的に連結される。
【００５９】
メモリ装置１１０とＭＭＵモジュール１０との間のリードチャネルＲＣＨまたはライトチャネルＷＣＨには、バスインターコネクタ（Ｂｕｓ  ｉｎｔｅｒｃｏｎｎｅｃｔ）４１が更に含まれる。
【００６０】
バスインターコネクタ４１は、メモリ装置１１０とＭＭＵモジュール１０とを連結して、各ＭＭＵ１０Ｒまたは１０Ｗのアクセス別にメモリ装置１１０内のメモリアクセス領域を異なるようにする。
【００６１】
一例として、メモリ装置１１０内のリード動作セット及びライト動作セットは、互いに独立して位置する。例えば、バスインターコネクタ４１は、第１ＭＭＵ１０Ｒがアクセスする時には、メモリ装置１１０のリード動作セットに連結する。バスインターコネクタ４１は、第２ＭＭＵ１０Ｗがアクセスする時には、メモリ装置１１０のライト動作セットに連結する。
【００６２】
他の一例として、バスインターコネクタ４１は、各ＭＭＵ１０Ｒまたは１０Ｗのアクセス別にメモリ装置１１０内のメモリアクセスタイミングを異なるようにする。この場合、メモリ装置１１０内のリード動作セット及びライト動作セットは、経時的に互いに独立してアクセスされる。
【００６３】
図５は、本発明のメモリ管理ユニットの他の実施形態による構造を説明する概念図である。説明の便宜上、マスタＩＰ３０、複数のＭＭＵを含んだＭＭＵモジュール１０、バスインターコネクタ４２Ａ、４２Ｂ、及びメモリ装置１１０のみを図示する。
【００６４】
マスタＩＰ３０は、作業セット単位で動作する。マスタＩＰ３０は、複数の作業セットに対する動作を行う。この際、メモリ装置内の複数の作業セットは、互いに独立し、マスタＩＰ３０は、作業セット別に独立して運用する。マスタＩＰ３０は、各作業セットを処理する時、要請及び処理する作業セット単位データの仮想アドレスＶＡをＭＭＵモジュール１０に出力する。
【００６５】
図５に示す実施形態では、マスタＩＰ３０が、メモリ装置１１０のデータに対してリード動作及びライト動作を行う場合を説明する。例えば、マスタＩＰ３０は、イメージスケーラーＩＰ（Ｉｍａｇｅ  Ｓｃａｌｅｒ  ＩＰ）である。図５の実施形態は、図４で作業セットを動作によりリード動作セット及びライト動作セットに区分したものとは異なり、マスタＩＰ３０が、処理するデータのメモリアクセス領域によってソースセット（Ｓｏｕｒｃｅ  Ｓｅｔ）及びデスティネーションセット（Ｄｅｓｔｉｎａｔｉｏｎ  Ｓｅｔ）に区分すると仮定する。
【００６６】
より具体的に説明すると、マスタＩＰ３０が、データスケーラーＩＰ、またはデータディザリングＩＰのように、ソースデータ（Ｓｏｕｒｃｅ  Ｄａｔａ）とデスティネーションデータ（Ｄｅｓｔｉｎａｔｉｏｎ  Ｄａｔａ）とを混合して、デスティネーションデータを出力する処理を行う場合を仮定する。複数の作業セットは、リード動作を行うソースデータが集中したメモリ領域をソースセット、リード動作及びライト動作を行うデスティネーションデータが集中したメモリ領域をデスティネーションセットにそれぞれ区分される。
【００６７】
ＭＭＵモジュール１０は、複数個のＭＭＵ１１Ｓ、１１Ｄを含む。複数個のＭＭＵは、作業セット別に割り当てられて、それぞれ異なるＭＭＵとして独立して運用される。
【００６８】
第１ＭＭＵ（ＭＭＵ  Ｓ）１１Ｓは、マスタＩＰ３０のソースアクセス要請に応じてメモリ装置１１０内のソースセットにアクセスするために割り当てられる。第１ＭＭＵ１１Ｓは、ソースアクセス要請及びメモリ装置１１０からリードされるソースデータを送受信するソースチャネル（Ｓｏｕｒｃｅ  ＣＨ）に連結される。
【００６９】
ソースチャネルは、マスタＩＰ３０とＭＭＵモジュール１０、ＭＭＵモジュール１０とメモリ装置１１０との間を連結する。第１ＭＭＵ１１Ｓは、ソースデータに対する仮想アドレスＶＡを物理アドレスＰＡに変換する。
【００７０】
第２ＭＭＵ（ＭＭＵ  Ｄ）１１Ｄは、マスタＩＰ３０のデスティネーションアクセス要請に応じてメモリ装置１１０内のデスティネーションセットにアクセスするために割り当てられる。第２ＭＭＵ１１Ｄは、デスティネーションアクセス要請及びメモリ装置１１０からリードされ、メモリ装置１１０にライトされるデスティネーションデータを送受信するデスティネーションチャネル（Ｄｅｓｔｉｎａｔｉｏｎ  ＣＨ）に連結される。デスティネーションチャネルは、マスタＩＰ３０とＭＭＵモジュール１０、ＭＭＵモジュール１０とメモリ装置１１０との間を連結する。
【００７１】
第２ＭＭＵ１１Ｄは、メモリ装置１１０からリードするデスティネーションセットの仮想アドレスＶＡを物理アドレスＰＡに変換し、マスタＩＰ３０による動作後のデスティネーションセットが、ライトされる物理アドレスＰＡを仮想アドレスＶＡに変換する。
【００７２】
メモリ装置１１０とＭＭＵモジュール１０との間のソースチャネルまたはデスティネーションチャネルには、第１バスインターコネクタ４２Ｂが更に含まれる。
【００７３】
マスタＩＰ３０とＭＭＵモジュール１０との間のソースチャネルまたはデスティネーションチャネルには、第２バスインターコネクタ４２Ａが更に含まれる。
【００７４】
第１バスインターコネクタ４２Ｂ及び第２バスインターコネクタ４２Ａは、作業セットによって第１ＭＭＵ１１Ｓまたは第２ＭＭＵ１１Ｄに動的に割り当てられる。例えば、第１バスインターコネクタ４２Ｂ及び第２バスインターコネクタ４２Ａは、マスタＩＰ３０またはメモリ装置１１０が処理する作業セットの仮想アドレスＶＡがソースセットであるかまたはデスティネーションセットであるかを確認し、当該セットに割り当てられたＭＭＵに当該要請及び当該データを送受信する。
【００７５】
一例として、第１バスインターコネクタ４２Ｂまたは第２バスインターコネクタ４２Ａは、処理する作業セットによってメモリ装置１１０内のメモリアクセス領域が異なるようにする。この場合、ソースセットとデスティネーションセットは、メモリ装置１１０内で独立したメモリ領域である。
【００７６】
第２バスインターコネクタ４２Ａは、マスタＩＰ３０が処理する作業セットがソースセットであれば、第１ＭＭＵ１１Ｓと連結する。一方、第２バスインターコネクタ４２Ａは、マスタＩＰ３０が処理する作業セットがデスティネーションセットであれば、第２ＭＭＵ１１Ｄと連結する。第１バスインターコネクタ４２Ｂも作業セットがソースセットであれば、第１ＭＭＵ１１Ｓに連結し、作業セットがデスティネーションセットであれば、第２ＭＭＵ１１Ｄに連結する。
【００７７】
他の一例として、第１バスインターコネクタ４２Ｂは、各ＭＭＵ１１Ｓまたは１１Ｄのアクセス別にメモリ装置１１０内のメモリアクセスタイミングを異ならせる。この場合、メモリ装置１１０内のソースセットとデスティネーションセットは、経時的に互いに独立してアクセスされる。
【００７８】
その結果、データブレンディング（Ｄａｔａ  ｂｌｅｎｄｉｎｇ）動作遂行時に、ＭＭＵモジュール１０の仮想アドレスに対応する物理アドレスの検索成功率を高め、ＳｏＣ１の処理速度を向上させることができる。また、作業セット別にＭＭＵモジュール１０を使うために、ＭＭＵを柔軟に運用することができる。
【００７９】
図６は、本発明のメモリ管理ユニットの更に他の実施形態による構造を説明する概念図であり、図７は、図６のメモリ管理ユニットの動作を説明する概念図である。
【００８０】
ＳｏＣ１は、マスタＩＰ３０、ＭＭＵモジュール１０、システムバス４５、メモリ装置１１０、及びアドレス分配器２０を含む。ＭＭＵモジュール１０は、ＭＭＵ（ＭＭＵ１〜ｎ）を含む。図６は、説明の便宜上、一部の構成のみ示したが、図２のように、ＳｏＣ１の他の構成要素を更に含む。
【００８１】
マスタＩＰ３０は、例えば、ＣＰＵ３、グラフィックエンジン、ディスプレイコントローラ８０などの作業セット単位でデータを処理するプロセッサである。マスタＩＰは、作業セット単位で動作し、同時に複数個の作業セットを処理する。作業セットとは、メモリ装置１１０に保存されるデータセットであって、マスタＩＰが、頻繁に（例えば、基準時間内に基準回数以上）アクセスしようとするページの集合、または１つのマスタＩＰからメモリ装置１１０に記憶することができるページの量を言う。この際、マスタＩＰで各作業セットは、他の作業セットと独立して運用される。システムバス４５は、第１バスインターコネクタ４３Ｂ、第２バスインターコネクタ４３Ａ、各ＭＭＵ、マスタＩＰ３０、及びメモリ装置１１０に連結されたチャネルを含み、マスタＩＰ３０とメモリ装置１１０との間の要請及びデータを伝送する。
【００８２】
アドレス分配器（Ａｄｄｒｅｓｓ  Ｄｉｓｔｒｉｂｕｔｏｒ）２０は、マスタＩＰ３０が複数の作業セットに対する動作を行う時、作業セット別に動的にＭＭＵを割り当てる。アドレス分配器２０は、複数の作業セットのそれぞれに対応するＭＭＵ割り当て情報を保存する。アドレス分配器２０は、マスタＩＰ３０から所定の作業セットに対する要請を受信すると、ＭＭＵ割り当て情報に基づいて、要請に含まれた仮想アドレスＶＡに対応する当該ＭＭＵのＩＤを第２バスインターコネクタ４３Ａに出力する。第２バスインターコネクタ４３Ａは、当該ＭＭＵのＩＤに対応するＭＭＵに記要請及びデータを伝送する。
【００８３】
アドレス分配器２０は、レジスタセット２１及びアドレス比較器２３を含む。レジスタセット２１は、複数の作業セットのそれぞれに対応するＭＭＵ割り当て情報を保存する。すなわち、各ＭＭＵのＩＤに、各作業セットが有する仮想アドレスをマッピングしたＭＭＵ割り当て情報を保存する。この際、ＭＭＵ割り当て情報は、各作業セット別に仮想アドレスを区分する各インジケーター情報を含む。インジケーター情報とは、例えば、何れか１つの作業セットに対して連続した仮想アドレスのスターティングポイント及び／またはエンディングポイントを言う。
【００８４】
アドレス比較器２３は、マスタＩＰ３０から受信した要請の仮想アドレスＶＡとＭＭＵ割り当て情報とを比較する。アドレス比較器２３は、比較の結果、受信した要請に対応するＭＭＵのＩＤを出力する。
【００８５】
より具体的に説明すると、図７に示すように、各作業セット（Ｗｏｒｋｉｎｇ  ｓｅｔ１〜ｎ）は、マスタＩＰ３０がメモリ装置１１０で頻繁に参照するページ、すなわち、複数の隣接した仮想アドレスを含む（例えば、ｗｏｒｋｉｎｇ  ｓｅｔ１は、ＶＡ０〜ＶＡ２を含む）。しかし、各作業セットは、マスタＩＰ３０の動作において、互いに独立して運用される。すなわち、１つの仮想アドレスは、２つ以上の作業セットに属しない。一例として、ＶＡ１からＶＡｎに至るまで各作業セットの仮想アドレスは、図７のように、連続して位置する。
【００８６】
各ＭＭＵは、マッピングされた作業セットの仮想アドレスＶＡを物理アドレスＰＡに変換する。アドレス変換は、ＭＭＵ内のＴＬＢによる。変換された物理アドレスＰＡは、実施形態に応じて、他のＭＭＵで変換された物理アドレスと異なることもあり、同一であることもある。
【００８７】
例えば、マスタＩＰ３０が処理しようとするデータの作業セットが、ＭＭＵ１にマッピングされた作業セットとする。第２バスインターコネクタ４３Ａは、アドレス分配器２０からＭＭＵ１のＩＤ（ＩＤ１）を受信して、マスタＩＰ３０の要請及びデータをＭＭＵ１に伝達する。ＭＭＵ１は、マスタＩＰ３０の要請に対する仮想アドレスＶＡを物理アドレスＰＡに変換し、第１バスインターコネクタ４３Ｂを通じてメモリ装置１１０にアドレス変換されたマスタＩＰ３０の要請及びデータを伝送する。第１バスインターコネクタ４３Ｂは、メモリ装置１１０の物理アドレスにアクセスして、データに対してマスタＩＰ３０の要請による動作を行うようにアクセスする。この際、要請は、リード、ライト、またはイレーズ（ｅｒａｓｅ）動作のうちの何れか１つである。
【００８８】
マスタＩＰ３０が、所定の作業セットに対する動作中に他の作業セットに対して動作しようとする場合、ＭＭＵモジュール１０内の処理中である作業セットに割り当てられていない残りのＭＭＵのうちの１つを割り当てて独立して運用する。
【００８９】
その結果、マスタＩＰ３０で運用されるあらゆる作業セットが、１つのＭＭＵを共有する場合よりもＴＬＢミス（ＴＬＢ  ｍｉｓｓ）を減らしうる。したがって、マスタＩＰが、データ処理動作遂行時に、データの仮想アドレスに対応する物理アドレスの検索成功率を高め、作業セット間の影響を最小化または減少させながら、ＳｏＣの動作速度を向上させることができる。また、作業セット別にＭＭＵを割り当てて使うために、ＭＭＵを柔軟に運用することができる。
【００９０】
図８は、図６の実施形態によるメモリアドレス変換方法を示すフローチャートであり、図９は、図６の実施形態によるメモリアドレス変換方法を示すフローチャートである。
【００９１】
一例として、図８でマスタＩＰ３０が、メモリ装置１１０に要請を送信する場合、各ＭＭＵで受信される要請に対する仮想アドレスは、連続的であると仮定する。すなわち、ＭＭＵ１で受信される仮想アドレスは、図７に示したように、１つの作業セットに対して連続した仮想アドレスであって、ＭＭＵ２で受信される仮想アドレスと別個の作業セットとして独立して位置する仮想アドレスである。
【００９２】
先ず、マスタＩＰ３０が、所定の作業セットに対する動作を行うための要請及び作業セットに対する仮想アドレスＶＡを出力する（ステップＳ１０）。第２バスインターコネクタ４３Ａは、要請及び仮想アドレスＶＡを受信すると、アドレス分配器２０に仮想アドレスＶＡを伝達する（ステップＳ２０）。
【００９３】
アドレス分配器２０は、受信した仮想アドレスＶＡをレジスタセット２１に保存されたインジケーター（ＶＡＤＤ）と比較する（ステップＳ３０、ステップＳ３１）。インジケーター（ＶＡＤＤ）は、各ＭＭＵに割り当てられた連続した仮想アドレスのうち、境界にある仮想アドレス（スターティングポイント及び／またはエンディングポイント）を意味する。一例として、ＭＭＵ１は、連続した仮想アドレスのうち、最初の仮想アドレスから第１インジケーターの前までの仮想アドレスを含む第１作業セットに割り当てられ、ＭＭＵ２は、前記第１インジケーターから第２インジケーターまでの仮想アドレスを含む第２作業セットに割り当てられるなどの連続した作業セットで、それぞれのＭＭＵが割り当てられる。
【００９４】
アドレス分配器２０は、受信した仮想アドレスＶＡが第１インジケーター仮想アドレス（ＶＡＤＤ１）よりも小さいか否かで、ＭＭＵ１に対する作業セットであるか、ＭＭＵ２に対する作業セットであるか否かを確認して（ステップＳ３０、ステップＳ３１）、仮想アドレスに対応するＭＭＵのＩＤを第２バスインターコネクタに伝達する。同様に、他のＭＭＵに対しても、インジケーターと要請で受信した仮想アドレスを比較して割り当てられるＭＭＵを確認する。
【００９５】
第２バスインターコネクタ４３Ａは、アドレス分配器２０から、マスタＩＰ３０から受信した要請に対応する当該ＭＭＵのＩＤを受信すると、要請及び仮想アドレスＶＡをＭＭＵのＩＤに対応するＭＭＵポートに伝達する（ステップＳ４１〜ステップＳ４３）。例えば、受信した仮想アドレスＶＡが、ＭＭＵ１に対するものであれば、第２バスインターコネクタ４３Ａは、仮想アドレスＶＡ及び要請をＭＭＵ１のポート（ｐｏｒｔ）に伝達する。
【００９６】
ＭＭＵは、受信した仮想アドレスＶＡを、ＴＬＢを通じて物理アドレスＰＡに変換する。そして、ＭＭＵは、第１バスインターコネクタ４３Ｂにアドレス変換された要請を伝達する（ステップＳ５１〜ステップＳ５３）。
【００９７】
第１バスインターコネクタ４３Ｂが、メモリ装置１１０にアドレス変換された要請を伝達すると（ステップＳ６０）、メモリ装置１１０は、物理アドレスに従って要請を処理する。
【００９８】
図９を参照すると、メモリ装置１１０が、マスタＩＰ３０に、要請によるデータ及び応答を出力すると（ステップＳ１１０）、データ及び応答を第１バスインターコネクタ４３Ｂに出力する（ステップＳ１２０）。
【００９９】
第１バスインターコネクタ４３Ｂは、応答に基づいて、データの物理アドレスが、どのＭＭＵのＩＤに割り当てられていたかを確認し（ステップＳ１３０、ステップＳ１３１）、該確認されたＭＭＵに応答及びデータを伝達する（ステップＳ１４１〜ステップＳ１４３）。メモリ装置１１０が伝達する応答は、要請を送ったＭＭＵ情報を含む。
【０１００】
例えば、マスタＩＰ３０の要請が、第１作業セットに対するものであって、ＭＭＵ１が割り当てられている場合、第１バスインターコネクタ４３Ｂは、応答に基づいてＭＭＵ１のＩＤを確認して、ＭＭＵ１のポートに応答及びデータを伝達する（ステップＳ１４１）。
【０１０１】
ＭＭＵは、応答及びデータを受信すると、第２バスインターコネクタ４３Ａを通じて応答及びデータをマスタＩＰ３０に伝達する（ステップＳ１５１〜ステップＳ１５３）。
【０１０２】
マスタＩＰ３０は、第２バスインターコネクタ４３Ａを通じて受信した応答及びデータを処理する（ステップＳ１６０）。
【０１０３】
図１０は、本発明の実施形態によって行われるイメージブレンディング過程を説明する概念図である。
【０１０４】
一実施形態として、マスタＩＰ３５が、２つのイメージをブレンディング（Ｂｌｅｎｄｉｎｇ）すると仮定する。より具体的には、モバイル機器でユーザの設定または所定の条件下で、第１画面から第２画面に切替えられる場合、切替えられる中間時点でユーザに表示されるオバーレイされたイメージは、第１画面と第２画面とをブレンディングしたイメージとなる。
【０１０５】
この場合、マスタＩＰ３５は、メモリ装置１１０からブレンディング対象となる２つのソースイメージをリードした後、ソースイメージをブレンディングして、メモリ装置１１０にブレンディングされた１つのイメージをライトしなければならない。すなわち、マスタＩＰ３５が行う複数の作業セットは、２回のソースセット（または、リード動作セット）、１回のデスティネーションセット（または、ライト動作セット）で構成される。
【０１０６】
図１０を参照すると、第１イメージ（円形）は、仮想アドレス（６）〜（９）に該当する第１ソースセットに保存されており、第２イメージ（四角形）は、仮想アドレス（１２）〜（１５）に該当する第２ソースセットに保存されている。
【０１０７】
マスタＩＰ３５は、第１ソースセットに対するリード動作、第２ソースセットに対するリード動作を行うために、ＭＭＵモジュール１０に第１リード要請及び第２リード要請を伝送する。ＭＭＵモジュールは、各リード要請に含まれた仮想アドレス（第１ソースセット、第２ソースセット）を確認して、第１ソースセットに対しては、第１ＭＭＵ、第２ソースセットに対しては、第２ＭＭＵを割り当てる。
【０１０８】
第１ＭＭＵは、第１リード要請に応じて第１ソースセットの仮想アドレスを物理アドレスに変換して、メモリ装置１１０にアクセスする。メモリ装置１１０は、第１ソースセットに保存されたデータ（円形）をリードして、第１リード要請に対する応答と共に第１ＭＭＵに出力する。第１ＭＭＵは、出力されたデータ及び応答をマスタＩＰ３５に伝送する。
【０１０９】
同様に、第２ＭＭＵは、第２リード要請に応じて第２ソースセットの仮想アドレスを物理アドレスに変換して、メモリ装置１１０にアクセスする。メモリ装置１１０は、第２ソースセットに保存されたデータ（四角形）をリードして、第２リード要請に対する応答と共に第２ＭＭＵに出力する。第２ＭＭＵは、出力されたデータ及び応答をマスタＩＰ３５に伝送する。
【０１１０】
第１ＭＭＵと第２ＭＭＵのそれぞれは、第１ソースセット、第２ソースセットのそれぞれに対して独立して運用される。この際、第１リード要請によるプロセスと第２リード要請に対するプロセスは、ＭＭＵがそれぞれ割り当てられるため、実施形態に応じて、同時に行われることもあり、所定の時間差を置いて行われることもある。
【０１１１】
マスタＩＰ３５は、第１ソースセットによるイメージ（円形）と第２ソースセットによるイメージ（四角形）とをブレンディングする。ブレンディング処理されたイメージ（円形と四角形との結合）を、メモリ装置１１０にライトするために、マスタＩＰ３５は、ＭＭＵモジュール１０にライト要請を伝送する。ブレンディングされたイメージは、デスティネーションセットにライトされるが、一例として、第２ソースセットとデスティネーションセットとの仮想アドレス領域が同一であると仮定する。
【０１１２】
ＭＭＵモジュールは、ライト要請に含まれた仮想アドレス（デスティネーションセット）を確認して、デスティネーションセットに１つのＭＭＵを割り当てる。この際、デスティネーションセットに割り当てられるＭＭＵは、実施形態に応じて、別途の第３ＭＭＵ、または現在動作中ではない第１ＭＭＵまたは第２ＭＭＵのうちの何れか１つが再び割り当てられる。
【０１１３】
以下、説明の便宜上、第３ＭＭＵが割り当てられた場合について説明する。第３ＭＭＵは、ライト要請に応じてデスティネーションセットの仮想アドレスを物理アドレスに変換して、ライト要請及びブレンディングされたデータによりメモリ装置１１０にアクセスする。メモリ装置１１０は、デスティネーションセットに該当するメモリ領域にアクセスして、ブレンディングされたイメージをライトする。メモリ装置１１０は、ライト要請に対する応答を第３ＭＭＵに出力する。第２ＭＭＵは、出力された応答をマスタＩＰ３５に伝送する。
【０１１４】
デスティネーションセットに対するライト動作遂行は、第１ソースセットまたは第２ソースセットに対するリード動作が先行されなければならないため、時間差を置いて独立して運用される。
【０１１５】
その結果、マスタＩＰが、データ処理動作遂行時に、データの仮想アドレスに対応する物理アドレスの検索成功率を高めることができる。また、作業セット別に別個のＭＭＵが動的に割り当てられて独立して運用されるため、作業セット間の影響を最小化しながら、ＳｏＣの動作速度を向上させ、ＭＭＵを柔軟に運用することができる。
【０１１６】
図１１は、図２に示したＳｏＣを含む電子装置の一実施形態を示す図である。
【０１１７】
図１１を参照すると、電子装置２００は、携帯電話、スマートフォン、タブレットＰＣ、ＰＤＡ、ＰＭＰ、または無線通信装置として具現可能である。
【０１１８】
電子装置２００は、データを保存するメモリ装置２１０を含む。メモリ装置２１０は、不揮発性メモリとメモリコントローラとを含む。メモリコントローラは、ＳｏＣ１の制御によって不揮発性メモリのデータアクセス動作、例えば、プログラム動作、イレーズ動作、またはリード動作を制御する。
【０１１９】
無線送受信器２２０は、アンテナ（ＡＮＴ）を通じて無線信号を送受信する。例えば、無線送受信器２２０は、アンテナ（ＡＮＴ）を通じて受信された無線信号をＳｏＣ１で処理される信号に変更する。
【０１２０】
したがって、ＳｏＣ１は、無線送受信器２２０から出力された信号を処理し、処理された信号をメモリ装置２１０またはディスプレイ２４０に伝送する。メモリコントローラは、ＳｏＣ１によって処理された信号を不揮発性メモリ装置にプログラムまたはライトする。
【０１２１】
また、無線送受信器２２０は、ＳｏＣ１から出力された信号を無線信号に変換し、変換された無線信号を、アンテナ（ＡＮＴ）を通じて外部装置に出力する。
【０１２２】
入力装置２３０は、ＳｏＣ１の動作を制御するための制御信号またはＳｏＣ１によって処理されるデータを入力する装置であって、タッチパッドとマウスのようなポインティング装置、キーパッド、またはキーボードとして具現可能である。
【０１２３】
ＳｏＣ１は、メモリ装置２１０から出力されたデータ、無線送受信器２２０から出力されたデータ、または入力装置２３０から出力されたデータが、ディスプレイ２４０を通じて表示されるように、ディスプレイ２４０の動作を制御する。
【０１２４】
実施形態に応じて、不揮発性メモリ装置の動作を制御するメモリコントローラは、ＳｏＣ１の一部として具現され、また、ＳｏＣ１と別途のチップとして具現可能である。
【０１２５】
図１２は、図２に示したＳｏＣを含む電子装置の更に他の実施形態を示す図である。
【０１２６】
図１２に示した電子装置３００は、イメージ処理装置、例えば、デジタルカメラ、デジタルカメラ付き携帯電話、デジタルカメラ付きスマートフォン、またはデジタルカメラ付きタブレットＰＣとして具現可能である。
【０１２７】
電子装置３００は、メモリ装置３２０を含む。メモリ装置３２０は、不揮発性メモリ、及び不揮発性メモリのデータ処理動作、例えば、プログラム動作、イレーズ動作、またはリード動作を制御するメモリコントローラを含む。
【０１２８】
電子装置３００のイメージセンサー３１０は、光学イメージをデジタルイメージに変換し、変換されたデジタルイメージは、ＳｏＣ１またはメモリ装置３２０に伝送される。ＳｏＣ１の制御によって、変換されたデジタルイメージは、ディスプレイ３３０を通じて表示されるか、またはメモリ装置３２０に保存される。
【０１２９】
また、メモリ装置３２０に保存されたデータは、ＳｏＣ１またはメモリコントローラの制御によってディスプレイ３３０を通じて表示される。
【０１３０】
実施形態に応じて、不揮発性メモリの動作を制御するメモリコントローラは、ＳｏＣ１の一部として具現され、また、ＳｏＣ１と別個のチップとして具現可能である。
【０１３１】
以上、本発明の実施形態について図面を参照しながら詳細に説明したが、本発明は、上述の実施形態に限定されるものではなく、本発明の技術的範囲から逸脱しない範囲内で多様に変更実施することが可能である。
【産業上の利用可能性】
【０１３２】
本発明は、メモリ管理ユニットを含むシステム・オン・チップ、及びそのメモリアドレス変換方法関連の技術分野に適用可能である。
【符号の説明】
【０１３３】
１    ＳｏＣ
３    ＣＰＵ
５    キャッシュ
１０    ＭＭＵモジュール
１０Ｒ、１１Ｓ    第１ＭＭＵ
１０Ｗ、１１Ｄ    第２ＭＭＵ
１２    ＴＬＢ
２０    アドレス分配器
２１    レジスタセット
２３    アドレス比較器
３０、３５    マスタＩＰ
４０、４５    システムバス
４１、４２Ａ、４２Ｂ、４３Ａ、４３Ｂ    （第２、第１）バスインターコネクタ
５０    システム周辺ユニット
６０    マルチメディア加速ユニット
７０    接続ユニット
８０    ディスプレイコントローラ
９０    メモリインターフェースユニット
１００、２００、３００    電子装置
１１０、２１０、３２０    メモリ装置
１１５    ページテーブル
１１７    データ／命令保存部
１２０、２３０    入力装置
１３０、２４０、３３０    ディスプレイ
２２０    無線送受信器
３１０    イメージセンサー
【図１】
2014132467.tif 000003
【図２】
2014132467.tif 000004
【図３】
2014132467.tif 000005
【図４】
2014132467.tif 000006
【図５】
2014132467.tif 000007
【図６】
2014132467.tif 000008
【図７】
2014132467.tif 000009
【図８】
2014132467.tif 000010
【図９】
2014132467.tif 000011
【図１０】
2014132467.tif 000012
【図１１】
2014132467.tif 000013
【図１２】
2014132467.tif 000014