JPS633339B2 - - Google Patents

Info

Publication number
JPS633339B2
JPS633339B2 JP53052566A JP5256678A JPS633339B2 JP S633339 B2 JPS633339 B2 JP S633339B2 JP 53052566 A JP53052566 A JP 53052566A JP 5256678 A JP5256678 A JP 5256678A JP S633339 B2 JPS633339 B2 JP S633339B2
Authority
JP
Japan
Prior art keywords
task
time
register
time slice
priority
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.)
Expired
Application number
JP53052566A
Other languages
English (en)
Other versions
JPS54144150A (en
Inventor
Teruo Nakamura
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
Nippon Electric Co Ltd
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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP5256678A priority Critical patent/JPS54144150A/ja
Publication of JPS54144150A publication Critical patent/JPS54144150A/ja
Publication of JPS633339B2 publication Critical patent/JPS633339B2/ja
Granted legal-status Critical Current

Links

Description

【発明の詳細な説明】 本発明は情報処理システムに関し、特にタイム
スライスによりタスク制御を行う機能を有する情
報処理システムに関する。
一般にタイムシエアリングシステムにおいて
は、各端末利用者に公平なサービスを与えること
を目標とする場合が多い。この場合には、システ
ム内の必要な資源の全てが与えられて実行権を得
たタスクが、他のタスクに何れか1つ以上の資源
を奪われて実行を中断するか、または実行が終了
するまで中央処理装置を占有して実行を続けるこ
とは許されなく、一定時間が経過すると強制的実
行が打切られ即ちタイムスライミングを行つてい
る。これは、通常、中央処理装置内に計時機構を
持ちタスクの実行開始時に連続して中央処理装置
を利用できる最大時間(タイムスライスタイム)
を設定し、このプロセス実行中にハードウエアに
より並行して計時機構により経過時間の算出を行
い定められたタイムスライスタイムが経過すると
インタラプトを発生してタスクの実行を中断する
ことにより行われる。
また上記計時機構は、インターバルタイマを使
用したり、あるいはタイムスライス経過後の実時
間を保持し、実時間タイマとの一致検出による方
法とが採られている。
しかるに、近年は、情報処理システムを構成す
る回路素子の高集積化と、フアームウエア技術が
進み、結果として従来ソフトウエアで処理してい
た機能のハードウエアおよびフアームウエア化が
計られている。
前記タスクをハードウエアおよびフアームウエ
アから見える構造を持つたプロセスとして定義
し、そのプロセスの実行制御(実行状態、実行可
能状態、実行待機状態および実行保留状態の制
御)を行う情報処理システムにおいて、前記タイ
ムスライス機能を従来技術で実現すると、前記イ
ンタラプトの発生により該インタラプトを処理す
るため他のプロセスを選択して実行権を該プロセ
スに与えることによつて達成される。しかし、新
しいプロセスの実行が開始される前に中断された
プロセスの情報は、中断時点の状態を保持するた
めに退避しなければならない。また、新たに実行
を開始するプロセスの情報も実行開始前に中央処
理装置内に回復しなければならない。
さらに、タイムスライスタイムが尽きたとき
に、このプロセス以上の優先度を有するプロセス
が実行可能状態プロセス群の中に存在しないとき
は、前記プロセスの2回づつの退避/回復処理の
切換えが全く無駄なものとなる。これらのプロセ
ス切換によるオーバーヘツドは、多重度の高いマ
ルチプロセシングシステムにおいては、耐え難い
ものとなる。
本発明の目的は、上記従来の問題点を解決する
ために、プロセスが実行中に占有可能なタイムス
ライス専用の計時機構を設け、タイムスライス事
象の発生時にハードウエアおよびフアームウエア
によつて直接的に他のプロセスに実行権を渡すこ
とにより、実行中プロセスの切換えによるプロセ
ス情態の退避および回復のためのオーバーヘツド
を最小限に抑えるようにした情報処理システムを
提供することにある。
更に本発明の目的は、上記の情報処理システム
に於いて、ハードウエアおよびフアームウエアか
ら直接読出しを可能とする為にプロセス情報の退
避領域にタイムスライスタイマの初期値としての
タイムスライスインターバルを格納し、タイムス
ライス事象発生時にハードウエアおよびフアーム
ウエアにより該タイムスライスインターバルを読
出してタイムスライスタイマに設定する事によ
り、前述のタイムスライス事象処理をより効率化
すると共に必ずしも連続的でない中央処理装置上
でのタスクの走行時間を累積してタイムスライス
タイムと扱うことを可能とすることである。
本発明は、中央処理装置と、タスクに関する制
御情報および該タスクの状態を表示する情報を集
約して記憶する第1の記憶手段と、実行可能状態
にある前記タスクの待行列を記憶する第2の記憶
手段とを有する情報処理システムにおいて、タイ
ムスライス計時機構と、前記中央処理装置を前記
タスクに割当てる際に指定されたタイムスライス
値を前記タイムスライス計時機構に設定する手段
と、前記タスクを使用している間に時刻パルスに
よつて前記タイムスライス計時機構を更新する手
段と、前記タイムスライス計時機構が予め定めら
れた値になつたことを検出する検出手段と、この
検出手段の出力に応じて前記タスクを優先順位に
従つて必要ならば実行可能状態として前記待行列
に登録する手段とを前記中央処理装置に備えてい
ることを特徴とする情報処理システムを提供する
ことにある。
一般にプログラムは、前述のように利用者によ
つて与えられたジヨブを独立に実行可能な仕事の
単位すなわちタスクに分割されており、個々のタ
スクは必要に応じて他のタスクと同期またはメツ
セージ交換を行うが、原則として他のタスクとは
独立に処理される。
本発明に係る情報処理システムにおいては、上
記のタスクはハードウエアおよびフアームウエア
から見えるデータ構造を持つたプロセスとして定
義されており、それらのプロセスは中央処理装置
によつて非同期的に実行され得る連続した命令の
集りである。また、これらのプロセスは、任意の
時点であるプロセスから別のプロセスへ中央処理
装置による実行制御を切換えることができる。す
なわち、プロセスは、実行期間中の任意の時点で
中央処理装置が奪われても後で再び中央処理装置
が与えられると、そのプロセスの実行を再開でき
るようになつている。
次に本発明の実施例について図面を参照して説
明する。
まず第1図および第2図により本発明に係る情
報処理システム内の中央処理装置におけるプロセ
ス制御の概要を説明する。
第1図は情報処理システムにおける主記憶の内
容のうちシステムベースを介してプロセスコント
ールブロツクPCBおよびプロセスに至るアクセ
ススパス(方法)を示した説明図である。
本発明に係る情報処理システムにおけるプロセ
スは、前述の如く実行期間中の任意の時点で中央
処理装置が奪われても後で再び中央処理装置が与
えられると、そのプロセスの実行を再開できるよ
うになつているので、各プロセスは第1図に示す
ようなプロセスコントロールブロツクPCBと呼
ばれる中央処理装置の状態およびプロセスの状態
を保存する情報ブロツクを主記憶上に持つてい
る。中央処理装置は、プロセスの実行を再開する
ためには、プロセスコントロールブロツクPCB
の情報を用いて中央処理装置の状態を整える。こ
のようなプロセスコントロールブロツクPCBは、
第1図に示すようにそのプロセスのアドレス空間
を示すセグメント表アレイポインタ、中央処理装
置内のレジスタ(スタツクポインタ、命令カウン
タ、ベースレジスタ、汎用レジスタおよび科学演
算用レジスタ)の退避領域、プロセスの状態情報
および課金や効率の良いプロセス制御を行うため
の時間情報がある。そしてプロセスコントロール
ブロツクPCB内の命令カウンタによつて指定さ
れた主記憶上に実質のプロセスの最初の命令が存
在することになる。
さらに、主記憶には、システムベースと呼ばれ
るシステム制御情報を記憶する固定領域があり、
境界アドレスレジスタBARを介してアクセスす
ることができる。
プロセスには、J,Pというそれぞれ8ビツト
合計16ビツトからなる名称が付けられており、与
えられたJ,Pに対応するプロセスコントロール
ブロツクPCBへのアクセスは次のようにして行
われる。まず、境界アドレスレジスタBARを読
出すことにより、システムベースの開始アドレス
を知る。そして、システムベース内の情報である
J表ポインタを取出し、このJ表ポインタはJ表
の開始アドレスである。このJ表には、現在シス
テム内に在存するジヨブステツプのための全ての
エントリが用意されていて、J表内のそれぞれの
エントリにはP表ポインタが入つていて、P表ポ
インタはP表の開始アドレスである。またP表
は、プロセス群を表わしており、表中にはそのプ
ロセス群を構成する全てのプロセスのエントリが
用意されていて、P表のそれぞれのエントリには
プロセスコントロールブロツクPCBポインタが
入つており、プロセスコントロールブロツク
PCBのアドレスを指す。
システムベースから求めたJ表ポインタとプロ
セス名のJ番号(x4)を加えることにより、そ
のプロセスの属するジヨブステツプのJ表エント
リが決まり、次にそのJ表エントリ内にあるP表
がポインタにそのプロセス名のP番号(x4)を
加えることによりそのプロセスのためのP表エン
トリを求める。このP表エントリから実行中プロ
セスのプロセスコントロールブロツクPCBポイ
ンタが得られ、これを使つてプロセスコントロー
ルブロツクPCBへ到着する。
プロセスの状態は、実行中、実行可能、待機中
および保留中の4つの状態の何れか1つをとり、
その状態はプロセスコントロールブロツクPCB
内のプロセス状態のフイールドに保守している。
このうち実行中の状態とは、プロセスに中央処理
装置を割当てているときであり、中央処理装置は
そのプロセスのプロシージヤセグメント内の命令
を実行していて、現在実行中のプロセスに対する
プロセスコントロールブロツクPCBのプロセス
名は前記システムベース内の実行中プロセス表示
語の中に示されている。また実行可能の状態は、
必要とする資源で中央処理装置のみが割当てられ
ていない状態で、他の実行可能状態のプロセスや
実行状態のプロセスと中央処理装置の制御の奪い
合いをし、実行可能のプロセスは実行可能プロセ
ス待行列を形成し、その先頭アドレスはシステム
ベース内の実行可能プロセス待行列表示語の中に
示されている。さらに待機中の状態とは、セマフ
オによるメツセージの転送および同期のような何
か特殊な事象が発生するまではそのプロセスが実
行できない状態である。この持機中のプロセス
は、中央処理装置の制御の奪い合いはしないが、
他の同一事象を待機中のプロセスとその事象の奪
い合いを行い、持機中のプロセスはその事象対応
に待機中プロセス待行列を形成し、その先頭アド
レスは各事象に対応したセマフアの中に示されて
いる。さらにまた、歩留中の状態のプロセスの制
御は、ソフトウエアが行い中央処理装置のプロセ
ス制御では対象外となる。
第2図はシステムベースを介してのプロセスの
待行列へのアクセスパスを示した説明図である。
上記の実行可能プロセス待行列および待機中プ
ロセス待行列は、G0セグメントと呼ばれる1つ
のセグメント内に置かれる。このG0セグメント
は、Gセグメントの1つであり、ソフトウエアは
直接アクセスができなく、G0セグメント以外の
Gセグメントにはセマフオおよびそのセマフオに
対するメツセージ待行列等が置かれるが、その説
明は割愛する。前記G0セグメント内は、プロセ
スリンクと呼ばれる待行列エレメントに分割され
ており、前記実行可能プロセス待行列および待機
中プロセス待行列と、更に2つの待行列の何れに
も属さないプロセスリンクすなわちフリープロセ
スリンクから形成されているフリープロセスリン
ク待行列が存在する。
前記実行可能プロセス待行列は、システムベー
ス内の実行可能プロセス待行列表示語により、待
機中プロセス待行列は待機中の対象に対応したセ
マフオにより、またフリープロセスリンク待行列
はG0セグメントの先頭にあるプロセスリンクセ
マフオによりそれぞれ先頭のプロセスリンクが示
される。プロセスリンク内には、ネクストリンク
と呼ばれる待行列内の次に位置するプロセスリン
クの存在により待行列をリンクし、この待行列の
末尾のプロセスリンクのネクストリンクはOであ
る。また、実行可能プロセス待行列表示語、セマ
フオおよびプロセスリンクセマフオ内の各待行列
ポインタもG0セグメントの先頭からの相対アド
レスである。
あるプロセスがセマフオで待機中に移入するこ
と、先ずフリープロセスリンク待行列の先頭のフ
リープロセスリンクを1つフリープロセスリンク
待行列から取りはずし、そのプロセス名(JP)
をそのプロセスリンクに入れ、そのプロセスリン
クに対するポインタがセマフオ内に作られ、この
ときプロセス中のネクストリンクフイールドはο
である。また、別のプロセスが上記と同一のセマ
フオに対して待機中に移入すると、同様にして1
つのフリープロセスリンクをフリープロセスリン
ク待行列より取りはずし、そのプロセス名がフリ
ープロセスリンクに入れられ、そのプロセスリン
クのポインタが先のプロセスリンク内に作られ、
後のプロセスリンク内のネクストリンクがOとさ
れ、このようにして待機中プロセス待行列が作ら
れる。第2図には、2個の待機中プロセス待行列
があり、それぞれ2つのプロセスリンクを持つて
いて、セマフオ動作によつてメツセージ等の事象
が1つのプロセスに与えられて実行が許可される
と、そのプロセス名を持つプロセスリンクは待機
中プロセス待行列から削除され、実行可能プロセ
ス待行列にリンクされる。
実行可能プロセス待行列は、中央処理装置内の
デイスパツチヤ機構の主要な入力であり、このデ
イスパツチヤ機構はどのプロセスが中央処理装置
を使用するべきかを決定する。このような中央処
理装置では、1つの命令の実行が終了すると次の
2つの機能が働き、いま終了した命令の実行中に
起つた事象に基づいて次の実行すべき命令が決定
される。すなわち、まずイベントポーリング機構
が働いて種々の割込事象が発生しているどうかを
チエツクし、もし発生していればその事象に対応
する処理機構においてセマフオ動作が行われ、場
合によつてはこの結果として実行可能プロセス待
行列に新しいプロセスが追加され、次にデイスパ
ツチヤ機構が働いてどのプロセスが次の中央処理
装置を使うべきかを決定する。
システムベースには、デイスパツチヤ機構が使
用するための2つの情報が用意され、その1つは
実行中プロセス表示語であり、現在中央処理装置
を使用しているプロセスの名称(JP)およびそ
の属性(優先順位)を持つていて、もう1つは前
記実行可能プロセス待行列表示語である。前記デ
イスパツチヤ機構は、実行中プロセスと実行可能
プロセス待行列の先頭のプロセスの優先順位を比
較する。この場合、もし実行可能プロセス待行列
の先頭プロセスの方が優先順位が高いものである
ならば、現在実行中のプロセスはそのプロセスに
取つて替わられ、優先順位に従つて実行可能プロ
セス待行列に入られて次に中央処理装置が割当て
られるのを待つ。この待行列は、優先順位に従つ
て並べられているが、プロセスがその待行列に入
れられるとき、行列内にそのプロセスと同一優先
順位を持つプロセスが1つ以上存在する場合があ
る。この場合、そのプロセスが今まで実行中であ
つたときには、同一優先順位を持つプロセスの先
頭に、また今まで待機中または保留中であつたと
きにはこれらの末尾に挿入される。
第3図はプロセスコントロールブロツクPCB
内の時間情報の詳細説明図である。第3図におい
て、時間情報のプロセスが中央処理装置を使用可
能な残り時間を保持するプロセスタイム残り時
間、課金のためにそのプロセスが中央処理装置上
で実行中の累積時間を保持する実行時間アカウン
テイングを持つている。また、プロセス状態、情
報の中のタイムアカウンテイングビツトが1のと
きには、次のタイムアカウンテイング付加情報す
なわち待機中の累積時間を保持する実行待機時
間、実行可能状態の累積時間を保持する実行可能
時間アカウンテイングおよびプロセスが現在の状
態に移入した時点でのタイムオブデイTODの値
を保持する現在状態移入時間を持つている。さら
に、プロセス状態情報の中のタイムスライスビツ
トが1のときには、次のタイムスライス付加情報
すなわちタイムスライス事象発生までの中央処理
装置上で実行可能な残り時間を保持するタイムス
ライス残り時間、タイムスライスタイムを保持す
るタイムスライスインターバルを持つていて、こ
れらのタイムスライス残り時間およびタイムスラ
イスインターバルが本発明に関して追加されたプ
ロセスコントロールブロツクPCBの情報である。
これらの時間情報の形式は、それぞれが64ビツト
からなり、下位12ビツトは常に0、上位52ビツト
1μsecの単位の2進コードが格納される。
第4図は情報処理システムの概略を示すブロツ
ク図である。第4図において、情報処理システム
は、中央処理装置1および主記憶2より構成さ
れ、中央処理装置1は刻時機能とプロセス実行機
能とに大別される。このうち中央処理装置1の刻
時機能は、1マイクロ秒の刻時パルス発生回路1
b,タイマ制御部1c,タイマレジスタ1d,カ
ウンタ1e、ランアウト検出回路1fおよびラン
アウトインデイケータ群1gより構成されてい
る。また中央処理装置1は、プロセス制御部1
a、スクラツチパツドメモリ1h、オペランドレ
ジスタ1i、オペランドレジスタ1j、演算回路
1K、演算結果書込みレジスタ1l、インデイー
ケータ群1m、リクエストレジスタ1n、アドレ
スレジスタ1o、書込みデータレジスタ1p、リ
プライレジスタ1q、読出しデータレジスタ1
r、命令レジスタ1s、プライオリテイ切替回路
1t,実行中プロセスのプライオリテイレジスタ
1u、参照プロセスのプライオリテイレジスタ1
vおよびプライオリテイ比較回路1wを含んでい
る。さらに10〜26はデータ線、30〜50は信号線ま
たは制御線をそれぞれ示している。
上記情報処理システムにおいて、タイマレジス
タ1dは、メモリ構成でありタイムオプデイ
TOD、インターパルタイマIT、プロセスタイマ
PTおよびタイムスライスタイムTSTよりなり、
タイムオブテイTODおよびインターバルタイマ
ITは常にプロセスタイマPTおよびタイムスライ
スタイマTSTはプロセスの実行中のみ刻時パル
ス発生回路1bからのパルスにより更新をする。
またタイマ制御回路1cは、プロセス制御および
プロセス内のタイマに関する命令実行時に発生す
るタイマの参照更新要求と刻時パルス発生回路1
bからの1つのパルスによるタイムオブデイ
TOD、インターバルスタイマIT、プロセスタイ
マPTおよびタイムスライスタイマTSTの順次更
新とを制御する回路であり、それぞれデータ線1
0と信号線30,31により起動される。このデ
ータ線10には、参照更新すべきタイムオブデイ
TOD、インターバルスタイマIT、プロセスタイ
マPTまたはタイムスライスタイマTSTの指定情
報が、また信号線30には、プロセスタイマPT、
タイムスライスタイマTSTの更新抑止状態信号
およびデータ線10で指定したタイマへデータセ
ツト指示が含まれる。このデータセツト指示は後
述するレジスタ1rよりデータ線24を介しての
データをタイマレジスタにセツトするための指示
である。これらの参照更新要求は、相互に非同期
的に発生するので、タイマ制御回路1cにおいて
優先順位を判断し、データ線11および制御線3
2としてタイマレジスタ1dに指示する。またタ
イマカント1eは、データ線11によつて選択さ
れたタイマレジスタ1d内の1つのタイマ出力デ
ータ線12に対して1だけ減算し、出力データ線
13を介してタイマレジスタ1dにもどされる。
このようにタイマカウント1eは、減算機能のみ
しか持たないので、タイマレジスタ1d内のタイ
ムオブデイTODは補数表現となつている。さら
にランアウト検出回路1fは、タイマレジスタ1
dの出力データ12が全ビツト0であることを検
出するための回路であり、検出結果はランアウト
インデイケータ群1gに報告される。このランア
ウトインデイケータ群1gにおいては、ランアウ
ト検出回路1fからの報告と、タイマ指定のため
のデータ線11およびタイマ更新のための制御線
32によつてインタバルタイマランアウト
(RIT:ITのランアウト)、プロセスタイマラン
アウト(RPT:PTのランアウト)またはタイム
スライスタイマランアウト(TST:TSTのラン
アウト)の何れかがセツトされ、データ線14を
介して後述のプロセス制御機能内のイベントポー
リング機構に報告される。
次にプロセス実行機能について説明すれば、一
般にあるプロセスに中央処理装置が割当てられる
と、プロセスの実行時間を短縮するためにプロセ
スコントロールブロツクPCB内のレジスタの値
を中央処理装置1内に取込む。これらのレジスタ
の値を保持し、命令の実行に伴つてその内容の更
新を行つていくのが、スクラツチパツトメモリ1
hである。このスクラツチパツトメモリ1h内に
は、境界アドレスレジスタBAR、プロセス実行
のためのワークレジスタWRおよびプロセスコン
トロールブロツクPCB内の写しとしてセグメン
ト表アレイポインタSTAP、スタツクポインタ
STKP、命令カウンタIC、ベースレジスタBR、
汎用レジスタGRおよび科学演算レジスタが存在
する。このようなスクラツチパツドメモリ1h
は、プロセス制御部1aからのワード指定のため
のデータ線25および指定されたワードの更新の
ための信号線33とにより参照更新される。また
スクラツチパツドメモリ1hの更新データは、主
記憶2からの読出しデータは後述する読出しデー
タレジスタ1rからデータ線24を介して、また
演算結果のデータは同じく後述する演算結果書込
みレジスタ1lからデータ線20を介してスクラ
ツチパツドメモリ1hに与えられ、何れのデータ
を書込むかは信号線33の指示による。さらに
種々のデータ間の演算は、オペランドレジスタ1
i、オペランドレジスタ1j、演算回路1k、演
算結果書込みレジスタ1lおよび演算回路1kか
らのオーバフローおよびアンダフローなどを保持
するインデイケータ群1mよりなる。
オペランドレジスタ1iは、スクラツチパツド
メモリ1hのワード指定のためのデータ線25に
よつて指定されたスクラツチパツドメモリ1hの
内容をデータ線16を介し、タイマレジスタ1d
のワード指定のためのデータ線11によつて指定
されたタイマの値をデータ線32を介し、演算結
果を演算結果レジスタ1lからデータ線20を介
し、あるいは主記憶2からの読出しデータは後述
する読出しデータレジスタ1rからデータ線24
を介してそれぞれのデータが設定され、これらの
データおよび設定タイミングの指定はプロセス制
御部1aからの制御線34によつて行われる。同
様にオペランドレジスタ1jは、演算のためのマ
スク情報、デイスプレイスメント情報等の定数お
よび取出した命令語のフイールドの一部がプロセ
ス制御部1aからのデータ線15を介して与えら
れるとともに、前記データ線12,20,24が
与えられる。これらのデータおよび設定タイミン
グの指定は、プロセス制御部1aからの制御線3
5によつて行われる。また演算回路1kは、前記
オペランドレジスタ1i,1jからのそれぞれの
データ線17,18を介しての入力データに対し
て、プロセス制御部1aからの制御線36で指定
された演算を行い、この結果はデータ線19を介
して演算結果レジスタ1lおよび後述するアドレ
スレジスタ1o、書込みデータレジスタ1pに送
出される。また、演算回路1kの一部の出力すな
わち最上位ビツトからのオーバフローおよびアン
ダーフローは、制御線38を介してインデイケー
タ群1mにセツトされ、演算結果書込みレジスタ
1lおよびインデイケータ群1mの更新指示は制
御線37によつてなされる。
主記憶2へのアクセス機能は、演算回路1kか
らデータ線19を介してアドレスレジスタ1oに
設定された主記憶アドレスと必要ならばオペラン
ドレジスタ1iからのデータ線17を介し、また
は演算回路1kからデータ線19を介して読込デ
ータレジスタ1pに設定された主記憶への読込み
データにプロセス制御部1aから制御線40を介
してリクエストレジスタ1nに設定された主記憶
アクセス指示を付して、それぞれのデータ線2
1,22ならびに制御線43を介して主記憶2に
送出される。この主記憶2の実行結果は、リプラ
イ用制御情報は制御線44を介してリプライレジ
スタ1qへ、読出しデータはデータ線23を介し
て読出しデータレジスタ1rへ報告され、それぞ
れ制御線45を介してプロセス制御部1aへ、ま
たデータ線24を介してスクラツチパツドメモリ
1h、オペランドレジスタ1j、後述の命令レジ
スタ1aおよびタイマレジスタ1dに設定され
る。アドレスレジスタ1oおよび書込みデータレ
ジスタ1pの入力データのサンプリング指示は、
それぞれプロセス制御部1aからの制御線41,
42により行われる。
主記憶2から読出された命令語は、前記読出し
レジスタ1rからデータ線24を介して命令レジ
スタ1sに設定され、この命令レジスタ1sにお
いて命令語として揃えられたデータは、データ線
25を介してプロセス制御部1aに送出され、命
令語が主記憶2からのデータ境界に不一致の場合
はデータ線25によつてシフトを行つて命令語と
しての境界調整を行う。このような命令レジスタ
1sは、プロセス制御部1aからの制御線46に
よつてなされる。なお、プロセス内の個々の命令
の実行に関しては、本発明とは直接関係しないの
で詳細な説明は割愛する。
次にプロセスのプライオリテイ判断のための回
路を説明すれば、プロセスのプライオリテイは、
プロセスコントロールブロツクPCB内のプライ
オリテイの写しとして主記憶2上の実行中プロセ
ス表示語、G0セグメント中の実行可能プロセス
待行列プリセスリンク、実行待期中プロセス待行
列プロセスリンク中に置かれている。これらのプ
ライオリテイは、レジスタ1rからデータ線24
を介してプライオリテイ切替回路1tで選択さ
れ、データ線26を介して実行中プロセスのプラ
イオリテイレジスタ1uおよび参照プロセスのプ
ライオリテイレジスタ1vに設定される。プライ
オリテイ切替回路1tは、プロセス制御部1aか
らの制御線49より指定され、プライオリテイレ
ジスタ30μは制御線48、プライオリテイレジ
スタ1vは制御線49により指示されるο制御線
48は、プロセスに中央処理装置を割当てたとき
に起動され、1つのプロセスが実行中にそのプロ
セスのプライオリテイをプライオリテイレジスタ
1μに保持し、また、実行中のプロセスのプライ
オリテイと比較されるべき他のプロセスのプライ
オリテイとをプライオリテイレジスタ/Vに設定
する。これらのプライオリテイレジスタ1u,1
vはプライオリテイ比較回路1wによつて比較さ
れ、その結果は制御線50を介してプロセス制御
部1aに報告される。
第5図は第4図におけるプロセス制御部1aの
構成および制御の流れの概要を示す説明図であ
る。第5図において、プロセス制御部1aは、イ
ベツトポーリング機構1a1,中央例外処理機構1
a2、入出力事象処理機構1a3,デイスパツチヤ機
構1a4、タイムスライス機構1a5および1命令の
実行機構1a5に大別される。また、これらの各機
構を制御するために、プロセスモード/システム
モード表示、プロセスステート/アイドルステー
ト表示、入出力事象保留中表示および機械動作警
告例外保留中表示のための機能を有している。プ
ロセスモードとは、中央処理装置1が現在実行中
のプロセスに使用されている状態であり、システ
ムモードはそれ以外の状態である。またプロセス
ステートとは、中央処理装置1に実行すべきプロ
セスが割当てられている状態であり、アイドルス
テートとは実行すべきプロセスが割当てられてい
ない状態である。
本発明に係るプロセス制御機構は、イベントポ
ーリング機構1a1、デイスパツチヤ機構1a4およ
びタイムスライス機構1a5であり、以下これらの
機構を詳細に説明する。
イベントポーリング機構1a1は、中央処理装置
で実行される命令の間で介し、保留中の入出力割
込み、保留中のシステム例外事象(インタバルタ
イマランアウト例外事象、機械動作警告例外事
象)、プロセスタイマランアウト例外事象、タイ
ムスライスタイマランアウト事象が存在するか否
かるチエツクする。この場合、入出力割込事象が
あれば、入出力事象処理機構1a3が起動され、指
定されたセマフオ動作(同期動作)を遂行し、完
了時にイベントポーリング機構1a1に制御を返
す。またインタバルタイマランアウト例外事象、
プロセスタイマランアウト事象および機械動作警
告例外事象があれば、中央例外処理機構1a2が起
動され、指定されたセマフオ動作が遂行されて、
完了後イベントポーリング機構1a1を起動する。
これらの保留中の割込み、例外およびタイムスラ
イスタイマランアウト事象が処理された後、いく
つかのプロセスが実行可能となり得、それらのプ
ロセスは実行可能プロセス待行列上に置かれる。
上記の何れの事象も存在しないときには、デイス
パツチヤ機構に制御が移る。
第6図はイベントポーリング機構1a1の詳細説
明図である。第6図において、デイスパツチヤ機
構1a4は、1つの命令および全ての事象の処理が
終了した後で介入し、システムース中の実行中プ
ロセス表示語および実行可能プロセス待行列表示
語から指定された実行可能プロセス待行列内の各
プロセスリンクとによつて、どのプロセスが中央
処理装置の制御(換言すれば占有権)を得るか、
または保持するかを決定する。なお、インタバル
タイマランアウト例外条件は、インタバルタイマ
ランアウトRIT=1、プロセスタイマランアウト
例外条件は、プロセスタイマランアウト=1、タ
イムスライスタイマランアウト事象は、タイムス
ライスタイマランアウトRTST=1である。
第7図A〜Cはデイスパツチヤ機構1a4の詳細
説明図である。第7図A〜Cにおいて、11〜1
3は相互の接続関係を示し、14はデイスパツチ
ヤ機構1a4に対して追加した機能を示し、中央処
理装置で実行中のプロセスがなく、かつ実行可能
プロセス待行列もカラである場合は、実行すべき
プロセスが存在せず、中央処理装置はアイドルス
テートとなり、イベントポーリング機構1a1に入
る。また中央処理装置で実行中のプロセスがな
く、実行可能プロセス待行列に1つ以上のプロセ
スが存在する場合は、実行可能プロセス待行列中
の最高位の優先順位を持つたプロセス(先頭のプ
ロセス)が中央処理装置の制御(占有権)が与え
られ、実行中の状態に移入する。さらに中央処理
装置に実行中のプロセスが存在し、かつ実行可能
プロセス待行列の最高位の優先順位を持つプロセ
ス(先頭のプロセス)との優先順位を比較し、実
行中のプロセスの優先順位が等しいか、または高
ければ実行中の状態を継続するが、低ければ中央
処理装置の占有権は実行可能プロセス待行列中の
先頭プロセスに与えられることになる。さらにま
た、中央処理装置に実行中のプロセスが存在する
が、実行可能プロセス待行列が空の場合も、その
プロセスは実行中の状態を継続する。
第8図AおよびBはタイムスライス機構1a5
詳細説明図である。第8図AおよびBにおいて、
15〜16は相互の接続関係を示し、イベントポ
ーリング機構1a1において、タイムスライスタイ
マランアウト事象が検出されると、タイムスライ
ス機構1a5に移入する。このタイムスライス機構
1a5においては、まずプロセス制御部内のプロセ
スモード/システムモード表示をポロモスモード
に設定する。次に実行可能プロセス待行列中の他
のプロセスに中央処理装置の占有権を渡すべきか
否かをチエツクするために、システム内の実行中
プロセス表示語中のプライオリテイと実行可能プ
ロセス待行列中の先頭プロセスリング中のプライ
オリテイと比較する。以下、第4図を参照しなが
ら説明する。第4図において、データ線25によ
り指定したスクラツチパツドメモリ1h内の境界
アドレスレジスタBARをデータ線16を介して
オペランドレジスタ1iに読出し、同時にデータ
線15によりシステムベース内の実行可能プロセ
ス待行列表示語の境界アドレスレジスタBARか
らのデイスプレイレイメント8(定数)をオペラ
ンドレジスタ1jに設定する。次にデータ線1
7,18を介して演算回路1kにおいて加算し、
この結果をアドレスレジスタ1oに設定し、これ
と同時に制御線40を介してリクエストレジスタ
1nに読出し要求をセツトし、それぞれデータ線
21および制御線43を介して主記憶2に送出さ
れる。
主記憶2における読出し動作が完了すると、リ
プライ情報は、制御線24を介し、またデータは
データ線23を介してそれぞれリプライレジスタ
1qおよび読出しデータレジスタ1rに設定し、
さらに制御線25を介してリプライがプロセス制
御部1aに報告されると、データ線24に乗せら
れた実行可能プロセス待行列表示語の内容をオペ
ランドレジスタ1jに設定する。次にこのオペラ
ンドレジスタ1jの内容は、演算回路1kにより
チエツクされ、このチエツク結果がオペランドレ
ジスタ1jの内容が0であると、制御線38を介
してインデイケータ群1mの該当ビツトをセツト
し、さらにこのビツトの出力は制御線39を介し
てプロセス制御部1aに伝えられる。このように
オペランドレジスタ1jの内容が0であると、実
行可能プロセス待行列にプロセスは存在しないこ
とであり、今実行中のプロセスは中央処理装置の
占有を続けることになる。ただし、このときにも
中央処理装置内のタイムスライスタイマの値はプ
ロセスコントロールブロツク内のタイムスライス
インタバルにより更新される必要があるが、詳細
は後述する。
オペランドレジスタ1jの内容が0でなけれ
ば、実行可能プロセス待行列中にプロセスが存在
し、次に実行可能プロセス待行列の先頭のプロセ
スリンクを読出す。このために、オペランドレジ
スタ1jの内容をデータ線25により指定したス
クラツチパツドメモリ1hのワークレジスタ
(WR(a0))に限避し、これはオペランドレジス
タ1jから演算回路1k、演算結果書込レジスタ
1lおよびデータ線20を介して行われる。また
再びスクラツチパツドレジスタ1hから境界アド
レスレジスタBARをオペランドレジスタ1iに
読出し、オペランドレジスタ1jに定数4を設定
し、演算回路1kにおいてオペランドレジスタ1
i,1jの内容の加算を行い結果をアドレスレジ
スタ1oに設定する。これは、システムベース中
のG表ポインタのアドレスであり、同時にリクエ
ストレジスタ1nに主記憶読出し要求を設定し、
読出しデータが読出データレジスタ1rに設定さ
れると、さらにデータ線24を介してオペランド
レジスタ1jに転送され、このオペランドレジス
タ1jにG0セグメント記述子すなわちG0セグメ
ントの先頭アドレスが設定される。このようにし
てスクラツチパツドメモリ1hのワークレジスタ
WR(a0)に格納した実行可能プロセス待行列表
示語の内容は、オペランドレジスタ1iに読出さ
れ、演算回路1kにおいてオペランドレジスタ1
i,1jの加算を行い、この結果を演算結果書込
レジスタ1l、アドレスレジスタ1oに設定す
る。これは、実行可能プロセス待行列の先頭のプ
ロセスリンクのアドレスであり、同時にリクエス
トレジスタ1nに主記憶読出要求を設定する。こ
のようにして読出しデータが読出データレジスタ
1rに読出されると、データ線24を介してプラ
イオリテイ切替回路1tにおいてプライオリテイ
フイールドが選択され、データ線26を介して参
照プロセスのプライオリテイレジスタ1vに同行
列の先頭プロセスのプライオリテイが設定され、
次に実行中プロセスのプライオリテイレジスタ1
v内の現在実行中のプロセスのプライオリテイと
プライオリテイ比較回路1wにおいて比較され
る。この比較の結果は、制御線50を介してプロ
セス制御部1aに報告され、結果が実行可能プロ
セス待行列中のプロセスのプライオリテイが低い
ならば実行中プロセスが中央処理装置の占有権を
保持し、タイムスライスタイマの更新後にイベン
トポーリング機構1a1に移入する。この場合、実
行中プロセスのプライオリテイが低ければ、実行
中プロセスは実行可能プロセス待行列につなが
れ、イベントポーリング機構1a1に移入する。
次に実行中プロセスを実行可能プロセス待行列
に加える制御について説明すると、まずプロセス
コントロールブロツク内のタイムスライスインタ
ーバルをタイムスライスタイマに読出すことから
始まり、スクラツチパツドメモリ1h内の境界ア
ドレスレジスタBARをオペランドレジスタ1i
に読出し、このオペランドレジスタ1iの内容を
変更せずに演算回路1kを介してアドレスレジス
タ1oに設定し、同時に主記憶読出し要求をリク
エストレジスタ1nを設定して主記憶にJ表ポイ
ンタの読出しを指定する。また読出データレジス
タ1rに読出データが設定されれば、データ線2
4を介してオペランドレジスタ1iに設定され、
同時にオペランドレジスタ1jには実行中プロセ
ス名JcPcに対して、Jc×4の定数をオペランド
レジスタ1jに設定する。演算回路1kで加算
し、結果をアドレスレジスタ1oに設定すると同
時にJ表内のP表ポインタ読出しのための要求を
リクエストレジスタ1nに設定し、読出しデータ
が読出データレジスタ1rに設定されるとデータ
線24を介してオペランドレジスタ1iに設定す
ると同時に、Pc×4の定数をオペランドレジス
タ1jに設定する。また演算回路1kで加算し、
この結果をアドレスレジスタ1oに設定すると同
時に、P表内のプロセスコントロールブロツク
PCBポインタ読出しのための要求をリクエスト
レジスタ1nに設定する。読出データが読出デー
タレジスタ1rに読出されると、さらにオペラン
ドレジスタ1iに転送し、この読出されたデータ
が実行中プロセスのプロセスコントロールブロツ
クPCBの主記憶2上のアドレスであり、プロセ
スコントロールブロツクPCB内のタイムスライ
スインターバルを読出ためにプロセスコントロー
ルブロツクPCBアドレスから負のデイスプレイ
メントである定数56をオペランドレジスタ1jに
設定する。さらに演算回路1kにおいて、オペラ
ンドレジスタ1i,1jを加算し、この結果をア
ドレスレジスタ1oに設定すると同時に、タイム
スライスインターバル読出しのための要求をリク
エストレジスタ1nに設定する。読出データが読
出データレジスタ1rに設定されると、データ線
24を介してプロセス制御部1aからタイマ制御
部1bを介してされたタイマレジスタ1d内のタ
イムスライスタイマTSTを設定し、このタイム
スライスタイマTSTがタイムスライス値を初期
設定である。
また実行中プロセスのロールアウトにおけるレ
ジスタ類のプロセスコントロールブロツクPCB
への退避は、オペランドレジスタ1iに読出され
たプロセスコントロールブロツクPCBアドレス
+8のアドレスから+4にしつつ順次スクラツチ
パツトメモリ1hから読出したスタツクポインタ
STKP,インストラクシヨンカウンタIC、ベース
レジスタBR、ゼネラルレジスタGR、サンエン
テフリツクレジスタSRを主記憶2に書込むこと
により行う。同様にして時間情報の更新、プロセ
スリンクおよびフリープロセスリンク待行列、実
行可能プロセス待行列の更新を第8図AおよびB
に従つて行い、最後にプロセスコントロールブロ
ツクPCB内のプロセス状態を実行可能状態とし
て制御をイベントポーリング機構1a1に渡して行
う。
したがつて、本発明に係る情報処理システムに
よれば、プロセスが実行中に占有可能なタイムス
ライス専用の計時機構を設け、タイムスライス事
象(タイムスライスが尽きたときに発生する事
象)発生時に、ソフトウエアすなわち他のプロセ
スによらずハードウエアおよびフアームウエアに
よつて直接的に他のプロセスに実行権を渡すこと
により、実行中プロセスの切換えによるプロセス
情報の退避および回復のためのオーバーヘツドを
最小限に抑えることができる。
本発明は以上説明したように、プロセスが実行
中に占有可能なタイムスライス専用の計時機構を
設けてタイムスライス事象をプロセス内の事象と
して中央処理装置が処理可能とすることにより、
必要最少限のプロセスの切替えができるので、タ
イムスライス制御を採用したときのオーバーヘツ
ドの増加を最少にすることができる。また、シス
テムベース、プロセスコントロールブロツクおよ
び種々の表類が中央処理装置から見えるので、中
央処理装置内にいくつかの情報を取込むなどの高
速化が容易であるなどの効果を有する。
【図面の簡単な説明】
図面は本発明に係る情報処理システムの一実施
例を示し、第1図および第2図は本発明に係る情
報処理システム内の中央処理装置におけるプロセ
ス制御の概要の説明図、第3図はプロセスコント
ロールブロツク内の時間情報の説明図、第4図は
中央処理装置の説明図、第5図は第4図のプロセ
ス制御部の構成および制御の流れの概要を示した
説明図、第6図はインベントポーリング機構のフ
ローチヤートを示す図、第7図A〜Cはデイスパ
ツチヤ機構のフローチヤートを示す図、第8図A
およびBはタイムスライス機構のフローチヤート
を示す図である。 1……中央処理装置、1a……プロセス制御
部、1c……タイマ制御部、1g……ランアウト
インデイケータ群、1h……スクラツチパツドメ
モリ、1i,1j……オペランドレジスタ、1k
……演算回路、1o……アドレスレジスタ、1p
……書込データレジスタ、1r……読出データレ
ジスタ、1t……プライオリテイ切替回路、1
u,1v……プライオリテイレジスタ、1w……
プライオリテイ比較回路、2……主記憶。

Claims (1)

  1. 【特許請求の範囲】 1 複数のタスクを時分割で処理する中央処理装
    置を有する情報処理システムにおいて、各タスク
    に対する優先順位、タイムスライス残り時間、タ
    イムスライスインターバルおよび各種状態情報を
    含むタスク制御情報を集約して記憶する第1の記
    憶手段と、 実行可能耐行列が格納され前記各タスクが実行
    状態から実行可能状態に移行するときには対応す
    るタスクのタスク識別情報が該待行列中の同一優
    先順位の先頭に挿入され、前記各タスクが実行待
    機状態または実行保留状態から実行可能状態に移
    行するときには該タスク識別情報が該待行列中の
    同一優先順位の末尾に挿入される第2の記憶手段
    と、 タイムスライス計時手段と、 前記中央処理装置を前記タスクの一つに割当て
    るときに前記第1の記憶手段内の指定された前記
    タイムスライス残り時間を前記タイムスライス計
    時手段に設定する手段と、 前記各タスクが前記実行状態から他の状態に移
    行するときに前記タイムスライス計時手段のタイ
    ムスライス残り時間を前記第1の記憶手段に格納
    する手段と、 前記各タスクを前記中央処理装置で実行してい
    るときに時刻パルスによつて前記タイムスライス
    計時手段を更新する手段と、 前記タイムスライス計時手段のタイムスライス
    残り時間が予め定めた値になつたことを検出する
    検出手段と、 該検出手段の出力に応答して前記第1の記憶手
    段に格納されている前記タイムスライスインター
    バルを前記タイムスライス計時手段のタイムスラ
    イス残り時間に設定する手段と、 前記検出手段の出力に応答して、実行状態のタ
    スクの優先順位と前記実行可能待行列の先頭のタ
    スク識別情報に対応するタスクの優先順位とを比
    較し、同一優先順位かまたは該実行状態のタスク
    の優先順位の方が低いときには、該先頭のタスク
    識別情報を取り除くとともに該実行状態のタスク
    を実行可能状態とするよう該タスクのタスク識別
    情報を前記待行列の同一優先順位の末尾に挿入
    し、前記中央処理装置内の前記タスク制御情報を
    前記第1の記憶手段に格納し、前記取り除かれた
    タスク識別情報に対応するタスクのタスク制御情
    報を前記第1の記憶手段から前記中央処理装置内
    に取り出して該タスクを実行状態とする手段とを
    備えたことを特徴とする情報処理システム。
JP5256678A 1978-04-28 1978-04-28 Information processing system Granted JPS54144150A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5256678A JPS54144150A (en) 1978-04-28 1978-04-28 Information processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5256678A JPS54144150A (en) 1978-04-28 1978-04-28 Information processing system

Publications (2)

Publication Number Publication Date
JPS54144150A JPS54144150A (en) 1979-11-10
JPS633339B2 true JPS633339B2 (ja) 1988-01-22

Family

ID=12918343

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5256678A Granted JPS54144150A (en) 1978-04-28 1978-04-28 Information processing system

Country Status (1)

Country Link
JP (1) JPS54144150A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS643740A (en) * 1987-06-25 1989-01-09 Nec Corp Task control system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS50152636A (ja) * 1974-02-20 1975-12-08

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS50152636A (ja) * 1974-02-20 1975-12-08

Also Published As

Publication number Publication date
JPS54144150A (en) 1979-11-10

Similar Documents

Publication Publication Date Title
JPS58195966A (ja) 多重タスク処理ワ−ド・プロセツサにおける使用者制御によるリソ−ス切換え方法
EP0633522B1 (en) Pipelined data processing system capable of stalling and resuming a pipeline operation without using an interrupt processing
JPH077379B2 (ja) 多重処理システムの割込み選択方式
EP1811375B1 (en) Processor
JP4168281B2 (ja) 並列処理システム、インタコネクションネットワーク、ノード及びネットワーク制御プログラム
JPS633339B2 (ja)
JP2594600B2 (ja) シングルチップマイクロコンピュータ
JP2001075820A (ja) リアルタイムos装置
JP3221109B2 (ja) マルチプロセッサシステム、およびtod同期化制御方法
JPS63136139A (ja) 情報処理システム
JPS58205274A (ja) 多重情報処理装置システム
JPS62151942A (ja) タスク切換え方式
JPH01131596A (ja) ビデオ更新構成体を含むコンピュータワークステーション
JP3033722B2 (ja) マルチプロセッサシステムに於けるtod一致制御装置
JPS60254364A (ja) タイマ設定方式
JPH11327681A (ja) 仮想システム時刻管理方式、管理方法および管理プログラムを記録した記録媒体
JPS58115552A (ja) 割込み制御方式
JPH0648300B2 (ja) 電子時計
JPS63103312A (ja) タイマ制御方式
JPH0462093B2 (ja)
JPH06266630A (ja) トレース機能付き入出力制御装置
Halang et al. A Real Time Hardware Architecture
JPS6120139A (ja) 割込み制御方式
JPH03179532A (ja) コンピュータ装置
JPH0535507A (ja) 中央処理装置