JP2008176646A - マルチプロセッサシステム - Google Patents

マルチプロセッサシステム Download PDF

Info

Publication number
JP2008176646A
JP2008176646A JP2007010621A JP2007010621A JP2008176646A JP 2008176646 A JP2008176646 A JP 2008176646A JP 2007010621 A JP2007010621 A JP 2007010621A JP 2007010621 A JP2007010621 A JP 2007010621A JP 2008176646 A JP2008176646 A JP 2008176646A
Authority
JP
Japan
Prior art keywords
task
processor
execution
interference
core
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
Application number
JP2007010621A
Other languages
English (en)
Inventor
Riyuuro Okamura
竜路 岡村
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.)
Toyota Motor Corp
Original Assignee
Toyota Motor 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 Toyota Motor Corp filed Critical Toyota Motor Corp
Priority to JP2007010621A priority Critical patent/JP2008176646A/ja
Publication of JP2008176646A publication Critical patent/JP2008176646A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Multi Processors (AREA)

Abstract

【課題】複数のプロセッサ間におけるタスクの受け渡しによるオーバーヘッドの増大、及び、タスク間の相互干渉を防止しながら処理効率を向上させるマルチプロセッサシステムを提供すること。
【解決手段】複数のプロセッサ1A、1Bのそれぞれが有するリソースを相互に利用させながらタスクを実行させるマルチプロセッサシステム100は、各プロセッサコア10A、10Bが現在実行中のタスクに関するタスク実行情報を記憶するタスクレジスタ2A、2Bと、各プロセッサコアが実行しようとするタスクとそのタスクに干渉する干渉タスクとに関するタスク干渉情報を記憶する干渉情報テーブル3と、タスク実行情報とタスク干渉情報とに基づいて第一のプロセッサコア10Aによる第二のプロセッサ1Bのリソースを用いた第二のプロセッサ1Bに属するタスクの実行を許可するか否かを判定する実行許否判定手段4とを備える。
【選択図】図1

Description

本発明は、マルチプロセッサシステムに関し、特に、各プロセッサが現在実行しているタスクに関するタスク実行情報と各プロセッサがこれから実行しようとするタスクに干渉する干渉タスクに関するタスク干渉情報とに基づいて第一のプロセッサによる第二のプロセッサのリソースを用いた第二のプロセッサに属するタスクの実行を許可するか否かを判定するマルチプロセッサシステムに関する。
従来、並列計算機における一のプロセッサ(以下、「自プロセッサ」とする。)でタスク生成要求が発生した場合、その自プロセッサ内でそのタスクを処理できるか否かを判定し、処理できないと判定したときに並列計算機における他のプロセッサ(以下、「他プロセッサ」とする。)にそのタスクの処理を依頼して自プロセッサに掛かる負荷を動的に分散する動的負荷分散方法が知られている(例えば、特許文献1参照。)。
また、この動的負荷分散方法は、要求されたタスクが自プロセッサで処理できないと判定した場合に限り他プロセッサにそのタスクの処理を依頼させるので、自プロセッサで生成要求が発生したタスクを無制限に他プロセッサに依頼して並列計算機全体の負荷を却って増大させてしまうのを防止する。
さらに、この動的負荷分散方法は、他プロセッサによるタスク処理の可否を自プロセッサに判定させるのではなく、他プロセッサのそれぞれにタスク処理の可否を判定させるので、タスク処理の可否を判定するために自プロセッサに多大な負荷が掛かってしまうのを防止する。
特開平9−237255号公報
しかしながら、特許文献1に記載の並列計算機における動的負荷分散方法は、自プロセッサが処理できなかったタスクを他プロセッサで代わりに処理させるので、両プロセッサ上で動作する各OS(Operating System)を経由させたり、他プロセッサで稼働中のタスクを中断させたりする必要があり、プロセッサ間のタスクの受け渡しによって生じるオーバーヘッドを増大させ、分散処理による効率化を図ることを目的としたタスクの細分化を困難にするという問題がある。
また、他プロセッサは、自プロセッサから依頼を受ける度に、自プロセッサから依頼されたタスクと他プロセッサで実行中のタスクとの間で優先順位を決定する必要があり、他プロセッサにおける処理負荷を増大させてしまうという問題がある。優先順位を決定しなければ、相互に干渉するタスクを同時期に実行させてしまう場合もあるからである。
上述の点に鑑み、本発明は、複数のプロセッサ間におけるタスクの受け渡しによるオーバーヘッドの増大、及び、タスク間の相互干渉を防止しながら処理効率を向上させるマルチプロセッサシステムを提供することを目的とする。
上述の目的を達成するために、第一の発明に係るマルチプロセッサシステムは、複数のプロセッサのそれぞれが有するリソースを相互に利用させながらタスクを実行させるマルチプロセッサシステムであって、第一のプロセッサによる第二のプロセッサのリソースを用いた該第二のプロセッサに属するタスクの実行を許可するか否かを判定する実行許否判定手段を備えることを特徴とする。
また、第二の発明は、第一の発明に係るマルチプロセッサシステムであって、各プロセッサが現在実行しているタスクに関するタスク実行情報を記憶するタスクレジスタを更に備え、前記実行許否判定手段は、前記タスクレジスタに記憶されたタスク実行情報に基づいて前記第一のプロセッサによる前記第二のプロセッサのリソースを用いた前記第二のプロセッサに属するタスクの実行を許可するか否かを判定することを特徴とする。
また、第三の発明は、第一又は第二の発明に係るマルチプロセッサシステムであって、各プロセッサが実行しようとするタスクと該タスクに干渉する干渉タスクとに関するタスク干渉情報を記憶する干渉情報テーブルを更に備え、前記実行許否判定手段は、前記タスクレジスタに記憶されたタスク実行情報と前記干渉情報テーブルに記憶されたタスク干渉情報とに基づいて前記第一のプロセッサによる前記第二のプロセッサのリソースを用いた前記第二のプロセッサに属するタスクの実行を許可するか否かを判定することを特徴とする。
また、第四の発明は、第三の発明に係るマルチプロセッサシステムであって、前記干渉タスクは、プロセッサが実行しようとするタスク自身を含むことを特徴とする。
また、第五の発明は、第三又は第四の発明に係るマルチプロセッサシステムであって、前記実行許否判定手段は、前記タスク実行情報及び前記干渉情報テーブルを参照して前記第二のプロセッサが実行しているタスクと前記第一のプロセッサが実行しようとする前記第二のプロセッサに属するタスクとが並列実行可能であるか否かを判定し、並列実行が可能である場合に限り、前記第一のプロセッサによる前記第二のプロセッサのリソースを用いた前記第二のプロセッサに属するタスクの実行を許可することを特徴とする。
上述の手段により、本発明は、処理のオーバーヘッド増大、及び、タスク間の相互干渉を防止しながらシステム全体の処理効率を向上させるマルチプロセッサシステムを提供することができる。
以下、図面を参照しつつ、本発明を実施するための最良の形態の説明を行う。
図1は、本発明に係るマルチプロセッサシステムの構成例を示す図であり、マルチプロセッサシステム100は、第一演算回路1A、第二演算回路1B、第一タスクレジスタ2A、第二タスクレジスタ2B、干渉情報テーブル3、実行許否判定回路4、及び、設定レジスタ50〜55から構成される。
なお、各構成要素を結ぶ太線は、常時接続を意味し、各構成要素を結ぶ鎖線は、接続と非接続とがハードウェア的に切り替えられる接続を意味する。また、矢印は、情報が流れる向きを示す。
マルチプロセッサシステム100は、二以上のプロセッサコアを一個のプロセッサパッケージに集積したマルチコアプロセッサをLSI(Large-Scale Integrated circuit)上に一個又は複数個備えたシステムであってもよく、一個のプロセッサコアを有するシングルコアプロセッサをLSI上に複数備えたシステムであってもよい。
また、マルチプロセッサシステム100は、全てのプロセッサが対等となる対称型マルチプロセッサ構成であってもよく、プロセッサ毎に異なる処理内容が予め決定される非対称型マルチプロセッサ構成(機能分散型マルチプロセッサ構成ともいう。)であってもよい。
また、マルチプロセッサシステム100は、ROM(Read Only Memory)、RAM(Random Access Memory)等の物理的に独立したローカルメモリを有する粗結合マルチプロセッサ構成を採用するが、物理的に一体であるメモリをレジスタの設定により区分することで擬似的なローカルメモリを構成する密結合マルチプロセッサ構成(分散共有型マルチプロセッサ構成ともいう。)であってもよい。
第一演算回路1Aは、各種タスクを実行するための電子回路であり、プロセッサコア10A、ROM11A、RAM12A及びIO(Input/Output)回路13Aから構成される。
第一演算回路1Aは、ROM11Aに記憶された、各タスクに対応するプログラムをRAM12Aにロードして各種タスクをプロセッサコア10Aに実行させ、IO回路13A及び各種入出力回路を介して各種制御装置(例えば、エンジン回転制御装置がある。)との間で制御信号を送受信し、各種制御装置を制御する。
第二演算回路1Bは、第一演算回路1Aと同様に、プロセッサコア10B、ROM11B、RAM12B及びIO回路13Bから構成され、各種制御装置との間で制御信号を送受信し、第一演算回路1Aが制御する制御装置との間でも制御信号の送受信ができるようにする。
なお、第一演算回路1A及び第二演算回路1Bは、それぞれ、実行許否判定回路4に接続される。
第一タスクレジスタ2A及び第二タスクレジスタ2Bは、各演算回路が現在実行しているタスクを管理するためのレジスタであり、例えば、実行中のタスクを識別するためのタスクID(識別番号)を記憶する。なお、第一タスクレジスタ2A及び第二タスクレジスタ2Bは、それぞれ、実行許否判定回路4に接続される。
本実施例において、第一タスクレジスタ2Aは、第一演算回路1Aのプロセッサコア10Aが現在実行しているタスクのタスクIDを記憶し、第二タスクレジスタ2Bは、第二演算回路1Bのプロセッサコア10Bが現在実行しているタスクのタスクIDを記憶する。
なお、マルチプロセッサシステム100は、共通のタスクレジスタが第一演算回路1A及び第二演算回路1Bにおいて現在実行されているタスクのタスクIDを記憶するように構成されてもよい。
また、第一タスクレジスタ2A及び第二タスクレジスタ2Bは、第一演算回路1A及び第二演算回路1Bが現在実行しているタスクのタスクIDを記憶するが、第一演算回路1A及び第二演算回路1Bが実行する予定であるタスクのタスクIDを記憶するようにしてもよい。
干渉情報テーブル3は、干渉タスクに関する情報を登録したテーブルであり、例えば、プロセッサコア10A及びプロセッサコア10Bの少なくとも一方で同時期に重複して実行(以下、「並列実行」とする。)することができないタスクの組み合わせをタスク干渉情報として記憶する。なお、干渉情報テーブル3は、NVRAMやROM等の不揮発性記憶媒体に格納され、実行許否判定回路4に接続される。
「干渉タスク」とは、共用する変数の値を書き換えるおそれがあったり、利用するIO回路が重複したり、処理負荷が過大になってしまったりといった理由により、実行が予定されるタスク(以下、「実行予定タスク」という。)との並列実行が禁止されるタスクをいい、実行予定タスクに対し、その実行予定タスク自身が干渉タスクとなる場合もあり、或いは、実行予定タスクに対し、その実行予定タスクが属する演算回路とは異なる演算回路に属するタスク、又は、その実行予定タスクが属する演算回路と同じ演算回路に属するタスクが干渉タスクとなる場合もある。
図2は、干渉情報テーブル3の構成例を示す図であり、例えば、第一演算回路1Aに属するタスク(第一演算回路1AのROM11Aに対応プログラム(以下、「タスクプログラム」という。)が格納されたタスクをいう。)αは、タスクα自身、並びに、第一演算回路1Aに属するタスクβ及びγが何れかの演算回路で実行されている間、並列実行できないことを示す。
また、図2の干渉情報テーブル3は、第一演算回路1Aに属するタスクα及びβが何れかの演算回路で実行されている間、タスクβを並列実行できないことを示し、第一演算回路1Aに属するタスクαが何れかの演算回路で実行されている間、タスクγを並列実行できないことを示す。この場合、何れかの演算回路でタスクγが実行されている場合であっても、タスクγ自身(別途生成されるタスクγをいう。)は、並列実行が可能である。
また、図2の干渉情報テーブル3は、第二演算回路1Bに属するタスクδは、干渉するタスクが存在せず、如何なる場合においても並列実行が可能であることを示す。
実行許否判定回路4は、一の演算回路におけるプロセッサコアによる、他の演算回路におけるリソースを用いた、他の演算回路に属するタスクの実行を許可するか否かを判定する回路である。
ここで、「リソース」とは、演算回路が稼動するために必要なハードウェア及びソフトウェアの環境をいい、例えば、ROM、RAM、IO回路、プログラム、専用演算回路(グラフィックアクセラレータ、DSP(Digital Signal Processor)等がある。)等がある。
例えば、実行許否判定回路4は、第二タスクレジスタ2B及び干渉情報テーブル3を参照することによりプロセッサコア10Bで実行中のタスクとそのタスクに干渉する干渉タスクとを認識し、第一演算回路1Aのプロセッサコア10Aによる、第二演算回路1Bのリソース(ROM11B、RAM12B及びIO回路13B)を用いた、第二演算回路1BのROM11Bにタスクプログラムが格納されたタスクの実行を許可するか否かを判定する。
設定レジスタ50〜55は、実行許否判定回路4からの制御信号に基づいて、一の演算回路におけるプロセッサコアによる、他の演算回路におけるリソースへのアクセスを管理する(例えば、ハードウェアによりアクセス許可、又は、アクセス禁止を切り替えることをいう。)ハードウェアである。なお、各設定レジスタは、実行許否判定回路4に接続される。
図1において、設定レジスタ50は、第一演算回路1Aにおけるプロセッサコア10Aによる、第二演算回路1BにおけるROM11Bからのタスクプログラムの呼び出しを管理し、設定レジスタ51は、プロセッサコア10BによるROM11Aからのタスクプログラムの呼び出しを管理する。
また、設定レジスタ52は、プロセッサコア10AによるRAM12Bに対する読み書きを管理し、設定レジスタ53は、プロセッサコア10BによるRAM12Aに対する読み書きを管理する。
さらに、設定レジスタ54は、プロセッサコア10AによるIO回路13Bの利用を管理し、設定レジスタ55は、プロセッサコア10BによるIO回路13Aの利用を管理する。
実行許否判定回路4は、第一演算回路1Aにおいてタスクδの生成が要求された場合、図2に示す干渉情報テーブル3を参照することでタスクδの並列実行が禁止されていないと判定し、設定レジスタ50、52及び54に制御信号を送信して、プロセッサコア10AによるROM11Bからのタスクδに対応するタスクプログラムの呼び出しを許可し、プロセッサコア10AによるRAM12Bに対する読み書きを許可し、かつ、プロセッサコア10AによるIO回路13Bの利用を許可する。
次に、図3を参照しながら、マルチプロセッサシステム100が第一演算回路1Aにおけるプロセッサコア10Aに第二演算回路1Bにおけるリソースをアクセスさせて第二演算回路1Bに属するタスクを実行させる処理について説明する。なお、図3は、上記処理の流れを示すフローチャートである。
最初に、実行許否判定回路4は、自コア(第一演算回路1Aにおけるプロセッサコア10A)でタスクεの生成要求が発生したことを検知すると(ステップS1)、他コア(第二演算回路1Bにおけるプロセッサコア10B)に対応するタスクレジスタ(第二タスクレジスタ2B)を参照して他コアで実行されているタスクを確認する(ステップS2)。
次に、実行許否判定回路4は、干渉情報テーブル3を参照してタスクεに対する干渉タスクを取得し(ステップS3)、他コア(プロセッサコア10B)が干渉タスクを実行中であるか否かを判定する(ステップS4)。
他コア(プロセッサコア10B)が干渉タスクを実行していると判定した場合(ステップS4のYES)、実行許否判定回路4は、後述の待機処理を実行した後(ステップS5)、ステップS2乃至ステップS4を再度実行し、他コアが干渉タスクを実行していないと判定するまでこれら処理を繰り返す。
他コア(プロセッサコア10B)が干渉タスクを実行していないと判定した場合(ステップS4のNO)、実行許否判定回路4は、自コア(プロセッサコア10A)に対応するタスクレジスタ(第一タスクレジスタ2A)にタスクεを識別するためのタスクIDを記憶する(ステップS6)。
その後、実行許否判定回路4は、干渉情報テーブル3を参照してタスクεが何れのプロセッサコアに属するかを判定する(ステップS7)。
タスクεが他コアに属する場合(第二演算回路1BにおけるROM11Bにタスクεに対応するタスクプログラムが格納されている場合をいう。)(ステップS7のYES)、実行許否判定回路4は、他コアのリソース(第二演算回路1BにおけるROM11B、RAM12B及びIO回路13Bをいう。)を自コア(プロセッサコア10A)がアクセスできるよう、設定レジスタ(この場合、設定レジスタ50、52及び54)に制御信号を送信し、他コアのリソースを自コアに開放する(ステップS8)。
その後、実行許否判定回路4は、自コア(プロセッサコア10A)に、他コア(プロセッサコア10B)のリソースをアクセスさせ(ROM11Bからタスクεに対応するタスクプログラムを読み出させ、RAM12Bにそのタスクプログラムをロードさせることをいう。)、他コアに属するタスクεを実行させる(ステップS9)。
タスクεの実行を完了させると、実行許否判定回路4は、他コア(プロセッサコア10B)のリソース(第二演算回路1BにおけるROM11B、RAM12B及びIO回路13Bをいう。)を自コア(プロセッサコア10A)がアクセスできないよう、設定レジスタ(設定レジスタ50、52及び54)に再度制御信号を送信し、自コアに対する他コアのリソースの開放を中止して(ステップS10)、処理を終了させる。
一方、タスクεが自コアに属する場合(第一演算回路1AにおけるROM11Aにタスクεに対応するタスクプログラムが格納されている場合をいう。)(ステップS7のNO)、実行許否判定回路4は、自コアに、自コアのリソースを利用させ(ROM11Aからタスクεに対応するタスクプログラムを読み出させ、RAM12Aにそのタスクプログラムをロードさせることをいう。)、自コアに属するタスクεを実行させて(ステップS11)、処理を終了させる。
次に、図4を参照しながら、実行許否判定回路4による待機処理について説明する。なお、図4は、待機処理の流れを示すフローチャートである。
最初に、実行許否判定回路4は、干渉情報テーブル3を参照して、他コア(プロセッサコア10B)が実行する干渉タスクが他コアに属するか否か(第二演算回路1BのROM11Bに干渉タスクに対応するタスクプログラムが格納されているか否か)を判定する(ステップS20)。
他コア(プロセッサコア10B)が実行する干渉タスクが他コアに属すると判定した場合(ステップS20のYES)、実行許否判定回路4は、自コア(プロセッサコア10A)を待機状態にし(ステップS21)、他コアにおける干渉タスクが終了するまで自コアを待機させるようにして待機処理を終了させる。
なお、自コア(プロセッサコア10A)は、実行許否判定回路4により待機状態とされた場合であっても、優先度のより高いタスクの実行が要求された場合には、待機状態を解除し、そのタスクを優先的に実行するようにしてもよい。
一方、他コア(プロセッサコア10B)が実行する干渉タスクが自コアに属する(第一演算回路1AのROM11Aに干渉タスクに対応するタスクプログラムが格納されている)と判定した場合(ステップS20のNO)、実行許否判定回路4は、他コア(プロセッサコア10B)における干渉タスクを中止(これまでの処理をキャンセルして即座に干渉タスクを終了させることをいう。)させた上で他コアを待機状態にし(ステップS22)、自コアのリソース(第一演算回路1AにおけるROM11A、RAM12A及びIO回路13Aをいう。)を他コアがアクセスできないよう、設定レジスタ(設定レジスタ51、53及び55)に制御信号を送信し、他コアに対する自コアのリソースの開放を中止して(ステップS23)、待機処理を終了させる。
なお、実行許否判定回路4は、他コア(プロセッサコア10B)が実行する干渉タスクが自コア(プロセッサコア10A)に属すると判定した場合に、他コアにおける干渉タスクを中止させるのではなく、他コアにおける干渉タスクを中断(これまでの処理を保存して再開可能に干渉タスクを終了させることをいう。)させた上で他コアを待機状態にするようにしてもよい。
また、上述の実施例において、実行許否判定回路4は、干渉タスクが属するプロセッサコアを優先させるために、干渉タスクが属していないプロセッサコアにおける干渉タスクの実行を中止させたが、干渉タスクの種類に応じて優先させるプロセッサコアを決定するようにしてもよい。
以上の構成により、マルチプロセッサシステム100は、従来ならば他プロセッサコアに代行を依頼していたタスクを、OSを介することなく他プロセッサコアのリソースを利用しながら自プロセッサコアで実行できるようにするので、自プロセッサコアを無駄に待機させたり、他プロセッサコアの処理を中止又は中断させたり、或いは、OSを介してプロセッサコア間でタスクを受け渡したりすることによるオーバーヘッドの増大を防止し、システム全体の処理効率を向上させることができる。
また、マルチプロセッサシステム100は、第一タスクレジスタ2A、第二タスクレジスタ2Bを参照して各演算回路が実行中のタスクを把握した上で、設定レジスタによりハードウェア的にタスク間の相互干渉を防止するので、変数の値が同時期に書き込まれてしまうことによりその値、ひいては、タスクの処理が破壊されてしまうのを確実に防止することができる。
また、マルチプロセッサシステム100は、干渉情報テーブル3を参照して各演算回路で実行しようとするタスクとその干渉タスクを把握した上で、設定レジスタによりハードウェア的にタスク間の相互干渉を防止するので、同一タスクの並列実行による干渉だけでなく、変数を共用するような関連タスクの並列実行による干渉をも防止することができる。
以上、本発明の好ましい実施例について詳説したが、本発明は、上述した実施例に制限されることはなく、本発明の範囲を逸脱することなしに上述した実施例に種々の変形及び置換を加えることができる。
例えば、上述の実施例では、タスク単位での干渉を防止しながら複数のプロセッサのそれぞれが有するリソースを相互に利用させて処理の効率化を図るが、アプリケーションソフトウェア単位で干渉を防止しながら複数のプロセッサのそれぞれが有するリソースを相互に利用させて処理の効率化を図るようにしてもよい。
これにより、マルチプロセッサシステム100は、タスク単位での管理に比べ、より簡易な構成により処理の効率化を図ることができる。
また、上述の実施例において、マルチプロセッサシステム100は、2セットの演算回路を備えるが、3セット以上の演算回路を備え、一又は複数の実行許否判定回路4により、各演算回路のリソースを各演算回路のプロセッサコアに相互に利用させるようにしてもよい。
本発明に係るマルチプロセッサシステムの構成例を示す図である。 干渉情報テーブルの構成例を示す図である。 マルチプロセッサシステムが第一演算回路におけるプロセッサコアに第二演算回路におけるリソースをアクセスさせて第二演算回路に属するタスクを実行させる処理の流れを示すフローチャートである。 実行許否判定回路による待機処理の流れを示すフローチャートである。
符号の説明
1A、1B 演算回路
2A、2B タスクレジスタ
3 干渉情報テーブル
4 実行許否判定回路
10A、10B プロセッサコア
11A、11B ROM
12A、12B RAM
13A、13B IO回路
50〜55 設定レジスタ
100 マルチプロセッサシステム

Claims (5)

  1. 複数のプロセッサのそれぞれが有するリソースを相互に利用させながら処理を実行させるマルチプロセッサシステムであって、
    第一のプロセッサによる第二のプロセッサのリソースを用いた該第二のプロセッサに属する処理の実行を許可するか否かを判定する実行許否判定手段、
    を備えることを特徴とするマルチプロセッサシステム。
  2. 各プロセッサが現在実行しているタスクに関するタスク実行情報を記憶するタスクレジスタを更に備え、
    前記実行許否判定手段は、前記タスクレジスタに記憶されたタスク実行情報に基づいて前記第一のプロセッサによる前記第二のプロセッサのリソースを用いた前記第二のプロセッサに属するタスクの実行を許可するか否かを判定する、
    ことを特徴とする請求項1に記載のマルチプロセッサシステム。
  3. 各プロセッサが実行しようとするタスクと該タスクに干渉する干渉タスクとに関するタスク干渉情報を記憶する干渉情報テーブルを更に備え、
    前記実行許否判定手段は、前記タスクレジスタに記憶されたタスク実行情報と前記干渉情報テーブルに記憶されたタスク干渉情報とに基づいて前記第一のプロセッサによる前記第二のプロセッサのリソースを用いた前記第二のプロセッサに属するタスクの実行を許可するか否かを判定する、
    ことを特徴とする請求項1または2に記載のマルチプロセッサシステム。
  4. 前記干渉タスクは、プロセッサが実行しようとするタスク自身を含む、
    ことを特徴とする請求項3に記載のマルチプロセッサシステム。
  5. 前記実行許否判定手段は、前記タスク実行情報及び前記干渉情報テーブルを参照して前記第二のプロセッサが実行しているタスクと前記第一のプロセッサが実行しようとする前記第二のプロセッサに属するタスクとが並列実行可能であるか否かを判定し、並列実行が可能である場合に限り、前記第一のプロセッサによる前記第二のプロセッサのリソースを用いた前記第二のプロセッサに属するタスクの実行を許可する、
    ことを特徴とする請求項3又は4に記載のマルチプロセッサシステム。
JP2007010621A 2007-01-19 2007-01-19 マルチプロセッサシステム Pending JP2008176646A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007010621A JP2008176646A (ja) 2007-01-19 2007-01-19 マルチプロセッサシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007010621A JP2008176646A (ja) 2007-01-19 2007-01-19 マルチプロセッサシステム

Publications (1)

Publication Number Publication Date
JP2008176646A true JP2008176646A (ja) 2008-07-31

Family

ID=39703607

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007010621A Pending JP2008176646A (ja) 2007-01-19 2007-01-19 マルチプロセッサシステム

Country Status (1)

Country Link
JP (1) JP2008176646A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101669555B1 (ko) * 2015-07-28 2016-10-26 울산과학기술원 어플리케이션에 자원을 할당하는 장치 및 방법
US12019787B2 (en) 2019-04-19 2024-06-25 Hitachi Astemo, Ltd. Arithmetic device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101669555B1 (ko) * 2015-07-28 2016-10-26 울산과학기술원 어플리케이션에 자원을 할당하는 장치 및 방법
US12019787B2 (en) 2019-04-19 2024-06-25 Hitachi Astemo, Ltd. Arithmetic device

Similar Documents

Publication Publication Date Title
JP5546529B2 (ja) 待機状態にあるプロセッサ実行リソースの共有
JP6486485B2 (ja) 車載制御装置
TWI470552B (zh) Data processor
JP4576452B2 (ja) オペレーティングシステムおよび情報処理装置
JP5243711B2 (ja) プロセッサ
JP5745868B2 (ja) マルチプロセッサシステム
JP6296678B2 (ja) ソフトリアルタイムオペレーティングシステムの実時間性を確保する方法及び装置
JP2007257257A (ja) マルチタスクシステムにおけるタスク実行環境切替え方法
CN101310257A (zh) 多处理器***和用于使计算机执行多处理器***的控制方法的程序
US20110231856A1 (en) System and method for dynamically managing tasks for data parallel processing on multi-core system
JP2009140256A (ja) データ処理装置及びアドレス空間保護方法
JP5338435B2 (ja) 情報処理プログラム、情報処理装置および情報処理方法
JP2008152470A (ja) データ処理システム及び半導体集積回路
JP2012150583A5 (ja)
JP2008176646A (ja) マルチプロセッサシステム
JP2007334432A (ja) 情報処理装置及びそのアクセス制御方法
JP2002297556A (ja) マルチプロセッサシステム,マルチプロセッサ制御方法,マルチプロセッサ制御プログラムおよび同プログラムを記録したコンピュータ読取可能な記録媒体
JP2008015720A (ja) プロセッサシステム及びプロセッサシステムを動作させるオペレーティングシステムプログラムの処理方法
JP3893136B2 (ja) 組込みコンピュータ制御プログラム、そのプログラムを記録した記録媒体、及び組込みシステム
US20130247065A1 (en) Apparatus and method for executing multi-operating systems
CN111737013B (zh) 芯片的资源管理方法、装置、存储介质及***芯片
JP4017005B2 (ja) 演算装置
US7770046B2 (en) Management of time information within a plurality of execution spaces
JP2010026575A (ja) スケジューリング方法およびスケジューリング装置並びにマルチプロセッサシステム
JP2023091314A (ja) 半導体装置、半導体装置の制御方法及びプログラム