JPH02163834A - マルチ・タスク処理方式 - Google Patents

マルチ・タスク処理方式

Info

Publication number
JPH02163834A
JPH02163834A JP31777888A JP31777888A JPH02163834A JP H02163834 A JPH02163834 A JP H02163834A JP 31777888 A JP31777888 A JP 31777888A JP 31777888 A JP31777888 A JP 31777888A JP H02163834 A JPH02163834 A JP H02163834A
Authority
JP
Japan
Prior art keywords
register
task
group
processing unit
central processing
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
JP31777888A
Other languages
English (en)
Inventor
Osamu Tanaka
収 田中
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP31777888A priority Critical patent/JPH02163834A/ja
Publication of JPH02163834A publication Critical patent/JPH02163834A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明はデータ処理に必要な演算・制御を行う中央処
理装置に関し、特にマルチ・タスク処理を行う中央処理
装置のマルチ・タスク処理方式に関するものである。
C従来の技術) 第3図は従来のマルチ・タスク処理方式を説明するため
のブロック図であり、特に計算機システムにおけるタス
ク・スイッチングによるCPU(中央処理装置)内の各
種レジスタの内容のセーブやリストアされる様子を簡単
に示したものである。図において、1はデータ処理に必
要な演算・制御を行うCPU、2はプログラム・ステー
タス・ワードをセットするプログラム・ステータス・ワ
ード・レジスタ(PSW  REG) 、3はプログラ
ム・マツピングするために使用されるベース・レジスタ
(BASEREG)群、4は同じくプログラム・マツピ
ングするために使用されるインデックス・レジスタ(i
ndex Register)群、5はプログラム実行
処理の際に使用される汎用レジスタ(G RRE G)
群である。6はCPU1やチャネル装置(図示せず)等
と主記憶装置7とを接、鋳するためのメモリ・バス(M
−BUS)であるa Ta5ko、Ta5k+、=−、
Ta5ktは主記憶装置7上に論理的に展開されたタス
クのメモリ配置を示す。
次に動作について説明する。ここでは、マルチ・タスク
環境においてタスクの切り換え、即ちタスク・スイッチ
ングが行われる時の最もプリミティブなオペレーション
について説明する。まず、現在CPUIによって実行さ
れているタスクTa5kaに対し、オペレーティング・
システムが他の待ち行列中にエントリされているタスク
Ta5Jを起動しようとする。オペレーティング・シス
テムは最初に現在実行中のタスクの処理を一時中断し、
次にタスクTa5koを再起動・再処理するのに必要と
されるステータス・ワード・レジスタ2、ベース・レジ
スタ群3、インデックス・レジスタ群4およびカレント
・ワークの汎用レジスタ群5の各内容をメモリ・バス6
を介して主記憶装置7内のタスクTa5koのセーブエ
リア(図中斜線部)に退避させ、次に起動しようとする
タスクTa5Jのセーブエリア(Tasklの領域の斜
線部)より中央処理装置1の汎用レジスタ群5、ベース
・レジスタ群3およびインデックス・レジスタ群4に該
当レジスタの内容を再ロード(リス、ドア)し、次いで
ステータス・ワード・レジスタ2の内容をリストアする
ことでタスクTa5ktの処理が再実行される。このよ
うにオペレーティング・システムは、現在実行中のタス
クから次に実行しようとするタスクに切り換える毎に、
中央処理装置1内の各種レジスタの内容を主記憶装置7
にセーブしたり主記憶装置7からロードしたりする。
〔発明が解決しようとする課題〕
従来のマルチ・タスク処理方式は以上のように動作する
ので、タスク・スイッチングが発生する毎にオペレーテ
ィング・システムが中央処理装置内の各種レジスタの内
容を主記憶装置との間でセーブやりストアを行わなけれ
ばならず、しかも主記憶装置に対するオペレーションが
介入することでハードウェアのオーバーヘッドを減少さ
せるのが難しいという問題点があった。
この発明は上記のような問題点を解消するためになされ
たもので、オペレーティング・システムによる中央処理
装置内部の各種レジスタ内容の主記憶装置との間のセー
ブやロードを極力減らし、ハードウェア的に主記憶装置
を介さずとも中央処理装置内部の各種レジスタの内容の
変更を可能とすることによってハードウェアのオーバー
ヘッドを大幅に削減し、タスク・スイッチングの高速化
を図れるマルチ・タスク処理方式を提供することを目的
とする。
(課題を解決するための手段〕 この発明に係るマルチ・タスク処理方式は、タスクを実
行するために必要とされる各種レジスタ群12をタスク
毎に複数組中央処理装置に用意し、この複数組のグルー
プの中から中央処理装置10によって実行されるタスク
に対応した任意のグループを選択・使用するためのグル
ープ・ポインタをセットするグループ・ポインタ・レジ
スタ11を設け、オペレーティング・システム9によっ
てグループ・ポインタを指定し、実行すべきタスクに必
要とされる中央処理装置10内の各種レジスタ群12の
グループを選択し、この選択されたグループの各種レジ
スタ群12を使ってタスクを実行することを特徴とする
ものである。
〔作用〕
このマルチ・タスク処理方式において、実行すべきタス
クの切り換え時、オペレーティング・システム9はその
実行すべきタスクに対応する各種レジスタ群12のグル
ープを選択・使用するためのグループ・ポインタを指定
しグループ・ポインタ・レジスタ11にセットし、中央
処理装置10はそのセットされたグループ・ポインタに
従って各種レジスタ群12のグループを選択し、そのグ
ループの各種レジスタ群12の内容を使ってタスクを実
行する。
C発明の実施例〕 第1図はこの発明の一実施例に係るマルチ・タスク処理
方式を採用した中央処理装置の要部構成を示すブロック
図である。図において、11は中央処理装置10によっ
て実行されるタスクに対応した任意の各種レジスタ群の
グループを選択・使用するためのグループ・ポインタを
セットするグループ・ポインタ・レジスタ、12はタス
クを実行するために必要とされる各種レジスタ群である
。
1グループの各種レジスタ群12は、プログラム・ステ
ータス・ワードをセットするプログラム・ステータス・
ワード・シャドウ・レジスタ(PSWS)と、ベース・
レジスタ(B A S E  RE G)と、インデッ
クス・レジスタ(INDEX  REG)と、ジェネラ
ル・レジスタ(GRREG)・フローティング・レジス
タ(FLRREG)と、コントロール・レジスタ(CO
NTROLREG)とから構成されている。13.14
は中央処理装置10内の内部バス、15はグループ・ポ
インタ・レジスタ11、各種レジスタ群12および内部
バス13.14以外の中央処理装置IO内の論理ブロッ
ク群、16は中央処理装置IO内のプログラム・ステー
タス・ワード・レジスタ(PSW  REG)である。
第2図は第1図にイされる複数組用意された各種レジス
タ群12の詳細な構成図である。第2図において、21
は中央処理装置■0に複数組用意されたプログラム・ス
テータス・ワード・シ→・ドウ・レジスタ(PSWS 
 REG)であり、22はプログラム又はデータの主記
憶装置上のアドレッシングを行うためのペニス・レジス
タ(BASE  REG)であり、この実施例ではベー
ス・レジスタ22はBASE  REGO〜3と4組有
している。23はベース・レジスタ22と同様、プログ
ラム又はデータの主記憶装置上の間接アドレス指定を行
うためのインデックス・レジスタ(INDEX  RE
G)であり、この実施例ではINDEX  REGO〜
3と4組有している。
24は算術もしくは論理演算及び−時記憶として使用さ
れる汎用レジスタと浮動小数点演算を行うためのフロー
ティング・レジスタ(F L R)であり、25はハー
ドウェアを制御するためのコントロール・レジスタおよ
びステータス・レジスタを総称したコントロール・ステ
ータス・レジスタ(CNST  REG)である。26
はオペレーティング・システムによって実行すべきタス
クと複数組用意されたレジスタ21〜25群を対応付け
るためのグループ・ポインタ・レジスタであり、第1図
におけるグループ・ポインタ・レジスタ11に相当する
ものである。27は中央処理装置10の実行状態を示す
プログラム・ステータス・ワード・レジスタであり、第
1図におけるプログラム・ステータス・ワード・レジス
タ16に相当するものである。
次にこの実施例の中央処理装置10において、タスク・
スイッチングに関する動作を第1図および第2図を参照
して説明する。まず、オペレーティング・システム9が
動作するために第1図のグループ(Group) O〜
iのi+1個の各種レジスタ群12のうち任意の1グル
ープが割り当てられ、残り1個のグループの各種レジス
タ群12がそれぞれ独立したタスク処理のためにオペレ
ーティング・システム9によってダイナミックに割り当
てられ、タスク実行の際使用される。新たなタスクの実
行を中央処理装置10にかける場合、オペレーティング
・システム9が使用されていないグループの各種レジス
タ群12を該タスクに対応付け、該タスクの実行に必要
とされるレジスタ群12中の各レジスタに所定の値を主
記憶装置の該タスク領域よりロードし、この後、グルー
プ・ポインタ・レジスタ11に先のタスクに対応付けた
各種レジスタ群12のグループ値をセットし、中央処理
装置10にS V C(Superν1ser Ca1
l)命令を実行する。中央処理装置10は内部でSVC
割り込みを住成し、これをトリガーとしてグループ・ポ
インタ・レジスタ11で指定されたグループの各種レジ
スタ群(先のオペレーティング・システム9によって既
に所定のレジスタ値のセントされているレジスタ群)を
選択し、このレジスタ群中の第1図に示すような各種レ
ジスタ群12中のプログラム・ステータス・ワード・シ
ャドウ・レジスタ(PSWS)の内容がプログラム・ス
テータス・ワード・レジスタ16にロードされ、この時
点から該タスクの実行が開始される。中央処理装置IO
は該タスクの実行のためにグループ・ポインタ・レジス
タ11によって指定されたグループの第2図に示される
ベース・レジスタ(B A S EREG)、インデッ
クス・レジスタ(INDEXREG) 、ジェネラル・
レジスタ(GRREG)・フローティング・レジスタ(
FLRREG)、およびコントロール・レジスタ(CO
NTROLREG)を使用し、該タスク処理を実行する
。
このように、新タスクの実行開始時には、任意のグルー
プの各種レジスタ群12への主記憶装置からのレジスタ
値のセントのためのロードが発生する。
次いで、タスクの実行再開のために待ち行列中にエント
リされている複数のタスク間のタスク・スイッチングの
動作について説明する。タスク・スイッチングの生成要
因としては待ち行列中にエントリされている各タスクの
優先順位と任意のタスクに割り当てられた単位実行時間
とによって決定され、任意のタスクの実行時間が一定時
間経過すると、中央処理装置10よりタイマ割り込みを
オペレーティング・システム9が受け、タスク・スイッ
チング処理をオペレーティング・システム9が実行する
。この実施例における中央処理装置10ではこのタスク
・スイッチング処理が下記のように行われる。
まず、タイマ割り込みを受けた時点で第1図の複数のグ
ループの各種レジスタ群12中で現在使用しているグル
ープのレジスタ群の中のプログラム・ステータス・ワー
ド・レジスタ16の内容がセーブされ、次いでオペレー
ティング・システム9が使用しているグループのレジス
タ群を選択し、各種レジスタ群12中のプログラム・ス
テータス・ワード・シャドウ・レジスタの内容がプログ
ラム・ステータス・ワード・レジスタ16に移され、オ
ペレーティング・システム9が動作する。次にオペレー
ティング・システム9は待ち行列を調べ、次に実行開始
ないしは再開すべきタスクを決定し、実行再開するタス
クであれば、既に対応付けである各種レジスタ群12の
グループ値をグループ・ポインタ・レジスタ11にセッ
トし、SVC命令を中央処理装置10に発行する。この
SVC命令を受けた中央処理装置10は、先と同様、S
VC割り込みを生成し、これをトリガとしてグループ・
ポインタ・レジスタ11で示されたグループのレジスタ
群12を選択し、該レジスタ群12のプログラム・ステ
ータス・ワード・シャドウ・レジスタの内容をプログラ
ム・ステータス・ワード・レジスタ16に移し、この時
点から該タスクの実行を再開する。
以上のようにしてマルチ・タスク環境におけるタスクの
実行開始、実行再開を行うためのタスク・スイッチング
の処理が行われる。
このように上記実施例によれば、実行すべきタスクの切
り換え時、単に複数組用意されたレジスタ群のグループ
指定を変更するだけで、現在実行中のタスクのレジスタ
群の内容のセーブ、次実行のタスクのレジスタ群のセッ
トが行え、と7かも、このような処理が中央処理装置内
部で行えるようにしたので、主記憶装置へのアクセスを
不要とすることによってハードウェアのオーバーヘッド
を大幅に削減できる。
なお、上記実施例ではタスクの実行に必要とされる中央
処理装置の各種レジスタ群を複数のグループのレジスタ
群と称し、ハードウェア・レジスタで構成したものを示
したが、このようなレジスタとしてRAM (ランダム
・アクセス・メモリ)を用いて構成しても同様な効果を
奏す。
〔発明の効果〕
以上のように本発明によれば、中央処理装置のタスク実
行に必要とされる各種レジスタ群を複数組有し、実行タ
スクに対応付けるためのグループ・ポインタ・レジスタ
で任意のグループを選択・使用できるようにしたので、
タスクの実行開始段階では主記憶装置からのレジスタへ
のロード動作を必要とするが、実行再開のタスク・スイ
ッチングに際しては主記憶装置から、又は主記憶装置へ
の各種レジスタの内容のセーブやロード動作を一斉必要
としなくなり、これにより主記憶装置を介さすとも各種
レジスタの内容の変更が可能となり、オペレーティング
・システムの主記憶装置に対するセーブやロード動作に
関するオーバーヘットを削減でき、また、ハードウェア
的にはレジスタ群のグループ切り換えのみによってタス
ク・スイソチングが行え、したがってタスク・スイッチ
ングの高速化を図れるという効果が得られる。
【図面の簡単な説明】
第1図はこの発明の一実施例に係るマルチ・タスク処理
方式を採用した中央処理装置の要部構成を示すブロック
図、第2図は第1図に示す各種レジスタ群12の詳細な
ブロック図、第3図は従来のマルチ・タスク処理方式の
構成を示すブロック図である。 9・・・オペレーティング・システム、10・・・中央
処理装置、11・・・グループ・ボイツク・レジスタ、
12・・・各種レジスタ群。 乍 巧フ

Claims (1)

    【特許請求の範囲】
  1. タスクを実行するために必要とされる各種レジスタ群を
    タスク毎に複数組中央処理装置に用意し、この複数組の
    グループの中から中央処理装置によって実行されるタス
    クに対応した任意のグループを選択・使用するためのグ
    ループ・ポインタをセットするグループ・ポインタ・レ
    ジスタを設け、オペレーティング・システムによってグ
    ループ・ポインタを指定し、実行すべきタスクに必要と
    される中央処理装置内の各種レジスタ群のグループを選
    択し、この選択されたグループの各種レジスタ群を使っ
    てタスクを実行することを特徴とするマルチ・タスク処
    理方式。
JP31777888A 1988-12-16 1988-12-16 マルチ・タスク処理方式 Pending JPH02163834A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP31777888A JPH02163834A (ja) 1988-12-16 1988-12-16 マルチ・タスク処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP31777888A JPH02163834A (ja) 1988-12-16 1988-12-16 マルチ・タスク処理方式

Publications (1)

Publication Number Publication Date
JPH02163834A true JPH02163834A (ja) 1990-06-25

Family

ID=18091948

Family Applications (1)

Application Number Title Priority Date Filing Date
JP31777888A Pending JPH02163834A (ja) 1988-12-16 1988-12-16 マルチ・タスク処理方式

Country Status (1)

Country Link
JP (1) JPH02163834A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000501541A (ja) * 1997-06-26 2000-02-08 ブル・セー・ペー・8 予測不可能なマイクロプロセッサまたはマイクロコンピュータ
WO2000045261A1 (en) * 1999-01-27 2000-08-03 Matsushita Electric Industrial Co., Ltd. Access control device and access method
US7434222B2 (en) * 2001-12-20 2008-10-07 Infineon Technologies Ag Task context switching RTOS

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000501541A (ja) * 1997-06-26 2000-02-08 ブル・セー・ペー・8 予測不可能なマイクロプロセッサまたはマイクロコンピュータ
WO2000045261A1 (en) * 1999-01-27 2000-08-03 Matsushita Electric Industrial Co., Ltd. Access control device and access method
US6742089B1 (en) 1999-01-27 2004-05-25 Matsushita Electric Industrial Co., Ltd. Access controller and access method for controlling access from a CPU to a memory based on use states of plural access ports
US7434222B2 (en) * 2001-12-20 2008-10-07 Infineon Technologies Ag Task context switching RTOS

Similar Documents

Publication Publication Date Title
US5161226A (en) Microprocessor inverse processor state usage
JP3787167B2 (ja) フラッシュメモリ
US5701493A (en) Exception handling method and apparatus in data processing systems
JP3253303B2 (ja) コンテキスト切り換え装置及び方法
US8176219B1 (en) Router having routing engine software instance and interaface controller software instance on a single processor
GB2478733A (en) Stack management with multiple levels of exception
JPH04137046A (ja) 電子計算機のオペレーティングシステム
US7412590B2 (en) Information processing apparatus and context switching method
US5928356A (en) Method and apparatus for selectively controlling groups of registers
US4851992A (en) Register/saving/restoring system for saving and restoring data in a register of a slave processor
JP3970609B2 (ja) プロセッサシステム
US5974346A (en) Method for controlling technical processes
US6820153B2 (en) Interrupt processing and memory management method in an operation processing device and a device using the same
JPH02173828A (ja) 割込み処理方式
US20200285472A1 (en) Context-Switching Method and Apparatus
JP2000132409A (ja) 待ち状態のないタスクのスタック共有方式
JPH03182945A (ja) 主記憶内データ転送方式
JPH03188531A (ja) 時分割マルチタスク実行装置
JPH0340139A (ja) マルチタスクシステムにおけるコンテキスト切換方法
JPS61184644A (ja) 仮想計算機システム制御方式
JPH04155532A (ja) タスク切替方式
JPH0259933A (ja) マイクロプロセッサ
JPH04211837A (ja) レジスタ退避方式
JPH04322332A (ja) プログラム実行制御方式
JPS62217326A (ja) 複数os格納切替可能コンピユ−タ