JPS5935055B2 - デ−タ処理システム - Google Patents

デ−タ処理システム

Info

Publication number
JPS5935055B2
JPS5935055B2 JP49136670A JP13667074A JPS5935055B2 JP S5935055 B2 JPS5935055 B2 JP S5935055B2 JP 49136670 A JP49136670 A JP 49136670A JP 13667074 A JP13667074 A JP 13667074A JP S5935055 B2 JPS5935055 B2 JP S5935055B2
Authority
JP
Japan
Prior art keywords
mode
instruction
data processing
memory
processing system
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
JP49136670A
Other languages
English (en)
Other versions
JPS50117330A (ja
Inventor
ミツシエル アペル マルク
ミツシエル ジヤン ビエンブニユ− ジヤツク
クロ−ド マルセル カソネ ジヤン
ジヨルジユ レピカル
ジヨン ヨゼフ ブラドレイ
ベンジヤミン サミユエル フランクリン
パトリツク ジヤン デユフオン
ジヤン ロワ ボゲ−ル
リブ フイリツプ ウベ−ル ド
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.)
ANTERUNASHONARU PUURU RANFUORUMATEIKU SEE I I HANIIUERUBURU CO
Original Assignee
ANTERUNASHONARU PUURU RANFUORUMATEIKU SEE I I HANIIUERUBURU CO
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
Priority claimed from FR7342695A external-priority patent/FR2253430A5/fr
Priority claimed from FR7342693A external-priority patent/FR2253428A5/fr
Priority claimed from FR7342713A external-priority patent/FR2253438A5/fr
Application filed by ANTERUNASHONARU PUURU RANFUORUMATEIKU SEE I I HANIIUERUBURU CO filed Critical ANTERUNASHONARU PUURU RANFUORUMATEIKU SEE I I HANIIUERUBURU CO
Publication of JPS50117330A publication Critical patent/JPS50117330A/ja
Publication of JPS5935055B2 publication Critical patent/JPS5935055B2/ja
Expired 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】 発明の分野 本発明は一般に計算機システムに関わり、特に、本来も
しくは生来の動作モードから、非本来のモードヘデイジ
タル計算機システムの切換を制御するためのハードウエ
アおよびフアームウエアを備えた計算機システムに関す
る。
従来技術 −般に電子的データ・プロセツサ(データ処理装置)が
処理すべき各プロセスまたは各プログラムは、全く異な
つた一連のステツプで記述されている。
これら一連のステツプは、複数の可変要素によつて指示
される。これら可変要素のうちの2つの要素としてデー
タ・プロセツサ内で利用可能なハードウエアおよび用い
られている文字構成が挙げられる。所与の電子的データ
・プロセツサの能力を最大限に活用ししかもプロセスの
実行に要する全機械時間を最少限にするように作成され
たプロセスまたはプログラムの実行は当該電子的データ
・プロセツサの生来モードもしくは本来モードの動作(
オペレーシヨン)と定義される。したがつて、特定のプ
ロセツサのために作成されるプログラムは、当該プロセ
ツサの本来モードで実行されるように作成することがで
きる。ところで、新しいデータ処理システムが開発され
導入される都度、該新しいデータ処理システムが古いデ
ータ処理システムの本来モードの動作用に作成されたプ
ログラムで動作するか否かに関連して常に問題が生ずる
。全く当然のことながら、新しいデータ処理システムは
、それより古いデータ処理システムには見られない新し
いハードウエアユニツトや新規なデータ・フローの考え
方を取り入れている。したがつて交換されるべき古いデ
ータ処理システムのために作成されたプログラムは、新
しいデータ処理システムの本来の動作モードでは作動し
得ない。したがつて、第1の格納されたプログラムに応
答して動作し本来の動作モードでデータ処理システムの
動作を指令すると共に、第2の格納されているプログラ
ムに応答して動作し、データ処理システムの代替えもし
くは非本来モードでの動作を指示し、その場合に上記第
1および第2のプログラムが1つのプロセスを構成して
いるデータ処理システムにおいては、上記のようにシス
テム内の2つのプログラムのうちの所望の1つを実行す
るために有効かつ効果的な切換手段を用いる必要がある
このような動作またはプログラム・モード切換に関する
技術は米国特許第3374466号および第34406
12号各明細書に開示されている。発明の目的 本発明の目的は、本来モードの命令および非本来モード
の命令を同じプロセツサで実行することを可能にするデ
ータ処理システムのための改良された動作モード切換方
式を提供することにある。
本発明のさらに他の目的は、本来モードの命令の実行と
1つまたは2つ以上の非本来モードの命令の実行との間
の切換を効率的に行なうことができる多重処理計算機シ
ステムを提供することにある。発明の要旨 本発明の目的は、多重処理計算機システム内で実行され
る各プロセスとそれぞれ1つずつ関連した複数のプロセ
ス制御プロツクを有する多重処理計算機システムを提供
することにより達成される。
各プロセス制御プロツクは、任意時点で1つのプロセス
の状態を特定するのに必要な情報を格納することができ
、それにより情報の損失を伴なうことなくプロセスを起
動したり再起動することができる。各プロセス、したが
つてまた各プロセス制御プロツクと関連し、装飾拡張テ
ーブルが設けられ、この装飾拡張テーブルは複数の記憶
場所を有しており、各記憶場所は例えば他のデータ・プ
ロセツサのエミユレーシヨン等に用いられる特定の機能
が所与のシステムで実行可能がどうかを指示する。本来
もしくは生来モードで通常は動作するデータ処理システ
ムは、本来モード動作(オペレーシヨンとも称する)か
ら非本来モード動作への切換のために本来モードの命令
を受取ることができる。この本来モードの命令は、装飾
拡張実行命令(ZXDE)と呼称されるものであつて、
他のデータ・プロセツサのエミユレーシヨンのような特
定の機能やまた該特定の機能によつて実行されるべき動
作もしくはオペレーシヨンを指示するフイールドを備え
ている。このような装飾拡張命令が受容し得るフオーマ
ツトを有するか否かの判定に加えてさらに、装飾拡張テ
ーブルが装飾拡張命令により指定された特定機能の実行
可能性を定義し得ることを確認するためのチエツクが行
なわれる。このチエツクの結果、装飾拡張テーブル内の
選択された場所により実行可能であることの肯定指示が
与えられると、該特定の指定された機能が起動される。
実施例 以下添付図面を参照し、本発明の実施例に関し詳細に説
明する。
本発明のシステムはハードウエア/フアームウエア/ソ
フトウエア対応システムであるが、典型的には後述する
ようにハードウエア・システム環境で動作するものであ
る。
第1図を参照するに、本システムのサブシステムには、
プロセツサ サブシステム101.記憶サブシステム1
02および1つまたは2つ以上の(実施例では32個)
の周辺サブシステム103が含まれる。プロセツサ・サ
ブシステムは中央処理装置(CPU)104および4個
までの入/出力制御装置(IOC)105を備えている
。各周辺サブシステムは、周辺制御装置(PCU)10
6、複数のデバイス・アダプタ(DA)107ならびに
256個迄の周辺入/出力デバイス108を含む。記憶
サブシステム102はそれぞれ32ないし512キロバ
イトの1ないし4個の半導体メモリ・モジユールから構
成されている。1.プロセツサ・サブシステム プロセツサ・サブシステム101においては、中央処理
装置もしくはCPUlO4がシステムの基本的な処理動
作もしくは演算を実行し、メモリ102と連絡をとる。
入/出力制御装置もしくは10C105が、記憶サブ・
システム102と周辺制御装置106との間における全
ての情報交換を制御する。A.中央処理装置(CPU) 中央処理装置即ちCPUは主メモリ同期装置109、バ
ツフア・メモリ110、演算装置111およびエミユレ
ーシヨン装置もしくは工ミニレータ112を含む。
主メモリ同期装置109は計算装置111、バツフア・
メモリ110および入/出力制御装置105間における
主メモリの使用の競合を回避する働きをなす。このよう
な主メモリ使用に関する競合は優先ベースで解決される
。入/出力制御装置は、最も高い優先度を有し、次に高
い優先度は演算装置からのメモリ書込みに与えられ、下
位の優先度はバツフア・メモリへのメモリ読込みに与え
られる。中央処理装置(以丁単にCPUとも称する)は
また、主メモリ・アドレシング(アドレス指定)を制御
するアドレス制御装置(以下単にACUとも称する)1
31ならびに主メモリの最も最近用いられたアドレスを
格納するのに用いられる補助メモリ(以下単にASとも
略称する)132を備えている。バツフア・メモリ11
0は主メモリの選択された領域を再生する小容量高速度
バツフア・メモリであつて、平均メモリ・アクセス時間
を減少するために演算装置と結合されている。各メモリ
読出し中、バツフア・メモリおよび主メモリ双方がアク
セスされる。取り込まれる情報が既にバツフア・メモリ
内に存在する場合には、主メモリ読出しを終末して、情
報はバツフア・メモリから取り込まれる。そうでない場
合には、主メモリ102から読み出される。この情報読
出し毎に、CPUlO4は所望の情報を有している32
バイトを取り込む。取り込まれた情報は、将来の使用の
ためにバツフア・メモリ内に格納保持される。バツフア
・メモリはソフトウエアに対してトランスペアレットで
あるので、任意時点で計算機システムを制御しているの
でプログラムは、該計算機が処理しづつある情報が、バ
ツフア・メモリから取り込まれたものであるか、あるい
は主メモリから取り込まれたものであるかを判定するこ
とはできない。演算装置111はCPUにおける全ての
データ処理およびアドレス発生を司る。
演算装置内に設けられる典型的な制御メモリ(130)
は、システムの初期設定を行ない、CPUlO4および
入/出力制御装置(以下単にIOCとも略称する)10
5を制御しかつ命令セツト(図示せず)を解読するフア
ームウエアを備えている(PrenticeHall社
発行のSamlrSHussOn著の「Mic一ROp
rOgrammingPrinciplesandPr
actices」を参照されたい)。制御メモリは、適
宜、科学的命令、試験ルーテーン、エミユレーシヨン・
パツケージまたは特殊目的機能を与えることができ、そ
れによつてプロセツサ・サブシステムの能力を拡張する
。1つのオプシヨン(任意選択事項)として、CPUは
ここで述べているシステム以外のシステムのエミユレー
シヨンを行なうことができる。
それに用いられる工ミニレータ112はフアームウエア
、ソフトウエア、そして或る種の事例においてはハード
ウエア要素とすることができる。.基本的機械構成 このハードウエアにおいては、典型的には3つの基本的
データ構成が用いられる。
即ちデータ・フオーマツトとソフトウエア監視レジスタ
と命令フオーマツトである。A.データ・フオーマツト 情報はメモリとCPUとの間で8つの並列ビツト・ベー
スで転送される。
情報の各8ビツト単位を1バイトと称する。またデータ
と共にパリテイもしくはエラー補正データも転送される
が、これはソフトウエアによつては実行できない。従つ
て本明細書において用いられる術語「データ」には、工
ラ一補正データの関連のパリテイは含まれない。B.バ
イト1バイト内のビツトは、左から右に向う方向に零な
いし7の番号が付されている。
バイトは個別処理または群処理される。2バイトで半ワ
ードが構成され、4バイトで1ワードが構成され、8バ
イトで2ワードが構成され、16バイトで4ワードが構
成される。
これらのワードが命令を含む全てのデータに対する基本
フオーマツトである。C.データ表示全てのデータは2
進形態にあるが、2進データ、10進データあるいは英
数文字データを表すものとして解釈することができる。
データ・ビツトは2進符号化10進データの場合には4
ビツト1グループとして、英数文字データの場合には8
ビツト群として、また2進デイジツトの場合には16ま
たは64ビツト群として用いられる。データは、2進法
で記号の付いた固定小数点または不動小数点数として解
釈される。2ワードまでの連続ビツト数はまた1ビツト
列として取り扱われ得る。
英数文字群は、EBCDICで表わされる。代替え交換
コードとしてASCIIが用いられる。D.使用者に可
視のレジスタ(すなわちこれらのレジスタは使用者にア
ドレス指定され得る)第1図に示したCPUlO4には
33の使用者が観察し得るレジスタが設けられている。
これらレジスタの内容が集合的にCPUの状態を確定す
る。これらレジスタには次のような4つの種類のレジス
タがある(第2図参照)。1 汎用レジスタ 2基準レジスタ 3科学的レジスタ(任意選択的な、即ちオプシヨナルな
レジスタである)。
4雑レジスタ E.汎用レジスタ 汎用レジスタ(以下単にGRとも略称する)201は、
固定小数点2進数およびビツト列を取り扱うのに用いら
れる。
典型例として、CPUlO4には16の32ビツト汎用
レジスタGROないしGRl5が設けられる。これら汎
用レジスタGR8ないしGRl5はまたインデツクス・
レジスタもしくは指標レジスタとしても使用可能である
。指標レジスタとして用いる場合には、これらレジスタ
はXOないしX7の参照番号を付けることにする。イン
デクシクグは、レジスタに格納されている32ビツトの
2の補数整数を用いて行なわれる。F.基準レジスタ 基準レジスタ(以下BRとも略称する)は命令カウンタ
1Cおよびスタツク・レジスタ202,203と同じフ
オーマツトを有する。
基準レジスタは、メモリの1部分を画定するためのアド
レス計算中に用いられるものである。典型例として8つ
の32ビツトの基準レジスタBROないしBR7が設け
られる。G.科学的レジスタ 科学的レジスタ(以下SRとも略称する)は、不動小数
点数での計算のためのオプシヨン(任意選択)的な性質
のデバイスである。
典型例として4つの8バイト科学的レジスタが設けられ
ており、それぞれ参照記号SROないしSR3が付けら
れている。これら科学的レジスタは第2図に示したフオ
ーマツト204ないし205を有している。H.雑レジ
スタこの雑レジスタには次のような5つのレジスタが含
まれる。
フオーマツト202および203を有する命令カウンタ
フオーマツト207を有する状態レジスタ(Tレジスタ
と称される)スタツク・レジスタフォーマツドパ−20
6を有する境界アドレス・レジスタフオーマツト208
を有するハードウエア制御マスク・レジスタ命令カウン
タ(ICとも略称する)は、実行されづつある命令のア
ドレスを格納する32ビツトレジスタである。
状態レジスタ(STRとも略称する)207は、現在実
行されつつある手順に関する事実、例えば最も最近の演
算によりアンダーフロー(下位桁あふれ)が生じたかど
うかに関する事実を記録する8ビツトレジスタである。
Tレジスタとも称されるスタツク・レジスタは、現在働
いている手順もしくはプロセスと関連の後人れ先出しス
タツクの頂部に対するポインタを格納している。32ビ
ツト・レジスタである。
これらスタツクは作業空間もしくは場所を提供すると共
に、局部変数を節減し、手続きの入力および情報の復帰
のための機構としての働きをなす。境界アドレス・レジ
スタ(BARとも略称する)206は、ソフトウエアに
よりアクセス可能である最下位の絶対主メモリ・アドレ
スを特定する28ビツト・レジスタである。このレジス
タはシステムのイニシアライゼーシヨン即ち初期設定中
にロードされて、ソフトウエアによつてのみ読み出すこ
とが可能である。ハードウエア制御マスク・レジスタ2
08は、機械状態情報を記録する8ビツト・レジスタで
ある。1.命令フオーマツト 約200の命令が用いられている。
もつともそれよりも大きい数または少い数の命令を利用
することもできる。各命令は4つの異なつた長さのうち
の1つの長さを有するが、常に偶数バイト長である点に
注意されたい。命令は連続した記憶場所に格納される。
最も左のバイトのアドレスは2の倍数であり、当該命令
のアドレスである。1つの命令の8つの上位ビツト(場
合によりビツト8ないし11または12ないし15)は
、演算コードを表わし、他方残りのビツトは1つまたは
2つ以上のオペランドもしくは演算数を表す。
オペランドは、レジスタ指定子、変位指定子、アドレス
・シユラブル(論理アドレス)、直定値、即値、直定値
(即値リテラル値)とすることができる。オペランドの
種類および数は命令フオーマツトによつて定まる。1.
システム構成 A.ジヨブ・ステツプおよびタスク 計算機システムによつて実行される作業は、外部的に、
ジヨブ制御言語を介して一連のジョブ・ステツプにより
画定される。
1つのジヨブ・ステツプは、ハードウエア資源が割り当
てられる1つの作業単位である。
典型的には、ジヨブ・ステツプはいくつかのタスクから
構成される。タスクは、並列にではなく実行される命令
の流れからなる使用者画定作業の最小単位である。B.
プロセス タスクおよびジヨブ・ステツプに関する使用概念は、そ
れぞれプロセスおよびプロセス群によりハードウエアに
提示される。
1つのプロセスは、CPUによつて非同期的に実行する
ことができる順序化された命令シーケンスとして定義さ
れる(即ちいくつかのプロセスが能動であつて、CPU
を強要することができるが、しかしながら実際には1つ
の時点では1つのプロセスしか実行されない)。
また、プロセス群とは、1つのジヨブ・ステツプを実行
するのに必要な関連プロセスの集合をいう。C.プロセ
ス制御プロツクおよびシステム・ベースプロセスはその
実行中、いろいろな時点においてCPU制御を放棄し得
るので、CPU状態を保存するために主メモリ内の格納
領域もしくは記憶領域がプロセスに対して利用可能であ
る。
この状態情報は、プロセスが再びCPUの制御を受ける
以前に、CPUを予め条件設定するのに用いられる。1
つのプロセスに割り当てられる記憶領域もしくは格納領
域がプロセス制御プロツク(PCBとも略称する)40
0と称される。
1つのPCBに格納されるデータには、当該プロセスに
割り当てられたメモリ領域(アドレス領域)のアドレス
、全ての関連のレジスタの内容および当該プロセスの状
態が含まれる。
従つて1つのPCBは、情報の損失を伴なうことなく、
1つのプロセスの開始または再開始に必要な情報のため
の一時的記憶領域としての働きをなす。各PCBはハー
ドウエアに可視であり、システムの初期設定中展開され
るハードウエア・テーブル群を介して動作中のシステム
によりアドレス可能であり、かつシステムの動作中変更
可能である(第5図参照)。システム基準と称する絶対
主メモリ領域が存在する(第5図および第6図参照)。
この領域はフアームウエアによつて実現されるものであ
り、書込み不可能な読出し専用の基準アドレス・レジス
タ(BARとも略称する)501を介してアクセス可能
である。システム・ベース502は、それぞれ現在実行
中のプロセスに対するジヨブ・ステツプ番号およびプロ
セス群番号(J.P)を含む多数のシステム属性を有し
ている。このシステム・ベースに含まれる他の属性は、
J−テーブル503として知られているハードウエア定
義データ構造に対するポインタである。このテーブルは
、現在システム内にある各ジヨブ・ステツプのためのエ
ントリを格納している。Jテーブル503内の各エント
リは、やはりハードウエア定義データ構造である関連の
P(プロセス)テーブル504に向けられている。この
Pテーブルはプロセス群を定義するものであつて、プロ
セス群内の各プロセスのためのエントリを格納している
。各Pテーブルのエントリは、PCB4OOに向けられ
ている。第5図を参照するに、演算装置111(第1図
参照)の演算部506を介してJ番号により割り出され
るJテーブル・ポインタ505は、Jテーブルのエント
リ503に対するアクセスを可能にする。このエントリ
は、演算装置506を介してP番号により割り出されて
、Pテーブルエントリ504へのアクセスを可能にする
Pテーブル・ポインタを格納している。Pテーブルエン
トリは現在実行中のプロセスのPCBに対するポインタ
507を格納している。従つて、動作中のシステムは、
BAR5Olの内容を用いて、活動中のPCBにアクセ
スすることができかつ関連の(J.P)論理名が与えら
れれば他のPCBにアクセスすることが可能である。こ
こに開示した計算機システムは、相互干渉または許容さ
れない仕方での相互アドレス空間の共使用から、プロセ
スを保護することにより、データおよび手順もしくは手
続きの保護を保証する。
この保護は、メモリのセグメント化およびリング・シス
テムによるアドレシング可能性の制約によつて達成され
る。セグメント・テーブルはシステム内のいろいろなプ
ロセスのアドレス空間を分離する。
プロセスは実行中セグメント化されたアドレス即ち区分
化されたアドレスを常に用いる。セグメント化された(
区分化された)アドレスはセグメントもしくは区分内で
セグメント番号および相対アドレスからなる。ハードウ
エアは、或るプロセスによつて使用されるアドレスが当
該プロセスに割り当てられたアドレス空間の1部である
かどうかをチエツクする。当該アドレスが規定のアドレ
ス空間外のものであれば、除外が生ずる。ハードウエア
は、関連プロセスのセグメントもしくは区分テーブルを
用いるので、他のプロセスのアドレス空間内のデータを
参照することはできない。従つて、或るプロセスまたは
プロセス群が他のプロセス群に属する構成要素即ちエン
テイテイ一を参照することは不可能である。一般にシス
テム内のアドレス空間の重り合いは全てのプロセスによ
つて共用されるセグメントもしくは区分に対して生ずる
これら共用セグメントは、アドレス競合もしくは衝突を
起さないようにチエツクを行なうシステム・プログラム
によつて創成されるものである。従つて、セグメント化
は使用プログラム相互を保護しかつ稼動しているシステ
ムを使用者のプログラムから保護する。D.手続き呼出
し(コール)手続きの呼出しは、本発明のシステムの重
要な機能である。
手続き呼出しは、1つの手続きから他の手続きへの遷移
に用いられると共に、使用者の手続きでシステムのサー
ビスを受けることならびに動作中のシステム内にモジユ
ーラ構造を達成するのを可能にするのに用いられる。手
続き呼出しは命令およびスタツクと称されるハードウエ
アで認識された構成要素によつて行なわれる。.プロセ
ス管理および同期ここに開示するシステムは、ソフトウ
エア、ハードウエアおよびフアームウエアの組合わせを
用いたオペレーテイング・システムにより制御される多
重処理動作のためのものである。
ソフトウエアはプロセスを創成したり削除したりする働
きをなし、他方ハードウエアおよびフアームウエアはC
PUでの処理を行なう。さらに、ソフトウエア、ハード
ウエアおよびフアームウエアの組合わせがプロセス間の
同期を司る。プロセスは、必ずしも常にではないが、通
常、関連のジヨブの取り扱い中入/出力動作の開始およ
び終末時ならびにシステムによつて必要と見做される目
的のための他の時点で起動および停止される。
したがつて、関連のプロセスを効率的に起動および停止
したりプロセス間の情報を交換するために通信系統が必
要である。ここに開示するハードウエア・システムは、
プロセス間に通信リンクを設けるためにセマホア(Se
maphOre)と称する内部メツセージを発生する。
B.プロセスのデイスパツチ プロセスは、実行中プロセスの作用で自ら他の状態に移
行したりあるいは他のプロセスの作用により強制的に1
つの状態から他の状態に移行せしめられる。
デイスパツチヤとして知られているCPUのフアームウ
エアは、状態間におけるプロセスのトランザクシヨンを
制御する。デイスパツチヤは、レデイ状態または待機状
態にあるプロセスを操作するために(後述する)持ち行
列を利用する。プロセス制御プロツク構造 第4図を参照するに、この図にはプロセス制御プロツク
(PCBとも称する)のフオーマツトが示されている。
プロセス制御プロツク400は、CPU状態を保存する
ためのプロセスに対して利用可能なように主メモリに設
けられた記憶領域である。或るPCBへのアドレシング
は、第5図と関連して後述するようにして行なわれる。
PCBポインタ507(第5図)は、第4図の記憶場所
0におけるプロセス制御プロツクPCBを指している。
記憶場所0から下向きの方向に記憶場所は4バイトずつ
増加して設けられ、他方上向きの方向においては8バイ
トずつ増加して設けられている点に注意されたい。下向
きの記憶場所は、記憶場所0を基準にして正方向である
とし、他方記憶場所0から上向きの方向における記憶場
所は負方向の記憶場所であるとする。上向きの記憶場所
は任意選択的性質のものであつて、プロセス制御プロツ
クに設けてもあるいは設けなくてもよい。また記憶場所
148ないし176も任意選択的な性質のものである。
なお記憶場所の下に設けた数字は、プロセス制御プロツ
クPCBの基準記憶場所0からのバイト数の変化を示す
ものであつて、一般の図面に用いられているような要素
識別参照番号とは混同してはならない。バイトOから1
6まで(但しバイト16は含まない)には、4つのプロ
セス主ワードPMWOないしPMW3が格納され、各プ
ロセス主ワードPMWは4バイト長である。プロセス主
ワード零はバイトOないし3を占拠し、4部からなる。
即ち能力もしくは資格バイトと、優先バイトと、状態バ
イトおよび装飾拡張バイトDEXTの4部である。プロ
セス主ワードPMW3はPCB4OOにおいてバイト1
2ないし15を占め、そして装飾拡張テーブルを指す。
DETSZフイールドは、テーブル内の記述項の数を定
義するものであり、このフイールドが零である場合には
、当該プロセスに対して拡張は許されない。DETAフ
イールドは、16バイト単位の装飾拡張テーブルの絶対
アドレスであり、DETSZ!)50でない場合にのみ
有意味である。装飾拡張テーブルはDETSZエントリ
から構成される。各エントリは1バイトの大きさである
。このテーブルのDEXT番目の記述項は、当該プロセ
スが装飾拡張モードDEXTで動作できることを定義す
る。DEXT番目のバイトがOである場合には、当該番
号の装飾拡張DEXTは許容されず、他方DEXT番目
のバイトが1である場合には、当該番号の装飾拡張DE
XTは許容される。Oおよび1以外のDEXTの値はエ
ラーである。PCB4OOのバイト16ないし23は、
それぞれ2つのアドレス空間ワードASWOおよびAS
Wlを有しており、各ASWはセグメント・テーブル・
ワードの1つのアレイを指すポインタを格納している。
セグメント(区分)テーブル・ワードのアレイの大きさ
は、1つのアレイ内のセグメント(区分)テーブル・ワ
ードの数によつて定義され、典型的には、ASWOの場
合には6つのセグメント・テーブル・ワードを含み、そ
してASWlの場合には8つのセグメント・テーブル・
ワードを含む。STWSZフイールドは、セグメント・
テーブル・ワードのアレイの大きさを表示する。セグメ
ントテーブル・アレイのフイールドSTWAは、16バ
イトの単位で当該アレイの絶対アドレスSTWAを格納
する。即ち、該アレイの絶対アドレスはバイト数で、S
TWAの16倍である。PCBのバイト24ないし27
は、例外ワードEXWを格納する。
この例外ワードは或るプロセス例外に続いて行なわれる
べきアクシヨンをプロセス主ワードPMW2に格納され
ているクラスに従がつて定義する例外クラス・テーブル
に向いたポインタ(SEG,SRA)を格納している。
例外ワードEXW(7)MBZフイールド1028はO
でなければならない。PCB4OOのバイト32ないし
35は、時としてCCとも称される命令カウンタ内容ワ
ードCWを格納する。
バイト36ないし39のMBZフイールドはOでなけれ
ばならない(MBZフイールドは常にOであるはずのフ
イールドを指示する)。
MBZワードは、名称にPからPCBがアクセスされる
都度試験される。Oでない場合には、不適確なPCB例
外が生起する。スタツク基準ワードSBWO−2は、プ
ロセス制御プロツク400内のバイト40ないし51を
占める。
プロセス制御プロツク400のバイト52ないし83は
、基準レジスタ保存領域のために設けられたスペースも
しくは空間(8ワード)である。
バイト84ないし147は、全べての汎用レジスタの値
を保存するのに用いられる保存領域(16ワード)であ
る。バイト148ないし179は、科学的レジスタの内
容を保存するのに用いられる保存領域(8ワード)であ
る。PMWOワードにアカウンチング・モード・ビツト
がセツトされた時には、時間アカウンチングの目的で、
PCBOアドレスより上方のPCB4OOに5つの倍長
ワードが設けられる。
第4図に示されるように、これら倍長ワードの一つは、
プロセスが走行状態にあつた時のプロセツサの総量を特
定するRUAである。
システム基準構造 第6図を参照するに、この図にはシステム基準フオーマ
ツト600が示されている。
このシステム基準は絶対主メモリ内にあり、フアームウ
エアによつて展開され、そして読出し専用の境界アドレ
ス・レジスタ(BARとも称する)を介しアクセス可能
である。境界アドレス・レジスタ(BAR)は、ハード
ウエアのために主メモリ内に保存された領域の下側にあ
つて、このハードウエアのために保存された記憶領域お
よびシステム基準フオーマツト600を分離している。
第6図を参照するに、システム基準フオーマツト600
は、現在実行中のプロセスのプロセス群番号Pおよびジ
ヨブ・ステツプ番号Jを含む多数のシステム属性量を格
納している。プロセスJ,Pの論理名から対応のプロセ
ス制御プロツクPCBの対応アドレスが求められる。J
テーブルの大きさおよびアドレスは、Jテーブル・ワー
ド(JTW)の内容によつて定められる。このワードは
、BARレジスタにより定められるアドレスに記憶され
ている。各Jテーブルのエントリは、Pテーブル・ポイ
ンタに16を乗することによつて得られるPテーブルの
絶対アドレスを定める。Pテーブルの大きさ(PTSZ
)は、Pテーブルのエントリの数を定める。PTSZは
8ビツトの正の整数であり、典型的にはOから255に
変化し得て、Pテーブル内のエントリ数を表示する。P
がPTSZよりも大きい場合には、[Pテーブル外」例
外が生起する。Pテーブルの各エントリは、プロセス制
御プロツク・ポインタに16を乗することによりプロセ
ス制御プロツクPCBの絶対アドレスを定義する。シス
テム基準フオーマツト600のアドレスBARに4を加
えたアドレスには、Gテーブル・ワード(GTW)のフ
オーマツト・バイトが格納されている。
Gセグメント・テーブル(G区分テーブル)の大きさお
よびアドレスは、Gテーブル・ワード(GTW)の内容
によつて定まる。Gテーブルの大きさ(GTSZ)は、
典型的には255までであるGテーブル内のエントリの
数を定める。GTSZは8ビツトの正の整数である。「
Gテーブル外」例外は、G番号がGTSZよりも大きい
場合に生起する。Gテーブルの絶対アドレスは、Gテー
ブル・ポインタに16を乗することによつて得られる。
Gセグメント(区分)テーブルエントリのフオーマツト
は2ワードの大きさ(8バイト)を有しておつて、Gセ
グメント記述子と称される。第6図に示したシステム基
準フオーマツト600を再び参照するに、BAR+8と
BAR+44との間には、9つのシステム例外セル・ワ
ードが格納される。
システム例外が生起した場合に関連プロセスヘメツセー
ジを伝達するためにセマホアが用いられるので、これら
セマホアに対するポインタは、それぞれシステム例外セ
ルと称される9つの記憶場所(システム例外クラス毎に
1つずつ設けられる)に格納されている。システム・ベ
ース・フオーマツト600のBAR+44に位置するチ
ヤンネル例外セルは、上に述べたシステム例外セルに類
似のフオーマツトを有しておつて、チヤンネル例外が生
起した時に関連プロセスにメツセージを伝送するのに用
いるセマホアのシステム名GDが格納されている。
内部プロセス行列語1PQWが第6図に示されたBAR
+48に配されている。IPQW語はプロセス準備行列
Q/PR/RDYのヘツドを指し示す。この行列は準備
状態にあるすべてのプロセスの身元(プロセス・リンク
PL)を含む。制御装置第7a図ないし第7c図を参照
するに、これらの図には制御装置の詳細が示されている
この制御装置は、中央処理装置即ぢCPUから切り離し
て示されているが、実際にはCPUの1部であつて、制
御記憶装置(CSUとも略称する)1301、制御メモ
リインターフエース・アダプタ(CIAとも略称する)
1302および関連のデバイス、制御メモリ・ローダ(
CSLとも略称する)1303ならびに制御/ロード・
デバイス(CLUとも略称する)1304から構成され
ている。制御メモリ装置CSUl3Olは、制御メモリ
ローダ(CSL)1303から、CLUl3O4および
制御メモリ・インターフエース・アダプタ(CIA)1
302を介してマイクロ命令を受ける。
通常の動作条件下においては、マイクロプログラムはシ
ステムの初期設定中外部源からロードされて、機械の永
久的な制御機能を司る。しかしながら、制御メモリ装置
(CSU)1301は、いろいろなCPUl3O6(第
1図のCPUlO4に対応)の動作モードに対処し得る
ように再ロードおよび初期設定を可能にする能力を有し
ている。CSUl3Olの制御下で次に述べるようなC
PUの動作モードが可能である。即ち、(a)本来のモ
ード、(b)エミユレーシヨン・モード、(c)本来/
エミユレーシヨン同時モード、(d)診断モードである
。この能力(ま、CPUに常駐するマイクロ命令が、エ
ミユレーシヨン装置1316、演算論理装置(ALU)
1317、命令取込み装置(IFU)1318、アドレ
ス制御装置(ACU)1319およびデータ管理装置(
DMU)1321のような全ての他CPU機能装置の動
作を制御するのに用いられるマイクロ演算源であるとこ
ろから可能である。なおCPUl3O6のプロツク内に
は、既述の汎用レジスタ1307、基準レジスタ130
8、科学的レジスタ1309、Tレジスタ1310、状
態レジスタ1311、命令カウンタ(C)1312およ
びハードウエア制御マスク・レジスタ1313が示され
ている。典型例として、制御メモリ装置(CSU)13
01は、読出し/書込みランダム・アクセス・メモリ(
RAM)と混成されたK型のバイポーラ集積回路形態に
あるプログラマブルな読出し専用メモリ(PROM)で
ある。
この制御メモリ装置は、典型的には、150ナノ秒の読
出しサイクルを有しかつ450ナノ秒の書込みサイクル
を有している。この制御メモリの各記憶場所は、(追つ
て詳述する)84ビツト・マイタロ命令ワードを格納す
る。そして各マイクロ命令ワードは1つのCPUサイク
ルを制御する。制御メモリ装置(CSU)1301の制
御メモリの各記憶場所で、その内容はマイクロ・デコー
ダによつて解読され、それによりマイクロ制御信号が発
生される。これらマイクロ制御信号の各々はCPU内に
特定の動作(詳細は後述に譲る)を実行せしめる。各マ
イクロ命令ワード(追つて詳述する)内で記憶場所を群
化することにより、特定のCPU演算もしくは命令を実
行することができる制御メモリ・シーケンスが得られる
各命令がCPUによつて開始されると、演算コード内の
或るビツトは制御メモリ起動シーケンスを決定するのに
用いられる。命令解読機能によりセツトまたはりセツト
される或る種のフロツプス(FlOps)(図示せず)
の試験に当つて、制御メモリは必要に応じ、より特定の
シーケンスに分岐することができる。制御メモリ・イン
ターフエース・アダプタ(CIA)1302は、制御メ
モリ装置1304、データ管理装置(DMU)1321
、アドレス制御装置(ACU)1319、および演算論
理装置(ALU)1317と通信して、第7b図に示し
た制御メモリ1333の動作を指示する。
CIAl3O2は、制御メモリ・アドレス修理のための
論理、試験、エラーチエツク、およびハードウエア・ア
ドレス発生を行なう。このハードウエア・アドレス発生
は一般に、エラーシーケンスの出発アドレスを発生する
ためまたは初期設定シーケンスのために用いられるもの
である。データ管理装置(DMU)1321は.第1図
に示した主メモリおよび(または)バツフア・メモリと
CPUl3O6との間の接続(インターフエース)を行
なう。
またこのDMUl32lは.どの装置が他の装置によつ
て要求されている情報を格納しているかを認識して,こ
の情報を適当な時点でCPUレジスタに駆動する働きを
なす。またこのデータ管理装置即ちDMUは.部分的書
込み動作中.マスキングを行なう。命◆取込み装置(I
FU)1318は.DMUl32l.ACUl3l9.
ALUl3l7およびCUSl3Olと接続され,CP
Uに命令を供給する役割をなす。
この命◆取込み装置は.現在実行中の命令の完了前にそ
のレジスタに次の実行されるべき命令を有している。こ
の目的で.命令取込み装置(IFU)1318は.通常
1つ以上の命令を格納している12バイトの命令レジス
タ(図示せず)を備えている。さらに.IFU(μ.C
SUの制御下で.命令が実際に必要とされる前に.主メ
モリから命令情報を要求し.それによりその12バイト
命令レジスタを常時更新する。このようにして命令は通
常用いられない記憶サイクルで予め取り込まれる。命令
取込み装置はまた.各命令を解読し.他の装置に対して
命令の長さおよびフオーマツトを報知する。アドレス制
御装置(ACU)1319は.CIAを介してIFU.
ALU.DMUおよびCSUと通信する。
ACUl3l9は.CPUにおける全てのアドレス発生
を司る。装置への転送.装置からの転送あるいは装置内
での転送を含めACUの全ての動作は.CSUのマイク
ロ動作および論理によつて指示される。ACUの通常の
サイクルは命令の種類ではなく.むしろ命令のアドレス
の種類に依存する。アドレスの種類に依存して.ACU
は命◆内の各アドレスに対し異なつた演算を行なうこと
ができる。ACUはまた.典型的には.最も最近用いら
れた8つのメモリ・セグメントの基底アドレスならびに
そのセグメント番号を記憶する連想メモリ1319aを
備えている。メモリ要求がなされる都度.連想メモリ内
容に関してセグメント番号のチエツクが行なわれ.それ
により当該セグメントの基底アドレスが既に発生されて
格納されているかどうかを決定する。基底アドレスが連
想メモリ1319aに格納されている場合には.このア
ドレスが絶対アドレス発生に用いられ.それにより相当
大きな時間量が節減される。基底アドレスが連想メモリ
1319aに格納されていない場合には.該基底アドレ
スは主メモリ・テーブルにアクセスすることにより発生
される。しかしながら.セグメントの基底アドレスが発
生された後には.この基底アドレスは将来の参照の目的
でセグメント番号と共に連想メモリに格納される。AC
U.IFU.DMUおよびCSUには.演算論理装置(
ALUとも称する)1317が接続されている。このA
LUの主たる媚旧ま.CPUから要求される演算ならび
にデータ処理を行なうことにある。このALUの動作は
完全に.制御メモリ装置(CSU)1301からのマイ
クロ演算制御信号に依存する。ALUl3l7およびC
SUl3Olには.スクラツチ・パツド・メモリ装置(
LSUとも略称する)1315が接続されている。
このメモリ装置LSUは時として局部記憶装置とも称さ
れる。このメモリ装置LSUは典型的には256個の記
憶場所(1つの記憶場所毎に32ビツト)を有する固体
メモリと該メモリのための読出し/書込み論理部とから
構成されている。このスクラツチ・パツド・メモリ13
15はCPU制御情報および保守件もしくは保全性情報
を記憶するのに用いられる。さらに.このスクラツチ・
パツド・メモリ1315は.主としてオペランドならび
にデータ処理中の部分的結果の一時的記憶に用いられる
作業記憶場所をも有している。また.ALUl3l7に
は.典型的には.計算機システムのいろいろな状態(雑
状態とも称する)を格納するための64個のフリツプ・
フロツプからなる補助メモリ1317aも接続されてい
る。CPUはまた.クロツク装置1320をも有してお
り.本質的には2クロツク・システムで動作する。
第1のクロツク・システムでは.制御インターフエース
・アダプタ(CIA)1302のためのタイミングが発
生され.第2のクロツク・システムでは中央処理装置即
ちCPU内の機能単位の動作のためのタイミング・パル
スが発生される。次に゛第7c図を参照するに,この図
には匍脚メモリ・ワード1325のフオーマットが示さ
れている。制御メモリ・ワードは典型的には84ビツト
幅であつて.6つの主フイールドに分割されている。こ
れらのフイールドは次のとおりである。A.シーケンス
型フイールド1326(3ビツト)B.分岐および(ま
たは)マイクロ演算1327(23ビツト)C.定数発
生および先行き1328(14ビツト)D.母線へのデ
ータ1329(8ビツト)E.マイクロ演算1330(
32ビツト)およびF.チエツク1331(4ビツト)
より詳細には.Fbl脚メモリ・ワード1325の3ビ
ツトのEフイールドがシーケンス制御フイールドとして
用いられる。
本実施例の計算機システムにおいては.典型的として.
7つの異なつたシーケンス型と1つの予約された型があ
る。第7b図のプロツク1335を参照するに.Eフイ
ールドが2進「0」.「1」または[2」に等しい場合
には.次のアドレスを発生するためにマイクロ命+13
25の分岐フィールドA,B,C,DおよびLが用いら
れる。KSレジスタ1337の最初の6ビツトは.Bフ
イールド.C試験結果.D試験結果およびLフイールド
と共に.次のマイク口命令の次のアドレスを発生するた
めに用いられ.このアドレスはアドレス・レジスタKS
l337にロードされる。Eフイールドが2進「4」に
設定されている場合(プロツク1335参照)には.選
択される次のアドレスは割込み復帰レジスタKAl33
9から取り出される。KAレジスタに格納されているア
ドレスは.ハードウエア割込みが生起した場合に.次の
アドレス発生論理によつて発生されるアドレスである。
Eフイールドが2進[5」にセツトされている場合には
.分岐はマイクロプログラム・サブルーチンからの復帰
を開始するのに用いられる。割込み復帰レジスタKRl
346の内容が用いられる場合には.次の制御メモリ・
アドレスとして用いられるものである。割込み復帰レジ
スタ1346は.制御メモリ命令を発生することにより
ロードされる。この制御メモリ命◆もしくは指令は.現
在KSレジスタ1337に格納されている制御メモリ・
アドレスにインクレメンタ1338からの1を加えられ
てKRレジスタ1346にロードされるものである。K
T復帰分岐レジスタ1347に由り.1レベルのネスチ
ング・サブルーチーン能力が与えられる。KRレジスタ
1346がロードされる都度6該KRレジスタの古い内
容は.マイクロプログラム復帰が要求される毎にKTレ
ジスタ1347に転送される。KTレジスタの内容はK
Rレジスタに転送される。KUレジスタ1340により
第3レベルのネスチング・サブルーチーン能力が与えら
れる。そしてKV復帰分岐レジスタ1349によつて第
41ノベルのネスチング・サブルーチーン能力が与えら
れる。制御メモリ・ワードのEフイールドが2進「6」
にセツトされている場合には.アドレスされる次の制御
メモリ・ワードは.KSレジスタ1337に格納されて
いる現在のアドレス(こインクレメンタ1338で1を
カロえたものlこ等しい。Eフイールドが2進「7」に
セツトされると.CSUl3Olに診断モードに入り.
次のアドレスは現在のアドレスに1をカロえたものにな
る。上に述べかつプロツク1335に示した次の制御メ
モリ・アドレスへの分岐のシーケンス都脚に加えて.第
7b図のプロツク1336で示すようなハードウエアに
より発生されるシーケンス制御がある。
なおプロツク1335および1336は実際にはハード
ウエア・レジスタであり.図はマイクロ命令ワードがと
り得る異なつた形態を示すように描かれている点に注意
されたい。ハードウエアで発生される分岐は.Eフイー
ルドを抑制して.固定のアドレスを制御メモリ・アドレ
ス・レジスタKSl337に強制的にロードする(エラ
ー.初期設定.制御メモリ走査.等々のような)オーバ
ーラード条件である。この分岐は.1クロツク期間割込
み線を高レベルにし(図示せず).かつEフイールドの
制御下で発生されたであろうところのアドレスを割込み
復帰レジスタKAl339に格納することによつて行な
われる。ハードウエア発生アドレスは.制御メモリ・ア
ドレス・レジスタにロードされる。或る種のハードウエ
ア/フアームウエア発生割込みは.割込み条件が満足さ
れる迄同じクラスの追加の割込みの実行を阻止する割込
み阻止フリツプ・フロツプ(図示せず)より高い優先度
をとる場合がある。フアームウエア制御下にあるシーケ
ンスに対し割込み阻止フリツプ・フロツプのりセツトを
制御するためのフアームウエア・マイクロ動作が存在す
る。ハードウエア制御下にあるこれらのシーケンスで自
動的に.シーケンスの終末で阻止フリツプ・フロツプの
りセツトが行なわれる。優先度でリスト・アツプした次
の条件が存在する。64路の分岐において.Cフイール
ドは64の試験のうちの1つのための6ビツト試験フィ
ールドであり.Dフイールドは64の試験のうちの1つ
の試験のための6ビツト試験フイールドであり.そして
Lフイールドは最下位ビツトである。
Kフイールド1328は14ビツト・フイールドであつ
て.そのうち6ビツトは定数フィールドであり.4ビツ
トは定数もしくは操作フイールドのためのものであり.
そして4ビツトは定数の操作フイールドである。母線デ
ータ・フイールド1329は.QMB母線1344のQ
A部分への情報を制御するための4ビツトのQAフィー
ルドと.QNB母線1344のQB部分への情報を制御
するための4ビツトのQBフイールドとから構成される
。Fフイールド1330は32ビツト・フイールドであ
り.マイクロ演算サブコマンドを発生するように符号化
されている。Pフイールド1331は.チエツクのため
に保存された4ビツトからなる。動作において.マイク
ロ命令ワードは制御メモリ・アレイ1333に格納され
る。
1つの動作サイクル中,制御メモリ・アレイはKSアド
レス・レジスタ1337の内容によつてアドレス指定さ
れる。
この結果.アドレス指定された記憶場所の内容が.読出
しラツチ1357の群に読み出される。読出しラツチの
ワード内容の部分は.CPUの機能ユニツトの各々に設
けられている記憶レジスタに分配転送される。ここで各
機能ユニツトは.システム・クロツク源の制御下で.制
御メモリ・ワードにより特定される所要のサブコマンド
を発生するための復号論理回路を含む。一般に,復号も
しくは解読は.復号時間を最小限度にしかつ復号を中央
処理装置で行なうとした場合コマンド信号もしくは指令
信号を伝送するのに通常必要とされるケーブル数を削減
するために.中央で処理されるのではなく.CPU内の
各機能ユニツトで行なわれる。さらに.ケーブル伝送遅
延が異なることから生ずるタイミング上の問題を回避す
るために復号は各ユニツト内で行なわれるのである。さ
らに,サブコマンド(下位指+)を各ユニツトで復号も
しくは解読することにより.機能ユニツト内に存在する
或る種の状態を表わす信号が或る種のサブコマンド信号
の発生に必要とされるが.これらの信号をCIAユニツ
ト1302に戻す必要はない。第7b図には.マイタロ
命令ワードからいろいろなフイールドを受けて.マイク
ロ演算信号もしくはマイクロ動作信号A,b,c,d,
・・・・・・,Q,rを発生する典型的な復号装置もし
くはデコーダ・ユニツト1359が示されている。典型
的なマイクロ演算デコーダ1359は.マイク口命令ワ
ードから指令を受ける。マイクロ命令ワードからのフイ
ールドは復号されて.複数の線路SpLUplll9y
pZのうちの1つの線路を高レベルにセツトする。所定
の制御線路インピーダンスを回路点α,β,γ,・・・
・・・,ωでsないしz線路に接合することによりマト
リツクスが形成される。典型的には.マイクロ命令から
のフイールドが復号もしくは解読される都度.線路sな
いしzのうちの1つが高レベルになる。ギリシヤ文字α
ないしωでマトリツクスに示した黒の点は.2組の線路
間のインピーダンス結合を表わすので、任意の水平ワイ
ヤを伝搬している電気信号はインピーダンス結合(黒の
点)を介して垂直線aないしrに結合され.該垂直線を
伝搬することになる。各垂直線aないしrはアンド・ゲ
ート1360ないし1365の各々に1つの入力として
結合することができる。中央タイミング装置からのタイ
ミング信号T8を含む他の入力信号もまたアンド・ゲー
ト1360ないし1365に結合することができる。従
つて.各タイミング信号T8が高レベルになる都度.こ
れらゲートは他の全ての入力信号が高レベルであれば可
能化されて.CPU内の所定の機能ユニツトにマイクロ
命令信号を与える。例えば.読出しラツチ1357から
の指+1341が解読されて.水平線が高レベルになる
と.垂直制御線A,b,cおよびqが高レベルになり.
それによりアンドゲート1360,1361,1362
および1364が、これらゲートに逐次印カロされるタ
イミング信号T8に応答して可能化される。従つて垂直
制御線がギリシヤ文字で表わしたいろいろな回路点で水
平制御線に結合される組合せは.マイクロ演算信号を,
制御メモリ・アレイ1333から供給されるマイクロ命
令により中央処理装置内の機能ユニツトを制御するため
に該中央処理装置もしくはCPUに供給する持久的なス
イツチング・マトリツクスを構成する。この様にして.
変更可能性という特徴を有する持久的なフアームウエア
が.単に.計算機システムの能力として要求されるマイ
クロ演算のシーケンスを特定化することにより.本発明
の装置に組み込むことができるのである。通常の状態に
おいては.データは.局部レジスタYOl343として
も知られているCPU書込みデータ・レジスタを介して
制御メモリ・アレイ1333に書き込まれる。
制御フロツプ(図示せず)は.メモリ・アレイの上半分
か下半分のいずれが書き込まれるのかを決定する。制御
/ロード装置(CLU)1304からのデータは.保守
母線(QMB)1344を介してCIA/CSUに達し
.そして制御メモリ・アレイ1333に書き込まれる前
にメモリ局部レジスタ(YO)1343により緩衝され
る。メモリ局部レジスタ1343は読出しおよび書込み
局部レジスタとして時分割されている。マlレチプレク
サ(KQM)1345は.保守パネル1355かまたは
マイクロ診断によつて制御することができ.それに接続
されているレジスタから延びる読出し出力路を備えてい
る。比較レジスタ(KEP)1350は.非機能的用途
のために設けられており.主として保守目的に用いられ
るものであり.その場合比較論理1352および解読論
理1351と共に利用される。プロセス制御のためのデ
イスパツチヤ・フアームウエアこのデイスパツチヤ(嘘
.プロセスのいろいろな持ち行列を管理し.かつプロセ
ス間の切換を行なうことを主目的とするフアームウエア
/ハードウエア・ユニツトであつて.プロセスの持ち行
列.プロセス制御プロツクPCB.システム基準フオー
マツト内の実行中のプロセス・ワードおよび新しいプロ
セスのレジスタの更新をも行なう。
またこのディスパッチヤは.(0Cまたは例外ハンドラ
のためのV−オペレーシヨン.模擬V−オペレーシヨン
後に).セマホアで.該デイスパツチヤを実際に待つて
いるプロセスに対しメツセージを送出する。またディス
パツチヤは.メツセージを送出するために空きリンクセ
マホア(Sema一PhOre)でプロセスが待機中で
ある場合に.或るメツセージ・リンクを解放するP一動
作後にセマホアでメツセージを待機状態にする。デイス
パツチヤ装置(嘘さらに.本来のモードで実行中のプロ
セスの「ロール−イン」後に.または.現在のプロセス
がまだ実行中でありしかも本来のモードで実行している
場合には「コンテスト」後に.本来のモードの命令フア
ームウエアを呼ひ出す。
また次の場合には.拡張フアームウエアをも呼び出す。
即ち.(a)装飾拡張で実行中のプロセスの[ロール−
アウト」中の一時的呼。
(b)装飾拡張で実行中のプロセスの「ロール−イン」
中の一時的呼。
(c)装飾拡張で実行中のプロセスの「ロール−イン」
の終末における確定呼および.(d)現在のプロセスが
実行中であつて.当該装飾拡張で実行されている場合に
は.コンテスト後の確定呼。
さらに.デイスパツチヤ(嘘実行中のプロセスが存在し
ない場合に.システムをアイドル(遊び)ループにする
デイスパツチヤへの出入りには次のようないくつかの方
法がある。
(1)初期設定手順(SIP)が最終ステツプとしてエ
ントリを提供する。
(2)始動および中断命◆がデイスパツチヤヘエントリ
を提供する。
始動命令はプロセスを開始し.中断命令はプロセスを終
末する。(3)P−およびV−オペレーシヨンでデイス
パツチヤヘエントリを提供する。
P−オペレーシヨンはセマホア(SemaphOre)
からメツセージを拾い上げ.そしてメツセージが存在し
ない場合には待機状態に移行する。従つて梗概すると.
ディスパツチヤは.プロセス従つてまたプロセス制御プ
ロツクPCBを管理して.どのプロセスが実行中である
かを判定し.次いで現在実行中のプロセスのロール−ア
ウト(即ちハードウエア・レジスタ.スクラツチ・パツ
ド・メモリ等に格納されている現在実行中のプロセスに
関する全ての情報のPCBへの書込み)および新しいプ
ロセスのロール−イン(即ちPCBからいろいろなハー
ドウエア.スクラツチ・パツド・メモリ等への新しいプ
ロセスに必要な全ての情報の書込み)のような適当なア
クシヨンをとる主たる機構であると言える。
デイスパツチヤによつて実行される機能は第8a図ない
し第81図のフローチヤートに示されている。
例えば第]a図のプロツク1402は.デイスパツチヤ
によつて実行される機能を表すもので.この機能もしく
はフアンクシヨンにおいてはマイクロプログラム・ワー
ドが中央メモリ装置によつて送出され.そしてデコーダ
1359での復号もしくは解読により.関連の一連のマ
イクロ・オペレーシヨン信号1360,1361等を介
してCPUの該当部分を制御し.記憶サブシステム10
2に格納されているシステム基準からIPQWを検索し
て6それをスクラツチ・パツド・メモリ1315に転送
する。同時に.デイスパツチヤはGOセグメント(区分
)記述子1404を.システム基準内のGテーブル・ワ
ード(GTW)により指定されたセグメント記述子のG
テーブ′レから取り出す。IPQWワードのビツト16
なぃし31は.16ビツトの正の整数を格納しており.
この整数はレデイ一状態にあるプロセスの持ち行列(Q
/PR/RDY)の先頭バイト(第1番目のバイト)に
対する..GOセグメントと称される番号00)Gセグ
メントの基準からの変位である。IPQWワードのビツ
ト16ないし31が「0」である場合には.レデイ状態
の持ち行列は空きであると見做される。レデイ状態の持
ち行列が空きである場合には.このことはQ/PR/R
DYに現在待機中のプロセスは存在せず.レデイ状態の
持ち行列は空きであることを表わす。判析プロツク14
05で次に判新すべき質問は.空き標識がセツトされて
いるかいないかを決定して.或るプロセスが現在機械で
実行中であるか否かという質間である。ここで空き標識
は、補助メモ男317aに設けられているフリツプ・フ
ロツプによつて与えられる。このフリツプ・フロツプは
.プロセツサで現在実行中のプロセスCJPが存在しな
い場合にセツトされる。空き標識がセツトされ(即ち現
在実行中のプロセスが存在しない場合).そして既にプ
ロセツサを使用するのにレデイ持ち行列で待機している
プロセスが存在しないことが判定されている場合には.
システムは空きもしくはアイドル状態1406に移行す
る。しかしながら.システムで現在実行中のプロセスが
存在し.しかもシステムを使用するために待機している
プロセスが存在しない場合には,現在実行中のプロセス
は次の命令1407にアタセスする。再び.第8a図の
フローチヤートの判定プロツク1403を参照するに.
IPQWのポインタ領域(即ちビツト16−31)に正
の整数が存在する場合には.GOセグメントのIPQW
ワードによつて指定されたレデイ持ち行列の先頭がスク
ラツチ・パツド・メモリに取り込まれる。
(反復を避けかつ説明を明瞭にするために.制御装置お
よびCPUと関連してのデイスパツチヤの介在的な機能
に関しては説明を省略するが.例えば既に述べたような
介在的機能が通常存在するものであることは理解に難く
ない)。この時点に至る迄に.レデイ持ち行列で待機中
のプロセスがあるかどうかが既に判定されている。次の
アクシヨンをとる前に.中央プロセツサで現在実行中の
プロセスが存在するかどうかを判定する必要がある。こ
の判定はフローチヤートの判定プロツク1410で行な
われ.そして中央プロセツサで現在実行中のプロセスが
存在しないと判定された場合(即ちCJPが無いと判定
された場合)には.レデイ持ち行列の先頭が実行される
(1412)。しかしながら中央プロセツサで或るプロ
セスが実行中である場合には.デイスパツチヤはいずれ
が優先度を有するか.言い換えるならば現在実行中のプ
ロセスを優先すべきか.あるいはレデイ持ち行列の先頭
を優先すべきかを決定しなければならない。従つて.シ
ステム基準600の実行中のプロセス・ワード内または
PCB4OOのプロセス中の主ワード0(PMWO)内
の現在実行中のプロセス(CJB)の優先バイトが取り
込まれる(1413)。そこで.現在実行中のプロセス
CJPが.レデイ持ち行列の先頭で待機している新しい
プロセスNJPよりも低い優先度を有するかどうかの判
定が行なわれる(判定プロツク1414参照)。CJP
がNJPより低い優先度を有していない場合には.CJ
Pは中央プロセツサの制御下に留まり.コンテスト標識
がりセツトされる(1415)。なおコンテスト標識は
.CPUに対し実行された最後の命令の開始時点からレ
デイ一持ち行列に1つまたは2つ以上の新しいプロセス
が付け加えられ.それにより混乱の可能件が生じた場合
を除き.「0」に常にセツトされる。なお後者の場合.
即ち混乱の可能性が生じた条件下では.コンテスト標識
は2進「1」にセツトされる。しかしながら現在のプロ
セスCJPを続けることが許されかつ他の命令を実行さ
れることが許される前に.CJPが装飾拡張モード14
15で実行中であるかどうかの判定がなされる。CJP
が装飾拡張モードで実行中である場合には.エミユレー
シヨン・モード(即ち装飾拡張モード)で次の命令が実
行され.そしてCJPが装飾拡張モードで実行中でない
場合には次の命令は本来のモードで実行されることにな
る。再び判定プロツク1414を参照するに.レデイ持
ち行列の先頭のNJPがCJPよりも高い優先度を有す
る場合(即ち.その優先度番号がCJPの優先度番号よ
りも低い場合)には.現在実行中のプロセスCJPは「
ロール−アウト」され.新しいプロセスNJPが「ロー
ル−イン」される。従つて.フアームウエア優先サブル
ーチーン(PRIQ)1418は.LIFO優先により
および優先番号によつて.最初にフアームウエア・サブ
ルーチーン(RLLO)1419の指令下でCJPを「
ロール−アウト」することにより.現在のプロセスCJ
Pをレデイ持ち行列へ組み入れることを指示する。RL
LOサブルーチーンは.汎用レジスタ.基準レジスタ.
科学的レジスタ.Tレジスタ.状態レジスタおよび命令
カウンタに格納されているCJPの情報の.主メモリ内
のプロセス制御プロツクPCBの関連の記憶領域への再
書込みを指示し.かつRTAの更新を指示する。さらに
.PCB4OO内のプロセス主ワード0(PMWO)の
DEXT番号を更新する(1420)。この時点で.新
しいプロセスNJPは「ロール−イン」される状態にあ
る。そこで.境界アドレス・レジスタBARが取り込ま
れる(1422)。また実行中のプロセス・ワードRP
Wがシステム基準のアドレスBAR+56から取り込ま
れる(プロツク1423参照)。次に新しいプロセスN
JPの名称が実行中のプロセス・ワードRPWに書き込
まれる。この新しいプロセスNJPの名称はQ/PR/
RDYのプロセス・リンクPLに書き込まれているので
.このプロセス・リンクPLに在る名称がそこでRPW
にロードされる(プロツク1424)。従つて.レデイ
持ち行列からのNJPは今やCJPとなり.中央プロセ
ツサを制御する資格が与えられ.従つてもはやQ/PR
/RDYで待機する必要はなく.Q/PR/RDYのプ
ロセス・リンクPLからその名称を取り出すことにより
持ち行列から外さなければならない。このことがなされ
ると.プロセス・レデイ持ち行列即ちQ/PR/RDY
は.フアームウエア・サブルーチーンUQLKによつて
更新される(1425a)。従つて.機械から取り出さ
れた場合のプロセスのJP番号はQ/PR/RDYのプ
ロセス・リンクに置数される。というのは.このプロセ
スJPはもはや機械の匍卿を受けておらず.それを待機
しなければならないからである(1426)。この時点
で.中央プロセツサのこの制御を新しいプロセスに与え
かつ古いプロセスをレディ持ち行列に置くための変換が
達成され.そして中央プロセツサの制御下にプロセス(
新しいCJP)が存在するので.空き標識は[0」にセ
ツトされる(1427)。他方中央プロセツサの制御下
にCJPが存在しない場合には.空き標識は「1」にセ
ツトされることになる。この時点で.プロセツサの割当
が完了し.新しいプロセスは中央プロセツサを獲得して
いる。他方古いプロセス(はレデイ持ち行列に置かれて
いる。しかしながら.この新しいプロセスは.汎用レジ
スタ130r.基準レジスタ1303.科学的レジスタ
1309.Tレジスタ1310.状態レジスタ1311
および命令カウンタ1312のような中央処理装置のハ
ードウエア(第7a図の1306参照)に対して未だ実
行し得る状態にはなく.新しいプロセスのプロセス制御
プロツクから制御情報を供給しなければならない。従つ
て.フアームウエア・サブルーチーン1430はCPU
を制脚して最初にPCB(第4図)からPMW3をスク
ラツチ・パツド・メモリ1315に取り込み.次いでP
MWOを取り込む。
PMWOのMBZフイールドをチエツクし(1433)
.そしてこのフィールドが2進「(ト)でない場合には
.不適格PCB除外が行なわれる。
しかしながらPMWOのMBZフイールドが[0]であ
る場合には.PMWlが取り込まれる(1434)。
再び.PMWlのMBZフイールドを試験して.2進[
0」であるか否かを判定する。2進「0」でない場合に
は.不適格PCB除外が行なわれる。
これに対して「o」に等しい場合には.デイスパツチヤ
はCに進む。したがつて.アドレス・スペース(空間)
ワ一ド0(即ちASWO)がPCB内の関連の場所から
取込まれて.セグメント(区分)テーブル・ワードの大
きさ(STWSZ)について試験を行ない(1437ス
テツプ).それにより7より小さいか否かの判定が行な
われる。
7より大きい場合には不適確PCBとなり.7に等しい
かまたは7より小さい場合には.ASWlがPCBから
取込まれ(プロツク1438参照).そしてそのSTW
SZフイールドを試験し(1439).それにより8よ
り小さいかまたは8に等しいか否かの決定が行なわれる
そのフイールドが8よりも大きい場合には.不適確(違
法)PCBとなる。しかしながらSTWSZフイールド
が8に等しいかまたはそれより小さい場合には.例外ワ
ードEXWが取込まれる(1440)。そして該例外ワ
ードのMBZフイールドについて試験をし.0に等しい
か否かの判定を行なう。MBZフイールドが0に等しく
ない場合には.不適確PCBとなり.他方0に等しい場
合には.プロセスが走行していない時のプロセスのスタ
ツクのTレジスタの頂部の値を含んだスタツク・ワード
SKWが取込まれ(1442).そしてそのMBZフイ
ールドの試験を行なつて(1443).0に等しいか否
かの決定がなされる。MBZフイールドがOに等しくな
い場合には.不適確PCBとなる。他方0に等しい場合
には.命令カウンタ・ワードICWがPCBから取込ま
れて命◆カウンタICにロードされ.そしてそのTAG
フイールドについて試験を行ないOに等しいか否かの決
定を行なう(1445)。TAGフイールドがOに等し
くない場合には.不適確PCBとなる。しかしながらT
AGフイールドがOに等しい場合には.MBZワードが
取込まれ(1446).そしてそωBZフイ一′レド(
ビツトOないし31)の試験を行なつてOに等しいか否
かの決定がなされる(1447)。0に等しくない場合
には.不適確PCBとなり.他方0に等しい場合には.
スタツク基準ワード0,1および2(SBWO,l,2
)が取込まれる(1448)。
PCBの基準レジスタ保存領域内の8つの基準レジスタ
の内容を次に取込んで(1449).そして機械の基準
レジスタ1308に格納する。次いで.PCBの汎用レ
ジスタ保存領域から16の汎用レジスタの内容を取込み
(1450).そして機械の汎用レジスタ1307に格
納する。しかしながら.科学的レジスタの内容の取込み
前に.プロセス主ワード0(PMWO)の能力もしくは
資格バイトのチエツクを行なつて.科学的モードが利用
されているか否かの判定を行なう(1451)。科学的
モードが利用されている場合には.PCBの科学的レジ
スタ保存領域から科学的レジスタの内容を取込んで格納
する(1452)。次いでフアームウエアはPMWOの
能力もしくは資格バイトのチエツクを行なつて.アカウ
ンチング・モードが利用されているか否かを判定する(
1453)。アカウンチング・モードが利用されている
場合(即ち資格バイトのアカウンチング・ビツトが2進
「1」にセツトされている場合)にはPCB内にアカウ
ンチング・ワードが存在することになり.レデイ時間ア
カウント・ワード(RTA)が更新される。そこでフア
ームウエアはDEXT番号がOにセツトされているか否
かの判定に進む(1454)。この判定でOにセツトさ
れていないことが判れば.このことは機械がエミユレー
シヨン・モード(即ち装飾拡張が利用されつつあること
)にあり得ることを意味し.したがつてPMW−0のD
EXT番号がチエツクされ(1455).それによりプ
ロセス主ワード3のDETSZフイ一′レドよりも大き
いかあるいは小さいかの判定が行なわれ.DETSZフ
ィールドよりも大きい場合には,不適確PCB除外が行
なわれる(1456)。なぜならば.DEX番号がDE
TSZフイールドよりも小さく零に等しくない場合には
.機械は正当なエミユレーシヨンモードで動炸している
ことになるからである。そこでFに進む。判定プロツク
1454を再び参照するに.DEXTフイールドが2進
[0」である場合には本来のモードが実行されつつある
ことを意味し.機械はSTWを取込む(1457)。P
CBの残留時間切れワードRTOが取込まれ(1458
).そしてプロセス・タイマには.CJPが実行状態で
消費することができる時間限界がロードされる。この時
点まで.機械に古いプロセスCJPがあり,かつ新しい
プロセスNJPが該古いプロセスCJPよりも高い優先
度を有しておつた場合に.該新しいプロセスNJPが[
ロール−イン」されてCPUの制御を受けている(状態
a)かあるいはCPUのFbl脚を受けているCJPが
なくて.レデイ持ち行列の先頭が実行中であつた(状態
b)かのいずれかである。状態aにおいては.CJPは
RPWから取り出されて.Q/PR/RDY内のプロセ
ス・リンクPLに設定され.そしてQ/PR/RDYの
プロセス・リンクPLONJPはRPWに設定されて.
それにより2つのプロセスの位置を切換し.制御を.現
在CJPになつたNJPに与えて.古いCJPから制御
をダツシユする。そこで.NJPOPCBがアクセスさ
れ.そしてNJP(現在はCJP)を実行するのに要求
された情報はACU内のスクラツチ・パツド・メモリま
たはレジスタ・アレイにロードされている。CPUの制
御下にあるCJPが存在しなかつた場合(状態b)には
.レディ持ち行列の先頭が実行されている。
即ちデイスパツチヤがプロセス・リンクPLを介して.
レデイ持ち行列の先頭からNJPを取り出してRPWワ
ードにセツトしたために.NJPがCJPになつている
。この様にして.プロセス・リンクPLはQ/PR/R
DYにおいて空き状態に留められており.従つてこのプ
ロセス・リンクPLを取り出す必要がある。上に述べた
ような事情から.今度は判定プロツク1461から始ま
つて.フアームウエアはCPUの制御下にCJPが有つ
たか否かを判定し.そして空いたプロセス・リンク(F
PLS)が存在した場合には.このリンクがアクセスさ
れ.持ち行列に組み入れられ.そしてCJPが書き込ま
れる。しかしながらCPUの制御下にCJPが無かつた
場合には.NJP(7)PMWOの状態バイトが更新さ
れ(1460).そして再び機械にCJPがあつたかど
うかに関する判定が行なわれる(1463)。プロセツ
サの1h1m下にCJPが無かつた場合には.(Q/P
R/RDY内にあつて現在は機械の制御下にある)NJ
Pのプロセス・リンクがQ/PR/RDYから取り出さ
れる(即ちQ/PR/RDY持ち行列から取り出される
)(1466).そして自由な(空いた)リンク・セマ
ホア(Sema−PhOre)FLSPとなり.今度は
空きプロセス・リンク持ち行列に組み込まれて.空きプ
ロセス・リンク持ち行列の1部となる(1466a)。
境界アドレス・レジスタBARの内容が取り込まれ(1
464).そしてシステム基準フオーマツトのBAR+
56に位置していたNJP(現在はCJP)の実行プロ
セス・ワード(RPW)が.NJP識別情報をRPWに
ロードすることによつて更新される(プロツク1465
参照)。CJPが存在しなかつた場合には.空き標識が
「0]にセツトされる。次に.内容標識(即ちCJPと
レデイ持ち行列内にあるプロセスとの間の優先度に関し
起り得る衝突もしくは混乱を表示するのに用いられる補
助メモリ1317a内のフリツプ・フロツプ)が「O]
にセツトされ(1467).そして典型・的な内容アド
レス指定メモリである補助メモリ(AssOciati
vememOryX第1図のASl32)がクリアされ
る(1471)。そこでプロセス・モードはプロツク1
470に入る。(プロセス・モードは.動作中のシステ
ムではなく.プロセツサで行なわれているプロセスによ
り例外が取り扱われていることを表示する)。フアーム
ウエアはそこでCABl48Oに続き.そして非同期割
込ビツトABをチエツクして.2進「1」にセツトされ
ているか否かを判定する(1481)。非同期割込ビツ
トABが2進「1」にセツトされている場合には.プロ
セス・リング番号PRNが非同期割込ビツトARNより
大きいか.あるいはそれに等しいかどうかの判定がなさ
れる(1482)。(ABビツトおよびARNビツトは
.谷プロセスのPCBの優先バイト内に位置しておつて
.プロセスが実行状態にある時に有意味である。ABお
よびARNビツトはシステム基準のBAR+56に位置
するRPWから得られる)。RPWの應+56に在るA
BおよびARNはりセツトされる。その理由は次のステ
ツプ1486で.非同期割込ルーチーン(トラツプ・ル
ーチーン)に進んで.非同期割込(トラツプ)ビツトま
たは非同期リング番号を最初にセツトせしめた状態もし
くは条件について検討じ.これら条件がりセツトされな
かつた場合には次のフアーム・ウエアによる実行で.実
際にはまちがいは無いけれども何らかの誤りがあるとの
表示を与えることになり.従つて常に非同期割込(トラ
ツプ)ルーチーン1484へと進んで実行が行なわれる
ことはないからである。判定プロツク1481および1
482に再び帰つて参照するに.ABビツトがセツトさ
れていないかまたはABビツトがセツトされておつて.
PRNがARNよりも大きくない場合には.そこでフア
ームウエアは.プロセツサがどのモード即ち通常もしく
は本来のモードかまたはエミユレーシヨン・モードのい
ずれで実行を行なつているかの判定に進む。従つてDE
XT番号がチエツクされて.「0」にセツトされている
か否かの判定が行なわれ,「o」にセツトされている場
合には機械の通常のモードが実行中であるとされる(1
487)。しかしながらDEXT番号が「o」にセツト
されていない場合には.エミユレーシヨン・モードが実
行されているものとする(1486)。既に述べたよう
に.装飾拡張モードおよびそれによるエミユレーシヨン
・モードまたは任意の他のモードまたは所望の特定機能
を6簡略記号EXDEを有する実行装飾拡張命令と称す
る本来のモード命令に応答して.本発明のデータ処理装
置で取り入れることができる。
EXDE命令は第9図に示されている。既に概略的に説
明したように.この命令は32ビツト長であり.最初の
8つのビツトがオプコード(0pc0de)をEXDE
命令と識別する。次の8つのビツトはDEXTフィール
ドを画定し.他方最後の16ビツトがDEAフイールド
を定義する。ビツト8ないし15のDEXTフイールド
は.装飾拡張番号を廟uするものであつて.装飾拡張の
論理名である。自明なように.DEXTフイールドはO
とは異ならねばならない.さもなければ不適格(違法)
フオーマツト・フイールド状態が起り得るからである。
8ビツトを有するDEXTフイールドは.255までの
可能な装飾拡張または特定の機能またはオペレーシヨン
を識別することができる。
従つて.1に等しいDEXTフイールドが第1の型のプ
ロセツサのエミユレーシヨンに対応し.他方他の番号を
有するDEXTフイールドがさらに他のデニータ処理シ
ステムのエミユレーシヨンに対応することができる。D
EXTフイールドによつて指示?れる他の番号で.例え
ば本システムのアーキテクチヤには通常含まれないハー
ドウエア・オプシヨンによつて得ることができるような
データ処理装置による他の機能演算を表示することがで
きる。DEAフイールドは.装飾拡張引き数であつて.
エミユレーシヨン装置.即ち工ミニレータのような特定
の装飾拡張ハードウエアへの入力としての働きをなす。
DEAフイールドは.例えば2つのサブフイールド(下
位フィ一′レド).即ちビット16ないし23に含まれ
るオプコード(0pc0de)フイールドおよびビツト
24ないし31に含まれる引き数サブフイールドを含む
ことができる。オプコード(0pc0d5サブフイール
ドは例えば.ジアップまたは移動命令を指示することが
でき.そして引き数部は例えば移動を行うべき仕方を指
示することができる。即ちオプコード・サブフイールド
は例えば或るデータをデータ処理装置内の1つのレジス
タから他のレジスタに転送しなければならないことを表
示する移動命令を含むことができ.他方引き数部は.2
つの点間でこのようなデータの転送を行なう仕方または
装置または経路を定義することができる。既に述べたよ
うに.本発明のデータ処理装置では,データ処理装置に
含まれる各プログラムまたはプロセスに対しプロセス制
御プロツクの使用が企図されている。
このプロセス制御プロツクは任意時点における或るプロ
セスの状態を特定するのに必要な情報を格納するデータ
構成をしている。プロセス制御プロック(第4図)は.
装飾拡張命◆と共に使用するためのプロセス主ワードP
MW+OおよびPMW≠3を有している。PMW≠Oは
.特徴的なバイト長の2つのサブフイールド(下位フイ
ールド)を含む。DEXTバイトもしくはサブフイール
ドはEXDE命令に対して定義されたDEXTバイトと
同じ情報を有するように結合することができる。PMW
≠O(7)DEXTサブフイールドは.本来のモードか
ら非本来モードにデータ処理システムを切換する間にE
XDE命令から書き込まれる。このような切換は.1つ
以上の命令をエミユレーシヨンのような特定の機能のた
めに非本来モードで実行すべき状況において行なわれる
ものである。PMW+00DEXTバイト眠割込が生じ
た場合に例えば.エミユレーシヨン・プロセスが後で.
中断された(割り込まれた)点から続けることができる
ようにするために.プロセス制御プロツクに書き込まれ
て保存される。自明なように.DEXTバイトは.本来
のモードから出る際に1つの非本来モード命令だけを考
慮するEXDE命令に対してはPMW≠0に書き込まれ
ない。また.PMW≠Oには.状態バイトが含まれてお
り.この状態バイトは.プロセツサが既に述べたように
データ処理装置の機械のエミユレーシヨン・モードとす
ることができる装飾拡張モードで動作している場合に.
2進[1」に対応するEXTDビツトを有する。状態バ
イトのEXTD.J9ビツトは.非本来モードが適性に
開始されたかどうかをチエツクするための別の手段とな
るが.本発明とは関連がないので.説明は省略する。
プロセス制御プロツクはまた../F63のプロセス主
ワード即ちPMW+3を有する。このPMW+3は第4
図及び第11図に示されているように.DETSZサブ
フイールド(下位フィールド)およびDETAサブフイ
ールドを有する。DETSZサブフイールドは8ビツト
の記憶場所を有し:他方DETAサブフイールドは24
ビツトの記憶場所を有する。DETSZサブフィールド
は.以下に説明する装飾拡張テーブルへの可能なエント
リの数を定義する。DETSZサブフイールドが2進[
0」である場合には.装飾拡張モードを処理することは
許されない。DETSZサブフイールドおよび装飾拡張
テーブル(DET)を詳細に論述する前に.DETAサ
ブフイールド(1装飾拡張テーブルのメモリ内に絶対ア
ドレスを有しておつて.DETSZサブフィールドが2
進「O」でない場合にのみ有意味となつて利用される点
を述べておく。1つの装飾拡張テーブルには.本発明の
データ処理装置に含まれる各1つのプロセスが組み合せ
られ.従つて,プロセス制御プロツクと装飾拡張テーブ
ルの数には対応件がある。
しかしながら,本発明においては.複数のプロセス制御
プロツクが1つの装飾拡張テーブルを共用しそれにより
テーブルの数を制御プロツクの数よりも少なくすること
が教示される。各装飾拡張テーブルは例えば本発明の装
置の場合.256ビツトまでの記憶場所を有することが
できる。各ビット位置は.装飾拡張モードが許されるか
どうかを定める。以下の説明においては.装飾拡張テー
ブル内の最大記憶場所数はEXDE命令のDEXTフイ
ールドに対応するものとしている。従つて.8ビツトの
DEXTフイ一′レドでは,装飾拡張テーブル内の25
6の記憶場所をアドレシングすることができる。装飾拡
張テーブル内のビツト位置の各々は1つのDEXT番号
に対応する。従って既に述べたように.例えば別のプロ
セツサのエミユレーシヨンのような特定の機能もしくは
動作に対応する各DEXT番号は.装飾拡張テーブルに
おける当該特定ビツト位置における2進「1」によつて
.他のプロセツサのこのようなエミユレーシヨンが許4
Uされることを表示する。
装飾拡張テーブル内の特定ビツトが2進「0」である場
合には.このようなプロセスは許されない。或る種のシ
ステムにおいては.256以上の機能を装飾拡張モード
で実行することが完全に可能である。
従つて.追加の機能を表示するためには.DEXTバイ
トもしくはフイールドの大きさを増大する必要があろう
し.また,それに力目えて装飾拡張テーブルのビツト位
置の数をも増大する必要があろう。また或る種のシステ
ムにおいては.該システムによつて処理することができ
る全機能数よりも少ない数の機能数を有する場合があり
得る。この場合には.DEXTフイールドは.一般に.
本発明のデータ処理装置と関連じC設けられるメモリに
過剰の不必要なビツト位置を用いることなく.8ビツト
長に留めることができよう。しかしながら.装飾拡張テ
ーブルの大きさを減少すれば6メモリ空間の大きさを顕
著に節減することができる。従つて例えば6本発明のデ
ータ処理装置によつて5つだけの他のデータ処理装置を
工ミニレートしようとする場合には.装飾拡張テーブル
は例えば8ビツト長で済むことになり.ほとんどの場合
8ビツト群のフイールドを含むことが必要である。従つ
て.本来モードと非本来モードとの間で行なわれる切換
においては.DEXTフイールドによつて表示される機
能数が.活動プロセスと関連の装飾拡張テーブル内のビ
ツト数よりも大きくないことを確認するためのチエツク
を行なう必要がある。従つて以下に論述するプロセスは
.既に第8図のフローチヤートと関連して指示しかつ一
般的に説明したように.本来モードから非本来モードの
動作にシステムを切換する場合に.本発明のデータ処理
システムに対して切換およびチエック装置を設けること
を要求する。
従つて.システムがEXDE命令を検出すると.第10
図に示されているように,本発明のプログラム・モード
切換装置が第10図の起動プロツク1500により図示
のように始動される。EXDE命令が検出された後に.
そのDEXTバイトが2進[0]と比較される。これは
実際に,このフイールドのフオーマツトが正しいかどう
かを確認するためである。DEXTバイトが2進「O」
である場合には,不適格フオーマツトを表わすフラツグ
が立てられて.本発明のデータ処理装置は次の活動プロ
セスに戻ることを表示する信号が発生され、さらにこの
不適格フオーマツトのフイールドがオペレータに対して
表示される。この比較は第10図にプロツク1502に
よつて示されており.そして不適格フオーマツト・フイ
ールド・フラツグはプロツク1503によつて示されて
いる。プロツク1502の比較結果が否定である場合に
は.そこでプロツク1504で示した読出し動作が開始
される。プロツク1504の動作で.プロセス制御プロ
ツク(PCB)のPMW◆3が読み出され.従つて.こ
の時点でバツフアに一時的に格納されるのはPMW≠3
のDETAフイールドおよびDETSZフイールドであ
る。既に述べたように.第9図に示されている如く.命
令で受けられるDEXTバイトは、この特定のプロセス
制御プロツクと関連の装飾拡張テーブルにおける可能な
エントリ(DETSZ)の数と比較しなければならない
。従つてプロツク1506で.DEXTフイールド・バ
イトがDETSZフイールドより大きいかあるいは等し
いことが判つた場合には.不適格装飾拡張番号フラツグ
がプロツク1508で表示されてオペレータに報知され
る。従つてプロツク1506で.DEXTバイトのアド
レスが.装飾拡張テーブルのビツト数よりも大きい場合
には.不適格装飾拡張番号のフラツグが立てられる。こ
のフラツグはまた.DEXTバイトがDETSZに等し
い場合にも.装飾拡張テーブルの当該バイトおよびビツ
トの番号付けにより.起動される。例えばDEXT数が
8であり.装飾拡張テーブルに8ビツト位置しかない場
合には6後述するように.装飾拡張テーブルにおける第
1のエントリが本来モードを指示するので.装飾拡張テ
ーブ′レ内の残りの7つのビツト位置は.8つの可能な
装飾拡張モードにサービスするのには充分ではなくなる
。DEXTバイトが.DETSZ数より小さい場合には
.プロツク1509の読出し動作が開始され.装飾拡張
テーブルのDEXT番目のビツトが読み出される。従つ
てDEXTフイールドの数が5であるとすると.装飾拡
張テーブルの5番目のビツト(後述するように6番目の
位置)が読み出される。しかる後に.装飾拡張テーブル
のDEXT番目のビツトはプロツク1510に示すよう
に2進「0」と比較される。このビツトが2進[0」で
ある場合には.プロツク1508に移り.不適格装飾拡
張番号のフラツグが立てられる。上記の比較結果が不一
致であつた場合には.プロツク1512に移り.DEX
T番号をチエツクして.EXDE命令から受けたDEX
Tフイールドの実際の10進数が,本システムのデータ
・プロセツサ内のハードウエアおよびフアームウエアの
装飾拡張を表わすことを確認する。そうでない場合には
.プロツク1509に移るか.さもなければプロツク1
514に示すようにエミユレーシヨン装置が起動される
。エミユレーシヨン装置が起動された場合には.この装
置は.後述するように、本来モードEXDE命令かまた
はエミユレーシヨン装置自体かに依存して61つまた(
22つ以上の命令に対し処理される。このエミユレーシ
ヨン装置の処理はプロツク1516に示すように.第1
0図のフローの停止後に行なわれる。従つて6本発明の
装置のプログラム切換モードを示す第10図のフローチ
ヤートから明らかなように.プロツク1502において
は.実際にEXDE命令が完全に誤つた仕方で用いられ
ているかどうかを決定するためのチエツクが行なわれる
さらに.プロツク1506において実際に.装飾拡張テ
ーブル内のエントリの数.即ちDEXTバイトによつて
アドレシング可能な数よりも小さい数に減少されている
可能性のあるビツト数がDEXTバイトによつて示され
る数よりも大きいことを確認するためのチエツクが行な
われる。この様にして,装飾拡張テーブルの大きさを最
小にすることができる。さらに6実際に.装飾拡張テー
ブルの大きさを最小にすることにより.DEXT数(番
号)が装飾拡張テーブル内のエントリの数よりも大きい
ことにより.エラー状態が生じなかつたことを確認する
ためのチエツクが行なわれる。また.プロツク1508
から明らかなように.本発明のデータ処理装置と関連し
て.作動システムまたはオペレータによりロードするこ
とができる装飾拡張テーブルが特定の装飾拡張モードの
入力を許容するか否かのチエツクが行なわれる。さらに
加えて.例えばプロツク1512により.DEXT番号
で表わされる特定の装飾拡張モードがシステムのフアー
ムウエアおよびハードウエアに存在することを確認する
ために.DEXT番号のチエツクがなされる。さらに.
第11図を参照しての説明から明らかなように.処理が
本来モードに復帰される前に.単一の命令または複数の
命令に対して.装飾拡張モードを起動することが可能で
ある。さて.第11図を参照するに.この図には.本発
明のプログラム・モード切換を実現するために必要とさ
れるハードウエアおよびフアームウエアがプロツクダイ
ヤグラムで示されている。
第11図から明らかなように.プロセス制御プロツク4
00には.本発明のデータ処理装置における活動プログ
ラムが組み合わされる。プロセス制御プロツクもしくは
PCB4OOは.それぞれプロセス主ワードPMW≠0
およびPMW≠3を有している.PMW+OはDEXT
フィールドを含み,他方PMW+3はDETSZフイー
ルドおよびDETAフイールドから構成されている。E
XDE命令検出器1518によつて示されるように.E
XDE命令を受けると.DEXTおよびDEAフイール
ドは一時的にバツフア1520に格納される。バツフア
1520に格納されたDEXTフイールドは直ちに.比
較器1524によつて零ビツト1522と比較される。
比較結果が.第10図のプロック1502と関連して説
明したのと同じである場合には.不適格フオーマツト・
フイールド・フラッグ1526がセツトされる。不一致
である場合には.線路1528(1アンド・ゲート15
30および1532を可能化する信号を受ける。これら
2つのアンド・ゲートが可能化されると.DETSZフ
ィールドの内容がバツフア1534に格納され6そして
DETAフイールドの内容はバツフア1536に格納さ
れる。バツフア1520から受けたDEXTフイールド
およびバツフア1534から受けたDETSZフイール
ドは比較器1538によつて比較される。この比較器1
538は.2つの数が等しいことを判定したり.またど
ちらの数が大きいかを決定するのに用いられる周知の論
理を備えている。第10図のプロツク1506に示した
ように.DEXT番号がDETSZ番号よりも大きいか
またはそれに等しい場合には.第11図に示すように不
法装飾拡張番号フラグ1540がオア・ゲート1542
によつて付活される。DEXT番号がDETSZ番号よ
りも小さい場合には.2つのアンド・ゲート1544お
よび1546が可能化される。アンド・ゲート1544
が可能化されると.プロセス制御プロツク400と関連
の装飾拡張テーブル1548が選択される。即ちDET
Aフイ一′レドに指示されている装飾拡散テーブルの絶
対アドレスが.適正なりETを選択することができる。
アンド・ゲート1546が可能化されると.バツフア1
520に格納されているDEXTフイ一′レドによつて
示される数で.装飾拡張テーブル1548内の関連のビ
ツトをアドレシングすることができる。それにより選択
される関連のビツトは図示の例では左から3番目のビツ
トである。装飾拡張テーブル1548は.アドレス0(
本来のモードまたは非本来モードを示すアドレス)から
始まり.8ビツト装飾拡張テーブ′レのためのアドレス
7で終る複数のビツト位置を備えている点に注意された
い。従つて.DEXTは2に等しく.その場合には図示
のようにDETの第3番目の位置にアドレシングがかか
る。装飾拡張テーブル1548から読み出されたビツト
は比較器1550に転送され.そこでこのビツトは第1
0図のプロツク1510に従い零ビツト1552と比較
される。
比較の結果が肯定である場合には.不適格装飾拡張番号
フラツグ1540がセツトされる。比較結果が不一致で
ある場合には.比較器1550の出力でアンド・ゲート
1554が可能化される。このアンド・ゲート1554
が可能化されると.DEXT番号が続いて比較器155
6−1ないし1556−nで比較される。バツフア15
20内に格納されているDEXT番号は最初DEXT腐
1(1557)と比較されて.それにより.この番号で
表わされる関連のハードウエアおよびフアームウエアが
システム内に存在するか否かが決定される。プロツク1
557,1559および1562内のDEXT番号は.
関連のハードウエア/フアームウエアがシステム内に存
在する場合にのみセツトされるものである。比較結果が
不一致であると.アンド・ゲート1558が可能化され
て.DEXT番号がDEXT腐2(1559)と比較さ
れる。このような逐次比較は.最後の比較器1556−
nがアンド・ゲート1560を介して入力を受けて.D
EXT番号をDETSZ番号,46N(1562)と比
較する迄行なわれる。比較が不一致であれば.比較器1
556−nからの線路1564に発生される信号で.オ
ア・ゲート1542を介し不適格装飾拡張フラツグがセ
ツトされる。比較器1556のいずれか1つが比較=致
信号を発生すると.オア・ゲート1566を介してアン
ド・ゲート1568,1570および1572が可能化
される。アンド・ゲート1570が可能化されると.D
EAフイールドのオプコード(0pc0de)がエミユ
レーシヨン装置へと通され.そしてアンド・ゲート15
72が可能化されて.DEAフイールドの引き数がそれ
ぞれバツフア1520からエミユレーシヨン装置へと通
される。他のアンド・ゲート1568が可能化されると
.DEXT番号がプロセス制御プロツク400に通され
て6PMW+0に書き込まれる。
アンド・ゲート1568はまた検出器1576からの第
2の線路1574により可能化される。バツフア152
0に受けたDEAフイールドのオプコード(0pc0d
e)が.1つ以上の命令に対して本来モードから非本来
モードに移行すべきことが表示されると.線路1574
に信号が発生される。この場合にはDEXT番号はPC
B4OOに格納され.その結果.当該特定機能もしくは
動作に対し本来モードでの処理中に割込が生じた場合に
は.DEXT番号で示される状態は当該プロセスのため
にPCB4OOに保存されることになる。DEAフイー
ルドが.非本来モードにおいてただ1つの命令だけを処
理すべきことを指示した場合には.DEXT番号をPC
B4OOに保存する必要はない。従つて.PCB4OO
に保存されているDEXT番号で.バツフア1520か
らオプコード(0pc0de)および引き数をこの時点
で受けた工ミユレ〜シヨン装置が処理のために付活され
る。さらに.図示してはなレ功ξ引き数がエミユレーシ
ヨン装置に対して受容できない場合.あるいはまたこの
エミユレーシヨン装置の能力外である場合には.エミユ
レーシヨン装置から.不適格な引き数を表わす信号が受
けとられて.それによりオペレータには不適格引き数フ
ラツグでの表示が与えられる。適正な起動後には.エミ
ユレーシヨン装置はエミユレーシヨン・モードで処理を
行なつて.しかる後に.システム内の高い優先度を有す
るプロセスによる割込がない限り制御を本来のモードに
戻す。以上本発明の実施例に関して説明したが.本発明
はこれに限定されるものではなく.当業者には数多の変
形変更が容易に想到し得るであろうことを付記する。
【図面の簡単な説明】
第1図は本発明による多重プログラミング装置のプロツ
クダイヤグラム.第2図は本発明によるいろいろなハー
ドウエア構造を示す略図.第3図は第2図に示したレジ
スタにおける保存記憶領域で用いられる術語の定義を示
す表であり.第4図はプロセス制御プロツクの略図.第
5図はプロセス制御プロツクのアドレシング方式を図解
する略図.第6図は本発明のシステム基準(システム・
ベース)の略図.第7a図.第7b図.第7c図は制御
装置の構成を示す略図.第8a図ないし第81図はフア
ームウエア構成のデイスパツチヤ装置の動作を図解する
フローチヤートを示す図.第9図は本発明の動作モード
切換のための本来のモードの命令を示し.第10図(ま
.本発明の切換モード動作を図解するフローチヤート.
そして第11図は本発明の動作モード切換を実現するの
に要求されるハードウエアおよびフオームウエア構成を
示す機能プロツクダイヤグラムである。 101・・・・・・プロセツサ・サブシステム.102
・・・・・・記憶サブシステム. 103・・・・・・
周辺サブシステム.104,1306・・・・・・中央
処理装置.105・・・・・・入/出力制御装置.10
6・・・・・・周辺制御装置.107・・・・・・デバ
イス・アダプタ.108・・・・・・周辺入/出力デバ
イス. 109・・・・・・主メモリ周期装置,110
・・・・・・バツフア・メモリ.110,506,13
17・・・・・・演算装置.112,1316・・・・
・・工ミニレータ. 131,1319・・・・・・ア
ドレス制御装置.132・・・・・・補助メモリ.20
1,1307・・・・・・汎用レジスタ. 202,2
03・・・・・・スタツク・レジスタ. 206・・・
・・・境界アドレス・レジスタ.207・・・・・・状
態レジスタ. 208,1313・・・・・・マスク・
レジスタ. 400・・・・・・プロセス制御プロツク
. 501,1308・・・・・・基準アドレス・レジ
スタ. 502・・・・・・システム・ベース 503
・・・・・・Jテーブル. 504・・・・・・Pテー
ブル. 505・・・・・・Jテーブル・ポインタ.
507・・・・・・ポインタ.1301・・・・・・制
御記憶装置.1302・・・・・・インターフエース・
アダプタ. 1303・・・・・・制御メモリ・ローダ
. 1312・・・・・・命令カウンタ.1309・・
・・・・科学的レジスタ.1310・・・・・・Tレジ
スタ.1315・・・・・・スクラツチ・パツド・メモ
リ装置.1317・・・・・・演算論理装置.1318
・・・・・・命令取込み装置. 1320・・・・・・
クロツク装置.1325・・・・・・制御メモリ・ワー
ド.1337・・・・・・アドレス・レジスタ. 13
38・・・・・・インクレメンタ.1339・・・・・
・割込復帰レジスタ. 1340・・・・・・KUレジ
スタ. 1360,1365,1530,1532,1
544,1546,1554,1558,1560,1
568,1570,1572・・・・・・アンド・ゲー
ト. 1347,1349・・・・・・復帰分岐レジス
タ.1343・・・・・・局部レジスタ.1345・・
・・・・マルチプレクサ. 1357・・・・・・読出
しラツチ.1359・・・・・・デコーダ・ユニツト.
1404・・・・・・GOセグメント記述子.1430
・・・・・・フアームウエア・サブルーチ〜ン.151
8・・・・・・命◆検出器.1520,1534,15
36・・・・・・バツフア.1524,1538,15
50,1556・・・・・・比較器.1542,156
6・・・・・・オア・ゲート.1548・・・・・・装
飾拡張テーブル. 1576・・・・・・検出器。

Claims (1)

  1. 【特許請求の範囲】 1 プロセスのオペレーション・モードの第1のモード
    から第2のモードにおける特定の機能への切換を指定す
    る命令を受けるための手段と、任意特定の時点で前記プ
    ロセスの動作状態を指示する第1の手段と、データ処理
    システムにおける前記特定機能の実行可能性を指示する
    ための第2の手段と、前記第2の指示手段を前記第1の
    指示手段の内容の第1の部分でアドレシングするための
    手段と、前記データ処理システムで前記特定の機能が実
    行可能であることを前記第2の指示手段が指示した場合
    に前記プロセスのための前記特定機能を前記第2のモー
    ドで付活するための手段とを有することを特徴とするデ
    ータ処理システム。 2 前記第1のモードは、プロセスが前記データ処理シ
    ステムにより該システムにとつて通常の仕方で実行され
    る該システムの本来のモードであり、そして前記第2の
    モードが該データ処理システムの非本来モードであり、
    前記データ処理システムが多重処理型式のものであつて
    、さらに、前記データ・システムに含まれかつ前記デー
    タ・システムにおいて実行が可能であるプロセスの数に
    等しい数の複数の前記第1の指示手段と、複数の前記第
    2の指示手段とを備えており、前記第2の指示手段の各
    々は、それぞれ前記データ処理システムにおける異なつ
    た特定機能の実行可能性を表示する複数個の指標を含み
    、前記特定機能は前記命令の第1の部分にある数により
    指示され、そしてさらに、アドレシングされた前記第2
    の指示手段の前記指標の1つを、前記命令の内容の前記
    第1の部分に表示された数でアドレシングするように結
    合された手段を備えている特許請求の範囲第1項記載の
    データ処理システム。 3 前記命令の内容の前記第1の部分により指示される
    数が前記第1の指示手段の内容の前記第1の部分により
    指示される数よりも大きい場合に、第1の信号を発生す
    るための手段と、該第1の信号に応答して、前記非本来
    モードでの前記プロセスのための前記特定機能が前記デ
    ータ・システムにおいて実行されないように前記付活手
    段を不能化するための不能化手段とを備えている特許請
    求の範囲第2項記載のデータ処理システム。 4 前記第2の指示手段内の指標の数が前記命令の内容
    の前記第1の部分によつて指示される数よりも大きいこ
    とを保証するための保証手段を備えている特許請求の範
    囲第3項記載のデータ処理システム。 5 多重プログラマブル/多重処理ディジタル計算機シ
    ステムにおいて、該システム内の各プロセスに対して1
    つずつ複数個のプロセス制御ブロックを有し、該ブロッ
    クの各々は特定の時点におけるプロセスの動作状態に関
    する情報を含み、複数個の装飾拡張テーブルを有し、該
    テーブルの各々は複数の指標を含み、該指標の各々は前
    記ディジタル計算機システムが該システム内で関連のプ
    ロセスに対する特定のオペレーションを実行する能力を
    有するか否かを表示し、本来のモードから非本来モード
    への処理モードの切換を指定する本来モード命令を受け
    る手段を有し、前記命令は第1および第2の部分を有し
    、前記第1の部分は前記ディジタル計算機システム内で
    実行されるべき特定の指定されたオペレーションを指示
    する数を含み、前記第2の部分は前記非本来モードで実
    行するべき命令または命令群を指示する情報を含み、前
    記ディジタル計算機システム内で現在実行中のプロセス
    と関連する前記プロセス制御ブロックの1つを選択する
    手段を有し、前記プロセス制御ブロックの各々は第1の
    部分と第2の部分を含み、前記第1の部分は関連の装飾
    拡張テーブルのアドレスを指示し、そして前記第2の部
    分は前記装飾拡張テーブル内の可能な指標の数を指示す
    る数を含んでおり、前記選択されたプロセス制御ブロッ
    クの第1の部分に含まれるアドレスによつて前記関連の
    装飾拡張テーブルをアドレシングするための手段と、前
    記本来モード命令の第1の部分に含まれる数によつてア
    ドレシングされた装飾拡張テーブルの前記指標の1つを
    アドレシングするための手段と、アドレシングされた装
    飾拡張テーブル内のアドレシングされた指標が、前記デ
    ィジタル計算機システムが該システム内で関連のプロセ
    スに対する前記特定のオペレーションを実行する能力を
    有することを指示した場合に、前記特定のオペレーショ
    ンを前記非本来モードで付活するための付活手段を備え
    ている多重プログラマブル/多重処理ディジタル計算機
    システムを含むデータ処理システム。 6 前記選択されたプロセス制御ブロックの前記第2の
    部分にある数が前記命令の前記第1の部分にある数より
    も大きいか否かを指示するための比較手段と、前記アド
    レシングされたプロセス制御ブロックの前記第2の部分
    にある前記数が前記命令の前記第1の部分にある前記数
    よりも大きい場合に、前記付活手段を不能化するための
    不能化手段をさらに備えている特許請求の範囲第5項記
    載のデータ処理システム。 7 前記非本来モードで2つ以上の命令を実行すべきこ
    とを前記本来モード命令の前記第2の部分から検出する
    ための手段と、該検出手段に応答して、2つ以上の命令
    を前記非本来モードで実行すべき場合に、前記本来モー
    ド命令の前記第1の部分の前記数を、選択されたプロセ
    ス制御ブロックの第3の部分に格納するための格納手段
    とを有する特許請求の範囲第5項記載のデータ処理シス
    テム。 8 前記付活手段が、前記命令の前記第2の部分に含ま
    れている情報を前記特定オペレーションで使用するため
    に与えるための手段を備えている特許請求の範囲第5項
    記載のデータ処理システム。 9 前記ディジタル計算システムが前記特定オペレーシ
    ョンを実行するためのハードウェア能力を有しているか
    否かを検出するための手段と、前記検出手段が、前記デ
    ィジタル計算機システムが前記特定オペレーションを実
    行するための前記能力を有しないことを指示した場合に
    、前記付活手段を禁止するための手段を備えている特許
    請求の範囲第5項記載のデータ処理システム。
JP49136670A 1973-11-30 1974-11-30 デ−タ処理システム Expired JPS5935055B2 (ja)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
FR7342695 1973-11-30
FR7342695A FR2253430A5 (ja) 1973-11-30 1973-11-30
FR7342693 1973-11-30
FR7342713 1973-11-30
FR7342693A FR2253428A5 (ja) 1973-11-30 1973-11-30
FR7342713A FR2253438A5 (en) 1973-11-30 1973-11-30 Generalised processor for multi-programming - employs working memory unit to access various converters

Publications (2)

Publication Number Publication Date
JPS50117330A JPS50117330A (ja) 1975-09-13
JPS5935055B2 true JPS5935055B2 (ja) 1984-08-27

Family

ID=27250214

Family Applications (1)

Application Number Title Priority Date Filing Date
JP49136670A Expired JPS5935055B2 (ja) 1973-11-30 1974-11-30 デ−タ処理システム

Country Status (3)

Country Link
JP (1) JPS5935055B2 (ja)
GB (1) GB1486900A (ja)
IT (1) IT1026660B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6278445U (ja) * 1985-11-05 1987-05-19

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111665778B (zh) * 2020-05-29 2022-05-24 国电南瑞科技股份有限公司 一种plc控制器与上位机快速通讯传输和数据处理的方法
CN112395095A (zh) * 2020-11-09 2021-02-23 王志平 一种基于cpoc的进程同步方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5057348A (ja) * 1973-09-19 1975-05-19

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5057348A (ja) * 1973-09-19 1975-05-19

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6278445U (ja) * 1985-11-05 1987-05-19

Also Published As

Publication number Publication date
IT1026660B (it) 1978-10-20
GB1486900A (en) 1977-09-28
JPS50117330A (ja) 1975-09-13

Similar Documents

Publication Publication Date Title
US4369494A (en) Apparatus and method for providing synchronization between processes and events occurring at different times in a data processing system
US4084228A (en) Process management structures and hardware/firmware control
US4395757A (en) Process synchronization utilizing semaphores
US4316245A (en) Apparatus and method for semaphore initialization in a multiprocessing computer system for process synchronization
US4077058A (en) Method and apparatus for executing an extended decor instruction
US4432051A (en) Process execution time accounting system
US4394725A (en) Apparatus and method for transferring information units between processes in a multiprocessing system
US4374409A (en) Method of and system using P and V instructions on semaphores for transferring data among processes in a multiprocessing system
US4130867A (en) Database instruction apparatus for determining a database record type
US5341482A (en) Method for synchronization of arithmetic exceptions in central processing units having pipelined execution units simultaneously executing instructions
US4025901A (en) Database instruction find owner
US4016545A (en) Plural memory controller apparatus
US5247628A (en) Parallel processor instruction dispatch apparatus with interrupt handler
US4530052A (en) Apparatus and method for a data processing unit sharing a plurality of operating systems
US4318182A (en) Deadlock detection and prevention mechanism for a computer system
US4447874A (en) Apparatus and method for communication of information between processes in an information system
US4109310A (en) Variable field length addressing system having data byte interchange
JP2698033B2 (ja) 順不同の命令実行を可能にするコンピュータ・システム及びその操作方法
US4024508A (en) Database instruction find serial
JPS5911943B2 (ja) デ−タ処理装置の為のトラツプ機構
JPS5939785B2 (ja) デ−タ処理装置
EP0301220A2 (en) Register management system in a computer processor with out-of-sequence instruction execution
KR0122528B1 (ko) 슈퍼스칼라 프로세서 시스템에서 중간 기억 버퍼의 할당을 인덱스하기 위한 방법 및 시스템
JPS61107434A (ja) デ−タ処理装置
JPS61290570A (ja) ベクトル処理方法