JPS62194552A - 中央処理装置のタスク同期方式 - Google Patents
中央処理装置のタスク同期方式Info
- Publication number
- JPS62194552A JPS62194552A JP61037005A JP3700586A JPS62194552A JP S62194552 A JPS62194552 A JP S62194552A JP 61037005 A JP61037005 A JP 61037005A JP 3700586 A JP3700586 A JP 3700586A JP S62194552 A JPS62194552 A JP S62194552A
- Authority
- JP
- Japan
- Prior art keywords
- trap
- synchronous
- synchronization
- register
- circuit
- 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
- 230000001360 synchronised effect Effects 0.000 claims abstract description 87
- 238000000034 method Methods 0.000 claims description 8
- 230000001934 delay Effects 0.000 claims description 3
- 230000000593 degrading effect Effects 0.000 abstract 1
- 230000006870 function Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 4
- 230000002542 deteriorative effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分骨〕
本発明は中央処理装置のタスク同期方式に関し、特にデ
バグに有効な中央処理装置のタスク同期方式に関する。
バグに有効な中央処理装置のタスク同期方式に関する。
オペレーティングシステム、特に、マルチタスク機能を
もつオペレーティングシステムにおいては、割込みや、
タスクからタスクへの事象通知等の非同期事象を制御す
るためにタスク同期機能が提供されている。
もつオペレーティングシステムにおいては、割込みや、
タスクからタスクへの事象通知等の非同期事象を制御す
るためにタスク同期機能が提供されている。
このようなタスクの同期においては、非同期事象を扱う
ということで予期しない時に事象が発生するため、オペ
レーティングシステムに係わるバグが発生しやすく、又
バグが発、生ずると、非同期ということでそのバグを再
現することが困難であり、バグの要因を発見することは
非常に困難であった。
ということで予期しない時に事象が発生するため、オペ
レーティングシステムに係わるバグが発生しやすく、又
バグが発、生ずると、非同期ということでそのバグを再
現することが困難であり、バグの要因を発見することは
非常に困難であった。
これを解決するためには、いつ非同期事象を通知および
受収りにいったか、又、いつタスクにその事象が通知さ
れたかを検出する機能があればよい。
受収りにいったか、又、いつタスクにその事象が通知さ
れたかを検出する機能があればよい。
しかしながら、従来の多くのデバッガでは、単に命令列
の流れを制御する機能(ブレイクポイント・トラップ、
シングル・ステップ・トラップ等)や、システムを構成
する資源を制御する機能(メモリダンプ、レジスタダン
プ等)のみが提供されており、このタスク同期に対する
デバグ機能は提供されておらず、ごく僅かなオペレーテ
ィングシステム専用のデバッガのみに提供されていた。
の流れを制御する機能(ブレイクポイント・トラップ、
シングル・ステップ・トラップ等)や、システムを構成
する資源を制御する機能(メモリダンプ、レジスタダン
プ等)のみが提供されており、このタスク同期に対する
デバグ機能は提供されておらず、ごく僅かなオペレーテ
ィングシステム専用のデバッガのみに提供されていた。
上述の従来のタスク同JUT方式は、非同期事象による
オペレーティングシステムに係わるバグのデバグ機能を
、オペレーティングシステムの核内に取込むと、本来の
同期の処理の他に、デバグのための処理というオーバー
ヘッドが生じ、オペレーティングシステムの性能が低下
するため、通常はオペレーティングシステムの核ではな
くオペレーティングシステムのユーティリティであるデ
バッガにこの機能を持たしていた。
オペレーティングシステムに係わるバグのデバグ機能を
、オペレーティングシステムの核内に取込むと、本来の
同期の処理の他に、デバグのための処理というオーバー
ヘッドが生じ、オペレーティングシステムの性能が低下
するため、通常はオペレーティングシステムの核ではな
くオペレーティングシステムのユーティリティであるデ
バッガにこの機能を持たしていた。
しかしながら1本来は、オペレーティングシステムの核
にあるべき機能を、オペレーティングシステムのユーテ
ィリティであるデバッガに持たせているなめ、デバッガ
においてもオペレーティングシステムの複雑な機能を実
現しなければならず、開発にかなりの労力が必要であっ
た。又、このなめ、多くのデバッガにおいては、このタ
スク同期に対するデバグ機能を提供していないのが実情
であった。
にあるべき機能を、オペレーティングシステムのユーテ
ィリティであるデバッガに持たせているなめ、デバッガ
においてもオペレーティングシステムの複雑な機能を実
現しなければならず、開発にかなりの労力が必要であっ
た。又、このなめ、多くのデバッガにおいては、このタ
スク同期に対するデバグ機能を提供していないのが実情
であった。
本発明の目的は、バグが起りやすく、かつ、バグ要因の
発見が困難なタスク同期においてオーバーヘッドなしで
性能の低下を招かず、かつ、ンフトウェアにも負担をか
けないでデバグ機能を実現することのできる中央処理装
置のタスク同期方式を提供することにある。
発見が困難なタスク同期においてオーバーヘッドなしで
性能の低下を招かず、かつ、ンフトウェアにも負担をか
けないでデバグ機能を実現することのできる中央処理装
置のタスク同期方式を提供することにある。
第1の発明の中央処理装置のタスク同期方式は、タスク
の同期の一つである事象の受取制御を行なうP操作命令
実行回路と、もう一つのタスクの同期である事象の通知
を制御するV操作命令実行回路と、前記P又はV操作命
令実行回路により要求されたタスクの同期を行なったこ
とを示す同期トラップを有効又は無効とする値を保持す
る同期トラップマスクレジスタと、該同期トラップマス
クレジスタに依り、要求された同期トラップを有効又は
無効にするゲート回路と、該ゲート回路により有効とな
った同期トラップ要求を区持する同期トラップイベント
レジスタと、該同期トラップイベン1〜レジスタに保持
された同期トラップを発生しデータバスに出力するとと
もに前記同期トラップイベントレジスタをクリアする信
号を発生するトラップ発生回路を含んで構成される。
の同期の一つである事象の受取制御を行なうP操作命令
実行回路と、もう一つのタスクの同期である事象の通知
を制御するV操作命令実行回路と、前記P又はV操作命
令実行回路により要求されたタスクの同期を行なったこ
とを示す同期トラップを有効又は無効とする値を保持す
る同期トラップマスクレジスタと、該同期トラップマス
クレジスタに依り、要求された同期トラップを有効又は
無効にするゲート回路と、該ゲート回路により有効とな
った同期トラップ要求を区持する同期トラップイベント
レジスタと、該同期トラップイベン1〜レジスタに保持
された同期トラップを発生しデータバスに出力するとと
もに前記同期トラップイベントレジスタをクリアする信
号を発生するトラップ発生回路を含んで構成される。
第2の発明の中央処理装置のタスク同期方式は、タスク
の同期の一つである事象の受取制御を行なうP操作命令
実行回路と、もう一つのタスクの同期である事象の通知
を制御するV操作命令実行回路と、H記P又は■操作命
令実行回路により要求されたタスクの同期を行なったこ
とを示す同期トラップを有効又は無効とする値を保持す
る同期トラップマスクレジスタと、該同期トラップマス
クレジスタに依り要求された同期トラップを有効又は無
効にする第1のゲート回路と、該ゲート回路により有効
となった同期トラップ要求を保持する同期トう・ソプイ
ベン1−レジスタと、該同期トラップイベントレジスタ
に保持された同期トラップを発生しデータバスに出力す
るとともに前記同期トラップイベントレジスタをクリア
する信号を発生するトラップ発生回路と、同期トラップ
の発生を抑制すべき要因を監視し、同期トラップの発生
を抑制すべき要因が発生していた場き、その要因が解消
されるまで同期トラップ発生を遅らせる同期トラップデ
ィレィ回路と、該同期トラップディレィ回路の出力によ
り前記同期トラップイベントレジスタの出力を抑制する
ための第2のゲート回路を含んで構成される。
の同期の一つである事象の受取制御を行なうP操作命令
実行回路と、もう一つのタスクの同期である事象の通知
を制御するV操作命令実行回路と、H記P又は■操作命
令実行回路により要求されたタスクの同期を行なったこ
とを示す同期トラップを有効又は無効とする値を保持す
る同期トラップマスクレジスタと、該同期トラップマス
クレジスタに依り要求された同期トラップを有効又は無
効にする第1のゲート回路と、該ゲート回路により有効
となった同期トラップ要求を保持する同期トう・ソプイ
ベン1−レジスタと、該同期トラップイベントレジスタ
に保持された同期トラップを発生しデータバスに出力す
るとともに前記同期トラップイベントレジスタをクリア
する信号を発生するトラップ発生回路と、同期トラップ
の発生を抑制すべき要因を監視し、同期トラップの発生
を抑制すべき要因が発生していた場き、その要因が解消
されるまで同期トラップ発生を遅らせる同期トラップデ
ィレィ回路と、該同期トラップディレィ回路の出力によ
り前記同期トラップイベントレジスタの出力を抑制する
ための第2のゲート回路を含んで構成される。
次に、第1の発明の実施例について図面を参照して説明
する。
する。
第1図は第1の発明の一実施例のブロック図である。
この実施例では、タスクの同期の一つである事象の受取
制御を行なうP操作命令実行回路2と、もう一つのタス
クの同期である事象の通知を制御するV操作命令実行回
路3と、P又は■操作命令実行回路2又は3により要求
されたタスクの同期を行なったことを示す同期トラップ
を有効又は無効とする値を保持する同期トラップマスク
レジスタ4と、同期トラップマスクレジスタ4に依り要
求された同期トラップを有効又は無効にするゲート回路
5と、ゲート回路5により有効となった同期トラップ要
求を保持する同期トラップイベントレジスタ6と、同期
トラップイベントレジスタ6に保持された同期トラップ
を発生しデータバス1に出力するとともに同゛期)・ラ
ップイベントレジスタ6をクリアするクリア信号10を
発生する同期トラップ発生回路9とから構成されている
。
制御を行なうP操作命令実行回路2と、もう一つのタス
クの同期である事象の通知を制御するV操作命令実行回
路3と、P又は■操作命令実行回路2又は3により要求
されたタスクの同期を行なったことを示す同期トラップ
を有効又は無効とする値を保持する同期トラップマスク
レジスタ4と、同期トラップマスクレジスタ4に依り要
求された同期トラップを有効又は無効にするゲート回路
5と、ゲート回路5により有効となった同期トラップ要
求を保持する同期トラップイベントレジスタ6と、同期
トラップイベントレジスタ6に保持された同期トラップ
を発生しデータバス1に出力するとともに同゛期)・ラ
ップイベントレジスタ6をクリアするクリア信号10を
発生する同期トラップ発生回路9とから構成されている
。
尚、プログラムステータスワードレジスタ11は、一般
の中央処理装置と同様にプログラム情報を保持するため
のレジスタであり、データバス1も内部データの転送用
のバスである。
の中央処理装置と同様にプログラム情報を保持するため
のレジスタであり、データバス1も内部データの転送用
のバスである。
本実施例では、タスクの同期機能としてセマフォ(メモ
リ又はレジスタ上の変数)を実現している。
リ又はレジスタ上の変数)を実現している。
P操作命令実行回路2は、タスクの同期の一つである事
象の受取りの制御を行なう回路であり、セマフォの値か
ら1を減じ、その値が0以上の場合は、事象の受取りに
成功したとして、プログラムステータスワードレジスタ
11内に、同期が行なわれたことを示す同期フラグをセ
・ソトし、さらに、P操作が行なわれたこと及び同期が
行なわれたかの有無の信号をゲート回路5へ送る。
象の受取りの制御を行なう回路であり、セマフォの値か
ら1を減じ、その値が0以上の場合は、事象の受取りに
成功したとして、プログラムステータスワードレジスタ
11内に、同期が行なわれたことを示す同期フラグをセ
・ソトし、さらに、P操作が行なわれたこと及び同期が
行なわれたかの有無の信号をゲート回路5へ送る。
■操作゛命令実行回路3は、もう一つのタスクの同期で
ある事象の通知を制御する回路であり、セマフォの値に
1を加え、その値が負の場合は、事象をタスクに通知で
きたとして、プログラムステータスワードレジスタ11
内に、同期フラグをセットシ、さらに、■操作が行なわ
れたこと及び同gI+が行なわれなかの有夢の信号をゲ
ート回路5/\送る。
ある事象の通知を制御する回路であり、セマフォの値に
1を加え、その値が負の場合は、事象をタスクに通知で
きたとして、プログラムステータスワードレジスタ11
内に、同期フラグをセットシ、さらに、■操作が行なわ
れたこと及び同gI+が行なわれなかの有夢の信号をゲ
ート回路5/\送る。
同期トラップマクスレジスタ4は、P操作命令が発行さ
れた時に、同期トラップを起こすがどうかのフラグであ
るPフラグと、■操作命令が発行された時に、同期トラ
ップを起こすがどうがのフラグであるVフラグと、同期
が行なわれた時に、同期トラ・ソアを起すかどうかのフ
ラグであるSフラグとから構成さてており、各フラグが
ゲート回路5に送られる。
れた時に、同期トラップを起こすがどうかのフラグであ
るPフラグと、■操作命令が発行された時に、同期トラ
ップを起こすがどうがのフラグであるVフラグと、同期
が行なわれた時に、同期トラ・ソアを起すかどうかのフ
ラグであるSフラグとから構成さてており、各フラグが
ゲート回路5に送られる。
P操作命令回路2、■操作命令回路3がら送られた各信
号と、同期トラップマスクレジスタ4がら送られた各信
号は、ゲーI・回路5に加えられAND操作により、゛
同期トラップマスクレジスタ4により同期トラップが許
可された要因が発生したときのみの信号が同期トラップ
イベントレジスタ6に送られて、同期トラ・ソアイベン
トレジスタ6がセットされる。
号と、同期トラップマスクレジスタ4がら送られた各信
号は、ゲーI・回路5に加えられAND操作により、゛
同期トラップマスクレジスタ4により同期トラップが許
可された要因が発生したときのみの信号が同期トラップ
イベントレジスタ6に送られて、同期トラ・ソアイベン
トレジスタ6がセットされる。
同期トう・ツブイベントレジスタ6がセットされたこと
により、同期トラップ発生回路9が駆動され、同期トラ
ップが発生し、データバス11\出力され、また同期ト
ラップイベントレジスタ6は、この時点でクリア信号1
0によりクリアされる。
により、同期トラップ発生回路9が駆動され、同期トラ
ップが発生し、データバス11\出力され、また同期ト
ラップイベントレジスタ6は、この時点でクリア信号1
0によりクリアされる。
次に、第2の発明の実施例について図面を参照して説明
する。
する。
第2図は第2の発明の一実施例のブロック図である。
第2の発明の実施例が第1の発明の実施例と異なる点は
、同期トラップの発生を抑制すべき要因を監視し、抑制
すべき要因が解消されるまで、同期トラップの発生を遅
らせるための同期トラップディレィ回路7と、同It1
11−ラップイベン1〜回路7の信号により同期トラッ
プイベントレジスタ6の信号を制御するためのゲート回
路8を設けたことである。
、同期トラップの発生を抑制すべき要因を監視し、抑制
すべき要因が解消されるまで、同期トラップの発生を遅
らせるための同期トラップディレィ回路7と、同It1
11−ラップイベン1〜回路7の信号により同期トラッ
プイベントレジスタ6の信号を制御するためのゲート回
路8を設けたことである。
同期トラップディレィ回路7は、ある期間同期トラップ
を抑制する回路であり、例えば、スーパバイザモードと
ユーザモードを有する中央処理装置で、モードが切換わ
つな時点で同期トラップを許可するような回路である。
を抑制する回路であり、例えば、スーパバイザモードと
ユーザモードを有する中央処理装置で、モードが切換わ
つな時点で同期トラップを許可するような回路である。
同期トラップイベントレジスタ6の信号はゲート回路8
に加えられ、AND操作により同期トう・ツブディレィ
回路7の信号により同期トラップ事象が許可された時の
み、同期トラップ発生回路9に信号が送られ、同期トラ
ップが発生し、データバス1に出力され、また同期トラ
ップレジスタ6は、この時点でクリア信号10によりク
リアされる。
に加えられ、AND操作により同期トう・ツブディレィ
回路7の信号により同期トラップ事象が許可された時の
み、同期トラップ発生回路9に信号が送られ、同期トラ
ップが発生し、データバス1に出力され、また同期トラ
ップレジスタ6は、この時点でクリア信号10によりク
リアされる。
以上、本実施例では、同期機能としてセマファ、さらに
説明を簡単化するために、同期ができたかをチェックす
る機能にとどめているが、さらに機能を高度化し、タス
クのキューを汲えるようにした場合、また、同期機能と
してセマフォではなく、メールボックスのような通信機
能であっても本発明を適用することができる、 〔発明の効果〕 本発明は以上説明したように、タスクの同期を行なう手
段とトう・ツブを制御する手段を設けることにより、マ
ルチタスク機能を有するオペレーティングシステムにお
いて、バグの起りやすいタスクの同期処理部のデバグ機
能を、オペレーティングシステムの性能を低下させるこ
となく、また、ソフトウェア的にも簡単に実現すること
ができる。
説明を簡単化するために、同期ができたかをチェックす
る機能にとどめているが、さらに機能を高度化し、タス
クのキューを汲えるようにした場合、また、同期機能と
してセマフォではなく、メールボックスのような通信機
能であっても本発明を適用することができる、 〔発明の効果〕 本発明は以上説明したように、タスクの同期を行なう手
段とトう・ツブを制御する手段を設けることにより、マ
ルチタスク機能を有するオペレーティングシステムにお
いて、バグの起りやすいタスクの同期処理部のデバグ機
能を、オペレーティングシステムの性能を低下させるこ
となく、また、ソフトウェア的にも簡単に実現すること
ができる。
また、同期トラップを抑制する手段を設けることにより
、例えば中央処理装置で提供している同期処理の終了後
に即トラップを発生ずるのではなく、オペレーティング
システムの同期処理が終了するまでトラップを遅らせる
ことができ、不可分領域実行中のトラップ抑制に有効で
ある。
、例えば中央処理装置で提供している同期処理の終了後
に即トラップを発生ずるのではなく、オペレーティング
システムの同期処理が終了するまでトラップを遅らせる
ことができ、不可分領域実行中のトラップ抑制に有効で
ある。
第1図は第1の発明の一実施例を示すプロ・ツク図、第
2図は第2の発明の一実施例を示すブロック図である。 1・・・データバス、2・・・P操作命令実行回路、3
・・・V操作命令実行回路、4・・・同期トラップマス
クレジスタ、5・・・ゲーI・回路、6・・・同期トラ
ップイベントレジスタ、7・・・同期トラップディレィ
回路、8・・・ゲート回路、9・・・同期トラップ発生
回路、10・・・クリア信号、11・・・プログラムス
テータスワードレジスタ。
2図は第2の発明の一実施例を示すブロック図である。 1・・・データバス、2・・・P操作命令実行回路、3
・・・V操作命令実行回路、4・・・同期トラップマス
クレジスタ、5・・・ゲーI・回路、6・・・同期トラ
ップイベントレジスタ、7・・・同期トラップディレィ
回路、8・・・ゲート回路、9・・・同期トラップ発生
回路、10・・・クリア信号、11・・・プログラムス
テータスワードレジスタ。
Claims (1)
- 【特許請求の範囲】 1、タスクの同期の一つである事象の受取制御を行なう
P操作命令実行回路と、もう一つのタスクの同期である
事象の通知を制御するV操作命令実行回路と、前記P又
はV操作命令実行回路により要求されたタスクの同期を
行なったことを示す同期トラップを有効又は無効とする
値を保持する同期トラップマスクレジスタと、該同期ト
ラップマスクレジスタに依り要求された同期トラップを
有効又は無効にするゲート回路と、該ゲート回路により
有効となった同期トラップ要求を保持する同期トラップ
イベントレジスタと、該同期トラップイベントレジスタ
に保持された同期トラップを発生しデータバスに出力す
るとともに前記同期トラップイベントレジスタをクリア
する信号を発生する同期トラップ発生回路を含んで構成
されることを特徴とする中央処理装置のタスク同期方式
。 2、タスクの同期の一つである事象の受取制御を行なう
P操作命令実行回路と、もう一つのタスクの同期である
事象の通知を制御するV操作命令実行回路と、前記P又
はV操作命令実行回路により要求されたタスクの同期を
行なったことを示す同期トラップを有効又は無効とする
値を保持する同期トラップマスクレジスタと、該同期ト
ラップマスクレジスタに依り要求された同期トラップを
有効又は無効にする第1のゲート回路と、該ゲート回路
により有効となった同期トラップ要求を保持する同期ト
ラップイベントレジスタと、該同期トラップイベントレ
ジスタに保持された同期トラップを発生しデータバスに
出力するとともに前記同期トラップイベントレジスタを
クリアする信号を発生する同期トラップ発生回路と、同
期トラップの発生を抑制すべき要因を監視し、同期トラ
ップの発生を抑制すべき要因が発生していた場合、その
要因が解消されるまで同期トラップ発生を遅らせる同期
トラップディレイ回路と、該同期トラップディレイ回路
の出力により前記同期トラップイベントレジスタの出力
を抑制するための第2のゲート回路を合んで構成される
ことを特徴とする中央処理装置のタスク同期方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP61037005A JPS62194552A (ja) | 1986-02-20 | 1986-02-20 | 中央処理装置のタスク同期方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP61037005A JPS62194552A (ja) | 1986-02-20 | 1986-02-20 | 中央処理装置のタスク同期方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS62194552A true JPS62194552A (ja) | 1987-08-27 |
Family
ID=12485581
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP61037005A Pending JPS62194552A (ja) | 1986-02-20 | 1986-02-20 | 中央処理装置のタスク同期方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS62194552A (ja) |
-
1986
- 1986-02-20 JP JP61037005A patent/JPS62194552A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6718294B1 (en) | System and method for synchronized control of system simulators with multiple processor cores | |
KR930000592B1 (ko) | 타스크 추적장치 | |
US5371746A (en) | Program debugging system for a distributed data processing system | |
CA2339783A1 (en) | Fault tolerant computer system | |
JPH04257932A (ja) | ディジタルシグナルプロセッサのエミュレート用チップ | |
US6021457A (en) | Method and an apparatus for minimizing perturbation while monitoring parallel applications | |
US5572667A (en) | Interrupt processing device for controlling the timing of an interrupt signal initiated by a debugging break point in an instruction code | |
US5388261A (en) | Apparatus and method for handling frame overruns in a digital signal processing system | |
JPS62194552A (ja) | 中央処理装置のタスク同期方式 | |
JPH0588933A (ja) | デバツグ機能を有する並列処理システム | |
JPS6361337A (ja) | 自動リセツト方法 | |
Thangaraju | Linux signals for the application programmer | |
JPH0433135A (ja) | プログラムのデバッグ方式 | |
JPS59200356A (ja) | プログラムトレ−ス方式 | |
JPS6121532A (ja) | スケジユ−リング方法 | |
JPH11338712A (ja) | 割込順序保存回路 | |
JPH01137339A (ja) | マイクロプロセッサ | |
JPH0727477B2 (ja) | 命令置換方式 | |
JPH11184712A (ja) | 情報処理装置 | |
NICOL | Conservative parallel simulation of priority class queueing networks(Final Report) | |
JPH0764802A (ja) | リアルタイムシステムのシミュレーション装置 | |
JPH04275635A (ja) | 定周期処理方式 | |
JPH02132548A (ja) | 並列プロセツサのデバツグ支援方式 | |
JPS62166444A (ja) | プログラムデバツグ装置 | |
JPH01279334A (ja) | 疑似モニタによるソフトウェアの単体試験方式 |