JP2008520023A - メモリ空間を管理するシステム及び方法 - Google Patents
メモリ空間を管理するシステム及び方法 Download PDFInfo
- Publication number
- JP2008520023A JP2008520023A JP2007540765A JP2007540765A JP2008520023A JP 2008520023 A JP2008520023 A JP 2008520023A JP 2007540765 A JP2007540765 A JP 2007540765A JP 2007540765 A JP2007540765 A JP 2007540765A JP 2008520023 A JP2008520023 A JP 2008520023A
- Authority
- JP
- Japan
- Prior art keywords
- task
- memory space
- cache
- budget
- processing budget
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0842—Multiuser, multiprocessor or multiprocessing cache systems for multiprocessing or multitasking
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
メモリ空間(22)の管理システム(100)は、第1のタスク(50)及び第2のタスク(60)を実行する少なくとも1つの中央処理ユニット(10)、中央処理ユニット(10)に接続され、且つ第1のメモリ空間(52)及び第2のメモリ空間(62)に細分化されたメモリ空間(22)を有する少なくとも1つのメモリユニット(20)、第1のタスク(50)及び/又は第2のタスク(60)がメモリ空間(22)を必要としているかを決定する少なくとも1つの決定手段(30)、特に第1のメモリ空間(52)を第1のタスク(50)に割当て且つ第2のメモリ空間(62)を第2のタスク(60)に割当てる、メモリ空間(22)をそれぞれのタスクに割当てる少なくとも1つの割当て手段(40)を有する。各実行タスク(50,60)に提供されるメモリ空間(22)は最大化され、それぞれのタスク(50,60)に、メモリ空間(22)を必要としているかの決定に応じて、且つ少なくとも1つの処理バジェット予約手段(12)によって各タスク(50,60)に指定された少なくとも1つのそれぞれの処理バジェットに従って割当てられる。
Description
本発明は、少なくとも1つの第1のタスク及び少なくとも1つの第2のタスクのスケジューリングをするために、メモリ空間を管理するシステム及び方法に関する。
ソフトウェアでのメディア処理は、民生端末をオープンで柔軟性あるものにさせることが可能である。同時に、民生端末は価格コスト面での大きな圧力のため重度に資源制約的なものである。専用ハードウェアによる解法と競合可能にするため、ソフトウェアでのメディア処理は、例えば堅牢性などの民生端末の一般的な品質を保持し且つ高品質のデジタル音声・映像処理により課される厳しいタイミング要件を満たしながら、利用可能な資源を高い平均資源使用率で非常にコスト効率良く使用しなければならない。この点で重要なことはメモリ空間の管理である。
例えばキャッシュといったメモリ階層の効率及び性能は、所謂システム・オン・チップ(SoC)上で起動するマルチメディア・アプリケーションの性能にとって特に重要である。故に、キャッシュの失敗や失敗による遅延を減少させることを目的としたキャッシュスケジューリング技術が数多く存在している。伝統的なキャッシュは単一の処理ユニット上で起動する単一のアプリケーションに対して十分に動作するように設計されてきた。
例えば、従来技術に係る特許文献1、2又は3は、単一のタスク/スレッド/アプリケーション(以降、“タスク”と呼ぶ)によって使用されるキャッシュ空間を固定及び/又は保障する機構に関するものである。これらの従来技術に係る文献によれば、タスクの存続中は予約されたキャッシュ空間が保障される。
伝統的なシステムにおいては、複数のアプリケーションがキャッシュを共有しながら並列に実行される。これらの並列アプリケーションは、互いのデータをキャッシュから一気に消去することにより互いの性能に影響を及ぼし合う。さらに、異なる形式のソフトウェア構造やメモリ使用法は異なるキャッシュ編成による恩恵を被る。
キャッシュの効率を向上させることは、例えば以下によって、異なる角度から為されることができる:
− より良いキャッシュ編成:メモリアクセス形態に応じて、ある一定の割当てがより効率的になる(例として、異なるメモリバンク上の連続的なデータ要素)、又は
− 改善された置換及び割当て技術。
− より良いキャッシュ編成:メモリアクセス形態に応じて、ある一定の割当てがより効率的になる(例として、異なるメモリバンク上の連続的なデータ要素)、又は
− 改善された置換及び割当て技術。
提案されている置換及び割当て技術の中で、その一部はバジェット化(budgeting)(又は予約)の概念を用いるものである。所与のアプリケーション/タスク/スレッドはキャッシュの特定部分への排他的アクセスを有し、これまたそれ自身のキャッシュ断片を有する他のアプリケーションからの干渉を受けない。
このバジェット化の例が非特許文献1及び2に与えられている。これらは空間的なバジェットである。
空間的なバジェット化は、キャッシュの予測可能性を高めることによりアプリケーション性能を向上させる。さらに、これはソフトウェアサブシステムの構成可能性をもたらす。しかしながら、資源制約的なシステムにおいては、キャッシュはやはり希少資源であり、このことは、アプリケーションがキャッシュバジェットを要求するとき、このキャッシュ空間は利用可能でないことがあることを意味する。一般に、アプリケーションは必要とするだけ多くのキャッシュ空間を受け取らず、性能の不利益を被る。
タスクがキャッシュ空間を使用していないときキャッシュ空間を解放することが特許文献4から知られている。しかしながら、この手法はタスクがそのデータすなわちメモリ空間を必要とする場合に非常に低い性能をもたらし得る。
欧州特許出願公開第0442474号明細書
米国特許第6427195号明細書
米国特許出願公開第2002/0184445号明細書
米国特許出願公開第2003/0101084号明細書
Anca Molnos、「Compositional memory systems for multimedia communicating tasks」、Internal Natlab
Ravi Iyer、「CQoS:A Framework for Enabling QoS in Shared Caches of CMP Platforms」、Proc. of the 18th annual international Conference on Supercomputing、ISBN:1-58113-839-3、2004年、(米国)、p.257-266
上記欠点及び短所に鑑み、本発明は、各実行タスクに提供されるメモリ空間が最大化されるように更に発展された上述のシステム及び方法を提供することを目的とする。
本発明の上記課題は、メモリ空間をそれぞれのタスクに、
− メモリ空間を必要としているかどうかの決定に応じて、且つ
− 少なくとも1つの処理バジェット予約手段によって各タスクに指定された少なくとも1つのそれぞれの処理バジェットに従って、
割当てることによって解決される。
− メモリ空間を必要としているかどうかの決定に応じて、且つ
− 少なくとも1つの処理バジェット予約手段によって各タスクに指定された少なくとも1つのそれぞれの処理バジェットに従って、
割当てることによって解決される。
本発明の有利な実施形態及び目的にかなった改善はそれぞれの従属請求項にて開示される。
本発明は、原理的に時間を、
− 特にキャッシュバジェットであるメモリバジェットに、あるいは
− 特にキャッシュ予約であるメモリ予約に、
追加するという概念に基づいており、故に、バジェットを用いた時間的なキャッシュ管理技術を提供するものである。
− 特にキャッシュバジェットであるメモリバジェットに、あるいは
− 特にキャッシュ予約であるメモリ予約に、
追加するという概念に基づいており、故に、バジェットを用いた時間的なキャッシュ管理技術を提供するものである。
換言すれば、本発明は、特にキャッシュ空間予約であるメモリ空間予約のパラメータとして時間を導入するものである。この時間は処理バジェットに結合される。このようにして、特に全体的なキャッシュ利用である全体的なメモリ利用が最大化される。
さらに、例えばキャッシュ空間予約であるメモリ空間予約の時間のパラメータが処理予約に結び付けられるとき、システム性能はやはり向上する。
本発明の好適な実施形態に従って、CPU(中央処理ユニット)資源マネージャを有するシステムにおいて、例えば第1のスレッド又は第1のアプリケーションである第1のタスク、及び/又は例えば第2のスレッド又は第2のアプリケーションである第2のタスク、又はタスク/スレッド/アプリケーションの組は保障され且つ強制的なCPUバジェットを受け取る。故に、このバジェットが使い果たされると、対応するタスクはバジェットが再補充されるまで実行されない。
この情報は、
− これらのタスクによって使用される、特にキャッシュ空間であるメモリ空間を解放するため、及び
− それを、メモリ空間を必要とする他のタスクに利用可能にするため、
に使用され得る。
− これらのタスクによって使用される、特にキャッシュ空間であるメモリ空間を解放するため、及び
− それを、メモリ空間を必要とする他のタスクに利用可能にするため、
に使用され得る。
この機構によって、より効率的なメモリ空間利用、特に、より効率的なキャッシュ空間利用がもたらされる。CPUバジェットを有し且つ実行されているタスクに利用可能なメモリ空間が、より多く存在する。
本発明の他の本質的な特徴は、メモリ空間の解放はタスクがメモリ空間を必要としないことが確実であるときに行われ、その結果、如何なる不利益も生じさせないことにある。故に、システムがタスク、アプリケーション又はスレッドに提供可能なメモリ空間、特にキャッシュバジェットが最大化される。
本発明の好適な実施形態に従って、メモリ空間はシステムメモリ全体の一部のみのデータコピーを格納するキャッシュとし得る。また、本発明の有利な実装に従って、メモリ空間は複数のCPU(中央処理ユニット)からの共有アクセスを有する第2レベルのキャッシュとし得る。
この第2レベルキャッシュは(又は、二次キャッシュ若しくはレベル2キャッシュ)は、通常、
− 第1レベルキャッシュ(又は、主キャッシュ若しくはレベル1キャッシュ)とメインメモリとの間に配置され、且つ
− 少なくとも1つの外部バスを介してCPU(中央処理ユニット)に接続されている。
− 第1レベルキャッシュ(又は、主キャッシュ若しくはレベル1キャッシュ)とメインメモリとの間に配置され、且つ
− 少なくとも1つの外部バスを介してCPU(中央処理ユニット)に接続されている。
これとは対照的に、主キャッシュはCPUと同一のIC(集積回路)上にあることが多い。
本発明は更に、
− 少なくとも1つの上述のシステムを有し、且つ/或いは上述の方法に従って動作するテレビセット、及び
− 少なくとも1つの上述のシステムを有し、且つ/或いは上述の方法に従って動作するセットトップボックス、
に関する。
− 少なくとも1つの上述のシステムを有し、且つ/或いは上述の方法に従って動作するテレビセット、及び
− 少なくとも1つの上述のシステムを有し、且つ/或いは上述の方法に従って動作するセットトップボックス、
に関する。
本発明の有利な一実施形態に従って、本発明に係る方法は、基本的に、
− 第1のタスク及び/又は第2のタスクを実行する段階、
− 第1のタスク及び/又は第2のタスクがメモリ空間を必要としているかどうかを決定する段階、及び
− メモリ空間をそれぞれのタスクに割当てる段階であり、特に、
第1のメモリ空間を第1のタスクに割当て、且つ
第2のメモリ空間を第2のタスクに割当てる、
割当てる段階、
を有し、付加的に、
− 処理バジェットが使い果たされた場合に処理バジェットを補充する段階であり、対応するタスクは補充中には実行されない、処理バジェットを補充する段階、
それぞれの処理バジェットを補充するのに必要な期間を決定する段階であり、特に、
タスクの少なくとも1つの実行期間又は繁忙期を決定し、且つ/或いは
タスクの少なくとも1つの非実行期間を決定する、
期間を決定する段階、及び
実行されないタスクに指定されていたメモリ空間を、決定された補充期間の間、少なくとも1つの実行可能なタスクに割当てる段階、
を有していてもよい。
− 第1のタスク及び/又は第2のタスクを実行する段階、
− 第1のタスク及び/又は第2のタスクがメモリ空間を必要としているかどうかを決定する段階、及び
− メモリ空間をそれぞれのタスクに割当てる段階であり、特に、
第1のメモリ空間を第1のタスクに割当て、且つ
第2のメモリ空間を第2のタスクに割当てる、
割当てる段階、
を有し、付加的に、
− 処理バジェットが使い果たされた場合に処理バジェットを補充する段階であり、対応するタスクは補充中には実行されない、処理バジェットを補充する段階、
それぞれの処理バジェットを補充するのに必要な期間を決定する段階であり、特に、
タスクの少なくとも1つの実行期間又は繁忙期を決定し、且つ/或いは
タスクの少なくとも1つの非実行期間を決定する、
期間を決定する段階、及び
実行されないタスクに指定されていたメモリ空間を、決定された補充期間の間、少なくとも1つの実行可能なタスクに割当てる段階、
を有していてもよい。
好ましくは、メモリ空間は、
− 排他的に第1のタスクに、
− 部分的に前記第1のタスクと部分的に前記第2のタスクとに、且つ/或いは
− 排他的に前記第2のタスクに、
の何れかで割り当てられる。
− 排他的に第1のタスクに、
− 部分的に前記第1のタスクと部分的に前記第2のタスクとに、且つ/或いは
− 排他的に前記第2のタスクに、
の何れかで割り当てられる。
本発明は、一般的に、キャッシュを有し且つCPU(中央処理ユニット)予約機構が存在する如何なる製品においても使用可能である。
具体的には、本発明は最終的に、複数のアプリケーションがメモリ空間を共有しながら並列に実行されるデジタルシステムのための、例えば、
− 特に少なくとも1つのSoC(システム・オン・チップ)上で実行されるマルチメディア・アプリケーション、及び/又は
− 請求項5に記載のデジタルテレビセット、特に高品質ビデオシステム、又は請求項6に記載のセットトップボックスのような民生端末、
のための、少なくとも1つの上述のシステム、及び/又は上述の方法の用途に関する。
− 特に少なくとも1つのSoC(システム・オン・チップ)上で実行されるマルチメディア・アプリケーション、及び/又は
− 請求項5に記載のデジタルテレビセット、特に高品質ビデオシステム、又は請求項6に記載のセットトップボックスのような民生端末、
のための、少なくとも1つの上述のシステム、及び/又は上述の方法の用途に関する。
上述のように、本発明の教示を有利なように具体化及び改善するための選択肢が幾つも存在する。この目的のため、独立請求項に従属する請求項が参照され、以下、本発明の更なる改善、特徴及び利点が、例として好適な実施形態及び添付図面を参照しながら、より詳細に説明される。
図1乃至5の対応する部分には同一の参照符号を用いることとする。
図1は、本発明に従ったシステムの一実施形態100の最も重要な部分を概略的に示している。このシステム100は、第1のタスク50及び第2のタスク60(図3参照)を実行する中央処理ユニット10を有している。中央処理ユニット10はメモリユニットすなわちキャッシュ20と接続されている。
キャッシュ空間22を第1のタスク50及び/又は第2のタスク60に割当てるため、特に第1のキャッシュ空間52を第1のタスク5に、そして第2のキャッシュ空間62を第2のタスク60に割当てるため、システム100は割当て手段40を具備するキャッシュ予約機構を有している。
少なくとも1つのぞれぞれの処理バジェットを各タスク50、60に指定するため、システム100は、例えばCPU(中央処理ユニット)予約システムである処理バジェット予約手段12を有している。処理バジェット予約手段12は、好ましくは、この同一のCPU10又はシステム100内の他の1つ以上の利用可能なCPU上で実行される少なくとも1つのソフトウェア・アルゴリズムの形態で実装され得る。このソフトウェアは、適切動作では、CPU10上でのタスク50及び60の正常な実行を中断させることが可能な少なくとも1つのタイマー等の幾つかのハードウェア装置に頼らなければならない。
上記の処理バジェットが使い果たされると、対応するタスク50、60はその処理バジェットが期間の最後70にて再補充されるまで実行されない。従って、第1のタスク50の処理バジェットは第1のタスク50のバジェット繁忙期54を決定し、第2のタスク60の処理バジェットは第2のタスク60のバジェット繁忙期64を決定する。
システム100の処理バジェットはタスクの存続期間より遙かに短い細かさで利用可能であり、且つ/或いは制御される。例えば、数時間のタスクの存続期間に対して、5ミリ秒の処理バジェットが10ミリ秒毎に繰り返される。
タスク50、60はそれらのバジェット繁忙期54、64の間だけメモリ空間22を必要とする。第1のタスク50及び/又は第2のタスク60がメモリ空間22を必要としているかどうかを決定するため、システム100は決定手段30を有している。キャッシュ空間決定手段30は少なくとも1つのソフトウェア・アルゴリズムとして実装され得る。
本発明の特徴を例示するため、図2は、従来技術に従ったキャッシュ管理を例示している。第1のタスク50の時間t上でのタスク実行56、及び第2のタスク60の時間t上でのタスク実行66が図2の上部に図示されている。
図2の下部には、縦軸にキャッシュ空間22が示されており、横軸に時間tが走っている。故に、図2の下部には、第1のタスク50のキャッシュ予約52及び第2のタスク60のキャッシュ予約62が例示されている。図2に示されるように、従来システムにおいては、第1のタスク50はそのキャッシュを使用しない場合にも期間の最後70までそのキャッシュを保持している。
これとは対照的に、本発明に従ったキャッシュ管理が図3に例示されている。図3によれば、キャッシュ予約機構は、
− 第1のタスク50及び/又は第2のタスク60がキャッシュ空間22を必要とするとき、キャッシュ空間22を予約する、
− 第1のタスク50及び/又は第2のタスク60がキャッシュ空間22を必要としないとき、キャッシュ空間22を解放する、
ことによって動的に使用されている。
− 第1のタスク50及び/又は第2のタスク60がキャッシュ空間22を必要とするとき、キャッシュ空間22を予約する、
− 第1のタスク50及び/又は第2のタスク60がキャッシュ空間22を必要としないとき、キャッシュ空間22を解放する、
ことによって動的に使用されている。
従来の動作(図2参照)との相違は“タスクがキャッシュ空間22を必要とするとき”の定義にある。従来システム(図2参照)においては、タスク50、60はその存続期間の間、キャッシュ空間22を必要としている。しかしながら、本発明(図3参照)によれば、キャッシュ空間22の必要性は処理バジェットの利用可能性に結び付けられている。この目的のため、キャッシュ予約機構又はキャッシュ予約システムはCPU(中央処理ユニット)予約システムに結合されている。図3は直感的に理解可能な例を示している:
第1のタスク50及び第2のタスク60は同一のCPU(中央処理ユニット)10上で実行され、これらタスク50、60の各々は同一の細かさ、例えば40ミリ秒毎に20ミリ秒、でCPU10の50%を受け取っている。第1のタスク50がそのバジェット54を終えると、キャッシュ内の空間は無事に解放され、他方のタスク60に完全に利用可能にされる。
第1のタスク50及び第2のタスク60は同一のCPU(中央処理ユニット)10上で実行され、これらタスク50、60の各々は同一の細かさ、例えば40ミリ秒毎に20ミリ秒、でCPU10の50%を受け取っている。第1のタスク50がそのバジェット54を終えると、キャッシュ内の空間は無事に解放され、他方のタスク60に完全に利用可能にされる。
換言すれば、第1のタスク50がその処理バジェットの全てを使い果たした場合、第1のタスク50に割当てられていた第1のキャッシュ空間52は解放され、残りの期間、第2のタスク62に割当てられる。その結果、タスク62は残りの期間、すなわち、時点70にバジェットが再補充されるまで、キャッシュの100%を使用することによって、より効率的に実行される。故に、双方のタスク50、60はキャッシュ22の100%を使用することができる。
タスク50、60がそのバジェットを終え、しばらくの間実行されないことを知ることは一般的な場合には容易でない。しかしながら、処理バジェットが(本発明により提案されるように)提供される場合、このことはタスク50、60が実行され始めるとき、及びそれが実行を終えるときに正確に計算されることができる。
本発明によれば、最悪の場合の繁忙期、すなわち、最も早い開始時点及び最も遅い終了時点は計算可能である。最悪の場合の繁忙期を計算し、キャッシュバジェットの供給を最大化するために同一でない繁忙期が使用され得る。図3には、第1のタスク50によって使用されていたキャッシュ空間52が第2のタスク60によって使用されるように、如何にして解放されるかが例示されている。図3の上部の縦方向の矢印はバジェットの供給14を例示している。
図4は、上述のシステム100を含むTV(テレビ)セット200の最も重要な部分を概略的に示している。図4において、アンテナ202はテレビ信号を受信する。アンテナ202はまた、例えば、衛星放送受信アンテナ、ケーブル、又はテレビ信号を受信可能な如何なる他の装置でもよい。受信器204が信号を受け取る。受信器204に加え、テレビセット200は、例えばプログラム可能な集積回路であるプログラム可能部品206を有している。このプログラム可能部品206はシステム100を含んでいる。テレビ画面210は、受信器204によって受信され且つプログラム可能部品206、システム100及びテレビセットに通常含まれる他の部品によって処理された画像を表示する。なお、他の部品はここでは図の明瞭化のために図示されていない。
図5は、システム100を含むセットトップボックス300の最も重要な部分を概略的に示している。セットトップボックス300はアンテナ202によって送信された信号を受信する。テレビセット200は、システム100と一緒にされたセットトップボックス300によって受信信号から生成された出力信号を表示することができる。
上述の本発明の実装法は、新たなタスクに切り替えられるときに、双方又は全てのタスクがキャッシュの100%を有するようにキャッシュ空間が完全に解放されるマルチタスク型システムを、潜在的に可能とするものである。キャッシュ予約がCPU(中央処理ユニット)予約システムに結合されている。
上述の方法は、複数のタスク50、60の間で共有されているキャッシュ空間22を管理するものである。この方法は、複数のCPU10を含むシステム100にも同様に適用可能である。このようなマルチCPUシステム100においては、一般に、メモリ階層の一部として共有キャッシュが存在し、同一の利点を有するタスク共有のために管理される。
100 … メモリ空間管理システム
10 … 中央処理ユニット、特に複数の中央処理ユニット
12 … 処理バジェット予約手段、特に中央処理ユニット予約手段
14 … バジェット供給
20 … メモリユニット、特にキャッシュユニット
22 … メモリ空間、特にキャッシュ空間
30 … 決定手段
40 … 割当て手段
50 … 第1のタスク
52 … 特に第1のタスク50に割当てられた、第1のメモリ空間
54 … 実行期間、繁忙期、又は第1のタスク50のバジェット繁忙期
56 … 第1のタスク50のタスク実行
60 … 第2のタスク
62 … 特に第2のタスク60に割当てられた、第2のメモリ空間
64 … 実行期間、繁忙期、又は第2のタスク60のバジェット繁忙期
66 … 第2のタスク60のタスク実行
70 … 期間の最後、特に補充期間の最後
200 … テレビセット
202 … アンテナ
204 … 受信器
206 … プログラム可能部品、例えばプログラム可能集積回路
210 … テレビ画面
300 … セットトップボックス
t … 時間、又は期間
10 … 中央処理ユニット、特に複数の中央処理ユニット
12 … 処理バジェット予約手段、特に中央処理ユニット予約手段
14 … バジェット供給
20 … メモリユニット、特にキャッシュユニット
22 … メモリ空間、特にキャッシュ空間
30 … 決定手段
40 … 割当て手段
50 … 第1のタスク
52 … 特に第1のタスク50に割当てられた、第1のメモリ空間
54 … 実行期間、繁忙期、又は第1のタスク50のバジェット繁忙期
56 … 第1のタスク50のタスク実行
60 … 第2のタスク
62 … 特に第2のタスク60に割当てられた、第2のメモリ空間
64 … 実行期間、繁忙期、又は第2のタスク60のバジェット繁忙期
66 … 第2のタスク60のタスク実行
70 … 期間の最後、特に補充期間の最後
200 … テレビセット
202 … アンテナ
204 … 受信器
206 … プログラム可能部品、例えばプログラム可能集積回路
210 … テレビ画面
300 … セットトップボックス
t … 時間、又は期間
Claims (10)
- メモリ空間を管理するシステムであって、
少なくとも1つの第1のタスク及び少なくとも1つの第2のタスクを実行する少なくとも1つの中央処理ユニット、
特に少なくとも1つのキャッシュである少なくとも1つのメモリユニットであり、
前記中央処理ユニットに接続され、且つ
特に少なくとも1つの第1のキャッシュ空間である少なくとも1つの第1のメモリ空間、及び特に少なくとも1つの第2のキャッシュ空間である少なくとも1つの第2のメモリ空間に細分化されたメモリ空間を有する、
少なくとも1つのメモリユニット、
前記第1のタスク及び/又は前記第2のタスクが前記メモリ空間を必要としているかどうかを決定する少なくとも1つの決定手段、
前記メモリ空間をそれぞれのタスクに割当てる少なくとも1つの割当て手段であり、特に、
前記第1のメモリ空間を前記第1のタスクに割当て、且つ
前記第2のメモリ空間を前記第2のタスクに割当てる、
少なくとも1つの割当て手段、
を有し、
前記メモリ空間はそれぞれのタスクに、
メモリ空間を必要としているかどうかの決定に応じて、且つ
少なくとも1つの処理バジェット予約手段によって各タスクに指定された少なくとも1つのそれぞれの処理バジェットに従って、
割当てられる、
ことを特徴とするシステム。 - 前記処理バジェットが使い果たされると、対応するタスクは、特に該処理バジェットの期間の最後までである自身の処理バジェットが再補充されるまで実行されず、
前記決定手段は、それぞれの処理バジェットの次の補充までに必要な時間を、特に、
前記タスクの少なくとも1つの実行期間又は繁忙期を決定するため、且つ/或いは
前記タスクの少なくとも1つの非実行期間を決定するため、
に決定するように設計されており、且つ
前記割当て手段は、実行されないタスクに指定されていたメモリ空間を少なくとも1つの実行可能なタスクに、特に、決定された処理バジェットの期間の最後まで、割当てるように設計されている、
ことを特徴とする請求項1に記載のシステム。 - 前記タスクの存続期間は該タスクのそれぞれの処理バジェットの細かさより長いことを特徴とする請求項1又は2に記載のシステム。
- 前記メモリ空間は、
排他的に前記第1のタスクに、
部分的に前記第1のタスクと部分的に前記第2のタスクとに、且つ/或いは
排他的に前記第2のタスクに、
の何れかで割り当てられ、
システムメモリ全体の少なくとも部分のデータコピーを格納するように設計されたキャッシュであり、且つ/或いは
複数の中央処理ユニットからの共有アクセスを有する第2レベルのキャッシュである、
ことを特徴とする請求項1乃至3の何れか一項に記載のシステム。 - 請求項1乃至4の何れか一項に記載のシステムを有するテレビセット。
- 請求項1乃至5の何れか一項に記載のシステムを有するセットトップボックス。
- 特に、少なくとも1つの第1のタスク及び少なくとも1つの第2のタスクのスケジューリングをするために、メモリ空間を管理する方法であって、
前記第1のタスク及び/又は前記第2のタスクを実行する段階、
前記第1のタスク及び/又は前記第2のタスクがメモリ空間を必要としているかどうかを決定する段階、及び
前記メモリ空間をそれぞれのタスクに割当てる段階であり、特に、
例えば第1のキャッシュ空間である第1のメモリ空間を前記第1のタスクに割当て、且つ
例えば第2のキャッシュ空間である第2のメモリ空間を前記第2のタスクに割当てる、
割当てる段階、
を有し、
前記メモリ空間はそれぞれのタスクに、
メモリ空間を必要としているかどうかの決定に応じて、且つ
各タスクに指定された少なくとも1つのそれぞれの処理バジェットに従って、
割当てられる、
ことを特徴とする方法。 - 前記処理バジェットが使い果たされた場合に処理バジェットを補充する段階であり、対応するタスクが、特に該処理バジェットの期間の最後までである処理バジェットの次の補充まで実行されない、処理バジェットを補充する段階、
それぞれの処理バジェットの補充に必要な期間を決定する段階であり、特に、
前記タスクの少なくとも1つの実行期間又は繁忙期を決定し、且つ/或いは
前記タスクの少なくとも1つの非実行期間を決定する、
期間を決定する段階、及び
実行されないタスクに指定されていたメモリ空間を少なくとも1つの実行可能なタスクに、特に、決定された処理バジェットの期間の最後まで、割当てる段階、
を更に有することを特徴とする請求項7に記載の方法。 - 前記メモリ空間は、
排他的に前記第1のタスクに、
部分的に前記第1のタスクと部分的に前記第2のタスクとに、且つ/或いは
排他的に前記第2のタスクに、
の何れかで割り当てられることを特徴とする請求項7又は8に記載の方法。 - 複数のアプリケーションがメモリ空間を共有して並列に実行されるデジタルシステムのための、請求項1乃至4の何れか一項に記載の少なくとも1つのシステム、及び/又は請求項7乃至9の何れか一項に記載の方法の用途であって、例えば、
特に少なくとも1つのシステム・オン・チップ上で実行される、マルチメディア・アプリケーション、及び/又は
請求項5に記載のデジタルテレビセット、特に高品質ビデオシステム、又は請求項6に記載のセットトップボックスのような民生端末、
のための用途。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP04105700 | 2004-11-11 | ||
PCT/IB2005/053603 WO2006051454A1 (en) | 2004-11-11 | 2005-11-04 | System as well as method for managing memory space |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008520023A true JP2008520023A (ja) | 2008-06-12 |
Family
ID=35976442
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007540765A Pending JP2008520023A (ja) | 2004-11-11 | 2005-11-04 | メモリ空間を管理するシステム及び方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20090083508A1 (ja) |
EP (1) | EP1815334A1 (ja) |
JP (1) | JP2008520023A (ja) |
CN (1) | CN101057220A (ja) |
WO (1) | WO2006051454A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014085707A (ja) * | 2012-10-19 | 2014-05-12 | Renesas Electronics Corp | キャッシュ制御装置及びキャッシュ制御方法 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7853950B2 (en) | 2007-04-05 | 2010-12-14 | International Business Machines Corporarion | Executing multiple threads in a processor |
US9035959B2 (en) * | 2008-03-28 | 2015-05-19 | Intel Corporation | Technique to share information among different cache coherency domains |
JP4696151B2 (ja) | 2008-10-23 | 2011-06-08 | 株式会社エヌ・ティ・ティ・ドコモ | 情報処理装置およびメモリ管理方法 |
CN103795947B (zh) * | 2012-10-31 | 2017-02-08 | 晨星软件研发(深圳)有限公司 | 使用在视频信号处理装置中的存储器空间配置方法 |
US10380013B2 (en) | 2017-12-01 | 2019-08-13 | International Business Machines Corporation | Memory management |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FI91456C (fi) * | 1992-07-29 | 1994-06-27 | Nokia Telecommunications Oy | Menetelmä tietokoneessa varattujen resurssien hallitsemiseksi |
US5535364A (en) * | 1993-04-12 | 1996-07-09 | Hewlett-Packard Company | Adaptive method for dynamic allocation of random access memory to procedures having differing priorities based on first and second threshold levels of free RAM |
US5826082A (en) * | 1996-07-01 | 1998-10-20 | Sun Microsystems, Inc. | Method for reserving resources |
US6725336B2 (en) * | 2001-04-20 | 2004-04-20 | Sun Microsystems, Inc. | Dynamically allocated cache memory for a multi-processor unit |
KR20040058299A (ko) * | 2001-11-19 | 2004-07-03 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | 예산 잉여를 태스크에 할당하는 방법 및 시스템 |
-
2005
- 2005-11-04 JP JP2007540765A patent/JP2008520023A/ja active Pending
- 2005-11-04 WO PCT/IB2005/053603 patent/WO2006051454A1/en not_active Application Discontinuation
- 2005-11-04 CN CNA2005800387102A patent/CN101057220A/zh active Pending
- 2005-11-04 EP EP05799460A patent/EP1815334A1/en not_active Withdrawn
- 2005-11-04 US US11/719,114 patent/US20090083508A1/en not_active Abandoned
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014085707A (ja) * | 2012-10-19 | 2014-05-12 | Renesas Electronics Corp | キャッシュ制御装置及びキャッシュ制御方法 |
US9535845B2 (en) | 2012-10-19 | 2017-01-03 | Renesas Electronics Corporation | Cache control device and cache control method |
Also Published As
Publication number | Publication date |
---|---|
EP1815334A1 (en) | 2007-08-08 |
CN101057220A (zh) | 2007-10-17 |
US20090083508A1 (en) | 2009-03-26 |
WO2006051454A1 (en) | 2006-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2005509976A (ja) | 予算剰余をタスクに割り当てるための方法及びシステム | |
KR100628492B1 (ko) | 실시간 동작 수행방법 및 시스템 | |
US20070113231A1 (en) | Multi processor and task scheduling method | |
US7464379B2 (en) | Method and system for performing real-time operation | |
US8793695B2 (en) | Information processing device and information processing method | |
KR100649107B1 (ko) | 실시간 동작 수행방법 및 시스템 | |
US7069558B1 (en) | System and method for interactively utilizing a user interface to manage device resources | |
US8677362B2 (en) | Apparatus for reconfiguring, mapping method and scheduling method in reconfigurable multi-processor system | |
KR101812300B1 (ko) | 다수의 메모리 채널들을 가진 컴퓨팅 시스템에서의 메모리 버퍼들의 할당 | |
JP2004513428A (ja) | タスクへ資源配分を割当てる方法及びシステム | |
US9213560B2 (en) | Affinity of virtual processor dispatching | |
JP2010044784A (ja) | システムにおける要求のスケジューリング | |
KR20060008896A (ko) | 자원 관리 방법 및 장치 | |
JP2008500627A (ja) | 信号処理装置 | |
US8341634B2 (en) | System and method of providing a fixed time offset based dedicated co-allocation of a common resource set | |
US20060168586A1 (en) | System and method for interactively utilizing a user interface to manage device resources | |
JP2008520023A (ja) | メモリ空間を管理するシステム及び方法 | |
JP2015148909A (ja) | 並列計算機システム、並列計算機システムの制御方法及び管理ノードの制御プログラム | |
JP2006099579A (ja) | 情報処理装置及び情報処理方法 | |
JP2015026132A (ja) | リソース制御装置及び方法及びプログラム | |
JP2007531145A (ja) | 制限されたバジェット使用の手法においてバジェットを転送する方法及びシステム | |
Holenderski et al. | Swift mode changes in memory constrained real-time systems | |
KR100471746B1 (ko) | 연성 실시간 태스크 스케줄링 방법 및 그 기록매체 | |
US8566829B1 (en) | Cooperative multi-level scheduler for virtual engines | |
JP2003186686A (ja) | リソース制御装置、方法及び記憶媒体 |