JPS6113260B2 - - Google Patents

Info

Publication number
JPS6113260B2
JPS6113260B2 JP50149427A JP14942775A JPS6113260B2 JP S6113260 B2 JPS6113260 B2 JP S6113260B2 JP 50149427 A JP50149427 A JP 50149427A JP 14942775 A JP14942775 A JP 14942775A JP S6113260 B2 JPS6113260 B2 JP S6113260B2
Authority
JP
Japan
Prior art keywords
segment
address
record
register
memory
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
JP50149427A
Other languages
Japanese (ja)
Other versions
JPS5186940A (en
Inventor
Daburyuu Batsukuman Chaarusu
Esu Furankurin Benjamin
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.)
HANEIUERU INFUOOMEISHON SHISUTEMUSU Inc
Original Assignee
HANEIUERU INFUOOMEISHON SHISUTEMUSU Inc
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=24133984&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JPS6113260(B2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by HANEIUERU INFUOOMEISHON SHISUTEMUSU Inc filed Critical HANEIUERU INFUOOMEISHON SHISUTEMUSU Inc
Publication of JPS5186940A publication Critical patent/JPS5186940A/ja
Publication of JPS6113260B2 publication Critical patent/JPS6113260B2/ja
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases

Description

【発明の詳細な説明】[Detailed description of the invention]

本発明は、コンピユータシステムに関し、特に
データベース演算の部分における改良されたデイ
ジタルコンピユータに関する。 エレクトロニクスによるコンピユータは、主と
して真空管による第1世代ハードウエアから、ト
ランジスタによる第2世代ハードウエア、更には
集積回路を主体とする第3世代へと成長してき
た。 こられの異なる世代のハードウエアに伴い、ソ
フトウエアにも異なる世代が存在し、その第1世
代は主として機械語、アセンブラおよびサブルー
チンを特徴とし、第2世代は高級言語、モニター
およびマクロアセンブラを特徴としていた。第3
世代のソフトウエアは、オペレーテイングシステ
ム、オンラインリアルタイムシステム、マルチプ
ログラミングシステム、およびデータベース管理
システムを特徴としている。 第1世代のソフトウエアと組合わされた第1世
代のハードウエアおよび第2世代のソフトウエア
と組合わされた第2世代のハードウエアは、各ジ
ヨブが主として直列に実行されるバツチ演算処理
を主としていた。更に、第3正代のハードウエ
ア/ソフトウエアシステムも又バツチ処理を目的
としているがマルチプログラミングの出現により
いくつかのジヨブは直列ではなく並列に実行でき
処理の為の入力情報が生じた時にこれを受入れる
事が可能となる。 第4世代のシステムは、主として多様に変化し
たプロセサアプリケーシヨンが可能な伝送系およ
び制御系として分類され、情報の提供がバツチプ
ログラムによらず総じてリアルタイムである様な
主として伝送データにより(即ち、システムの制
御がオペレータ操作によらず主として入力により
行われる)動作させられる。 前記の各世代のコンピユータシステムの変遷に
おいて、最も大きな要望はコンピユータシステム
のデータベースのアクセスの為の有効な方法の開
発であつた。システムのデータベースの開発にお
いては、最初の成界は各々の使用の為の多様なデ
ータベースの発達であつた。この様なデータベー
スの数が増大した結果、過度の記憶容量の要求と
冗長なデータ記憶が問題となり、この為異なる時
点において冗長データをある領域では正確に他の
領域では不正確に更新させることによりその問題
を悪化させる事になつた。あるシステムは多くの
データベースを単一のデータベースに綜合する事
によりこれ等の問題の解決策を講じた。ハネウエ
ル社の集中データ記憶装置(IDS)はこれらの問
題緩和の為に設計されたシステムの一例であつ
た。この集中データ記憶装置は1つの中央データ
ベースからなつており、このデータベースは例え
ば棚卸し管理システム、社内監査手続、および賃
金支払手続等によりデータベース中の関連データ
アクセスの為使用できた。この中央集中データベ
ースにおいては、いくつかの演算機能の需要に共
通の単一の記録解説情報が収められていた。例え
ば、棚卸し管理および社内監査処理はウエアハウ
ス内のある部分の数値をアクセスする事になる。 集中データベースを用いる有効な手法は、ソフ
トウエア技術の絶え間ない改良により変ぼうを遂
げた。「セツト概念」とは、各記録間の関係を基
にして集中データベースにおける記録のアクセス
を可能にする手法である。典型的な関係は、例え
ば製造部等の如き特定の部内の全従業員である。
この製造部門は「オーナ記録」と呼ばれるものに
より記述され、同部の従業員は「メンバー記録」
と呼ばれるものにより記述される。ある部門の部
員の如き関係を記述するセツトは、これによりオ
ーナ記録によりアクセスができ、この記録により
ソフトウエアをして全てのメンバー記録を得さし
め、例えばその部内の全ての従業員名を打出させ
る。 この開発の段階においては、集中データ記憶装
置は、前記の純粋なデータの諸問題のあるもの、
即ち異なるデータベース内の冗長データおよび多
くの記録コピーの更新の問題を解決した。この問
題は単一の記録により解決され、従つてこの記録
はデータ記憶装置の大きさの減少を可能にさせ、
データの単一コピーを行う。データベースを用い
る他の問題が演算実行効率の領域に残る。このセ
ツト概念はコンピユータの新しい利用法を与える
が、それ以来この新しい技法を補佐する為現在の
中央処理装置に存在する専用のハードウエア命令
はなかつた。その結果、セツトの第1のメンバー
の発見の如きセツト演算は、加算、ロード、記憶
等の一連の標準的な機械の命令によりソフトウエ
アにおいて編成される事になる。その結果、第1
のメンバー発見は、セツト内への記録の挿入、お
よび他のセツト演算等の比較的簡単なセツト演算
に対して長い実行時間を要する。 必要とされるのは、セツト演算法を用いる集中
データ技法で既に解決された如き伝統的なデータ
問題を解決し、更に実行時間および他のシステム
効率パラメータにおいて有効なデータベースシス
テムである。これを実行する為には、専用のハー
ドウエア/フアームウエアが維持する諸命令が前
記セツト演算において補助作用を行うために必要
とされた。例えば、ある記録に対するデータベー
スポインタを見出す単一命令により、伝統的な計
算機における同一の演算を実施するのに必要な一
連の5乃至10の標準的なハードウエア命令よりも
ずつと短い時間で実行が可能になる。 本発明の主目的は、改良された汎用デイジタル
コンピユータの提供にある。 本発明の他の目的は、データベースマネージメ
ント演算の改良された性能を有する改良された汎
用デイジタルコンピユータの提供にある。 本発明の更に他の目的は、データベースポイン
タを対応するセグメント化されたアドレスに変換
し、次いで前記のセグメント化されたアドレスを
データレジスタにロードするハードウエア/フア
ームウエア命令の提供にある。 本発明の更に別の目的は、ユーザプログラムお
よびオペレーテイングシステムプログラムにおけ
る命令数の減少にある。 前記の各目的は、メモリーからデータベースポ
インタを取出し、このポインタをそのポインタク
ラスに従つてセグメント化されたアドレスに変換
し、このセグメント化されたアドレスをベースレ
ジスタにロードする一連のハードウエア/フアー
ムウエアで編成された諸命令の1つを与える本発
明の1実施態様により達成される。もしポインタ
がデータベース型の記録の一部である場合、この
ポインタは又インデツクスレジスタにもロードさ
れる。 本発明による装置の動作環境は、アドレス指定
可能なスペースの複数個のセグメントからなるメ
モリー(第1図の102)を有し、前記各セグメ
ントが1つのセグメント番号(SEG)によつて
識別されて1つ以上の記録(第15図)のセツト
を記憶するものであり、各セツトは1つのオーナ
ー記録と1つ以上のメンバー記録とを有し、各記
録はそのセグメント番号と、該セグメント内でそ
の記録を予め定められた記憶位置から相対的に位
置決めするためのオフセツトアドレス情報
(SRA)とによつて前記メモリー内で位置決めさ
れ、前記複数のセツトの各々の中の各記録は、そ
のセツト内の他の複数の記録の内の所定のもの即
ちポイント記録の夫々の識別を与えるための1つ
以上のデータベースポインター(第15b図の1
513)を記憶しており、各ポインターは、それ
によつて前記セツトの予め定められた記録に関し
て相対的に識別される前記ポイント記録の記憶位
置を表すような、内部にプログラムされたデータ
処理装置である。そしてその用途は、前記の環境
において用いられる、データベース記録をその記
録を指示するポインタにより直接発見するための
XI命令を実現する装置であつて、この装置は、 (a) 前記命令のアドレスシラブル(第19b図の
1922)により前記複数のセツトの内の1つ
の中の1つの記録から前記データベースポイン
ターの内の1つ(第15g図、第15h図)を
アクセスし、該ポインターをスクラツチパツド
記憶内の便宜的に「X」と呼ばれる第1の一時
的レジスタへ転送するための第1の手段(第2
0a図の2005)と、 (b) 前記セツトの内の所用のものを保持する前記
メモリーの1区分の実際の構造を定義し、かつ
該1区分が存在するセグメントの番号(第16
b図の1625)を含む、ページデイスクリプ
タ(第16b図)を記憶位置から得るために、
前記第1の一時的レジスタ内の前記データベー
スポインターの内容の「領域−ページ」フイー
ルド(第15h図の1572,1573)に応
答する第2の手段(第17図,第20a図20
07)と、 (c) 前記セツト中の行オフセツト要素の配列表
(第16a図の1602)から、前記セツト内
の予め定めた記憶位置に関する前記ポイント記
録の各セツト内相対的位置即ちオフセツト(第
16a図の1603)を得るために、前記第1
の一時的レジスタ内の前記データベースポイン
タの内容のもう1つの「行」フイールド(第1
5h図の1574)に応答する第3の手段(第
20b図の2021)と、 (d) 前記ポイント記録を保持するメモリーの記憶
位置の表示を得るために、前記セグメント番号
(第16b図の1625)と前記ポイント記録
の相対位置即ちオフセツト(第16a図の16
03)とを第2の一時的レジスタBRへロード
するための第4の手段(第20c図の202
4)と、 から成り、前記識別される記録のポインターの識
別情報をそのメモリー中の記憶位置を表示するセ
グメント化アドレスに自動的に変換するように動
作する装置である。 1 解説 A 開示の範囲および構成 大規模なコンピユータにおいて直接発見データ
ベース命令に用いられる手段は必然的に複雑にな
る。更に、本発明の教示する内容の完全な理解は
この様な手段が帰属する分野に対してある程度の
知識があれば得られる。この為、本発明の原理が
有効に用いられる型式の典型的な大規模データ処
理システムの全般的な構成を簡単に解決する事が
望ましい。又、本発明がこれに基く基本的概念を
最初に確定しかつこれを理解する事も望ましい事
である。 このデータベースのセツト概念は、コンピユー
タ特にプログラミングの歴史の殆んどにおいて共
通して使用されてきたいくつかの技法(テーブ
ル、リスト、チエーン、リング、フアイル、およ
びフイールド配列)を統一するものである。(こ
の概念は、「データ構造セツト」がその名称と性
質の多くを得る更に一般的な数学的セツト概念の
特定化である。本文の開示においては、「セツ
ト」なる語は常にデータ構造において用いられ数
学的な意味ではない。) 多くのシステムは前記のセツト概念をソフトウ
エアにおいてのみ有する。データベースマネージ
メント領域において、ハネウエル社の集中データ
記憶装置(IDS)は、複雑な製造作業および銀行
業の諸問題の処理の為このセツト概念の広範囲の
使用を最初に開拓している。IDSはセツト実現の
チエーン(リング)形態を用いている。これ等の
基本的概念は、ハードウエア/フアームウエアに
偏成され、漸新で改良されたデイジタルコンピユ
ータとする為に現存の計算機内に内蔵される。 このセツトとは、自然世界の対象物を緊密に近
似させるデータ構造を形成しかつこれを記憶する
のに必要な3つの補完的な概念(記録、フイール
ドおよびセツト)の1つである。もし自然世界が
実在する実体に照して考慮される場合はこれ等の
実体を記述する特性、又これ等実体を関連付ける
関係があり、これらに対等な情報システムの概念
は、それぞれ、記録、フイールド、およびセツト
である。学校における単純な事例においては、こ
の実体とは教師および子供となろう。教師の特性
のあるものは、「名前」、「学年」および「教室」
である。子供の特性のあるものは、「名前」、「年
令」および「両親の名前」である。教師と子供と
の間にはある関係が存在する。この自然世界の状
態のある情報システムのモデルにおいては、記録
の2つのクラス(1つは教師、他は子供)が形成
される。各教師の記録においてはあるフイールド
があり、1つは教師の名前を、他は学年を、他は
クラスの室番号を記憶する。各々の子供の記録
は、子供の名前のフアイルと、彼の年令のフアイ
ルと、更に彼の両親の名前のフアイルとを有す
る。 この情報システムは各子供の記録を前記セツト
概念を偏成する様に選択されたいくつかの方法の
1つによりこの教師の記録に結び付ける事ができ
る。これは、フアイル内で全ての子供の記録をそ
の教師の記録配列の後に物理的に配置させる事に
より行われよう。これはテーブル又は記録配列と
呼ばれる。本実施態様はセツト概念のチエーン
(リング)編成技法を包含する。この形態におい
ては、オーナ記録は第1のメンバー記録に対する
ポインタを含んでいる。各メンバー記録は更に後
続のメンバー記録に対するポインタを含んでい
る。このセツトの最後のメンバー記録は再びオー
ナ記録に対するポインタを含んでいる。又、オー
ナ記録又はオーナ記録及び全メンバー記録により
前の記録のアドレスと、又できればメンバー記録
用のオーナー記録に対するポインタとを保持する
附加的ポインタフイールドを与える様な変更が可
能である。 前述の如きデータ構造セツト概念は数学的なセ
ツト概念における改善であり、即ちデータ構造セ
ツトにおいてはこのセツトの定義は「オーナー」
ロールの場合に実施されている。セツトのメンバ
ーシツプは「メンバー」ロールの場合に実施され
る。各記録は現在異なるセツトのオーナおよびメ
ンバーの如き多くのロールを有する。この特性の
為、実世界の複雑性をモデル化する複雑なデータ
構造の形成および諸操作が可能になる。この数学
的セツト概念の改善においては、定義としてのオ
ーナーから各メンバーへ、又任意のメンバーから
オーナへセツトの定義を再編成することができ
る。 データ構造セツトに対しては、セツト定義は通
常オーナー記録内のあるフイールドの数値に基づ
き、このセツトのメンバーシツプは可能なメンバ
ー記録内の対等のフイールドのマツチした値によ
りコンピユータ内に再編成される。この事象の利
点は、マツチングデータを保持するメンバー記録
からこのフイールドを除去し、かつ再偏成の為オ
ーナー記録に依存させる事により屡々利用され
る。 前述の学校の例においては、教師は教師/子供
のセツトの「オーナー」の役割を有するものとさ
れた。この例を拡張する為次の如く設定する。即
ち、殆んどの学校においては、教師と子供間の関
係は単純な関係(1:n)ではなく、子供が異な
る課目に対して異なる教師を有するとする複雑な
関係(m:n)であるとする。この教師対子供の
複雑な関係は、新しい人間関係の実体である「生
徒」、および2つの単純な関係「教師対生徒」お
よび「子供対生徒」に転換される。教師はそのク
ラスの生徒として多くの子供を持ち、生徒として
の子供は多くの教師を持つている。この新しい
「生徒」の実体は、その一を他から識別記述する
為の「課目」と「時限」なる属性を有する。1人
の子供はいくつかの課目に対して同一の教師を持
ち得る。 このデータ構造セツト概念は4つの基本的な特
質を有する。即ち、 (1) 1つのセツトはオーナーロールにおいて1つ
それも唯一で常に1つの記録を有する。 (2) 1つのセツトはメンバーロールにおいては
零、1又はそれ以上の記録を有し、その数は時
間と共に変化する。 (3) どの記録も同時に零、1又はそれ以上のセツ
トのオーナーたり得る。 (4) どの記録も同時に零、1又はそれ以上のセツ
トにおけるメンバーたり得て、この為同時にい
くつかのオーナー記録により所有され得る。各
記録は特定のセツトのメンバーとして唯1度形
成される。メンバーロールはオーナーロールと
干渉しない。 「次の」と「前の」なる記事は記憶装置プログ
ラムコンピユータにおける問題の解に対する基礎
となる手続のアルゴリズムに対して重要な概念で
ある。同時に1つの記録を取扱う手続上の制約に
加えて、もしセツト中のメンバー記録が予め定め
たデータ数値で並べられたシーケンス又は時間的
挿入順のシーケンス(FIFO:先入れ先出し、又
はLIFO:後入れ先出し)において伝送できる場
合、あるアルゴリズムに対して更に重要な簡素化
と言う結果が得られる。「最初」および「最後」
なる記述はデータのアルゴリズムの反復的実行の
開始および停止に関して重要である。この様に、
あるセツトにおけるメンバーの順序はそのセツト
の合理的な諸操作に対する前提要件である。 各記録のフアイル内のセツトへの関与操作の第
1の要因は、現実世界の諸関連のモデル化であ
り、又ある特定の関係を表わすフアイル内の選択
された記録の呼出しを助長する事である。これ等
は表1に列記されている。
TECHNICAL FIELD This invention relates to computer systems, and more particularly to improved digital computers in the area of database operations. Computers based on electronics have grown from first generation hardware mainly based on vacuum tubes, to second generation hardware based on transistors, and finally to third generation hardware mainly based on integrated circuits. Along with these different generations of hardware, there are also different generations of software, with the first generation primarily featuring machine language, assemblers, and subroutines, and the second generation featuring high-level languages, monitors, and macro assemblers. It was. Third
The generation of software features operating systems, online real-time systems, multiprogramming systems, and database management systems. The first generation hardware combined with the first generation software and the second generation hardware combined with the second generation software were primarily batch operations in which each job was executed primarily serially. . Furthermore, the hardware/software systems of the Third Generation were also intended for batch processing, but with the advent of multiprogramming, some jobs could be executed in parallel rather than serially as input information for processing occurred. It becomes possible to accept. Fourth generation systems are primarily classified as transmission and control systems capable of a wide variety of processor applications, and are primarily based on transmitted data (i.e. The control of the system is performed mainly by input rather than by operator operation). In the evolution of each generation of computer systems mentioned above, the greatest desire has been the development of an effective method for accessing the databases of computer systems. In the development of system databases, the first milestone was the development of multiple databases for each use. The increase in the number of such databases has resulted in excessive storage requirements and redundant data storage, which can result in redundant data being updated accurately in some areas and inaccurately in others at different points in time. This ended up making the problem worse. Some systems have addressed these problems by merging many databases into a single database. Honeywell's Central Data Storage System (IDS) was an example of a system designed to alleviate these problems. This centralized data storage consisted of one central database that could be used, for example, by inventory management systems, internal audit procedures, wage payment procedures, etc. to access relevant data therein. This centralized database contained a single record description common to the needs of several computing functions. For example, inventory management and internal audit processes will access numerical values in certain parts of the warehouse. Effective techniques for using centralized databases have changed due to continuous improvements in software technology. The ``set concept'' is a technique that allows records to be accessed in a centralized database based on the relationships between each record. A typical relationship is all employees within a particular department, such as a manufacturing department.
This manufacturing department is described by what is called an "owner record," and the employees in the department are described by a "member record."
It is described by what is called. A set that describes a relationship, such as members of a department, can then be accessed by an owner record, which allows the software to retrieve all member records, e.g., type out the names of all employees in that department. let At this stage of development, centralized data storage is limited to those with the pure data problems mentioned above;
That is, the problem of redundant data in different databases and updating of many records copies was solved. This problem is solved by a single record, which therefore makes it possible to reduce the size of the data storage device,
Make a single copy of data. Other issues with using databases remain in the area of computational performance efficiency. This set concept provided a new use for computers, but since then no dedicated hardware instructions existed in modern central processing units to support this new technique. As a result, set operations, such as finding the first member of a set, are organized in software by a series of standard machine instructions such as add, load, store, etc. As a result, the first
Member discovery requires a long execution time for relatively simple set operations such as inserting records into a set and other set operations. What is needed is a database system that solves traditional data problems, such as those already solved with centralized data techniques using set arithmetic, and that is also effective in execution time and other system efficiency parameters. To accomplish this, dedicated hardware/firmware maintained instructions were required to perform auxiliary operations in the set operations. For example, a single instruction that finds a database pointer for a record can execute in significantly less time than a series of 5 to 10 standard hardware instructions required to perform the same operation on a traditional computer. It becomes possible. A primary object of the present invention is to provide an improved general purpose digital computer. Another object of the invention is to provide an improved general purpose digital computer having improved performance for database management operations. Yet another object of the present invention is to provide hardware/firmware instructions for converting a database pointer into a corresponding segmented address and then loading said segmented address into a data register. Yet another object of the invention is to reduce the number of instructions in user programs and operating system programs. Each of the above objectives requires a set of hardware/firmware that retrieves a database pointer from memory, converts this pointer into a segmented address according to its pointer class, and loads this segmented address into a base register. This is achieved by one embodiment of the present invention that provides one of the instructions organized in . If the pointer is part of a database type record, this pointer is also loaded into the index register. The operating environment of the device according to the invention comprises a memory (102 in FIG. 1) consisting of a plurality of segments of addressable space, each segment being identified by a segment number (SEG). Stores a set of one or more records (Figure 15), each set having one owner record and one or more member records, each record having its segment number and the number of records within that segment. Each record in each of the plurality of sets is located within the memory by offset address information (SRA) for locating the record relative to a predetermined storage location. one or more database pointers (point 1 of FIG.
513), wherein each pointer represents a storage location of said point record thereby identified relative to a predetermined record of said set. be. Its purpose is to directly locate a database record using a pointer pointing to the record, which is used in the environment described above.
An apparatus for implementing an XI instruction, the apparatus comprising: (a) extracting information from one record of one of the plurality of sets of database pointers according to the address syllable of the instruction (1922 in FIG. 19b); (FIGS. 15g, 15h) and transfers said pointer to a first temporary register conveniently referred to as "X" in scratch pad storage.
(2005 in Figure 0a); (b) defines the actual structure of a section of said memory holding the desired one of said set, and defines the number of the segment in which said section resides (number 16);
To obtain the page descriptor (Fig. 16b) from the storage location, including the page descriptor (1625 in Fig. b)
a second means (FIG. 17, FIG. 20a) responsive to a "region-page" field (1572, 1573 in FIG. 15h) of the contents of said database pointer in said first temporary register;
07); and (c) from the array table (1602 in Figure 16a) of the row offset elements in said set, determine the relative position or offset within each set of said point records with respect to a predetermined storage location within said set. 1603) in Figure 16a, the first
Another "row" field (first row) of the contents of said database pointer in a temporary register of
5h (1574 in FIG. 16b); and (d) responding to said segment number (1625 in FIG. ) and the relative position or offset of said point record (16 in Figure 16a).
03) into the second temporary register BR (202 in FIG. 20c).
4); and operative to automatically convert the pointer identification information of the identified record into a segmented address indicative of its storage location in memory. 1 Explanation A Scope and Structure of the Disclosure The means used for direct discovery database commands on large scale computers are necessarily complex. Moreover, a thorough understanding of the teachings of the present invention can be obtained by having some knowledge of the field to which such means pertain. Therefore, it would be desirable to have a simplified solution to the general structure of a typical large scale data processing system of the type in which the principles of the present invention may be effectively employed. It is also desirable to first establish and understand the basic concept on which the present invention is based. This database set concept unifies several techniques (tables, lists, chains, rings, files, and field arrays) that have been commonly used throughout much of the history of computer programming in particular. (This concept is a specification of the more general mathematical set concept from which "data structure set" derives many of its names and properties. In this disclosure, the word "set" is always used in data structures. (This is not meant in a mathematical sense.) Many systems have the set concept described above only in software. In the database management area, Honeywell's Intensive Data Storage System (IDS) first pioneered the widespread use of this set of concepts for handling complex manufacturing operations and banking problems. IDS uses a chain (ring) form of set implementation. These basic concepts have been decomposed into hardware/firmware and incorporated into existing computers to provide progressively improved digital computers. A set is one of three complementary concepts (records, fields, and sets) necessary to form and store data structures that closely approximate objects in the natural world. If the natural world is considered in terms of real entities, there are properties that describe these entities and relationships that relate these entities, and the information system concepts equivalent to these are records and fields, respectively. , and set. In the simple case of a school, these entities would be a teacher and a child. Some of the characteristics of teachers are "name", "grade" and "classroom".
It is. Some of the child's characteristics are "name,""age," and "names of parents." A certain relationship exists between teachers and children. In this model of a natural world state information system, two classes of records are formed, one for teachers and the other for children. There are certain fields in each teacher's record, one to store the teacher's name, another to store the grade, and another to store the class room number. Each child's record has a file with the child's name, a file with his age, and a file with the names of his parents. The information system can link each child's record to this teacher's record in one of several ways selected to formulate the set concept. This would be done by physically placing all children's records after their teacher's record array in the file. This is called a table or record array. This embodiment includes a set concept chain (ring) knitting technique. In this form, the owner record contains a pointer to the first member record. Each member record further includes pointers to subsequent member records. The last member record in this set again contains a pointer to the owner record. It is also possible to modify the owner record or the owner record and all member records to provide an additional pointer field that holds the address of the previous record and possibly a pointer to the owner record for the member records. The data structure set concept as described above is an improvement over the mathematical set concept, i.e., in a data structure set, the definition of this set is
Implemented in case of roll. Membership in a set is enforced in the case of the ``member'' role. Each record currently has many roles such as owner and member of different sets. This property allows the creation and manipulation of complex data structures that model the complexity of the real world. In improving this mathematical set concept, the definition of a set can be reorganized from the owner as a definition to each member and from any member to the owner. For data structure sets, the set definition is usually based on the value of some field in the owner record, and the membership of the set is reorganized in the computer by the matched values of the peer fields in the possible member records. The advantage of this event is often exploited by removing this field from member records that hold matching data and relying on the owner record for repopulation. In the school example above, the teacher was assumed to have the role of "owner" of the teacher/child set. To extend this example, set it as follows. That is, in most schools, the relationship between teachers and children is not a simple relationship (1:n), but a complex relationship (m:n) in which children have different teachers for different subjects. shall be. This complex teacher-child relationship is transformed into a new interpersonal entity, the "student," and two simple relationships, "teacher-student" and "child-student." A teacher has many children as students in his class, and children as students have many teachers. This new "student" entity has attributes of "subject" and "time limit" for distinguishing one student from the other. A child may have the same teacher for several subjects. This data structure set concept has four basic characteristics. (1) A set is unique and always has one record in the owner role. (2) A set may have zero, one, or more records in the member roll, and the number may vary over time. (3) Any record can be the owner of zero, one, or more sets at the same time. (4) Any record can be a member in zero, one, or more sets at the same time, and thus can be owned by several owner records at the same time. Each record is created only once as a member of a particular set. Member role does not interfere with owner role. The terms "next" and "previous" are important concepts for the procedural algorithms underlying the solution of problems in storage program computers. In addition to the procedural constraints of handling one record at a time, if the member records in the set are arranged in a predetermined data numeric sequence or in a temporal insertion order sequence (FIFO: first in, first out, or LIFO: last in, first out). An even more important simplification results for some algorithms if it can be transmitted in . "first" and "last"
This description is important for starting and stopping the iterative execution of the algorithm on the data. Like this,
The order of the members in a set is a prerequisite for the rational operations of that set. The first factor in the manipulation of each set of records within a file is the modeling of real-world relationships and the ability to facilitate the recall of selected records within a file that represent certain relationships. be. These are listed in Table 1.

【表】 クセス法 ル中の各記録の検索
最初の4つのアクセス法は主として変動処理お
よび間合せ処理において使用され、この場合は、
特定の実体と、実体の関連するグループとの記録
状態の決定、又はそれ等の記録状態の更新に対応
する必要がある。フアイルシーケンスアクセス法
は主として周期的なバツチフアイルの更新とレポ
ートの形成の為に使用される。同一記録において
は必要に応じ5つの全ての方法によるアクセスが
可能である。同様に、これらのアクセス法を特定
の効果を得るために組合わせて使用する事も可能
である。 前述の事例を用いれば、ある教師の記録は「デ
ータキーアクセス法」により検索され、従つてそ
の教師の全生徒の記録は「セツトメンバーアクセ
ス法」で検索できる。各生徒の記録については、
子供の記録は「セツトオーナーアクセス法」で検
索できる。あるいは、検索は子供の記録に対して
は「データキーアクセス」から開始して、次いで
全ての子供の生徒記録を呼出し、次に教師の記録
を呼出す。このセツトから得られる基本的な検索
の機会は下の表2に示される。
[Table] Access methods Searching each record in the file The first four access methods are mainly used in fluctuation processing and adjustment processing; in this case,
There is a need to accommodate determining or updating the record status of a particular entity and associated group of entities. The file sequence access method is primarily used for periodic file updates and report generation. The same record can be accessed by all five methods if necessary. Similarly, these access methods can be used in combination to achieve specific effects. Using the above example, a teacher's records can be retrieved using the "data key access method" and therefore the records of all of that teacher's students can be retrieved using the "set member access method". For each student's records,
Children's records can be searched using the ``Set Owner Access Method.'' Alternatively, the search could start with "Data Key Access" for the child's records, then retrieve all the child's student records, then retrieve the teacher's records. The basic search opportunities resulting from this set are shown in Table 2 below.

【表】 各メンバー セツトオーナー セツトのオーナー
各セツトに適用する1組の基本的演算がある。
これらは、更に良く知られる記録およびフイール
ドに関する基本的演算に対する補足となる。各セ
ツトに関する基本的演算結果の収集と、記録とフ
イールドに対する補足的な基礎演算は、ユーザが
演算を行うデータをアクセスし、修正し、移動さ
せ、消去する等を行うハードウエア/フアームウ
エアの命令の集合である処の操作用施設として知
られるものを構成する。基礎事項(即ち、ハード
ウエア/フアームウエアの命令)のこの集合は、
フイールド(即ち、データ項目)、記録、セツ
ト、および手続用論理制御に関する諸演算に再分
割する事ができる。 下記のハードウエア/フアームウエアの命令群
はフイールド中のデータの操作を行うものであ
る。実行すべき演算に必要なフイールド記述情報
(例、大きさ、ロケーシヨン、記録モード)は、
演算と関連するデータデイスクリプタの一部とし
て保持される。このグループに含まれる演算と
は、例えば移動(move)、比較、ハツシユ、加
算、減算、乗算および除算等である。 以下のハードウエア/フアームウエアの命令群
はデータの直接アクセスおよび直列アクセス処理
の両方を行う。これ等は、データ記録の発生、そ
の後の検索、修飾、テスト、および破壊を行う。
記録フアームウエア/ハードウエア命令とは、記
録の発生、記録破壊、直接記録の発見、直列記録
の発見および記録タイプのテストである。 以下のセツトのハードウエア/フアームウエア
命令の群は、従来のデータ処理の内容と、前のデ
ータベースとメツセージマネージメントシステム
の組込みブロツクを提供する。これらはセツトの
発生、そのアクセス、およびその操作およびテス
トを行う。このハードウエア/フアームウエアの
命令とは、記録の挿入、記録の取出し、相対的記
録の発見(最初、最後、次の、前の、およびi番
目の発見)、オーナー記録の発見、空のセツトの
テスト、挿入されたメンバーのテスト、オーナー
記録の開始、およびメンバー記録の開始である。 ベースレジスタのハードウエア/フアームウエ
ア命令の下記のグループは、データベースのアク
セスに対する現時点のプロセス状態の決定および
修飾を与える。このハードウエア命令とは、ベー
スレジスタのアンロード、ベースレジスタおよび
ベースレジスタをロードする前述の「発見」命令
のナル(null)化である。 アプリケーシヨン用データベースにおける記録
のアクセスを構成しかつこれを行う為に使用され
ると同様に、各セツトも又非常に多種のシステム
のソフトウエア領域において使用できる。 以下の表に示されるのは、システムのソフトウ
エアの領域のリストで、その各々についてはセツ
ト概念の前記領域におけるある用途を列挙したも
のである。この表は明確な用途を示すもので、完
全を期すものではない。 1 データベースシステム a インデツクス構成(シーケンスインデツクス
とランダムインデツクス) b データ記述構造 c 共有アクセス制御リスト d プロセスリスポンスビリテイ構造 2 フアイルシステム a カタログ構成 b アクセス権制御 3 メツセージシステム a メールボツクスインデツクスの構成 b キユー用メツセージ c マルチエレメントメツセージの呼出し 4 プログラミングシステム a プログラムライブラリの管理 b テキスト編集 c プログラム制御構造 d バインデイングの為のシンボル参照とシンボ
ル定義構造 e コンパイルの為の中間プログラム形態 5 オペレーテイング・システム a ジヨブのキユー(待ち行列) b 資源割付け表 c デツドロツク検出 d イベントのプロセスの待ちキユー(I/O完
了、タイマー) e デイスパツチングキユー 1 一般的論義 本発明は、オペレーテイングシステムにより関
連させられた以下に記述されたハードウエアシス
テム環境(エンバイロメント)において作用を行
うものである。第1図において、サブシステムと
は、プロセササブシステム101、記憶装置サブ
システム102、および1個以上(32個迄)の周
辺装置サブシステム103である。プロセササブ
システムは1つの中央処理装置(CPU)104
と4個迄の入出力制御装置(IOC)105とを含
んでいる。各周辺装置サブシステムは、1個の周
辺装置制御装置(PCU)106と、多数の機器
アダプタ(DA)107と、256個迄の周辺装置の
入出力機器108を含む。記憶装置サブシステム
102は、各々32乃至512キロバイトの1乃至4
個の半導体メモリーモジユールからなる。 プロセササブシステム101においては、
CPU104はシステムの為の基本処理演算を行
い、又メモリー102とインターフエイスしてい
る。 IOC105は、記憶装置サブシステム102と
周辺機器106間の全ての情報交換を制御する。 A 中央処理装置(CPU) 中央処理装置(CPU)は、主メモリーシンク
ロナイザ109と、バツフア記憶装置110と、
計算ユニツト111からなる各種要素と、オプシ
ヨンのエミユレーシヨン設備112とを含む。主
メモリーシンクロナイザ109は、計算ユニツト
111とバツフア記憶装置110とIOC109と
の間の主メモリーの使用上の競合を解決する。こ
の競合は以下の如く優先順位で解決される。即
ち、IOCはメモリー書込み(計算ユニツトから)
が続き、次いで(バツフア記憶装置への)メモリ
ー読込みが続く最も高い優先順位を有する。主
CPUは又、主メモリー指定を制御するアドレス
制御ユニツトACU131と、主メモリーの最後
に使用されたアドレスの記憶に用いられた連想メ
モリAS132とを含んでいる。バツフア記憶装
置110は小形の高速バツフアメモリーであつ
て、主メモリーの選択された領域を再生して、平
均メモリーアクセス時間を減らす様計算ユニツト
とインターフエイスする。各メモリー読出しの
間、バツフア記憶装置と主メモリーの両方がアク
セスされる。取出すべき情報が既にバツフア記憶
装置内にある場合、主メモリ読出しは終了して情
報はバツフア記憶装置から取出される。さもなけ
れば、主メモリ102が読出される。これが行わ
れる都度、CPU104は所望の情報を含む32バ
イトを取出す。この情報は将来のメモリー照会の
為バツフア記憶装置内に残される。このバツフア
記憶装置はソフトウエアに対し透過的である。
(transparentto)為、コンピユータを制御するプ
ログラムは、コンピユータが処理する情報がバツ
フア記憶装置からあるいは主メモリから取出され
たかどうかを決定できない。 計算ユニツト111はCPU内で全てのデータ
処理およびアドレス形成を行う。計算ユニツト内
の典型的な制御記憶装置130(プレンテイスホ
ール社刊サミールSハツセン著「マイクロプログ
ラミング、その原理と応用」参照)は、システム
を始動し、CPU104とIOC105を制御し、か
つ命令セツトを復合するフアームウエアを含む。
制御記憶装置は任意に科学的命令、テストルーチ
ン、エミユレーシヨン(emulation)パツケー
ジ、を与え、又はプロセササブシステムの能力を
拡張する特殊目的の特性を具有する。 選択的に、CPUは本システム以外のシステム
のエミユレーシヨンを行う。エミユレータ112
はフアームウエア、ソフトウエア、およびある場
合にはハードウエアの構成要素である。 B 入出力制御ユニツト プロセササブシステムのIOC105部分は、全
ての周辺装置サブシステム103と記憶装置サブ
システム102間のデータ経路を提供する。この
経路は周辺装置のコマンドの開始を可能にし結果
として得られるデータ伝送を制御する。1つの
IOCは一般に32チヤンネル迄の制御ユニツト(図
示せず)を取扱う事ができる。 C 周辺装置サブシステム 第1図の周辺装置サブシステム103において
は、PCU106は独立のマイクロプログラミン
グプロセサであり、入出力操作の間入出力機器1
08を制御する事によりCPU104のロードを
解除する。このPCUは、あるチヤンネルプログ
ラムに含まれる各命令の実行により前記操作を行
う。このプログラムは、算術的、論理的転送と桁
送り(shift)を惹起し、ブランチ演算がPCUで
行われる。PCUにはいくつかの種類があり、機
器の種類によりそれぞれ単位記録、マス(デイス
ク)記憶装置、磁気テープ、コミユニケーシヨン
等を制御する。 機器アダプタ107は各PCUとその制御する
機器間に介在する。その各々は、特定の種類の機
器との通信を行うのに必要な決められたフアーム
ウエアとロジツクを含んでいる。DA107はそ
の種類により1つ又はいくつかの機器を制御す
る。 周辺装置サブシステム103により実施される
主な機能は以下の通りである。即ち、 1 CPU命令の直列の周辺機器に対する変換 2 CPU又は適当な周辺機器により必要とされ
る形態へのデータのパツクおよびアンパツク 3 CPUに対するサブシステムとその制御下に
ある各機器との状態の報告維持 4 エラー手続きおよび回復手続きの独立的な開
始および処理 5 関連する周辺装置プロセサの機器分担能力を
阻げる事のない機器のオンライン状態での診断
の許容 PCUはこれに付属する各機器間での主メモリ
ーに対する競合を解消するが、IOCはPCU間の競
合を解消する。 D 記憶装置サブシステム 各メモリーモジユール1乃至4は4又は8バイ
トの幅である。モジユールの数、大きさ、および
データ経路の幅はコンピユータの大きさによつて
変化する。メモリーモジユールは、4つのモジユ
ールが順次アクセスされる様に4重にインターリ
ーブされている(モジユール1は最初の8バイト
を含み、モジユール2は2番目の8バイトを含む
と言う様に)。このインターリーブ処置は、主メ
モリーのアクセスの為の競合数を減少し、これに
より平均メモリーアクセス時間を減少する。メモ
リーは故障の際再構成できる。即ち、1つのモジ
ユール内のメモリーの各ブロツクは隣接するアド
レス指定を破壊する事なく除去できる。 主メモリー102は、金属酸化膜半導体MOS
チツプの形態の容量性の記憶媒体からなる。この
媒体は情報を維持する様リフレツシユ
(refresh)原理で作用する。各メモリーのロケー
シヨンは2ミリ秒毎に少くとも1回リフレツシユ
され、この設計によりリフレツシユのタイミング
とメモリー呼出しとの間の競合が少くなる様保証
する。(競合の生じた場合はリフレツシユ操作が
優先する) 主メモリーの最初の領域はハードウエアとフア
ームウエアの為に確保される。この領域の上限
は、システムのソフトウエアから見える境界アド
レスレジスタ(BAR、これについては以下に記
述する)の内容により決められている。この
BARの内容はシステムの起動時にセツトされ
る。BAR内に規定されたアドレス以下のメモリ
ー領域はIOC表を包含でき、これは周辺装置サブ
システム、CPUを制御するフアームウエア、又
はエミユレーシヨンの為のマイクロプログラムお
よび表の構成を決める。このBAR内に規定され
たアドレスの下方の領域の大きさはシステム構成
に依存する。マイクロプログラムが主メモリーに
あるか制御記憶装置内にあるかはシステム構成お
よびシステムにおけるアプリケーシヨン実行に依
存する。 2 基本的な計算機構造 一般に、このハードウエアに使用されるものに
は3つの基本的なデータ構造がある。即ち、デー
タフオーマツト(書式)、ソフトウエアから見え
るレジスタ、および命令フオーマツトである。 A データフオーマツト 情報はメモリーとCPU間で8並列ビツトの倍
数で転送される。情報の各8ビツトユニツトはバ
イトと呼ばれる。パリテイ即ちエラー補正データ
も又データと共に転送されるが、ソフトウエアに
より影響を受ける事はできない。従つて、この明
細書においては、データは関連するパリテイ即ち
エラー補正データを除外する。 B バイト(Bytes) 1バイト内の各ビツトは左から右へ0から7迄
番号が付されている。各バイトは個別に又はグル
ープで処理される。2つのバイトが半ワードを、
4バイトで1ワード、8バイトで2ワード、16バ
イトで4ワードを形成する。これ等は命令を含む
全データに対する基本フオーマツトである。 C データの提示 全データは2進形態であるが、2進法、10進法
あるいは英数字符号にも翻訳できる。データビツ
トは4個のグループでは2進符号化された10進デ
ータ、8個のグループでは英数字符号、又は16乃
至64個では2進法のデイジツトとして翻訳され
る。後者は2進法の記号を付した数、固定小数点
数又は浮動小数点数として翻訳される。2ワード
迄のどんな連続ビツトも又ストリングとして操作
できる。英数字のセツトはEBCDIC(コード)で
表わされる。ASCIIを代替コードとして使用でき
る。 D バイトアドレス 主メモリーにおけるバイトロケーシヨンは零で
始まる連番を付し、各数はバイトのアドレスであ
る。連続するバイト群は、もし1グループ内の左
方のバイトのアドレスがそれぞれ2,4,8又は
16の倍数である場合、半ワード、1ワード、2ワ
ード又は4ワードに整列されていると言う。半ワ
ード、1ワード、2ワード、又は4ワードと言う
様に整列される時は常にそのユニツトはそのアド
レスから取出す事ができる。主メモリーのデータ
のロケーシヨンは、アドレス形成の間間接的に呼
出されるデータデイスクリプタにより指定され
る。(本願と同一人に譲渡された昭和51和2月10
日特許の「セグメント化されたアドレス形成」な
る名称の米国特許第3938096号参照) E 可視レジスタ 第1図のCPU104には33個のユーザが参照
できるレジスタがあり、その内容はCPUの状態
を綜合的に規定する。それ等には4つの形態があ
る。(第2図参照)即ち、 1 汎用レジスタ 2 ベースレジスタ 3 科学データ用レジスタ(任意) 4 各種レジスタ F 汎用レジスタ 第2図の汎用レジスタ(GR)201は固定小
数点およびビツトストリングの操作に用いられ
る。CPU104においては16個の32ビツト汎用
レジスタ即ちGR0乃至GR15がある。汎用レジ
スタGR8乃至GR15は又インデツクスレジスタ
としても使用可能である。インデツクスとして使
用する時は、本文ではX0乃至X7と呼び、イン
デツクシングは32ビツトを有し1レジスタ中に含
まれる2の補数の整数を用いて実施される。 G ベースレジスタ ベースレジスタ(BR)は命令カウンタICとス
タツクレジスタ202〜203と同じフオーマツ
トを有する。ベースレジスタはアドレス計算の間
使用されてメモリーの一部を規定する。一般に8
つの32ビツトベースレジスタBR0乃至BR7があ
る。 H 科学データ用レジスタ 科学データ用レジスタ(SR)は浮動小数点2
進数による計算の為のオプシヨンの装置である。
4つの8バイト科学計算レジスタがあり、これ等
はSR0乃至SR3と呼ばれる。科学用レジスタは
第2図のフオーマツト204〜205を有する。 I 各種レジスタ 他に5種類のレジスタがある。即ち、 ・ フオーマツト202〜203を有する命令カ
ウンタ ・ フオーマツト207を有する状態レジスタ ・ スタツクレジスタ(Tレジスタと呼ぶ) ・ フオーマツト206を有する境界アドレスレ
ジスタ、および ・ フオーマツト208を有するハードウエア制
御マスクレジスタ 命令カウンタICは32ビツトのレジスタで実行
される命令のアドレスを含む。状態レジスタ
(STR)207は8ビツトのレジスタで、現在実
行されつゝある手続に関する事実、例えばアンダ
ーフローが最後の演算により生じたかどうかを記
録する。スタツクレジスタは又Tレジスタとして
も知られ、現在稼動中の手続と関連するプツシユ
ダウンスタツクの先頭部に対するポインタを含
む。以下に記述するスタツクは、作業スペース、
および局部変数の保持および手続エントリの保護
の為の機構、およびリターン情報を与える。境界
アドレスレジスタ(BAR)206は28ビツトの
レジスタで、ソフトウエアによりアクセス可能な
最も下位の絶対主メモリーアドレスを規定する。
このレジスタはシステム起動の間にロードされ、
ソフトウエアによつて読出しのみ可能である。ハ
ードウエア制御マスクレジスタ208は8ビツト
のレジスタで計算機の条件情報を記録する。 J 命令フオーマツト 約200個の命令があつてともかく使用される。
各命令は4つの異なる長さの内1つを有するが、
常に偶数個のバイト長さである。各命令は連続す
る記憶装置のロケーシヨンに記憶される。左端部
のバイトのアドレスは2の倍数で、この命令のア
ドレスである。 ある命令の8個の最も上位のビツト(およびあ
る場合にはビツト8乃至11又は12乃至15)
は演算コードを表わし、残りのビツトは1つ以上
のオペランド(演算数)を表わす。1つのオペラ
ンドはあるレジスタの指示子、変位の指示子、ア
ドレスシラブル(論理的アドレス)、リテラル
値、即値リテラル値でよい。オペランドの種類お
よび数値は命令のフオーマツトにより決まる。 3 システムの構造 A ジヨブステツプとタスク コンピユータシステムにより実施されるべき作
業はジヨブ制御言語を介して一連のジヨブステツ
プにより外部で規定される。ジヨブステツプは、
ハードウエアの資源が割付けされる作業の一単位
である。一般に1ジヨブステツプはいくつかのタ
スクからなる。1タスクは、並列になる事なく実
行される一連の命令からなるユーザの規定になる
作業の最小単位である。 B プロセス タスクおよびジヨブステツプのユーザ側の概念
は、1つのプロセスとプロセス群によりそれぞれ
ハードウエア中に示されている。1プロセスは、
CPUにより非同期的に実行し得る命令のある順
序として定義される(即ち、いくつかのプロセス
が活動できかつ資源を分割できるが、実際にある
時点では唯1のプロセスのみが実行されてい
る)。あるプロセス群は1つのジヨブステツプを
実施するのに必要なプロセスの関連する組であ
る。 C プロセス制御ブロツクとシステムベース 各プロセスはその実行中に多くの点でCPU制
御を止める事ができる為、主メモリーのある記憶
領領域はCPUの状態を保管するためにプロセス
に利用可能とされる。この状態の情報は、あるプ
ロセスが再びCPUの制御下に入る以前にCPUを
予め条件けする為に利用される。 あるプロセスに割当てられた記憶領域は、第4
図においてプロセス制御ブロツク(PCB)400
と呼ばれる。1つのPCBに含まれるデータはこの
プロセスに割当てられたメモリー領域のアドレス
(アドレススペース)と、全ての関連するレジス
タの内容と、プロセスの状態を含んでいる。この
様な、PCBはいかなる情報ロスもなくあるプロセ
スを起動又は再起動する為に必要な情報に対する
一時的な記憶領域として作用する。各PCBはハー
ドウエアから見え、システムの始動の間に形成さ
れシステム演算の間修飾される一組のハードウエ
ア表(第5図)によりオペレーテイングシステム
によりアドレスを指定できる。 システムベース(第5および6図)と呼ばれる
絶対主メモリー領域がある。この領域はフアーム
ウエアにより形成され、読出しは出来るが書込み
はできないベースアドレスレジスタ(BAR)5
01を介してアクセス可能である。このシステム
ベース502は多数のシステム属性を有し、これ
等には現在実行中のプロセスに対してそれぞれジ
ヨブステツプ番号とプロセスグループ番号(J.
P)が含まれる。このシステムベースにおける別
の属性はJ表503として知られるハードウエア規
定のデータ構造に対するポインタである。この表
はシステム中の現行の各ジヨブステツプを含む。
J表503への各エントリは関連するP表504を指示
し、これも又ハードウエア規定のデータ構造であ
る。この表は、あるプロセスグループを規定し、
又そのプロセスグループにおける各プロセスに対
するエントリを含む。各P表エントリはPCB40
0を指示する。 第5図において、計算ユニツト111(第1
図)の算術演算部506を介してJ番号値により
インデツクスされたJ表ポインタ505はJ表の
エントリ503のアクセスを行う。このエントリ
はP表ポインタを含み、これは計算ユニツト50
6を介してP番号値によりインデツクスされる時
P表のエントリ504のアクセスを行う。このP
表エントリは現在実行中のプロセスのPCBに対す
るポインタ507を含む。この様に、オペレーテ
イングシステムは、BAR501の内容を用いて
活動PCBをアクセスでき、又その関連する(J.
P)ロジツクネームを与える他のどんなPCBもア
クセスできる。 D メモリーセグメンテーシヨン 以下に記述する様なマルチプロセス条件におい
ては、いかなる時点でもメモリには多くのプロセ
スがある。これ等のプロセスは大きさが異なり、
メモリーの割付け問題を惹起するメモリー要求を
する。本文においてあるオペレーテイングシステ
ム(図示せず)と協働する様に起述されるハード
ウエアは、メモリースペースを動的に割付ける事
によりこの問題を解決する。メモリーの要求の任
意性の故に、メモリーは多様な大きさのセグメン
トに割付けされ、このメモリー割付けはプロセス
実行時間中再構成できる。このように、1つのプ
ロセスは多数の非隣接メモリーセグメントに割付
けが可能である。このメモリー割付け法はセグメ
ンテーシヨンと呼ばれる。 セグメンテーシヨンは、メモリーのアドレスが
あるプロセスの一部又は全部が再配置される時は
常に修飾されねばならないという別の問題を提起
する。この問題の解決の為、本文に述べるシステ
ムはあるプロセスに用いられるアドレスが絶対主
メモリーアドレスよりも論理的なものとなる手法
を提供する。これ等の論理アドレスは絶対アドレ
スの形成に用いられる。 又、セグメンテーシヨンは、一式のセグメント
デイスクリプタを介して各プロセスの自身の又は
関連するアドレスセグメントを各プロセスがアク
セス可能にする。あるセグメントデイスクリプタ
のアクセスにより、あるプロセスはあるセグメン
トのアドレスを得る事ができる。セグメントデイ
スクリプタは主メモリーに含まれ、オペレーテイ
ングシステムにより維持される。 各プロセスは2068個迄のメモリーセグメントの
アクセスができる。通常この為にはプロセス当り
同数のセグメントデイスクリプタが必要とされ
る。然し、セグメントは共有できる為、オペレー
テイングシステムはセグメントデイスクリプタを
セグメント表に分類する。この分類は、1プロセ
ス(タスク)、1プロセスグループ(ジヨブステ
ツプ)、又は全体(システム全体)によるアクセ
ス能力に基づく。各プロセスはこれと関連する15
個のセグメント表を有する。この手法は、あるセ
グメント表を介してプロセスによりアクセス可能
な各セグメントに対して唯1つのセグメントデイ
スクリプタを必要とする丈である。この様に、セ
グメントデイスクリプタに必要なメモリースペー
スが減少し、再配置の間のメモリー更新は低減
し、あるプログラムの保護が行われる。(プログ
ラム保護の為の主要機構はリングシステムであ
る。昭和50年10月28日特許の「マルチプログラ
ム、マルチプロセサコンピユータシステムにおけ
る情報の保護」なる名称の米国特許第3916385号
参照) プロセスは、これがアクセスできるセグメント
を決める事が可能でなければならない。従つて、
システムはプロセスに2つのセグメント表ワード
配列(STWA)を与える。これ等の配列はプロ
セスがアクセスできる全てのセグメント表のアド
レスを含んでいる。大小の2つのセグメントサイ
ズがある為、プロセス毎に2つのセグメント表の
ワード配列がある。大きなセグメントは最大サイ
ズ222バイトを有し、小さいセグメントは最大サ
イズ216バイトを有する。全てのセグメントは最
大サイズ迄の16バイト宛の増分においてそのサイ
ズが変化する。1システムは一般に28の大きなセ
グメントと204の小さなセグメント迄収納でき
る。 セグメント表ワード配列はオペレーテイングシ
ステムにより再配置でき、従つて、プロセスはそ
の関連するSTWAの絶対アドレスを知らねばな
らない。どのプロセスのPCBも2つのワードを含
み、これ等は第4図のアドレススペースワード
ASW0〜1として知られるこの情報を含んでい
る。各ワードは1つのセグメント表のワード配列
STWAを指示する。オペレーテイングシステム
は、関連するSTWAが再配置される時は必ず
ASWの内容を更新する。ポインタのチエーンの
下方向の動作およびセグメントデイスクリプタの
復号はフアームウエアの一機能であり、こうして
一旦始動されるとオペレーテイングシステムから
でも見えない。 セグメンテーシヨンは、プロセスに利用可能な
様にアドレススペースの2億バイト以上を規定す
る。この数は主メモリーの容量を超過し、従つて
2次記憶装置(磁気デイスク又はドラム)が主メ
モリーと関連して使用される。このオペレーテイ
ングシステムは、それが実際に利用可能なものよ
りはるかに大きな主メモリーを有すると言う錯覚
を与える。この概念は仮想メモリーと呼ばれる。 いかなる時点でも、規定されるセグメントは物
理的に主メモリー内にあるかないかわからない。
セグメントデイスクリプタの内容は関連するセグ
メントが主メモリーにあるかどうかを示す。ハー
ドウエアは、主メモリーにないセグメントのアク
セスを行うプロセスによる如何なる試みをも検出
し、オペレーテイングシステムに通知する。オペ
レーテイングシステムは所望のセグメントを2次
記記憶装置から主メモリーにロードさせる。次い
で、オペレーテイングシステムは、あるセグメン
トの絶対アドレスが発見できる唯一の場所である
セグメントデイスクリプタにセグメントのメモリ
ーアドレスを格納する。この演算はプロセスから
見えず、この為セグメントが主メモリーになかつ
た事、又は主メモリーに再配置される必要がある
かも知れない事は判らない。(メモリーセグメン
テーシヨンに関する詳細については、昭和51年2
月10日特許の「セグメント化されたアドレス形
成」なる名称の米国特許第3938096号参照) 本文に記述するコンピユータシステムは、各プ
ロセスを相互に干渉しない様にする事によるか、
又は相互のアドレススペースを非認可方式
(unauthorizedmanner)で共有する事によりデー
タおよび手続の保護を行う。この保護は、メモリ
ーセグメンテーシヨンを介するアドレス指定能力
に限定する事により、又リングシステムにより実
施される。 セグメント表はシステム内の各プロセスのアド
レススペースを分離する。各プロセスは常に演算
の実行中にセグメント化されたアドレスを使用す
る。セグメント化されたアドレスは、セグメント
番号とセグメント内の相対的アドレスとからなる
(セグメント化されたアドレスの生成に関する前
述の特許参照)。ハードウエアは、プロセスに使
用されたアドレスがプロセスに割当てられたアド
レススペースの一部である事をチエツクする。も
しこのアドレスが予定されたアドレススペースの
外側にある場合は、例外操作が生じる。プロセス
は別のプロセスのアドレススペース内のデータを
参照する事ができないが、その理由はハードウエ
アは参照するプロセスのセグメント表を使用して
いる為である。この様に、1プロセス又はプロセ
ス群には別のプロセスグループに属する実体を参
照する可能性はない。 一般に、システム内のアドレススペースにおけ
るオーバーラツプは、全てのプロセスにより共有
されるこれ等のセグメントに対して生じる。これ
等の共有セグメントは、アドレスの競合がない事
の保証を確認するシステムプログラムにより開設
される。このように、セグメンテーシヨンはユー
ザのプログラムを相互に保護し、ユーザのプログ
ラムに対してオペレーテイングシステムを保護す
る。 いくつかのプロセスにより共有されるセグメン
トは、これらのプログラムの1つによる誤用から
保護されない。この問題を解決する為にリングシ
ステムが利用され、これにより手続およびデータ
セグメントは4クラスの体系に分類される。この
4つのリングクラスは0から3迄番号を付されて
いる。各リングはシステムの優先順位を示し、レ
ベル0(最も内側のリング)は最優先順位を、レ
ベル3(最も外側のリング)は最後の順位を示
す。システムの各手続は、どれがその手続を呼出
し得るかを示す、手続に割当てられた最小又は最
大の実行リング番号を有する。1つの手続はサブ
ルーチンで、他の手続を呼出しでき、又これらに
複数のパラメータを送る事ができる。 即ち、このリングシステムの一般法則は次の如
くである。 1 1つの内側リングの手続は外側リング内のデ
ータを自由にアクセスする。逆に、外側リング
の手続は内側リングのデータをアクセスできな
い。 2 外側リングの手続は内側リングの手続にブラ
ンチできるが、その逆はできない。 3 データを含むセグメントは、2つのリング番
号値に割当てられ、その1つは読出し(RD)
他の1つは書込み(WR)である。これらのリ
ング字号値は手続が、読出し又は書込みの何れ
かのモードでデータのアクセスを行う時実行で
きる最大のリング番号値を指定する。 ある手続命令が実行される都度、その手続のリ
ング番号値(有効アドレスリング、BAR)は、
参照されたデータを含むセグメントに割当てられ
たリング番号値に対して検査される。このEAR
は、命令カウンタにおけるプロセスリング番号値
の最大値であり、又アドレス指定経路において見
出されたベースレジスタとデータデイスクリプタ
における全てのリング番号値である。このデータ
のアクセスはリング番号値の比較に基づいて行わ
れたり拒絶されたりする事になる。例えば、もし
あるシステム表が、最大読出しリング値3と最大
書込みリング値1を有するセグメントにあるもの
とすれば、リング3で実行されるユーザ手続はそ
の表を読出すがこれを更新しない。 事前の設定により、リング0と1はオペレーテ
イングシステムの為にリザーブされ、リング2と
3はユーザ用としてリザーブされる。リング0は
全システム演算に重要なセグメントを含む。リン
グ1は前記システムの各セグメントの集りを包含
し、その故障は決定的ではなく回復が可能であ
る。ユーザは、検査済みプログラムに対してリン
グ2を用い、デバツクされるプログラムに対して
はリング3を用いる。 F 手続の呼出し 手続の呼出しは本文に記述するシステムにおい
ては重要な機能である。手続の呼出しは1つの手
続から他の手続への通過し、ユーザ手続によるオ
ペレーテイングシステム作業の許容と、オペレー
テイングシステム内のモジユラー構造の達成の為
に用いられる。手続呼出しは、各命令により実施
され、ハードウエアが認識した構成要素はあるス
タツクを呼出す(第7A図)。 あるスタツクはLIFOによるデータの検索を受
入れ、記憶しかつ許容する一機構である。各スタ
ツクはスタツクセグメントと呼ばれる特殊なセグ
メントに存在する。1つのスタツクセグメントは
動的に各手続に割付けられるスタツクフレーム7
01(第7Aおよび7B図)と呼ばれる多数の隣
接する部分からなる。最初のスタツクフレームは
セグメントの頂部にロードされ、これに続くフレ
ームはこの部分の後にロードされる。最後のロー
ドされたフレームはスタツクの頂部と考えられ
る。T−レジスタ702Aは、現在動作中のプロ
セスに対するスタツクの頂部を見出す。実際のT
レジスタは本システムにおける他の全プロセスの
PCBに存在する。 第7B図のスタツクフレーム701は3つの領
域からなる。即ち、変数を記録する作業領域70
2と、レジスタの内容を保管する保管領域703
と各手続間にパラメータを送る通信領域704で
ある。手続呼出しに先立ち、ユーザは、保管を望
むこれ等のレジスタを指定し、呼出される手続に
送られるパラメータを通信領域にロードしなけれ
ばならない。呼出しが行われる時、このハードウ
エアは、命令カウンタICの内容を保管し、呼出
し手続からのリターンを容易にする為ベースレジ
スタを指定する。 各手続呼出しはスタツクセグメント701内の
スタツクフレームを開設し、後続の入れ子状の呼
出しは別のフレームを開設する。これらの呼出さ
れた手続の1つからの各出口はスタツクフレーム
をスタツクから削除させる。このように、呼出し
の履歴は維持され、これが順次のリターン操作を
容易にする。 異なるリングで実行される各手続間の保護を確
保する為、異なるスタツクセグメントが用いられ
る。各プロセス毎の保護リングに対応する1つの
スタツクセグメントがある。1つのPCBは3つの
スタツクベースワードを含み、これらはプロセス
と関連する各リング0,1および2に対するスタ
ツクセグメントの開始を指示する。リング3のス
タツクセグメントは内側の呼出しによつては決し
てエントリされず、従つて、そのスタツク起動ア
ドレスはPCBにおいて要求されない。 4 プロセスマネージメントと同期操作 本文のシステムは、ソフトウエア、ハードウエ
アおよびフアームウエアの組合せを用いるオペレ
ーテイングシステムにより制御されるマルチプロ
セシング演算を行うものである。ソフトウエアは
システム中の各プロセスの発生および削除を行
い、一方ハードウエアとフアームウアエアは
CPUにおける各プロセスのマルチプレクサを行
う。更に、ソフトウエア、ハードウエアおよびフ
アームウエアの組合せは各プロセス間の同期操作
を行う。 通常、プロセスは、常にではないが、関連する
ジヨブ取扱いの間およびオペレーテイングシステ
ムにより必要と見なされる諸目的の為の別の機会
に、入出力演算の開始と終了時に起動および停止
させられる。従つて、関連するプロセスを有効に
起動および停止し、その間に情報を送る為に通信
システムが必要である。本文におけるハードウエ
アシステムはセマフオアと呼ばれる内部メツセー
ジを与えて各プロセス間に通信リンクを与える。 A プロセスの状態 プロセスはいつでも4つの状態即ち実行、レデ
イ、待機および中断のいずれかにあり得る。ハー
ドウエアはこれらの4つのプロセスの状態を認識
して、プロセスのデイスパツチと状態の変更を行
い、あるプロセスの状態に基くデータ構造を維持
するように各種のフアームウエア手続を実行す
る。PCBはその関連するプロセスの現在の状態を
規定する状態のフイールドを含んでいる。 プロセスは、これがCPUの制御の行う時実行
の状態にある。この状態は、あるアドレススペー
ス(セグメント表)と開始アドレスのCPUへの
供給を含む。次いでCPUはプロセスの手続セグ
メントにおいて命令を実行する。現在実行中のプ
ロセスに対するPCBのプロセスネームJ表のワー
ド(論理的アドレス)は、システムベース(第6
図)の実行プロセスワード(BAR+60)に保持
される。(注:第5図に示すシステムベースは第
6図に示すものと同じであるが、細かい点を省略
してある)。 レデイ状態は、プロセスがCPUにより認識さ
れなかつた為、CPUの制御を行わない点を除き
実行状態と等しい。レデイ状態のプロセスは、他
のレデイ位置の各プロセスと実行プロセスとの
CPUに対する競合状態にある。 プロセスは、セマフアオを介するメツセージの
如き特殊な事象が生じる迄継続し得ない時待機状
態にある。待機プロセスはCPUに対して競合状
態にないが、所要の事象に対しては他の待機状態
の各プロセスと競合関係にある。 中断されたプロセスは、ソフトウエアによりあ
る時間停止されたプロセスであり、これについて
は以下に取止げる。プロセスを停止させ再び起動
する決定はそのプロセスの外部である。このよう
に中断されたプロセスは動作状態になく、従つて
事象の通知を受取れず、CPUを使用できない。 プロセスは以下の条件下で中断される。即ち、 (1) 「停止」命令の実行による(全ての機能の完
了の結果) (2) オペレーテイングシステムによる「中断」命
令の実行による (3) 例外条件の発生によるもので、これにより制
御はオペレーテイングシステムに移行される。 B プロセスのデイスパツチ プロセスは、実行中その作用により任意に1つ
の状態から他の状態に移行し、又は他のプロセス
の作用により強制的に他の状態に移行する。デイ
スパツチヤとして知られるCPUフアームウエア
は、各状態間のプロセスのトランザクシヨンを制
御する。デイスパツチヤは1組のキユー(待ち行
列、以下に記述)を用いてレデイ(作動可能)又
は待機状態にある各プロセスを操作する。中断さ
れたプロセスはソフトウエアにより制御される。 第6,8および9図においては、レデイ又は待
機状態のプロセスはあるPCBと、プロセスリンク
と呼ばれる特殊なキユーエントリにより表わされ
る。第9図はGOセグメント802の内容の展開
図を示し、動作中のプロセスのプロセスリンク8
03a〜803bおよび803c〜803gと、
中断されたプロセスの自由プロセスリンク805
a〜805cを含む。各プロセスリンクはプロセ
スネーム(J.P)を指定し、そのプロセスの優先
順位と、キユーにおいて次のプロセスリンクに対
するポインタを指定する。待機キユー803a〜
803bとレデイキユー803c〜gの如き各種
のキユーがある。 G表として知られるJ表(第6および8図)に
類似したハードウエア機器は全ての汎用(システ
ム全体にわたる事が知られる)セグメント802
〜802nに対するポインタを含む。G表801
の最初の要素であるGOはデイスパツチヤキユー
を含む前記セグメント802を指示する。G表8
01に対するG表ポインタは第5図のシステムベ
ースに見出される。又、システムベースにはエン
トリ呼出しによる内部プロセスキユーワード
(IPQW)があり、これはGOセグメント802に
おけるレデイキユー803c〜803dのヘツド
803を識別する。 このように、デイスパツチヤはレデイキユー8
03c〜803dを参照する事により全てのレデ
イプロセスを検討できる。現在実行中のプロセス
が状態を変化させる時、デイスパツチヤはレデイ
キユーのヘツドにおいてプロセスリンクを除去
し、そのPCBをアクセスする為J.Pネームを用い
る。次いでPCBにより規定されたプロセスは新ら
しい実行プロセスとなる。 1つ以上のプロセスが同一事象で待機している
かも知れない為、待機プロセスのキユー803a
〜803bは各事象に対して存在する。又、待機
プロセスは、GOセグメントに存在するプロセス
リンク804を介して一体に配列されている。待
機キユーのヘツドに対するポインタはセマフオア
903(以下に記述)に存在する。あるプロセス
が待機する多くの事象が存在し、従つて、各々が
関連するセマフオア903,904を有する多数
の待機キユーがある。 レデイ状態又は待機状態のプロセスの数は動的
に変化する。このように、レデイ状態又は待機状
態のキユーを必要とするプロセスリンクの数も又
変動する。この事実はデイスパツチヤに対するメ
モリーマネージメントの問題を惹起する。この問
題は自由プロセスリンクキユー805a〜cと呼
ばれる別のキユーにより解決される。このキユー
はレデイ又は待機状態のキユーにより使用され
ず、レデイ又は待機状態のプロセスの特定のキユ
ーを拡張する為に使用できるセグメントGOにお
ける全てのプロセスリンクを一緒にリンクする。
自由プロセスリンクキユー805のヘツド902
に対するポインタ901は、GOセグメント80
2の始めの部分付近に存在する。 C プロセスの同期操作 プロセスの同期操作は、同じタスク上で動作す
る2つのプロセスの嫁動性を関連させる為に必要
である。この同期操作は、通信用プロセスのアド
レススペースに存在するデータ構造であるセマフ
オア903〜904を用いて達成される。セマフ
オアは、事象の発生を信号し、メツセージのキユ
ーを取扱う為に使用される。この場合の事象と
は、別のあるプロセスにとり興味のある1プロセ
スにより観察されるものである。この事象は非同
期演算の完了か、あるいはある資源の利用度であ
る。 プロセスは2つのセマフオア演算を用いて事象
の発生を信号する。演算は信号をセマフオアに送
り、他の演算はセマフオアから信号を取出す。
(この送信操作は屡々V操作と呼ばれ、受信操作
はP操作と呼ばれる。)この送信操作は、あるプ
ロセスにデータ又はデータが準備されたという信
号を送らせる。セマフオアは、別のプロセスが信
号を取上げる準備ができる迄この信号を記憶す
る。このように、送信プロセスは、このデータを
送つた為自由に進行できる。受信操作は特定のセ
マフオアを検討してこの信号を取上げる。もし信
号があれば、受信操作は実行を続行する。しかし
ながら、セマフオアに信号がなければ受信プロセ
スは待機状態に入る。次にこのセマフオアは待機
キユーのヘツドに対するポインタとして作用す
る。このプロセスは、別のプロセスが前記のセマ
フオアに対して信号を送出する迄セマフオアを待
機する待機状態を維持する。このように、セマフ
オアは、プロセスが信号を取上げる迄この信号を
保持でき、あるいはセマフオアは信号がプロセス
に対し送られる迄そのプロセスを保持する。 メツセージも又プロセスからプロセスに送られ
る。メツセージは信号に別の情報が加わつたもの
と同じ存在性又は非存在性を有する。情報の一部
はハードウエアにより供給され、一部はこのメツ
セージを送つたプロセスの手続により供給され
る。メツセージは送るプロセスのプロセスネーム
を有する。このように多くのプロセスは送出側の
ネームを付した単一のセマフオアを介して情報を
送る事ができる。 メツセージセマフオアは、プロセスにより取上
げられるのを待機するメツセージのキユーを有す
る。信号セマフオアにおけるように、メモリース
ペースに対する要求は増減して、メモリーマネー
ジメント問題が提起される。再び、この問題も自
由メツセージリンクのキユーで解決される。これ
等のリンクは、メツセージリンクを供給又は吸収
する為に必要な時容易に発見できるセグメントの
既知の場所に存在する。 これらのリンクに構成されたセマフオアとキユ
ーが異なるプロセスにより共有される為、全セマ
フオア構造は保護される。これは、セマフオアを
含むどのセグメントのアクセスをも制限するハー
ドウエアおよびソフトウエアの約束により実施さ
れる。従つて、そのいくつかがGセグメント(シ
ステム通信が必要な場合)であるセマフオアデイ
スクリプタ中にセマフオアは存在しなければなら
きい。しかしながら、全てのGセグメント(GO
を除く)はセマフオアデイスクリプタセグメント
である。 各セマフオアデイスクリプタはセマフオアに対
するポインタを含んでいる。セマフオアのアドレ
スはセマフオアデイスクリプを介して生成され、
こうしてこのセマフオアの為の保護を強化する。
セマフオアセグメントは、セグメント番号値と、
そのセグメント内の相対的ロケーシヨンを用い、
あるいはG.D番号を直接用いて論理的にアドレス
指定できる。 D プロセス制御ブロツク構造 第4図において、プロセス制御ブロツク
(PCB)のフオーマツトが示されている。このプ
ロセス制御ブロツク400は、CPUの状態を保
管する為プロセスに利用できる主メモリーの記憶
領域である。PCBのアドレス指定は第5図に関連
して既に述べた如く実施される。PCBポインタ5
07(第5図)は第4図のメモリロケーシヨン0
におけるプロセス制御ブロツクPCBを指示する。
下方向へのメモリーロケーシヨンを進めれば4バ
イト宛増加し、一方メモリーロケーシヨン0から
上方へ進むと8バイト宛増加する事に留意すべき
である。下方のメモリーロケーシヨンは0から正
と考えられ、同ロケーシヨン0から上方のロケー
シヨンは負の方向と考えられる。上方のロケーシ
ヨンはオプシヨンであり、プロセス制御ブロツク
内に含まれても含まれなくても良く、又ロケーシ
ヨン148〜176もオプシヨンである。(下方
のメモリーロケーシヨンの数字は、プロセス制御
ブロツクPCBの0参照ロケーシヨンからのバイト
の変位を示し、添付図面の部分識別に用いられる
共通の数字と混同してはならない。)バイト0か
らバイト16より小のバイトから考えると、4つ
のプロセス主ワードPMW0乃至PMW3が記憶さ
れ、各プロセス主ワードPMWは長さにおいて4
バイトである。プロセス主ワード0はバイト0乃
至3を占有し、4つの部分即ち能力(ケイパビリ
テイ)バイト、優先順位バイト、状態バイトおよ
びデコール(decor)拡張バイトDEXTからな
る。第10a乃至10dにおいて、プロセス主ワ
ードPMW0の詳細が示され、能力バイト100
1の更に詳細については第10b図に示される。
第10b図においては、最初のビツト1005
は、時間アカウント機能がそのプロセスについて
実施されるかどうかを示すアカウンテイングモー
ドビツトである。このアカウンテイングモードビ
ツト1005が2進数の0にセツトされる時、そ
のプのプロセスについては時間アカウント機能は
実施されないが、アカウンテイングモード100
5が2進数の1にセツトされる時は時間アカウン
トがなされる。科学モードビツト1006が零に
セツトされる時、計算機の科学データ用レジスタ
の保管は行われず、第4図のバイト148乃至1
76に配置される科学データ用レジスタ保管領域
はプロセス制御ブロツクPCBに存在しない事を示
す。科学モードビツト1006が2進数1にセツ
トされると、科学演算機能が存在しプロセス中に
使用され、必要に応じて科学データ用レジスタの
内容を保管する為科学データ用レジスタ保管領域
が使用される。コードモードビツト1007は、
標準コードセツト又は互換コードセツトのどちら
がプロセスに用いられているかを示し、前記ポジ
シヨンの2進数の0は標準コードセツトが使用さ
れている事を示す一方、第3のビツトポジシヨン
1007における2進数の1は互換コードセツト
が使用されている事を示す。この能力バイトの各
ビツトの残部は零にセツトする。 優先順位バイト1002の詳細は第10c図に
示される。第10c図において、優先順位バイト
1002の最初の4つのビツト1008は、与え
られたプロセス制御ブロツクPCBと関連するプロ
セスの優先順位をセツトする様に使用される。各
プロセスは、優先順位の16のレベルの1つに割当
てられ、競合するプロセスの順位決定即ち(a)レデ
イ状態のプロセス間に実行されるプロセスの選
択、および(b)プロセスをキユー内への投入の為に
使用される。優先順位は0から15に向けて減少
し、与えられた優先順位に対してはFIEO(先入
れ先出し)の原則が与えられる。優先順位バイト
1002の次の4ビツト1009は零である。 第10d図において状態バイト1003の詳細
が示される。状態バイトは、プロセス制御ブロツ
クPCB400と関連するプロセスに関する情報を
提供するように使用される。嫁動フイールドビツ
トA1010は、プロセスが嫁動されている時2
進数の1にセツトされる。中断フイールドS10
11は、プロセスが中断されている時2進数の1
にセツトされている。サブステートフイールド
SS1012は2ビツトのフイールドで、プロセ
スの下記のサブステートを規定する。即ち、(a)2
進数00にセツトされた時プロセスは不嫁動であ
る、(b)2進数01にセツトされた時プロセスはレデ
イ状態プロセスのキユー(Q/PR/RDY)に待
機状態にある、(c)2進数10にセツトされた時プロ
セスはセマフオアのキユー(Q/PR/S)中の
セマフオアに待機状態にある、(d)2進数11にセツ
トされた時プロセスはプロセサにより実行中であ
る。演算中(mid−operation)フイールド
(MOI)1013は割込みが生じた時2進数の1
にセツトされ、命令の実行の間、即ちプロセス終
了以前はこれを維持する。拡張デコール
(decor)モードビツトEXTD1014は、プロセ
スが計算機のエミユレーシヨンモードである拡張
デコールモードにある時1にセツトされる。ビツ
ト1015と1016は0にセツトされる。プロ
セス主ワードPMW0の4番目のバイトはデコー
ル拡張番号を含み、システムがエミユレーシヨン
モードにある時使用される。 プロセス主ワードPMW1はプロセス制御ブロ
ツクPCBのバイト4〜7に記憶される。PMW1
の詳細は第10e図に示される。状態バイト10
16はPMW1における最初のバイトであつて、
状態レジスタ内容を記憶する。マルチプロセサバ
イトMP1018はマルチプロセサ構造でハイト
であり、さもなければこのフイールドは零であ
る。プロセス主ワードの第2と第4番目のバイト
はそれぞれMBZフイールド1017と1019
で、通常の演算においては零でなければならな
い。 プロセス主ワードPMW2はプロセス制御ブロ
ツクのバイト8乃至11を占め、第10f図に更
に詳細に示される。第10f図において、ビツト
4乃至ビツト31のフイールドはセマフオアの局
部ネームSEG,SRA1021を含み、これに対
してプロセスが待機状態又は中断状態にある時
PCBがリンクされている。例外クラスおよびタイ
プフイールド1023は割込みに似た例外のクラ
スおよびタイプを含み、これが例外操作の後プロ
セスを中断状態にエントリさせる。ビツト4乃至
15のフイールド1022は、プロセスが前述の
状態以外の状態にある時無意味となる。 プロセス主ワードPMW3はPCB400のバイ
ト12乃至15を占め、デコール拡張表を指示す
る。PMW3の詳細に関する第10g図におい
て、DETSZフイールド1024は表中のエント
リ数を規定し、もしこのフイールドが零であれば
プロセスに対するデコール拡張操作は許されな
い。DETAフイールド1025は16バイトの単位
のデコール拡張表の絶対アドレスで、DETSZが
0でない場合にのみ有意義である。このデコール
拡張表はDETSZエントリから構成される。各エ
ントリは1バイトの大きさである。テーブルの
DEXT番目のエントリはプロセスの能力を規定
し、デコール拡張モードDEXTにおいて操作を行
う。DEXT番目のバイトが0である時、デコール
拡張番号値DEXTは許されないが、DEXT番目の
バイトが1であればデコール拡張番号値DEXTは
許される。0および1以外のDEXT番号値は違法
となる。(第10a図DEXT番号値1004参
照) PCB400のバイト16乃至23はそれぞれア
ドレススペースワードASW0とASW1を含み各
ASWはセグメント表ワード配列に対するポイン
タを含む。ASW0とASW1の相方は、それぞれ
第10h図に示されたものと同じフオーマツトを
有する。セグメント表ワード配列の大きさは1配
列中のセグメント表ワード番号により規定され、
主としてASW0に対しては6、ASW1に対して
は8となる。STWSZフイールド1026はセグ
メント表ワード配列の大きさを示す。セグメント
表ワード配列のフイールドSTWA1027は、
16バイトの単位の配列の絶対アドレスSTWAを
含み、即ちこの配列の絶対アドレスはバイトにお
いてSTWAの16倍である。 PCBにおけるバイト24乃至27は、第10i
図に更に詳細に示される例外ワードEXWを含
む。この例外ワードは例外クラス表に対するポイ
ンタ(SEG,SPA)1029を含み、前記表
は、プロセス主ワードPMW2に記憶される如き
そのクラスによるプロセス例外に続いて取られる
べき作用を規定する。(第10f図参照)例外ワ
ードEXWのMBZフイールド1028は0でなけ
ればならない。 PCBのバイト28乃至31に配置されるスタツ
クワードSKWは、第10j図に更に詳細に示さ
れ、プロセスが実行中でない時、そのプロセスの
スタツクのTレジスタの頂部の数値を含む。第1
0j図において、ビツト0と1はTAGフイール
ド1030を規定する。このTAGフイールドは
その内容によりデイスクリプタのタイプを示し、
SKWに対しては零でなければならない。SKWワ
ードのビツト2と3はRINGフイールド1031
を含みこのフイールドはスタツクのセグメント化
されたアドレスと関連する保護目的のリング番号
を含み、この場合零でなければならない。ビツト
4乃至31はセグメント番号SEGとセグメント
相対アドレスSRA1032を含み、セグメント
表に記述されたセグメントとその内部のセグメン
ト相対アドレスを識別するフイールドである。ス
タツクワードSKWは、プロセスが実行状態でな
くなる都度更新される。これは、プロセスが実行
状態になる毎にTレジスタの内容を再格納する為
に用いられる。この最後の場合には、TAG10
30とRING1031は零である事をテストさ
れ、さもなければ違法のPCB例外動作が生じる。 PCB400のバイト32乃至35は、屡々ICC
と呼ばれる命令カウンタ内容ワードICWを含
む。第10k図において、TAGフイールド10
33が2進数00を含まねばならない(即ち零以外
の数値は命令カウンタにおいては違法である)命
令カウンタワードICWの詳細が示されている。
ビツト2と3を占める現行RINGフイールド10
34は、主記憶装置へのアクセス権の決定に用い
られるプロセスのカレントリング番号を規定す
る。ビツト4乃至31はセグメント番号とセグメ
ント相対アドレス(SES,SRA)1035を規
定し、これらは実行すべき次の命令のアドレスを
規定する。 バイト36乃至39のMBZフイールドは零で
なければならない。(MBZフイールドは常に零で
なければならないフイールドを示す)このMBZ
ワードは、PCBがネームJ.Pから呼出される都度
テストされる。もしこれが零でなければ違法PCB
例外が起る。 スタツクベースワードSBW0〜2はプロセス
制御ブロツク400におけるバイト40〜51を
占める。これらのワードは、第10l図に更に詳
細に示される同一のフオーマツトを有する。これ
らはスタツク操作に間使用され、使用される時は
そのTAGフイールド1036とRINGフイールド
1037は零でなければならず、さもなければ違
法のPCB例外が起る。ビツト4乃至31は、リン
グ0,1,2に対するそれぞれのスタツクセグメ
ントの最初のビツトのセグメント化されたアドレ
ス(SEG,SRA)1038を含む。 プロセス制御ブロツク400のバイト52乃至
83はベースレジスタ保管領域(8ワード)の為
にリザーブされたスペースである。バイト84乃
至147は全ての汎用レジスタ(16ワード)の数
値を保管する為に用いられる保管領域である。バ
イト148乃至179は科学データ用レジスタ
(8ワード)を保管する為に使用される保管領域
である。 PMW0ワードのアカウンテイングモードビツ
トがセツトされる時、時間アカウントの為にPCB
零アドレス以上のPCB400には5つの2重ワー
ドが与えられる。こられのワードは、PCBアドレ
ス−8からPCBアドレス−40に配置される。各
ワードは、そのビツト52〜63を零としたその
最初の52ビツトにおいてマイクロ秒単位で表示さ
れる時間又は時間間隔を含む。残り時間切れ2重
ワードRTO(PCBで0以上の最初の8バイト)
は、時間切れの例外操作が起る以前にプロセスの
ためにプロセサにより実際に費やされる特定量の
時間を含む。RTOワードは以下の方法で更新さ
れる。即ち、プロセスが実行状態を脱する度にプ
ロセスのタイマーの数値はRTOワードに記憶さ
れる。プロセスが実行状態に入る度にプロセスタ
イマーの数値はRTOからロードされる。 バイト7乃至15における実行時間アカウンテ
イングRUAの2重ワードは時間カウンタであつ
て、これは、プロセスが実行状態にあつたプロセ
サ時間の全量を規定する。アカウントされた時間
は、完全にプロセスのためにプロセサにより実際
に費やされた時間である。RUAワードは以下の
方法で更新される。即ち、プロセスが実行状態を
脱する都度、プロセスタイマーPTの数値が読取
られる。RTOとPTの内容の差異がRUAに加えら
れる。(続いて、PT数値はRTOに記憶される)
プロセスが中断される時間は計算されない点に留
意されたい。RTOおよびRUAワードは、もしア
カウンテイングモードビツトが0にセツトされる
場合でも更新される。しかしながら、CET,
RTA、およびWTAワード(以下に記述する)
は、プロセス主ワードPMW0におけるアカウン
テイングモードビツトが1にセツトされる時にの
みプロセス制御ブロツク内に与えられる。これら
のワードはこの場合丈更新される。 バイト17乃至23における待機時間アカウン
テイングWTAワードは実時間カウンタで、プロ
セスが待機状態にあつた全実時間を規定する。
WTAワードは以下の方法で更新される。即ち、
プロセスが待機状態を脱する都度、デイ(day)
クロツク(図示せず)の時間値TODが読取られ
て、TODの値−CETワードの値がWTAワードに
加えられる。 バイト24乃至31において配置されるレデイ
時間アカウンテイングRTAワードは実時間カウ
ンタである2重ワードで、プロセスがレデイ状態
にあつた全時間を規定する。RTAは以下の方法
で更新される。即ちプロセスがレデイ状態を脱す
る都度、デイクロツク時間値TODが読取られ
て、TODの内容−CETの内容がRTAに加えられ
る。 バイト32乃至39における現行エントリ時間
CET2重ワードは、プロセスが以下の各状態、即
ちレデイ、待機、実行および中断の1つに入つた
デイ時間を含む。 システムベースの構造 第6図において、システムベース600のフオ
ーマツトが示される。このシステムベースは絶対
主メモリー内にあり、フアームウエアにより生成
され読出しは可能であるが書込みはできない境界
アドレスレジスタ(BAR)を介してアクセス可
能である。この境界アドレスレジスタBARはハ
ードウエアの為にリザーブされた主メモリの1領
域の下方にあり、ハードウエアの為リザーブされ
たメモリーの領域とシステムベース600を分割
する。次に第6図において、このシステムベース
600は多数のシステム属性を含み、これは現在
実行中のプロセスに対するジヨブステツプ番号と
プロセスグループ番号(J.P)を含んでいる。プ
ロセスJ.Pの論理的ネームからは、対応するプロ
セス制御ブロツクPCBの絶対アドレスが得られ
る。J表の大きさとアドレスはJ表ワード
(JTW)の内容により規定される。このワードは
BARレジスタにより規定されるアドレスに配置
される。JTWのフオーマツトは第11a図に示
される。第12図はJ表1204の大きさを表わ
す(JTSZ)1101は、255迄であるJ表120
4におけるエントリ番号を規定する。JTSZ11
01は8ビツトの正の整数で、もしJがJTSZよ
りも大きい場合はJ表からの例外が起る。J表1
204の絶対アドレスはJ表ポインタ1102の
16倍により得られる。J表1204はJ表エント
リを含み、そのフオーマツトは第11b図に更に
詳細に示される。各J表エントリは、P表ポイン
タ1104の16倍により得られるP表1205の
絶対アドレスを規定する。P表の大きさ
(PTSZ)1103はP表におけるエントリ番号
を規定する。このPTSZは8ビツトの正の整数
で、P表のエントリ番号を示す為一般に0から
255まで変化する。もしPがPTSZより大きい場
合は、P表からの例外が起る。P表1205の各
エントリは、プロセス制御ブロツクポインタ11
07の16倍によりプロセス制御ブロツク(PCB)
1206の絶対アドレスを規定する。存在インデ
イケータP1105は、2進数の0にセツトされ
た時PCBが存在しない事を示し、2進数の1にセ
ツトされた時PCBの存在する事を示す。(存在イ
ンデイケータP1105が0である事が伴ると、
空のP表エントリ例外操作が起る。)P表インデ
イケータ(第11c図)のビツト1乃至7
(MBZ)1106は0でなければならず、さもな
ければ違法のP表エントリ例外操作が起る。 システムベース600のアドレスBAR+4に
おいては、第11d図に更に詳細に示されたG表
ワード(GTW)のフオーマツトバイトがある。
第12図のGセグメント表1212の大きさとア
ドレスはG表ワード(GTW)の内容により規定
される。G表1212の大きさ(GTSZ)110
8はG表へのエントリ番号を規定し、G表は一般
に255迄である。GTSZは8ビツトの正の整数
であり、もしG表の数値がGTSZより大きい場合
はG表からの例外が起る。G表1212の絶対ア
ドレスはG表ポインタ1109の16倍により得ら
れる。Gセグメント表エントリのフオーマツトは
2ワードの大きさで、Gセグメントデイスクリプ
タと呼ばれる。Gセグメントデイスクリプタのフ
オーマツトは第11eおよび11f図に詳細に示
されている。全てのGセグメントデイスクリプタ
は直接であり、従つて間接ビツトI、111は零
でなければならず、さもなければ違法のセグメン
トデイスクリプタ例外操作が起る。存在インデイ
ケータP1110は1プロセスのフイールドで、
これは2進数の1にセツトされる時デイスクリプ
タが対応するセグメント番号に対して主記憶装置
にセグメントが規定される事を示すが、もしこれ
が0にクリアされるとセグメントは規定されずセ
グメントデイスクリプタの参照はミシング(欠
落)セグメント例外の原因となる。利用可能なビ
ツトA1112は1ビツトのフイールドで、これ
はセグメントが利用可能であるかどうかを示し、
このセグメントが規定される(即ち、Pは2進数
1に等しい)がどうかを検査される丈で、さもな
ければ無視される。使用済フラツグフイールドU
1113はセグメントがアクセスされたかどうか
を示す。もしUビツトが2進数の0にセツトされ
れば、そのセグメントはアクセスされていない
が、もしUフイールドが2進数1にセツトされれ
ば、セグメントはアクセスされた。書込み済フラ
ツグフイールドW1114はセグメントが書込ま
れたかどうかを示す。もしWが2進数の0にセツ
トされれば、セグメントは書込まれていないが、
Wが2進数の1にセツトされれば、セグメントは
書込まれた。Gセグメントデイスクリプタのゲー
ト作用インジケータGS1115は2進数01にセ
ツトされねばならず、さもなければ違法セグメン
トデイスクリプタ例外が起る。この理由は、Gセ
グメントは常にセマフオアを含み(逆は真でない
が。即ち、全てのセマフオアはGセグメントにあ
る事を要求されない)、セマフオアの命令はGSコ
ードが2進数01である事を要求する為である。セ
グメント1214のベースの絶対アドレスは、24
ビツトのベースフイールド1116により第11
e図のGセグメントデイスクリプタに規定され、
このフイールドの内容は16倍されて絶対アドレス
を得る。第11f図のGセグメントデイスクリプ
タの2番目のワードはG表1212においてビツ
トポジシヨン32乃至63を占める。ビツト32
乃至39のRSUフイールド1117はソフトウ
エア用にリザーブされ、この場合のようにGセグ
メントデイスクリプタとして使用される時一般に
無視される。MBZフイールド1118は0でな
ければならず、さもなくば違法のセグメント例外
が起る。MBZフイールド1118はビツト40
乃至51を占める為、小さなセグメントSIZEに
対するフイールドであるSIZEフイールド111
9をセツトする為、全てのGセグメントは小さな
セグメントタイプでなければならない。セグメン
トSIZE1119は、そのセグメントにおいてバ
イト数値を規定する12ビツトの正の整数であり、
このセグメントの大きさは16の倍数であると考え
られる。従つて、Gセグメント1214に対する
セグメントの大きさは216バイトを超える事がで
きない(小さなセグメント)。 再び第6図のシステムベース600において、
BAR+8およびBAR+4の間に配置された9つ
のシステム例外セルワードがある。このシステム
例外セルワードEXCのフオーマツトは第11g
図に示される。システム例外が起る時セマフオア
は与えられたプロセスに対しメツセージを伝送す
る為に使用されるので、これらセマフオアに対す
るポインタはメモリーの9つのロケーシヨンに見
出されるが各ロケーシヨンはシステム例外セルと
呼ばれシステム例外操作のクラス毎に1つある。
MBZフイールド1120は2進数の0にセツト
されねばならず、さもなければシステムチエツク
が起る。各例外セル(EXC)はそれぞれシステ
ムネームGD1121と1122を含む。 システムベース600のBAR+44に配置さ
れるチヤンネル例外セルは、前述のシステム例外
セルに似たフオーマツトを有し、チヤンネル例外
が起る時与えられたプロセスにメツセージを伝送
する為に使用されるセマフオアのシステムネーム
GDを含む。 内部プロセサキユーワードIPQWはBAR+48
から始まるように配置され、そのフオーマツトの
詳細は第11h図に示される。このIPQWワード
は、参照番号905および805で第9図に示さ
れるレデイ状態のプロセスのキユー(Q/PR/
RDY)のヘツドを指示する。レデイ状態のプロ
セスキユー(Q/PR/RDY)はレデイ状態にあ
る全てのプロセスをリンクする。これは、レデイ
状態のプロセスキユーの頂部を指示する事によ
り、IPQWワードのQ/PR/RDYのHEADフイ
ールド1124(第11h図)により参照され
る。Q/PR/RDYのHEADフイールド1124
は16ビツトの正の整数を含み、これはGOセグメ
ントと呼ばれるGセグメント番号0のベースから
Q/PR/RDYの最初のバイト迄の変位である。
もしこのQ/PR/PDYビツトフイールドが0な
ら、レデイ状態のキユーは空であると考えられ
る。MBZフイールド1123は0でなければな
らず、さもなければシステムチエツクが起る。 システムベース600のBAR+52におい
て、初期および現時の再トライカウントの記憶装
置が示され、そのフオーマツトは第11i図に詳
細に示される。NFSフイールド1125は非機
能的記憶フイールドであり、システムベースによ
り使用されない。初期再トライカウントフイール
ド1126と現時再トライカウントフイールド1
127は回数を制御し、自動命令再トライは、機
械的エラーが機械故障例外条件を形成させられる
以前に実行される。これらのフイールドはリセツ
ト再トライカウント(本文には示さず)により同
数丈ロードされる。 第11j図に示された実行プロセスワード
(RPW)はシステムベース600のBAR+56に
記憶され、モノプロセサ構造の場合に優先順位を
もつた実行プロセスのネームを記憶するのに用い
られる。NFSフイールド1128と1131は
それぞれ非機能記憶フイールドで、どの装置にも
どんな目的にも使用できるが一般にシステムベー
スには使用されない。実行プロセスの優先順位は
PRIフイールド1129に記憶される。非同期ト
ラツプビツトはABフイールド1130に記憶さ
れるが、非同期トラツプリングはARNフイール
ド1132に記憶される。モノプロセサ構造の場
合の実行プロセスの論理的ネームJ.PはJ.Pフイー
ルド1133に記憶される。 第11k図に示される絶対値化表ポインタはシ
ステムベース600のBAR+60に配置され、
初期システムロード(ISL)において使用されて
ISLプログラムの全ての絶対アドレスにBARの内
容を加える事により初期システムロード(ISL)
における絶対アドレスを初期設定する。この絶対
値化表ポインタ1135は絶対値化表(図示せ
ず)のロケーシヨンを規定する。この絶対値化表
サイズはATSZフイールド1134により示され
る。 第11l図に示されるCPU連続番号ワードは
BAR+64に配置された4バイトのワードで、
CPU連続番号フイールド1136においてCPU
の連続番号を含んでいる。 第11m図に示された主記憶装置上限ワードは
BAR+68に配置され、主記憶装置における最
後に利用可能なワードの絶対アドレスを与える事
により主記憶装置上限1139を示す。 BAR+72においては、初期システムロード
ISL機器チヤンネル番号(CN)1140とハー
ドウエア機器チヤンネル番号(CN)1141と
を与える為に、第11n図に示されるワードが配
置されている。 コンピユータシステムに用いられる機器のタイ
プとサブタイプはそれぞれフイールド1143と
1144においてハードウエア機器タイプワード
(第11o図)により示され、この場合RSUフイ
ールド1142はソフトウエアに対してリザーブ
されている。このワードはBAR+76における
システムベース内に見い出される。第11p図に
示された前述のフオーマツトと似たタイプのフオ
ーマツトを有する類似のワードは初期システムロ
ードに用いられた機器のタイプとサブタイプを含
む。このワードはBAR+80に配置される。 コンピユータの再起動ボタンを押すと、シミユ
レートV演算が1セマフオアについて実施され、
レデイ状態に入る。このセマフオアに対するポイ
ンタはシステムベース600のBAR+84に見
出され、再起動セルワードと呼ばれ、第11q図
に示されたフオーマツトを有する。このフオーマ
ツトは前記のシステム例外セルと似ており、それ
ぞれGフイールド1149とDフイールド115
0におけるセマフオアのシステムネームG.Dを含
む。MBZフイールド1148は0でなければな
らない。 このコンピユータシステムに対して1つ以上の
プロセサがある場合は、マルチプロセサ拡張の為
のワードがシステムベース600のBAR+88
に与えられる。このワードの詳細は第11r図に
示される。 システムベースとプロセス制御ブロツク使用例 第12図において示されるのは、ユーザセグメ
ント、システムセグメント、又はレデイ状態プロ
セスキユー(Q/PR/RDY)セグメントのアド
レス指定およびアクセスの為、どの様にしてシス
テムベースが、プロセス制御ブロツクと組合せて
使用できるかを示す一例である。主メモリー12
00はハードウエア用途としてリザーブされた部
分1203を有する。境界アドレスレジスタ
BAR1202はシステムベース1215をハー
ドウエア用にリザーブされたメモリー1203の
一部から分離する。この境界アドレスレジスタ
BAR1202は、その内容をシステムベースで
所望される事項の4バイト単位の変位分に対して
加える事によりシステムベース1215における
事項をアドレス指定する為に使用される。次にこ
のアドレスは所望のシステムベースにおける事項
の最初のバイトを指示する。第12図において
は、BAR1202はJ表ワード(JTW)を指示
している。前述の如く、このJ表ワードは、J表
1204を指示するポインタを有する。第5図に
示されたJ番号をインデツクスする事により、J
表エントリ1216が得られる。J表エントリに
おいて、P表1205の絶対アドレスを指示する
P表ポインタがある。P表1205内のP番号
(第5図参照)をインデツクスする事により、プ
ロセス制御ブロツク1206の絶対アドレスが得
られる。プロセス制御ブロツクPCB1206に既
に示す如く、2つのアドレススペースワード
ASW0とASW1がある。ベースレジスタ120
1におけるセグメント表番号フイールドSTNの
上位ビツトはこれら2つのアドレススペースワー
ドの1つをアクセスする為に使用され、この事例
においては、ASW1はセグメント表ワード配列
STWA1208を指示するセグメント表ワード
配列STWAのポインタを有する。ベースレジス
タ1201のセグメント表番号STNと共に、8
つのセグメント表ワードの1つがSTWA120
8でアクセスされ、これが8つのセグメント表1
210の1つを指示する。ベースレジスタ120
1からのセグメント表エントリSTEは、次いで
あるセグメントデイスクリプタが配置されるセグ
メント表1210における256のエントリの1つ
を行う為に使用される。次に、このセグメントデ
イスクリプタはユーザーセグメント1211をア
クセスする為に使用される。(更に詳細は、本発
明の被譲渡人と同一人に譲渡され本文に参考の為
作用された。昭和51年2月10日特許の「セグメン
ト化されたアドレス生成」なる名称の米国特許第
3938096号を参照されたい) セマフオアの記憶に使用されるシステムセグメ
ント1214をアクセスする為、システムベース
1215においてG表ワードGTWが使用され
る。このG表ワードのアドレスは、システムベー
スにおけるG表ワードの変位分を境界アドレスレ
ジスタBAR1202(第6図)に加える事によ
り得られる。このG表ワードGTWはG表121
2を指示するG表ポインタを含む。システムに利
用可能なG番号を使用し、G表内でインデツクス
する事により、システムセグメント1214をア
ドレス指定する為に使用されるGセグメントデイ
スクリプタがアクセスされる。 同様に、Q/PR/RDYセグメント1213を
指示する内部プロセスキユーワードIPQWを配置
する事により、レデイ状態プロセスキユー(Q/
PR/RDY)をアクセスする為に、システムベー
ス1215が使用される。 G 制御ユニツト 第13a〜13c図において制御ユニツトの詳
細が示されている。この制御ユニツトは、中央処
理装置(CPU)から切離されて示されている
が、実際にはCPUの一部であり、制御記憶ユニ
ツトCSU1301と、制御記憶インターフエー
タアダプタCIA1302とは付属サブユニツト
と、制御記憶ローダCSL1303と、制御及びロ
ードユニツトCLU1304とからなる。 制御記憶ユニツトCSU1301は、制御及び
ロードユニツトCLU1304と制御記憶インタ
ーフエイスアダプタCIA1302を介して制御記
憶ローダCSL1303からマイクロ命令を受取
る。通常の演算条件下では、マイクロプログラム
は、システム初期設定の間に外部ソースからロー
ドされて計算機の恒久的な制御機能となる。然し
ながら、制御記憶ユニツトCSU1301は、多
様な中央処理装置CPU104の演算モードを行
う様に再ロードされ初期設定される能力がある。
CPUの下記の演算モードがCSU1301の制御
下で利用可能である。即ち、(a)ネーテイブモー
ド、(b)エミレーシヨンモード、(c)ネーテイブ兼エ
ミユレーシヨンモード、(d)診断モードである。こ
の能力は、CSUにあるマイクロ命令が他の全て
のCPU機能ユニツトの演算の制御に使用される
マイクロ命令のソースである為に可能となる。前
記のCPU機能ユニツトとは、エミユレーシヨン
ユニツト1316、算術論理ユニツトALU13
17、命令取出しユニツトIFU1318、アドレ
ス制御ユニツトACU1319およびデータマネ
ージメントユニツトDMU1321である。又中
央処理装置CPU104内に知られているもの
は、前述の汎用レジスタ1307と、ベースレジ
スタ1308と、科学データ用レジスタ1309
と、Tレジスタ1310と、状態レジスタ131
1と、命令カウンタIC1312と、ハードウエ
ア制御マスクレジスタ1313である。 一般に、制御記憶ユニツトCSU1301は、
9Kのバイポーラ集積回路で、読出し/書込みラ
ンダムアクセス記憶装置(RAM)と混成された
プログラム可能読出し専用メモリ(PROM)であ
る。これは特に150ナノ秒の読出しサイクルと450
ナノ秒の書込みサイクルとを有する。制御記憶装
置の各ロケーシヨンは1つの84ビツトマイクロ命
令ワード(以下に更に詳細に記述)を記憶し、各
マイクロ命令ワードは1つのCPUサイクルを制
御する。制御記憶ユニツトCSU1301の制御
記憶装置の各ロケーシヨンが読出されると、その
内容はマイクロ演算デコーダにより復号され、こ
のデコーダは、各々がCPU内で生じる特殊な演
算(以下に詳細に記述)を惹起するマイクロ演算
制御信号を与える。 各マイクロ命令ワード内にロケーシヨンを分類
する(以下詳細に記述)事により、特定のCPU
演算即ち命令を実施できる制御記憶のシーーケン
スが得られる。各命令がCPUにより起動される
と、OPコード内のあるビツトが制御記憶起動シ
ーケンスの決定に使用される。命令デコード機能
によりセツト又はリセツトされるあるフリツプフ
ロツプ(図示せず)のテストにより、制御記憶メ
モリーが必要に応じて更に特定のシーケンスにブ
ランチされる。 制御記憶インターフエイスアダプタCIA130
2は、制御記憶ユニツト1301、データマネー
ジメントユニツトDMU1321、および第13
b図の制御記憶メモリー1333の演算を指示す
る為の算術論理ユニツトALU1317と通信す
る。このCIA1302は、制御記憶アドレス修
飾、テスト、エラー検査、およびハードウエアア
ドレス生成の為のロジツクを含む。ハードウエア
アドレス生成は、一般にエラーシーケンスの起動
アドレスの生成と、初期設定シーケンスの為に使
用される。 データマネージメントユニツトDMU1321
はCPU104と、第1図に示す主メモリーおよ
び(又は)バツフア記憶装置メモリーとの間のイ
ンターフエイスを提供する。どのユニツトが他の
ユニツトにより必要な情報を有しているかを認識
し適正な時点にこの情報をCPUレジスタにスト
ローブ(strobe)する事がこのデータマネージメ
ントユニツトの責務である。又このデータマネー
ジメントユニツトDMUは部分書込み操作の間マ
スキングを行う。 命令取出しユニツトIFU1318は、DMU1
321、ACU1319、ALU1317および
CSU1301とインターフエイスして、CPUに
命令を与え続ける様応答可能である。命令取出し
ユニツトは、現在の命令の完了以前にそのレジス
タにおいて次の命令を利用可能な状態に維持す
る。この能力を与える為、命令取出しユニツト
IFU1318は、通常1つ以上の命令を含む12バ
イトの命令レジスタ(図示せず)を含む。更に、
CSUの制御下にあるIFUは、命令が実際に必要と
される以前に主メモリーに情報(命令)を要求し
て、その12バイトの命令レジスタを常に更新状態
に維持している。命令はこの様に通常使用されな
いメモリーサイクルにより予め取出される。又こ
の命令取出しユニツトは各命令を復号して他のユ
ニツトの命令の長さおよびフオーマツトを通知す
る。 アドレス制御ユニツトACU1319はCIAを
介してIFU,ALU,DMU,およびCSUと通信す
る。ACU1319はCPU内の全てのアドレス生
成を受持つている。ACU内外の伝送を含め全て
のACUの動作はCSUのマイクロ演算および当ユ
ニツト内のロジツクにより指示される。ACUの
通常のサイクル動作は、命令タイプよりも命令中
のアドレスのタイプに依存する。アドレスのタイ
プ次第で、ACUはある命令中の各アドレスに対
して異なる操作を行う。又このACUは、8つの
最後に使用したメモリーセグメントのベースアド
レスを、それらのセグメント番号と共に記憶する
連想メモリー1319aを含む。メモリー要求が
なされる都度、このセグメント番号は連想メモリ
ーの内容に対して検査され、セグメントのベース
アドレスが既に生成され記憶されたかを決定す
る。もしベースアドレスが連想メモリー1319
aに含まれる場合は、このアドレスは絶対アドレ
ス生成に使用され、かなりの時間が節減さされ
る。もしベースアドレスが連想メモリー1319
a内に含まれていない場合は主メモリー表をアク
セスして生成される。然しながら、このセグメン
トのベースアドレスが生成された後は、将来の参
照操作の為そのセグメント番号と共に連想メモリ
ー内に記憶される。 ACU,IFU,DMU,およびCSUとインターフ
エイスしているのは算術論理ユニツトALU13
17である。その基本的な機能は、CPUに必要
な算術的演算とデータ操作の実施にある。この算
術論理ユニツトの動作は、完全に制御記憶ユニツ
トCSU1301からのマイクロ演算制御信号に
依存する。 ALU1317とCSU1301とに関連してい
るのはスクラツチパツドメモリーユニツトLSU
1315(時には又局部記憶ユニツトとも呼ばれ
る)である。これは、一般には256ロケーシヨン
(1ロケーシヨン当り32ビツト)のソリツドステ
ートメモリーと、そのメモリーに対する選択読出
し/書込みロジツクからなつている。このスクラ
ツチパツドメモリー1315は、CPUの制御情
報と保全度情報を記憶する為に使用される。更に
スクラツチパツドメモリー1315は作業ロケー
シヨンを含み、これは主としてデータ操作の間オ
ペランドと部分的結果の一時的な記憶の為に使用
される。又、ALU1317と関連しているの
は、特にコンピユータシステムの各状態を記憶す
る為の64のフリツプフロツプからなる補助メモリ
ー1317aである。 又、CPUはクロツクユニツト1320を有
し、1基に対し2つのクロツクシステムとなつて
いる。即ち、第1のクロツクシステムは制御イン
ターフエースアダプタCIA1302のタイミング
を与え第2のクロツクシステムは中央処理装置内
の機能ユニツトの動作の為のタイミングパルスを
発生する。 次に第13c図において、制御記憶ワード13
25のフオーマツトが示される。この制御記憶ワ
ードは84ビツトの幅を有し6つの主なフイールド
に分割されている。即ち、 a シーケンスタイプフイールド1326(3ビ
ツト)、 b ブランチおよび(又は)マイクロ演算132
7(23ビツト)、 c 定数生成および指示1328(14ビツト)、 d バスへのデータ1329(ビツト)、 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フイールド、Cテスト結果、D
テスト結果およびLフイールドと共に使用され
て、次のマイクロ命令の次のアドレスを与え、前
記マイクロ命令は次のアドレスレジスタKS13
37に格納される。Eフイールドが2進数の4
(ブロツク1335参照)にセツトされる時、次
の選択されたアドレスが割込みリターンレジスタ
KA1339から取出される。KAレジスタに記
憶されたアドレスは、ハードウエアの割込みが生
じる時次のアドレス生成により生成されたもので
ある。Eフイールドが2進数の5にセツトされた
時は、ブランチ操作が用いられてマイクロプログ
ラサブルーチンからのサブリターンが設定され
る。ブランチ操作が用いられると、リターンレジ
スタKR1346の内容は次の制御記憶アドレス
として使用される。このリターンレジスタ134
6は制御記憶コマンドを出す事によりロードさ
れ、このコマンドは、インクリメンタ1338か
らKRレジスタ1346に対し、KSレジスタ13
37の現在の制御記憶アドレス+1をロードす
る。1レベルの入れ子形サブルーチン能力は、
KTリターンブランチレジスタ1347を介して
与えられる。KRレジスタ1346がロードされ
る都度、KRレジスタの元の内容は、KTレジス
タ1347に転送されマイクロプログラムリター
ンが呼出される度にKTレジスタの内容はKRレ
ジスタに転送される。第3のレベルの入れ子形サ
ブルーチン能力はKUレジスタ1348により与
えられ、第4レベル入れ子形サブルーチン能力は
KVリターンブランチレジスタ1349により与
えられる。制御記憶ワードのEフイールドが2進
数の6にセツトされた時は、次のアドレス指定さ
れた制御記憶ワードは、インクリメンタ1338
におけるKSレジスタ1337の現在のアドレス
+1に等しい。このEフイールドが2進数の7に
セツトされる時は、CSU1301は診断モード
に入り、次のアドレスは現在のアドレス+1とな
ろう。 前に記述されたブロツク1335に示した次の
制御記憶アドレスへのブランチ操作のシーケンス
制御に加え、第13b図のブロツク1336に示
されるハードウエアが生成するシーケンス制御が
ある。(注意:ブロツク1335と1336は実
際にハードウエアのレジスタで、マイクロ命令ワ
ードが有する形態とは異なる様に示されている)
このハードウエアが生成するブランチ操作はオー
バライド条件(エラー、初期設定、制御記憶走査
等)であり、この為Eフイールドを制御して固定
アドレスを制御記憶アドレスレジスタKS133
7に強制的に送らせる。このブランチ操作は1ク
ロツク期間丈割込み線(図示せず)をハイとして
Eフイールド制御下に生成された筈のアドレスを
KA割込みリターンレジスタ1339に記憶させ
る事により行われる。ハードウエア生成アドレス
は制御記憶アドレスレジスタに格納される。ある
ハードウエア/フアームウエア生成による割込み
操作は、そのクラスにおける別の割込みが割込み
条件が満される迄実行できない様に阻止する割込
み阻止用フリツプフロツプ(図示せず)より優先
順位を有する。フアームウエアマイクロ演算は、
フアームウエアの制御下にあるこられのシーケン
スに対し割込み阻止フリツプフロツプのリセツト
を制御する為に存在する。このハードウエア制御
下のシーケンスは、自動的にそのシーケンスの終
りで阻止用フリツプフロツプのリセツトを行う。
優先順にリストされた下記の条件はこのカテゴリ
ーに入る。即ち、(a)制御記憶ロード、(b)制御記憶
アドレス走査、(c)ハードウエアエラー、(d)ソフト
ウエアエラー。残るハードウエア条件は割込み防
止フリツプフロツプをセツトせず、生成された時
生じる様に直ちに作用させられる。以下の諸条件
は優先順に示されてこのカテゴリーに入る。 (a) 初期設定 (b) ソフトのクイア (c) 保全パネルのエントリ (d) 保全チヤンネルのエントリ (e) ハードウエアによる終了 初期設定信号は、2進数の0をアドレス指定
し、ハードウエアリセツト可能エラーをクリア
し、ハードウエア制御下の制御記憶走査シーケン
スが続く制御記憶ロード演算を実行する様ブラン
チをCSU1301に行わせる。又これはシステ
ムの初期設定を実施する。ソフトクリア信号は、
2進数の0をアドレス指定し、ハードウエアリセ
ツト可能エラーをクリアし、割込み防止フリツプ
フロツプをリセツトする様CSU1301をブラ
ンチさせる。保全パネルエントリ信号は、保全パ
ネル(図示せず)のCSUアドレススイツチにお
けるアドレスリセツトの為CSUをブランチさせ
る。 保全チヤンネルエントリ信号は、保全チヤンネ
ル(図示せず)を介して生成されたアドレスに
CSUをブランチさせる。このロードされたアド
レスは保全バスQMB1344からで、これは保
全チヤンネルの一部であり右寄せされている。ハ
ードウエアによる終了信号は、2進数アドレス2
にCSUをブランチさせる。このシーケンスは保
全手段として使用される。このシーケンスの終り
にはEフイールドを2進数の4にセツトしたEフ
イールドブランチを行う事によりリターンが初期
設定される。 制御記憶ロード信号は2進数0のアドレスに
CSUをブランチさせる。これも又CSUのレデイ
サイクルフリツプフロツプ(図示せず)とシステ
ムクロツク1320をOFFとし、CSUをロード
状態にする。このロード状態においては、CSU
は制御記憶ローダCSL1303,IOC1305、
主メモリー102、又は保守パネル1355から
ロードできる。CSLからロードされる時は自動的
な走査がロード操作の終期に生じる。ロード操作
が他のどんな手段による時も、走査はマイクロ演
算信号の生成によつても、保全パネルの走査スイ
ツチの設定によつても発生できる。制御記憶装置
走査信号はCSUを2進数の0のアドレスにブラ
ンチさせる。制御記憶装置走査はシーケンスの存
在中ハードウエア制御下にある。走査の間システ
ムクロツク1320はOFFとなり従つてコマン
ド即ちテストは実行されない。走査シーケンスの
終りにハードウエアは割込みリターンレジスタ
KAの内容をアドレスレジスタKSに転送し、シス
テムクロツクはONとなり、制御はフアームウエ
アにリターンされる。 ハードウエアエラー信号はCSUを2進数の4
のアドレスにブランチさせる。通常の処理モード
においては、どのCPUの機能ユニツトに検出さ
れたハードウエアエラーもハードウエアエラー回
線(図示せず)を動作させる。生成された制御記
憶装置のシーケンスはシステム条件をテストして
行うべき作用を決める。診断モードにおいては、
ハードウエア検出可能なエラー条件はマイクロ診
断操作から発見される。このマイクロ診断操作は
行うべき作用を制御する。一方、ソフトウエアエ
ラー信号は制御記憶装置を2進数の1のアドレス
にブランチさせる。このアドレスはマイクロプロ
グラムの制御下にあるソフトウエアエラー報告シ
ーケンスの開始である。 再び第13c図において、Eフイールド132
6は前述の如くブランチコード用の3ビツトのフ
イールドである。ブランチおよび(又は)マイク
ロ演算フイールド1327はA,B,C,Dおよ
びLフイールド(第13b図のブロツク1335
に示す)からなり、この場合Aフイールドは次の
アドレスの上位6ビツト、Bフイールドは64ブラ
ンチにおけるマスクフイールドの次のアドレスの
中間4ビツト、Cフイールドは64テストの1つに
対する6ビツトテストフイールド、Dフイールド
は64テストの1つに対する別の6ビツトテストフ
イールド、およびLフイールドは最下位ビツトで
ある。Kフイールド1328は14ビツトのフイー
ルドで、その内6ビツトは定数フイールド、4ビ
ツトは定数又は操作フイールド、および4ビツト
は定数に対する操作フイールドである。バスへの
データフイールド1329は、QMBバス134
4のQA部への情報を制御する為の4ビツトを有
するQAフイールドと、QMBバス1344のQB
部への情報を制御する4ビツトを有するQBフイ
ールドからなる。Fフイールド1330は32ビツ
トのフイールドで、マイクロ演算サブコマンドを
形成する様コード化される。Pフイールド133
1は検査用にリザーブされた4ビツトからなる。 作用において、マイクロ命令ワードは制御記憶
装置配列1333に記憶される。演算サイクルの
間、制御記憶装置配列はKSアドレスレジスタ1
337の内容によりアドレス指定される。これ
は、アドレス指定されるロケーシヨンの内容を読
出しラツチのグループ1357に読出させる。読
出しラツチのワード内容の各部はCPUの各機能
ユニツト内の記憶レジスタに分散即ち転送され
る。各機能ユニツトは、システムクロツクソース
の制御下の制御記憶装置ワードにより規定される
所定のサブコマンドを生成する為の復号論理回路
を含む。一般に、復号はその時間も最も短縮し復
号が中央部で行われる場合のコマンド信号も伝送
するのに必要なケーブル数を減少する為、中央部
で行うよりもCPUの各機能ユニツトで実施され
る。更に、復号はケーブル遅延の差から生じるタ
イミング問題を避ける為にも各ユニツト内で行わ
れる。更に、各ユニツトを用いてサブコマンドを
復号する事によりサブコマンド信号の生成に必要
な機能ユニツト内に存在するある条件を表わすこ
れらの信号をCIAユニツト1302にリターンす
る必要はない。典型的なデコーダユニツト135
9は、マイクロ命令ワードから各種のフイールド
を受取りマイクロ演算信号a,b,c,d……
q,rを生成する事が第13b図に示される。マ
イクロ命令デコーダ1359はマイクロ命令ワー
ドからコマンドを受取る。マイクロ命令ワードか
らのフイールドは復号され、複数の回線s,t,
u……y,zの1つをセツトする。マトリツクス
は、s−z回線とポイントα,β,γ……ψ,ω
で接続された予め定めた制御回線インピーダンス
を持たせる事により形成される。次に、マイクロ
命令からのフイールドが復号される時、回線s−
zの1つがハイとなる。ギリシヤ文字α……ωに
よりマトリツクスに示される濃い点は2組の回線
間を結ぶインピーダンスを表わす為、どの水平方
向回線に伝播する電気信号も接続されて、インピ
ーダンス接続(点)が示される垂直方向の線a−
rに沿つて伝わる。次に、各垂直方向線a−r
は、ANDゲート1360〜1365の各々への
1つの入力として接続される。中央部のタイミン
グユニツトからの調時信号tsを含む他の入力信号
も又ANDゲート1360〜1365に接続され
る。従つて、各調時信号tsがハイになると、他の
入力信号がハイとなる全てのゲートは駆動され、
マイクロ命令信号をCPUの予め定めた機能ユニ
ツトに与える。例えば、もし読出しラツチ135
7からコマンド1341が復号され、水平方向線
Sがハイであると、a,b,cおよびqの垂直方
向の制御線がハイとなり、ANDゲート136
0,1361,1362および1364は、ts調
時信号がこれらのゲートに順次与えられるにつれ
て駆動される。こうして、垂直方向の制御線がギ
リシヤ文字α乃至ωにより示された異なる点で水
平方向の制御線に接続される組合せは、マイクロ
命令信号を、制御記憶装置列1333から与えら
れるマイクロ命令により中央処理ユニツト内で各
機能ユニツトの制御の為に中央処理装置CPUに
供給する為の恒久的切換マトリツクスを表わす。
このように、切換特性を有する恒久的フアームウ
エアは、コンピユータシステムの能力として必要
なマイクロ演算のシーケンスを単に規定する事に
より本発明の計算機内で構成できる。 通常の条件下では、データは、局部レジスタ
yo1343としても知られるCPU書込みデータ
レジスタを介して制御記憶装置列1333に書込
まれる。制御フリツプフロツプ(図示せず)は、
記憶装置配列の上半部又は下半部のどちらが書込
まれるかを規定する。制御兼ロードユニツト
CLU1304からのデータは、保全バスQMB1
344を介してCIA/CSUに到達し、制御記憶装
置配列1333への書込み以前に記憶装置局部レ
ジスタyo1343によりバツフアされる。この
記憶装置局部レジスタ1343は、読出しと書込
み局部レジスタの両方に時分割される。マルチプ
レクサKQM1345は、保全パネル1355又
はマイクロ診断プログラムの何れかにより制御さ
れ、各レジスタから接続された読出し経路を提供
する。比較レジスタKP1350は非機能用途に
設けられ、保全目的の為に使用され又比較ロジツ
ク1352と復号ロジツク1351と共に用いら
れる。 H プロセス制御の為のデイスパツチヤフアーム
ウエア このデイスパツチヤはフアームウエア/ハード
ウエアユニツトで、その主な目的は、プロセスの
種々のキユーの管理、各プロセス間の切換えであ
り、プロセスのキユーと、プロセス制御ブロツク
PCBと、システムベース内の実行プロセスと、新
しいプロセスのレジスタの更新を含む。又、この
デイスパツチヤは、セマフオアにおいてプロセス
を実際に待機する(IOC又は例外ハンドラに対す
るV操作、シミユレートV操作の後)プロセスへ
メツセージを伝送する。又、これは、プロセスが
そのメツセージを伝送する為自由リンクセマフオ
アを待機する時、メツセージリンクを解放するP
操作の後セマフオアにメツセージをキユー化す
る。 このデイスパッチヤは更に、ネーテイブモード
におけるプロセス実行の「ロールイン」の後、又
はもし現在のプロセスがネーテイブモードで実行
中であれば「コンテスト」の後、ネーテイブモー
ドの命令フアームウエアに呼出しを行う。又これ
は以下の態様でデコール拡張フアームウエアで呼
出しを行う。即ち、 (a) 前記デコール拡張におけるプロセス実行のロ
ールアウトの間の一時的呼出し、 (b) 前記デコール拡張におけるプロセス実行のロ
ールインの間の一時的呼出し (c) 前記デコール拡張におけるプロセス実行のロ
ールインの終端における限定的呼出し、および (d) もし現在のプロセスが前記デコール拡張にお
いて実行状態を維持する場合はコンテストの後
の限定的呼出しである。 更に、デスパツチヤは、実行中のプロセスが存
在しない時当システムを休止ループに位置させ
る。 以下の如きデイスパツチヤに対する出入りの方
法がいくつかある。即ち、 (1) 初期設定手続(SIP)は、最終ステツプの如
きエントリを与える(本文に記名された譲受人
と同一人に譲渡された「システム初期設手続」
なる名称の昭和49年12月2日出願の米国特許出
願第528814号参照) (2) 起動および中断命令はデイスパツチヤへのエ
ントリを行う。起動命令はプロセスの起動、中
断命令はプロセスを停止させる。(「起動および
中断命令」なる名称の昭和49年12月2日出願の
米国特許出願第529253号参照) (3) PおよびV操作はデイスパツチヤへのエント
リを行う。P操作はセマフオアからのメツセー
ジを取上げ、メツセージがなければプロセスは
待機状態に入る。(「セマフオアにおけるPおよ
びV操作」なる名称の昭和48年2月15日特許の
米国特許第4374409号参照) 次に、簡単に説明すれば、このデイスパッチヤ
は、各プロセスを管理し、従つてどのプロセスが
実行されるかを決定し次いで現在実行中のプロセ
スをロールアウト(即ち、ハードウエアレジス
タ、スクラツチパツドメモリー等に含まれる現在
実行中のプロセスに関する全情報をPCBに書込
む)し、新しいプロセスをロールイン(即ち、新
しいプロセスを実行するのに必要な全情報を各種
のハードウエアレジスタ、スクラツチパツドメモ
リー等にPCBから書込む)する等の適当な操作を
行う事によりプロセス制御ブロツクPCBを管理す
る主要な機構である。 デイスパツチヤにより実施されるフアームウエ
アにおける(即ち、制御ユニツトにおける)演算
の表示はフローチヤート第14a〜14i図に示
される。例えば、第14a図のブロツク1402
はデイスパツチヤにより実施される演算の表示で
あり、この場合マイクロプログラムワードは制御
記憶ユニツトにより伝送され、デコーダ1359
による信号と同時に適当な一連のマイクロ演算信
号1360,1361等を介してCPUの適用部
分を制御して記憶サブシステム102のシステム
ベースからIPQWを検索し、かつこれをスクラツ
チパツドメモリー1315に転送する。同時に、
デイスパツチヤは、システムベースのG表ワード
GTWにより指示されたセグメントデイスクリプ
タのG表からGOセグメントデイスクリプタ(第
12図)を取出す(1404)。IPQWワードの
ビツト16〜31は16ビツトの正の整数を含み、
この整数はGOセグメントと呼ばれるGセグメン
ト番号0のベースからレデイ状態のプロセスキユ
ーQ/PR/RDYのヘツド(最初のバイト)への
変位である。もしIPQWワードのビツト16〜3
1が0である場合(1403)、レデイ状態キユ
ーは空であると考えられる。もしレデイ状態キユ
ーが空である場合は、Q/PR/RDYで現在待機
中のプロセスがなく、レデイ状態キユーは存在し
ない。判断ブロツク1405で判断されるべき次
の質問は、空表示インデイケータがセツトされて
いるかどうかを決定する事によりプロセスが現在
計算機内で実行されているかどうかについて決定
することである。もし空表示インデイケータがセ
ツトされていれば(即ち、現在実行中のプロセス
がない)、プロセサを使用する為待機中のレデイ
状態キユーにプロセスがない事は既に決定されて
いるから、計算機は休止状態に入る(140
6)。然しながら、もし現在実行中のプロセスが
計算機にある場合であつて、計算機の使用に対す
る待機中のプロセスが存在しなければ、現在のプ
ロセスはその次の命令をアクセスする(140
7)。 再び第14a図のフローチヤートの判断ブロツ
ク1403において、もしIPQWのポインタ領域
において正の整数がある場合は、GOセグメント
のIPQWワードにより指示されたレデイ状態キユ
ーのヘツドはスクラツチパツドメモリーに取出さ
れる。(注:反復を避け、明確にする為、制御ユ
ニツトとCPUと関連するデイスパツチヤの中間
的機能については省略する。然し、事例により既
に記述した如き中間的諸機能については典型例に
より示すものとする。)これ迄の処、本文ではレ
デイ状態のキユーで待機中のプロセスがあるもの
と決めていた。次の操作が始められる前に、中央
処理装置内で現在実行中のプロセスがあるかどう
かの決定が必要である。フローチヤートの判断ブ
ロツク1410においてこれが決定され、もし中
央処理装置に現在実行中のプロセスがない(即
ち、CJPがない)場合、レデイ状態のキユーのヘ
ツドが実行される(1412)。然し中央処理装
置でプロセスが実行中であると、デイスパツチヤ
は現在実行中のプロセスとレデイ状態のキユーの
ヘツドのいずれが優先順位を有するかを決定しな
ければならない。 従つて、システムベースPCB400の実行プロ
セスワードに配置される現行プロセス(CJP)の
優先バイトが取出される(1413)。次に現行
プロセスCJPが、レデイ状態キユーのヘツドで待
機中の新らしいプロセスNJPよりも低い優先順位
であるかどうかについて決定がなされる(判断ブ
ロツク1414参照)。もしCIPがNJPより低い
優先順位でない場合は、CIPは中央処理装置の制
御下の状態に維持され、コンテストインデイケー
タがリセツトされる(1415a)。(このコンテ
ストインデイケータは、CJPのために実行され従
つて競合の可能性が生じる最後の命令の開始後1
つ以上の新らしいプロセスがレデイ状態キユーに
置かれた時(この条件下では、コンテストインデ
イケータは2進数の1にセツトされる。)を除き
常に0にセツトされる。現行プロセスCJPが継続
させられるが、これ以上の命令を実行させられる
以前に、CJPがデコール拡張モードで実行されて
いるかどうか決定がなされる(1415)。もし
CJPがデコール拡張モードに実行されている場合
は、次の命令はエミユレーシヨンモード(即ち、
デコール拡張)で実行され(1419a)、もし
CJPがデコール拡張モードで実行されていない場
合は、次の命令はネーテイブモードで実行される
(1419b)。再び判断ブロツク1414におい
ても、もしレデイ状態のキユーのヘツドのNJPが
CJPよりも高い優先順位を有する(即ち、その優
先順位番号はCJPの優先順位番号よりも小さい)
場合は、現在実行中のプロセスCJPは計算機から
「ローアウト」され、新らしいプロセスNJPが計
算機に「ロールイン」される。従つて、フアーム
ウエア優先サブルーチンPRIQ1418は現行プ
ロセスCJPのキユー化操作をLIFO順位により、
およびフアームウエアサブルーチンRLLO141
9の指令下の最初の「ローアウト」CJPによる優
先順位番号によりレデイ状態のキユーに指向させ
る。このRLLOサブルーチンは、汎用レジスタ、
ベースレジスタ、科学データ用レジスタ、Tレジ
スタ、状態レジスタおよび命令カウンタに記憶さ
れるCJPの情報の書込みを、主メモリーにおける
プロセス制御ブロツクPCBの適当な記憶領域に返
戻させて、RUAの更新を生じさせる。更に、
PCB400におけるプロセス主ワード0
(PMWO)のDEXT番号が更新される。(142
0) ここで、新らしいプロセスNJPが「ロールイ
ン」される用意ができる。境界アドレスレジスタ
BARが取出され(1442)、実行プロセスワー
ドRPWがシステムベースのアドレスBAR+56
から取出される(ブロツク1423参照)。この
新しいプロセスNJPのネームは次に実行プロセス
ワードRPWへ書込まれ、新らしいプロセスNJP
のネームがQ/PR/RDYのプロセスリンクPL内
に書込まれている為、プロセスリンクPL内のネ
ームは従つてRPWブロツクに置かれる(142
4)。従つて、レデイ状態のキユーからのNJPは
この時CJPとなり、中央処理装置を制御する状態
になり、従つてもはやQ/PR/RDYに待機せ
ず、そのネームをQ/PR/RDYのプロセスリン
クPLから取去る事によりキユーから除かれねば
ならない(1425)。これが行われると、レデ
イ状態のプロセスQ/PR/RDYのキユーはフア
ームウエアサブルーチンUQLK、1425aによ
り更新される。従つて、計算機から取出された許
りのプロセスのJP番号は、もはや計算機の制御
下になく待機状態にならねばならない為、Q/
PR/RDYのプロセスリンクに置かれる(142
6)。この時点において、新らしいプロセスに対
し中央処理装置のこの制御を与える為の変形操作
およびレデイ状態のキユーに元のプロセスを位置
する操作が実施され、中央処理装置の制御下にプ
ロセス(新らしいCJP)がある為、空表示インデ
イケータは0にセツトされる(1427)。一方
もし中央処理装置の制御下のCJPがなければ、空
表示インデイケータは1にセツトされる事にな
る。この時点において、前記中央処理装置の割当
て操作が完了し、新らしいプロセスは中央処理装
置に入るが、元のプロセスはレデイ状態キユーに
置かれる。然し、新らしいプロセスは第13a図
の中央処理装置1306のハードウエア例えば汎
用レジスタ1307、ベースレジスタ1308、
科学データ用レジスタ1309、Tレジスタ13
10、状態レジスタ1311、および命令カウン
タ1312に対して末だ実行の用意ができておら
ず、これらは新らしいプロセスのプロセス制御ブ
ロツクからの制御情報を供給されなければならな
い。 従つて、フアームウエアのサブルーチン143
0はCPUを制御し、最初にPCB(第4図)から
スクラツチパツドメモリ1315に向けてPMW
3を取出し、次にPMW0を取出す。PMW0の
MBZフイールドは検査され(1433)、もしこ
れが2進数の0でなければ違法のPCB例外が起
る。然し、もしPMW0のMBZフイールドが零で
あればPMW1が取出される(1413)。再び
PMW1のMBZフイールドがテストされてこれが
2進数の0であるかどうかを決める。もし0でな
ければ違法PCB例外が起るが、もし0であればデ
イスパツチヤはCに進む。 従つて、アドレススペースワード0
(ASWO)はPCBの適当なスペースから取出さ
れ、セグメント表ワードの大きさSTWSZはテス
トされて7よりも小であるかどうかを決める。も
しこれが7より大きければ、違法PCB例外が起
り、もしこれが7より小か等しい場合はASW1
はPCBから取出され(ブロツク1438)、その
STWSZフイールドがテストされて8より小か等
しいかを決める(1439)。もしこのフイール
ドが8より大である場合、違法のPCB例外が起る
が、もしそのSTWSZフイールドが8と等しいか
これより小であれば例外ワードEXWは取出され
(1440)、そのMBZフイールドがテストされ
て0と等しいかどうかが決まる。もしそのMBZ
フイールドが0に等しくなければ、違法のPCN
例外が起るが、もし0に等しければスタツクワー
ドSKTが取出され(1442)、そのMBZフイー
ルドがテストされ(1143)0に等しいかどう
かが決まる。もしMBZフイールドが0に等しく
なければ違法のPCB例外が生じるが、もし0に等
しければ命令カウンターワードICWがPCBから
取出されて命令カウンタICに置かれ(144
4)、そのTAGフイールドがテストされて0に等
しいかどうかが決まる(1445)。もしTAGフ
イールドが0に等くなければ、違法のPCB例外が
生じる。然し、もしTAGフイールドが0に等し
ければ、MBZワードが取出され(1446)、そ
のMBZフイールド(ビツト0〜31)がテスト
されて0に等しくないかどうかを決める(144
7)。もしこれが0に等しくなければ違法のPCB
例外が生じるが、もし0に等しければ、スタツク
ベースワード0,1,2(SBW0,1,2)が
取出される(1448)。PCBのベースレジスタ
保管領域の8ベースレジスタの内容が次に取出さ
れ、機械のベースレジスタ1308に記憶される
(1449)。次に、PCBの汎用レジスタ保管領域
からの16汎用レジスタの内容が取出され機械の汎
用レジスタ1307に記憶される(1450)。
然しながら、科学データレジスタの内容の取出し
以前に、プロセス主ワード0(PMW0)の能力
バイトについて検査が行われて科学計算モードが
使用されるかどうかを決める(1451)。もし
科学計算モードが使用されている場合は、PCBの
科学計算レジスタ保管領域からの科学計算レジス
タの内容が取出されて記憶される(1452)。
次に、フアームウエアが進行してPMW0の能力
バイトの検査を行いアカウントモードが使用され
ているかどうかを決める(1453)。もしアカ
ウントモードが使用されている場合(即ち、能力
バイトのアカウントビツトが2進数の1にセツ
ト)、このアカウントワードはPCBに存在し、レ
デイ状態のタイムアカウントワードRTAが更新
される。次に、フアームウエアが進行してDEXT
番号が0にセツトされたかどうかを決める(14
54)。もしこれが0にセツトされていなけれ
ば、機械はエミユレーシヨンモードにある(即
ち、デコール拡張能力が使用されている)事を示
し、従つてPMW0のDEXT番号が検査され(1
455)プロセス主ワード3のDETSZフイール
ドより大きいか小さいかを決め、もしこれが
DETSZフイールドよりも大きい場合は違法の
PCB例外(1456)が生じる。その理由は、
DEXT番号はDETSZフイールドよりも小である
が零に等しくないからで、もしそうなら機械は適
法のエミユレーシヨンモードで実施されてF迄進
行する。再び判断ブロツク1454において、も
しDEXTフイールドが2進数の0である場合、ネ
ーテイブモードが実行されて機械はSTWを取出
す(1457)。PCBの残りのタイムアウトワー
ドRTOワードが取出され(1458)、CJPが実
行状態で消費できる時間制限によりプロセスタイ
マがロードされる。 この時点迄に、(a)機械内に元のプロセスCJPが
あり新らしいプロセスNJPが元のプロセスCJPよ
り高い優先順位にあつた時新らしいプロセスNJP
が「ロールイン」されてCPUの管理を行うか、
(b)CPUの制御にはCJPがなくレデイ状態のキユー
のヘツドが実行された。条件(a)においてはCJPは
RPWから取出されてQ/PR/RDYにおけるプロ
セスリンクPLに置かれ、Q/PR/RDYにおける
プロセスリンクPLのNJPはRPWに置かれ、こう
してこの時点でCJPとなるNJPに制御を与え、元
のCJPから制御を外すように2つのプロセスの位
置を有効に切換える。次いで、NJPのPCBがアク
セスされ、NJP(現在のCJP)の実行に必要な情
報がスクラツチパツドメモリ又はACUのレジス
タ配列に与えられる。 もしCPUの制御下にCJPがない場合レデイ状態
のキユーのヘツドが実行される、即ちレデイ状態
のキユーのヘツドからプロセスリンクPLからの
NJPを取出しこれをRPWワードに入れるデイス
パツチヤの故に、NJPはCJPとなる。こうする事
により、プロセスリンクPLはQ/PR/RDYの空
のまま残され、これを取出す事が必要となる。 従つて、判断ブロツク1461から始つて、フ
アームウエアは、CPUの制御下のCJPがあるかど
うかを決定し、もし自由なプロセスリンク
(FPLS)があつた場合、これはアクセスされ、
キユー状態にされて、このCJPはこのプロセスリ
ンクに書込まれる。然しながら、もしCPUの制
御下のCJPがなかつた場合、NJPのPMW0の状
態バイトは更新され(1460)、再び機械に
CJPがあつたかどうかの決定が行われる(146
3)。CPUの制御下のCJPがなかつた場合、NJP
のプロセスリンク(かつてQ/PR/RDYにあつ
て今は機械の制御下にある)がQ/PR/RDYか
ら取出され(1466)(即ち、Q/PR/RDYの
キユー状態から外される)、自由リンクのセマフ
オアFLSPとなり、この時自由プロセスリンクの
キユー(第9図の805)にキユー化されて自由
プロセスリンクのキユーの一部になる(1466
a)。境界アドレスレジスタBARの内容は取出さ
れ(1464)。システムベースのBAR+56に
配置されたNJP(現在のCJP)の実行プロセスワ
ードRPWが、RPWにNJP識別を置く事により更
新される(ブロツク1465)。空表示インデイ
ケータは、CJPがなかつた場合に0にセツトされ
る。次に、コンテストインデイケータが0にセツ
トされ(1467)、典型的な内容のアドレス指
定可能なメモリであるセグメント連想装置(第1
図のAS132)がクリアされ(1471)次い
でプロセスモードに入る(1470)。(プロセス
モードは、オペレーテイングシステムよりもむし
ろプロセサにおいて操作されるプロセスにより例
外が取扱われる事を示す。)次いでフアームウエ
アはCAB迄継続し(1480)、非同期トラツプ
ビツトABが検査されてこれが2進数の1にセツ
トされているかどうかを決定する(1481)。
もしABビツトが2進数の1にセツトされる場合
は、検査が行われて、プロセスリング番号PRN
が非同期トラツプビツトARNより大きいか又は
これと等しいかどうかを決定する。(ABおよび
ARNは各プロセスのPCBの優先順位バイトに配
置されて、プロセスが実行状態にある時有意義で
あり、ABおよびARNはシステムベースのBAR+
56に置かれたRPWから得られる。)RPWの
BAR+56におけるABとARNは、非同期トラツ
プビツト又は同期リング番号を最初にセツトさせ
る条件を作る非同期トラツプルーチンに対して次
のステツプ1484が進行する為リセツトされ
る。もしこれらがリセツトされなかつた場合は、
フアームウエアにより次のパス(pass)におい
て実際には何も誤りがないのに誤りがあつたと表
示を与えて、この為常に同期トラツプルーチン1
484に進み、決して実行に入らない事になる。
次に、判断ブロツク1481と1482にもど
り、もしABビツトがセツトされないか、又はAB
ビツトがセツトされPRNがARNより大きくない
場合は、フアームウエアは進行して処理装置がど
のモード即ち通常のモードかエミユレーシヨンモ
ードのどちらで実行するかを決定する。従つて、
DEXT番号が検査されこれが0にセツトされてい
るかどうかを決定し、もしそれが0にセツトされ
ている場合は機械の通常モードが実行される(1
487)。しかしもしDEXT番号が0にセツトさ
れない場合は、エミユレーシヨンモードが実行さ
れる(1486)。 本発明の説明 ハードウエア/フアームウエアシステムは、セ
ツト演算において操作される2つの基本的な記録
のタイプを認識するものである。これらの2つの
タイプの記録は、第15A図に示した仮想記憶装
置の記録と、第15B図に示したデータベース記
録とである。仮想記憶装置の記録は一般に記録が
セグメント化されたアドレスによりアドレス指定
できる様なオペレーテイングシステム手続の内容
的に使用される。データベース記録は更に「領域
一頁一行」番号を用いてそのデータをアドレス指
定するユーザプログラムにより使用される。この
領域とはユーザのフアイルを指し、頁とはそのユ
ーザのデータフアイル内のデイビジヨンを指し、
行番号とは前記フアイルの前記ページ内の特定の
記録を指す。 第15A図に示す如く、仮想記憶装置の記録は
以下のフイールドからなつている。即ち、タイプ
フイールド1501は、記録タイプの記述であり
この記録の記録デイスクリプタ(以下に記述す
る)から得られる。仮想記憶装置の記録のD切換
フイールドは記録の状態を記述する。この記録は
以下の状態にあり得る。即ち、活動(これは記録
が現在有効なデータを含む事を意味する。)およ
び論理的削除(これは記録がもはや有効なデータ
を含まぬが、未だメモリースペースを占有してい
る事を意味する。)である。長さフイールド15
03は記録における実際のバイト数を記述する。
記録体1504は記録の実データを含む。ポイン
タシーケンスフイールド1505はこの記録体の
一部で、この記録がオーナー又はメンバーの何れ
かであるセツトの次の、前の、最初の、最後のお
よびオーナーの記録に対するポインタを含む。 ハードウエア/フアームウエアにより認識され
る記録の第2の主なタイプは第15B図に記述さ
れる如きデータベース記録である。タイプフイー
ルド1510は再び記録のタイプを記述し、以下
に記述される記録の記録デイスクリプタから得ら
れる。長さフイールド1511はバイト中の記録
の長さを記述する。記録体1512は記録の実デ
ータを含む。ポインタシーケンス1513はこの
セツトの次の、前の……等の記録に対するポイン
タを含む。又、別個に記録され以下に記述される
各記録に対するDスイツチフイールド1604も
ある。 更に、第15Cおよび15D図は1つの記録の
ポインタシーケンスのフオーマツトについて記述
する(第15A図のフイールド1505と第15
B図のフイールド1513)。ハードウエア/フ
アームウエアシステムは、2つの異なるポインタ
ーシーケンスフオーマツト、即ちメンバー記録に
対し認識されるシーケンスである第15C図のフ
オーマツトと、記録がオーナー記録となる時に認
識されるシーケンスである第15D図のフオーマ
ツトを認識する。メンバー記録(第15C図)に
対しては、次のポインタフイールド1520は前
記セツトにおいて次のメンバーのアドレスを含
む。前のポインタ1521は現在のセツトの先行
メンバーのアドレスを含む。オーナーポインタフ
イールド1524は前記セツトのオーナーのアド
レスを含む。オーナー記録に対しては、ハードウ
エア/フアームウエアにより認識されるポインタ
ーシーケンスフオーマツトは第15D図に示され
る。最初のポインターフイールド1532は前記
セツトの最初のメンバー記録のアドレスを含む。
最後のポインターフイールド1533は前記セツ
トの最後のメンバーのアドレスを含む。 記述された各ポインタ(次の、前の、オーナー
の、最初のおよび最後の)は任意である。然しな
がら、与えられたセツトに対しては以下の組合せ
のみが適法である。即ち、 ケース1 オーナー又はメンバー記録に対しては
最初の、最後の、次の、又は前のポインターは
ない。(メンバー記録はオーナーポインタを有
する) ケース2 オーナー記録は最初のポインタを有
し、メンバー記録は次のポインタを有する(メ
ンバー記録はオーナーポインタを持つても持た
なくても良い)。 ケース3 オーナー記録は最初と最後のポインタ
を有し、メンバー記録は次のポインタを有する
(メンバー記録はオーナー記録を持つても持た
なくても良い)。 ケース4 オーナー記録は最初と最後のポインタ
を有し、メンバー記録は次のおよび前のポイン
タを有する(メンバー記録はオーナーポインタ
を持つても持たなくても良い)。 ハードウエア/フアームウエアシステムの他の
特性は4つの異なるクラス、又はポインタのフオ
ーマツトの認識である。記録内ではこれらのクラ
スは、仮想メモリー記録のみに対して使用され
る。クラス零と、仮態メモリー記録のみに対して
使用されるクラス1と、データベース記録のみに
対して使用されるクラス2と、データベース記録
に対して使用されるクラス3等として参照され
る。 全ての4ポインタークラスで、それらの最初の
2ビツトは共通の意味を有する。最初のビツト、
即ちEOSビツトはセツトの終りインデイケータ
である。このビツトが1にセツトされる時、ポイ
ンタは定義によりオーナー記録を指示する。第2
のビツト、即ちNINSビツトは非挿入記録インデ
イケータである。このビツトが1にセツトされた
時、記録は現在参照されるセツトのメンバーとし
て挿入されていない。 クラス零ポインターフオーマツトは第15E図
に示される。EOSビツト1540と非挿入ビツ
ト1541は最初の2ビツト位置を占めている。
SRAフイールド1542は14ビツトオフセツト
で、これは前記セグメントに配置された記録を指
示する与えられたセグメント内での変位である。
クラス零のポインタから得られたSRAフイール
ドはクラス零ポインタを介して記録のアドレス指
定に使用されるベースレジスタから一般に得られ
るセグメント番号と常に組合わされる。 クラス1ポインタは第15F図に示される。
EOSビツト1550および非挿入ビツト155
1は標準的定義である。フイールドSEG,SRA
1552は前に定義された如くSEGとSRAによ
る標準的なセグメント化されたアドレスからな
る。これらのポインタは、ポインタを介してセグ
メント番号を直接供給して記録を直接アドレス指
定するのに使用される。 データベース記録と共に使用されるクラス2と
クラス3のポインタに対し、フアームウエア/ハ
ードウエアシステムは、既に述べたが如く(第2
図202参照)システムの各ベースレジスタと関
連するインデツクスレジスタがあると言う約束を
認識する。汎用レジスタ8−15(201)はそ
れぞれインデツクスレジスタ0〜7に対応する。
このインデツクスレジスタ番号IXR1はベースレ
ジスタBR1とマツチさせられる。例えば、ベース
レジスタBR3に対しては、インデツクスレジスタ
IXR3(GR11)が領域一貫一行番号ポインタ(第1
5H図参照)を含む事になり、その現在の
SEG,SRAアドレスはベースレジスタBR3に含ま
れる。この様に、ユーザは、SEG,SRAアドレ
スを有するベースレジスタか又はインデツクスレ
ジスタに含まれる領域一貫一行フオーマツトのデ
ータベースポインタの何れかを介して彼の記録を
アドレス指定する事ができる。 データベース記録について演算するハードウエ
ア/フアームウエア命令は、領域一貫一行ポイン
タからSEG,SRAアドレスに自動的に変換する
能力を実現する。この為、データベース命令によ
り作られる全ての実メモリー参照は標準的ハード
ウエア機構を使用し、この機構は、必要に応じて
ハードウエアにより自動的に行われるインデツク
スレジスタに含まれる如き領域一貫一行からの変
換によりセグメントおよびSRA番号でメモリー
をアドレス指定する。 ユーザフアイル(領域)における1つのページ
と、ハードウエア/フアームウエアにより認識さ
れる1つのセグメントの間には一時的な1対1の
対応付けが行われる。この様に、以下に記述され
るページデイクリプタ機構を介して、ハードウエ
ア/フアームウエアはどの与えられたページ番号
もセグメント番号に変換する。 クラス2ポインタフオーマツトは第15G図に
示される。EOSと非挿入ビツトはフイールド1
560と1561に示される。ページ番号はフイ
ールド1562に含まれる。行番号はフイールド
1563に示され、1ページおよび領域における
記録の番号を表わす。領域一貫一行番号ポインタ
全体は、データベース命令により参照される筈の
インデツクスレジスタから得られる領域番号を得
る事によりクラス2記録を使用する時に得られ
る。 クラス3ポインタフオーマツトは第15H図に
示される。EOSと非挿入ビツトはフイールド1
570と1571に示される。領域番号はフイー
ルド1572に示される。これはユーザフアイル
番号を参照する。ページ番号1573と行番号1
574はユーザフアイルにおいて特定の記録をア
ドレス指定する。 第16A図はデータベースページを示し、これ
はハードウエア/フアームウエアシステムにより
認識される如きユーザフアイル(領域)の一部で
ある。データベースページは既に第15B図に記
述された如きデータベース記録を含む。既に述べ
た如く、データベースページが主メモリーに存在
する時、データベースページとセグメント間に1
対1の対応付けが行われる。 ページヘツダ1601は、これが含まれるペー
ジに関するある事情を含む。例えば、このページ
ヘツダはバイトで表わしたページの長さと、又ペ
ージに含まれる記録(行)の数を記述する。又、
これは書込みビツトの如き情報も含み、この書込
みビツトは主メモリーに前記ページが含まれてい
る時これへの書込みと同時にセツトされる。ペー
ジヘツダに続いて、データベースページの次の主
な部分は行オフセツト配列1602である。これ
は16ビツトの要素配列で、1対1の割合でページ
に対する有効行数に対応する。行オフセツト配列
の各要素に対しては、2ビツトのDスイツチ16
04と14ビツトのオフセツト1603がある。D
スイツチは記録の不動作、論理的削除、物理的削
除、又は動作の状態を記述する。オフセツトは、
ページの開始位置からの相対的変位である記録に
対する14ビツトポインタである。ハードウエアは
このページに対応するセグメント番号と連結され
たオフセツトを用いる事によつてこのページにお
いてデータベース記録のアドレス指定が可能であ
る事がわかる。対応するセグメント番号を得る方
法については以下に記述する。データベースの残
りの部分は、記録1610と1612に示される
如き実データベース記録からなる。これらの記録
は、ページ(セグメント)のどの部分にも配置で
き、必ずしも行オフセツト配列のそれらの位置と
同じ順序になるわけではない。もしDスイツチが
不動作又は物理的に削除された記録状態を記述す
る場合は、オフセツトは零にセツトされ、記録は
存在しない。 実データベースページは第16B図に示される
如きページデイスクリプタによりアドレス指定さ
れる。このページデイスクリプタのセグメント番
号1625は、それが主メモリーにロードされた
後このページに対応するセグメント番号を含む。
領域番号1622はこのページの領域番号(フア
イル)を含んでいる。ページ番号1624は実ペ
ージ番号である。最後ページインデイケータ16
26は与えられた領域の最も大きなページ番号に
対して1に等しい。シフトカウンタ1623はペ
ージ番号のビツト数を含む。ハードウエア/フア
ームウエアシステムは、領域一貫一行ポインタフ
オーマツトを使用する時、可変長のページ番号を
認識する。「次の」デイスクリプタ1620は、
一連のページデイスクリプタにおける次のページ
デイスクリプタの指示に使用される。「前の」デ
イスクリプタ1621はページデイスクリプタチ
エーンにおける前のデイスクリプタを指示する。
これらのページデイスクリプタチエーンの使用に
ついては以下に記述される。 このページデイスクリプタチエーンは、どのフ
アイルのページが現在コンピユータシステムの主
メモリーに配置されているかを示すのに使用され
るハードウエア/フアームウエアである。メモリ
ーに存在する各ページに対しては、ページデイス
クリプタは単一のシステムを認識したチエーンに
配置され、このチエーンは第16C図に示す統合
アクセス制御(IAC)ポインタにより指示され
る。この統合アクセス制御ポインタは前述のシス
テムベースに対する1ワード拡張を表わす。IAC
ポインタはアドレスBAR+92に配置され、この
アドレスは前記システムベースの端部を1ワード
過ぎた所である。IACポインタのフオーマツト
は、零でなければならないフイールド1630、
G番号1631、および変位1632を含んでい
る。このG番号は前述の如きGセグメントの番号
である。この変位とは、ページデイスクリプタの
開始部が開始する前記Gセグメント内での変位で
ある。主メモリーに含まれるページの全てのペー
ジデイスクリプタは、次に従来のチエーンフオー
マツトにおいて一緒にリンクされる。次のデイス
クリプタフイールドと前のデイスクリプタフイー
ルドはこのリンクを形成する。 第17図は、主メモリーにおいてページデータ
ベースページの位置決めを実現する為のハードウ
エア/フアームウエアのフローチヤートを示す。
このフアームウエアは、領域一頁一行番号ポイン
タの取得に用いられ、最初にページが主メモリー
にあるかどうかを決めるのに用いられ、次にもし
これが主メモリーに存在する事が見出される場合
にはそのページのページデイスクリプタをデリバ
ーするのに用いられる。このフアームウエアは1
701に示された如くに起動する。 最初のフアームウエア動作は1702に示され
る如くに起るが、この場合主メモリー取出しIAC
ポインタはBAR+92のロケーシヨンに形成され
る。(IACポインタは第6図に示すシステムベー
スに合体されている)。このメモリー取出しの結
果として、メモリーアクセス例外1703が生じ
得る。メモリーアクセス例外の例は、物理メモリ
ー又はメモリー読出しエラーにはない。フアーム
ウエアにより起される次のステツプは、MBZフ
イールドが零である事を検査される1704に示
される。(第16C図参照)もしこのフイールド
が零でない事が見出されれば、システム検査17
05が起る。システム検査の発生と同時に、この
システムは診断状態に入る。 MBZフイールドが零であれば、ステツプ17
06が次に実行される。IACフイールドからのG
番号は一時的なレジスタGに転送される。変位フ
イールドは一時的なレジスタDにも転送される。
この変位は又「最初のクラス」と呼ばれるロケー
シヨンのスクラツチパツドメモリーにも転送され
る。ステツプ1707が次に実行される。主メモ
リーの取出しはアドレスG,Dで行われてページ
デイスクリプタを取出す(第16B図参照)。こ
の取出しは、前述の如くG,Dアドレス指定の約
束に応じて行われる。G,Dアクセス例外170
8はこのメモリー取出し(例、セグメント、違法
G−Dセグメントデイスクリプタから)の結果生
じ得る。次いでステツプ1709がフアームウエ
アにより実行される。フアームウエアサブルーチ
ンにより検査される領域一貫一行番号の領域番号
とページ番号は、マツチングの為ページデイスク
リプタの領域番号フイールド1622とページ番
号フイールド1624に対し比較される。もしこ
の領域とページ番号がマツチする場合は、ステツ
プ1720が実行され、この場合フアームウエア
ルーチンは、主メモリーから取出された許りのペ
ージデイスクリプタをスクラツチパツドメモリー
にロードして終了する。 もし現在のページデイスクリプタの領域又はペ
ージ番号が検査される領域一頁一行ポインタの領
域およびページ番号に等しくなければ、ステツプ
1711が実行される。ページの現時ページデイ
スクリプタの「次の」デイスクリプタフイールド
1620が一時的スクラツチパツドロケーシヨン
「最初のポインタ」の内容に対して検査される。
もしこれらの2つの数値が等しくなければ、ステ
ツプ1713が実行され、この場合一時レジスタ
Dは現時ページデイスクリプタの「次の」デイス
クリプターフイールドによりロードされる。ステ
ツプ1713に続いて、フアームウエアによるブ
ランチは、新らしいページデイスクリプタ(「次
の」デイスクリプタによりアドレス指定された)
がこの時取出されて続いて検査されるステツプ1
707について行われる。 再びステツプ1711において、もし「次の」
デイスクリプタが「最初のポインタ」の一時的に
書込まれたロケーシヨンの内容と等しい場合、こ
れは、メモリーにおいて存在する全ページを記述
するページデイスクリプタの全リングがこの時フ
アームウエアにより探索されている領域一頁を見
出す事なく終つた事を示す。この場合、ページン
グ例外が生じ(1712)、所望のページは主メ
モリーに位置しない事を示す。この実行に続いて
適当なソフトウエア動作が行われて、この所望の
ページの主メモリーへの実際の移動を惹起する。 本文に記述されたハードウエア/フアームウエ
アの更に2つの重要な要素が第18Aと18B図
に示される。セツトデイスクリプタ(第18A
図)は与えられたセツトの特性の記述に用いられ
る。第18A図に示される如く、Pフイールド1
802は、このセツトにおける記録ポインタのポ
インタクラス(モード)を記述する2ビツトのフ
イールドである。オーナーとメンバーの相方の全
ての記録は与えられたセツトに対して同じポイン
タクラスのポインタを有する。セツトデイスクリ
プタ1803のオーナーポインタフイールドは、
もしメンバー記録がオーナー記録に対するオーナ
ーポインタを含む場合は、1にセツトされる(第
15C図参照)。他のポインターフイールド18
04は、オーナーおよびメンバーが最初のポイン
タ、最後のポインタ、次のポインタ、および前の
ポインタを有すをかどうかを記述する。セツト編
成モードフイールドK1805は、現在のセツト
に対して使用されるセツト編成のモードを記述す
る。リングセツトのモードについてのみ本文で詳
述される。しかしながら、表配列又はリスト配列
の如きセツト編成の他のモードへの拡張の能力を
有する。デイスプレイスメントフイールド180
6はメモリにおける記録の開始からその記録のポ
インターシーケンスの開始までのオフセツトを示
すために使用される。(第15Aおよび15B図
参照)。第18A図に記述された如きセツトデイ
スクリプタは常に、ハードウエア/フアームウエ
アに参照セツトの記述を供給する為あるセツトに
ついて演算を行う時、データベース命令によりア
クセスされる。 第18B図に示す如き記録デイスクリプタは、
記録のある特性の記述の為に使用される。Fフイ
ールド1820は記録フオーマツトの記述に使用
される。記録のフオーマツトは、第15Aおよび
15B図に記述される如く仮想メモリー記録とデ
ータベース記録の何れかである。記録タイプフイ
ールド1821は記録のタイプを示し、最後には
第15Aおよび15B図に示される如きメモリー
の実記録のタイプフイールドにロードされる。記
録長さフイールド1822は、記録の主メモリー
における実際の長さであり、第15Aおよび15
B図に示す如く主メモリー記録にロードされる。 実データベース命令は第19A乃至19F図に
示す如き6つのフオーマツトの1つである。 第19A図に示すGROPフオーマツトは、演算
コード1910、零でなくてはならないフイール
ド1911、ベースレジスタ番号1912、およ
び補数コード1912を含んでいる。ベースレジ
スタは記録のセグメント化されたアドレスを含ん
でいる。補数コードは演算コードにより記述され
る特定の命令のそれ以上の弁別の為に使用され
る。 第19B図に示されたXIフオーマツトは、演
算コード1920、更に演算コードを弁別する為
に使用される補数コード1921、アドレスシラ
ブル1922、零でなくてはならないフイールド
1923、論理的削除フイールド1924、ポイ
ンターモードフイールド1925、およびBRフ
イールド1926を含んでいる。ベースレジスタ
は記録のセグメント化されたアドレスを含む。ア
ドレスシラブル1922は、そのある使用方とし
て、扱われるべきセツトのセツトデイスクリプタ
(第18A図)を指示する。アドレスシラブル
は、前述のようなアドレス生成の規則によりセグ
メント化されたアドレスに展開される。 第19C図に示すDXDXフオーマツトは、演算
コード1930、命令を更に弁別するのに使われ
る補数コード1931、1つのアドレスシラブル
AS1 1932、零でなければならないMBZ1フ
イールド1933、ベースレジスタ1934、第
2の零でなければならないMBZ2フイールド、お
よび第2のアドレスシラブルAS2 1936から
なる。ベースレジスタは再び記録のセグメント化
されたアドレスを含む。第1のアドレスシラブル
AS1 1932はセツトデイスクリプタを指示す
る。第2のアドレスシラブルAS2 1936は2
進法の整数のアドレス指定に使われる。 第19D図に示されるBRXフオーマツトは、
演算コード1940、命令を更に弁別する為に使
われるタイプフイールド1941、ベースレジス
タフイールド1942、およびアドレスシラブル
1943を含んでいる。ベースレジスタは記録の
セグメント化されたアドレスを含んでいる。アド
レスシラブルはセツトデイスクリプタのアドレス
指定に使われる。 第19E図に示すDXGRフオーマツトは、演算
コード1950、命令を更に弁別する為に使われ
るタイプフイールド1951、第1のベースレジ
スタ番号BR1 1952、アドレスシラブル19
53、零でなければならないMBZ1フイールド1
954、第2のベースレジスタ番号BR2 195
5、前−後−最初−最後フイールド1956、お
よび第2の零でなければならないMBZ2フイール
ド1957を含んでいる。2つのベースレジスタ
はメモリーに配置された2つの異なる記録のアド
レス指定に使われる。アドレスシラブルはセツト
デイスクリプタのアドレス指定に使われる。前−
後−最初−最後フイールドはセツト内の記録の所
望の設定を記述する。 第19F図に示すOPDDフオーマツトは、演算
コード1960、特定のデータベース演算の記述
に使われるプリミテイブフイールド1961、命
令を更に弁別する為に使われるタイプフイールド
1962、ポインターフイールドの記述に使われ
るPフイールド1963、およびオーナーとメン
バー記録の他のポインタを記述する最初−最後−
次−前ポインターフイールド1965、ポインタ
ーシーケンスの開始に対するオフセツトを記述す
る変位フイールド1966、およびベースレジス
タの番号を含むBRフイールド1967を含んで
いる。ベースレジスタは主メモリーの記録のセグ
メント化されたアドレスを含んでいる。 直接データベース発見命令はフアームウエア/
ハードウエア命令で、これはデータベースポイン
タを相等するセグメント化アドレスに変換し、次
にこのセグメント化アドレスをベースレジスタに
ロードする。クラス2又はクラス3のタイプポイ
ンタによるセツトの一部である記録に対しては、
生成されたポインタは又インデツクスレジスタに
もロードされる。直接発見命令は第19B図に示
すXIフオーマツトである。 直接発見命令に対するフアームウエアフローチ
ヤートは第20A乃至20E図に示される。この
フアームウエアは、命令中のMBZフイールドが
零であるか検査されるステツプ2002(第19
B図参照)で始まる。もしこのフイールドが零で
なければ、違法のフオーマツト例外が生じる(2
003)。さもなければ、ステツプ2004で、
記録フオーマツトを決める為にPフイールド19
25(ポインタクラス)の検査が実行される。ク
ラス0又はクラス1ポインター(仮想メモリー記
録)に対しては、ステツプ2050(第20D
図)へのブランチが行われる。 クラス2又はクラス3ポインタ(データベース
記記録)に対しては、ステツプ2005が実行さ
れる。このステツプにおいては、アドレスシラブ
ルにより指示されるロケーシヨンにおける4バイ
トのポインタの取出し動作が行われる。この取出
し動作の結果、メモリーアクセス例外2006が
生じ得る。さもなければ、ポインタは「X」と呼
ばれる一時スクラツチパツドロケーシヨンに記憶
される。この取出されたポインタは、領域一頁一
行(第15H図参照)の形態になつている。実行
される次のステツプは2007に示されるが、こ
こでポインタの領域一頁一行番号はページがメモ
リー中に存在するかどうかを見る為に検査され
る。この検査は、第17図に示したページ位置決
めサブーチンのフアームウエアにより行われる。
もしページがメモリー中に存在しない場合は、ペ
ージング例外2008が生じる。 さもなければ、ステツプ2009が実行され、
この場合スクラツチパツドロケーシヨン「X」に
おけるポインタからの行番号は、算術論理ユニツ
ト1317に配置された一時的16ベースレジスタ
Wに転送される(第13A図参照)。このポイン
タの行番号に見出されたビツトの実数は、ページ
デイスクリプタのシフト(桁送り)カウント16
23により決定される。第17図に示す如くペー
ジデイスクリプタは、ページ配置フアームウエア
サブルーチンの一部として主メモリーから取出さ
れる(ページデイスクリプタの記述については第
16B図を参照)。実行される次のステツプは2
010に示され、この場合ページにおける行の総
数はページヘツダから取出される(第16A図の
フイールド1601参照)。 ステツプ2011においては、行番号Wを検査
して、これがページにおける行の最大番号より小
か又はこれと等しい事を確認する。もしこれが当
らなければ、無効ページフオーマツト例外201
2が生じる。さもなければ、ブランチが第20B
図の2020に行われる。実行される次のステツ
プは2021で、この場合ページの行オフセツト
配列の(W+1)番目の要素が取出される。この
取出し操作は、16×Wにより与えられるビツト数
によりインデツクスされた行配列の開始のアドレ
ス指定により行われる。メモリーアクセス例外2
022はこのメモリー取出し操作の結果生じ得
る。 実行される次のステツプは2023で、この場
合行オフセツト配列(第16A図参照)は、行番
号Wにより記述される記録が割当てられていない
(不動作)かどうかを見る為検査される。もしこ
の行が不動作状態にある場合は、不使用行例外2
024が生じる。さもなければ、行Wにより記述
される記録が物理的に削除された状態にあるかど
うかを見る為に検査が行われる。もしこれが当つ
ているならば、削除行例外2026が生じる。さ
もなければ、2027の検査が行われて、行Wに
より記述された記録が論理的に削除された状態に
あるかを調べる。もしこれが当らなければ、ブラ
ンチが2033に行われ、さもなければ、命令に
おける論理削除ビツト1924が零に等しいかど
うかを調べる為検査(2028)が行われる(第
19B図参照)。もしこのビツトが零にセツトさ
れている場合は、削除行例外2029が生じる。
さもなければ、状態レジスタ(第2図、フイール
ド207)の条件コードが1にセツトされ、ブラ
ンチが2040に行われる。 命令における論理的削除ビツトの目的は、記録
がもはやメモリーにおいては不動作であるが依然
として主メモリースペースを物理的に占有する場
合を検出する事をプログラマーに許容する事であ
る。「ごみ集め」(ガーベージコレクシヨン)」ル
ーチンは、不動作記録を除去する際メモリー中の
動作記録を圧縮して、これら記録の除去を非常に
効率的に行う。この様に直接発見命令は「ごみ集
め(ガーベージコレクシヨン)」ルーチンに命令
中の論理的削除ビツトの「1」セツチイングの使
用、並びに条件コードの検査により、論理的に削
除された記録の検出の機能を与える。 ステツプ2033において、動作的記録に対す
る手続は続行する。状態レジスタ条件コードは零
にセツトされ、ブランチが2040に行われる。
このステツプにおいて、行Wのセグメント化され
たアドレスが、ページデイスクリプタからセグメ
ント番号1625を取り、これをステツプ202
1の行オフセツト配列要素から得たオフセツト1
603と連結される事により生成される。このセ
グメント化されたアドレスは、算術論理ユニツト
1317に配置された一時的な32ビツトのレジス
タYにロードされる。ステツプ2042において
は、この一時的レジスタYは、命令フオーマツト
からのベースレジスタBR1926により記述さ
れたベースレジスタに転送される。このベースレ
ジスタは、アドレス制御ユニツト1319に配置
される。ステツプ2043においては、ステツプ
2005において取上げられたポインタが、命令
フオーマツトから得られた番号BRのインデツク
スレジスタにロードされる。この様に、インデツ
クスレジスタ(IXR)とベースレジスタ(BR)
は、それぞれ領域一頁一行ポインタとセグメント
化アドレスを含み、ステツプ2040はこの命令
を完了する様に実行される。 ポインタ「X」により指示される記録に関し
て、命令フオーマツトにおけるPフイールド19
25により仮想メモリータイプの記録が指示され
る場合には、第20D図の2050へのブランチ
が行われる。この場合4バイトのポインタが、こ
の命令フオーマツトのアドレスシラブルにより与
えられるアドレスにおいて取出される。このポイ
ンタはセグメント化されたアドレス(第15F図
参照)の形態で、スクラツチパツドメモリーロケ
ーシヨン「X」にロードされる。このメモリー取
出しの結果、メモリーアクセス例外2052が生
じ得る。 ステツプ2053においては、ロケーシヨンに
記録されたポインタ「X」により指示された記録
のDスイツチ1502が取出される(第15A図
参照)。このメモリー取出しの結果、メモリーア
クセス例外が生じ得る。ステツプ2053におい
て、記録の論理的に削除された状態に対する検査
がされる。もしこの状態がなければ、ブランチが
2060に行われる。もしこの状態が有れば、命
令中の論理的に削除されたビツトについて検査が
2054において行われる。もしこのビツトが零
にセツトされていれば、削除記録例外2055が
生じる。さもなければ、ステツプ2056が実行
され、この場合状態レジスタの条件コードは1に
セツトされ、ブランチは2070に行われる。も
し記録が2053の論理的削除検査ステツプでノ
ーならば、活動状態になければならず、ブランチ
が2060に行われる。第20E図参照。 ステツプ2060はステツプ2061に進む。
ステツプ2061において、状態レジスタの条件
コードは零にセツトされる。次いでブランチが2
070に行われる。ステツプ2070はステツプ
2071に進み、スクラツチパツドロケーシヨン
Xに記憶されたポインタは、命令のフイールド
BR1926により指示されたベースレジスタに
ロードされる。(第19b図)次いで命令が完了
する。 本発明についてはその1実施態様を示し記述し
たが、当業者にとつて明らかな様に多くの変更改
変が本発明の実施において可能であり、かつ本発
明の主旨範囲内にある。このように、多くのステ
ツプは、同一の結果をもたらしかつ本発明の主旨
の範囲内にある他のステツプにより変更置換され
得るのである。従つて、本発明は頭書の特許請求
範囲により明示される範囲にのみ限定されるべき
ものである。 用語の定義 「絶対アドレス」 主メモリー装置におけるハードウエアバイトの
物理的アドレス 「アドレス生成」 主メモリー装置におけるロケーシヨンを参照す
る為に使用される絶対アドレスを計算する為多数
のアドレス要素について動作するハードウエア機
能 「アドレス指定」 多数の仮想的、論理的および物理的手段の何れ
かにより対象を見出す事 「アドレススペース」 CPUがあるプロセスの実行の間絶対アドレス
に変換する事が許される前記プロセスに対応する
論理的なセグメント化されたアドレスのセツト 「アドレススペースワード」 セグメント表ワード配列を指示するプロセス制
御ブロツクにおける1つ又は2つのワード。この
セグメント表ワード配列はプワセスと関連するセ
グメント表を規定する。 「アドレスシラブル」 CPUハードウエアにより認識される論理的ア
ドレスで、通常はある命令のオペランド 「アナライザ/トランスレータ」 最初に制御用言語の流れをリンカーに通過させ
次にもし制御用言語にエラーがない場合、アナラ
イザ/トランスレータはこれを使用する静止リン
カーの為に表および他の構造に変換する。 「非同期処理」 1つ以上のプロセスの同時的動作化 「補助メモリー」 システムの各種の状態を記憶させる為の64のフ
リツプフロツプからなり、ALUに配置される 「ベースレジスタ」 各アドレスシラブルにおける値により参照され
るセグメントのアドレス指定における1次的要素 「境界アドレスレジスタ」 フアームウエア/ソフトウエアをアクセス可能
な最下方のメモリーアドレスを定義する直読可能
なハードウエアレジスタ 「呼出し」 「インワード呼出し」「アウトワード呼出し」
等の、手続き呼出し項参照 「中央処理装置(CPU)」 命令の割込みおよび実行を制御する回路を含む
コンピユータの一部 「チヤンネル」 プロセスのサブシステムと周辺装置のサブシス
テム間を通信する手段で、物理的および論理的な
2種のチヤンネルがある。物理的チヤンネルは、
入出力制御ユニツトICOと周辺装置制御ユニツト
PCU間のハードウエア接続で、論理的チヤンネ
ルは、主メモリーと単一の周辺装置間のソフトウ
エア通信経路である 「チヤンネルコマンドエントリ」 チヤンネルプログラムにおける命令 「チヤンネルコマンドワード」 チヤンネルコマンドエントリの一要素。2つの
チヤンネルコマンドワードが1つのコマンドエン
トリを構成する 「チヤンネルプログラム」 ある特定の入出力、入出力演算を周辺装置によ
り実施させる命令の一シーケンス 「補助コード」 演算コードと共に命令の機能を定義するいくつ
かの命令におけるコード 「コンピレーシヨンユニツト(CD)」 任意の高位の言語プロセサにおける1手続きの
コンパイリング又はアセンブリングから得られる
単一の対象コード。CUはリンクされる迄実行可
能でない。 「同時性(コンカレンシイ)」 明確な同時性 「条件フイールド」 ブランチ命令における4ビツトフイールド。フ
イールドの各ビツトは状態レジスタビツト0と1
における条件コードのセツテイングに対応する。 「コンテスト(競合)インデイケータ」 補助メモリーに配置されたハードウエア構造で
新らしいエントリがレデイ状態キユーに置かれ、
かつ優先順位に対する競合が生じ得る事を示す 「データアドレススペース」 データ管理プログラムによりプログラムでアク
セス可能な論理的記録アドレスのセツトで、4つ
の要素、即ち論理フイールド、論理記録、データ
ベースページおよびフアイルからなる。 「データデイスクリプタ」 間接アドレス指定においてデータ操作の記述と
して使用される情報構造 「デコール」 コンピユータシステムの機能的特性又は構造 「デコール拡張モード」 エミユレーシヨンモードにおけるシステムの演
算を許容する演算モード 「デイスクリプタ」 どのデータフイールドのアドレスでも生成する
時に使用される32又は64ビツトのフイールド。本
発明のアドレス指定操作における多くのポインタ
の1つ。 「デイスクリプタブロツク」 セマフオアデイスクリプタを除き多くのデイス
クリプタの宣言を含むデータブロツクで、他のデ
ータは許容されない。 「機器アダプタ」 周辺装置制御装置に対する特定の機器を適合さ
せる電子装置 「機器アダプタインターフエイス」 機器アダプタとその関連する周辺装置制御装置
との間のインターフエイス 「機器制御部」 機器の特性を取扱うソフトウエア設備 「デイスパツチヤ」 CPUにおけるプロセスのデイスパツチ操作に
応答するフアームウエア 「デイスパツチング」 セグメント内の相対的位置情報を与える命令フ
オーマツト内のフイールド又はデータデイスクリ
プタ 「変位アドレス指定」 即時セグメントのベース又は現時ロケーシヨン
カウンタの何れかに対するロケーシヨンをオペラ
ンドが定義する直接アドレス指定の形態 「動的アドレス指定」 実行の間にプロセスのグループ内で結果を得る
アドレス指定 「エデイタ(編集プログラム)」 特定の手続きのリング操作から得られる情報の
全て又はそのいずれかを書式化および出力する静
止リンカーの部分 「有効アドレス」 物理的アドレスに対して、セグメント表番号、
セグメント表エントリ、およびセグメントの相対
的アドレスからなる論理的アドレス。これらの要
素は、結局参照されるセグメントを指示する特定
のセグメントデイスクリプタへの行程を示す。 「エミユレーシヨンモード」 別のコンピユータを起動し他のコンピユータの
環境で演算する様に見えるコンピユータの演算。 「例外」 例外は、特殊な取扱いを要求する如く規定され
たある条件の存在をハードウエアが検出する時生
じる 「事象」 他のあるプロセスにとつて価値のある、プロセ
スによりシステム内で見出される全てのもの 「フイールドクラス」 各々が同じ記録クラスにおける異る記録であり
同じ特性を記憶するのに使用される類似のフイー
ルド値のセツト。例えば、従業員の記録クラス内
の年令に対する全てのフイールド値。 「フイールド値」 記録により表わされる実体のある特性の値を表
わす記録と関連するデータの一要素。この値は、
文字ストリング、数、ブール値又は値として翻訳
できるか又は間接的にその値に導くあるデータと
して表わされる。 「フアームウエア」 マイクロプログラム化された制御の一形態を用
いるハードウエアユニツト編成の部分 「G.Dネーム」 あるセマフオアを参照するハードウエアにより
用いられるネーム。G即ちGセグメントネームは
セグメントデイスクリプタを含むG表へのエント
リ番号。Dはそのセグメントにおける相対的アド
レス。 「G−セグメント」 G.Dネーム形態を用いてアドレス指定でき、関
連する設備(G表)であるセマフオアを含むセグ
メント 「G表」 G.Dネーム形態が用いられる時、記憶マツピン
グ(Gセグメントの見出し)に用いられる表 「ゲーテイング」 手続きデイスクリプタの使用により(ゲート化
された)セグメントにおける手続きに対するエン
トリを制御する設備 「汎用レジスタ」 2進数即ちビツトストリングデータを全般的に
保有する実行プロセスに利用可能な32ビツトのレ
ジスタ。ある汎用レジスタはインデツクシングに
用いる事が可能である(GR8乃至GR15)。 「インデツクス」 システムにより維持され演算されるデータ構
造。この構造はキー形態のみでユーザに識別さ
れ、このキーはユーザが特定の記録の発生の利用
を可能にし、かつこれを位置決めする為に提供さ
れる。 「インデツクシング」 あるものをあるものに加える事により符号を付
した算術的数値によるアドレスの修正 「インデツクスレジスタ」 インデツクシングの為に使用される汎用レジス
タ(GR8乃至DR15)。 「インデイレクシヨン」 アドレス指定方法で、これによりあるアドレス
を用いて実データの代りに別のアドレスを得る。 「ベースへのインデイレクシヨン」 ベースレジスタ番号と変位を含むデータデイス
クリプタが参照されたアドレスにおいて見出され
る如き形態のインデイレクシヨン 「セグメントへのインデイレクシヨン」 インデイレクシヨンの形態で、これによりセグ
メントアドレスを含むデータデイスクリプタを参
照されたアドレスにおいて見出す 「間接セグメントデイスクリプタ」 セグメントより別のセグメントデイスクリプタ
をアドレス指定する為の情報を含むセグメントデ
イスクリプタの一形式。 「命令」 プログラマにより見ることのできる中央処理装
置の実行単位 「命令カウンタ」 実行される手続きの次の命令のセグメント化さ
れたアドレスを含む実行プロセスと関連するレジ
スタ 「インターリーブ」 メモリーアクセス時間を短縮する為のメモリー
モジユールの遂次アクセス 「割込み」 ある事象発生によるシステムにおけるプロセス
の中断 「割込みプロセス」 ある割込み操作に応答して動作させられるプロ
セス 「インワード呼出し」 1つのリング番号における1つの手続き実行の
際の下方リンク番号における実行の為の別手続き
の呼出し 「I/O制御装置」 特殊なI/Oサブシステムに対するベースの制
御を行う装置 「I/Oプロセサ」 周辺記憶装置即ちI/O装置と主記憶装置との
間でデータの移動を主に取扱う潜在的非同期シス
テム 「J.P表」 プロセス制御ブロツクの見出し用の論理的アド
レスの収集 「ジヨブ」 システムの仕事の単位 「ジヨブ制御用言語(JCL)」 ジヨブとその構成部分を記述する為の言語 「ジヨブステツプ」 JCLステートメントにより定義されるプログラ
ムの実行に止まるジヨブの主なサブデイビジヨン 「ジヨブステツプ表」 プロセスネームの最初の部分のマツプ化即ちプ
ロセス群の表を見出す為に用いられるシステム表 「リンクされたモジユール」 静止リンカーの出力。相互参照が静止リンカー
により解かれたコンピレーシヨンユニツト
(CU)の集合群 「リンキング」 静止リンキング項参照 「論理チヤンネル」 チヤンネル項参照 「論理的プロセサ」 プロセスの実行に必要なハードウエア資源およ
び制御情報の収集 「主記憶装置」 命令が実行でき、又はこれからデータが直接レ
ジスタにロードできる全てのアドレス指定可能な
記憶装置 「磁気テープ制御装置」 磁気テープ装置に関連する周辺サブシステムの
諸要素 「大容量記憶装置制御装置」 大容量記憶装置に関する周辺装置サブシステム
の諸要素 「メンバー」 セツトの発生との関連において記録が行う役
割。メンバーとしての記録の現状態は、セツトに
挿入されたものか、挿入されたものでないかの何
れかである。 「メモリーマネージメント」 物理的メモリーの割当て、再配置、および割当
て解除の為のオペレーテイングシステム設備 「メツセージ」 共にフアイルではないソースから、又は最終結
果に対して伝送される情報 「マイクロ命令」 マイクロ命令ワード、および制御記憶ワードと
同じ 「マイクロプログラム」 プロセサの制御機能を実現するのに使用される
機械コードのセツト 「マルチプレツクス」 通常時分割によるメモリーの如きハードウエア
資源の分割 「マルチプログラミング」 単一のコンピユータによる2つ以上のプログラ
ムの同時実行 「ネーテイブモード」 ネーテイブな環境におけるコンピユータの演算 「オフセツト」 アドレス生成において、セグメントのアドレス
指定された部分が始動するセグメントの開始後の
バイト数 「オペレーテイングシステム」 ユーザのソフトウエアの有効な演算を確保する
為に設計された基本ソフトウエアのシステム 「アウトワード呼出し」 1つのリング番号で1手続き実行の際より高位
のリング番号における実行の為の別の手続きの呼
出し 「オーナー」 セツトとの関連において記録が行う役割。セツ
トの発生はオーナーの役割と共に記録が存在する
存続時間に対して存在する。 「周辺装置制御ユニツト」 入出力演算を実施するチヤンネルプログラムを
実行する独立マイクロプログラム化されたプロセ
サ。 「周辺装置サブシステムインターフエイス」 自由な周辺装置制御ユニツトとI/O制御ユニ
ツト間に転送および制御する為に使用される標準
的インターフエイス 「物理的チヤンネル」 チヤンネル項参照 「物理的データ構造」 媒体に物理的に記録される際の、データの構成
の完全な定義 「物理的I/O」 メモリーと周辺装置又は末端機器間のデータの
転送を起動および制御するオペレーテイングシス
テムの部分 「物理的記憶装置」 データの記憶の為に使用されるハードウエア。
記録媒体および記録/読出しハードウエアの各形
態からなる。 「P操作」 待機状態へのエントリ又はメツセージ受取りを
プロセスに行わせるセマフオアを含む機械命令 「ポインタ」 情報構造内のエントリを独自に識別する為に使
用される情報要素。ポインタの内容は独特の記号
で、あるアドレススペースにおけるエントリの実
体即ちアドレスを識別する。 「ポインターデータベース」 コンピユータの通常のアドレス指定スペースと
異なるアドレススペースにその内容が基くポイン
タ。一般に、データベースポインタは、ハードウ
エアが有するアドレスより大きいアドレススペー
スに関連し、現在使用されていない記憶を統合す
る問題を緩和するある形態のインデイレクシヨン
を行う。 「ポインタ内のセグメント」 その内容が、アドレス指定される実体の部分的
な仮想メモリーアドレスであるポインタ。仮想メ
モリーアドレスの足りないセグメント部分は、内
部のセグメントポインタのセグメント部分と同じ
である為黙示的に知る事ができる。 「仮想メモリーポインタ」 その内容が、アドレス指定される実体の仮想メ
モリーアドレスであるポインタ 「優先命令」 リング0において実行されなばならない命令 「手続き」 同時性を持たぬプロセサにより実行可能なネー
ムを付されたソフトウエア機能即ちアルゴリズム
(算法)で、これは即ちフオートランサフルーチ
ン、ゴボルプログラム、PL/1内部手続き等で
ある。 「手続きの呼出し」 スタツクセグメント内部にスタツクフレームを
開設する為の機構 「手続きデイスクリプタ」 手続きのロケーシヨンおよびエントリポインタ
を含むワード 「手続きのセグメント」 その内容が手続き、又は手続きの部分を表わす
セグメントの形式 「プロセス」 中央又はI/Oプロセサによる同時性のない諸
命令の遂次的実行 「プロセスアドレススペース」 参照でき、あるいは制御が特定のプロセスの間
で転送可能であるメモリーアドレス 「プロセス制御ブロツク」 いかなる時でもプロセスの状態を規定するのに
必要な情報を含むデータ(定義され、認識可能な
ハードウエア) 「プロセス群」 通常単一のジヨブステツプの実施に必要なプロ
セスの関連するセツト 「プロセス群ビルダ」 その動作がリンクされたモジユールを生じる静
止リンカーの部分 「プロセス群ローダ」 リンクされたモジユールにおける最終的解を行
い実行可能なプロセス群を発生し、次いでプロセ
ス群をメモリーにロードし、その実行を開始する
オペレーテインシステム設備 「プロセス群表」 P表の項参照 「プロセスのリンク」 レデイ状態プロセス又は待機プロセスキユーへ
のエントリ 「プロセスの状態」 CPUのプロセスの動的状態、例えば実行、レ
デイ、待機、又は中継状態 「プロセスのスイツチ」 1つのプロセスを中央処理装置から切離し、別
の装置に関連させるハードウエアの機能 「プロセスの同期」 各プロセス間の非同期動作を関連させる様動作
する諸機能。一般にこれらの機能はセマフオアお
よびP.V操作を含む。 「プロセサ」 データを受取り、これを処理し、結果を与え、
記憶されたプログラムに応答してその演算のシー
ケンスを制御する事のできるユニツトで、狭義に
は中央処理装置、広義には中央処理装置、周辺装
置処理装置、又はハードウエア/ソフトウエア処
理装置を意味する。 「プログラム」 ある問題を解決する為に必要な手続きおよび関
連情報に仕様書、即ちコンピユータにより実行さ
れデータについて演算してユーザのジヨブ又はそ
のジヨブのある位相を実施する順序を付した命令
集。 「プログラムの実行」 プログラムの仕様書に従うプロセスの操作 「保護」 ハードウエアおよびソフトウエアにより強化さ
れ、各プロセスが相互に干渉し、あるいは不適正
な方法で相互のアドレススペースが共有される事
を防止する機能 「P表」 各々がプロセス制御ブロツクの起点を指示する
エントリを含むハードウエア定義によるデータ構
造。P表エントリは、いかなる時もプロセス群を
含むPCBの全セツトを指示する。又、プロセス群
表とも呼ばれる。 「Q/PR/RDY」 レデイ状態にあるプロセスのキユー、即ちレデ
イ状態キユー 「キユー(待ち行列)」 情報、プロセス又は利用度を待機する実体の順
序を付したリスト 「レデイ状態」 関連するプロセサはないが、プロセサを除く全
ての必要な資源が実行状態への変更に利用可能で
あるプロセスの状態 「記録」 1つの現実世界の物象を表わすデータの一要
素。例えば、従業員を示す「人員」記録、顧客を
示す「顧客」記録、買付けを示す「購入注文」記
録。 「記録のクラス」 各記録が唯一の記録クラスを許容する様に定義
された類似記録のセツト。例としては、全人員の
記録、全顧客の記録、全購入注文の記録等。 「記録デイスクリプタ」 記録構造の発生、認識、および破壊において使
用される情報の構造。記録デイスクリプタは単一
の記録クラスに関する。 「相対アドレス」 ある対象の他に対する増減ロケーシヨン 「再配置」 主記憶装置における1ロケーシヨンからその以
前のロケーシヨンの全ての必要な参照の調整を含
む他のロケーシヨンへのセグメントの移動 「リターン」 ある手続きが、他の手続きにエントリした点の
直後の点における手続きの動作を再び行うのに必
要な機能および演算 「リング」 あるセグメントに対するプロセスの呼出しの読
出し、書込み、および実行を制限するセグメント
の保護属性 「ロールイン」 新らしいプロセスに対してあるプロセサの制御
を行うのに必要な演算の実施 「ロールアウト」 あるプロセスによるプロセサの制御を止めるの
に必要な演算の実施 「実行状態」 実行中のプロセス(CPUに接続された)の動
的な状態 「スクラツチパツドメモリー」 局部記憶ユニツトとしても知られるCPU制御
情報を記憶する為のALUにおける256ロケーシヨ
ン 「スケジユーリング」 演算のシーケンスの決定 「科学演算用レジスタ」 2進法の浮動小数点数の操作に使用される64ビ
ツトのレジスタ。システムが科学演算用である時
本発明において4つの科学演算用レジスタがあ
る。 「セグメント」 1単位として取扱われる隣接する主メモリース
ペース 「セグメンテーシヨン」 主メモリーの単一の線形記憶の代りにセグメン
トと呼ばれる論理的組分けへの分割 「セグメントベース」 セグメントの現在の起点。これはセグメントデ
イスクリプタの1ワードにおける各フイールドの
1つ 「セグメントデイスクリプタ」 セグメントの特性の定義を行うセグメント表へ
のエントリ、即ちセグメントデイスクリプタの指
示 「セグメント化されたアドレス」 有効アドレスの項参照 「セグメント番号」 セグメント表番号(プロセスの選択されたセグ
メント表の1つ)からなる特定のセグメント、お
よび選択された表のセグメント表のエントリの識
別 「セグメントの相対アドレス」 アドレスの生成の間、絶対アドレスを得る為に
セグメントベースに加えられる最後の数値 「セグメント表」 プロセスのそのセグメントに対するアドレス指
定能力を確保する為に使用されるセグメントデイ
スクリプタを含む表。あるプロセスのセグメント
表の収集は前記プロセスに対するアドレススペー
スを定義する。 「セグメント表エントリ」 セグメント表における一項目。 各セグメント表エントリはセグメントデイスク
リプタである。 「セグメント表ワード」 あるプロセスのセグメント表を指示するセグメ
ント表ワード配列に対するエントリ。この配列は
プロセス制御ブロツク内の2つのアドレススペー
スワードの1つにより指示される。 「セマフオア」 各プロセス間の通信を制御する為に使用される
データ構造 「セマフオアブロツク」 セマフオアデイスクリプタの宣言のみを含むデ
ータブロツク 「セツト」 1つ以上の記録の収集。このセツトの定義であ
る1つの「オーナー」記録を有し、零、1つ以上
の「メンバー」記録を有する。1セツトは、順序
付けられて以下の意味を与える。即ち、 「最初のメンバー」 「最後のメンバー」 「次のメンバー」 「前のメンバー」 「セツトクラス」 セツトクラスとは以下に対する規則に基くセツ
トのネームを付した収集である。即ち、 セツトの割役 セツト発生の選択 セツトの順序付け 1つのセツトは唯1つのセツトクラスのメンバ
ーである。1つの記録は1セツトクラス内の唯1
つのセツトの1メンバーであり得る。 「セツトデイスクリプタ」 セツト構造に関する初期設定、挿入、検索、お
よび除去において使用される情報構造。1セツト
デイスクリプタは単一のセツトクラスに関する。 「スタツク」 後入れ先出し方式によるデータの受入れ、記憶
および検索の許容を行う機構。スタツクフレーム
と呼ばれる多数の隣接する部分からなる。 「スタツク動作領域」 保管領域、呼出し側の命令カウンタ、パラメー
タスペースおよび局部変数−簡潔にいえば呼出さ
れた手続きの実行に最も役に立つ現在のフレーム
のデータに対するポインタを保持する現在のスタ
ツクフレームの部分 「スタツクベースワード」 あるプロセス制御ブロツクにおいてプロセスと
関連するリング0,1および2に対するスタツク
セグメントのセグメント分割されたアドレスを含
む3ワードのグループ 「スタツクフレーム」 単一の手続き呼出しに対して記憶されたデータ
を保持するスタツクセグメントの隣接部分 「スタツク演算」 スタツクに対するおよびスタツクからの情報の
記憶および検索のプツシユダウンおよびポツプア
ツプ操作。実際には、スタツクに記憶される情報
の参照に用いられるポインタの操作。 「スタツクオーバーフロー(桁あふれ)」 更に情報をスタツクに記憶させようとして利用
可能なスペースが保持できない動作。これはハー
ドウエアにより検出される。 「スタツクレジスタ」 Tレジスタの項参照 「スタツクセグメント」 スタツクを含むプロセスのセグメント 「静止リンキング」 ソース手続きのコンパイルと前記手続きの対象
の形態の実行との間の中間ステツプ。リンキング
は前記手続きに対してなされた外部の参照をリゾ
ルブ(resolve)する 「状態レジスタ」 現在実行中の手続きの状態を規定する8ビツト
のレジスタ 「スワツピング」 セグメントを2次記憶装置に書出す事によりセ
グメントにより占有される主メモリースペースの
解除。2次記憶装置に対する実際の書込みは、セ
グメントが最後に読込まれた為もしセグメントが
変更されていなければ抑制できる。 「同期」 時間的に固定された関係を有する2つ以上のプ
ロセスの同期的実行。 「システムベース」 全ての情報構造に対する基幹部として動作する
主メモリーにおける固定領域 「タスク」 非同期命令の1つの流れのみからなるユーザ固
有の最小単位 「Tレジスタ」 手続きのスタツクの最初のセグメント分割され
たアドレスを含むソフトウエアから見えるハード
ウエアレジスタ 「単位記録制御装置」 カード装置、紙テープ装置、および印刷装置の
如き単一記録装置に関連する周辺装置サブシステ
ムの要素 「ユーザプロセス群」 どのジヨブとも独立に存在するシステムプロセ
ス群とは別の任意のジヨブステツプの内部表示 「空白インデイケータ」 CPの制御を行うプロセスがそれ自体を中断し
た即ちCPU内にはCJPがない事を示すハードウエ
ア構造でALUの補助レジスタ内に位置する。 「仮想メモリー」 物理的メモリーの大きさに無関係にプログラマ
ににコード化を行わせるアドレス指定概念で、仮
想メモリーの管理装置が自動的に主メモリーと2
次記憶装置との間にセグメントの交換を管理す
る。 「V操作」 ある事象の完結のプロセス間の信号発信の為に
意図された機械命令。このV操作は指示されたセ
マフオアについて演算する。 略記方式 ACU :アドレス制御ユニツト ALU :算術/論理ユニツト AS :アドレスシラブル ASW :アドレススペースワード BAR :境界アドレスレジスタ BCD :2進化10進数 BR :ベースレジスタ CCE :チヤンネルコマンドエントリ CCU :チヤンネル制御ユニツト CMRN:呼出側最大リング番号 CCW :チヤンネルコマンドワード CET :現状態エントリタイム CIA :制御記憶装置インターフエイスアダプタ CJP :現在実行中のプロセス CPU :中央処理装置 CU :コンピレーシヨンユニツト CSU :制御記憶ユニツト D :変位 DMU :データマネージメントユニツト DA :機器アダプタ EAR :有効アドレスリング EXW :例外ワード GR :汎用レジスタ GTW :G表ワード IC :命令カウンタ IFU :命令取出しユニツト I/O :入出力 IOC :入出力制御装置 IPQW:内部プロセスキユーワード IR :インデツクスレジスタ ITBB:ベースレジスタへのインデイレクシヨン ITS :セグメントへのインデイレクシヨン J :ジヨブ JCL :ジヨブ制御用言語 JTW :J表ワード LCT :論理チヤンネル表 LIFO:後入れ先出し LSU :局部記憶装置メモリー又はスクラツチ
パツドメモリー MBZ :零でなければならない MOS :金属酸化膜半導体 MAXR:手続きが実行できる最大リング番号。
MAXRはSEG EPのセグメントデイスク
リプタに見出される。 MSC :大容量記憶装置制御装置 MTC :磁気テープ制御装置 NFS :非機能的状態 NPRN:新らしいプロセスリング番号 NJP :現在実行中のプロセスを置換する新らし
いプロセス PCB :プロセス制御ブロツク PCT :物理的チヤンネル表 PCU :周辺装置制御ユニツト PL/1:プログラミング言語/1 PMW :プロセス主ワード Q/PR/RDY:レデイ状態のプロセスのキユー RD :読出しリング RHU :ハードウエア用途の為にリザーブされ
た RPW :実行プロセスワード RSU :ソフトウエア用途の為にリザーブされ
た RTA :レデイ状態時間のアカウンテイング RTO :残り時間切れ SBW :スタツクベースワード SEG :セグメント番号 SKW :スタツクワード SEGEP:手続きデイスクリプタにおいて見出さ
れたエントリ点を含むセグメント SEGPD:手続きデイスクリプタを含むセグメン
ト SR :科学演算用レジスタ SRA :セグメント相対アドレス STE :セグメント表エントリ STN :セグメント表番号 STR :状態レジスタ STW :セグメント表ワード STWA:セグメント表ワード配列 T :Tレジスタ(スタツクレジスタ) URC :ユニツト記録制御装置 WR :書込みリング WTA :書込み時間アカウンテイング
[Table] Each member Set owner Set owner
There is a set of basic operations that apply to each set.
These are even better known records and files.
This is a supplement to the basic operations related to the code. Each section
Collection of basic calculation results related to
Supplementary basic calculations for yield are provided by the user.
Access, modify, and move data to perform operations
Hardware/firmware that performs
It is known as the operational facility where air commands are collected.
constitute what is to be expected. Basics (i.e., hard
This set of hardware/firmware instructions) is
Fields (i.e. data items), records, sets
and various operations related to procedural logic control.
You can divide it. The following hardware/firmware instructions
is used to manipulate data in a field.
Ru. Field description information required for the operation to be performed
(e.g. size, location, recording mode)
as part of the data descriptor associated with the operation.
is retained. Operations included in this group and
For example, move, compare, hash, add
These include calculation, subtraction, multiplication, and division. The following hardware/firmware instructions
Direct and serial access processing of data
Do both. These include the occurrence of data recording,
Search, qualify, test, and destroy after.
Recording firmware/hardware instructions are
Generation of records, destruction of records, discovery of direct records, serial records
is a discovery and recording type test. The following sets of hardware/firmware
A group of instructions includes traditional data processing and previous data processing.
database and message management system
Provides built-in blocks. These are set
occurrence, its access, and its operation and testing.
do the following. This hardware/firmware
Commands include inserting records, retrieving records, and relative records.
Discover record (first, last, next, previous, and i number)
(discovery of eyes), discovery of owner records, discovery of empty sets.
test, test inserted member, owner
This is the start of recording and the start of member recording. Base register hardware/firmware
The following group of instructions perform database access.
Determining the current process state for the process and
Give qualification. This hardware instruction is a
unload base register, base register and
The aforementioned "discovery" instruction that loads the base register
This is the nullification of . Records in the application database
is used to configure and do this.
Similarly, each set also supports a wide variety of systems.
It can be used in the software area of The table below lists the software for your system.
A list of air regions, each of which has a set
Lists certain uses of the concept in the above areas.
It is. This table indicates a clear use and is complete.
This is not a guarantee. 1 Database system a Index configuration (sequence index
and random index) b Data description structure c Shared access control list d Process response structure 2 File system a Catalog structure b Access right control 3 Message system a Mailbox index structure b Queue message c Multi-element message recall 4 Programming system a Program library management b Text editing c Program control structure d Symbol references and symbols for binding
Intermediate program format for compilation 5 Operating system a Job queue b Resource allocation table c Deadlock detection d Event process wait queue (I/O completion
e Dispatching Queue 1 General Theory The present invention
The hardware system described below is associated with
act in the system environment (Environment).
Is Umono. In Figure 1, subsystems and
is a processor subsystem 101, a storage subsystem
system 102 and one or more (up to 32)
This is the side device subsystem 103. processor sub
The system has one central processing unit (CPU) 104
and up to four input/output controllers (IOCs) 105.
I'm reading. Each peripheral subsystem has one peripheral
Side device control unit (PCU) 106 and numerous devices
adapter (DA) 107 and up to 256 peripheral devices.
Includes input/output equipment 108. storage subsystem
102 is 1 to 4 of 32 to 512 kilobytes each
It consists of several semiconductor memory modules. In the processor subsystem 101,
The CPU 104 performs basic processing operations for the system.
Yes, it also interfaces with memory 102.
Ru. The IOC 105 is connected to the storage subsystem 102.
Controls all information exchange between peripheral devices 106. A Central Processing Unit (CPU) The central processing unit (CPU) is the main memory sink.
lonizer 109, buffer storage device 110,
Various elements consisting of calculation unit 111 and options
yon emulation equipment 112. main
The memory synchronizer 109 is a calculation unit.
111, buffer storage device 110, and IOC 109.
resolve main memory usage conflicts between child
Conflicts are resolved in priority order as follows: Immediately
In other words, the IOC is a memory write (from the calculation unit)
followed by memory (to buffer storage)
– has the highest priority followed by reads. main
The CPU also has an address that controls main memory designation.
Control unit ACU131 and the end of main memory
The associative memory used to remember addresses used in
Contains Mori AS132. Batsuhua memory device
The storage 110 is a small high-speed buffer memory.
to reclaim the selected area of main memory and
Computation unit to reduce average memory access time
interface with. each memory read
During this time, both buffer storage and main memory are active.
be accessed. The information to be retrieved is already in a buffer memory.
If it is in the device, the main memory read ends and the information is
The information is retrieved from buffer storage. Otherwise
If so, main memory 102 is read. This is done
Each time the CPU 104 receives 32
Take out the light. This information is used for future memory queries.
remains in buffer storage. This batshua
The storage device is transparent to software.
(transparentto) the program that controls the computer.
The information that the computer processes is overwhelming.
retrieved from firmware storage or from main memory.
It is not possible to determine whether The calculation unit 111 stores all data within the CPU.
Processing and address formation. Inside calculation unit
A typical control storage device 130 (Prentice Hotel)
“MicroProg” written by Sameer S. Hatsen published by Rusha
ramming, its principles and applications) is a system
starts, controls CPU104 and IOC105, and
Contains firmware that decodes two sets of instructions.
Control storage can optionally contain scientific commands, test routines
Emulation package
or the capabilities of the processor subsystem.
It has extended special purpose properties. Optionally, the CPU is installed on a system other than this system.
emulation. Emulator 112
is firmware, software, and
In some cases, it is a hardware component. B Input/output control unit The IOC105 part of the processor subsystem is completely
Peripheral subsystem 103 and storage subsystem
Provides a data path between systems 102. this
The route allows the initiation of peripheral commands and results.
Control the data transmission obtained as follows. one
IOC is generally a control unit with up to 32 channels (Fig.
(not shown) can be handled. C Peripheral Device Subsystem In the peripheral device subsystem 103 of FIG.
, PCU106 is an independent microprogramming
input/output device 1 during input/output operations.
Loading of CPU104 by controlling 08
unlock. This PCU is a channel program
The above operations are performed by executing each instruction included in the RAM.
cormorant. This program uses arithmetic, logical transfers and digits
This causes a shift and branch operations are performed on the PCU.
It will be done. There are several types of PCUs, and
Depending on the type of vessel, unit records and mass (disc)
h) Storage devices, magnetic tapes, communication systems
control etc. The device adapter 107 controls each PCU.
Intervening between devices. Each of them is a specific type of machine.
Determined farm required to communicate with the device
Includes clothing and logic. DA107 is that
Control one or several devices depending on the type of
Ru. Implemented by peripheral subsystem 103
The main functions are as follows. 1. Serial translation of CPU instructions to peripherals 2. Required by the CPU or appropriate peripherals.
Packing and unpacking data into a form 3. Subsystems to the CPU and their control
Maintaining status reports with each piece of equipment 4 Independently opening error and recovery procedures
Initialization and processing 5 Set the equipment sharing capabilities of the related peripheral device processors.
Unobstructed online diagnostics of devices
Allowance for main memory between each device attached to the PCU
The IOC resolves conflicts between PCUs.
resolve the problem. D Storage Subsystem Each memory module 1 to 4 is 4 or 8 bytes.
It is the width of the number of modules, size, and
The width of the data path depends on the size of the computer.
Change. The memory module has four modules.
Quadruple interleaving so that the files are accessed sequentially.
(module 1 is the first 8 bytes)
and module 2 contains the second 8 bytes.
). This interleaving procedure
This reduces the number of contentions for Molly's access.
Reduces average memory access time. memo
Lee can be reconfigured in the event of a failure. That is, one modi
Each block of memory within a block is connected to an adjacent address.
It can be removed without destroying the response specification. The main memory 102 is a metal oxide film semiconductor MOS
It consists of a capacitive storage medium in the form of a chip. this
Refresh media to maintain information
It works on the (refresh) principle. The location of each memory
The system refreshes at least once every 2 milliseconds.
This design reduces the refresh timing.
Guarantees less contention between memory calls and
do. (If a conflict occurs, the refresh operation is
The first area of main memory is for hardware and
Reserved for firmware. Upper limit of this area
is the boundary address visible to the system's software.
response register (BAR, which is described below).
(described below). this
The contents of BAR are set at system startup.
Ru. Memory below the address specified in BAR
- area can contain an IOC table, which is a peripheral sub-area.
Firmware that controls the system and CPU, and
is a microprogram for emulation.
and the structure of the table. stipulated within this BAR
The size of the area below the specified address is the system configuration.
Depends on. Microprogram in main memory
Whether it is in control storage or not depends on the system configuration and
and application execution on the system.
Exists. 2 Basic computer structure Generally, what is used for this hardware
There are three basic data structures. That is, data
Tough format (format), visible from software
registers and instruction format. A. Data format Information is divided into 8 parallel bits between memory and CPU.
transferred in numbers. Each 8-bit unit of information is
It is called ito. Parity or error correction data
is also transferred with the data, but the software
It cannot be influenced more. Therefore, this light
In the specifications, data is defined by the associated parity i.e.
Exclude error correction data. B Bytes Each bit in one byte is from 0 to 7 from left to right.
Numbered. Each byte individually or in groups
Processed in a loop. Two bytes make up a half word,
4 bytes = 1 word, 8 bytes = 2 words, 16 bits
form 4 words. These include instructions
This is the basic format for all data. C. Presentation of data All data is in binary form;
Alternatively, it can be translated into alphanumeric codes. data bits
The numbers are binary encoded decimal data in groups of four.
data, alphanumeric codes for groups of 8, or 16
Up to 64 digits are translated as binary digits.
Ru. The latter is a number with a binary symbol, a fixed point number
Translated as a number or floating point number. 2 words
Any consecutive bits up to the point can also be manipulated as a string.
can. The alphanumeric set is EBCDIC (code).
expressed. ASCII can be used as an alternative code
Ru. D Byte Address The byte location in main memory is zero.
Begin with a sequential number, where each number is the address of a byte.
Ru. Consecutive byte groups are
The address of one byte is 2, 4, 8 or
If it is a multiple of 16, half word, 1 word, 2 words
They are said to be arranged into codes or 4 words. half wa
say one word, two words, or four words
Whenever the unit is aligned in
It can be retrieved from the reply. Main memory data
location is indirectly called during address formation.
specified by the issued data descriptor.
Ru. (February 10, 1972, assigned to the same person as the main application)
Japanese patent's "segmented address formation"
(See U.S. Pat. No. 3,938,096 with a name similar to E.
There is a register that can be used, and its contents reflect the state of the CPU.
comprehensively defined. They come in four forms.
Ru. (See Figure 2) That is, 1 General-purpose register 2 Base register 3 Scientific data register (optional) 4 Various registers F General-purpose register The general-purpose register (GR) 201 in Figure 2 is a fixed small
Used for manipulating numbers and bit strings.
Ru. CPU104 has 16 32-bit general-purpose
There are registers GR0 to GR15. General purpose cash register
The registers GR8 to GR15 are also index registers.
It can also be used as used as an index
When used, they are referred to as X0 to X7 in the main text, and
Decking has 32 bits and is contained in one register.
is implemented using two's complement integers. G Base Register The base register (BR) is the instruction counter IC and
Same format as task registers 202-203
It has The base register is used during address calculation.
Defines the portion of memory that is used. generally 8
There are two 32-bit base registers BR0 to BR7.
Ru. H Scientific data register The scientific data register (SR) is a floating point 2
Optional device for calculations in base numbers.
There are four 8-byte scientific calculation registers,
are called SR0 to SR3. Scientific register is
It has the formats 204 to 205 shown in FIG. I Various registers There are five other types of registers. That is, - an instruction file having formats 202 to 203;
Status register stack register (referred to as T register) with counter format 207 Boundary address register with format 206
hardware system with register and format 208
Control mask register The instruction counter IC is executed using a 32-bit register.
Contains the address of the instruction to be executed. status register
(STR) 207 is an 8-bit register that is currently in use.
Facts about the procedure being carried out, e.g.
– notes whether the flow was caused by the last operation.
Record. The stack register can also be used as a T register.
Also known and currently operating procedures and related push-shots
Contains a pointer to the beginning of the downstack.
nothing. The stack described below consists of a workspace,
and preservation of local variables and protection of procedure entries
and return information. boundary
Address register (BAR) 206 is a 28-bit
Register, accessible by software
Specifies the lowest absolute main memory address.
This register is loaded during system startup and
It can only be read by software. C
Hardware control mask register 208 is 8 bits
Record computer condition information in the register. J Instruction Format Approximately 200 instructions are used at any given time.
Each instruction has one of four different lengths,
Always an even number of bytes long. Each instruction is
is stored in a storage device location. left end
The address of the byte is a multiple of 2, and the address of the byte of this instruction is
It's a dress. The eight most significant bits of an instruction (and
bits 8 to 11 or 12 to 15)
represents the operation code, and the remaining bits are one or more
represents the operand (operational number) of one opera
A command is a register designator, a displacement designator, or an address.
address syllable (logical address), literal
It can be a value, an immediate literal value. Type of operand
and the numerical value are determined by the format of the instruction. 3 System Structure A Job Steps and Tasks The work to be performed by the computer system.
The job is executed through a series of job steps via the job control language.
Defined externally by the The job step is
A unit of work to which hardware resources are allocated
It is. Generally, one job step consists of several steps.
Consists of school. One task can be executed without being parallelized.
A user specification consisting of a series of commands to be executed.
It is the smallest unit of work. B User-side concepts of process tasks and job steps
are defined by one process and a group of processes, respectively.
Shown in hardware. 1 process is
The order in which instructions can be executed asynchronously by the CPU
(i.e. some process
can operate and divide resources, but in reality
Only one process is running at the moment.
). A process group has one job step.
A related set of processes required to perform
Ru. C. Process Control Blocks and System Bases Each process is CPU-controlled at many points during its execution.
Since the control can be stopped, there is a memory in main memory.
The domain is used by processes to store the state of the CPU.
will be available for use. This state information is
the CPU before the process is under CPU control again.
Used for preconditioning. The storage area allocated to a certain process is
In the figure, the process control block (PCB) 400
It is called. The data contained in one PCB is
Address of memory area allocated to the process
(address space) and all associated registries.
contains the contents of the data and the state of the process. this
, PCB is a process without any information loss.
information required to start or restart the device.
Acts as a temporary storage area. Each PCB is
visible to the software and formed during system startup.
A set of hardware that is qualified during system operation.
Operating system according to the table (Figure 5)
You can specify the address by called system-based (Figures 5 and 6)
There is an absolute main memory area. This area is
It is formed by hardware and can be read but not written.
Base address register (BAR) 5
It is accessible via 01. this system
The base 502 has a number of system attributes, which
etc., respectively for the currently running process.
Job step number and process group number (J.
P) is included. This system-based distinction
The attributes of the hardware specification known as J-Table 503
A pointer to a fixed data structure. this table
contains each current job step in the system.
Each entry in J table 503 points to the associated P table 504
However, this is also a hardware-defined data structure.
Ru. This table defines a process group and
Also, for each process in that process group.
Contains entries to. Each P table entry is PCB40
Indicates 0. In FIG. 5, calculation unit 111 (first
According to the J number value via the arithmetic operation unit 506 in the figure)
The indexed J table pointer 505 is
Entry 503 is accessed. this entry
contains the P table pointer, which is the calculation unit 50
When indexed by P number value via 6
The entry 504 of the P table is accessed. This P
The table entry is for the PCB of the currently running process.
It includes a pointer 507. In this way, the operator
The ing system uses the contents of BAR501.
You can access the active PCB and its associated (J.
P) Any other PCB that gives a logic name
can be accessed. D Memory segmentation Under multi-process conditions as described below
There are many processes in memory at any given time.
There is a These processes vary in size,
Memory requests that cause memory allocation problems
do. Operating system in this text
Hardware designed to work with the system (not shown)
The software dynamically allocates memory space.
This problem is solved by Responsible for memory requests
Due to intentionality, memory is divided into segments of various sizes.
This memory allocation is
Can be reconfigured during runtime. In this way, one program
Processes are allocated to many non-contiguous memory segments
Injury is possible. This memory allocation method is
called integration. Segmentation is the process by which memory addresses
When part or all of a process is relocated
raises another issue that always has to be qualified
do. In order to solve this problem, the system described in the main text is
The address used by a process is the absolute master.
A method that is more logical than memory addresses
I will provide a. These logical addresses are absolute addresses.
It is used to form a gas. Also, segmentation is a set of segments
Each process's own or
Each process accesses the associated address segment.
access. A segment descriptor
access, a process can access a certain segment.
You can get the address of the client. segment day
The scripter is contained in main memory and is
maintenance system. Each process has up to 2068 memory segments.
Can be accessed. Usually for this per process
The same number of segment descriptors are required.
Ru. However, since segments can be shared, operators
The coding system uses segment descriptors.
Classify into segment table. This classification consists of one process.
1 process group (job task), 1 process group (job step)
access) or as a whole (system-wide).
based on ability. Each process is associated with this 15
segment table. This method
accessible by the process through the component table
Only one segment date for each segment
It is long enough to require a scripter. In this way,
memory space required for the segment descriptor.
memory updates during relocations are reduced
protection for certain programs. (Prog
The main mechanism for ram protection is the ring system.
Ru. “Multi-program” patented on October 28, 1975
in multiprocessor computer systems.
U.S. Patent No. 3,916,385 titled “Protection of Information”
Reference) The process has access to the segments it can access.
It must be possible to determine. Therefore,
The system creates two segment table words for the process.
Give an array (STWA). These arrays are professional
Address of all segment tables accessible by
Contains responses. Two segment sizes, large and small
Since there are two segment tables for each process,
I have a word array. Large segments have maximum size
2 twenty two bytes and small segments have maximum support.
IS2 16 Have a part-time job. All segments are
That size in increments of 16 bytes up to a large size.
changes. A system typically consists of 28 large
Can store up to 204 small segments.
Ru. The segment table word array is
can be repositioned by the stem, so the process
You must know the absolute address of the STWA associated with
No. The PCB of any process contains two words.
These are the address space words in Figure 4.
Contains this information known as ASW0-1.
Ru. Each word is a word array of one segment table
Instruct STWA. operating system
is executed whenever the associated STWA is relocated.
Update the contents of ASW. chain of pointers
Downward movement and segment descriptor
Decoding is a function of firmware and thus
Once started, the operating system
But I can't see it. Segmentation is available to the process
200 million bytes or more of address space.
Ru. This number exceeds the main memory capacity and therefore
The secondary storage device (magnetic disk or drum) is
Used in connection with Molly. This operation
system is what it is actually available for.
The illusion of having a much larger main memory
give. This concept is called virtual memory. At any point in time, the defined segment is
I don't know whether it is physically in main memory or not.
The contents of the segment descriptor are
Indicates whether the item is in main memory. Her
The software accesses segments that are not in main memory.
detects any attempt by a process to access
and notify the operating system. Operation
The rating system uses the desired segment as a secondary
from the storage device to the main memory. Next
So, the operating system is
is the only place where the absolute address of the client can be found.
Segment memory in segment descriptor
-Stores the address. This operation is performed from the process
This is why the segment is not in main memory.
or need to be relocated to main memory.
I don't know what that might be. (memory segment
For details regarding the station, please refer to
“Segmented address form” patented on April 10th
(See U.S. Pat.
By preventing processes from interfering with each other,
or mutual address space in an unlicensed manner.
(unauthorizedmanner)
data and procedures. This protection
– Addressability via segmentation
It is also possible to implement the ring system by limiting
administered. A segment table is used for each process in the system.
Separate the space. Each process always computes
Using segmented addresses while running
Ru. A segmented address is a segmented address.
Consists of a number and a relative address within the segment
(Before on generating segmented addresses
(see patents mentioned above). The hardware used for the process
The address used is the address assigned to the process.
Check if it is part of the response space. too
Shiko's address is in the scheduled address space
If it is outside, an exception operation occurs. process
data in another process's address space
The reason is that the hardware cannot be referenced.
using the segment table of the referencing process.
It is for the sake of being there. In this way, one process or
A process group references entities belonging to another process group.
There is no possibility of illumination. In general, in the address space within the system
overlaps are shared by all processes.
occurs for these segments that are this
Shared segments such as
Established by a system program that confirms the warranty of
be done. In this way, segmentation
mutually protect users' programs and protect users' programs from each other.
Protecting the operating system against RAM
Ru. Segments shared by several processes
from misuse by one of these programs.
Not protected. To solve this problem, a ring system
system is utilized, which allows procedures and data
Segments are classified into a four-class system. this
The four ring classes are numbered from 0 to 3.
There is. Each ring indicates a system priority and
Bell 0 (innermost ring) has the highest priority.
Bell 3 (outermost ring) indicates the last position.
vinegar. Each procedure in the system is
The minimum or maximum amount assigned to the procedure, indicating whether
It has a large execution ring number. One procedure is a sub
A routine can call other procedures and
Multiple parameters can be sent. That is, the general law of this ring system is as follows.
It's easy. 1 A procedure in one inner ring is a procedure in the outer ring.
access data freely. Conversely, the outer ring
procedure cannot access data in the inner ring.
stomach. 2 Outer ring procedures overlap inner ring procedures.
You can do this, but you cannot do the opposite. 3 Segments containing data are divided into two ring numbers.
assigned to the signal value, one of which is read (RD)
The other one is write (WR). These resources
The processing symbol value is determined by the procedure, whether it is a read or a write.
When accessing data in this mode,
Specify the maximum ring number value that can be used. Each time a procedural instruction is executed, the procedure is restarted.
The addressing number value (effective addressing ring, BAR) is
assigned to the segment containing the referenced data.
is checked against the ring number value. This EAR
is the process ring number value in the instruction counter
is the maximum value of
Emitted base register and data descriptor
are all ring number values in . this data
access is based on comparison of ring number values.
You will be rejected or rejected. For example, if
A system table has a maximum read ring value of 3 and a maximum
those in segments with write ring value 1
Then, the user procedure executed in ring 3 is
reads the table but does not update it. Rings 0 and 1 are operated by pre-configuration.
Reserved for the ring system, ring 2 and
3 is reserved for users. Ring 0 is
Contains segments critical to overall system operations. Rin
Group 1 includes a collection of each segment of the system.
However, the failure is not definitive and is recoverable.
Ru. Users can link against verified programs.
For the program to be debugged using
uses ring 3. F Procedure calls Procedure calls are made in the system described in the main text.
This is an important function. Calling a procedure is one way
from one procedure to another, and the operations performed by the user procedure.
operating system work tolerance and
To achieve modular structure within the tying system
used for. Procedure calls are carried out by each order.
The components recognized by the hardware are
Call the task (Figure 7A). A stack receives LIFO data retrieval.
It is a mechanism for entering, storing, and allowing. Each star
Tsuku is a special segment called stack segment.
Exist in ment. One stack segment is
Stack frame 7 dynamically allocated to each procedure
A number of neighbors called 01 (Figures 7A and 7B)
Consists of touching parts. The first stack frame is
The frame loaded at the top of the segment and following this
The system will be loaded after this part. last row
The loaded frame is considered the top of the stack.
Ru. T-register 702A indicates the currently operating program.
Find the top of the stack for Seth. actual T
The register is used by all other processes in the system.
Present on PCB. Stack frame 701 in Figure 7B has three regions.
Consists of areas. That is, a work area 70 for recording variables.
2, and a storage area 703 for storing register contents.
and a communication area 704 for sending parameters between each procedure.
be. Prior to the procedure call, the user
Specify these registers and add them to the called procedure.
The parameters to be sent must be loaded into the communication area.
Must be. When the call is made, this hardware
Air stores and recalls the contents of the instruction counter IC
base register to facilitate returns from procedures.
Specify the star. Each procedure call is placed in stack segment 701.
Establishes a stack frame for subsequent nested calls.
Open a separate frame for display. these calls
Each exit from one of the procedures
is removed from the stack. In this way, calling
A history of
make it easier. Ensure protection between procedures executed in different rings.
Different stack segments are used to maintain
Ru. One protection ring for each process.
There is a stack segment. One PCB has three
Contains stack base words, these are process
The star for each ring 0, 1 and 2 associated with
Instructs the start of a block segment. ring 3
The tack segment is never determined by the inner call.
Therefore, its stack startup access
No dress is required on the PCB. 4 Process management and synchronized operation The system described in this article consists of software, hardware
Operators using a combination of hardware and firmware
multi-pro
It is used to perform sensing calculations. The software is
Creates and deletes each process in the system.
On the other hand, hardware and firmware
Performs a multiplexer for each process on the CPU
cormorant. In addition, software, hardware and
Armware combination is synchronized operation between each process
I do. Usually, but not always, the process involves
During job handling and operating system
other opportunities for such purposes as may be deemed necessary by the
start and stop at the beginning and end of input/output operations.
I am made to do so. Therefore, enabling related processes
Communicate to start and stop and send information during
A system is needed. Hardware in main text
The system uses internal messages called semaphore.
provide communication links between each process. A Process states A process can be in four states at any time: running, ready.
It can be either standby, standby, or suspended. Her
software recognizes the status of these four processes.
to dispatch and change the state of the process.
maintains data structures based on the state of a process
Perform various firmware procedures to
Ru. The PCB displays the current state of its associated processes.
Contains fields with the specified state. A process runs when this is done under control of the CPU.
is in a state of This condition occurs when an address space
(segment table) and start address to the CPU.
Including supply. The CPU then executes the process's procedural segment.
Execute instructions in the ment. Currently running program
PCB process name J table worksheet for process
The system base (logical address)
(Figure) is held in the execution process word (BAR + 60)
be done. (Note: The system base shown in Figure 5 is
Same as shown in Figure 6, but details are omitted.
). Ready state is when a process is recognized by the CPU.
Except that it does not control the CPU because it was not
Equivalent to running state. A ready process is
The relationship between each process in the ready position and the execution process is
There is a race condition for the CPU. The process of sending messages via semahuao
A standby status that cannot continue until a special event such as
in a state of Waiting processes have contention for the CPU.
is not in the current state, but other standby states are available for the required event.
It is in a competitive relationship with each process. The interrupted process will be recovered by the software.
It is a process that has been stopped for a certain amount of time, and about this
are canceled as follows. Stop the process and start it again
The decision to do so is external to that process. like this
A process suspended in is not in an operational state and therefore
Unable to receive event notifications and unable to use CPU. The process is interrupted under the following conditions: (1) By executing a "stop" command (all functions are completed).
(2) “Suspend” command by the operating system
(3) Due to the occurrence of an exceptional condition, which causes the control to occur.
control is transferred to the operating system. B Dispatching a process A process can be dispatched to any one of its operations during execution.
transition from one state to another, or another process
The state is forcibly shifted to another state by the action of day
CPU firmware known as Spatschia
controls the process's transactions between each state.
control The dispatcher has one set of queues (waiting line).
Ready or Ready column (described below)
operates on each waiting process. interrupted
The process is controlled by software. In figures 6, 8 and 9, the ready or waiting
Machine state process is PCB, process link
is represented by a special queue entry called
Ru. Figure 9 shows the development of the contents of GO segment 802.
Process link 8 showing diagram and process in action
03a to 803b and 803c to 803g,
Free process link 805 for suspended process
a to 805c. Each process link is
Specify the process name (JP) and give priority to that process.
rank and the next process link in the queue.
Specify the pointer to Standby queue 803a~
Various types such as 803b and Ladykyu 803c~g
There is a queue. The J-table (Figures 6 and 8), also known as the G-table,
Similar hardware equipment is available for all general purpose (system
Segment 802 (known to span the entire system)
Contains a pointer to ~802n. G table 801
GO, the first element of
Indicates the segment 802 that includes. G table 8
The G table pointer for 01 is the system base in Figure 5.
found in the Also, the system base includes
Internal process keywords with bird calls
(IPQW), which is in GO segment 802
Heads of ready queues 803c to 803d
803. In this way, the dispatcher is ready
By referring to 03c~803d, all rede
You can consider the process. Currently running process
When the dispatcher changes state, the dispatcher is ready.
Remove process link at queue head
and use the JP name to access the PCB.
Ru. The process defined by the PCB is then renewed.
This results in a new execution process. One or more processes are waiting on the same event
Because it may be possible, queue 803a of the standby process
~803b exists for each event. Also, waiting
process is a process that exists in the GO segment
They are arranged together via a link 804. Wait
The pointer to the head of the machine is a semaphore.
903 (described below). a process
There are many events for which each
Many with associated semaphore 903,904
There is a waiting queue. The number of processes in ready or waiting state is dynamic
Changes to In this way, the ready status or waiting status
The number of process links that require state queues is also
fluctuate. This fact is important for dispatchers.
Causing molly management problems. this question
The titles are called free process link queues 805a-c.
This is resolved by another queue that is revealed. This cue
is used by a ready or standby queue.
a specific queue of ready or waiting processes.
segment GO that can be used to expand
Link all process links together.
Head 902 of free process link queue 805
Pointer 901 to GO segment 80
It exists near the beginning of 2. C Process synchronous operations Process synchronous operations operate on the same task.
necessary to relate the immobility of the two processes
It is. This synchronization operation
Semaf, a data structure that exists in Resspace
This is accomplished using ORs 903-904. Semakh
OR signals the occurrence of an event and sends a message.
- used for handling. Events in this case and
is one process that is of interest to another process.
This is what is observed by people. This event is non-identical
The completion of a period operation or the utilization of a certain resource.
Ru. The process uses two semaphore operations to
signals the occurrence of The operation sends a signal to the semaphore.
and other operations take signals from the semaphore.
(This sending operation is often called the V operation, and the receiving operation
is called P operation. ) This send operation is
the data or the belief that the data has been prepared in the process.
Let me send you the number. A semaphore is a semaphore that another process trusts.
Remember this signal until you are ready to pick up the issue.
Ru. In this way, the sending process sends this data to
Since you sent it, you can proceed freely. Receive operations are
Consider Mahoor and pick up this signal. If you believe
If there is a signal, the receive operation continues execution. but
However, if there is no signal on the semaphore, the receiving process
The device enters a standby state. Next, this semaphore waits
Acts as a pointer to the head of the queue.
Ru. This process is used by another process to
Waits for the semaphore until it sends a signal to the semaphore.
maintain standby status. In this way, semaf
or this signal until a process picks it up
A semaphore can be held or a semaphore is a signal processed
The process will be held until sent to. Messages are also sent from process to process.
Ru. A message is a signal with additional information added to it.
has the same existence or non-existence as some information
is provided by hardware, and some
provided by the procedure of the process that sent the message.
Ru. The message is the process name of the sending process.
has. In this way, many processes are
Information via a single named semaphore
I can send it. Message semaphore is picked up by process
has a queue of messages waiting to be sent.
Ru. Memories, as in signal semaphore
Demand for pace increases and decreases, memory money
The issue of management is raised. Again, this problem is also self-explanatory.
The issue is resolved with the message link queue. this
etc. links supply or absorb message links.
of segments that can be easily discovered when needed to
Exist in a known location. The semaphore and queue configured on these links
Since all sema are shared by different processes, all sema
The fore structure is protected. This is a semaphore
Hardware that restricts access to any segment containing
implemented through hardware and software commitments.
It can be done. Therefore, some of them are G segments (series
Semaphore or day (if stem communication is required)
The semaphore must exist in the script
Hey. However, all G segments (GO
) are semaphore descriptor segments
It is. Each semaphore descriptor corresponds to a semaphore.
Contains a pointer to. Semaphore address
is generated via a semaphore descriptor,
This strengthens the protection for this semaphore.
A semaphore segment has a segment number value and
using the relative location within that segment,
Or use the GD number directly to logically address
Can be specified. D Process control block structure In Figure 4, the process control block
(PCB) format is shown. This program
Process control block 400 maintains the state of the CPU.
Main memory storage available to processes for managing
It is an area. PCB addressing is related to Figure 5
and is carried out as already described. PCB pointer 5
07 (Figure 5) is memory location 0 in Figure 4.
Directs the process control block PCB in the
If you move the memory location downward, you will get 4 bars.
memory location increases from memory location 0 to memory location 0.
It should be noted that as you move upwards, the number increases by 8 bytes.
It is. The lower memory location is positive from 0.
It is considered that the location above from location 0 is
The direction is considered to be in the negative direction. upper location
is optional and is a process control block.
It may or may not be included in the location.
Yons 148-176 are also optional. (Downward
The memory location number of the process control
Byte from 0 reference location of block PCB
used to identify parts of the attached drawings.
Do not confuse with common numbers. ) Byte 0?
Considering the bytes smaller than 16, there are 4
The process main words PMW0 to PMW3 are memorized.
and each process main word PMW is 4 in length.
It's a part-time job. Process main word 0 is byte 0~
It occupies the
priority byte, priority byte, status byte and
and decor from the extended byte DEXT.
Ru. In steps 10a to 10d, the process main work
The details of the code PMW0 are shown, and the capacity byte is 100.
Further details of 1 are shown in FIG. 10b.
In Figure 10b, the first bit 1005
The time account function is about that process
Accounting mode indicating whether
It's Dobitsu. This accounting mode
When bit 1005 is set to binary 0, the
The time accounting function for the process of
Not implemented, but accounting mode 100
Time account when 5 is set to binary 1
is done. Science mode bit 1006 becomes zero
When set, the computer's scientific data register
is not stored, and bytes 148 to 1 in Figure 4
Register storage area for scientific data located in 76
indicates that it is not present on the process control block PCB.
vinegar. Science mode bit 1006 is set to binary 1.
When a scientific calculation function is present during the process
used and optionally for registers for scientific data.
Register storage area for scientific data to store contents
is used. Code mode bit 1007 is
Standard code set or compatible code set
is used in the process and
The standard code set is used for the binary 0 in the
while the third bit position
The binary 1 in 1007 is a compatible code set.
Indicates that is used. Each of this capacity byte
The remaining bits are set to zero. Details of priority byte 1002 are shown in Figure 10c.
shown. In Figure 10c, the priority byte
The first four bits 1008 of 1002 are
Process control block PCB and related
It is used to set the priority of the process. each
Processes are assigned to one of 16 levels of priority
(a) Ranking of competing processes, i.e. (a)
selection of processes to run between processes that are
and (b) put the process into the queue.
used. Priority decreases from 0 to 15
For a given priority, FIEO
The principle of "first out" is given. priority byte
The next four bits 1009 after 1002 are zero. Details of status byte 1003 in Figure 10d
is shown. The state byte is a process control block.
information about PCB400 and related processes.
used to provide. bride field bits
A1010 is 2 when the process is bound.
Set to base 1. Suspension field S10
11 is a binary 1 when the process is suspended
is set to . substate field
SS1012 is a 2-bit field that is used for processing
The following substates of the state are specified. That is, (a)2
When set to base 00, the process is immovable.
(b) When set to binary 01, the process
queue (Q/PR/RDY) of a process in the active state.
(c) when set to binary 10.
Seth is in Semaphore's Q/PR/S
Standby in semaphore, (d) set to binary 11
The process is being executed by the processor when it is invoked.
Ru. Mid-operation field
(MOI) 1013 is a binary 1 when an interrupt occurs.
is set during instruction execution, i.e. at the end of the process.
This will be maintained until the end of the term. extended decor
(decor) Mode bit EXTD1014 is
Extensions where the source is the emulation mode of the computer
Set to 1 when in decor mode. bits
Bits 1015 and 1016 are set to zero. Professional
The fourth byte of main word PMW0 is decoded.
contains the file extension number and the system emulates it.
Used when in mode. The process main word PMW1 is the process control block.
Stored in bytes 4-7 of the PCB. PMW1
The details are shown in Figure 10e. status byte 10
16 is the first byte in PMW1,
Store status register contents. multi-processor server
The MP1018 has a multi-processor structure and is tall.
, otherwise this field is zero.
Ru. 2nd and 4th bytes of process main word
are MBZ fields 1017 and 1019 respectively.
So, in normal operations, it must be zero.
stomach. The process main word PMW2 is the process control block.
It occupies part 8 to 11 of Tsuku, and is updated in Figure 10f.
is shown in detail. In Figure 10f, bit
Fields from bit 4 to bit 31 are semaphore stations.
Contains department name SEG, SRA1021, and for this
when the process is in standby or suspended state
PCBs are linked. exception class and tie
Field 1023 is a class for exceptions similar to interrupts.
contains the process and type, which will be processed after the exception operation.
cause the process to enter the suspended state. Bit 4 to
15 field 1022 indicates that the process is
It becomes meaningless when it is in a state other than the state. The process main word PMW3 is the byte of PCB400.
occupies points 12 to 15 and indicates the decor expansion table.
Ru. In figure 10g for details of PMW3
Therefore, DETSZ field 1024 is the entry in the table.
If this field is zero, then
Decor extension operations on processes are not allowed.
stomach. DETA field 1025 is a unit of 16 bytes
DETSZ is the absolute address of the Decor extension table of
It is only meaningful if it is not 0. this decor
The extended table consists of DETSZ entries. Each
The entry is 1 byte in size. of the table
The DEXT entry specifies the capabilities of the process
and perform operations in Decor expansion mode DEXT.
cormorant. When DEXT byte is 0, decorate
Extended number value DEXT is not allowed, but the DEXTth
If the byte is 1, the Decor extension number value DEXT is
forgiven. DEXT number values other than 0 and 1 are illegal
becomes. (See Figure 10a DEXT number value 1004)
) Bytes 16 to 23 of PCB400 are each address
Each address contains the dress space words ASW0 and ASW1.
ASW is a pointer to the segment table word array
Including data. The partners of ASW0 and ASW1 are respectively
The same format as shown in Figure 10h.
have The size of the segment table word array is 1
specified by the segment table word number in the column,
Mainly 6 for ASW0, and 6 for ASW1
becomes 8. STWSZ field 1026 is segment
Indicates the size of the ment table word array. segment
Field STWA1027 of table word array is
Absolute address STWA of 16-byte unit array
contains, i.e. the absolute address of this array is in bytes.
It is 16 times that of STWA. Bytes 24-27 on the PCB are the 10i
Contains the exception word EXW, which is shown in more detail in the figure.
nothing. This exception word is a pointer to the exception class table.
(SEG, SPA) 1029, and the table above
is stored in the process main word PMW2.
taken following a process exception due to that class
Define the desired action. (See Figure 10f)
The MBZ field 1028 of the code EXW must be 0.
Must be. Stats placed in bytes 28 to 31 of the PCB
The quarter SKW is shown in more detail in Figure 10j.
when the process is not running.
Contains the number at the top of the T register of the stack. 1st
In the 0j diagram, bits 0 and 1 are the TAG file.
A code 1030 is defined. This TAG field is
The content indicates the type of descriptor,
Must be zero for SKW. SKW Wa
Bits 2 and 3 of the code are RING field 1031
This field contains stack segmentation.
address and associated protection ring number
must be zero in this case. bit
4 to 31 are segment numbers SEG and segments
Contains relative address SRA1032, segment
Segments described in the table and their internal segments
This field identifies the target relative address. vinegar
The task word SKW indicates that the process is not running.
It will be updated each time. This is executed by the process
To re-store the contents of the T register each time the state changes.
used for. In this last case, TAG10
30 and RING1031 are tested to be zero.
otherwise an illegal PCB exception operation will occur. Bytes 32 to 35 of PCB400 are often ICC
Contains an instruction counter content word called ICW.
nothing. In Figure 10k, TAG field 10
33 must contain the binary digit 00 (i.e. non-zero)
is illegal in the instruction counter)
The details of the command counter word ICW are shown.
Current RING field 10 occupies bits 2 and 3
34 is used to determine access rights to the main storage device.
Specifies the current ring number of the process
Ru. Bits 4 to 31 are the segment number and
Specifies the client relative address (SES, SRA) 1035.
These specify the address of the next instruction to be executed.
stipulate. The MBZ field of bytes 36 to 39 is zero.
There must be. (The MBZ field is always zero.
) This MBZ indicates the field that must be
The word is called every time the PCB is called from the name JP.
be tested. If this is not zero then it is illegal PCB
An exception occurs. Stack base words SBW0-2 are processes
Bytes 40-51 in control block 400
occupy These words are further detailed in Figure 10l.
It has the same format as shown in detail. this
are used for stack operations, and when used
Its TAG field 1036 and RING field
1037 must be zero or it will be wrong.
A PCB exception to the law occurs. Bits 4 to 31 are
Each stack segment for groups 0, 1, and 2
segmented address of the first bit of the
(SEG, SRA) 1038. Byte 52 to process control block 400
83 is for base register storage area (8 words)
This is a reserved space. Part-time job 84no
to 147 is the number of all general-purpose registers (16 words)
This is a storage area used to store values. Ba
Bits 148 to 179 are registers for scientific data.
Storage area used to store (8 words)
It is. PMW0 word accounting mode bits
PCB for time account when set up
PCB 400 with address above zero has 5 double words.
is given. These words are the PCB addresses.
It is located from PCB address -8 to PCB address -40. each
The word is the one whose bits 52-63 are zero.
Displayed in microseconds in the first 52 bits.
includes the time or time interval that occurs. Remaining time is up twice
Word RTO (first 8 bytes greater than or equal to 0 on the PCB)
is executed before the timeout exception operation occurs.
of a certain amount actually spent by the processor for
Including time. The RTO word is updated in the following way:
It can be done. That is, each time a process exits the running state,
The process timer value is stored in the RTO word.
It can be done. Each time a process enters the running state,
The timer values are loaded from the RTO. Execution time account in bytes 7 to 15
The double word in the ing RUA is a time counter and
This means that the process was in the running state.
Specify the total amount of service time. Accounted time
is actually executed completely by the processor for the process.
is the time spent on. The RUA word is below
updated in a way. That is, the process changes its execution state to
The value of the process timer PT is read every time the machine escapes.
It will be done. The difference between RTO and PT content is added to RUA.
It can be done. (The PT value is then stored in the RTO)
Note that the time the process is interrupted is not calculated.
I want to be understood. The RTO and RUA words are
Counting mode bit is set to 0
will be updated even if However, CET,
RTA, and WTA words (described below)
is the account in process main word PMW0.
when the setting mode bit is set to 1.
is given in the read process control block. these
word is updated in this case. Waiting time account in bytes 17 to 23
Teing WTA Word is a real-time counter and professional
Specifies the total actual time that the process was in standby state.
WTA words are updated in the following ways: That is,
day each time a process exits the waiting state
The time value TOD of the clock (not shown) is read.
Then, the value of TOD minus the value of CET word becomes WTA word.
Added. Ladies placed in bites 24 to 31
Time accounting RTA word is real time accounting
The process is ready when the process is ready.
Specify the total time spent in the event. RTA is the following method
will be updated. In other words, the process leaves the ready state.
The day clock time value TOD is read each time the
Therefore, the TOD contents - CET contents are added to the RTA.
Ru. Current entry time in bytes 32-39
The CET double word indicates that a process is in each of the following states immediately.
Ready, Wait, Execute and Suspend
Including daytime. System base structure In Figure 6, the system base 600
-mat is shown. This system base is absolutely
Located in main memory and generated by firmware
Boundary that can be read but not written
Accessible via address register (BAR)
It is Noh. This boundary address register BAR is
An area of main memory reserved for hardware
area and is reserved for hardware.
Divide the memory area and system base 600
do. Next, in Figure 6, this system base
600 contains a number of system attributes, which are currently
job step number and
Contains the process group number (JP). P
From the logical name of Process JP, the corresponding
The absolute address of the access control block PCB is obtained.
Ru. The size and address of J table is J table word.
(JTW). This word is
Placed at address specified by BAR register
be done. The format of JTW is shown in Figure 11a.
be done. Figure 12 shows the size of J table 1204.
(JTSZ) 1101 is J table 120 up to 255
Specify the entry number in 4. JTSZ11
01 is an 8-bit positive integer, if J is JTSZ
If the value is also large, an exception from table J will occur. J table 1
The absolute address of 204 is the J table pointer 1102.
Obtained by 16x. J table 1204 is J table entry
11b, the format of which is further shown in Figure 11b.
Shown in detail. Each J table entry points to a P table point.
P table 1205 obtained by multiplying data 1104 by 16
Specifies absolute addresses. P table size
(PTSZ) 1103 is the entry number in the P table
stipulates. This PTSZ is an 8-bit positive integer
In order to indicate the entry number of the P table, it generally starts from 0.
Varies up to 255. If P is larger than PTSZ
If so, an exception from the P table will occur. Each of P table 1205
The entry is the process control block pointer 11
Process control block (PCB) by 16 times of 07
1206 absolute address is defined. existence index
Icator P1105 is set to binary 0.
indicates that the PCB is not present, and sets it to a binary 1.
Indicates the presence of a PCB when detected. (Existence I
When the indicator P1105 is 0,
An empty P table entry exception operation occurs. ) P table index
Bits 1 to 7 of the icator (Figure 11c)
(MBZ)1106 must be 0 or
If so, an illegal P-table entry exception operation will occur. System base 600 address BAR+4
In this case, the G table shown in more detail in Figure 11d
There is a word (GTW) format byte.
The size and address of the G segment table 1212 in FIG.
Dress is determined by the contents of G table word (GTW)
be done. G table 1212 size (GTSZ) 110
8 specifies the entry number to the G table, and the G table is a general
up to 255. GTSZ is an 8-bit positive integer
, and if the value of G table is larger than GTSZ
An exception from the G table occurs. Absolute a of G table 1212
The dress is obtained by multiplying the G table pointer 1109 by 16.
It can be done. The format of the G segment table entry is
A G segment script with a size of 2 words.
It is called ta. G segment descriptor frame
The ormat is shown in detail in Figures 11e and 11f.
has been done. All G segment descriptors
is direct, so the indirect bit I, 111, is zero.
Must be otherwise illegal segment
A descriptor exception operation occurs. existence inday
Cater P1110 is a one-process field,
When this is set to a binary 1, it is
main memory for the segment number corresponding to the data.
indicates that the segment is defined in
If is cleared to 0, the segment is unspecified and the segment is
A reference to a component descriptor is missing (missing).
error) causes a segment exception. Available videos
A1112 is a 1-bit field, and this
indicates whether the segment is available,
This segment is defined (i.e. P is a binary number
(equal to 1) is tested to see if the length is
If not, it will be ignored. Used flag field U
1113 indicates whether the segment was accessed
shows. If the U bit is set to binary 0,
If so, the segment has not been accessed.
However, if the U field is set to binary 1,
For example, the segment was accessed. Written flag
Tsugfield W1114 has a segment written to it.
Indicates whether the If W is set to binary 0
If the segment is written, the segment is not written, but
If W is set to binary 1, the segment is
Written. G segment descriptor game
The action indicator GS1115 is set to binary 01.
must be registered, otherwise illegal segmentation
A current scripter exception occurs. The reason for this is that
a semaphore always contains a semaphore (the converse is not true)
but. That is, all semaphores are in the G segment.
), the semaphore command is
This is to require that the code be the binary number 01. Se
The absolute address of the base of statement 1214 is 24
The 11th bit base field 1116
Specified in the G segment descriptor in figure e,
The contents of this field are multiplied by 16 to form the absolute address.
get. G segment disk script in Figure 11f
The second word of the data is the bit in G table 1212.
It occupies positions 32-63. Bit 32
RSU fields 1117 to 39 are software
Reserved for air, as in this case G segment
Generally when used as a ment descriptor
It will be ignored. MBZ field 1118 is 0.
otherwise illegal segment exception
happens. MBZ field 1118 is bit 40
to 51, so the segment size is small.
SIZE field 111, which is the field for
9, all G segments are small
Must be of segment type. segment
SIZE1119 is the bar in that segment.
is a 12-bit positive integer that specifies the bit value,
Consider the size of this segment to be a multiple of 16
It will be done. Therefore, for G segment 1214
Segment size is 2 16 I can do more than my part-time job.
(small segment). Again in the system base 600 of FIG.
9 placed between BAR+8 and BAR+4
There is a system exception cell word. this system
The format of the exception cell word EXC is 11th g.
As shown in the figure. Semaphore when system exception occurs
transmits a message to a given process.
for these semaphores.
A pointer can be found in nine locations in memory.
each location is called a system exception cell.
There is one for each class of called system exception handling.
MBZ field 1120 is set to binary 0.
must be checked, otherwise system check
happens. Each exception cell (EXC)
Includes name names GD1121 and 1122. Located at BAR+44 of System Base 600
The channel exception cells that are
It has a format similar to a cell and has a channel exception.
send a message to a given process when
The system name of the semaphore used to
Including GD. Internal processor keyword IPQW is BAR+48
The format is
Details are shown in Figure 11h. This IPQW word
are shown in FIG. 9 with reference numbers 905 and 805.
queue (Q/PR/
RDY) head. Ready professional
Sesquiyou (Q/PR/RDY) is in ready state.
Link all processes that This is a lady
By pointing to the top of the state process queue
IPQW word Q/PR/RDY HEAD file
Referenced by field 1124 (Figure 11h)
Ru. Q/PR/RDY HEAD field 1124
contains a 16-bit positive integer, which is a GO segment
From the base of G segment number 0 called
This is the displacement up to the first byte of Q/PR/RDY.
If this Q/PR/PDY bit field is 0
, the queue in the ready state is considered empty.
Ru. MBZ field 1123 must be 0.
Otherwise, a system check will occur. System Base 600 BAR+52 smell
storage of initial and current retry counts.
location, the format of which is detailed in Figure 11i.
Shown in detail. NFS field 1125 is non-mechanical
functional memory field, system-based
Not used. Initial retry count fill
code 1126 and current retry count field 1
127 controls the number of times, automatic command retry is
Mechanical error is caused to form a mechanical failure exception condition
executed previously. These fields can be reset
The same result is determined by the retry count (not shown in the text).
A few lengths are loaded. Execution process word shown in Figure 11j
(RPW) is system base 600 BAR + 56
is remembered and prioritized in case of monoprocessor structure.
Used to remember the names of running processes.
It will be done. NFS fields 1128 and 1131 are
Each is a non-functional memory field, and can be used on any device.
Can be used for any purpose, but is generally system-based.
Not used for The priority of the running process is
Stored in PRI field 1129. Asynchronous
The lap bit is stored in AB field 1130.
However, asynchronous trapping uses the ARN file.
The information is stored in the file 1132. Monoprocessor structure
The logical name JP of the running process is the JP file.
The data is stored in the field 1133. The absolute value table pointer shown in Figure 11k is
Located at BAR+60 of stem base 600,
Used during initial system load (ISL)
All absolute addresses in the ISL program must be in BAR.
initial system load (ISL) by adding
Initializes the absolute address in . This absolute
The value conversion table pointer 1135 is an absolute value conversion table (not shown).
Specify the location of This absolute value table
The size is indicated by ATSZ field 1134.
Ru. The CPU sequence number word shown in Figure 11l is
A 4-byte word placed in BAR+64,
CPU in CPU sequence number field 1136
Contains consecutive numbers. The main memory upper limit word shown in Figure 11m is
BAR+68, the most
giving the absolute address of a later available word
indicates the main storage upper limit 1139. In BAR+72, initial system load
ISL equipment channel number (CN) 1140 and hardware
hardware equipment channel number (CN) 1141 and
The words shown in Figure 11n are arranged to give
It is placed. Types of equipment used in computer systems
Type and subtype are fields 1143 and 1143, respectively.
Hardware equipment type word in 1144
(Figure 11o), in which case the RSU
Field 1142 is reserved for software.
has been done. This word is in BAR+76
Found within the system base. In figure 11 p.
A format similar to the one shown above
Similar words with
Includes the type and subtype of equipment used in the code.
nothing. This word is placed at BAR+80. Press the restart button on your computer to restart the computer.
A rate V operation is performed for one semaphore,
Enter the ready state. Points to this semaphore
The printer is found in System Base 600 BAR+84.
issued and called the restart cell word, Figure 11q.
It has the format shown in . This format
The exception cell is similar to the system exception cell described above;
G field 1149 and D field 115 respectively
Contains the system name GD of the semaphore in 0.
nothing. MBZ field 1148 must be 0.
No. One or more
If you have a processor, for multiprocessor expansion
word is system base 600 BAR+88
given to. Details of this word are shown in Figure 11r.
shown. System-based and Process Control Block Usage Example In Figure 12, the user segment
component, system segment, or ready status program.
Sesquiyou (Q/PR/RDY) segment ad
How do I configure the system for response specification and access?
System base combined with process control blocks
This is an example of how it can be used. Main memory 12
00 is a section reserved for hardware use.
1203 minutes. boundary address register
BAR1202 uses system base 1215 as hardware.
Memory 1203 reserved for software
Separate from a part. This boundary address register
BAR1202 is system-based.
For the displacement of the desired item in units of 4 bytes
In system base 1215 by adding
Used to address matters. Next
The address of the desired system is based on
indicates the first byte of In Figure 12
BAR1202 indicates J table word (JTW)
are doing. As mentioned above, this J table word is
It has a pointer pointing to 1204. In Figure 5
By indexing the indicated J number,
Table entry 1216 is obtained. J table entry
and specify the absolute address of P table 1205.
There is a P table pointer. P number in P table 1205
(See Figure 5)
The absolute address of the process control block 1206 is obtained.
It will be done. Already installed on process control block PCB 1206.
The two address space words as shown in
There are ASW0 and ASW1. Base register 120
Segment table number field STN in 1
The upper bits are these two address space words.
In this case, it is used to access one of the
In , ASW1 is the segment table word array
Segment table word pointing to STWA1208
Contains a pointer to the array STWA. base regis
8 along with the segment table number STN of data 1201.
One of the segment table words is STWA120
8, this is the 8 segment table 1
210. Base register 120
Segment table entry STE from 1 then
The segment in which a certain segment descriptor is placed
One of the 256 entries in the ment table 1210
used to do this. Next, this segment data
The scripter accesses user segment 1211.
used for accessing. (For further details, please refer to this publication.)
Transferred to the same person as Ming's transferee and included in the text for reference.
It was acted upon. “Segment” patented on February 10, 1975
U.S. Patent No.
(See issue 3938096) System segmentation used to store semaphore
system base to access client 1214.
G table word GTW is used in 1215.
Ru. The address of this G table word is
The displacement of the G table word in the boundary address
By adding to the register BAR1202 (Fig. 6)
can be obtained. This G table word GTW is G table 121
Contains a G table pointer pointing to 2. benefit the system
Use the available G number and index it in the G table.
The system segment 1214 can be accessed by
G segment day used to specify dress
Scripter is accessed. Similarly, Q/PR/RDY segment 1213
Place internal process keyword IPQW to direct
By doing this, the ready state process queue (Q/
PR/RDY)
1215 is used. G Control Unit Details of the control unit are shown in Figures 13a to 13c.
details are shown. This control unit is a central
shown separated from the processing unit (CPU)
is actually part of the CPU and control storage unit.
CSU1301 and control storage interface
What is the adapter CIA1302?
, control storage loader CSL1303, and control and loader
It consists of a host unit CLU 1304. The control storage unit CSU1301 has control and
Load unit CLU1304 and control memory interface
- Control recording via face adapter CIA1302.
Receives microinstructions from memory loader CSL1303
Ru. Under normal computing conditions, the microprogram
is loaded from an external source during system initialization.
is programmed and becomes a permanent control function of the computer. However
However, the control storage unit CSU1301
Perform various calculation modes of the central processing unit CPU104.
It has the ability to be reloaded and initialized as required.
The following calculation modes of the CPU are controlled by the CSU1301.
Available below. That is, (a) native mode
(b) Emulation mode, (c) Native and emulation mode
(d) diagnosis mode. child
The ability of the microinstructions in the CSU to
used to control the calculations of the CPU functional unit.
This is possible because it is a source of microinstructions. Before
The CPU functional unit described below is an emulation
Unit 1316, arithmetic logic unit ALU13
17. Instruction fetch unit IFU1318, address
control unit ACU1319 and data management
management unit DMU1321. Matanaka
What is known within the central processing unit CPU104
is the general-purpose register 1307 mentioned above and the base register.
register 1308 and scientific data register 1309
, T register 1310, and status register 131
1, instruction counter IC1312, and hardware
A control mask register 1313. Generally, the control storage unit CSU 1301 is
9K bipolar integrated circuit with read/write
mixed with random access storage (RAM)
Programmable read-only memory (PROM)
Ru. This is especially true for 150 nanosecond read cycles and 450 nanosecond read cycles.
and nanosecond write cycles. control memory
Each location in the
Memorize the command words (described in more detail below) and
A microinstruction word controls one CPU cycle.
control Control of control storage unit CSU1301
As each storage location is read, its
The contents are decoded by a micro-arithmetic decoder and this
Each decoder handles a special operation that occurs within the CPU.
Micro-operations that cause calculations (described in detail below)
Give control signal. Classifies locations within each microinstruction word
(described in detail below) to configure a specific CPU
a sequence of control memories capable of performing operations or instructions
can be obtained. Each instruction is launched by the CPU
, a bit in the OP code indicates that the control memory activation system
used to determine the Instruction decoding function
Certain flip-flops that are set or reset by
A test of the control memory memory (not shown)
Molly can be further blocked into specific sequences as needed.
Lunch will be served. Control storage interface adapter CIA130
2 is a control storage unit 1301, a data manager
management unit DMU1321, and the 13th
Instructs the calculation of the control memory 1333 in figure b.
Communication with the arithmetic logic unit ALU1317 for
Ru. This CIA1302 is used for control storage address modification.
decoration, testing, error checking, and hardware
Contains logic for dress generation. hardware
Address generation generally triggers an error sequence
Used for address generation and initialization sequence.
used. Data management unit DMU1321
is the CPU 104 and the main memory and main memory shown in Figure 1.
and (or) buffer storage memory.
provide an interface. which unit is the other
Recognize whether the unit has the necessary information
and stores this information in CPU registers at the appropriate time.
This data management method
This is the responsibility of the management unit. Also this data money
The management unit DMU performs maintenance during partial write operations.
Do skinning. The instruction fetch unit IFU1318 is the DMU1
321, ACU1319, ALU1317 and
Interface with CSU1301 and use it as CPU
It is possible to respond by continuing to give commands. Instruction fetch
The unit completes its register prior to completion of the current instruction.
to keep the next instruction available in the
Ru. To provide this ability, the instruction fetch unit
The IFU1318 typically contains 12 instructions containing one or more instructions.
and an instruction register (not shown) for the bit. Furthermore,
The IFU, under control of the CSU, determines whether the instruction is actually needed or not.
requests information (instructions) from main memory before
The 12-byte instruction register is constantly updated.
is maintained. Commands are not normally used like this.
It is pre-fetched by a new memory cycle. Matako
The instruction fetch unit decodes each instruction and sends it to other units.
Indicates the length and format of the instructions
Ru. Address control unit ACU1319 uses CIA
communicates with IFU, ALU, DMU, and CSU through
Ru. ACU1319 generates all addresses in the CPU.
Responsible for development. All including transmission inside and outside ACU
The operation of the ACU is based on the micro operations of the CSU and this module.
Directed by logic within the unit. ACU's
Normal cycle behavior is during instruction rather than instruction type.
depends on the type of address. address tie
Depending on the program, the ACU may
and perform different operations. Also, this ACU has eight
Base address of last used memory segment
memories along with their segment numbers.
It includes an associative memory 1319a. memory request
Each time a segment is created, this segment number is stored in associative memory.
The base of the segment
Determine whether the address has already been generated and memorized.
Ru. If the base address is associative memory 1319
a, this address is an absolute address.
can be used to generate resources, saving considerable time.
Ru. If the base address is associative memory 1319
If it is not contained in a, access the main memory table.
generated by processing. However, this segment
After the base address of the target is generated, it is used for future references.
Associative memory with its segment number for reference operation.
- will be stored within. Interfacing with ACU, IFU, DMU, and CSU
The arithmetic logic unit ALU13 is in front of the
It is 17. Its basic functionality requires the CPU
It consists in performing arithmetic operations and data manipulation. This calculation
The operation of the technical logic unit is completely controlled by the memory unit.
Micro operation control signal from CSU1301
Dependent. Related to ALU1317 and CSU1301
Scratchpad memory unit LSU
1315 (sometimes also called local storage unit)
). This is typically 256 locations
(32 bits per location) solid state
root memory and selective reading of that memory
It consists of write/write logic. This scrub
The built-in memory 1315 stores CPU control information.
used to store information and integrity information. Furthermore
Scratchpad memory 1315 is the working location.
This primarily includes operations during data manipulation.
Used for temporary storage of perrando and partial results
be done. Also, it is related to ALU1317.
is especially used to remember each state of a computer system.
Auxiliary memory consisting of 64 flip-flops for
-1317a. The CPU also has a clock unit 1320.
However, it becomes two clock systems for one clock system.
There is. That is, the first clock system
Timing of Turf Ace adapter CIA1302
The second clock system is located within the central processing unit.
The timing pulse for the operation of the functional unit of
Occur. Next, in FIG. 13c, control storage word 13
25 formats are shown. This control memory
The field is 84 bits wide and consists of 6 main fields.
It is divided into. That is, a sequence type field 1326 (3 bits)
), b branch and/or micro-operation 132
7 (23 bits), c Constant generation and instructions 1328 (14 bits), d Data to bus 1329 (bits), e Micro operations 1330 (32 bits), f Checking 1331 (4 bits). 3-bit E-fee in control storage word 1325
field is used as a sequence control field.
It can be done. This computer system has seven
Different sequence types and one reserved
There is a type. Block 1335 of Figure 13b
, the E field is a binary 0, 1, or 2.
When equal, the branch file of microinstruction 1325
fields A, B, C, D, and L are the following addresses
used to generate. The highest value of KS register 1337
The first 6 bits are B field, C test result, D
used with test results and L fields.
gives the next address of the next microinstruction, and
The microinstruction is written in the next address register KS13.
37. E field is binary 4
(see block 1335), the next
The selected address of the interrupt return register
Extracted from KA1339. Recorded in KA register
The stored address will be updated when a hardware interrupt is generated.
is generated by the following address generation.
be. E field set to binary 5
When a branch operation is used to write a microprogram
A subreturn from a subroutine is set.
Ru. When a branch operation is used, the return register
The contents of star KR1346 are the following control memory address.
used as. This return register 134
6 is loaded by issuing a control store command.
This command is executed by the incrementer 1338.
KS register 13 for KR register 1346
Load the current control memory address of 37 + 1.
Ru. One level of nested subroutine ability is
via KT return branch register 1347
Given. KR register 1346 is loaded
Each time, the original contents of the KR register are changed to the KT register.
transferred to the microprogram retarder 1347.
The contents of the KT register are updated to the KR register each time the command is called.
transferred to register. Third level nested service
Routine capabilities are given by KU register 1348.
The fourth level nested subroutine ability is
Given by KV return branch register 1349
available. The E field of the control storage word is binary.
When set to 6, the next address is specified.
The control storage word that has been
The current address of KS register 1337 in
Equals +1. This E field becomes 7 in binary
When set, the CSU1301 is in diagnostic mode.
The next address will be the current address + 1.
Dew. The next step shown in previously described block 1335
Sequence of branch operations to control storage addresses
In addition to the control, shown in block 1336 of Figure 13b.
The sequence control generated by the hardware
be. (Note: Blocks 1335 and 1336 are actually
When a microinstruction word is written in a hardware register,
)
Branch operations generated by this hardware are
Validation conditions (errors, initial settings, control memory scans)
etc.), and for this reason, the E field is controlled and fixed.
Address control memory address register KS133
Force 7 to send it. This branch operation is
with the lock period length interrupt line (not shown) high.
The address that should have been generated under E field control
Store it in the KA interrupt return register 1339.
This is done by hardware generated address
is stored in the control storage address register. be
Interrupts generated by hardware/firmware
The operation is interrupted by another interrupt in that class.
Interrupt that prevents execution until a condition is met
Overrides flip-flop (not shown)
Has a ranking. The firmware micro operation is
These sequences are under firmware control.
Interrupt-blocking flip-flop reset for
It exists to control. This hardware control
The sequence below automatically
resets the blocking flip-flop.
The following conditions, listed in order of priority, are in this category:
- Enter. That is, (a) control memory load, (b) control memory
Address scanning, (c) hardware error, (d) software
Wear error. The remaining hardware requirements are interrupt prevention.
When generated without setting the stop flip-flop
It is made to act immediately as it occurs. The following terms and conditions
fall into this category in order of priority. (a) Initialization (b) Queer in software (c) Entry in security panel (d) Entry in security channel (e) Termination by hardware Initialization signal addresses binary 0
and clear the hardware resettable error.
and control memory scanning sequence under hardware control.
Blank to perform a control memory load operation followed by a
Have CSU1301 perform the process. Also, this is a system
Perform initial system settings. The soft clear signal is
Hardware reset by addressing binary 0
Clears trippable errors and prevents interrupts from flipping
Brush CSU1301 to reset the flop.
make them hurt. The maintenance panel entry signal is
to the CSU address switch on the channel (not shown).
branch the CSU to reset the address
Ru. The maintenance channel entry signal is the maintenance channel entry signal.
to an address generated via a file (not shown).
Branch CSU. This loaded ad
The response is from the maintenance bus QMB1344, which is a maintenance bus.
Part of the full channel and right-aligned. C
The end signal by the hardware is the binary address 2.
branch CSU. This sequence is
used as a total means. end of this sequence
is an E field with the E field set to binary 4.
Returns are initial by performing a yield branch.
Set. The control memory load signal is set to a binary 0 address.
Branch CSU. This is also a CSU lady
Cycle flip-flop (not shown) and system
Turn off Mukurotsuku 1320 and load CSU
state. In this loading state, the CSU
are control memory loaders CSL1303, IOC1305,
From main memory 102 or maintenance panel 1355
Can be loaded. Automatically when loaded from CSL
A scan occurs at the end of the load operation. Load operation
Scanning is performed by any other means.
The generation of calculation signals also prevents the scanning switch of the maintenance panel.
This can also occur depending on the settings of Tsuchi. control storage
The scan signal brushes the CSU to a binary 0 address.
make them hurt. The control storage scan
Under local hardware control. system during scanning.
Mukurokutsuk 1320 is OFF and therefore the command
No code or test is performed. of the scanning sequence
At the end the hardware interrupt return register
The contents of KA are transferred to address register KS and the system
The stem clock is turned ON and control is performed by the firmware.
It will be returned to A. The hardware error signal is CSU as binary 4.
branch to the address. Normal processing mode
In this case, which CPU functional unit is detected?
Hardware errors that occur are also hardware error times.
Activate the line (not shown). Generated control notes
Storage sequence testing system requirements
Decide what action to take. In diagnostic mode,
Hardware detectable error conditions are microdiagnosed.
It is discovered from the disconnection operation. This micro-diagnostic operation
Control the action to be taken. On the other hand, software
The error signal sets the control memory to the address of a binary 1.
have brunch. This address is micropro
Software error reporting system under program control
This is the start of the test. Again in FIG. 13c, E field 132
6 is a 3-bit file for branch code as mentioned above.
It is a yield. Branch and/or Mike
The arithmetic field 1327 is A, B, C, D and
and L field (block 1335 in Figure 13b).
), in which case the A field is:
The upper 6 bits of the address and the B field are 64 bits.
of the next address of the mask field in the
Middle 4 bits, C field is one of 64 tests
6-bit test field, D field
is another 6-bit test file for one of the 64 tests.
The yield and L fields are the least significant bits.
be. K field 1328 is a 14 bit field.
field, of which 6 bits are constant fields and 4 bits are constant fields.
is a constant or manipulated field, and a 4-bit
is an operation field for constants. to the bus
Data field 1329 is the QMB bus 134
It has 4 bits to control the information to the QA section of 4.
QA field and QB of QMB bus 1344
A QB file with 4 bits that controls information to the
It consists of a field. F field 1330 is 32 bits
Enter the micro operation subcommand in the
Coded to form. P field 133
1 consists of 4 bits reserved for testing. In operation, the microinstruction word is a control memory
Stored in device array 1333. calculation cycle
During this time, the control storage array is KS address register 1.
The address is specified by the contents of 337. this
reads the contents of the addressed location.
The output latch group 1357 is caused to read. reading
Each part of the word content of the output latch corresponds to each function of the CPU.
distributed or transferred to storage registers within the unit.
Ru. Each functional unit has a system clock source
defined by the control storage word under the control of
Decoding logic circuit for generating predetermined subcommands
including. In general, decoding also reduces the time
Also transmits command signals when signals are sent centrally
central section to reduce the number of cables required to
It is performed by each functional unit of the CPU rather than by the CPU.
Ru. Furthermore, the decoding process is
This is done within each unit to avoid timing problems.
It can be done. Furthermore, each unit can be used to execute subcommands.
Necessary for generating subcommand signals by decoding
to express a certain condition that exists within a functional unit.
These signals are returned to CIA unit 1302.
There is no need to Typical decoder unit 135
9 various fields from the microinstruction word
Receives micro operation signals a, b, c, d...
The generation of q, r is shown in Figure 13b. Ma
The microinstruction decoder 1359 is a microinstruction word processor.
Receives commands from the Is it a microinstruction word?
These fields are decoded and decoded into multiple lines s, t,
u...Set one of y and z. matrix
is the s-z line and the points α, β, γ……ψ, ω
A predetermined control line impedance connected with
It is formed by having . Next, the micro
When the fields from the instruction are decoded, the line s-
One of z becomes high. Greek letter α...ω
The darker dots shown in the matrix are two sets of lines.
In order to represent the impedance connecting between
Electrical signals propagating to the opposite line are also connected and impeded.
- Vertical line a where dance connections (dots) are shown -
It is transmitted along r. Then each vertical line a-r
is to each of AND gates 1360 to 1365.
Connected as one input. central timing
Other input signals including the timing signal ts from the control unit
Also connected to AND gates 1360-1365
Ru. Therefore, when each timing signal ts goes high, the other
All gates whose input signal is high are driven,
The microinstruction signal is sent to a predetermined function unit of the CPU.
Give to Tsuto. For example, if read latch 135
Command 1341 is decoded from 7 and horizontal line
When S is high, the vertical direction of a, b, c and q
The control line in the direction becomes high, and the AND gate 136
0, 1361, 1362 and 1364 are ts tone
As time signals are sequentially applied to these gates,
It is driven by In this way, the vertical control line
Water at different points indicated by the letters α to ω
The combination connected to the square control line is
Command signals are provided from control storage array 1333.
Each microinstruction in the central processing unit is
to the central processing unit CPU for controlling functional units.
represents a permanent switching matrix for supplying
In this way, a permanent firmware with switching characteristics
Air is required as a computer system capacity.
Simply specifying a sequence of micro-operations
Therefore, it can be configured within the computer of the present invention. Under normal conditions, data is stored in local registers.
CPU write data also known as yo1343
Write to control storage column 1333 via register
be caught. A control flip-flop (not shown)
Whether the top or bottom half of the storage array is written to
Specify whether the Control and load unit
Data from CLU1304 is transferred to maintenance bus QMB1.
344 to the CIA/CSU and control storage
Before writing to the storage array 1333, the storage local
Buffed by jista yo1343. this
Storage device local registers 1343 can be read and written.
time-shared into both local registers. multiple
Lexa KQM1345 has a maintenance panel 1355 or
is controlled by one of the microdiagnostic programs.
provides a read path connected from each register.
do. Comparison register KP1350 is for non-functional use
established and used for maintenance purposes and comparative logistics.
1352 and decoding logic 1351.
It can be done. H Dispatch arm for process control
Wear This day patch is firmware/hardware.
is a wear unit whose main purpose is to
Management of various queues and switching between each process.
process queues and process control blocks.
PCB, running processes within the system base, and new
Contains register updates for new processes. Also, this
The dispatcher processes the process in the semaphore.
(in an IOC or exception handler)
(after V operation, simulate V operation) to process
Transmit a message. Also, this means that the process
Free link semaphore to transmit the message.
P to release the message link when waiting for the
Queue message on semaphore after operation
Ru. This dispatcher also has native mode.
After the "roll-in" of the process execution in
If the current process runs in native mode
If inside, after the "contest", the native mode
A call is made to the command firmware of the program. Again this
is called with Decor extended firmware in the following manner.
Make a delivery. That is, (a) the process execution log in the Decor extension;
temporary invocation during rollout; (b) locking of process execution in said decall extension;
(c) Temporary invocation during call-in
(d) if the current process
After the contest if you want to keep it running
This is a limited call. In addition, the dispatcher will
Place the system in a dormant loop when it is not present
Ru. Persons coming in and out of the following dispatch stations:
There are several laws. (1) The initial configuration procedure (SIP) is the final step.
(assignee named in the text)
"System initial setup procedure" transferred to the same person as
U.S. patent application filed on December 2, 1970 with the name
(Refer to Application No. 528814) (2) The start and stop commands are
Perform entry. The startup command starts the process,
The command stops the process. (“Start and
The application filed on December 2, 1972 entitled “Suspension Order”
(See U.S. Patent Application No. 529,253) (3) The P and V operations are the entry to the dispatcher.
perform ri. P operation is message from semaphore
If the message is picked up and there is no message, the process is
Enters standby state. (“P and semaphore
Patented on February 15, 1972 entitled “V Operation”.
(See U.S. Pat. No. 4,374,409) Next, briefly, the dispatcher
manages each process and therefore tells which process
The currently running process
(i.e., hardware registration)
Current data included in data, scratchpad memory, etc.
Writes all information about running processes to PCB
) and roll in the new process (i.e.
All the information needed to run a new process
Hardware registers, scratchpad notes
Perform appropriate operations such as writing from the PCB to the
Manage your process control block PCB by
This is the main mechanism for Far arm wear carried out by dispatcher
calculations in the control unit (i.e. in the control unit)
The display is shown in flowchart figures 14a to 14i.
be done. For example, block 1402 of FIG. 14a
is an indication of the calculations performed by the dispatcher.
Yes, in this case the microprogram word is controlled
transmitted by the storage unit and decoder 1359
At the same time, a series of appropriate micro calculation signals are
Application part of CPU via No. 1360, 1361 etc.
The storage subsystem 102 system
Search for IPQW from base and scrub this
Transfer to chipped memory 1315. at the same time,
Dispatcher is a system-based G table word
Segment script directed by GTW
GO segment descriptor (No.
(Fig. 12) is taken out (1404). IPQW word
Bits 16-31 contain a 16-bit positive integer;
This integer is a G segment called GO segment.
Ready process queue from base with port number 0
– Q/PR/RDY head (first byte)
It is displacement. If bits 16-3 of the IPQW word
If 1 is 0 (1403), the ready status queue
- is considered empty. If you are in a ready state
If is empty, currently waiting in Q/PR/RDY
There are no processes in the queue and there is no ready queue.
do not have. Next to be determined in decision block 1405
The question is empty with the display indicator set.
The process is currently
Determine if it is running inside the calculator
It is to be. If the empty display indicator is
(i.e., the currently running process
), ready to use the processor
It has already been determined that there are no processes in the state queue.
The computer enters hibernation mode (140
6). However, if the currently running process
If the computer is in use,
If there are no waiting processes, the current
The process accesses its next instruction (140
7). Again, the decision block in the flowchart of Figure 14a
In block 1403, if the IPQW pointer area
If there is a positive integer in the GO segment
Ready state queue indicated by the IPQW word of
head is removed to scratch pad memory.
It can be done. (Note: To avoid repetition and for clarity, the control unit
Intermediate between the CPU and associated dispatchers
Functions are omitted. However, depending on the case,
Typical examples of intermediate functions such as those described in
It shall be shown more clearly. ) Up to this point, the main text
A queue with a waiting process in the day state
I had decided. before the next operation begins.
Whether there are any processes currently running in the processing unit.
A decision is necessary. Flowchart decision block
This is determined at lock 1410, and if
There are no processes currently running on the central processing unit (immediately
(CJP is not available), the head of the ready state
The command is executed (1412). However, the central processing unit
If a process is running on the
is a list of currently running processes and ready queues.
Decide which of the heads has priority.
Must be. Therefore, the execution program of the system base PCB 400
of the current process (CJP) located in the Seth Ward.
The priority byte is retrieved (1413). Then the current
Process CJP is waiting at the head of a ready queue.
Lower priority than new process NJP on board
A decision is made as to whether
(See Lock 1414). If CIP is lower than NJP
If it is not a priority, the CIP is controlled by the central processing unit.
Contest Indy Case
The data is reset (1415a). (This storyboard
The store indicator is executed for CJP and follows
1 after the start of the last instruction where there is a possibility of conflict.
More than one new process is in the ready queue
(under this condition, the contest index
The icator is set to a binary 1. ) except
Always set to 0. Current process CJP continues
be made to carry out any further orders.
Previously, CJP was run in decole extension mode and
A determination is made (1415). if
If CJP is running in Decor extended mode
The next instruction is in emulation mode (i.e.
(1419a), if
If CJP is not running in decole extension mode,
the next instruction will be executed in native mode.
(1419b). Return to decision block 1414.
However, if NJP, the head of Kyu in the ready state,
has a higher priority than CJP (i.e. its superiority)
The priority number is smaller than the CJP priority number)
If the currently running process CJP is from the calculator
“Lowered out” and new process NJP planned
It is "rolled into" the calculator. Therefore, Farm
The software priority subroutine PRIQ1418 is
Process CJP queue operation based on LIFO ranking
and firmware subroutine RLLO141
The first “low-out” victory by the CJP under the directive of 9
Direct to the queue in the ready state according to the priority number.
Ru. This RLLO subroutine uses general registers,
Base register, scientific data register, T register
stored in the master, status register and instruction counter.
Writes CJP information to main memory.
Return to appropriate storage area on process control block PCB.
to cause an RUA update. Furthermore,
Process main word 0 in PCB400
(PMWO) DEXT number will be updated. (142
0) Here, the new process NJP is
be prepared to be boundary address register
BAR is retrieved (1442) and the running process
RPW is system-based address BAR+56
(see block 1423). this
The name of the new process NJP is the next running process
New process NJP written to word RPW
In the process link PL whose name is Q/PR/RDY
Because the process link PL is written to
The system is therefore placed in the RPW block (142
4). Therefore, NJP from Kyu in ready state is
At this time, it becomes CJP and controls the central processing unit.
, so you can no longer wait for Q/PR/RDY.
Please enter the name in the Q/PR/RDY process link.
It must be removed from the queue by removing it from the PL.
Not (1425). Once this is done, the red
The queue of process Q/PR/RDY in the active state is
firmware subroutine UQLK, 1425a.
will be updated. Therefore, the permit retrieved from the computer
The JP number of the process is no longer controlled by the computer.
Q/
Placed in the process link of PR/RDY (142
6). At this point, the new process
and the transformation operation to give this control to the central processing unit.
and place the original process in a ready queue.
operations are performed and the output is under the control of the central processing unit.
Because there is a process (new CJP), the empty display index
The icator is set to 0 (1427). on the other hand
If there is no CJP under central processing unit control, the empty
The display indicator will be set to 1.
Ru. At this point, the central processing unit allocation
operation is completed and the new process is transferred to the central processing unit.
but the original process is in the ready state queue.
placed. However, the new process is shown in Figure 13a.
The hardware of the central processing unit 1306, for example,
register 1307, base register 1308,
Scientific data register 1309, T register 13
10, status register 1311, and instruction counter
It is not ready for execution against data 1312.
These are process control blocks for new processes.
must be supplied with control information from the
stomach. Therefore, the firmware subroutine 143
0 controls the CPU, first from the PCB (Figure 4)
PMW towards scratchpad memory 1315
Take out 3, then take out PMW0. PMW0
The MBZ field is checked (1433) and if
If this is not a binary 0, an illegal PCB exception will occur.
Ru. However, if the MBZ field of PMW0 is zero,
If so, PMW1 is extracted (1413). again
The MBZ field of PMW1 was tested and this
Determine whether it is a binary 0. If it's 0
If it is 0, an illegal PCB exception will occur, but if it is 0 then the device
Ispatsiya goes to C. Therefore, address space word 0
(ASWO) is taken out from a suitable space on the PCB.
The size of the segment table word STWSZ is
is less than 7. too
But if this is greater than 7, an illegal PCB exception is raised.
and if this is less than or equal to 7 then ASW1
is removed from the PCB (block 1438) and its
STWSZ field is tested to be less than 8 etc.
Deciding whether or not to eat (1439). If this file
If the code is greater than 8, an illegal PCB exception will occur.
But if that STWSZ field is equal to 8?
If it is less than this, the exception word EXW is retrieved.
(1440), that MBZ field is tested.
determines whether it is equal to 0 or not. If that MBZ
If the field is not equal to 0, it is an illegal PCN.
An exception is raised, but if it is equal to 0, the stack
SKT is removed (1442) and its MBZ feed is
is tested (1143) to see if it is equal to 0.
It is decided. If MBZ field is equal to 0
If not, an illegal PCB exception will occur, but if equal to 0
If so, the instruction counter word ICW is removed from the PCB.
It is taken out and placed in the instruction counter IC (144
4), whose TAG field is tested equal to 0
It is determined whether or not it is correct (1445). If TAG fu
If the yield is not equal to 0, then there is an illegal PCB exception.
arise. However, if the TAG field is equal to 0
If so, the MBZ word is retrieved (1446) and its
The MBZ field (bits 0-31) of
and is not equal to 0 (144
7). If this is not equal to 0 then it is an illegal PCB
An exception is raised, but if it is equal to 0, the stack
Base words 0, 1, 2 (SBW0, 1, 2) are
It is retrieved (1448). PCB base register
The contents of the 8-base register in the storage area are retrieved next.
is stored in the machine's base register 1308.
(1449). Next, the general register storage area of the PCB
The contents of the 16 general purpose registers from
is stored in the register 1307 (1450).
However, retrieving the contents of the scientific data register
Previously, the ability of process principal word 0 (PMW0)
The bytes are checked and scientific calculation mode is activated.
It is determined whether it will be used (1451). if
If scientific mode is used, the PCB
Scientific calculation register from scientific calculation register storage area
The contents of the data are retrieved and stored (1452).
Next, firmware progresses to the ability of PMW0.
Bytes are inspected and account mode is used.
(1453). If it's red
If mount mode is used (i.e. ability
Byte's account bit is set to binary 1.
), this account word is present on the PCB and
Day state time account word RTA updated
be done. Next, the firmware progresses to DEXT
Determine whether the number is set to 0 (14
54). If this is not set to 0
If the machine is in emulation mode (immediate
This indicates that the Decor expansion ability is being used.
Therefore, the DEXT number of PMW0 is checked (1
455) DETSZ file of process main word 3
Decide whether it is larger or smaller than the
Illegal if larger than DETSZ field
A PCB exception (1456) occurs. The reason is,
DEXT number is smaller than DETSZ field
is not equal to zero, and if so, the machine is
Implemented in law emulation mode and progressed to F
go Again at decision block 1454,
If the DEXT field is a binary 0, the
– The save mode is executed and the machine takes out the STW.
(1457). PCB remaining timeout warning
The RTO word is retrieved (1458) and CJP is executed.
Process time is limited by the time limit that can be spent in a row state.
is loaded. By this point, (a) the original process CJP is in the machine;
The new process NJP is different from the original process CJP.
New process NJP when given high priority
is "rolled in" to manage the CPU, or
(b) There is no CJP for CPU control and there is a queue in the ready state.
head was executed. Under condition (a), CJP
Pros in Q/PR/RDY taken out from RPW
Located in Sethlink PL, Q/PR/RDY
The process link PL's NJP is placed in the RPW and looks like this:
At this point, control is given to NJP, which becomes CJP, and the original
Position the two processes to remove control from CJP.
Switch the position to valid. Next, the NJP PCB is activated.
information necessary to run NJP (currently CJP).
information is in scratchpad memory or ACU register.
data array. Ready state if there is no CJP under CPU control
The head of the queue is executed, i.e. ready.
from the queue head to the process link PL
Take out NJP and put it in RPW word
Because of Patsutiya, NJP becomes CJP. To do this
Therefore, the process link PL is empty of Q/PR/RDY.
It will be left as is and it will be necessary to remove it. Therefore, starting at decision block 1461, the
The armware determines whether there is a CJP under the control of the CPU.
Determine if there is a free process link
(FPLS), this is accessed and
queued and this CJP is queued to this process resource.
written to the link. However, if the CPU is
If there is no CJP under your command, the state of NJP's PMW0 will be
The state byte is updated (1460) and sent to the machine again.
A determination is made whether the CJP is hot (146
3). If there is no CJP under CPU control, NJP
process link (formerly Q/PR/RDY)
(now under control of the machine) is Q/PR/RDY?
(1466) (i.e. Q/PR/RDY
(removed from queue), free link semaph
or FLSP, and at this time the free process link's
Free to be turned into a queue by Kyu (805 in Figure 9)
Become part of a process link queue (1466
a). The contents of the boundary address register BAR are retrieved.
Re (1464). System-based BAR+56
The executed process work of the deployed NJP (currently CJP)
The code RPW is updated by placing the NJP identification on the RPW.
(block 1465). empty display inday
The indicator is set to 0 if there is no CJP.
Ru. Then the contest indicator is set to 0.
(1467) and an address specification with typical contents.
The segment associator (first
AS132) in the figure is cleared (1471) and then
to enter the process mode (1470). (process
mode is more important than the operating system.
For example, by a process operated in a filter processor.
Indicates that the outside is handled. ) then FARMUE
continues until CAB (1480) and asynchronous trap
Bit AB is examined and set to binary 1.
(1481).
If the AB bit is set to binary 1
The process ring number PRN has been inspected
is greater than the asynchronous trap bit ARN or
Determine whether this is equal or not. (AB and
The ARN is placed in the priority byte of each process's PCB.
is set and is meaningful when the process is in the running state.
Yes, AB and ARN are system-based BAR+
Obtained from RPW placed on 56. ) RPW
AB and ARN in BAR+56 are asynchronous
Set the pbit or sync ring number first.
For an asynchronous trap routine that creates a condition for
is reset to proceed with step 1484.
Ru. If these are not reset,
Firmware allows you to smell the next pass.
It shows that there was an error when in reality there was no error.
For this reason, always synchronous trap routine 1
The process will proceed to 484 and will never be executed.
Next, return to decision blocks 1481 and 1482.
If the AB bit is not set or
Bit is set and PRN is not greater than ARN
If the firmware is progressing and processing equipment is
mode i.e. normal mode or emulation mode
Decide which mode to run. Therefore,
The DEXT number is checked and this is set to 0.
if it is set to 0.
If it is, the normal mode of the machine is executed (1
487). But if the DEXT number is set to 0
If not, emulation mode is running.
(1486) DESCRIPTION OF THE INVENTION A hardware/firmware system is a
Two basic records manipulated in the tutu operation
It recognizes the type of these two
The record of the type is stored in the virtual storage shown in Figure 15A.
location record and the database record shown in Figure 15B.
It is a record. Virtual storage records are generally
Addressing with segmented addresses
Contents of operating system procedures that can be performed
used. Database records are further divided into “regions”
Address the data using “one line per page” number.
used by user programs that specify this
Area refers to the user's file, and page refers to the user's file.
refers to the division in the user's data file,
A line number is a specific line number within the page of the file.
Refers to records. As shown in Figure 15A, the records in the virtual storage device are
It consists of the following fields. i.e. type
Field 1501 is a description of the recording type.
The record descriptor for this record (described below)
obtained from ). D switching of virtual storage recording
The fields describe the state of the record. This record is
The following conditions may exist. i.e. activity (this is a record)
means that it contains currently valid data. ) and
and soft delete (this is when data is no longer valid in the record).
, but it still occupies memory space.
It means to do something. ). length field 15
03 describes the actual number of bytes in the record.
Record 1504 contains the actual data of the record. point
The sequence field 1505 is for this recording body.
In some cases, this record may be used by either the owner or the member.
The next, previous, first, and last item in a given set.
and a pointer to the owner's record. recognized by hardware/firmware.
The second major type of record is described in Figure 15B.
This is a database record that looks like this. type fee
Field 1510 again describes the type of record, and below:
obtained from the record descriptor of the record written in
It can be done. Length field 1511 records in byte
Describe the length of. The recording body 1512 is the actual recording data.
Contains data. The pointer sequence 1513 is this
Points for recording the next, previous, etc. of the set
Including data. It is also recorded separately and described below.
D switch field 1604 for each record also
be. Furthermore, Figures 15C and 15D are of one record.
Describes the format of pointer sequences
(Fields 1505 and 15 in Figure 15A)
Field 1513 in Figure B). Hardware/File
Armwear system has two different pointers
- Sequence format, i.e. member records
The sequence in Figure 15C that is recognized for
Authentication and verification when a record becomes an owner record.
The format of Figure 15D, which is the recognized sequence
Recognize Tsuto. Member record (Figure 15C)
For, the next pointer field 1520 is
Include the addresses of the following members in the set:
nothing. Previous pointer 1521 is the predecessor of the current set.
Contains the member's address. owner point tough
Yield 1524 is the address of the owner of the set.
Including responses. For owner records, hardware
Pointers recognized by air/firmware
- The sequence format is shown in Figure 15D.
Ru. The first pointer field 1532 is
Contains the address of the first member record in the set.
The last pointer field 1533 is
Contains the address of the last member of the list. Each pointer described (next, previous, owner
, first and last) are optional. Of course
However, for a given set, the following combinations
only is legal. That is, Case 1 For owner or member records
The first, last, next, or previous pointer is
do not have. (Member records have owner pointers.
) Case 2 The owner record has the first pointer.
and the member record has the following pointer (mem.
Member records are retained even if they have an owner pointer.
(Optional). Case 3 Owner records are first and last pointers
and the member record has the following pointer
(Member records are held even if owner records are held.)
(Optional). Case 4 Owner records are first and last pointers
and the member records the next and previous points
(member records are owner pointers)
(may or may not have one). Other hardware/firmware systems
Properties can be divided into four different classes, or folios of pointers.
- This is Matsut's understanding. These clusters are not included in the record.
The space is used for virtual memory recording only.
Ru. For class zero and virtual memory recording only
Class 1 used and for database records only
Class 2 used for and database records
referred to as class 3 etc. used for
Ru. For all 4-pointer classes, their first
The two bits have a common meaning. first bit,
That is, the EOS bit is the end of set indicator.
It is. When this bit is set to 1, the point
By definition, the printer points to an owner record. Second
The NINS bit is the non-insert recording index.
It's good. This bit is set to 1
when the record is a member of the currently referenced set.
is not inserted. The class zero pointer format is shown in Figure 15E.
is shown. EOS bit 1540 and non-inserted bit
Bit 1541 occupies the first two bit positions.
SRA field 1542 is a 14-bit offset
, which points to the record placed in said segment.
is the displacement within a given segment.
SRA file obtained from pointer of class zero
The code points to the address of the record via the class zero pointer.
generally obtained from the base register used for
Always combined with segment number. A class 1 pointer is shown in Figure 15F.
EOS bit 1550 and non-insert bit 155
1 is the standard definition. Field SEG, SRA
1552 is defined by SEG and SRA as previously defined.
from standard segmented addresses.
Ru. These pointers can be segmented via pointers.
Address records directly by supplying the reference number directly.
used to define Class 2 used with database records and
For class 3 pointers, firmware/hardware
As mentioned above, the hardware system is
(See Figure 202) Each base register of the system
Promise that there is an index register associated with
recognize. General-purpose register 8-15 (201)
They correspond to index registers 0 to 7, respectively.
This index register number IXR 1 is base level
Jista BR 1 It makes me match. For example, the base
register BR 3 For index register
IXR 3 (GR 11 ) is the area-consistent line number pointer (first
5H)), and its current
SEG, SRA address is base register BR 3 included in
It can be done. In this way, users can access SEG and SRA addresses.
base register or index register with
The area-consistent single-line format data included in the register.
his records via any of the database pointers.
Address can be specified. Hardware that operates on database records
The A/F firmware command is a region-consistent single-line pointer.
Automatically convert from data to SEG, SRA address
Realize your abilities. For this reason, database commands
All real memory references made are standard hard
using a wear mechanism, this mechanism can be
Indexing performed automatically by hardware
Changes from an area-consistent line such as that contained in the
memory by segment and SRA number by
address. One page in the user file (area)
and recognized by the hardware/firmware.
There is a temporary one-to-one relationship between each segment.
A correspondence is made. In this way, it is described below.
hardware via a page decryptor mechanism
A/F Armware is which given page number
is also converted to a segment number. The class 2 pointer format is shown in Figure 15G.
shown. EOS and non-inserted bits are field 1
560 and 1561. The page number is
field 1562. line number is field
1563, in one page and area.
Represents the record number. Area-consistent line number pointer
The whole is supposed to be referenced by a database instruction.
Get the area number obtained from the index register.
obtained when using class 2 records by
Ru. The class 3 pointer format is shown in Figure 15H.
shown. EOS and non-inserted bits are field 1
570 and 1571. The area number is fee
1572. This is the user file
Browse numbers. Page number 1573 and line number 1
574 accesses a specific record in the user file.
Specify the dress. Figure 16A shows the database page, which
is determined by the hardware/firmware system.
A part of the user file (area) that is recognized.
be. The database page is already marked in Figure 15B.
Contains database records as described. already mentioned
As in, database pages reside in main memory.
1 between the database page and the segment
A one-to-one correspondence is made. Page header 1601 is the page containing this page header.
Contains certain circumstances regarding the. For example, this page
The header is the length of the page in bytes and the length of the page in bytes.
Describe the number of records (rows) included in the page. or,
This includes information such as write bits, and this
If the main memory contains the page,
It is set at the same time as writing to this register. page
After the header, the next main page of the database page
The important part is the row offset array 1602. this
is a 16-bit element array with a 1:1 ratio of pages.
Corresponds to the number of valid rows for. row offset array
For each element, a 2-bit D switch 16
04 and a 14-bit offset 1603. D
Switches are used to prevent recording inoperation, logical deletion, and physical deletion.
Describe the state of removal or operation. The offset is
to the record which is the relative displacement from the starting position of the page
This is a 14-bit pointer to The hardware is
Concatenated with the segment number corresponding to this page.
to this page by using the offset
addressability of database records.
I understand that How to get the corresponding segment number
The law is described below. What's left of the database?
The following portions are shown in records 1610 and 1612.
It consists of real database records such as these records
can be placed anywhere on the page (segment).
and not necessarily their position in the row offset array.
It won't be in the same order. If the D switch
Describes recording status that is inoperable or physically deleted
, the offset is set to zero and the record is
not exist. The real database page is shown in Figure 16B.
Addressed by a page descriptor such as
It can be done. Segment number of this page descriptor
No. 1625 indicates that it was loaded into main memory.
After this page contains the corresponding segment number.
Area number 1622 is the area number (face number) of this page.
). Page number 1624 is the actual page
page number. Last page indicator 16
26 is the highest page number in the given area
is equal to 1. The shift counter 1623 is
Contains the number of bits in the page number. Hardware/Future
The firmware system uses a single line pointer throughout the area.
When using automatic format, variable length page numbers can be used.
recognize. The “next” descriptor 1620 is
next page in a series of page descriptors
Used for descriptor instructions. "Previous" de
The scripter 1621 is a page scripter.
Points to the previous descriptor in the ane.
Using these page descriptor chains
This is described below. This page scripter chain
isle page is currently the main computer system
used to indicate whether it is located in memory.
This is hardware/firmware. memory
For each page that exists in
Cryptor is a chain that recognizes a single system.
and this chain is integrated as shown in Figure 16C.
Directed by the access control (IAC) pointer
Ru. This unified access control pointer is
Represents a one-word extension to the system base. IAC
The pointer is placed at address BAR+92 and this
The address is one word at the end of the system base.
It's past. IAC pointer format
field 1630, which must be zero,
Contains G number 1631 and displacement 1632.
Ru. This G number is the number of the G segment as described above.
It is. This displacement is the page descriptor's
at the displacement within said G segment where the start begins.
be. All pages of pages contained in main memory
The day scripter then replaces the traditional chain form.
Linked together in Matsuto. next day
Cryptafield and previous Descriptor Fee
form this link. Figure 17 shows page data in main memory.
Hardware to realize base page positioning
Figure 3 shows a flowchart for air/firmware.
This firmware has area one page one line number point
The page is first stored in main memory.
is used to determine whether the
If this is found to be in main memory
delivers the page descriptor for that page.
It is used to This firmware is 1
701. The first firmware operation is shown at 1702.
In this case, the main memory extraction IAC
The pointer is formed at the location of BAR+92
Ru. (The IAC pointer is the system base shown in Figure 6.
). The result of this memory retrieval is
As a result, memory access exception 1703 occurs.
obtain. An example of a memory access exception is physical memory
- or memory read error. Farm
The next step caused by the wear is the MBZ frame.
1704 shows that the yield is zero.
be done. (See Figure 16C) If this field
If it is found that is not zero, system check 17
05 happens. This occurs at the same time that the system check occurs.
The system enters diagnostic state. If the MBZ field is zero, step 17
06 is executed next. G from IAC field
The number is transferred to temporary register G. Displacement
The yield is also transferred to temporary register D.
This displacement is also referred to as the “first class”
It is also transferred to the computer's scratchpad memory.
Ru. Step 1707 is executed next. Main memo
Retrieval of the page is performed at addresses G and D.
Take out the descriptor (see Figure 16B). child
To take out the G and D addresses, as mentioned above,
This is done in batches. G, D access exception 170
8 indicates this memory retrieval (e.g. segment, illegal
G-D segment descriptor)
It can be done. Next, step 1709 is the firmware
Executed by a. firm wear sa louche
Area number of area consistent single line number checked by
and page numbers are page discs for matching.
Lipta area number field 1622 and page number
No. field 1624. Moshiko
If the area and page number match, the step
Step 1720 is executed, in this case firmware
The routine executes a valid page retrieved from main memory.
Scratch pad memory
Load and exit. If the current page descriptor area or
The area where the page number is checked per page per line pointer area
area and page number, the step
1711 is executed. Current page day of the page
Scripter's "next" descriptor field
1620 is temporary scratch patch location
It is checked against the contents of the "first pointer".
If these two numbers are not equal, the step
Step 1713 is executed, in this case temporary register
D is the "next" date of the current page descriptor
Loaded by Crypter Field. Ste
Following step 1713, firmware version
Lunch is a new page descriptor (``Next
)
is then removed and subsequently inspected in step 1.
707. Again in step 1711, if the "next"
The descriptor is temporarily the "first pointer"
If it is equal to the contents of the written location, then this
describes all pages present in memory
All rings of the page descriptor to be
View a page of areas being explored by armwear
Indicates that the event was completed without any release. In this case, pagination
An exception has occurred (1712) and the desired page is
Indicates that it is not located in Molly. Following this execution
Appropriate software operations are performed to achieve this desired
Causes the actual movement of the page into main memory. Hardware/firmware described in the text
Two more important elements of A are Figures 18A and 18B.
is shown. Set descriptor (18th A)
) is used to describe the properties of a given set.
Ru. As shown in FIG. 18A, P field 1
802 indicates the record pointer in this set.
A 2-bit file describing the interclass (mode)
It is a yield. All of the owner and member's partners
all records are at the same point for a given set.
It has a pointer to the class. Set disk
The owner pointer field of Puta 1803 is
If the member record is the owner of the owner record
- If it contains a pointer, it is set to 1 (the first
(See Figure 15C). Other pointer fields 18
04 is the first point for owners and members
, last pointer, next pointer, and previous pointer.
Describes whether it has a pointer. Set edition
The configuration mode field K1805 displays the current set
describes the mode of set organization used for
Ru. Only the ring set mode is detailed in the main text.
described. However, table array or list array
The ability to extend to other modes of set organization such as
have Displacement field 180
6 is the point of the record from the start of the record in memory.
Indicates the offset to the start of the intersequence.
used for (Figures 15A and 15B
reference). SET DAY AS DESCRIBED IN FIG. 18A
The scripter always uses hardware/firmware.
In order to supply a description of the reference set to a
When performing calculations on a
be accessed. The recording descriptor as shown in FIG. 18B is
Used to describe certain characteristics of record. F-Fui
Field 1820 is used to describe the recording format.
be done. The recording format is 15A and
Virtual memory recording and data storage as described in Figure 15B.
database record. Record type
field 1821 indicates the type of record, and finally
Memory as shown in Figures 15A and 15B
is loaded into the type field of the actual record. Record
The record length field 1822 is the main memory of the record.
15A and 15
It is loaded into the main memory record as shown in Figure B. The actual database instructions are shown in Figures 19A to 19F.
This is one of six formats as shown. The GROP format shown in Figure 19A is
Code 1910, file must be zero
code 1911, base register number 1912, and
and complement code 1912. base register
The star contains segmented addresses of records.
I'm here. The complement code is described by the arithmetic code.
used for further discrimination of specific commands
Ru. The XI format shown in Figure 19B is
Arithmetic code 1920, to further differentiate the arithmetic code
Complement code 1921, address syllabary used for
Bull 1922, field that must be zero
1923, logical delete field 1924, point
Intermode field 1925, and BR field
Includes a yield of 1926. base register
contains the segmented address of the record. a
Dress syllable 1922 is used in a certain way.
The set descriptor of the set to be treated as
(Fig. 18A). address syllable
is segmented by the address generation rules described above.
Expands to a commentized address. The DXDX format shown in Figure 19C is
Code 1930, used to further differentiate the instruction.
complement code 1931, one address syllable
AS1 1932, MBZ1 frame that must be zero
Yield 1933, Base Register 1934, No.
MBZ2 field, which must be 2 zeros,
and second address syllable AS2 from 1936
Become. Base register again segmented recording
Contains the address given. first address syllable
AS1 1932 specifies the set descriptor.
Ru. The second address syllable AS2 1936 is 2
Used for addressing base integers. The BRX format shown in Figure 19D is
Opcode 1940, used to further differentiate the instruction.
Type Field 1941, Bass Regis
Toughfield 1942 and Address Syllable
Contains 1943. The base register is
Contains segmented addresses. ad
The resyllable is the address of the set descriptor.
used for designation. The DXGR format shown in Figure 19E is
Code 1950, used to further differentiate instructions.
type field 1951, first base register
Star number BR1 1952, address syllable 19
53, MBZ1 field 1 which must be zero
954, second base register number BR2 195
5, Front-Back-First-Last Field 1956, O
and the second zero MBZ2 file
Contains code 1957. 2 base registers
is the address of two different records placed in memory.
Used to specify responses. address syllable is set
Used for addressing descriptors. Previous-
The after-first-last fields indicate the location of the record within the set.
Describe the desired settings. The OPDD format shown in Figure 19F is
Code 1960, description of specific database operations
Primitive field used in 1961, life
Type field used to further differentiate orders
1962, used to describe pointer fields
P Field 1963, and owners and men.
First - last - describing other pointers of bar records
next-previous pointer field 1965, pointer
– Describes the offset relative to the start of the sequence.
displacement field 1966, and base register
Contains the BR field 1967 containing the number of
There is. The base register is a segment of main memory records.
Contains a commented address. Direct database discovery command is firmware/
A hardware instruction, this is a database point
to an equivalent segmented address and then
add this segmented address to the base register
Load. Class 2 or class 3 typepoi
For records that are part of a set by a
The generated pointer is also stored in the index register.
is also loaded. The direct discovery command is shown in Figure 19B.
It is in XI format. firmware flow for direct discovery commands
The yard is shown in Figures 20A-20E. this
For the firmware, the MBZ field in the command is
Step 2002 (19th
(see figure B). If this field is zero
If not, an illegal format exception will occur (2
003). Otherwise, in step 2004,
P field 19 to determine the recording format.
25 (pointer class) checks are performed. nine
Class 0 or class 1 pointer (virtual memory
Step 2050 (20th D)
A branch to (Figure) is performed. Class 2 or class 3 pointer (database
step 2005 is executed for
It can be done. In this step, address
4 bytes at the location indicated by
The pointer retrieval operation is performed. This extraction
As a result of the operation, a memory access exception 2006 occurs.
can occur. Otherwise, the pointer is called "X".
Temporary scratch patch location revealed
be done. This retrieved pointer is
It is in the form of rows (see Figure 15H). execution
The next step to be taken is shown in 2007, but this
Here, the pointer area per page and line number is the page memo.
is checked to see if it is present in the
Ru. This check is performed to determine the page position shown in Figure 17.
This is done by firmware in the female routine.
If the page is not in memory,
processing exception 2008 occurs. Otherwise, step 2009 is executed;
In this case, the scratch patch location “X”
The line number from the pointer in the arithmetic logic unit
Temporary 16 base register located in port 1317
It is transferred to W (see Figure 13A). This point
The actual number of bits found in the row number of the page
Descriptor shift count 16
23. The page is as shown in Figure 17.
The scripter is a page layout firmware.
Fetched from main memory as part of a subroutine
(For details on page descriptor description, see
(See Figure 16B). The next step to be executed is 2
010, in which case the total number of rows on the page
The number is taken from the page header (see Figure 16A).
(see field 1601). In step 2011, the line number W is checked.
and this is less than the maximum number of rows on the page.
or something equivalent. If this is true
If not, invalid page format exception 201
2 occurs. Otherwise, branch 20B
This is done at 2020 in the figure. next step to be executed
2021, in this case the row offset of the page
The (W+1)th element of the array is retrieved. this
The extraction operation is the number of bits given by 16 x W
The address of the start of the row array indexed by
This is done by specifying the location. Memory access exception 2
022 can result from this memory fetch operation.
Ru. The next step to be executed is 2023, which is
The conjoint offset array (see Figure 16A) is
The record described by No. W has not been assigned.
It will be inspected to see if it is (inoperable). Moshiko
unused row exception 2 if the row is in an inactive state.
024 occurs. Otherwise, described by line W
whether the recorded records have been physically deleted;
Tests will be conducted to see if this is the case. If this is true
If so, a deleted row exception 2026 occurs. difference
If not, 2027 checks are performed and row W is
The records written by the user are logically deleted.
Find out if there is one. If this doesn't work, bra
2033, otherwise the command
logical delete bit 1924 is equal to zero?
An inspection (2028) will be conducted to find out whether
(See Figure 19B). If this bit is set to zero,
If so, a deleted row exception 2029 occurs.
Otherwise, the status register (Figure 2, file
The condition code of code 207) is set to 1, and the
2040. The purpose of the logical delete bit in an instruction is to
is no longer active in memory, but still
physically occupy main memory space as
Allowing the programmer to detect errors.
Ru. "Garbage Collection"
The process removes inactive records from memory.
Compress activity records to greatly simplify the removal of these records.
Do it efficiently. In this way, direct discovery orders are
command the garbage collection routine.
The use of setting the logical delete bit in
Logically delete the
Provides the ability to detect deleted records. In step 2033, the
Proceedings will continue. Status register condition code is zero
The branch is set to 2040.
In this step, row W is segmented.
The address that was created is the segment address from the page descriptor.
Take the client number 1625 and enter it in step 202.
Offset 1 obtained from row offset array element of 1
It is generated by concatenating with 603. This center
A segmented address is an arithmetic logic unit.
Temporary 32-bit register located at 1317
The data is loaded into the computer Y. In step 2042
, this temporary register Y is the instruction format
Described by the base register BR1926 from
transferred to the specified base register. This base level
The register is located in the address control unit 1319.
be done. In step 2043, the step
The pointer introduced in 2005 is an instruction
Index of number BR obtained from format
loaded into the register. In this way, index
base register (IXR) and base register (BR)
are the area per page per line pointer and segment respectively
step 2040
is executed to complete. Regarding the record indicated by pointer "X"
P field 19 in the instruction format
25 directs recording of virtual memory type.
branch to 2050 in Figure 20D.
will be held. In this case, the 4-byte pointer is
given by the address syllable of the instruction format.
retrieved at the address given. This point
The printer is a segmented address (Figure 15F).
) in the form of a scratchpad memory location.
- loaded into section “X”. This memory
As a result, memory access exception 2052 is generated.
It can be done. In step 2053, the location
Record pointed to by recorded pointer "X"
D switch 1502 is removed (Fig. 15A).
reference). As a result of this memory retrieval, the memory
Access exceptions may occur. Step 2053 Smell
checks for the soft-deleted status of records.
is done. If this state did not exist, the branch would
It will take place in 2060. If this condition exists, it can lead to death.
Checks for logically deleted bits in the command.
This is done at 2054. If this bit is zero
If set to , deletion record exception 2055 will occur.
arise. Otherwise, step 2056 executes
In this case, the condition code in the status register is set to 1.
branch is taken at 2070. too
However, the record was not found in the logical delete check step of 2053.
– then it must be active and the branch
is performed at 2060. See Figure 20E. Step 2060 advances to step 2061.
In step 2061, the condition of the status register is
The code is set to zero. Then branch 2
It will be held at 070. Step 2070 is a step
Go to 2071 and scratch patch location
The pointer stored in X is the field of the instruction.
to the base register indicated by BR1926.
loaded. (Figure 19b) Then the command completes
do. One embodiment of the present invention will be shown and described.
However, as will be apparent to those skilled in the art, many changes and modifications may be made.
Variations are possible in the practice of the invention and
It is within the scope of the gist of the clarification. In this way, many steps
This method provides the same result and does not cover the gist of the invention.
modified and replaced by other steps within the range of
You get it. Therefore, the present invention is
Should be limited only to the extent specified by the scope
It is something. Definition of the term ``absolute address'' A hardware byte address in the main memory device.
Physical Address "Address Generation" Refers to a location in the main memory device.
A large number to calculate the absolute address used to
A hardware machine that operates on address elements of
Function ``addressing'' Any of a number of virtual, logical and physical means.
``Address space'' refers to the absolute address of the CPU during the execution of a process.
corresponds to the above process that is allowed to be converted into
A set of logically segmented addresses called an ``address space word.'' A process control that directs the segment table word arrangement.
One or two words in the control block. this
The segment table word array contains the segments associated with the
Specify a statement table. "Address syllable" A logical address recognized by CPU hardware.
An ``analyzer/translator'' that is an operand of an instruction, and that first passes the control language flow through the linker.
Next, if there are no errors in the control language, the
The iser/translator uses static link
Convert to tables and other structures for cars. "Asynchronous processing" Simultaneous operation of one or more processes "Auxiliary memory" 64 files for storing various system states
A “base register” consisting of a lip-flop and placed in the ALU is referenced by the value in each address syllable.
``Boundary address register'' is the primary element in addressing the segment that is to be accessed by firmware/software.
directly readable to define the lowest memory address
Hardware register "call""inwardcall""outwardcall"
``Central processing unit (CPU)'' Includes circuits that control interrupts and execution of instructions.
A part of a computer ``channel'' Process subsystems and peripheral device subsystems
A means of communicating between systems, both physical and logical.
There are two types of channels. The physical channel is
I/O control unit ICO and peripheral device control unit
Logical channel with hardware connection between PCUs
A software module between main memory and a single peripheral device.
``Channel command entry'' which is an air communication path. ``Channel command word'' which is an instruction in a channel program. An element of a channel command entry. two
The channel command word is a single command
"Channel program" that configures the
An auxiliary code is a sequence of instructions that is executed by an operation code.
``Compilation unit (CD)'' code in an instruction A code for a procedure in any high-level language processor
obtained from compilation or assembly
Single target code. CU can be executed until linked
Not capable. ``Concurrency'' Explicit concurrency ``Condition field'' 4-bit field in branch instruction. centre
Each bit of yield corresponds to status register bits 0 and 1.
Corresponds to the condition code setting in . “Contest Indicator” is a hardware structure located in auxiliary memory.
A new entry is placed in the ready queue,
``Data address space'' indicating that priority conflicts may occur.
A set of four accessible logical recording addresses.
elements, i.e. logical fields, logical records, data
Consists of base pages and files. "Data descriptor" Describes data operations in indirect addressing.
``Decor'' is an information structure used as a functional characteristic or structure of a computer system ``Decor extension mode''
"Descriptor" calculation mode that allows calculations Generates the address of any data field
32 or 64 bit field used in some cases. Book
Many pointers in inventive addressing operations
One of the. "Descriptor block" Many data blocks except semaphore descriptor
The data block that contains the declaration of the crypter
data is not allowed. “Equipment Adapter” Adapts a specific device to a peripheral control device.
"Device Adapter Interface" is an electronic device that can be used to control device adapters and their related peripheral device control devices.
``Equipment control unit'' is the interface between the
Responsive firmware ``Dispatching'' Instruction file that provides relative position information within a segment
Fields or data disks in Omatsu
``Displacement Addressing'' base or current location of the immediate segment
Operate the location for any of the counters
``Dynamic addressing'' is a form of direct addressing defined by commands that obtain results within a group of processes during execution.
Addressing “editor” Information obtained from ring operations of a specific procedure
static files that format and print all or any
``Effective address'' part of the static linker For the physical address, the segment table number,
Segment table entries and segment relative
A logical address consisting of physical addresses. These key points
The element is a specific segment that ultimately points to the referenced segment.
The path to the segment descriptor is shown below. "Emulation mode" Starts up another computer and
Computer operations that appear to operate in the environment. “Exceptions” Exceptions are defined as requiring special treatment.
When the hardware detects the existence of a certain condition,
“event” that a process has value for some other process.
Everything found in the system by a field class is a different record in the same record class.
Similar fees used to remember the same characteristics
Set the field value. For example, within the employee record class
All field values for age. “Field value” represents the value of a tangible characteristic represented by a record.
An element of data associated with a wasted record. This value is
Translate as character string, number, boolean or value
with some data that can or indirectly leads to that value.
It is expressed as ``Farmware'' uses a form of microprogrammed control.
"GD name" is the part of the hardware unit organization that
Name used. G or G segment name is
Entries in G table containing segment descriptors
Re number. D is the relative ad in that segment
response. “G-segment” Address can be specified using GD name format, and related
Segment containing semaphore which is related equipment (G table)
ment "G table" When the GD name form is used, the memory pine pin
``Gating'' table used for ``Gating'' (heading of G segment).
Entry for the procedure in the segment
``General-purpose register'' equipment that controls the general storage of binary numbers, that is, bit string data.
32-bit record available to the running process
Jista. Some general-purpose registers are used for indexing.
It is possible to use it (GR8 to GR15). “Index” A data structure maintained and calculated by the system.
Construction. This structure is identified to the user only in key form.
This key allows the user to access specific recording occurrences.
provided to enable and position this
It can be done. ``Indexing'' Adding something to another adds a sign.
"Index register" is a general-purpose register used for indexing.
(GR8 to DR15). "indirection" An addressing method that allows an address to be
to get another address instead of the real data. "Indirection to Base" Data disk containing base register number and displacement
crypter is found at the referenced address
``Indirection to a segment'' A form of indirection that allows you to segment a segment.
Reference the data descriptor containing the ment address.
"Indirect segment descriptor" found at the referenced address A segment descriptor different from the segment
segment data containing information for addressing
A form of scripter. “Instruction” A central processing unit visible to the programmer.
``Instruction counter'' is the execution unit of the
The register associated with the running process containing the address
``Interleave'' Memory to reduce memory access time
Successive module access “interrupt” A process in the system due to the occurrence of a certain event
Interruption of an “interrupt process” A process that is activated in response to an interrupt operation.
Process “Inward Call” Call for execution of one procedure at one ring number.
Separate procedures for execution at the actual downward link number
Call "I/O controller" Base control for special I/O subsystems
Device that performs control ``I/O processor'' Peripheral storage device, that is, I/O device and main storage device
A potentially asynchronous system that primarily deals with the movement of data between
"JP table" Logical address for heading of process control block
``Job'' is a system work unit ``Job Control Language (JCL)'' is a language for describing jobs and their constituent parts ``Job Steps'' is a program defined by JCL statements.
The main subdivisions of a job that stop at the execution of the process ``Job step table'' Mapping or printing of the first part of the process name.
System table "Linked Modules" used to find the process group table. Output of the static linker. Cross references are static linkers
Compilation unit solved by
(CU) collection group ``linking'' Stationary linking term reference ``logical channel'' Channel term reference ``logical processor'' Hardware resources and
Collection of control information ``Main memory'' Instructions can be executed or data can be directly read from now on.
all addressable registers that can be loaded into registers.
Storage device ``Magnetic tape controller'' A peripheral subsystem related to a magnetic tape device.
Elements "Mass storage device controller" Peripheral device subsystem related to mass storage devices
Elements of “Members” The role played by records in relation to the generation of sets.
Discount. The current status of your membership record is set in
What is inserted or not inserted?
It is. "Memory Management" Physical memory allocation, relocation, and allocation
The operating system equipment "message" for release from a source that is not a file or the final result
Microinstruction words, control storage words, and microinstruction words.
The same "microprogram" used to implement the control functions of the processor
"Multiplex" is a set of machine codes, usually time-sharing hardware such as memory.
Division of resources ``Multiprogramming'' Two or more programs on a single computer
Simultaneous execution of systems in ``native mode'' Computer operations in a native environment ``offset'' In address generation, the address of a segment is
After the start of the segment where the specified part starts
Number of bytes "operating system" to ensure valid operation of the user's software
Basic software system "Outward Call" designed for
call another procedure for execution at the ring number of
``Owner'' The role a record plays in relation to a set. Setsu
There is a record of the occurrence of incidents along with the role of the owner.
Exists for a lifetime. ``Peripheral device control unit'' A channel program that performs input/output operations.
Independent microprogrammed processes that run
sa. “Peripheral subsystem interface” Free peripheral device control unit and I/O control unit
Standard used to transfer and control between
``Physical channel'' Refer to channel section ``Physical data structure'' Structure of data when physically recorded on a medium
Complete Definition of “Physical I/O” Transfer of data between memory and peripheral or end equipment
The operating system that initiates and controls the transfer
``Physical storage device'' is the hardware used to store data.
Various types of recording media and recording/reading hardware
Consists of state. "P operation" Entry to standby state or receive message
A "pointer" is a machine instruction that contains a semaphore for a process to perform. A pointer is used to uniquely identify an entry in an information structure.
Information elements used. The content of the pointer is a unique symbol
The actual entry in an address space is
address. "Pointer Database" A computer's normal addressing space and
Points whose contents are based on different address spaces
Ta. Generally, database pointers are
address space larger than the address the air has.
Consolidate memory that is currently unused.
A form of indirection that alleviates the problem of
I do. "segment in a pointer" whose contents are a partial segment of the entity addressed
A pointer that is a virtual memory address. virtual mail
Segments with insufficient memory addresses are
Same as the segment part of the segment pointer
Therefore, it can be known implicitly. "virtual memory pointer" whose contents are the virtual memory pointers of the addressed entity.
A pointer that is a memory address ``priority instruction'' An instruction ``procedure'' that must be executed in ring 0 A name that can be executed by a non-concurrency processor
software functions, i.e. algorithms
(algorithm), which is the format
, Gobol program, PL/1 internal procedures, etc.
be. "Call procedure" Creates a stack frame inside the stack segment.
``Procedure descriptor'' mechanism for opening procedure location and entry pointer
The word "segment of a procedure" whose content represents a procedure or a part of a procedure
Segment type "process"
Sequential execution of instructions "process address space"
A ``process control block'' is a memory address that can be transferred at any time to define the state of a process.
Data containing the required information (defined and recognizable)
(Hardware) “Process Group” Usually the processes required to perform a single job step.
``Process Group Builder'' is a related set of processes whose behavior produces linked modules.
``Process group loader'' is the part of the linker that executes the final solution in the linked module.
spawns a set of executable processes, then
load a set of programs into memory and begin their execution
Operating system equipment "Process group table" See P table section "Process link" Go to ready state process or standby process queue
Entry "Process state" Displays the dynamic state of the CPU process, e.g.
``process switch'' disconnects one process from the central processing unit and transfers it to another
``Process synchronization'' is a hardware function related to devices.
Functions to do. Generally these functions are
and PV operations. ``Processor'' receives data, processes it, gives a result,
The sequence of operations in response to a memorized program
A unit that can control kens, in a narrow sense.
is a central processing unit, broadly defined as a central processing unit, peripheral equipment.
equipment, or hardware/software processing
means a mechanical device. “Program” The procedures and relationships necessary to solve a certain problem.
related information to specifications, i.e. executed by a computer.
calculates the user's job or
an ordered instruction that performs a phase of a job
collection. ``Program execution'' Process operation according to program specifications ``Protection'' Enhanced by hardware and software
processes that interfere with each other or
Mutual address space is shared in such a way that
``P table'' function to prevent process control block
A hardware-defined data structure containing entries.
Construction. A P table entry always identifies a process group.
Indicates the complete set of PCBs included. Also, process group
Also called table. “Q/PR/RDY” A queue of a process in a ready state.
Queue: Order of entities waiting for information, processes, or availability
Ordered list "Ready state" There is no associated processor, but all but the processor
all necessary resources are available for the change to the running state.
A “record” of the state of a process A piece of data that represents an object in the real world
Basic. For example, "personnel" records indicating employees, customers
``Customer'' records indicating purchases, ``Purchase Order'' records indicating purchases.
Record. “Record Class” Define each record to allow only one record class
A set of similar records. For example, for all personnel
Records, records of all customers, records of all purchase orders, etc. “Record Descriptor” Used in the creation, recognition, and destruction of record structures.
Structure of information used. Single recording descriptor
Concerning the record class of. ``Relative address'' Increase or decrease location of one object relative to another ``Relocation'' From one location in main memory to the next
Contains all necessary reference adjustments for the previous location.
``return'' moving a segment to another location where one procedure returns the point at which it entered another procedure.
necessary to repeat the action of the procedure at the immediately following point.
Required Functions and Operations “Ring” Reading of process calls to a segment
Segments that restrict egress, writing, and execution
Protected attribute ``roll-in'' Control of a processor for a new process
``Rollout'' Performing the operations necessary to perform a process Stopping control of a processor by a process
``Execution state'' is the execution of the calculations necessary for the
``scratchpad memory'' CPU control also known as local storage unit
256 locations in ALU for storing information
``Scheduling'' Determining the sequence of operations ``Scientific operation registers'' 64-bit registers used for binary floating-point number operations
Tsuto register. When the system is for scientific operations
In the present invention, there are four registers for scientific operations.
Ru. “Segment” Adjacent main memory that is treated as one unit
PACE "Segmentation" Segmentation instead of a single linear storage in main memory
``Segment-based'' division into logical groupings called segments.The current origin of the segment. This is the segment data
of each field in one word of the descriptor.
One "segment descriptor" to the segment table that defines the characteristics of the segment.
entry, i.e. the segment descriptor finger
``Segmented Address'' See section ``Effective Addresses'' ``Segment Number'' Segment Table Number (Segmented Address)
A specific segment consisting of one of the
and the segment table entries for the selected table.
During generation of another "segment relative address" address, to obtain the absolute address
The final number added to the segment base ``segment table'' Address designation for that segment in the process
Segment day used to ensure constant capacity
Table containing scripters. a segment of a process
The collection of tables is the address space for said process.
Define the "Segment table entry" An item in the segment table. Each segment table entry is a segment disk
It is Lipta. "Segment table word" A segment table word that indicates the segment table of a process.
Entry to the entry table word array. This array is
Two address spaces within the process control block
one of the keywords. "Semaphore" Used to control communication between each process
Data structure "semaphore block" A data structure containing only the declaration of a semaphore descriptor.
Data Block “Set” Collection of one or more records. The definition of this set is
Has one “owner” record with zero, one or more
has a "member" record. 1 set is the order
It is attached and has the following meaning. That is, "first member", "last member", "next member", "previous member", "set class" A set class is a set based on the rules for:
It is a collection with a name. That is, the role of sets, the selection of set occurrences, the ordering of sets, and a set being a member of only one set class.
- is. One record is the only one in one set class.
can be one member of one set. “Set Descriptor” Initial settings, insertion, search, etc. related to the set structure.
Information structures used in calling and removing. 1 set
A descriptor pertains to a single set class. "Stack" Accepting and storing data using a last-in, first-out method
and a mechanism for permitting searches. stack frame
It consists of a number of adjacent parts called . "Stack operation area" Storage area, caller's instruction counter, parameter
Dataspace and local variables – in short, calls
the current frame that is most useful for executing the specified procedure
The current star holding a pointer to the data in
``Stack base word'' part of the stack frame.
Stack for associated rings 0, 1 and 2
Contains the segmented address of the segment.
A group of three words called a "stack frame" Data stored for a single procedure call
Adjacent portions of a stack segment that hold ``stack operations'' Information about and from the stack
Pushdown and popup of memory and retrieval
Tup operation. In fact, the information stored in the stack
Manipulation of pointers used for referencing. "Stack overflow" Used to store more information on the stack
An action that the possible space cannot hold. This is hard
detected by software. "Stack register" See section on T register "Stack segment" Segment of the process that includes the stack "Static linking" Compilation of source procedure and target of said procedure
An intermediate step between the execution of the form. linking
resolves external references made to said procedure.
“Status register” to resolve: 8 bits that specify the status of the currently executing procedure.
``swapping'' registers by writing segments to secondary storage.
of the main memory space occupied by the
Cancellation. Actual writing to secondary storage is performed by
If the segment was read last, then
Can be suppressed if unchanged. “Synchronization” Two or more programs that have a fixed relationship in time
Synchronous execution of processes. "System-based" Acts as the backbone for all information structures
A fixed area in main memory called a “task” A user-defined task consisting of only one stream of asynchronous instructions.
The first segment of the procedure stack is the T register.
The hardware address visible to the software, including the
Wear register "unit recording control device" for card devices, paper tape devices, and printing devices.
Peripheral subsystems associated with a single recording device such as
``User process group'' is a system element that exists independently of any job.
Internal display of any job step other than the process group ``Blank indicator''.
In other words, there is no hardware in the CPU that indicates that there is no CJP.
A structure located in the auxiliary register of the ALU. "Virtual memory" Programmers can use virtual memory regardless of the size of physical memory.
An addressing concept that lets you encode
The virtual memory management device automatically divides the main memory and
Manages the exchange of segments to and from the next storage device.
Ru. "V operation" For sending signals between processes for the completion of a certain event
Intended machine instructions. This V operation is
Compute on mafia. Abbreviation system ACU: Address control unit ALU: Arithmetic/logic unit AS: Address syllable ASW: Address space word BAR: Boundary address register BCD: Binary coded decimal number BR: Base register CCE: Channel command entry CCU: Channel control unit CMRN: Call Side maximum ring number CCW: Channel command word CET: Current state entry time CIA: Control storage interface adapter CJP: Currently running process CPU: Central processing unit CU: Compilation unit CSU: Control storage unit D: Displacement DMU : Data management unit DA : Equipment adapter EAR : Effective address ring EXW : Exception word GR : General purpose register GTW : G table word IC : Instruction counter IFU : Instruction fetch unit I/O : Input/output IOC : Input/output control unit IPQW : Internal Process keyword IR: Index register ITBB: Indirection to base register ITS: Indirection to segment J: Job JCL: Job control language JTW: J table word LCT: Logical channel table LIFO: Last in, first out LSU: Local storage memory or scratch
Padded memory MBZ: Must be zero MOS: Metal oxide film semiconductor MAXR: Maximum ring number at which the procedure can be executed.
MAXR is SEG EP segment disk
Found in Lipta. MSC: Mass storage controller MTC: Magnetic tape controller NFS: Non-functional state NPRN: New process ring number NJP: New process that replaces the currently running process
Process PCB: Process control block PCT: Physical channel table PCU: Peripheral control unit PL/1: Programming language/1 PMW: Process main word Q/PR/RDY: Ready process queue RD: Read ring RHU: Reserved for hardware use
RPW: Execution process word RSU: Reserved for software use.
RTA: Accounting for ready state time RTO: Remaining time expired SBW: Stack base word SEG: Segment number SKW: Stack word SEG EP :header in a procedure descriptor
segment SEG containing the entry point PD : Segment containing procedure descriptor
SR: Scientific operation register SRA: Segment relative address STE: Segment table entry STN: Segment table number STR: Status register STW: Segment table word STWA: Segment table word array T: T register (stack register) URC: Unit record Control device WR: Write ring WTA: Write time accounting

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は本発明によるマルチプログラミンシス
テムのブロツクダイヤグラム、第2図は本発明に
用いられる各種のハードウエアの略図、第3図は
第2図に示されるレジスタにおける記憶領域のリ
ザーブされた領域に使用される用語の略記、第4
図は本発明に使用される機械のプロセス制御ブロ
ツクの略図、第5図はプロセス制御ブロツクをア
ドレス指定するシステムの略図、第6図は本発明
を用いるコンピユータシステムのシステムベース
の略図、第7Aおよび7B図は本発明を用いるコ
ンピユータシステムのスタツクセグメントとスタ
ツクフレームの略図、第8図は本発明のコンピユ
ータシステムにおけるGセグメント、特にG−O
セグメントにおけるプロセスのキユーのアドレス
指定の為のシステムの略図、第9図は本発明を用
いたコンピユータシステムのプロセスおよびプロ
セスリンキングのキユーを示すG−Oセグメント
の展開略図、第10A乃至10L図はPCBにおけ
る諸構造部のブロツクダイヤグラム、第11A乃
至11R図はシステムベースにおける諸構造部の
ブロツクダイヤグラム、第12図はシステムベー
スとPCB構造部を用いるユーザセグメントとシス
テムセグメントのアドレス指定計画の略図、第1
3A乃至13C図は本発明の制御ユニツトの略
図、第14A乃至14I図は本発明を用いるコン
ピユータシステムのフアームウエアにおけるデイ
スパツチヤユニツトのフローチヤート、第15A
乃至15H図はセツト命令に使用される記録とそ
れらのポインタの略図、第16A乃至16C図は
ページを記述するデータベースページフオーマツ
トとデイスクリプタの略図、第17図は主メモリ
ーにデータベースのページを見出す為に用いられ
たフアームウエアのフローチヤート、第18Aお
よび18B図はデータベース命令により使用され
るセツトおよび記録を記述するデイスクリプタの
略図、第19A図乃至19F図はデータベース命
令により使用される命令フオーマツトの略図、お
よび第20A乃至20E図はフアームウエア/ハ
ードウエアにおけるデータベース直接発見命令の
フローチヤートである。 101……処理装置サブシステム、102……
記憶装置サブシステム、103……周辺装置サブ
システム、104……中央処理装置(CPU)、1
05……入出力制御ユニツト(IOC)、106…
…周辺装置制御ユニツト、107……機器アダプ
タ、108……周辺装置入出力機器、109……
主メモリーシンクロナイザ、110……バツフア
記憶装置、111……計算ユニツト、112……
エミユレーシヨン設備(エミレータ)、130…
…制御記憶装置、201……汎用レジスタ
(GR)、202〜203……スタツクレジスタ、
204〜205……フオーマツト、206……境
界アドレスレジスタ(BAR)、207……状態レ
ジスタ(STR)、400……プロセス制御ブロツ
ク(PCB)、501……ベースアドレスレジスタ
(BAR)、502……システムベース、503…
…J表(エントリ)、505……J表ポインタ、
701……スタツクフレーム、702……Tレジ
スタ、703……保管領域、704……通信領
域、801……G表、802……GOセグメン
ト、803,805……プロセスリング(キユ
ー)、901……ポインタ、902……ヘツド、
903〜904……セマフオア、905……キユ
ー、1001……能力バイト、1002……優先
順位バイト、1003……状態バイト、1004
……DEXT番号、1005……アカウントモード
ビツト、1006……科学モードビツト、100
7……コードモードビツト、1008……最初の
4ビツト、1009……次の4ビツト、1010
……動作フイールドビツト(A)、1011……
中断フイールドビツト(S)、1012……サブ
ステートフイールド(SS)、1013……中間演
算フイールド(MOI)、1014……拡張デコー
ルモードビツト、1016……状態バイト、10
17,1019……MBZフイールド、1018
……マルチプロセサバイト、1019……MBZ
フイールド、1026……STWSZフイールド、
1027……STWAフイールド、1028……
MBZフイールド、1030……ATGフイール
ド、1031……RINGフイールド、1032…
…セグメント相対アドレス(SRA)、1033…
…TAGフイールド、1034……RINGフイール
ド、1036……TAGフイールド、1037…
…RINGフイールド、1102……J表ポイン
タ、1105……インデイケータ、1107……
プロセス制御ブロツクポインタ、1109……G
表ポインタ、1110……存在インデイケータ、
1113……フラツグフイールド(U)、111
4……書込まれたフラグフイールド(W)、11
15……ゲーテイングインデイケータ、1116
……ベースフイールド、1117……RSUフイ
ールド、1118……MBZフイールド、111
9……SIZEフイールド、1120……MBZフイ
ールド、1123……MBZフイールド、112
5,1128,1131……MFSフイールド、
1126〜1127……再トライカウントフイー
ルド、1129……PRIフイールド、1130…
…ABフイールド、1132……ARNフイール
ド、1133……J.Pフイールド、1136……
連番フイールド、1139……上限、1140,
1141……チヤンネル番号(CN)、1142〜
1144……フイールド、1148……MBZフ
イールド、1149……Gフイールド、1201
……ベースレジスタ、1202……境界アドレス
レジスタ、1204……J表、1205……P
表、1206……プロセス制御ブロツク
(PCB)、1211……ユーザセグメント、121
2……Gセグメント表、1213……キユー、1
214……セグメント、1215……システムベ
ース、1216……J表エントリ、1301……
制御記憶ユニツト(CSU)、1302……制御記
憶インターフエイスアダプタ(CIA)、1303
……制御記憶ローダ(CSL)、1304……制御
ロードユニツト(CLU)、1306……中央処理
装置、1307……汎用レジスタ、1308……
ベースレジスタ、1309……科学データレジス
タ、1310……Tレジスタ、1311……状態
レジスタ、1312……命令カウンタ、1313
……ハードウエア制御マスクレジスタ、1315
……スクラツチパツドメモリー、1317……算
術論理ユニツト(ALU)、1318……命令取出
しユニツト(IFU)、1319……アドレス制御
ユニツト(ACU)、1320……システムクロツ
ク、1321……データマネージメントユニツト
(DMU)、1325……制御記憶ワード、132
6……遂次タイプフイールド、1327……ブラ
ンチング/マイクロOPフイールド、1328…
…内容生成指示、1329……データからバスへ
のフイールド、1330……マイクロOPフイー
ルド、1331……チエツキングフイールド
(P)、1333……制御記憶配列、1335……
ブロツク、1337……KSレジスタ、1338
……インクリメンタ、1339……割込みリター
ンレジスタ(KA)、1340……KUレジスタ、
1341……コマンド、1343……局部レジス
タ、1344……QMBバス、1346……リタ
ーンレジスタ、1347……KTリターンレジス
タ、1349……KVリターンランチレジスタ、
1351……デコードロジツク、1352……比
較ロジツク、1355……保全パネル、1357
……読出しラツチ、1359……マイクロOPデ
コーダ、1360〜1365……ANDゲート、
1501,1510……タイプのフイールド、1
502……記録フイールド、1503,1511
……長さのフイールド、1504,1512……
記録体、1505,1513……ポインタシーケ
ンスフイールド、1520……次のポインタフイ
ールド、1521……前のポインタフイールド、
1524……オーナポインタフイールド、153
2……最初のポインタフイールド、1533……
最後のポインタフイールド、1601……ページ
ヘツダ、1602……行オフセツト配列、160
3……オフセツト、1604……D−スイツチ、
1610,1612……記録、1622……領域
番号、1623……桁送りカウント、1624…
…頁番号、1625……セグメント番号、162
6……最終頁インデイケータ、1630……
MBZフイールド、1632……変位、1802
……Pフイールド、1803……セツトデイスク
リプタ、1804……他のポインタフイールド、
1805……セツト編集モードフイールド
(K)、1806……変位フイールド、1820…
…Fフイールド、1821……記録タイプフイー
ルド、1822……記録長さフイールド、191
0,1920,1930……演算コード、191
1,1923,1933,1935……MBZフ
イールド、1912,1934……ベースレジス
タ番号(補数コード)、1921,1931,1
932……補数コード、1924……論理削除フ
イールド、1925……ポインタモードフイール
ド、1926……BRフイールド、1941,1
951……タイプフイールド、1942,195
2……ベースレジスタフイールド、1943,1
953……アドレスシラブル、1954……
MBZフイールド、1955……ベースレジスタ
番号、1957……MBZフイールド、1960
……演算コード、1961……基本フイールド、
1962……タイプフイールド、1963……P
フイールド、1965……最初−次−前ポインタ
フイールド、1966……変位フイールド、19
67……BRフイールド。
FIG. 1 is a block diagram of the multiprogramming system according to the present invention, FIG. 2 is a schematic diagram of various hardware used in the present invention, and FIG. 3 is a diagram showing the reserved storage area in the register shown in FIG. Abbreviations of terms used, Part 4
5 is a schematic diagram of the system for addressing the process control blocks; FIG. 6 is a system-based diagram of a computer system employing the present invention; FIG. 7A and FIG. FIG. 7B is a schematic diagram of the stack segment and stack frame of a computer system using the present invention, and FIG. 8 is a schematic diagram of the G segment, particularly the G-O
Schematic diagram of a system for addressing queues of processes in segments; FIG. 9 is an exploded diagram of a G-O segment showing the queues of processes and process linking of a computer system using the present invention; FIGS. 10A-10L are PCB Figures 11A to 11R are block diagrams of the structures in the system base; Figure 12 is a schematic diagram of the addressing scheme of user segments and system segments using the system base and PCB structures;
Figures 3A to 13C are schematic diagrams of the control unit of the present invention; Figures 14A to 14I are flowcharts of the dispatcher unit in firmware of a computer system using the present invention;
Figures 16A-15H are schematic diagrams of records and their pointers used in set instructions; Figures 16A-16C are diagrams of database page formats and descriptors that describe pages; Figure 17 is a diagram of finding database pages in main memory; Figures 18A and 18B are schematic diagrams of descriptors describing the sets and records used by database instructions; Figures 19A-19F are diagrams of the instruction format used by database instructions; 20A-20E are flowcharts of database direct discovery commands in firmware/hardware. 101... Processing device subsystem, 102...
Storage device subsystem, 103...Peripheral device subsystem, 104...Central processing unit (CPU), 1
05...Input/output control unit (IOC), 106...
...Peripheral device control unit, 107...Device adapter, 108...Peripheral device input/output device, 109...
Main memory synchronizer, 110... Buffer storage device, 111... Computation unit, 112...
Emulation equipment (emulator), 130...
...Control storage device, 201...General purpose register (GR), 202-203...Stack register,
204-205...Format, 206...Boundary address register (BAR), 207...Status register (STR), 400...Process control block (PCB), 501...Base address register (BAR), 502...System Base, 503...
...J table (entry), 505...J table pointer,
701... Stack frame, 702... T register, 703... Storage area, 704... Communication area, 801... G table, 802... GO segment, 803, 805... Process ring (queue), 901... ...Pointer, 902...Head,
903-904...Semaphore, 905...Queue, 1001...Capability byte, 1002...Priority byte, 1003...Status byte, 1004
...DEXT number, 1005...Account mode bit, 1006...Science mode bit, 100
7...Code mode bit, 1008...First 4 bits, 1009...Next 4 bits, 1010
...Operation field bit (A), 1011...
Suspension field bit (S), 1012... Substate field (SS), 1013... Intermediate operation field (MOI), 1014... Extended decor mode bit, 1016... Status byte, 10
17,1019...MBZ field, 1018
...Multi-processor bytes, 1019...MBZ
Field, 1026...STWSZ field,
1027...STWA field, 1028...
MBZ field, 1030...ATG field, 1031...RING field, 1032...
...Segment relative address (SRA), 1033...
...TAG field, 1034...RING field, 1036...TAG field, 1037...
...RING field, 1102...J table pointer, 1105...Indicator, 1107...
Process control block pointer, 1109...G
Table pointer, 1110...existence indicator,
1113...Flag Field (U), 111
4...Written flag field (W), 11
15...Gating indicator, 1116
...Base field, 1117...RSU field, 1118...MBZ field, 111
9...SIZE field, 1120...MBZ field, 1123...MBZ field, 112
5,1128,1131...MFS field,
1126-1127...Retry count field, 1129...PRI field, 1130...
...AB field, 1132...ARN field, 1133...JP field, 1136...
Serial number field, 1139... Upper limit, 1140,
1141...Channel number (CN), 1142~
1144...Field, 1148...MBZ field, 1149...G field, 1201
... Base register, 1202 ... Boundary address register, 1204 ... J table, 1205 ... P
Table, 1206... Process control block (PCB), 1211... User segment, 121
2...G segment table, 1213...Q, 1
214...Segment, 1215...System base, 1216...J table entry, 1301...
Control storage unit (CSU), 1302...Control storage interface adapter (CIA), 1303
... Control storage loader (CSL), 1304 ... Control load unit (CLU), 1306 ... Central processing unit, 1307 ... General purpose register, 1308 ...
Base register, 1309...Scientific data register, 1310...T register, 1311...Status register, 1312...Instruction counter, 1313
...Hardware control mask register, 1315
... Scratch pad memory, 1317 ... Arithmetic logic unit (ALU), 1318 ... Instruction fetch unit (IFU), 1319 ... Address control unit (ACU), 1320 ... System clock, 1321 ... Data management Unit (DMU), 1325... Control storage word, 132
6...Sequential type field, 1327...Blanching/micro OP field, 1328...
... Content generation instruction, 1329 ... Field from data to bus, 1330 ... Micro OP field, 1331 ... Checking field (P), 1333 ... Control storage array, 1335 ...
Block, 1337...KS register, 1338
...Incrementer, 1339...Interrupt return register (KA), 1340...KU register,
1341...Command, 1343...Local register, 1344...QMB bus, 1346...Return register, 1347...KT return register, 1349...KV return launch register,
1351...Decoding logic, 1352...Comparison logic, 1355...Maintenance panel, 1357
...read latch, 1359...micro OP decoder, 1360-1365...AND gate,
1501, 1510...Type field, 1
502...Record field, 1503, 1511
...Length field, 1504, 1512...
Recording body, 1505, 1513...Pointer sequence field, 1520...Next pointer field, 1521...Previous pointer field,
1524...Owner pointer field, 153
2...First pointer field, 1533...
Last pointer field, 1601... Page header, 1602... Row offset array, 160
3...offset, 1604...D-switch,
1610, 1612...Record, 1622...Area number, 1623...Digit count, 1624...
...Page number, 1625...Segment number, 162
6...Last page indicator, 1630...
MBZ field, 1632...Displacement, 1802
...P field, 1803...Set descriptor, 1804...Other pointer fields,
1805...Set edit mode field (K), 1806...Displacement field, 1820...
...F field, 1821...Record type field, 1822...Record length field, 191
0,1920,1930...Operation code, 191
1,1923,1933,1935...MBZ field, 1912,1934...Base register number (complement code), 1921,1931,1
932...Complement code, 1924...Logical deletion field, 1925...Pointer mode field, 1926...BR field, 1941,1
951...Type field, 1942, 195
2...Base register field, 1943, 1
953...address syllable, 1954...
MBZ field, 1955...Base register number, 1957...MBZ field, 1960
...Operation code, 1961...Basic field,
1962...Type field, 1963...P
field, 1965...first-next-previous pointer field, 1966...displacement field, 19
67...BR field.

Claims (1)

【特許請求の範囲】 1 アドレス指定可能なスペースの複数個のセグ
メントからなるメモリーを有し、 各セグメントは1つのセグメント番号によつて
識別され、1つ以上の記録のセツトを記憶するも
のであり、 各セツトは1つのオーナー記録と1つ以上のメ
ンバー記録とを有し、 各記録はそのセグメント番号と、該セグメント
内でその記録を予め定められた記憶位置から相対
的に位置決めするためのオフセツトアドレス情報
とによつて前記メモリー内で位置決めされ、 前記複数のセツトの各々の中の各記録は、その
セツト内の他の複数の記録の内の所定のもの即ち
ポイント記録の夫々の識別を与えるための1つ以
上のデータベースポインターを記憶しており、 各ポインターは、それによつて前記セツトの予
め定められた記録に関して相対的に識別される前
記ポイント記録の記憶位置を表すような、 内部にプログラムされたデータ処理装置におい
て、 (a) データベース記録を直接取り出す命令のアド
レスシラブルにより前記複数のセツトの内の1
つの中の、1つの記録から前記データベースポ
インターの内の1つをアクセスし、該ポインタ
ーを第1の一時的レジスタへ転送するための第
1の手段と、 (b) 前記セツトの内の所用のものを保持する前記
メモリーの1区分の実際の構造を定義し、かつ
該1区分が存在するセグメントの番号を含む、
デイスクリプタを記憶位置から得るために、前
記第1の一時的レジスタ内の前記データベース
ポインターの内容のフイールドに応答する第2
の手段と、 (c) 前記セツト中の表から、前記セツト内の予め
定めた記憶位置に関する前記ポイント記録の各
セツト内相対位置即ちオフセツトを得るため
に、前記第1の一時的レジスタ内の前記データ
ベースポインタの内容のもう1つのフイールド
に応答する第3の手段と、 (d) 前記ポイント記録を保持するメモリーの記憶
位置の表示を得るために、前記セグメント番号
と前記ポイント記録の相対手段即ちオフセツト
とを第2の一時的レジスタへロードするための
第4の手段と、 から成る、前記ポイント記録のポインターの識別
情報をそのメモリー中の記憶位置の表示に自動的
に変換するための装置。
Claims: 1. A memory comprising a plurality of segments of addressable space, each segment identified by a segment number, for storing a set of one or more records. , each set has one owner record and one or more member records, and each record has its segment number and an off-set that positions the record within the segment relative to a predetermined storage location. each record in each of the plurality of sets has a respective identification of a given one or point record of the other plurality of records in the set. internally storing one or more database pointers for providing, each pointer thereby representing a storage location of said point record identified relative to said predetermined record of said set; In a programmed data processing device: (a) the address syllable of an instruction that directly retrieves a database record causes one of said sets to be retrieved;
(b) first means for accessing one of said database pointers from one record in said set and transferring said pointer to a first temporary register; defining the actual structure of a partition of said memory that holds things, and including the number of the segment in which said partition resides;
a second field responsive to a field of the contents of the database pointer in the first temporary register to obtain a descriptor from a storage location;
(c) from a table in said set the relative intra-set position or offset of each said point record with respect to a predetermined storage location within said set; third means responsive to another field of the contents of a database pointer; and (d) relative means or offset of said segment number and said point record to obtain an indication of a memory location holding said point record. and fourth means for loading into a second temporary register an apparatus for automatically converting a pointer identification of said point record into an indication of its storage location in memory.
JP50149427A 1974-12-23 1975-12-15 Expired JPS6113260B2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US53539274A 1974-12-23 1974-12-23

Publications (2)

Publication Number Publication Date
JPS5186940A JPS5186940A (en) 1976-07-30
JPS6113260B2 true JPS6113260B2 (en) 1986-04-12

Family

ID=24133984

Family Applications (1)

Application Number Title Priority Date Filing Date
JP50149427A Expired JPS6113260B2 (en) 1974-12-23 1975-12-15

Country Status (5)

Country Link
JP (1) JPS6113260B2 (en)
CA (1) CA1216074A (en)
DE (1) DE2556953A1 (en)
FR (1) FR2296222A1 (en)
GB (1) GB1534290A (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6311207Y2 (en) * 1980-10-27 1988-04-01
GB2218833A (en) * 1988-05-16 1989-11-22 Ardent Computer Corp File system

Also Published As

Publication number Publication date
JPS5186940A (en) 1976-07-30
DE2556953A1 (en) 1976-07-01
GB1534290A (en) 1978-11-29
FR2296222B1 (en) 1982-02-19
FR2296222A1 (en) 1976-07-23
CA1216074A (en) 1986-12-30

Similar Documents

Publication Publication Date Title
US4130867A (en) Database instruction apparatus for determining a database record type
US4044334A (en) Database instruction unload
US4369494A (en) Apparatus and method for providing synchronization between processes and events occurring at different times in a data processing system
US4077058A (en) Method and apparatus for executing an extended decor instruction
US4084228A (en) Process management structures and hardware/firmware control
US4297743A (en) Call and stack mechanism for procedures executing in different rings
US4395757A (en) Process synchronization utilizing semaphores
US4025901A (en) Database instruction find owner
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
US4316245A (en) Apparatus and method for semaphore initialization in a multiprocessing computer system for process synchronization
US4084224A (en) System of controlling procedure execution using process control blocks
US4432051A (en) Process execution time accounting system
US4320451A (en) Extended semaphore architecture
US4318182A (en) Deadlock detection and prevention mechanism for a computer system
US4024508A (en) Database instruction find serial
US4447874A (en) Apparatus and method for communication of information between processes in an information system
US4042912A (en) Database set condition test instruction
EP0106670B1 (en) Cpu with multiple execution units
US3599176A (en) Microprogrammed data processing system utilizing improved storage addressing means
US5218712A (en) Providing a data processor with a user-mode accessible mode of operations in which the processor performs processing operations without interruption
JPS5939785B2 (en) data processing equipment
JPS5911943B2 (en) Trap mechanism for data processing equipment
CA1326566C (en) Computer with intelligent memory system
US4351024A (en) Switch system base mechanism