JPS63314647A - タスク走行環境退避復元方式 - Google Patents

タスク走行環境退避復元方式

Info

Publication number
JPS63314647A
JPS63314647A JP15047187A JP15047187A JPS63314647A JP S63314647 A JPS63314647 A JP S63314647A JP 15047187 A JP15047187 A JP 15047187A JP 15047187 A JP15047187 A JP 15047187A JP S63314647 A JPS63314647 A JP S63314647A
Authority
JP
Japan
Prior art keywords
task
registers
register
environment information
register group
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
JP15047187A
Other languages
English (en)
Inventor
Masayuki Otaka
大鷹 正之
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP15047187A priority Critical patent/JPS63314647A/ja
Publication of JPS63314647A publication Critical patent/JPS63314647A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/461Saving or restoring of program or task context
    • G06F9/462Saving or restoring of program or task context with multiple register sets

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はマルチタスク処理を行なうコンピュータシステ
ムに於けるタスク走行環境退避復元方式〔従来の技術〕 マルチタスク処理を行なうコンピュータシステムに於い
ては、タスク切替時、タスク走行環境を退避、復元させ
る必要がある。
第5図は従来のタスク走行環境退避復元方式を説明する
ためのブロック図である。
中央処理装置10と主記憶装置11とはメモリバス12
により接続され、中央処理袋WIOは走行中のタスクの
環境情報を保持するN個のレジスタ13−1〜13−N
と、レジスタ13−17t3−Nに保持されている現在
走行中のタスクの環境情報を退避させるタスクコントロ
ールブロック(以下TCBと称す)のアドレスがセット
されるTCBアドレスレジスタ14とを含み、主記憶装
置11はM個のTCB15−1〜15−Mを含んでいる
。尚、TCB15−1〜15−Mは同時に走行するタス
クの数だけ、各タスク対応に設けられているものである
中央処理装置10は走行中のタスクが中断すると、次に
走行可能なタスクを再開させるために、レジスタ13−
1−13− Nに保持されている上記中断したタスクに
ついてのN個の環境情報をTCBアドレスレジスタ14
が指し示す主記憶装置11上のTCBに退避させる。今
、例えば、TCBアドレスレジスタ14がTCB15−
1を指し示しているとすると、レジスタ13−1〜13
−NからTCB15−1へのメモリ書込みがN回つまり
レジスタ13−1−13−Nの個数分発生することにな
る。
次に中央処理装置lOはタスクの走行を再開さセるため
に、上記再開させるタスク対応のTCBの内容をレジス
タ13−1〜13−Nに復元する。今、例えば、再開さ
せるタスク対応のTCBがTCB15−Mであるとする
と、TCB15−Mからレジスタ13−1−13− N
へのメモリ読出しがN回発生することになる0以上のよ
うに、1回のタスク切替で中央処理装置10と主記憶装
置11との間でN回ずつの読出し、書込みが生じる。
〔発明が解決しようとする問題点〕
上述した従来例は、タスク切替時に中央処理装置10に
設けられている環境情報保持用のレジスタ13−1〜1
3−Nの数と同じ回数だけ中央処理装置lOと主記憶装
置11との間で読出し、書込みを行なわなければならず
、環境情報保持用のレジスタの数が多くなるとオーバー
ヘッドが大きくなってしまう問題がある。また、環境情
報保持用のレジスタ13−1〜13−Nの数を少なくす
れば、オーバーヘッドを小さくすることはできるが、−
a的に中央処理装置tIOの処理能力は環境情報保持用
のレジスタ13−1〜13−Nの数が多いほど高いもの
となるので、オーバーヘッドを小さくするためにレジス
タ数を減少させたのでは、中央処理装置lOの処理能力
が低下してしまう問題がある。
本発明は前述の如き問題点を解決したものであり、その
目的は環境情報保持用のレジスタの数を減少させること
なく、タスク切替時のオーバーヘッドを小さくできるよ
うにすることにある。
〔問題点を解決するための手段〕
本発明は前述の如き問題点を解決するため、タスク切替
時、中央処理装置内に設けられている複数のレジスタに
保持されている中断タスクの環境情報を退避させ、再開
タスクの環境情報を前記複数のレジスタに復元するタス
ク走行環境退避復元方式に於いて、 前記複数のレジスタを第1のレジスタ群と第2のレジス
タ群とに分割し、 タスク切替時、前記第1のレジスタ群に保持されている
中断タスクの環境情報の全て及び前記第2のレジスタ群
に保持されている中断タスクの環境情報の内の該中断タ
スクが起動されてから中断されるまでの間に更新された
レジスタに保持されている環境情報のみを退避さセ、再
開タスクの環境情報の内の前記第1のレジスタ群の環境
情報を前記第1のレジスタ群に復元し、 前記再開タスクの起動後、前記第2のレジスタ群に含ま
れるレジスタが参照された場合、前記再開タスクが起動
されてから今回の参照が行なわれるまでの間に該レジス
タが更新も参照もされていないことを条件として、該参
照されたレジスタに前記再開タスクの環境情報を復元す
る。
〔作 用〕
第2のレジスタ群に含まれるレジスタについての退避処
理は、中断タスクが起動されてから中断されるまでの間
に更新されたレジスタについてのみ行なわれる。第2の
レジスタ群に含まれるレジスタについての復元処理は、
再開タスクの起動後、参照があった時点で、それが最初
の参照であり、且つその参照以前に更新がされていない
場合のみ行なわれる。
〔実施例〕
次に本発明の実施例について図面を参照して説明する。
第1図は本発明の実施例のブロック図である。
中央処理装置lと主記憶装置2とはメモリバス3により
接続されている。中央処理装置Iは走行中のタスクの環
境情報を保持する第1.第2のレジスタ群4.5と、現
在走行中のタスクの環境情報を退避させるTCBのアド
レスがセントされるTCBアドレスレジスタ6とを含ん
でいる。第1のレジスタ群4はタスクの再開時に常に参
照される環境情報(例えば、プログラムカウンタのカウ
ント値、プログラム状態語等)がセントされる1個のレ
ジスタ4−1〜4−1から構成され、第2のレジスタ群
5はその他の環境情報がセットされる3個のレジスタ5
−1〜5−Jから構成され、第2のレジスタ群5を構成
する各レジスタ5−1〜5−Jはそれぞれ環境情報がセ
ントされる領域51と、有効フラグがセントされる領域
52と、更新フラグがセットされる領域53とを含んで
いる。また、主記憶装置2は中央処理装置1上で同時に
走行する各タスク対応のTCB7−1〜?−Mを含んで
いる。尚、レジスタ5−1〜5−Jの領域52にセント
される有効フラグはレジスタ5−1〜5−Jの内容が走
行中タスクの環境下で有効か否かを示すフラグであり、
レジスタ5−1〜5−Jの内容が更新、復元された場合
にONに設定され、レジスタ5−1〜5−Jの退避処理
時にOFFにされる。また、レジスタ5−1〜5−Jの
領域53にセントされる更新フラグはレジスタ5−1〜
5−Jの内容がタスク再開後に更新されたか否かを示す
フラグであり、レジスタ5−1〜5−Jの内容が更新さ
れた場合にONとなり、レジスタ5−1〜5−Jの退避
処理時にOFFにされる。
第2図〜第4図は中央処理装置1の処理例を示す流れ図
であり、以下各図を参照して本実施例の動作を説明する
中央処理装置1は走行中のタスクが中断すると、次に走
行可能なタスクを再開させるために、先ず第2図の流れ
図に示す処理を行なう、即ち、中央処理装置1は、第1
のレジスタ群4の各レジスタ4−1〜4−1の内容をT
CBアドレスレジスタ6が指し示すTCBに退避させ(
ステップ521)、次いで、第2のレジスタ群5内のレ
ジスタ5−1にセットされている更新フラグの状態を判
定する(ステップ322. 323) 。
ステップS23に於いてレジスタ5−1にセットされて
いる更新フラグの状態がONであると判定した場合は、
中央処理装置lはレジスタ5−1の内容をTCBアドレ
スレジスタ6が指し示すTCBに退避させた後(ステッ
プ324) 、レジスタ5−1の更新フラグ及び有効フ
ラグを共にOFFとする(ステップ325.326) 
、また、ステップS23に於いてレジスタ5−1にセン
トされている更新フラグの状態がOFFであると判定し
た場合は、中央処理装置lはレジスタ5−1の有効フラ
グをOFFとする(ステップ326) 。
第2のレジスタ群5中の1つのレジスタに対して上述し
た処理を行なうと、中央処理装置lは第2のレジスタ群
5に含まれる全てのレジスタ5−1〜5−Jについて上
述した処理を行なったか否かを判断しくステップ327
.328) 、判断結果がNOの場合はステップ323
の処理に戻り、残りのレジスタに対して上述したと同様
の処理を行ない、判断結果がYESの場合は第2図の流
れ図に示す処理を終了する。
第2図の流れ図に示す処理を行なうことにより、第1の
レジスタ群4に含まれる各レジスタ4−1〜4−1の内
容及び第2のレジスタ群5に含まれるレジスタ5−1〜
5−Jの内の更新フラグがONとなっているレジスタ(
タスク再開後に更新の行なわれたレジスタ)の内容が、
TCBアドレスレジスタ6によって指し示される主記憶
装置2上のTCBに退避させられることになる。つまり
、更新の行なわれていないレジスタの内容は対応するT
CHに保存されでいる内容と同一であ番ので、更新の行
なわれたレジスタの内容のみをTCBに退避させること
により、無駄なメモリアクセスを省略するようにしてい
る。
上述したようにして、中断タスクの環境情報を主記憶装
置2上の対応するTCBに退避させると、中央処理装置
lは先ず再開させるタスク対応のTCBのアドレスをT
CBアドレスレジスタ6に設定すると共に再開タスク対
応のTCBに保持されている環境情報の内の第1のレジ
スタ群4対応の環境情報を第1のレジスタ群4に復元し
、その後再開タスクを起動する。即ち、再開タスクの起
動時には第1のレジスタ群4にのみ再開タスクの環境情
報を復元し、第2のレジスタ群5には再開タスクの環境
情報を復元しないものである。
再開タスクを起動した後に第2のレジスタ群5に含まれ
るレジスタ5−j  (j=1.2.・・・J)に対し
て更新が発生すると、中央処理装置1は第3図の流れ図
に示すように、レジスタ5−jの更新フラグ及び有効フ
ラグを共にONとする(ステップ331.332) 。
また、再開タスクを起動した後に第2のレジスタ群5に
含まれるレジスタ5−jに対して参照が発生すると、中
央処理装置1は第4図の流れ図に示すようにレジスタ5
−jの有効フラグの状態を判定する(ステップ341)
 、ステップ341に於いて有効フラグがOFFである
と判定した場合は、中央処理袋!1はレジスタ5−jの
有効フラグをONとした後(ステップ542)、主記憶
装置2上のTCHに保持されていた対応する環境情報を
レジスタ5−jに復元しくステップ543) 、ステッ
プS41に於いて有効フラグがオンであると判定した場
合は他の制御ステップの処理を行なう。
ここで、レジスタ5−jの有効フラグはレジスタ5−j
が更新された場合及びレジスタ5−jが更新されること
なく参照された場合にONにされるものであり、中央処
理装置1はレジスタ5−jが参照された場合、レジスタ
5−jの有効フラグがOFFであることを条件としてレ
ジスタ5−jに環境情報を復元するようにしているもの
であるから、レジスタ5−jへの環境情報の復元は、タ
スク再開後にレジスタ5−jの内容が更新されておらず
、且つレジスタ5−jがタスク再開後に最初に参照され
た時点に於いてのみ行なわれることになる。
このように、タスク再開後に更新されておらず、且つ今
回の参照がタスク再開後の最初の参照であるレジスタに
ついてのみ環境情報の復元を行なうことにより、無駄な
メモリアクセスを省略するようにしたものである。
〔発明の効果〕
以上説明したように、本発明は、環境情報を保持する複
数のレジスタを第1.第2のレジスタ群ニ分割し、第1
のレジスタ群に含まれるレジスタについての退避、復元
処理は従来例と同様とし、第2のレジスタ群に含まれる
レジスタについての退避処理はタスク走行中に更新が行
なわれたレジスタについてのみ行ない、第2のレジスタ
群に含まれるレジスタについての復元処理は走行中に参
照が生じた時点で、しかもその参照が最初の参照であり
、且つそれ以前に更新が行なわれていないことも条件と
して行なうものであるから、従来例に比較してタスク切
替時のオーバーヘッドを小さなものとすることができ、
タスク切替を高速化できる効果がある。また更に、メモ
リパストラヒックの分散化によるシステムスルーブツト
の向上を図ることができる効果もある。
【図面の簡単な説明】
第1図は本発明の実施例のブロック図、第2図は退避時
の処理例を示す流れ図、第3図は第2のレジスタ群が更
新された場合の処理例を示す流れ図、 第4図は第2のレジスタ群が参照された場合の処理例を
示す流れ図及び、 第5図は従来例のブロック図である。 図に於いて、1.10・・・中央処理装置、2.11・
・・主記憶装置、3.12・・・メモリバス、4・・・
第1のレジスタ群、5・・・第2のレジスタ群、4−1
〜4−1.5−1〜5−J、13−1〜13−N・・・
レジスタ、6.14・・・TCBアドレスレジスタ、?
−1〜7−M、15−1〜15−M・・・TCB、51
・・・環境情報がセットされる領域、52・・・有効フ
ラグがセットされる領域、53・・・更新フラグがセッ
トされる領域。

Claims (1)

  1. 【特許請求の範囲】 タスク切替時、中央処理装置内に設けられている複数の
    レジスタに保持されている中断タスクの環境情報を退避
    させ、再開タスクの環境情報を前記複数のレジスタに復
    元するタスク走行環境退避復元方式に於いて、 前記複数のレジスタを第1のレジスタ群と第2のレジス
    タ群とに分割し、 タスク切替時、前記第1のレジスタ群に保持されている
    中断タスクの環境情報の全て及び前記第2のレジスタ群
    に保持されている中断タスクの環境情報の内の該中断タ
    スクが起動されてから中断されるまでの間に更新された
    レジスタに保持されている環境情報のみを退避させ、再
    開タスクの環境情報の内の前記第1のレジスタ群の環境
    情報を前記第1のレジスタ群に復元し、 前記再開タスクの起動後、前記第2のレジスタ群に含ま
    れるレジスタが参照された場合、前記再開タスクが起動
    されてから今回の参照が行なわれるまでの間に該レジス
    タが更新も参照もされていないことを条件として、該参
    照されたレジスタに前記再開タスクの環境情報を復元す
    ることを特徴とするタスク走行環境退避復元方式。
JP15047187A 1987-06-17 1987-06-17 タスク走行環境退避復元方式 Pending JPS63314647A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP15047187A JPS63314647A (ja) 1987-06-17 1987-06-17 タスク走行環境退避復元方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP15047187A JPS63314647A (ja) 1987-06-17 1987-06-17 タスク走行環境退避復元方式

Publications (1)

Publication Number Publication Date
JPS63314647A true JPS63314647A (ja) 1988-12-22

Family

ID=15497631

Family Applications (1)

Application Number Title Priority Date Filing Date
JP15047187A Pending JPS63314647A (ja) 1987-06-17 1987-06-17 タスク走行環境退避復元方式

Country Status (1)

Country Link
JP (1) JPS63314647A (ja)

Similar Documents

Publication Publication Date Title
JP2886961B2 (ja) プログラム入替方法
JPH09212371A (ja) レジスタ退避及び復元システム
JPH08115290A (ja) データ転送装置
JPH04373026A (ja) プログラム中断方法
JPS63314647A (ja) タスク走行環境退避復元方式
JP2772052B2 (ja) 資源情報引き継ぎ処理方法
JPH01217635A (ja) レジスタ退避方式
JPH02165344A (ja) ホットスタンバイ方式
JPH02127732A (ja) ジョブ管理方式
JPH0359727A (ja) マイクロプロセッサにおける退避・復元方式
JP3463696B2 (ja) オンラインガーベッジコレクション処理方法
JPH0443438A (ja) 障害データ退避方式
JPS62221040A (ja) スタツク制御方式
JPH0285933A (ja) 情報処理装置
JPH02245828A (ja) 実行中ジョブの凍結・再開装置
JPH06290051A (ja) ワークステーションシステムの自動メンテナンスシステム
JPH10240556A (ja) 共有メモリを持つ疎結合計算機システム
JPH0470937A (ja) ファイル更新方式
JPH01266640A (ja) 二重化ボリュームの等価性保証処理方式
JPH0210436A (ja) セーブ処理方式
JPS63155338A (ja) プログラム実行履歴記録制御方式
JPH0388041A (ja) タスク切り替え方式
JPH10289113A (ja) 計算機のレジスタコンテキストの保存/復元方式
JPH09106353A (ja) プログラム実行制御回路
JPH0395630A (ja) 言語プロセッサにおける名標テーブルの管理方式