JPS602694B2 - マルチプログラム・コンピユ−タ・システム - Google Patents

マルチプログラム・コンピユ−タ・システム

Info

Publication number
JPS602694B2
JPS602694B2 JP9220583A JP9220583A JPS602694B2 JP S602694 B2 JPS602694 B2 JP S602694B2 JP 9220583 A JP9220583 A JP 9220583A JP 9220583 A JP9220583 A JP 9220583A JP S602694 B2 JPS602694 B2 JP S602694B2
Authority
JP
Japan
Prior art keywords
address
segment
processes
register
word
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
JP9220583A
Other languages
English (en)
Other versions
JPS59121444A (ja
Inventor
ビエンブニユ−・ジヤツク・ミツシエル・ジヤン
ベルデイエ・アンリ・ロワ
ル・トオン・デユク
アペル・マルク・ミツシエル
ブラドレイ・ジヨン・ヨゼフ
フランクリン・ベンジヤミン・サミユエル
ボゲ−ル・ジヤン・ロワ
ド・リブ・フイリツプ・ウベ−ル
カレ・クロ−ド・フレデリ−ク
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ANTERUNASHONARU PUURU RANFUORUMATEIKU SEE I I HANIIUERUBURU CO
Original Assignee
ANTERUNASHONARU PUURU RANFUORUMATEIKU SEE I I HANIIUERUBURU CO
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ANTERUNASHONARU PUURU RANFUORUMATEIKU SEE I I HANIIUERUBURU CO filed Critical ANTERUNASHONARU PUURU RANFUORUMATEIKU SEE I I HANIIUERUBURU CO
Publication of JPS59121444A publication Critical patent/JPS59121444A/ja
Publication of JPS602694B2 publication Critical patent/JPS602694B2/ja
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Control By Computers (AREA)

Description

【発明の詳細な説明】 本発明は、一般的には、コンピュータシステムに関する
ものであり、更に詳細には、マルチプログラミング/多
量処理の状況において、コンピュータプロセスを制御す
るシステムおよび方法に関するものである。
第四世代システムは、下記の必要条件を満たすことがで
きる。
1 当該システムは、コミュニケーションおよびコント
ロールシステムとして分類される。
2 当該システムは、以前の機械の如く、主として、プ
ログラムによるよりはむしろデータにより制御される。
3 ハードウエアは、コミュニケイシヨンとコントロー
ルの手順を制御する;システムコントロールブ。グラム
の使用は、実質的に減少あるいは除去される。4 大部
分の処理は、実時間で実行される;オペレーションは、
必要な応答時間内にアウトプットを供給する速度で、イ
ンプットに実施される。
5 当該システムは、容易に拡大する。
ハードウェアとソフトウェアは、デザインでは機能的な
モジュールである。第一世代のハードウェアーソフトゥ
ェァコンピュータシステムにおける処理は、比較的簡単
なものであった。
そこでは、ジョブあるいはプログラムは、基本的処理ユ
ニットと考えられていた。各ユーザが始めたジョブある
いはトランザクションに関しては、プログラムは通常、
そのジョブあるいはトランザクションが完了するまで、
割込みをほとんど伴わないか、あるいは、まったく伴わ
ずに進行した。高度のランゲージプログラムの編集およ
び実行で、フオートランのような簡単なジョブの多くは
、シングルプロセスとして進行することができたし、ま
た、進行した。しかしながら、更に難かしいジョブは、
マルチタスクオペレーションを必要としたし、また、進
行するにつれて、他の諸プロセスを作りだすのが常であ
った。(プロセスとは、ある活動の進行を意味する概念
であり、プoグラムの概念と混同しないように注意され
たい。何故ならば、プログラムは活動の記述であり、一
つあるいはそれ以上のプロセスにより使われることがで
きる。われわれは、プログラムを実行するとき、プロセ
スあるいはプロセッサのどちらかについて話して差し支
えない。基本的処理ユニットであるプ。
セスの概念は、第三世代のコンピュータのマルチプログ
ラミング/多量処理状況の必要を満たすために発展した
。多くのユーザが、同時にサービスを要求する、.その
ような状況において、コンピュータシステム内で、リソ
ースのために匹敵するマルチプルプロセスを思いつくこ
とは当然のことである。
各プロセスは、コンピュータにより実行されるプログラ
ムで、データに作用しユーザのジョブあるいはそのジョ
ブのある段階を実施するプログラム(すなわち、命令の
整理された収集と命令に関連する他のデータ)よりなる
。多くの当該プロセスが、システムから同時の注意を要
求する場合、当該プロセスと、および当該プロセス間の
コミュニケーションタスク、および、特に、第四世代シ
ステムの必要条件のゆえに、リソースを制御しそしてリ
ソZースを当該プロセスにアロケーションするタスクは
、きわめて複雑になっている。バロウズB一6500お
よびB一7500コンピュータは、「バロウズB−65
00ノB一7500雀積〆カニズム、手順.AFIPS
春季合同コンピュータ会議、ZI9総べージ245−2
51.トンプソン、ワシントンDC」と題する、E.A
.ホウチとB.A.デントによる記事の中でも検討され
、また、「バロウズB−650年手順に関するプロセス
ハンドリング.第四回オーストラリアコンピュータ会議
.アダリド、南2オーストラリア、1969」と題する
、J.G.クレアリによる記事の中で検討されており、
堆積メカニズムを利用することにより、プロセス制御の
、ある種の方法を提供している。
基本的には、“各プロセスは、堆積のために選定された
メモリであり、2その中には、ローカル変数、プログラ
ム手順の照合、データアレイ、および現行のプロセスの
状態が記憶されている・・・・・・堆積は、はじめ最少
量として、ストレージェリアの外に働く・・・・・・活
動用プロセスは、活動的堆積により表わされる。”(J
.○.3クレアリ上記ページ231一232)、従って
、堆積は実行中のプログラムの動的歴史を記憶する能力
を有する。オペレーテイグシステムに関するACMの第
2シンポジュウム(60〜70頁、196g王)で発表
された、AJ.ベルンシユティン、GD.デトレフ3セ
ン、およびR.日.ケルによる、“プロセスコントロー
ルとコミュニケィション”と題する論文は、“一般目的
のオペレーティングシステムの内部に実施されたプロセ
スの構造およびプロセスの間コミュニケーションの設備
”を記述している。4このシステムにより、一つのプロ
セスは、その論理セグメントとよばれる四つ部分にいた
るまで、その部分より成っている。
これらのセグメントは、プロセスが記憶されているとき
、物理的に分離したロケーションにあってもかまわない
。これらのセグメントの再配置と保護は、四つのレジス
外こより達成される。一般的に、諸プロセスは、プロセ
スにより発せられる原語(すなわち、凝次命令)を実施
するオペレーティングシステムと、それによって諸プロ
セスが相互に連絡するメカニズムを利用することにより
制御される。
最初に、コミュニケーションは、共有事象がファイルを
共有するのと同じ方法で共有事象を含む。各プロセスは
、各々の現行のオープンファイルにとって独特なヱント
リを含む同じMT(活動アイテムテーブル)を指すKI
T(既知アイテムテーブル)ヱントリを有する。この構
造により、一つのプロセスは、事象が発生するとき通知
(NOTIFY原語を発することにより)を必要とする
かもしれない。その結果として、オペレーティングシス
テムは、通知を持っている依頼プロセスを確認する事象
と関連する事象キューの上にェントリを作り出す。この
点において、依頼プロセスは実施を継続してもよいし、
あるいは、BLOCK原語を発して中断してもよい。こ
の事象は、ある他のプロセスがその事象に対しCAUS
E原語を発するときに発生するとゆわれており、同じ原
語を用いる指令機構においてカタログされ処理されるこ
とができる。その後、情報は、一方のプロセスから他方
のプロセスに、あるいは、さもなければ、一定のタスク
を実施することに協力するプロセスに転送されることが
できる。オペレーティングシステムにおける他の原語は
、諸プロセスを作りだしたり生んだりし、あるいはそれ
らを破壊する。プロセスコミュニケーションとコントロ
ールのこの技術は、実行中のプログラムの規則正しい動
的歴史を提供しないが、プ。
セスと事象マネジメントのソフトウェアマルチプレキシ
ングの幾つかの概念を導入する。この技術は、特権によ
り一方から他方のプロセスの保護の準備をしない。また
、この技術は、一方から他方のプロセスメッセージを送
る効果的な方法をも準備しない。その上、アドレスプロ
セスとIJロケーションは、第四世代システムでは不十
分のようにおもえる。第四世代システムに必要なものは
、プロセスを有効にアドレスし、リロケートし、そして
、プロセスの状態を確認する情報機構を提供するファー
ムウェァ/ハードウェアシステムであり、更に、これら
の状態を制御し、また、特権により他のプロセスおよび
それ自体から保護のためにプロセスをサポートする情報
機構を提供するファームウェア/ハードウェアシステム
であり、また、有効にプロセスを送り、他のプロセスと
同時に起こり、また、モジュールの方法でプログラムを
作成したユーザが、一方のプログラムモジュールから別
のプログラムモジュールに進むことを認めるファームウ
ェア/ハードウエアシステムである。 Zオペ
レーション費用を減少させるプロセスコントロールのた
めのシステムと方法を提供することが、本発明の別の目
的である。その中で、プロセス状態情報とコントロール
情報が集中化しているプロセスコントロールのためZの
システムと方法を提供することが、更に別の目的である
ランニングの状態のみならず準備および待ちの状態で、
一つのプロセスが消費する時間を報告するシステムと方
法を提供することが本発明の別の2目的である。
本発明の、これらのあるいは他の目的は、本書の中に含
まれている製図に関連して読まれるとき、本発明の選択
された実施態様の記述から明らかになるであろう。
発明の概要 マルチプログラミングの環境における諸プロセスは、四
つの可能な状態を有する。
即ち、進行、準備、待ち、および中断。プロセスは、中
央処理装置(CPU)の制御を3有するとき、進行の状
態にある。
準備の状態は、そのプロセスがCPUの制御を有しない
場合を除いて、ランニングに等しい。プロセスは、特殊
な事象が生じるまで、そのプロセスが継続することがで
きぬ場合、待ちの状態にある。中断状態のプロセスは、
ある時間止まっていて、後に回復するプロセスである。
コンピュータシステム内の各プロセスは、プロセスコン
トロールブロック(PCB)とよばれるハードウェア機
構に関連しており、このプロセスコントロールブロック
は、ナルスピードをもつバーチュアルプロセッサとして
作動し、また、論理的プロセッサにより要求されている
コントロール情報、即ち、プロセス実行のために必要な
ハードゥェアリソースとコントロール情報の収集を含ん
でいる。
プロセッサの唯一のジョブが、信号が到着したとき、あ
るいは、その後、プロセスにより送られた信号を聞くこ
とであるときはいつでも、バーチユアルプロセツサ(P
CB)は、リアルセントラルプロセッサユニット(CP
U)におきかえられる。プロセスが単に聴取装置として
、プロセッサを用いはじめる環境は次の通りである。{
ィ} プロセスの状態が、ランニングの状態から待ちの
状態にスイッチされるとき、あるいは、【口)プロセス
の状態鰍ミ、ランニングの状態から中断の状態にスイッ
チされるとき。
両方の場合に、CPUは、PCBに譲歩し、PCBにお
きかえられる。
PCBの絶対アドレスは、時には、プロセスの論理名で
よばれる2つの整数、JとPにより限定される。ファー
ムウェアにより知られている絶対ロケーションには、J
テーブルとよばれるテーブルがある。Jテーブルの記入
Jは、Pテーブルとよばれるテーブルの絶対アドレスp
iを含んでいる。Pテーブルの記入Pは、論理的名称(
J、P)により限定されるPCBの絶対ロケーションを
含んでいる。選択された実施態様の説明 一般的検討 本発明は、典型的に、ハードウェアノフアームウヱア/
ソフトウエアオペレイテングシステムにより調整され、
この後で記述されるハードウェアシステム環境において
有効に作用する。
図1に関連して、サブシステムは、プロセッササプシス
テム101、ストレージサブシステム102、および一
つあるいはそれ以上一32まで−の周辺サブシステム1
03である。各周辺サブシステムは、周辺コントロール
ユニット(PCU)106、多くの装置アダプタ(DA
)107、および256にいたる周辺インプット/アウ
トプット装置108とから成っている。ストレーシサブ
システムは、各々32から512キロバィトの、1から
4個の半導体記憶モジュールから成っている。1 プロ
セッササブシステム プロセツササブシステム101において、CPUI04
は、このシステムのために基本的な処理オペレーション
を実施し、記憶装置102とインタフヱイスする。
IOCI05は、ストレージサブシステム102と周辺
装置106との間のすべての情報交換を制御する。ィ
中央処理装置 CPUは、主要記憶同時装置109、バッファーストア
110、計算装置111を含む種々な素子、および任意
のエミュレーション設備1 12を含む。
主要記憶同時装置109は、計算装置111、バッファ
ーストア110、およびIOCIO9間で主要記憶装置
の使用に関する衝突を解決する。衝突は、優先順位ベー
スで解決される。IOCは、記憶書き込Zみ(計算装置
から)および、その後、記憶読み取り(バッファースト
ア)が従う最高の優先順位を有している。主要CPUは
、また、主要記憶アドレッシングを制御し、もっとも最
近に使用された主要記憶アドレスを記億すZるために用
いられる連想記憶装置を制御するアドレス制御装置AC
U131を含む。バッファストア110は、主要記憶の
選択した部分を再生し、平均記憶アクセスタイムを減少
するため計算装置とインターフェイスする小2型の高速
バッファ記憶装置である。各記憶読み取り中、バッファ
ストアと主要記憶装置の両方が呼び出される。引き出さ
れるべき情報が、既にバッファストアにある場合、主要
記憶読み取りは、終了しており、情報は、バッ2ファー
ストアから引き出される。さもなければ、主要記憶装置
102は、読み取られる。このことがおこなわれるたび
毎に、CRUは、求められている情報を含む32バイト
を引き出す。
この情報は、将来の記憶照合のため3にバツフアストア
にとどまる。バツフアストアが、ソフトウェアにとって
明白なものであるので、一定の時点でコンピュータを制
御するプログラムは、コンピュータが処理している情報
が、バッファストアから引き出される3のか、あるいは
、主要記憶装置から引き出されるのかを決定することが
できない。計算装置1 11は、CPU内で、すべての
データ処理とアドレスジェネレイションを行う。
計算装置内における典型的なコントロー4ルストア13
0(マイクロプログラミング:原理と実施と題する書物
を参照のこと。サミルS.ハッソン、プレンティスホ−
ル社)は、システムをイニシヤライズし、CPUI04
とIOCI05を制御し、定められた命令を解読するフ
ァームウェアを含んでいる(示めされていない)。随意
に、コントロールストアは、科学的命令、検査ルーチン
、エミユレイシヨンパツクケージ、あるいは、プロセッ
ササブシステムの能力を拡大する特殊目的の特徴を提供
するかもしれない。選択として、CPUは、インスタン
トシステム以外に、システムのェミュレィションを提供
する。
ェミュレータ112は、ファームウェア、ソフトウェア
、そして、ある場合には、ハードウヱアの部品である。
ロ インプットーアウトプット制御菱贋プロセッササブ
システムのIOCI05部分は、周辺サブシステム10
3とストレージサブシステム102間のデータ通路を提
供する。
この通路は、周辺の指令の開始を考慮し、そして、その
結果として生ずるデータ転送を制御する。
IOCは、典型的に、32チャンネルにいたる制御装置
をあつかうことができる(示めされていない)。ハ 周
辺サプシステム 図1の周辺サブシステム103において、PCUI06
は、i/oオペレーション中にi/o装置108を制御
することによって、CPUI04上のロードを救援する
唯一のマイクロプログラミングプロセッサである。
このPCUは、チャンネルプログラム中に含まれている
命令を実施することによりこれを行う。このプログラム
は、PCU内で実施されるので、結果的には、算術演算
、論理演算、転送オペレーション、シフトオペレーショ
ン、およびブランチオペレーションとなる。
装置の各制御の種類に応じて、PCUの幾つかの種類が
ある。即ち、単位記録、大量(磁気ディスク)記憶装置
、磁気テープ、コミュニケーション、その他。装置アダ
プター107は、あらゆるPCUとPCUが制御する装
置との間を調整する。
各々は、特殊なタイプの装置でコミュニケーションを実
施するに必要な、ゆだねられたファームウェアと論理と
を含んでいる。そのタイプにより、DAI07は一つあ
るいは幾つかの装置を制御する。PCUは、主要記憶の
ために、それに付属する装置間の衝突を解決する。
しかし、IOCは、PCU間の衝突を解決する。ニ ス
トレージサブシステム 主要記憶装置102は、酸化金属半導体 (MOS)チップの形態の容量性ストレージ媒体から成
る。
この媒体は、情報を維持するため記憶更新原理において
作用する。各々の記憶ロケーションは、1000分の2
秒毎にすくなくとも一度、典型的に、記憶更新される。
デJザィンは、記憶更新タイミングとメモリアクセスと
の間に衝突がほとんど発生しないことを保証している。
(衝突の場合、記憶更新は優先する。)主要記憶の初め
において、ある部分がハーZドウヱアとファームウエア
のためにリザーブされる。
この部分の上限は、システムソフトウェアにとって明ら
かな境界アドレスレジスタ(BAR−後に記述)の内容
により限定される。 2B
ARの内容は、システム初期設定時に設定される。
BARにおいて規定されるアドレスの下の記憶エリアは
、周辺サブシステム、CPUを制御するファームウェア
、あるいは、エミュレーションのためのマイクロプロ2
グラムおよびテーブルのコンフイギユレーションを限定
するIOCテーブルを含む。
BARにおいて規定されるアドレス下の部分の規模は、
システムコンフイギュレーションにより異る。
マイクロプログラムが主要記3億にあるか、あるいは、
コントロールストアにあるかは、システムコンフイギユ
レーシヨンにより異る。そして、アプリケーションは、
システム上で実施する。0 基本機械機構
3このハードウェアに利用されている
代表的な3つの基本的なデータ機構がある。
即ち、データフオーマット、ソフトウェア可視レジスタ
、および命令フオーマツト。イデータフオーマツト
4情報は、8パラレルビットの倍数にお
いて、記憶装置とCPUの間に転送される。
情報の各8−ビットユニットは、1バイトと呼ばれてい
る。パリティあるいはエラー訂正デ−夕は、また、デー
タと共に転送される。しかし、ソフトウェアにより影響
されることはできない。それ故に、この特許明細におい
て、データの用語は、連合パリティあるいはエラー訂正
データを除外する。
。 /ゞイト1バイト内のビットは、左から右へ、0から7
まで教えられる。
バイトは、別々にあるいは群で処理される。2バイトは
ハーフワードを構成し、4バイトは、1ワードを構成し
、8バイトはダブルワードを構成し、そして10ゞィト
は7オードワードを構成する。
これらは、命令を含めて、すべてのデータのための基本
的フオーマツトである。ハ データ表示 すべてのデータは、2進形の中にあり、2進、1G隼、
あるいはアルファニューメリツクで脱明されても良い。
データビットは、2進化IG隼データとして、4の群;
すなわち、アルファニューメリックとしては8、2進数
としては16力)ら64の群で説明される。後者は、2
進法における符号化、固定化、あるいは浮動小数点数と
して説明される。ダブルワードにいたる隣接ビッッの数
は、また、ストリングとして操作されることができる。
設定されるアルフアニユーメリツクのキヤラクタは、E
BCDICで表示される。ASCIIは、代替の交換コ
ードとして支持されている。ニ /ゞイトアドレス 主要記憶装置におけるバイトロケーションは、ゼロから
始つて、連続的にバイトの群は、もし左バイトのアドレ
スが、各々2、4、8、あるいは16の1倍数であるな
らば、ハーフワード一、ワード一、ダブルワード−、ク
オードワードーの1列に整列させられていると云われて
いる。
ハーフワード、ワード、ダブルワード、あるいはクオー
ドワードが、そのように1列に整列しているときはいつ
でも、そのユニットは、そのアドレスから引き出される
ことができる。主要記憶装簿におけるデータのロケーシ
ョンは、アドレスの発展中に、間接的にアクセスされる
データデスクリプターによって明らかにされる。ホ 可
視レジスタ CPUI04には、33のユーザ可視レジスタがある。
図1において、その内容がCPUの状態を集合的に限定
している。4つのタイプがある。
(図2参照)1ジエネラルレジスタ 2 ベースレジスタ 3 科学的レジス夕(任意) 4 多方面レジスタ へジエネラルレジスタ ジェネラルレジスタ(GR)は、固定小数Z点2進数字
とビットストリングを操作するために用いられる。
CPUI04−GROからGR15に、代表的に16の
32ービットジェネラルレジスタがある。ジエネラルレ
ジスタGR8からGR15は、また、指標レジスタとし
てZ用いることができる。指標レジスタとして用いられ
たとき、それらは、ここでは×0からx7と呼ばれる。
指標化は、レジスタに含まれている32ービット2の補
数整数を用いて実施される。 2
ト ベースレジスタ ベースレジスタ(BR)は、命令カウンタおよび堆積レ
ジスタ202−203と同様なフオーマットを有してい
る。
ベースレジスタは、記憶の部分を限定する2ためアドレ
ス計算中に用いられる。
代表的に8個の32−ビットベースレジスタ、BROか
らBR7がある。チ 科学的レジスタ 科学的レジスタ(SR)は、浮動小数点23進数で計算
のための任意の装置である。
SROからSR3と呼ばれる代表的な4個の8ーバイト
科学的レジスタがある。科学的レジスタは、図2のフオ
ーマツト204一205を有している。リ 多方面レジ
スタ 5個の他のレジスタがある。
すなわち、・フオーマット202−203を有する命令
力ウンタ・フオーマツト207を有するステータスレジ
スタ・堆積レジスタ(Tレジスタと呼ばれる)、・フオ
ーマット202一203を有する境界アドレスレジスタ
・フオーマツト208を有するハードウェアコントロー
ルそしてマスクレジス夕。
命令レジス外ま、実施される命令のアドレスを含む32
ービツトのレジスタである。
ステータスレジスタ(STR)207は、目下実施され
ている手順に関する事実、例えば;アソダフローが、も
っとも最近のオペレーションにより発生したのかどうか
を記録する8ービツトレジスタである。Tーレジスタと
して知られている堆積レジスタは、目下の活動的な手順
に関連している降下地積のトップを示すポインターを含
む32ーピツトのレジスタである。下に記述される堆積
は、ワークスペースを提供し、ローカル変数を貯わえ、
そして手順記入とりターンィンフオメーションを保存す
るメカニズムを提供する。
境界アドレスレジスタ(BAR)206は、ソフトウエ
アがアクセスすることのできる最低の絶対主要記憶アド
レスを指定する28−ビットレジスタである。このレジ
スタは、システム初期設定中に移送され、ソフトウェア
により読み取られることができるにすぎない。ハードウ
エアコントロールマスクレジスタ208は、機械状態情
報を記録する8−ビットのレジスタである。
ヌ 命令フオーマツト 多少とも利用されているとしても、約200の命令があ
る。
各命令は、四つの異なれる長さの一つであるが、常に、
バイトの長さの偶数である。命令は、連続的ストレージ
ロケーションの中に記憶される。一番左のバイトのアド
レスは、2の1倍数であり、命令のアドレスである。命
令の8個のもっとも重要なビット(そして、幾つかの場
合には、8から11、あるいは1幼)ら15)は、オペ
レーションコードを表示し、一方、残存するビットは、
一つあるいはそれ以上の演算数を表示する。
演算数は、レジスタデゼィグネー夕、変位デゼイグネー
タ、アドレスシラブル(論理的アドレス)、リテラル値
、直接リテラル値であるかもしれない。演算数の種類と
数は、命令フオーマツトにより決定される。
m システムオルガニセーシヨン イジョブステップとタスク コンピュータシステムで実施される作業 は、ジョブコントロールランゲージ経由で一連のジョブ
ステップにより外面的に限定される。
ジョブステップは、ハードウエアリソ−スが割り当てら
れる作業単位である。典型的に、ジョブステップは、幾
つかのタスクより成っている。タスクとは、平行せずに
実行される命令の流れより成る、ユーザが限定する作業
の最少単位である。ロプロセス タスクとジョブステップのユーザ可視概念は、各々プロ
セスとプロセス群により、ハードウェアの中に表示され
る。
プロセスとは、CPUにより非同期的に実行されること
のできる整理された一連の命令として定義される(すな
わち、幾つかのプロセスは、活動的で共有のリソースで
あることができるが、ただ一つのプロセスは、実際には
、ある一つの時点で進行している。
)プロセス群とは、一つのジョブステップを実施するた
めに必要な、関連する、組のプロセスである。
ハ プロセスコントロールブロツクとシステムベースプ
ロセスは、その実施中に、種々な点で、CPUのコント
ロールをやめることができるので、主要記憶装置におけ
る、ストレージェアリアは、CPUの状態情報は、プロ
セスがCPUのコントロールを再開する前に、3あらか
じめCPUの条件を整えるために利用される。
プロセスに指定されたストレージェアリアは、表4にお
いて、プロセスコントロールブロック(POB)400
と呼ばれている。
3PCBに含まれるデータは、そのプロセスに指定され
た記憶ェアリアのアドレス(アドレススペース)、すべ
ての適切なしジスタの内容、およびプロセスの状態真を
含んでいる。
かくして、PCBは、情報ロスなしに、プロセスを開始
あるいは再開するに必要な情報のための一時的ストレー
ジェアリアとして役立っている。各々のPCBは、ハー
ドウェアにとって可視的なものであり、そして、システ
ム初期設定中に発展し、システムオペレーション中に惨
正された一組のハードウェアを経由して、オベレーテイ
ングシステムによりアドレスされることができる(表3
)。
システムベース(表5および表6)と呼ばれる絶対主要
記憶ェアリアがある。
このェアリアは、ファームウェアによって発展させられ
、そして、読みとられることができるが、書き取られる
ことができないベースアドレスレジスタ(BAR)50
1を経由して、アクセスされることができる。システム
ベース502は、目下進行中のプロセスのために、各々
ジョブステップナンバーとプロセスグループナンバー(
J、P)を含む、多くのシステムの属性を含んでいる。
システムベースにおけるもう一つの属性は、Jテーブル
503として知られているハードウェア限定データ機構
を指す指針である。このテーブルは、目下、システム中
にある、あらゆるジョブステップのためのェントリを含
んでいる。Jテーブル503における各ェントリは、ハ
ードウェア限定データ機構である、関係Pテーブルを指
している。このテーブルは、プロセスグループを限定し
、プロセスグループにおけるあらゆるプロセスのための
ェントリを含む。各P−テーブルのェントリは、PCB
400を指している。表5に関して、コミュニケーショ
ンユニット506経由で、Jナンバーにより指標された
Jテーブル指針505は、Jーテーフルェントリ503
にアクセスを提供する。
このェントリは、コミュニケーションユニット506経
由でPナンバーにより指標化されたとき、Pーテ−ブル
エントリ504にアクセスを提供するP−テーブル指針
を含む。
P−テーブルエントリは、目下進行中のプロセスのPC
Bを指す指針507を含む。かくして、オペレーティン
グシステムは、BAR501の内容を用いている活動的
PCBをアクセスすることができ、そして、その関係す
る論理的名称(J、P)があたえられている他のPCB
に接近することができる。
ニ メモリセグメンテーシヨン マルチプロセス環境において、本書の中で記述する如く
、一定の時点で記憶装置の中に多くのプロセスがある。
これらのプロセスは、規模において異なり、記憶割当て
問題を生ずる記憶を要求する。
オペレーティングシステム(本書中には示 夕めされて
いない)と協力して本書中に記述されるハードウェアは
、動的にメモリスペースを割当てることによって問題を
解決する。
記憶必要条件のランダムな性質の故に、記憶は、可変的
サイズセグメントの中で割当てらZOれ、そして記憶割
当ては、プロセス進行タイム中に再構成されることがで
きる。かくして、プロセスは、多くの非隣接記憶セグメ
ントを割当てられる。
この記憶割当方法は、セグメンテーションと呼ばれてい
る。 Zセグメンテーションは、あるプロセスの一
部あるいは、すべてがリロケィトされるときはいつでも
、記憶アドレスが修正されなければならないという点に
おいて、付加的問題を提示する。
この問題を緩和するために、本書2中に記述されている
システムは、技術を提供する。それによって、プロセス
が用いるアドレスは、絶対主要記憶アドレスよりはむし
ろ、論理的である。
これらの論理アドレスは、絶対アドレスを発展させるた
めに用いら2れる。
セグメンテーションにより、また、セグメントデスクリ
プターのシステムを経由して、各プロセスが、それ自体
の、あるいは、関連する記憶セグメントをアクセスする
ことを許3す。
セグメントデスクリプターをアクセスすることによって
、プロセスは、セグメントのアドレスを得る。
セグメントデスクリプターは、主要記憶装置の中に含ま
れており、オペ3レーテングシステムにより維持される
各プロセスは、20磯にいたる記憶セグメントのアクセ
スを有するかもしれない。
通常、これは、各プロセスにつき等しい数のセグメント
デスクリプターを必要とするであろう。4しかし、セグ
メントは、共有されることができるので、オベレーテン
グシステムグルーブは、デスクリプターをセグメントテ
ーブルに分ける。
このグループ化は、一つのプロセス(タスク)、プロセ
スグループ(ジョブステップ)、あるいは全体的に(シ
ステムの広さ)、アクセス能力にもとずし、ている。各
プロセスは、それに関連する、15にいたるセグメント
テーブルを有しているかもしれない。この技術は、各セ
グメントのために、セグメントテーブル経由で、プロセ
スがアクセスすることができる、ただ一つのセグメント
デスクリプタを必要としている。
かくして、セグメントデスクリブタに要求されている記
憶スペースは、減少する。リロケーション中の記憶更新
は、減少し、そしてなんらかのプログラム保護が提供さ
れる。(プログラム保護のための主要メカニズムはリン
グシステムである。)プロセスは、それがどのセグメン
トをアクセスするかを決定することができるものでなけ
ればならない。
従って、システムは、プロセスに、2つのセグメントテ
ーブルワードアレイ(STWA)をあたえる。これらの
アレイは、プ。セスをアクセスすることのできる、すべ
てのセグメントテーブルのアドレスを含む。
2つのセグメントサイズ、大と小、があるので、各プロ
セスにつき2つのセグメントテーブルワードアレイがあ
る。
大のセグメントは、最大サィザ亥2バイトを有する。一
方小のセグメントは、最大規模?6バイトを有する。す
べてのセグメントは、最大限にいたるまで、16−バイ
ト増大において、サイズで異る。システムは、典型的に
28にいたる大のセグメントおよび2040の小のセグ
メントを収容することができる。
セグメントテーブルワードアレイはオペレーティングシ
ステムによりリロケイトするかもしれない。
それ故に、プロセスは、その関連STWAの絶対アドレ
スを知らなければなら,ない。プロセスのためのPCB
はこの情報を含み、表4上では、アドレススペースワー
ドASWO−1として知られている2つのワ−ドを含む
。各ワードは、セグメントテーブルワードアレイSTW
Aを指している。オペレーティングシステムは、関連す
るSTWAがリロケイトするときはいつでも、ASWの
内客を更新する。指針のチェーンを除々に進めること、
そしてセグメントデスクリプタをデコードすることは、
ファームフェアの機能であり、かくして一度開始されれ
ば、オペレーティングシステムにとってすらも不可視で
ある。セグメンテーションは、プロセスにとって利用で
きるものであるので、アドレスベースの2億バイト以上
を限定する。
この数は、主記憶の能力を越える。従って、2次ストレ
ーZジ(磁気ジスクあるいは磁気ドラム)は、主記憶に
関連して用いられる。オベレーテイングシステムは、シ
ステム が、実際に得られるよりもはるかに大きな主記憶を有す
るという錯覚を作り出す。
この概」念は、仮想記憶と呼ばれる。ある特定の時点で
、限定されたセグメントは、物理的に主記憶装置にある
か、あるいは、ないかもしれない。
セグメントデスクリプタの内容は、関連するセグメント
が主記憶2装置にあるかどうかを示めす。ハードウェア
は、主記憶装置にないセグメントをアクセスする、プロ
セスの試みを看破し、そして、オペレーティングシステ
ムに通知する。オペレーティングシステムは、希望する
セグメント2を、二次ストレージから主記憶装置の中へ
転送させる。次に、オペレーティングシステムは、セグ
メントの絶対アドレスがみい出されることのできる唯一
の場所であるセグメントデスクリプタの中へ、セグメン
トの記憶アド3レスをおく。このオペレーションはプロ
セスにとって不可視であり、かくして、そのセグメント
が主記憶装置の中にないのか、あるいは、そのセグメン
トが主記憶装置中でリロケィトされなければならないか
は気ずかれてし、3なし、。本書中で記述されているコ
ンピュータシステムは、プロセスが相互に干渉すること
、および、独断で相互のアドレススペースを共有するこ
とを防ぐことによって、データと手順の保護を提供する
この保護は、記憶セグメンテーション経由でアドレス能
力を限定することにより、また、リングシステムにより
達成されることができる。セグメントテーブルは、シス
テム内の種々なプロセスのアドレススペースを分離する
プロセスは、常に、実施中に、セグメントされたアドレ
スを用いる。セグメントされたアドレスは、そのセグメ
ント内で、セグメントナンバーおよび関連するアドレス
よりなる。ハードウエアは、プロセスにより用いられた
アドレスが、そのプロセスに与えられたアドレススペー
スの一部であることを検査する。アドレスが所定のアド
レススペースの外にある場合、例外が発生する。
ハードウェアは、照合プロセスのゼグメントテーブルを
用いるので、プロセスは、他のプロセスのアドレススペ
ース内でデータを照合することができない。
かくして、プロセスあるいは、プロセスグループが、他
のプロセスグループに属している実体を照合する可能性
はない。一般に、システム内のアドレススペースにおけ
る重復は、すべてのプロセスにより共有される、これら
のセグメントのために発生する。
これらの周知のセグメントは、アドレス衝突に対して保
証するために検査するシステムプログラムにより作り出
される。かくして、セグメンテーションは、ユーザプロ
グラム相互を保護し、オペレーティングシステムをユー
ザプログラムから保護する。
幾つかのプロセスが共有するセグメント は、これらのプロセスの一つによって、誤用から保護さ
れない。
この問題を解決するために、リングシステムが利用され
る。これにより手順とデータのセグメントは、4ークラ
スハイアラーキの中へ一団とされる。4つのりングクラ
スは0から3までの番号が付される。
各リングは、最大の特権を有するレベル0(最つとも内
部のリング)および最小の特権を有するレベル3(最つ
とも外部のリング)で、システム特権のレベルを表示す
る。
システム内のあらゆる手順は、それにあたえられた、最
小と最大の実行リングナンバーを有しており、そして、
そのナンバーは誰れが手順をコールしているかを明らか
にする。手順は、他の手順をコールすることができ、パ
ラメータを他の手順にパスすることのできるサブルーチ
ンである。リングシステムの一般的ルールは下記の如く
である。
1 内部リングにおける手順は、外部リングにおけるデ
ータに自由なアクセスを有する。
逆に、外部リングにおける手順は、内部リングにアクセ
スできない。
2 外部リングにおける手順は、内部リングにおけそ手
順にブランチすることができる。
しかし逆はみとめられない。3 データを含む各セグメ
ントは、2つのりZング値を与えられている。
1つは読み取り (RO)のためであり、他は誓き込み (WR)のためである。
これらのリング値は、最大のリング値を規定している。
この場合、手順は読み取りあるいは書き込みのZどちら
かの方法で、データをアクセスするとき、実行すること
ができる。
手順命令が実施される度毎に、その手順のりングナンバ
−(有効アドレスリング、 EAR)は、照合されるデータを含むセグメ2ントにあ
たえられたリングナンバーに対し検査される。
EARは、命令カウンターにおけるプロセスリングナン
バーの最大数であり、そしてアドレス通路にみし、ださ
れるベースレジスタとデータデスクリプタにおける、す
べ2てのりングナンバーの最大数である。データのアク
セスは、リングナンバーの比較にもとずきみとめられる
か、あるいは、拒否されるであろう。例えば、3の最大
読み取りリング値および1の最大書き込みリングを有す
るセ3グメントに、システムテーブルが存在する場合、
リング3におけるユーザ手順実行は、そのテーブルを読
み取るかもしれないが、しかし、そのテーブルを更新し
ないかもしれない。
3プレデザイン
によって、リング0および1は、オペレーティングシス
テムのためにリザーブされ、リング2および3は、ユー
ザのためにリザーブされる。
リング0は、全システムオペレーションにとつて重大な
これらのセ4グメントを含んでいる。リング1は、大量
のシステムセグメントを含み、そのシステムセグメント
の失敗は、破滅的とならず、回復を許すであろう。ユー
ザは、チェックアウトプログラムのためにリング2を利
用してもよいし、また、手直しされたプログラムのため
にリング3を利用してもよい。へ 手順コール 手順コールは、本書中に記述されているシステムにおい
て重要なオペレーションである。
手順コールは、一方の手順から他方の手順へパスするた
めに用いられ、ユーザ手順がオペレーティングシステム
サービスを用いることを許可するために用いられ、オペ
レーティングシステム内で、モジュール機構を達成する
ために用いられる。手順コールは、命令によって、また
堆積(図7A)と呼ばれるハ・−ドウェアの承認された
実体によって実施される。堆積は、あと入れ先出し1こ
もとずし、て、データの検索を受け入れ、貯蔵し、許す
メカニズムである。
堆積は、堆積セグメントと呼ばれる特別なセグメントの
中にある。堆積セグメントは堆積フレーム701(図7
Aおよび7B)と呼ばれ、動的に各手順に割当てられて
いる、多くの隣接部分から成っている。第一の堆積フレ
ームは、セグメントのトップに移送され、次のフレーム
は、そのあとに移送される。移送される最後のフレーム
は、堆積のトップとみなされる。T−レジスタ702は
、目下の活動的なプロセスのため堆積のトップをロケー
トする。
仮想Tーレジス外ま、システム内において、他のすべて
のプロセスのPCBに存在する。図78の堆積フレーム
701は、3エリアより成る。
即ち、変数を貯蔵する作業エリア702、レジスタの内
容を貯えるセーブエリア703、手順間でパラメータを
パスするコミュニケーションエリア。手順コールの前に
、ユーザは、貯蔵することを欲する、これらのレジス夕
を規定しなければならない。
ユーザは、コールされる手順へパスされるパラメータを
コミュニケーションエリアの中へ移送しなければならな
い。
コールが為される時、ハードウェアは、命令カウン夕I
Cの内容を貯蔵し、そして、コールされた手順からリタ
ーンを容易にするためベースレジスタを規定する。各手
順コールは、堆積セグメント701内で堆積フレームを
作り出し、その後のネスティングしたコールは、付加的
フレームを作り出す。
これらのコールされた手順の一つから 5の各退去は、
堆積フレームが堆積から消去される原因となる。かくし
て、コールの歴史が維持され、それは順序正しいリター
ンを容易にする。異るリング内で実行している手順間の
保護ZOを保証するため、異る堆積セグメントが用いら
れる。
各プロセスにつき各保護リングに相当する一つの堆積セ
グメントがある。PCBは、各プロセスに関連するりン
グ0,1および2のため堆積セグメントのスタートを指
す汐3の堆積ベースワードを含んでいる。リング3堆積
セグメントは、内部コールによって入れられることは決
してあり得ない。それ故に、その堆積スタートアドレス
は、PC磯村で必要とされない。
20W プロセスマネジメ
ントと同期性本書におけるシステムは、ソフトウェア、
ハードウェア、およびファームウヱアの結合を用いて、
オペレーティングシステムにより制御される多重処理オ
ペレーションを提供するもので2タある。
ソフトウエアは、システム内でプロセスを作り出し消去
する。一方ハードウェアとファームウェアは、CPU上
のプロセスを倍数にする。その上、ソフトウェア、ハー
ドウエア、およびファームウェアの結合は、プロセス間
の同30期を提供する。プロセスは、通常、しかし常に
ではないが、関連するジョブハンドリング中にインプッ
ト/アウトプットオペレーションの開始および終了時に
、および、他の場合には、オベレーティン3タグシステ
ムにとって必要とみなされる目的で、開始されたり、ま
た中止されたりする。
従って、コミュニケーションシステムは、有効に、関連
するプロセスを開始したり中止したりすることが必要で
あり、また、有効にプロセス間に靴情報をパスすること
が必要である。本書中のハードウエアは、プロセス間の
コミュニケーションリンクを提供するために、信号機と
呼ばれる内部メッセージを提供する。ィ プロセス状態 プロセスは、常に、四つの可能な状態の一つにある。
即ち、進行、準備、待ち、あるいは中断。ハードウェア
は、これらの四つのプロセスの状態を認識し、そして、
プロセス発信、状態変更を実施し、プロセス状態にもと
ずくデータ機構を維持するために種々なファームウェア
手順を実施する。PCBは、その関連プロセスの現行状
態を限定する状態フィールドを含む。プロセスは、CP
Uの制御を有するとき、進行の状態にある。
この状態は、CPU‘こアドレススペースとスターティ
ングアドレスを供給することを含む。その後、CPUは
、プロセスの手順セグメントにおいて、命令を実施する
。現在進行中のプロセスのために、PCBのプロセス名
Jテーブルワード(論理アドレス)は、システムベース
(図6)内で、進行プロセスワード(BAR+60)に
維持される。(注意:図5に示めされているシステムベ
ースは、幾つかの詳細の省略のほかは、図6に示めされ
たシステムベースと同じである。)準備状態は、プロセ
スがCPUに認識されていないので、CPUの制御を受
けていないということを除き、進行状態に等しい。
準備状態におけるプロセスは、他の準備状態を伴うCP
Uと進行プロセスにとって論争の中にある。プロセスが
、信号機を経由するメッセージのような特殊な事象が生
じるまで継続することができない時、それは、待ち状態
にある。
待ちプロセスは、CPUにとって論争の中にはない。し
かし、それは、要求されている事象にとって、他の待ち
プロセスとの論争の中にあるかもしれない。中断プロセ
スは、ソフトウェアにより、ある時間中止されていて、
後に再開されるかもしれないプロセスである。
プロセスの中止および再開の決定は、プロセスにとって
外部的である。かくして、中断プロセスは活動的でなく
、従って、事象発生の通告を受けることができず、また
、CPUを利用することができない。プロセスは、下記
の状態で中断する: ○’終了命令を実行することによる(すべてのその機能
完了の結果として)。
‘2’ オペレーティングシステムによる中断命令の実
施による。
‘3’ 例外状態の発生による。
これによって、制御は、オペレーティングシステムに移
転する。
ロ プロセス発信 プロセスは、進行しながら、随意にプロセZスの作用に
より、ある状態から他の状態に動く、あるいは、不随意
に、他のプロセスの作用により、ある状態から他の状態
に動く。
デスパツチヤーとして知られているCPUファームウェ
アは、状態間のプロセスの処理を缶9Z御する。デスパ
ッチヤーは、準備あるいは待ち状態にあるプロセスを操
作するため、一組のキュー(後に記述)を使う。中断プ
ロセスは、ソフトウェアにより制御される。図6,8お
よび9に関して、準備あるいは2待ちプロセスは、PC
Bおよびプロセスリンクと呼ばれる特殊キューェントリ
により表示される。
図9は、GOセグメント802の内容物の分解図を示め
し、また、活動プロセスのプロセスリンク803a一8
03bおよび8203c−803g、および中断プロセ
スのフリープロセスリンク805a一805cを含む。
各プロセスリンクは、プロセス名(J、P)、プロセス
優先順位、およびキューにおける次のプロセスリンクの
指針を規定する。3待ちキュー803a−bおよび準備
キュー803c−gのような種々なタイプのキューがあ
る。
Jテーブルに類似し、Gテーブルとして知られているハ
ードウェア菱贋(図6と8)3は、すべての一般的セグ
メント802一802n(既知のシステム中)に対する
指針を含む。
Gテーブル80 1の最初の素子、GOは、デスパツチ
ヤキューを含むセグメント802を指す。Gテーブル8
01に対するGテーブル指針は、図5上でシステムベー
ス502にみし、出される。また、GOセグメント80
2において、準備キュー803c−803gのヘッド8
05を確認する内部プロセスキューワード(IPQW)
と呼ばれるェントリは、システムベースにある。かくし
て、デスパッチャは、準備キュー803c−803gに
相談することによって、すべての準備プロセスを試験す
ることができる。
現在進行中のプロセスが、状態を変えるとき、デスパツ
チヤは、準備キューのヘッドでプロセスリンクを除去し
、そのPCBをアクセスするためにJ、P名を使う。そ
の後、PCBにより限定されるプロセスは、新しい進行
プロセスとなる。
一つ以上のプロセスが、同じ事象上で待っているかもし
れないので、待ちプロセス803a一803bのキュー
は、各事象のために存在する。
また、諸待ちプロセスは、GOセグメントに存在するプ
ロセスリンク805経由して、共にストリングされる待
ちキューのヘッドに対する指針は、信号機903(後に
記述される)に存在する。プロセスが待っているかもし
れない多くの事象が存在する。それ故に、多くの待ちキ
ューがあり、その各々は関連する信号機903,904
を有する。準備あるいは待ちプロセスの数は、動的に変
化する。
かくして、準備および待ちキューに要求されているプロ
セスリンクの数もまた変化する。この事実は、デスパッ
チャのために記憶マネジメント問題を導入る。問題は、
フリープロセスリンクキュー805a−cと呼ばれる他
のキューによって解決される。このキューは、準備ある
いは待ちキューにより使用されていず、そして、準備あ
るいは待ちプロセスの特殊なキューを拡大するために用
いられることのできる、セグメントGOにおけるプロセ
スリンクのすべてを一緒に連絡する。フリープロセスリ
ンクキュー805のヘッド902に対する指針901は
、GOセグメント802の初め近くに存在する。ハ ブ
ロセス同期性 プロセス同期性は、同じタスク上で作業する2プロセス
の活動を調整することが要求されている。
同期性は、コミュニケーションするプロセスのアドレス
スペースに存在するデータ機構である信号機903一9
04を用いて達成される。信号機は、事象発生を信号し
、メッセージのキューを処理するために用いられる。
この文中における事象とは、プロセスによって観察され
、他のプロセスにとって関0ある事柄である。事象は、
非同期オペレーションの完了であるかもしれず、あるい
はリソースの有用性であるかもしれない。プロセスは、
事象発生を信号するために2つの信号機オペレーション
を用いる。
一つのオペレーションは、信号を信号機に送り、他は、
信号機から信号をとらえる。(発信オペレーションは、
度々Vーオベレーションと呼ばれ、受信オペレーション
は、P−オペレーションと呼ばれる。
)発信オペレーションは、プロセスにデータあるいはデ
ータの準備ができているという信号を送らせる。
信号機は、他のプロセスが信号をとらえる準備のできる
まで、その信号を貯蔵する。かくして、発信プロセスは
、それがデータを送ったので、進行することが自由にで
きる。受信オペレーションは、規定の信号機を試験し、
そして、信号をとられる。信号がある場合、受信プロセ
スは実施を続ける。
しかし、信号機上に信号がない場合は、受信プロセスは
、待ち状態に入る。その後、信号機は、待ちキューのヘ
ッドに対する指針の役目をする。このプロセスは、他の
プロセスが、ある特殊な信号機に信号を送るまで、信号
機で待ち行列している待ち状態にとどまる。かくして、
信号機は、あるプロセスが信号をとらえるまで、その信
号を保持することができる。あるいは、信号機は、信号
がプロセスに送られるまで、そのプロセスを保持するこ
とができる。メッセージは、また、プロセスからプロセ
スヘパスされることができる。
メッセージは、信号および付加的情報と同じ現行の質を
有するかあるいはそのような質を有しない。
情報のある部分は、ハードウェアにより供V給され、ま
た、ある部分はメッセージを送ったプロセスの手順によ
り供給される。メッセージは、発信プロセスのプロセス
名を伴う。かくして、多くのプロセスは、信号機を通し
て、発信者の名称を付した情報を送ることができる。
メッセージ信号機は、プロセスによりとらえられるべく
待つているメッセージのキューを有するかもしれない。
信号機に関しては記憶マネジメント問題を提示しながら
、記憶スペースの必要条件が増減する。再び、問題は、
自由メッセージリンクのキューで解決される。
これらのリンクは、メッセージリンクを供艶給したり吸
収したりすることが必要であるとき、容易に見し、出さ
れることのできるセグメントの既知の場所に存在する。
信号機および信号機上に作られるキュー は、異なるプロセスにより共有されるので、全信号機機
機は保護される。
このことは、信号機を含んでいるセグメントのアクセス
を制限するハードウェアとソフトウェアの規定により達
成される。かくして、信号機は、信号機デスクリプタセ
グメントの中になければならず、そのセグメントの幾つ
かは「Gセグメントであるかもしれない(もしシステム
コミュニケーションが必要であるならば。)しかしなが
ら、すべてのGセグメント(GOを除く)は、信号機デ
スクリプクセグメントである。各信号機デスクリプタは
、信号機に対する指針を含む。
かくして、信号機に対する付加的保護を提供しながら、
信号機アドレスは、信号機デスクリプタを経由して発展
させられる。信号機セグメントは、セグメント内でセグ
メントナンバーおよび関連ロケーションを用いて、ある
いは直接にG、Dナンバーを用いて、論理的にアドレス
されることができる。
プロセスコントロールブロック機構 図4に関して、プロセスコントロールブロック(PCB
)のフオ‐‐マットが示めされている。
プロセスコントロールブロック400は、CPU地位を
貯蔵するため、プロセスが利用することのできる主記憶
装置におけるストレージェリアである。PCBをアドレ
スすることは、表5に関連して上記に記述したようにし
て実施される。PC母旨針507(表5)は、表4の記
憶ロケーション0でプロセスコントロールブロックPC
Bを有している。下方向への進行において、記憶ロケー
ションは、4バイトだけ増加し、一方記憶ロケーション
0から上方向への進行では、記憶ロケーションは、8バ
イトだけ増加していることに注目されるであろう。下方
記憶ロケーションは、0から正であるとみなされる。一
方、0から上方向のロケーションは、負の方向とみなさ
れる。上方向のロケーションは、任意であり、プロセス
コントロールブロックに含まれるかもしれないし、ある
いは含まれないかもしれない。また、148から176
のロケーションもまた任意である。(注意:記憶ロケー
ションのもとでの数字は、プロセスコントロールブロッ
クPCBの0照合ロケーションから、バイトでの変位を
規定する。)バイト0から16にいたる(但し16を含
まず)バイトでスタートし、長さで4バイトである各プ
ロセスメインワードPMWを伴い、四つのプロセスメイ
ンワードPMWOからPMW3が貯蔵されている。ブ。
セスメインワード肌ま、バイト0を占め、4部より成っ
ている。すなわち、能力バイト、優先順位バイト、状態
バイト、デコーダ延長バイトDEXT。図10aからi
odに関しては、図10bに示めされた能力バイト10
01の追加の詳細と共に、プロセスメインワードPMW
Oの詳細が示めされている。図10bに関しては、最初
のビット1005は、タイムアカンティング機能が、そ
のプロセスのために実行されているか否かを示めすため
のアカウンテイングモードビツトである。アカウンティ
ングモード1005が、2進数0にセットされるとき、
タイムアカゥンティング機能は、プロセスのために実施
されない。一方、アカウンテイングモード1005が2
進数1にセットされるとき、タイムアカウンティングは
実施されている。科学的モードビット1006は、ゼロ
にセットされたとき、機械の科学的レジスタの貯蔵は実
施されず、図4で148から176のバイトでロケイト
している科学的レジスタの貯蔵エリアは、プロセスコン
トロールブ。ツクPCBに存在しない。科学的モードビ
ット1006が2進数1にセットされるとき、科学的任
意の特質が存在し、プロセスにおいて用いられる。そし
て、科学的レジスタ貯蔵エリアは、必要なとき、科学的
レジスタの内容を貯蔵するために用いられる。標準コー
ドセットが用いられていることを示めす位置における2
進数0を伴い、コードモードビット1007は、標準コ
ードセットあるいは適性コードセットが、プロセスによ
り用いられているかどうかを示めす。一方、第3ビット
ポゼション1007における2進数1は、適性コードセ
ットが用いられていることを示めす。能力バイトのビッ
トの残りは、ゼロにセットされる。懐先順位バイト10
02の詳細は、図10cに示めされている。
図10cに関して、優先順位バイト1002の最初の4
つのビット1008は、一定のプロセスコントロールブ
ロックPCBと関連するプロセスの優先順位レベルをセ
ットするために利用される。各プロセスは16レベルの
優先順位の一つが与えられており、それは競合プロセス
を順序だてるために用いられる。即ち、ィ 準備プロセ
スの中で進行されるプロセスを選定するため。
ロ プロセスをキューにおくためである。
優先順位は0から15に減少する。一定の優先順位レベ
ルのためにFIF0(先入れ先出し)ルールが適用され
る。次の優先順位バイト1002の4ビット1009は
ゼロである。
図10dに関しては、状態バイト1003の詳細が示め
されている。
状態バイトは、プロセスコントロールブロックPCB4
001こ組み合せられているプロセスに関する情報を提
供するために用いられる。活動用フィールドビットAI
OIOは、プロセスが活動的であるとき、2進数1にセ
ットされる。中断フィールドSIOIIは、プロセスが
中断しているとき、2進数1にセットされる。サブステ
ートフイールドSSIO12は、2ビットフィールドで
あり、プロセスの下記のサプステートを限定する。ィ
2進数00にセットされるとき、プロセスは不活発であ
る。
ロ 2進数01にセットされるとき、プロセスは、準備
プロセスのキュー(Q/PR/RDY)で待機している
ハ 2進数10にセットされるとき、プロセスは、信号
機のキュー(Q/PR/S)で、信号機上で待機してい
る。
ニ 2進数11にセットされるとき、プロセスは、プロ
セッサにより実施されている。
中間オペレーションフィールド(MO1)1013は、
ィンタラプトが生じるとき、2進数1にセットされ、命
令の実施中−すなわち、プロセスの完了前に備えられる
拡大した袋贋モードビットEXTDIO14は、プロセ
スが機械のエミュレーションモードである拡大した装置
モードで操作されるとき、1にセットされる。ビット1
015と1016は、0にセットされる。プロセスメイ
ンワードPMWOの第4バイトは、装直拡大数を含み〜
システムがエミュレーションモードにあるとき利用され
る。プロセスメインワードPMWIは、プロセスコ Z
ントロールブロックPCBの、バイト4一7に貯蔵され
る。
PMWIの詳細は、図10eに示めされている。ステー
タスバイト101 6は、PMWIにおける最初のバイ
トであり、ステータスレジスタ内容を貯蔵する。マルチ
プロセッサバイトMPZIO18は、マルチプロセッサ
構造において重要である。さもなければ、このフィール
ドは0である。プロセスメインワードの第2および第4
バイトは、それぞれM旧2フィールド1 0 1 7お
よび1 2019であり、それは通常のオペレーション
のためには0でなければならない。
プロセスメインワードPMW2は、プロセスコントロー
ルブロックのバイト8から11を占め、図10fでより
詳細に示めされている。
図10に2関しては、ビット4からビット31のフィー
ルドは、プロセスが待ち状態あるいは中断状態にあると
き、PCBが結合する信号機の論理名(SEC、SRA
)1021を含む。例外クラスおよびタイプ1023は
、プロセスが例外のあとで中断状態3に入る原因となる
ィンタラプト様の例外のクラスとタイプを含む。ビット
4から15のフィールドは、プロセスが、上記にのべた
ビットに先立って、異る状態にあるとき、無意味な10
22である。 3プ
ロセスメインワードPMW3は、PCB400において
、バイト12から15を占め、装置拡大テーブルを指し
ている。PMW3の詳細に関する図10gに関して、D
ETSZフィールド1024は、テーブルにおけるェン
トリの数を限定し、そして、もしこのフィールドがゼロ
であるならば、装置拡大はプロセスに許されない。DE
TAフィールド1025は、1&ゞィトの単位で装置拡
大テーブルの絶対アドレスであり、DETSZが0でな
い場合にのみ重要である。装置拡大テーブルは、DET
SZェントリより成り立っている。各ェントリは1バイ
トサイズである。テーブルのDE×Tthェントリは、
プロセスが装置拡大モードDE×Tで活動する能力を限
定する。DE×T山バイトが0であるとき、装置拡大ナ
ンバーDE×Tは許されず、一方もしDE×T山バイト
が1であるならば、装置拡大ナンバーDE×Tは許され
る。0と1以外のDExTの値は、違法である。
(図10aDE×Tナンバー1004参照)PCB40
0のバイト16から23は各々2つのアドレススペース
ワードASWOとASWIを含む。
各ASWはセグメントテーブルワードのアレイを指す指
針を含む。ASWOとASWIの両方は、それぞれ、図
10hで示めされている同じフオーマットを有する。
セグメントテーブルワードのアレイのサイズは、アレイ
におけるセグメントテーブルワードの数により限定され
、典型的に、ASWOのためには6、およびASWIの
ためには8を含む。STWSZフイールド1026は、
セグメントテーブルワードのアレイのサイズを表示する
。セグメントテーブルワードアレイフイールドSTWA
I 0 2 7は、10ゞイトの単位でアレイの絶対ア
ドレスを含む。即ち、アレイの絶対アドレスは、バイト
で16倍のSTWAである。バイト24から27は、図
10iで更に詳細に示めされている例外ワードEXWを
含む。
例外ワードは、プロセスメインワードPMW2に貯蔵さ
れているように、そのクラスに応じて、プロセス例外に
つづいてとちれる行動を限定する例外クラステーブルを
指す指針(SEG、SRA)1029を含む。(図10
f参照)例外ワードEXWのMBZフィールド1028
は0でなければならない。PCBの31を通してバイト
28に位置する堆積ワードSKWは、プロセスが進行し
ていないとき、プロセスの堆積のTレジスタのトップの
値を含み、図10iで更に詳細に示めされている。
図10iに関しては、バイト0と1は、TAGフィール
ド1030を限定する。TAGは、その内容によってデ
スクリプタのタイプを表示し、SKWにとって0でなけ
ればならない。SKWのビット2と3は、保護の目的で
、堆積の区別したアドレスに組み合わされたりングナン
バーを含むRINGフィールド1031を含む。ビット
4から31は、セグメントナンバーSEGを含み、セグ
メント関連アドレスSRAI032は、セグメントテー
ブルに記述されるセグメントを確認し、そして、セグメ
ント内のセグメント関連アドレスを確認するフィールド
である。堆積ワードSKWは、プロセスが進行状態を去
る度毎に更新される。堆積ワードは、プロセスが進行状
態になる度毎に、Tレジスタの内容を回復するために用
いられる。Zこの最後の場合において、TAGI030
とRINGI031はゼロになるように試験される。さ
もなければ、違法PCB例外が発生する。PCB400
のバイト32から35は、時々ICCと呼ばれる。
命令カウンタ内容ワードICWを含Zむ。図10kに関
しては、命令カウンタワードICWの詳細が示めされて
いる。その中でTAGフィールド1033は、2進数0
0を含まなければならない。(即ち、ゼロ以外の値は、
命令カウンタでは違法である。ビット2と3を占める現
行R川Gフィールドは、メインストレージに対するアク
セス権利の決定に利用されるプロセスの現行のリング数
を限定する。ビット4から31は、実施される次の命令
のアドレスを限定するセグメントナンバーとセグメント
関連アドレスSEG,SRAI035を限定する。バイ
ト3 6から39におけるMBZフイールドは、0でな
ければならない。
(注意:M旧Zフィールドは、常に0でなければならな
いフィールドを表示する)。M旧Zは、名称J、Pから
アクセスされる度毎に試験される。もしそれが0でなけ
れば、違法なPCB例外が発生する。堆積ベースワード
SBWO一2は、プロセスコントロールブロック400
でバイト40−51を占める。
これらのワードは、図101でより詳細に示めされてい
る同じフオーマツトを有する。これらは、堆積オペレー
ション中に利用される。そして、用いられるときはいつ
でも、それらのTAGフイールド1036とRINGフ
イールド1037は、ゼロでなければならない。さもな
ければ違法なPCB例外が発生する。ビット4から31
は、各々リング0,1および2のために堆積セグメント
の最初のバイトの区分されたアドレス(SEG、SKA
)1038を含む。プロセスコントロールブロック40
0のバイト52から83は、ベースレジスタ貯蔵エリア
(8ワード)のためにリサーブされたスペースである。
バイト84から147はすべての一般的レジスタの値(
16ワード)を貯蔵するために利用される貯蔵エリアで
ある。バイト148から179は、科学的レジスタ(8
ワード)を貯蔵するために利用される貯蔵エリアである
。5個のダブルワードは、PMWOワードにおけるアカ
ウンテイングモードピツトがセットされたとき、タイム
アカンティング目的のために、PCBゼロアドレス上の
PCB400で与えられる。
これらのワードは、PCBアドレスマイナス8からPC
Bアドレスマイナス40にロケィトする。各ワードは、
ゼロで満たされるビット52−53を伴い、最初のその
52ビットにおいて、100世分の1秒単位で表示され
るタイム、あるいはタイムインターバルを含む。残余の
タイムアウトダブルワードRT0(PCBにおいて0よ
り上の最初の8バイト)は、タイムアウト例外が発生す
る前に、プロセスに代って、プロセッサにより実際に消
費される時間量を含む。PTOワードは、下記の方法に
より更新される。即ち、プロセスが、進行状態を退去す
る度毎に、プロセスタイマー値は、RTOワードに貯蔵
される。プロセスが進行状態に入る度毎に、プロセスタ
イマー値は、RTOから移送される。バイト7から15
における進行時間アカウンテイングRUAダブルワード
は、プロセスが進行状態にあるとき、プロセッサタイム
の全量を規定するタイムカウンターである。
アカウントされる時間は、プロセスに代って、独占的に
プロセッサにより実際に消費される時間である。RUA
ワードは、下記の方法により更新される。プロセスが進
タ行状態を退去する度毎に、プロセスタイマーPTの値
は、読み取られる。RTOとRTの内容の相違は、RU
Aに加えられる。
(従って、PT値は、RTOに貯蔵される。)プロセス
が中断中の時間は、計算されないことに0注意すること
。RTOとRUAワードは、もしアカウンテイングモー
ドビツトが0にセットされたとしても更新される。しか
し、CET、RTA、およ ′びWTAワード(後に記
述される)は、プロセスメインワードPMWOが1にセ
ットされる場合にのみ、プロセスコントロールブロック
に提供される。これらは、この場合にのみ更新される。
バイト17から23における待ち時間アカウンティング
WTAワードは、プロセスが待ちの状態にあるときリア
ルタイムの全量を規定するりアルタイムカウンターであ
る。WTAワードは、下記の方法で更新される。プロセ
スが待ちの状態退去する度毎に、日時計値の時間TOD
が読み取られ、TOD値マイナスCET値ワードは、W
TAワードーこ加えられる。バイト24から31に位置
する準備タイムアカウティングRTAは、プロセスが準
備の状態にあるとき、リアルタイムの全量を規定するり
アルタイムカウンターであるダブルワードであるRTA
は、下記の方法で更新される。
即ち、プロセスがZ準備の状態を退去する度毎に、日時
計時間値TODが読み取られる。そしてTODの内容マ
イナスCETの内容がRTAに加えられる。バイト32
から39における現行ェントリタィムCETダブルワー
ドは、プロセスが下記の状態2の一つに入る日時を含む
即ち、準備、待ち、進行、および中断。システムベース
機構 図6に関して、システムベース600のフオ−マットが
示めされている。
システムベースは、絶2対主記憶装置中に存在し、ファ
ームウェアにより発展させられ、読み取ることができる
が、書き込むことのできない境界アドレスレジスタ(B
AR)を経由して、アクセスすることができる。
3境界アドレス
レジスタBARは、ハードウェアのためにリザーブされ
た主記憶装置中のエリアの下にあり、そして「ハードウ
ェアとシステムベース600のためにリザーブされた記
憶装置中でこのエリアを分解する。現在の図6に関して
は、シ3ステムべ−ス600は、現在進行中のプロセス
のために、ジョブステップナンバーとプロセスグループ
ナンバー(J、P)を含む多くのシステム特性を含む。
プロセスJ、Pの論理名から対応するプロセスコントロ
ールブロックPCBの絶対アドレ4スが得られる。Jテ
ーブルのサイズとアドレスは、Jテーブルワード(JT
W)の内容によって限定される。
このワードは、BARレジスタにより限定されるアドレ
スに位置する。JTWのフオーマツトは図11aの示め
されている。図12上のサイズ(JTSZ)1101あ
るいはJテーブル1204は、255にいたるヱントリ
であるかもしれないJテーブル1204において、ェン
トリの数を限定する。
JTSZIIOI‘ま、8ビットの正の整数である。も
しJがJTSZより大きければ、Jテーブル例外のアウ
トが発生する。Jテーブル1204の絶対アドレスは、
Jテーブル指針1102を16で掛けることにより得ら
れる。
Jテーブル11204はJテーブルエントリを含み、そ
のフオーマットは図11bで更に詳細に示めされている
。各Jテーブルェントリは「Jテ−ブル指針1104を
16で掛けることによって得られるPテーブル1205
の絶対アドレスを限定する。PテーブルのサイズPTS
ZI I03は、Pテーブルにおけるェントリの数を限
定する。PTSZは、Pテーブルにおいて、ヱントリの
数を示めすために、典型的に0から255に変化するか
もしれない8ビット正の整数である。もしPが、PTS
Zoより大きければ、Pテーブル例外のアウトが発生す
る。Pテーブル1205の各ェントリは、プロセスコン
トロールブロック指針1107を16で掛けることによ
って、プロセスコントロールブロック(PCB)120
6の絶対アドレスを限定する。現在ィンジケィタPII
05は、2進数0にセットされたときPCB1206の
不在を表示し、2進数1にセットされたとき、PCBの
存在を表示する。現在ィンジケィタPII05が0であ
ることがわかるとき、空位のPテーフルェントリ例外が
発生する。
Pテ−ブルインジケイタ(図11c)のビット1から7
は、0(MBZ)1106でなければならない。さもな
ければ、違法なPテーブルェントリ例外が発生する。シ
ステムベース600のアドレスBARプラス4で、図1
1dで更に詳細に示めされているGテーブルワード(
GTW)のフオーマツトバイトがある。
図1200のGセグメントテーブル1212のサイズと
アドレスはGテーブルワード(GTW)の内容によって
限定される。
Gテーフル1212のサイズ(GTSZ)1 108は
、典型的に、255にいたるエントリであるかもしれな
いGテーブルにおけるヱントリの数を限定する。GTS
Zは、8ビット正の整数である。もしGナンバーがGT
SZより大きければ、Gテーブル例外のアウトが発生す
る。Gテ−ブル1212の絶対アドレスは、Gテーブル
指針1109を16で掛けることによって得られる。G
セグメントテーブルェントリのフオーマツトは、2ワー
ドサイズ(8バイト)を有しており、Gセグメントデス
クリプタと呼ばれる。Gセグメントデスクリプタのフオ
ーマットは、図11eと11fに詳細に示めされている
。すべてのGセグメントデスクリプ外ま直接的であり、
それ故に、間接ビット1,1111は0でなければなら
ない。さもなければ、違法セグメントデスクリプタ例外
が発生する。現在インジケィタPIIIO‘ま、2進数
1にセットされたとき、セグメントが、当該デスクリプ
タ対応するセグメントナンバーのために、主ストレージ
で限定されることを表示する1ビットフィールドである
。一方、もし現在ィンジケイタPIIIOが0にクリア
したとすれば、セグメントは、限定されず、セグメント
デスクリプタへの照合は、行くえ不明のセグメント例外
を生じる。得られるビットAIl12は、セグメントが
得られるか否かを表示する1ビットフィールドである。
それは、もしこのセグメントが限定されるとするならば
(即ち、Pは2進数1に等しい)、検査されるにすぎな
い。さもなければ、それは無視される。もちいられるフ
ラッグフィールドUII13は、セグメントがアクセス
されているか否かを表示する。もしUビットが2進数0
にセットされていれば、セグメントは、アクセスされて
いない。一方もしUフィールドが2進数1にセットされ
ていれば、セグメントはアクセスされている。書き込ま
れた、フラッグフイールドWII14は、セグメントが
書き込まれているかどうかを表示する。もし、Wが2進
数0にセットされていなければ、セグメントは書き込ま
れていない。一方もしWが2進数1にセットされていれ
ば、セグメントは書き込まれている。Gセグメントデス
クリプ夕のゲートインジケィタGSII 15は、2進
数01にセットされなければならない。さもなければ、
違法なセグメントデスクリプタ例外が発生する。このこ
との理由は、Gセグメントは、常に、信号機を含まなけ
ればならないということである。(即ち、逆は真実では
ないとしても、すべての信号機が、Gセグメントの中に
あることは必要ではない。)そして信号機上の命令は、
GSコードが2進数01であることを要求している。セ
グメント1214のベースの絶対アドレスは、図11e
のGセグメントデスクリブトにおいて、24ビットベー
スフイールド1116によって限定される。このフィー
ルドの内容は、絶対アドレスを得るために16倍増され
る。図11fのGセグメントデスクリプタの第2のワー
ドは、Gテーブル1212において、ビットポゼシヨソ
32から63を占める。RSUフイールド1117、ビ
ット32から39はソフトウェア使用のためにリザーブ
され、そして、この場合におけるように、Gセグメント
デスクリプタとして用いられた時は、一般的に無視され
る。MBZフィールド1118は、0でなければならな
い。さもなければ、違法なセグメント例外が発生する。
M欧フィールド1118は、ビット40から50を占め
るので、それは、小さいセグメントSIaNのためのフ
イールドであるSIZNフイールド1119をセットす
る。従って、すべてのGセグメントは、小さいセグメン
トタイプでなければならない。セグメントSIZNII
I9は、セグメントにおいてバイトの数を限定する12
ゞィト正の整数であり、セグメントサイズは、16の倍
数として説明される。それ故に、Gセグメント1214
のためのセグメントサイズは、ぞ6バイトを越えること
ができない(小セグメント)。再び図6のシステムベー
ス600に関連して、BARプラス8とBARプラス4
4の間に位置する9システム例外セルワ−ドがある。
システム例外セルワードEXCのフオ−マットは、図1
1gに示されている。信号線は、システム側外が発生す
るときメッセージを、目的のプロセスに伝送するために
用いられるので、これらの信号機に対する指針は、シス
テム例外セルと呼ばれているロケーション毎に−システ
ム例外のクラスにつき一つ一記憶菱瞳の9ロケーション
に見し、出される。MBZフィールド1!20は、2進
数0にセットされなければならない。さもなければ、シ
ステムチツクが発生する。各例外セル(EXC)は各々
システム名G、DI121と1122を含む。システム
ベース600のBARプラス44に位瞳するチャンネル
例外セルは、前に検討したシステム例外セルに類似する
フオーマットを有し、チャンネル例外が発生するとき、
目的のプロセスヘメッセージを伝送するために用いられ
る信号機のシステム名GOを含む。内部プロセッサキュ
ーワードIPQWは、BARプラス48ではじまり、位
置する。
そのフオーマツトの詳細は、図1 1hに示めされてい
る。IPQWワードは、照合数字905および805で
図9に示されているように、準備プロセスキュー(Q/
PR/RDY)のペットを指している。準備プロセスの
キュー(QノDR/ROY)は、準備状態にあZるすべ
てのプロセスを結合する。それは準備プロセスキューの
トップを指すことにより、IPQWワードのQ/PR/
RDYーフイールド1 124のHEADにより照合さ
れる。Q/PR/ROY−フィールド1 124のHE
ADは、GOセグメントと呼ZばれるGセグメントナン
バー0のベースから、Q/PR/RDYの最初のバイト
への変位である16セット正の整数を含む。もしこのQ
/PR/RDYビットフィールドが0であるならば、準
備キューは、空席であるとみな2される。
MDZフィールド1 123は、0でなければならない
。さもなければ、システムチェックが発生する。システ
ムベース600のBARプラス52で、初期と現行のリ
トラィカウントのストレージが示されている。
そして、そのフオーマツトは、図11iで詳細に示めさ
れている。NFSフィールド1125は、非機能ストレ
ージフイールドであり、システムベースにより利用され
ない。初期リトラィカゥントフィールド1126と現行
リトラィカウントフィールド1127は、機械エラーが
なされて、機械フェール例外条件を生ずる前に、自動命
令リトラィが実施される回数を制御するために用いられ
る。それらは、リセットリトライカウント(ここでは示
されていない)により同じナンバーで移送される。図1
1jで示されているように、進行プロセスワード(RP
W)は、システムベース600のBARプラス56に貯
蔵され、モノプロセツサ構造の場合に、その優先順位を
伴い、進行プロセスの名称を貯蔵するために用いられる
NFSフィールド1128と1131は各々非機能スト
レ−ジフィールドであり、どの施設によっても、どんな
目的にも用いられることができるが、一般に、システム
ベースによっては用いられない。進行プロセスの優先順
位レベルは、PRIフィールド1129に貯蔵される。
非同期トラップビットは、ABフィールド113川こ貯
蔵される。一方、非同期トラツプリングは、ARNフィ
ールド1132に貯蔵される。モノプロセツサ構造の場
合、進行プロセスの論理名J、Pは、J、Pフィールド
1133に貯蔵される。図11kに示されている絶対テ
ーブル指針ワードは、システムベース600のBARブ
ラス60に位置し、そして、BARの内容をISLプロ
グラムにおけるすべての絶対アドレスに加えることによ
り、初期システム、ロード(ISL)プログラムにおい
て、絶対アドレスを初期設定するために、初期システム
ロードにおいて用いられる。
絶対テーブル指針1135は、絶対テーブル(示されて
いない)の位置を限定する。絶対テーブルサイズは、A
TSZフィールド1134により示されている。図11
1に示されているCPUシリアルナンバーワードはB
ARプラス64に位置する4バイトワードであり、CP
Uシリアルナンバーフイールド1 136において、C
PUのシリアルナンバーを含む。
図11mに示されている主ストレージ上限ワードは、B
ARプラス68に位置し、主ストレージにおいて最後に
得られるワードの絶対アドレスを与えることにより、主
ストレージ上限1139を表示する。BARプラス72
で、初期システムロードISLデバイスチヤンネルナン
バー(CN)1140とハ−ドウエアデバイスチヤンネ
ルナンバー(CN)1141を提供するため、図11n
に示されているワード位置する。
コンピュータシステムにおいて用いられる装置のタイプ
とサブタィプは、各々フィールド1143と1144に
おけるハードウエアデバイスタイプワード(図11o)
によって示めされており、そこでは、RSUフィールド
1 142が、ソフトウエアのためにリザーブされてい
る。
このワードは、BARプラス76で、システムベースに
おいて見し、出される。図11pに示されている同様な
タイプフオマートを有する同様なワードは、初期のシス
テムロードにおいて用いられる装置のタイプとサプタイ
プを含む。このワードは、BARプラス80に位置して
いる。コンピュータのリスタートボタンが押されたとき
、シミユレーションしたVーオベレーシヨンが、信号機
上で実施され、準備状態に入る。
この信号機に対する指針は、システムベース600のB
ARプラス滋でみし、出され、リスタートセルコールと
呼ばれ、図11qに示されているフオーマットを有する
。このフオーマットは、上に記述されたシステム例外セ
ルに類似しており、各々Gフイールド1149と○フイ
ールド1150における信号機のシステム名G、Dを含
む。MDZフィールド1148は0でなければならない
。コンピュータシステムに一つ以上のプロセッサがある
場合には、マルチプロセス拡大のためにBARプラス聡
で、システムベース600でワ−ドが提供される。この
ワードの詳細は、図lrに示めされている。システムベ
ースとプロセスコントロールブロック使用の例図12に
関連して、いかにシステムベースがユーザセグメント、
システムセグメント、あるいは、プロセスキュー準備(
Q/PR/PDY)セグメントをアドレスし、アクセス
するために、プロセスコントロールブロックとの組み合
せで利用されることができるかに関する1例が示されて
いる。
主記憶装置1200は、ハードウヱア使用のためにリザ
ーブされたポーション1200を有している。境界アド
レスレジスタBAR1 202は、ハードウエアのため
にリザーブされたメモリ1203のポーシヨンからシス
テムベース1215を分離する。境界アドレスレジスタ
BAR1202は、境界アドレスレジスタの内容を、シ
ステムベースで要求されている。アイテムの4バイト単
位で転位に加えることにより、システムベース1215
でアイテムをアドレスするために利用される。このアド
レスは、その後、要求されているシステムベースにおい
てアイテムの最初のバイトを指す。図12において、B
AR1202は、Jテーブルワード(JTW)を指して
いる。Jテ−ブルワードは、前に検討したように、Jテ
ーブル1204を指す指針を有する。図5に示されてい
るJナンバーにインデックスすることによって、Jテー
フルェントリ1216が得られる。Jテーブルェントリ
で、Pテーブル1205の絶対アドレスを指すPテーブ
ル指針がある。Pテーブル1205内でPナンバー(図
5参照)にインデックスすることにより、プロセスコン
トロールブロック1206の絶対アドレスが得られる。
プロセスコントロールブロックPCB1206で、前に
示された如く、二つのアドレススペースワードASWO
とASWIがある。
ベースレジスタ1201におけるセグメントテーブルナ
ンバーフイールドSTWの高順位ビットは、これらの二
つのアドレススペースワードの一つにアクセスするため
に用いられる。この場合において、ASWIであり、そ
れは、セグメントテーブルワードアレイSTWA120
8を指すセグメントテーブルワードアレイSTWA指針
を有する。ベースレジスタ1201のセグメントテーブ
ルナンバーSTNと共に、8セグメントテーブルワード
の一つは、8セグメントテーブル1210の一つを指す
STWA1208で、アクセスされる。その後、ベース
レジスタ1201からのセグメントテーブルエントリS
TEは、セグメントデスクリプタが位置しているセグメ
ントテーブル1201で、256エントリの一つのェン
トリをするために利用される。その後、セグメントデス
クリプ外ま、ユーザセグメント1211をアクセスする
ために利用される。信号機を貯蔵するために利用される
システムセグメント1214をアクセスするために、G
テーブルワードGTWは、システムベース1 2 1
5で利用される。Gテーブルワードのアドレスは、シス
テムベースにおけるGテーブルワードの転位を境界アド
レスレジスタBAR1202に加えることにより得られ
る。(図6参照)GテーブルワードGTWは、Gテーブ
ル1 2 12を指すGテーブル指針を含む。
システムに得られるGナンバーを利用し、そしてGテー
ブルにおいてインデックスすることにより、Gセグメン
トデスクリプタはアクセスされる。そして、それは、シ
ステムセグメント1214をアドレスするために利用さ
れる。同様に、システムベース1215は、準備プロセ
スキューセグメント(Q/PR/RDY)セグメント1
213を指す内部プロセッサキューワードIPQWをロ
ケイトすることによりQ/PR/RDY1213をアク
セスするために用いられる。
制御装置図13a−13cに関して、制御装置の詳細が
示される。
制御装置は、たとえ中央処理装置(CPU)から分解し
て示されているとしても、実際には、CPUの1部分で
あり、コントロールアトアユニツトCSU1 301、
コントロールアトアィンターフェィスアダプタCIA1
302と付属サブユニツト、コントロールストアローダ
CSL1303、およびコントロールユニットCLU1
304から成っている。コントロールアトアユニツトC
SU1 30 1は、コントロールとロードユニットC
LU1 304およびコントロールストアインターフェ
イスアダプタCM1302を経由して、コントロールス
トアローダCSL1303からマイクロ指令を受ける。
通常のオペレーティング条件下では、マイクロプログラ
ムは、システム初期設定中に外部ソースから移送され、
機械の永久的コ/ントロール機能となる。しかしながら
、コントロールストアユニットCSU1301は、種々
な中央処理装置CPU1306のオペレーションモード
を提供する方法で、再移送され初期設定される能力を有
する。CSU1301の制御のもとでCPUのオペレー
ションの下記のモードが得られる。M ネイテプモード ‘ロ)エミュレーションモード レ一 同時的ネイテブおよびエミュレーションモード0
診断モード この能力は、CSUに存在するマイクロ命令が、エミュ
レーションユニット1316、演算論理ユニットALU
1317、命令取り出しユニツ′トIFU1 31 8
、アドレスコントロールユニットACU1319および
データマネジメントユニットDMU1321の如きすべ
ての他のCPU機能ユニットのオペレーションを制御す
るために用いられるマイクロオペレーションのソースで
ある。
また中央処理装置CPU1306の中には〜前に記述し
た一般レジスタ1307、ベースレジスタ1308、科
学レジスタ1309、Tーレジスタ1310、ステータ
スレジスタ1311、命令カウンタIC1312、およ
びハードウエアコントロールマスクレジスタ1313が
示される。典型的に、コントロールストアユニットCS
U1301は、読み取りノ書き込み、ランダムアクセス
ストァ(RAM)と結合した鰍2函式集積回路プログラ
ム読み取りのみの記憶装置(PROM)である。
それは、典型的な150十1セコンド読み取りサイクル
と450十1セコンド書き込みサィクールを有する。コ
ントロールストアの各位贋は、一つの縄ビットマイクロ
命令ワード(後で更に十分に記述する)を貯蔵し、各マ
イクロ命令ワードは一つのCPUサイクルを制御する。
コントロールストアユニットCSU1301のコントロ
ールストアの各位贋が読みとられるので、その内容は、
各シグナルがCPU内で特定のオペレーションを生じさ
せる原因となる。マイクロオペレーションコントロール
シグナルを提供するマイクロオペレーションデコーダに
より解読される。タ マイクロ命令ワード内でロケーシ
ョンをグル−プにすることにより(後で詳細に記述する
)、特定のCPUオペレーションあるいは命令を実施す
ることのできるコントロールストアシーケンスが得られ
る。各命令がCPUで開始されるにつれて、オプーコー
ド内の一定のビットは、コントロールストアスターティ
ングシーケンスを決定するために用いられる。命令解読
機能によりセットまたはリセットされる一定のフロップ
(示めされていない)の試験は「コントロールストアメ
モリーが、必要なとき、更に特定のシーケンスにブラン
チすることを許可する。
コントロールストアインターフェースアダプタCM13
02は、図13bのコントロールストアメモリ1333
のオペレーションを指示するために、コントロールスト
アユニット1301、データマネジメントユニットDM
U1321、アドレスコントロールユニットACU13
19、および演算論理ユニットALU1317と通信す
る。
5CM1302は、コントロールストアアドレス変更、
試験、エラー検査、およびハードウェイアドレスジェネ
レーションの論理を含む。
ハードウェイアドレスジェネレーションは、一般に、ェ
フーシーケンスの開始アドレスを発展させるため、ある
いは、初期設定シーケンスのために利用される。データ
マネジメントユニットDMU1 32 1は、CPU1
306とメインメモリおよび/あるいは、図1に示めさ
れているバッファストアメモリ間のィンタフェィスを提
供する。
どのユニットが、他のユニットが必要とする情報を含ん
でいるかを認識し、その情報を適当な時に、CPUレジ
スタの中にストロークすることは、データマネジメント
ユニットの責任である。データマネジメントユニットD
MUは、また、部分的書き込みオペレーション中にマス
キングを実施する。命令取り出しユニットmU1318
は、DMU1 32 1,ACU1 3 1 9,AL
U1 3 1 7およびCSU1301とインタフェイ
スし、命令を与えられるCPUを維持する責任がある。
命令取り出しユニットは、現在の命令の完了前に、その
レジスタ内で得られる次の命令を有する。この能力を提
供するために、命令取り出しユニットmU1318は、
通常一つ以上の命令を含む一つの12バイト命令レジス
タ(示めされていない)を含む。更に、IFUは、CS
Uの制御のもとで、命令が実際に必要とされる前に、メ
インメモリから情報(命令)を要求する。かくして、そ
の12バイト命令レジスタを絶えず更新し続ける。命令
はかくして、通常使われていないメモリサイクルの手段
で実施される。命令取り出しユニットは、また、各命令
を解読し、命令の長さとフオーマットを他のユニットに
知らせる。アドレスコントロールユニットACU1 3
1 9は、CIAを経由してAFU,ALU,DMUお
よびCSUと通信する。
ACU1319は、CPUにおけるすべてのアドレス発
展に責任がある。ACUのすべてのオペレーションは、
ユニット間の、およびユニット内の転送も含めて、ユニ
ットにおけるCSUマイクロオペレーションとロジック
により指示される。ACUの通常サイクリングは、命令
のタイプによるよりはむしろ、命令におけるアドレスの
タイプにより異る。アドレスタイプに応じて、ACUは
、命令において、各アドレスのために種々なオペレーシ
ョンを実施することができる。ACUは、また、そのセ
グメントナンバーと共に、8個の最も最近用いられたメ
モリセグメントのベースアドレスを典型的に貯蔵する理
想記憶装置1319aを含む。
メモリリクエストがなされる度毎に、セグメントのベー
スアドレスがすでに発展され貯蔵されたかどうかを決定
するため、セグメントナンバーは、連想記憶装置に対し
て検査される。もしベースアドレスが連想記憶装置13
19aに含まるとすれば、このアドレスは、絶対アドレ
ス発展において用いられ、そして相当の時間量が節約さ
れる。もしベースアドレスが連想記憶装置1319aに
含まれていなければ、それは、メインメモリテーブルを
アクセスすることにより、発展させられる。しかしなが
ら、セグメントのベースアドレスが発展させられたあと
で、それは、将釆の照合のために、セグメントナンバー
と共に、君島想記憶装置の中に貯蔵される。演算と論理
ユニットALU1 31 7は「 ACU,IFU,D
MU、およびCSUとインタフエイスしている。
その第一の機能は、CP川こより要求されている演算オ
ペレーションとデータマニピュレーションを実施するこ
とである。演算論理ユニットオペレーションは、コント
ロールストアユニットCSU1301からのマイクロオ
ペレーションコントロールシグナルに完全に依存してい
る。スクラツチバツドメモIJユニツトLSU1 3
15は、ALU1317とCSU1301と組合せられ
ている(度々ローカルストアユニットと呼ばれる。)そ
れは、典型的に、256ロケーション(ロケーションに
つき32ビット)ソリドステートメモタリ、および当該
メモリのためのセレクションと読み取り/書き込みロジ
ックより成る。スクラツチパツドメモリ1315は、C
PUコントロールインフオメーションと維持可能情報を
貯蔵するために用いられる。更に、スクラッチパツドメ
モIJ10315はデータマニピュレーション中にオペ
ランドと部分的結果を一時的に貯蔵するために主として
用いられるワーキングロケーションを含む。また、コン
ピュータシステムのその他の状態を貯蔵するため、典型
的に私フリツプフロツプより成る夕補助メモリ1317
aは、ALU1317と組合せられている。CPUは、
また、クロツキングユニツト1 320を有しており、
本質的に、1において2クロツキングシステムである。
第1のクロッキングシステムは、コートロールインター
フェイスアダプタC仏1302のためのタイミングを発
生させ、第2のクロツキングシステムは、中央処理装置
内で、機能ユニットのオペレーションのためのタイミン
グパレスを発生させる。図13cに関連して、コントロ
ールストアワ−ド1325のフオーマツトが示めされる
コントロールストアワードは、典型的に、8ビットワイ
ドであり、6フィールドに分けられる。イシーケンスタ
イプフイールド1326(3ビツト)ロ ブランチング
および/あるいは、マイクロオペレーション1327(
23ビツト)ハ コンスタントジエネレーシヨンおよび
デゼグネーシヨン1328(14ビット)ニ バスに対
するデータ1329(8ビット)ホ マイクロオベレー
シヨン1 330(32ビット)、およびへチエツキン
グ1331(4ビット)コントロールストアワード13
25の3ビットEフイールドは、シーケンスコントロー
ルフイールドとして用いられる。
インスタントコンビユータシステムのために、七つの異
るシーケンスタィプと一つのIJザーブされたタイプが
典型的にある。図13bのブロック1335に関連して
、Eフィールドが2進数0、1、あるいは2に等しいと
き、マイクロ命令1325のブランチングフイールドA
,B,C,D,Eは、次のアドレスを発生させるために
利用される。KSレジスタ1337の最初の6ピッチは
、アドレスレジスタKS1337におかけた次のマイク
ロ命令の次のアドレスを、提供するために、Bフィール
ド、Cテストリザルド、Dテストリザルド、およびLフ
ィールドと共に利用される。Eフィールドが2進数4(
ブロック1335参照)にセットされたとき、選択され
る次のアドレスは、ィンタラプトリターンレジスタKA
1339から得られる。KAレジスタに貯蔵されるアド
レスが、ハードウェアインタラプトが発生したとき、次
のアドレスジェネレーションロジックにより発生される
アドレスである。Eフィールドが2進数5にセットされ
るとき、ブランチは、マイクロプログラムサブルーチン
からサブリターンを開始させるために用いられる。用い
られるとき、リターンレジスタKR1346の内容は、
次のコントロールストアアドレスとして用いられる。リ
ターンレジスタ1346は、インクレメンタ1338か
ら、KRレジスタ1346へ、KSレジスタ1337プ
ラス1における現在のコントロールストアアドレスを移
送するコントロールストアコマンドを発することにより
移送される。1レベルネスライングサプルーチン能力は
、KTリターンブランチレジスタ1347を経由して提
供される。
KRレジスタ1 346が移送される度毎に、KRレジ
スタの古い内容は、マイクロプログラムリターンがコー
ルされる度毎に、KTレジスタ1347に転送される。
KTレジスタの内容は、KRレジスタに転送するであろ
う。第3レベルネスティングサブルーチン能力は、KU
レジスタ1340‘こより提供される。第4レベルネス
ティングサブルーチン能力は、KVリターンブランチレ
ジスタ1349により提供される。コントロールストア
ワードのEフィールドが、2進数6にセットされるとき
、アドレスされる次のコントロールストアロードは、イ
ンクレメンタ1 338におけるKSレジスタ1 33
7プラス1での現行アドレスに等しい。Bフィールドが
2進数7にセットされるとき、CSU1301は、診断
モードに入り、次のアドレスは、現行アドレスプラス1
になるまでであろう。上に記述され、ブロック1335
に示めされた次のコントロールに対するブランチングの
シーケンスコントロール加えるに、図13bのブロック
1336に示めされている。ハードウェア発生シーケン
スコントロールがある。
(注意:ブロック1335と1336は、実際には、マ
イクロィンストラクションワードがとる種々なフオーム
を描くように引き出されたハードウェアレジスタである
。)ハードウェア発生ブランチは、Eフィールドを無効
にし、固定アドレスをコントロールストアアドレスレジ
スタKS1337の中に押しやる無効条件(エラー・ィ
ニシャライズ、コントロールストアスキャン、その他そ
の如き)である。ブランチは、インタラプトラインハイ
(示めされていない)を1クロツク期間KAィンタラプ
トリターンレジスタ1339に押しやり、Eフィールド
のコントロールのもとで発生するアドレスをKAィンタ
ラプトリターンレジスタ1339の中へ貯蔵することに
よりおこなわれる。ハードウェア発生アドレスは、コン
トロールストアアドレスレジスタの中におかれるである
つ。一定のハードウェア/ファームウェア発生ィンタラ
プトは、インタラプト条件が満たされるまで、そのクラ
スにおける付加的ィンタラブトが美行されるのを阻止す
るインタラプトーブロツクフリップーフロッブ(示めさ
れていず)のとき、優先順位をとる。ファームウェアマ
イクロオペレーションは、ファームウェアコントロール
下にあるシーケンスのためにインタラプトーブロツクフ
リップーフロツクのリセットを制御するために存在する
。ハードウェアの制御下にこれらのシーケンスは、シー
ケンスの終りに、ブロックーフロツプのリセットを自動
的に発生させる。優先順位で挙げられた下記の条件は、
このカテゴ川こ存在すZる。的 コントロールストアロ
ード 価 コントロールストアスキヤン 内 ハードウエアエラー 片 ソフトウエアエラー Z残存のハ
ードウェア条件は、ィンタラプトブロックーフロックを
セットしないが、発生時に、直接作用を発生させる。
優先順位で挙げられる下記の条件は、このカテゴリーに
存在する。Wイニシヤライズ 2価
ソフトークリア し一 エンタメインテナンスパネル 片 エンタメインナナンスパネル 的 ハードウェア退去 イニシヤライズシグナルは、CSU1301に2進数0
をアドレスさせ、ハードウェアリセットエラーをクリア
させ、コントロールストアロードオペレーションを実施
させ、それに、ハードウェアコントロールのもとで、コ
ントロールストアスキャンシーケンスが続く。
それは、また、システムィニシャラィズを実施する。ソ
フトークリアシグナルは、CSU1301に2進数0を
アドレスさせ、ハードウエアリセットエラーをクリアさ
せ、インタラプトプロツクーフロツクをセットさせる。
エンターメインテナンスパネルシグナルはCSUをメイ
ンテナンスパネル(示めされていない)上のCSUアド
レススイッチに存在するアドレスにブランチさせる。エ
ンタメインテナンスチヤンネルシグナルは、メインテナ
ンスチヤンネル(示めされていない)経由で、発生させ
られたアドレスに、CSUをブランチさせる。
移送されるアドレスは、メインテナンスチャンネルの1
部であるメインテナンスバスQM旧1344からであり
、そして、正当化されている。ハードウェア退去シグナ
ルは、CSUを2進数アドレス2にブランチさせる。こ
のシーケンスは、メインテナンスフアシリテイとして用
いられる。シーケンスの終りで、リターンは、2進数4
にセットされたEフィールドを伴うEフィールドブラン
チを発生することによりィニシャライズされる。コント
ロールストアロードシグナルは、CSUをアドレス2進
数0にブランチさせる。
それは、また、CSU説み取りサイクルフロップ(示め
されていない)、システムクロツク1320を止め、C
SUをロードストアに置く。ロード状態で、CSUは、
コントロールストアローダCSU1303,IOC13
05、メインメモリ102、あるいは、メインテナンス
1355から移送されることができる。CSUから移送
されるとき、自動スキャンは、ロードの終りまで発生さ
せられる。ある他のメデアから移送されるとき、スキャ
ンは、メインテナンスパネル上でマイクロオペレーショ
ンシグナルを発生させるか、あるいは、スキャンスイッ
チをセットするかのどちらかで発せられることができる
。コントロールストアスキャンシグナルは、CSUをア
ドレス2進数0にブランチさせる。コントロールストア
スキャンは、シーケンスの期間中ハードウェアコントロ
ールのもとにある。スキャン中、システムブロック13
20は、オフであり、従って、コマンドであるいはテス
トは実施されない。スキャンシーケンスの終りで、ハー
ドウエアは、インタラプトリターンレジスタKAの内容
をアドレスレジスタKSに転送する。システムクロツク
がかけられ、そしてコントロールはファームウェアにも
どされる。ハードウエアエラーシグナルは、CSUをア
ドレス2進数4にブランチさせる。
通常の処理モードにおいて、CPU機能ユニットにおい
て検出されるハードウエアエラーは、ハードウエアエラ
ーライン(示めされていない)を活動的にする。発生さ
せられるコントロ−ルストアシーケンスは、取られるべ
き行動を決定するためにシステム条件をテストする。診
断モ−ド‘こおいて検出されるハードウェアであるエラ
ー条件は、マイクロ診断にとって可視的である。マイク
ロ診断は、取られるべき行動を制御する。一方、ソフト
ウェアエラーシグナルは、コントロールストアをアドレ
ス2進数1にブランチさせる。このアドレスは、マイク
ロプログラムコントロールのもとにあるソフトウェアエ
ラーレポーラィングシークェンス開始である。再び図1
3cに関連して、Eフィールド1326は、前に記述し
たように、ブランチコードのための3ビットフィールド
である。
ブランチングおよび/あるいは、マイクロオペレーショ
ンフィールド1327は、A、B、C、D、L、フイー
ルドより成る(図13bのブロック1335に示めされ
ている)。その中で、Aフィールドは、次のアドレスの
上6ビットであり、Bフィールドは、64一方向ブラン
チ上のマスクフィールドの次のアドレスの中4ビットで
あり、Cフィールドは、64テストの一つのための6ビ
ットテストフイールドであり、Dフィールドは、私テス
トのためのもう一つの6ビットテストフィールドであり
、Lビットは、もっとも重要でないビットである。Kフ
ィールド1328は、14ビットフィールドであり、そ
のうちの6ビットは、コンスタントフイールドのためで
あり、4ビットはコンスタントあるいは操作フィールド
のためであり、そして、4ビットはコンスタントのため
の操作フィールドである。バスフイールド1329に対
するデ−夕は、QMBバス1344のQA部分に対し情
報を制御するために4ビットを有するQAより成り、Q
Bフィールドは、QMBバス1344のQB部分に対し
情報を制御するための4ビットを有する。Fフィ−ルド
は、マイクロオペレーションサブコマンドを発生させる
ためにコードされた32ビットフィールドである。Pフ
ィ−ルド1331は、検査のためにリザーブされた4ビ
ットより成る。オペレーションにおいて、マイクロ命令
ワードは、コントo−ルスィアアレィ1333に貯蔵さ
れる。
オペレーションのサイクル中に、コントロールストアア
レイは、KSアドレスレジスタ1337の内容によりア
ドレスされる。これは、アドレスにより規定されるロケ
ーションの内容を読み取りラツチのグループの中へ読み
取らせる。読み取りラッチのワード内容の部分は、CP
Uの機能ユニットの各々の中で、ストレツジレジスタに
配分あるいは転送される。各機能ユニットは、システム
クロックソースの制御のもとで、コントロールストアワ
ードにより規定される必要なサプコマンドを発生させる
ためのデコードロジックサーキツトを含む。一般的に、
デコーデイングは、もしデコーデイングが中心的に実施
されれば、コマンドシグナルを転送するために通常要求
される解読時間を技少限にし、また、ケーブル数を減少
させるために、中心的に実施されるよりはむしろ、CP
Uの各機能ユニット内で実施される。従って、デコーデ
ィングは、ケーブル遅延における相違から生ずるタイミ
ングプロプレムを避けるために、各ユニット内でおこな
われる。更に、各ユニットでサブコマンドをデコードす
ることにより、機能ユニット内に存在する一定の条件を
代表するこれらのシグナルは、シグナルがCIAユニッ
ト1302にもどされるべきでないという一定のサプコ
マンドの発生のために必要である。典型的なデコーダュ
ニツト1359は、マイクロ命令ワードから種々なフィ
ールドを受け入れ、かつ、マイクロオペレーションシグ
ナルa,b,c,d……q,rを発生させているように
、図13bに示めされている。典型的なマイクロオペレ
ーション1359は、マイクロ命令ワードからコマンド
を受け取る。マイクロ命令ワードからのフィールドは、
デコードされ、そして、複数のラインs,t,u,・・
・y,z高度の一つをセットする。マトリクスは〜ポイ
ントQ,6,y……◇,のでs−zラインに結合された
コントロールラインインピーダンスを予め決定すること
により形成される。その後、典型的に、マイクロ命令か
らのフィールドがデコードされたとき、ラインs−zの
一つは、高くなる。ギリシャ文字Qからのによりマトリ
クスに示めさせているブラック点は、2セットのライン
間のインピーダンスカプリングを表示しているので、水
平ワイヤに沿って電気シグナル増加は「インピーダンス
カプリング(ブラック点)が表示されている垂直ワイヤ
a−rに沿って増加するように結合されるであろう。各
垂直ラインa−rは、その後、ANDゲート1360一
1365の各一つに対する一つのインプットとして結合
されることができる。他のインプットシグナルは、また
、セントラルタイミングユニットからタイミングシグナ
ルtsを含むANDゲート1360一1365の各一つ
に対する一つのインプットとして結合されることができ
る。従って、各々タイミングシグナルtsが高くなるに
つれて、すべての他のインプットシグナル高度を有する
これらのゲートが可能にされ、そして、CP川こおける
予め決定された機能ユニットに、マイクロ命令シグナル
を与えるであろう。例えば、もし読み取りラッチ135
7からのコマンドが解読され、水平ラインが高ければ、
a、b、c、およびq垂直コントロールラインが高くな
り、そして、tsタイミングシグナルが、引き続きこれ
らのゲートに適用されるので、ANDゲート1 360
,1361,1362および11364が可能にされる
。従つZて、垂直コントロールラインが、ギリシャ文字
「 から であらわされる各点で水平コントロールラ
インに結合されるコンビネーションは、コントロールス
トアアレイ1333から提供されるマイクロ命令により
中央処理装置内で機能ュニッZトを制御するために、中
央処理装置にマイクロオペレーションシグナルを供V給
するための永久的スイッチングマトリスを表示する。か
くして、変更性の特徴を有する永久的ファームウェアは
、コンピュータシステムの能力として要求されているマ
2ィクロオベレーションのシーケンスを単に規定するこ
とにより、本発明の機械の中に髪設されることができる
。通常の条件下で、データは、ローカルレジスタYO1
343として知られているCPU書込みデー2タレジス
タを経由して、コントロールストアアレイ1333の中
に書き込まれる。
コントロールフロツプ(示されていない)は、ストレー
ジアレイの上半分あるいは下半分が書き込まれなければ
ならないかどうかを限定する。コントロールとロー3ド
ユニツト(LU1304からのデータは、メインテナン
スバスQM旧1 3 4 4を経由して、C仏/CSU
に到着し、コントロールストアアレイ1333の中に書
き込まれる前にストレージ。ーカルレジスタYO1 3
43によりバッファされる。ストレージローカルレジス
タ1343は、読み取りおよび書き込みローカルレジス
タの両方として共有されるタイムである。マルチプレク
サKQM1345は、メインテナンスパネル1355あ
るいはマイクロ診断のどちらかにより制御されることが
でき、それに結びついたレジスタから読み取りアウトパ
スを提供する。コンペアレジスタKP1350は、非機
能的使用のために提供され、主として、メインテナンス
目的のために使用され、コンベア論理1352とデコー
ド論理1351と共に利用される。デスパッチャにより
実施される機能の説明がフローチャート図14a−14
iに示されている。
例えば、図14aのブロック1402デスパツチャによ
り実施される機能の説明であり、その中で、マイクロプ
ログラムワードは、コントロールストアユニットによっ
て与えられ、デコーダ1359で解読するとき、ストレ
ージサブシステム102におけるシステムベースからI
PQMを検索し、それをスクラッチパッドメモリ131
5に転送するために、適当なシリーズのマイクロオペレ
ーションシグナル1360,1361、その他を経由し
てCPUの適応部分を制御する。同時に、デスパツチヤ
は、システムベースにおけるGテーブルワードGWによ
って、指し示めされるセグメントデスクリプタのGテー
ブルから、1404GOセグメントデスクリプタ(図1
2参照)を取り出す。
IQWワードのビット16一31は、GOセグメントと
呼ばれるGセグメントナンバー0のベースから、Q/P
R/RDY、準備プロセスのキューのヘッド(最初のバ
イト)への転移である16バイト正の整数を含む。もし
、IPQWワードのビット16一31が0であるとすれ
ば、1403隻滴キューは空位であると考えられる。も
し準備キューが空位であれば、それは目下Q/PR/R
DYにおいて待機しているプロセスがなく、準備キュー
は空位であることを示めす。デシジョンプロツク140
5において決定されなければならない次の問題は、ベー
カントインジケータがセットされているかどうかを測定
することによって、プロセスが現在機械内で進行してい
るかどうかということであるb(ベーカントインジケー
夕は、補助メモリ1317aに位置するフリツプフロツ
プである。それは、プロセッサ内で進行しているカレン
トプロセスCJPがないとき、セットされる。)もしべ
ーカントインジケータがセットされるならば(即ち、現
在進行しているプロセスがなければ)、そして、プロセ
ッサを使用するために待機している準備キューにプロセ
スがないということが、前もって確定しているので、機
械はアイドル状態1406において進行する。しかしな
がら、もし、現在機械内で進行しているプロセスがない
が、機械を使用するために待機しているプロセスがなけ
れば、カレントプロセスは、その次の命令1407をア
クセスする。図14aのフロートチャートのデシジョン
プロック1403に関連して、もしIPQW(即ち、ビ
ット16一31)のポインタエリアにおいて正の整数が
あれば、GOセグメントにおけるIPQWワード‘こよ
り指し示めされる準備キューのヘッドは、スクラツタベ
ッドメモIJに取り出される。
(注意:繰りかえしを避け明瞭にするために、コントロ
ールユニットとCP川こ関連するデスパッチャの中間機
能は省略されるであろう。しかしながら、実例によって
前に記述されたような中間機能が典型的に存在すること
が理解されている。)この点にいたり、準備キューで待
機しているプロセスがあることが確定された。更に行動
がなされる前に、セントラルプロセッサに現在進行して
いるプロセスがあるかどうかを測定することが必要であ
る。これは、フローチャート説明のデシジョンブロツク
1410で測定される。もし、セントラルプロセッサに
現在進行しているプロセスがなければ(即ち、CJPが
なければ)、準備キューのヘッドは進行される1412
。しかしながら、セントラルプロセッサに進行している
プロセスがあれば、デスバッチヤは、譲れが優先順位を
持つかを決定しなければならない・・・・・・現在進行
しているプロセスか、あるいは、準備キューのヘッドか
?従って、システムベース600の進行プロセスワード
あるいは、PCB400のプロセスメインワードOPM
WOに位置しているカレントプロセス(CJP)の優先
順位バイトは、取り出される1413。その後、現在進
行しているプロセスCJPが、準備キューのヘッドで待
機している新しいプロセスNJPよりも低い優先順位で
あるかどうかについての決定がなされる1414。(デ
シジョンブロック1414参照)もしCJPがNJPよ
りも低い優先順位でなければ、CTPは、セントラルプ
ロセッサのコントロールにとどまり、コンテストィンジ
ケータがリセツトされる1415。(最後の命令のはじ
めが、CJPに代って実行され、それによって衝突の可
能性が生れるので、コンテストィンジケータは、一つ以
上の新しいプロセスが準備キューにおかけるときを除い
て、常に0にセットされる。このような条件のもとで、
コンテストィンジケータは2進数1にセットされる。)
しかしながら、カレントプロセスCJPが継続すること
が許可され、更に命令を実行することが許可される前に
、CJPがデコーダェクステーションモード1415で
進行しているかどうかの測定がなされ‐る。もしCJP
がデコーダエクステンシヨンモードで進行しているなら
ば、次の命令は、エミュレーションモードで実施される
(即ち、デコーダェクステンション)。そして、もしそ
れがデコーダエクステインションモードで進行していな
ければ、次の命令は、ネィテブモードで実施される。再
びデシジョンブロツク1414にもどって、もし準備キ
ューのヘッドのNJPが、CJPよりも高い優先順位を
もっていれば(即ち、その優先順位ナンバーが、CJP
の優先順位ナンバーより低ければ)、現在進行中のCJ
Pは機械の“ロールアウト”であり、新しいプロセスN
JPは、機械にとって“ロールィン”である。従って、
ファームウェアサブルーチンRLレ01419の命令の
もとで最初CJPを“ロールアウト”することにより、
LIFq菱先順位と優先順位ナンバーによってカレント
プロセスCJPを準備キューの中にキュー化することを
指令するRLLOサブルーチンは、一般レジスタ、ベー
スレジスタ、科学的レジスタ、T−レジスタ、ステイタ
スレジスタ、命令カウンターの中に貯蔵されているCJ
Pの情報を、メインメモリのプロセスコントロールブロ
ックの適当なストレージェリアに貫き込むことを指令す
る。そして、それは、RUAの更新を指令する。更に、
PCB400におけるプロセスメインワード○(PMW
O)のDEXTナンバーが更新される1420。新しい
プロセスNJPは、現在、“ロールィン”されるように
準備される。
境界アドレスレジスタBARは取り出される1422。
そして進行プロセスワードPRWが、システムベースの
アドレスタBARブラス56から取り出される。ブロッ
ク1423を参照。新しいプロセスNJPの名称は、次
に進行プロセスワードRPWの中に書き込まれる。新し
いプロセスNJPの名称がQ/PR/RDYのプロセス
リンクPLの中に書き込まれるので、プロセスリンクP
Lにおける名称は、それ故に、現在、RPW、ブロック
1424におかれる。それ故に、準備キューからのNJ
Pは今CJPとなり、セントラルプロセッサを制御する
権限が与えられ、従って、Q/PR/RDYでもはや待
機せず、Q/PR/RDY、ブロック1425のプロセ
スリンクPLから、その名称を取ることによってキュー
が解かれなければならない。これがなされたとき、準備
プロセスキューQ/PR/RDYは、ファームサブルー
チンUQLK、1425aによって更新される。従って
、機械から取り出されたプロセスのJPナンバーはQ/
PRノRDYのプロセスリンクの中に置かれる。何故な
らば、それは、現在もはや、機械の制御をうけず、それ
を待たなければならないからである。1426。
この点でセントラルプロセッサのこのコントロールを新
しいプロセスに与え、準備キューに古いプロセスを置く
転換が達成される。そして、セントラルプロセッサのコ
ントロールにプロセス(新しいCJP)があるので、ベ
ーカントインジケータは0、1427にセットされる。
一方、もし、セントラルプロセッサのコントロールにC
JPがなければ、べ−カントインジケータは1にセット
されるかもしれない。この地点で、プロセッサの仕事は
完了し、新しいプロセスはセントラルプロセッサを獲得
しており、一方古いプロセスは準備キューに置かれた。
しかしながら、新しいプロセスはL まだ進行する準備
ができていない。何故ならば、一般レジスタ1307、
ベースレジスタ1308、科学レジスタ1309、T−
レジスタ1310、ステータスレジスタ1311、およ
び命令カウンタ1312の如き、図13aの中央処理装
贋、1306のハードウェアは、新しいプロセスのプロ
セスコントロ−ルブロツクからコントロールインフオメ
ーションを供給しなければならないからである。従って
、ファームウェアサブルーチン1430は「最初、PC
B(図4)から、スクラツチパツドメモリ1315にP
MW3を取り出し、その後、PMWOを取り出す。PM
WOのMBZフィールドが検査される。そして、もしそ
れが2進数0でなければ、その結果違法なPCB例外が
生じる。しかしながら、もしPMWOのM旧Zフィール
ドが0であれば、PMWIは取り出される1 434。
再び、PMWのMBZフィールドが、それが2進数0で
あるか杏かを測定するためにテストされる。もしそれが
2進数0でなければ、違法なPCB例外がある。一方、
もし、それが0に等しければ、デスパツチャはCに進行
する。従って、アドレススペースワードOASWOが、
PCBの適当なスペースから取り出される。
そして、セグメントテーブルワードサイズSTWSZは
、それが7以下であるか否かを測定するためにテストさ
れる1437。もしそれが7以上であれば、その結果、
違法なPCBが発生する。もしそれが、7以下か、ある
いは7とイコールであれば、ASWIは、PCB、ブロ
ック1438から取り出され、そして、そのSTWSZ
フィールドは、それが8以下であるか、あるいは、8と
イコールであるかどうかを測定するためにテストされる
1439。もし、そのフィールドが8以上であれば、そ
の結果違法なPCBが生ずる。しかしながら、もし、そ
のSTWSZフイールドが8とイコールか、8以下であ
れば、例外ワードEXWが取り出される1 4 4 0
。そして、そのMBZフイールドは、それが0に等しい
か否かを測定するためにテストされる。もし、そのMB
Zフィールドが0に等しくなければ、その結果違法なP
CBが発生する。。一方、もし、それが0に等しければ
、堆積ワードSKWが取り出される1442。そしてそ
のM旧Zフィールドは、それが0に等しいか否かを測定
するためテストされる1 443。もし、M旧Zフィー
ルドが0に等しくなければ、その結果、違法なPCBが
生じる。一方、もし、それが0に等しければ、命令カウ
ンターワードICWがPCBから取り出され、命令カウ
ンターICに置かれる。そして、そのTAGフィールド
は、それが、0に等しいかどうかを測定するためにテス
トされる1445。もし、TAGフィールドが0に等し
くなければ、MBZワードが取り出される1446。そ
して、そのMBZフイールド(ビット0−31)は、そ
れが0に等しいか否かを測定するためにテストされる、
1447。もし、それが0に等しくなければ、その結果
違法なPCBが生じる。一方、もし、それが0に等しけ
れば、堆積ベースワード0,1および李BW0,1およ
び2が取り出される1448。PCBのエリアを貯蔵す
るベースレジスタにおける8ベースレジスタの内容が、
その後、取り出され、1449、そして、機械のベース
レジスタ1308に貯蔵される。
その後、PCBのエリアを貯蔵する一般レジスタからの
1←股レジスタの内容が取り出され、1450、そして
機械の一般レジスタ1307に貯蔵される。しかしなが
ら、科学的レジスタの内容を取り出す前に、科学的モー
ドが利用されているかどうかを測定するために1451
、プロセスメインロード0(PMWO)の能力バイトに
関する検査がなされる。もし、科学的モードが利用され
ていれば、PCBのエリアを貯蔵する科学的レジスタか
らの科学的レジスタの内容が取り出され貯蔵される14
52。その後、アカウンテイングモードが利用されてい
るかどうかを測定するために1453。ファームウェア
がPMWOの能力バイトの検査を続行する。もしアカウ
ンテイングモードが利用されていれば(即ち、能力バイ
トのアカウンテイングビットが2進数1にセットされて
いる)、アカウンティングワードは、PCBに存在し、
準備タイムアカウントワードRTAが更新される。その
後、ファームフェアは、DEXTナンバーが0にセット
されているかどうかを測定し続ける、1454。もし、
それが0にセットされていなければ、それは、機械がエ
ミュレーションモードにあるかもしれないことを表示し
ている(即ち、デコーダェクステーション能力が利用さ
れている)。従って、PMWOのDEXTナンバーは、
それがプロセスメインワード3のDETSZフィールド
よりも大きいかあるいは小さいかを測定するために検査
される1455、そして、もしそれが、DETSZフィ
ールドよりも大きければ、その結果違法PC財例外14
56が生じる。DEXTナンバーは、DETSZフイー
ルドよりも少いが、しかし、0に等しくないので、機械
は、違法なエミュレーションモードにおいて作動してお
り、Fに進行する。デシジョンフロツク1454にもど
って、もしDEXTフィールドが、2進数0であれば、
ネィテブモードが達成されており、機械は、STWsを
取り出す、1457。PCBの残存するタイムアウトワ
ードRTOワードは取り出される1458、そして、そ
のプロセスは、CJPが、進行状態で消費する時限を伴
って、移送される。この点にいたるまで、【ィ)機械内
に古い、プロセスCJPがあって、新しいプロセス、N
JPが、古いプロセスCJPよりも高い優先順位にある
とき、新しいプロセスNJPが、CPUのコントロール
をとるために“ロールイン”されているか、あるいは【
ローCPUのコントロールにCJPはなくて、準備キュ
ーのヘッドが進行されているかのどちらかである。
簡単に、‘ィ}条件下では、CPJは、RPWから取り
出され、Q/PR/RDYのプロセスリンクPLに置か
れた。そしてQ/PR/RDYにおけるプロセスリンク
PLのNJPは、RPWに鷹かれた。かくして、今CJ
PとなっているNJPコントロールをあたえ、古いCJ
Pからコントロールを除去して、2プロセスのポジショ
ンを有効にスイッチした。その後、NJPのPCBがア
クセスされ、NJPを進行させるために要求されている
情報が、スクラッチパッドメモIJ、あるいはACUに
おけるレジス夕のアレイに置かれた。もし、CPUのコ
ントロールに、CJPがなければ(条件ロ)、準備キュ
ーのヘッドは進行される・・・・・・即ち、NJPは、
準備キューのヘッドからのプロセスリンクPLからNJ
Pをとり、それをRPWワードの中に置くデスパッチャ
ーのために、CJPとなった。
これをすることにより、プロセスリンクPLは、Q/P
R/RDYにおいて空位にされた。そして、それは、そ
れを取り出すことが要求されている。従って今、デシジ
ョンフロツク1461ではじまっているので、ファーム
ウエアは、CPUのコントロールにCJPがあったかど
うかを測定する。
もし、フリープロセスリンク(FRLS)があったとす
れば、それがアクセスされ、キュー化された。そしてP
CBがその中に書き込まれた。しかしながら、もし、C
PUのコントロールにCJPがなかったとすれば、NJ
PのPMWOのステートバイトが更新される1460。
そして、再び、機械1463の中にCJPがあったかど
うかに関する測定がある。もし、プロセッサのコントロ
ールにCJPがなかったとすれば、NJPのプロセスリ
ンク(それはQ/PR/RDYの中にあったが、今機械
のコントロールにある)がQ/PR/RDY1466か
ら取り出され(即ち、Q/PR/RDYからキュー化さ
れる)、そして、フリーリンク信号機FLSPとなり、
フリープロセスリンクキュー(図9における805)に
おいて現在キュー化され、フリンプロセスリンクキュー
1466aの1部となる。境界アドレスレジスタBAR
の内容が取り出される1 4 6 4。そして、システ
ムベースのBARプラス56に位置するNJP(現在C
JP)の進行プロセスワードRPWが、RPWブロック
1465にNIPの確認をすることにより更新される。
CJPがない場合には、ベーカントインジケイタは0に
セットされる。次にコンテストインジケイタ(即ち、C
JPと、準備キューにおかれたプロセス間の、優先順位
における可能な衝突を表示するために用いられる補助メ
モリ1317aにおけるフリツプフロツブ)は、0、1
467にセットされる。そして典型的な内容アドレス可
能メモリであるセグメントアリシェータ(図1上のAS
132)がクリアされる。1471、その後、プロセス
モードが入れられる1470。
(プロセスモードは、例外が、オペレーティングシステ
ムによるよりは、むしろ、プロセッサで作動しているプ
ロセスに処理される。)その後、ファームウェアは、C
AB1480に続く。
非同期トラツプビットABが、それが2進数1、148
1にセットされているか否かを測定するために検査され
る。もしABビットが2進数1にセットされるとすれば
、プロセスリンクナンバーPRNが、非同期トラツプビ
ツトARNより大きいか、あるいは、それに等しいかど
うかを測定するために、検査が行われる1482。(A
BおよびARN‘ま、各プロセスのPCBの優先順位バ
イトに位置しており、プロセスが進行状態にあるとき意
味がある。ABおよびARNは、システムベースのBA
Rプラス56に位置するRPWより得られる。RPWの
BARプラス56におけるABのARNは、次のステッ
プ1484が、非同期トラツプビツトあるいは非同期リ
ングナンバーを、最初の場所にセットさせる原因となる
条件に干与するかもしれない非同期トラツプルーチンに
進むので、リセットされる。もし、これらが、次のパス
で、ファームウエアにより、セットされていなければ、
それは、実際には悪い所がない場合に、どこかが悪いと
いう表示を与え、従って、常に非同期トラップルーチン
1484に進み、決して実施しなかったのであろう。デ
シジヨンプロツク1481と1 482にもどって、も
し、ABビットがセットされていず、あるいは、ABビ
ットがセットされていて、そしてPRNがARNよりも
大きくなれば、ファームウェアは、プロセッサが通常モ
ードあるいはエミュレーションモードの、どのモードで
進行するかを決定し続けるであろう。従って、DEXT
ナンバーは、それが0にセットされているか否かを側す
るために検査される。そして、もし、それが0にセット
されていれば、機械の通常モードが進行される。しかし
ながら、もしDEXTナンバーが0にセットされていな
ければ、エミュレーションモードが進行される1486
。図面の簡単な説明図1は、本発明を利用している、マ
ルチプログラミング装置のブロックダイアグラム、図2
は、本発明により利用されている種々なハードウェア機
構の説明図、図3は、図2に描かれたレジスタにおける
ストレージのリザーブドヱリアのために用いられる用語
の凡例。
図4は、プロセスコントロールブロックの図式のダイア
グラム。図5は、プロセスコントロールブロックをアド
レスするための装置の図式のダイアグラムである。図6
は、本発明のシステムベースの図式のダイアグラムであ
る。図7Aと78は、各々堆積セグメントと堆積フレー
ムの説明用図面、図8は、Gーセグメントをアドレスし
、また、詳細には、GOセグメントにおけるプロセスの
キューのための装置の図式のダイアグラムである。図9
は、プロセスのキューおよびプロセス連絡を説明してい
るGOセグメントの分解図式ダイアグラムである。図1
0aから102は、PCBにおける機構のブロックダイ
アグラムである。図11aから11rは、システムベー
スにおける機構のブロックダイアグラムである。図12
は、ユーザの計画をアドレスと、また、システムベース
とPC母機構を利用するシステムセグメントとの図式の
ダイアグラムである。図13a,13b,13Cは、コ
ントロールユニツトの図式のダイアグラムである。図1
4aから14iは、フアームウエアにおけるデスパツチ
ヤユニツトのフローダイアグラムである。図15aは、
日時計10D、インターバルタイマーIT、およびプロ
セスタイマーPTの時間の構成図である。図15bは、
PCBのアカウンテイングワードの構成図、図16は、
ランニングタイムアカウントRUAのファームウェア更
新図、図17は、待ち時間アカウンテイングWTA、お
よび準備アカゥントRTAを更新するファームウェア図
を示す。なお図中、主な構成要素と参照番号との関係は
以下の通りである。1〜4はメモリモジュール、10川
まプロセッササブシステム、102はストレージサブシ
ステム、103は周辺サブシステム、104は中央処理
装置、106は周辺コントロールユニット、107は装
置アダプタ、108は周辺のニプツト/アウトプット装
置。
第2図 第3図 図 船 第4図 第5図 第7A図 第7B図 第6図 第8図 第9図 第loo図 崇lob図 栗l○c図 弟l○d図 幕!oe図 崇lof図 秦log図 溝loh図 葉月○し図 票!oi図 尭lok図 幕!OQ図 第llo図 弟‘lb図 第llc図 第lid図 崇lie図 第llf図 溝ll9図 第llh図 兼!川函 溝lli図 崇flk図 諸肌図 崇llm図 諸lln図 崇l‘o図 繁lip図 第lid図 秦川図 図 N 船 帯Bo図 簾Bb図 第ー4o図 第!4b図 崇l4c図 崇l4d図 崇l4e図 崇靴図 崇Bc図 第l4f図 溝l49図 第l4h図 崇ー5o図 第l5b図 第l6図 簾l7図

Claims (1)

    【特許請求の範囲】
  1. 1 少なくとも一つの仮想メモリと、上記仮想メモリと
    通信する一つの中央処理装置(CPU)と、諸プロセス
    を作り出したりあるいは消去したりするオペレーテイン
    グ・システムとを備え、上記諸プロセスのうちの選択さ
    れた一つが走行状態にあり(即ち、現在、上記CPUを
    制御している)、上記諸プロセスのうちの選択された他
    の諸プロセスは、準備、待ち、あるいは中断状態にあり
    、上記準備状態とは、上記CPUが利用可能となった時
    、上記他の諸プロセスのうちの選択された第1のプロセ
    スが上記CPUの制御を得ることのできる状態であり、
    上記待ち状態とは、上記CPUが利用可能となった時、
    上記他の諸プロセスのあらかじめ選択された第2のプロ
    セスが上記CPUの制御を獲得するのを許可される前に
    、この第2のプロセスが所定の事象の発生するのを必要
    とする状態であり、上記中断状態とは、上記他の諸プロ
    セスの所定の第3のプロセスが不活発にされてしまって
    いる状態であるマルチプログラム・コンピユータ・シス
    テムにおいて、各プロセスが走行、準備、あるいは待ち
    状態にある時間を計算するためのアカウンテイング・メ
    カニズムを含み、このアカウンテイング・メカニズムは
    、(a)所定の構造を有しかつ上記諸プロセスの所定の
    一つと組合わされて、上記諸プロセスの上記所定の一つ
    の状態を指令する第1の手段と、(b)上記第1の手段
    と組合わせられている上記諸プロセスのうちの上記所定
    の一つのプロセスの選択された名称とアドレスを提供す
    るために、上記オペレーテイング・システムと通信する
    第2の手段と、(c)上記第1の手段のアドレスを提供
    するために、上記第2の手段によってアドレス指定され
    る第3の手段と、(d)上記第1の手段と組合わせられ
    た上記プロセスが、走行モードで消費した累積時間を表
    示するための、上記第1の手段内の第1のアカウンテイ
    ング・モード手段と、を備えたことを特徴とするマルチ
    プログラム・コンピユータ・システム。
JP9220583A 1973-11-30 1983-05-25 マルチプログラム・コンピユ−タ・システム Expired JPS602694B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
FR7342690 1973-11-30
FR7342689A FR2289004A1 (fr) 1973-11-30 1973-11-30 Bloc de controle de processus
FR7342689 1973-11-30
FR7342702 1973-11-30

Publications (2)

Publication Number Publication Date
JPS59121444A JPS59121444A (ja) 1984-07-13
JPS602694B2 true JPS602694B2 (ja) 1985-01-23

Family

ID=9128498

Family Applications (2)

Application Number Title Priority Date Filing Date
JP9220583A Expired JPS602694B2 (ja) 1973-11-30 1983-05-25 マルチプログラム・コンピユ−タ・システム
JP9220483A Expired JPS602693B2 (ja) 1973-11-30 1983-05-25 マルチプログラム・コンピユ−タ・システム

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP9220483A Expired JPS602693B2 (ja) 1973-11-30 1983-05-25 マルチプログラム・コンピユ−タ・システム

Country Status (2)

Country Link
JP (2) JPS602694B2 (ja)
FR (1) FR2289004A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62165295U (ja) * 1986-04-08 1987-10-20

Also Published As

Publication number Publication date
FR2289004A1 (fr) 1976-05-21
FR2289004B1 (ja) 1980-01-11
JPS602693B2 (ja) 1985-01-23
JPS59121444A (ja) 1984-07-13
JPS59121443A (ja) 1984-07-13

Similar Documents

Publication Publication Date Title
US4077058A (en) Method and apparatus for executing an extended decor instruction
US4130867A (en) Database instruction apparatus for determining a database record type
US4044334A (en) Database instruction unload
US4084228A (en) Process management structures and hardware/firmware control
US4084224A (en) System of controlling procedure execution using process control blocks
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
US4394725A (en) Apparatus and method for transferring information units between processes in a multiprocessing system
US4374409A (en) Method of and system using P and V instructions on semaphores for transferring data among processes in a multiprocessing system
US4025901A (en) Database instruction find owner
US4316245A (en) Apparatus and method for semaphore initialization in a multiprocessing computer system for process synchronization
US4395757A (en) Process synchronization utilizing semaphores
US4447874A (en) Apparatus and method for communication of information between processes in an information system
US4297743A (en) Call and stack mechanism for procedures executing in different rings
US5305455A (en) Per thread exception management for multitasking multithreaded operating system
US4320451A (en) Extended semaphore architecture
US5218712A (en) Providing a data processor with a user-mode accessible mode of operations in which the processor performs processing operations without interruption
US4024508A (en) Database instruction find serial
JPS5939785B2 (ja) デ−タ処理装置
US4498132A (en) Data processing system using object-based information and a protection scheme for determining access rights to such information and using multilevel microcode techniques
US4042912A (en) Database set condition test instruction
JPS5911943B2 (ja) デ−タ処理装置の為のトラツプ機構
US4725946A (en) P and V instructions for semaphore architecture in a multiprogramming/multiprocessing environment
JPH076115A (ja) データ処理システムのソフトウェアユーザによるハードウェアデータ移動機能の制御方法、プロセッサ間の操作の同期化方法、及び複数の装置制御ブロックの付与方法
US5291581A (en) Apparatus and method for synchronization of access to main memory signal groups in a multiprocessor data processing system