JP5335041B2 - メディアメモリシステム - Google Patents

メディアメモリシステム Download PDF

Info

Publication number
JP5335041B2
JP5335041B2 JP2011165519A JP2011165519A JP5335041B2 JP 5335041 B2 JP5335041 B2 JP 5335041B2 JP 2011165519 A JP2011165519 A JP 2011165519A JP 2011165519 A JP2011165519 A JP 2011165519A JP 5335041 B2 JP5335041 B2 JP 5335041B2
Authority
JP
Japan
Prior art keywords
processor
primary
memory
address translation
secondary processor
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
JP2011165519A
Other languages
English (en)
Other versions
JP2011253551A (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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of JP2011253551A publication Critical patent/JP2011253551A/ja
Application granted granted Critical
Publication of JP5335041B2 publication Critical patent/JP5335041B2/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
    • 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/1072Decentralised address translation, e.g. in distributed shared memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures

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)
  • Multi Processors (AREA)
  • Memory System (AREA)
  • Storage Device Security (AREA)

Description

請求項に記載の発明の実施例は一般にはメディア情報の通信に関し、詳しくは多重メディアプロセッサのためのメモリアクセスに関する。
メディア利用可能PCシステムには、ホストCPUおよびメディアプロセッサの両方に対して高速メモリシステムが要求される。CPUおよびメディアプロセッサは、使用済みのデータおよびアドレス変換をキャッシュすることが頻繁にある。メディア処理の所定部分は、ライブビデオおよびオーディオに関連する厳しいフレームタイミング制約を受けやすく、別々に格納されたアドレス変換の必要性が提案されている。具体的には、CPUおよびメディアプロセッサは、メディア処理のうちそれらの異なる部分を実行することおよび様々なメディア処理ユニットによってそれ自体とCPUとを急速に同期することを目的として、共有メモリシステムに迅速にアクセスするのが好ましい。
添付の図面は、本明細書に組み込まれてその一部をなし、本発明の原理に整合する1つ以上の実施例を示し、明細書の記載とともにかかる実施例を説明する。図面は必ずしも一定の比率どおりではなく、その代わりに本発明の原理を示すことが強調される。
以下の詳細な説明は添付の図面を参照する。同じ参照番号は、同じまたは類似する要素を特定するために異なる図面において使用される。以下の記載においては、限定ではなく説明を目的として、特定の構造、アーキテクチャ、インターフェイス、技法等のように特定の詳細が記載され、請求項に記載の発明の様々な側面の完全な理解を与える。しかし、本開示の利益を有する当業者にとっては、請求項に記載の発明の様々な側面が、こうした特定の詳細から逸脱する他の実施例で実施され得ることは明白だろう。所定の例においては、不要な詳細によって本発明の記載を不明瞭にすることのないように、周知の装置、回路および方法の記載は省略される。
図1はシステムの例を示す。システム100は、プロセッサ102を含む。プロセッサ102は、1つの実施例においては親プロセッサである(説明上の理由から「親」プロセッサとも称する)。システム100はまた、1つ以上の付加的プロセッサ104を含む。付加的プロセッサ104は、1つの実施例においては「メディア」プロセッサと称する(説明上の理由から「付加的」プロセッサとも称する)。実施例は、特定のタイプのプロセッサに関する使用に制限されない。むしろ、実施例は、一般的に理解されているプロセッサおよびメモリの構造および信号に関連して説明される。プロセッサ102および104は、汎用または特定用途向けの処理装置および/またはロジックを含む。プロセッサ102および104は、メディア情報を処理するように構成される。しかし、具体的な実施例は、インテルコーポレーションによって市販されるペンティアム(登録商標)マイクロプロセッサおよび関連するチップセットにおいて現在使用されている構造を含む。しかし、本発明は、ペンティアム(登録商標)プロセッサにおいて使用される下記の構造および信号に関する使用に限定されない。
いくつかの実施例においては、付加的プロセッサ104はメディア情報(および可能であればその他の通信関連情報)を処理する。説明の目的のため、送信されるメディア情報はビデオおよび/または音声情報を含んでよいが、請求項に記載の発明はこの点に限られない。システム100は、本明細書の記載に整合する他のタイプのメディア情報を受け取り、処理してもよい。プロセッサによって処理されるメディア情報は、MPEG−I、MPEG−2、MPEG−4、H.264、ウィンドウズメディアビデオバージョン9(WMV9)、JPEG2000およびアドバンストビデオシステム(AVS)フォーマットのようなフォーマットでエンコードされたビデオ情報を含む。請求項に記載の発明は、本明細書に具体的に記載されるフォーマットに限定されず、現在知られているまたは将来開発されるメディアフォーマットが本明細書に開示されるスキームに応じて使用されてよい。メディア情報は、電話または他のオーディオ情報のような他の情報を、さらにまたは代わりに含んでよい。
汎用マイクロプロセッサのほとんどは、仮想またはデマンドページングのメモリスキームを利用する。ここで、プログラムの実行環境の部分は必要に応じて物理メモリにマッピングされる。仮想メモリスキームは、マイクロプロセッサのリニアアドレス空間よりもはるかにサイズが小さい物理メモリの使用を可能にし、かつ、同じ物理メモリを共有する多重タスク(プログラム)が互いに悪影響を及ぼし合わないようにするためのメモリ保護メカニズムを与える。親プロセッサ102は、チップセット108を介してメモリ106と通信する。チップセット108はまた、メディアプロセッサ104および様々なI/O装置110に接続する周辺コンポーネントバスのような他のバスへのブリッジとして機能する。
現代のコンピュータシステムのほとんどに関しては、マイクロプロセッサはリニアアドレスを使用するロケーションを参照するが、オブジェクトは、アドレスバス上の物理アドレスを与えることによって特定のメモリロケーションから取り出される。リニアアドレスは物理アドレスと同じであってよく、この場合はアドレス変換は不要である。しかし、仮想メモリスキームが使用されるのが通常であり、この場合はリニアアドレスは物理アドレスに変換される。この場合、リニアアドレスは仮想アドレスと称してもよい。リニアアドレス空間がマイクロプロセッサによって生成されるすべてのリニアアドレスのセットである一方で、物理アドレス空間はすべての物理アドレスのセットである。
仮想またはデマンドページングのメモリシステムは、リニア(仮想)アドレス空間と物理アドレス空間との間のマッピングとして示される。仮想メモリシステムにおいては、リニアおよび物理アドレス空間は、連続アドレスのブロックに分割され、それらが一定のサイズである場合またはいくつかの固定サイズのいずれかである場合、慣用的にページと称される。典型的なページのサイズは、例えば4Kバイトである。システム100の実施例は、共有メモリ106にアクセスする親プロセッサ102および複数の付加的プロセッサ104によって生成されたメモリ参照を含むが、請求項に記載の発明はこの点に限られない。
図2は、メディアメモリプロセスの実施例を示す。具体的には、プロセッサ202、付加的プロセッサ204、メモリ206およびアドレス変換の関係の例が示される。付加的プロセッサ204は、メモリ206を親プロセッサ202と共有する。例えば、1つの実施例において、メディアプロセッサの形態の親プロセッサ202および付加的プロセッサ204は、メディアフレームタイミング要求がそれほど厳しくない状況において、アドレス変換システムを共有する。親プロセッサ202は、CR3のような制御レジスタ206を含む多数のレジスタが中に設けられた制御ユニット(図示せず)を含む。制御レジスタ208は、ページディレクトリが配置されたアドレスを含む。本発明の実施例は、制御レジスタ208の内容を管理するために、同じ共有データ構造およびいくつかの同じ動作手順を保持する。同時に、データ構造の複製が付加的プロセッサ204に与えられる。
多重メディアプロセッサ204のための同時メモリアクセスは、各々が1つのメディアアプリケーションに対してプライベートな別々の変換テーブルハードウェアを介して与えられる。親プロセッサアドレス変換はメディアプロセッサの変換に一致するので、親プロセッサ202は、メモリポインタを変更なしに交換する。以下に詳細に説明するように、これを行う1つの方法は、所定メディアアプリケーションに対する親プロセッサのページディレクトリをメディアプロセッサのページディレクトリにコピーすることである。これは、そのメディアアプリケーションが、親プロセッサ202およびメディアプロセッサ204上で実行されているメディアアプリケーションと共有されるメモリを割り当てる場合に行われる。
メインメモリ214または親プロセッサもしくはメディアプロセッサのデータキャッシュ(図示せず)のいずれかのデータは、ディスクにスワップされずに保持される。データをメインメモリ214に保持することは、メディアアプリケーションから見える最大アクセスレイテンシを制限する。これにより、メディアタイミング信号がメディアアプリケーションを直接的にゲート制御することが可能になる。親プロセッサ202およびメディアプロセッサ204からのデータは、従来的な構成におけるのと同様に、ディスクへのスワップが要求されることなく同時にキャッシュ可能である。
同時メモリアクセスによって、メディアアプリケーションの順方向への進行は、ディスプレイシステムの垂直帰線信号、または入ってくるTVストリームにより生成される同期信号のような所定のメディアタイミング信号によって、これらのタイミングサービスのための親プロセッサのオペレーティングシステムに依存することなく直接的にゲート制御される。これによって、コストを下げるビデオバッファリング低減のためのまたはメディア処理レイテンシ低減のための「コマ落ちビデオフレーム」に対する堅牢性の向上も可能になる。このことは、選択された対話型アプリケーションにとっても単純な設計にとっても重要である。メディアプロセッサ204がプリエンプティブなスケジューリングハードウェアを必要としないからである。同時メモリアクセスは、親プロセッサ202上で親アプリケーションが実行されている場合にのみメディアプロセッサ204がメディアアプリケーションを実行しなければならないときに生じ得るスワップオーバヘッドをなくすこともできる。
各メディアメモリトランザクションの、その物理メモリ領域へのアクセスは制限され、1つのアプリケーションの誤動作が別のアプリケーションに属するデータを破損することが防止される。アプリケーションが境界外アドレスを生成することがあると、変換システムはアドレス指定エラーの信号を発生する。これは、メディアプロセッサのメモリアドレス変換ユニットにおいて実行される。ここで、メディアプロセスIDはそのプロセスに対する所定のアドレス変換を選択する。
図1および図2におけるシステム100および200は、個別のコンポーネントを含むが、これらのコンポーネントはハードウェア、ソフトウェア/ファームウェアまたはそれらの所定の組み合わせで実装される。ハードウェアに実装される場合、システム100および200のいくつかのコンポーネントは所定のチップまたは装置で組み合わせられる。
図2に示すマッピングは、ディレクトリテーブルおよびページテーブルを含む、一般的な2レベル階層マッピングを示す。ページディレクトリテーブルおよびページテーブルは物理メモリに格納され、それらはページ当たりのサイズが互いに等しいのが通常である。
ページディレクトリテーブルエントリ(PDE)は物理メモリ内の1つ以上のページテーブルに向けられ、ページテーブルエントリ(PTE)は物理メモリ内の1つのページに向けられる。親プロセッサ202と付加的プロセッサ204とはメインメモリ206を共有する。マッピングの第1レベルにおいて、制御レジスタ208は1つのページディレクトリに向けられる。制御レジスタ208はページディレクトリメモリ210を選択する。マッピングの第2レベルにおいて、ページディレクトリ210のエントリは複数のページテーブル212に向けられる。これらのページのエントリは、ユーザデータが存在する実際のメモリページ214に向けられる。
いくつかのマイクロプロセッサは、リニアアドレスを物理アドレスに変換するためにいくつかのモードを使用する。1つのモードにおいて、リニアアドレスの最初の12ビットはページフレーム内の物理アドレスへのオフセットとして使用され、リニアアドレスの次の10ビットはページテーブル内へのオフセットとして使用され、リニアアドレスの最も高い10ビットはページディレクトリ内へのオフセットとして使用される。当業者であれば、32ビットのリニアアドレスを変換するための他のモードも同様に使用できること、および本実施例がいずれかの特定のモードまたは32ビットのリニアアドレスに限定されないことがわかるだろう。
本発明の実施例は、アドレス変換を行うメモリシステムに関連する。制御レジスタ212の内容を管理するために、同じまたは類似のデータ構造および動作手順は、親プロセス202がスワップアウトされている場合でも維持される。具体的には、1つの実施例において、付加的プロセス204に対してデータ構造の複製が与えられる。データ構造は、ページディレクトリ208、ページテーブル210およびページフレーム206を含む。これらのページのエントリは、ユーザデータが存在する実際のメモリページ214に向けられる。ページテーブル212の内容は、メインメモリ206のような任意の所定メモリコンポーネントに格納される。ページテーブルディレクトリ210およびページテーブル210は、メインメモリ206に格納されて本明細書に記載のようにアクセスされる。
これにより、典型的な実施例においては、メディアプロセッサのような付加的プロセッサ204が、親プロセス202がスワップアウトされた後にメモリ206にアクセスすることが可能となる。従来的には、親プロセス202がスワップアウトされると、そのアドレスマッピングもスワップアウトされて、そのメモリはもはやアクセス不能となる。例えば、ビデオエンコードストリームの実行中は、メディアプロセッサ204は別のプログラムも同様に実行することができる。親プロセッサ202がスワップアウトされると、アドレス空間は、親プロセッサ202およびメディアプロセッサ204の両方に対してアクセス不能となる。本実施例によって、親プロセス202がスワップアウトされても、リアルタイムのメディア処理デッドラインを満たし続けることができるメディアプロセッサアドレスマッピングが与えられる。
共有メモリは個別の処理エンジンに設けられる。メディアプロセッサ204は、親プロセッサ202上で実行されているアプリケーションがスワップアウトされている間でも中断されることがない。例えば、親プロセッサ202上で実行されているアプリケーションがスワップアウトされても、オペレーティングシステムは親プロセッサ202上の他のなにかを実行することができる。具体的には、ウィンドウズオペレーティングシステム上のタイマベースのアプリケーションが実行されるようにスケジュールされた。別の例では、親プロセッサ202上で実行されているアプリケーションは、ユーザがデスクトップのフォーカスを変更したことを理由にスワップアウトされることがある。ビデオエンコードまたはデコードのような所定のメディアアプリケーションは、親プロセッサ202上のアプリケーションがスワップアウトされなければならない場合であっても、ビデオフレームの終わりまで中断されずに実行されるのが好ましい。
図2に示すように、ページテーブルはコピーオペレーション216でセットアップされる。親アプリケーションがスワップアウトされた前に使用中であったページディレクトリ210はそのまま残る。次に、親プロセッサコンテキストで動作する親プロセッサ202は、使用中のメディアプロセッサ204のためにアドレス変換データを複製する命令を与える。例えば、メディアプロセッサ204は、チューナから情報を持ち込み、処理しおよびテレビジョンまたはコンピュータモニタ上でプレイバックするようなビデオアプリケーションを実行する。この際、フロッピ(登録商標)ディスクをフォーマットすることのような他の所定のオペレーションが親プロセッサ202によって実行される必要があってもよい。従来的には、オペレーティングシステムはメディアプロセッサ204に割り込み、メインプロセッサ202がフロッピ(登録商標)ディスクアプリケーションを実行することができる。具体的には、オペレーティングシステムはアプリケーションを中断し、異なるページテーブルアドレス(または異なるページテーブルのセット)によって制御レジスタ208をリロードする。付加的プロセッサ204上で実行されているアプリケーションは、オペレーティングシステムがオリジナルプロセスを実行再開するまで中断される。
本実施例において、メディアプロセッサコンテキストでのページマッピングは、制御レジスタ208の内容を変更することによって邪魔されることがない。(コピーオペレーション216の際にコピーされた)ページテーブル212のトップセットが無効であっても、メディアプロセッサ0−n204は、アクセス可能な物理メモリ214にいまだ向けられる有効なページディレクトリ218および有効なページテーブル220を有するので、処理を継続する。
親プロセッサ202に関連するページディレクトリ210およびページテーブル212は再び有効化される。オペレーティングシステムが制御レジスタ208の以前の内容をリストアした場合、プロセスは完了する。そうでない場合は、ページテーブル212および 220の2つのセットに新たな情報がロードされる。
図3は、親プロセッサが中断された場合に親プロセッサとメモリを共有する付加的プロセッサによって、情報の処理が中断されないメディアメモリシステムを与えるプロセス300を示すフローチャートである。親プロセッサ上で実行されるアプリケーションは、付加的プロセッサ上で実行されるアプリケーションを妨げることなく一時停止することができる。プロセス300は説明の便宜上図2に示すシステム200に関連して記載されるが、請求項に記載の発明はこの点に限定されない。
親プロセッサ202およびメディアプロセッサ204は、共有メモリ214を使用して並列するオペレーションを同時に実行する(アクト302)。
次に、新たなタスクが親プロセッサ202上で実行寸前か否かが決定される(アクト304)。例えば、親プロセッサ202がそのタイムスロットの終わりまで動作するかまたはその代わりに別の高優先順位のものが動作する必要がある場合に新たなタスクが検知される。
アクト304が親プロセッサ202上で実行寸前の新たなタスクを検知しない場合は、処理は継続する(アクト302)。アクト304が親プロセッサ202上で実行寸前の新たなタスクを検知した場合、オペレーティングシステムは、親プロセッサ202上で現在実行中のことを中断してそのメモリアドレスコンテキストを保存する命令を与える(アクト306)。
オペレーティングシステムは、開始寸前のスケジュールタスクに関連する新たなコンテキストを制御レジスタ208にリロードする(アクト308)。
新たなタスクに移行する前に、親プロセッサ202は、ページディレクトリ210およびページテーブル212をコピーする命令をメディアプロセッサ104に与える(アクト310)。複製のページディレクトリ218およびページテーブル220は、コピーオペレーションにおいてセットアップされる(アクト312)。具体的には、ページディレクトリ210およびページテーブル212はメディアプロセッサ204に対してコピーされる。
実行寸前であった命令が既知となり、実行がその最後のアドレスおよび命令から開始される。オペレーティングシステムは、最後のアドレスおよび命令までジャンプして実行を開始する(アクト312)。
親プロセッサ202および付加的プロセッサ(メディアプロセッサコンテキストにおける)204は同時に動作する(アクト314)。
プロセッサには、例えば、従来的なプロセッサ202、および付加的プロセッサ204に対応する所定数の小さなプロセッサコアが実装される。トップコンテキストは、1つのIA32プロセッサ(または1つまたは複数のハイパースレッドプロセッサ)に対応する。CPUおよびメディアプロセッサは、使用済みデータおよびアドレス変換をキャッシュすることが頻繁にある。メディア処理の所定部分は、ライブビデオおよびオーディオに関連するタイミング制約を受けやすく、別々に格納されたアドレス変換の必要性が提案されている。
いくつかの実施例が説明されたが、請求項に記載の発明は、明示的に記載されたものに限定するべきではなく、情報を処理、送信、出力または格納することができる1つ以上のプロセッサを含む任意の装置またはインターフェイスを包含するべきである。
例えば、プロセス300は、プロセッサ202および204またはローカルシステム200の別の部分によって実行されるソフトウェアに実装される。
本発明の原理に整合する1つ以上の実施例の上記記載によって図示および説明が与えられるが、網羅的であることも、本発明の範囲を開示された正確な形態まで限定することも意図していない。修正例および変形例は、上記教示に鑑みて可能であり、本発明の様々な実施例を行うことによって得ることができる。
本願の記載で使用された要素、アクトまたは命令のいずれも、明示的に記載されない限りは本発明にとって決定的または本質的として解釈してはならない。また、本明細書で使用される限り、冠詞「a」は1つ以上のものを含むことを意図する。請求項に記載の発明の上記実施例に対しては、本発明の要旨および原理から実質的に逸脱することなく変形例および修正例が可能である。本明細書においては、かかるすべての修正例および変形例は、本開示の範囲内に含まれ、以下の請求項によって保護されることを意図する。
システムの例を示す。 メディアメモリプロセスの実施例を示す。 メディアメモリシステムを与えるプロセスの例を示すフローチャートである。

Claims (19)

  1. 1次プロセッサによるプロセスがスワップアウトする前に、前記1次プロセッサが1次プロセッサアドレス変換を少なくとも1つの2次プロセッサアドレス変換に整合させることと、
    前記1次プロセッサによるプロセスがスワップアウトする間、2次プロセッサに前記2次プロセッサアドレス変換を維持させること、
    少なくとも1つの2次プロセッサに別々の変換テーブル情報によって共有メモリへの同時アクセスをさせることと、
    前記共有メモリによって前記1次プロセッサおよび少なくとも1つの2次プロセッサ間でリアルタイムのデータを交換することと
    を含む方法。
  2. 前記1次プロセッサが前記1次プロセッサアドレス変換を少なくとも1つの2次プロセッサアドレス変換に整合させることは前記1次プロセッサおよび2次プロセッサ上で実行される所与のアプリケーションによって共有されるべきメモリを割り当てる場合に、前記1次プロセッサが、前記アプリケーションに対するページディレクトリを、前記2次プロセッサのページディレクトリにコピーすることを含む、請求項1に記載の方法。
  3. 前記2次プロセッサが、各メモリトランザクションが前記共有メモリにおけるアプリケーション境界外の物理メモリ領域へアクセスすることを制限することをさらに含む、請求項1又は2に記載の方法。
  4. 前記2次プロセッサが、各メモリトランザクションが前記共有メモリにおけるアプリケーション境界外の物理メモリ領域へアクセスすることを制限することは、前記1次プロセッサ及び前記2次プロセッサが、アプリケーションが境界外アドレスを生成することに応じてアドレス指定エラーの信号を発生することを含む、請求項2に記載の方法。
  5. 前記1次プロセッサ及び前記2次プロセッサが、1次プロセッサまたは2次プロセッサに関連する共有メモリまたはキャッシュのいずれかにデータを保持することを含む、請求項1から4のいずれか1項に記載の方法。
  6. 前記少なくとも1つの2次プロセッサは少なくとも1つのメディアプロセッサを含む、請求項1から5のいずれか1項に記載の方法。
  7. 前記2次プロセッサが、少なくとも1つのメディアプロセッサ上でメディアプロセスのリアルタイム部分を実行することをさらに含む、請求項6に記載の方法。
  8. 前記2次プロセッサが、リアルタイムメディアデータを含むべく使用されるメモリを割り当ておよび割り当て解除することをさらに含む、請求項1から7のいずれか1項に記載の方法。
  9. オペレーティングシステムに起因する遅延なしに、少なくとも1つの2次プロセッサ、外部から供給されるタイミング信号に同期ることをさらに含む、請求項1から8のいずれか1項に記載の方法。
  10. 実行されると機械に対して、
    第1プロセッサによるプロセスがスワップアウトする前に、前記第1プロセッサが第1プロセッサアドレス変換を少なくとも1つの第2プロセッサアドレス変換に整合させることと、
    前記第1プロセッサによるプロセスがスワップアウトする間、第2プロセッサに前記第2プロセッサアドレス変換を維持させること、
    少なくとも1つの第2プロセッサに、専用変換テーブル情報によって、共有メモリへのアクセスを可能にすることと、
    前記共有メモリによって前記第1プロセッサおよび少なくとも1つの第2プロセッサ間でデータを共有することとを生じさせる命令を含む機械アクセス可能媒体。
  11. 前記第1プロセッサが第1プロセッサアドレス変換を少なくとも1つの第2プロセッサアドレス変換に整合させる命令は、実行されると機械に対して、所与のアプリケーションが前記第1および第2プロセッサ上で実行される前記アプリケーションによって共有されるべきメモリを割り当てる場合に、前記第1プロセッサが前記アプリケーションに対するページディレクトリを、前記第2プロセッサのページディレクトリにコピーすることを生じさせる命令をさらに含む、請求項10に記載の機械アクセス可能媒体。
  12. メモリと、
    1次プロセッサによるプロセスがスワップアウトする前に、前記1次プロセッサが1次プロセッサアドレス変換を少なくとも1つの2次プロセッサアドレス変換に整合させ、前記1次プロセッサによるプロセスがスワップアウトする間2次プロセッサに前記2次プロセッサアドレス変換を維持させ、少なくとも1つの2次プロセッサに別々の変換テーブル情報によって共有メモリへの同時アクセスを与え、ならびに前記共有メモリによって前記1次プロセッサおよび少なくとも1つの2次プロセッサ間でリアルタイムのデータを交換するコントローラと
    を含むシステム。
  13. 前記コントローラは、所与のアプリケーションが前記1次および2次プロセッサ上で実行される前記アプリケーションによって共有されるべきメモリを割り当てる場合に、前記アプリケーションに対するページディレクトリを、前記2次プロセッサのページディレクトリにコピーする、請求項12に記載のシステム。
  14. 1次プロセッサまたは2次プロセッサに関連する共有メモリまたはキャッシュのいずれかにデータが保持される、請求項12又は13に記載のシステム。
  15. 前記コントローラは、リアルタイムメディアデータを含むべく使用されるメモリを割り当ておよび割り当て解除する、請求項12から14のいずれか1項に記載のシステム。
  16. 前記コントローラが、オペレーティングシステムに起因する遅延なしに、少なくとも1つの2次プロセッサを、外部から供給されるタイミング信号に同期させることをさらに含む、請求項12から15のいずれか1項に記載のシステム。
  17. 1次プロセッサによるプロセスがスワップアウトする前に前記1次プロセッサが1次プロセッサアドレス変換を少なくとも1つの2次プロセッサアドレス変換に整合させ、前記1次プロセッサによるプロセスがスワップアウトする間、2次プロセッサに前記2次プロセッサアドレス変換を維持させ、少なくとも1つの2次プロセッサに別々の変換テーブル情報によって共有メモリへの同時アクセスを与え、ならびに前記共有メモリによって前記1次プロセッサおよび少なくとも1つの2次プロセッサ間でリアルタイムのデータを交換するアドレス変換器を含む装置。
  18. 前記アドレス変換器は、所与のアプリケーションに対するページディレクトリを、前記アプリケーションが前記1次および2次プロセッサ上で実行される前記アプリケーションによって共有されるべきメモリを割り当てる場合に2次プロセッサのページディレクトリにコピーする、請求項17に記載の装置。
  19. 前記アドレス変換器は、1次プロセッサまたは2次プロセッサに関連する共有メモリまたはキャッシュのいずれかにデータが保持されるように指示する、請求項17又は18に記載の装置。
JP2011165519A 2004-12-22 2011-07-28 メディアメモリシステム Expired - Fee Related JP5335041B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/022,503 US7490215B2 (en) 2004-12-22 2004-12-22 Media memory system and method for providing concurrent memory access to a plurality of processors through separate translation table information
US11/022,503 2004-12-22

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2007548420A Division JP4996479B2 (ja) 2004-12-22 2005-12-20 メディアメモリシステム

Publications (2)

Publication Number Publication Date
JP2011253551A JP2011253551A (ja) 2011-12-15
JP5335041B2 true JP5335041B2 (ja) 2013-11-06

Family

ID=36274494

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2007548420A Expired - Fee Related JP4996479B2 (ja) 2004-12-22 2005-12-20 メディアメモリシステム
JP2011165519A Expired - Fee Related JP5335041B2 (ja) 2004-12-22 2011-07-28 メディアメモリシステム

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2007548420A Expired - Fee Related JP4996479B2 (ja) 2004-12-22 2005-12-20 メディアメモリシステム

Country Status (7)

Country Link
US (1) US7490215B2 (ja)
EP (1) EP1839157B1 (ja)
JP (2) JP4996479B2 (ja)
KR (2) KR101202154B1 (ja)
CN (1) CN101088077B (ja)
TW (1) TWI308693B (ja)
WO (1) WO2006069130A2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7490215B2 (en) * 2004-12-22 2009-02-10 Intel Corporation Media memory system and method for providing concurrent memory access to a plurality of processors through separate translation table information
US8667249B2 (en) 2004-12-22 2014-03-04 Intel Corporation Systems and methods exchanging data between processors through concurrent shared memory
US20080109607A1 (en) * 2006-11-02 2008-05-08 International Business Machines Corporation Method, system and article for managing memory
US7890472B2 (en) 2007-09-18 2011-02-15 Microsoft Corporation Parallel nested transactions in transactional memory
US20090182977A1 (en) * 2008-01-16 2009-07-16 S. Aqua Semiconductor Llc Cascaded memory arrangement
US8669990B2 (en) * 2009-12-31 2014-03-11 Intel Corporation Sharing resources between a CPU and GPU
US9104690B2 (en) 2011-01-27 2015-08-11 Micron Technology, Inc. Transactional memory
US8683175B2 (en) * 2011-03-15 2014-03-25 International Business Machines Corporation Seamless interface for multi-threaded core accelerators
US9378572B2 (en) * 2012-08-17 2016-06-28 Intel Corporation Shared virtual memory
US9373182B2 (en) * 2012-08-17 2016-06-21 Intel Corporation Memory sharing via a unified memory architecture
US9170954B2 (en) * 2012-12-10 2015-10-27 International Business Machines Corporation Translation management instructions for updating address translation data structures in remote processing nodes

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4270167A (en) * 1978-06-30 1981-05-26 Intel Corporation Apparatus and method for cooperative and concurrent coprocessing of digital information
JPS63197255A (ja) * 1987-02-12 1988-08-16 Matsushita Electric Ind Co Ltd アドレス変換装置
JP2586112B2 (ja) * 1988-07-13 1997-02-26 富士通株式会社 アドレス変換テーブルのアクセス制御方式
JPH0458347A (ja) * 1990-06-27 1992-02-25 Nec Corp 共有アドレス空間管理方式
US5727179A (en) * 1991-11-27 1998-03-10 Canon Kabushiki Kaisha Memory access method using intermediate addresses
JP2974526B2 (ja) * 1992-12-18 1999-11-10 富士通株式会社 データ転送処理方法及びデータ転送処理装置
JPH0822418A (ja) * 1994-07-07 1996-01-23 Mitsubishi Electric Corp 仮想アドレス空間管理装置
US5742840A (en) * 1995-08-16 1998-04-21 Microunity Systems Engineering, Inc. General purpose, multiple precision parallel operation, programmable media processor
JP3557026B2 (ja) * 1996-01-12 2004-08-25 株式会社東芝 仮想記憶管理方法
US6049853A (en) * 1997-08-29 2000-04-11 Sequent Computer Systems, Inc. Data replication across nodes of a multiprocessor computer system
US6658477B1 (en) * 1999-05-12 2003-12-02 Microsoft Corporation Improving the control of streaming data through multiple processing modules
US6286092B1 (en) * 1999-05-12 2001-09-04 Ati International Srl Paged based memory address translation table update method and apparatus
US6684305B1 (en) 2001-04-24 2004-01-27 Advanced Micro Devices, Inc. Multiprocessor system implementing virtual memory using a shared memory, and a page replacement method for maintaining paged memory coherence
US6891543B2 (en) * 2002-05-08 2005-05-10 Intel Corporation Method and system for optimally sharing memory between a host processor and graphics processor
JP2004206424A (ja) * 2002-12-25 2004-07-22 Hitachi Ltd データ処理装置及びデータ処理装置におけるデータ転送方法
JP3828553B2 (ja) * 2004-04-21 2006-10-04 株式会社東芝 仮想記憶管理方法
US7490215B2 (en) * 2004-12-22 2009-02-10 Intel Corporation Media memory system and method for providing concurrent memory access to a plurality of processors through separate translation table information

Also Published As

Publication number Publication date
CN101088077B (zh) 2010-06-09
US20060136693A1 (en) 2006-06-22
WO2006069130A3 (en) 2006-09-08
US7490215B2 (en) 2009-02-10
JP2011253551A (ja) 2011-12-15
EP1839157A2 (en) 2007-10-03
EP1839157B1 (en) 2012-07-25
KR20070086561A (ko) 2007-08-27
KR101202154B1 (ko) 2012-11-15
KR20090016520A (ko) 2009-02-13
TWI308693B (en) 2009-04-11
JP4996479B2 (ja) 2012-08-08
JP2008525894A (ja) 2008-07-17
WO2006069130A2 (en) 2006-06-29
CN101088077A (zh) 2007-12-12
TW200636459A (en) 2006-10-16

Similar Documents

Publication Publication Date Title
US10691612B2 (en) System and methods exchanging data between processors through concurrent shared memory
JP5335041B2 (ja) メディアメモリシステム
US7464198B2 (en) System on a chip and a method for programming a DMA controller in a system on a chip
KR101721499B1 (ko) 통합 메모리 구조를 통한 메모리 공유
US8850098B2 (en) Direct memory access (DMA) address translation between peer input/output (I/O) devices
WO2010095182A1 (ja) マルチスレッドプロセッサ及びデジタルテレビシステム
WO2010097847A1 (ja) プロセッサ装置、マルチスレッドプロセッサ装置
US20080270739A1 (en) Management of copy-on-write fault
US7337300B2 (en) Procedure for processing a virtual address for programming a DMA controller and associated system on a chip
JP2003281079A (ja) ページ・テーブル属性によるバス・インタフェース選択
US9652560B1 (en) Non-blocking memory management unit
US11693787B2 (en) Real time input/output address translation for virtualized systems
JP4965974B2 (ja) 半導体集積回路装置
JP2008123333A5 (ja)
Yi et al. On-Chip Bus Design for HDTV SoC Decoder
JPH04308946A (ja) 電子計算機
CN1908923A (zh) 数据处理系统和存储器仲裁方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130212

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130501

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130513

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130516

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: 20130702

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130730

R150 Certificate of patent or registration of utility model

Ref document number: 5335041

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees