JPS5939785B2 - デ−タ処理装置 - Google Patents
デ−タ処理装置Info
- Publication number
- JPS5939785B2 JPS5939785B2 JP49142624A JP14262474A JPS5939785B2 JP S5939785 B2 JPS5939785 B2 JP S5939785B2 JP 49142624 A JP49142624 A JP 49142624A JP 14262474 A JP14262474 A JP 14262474A JP S5939785 B2 JPS5939785 B2 JP S5939785B2
- Authority
- JP
- Japan
- Prior art keywords
- word
- ecp
- address
- segment
- 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.)
- Expired
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; 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)
- Debugging And Monitoring (AREA)
- Multi Processors (AREA)
Description
【発明の詳細な説明】
(1)発明の産業上の利用分野
本発明は一般的には計算機に関する。
より詳細にはエミュレーション(emulation)
機能を有する計算機システムに関する。(2)発明の技
術的背景 一般に電子データプロセサが実行すべき各プロセスまた
はプログラムは、全く異つた一つのステップ群として表
わされる。
機能を有する計算機システムに関する。(2)発明の技
術的背景 一般に電子データプロセサが実行すべき各プロセスまた
はプログラムは、全く異つた一つのステップ群として表
わされる。
このステップ群は複数の変数(その内の二つはデータプ
ロセサ内のハードウェアおよび使用されるキャラクタの
形である)により書かれる。プロセスの実行についてよ
り効率的なシステムを提供するため、そのプロセスを実
行する時定のゲータプロセサのアーキテクチユアに基い
て書かれたプログラムの実行は、関係する電子データプ
ロセサの本来の動作モードすなわちネイテイブ(Nat
ive)動作モードとして定義される。それ故一つの特
定のプロセサに関して書かれた任意のプログラムはその
プロセサのネイテイブ動作モードにおいて実行出来る。
更に一つのデータ処理システムが導入される度に、前記
の特定のデータ処理システムのネイテイブ動作モードに
関して書かれたプログラムによりそのような他のデータ
処理システムが動作出来るかどうかという問題が常に生
じる。極めて当然のことであるが、そのような他のデー
タ処理システムは異つたハードウエアユニツトおよび前
記の特定のデータ処理システムには見当らないデータの
流れの概念を含んでいる。それ故、そのような他のシス
テムに関して書かれたプログラムは、常に前記の特定の
システムのネイテイブ動作モードでは動作出来ない。従
つて、前記の特定のデータプロセサに関連して、そのよ
うな他のデータ処理システムを工ミニレートする手段が
必要である。或る場合には工ミニレートされる方の中央
プロセサにおいて実行可能な種々の命令または条件が工
ミニレートする方の中央プロセサにおいて実行不能とな
る。
ロセサ内のハードウェアおよび使用されるキャラクタの
形である)により書かれる。プロセスの実行についてよ
り効率的なシステムを提供するため、そのプロセスを実
行する時定のゲータプロセサのアーキテクチユアに基い
て書かれたプログラムの実行は、関係する電子データプ
ロセサの本来の動作モードすなわちネイテイブ(Nat
ive)動作モードとして定義される。それ故一つの特
定のプロセサに関して書かれた任意のプログラムはその
プロセサのネイテイブ動作モードにおいて実行出来る。
更に一つのデータ処理システムが導入される度に、前記
の特定のデータ処理システムのネイテイブ動作モードに
関して書かれたプログラムによりそのような他のデータ
処理システムが動作出来るかどうかという問題が常に生
じる。極めて当然のことであるが、そのような他のデー
タ処理システムは異つたハードウエアユニツトおよび前
記の特定のデータ処理システムには見当らないデータの
流れの概念を含んでいる。それ故、そのような他のシス
テムに関して書かれたプログラムは、常に前記の特定の
システムのネイテイブ動作モードでは動作出来ない。従
つて、前記の特定のデータプロセサに関連して、そのよ
うな他のデータ処理システムを工ミニレートする手段が
必要である。或る場合には工ミニレートされる方の中央
プロセサにおいて実行可能な種々の命令または条件が工
ミニレートする方の中央プロセサにおいて実行不能とな
る。
これは沢山の理由から真実である。工ミニレートされて
いるデータ処理システムにおいて設計によつてではなく
選択により工ミニレート出来ない1つの特徴点は工ミニ
レートされた中央プロセサのマシン持ち状態である。こ
の持ち状態(WaitingState)においてはこ
のプロセサ、すなわち工ミニレートされたデータプロセ
サは機能せずに、その持ち状態から出て再び命令の実行
を続行出来るような事象(Event)の発生を待つの
である。従つて、工ミニレートされるデータプロセサの
そのような持ち状態に関連してマシーンが持ち状態にあ
る間には処理が続行せず従つてかなりの実行時間が失わ
れるという大きなオーバヘツドがある。さらに、オペレ
ータはこの条件につ 4いての情報は与えられないから
オペレータがそのような持ち条件の存在を発見するまで
にかなりの時間が無駄になる。かくして持ち条件を有す
る中央プロセサを工ミニレートする場合は設計により持
ち状態のシミユレーシヨン(この間に工ミニレートする
中央プロセサに関連したネーテイフモードで命令の処理
が可能である)をすることが望ましい。かくして、工ミ
ニレートされる中央プロセサが持ち状態にあるときでも
、そのプロセサの持ち条件をオペレータに周期的に知ら
せ続けると共にネイテイブモードで処理を続行出来るよ
うにすることが望ましい。(3)発明の目的 従つて本発明の一つの目的は、持ち条件に関連したオー
バヘツドの問題が実質的に解決されると共にオペレータ
がそのような条件についての情報を連続的に受けること
ができるようにされるために、そのような持ち条件を有
するデータプロセサを工ミニレートすることの可能なデ
ータ処理システムを提供することである。
いるデータ処理システムにおいて設計によつてではなく
選択により工ミニレート出来ない1つの特徴点は工ミニ
レートされた中央プロセサのマシン持ち状態である。こ
の持ち状態(WaitingState)においてはこ
のプロセサ、すなわち工ミニレートされたデータプロセ
サは機能せずに、その持ち状態から出て再び命令の実行
を続行出来るような事象(Event)の発生を待つの
である。従つて、工ミニレートされるデータプロセサの
そのような持ち状態に関連してマシーンが持ち状態にあ
る間には処理が続行せず従つてかなりの実行時間が失わ
れるという大きなオーバヘツドがある。さらに、オペレ
ータはこの条件につ 4いての情報は与えられないから
オペレータがそのような持ち条件の存在を発見するまで
にかなりの時間が無駄になる。かくして持ち条件を有す
る中央プロセサを工ミニレートする場合は設計により持
ち状態のシミユレーシヨン(この間に工ミニレートする
中央プロセサに関連したネーテイフモードで命令の処理
が可能である)をすることが望ましい。かくして、工ミ
ニレートされる中央プロセサが持ち状態にあるときでも
、そのプロセサの持ち条件をオペレータに周期的に知ら
せ続けると共にネイテイブモードで処理を続行出来るよ
うにすることが望ましい。(3)発明の目的 従つて本発明の一つの目的は、持ち条件に関連したオー
バヘツドの問題が実質的に解決されると共にオペレータ
がそのような条件についての情報を連続的に受けること
ができるようにされるために、そのような持ち条件を有
するデータプロセサを工ミニレートすることの可能なデ
ータ処理システムを提供することである。
(4)発明の概要
本発明のそのような目的はネイテイブモードで命令を実
行するための中央処理ユニツトと、その他の中央処理ユ
ニツトの動作が工ミニレートされるように非ネイテイブ
モードで命令を実行するように上記中央処理ユニツトに
結合されるエミユレーシヨンユニツトとを有するデータ
処理システムを提供することにより満足される。
行するための中央処理ユニツトと、その他の中央処理ユ
ニツトの動作が工ミニレートされるように非ネイテイブ
モードで命令を実行するように上記中央処理ユニツトに
結合されるエミユレーシヨンユニツトとを有するデータ
処理システムを提供することにより満足される。
このシステムはさらに工ミニレートされた中央プロセサ
が持ち状態にあるか否かを検出してそれ以上の処理を禁
止する装置と、ペンデイング(Pending)の可能
なインタラプトがあるかどうかを表示する装置と、その
ようなペンデイングの可能なインタラプトが工ミニレー
タの特性であるなら、すなわちそのようなインタラプト
が工ミニレータに付随しなければならぬような事象に関
係するならば、非ネイテイプモードでの工ミニレータの
処理を続行するためこの持ち状態から出るための装置と
を含んでいる。さらに工ミニレートされたプロセサが持
ち状態にある間に、工ミニレートするプロセサのネイテ
イブモードでのデータ処理を可能とするための装置が設
けられる。更に、持ち状態の続く時間をモニタし、特定
の時間間隔でその持ち条件をオペレータに知らせこのシ
ステムの非生産的な状況を回避するための装置が設けら
れる。(5)好適な実施例の説明 本発明はハードウエア/7アームウエア/ソフトウエア
オペレーテイング・システムにより統合される、後述
するハードウエアシステム環境において一般に動作する
。
が持ち状態にあるか否かを検出してそれ以上の処理を禁
止する装置と、ペンデイング(Pending)の可能
なインタラプトがあるかどうかを表示する装置と、その
ようなペンデイングの可能なインタラプトが工ミニレー
タの特性であるなら、すなわちそのようなインタラプト
が工ミニレータに付随しなければならぬような事象に関
係するならば、非ネイテイプモードでの工ミニレータの
処理を続行するためこの持ち状態から出るための装置と
を含んでいる。さらに工ミニレートされたプロセサが持
ち状態にある間に、工ミニレートするプロセサのネイテ
イブモードでのデータ処理を可能とするための装置が設
けられる。更に、持ち状態の続く時間をモニタし、特定
の時間間隔でその持ち条件をオペレータに知らせこのシ
ステムの非生産的な状況を回避するための装置が設けら
れる。(5)好適な実施例の説明 本発明はハードウエア/7アームウエア/ソフトウエア
オペレーテイング・システムにより統合される、後述
するハードウエアシステム環境において一般に動作する
。
第1図にお℃・て、サブシステムはプロセササブシステ
ム101、記憶(ストレージ)サブシステム102およ
び1つ以上(32まで)の周辺サブシステム103から
なる。プロセササブシステム101は中央処理ユニツト
(以下CPUと記す)104と4個までの入力/出力制
御ユニツト(IOC)105を含む。各周辺サブシステ
ムは周辺制御ユニツト(以下PCUと記す)106と、
多数のデバイスアダプタ(以下DAと記す)107と、
256個までの周辺入力/出力装置108(以下1/O
装置と記す)とからなる。記憶サブシステム102は1
〜4個の半導体メモリモジユール(各32〜512キロ
バイト)からなる。1.プロセササブシステム プロセササブシステム101においてCPUlO4はこ
のシステムの基本的処理動作を行うと共にメモリ102
との間にインターフエースをつくる。
ム101、記憶(ストレージ)サブシステム102およ
び1つ以上(32まで)の周辺サブシステム103から
なる。プロセササブシステム101は中央処理ユニツト
(以下CPUと記す)104と4個までの入力/出力制
御ユニツト(IOC)105を含む。各周辺サブシステ
ムは周辺制御ユニツト(以下PCUと記す)106と、
多数のデバイスアダプタ(以下DAと記す)107と、
256個までの周辺入力/出力装置108(以下1/O
装置と記す)とからなる。記憶サブシステム102は1
〜4個の半導体メモリモジユール(各32〜512キロ
バイト)からなる。1.プロセササブシステム プロセササブシステム101においてCPUlO4はこ
のシステムの基本的処理動作を行うと共にメモリ102
との間にインターフエースをつくる。
IOClO5は記憶サブシステム102と周辺装置10
6の間のすべての情報交換を制御する。A.中央処理ユ
ニツト CPUは主メモリシンクロナイザ109と、バッフア記
憶装置110と、計算ユニツト111を含む種々のエレ
メントと、エミユレーシヨン装置112とを含んでいる
。
6の間のすべての情報交換を制御する。A.中央処理ユ
ニツト CPUは主メモリシンクロナイザ109と、バッフア記
憶装置110と、計算ユニツト111を含む種々のエレ
メントと、エミユレーシヨン装置112とを含んでいる
。
主メモリシンクロナイザ109は計算ユニツト111.
バツフア記憶装置110および 10C109の間での主メモリの使用についての競合を
解決する。
バツフア記憶装置110および 10C109の間での主メモリの使用についての競合を
解決する。
これらの競合は優先順位にもとづき解決される。IOC
は最も高い優先順位を有し、その次が(計算ユニツトか
らの)メモリ書込みであり続いて(バッフア記憶装置へ
の)メモリ読取りとなる。また主CpUは、主メモリの
アドレスづけを制御するアドレス制御ユニツトACUl
3lと、主メモリにおいて最も最近に使用されたアドレ
スを記憶するための連想メモリASl32とを含んでい
る。バッフア記憶装置110は、小型の高速バツフアメ
モリであつ主メモリにおける一つの選ばれた領域を再生
し平均メモリアクセス時間を短くするため計算ユニツト
とインターフエースする。メモリ読取りの各ノ期間にこ
れらバツフア記憶装置と主メモリの両方がアクセスされ
る。
は最も高い優先順位を有し、その次が(計算ユニツトか
らの)メモリ書込みであり続いて(バッフア記憶装置へ
の)メモリ読取りとなる。また主CpUは、主メモリの
アドレスづけを制御するアドレス制御ユニツトACUl
3lと、主メモリにおいて最も最近に使用されたアドレ
スを記憶するための連想メモリASl32とを含んでい
る。バッフア記憶装置110は、小型の高速バツフアメ
モリであつ主メモリにおける一つの選ばれた領域を再生
し平均メモリアクセス時間を短くするため計算ユニツト
とインターフエースする。メモリ読取りの各ノ期間にこ
れらバツフア記憶装置と主メモリの両方がアクセスされ
る。
取出されるべき、すなわちフエツチされるべき情報がす
でにバツフア記憶装置内にあるならば主メモリの読取り
は終了し、その情報がバツフア記憶装置からフエツチさ
れる。他の場合には主メモリ102が読取られる。
でにバツフア記憶装置内にあるならば主メモリの読取り
は終了し、その情報がバツフア記憶装置からフエツチさ
れる。他の場合には主メモリ102が読取られる。
そのたびごとにCPUlO4は所望の情報を含む32バ
イトをフエツチする。この情報は将来のメモリ参照のた
めバッフア記憶装置に維持される。このバツフア記憶装
置はソフトウエアには見えないから、計算機を特定の時
点で制御するプログラムは、処理されている情報がバツ
フア記憶装置からフエツチされたかあるいは主メモリか
らフエツチされたかを決定することは出来ない〜 計算ユニツト111はCPU内でのすべてのデータ処理
用のアドレス生成を行う。
イトをフエツチする。この情報は将来のメモリ参照のた
めバッフア記憶装置に維持される。このバツフア記憶装
置はソフトウエアには見えないから、計算機を特定の時
点で制御するプログラムは、処理されている情報がバツ
フア記憶装置からフエツチされたかあるいは主メモリか
らフエツチされたかを決定することは出来ない〜 計算ユニツト111はCPU内でのすべてのデータ処理
用のアドレス生成を行う。
この計算ユニツト内の一つの典型的な制御記憶装置13
0([マイクロプログラミング:原理と実際(Micr
OprOgramming:Principlesan
dPractices)」プレンテイスホール(Pre
nticeHall)社刊を参照されたい)はこのシス
テムを初期化し、CPUlO4と10C105を制御し
命令セツト(図示せず)をデコードするフアームウエア
を含んでいる。この制御記憶装置は科学計算命令、テス
トルーチン、エミユレーシヨンパツケージ、またはこの
プロセササブシステムの機能を拡張する特定の目的のた
めの特徴をオプシヨンとして与えることが出来る。一つ
のオプシヨンとして、このCPUは本システム以外のシ
ステムのエミユレーシヨンを与える。
0([マイクロプログラミング:原理と実際(Micr
OprOgramming:Principlesan
dPractices)」プレンテイスホール(Pre
nticeHall)社刊を参照されたい)はこのシス
テムを初期化し、CPUlO4と10C105を制御し
命令セツト(図示せず)をデコードするフアームウエア
を含んでいる。この制御記憶装置は科学計算命令、テス
トルーチン、エミユレーシヨンパツケージ、またはこの
プロセササブシステムの機能を拡張する特定の目的のた
めの特徴をオプシヨンとして与えることが出来る。一つ
のオプシヨンとして、このCPUは本システム以外のシ
ステムのエミユレーシヨンを与える。
工ミニレータ112はフアームウエア、ソフトウエア、
そして場合によつてはハードウエアの構成要素である。
B.入力ー出力制御ユニツト このプロセササブシステムのIOClO5の部分は周辺
サブシステム103と記憶サブシステム102の間のデ
ータ径路を与える。
そして場合によつてはハードウエアの構成要素である。
B.入力ー出力制御ユニツト このプロセササブシステムのIOClO5の部分は周辺
サブシステム103と記憶サブシステム102の間のデ
ータ径路を与える。
このデータ径路は周辺コマンドの開始を可能にすると共
にその結果生じるデータ転送を制御する。一つのIOC
は一般には32個までのチャンネル制御ユニツト(図示
せず)を扱うことが出来る。C.周辺サブシステム 第1図の周辺サブシステム103においては、PCUl
O6は、I/0動作中にI/0装置108を制御するこ
とによりCPUlO4のロードを解放するスタンドアロ
ンのマイクロプログラミングプロセサである。
にその結果生じるデータ転送を制御する。一つのIOC
は一般には32個までのチャンネル制御ユニツト(図示
せず)を扱うことが出来る。C.周辺サブシステム 第1図の周辺サブシステム103においては、PCUl
O6は、I/0動作中にI/0装置108を制御するこ
とによりCPUlO4のロードを解放するスタンドアロ
ンのマイクロプログラミングプロセサである。
このPCUはチヤンネルプログラムに含まれる命令を実
行することによりこれを行う。このプログラムはPCU
内で算術演算、論理演算、転送操作、シフト操作および
分岐操作を行わせる。PCUには夫々が制御する装置の
種類に対応して幾つかの種類がある。すなわち、ユニツ
トレコード、大容量(デイスク)記憶、磁気テープ、通
信等の装置に応じて数種のPCUがある。
行することによりこれを行う。このプログラムはPCU
内で算術演算、論理演算、転送操作、シフト操作および
分岐操作を行わせる。PCUには夫々が制御する装置の
種類に対応して幾つかの種類がある。すなわち、ユニツ
トレコード、大容量(デイスク)記憶、磁気テープ、通
信等の装置に応じて数種のPCUがある。
デバイスアダプタDAlO7は夫々の
PCUとそれが制御する装置との仲介をする。
各デバイスアダプタは特定のタイプの装置との通信を行
うために必要なフアームウエアと Cロジツクを含んで
いる。その特定のタイプに対応してDAlO7は1個ま
たは数個の装置を制御する。周辺サブシステム103の
主な機能は次の通りである。
うために必要なフアームウエアと Cロジツクを含んで
いる。その特定のタイプに対応してDAlO7は1個ま
たは数個の装置を制御する。周辺サブシステム103の
主な機能は次の通りである。
う1.CPU命令
を、適当な周辺装置が受取ることの出来る一連のコマン
ドに変換すること。
を、適当な周辺装置が受取ることの出来る一連のコマン
ドに変換すること。
2.CPUまたは適当な周辺装置に必要な形でデータを
パツクしたりアンパツクしたりすること。
パツクしたりアンパツクしたりすること。
3.サブシステムのステータスとそのサブシステムの制
御下の装置のステータについてCPUに知らせつづける
こと。
御下の装置のステータについてCPUに知らせつづける
こと。
4.独立してエラー処理手続および回復手続 5を開始
し処理すること。
し処理すること。
5.関連した周辺プロセサのデバイス・シエアリング機
能を妨げることなく装置のオンライン診断を可能にする
こと。
能を妨げることなく装置のオンライン診断を可能にする
こと。
PCUは主メモリに付随する装置間の主メ ・モリに関
する競合を解決するが、IOCはPCU間の競合を解決
する。
する競合を解決するが、IOCはPCU間の競合を解決
する。
D.記憶サブシステム
各メモリモジユール1−4は4または8バイトの幅を有
する。
する。
モジユールの数、その大きさおよびデータ路の幅は計算
機の大きさによりきまる。メモリモジユールは、4個の
モジユールが順次アクセスされるように(すなわちモジ
ユール1は第一番目の8バイト、モジユール2は第二番
目の8バイトを含む等の)ように4ウェイインターリー
フされる。すなわち平均メモリアクセス時間を短くする
ためメモリモジユールを順次的にアクセスする。このイ
ンターリーフは主メモリへのアクセスについての競合の
数を減少させ、これにより平均メモリアクセスタイムを
減少させる。メモリは万一故障しても再構成出来る。す
なわち一つのモジユール内のメモリプロツクは連続的な
アドレスづけを破壊することなく除去出来る。主メモリ
102は金属酸化物半導体(MOS)チツプの形をした
容量性記憶媒体からなる。
機の大きさによりきまる。メモリモジユールは、4個の
モジユールが順次アクセスされるように(すなわちモジ
ユール1は第一番目の8バイト、モジユール2は第二番
目の8バイトを含む等の)ように4ウェイインターリー
フされる。すなわち平均メモリアクセス時間を短くする
ためメモリモジユールを順次的にアクセスする。このイ
ンターリーフは主メモリへのアクセスについての競合の
数を減少させ、これにより平均メモリアクセスタイムを
減少させる。メモリは万一故障しても再構成出来る。す
なわち一つのモジユール内のメモリプロツクは連続的な
アドレスづけを破壊することなく除去出来る。主メモリ
102は金属酸化物半導体(MOS)チツプの形をした
容量性記憶媒体からなる。
この媒体はリフレツシユの原理により動作して情報を保
存する。各記憶場所は一般に2ミリ秒に少なくとも1回
リフレツシユされ、そのように設計されることによりリ
フレッシユのタイミングとメモリアクセスとの間には殆
んど競合が生じない。(競合する場合にはリフレツシユ
の方が優先となる)。主メモリの始めのエリアはハード
ウエアとフアームウエア用に予約される。
存する。各記憶場所は一般に2ミリ秒に少なくとも1回
リフレツシユされ、そのように設計されることによりリ
フレッシユのタイミングとメモリアクセスとの間には殆
んど競合が生じない。(競合する場合にはリフレツシユ
の方が優先となる)。主メモリの始めのエリアはハード
ウエアとフアームウエア用に予約される。
このエリアの上限はシステムソフトウエアから見える境
界アドレスレジスタ(後述するBAR)の内容によつて
決められる。BARの内容はシステムの開始時点にセツ
トされる。BAR内において特定されるアドレスより下
のメモリエリアは、周辺サブシステムの構成、CPUを
制御するためのフアームウエア、またはマイクロプログ
ラムを定義するIOCテーブル及びエミユレーシヨン用
のテーブルを含む。BARにおいて特定されるアドレス
より下のエリアの大きさはシステム構成によりきまる。
界アドレスレジスタ(後述するBAR)の内容によつて
決められる。BARの内容はシステムの開始時点にセツ
トされる。BAR内において特定されるアドレスより下
のメモリエリアは、周辺サブシステムの構成、CPUを
制御するためのフアームウエア、またはマイクロプログ
ラムを定義するIOCテーブル及びエミユレーシヨン用
のテーブルを含む。BARにおいて特定されるアドレス
より下のエリアの大きさはシステム構成によりきまる。
マイクロプログラムが主メモリにあるか制御記憶装置に
あるかはこのシステム構成とシステムにおいて実行され
るアプリケーシヨンとによりきます。基本構成 このハードウエアに利用される基本データ構造は一般に
三つである。
あるかはこのシステム構成とシステムにおいて実行され
るアプリケーシヨンとによりきます。基本構成 このハードウエアに利用される基本データ構造は一般に
三つである。
すなわち、データ形式、ソフトウエアにおいて検出可能
なレジスタおよび命令形式である。A.データ形式 情報は多数の8個の並列ビットでメモリと 3CPUの
間で転送される。
なレジスタおよび命令形式である。A.データ形式 情報は多数の8個の並列ビットでメモリと 3CPUの
間で転送される。
8ビツトを単位とする情報をバイトと呼ぶ。
パリテイ即ち誤り訂正データもデータと共に転送される
が、ソフトウエアによつては影響されない。それ故、本
明細書においては用語[データ」は、関連 1するパリ
テイまたは誤り訂正データを含まない。B.バイト 1バイト中のビットは左から右にO−7で番号づける。
が、ソフトウエアによつては影響されない。それ故、本
明細書においては用語[データ」は、関連 1するパリ
テイまたは誤り訂正データを含まない。B.バイト 1バイト中のビットは左から右にO−7で番号づける。
バイトは個々にまたはグループ 1として処理される。
2バイトが半語を、4バイトが1語を、8バイトが倍長
語を、16バイトが4倍長語を構成する。
2バイトが半語を、4バイトが1語を、8バイトが倍長
語を、16バイトが4倍長語を構成する。
これらは、命令を含むすべてのデータに関する基本形成
である。C.データ表示 すべてのデータは2進形式であるが、2進、10進また
は英数字として解釈される。
である。C.データ表示 すべてのデータは2進形式であるが、2進、10進また
は英数字として解釈される。
データビットは4個をグループとして2進化10進デー
タとして解釈され、8個をグループと 〉して英数字、
16〜64個をグループとして2進数字として解釈され
る。後者は2進の、符号をもつた、固定小数点あるいは
浮動小数点の数として解釈される。倍長語までの任意の
数の連続ビツトをストリングとして操作出 J来る。セ
ツトされた英数字はEBCDICで表示される。ASC
IIは代替の交換コードとしてサポートされる。D.バ
イトアドレス 主メモリ内のバイトロケーシヨンには0からはじまる連
続的な番号がつけられるが、それら各番号がそのバイト
のアドレスである。
タとして解釈され、8個をグループと 〉して英数字、
16〜64個をグループとして2進数字として解釈され
る。後者は2進の、符号をもつた、固定小数点あるいは
浮動小数点の数として解釈される。倍長語までの任意の
数の連続ビツトをストリングとして操作出 J来る。セ
ツトされた英数字はEBCDICで表示される。ASC
IIは代替の交換コードとしてサポートされる。D.バ
イトアドレス 主メモリ内のバイトロケーシヨンには0からはじまる連
続的な番号がつけられるが、それら各番号がそのバイト
のアドレスである。
一群の連続バイトは一つの群内の左のバイトのアドレス
が夫々2、4、8または16の倍数であるとき半語整列
、語整列、倍長語整列または4倍長語整列と呼ばれる。
半語、語、倍長語または4倍長語がそのように整列され
ればそのユニツトはそのアドレスからフエツチされうる
。
が夫々2、4、8または16の倍数であるとき半語整列
、語整列、倍長語整列または4倍長語整列と呼ばれる。
半語、語、倍長語または4倍長語がそのように整列され
ればそのユニツトはそのアドレスからフエツチされうる
。
主メモリ内のデ一夕のロケーシヨンはアドレス展開中に
間接的にアクセスされるゼータ記述子により特定される
。E.ビジブルレジスタ(Visibleregist
er)第1図のCPUlO4内にはユーザーから見える
33個のレジスタがあり、その内容は全体としてCPU
の状態を規定する。
間接的にアクセスされるゼータ記述子により特定される
。E.ビジブルレジスタ(Visibleregist
er)第1図のCPUlO4内にはユーザーから見える
33個のレジスタがあり、その内容は全体としてCPU
の状態を規定する。
次の四つのタイプがある(第2図参照)
1.汎用レジスタ
2.基準レジスタ
3.科学計算レジスタ(これはオプシヨン)4,雑用レ
ジスタF.汎用レジスタ 汎用レジスタ(GR)201は固定小数点2進数とビツ
ト・ストリングを操作するために用いられる。
ジスタF.汎用レジスタ 汎用レジスタ(GR)201は固定小数点2進数とビツ
ト・ストリングを操作するために用いられる。
CPUlO4には一般に16個の32ビツト汎用レジス
タGRO〜GRl5がある。
タGRO〜GRl5がある。
汎用レジスタGR8〜GRl5はインデツクスレジスタ
としても用いられる。インデックスレジスタとして用い
られるときにはこれらはXO−X7で示される。インデ
ツクシングは一つのレジスタに含まれる32ビツトの2
の補数を用いて行われる。G.基準レジスタ 基準レジスタ(BR)は命令カウンタICとスタツクレ
ジスタ202〜203と同じ形式を有する。
としても用いられる。インデックスレジスタとして用い
られるときにはこれらはXO−X7で示される。インデ
ツクシングは一つのレジスタに含まれる32ビツトの2
の補数を用いて行われる。G.基準レジスタ 基準レジスタ(BR)は命令カウンタICとスタツクレ
ジスタ202〜203と同じ形式を有する。
基準レジスタはメモリの一部を規定するためにアドレス
計算中に用いられる。一般に8個の32ビツト基準レジ
スタBRO・・・・・・・・・BR7がある。H.科学
計算レジスタ 科学計算レジスタ(SR)は浮動小数点2進数での計算
のためのオプシヨンの装置である。
計算中に用いられる。一般に8個の32ビツト基準レジ
スタBRO・・・・・・・・・BR7がある。H.科学
計算レジスタ 科学計算レジスタ(SR)は浮動小数点2進数での計算
のためのオプシヨンの装置である。
一般に4個の8バイト科学計算レジスタ
SRO〜SR3である。
これらレジスタは第2図の形式204〜205を有する
。1.雑用レジスタ 他に5個のレジスタがある。
。1.雑用レジスタ 他に5個のレジスタがある。
1.命令カウンタ(形式202−203を有する)2.
ステータスレジスタ(形式207を有する)3.スタッ
クレジスタ(Tレジスタと称す)4.境界アドレスレジ
スタ(形式202203を有する) 5.・・−トウエア制御マスクレジスタ(形式208を
有する)命令カウンタ(IC)は実行されている命令の
アドレスを含む32ビットレジスタである。
ステータスレジスタ(形式207を有する)3.スタッ
クレジスタ(Tレジスタと称す)4.境界アドレスレジ
スタ(形式202203を有する) 5.・・−トウエア制御マスクレジスタ(形式208を
有する)命令カウンタ(IC)は実行されている命令の
アドレスを含む32ビットレジスタである。
ステータスレジスタ(STR)207は現在実行されて
いる処理についての事実、例えば最も近い時点の演算で
アンダーフローが生じたかどうか、を記録する8ビツト
レジスタである。スタックレジスタはTレジスタと呼ば
れそして現在行われている処理に関連したプッシユダウ
ンスタックのトツプに対するポインタを含む32ビット
レジスタである。次に述べるスタツクはワークスペース
および、局所変数を退避しそして処理のエントリおよび
復帰情報を保存するためのメカニズムを与える。境界ア
ドレスレジスタ(BAR)206はソフトウエアにより
アクセスしうる最下位の絶対主メモリアドレスを特定す
る −28ビツトレジスタである。
いる処理についての事実、例えば最も近い時点の演算で
アンダーフローが生じたかどうか、を記録する8ビツト
レジスタである。スタックレジスタはTレジスタと呼ば
れそして現在行われている処理に関連したプッシユダウ
ンスタックのトツプに対するポインタを含む32ビット
レジスタである。次に述べるスタツクはワークスペース
および、局所変数を退避しそして処理のエントリおよび
復帰情報を保存するためのメカニズムを与える。境界ア
ドレスレジスタ(BAR)206はソフトウエアにより
アクセスしうる最下位の絶対主メモリアドレスを特定す
る −28ビツトレジスタである。
このレジスタはシステム初期化中にロードされそしてソ
フトウエアによつてのみ読取られうる。一・−トウエア
制御マスクレジスタ208は計算機の状態の情報を記録
する8ビツトレジスタである。二J.命令形式約200
の命令があるがその数は増減しうる。
フトウエアによつてのみ読取られうる。一・−トウエア
制御マスクレジスタ208は計算機の状態の情報を記録
する8ビツトレジスタである。二J.命令形式約200
の命令があるがその数は増減しうる。
夫々の命令は四つの異つた長さの内の一つであつて常に
偶数バイト長をとる。命令は連続する記憶位置に記憶さ
れる。最も左のバ .′イトのアドレスは2の倍数であ
つてその命令のアドレスである。一つの命令の土位8桁
のビット(そしてある場合にはビット8−11または1
2−15)は命令コードであり、残りのビットは一以上
Jのオペランドを表わす。
偶数バイト長をとる。命令は連続する記憶位置に記憶さ
れる。最も左のバ .′イトのアドレスは2の倍数であ
つてその命令のアドレスである。一つの命令の土位8桁
のビット(そしてある場合にはビット8−11または1
2−15)は命令コードであり、残りのビットは一以上
Jのオペランドを表わす。
一つのオペランドはレジスタデジグネータ(Regis
terdesignatOr)、デイスプレースメント
デジグネータ(Displacementdesign
atOr)、アドレスシラブル(Addresssyl
Iable:論理アドレス)、くリテラル値(11te
ra1va1ue)、即時リテラル値(Immedia
teliterulvalue)、でありうる。
terdesignatOr)、デイスプレースメント
デジグネータ(Displacementdesign
atOr)、アドレスシラブル(Addresssyl
Iable:論理アドレス)、くリテラル値(11te
ra1va1ue)、即時リテラル値(Immedia
teliterulvalue)、でありうる。
オペランドのタイプと数は命令の形式によりきまる。1
1.システム構成 A.ジヨブステツプおよびタスク 計算機システムにより行われるべき作業はジヨプ制御言
語(JObcOntrOllanguage)を介して
一連のジヨブステツプ(JObstep)により外部よ
り決められる。
1.システム構成 A.ジヨブステツプおよびタスク 計算機システムにより行われるべき作業はジヨプ制御言
語(JObcOntrOllanguage)を介して
一連のジヨブステツプ(JObstep)により外部よ
り決められる。
一つのジヨブステツプは、ハードウエア資源が割当でら
れる、作業の一単位である。一般には一つのジヨブステ
ツプは数個のタスク(Task)からなる。一つのタス
クは、並列的でなく実行される命令のストリームからな
るユーザーが規定する作業の最小単位である。B.プロ
セス ユーザから見えるタスクおよびジヨブステツプの概念は
プロセスおよびプロセスグループによりハードウエアに
おいて夫々表わされる。
れる、作業の一単位である。一般には一つのジヨブステ
ツプは数個のタスク(Task)からなる。一つのタス
クは、並列的でなく実行される命令のストリームからな
るユーザーが規定する作業の最小単位である。B.プロ
セス ユーザから見えるタスクおよびジヨブステツプの概念は
プロセスおよびプロセスグループによりハードウエアに
おいて夫々表わされる。
一つのプロセスはCPUにより非同期的に実行されうる
として規定される(すなわち、数プロセスが起動されて
資源を共用することが出来るが、実際には如何なる時で
も一つのプロセスのみがその瞬間において実行されてい
る。)プロセスグループは一つのジヨブステツプを行う
に必要な関連した一組のプロセスである。C.プロセス
制御ブロツクおよびシステムベースプロセスはそれらの
実行中に種々の時点でCPU制御をやめることが出来る
から、主メモリ内の記憶領域はCPUのステータスを退
避するためのプロセスに使用されうる。
として規定される(すなわち、数プロセスが起動されて
資源を共用することが出来るが、実際には如何なる時で
も一つのプロセスのみがその瞬間において実行されてい
る。)プロセスグループは一つのジヨブステツプを行う
に必要な関連した一組のプロセスである。C.プロセス
制御ブロツクおよびシステムベースプロセスはそれらの
実行中に種々の時点でCPU制御をやめることが出来る
から、主メモリ内の記憶領域はCPUのステータスを退
避するためのプロセスに使用されうる。
このステータス情報は一つのプロセスがCPUの制御を
再び得る前にCPUを予め条件づけるために利用される
。一つのプロセスに割当てられる記憶領域は第4図では
プロセス制御プロツク(PCB)400と呼ばれる。
再び得る前にCPUを予め条件づけるために利用される
。一つのプロセスに割当てられる記憶領域は第4図では
プロセス制御プロツク(PCB)400と呼ばれる。
一つのPCBに含まれるデータはそのプロセスに割当て
られたメモリエリアのアドレス(アドレス空間)、すべ
ての関連するレジスタの内容、そのプロセスの状態を含
む。かくしてPCBは情報の損失なしに一つのプロセス
を始動させあるいは再始動させるに必要な情報に対する
一時的記憶領域として作用する。各PCBはハードウエ
アから見え、システム初期化の間に作成されてシステム
動作中に変更される一組のハードウエアテーブルを介し
てオペレーテイングシステムによりアドレスづけされう
る(第5図)。一つの絶対主メモリエリアがありこれは
システムベースと呼ばれる(第5,6図)。
られたメモリエリアのアドレス(アドレス空間)、すべ
ての関連するレジスタの内容、そのプロセスの状態を含
む。かくしてPCBは情報の損失なしに一つのプロセス
を始動させあるいは再始動させるに必要な情報に対する
一時的記憶領域として作用する。各PCBはハードウエ
アから見え、システム初期化の間に作成されてシステム
動作中に変更される一組のハードウエアテーブルを介し
てオペレーテイングシステムによりアドレスづけされう
る(第5図)。一つの絶対主メモリエリアがありこれは
システムベースと呼ばれる(第5,6図)。
このエリアは7アームウエアで発生されそして読取は出
来るが書込みの出来ない基底アドレスレジスタ(BAR
)501を介してアクセス出来る。このシステムベース
502はそのとき行われているプロセスについて夫々ジ
ヨブステツプ番号とプロセスグループ番号(JlP)を
含む多数のシヌテム属性を含む。このシステムベースに
おけるもう一つの属性は、Jテーブル503として知ら
れハードウエアにより規定されるデータ構造に対するポ
インタである。このテーブルはそのときシステム内にあ
るすべてのジヨブステップについてのエントリを含む。
Jテーブル503における各エントリは、同じくハード
ウエアで規定されるデータ構造である関連したPテーブ
ル504を指す。
来るが書込みの出来ない基底アドレスレジスタ(BAR
)501を介してアクセス出来る。このシステムベース
502はそのとき行われているプロセスについて夫々ジ
ヨブステツプ番号とプロセスグループ番号(JlP)を
含む多数のシヌテム属性を含む。このシステムベースに
おけるもう一つの属性は、Jテーブル503として知ら
れハードウエアにより規定されるデータ構造に対するポ
インタである。このテーブルはそのときシステム内にあ
るすべてのジヨブステップについてのエントリを含む。
Jテーブル503における各エントリは、同じくハード
ウエアで規定されるデータ構造である関連したPテーブ
ル504を指す。
このテーブルはプロセスグループを定義し、そのプロセ
スグループ内のすべてのプロセスについてのエントリを
含んでいる。各PテーブルエントリはPCB4OOを指
す。第5図を参照すると、計算ユニツト111(第1図
)の算術演算部506を介してJ番号により指標づけさ
れるJテーブルポインタ505は、Jテーブルエントリ
503へのア゛クセスを与える。
スグループ内のすべてのプロセスについてのエントリを
含んでいる。各PテーブルエントリはPCB4OOを指
す。第5図を参照すると、計算ユニツト111(第1図
)の算術演算部506を介してJ番号により指標づけさ
れるJテーブルポインタ505は、Jテーブルエントリ
503へのア゛クセスを与える。
このエントリは、Pテーブルポインタを含み、このPテ
ーブルポインタは、計算ユニツト506を介してP番号
によリインデクシングされる時Pテーブルエントリ50
4へのアクセスを与える。このPテーブルエントリは現
在実行されているプロセスのPCBへのポインタ507
を含む。かくしてこのオペレーテイングシステムは、B
AR5Olの内容を使用しているアクテイブなPCBを
アクセス出来,関連した(J.P)論理名を与えられた
他のPCBをアクセス出来る。
ーブルポインタは、計算ユニツト506を介してP番号
によリインデクシングされる時Pテーブルエントリ50
4へのアクセスを与える。このPテーブルエントリは現
在実行されているプロセスのPCBへのポインタ507
を含む。かくしてこのオペレーテイングシステムは、B
AR5Olの内容を使用しているアクテイブなPCBを
アクセス出来,関連した(J.P)論理名を与えられた
他のPCBをアクセス出来る。
D.メモリセグメンテーシヨン
ここに述べるように、多重処理を行う環境においてほ任
意の時点においてメモリ内に多くのプロセスがある。
意の時点においてメモリ内に多くのプロセスがある。
これらプロセスはサイズが様々であり、メモリを要求す
ると記憶割当の問題が生じる。オペレーシヨンシステム
に関連して説明する・・−トウエア(図示せず)は記憶
空間の動的な割当てによりこの問題を解決する。ランダ
ムなメモリ要求によりメモリは大きさの可変なセグメン
トとして割当てられ、そのメモリ割当てはプロセス実行
時間中に再構成されうる。かくして、一つのプロセスに
は多数の不連続なメモリセグメントが割当てられる。こ
のメモリ割当て方法をセグメンテーシヨンという。セグ
メンテーシヨンは、一つのプロセスの一部または全部が
再配置されるときにメモリアドレスが変更されねばなら
ぬという別の問題を生じさせる。
ると記憶割当の問題が生じる。オペレーシヨンシステム
に関連して説明する・・−トウエア(図示せず)は記憶
空間の動的な割当てによりこの問題を解決する。ランダ
ムなメモリ要求によりメモリは大きさの可変なセグメン
トとして割当てられ、そのメモリ割当てはプロセス実行
時間中に再構成されうる。かくして、一つのプロセスに
は多数の不連続なメモリセグメントが割当てられる。こ
のメモリ割当て方法をセグメンテーシヨンという。セグ
メンテーシヨンは、一つのプロセスの一部または全部が
再配置されるときにメモリアドレスが変更されねばなら
ぬという別の問題を生じさせる。
この問題を解決するために、ここに述べるシステムは一
つのプロセスにより用いられるアドレスが絶対主メモリ
アドレスではなく論理アドレスとなるような技術を提供
する。これら論理゛アドレスは絶対アドレスを展開する
ために用いられる。また、セグメンテーシヨンは、各プ
ロセスがセグメント記述子のシステムを介してそれ自体
のあるいは関連したメモリセグメントをアクセスするこ
とを可能にする。
つのプロセスにより用いられるアドレスが絶対主メモリ
アドレスではなく論理アドレスとなるような技術を提供
する。これら論理゛アドレスは絶対アドレスを展開する
ために用いられる。また、セグメンテーシヨンは、各プ
ロセスがセグメント記述子のシステムを介してそれ自体
のあるいは関連したメモリセグメントをアクセスするこ
とを可能にする。
セグメント記述子をアクセスすることにより、一つのプ
ロセスは一つのセグメントのアドレスを得ることが出来
る。セグメント記述子は主メモリに含まれそしてこのオ
ペレーテイングシステムにより維持される。各プロセス
は2068までのメモリセグメントをアクセス出来る。
ロセスは一つのセグメントのアドレスを得ることが出来
る。セグメント記述子は主メモリに含まれそしてこのオ
ペレーテイングシステムにより維持される。各プロセス
は2068までのメモリセグメントをアクセス出来る。
このため通常は1つのプロセス当り同じ数のセグメント
記述子を必要とするであろう。しかしながら、セグメン
トを共用することが出来るから、このオペレーシヨンシ
ステムはセグメント記述子をセグメントテーブルにまと
めることができる。このグループ化は一つのプロセス(
タスク)若しくはプロセスグループ(ジヨブ・ステップ
)によるアクセス、またはグローバル(システム・ワイ
ド)なアクセスの可能性にもとづくものである。各プロ
セスはそれに関連する15個のセグメント・テーブルま
でもつことが出来る。この技術によれば一つのセグメン
ト.テーブルを介して一つのプロセスがアクセス出来る
各セグメントについてセグメント記述子は一つでよい。
かくして、セグメント記述子に必要なメモリスペースが
減少し、再配置中のメモリ更新も減少して、或る種のプ
ログラム保護が与えられる。一つのプロセスは、どのセ
グメントをアクセスしうるかを決定出来ねばならない。
記述子を必要とするであろう。しかしながら、セグメン
トを共用することが出来るから、このオペレーシヨンシ
ステムはセグメント記述子をセグメントテーブルにまと
めることができる。このグループ化は一つのプロセス(
タスク)若しくはプロセスグループ(ジヨブ・ステップ
)によるアクセス、またはグローバル(システム・ワイ
ド)なアクセスの可能性にもとづくものである。各プロ
セスはそれに関連する15個のセグメント・テーブルま
でもつことが出来る。この技術によれば一つのセグメン
ト.テーブルを介して一つのプロセスがアクセス出来る
各セグメントについてセグメント記述子は一つでよい。
かくして、セグメント記述子に必要なメモリスペースが
減少し、再配置中のメモリ更新も減少して、或る種のプ
ログラム保護が与えられる。一つのプロセスは、どのセ
グメントをアクセスしうるかを決定出来ねばならない。
従つて、このシステムは2つのセグメント・テーブル・
ワード・アレイ(STWA)を用いるプロセスを与える
。これらアレイは一つのプロセスにアクセス出来るすべ
てのセグメント・テーブルのアドレスを含む。大、小二
つのセグメントがあるため、一つのプロセスについて2
つのセグメント・テーブル・ワード・アレイがある。大
きいセグメントは最大で222バイトの大きさをもち、
小さいセグメントは最大で216バイトの大きさを有す
る。すべてのセグメントは16バイトを単位として最大
の大きさまで変えられる。一つのシステムは28個の大
きいセグメントと2040個の小さいセグメントまで一
般に備えることが出来る。セグメント・テーブル・ワー
ド・アレイはこのオペレーテイング・システムにより再
配 〕置出来、それ故、一つのプロセスはそれに関連し
たSTWAの絶対アドレスを知らねばならない。
ワード・アレイ(STWA)を用いるプロセスを与える
。これらアレイは一つのプロセスにアクセス出来るすべ
てのセグメント・テーブルのアドレスを含む。大、小二
つのセグメントがあるため、一つのプロセスについて2
つのセグメント・テーブル・ワード・アレイがある。大
きいセグメントは最大で222バイトの大きさをもち、
小さいセグメントは最大で216バイトの大きさを有す
る。すべてのセグメントは16バイトを単位として最大
の大きさまで変えられる。一つのシステムは28個の大
きいセグメントと2040個の小さいセグメントまで一
般に備えることが出来る。セグメント・テーブル・ワー
ド・アレイはこのオペレーテイング・システムにより再
配 〕置出来、それ故、一つのプロセスはそれに関連し
たSTWAの絶対アドレスを知らねばならない。
任意のプロセスに関するPCBは、この情報を含み第4
図においてアドレス・スペース・ワードASWO−1と
して知られる J2個のワードを含んでいる。各ワード
は一つのセグメント・テーブル・ワード・アレイSTW
Aを指す。
図においてアドレス・スペース・ワードASWO−1と
して知られる J2個のワードを含んでいる。各ワード
は一つのセグメント・テーブル・ワード・アレイSTW
Aを指す。
このオペレーテイング・システムは関連するSTWAが
再配置されるときにASWの内容を更新する。ポインタ
の連 3鎖を解き、セグメント記述子をデコードするこ
とはフアームウエアの機能であり、従つて一旦初期化さ
れるとこのオペレーテイング・システムにとつても見え
ない。セグメンテーシヨンはプロセスに用いうる 4も
のとして200×106バイト以上のアドレス空間を規
定する。
再配置されるときにASWの内容を更新する。ポインタ
の連 3鎖を解き、セグメント記述子をデコードするこ
とはフアームウエアの機能であり、従つて一旦初期化さ
れるとこのオペレーテイング・システムにとつても見え
ない。セグメンテーシヨンはプロセスに用いうる 4も
のとして200×106バイト以上のアドレス空間を規
定する。
この数は主メモリの容量を越えている。それ故、補助記
憶(磁気デイスクまたはドラム)が主メモリに関連して
用いられる。このオペレーテイング・システムは見かけ
土、システムが実際に使用出来るよりもかなり大きい主
メモリを有することになる。この概念は仮想メモリと呼
ばれる。任意の与えられた時点において、規定されたセ
グメントは主メモリに物理的に存在するかも知れないし
、存在しないかもしれない。
憶(磁気デイスクまたはドラム)が主メモリに関連して
用いられる。このオペレーテイング・システムは見かけ
土、システムが実際に使用出来るよりもかなり大きい主
メモリを有することになる。この概念は仮想メモリと呼
ばれる。任意の与えられた時点において、規定されたセ
グメントは主メモリに物理的に存在するかも知れないし
、存在しないかもしれない。
一つのセグメント記述子の内容は主メモリに、関連する
セグメントがあるかないかを示す。ハードウエアは、主
メモリにないセグメントをプロセスがアクセスする試み
を検出しオペレーテイング・システムにそれを知らせる
。オペレーテイング・システムにより所望のセグメント
が補助記憶から主メモリにロードされる。そしてこのオ
ペレーテイング・システムはセグメント記述子内にその
セグメントのメモリ・アドレスを置くのであり、この位
置は一つのセグメントの絶対アドレスを見い出すことの
出来る位置に限られる。このオペレーシヨンはプロセス
に対しては示されず、かくしてそのセグメントが主メモ
リになかつたことあるいは主メモリ内で再配置されるべ
きことは知らされない。ここに述べる計算機システムは
プロセスが互いに干渉したりあるいは勝手に互いのアド
レス空間を共用したりしないようにすることによりデー
タおよび処理の保護を与える。
セグメントがあるかないかを示す。ハードウエアは、主
メモリにないセグメントをプロセスがアクセスする試み
を検出しオペレーテイング・システムにそれを知らせる
。オペレーテイング・システムにより所望のセグメント
が補助記憶から主メモリにロードされる。そしてこのオ
ペレーテイング・システムはセグメント記述子内にその
セグメントのメモリ・アドレスを置くのであり、この位
置は一つのセグメントの絶対アドレスを見い出すことの
出来る位置に限られる。このオペレーシヨンはプロセス
に対しては示されず、かくしてそのセグメントが主メモ
リになかつたことあるいは主メモリ内で再配置されるべ
きことは知らされない。ここに述べる計算機システムは
プロセスが互いに干渉したりあるいは勝手に互いのアド
レス空間を共用したりしないようにすることによりデー
タおよび処理の保護を与える。
この保護はメモリ・セグメンテーシヨンを介してのアド
レス可能性を制限すること及びリング・システムにより
達成される。セグメント・テーブルはこのシステム内の
種々のプロセスのアドレス空間を隔離する。
レス可能性を制限すること及びリング・システムにより
達成される。セグメント・テーブルはこのシステム内の
種々のプロセスのアドレス空間を隔離する。
プロセスは常に実行中にセグメント化されたアドレスを
用いる。一つのセグメント化されたアドレスはセグメン
ト番号とそのセグメント内の相対アドレスとからなる。
・・−トウエアは一つのプロセスにより用いられるアド
レスがそのプロセスに割当てられたアドレス空間の一部
であることをチエックする。もしこのアドレスが上述の
アドレス空間外にあれば例外条件が生じる。・・−トウ
エアは参照しているプロセスのセグメント・テーブルを
使用するからある一つのプロセスが他のプロセスのアド
レス空間内のデータを参照することは出来ない。かくし
て一つのプロセスまたはプロセス・グループにとつて他
のプロセス・グループに属するエンテイテイを参照する
可能性はない。一般に、すべてのプロセスにより共用さ
れ ,1るセグメントについて、システムのアドレス空
間におけるオーバーラップが生じる。
用いる。一つのセグメント化されたアドレスはセグメン
ト番号とそのセグメント内の相対アドレスとからなる。
・・−トウエアは一つのプロセスにより用いられるアド
レスがそのプロセスに割当てられたアドレス空間の一部
であることをチエックする。もしこのアドレスが上述の
アドレス空間外にあれば例外条件が生じる。・・−トウ
エアは参照しているプロセスのセグメント・テーブルを
使用するからある一つのプロセスが他のプロセスのアド
レス空間内のデータを参照することは出来ない。かくし
て一つのプロセスまたはプロセス・グループにとつて他
のプロセス・グループに属するエンテイテイを参照する
可能性はない。一般に、すべてのプロセスにより共用さ
れ ,1るセグメントについて、システムのアドレス空
間におけるオーバーラップが生じる。
これら共用セグメントはアドレスのコンフリクトが生じ
な(・ようにするためのチエツクを行うシステム・プロ
グラムによりつくられる。かくして、セグメンテーシヨ
ンはユーザープログラムを互いに保護し、ユーザープロ
グラムに対しオペレーテイング・システムを保護する。
いくつかのプロセスにより共用されるセグメントぱ、一
つのプロセスによる誤つた使用に対しては保護されない
。
な(・ようにするためのチエツクを行うシステム・プロ
グラムによりつくられる。かくして、セグメンテーシヨ
ンはユーザープログラムを互いに保護し、ユーザープロ
グラムに対しオペレーテイング・システムを保護する。
いくつかのプロセスにより共用されるセグメントぱ、一
つのプロセスによる誤つた使用に対しては保護されない
。
この問題は解決するためにリング・システムが利用され
、それにより処理およびデータ・セグメントが4クラス
の階層にグループ分けされる。四つのリング・クラスは
0−3で番号づけられる。各Cリングはレベル0(最も
内側のリング)を最高としレベル3(最も外側のリング
)を最低としたシステム優先度を表わす。このシステム
内のすべての処理はそれに割当てられてその処理の呼び
出しを行うものを特定する最小および最大の実行リング
番号を有する。一つの処理は他の処理を呼び出すことが
出来ると共にそれらにパラメータを渡すことの出来るサ
ブルーチンである。このリングシステムの一般規則は次
の通りである。
、それにより処理およびデータ・セグメントが4クラス
の階層にグループ分けされる。四つのリング・クラスは
0−3で番号づけられる。各Cリングはレベル0(最も
内側のリング)を最高としレベル3(最も外側のリング
)を最低としたシステム優先度を表わす。このシステム
内のすべての処理はそれに割当てられてその処理の呼び
出しを行うものを特定する最小および最大の実行リング
番号を有する。一つの処理は他の処理を呼び出すことが
出来ると共にそれらにパラメータを渡すことの出来るサ
ブルーチンである。このリングシステムの一般規則は次
の通りである。
1,内側のリング内での一つの手続きは外側のリング内
のデータに対して自由にアクセスできる。
のデータに対して自由にアクセスできる。
換言すれば、外側のリング内の処理は内側のリング内の
データをアクセスできない。
データをアクセスできない。
2.外側のリング内での一つの手続きは内側のリング内
の一つの手続きに分岐出来るがその逆は許されない。
の一つの手続きに分岐出来るがその逆は許されない。
3.データを含む各セグメントは読取りに一つ(RD)
と書込に一つ(WR)の二つのリング値を割当てられる
。
と書込に一つ(WR)の二つのリング値を割当てられる
。
これらリング値は一つの手続きが読取または書込モード
でデータをアクセスするときに実行される最大リング値
を特定する。
でデータをアクセスするときに実行される最大リング値
を特定する。
手続きの命令が実行される毎にこの手続きのリング番号
(有効アドレスリング、EAR)は参照されたデータを
含むセグメントに割当てられたリング番号についてチエ
ツクされる。
(有効アドレスリング、EAR)は参照されたデータを
含むセグメントに割当てられたリング番号についてチエ
ツクされる。
このEARは命令カウンタ内のプロセス・リング番号お
よびベースレジスタとアドレスパス内にあるデータ記述
子内のすべてのリング番号の内の最大の番号である。デ
ータへのアクセスはリング番号の比較にもとづき許され
るかあるいは拒否される。例えば、もし一つのシステム
テーブルが最大読取りリング値3と最大書込リング値1
を有するセグメント内にあるならば、リング3において
実行しているユーザーの手続きはそのテーブルを読取る
ことはできるが更新はできないことになる。予め設計す
ることによりリング0と1はこのオペレーテイング・シ
ステムに対して確保され、リング2と3はユーザーに対
して確保される。
よびベースレジスタとアドレスパス内にあるデータ記述
子内のすべてのリング番号の内の最大の番号である。デ
ータへのアクセスはリング番号の比較にもとづき許され
るかあるいは拒否される。例えば、もし一つのシステム
テーブルが最大読取りリング値3と最大書込リング値1
を有するセグメント内にあるならば、リング3において
実行しているユーザーの手続きはそのテーブルを読取る
ことはできるが更新はできないことになる。予め設計す
ることによりリング0と1はこのオペレーテイング・シ
ステムに対して確保され、リング2と3はユーザーに対
して確保される。
リング0は全システム・オペレーシヨンにとつて重要な
セグメントを含む。リング1は、故障しても破局的では
なく回復出来るシステムセグメントの大半を含んでいる
。ユーザーはチエックアウト・プログラムに対してリン
グ2を、デバッグされているプログラムに対してリング
3を利用する。E.手続呼出し 手続呼出しはここに述べるシステムにおける重要な機能
である。
セグメントを含む。リング1は、故障しても破局的では
なく回復出来るシステムセグメントの大半を含んでいる
。ユーザーはチエックアウト・プログラムに対してリン
グ2を、デバッグされているプログラムに対してリング
3を利用する。E.手続呼出し 手続呼出しはここに述べるシステムにおける重要な機能
である。
手続呼出しは一つの手続きから他の手続きへの受け渡し
のため、ユーザの処理がオペレーシヨンシステムのサー
ビスを利用出来るようにするため、およびこのオペレー
シヨンシステム内でモジユラ一構造を得るために用いら
れる。一つの手続呼出しは命令と、ハードウエアにより
認識されたスタツクと呼ばれるエンテイテイとにより行
われる(第7A図)。スタツクは後人れ先出し方式によ
るデータの受け取り、記憶および取り出しを許すメカニ
ズムである。
のため、ユーザの処理がオペレーシヨンシステムのサー
ビスを利用出来るようにするため、およびこのオペレー
シヨンシステム内でモジユラ一構造を得るために用いら
れる。一つの手続呼出しは命令と、ハードウエアにより
認識されたスタツクと呼ばれるエンテイテイとにより行
われる(第7A図)。スタツクは後人れ先出し方式によ
るデータの受け取り、記憶および取り出しを許すメカニ
ズムである。
スタツクはスタツクセグメントと呼ぶ特殊なセグメント
内にある。スタックセグメントは各手続に対して動的に
割当てられるスタックフレーム701(第7A図及び第
7B図)と呼ばれる多数の連続する部分からなる。第一
スタツクフレームはこのセグメントのトツプにロードさ
れ、それに続くフレームはその後にロードされる。最後
にロードされたフレームはこのスタックのトップと考え
られる。Tレジスタ702はそのときアクテイブである
プロセスについてスタツクのトツプを位置付ける。仮想
Tレジスタはこのシステム内のすべての他のプロセスの
PCB内にある。第7B図のスタックフレーム701は
三つのエリア、すなわち変数を記憶する作業領域702
、レジスタの内容をたくわえる退避領域703と手続の
間でのパラメータの受け渡しを行う連絡領域704、か
らなる。
内にある。スタックセグメントは各手続に対して動的に
割当てられるスタックフレーム701(第7A図及び第
7B図)と呼ばれる多数の連続する部分からなる。第一
スタツクフレームはこのセグメントのトツプにロードさ
れ、それに続くフレームはその後にロードされる。最後
にロードされたフレームはこのスタックのトップと考え
られる。Tレジスタ702はそのときアクテイブである
プロセスについてスタツクのトツプを位置付ける。仮想
Tレジスタはこのシステム内のすべての他のプロセスの
PCB内にある。第7B図のスタックフレーム701は
三つのエリア、すなわち変数を記憶する作業領域702
、レジスタの内容をたくわえる退避領域703と手続の
間でのパラメータの受け渡しを行う連絡領域704、か
らなる。
手続呼出しの前にユーザーは退避したいレジスタを特定
し連絡領域に呼出された手順へパラメータを渡すように
パラメータをロードしなければならない。この呼出しが
なされるとき、ハードウエアは命令カウンタICと特定
されたベースレジスタとの内容を退避して呼出された手
続からの復帰を容易にする。夫々の手続呼出しはスタッ
クセグメント 701内に一つのスタツクフレームをつくり、次のネス
トされた呼出しが別のフレームをつくる。
し連絡領域に呼出された手順へパラメータを渡すように
パラメータをロードしなければならない。この呼出しが
なされるとき、ハードウエアは命令カウンタICと特定
されたベースレジスタとの内容を退避して呼出された手
続からの復帰を容易にする。夫々の手続呼出しはスタッ
クセグメント 701内に一つのスタツクフレームをつくり、次のネス
トされた呼出しが別のフレームをつくる。
これら呼出された手続の一つからの各 二出口によりス
タックフレームがスタックから除去される。かくして呼
出しの履歴は維持されて順序立つた復帰を容易にする。
異つたリングで行われている手続間の保護を保証するた
めに、異つたスタックセグメントが用いられる。
タックフレームがスタックから除去される。かくして呼
出しの履歴は維持されて順序立つた復帰を容易にする。
異つたリングで行われている手続間の保護を保証するた
めに、異つたスタックセグメントが用いられる。
一つのプロセスについての各保護リングに対応して一つ
のスタックセグメントがある。PCBは3個のスタツク
ベースワードを含み、これらがそのプロセスに関連した
リング0,1,2についてのスタツク Jセグメントの
始めを指す。リング3のスタツクセグメントはインワー
ド・コール(0ninwardca11)によつては決
して入力されず、それ故そのスタック開始アドレスはこ
のPCBには必要でない。
のスタックセグメントがある。PCBは3個のスタツク
ベースワードを含み、これらがそのプロセスに関連した
リング0,1,2についてのスタツク Jセグメントの
始めを指す。リング3のスタツクセグメントはインワー
ド・コール(0ninwardca11)によつては決
して入力されず、それ故そのスタック開始アドレスはこ
のPCBには必要でない。
.プロセス管理および同期
本システムはソフトウエア・フアームウエアおよびハー
ドウエアの組合せを用いるオペレーシヨンシステムによ
り制御される多重処理操作を与える。
ドウエアの組合せを用いるオペレーシヨンシステムによ
り制御される多重処理操作を与える。
ソフトウエアはこのシステム内でプロセスをつくりそし
て削除し、ハードウエアとフアームウエアはCPUにお
いてプロセスを多重化する。さらに、ソフトウエア、ハ
ードウエアおよびフアームウエアの組合せはプロセス間
の同期を与える。プロセスは一般に(常にではない)関
連したジヨブハンドリング中はI/0オペレーシヨンの
開始時と終了時にそしてこのオペレーシヨンシステムに
必要とされる目的のために他の時点でスタートされそし
てストツプされる。
て削除し、ハードウエアとフアームウエアはCPUにお
いてプロセスを多重化する。さらに、ソフトウエア、ハ
ードウエアおよびフアームウエアの組合せはプロセス間
の同期を与える。プロセスは一般に(常にではない)関
連したジヨブハンドリング中はI/0オペレーシヨンの
開始時と終了時にそしてこのオペレーシヨンシステムに
必要とされる目的のために他の時点でスタートされそし
てストツプされる。
それ故、関連するプロセスを有効にスタートさせストッ
プさせ、そしてそれら間で情報を転送するために通信シ
ステムが必要である。ハードウエアはプロセス間に通信
リンクを与えるためにセマフオと呼ばれる内部メツセー
ジを与える。A.プロセスの状態 一つのプロセスは、与えられた時点において四つの状態
すなわち実行状態(Running)、レデイ状態(R
eac3y)、持ち状態(Waiting)あるいは中
断状態(Suspended)の内の一つとなりうる。
プさせ、そしてそれら間で情報を転送するために通信シ
ステムが必要である。ハードウエアはプロセス間に通信
リンクを与えるためにセマフオと呼ばれる内部メツセー
ジを与える。A.プロセスの状態 一つのプロセスは、与えられた時点において四つの状態
すなわち実行状態(Running)、レデイ状態(R
eac3y)、持ち状態(Waiting)あるいは中
断状態(Suspended)の内の一つとなりうる。
ハードウエアはプロセスのこれら四つの状態を認識しそ
してプロセス・デイスパッチング、状態変更を行い、且
つ一つのプロセスの状態にもとづいてデータ構造を維持
するために種々のフアームウエア処理手順を実行する。
このPCBはその関連するプロセスの現在の状態を規定
するステートフイールドを含む。一つのプロセスはそれ
がCPUの制御を有するとき実行状態となる。
してプロセス・デイスパッチング、状態変更を行い、且
つ一つのプロセスの状態にもとづいてデータ構造を維持
するために種々のフアームウエア処理手順を実行する。
このPCBはその関連するプロセスの現在の状態を規定
するステートフイールドを含む。一つのプロセスはそれ
がCPUの制御を有するとき実行状態となる。
この状態はCPUにアドレス空間(セグメントテーブル
)と実行開始アドレスを供給することを含む。このCP
Uはこのプロセスのプロシージヤーセグメント内の命令
を実行する。その時の実行プロセスについてのPCBプ
ロセス名Jテーブルワード(論理アドレス)はシステム
ベース(第6図)内の実行プロセスワード(BAR+6
0)内に保持される。(第5図のシステムベースは第6
図に示すものと同一であるがいくつかの詳細部は省略し
てある。)レデイ状態は、プロセスがCPUにより認識
されていないためにCPUの制御を有さない点を除いて
、実行状態と等価である。
)と実行開始アドレスを供給することを含む。このCP
Uはこのプロセスのプロシージヤーセグメント内の命令
を実行する。その時の実行プロセスについてのPCBプ
ロセス名Jテーブルワード(論理アドレス)はシステム
ベース(第6図)内の実行プロセスワード(BAR+6
0)内に保持される。(第5図のシステムベースは第6
図に示すものと同一であるがいくつかの詳細部は省略し
てある。)レデイ状態は、プロセスがCPUにより認識
されていないためにCPUの制御を有さない点を除いて
、実行状態と等価である。
レデイ状態におけるプロセスはこのCPUに関して他の
レデイプロセス及び実行プロセスと競合する。一つのプ
ロセスはセマフオを介するメツセージのような特定の事
象が生じるまでそれが連続出来ないときには持ち状態に
ある。
レデイプロセス及び実行プロセスと競合する。一つのプ
ロセスはセマフオを介するメツセージのような特定の事
象が生じるまでそれが連続出来ないときには持ち状態に
ある。
持ち状態のプロセスはCPUについては競合しないが必
要とされるイベントについての他の持ち状態のプロセス
とは競合することになる。中断状態のプロセスは、ソフ
トウエアによりある時間にわたり停止されているが、後
に回復出来るプロセスである。
要とされるイベントについての他の持ち状態のプロセス
とは競合することになる。中断状態のプロセスは、ソフ
トウエアによりある時間にわたり停止されているが、後
に回復出来るプロセスである。
このプロセスをストップしそして回復する決定はこのプ
ロセスに対し外部からなされるものである。従つて、中
断状態のプロセスはアクテイブではなく、それ故事象の
発生の通知を受け取ることもCPUを利用することも出
来ない。次の条件のもとで一つのプロセスは中断される
。
ロセスに対し外部からなされるものである。従つて、中
断状態のプロセスはアクテイブではなく、それ故事象の
発生の通知を受け取ることもCPUを利用することも出
来ない。次の条件のもとで一つのプロセスは中断される
。
、(1) (機能のすべてを完了した結果として)終了
命令を実行することによる。
命令を実行することによる。
(2)オペレーテイング・システムによる中断命令を実
行することによる。
行することによる。
(3)例外条件が発生しそれにより制御がオペレーテイ
ング・システムに移されることによる。
ング・システムに移されることによる。
B.プロセス・デイスパツチング
実行中のプロセスの作用により自発的に、あるいは他の
プロセスの作用により非自発的にある状態から他の状態
にプロセスは移る。
プロセスの作用により非自発的にある状態から他の状態
にプロセスは移る。
デイスパツチヤとして知られるCPUフアームウエアは
状態間のプロセスのトランザクシヨンを制御する。デイ
スパツチャはレデイまたは持ち状態となつているプロセ
スを処理するため一組のキユ一(後述する)を使用する
。中断されたプロセスはソフトウエアにより制御される
。第6,8,9図をみるに、レデイまたは持ち状態のプ
ロセスがPCBとプロセスリンクと呼ぶ特殊なキユ一(
Queue)エントリにより表わされる。
状態間のプロセスのトランザクシヨンを制御する。デイ
スパツチャはレデイまたは持ち状態となつているプロセ
スを処理するため一組のキユ一(後述する)を使用する
。中断されたプロセスはソフトウエアにより制御される
。第6,8,9図をみるに、レデイまたは持ち状態のプ
ロセスがPCBとプロセスリンクと呼ぶ特殊なキユ一(
Queue)エントリにより表わされる。
第9図はGOセグメント802の内容を展開したものを
示しそしてアクテイブなプロセスのプロセスリンク80
3a803bと803e−803gおよび中断ZZ 状態のプロセスのフリー・プロセス・リンク805a−
805cを含む。
示しそしてアクテイブなプロセスのプロセスリンク80
3a803bと803e−803gおよび中断ZZ 状態のプロセスのフリー・プロセス・リンク805a−
805cを含む。
各プロセス・リンクはプロセス名(J,.P)、プロセ
ス優先度およびキユ内の次のプロセスリンクのポインタ
を特定する。ウエイトキユ一803abとレデイキユ一
803c−gのような種々のタイプのキユ一がある。
ス優先度およびキユ内の次のプロセスリンクのポインタ
を特定する。ウエイトキユ一803abとレデイキユ一
803c−gのような種々のタイプのキユ一がある。
Gテーブル(第6,8図)として知られるJテーブルと
同様のハードウエア装置はすべての汎用の(システムワ
イドな)セグメント802−802nに対するポインタ
を含む。
同様のハードウエア装置はすべての汎用の(システムワ
イドな)セグメント802−802nに対するポインタ
を含む。
Gテーブル801の第一セグメントGOは、デイスパッ
チャーキユ一を含むセグメント802を指す。
チャーキユ一を含むセグメント802を指す。
Gテーブル801に対するGテーブルポインタは第5図
のシステムベース502にある。またこのシステムベー
スには、GOセグメント802内のレデイキュ一803
c〜803gのヘツド805を確認する内部プロセス・
キユ一・ワード(IPQW)と呼ばれるエントリがある
。
のシステムベース502にある。またこのシステムベー
スには、GOセグメント802内のレデイキュ一803
c〜803gのヘツド805を確認する内部プロセス・
キユ一・ワード(IPQW)と呼ばれるエントリがある
。
かくして、デイスパツチヤはレデイキユ一803c−8
03gをあたることによりすべてのレデイ状態のプロセ
スを調べることが出来る。
03gをあたることによりすべてのレデイ状態のプロセ
スを調べることが出来る。
その時実行されているプロセスの状態が変わると、デイ
スパツチヤはレデイキユ一のヘツドにおけるプロセスリ
ンクを除去し、名前J.Pを用いてPCBをアクセスす
る。このPCBで規定されるプロセスはそのときこの新
しい実行プロセスとなる。同一の事象により1以上のプ
ロセスが持ち状態となりうるから、持ち状態のプロセス
803a−803bのキユ一が夫々の事象につ〜・て存
在する。
スパツチヤはレデイキユ一のヘツドにおけるプロセスリ
ンクを除去し、名前J.Pを用いてPCBをアクセスす
る。このPCBで規定されるプロセスはそのときこの新
しい実行プロセスとなる。同一の事象により1以上のプ
ロセスが持ち状態となりうるから、持ち状態のプロセス
803a−803bのキユ一が夫々の事象につ〜・て存
在する。
持ち状態のプロセスはGOセグメント内にあるプロセス
リンク805を介して共にストリングにされる。持ちキ
ユ一のヘッドに対するポインタはセマフオ903(後述
する)内に存在する。プロセスが持ちとなる多数の事象
が存在し、それ故夫々が関連するセマフオ903,90
4を有する多数の持ちキユ一がある。レデイ又は持ち状
態のプロセスの数は動的に変化する。
リンク805を介して共にストリングにされる。持ちキ
ユ一のヘッドに対するポインタはセマフオ903(後述
する)内に存在する。プロセスが持ちとなる多数の事象
が存在し、それ故夫々が関連するセマフオ903,90
4を有する多数の持ちキユ一がある。レデイ又は持ち状
態のプロセスの数は動的に変化する。
かくして、レデイキユ一および持ちキユ一に必要なプロ
セスリンクの数も変化する。この事実はデイスパツチヤ
に関しメZOモリ管理の問題を引き起す。
セスリンクの数も変化する。この事実はデイスパツチヤ
に関しメZOモリ管理の問題を引き起す。
この問題はフリープロセスリンクキユ一805a−cと
呼ばれる他のキユ一により解決される。このキユ一はレ
デイキユ一または持ちキユ一により用いられておらず、
しかもレデイ状態のプロセスまたは持ち状態のプロセス
の特定のキユ一を拡張するために用いることの出来るセ
グメントGO内のすべてのプロセスリンクを一緒にリン
クする。フリープロセスリンクキユ一805のヘツド9
02に対するボインタ901は、GOセグメント802
の始まりの近くにある。
呼ばれる他のキユ一により解決される。このキユ一はレ
デイキユ一または持ちキユ一により用いられておらず、
しかもレデイ状態のプロセスまたは持ち状態のプロセス
の特定のキユ一を拡張するために用いることの出来るセ
グメントGO内のすべてのプロセスリンクを一緒にリン
クする。フリープロセスリンクキユ一805のヘツド9
02に対するボインタ901は、GOセグメント802
の始まりの近くにある。
C.プロセスの同期
プロセスの同期は同じタスクを行なう二つのプロセスの
アクテイビテイを調整するため 1に必要である。
アクテイビテイを調整するため 1に必要である。
この同期は、通信プロセスのアドレス空間にあるデータ
構造であるセマフオ903−904を用いて達成される
。一つのセマフオは事象発生を知らせ、メッセージのキ
ユ一を扱うために用いられる。この場合 2の事象は一
つのプロセスにより観測されるが、他のプロセスにとつ
ても重要である。この事象は非同期オペレーシヨンの完
了とか資源の使用可能性とかであつてもよい。一つのプ
ロセスは一つの事象発生を知らせ 2るのに二種のセマ
フオ・オペレーシヨンを用いる。
構造であるセマフオ903−904を用いて達成される
。一つのセマフオは事象発生を知らせ、メッセージのキ
ユ一を扱うために用いられる。この場合 2の事象は一
つのプロセスにより観測されるが、他のプロセスにとつ
ても重要である。この事象は非同期オペレーシヨンの完
了とか資源の使用可能性とかであつてもよい。一つのプ
ロセスは一つの事象発生を知らせ 2るのに二種のセマ
フオ・オペレーシヨンを用いる。
一方のオペレーシヨンは、一つのセマフオに一つの信号
を送るものであり、他方のオペレーシヨンは一つのセマ
フオから一つの信号をピツクアツプするものである。(
この 3送信オペレーシヨンはVオペレーシヨン、受信
オベレーシヨンはPオペレーシヨンとしばしば呼ばれる
。)Vオペレーシヨンによれば、プロセスは、データ又
はデータがレデイであることを知らせる信号を送ること
が出来るよ 3うになる。セマフオは別のプロセスが信
号をピツクアツブできる状態になるまで信号を記憶する
。このように送信オペレーシヨンはデータを送つてしま
つているから自由に進行出来る。Pオペレーシヨンは一
つの特定のセマ 4フオを調べてその信号をピックアツ
プする。もし一つの信号があればこの受信プロセスは実
行を続ける。しかしながら、そのセマフオに信号がなけ
ればこの受信プロセスは持ち状ノZe 態に入る。
を送るものであり、他方のオペレーシヨンは一つのセマ
フオから一つの信号をピツクアツプするものである。(
この 3送信オペレーシヨンはVオペレーシヨン、受信
オベレーシヨンはPオペレーシヨンとしばしば呼ばれる
。)Vオペレーシヨンによれば、プロセスは、データ又
はデータがレデイであることを知らせる信号を送ること
が出来るよ 3うになる。セマフオは別のプロセスが信
号をピツクアツブできる状態になるまで信号を記憶する
。このように送信オペレーシヨンはデータを送つてしま
つているから自由に進行出来る。Pオペレーシヨンは一
つの特定のセマ 4フオを調べてその信号をピックアツ
プする。もし一つの信号があればこの受信プロセスは実
行を続ける。しかしながら、そのセマフオに信号がなけ
ればこの受信プロセスは持ち状ノZe 態に入る。
このセマフオはそのとき持ちキラ一のヘツドに対してポ
インタとして作用する。このプロセスは他のプロセスが
その特定のセマフオに一つの信号を送るまでそのセマフ
オでキユ一登録された持ち状態にとどまる。かくして、
一つのセマフオは一つのプロセスが一つの信号をピック
アップするまでそれを保持することが出来、あるいは一
つの信号が一つのセマフオに送られるまでそのセマフオ
は一つのプロセスを保持出来る。プロセスからプロセス
へとメツセージを渡すことも出来る。
インタとして作用する。このプロセスは他のプロセスが
その特定のセマフオに一つの信号を送るまでそのセマフ
オでキユ一登録された持ち状態にとどまる。かくして、
一つのセマフオは一つのプロセスが一つの信号をピック
アップするまでそれを保持することが出来、あるいは一
つの信号が一つのセマフオに送られるまでそのセマフオ
は一つのプロセスを保持出来る。プロセスからプロセス
へとメツセージを渡すことも出来る。
一つのメッセージは、他の情報を加えた信号と同様存在
するまたは存在しないという特性を有する。この情報の
部分はハードウエアにより供給されそして一部はそのメ
ッセージを送つたプロセスの手続により供給される。一
つのメツセージは送信プロセスのプロセス名を有する。
かしして多くのプロセスが送り手の名前をもつた単一の
セマフオを通じて情報を送ることが出来る。メツセージ
セマフオはプロセスによりピツクアツプされるべきメツ
セージ持ち行列を有することが出来る。
するまたは存在しないという特性を有する。この情報の
部分はハードウエアにより供給されそして一部はそのメ
ッセージを送つたプロセスの手続により供給される。一
つのメツセージは送信プロセスのプロセス名を有する。
かしして多くのプロセスが送り手の名前をもつた単一の
セマフオを通じて情報を送ることが出来る。メツセージ
セマフオはプロセスによりピツクアツプされるべきメツ
セージ持ち行列を有することが出来る。
信号セマフオの場合と同様にメモリスペースの要求は増
加したり減少したりするのでメモリ管理の問題を引き起
す。ここでも再びこの問題はフリーメッセージリンクの
キユ一により解決される。これらリンクは、それらを供
給または吸収する必要のあるとき容易に見い出すことの
出来る、セグメント内の既知の場所にある。セマフオと
それに出来るキユ一は異つたプロセスにより共用される
から、全セマフオの構造は保護される。
加したり減少したりするのでメモリ管理の問題を引き起
す。ここでも再びこの問題はフリーメッセージリンクの
キユ一により解決される。これらリンクは、それらを供
給または吸収する必要のあるとき容易に見い出すことの
出来る、セグメント内の既知の場所にある。セマフオと
それに出来るキユ一は異つたプロセスにより共用される
から、全セマフオの構造は保護される。
これはセマフオを含むセグメントへのアクセスを制限す
るハードウエアとソフトウエア上の約束により達成され
る。かくしてセマフオはセマフオ記述子セグメント内に
あらねばならず、その内のいくつかはGセグメント(シ
ステム通信が必要ならば)である。しかしながらすべて
のGセグメント(GOを除く)はセマフオ記述子セグメ
ントである。夫々のセマフオ記述子は一つのセマフオに
対するポインタを有する。
るハードウエアとソフトウエア上の約束により達成され
る。かくしてセマフオはセマフオ記述子セグメント内に
あらねばならず、その内のいくつかはGセグメント(シ
ステム通信が必要ならば)である。しかしながらすべて
のGセグメント(GOを除く)はセマフオ記述子セグメ
ントである。夫々のセマフオ記述子は一つのセマフオに
対するポインタを有する。
セマフオアドレスはセマフオ記述子を介して生成され、
かくしZOてそのセマフオに対しさらに保護を与える。
かくしZOてそのセマフオに対しさらに保護を与える。
一つのセマフオセグメントはセグメント番号とそのセグ
メント内の相対ロケーシヨンとを用いて論理的にあるい
はG.D番号を用いて直接にアドレスづけ出来る。プロ
セス制御プロック構造 第4図はプロセス制御プロック(PCB)の構成を示す
。
メント内の相対ロケーシヨンとを用いて論理的にあるい
はG.D番号を用いて直接にアドレスづけ出来る。プロ
セス制御プロック構造 第4図はプロセス制御プロック(PCB)の構成を示す
。
プロセス制御プロック400はCPU状態を退避するた
めにプロセスに使用出来るようにされた主メモリ内の記
憶領域である。PCBのアドレスづけは、第5図につい
て上述したのと同様に行われる。PCBポインタ507
(第5図)は第4図のメモリロケーシヨン0においてP
CBを指す。下向きの方向ではメモリロケーシヨンは4
バイトだけ増加し、メモリロケーシヨン0から上向きで
は8バイトだけ増加することに注意され度い。下向きの
メモリロケーシヨンはOから正と考えられ、0から上向
きのロケーシヨンは負方向と考えられる。上向きのロケ
ーシヨンはオプシヨンであつてPCB内に含まれてもあ
るいは含まれなくてもよく、またロケーシヨン148−
176もオプシヨンである。(メモリロケーシヨンの下
の数字はPCBの基準ロケーシヨン0からのバイト変位
を特定し他の図面中の要素の参照番号との混乱が生じな
いようにしている。)バイト0からスタートしてバイト
16まで(バイト16は含まない)に四つのプロセス主
ワードPMWO〜PMW3までが記憶され、各プロセス
主ワードPMWは長さが4バイトである。プロセス主ワ
ード0はバイト0−3を占め、四つの部分、すなわちケ
イパビリテイ・バイト、プライオリテイ・バイト、ステ
ート・バイトおよび付加拡張バイトDEXTからなる。
第10a−10d図はプロセス主ワードPMWOの詳細
を第10b図のケイパビリテイ・バイト1001の詳細
と共に示す。第10b図をみるに、第一ビツト1005
は課金機能がそのプロセスについて行われているかどう
か示すための課金モービツトである。この課金モードビ
ツト1005が2進0にセツトされるなら課金機能はそ
のプロセスについて行われていないのであり、課金モー
ド1005が2進1にセツトされると課金処理が行われ
ている。科学計算モードビツト1006がOにセツトさ
れるとマシンの科学計算用レジスタの保管は行われず、
科学計算レZOジスタ保管エリア(第4図のバイト14
8176に配置される)はPCBには存在しないことを
示す。
めにプロセスに使用出来るようにされた主メモリ内の記
憶領域である。PCBのアドレスづけは、第5図につい
て上述したのと同様に行われる。PCBポインタ507
(第5図)は第4図のメモリロケーシヨン0においてP
CBを指す。下向きの方向ではメモリロケーシヨンは4
バイトだけ増加し、メモリロケーシヨン0から上向きで
は8バイトだけ増加することに注意され度い。下向きの
メモリロケーシヨンはOから正と考えられ、0から上向
きのロケーシヨンは負方向と考えられる。上向きのロケ
ーシヨンはオプシヨンであつてPCB内に含まれてもあ
るいは含まれなくてもよく、またロケーシヨン148−
176もオプシヨンである。(メモリロケーシヨンの下
の数字はPCBの基準ロケーシヨン0からのバイト変位
を特定し他の図面中の要素の参照番号との混乱が生じな
いようにしている。)バイト0からスタートしてバイト
16まで(バイト16は含まない)に四つのプロセス主
ワードPMWO〜PMW3までが記憶され、各プロセス
主ワードPMWは長さが4バイトである。プロセス主ワ
ード0はバイト0−3を占め、四つの部分、すなわちケ
イパビリテイ・バイト、プライオリテイ・バイト、ステ
ート・バイトおよび付加拡張バイトDEXTからなる。
第10a−10d図はプロセス主ワードPMWOの詳細
を第10b図のケイパビリテイ・バイト1001の詳細
と共に示す。第10b図をみるに、第一ビツト1005
は課金機能がそのプロセスについて行われているかどう
か示すための課金モービツトである。この課金モードビ
ツト1005が2進0にセツトされるなら課金機能はそ
のプロセスについて行われていないのであり、課金モー
ド1005が2進1にセツトされると課金処理が行われ
ている。科学計算モードビツト1006がOにセツトさ
れるとマシンの科学計算用レジスタの保管は行われず、
科学計算レZOジスタ保管エリア(第4図のバイト14
8176に配置される)はPCBには存在しないことを
示す。
ビット1006が2進1にセツトされると、科学用のオ
プシヨンの機能が存在してこのプロセスに使用されてお
り、そして科学計算用レジスタ保管エリアが必要なとき
に科学レジスタの内容を保管するために使用される。コ
ードモードビツト1007は標準コードセツトまたは互
換コードセツトがプセスにより使用されているかどうか
を示し、この場合、その位置にある2進0が標準コード
セツトが使用中であることをそして第三ビツト位置10
07の2進1が互換コードセツトの使用中を示す。ケイ
パビリテイ・バイトの残りのビツトはOにセツトされる
。プライオリテイ・バイト1002の詳細は第10c図
に示す。
プシヨンの機能が存在してこのプロセスに使用されてお
り、そして科学計算用レジスタ保管エリアが必要なとき
に科学レジスタの内容を保管するために使用される。コ
ードモードビツト1007は標準コードセツトまたは互
換コードセツトがプセスにより使用されているかどうか
を示し、この場合、その位置にある2進0が標準コード
セツトが使用中であることをそして第三ビツト位置10
07の2進1が互換コードセツトの使用中を示す。ケイ
パビリテイ・バイトの残りのビツトはOにセツトされる
。プライオリテイ・バイト1002の詳細は第10c図
に示す。
第10c図において、プライオリテイ・バイト1002
のはじめの4ビット1008は与えられたプロセス制御
プロツクPCBに関連したプロセスの優先度を設定する
ために利用される。各プロセスは競合するプロセスを順
序づけるため、すなわち(a)レデイプロセス中で実行
されるべきプロセスを選びそして(b)プロセスをキユ
一とするために用いられる16個の優先順位の一つに割
当てられる。優先順位はOから15まで減少し、与えら
れたプライオリテイレベルについてはFIFO(先入れ
先出し)方式が適用される。プライオリテイ・バイト1
002の次の4ビット1009はOである。第10d図
はステート・バイト1003の詳細を示す。
のはじめの4ビット1008は与えられたプロセス制御
プロツクPCBに関連したプロセスの優先度を設定する
ために利用される。各プロセスは競合するプロセスを順
序づけるため、すなわち(a)レデイプロセス中で実行
されるべきプロセスを選びそして(b)プロセスをキユ
一とするために用いられる16個の優先順位の一つに割
当てられる。優先順位はOから15まで減少し、与えら
れたプライオリテイレベルについてはFIFO(先入れ
先出し)方式が適用される。プライオリテイ・バイト1
002の次の4ビット1009はOである。第10d図
はステート・バイト1003の詳細を示す。
ステート・バイトはプロセス制御プロックPCB4OO
に関連したプロセスについての情報を与えるために利用
される。アクテイブ・フイールド・ビットAlOlOは
プロセスが起動されるとき2進1にセツトされる。中断
フイールドSlOllはこのプロセスが中断されるとき
2進1にセツトされる。サブステート・フイールドSS
lOl2は2ビツトのフイールドであつて次のプロセス
のサブステートを規定する。(a)2進00にセツトさ
れるとそのプロセスは非活性である、(b)2進01に
セツトされるとそのプロセスはレデイ状態のプロセスの
キユ一(Q/PR/RDY)において持ち状態にある、
(c)2進10にセツトされるとそのプロセスはセマフ
オのキユ一内の一つのセマフオ(Q/PR/S)におい
て持ち状態である、(d)2進11にセツトされるとこ
のプロセスはプロセサにより実行されている。ミツドオ
ペレーシヨンフイールド(MOI)1013は割込みが
生じたとき2進1にセツトされそして一つの命令の実行
中すなわちそのプロセスの完了前に処理される。拡張付
加モードビットEXTDlOl4は、マシンのエミユレ
ーシヨンモードである拡張付加モードでプロセスが動作
するときに1にセツトされる。ビット1015と101
6はOにセツトされる。プロセス主ワードPMWOの第
四バイトは付加拡張番号を含みそしてこのシステムがエ
ミユレーシヨンモードにあるときに利用される。プロセ
ス主ワードPMWlはPCBのバイト47に記憶される
。PMWlの詳細は第10e図に示す。状況バイト10
16はPMWlにおける第一バイトであり状況レジスタ
の内容を記憶する。マルチプロセサ・バイトMPlOl
8はマルチプロセサのアーキテクチユアにおいては意味
があるが、その他の場合においてはこのフイールドはO
である。プロセス主ワード1の第二、第四バイトは夫々
MBZフイールド1017と1019であつて通常のオ
ペレーシヨンではOでなければならない。プロセス主ワ
ードPMW2ほプロセス制御プロックのバイト8−11
を占めており、詳細は第10f図に示す。
に関連したプロセスについての情報を与えるために利用
される。アクテイブ・フイールド・ビットAlOlOは
プロセスが起動されるとき2進1にセツトされる。中断
フイールドSlOllはこのプロセスが中断されるとき
2進1にセツトされる。サブステート・フイールドSS
lOl2は2ビツトのフイールドであつて次のプロセス
のサブステートを規定する。(a)2進00にセツトさ
れるとそのプロセスは非活性である、(b)2進01に
セツトされるとそのプロセスはレデイ状態のプロセスの
キユ一(Q/PR/RDY)において持ち状態にある、
(c)2進10にセツトされるとそのプロセスはセマフ
オのキユ一内の一つのセマフオ(Q/PR/S)におい
て持ち状態である、(d)2進11にセツトされるとこ
のプロセスはプロセサにより実行されている。ミツドオ
ペレーシヨンフイールド(MOI)1013は割込みが
生じたとき2進1にセツトされそして一つの命令の実行
中すなわちそのプロセスの完了前に処理される。拡張付
加モードビットEXTDlOl4は、マシンのエミユレ
ーシヨンモードである拡張付加モードでプロセスが動作
するときに1にセツトされる。ビット1015と101
6はOにセツトされる。プロセス主ワードPMWOの第
四バイトは付加拡張番号を含みそしてこのシステムがエ
ミユレーシヨンモードにあるときに利用される。プロセ
ス主ワードPMWlはPCBのバイト47に記憶される
。PMWlの詳細は第10e図に示す。状況バイト10
16はPMWlにおける第一バイトであり状況レジスタ
の内容を記憶する。マルチプロセサ・バイトMPlOl
8はマルチプロセサのアーキテクチユアにおいては意味
があるが、その他の場合においてはこのフイールドはO
である。プロセス主ワード1の第二、第四バイトは夫々
MBZフイールド1017と1019であつて通常のオ
ペレーシヨンではOでなければならない。プロセス主ワ
ードPMW2ほプロセス制御プロックのバイト8−11
を占めており、詳細は第10f図に示す。
第10f図においてビット4からビツト31のフイール
ドは、プロセスが持ち状態か中断状態のときにPCBが
リンクされるセマフオのローカルネームSEG.SRA
lO2lを含む。例外クラスおよびタィプフイールド1
023は、プロセスを例外状態の後に中断状態に移す。
割込みのような例外のクラスとタイプとを含む。ビット
4から15までのフイールドはプロセスが上述とは異な
る状態にあるときは意味のないフイールド1022であ
る。プロセス主ワードPMW3はPCB4OOにおける
バイト12−15を占めて付加拡張テーブルを指す。
ドは、プロセスが持ち状態か中断状態のときにPCBが
リンクされるセマフオのローカルネームSEG.SRA
lO2lを含む。例外クラスおよびタィプフイールド1
023は、プロセスを例外状態の後に中断状態に移す。
割込みのような例外のクラスとタイプとを含む。ビット
4から15までのフイールドはプロセスが上述とは異な
る状態にあるときは意味のないフイールド1022であ
る。プロセス主ワードPMW3はPCB4OOにおける
バイト12−15を占めて付加拡張テーブルを指す。
第10g図によりPMW3の詳細をみるに、DETSZ
フイールド1024はこのテーブル内のエントリの数を
規定し、このフイールドがOであれば付加拡張はこのプ
ロセスに対して許されない。DETAフイールド102
5は16バイトを単位とするこの付加拡張テーブルの絶
対アドレスであり、DETSZがOでないときのみ意味
をもつ。付加拡張テーブルはDETSZエントリにより
つくられる。各エントリは1バイトの大きさである。こ
のテーブノレのDEXT番目のエントリはこのプロセス
が付加拡張モードDEXTで動作するケイパビリテイを
規定する。DEXT番目のバイトがOであれば付加拡張
番号DEXTは許されず、DEXT番目のバイトが1で
あれば付加拡張番号DEXTが許される。Oと1以外の
DEXTの値は違法である。(第10a図のDEXT番
号1004を参照のこと)。PCB4OOのバイト16
乃至バイト23は夫夫2つのアドレス空間ワードASW
O及びASWlを含みそして夫々のASWはセグメント
テーブルワードアレイに対するポインタを含む。
フイールド1024はこのテーブル内のエントリの数を
規定し、このフイールドがOであれば付加拡張はこのプ
ロセスに対して許されない。DETAフイールド102
5は16バイトを単位とするこの付加拡張テーブルの絶
対アドレスであり、DETSZがOでないときのみ意味
をもつ。付加拡張テーブルはDETSZエントリにより
つくられる。各エントリは1バイトの大きさである。こ
のテーブノレのDEXT番目のエントリはこのプロセス
が付加拡張モードDEXTで動作するケイパビリテイを
規定する。DEXT番目のバイトがOであれば付加拡張
番号DEXTは許されず、DEXT番目のバイトが1で
あれば付加拡張番号DEXTが許される。Oと1以外の
DEXTの値は違法である。(第10a図のDEXT番
号1004を参照のこと)。PCB4OOのバイト16
乃至バイト23は夫夫2つのアドレス空間ワードASW
O及びASWlを含みそして夫々のASWはセグメント
テーブルワードアレイに対するポインタを含む。
ASWOとASWlに共に夫々第10h図に示す同一の
形式を有する。セグメントテーブルワードアレイの大き
さは一つのアレイ内のセグメントテーブルワードの数に
より規定され、一般にはASWOについて6個そしてA
SWlについて8個である。STWSZフイールド10
26はセグメントテーブルワードアレイの大きさを表わ
す。セグメントテーブルワードアレイフイールドSTW
AlO27は16バイトを単位としたアレイの絶対アド
レスSTWAを含む。すなわちアレイの絶対アドレスは
STWAのバイト数の16倍である。PCB内のバイト
24−27は第101図に示す例外ワードEXWを含む
。
形式を有する。セグメントテーブルワードアレイの大き
さは一つのアレイ内のセグメントテーブルワードの数に
より規定され、一般にはASWOについて6個そしてA
SWlについて8個である。STWSZフイールド10
26はセグメントテーブルワードアレイの大きさを表わ
す。セグメントテーブルワードアレイフイールドSTW
AlO27は16バイトを単位としたアレイの絶対アド
レスSTWAを含む。すなわちアレイの絶対アドレスは
STWAのバイト数の16倍である。PCB内のバイト
24−27は第101図に示す例外ワードEXWを含む
。
この例外ワードは、プロセス主ワードPMW2に記憶さ
れたそのクラスに従つてプロセス例外に続き行われるべ
き動作を規定する例外クラステーブルに対するポインタ
(SEG.SRA)1029を含む。(第10f図参照
)。例外ワードEXWのMBZフイールド1028はO
でなければならな℃・0PCB内のバイト28−31に
置かれるスタツクワードSKWはプロセスが実行中でな
いときのそのプロセスのスタックのTレジスタのトップ
の値を含みこれは第10j図に詳細に示されている。
れたそのクラスに従つてプロセス例外に続き行われるべ
き動作を規定する例外クラステーブルに対するポインタ
(SEG.SRA)1029を含む。(第10f図参照
)。例外ワードEXWのMBZフイールド1028はO
でなければならな℃・0PCB内のバイト28−31に
置かれるスタツクワードSKWはプロセスが実行中でな
いときのそのプロセスのスタックのTレジスタのトップ
の値を含みこれは第10j図に詳細に示されている。
第10j図において、ビツト0と1はTAGフイールド
1030を規定する。このTAGは記述子のタイプをそ
の内容により示すものであつてSKWについてはOでな
ければならない。SKWワードのビツト2及び3は保護
のためにスタツクのセグメント化されたアドレスに関連
したリング番号を含むRINGフイールド1031を含
み、そしてこの場合はOでなければならない。ビツト4
−31はセグメント番号SEGとセグメント相対アドレ
スSRAlO32を含み、そしてこれはセグメントテー
ブル内に書かれたセグメントとそのセグメント内のセグ
メント相対アドレスを識別するフイールドである。スタ
ツクワードSKWはプロセスが実行状態から移るたびに
更新される。これはプロセスが実行されるたびにTレジ
スタの内容を回復するために用いられる。この場合には
TAGlO3OとRINGlO3lはOであるかどうか
についてテストされ、そうでなければ違法なPCB例外
が生じる。PCB4OOのバイト32−35は時にはI
CCと呼ばれる命令カウンタ・コンテンツ−ワードIC
Wを含む。
1030を規定する。このTAGは記述子のタイプをそ
の内容により示すものであつてSKWについてはOでな
ければならない。SKWワードのビツト2及び3は保護
のためにスタツクのセグメント化されたアドレスに関連
したリング番号を含むRINGフイールド1031を含
み、そしてこの場合はOでなければならない。ビツト4
−31はセグメント番号SEGとセグメント相対アドレ
スSRAlO32を含み、そしてこれはセグメントテー
ブル内に書かれたセグメントとそのセグメント内のセグ
メント相対アドレスを識別するフイールドである。スタ
ツクワードSKWはプロセスが実行状態から移るたびに
更新される。これはプロセスが実行されるたびにTレジ
スタの内容を回復するために用いられる。この場合には
TAGlO3OとRINGlO3lはOであるかどうか
についてテストされ、そうでなければ違法なPCB例外
が生じる。PCB4OOのバイト32−35は時にはI
CCと呼ばれる命令カウンタ・コンテンツ−ワードIC
Wを含む。
第10k図はこの命令カウンタワードICWの詳細を示
し、TAGフイールド1033は2進00を含まねばな
らない。(すなわちO以外の値は命令カウンタ内では違
法である。ビット2,3を占める現RINGフイールド
1034は主記憶に対するアクセスのWqの決定におい
て用いられるべきプロセスのそのときのリング番号を規
定する。ビツト4−31は実行されるべき次の命令のア
ドレスを規定するセグメント番号とセグメント相対アド
レス(SEG.SRA)1035を規定する。バイト3
6−39内のMBZフイールドはOでなければならない
。
し、TAGフイールド1033は2進00を含まねばな
らない。(すなわちO以外の値は命令カウンタ内では違
法である。ビット2,3を占める現RINGフイールド
1034は主記憶に対するアクセスのWqの決定におい
て用いられるべきプロセスのそのときのリング番号を規
定する。ビツト4−31は実行されるべき次の命令のア
ドレスを規定するセグメント番号とセグメント相対アド
レス(SEG.SRA)1035を規定する。バイト3
6−39内のMBZフイールドはOでなければならない
。
(MBZフイールドは常にOでなければならないフイー
ルドを示す。)MBZワードはPCBが名前J,.Pか
らアクセスされるたびにテストされる。もしこれがOで
なければ違法なPCB例外が生じる。スタツクベースワ
ードSBWO−2はPCB4OOにおいてバイト40−
51を占める。
ルドを示す。)MBZワードはPCBが名前J,.Pか
らアクセスされるたびにテストされる。もしこれがOで
なければ違法なPCB例外が生じる。スタツクベースワ
ードSBWO−2はPCB4OOにおいてバイト40−
51を占める。
これらワードは第10j図に詳細に示す同一のフオーマ
ツトを有する。これらはスタツクオペレーシヨン中に使
用され、そして用いられるときはそれらのTAGフイー
ルド1036とRINGフイールド1037はOでなけ
ればならず、そうでないと違法なPCB例外が生じる。
ビツト4−31はリング0,1,2について夫々スタツ
クセグメントの第一バイトのセグメント化されたアドレ
ス(SEG.SRA)1038を含む。PCB4OOの
バイト52−83はベースレジスタ退避領域(8ワード
)用のスペースである。
ツトを有する。これらはスタツクオペレーシヨン中に使
用され、そして用いられるときはそれらのTAGフイー
ルド1036とRINGフイールド1037はOでなけ
ればならず、そうでないと違法なPCB例外が生じる。
ビツト4−31はリング0,1,2について夫々スタツ
クセグメントの第一バイトのセグメント化されたアドレ
ス(SEG.SRA)1038を含む。PCB4OOの
バイト52−83はベースレジスタ退避領域(8ワード
)用のスペースである。
バイト84−147はすべての汎用レジスタの値(16
ワード)用の退避領域である。バイト148〜179は
科学計算用レジスタ(8ワード)用の退避領域である。
5個の倍長語がPCBゼロアドレスに与えられてPMW
Oワード内のカウンテイングモードビツトがセツトされ
るときのタイムカウンテイング用に用いられる。
ワード)用の退避領域である。バイト148〜179は
科学計算用レジスタ(8ワード)用の退避領域である。
5個の倍長語がPCBゼロアドレスに与えられてPMW
Oワード内のカウンテイングモードビツトがセツトされ
るときのタイムカウンテイング用に用いられる。
これらのワードはPCBアドレスより8を引いたロケー
シヨンから、PCBアドレスより40を引いたロケーシ
ヨンまで置かれる。各ワードはビツト52−63をOと
し、第一の52個のビツト内にマイクロ秒を単位とした
期間即ち時間間隔を含む。残余タイムアウトダブルワー
ド(RTO)(PCB内においてはじめのOより大きい
8バイト)はタイムアウト例外が生じる前のプロセスの
ためにプロセサにより実際につかわれる時間を含む。こ
のRTOワードは次のように更新される。プロセスが実
行状態から出るたびにプロセスタイマーの値がRTOワ
ードに記憶される。プロセスが実行状態に入るたびにプ
ロセスタイマーの値がRTOからロードされる。バイト
Jヨ黷P5の実行時間計算RUAダブルワードはプロセス
が実行状態にあつた全処理時間を特定する時間カウンタ
である。
シヨンから、PCBアドレスより40を引いたロケーシ
ヨンまで置かれる。各ワードはビツト52−63をOと
し、第一の52個のビツト内にマイクロ秒を単位とした
期間即ち時間間隔を含む。残余タイムアウトダブルワー
ド(RTO)(PCB内においてはじめのOより大きい
8バイト)はタイムアウト例外が生じる前のプロセスの
ためにプロセサにより実際につかわれる時間を含む。こ
のRTOワードは次のように更新される。プロセスが実
行状態から出るたびにプロセスタイマーの値がRTOワ
ードに記憶される。プロセスが実行状態に入るたびにプ
ロセスタイマーの値がRTOからロードされる。バイト
Jヨ黷P5の実行時間計算RUAダブルワードはプロセス
が実行状態にあつた全処理時間を特定する時間カウンタ
である。
計数された時間は、もつぱらこのプロセスのためにプロ
セサにより実際に費やされた時間である。RUAワード
は次のように更新される。プロセスが実行状態から出る
たびにプロセスタイマーPTの値が読まれる。RTOと
PTの内容の差がRUAに加えられる。(連続的にPT
値がRTOに記憶される。)プロセスが中断される時間
は計算されない。RTOとRUAワードは課金モードビ
ツトがOにセツトされても更新されない。しかしながら
、CET、RTA.WTAワード(後述する)はプロセ
ス主ワードPMWO内の課金モードビットが1にセツト
されるときにのみプロセス制御プロツク内に与えられる
。これらはこの場合にのみ更新される。バイト17−2
3における持ち時間計算WTAワードはプロセスが持ち
状態にある全実時間を特定する実時間カウンタである。
WTAワードは次のように更新される。プロセスがウエ
イテイングステートを出るたびに時刻クロツク(図示せ
ず)値TODが読まれ、TODの値からCETワードの
値を引いたものがWTAワードに加えられる。バイト2
4−31に置かれるレデイ状態時間計算RTAワードは
、プロセスがレデイ状態にある全実時間を特定する実時
間カウンタたるダブルワードである。RTAは次のよう
にして更新される。プロセスがレデイ状態から出るたび
に時刻クロック値TODが読まれそしてTODの内容か
らCETの内容を引いたものがRTAに加えられる。バ
イト32−39に置かれる現エントリタイムCETダブ
ルワードは、プロセスがレデイ、持ち、実行および中断
の状態の一つに入つた時刻を含む。システムベースの構
造第6図はシステムベース600のフオーマツトを示す
。
セサにより実際に費やされた時間である。RUAワード
は次のように更新される。プロセスが実行状態から出る
たびにプロセスタイマーPTの値が読まれる。RTOと
PTの内容の差がRUAに加えられる。(連続的にPT
値がRTOに記憶される。)プロセスが中断される時間
は計算されない。RTOとRUAワードは課金モードビ
ツトがOにセツトされても更新されない。しかしながら
、CET、RTA.WTAワード(後述する)はプロセ
ス主ワードPMWO内の課金モードビットが1にセツト
されるときにのみプロセス制御プロツク内に与えられる
。これらはこの場合にのみ更新される。バイト17−2
3における持ち時間計算WTAワードはプロセスが持ち
状態にある全実時間を特定する実時間カウンタである。
WTAワードは次のように更新される。プロセスがウエ
イテイングステートを出るたびに時刻クロツク(図示せ
ず)値TODが読まれ、TODの値からCETワードの
値を引いたものがWTAワードに加えられる。バイト2
4−31に置かれるレデイ状態時間計算RTAワードは
、プロセスがレデイ状態にある全実時間を特定する実時
間カウンタたるダブルワードである。RTAは次のよう
にして更新される。プロセスがレデイ状態から出るたび
に時刻クロック値TODが読まれそしてTODの内容か
らCETの内容を引いたものがRTAに加えられる。バ
イト32−39に置かれる現エントリタイムCETダブ
ルワードは、プロセスがレデイ、持ち、実行および中断
の状態の一つに入つた時刻を含む。システムベースの構
造第6図はシステムベース600のフオーマツトを示す
。
システムベースは絶対主メモリ内にあつてフアームウエ
アにより生成され、読取ることは出来るが書込むことは
出来ない境界アドレスレジスタ(BAR)を介して、ア
クセス出来る。BARはハードウエア用に確保された主
メモリ内の領域の下にあり、このハードウエア用の領域
とシステムベース600を分離する。第6図において、
システムペース600はそのとき実行状態と Cなつて
いるプロセス用のジヨブステツプ番号とプロセスグルー
プ番号(J.P)を含む多数のシステム属性を含む。プ
ロセスJ.Pの論理名から、対応するプロセス制御プロ
ツクPCBの絶対アドレスが得られる。Jテーブルのサ
イズとアドレス jはJテーブルワード(JTW)の内
容により定まる。このワードはBARレジスタにより定
められるアドレスに置かれる。JTWのフオーマットは
第11a図にある。第12図のサイズ(JTSZ)11
01またはJテーブル1204は255までであるJテ
ーブル1204内のエントリの数を定める。JTSZl
lOlは8ビツトの正の整数であり、脱Jテーブル例外
はJがJTSZより大きいとき起こる。Jテーブル12
04の絶対アドレスはJテーブルポインタ1102を1
6倍すること 5により得られる。Jテーブル1204
は第11b図に詳細に示す形式を有するJテーブルエン
トリを含む。各JテーブルエントリはPテーブルポイン
タ1204を16倍することにより得られるPテーブル
1205の絶対アドレスを規定する。P4テーブルのサ
イズ(PTSZ)1103はPテーブル内のエントリの
数を規定する。PTSZは8ビットの正の整数であつて
一般にPテーブル内のエントリの数を示すためOから2
55まで変化出来る脱Pテーブル例外はPがPTSZよ
り大きいとき起こる。Pテーブル1205の各エントリ
はPCBポインタ1107を16倍することによりPC
Bl2O6の絶対アドレスを規定する。存在インデイケ
ータPllO5は、2進0にセツトされる。ときには、
PCBl2O6の不在を、1にセツトされるときには、
PCBの存在を示す。(存在インデイケータPllO5
がOであれば空Pテーブルエントリ例外が起こる。)P
テーブルインデイケータ(第11c図)のビツト1−7
は0(MBZ)1106でなければならず、そうでない
と違法なPテーブルエントリ例外が生じる。システムベ
ース600のアドレスBARプラス4に第11d図に詳
細に示すGテーブルワード(GTW)のフオーマツトバ
イトがある。数字1200におけるGセグメントテーブ
ル1212のサイズとアドレスはGテーブルワード(G
TW)の内容により規定される。Gテーブル1212の
サイズ(GTSZ)1108は一般には255エントリ
までのGテーブル内のエントリの数を規定する。GTS
Zぱ8ビツトの正の整数であり、脱Gテーブル例外はG
ナンバがGT−SZより大きいとき生じる。Gテーブル
1212の絶対アドレスはGテーブルポインタ1109
を16倍することにより得られる。Gセグメントテーブ
ルエントリの形式は2ワードサイズ(8バイト)であり
Gセグメント記述子と呼ばれる。Gセグメント記述子の
形式は第11e図、第11f図に示す。すべてのGセグ
メント記述子は直接的であり、従つて間接的なビツトI
,llllはOでなければならず、さもないと違法なセ
グメント記述子例外が生じる。存在インジケータPll
lOは1ビットフイールドであつて、2進1にセツトさ
れるとその記述子の対応するセグメント番号の一つのセ
グメントが主記憶に確定されることを示し、Oにクリア
されるとセグメントは確定されず、セグメント記述子を
参照することによりミッシングセグメント例外が生じる
。使用可能ビットAlll2は1ビットフイールドであ
り、そのセグメントが使用可能かどうかを示すものであ
つてこのセグメントが規定される(すなわちPが2進1
に等しくなる)かどうかについてのみチエツクされるの
であり、そうでなければ無視される。使用済フラツグフ
イールドUlll3はこのセグメントがアクセスされた
かどうかを示す。このUビツトが2進0になればこのセ
グメントはアクセスされなかつたことになり、Uフイー
ルドが2進1にセツトされればセグメントがアクセスさ
れたことになる。書込まれたフラツグフイールドWll
l4は、そのセグメントが書込まれたかどうかを示す。
wが2進0に設定されればそのセグメントは書込まれて
いないことを、1に設定されれば書込まれていることを
示す。Gセグメント記述子のゲートインジケータGSl
ll5は2進01にセツトされねばならず、さもないと
違法なセグメント記述子例外が生じる。この理由はGセ
グメントが常にセマフオを含み(この逆は真ではない、
すなわちすべてのセマフオは一つのGセグメント内にあ
る必要はない)セマフオ上の命令はGSコードが2進0
1になることを要求する。セグメント1214のベース
の絶対アドレスは第11e図のGセグメント記述子内に
24ビットベースフィールド1116により規定され、
このフイールドの内容は絶対アドレスを得るため16倍
にされる。第11f図のGセグメント記述子の第二のワ
ードはGテーブル1212内でビツト位置32−63を
占める。RSUフイールド1117(ビツト32−39
)はソフトウエア用に確保され、それがここに述べるよ
うにGセグメント記述子として用いられるときには一般
に無視される。MBZフイールド1118はOであるべ
きであり、さもないと違法なセグメント例外が生じる。
MBZフイールド1118はビツト40−51を占める
からこれは小セグメントSIZN用のフイールドである
SIZNフイールド1119をセツトする。従つてすべ
てのGセグメントは小セグメントタイプでなければなら
ない。セグメントSIZNlll9はそのセグメント内
のバイトの数を決める12ビツトの正の整数であり、セ
グメントサイズは16の倍数として解釈される。それ故
Gセグメント1214についてのセグメントサイズは2
16バイト(小セグメント)を越えることは出来ない。
第6図のシステムベース600をもう一度参照するにB
ARプラス8とBARプラス44の間に9個のシステム
例外セルワードがある。
アにより生成され、読取ることは出来るが書込むことは
出来ない境界アドレスレジスタ(BAR)を介して、ア
クセス出来る。BARはハードウエア用に確保された主
メモリ内の領域の下にあり、このハードウエア用の領域
とシステムベース600を分離する。第6図において、
システムペース600はそのとき実行状態と Cなつて
いるプロセス用のジヨブステツプ番号とプロセスグルー
プ番号(J.P)を含む多数のシステム属性を含む。プ
ロセスJ.Pの論理名から、対応するプロセス制御プロ
ツクPCBの絶対アドレスが得られる。Jテーブルのサ
イズとアドレス jはJテーブルワード(JTW)の内
容により定まる。このワードはBARレジスタにより定
められるアドレスに置かれる。JTWのフオーマットは
第11a図にある。第12図のサイズ(JTSZ)11
01またはJテーブル1204は255までであるJテ
ーブル1204内のエントリの数を定める。JTSZl
lOlは8ビツトの正の整数であり、脱Jテーブル例外
はJがJTSZより大きいとき起こる。Jテーブル12
04の絶対アドレスはJテーブルポインタ1102を1
6倍すること 5により得られる。Jテーブル1204
は第11b図に詳細に示す形式を有するJテーブルエン
トリを含む。各JテーブルエントリはPテーブルポイン
タ1204を16倍することにより得られるPテーブル
1205の絶対アドレスを規定する。P4テーブルのサ
イズ(PTSZ)1103はPテーブル内のエントリの
数を規定する。PTSZは8ビットの正の整数であつて
一般にPテーブル内のエントリの数を示すためOから2
55まで変化出来る脱Pテーブル例外はPがPTSZよ
り大きいとき起こる。Pテーブル1205の各エントリ
はPCBポインタ1107を16倍することによりPC
Bl2O6の絶対アドレスを規定する。存在インデイケ
ータPllO5は、2進0にセツトされる。ときには、
PCBl2O6の不在を、1にセツトされるときには、
PCBの存在を示す。(存在インデイケータPllO5
がOであれば空Pテーブルエントリ例外が起こる。)P
テーブルインデイケータ(第11c図)のビツト1−7
は0(MBZ)1106でなければならず、そうでない
と違法なPテーブルエントリ例外が生じる。システムベ
ース600のアドレスBARプラス4に第11d図に詳
細に示すGテーブルワード(GTW)のフオーマツトバ
イトがある。数字1200におけるGセグメントテーブ
ル1212のサイズとアドレスはGテーブルワード(G
TW)の内容により規定される。Gテーブル1212の
サイズ(GTSZ)1108は一般には255エントリ
までのGテーブル内のエントリの数を規定する。GTS
Zぱ8ビツトの正の整数であり、脱Gテーブル例外はG
ナンバがGT−SZより大きいとき生じる。Gテーブル
1212の絶対アドレスはGテーブルポインタ1109
を16倍することにより得られる。Gセグメントテーブ
ルエントリの形式は2ワードサイズ(8バイト)であり
Gセグメント記述子と呼ばれる。Gセグメント記述子の
形式は第11e図、第11f図に示す。すべてのGセグ
メント記述子は直接的であり、従つて間接的なビツトI
,llllはOでなければならず、さもないと違法なセ
グメント記述子例外が生じる。存在インジケータPll
lOは1ビットフイールドであつて、2進1にセツトさ
れるとその記述子の対応するセグメント番号の一つのセ
グメントが主記憶に確定されることを示し、Oにクリア
されるとセグメントは確定されず、セグメント記述子を
参照することによりミッシングセグメント例外が生じる
。使用可能ビットAlll2は1ビットフイールドであ
り、そのセグメントが使用可能かどうかを示すものであ
つてこのセグメントが規定される(すなわちPが2進1
に等しくなる)かどうかについてのみチエツクされるの
であり、そうでなければ無視される。使用済フラツグフ
イールドUlll3はこのセグメントがアクセスされた
かどうかを示す。このUビツトが2進0になればこのセ
グメントはアクセスされなかつたことになり、Uフイー
ルドが2進1にセツトされればセグメントがアクセスさ
れたことになる。書込まれたフラツグフイールドWll
l4は、そのセグメントが書込まれたかどうかを示す。
wが2進0に設定されればそのセグメントは書込まれて
いないことを、1に設定されれば書込まれていることを
示す。Gセグメント記述子のゲートインジケータGSl
ll5は2進01にセツトされねばならず、さもないと
違法なセグメント記述子例外が生じる。この理由はGセ
グメントが常にセマフオを含み(この逆は真ではない、
すなわちすべてのセマフオは一つのGセグメント内にあ
る必要はない)セマフオ上の命令はGSコードが2進0
1になることを要求する。セグメント1214のベース
の絶対アドレスは第11e図のGセグメント記述子内に
24ビットベースフィールド1116により規定され、
このフイールドの内容は絶対アドレスを得るため16倍
にされる。第11f図のGセグメント記述子の第二のワ
ードはGテーブル1212内でビツト位置32−63を
占める。RSUフイールド1117(ビツト32−39
)はソフトウエア用に確保され、それがここに述べるよ
うにGセグメント記述子として用いられるときには一般
に無視される。MBZフイールド1118はOであるべ
きであり、さもないと違法なセグメント例外が生じる。
MBZフイールド1118はビツト40−51を占める
からこれは小セグメントSIZN用のフイールドである
SIZNフイールド1119をセツトする。従つてすべ
てのGセグメントは小セグメントタイプでなければなら
ない。セグメントSIZNlll9はそのセグメント内
のバイトの数を決める12ビツトの正の整数であり、セ
グメントサイズは16の倍数として解釈される。それ故
Gセグメント1214についてのセグメントサイズは2
16バイト(小セグメント)を越えることは出来ない。
第6図のシステムベース600をもう一度参照するにB
ARプラス8とBARプラス44の間に9個のシステム
例外セルワードがある。
システム例外セルワード(EXC)の形式は第11g図
に示す。セマフオはシステム例外が生じたときに使用す
るプロセスにメツセージを送るため利用されるから、こ
れらのセマフオに対するポインタは夫夫システム例外セ
ルと呼ばれシステム例外のクラスについて一つづつの9
個のメモリロケーシヨンにある。MBZフイールド11
20は2進0にビツトされねばならず、さもないとシス
テムチエツクが生じる。夫々の例外セルEXCは夫々シ
ステム名G.Dll2lおよび1122を含む。システ
ムベース600のBARプラス44に置かれたチャンネ
ル例外セルは前述のシステム例外セルと同様であつてチ
ヤンネル例外が生じたときに専用プロセスにメツセージ
を送るために用いられるセマフオのシステム名GDを含
む形式を有する。内部プロセサキユーワードIPQWは
BAプラス48で始まるように置かれそしてその形式の
詳細は第11h図に示してある。
に示す。セマフオはシステム例外が生じたときに使用す
るプロセスにメツセージを送るため利用されるから、こ
れらのセマフオに対するポインタは夫夫システム例外セ
ルと呼ばれシステム例外のクラスについて一つづつの9
個のメモリロケーシヨンにある。MBZフイールド11
20は2進0にビツトされねばならず、さもないとシス
テムチエツクが生じる。夫々の例外セルEXCは夫々シ
ステム名G.Dll2lおよび1122を含む。システ
ムベース600のBARプラス44に置かれたチャンネ
ル例外セルは前述のシステム例外セルと同様であつてチ
ヤンネル例外が生じたときに専用プロセスにメツセージ
を送るために用いられるセマフオのシステム名GDを含
む形式を有する。内部プロセサキユーワードIPQWは
BAプラス48で始まるように置かれそしてその形式の
詳細は第11h図に示してある。
IPQWワードは第9図に905と805で示すように
プロセスレデイのキユ一(Q/PR/RDY)のヘッド
を指す。プロセスレデイのキユ一(Q/PR/RDY)
は、レデイ状態にあるすべてのプロセスをリンクする。
これはレデイ状態プロセスのキユ一のトツプを指すこと
によりIPQWワードのQ/PR/RDY−フイールド
1124(第11h図)のヘツドにより参照される。Q
/PR/RDYフイールド1124のヘッドは16ビツ
トの正の整数を含み、これはGOセグメントと呼ばれる
Gセグメント番号0のベースからQ/PR/RDYの第
一バイトまでの変位である。このQ/PR/RDYビツ
トフイールドがOであれば、このレデイキユ一は空とみ
られる。MBZフイールド1123は0でなければなら
ず、さもないとシステムチエツクが生じる。システムベ
ース600のBARプラス52に初期および現在の再試
行カウント用の記憶があり、その形式は第111図に詳
細に示してある。
プロセスレデイのキユ一(Q/PR/RDY)のヘッド
を指す。プロセスレデイのキユ一(Q/PR/RDY)
は、レデイ状態にあるすべてのプロセスをリンクする。
これはレデイ状態プロセスのキユ一のトツプを指すこと
によりIPQWワードのQ/PR/RDY−フイールド
1124(第11h図)のヘツドにより参照される。Q
/PR/RDYフイールド1124のヘッドは16ビツ
トの正の整数を含み、これはGOセグメントと呼ばれる
Gセグメント番号0のベースからQ/PR/RDYの第
一バイトまでの変位である。このQ/PR/RDYビツ
トフイールドがOであれば、このレデイキユ一は空とみ
られる。MBZフイールド1123は0でなければなら
ず、さもないとシステムチエツクが生じる。システムベ
ース600のBARプラス52に初期および現在の再試
行カウント用の記憶があり、その形式は第111図に詳
細に示してある。
NFSフイールド1125は非機能記憶フイールドであ
り、このシステムベースによつては利用されない。イニ
シヤルリトライカウントフイールド1126と力レット
リトライカウントフィールド1127は、マシンエラー
が起きて機械故障例外条件を発生させる前に実行される
自動的な命令の再試行の回数を制御するために用いられ
る。これらはりセツトリトライカウント(図示せず)に
より同じ数がロードされる。第11j図に示す実行プロ
セスワードRPWはシステムベース600のBARプラ
ス56に記憶されそしてモノプロセサの場合にその優先
順位と共に実行プロセス名を記憶するため用いられる。
り、このシステムベースによつては利用されない。イニ
シヤルリトライカウントフイールド1126と力レット
リトライカウントフィールド1127は、マシンエラー
が起きて機械故障例外条件を発生させる前に実行される
自動的な命令の再試行の回数を制御するために用いられ
る。これらはりセツトリトライカウント(図示せず)に
より同じ数がロードされる。第11j図に示す実行プロ
セスワードRPWはシステムベース600のBARプラ
ス56に記憶されそしてモノプロセサの場合にその優先
順位と共に実行プロセス名を記憶するため用いられる。
NFSフイールド1128,1131は夫々非機能記憶
フイールドであつて、任意の機能により任意の目的に利
用出来るが、一般にはこのシステムベースでは利用され
ない。実行プロセスの優先順位はPRIフイールド11
29に記憶される。非同期トラツプビツトがABフイー
ルド1130に記憶され、非同期トラツプリングがAR
Nフイールド1132に記憶される。モノプロセサの場
合の実行プロセスの論理名J.PはJ.Pフイールド1
133に記憶される。第11k図の絶対化テーブルポイ
ンタワードは、システムベース600のBARプラス6
0に置かれ、BARの内容をイニシヤルシステムロード
(ISL)プログラム内のすべての絶対アドレスに加え
ることによりISLプログラム内の絶対アドレスを初期
設定するため、イニシヤルシステムロードにおいて利用
される。
フイールドであつて、任意の機能により任意の目的に利
用出来るが、一般にはこのシステムベースでは利用され
ない。実行プロセスの優先順位はPRIフイールド11
29に記憶される。非同期トラツプビツトがABフイー
ルド1130に記憶され、非同期トラツプリングがAR
Nフイールド1132に記憶される。モノプロセサの場
合の実行プロセスの論理名J.PはJ.Pフイールド1
133に記憶される。第11k図の絶対化テーブルポイ
ンタワードは、システムベース600のBARプラス6
0に置かれ、BARの内容をイニシヤルシステムロード
(ISL)プログラム内のすべての絶対アドレスに加え
ることによりISLプログラム内の絶対アドレスを初期
設定するため、イニシヤルシステムロードにおいて利用
される。
絶対化テーブルポインタ1135に絶対化テーブル(図
示せず)のロケーシヨンを規定する。絶対化テーブルの
サイズはATSZフイールド1134により示される。
第11j図のCPU通し番号ワードはBARプラス64
に置かれる4バイトワードでありそしてこれはCPU通
し番号フイールド1136内のCPUの通し番号を含む
。第11m図の主記憶上限ワードはBARプラス68に
置かれそして主記憶内の最後の使用可能なワードの絶対
アドレスを与えることにより主記憶上限1139を示す
。
示せず)のロケーシヨンを規定する。絶対化テーブルの
サイズはATSZフイールド1134により示される。
第11j図のCPU通し番号ワードはBARプラス64
に置かれる4バイトワードでありそしてこれはCPU通
し番号フイールド1136内のCPUの通し番号を含む
。第11m図の主記憶上限ワードはBARプラス68に
置かれそして主記憶内の最後の使用可能なワードの絶対
アドレスを与えることにより主記憶上限1139を示す
。
BARプラス72には第11n図に示すイニシャルシス
テムロードISLデバイスチヤンネル番号(CN)11
40とハードウエアデバイスチヤンネル番号(CN)1
141を与えるためのワードが置かれる。
テムロードISLデバイスチヤンネル番号(CN)11
40とハードウエアデバイスチヤンネル番号(CN)1
141を与えるためのワードが置かれる。
このコンピユータシステムに用いられるデバイスのタイ
プとサブタイプは夫々フイールド1143と1144に
ハードウエアデバイスタイプワード(第110図)によ
り示され、RSUフィールド1142はソフトウエア用
に確保される。
プとサブタイプは夫々フイールド1143と1144に
ハードウエアデバイスタイプワード(第110図)によ
り示され、RSUフィールド1142はソフトウエア用
に確保される。
このワードはシステムベース内のBARプラス76にあ
る。第11p図に示す同様のタイプの形式をもつ同様の
ワードがイニシヤルシステムロードに用いられるデバイ
スのタイプとサブタイプを含む。このワードはBARプ
ラス80に置かれる。コンピユータの再スタートボタン
が押されると、シミユレートされたVオペレーシヨンが
一つのセマフオにもとづき実行されレデイ状態に入る。
る。第11p図に示す同様のタイプの形式をもつ同様の
ワードがイニシヤルシステムロードに用いられるデバイ
スのタイプとサブタイプを含む。このワードはBARプ
ラス80に置かれる。コンピユータの再スタートボタン
が押されると、シミユレートされたVオペレーシヨンが
一つのセマフオにもとづき実行されレデイ状態に入る。
このセマフオに対するポインタは、システムベース60
0のBARプラス84にあつて、再スタートセルワード
と呼ばれ、第11q図に示すフオーマツトを有する。こ
のフオーマツトは前述のシステム例外セルと同様であり
、夫々Gフイールド1149とDフイールド1150に
一つのセマフオのシステム名G.Dを含む。MBZフイ
ールド1148はOでなければならぬ。コンピユータシ
ステムに対し1以上のプロセサがある場合にはシステム
ベース600のBARプラス88に多重処理への拡張用
の一つのワードが与えられる。
0のBARプラス84にあつて、再スタートセルワード
と呼ばれ、第11q図に示すフオーマツトを有する。こ
のフオーマツトは前述のシステム例外セルと同様であり
、夫々Gフイールド1149とDフイールド1150に
一つのセマフオのシステム名G.Dを含む。MBZフイ
ールド1148はOでなければならぬ。コンピユータシ
ステムに対し1以上のプロセサがある場合にはシステム
ベース600のBARプラス88に多重処理への拡張用
の一つのワードが与えられる。
このワードの詳細は第11r図に示す。システムベース
およびプロセス制御プロックの使用例第12図は、ユー
ザセグメント、システムセグメント、またはプロセスレ
デイのキユ一(Q/PR/RDY)のセグメントをアド
レスづけしアクセスするために、システムベースをプロ
セス制御プロックと組合せていかに利用するかの一例を
示す。
およびプロセス制御プロックの使用例第12図は、ユー
ザセグメント、システムセグメント、またはプロセスレ
デイのキユ一(Q/PR/RDY)のセグメントをアド
レスづけしアクセスするために、システムベースをプロ
セス制御プロックと組合せていかに利用するかの一例を
示す。
主メモリ1200はハードウエア用の部分1203を有
する。境界アドレスレジスタBARl2O2はハードウ
エア用のメモリ部分1203からシステムベース121
5を分離する。BARl2O2は、その内容をシステム
ベースに必要なアイテムの4バイト単位の変位に加える
ことによりシステムベース1215内のアイテムをアド
レスづけするために利用される。このアドレスはそのと
き所望のシステムベース内のアイテムの第一バイトを指
す。第12図ではBARl2O2は了テーブルワード(
JTW)を指している。前述のようにこのJテーブルワ
ードはJテーブル1204を指すポインタを有する。第
5図のJ番号に対しインデクスづけすることによりJテ
ーブルエントリ1216が得られる。このJテーブルエ
ントリにはPテーブル1205の絶対アドレスを指すP
テーブルポインタがある。Pテーブル1205内のP番
号(第5図)にインチクズづけすることによりPCBl
2O6の絶対アドレスが得られる。PCBl2O6で前
に示したように二つのアドレス空間ワードASWOとA
SWlがある。ベースレジスタ1201内のセグメント
テーブル番号フイールドSTNの高位のビツトはこれら
二つのアドレス空間ワードの一つをアクセスするために
用いられる。この例ではセグメントテーブルワードアレ
イSTWAl2O8を指すセグメントテーブルワードア
レイSTWAポインタを有するASWlへのアクセスの
ために用いられている。ベースレジスタ1201のセグ
メントテーブル番号STNと共に8個のセグメントテー
ブルワードの一つがSTWAl2O8内でアクセスされ
、これが8個のセグメントテーブル1210の一つを指
す。ベースレジスタ1201からのセグメントテーブル
エントリSTEはセグメント記述子が置かれるセグメン
トテーブル1210内の256個のエントリの一つをつ
くるため利用される。このセグメント記述子はユーザセ
グメント1211のアクセスのため利用される。セマフ
オを記憶するのに利用されるシステムセグメント121
4をアクセスするために、GテーブルワードGTWがシ
ステムベース1215において利用される。
する。境界アドレスレジスタBARl2O2はハードウ
エア用のメモリ部分1203からシステムベース121
5を分離する。BARl2O2は、その内容をシステム
ベースに必要なアイテムの4バイト単位の変位に加える
ことによりシステムベース1215内のアイテムをアド
レスづけするために利用される。このアドレスはそのと
き所望のシステムベース内のアイテムの第一バイトを指
す。第12図ではBARl2O2は了テーブルワード(
JTW)を指している。前述のようにこのJテーブルワ
ードはJテーブル1204を指すポインタを有する。第
5図のJ番号に対しインデクスづけすることによりJテ
ーブルエントリ1216が得られる。このJテーブルエ
ントリにはPテーブル1205の絶対アドレスを指すP
テーブルポインタがある。Pテーブル1205内のP番
号(第5図)にインチクズづけすることによりPCBl
2O6の絶対アドレスが得られる。PCBl2O6で前
に示したように二つのアドレス空間ワードASWOとA
SWlがある。ベースレジスタ1201内のセグメント
テーブル番号フイールドSTNの高位のビツトはこれら
二つのアドレス空間ワードの一つをアクセスするために
用いられる。この例ではセグメントテーブルワードアレ
イSTWAl2O8を指すセグメントテーブルワードア
レイSTWAポインタを有するASWlへのアクセスの
ために用いられている。ベースレジスタ1201のセグ
メントテーブル番号STNと共に8個のセグメントテー
ブルワードの一つがSTWAl2O8内でアクセスされ
、これが8個のセグメントテーブル1210の一つを指
す。ベースレジスタ1201からのセグメントテーブル
エントリSTEはセグメント記述子が置かれるセグメン
トテーブル1210内の256個のエントリの一つをつ
くるため利用される。このセグメント記述子はユーザセ
グメント1211のアクセスのため利用される。セマフ
オを記憶するのに利用されるシステムセグメント121
4をアクセスするために、GテーブルワードGTWがシ
ステムベース1215において利用される。
Gテーブルワードのアドレスはシステムベース内のGテ
ーブルワードの変位をBARl2O2に加えることによ
り得られる。(第6図)GテーブルワードGTWはGテ
ーブル1212を指すGテーブルポインタを含む。この
システムに対して用いることの出来るG番号を利用しそ
してGテーブルにインデクスづけすることにより、Gセ
グメント記述子がアクセスされ、そしてこれはシステム
セグメント1214をアドレスづけするために利用され
る。同様にシステムベース1215は、Q/PR/RD
Yセグメント1213を指す内部プロセサキユーワード
IPQWを捜し出すことによつてQ/PR/RDYl2
l3をアクセスするために利用される。
ーブルワードの変位をBARl2O2に加えることによ
り得られる。(第6図)GテーブルワードGTWはGテ
ーブル1212を指すGテーブルポインタを含む。この
システムに対して用いることの出来るG番号を利用しそ
してGテーブルにインデクスづけすることにより、Gセ
グメント記述子がアクセスされ、そしてこれはシステム
セグメント1214をアドレスづけするために利用され
る。同様にシステムベース1215は、Q/PR/RD
Yセグメント1213を指す内部プロセサキユーワード
IPQWを捜し出すことによつてQ/PR/RDYl2
l3をアクセスするために利用される。
制御ユニツト
第13a−13c図はこの制御ユニツトの詳細を示す。
この制御ユニツトはCPUから離れて示されているが実
際にはCPUの一部であり制御記憶ユニツトCSUl3
Ol,制御記憶インターフエースアダプタCIAl3O
2および付属サブユニツト、制御記憶ローダCSLl3
O3および制御兼ロードユニツトCLUl3O4から成
る。制御記憶ユニツトCSUl3Olは制御兼ロードユ
ニツトCLUl3O4と制御記憶インターフエースアダ
プタCIAl3O2とを介して制御記憶ローダCSLl
3O3からマイクロ命令を受取る。通常の動作条件のも
とではマイクロプログラムがシステム初期化中に外部の
ソースからロードされ、この機械の永久的制御機能とな
る。しかしながら、制御記憶ユニツトCSUl3Olは
、種々のCPUl3O6の操作モードを与えるように再
ロードされイニシャライズされることが可能である。C
PUの次の操作モードがCSUl3Olの制御のもとで
与えられる。(a)ネイテイブモード、(b)エミユレ
ーシヨンモード、(c)ネイテイブ・エミユレーシヨン
並行モード、(d)診断モード。このケイパビリテイは
CSUにあるマイクロ命令がエミユレーシヨンユニツト
1316、演算ロジックユニットALUl3l7、命令
フエツチユニツトIFUl3l8、アドレス制・御ユニ
ツトACUl3l9およびデータ管理ユニツトDMUl
32lのようなすべての他のCPU機能ユニツトの動作
を制御するために用いられるマイクロオペレーシヨンの
ソースであるために可能である。同じくCPUl3O6
内に示されているのは前述した汎用レジスタ1307、
ペースレジスタ1308、科学計算用レジスタ1309
、Tレジスタ1310、状態レジスタ1311命令カウ
ンタICl3l2、およびハードウエア制御マスクレジ
スタ1313である。一般に制御記憶ユニツトCSUl
3Olは読取/書込ランダムアクセス記憶装置(RAM
)と組合わされた9Kバイポーラ集積回路プログラマブ
ルな読取専用メモリ(PROM)である。
際にはCPUの一部であり制御記憶ユニツトCSUl3
Ol,制御記憶インターフエースアダプタCIAl3O
2および付属サブユニツト、制御記憶ローダCSLl3
O3および制御兼ロードユニツトCLUl3O4から成
る。制御記憶ユニツトCSUl3Olは制御兼ロードユ
ニツトCLUl3O4と制御記憶インターフエースアダ
プタCIAl3O2とを介して制御記憶ローダCSLl
3O3からマイクロ命令を受取る。通常の動作条件のも
とではマイクロプログラムがシステム初期化中に外部の
ソースからロードされ、この機械の永久的制御機能とな
る。しかしながら、制御記憶ユニツトCSUl3Olは
、種々のCPUl3O6の操作モードを与えるように再
ロードされイニシャライズされることが可能である。C
PUの次の操作モードがCSUl3Olの制御のもとで
与えられる。(a)ネイテイブモード、(b)エミユレ
ーシヨンモード、(c)ネイテイブ・エミユレーシヨン
並行モード、(d)診断モード。このケイパビリテイは
CSUにあるマイクロ命令がエミユレーシヨンユニツト
1316、演算ロジックユニットALUl3l7、命令
フエツチユニツトIFUl3l8、アドレス制・御ユニ
ツトACUl3l9およびデータ管理ユニツトDMUl
32lのようなすべての他のCPU機能ユニツトの動作
を制御するために用いられるマイクロオペレーシヨンの
ソースであるために可能である。同じくCPUl3O6
内に示されているのは前述した汎用レジスタ1307、
ペースレジスタ1308、科学計算用レジスタ1309
、Tレジスタ1310、状態レジスタ1311命令カウ
ンタICl3l2、およびハードウエア制御マスクレジ
スタ1313である。一般に制御記憶ユニツトCSUl
3Olは読取/書込ランダムアクセス記憶装置(RAM
)と組合わされた9Kバイポーラ集積回路プログラマブ
ルな読取専用メモリ(PROM)である。
これは一般に150ナノ秒読取サイクルと450ナノ秒
書込サイクルを有する。制御記憶の各ロケーシヨンは一
つの84ビツトマイクロ命令ワード(後述する)を記憶
し、各マイクロ命令ワードが一つのCPUサイクルを制
御する。CSUl3Olの制御記憶の各ロケーシヨンが
読まれると、その内容は、夫々がCPU内の特定のオペ
レーシヨンを生じさせる(後述する)マイクロオペレー
シヨン制御信号を与えるマイクロオペレーシヨンデコー
ダにより復号される。各マイクロ命令ワード内のロケー
シヨンをグループ化(後述する)することにより、制御
記憶シーケンス(特定のCPUオペレーシヨンまたは命
令を実行出来る)が得られる。
書込サイクルを有する。制御記憶の各ロケーシヨンは一
つの84ビツトマイクロ命令ワード(後述する)を記憶
し、各マイクロ命令ワードが一つのCPUサイクルを制
御する。CSUl3Olの制御記憶の各ロケーシヨンが
読まれると、その内容は、夫々がCPU内の特定のオペ
レーシヨンを生じさせる(後述する)マイクロオペレー
シヨン制御信号を与えるマイクロオペレーシヨンデコー
ダにより復号される。各マイクロ命令ワード内のロケー
シヨンをグループ化(後述する)することにより、制御
記憶シーケンス(特定のCPUオペレーシヨンまたは命
令を実行出来る)が得られる。
各命令がCPUにより実行開始されると、オペコード内
の或るビットが制御記憶実行開始シーケンスを決定する
ため用いられる。命令デコード機能によりセツトあるい
はりセツトされるフロツプ(図示せず)をテストにより
、制御記憶を必要なときにもう一つの特定のシーケンス
に分岐することが可能になる。制御記憶インターフエー
スアダプタCIA、1302は第13b図の制御記憶1
333のオペレーシヨンを方向づけるために制御記憶ユ
ニツト1301、データ管理ユニツトDMUl32l.
アドレス制御ユニツトACUl3l9および算術演算論
理装置ALUl3l7に連絡する。
の或るビットが制御記憶実行開始シーケンスを決定する
ため用いられる。命令デコード機能によりセツトあるい
はりセツトされるフロツプ(図示せず)をテストにより
、制御記憶を必要なときにもう一つの特定のシーケンス
に分岐することが可能になる。制御記憶インターフエー
スアダプタCIA、1302は第13b図の制御記憶1
333のオペレーシヨンを方向づけるために制御記憶ユ
ニツト1301、データ管理ユニツトDMUl32l.
アドレス制御ユニツトACUl3l9および算術演算論
理装置ALUl3l7に連絡する。
CIAl3O2は制御記憶のアドレス変更、テスト、エ
ラーチエックおよびハードウエアアドレス生成のための
論理回路を含む。ハードウエアアドレス生成は一般にエ
ラーシーケンスの実行開始アドレスの生成または初期設
立シーケンスに利用される。データ管理ユニツトDMU
l32lはCPUl3O6と主メモリおよび(または)
第1図のバッフア記憶装置との間にインターフエースを
与える。どのユニツトが他のユニツトにより要求される
情報を含むかを認識し、その情報を適正な時点でCPU
レジスタにストローブすることが、このデータ管理ユニ
ツトの役目である。データ管理ユニツトDMUは同じく
部分書込操作中にマスキングを行う。命令フエッチユニ
ツトIFUl3l8は、DMUl32l,ACUl3l
9,ALUl3l7およびCSUl3Olとの間にイン
ターフエースをつくりCPUに命令を与えつづけるよう
に働く。
ラーチエックおよびハードウエアアドレス生成のための
論理回路を含む。ハードウエアアドレス生成は一般にエ
ラーシーケンスの実行開始アドレスの生成または初期設
立シーケンスに利用される。データ管理ユニツトDMU
l32lはCPUl3O6と主メモリおよび(または)
第1図のバッフア記憶装置との間にインターフエースを
与える。どのユニツトが他のユニツトにより要求される
情報を含むかを認識し、その情報を適正な時点でCPU
レジスタにストローブすることが、このデータ管理ユニ
ツトの役目である。データ管理ユニツトDMUは同じく
部分書込操作中にマスキングを行う。命令フエッチユニ
ツトIFUl3l8は、DMUl32l,ACUl3l
9,ALUl3l7およびCSUl3Olとの間にイン
ターフエースをつくりCPUに命令を与えつづけるよう
に働く。
命令フエツチユニツトはその命令の完了の前にそのレジ
スタに次の命令を有する。このケイパビリテイを与える
ために命令フエッチユニツトIFUl3l8は通常は1
以上の命令を含む一つの12バイト命令レジスタ(図示
せず)を含む。さらにこのIFUはCSUの制御のもと
でその命令が実際に必要となる前に主メモリから情報(
命令)を要求し、かくしてその12バイト命令レジスタ
を常に更新しつづける。命令は、かくして通常は使用さ
れないメモリサイクルによりプリフエツチされる。この
IFUはまた各命令をデコードしそして他のユニツトに
その命令の長さと形式を知らせる。アドレス制御ユニツ
トACUl3l9はCIAを通じてIFU.ALU.D
MUおよびCSUと連絡する。
スタに次の命令を有する。このケイパビリテイを与える
ために命令フエッチユニツトIFUl3l8は通常は1
以上の命令を含む一つの12バイト命令レジスタ(図示
せず)を含む。さらにこのIFUはCSUの制御のもと
でその命令が実際に必要となる前に主メモリから情報(
命令)を要求し、かくしてその12バイト命令レジスタ
を常に更新しつづける。命令は、かくして通常は使用さ
れないメモリサイクルによりプリフエツチされる。この
IFUはまた各命令をデコードしそして他のユニツトに
その命令の長さと形式を知らせる。アドレス制御ユニツ
トACUl3l9はCIAを通じてIFU.ALU.D
MUおよびCSUと連絡する。
ACUl3l9はCPUにおけるすべてのアドレス生成
に係る。ACUのすべてのオペレーシヨンは、その装置
への、その装置からの、又はその装置内部での転送を含
んでおりこのユニツトのCSUマイクロオペレーシヨン
および論理回路により方向づけられる。ACUの通常の
サイクルはインストラクシヨンのタイプではなくインス
トラクシヨンのアドレスのタイプによりきまる。このア
ドレスタイプによりACUは一つの命令内の各アドレス
について異つたオペレーシヨンを行う。ACUはまた連
想メモリ1319aを含み、このメモリは一般に8個の
最近使用されたメモリセグメントのベースアドレスをセ
グメント番号と共に記憶する。一つのメモリ要求がなさ
れるたびにセグメント番号が連想メモリの内容に対して
チエツクされ、そのセグメントのベースアドレスがすで
に生成され記憶されているかどうかを決定する。このベ
ースアドレスが連想メモリ1319aに含まれていれば
、このアドレスは絶対アドレスの生成に用いられ、かく
してかなりの時間が節約される。このベースアドレスは
、連想メモリ1319aに含まれていなければ主メモリ
テーブルをアクセスすることにより生成される。しかし
ながらセグメントのベースアドレスが生成された後には
、ベースアドレスは将来の参照のためセグメント番号と
共に連想メモリに記憶される。ACU.IFU.DMU
およびCSUとの間にインターフエースをつくるのは演
算論理ユニツト1317である。その主な機能はCPU
について要求される演算およびデータ処理を行うことで
ぁる。演算論理ユニツトのオペレーシヨンは完全に制御
記憶ユニツトCSUl3Olからのマイクロオペレーシ
ヨン制御信号に依存する。ALUl3l7とCSUl3
Olに関連しているのはスクラッチパッドメモリユニッ
トLSUl3l5(場合によつては局所記憶ユニツトと
呼ばれる)である。
に係る。ACUのすべてのオペレーシヨンは、その装置
への、その装置からの、又はその装置内部での転送を含
んでおりこのユニツトのCSUマイクロオペレーシヨン
および論理回路により方向づけられる。ACUの通常の
サイクルはインストラクシヨンのタイプではなくインス
トラクシヨンのアドレスのタイプによりきまる。このア
ドレスタイプによりACUは一つの命令内の各アドレス
について異つたオペレーシヨンを行う。ACUはまた連
想メモリ1319aを含み、このメモリは一般に8個の
最近使用されたメモリセグメントのベースアドレスをセ
グメント番号と共に記憶する。一つのメモリ要求がなさ
れるたびにセグメント番号が連想メモリの内容に対して
チエツクされ、そのセグメントのベースアドレスがすで
に生成され記憶されているかどうかを決定する。このベ
ースアドレスが連想メモリ1319aに含まれていれば
、このアドレスは絶対アドレスの生成に用いられ、かく
してかなりの時間が節約される。このベースアドレスは
、連想メモリ1319aに含まれていなければ主メモリ
テーブルをアクセスすることにより生成される。しかし
ながらセグメントのベースアドレスが生成された後には
、ベースアドレスは将来の参照のためセグメント番号と
共に連想メモリに記憶される。ACU.IFU.DMU
およびCSUとの間にインターフエースをつくるのは演
算論理ユニツト1317である。その主な機能はCPU
について要求される演算およびデータ処理を行うことで
ぁる。演算論理ユニツトのオペレーシヨンは完全に制御
記憶ユニツトCSUl3Olからのマイクロオペレーシ
ヨン制御信号に依存する。ALUl3l7とCSUl3
Olに関連しているのはスクラッチパッドメモリユニッ
トLSUl3l5(場合によつては局所記憶ユニツトと
呼ばれる)である。
これは、一般には256ロケーシヨン(32ビツト/ロ
ケーシヨン)を有する固体メモリおよびそのメモリに関
する選択および読取書込ロジツクからなる。このスクラ
ッチパッドメモリユニツト1315はCPU制御情報と
保守に関する情報を記憶するために用いられる。さらに
、スクラッチパッドメモリ1315はオペランドとデー
タ処理中の部分的結果とを一時的に記憶するために主と
して用いられる作業用ロケーシヨンを含む。またALU
l3l7に関連しているのはコンピユータシステムの種
々の状態を記憶するため64個のフリップフロツプから
なる補助メモリ1317aである。CPUはまたクロッ
クユニット1320を有し、本来2クロツクシステムで
あつて、第一クロックシステムは制御インターJャGース
アダプタCIAl3O2用のタイミングを生成し、第二
クロックシステムはCPU内の機能ユニツトのオペレー
シヨン用のタイミングパルスを生成する。
ケーシヨン)を有する固体メモリおよびそのメモリに関
する選択および読取書込ロジツクからなる。このスクラ
ッチパッドメモリユニツト1315はCPU制御情報と
保守に関する情報を記憶するために用いられる。さらに
、スクラッチパッドメモリ1315はオペランドとデー
タ処理中の部分的結果とを一時的に記憶するために主と
して用いられる作業用ロケーシヨンを含む。またALU
l3l7に関連しているのはコンピユータシステムの種
々の状態を記憶するため64個のフリップフロツプから
なる補助メモリ1317aである。CPUはまたクロッ
クユニット1320を有し、本来2クロツクシステムで
あつて、第一クロックシステムは制御インターJャGース
アダプタCIAl3O2用のタイミングを生成し、第二
クロックシステムはCPU内の機能ユニツトのオペレー
シヨン用のタイミングパルスを生成する。
第13c図は制御記憶ワード1325の形式を示す。
この制御記憶ワードは一般に84ビツトであり6個の主
フイールドに分割される。A.シーケンスタイプフイー
ルド1326(3ビット)B.ブランチングおよび(ま
たは)マイクロオペレーシヨン1327(23ビツト)
C.定数発生およびデジグネーシヨン1328(14ビ
ツト)D.データ・ツ一・バス1329(8ビット)E
.マイクロオペレーシヨン1330(32ビット)F.
チエツク1331(4ビツト) 制御記憶ワード1325の3ビツトEフイールドはシー
ケンス制御フイールドとして用いられる。
フイールドに分割される。A.シーケンスタイプフイー
ルド1326(3ビット)B.ブランチングおよび(ま
たは)マイクロオペレーシヨン1327(23ビツト)
C.定数発生およびデジグネーシヨン1328(14ビ
ツト)D.データ・ツ一・バス1329(8ビット)E
.マイクロオペレーシヨン1330(32ビット)F.
チエツク1331(4ビツト) 制御記憶ワード1325の3ビツトEフイールドはシー
ケンス制御フイールドとして用いられる。
一般に7つの異つたシーケンスタイプと本コンピユータ
システムに対し確保される1つの予備タイプとがある。
第13b図のプロツク1335をみるに、Eフイールド
が2進の0,1または2に等しくなると、マイクロ命令
1325のプランチングフイールドA,B,C,D,L
は次のアドレスを生成するため利用される。KSレジス
タ1337のはじめの6ビツトはBフイールド、Gテス
ト結果、Dテスト結果およびLフイールドと共に、この
ときアドレスレジスタKSl337に置かれる次のマイ
クロ命令の次のアドレスを与えるために利用される。E
フイールドが2進の4(プロツク1335参照)にセツ
トされると、選ばれた次のアドレスが割込復帰レジスタ
KAl339からとり出される。KAレジスタに記憶さ
れたこのアドレスはハードウエア割込が生じたとき次の
アドレス生成ロジックにより生成されるものである。E
フイールドが2進の5にセツトされるとき一つの分岐が
マイクロプログラムサブルーチンからのサブリターンを
開始させるために用いられる。用いられるとぎ復帰レジ
スタKRl346の内容は次の制御記憶アドレスとして
用いられる。復帰レジスタ1346はKSレジスタ13
37内の現在の制御記憶アドレスに1を加えたものをイ
ンクレメンタ1338からKRレジスタ1346にロー
ドする制御記憶コマンドを出すことによりロードされる
。ワン・レベル・ネステイング・サブルーチン・アビリ
イテイはKTリタ一・ブランチ・レジスタ1347を介
して与えられる。KRレジスタ1346がロードされる
たびにKRレジスタの古い内容が、マイクロプログラム
のリターンが呼び出されるごとにKTレジスタ1347
に移される。そしてKTレジスタの内容はKRレジスタ
に移される。第三レベル・ネステイング・サブルーチン
・アビリテイはKUレジスタ1340により与えられ、
第四レベル・ネステイング・サブルーチン●アビリテイ
はKVリターン・ブランチ・レジスタ1349により与
えられる。制御記憶ワードのEフイールドが2進の6に
セツトされると、アドレスのついた次の制御記憶ワード
がインクレメンタ1338におけるKSレジスタ133
7の現時点でのアドレスに1を加えたものに等しくなる
。Eフイールドが2進の7にセツトされると、CSUl
3Olが診断モードに入り、次のアドレスがそのときの
アドレスに1を加えたものになる。上述したプロック1
335に示した次の制御記憶アドレスへの分岐のシーケ
ンス制御に加えて、第13b図のプロツク1336には
ハードウエアで発生されるシーケンス制御を示す。(プ
ロック1335と1336はマイクロ命令ワードがとり
うる異つた形式を示すために描かれたもので、実際には
ハードウエアレジスタである。)ハードウエアで生じた
分岐はEフイールドを抑圧し固定アドレスを制御記憶ア
ドレスレジスタKSl337に強制するオーバーラード
条件(エラー、イニシャライズ、制御記憶走査等)であ
る。分岐はークロック期間中割込みライン(図示せず)
を高レベルとし、Eフィールドの制御のもとで生成され
ているアドレスをKA割込復帰レジスタ1339に記憶
することによりつくられる。このハードウエアによりつ
くられるアドレスは制御記憶アドレスレジスタに置かれ
る。或るハードウエア/フアームウエアで生成される割
込は、それらのクラスにおける別の割込が割込阻止フリ
ツプフロツプ(図示せず)によつて割込条件が満たされ
るまで実行されないときに優先的に扱われる。フアーム
ウエアマイクロオペレーシヨンはフアームウエアの制御
のもとにあるシーケンス用の割込阻止フリツプフロツプ
のリセツテイングを制御するため存在する。ハードウエ
アにより制御されているこれらシーケンスはその終りに
自動的に阻止フロツプのりセツトを行う。優先順位によ
り並べられる次の条件がこのカテゴリに存在する。(a
)制御記憶ロード、(b)制御記憶走査、(c)ハード
ウエアエラ一、(d)ソフトウエアエラ一。残りのハー
ドウエア条件は、割込阻止フロツプをセツトしないが、
それらの条件が発生するときには中間作用を生じさせる
。優先順位により並べられる次の条件がこのカテゴリに
入る。(a)イニシヤライズ (b)ソフト−クリア (c)保守パネル入力 (d)保全チヤネル入力 (e)ハードウエア出口 イニシヤライズ信号は、CSUl3Olを分岐させて2
進0をアドレスづけし、ハードウエアリセツタブルエラ
一をクリアし、ハードウエアの制御のもとで制御記憶走
査シーケンスの続く制御記憶ロードオペレーシヨンを実
行させる。
システムに対し確保される1つの予備タイプとがある。
第13b図のプロツク1335をみるに、Eフイールド
が2進の0,1または2に等しくなると、マイクロ命令
1325のプランチングフイールドA,B,C,D,L
は次のアドレスを生成するため利用される。KSレジス
タ1337のはじめの6ビツトはBフイールド、Gテス
ト結果、Dテスト結果およびLフイールドと共に、この
ときアドレスレジスタKSl337に置かれる次のマイ
クロ命令の次のアドレスを与えるために利用される。E
フイールドが2進の4(プロツク1335参照)にセツ
トされると、選ばれた次のアドレスが割込復帰レジスタ
KAl339からとり出される。KAレジスタに記憶さ
れたこのアドレスはハードウエア割込が生じたとき次の
アドレス生成ロジックにより生成されるものである。E
フイールドが2進の5にセツトされるとき一つの分岐が
マイクロプログラムサブルーチンからのサブリターンを
開始させるために用いられる。用いられるとぎ復帰レジ
スタKRl346の内容は次の制御記憶アドレスとして
用いられる。復帰レジスタ1346はKSレジスタ13
37内の現在の制御記憶アドレスに1を加えたものをイ
ンクレメンタ1338からKRレジスタ1346にロー
ドする制御記憶コマンドを出すことによりロードされる
。ワン・レベル・ネステイング・サブルーチン・アビリ
イテイはKTリタ一・ブランチ・レジスタ1347を介
して与えられる。KRレジスタ1346がロードされる
たびにKRレジスタの古い内容が、マイクロプログラム
のリターンが呼び出されるごとにKTレジスタ1347
に移される。そしてKTレジスタの内容はKRレジスタ
に移される。第三レベル・ネステイング・サブルーチン
・アビリテイはKUレジスタ1340により与えられ、
第四レベル・ネステイング・サブルーチン●アビリテイ
はKVリターン・ブランチ・レジスタ1349により与
えられる。制御記憶ワードのEフイールドが2進の6に
セツトされると、アドレスのついた次の制御記憶ワード
がインクレメンタ1338におけるKSレジスタ133
7の現時点でのアドレスに1を加えたものに等しくなる
。Eフイールドが2進の7にセツトされると、CSUl
3Olが診断モードに入り、次のアドレスがそのときの
アドレスに1を加えたものになる。上述したプロック1
335に示した次の制御記憶アドレスへの分岐のシーケ
ンス制御に加えて、第13b図のプロツク1336には
ハードウエアで発生されるシーケンス制御を示す。(プ
ロック1335と1336はマイクロ命令ワードがとり
うる異つた形式を示すために描かれたもので、実際には
ハードウエアレジスタである。)ハードウエアで生じた
分岐はEフイールドを抑圧し固定アドレスを制御記憶ア
ドレスレジスタKSl337に強制するオーバーラード
条件(エラー、イニシャライズ、制御記憶走査等)であ
る。分岐はークロック期間中割込みライン(図示せず)
を高レベルとし、Eフィールドの制御のもとで生成され
ているアドレスをKA割込復帰レジスタ1339に記憶
することによりつくられる。このハードウエアによりつ
くられるアドレスは制御記憶アドレスレジスタに置かれ
る。或るハードウエア/フアームウエアで生成される割
込は、それらのクラスにおける別の割込が割込阻止フリ
ツプフロツプ(図示せず)によつて割込条件が満たされ
るまで実行されないときに優先的に扱われる。フアーム
ウエアマイクロオペレーシヨンはフアームウエアの制御
のもとにあるシーケンス用の割込阻止フリツプフロツプ
のリセツテイングを制御するため存在する。ハードウエ
アにより制御されているこれらシーケンスはその終りに
自動的に阻止フロツプのりセツトを行う。優先順位によ
り並べられる次の条件がこのカテゴリに存在する。(a
)制御記憶ロード、(b)制御記憶走査、(c)ハード
ウエアエラ一、(d)ソフトウエアエラ一。残りのハー
ドウエア条件は、割込阻止フロツプをセツトしないが、
それらの条件が発生するときには中間作用を生じさせる
。優先順位により並べられる次の条件がこのカテゴリに
入る。(a)イニシヤライズ (b)ソフト−クリア (c)保守パネル入力 (d)保全チヤネル入力 (e)ハードウエア出口 イニシヤライズ信号は、CSUl3Olを分岐させて2
進0をアドレスづけし、ハードウエアリセツタブルエラ
一をクリアし、ハードウエアの制御のもとで制御記憶走
査シーケンスの続く制御記憶ロードオペレーシヨンを実
行させる。
これは同じくシステムイニシャライズをも行う。ソフト
−クリア信号はCSUl3Olを分岐させて2進0をア
ドレスづけし、ハードウエアリセツタブルエラ一をクリ
アし、割込阻止フロツプをりセツトさせる。保守パネル
入力信号は保守パネル上のCSUアドレススイツチ(図
示せず)にプリセツトされたアドレスにCSUを分岐さ
せる。保全チヤンネル入力信号は保全チヤンネル(図示
せず)を介して生成されるアドレスにCSUを分岐する
。
−クリア信号はCSUl3Olを分岐させて2進0をア
ドレスづけし、ハードウエアリセツタブルエラ一をクリ
アし、割込阻止フロツプをりセツトさせる。保守パネル
入力信号は保守パネル上のCSUアドレススイツチ(図
示せず)にプリセツトされたアドレスにCSUを分岐さ
せる。保全チヤンネル入力信号は保全チヤンネル(図示
せず)を介して生成されるアドレスにCSUを分岐する
。
ロードされたアドレスは、保全チャンネルの一部分であ
る保全バスQMBl344からのものであり、右寄せさ
れる。ハードウエア出口信号は2進アドレス2にCSU
を分岐させる。このシーケンスは保守機能として用いら
れる。このシーケンスの終りにフイールドEが2進4に
セットされたEフイールド分岐を与えることによりリタ
ーンが開始される。制御記憶ロード信号はCSUを2進
0にアドレスづけするため分岐させる。
る保全バスQMBl344からのものであり、右寄せさ
れる。ハードウエア出口信号は2進アドレス2にCSU
を分岐させる。このシーケンスは保守機能として用いら
れる。このシーケンスの終りにフイールドEが2進4に
セットされたEフイールド分岐を与えることによりリタ
ーンが開始される。制御記憶ロード信号はCSUを2進
0にアドレスづけするため分岐させる。
これはまたCSUの読取サイクルフロップ(図示せず)
、システムクロツク1320をオフにしそしてCSUを
ロード状態に置く。このロード状態においてCSUは制
御記憶ローダCSLl3O3,IOCl3O5、主メモ
リ102または保守パネル1355からロードされうる
。CSLからロードされるときはその終りに自動走査が
行われる。他の媒体からロードされる場合は、マイクロ
オペレーシヨン信号を生成するか保守パネルの走査スイ
ツチをセツトすることにより走査が行われる。制御記憶
走査信号はCSUをアドレス2進0に分岐させる。制御
記憶走査はこのシーケンス中は・・−トウエアの制御下
にある。走査中、システムクロック1320はオフであ
り、従つてコマンドまたはテストは実行されない。この
走査シーケンスの終りにハードウエアは割込復帰レジス
タKAの内容をアドレスレジスタKSに移し、システム
クロックはオンにされ制御がフアームウエアにもどされ
る。ハードウエアエラ一信号はCSUをアドレス2進4
に分岐させる。
、システムクロツク1320をオフにしそしてCSUを
ロード状態に置く。このロード状態においてCSUは制
御記憶ローダCSLl3O3,IOCl3O5、主メモ
リ102または保守パネル1355からロードされうる
。CSLからロードされるときはその終りに自動走査が
行われる。他の媒体からロードされる場合は、マイクロ
オペレーシヨン信号を生成するか保守パネルの走査スイ
ツチをセツトすることにより走査が行われる。制御記憶
走査信号はCSUをアドレス2進0に分岐させる。制御
記憶走査はこのシーケンス中は・・−トウエアの制御下
にある。走査中、システムクロック1320はオフであ
り、従つてコマンドまたはテストは実行されない。この
走査シーケンスの終りにハードウエアは割込復帰レジス
タKAの内容をアドレスレジスタKSに移し、システム
クロックはオンにされ制御がフアームウエアにもどされ
る。ハードウエアエラ一信号はCSUをアドレス2進4
に分岐させる。
通常の処理モードでは任意のCPU機能ユニツトで検出
されるハードウエアエラ一はハードウエアエラーライン
(図示せず)を作動させる。発生させられた制御記憶シ
ーケンスは、採るべきアクシヨンを決定するためシステ
ム条件をテストする。診断モードでは、ハードウエアで
検出出来るエラー条件はマイクロ診断プログラムから見
える。マイクロ診断プログラムはとるべきアクシヨンを
制御する。他方ソフトウエアエラ一信号はこの制御記憶
をアドレス2進1に分岐させる。このアドレスはマイク
ロプログラムの制御のもとにあるソフトウエアエラーリ
ポートシーケンスの開始アドレスである。第13c図を
再び参照すると、Eフイールド1326は前述のように
分岐コード用の3ビットフイールドである。
されるハードウエアエラ一はハードウエアエラーライン
(図示せず)を作動させる。発生させられた制御記憶シ
ーケンスは、採るべきアクシヨンを決定するためシステ
ム条件をテストする。診断モードでは、ハードウエアで
検出出来るエラー条件はマイクロ診断プログラムから見
える。マイクロ診断プログラムはとるべきアクシヨンを
制御する。他方ソフトウエアエラ一信号はこの制御記憶
をアドレス2進1に分岐させる。このアドレスはマイク
ロプログラムの制御のもとにあるソフトウエアエラーリ
ポートシーケンスの開始アドレスである。第13c図を
再び参照すると、Eフイールド1326は前述のように
分岐コード用の3ビットフイールドである。
この分岐および(または)マイクロオペレーシヨンフイ
ールド1327はA、B..C,.DおよびLフイール
ド(第13b図のブロツク1335)からなり、Aフイ
ールドは次のアドレスの上位6ビツトであり、Bフイー
ルドは64ウエイ分岐のマzクフイールドの次のアドレ
スである中間の4ビツトであり、Cフイールドは64の
テストの内の一つについての6ビツトテストフイールド
であり、Dフイールドは64のテストの内の他の一つの
6ビットテストフイールドであり、そしてLフイールド
は最下位ビツトである。Kフイールド1328は14ビ
ットフイールドであつてその6ビツトは定数フイールド
用であり、4ビットは定数またはステアリングフイール
ド(Steeringfield)用?あり、そして残
りの4ビツトは定数用のステアリングフイールドである
。データ・ツ一・バスフイールド1329はQMBバス
1344のQA部分への情報を制御するための4ビツト
QAフイールドとQMBバス1344のQB部分への情
報を制御するための4ビツトQBフイールドからなる。
Fフイールド1330はマイクロオペレーシヨンサブコ
マンドを発生させるためコード化される32ビツトフイ
ールドである。Pフイールド1331はチエック用の4
ビットからなる。オペレーシヨンにおいてはマイクロ命
令ワードは制御記憶アレイ1333に記憶される。
ールド1327はA、B..C,.DおよびLフイール
ド(第13b図のブロツク1335)からなり、Aフイ
ールドは次のアドレスの上位6ビツトであり、Bフイー
ルドは64ウエイ分岐のマzクフイールドの次のアドレ
スである中間の4ビツトであり、Cフイールドは64の
テストの内の一つについての6ビツトテストフイールド
であり、Dフイールドは64のテストの内の他の一つの
6ビットテストフイールドであり、そしてLフイールド
は最下位ビツトである。Kフイールド1328は14ビ
ットフイールドであつてその6ビツトは定数フイールド
用であり、4ビットは定数またはステアリングフイール
ド(Steeringfield)用?あり、そして残
りの4ビツトは定数用のステアリングフイールドである
。データ・ツ一・バスフイールド1329はQMBバス
1344のQA部分への情報を制御するための4ビツト
QAフイールドとQMBバス1344のQB部分への情
報を制御するための4ビツトQBフイールドからなる。
Fフイールド1330はマイクロオペレーシヨンサブコ
マンドを発生させるためコード化される32ビツトフイ
ールドである。Pフイールド1331はチエック用の4
ビットからなる。オペレーシヨンにおいてはマイクロ命
令ワードは制御記憶アレイ1333に記憶される。
−サイクルのオペレーシヨン中にこの制御記憶アレイは
KSアドレスレジスタ1337の内容によりアドレスづ
けされる。これによりこのアドレスにより特定されるロ
ケーシヨンの内容が読取ラツチ1357群に読取られる
。読取ラツチのワード内容の一部分はCPUの夫々の機
能ユニツト内の記憶レジスタに分配あるいは転送される
。各機能ユニツトはシステムクロツクソースの制御のも
とで制御記憶ワードにより特定される必要なサブコマン
ドを発生するためのデコード論理回路を含む。一般にデ
コードは、それに要する時間を最少にしコマンド信号の
伝送に通常必要なケーブルの数をへらすため、集中的に
は行われずCPU内の夫々の機能ユニツト内で行われる
。さらに、このデコードはケーブルの遅延の差により生
じるタイミングの問題を避けるために各ユニツト内で行
われる。さらに、夫々のユニツトでサブコマンドをデコ
ードすることにより、機能ユニツト内にある或る条件を
表わす信号がCIAユニツト1302にもどされるべき
でない或るサブコマンド信号の発生にQO′ フ 必要とされる。
KSアドレスレジスタ1337の内容によりアドレスづ
けされる。これによりこのアドレスにより特定されるロ
ケーシヨンの内容が読取ラツチ1357群に読取られる
。読取ラツチのワード内容の一部分はCPUの夫々の機
能ユニツト内の記憶レジスタに分配あるいは転送される
。各機能ユニツトはシステムクロツクソースの制御のも
とで制御記憶ワードにより特定される必要なサブコマン
ドを発生するためのデコード論理回路を含む。一般にデ
コードは、それに要する時間を最少にしコマンド信号の
伝送に通常必要なケーブルの数をへらすため、集中的に
は行われずCPU内の夫々の機能ユニツト内で行われる
。さらに、このデコードはケーブルの遅延の差により生
じるタイミングの問題を避けるために各ユニツト内で行
われる。さらに、夫々のユニツトでサブコマンドをデコ
ードすることにより、機能ユニツト内にある或る条件を
表わす信号がCIAユニツト1302にもどされるべき
でない或るサブコマンド信号の発生にQO′ フ 必要とされる。
代表的なデコードユニツト1359が第13b図にマイ
クロ命令ワードから種々のフイールドを受けそしてマイ
クロオペレーシヨン信号A,b,c,d・・・・・・・
・・Q,r、を発生するものとして示されている。代表
的なマイクロオペレーシヨンデコーダ1359は一つの
マイクロ命令ワードからのコマンドを受ける。マイクロ
命令ワードからのフイールドはデコードされそして複数
のラインS,t,u,・・・・・・・・・Y,zの内の
一つを[高レベル」にセツトする。点α,β,γ・・・
・・・・・・ψ,ωにおいてS−Zラインに接続する予
め定められた制御ラインピーダンスを設けることにより
一つのマトリクスが形成される。典型的にはマイクロ命
令からのフイールドがデコードされるとき、ラインS−
Zの内の一つが高レベルとなる。このマトリクス中にα
〜ωで示される黒丸は二組のライン間に接続するインピ
ーダンスを表わすから任意の水平ワイヤに沿つて伝播す
る電気信号は垂直ワイヤα−γに沿つて伝播するように
結合され、そこにインピーダンス結合(黒丸)が示され
る。各垂直ラインα−γは一つの入力としてANDゲー
ト1360−1365の夫々に接続する。他の入力信号
も中央タイミングユニツトからのタイミング信号Tsを
含めてANDゲート13601365に結合される。
クロ命令ワードから種々のフイールドを受けそしてマイ
クロオペレーシヨン信号A,b,c,d・・・・・・・
・・Q,r、を発生するものとして示されている。代表
的なマイクロオペレーシヨンデコーダ1359は一つの
マイクロ命令ワードからのコマンドを受ける。マイクロ
命令ワードからのフイールドはデコードされそして複数
のラインS,t,u,・・・・・・・・・Y,zの内の
一つを[高レベル」にセツトする。点α,β,γ・・・
・・・・・・ψ,ωにおいてS−Zラインに接続する予
め定められた制御ラインピーダンスを設けることにより
一つのマトリクスが形成される。典型的にはマイクロ命
令からのフイールドがデコードされるとき、ラインS−
Zの内の一つが高レベルとなる。このマトリクス中にα
〜ωで示される黒丸は二組のライン間に接続するインピ
ーダンスを表わすから任意の水平ワイヤに沿つて伝播す
る電気信号は垂直ワイヤα−γに沿つて伝播するように
結合され、そこにインピーダンス結合(黒丸)が示され
る。各垂直ラインα−γは一つの入力としてANDゲー
ト1360−1365の夫々に接続する。他の入力信号
も中央タイミングユニツトからのタイミング信号Tsを
含めてANDゲート13601365に結合される。
従つて、タイミング信号Tsが高レベルとなるたびに他
方の入力信号のすべてが高レベルとなつているこれらゲ
ートは開かれそしてCPU内の予め定められる機能ユニ
ツトにマイクロ命令信号を与える。例えばもし読取ラツ
チ1357からのコマンド1341がデコードされそし
て水平ラインが高レベルとなれば、垂直制御ラインA,
b,c,qは高レベルとなり、ANDゲート1360,
1361,1362,1364はタイミング信号Tsが
これらゲートに順次加えられるとき開かれる。従つて、
この組合せ(垂直制御ラインがα〜ωで表わされる異つ
た点で水平制御ラインに結合される)は制御記憶アレイ
1333からのマイクロ命令によりCPU内の機能ユニ
ツトを制御するためCPUにマイクロオペレーシヨン信
号を供給する永久的なスイツチングマトリクスを表わす
。かくして可変機構を有する永久フアームウエアは、コ
ンピユータシステムのケイパビリテイとして必要なマイ
クロオペレーシヨンのシーケンスを単に特定するだけで
本発明の装置に組込むことが出来る。正常な条件のもと
ではデータは局所レジスタYOl343としても知られ
るCPU書込一データレジスタを介して制御記憶アレイ
1333に書込まれる。
方の入力信号のすべてが高レベルとなつているこれらゲ
ートは開かれそしてCPU内の予め定められる機能ユニ
ツトにマイクロ命令信号を与える。例えばもし読取ラツ
チ1357からのコマンド1341がデコードされそし
て水平ラインが高レベルとなれば、垂直制御ラインA,
b,c,qは高レベルとなり、ANDゲート1360,
1361,1362,1364はタイミング信号Tsが
これらゲートに順次加えられるとき開かれる。従つて、
この組合せ(垂直制御ラインがα〜ωで表わされる異つ
た点で水平制御ラインに結合される)は制御記憶アレイ
1333からのマイクロ命令によりCPU内の機能ユニ
ツトを制御するためCPUにマイクロオペレーシヨン信
号を供給する永久的なスイツチングマトリクスを表わす
。かくして可変機構を有する永久フアームウエアは、コ
ンピユータシステムのケイパビリテイとして必要なマイ
クロオペレーシヨンのシーケンスを単に特定するだけで
本発明の装置に組込むことが出来る。正常な条件のもと
ではデータは局所レジスタYOl343としても知られ
るCPU書込一データレジスタを介して制御記憶アレイ
1333に書込まれる。
制御フロップ(図示せず)はこの記憶アレイの上半分が
書込まれるべきか下半分が書込まれるべきかを規定する
。制御およびロードユニツトCLUl3O4からのデー
タは保全バスQMBl344を介してCIA/CSUに
入りそしてアレイ1333に書込まれる前に記憶局所レ
ジスタYOl343により緩衝作用を受ける。レジスタ
1343は読取および書込局所レジスタとして時分割さ
れる。マルチプレクサKQMl345は保守パネル13
55またはマイクロ診断プログラムにより制御され、そ
れに接続するレジスタから読取出力路を与える。比較レ
ジスタKPl35Oは非機能用に与えられそして主とし
て保守のため用いられると共に比較ロジツク1352と
、デコードロジツク1351と共に利用される。プロセ
スのコントロール用のデイスパツチヤフアームウエアデ
イスパツチヤはフアームウエア/ハードウエアュニット
であり、その主目的は種々のプロセスキユ一を管理しプ
ロセス間のスイッチングを行い且つプロセスのキユ一の
更新、プロセス制御プロツクPCBlシステムベース中
の実行プロセスワード、新しいプロセスのレジスタ、を
含む。
書込まれるべきか下半分が書込まれるべきかを規定する
。制御およびロードユニツトCLUl3O4からのデー
タは保全バスQMBl344を介してCIA/CSUに
入りそしてアレイ1333に書込まれる前に記憶局所レ
ジスタYOl343により緩衝作用を受ける。レジスタ
1343は読取および書込局所レジスタとして時分割さ
れる。マルチプレクサKQMl345は保守パネル13
55またはマイクロ診断プログラムにより制御され、そ
れに接続するレジスタから読取出力路を与える。比較レ
ジスタKPl35Oは非機能用に与えられそして主とし
て保守のため用いられると共に比較ロジツク1352と
、デコードロジツク1351と共に利用される。プロセ
スのコントロール用のデイスパツチヤフアームウエアデ
イスパツチヤはフアームウエア/ハードウエアュニット
であり、その主目的は種々のプロセスキユ一を管理しプ
ロセス間のスイッチングを行い且つプロセスのキユ一の
更新、プロセス制御プロツクPCBlシステムベース中
の実行プロセスワード、新しいプロセスのレジスタ、を
含む。
これはまた、セマフオのメッセージを実際に待つている
プロセスに(IOC用または例外ハンドラ用のVオペレ
ーシヨン、シミユレートされたVオペレーシヨンの後で
)それらのメッセージを渡す。さらにまた、一つのプロ
セスがそのメツセージを渡すフリーリング・セマフオを
待つているときに、メツセージリンクをフリーにするP
オペレーシヨンの後で、一つのセマフオのメッセージを
キユ一に登録する。このデイスパツチヤユニツトはさら
にネイテイブモードで実行するプロセスの「ローリング
−イン(ROlllng−1n)」後、あるいは現プロ
セスがネイテイブモードで実行しているなら[コンテス
ト(COntest)」の後でネイテイブモード命令フ
アームウエアを要求する。
プロセスに(IOC用または例外ハンドラ用のVオペレ
ーシヨン、シミユレートされたVオペレーシヨンの後で
)それらのメッセージを渡す。さらにまた、一つのプロ
セスがそのメツセージを渡すフリーリング・セマフオを
待つているときに、メツセージリンクをフリーにするP
オペレーシヨンの後で、一つのセマフオのメッセージを
キユ一に登録する。このデイスパツチヤユニツトはさら
にネイテイブモードで実行するプロセスの「ローリング
−イン(ROlllng−1n)」後、あるいは現プロ
セスがネイテイブモードで実行しているなら[コンテス
ト(COntest)」の後でネイテイブモード命令フ
アームウエアを要求する。
これはまた次のものについて付加拡張フアームウエアを
要求する。(a)その付加拡張フアームウエアにおける
プロセス実行のローリングアウト中の一時的呼び出し。
(b)その付加拡張フアームウエアにおけるプロセス実
行のローリングイン中の一時的呼び出し。(c)その付
加拡張フアームウエア中のプロセス実行のローリングイ
ンの終りにおける限定的な呼び出し。(d)現プロセス
がその付加拡張フアームウエアにおいて実行している場
合の「コンテスト」後の限定的呼び出し。
要求する。(a)その付加拡張フアームウエアにおける
プロセス実行のローリングアウト中の一時的呼び出し。
(b)その付加拡張フアームウエアにおけるプロセス実
行のローリングイン中の一時的呼び出し。(c)その付
加拡張フアームウエア中のプロセス実行のローリングイ
ンの終りにおける限定的な呼び出し。(d)現プロセス
がその付加拡張フアームウエアにおいて実行している場
合の「コンテスト」後の限定的呼び出し。
さらに、このデイスパツチヤは実行プロセスのないとき
にこのシステムをアイドルループ内に置く。
にこのシステムをアイドルループ内に置く。
次のようなデイスパツチャの挿入または除去の方法があ
る。
る。
(1)初期化手続き(SIP)が最終ステツプとしてエ
ントリを与える。
ントリを与える。
(2)スタートおよび中断命令がデイスパツチヤへのエ
ントリを与える。
ントリを与える。
このスタート命令は一つのプロセスをスタートさせ、中
断命令は一つのプロセスを終らせる。(3) Pおよび
Vオペレーシヨンがデイスパツチヤへのエントリを与え
る。
断命令は一つのプロセスを終らせる。(3) Pおよび
Vオペレーシヨンがデイスパツチヤへのエントリを与え
る。
Pオペレーシヨンがセマフオからメツセージをピツクア
ツプし、メツセージのない場合にはこのプロセスが持ち
状態になる。要約すると、デイスパッチャは、どのプロ
セスが実行中かを決定し、現時点の実行プロセスをロー
リングアウトし(すなわちハードウエアレジスタ、スク
ラツチパツドメモリ等に含まれるそのときランニングで
あるプロセスに関するすべての情報をPCBに書込む)
そして新しいプロセスをローリングインする(すなわち
種々のハードウエアレジスタ、スクラツチバツドメモリ
等に含まれ現時点で実行中のプロセスに関連するすべて
の情報をPCBに書込む)ような適正なアクシヨンをと
ることによりプロセス、従つてPCBを管理する主たる
機構である。
ツプし、メツセージのない場合にはこのプロセスが持ち
状態になる。要約すると、デイスパッチャは、どのプロ
セスが実行中かを決定し、現時点の実行プロセスをロー
リングアウトし(すなわちハードウエアレジスタ、スク
ラツチパツドメモリ等に含まれるそのときランニングで
あるプロセスに関するすべての情報をPCBに書込む)
そして新しいプロセスをローリングインする(すなわち
種々のハードウエアレジスタ、スクラツチバツドメモリ
等に含まれ現時点で実行中のプロセスに関連するすべて
の情報をPCBに書込む)ような適正なアクシヨンをと
ることによりプロセス、従つてPCBを管理する主たる
機構である。
デイスパツチヤにより行われる機能を第14a141図
のフローチヤートに示す。
のフローチヤートに示す。
例えば第14a図のプロック1402はデイスパツチャ
により行われる機能を表わし、マイクロプログラムワー
ドが制御記憶ユニツトにより渡されそしてデコーダ13
59によるデコードによつて記憶サブシステム102内
のシステムベースからIPQW4yをとり出しそれをス
クラツチパツドメモリ1315に転送するため一連の適
当なマイクロオペレーシヨン信号1360,1361等
を介してCPUの適用可能な部分を制御する。
により行われる機能を表わし、マイクロプログラムワー
ドが制御記憶ユニツトにより渡されそしてデコーダ13
59によるデコードによつて記憶サブシステム102内
のシステムベースからIPQW4yをとり出しそれをス
クラツチパツドメモリ1315に転送するため一連の適
当なマイクロオペレーシヨン信号1360,1361等
を介してCPUの適用可能な部分を制御する。
同時にこのデイスパッチャはシステムベース内のGテー
ブルワードGTWにより指示されるセグメント記述子の
Gテーブルから1404のGOセグメント記述子(第1
2図)をフエツチする。IPQWワードのビット16−
31はGOセグメントと呼ぶGセグメント番号0のベー
スからQ/PR/RDYのヘツド(第一バイト)への変
位である16ビットの正の整数を含む。IPQWのビツ
ト16−31が0であれば1403のレデイキユ一は空
とみられる。もしこのレデイキユ一が空であればそれは
Q/PR/RDY内においてこのとき持ち状態となつて
いるプロセスはなく、レデイキユ一が空であることを示
す。次にデシショップロック1405で決定されるべき
ことは、空インジケータがセツトされているかどうかを
決定することにより機械中でプロセスがこのとき実行中
となつているかどうかである。(空インジケータは補助
メモリ1317aに置かれたフリツプフロツプであり、
プロセサに現在実行中のプロセスCJPがないときセツ
トされる)。
ブルワードGTWにより指示されるセグメント記述子の
Gテーブルから1404のGOセグメント記述子(第1
2図)をフエツチする。IPQWワードのビット16−
31はGOセグメントと呼ぶGセグメント番号0のベー
スからQ/PR/RDYのヘツド(第一バイト)への変
位である16ビットの正の整数を含む。IPQWのビツ
ト16−31が0であれば1403のレデイキユ一は空
とみられる。もしこのレデイキユ一が空であればそれは
Q/PR/RDY内においてこのとき持ち状態となつて
いるプロセスはなく、レデイキユ一が空であることを示
す。次にデシショップロック1405で決定されるべき
ことは、空インジケータがセツトされているかどうかを
決定することにより機械中でプロセスがこのとき実行中
となつているかどうかである。(空インジケータは補助
メモリ1317aに置かれたフリツプフロツプであり、
プロセサに現在実行中のプロセスCJPがないときセツ
トされる)。
もし空インジケータがセツトされる(すなわち現在実行
中となつているプロセスがない)と、プロセサを使用す
るためのレデイキユ一持ちとなつているプロセスがない
ことが予め決定されるから、マシンはアイドル状態14
06になる。しかしながら、もし現在実行中となつてい
るプロセスはあるが、マシンを使用持ちのプロセスがな
い場合には現プロセスがその次の命令1407をアクセ
スする。第14a図のフローチヤートのデシショップロ
ック1403を参照すると、IPQWのポインタ域(す
なわちピット16−31)に正の整数があれば、GOセ
グメント内のIPQWの指すレデイキユ一のヘツドはス
クラツチパツドメモリにフエッチされる。
中となつているプロセスがない)と、プロセサを使用す
るためのレデイキユ一持ちとなつているプロセスがない
ことが予め決定されるから、マシンはアイドル状態14
06になる。しかしながら、もし現在実行中となつてい
るプロセスはあるが、マシンを使用持ちのプロセスがな
い場合には現プロセスがその次の命令1407をアクセ
スする。第14a図のフローチヤートのデシショップロ
ック1403を参照すると、IPQWのポインタ域(す
なわちピット16−31)に正の整数があれば、GOセ
グメント内のIPQWの指すレデイキユ一のヘツドはス
クラツチパツドメモリにフエッチされる。
(説明の便宜上、重複を避け、制御ユニツトCPUに関
連したデイスパツチヤの中間機能を省略してある。しか
しながら、例により前述したそのような中間機能は一般
に存在することに注意され度い。)この点までにレデイ
キユ一で持ちとなつているプロセスがあることは決定さ
れている。これ以上のアクシヨンがとられる前に中央プ
ロセサにこのとき実行中となつているプロセスがあるか
どうかを決定する必要がある。これはこのフローチヤー
トのデシショップロック1410において、決定されそ
してもし中央プロセサにおいてこのとき実行となつてい
るプロセスがなければ(すなわちCJPがない)レデイ
キユ一のヘツドはラン(r−Un)1412である。し
かしながら、それがあればデイスパツチヤはどれが優先
順位をもつかすなわち現在実行中のプロセスかあるいは
レデイキユ一のヘツドかを決定しなければならない。従
つて、システムベース600の実行プロセスワードまた
はPCB4OOのプロセス主ワード0PMW0に置かれ
るか現プロセスの優先順位バイト(CJP)がフエツチ
される(1413)。このとき一つの決定が、現在実行
中のプロセスCJPの優先順位がレデイキユ一のヘツド
で持ち状態となつている新しいプロセスNJPのそれよ
り低いかどうかについてなされる(1414)。もしC
JPの優先順位がNJPより低くなければCJPは中央
プロセサの制御におかれそしてコンテスト・インジケー
タはりセツトする(1415)。(コンテスト・インジ
ケータはCJPのために実行される最後の命令の始め以
来1以上の新しいプロセスがレデイキユ一に置かれてい
るときを除き常にOにセツトされ、それにより競合の可
能が生じる。これら条件のもとではコンテスト・インジ
ケータは2進の1にセツトされる。)現プロセスCJP
がそれ以上の命令の続行と実行を許される前に、CJP
が付加拡張モード1415で実行しているかどうかにつ
いての一つの決定がなされる。もしCJPが実行中であ
れば次の命令がエミユレーシヨンモードで(すなわち付
加拡張モード)実行されそしてもしそうでなければ次の
命令がネイテイブモードで実行される。デシショップロ
ック1414をみるに、レデイキユ一のヘツドにおける
NJPの優先順位がCJPより高ければ、(すなわちそ
の優先順位番号がCJPの優先順位番号より低ければ)
現在実行中のプロセスCJPは機械からロールドーアウ
ト(ROlled−0ut)され新しいプロセスNJP
がそれにロールドーイン(ROlled−1n)される
。従つて、フアームウエア優先順位サブルーチンPRI
Ql4l8は、LIFO優先順位と、フアームウエアサ
ブルーチンRLLOl4l9の指令でCJPをまずロー
リυ1ングアウトすることによる優先順位番号とにより
、現プロセスCJPをレデイキユ一に登録する。
連したデイスパツチヤの中間機能を省略してある。しか
しながら、例により前述したそのような中間機能は一般
に存在することに注意され度い。)この点までにレデイ
キユ一で持ちとなつているプロセスがあることは決定さ
れている。これ以上のアクシヨンがとられる前に中央プ
ロセサにこのとき実行中となつているプロセスがあるか
どうかを決定する必要がある。これはこのフローチヤー
トのデシショップロック1410において、決定されそ
してもし中央プロセサにおいてこのとき実行となつてい
るプロセスがなければ(すなわちCJPがない)レデイ
キユ一のヘツドはラン(r−Un)1412である。し
かしながら、それがあればデイスパツチヤはどれが優先
順位をもつかすなわち現在実行中のプロセスかあるいは
レデイキユ一のヘツドかを決定しなければならない。従
つて、システムベース600の実行プロセスワードまた
はPCB4OOのプロセス主ワード0PMW0に置かれ
るか現プロセスの優先順位バイト(CJP)がフエツチ
される(1413)。このとき一つの決定が、現在実行
中のプロセスCJPの優先順位がレデイキユ一のヘツド
で持ち状態となつている新しいプロセスNJPのそれよ
り低いかどうかについてなされる(1414)。もしC
JPの優先順位がNJPより低くなければCJPは中央
プロセサの制御におかれそしてコンテスト・インジケー
タはりセツトする(1415)。(コンテスト・インジ
ケータはCJPのために実行される最後の命令の始め以
来1以上の新しいプロセスがレデイキユ一に置かれてい
るときを除き常にOにセツトされ、それにより競合の可
能が生じる。これら条件のもとではコンテスト・インジ
ケータは2進の1にセツトされる。)現プロセスCJP
がそれ以上の命令の続行と実行を許される前に、CJP
が付加拡張モード1415で実行しているかどうかにつ
いての一つの決定がなされる。もしCJPが実行中であ
れば次の命令がエミユレーシヨンモードで(すなわち付
加拡張モード)実行されそしてもしそうでなければ次の
命令がネイテイブモードで実行される。デシショップロ
ック1414をみるに、レデイキユ一のヘツドにおける
NJPの優先順位がCJPより高ければ、(すなわちそ
の優先順位番号がCJPの優先順位番号より低ければ)
現在実行中のプロセスCJPは機械からロールドーアウ
ト(ROlled−0ut)され新しいプロセスNJP
がそれにロールドーイン(ROlled−1n)される
。従つて、フアームウエア優先順位サブルーチンPRI
Ql4l8は、LIFO優先順位と、フアームウエアサ
ブルーチンRLLOl4l9の指令でCJPをまずロー
リυ1ングアウトすることによる優先順位番号とにより
、現プロセスCJPをレデイキユ一に登録する。
RLLOサブルーチンは、汎用レジスタ、ベースレジス
タ、科学計算用レジスタ、Tレジスタ、状態レジスタお
よび命令カウンタに記憶されるCJPの情報を主メモリ
内のPCBの適正な記憶領域に書込み、それがRUAの
更新を方向づける。さらに、PCB4OO内のプロセス
主ワード0(PMWO)のDEXT番号が更新される(
1420)。
タ、科学計算用レジスタ、Tレジスタ、状態レジスタお
よび命令カウンタに記憶されるCJPの情報を主メモリ
内のPCBの適正な記憶領域に書込み、それがRUAの
更新を方向づける。さらに、PCB4OO内のプロセス
主ワード0(PMWO)のDEXT番号が更新される(
1420)。
新プロセスNJPはこのときロールド・インとなる準備
が出来ている。
が出来ている。
境界アドレスレジスタBARはフエツチされ(1422
)、実行プロセスワードRPWはシステムベースのアド
レスBARプラス56からフエツチされる。プロツク1
423参照。新プロセスNJPの名前は次に実行プロセ
スワードRPWに書込まれ、そして新プロセスNJPの
名前がQ/PR/RDYのプロセスリンクPLに書込ま
れたからプロセスリンクPLにおける名前はそれ故この
ときRPWに置か −れる(プロツク1424)。それ
故レデイキユ一からのNJPはこのときCJPとなつて
、中央プロセサを制御する資格を持ち、それ故Q/PR
/RDYで持ち状態にはもはやならず、Q/PR/RD
YのプロセスリンクPLから名前を゛とること 二によ
りキユ一からはずされねばならない(プロツク1425
)。このことが行われるときプロセスレデイQ/PR/
RDYのキユ一はフアームウエアサブルーチンUQLK
により更新される(1425a)。
)、実行プロセスワードRPWはシステムベースのアド
レスBARプラス56からフエツチされる。プロツク1
423参照。新プロセスNJPの名前は次に実行プロセ
スワードRPWに書込まれ、そして新プロセスNJPの
名前がQ/PR/RDYのプロセスリンクPLに書込ま
れたからプロセスリンクPLにおける名前はそれ故この
ときRPWに置か −れる(プロツク1424)。それ
故レデイキユ一からのNJPはこのときCJPとなつて
、中央プロセサを制御する資格を持ち、それ故Q/PR
/RDYで持ち状態にはもはやならず、Q/PR/RD
YのプロセスリンクPLから名前を゛とること 二によ
りキユ一からはずされねばならない(プロツク1425
)。このことが行われるときプロセスレデイQ/PR/
RDYのキユ一はフアームウエアサブルーチンUQLK
により更新される(1425a)。
従つて機械からこのときとられ こたプロセスのJP番
号はQ/PR/RDY内のプロセスリンクに置かれ、こ
れはもはや機械の制御を有しないからそれを待たねばな
らない(1426)。この点において、中央プロセサの
この制御を新プロセスに与えそしてレデイキユ一に旧プ
ロセスを 5置く変換が行なわれ、そして中央プロセサ
の制御に一つのプロセス(新CJP)があるから空イン
ジケータは0にセツトされる(1427)。もし中央プ
ロセサの制御にCJPがなかつたならば空インジケータ
は1にセツトされることになる。こ 4の点においてプ
ロセサの割当ては完了しそして新プロセスが中央プロセ
サを要求し旧プロセスがレデイキユ一に置かれる。しか
しながらこの新プロセスは汎用レジスタ1307、ベー
スレジスタリ:)Zl3O8、科学計算用レジスタ13
09、Tレジスタ1310、状態レジスタ1311およ
び命令カウンタ1312のような第13a図のCPUl
3O6のハードウエアについてはまだ実行の準備が出来
ておらず新プロセスのPCBから制御晴報が入れられね
ばならない。
号はQ/PR/RDY内のプロセスリンクに置かれ、こ
れはもはや機械の制御を有しないからそれを待たねばな
らない(1426)。この点において、中央プロセサの
この制御を新プロセスに与えそしてレデイキユ一に旧プ
ロセスを 5置く変換が行なわれ、そして中央プロセサ
の制御に一つのプロセス(新CJP)があるから空イン
ジケータは0にセツトされる(1427)。もし中央プ
ロセサの制御にCJPがなかつたならば空インジケータ
は1にセツトされることになる。こ 4の点においてプ
ロセサの割当ては完了しそして新プロセスが中央プロセ
サを要求し旧プロセスがレデイキユ一に置かれる。しか
しながらこの新プロセスは汎用レジスタ1307、ベー
スレジスタリ:)Zl3O8、科学計算用レジスタ13
09、Tレジスタ1310、状態レジスタ1311およ
び命令カウンタ1312のような第13a図のCPUl
3O6のハードウエアについてはまだ実行の準備が出来
ておらず新プロセスのPCBから制御晴報が入れられね
ばならない。
従つて、フアームウエアサブルーチン1430はCPU
を制御しそしてPCB(第4図)からスクラツチパッド
メモリ1315へPMW3をまずフエツチし続いてPM
WOをフエツチする。
を制御しそしてPCB(第4図)からスクラツチパッド
メモリ1315へPMW3をまずフエツチし続いてPM
WOをフエツチする。
PMWOのMBZフイールドはチエックされ(1433
)そしてもし2進0でなければ違法なPCB例外が生じ
る。しかしながらPMWOのMBZフイールドがOであ
ればPMWlはフエッチされる(1434)。またPM
WlのMBZフイールドはそれが2進0であるかどうか
を決定するためにテストされる。もしこれが2進0でな
ければ違法なPCB例外があり、0に等しければデイス
パツチヤがCに進む。従つて、アドレス空間ワード0A
SW0はPCB内の適当なスペースからフエツチされそ
してセグメントテーブルワードサイズSTWSZはそれ
が7より小であるかどうかをきめるためにテストされる
(1437)。
)そしてもし2進0でなければ違法なPCB例外が生じ
る。しかしながらPMWOのMBZフイールドがOであ
ればPMWlはフエッチされる(1434)。またPM
WlのMBZフイールドはそれが2進0であるかどうか
を決定するためにテストされる。もしこれが2進0でな
ければ違法なPCB例外があり、0に等しければデイス
パツチヤがCに進む。従つて、アドレス空間ワード0A
SW0はPCB内の適当なスペースからフエツチされそ
してセグメントテーブルワードサイズSTWSZはそれ
が7より小であるかどうかをきめるためにテストされる
(1437)。
もしこれが7より大であれば違法なPCBが生じ、もし
7以下であればASWIはPCBからフエツチされ(プ
ロツク1438)そしてそのSTWSZフイールドがそ
れが8以下であるかどうかをきめるためにテストされる
(1439)。もしこのフイールドが8より大であれば
違法なPCBが生じるがもしそのSTWSZフイールド
が8か8より小であれば例外ワードEXWがフエツチさ
れる(1440)のであり、そしてそのMBZフイール
ドはそれがOに等しいかどうかをきめるためにテストさ
れる。もしMBZフイールドがOに等しくなければ違法
なPCBが生じ、Oに等しければスタックワードSKW
がフエツチされ(1442)、そのMBZフイールドは
それがOに等しいか否かを決定するためのテストをされ
る(1443)。もしOに等しければ命令カウンタワー
ドICW75′−PCBからフエツチされて命令カウン
タICに置かれ、そのTAGフイールドが0に等しいか
どうかテストされる(1445)。もしこのTAGフイ
ールドがOに等しくなければ違法なPCBが生じる。し
か5jしながら、もしTAGフイールドがOに等しいな
らばMBZワードはフエツチされ(1446)そしてそ
のMBZフイールド(ビット0−31)はそれがOに等
しいかどうかをきめるためテストされる(1447)。
7以下であればASWIはPCBからフエツチされ(プ
ロツク1438)そしてそのSTWSZフイールドがそ
れが8以下であるかどうかをきめるためにテストされる
(1439)。もしこのフイールドが8より大であれば
違法なPCBが生じるがもしそのSTWSZフイールド
が8か8より小であれば例外ワードEXWがフエツチさ
れる(1440)のであり、そしてそのMBZフイール
ドはそれがOに等しいかどうかをきめるためにテストさ
れる。もしMBZフイールドがOに等しくなければ違法
なPCBが生じ、Oに等しければスタックワードSKW
がフエツチされ(1442)、そのMBZフイールドは
それがOに等しいか否かを決定するためのテストをされ
る(1443)。もしOに等しければ命令カウンタワー
ドICW75′−PCBからフエツチされて命令カウン
タICに置かれ、そのTAGフイールドが0に等しいか
どうかテストされる(1445)。もしこのTAGフイ
ールドがOに等しくなければ違法なPCBが生じる。し
か5jしながら、もしTAGフイールドがOに等しいな
らばMBZワードはフエツチされ(1446)そしてそ
のMBZフイールド(ビット0−31)はそれがOに等
しいかどうかをきめるためテストされる(1447)。
もしそれがOに等しければ違法なPCBが生じそしてO
に等しければスタツクベースワード0,1,2SBW0
,1,2がフエツチされる(1448)。PCBのベー
スレジスタ用領域内の8個のベースレジスタの内容はフ
エツチさh(1449)そして機械のベースレジスタ1
308に記憶される。それからPCBの汎用レジスタ用
の領域からの16個の汎用レジスタの内容がフエツチさ
れ一(1450)そして汎用レジスタ1307に記憶さ
れる。しかしながら科学計算用レジスタの内容をフエッ
チする前に科学計算モードがとらされているかどうかを
きめるため(1451)プロセス主ワードO(PMWO
)のケイパビリテイバイトについてチエックがなされる
。科学計算モードがとられていればPCBの科学計算用
レジスタ用エリアからの科学レジスタの内容がフエツチ
され記憶される(1452)。フアームウエアは、この
とき課金モードがとられているかどうかをきめる(14
53)ために、PMWOのケイパピリテイバイトについ
てのチエックに進む。課金モードが利用されていれば、
(すなわちケイパビリテイバイトのアカウンテイングビ
ツトが2進1にセツトされる)アカウンテイングワード
がPCBに存在し、レデイタイムアカウントワードRT
Aが更新される。次にフアームウエアはDEXT番号が
Oにセツトされたかどうかをきめる(1414)ために
進む。もしこれがOにセツトされなければ、機械がエミ
ユレーシヨンモード(すなわち付加拡張ケイパビリテイ
が利用されている)にあることを示し、PMWOのDE
XT番号がプロセス主ワード3のDETSZフイールド
より大きいか小さいかをきめるためチエックされる(1
455)。もしそれがDETSZフイールドより大であ
れば違法なPCB例外1456が生じDEXT番号がD
ETSZフイールドより小であるがOに等しくはないな
らば機械は適法なエミユレーシヨンモードで実行してF
に進む。デシショップロック1454にもどると、もし
DEXTフイールドが2進0であればネイテイブモード
で実行されており機械がSTWをフエッチする(145
7)。PCBの残余タイムアウトワードRTOはフエツ
チされ(1458)、プロセスタイマはCJPが実行状
態で費すことのできるタイムリミツトでロードされる。
この点までは(a)機械に旧プロセスCJPがあり新プ
ロセスNJPが旧プロセスCJPより高い優先順位をも
つたときに新プロセスNJPがCPUの制御をとるため
ロールドイツとされているか、(b)CPUを制御して
いるCJPがなくそしてレデイキユ一のヘッドが実行中
となつていた。
に等しければスタツクベースワード0,1,2SBW0
,1,2がフエツチされる(1448)。PCBのベー
スレジスタ用領域内の8個のベースレジスタの内容はフ
エツチさh(1449)そして機械のベースレジスタ1
308に記憶される。それからPCBの汎用レジスタ用
の領域からの16個の汎用レジスタの内容がフエツチさ
れ一(1450)そして汎用レジスタ1307に記憶さ
れる。しかしながら科学計算用レジスタの内容をフエッ
チする前に科学計算モードがとらされているかどうかを
きめるため(1451)プロセス主ワードO(PMWO
)のケイパビリテイバイトについてチエックがなされる
。科学計算モードがとられていればPCBの科学計算用
レジスタ用エリアからの科学レジスタの内容がフエツチ
され記憶される(1452)。フアームウエアは、この
とき課金モードがとられているかどうかをきめる(14
53)ために、PMWOのケイパピリテイバイトについ
てのチエックに進む。課金モードが利用されていれば、
(すなわちケイパビリテイバイトのアカウンテイングビ
ツトが2進1にセツトされる)アカウンテイングワード
がPCBに存在し、レデイタイムアカウントワードRT
Aが更新される。次にフアームウエアはDEXT番号が
Oにセツトされたかどうかをきめる(1414)ために
進む。もしこれがOにセツトされなければ、機械がエミ
ユレーシヨンモード(すなわち付加拡張ケイパビリテイ
が利用されている)にあることを示し、PMWOのDE
XT番号がプロセス主ワード3のDETSZフイールド
より大きいか小さいかをきめるためチエックされる(1
455)。もしそれがDETSZフイールドより大であ
れば違法なPCB例外1456が生じDEXT番号がD
ETSZフイールドより小であるがOに等しくはないな
らば機械は適法なエミユレーシヨンモードで実行してF
に進む。デシショップロック1454にもどると、もし
DEXTフイールドが2進0であればネイテイブモード
で実行されており機械がSTWをフエッチする(145
7)。PCBの残余タイムアウトワードRTOはフエツ
チされ(1458)、プロセスタイマはCJPが実行状
態で費すことのできるタイムリミツトでロードされる。
この点までは(a)機械に旧プロセスCJPがあり新プ
ロセスNJPが旧プロセスCJPより高い優先順位をも
つたときに新プロセスNJPがCPUの制御をとるため
ロールドイツとされているか、(b)CPUを制御して
いるCJPがなくそしてレデイキユ一のヘッドが実行中
となつていた。
要約すると(a)のもとではCJPはRPWからとり出
されてQ/PR/RDY内のプロセスリンクPLに置か
れ、Q/PR/RDY内のプロセスリンク内のNJPが
RPWに置かれる。このときCJPになるNJPに制御
を与え、前のCJPから制御を奪つて、これら二つのプ
ロセスの位置が切換えられる。そしてNJPのPCBが
アクセスされ、NJP(現在はCJP)を実行するのに
必要な情報がスクラツチパツドメモリまたはACUのレ
ジスタアレイに置かれる。、もしCPUを制御している
CJPがなかつたなら(条件b)レデイキユ一のヘツド
が実行される。
されてQ/PR/RDY内のプロセスリンクPLに置か
れ、Q/PR/RDY内のプロセスリンク内のNJPが
RPWに置かれる。このときCJPになるNJPに制御
を与え、前のCJPから制御を奪つて、これら二つのプ
ロセスの位置が切換えられる。そしてNJPのPCBが
アクセスされ、NJP(現在はCJP)を実行するのに
必要な情報がスクラツチパツドメモリまたはACUのレ
ジスタアレイに置かれる。、もしCPUを制御している
CJPがなかつたなら(条件b)レデイキユ一のヘツド
が実行される。
すなわち、デイスパツチヤがレデイキユ一のヘツドから
プロセスリンクPLf)NJPをとつてRPWワードに
置くことによりNJPはCJPとなる。これにより、プ
ロセスリンクPLはQ/PR/RDY内で空のままにさ
れるため、それをとり出す必要がある。従つてデシショ
ップロック1461に始まつてフアームウエアはCPU
を制御しているCJPがあるかどうかを決定し、もしフ
リープロセスリンク(FPLS)があるならそれがアク
セスされキユ一に登録され、CJPがそこに書込まれる
。
プロセスリンクPLf)NJPをとつてRPWワードに
置くことによりNJPはCJPとなる。これにより、プ
ロセスリンクPLはQ/PR/RDY内で空のままにさ
れるため、それをとり出す必要がある。従つてデシショ
ップロック1461に始まつてフアームウエアはCPU
を制御しているCJPがあるかどうかを決定し、もしフ
リープロセスリンク(FPLS)があるならそれがアク
セスされキユ一に登録され、CJPがそこに書込まれる
。
しかしながら、CPUを制御しているCJPがないなら
NJPf)PMWOのステートバイトが更新され(14
60)、再び機械にCJPがあるかどうか決定される(
1463)。もしプロセサを制御しているCJPがなか
つたなら、NJP(これはQ/PR/RDYにあつたも
のでこのときは機械を制御している)のプロセスリンク
がQ/PR/RDYからとり出され(1446)(すな
わちQ/PR/RDYからはずされ)、フリーリンクセ
マフオFLSPとなり、且つフリープロセスリンクキユ
一(第9図)の805)に登録され、さらにυ0フリー
プロセスリンクキユ一1466aの一部となる。
NJPf)PMWOのステートバイトが更新され(14
60)、再び機械にCJPがあるかどうか決定される(
1463)。もしプロセサを制御しているCJPがなか
つたなら、NJP(これはQ/PR/RDYにあつたも
のでこのときは機械を制御している)のプロセスリンク
がQ/PR/RDYからとり出され(1446)(すな
わちQ/PR/RDYからはずされ)、フリーリンクセ
マフオFLSPとなり、且つフリープロセスリンクキユ
一(第9図)の805)に登録され、さらにυ0フリー
プロセスリンクキユ一1466aの一部となる。
境界アドレスレジスタBARの内容はフエツチされ(1
464)、システムベースのBARプラス56に置かれ
たNJP(このときCJP)の実行プロセスワードRP
Wが、RPW内にNJP識別を置くことにより更新され
る(プロツク1465)。空インジケータは、CJPが
なかつた場合にOにセツトされる。次にコンテストイン
ジケータ(すなわちCJPとレデイキユ一内に置かれた
プロセスとの間の競合を示すために用いられる補助メモ
リ1317a内のフリツプフロツブ)は0にセツトされ
る(1467)。そして代表的なコンテストアドレサブ
ルメモリであるセグメントアソシエータ(第1図のAS
l32)がクリアされる(1471)。その後でプロセ
スモードは1470に入る。(プロセスモードは、例外
状態を扱うのがオペレーテイング・システムではなく、
プロセサ内でオペレートしているプロセスであることを
示している。)フアームウエアはこのときCABl48
Oへと続きそして非同期トラツプビツトABがそれが2
進1にセツトされているかどうかをきめるためチエック
される(1481)。もしA、Bビツトが1にセツトさ
れていれば、プロセスリング番号PRNが非同期トラツ
プビットARNより大か等しいかをきめるために一つの
チエツクがなされる。(ABとARNは各プロセスのP
CBのプライオリテイバイト内に置かれそして、このプ
ロセスが実行状態のとき意味をもつ。ABとARNはシ
ステムベースのBARプラス56に置かれたRPWから
得られる。)RPWf)BARブラス56におけるAB
とARNはりセツトされるが、これは次のステツプ14
84が非同期トラツプビツトまたは非同期リング番号を
第一のけたにセツトさせる条件を取扱う非同期トラツプ
ルーチンへと進むべきであるからである。
464)、システムベースのBARプラス56に置かれ
たNJP(このときCJP)の実行プロセスワードRP
Wが、RPW内にNJP識別を置くことにより更新され
る(プロツク1465)。空インジケータは、CJPが
なかつた場合にOにセツトされる。次にコンテストイン
ジケータ(すなわちCJPとレデイキユ一内に置かれた
プロセスとの間の競合を示すために用いられる補助メモ
リ1317a内のフリツプフロツブ)は0にセツトされ
る(1467)。そして代表的なコンテストアドレサブ
ルメモリであるセグメントアソシエータ(第1図のAS
l32)がクリアされる(1471)。その後でプロセ
スモードは1470に入る。(プロセスモードは、例外
状態を扱うのがオペレーテイング・システムではなく、
プロセサ内でオペレートしているプロセスであることを
示している。)フアームウエアはこのときCABl48
Oへと続きそして非同期トラツプビツトABがそれが2
進1にセツトされているかどうかをきめるためチエック
される(1481)。もしA、Bビツトが1にセツトさ
れていれば、プロセスリング番号PRNが非同期トラツ
プビットARNより大か等しいかをきめるために一つの
チエツクがなされる。(ABとARNは各プロセスのP
CBのプライオリテイバイト内に置かれそして、このプ
ロセスが実行状態のとき意味をもつ。ABとARNはシ
ステムベースのBARプラス56に置かれたRPWから
得られる。)RPWf)BARブラス56におけるAB
とARNはりセツトされるが、これは次のステツプ14
84が非同期トラツプビツトまたは非同期リング番号を
第一のけたにセツトさせる条件を取扱う非同期トラツプ
ルーチンへと進むべきであるからである。
もしこれらがフアームウエアによつて次のパスでりセツ
トされないと、実際には何も誤まつていないのに何か誤
まつているとの表示が与えられ、これにより次のステッ
プは常に非同期トラツプルーチン1484へと進むため
実行しない。ここでデシショップロック1481と14
82にもどると、もしABビツトがセツトされていない
、あるいはABビツトはセツトされているがPRNがA
RNより大きくないならば、フアームウエアはどのモー
ドで(すなわち通常のネイテイブモード、あるいはエミ
ユレーシヨンモードで)プロセサを実行させるかを決め
るため進む。従つてDEXT番号はそれがOにセツトさ
れているかどうかをきめるためチエックされ、もしOに
セツトされていれば通常モードで実行される(1487
)。しかしながら、0にセツトされていないとエミユレ
ーシヨンモードで実行することになる(1486)。前
述のように、付加拡張従つてエミュレーシヨンモードま
たは他の所望のモードまたは特定の機能がEXDE(M
nemOniOEXDE)を有する実行デコール命令と
呼ばれるネイテイブモード命令に応じて本発明のデータ
処理システムに入れられる。このEXDE命令を第15
図に示す。一般には前述したようにこの命令は32ビッ
トの長さをもち、はじめの8ビットがオペコードをEX
DE命令として識別する。次の8ビツトはDEXTフイ
ールドを、そしてあとの16ビツトがDEAフイールド
を規定する。ビット8−15のDEXTフイールドは付
加拡張番号を識別しそしてデコール拡張の論理名である
。明らかなようにこのDEXTフイールドはO以外でな
ければならず、さもないと違法なフオーマツトフイール
ド条件が生じる。8ビットを有するDEXTフイールド
は255までの考えられる付加拡張または特定された機
能またはオペレーシヨンを識別することが出来る。
トされないと、実際には何も誤まつていないのに何か誤
まつているとの表示が与えられ、これにより次のステッ
プは常に非同期トラツプルーチン1484へと進むため
実行しない。ここでデシショップロック1481と14
82にもどると、もしABビツトがセツトされていない
、あるいはABビツトはセツトされているがPRNがA
RNより大きくないならば、フアームウエアはどのモー
ドで(すなわち通常のネイテイブモード、あるいはエミ
ユレーシヨンモードで)プロセサを実行させるかを決め
るため進む。従つてDEXT番号はそれがOにセツトさ
れているかどうかをきめるためチエックされ、もしOに
セツトされていれば通常モードで実行される(1487
)。しかしながら、0にセツトされていないとエミユレ
ーシヨンモードで実行することになる(1486)。前
述のように、付加拡張従つてエミュレーシヨンモードま
たは他の所望のモードまたは特定の機能がEXDE(M
nemOniOEXDE)を有する実行デコール命令と
呼ばれるネイテイブモード命令に応じて本発明のデータ
処理システムに入れられる。このEXDE命令を第15
図に示す。一般には前述したようにこの命令は32ビッ
トの長さをもち、はじめの8ビットがオペコードをEX
DE命令として識別する。次の8ビツトはDEXTフイ
ールドを、そしてあとの16ビツトがDEAフイールド
を規定する。ビット8−15のDEXTフイールドは付
加拡張番号を識別しそしてデコール拡張の論理名である
。明らかなようにこのDEXTフイールドはO以外でな
ければならず、さもないと違法なフオーマツトフイール
ド条件が生じる。8ビットを有するDEXTフイールド
は255までの考えられる付加拡張または特定された機
能またはオペレーシヨンを識別することが出来る。
かくして1に等しいDEXTフイールドは第一のタイプ
のプロセサのエミユレーシヨンに対応し、他の番号のD
EXTフイールドはさらに別のデータ処理システムのエ
ミユレーシヨンに対応する。DEXT7イールドにより
示される他の番号は、例えばこのシステムの構成には通
常含まれていないがハードウエアオプシヨンにより与え
られるような、本発明に従うゼータ処理装置による他の
機能オペレーシヨンを示す。DEAフイールドは付加拡
張アーギユメントでありエミユレーシヨンユニットのよ
うな特定の付加拡張ハードウエアへの入力として作用す
る。
のプロセサのエミユレーシヨンに対応し、他の番号のD
EXTフイールドはさらに別のデータ処理システムのエ
ミユレーシヨンに対応する。DEXT7イールドにより
示される他の番号は、例えばこのシステムの構成には通
常含まれていないがハードウエアオプシヨンにより与え
られるような、本発明に従うゼータ処理装置による他の
機能オペレーシヨンを示す。DEAフイールドは付加拡
張アーギユメントでありエミユレーシヨンユニットのよ
うな特定の付加拡張ハードウエアへの入力として作用す
る。
DEAフィールドは例えば二つのサブフイールド、すな
わち、ビツト16−23に含まれるオペコードフイール
ドとビット24−31に含まれるアーギユメントサブフ
イールドを含むことと出来る。オペコードサブフイール
ドは例えばジアップまたはムーブ命令を示しそしてアー
ギユメントセクシヨンは例えば一つのムーブを行う方法
を示すことが出来る。すなわち、オペコードサブフイー
ルドは例えば或るデータがデータ処理装置内の一つのレ
ジスタから他のレジスタに移されねばならぬことを示す
ムーブ命令を含むことが出来、アーギユメントセクシヨ
ンはそのようなデータが二点間で移される方法またはそ
のための装置若しくは経路を規定する。前述のように、
本発明のデータ処理システムはそれに含まれる各プログ
ラムまたはプロセスについてPCBを使用することを意
図する。
わち、ビツト16−23に含まれるオペコードフイール
ドとビット24−31に含まれるアーギユメントサブフ
イールドを含むことと出来る。オペコードサブフイール
ドは例えばジアップまたはムーブ命令を示しそしてアー
ギユメントセクシヨンは例えば一つのムーブを行う方法
を示すことが出来る。すなわち、オペコードサブフイー
ルドは例えば或るデータがデータ処理装置内の一つのレ
ジスタから他のレジスタに移されねばならぬことを示す
ムーブ命令を含むことが出来、アーギユメントセクシヨ
ンはそのようなデータが二点間で移される方法またはそ
のための装置若しくは経路を規定する。前述のように、
本発明のデータ処理システムはそれに含まれる各プログ
ラムまたはプロセスについてPCBを使用することを意
図する。
PCBはデータ構造でありそして任意の与えられた時点
におけるプロセスの状態を特定するのに必要な情報を含
む。PCBは付加拡張命令に用いるプロセス主ワードP
MW#0とPMW#3を含む。PMW#Oはここで問題
となるバイト長の二つのサブフイールドを含む。DEX
TバイトまたはサブフイールドはEXDE命令について
規定されたDEXTバイトと同じ情報を含むように結合
される。PMW#OにおけるDEXTサブフイールドは
、1以上の命令がエミユレーシヨンのような特定の機能
に関し非ネイテイブモードで実行されるべき場合におい
て、ネイテイブモードから非ネイテイブモードへのデー
タ処理システムの切換中に、EXDE命令から書込みを
受ける。PMW#OのDEXTバイトは、割込みが生じ
たとき、例えばエミユレーシヨンプロセスが割込みを受
けた時点において、確実に後に続くようにするためプロ
セス制御プロツクに書込まれて退避される。このDEX
Tバイトは、ネイテイブモードから出る唯一つの非ネイ
テイブモード命令を意図するEXDE命令に関してはP
MW#0に書込まれない。またPMW#0に含まれてい
るのは状態ビットであり、これはプロセサが前述のよう
にこのデータ処理装置のマシンのエミユレーシヨンモー
ドである付加拡張モードで動作されるときに2進の1に
対応するEXTDビットを含む。状態バイト内のEXT
Dビットは非ネイテイブモードが適正に入れられたかど
うかをチエツクするためのもう一つの手段であるが、こ
の説明の目的からすると除外して考えることが出来る。
このプロセス制御プロックはまた第17図に示すように
DETSZサブフイールドとDETAサブJャCールドを
含むプロセス主ワード3、PMW#3、を含む。
におけるプロセスの状態を特定するのに必要な情報を含
む。PCBは付加拡張命令に用いるプロセス主ワードP
MW#0とPMW#3を含む。PMW#Oはここで問題
となるバイト長の二つのサブフイールドを含む。DEX
TバイトまたはサブフイールドはEXDE命令について
規定されたDEXTバイトと同じ情報を含むように結合
される。PMW#OにおけるDEXTサブフイールドは
、1以上の命令がエミユレーシヨンのような特定の機能
に関し非ネイテイブモードで実行されるべき場合におい
て、ネイテイブモードから非ネイテイブモードへのデー
タ処理システムの切換中に、EXDE命令から書込みを
受ける。PMW#OのDEXTバイトは、割込みが生じ
たとき、例えばエミユレーシヨンプロセスが割込みを受
けた時点において、確実に後に続くようにするためプロ
セス制御プロツクに書込まれて退避される。このDEX
Tバイトは、ネイテイブモードから出る唯一つの非ネイ
テイブモード命令を意図するEXDE命令に関してはP
MW#0に書込まれない。またPMW#0に含まれてい
るのは状態ビットであり、これはプロセサが前述のよう
にこのデータ処理装置のマシンのエミユレーシヨンモー
ドである付加拡張モードで動作されるときに2進の1に
対応するEXTDビットを含む。状態バイト内のEXT
Dビットは非ネイテイブモードが適正に入れられたかど
うかをチエツクするためのもう一つの手段であるが、こ
の説明の目的からすると除外して考えることが出来る。
このプロセス制御プロックはまた第17図に示すように
DETSZサブフイールドとDETAサブJャCールドを
含むプロセス主ワード3、PMW#3、を含む。
DETSZサブフイールドは8ビットロケーシヨンを含
み、DETAサブフイールドは24ビツトロケーシヨン
を含む。DETSZサブフイールドはここに述べる付加
拡張テーブル内で可能なエントリの数を規定する。もし
DETSZサブフイールドが2進0であれば付加拡張モ
ードでのプロセスは許されない。
み、DETAサブフイールドは24ビツトロケーシヨン
を含む。DETSZサブフイールドはここに述べる付加
拡張テーブル内で可能なエントリの数を規定する。もし
DETSZサブフイールドが2進0であれば付加拡張モ
ードでのプロセスは許されない。
DETSZサブフイールドと付加拡張テーブル(DET
)をさらに詳細に説明する前に、DETAサブフイール
ドは付加拡張テーブルのメモリに絶対アドレスを含みそ
してDETSZサブフイールドが2進0でないときにの
み使用されて意味をもつ。付加拡張テーブルは本発明の
データ処理装置に含まれるプロセスの夫々と関連づけら
れ、従つてそれに一致する数のプロセス制御プロツクと
付加拡張テーブルがある。
)をさらに詳細に説明する前に、DETAサブフイール
ドは付加拡張テーブルのメモリに絶対アドレスを含みそ
してDETSZサブフイールドが2進0でないときにの
み使用されて意味をもつ。付加拡張テーブルは本発明の
データ処理装置に含まれるプロセスの夫々と関連づけら
れ、従つてそれに一致する数のプロセス制御プロツクと
付加拡張テーブルがある。
しかしながら、本発明によれば、複数のプロセス制御プ
ロツクが一つの付加拡張テーブルを共用してそれを指示
するようにすることにより、プロツクの数よりテーブル
の数を少くてよいことになることが期待される。夫々の
付加拡張テーブルは、例えば本システムにより企図され
るように256ビツトロケーシヨンまでを含むことが出
来る。各ビツトロケーシヨンは付加拡張モードが許され
るかどうかを規定する。さらに述べると、付加拡張テー
ブル内のロケーシヨンの最大数はEXDE命令内のDE
XTフイールドに対応する。かくして、DEXTフイー
ルドが8ビツトを有するなら付加拡張テーブル内の25
6個のロケーシヨンがアドレスづけ出来る。付加拡張テ
ーブル内のこれらビットロケーシヨンの夫々はDEXT
番号に対応する。従つて、前述したように別のプロセツ
サのエミユレーシヨンのような特別な機能またはオペレ
ーシヨンに対応する各DEXT番号は、付加拡張テーブ
ルにおける特定ビツトロケーシヨンの2進1により他方
のプロセッサのエミユレーシヨンが可能であることを示
す。付加拡張テーブル内の一つの特定のビットが2進0
のときはそのプロセスは許されない。或るシステムでは
256以上の機能が付加拡張モードにおいて構成される
こともある。
ロツクが一つの付加拡張テーブルを共用してそれを指示
するようにすることにより、プロツクの数よりテーブル
の数を少くてよいことになることが期待される。夫々の
付加拡張テーブルは、例えば本システムにより企図され
るように256ビツトロケーシヨンまでを含むことが出
来る。各ビツトロケーシヨンは付加拡張モードが許され
るかどうかを規定する。さらに述べると、付加拡張テー
ブル内のロケーシヨンの最大数はEXDE命令内のDE
XTフイールドに対応する。かくして、DEXTフイー
ルドが8ビツトを有するなら付加拡張テーブル内の25
6個のロケーシヨンがアドレスづけ出来る。付加拡張テ
ーブル内のこれらビットロケーシヨンの夫々はDEXT
番号に対応する。従つて、前述したように別のプロセツ
サのエミユレーシヨンのような特別な機能またはオペレ
ーシヨンに対応する各DEXT番号は、付加拡張テーブ
ルにおける特定ビツトロケーシヨンの2進1により他方
のプロセッサのエミユレーシヨンが可能であることを示
す。付加拡張テーブル内の一つの特定のビットが2進0
のときはそのプロセスは許されない。或るシステムでは
256以上の機能が付加拡張モードにおいて構成される
こともある。
従つてDEXTバイトすなわちフイールドはこの付加的
な機能を示すためにそのサイズを大きくしなければなら
ず、そしてさらに付加拡張テーブルのビツトロケーシヨ
ンの数も増大しなければならぬこと5yになる。
な機能を示すためにそのサイズを大きくしなければなら
ず、そしてさらに付加拡張テーブルのビツトロケーシヨ
ンの数も増大しなければならぬこと5yになる。
もつとも、システムにより扱うことが出来る数より少い
機能しかシステムに備えないことは全く自由である。こ
の場合にはDEXTフイールドは一般に本発明のデータ
処理装置に関連するメモリ内の余剰の不必要なビツトロ
ケーシヨンを用いることなく8ビットの長さのままとす
ることが出来る。しかしながら、付加拡張テーブルのサ
イズが減少されるならばかなりの記憶空間が節約出来る
。かくして、例えばもし5つのデータ処理装置が本発明
のデータ処理装置により工ミニレートされるべきであれ
ば、付加拡張テーブルは例えば長さ8ビツトでよく、大
抵の場合8ビットグループとしてフイールドを含む必要
がある。従つて、ネイテイブモードと非ネイテイブモー
ドとの間で行われるスイツチングの方法には、DEXT
フイールドで示される機能の数がこのアクテイブなプロ
セスに関連する付加拡張テーブル内のビットの数より大
きくないことを保証するためのチエツクを含んでいる。
かくして、ここに述べるプロセスは、前に説明し且つ第
14図のフローチヤートについて一般的に説明したよう
にシステムがネイテイブモードから非ネイテイブモード
へ切換えられるときに本発明のデータ処理システム内に
含まれるべきスイツチングおよびチエツキング装置を含
む。
機能しかシステムに備えないことは全く自由である。こ
の場合にはDEXTフイールドは一般に本発明のデータ
処理装置に関連するメモリ内の余剰の不必要なビツトロ
ケーシヨンを用いることなく8ビットの長さのままとす
ることが出来る。しかしながら、付加拡張テーブルのサ
イズが減少されるならばかなりの記憶空間が節約出来る
。かくして、例えばもし5つのデータ処理装置が本発明
のデータ処理装置により工ミニレートされるべきであれ
ば、付加拡張テーブルは例えば長さ8ビツトでよく、大
抵の場合8ビットグループとしてフイールドを含む必要
がある。従つて、ネイテイブモードと非ネイテイブモー
ドとの間で行われるスイツチングの方法には、DEXT
フイールドで示される機能の数がこのアクテイブなプロ
セスに関連する付加拡張テーブル内のビットの数より大
きくないことを保証するためのチエツクを含んでいる。
かくして、ここに述べるプロセスは、前に説明し且つ第
14図のフローチヤートについて一般的に説明したよう
にシステムがネイテイブモードから非ネイテイブモード
へ切換えられるときに本発明のデータ処理システム内に
含まれるべきスイツチングおよびチエツキング装置を含
む。
従つて、このシステムがEXDE命令を検出してしまう
と、第16図に示すように本発明のプログラムモード切
換装置が第16図の実行開始プロック1500で示され
るように作動される。EXDE命令が検出された後に、
そのDEXTバイトは2進0と比較されて事実土そのフ
イールドのフオーマットが正しいことが保証される。D
EXTバイトが2進Oと比較されると、違法な7オーマ
ットフイールドフラツグが作動されて、本発明のゼータ
処理装置が次のアクテイブなプロセスにもどり、さらに
オペレータにそのような違法なフオーマツトフイールド
を示すことを知らせる。この比較はプロック1502で
示されそして違法なフオーマツトJ■■で示される。プ
ロツク1502からの比較がなければプロック1504
で示される読取オペレーシヨンが行われる。プロック1
504のオペレーシにより、PCBf)PMW#3はこ
のときDETSZフイールドとPMW#3のDETAフ
イールドが一時的にバッフアに含まれるように読取られ
る。前述のように、第15図に示すようにこの命令に受
け入れられたDEXTバイトはこの特定のPCBに関連
した付加拡張テーブル内の考えられるエントリの数(D
ETSZ)と比較されねばならない。従つて、プロック
1506によりもしDEXTフイールドバイトがDET
SZフイールドより大きいか等しいならば、違法な付加
拡張番号フラツグがプロック1508において示され、
オペレータはそのことを知らされる。かくして、プロツ
ク1506により、DEXTバイトのアドレスまたは番
号のサイズが付加拡張テーブル内のビット数より大きけ
れば違法な付加拡張番号のフラツグが立てられる。また
そのようなフラツグは、DEXTバイトがDETSZに
等しいときにも立てられる。これは付加拡張テーブル内
の特定のバイトとビツトの番号付けによる。例えば、D
EXT番号が8であり付加拡張テーブルに8ビツトロケ
ーシヨンしかないならば、後述するように付加拡張テー
ブル内のはじめのエントリはネイテイブモードを示すか
ら、付加拡張テーブル内の残りの7ビツトロケーシヨン
は8つの可能な付加拡張モードを提供するには不充分で
ある。DEXT番号がDETSZ番号より小さければプ
ロツク1509の読取オペレーシヨンが行なわれ、拡張
テーブルのDEXT番目のビットが読まれる。
と、第16図に示すように本発明のプログラムモード切
換装置が第16図の実行開始プロック1500で示され
るように作動される。EXDE命令が検出された後に、
そのDEXTバイトは2進0と比較されて事実土そのフ
イールドのフオーマットが正しいことが保証される。D
EXTバイトが2進Oと比較されると、違法な7オーマ
ットフイールドフラツグが作動されて、本発明のゼータ
処理装置が次のアクテイブなプロセスにもどり、さらに
オペレータにそのような違法なフオーマツトフイールド
を示すことを知らせる。この比較はプロック1502で
示されそして違法なフオーマツトJ■■で示される。プ
ロツク1502からの比較がなければプロック1504
で示される読取オペレーシヨンが行われる。プロック1
504のオペレーシにより、PCBf)PMW#3はこ
のときDETSZフイールドとPMW#3のDETAフ
イールドが一時的にバッフアに含まれるように読取られ
る。前述のように、第15図に示すようにこの命令に受
け入れられたDEXTバイトはこの特定のPCBに関連
した付加拡張テーブル内の考えられるエントリの数(D
ETSZ)と比較されねばならない。従つて、プロック
1506によりもしDEXTフイールドバイトがDET
SZフイールドより大きいか等しいならば、違法な付加
拡張番号フラツグがプロック1508において示され、
オペレータはそのことを知らされる。かくして、プロツ
ク1506により、DEXTバイトのアドレスまたは番
号のサイズが付加拡張テーブル内のビット数より大きけ
れば違法な付加拡張番号のフラツグが立てられる。また
そのようなフラツグは、DEXTバイトがDETSZに
等しいときにも立てられる。これは付加拡張テーブル内
の特定のバイトとビツトの番号付けによる。例えば、D
EXT番号が8であり付加拡張テーブルに8ビツトロケ
ーシヨンしかないならば、後述するように付加拡張テー
ブル内のはじめのエントリはネイテイブモードを示すか
ら、付加拡張テーブル内の残りの7ビツトロケーシヨン
は8つの可能な付加拡張モードを提供するには不充分で
ある。DEXT番号がDETSZ番号より小さければプ
ロツク1509の読取オペレーシヨンが行なわれ、拡張
テーブルのDEXT番目のビットが読まれる。
かくして、DEXTフイールドについての番号が5であ
れば付加拡張テーブルの第5番目のビツト(後述するよ
うに第6番目のロケーシヨン)が読まれる。その後に付
加拡張テーブルのDEXT番目のビツトがプロツク15
10で示すように2進0と比較される。もしこれが2進
0であれば、プロツク1508は違法な付加拡張番号の
フラッグを立てて行われる。もしその比較の結果等しけ
ればプロツク1512に入り、DEXT番号がチエツク
されて、EXDE命令を受取つたときに、DEXTフイ
ールドの実際の10進数が、このシステムのデータ処理
装置内に付加拡張の・・−トウエアとフアームウエアを
備えていることを表わすことを保証する。このチエツク
の結果が否定的であればプロツク1509に入る。そう
でないときはエミユレーシヨンユニットがプロック15
14で示されるように作動される。このエミユレーシヨ
ンユニットが作動されると、このユニツトは、ネイテイ
ブモードEXDE命令あるいは後述するエミユレーシヨ
ンユニツト自体に応じて1又はそれ以上の命令を処理す
る。エミユレーシヨンユニットのこの処理は第16図の
フローがプロツク1516に示すように停止された後に
行われる。従つて、本発明の装置のプログラムスイツチ
モードを示す第16図のフローチヤートに示されるよう
に、事実土EXDE命令が全く誤つた形で使用されてい
るかどうかをきめるためのプロツク1502のチエツク
を行なう。さらに事実上付加拡張テーブル(そのビツト
数はDEXTバイトでアドレスづけ出来る数よりも多分
小さい数にされているであろう)のエントリの数は事実
+DEXTバイトにより示される数より大となることを
確実にするためのチエツクがプロック1506でなされ
る。このように付加拡張テーブルのサイズは最小とする
ことが出来る。さらに、付加拡張テーブルのサイズを事
実上最小にすることによりその内のエントリの数より大
きいDEXT番号にもとづいては誤り条件が生じなかつ
たことを確実にするためのチエツクがなされる。また、
プロック1508からこのチエツクは本発明のゼータ処
理装置に関連してオペレーテイング・システムまたはオ
ペレータによりロード出来る付加拡張テーブルが特定の
付加拡張モードに人ることを許すかどうかについてなさ
れることがわかる。さらにもう一つのチエックが例えば
プロック1512によりなされるのであり、すなわち番
号DEXTにより表わされる特定の付加拡張モードが確
実にこのシステムのフアームウエアとハードウエア内に
存在するようにするためにDEXT番号がチエツクされ
る。さらに第17図について後述するように、処理がネ
イテイプモードで再び開始される前に単一または複数の
命令に対して付加拡張モードに入る。第17図を参照す
るに、これは本発明のプログラムモード切換技術を実施
するために必要なハードウエアとフアームウエアのブロ
ック図である。
れば付加拡張テーブルの第5番目のビツト(後述するよ
うに第6番目のロケーシヨン)が読まれる。その後に付
加拡張テーブルのDEXT番目のビツトがプロツク15
10で示すように2進0と比較される。もしこれが2進
0であれば、プロツク1508は違法な付加拡張番号の
フラッグを立てて行われる。もしその比較の結果等しけ
ればプロツク1512に入り、DEXT番号がチエツク
されて、EXDE命令を受取つたときに、DEXTフイ
ールドの実際の10進数が、このシステムのデータ処理
装置内に付加拡張の・・−トウエアとフアームウエアを
備えていることを表わすことを保証する。このチエツク
の結果が否定的であればプロツク1509に入る。そう
でないときはエミユレーシヨンユニットがプロック15
14で示されるように作動される。このエミユレーシヨ
ンユニットが作動されると、このユニツトは、ネイテイ
ブモードEXDE命令あるいは後述するエミユレーシヨ
ンユニツト自体に応じて1又はそれ以上の命令を処理す
る。エミユレーシヨンユニットのこの処理は第16図の
フローがプロツク1516に示すように停止された後に
行われる。従つて、本発明の装置のプログラムスイツチ
モードを示す第16図のフローチヤートに示されるよう
に、事実土EXDE命令が全く誤つた形で使用されてい
るかどうかをきめるためのプロツク1502のチエツク
を行なう。さらに事実上付加拡張テーブル(そのビツト
数はDEXTバイトでアドレスづけ出来る数よりも多分
小さい数にされているであろう)のエントリの数は事実
+DEXTバイトにより示される数より大となることを
確実にするためのチエツクがプロック1506でなされ
る。このように付加拡張テーブルのサイズは最小とする
ことが出来る。さらに、付加拡張テーブルのサイズを事
実上最小にすることによりその内のエントリの数より大
きいDEXT番号にもとづいては誤り条件が生じなかつ
たことを確実にするためのチエツクがなされる。また、
プロック1508からこのチエツクは本発明のゼータ処
理装置に関連してオペレーテイング・システムまたはオ
ペレータによりロード出来る付加拡張テーブルが特定の
付加拡張モードに人ることを許すかどうかについてなさ
れることがわかる。さらにもう一つのチエックが例えば
プロック1512によりなされるのであり、すなわち番
号DEXTにより表わされる特定の付加拡張モードが確
実にこのシステムのフアームウエアとハードウエア内に
存在するようにするためにDEXT番号がチエツクされ
る。さらに第17図について後述するように、処理がネ
イテイプモードで再び開始される前に単一または複数の
命令に対して付加拡張モードに入る。第17図を参照す
るに、これは本発明のプログラムモード切換技術を実施
するために必要なハードウエアとフアームウエアのブロ
ック図である。
かくして第17図に示すように、PCB4OOは本発明
のデータ処理装置におけるアクテイブなプログラムに関
連している。PCB4OOはプロセス主ワードPMW#
OとPMW#3を含んでいる。PMW#OはDEXTフ
イールドを含み、PMW#3はDETSZフイールドと
DETAフイールドを含んでいる。EXDE命令検出装
置1518で示されるようにEXDE命令の受け入れに
よりDEXTフイールドとDEAフイールドはバツフア
1520に一時的に記憶される。バツフア1520内の
DEXTフイールドは直ちにコンパレータ1524によ
りOビツト1522と比較される。第16図にプロツク
1502で示すような比較の結果があると、違法なフオ
ーマツトフイールドフラツグ1526がセツトされる。
この結果がないとライン1528が一つの信号を受けて
ANDゲート1530と1532を開かせる。これらA
NDゲートが開くとDETSZフイールドの内容がバッ
フア1534に置かれ、DETAフイールドの内容がバ
ツフア1536に置かれる。コンパレータ1538によ
りバツフア20から受け取るDEXTフイールドとバツ
フア1534から受け取るDETSZフイールドが比較
される。コンパレータ1538は周知のロジツクを有し
、二つの数の等しいことや、どちらの数が大きいかを決
定するため用いられる。第16図にプロツク1506で
示すように、DEXT番号がDETSZ番号に等しいか
それより大であれば違法付加拡張数1540が0Rゲー
ト1542により作動される。またDEXT番号がDE
TSZ番号より小であればANDゲート1544と15
46が開かせられる。ANDゲート1544が開くとP
CB4OOに関連した付加拡張テーブル(DET)15
48の選択が可能となる。すなわち、DETAフイール
ドに示されるように付加拡張テーブルの絶対アドレスの
通過が許されそして適正なりETの選択が許される。ゲ
ート1546が開くとバツフア1520内のDEXTフ
イールドにより示される数がここでは左から第三番目の
ビットを選択するように示されている付加拡張テーブル
1548内の適正なビツトのアドレスづけを許される。
付加拡張テーブル1548は8ビット付加拡張テーブル
についてはアドレス0(このアドレスはネイチイブまた
は非ネイテイブモードを示す)にはじまりアドレス7に
終る複数のビットロケーシヨンを含む。従つて、DEX
Tが2に等しいならDETの第三ロケーシヨンは図示の
ごとくにアドレスづけされる。付加拡張テーブル154
8から読まれたビットはコンパレータ1550に移され
、そこでそのビツトが第16図のプロツク1510に従
つてOビット1552と比較される。
のデータ処理装置におけるアクテイブなプログラムに関
連している。PCB4OOはプロセス主ワードPMW#
OとPMW#3を含んでいる。PMW#OはDEXTフ
イールドを含み、PMW#3はDETSZフイールドと
DETAフイールドを含んでいる。EXDE命令検出装
置1518で示されるようにEXDE命令の受け入れに
よりDEXTフイールドとDEAフイールドはバツフア
1520に一時的に記憶される。バツフア1520内の
DEXTフイールドは直ちにコンパレータ1524によ
りOビツト1522と比較される。第16図にプロツク
1502で示すような比較の結果があると、違法なフオ
ーマツトフイールドフラツグ1526がセツトされる。
この結果がないとライン1528が一つの信号を受けて
ANDゲート1530と1532を開かせる。これらA
NDゲートが開くとDETSZフイールドの内容がバッ
フア1534に置かれ、DETAフイールドの内容がバ
ツフア1536に置かれる。コンパレータ1538によ
りバツフア20から受け取るDEXTフイールドとバツ
フア1534から受け取るDETSZフイールドが比較
される。コンパレータ1538は周知のロジツクを有し
、二つの数の等しいことや、どちらの数が大きいかを決
定するため用いられる。第16図にプロツク1506で
示すように、DEXT番号がDETSZ番号に等しいか
それより大であれば違法付加拡張数1540が0Rゲー
ト1542により作動される。またDEXT番号がDE
TSZ番号より小であればANDゲート1544と15
46が開かせられる。ANDゲート1544が開くとP
CB4OOに関連した付加拡張テーブル(DET)15
48の選択が可能となる。すなわち、DETAフイール
ドに示されるように付加拡張テーブルの絶対アドレスの
通過が許されそして適正なりETの選択が許される。ゲ
ート1546が開くとバツフア1520内のDEXTフ
イールドにより示される数がここでは左から第三番目の
ビットを選択するように示されている付加拡張テーブル
1548内の適正なビツトのアドレスづけを許される。
付加拡張テーブル1548は8ビット付加拡張テーブル
についてはアドレス0(このアドレスはネイチイブまた
は非ネイテイブモードを示す)にはじまりアドレス7に
終る複数のビットロケーシヨンを含む。従つて、DEX
Tが2に等しいならDETの第三ロケーシヨンは図示の
ごとくにアドレスづけされる。付加拡張テーブル154
8から読まれたビットはコンパレータ1550に移され
、そこでそのビツトが第16図のプロツク1510に従
つてOビット1552と比較される。
正の比較結果が出れば違法な付加拡張番号フラツグ15
40がセツトされる。比較結果がなければコンパレータ
1550の出力がANDゲート1554を開かせる。A
NDゲート1554が開くとDEXT番号が連続的にコ
ンパレータ1556−1〜1556−Nにより比較され
うるようになる。バツフア1520内のDEXT番号は
、まずその番号により表わされる関連したハードウエア
とフアームウエァがこのシステム内にあるかどうかをき
めるために、DEXTの第1番目1557と比較される
。フロツク1557,1559,1562内のDEXT
番号は関連したハードウエア/フアームウエアがこのシ
ステムに含まれているときのみセツトされ存在する。も
し比較がなければANDゲート1558が開かれてこの
DEXT番号がDEXTの第2番目1559と比較され
うるようにする。DEXT番号とDETSZ番号Nl5
62とを比較するために最後のコンパレータ1556−
NがANDゲート1560を介して入力を受け取るまで
そのような比較が連続してなされる。もし比較がないな
らばコンパレータ1556−Nからのライン1564に
発生される信号が0Rゲート1542を介して違法な付
加拡張フラッグを作動させる。もしコンパレータ155
6の一方が一つの比較信号を発生するならば0Rゲート
1556、ANDゲート1568,1570,1572
が開かれる。ANDゲート1570が開くとDEAフイ
ールドのオペコードがエミユレーシヨンユニツトに、A
NDゲート1572が開くとDEAフイールドのアーギ
ユメントがエミユレーシヨンユニツトに夫々バツフア1
520から転送される。ANDゲート1568が開くと
DEXT番号がPCB4OOに通りPMW#0に書込ま
れる。ANDゲート1568は検出装置1576から入
る第二ライン1574により開かれねばならない。この
信号はバッファ1520に入るDEAフイールドのオペ
コードが1以上の命令についてネイテイブモードから非
ネイテイブモードに入ることを示すならばライン157
4に発生される。この場合、特定の機能またはオペレー
シヨンについて非ネイテイブモードでの処理中に割込み
が生じるならば、DEXT番号で示されるステータスが
その0q特定のプロセスについてPCB4OO内に退避
されるようにDEXT番号はPCB4OOに記憶される
。
40がセツトされる。比較結果がなければコンパレータ
1550の出力がANDゲート1554を開かせる。A
NDゲート1554が開くとDEXT番号が連続的にコ
ンパレータ1556−1〜1556−Nにより比較され
うるようになる。バツフア1520内のDEXT番号は
、まずその番号により表わされる関連したハードウエア
とフアームウエァがこのシステム内にあるかどうかをき
めるために、DEXTの第1番目1557と比較される
。フロツク1557,1559,1562内のDEXT
番号は関連したハードウエア/フアームウエアがこのシ
ステムに含まれているときのみセツトされ存在する。も
し比較がなければANDゲート1558が開かれてこの
DEXT番号がDEXTの第2番目1559と比較され
うるようにする。DEXT番号とDETSZ番号Nl5
62とを比較するために最後のコンパレータ1556−
NがANDゲート1560を介して入力を受け取るまで
そのような比較が連続してなされる。もし比較がないな
らばコンパレータ1556−Nからのライン1564に
発生される信号が0Rゲート1542を介して違法な付
加拡張フラッグを作動させる。もしコンパレータ155
6の一方が一つの比較信号を発生するならば0Rゲート
1556、ANDゲート1568,1570,1572
が開かれる。ANDゲート1570が開くとDEAフイ
ールドのオペコードがエミユレーシヨンユニツトに、A
NDゲート1572が開くとDEAフイールドのアーギ
ユメントがエミユレーシヨンユニツトに夫々バツフア1
520から転送される。ANDゲート1568が開くと
DEXT番号がPCB4OOに通りPMW#0に書込ま
れる。ANDゲート1568は検出装置1576から入
る第二ライン1574により開かれねばならない。この
信号はバッファ1520に入るDEAフイールドのオペ
コードが1以上の命令についてネイテイブモードから非
ネイテイブモードに入ることを示すならばライン157
4に発生される。この場合、特定の機能またはオペレー
シヨンについて非ネイテイブモードでの処理中に割込み
が生じるならば、DEXT番号で示されるステータスが
その0q特定のプロセスについてPCB4OO内に退避
されるようにDEXT番号はPCB4OOに記憶される
。
もし、唯一つの命令が非ネイテイブモードで処理される
べきことをDEAフイールドが示すならば、PCB4O
OにDEXT番号を退避する必要はない。従つて、DE
XT番号がPCB4OOに退避されエミュレーションユ
ニットがこのときバッファ1520からオペコードとア
ーギユメントを受け取つていれば、このエミュレーショ
ンユニットは処理のために作動される。
べきことをDEAフイールドが示すならば、PCB4O
OにDEXT番号を退避する必要はない。従つて、DE
XT番号がPCB4OOに退避されエミュレーションユ
ニットがこのときバッファ1520からオペコードとア
ーギユメントを受け取つていれば、このエミュレーショ
ンユニットは処理のために作動される。
さらに図示しないがアーギユメントがエミユレーシヨン
ユニツトに受け入れられず、あるいはそのエミユレーシ
ヨンユニツトのケイパビリテイの範囲外のであれば、違
法アーギユメントフラヅグを立てることにより違法アー
ギユメントをオペレータに知らせる信号がエミユレーシ
ヨンユニットから入る。
ユニツトに受け入れられず、あるいはそのエミユレーシ
ヨンユニツトのケイパビリテイの範囲外のであれば、違
法アーギユメントフラヅグを立てることにより違法アー
ギユメントをオペレータに知らせる信号がエミユレーシ
ヨンユニットから入る。
適正な作動後にこのエミユレーシヨンユニットはそのよ
うなエミユレーシヨンモードで処理を行い、その後にこ
のシステム内の高次の優先順位をもつプロセスによりす
ぐに割り込まれない限りこのエミユレーシヨンユニット
はネイテイブモードに制御をもどすことになる。このC
PUすなわちCPUlO4に含まれる工ミニレータはフ
アームウエアコンポーネント、ソフトウエアコンポーネ
ントおよびハードウエアコンポーネントから成る。
うなエミユレーシヨンモードで処理を行い、その後にこ
のシステム内の高次の優先順位をもつプロセスによりす
ぐに割り込まれない限りこのエミユレーシヨンユニット
はネイテイブモードに制御をもどすことになる。このC
PUすなわちCPUlO4に含まれる工ミニレータはフ
アームウエアコンポーネント、ソフトウエアコンポーネ
ントおよびハードウエアコンポーネントから成る。
この工ミニレータは、それとオペレータとの間をインタ
ーフエースする一つのプロセスと、工ミニレートされる
中央プロセサ(ECP)の実行を主な役目とする第二の
プロセスの、二つのプロセスとして動作する。そのよう
に第二のプロセスはECPモード(非ネイテイブモード
)とネイテイブモードの間で切換わる。この工ミニレー
タは論理的に三つの主コンポーネントに構成される。第
一のコンポーネントはフアームウエア互換機構(CF)
であり、これは殆んどのECP命令を工ミニレートし、
ネイテイブ・フアームウエア・イベント認識メカニズム
とインターフエースする。もう一つのコンポーネントは
工ミニレータ・ソフトウエア・パツケージ(ESP)で
あり、これはすべての残りのCPU機能、すべての一般
化されたI/Oチャンネル機能、およびすべての特殊な
工ミニレータ・サポート機能を行う。最後のコンポーネ
ントは周辺変換パッケージ(PCP)(図示せず)であ
り、これはすべての周辺サブシステムの特定の機能を行
う。第18図はこれら三つの主機能コンポーネントの内
のそれらの間のインターフエースとそれらに関連した同
期化セマフオの二つを示すものである。
ーフエースする一つのプロセスと、工ミニレートされる
中央プロセサ(ECP)の実行を主な役目とする第二の
プロセスの、二つのプロセスとして動作する。そのよう
に第二のプロセスはECPモード(非ネイテイブモード
)とネイテイブモードの間で切換わる。この工ミニレー
タは論理的に三つの主コンポーネントに構成される。第
一のコンポーネントはフアームウエア互換機構(CF)
であり、これは殆んどのECP命令を工ミニレートし、
ネイテイブ・フアームウエア・イベント認識メカニズム
とインターフエースする。もう一つのコンポーネントは
工ミニレータ・ソフトウエア・パツケージ(ESP)で
あり、これはすべての残りのCPU機能、すべての一般
化されたI/Oチャンネル機能、およびすべての特殊な
工ミニレータ・サポート機能を行う。最後のコンポーネ
ントは周辺変換パッケージ(PCP)(図示せず)であ
り、これはすべての周辺サブシステムの特定の機能を行
う。第18図はこれら三つの主機能コンポーネントの内
のそれらの間のインターフエースとそれらに関連した同
期化セマフオの二つを示すものである。
詳細にはCFl6OOはエミユレーシヨンの主ラインに
係わる工ミニレータのフアームウエア部分であつて基本
的にはECPプロセス(ESP/ECP)に対し、マス
タースレーブの関係にある。すなわちCFが行わないサ
ービスをCFがESP/ECPに要求する。基本的なC
Fの役目は次の通りである。
係わる工ミニレータのフアームウエア部分であつて基本
的にはECPプロセス(ESP/ECP)に対し、マス
タースレーブの関係にある。すなわちCFが行わないサ
ービスをCFがESP/ECPに要求する。基本的なC
Fの役目は次の通りである。
まず一般的には、前述したようにCFは殆んどのECP
命令を工ミニレートする。CFの第二の役目はそれがE
CPタイプの割込みを表わすネイテイブイベントを検出
することである。この機能は同期化セマフオの一つを通
して行われる。CFのもう一つの役目は、ECPインタ
ラプトを処理して関連したコンピユータプログラムのス
テータスを示すワードのスワップを行い、現在のワード
が工ミニレートされるプロセサのステータスを示すよう
にすることである。このワードは、後述するようにプロ
グラム・ステータス・ワード(PSW)と呼ばれるもの
である。さらに、ここでは重要でないがこのCFはネー
テイブ機能に関連したすべての所要のメモリ保護キーの
チエックを行う。ESPl6O2はESP/CPl6O
6とESP/ECPl6O4の二つのプロセスを含み、
Cpは通信プロセスでありECPは目標であるすなわち
工ミニレートされる中央プロセサを工ミニレートする際
用いられるプロセスである。
命令を工ミニレートする。CFの第二の役目はそれがE
CPタイプの割込みを表わすネイテイブイベントを検出
することである。この機能は同期化セマフオの一つを通
して行われる。CFのもう一つの役目は、ECPインタ
ラプトを処理して関連したコンピユータプログラムのス
テータスを示すワードのスワップを行い、現在のワード
が工ミニレートされるプロセサのステータスを示すよう
にすることである。このワードは、後述するようにプロ
グラム・ステータス・ワード(PSW)と呼ばれるもの
である。さらに、ここでは重要でないがこのCFはネー
テイブ機能に関連したすべての所要のメモリ保護キーの
チエックを行う。ESPl6O2はESP/CPl6O
6とESP/ECPl6O4の二つのプロセスを含み、
Cpは通信プロセスでありECPは目標であるすなわち
工ミニレートされる中央プロセサを工ミニレートする際
用いられるプロセスである。
プロセス間の切換はオペレータコンソール1608と1
/Oサブシステム1613に関連した事象の結果として
行われる。ESPl6O2の機能はCFに連絡されるべ
きデータのセツトアツプのためと制御の初期転送を行う
ためとして用いられる工ミニレータ制御機能を含む。E
SPl6O2のもう一つの機能は、一般にCFが行うこ
との出来ない補助サービスである。これはESP/EC
PがCFにより送られるエントリコードを介して確認す
る一つの範囲の機能をカバーする。これらのサービスは
I/O命令のシミユレーシヨン、ECP割込みへのネイ
ティブイベントの変換、ESP持ち状態のエミユレーシ
ヨン、メモリ保護サポートシミユレーシヨン、ECP[
エラー]処理、ESP/ECP初期プログラムロード(
IPL)のシミユレーシヨンおよびECPタイマのシミ
ユレーシヨン、を含む。上記機能の内のECP持ち状態
のエミユレーシヨンがここでまず問題である。ECPタ
ーゲツト・システムのメモリ1605は記述子が常時維
持される一つの大きなCPUメモリセグメントにより表
わされる。CPUとECPの両システムにおけるメモリ
の基本ユニツトは8ビツトバイトであるから、CPUメ
モリ内の各バイトはECPメモリにおける−バイトを表
わす。ECPメモリの一バイトのCPUアドレスはEC
PアドレスとECPメモリのセグメント記述子とを用い
て計算される。ECPカット・プログラム・ステータス
・ワード(CPSW)は工ミニレータメモリ内で一つの
倍長語で表わされる。これはCFが作動されるときにフ
アームウエアレジスタに渡される。ESP/ECPプロ
セスが制御を受けるとき主記憶装置内のCPSWはフア
ームウエアにより現在の値にセツトされる。ECPレジ
スタのセツトはCFがアクテイプのときに等価なCPU
レジスタにおいて維持される。工ミニレートされる中央
プロセサ(ECP)のこれらおよびその他の特徴は例え
ば1971年フアン・ノストランド・レーンボルト社(
VanNOstrandReinhOldCOmpan
y)版のパリ一・カザン・ジユニア(HarryKat
zan,.Jr.)著の[コンピユータ・オーガニゼー
シヨン・アンド・ザ・システム/370(COmput
erOrganizatiOnandtheSyste
m/370)」なる文献およびIBMシステムズジャー
ナル(IBMSystemsJOurnal)第3巻第
2号、1964のジ一・工ー・ブロー(G.A.Bla
auw)とエフ・ピ一・ブルックス・ジユニア(F.P
.BrOOks.Jr.)著の[ザ・ストラクチユア・
オフ・システム/360、パートエーアウトライン・オ
フ・ザ・ロジカル・ストラクチユア(TheStruc
tureOfSystem/360、PartI−0u
t1ine0ftheL0gica1Structur
e)」なる文献に詳説されている。工ミニレータのフア
ームウエアコンポーネントとソフトウエアコンポーネン
ト間の通信はソフトウエアによりイニシヤライズされそ
してソフトウエアとフアームウエアにより維持される工
ミニレータメモリ内の一組のテーブル1607を介して
行われる。
/Oサブシステム1613に関連した事象の結果として
行われる。ESPl6O2の機能はCFに連絡されるべ
きデータのセツトアツプのためと制御の初期転送を行う
ためとして用いられる工ミニレータ制御機能を含む。E
SPl6O2のもう一つの機能は、一般にCFが行うこ
との出来ない補助サービスである。これはESP/EC
PがCFにより送られるエントリコードを介して確認す
る一つの範囲の機能をカバーする。これらのサービスは
I/O命令のシミユレーシヨン、ECP割込みへのネイ
ティブイベントの変換、ESP持ち状態のエミユレーシ
ヨン、メモリ保護サポートシミユレーシヨン、ECP[
エラー]処理、ESP/ECP初期プログラムロード(
IPL)のシミユレーシヨンおよびECPタイマのシミ
ユレーシヨン、を含む。上記機能の内のECP持ち状態
のエミユレーシヨンがここでまず問題である。ECPタ
ーゲツト・システムのメモリ1605は記述子が常時維
持される一つの大きなCPUメモリセグメントにより表
わされる。CPUとECPの両システムにおけるメモリ
の基本ユニツトは8ビツトバイトであるから、CPUメ
モリ内の各バイトはECPメモリにおける−バイトを表
わす。ECPメモリの一バイトのCPUアドレスはEC
PアドレスとECPメモリのセグメント記述子とを用い
て計算される。ECPカット・プログラム・ステータス
・ワード(CPSW)は工ミニレータメモリ内で一つの
倍長語で表わされる。これはCFが作動されるときにフ
アームウエアレジスタに渡される。ESP/ECPプロ
セスが制御を受けるとき主記憶装置内のCPSWはフア
ームウエアにより現在の値にセツトされる。ECPレジ
スタのセツトはCFがアクテイプのときに等価なCPU
レジスタにおいて維持される。工ミニレートされる中央
プロセサ(ECP)のこれらおよびその他の特徴は例え
ば1971年フアン・ノストランド・レーンボルト社(
VanNOstrandReinhOldCOmpan
y)版のパリ一・カザン・ジユニア(HarryKat
zan,.Jr.)著の[コンピユータ・オーガニゼー
シヨン・アンド・ザ・システム/370(COmput
erOrganizatiOnandtheSyste
m/370)」なる文献およびIBMシステムズジャー
ナル(IBMSystemsJOurnal)第3巻第
2号、1964のジ一・工ー・ブロー(G.A.Bla
auw)とエフ・ピ一・ブルックス・ジユニア(F.P
.BrOOks.Jr.)著の[ザ・ストラクチユア・
オフ・システム/360、パートエーアウトライン・オ
フ・ザ・ロジカル・ストラクチユア(TheStruc
tureOfSystem/360、PartI−0u
t1ine0ftheL0gica1Structur
e)」なる文献に詳説されている。工ミニレータのフア
ームウエアコンポーネントとソフトウエアコンポーネン
ト間の通信はソフトウエアによりイニシヤライズされそ
してソフトウエアとフアームウエアにより維持される工
ミニレータメモリ内の一組のテーブル1607を介して
行われる。
これらテーブルについてここで説明する。ここでは問題
としてとりあげないシステム1/Oテーブルに加えて、
テーブル1607は第19図に示すようなワードアレイ
からなる工ミニレータ通信領域(ECR)を含む。
としてとりあげないシステム1/Oテーブルに加えて、
テーブル1607は第19図に示すようなワードアレイ
からなる工ミニレータ通信領域(ECR)を含む。
ESP/ECPのベースレジスタはこのエリアのセグメ
ント化されたアドレスを含む。CFとESP/ECPと
の間で転送される情報について特定のロケーシヨンを与
えることに加え、このアレイはESPを要求するときに
すべてのECPレジスタの内容を記憶するためのスペー
スをCFに与える。このアレイ内の或る領域の使用は次
の通りである。ワード1一全ECPメモリのセグメント
化されたアドレス。ワード4一生成および初期化のオプ
シヨンを示す工ミニレータオプション制御ワード(EO
CW)他の機能に加えてこれはECPタイマオプシヨン
があるかどうかを示す。
ント化されたアドレスを含む。CFとESP/ECPと
の間で転送される情報について特定のロケーシヨンを与
えることに加え、このアレイはESPを要求するときに
すべてのECPレジスタの内容を記憶するためのスペー
スをCFに与える。このアレイ内の或る領域の使用は次
の通りである。ワード1一全ECPメモリのセグメント
化されたアドレス。ワード4一生成および初期化のオプ
シヨンを示す工ミニレータオプション制御ワード(EO
CW)他の機能に加えてこれはECPタイマオプシヨン
があるかどうかを示す。
ワード5,6−カレントECPPSWO(後述する。
この詳細については前記文献を参照のこと。ワードJメ
[割込フラツグワード(IFW)。ペンデイグECP割
込とそれらのソースを示す一組のフラツグ。詳細は第2
0図に示す。
[割込フラツグワード(IFW)。ペンデイグECP割
込とそれらのソースを示す一組のフラツグ。詳細は第2
0図に示す。
ワード8−SEM−M用のセマフオ記述子のセグメント
化されたアドレス。
化されたアドレス。
ワード9−SEM−C用のセマフオ記述子のセグメント
化されたアドレス。
化されたアドレス。
ワード14〜45−ベースレジスタ、汎用レジスタ、科
学計算用レジスタの内容がESP/ECPをCPが呼出
すときCPにより記憶される退避領域。
学計算用レジスタの内容がESP/ECPをCPが呼出
すときCPにより記憶される退避領域。
ワード47一持ち状態プロンプテイングインターノくル
〜 ワード69一持ち状態の合計時間。
〜 ワード69一持ち状態の合計時間。
ワード70一持ち状態モニタリングタイム。
ワード100−ECPタイマ・デクレメント値。ワード
101−ECPタイマ・デクレメント期間。ワード10
2,103−インターバルタイマ/プロセスタイマ期間
。第19図のワード7は次のようにフラツグを含めて第
20図に詳細に示される。
101−ECPタイマ・デクレメント期間。ワード10
2,103−インターバルタイマ/プロセスタイマ期間
。第19図のワード7は次のようにフラツグを含めて第
20図に詳細に示される。
SIFはシステム割込フラツグでありESP/ECPに
よりセツトされて入力/出力チヤンネルについてのペン
デイング割込と外部割込を示す。TIFはタイマ割込フ
ラツグであつてこれはECPタイマが負となるとESP
/ECPによりセツトされる。IKFは割込キーフラツ
グであり、割込コマンドがオペレータコンソールを通じ
て送られるときESP/ECPによりセツトされる。0
SMFはワン・ステツプ・モード・フラッグでありそれ
がCFにワン・ステツプ・モードの実行を要求するとき
にESP/ECPによりセツトされる。
よりセツトされて入力/出力チヤンネルについてのペン
デイング割込と外部割込を示す。TIFはタイマ割込フ
ラツグであつてこれはECPタイマが負となるとESP
/ECPによりセツトされる。IKFは割込キーフラツ
グであり、割込コマンドがオペレータコンソールを通じ
て送られるときESP/ECPによりセツトされる。0
SMFはワン・ステツプ・モード・フラッグでありそれ
がCFにワン・ステツプ・モードの実行を要求するとき
にESP/ECPによりセツトされる。
SCNはESP/ECPに対しては要求がなされるとき
に用いるサービス・クラス・番号である。工ミニレータ
の主構成コンポーネント間の制御の移動はプロセスレベ
ル、手続きレベル、または命令レベルである関連制御レ
ベルにより調べることが出来る。
に用いるサービス・クラス・番号である。工ミニレータ
の主構成コンポーネント間の制御の移動はプロセスレベ
ル、手続きレベル、または命令レベルである関連制御レ
ベルにより調べることが出来る。
ESP/ECPおよびESP/CPの要求はプロセスレ
ベル制御を含む。第18図においてプロセス間の制御の
移動は、マスタセマフオSEM−Ml6l7と通信セマ
フオSEM−Cl6l9の二つのセマフオの一つにもと
づくVオペレーシヨンまたはPオペレーシヨンを行うプ
ロセスにより達成される。高次の優先順位をもつプロセ
ス(ESP/CP)の状態は持ちからレデイにあるいは
レデイから持ちに変わり、いずれの場合でも持ち状態プ
ロセスはレデイまたは実行プロセスになる。CFに対す
るすべてのESPの呼出しはESP/ECPl6O4か
ら発生されると同じプロセス内にある。手続きレベル呼
出しはESP/ECPがECP命令レベルエミユレーシ
ヨンをとりもどすためにCFに制御を移すときに生じる
。この呼出しはEXDE命令を介して行われる。EXD
E命令のオペランドフイールドはCFにこの要求がPC
B内のDEXTバイトの、プロセスをECPモードすな
わちエミユレーシヨンモードまたは非ネイテイブモード
にするような変化を要求する。続いて、このCFはES
P、ECPのサービスが要求されるまでECP命令エミ
ユレーシヨンを行う。制御のこの形の移動は、ESPが
一つのサービスを与えた後CFにもどるたびにCFがは
じめにESP/ECPから呼出されるときに用いられる
。夫々の場合にCFは命令エミユレーシヨンを回復する
前にECRからECPレジスタ値をロードする。EXD
E命令の付加拡張アーギユメント(DEA)はCFによ
り行われるべき機能を示す。CFからESP/ECPへ
の制御の移動はCFがECPサービスの達成のためにE
SP/ECPのたすけを必要とするとき常に与えられる
。
ベル制御を含む。第18図においてプロセス間の制御の
移動は、マスタセマフオSEM−Ml6l7と通信セマ
フオSEM−Cl6l9の二つのセマフオの一つにもと
づくVオペレーシヨンまたはPオペレーシヨンを行うプ
ロセスにより達成される。高次の優先順位をもつプロセ
ス(ESP/CP)の状態は持ちからレデイにあるいは
レデイから持ちに変わり、いずれの場合でも持ち状態プ
ロセスはレデイまたは実行プロセスになる。CFに対す
るすべてのESPの呼出しはESP/ECPl6O4か
ら発生されると同じプロセス内にある。手続きレベル呼
出しはESP/ECPがECP命令レベルエミユレーシ
ヨンをとりもどすためにCFに制御を移すときに生じる
。この呼出しはEXDE命令を介して行われる。EXD
E命令のオペランドフイールドはCFにこの要求がPC
B内のDEXTバイトの、プロセスをECPモードすな
わちエミユレーシヨンモードまたは非ネイテイブモード
にするような変化を要求する。続いて、このCFはES
P、ECPのサービスが要求されるまでECP命令エミ
ユレーシヨンを行う。制御のこの形の移動は、ESPが
一つのサービスを与えた後CFにもどるたびにCFがは
じめにESP/ECPから呼出されるときに用いられる
。夫々の場合にCFは命令エミユレーシヨンを回復する
前にECRからECPレジスタ値をロードする。EXD
E命令の付加拡張アーギユメント(DEA)はCFによ
り行われるべき機能を示す。CFからESP/ECPへ
の制御の移動はCFがECPサービスの達成のためにE
SP/ECPのたすけを必要とするとき常に与えられる
。
この移動はアクテイブなPCB内のDEXTバイトをO
にセツトしそしてESP/ECP入口点のアドレスを命
令カウンタに置くことによりCFによつて行われる。こ
れが行われる前に、このCFはECR内のECPレジス
タの内容を蓄え、PSWを更新しサービスクラス番号(
SCN)すなわち必要とされるサービスのタイプを示
すエントリ−コードをECRに置く。詳細には、互換機
構(CF)1600は次の機能を行うネイテイブモード
・フアームウエアへの加算から成る。
にセツトしそしてESP/ECP入口点のアドレスを命
令カウンタに置くことによりCFによつて行われる。こ
れが行われる前に、このCFはECR内のECPレジス
タの内容を蓄え、PSWを更新しサービスクラス番号(
SCN)すなわち必要とされるサービスのタイプを示
すエントリ−コードをECRに置く。詳細には、互換機
構(CF)1600は次の機能を行うネイテイブモード
・フアームウエアへの加算から成る。
すなわちECP命令の実行、ECP割込のシミユレーシ
ヨン、ネイテイブ゜フアームウエア(NF)/CFフア
ームウエア・インターフエシングおよびCF/ESPイ
ンターフエーシングである。工ミニレータは結果が実質
的にECPについて特定されたものと同じになるように
ECP命令を実行する。ECP割込機構はCFl6OO
とESPl6O2によりシミユレートされる。CFは割
込みが許されるときに生じるECP割込み走査とPSW
スワツプに関係する。ESP/ECPは、ネイテイブI
/0割込事象をI/0または外部割込みに変換する役割
をもつている。CFとESPは割込フラツグワード(I
FW)を介してECPI/0と外部割込のシミユレーシ
ヨンを調整する。
ヨン、ネイテイブ゜フアームウエア(NF)/CFフア
ームウエア・インターフエシングおよびCF/ESPイ
ンターフエーシングである。工ミニレータは結果が実質
的にECPについて特定されたものと同じになるように
ECP命令を実行する。ECP割込機構はCFl6OO
とESPl6O2によりシミユレートされる。CFは割
込みが許されるときに生じるECP割込み走査とPSW
スワツプに関係する。ESP/ECPは、ネイテイブI
/0割込事象をI/0または外部割込みに変換する役割
をもつている。CFとESPは割込フラツグワード(I
FW)を介してECPI/0と外部割込のシミユレーシ
ヨンを調整する。
ESPはIFW内に割込条件をセツトしそしてCFがこ
のワードを走査してCPSWから割込が許されるかどう
かを決定する。もしこれが許されると、IFW内の適当
なインジヶータがクリアされる。すなわちこの状態はペ
ンデイングとなる。すべてのプログラミング例外割込は
CFにより全て扱われる。例えばECP命令のシミユレ
ーシヨンが要求されるときや、工ミニレート不能な命令
が認識されたとき、工ミニレータについてのネイテイブ
割込が検出されるとき、またはECP持ち状態が検出さ
れる時などには、CFl6OOは、はじめに制御をES
Pl6O2に移す。ESPは制御を次の条件のもとでC
Fに移す。IPLによるECPの初期化、命令のシミユ
レーシヨンの完了、またはECP割込のシミユレーシヨ
ンの完了。実行付加拡張命令(EXDE)はCFを作動
するためESP/ECPにより用いられる。前に示した
ように、工ミニレータソフトウェアパッケージ(ESP
)はネイテイブシステムに対し一つのネイテイブプロセ
スグループを含む二つの実際のプロセスとして現われる
。
のワードを走査してCPSWから割込が許されるかどう
かを決定する。もしこれが許されると、IFW内の適当
なインジヶータがクリアされる。すなわちこの状態はペ
ンデイングとなる。すべてのプログラミング例外割込は
CFにより全て扱われる。例えばECP命令のシミユレ
ーシヨンが要求されるときや、工ミニレート不能な命令
が認識されたとき、工ミニレータについてのネイテイブ
割込が検出されるとき、またはECP持ち状態が検出さ
れる時などには、CFl6OOは、はじめに制御をES
Pl6O2に移す。ESPは制御を次の条件のもとでC
Fに移す。IPLによるECPの初期化、命令のシミユ
レーシヨンの完了、またはECP割込のシミユレーシヨ
ンの完了。実行付加拡張命令(EXDE)はCFを作動
するためESP/ECPにより用いられる。前に示した
ように、工ミニレータソフトウェアパッケージ(ESP
)はネイテイブシステムに対し一つのネイテイブプロセ
スグループを含む二つの実際のプロセスとして現われる
。
ESP/CPプロセスは、全エミユレーシヨンのセッシ
ヨンを制御する(またはオペレータの制御を許す)プロ
セスである。このプロセスは第一の実行入□点を含み、
そして他のプロセスを作動させる役目を持つ。同様にこ
のセッシヨンの終了はこのプロセスにより制御される。
ESP/CPは、ECPがまだ作動されていないとかオ
ペレータ通信が進行中であるとかのため、ECPが実行
中でないときにのみアクテイブとなる。このESP/E
CPプロセスは互換機構への論理的拡張である。このプ
ロセスのもとでネイテイブ手続とCFは実行し、そのモ
ードはDEXTバイトの値によりきまる。すなわちDE
XTバイトの値がoのときネイテイブモード処理を、そ
してDEXTバイトの値が例えば3であるときECP命
令のCF処理を示すという具合である。殆んど全部のE
SP/ECPの機能がECP命令のシミユレーシヨンま
たはネイテイブイベントの検出についてCFにより作動
される。CF要求をサービスすることに加えて、このプ
ロセスはネイテイブからECPモードへの変化を開始さ
せ、ESP/CPインターフエースを維持する役目を持
つている。このプロセスを含む実際の手続は例えばCF
作動、ECPメモリ保護シユミユレーシヨン、ECP持
ち状態シユミユレーシヨン、ECPI/0実行シユミユ
レーシヨン(PCPを含む)およびECP割込みシユミ
ユレーシヨンを含む。ECP持ち状態シユミユレーシヨ
ンは重要であるから後で詳説する。工ミニレータサポー
ト機能のいくつかをここで詳説する。
ヨンを制御する(またはオペレータの制御を許す)プロ
セスである。このプロセスは第一の実行入□点を含み、
そして他のプロセスを作動させる役目を持つ。同様にこ
のセッシヨンの終了はこのプロセスにより制御される。
ESP/CPは、ECPがまだ作動されていないとかオ
ペレータ通信が進行中であるとかのため、ECPが実行
中でないときにのみアクテイブとなる。このESP/E
CPプロセスは互換機構への論理的拡張である。このプ
ロセスのもとでネイテイブ手続とCFは実行し、そのモ
ードはDEXTバイトの値によりきまる。すなわちDE
XTバイトの値がoのときネイテイブモード処理を、そ
してDEXTバイトの値が例えば3であるときECP命
令のCF処理を示すという具合である。殆んど全部のE
SP/ECPの機能がECP命令のシミユレーシヨンま
たはネイテイブイベントの検出についてCFにより作動
される。CF要求をサービスすることに加えて、このプ
ロセスはネイテイブからECPモードへの変化を開始さ
せ、ESP/CPインターフエースを維持する役目を持
つている。このプロセスを含む実際の手続は例えばCF
作動、ECPメモリ保護シユミユレーシヨン、ECP持
ち状態シユミユレーシヨン、ECPI/0実行シユミユ
レーシヨン(PCPを含む)およびECP割込みシユミ
ユレーシヨンを含む。ECP持ち状態シユミユレーシヨ
ンは重要であるから後で詳説する。工ミニレータサポー
ト機能のいくつかをここで詳説する。
一つの機能はCF要求処理サポート機能であつてESP
/ECPが補助サービスの必要なときにCFから入れら
れる。制御の移動を行うために、このCFはECRに適
当なSCNを記憶し、DEXTバイトをoに変えそして
固定入口点でESP/ECPネイテイブソフトウエアを
入れる。SCNは次のようにグループ化される。すなわ
ち、要求されたI/0実行、要求されたメモリサポート
サービス、検出された非同期イベント、および検出され
たECP例外条件である。後者の二つのSCNグループ
は重要であるからここで詳説する。非同期イベントの検
出された要求条件において、SEM−Mセマフオカウン
ト内にメツセージが含まれているかどうかを調べるため
SEM−Mセマフオカウントをテストすることにより、
CFはネイテイブイベントがESP/ECPに向けられ
ていることを決定する。
/ECPが補助サービスの必要なときにCFから入れら
れる。制御の移動を行うために、このCFはECRに適
当なSCNを記憶し、DEXTバイトをoに変えそして
固定入口点でESP/ECPネイテイブソフトウエアを
入れる。SCNは次のようにグループ化される。すなわ
ち、要求されたI/0実行、要求されたメモリサポート
サービス、検出された非同期イベント、および検出され
たECP例外条件である。後者の二つのSCNグループ
は重要であるからここで詳説する。非同期イベントの検
出された要求条件において、SEM−Mセマフオカウン
ト内にメツセージが含まれているかどうかを調べるため
SEM−Mセマフオカウントをテストすることにより、
CFはネイテイブイベントがESP/ECPに向けられ
ていることを決定する。
このカウントがOより大きいときにCFはECR内に適
当なSCNを記憶し、制御をESP/ECPに移す。S
CNを分析するときにESP/ECPはSEM−M内の
メツセージを得て次の事象のタイプのサービスのために
制御を適正なルーチンに移す。第一のタイプは1/0事
象であり、これはアテンシヨンまたはターミネーシヨン
事象の通知がSEM−Mに入れられていることを示す。
制御はこのときサービスに対して移され、ECP害込み
へマツピングする。第二のタイプは、プロセス割込み例
外である。第三のタイプはプロセス間コミユニケーシヨ
ンである。これはESP/ECPがシユミユレートされ
るECP割込のCFを通知するためにSEM−Mにメツ
セージを置いたときに生じる。この技術は次の事象を調
整するために用いられる。すなわちECPコンンールタ
ーミネーシヨン、ECPコンソールアテンシヨン、EC
P割込キーおよびECP経過時間タイマである。ここで
問題にする工ミニレータサポート機能の他のタイプはE
CP例外条件のクラスに応じて初期化されるものである
。
当なSCNを記憶し、制御をESP/ECPに移す。S
CNを分析するときにESP/ECPはSEM−M内の
メツセージを得て次の事象のタイプのサービスのために
制御を適正なルーチンに移す。第一のタイプは1/0事
象であり、これはアテンシヨンまたはターミネーシヨン
事象の通知がSEM−Mに入れられていることを示す。
制御はこのときサービスに対して移され、ECP害込み
へマツピングする。第二のタイプは、プロセス割込み例
外である。第三のタイプはプロセス間コミユニケーシヨ
ンである。これはESP/ECPがシユミユレートされ
るECP割込のCFを通知するためにSEM−Mにメツ
セージを置いたときに生じる。この技術は次の事象を調
整するために用いられる。すなわちECPコンンールタ
ーミネーシヨン、ECPコンソールアテンシヨン、EC
P割込キーおよびECP経過時間タイマである。ここで
問題にする工ミニレータサポート機能の他のタイプはE
CP例外条件のクラスに応じて初期化されるものである
。
このタイプの条件0−つはCFが、工ミニレート不能の
ECP命令を受け取つたときに生じる。オペレータは通
知を受け、この命令をバイパスするかあるいはセツシヨ
ンを終了するかの選択をする。このECP例外に含まれ
ているのはECP持ち状態であり、これはCFがPSw
内にセツトされた持ち状態ビツトを検出したときに示さ
れる。持ち状態のシユミユレーシヨンはこのとき行われ
る。ECP持ち状態シユミユレーシヨンを述べる前にE
CPタイマシユミュレーシヨンをここで述べる。
ECP命令を受け取つたときに生じる。オペレータは通
知を受け、この命令をバイパスするかあるいはセツシヨ
ンを終了するかの選択をする。このECP例外に含まれ
ているのはECP持ち状態であり、これはCFがPSw
内にセツトされた持ち状態ビツトを検出したときに示さ
れる。持ち状態のシユミユレーシヨンはこのとき行われ
る。ECP持ち状態シユミユレーシヨンを述べる前にE
CPタイマシユミュレーシヨンをここで述べる。
一つのインターバルタイマがECPにオプシヨンとして
使用出来る。このタイムは主記憶内の一つの固定ロケー
シヨンにある一つの完全ワードとして表わされる。この
タイマのターゲツト・システムにおける存在が工ミニレ
ータオプション制御ワードにより小されるときにこれは
ECP記憶において直接に工ミニレートされる。ECP
タイマシユミユレーシヨンはそのような固定ロケーシヨ
ンすなわちECPタイマがECPの実行中に与えられた
周波数で或る値だけ減算されることを要求する。ESP
/ECPに関連するプロセスタイマはECP経過時間タ
イムをシユミユレートする。プロセスタイマが終了する
と一つのフラツグがセツトされて処理がESP/ECP
内のルーチンにより開始されうることを示す。このルー
チンはSEM−Cにメツセージを入れ、これがESP/
CPをして制御を引き受けさせる。ECPタイマは予定
の値だけECPメモリ内で減算され、その結果は符号が
正から負に変つたかどうかを決定するためにチエツクさ
れる。この符号の変化によりメツセージがSEM−Mに
入れられてECPタイマ害込をシュミユレートする。い
ずれにしてもプロセスタイマーをセツトした手段はES
P/CPをしてSEM−Cをキユ一に入れネイテイブ持
ち状態にする。ESP/ECPは再び制御を得てそのよ
うなルーチンから出る。ECP侍ち状態におけるECP
経過時間を明らかにするためにインタバルタイマが後述
するように用いられる。プロセスタイマの終了により生
じる例外の頻度は工ミニレータの性能に影響するから、
ユーザーは、プロセスタイマにおいて用いられる時間間
隔を、一つの値を特定することにより決定することが可
能である。
使用出来る。このタイムは主記憶内の一つの固定ロケー
シヨンにある一つの完全ワードとして表わされる。この
タイマのターゲツト・システムにおける存在が工ミニレ
ータオプション制御ワードにより小されるときにこれは
ECP記憶において直接に工ミニレートされる。ECP
タイマシユミユレーシヨンはそのような固定ロケーシヨ
ンすなわちECPタイマがECPの実行中に与えられた
周波数で或る値だけ減算されることを要求する。ESP
/ECPに関連するプロセスタイマはECP経過時間タ
イムをシユミユレートする。プロセスタイマが終了する
と一つのフラツグがセツトされて処理がESP/ECP
内のルーチンにより開始されうることを示す。このルー
チンはSEM−Cにメツセージを入れ、これがESP/
CPをして制御を引き受けさせる。ECPタイマは予定
の値だけECPメモリ内で減算され、その結果は符号が
正から負に変つたかどうかを決定するためにチエツクさ
れる。この符号の変化によりメツセージがSEM−Mに
入れられてECPタイマ害込をシュミユレートする。い
ずれにしてもプロセスタイマーをセツトした手段はES
P/CPをしてSEM−Cをキユ一に入れネイテイブ持
ち状態にする。ESP/ECPは再び制御を得てそのよ
うなルーチンから出る。ECP侍ち状態におけるECP
経過時間を明らかにするためにインタバルタイマが後述
するように用いられる。プロセスタイマの終了により生
じる例外の頻度は工ミニレータの性能に影響するから、
ユーザーは、プロセスタイマにおいて用いられる時間間
隔を、一つの値を特定することにより決定することが可
能である。
プロセスタイマの時間間隔は特定されねばならず、用い
られる減分は特定された時間間隔に直接比例する。EC
P持ち状態シユミユレーシヨンにおいては、ECP持ち
状態に対応する等価なCPUlO4のマシンの状態はな
いから、オペレータにとつては、いつそのような工ミニ
レータが持ち状態になつたかを決定することは困難であ
る。
られる減分は特定された時間間隔に直接比例する。EC
P持ち状態シユミユレーシヨンにおいては、ECP持ち
状態に対応する等価なCPUlO4のマシンの状態はな
いから、オペレータにとつては、いつそのような工ミニ
レータが持ち状態になつたかを決定することは困難であ
る。
さらに、もしESP/ECPが持ち状態のシユミユレー
シヨンのために実行ループ内に単にあるだけならば他の
レデイプロセスはアクテイブにはなり得ない。このため
工ミニレータはホストシステムの性能を最適にしECP
のアクテイビテイをオペレータに知らせるためにECP
持ち状態をモニタする。持ち状態がPSWのスワツプの
結果検出されるときに、可能な割込みをペンデイングに
するためのテストがなされる。もしPSwシステムマス
クにより割込みが許されないことが示されると、いわゆ
るハードな持ち状態になり、それにより持ち状態のシユ
ミユレーシヨンが−防止される。割込みのペンデイング
がないと持ち状態のシユミユレーシヨンが開始されるの
であり、さもないと制御がCFにもどされる。ESP/
ECPはインターバルタイマを用いてその持ち状態をモ
ニタし、オペレータにいかに長い(ECRのワード69
)持ち 1状態が実際にあつたかを周期的に(ECRの
ワード47)知らせる。ECPが持ち状態から出るのを
防止する条件に気づいたならオペlノータはECPター
ゲツトプログラムを中断することが出来る。
1持ち状態
のシュミユレーシヨンは次のように機能する。インター
バルタイマを予め定められた値にセツトし、予定時間が
経過したときインターバルタイマからSEM−Mにメツ
セージを送らせる信号をESP/ECPは出す。ESP
/ECPは 冫このときSEM−Mをキユ一に入れメツ
セージがSEM−Mに送られるとき実行が回復される。
持ち状態からの脱出を行わせるECP割込みはSEM−
Mを介して信号されるから、この動作は、他のプロセス
の実行させながらESP/ECPを 2中断して持ち状
態にし、自動的に持ち状態からの脱出が可能なときをE
SP/ECPに知らせる。ECP割込に対応するネイテ
イブイベント、シユミユレートされるECPタイマの符
号変化、インタバルタイマの終了の三つのタイプの動作
のい Jずれかにより作動されるべきSEM−MとES
P/ECPにメツセージが送られる。これらの条件のい
ずれかに対応する割込みが許されるなら、制御はPSW
スワツプのためCFにもどされる。ECPタイマはEC
Pが持ち状態にある間アク 5テープであるから、EC
PタイマはESP/ECPがSEM−Mのキユ一に登録
されて費す時間を反映するため更新されねばならない。
これは前述のESP/ECPプロセスタイマに用いられ
たのと同じ値を用いてインタバルタイマをセツト 4す
ることにより行われる。インタバルタイマが終了すると
、ECPタイマは更新されそしてESP/CP内でテス
トされる。ECPタイマが符号を変えると、ポテンシヤ
ル割込みがESP/CP内で処理される。許されうる割
込みが検出されないならばインタバルタイマは連続的に
りセツトされる。全持ち状態時間は累積されそして一つ
のメツセージがプロンプテイング間隔が終わるたびにオ
ペレータに送られる。第21図は本発明による持ち状態
シユミユレーシヨンのフローチヤートである。
シヨンのために実行ループ内に単にあるだけならば他の
レデイプロセスはアクテイブにはなり得ない。このため
工ミニレータはホストシステムの性能を最適にしECP
のアクテイビテイをオペレータに知らせるためにECP
持ち状態をモニタする。持ち状態がPSWのスワツプの
結果検出されるときに、可能な割込みをペンデイングに
するためのテストがなされる。もしPSwシステムマス
クにより割込みが許されないことが示されると、いわゆ
るハードな持ち状態になり、それにより持ち状態のシユ
ミユレーシヨンが−防止される。割込みのペンデイング
がないと持ち状態のシユミユレーシヨンが開始されるの
であり、さもないと制御がCFにもどされる。ESP/
ECPはインターバルタイマを用いてその持ち状態をモ
ニタし、オペレータにいかに長い(ECRのワード69
)持ち 1状態が実際にあつたかを周期的に(ECRの
ワード47)知らせる。ECPが持ち状態から出るのを
防止する条件に気づいたならオペlノータはECPター
ゲツトプログラムを中断することが出来る。
1持ち状態
のシュミユレーシヨンは次のように機能する。インター
バルタイマを予め定められた値にセツトし、予定時間が
経過したときインターバルタイマからSEM−Mにメツ
セージを送らせる信号をESP/ECPは出す。ESP
/ECPは 冫このときSEM−Mをキユ一に入れメツ
セージがSEM−Mに送られるとき実行が回復される。
持ち状態からの脱出を行わせるECP割込みはSEM−
Mを介して信号されるから、この動作は、他のプロセス
の実行させながらESP/ECPを 2中断して持ち状
態にし、自動的に持ち状態からの脱出が可能なときをE
SP/ECPに知らせる。ECP割込に対応するネイテ
イブイベント、シユミユレートされるECPタイマの符
号変化、インタバルタイマの終了の三つのタイプの動作
のい Jずれかにより作動されるべきSEM−MとES
P/ECPにメツセージが送られる。これらの条件のい
ずれかに対応する割込みが許されるなら、制御はPSW
スワツプのためCFにもどされる。ECPタイマはEC
Pが持ち状態にある間アク 5テープであるから、EC
PタイマはESP/ECPがSEM−Mのキユ一に登録
されて費す時間を反映するため更新されねばならない。
これは前述のESP/ECPプロセスタイマに用いられ
たのと同じ値を用いてインタバルタイマをセツト 4す
ることにより行われる。インタバルタイマが終了すると
、ECPタイマは更新されそしてESP/CP内でテス
トされる。ECPタイマが符号を変えると、ポテンシヤ
ル割込みがESP/CP内で処理される。許されうる割
込みが検出されないならばインタバルタイマは連続的に
りセツトされる。全持ち状態時間は累積されそして一つ
のメツセージがプロンプテイング間隔が終わるたびにオ
ペレータに送られる。第21図は本発明による持ち状態
シユミユレーシヨンのフローチヤートである。
PSWビツト14(ECRのワード5内のPSWのwビ
ツト)が2進1にセツトされて持ち状態条件を示すとき
に持ち状態シユミユレーシヨンに入いる。かくしてプロ
ツク1700により示される本発明の持ち状態シユミユ
レーシヨンに入つた後にプロツク1702に入り、そこ
でこれがハードな持ち状態であるかどうかについての決
定がなされる。ハードな持ち状態は、ECPで出され得
ないものである。この条件はPSWにおけるシステムマ
スクによりそのビツトロケーシヨンの夫々が2進0にな
ることによつて示され、それにより割込が許されないこ
とを示す。この条件は例えば緊急またはエラー条件のも
とで存在しうる。かくしてハードな持ち状態が存在する
と、一つのメツセージがオペレータに送られ、オペレー
タが何らかの修正を行えるようにそのような状況を示す
。これはプロツク1704で示される。ブロツク170
2がハードな持ち状態条件を示さないならばプロツク1
706に入りPテストによりSEM−Mカウントのテス
トがなされる。SEM−MカウントはSEM−Mに何ら
かのメツセージがあるか否を示し、それによりカウント
がOより大きいときSEM−Mにメツセージがあり、カ
ウントがOのときSEM−Mにメツセージがないことを
示す。Pテストに応答しOによつてSEM−Mにメツセ
ージがないことが示されると、プロツク1708に入り
そしてインターバルタイマがECR(ワード102と1
03)において特定されたプロセスタイマインターバル
を用いることによりセツトされる。ESPはSEM−M
のキユ一に入れられて(インターバルタイマが終了した
ことの指示と共に)SEM−Mでのメツセージを待つ。
さらに、Oより大きいカウントによりSEM−Mにメツ
セージがあることが示されると、プロツク1710に入
りプロセスがSEM−Mでキユ一に入れられる。プロツ
ク1710で示されるようにSEM−Mでプロセスをキ
ユ一に登録した後に、SEM−Mにメツセージが受け取
られると、そのメツセージのソースに呼掛けを行うため
プロツク1712に入る。
ツト)が2進1にセツトされて持ち状態条件を示すとき
に持ち状態シユミユレーシヨンに入いる。かくしてプロ
ツク1700により示される本発明の持ち状態シユミユ
レーシヨンに入つた後にプロツク1702に入り、そこ
でこれがハードな持ち状態であるかどうかについての決
定がなされる。ハードな持ち状態は、ECPで出され得
ないものである。この条件はPSWにおけるシステムマ
スクによりそのビツトロケーシヨンの夫々が2進0にな
ることによつて示され、それにより割込が許されないこ
とを示す。この条件は例えば緊急またはエラー条件のも
とで存在しうる。かくしてハードな持ち状態が存在する
と、一つのメツセージがオペレータに送られ、オペレー
タが何らかの修正を行えるようにそのような状況を示す
。これはプロツク1704で示される。ブロツク170
2がハードな持ち状態条件を示さないならばプロツク1
706に入りPテストによりSEM−Mカウントのテス
トがなされる。SEM−MカウントはSEM−Mに何ら
かのメツセージがあるか否を示し、それによりカウント
がOより大きいときSEM−Mにメツセージがあり、カ
ウントがOのときSEM−Mにメツセージがないことを
示す。Pテストに応答しOによつてSEM−Mにメツセ
ージがないことが示されると、プロツク1708に入り
そしてインターバルタイマがECR(ワード102と1
03)において特定されたプロセスタイマインターバル
を用いることによりセツトされる。ESPはSEM−M
のキユ一に入れられて(インターバルタイマが終了した
ことの指示と共に)SEM−Mでのメツセージを待つ。
さらに、Oより大きいカウントによりSEM−Mにメツ
セージがあることが示されると、プロツク1710に入
りプロセスがSEM−Mでキユ一に入れられる。プロツ
ク1710で示されるようにSEM−Mでプロセスをキ
ユ一に登録した後に、SEM−Mにメツセージが受け取
られると、そのメツセージのソースに呼掛けを行うため
プロツク1712に入る。
メツセージソースはI/0イベント、ECPタイマーま
たはインターバルタイマーランアウトの指示を含む。こ
のメツセージソースがI/0イベントであれば、一つの
イベントが生じたI/0チヤンネルに対応するI/0割
込みフラツグの一つがプロツク1716に示される割込
みフラツグワードにおいて示される。
たはインターバルタイマーランアウトの指示を含む。こ
のメツセージソースがI/0イベントであれば、一つの
イベントが生じたI/0チヤンネルに対応するI/0割
込みフラツグの一つがプロツク1716に示される割込
みフラツグワードにおいて示される。
ECPタイマーが終了したならば外部割込みフラツグが
プロツク1714で示されるように割込みフラツグワー
ド内にセツトされる。インターバルタイマが終了すると
、プロツク1718に示されるようにECRに特定され
る値だけECPタイマが更新される。プロツク1718
から連続的に、ECPタイマが符号を正から負に変えた
かどうかについてのチエツクがなされる。これはプロツ
ク1724により示される。変えていれば割込みフラツ
グワード内の外部割込みフラツグがプロツク1726で
示されるようにセツトされる。これらイベントの夫々、
すなわちプロツク1714,1716,1726で示さ
れるIFWにおけるフラツグの設定の後にプロヤスの流
れがプロツク1720において連続しそこで割込みが許
されるかどうかについての決定がなされる。割込みが許
されないのであれば上述のルーチンはプロツク1706
の入力で再び続けられる。すなわち、SEM−Mにメツ
セージがあるかないかについてのテストがなされる。プ
ロツク1720で示されるように、可能な割込みがある
ならば、制御の移動がプロツク1730で示す互換機構
を通じてなされる。
プロツク1714で示されるように割込みフラツグワー
ド内にセツトされる。インターバルタイマが終了すると
、プロツク1718に示されるようにECRに特定され
る値だけECPタイマが更新される。プロツク1718
から連続的に、ECPタイマが符号を正から負に変えた
かどうかについてのチエツクがなされる。これはプロツ
ク1724により示される。変えていれば割込みフラツ
グワード内の外部割込みフラツグがプロツク1726で
示されるようにセツトされる。これらイベントの夫々、
すなわちプロツク1714,1716,1726で示さ
れるIFWにおけるフラツグの設定の後にプロヤスの流
れがプロツク1720において連続しそこで割込みが許
されるかどうかについての決定がなされる。割込みが許
されないのであれば上述のルーチンはプロツク1706
の入力で再び続けられる。すなわち、SEM−Mにメツ
セージがあるかないかについてのテストがなされる。プ
ロツク1720で示されるように、可能な割込みがある
ならば、制御の移動がプロツク1730で示す互換機構
を通じてなされる。
この互換機構が次に行う事はPSWスワツプを実行する
ことであり、もし持ち状態ビツトすなわちPSWビツト
14が2進1であれば持ち状態シユミユレーシヨンに再
び入る。持ち状態ビツトが2進0であればECP内の実
行プロセスは指示された命令で続けられる。インターバ
ルタイマの終了が示されているプロセスの流れが続くと
き、もしECPタイマがプロツク1724で示すように
符号を変えなかつたなら持ち状態カウンタがプロツク1
728で示すようにインクレメントされる。もしモニタ
リング期間(すなわち持ち状態プロンプテイング間隔(
ECR内のワード47))がプロツク1732で示すよ
うに経過してしまつたなら、一つのメツセージがオペレ
ータに送られ(プロツク1734)、オペレータにシス
テムが持ち状態にあつた時間の長さを知らせる。ECR
におけるこのモニタリング期間が経過していなければ、
プロセスの流れはプロツク1734から続くのと同様に
プロツク1732から続いてプロツク1708に入る。
すなわちインターバルタイマはプロセスタイマ・インタ
ーバルを用いてセツトされそしてプロセスがSEM−M
でキユ一に登録される。持ち状態シユミユレーシヨンに
ついて第21図に示したプロセスは、本発明のオペレー
テイング・システム、特にESPl6O2とCFl6O
Oのハードウエア、フアームウエアおよびソフトウエア
の特徴を示す第22図によりさらに明らかとなる。第2
2図において、CFとESPのハードウエア、フアーム
ウエア、ソフトウエアにより与えられる機能が示される
。
ことであり、もし持ち状態ビツトすなわちPSWビツト
14が2進1であれば持ち状態シユミユレーシヨンに再
び入る。持ち状態ビツトが2進0であればECP内の実
行プロセスは指示された命令で続けられる。インターバ
ルタイマの終了が示されているプロセスの流れが続くと
き、もしECPタイマがプロツク1724で示すように
符号を変えなかつたなら持ち状態カウンタがプロツク1
728で示すようにインクレメントされる。もしモニタ
リング期間(すなわち持ち状態プロンプテイング間隔(
ECR内のワード47))がプロツク1732で示すよ
うに経過してしまつたなら、一つのメツセージがオペレ
ータに送られ(プロツク1734)、オペレータにシス
テムが持ち状態にあつた時間の長さを知らせる。ECR
におけるこのモニタリング期間が経過していなければ、
プロセスの流れはプロツク1734から続くのと同様に
プロツク1732から続いてプロツク1708に入る。
すなわちインターバルタイマはプロセスタイマ・インタ
ーバルを用いてセツトされそしてプロセスがSEM−M
でキユ一に登録される。持ち状態シユミユレーシヨンに
ついて第21図に示したプロセスは、本発明のオペレー
テイング・システム、特にESPl6O2とCFl6O
Oのハードウエア、フアームウエアおよびソフトウエア
の特徴を示す第22図によりさらに明らかとなる。第2
2図において、CFとESPのハードウエア、フアーム
ウエア、ソフトウエアにより与えられる機能が示される
。
ハードな持ち状態フラツグ180はAND機能1802
が完全に可能にされるときセツトされる。PSWシステ
ムマスク1804がシステムマスクビツト1〜8の夫々
すべてに2進0を示し、且つCPSW持ち状態ビツト1
850が2進1のとき、AND機能1802は完全に可
能にされる。かくしてハードな持ち状態フラツグ180
0によるハードな持ち状態の指示は、持ち状態シユミユ
レーシヨンに入れないことを示し、従つてオペレータは
第22図と第21図で示されるようにプロツク1704
により情報を受ける。ハードな持ち状態フラツグがセツ
トされていないならAND機能1902はインバータ機
能1900により部分的に可能となる。図のようにAN
D機能1902はPSWの持ち状態ビツトが2進1のと
きに完全にセツトされる。割込みフラツグワード(IF
W)1806は8ビツトである。
が完全に可能にされるときセツトされる。PSWシステ
ムマスク1804がシステムマスクビツト1〜8の夫々
すべてに2進0を示し、且つCPSW持ち状態ビツト1
850が2進1のとき、AND機能1802は完全に可
能にされる。かくしてハードな持ち状態フラツグ180
0によるハードな持ち状態の指示は、持ち状態シユミユ
レーシヨンに入れないことを示し、従つてオペレータは
第22図と第21図で示されるようにプロツク1704
により情報を受ける。ハードな持ち状態フラツグがセツ
トされていないならAND機能1902はインバータ機
能1900により部分的に可能となる。図のようにAN
D機能1902はPSWの持ち状態ビツトが2進1のと
きに完全にセツトされる。割込みフラツグワード(IF
W)1806は8ビツトである。
はじめの7ビツトはECPオペレーシヨンについての7
個の対応するチヤンネルにおける入力/出力イベントに
対応し、第8番目のビツトは後述する外部割込みに対応
する。IFWl8O6内のいずれか一つのビツトを2進
1にセツトし、PSWシステムマスク1804内の同じ
番号のビツトを2進1にセツトすることによつて持ち状
態の間ペンデイングになつている可能な割込みがあるこ
とがAND機能1808を介して示される。もしIFW
l8O6内のいずれかのビツトがマスク1804内の同
じ番号をもつビツトと比較されるならば、対応するコン
パレータ1812は等しいという結果を出力し、0R機
能1814を介してAND機能1808の他方の入力を
部分的に可能にするようにセツトされる。可能な割込み
のペンデイングQ指示は、持ち状態ビツト1850、す
なわちCPSWビツト番号14が2進1であれば、AN
D機能1808を介してライン1816に対し完全に可
能であり、これによりECPが持ち状態であることが示
される。IFWl8O6内の一つのビツトを2進1にセ
ツトするために割込みが生じていなければならない。
個の対応するチヤンネルにおける入力/出力イベントに
対応し、第8番目のビツトは後述する外部割込みに対応
する。IFWl8O6内のいずれか一つのビツトを2進
1にセツトし、PSWシステムマスク1804内の同じ
番号のビツトを2進1にセツトすることによつて持ち状
態の間ペンデイングになつている可能な割込みがあるこ
とがAND機能1808を介して示される。もしIFW
l8O6内のいずれかのビツトがマスク1804内の同
じ番号をもつビツトと比較されるならば、対応するコン
パレータ1812は等しいという結果を出力し、0R機
能1814を介してAND機能1808の他方の入力を
部分的に可能にするようにセツトされる。可能な割込み
のペンデイングQ指示は、持ち状態ビツト1850、す
なわちCPSWビツト番号14が2進1であれば、AN
D機能1808を介してライン1816に対し完全に可
能であり、これによりECPが持ち状態であることが示
される。IFWl8O6内の一つのビツトを2進1にセ
ツトするために割込みが生じていなければならない。
IFWl8O6内のそのようなビツトのセツテイングは
、メツセージデコーダ1820によるSEM−Mセマフ
オ1818内のメツセージの変換すなわちデコーデイン
グを介して生じる。SEM−Ml8l8にメツセージを
配置することはI/O割込みと外部割込みを含む一つの
割込み条件に応じて生じる。I/O割込みはECPに関
連した7つの入力/出力チヤンネルの内の一つからCP
UI/Oターミネーシヨンがあるときに生じる。この条
件が示されて、0R機能1822によりSEM−Ml8
l8にメツセージとして記憶される。0R機能1822
の出力は/Oイベントまたは外部割込みの終了時に通常
与えられるVオペレーシヨン信号を示す。
、メツセージデコーダ1820によるSEM−Mセマフ
オ1818内のメツセージの変換すなわちデコーデイン
グを介して生じる。SEM−Ml8l8にメツセージを
配置することはI/O割込みと外部割込みを含む一つの
割込み条件に応じて生じる。I/O割込みはECPに関
連した7つの入力/出力チヤンネルの内の一つからCP
UI/Oターミネーシヨンがあるときに生じる。この条
件が示されて、0R機能1822によりSEM−Ml8
l8にメツセージとして記憶される。0R機能1822
の出力は/Oイベントまたは外部割込みの終了時に通常
与えられるVオペレーシヨン信号を示す。
また外部割込みは、オペレータの割込みキーの作動また
はECPタイマの符号変化に応答して一つの信号を受け
取る別の0R機能1826により、SEM−Ml8l8
上のメツセージとして0R機能1822を介して入力に
与えられる。インターバルタイマ・ランアウトおよび他
の割込みを示すメツセージもSEM−Mに置かれる。こ
れらの事象のいずれか一つによつてSEM−Ml8l8
に一つのメツセージが置かれ、AND機能1828がP
オペレーシヨン信号により可能にされるときに、メツセ
ージはメツセージデコーダ1820によつて解読される
。SEM−M上のメツセージの数のトラツクを記憶する
ために、カウンタ1830が含まれており、これはイン
クレメント入力とデクレメント入力を有する。インクレ
メント入力は0R機能1822の出力に接続され、一つ
のメツセージがSEM−Mに置かれるたびにカウンタ1
830の加算を許′dす。
はECPタイマの符号変化に応答して一つの信号を受け
取る別の0R機能1826により、SEM−Ml8l8
上のメツセージとして0R機能1822を介して入力に
与えられる。インターバルタイマ・ランアウトおよび他
の割込みを示すメツセージもSEM−Mに置かれる。こ
れらの事象のいずれか一つによつてSEM−Ml8l8
に一つのメツセージが置かれ、AND機能1828がP
オペレーシヨン信号により可能にされるときに、メツセ
ージはメツセージデコーダ1820によつて解読される
。SEM−M上のメツセージの数のトラツクを記憶する
ために、カウンタ1830が含まれており、これはイン
クレメント入力とデクレメント入力を有する。インクレ
メント入力は0R機能1822の出力に接続され、一つ
のメツセージがSEM−Mに置かれるたびにカウンタ1
830の加算を許′dす。
同様にカウンタ1830は一つのメツセージがAND機
能1828を介してSEM−Mからとり出されるたびに
減算される。セマフオSEM−Mは先入れ先出し方式の
メモリスタツクであつて、そのような構成は周知である
。カウンタ1830はSEM−Ml8l8にメツセージ
があるかどうかを示すために設けられており、その機能
を与えるためにコンパレータ1832と0ビツト183
4を利用する。コンパレータ1832の入力AとBが等
しければA−Bの比較信号が生成され、それによりAN
D機能1838を介してノーメツセージフラツグ183
6をセツトする。A入力がB入力より大であつてSEM
−Ml8l8にメツセージがあることを示すならばメツ
セージ処理イネーブルフラツグ1840がAND機能1
842によりセツトされる。AND機能1902が完全
に可能なとき発生されハードでない通常の持ち状態があ
ることを示すライン1801上の信号により、AND機
能1838と1842は完全に可能にされる。SEM−
M上にメツセージがあり且つフラツグ1840がセツト
されるなら、Pオペレーシヨンが可能になり、メツセー
ジがSEM−Ml8l8からとり出されうるようになる
。可能な割込みが、CPSWがライン1816上の信号
により持ち状態を示す間にペンデイングであるならばD
EAアーギユメント1844が2進1にセツトされ、そ
れによりフラツグ1846で示されるようにPSWスワ
ツプを可能にする。
能1828を介してSEM−Mからとり出されるたびに
減算される。セマフオSEM−Mは先入れ先出し方式の
メモリスタツクであつて、そのような構成は周知である
。カウンタ1830はSEM−Ml8l8にメツセージ
があるかどうかを示すために設けられており、その機能
を与えるためにコンパレータ1832と0ビツト183
4を利用する。コンパレータ1832の入力AとBが等
しければA−Bの比較信号が生成され、それによりAN
D機能1838を介してノーメツセージフラツグ183
6をセツトする。A入力がB入力より大であつてSEM
−Ml8l8にメツセージがあることを示すならばメツ
セージ処理イネーブルフラツグ1840がAND機能1
842によりセツトされる。AND機能1902が完全
に可能なとき発生されハードでない通常の持ち状態があ
ることを示すライン1801上の信号により、AND機
能1838と1842は完全に可能にされる。SEM−
M上にメツセージがあり且つフラツグ1840がセツト
されるなら、Pオペレーシヨンが可能になり、メツセー
ジがSEM−Ml8l8からとり出されうるようになる
。可能な割込みが、CPSWがライン1816上の信号
により持ち状態を示す間にペンデイングであるならばD
EAアーギユメント1844が2進1にセツトされ、そ
れによりフラツグ1846で示されるようにPSWスワ
ツプを可能にする。
これはAND機能1848を開き0R機能1852を介
して新しいPSWビツトを現PSW持ち状態ビツトレジ
スタ1850に置きうるようにする。同様に、0R機能
1852を介してレジスタ1850を初期化するような
、図示しない他の手段によりAND機能1853を介し
て新しい持ち状態ビツトが立てられる。この新しい持ち
状態の表示はレジスタ1850のセツトまたはりセツト
を介してレジスタ1850に置かれる。レジスタ185
0は単なるフリツプフロツプでよい。もしこの新しいビ
ツトが2進1であり持ち状態を示すならばレジスタ18
50がセツトされる。レジスタ1850はこの新しい持
ち状態ビツトが2進0であつてECPが持ち状態でない
ことを示すならインバータ機能1855を介してりセツ
トされる。ライン1856土のインバータ機能1854
により示されるように、可能な割込みのペンデイングが
なく且つAND機能1857も持ち状態の表示により開
かれているならば、制御フラツグ1858がセツトされ
てライン1801上の信号と共にAND機能1861を
動作可能にする。制御フラツグ1858のセツトにより
ネイテイブモード実行が可能になり、これによつてペン
デイングになつている可能な割込みがSEM−Mに置か
れるまで、このシステムを持ち状態にしておく必要がな
く、有用な処理時間の損失がなくなる。
して新しいPSWビツトを現PSW持ち状態ビツトレジ
スタ1850に置きうるようにする。同様に、0R機能
1852を介してレジスタ1850を初期化するような
、図示しない他の手段によりAND機能1853を介し
て新しい持ち状態ビツトが立てられる。この新しい持ち
状態の表示はレジスタ1850のセツトまたはりセツト
を介してレジスタ1850に置かれる。レジスタ185
0は単なるフリツプフロツプでよい。もしこの新しいビ
ツトが2進1であり持ち状態を示すならばレジスタ18
50がセツトされる。レジスタ1850はこの新しい持
ち状態ビツトが2進0であつてECPが持ち状態でない
ことを示すならインバータ機能1855を介してりセツ
トされる。ライン1856土のインバータ機能1854
により示されるように、可能な割込みのペンデイングが
なく且つAND機能1857も持ち状態の表示により開
かれているならば、制御フラツグ1858がセツトされ
てライン1801上の信号と共にAND機能1861を
動作可能にする。制御フラツグ1858のセツトにより
ネイテイブモード実行が可能になり、これによつてペン
デイングになつている可能な割込みがSEM−Mに置か
れるまで、このシステムを持ち状態にしておく必要がな
く、有用な処理時間の損失がなくなる。
AND機能1861が動作可能になることによりECP
の持ち状態にあつた時間がオペレータに示され、さらに
それによつてオペレータが所望の修正操作をとりうるよ
うに、システムのステータスに関してオペレータをプロ
ンプトする。前述したように、工ミニレートされるプロ
セサにおけるECPタイマは特定の比率で特定の値だけ
減算される。
の持ち状態にあつた時間がオペレータに示され、さらに
それによつてオペレータが所望の修正操作をとりうるよ
うに、システムのステータスに関してオペレータをプロ
ンプトする。前述したように、工ミニレートされるプロ
セサにおけるECPタイマは特定の比率で特定の値だけ
減算される。
工ミニレータではECPタイマ1870も減算されタイ
マ1870の符号の変化が符号変化検出器1874で検
出される。この符号変化はSEM−Mに置くための外部
割込みとして0R機能1826の一方の入力に入れられ
る。一般的には、ネイテイブシステムに含まれているの
はCPUインターバルタイマ1872とプロセスがアク
テイブな状態にあるときにのみ動作するプロセスタイマ
1878の二つのタイマである。他方CPUインターバ
ルタイマ1876はシステム内のどのプロセスの状態に
も関係なく常時動作する。ECPタイマはその実際のネ
イテイブシステムで連続的に動作しているが、ECPタ
イマ1870が工ミニレートされるときには、インター
バルタイマの動作が終了しネイテイブオペレーシヨンを
シユミユレートするとき減分される。ECPタイマは、
工ミニレートされるシステム内にオプシヨンとしてない
ならばシユミユレーシヨン用にも含まれない。一般にE
CP命令が処理されているときにはECPタイマ187
0は減算されプロセスタイマ1878も減算される。
マ1870の符号の変化が符号変化検出器1874で検
出される。この符号変化はSEM−Mに置くための外部
割込みとして0R機能1826の一方の入力に入れられ
る。一般的には、ネイテイブシステムに含まれているの
はCPUインターバルタイマ1872とプロセスがアク
テイブな状態にあるときにのみ動作するプロセスタイマ
1878の二つのタイマである。他方CPUインターバ
ルタイマ1876はシステム内のどのプロセスの状態に
も関係なく常時動作する。ECPタイマはその実際のネ
イテイブシステムで連続的に動作しているが、ECPタ
イマ1870が工ミニレートされるときには、インター
バルタイマの動作が終了しネイテイブオペレーシヨンを
シユミユレートするとき減分される。ECPタイマは、
工ミニレートされるシステム内にオプシヨンとしてない
ならばシユミユレーシヨン用にも含まれない。一般にE
CP命令が処理されているときにはECPタイマ187
0は減算されプロセスタイマ1878も減算される。
プロセスタイマ1878はAND機能1880の動作が
可能になることに応じて減算される。AND機能188
0は均一な比率でパルスを与えるシステムクロツク18
79とレジスタ1850からの信号により開かれてEC
Pが持ち状態にないこと、すなわちレジスタ1850内
の2進0を示す。システムクロツク1879はCPUイ
ンターバルタイマ1876を減算するためにも用いられ
る。さらにプロセスタイマ1878はECRのワード1
02と103において特定される期間にAND機能18
82を介してプリセツトされる。CPUインターバルタ
イマ1876もAND機能1863により同一の期間に
セツトされる。タイマ1878は初期条件の下で、すな
わち図示のようにタイマ1878のインターバルが終了
したことを検出器1884が示すときにプリセツト出来
る。さらにこのインターバルの終了が検出器1884に
より検出されるときにAND機能1886が0R機能1
871を介して動作可能となり、符号変化検出器187
4の動作を可能にする。しかしながら、ECPが持ち状
態になると、プロセスタイマ1878はAND機能18
80が動作不能とされるため減算されず、ECPが持ち
状態になつている時間を示すための何らかの手段が見い
出されねばならない。
可能になることに応じて減算される。AND機能188
0は均一な比率でパルスを与えるシステムクロツク18
79とレジスタ1850からの信号により開かれてEC
Pが持ち状態にないこと、すなわちレジスタ1850内
の2進0を示す。システムクロツク1879はCPUイ
ンターバルタイマ1876を減算するためにも用いられ
る。さらにプロセスタイマ1878はECRのワード1
02と103において特定される期間にAND機能18
82を介してプリセツトされる。CPUインターバルタ
イマ1876もAND機能1863により同一の期間に
セツトされる。タイマ1878は初期条件の下で、すな
わち図示のようにタイマ1878のインターバルが終了
したことを検出器1884が示すときにプリセツト出来
る。さらにこのインターバルの終了が検出器1884に
より検出されるときにAND機能1886が0R機能1
871を介して動作可能となり、符号変化検出器187
4の動作を可能にする。しかしながら、ECPが持ち状
態になると、プロセスタイマ1878はAND機能18
80が動作不能とされるため減算されず、ECPが持ち
状態になつている時間を示すための何らかの手段が見い
出されねばならない。
このことはCPUインターバルタイマ1876によつて
達成されるが、インターバルタイマ1876はECRワ
ード102と103によりAND機能1861と1i6
3を介してプリセツトされる。検出器1884と同様の
インターバル経過検出器1888がインターバルタイマ
1876に関連する。検出器1888により示されるそ
のようなインターバルの時間経過はAND機能1861
が動作可能になると共にAND機能1890も完全に動
作可能となる。フラツグ1836で示される、SEM−
M内にメツセージがないという事実に基づき、AND機
能1892は完全に動作可能となりECPタイマはオプ
シヨンとして特定されれば減算される。ECPタイマ1
870は、AND機能1906が検出器1874で検出
される符号変化に応じて動作可能になるときECRのワ
ード101に含まれるECPタイマデクレメント値でプ
リセツトされる。さらに持ち状態カウンタ1894はA
ND機能1873を介してECRのワード102と10
3に含まれる値だけ増加され、ECPが持ち状態にあつ
た時間の長さを示す。カウンタ1894はECRのワー
ド70に含まれる持ち状態のモニタリング時間の値を生
成する。持ち状態カウンタ1894は、レジスタ185
0内の持ち状態ビツトが2進0になるか、あるいはコン
パレータ1895がオペレータへのプロンプティング信
号を発生するかという場合、0R機能1904を介して
りセツトされる。持ち状態の表ボは特定の時間間隔でオ
ペレータに送られる。すなわち、持ち状態カウンタ18
94の出力はコンパレータ1895によりプロンプテイ
ング間隔値(ECRのワード47)と比較され、特定の
間隔でオペレータにメツセージまたはプロンプテイング
信号を送るようにする。これはオペレータが必要と考え
るとき適正なアクシヨンをとりうるように、ECPが持
ち状態にあることを、例えば30秒ごとに、表示する。
全持ち状態時間はアキユムレータ1897により累積さ
れて、ECRのワード69に保存される。アキユムレー
タ189rはレジスタ1850内の持ち状態ビツトが2
進0になるときにりセツトされる。オペレータが持ち状
態条件を知らされる方式を要約すると、まずインターバ
ルタイマ1876はそのプリセツト値からシステムクロ
ツク1879により一様に減算される。
達成されるが、インターバルタイマ1876はECRワ
ード102と103によりAND機能1861と1i6
3を介してプリセツトされる。検出器1884と同様の
インターバル経過検出器1888がインターバルタイマ
1876に関連する。検出器1888により示されるそ
のようなインターバルの時間経過はAND機能1861
が動作可能になると共にAND機能1890も完全に動
作可能となる。フラツグ1836で示される、SEM−
M内にメツセージがないという事実に基づき、AND機
能1892は完全に動作可能となりECPタイマはオプ
シヨンとして特定されれば減算される。ECPタイマ1
870は、AND機能1906が検出器1874で検出
される符号変化に応じて動作可能になるときECRのワ
ード101に含まれるECPタイマデクレメント値でプ
リセツトされる。さらに持ち状態カウンタ1894はA
ND機能1873を介してECRのワード102と10
3に含まれる値だけ増加され、ECPが持ち状態にあつ
た時間の長さを示す。カウンタ1894はECRのワー
ド70に含まれる持ち状態のモニタリング時間の値を生
成する。持ち状態カウンタ1894は、レジスタ185
0内の持ち状態ビツトが2進0になるか、あるいはコン
パレータ1895がオペレータへのプロンプティング信
号を発生するかという場合、0R機能1904を介して
りセツトされる。持ち状態の表ボは特定の時間間隔でオ
ペレータに送られる。すなわち、持ち状態カウンタ18
94の出力はコンパレータ1895によりプロンプテイ
ング間隔値(ECRのワード47)と比較され、特定の
間隔でオペレータにメツセージまたはプロンプテイング
信号を送るようにする。これはオペレータが必要と考え
るとき適正なアクシヨンをとりうるように、ECPが持
ち状態にあることを、例えば30秒ごとに、表示する。
全持ち状態時間はアキユムレータ1897により累積さ
れて、ECRのワード69に保存される。アキユムレー
タ189rはレジスタ1850内の持ち状態ビツトが2
進0になるときにりセツトされる。オペレータが持ち状
態条件を知らされる方式を要約すると、まずインターバ
ルタイマ1876はそのプリセツト値からシステムクロ
ツク1879により一様に減算される。
通常の持ち状態条件に関連したインターバルタイマの動
作終了によりAND機能1890が動作可能になり、こ
のAND機能がさらにSEM−Ml8l8にメツセージ
のないときAND機能1892を動作可能にする。AN
D機能1892が動作可能になると持ち状態カウンタ1
894(ECRのワード70)が加算され、その値が絶
えず持ち状態プロンプテイング間隔(ECRのワード4
7)と比較される。比較があればオペレータはプロンプ
テイング信号を受ける。持ち状態カウンタはまた持ち状
態全時間アキユムレータ1879(ECRのワード69
)を更新するためにも利用され、それによりオペレータ
にそのときの持ち状態の全時間を知らせる。カウンタ1
894とアキユムレータ1897は持ち状態から出たと
きにりセツトされる。例として持ち状態プロンプテイン
グ間隔(ECRのワード47)は30秒でありインター
バルタイマ間隔(ワード102,103)は2秒である
。その場合にはインターバルタイマ1876は2秒毎に
動作を終了し、それによりカウンタ1894内の値(ワ
ード70)を2秒毎に2だけ増加させると共にアキユム
レータ189r内の値(ECRのワード69)も増加さ
せる。かくしてインターバルタイマが10回動作を終了
した後にカウンタ1894は20秒の値を有する。カウ
ンタ1895の値が30秒のときこれはECRのワード
47に対して比較を行いそしてオペレータはプロンプト
される。これと同時にカウンタ1894はりセツトされ
、このプロセスは続行される。すなわちオペレータは3
0秒毎にプロンプトされ待機状態ビツトレジスタ185
0により示されるように待機状態を出るまで、持ち状態
の全時間が保存される。(6)発明の効果 このように、本発明のシステムはオペレータにハードな
持ち状態条件を迅速に指示することが可能であり、通常
の持ち状態条件の場合には本システムはペンデイング状
態にある可能な割込みについての迅速なチエツクも出来
る。
作終了によりAND機能1890が動作可能になり、こ
のAND機能がさらにSEM−Ml8l8にメツセージ
のないときAND機能1892を動作可能にする。AN
D機能1892が動作可能になると持ち状態カウンタ1
894(ECRのワード70)が加算され、その値が絶
えず持ち状態プロンプテイング間隔(ECRのワード4
7)と比較される。比較があればオペレータはプロンプ
テイング信号を受ける。持ち状態カウンタはまた持ち状
態全時間アキユムレータ1879(ECRのワード69
)を更新するためにも利用され、それによりオペレータ
にそのときの持ち状態の全時間を知らせる。カウンタ1
894とアキユムレータ1897は持ち状態から出たと
きにりセツトされる。例として持ち状態プロンプテイン
グ間隔(ECRのワード47)は30秒でありインター
バルタイマ間隔(ワード102,103)は2秒である
。その場合にはインターバルタイマ1876は2秒毎に
動作を終了し、それによりカウンタ1894内の値(ワ
ード70)を2秒毎に2だけ増加させると共にアキユム
レータ189r内の値(ECRのワード69)も増加さ
せる。かくしてインターバルタイマが10回動作を終了
した後にカウンタ1894は20秒の値を有する。カウ
ンタ1895の値が30秒のときこれはECRのワード
47に対して比較を行いそしてオペレータはプロンプト
される。これと同時にカウンタ1894はりセツトされ
、このプロセスは続行される。すなわちオペレータは3
0秒毎にプロンプトされ待機状態ビツトレジスタ185
0により示されるように待機状態を出るまで、持ち状態
の全時間が保存される。(6)発明の効果 このように、本発明のシステムはオペレータにハードな
持ち状態条件を迅速に指示することが可能であり、通常
の持ち状態条件の場合には本システムはペンデイング状
態にある可能な割込みについての迅速なチエツクも出来
る。
さらに、それに応じてエミユレーシヨンモードでの処理
を続けるようにPSWスワツプも行われる。また通常の
持ち状態条件およびペンデイング状態にある可能な割込
みがないことに応答して、工ミニレータの特定のペンデ
イング状態にある可能な割込みがセマフオに置かれ、そ
れに応じてエミユレーシヨンモードで再び実行しはじめ
るまで、ネイテイブモードで処理を続けうるようにする
ことによつて、本システムはシステム消費時間を最小に
する。さらにタイマー、カウンター、アキユムレータ等
の組合せの使用によりオペレータにECP持ち状態が存
在した時間の長さを示めすための手段が与えられ、これ
により、システムがエミユレーシヨンモードで機能し続
けているときにオペレータの誤りをなくし、さらに条件
が正当であるならオペレータに介入する機会を与えるこ
とができる。
を続けるようにPSWスワツプも行われる。また通常の
持ち状態条件およびペンデイング状態にある可能な割込
みがないことに応答して、工ミニレータの特定のペンデ
イング状態にある可能な割込みがセマフオに置かれ、そ
れに応じてエミユレーシヨンモードで再び実行しはじめ
るまで、ネイテイブモードで処理を続けうるようにする
ことによつて、本システムはシステム消費時間を最小に
する。さらにタイマー、カウンター、アキユムレータ等
の組合せの使用によりオペレータにECP持ち状態が存
在した時間の長さを示めすための手段が与えられ、これ
により、システムがエミユレーシヨンモードで機能し続
けているときにオペレータの誤りをなくし、さらに条件
が正当であるならオペレータに介入する機会を与えるこ
とができる。
第1図は本発明を利用するマルチプログラミングシステ
ムのプロツク図、第2図は本発明により利用される種々
のハードウエア構成の概略図、第3図は第2図のレジス
タにおいて確保される記憶領域を示す略語の説明、第4
図はプロセス匍脚プロツクの概略図、第5図はプロセス
制御プロツクをアドレスづけするシステムの概略図、第
6図は本発明のシステムベースの概略図、第7A,7B
図は夫々スタツクセグメントとスタツクフレームの概略
図、第8図はGOセグメントをアドレスづけするための
システム、そして特にGOセグメントにおけるプロセス
のキユ一を示す概略図、第9図はプロセスのキユ一とプ
ロセスのリンキングを示すGOセグメントの展開図、第
10a−101図はPCBの構造のプロツク図、第11
a−11r図はシステムベースの構造のプロツク図、第
12図はシステムベースとPCB構造を利用す 5るユ
ーザーセグメントとシステムセグメントのアドレスづけ
を示す概略図、第13a−13e図は制御ユニツトの概
略図、第14a−141図はフアームウエアにおけるデ
イスパツチヤユニツトの流れ図、第15図は本発明のオ
ペレーテイングモ 1ードを切換えるためのネイテイブ
モード命令を示す図、第16図は本発明のスイツチング
モードオペレーシヨンを示す流れ図、第17図は本発明
のオペレーテイングモード切換を行うに必要なハードウ
エアとフアームウエアの機能プロツク図、第 1.18
図は本発明のシステムの一般的オペレーシヨンを示す略
プロツク図、第19図は本発明の工ミニレータ通信エリ
アを示すテール、第20図は第19図に示すテーブルに
関連して用いられる割込みフラツグ・ワード・フオーマ
ツトを示す図、第21図は本発明のシステムの全体的な
動作を示す流れ図、第22A,B図は本発明のシステム
における工ミニレータと中央処理ユニツトに関連して持
ち状態のエミユレーシヨンを行うために用いられるハー
ドウエア、フアームウエアおよびソフトウエアを機能的
に示す詳細プロツク図である。 101・・・・・・プロセササブシステム、102・・
・゜゜゛記憶サブシステム、103・・・・・・周辺サ
ブシステム、104・・・・・・中央処理ユニツト、1
05・・・・・・入力/出力制御ユニツト、106・・
・・・・周辺制御ユニツト、107・・・・・・デバイ
スアダプタ、108・・・・・・デバイス、109・・
・・・・主メモリシンクロナイザ、110・・・・・・
バツフア記憶装置、111・・・・・・演算ユニツト、
112・・・・・・工ミニレータ、131・・・・・・
アドレス制御ユニツト、132・・・・・・アドレスシ
ラブル。
ムのプロツク図、第2図は本発明により利用される種々
のハードウエア構成の概略図、第3図は第2図のレジス
タにおいて確保される記憶領域を示す略語の説明、第4
図はプロセス匍脚プロツクの概略図、第5図はプロセス
制御プロツクをアドレスづけするシステムの概略図、第
6図は本発明のシステムベースの概略図、第7A,7B
図は夫々スタツクセグメントとスタツクフレームの概略
図、第8図はGOセグメントをアドレスづけするための
システム、そして特にGOセグメントにおけるプロセス
のキユ一を示す概略図、第9図はプロセスのキユ一とプ
ロセスのリンキングを示すGOセグメントの展開図、第
10a−101図はPCBの構造のプロツク図、第11
a−11r図はシステムベースの構造のプロツク図、第
12図はシステムベースとPCB構造を利用す 5るユ
ーザーセグメントとシステムセグメントのアドレスづけ
を示す概略図、第13a−13e図は制御ユニツトの概
略図、第14a−141図はフアームウエアにおけるデ
イスパツチヤユニツトの流れ図、第15図は本発明のオ
ペレーテイングモ 1ードを切換えるためのネイテイブ
モード命令を示す図、第16図は本発明のスイツチング
モードオペレーシヨンを示す流れ図、第17図は本発明
のオペレーテイングモード切換を行うに必要なハードウ
エアとフアームウエアの機能プロツク図、第 1.18
図は本発明のシステムの一般的オペレーシヨンを示す略
プロツク図、第19図は本発明の工ミニレータ通信エリ
アを示すテール、第20図は第19図に示すテーブルに
関連して用いられる割込みフラツグ・ワード・フオーマ
ツトを示す図、第21図は本発明のシステムの全体的な
動作を示す流れ図、第22A,B図は本発明のシステム
における工ミニレータと中央処理ユニツトに関連して持
ち状態のエミユレーシヨンを行うために用いられるハー
ドウエア、フアームウエアおよびソフトウエアを機能的
に示す詳細プロツク図である。 101・・・・・・プロセササブシステム、102・・
・゜゜゛記憶サブシステム、103・・・・・・周辺サ
ブシステム、104・・・・・・中央処理ユニツト、1
05・・・・・・入力/出力制御ユニツト、106・・
・・・・周辺制御ユニツト、107・・・・・・デバイ
スアダプタ、108・・・・・・デバイス、109・・
・・・・主メモリシンクロナイザ、110・・・・・・
バツフア記憶装置、111・・・・・・演算ユニツト、
112・・・・・・工ミニレータ、131・・・・・・
アドレス制御ユニツト、132・・・・・・アドレスシ
ラブル。
Claims (1)
- 【特許請求の範囲】 1 ネイテイブモードで命令を実行する中央処理装置と
、該中央処理装置に接続し他の中央処理装置の動作をエ
ミユレートするために非ネイテイブモードでプロセスの
命令を実行するエミュレーション装置と、前記他の中央
処理装置をエミユレートする上記エミュレーション装置
が待ち状態にあり、それ以上エミュレーション装置の処
理が続かないこと、を示すか否かを指示する第一の装置
と、前記エミュレーション装置が待機状態にある間に前
記中央処理装置の前記ネイテイブモードで更に処理する
ことを可能にする装置と、を備えるデータ処理装置。 2 特許請求の範囲第1項に記載のデータ処理装置にお
いて、前記待ち状態を前記中央処理装置のオペレータに
予め定められた時間間隔で知らせるための装置をさらに
含むデータ処理装置。 3 特許請求の範囲第1項に記載のデータ処理装置にお
いて、ペンディングの割込みがあるか否かを示す第二の
装置と、前記ペンディングの割込み処理が許されるか否
かを示す第三の装置と、前記第二および第三の装置に応
答し、前記割込みがペンディングであり且つ許されるな
らば、前記非ネイテイブモードでの実行を再び続けるこ
とを指示する装置と、をさらに含むデータ処理装置。 4 特許請求の範囲第1項に記載のデータ処理装置にお
いて、エミユレートされる前記中央処理装置が現時点で
エミユレート可能でないことを示すハード待ち状態フラ
ッグと、割込みが許されるか否かを示す装置と、 割込みが許されないとき前記待ち状態フラッグをセット
するための装置とをさらに含んだデータ処理装置。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US425661A US3891974A (en) | 1973-12-17 | 1973-12-17 | Data processing system having emulation capability for providing wait state simulation function |
| US425661 | 1989-10-20 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS5093363A JPS5093363A (ja) | 1975-07-25 |
| JPS5939785B2 true JPS5939785B2 (ja) | 1984-09-26 |
Family
ID=23687503
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP49142624A Expired JPS5939785B2 (ja) | 1973-12-17 | 1974-12-13 | デ−タ処理装置 |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US3891974A (ja) |
| JP (1) | JPS5939785B2 (ja) |
| CA (1) | CA1022684A (ja) |
| DE (1) | DE2459675A1 (ja) |
| FR (1) | FR2254832B1 (ja) |
| GB (1) | GB1464650A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH02115978U (ja) * | 1989-03-02 | 1990-09-17 |
Families Citing this family (63)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3944985A (en) * | 1973-10-19 | 1976-03-16 | Texas Instruments Incorporated | Workspace addressing system |
| US4300192A (en) * | 1974-04-18 | 1981-11-10 | Honeywell Information Systems Inc. | Method and means for storing and accessing information in a shared access multiprogrammed data processing system |
| US4369494A (en) * | 1974-12-09 | 1983-01-18 | Compagnie Honeywell Bull | Apparatus and method for providing synchronization between processes and events occurring at different times in a data processing system |
| US4044334A (en) * | 1975-06-19 | 1977-08-23 | Honeywell Information Systems, Inc. | Database instruction unload |
| US4042912A (en) * | 1975-06-19 | 1977-08-16 | Honeywell Information Systems Inc. | Database set condition test instruction |
| US4025901A (en) * | 1975-06-19 | 1977-05-24 | Honeywell Information Systems, Inc. | Database instruction find owner |
| US4024508A (en) * | 1975-06-19 | 1977-05-17 | Honeywell Information Systems, Inc. | Database instruction find serial |
| US4205371A (en) * | 1975-11-03 | 1980-05-27 | Honeywell Information Systems Inc. | Data base conversion system |
| IT1059493B (it) * | 1976-04-22 | 1982-05-31 | Olivetti & Co Spa | Dispositivo per cambiare l ambiente di lavoro di un calcolatore |
| US4042914A (en) * | 1976-05-17 | 1977-08-16 | Honeywell Information Systems Inc. | Microprogrammed control of foreign processor control functions |
| US4103326A (en) * | 1977-02-28 | 1978-07-25 | Xerox Corporation | Time-slicing method and apparatus for disk drive |
| US4177513A (en) * | 1977-07-08 | 1979-12-04 | International Business Machines Corporation | Task handling apparatus for a computer system |
| JPS5710807A (en) * | 1980-06-23 | 1982-01-20 | Toshiba Corp | Output control device |
| US4545012A (en) * | 1981-05-22 | 1985-10-01 | Data General Corporation | Access control system for use in a digital computer system with object-based addressing and call and return operations |
| US4509122A (en) * | 1982-11-18 | 1985-04-02 | International Business Machines Corporation | Method for controlling the file transfer capability of an interactive text processing system that is emulating a host processing system terminal |
| US4638423A (en) * | 1985-03-06 | 1987-01-20 | Motorola, Inc. | Emulating computer |
| GB2173326B (en) * | 1985-03-18 | 1989-06-21 | Nitsuko Ltd | Data transmission system |
| US4972338A (en) * | 1985-06-13 | 1990-11-20 | Intel Corporation | Memory management for microprocessor system |
| US4972317A (en) * | 1986-10-06 | 1990-11-20 | International Business Machines Corp. | Microprocessor implemented data processing system capable of emulating execution of special instructions not within the established microprocessor instruction set by switching access from a main store portion of a memory |
| US5218691A (en) * | 1988-07-26 | 1993-06-08 | Disk Emulation Systems, Inc. | Disk emulation system |
| US5070474A (en) * | 1988-07-26 | 1991-12-03 | Disk Emulation Systems, Inc. | Disk emulation system |
| US5202976A (en) * | 1988-12-30 | 1993-04-13 | Hewlett-Packard Company | Method and apparatus for coordinating measurement activity upon a plurality of emulators |
| EP0453160A3 (en) * | 1990-04-20 | 1993-09-15 | Digital Equipment Corporation | A method and apparatus for analyzing the flow of data through a complex information exchange system |
| JPH07334372A (ja) * | 1993-12-24 | 1995-12-22 | Seiko Epson Corp | エミュレートシステム及びエミュレート方法 |
| US5553271A (en) * | 1994-07-11 | 1996-09-03 | Hilgraeve Incorporated | Auto-detect system and method for data communication |
| US5758140A (en) * | 1996-01-25 | 1998-05-26 | International Business Machines Corporation | Method and system for emulating instructions by performing an operation directly using special-purpose register contents |
| US5911059A (en) * | 1996-12-18 | 1999-06-08 | Applied Microsystems, Inc. | Method and apparatus for testing software |
| US5930495A (en) * | 1997-01-13 | 1999-07-27 | International Business Machines Corporation | Method and system for processing a first instruction in a first processing environment in response to intiating processing of a second instruction in a emulation environment |
| US20010039564A1 (en) * | 1997-10-20 | 2001-11-08 | Victor Hahn | Log on personal computer |
| US6449709B1 (en) * | 1998-06-02 | 2002-09-10 | Adaptec, Inc. | Fast stack save and restore system and method |
| US20060117274A1 (en) * | 1998-08-31 | 2006-06-01 | Tseng Ping-Sheng | Behavior processor system and method |
| US6081890A (en) * | 1998-11-30 | 2000-06-27 | Intel Corporation | Method of communication between firmware written for different instruction set architectures |
| US6978312B2 (en) * | 1998-12-18 | 2005-12-20 | Microsoft Corporation | Adaptive flow control protocol |
| US6820051B1 (en) * | 1999-02-19 | 2004-11-16 | Texas Instruments Incorporated | Software emulation monitor employed with hardware suspend mode |
| US6886111B1 (en) | 2000-03-08 | 2005-04-26 | International Business Machines Corporation | Method and data processing system for software testing of a device driver |
| US7251695B2 (en) * | 2000-08-17 | 2007-07-31 | Aspen Technology, Inc. | Computer network communication method and apparatus |
| US6795879B2 (en) * | 2001-08-08 | 2004-09-21 | Texas Instruments Incorporated | Apparatus and method for wait state analysis in a digital signal processing system |
| US7327673B1 (en) * | 2001-08-31 | 2008-02-05 | At&T Delaware Intellectual Property, Inc. | Asymmetric digital subscriber line provision flow control on digital subscriber line access multiplexer switches |
| JP2003162433A (ja) * | 2001-11-27 | 2003-06-06 | Fujitsu Ltd | メモリシステム |
| US7107577B2 (en) * | 2002-11-20 | 2006-09-12 | Telefonaktiebolaget Lm Ericsson (Publ) | Software architecture for controlling an apparatus with one or more hardware units |
| FR2854263A1 (fr) * | 2003-04-24 | 2004-10-29 | St Microelectronics Sa | Procede d'execution de taches concurrentes par un sous-systeme gere par un processeur central |
| US20050071823A1 (en) * | 2003-09-29 | 2005-03-31 | Xiaodong Lin | Apparatus and method for simulating segmented addressing on a flat memory model architecture |
| US7421705B2 (en) * | 2003-10-30 | 2008-09-02 | Sprint Communications Company L.P. | System and method for asynchronous processing in COBOL |
| US8548429B2 (en) * | 2004-03-08 | 2013-10-01 | Rafi Nehushtan | Cellular device security apparatus and method |
| US20050289326A1 (en) * | 2004-06-26 | 2005-12-29 | Hong Kong University Of Science & Technology | Packet processor with mild programmability |
| US7958436B2 (en) | 2005-12-23 | 2011-06-07 | Intel Corporation | Performing a cyclic redundancy checksum operation responsive to a user-level instruction |
| US9015026B2 (en) * | 2009-06-12 | 2015-04-21 | Cadence Design Systems, Inc. | System and method incorporating an arithmetic logic unit for emulation |
| TWI463320B (zh) * | 2012-11-29 | 2014-12-01 | Mstar Semiconductor Inc | 記憶體存取權限控制方法與相關記憶體管理系統 |
| US10261785B2 (en) * | 2017-02-28 | 2019-04-16 | Microsoft Technology Licensing, Llc | Arithmetic lazy flags representation for emulation |
| US11386230B2 (en) | 2019-09-27 | 2022-07-12 | Amazon Technologies, Inc. | On-demand code obfuscation of data in input path of object storage service |
| US11360948B2 (en) | 2019-09-27 | 2022-06-14 | Amazon Technologies, Inc. | Inserting owner-specified data processing pipelines into input/output path of object storage service |
| US11055112B2 (en) | 2019-09-27 | 2021-07-06 | Amazon Technologies, Inc. | Inserting executions of owner-specified code into input/output path of object storage service |
| US11656892B1 (en) | 2019-09-27 | 2023-05-23 | Amazon Technologies, Inc. | Sequential execution of user-submitted code and native functions |
| US11106477B2 (en) | 2019-09-27 | 2021-08-31 | Amazon Technologies, Inc. | Execution of owner-specified code during input/output path to object storage service |
| US11023311B2 (en) * | 2019-09-27 | 2021-06-01 | Amazon Technologies, Inc. | On-demand code execution in input path of data uploaded to storage service in multiple data portions |
| US11263220B2 (en) | 2019-09-27 | 2022-03-01 | Amazon Technologies, Inc. | On-demand execution of object transformation code in output path of object storage service |
| US10996961B2 (en) | 2019-09-27 | 2021-05-04 | Amazon Technologies, Inc. | On-demand indexing of data in input path of object storage service |
| US11394761B1 (en) | 2019-09-27 | 2022-07-19 | Amazon Technologies, Inc. | Execution of user-submitted code on a stream of data |
| US11550944B2 (en) | 2019-09-27 | 2023-01-10 | Amazon Technologies, Inc. | Code execution environment customization system for object storage service |
| US11416628B2 (en) | 2019-09-27 | 2022-08-16 | Amazon Technologies, Inc. | User-specific data manipulation system for object storage service based on user-submitted code |
| US10908927B1 (en) | 2019-09-27 | 2021-02-02 | Amazon Technologies, Inc. | On-demand execution of object filter code in output path of object storage service |
| US11250007B1 (en) | 2019-09-27 | 2022-02-15 | Amazon Technologies, Inc. | On-demand execution of object combination code in output path of object storage service |
| CN113888842B (zh) * | 2020-07-02 | 2023-03-17 | 上海宝信软件股份有限公司 | 一种铁水脱硫工艺流程实时监测预警系统及方法 |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3297999A (en) * | 1963-08-26 | 1967-01-10 | Burroughs Corp | Multi-programming computer |
| US3374466A (en) * | 1965-05-10 | 1968-03-19 | Ibm | Data processing system |
| US3440612A (en) * | 1966-02-28 | 1969-04-22 | Ibm | Program mode switching circuit |
-
1973
- 1973-12-17 US US425661A patent/US3891974A/en not_active Expired - Lifetime
-
1974
- 1974-12-13 JP JP49142624A patent/JPS5939785B2/ja not_active Expired
- 1974-12-16 FR FR7441412A patent/FR2254832B1/fr not_active Expired
- 1974-12-16 CA CA216,105A patent/CA1022684A/en not_active Expired
- 1974-12-17 GB GB5442274A patent/GB1464650A/en not_active Expired
- 1974-12-17 DE DE19742459675 patent/DE2459675A1/de not_active Ceased
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH02115978U (ja) * | 1989-03-02 | 1990-09-17 |
Also Published As
| Publication number | Publication date |
|---|---|
| DE2459675A1 (de) | 1975-06-26 |
| FR2254832A1 (ja) | 1975-07-11 |
| GB1464650A (en) | 1977-02-16 |
| US3891974A (en) | 1975-06-24 |
| FR2254832B1 (ja) | 1978-06-23 |
| JPS5093363A (ja) | 1975-07-25 |
| CA1022684A (en) | 1977-12-13 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4077058A (en) | Method and apparatus for executing an extended decor instruction | |
| US4447874A (en) | Apparatus and method for communication of information between processes in an information system | |
| US4394725A (en) | Apparatus and method for transferring information units between processes in a multiprocessing system | |
| US4316245A (en) | Apparatus and method for semaphore initialization in a multiprocessing computer system for process synchronization | |
| US4374409A (en) | Method of and system using P and V instructions on semaphores for transferring data among processes in a multiprocessing system | |
| US4297743A (en) | Call and stack mechanism for procedures executing in different rings | |
| US4432051A (en) | Process execution time accounting system | |
| US4369494A (en) | Apparatus and method for providing synchronization between processes and events occurring at different times in a data processing system | |
| US4084224A (en) | System of controlling procedure execution using process control blocks | |
| US4084228A (en) | Process management structures and hardware/firmware control | |
| US4395757A (en) | Process synchronization utilizing semaphores | |
| US4130867A (en) | Database instruction apparatus for determining a database record type | |
| US4044334A (en) | Database instruction unload | |
| US5218712A (en) | Providing a data processor with a user-mode accessible mode of operations in which the processor performs processing operations without interruption | |
| US4493027A (en) | Method of performing a call operation in a digital data processing system having microcode call and return operations | |
| US4455602A (en) | Digital data processing system having an I/O means using unique address providing and access priority control techniques | |
| US4445177A (en) | Digital data processing system utilizing a unique arithmetic logic unit for handling uniquely identifiable addresses for operands and instructions | |
| US4320451A (en) | Extended semaphore architecture | |
| EP0300516B1 (en) | Digital data processing system | |
| US4901233A (en) | Computer system with logic for writing instruction identifying data into array control lists for precise post-branch recoveries | |
| US5197138A (en) | Reporting delayed coprocessor exceptions to code threads having caused the exceptions by saving and restoring exception state during code thread switching | |
| US4525780A (en) | Data processing system having a memory using object-based information and a protection scheme for determining access rights to such information | |
| US4318182A (en) | Deadlock detection and prevention mechanism for a computer system | |
| EP0333366B1 (en) | Context switching method and apparatus for use in a vector processing system | |
| US4025901A (en) | Database instruction find owner |