説明

タスク管理装置

【課題】キャッシュミスヒットを減らし、メモリアクセスを高速化することのできる技術を提供する。
【解決手段】タスク管理装置において、各タスクの実行開始時刻およびメインメモリ上における記憶位置(開始アドレスとサイズ)を記憶するタスク管理テーブルを用いて、タスクの実行制御を行う。そして、タスク管理テーブルに基づいて、タスクの実行開始までにタスクを構成する命令コードをプリフェッチするプリフェッチ部を備えることで、新たなタスクが実行状態になったときに、そのタスクの命令コードがキャッシュメモリ上に取り込まれていることになるため、キャッシュミスヒットを減らすことができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、タスク管理装置に関する。
【背景技術】
【0002】
一般に、情報処理装置においては、RAMなどの主メモリに記憶された命令コードおよびデータを読み出して、CPU(中央演算処理装置)がその命令コードを解釈して読み込んだデータに対して処理を実行する。CPUから主メモリへのアクセスは、CPUの命令実行速度に比べて格段に遅い。したがって、CPUが毎回主メモリから命令コードとデータ(ここでは、両方を区別せずに単にデータという)を読み込むと、CPUはメモリアクセスの間待ち状態となってしまい処理速度が向上しない。そこで、CPUと主メモリの間に、キャッシュメモリを設けることが一般的である。キャッシュメモリには、主メモリよりも高速なアクセスが可能なメモリが使用される。頻繁に使用されるデータを高速アクセスが可能なキャッシュメモリに一時的に格納することで、CPUは低速な主メモリにアクセスすることなくキャッシュメモリからデータを読み込むことができるので処理速度の向上が図れる。
【0003】
逆に、キャッシュメモリに読み込まれていないデータにアクセスする場合、すなわちキャッシュミスヒットが発生した場合には、主メモリまでアクセスする必要があるため処理速度が遅くなってしまう。このようなキャッシュミスヒットを回避することで、メモリアクセスの高速化が図られ、処理速度が向上する。
【0004】
CPUが次に必要とするデータがあらかじめ分かっている場合には、そのデータをキャッシュメモリに取り込んでおけば、キャッシュミスヒットを回避することができる。このように、あらかじめキャッシュメモリに必要なデータを取り込む処理をプリフェッチ(pre-fetch)という。
【0005】
プリフェッチによって高速なデータアクセスが可能となるが、一般に次に必要となるデータが確実には分からない。そこで、次に必要となる可能性が高いデータをとりあえずプリフェッチすることになる。しかしながら、キャッシュメモリとして使用される高速なアクセスが可能なメモリは高価であるため主メモリに比較して容量が小さい。したがって、無駄なプリフェッチを行ってしまうと、本当に必要なデータがキャッシュメモリから追い出されてしまう場合がある。つまり、キャッシュメモリを有効に活用するためには、次に必要となるデータを予測して、必要なだけのデータをプリフェッチすることが重要である。
【0006】
このような技術として、特許文献1には、実行待ち状態のタスクに対応するデータ(命令コードおよびデータ)を、このタスクが実行中状態に遷移する前に、主メモリからプリフェッチする技術が開示されている。また、特許文献2には、割り込み処理の中で、制御モードの切替までにキャッシュの入れ替えが終了することを保証するリアルタイム制御システムが開示されている。
【特許文献1】特開2002−259209号公報
【特許文献2】特開2005−44231号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
本発明は、キャッシュミスヒットを減らし、メモリアクセスを高速化することのできる技術を提供することを目的とする。
【課題を解決するための手段】
【0008】
上記目的を達成するために本発明では、以下の手段または処理によってタスクの管理および該タスクを構成する命令コードのプリフェッチを行う。
【0009】
本発明に係るタスク管理装置は、ハードウェアとして主メモリとキャッシュメモリとを有する。キャッシュメモリは、主メモリよりも高速なアクセスが可能なメモリである。主メモリに格納されている命令コードをキャッシュメモリに格納しておくことで、この命令コードに対しては高速なアクセスが可能となる。
【0010】
本発明に係るタスク管理装置は、さらに、タスク管理テーブルとタスク管理手段とプリフェッチ手段とを有する。
【0011】
タスク管理テーブルには、実行予定の複数のタスクについて、各タスクの実行開始時刻および各タスクを構成する命令コードの主メモリにおける記憶位置とが記憶される。なお、命令コードの記憶位置は、その記憶位置の開始アドレスおよびコードサイズ(容量)として、タスク管理テーブルに記憶されることが好適である。
【0012】
タスク管理手段は、タスク管理テーブルに記憶されたタスクの実行開始時刻にしたがって、タスクの実行を制御する。すなわち、あるタスクの実行開始時刻になると、タスク管理手段は、それまで実行されていたタスクの実行を中断し、新しいタスクを実行する。このように、タスク管理手段は、タスク管理テーブルに記憶されているスケジュールにしたがって、複数のタスクの実行を制御する。
【0013】
プリフェッチ手段は、実行が予定されているタスクについて、タスク管理テーブルに記憶されたタスクの命令コードの記憶位置に基づいて、命令コードを主メモリからキャッシュメモリにあらかじめ取り込む(プリフェッチする)。なお、プリフェッチ手段は、実行予定のタスクについて、そのタスクを構成する命令コードを全てプリフェッチすることが好適である。
【0014】
このように、本発明に係るタスク管理装置によれば、今後実行されるタスクについて、そのタスクの命令コードがキャッシュメモリにプリフェッチされることになるので、キャッシュミスヒットを減らすことができる。したがって、本発明に係るタスク管理装置によれば、メモリアクセスが高速化され、処理効率が向上することになる。
【0015】
ここで、プリフェッチ手段は、実行するタスクをタスク管理手段が切り替える際に、新たに実行するタスクの命令コードをプリフェッチしても良い。
【0016】
また、プリフェッチ手段は、実行するタスクをタスク管理手段が切り替える際に、そのタスクより後に実行するタスクの命令コードをプリフェッチしても良い。
【0017】
また、プリフェッチ手段が一度にプリフェッチする命令コードは、1つのタスクの命令コードである必要はない。すなわち、プリフェッチ手段は、実行するタスクをタスク管理手段が切り替える際に、今後実行する複数のタスクの命令コードをまとめてプリフェッチしても良い。この場合、まとめてプリフェッチするタスクの数は、タスクを構成する命令コードサイズの合計と、キャッシュメモリの容量とに基づいて定められることが好適である。
【0018】
また、本発明に係るタスク管理装置は、マルチプロセッサシステムまたはマルチコアシステムとして構成されても良い。この場合、1つのプロセッサまたはプロセッサコアがタ
スク管理手段およびプリフェッチ手段の実行に割り当てられ、他のプロセッサまたはプロセッサコアがタスクの実行に割り当てられることが好ましい。このように、マルチプロセッサシステムまたはマルチコアシステムでは、タスク管理手段およびプリフェッチ手段とタスクとが並列に動作可能なので、タスク管理手段およびプリフェッチ手段を常時実行しておくことができる。したがって、タスクの命令コードに関するキャッシュミスヒットを最小限にすることが可能となる。
【0019】
なお、本発明に係るタスク管理装置のキャッシュメモリは、多階層のキャッシュメモリとして構成することが可能である。この場合、命令コードをキャッシュメモリに取り込む(プリフェッチする)とは、多階層のキャッシュメモリのうちの少なくともいずれかのキャッシュメモリに、その命令コードを取り込むことをいう。
【0020】
なお、本発明は、上記手段の少なくとも一部を有するタスク管理装置として捉えることができる。また、本発明は、上記処理の少なくとも一部を含むタスク管理方法、または、かかる方法を実現するためのプログラムとして捉えることもできる。上記手段および処理の各々は可能な限り互いに組み合わせて本発明を構成することができる。
【0021】
例えば、本発明の一態様としてのタスク管理方法は、主メモリとキャッシュメモリとを有する情報処理装置が行うタスク管理方法であって、実行予定の複数のタスクについて、各タスクの実行開始時刻および該タスクを構成する命令コードの前記主メモリにおける記憶位置をタスク管理テーブルに記憶するステップと、前記タスク管理テーブルに記憶されたタスクの実行開始時刻にしたがって、タスクの実行を制御するステップと、実行予定のタスクについて、前記タスク管理テーブルに記憶された該タスクの命令コードの記憶位置に基づいて、該命令コードを前記主メモリから前記キャッシュメモリにあらかじめ取り込むステップと、を含むことを特徴とする。
【0022】
また、本発明の一態様としてのタスク管理プログラムは、主メモリとキャッシュメモリとを有する情報処理装置に対して、実行予定の複数のタスクについて、各タスクの実行開始時刻および該タスクを構成する命令コードの前記主メモリにおける記憶位置をタスク管理テーブルに記憶するステップと、前記タスク管理テーブルに記憶されたタスクの実行開始時刻にしたがって、タスクの実行を制御するステップと、実行予定のタスクについて、前記タスク管理テーブルに記憶された該タスクの命令コードの記憶位置に基づいて、該命令コードを前記主メモリから前記キャッシュメモリにあらかじめ取り込むステップと、を実行させることを特徴とする。
【発明の効果】
【0023】
本発明によれば、キャッシュミスヒットを減らし、メモリアクセスを高速化することが可能となる。
【発明を実施するための最良の形態】
【0024】
以下に図面を参照して、この発明の好適な実施の形態を例示的に詳しく説明する。
【0025】
<構成>
図1は、本実施形態に係るタスク管理装置のハードウェア構成を示す図である。タスク管理装置1は、CPU(中央演算処理装置)2、RAMなどのメインメモリ3、ハードディスク装置などの補助記憶装置4、キーボードやマウスなどの入力装置5、およびディスプレイなどの出力装置6を備える。これらの各装置は、バス7によって接続されている。
【0026】
図2は、CPU2のより詳しい構成を示す図である。CPU2は、命令コードを解釈して処理を実行するプロセッサコア21、およびキャッシュメモリ22を有する。
【0027】
キャッシュメモリ22およびメインメモリ3に対するアクセス速度は、キャッシュメモリ22に対するアクセス速度の方がメインメモリ3に対するアクセス速度よりも速い。逆に、メモリ容量は、メインメモリ3のメモリ容量の方がキャッシュメモリ22のメモリの容量よりも多い。
【0028】
CPU2は、メインメモリ3から命令コードを読み込むときには、キャッシュメモリ22内にその命令コードがすでに取り込まれているか判断し、すでに取り込まれている場合にはキャッシュメモリ22からその命令コードを読み込む。一方、キャッシュメモリ22内にその命令コードが取り込まれていない場合には、メインメモリ3からその命令コードを読み込むとともに、キャッシュメモリ22内に取り込む。このように、高速なキャッシュメモリを利用して、メインメモリ3に対するアクセスを減らして、メモリアクセスに要する処理時間を減らしている。
【0029】
次に、本実施形態に係るタスク管理装置1の機能部について説明する。図3は、本実施形態に係るタスク管理装置1の機能ブロックを示す図である。タスク管理装置1は、タスクスケジューラ101、タスク管理テーブル102、プリフェッチ部103、および複数のタスク104から構成される。タスクスケジューラ101は、タスク管理テーブル102にしたがって、CPU2がどのタスクを実行するのかを制御する。
【0030】
本実施形態に係るタスク管理装置1は、どのような具体的なスケジューリングアルゴリズムにしたがって、タスクのスケジューリングを行っても構わない。例えば、スケジューリングアルゴリズムとして、周期的なタスクにおいてタスクの起動からデッドラインまでの時間が短いタスクを優先的に実行するDM法(Deadline Monotonic)を用いることができる。また、スケジューリングアルゴリズムとして、周期的なタスクにおいてタスクの実行周期が短いタスクほど優先的に実行するRM法(Rate Monotonic)を用いることもできる。また、スケジューリングアルゴリズムとして、タスクのデッドラインが最も近いものから優先的に実行するEDF法(Earliest Deadline First)を用いることもできる。ま
た、その他どのようなスケジューリングアルゴリズムを用いても良い。いずれの場合も、タスクスケジューラ101は、タスク管理テーブル102にしたがってタスクの実行を制御する。
【0031】
図4(a)は、タスク管理テーブル102のテーブル構造を示す図である。タスク管理テーブル102は、実行するタスクの、タスクID41、実行開始時刻42、そのタスクを構成する命令コードのメインメモリ3における記憶位置の開始アドレス43、およびそのタスクを構成する命令コードのコードサイズ44を格納する。すなわち、タスク管理テーブルには、各タスクについて、そのタスクをいつ実行するのかと、そのタスクを構成する命令コードのメインメモリ3における記憶位置が格納される。
【0032】
図4(b)は、図4(a)のタスク管理テーブルにしたがったタスクのスケジューリングを説明する図である。図4(b)に示すように、図4(a)のタスク管理テーブルにしたがうと、時刻t1においてタスクAが実行され、時刻t2においてタスクBが、時刻t3においてタスクAが、時刻t4においてタスクCが、時刻t5においてタスクBが実行される。
【0033】
プリフェッチ部103は、プリフェッチ命令を実行して、メインメモリ3上に格納されている命令コードをキャッシュメモリ22上に取り込む処理を行う。プリフェッチ部103は、タスクスケジューラ101からの指示にしたがって、今後実行する予定のタスク104を構成する命令コードを、メインメモリ3からキャッシュメモリ22に取り込む処理を行う。具体的な処理については後述する。
【0034】
タスクスケジューラ101およびプリフェッチ部103は、補助記憶装置4に格納されたプログラムがメインメモリ3にロードされCPU2によって実行されることによって、その機能が実現される。また、タスク管理テーブル102はメインメモリ3上に構築(格納)されるものである。なお、タスク管理テーブル102はメインメモリ3上に格納されるデータであるため、キャッシュメモリ22上に取り込まれることもある。また、タスク104は、プログラムであって補助記憶装置4からメインメモリ3にロードされるものであり、それ自体CPU2によって実行されるものである。
【0035】
<処理フロー>
図5に示す処理は、タスクスケジューラ101およびプリフェッチ部103が行う処理である。この処理ルーチンは所定の間隔で定期的に実行される。まず、タスクスケジューラ101が実行状態になると、タスク管理テーブル102に基づいて、実行するタスクの切替が発生したか否かを判定する(S10)。すなわち、タスク管理テーブル102に格納されている実行開始時刻42が到来したタスクが存在するか否かを判定する。タスクの切替が発生していない場合(S10−NO)は、この処理ルーチンを抜ける。タスクの切替が発生した場合(S10−YES)には、プリフェッチ部103がプリフェッチする対象とするタスクを決定する(S11)。
【0036】
プリフェッチ部103がプリフェッチの対象とするタスクを決定する方法には、以下の方法が考えられる。
【0037】
1.このルーチンにおいてタスクスケジューラが実行状態にするタスクをプリフェッチする。この方法によれば、次に実行状態になるタスクの命令コードがキャッシュメモリ22に格納されることにより、実行するタスクの命令コードをキャッシュメモリ22から取得することが可能となる。
【0038】
2.このルーチンにおいてタスクスケジューラが実行状態にするタスクより後に実行状態にするタスクをプリフェッチする。この場合、今回実行状態にするタスクの次に実行状態にするタスクをプリフェッチの対象としても良く、所定回後に実行状態にするタスクをプリフェッチの対象としても良い。実行するタスクの順序はタスク管理テーブル102に格納されているので、プリフェッチ部103はタスク管理テーブル102を参照することで所定回後に実行状態にするタスクを判定することができる。
【0039】
この方法によれば、命令コードのプリフェッチに時間がかかる場合であっても、実際にタスクが実行状態になる前からプリフェッチが行われているので、タスクが実行状態になったときにはそのタスクの命令コードがキャッシュメモリに格納されていることになる。
【0040】
3.現在時刻より後の所定の時間帯の間に実行されるタスク、すなわち現在時刻からT1秒後より後であってT2秒後よりも前に実行が開始されるタスクをプリフェッチの対象とすることもできる。タスク管理テーブル102に各タスクの開始時刻が格納されているので、プリフェッチ部103はタスク管理テーブル102を参照することで、所定の時間帯に実行状態にするタスクを判定することができる。
【0041】
この方法によっても上記2の方法と同様の効果が得られる。また、タスクが実行状態となる時間を基準としてプリフェッチの対象とするタスクを決定しているため、タスクの実行が開始されるまでにより確実にキャッシュメモリ22に取り込む制御が可能となる。
【0042】
4.今後実行状態にする複数のタスクをプリフェッチの対象としても良い。この場合、プリフェッチの対象となるタスクの数は、タスクを構成する命令コードの合計が所定の閾
値以内となるように選択する。所定の閾値は、キャッシュメモリ22のサイズ以内である必要がある。なお、キャッシュメモリ22に命令コードとデータの両方が取り込まれる場合には、全てを命令コードで満たすことは好ましくないので、キャッシュメモリ22の所定の割合の容量を閾値とすることが好ましい。
【0043】
具体的には、今回のルーチンで実行状態にするタスクをT、そのn回後に実行状態にするタスクをT、タスクTの命令コードのサイズをS(T)、上述の所定の閾値をSとすると、以下の数1を満たす最大のNを求め、T〜Tをプリフェッチの対象とすることができる。
【0044】
【数1】

【0045】
また、ここではT以降のタスクをプリフェッチの対象としているが、kを所定の整数として、T〜Tをプリフェッチの対象としても良い(Nは上記と同様にして求める)。
【0046】
この方法によっても確実にキャッシュメモリ22に今後実行する予定のタスクを構成する命令コードが取り込まれることになる。なお、この方法では多くの命令コードをキャッシュメモリ22にプリフェッチすることになるが、すでにキャッシュメモリ22上に取り込まれている命令コードに対してプリフェッチ命令を発行しても無視されるだけなので、処理が非効率となることはない。
【0047】
プリフェッチ部103は、上記のいずれかの方法によってプリフェッチの対象とするタスクを決定する。次に、プリフェッチ部103は、プリフェッチの対象としたタスクを構成する命令コードをキャッシュメモリ22に取り込むプリフェッチ命令を発行する(S12)。タスク管理テーブル102には、各タスクのメインメモリ3における記憶位置、すなわち開始アドレスとコードサイズが格納されているので、プリフェッチ部103はタスク管理テーブル102を参照することで、メインメモリ3のどのメモリ領域をプリフェッチすればよいのか判断することができる。
【0048】
最後に、タスクスケジューラ101は、実行状態にするタスクの切替を行う(S13)。ここで、実行状態にするタスクの命令コードはプリフェッチ部103によって、すでにキャッシュメモリ22にプリフェッチされているので、CPUは切り替えるタスクの命令コードに対して高速にアクセスすることが可能である。
【0049】
<実施形態の効果>
本実施形態に係るタスク管理装置によれば、タスクが実行状態になる前までに、そのタスクを構成する命令コードをキャッシュメモリにプリフェッチすることが可能となる。したがって、キャッシュミスヒットを回避することができ、タスク切替時のメモリアクセスによる実行遅延を減少させることができる。
【0050】
また、タスクの実行順序を管理するタスク管理テーブルに基づいてプリフェッチする命令コードを決定しているため、プリフェッチしたが実際にはCPUに読み込まれないという状況が発生せず、効率的なプリフェッチを行うことができる。
【0051】
また、タスクスケジューラ101とプリフェッチ部103が、どのタイミングでどの命令コードをプリフェッチするかを判断しているため、プログラム作成者が(タスクの)プ
ログラムの中に明示的にキャッシュ制御に関する処理コードを書く必要がなく、プログラム作成者の負担も軽減することができる。
【0052】
<変形例1>
本実施形態におけるCPU2は1階層のキャッシュメモリ22のみを有していたが、CPU1は複数階層のキャッシュメモリを有していても良い。この場合、プリフェッチ部103は、特定の階層のキャッシュメモリまで命令コードがプリフェッチされることを目的とする制御を行う。例えば、L1キャッシュとL2キャッシュの2階層のキャッシュ構成をとる場合、プリフェッチ部103は命令コードをL1キャッシュまでプリフェッチしても良く、L2キャッシュまでしかプリフェッチしなくても良い。3階層以上のキャッシュ構成の場合も同様である。
【0053】
<変形例2>
本実施形態において、タスク管理装置1はCPU2を1つのみしか有しなかったが、複数個のCPUを有するマルチプロセッサシステムとして構成されても良い。この場合、CPUの外部に設置されたキャッシュメモリをこれら複数個のCPUが共用することが好ましい。具体的な構成を図6に示す。図6では、CPU201とCPU202とが、外部キャッシュ203を共用している。CPU201およびCPU202はその内部にキャッシュメモリを有するが、プリフェッチ部103は、外部キャッシュ203に命令コードをプリフェッチする命令を発行する。これによって、CPU201がプリフェッチした命令コードをCPU202でも利用することが可能である。なお、CPUの数は2つである必要はなく、3つ以上であっても構わない。
【0054】
また、タスク管理装置1は、マルチコアシステムとして構成されても良い。すなわち、CPU2が複数のプロセッサコアを有するように構成されても良い。マルチコアシステムには様々な形態が考えられるが、その一例を図7に示す。図7に示すように、CPU2は1つのパッケージ内に、2つのプロセッサコア21a,21bを有し、それぞれがキャッシュメモリ22を共用している。なお、プロセッサコアの数は2つである必要はなく、3つ以上であっても構わない。
【0055】
なお、タスク管理装置1をマルチプロセッサシステムまたはマルチコアシステムとして構成した場合、あるプロセッサまたはプロセッサコアを、タスクスケジューラ101およびプリフェッチ部103を実行するために専用に割り当てることが好ましい。この構成によれば、タスクスケジューラ101とプリフェッチ部103を常時起動しておくことが可能となるため、命令コードのプリフェッチを遅滞なく行うことができ、命令コードに関するキャッシュミスヒットを最小限にすることが可能となる。
【0056】
<変形例3>
本実施形態においては、タスクスケジューラ101とプリフェッチ部103は、CPU2がプログラムを実行することによってその機能が実現されたが、タスクスケジューラ101とプリフェッチ部103は専用のチップとして構成されても構わない。この場合も、プリフェッチ部103は、タスクを実行するCPU2に接続されたキャッシュメモリ22に対してタスクを構成する命令コードをプリフェッチする。
【図面の簡単な説明】
【0057】
【図1】本実施形態に係るタスク管理装置のハードウェア構成を示す図である。
【図2】本実施形態におけるCPUの構成を示す図である。
【図3】本実施形態に係るタスク管理装置の機能ブロックを示す図である。
【図4】本実施形態におけるタスク管理テーブルのテーブル構成を示す図である。
【図5】本実施形態に係るタスク管理装置の処理の流れを示すフローチャートである。
【図6】マルチプロセッサシステムを説明する図である。
【図7】マルチコアシステムを説明する図である。
【符号の説明】
【0058】
1 タスク管理装置
2 CPU
3 メインメモリ
4 補助記憶装置
5 入力装置
6 出力装置
7 バス
21 プロセッサコア
22 キャッシュメモリ

【特許請求の範囲】
【請求項1】
主メモリとキャッシュメモリとを有するタスク管理装置であって、
実行予定の複数のタスクについて、各タスクの実行開始時刻および該タスクを構成する命令コードの前記主メモリにおける記憶位置を記憶するタスク管理テーブルと、
前記タスク管理テーブルに記憶されたタスクの実行開始時刻にしたがって、タスクの実行を制御するタスク管理手段と、
実行予定のタスクについて、前記タスク管理テーブルに記憶された該タスクの命令コードの記憶位置に基づいて、該命令コードを前記主メモリから前記キャッシュメモリにあらかじめ取り込むプリフェッチ手段と、
を有することを特徴とするタスク管理装置。
【請求項2】
前記タスク管理テーブルに記憶される命令コードの前記主メモリにおける記憶位置は、該命令コードの開始アドレスとサイズとして記憶される
ことを特徴とする請求項1に記載のタスク管理装置。
【請求項3】
前記プリフェッチ手段は、前記タスク管理手段が実行タスクを切り替える際に、新たに実行するタスクの命令コードを、前記主メモリから前記キャッシュメモリに取り込む
ことを特徴とする請求項1または2に記載のタスク管理装置。
【請求項4】
前記プリフェッチ手段は、前記タスク管理手段が実行タスクを切り替える際に、新たに実行するタスクより後に実行するタスクの命令コードを、前記主メモリから前記キャッシュメモリに取り込む
ことを特徴とする請求項1または2に記載のタスク管理装置。
【請求項5】
前記プリフェッチ手段は、前記タスク管理手段が実行タスク切り替える際に、今後実行する複数のタスクの命令コードをまとめて前記主メモリから前記キャッシュメモリに取り込む
ことを特徴とする請求項1または2に記載のタスク管理装置。
【請求項6】
前記タスク管理装置は、少なくとも第1および第2のプロセッサを有し、
前記タスク管理手段および前記プリフェッチ手段は、前記第1のプロセッサによって実行され、
タスクは、前記第2のプロセッサによって実行される
ことを特徴とする請求項1〜5のいずれかに記載のタスク管理装置。
【請求項7】
前記タスク管理装置は、少なくとも第1および第2のプロセッサコアを備えるプロセッサを有し、
前記タスク管理手段および前記プリフェッチ手段は、前記第1のプロセッサコアによって実行され、
タスクは、前記第2のプロセッサコアによって実行される
ことを特徴とする請求項1〜5のいずれかに記載のタスク管理装置。
【請求項8】
主メモリとキャッシュメモリとを有する情報処理装置が行うタスク管理方法であって、
実行予定の複数のタスクについて、各タスクの実行開始時刻および該タスクを構成する命令コードの前記主メモリにおける記憶位置をタスク管理テーブルに記憶するステップと、
前記タスク管理テーブルに記憶されたタスクの実行開始時刻にしたがって、タスクの実行を制御するステップと、
実行予定のタスクについて、前記タスク管理テーブルに記憶された該タスクの命令コー
ドの記憶位置に基づいて、該命令コードを前記主メモリから前記キャッシュメモリにあらかじめ取り込むステップと、
を含むことを特徴とするタスク管理方法。
【請求項9】
主メモリとキャッシュメモリとを有する情報処理装置に対して、
実行予定の複数のタスクについて、各タスクの実行開始時刻および該タスクを構成する命令コードの前記主メモリにおける記憶位置をタスク管理テーブルに記憶するステップと、
前記タスク管理テーブルに記憶されたタスクの実行開始時刻にしたがって、タスクの実行を制御するステップと、
実行予定のタスクについて、前記タスク管理テーブルに記憶された該タスクの命令コードの記憶位置に基づいて、該命令コードを前記主メモリから前記キャッシュメモリにあらかじめ取り込むステップと、
を実行させることを特徴とするタスク管理プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate