JPS62151942A - タスク切換え方式 - Google Patents

タスク切換え方式

Info

Publication number
JPS62151942A
JPS62151942A JP29431285A JP29431285A JPS62151942A JP S62151942 A JPS62151942 A JP S62151942A JP 29431285 A JP29431285 A JP 29431285A JP 29431285 A JP29431285 A JP 29431285A JP S62151942 A JPS62151942 A JP S62151942A
Authority
JP
Japan
Prior art keywords
task
bank
priority
time
register
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.)
Granted
Application number
JP29431285A
Other languages
English (en)
Other versions
JPH0756633B2 (ja
Inventor
Hajime Sakuma
肇 佐久間
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 JP60294312A priority Critical patent/JPH0756633B2/ja
Publication of JPS62151942A publication Critical patent/JPS62151942A/ja
Publication of JPH0756633B2 publication Critical patent/JPH0756633B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 fal  発明の技術分野 本発明録、プログラムを細かいタスクに分割し時分割に
該タスクを中央処理装置t(以下CPU)に割り当て多
重に処理を行う方式(以下マルチタスキング)における
タスク切換え(以下タスクスイッチ)に関するものであ
る。
fbl従来技術の問題点 マルチタスキングの実現は、通常オペレーティングシス
テム(以下O8)の中心となる機能(以下核)によシ行
なわれる。O8の核はCPLIに対する内外の割込み信
号やタスクからO8の機能を利用する手段(以下システ
ムコール)によシ起動されその機能をはたす。第1図は
O8の核の構成を示したもので、処理部11として中断
処理部、内部処理部、ティスバッチ部の順に行なわれる
ことを示している。マルチタスキング°では、タスクス
イッチングが起こるたびに切υ換った時点の状態を退避
し次にO8によシ選択され実行再開された時切換った時
点の状態から再実行することが心安である。前記中断処
理部は切シ換シ時点の状態を退避するだめの処理である
。切シ換、!7時点で退避しなけれは万らない状態とし
ては、命令の実行手順を示すカウンタ(以下PC)、デ
ータレジスタ。
ブロク2ム状態@(以下PSW)などがあシ、これらの
状態は各タスク毎に割り描てられた退避領域(以下TC
B)内に格納される。内部処乃・部では各側込みまだは
各システムコールにカニ[4、したそれぞれの処理を行
う、ディスバッチ部は、OSの核の処理として最後に位
置し、次に実行させるべきタスクを選択し該タスクに制
御’e illす。各タスクは実行の)1序を規定する
だめの優先J[位(以下プライオリブイ)を持ち、ディ
スバッチ部d、プライオリティの最も筒いタスクを選択
し、該タスクのTCBからPC,データレジスタ、PS
Wなどの状態を復帰し該タスクに制御を渡す。この様に
CPTJを時分割でマルチタスキングを実現するシステ
ムでは、O8の核の中断処理部における状態の退避とデ
ィスバッチ部における状態の復帰は必要不可欠の処理で
タスクスイッチ時には必らず実行される。システム全体
から見た場合、状態の退避及び復帰に要する時間は無駄
であシ従来の方式によるマルチタスキングでは、タスク
スイッチ時に資する時間には必らず状態の退避及び復帰
に要する無駄時間が付加されるという欠点を有していた
0 (C)  発明の目的 本発明の目的は、前記PC,データレジスタ。
PSWなどのタスクスイッチ時に退避しなければならな
い状態をCPU実行中絶えず保持しておく手段(以下レ
ジスタバンク)を複数個備え且つレジスタバンクを切シ
換える手段を有しプライオリティの賜いタスクがレジス
タバンクを湯先的に利用することによシ、タスクスイッ
チング時の状態の退避と復帰を極力省略し、該状態の退
避と復帰に猥する時間の無駄を削減し、システム全体の
性能を向上させることにある。
(dl  発明の構成 本発明はマルチタスキングでのタスクスイッチの処理に
おいて、レジスタバンクを複数(t/+I lt+え、
該レジスタバンクを切換えることにより前記タスクに制
御を渡す手段を有している処理装置において、前記タス
クが前記保持手段を利用しているか否かを識別する手段
を備え、前記タスクの優先順位に基つき優先順位の高い
タスクが優先的に前記保持手段を利用し、且つ該保持手
段を利用しているタスクのうち最低優先順位をもつタス
クと該タスクが利用している前記保持手段を検知する手
段を備えていることを特徴としている。
+e)  発明の実施例 第2図は本発明によるシステム構成図で、CPU1とプ
ログラムメモリ2とデータメモリ3からなる。TCB4
はタスクの個数だけ存在しデータメモリ中に割り当てら
れる。プログラムメモリ2はO8の核とタスクのコード
を含む。レジスタバンク(以下単にバンク)5はCPT
J 1に含まれ複数個存在し、該複数個存在するバンク
の内、いずれか1つのバンクがCPUの実行状態を保持
している。第3図は前記TCBの構成を示した図で、対
応するタスクがバンクを利用しているか否かを示すフラ
グUF、バンクを利用していた場合の該バンク番号BN
KNcL、対応するタスク番号TASKt1該タスクに
与えられたプライオリティPRIORITY、その他O
8の核がマルチタスキングを実現する上で必要となる情
報MI及びタスクスイッチ時に退避しなければならない
状態の退避エリアとしてアキュムレータAC,データレ
ジスタDO〜Du 、PSW、PCを含んでいる。第4
図はバンクの構成例であシ、アキュムレータAC,デー
タレジスタDO〜Du 、f’sW、PCを含み、前記
第3図1“CBの退避エリアと対応しておシ、タスクス
イッチ時退避し耽けれはならない状態を総て含んでいる
第5図はバンクが4個ある場合のバンク切換え方式の例
で状態保持エリアlは第4図で示したバンク?:4個含
んでいる。豊込み用バス2は状態保持エリアlの任意の
バンク内の任意のレジスタの書込みデータ用バスで読出
し用バス3は、状態保持エリアlの任意のバンク内の任
意のレジスタからの読出しデータ用バスである。1−き
込み許可信号4は、任意のレジスタへ書き込みを許b」
するだめの信号で、読みlj L許可信号5は、任意の
レジスタからの読み出しを許可するだめの信号である。
バンク切換え制御レジスタ6は、バンク切換え命令によ
って操作されるレジスタで本例の場合4個のバンクの内
それか1つを選択するだめのレジスタである。レジスタ
選択許可信号9は、バンク内レジスタ選択器8を有効に
するか無効にするかの信号で、バンク内レジスタ選択器
8は1つのバンク内でどのレジスタを選択するかの選択
1g号7に基づき、前記レジスタ選択許可信号9が発生
されている時だけバンク内の各レジスタを選択するだめ
の信号を発生する。バンク切換え時の動作では前記バン
ク切換え命令により、前記バンク切換え制御レジスタ6
が書きかわシ、書きかわることによシ選択バンクも変更
され、変更後の該選択バンクのPCに制御が移シ、該P
Cよシ実行が再開される。バンクを複数個持たない処理
装置症で、マルチタスキングを実現する場合、第1図に
示したようVC、タスクスイッチ時状態の退避と状態の
復帰を必らず行う必要があったが、本実施例のようにバ
ンクを複数個持っている処理装置においてはタスク走行
時の状態を保持する手段が複数個あることと等価であり
、状態の退避と復帰動作を実行せずしてタスクスイッチ
を実現することが可能である。バンクがタスク数分だけ
存在すればタスクスイッチ時の状態の退避と復帰を行う
必要はないが、実際にタスク数分だけバンクを持つこと
は現実的でなく、通常タスク数に対してバンクの数は少
なく限定される。マルチタスキングでタスクスイッチを
行う場合通常タスクの持つプライオリティを基準として
行なわれ、プライオリティの高いタスクが優先的に選択
され実行権を得る。従って、プライオリティの高いタス
クの状態がバンクを優先的に占めることでタスクスイッ
チ時の状態の退避と復帰の回数をおさえ、退避と復帰に
要していた時間を削減することができシステム全体の処
理能力の向上を図ることが可能となる。本発明はプライ
オリティの高いタスクに優先的にバンク利用権を与え、
状態の退避と復帰の回数を最も少なくするためのアルゴ
リズムを提供するものである。第6図はバンクとバンク
を利用しているタスクの対応を示すデータ構造(以下B
T)と該13Tの中で最低プライオリティのタスクを持
つバンクに関する情報を有するデータ構造(以下LL’
T)からなる。該BT及び該LPTも前記第2図のデー
タメモリ3に割り付けられる。前記BTはバンクの数が
n個存在した場合n個の要素からなる構造で、各要素は
対応するバンクを利用しているタスクのタスク番号とタ
スクのプライオリティを保持している。タスク番号はタ
スク毎に一意に与えられている番号で前記第3図TCB
中のTASKIVkLで示されるエリアに格納されてい
る。寸だ前記LPTは、前記BTの中で最もプライオリ
ティの低いタスクの情報が保持されているバンクのバン
ク査刊か若しくはどのタスクも利用していないバンクの
バンク番号と、前記最低プライオリティを有したタスク
のプライオリティとバンクが総てタスクに専有されてい
るか否かの情報FF’LGを保持している。FFLGは
ONの時バンクを総てタスクが利用しておシ、OFFの
時まだ空きバンクが存在していることを示している。第
7図は本発明における各タスクに制御を渡す場合の処理
アルゴリズムで前記ディスバッチ部でその時点で最も高
いプライオリティのタスクを選択した後、該タスク(以
下選択タスク)に制御を渡す処理を示している。本処理
の最初では選択タスクのTCBを参照し、TCB中のU
PがONならば、TCB中のBANKNl[Lで示され
るバンクにバンク切換え命令を実行することで制御を渡
す。IJFがOFFの時は、前記LPT中のli’ F
 L Gを参照し、FF’LGが0FII゛の時はまだ
バンクが総て専有されていないため、選択タスクのTC
B中の退避エリアの状態を前記L P Tのバンク番号
で示されるバンクに復帰する。バンクが総て専有されて
いない時LPTのバンク番号は空きバンクのバンク番号
であるため’I’ CBの退避エリアの状態を即復帰さ
せることが出来る。次に前記処理によシ専有されたバン
クの= l〇− バンク番号がnでない時、前記処理によシバンクが専鳴
されても全バンクはまだ使用されていないため、該バン
ク番号を1つ増加した値を新バンク番号としてL P 
’l’のバンク番号とし選択タスクのTJFをONとし
バンク切換え命令を実行し選択タスクに制御を渡す。L
PTのバンク番号がHの時、前記処理によシバンクが総
て専有されたため、BTをザーチし最低プライオリティ
のタスクが占めているバンクの番号を得てLP’l’に
該バンク番号と該最低プライオリティを格納しFFLG
をONにする。その後選択タスクのUf”をONとしバ
ンク切換命令を実行し選択タスクに制御を渡す。次にL
PTのF’FLGがONであった場合、この時は総ての
バンクがタスクによシ専有されておシ、この場合のLP
T中のバンク番号は最もプライオリティが低いタスクが
占めているバンクのバンク番号であシ、該バンク番号で
示されるバンクの情報をBT内で該バンク番号が対応す
る要素内のタスク番号で示されるタスクのTCB中の退
避エリアに退避した後、TJFをOFFとする。U F
をO1″Fとすることで該タスクはバンクを利用してい
ないことになる。その後、選択タスクのTCB中の退避
エリアの情報を前記バンクに復帰する。次に選択タスク
のプライオリティとLPT内のプライオリティを比較す
る。■は洒択タスクのプライオリティがLPT内のプラ
イオリティ以上であることを示している。■は選択タス
クのプライオリティがLPT内のプライオリティよシ低
いことを示している。この時点のI、PTのプライオリ
ティはバンクを占めている全タスクのプライオリティで
最も低いものを保持しているため、■の場合、選択タス
クのプライオリティと該タスクが利用しているバンクの
番号をLPTに格納した後選択タスクの1.IPをON
にし、バンク切換え命令を実行することで選択タスクに
制御を渡す。■の時は、選択タスクのプライオリティが
その時点でバンクを占めているタスクで最も低いプライ
オリティに等しいか又は高いため、BTを見て最低プラ
イオリティを得て、該最低プライオリティと対応するバ
ンク番号をLPTのプライオリティとバンク番号に格納
した後、選択タスクのUPをONにしバンク切換え命令
を実行することで選択タスクに制御を渡す。
本処理アルゴリムを前記ディスバッチ部に適用すること
によシ第8図に示すようにO8の構成が内部処理部とデ
ィスバッチ部のみとなシ、第1図に示すような中断処理
部による中断処理を行う必要がなくなシ、内部処理実行
後ディスバッチ部で選択タスクの状況を判断した後、必
要な場合だけ状態の退避と復帰を実行すれはよい。
(fl  発明の効果 本実施例のように、CPU実行状態を絶えず保持するバ
ンクを複数個持ち、且つバンク切換え命令によりバンク
を切換えると同時に切換えた先のバンク状態から川」実
行を再開することができる処理装置で、各タスクがバン
クを第1]用しているか否かを知る手段を持ち、各タス
クのプライオリティを識別し、高いプライオリティのタ
スクに優先的にバンク利用権を与える処理アルゴリズム
を用いることで、タスクスイッチ時の状態の保持をする
ための退避または復帰動作を、バンクを利用していない
タスクが選択された時だけ行なえばよく。
従来必らず行なっていた状態の退避と復帰に要していた
無駄時間を大幅に削減出来るようになる。
またプライオリティの高いタスクにバンク禾1用権を与
えるアルゴリズムを本実施例のように実現することで、
プライオリティの低いタスクが選択され、バンク利用状
態の変更が必要となった場合でも、状態を退避すべきタ
スクと該タスクが利用しているバンクを即知ることがで
き、しかもその時点で最も低いプライオリティのタスク
を退避すべきタスクの対象とするため、システム全体の
動きから見た場合、状態の退避及び復帰の回数を削減す
ることができる。このようにマルチタスク実行環境にお
いて本発明によるアルゴリズムを適用することでタスク
スイッチ時の状態の退避及び復帰に要する時間の無駄を
大幅に削減することができ、システム全体の性能向上に
非常に貢献することができる。
【図面の簡単な説明】
第1図はO8の核の構成図。 第2図は本発明によるシステム構成図。 1・・・・・・CPU、z・・・・・・グログ2ムメモ
リ、3・・・・・・データメモリ、4・・・・・・Tc
B、5・・・・・・レジスタバンク 第3図はTCB構成図。 第4図はレジスタバンク構成図。 第5図はレジスタバンクとレジスタバンク切換えのハー
ドウェア構成例で、 1・・・・・・状態保持エリア、2・・・・・・書込み
用バス、3・・・・・・読出し用バス、4・・・・・・
書込み許可信号、5・・・・・・読出し許可信号、6・
・・・・・バンク切換えtlil、l ’IfQ+レジ
スタ、7・・・・・・選択信号、8・・・・・・バンク
内しジスタ選択器、9・・・・・・レジスフ辿択Wト可
信号第6図は、レジスタバンクとレジスタバンク構成図
しているタスクの対応を示すデータ構造と最低プライオ
リティのタスクが利用しているバンクに関する情報を有
するデータ構造である。 第7図は本発明における各タスクに制御を渡す場合の処
理アルゴリズム。 第8図は本発明によるO8の核の構成図。 茅3fJ 茅 Z 前

Claims (1)

    【特許請求の範囲】
  1. プログラムを細かい処理単位(以下タスク)に分割し、
    時分割に該タスクを中央処理装置に割り当て多重に処理
    を行う方式における該タスクの切換え方式において前記
    タスク切換え時に保持しなければならない情報を中央処
    理装置実行中絶えず保持しておく手段を複数個備え、該
    保持手段を切換えることにより前記タスクに制御を渡す
    手段を有している処理装置において、前記タスクが前記
    保持手段を利用しているか否かを識別する手段を備え、
    前記タスクの優先順位に基づき優先順位の高いタスクが
    優先的に前記保持手段を利用し、且つ該保持手段を利用
    しているタスクのうち最低優先順位をもつタスクと該タ
    スクが利用している前記保持手段を検知する手段を備え
    ていることを特徴としたタスク切換え方式。
JP60294312A 1985-12-25 1985-12-25 タスク切換え方式 Expired - Fee Related JPH0756633B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP60294312A JPH0756633B2 (ja) 1985-12-25 1985-12-25 タスク切換え方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60294312A JPH0756633B2 (ja) 1985-12-25 1985-12-25 タスク切換え方式

Publications (2)

Publication Number Publication Date
JPS62151942A true JPS62151942A (ja) 1987-07-06
JPH0756633B2 JPH0756633B2 (ja) 1995-06-14

Family

ID=17806065

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60294312A Expired - Fee Related JPH0756633B2 (ja) 1985-12-25 1985-12-25 タスク切換え方式

Country Status (1)

Country Link
JP (1) JPH0756633B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01320541A (ja) * 1988-06-22 1989-12-26 Nec Corp レジスタ退避復帰方式
JPH03233729A (ja) * 1990-02-09 1991-10-17 Yamatake Honeywell Co Ltd メモリのバンク切換装置
JP2007132552A (ja) * 2005-11-08 2007-05-31 Kyudenko Corp 廃石膏の加熱装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60126736A (ja) * 1983-12-13 1985-07-06 Mitsubishi Electric Corp デ−タ処理装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60126736A (ja) * 1983-12-13 1985-07-06 Mitsubishi Electric Corp デ−タ処理装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01320541A (ja) * 1988-06-22 1989-12-26 Nec Corp レジスタ退避復帰方式
JPH03233729A (ja) * 1990-02-09 1991-10-17 Yamatake Honeywell Co Ltd メモリのバンク切換装置
JP2007132552A (ja) * 2005-11-08 2007-05-31 Kyudenko Corp 廃石膏の加熱装置

Also Published As

Publication number Publication date
JPH0756633B2 (ja) 1995-06-14

Similar Documents

Publication Publication Date Title
US5021993A (en) Device for saving and restoring register information
US5557766A (en) High-speed processor for handling multiple interrupts utilizing an exclusive-use bus and current and previous bank pointers to specify a return bank
US7412590B2 (en) Information processing apparatus and context switching method
JP2002533807A (ja) 割込み/ソフトウエア制御スレッド処理
JP2006039815A (ja) マルチスレッドプロセッサおよびレジスタ制御方法
US4851992A (en) Register/saving/restoring system for saving and restoring data in a register of a slave processor
JP5289688B2 (ja) プロセッサシステム及びプロセッサシステムを動作させるオペレーティングシステムプログラムの処理方法
JPS62151942A (ja) タスク切換え方式
JP4756599B2 (ja) データ処理装置
JPH0668725B2 (ja) データ処理システムにおける割込条件に応答する装置及び非同期割込条件に応答する方法
JPH0443301B2 (ja)
JPS61184643A (ja) 仮想計算機の起動制御方式
JPH0744401A (ja) 論理集積回路およびそのデータ処理システム
JPH10289113A (ja) 計算機のレジスタコンテキストの保存/復元方式
RU1777147C (ru) Мультипрограммное вычислительное устройство
JPS5846444A (ja) 電子計算機
JPS6380334A (ja) マイクロプロセツサ
JPH06149593A (ja) マルチタスク実行装置
JPH10240702A (ja) 並列処理プロセッサおよびその処理方法
JPH0481934A (ja) 情報処理装置
JPS61223947A (ja) 処理装置の未定義命令検出方法
JPS63195762A (ja) デ−タ処理装置
JPH05108353A (ja) 情報処理装置
JPH0325674A (ja) 情報処理装置
JPS63103312A (ja) タイマ制御方式

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees