JPH076143A - タスク起動要求伝達装置 - Google Patents

タスク起動要求伝達装置

Info

Publication number
JPH076143A
JPH076143A JP14798593A JP14798593A JPH076143A JP H076143 A JPH076143 A JP H076143A JP 14798593 A JP14798593 A JP 14798593A JP 14798593 A JP14798593 A JP 14798593A JP H076143 A JPH076143 A JP H076143A
Authority
JP
Japan
Prior art keywords
task
activation request
request
cpu
task activation
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
JP14798593A
Other languages
English (en)
Inventor
Tsukasa Suenaga
司 末永
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP14798593A priority Critical patent/JPH076143A/ja
Publication of JPH076143A publication Critical patent/JPH076143A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

(57)【要約】 【目的】 マルチプロセッサシステムにおけるタスク起
動要求処理での余分な割込み処理を削除し、高速なタス
クスケジューリングを実現するである。 【構成】 CPU20で実行中のタスク23が待ち状態
のタスク61の起動要求を発行すると、この起動要求は
管理機構50に伝えられ、その情報が保持される。各C
PU30、40は、待ち状態にある時、管理機構50を
チェックし、起動要求の有無を監視する。起動要求が存
在する場合、CPU30、40は自己に割込みを発行
し、この起動要求の処理を開始する。同一のタスク起動
要求に対する複数CPUの並列動作を防止するため、あ
るCPUがタスク起動処理を開始すると、フラグ40を
セットし、フラグ40がセットされている期間は、他の
CPUはタスク起動のためのに管理機構50をチェック
する処理を実行しない。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明はタスク起動要求伝達装
置、特に、複数のCPUを有する計算機システムにおけ
る起動要求伝達装置に関する。
【0002】
【従来の技術】従来のタスク起動要求伝達装置では、他
のタスクを起動したいタスクは、自己が走行しているC
PUにタスク起動要求を処理するための割込みを発行
し、そのCPUが、割込み処理の中で、CPU間通信機
能を使って、待ち状態のCPUにタスク起動要求処理を
行う割込みを入れることでタスク起動要求を伝達すると
いう方法を取っている。
【0003】
【発明が解決しようとする課題】従来のタスク起動要求
伝達装置では、タスク起動要求の伝達を行うのに、自ら
が実行中のCPUにまず割込みを入れ、次に、他のCP
Uの動作状態を調べた後、ウエイト状態のCPUに通信
を行い、タスク起動要求処理のための割込みを入れると
いう複雑な手続きを取る必要がある。また、2度の割込
みが、タスク起動要求から実際に対象タスクが実行に移
るまでのタスクスケジューリング処理において、オーバ
ーヘッドとなり、システムの効率が低下するという問題
があった。
【0004】本発明は、上記実情に鑑みてされたもの
で、複数CPUを有する計算機システムにおけるタスク
起動要求処理での余分な割込み処理を削除することによ
り、高速なタスクスケジューリングを実現することを目
的とする。
【0005】
【課題を解決するための手段】上記目的を達成するた
め、この発明にかかるタスク起動要求の伝達装置は、タ
スクを実行し、該タスクの要求に基づいて待ち状態のタ
スクの起動の要求を発行する起動要求発行手段と、前記
起動要求発行手段により発行されたタスク起動要求を管
理するための管理機構と、上記管理機構を監視して起動
要求の有無を識別する識別手段と、前記識別手段により
起動要求があると認識された場合に、前記起動要求に基
づいて待ち状態のタスクを起動させるための割込みを起
こす手段と、前記割込みに応答して、待ち状態のタスク
を起動する起動手段、を備えることを特徴とする。
【0006】
【作用】上記構成において、起動要求発行手段と起動手
段は、例えば、マルチプロセッサシステムを構成するプ
ロセッサの一機能として実現される。このような構成に
おいては、CPUで実行中のタスクが待ち状態のタスク
の起動要求を発行すると、この起動要求は管理機構に伝
えられる。
【0007】一方、各CPUは、例えば、待ち状態にあ
る時、即ち、実行タスクがない時や割込み処理を行って
いない時は、タスク起動要求監視を行うか否かを識別
し、タスク起動要求を行う場合には、管理機構をチェッ
クし、起動要求の有無を監視する。起動要求が存在する
場合、そのCPUは自己に割込みを発行し、この起動要
求の処理を開始する。
【0008】したがって、あるCPUが待ち状態にある
時、他のCPUからタスク起動要求があると、待ち状態
のCPUに即座に割込みが入り、タスク起動処理が実行
される。従って、割込みは1回で済む。
【0009】
【実施例】以下図面を参照して、この発明の一実施例に
かかるマルチプロセッサシステムにおけるタスク起動要
求伝達装置を説明する。まず、図1は本発明の一実施例
にかかるマルチプロセッサシステムの機能構成を示す。
CPU群10は、複数のCPUを備え、図1では3つの
CPU20、30、40を例示する。CPU20、3
0、40内には、タスク起動要求を処理する割込み機構
21、31、41とタスク起動要求監視機構22、3
2、42が配置される。CPU20がタスク23を実行
中であり、タスク23が待ち状態タスク群60の中の待
ち状態タスク61の起動をタスク起動要求24を発行し
て要求していると仮定する。
【0010】タスク起動要求監視フラグ63は、タスク
起動要求監視を行うか否かを、タスク起動要求管理機構
50が判断するために使用されるものであり、CPU群
10内のCPUによりセット・リセットされる。
【0011】タスク起動要求24は、タスク起動要求管
理機構50により管理される。タスク起動要求管理機構
50はキュー構造を有し、タスク起動要求キューエント
リ51とキューに入れられたタスク起動要求制御ブロッ
ク52から構成される。タスク起動要求制御ブロック5
2は、起動したいタスクの識別子、要求を発行したタス
クの識別子、要求を発行したCPUの識別子などを含む
データブロックであり、要求毎に生成される。
【0012】待ち状態のタスク群60の中のタスク61
へは、タスク起動要求が伝達されることでCPUが割り
付けられ、実行状態に移る。上述のタスク起動要求管理
機構50は、例えば、プロセッサ群10にバスを介して
接続されたメモリ上に形成されたキュー構造と、各CP
Uのオペレーテングシステムのタスク起動要求を管理す
る機能及びキュー管理機能により実現される。また、フ
ラグ63もそのメモリの所定領域に記憶される。
【0013】次に、タスク起動要求伝達処理の流れを、
図1の構成図、図2のタスク起動要求処理のフローチャ
ート、図3のタスク起動要求監視処理のフローチャー
ト、図4のタスク起動要求割込み処理のフローチャート
を用いて説明する。
【0014】タスクを実行中のCPUは、実行中のタス
クが他のタスクを起動することを要求すると、起動要求
に応答し、タスク起動要求管理機構50上(物理的に
は、例えば、主メモリ上)に、タスク起動要求制御ブロ
ック52を保存するための領域を確保する(ステップ2
01)。次に、そのCPUは確保した領域に、所定フォ
ーマットで、起動したいタスクの識別子、要求を発行し
たタスクの識別子、要求を発行したCPUの識別子など
を含むタスク起動要求制御ブロックを作成する(ステッ
プ202)。次に、そのCPUは、作成したタスク起動
要求制御ブロックをタスク起動要求キューに登録する
(ステップ203)。以上で、CPUは、待ち状態タス
クを起動するための処理を終了し、実行中のタスクの処
理を続行する。
【0015】各CPUは、タスク起動要求の監視のた
め、図3に示す処理を実行する。まず、CPUは、その
CPU自身がウエイト状態か否かをチェックする。この
チェックは、例えば、プログラムステータスワードをチ
ェックすることにより、容易に判別できる。CPUがウ
エイト状態でないときは、タスクや割込み処理を実行す
る(ステップ306)。
【0016】CPUがウエイト状態の場合、タスク起動
要求監視を行うか否かをタスク起動要求監視フラグ63
を用いて判断する(ステップ302)。タスク起動要求
監視フラグ63がオンされているということは、他のC
PUがすでにタスク起動要求監視のための処理を実行し
ていることを意味する。そこで、並列的な実行を避ける
ため、タスク起動要求監視フラグ63がオン状態の時
は、フローはステップ301にリターンする。
【0017】タスク起動要求監視フラグ63がオフのと
き、CPUはタスク起動要求キューエントリ51を参照
し、タスク起動要求があるか否か、即ち、タスク起動要
求キューにセットされたタスク起動要求制御ブロックが
存在するか否かを判断する(ステップ303)。タスク
起動要求が存在する場合は、他のCPUでのタスク起動
要求監視処理を禁止するため、タスク起動要求フラグ6
3をオンし(ステップS304)、自CPU内のタスク
起動要求割込み機構(21、31、41)に割込みをか
ける(ステップ305)。なお、タスク起動要求監視フ
ラグ63がオン状態の時やタスク起動要求が存在しない
場合は要求を満たすまで、処理は無限ループする。
【0018】一方、ステップ305で発行された割込み
に応答し、タスク起動要求割込み機構(21、31)
は、タスク起動要求管理機構50から対応するタスク起
動要求制御ブロックを取り込むと共に削除し(ステップ
401)、タスク起動要求監視フラグ63をオフする
(ステップ402)。これにより、例えば、複数のタス
ク起動要求が存在する場合等に、他のウエイト状態のC
PUが次の待ち状態タスクの起動処理を実行することが
可能となる。
【0019】次に、起動要求制御ブロック内に指定され
た情報に従って起動対象の待ち状態タスク61を実行す
べくスケジューリング処理が実行され(ステップS40
3)、待ち状態タスク61を実行状態61´に移す(ス
テップ404)。
【0020】以上の一連の動作により、タスクを実行中
のCPUからウエイト状態の他のCPUへのタスク起動
要求の伝達が終了する。次に、CPU20が実行中のタ
スク23が待ち状態タスク61の起動を要求し、ウエイ
ト状態のCPU30と40のうち、CPU30が待ち状
態タスク61を起動する場合を例にタスク起動要求の伝
達動作を具体的に説明する。
【0021】タスク23を実行中のCPU20は、実行
中のタスク23が他のタスク61を起動することを要求
すると、タスク起動要求管理機構50上に、タスク起動
要求制御ブロック52を保存するための領域を確保する
(ステップ201)。次に、CPU20は確保した領域
に、所定フォーマットで、起動したいタスク61の識別
子、要求を発行したタスク23の識別子、要求を発行し
たCPU20の識別子などを含むタスク起動要求制御ブ
ロックを作成する(ステップ202)。次に、CPU2
0は、作成したタスク起動要求制御ブロック52をタス
ク起動要求キューに登録する(ステップ203)。以上
で、CPU20は、タスクを起動するための処理を終了
し、タスク23の処理を続行する。
【0022】ウエイト状態のCPU30と40は、図3
に示すタスク起動要求監視処理を実行しており、ステッ
プ301でウエイト状態を検出し、つぎに、ステップ3
02でタスク起動要求監視フラグ63のオン・オフをチ
ェックする。なお、CPU20も、図3の処理を実行す
るが、タスク23を実行中であり、ウエイト状態ではな
いため、フローはステップ301から306に進み、タ
スク23の処理を続行する。
【0023】CPU30がタスク起動要求監視フラグ6
3のオン・オフをチェックした時点で、タスク起動要求
監視フラグ63がオフであったと仮定する。CPU30
はタスク起動要求キューエントリ51を参照し、タスク
起動要求があるか否か判断する(ステップ303)。こ
の例では、CPU20によりセットされたタスク起動要
求が存在するため、CPU30はタスク起動要求フラグ
63をオンし(ステップS304)、CPU30内のタ
スク起動要求割込み機構31に割込みをかける(ステッ
プ305)。この割込みに応答し、タスク起動要求割込
み機構31は、タスク起動要求管理機構50から対応す
るタスク起動要求制御ブロック52を取り込みむと共に
該ブロックをキューから削除し(ステップ401)、タ
スク起動要求監視フラグ63をオフする(ステップ40
2)。次に、取り込んだ起動要求制御ブロック52内の
情報に従って起動対象のタスク61の実行を開始する
(ステップS403、404)。
【0024】以上のようにして、CPU20からCPU
30にタスク起動要求が、1回の割込みで、伝達され
る。一方、CPU40がタスク起動要求監視フラグ63
のオン・オフをチェックした時点で、CPU30がタス
ク起動要求監視フラグ63をすでにオンしていた場合、
CPU30がタスク61の起動処理を開始してステップ
402でタスク起動要求フラグ63をオフするまで、C
PU40はステップ301、302の処理を繰り返す。
従って、CPU30と40が同一のタスク起動要求に対
し並列的に動作することが防止される。
【0025】CPU30が、待ち状態タスク61の起動
処理を開始し、ステップ402でタスク起動要求フラグ
63をオフすると、CPU40は、タスク起動要求キュ
ーエントリ51を参照し、タスク起動要求があるか否か
判断し、他のタスク起動要求が存在すればその起動処理
を実行する(ステップ303以降)。
【0026】以上説明したように、この実施例によれ
ば、タスクの起動を要求するCPU(タスク)は、フラ
グ起動要求管理機構59内のキューにタスク起動要求制
御ブロック52をセットするだけでよい。また、ウエイ
ト状態のCPUが自らタスク起動要求管理機構50を監
視し、起動要求が存在する場合には、それを実行する。
従って、あるタスクを実行中のCPUに他のタスクを起
動するために割込みをかけるというオーバーヘッドを削
除できる。さらに、CPUウエイト状態でのタスク起動
要求監視をソフトエウアウエアではなく、ハードウエア
(ファームウエアを含む)で行うことにより、より高速
な処理が可能となる。
【0027】なお、この発明は上記実施例に限定されな
い。例えば、上記実施例では、タスク起動要求24に応
答して、タスク起動要求制御ブロック52を生成し、タ
スク起動要求管理機構50内のタスク起動要求キユーに
セットしたが、ウエイト状態のCPUがタスク起動要求
の存在をチェックできるならば、他の構成を使用しても
よい。
【0028】また、タスク起動要求フラグ63のセッ
ト、リセットのタイミングも上記実施例に限定されるも
のではなく、さらに、ウエイト状態のCPUが排他的に
タスク起動要求処理を実行できるならば、他の排他制御
の機構を使用してもよい。
【0029】
【発明の効果】複数のCPUを有する計算機システムで
のタスク起動処理において、ウエイト状態のCPUがタ
スク起動要求管理機構の監視を行うことにより、タスク
を実行中のCPUに他のタスク起動のための割込みをか
けるというオーバーヘッドを削除できる。さらに、CP
Uウエイト状態でのタスク起動要求監視をソフトエウア
ウエアではなく、ハードウエア(ファームウエアを含
む)で行うことにより、より高速な処理が可能となる。
【図面の簡単な説明】
【図1】この発明の一実施例にかかるタスク起動要求伝
達装置を備えるマルチプロセッサシステムの構成を示す
ブロック図。
【図2】あるタスクが他のタスクの起動を要求した場合
のCPUの動作を示すフローチャート。
【図3】各CPUが実行する、タスク起動要求監視処理
を示すフローチャート。
【図4】待ち状態のタスクを起動するためにCPUが実
行する割込み処理のフローチャート。
【符号の説明】
10…CPU群、20、30、40…CPU、21、3
2、41…タスク起動要求割込み機構、22、32、4
2…タスク起動要求監視機構、23…タスク、50…タ
スク起動要求管理機構、51…タスク起動要求キュー、
52…タスク起動要求制御ブロック、60…待ち状態タ
スク群、61…タスク23により起動が要求された待ち
状態タスク、63…タスク起動要求フラグ。

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】複数の中央処理装置を有する計算機システ
    ムにおけるタスク起動要求の伝達装置において、 タスクを実行し、該タスクの要求に基づいて待ち状態の
    タスクの起動の要求を発行する起動要求発行手段と、 前記起動要求発行手段により発行されたタスク起動要求
    を管理するための管理機構と、 上記管理機構を監視して起動要求の有無を識別する識別
    手段と、 前記識別手段により起動要求があると認識された場合
    に、前記起動要求に基づいて待ち状態のタスクを起動さ
    せるための割込みを起こす手段と、 前記割込みに応答して、待ち状態のタスクを起動する手
    段、を備えることを特徴とするタスク起動要求の伝達装
    置。
  2. 【請求項2】タスクを実行する複数のプロセッサとデー
    タを記憶する記憶手段を備えるマルチプロセッサシステ
    ムにおいて、各プロセッサは自己が実行中のタスクが待
    ち状態タスクの起動の要求を発行した際に、前記記憶手
    段に該待ち状態タスクの起動を指示する起動要求情報を
    セットする起動要求発行手段と、前記記憶手段の記憶内
    容をチェックし、前記記憶手段に起動要求情報がセット
    されている際、該起動要求情報に基づいて、待ち状態タ
    スクを起動する手段、を備えることを特徴とするマルチ
    プロセッサシステム。
JP14798593A 1993-06-18 1993-06-18 タスク起動要求伝達装置 Pending JPH076143A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP14798593A JPH076143A (ja) 1993-06-18 1993-06-18 タスク起動要求伝達装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP14798593A JPH076143A (ja) 1993-06-18 1993-06-18 タスク起動要求伝達装置

Publications (1)

Publication Number Publication Date
JPH076143A true JPH076143A (ja) 1995-01-10

Family

ID=15442562

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14798593A Pending JPH076143A (ja) 1993-06-18 1993-06-18 タスク起動要求伝達装置

Country Status (1)

Country Link
JP (1) JPH076143A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100376056B1 (ko) * 1995-12-29 2003-07-22 엘지엔시스(주) 멀티 프로세서 인터럽트 처리장치

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100376056B1 (ko) * 1995-12-29 2003-07-22 엘지엔시스(주) 멀티 프로세서 인터럽트 처리장치

Similar Documents

Publication Publication Date Title
JP2514299B2 (ja) プロセスレベルプログラミングのための割込み処理の直列化方法
US4725946A (en) P and V instructions for semaphore architecture in a multiprogramming/multiprocessing environment
JPH1097509A (ja) 対称型マルチプロセッサ・システムにおいて割り込みを分散する方法および装置
US5507032A (en) Multiprocessor I/O request control system forming device drive queue and processor interrupt queue from rows and cells of I/O request table and interrupt request table
JP2539352B2 (ja) 階層型多重計算機システム
JP2870254B2 (ja) 仮想計算機の入出力割り込み処理方式
US20060184942A1 (en) System, method and medium for using and/or providing operating system information to acquire a hybrid user/operating system lock
JPS63310051A (ja) プログラム入出力命令を含む入出力プロセスの実行方法および装置
JPH07160656A (ja) 外部割込み制御方法
JP2001282558A (ja) マルチオペレーティング計算機システム
JPH076143A (ja) タスク起動要求伝達装置
JPH0926888A (ja) 排他制御装置
JPH01137359A (ja) プロセッサの制御方法
JPH01305461A (ja) バス使用権制御方式
JP2872042B2 (ja) 共有メモリアクセス方式
JPH04302352A (ja) マルチプロセッサシステム
JPH0981526A (ja) マルチプロセッサシステム
JPH03257634A (ja) プログラム並列実行方法とその装置
JPH09218859A (ja) マルチプロセッサ制御システム
JP2976343B2 (ja) 起動受け付け方法
JPS61143858A (ja) 複数のオペレ−テイングシステムの下におけるフアイルの共用方法
JP2503318B2 (ja) 文字入出力制御方式
JPH0290331A (ja) 仮想計算機システムのためのプロセツサ間通信命令処理装置
JPS603027A (ja) コンピユ−タ処理システムにおける資源管理方式
JPH06103224A (ja) 割込み制御装置