JPH0388041A - タスク切り替え方式 - Google Patents

タスク切り替え方式

Info

Publication number
JPH0388041A
JPH0388041A JP22515489A JP22515489A JPH0388041A JP H0388041 A JPH0388041 A JP H0388041A JP 22515489 A JP22515489 A JP 22515489A JP 22515489 A JP22515489 A JP 22515489A JP H0388041 A JPH0388041 A JP H0388041A
Authority
JP
Japan
Prior art keywords
register
task
processor
storage area
saved
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
JP22515489A
Other languages
English (en)
Inventor
Hidehiko Okada
英彦 岡田
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 JP22515489A priority Critical patent/JPH0388041A/ja
Publication of JPH0388041A publication Critical patent/JPH0388041A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は計算機システムに於けるタスク切り替え方式に
関する。
〔従来の技術〕
従来の計算機システムに於けるタスク切り替え方式は、
主記憶装置上にタスク毎のレジスタ保存領域を設け、任
意のタスクがプロセッサに割付けられた時点で主記憶装
置上のレジスタ保存領域からレジスタ情報をプロセッサ
内のレジスタに複写してそのタスクをプロセッサ上で実
行し、その後、新たにタスクが切り替わる時点でプロセ
ッサ内のレジスタ情報を主記憶装置上の切り替えられる
タスクに対応するレジスタ保存領域に退避させるように
している。
〔発明が解決しようとする課題〕
上述した従来のタスク切り替え方式では、タスクが切り
替わる毎に主記憶装置のレジスタ保存領域に対するレジ
スタ情報の複写、退避が行なわれるため、主記憶装置に
対するアクセスが頻繁になり、タスク切り替えの時間を
増大させという問題があると共に、プロセッサとは非同
期に主記憶装置をアクセスする人出力制御装置等の装置
と主記憶装置に対するアクセスが競合する可能性が高く
なるため、システム性能が低下するという問題もある。
本発明の目的はタスク切り替え時間を短縮させると共に
、アクセス競合によるシステム性能の低下を防止するこ
とにある。
〔課題を解決するための手段〕
本発明は上記目的を達成するため、 タスク対応のレジスタ情報を保存するメモリ内レジスタ
保存領域を有する主記憶装置と走行させるタスク対応の
レジスタ情報が複写されるプロセッサ内レジスタを有す
るプロセッサとを備えた計算機システムに於けるタスク
切り替え方式に於いて、 レジスタ情報を保存するレジスタ保存領域を前記プロセ
ッサ内に複数設けると共に、 プロセッサ割付は待ちのタスクの内からプロセッサを割
付けるタスクを選択するタスク割付は手段と・ タスクの切り替え時、前記タスク割付は手段で選択され
たタスク対応のレジスタ情報が前記レジスタ保存領域に
保存されていることにより、前記プロセッサ内レジスタ
の内容を前記レジスタ保存領域の内の複写元のレジスタ
保存領域に退避させた後、前記レジスタ保存領域に保存
されている前記タスク割付は手段で選択されたタスク対
応のレジスタ情報を前記プロセンサ内レジスタに複写し
、前記タスク割付は手段で選択されたタスク対応のレジ
スタ情報が前記レジスタ保存領域に保存されていないこ
とにより、前記プロセッサ内レジスタの内容を前記レジ
スタ保存領域の内の複写元のレジスタ保存領域に退避さ
せた後、前記レジスタ保存領域の内の1つに保存されて
いるレジスタ情報を前記メモリ内レジスタ保存領域の内
の対応するメモリ内レジスタ保存領域に退避させ、更に
、レジスタ情報の退避を行なった前記レジスタ保存領域
に前記タスク割付は手段が選択したタスク対応のメモリ
内レジスタ保存領域の内容を複写し、その後、メモリ内
レジスタ保存領域の内容を複写したレジスタ保存領域の
内容を前記プロセッサ内レジスタに複写するレジスタ保
存領域制御手段とを設けたものである。
〔作 用〕
主記憶装置にはタスク対応のレジスタ情報を保存するメ
モリ内レジスタ保存領域が設けられ、プロセッサにはレ
ジスタ情報を保存する複数のレジスタ保存領域と走行さ
せるタスク対応のレジスタ情報が複写されるプロセッサ
内レジスタとが設けられている。タスク割付は手段はプ
ロセッサ割付は待ちのタスクの内からプロセッサを割付
けるタスクを選択する。レジスタ保存SN域制御手段は
タスク割付は手段が選択したタスク対応のレジスタ情報
がプロセッサ内に設けられている複数のレジスタ保存領
域の何れかに保存されている場合は、プロセッサ内レジ
スタの内容をレジスタ保存領域の内の複写元のレジスタ
保存領域に退避させ、その後、レジスタ保存領域に保存
されているタスク割付は手段が選択したタスク対応のレ
ジスタ情報をプロセッサ内レジスタに複写する。また、
タスり割付は手段が選択したタスク対応のレジスタ情報
がレジスタ保存領域に保存されていない場合はプロセッ
サ内レジスタの内容をレジスタ保存領域の内の複写元の
レジスタ保存領域に退避させた後、レジスタ保存領域の
内の1つに保存されているレジスタ情報をメモリ内レジ
スタ保存領域の内の対応するメモリ内レジスタ保存領域
に退避させ、更に、レジスタ情報の退避を行なったレジ
スタ保存領域にタスク割付は手段が選択したタスク対応
のメモリ内レジスタ保存領域の内容を複写し、その後、
メモリ内レジスタ保存領域の内容を複写したレジスタ保
存領域の内容をプロセッサ内レジスタに複写する。
〔実施例〕
次に本発明の実施例について図面を参照して詳細に説明
する。
第1図は本発明の実施例のプロ・ツク図であり、プロセ
ッサ10と、主記憶装置40とを含んでいる。プロセッ
サ10はプロセッサ内レジスタ20と、プロセッサ10
が持つ割込みレベル#O〜#Nに対応した(N+1)個
のプロセッサ内レジスタ保存領域30−0〜30−Nと
、レジスタ保存領域制御手段70とを含んでいる。また
、主記憶装置40は制御テーブル50と、システム内の
各タスクのレジスタ情報を保存するメモリ内レジスタ保
存領域60と、タスク割付は手段80とを含んでいる。
主記憶装置40上の制御テーブル50は第2図に示すよ
うに、プロセッサ10が持つ各割込みレベル#0〜#N
対応の領域を有している。そして、割込みレベル#j 
 (j−0〜N)対応の領域にはタスク割付は手段80
によって割込みレベル#jに現在割付けられているタス
クの識別子Tj(i+1)と、直前に割付けられたタス
クの識別子Tj  (+)とが格納されている。
タスク割付は手段80はプロセッサIOの割当て待ちタ
スクの内の何れかを各タスクに与えられているタスク走
行優先レベルに基づいて選択し、選択したタスクをその
タスク走行優先レベルに対応した割込みレベルに割付け
、更に、制御テーブル50に格納されている現在割付け
られているタスクの識別子の内、上記選択したタスクを
割付けた割込みレベル対応の領域に格納されている識別
子を更新する。
レジスタ保存領域制御手段70はタスク切り替え時点に
於いて、制御テーブル50の各割込みレベル対応の領域
の内、新たに走行することとなったタスクの割込みレベ
ル(割込みレベル#jとする)と対応する領域に格納さ
れている直前に割付けられたタスクの識別子Tj  (
i)と現在割付けられているタスクの識別子Tj  (
i+1)とを比較し、両者が不一致であることにより、
プロセンサ内レジスタ保存領域30−O〜30−Nの内
の上記新たに走行することとなったタスクの割込みレベ
ル#jと対応するプロセンサ内レジスタ保存領域30−
jの内容をメモリ内レジスタ保存領域60の内の直前に
割付けられたタスクの識別子Tj (1)と対応する領
域に退避させ、更に、メモリ内レジスタ保存領域60の
内の現在割付けられているタスクの識別子Tj  (i
+1)と対応する領域の内容をプロセッサ内レジスタ保
存領域30−0〜30−Nの内の割込みレベル#j対応
のプロセッサ内レジスタ保存領域30−jに復元する。
第3図、第4図はタスクの切り替え例を示したタイムチ
ャート、第5図はレジスタ保存領域制御手段70の処理
例を示す流れ図、第6図はタスク割付は手段80の処理
例を示す流れ図であり、以下各図を参照して本実施例の
動作を説明する。
先ず、タスクの切り替えが第3図に示すように行なわれ
た場合、即ち、時刻tO〜t1の区間では割込みレベル
#nに対応したタスク走行優先レベルを有するタスクA
が、時刻t1〜t2の区間では割込みレベル#mに対応
したタスク走行優先レベルを有するタスクBが、時刻t
2〜t3では割込みレベル#nに対応したタスク走行優
先レベルを有するタスクCが走行した場合を例にとって
動作を説明する。
時刻tlに於いて、タスクAからタスクBへの切り替え
が行なわれる。タスクAからタスクBへの切り替え時、
タスク割付は手段80は第6図の流れ図に示すように、
ステップS81に於いて次にプロセッサ10に新たに割
付けるタスクBの割込みレベル#mを得、次のステップ
382に於いて制御テーブル50上の各別込みレベル#
0〜#Nに対応する領域の内の割込みレベル#mに対応
する領域に格納されている現在割付けられているタスク
識別子Tm(++1)をタスクBの識別子とする。
タスク割付は手段80により制御テーブル50の内容が
更新されると、レジスタ保存領域制御手段70は第5図
の流れ図に示す処理を開始し、先ず、ステップ370に
於いてプロセッサ内レジスタ20の内容をプロセッサ内
レジスタ保存領域30−0〜30−Nの内のタスクへの
割込みレベル#nと対応するプロセッサ内レジスタ保存
領域30−nに退避させ、次いでステップS71に於い
て次にプロセッサ10に割付けられるタスクBの割込み
レベル#mを得、次のステップS72に於いて*I <
Bテーブル50の割込みレベル#mに対応した領域に格
納されている直前に割付けられたタスクの識別子Tm(
i)と現在割付けられているタスクの識別子Tm(++
1)を得、続くステップS73に於いて両者を比較する
。そして、両者が等しい場合(ステップS74がYES
の場合)はレジスタ保存領域制御手段70ばプロセッサ
内レジスタ20にプロセッサ内レジスタ保存領域30−
mの内容を複写してタスクBの走行を開始させた後(ス
テップ578)、その処理を終了する。
また、両者が不一致の場合(ステップ374の判断結果
がNoの場合)はステップ375に於いてプロセッサ内
レジスタ保存領域30−0〜3〇−Nの内の新たに走行
することとなったタスクBの割込みレベル#mと対応す
るプロセッサ内しジスク保存領域30−mの内容をメモ
リ内レジスタ保存領域60の内の直前に割付けられたタ
スクの識別子Tm (+)と対応する領域に退避させ、
次のステップ376に於いてメモリ内レジスタ保存領域
60の内の現在割付けられているタスクの識別子Tm(
++1)と対応する領域の内容をプロセンサ内レジスタ
保存領域30−O〜30−Nの内の割込みレベル性m対
応のプロセッサ内レジスタ保存領域30−mに復元し、
次のステップ377に於いて制御テーブル50の割込み
レベル#mに対応する領域に格納されている直前に割付
けられたタスクの識別子Tm(i)をタスクBを示すも
のとし、その後、ステップ37Bの処理を行なう。
時刻t2に於いてタスクBからタスクCへの切り替えが
行なわれる。この場合も、前述したタスク割付は手段8
0により制御テーブル50の更新が行なわれる。即ち、
ステップS81に於いて新たにプロセッサ10に割付け
られるタスクCの割込みレベル#nが求められ、次のス
テップ382に於いて制御テーブル50の割込みレベル
#nに対応する領域に格納されている現在割付けられて
いるタスクの識別子Tn (++1)がタスクCを示す
ものに更新される。
タスク割付は手段80により制御テーブル50が更新さ
れると、レジスタ保存領域制御手段70は第5図の流れ
図の処理を開始し、先ず、ステップS70に於いてプロ
セッサ内レジスタ20の内容をプロセッサ内レジスタ保
存領域30−0〜30−Nの内のタスクBの割込みレベ
ル#mと対応するプロセッサ内レジスタ保存領域30−
mに退避させ、次いでステップ371に於いて新たにプ
ロセッサ10に割り当てられることになったタスクCの
割込みレベル#nを得、次のステップS72に於いて制
御テーブル50の割込みレベル#nに対応した領域に格
納されている直前に割付けられたタスクの識別子Tn 
(i)と現在割付けられているタスクの識別子Tn (
++1)とを得、続くステップS73に於いて両者を比
較する。ここで直前に割付けられたタスクの識別子Tn
 (i)。
現在割付けられているタスクの識別子Tn(++1)は
それぞれタスクA、タスクCを示すものであり、ステッ
プS74の判断結果がNoとなるので、プロセッサ内し
ジスク保存領域30−nの入れ替えが行なわれる。プロ
センサ内レジスタ保存領域30−nの入れ替えはステッ
プ375に於いてプロセッサ内レジスタ保存領域#30
−nの内容をメモリ内レジスタ保存領域60の内の直前
に割付けられたタスクの識別子Tn (+)に対応する
領域に退避させ、次のステップS76に於いてメモリ内
レジスタ保存領域60内の現在割付けられているタスク
の識別子Tn(++1)と対応する領域の内容をプロセ
ッサ内レジスタ保存領域30−nに複写することにより
行なわれる。
プロセッサ内レジスタ保存領域30−nの入れ替えを行
なうと、レジスタ保存領域制御手段70はステップS7
7に於いて制御テーブル50の割込みレベル#nに対応
する領域に格納されている直前に割付けられたタスクの
識別子Tn (i)をタスクCを示すものとし、その後
、ステップ878に於いてプロセッサ内レジスタ20に
プロセッサ内レジスタ保存領域30−nの内容を複写し
、タスクCの走行を開始させる。
次に、タスクの切り替えが第4図に示すように行なわれ
た場合、即ち、時刻tO〜t1の区間では割込みレベル
#nに対応したタスク走行優先レベルを有するタスクA
が、時刻t1〜t2の区間では割込みレベル#mに対応
したタスク走行優先レベルを有するタスクBが、時刻t
2〜t3では再び割込みレベル#nに対応したタスク走
行優先レベルを有するタスクAが走行した場合を例にと
って動作を説明する。
時刻t2までは、前述した第3図の説明と同じ動作が行
なわれ、時刻t2に於いてタスクBからタスクAへの切
り替えが行なわれる。タスクBからタスクAへの切り替
え時、タスク割付は手段80はステップS81に於いて
次にプロセンサ10に割付けられることとなったタスク
への割込みレベル#nを得、次のステップS82に於い
て制御テーブル50上の割込みレベル#nに対応する領
域に格納されている現在割付けられているタスクの識別
子Tn(i)をタスクAに示すものにする。
II JBテーブル50の更新が終了すると、レジスタ
保存領域制御手段70は第5図の流れ図に示す処理を開
始し、ステップ370に於いてプロセッサ内レジスタ2
0の内容をプロセッサ内レジスタ保存領域30−O〜3
0−Nの内のタスクBの割込みレベル#mと対応するプ
ロセッサ内レジスタ保存領域30−mに退避させ、ステ
ップS71に於いて次にプロセッサ10に割り当てられ
ることとなったタスクへの割込みレベル#nを得、次の
ステップS72に於いて制御テーブル50の割込みレベ
ル#nと対応する領域に格納されている直前に割付けら
れたタスクの識別子Tn (i)と現在割付けられてい
るタスクの識別子Tn (++1)とを得、ステップS
73に於いて両者を比較する。
ここで、タスクの識別子Tn (i)、Tn (++1
)は共にタスクAを示すものとなっており、ステップ3
74の判断結果がYESとなるので、レジスタ保存領域
制御手段70はプロセッサ内レジスタ保存領域30−n
の内容をそのままプロセッサ内レジスタ20に複写し、
タスクAの走行を開始させる。従って、本実施例によれ
ば、外部割込み等により中断されたタスクを再度走行さ
せる場合や、1つの割込みレベルにタスクが1つしか存
在しない場合等、主記憶装置上のレジスタ保存領域を全
くアクセスする必要がないので、タスクの切り替えを高
速化することが可能となる。
尚、上述した実施例に於いては各側込みレベルに対応さ
せてプロセッサ内レジスタ保存領域を1つずつ設けるよ
うにしたが、割込みレベルに無関係にプロセッサ内に複
数のプロセッサ内レジスタ保存領域を設け、新たにプロ
セッサが割付けられることになったタスク対応のレジス
タ情報がプロセッサ内レジスタ保存領域に保存されてい
ない場合のみ、主記憶装置上のメモリ内レジスタ保存領
域との間で複写、退避を行なうようにすることもできる
〔発明の効果〕
以上説明したように、本発明は、プロセッサ内にレジス
タ情報を保存するレジスタ保存領域を複数設け、プロセ
ッサ内のレジスタ保存領域にタスク割付は手段でプロセ
ッサに割付けられたタスク対応のレジスタ情報が保存さ
れている場合はプロセッサ内に設けられているレジスタ
保存領域とプロセンサ内レジスタとの間でレジスタ情報
の複写。
退避を行なうようにし、保存されていない場合のみ、主
記憶装置に設けられているメモリ内保レジスタ保存領域
との間でレジスタ情報の複写、退避を行なうようにした
ものであり、プロセッサ内のレジスタ保存領域にレジス
タ情報が保存されているタスクにプロセッサが割り当て
られた場合は主記憶装置上のメモリ内レジスタ保存領域
を全くアクセスすることなくタスクの切り替えを行なう
ことが可能となるので、タスク切り替え時間の短縮が可
能となる。また、更に、主記憶装置に対するアクセスを
減少させることができるので、プロセッサ以外の制御装
置との主記憶競合を減らすことができ、システム性能を
向上させることが可能となる効果もある。
【図面の簡単な説明】
第1図は本発明の実施例のブロック図、第2図は制御テ
ーブル50の内容例を示す図、第3図、第4図はタスク
切り替え動作を示すタイムチャート、 第5図はレジスタ保存領域制御手段70の処理例を示す
流れ図及び、 第6図はタスク割付は手段80の処理例を示す流れ図で
ある。 図に於いて、10・・・プロセンサ、2o・・・プロセ
ッサ内レジスタ、30−0〜30−N・・・プロセッサ
内レジスタ保存領域、40・・・主記憶装置、5゜・・
・制御テーブル、60・・・メモリ内レジスタ保存領域
、70・・・レジスタ保存領域制御手段、8o・・・タ
スク割付は手段。

Claims (1)

  1. 【特許請求の範囲】 タスク対応のレジスタ情報を保存するメモリ内レジスタ
    保存領域を有する主記憶装置と走行させるタスク対応の
    レジスタ情報が複写されるプロセッサ内レジスタを有す
    るプロセッサとを備えた計算機システムに於けるタスク
    切り替え方式に於いて、 レジスタ情報を保存するレジスタ保存領域を前記プロセ
    ッサ内に複数設けると共に、 プロセッサ割付け待ちのタスクの内からプロセッサを割
    付けるタスクを選択するタスク割付け手段と、 タスクの切り替え時、前記タスク割付け手段で選択され
    たタスク対応のレジスタ情報が前記レジスタ保存領域に
    保存されていることにより、前記プロセッサ内レジスタ
    の内容を前記レジスタ保存領域の内の複写元のレジスタ
    保存領域に退避させた後、前記レジスタ保存領域に保存
    されている前記タスク割付け手段で選択されたタスク対
    応のレジスタ情報を前記プロセッサ内レジスタに複写し
    、前記タスク割付け手段で選択されたタスク対応のレジ
    スタ情報が前記レジスタ保存領域に保存されていないこ
    とにより、前記プロセッサ内レジスタの内容を前記レジ
    スタ保存領域の内の複写元のレジスタ保存領域に退避さ
    せた後、前記レジスタ保存領域の内の1つに保存されて
    いるレジスタ情報を前記メモリ内レジスタ保存領域の内
    の対応するメモリ内レジスタ保存領域に退避させ、更に
    、レジスタ情報の退避を行なった前記レジスタ保存領域
    に前記タスク割付け手段が選択したタスク対応のメモリ
    内レジスタ保存領域の内容を複写し、その後、メモリ内
    レジスタ保存領域の内容を複写したレジスタ保存領域の
    内容を前記プロセッサ内レジスタに複写するレジスタ保
    存領域制御手段とを設けたことを特徴とするタスク切り
    替え方式。
JP22515489A 1989-08-31 1989-08-31 タスク切り替え方式 Pending JPH0388041A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP22515489A JPH0388041A (ja) 1989-08-31 1989-08-31 タスク切り替え方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP22515489A JPH0388041A (ja) 1989-08-31 1989-08-31 タスク切り替え方式

Publications (1)

Publication Number Publication Date
JPH0388041A true JPH0388041A (ja) 1991-04-12

Family

ID=16824793

Family Applications (1)

Application Number Title Priority Date Filing Date
JP22515489A Pending JPH0388041A (ja) 1989-08-31 1989-08-31 タスク切り替え方式

Country Status (1)

Country Link
JP (1) JPH0388041A (ja)

Similar Documents

Publication Publication Date Title
US6591355B2 (en) Distributed shared memory system with variable granularity
JP6421247B2 (ja) マルチコアシステムのメモリ同期のためのシステム及び方法
JPH04299440A (ja) 共有レジスタ制御方式
WO2019012252A1 (en) METHOD AND APPARATUS FOR RAPID CONTEXT CLONING IN A DATA PROCESSING SYSTEM
JP2003167737A (ja) スタック使用方法
CN111913790A (zh) 任务调度方法、装置、家用电器和计算机可读存储介质
JP2001117786A (ja) プロセススケジューリング装置およびプロセススケジューリング方法
JPH0388041A (ja) タスク切り替え方式
KR100594187B1 (ko) 쓰레드 호 처리 구조를 채용한 유닉스 시스템 환경하의 지능망교환시스템에서 타이머 구동 방법
JP3520527B2 (ja) データ管理方法
JPH07182239A (ja) セグメント分割管理システム
JP3202351B2 (ja) タスク切替処理方法
JPH0452942A (ja) ファイル転送方式
JP3030030B2 (ja) 領域管理処理方式
JP2787107B2 (ja) バッファ制御方式及び装置
JP2938072B1 (ja) オペレーティングシステムのタイマ管理方法
JPH02270032A (ja) ローディング方式
JPH0652512B2 (ja) 主記憶ペ−ジリプレ−ス方式
CN120849376A (zh) 数据迁移方法、系统及装置
JPS6273335A (ja) スタツク管理方式
JPH03182945A (ja) 主記憶内データ転送方式
JPH0285933A (ja) 情報処理装置
JPH0458334A (ja) メッセージ出力選択方式
JPH113271A (ja) 計算機システムにおけるメモリ割り当て方式
JPS63314647A (ja) タスク走行環境退避復元方式