JPH08278917A - デジタル計算機システム及びポインター決定方法 - Google Patents
デジタル計算機システム及びポインター決定方法Info
- Publication number
- JPH08278917A JPH08278917A JP7266762A JP26676295A JPH08278917A JP H08278917 A JPH08278917 A JP H08278917A JP 7266762 A JP7266762 A JP 7266762A JP 26676295 A JP26676295 A JP 26676295A JP H08278917 A JPH08278917 A JP H08278917A
- Authority
- JP
- Japan
- Prior art keywords
- pointer
- data
- address
- procedure
- mem
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0793—Remedial or corrective actions
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3185—Reconfiguring for testing, e.g. LSSD, partitioning
- G01R31/318505—Test of Modular systems, e.g. Wafers, MCM's
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0721—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/073—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0875—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
- G06F12/1483—Protection against unauthorised use of memory or access to memory by checking the subject access rights using an access-table, e.g. matrix or list
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/483—Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
- G06F9/223—Execution means for microinstructions irrespective of the microinstruction function, e.g. decoding of microinstructions and nanoinstructions; timing of microinstructions; programmable logic arrays; delays and fan-out problems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
- G06F9/226—Microinstruction function, e.g. input/output microinstruction; diagnostic microinstruction; microinstruction format
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
- G06F9/26—Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
- G06F9/262—Arrangements for next microinstruction selection
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
- G06F9/26—Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
- G06F9/262—Arrangements for next microinstruction selection
- G06F9/268—Microinstruction selection not based on processing results, e.g. interrupt, patch, first cycle store, diagnostic programs
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
- G06F9/35—Indirect addressing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4488—Object-oriented
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/468—Specific access rights for resources, e.g. using capability register
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/499—Denomination or exception handling, e.g. rounding or overflow
- G06F7/49905—Exception handling
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/499—Denomination or exception handling, e.g. rounding or overflow
- G06F7/49905—Exception handling
- G06F7/4991—Overflow or underflow
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/499—Denomination or exception handling, e.g. rounding or overflow
- G06F7/49905—Exception handling
- G06F7/49926—Division by zero
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Mathematical Physics (AREA)
- Nonlinear Science (AREA)
- Computer Security & Cryptography (AREA)
- Storage Device Security (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Executing Machine-Instructions (AREA)
- Devices For Executing Special Programs (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Memory System (AREA)
Abstract
(57)【要約】
【目的】デジタルデータ処理システムにおいて未決定の
ポインターを決定する。 【構成】未決定のポインターは、表現されたアドレスが
データ項目から得られた時に決定される。システムは、
デジタルコンピュータシステムのメモリー内に、未決定
のポインターと、該未決定のポインターを決定する手順
とを含み、また、ポインターを表現されたアドレスに翻
訳するポインター翻訳マイクロコード及び、マイクロコ
ードから手順を呼び出すためのコール・リターン・マイ
クロコードの制御下で動作するデジタルコンピュータシ
ステムのプロセスにおける装置を含む。ポインター翻訳
マイクロコードは、コール・リターン・マイクロコード
に、未決定のポインターを決定する手順を呼び出させる
ことによって、未決定のポインターに応答する。この手
順は未決定のポインター内のデータ項目を用いて表現さ
れたアドレスを得、これをポインター翻訳マイクロコー
ドに返す。
ポインターを決定する。 【構成】未決定のポインターは、表現されたアドレスが
データ項目から得られた時に決定される。システムは、
デジタルコンピュータシステムのメモリー内に、未決定
のポインターと、該未決定のポインターを決定する手順
とを含み、また、ポインターを表現されたアドレスに翻
訳するポインター翻訳マイクロコード及び、マイクロコ
ードから手順を呼び出すためのコール・リターン・マイ
クロコードの制御下で動作するデジタルコンピュータシ
ステムのプロセスにおける装置を含む。ポインター翻訳
マイクロコードは、コール・リターン・マイクロコード
に、未決定のポインターを決定する手順を呼び出させる
ことによって、未決定のポインターに応答する。この手
順は未決定のポインター内のデータ項目を用いて表現さ
れたアドレスを得、これをポインター翻訳マイクロコー
ドに返す。
Description
【0001】
【産業上の利用分野】本発明は、デジタル・データ処理
システムに関し、特にデータ処理回路網において使用す
るのに適し、かつ簡単な柔軟性に富んだユーザ・インタ
ーフェースおよび柔軟性に富む多重レベルを有する内部
機構を備えた多重プロセス型デジタル・データ処理シス
テムに関する。
システムに関し、特にデータ処理回路網において使用す
るのに適し、かつ簡単な柔軟性に富んだユーザ・インタ
ーフェースおよび柔軟性に富む多重レベルを有する内部
機構を備えた多重プロセス型デジタル・データ処理シス
テムに関する。
【0002】
【従来の技術とその課題】データ処理システムの発展に
おける一般的な傾向は、相互に結合されたデータ処理回
路網における使用に適するシステムに対するものであっ
た。別の傾向は、システムの内部構造が柔軟性に富みユ
ーザから保護されかつユーザの側からは有効に認識でき
ず、かつまたユーザがシステムに対する柔軟性のある簡
単なインターフェースが与えられるデータ処理システム
に対するものであった。
おける一般的な傾向は、相互に結合されたデータ処理回
路網における使用に適するシステムに対するものであっ
た。別の傾向は、システムの内部構造が柔軟性に富みユ
ーザから保護されかつユーザの側からは有効に認識でき
ず、かつまたユーザがシステムに対する柔軟性のある簡
単なインターフェースが与えられるデータ処理システム
に対するものであった。
【0003】このようにデータ処理システムの実現に影
響を及ぼすいくつかの問題および短所が従来技術におい
ては繰返えして発現し、従来技術の諸問題および制約に
は下記の主題が含まれている。
響を及ぼすいくつかの問題および短所が従来技術におい
ては繰返えして発現し、従来技術の諸問題および制約に
は下記の主題が含まれている。
【0004】最初に、従来技術のデータ処理システムは
1つの回路網に連結された膨大な数のデータ処理システ
ムにより共用するに適したシステム的なアドレス指定シ
ステムを提供するものではなかった。従来技術のアドレ
ス指定システムは、充分に大きなアドレス空間を持た
ず、また情報が恒久的かつ一義的に識別され得なかっ
た。従来のアドレス指定システムは、情報の形式即ちフ
ォーマットに関して判定ならびに識別を行なわなかっ
た。更に、従来のアドレス指定システムは特定のデータ
処理システムの物理的な構造を反映するものであった。
即ち、このアドレス指定システムは、ある特定のコンピ
ュータが、例えば8,16,32,64または128ビ
ットの機械であるかどうかに依存してきた。従来のデー
タ処理システムが処理システムの実際の物理的構造がユ
ーザにとって明らかであるアドレス指定機構を内蔵して
いたため、ユーザが実施し得る諸操作はアドレス指定機
構によって制約されるものであった。更にまた、従来の
処理システムは、固定されたワード長の機械として作動
し、更にユーザの操作を制約するものであった。
1つの回路網に連結された膨大な数のデータ処理システ
ムにより共用するに適したシステム的なアドレス指定シ
ステムを提供するものではなかった。従来技術のアドレ
ス指定システムは、充分に大きなアドレス空間を持た
ず、また情報が恒久的かつ一義的に識別され得なかっ
た。従来のアドレス指定システムは、情報の形式即ちフ
ォーマットに関して判定ならびに識別を行なわなかっ
た。更に、従来のアドレス指定システムは特定のデータ
処理システムの物理的な構造を反映するものであった。
即ち、このアドレス指定システムは、ある特定のコンピ
ュータが、例えば8,16,32,64または128ビ
ットの機械であるかどうかに依存してきた。従来のデー
タ処理システムが処理システムの実際の物理的構造がユ
ーザにとって明らかであるアドレス指定機構を内蔵して
いたため、ユーザが実施し得る諸操作はアドレス指定機
構によって制約されるものであった。更にまた、従来の
処理システムは、固定されたワード長の機械として作動
し、更にユーザの操作を制約するものであった。
【0005】従来のデータ処理システムは、あるユーザ
が別のユーザのデータおよびプログラムを許可なく使用
することを禁止する有効な機密保護機構を備えていなか
った。このような機密保護機構は、情報に対するアクセ
スを要求するユーザあるいは情報の一義的かつ確実な識
別を可能にするものではなく、あるいは操作において充
分に柔軟性を有する機構でもなかった。更にまた、アク
セスの権利は情報に関してではなくむしろユーザに関す
るものであって、そのためアクセス権の管理は難しかっ
た。最後に、従来技術の機密保護機構は「トロイの木馬
の論議」の適用を許すものであった。即ちある情報に対
するアクセス権を持たないユーザがかかるアクセス権を
有する別のユーザまたは手順を介してかかる情報に対す
るアクセスを行なうことができたのである。
が別のユーザのデータおよびプログラムを許可なく使用
することを禁止する有効な機密保護機構を備えていなか
った。このような機密保護機構は、情報に対するアクセ
スを要求するユーザあるいは情報の一義的かつ確実な識
別を可能にするものではなく、あるいは操作において充
分に柔軟性を有する機構でもなかった。更にまた、アク
セスの権利は情報に関してではなくむしろユーザに関す
るものであって、そのためアクセス権の管理は難しかっ
た。最後に、従来技術の機密保護機構は「トロイの木馬
の論議」の適用を許すものであった。即ちある情報に対
するアクセス権を持たないユーザがかかるアクセス権を
有する別のユーザまたは手順を介してかかる情報に対す
るアクセスを行なうことができたのである。
【0006】従来技術の更に別の問題は、データ処理シ
ステムに対する簡単かつ柔軟性に富んだインターフェー
スのユーザのインターフェースの提供の問題である。あ
るデータ処理システムに対するユーザ・インターフェー
スの性格は、これによりユーザがユーザのプログラムの
オペランドおよび手順を照合しかつこれを識別する手段
によって、またそのシステムの命令構造によって部分的
に決定されるものである。オペランドおよび手順は、慣
例的に単にユーザのプログラム以内での基準点および妥
当性を有するある形態の論理アドレスと呼ばれかつこれ
により識別される。これらのアドレスは、あるプログラ
ムが実行される毎にあるデータ処理システム内の論理ア
ドレスおよび物理アドレスに翻訳されねばならず、また
従ってしばしばあるプログラムの実行中に再び翻訳また
は再生されなければならない。加えて、ユーザはデータ
・フォーマットおよびハンドリングに関する特定の命令
を提供しなければならない。かかるオペランドまたは手
順に対する照合は、典型的には、ユーザ・プログラムの
命令ストリームの大部分からなり、構築のため多くの機
械の翻訳および操作を必要とする。これにより、従来の
システムに対するユーザのインターフェースが複雑化
し、プログラムの実行速度は低下するが、これはオペラ
ンドおよび手順に関するプログラム照合が複雑なためで
ある。
ステムに対する簡単かつ柔軟性に富んだインターフェー
スのユーザのインターフェースの提供の問題である。あ
るデータ処理システムに対するユーザ・インターフェー
スの性格は、これによりユーザがユーザのプログラムの
オペランドおよび手順を照合しかつこれを識別する手段
によって、またそのシステムの命令構造によって部分的
に決定されるものである。オペランドおよび手順は、慣
例的に単にユーザのプログラム以内での基準点および妥
当性を有するある形態の論理アドレスと呼ばれかつこれ
により識別される。これらのアドレスは、あるプログラ
ムが実行される毎にあるデータ処理システム内の論理ア
ドレスおよび物理アドレスに翻訳されねばならず、また
従ってしばしばあるプログラムの実行中に再び翻訳また
は再生されなければならない。加えて、ユーザはデータ
・フォーマットおよびハンドリングに関する特定の命令
を提供しなければならない。かかるオペランドまたは手
順に対する照合は、典型的には、ユーザ・プログラムの
命令ストリームの大部分からなり、構築のため多くの機
械の翻訳および操作を必要とする。これにより、従来の
システムに対するユーザのインターフェースが複雑化
し、プログラムの実行速度は低下するが、これはオペラ
ンドおよび手順に関するプログラム照合が複雑なためで
ある。
【0007】データ処理システムの命令構造は、システ
ムの諸操作の制御のための諸命令と、これらの命令が実
行される手段の双方を含む。従来のデータ処理システム
は、1つか2つのユーザ言語、例えば、FORTRAN
またはCOBOLにおける諸命令を有効に実行するよう
に構成されている。他のどんな言語で書かれたプログラ
ムでも有効に実行され得ない。更に、ユーザはしばし
ば、ある特定の従来のシステムが使用を意図される特定
の1つまたは2つの言語以外のどんな高水準の言語を用
いる時も困難なプログラミング上の諸問題に遭遇する。
ムの諸操作の制御のための諸命令と、これらの命令が実
行される手段の双方を含む。従来のデータ処理システム
は、1つか2つのユーザ言語、例えば、FORTRAN
またはCOBOLにおける諸命令を有効に実行するよう
に構成されている。他のどんな言語で書かれたプログラ
ムでも有効に実行され得ない。更に、ユーザはしばし
ば、ある特定の従来のシステムが使用を意図される特定
の1つまたは2つの言語以外のどんな高水準の言語を用
いる時も困難なプログラミング上の諸問題に遭遇する。
【0008】従来のデータ処理システムにおける更に別
の問題は、システムの内部機構、例えばスタック機構お
よび内部制御機構をユーザによる偶発的あるいは意図的
な妨害から保護する問題である。
の問題は、システムの内部機構、例えばスタック機構お
よび内部制御機構をユーザによる偶発的あるいは意図的
な妨害から保護する問題である。
【0009】最後に、従来技術のデータ処理システムの
内部構造および作用は構造および作用において柔軟性ま
たは適合性を持たなかった。即ち、従来のシステムの内
部構造の構成および作用は、特定のデータ処理要件に見
合うようにシステムを容易に変更もしくは適合させるこ
とは許されなかった。このような変更には、特殊な目的
のサブシステム、例えば、浮動小数点またはアレイ処理
装置の加除の如き内部メモリーの容量の変更を含み得
る。更にこのような変更は、システムとのユーザのイン
ターフェースを大幅に有効化するものであった。理想的
には、データ処理システムの実際の物理的構造および作
用はユーザ・インターフェースにおいては明らかである
べきではない。
内部構造および作用は構造および作用において柔軟性ま
たは適合性を持たなかった。即ち、従来のシステムの内
部構造の構成および作用は、特定のデータ処理要件に見
合うようにシステムを容易に変更もしくは適合させるこ
とは許されなかった。このような変更には、特殊な目的
のサブシステム、例えば、浮動小数点またはアレイ処理
装置の加除の如き内部メモリーの容量の変更を含み得
る。更にこのような変更は、システムとのユーザのイン
ターフェースを大幅に有効化するものであった。理想的
には、データ処理システムの実際の物理的構造および作
用はユーザ・インターフェースにおいては明らかである
べきではない。
【0010】
【発明の要約】本発明は、前述の諸問題および制約を解
決するデータ処理システムの改良ならびにその諸特徴を
提供するものである。
決するデータ処理システムの改良ならびにその諸特徴を
提供するものである。
【0011】本発明は、相互に結合されたデータ処理回
路網において使用するに適したデータ処理システムの構
造ならびに作用に関するものであるが、その内部構造は
柔軟性に富み、ユーザから保護され、ユーザからは充分
に不可視であり、かつユーザに対する柔軟性に富みかつ
簡単なインターフェースを提供するものである。このデ
ータ処理システムはシステムにおける使用のため、ある
いはシステムの操作により生成される全ての情報の恒久
的かつ一義的な識別を可能にするアドレス指定機構、お
よびかかる全てのデータ処理システムに対するアクセス
が可能でありかつかかる全てのデータ処理システムに対
して共通の非常に大きなアドレス空間を提供するもので
ある。このアドレス指定機構は、システムの物理的形態
からは独立的でありかつ1つのアドレスを用いてビット
細分レベルでかつ情報の形式即ちフォーマットに関して
情報を完全に識別することを可能にするアドレスを提供
する。本発明は、更に、種々のアクセス権が個々の情報
と関連する保護機構の提供にある。情報ならびに情報に
対するアクセスを要求するユーザは、システムのアドレ
ス機構により一義的に識別される。本保護機構はまたト
ロイの木馬的論議の適用を防止する。また本発明は、高
水準のユーザ言語命令が特定の適用符号に符号化され統
一された中間レベルの命令に変換されて複数のユーザ言
語に対する実行の等しい容易性を提供する命令構造を提
供するものである。別の特徴は、ユーザから明らかな内
部機構によって各アドレスに変換される統一されたフォ
ーマット名によりユーザのプログラムにおいてオペラン
ドが照合されるオペランド照合機構の提供にある。本発
明は更に、システムの内部機構をユーザによる妨害から
保護する多重レベルの制御およびスタック機構を提供す
るものである。更に他の特徴は、多くの同時の操作の実
行が可能でありかつ複数の別個の独立するプロセッサか
らなる柔軟性に富んだ内部構造を有するデータ処理シス
テムにある。かかる独立した各プロセッサは別のマイク
ロ命令制御装置、および中央部の通信ならびに記憶ノー
ドに対する少なくとも1つの独立した別個のポートを有
する。この通信および記憶ノードはまた、別個の独立し
たマイクロ命令制御を有する独立のプロセッサである。
このメモリー・プロセッサの内部は、多くの同時の記憶
および通信操作を実施することが可能な複数の独立的に
作用するマイクロ命令により制御されたプロセッサから
なっている。本発明はまた、前述の特徴を構成するため
のデータ処理システムの構造ならびに作用上の特徴を提
供するものである。
路網において使用するに適したデータ処理システムの構
造ならびに作用に関するものであるが、その内部構造は
柔軟性に富み、ユーザから保護され、ユーザからは充分
に不可視であり、かつユーザに対する柔軟性に富みかつ
簡単なインターフェースを提供するものである。このデ
ータ処理システムはシステムにおける使用のため、ある
いはシステムの操作により生成される全ての情報の恒久
的かつ一義的な識別を可能にするアドレス指定機構、お
よびかかる全てのデータ処理システムに対するアクセス
が可能でありかつかかる全てのデータ処理システムに対
して共通の非常に大きなアドレス空間を提供するもので
ある。このアドレス指定機構は、システムの物理的形態
からは独立的でありかつ1つのアドレスを用いてビット
細分レベルでかつ情報の形式即ちフォーマットに関して
情報を完全に識別することを可能にするアドレスを提供
する。本発明は、更に、種々のアクセス権が個々の情報
と関連する保護機構の提供にある。情報ならびに情報に
対するアクセスを要求するユーザは、システムのアドレ
ス機構により一義的に識別される。本保護機構はまたト
ロイの木馬的論議の適用を防止する。また本発明は、高
水準のユーザ言語命令が特定の適用符号に符号化され統
一された中間レベルの命令に変換されて複数のユーザ言
語に対する実行の等しい容易性を提供する命令構造を提
供するものである。別の特徴は、ユーザから明らかな内
部機構によって各アドレスに変換される統一されたフォ
ーマット名によりユーザのプログラムにおいてオペラン
ドが照合されるオペランド照合機構の提供にある。本発
明は更に、システムの内部機構をユーザによる妨害から
保護する多重レベルの制御およびスタック機構を提供す
るものである。更に他の特徴は、多くの同時の操作の実
行が可能でありかつ複数の別個の独立するプロセッサか
らなる柔軟性に富んだ内部構造を有するデータ処理シス
テムにある。かかる独立した各プロセッサは別のマイク
ロ命令制御装置、および中央部の通信ならびに記憶ノー
ドに対する少なくとも1つの独立した別個のポートを有
する。この通信および記憶ノードはまた、別個の独立し
たマイクロ命令制御を有する独立のプロセッサである。
このメモリー・プロセッサの内部は、多くの同時の記憶
および通信操作を実施することが可能な複数の独立的に
作用するマイクロ命令により制御されたプロセッサから
なっている。本発明はまた、前述の特徴を構成するため
のデータ処理システムの構造ならびに作用上の特徴を提
供するものである。
【0012】このように、本発明をデータ処理システム
に内蔵することは、本発明が大きな相互に結合されたデ
ータ処理システムにおける使用に適するアドレス指定機
構を提供する故に有効である。加えて、本発明は、大き
な相互に結合されたデータ処理回路網における使用に適
する情報保護機構を提供する点で有効である。本発明は
更に、データ処理システムに対して簡単な、柔軟性に富
んだ更に効率の良いインターフェースを提供する点で有
効である。本発明は更にまた、特異な符号化され統一さ
れた中間レベル命令を包含する統一されたフォーマット
名および命令構造によって、ユーザ・プログラムにおけ
るオペランドを照合するための機構を提供することによ
り、どんなユーザ・レベルの言語においても等しく有効
であるデータ処理システムを提供する点において有効で
ある。加えて、本発明は、多重レベルの制御およびスタ
ック機構の提供により、データ処理システムの内部機構
をユーザの妨害から保護する。更に本発明は、同時の多
重操作を実施することが可能であり、かつ各々が別個の
マイクロ命令制御装置と、同時の多重記憶ならびに通信
操作の実施が可能な複数の独立したプロセッサからなる
中央の独立した通信兼記憶プロセッサに対する少なくと
も1つの別個の独立したポートとを有する複数の別個の
独立したプロセッサから構成される柔軟性に富んだ内部
システムの提供において有効である。
に内蔵することは、本発明が大きな相互に結合されたデ
ータ処理システムにおける使用に適するアドレス指定機
構を提供する故に有効である。加えて、本発明は、大き
な相互に結合されたデータ処理回路網における使用に適
する情報保護機構を提供する点で有効である。本発明は
更に、データ処理システムに対して簡単な、柔軟性に富
んだ更に効率の良いインターフェースを提供する点で有
効である。本発明は更にまた、特異な符号化され統一さ
れた中間レベル命令を包含する統一されたフォーマット
名および命令構造によって、ユーザ・プログラムにおけ
るオペランドを照合するための機構を提供することによ
り、どんなユーザ・レベルの言語においても等しく有効
であるデータ処理システムを提供する点において有効で
ある。加えて、本発明は、多重レベルの制御およびスタ
ック機構の提供により、データ処理システムの内部機構
をユーザの妨害から保護する。更に本発明は、同時の多
重操作を実施することが可能であり、かつ各々が別個の
マイクロ命令制御装置と、同時の多重記憶ならびに通信
操作の実施が可能な複数の独立したプロセッサからなる
中央の独立した通信兼記憶プロセッサに対する少なくと
も1つの別個の独立したポートとを有する複数の別個の
独立したプロセッサから構成される柔軟性に富んだ内部
システムの提供において有効である。
【0013】
【発明の目的】従って、本発明の目的は改良されたデー
タ処理システムの提供にある。
タ処理システムの提供にある。
【0014】本発明の別の目的は、大型の相互に結合さ
れたデータ処理回路網において使用が可能なデータ処理
システムの提供にある。
れたデータ処理回路網において使用が可能なデータ処理
システムの提供にある。
【0015】本発明の更に別の目的は、大型の相互に結
合されたデータ処理回路網における使用に適する改良さ
れたアドレス指定機構の提供にある。
合されたデータ処理回路網における使用に適する改良さ
れたアドレス指定機構の提供にある。
【0016】本発明の他の目的は、改良された情報保護
機構の提供にある。
機構の提供にある。
【0017】本発明の更に他の目的は、データ処理シス
テムに対する簡単で柔軟性に富むユーザ・インターフェ
ースの提供にある。
テムに対する簡単で柔軟性に富むユーザ・インターフェ
ースの提供にある。
【0018】本発明の更に他の目的は、オペランドの照
合のための改良された機構の提供にある。
合のための改良された機構の提供にある。
【0019】本発明の更に他の目的は、複数の高水準の
ユーザ言語を用いる有効なデータ処理システムの作用を
可能にする命令構造の提供にある。
ユーザ言語を用いる有効なデータ処理システムの作用を
可能にする命令構造の提供にある。
【0020】本発明の更に他の目的は、ユーザの妨害か
ら保護されたデータ処理の内部機構の提供にある。
ら保護されたデータ処理の内部機構の提供にある。
【0021】本発明の更に他の目的は、同時の多重操作
が可能な柔軟性に富んだ内部機構を有するデータ処理シ
ステムの提供にある。
が可能な柔軟性に富んだ内部機構を有するデータ処理シ
ステムの提供にある。
【0022】
【実施例】本発明の他の目的、長所および特徴について
は望ましい実施態様および図面の以下の詳細な説明を照
合すれば、当業者には充分に理解されよう。
は望ましい実施態様および図面の以下の詳細な説明を照
合すれば、当業者には充分に理解されよう。
【0023】図面は図1乃至図94から成り、更に各図
は数字および英字から成る1桁乃至4桁の番号を付され
た複数の図を含む。以下の説明においては図面との対応
関係を簡単かつ明瞭にするため、実際の図1乃至図94
の代りに、これら1乃至4桁の番号をそれ自体あたかも
独立した図の番号を示すものとして扱う。例えば、図1
で1として示される図は図1、図2で4Aとして示され
る図は図4A、図3で5として示される図は図5という
ように参照して説明を進める。
は数字および英字から成る1桁乃至4桁の番号を付され
た複数の図を含む。以下の説明においては図面との対応
関係を簡単かつ明瞭にするため、実際の図1乃至図94
の代りに、これら1乃至4桁の番号をそれ自体あたかも
独立した図の番号を示すものとして扱う。例えば、図1
で1として示される図は図1、図2で4Aとして示され
る図は図4A、図3で5として示される図は図5という
ように参照して説明を進める。
【0024】従って、上記の約束によれば、以下の説明
において照合される各図は概説項を除いて3桁または4
桁の番号により示される。最上桁は、ある特定の図面が
最初に述べられる以下の記述における章の番号を表わし
ている。2つの下位桁は、ある特定の章の順番の表示番
号を表わす。例えば、図319は、第3章に現われる1
9番目である。概説項に現われる図面は、これら図面が
この概説項において言及される順序を表わす1桁または
2桁の番号によって照合される。
において照合される各図は概説項を除いて3桁または4
桁の番号により示される。最上桁は、ある特定の図面が
最初に述べられる以下の記述における章の番号を表わし
ている。2つの下位桁は、ある特定の章の順番の表示番
号を表わす。例えば、図319は、第3章に現われる1
9番目である。概説項に現われる図面は、これら図面が
この概説項において言及される順序を表わす1桁または
2桁の番号によって照合される。
【0025】第2に、照合番号は2桁の番号から成り、
対応する要素が最初に現われる図面の番号がその前に置
かれる。例えば、照合番号31901乃至31999は
図319に現われる要素1乃至99を示すことになる。
対応する要素が最初に現われる図面の番号がその前に置
かれる。例えば、照合番号31901乃至31999は
図319に現われる要素1乃至99を示すことになる。
【0026】最後に、関連する回路間の相互の接続は2
通りの方法で示される。最初に、説明を明瞭にするた
め、回路間の相互接続は、ワイヤ即ちバスの表示ではな
く共通の信号名即ち称号によって表わすことができる。
第2に、関連する回路が2つ以上の図面において示され
る場合、この図面は共通の図番を共有し、文字の付記に
より、例えば図319,図319Aおよび図319Bに
より区別される。このような回路間の共通の電気的な地
点は、このような地点に至るリードを含む括弧および表
示「A−b」により示すことができる。「A」は、同じ
共通点を有する他の図面、例えば図319Aを示し、
「b」は特定の共通の電気的地点を表わす。このように
2つ以上の図面において示された関連する回路の場合、
構成要素に対する照合番号は図面のグループに関する順
序で与えられ、かかる照合番号の図番部分はこれら図面
のグループの最初の図面のそれである。
通りの方法で示される。最初に、説明を明瞭にするた
め、回路間の相互接続は、ワイヤ即ちバスの表示ではな
く共通の信号名即ち称号によって表わすことができる。
第2に、関連する回路が2つ以上の図面において示され
る場合、この図面は共通の図番を共有し、文字の付記に
より、例えば図319,図319Aおよび図319Bに
より区別される。このような回路間の共通の電気的な地
点は、このような地点に至るリードを含む括弧および表
示「A−b」により示すことができる。「A」は、同じ
共通点を有する他の図面、例えば図319Aを示し、
「b」は特定の共通の電気的地点を表わす。このように
2つ以上の図面において示された関連する回路の場合、
構成要素に対する照合番号は図面のグループに関する順
序で与えられ、かかる照合番号の図番部分はこれら図面
のグループの最初の図面のそれである。
【0027】概説 A.ハードウェアの概説(図1) B.個別的な作用の特徴(図2,図3,図4,図5,図
6) 1.アドレス指定(図2) 2.S言語命令および名前空間のアドレス指定(図3) 3.アーキテクチャ基底ポインタのアドレス指定 4.スタックの機構(図4〜図5) C.手順のプロセスおよび仮想プロセッサ(図6) D.CS101の全体的構造および作用(図7,図8,
図9,図10,図11,図12,図13,図14,図1
5) 1.序説(図7) 2.コンパイラ702(図7) 3.バインダ703(図7) 4.FOS704(図7) 5.KOSおよびアーキテクチャ・インターフェース7
08(図7) 6.プロセス610および仮想プロセッサ612(図
8) 7.プロセス610およびスタック(図9) 8.プロセス610および呼出し(図10,図11) 9.メモリーの照合および仮想メモリー管理システム
(図12,図13) 10.アクセス制御(図14) 11.仮想プロセッサおよび仮想プロセッサのスワッピ
ング(図15) E.CS101の構造的な構成(図16,図17,図1
8,図19および図20) 1.(IOS)116(図16,図17) 2.メモリー(MEM)112(図18) 3.取出し装置(FU)120(図19) 4.実行装置(EU)122(図20) 1.序説(図101〜図110) A.全体的な構造および作用(図101) a.全体的な構造 b.全体的な作用 c.用語の定義 d.多種プログラム操作 e.多重言語操作 f.アドレス指定構造 g.機密保護機構 B.コンピュータ・システム10110の情報構造およ
び機構(図102,図103,図104,図105) a.序説(図102) b.プロセス構造10210(図103,図104,図
105) 1.手順オブジェクト(図103) 2.スタック機構(図104,図105) 3.FURSM10214(図103) C.仮想プロセッサ状態ブロックおよび仮想プロセスの
形成(図102) D.アドレス指定構造10220(図103,図10
6,図107,図108) 1.オブジェクト、UID,AON、名前および物理ア
ドレス(図106) 2.アドレス指定機構10220(図107) 3.名前の解明(図103,図108) 4.AONアドレスの物理アドレスに対する評価(図1
07) E.調整10110の機密保護機構(図109) F.CS10110のマイクロ命令機構(図110) G.CS10110の特徴および別の実施態様の要約 2.CS10110主要サブシステムの詳細な説明(図
201〜図206,図207〜図274) A.MEM10112(図201,図206,図207
〜図237) a.用語の説明 b.MEM10112の物理的構造(図201) c.MEM10112の全体的作用 d.MEM10112のポート構造 1.JOポートの特性 2.JOポートの特性 3.JIポートの特性 e.MEM10112の制御構造および作用(図20
7) 1.MEM10112の制御構造 2.MEM10112の制御作用 f.MEM10112の作用 g.JP10114およびIOS10116に対するM
EM10112のインターフェース(図209,図21
0,図211,図204) 1.IOポート20910の作用特性(図209,図2
04) 2.JPOポート21010の作用特性(図210) 3.JPIポート21110の作用特性(図211) h.FIU20120(図201,図230,図23
1) B.取出し装置10120(図202,図206,図1
01,図103,1040,図238) 1.記述子プロセッサ20210(図202,図10
1,図103,図104,図238,図239) a.オフセット・プロセッサ20218の構造 b.AONプロセッサ20216の構造 c.長さプロセッサ20220の構造 d.記述子プロセッサ20218の作用 aa.オフセット・セレクタ20238 bb.オフセット・マルチプレクサ20240の詳細な
構造(図238) cc.オフセット・マルチプレクサ20240の詳細な
作用 aaa.内部作用 bbb.DESP20210に関する作用 e.長さプロセッサ20220(図239) aa.長さALU20252 bb.BIAS20246(図239) f.AONプロセッサ20216 aa.AONGRF20232 bb.AONセレクタ20248 2.メモリー・インターフェース20212(図10
6,図240) aa.記述子トラップ20256およびデータ・トラッ
プ20258 bb.名前カッシェ装置10226、アドレス翻訳装置
10228および保護カッシェ装置10234(図10
6) cc.汎用カッシェ装置およびNC10226(図24
0) dd.ATU10228およびPC10234 3.取出し装置制御ロジック20214(図202) aa.取出し装置制御ロジック20214の全体的構造 bb.取出し装置制御ロジック20214の作用 aaa.取出し装置20264、命令バッファ2026
2、オペランド解析装置20264、命令コード・レジ
スタ20268、CPC20270、IPC20272
およびEPC20274(図241) bbb.取出し装置のタスク指名テーブル11010、
実行装置のタスク指名テーブル20266および命令コ
ードレジスタ20268(図242) ccc.次のアドレス・ゼネレータ24310(図24
3) cc.CS10110の内部機構に対するFUCTL2
0214の回路(図244〜図250) aaa.状態ロジック20294(図244,図244
(A〜Z)) bbb.事象ロジック20284(図254,図24
6,図247,図248) ccc.取出し装置のSインタプリタ・テーブル110
12(図249) dd.CS10110の内部機構制御 aaa.戻り制御ワード・スタック10358(図25
1) bbb.機械制御ブロック(図252) ccc.レジスタのアドレス・ゼネレータ20288
(図253) ddd.タイマー20296(図254) eee.取出し装置10120の実行装置10122に
対するインターフェース C.実行装置10122(図203,図255乃至図2
68) a.実行装置10122の一般構造 1.実行装置の入出力装置20312 2.実行装置の制御ロジック20310 3.乗算ロジック20314 4.指数ロジック20316 5.乗算制御装置20318 6.テストおよびインターフェース・ロジック2032
0 b.実行装置10122の作用(図255) 1.実行装置の制御ロジック20310(図255) aa.指令キュー20342 bb.指令キューの事象制御記憶装置25514および
指令キュー事象アドレス制御記憶装置25516 cc.実行装置のSインタプリタ・テーブル20344 dd.マイクロコード制御復号レジスタ20346 ee.次のアドレス・ゼネレータ20340 2.オペランド・バッファ20322 3.乗算器20314(図257,図258) aa.乗算器20314の入出力データ経路およびメモ
リー(図257) aaa.コンテナ・サイズの検査 bbb.最終結果の出力マルチプレクサ20324 4.テストおよびインターフェース・ロジック2032
0(図260〜図268) aa.FU10120/EU10122のインターフェ
ース aaa.指令キュー20342のローディング(図26
0) bbb.オペランド・バッファ20320のローディン
グ(図261) ccc.再記憶(図262) ddd.テスト条件(図263) eee.例外検査(図264) fff.遊休状態ルーチン ggg.EU10122スタックの機構(図265,図
267) hhh.実行装置のSインタプリタ・テーブル2034
4のローディング(図268) D.入出力システム10116(図204,図206,
図269) a.入出力システム10116の構造(図204) b.入出力システム10116の作用(図269) 1.データ・チャネル素子 2.入出力制御プロセッサ20412 3.データ移動器20410(図269) aa.入力データバッファ20440および出力データ
バッファ20442 bb.優先順位分解能および制御装置20444(図2
69) E.診断プロセッサ10118(図101,図205) F.CS10110のマイクロ機械構造および作用(図
270〜図274) a.序説 b.FUマイクロ機械を構成する諸素子のまとめ(図2
70) 1.大半のマイクロコードにより使用される諸素子 aa.MODバス10144、JPDバス10142お
よびDBバス27021 bb.マイクロコードのアドレス指定 cc.記述子プロセッサ20218(図271) dd.EU10122のインターフェース 2.特定化されたマイクロ機械素子 aa.命令ストリーム・リーダ27001 bb.SOPデコーダ27003 cc.名前翻訳装置27015 dd.メモリー照合装置27017 ee.機密保護装置27019 ff.KOSマイクロ機械素子 c.マイクロ機械スタックおよびマイクロルーチン呼出
しおよび戻り(図272,図273) 1.マイクロ機械スタック(図272) 2.マイクロ呼出し兼戻し 3.マイクロルーチンの呼出しの手段 4.事象の呼出しの発生(図273) d.仮想マイクロ機械およびモニター・マイクロ機械 1.仮想モード 2.モニターマイクロ機械 e.割込みおよび障害の取扱い 1.一般的な原理 2.CS10110におけるハードウェア割込みおよび
障害の取扱い 3.モニター・モード:差動マスキングおよびハードウ
ェア割込みの取扱い f.FUマイクロ機械およびCS10110サブシステ
ム 3.名前空間、Sインタプリタおよびポインタ(図30
1〜図307,図274) A.ポインタおよびポインタの分解能(図301,図3
02) a.ポインタのフォーマット(図301) b.FU10120におけるポインタ(図302) c.記述子からポインタへの変換 B.名前の空間およびSインタプリタ(図303〜図3
07) a.手順のオブジェクト606の総括(図303) b.名前の空間 1.名前の分解能および評価 2.名前のテーブル(図304) 3.アーキテクチャ基底ポインタ(図305,図30
6) aa.名前の分解能および評価(図305) bb.CS10110における名前の評価および名前の
分解の構成 cc.名前のカッシェ装置10226の記入(図30
6) dd.名前のカッシェ装置10226のヒット ee.名前のカッシェ装置10226のミス ff.名前のカッシェ装置10226のフラッシング gg.命令ストリームの取出し hh.命令ストリームのオペランド解析 c.Sインタプリタ(図307) 1.SIPの特異数への翻訳(図307) 2.タスク指名 4.核心のオペレーティング・システム A.序説a.オペレーティング・システム(図401) 1.オペレーティング・システムにより制御される資源
(図402) b.CS10110におけるオペレーティング・システ
ム c.拡張されるオペレーティング・システムおよび核心
オペレーティング・システム(図403) B.オブジェクトおよびオブジェクト管理(図404) a.オブジェクトおよびユーザ・プログラム(図40
5) b.UID40401(図406) c.オブジェクトの属性 d.属性とアクセス制御 e.オブジェクトの構成 1.序説(図407,図408) 2.2次記憶装置10124のオブジェクト(図40
9,図410) aa.2次記憶装置10124におけるオブジェクトの
内容の表示 bb.LAUD40903(図411,図412) 3.活動状態のオブジェクト(図413) aa.UID40401からAON41304への変換 C.アクセス制御システム a.主題 b.定義域 c.アクセス制御リスト 1.主題のテンプレート(図416) 2.初期アクセス制御リスト(PACL) 3.APAM10918および機密保護カッシェ装置1
0234(図421) 4.機密保護カッシェ装置10234および機密保護検
査(図422) D.プロセス 1.プロセス610および仮想プロセス612の同期 a.事象カウンタ44801、待機記入44804およ
び待機テーブル(図448,図449) b.事象カウンタ44801および待機記入44804
との同期 E.仮想プロセッサ612(図453) a.仮想プロセッサの管理(図453) b.仮想プロセッサ612および同期(図454) F.プロセッサ610のスタック操作 1.呼出しおよび戻り操作の序説 2.マクロスタック(MAS)502(図467) aa.MASベース10410(図468) bb.定義域によるデータ領域46853(図468) cc.MASフレーム46709の詳細(図469) 3.SS504(図470) aa.SSベース47001(図471) bb.SSフレーム47003(図471) aaa.通常のSSフレーム・ヘッダー10514(図
471) bbb.マクロスタック10516の詳細な構造(図4
71) ccc.交差領域SSフレーム47039(図471) 4.呼出しおよび戻りに関する手順オブジェクト608
の各部(図472) 5.仲介呼出しの実行 aa.仲介呼出しSIN bb.簡単な仲介呼出し(図270,図468,図46
9,図470,図471,図472) cc.SEBを要求する手順602の呼出し(図27
0,図468,図469,図470,図471,図47
2) dd.交差手順のオブジェクト呼出し(図270,図4
68,図469,図470,図471,図472) ee.交差領域の呼出し(図270,図408,図41
8,図468,図469,図470,図471,図47
2) ff.障害を生じた交差領域呼出し(図270,図46
8,図469,図470,図471,図472) 6.近接域の呼出し(図468,図469,図472)概説 以下の概説は、最初に、本発明を実施したデジタルコン
ピュータ・システムの望ましい実施態様の全体的な物理
的構造および作用について簡単に述べる。次いで、この
コンピュータ・システムのいくつかの作用上の特徴につ
いて個々に述べることにする。次に、本コンピュータ・
システムの全体的な作用について前述の個々の特徴に関
して説明することになろう。
6) 1.アドレス指定(図2) 2.S言語命令および名前空間のアドレス指定(図3) 3.アーキテクチャ基底ポインタのアドレス指定 4.スタックの機構(図4〜図5) C.手順のプロセスおよび仮想プロセッサ(図6) D.CS101の全体的構造および作用(図7,図8,
図9,図10,図11,図12,図13,図14,図1
5) 1.序説(図7) 2.コンパイラ702(図7) 3.バインダ703(図7) 4.FOS704(図7) 5.KOSおよびアーキテクチャ・インターフェース7
08(図7) 6.プロセス610および仮想プロセッサ612(図
8) 7.プロセス610およびスタック(図9) 8.プロセス610および呼出し(図10,図11) 9.メモリーの照合および仮想メモリー管理システム
(図12,図13) 10.アクセス制御(図14) 11.仮想プロセッサおよび仮想プロセッサのスワッピ
ング(図15) E.CS101の構造的な構成(図16,図17,図1
8,図19および図20) 1.(IOS)116(図16,図17) 2.メモリー(MEM)112(図18) 3.取出し装置(FU)120(図19) 4.実行装置(EU)122(図20) 1.序説(図101〜図110) A.全体的な構造および作用(図101) a.全体的な構造 b.全体的な作用 c.用語の定義 d.多種プログラム操作 e.多重言語操作 f.アドレス指定構造 g.機密保護機構 B.コンピュータ・システム10110の情報構造およ
び機構(図102,図103,図104,図105) a.序説(図102) b.プロセス構造10210(図103,図104,図
105) 1.手順オブジェクト(図103) 2.スタック機構(図104,図105) 3.FURSM10214(図103) C.仮想プロセッサ状態ブロックおよび仮想プロセスの
形成(図102) D.アドレス指定構造10220(図103,図10
6,図107,図108) 1.オブジェクト、UID,AON、名前および物理ア
ドレス(図106) 2.アドレス指定機構10220(図107) 3.名前の解明(図103,図108) 4.AONアドレスの物理アドレスに対する評価(図1
07) E.調整10110の機密保護機構(図109) F.CS10110のマイクロ命令機構(図110) G.CS10110の特徴および別の実施態様の要約 2.CS10110主要サブシステムの詳細な説明(図
201〜図206,図207〜図274) A.MEM10112(図201,図206,図207
〜図237) a.用語の説明 b.MEM10112の物理的構造(図201) c.MEM10112の全体的作用 d.MEM10112のポート構造 1.JOポートの特性 2.JOポートの特性 3.JIポートの特性 e.MEM10112の制御構造および作用(図20
7) 1.MEM10112の制御構造 2.MEM10112の制御作用 f.MEM10112の作用 g.JP10114およびIOS10116に対するM
EM10112のインターフェース(図209,図21
0,図211,図204) 1.IOポート20910の作用特性(図209,図2
04) 2.JPOポート21010の作用特性(図210) 3.JPIポート21110の作用特性(図211) h.FIU20120(図201,図230,図23
1) B.取出し装置10120(図202,図206,図1
01,図103,1040,図238) 1.記述子プロセッサ20210(図202,図10
1,図103,図104,図238,図239) a.オフセット・プロセッサ20218の構造 b.AONプロセッサ20216の構造 c.長さプロセッサ20220の構造 d.記述子プロセッサ20218の作用 aa.オフセット・セレクタ20238 bb.オフセット・マルチプレクサ20240の詳細な
構造(図238) cc.オフセット・マルチプレクサ20240の詳細な
作用 aaa.内部作用 bbb.DESP20210に関する作用 e.長さプロセッサ20220(図239) aa.長さALU20252 bb.BIAS20246(図239) f.AONプロセッサ20216 aa.AONGRF20232 bb.AONセレクタ20248 2.メモリー・インターフェース20212(図10
6,図240) aa.記述子トラップ20256およびデータ・トラッ
プ20258 bb.名前カッシェ装置10226、アドレス翻訳装置
10228および保護カッシェ装置10234(図10
6) cc.汎用カッシェ装置およびNC10226(図24
0) dd.ATU10228およびPC10234 3.取出し装置制御ロジック20214(図202) aa.取出し装置制御ロジック20214の全体的構造 bb.取出し装置制御ロジック20214の作用 aaa.取出し装置20264、命令バッファ2026
2、オペランド解析装置20264、命令コード・レジ
スタ20268、CPC20270、IPC20272
およびEPC20274(図241) bbb.取出し装置のタスク指名テーブル11010、
実行装置のタスク指名テーブル20266および命令コ
ードレジスタ20268(図242) ccc.次のアドレス・ゼネレータ24310(図24
3) cc.CS10110の内部機構に対するFUCTL2
0214の回路(図244〜図250) aaa.状態ロジック20294(図244,図244
(A〜Z)) bbb.事象ロジック20284(図254,図24
6,図247,図248) ccc.取出し装置のSインタプリタ・テーブル110
12(図249) dd.CS10110の内部機構制御 aaa.戻り制御ワード・スタック10358(図25
1) bbb.機械制御ブロック(図252) ccc.レジスタのアドレス・ゼネレータ20288
(図253) ddd.タイマー20296(図254) eee.取出し装置10120の実行装置10122に
対するインターフェース C.実行装置10122(図203,図255乃至図2
68) a.実行装置10122の一般構造 1.実行装置の入出力装置20312 2.実行装置の制御ロジック20310 3.乗算ロジック20314 4.指数ロジック20316 5.乗算制御装置20318 6.テストおよびインターフェース・ロジック2032
0 b.実行装置10122の作用(図255) 1.実行装置の制御ロジック20310(図255) aa.指令キュー20342 bb.指令キューの事象制御記憶装置25514および
指令キュー事象アドレス制御記憶装置25516 cc.実行装置のSインタプリタ・テーブル20344 dd.マイクロコード制御復号レジスタ20346 ee.次のアドレス・ゼネレータ20340 2.オペランド・バッファ20322 3.乗算器20314(図257,図258) aa.乗算器20314の入出力データ経路およびメモ
リー(図257) aaa.コンテナ・サイズの検査 bbb.最終結果の出力マルチプレクサ20324 4.テストおよびインターフェース・ロジック2032
0(図260〜図268) aa.FU10120/EU10122のインターフェ
ース aaa.指令キュー20342のローディング(図26
0) bbb.オペランド・バッファ20320のローディン
グ(図261) ccc.再記憶(図262) ddd.テスト条件(図263) eee.例外検査(図264) fff.遊休状態ルーチン ggg.EU10122スタックの機構(図265,図
267) hhh.実行装置のSインタプリタ・テーブル2034
4のローディング(図268) D.入出力システム10116(図204,図206,
図269) a.入出力システム10116の構造(図204) b.入出力システム10116の作用(図269) 1.データ・チャネル素子 2.入出力制御プロセッサ20412 3.データ移動器20410(図269) aa.入力データバッファ20440および出力データ
バッファ20442 bb.優先順位分解能および制御装置20444(図2
69) E.診断プロセッサ10118(図101,図205) F.CS10110のマイクロ機械構造および作用(図
270〜図274) a.序説 b.FUマイクロ機械を構成する諸素子のまとめ(図2
70) 1.大半のマイクロコードにより使用される諸素子 aa.MODバス10144、JPDバス10142お
よびDBバス27021 bb.マイクロコードのアドレス指定 cc.記述子プロセッサ20218(図271) dd.EU10122のインターフェース 2.特定化されたマイクロ機械素子 aa.命令ストリーム・リーダ27001 bb.SOPデコーダ27003 cc.名前翻訳装置27015 dd.メモリー照合装置27017 ee.機密保護装置27019 ff.KOSマイクロ機械素子 c.マイクロ機械スタックおよびマイクロルーチン呼出
しおよび戻り(図272,図273) 1.マイクロ機械スタック(図272) 2.マイクロ呼出し兼戻し 3.マイクロルーチンの呼出しの手段 4.事象の呼出しの発生(図273) d.仮想マイクロ機械およびモニター・マイクロ機械 1.仮想モード 2.モニターマイクロ機械 e.割込みおよび障害の取扱い 1.一般的な原理 2.CS10110におけるハードウェア割込みおよび
障害の取扱い 3.モニター・モード:差動マスキングおよびハードウ
ェア割込みの取扱い f.FUマイクロ機械およびCS10110サブシステ
ム 3.名前空間、Sインタプリタおよびポインタ(図30
1〜図307,図274) A.ポインタおよびポインタの分解能(図301,図3
02) a.ポインタのフォーマット(図301) b.FU10120におけるポインタ(図302) c.記述子からポインタへの変換 B.名前の空間およびSインタプリタ(図303〜図3
07) a.手順のオブジェクト606の総括(図303) b.名前の空間 1.名前の分解能および評価 2.名前のテーブル(図304) 3.アーキテクチャ基底ポインタ(図305,図30
6) aa.名前の分解能および評価(図305) bb.CS10110における名前の評価および名前の
分解の構成 cc.名前のカッシェ装置10226の記入(図30
6) dd.名前のカッシェ装置10226のヒット ee.名前のカッシェ装置10226のミス ff.名前のカッシェ装置10226のフラッシング gg.命令ストリームの取出し hh.命令ストリームのオペランド解析 c.Sインタプリタ(図307) 1.SIPの特異数への翻訳(図307) 2.タスク指名 4.核心のオペレーティング・システム A.序説a.オペレーティング・システム(図401) 1.オペレーティング・システムにより制御される資源
(図402) b.CS10110におけるオペレーティング・システ
ム c.拡張されるオペレーティング・システムおよび核心
オペレーティング・システム(図403) B.オブジェクトおよびオブジェクト管理(図404) a.オブジェクトおよびユーザ・プログラム(図40
5) b.UID40401(図406) c.オブジェクトの属性 d.属性とアクセス制御 e.オブジェクトの構成 1.序説(図407,図408) 2.2次記憶装置10124のオブジェクト(図40
9,図410) aa.2次記憶装置10124におけるオブジェクトの
内容の表示 bb.LAUD40903(図411,図412) 3.活動状態のオブジェクト(図413) aa.UID40401からAON41304への変換 C.アクセス制御システム a.主題 b.定義域 c.アクセス制御リスト 1.主題のテンプレート(図416) 2.初期アクセス制御リスト(PACL) 3.APAM10918および機密保護カッシェ装置1
0234(図421) 4.機密保護カッシェ装置10234および機密保護検
査(図422) D.プロセス 1.プロセス610および仮想プロセス612の同期 a.事象カウンタ44801、待機記入44804およ
び待機テーブル(図448,図449) b.事象カウンタ44801および待機記入44804
との同期 E.仮想プロセッサ612(図453) a.仮想プロセッサの管理(図453) b.仮想プロセッサ612および同期(図454) F.プロセッサ610のスタック操作 1.呼出しおよび戻り操作の序説 2.マクロスタック(MAS)502(図467) aa.MASベース10410(図468) bb.定義域によるデータ領域46853(図468) cc.MASフレーム46709の詳細(図469) 3.SS504(図470) aa.SSベース47001(図471) bb.SSフレーム47003(図471) aaa.通常のSSフレーム・ヘッダー10514(図
471) bbb.マクロスタック10516の詳細な構造(図4
71) ccc.交差領域SSフレーム47039(図471) 4.呼出しおよび戻りに関する手順オブジェクト608
の各部(図472) 5.仲介呼出しの実行 aa.仲介呼出しSIN bb.簡単な仲介呼出し(図270,図468,図46
9,図470,図471,図472) cc.SEBを要求する手順602の呼出し(図27
0,図468,図469,図470,図471,図47
2) dd.交差手順のオブジェクト呼出し(図270,図4
68,図469,図470,図471,図472) ee.交差領域の呼出し(図270,図408,図41
8,図468,図469,図470,図471,図47
2) ff.障害を生じた交差領域呼出し(図270,図46
8,図469,図470,図471,図472) 6.近接域の呼出し(図468,図469,図472)概説 以下の概説は、最初に、本発明を実施したデジタルコン
ピュータ・システムの望ましい実施態様の全体的な物理
的構造および作用について簡単に述べる。次いで、この
コンピュータ・システムのいくつかの作用上の特徴につ
いて個々に述べることにする。次に、本コンピュータ・
システムの全体的な作用について前述の個々の特徴に関
して説明することになろう。
【0028】A.ハードウェアの概説(図1) 図1においては、本発明を実施したコンピュータ・シス
テム(CS)101のブロック図が示される。このCS
101の主要な要素は、入出力システム(IOS)と、
メモリー(MEM)112と、ジョブ・プロセッサ(J
P)114である。JP114は、取出し装置(FU)
120と、実行装置(EU)122とからなる。CS1
01はまた、本項においては示さない診断プロセッサ
(DP)を含む。
テム(CS)101のブロック図が示される。このCS
101の主要な要素は、入出力システム(IOS)と、
メモリー(MEM)112と、ジョブ・プロセッサ(J
P)114である。JP114は、取出し装置(FU)
120と、実行装置(EU)122とからなる。CS1
01はまた、本項においては示さない診断プロセッサ
(DP)を含む。
【0029】最初にIOS116について述べれば、I
OS116の主な機能はMEM112と外部間の情報の
転送の制御である。情報はMEM112からIOMバス
130を介してIOS116に対し、またIOS116
からMIOバス129を介してMEM112に対して転
送される。IOMCバス131は、MEM112とIO
S116の作用を連携させる両方向の制御信号からなっ
ている。IOS116はまたIOJPバス132を介し
てFU120に至るインターフェースを有する。IOJ
Pバス132は、主として2つの割込み回線からなる両
方向の制御バスである。これらの割込み回線は、FU1
20がIOS116に対して、FU120による情報要
求がMEM112に置かれたことを表示することを許容
し、またIOS116がFU120に対して、FU12
0により要求された情報がMEM112のある場所に転
送されたことを通知することを許容する。MEM112
はCS101の主記憶装置であり、外部とJP114間
の情報の転送のための経路として作用する。MEM11
2は、メモリー出力データ(MOD)バス140を介し
てFU120およびEU122に対し命令およびデータ
を提供し、かつジョブ・プロセッサのデータ(JPD)
バス142を介してFU120とEU122から情報を
受取る。FU120は物理的記述子(PD)バス146
を介してMEM112に対し読出しおよび書込み要求を
提供する。
OS116の主な機能はMEM112と外部間の情報の
転送の制御である。情報はMEM112からIOMバス
130を介してIOS116に対し、またIOS116
からMIOバス129を介してMEM112に対して転
送される。IOMCバス131は、MEM112とIO
S116の作用を連携させる両方向の制御信号からなっ
ている。IOS116はまたIOJPバス132を介し
てFU120に至るインターフェースを有する。IOJ
Pバス132は、主として2つの割込み回線からなる両
方向の制御バスである。これらの割込み回線は、FU1
20がIOS116に対して、FU120による情報要
求がMEM112に置かれたことを表示することを許容
し、またIOS116がFU120に対して、FU12
0により要求された情報がMEM112のある場所に転
送されたことを通知することを許容する。MEM112
はCS101の主記憶装置であり、外部とJP114間
の情報の転送のための経路として作用する。MEM11
2は、メモリー出力データ(MOD)バス140を介し
てFU120およびEU122に対し命令およびデータ
を提供し、かつジョブ・プロセッサのデータ(JPD)
バス142を介してFU120とEU122から情報を
受取る。FU120は物理的記述子(PD)バス146
を介してMEM112に対し読出しおよび書込み要求を
提供する。
【0030】JP114はCS101のCPUであり、
かつ前に述べたように、FU120およびEU122か
らなる。FU120の主な機能は、ユーザ・プログラム
の操作の実行である。この機能の一部として、FU12
0はMEM112からの命令およびデータの転送、なら
びにJP114の操作の結果のMEM112に対する返
送を制御する。またFU120はオペレーティング・シ
ステム型の機能を実施し、完全な汎用CPUとしての動
作が可能である。EU122は、主としてある算術演算
をFU120から免除するため設けられた論理演算装置
である。しかし、FU120はEU122の諸操作を行
なうことができる。CS101の別の実施態様において
は、EU122は特定の算術的要件を有するユーザに対
する選択としてのみ提供することができる。FU120
とEU122の動作の連携は、両方向の制御信号と相互
の割込み回線を含むFU/EU(FUEU)バス148
により達成される。以下に更に述べるように、FU12
0およびEU122の両者は、例えば、ALUと関連す
るレジスタに加えて、それぞれCRFおよびERFと呼
ばれる如きレジスタ・ファイル・アレイを含んでいる。
かつ前に述べたように、FU120およびEU122か
らなる。FU120の主な機能は、ユーザ・プログラム
の操作の実行である。この機能の一部として、FU12
0はMEM112からの命令およびデータの転送、なら
びにJP114の操作の結果のMEM112に対する返
送を制御する。またFU120はオペレーティング・シ
ステム型の機能を実施し、完全な汎用CPUとしての動
作が可能である。EU122は、主としてある算術演算
をFU120から免除するため設けられた論理演算装置
である。しかし、FU120はEU122の諸操作を行
なうことができる。CS101の別の実施態様において
は、EU122は特定の算術的要件を有するユーザに対
する選択としてのみ提供することができる。FU120
とEU122の動作の連携は、両方向の制御信号と相互
の割込み回線を含むFU/EU(FUEU)バス148
により達成される。以下に更に述べるように、FU12
0およびEU122の両者は、例えば、ALUと関連す
るレジスタに加えて、それぞれCRFおよびERFと呼
ばれる如きレジスタ・ファイル・アレイを含んでいる。
【0031】CS101の主な特徴は、IOS116、
MEM112、FU120およびEU122は各々が個
々の独立したマイクロ命令制御を有し、従ってIOS1
16、MEM112およびEU122がFU120の総
体的な制御の下で非同期的に作動することである。例え
ば、EU122は、FU120からのデータと1つの最
初の指令の受取りと同時に複雑な算術的演算を実行する
ことができる。
MEM112、FU120およびEU122は各々が個
々の独立したマイクロ命令制御を有し、従ってIOS1
16、MEM112およびEU122がFU120の総
体的な制御の下で非同期的に作動することである。例え
ば、EU122は、FU120からのデータと1つの最
初の指令の受取りと同時に複雑な算術的演算を実行する
ことができる。
【0032】CS101の全体的な構造および作用につ
いて簡単に説明したが、CS101のいくつかの特徴に
ついては次に更に個別的に説明しよう。
いて簡単に説明したが、CS101のいくつかの特徴に
ついては次に更に個別的に説明しよう。
【0033】B.個別的な作用の特徴(図2,図3,図
4,図5および図6) 1.アドレス指定(図2) 図2においては、CS101のアドレス指定構造の各部
を示す図が示されている。CS101のアドレス指定構
造は、「オブジェクト」の概念に依存している。オブジ
ェクトは、ある特定の情報の形式を保有するコンテナと
見做すことができる。更に別の形式のオブジェクトはマ
イクロコードを有する。一般に、ある特定のオブジェク
トは唯1つの情報の形式即ち種類を有する。あるオブジ
ェクトは、例えば、2ビットまでの情報を含み得るが、
ある特定のオブジェクトの実際のサイズは柔軟性に富ん
でいる。即ち、ある特定のオブジェクトの実際のサイズ
は、情報がこのオブジェクトに書込まれる時増大し、ま
た情報がこのオブジェクトから取出される時に減少す
る。一般に、オブジェクトにおける情報は順次、即ち間
隙なしに記憶されるのである。
4,図5および図6) 1.アドレス指定(図2) 図2においては、CS101のアドレス指定構造の各部
を示す図が示されている。CS101のアドレス指定構
造は、「オブジェクト」の概念に依存している。オブジ
ェクトは、ある特定の情報の形式を保有するコンテナと
見做すことができる。更に別の形式のオブジェクトはマ
イクロコードを有する。一般に、ある特定のオブジェク
トは唯1つの情報の形式即ち種類を有する。あるオブジ
ェクトは、例えば、2ビットまでの情報を含み得るが、
ある特定のオブジェクトの実際のサイズは柔軟性に富ん
でいる。即ち、ある特定のオブジェクトの実際のサイズ
は、情報がこのオブジェクトに書込まれる時増大し、ま
た情報がこのオブジェクトから取出される時に減少す
る。一般に、オブジェクトにおける情報は順次、即ち間
隙なしに記憶されるのである。
【0034】CS101システムに存在し得る各オブジ
ェクトは、一義的記述子(UID)と呼ばれる通し番号
により一義的に識別される。1つのUIDは、例えば特
定のCS101システムおよびユーザに依存し、かつこ
のオブジェクトの形成時間を示す時間コードに依存する
通し番号からなる128ビットの値である。UIDは恒
久的にオブジェクトに割当てられ、2つのオブジェクト
が同じUIDを有することはできず、またUIDは再使
用することはできない。UIDはこれまで存在し得た全
てのCS101に対して共通のアドレス指定ベースを提
供し、これにより形成されたどんなオブジェクトでも恒
久的かつ一義的に識別可能である。
ェクトは、一義的記述子(UID)と呼ばれる通し番号
により一義的に識別される。1つのUIDは、例えば特
定のCS101システムおよびユーザに依存し、かつこ
のオブジェクトの形成時間を示す時間コードに依存する
通し番号からなる128ビットの値である。UIDは恒
久的にオブジェクトに割当てられ、2つのオブジェクト
が同じUIDを有することはできず、またUIDは再使
用することはできない。UIDはこれまで存在し得た全
てのCS101に対して共通のアドレス指定ベースを提
供し、これにより形成されたどんなオブジェクトでも恒
久的かつ一義的に識別可能である。
【0035】前述の如く、UIDは128ビットの値で
ありこのためCS101の本実施例において便利に取扱
うことができる。従って各CS101においては、本シ
ステムにおいて活動状態であるオブジェクトは14ビッ
トの活動状態のオブジェクト番号AONが与えられる。
このシステムにおいて活動状態の各オブジェクトは単に
一時的に特定のオブジェクトに割当てられるに過ぎな
い。AONは特定のCS101の内部においてのみ有効
であり、両システム間では一義的ではない。オブジェク
トは1つのAONが割当てられるべくシステム内に物理
的に存在する必要はなく、単にAONが割当てられたな
らばそれだけでシステム内で活動状態になり得る。
ありこのためCS101の本実施例において便利に取扱
うことができる。従って各CS101においては、本シ
ステムにおいて活動状態であるオブジェクトは14ビッ
トの活動状態のオブジェクト番号AONが与えられる。
このシステムにおいて活動状態の各オブジェクトは単に
一時的に特定のオブジェクトに割当てられるに過ぎな
い。AONは特定のCS101の内部においてのみ有効
であり、両システム間では一義的ではない。オブジェク
トは1つのAONが割当てられるべくシステム内に物理
的に存在する必要はなく、単にAONが割当てられたな
らばそれだけでシステム内で活動状態になり得る。
【0036】ある特定のオブジェクト内の特定のビット
は、UIDアドレスまたはAONアドレスによって識別
することができる。CS101においては、UIDおよ
びUIDアドレスがMEM112その他で使用される
間、AONおよびAONアドレスが有効である。UID
およびAONアドレスは、このオブジェクトのUIDま
たはAONに対して32ビットのオフセット(0)フィ
ールドを関連させることにより形成される。0フィール
ドは、ある特定のオブジェクトの開始に関するある特定
のビットのオフセット即ち場所を表示する。
は、UIDアドレスまたはAONアドレスによって識別
することができる。CS101においては、UIDおよ
びUIDアドレスがMEM112その他で使用される
間、AONおよびAONアドレスが有効である。UID
およびAONアドレスは、このオブジェクトのUIDま
たはAONに対して32ビットのオフセット(0)フィ
ールドを関連させることにより形成される。0フィール
ドは、ある特定のオブジェクトの開始に関するある特定
のビットのオフセット即ち場所を表示する。
【0037】特定のオブジェクト内の情報のセグメント
(情報ビットのシーケンス)は、記述子によって識別す
ることができる。UID記述子は、あるUIDアドレス
の32ビットの長さのフィールドを付加することにより
形成される。AON即ち論理記述子は、あるAONアド
レスに32ビットのLフィールドを付加することにより
形成される。LフィールドはUIDアドレスまたはAO
Nアドレスにより識別される情報ビットから開始するあ
るオブジェクト内の情報ビットのあるセグメントの長さ
を識別する。長さの情報に加えて、UIDおよび論理記
述子もまた情報セグメント内の情報のある特性に関する
情報を含む形式フィールドを含んでいる。再び、AON
に基づく記述子はJP114内部で使用されるが、UI
Dに基づく記述子はMEM112において使用される。
(情報ビットのシーケンス)は、記述子によって識別す
ることができる。UID記述子は、あるUIDアドレス
の32ビットの長さのフィールドを付加することにより
形成される。AON即ち論理記述子は、あるAONアド
レスに32ビットのLフィールドを付加することにより
形成される。LフィールドはUIDアドレスまたはAO
Nアドレスにより識別される情報ビットから開始するあ
るオブジェクト内の情報ビットのあるセグメントの長さ
を識別する。長さの情報に加えて、UIDおよび論理記
述子もまた情報セグメント内の情報のある特性に関する
情報を含む形式フィールドを含んでいる。再び、AON
に基づく記述子はJP114内部で使用されるが、UI
Dに基づく記述子はMEM112において使用される。
【0038】図1および図2を一緒に考察すれば、UI
Dアドレスと記述子、およびAONアドレスと記述子間
の翻訳は、MEM112とJP114間のインターフェ
ースにおいて実施される。即ち、JP114内のアドレ
スおよび記述子はAON形態であるがMEM112、I
OS116および外部におけるアドレスおよび記述子は
UID形態にある。AONを用いるCS101の他の実
施態様においては、UIDアドレス指定からAONアド
レス指定への変換は他のインターフェースにおいて、例
えば、IOS116からMEM112へのインターフェ
ースにおいて、あるいはIOS116から外部へのイン
ターフェースにおいて生じ得る。CS101の他の実施
態様は、全てUIDを用い、即ち、JP114内におい
てさえもAONは使用しないのである。
Dアドレスと記述子、およびAONアドレスと記述子間
の翻訳は、MEM112とJP114間のインターフェ
ースにおいて実施される。即ち、JP114内のアドレ
スおよび記述子はAON形態であるがMEM112、I
OS116および外部におけるアドレスおよび記述子は
UID形態にある。AONを用いるCS101の他の実
施態様においては、UIDアドレス指定からAONアド
レス指定への変換は他のインターフェースにおいて、例
えば、IOS116からMEM112へのインターフェ
ースにおいて、あるいはIOS116から外部へのイン
ターフェースにおいて生じ得る。CS101の他の実施
態様は、全てUIDを用い、即ち、JP114内におい
てさえもAONは使用しないのである。
【0039】最後に、MEM112内の情報は、その記
憶空間内の特定の物理的場所を識別するMEM112の
物理的アドレスを介して見出される。IOS116とJ
P114の両者は、MEM112に対して物理的アドレ
スを与えることによってMEM112内の情報をアドレ
ス指定する。JP114により与えられる物理的アドレ
スの場合には、これらのアドレスは物理的記述子(P
D)と呼ばれる。以下に述べるように、JP114は、
論理記述子を物理的記述子に翻訳する回路を有する。
憶空間内の特定の物理的場所を識別するMEM112の
物理的アドレスを介して見出される。IOS116とJ
P114の両者は、MEM112に対して物理的アドレ
スを与えることによってMEM112内の情報をアドレ
ス指定する。JP114により与えられる物理的アドレ
スの場合には、これらのアドレスは物理的記述子(P
D)と呼ばれる。以下に述べるように、JP114は、
論理記述子を物理的記述子に翻訳する回路を有する。
【0040】2.S言語命令および名前空間のアドレス
指定(図3) CS101は、S言語機械および名前空間機械の両者で
ある。即ち、CS101により実行されるべき命令はS
言語命令(SOP)として表現され、オペランドは名前
により識別される。SOPは例えばFORTRANおよ
びCOBOLの如きユーザ言語命令より低いレベルの更
に詳細な命令であるが、従来の機械語命令よりは高いレ
ベルの命令である。SOPはCS101のある特定の実
施態様ではなく特定のユーザ言語に固有のものである
が、従来の機械語の命令は特定の機械に特定される。S
OPは更にマイクロコードにより翻訳されて実行され
る。各ユーザ言語に対しては、1組のSOPであるS言
語ダイアレクトがある。例えば、CS101はCOBO
L、FORTRANおよびSPLに対するSOPダイア
レクトを有し得る。CS101の特定の区別は、全ての
SOPが例えば16ビットの一定の固定された長さであ
ることである。CS101は一般に各S言語ダイアレク
トに対して1組以上のマイクロコードを含んでいる。こ
れらのマイクロコード・ダイアレクトの組は、1つ以上
のSOPが同じマイクロコードを用いる場合に、完全に
異なるか、あるいは重複する。
指定(図3) CS101は、S言語機械および名前空間機械の両者で
ある。即ち、CS101により実行されるべき命令はS
言語命令(SOP)として表現され、オペランドは名前
により識別される。SOPは例えばFORTRANおよ
びCOBOLの如きユーザ言語命令より低いレベルの更
に詳細な命令であるが、従来の機械語命令よりは高いレ
ベルの命令である。SOPはCS101のある特定の実
施態様ではなく特定のユーザ言語に固有のものである
が、従来の機械語の命令は特定の機械に特定される。S
OPは更にマイクロコードにより翻訳されて実行され
る。各ユーザ言語に対しては、1組のSOPであるS言
語ダイアレクトがある。例えば、CS101はCOBO
L、FORTRANおよびSPLに対するSOPダイア
レクトを有し得る。CS101の特定の区別は、全ての
SOPが例えば16ビットの一定の固定された長さであ
ることである。CS101は一般に各S言語ダイアレク
トに対して1組以上のマイクロコードを含んでいる。こ
れらのマイクロコード・ダイアレクトの組は、1つ以上
のSOPが同じマイクロコードを用いる場合に、完全に
異なるか、あるいは重複する。
【0041】前述の如く、CS101においては、全て
のオペランドが、8,12または16ビットの数である
名前によって識別される。CS101は、現在実行中の
プログラムに現われる各オペランドの名前に対する記入
を含む1つ以上の「名前テーブル」を含んでいる。各名
前テーブルの記入は、ある特定の名前で呼ばれるオペラ
ンドを記述する情報、ならびにこの情報を対応する論理
記述子に翻訳するためCS101に必要な指令を含んで
いる。前述の如く、論理記述子は物理的記述子に翻訳さ
れてMEM112に関する読出しおよび書込みを行なう
ことができる。前述の如く、UIDは全てのCS101
システムに対して一義的であり、AONは個々のCS1
01システム内では一義的である。しかし、名前はユー
ザ・プログラムの文脈内においてのみ一義的である。あ
る特定の名前が2つの異なるユーザ・プログラムに現わ
れ、また各プログラム内では、異なる名前テーブル記入
を有し異なるオペランドを意味する。
のオペランドが、8,12または16ビットの数である
名前によって識別される。CS101は、現在実行中の
プログラムに現われる各オペランドの名前に対する記入
を含む1つ以上の「名前テーブル」を含んでいる。各名
前テーブルの記入は、ある特定の名前で呼ばれるオペラ
ンドを記述する情報、ならびにこの情報を対応する論理
記述子に翻訳するためCS101に必要な指令を含んで
いる。前述の如く、論理記述子は物理的記述子に翻訳さ
れてMEM112に関する読出しおよび書込みを行なう
ことができる。前述の如く、UIDは全てのCS101
システムに対して一義的であり、AONは個々のCS1
01システム内では一義的である。しかし、名前はユー
ザ・プログラムの文脈内においてのみ一義的である。あ
る特定の名前が2つの異なるユーザ・プログラムに現わ
れ、また各プログラム内では、異なる名前テーブル記入
を有し異なるオペランドを意味する。
【0042】CS101はこれにより、2組の命令を用
いるものとして考えることができる。第1の組は、実行
されるべき算法を選定する命令であるSOPからなる。
第2組の命令は、オペランドに関する照合を行なうため
の命令のテーブルへの記入点と見做すことができる。
いるものとして考えることができる。第1の組は、実行
されるべき算法を選定する命令であるSOPからなる。
第2組の命令は、オペランドに関する照合を行なうため
の命令のテーブルへの記入点と見做すことができる。
【0043】図3においては、CS命令ストリームが表
示されている。典型的なSINは1つのSOPからな
り、オペランドに関する1つ以上の名前を有する。SO
Pおよび名前は、ユーザ・プログラムを非常にコンパク
トなコードにおいて表示することを可能にする。ユーザ
・プログラムの表示には機械語の命令よりも少ないSO
PがHTとされる。また、SOPの使用によってコンパ
イラの構造が容易かつ簡単になり、またCS101シス
テムの新たなユーザ言語への適用を容易にする。更に、
オペランドに関する名前の使用は、SOPが作動するオ
ペランドの形態に依存することを意味する。このため、
更に、オペランドの形態に依存する命令を指定するSO
Pが必要とされないユーザ・プログラムの表示の際、更
にコンパクトなコードを可能にするのである。
示されている。典型的なSINは1つのSOPからな
り、オペランドに関する1つ以上の名前を有する。SO
Pおよび名前は、ユーザ・プログラムを非常にコンパク
トなコードにおいて表示することを可能にする。ユーザ
・プログラムの表示には機械語の命令よりも少ないSO
PがHTとされる。また、SOPの使用によってコンパ
イラの構造が容易かつ簡単になり、またCS101シス
テムの新たなユーザ言語への適用を容易にする。更に、
オペランドに関する名前の使用は、SOPが作動するオ
ペランドの形態に依存することを意味する。このため、
更に、オペランドの形態に依存する命令を指定するSO
Pが必要とされないユーザ・プログラムの表示の際、更
にコンパクトなコードを可能にするのである。
【0044】3.アーキテクチャ基底ポインタのアドレ
ス指定 以下において更に詳細に述べるように、CS101に存
在するユーザ・プログラムは1つ以上のオブジェクトを
含むことになる。最初に、ある手順オブジェクトはユー
ザ・プログラムの少なくともSINおよびプログラムの
オペランド名前に対する記入を含む名前テーブルとを含
んでいる。このSINは、例えば、多くのユーザに共通
に使用可能な手順を含む他の手順オブジェクトに対する
照合即ち呼出しを含み得る。第2に、静的データ領域
は、プログラムの少なくとも1つの実行のための存在を
有するデータである静的データを含み得る。また第3
に、以下に説明するマクロスタックは、あるプログラム
の実行中に生成されたデータである局所データを含み得
る。各手順オブジェクト、静的データ領域およびマクロ
スタックは、UIDおよびAONにより識別されかつU
IDおよびAONのアドレスおよび記述子によりアドレ
ス指定可能な個々のオブジェクトである。
ス指定 以下において更に詳細に述べるように、CS101に存
在するユーザ・プログラムは1つ以上のオブジェクトを
含むことになる。最初に、ある手順オブジェクトはユー
ザ・プログラムの少なくともSINおよびプログラムの
オペランド名前に対する記入を含む名前テーブルとを含
んでいる。このSINは、例えば、多くのユーザに共通
に使用可能な手順を含む他の手順オブジェクトに対する
照合即ち呼出しを含み得る。第2に、静的データ領域
は、プログラムの少なくとも1つの実行のための存在を
有するデータである静的データを含み得る。また第3
に、以下に説明するマクロスタックは、あるプログラム
の実行中に生成されたデータである局所データを含み得
る。各手順オブジェクト、静的データ領域およびマクロ
スタックは、UIDおよびAONにより識別されかつU
IDおよびAONのアドレスおよび記述子によりアドレ
ス指定可能な個々のオブジェクトである。
【0045】ユーザの手順オブジェクト、静的データ領
域およびマクロスタックにおける情報の場所は、3つの
値、即ちアーキテクチャ基底ポインタ(ABP)等と呼
ばれる基底アドレスの内の1つからのオフセットとして
表示される。例えば、名前テーブルにおける場所の情報
は、前記ABPの1つからのオフセットとして表示され
る。ABPは、前に述べた如くに表示することができる
のである。
域およびマクロスタックにおける情報の場所は、3つの
値、即ちアーキテクチャ基底ポインタ(ABP)等と呼
ばれる基底アドレスの内の1つからのオフセットとして
表示される。例えば、名前テーブルにおける場所の情報
は、前記ABPの1つからのオフセットとして表示され
る。ABPは、前に述べた如くに表示することができる
のである。
【0046】これらの3つのABPとは、フレーム・ポ
インタ(FP)、手順の基底ポインタ(PBP)および
静的データポインタ(SDP)である。手順に対して局
所となるデータの場所、例えば、手順のマクロスタック
におけるデータの場所については、FPからのオフセッ
トとして説明される。局所データでないデータ、即ち静
的データの場所は、SDPからのオフセットとして説明
される。手順オブジェクトにおけるSINの場所はPB
Pからのオフセットとして説明され、これらのオフセッ
トはプログラム・カウンタ(PC)の値として決定され
る。ABPの値はプログラムの実行中に変化し、従って
ユーザの高レベルの言語プログラムをCS101システ
ムにおいて実行されるべきプログラムへ変換するコンパ
イラによっては与えられない。プログラムが実行される
時は、CS101はABPに対する適正な値を提供す
る。あるプログラムが実際に実行されつつある時は、A
BPの値はFU120のGRFに記憶される。
インタ(FP)、手順の基底ポインタ(PBP)および
静的データポインタ(SDP)である。手順に対して局
所となるデータの場所、例えば、手順のマクロスタック
におけるデータの場所については、FPからのオフセッ
トとして説明される。局所データでないデータ、即ち静
的データの場所は、SDPからのオフセットとして説明
される。手順オブジェクトにおけるSINの場所はPB
Pからのオフセットとして説明され、これらのオフセッ
トはプログラム・カウンタ(PC)の値として決定され
る。ABPの値はプログラムの実行中に変化し、従って
ユーザの高レベルの言語プログラムをCS101システ
ムにおいて実行されるべきプログラムへ変換するコンパ
イラによっては与えられない。プログラムが実行される
時は、CS101はABPに対する適正な値を提供す
る。あるプログラムが実際に実行されつつある時は、A
BPの値はFU120のGRFに記憶される。
【0047】他のポインタが、例えば、CS101の機
密保護スタックの最上位のフレーム(以下に述べるマイ
クロコード・レベルのスタック)の識別、あるいはある
手順のSINの実行中においてその時使用中であるマイ
クロコードのダイアレクトの識別のために使用される。
これらのポインタはFP,SDPおよびPBPと同じも
のである。
密保護スタックの最上位のフレーム(以下に述べるマイ
クロコード・レベルのスタック)の識別、あるいはある
手順のSINの実行中においてその時使用中であるマイ
クロコードのダイアレクトの識別のために使用される。
これらのポインタはFP,SDPおよびPBPと同じも
のである。
【0048】4.スタックの機構(図4乃至図5) 図4および図4Aにおいては、それぞれ従来の機械およ
びCS101の種々の制御レベルおよびスタック機構を
表わす図が示されている。最初に、図4においては、制
御の最上位のレベルが例えば、FORTRANまたはC
OBOLにおけるユーザ言語命令402により与えられ
る。ユーザ言語命令402はユーザ・プログラムの実行
のため機械内部で使用される多数の更に詳細な機械語命
令404に変換される。機械内部においては、機械語命
令404は、更に直接機械のハードウェア408を制御
する一連のマイクロ命令であるマイクロコード命令40
6により翻訳され実行される。ある従来の機械は、もし
その時の機械語命令404が実行できないか、あるいは
割込みされるならばその時のマイクロ命令でありかつ種
々の機械のレジスタであるその時の機械の状態の保管の
ため使用されるスタック機構410を含み得る。一般に
マイクロコードおよびハードウェア・レベルにおける機
械の状態は保管されない。その時の機械語命令404の
実行は、この機械語命令404の実行のためのマイクロ
命令シーケンスの開始時に後で再開されるのである。
びCS101の種々の制御レベルおよびスタック機構を
表わす図が示されている。最初に、図4においては、制
御の最上位のレベルが例えば、FORTRANまたはC
OBOLにおけるユーザ言語命令402により与えられ
る。ユーザ言語命令402はユーザ・プログラムの実行
のため機械内部で使用される多数の更に詳細な機械語命
令404に変換される。機械内部においては、機械語命
令404は、更に直接機械のハードウェア408を制御
する一連のマイクロ命令であるマイクロコード命令40
6により翻訳され実行される。ある従来の機械は、もし
その時の機械語命令404が実行できないか、あるいは
割込みされるならばその時のマイクロ命令でありかつ種
々の機械のレジスタであるその時の機械の状態の保管の
ため使用されるスタック機構410を含み得る。一般に
マイクロコードおよびハードウェア・レベルにおける機
械の状態は保管されない。その時の機械語命令404の
実行は、この機械語命令404の実行のためのマイクロ
命令シーケンスの開始時に後で再開されるのである。
【0049】図4Aにおいては、CS101における最
上位レベルの制御は従来の機械における如くユーザ言語
命令412によるものである。しかし、CS101にお
いては、ユーザ言語命令412は、従来の機械語命令よ
りも高いレベルであるSOP414に翻訳される。一般
に、1つのユーザ言語命令412は、従来の機械語命令
404の全シーケンスとは対照的に、最大2つ乃至3つ
のSOP414に変換される。SOP414は、直接C
S101のハードウェア418を制御するマイクロコー
ド命令416(マイクロ命令のシーケンス)により翻訳
され実行される。CS101は、SOP414のレベル
においてマクロスタック機構(MAS)420を含む
が、これは従来の機械語スタック機構410とは構造も
作用も異なるものと対比できる。CS101はまたマイ
クロコード命令416のレベルで動作するマイクロコー
ド・スタック機構422を含み、そのためマイクロ命令
シーケンスの割込みされたマイクロ命令の実行は、この
割込みの時点において活動状態であった特定のマイクロ
命令によって後で再開することができる。CS101
は、従って、あるマイクロ命令のシーケンスの開始時か
らではなくこのシーケンスが割込みされた特定の時点か
らマイクロ命令シーケンスの実行が再開される如き割込
み動作の取扱いにおいて更に有効である。以下において
更に説明するように、マイクロコード・レベルにおける
CS101のマイクロコード・スタック機構422は有
効に2つのスタック機構からなる。最初のスタックはマ
イクロ命令スタック(MIS)424であり、第2のス
タックはモニター・スタック(MOS)426と呼ばれ
る。CS101のSINマイクロコード428およびM
IS424は、主として、ユーザ・プログラムのSOP
の実行と関連する。モニター・マイクロコード430お
よびMOS426はCS101のある内部機能の動作と
関連している。
上位レベルの制御は従来の機械における如くユーザ言語
命令412によるものである。しかし、CS101にお
いては、ユーザ言語命令412は、従来の機械語命令よ
りも高いレベルであるSOP414に翻訳される。一般
に、1つのユーザ言語命令412は、従来の機械語命令
404の全シーケンスとは対照的に、最大2つ乃至3つ
のSOP414に変換される。SOP414は、直接C
S101のハードウェア418を制御するマイクロコー
ド命令416(マイクロ命令のシーケンス)により翻訳
され実行される。CS101は、SOP414のレベル
においてマクロスタック機構(MAS)420を含む
が、これは従来の機械語スタック機構410とは構造も
作用も異なるものと対比できる。CS101はまたマイ
クロコード命令416のレベルで動作するマイクロコー
ド・スタック機構422を含み、そのためマイクロ命令
シーケンスの割込みされたマイクロ命令の実行は、この
割込みの時点において活動状態であった特定のマイクロ
命令によって後で再開することができる。CS101
は、従って、あるマイクロ命令のシーケンスの開始時か
らではなくこのシーケンスが割込みされた特定の時点か
らマイクロ命令シーケンスの実行が再開される如き割込
み動作の取扱いにおいて更に有効である。以下において
更に説明するように、マイクロコード・レベルにおける
CS101のマイクロコード・スタック機構422は有
効に2つのスタック機構からなる。最初のスタックはマ
イクロ命令スタック(MIS)424であり、第2のス
タックはモニター・スタック(MOS)426と呼ばれ
る。CS101のSINマイクロコード428およびM
IS424は、主として、ユーザ・プログラムのSOP
の実行と関連する。モニター・マイクロコード430お
よびMOS426はCS101のある内部機能の動作と
関連している。
【0050】CS101のマイクロスタックのMIS4
24およびMOS426への分割は、CS101の別の
特徴を示している。従来の機械においては、モニター機
能は機械の主CPUと関連して作動する別のCPUによ
って行なうことができる。CS101においては、1つ
のハードウェアCPUが別のグループのマイクロコード
によって実施される両機能の実際の実行により両機能に
使用される。モニター・マイクロコード操作は、あるS
OP414により、またはCS101ハードウェア41
8により直接生成される制御信号により始動し得る。ハ
ードウェア418が生成した信号によるモニター・マイ
クロコード430の呼出しは、CS101のモニター機
能が常に呼出し可能であることを保証する。
24およびMOS426への分割は、CS101の別の
特徴を示している。従来の機械においては、モニター機
能は機械の主CPUと関連して作動する別のCPUによ
って行なうことができる。CS101においては、1つ
のハードウェアCPUが別のグループのマイクロコード
によって実施される両機能の実際の実行により両機能に
使用される。モニター・マイクロコード操作は、あるS
OP414により、またはCS101ハードウェア41
8により直接生成される制御信号により始動し得る。ハ
ードウェア418が生成した信号によるモニター・マイ
クロコード430の呼出しは、CS101のモニター機
能が常に呼出し可能であることを保証する。
【0051】図5によれば、単一のユーザ・プログラム
または手順のためのCS101のスタック機構が示され
る。基本的には、MOS426を例外として、CS10
1のスタックがMEM112に存在し、これらスタック
のある部分がFU120およびEU122に対して加速
されて操作速度を向上させるのである。
または手順のためのCS101のスタック機構が示され
る。基本的には、MOS426を例外として、CS10
1のスタックがMEM112に存在し、これらスタック
のある部分がFU120およびEU122に対して加速
されて操作速度を向上させるのである。
【0052】MEM112の記憶空間のある領域は、マ
クロスタック(MAS)502の前述の如くSINレベ
ルにおいて作動するスタック機構を含むため残されてい
る。MEM112の他の領域は、前述の如くマイクロコ
ード・レベルで作動しMIS424がその一部である機
密保護スタック(SS)504を含むため残されてい
る。
クロスタック(MAS)502の前述の如くSINレベ
ルにおいて作動するスタック機構を含むため残されてい
る。MEM112の他の領域は、前述の如くマイクロコ
ード・レベルで作動しMIS424がその一部である機
密保護スタック(SS)504を含むため残されてい
る。
【0053】以下に更に説明するように、例えば、AL
Uと関連するレジスタに加えて、夫々GRFおよびER
Fと呼ばれるレジスタ・ファイル・アレイを含む。FU
120においては、同図に示されているのはFU120
のGRF506である。GRF506は水平方向に3つ
の領域に分割されている。汎用レジスタ(GR)と呼ば
れる第1の領域は、一般に従来の機械におけるレジスタ
と同じ方法で使用することができる。GRF506の第
2の領域はマイクロスタック(MIS)424であり、
プロセスのSS504の一部を含むため残されている。
GRF506の第3の部分はMOS426を含むように
残されている。またFU120内に示されるのはマイク
ロコード制御状態(mCS)510と呼ばれるブロック
である。このmCS510はマイクロ命令およびハード
ウェア・レベルに関するその時のFU120の作動状態
を含むレジスタその他のFU120のハードウェアを示
している。mCS510は、例えば、FU120の動作
を制御するその時のマイクロ命令を含み得る。
Uと関連するレジスタに加えて、夫々GRFおよびER
Fと呼ばれるレジスタ・ファイル・アレイを含む。FU
120においては、同図に示されているのはFU120
のGRF506である。GRF506は水平方向に3つ
の領域に分割されている。汎用レジスタ(GR)と呼ば
れる第1の領域は、一般に従来の機械におけるレジスタ
と同じ方法で使用することができる。GRF506の第
2の領域はマイクロスタック(MIS)424であり、
プロセスのSS504の一部を含むため残されている。
GRF506の第3の部分はMOS426を含むように
残されている。またFU120内に示されるのはマイク
ロコード制御状態(mCS)510と呼ばれるブロック
である。このmCS510はマイクロ命令およびハード
ウェア・レベルに関するその時のFU120の作動状態
を含むレジスタその他のFU120のハードウェアを示
している。mCS510は、例えば、FU120の動作
を制御するその時のマイクロ命令を含み得る。
【0054】EU122においては、その内部に実行装
置(EUS)512と呼ばれる第1のブロックと、SO
Pスタック514と呼ばれる第2のブロックとである。
EUS512はFU120におけるmCS510と類似
し、EU122のその時の作動状態を反映する情報を含
む全てのレジスタおよび他のEU122のハードウェア
を含んでいる。SOPスタック518は、EU122の
作用に関してプロセスのSS504の一部を含むためス
タック機構として残されたEU122のERF516の
一部である。
置(EUS)512と呼ばれる第1のブロックと、SO
Pスタック514と呼ばれる第2のブロックとである。
EUS512はFU120におけるmCS510と類似
し、EU122のその時の作動状態を反映する情報を含
む全てのレジスタおよび他のEU122のハードウェア
を含んでいる。SOPスタック518は、EU122の
作用に関してプロセスのSS504の一部を含むためス
タック機構として残されたEU122のERF516の
一部である。
【0055】最初にMAS502について考察すれば、
前述の如く一般にMAS502が、ユーザ・プログラム
のあるプロセス(以下に述べる)の実行のその時の状態
を記憶するため使用される。
前述の如く一般にMAS502が、ユーザ・プログラム
のあるプロセス(以下に述べる)の実行のその時の状態
を記憶するため使用される。
【0056】次にMIS424について見れば、CS1
01の本実施例においてはMIS424の保持のため残
されたGRF506の前記部分は、8つのスタック・フ
レームの容量を有する。即ち、ユーザ・プログラムの実
行に関する8つまでのマイクロ命令レベルの割込み即ち
呼出しがMIS424内にスタックすることが可能であ
る。MIS424のスタック・フレームに記載された情
報は一般にGR508およびmCS510からの情報で
ある。MIS424のスタック・フレームは、SS50
4の少なくとも1つのフレームであって8つ以下のフレ
ームがGRF506内に存在するように、MIS424
およびSS504間に転送される。このことは、プロセ
スのSS504の少なくとも最上位のフレームがFU1
20に存在することを保証し、これによりこの最上位の
フレームへのアクセスが迅速になることによりFU12
0の作用速度を向上させるのである。MEM112に存
在するSS504は、あらゆる実際的なオブジェクトの
ため、MIS424およびSS504があたかもユーザ
にとって無限に長いスタックのように思われるように、
無制限のフレーム数を含み得るのである。
01の本実施例においてはMIS424の保持のため残
されたGRF506の前記部分は、8つのスタック・フ
レームの容量を有する。即ち、ユーザ・プログラムの実
行に関する8つまでのマイクロ命令レベルの割込み即ち
呼出しがMIS424内にスタックすることが可能であ
る。MIS424のスタック・フレームに記載された情
報は一般にGR508およびmCS510からの情報で
ある。MIS424のスタック・フレームは、SS50
4の少なくとも1つのフレームであって8つ以下のフレ
ームがGRF506内に存在するように、MIS424
およびSS504間に転送される。このことは、プロセ
スのSS504の少なくとも最上位のフレームがFU1
20に存在することを保証し、これによりこの最上位の
フレームへのアクセスが迅速になることによりFU12
0の作用速度を向上させるのである。MEM112に存
在するSS504は、あらゆる実際的なオブジェクトの
ため、MIS424およびSS504があたかもユーザ
にとって無限に長いスタックのように思われるように、
無制限のフレーム数を含み得るのである。
【0057】MOS426は完全にFU120に存在
し、またCS101の本事例においては、8つのスタッ
ク・フレームを有する。CS101の作用の特徴は、あ
る事象または割込みの取扱いのためのCS101の機構
がその作用において、この作用がかかる障害または割込
みを惹起したCS101の各部に依存しないことであ
る。CS101のモニター・マイクロコードにより取扱
われる事象の内には、例えばMEM112のページの障
害がある。MEM112のページ障害は、FU120が
MEM112におけるデータの照合を行ないかつこのデ
ータがMEM112にはない時は常に生じる。この操作
および同様な操作のため、MOS426は完全にFU1
20に存在し、またこのためMEM112における情報
には依存しない。
し、またCS101の本事例においては、8つのスタッ
ク・フレームを有する。CS101の作用の特徴は、あ
る事象または割込みの取扱いのためのCS101の機構
がその作用において、この作用がかかる障害または割込
みを惹起したCS101の各部に依存しないことであ
る。CS101のモニター・マイクロコードにより取扱
われる事象の内には、例えばMEM112のページの障
害がある。MEM112のページ障害は、FU120が
MEM112におけるデータの照合を行ないかつこのデ
ータがMEM112にはない時は常に生じる。この操作
および同様な操作のため、MOS426は完全にFU1
20に存在し、またこのためMEM112における情報
には依存しない。
【0058】前述の如く、汎用レジスタ508、MIS
424およびMOS426は各々GRF506のある割
当てられた部分に存在する。このため、経験により示さ
れるように、汎用レジスタ508、MIS424および
MOS426の容量の変更における柔軟性を可能にし、
あるいは特定のオブジェクトのための個々のCS101
の変更を可能にするものである。
424およびMOS426は各々GRF506のある割
当てられた部分に存在する。このため、経験により示さ
れるように、汎用レジスタ508、MIS424および
MOS426の容量の変更における柔軟性を可能にし、
あるいは特定のオブジェクトのための個々のCS101
の変更を可能にするものである。
【0059】最後に、EU122について述べれば、E
US512は機能的にはプロセッサのSS504の一部
である。また前述の如く、EU122はSINに応答し
て算術演算を行ない、またFU120によってあるFU
120の操作に割込ませることができる。EUS512
は割込みのスタッキングを可能にする。例えば、FU1
20は最初に算術演算SOPに割込んでEU122に名
前テーブル記入の評価を助けることを要求することがで
きる。この最初の割込みが完了する前に、FU120は
再び割込みが可能である如きである。
US512は機能的にはプロセッサのSS504の一部
である。また前述の如く、EU122はSINに応答し
て算術演算を行ない、またFU120によってあるFU
120の操作に割込ませることができる。EUS512
は割込みのスタッキングを可能にする。例えば、FU1
20は最初に算術演算SOPに割込んでEU122に名
前テーブル記入の評価を助けることを要求することがで
きる。この最初の割込みが完了する前に、FU120は
再び割込みが可能である如きである。
【0060】SOPスタック514は、割込みがある算
術演算SOPに行なわれる時、EU122のその時の状
態を記憶するための単一のフレームである。割込まれた
SOPの状態がSOPスタック514に転送され、割込
みがEUS512における実行を開始する。第2の割込
みの発生(最初の割込みが完了する前)と同時に、EU
の最初の割込み状態はEUS512からSS504にお
けるスタック・フレームに対して転送され、第2の割込
みの実行がEUS512において開始する。もし第3の
割込みが第2の割込みの完了の前に生じるならば、EU
の第2の割込み状態はEUS512からSS504にお
けるスタック・フレームに対して転送され、第3の割込
みの実行はEUS512において開始される、等々であ
る。このように、EUS512およびSS504は、E
U122に対する無限に長く見えるマイクロスタックを
提供する。この第3の割込みが完了するものと仮定する
と、第2の割込みの状態がSS504からEUS512
に転送され、第2の割込みの実行が再開される。第2の
割込みの完了と同時に、第1の割込みの状態がSS50
4からEUS512へ転送されて完了される。第1の割
込みの完了後に、元のSOPの状態がSOPスタック5
14からEUS512へ転送されて、このSOPの実行
が再開されるのである。
術演算SOPに行なわれる時、EU122のその時の状
態を記憶するための単一のフレームである。割込まれた
SOPの状態がSOPスタック514に転送され、割込
みがEUS512における実行を開始する。第2の割込
みの発生(最初の割込みが完了する前)と同時に、EU
の最初の割込み状態はEUS512からSS504にお
けるスタック・フレームに対して転送され、第2の割込
みの実行がEUS512において開始する。もし第3の
割込みが第2の割込みの完了の前に生じるならば、EU
の第2の割込み状態はEUS512からSS504にお
けるスタック・フレームに対して転送され、第3の割込
みの実行はEUS512において開始される、等々であ
る。このように、EUS512およびSS504は、E
U122に対する無限に長く見えるマイクロスタックを
提供する。この第3の割込みが完了するものと仮定する
と、第2の割込みの状態がSS504からEUS512
に転送され、第2の割込みの実行が再開される。第2の
割込みの完了と同時に、第1の割込みの状態がSS50
4からEUS512へ転送されて完了される。第1の割
込みの完了後に、元のSOPの状態がSOPスタック5
14からEUS512へ転送されて、このSOPの実行
が再開されるのである。
【0061】C.手順のプロセスおよび仮想プロセッサ
(図6) 図6においては、手順、プロセスおよび仮想プロセスが
示されている。前述の如く、実行されるべきユーザ・プ
ログラムがコンパイルされて、その結果手順602とな
る。手順602は、ユーザ・プログラムのSOP、ユー
ザ・プログラムのオペランド名前に対する記入を含む名
前テーブルならびに静的データ領域606を含むユーザ
手順オブジェクト604を含む。手順602はまた、他
の手順オブジェクト608、例えば、多くのユーザに共
通に使用可能なユーティリティ・プログラムも含んでい
る。作用において、手順602はユーザ・プログラムの
命令(手順)およびデータを含むものである。
(図6) 図6においては、手順、プロセスおよび仮想プロセスが
示されている。前述の如く、実行されるべきユーザ・プ
ログラムがコンパイルされて、その結果手順602とな
る。手順602は、ユーザ・プログラムのSOP、ユー
ザ・プログラムのオペランド名前に対する記入を含む名
前テーブルならびに静的データ領域606を含むユーザ
手順オブジェクト604を含む。手順602はまた、他
の手順オブジェクト608、例えば、多くのユーザに共
通に使用可能なユーティリティ・プログラムも含んでい
る。作用において、手順602はユーザ・プログラムの
命令(手順)およびデータを含むものである。
【0062】プロセス610は、前述の如く、SOPレ
ベルのユーザの手順602の状態を記憶するマクロスタ
ック(MAS)502と、マイクロコードにおけるユー
ザの手順602の実行の状態を記憶する機密保護スタッ
ク(SS)504とを含む。プロセス610は、プロセ
ス610のMAS502に記憶される前述のABPを介
してユーザの手順602と関連する。同様に、プロセス
610のMAS502およびSS504は、前述のアー
キテクチャ的でないポインタを介して関連している。手
順602は、有効にユーザの手順602に対してCS1
01の資源、ハードウェア、マイクロコードおよびソフ
トウェアをリンクする情報の主体である。作用におい
て、プロセス610は、前記手順602の実行のために
ユーザの手順602からCS101の資源を使用可能に
する。CS101は、例えば、128までのプロセス6
10を同時に使用可能にすることができる多重ポインタ
の機械である。同時に実行可能なプロセス610の数
は、CS101の仮想プロセッサ612の数によって決
定される。例えば、16までの仮想プロセッサ612が
ある。
ベルのユーザの手順602の状態を記憶するマクロスタ
ック(MAS)502と、マイクロコードにおけるユー
ザの手順602の実行の状態を記憶する機密保護スタッ
ク(SS)504とを含む。プロセス610は、プロセ
ス610のMAS502に記憶される前述のABPを介
してユーザの手順602と関連する。同様に、プロセス
610のMAS502およびSS504は、前述のアー
キテクチャ的でないポインタを介して関連している。手
順602は、有効にユーザの手順602に対してCS1
01の資源、ハードウェア、マイクロコードおよびソフ
トウェアをリンクする情報の主体である。作用におい
て、プロセス610は、前記手順602の実行のために
ユーザの手順602からCS101の資源を使用可能に
する。CS101は、例えば、128までのプロセス6
10を同時に使用可能にすることができる多重ポインタ
の機械である。同時に実行可能なプロセス610の数
は、CS101の仮想プロセッサ612の数によって決
定される。例えば、16までの仮想プロセッサ612が
ある。
【0063】図6に示されるように、仮想プロセッサ6
12は、そのSS504と関連する仮想ポインタの状態
ブロック(VPSB)614からなっている。VPSB
614は、作用においては、CS101のオペレーティ
ング・システムに対してアクセス可能な情報の実態であ
り、これによりCS101のオペレーティング・システ
ムが前記プロセス610のSS504を介してプロセス
610について通知されかつこれを与えられる。VPS
B614は、前記プロセス610に関する情報を前記V
PSB614に書込むことにより、ある特定のプロセス
610と関連させられる。CS101のオペレーティン
グ・システムは、PSB614を介してプロセス610
に対してアクセスを行なうことによって、前記プロセス
610からFU120に対するABPの如き情報を読出
すことができ、これにより実行のため前記プロセス61
0をFU120にスワッピングする。仮想プロセッサ6
12はこれによりプロセス610を実行し、仮想プロセ
ッサ612は従って、関連するプロセス610がFU1
20にスワッピングされる時に「実在」となる「仮想的
な」、即ち潜在的存在である仮想プロセッサと見做すこ
とができると言われる。CS101においては、図6に
示されるように、一時に唯1つの仮想プロセッサ612
がFU120について実行可能であり、またオペレーテ
ィング・システムは如何なる時にも、どの仮想プロセッ
サ612がFU120について実行するかを選定する。
更に、CS101のオペレーティング・システムは、ど
のプロセス610が使用可能状態の仮想プロセッサ61
2と関連させられるかを選定するのである。
12は、そのSS504と関連する仮想ポインタの状態
ブロック(VPSB)614からなっている。VPSB
614は、作用においては、CS101のオペレーティ
ング・システムに対してアクセス可能な情報の実態であ
り、これによりCS101のオペレーティング・システ
ムが前記プロセス610のSS504を介してプロセス
610について通知されかつこれを与えられる。VPS
B614は、前記プロセス610に関する情報を前記V
PSB614に書込むことにより、ある特定のプロセス
610と関連させられる。CS101のオペレーティン
グ・システムは、PSB614を介してプロセス610
に対してアクセスを行なうことによって、前記プロセス
610からFU120に対するABPの如き情報を読出
すことができ、これにより実行のため前記プロセス61
0をFU120にスワッピングする。仮想プロセッサ6
12はこれによりプロセス610を実行し、仮想プロセ
ッサ612は従って、関連するプロセス610がFU1
20にスワッピングされる時に「実在」となる「仮想的
な」、即ち潜在的存在である仮想プロセッサと見做すこ
とができると言われる。CS101においては、図6に
示されるように、一時に唯1つの仮想プロセッサ612
がFU120について実行可能であり、またオペレーテ
ィング・システムは如何なる時にも、どの仮想プロセッ
サ612がFU120について実行するかを選定する。
更に、CS101のオペレーティング・システムは、ど
のプロセス610が使用可能状態の仮想プロセッサ61
2と関連させられるかを選定するのである。
【0064】CS101のある個々の構造および作用上
の特徴について述べたが、CS101の全体的作用につ
いては更に詳細にこれらの個々の特徴に関して以下に述
べることにする。
の特徴について述べたが、CS101の全体的作用につ
いては更に詳細にこれらの個々の特徴に関して以下に述
べることにする。
【0065】D.CS101の全体的構造および作用
(図7,図8,図9,図10,図11,図12,図1
3,図14および図15) 1.序説(図7) 図7に示すように、CS101は、1つのレベルの操作
が一般に更に高いレベルに対して可視である多重レベル
・システムである。ユーザ701は、アーキテクチャ・
レベル708において規定されるS言語、アドレス指定
および機密保護機構を知らない。その代り、ユーザは、
コンパイラ702、バインダ703および拡張された
(高水準の)オペレーティング・システム(EOS)7
04によって規定されるユーザ・インターフェース70
9については判る。コンパイラ702は、高水準の言語
コードをSINに翻訳し、またバインダ703はプログ
ラムにおける記号名をUIDオフセット・アドレスに翻
訳するのである。
(図7,図8,図9,図10,図11,図12,図1
3,図14および図15) 1.序説(図7) 図7に示すように、CS101は、1つのレベルの操作
が一般に更に高いレベルに対して可視である多重レベル
・システムである。ユーザ701は、アーキテクチャ・
レベル708において規定されるS言語、アドレス指定
および機密保護機構を知らない。その代り、ユーザは、
コンパイラ702、バインダ703および拡張された
(高水準の)オペレーティング・システム(EOS)7
04によって規定されるユーザ・インターフェース70
9については判る。コンパイラ702は、高水準の言語
コードをSINに翻訳し、またバインダ703はプログ
ラムにおける記号名をUIDオフセット・アドレスに翻
訳するのである。
【0066】図7に示すように、アーキテクチャ・レベ
ル708はFU120のインターフェース711によっ
て規定されることはない。その代り、プログラムが実行
される時アーキテクチャ資源レベルがS言語で翻訳され
たSINにより生成され、名前インタプリタ715がS
言語インタプリタ・マイクロコード705の制御下で作
動し、名前を論理記述子に翻訳する。CS101におい
ては、S言語インタプリタ・マイクロコード705と名
前インタプリタ・マイクロコード715の双方がFU1
20について実行するマイクロコードとして構成され
る。またS言語インタプリタ・マイクロコード705は
EU122を用いて計算を行なう。核心オペレーティン
グ・システム(KOS)は、CS101に以下に更に説
明するUIDオフセット・アドレス指定、オブジェク
ト、アクセス検査、プロセスおよび仮想プロセッサを提
供する。KOSは3つの種類の構成要素を有する。即
ち、KOSマイクロコード710、KOSソフトウェア
706およびMEM112におけるKOSデーブルであ
る。KOSマイクロコード710の構成要素は、ある必
要な操作を実施する際FU120を補佐するマイクロコ
ードルーチンである。他の高水準の言語のルーチンと同
様に、KOSソフトウェア706の構成要素はS言語イ
ンタプリタ・マイクロコード705により翻訳されるS
INを含む。特殊なKOSプロセスによって多くのKO
Sの高水準の言語ルーチン706が実行され、他のルー
チンはいずれかのプロセスによって実行することができ
る。KOS高水準言語ルーチン706およびKOSマイ
クロコード710はMEM112におけるKOSテーブ
ルを操作するのである。
ル708はFU120のインターフェース711によっ
て規定されることはない。その代り、プログラムが実行
される時アーキテクチャ資源レベルがS言語で翻訳され
たSINにより生成され、名前インタプリタ715がS
言語インタプリタ・マイクロコード705の制御下で作
動し、名前を論理記述子に翻訳する。CS101におい
ては、S言語インタプリタ・マイクロコード705と名
前インタプリタ・マイクロコード715の双方がFU1
20について実行するマイクロコードとして構成され
る。またS言語インタプリタ・マイクロコード705は
EU122を用いて計算を行なう。核心オペレーティン
グ・システム(KOS)は、CS101に以下に更に説
明するUIDオフセット・アドレス指定、オブジェク
ト、アクセス検査、プロセスおよび仮想プロセッサを提
供する。KOSは3つの種類の構成要素を有する。即
ち、KOSマイクロコード710、KOSソフトウェア
706およびMEM112におけるKOSデーブルであ
る。KOSマイクロコード710の構成要素は、ある必
要な操作を実施する際FU120を補佐するマイクロコ
ードルーチンである。他の高水準の言語のルーチンと同
様に、KOSソフトウェア706の構成要素はS言語イ
ンタプリタ・マイクロコード705により翻訳されるS
INを含む。特殊なKOSプロセスによって多くのKO
Sの高水準の言語ルーチン706が実行され、他のルー
チンはいずれかのプロセスによって実行することができ
る。KOS高水準言語ルーチン706およびKOSマイ
クロコード710はMEM112におけるKOSテーブ
ルを操作するのである。
【0067】FU120のインターフェース711は、
KOSならびにS言語インタプリタ・マイクロコード7
05からのみ可視である。本論のオブジェクトのため、
FU120は以下の主な素子を含むプロセッサとして考
えることができる。即ち、 −書込み可能制御ストア713に記憶されたマイクロコ
ードを実行して、このマイクロコードにより指定される
如きFU120の諸素子を操作する制御機構725 −データが記憶されるレジスタを含むGRF506 −処置715 FU120に関して実行する全てのマイクロコードはこ
れらの素子を使用し、更に特殊な機能を実施するための
一群の素子があり、これらの素子は単に前記機能と関連
したマイクロコードによってのみ使用される。このマイ
クロコード、特殊素子、また時々はMEM112におけ
るテーブルがいくつかの機能を実施するための論理機械
を構成する。これらの機械については以下に詳細に説明
することにする。
KOSならびにS言語インタプリタ・マイクロコード7
05からのみ可視である。本論のオブジェクトのため、
FU120は以下の主な素子を含むプロセッサとして考
えることができる。即ち、 −書込み可能制御ストア713に記憶されたマイクロコ
ードを実行して、このマイクロコードにより指定される
如きFU120の諸素子を操作する制御機構725 −データが記憶されるレジスタを含むGRF506 −処置715 FU120に関して実行する全てのマイクロコードはこ
れらの素子を使用し、更に特殊な機能を実施するための
一群の素子があり、これらの素子は単に前記機能と関連
したマイクロコードによってのみ使用される。このマイ
クロコード、特殊素子、また時々はMEM112におけ
るテーブルがいくつかの機能を実施するための論理機械
を構成する。これらの機械については以下に詳細に説明
することにする。
【0068】以下においては、図7に示された各レベル
により順次説明することにする。最初に、ユーザ・イン
ターフェース709における構成要素は、これらが如何
にユーザ・プログラムならびに要求をCS101により
使用可能な形態に翻訳するかについて調べることにす
る。次いで、ユーザ・インターフェース709に関わる
構成要素について、これらが如何にCS101の諸操作
の実施のための論理機械を形成するかを調べることにす
る。
により順次説明することにする。最初に、ユーザ・イン
ターフェース709における構成要素は、これらが如何
にユーザ・プログラムならびに要求をCS101により
使用可能な形態に翻訳するかについて調べることにす
る。次いで、ユーザ・インターフェース709に関わる
構成要素について、これらが如何にCS101の諸操作
の実施のための論理機械を形成するかを調べることにす
る。
【0069】2.コンパイラ702(図7) コンパイラ702は、ユーザ701により手順オブジェ
クト608に書込まれた高水準の言語コードを含むファ
イルを翻訳する。手順オブジェクト608の2つの構成
要素は前に説明したコード(SOP)および名前であ
る。SOPが諸操作を表わし、また名前はデータを表わ
す。このように、単一のSINは名前により示されるデ
ータについて実施されるべき一操作を規定する。
クト608に書込まれた高水準の言語コードを含むファ
イルを翻訳する。手順オブジェクト608の2つの構成
要素は前に説明したコード(SOP)および名前であ
る。SOPが諸操作を表わし、また名前はデータを表わ
す。このように、単一のSINは名前により示されるデ
ータについて実施されるべき一操作を規定する。
【0070】3.バインダ703(図7) ある場合には、コンパイラ702はABPからのオフセ
ットとして場所を規定することができない。例えば、も
しある手順が別の手順オブジェクトに含まれるある手順
を呼出すならば、この呼出しが制御を転送する場所は呼
出し手順により使用されるPBPからのオフセットとし
て規定することができない。このような場合には、コン
パイラは場所の規定のため記号名を使用する。バインダ
703は、記号名をUIDオフセット・アドレスに翻訳
するユーティリティである。これは次の2つの方法で行
なわれる。即ち、別の手順オブジェクト608と1つの
大きな手順オブジェクト608に結合した後この手順オ
ブジェクト608のABPからのオフセットとして記号
名を再規定することにより、あるいはプログラムが実行
される時記号名を翻訳することにより行なわれる。この
2番目の場合には、バインダ703がEOS704から
補佐を要求する。
ットとして場所を規定することができない。例えば、も
しある手順が別の手順オブジェクトに含まれるある手順
を呼出すならば、この呼出しが制御を転送する場所は呼
出し手順により使用されるPBPからのオフセットとし
て規定することができない。このような場合には、コン
パイラは場所の規定のため記号名を使用する。バインダ
703は、記号名をUIDオフセット・アドレスに翻訳
するユーティリティである。これは次の2つの方法で行
なわれる。即ち、別の手順オブジェクト608と1つの
大きな手順オブジェクト608に結合した後この手順オ
ブジェクト608のABPからのオフセットとして記号
名を再規定することにより、あるいはプログラムが実行
される時記号名を翻訳することにより行なわれる。この
2番目の場合には、バインダ703がEOS704から
補佐を要求する。
【0071】4.EOS704(図7) EOS704は、ユーザ701が自分のプログラムの実
行を要求する資源を管理する。ユーザ701の観点から
は、これらの資源の最も重要なものはファイルおよびプ
ロセスである。EOS704は、KOSにオブジェクト
を形成することを要求することによってファイルを構成
し、次いでこのファイルをオブジェクトにマッピングす
る。ユーザ701があるファイルにおける一操作を実施
する時に、EOS704はファイルの操作をあるオブジ
ェクトの一操作に翻訳する。KOSはEOS704の要
求においてこれらを形成して、これらをEOS704に
対して使用可能にし更にユーザ701に対して使用可能
にする。EOS704は、あるプロセスをある仮想プロ
セッサ612と関連させることによってこのプロセスを
実行させる。論理的観点においては、仮想プロセッサ6
12はプロセス610の実行のためKOSがEOS70
4を与える手段である。明らかに、仮想プロセッサ61
2の数と同数のプロセス610が同時にCS101にお
いて実行することができる。この同時実行の錯覚は、仮
想プロセッサ612間にJP114を多重化することに
よって生じ、プロセス610と仮想プロセッサ612が
構成される態様については以下に詳細に説明することに
する。
行を要求する資源を管理する。ユーザ701の観点から
は、これらの資源の最も重要なものはファイルおよびプ
ロセスである。EOS704は、KOSにオブジェクト
を形成することを要求することによってファイルを構成
し、次いでこのファイルをオブジェクトにマッピングす
る。ユーザ701があるファイルにおける一操作を実施
する時に、EOS704はファイルの操作をあるオブジ
ェクトの一操作に翻訳する。KOSはEOS704の要
求においてこれらを形成して、これらをEOS704に
対して使用可能にし更にユーザ701に対して使用可能
にする。EOS704は、あるプロセスをある仮想プロ
セッサ612と関連させることによってこのプロセスを
実行させる。論理的観点においては、仮想プロセッサ6
12はプロセス610の実行のためKOSがEOS70
4を与える手段である。明らかに、仮想プロセッサ61
2の数と同数のプロセス610が同時にCS101にお
いて実行することができる。この同時実行の錯覚は、仮
想プロセッサ612間にJP114を多重化することに
よって生じ、プロセス610と仮想プロセッサ612が
構成される態様については以下に詳細に説明することに
する。
【0072】5.KOSおよびアーキテクチャ・インタ
ーフェース708(図7) KOSマイクロコード710および名前インタプリタ・
マイクロコード715は、SIN実行のためKOSマイ
クロコード710およびKOSソフトウェア706によ
り与えられる環境を要求する。例えば、前述の如く、名
前およびプログラムの場所はその値がプログラムの実行
中変化するABPに関して規定される。このKOS環境
は、ABPに対する値を提供し、従ってMEM112に
おける場所としての名前およびプログラムの場所を翻訳
することが可能となる。同様に、論理記述子をMEM1
12に対する照合に翻訳して保護検査を実施するために
KOSの補佐が要求される。
ーフェース708(図7) KOSマイクロコード710および名前インタプリタ・
マイクロコード715は、SIN実行のためKOSマイ
クロコード710およびKOSソフトウェア706によ
り与えられる環境を要求する。例えば、前述の如く、名
前およびプログラムの場所はその値がプログラムの実行
中変化するABPに関して規定される。このKOS環境
は、ABPに対する値を提供し、従ってMEM112に
おける場所としての名前およびプログラムの場所を翻訳
することが可能となる。同様に、論理記述子をMEM1
12に対する照合に翻訳して保護検査を実施するために
KOSの補佐が要求される。
【0073】KOSにより提供される環境は下記の諸素
子を有する。即ち、 −あるユーザ701に対するプログラムの実行の状態を
含むプロセス610 −JP114に対するプロセス610のアクセスを生じ
る仮想プロセッサ612 −UIDをJP114内部で使用可能な値に翻訳するオ
ブジェクト管理システム −プロセス610があるオブジェクトについての操作を
実施する権利を有するかどうかについて検査する保護シ
ステム −プロセス610が実際に外部からMEM112に対し
て照合して論理記述子を物理的記述子に翻訳するオブジ
ェクトの部分を移動する仮想メモリー管理システム 以下においては、このような環境の論理特性およびプロ
グラムがこれにおいて実行される状態について説明する
ことにする。
子を有する。即ち、 −あるユーザ701に対するプログラムの実行の状態を
含むプロセス610 −JP114に対するプロセス610のアクセスを生じ
る仮想プロセッサ612 −UIDをJP114内部で使用可能な値に翻訳するオ
ブジェクト管理システム −プロセス610があるオブジェクトについての操作を
実施する権利を有するかどうかについて検査する保護シ
ステム −プロセス610が実際に外部からMEM112に対し
て照合して論理記述子を物理的記述子に翻訳するオブジ
ェクトの部分を移動する仮想メモリー管理システム 以下においては、このような環境の論理特性およびプロ
グラムがこれにおいて実行される状態について説明する
ことにする。
【0074】6.プロセス610および仮想プロセッサ
612(図8) プロセス610および仮想プロセッサ612は既に論理
的観点において説明したが、図8はその高水準の物理的
構成を示している。
612(図8) プロセス610および仮想プロセッサ612は既に論理
的観点において説明したが、図8はその高水準の物理的
構成を示している。
【0075】図8は、プロセス610、仮想プロセッサ
612およびJP114間の関係を示している。物理的
な観点においては、プロセス610はあるプログラムの
ユーザのその時の実行の状態を含むMEM112の領域
である。このような状態の一例は、ABPおよびプログ
ラム・カウンタ(PC)のその時の値である。PBPお
よびPCのその時の値が与えられると、プログラムにお
ける次のSOPが実行可能であり、同様に、SDPおよ
びFPのその時の値が与えられると、プログラムの名前
が正確に解かれる。プロセス610はあるプログラムの
実行のその時の状態を含むため、プログラムの物理的実
行はいかなる時点においても停止および再開が可能であ
る。このように、プロセス610によってプログラムの
実行を制御することが可能となる。
612およびJP114間の関係を示している。物理的
な観点においては、プロセス610はあるプログラムの
ユーザのその時の実行の状態を含むMEM112の領域
である。このような状態の一例は、ABPおよびプログ
ラム・カウンタ(PC)のその時の値である。PBPお
よびPCのその時の値が与えられると、プログラムにお
ける次のSOPが実行可能であり、同様に、SDPおよ
びFPのその時の値が与えられると、プログラムの名前
が正確に解かれる。プロセス610はあるプログラムの
実行のその時の状態を含むため、プログラムの物理的実
行はいかなる時点においても停止および再開が可能であ
る。このように、プロセス610によってプログラムの
実行を制御することが可能となる。
【0076】既に述べたように、KOSがプロセス61
0を仮想プロセッサ612に、即ちJP114のハード
ウェアについてマイクロ命令を実行することを必要とす
る状態を含むMEM112のある領域に結合した時のみ
プロセス610の実行が進行する。この結合操作は、単
にプロセス610の状態をそのMEM112の領域から
MEM112の仮想プロセッサ612の領域へ転送する
ことに過ぎない。結合および解除はいかなる時にも生じ
得るため、EOS704は仮想プロセッサ612間にお
いてプロセス610を多重化することができる。図8に
おいては、仮想プロセッサ612よりも多くのプロセス
610が存在する。JP114に関するプロセス610
の物理的実行は、プロセス610の仮想プロセッサ61
2がJP114に結合される時、即ち状態が仮想プロセ
ッサ612のMEM112の領域からJP114のレジ
スタに対して転送される時にのみ生じる。EOS704
が丁度プロセス610間で仮想プロセッサ612の多重
化を行なう時、KOSは仮想プロセッサ612間でJP
114の多重化を行なう。図8においては、唯1つのプ
ロセス610が物理的に実行されつつある。JP114
が仮想プロセッサ612間で多重化を行なわれる手段に
ついては更に以下において詳細に説明することにする。
0を仮想プロセッサ612に、即ちJP114のハード
ウェアについてマイクロ命令を実行することを必要とす
る状態を含むMEM112のある領域に結合した時のみ
プロセス610の実行が進行する。この結合操作は、単
にプロセス610の状態をそのMEM112の領域から
MEM112の仮想プロセッサ612の領域へ転送する
ことに過ぎない。結合および解除はいかなる時にも生じ
得るため、EOS704は仮想プロセッサ612間にお
いてプロセス610を多重化することができる。図8に
おいては、仮想プロセッサ612よりも多くのプロセス
610が存在する。JP114に関するプロセス610
の物理的実行は、プロセス610の仮想プロセッサ61
2がJP114に結合される時、即ち状態が仮想プロセ
ッサ612のMEM112の領域からJP114のレジ
スタに対して転送される時にのみ生じる。EOS704
が丁度プロセス610間で仮想プロセッサ612の多重
化を行なう時、KOSは仮想プロセッサ612間でJP
114の多重化を行なう。図8においては、唯1つのプ
ロセス610が物理的に実行されつつある。JP114
が仮想プロセッサ612間で多重化を行なわれる手段に
ついては更に以下において詳細に説明することにする。
【0077】7.プロセス610およびスタック(図
9) CS101においては、プロセス610は6つのオブジ
ェクト、即ち1つの手順オブジェクト901と5つのス
タックオブジェクト902乃至906からなる。図9は
プロセス610を示している。手順オブジェクト901
は、EOS704がプロセス610の管理を要求する情
報を含んでいる。EOS704は手順オブジェクト90
1に対する直接的なアクセスは行なわず、その代りKO
Sソフトウェア706、KOSマイクロコード710に
よって与えられる機能により必要とする情報を得る。こ
の情報に含まれているのは手順オブジェクト902乃至
手順オブジェクト906のUIDである。スタックオブ
ジェクト902乃至906はプロセス610の状態を含
んでいる。
9) CS101においては、プロセス610は6つのオブジ
ェクト、即ち1つの手順オブジェクト901と5つのス
タックオブジェクト902乃至906からなる。図9は
プロセス610を示している。手順オブジェクト901
は、EOS704がプロセス610の管理を要求する情
報を含んでいる。EOS704は手順オブジェクト90
1に対する直接的なアクセスは行なわず、その代りKO
Sソフトウェア706、KOSマイクロコード710に
よって与えられる機能により必要とする情報を得る。こ
の情報に含まれているのは手順オブジェクト902乃至
手順オブジェクト906のUIDである。スタックオブ
ジェクト902乃至906はプロセス610の状態を含
んでいる。
【0078】スタックオブジェクト902乃至905が
CS101の定義域保護法により要求され、プロセス6
10のMAS502を含む。簡単に述べれば、定義域は
一部はシステムがこの定義域において作用中に実施され
る操作により決定される。例えば、このシステムは、E
OS704の実行中EOS704の定義域にあり、また
KOSソフトウェア706、KOSマイクロコード71
0の諸操作の実行中はKOSソフトウェア706、KO
Sマイクロコード710の定義域にある。プロセス61
0はこれが入る各定義域に対して1つのスタックを持た
ねばならない。本例においては、定義域の数は4に固定
されているが、別の実施態様においては、どんな数の定
義域でも良く、従ってどんな数のスタックオブジェクト
でも良い。スタックオブジェクト906はプロセス61
0の機密保護スタック504からなり、KOSソフトウ
ェア706、KOSマイクロコード710によってのみ
操作可能な状態を記憶することを必要とするのである。
CS101の定義域保護法により要求され、プロセス6
10のMAS502を含む。簡単に述べれば、定義域は
一部はシステムがこの定義域において作用中に実施され
る操作により決定される。例えば、このシステムは、E
OS704の実行中EOS704の定義域にあり、また
KOSソフトウェア706、KOSマイクロコード71
0の諸操作の実行中はKOSソフトウェア706、KO
Sマイクロコード710の定義域にある。プロセス61
0はこれが入る各定義域に対して1つのスタックを持た
ねばならない。本例においては、定義域の数は4に固定
されているが、別の実施態様においては、どんな数の定
義域でも良く、従ってどんな数のスタックオブジェクト
でも良い。スタックオブジェクト906はプロセス61
0の機密保護スタック504からなり、KOSソフトウ
ェア706、KOSマイクロコード710によってのみ
操作可能な状態を記憶することを必要とするのである。
【0079】プロセス610によりなされる各呼出しの
結果機密保護スタック504およびMAS502に対す
るファイルの付加をもたらす。機密保護スタック504
のファイルにおいて記憶されるこの状態は呼出しのため
のマクロ状態、即ち仮想プロセッサ612に対してプロ
セス610を拘束することを必要とする状態を含んでい
る。MAS502に付加されたファイルは、スタックオ
ブジェクト902乃至905の1つに置かれる。どのス
タックオブジェクト902乃至905がファイルを得た
かは、呼出された手順の実行領域によって決定されるの
である。
結果機密保護スタック504およびMAS502に対す
るファイルの付加をもたらす。機密保護スタック504
のファイルにおいて記憶されるこの状態は呼出しのため
のマクロ状態、即ち仮想プロセッサ612に対してプロ
セス610を拘束することを必要とする状態を含んでい
る。MAS502に付加されたファイルは、スタックオ
ブジェクト902乃至905の1つに置かれる。どのス
タックオブジェクト902乃至905がファイルを得た
かは、呼出された手順の実行領域によって決定されるの
である。
【0080】図9は、プロセス610が4回の呼出しを
実行した後で、プロセス610のMAS502と機密保
護スタック504の状態を示している。機密保護スタッ
ク504は呼出し毎に1つのファイルを有し、プロセス
610のMAS502のファイルはスタックオブジェク
ト902,904および905において見出される。こ
れらの場所により明らかにされるように、フレーム1は
KOSソフトウェア706、KOSマイクロコード71
0の実行領域によるルーチンの呼出しのためであり、フ
レーム2はEOS704の実行領域によるルーチンの呼
出しのためフレーム3および4はユーザの実行領域によ
るルーチンの呼出しのためのものである。プロセス61
0は未だ、データベース管理システム(DBMS)によ
るルーチンの呼出しは行なわない。スタックオブジェク
ト902乃至905におけるフレームは一緒にリンクさ
れ、1つのフレームがスタックオブジェクト902乃至
905に付加される毎に1つのフレームが機密保護スタ
ック504に付加されあるいはこれから取除かれる。こ
れによりMAS502およびSS504は、仮に5つの
別個のオブジェクトに論理的に包含されようとも、1つ
の論理スタックとして機能する。
実行した後で、プロセス610のMAS502と機密保
護スタック504の状態を示している。機密保護スタッ
ク504は呼出し毎に1つのファイルを有し、プロセス
610のMAS502のファイルはスタックオブジェク
ト902,904および905において見出される。こ
れらの場所により明らかにされるように、フレーム1は
KOSソフトウェア706、KOSマイクロコード71
0の実行領域によるルーチンの呼出しのためであり、フ
レーム2はEOS704の実行領域によるルーチンの呼
出しのためフレーム3および4はユーザの実行領域によ
るルーチンの呼出しのためのものである。プロセス61
0は未だ、データベース管理システム(DBMS)によ
るルーチンの呼出しは行なわない。スタックオブジェク
ト902乃至905におけるフレームは一緒にリンクさ
れ、1つのフレームがスタックオブジェクト902乃至
905に付加される毎に1つのフレームが機密保護スタ
ック504に付加されあるいはこれから取除かれる。こ
れによりMAS502およびSS504は、仮に5つの
別個のオブジェクトに論理的に包含されようとも、1つ
の論理スタックとして機能する。
【0081】8.プロセス610および呼出し(図1
0,図11) CS101においては、呼出しおよび戻し動作はKOS
ソフトウェア706、KOSマイクロコード710によ
って実行される。KOSソフトウェア706、KOSマ
イクロコード710が1つのプロセスに対する呼出しを
行なう時、これは次の如く行なわれる。即ち、 −機密保護スタック504の最上位のフレームにおける
呼出しのマクロ状態を保管する(図9) −その名前が呼出しに保持される手順を見出す。手順に
おける最初のSINの場所は新たなABPとなる。 −呼出された手順に含まれる情報を用いて、適正なスタ
ックオブジェクト902乃至905における新たなMA
S502のフレームと、機密保護スタック504におけ
る新たな機密保護スタック504のフレームを生じる。
FPはこの新たなMAS502を指定するように更新さ
れる。もし必要ならば、SDPもまた更新される。
0,図11) CS101においては、呼出しおよび戻し動作はKOS
ソフトウェア706、KOSマイクロコード710によ
って実行される。KOSソフトウェア706、KOSマ
イクロコード710が1つのプロセスに対する呼出しを
行なう時、これは次の如く行なわれる。即ち、 −機密保護スタック504の最上位のフレームにおける
呼出しのマクロ状態を保管する(図9) −その名前が呼出しに保持される手順を見出す。手順に
おける最初のSINの場所は新たなABPとなる。 −呼出された手順に含まれる情報を用いて、適正なスタ
ックオブジェクト902乃至905における新たなMA
S502のフレームと、機密保護スタック504におけ
る新たな機密保護スタック504のフレームを生じる。
FPはこの新たなMAS502を指定するように更新さ
れる。もし必要ならば、SDPもまた更新される。
【0082】一旦ABPの値が更新されると、PCが規
定され、名前の解明が可能となり、呼出されたルーチン
の実行の開始が可能となる。呼出されたルーチンに対す
る呼出しからの戻りと同時に、スタック・フレームは削
除され、ABPは呼出しルーチンのマクロ状態に保管さ
れた値に設定される。この呼出しルーチンは次に、この
呼出しに続く時点における実行を続行する。
定され、名前の解明が可能となり、呼出されたルーチン
の実行の開始が可能となる。呼出されたルーチンに対す
る呼出しからの戻りと同時に、スタック・フレームは削
除され、ABPは呼出しルーチンのマクロ状態に保管さ
れた値に設定される。この呼出しルーチンは次に、この
呼出しに続く時点における実行を続行する。
【0083】プロセス610は、FORTRANステー
トメントA+BをEXAMPLEと呼ばれるFORTR
ANルーチンに置き、またこれをCALLERと名付け
られた別のFORTRANルーチンから呼出すことによ
り詳細に示すことができる。この事例を簡単にするた
め、前記CALLERおよびEXAMPLEの両者が同
じ実行領域を有するものと仮定する。問題となるEXA
MPLEの部分は下記の如く示される。即ち、 サブルーチン(C) 整数X,C 整数A,B ・・・・・ A=B ・・・・・ 戻り 終り 新たな要素は新しい形式アーギュメントCと新しい局所
変数Xである。形式アーギュメントは、呼出しルーチン
において使用されるデータ項目からその値を受取るデー
タ項目である。このように、形式アーギュメントは呼出
し間で変化する。問題となるINVOKERの各部は下
記の如くに見える。即ち、 サブルーチンINVOKER 整数Z ・・・・・・ CALL EXAMPLE(Z) ・・・・・・ 終り INVOKERにおけるCALL(呼出し)ステートメ
ントは、呼出されつつあるサブルーチンの名前とサブル
ーチンの形式アーギュメントに対する実際のアーギュメ
ントの名前を指定する。呼出しの間、サブルーチンの形
式アーギュメントは実際のアーギュメントにおいて生じ
る。このように、このCALLステートメントにより規
定される呼出しの間、形式アーギュメントCはINVO
KERにおける変数Zにより表わされる値を有すること
になる。
トメントA+BをEXAMPLEと呼ばれるFORTR
ANルーチンに置き、またこれをCALLERと名付け
られた別のFORTRANルーチンから呼出すことによ
り詳細に示すことができる。この事例を簡単にするた
め、前記CALLERおよびEXAMPLEの両者が同
じ実行領域を有するものと仮定する。問題となるEXA
MPLEの部分は下記の如く示される。即ち、 サブルーチン(C) 整数X,C 整数A,B ・・・・・ A=B ・・・・・ 戻り 終り 新たな要素は新しい形式アーギュメントCと新しい局所
変数Xである。形式アーギュメントは、呼出しルーチン
において使用されるデータ項目からその値を受取るデー
タ項目である。このように、形式アーギュメントは呼出
し間で変化する。問題となるINVOKERの各部は下
記の如くに見える。即ち、 サブルーチンINVOKER 整数Z ・・・・・・ CALL EXAMPLE(Z) ・・・・・・ 終り INVOKERにおけるCALL(呼出し)ステートメ
ントは、呼出されつつあるサブルーチンの名前とサブル
ーチンの形式アーギュメントに対する実際のアーギュメ
ントの名前を指定する。呼出しの間、サブルーチンの形
式アーギュメントは実際のアーギュメントにおいて生じ
る。このように、このCALLステートメントにより規
定される呼出しの間、形式アーギュメントCはINVO
KERにおける変数Zにより表わされる値を有すること
になる。
【0084】INVOKERが編集される時、コンパイ
ラはCALLのステートメントと対応するCALL S
INを生じる。CALL SINは手順オブジェクトに
おける呼出されたルーチンの場所の始めに対応するポイ
ンタを表わす名前および呼出しの実際のアーギュメント
を表わす名前のリストを含んでいる。CALLが実行さ
れる時、名前は、MAS502と機密保護スタック50
4の諸操作の実施のため前に述べた如くSINの名前と
KOSマイクロコード710のマイクロコードを解くよ
う翻訳される。
ラはCALLのステートメントと対応するCALL S
INを生じる。CALL SINは手順オブジェクトに
おける呼出されたルーチンの場所の始めに対応するポイ
ンタを表わす名前および呼出しの実際のアーギュメント
を表わす名前のリストを含んでいる。CALLが実行さ
れる時、名前は、MAS502と機密保護スタック50
4の諸操作の実施のため前に述べた如くSINの名前と
KOSマイクロコード710のマイクロコードを解くよ
う翻訳される。
【0085】図10は、KOSマイクロコード710の
呼出しマイクロコードがMAS502と機密保護スタッ
ク504を操作する方法を示している。図10は下記の
要素を含む。即ち、 −FU120のFUレジスタ1014に含まれる呼出し
マイクロコード1001 −CALLステートメントを実行しつつあるINVOK
ERの呼出しに帰属するマクロ状態の部分を含むPC装
置1002 −FUレジスタ1014におけるレジスタ。FUレジス
タ1014の内容はマクロ状態の残りとEXAMPLE
の場所と実際のアーギュメントZに対応する記述子を含
む。 −手順オブジェクト1006はINVOKERとEXA
MPLEとその名前テーブルとそのコードに対する記入
を含む。 −マイクロスタックオブジェクト1008(MAS50
2)および機密保護スタックオブジェクト1010(機
密保護スタック504)は、ここで論述するINVOK
ERおよびEXAMPLEの呼出しのためのスタック・
フレームを含む。EXAMPLEのフレームは、両方の
ルーチンが同じ手順オブジェクト1006において含ま
れるため、INVOKERのフレームと同じマクロスタ
ックのオブジェクトに存在し、従って同じ実行定義域を
有する。
呼出しマイクロコードがMAS502と機密保護スタッ
ク504を操作する方法を示している。図10は下記の
要素を含む。即ち、 −FU120のFUレジスタ1014に含まれる呼出し
マイクロコード1001 −CALLステートメントを実行しつつあるINVOK
ERの呼出しに帰属するマクロ状態の部分を含むPC装
置1002 −FUレジスタ1014におけるレジスタ。FUレジス
タ1014の内容はマクロ状態の残りとEXAMPLE
の場所と実際のアーギュメントZに対応する記述子を含
む。 −手順オブジェクト1006はINVOKERとEXA
MPLEとその名前テーブルとそのコードに対する記入
を含む。 −マイクロスタックオブジェクト1008(MAS50
2)および機密保護スタックオブジェクト1010(機
密保護スタック504)は、ここで論述するINVOK
ERおよびEXAMPLEの呼出しのためのスタック・
フレームを含む。EXAMPLEのフレームは、両方の
ルーチンが同じ手順オブジェクト1006において含ま
れるため、INVOKERのフレームと同じマクロスタ
ックのオブジェクトに存在し、従って同じ実行定義域を
有する。
【0086】KOS呼出しマイクロコード1001は、
最初に機密保護スタック504に関するINVOKER
の呼出しのマクロ状態が保管する。以下に論述するよう
に、この状態が保管される時、KOSソフトウェア70
6の呼出しマイクロコード1001は他のKOSソフト
ウェア706を使用してマクロ状態に保持された場所の
情報をMEM112において使用されたポインタの形式
に変換する。次に、呼出しマイクロコード1001はル
ーチンの名前に対する記述子を用いて手順オブジェクト
1006におけるEXAMPLEの記入に対するポイン
タを見出す。この記入から、呼出しマイクロコード10
01は、EXAMPLEの名前テーブルに対するポイン
タとEXAMPLEのコードの始めを見出す。呼出しマ
イクロコード1001はこれらのポインタを取り、他の
KOSソフトウェア706のマイクロコードを用いてこ
れらを記述子に翻訳し、またこの記述子をPBPおよび
NTPの値に対して保存されたレジスタ1004におけ
る場所に記述子を置く。次に、この呼出しマイクロコー
ド1001はPC装置1002に含まれた値を更新し
て、これによりこの呼出しが完了する時、実行されるべ
き次のSINがEXAMPLEにおける最初のSINと
なるのである。
最初に機密保護スタック504に関するINVOKER
の呼出しのマクロ状態が保管する。以下に論述するよう
に、この状態が保管される時、KOSソフトウェア70
6の呼出しマイクロコード1001は他のKOSソフト
ウェア706を使用してマクロ状態に保持された場所の
情報をMEM112において使用されたポインタの形式
に変換する。次に、呼出しマイクロコード1001はル
ーチンの名前に対する記述子を用いて手順オブジェクト
1006におけるEXAMPLEの記入に対するポイン
タを見出す。この記入から、呼出しマイクロコード10
01は、EXAMPLEの名前テーブルに対するポイン
タとEXAMPLEのコードの始めを見出す。呼出しマ
イクロコード1001はこれらのポインタを取り、他の
KOSソフトウェア706のマイクロコードを用いてこ
れらを記述子に翻訳し、またこの記述子をPBPおよび
NTPの値に対して保存されたレジスタ1004におけ
る場所に記述子を置く。次に、この呼出しマイクロコー
ド1001はPC装置1002に含まれた値を更新し
て、これによりこの呼出しが完了する時、実行されるべ
き次のSINがEXAMPLEにおける最初のSINと
なるのである。
【0087】呼出しマイクロコード1001は、次にS
S504とMAS502に関するEXAMPLEのフレ
ームを構成する。この論議は、それ自体MAS502に
おけるフレーム1102にのみ関する。図11はEXA
MPLEのフレーム1102を示す。フレーム1102
のサイズは、EXAMPLEの局所変数(X,Aおよび
B)および形式アーギュメントCによって決定される。
フレーム1102のEXAMPLEの底部にはヘッダ1
104がある。ヘッダ1104は、スタックを管理する
ためKOSソフトウェア706、KOSマイクロコード
710により使用される情報を含む。次には、アーギュ
メントCにより表わされる値を含む場所に対するポイン
タ1106がくる。呼出しにおいては、Cに対する実際
の値はINVOKERにおける局所変数Zである。全て
の局所変数に言えることであるが、Zにより表わされる
記憶域はINVOKERの呼出しに帰属するスタック・
フレームに含まれる。名前インタプリタがCの名前を解
いた時、記述子をレジスタに置く。呼出しマイクロコー
ド1001はこの記述子を取りこれを1つのポインタに
変換し、このポインタをヘッダ1104の上に記憶す
る。
S504とMAS502に関するEXAMPLEのフレ
ームを構成する。この論議は、それ自体MAS502に
おけるフレーム1102にのみ関する。図11はEXA
MPLEのフレーム1102を示す。フレーム1102
のサイズは、EXAMPLEの局所変数(X,Aおよび
B)および形式アーギュメントCによって決定される。
フレーム1102のEXAMPLEの底部にはヘッダ1
104がある。ヘッダ1104は、スタックを管理する
ためKOSソフトウェア706、KOSマイクロコード
710により使用される情報を含む。次には、アーギュ
メントCにより表わされる値を含む場所に対するポイン
タ1106がくる。呼出しにおいては、Cに対する実際
の値はINVOKERにおける局所変数Zである。全て
の局所変数に言えることであるが、Zにより表わされる
記憶域はINVOKERの呼出しに帰属するスタック・
フレームに含まれる。名前インタプリタがCの名前を解
いた時、記述子をレジスタに置く。呼出しマイクロコー
ド1001はこの記述子を取りこれを1つのポインタに
変換し、このポインタをヘッダ1104の上に記憶す
る。
【0088】FPのABPは、実際のアーギュメントに
対する最後のポインタに続く場所を示すため、呼出しマ
イクロコード1001はこの時前記場所を計算しこれを
記述子に変換し、これをFPに対して予約されたレジス
タ1004に置く。次のステップはEXAMPLEの局
所変数に記憶域を与えることである。EXAMPLEの
手順オブジェクト1006は局所変数に必要とされる記
憶域のサイズを保持し、そのため呼出しマイクロコード
1001は手順オブジェクト1006からこの情報を
得、それだけの記憶域をフレーム1102に付加する。
FPの新たな値および局所データに対する名前のテーブ
ルの記入に含まれる情報を用いて、名前インタプリタ・
マイクロコード715はこの時局所データに対する記述
子を構成することができる。例えば、名前テーブルにお
けるAの記入は、これがFPから32ビットオフセット
されて32ビットの長さであることを規定する。このよ
うに、その記憶域は図11におけるXおよびBに対する
記憶域の間に該当する。
対する最後のポインタに続く場所を示すため、呼出しマ
イクロコード1001はこの時前記場所を計算しこれを
記述子に変換し、これをFPに対して予約されたレジス
タ1004に置く。次のステップはEXAMPLEの局
所変数に記憶域を与えることである。EXAMPLEの
手順オブジェクト1006は局所変数に必要とされる記
憶域のサイズを保持し、そのため呼出しマイクロコード
1001は手順オブジェクト1006からこの情報を
得、それだけの記憶域をフレーム1102に付加する。
FPの新たな値および局所データに対する名前のテーブ
ルの記入に含まれる情報を用いて、名前インタプリタ・
マイクロコード715はこの時局所データに対する記述
子を構成することができる。例えば、名前テーブルにお
けるAの記入は、これがFPから32ビットオフセット
されて32ビットの長さであることを規定する。このよ
うに、その記憶域は図11におけるXおよびBに対する
記憶域の間に該当する。
【0089】9.メモリーの照合および仮想メモリー管
理システム(図12および図13) 既に説明したように、局所記述子はAONフィールドと
オフセットフィールドと長さのフィールドを含む。図1
2は物理的記述子を示している。物理的記述子1202
は、フレーム番号(FN)フィールド、変位(D)フィ
ールドおよび長さ(L)フィールドを含む。フレーム番
号フィールドおよび変位フィールドは共に、データを含
むMEM112における場所を指定し、また長さフィー
ルドはデータの長さを指定する。
理システム(図12および図13) 既に説明したように、局所記述子はAONフィールドと
オフセットフィールドと長さのフィールドを含む。図1
2は物理的記述子を示している。物理的記述子1202
は、フレーム番号(FN)フィールド、変位(D)フィ
ールドおよび長さ(L)フィールドを含む。フレーム番
号フィールドおよび変位フィールドは共に、データを含
むMEM112における場所を指定し、また長さフィー
ルドはデータの長さを指定する。
【0090】以上のことから明らかなように、仮想メモ
リー管理システムは、論理記述子1204に含まれるA
ONオフセット場所をフレーム番号変位場所に変換せね
ばならない。これは論理ページをMEM112のフレー
ムと関連させることによって上記の如くになる(註記、
MEM112のフレームはスタック・フレームと混同す
べきでない。)。図13は、MAS502のオブジェク
ト1302が如何にして2次記憶において論理ページ1
304に分割されるか、また論理ページ1304が如何
にしてMEM112におけるフレーム1306に移動さ
れるかを示している。フレーム1306はサイズが固定
されたMEM112の連続領域である。仮想メモリー管
理システムがデータをMEM112に与える時、これは
論理ページ1308と呼ばれるフレーム・サイズの領域
において前記の状態になる。このように仮想メモリーシ
ステムの観点からは、各オブジェクトは論理ページ13
08に分割され、1つのページにおけるデータのアドレ
スはこのデータのオブジェクトのAON、このオブジェ
クトにおけるページ数およびこのページにおけるその変
位からなる。図13においては、EXAMPLEの局所
変数Bの場所は仮想メモリー・システムにより規定され
る如く示される。Bの場所はUIDおよびオフセット、
あるいはJP114の内部におけるAONおよびオフセ
ットである。仮想メモリー・システムにより規定される
ように、Bの場所はAON、ページ数1308およびこ
のページ内の変位である。あるプロセスが変数Bを照合
する時、仮想メモリー管理システムは全ての論理ページ
1308をMEM112のフレーム1306へ移動させ
る。Bの変位は同じ状態を維持し、仮想メモリー・シス
テムはその論理ページ番号1308をページを含むME
M112におけるフレーム1306の数に変換する。
リー管理システムは、論理記述子1204に含まれるA
ONオフセット場所をフレーム番号変位場所に変換せね
ばならない。これは論理ページをMEM112のフレー
ムと関連させることによって上記の如くになる(註記、
MEM112のフレームはスタック・フレームと混同す
べきでない。)。図13は、MAS502のオブジェク
ト1302が如何にして2次記憶において論理ページ1
304に分割されるか、また論理ページ1304が如何
にしてMEM112におけるフレーム1306に移動さ
れるかを示している。フレーム1306はサイズが固定
されたMEM112の連続領域である。仮想メモリー管
理システムがデータをMEM112に与える時、これは
論理ページ1308と呼ばれるフレーム・サイズの領域
において前記の状態になる。このように仮想メモリーシ
ステムの観点からは、各オブジェクトは論理ページ13
08に分割され、1つのページにおけるデータのアドレ
スはこのデータのオブジェクトのAON、このオブジェ
クトにおけるページ数およびこのページにおけるその変
位からなる。図13においては、EXAMPLEの局所
変数Bの場所は仮想メモリー・システムにより規定され
る如く示される。Bの場所はUIDおよびオフセット、
あるいはJP114の内部におけるAONおよびオフセ
ットである。仮想メモリー・システムにより規定される
ように、Bの場所はAON、ページ数1308およびこ
のページ内の変位である。あるプロセスが変数Bを照合
する時、仮想メモリー管理システムは全ての論理ページ
1308をMEM112のフレーム1306へ移動させ
る。Bの変位は同じ状態を維持し、仮想メモリー・シス
テムはその論理ページ番号1308をページを含むME
M112におけるフレーム1306の数に変換する。
【0091】仮想メモリー管理システムは、従って2種
類の変換を行なう。即ち、(1)AONオフセット・ア
ドレスからAONページ番号変位アドレスへ、および
(2)AONページ番号からフレーム番号への変換であ
る。
類の変換を行なう。即ち、(1)AONオフセット・ア
ドレスからAONページ番号変位アドレスへ、および
(2)AONページ番号からフレーム番号への変換であ
る。
【0092】10.アクセス制御(図14) 1つのオブジェクトが照合される毎に、KOSソフトウ
ェア706、KOSマイクロコード710はこの照合が
妥当であるかどうかを検査する。以下の論議は、最初に
CS101におけるアクセス制御の論理的構造について
述べ、次いでこれを構成するマイクロコードおよび素子
について論述する。
ェア706、KOSマイクロコード710はこの照合が
妥当であるかどうかを検査する。以下の論議は、最初に
CS101におけるアクセス制御の論理的構造について
述べ、次いでこれを構成するマイクロコードおよび素子
について論述する。
【0093】CS101は、主題に関するアクセス、ア
クセスのモードおよびオブジェクトサイズを規定する。
以下の3つの状態が守られるならば、1つのプロセスが
オブジェクトに見出されたデータ項目を照合することが
できる。即ち、 1)プロセスの主題がオブジェクトに対するアクセスを
行なう場合 2)主題に対して規定されたアクセスのモードが意図さ
れた操作の実施に必要とされるモードを含む場合 3)データ項目がオブジェクトに完全に含まれる場合、
即ちデータ項目のオフセットに対して付加されたデータ
項目の長さがオブジェクトにおけるビット数を越えない
場合 あるオブジェクトに対してアクセスする主題およびこれ
らの主題のオブジェクトに対するアクセスの種類が、ア
クセス制御リスト(ACL)と呼ばれるオブジェクトと
関連するデータ構造により規定される。オブジェクトの
サイズはその属性の1つである。オブジェクトのサイズ
またはそのACLはいずれもオブジェクトには保持され
ることがない。両者はシステムのテーブルに含まれ、オ
ブジェクトのUIDによってアクセス可能である。
クセスのモードおよびオブジェクトサイズを規定する。
以下の3つの状態が守られるならば、1つのプロセスが
オブジェクトに見出されたデータ項目を照合することが
できる。即ち、 1)プロセスの主題がオブジェクトに対するアクセスを
行なう場合 2)主題に対して規定されたアクセスのモードが意図さ
れた操作の実施に必要とされるモードを含む場合 3)データ項目がオブジェクトに完全に含まれる場合、
即ちデータ項目のオフセットに対して付加されたデータ
項目の長さがオブジェクトにおけるビット数を越えない
場合 あるオブジェクトに対してアクセスする主題およびこれ
らの主題のオブジェクトに対するアクセスの種類が、ア
クセス制御リスト(ACL)と呼ばれるオブジェクトと
関連するデータ構造により規定される。オブジェクトの
サイズはその属性の1つである。オブジェクトのサイズ
またはそのACLはいずれもオブジェクトには保持され
ることがない。両者はシステムのテーブルに含まれ、オ
ブジェクトのUIDによってアクセス可能である。
【0094】図14は、CS101におけるアクセス制
御の論理的構造を示す。主題1408は4つの構成要素
を有する。即ち、主部1404、プロセス1405、定
義域1406およびタッグ1407である。タッグ14
07はCS101の本実施例においては構成されず、そ
のため以下の記述は主部1404、プロセス1405お
よび定義域1406についてのみ述べる。 −主部1404は照合を行なうプロセスが生じたユーザ
を規定する。 −プロセス1405は照合を行なう時、プロセスを規定
する。 −定義域1406は、手順が照合を行なう時、プロセス
が実行する手順の実行領域を規定する。
御の論理的構造を示す。主題1408は4つの構成要素
を有する。即ち、主部1404、プロセス1405、定
義域1406およびタッグ1407である。タッグ14
07はCS101の本実施例においては構成されず、そ
のため以下の記述は主部1404、プロセス1405お
よび定義域1406についてのみ述べる。 −主部1404は照合を行なうプロセスが生じたユーザ
を規定する。 −プロセス1405は照合を行なう時、プロセスを規定
する。 −定義域1406は、手順が照合を行なう時、プロセス
が実行する手順の実行領域を規定する。
【0095】主題1408の各要素はUIDにより表わ
される。もしUIDが零UIDであるならば、主題の前
記要素はアクセス検査には影響を及ぼさない。非零UI
Dは、主題の要素についての情報を含むオブジェクトの
UIDである。主部オブジェクト1404はシステムの
ユーザに関する識別ならびに勘定情報を含み、プロセス
オブジェクト1405はプロセス管理情報を含み、定義
域オブジェクト1406は定義域毎のエラー処理部につ
いての情報を含んでいる。
される。もしUIDが零UIDであるならば、主題の前
記要素はアクセス検査には影響を及ぼさない。非零UI
Dは、主題の要素についての情報を含むオブジェクトの
UIDである。主部オブジェクト1404はシステムの
ユーザに関する識別ならびに勘定情報を含み、プロセス
オブジェクト1405はプロセス管理情報を含み、定義
域オブジェクト1406は定義域毎のエラー処理部につ
いての情報を含んでいる。
【0096】1つのオブジェクトに対するモードには次
の3つのモードがある。即ち、読出し、書込みおよび実
行のモードである。読出しおよび書込みは自明であり、
実行は主題がオブジェクトに含まれる命令を実行するこ
とを可能にするアクセスである。
の3つのモードがある。即ち、読出し、書込みおよび実
行のモードである。読出しおよび書込みは自明であり、
実行は主題がオブジェクトに含まれる命令を実行するこ
とを可能にするアクセスである。
【0097】アクセス制御リスト(ACL)1412は
記入1414からなる。各記入は2つの要素、即ち主題
テンプレート1416とモード規定子1418である。
主題テンプレート1416はオブジェクトを規定する一
群の主題を規定し、規定子1418はこれらの主題のオ
ブジェクトに対するアクセスの種類を規定する。論理的
に見れば、ACL1412は1つのプロセスがあるオブ
ジェクト1410を照合する度に検査される。この照合
は、プロセスのその時の主題1408がオブジェクト1
410のACL1412に関するものの1つである場
合、また主題1408に対する記入1414におけるモ
ードがプロセスが実施を要求する種類のアクセスを可能
にする場合にのみ成功し得るものである。
記入1414からなる。各記入は2つの要素、即ち主題
テンプレート1416とモード規定子1418である。
主題テンプレート1416はオブジェクトを規定する一
群の主題を規定し、規定子1418はこれらの主題のオ
ブジェクトに対するアクセスの種類を規定する。論理的
に見れば、ACL1412は1つのプロセスがあるオブ
ジェクト1410を照合する度に検査される。この照合
は、プロセスのその時の主題1408がオブジェクト1
410のACL1412に関するものの1つである場
合、また主題1408に対する記入1414におけるモ
ードがプロセスが実施を要求する種類のアクセスを可能
にする場合にのみ成功し得るものである。
【0098】11.仮想プロセッサおよび仮想プロセッ
サのスワッピング(図15) 前述の如く、プロセス610によるプログラムの実行
は、EOS704がプロセス610を仮想プロセッサ6
12に対して拘束しなければ生じ得ない。プロセス61
0の物理的実行は、プロセッサの仮想プロセッサ612
がJP114に対して拘束される間にのみ生じる。以下
の論議は、仮想プロセッサ612に帰属するデータベー
スならびに仮想プロセッサ612がJP114に対して
拘束されかつこれから解除される手段に関するものであ
る。
サのスワッピング(図15) 前述の如く、プロセス610によるプログラムの実行
は、EOS704がプロセス610を仮想プロセッサ6
12に対して拘束しなければ生じ得ない。プロセス61
0の物理的実行は、プロセッサの仮想プロセッサ612
がJP114に対して拘束される間にのみ生じる。以下
の論議は、仮想プロセッサ612に帰属するデータベー
スならびに仮想プロセッサ612がJP114に対して
拘束されかつこれから解除される手段に関するものであ
る。
【0099】図15は、KOSソフトウェア706、K
OSマイクロコード710が仮想プロセッサ612を構
成するため使用する素子およびテーブルを示している。
FU120のWCSは、仮想プロセッサ612をJP1
14に対して結合しかつこれらをJP114から解除す
るためのKOSソフトウェア706を保有する。タイマ
ー1502および割込み回線1504は、KOSソフト
ウェア706の呼出しを生じる信号を生じるハードウェ
ア素子である。タイマー1502は2つの素子、即ちあ
る時点に達した時を信号するようKOSソフトウェア7
06、KOSマイクロコード710により設定すること
ができる間隔タイマー1506と、仮想プロセッサ61
2がKOSソフトウェア706を呼出す前にJP114
に対して拘束することができる最大時間間隔が存在する
ことを保証するエッグ・タイマー1508とを含んでい
る。割込み回線1504は、JP114がIOS116
からメッセージを受取る時例えばIOS116がMEM
112への論理ページのローディングを完了する時に作
用状態になる。
OSマイクロコード710が仮想プロセッサ612を構
成するため使用する素子およびテーブルを示している。
FU120のWCSは、仮想プロセッサ612をJP1
14に対して結合しかつこれらをJP114から解除す
るためのKOSソフトウェア706を保有する。タイマ
ー1502および割込み回線1504は、KOSソフト
ウェア706の呼出しを生じる信号を生じるハードウェ
ア素子である。タイマー1502は2つの素子、即ちあ
る時点に達した時を信号するようKOSソフトウェア7
06、KOSマイクロコード710により設定すること
ができる間隔タイマー1506と、仮想プロセッサ61
2がKOSソフトウェア706を呼出す前にJP114
に対して拘束することができる最大時間間隔が存在する
ことを保証するエッグ・タイマー1508とを含んでい
る。割込み回線1504は、JP114がIOS116
からメッセージを受取る時例えばIOS116がMEM
112への論理ページのローディングを完了する時に作
用状態になる。
【0100】FU120の汎用レジスタ508は、その
時JP114に拘束されている仮想プロセッサ612に
帰属する状態を保持する。ここで、仮想プロセッサ61
2は仮想プロセッサAと呼ばれる。更に、汎用レジスタ
508はVPスワッピング・マイクロコード1510の
実行のため予約されたレジスタを含む。ALU1942
(FU120の一部)は、仮想プロセッサ612の1つ
がJP114から解除され別の1つがJP114に拘束
される時要求される記述子からポインタへの変換、およ
びポインタから記述子への変換のために使用される。M
EM112は、仮想プロセッサ612に対するデータベ
ースと、仮想プロセッサ612の管理のためKOSソフ
トウェア706、KOSマイクロコード710により使
用されるデータベースとを含む。KOSソフトウェア7
06、KOSマイクロコード710は、CS101に対
する固定数の仮想プロセッサ612を提供する。各仮想
プロセッサ612は仮想プロセッサ状態ブロック(VP
SB)614により表わされる。各VPSB614は仮
想プロセッサ612の管理のためKOSソフトウェア7
06、KOSマイクロコード710により使用される情
報を保有し、また更に仮想プロセッサ612をあるプロ
セスと関連させる情報を含んでいる。図15は、一方が
仮想プロセッサ612Aに帰属し、JP114において
仮想プロセッサ612Aと置換することになる他方が仮
想プロセッサ612Bに帰属する2つのVPSB614
を示す。VPSB614はVPSBアレイ1512に保
持される。この1512におけるVPSB614の指標
は、VPSB614により表わされる仮想プロセッサ6
12に帰属する仮想プロセッサ数1514である。仮想
プロセッサリスト1516は、仮想プロセッサ612の
管理のためKOSソフトウェア706、KOSマイクロ
コード710が使用するリストである。もし仮想プロセ
ッサ612が実行可能であれば、その仮想プロセッサ数
1514は実行可能リストと呼ばれるリスト上にあり、
また仮想プロセッサ612が実行不能である場合はその
理由に従って実行不能の仮想プロセッサ612は他のリ
ストにある。仮想プロセッサ612Bの仮想プロセッサ
数1514は最初実行可能リストにあるものと仮定しよ
う。
時JP114に拘束されている仮想プロセッサ612に
帰属する状態を保持する。ここで、仮想プロセッサ61
2は仮想プロセッサAと呼ばれる。更に、汎用レジスタ
508はVPスワッピング・マイクロコード1510の
実行のため予約されたレジスタを含む。ALU1942
(FU120の一部)は、仮想プロセッサ612の1つ
がJP114から解除され別の1つがJP114に拘束
される時要求される記述子からポインタへの変換、およ
びポインタから記述子への変換のために使用される。M
EM112は、仮想プロセッサ612に対するデータベ
ースと、仮想プロセッサ612の管理のためKOSソフ
トウェア706、KOSマイクロコード710により使
用されるデータベースとを含む。KOSソフトウェア7
06、KOSマイクロコード710は、CS101に対
する固定数の仮想プロセッサ612を提供する。各仮想
プロセッサ612は仮想プロセッサ状態ブロック(VP
SB)614により表わされる。各VPSB614は仮
想プロセッサ612の管理のためKOSソフトウェア7
06、KOSマイクロコード710により使用される情
報を保有し、また更に仮想プロセッサ612をあるプロ
セスと関連させる情報を含んでいる。図15は、一方が
仮想プロセッサ612Aに帰属し、JP114において
仮想プロセッサ612Aと置換することになる他方が仮
想プロセッサ612Bに帰属する2つのVPSB614
を示す。VPSB614はVPSBアレイ1512に保
持される。この1512におけるVPSB614の指標
は、VPSB614により表わされる仮想プロセッサ6
12に帰属する仮想プロセッサ数1514である。仮想
プロセッサリスト1516は、仮想プロセッサ612の
管理のためKOSソフトウェア706、KOSマイクロ
コード710が使用するリストである。もし仮想プロセ
ッサ612が実行可能であれば、その仮想プロセッサ数
1514は実行可能リストと呼ばれるリスト上にあり、
また仮想プロセッサ612が実行不能である場合はその
理由に従って実行不能の仮想プロセッサ612は他のリ
ストにある。仮想プロセッサ612Bの仮想プロセッサ
数1514は最初実行可能リストにあるものと仮定しよ
う。
【0101】あるプロセスが仮想プロセッサ612に拘
束される時、仮想プロセッサ数1514はプロセスの手
順オブジェクト901に複写され、プロセスの手順オブ
ジェクト901のAONおよびスタックは仮想プロセッ
サ612のVPSB614に複写される(あるプロセス
が仮想プロセッサ612に対して拘束される限り、この
プロセスのスタックが活動状態に結合されるためAON
が使用される。)。拘束操作はEOS704の要求にお
いてKOSソフトウェア706、KOSマイクロコード
710によって実施される。図15においては2つの手
順オブジェクト906が示されるが、その一方は仮想プ
ロセッサ612Aが拘束されるプロセスに帰属し、他方
は仮想プロセッサ612Bが拘束されるプロセスに帰属
する。
束される時、仮想プロセッサ数1514はプロセスの手
順オブジェクト901に複写され、プロセスの手順オブ
ジェクト901のAONおよびスタックは仮想プロセッ
サ612のVPSB614に複写される(あるプロセス
が仮想プロセッサ612に対して拘束される限り、この
プロセスのスタックが活動状態に結合されるためAON
が使用される。)。拘束操作はEOS704の要求にお
いてKOSソフトウェア706、KOSマイクロコード
710によって実施される。図15においては2つの手
順オブジェクト906が示されるが、その一方は仮想プ
ロセッサ612Aが拘束されるプロセスに帰属し、他方
は仮想プロセッサ612Bが拘束されるプロセスに帰属
する。
【0102】CS101の全体的な作用上のある特徴に
ついて述べたが、CS101の構造の一構成について更
に以下に述べることにする。
ついて述べたが、CS101の構造の一構成について更
に以下に述べることにする。
【0103】E.CS101の構造的な構成(図16,
図17,図18,図19,図20) 1.(IOS)116(図16,図17) 図16においては、IOS116の部分ブロック図が示
されている。IOS116の主要素子には、ECLIP
SEバースト・マルチプレクサ・チャネル(BMC)1
614と、NOVAデータ・チャネル(NDC)161
6と、IOコントローラ(IOC)1618と、データ
移動器(DM)1610とが含まれる。IOS116の
データ・チャネル素子、例えばBMC1614およびN
DC1616は、外部に対するIOS116のインター
フェースを含む。情報およびアドレスは、ディスク・ド
ライブ、通信モードまたは他のコンピュータ・システム
の如き外部素子からIOS116のデータ・チャネル素
子によって受取られ、MEM112に書込まれるべくD
M1610(以下に説明する)に対して送られる。同様
に、MEM112から読出された情報はDM1610を
介してIOS116のデータ・チャネルの素子に与えら
れ、従って前述の外部の素子に対して与えられる。これ
らの外部素子はCS101のアドレス指定可能な記憶空
間の一部であり、UIDのアドレスを介してアドレス指
定可能である。
図17,図18,図19,図20) 1.(IOS)116(図16,図17) 図16においては、IOS116の部分ブロック図が示
されている。IOS116の主要素子には、ECLIP
SEバースト・マルチプレクサ・チャネル(BMC)1
614と、NOVAデータ・チャネル(NDC)161
6と、IOコントローラ(IOC)1618と、データ
移動器(DM)1610とが含まれる。IOS116の
データ・チャネル素子、例えばBMC1614およびN
DC1616は、外部に対するIOS116のインター
フェースを含む。情報およびアドレスは、ディスク・ド
ライブ、通信モードまたは他のコンピュータ・システム
の如き外部素子からIOS116のデータ・チャネル素
子によって受取られ、MEM112に書込まれるべくD
M1610(以下に説明する)に対して送られる。同様
に、MEM112から読出された情報はDM1610を
介してIOS116のデータ・チャネルの素子に与えら
れ、従って前述の外部の素子に対して与えられる。これ
らの外部素子はCS101のアドレス指定可能な記憶空
間の一部であり、UIDのアドレスを介してアドレス指
定可能である。
【0104】IOC1618は汎用CPU、例えばデー
タ・ゼネラル社から入手可能なECLIPSE系コンピ
ュータである。IOC1618の主な機能は、IOS1
16によるデータ伝送の制御である。更に、IOC16
18は、外部素子のアドレスをMEM112内の物理的
アドレスに翻訳するため各データ・チャネル素子に対す
る個々のマップを生成する。図16に示すように、各デ
ータ・チャネル素子は個々のアドレス翻訳マップ(MA
P)1632および1636を含む。これは、IOS1
16がMEM112の物理的アドレス空間の個々の領域
を各データ・チャネル素子に対して割当てることを可能
にする。この特徴は、1つのデータ・チャネル素子が別
のデータ・チャネル素子に帰属する情報の書込みまたは
読出しをしないようにする保護作用を提供する。更にI
OC1618は、2つ以上のデータ・チャネル素子に対
する重合するアドレス翻訳マップを生成して、これらの
データ・チャネル素子がMEM112の物理的アドレス
空間の共通領域を共用することを可能にするのである。
タ・ゼネラル社から入手可能なECLIPSE系コンピ
ュータである。IOC1618の主な機能は、IOS1
16によるデータ伝送の制御である。更に、IOC16
18は、外部素子のアドレスをMEM112内の物理的
アドレスに翻訳するため各データ・チャネル素子に対す
る個々のマップを生成する。図16に示すように、各デ
ータ・チャネル素子は個々のアドレス翻訳マップ(MA
P)1632および1636を含む。これは、IOS1
16がMEM112の物理的アドレス空間の個々の領域
を各データ・チャネル素子に対して割当てることを可能
にする。この特徴は、1つのデータ・チャネル素子が別
のデータ・チャネル素子に帰属する情報の書込みまたは
読出しをしないようにする保護作用を提供する。更にI
OC1618は、2つ以上のデータ・チャネル素子に対
する重合するアドレス翻訳マップを生成して、これらの
データ・チャネル素子がMEM112の物理的アドレス
空間の共通領域を共用することを可能にするのである。
【0105】IOS116のデータ・チャネル素子およ
びMEM112間のデータ転送は、バッファ・メモリー
(BUF)1641を含むDM1610を介する。バッ
ファ1641は、MEM112およびIOS116が非
同期的に作用することを可能にする。DM1610はま
た、MEM112に対する種々のデータ・チャネル素子
のアクセスを制御するリング許与ゼネレータ(RGG)
1644を含んでいる。RGG1644は、種々のデー
タ・チャネル素子により与えられる負荷が変化する時I
OS116のデータ・チャネル素子間のMEM112へ
のアクセスを割当てる際に柔軟性を有するように構成さ
れている。更に、RGG1644は、データ・チャネル
素子のどれもあるいはどのグループもMEM112に対
するアクセスを独占しないことを保証する。
びMEM112間のデータ転送は、バッファ・メモリー
(BUF)1641を含むDM1610を介する。バッ
ファ1641は、MEM112およびIOS116が非
同期的に作用することを可能にする。DM1610はま
た、MEM112に対する種々のデータ・チャネル素子
のアクセスを制御するリング許与ゼネレータ(RGG)
1644を含んでいる。RGG1644は、種々のデー
タ・チャネル素子により与えられる負荷が変化する時I
OS116のデータ・チャネル素子間のMEM112へ
のアクセスを割当てる際に柔軟性を有するように構成さ
れている。更に、RGG1644は、データ・チャネル
素子のどれもあるいはどのグループもMEM112に対
するアクセスを独占しないことを保証する。
【0106】図17においては、RGG1644の作用
を表わす図が示されている。更に、以下の説明において
記述するように、RGG1644は種々のチャネル素子
に対して割当てられた多数のポートを走査する整流子と
して見做すことができる。例えば、ポートA,C,Eお
よびGはBMC1614に、ポートBおよびFはNDC
1616に、またポートDおよびHは別のデータ・チャ
ネルに対して割当てることができる。RGG1644は
これらポートの各々を順次走査し、もしある特定のポー
トと関連するデータ・チャネル素子がMEM112に対
するアクセス要求中であるならば、このデータ・チャネ
ル素子に対してMEM112へのアクセスを許与するこ
とになる。もしあるポートに要求がなければ、RGG1
644は即時次のポートへの走査を続行する。1つ以上
のポートが割当てられた各データ・チャネル素子は、こ
れによりMEM112に対するアクセスの機会を保証さ
れる。例えば、その時情報転送に関与していないデータ
・チャネル素子を表示する未使用のポートは、MEM1
12に対するアクセスが種々のデータ・チャネル素子の
情報転送負荷により動的に変更されるように、有効に飛
越される。RGG1644のポートは、必要に応じてあ
る特定のCS101システムの適する如きIOS116
の種々のデータ・チャネル素子間で再割当てすることが
できる。もし例えばある特定のCS101がBMC16
14ではなくてNDC1616を使用するならば、この
CS101のNDC1616はこれ以上のポートの割当
てが可能であるが、CS101のBMC1614はそれ
より少ない数のポートが割当てられる。
を表わす図が示されている。更に、以下の説明において
記述するように、RGG1644は種々のチャネル素子
に対して割当てられた多数のポートを走査する整流子と
して見做すことができる。例えば、ポートA,C,Eお
よびGはBMC1614に、ポートBおよびFはNDC
1616に、またポートDおよびHは別のデータ・チャ
ネルに対して割当てることができる。RGG1644は
これらポートの各々を順次走査し、もしある特定のポー
トと関連するデータ・チャネル素子がMEM112に対
するアクセス要求中であるならば、このデータ・チャネ
ル素子に対してMEM112へのアクセスを許与するこ
とになる。もしあるポートに要求がなければ、RGG1
644は即時次のポートへの走査を続行する。1つ以上
のポートが割当てられた各データ・チャネル素子は、こ
れによりMEM112に対するアクセスの機会を保証さ
れる。例えば、その時情報転送に関与していないデータ
・チャネル素子を表示する未使用のポートは、MEM1
12に対するアクセスが種々のデータ・チャネル素子の
情報転送負荷により動的に変更されるように、有効に飛
越される。RGG1644のポートは、必要に応じてあ
る特定のCS101システムの適する如きIOS116
の種々のデータ・チャネル素子間で再割当てすることが
できる。もし例えばある特定のCS101がBMC16
14ではなくてNDC1616を使用するならば、この
CS101のNDC1616はこれ以上のポートの割当
てが可能であるが、CS101のBMC1614はそれ
より少ない数のポートが割当てられる。
【0107】2.メモリー(MEM)112(図18) 図18においては、MEM112の部分的なブロック図
が示される。MEM112の主要な要素は主記憶バンク
(MSB)1810と、バンク・コントローラ(BC)
1814と、メモリー・カッシェ装置(MC)1816
と、フィールド・インターフェース装置(FIU)18
20と、メモリー・インターフェース・コントローラ
(MIC)1822である。これらの要素のMEM11
2の入出力バスによるIOS116およびJP114に
対する相互の結合の状態が示されている。
が示される。MEM112の主要な要素は主記憶バンク
(MSB)1810と、バンク・コントローラ(BC)
1814と、メモリー・カッシェ装置(MC)1816
と、フィールド・インターフェース装置(FIU)18
20と、メモリー・インターフェース・コントローラ
(MIC)1822である。これらの要素のMEM11
2の入出力バスによるIOS116およびJP114に
対する相互の結合の状態が示されている。
【0108】MEM112は、IOMバス130とMI
Oバス129とIOMCバス131からなるIOS11
6に対する単一ポートと、JP114に対する二重ポー
トとを有する優先順位決定用インテリジェント・メモリ
ーである。最初のJP114ポートMODバス140と
PDバス146からなり、第2のポートはJPDバス1
42とPDバス146とからなる。一般に、IOS11
6およびJP114によるMEM112に関する全ての
出入り転送は1つの32ビット・ワードであり、IOM
バス130、MIOバス129、MODバス140、J
PDバス142は夫々32ビットの幅を有する。しか
し、CS101は、データ・バスの実際の物理的な幅は
ユーザには明らかでない可変ワード長さの機械である。
例えば、ユーザ・プログラムにおける1つの名前は97
ビットのデータを含むオペランドを指す。ユーザにとっ
ては、この97ビットのデータ項目は1回の操作でME
M112からJP114に対して読出されるように見え
る。実際には、JP114はストリング転送と呼ばれる
一連の読出し操作においてMEM112からこのオペラ
ンドを読出すことになる。本例においては、このストリ
ング転送は3回の32ビットの読出し転送と1回の単ビ
ット転送からなる。単一のデータ・ビットを含む最後の
単ビット転送は、1つのビットがデータであり32ビッ
トが充填である32ビットのワードとなる。MEM11
2に対する書込み操作は同じ方法で行なうことができ
る。もしMEM112に対する1回の読出しまたは書込
み要求がデータの32ビットより少ないデータ項目を指
定するならば、この転送は前述の最終転送と同じ方法で
行なわれることになる。即ち、単一の32ビット・ワー
ドは、非データビットが充填ビットである場合に転送さ
れることになるのである。MEM112における大量の
データ記憶は、1つ以上のメモリー・アレイのカード
(MA)1812からなるMSB1810において提供
される。MA1812に関するデータの入出経路は、M
A1812に関する全ての制御およびタイミング機能を
実施するBC1814による。BC1814の機能は、
アドレス指定、データの転送、読出しまたは書込み操作
が実施されるかどうかの制御、リフレッシュ、スニッフ
ィングおよびエラー訂正コードの諸操作を含む。BC1
814によるMA1812に関する全ての読出しおよび
書込み操作は、4つの32ビット・ワードのブロックに
ある。
Oバス129とIOMCバス131からなるIOS11
6に対する単一ポートと、JP114に対する二重ポー
トとを有する優先順位決定用インテリジェント・メモリ
ーである。最初のJP114ポートMODバス140と
PDバス146からなり、第2のポートはJPDバス1
42とPDバス146とからなる。一般に、IOS11
6およびJP114によるMEM112に関する全ての
出入り転送は1つの32ビット・ワードであり、IOM
バス130、MIOバス129、MODバス140、J
PDバス142は夫々32ビットの幅を有する。しか
し、CS101は、データ・バスの実際の物理的な幅は
ユーザには明らかでない可変ワード長さの機械である。
例えば、ユーザ・プログラムにおける1つの名前は97
ビットのデータを含むオペランドを指す。ユーザにとっ
ては、この97ビットのデータ項目は1回の操作でME
M112からJP114に対して読出されるように見え
る。実際には、JP114はストリング転送と呼ばれる
一連の読出し操作においてMEM112からこのオペラ
ンドを読出すことになる。本例においては、このストリ
ング転送は3回の32ビットの読出し転送と1回の単ビ
ット転送からなる。単一のデータ・ビットを含む最後の
単ビット転送は、1つのビットがデータであり32ビッ
トが充填である32ビットのワードとなる。MEM11
2に対する書込み操作は同じ方法で行なうことができ
る。もしMEM112に対する1回の読出しまたは書込
み要求がデータの32ビットより少ないデータ項目を指
定するならば、この転送は前述の最終転送と同じ方法で
行なわれることになる。即ち、単一の32ビット・ワー
ドは、非データビットが充填ビットである場合に転送さ
れることになるのである。MEM112における大量の
データ記憶は、1つ以上のメモリー・アレイのカード
(MA)1812からなるMSB1810において提供
される。MA1812に関するデータの入出経路は、M
A1812に関する全ての制御およびタイミング機能を
実施するBC1814による。BC1814の機能は、
アドレス指定、データの転送、読出しまたは書込み操作
が実施されるかどうかの制御、リフレッシュ、スニッフ
ィングおよびエラー訂正コードの諸操作を含む。BC1
814によるMA1812に関する全ての読出しおよび
書込み操作は、4つの32ビット・ワードのブロックに
ある。
【0109】MSB1810を含む種々のMA1812
は、同じデータ記憶容量である必要はない。例えば、あ
るMA1812は256Kバイトの容量を有するが、他
のMA1812は512Kバイトの容量で良い。MSB
1810におけるMA1812のアドレス指定は種々の
MA1812の形態に対して自動的に適合する。図18
に示したように、各MA1812は、次の下位のMA1
812における最も上位のアドレスを表示するこのMA
1812からの入力を受取るアドレス回路(A)を含
む。MA1812におけるこのA回路はまた、MA18
12からの全アドレス空間を表示する入力を受取る。こ
のMA1812のA回路は、次の下位のMA1812か
らの最も上位のアドレスをそれ自体の容量を表わすそれ
自体の入力に加え、それ自体の最も上位のアドレスを表
示する次のMA1812に対する出力を生じる。MSB
1810の全てのMA1812はBC1814により並
列にアドレス指定される。各MA1812は、このよう
なアドレスを、前記の次の下位のMA1812の最も上
位のアドレスを表わす次の下位のMA1812からのそ
の入力、およびそれ自体の最も上位のアドレスを表わす
それ自体の出力と比較し、BC1814により与えられ
るある特定のアドレスが前記の特定のMA1812内部
に含まれるアドレスの範囲内にあるかどうかを判定す
る。そのアドレス空間が前記のアドレスを含む特定のM
A1812は、この時BC1814からの読出しまたは
書込み要求を受入れることにより応答する。
は、同じデータ記憶容量である必要はない。例えば、あ
るMA1812は256Kバイトの容量を有するが、他
のMA1812は512Kバイトの容量で良い。MSB
1810におけるMA1812のアドレス指定は種々の
MA1812の形態に対して自動的に適合する。図18
に示したように、各MA1812は、次の下位のMA1
812における最も上位のアドレスを表示するこのMA
1812からの入力を受取るアドレス回路(A)を含
む。MA1812におけるこのA回路はまた、MA18
12からの全アドレス空間を表示する入力を受取る。こ
のMA1812のA回路は、次の下位のMA1812か
らの最も上位のアドレスをそれ自体の容量を表わすそれ
自体の入力に加え、それ自体の最も上位のアドレスを表
示する次のMA1812に対する出力を生じる。MSB
1810の全てのMA1812はBC1814により並
列にアドレス指定される。各MA1812は、このよう
なアドレスを、前記の次の下位のMA1812の最も上
位のアドレスを表わす次の下位のMA1812からのそ
の入力、およびそれ自体の最も上位のアドレスを表わす
それ自体の出力と比較し、BC1814により与えられ
るある特定のアドレスが前記の特定のMA1812内部
に含まれるアドレスの範囲内にあるかどうかを判定す
る。そのアドレス空間が前記のアドレスを含む特定のM
A1812は、この時BC1814からの読出しまたは
書込み要求を受入れることにより応答する。
【0110】MC1816はBC1814とIOS11
6とJP114間のデータの転送のためのデータ経路で
ある。MC1816は、IOS116またはJP114
のいずれかによりその時使用されつつあるMSB181
0からのデータを記憶する高速カッシェ装置を含む。こ
れにより、MSB1810はMEM112に大きな記憶
容量を提供し、MC1816は高速のメモリーの様相を
呈する。カッシェ装置としての作用に加えMC1816
は、IOS116がBC1814を介してMSB181
0に直接4つの32ビットのワードのブロックを書込む
ことを可能にするバイパス書込み経路を含んでいる。更
に、MC1816は、データがMC1816のカッシェ
から送出され、別のデータがMC1816のカッシェに
転送される間記憶されることを許容するカッシェ書戻し
経路を含む。MC1816のカッシェからの変位された
データはこの時、更に都合の良い後の時点でMSB18
10に書戻すことができる。この書戻し経路は、新たな
データがMC1816に書込まれる前に、データをMC
1816からMSB1810へ転送することにより生じ
る遅延を避けることによってMC1816の作用速度を
強化するのである。
6とJP114間のデータの転送のためのデータ経路で
ある。MC1816は、IOS116またはJP114
のいずれかによりその時使用されつつあるMSB181
0からのデータを記憶する高速カッシェ装置を含む。こ
れにより、MSB1810はMEM112に大きな記憶
容量を提供し、MC1816は高速のメモリーの様相を
呈する。カッシェ装置としての作用に加えMC1816
は、IOS116がBC1814を介してMSB181
0に直接4つの32ビットのワードのブロックを書込む
ことを可能にするバイパス書込み経路を含んでいる。更
に、MC1816は、データがMC1816のカッシェ
から送出され、別のデータがMC1816のカッシェに
転送される間記憶されることを許容するカッシェ書戻し
経路を含む。MC1816のカッシェからの変位された
データはこの時、更に都合の良い後の時点でMSB18
10に書戻すことができる。この書戻し経路は、新たな
データがMC1816に書込まれる前に、データをMC
1816からMSB1810へ転送することにより生じ
る遅延を避けることによってMC1816の作用速度を
強化するのである。
【0111】MEM112のFIU1820は、JP1
14とIOS116の両者によるMEM112に関する
書込みおよび読出しにおけるデータ・フォーマットの操
作を可能にする。例えば、FIU1820はアンパック
状態の10進数データをパック状態の10進数データ
に、またその逆に変換することができる。更に、FIU
1820はMEM112がビット・アドレス指定可能な
メモリーとして作用することを可能にする。例えば、前
述の如く、MEM112に関する全てのデータ転送は3
2ビット・ワードである。もし32ビット以下のデータ
転送が要求されるならば、これらのデータ・ビットを含
む32ビット・ワードはMC1816からFIU182
0へ読出されここで所要のデータ・ビットを抽出するた
め操作することができる。次に、FIU1820はこれ
らの要求されたデータ・ビット、プラス充填ビットを含
む32ビット・ワードを生成し、この新たな32ビット
・ワードをJP114またはIOS116に対して与え
る。IOS116からFIU1820を介するMEM1
12への書込みにおいて、データはIOMバス130上
に転送され、FIU1820に読込まれ、これについて
処理され、MODバス140上に送出され、MODバス
140からMC1816へ送出される。MEM112か
らの読出し操作において、データはMC1816からM
ODバス140に対して転送され、FIU1820に書
込まれてこれについて処理され、IOS116に対する
MIOバス129上に転送される。MEM112からJ
P114へのデータ読出しにおいて、データはMC18
16からMODバス140上に送出され、FIU182
0に送出されてこれについて処理され、再びJP114
に対するMODバス140上に送出される。JP114
からMEM112への書込み操作においては、JPDバ
ス142上のデータはFIU1820に送出されてこれ
について処理され、次いでMC1816に対するMOD
バス上に転送される。MODバス140はこれによりF
IU1820の操作のためのMEM112の内部バスと
して使用されるのである。
14とIOS116の両者によるMEM112に関する
書込みおよび読出しにおけるデータ・フォーマットの操
作を可能にする。例えば、FIU1820はアンパック
状態の10進数データをパック状態の10進数データ
に、またその逆に変換することができる。更に、FIU
1820はMEM112がビット・アドレス指定可能な
メモリーとして作用することを可能にする。例えば、前
述の如く、MEM112に関する全てのデータ転送は3
2ビット・ワードである。もし32ビット以下のデータ
転送が要求されるならば、これらのデータ・ビットを含
む32ビット・ワードはMC1816からFIU182
0へ読出されここで所要のデータ・ビットを抽出するた
め操作することができる。次に、FIU1820はこれ
らの要求されたデータ・ビット、プラス充填ビットを含
む32ビット・ワードを生成し、この新たな32ビット
・ワードをJP114またはIOS116に対して与え
る。IOS116からFIU1820を介するMEM1
12への書込みにおいて、データはIOMバス130上
に転送され、FIU1820に読込まれ、これについて
処理され、MODバス140上に送出され、MODバス
140からMC1816へ送出される。MEM112か
らの読出し操作において、データはMC1816からM
ODバス140に対して転送され、FIU1820に書
込まれてこれについて処理され、IOS116に対する
MIOバス129上に転送される。MEM112からJ
P114へのデータ読出しにおいて、データはMC18
16からMODバス140上に送出され、FIU182
0に送出されてこれについて処理され、再びJP114
に対するMODバス140上に送出される。JP114
からMEM112への書込み操作においては、JPDバ
ス142上のデータはFIU1820に送出されてこれ
について処理され、次いでMC1816に対するMOD
バス上に転送される。MODバス140はこれによりF
IU1820の操作のためのMEM112の内部バスと
して使用されるのである。
【0112】最後に、MIC1822は、BC1814
とMC1816とFIU1820の主な制御を行なう。
MIC1822はPDバス146およびIOMCバス1
31からの制御入力を受取ってこれらに対して制御出力
を与える。MIC1822はMEM112に対する主な
マイクロコード制御を有するが、BC1814とMC1
816とFIU1820は各々内部マイクロコード制御
を含む。独立した内部マイクロコード制御は、BC18
14とMC1816とFIU1820が、それらの諸操
作がMIC1822によって開始された後に、MIC1
822からは独立的に作動することを可能にする。この
ため、BC1814とFIU1820とMC1816と
FIU1820とが独立的かつ非同期的に作動すること
を可能にする。これにより、MEM112の作用効率お
よび速度はMEM112の操作のパイプライン作用を許
容することによって促進されるのである。
とMC1816とFIU1820の主な制御を行なう。
MIC1822はPDバス146およびIOMCバス1
31からの制御入力を受取ってこれらに対して制御出力
を与える。MIC1822はMEM112に対する主な
マイクロコード制御を有するが、BC1814とMC1
816とFIU1820は各々内部マイクロコード制御
を含む。独立した内部マイクロコード制御は、BC18
14とMC1816とFIU1820が、それらの諸操
作がMIC1822によって開始された後に、MIC1
822からは独立的に作動することを可能にする。この
ため、BC1814とFIU1820とMC1816と
FIU1820とが独立的かつ非同期的に作動すること
を可能にする。これにより、MEM112の作用効率お
よび速度はMEM112の操作のパイプライン作用を許
容することによって促進されるのである。
【0113】3.取出し装置(FU)(図19) FU120の主な機能はSINの実行である。これにお
いて、FU120はMEM112から命令およびデータ
(SOPおよび名前)を取出し、処理の結果をMEM1
12に戻し、EU122の作用を指令し、ユーザ・プロ
グラムの命令を実行し、CS101のオペレーティング
・システムの諸機能を実施する。これらの機能の一部と
して、FU120は論理アドレスおよび記述子を生成し
てこれを操作し、汎用CPUとして作用することができ
る。
いて、FU120はMEM112から命令およびデータ
(SOPおよび名前)を取出し、処理の結果をMEM1
12に戻し、EU122の作用を指令し、ユーザ・プロ
グラムの命令を実行し、CS101のオペレーティング
・システムの諸機能を実施する。これらの機能の一部と
して、FU120は論理アドレスおよび記述子を生成し
てこれを操作し、汎用CPUとして作用することができ
る。
【0114】図19においては、FU120の主要素子
は記述子プロセッサ(DESP)1910である。DE
SP1910は汎用レジスタ・ファイル(GRF)50
6を含んでいる。GRF506は、並列にアドレス指定
される3つの部分に垂直方向に分割された大きなレジス
タ・アレイである。最初の部分、即ちAONGRF19
32は論理アドレスおよび記述子のAONフィールドを
記憶する。第2の部分、即ちOFFGRF1934は論
理アドレスおよび記述子のオフセット・フィールドを記
憶し、32ビット幅の汎用レジスタ・アレイとして使用
される。第3の部分であるGRF506のLENGRF
1936は、論理記述子の長さフィールドの記憶のため
の32ビット幅のレジスタであり、またデータの記憶の
ための汎用レジスタでもある。MEM112からFU1
20への主要データ経路は、OFFGRF1934に対
して入力を提供するMODバス140による。図19に
おいて示すように、データは種々の相互接続を経てOF
FGRF1934からAONGRF1932およびLE
NGRF1936の入力側に転送することができる。同
様に、LENGRF1936およびAONGRF193
2からの出力は、AONGRF1932、OFFGRF
1934およびLENGRF1936の入力側に対して
送出することができる。
は記述子プロセッサ(DESP)1910である。DE
SP1910は汎用レジスタ・ファイル(GRF)50
6を含んでいる。GRF506は、並列にアドレス指定
される3つの部分に垂直方向に分割された大きなレジス
タ・アレイである。最初の部分、即ちAONGRF19
32は論理アドレスおよび記述子のAONフィールドを
記憶する。第2の部分、即ちOFFGRF1934は論
理アドレスおよび記述子のオフセット・フィールドを記
憶し、32ビット幅の汎用レジスタ・アレイとして使用
される。第3の部分であるGRF506のLENGRF
1936は、論理記述子の長さフィールドの記憶のため
の32ビット幅のレジスタであり、またデータの記憶の
ための汎用レジスタでもある。MEM112からFU1
20への主要データ経路は、OFFGRF1934に対
して入力を提供するMODバス140による。図19に
おいて示すように、データは種々の相互接続を経てOF
FGRF1934からAONGRF1932およびLE
NGRF1936の入力側に転送することができる。同
様に、LENGRF1936およびAONGRF193
2からの出力は、AONGRF1932、OFFGRF
1934およびLENGRF1936の入力側に対して
送出することができる。
【0115】OFFGRF1934の出力は、DESP
1910の演算論理装置(ALU)1942の入力側に
接続されている。ALU1942は、MUX1940に
より実行される汎用算術論理オペランドとは異なり、論
理アドレスおよび記述子の生成および操作において使用
することができる汎用32ビットのALUである。AL
U1942の出力は、算術および論理演算の結果をME
M112またはEU122に対して転送することを可能
にするためJPDバス142に結合されている。
1910の演算論理装置(ALU)1942の入力側に
接続されている。ALU1942は、MUX1940に
より実行される汎用算術論理オペランドとは異なり、論
理アドレスおよび記述子の生成および操作において使用
することができる汎用32ビットのALUである。AL
U1942の出力は、算術および論理演算の結果をME
M112またはEU122に対して転送することを可能
にするためJPDバス142に結合されている。
【0116】また、OFFGRF1934の出力側から
結合されているのはMUX1940である。MUX19
40の出力はALU1942の入力側に与えられる。M
UX1940は32ビットのALUで、データ操作のた
めのアキュムレータを含む。MUX1940は、ALU
1942と共に、DESP1910が32ビットの算術
および論理演算を実施することを可能にする。MUX1
940およびALU1942は、更に大きなオペランド
の連続する32ビット・ワードについて連続的な操作を
実施することにより、32ビットより大きなオペランド
についての算術および論理演算を可能にし得る。
結合されているのはMUX1940である。MUX19
40の出力はALU1942の入力側に与えられる。M
UX1940は32ビットのALUで、データ操作のた
めのアキュムレータを含む。MUX1940は、ALU
1942と共に、DESP1910が32ビットの算術
および論理演算を実施することを可能にする。MUX1
940およびALU1942は、更に大きなオペランド
の連続する32ビット・ワードについて連続的な操作を
実施することにより、32ビットより大きなオペランド
についての算術および論理演算を可能にし得る。
【0117】DESP1910により生成されあるいは
与えられる論理記述子またはアドレス、論理記述子(L
D)バス1902に対して与えられる。LDバス190
2は更に、アドレス翻訳装置(ATU)1928の入力
側に結合されている。ATU1928は、論理記述子を
MEM112の物理的記述子に変換するためのカッシェ
機構である。
与えられる論理記述子またはアドレス、論理記述子(L
D)バス1902に対して与えられる。LDバス190
2は更に、アドレス翻訳装置(ATU)1928の入力
側に結合されている。ATU1928は、論理記述子を
MEM112の物理的記述子に変換するためのカッシェ
機構である。
【0118】LDバス1902はまた名前カッシェ装置
(NC)1926の書込み入力側に結合されている。N
C1926は、ユーザ・プログラムにおいてその時使用
中のオペランドの名前と対応する論理記述子を記憶する
カッシェ機構である。前述の如く、その時使用中のオペ
ランドと対応する名前テーブル記入はMEM112にお
いて記憶される。その時実行中のユーザ・プログラムの
オペランドに対するある名前テーブル記入は、MEM1
12におけるこれらの名前テーブルからFU120に対
して転送され、ここで対応する論理記述子を生成するた
め評価される。これらの論理記述子はこの時NC192
6に記憶される。以下に更に述べるように、ユーザ・プ
ログラムの命令ストリームはMODバス140を介して
FU120の命令バッファ(IB)1962に対して与
えられる。FU120のオペランド分解装置(P)19
64はIB1962からの名前を分離即ち分解して、こ
れらの名前をNC1924に対するアドレス入力として
与える。NC1924は更に、LDバス1902に対し
て、従ってATU1928の入力側にも論理記述子出力
を与える。LDバス1902からのNC1926の入力
は、名前テーブルの記入の評価結果の論理記述子をNC
1926に書込むことを可能にする。FU120のOF
FGRF1934は、以下に更に述べるように、LDバ
ス1902から結合された入力を有し、ユーザ・プログ
ラムによるMEM112におけるデータの照合の保護機
能に関する情報を与えるカッシェ機構である。これによ
り、NC1926、ATU1928およびPC1934
は論理アドレスから物理的アドレスに至る構造をアドレ
ス指定するCS101の名前空間の夫々の加速機構およ
び保護機構である。
(NC)1926の書込み入力側に結合されている。N
C1926は、ユーザ・プログラムにおいてその時使用
中のオペランドの名前と対応する論理記述子を記憶する
カッシェ機構である。前述の如く、その時使用中のオペ
ランドと対応する名前テーブル記入はMEM112にお
いて記憶される。その時実行中のユーザ・プログラムの
オペランドに対するある名前テーブル記入は、MEM1
12におけるこれらの名前テーブルからFU120に対
して転送され、ここで対応する論理記述子を生成するた
め評価される。これらの論理記述子はこの時NC192
6に記憶される。以下に更に述べるように、ユーザ・プ
ログラムの命令ストリームはMODバス140を介して
FU120の命令バッファ(IB)1962に対して与
えられる。FU120のオペランド分解装置(P)19
64はIB1962からの名前を分離即ち分解して、こ
れらの名前をNC1924に対するアドレス入力として
与える。NC1924は更に、LDバス1902に対し
て、従ってATU1928の入力側にも論理記述子出力
を与える。LDバス1902からのNC1926の入力
は、名前テーブルの記入の評価結果の論理記述子をNC
1926に書込むことを可能にする。FU120のOF
FGRF1934は、以下に更に述べるように、LDバ
ス1902から結合された入力を有し、ユーザ・プログ
ラムによるMEM112におけるデータの照合の保護機
能に関する情報を与えるカッシェ機構である。これによ
り、NC1926、ATU1928およびPC1934
は論理アドレスから物理的アドレスに至る構造をアドレ
ス指定するCS101の名前空間の夫々の加速機構およ
び保護機構である。
【0119】再びDESP1910に関して、DESP
1910はLENGRF1936の出力側と結合された
BIAS1952を含んでいる。前述の如く、32デー
タ・ビットより多くのビットを含むオペランドはストリ
ング転送によってMEM112およびJP114間に転
送される。ストリング転送を実施するためには、FU1
20が対応する一連の論理記述子を生成することが必要
であり、この場合これらの論理記述子の長さフィールド
は5ビット以上ではなく、即ち32データ・ビットより
大きくない長さを規定する。
1910はLENGRF1936の出力側と結合された
BIAS1952を含んでいる。前述の如く、32デー
タ・ビットより多くのビットを含むオペランドはストリ
ング転送によってMEM112およびJP114間に転
送される。ストリング転送を実施するためには、FU1
20が対応する一連の論理記述子を生成することが必要
であり、この場合これらの論理記述子の長さフィールド
は5ビット以上ではなく、即ち32データ・ビットより
大きくない長さを規定する。
【0120】ストリング転送により転送されるべきデー
タ項目を説明する論理記述子はGRF506に記憶され
る。論理記述子のAONフィールドは、AONGRF1
932、OFFGRF1934のOフィールドおよびL
ENGRF1936のLフィールドに存在する。ストリ
ング転送における32ビット・ワードの連続する転送毎
に、前記の元の論理記述子のOフィールドは転送される
データ・ビットの数だけ増分されるが、このためLフィ
ールドは減分されることになる。GRF506に存在す
る論理記述子はこれにより、ストリング転送の連続する
転送毎に、未だ転送されるべきデータ項目の部分を記述
する。OFFGRF1934のOフィールドはこのデー
タ項目への漸増的に大きくなるオフセットを表示する
が、Lフィールドは連続的に小さくなる長さを表示する
ことになる。GRF506における論理記述子のAON
およびOフィールドは、ストリング転送の連続する論理
記述子のAONおよびOフィールドである。しかし、L
ENGRF1936に存在する論理記述子のLフィール
ドは、このLフィールドが未だ転送されるべきデータ項
目の残る長さを表示するため、連続するストリング転送
の論理記述子のLフィールドのようには使用されない。
その代り、BIAS1952は連続するストリング転送
の論理記述子の5ビットのLフィールドを生成するが、
LENGRF1936における論理記述子の5フィール
ドはこれに対応して減分する。各転送の間、BIAS1
952は次のストリング転送の論理記述子のLフィール
ドを生成するが、同時にその時のストリング転送の論理
記述子のLフィールドを提供する。これにより、BIA
S1952はその間、Lフィールドのパイプライン化さ
れた諸操作の実施によってストリング転送の実行速度を
増加する。これによりBIAS1952は、CS101
がユーザにとってストリング転送を自動的に実施するこ
とによって可変ワード長さの機械であるかのように見え
るようにする。この機構は、例えば、32ビットより大
きな2倍精度の浮動小数点数のデータ項目の転送に使用
されるのである。
タ項目を説明する論理記述子はGRF506に記憶され
る。論理記述子のAONフィールドは、AONGRF1
932、OFFGRF1934のOフィールドおよびL
ENGRF1936のLフィールドに存在する。ストリ
ング転送における32ビット・ワードの連続する転送毎
に、前記の元の論理記述子のOフィールドは転送される
データ・ビットの数だけ増分されるが、このためLフィ
ールドは減分されることになる。GRF506に存在す
る論理記述子はこれにより、ストリング転送の連続する
転送毎に、未だ転送されるべきデータ項目の部分を記述
する。OFFGRF1934のOフィールドはこのデー
タ項目への漸増的に大きくなるオフセットを表示する
が、Lフィールドは連続的に小さくなる長さを表示する
ことになる。GRF506における論理記述子のAON
およびOフィールドは、ストリング転送の連続する論理
記述子のAONおよびOフィールドである。しかし、L
ENGRF1936に存在する論理記述子のLフィール
ドは、このLフィールドが未だ転送されるべきデータ項
目の残る長さを表示するため、連続するストリング転送
の論理記述子のLフィールドのようには使用されない。
その代り、BIAS1952は連続するストリング転送
の論理記述子の5ビットのLフィールドを生成するが、
LENGRF1936における論理記述子の5フィール
ドはこれに対応して減分する。各転送の間、BIAS1
952は次のストリング転送の論理記述子のLフィール
ドを生成するが、同時にその時のストリング転送の論理
記述子のLフィールドを提供する。これにより、BIA
S1952はその間、Lフィールドのパイプライン化さ
れた諸操作の実施によってストリング転送の実行速度を
増加する。これによりBIAS1952は、CS101
がユーザにとってストリング転送を自動的に実施するこ
とによって可変ワード長さの機械であるかのように見え
るようにする。この機構は、例えば、32ビットより大
きな2倍精度の浮動小数点数のデータ項目の転送に使用
されるのである。
【0121】最後に、FU120は、前述の全てのFU
120操作を制御するためのマイクロコード回路を含
む。特に、FU120はFU120の全操作の段階的な
実行を制御するための一連のマイクロ命令を記憶するマ
イクロ命令シーケンス制御記憶(mC)1920を含ん
でいる。一般に、これらのFU120の操作は2つの種
類に該当する。第1の種類は、ユーザ・プログラムのS
OPの実行に直接関連するマイクロ命令シーケンスを含
む。第2の種類は、名前テーブルの記入の評価の如きい
くつかの自動的な内部FU120機能を含むCS101
のオペレーティング・システムと関連するマイクロ命令
シーケンスを含む。
120操作を制御するためのマイクロコード回路を含
む。特に、FU120はFU120の全操作の段階的な
実行を制御するための一連のマイクロ命令を記憶するマ
イクロ命令シーケンス制御記憶(mC)1920を含ん
でいる。一般に、これらのFU120の操作は2つの種
類に該当する。第1の種類は、ユーザ・プログラムのS
OPの実行に直接関連するマイクロ命令シーケンスを含
む。第2の種類は、名前テーブルの記入の評価の如きい
くつかの自動的な内部FU120機能を含むCS101
のオペレーティング・システムと関連するマイクロ命令
シーケンスを含む。
【0122】前述の如く、CS101は多重S言語機械
である。例えば、マイクロ命令シーケンス1920は少
なくとも4つの異なるダイアレクトにおいてユーザのS
OPを実行するためのmC1920を含むことができ
る。mC1920は、書込み可能な制御記憶装置からな
り、種々のダイアレクトに対する組をなすmC1920
は種々のユーザのプログラムの実行に必要とされる如く
mC1920に関して転入および転出することができ
る。mC1920における1つ以上のダイアレクトに対
する組をなすmC1920を記憶することにより、ユー
ザ・プログラムがユーザの言語のある組合せにより書込
むことが可能である。例えば、ある特定のユーザ・プロ
グラムは、主としてFORTRANで書込み可能である
が、あるCOBOLルーチンも読出し可能である。これ
らのCOBOLルーチンは、これと対応してCOBOL
ダイアレクトのSOPに翻訳され、mC1920に記憶
されたCOBOL mC1920によって実行されるこ
とになる。
である。例えば、マイクロ命令シーケンス1920は少
なくとも4つの異なるダイアレクトにおいてユーザのS
OPを実行するためのmC1920を含むことができ
る。mC1920は、書込み可能な制御記憶装置からな
り、種々のダイアレクトに対する組をなすmC1920
は種々のユーザのプログラムの実行に必要とされる如く
mC1920に関して転入および転出することができ
る。mC1920における1つ以上のダイアレクトに対
する組をなすmC1920を記憶することにより、ユー
ザ・プログラムがユーザの言語のある組合せにより書込
むことが可能である。例えば、ある特定のユーザ・プロ
グラムは、主としてFORTRANで書込み可能である
が、あるCOBOLルーチンも読出し可能である。これ
らのCOBOLルーチンは、これと対応してCOBOL
ダイアレクトのSOPに翻訳され、mC1920に記憶
されたCOBOL mC1920によって実行されるこ
とになる。
【0123】MEM112からFU120に対して与え
られる命令ストリームは、図3に関して前に述べた。こ
の命令ストリームのSOPおよび名前は、これらがME
M112から与えられる時、MODバス140からIB
1962に翻訳される。IB1962は2つの32ビッ
ト(1ワード)レジスタを含む。IB1962はまた、
これが常に少なくとも1つのSOPまたは名前を有する
ような方法でMEM112からの命令ストリームのSO
Pおよび名前に対して読出すための取出し回路を含む。
FU120は、IB1962からSOPおよび名前を読
出し、分離即ち分解する(P)1964を含む。前述の
如く、P1964はこれらの名前をNC1926に与
え、従ってこれが対応するオペランドをMEM112か
ら読出すようにATU1928に対して論理記述子を与
える。P1964により分解されるSOPは、取出し装
置のタスク指名テーブル(FUDT)1904および実
行装置のタスク指名テーブル(EUDT)1966に対
する入力として与えられる。先ずFUDT1904につ
いて見れば、FUDT1904は有効に対応するマイク
ロ命令シーケンスのmC1912における始動アドレス
SOPを翻訳するためのテーブルである。SOPのmC
1912のアドレスへのこの中間的な翻訳は、mC19
12内のマイクロ命令シーケンスの有効なパッキングを
可能にする。即ち、あるマイクロ命令シーケンスは2つ
以上のS言語ダイアレクトに共通である。このようなマ
イクロ命令シーケンスは従って一旦mC1912に書込
んで、異なるS言語ダイアレクトの異なるSOPにより
照合することができる。
られる命令ストリームは、図3に関して前に述べた。こ
の命令ストリームのSOPおよび名前は、これらがME
M112から与えられる時、MODバス140からIB
1962に翻訳される。IB1962は2つの32ビッ
ト(1ワード)レジスタを含む。IB1962はまた、
これが常に少なくとも1つのSOPまたは名前を有する
ような方法でMEM112からの命令ストリームのSO
Pおよび名前に対して読出すための取出し回路を含む。
FU120は、IB1962からSOPおよび名前を読
出し、分離即ち分解する(P)1964を含む。前述の
如く、P1964はこれらの名前をNC1926に与
え、従ってこれが対応するオペランドをMEM112か
ら読出すようにATU1928に対して論理記述子を与
える。P1964により分解されるSOPは、取出し装
置のタスク指名テーブル(FUDT)1904および実
行装置のタスク指名テーブル(EUDT)1966に対
する入力として与えられる。先ずFUDT1904につ
いて見れば、FUDT1904は有効に対応するマイク
ロ命令シーケンスのmC1912における始動アドレス
SOPを翻訳するためのテーブルである。SOPのmC
1912のアドレスへのこの中間的な翻訳は、mC19
12内のマイクロ命令シーケンスの有効なパッキングを
可能にする。即ち、あるマイクロ命令シーケンスは2つ
以上のS言語ダイアレクトに共通である。このようなマ
イクロ命令シーケンスは従って一旦mC1912に書込
んで、異なるS言語ダイアレクトの異なるSOPにより
照合することができる。
【0124】EUDT1966はEU122に関する同
様な機能を実施する。以下において述べるように、EU
122は、その操作を規定するSOPによりEUDT1
966を介してアドレス指定されるmC1912と類似
のmCを含む。更に、FU120はこのようなアドレス
をmC1912に与えて、必要に応じてあるFU120
操作を助けるためEU122の諸操作を開始する。FU
120により要求されるこのような諸操作の事例は、N
C1926にロードされるべき論理記述子を与えるため
名前テーブル記入において必要とされる計算を含んでい
る。
様な機能を実施する。以下において述べるように、EU
122は、その操作を規定するSOPによりEUDT1
966を介してアドレス指定されるmC1912と類似
のmCを含む。更に、FU120はこのようなアドレス
をmC1912に与えて、必要に応じてあるFU120
操作を助けるためEU122の諸操作を開始する。FU
120により要求されるこのような諸操作の事例は、N
C1926にロードされるべき論理記述子を与えるため
名前テーブル記入において必要とされる計算を含んでい
る。
【0125】FUDT1904およびEUDT1966
の両者と関連しているのはダイアレクト(D)レジスタ
1905と1967である。Dレジスタ1905および
1967は、あるユーザ・プログラムの実行においてそ
の時使用されつつある特定のS言語のダイアレクトを示
す情報を記憶する。Dレジスタ1905および1967
の出力は、mC1912とEU122のmCに対するア
ドレス入力の一部として使用される。
の両者と関連しているのはダイアレクト(D)レジスタ
1905と1967である。Dレジスタ1905および
1967は、あるユーザ・プログラムの実行においてそ
の時使用されつつある特定のS言語のダイアレクトを示
す情報を記憶する。Dレジスタ1905および1967
の出力は、mC1912とEU122のmCに対するア
ドレス入力の一部として使用される。
【0126】4.実行装置(EU)122(図20) 前述の如く、EU122は、ある算術演算操作からFU
120を解除するため設けられた演算論理装置である。
EU122は、パックされあるいはアンパックされた1
0進数の整数および単精度および2倍精度の浮動小数オ
ペランドについて加減算、乗除算を実施することができ
る。EU122は、前述の如くEUDT1966により
アドレス指定されてEU122の諸操作を開始するマイ
クロコード制御(mC)2010を含む独立的に作用す
るマイクロコード制御機械である。mC2010はま
た、FU120とEU122間で相互の割込みを取扱う
ためのロジックを含む。即ち、FU120はその時のE
U122の操作に割込んでFU120の操作を助けるた
めEU122を呼出すことができる。例えば、FU12
0は名前テーブル記入からの論理記述子を生成する際に
補佐を行なうためEU122を呼出すため、その時EU
122により実行中の算術演算に割込みを行なうことが
できる。同様に、その時の算術演算の実行の際にFU1
20の補佐をEU122が要求する時、EU122はF
U120のその時の操作に割込みを行なうことができ
る。例えば、もしEU122がこれに零除算を行なうこ
とを要求する命令およびオペランドを受取るならば、E
U122はその時のFU120の操作に割込みを行なう
ことができるのである。図20においては、EU122
の部分ブロック図が示される。EU122は2つの演算
論理装置を含む。第1の演算論理装置(MULT)20
14は整数および10進数のオペランドについて、また
単精度および2倍精度の浮動小数点オペランドの仮数フ
ィールドについて加減算、乗算および除算を行なうため
使用される。第2の演算論理装置ALU(EXP)20
16は、MULT2014により浮動小数点の仮数フィ
ールドについて行なわれた演算と平行して、単精度およ
び2倍精度の浮動小数点オペランドの指数フィールドに
ついての演算を行なうため使用される。MULT201
4とEXP2016の両者は、夫々1つの演算論理装
置、即ちMALU2074とEXPALU2084を含
む。MULT2014とEXP2016はまた、AON
GRF1932とOFFGRF1984と、LENGR
F1936と同様に平行して作動しかつアドレス指定さ
れるレジスタ・ファイル、即ち夫々MRG2050とE
RF2080とを含む。
120を解除するため設けられた演算論理装置である。
EU122は、パックされあるいはアンパックされた1
0進数の整数および単精度および2倍精度の浮動小数オ
ペランドについて加減算、乗除算を実施することができ
る。EU122は、前述の如くEUDT1966により
アドレス指定されてEU122の諸操作を開始するマイ
クロコード制御(mC)2010を含む独立的に作用す
るマイクロコード制御機械である。mC2010はま
た、FU120とEU122間で相互の割込みを取扱う
ためのロジックを含む。即ち、FU120はその時のE
U122の操作に割込んでFU120の操作を助けるた
めEU122を呼出すことができる。例えば、FU12
0は名前テーブル記入からの論理記述子を生成する際に
補佐を行なうためEU122を呼出すため、その時EU
122により実行中の算術演算に割込みを行なうことが
できる。同様に、その時の算術演算の実行の際にFU1
20の補佐をEU122が要求する時、EU122はF
U120のその時の操作に割込みを行なうことができ
る。例えば、もしEU122がこれに零除算を行なうこ
とを要求する命令およびオペランドを受取るならば、E
U122はその時のFU120の操作に割込みを行なう
ことができるのである。図20においては、EU122
の部分ブロック図が示される。EU122は2つの演算
論理装置を含む。第1の演算論理装置(MULT)20
14は整数および10進数のオペランドについて、また
単精度および2倍精度の浮動小数点オペランドの仮数フ
ィールドについて加減算、乗算および除算を行なうため
使用される。第2の演算論理装置ALU(EXP)20
16は、MULT2014により浮動小数点の仮数フィ
ールドについて行なわれた演算と平行して、単精度およ
び2倍精度の浮動小数点オペランドの指数フィールドに
ついての演算を行なうため使用される。MULT201
4とEXP2016の両者は、夫々1つの演算論理装
置、即ちMALU2074とEXPALU2084を含
む。MULT2014とEXP2016はまた、AON
GRF1932とOFFGRF1984と、LENGR
F1936と同様に平行して作動しかつアドレス指定さ
れるレジスタ・ファイル、即ち夫々MRG2050とE
RF2080とを含む。
【0127】EU122に対して演算するオペランドは
MODバス140を介してMEM112から与えられ、
オペランド・バッファ(OPB)2022に対して転送
される。入力バッファとしての作用に加えて、OPB2
022はあるデータ・フォーマット操作を行なって入力
オペランドをEU122により最も有効に操作されるフ
ォーマットに変換する。特に、EU122とMULT2
014は、パックされた10進数オペランドにより有効
に演算するように設計することができる。OPB202
2は、アンパックされた10進数オペランドをパックさ
れた10進数オペランドに変換することができる。アン
パックされた10進数オペランドは、各々の文字の4ビ
ットが零と9の間の10進数の値を指定する2進数コー
ドであるASCIIコードの形態である。各文字の他の
ビットはゾーン・フィールドと呼ばれ、一般に特定のA
SCIIコードを識別する情報を含む。例えば、零フィ
ールド・ビットは、ある特定のASCII文字が数字で
あるか、文字であるか、あるいは句読点であるかを規定
することができる。パックされた10進数オペランド
は、零と9の間の10進数を指定する2進数を各フィー
ルドが含む一連の4ビットのフィールドからなってい
る。OPB2022は、ゾーン・フィールド・ビットを
抽出して各文字の4つの数値ビットをパックされた10
進数の4つのビットのフィールドにパックすることによ
って、アンパックされた10進数オペランドをパックさ
れた10進数オペランドに変換するのである。
MODバス140を介してMEM112から与えられ、
オペランド・バッファ(OPB)2022に対して転送
される。入力バッファとしての作用に加えて、OPB2
022はあるデータ・フォーマット操作を行なって入力
オペランドをEU122により最も有効に操作されるフ
ォーマットに変換する。特に、EU122とMULT2
014は、パックされた10進数オペランドにより有効
に演算するように設計することができる。OPB202
2は、アンパックされた10進数オペランドをパックさ
れた10進数オペランドに変換することができる。アン
パックされた10進数オペランドは、各々の文字の4ビ
ットが零と9の間の10進数の値を指定する2進数コー
ドであるASCIIコードの形態である。各文字の他の
ビットはゾーン・フィールドと呼ばれ、一般に特定のA
SCIIコードを識別する情報を含む。例えば、零フィ
ールド・ビットは、ある特定のASCII文字が数字で
あるか、文字であるか、あるいは句読点であるかを規定
することができる。パックされた10進数オペランド
は、零と9の間の10進数を指定する2進数を各フィー
ルドが含む一連の4ビットのフィールドからなってい
る。OPB2022は、ゾーン・フィールド・ビットを
抽出して各文字の4つの数値ビットをパックされた10
進数の4つのビットのフィールドにパックすることによ
って、アンパックされた10進数オペランドをパックさ
れた10進数オペランドに変換するのである。
【0128】EU122はまた、例えばパックされた1
0進数のフォーマットにおいて、算術演算オペランドの
結果を再びMEM112またはFU120に対して転送
するためのアンパックされた10進数フォーマットに変
換することもできる。この場合、MALU2074の出
力に現われるパックされた10進数の結果は、図20に
は示されないマルチプレクサを介してMRF2050に
書込まれるが、このマルチプレクサはパックされた10
進数の結果の4ビットの数字コード・フィールドをアン
パックされた10進数のオペランド文字の対応するビッ
トに変換して、ブランクをこれらのアンパックされた1
0進数の文字のゾーン・フィールド・ビットに強制す
る。この操作の結果は、次にMRF2050からMAL
U2074に読込まれ、これらのアンパック10進数の
文字に対するゾーン・フィールド・ビットは定数ストア
(CST)2060からMALU2074に読込まれ
る。MRF2050およびCST2060からのこれら
の入力はMALU2074に加えられてアンパック10
進数フォーマットにおける最終的な演算結果の出力を生
じる。これらの最終的結果は次に出力マルチプレクサ
(OM)2024を介してJPDバス142上に送出す
ることができる。第1の浮動小数点数の操作について考
察すれば、浮動小数点オペランドの加減算に加えて、浮
動小数点オペランドの指数フィールドの値を等化するこ
とが必要である。これは事前の位置合せと呼ばれる。浮
動小数点数の演算においては、2つのオペランドの指数
フィールドはEXPALU2034に送られて、指数フ
ィールド間の差を判定するため比較される。指数フィー
ルド間の差を表わす出力はEXPALU2034から浮
動小数点制御装置(FPC)2002の入力側に与えら
れる。FPC2002は更に、2つのオペランドの仮数
フィールドを受取ったMALU2074に対して制御出
力を与える。これに従って、FPC2002の指令の下
に作用するMALU2074は、左右に1つのオペラン
ドの仮数フィールドだけ変位させてこのオペランドの指
数フィールドを他のオペランドの指数フィールドと有効
に位置合せする。次いでこのオペランドの仮数フィール
ドの加減演算が進行し得る。
0進数のフォーマットにおいて、算術演算オペランドの
結果を再びMEM112またはFU120に対して転送
するためのアンパックされた10進数フォーマットに変
換することもできる。この場合、MALU2074の出
力に現われるパックされた10進数の結果は、図20に
は示されないマルチプレクサを介してMRF2050に
書込まれるが、このマルチプレクサはパックされた10
進数の結果の4ビットの数字コード・フィールドをアン
パックされた10進数のオペランド文字の対応するビッ
トに変換して、ブランクをこれらのアンパックされた1
0進数の文字のゾーン・フィールド・ビットに強制す
る。この操作の結果は、次にMRF2050からMAL
U2074に読込まれ、これらのアンパック10進数の
文字に対するゾーン・フィールド・ビットは定数ストア
(CST)2060からMALU2074に読込まれ
る。MRF2050およびCST2060からのこれら
の入力はMALU2074に加えられてアンパック10
進数フォーマットにおける最終的な演算結果の出力を生
じる。これらの最終的結果は次に出力マルチプレクサ
(OM)2024を介してJPDバス142上に送出す
ることができる。第1の浮動小数点数の操作について考
察すれば、浮動小数点オペランドの加減算に加えて、浮
動小数点オペランドの指数フィールドの値を等化するこ
とが必要である。これは事前の位置合せと呼ばれる。浮
動小数点数の演算においては、2つのオペランドの指数
フィールドはEXPALU2034に送られて、指数フ
ィールド間の差を判定するため比較される。指数フィー
ルド間の差を表わす出力はEXPALU2034から浮
動小数点制御装置(FPC)2002の入力側に与えら
れる。FPC2002は更に、2つのオペランドの仮数
フィールドを受取ったMALU2074に対して制御出
力を与える。これに従って、FPC2002の指令の下
に作用するMALU2074は、左右に1つのオペラン
ドの仮数フィールドだけ変位させてこのオペランドの指
数フィールドを他のオペランドの指数フィールドと有効
に位置合せする。次いでこのオペランドの仮数フィール
ドの加減演算が進行し得る。
【0129】EXPALU2034はまた乗算または除
算における浮動小数点数オペランドの指数フィールドの
加減演算も実施するが、MALU2074はオペランド
の仮数フィールドの乗除算を実施する。MALU207
4による浮動小数点オペランドの仮数フィールドの乗除
算は、他のオペランドの部分積の発生に対応する1つの
オペランドの連続的な変位により実施され、またこれら
の部分積の連続的な加減演算により実施されるのであ
る。
算における浮動小数点数オペランドの指数フィールドの
加減演算も実施するが、MALU2074はオペランド
の仮数フィールドの乗除算を実施する。MALU207
4による浮動小数点オペランドの仮数フィールドの乗除
算は、他のオペランドの部分積の発生に対応する1つの
オペランドの連続的な変位により実施され、またこれら
の部分積の連続的な加減演算により実施されるのであ
る。
【0130】最後に、EU122は、最終結果の仮数フ
ィールドの最上位文字における零を除去するため最終結
果の仮数フィールドの左寄せにより、また最終結果の指
数フィールドの対応する変位によって浮動小数点オペラ
ンドの演算結果の正規化を行なう。浮動小数点演算結果
の正規化はFPC2002により制御される。FPC2
002は、MALU2074の正規化されない浮動小数
点数の演算結果出力を検査して、この結果の最上位文字
(もしあれば)のどれが零を含むかを判定する。次に、
FPC2002はこれにより、EXPALU2034と
MALU2074に対して制御出力を与え、仮数フィー
ルドから先頭文字の零を除去するようにこれらの結果の
指数および仮数フィールドを対応するよう変位させる。
浮動小数点数の演算結果の正規化された仮数および指数
フィールドは、次に、MALU2074およびEXPA
LU2034からOM2024を介してJPDバス14
2に転送することができる。
ィールドの最上位文字における零を除去するため最終結
果の仮数フィールドの左寄せにより、また最終結果の指
数フィールドの対応する変位によって浮動小数点オペラ
ンドの演算結果の正規化を行なう。浮動小数点演算結果
の正規化はFPC2002により制御される。FPC2
002は、MALU2074の正規化されない浮動小数
点数の演算結果出力を検査して、この結果の最上位文字
(もしあれば)のどれが零を含むかを判定する。次に、
FPC2002はこれにより、EXPALU2034と
MALU2074に対して制御出力を与え、仮数フィー
ルドから先頭文字の零を除去するようにこれらの結果の
指数および仮数フィールドを対応するよう変位させる。
浮動小数点数の演算結果の正規化された仮数および指数
フィールドは、次に、MALU2074およびEXPA
LU2034からOM2024を介してJPDバス14
2に転送することができる。
【0131】前述の如く、EU122もまたオペランド
について加算、減算、乗算および除算を行なう。この点
に関して、EU122は乗算および除算を有効に実施す
る際にFPC2002における先行零検出器を使用す
る。FPC2002の先行零検出器は乗算または除算さ
れるべき2つのオペランドの文字即ちビットについて最
も大きなものを検査して、どれが(もしあるならば)乗
算または除算演算を必要としないよう零を含むかを判定
する。従って、FPC2002はオペランドを左寄せし
てこれら文字即ちビットを有効に除去し、これによりオ
ペランドを乗算または除算する演算数を減少し、従って
オペランドについての演算に要する時間を短縮するので
ある。
について加算、減算、乗算および除算を行なう。この点
に関して、EU122は乗算および除算を有効に実施す
る際にFPC2002における先行零検出器を使用す
る。FPC2002の先行零検出器は乗算または除算さ
れるべき2つのオペランドの文字即ちビットについて最
も大きなものを検査して、どれが(もしあるならば)乗
算または除算演算を必要としないよう零を含むかを判定
する。従って、FPC2002はオペランドを左寄せし
てこれら文字即ちビットを有効に除去し、これによりオ
ペランドを乗算または除算する演算数を減少し、従って
オペランドについての演算に要する時間を短縮するので
ある。
【0132】最後に、EU122は、さもなければ浮動
小数点数オペランドに関する演算の実施のためのみにし
かこれまで使用されなかった回路を用いることによっ
て、10進数値に関する算術演算を実施するために関連
するハードウェアを用いる独自の方法を使用する。前述
の如く、MALU2074はパック状態の10進数値オ
ペランド、即ち4ビットの各ブロックが零と9間の数値
を表わす2進数コードを含む4ビットの連続するブロッ
クの形態のオペランドについて演算するよう構成されて
いる。浮動小数点数オペランドは同様に、4ビットの連
続するブロックの形態である。しかし、1つの浮動小数
点数オペランドにおける4ビットの各ブロックは、零と
15の間の16進数値を表わす2進数を含んでいる。パ
ック状態の10進数値オペランドによる演算における最
初のステップとして、これらのオペランドは一時に1つ
ずつMALU2074にロードされ、またかかる各オペ
ランドを用いて全ての16進数値の6からなる数がCS
T2060からMALU2074にロードされる。この
CST2060の数はパックされた各10進数値オペラ
ンドに付加されて、これらのパックされた10進数値オ
ペランドを16進数値オペランドに有効に変換するが、
この場合4ビット・ブロックは元の零から9までの範囲
におけるものではなく6から15の範囲内の数値を含ん
でいる。次に、MULT2014はこれらの変換された
オペランドについての算術演算を行ない、この際これら
のオペランドの4ビット文字のどれが算術演算における
桁送りの発生をもたらしたかに関する情報を検出してこ
れを保管する。最後のステップにおいては、これらの変
換されたオペランドに関する算術演算の完了の結果によ
る中間結果が、桁送りが発生したこれらの文字からの1
6進数値の6の控除により、パックされた10進数値フ
ォーマットに再び変換される。EU122は、有効にパ
ックされた10進数値オペランドを「6増し」オペラン
ドに変換し、これらの「6増し」オペランドについて算
術演算を行ない、これらの算術演算の「6増し」の結果
をパックされた10進数値フォーマットに再び変換する
のである。
小数点数オペランドに関する演算の実施のためのみにし
かこれまで使用されなかった回路を用いることによっ
て、10進数値に関する算術演算を実施するために関連
するハードウェアを用いる独自の方法を使用する。前述
の如く、MALU2074はパック状態の10進数値オ
ペランド、即ち4ビットの各ブロックが零と9間の数値
を表わす2進数コードを含む4ビットの連続するブロッ
クの形態のオペランドについて演算するよう構成されて
いる。浮動小数点数オペランドは同様に、4ビットの連
続するブロックの形態である。しかし、1つの浮動小数
点数オペランドにおける4ビットの各ブロックは、零と
15の間の16進数値を表わす2進数を含んでいる。パ
ック状態の10進数値オペランドによる演算における最
初のステップとして、これらのオペランドは一時に1つ
ずつMALU2074にロードされ、またかかる各オペ
ランドを用いて全ての16進数値の6からなる数がCS
T2060からMALU2074にロードされる。この
CST2060の数はパックされた各10進数値オペラ
ンドに付加されて、これらのパックされた10進数値オ
ペランドを16進数値オペランドに有効に変換するが、
この場合4ビット・ブロックは元の零から9までの範囲
におけるものではなく6から15の範囲内の数値を含ん
でいる。次に、MULT2014はこれらの変換された
オペランドについての算術演算を行ない、この際これら
のオペランドの4ビット文字のどれが算術演算における
桁送りの発生をもたらしたかに関する情報を検出してこ
れを保管する。最後のステップにおいては、これらの変
換されたオペランドに関する算術演算の完了の結果によ
る中間結果が、桁送りが発生したこれらの文字からの1
6進数値の6の控除により、パックされた10進数値フ
ォーマットに再び変換される。EU122は、有効にパ
ックされた10進数値オペランドを「6増し」オペラン
ドに変換し、これらの「6増し」オペランドについて算
術演算を行ない、これらの算術演算の「6増し」の結果
をパックされた10進数値フォーマットに再び変換する
のである。
【0133】最後に、前述の如く、FU120がEU1
22からMEM112に対する算術演算結果の転送を制
御する。この際、FU120はMEM112のアドレス
空間、即ち前記演算結果が転送されるべき「コンテナ」
のサイズを記述する論理記述子を生成する。ある算術演
算、例えば整数の演算において、算術演算結果は予期さ
れたものよりも大きくなり得、またMEM112の「コ
ンテナ」よりも多くのビットを含み得る。コンテナ・サ
イズ検査回路(CSC)2052は算術演算結果の実際
のサイズとMEM112の「コンテナ」論理記述子のL
フィールドとを比較する。CSC2052は、MEM1
12「コンテナ」が算術演算結果より小さいかどうかを
表示する出力を生成する。
22からMEM112に対する算術演算結果の転送を制
御する。この際、FU120はMEM112のアドレス
空間、即ち前記演算結果が転送されるべき「コンテナ」
のサイズを記述する論理記述子を生成する。ある算術演
算、例えば整数の演算において、算術演算結果は予期さ
れたものよりも大きくなり得、またMEM112の「コ
ンテナ」よりも多くのビットを含み得る。コンテナ・サ
イズ検査回路(CSC)2052は算術演算結果の実際
のサイズとMEM112の「コンテナ」論理記述子のL
フィールドとを比較する。CSC2052は、MEM1
12「コンテナ」が算術演算結果より小さいかどうかを
表示する出力を生成する。
【0134】上述の序説においてCS101の構造およ
び作用のいくつかの特徴について簡単に述べたが、CS
101のこれらの特徴および他の特徴についてはCS1
01の構造および作用について更に詳細な説明において
以下に更に詳細に説明する。更に、以下の説明において
は、CS101の構造および作用の前記および他の特徴
について詳細に記述する。
び作用のいくつかの特徴について簡単に述べたが、CS
101のこれらの特徴および他の特徴についてはCS1
01の構造および作用について更に詳細な説明において
以下に更に詳細に説明する。更に、以下の説明において
は、CS101の構造および作用の前記および他の特徴
について詳細に記述する。
【0135】1.序説(図101乃至図110) A.全体的な構造および作用(図101) a.全体的な構造 図101においては、コンピュータ・システム(CS)
10110の部分ブロック図が示される。CS1011
0の主要素子は、二重ポート・メモリー(MEM)10
112と、ジョブ・プロセッサ(JP)10114と、
入出力システム(IOS)10116と、診断プロセッ
サ(DP)10118である。JP10114は取出し
装置(FU)10120と実行装置(FU)10122
を含む。
10110の部分ブロック図が示される。CS1011
0の主要素子は、二重ポート・メモリー(MEM)10
112と、ジョブ・プロセッサ(JP)10114と、
入出力システム(IOS)10116と、診断プロセッ
サ(DP)10118である。JP10114は取出し
装置(FU)10120と実行装置(FU)10122
を含む。
【0136】最初に、IOS10116について述べれ
ば、IOS10116は入出力(I/O)バス1012
6を介して外部素子(ED)10124と相互に結合さ
れている。ED10124は、例えば、他のコンピュー
タ・システム、キーボード/ディスプレイ装置およびデ
ィスク駆動装置メモリーを含む。IOS10116は、
対メモリー入出力(IOM)バス10130および対入
出力メモリー(MIO)10129を介してMEM10
112のメモリー入出力(MIO)ポート10128
と、また入出力ジョブ・プロセッサ(IOJP)バス1
0132を介してFU10128と相互に結合されてい
る。
ば、IOS10116は入出力(I/O)バス1012
6を介して外部素子(ED)10124と相互に結合さ
れている。ED10124は、例えば、他のコンピュー
タ・システム、キーボード/ディスプレイ装置およびデ
ィスク駆動装置メモリーを含む。IOS10116は、
対メモリー入出力(IOM)バス10130および対入
出力メモリー(MIO)10129を介してMEM10
112のメモリー入出力(MIO)ポート10128
と、また入出力ジョブ・プロセッサ(IOJP)バス1
0132を介してFU10128と相互に結合されてい
る。
【0137】DP10118は、例えば、診断プロセッ
サ入出力(DPIO)バス10136を介して外部キー
ボード/CRTディスプレイ装置(DU)10134と
相互に結合されている。DP10118は診断プロセッ
サ(DP)バス10138を介してIOS10116
と、MEM10112と、FU10120と、EU10
122と相互に結合されている。
サ入出力(DPIO)バス10136を介して外部キー
ボード/CRTディスプレイ装置(DU)10134と
相互に結合されている。DP10118は診断プロセッ
サ(DP)バス10138を介してIOS10116
と、MEM10112と、FU10120と、EU10
122と相互に結合されている。
【0138】MEM10112の対ジョブ・プロセッサ
(MJP)メモリー・ポート10140は、ジョブ・プ
ロセッサ・データ(JPD)バス10142を介してF
U10120とEU10122と相互に結合されてい
る。MJP10140の出力は、メモリー出力データ
(MOD)バス10144を介してFU10120およ
びEU10122の入力側に結合される。FU1012
0の出力は、物理的記述子(PD)バス10146を介
してMJP10140の入力側と結合されている。FU
10120とEU10122は、取出し/実行(F/
E)バス10148を介して相互に結合されている。
(MJP)メモリー・ポート10140は、ジョブ・プ
ロセッサ・データ(JPD)バス10142を介してF
U10120とEU10122と相互に結合されてい
る。MJP10140の出力は、メモリー出力データ
(MOD)バス10144を介してFU10120およ
びEU10122の入力側に結合される。FU1012
0の出力は、物理的記述子(PD)バス10146を介
してMJP10140の入力側と結合されている。FU
10120とEU10122は、取出し/実行(F/
E)バス10148を介して相互に結合されている。
【0139】b.全体的な作用 更に、以下に説明するように、IOS10116および
MEM10112は、多重ユーザ・プログラムの実行の
際JP10114の全体的な制御の下で独立的に作用す
る。この点に関して、MEM10112は、夫々IOS
10116およびJP10114に対する別個の独立的
なポートMIO10128およびMJP10140を有
する優先順序決定インテリジェント・メモリーである。
MEM10112は、外部素子10124(IOS10
116を介して)およびJP10114間の情報の転送
のための主要経路である。このように、MEM1011
2は種々の個々のユーザ・プログラム(例えば、デー
タ、命令およびプログラムの実行結果)を受取ってこれ
を記憶するためのバッファとして、またJP10114
に対する主メモリーとして作用する。
MEM10112は、多重ユーザ・プログラムの実行の
際JP10114の全体的な制御の下で独立的に作用す
る。この点に関して、MEM10112は、夫々IOS
10116およびJP10114に対する別個の独立的
なポートMIO10128およびMJP10140を有
する優先順序決定インテリジェント・メモリーである。
MEM10112は、外部素子10124(IOS10
116を介して)およびJP10114間の情報の転送
のための主要経路である。このように、MEM1011
2は種々の個々のユーザ・プログラム(例えば、デー
タ、命令およびプログラムの実行結果)を受取ってこれ
を記憶するためのバッファとして、またJP10114
に対する主メモリーとして作用する。
【0140】IOS10116の主要機能は、CS10
110とED10124間の入出力バッファとしてであ
る。データおよび命令は、ED10124と共用できる
方法およびフォーマットによりI/Oバス10126を
介してED10124からIOS10116に対して転
送される。IOS10116はこの情報を受取って記憶
し、この情報をMEM10112への転送に適したフォ
ーマットに操作する。この時IOS10116はMEM
10112に対して、新たな情報がMEM10112へ
の転送のため使用可能であることを表示する。MEM1
0112による確認と同時に、この情報はIOMバス1
0130とMIO10128を介してMEM10112
に対して転送される。MEM10112は、この情報を
MEM10112の物理的アドレス空間の選択された部
分に記憶する。この時、IOS10116はJP101
14に対して、IOJPバス10132を介してFU1
0120に「注意」信号を与えることによって新たな情
報がMEM10112に存在することを通知する。以下
において更に説明するように、CS10110は、ME
M10112に記憶されたデータおよび命令をユーザ・
プログラムの実行において使用されたいくつかの情報構
成になるように操作する。このような構成には、以下に
更に述べるように、ユーザ・プログラムの流れと実行を
構成しかつ制御する際にCS10110によって使用さ
れるいくつかの構成が含まれる。
110とED10124間の入出力バッファとしてであ
る。データおよび命令は、ED10124と共用できる
方法およびフォーマットによりI/Oバス10126を
介してED10124からIOS10116に対して転
送される。IOS10116はこの情報を受取って記憶
し、この情報をMEM10112への転送に適したフォ
ーマットに操作する。この時IOS10116はMEM
10112に対して、新たな情報がMEM10112へ
の転送のため使用可能であることを表示する。MEM1
0112による確認と同時に、この情報はIOMバス1
0130とMIO10128を介してMEM10112
に対して転送される。MEM10112は、この情報を
MEM10112の物理的アドレス空間の選択された部
分に記憶する。この時、IOS10116はJP101
14に対して、IOJPバス10132を介してFU1
0120に「注意」信号を与えることによって新たな情
報がMEM10112に存在することを通知する。以下
において更に説明するように、CS10110は、ME
M10112に記憶されたデータおよび命令をユーザ・
プログラムの実行において使用されたいくつかの情報構
成になるように操作する。このような構成には、以下に
更に述べるように、ユーザ・プログラムの流れと実行を
構成しかつ制御する際にCS10110によって使用さ
れるいくつかの構成が含まれる。
【0141】FU10120とEU10122は、ME
M10112に記憶されたユーザ・プログラムの実行の
ためのCS10110のマイクロ機械を構成するマイク
ロコードで共に制御される「機械」を独立的に操作す
る。FU10120の主な機能の中には下記のものが含
まれる。即ち、(1)FU10120とEU10122
による使用のためにMEM10112から命令およびデ
ータを取出してこれを翻訳すること、(2)ユーザ・プ
ログラムの流れを構成し制御すること、(3)EU10
122操作の初期化、(4)データについての算術演算
および論理演算の実施、(5)FU10120およびE
U10122からMEM10112へのデータの転送の
制御、および(6)以下に述べてある「スタック」およ
び「レジスタ」機構の維持である。これもまた以下に述
べるFU10120の「カッシェ」機構はJP1011
4の作用速度を強化するために与えられる。これらのカ
ッシェ機構は、MEM10112に記憶され選定された
情報のコピーを記憶するための高速メモリーを部分的に
含む加速回路である。この加速回路に記憶される情報
は、従って、JP10114に対して更に迅速に使用可
能となる。EU10122は、整数、10進数または浮
動小数点数の算術演算の実行が可能な演算装置である。
EU1022の主な機能は、ある外部の算術演算からF
U10120を免除することであり、これによりCS1
0110の効率を強化する。
M10112に記憶されたユーザ・プログラムの実行の
ためのCS10110のマイクロ機械を構成するマイク
ロコードで共に制御される「機械」を独立的に操作す
る。FU10120の主な機能の中には下記のものが含
まれる。即ち、(1)FU10120とEU10122
による使用のためにMEM10112から命令およびデ
ータを取出してこれを翻訳すること、(2)ユーザ・プ
ログラムの流れを構成し制御すること、(3)EU10
122操作の初期化、(4)データについての算術演算
および論理演算の実施、(5)FU10120およびE
U10122からMEM10112へのデータの転送の
制御、および(6)以下に述べてある「スタック」およ
び「レジスタ」機構の維持である。これもまた以下に述
べるFU10120の「カッシェ」機構はJP1011
4の作用速度を強化するために与えられる。これらのカ
ッシェ機構は、MEM10112に記憶され選定された
情報のコピーを記憶するための高速メモリーを部分的に
含む加速回路である。この加速回路に記憶される情報
は、従って、JP10114に対して更に迅速に使用可
能となる。EU10122は、整数、10進数または浮
動小数点数の算術演算の実行が可能な演算装置である。
EU1022の主な機能は、ある外部の算術演算からF
U10120を免除することであり、これによりCS1
0110の効率を強化する。
【0142】一般に、JP10114における諸操作は
メモリー対メモリー単位で実行され、データはMEM1
0112から読出され、MEM10112に関して演算
され、その結果はMEM10112に対して戻される。
この点に関して、JP10114におけるあるスタック
およびカッシェ機構(以下に述べる)はMEM1011
2のアドレス空間の拡張部分として作用する。
メモリー対メモリー単位で実行され、データはMEM1
0112から読出され、MEM10112に関して演算
され、その結果はMEM10112に対して戻される。
この点に関して、JP10114におけるあるスタック
およびカッシェ機構(以下に述べる)はMEM1011
2のアドレス空間の拡張部分として作用する。
【0143】作用においては、FU10120は、PA
10146とMJP10140を介してMEM1011
2に対し物理的アドレスを提供することによって、ME
M10112からデータおよび命令を読出す。この命令
およびデータは、MJP10140およびMODバス1
0144を介してFU10120およびEU10122
に対して転送される。命令は図101には示さないが以
下において説明するFU10120のマイクロコード回
路によって翻訳され、必要に応じて、マイクロコード命
令はF/Eバス10148またはJPD1042を介し
てFU10120のマイクロコード制御装置からEU1
0122に対して与えられる。
10146とMJP10140を介してMEM1011
2に対し物理的アドレスを提供することによって、ME
M10112からデータおよび命令を読出す。この命令
およびデータは、MJP10140およびMODバス1
0144を介してFU10120およびEU10122
に対して転送される。命令は図101には示さないが以
下において説明するFU10120のマイクロコード回
路によって翻訳され、必要に応じて、マイクロコード命
令はF/Eバス10148またはJPD1042を介し
てFU10120のマイクロコード制御装置からEU1
0122に対して与えられる。
【0144】前述の如く、FU10120およびEU1
0122は、相互の機能に関して非同期的に作用する。
FU10120のマイクロコード回路からEU1012
2に対するマイクロ命令は、EU10122の選択され
た操作を開始することができる。この時、EU1012
2は選択された操作を独立的に実行するように進行する
ことができる。FU10020は多くの操作を同時に実
行するように進行できるが、EU10122は選択され
た算術演算を完了しつつある。この選択された算術演算
の完了時に、EU10122はFU10120に対し
て、演算結果がF/Eバス10148を介して「初期接
続手続」信号により使用可能であることを信号する。F
U10120は次に更に別の処理のための算術演算結果
を受取り、あるいは今述べたように、MEM10112
に対して算術演算結果を直接転送することができる。以
下に更に述べるように、FU10120とEU1012
2間の「キュー」と呼ばれる命令バッファは、EU10
122により実施されるべき一連の算術演算を割当てる
ことをFU10120に許容する。
0122は、相互の機能に関して非同期的に作用する。
FU10120のマイクロコード回路からEU1012
2に対するマイクロ命令は、EU10122の選択され
た操作を開始することができる。この時、EU1012
2は選択された操作を独立的に実行するように進行する
ことができる。FU10020は多くの操作を同時に実
行するように進行できるが、EU10122は選択され
た算術演算を完了しつつある。この選択された算術演算
の完了時に、EU10122はFU10120に対し
て、演算結果がF/Eバス10148を介して「初期接
続手続」信号により使用可能であることを信号する。F
U10120は次に更に別の処理のための算術演算結果
を受取り、あるいは今述べたように、MEM10112
に対して算術演算結果を直接転送することができる。以
下に更に述べるように、FU10120とEU1012
2間の「キュー」と呼ばれる命令バッファは、EU10
122により実施されるべき一連の算術演算を割当てる
ことをFU10120に許容する。
【0145】命令の実行の結果の如き情報は、JPDバ
ス10142によりFU10120またはEU1012
2からMEM10112に書込まれる。FU10120
は、PDバス10146およびMJPポート10140
によってMEM10112に対して「物理的な書込みア
ドレス」信号を与える。同時に、MEM10112に対
して書込まれるべき情報はJPDバス10142に置か
れ、その後物理的書込みアドレスにより選定される場所
においてMEM10112に書込まれる。
ス10142によりFU10120またはEU1012
2からMEM10112に書込まれる。FU10120
は、PDバス10146およびMJPポート10140
によってMEM10112に対して「物理的な書込みア
ドレス」信号を与える。同時に、MEM10112に対
して書込まれるべき情報はJPDバス10142に置か
れ、その後物理的書込みアドレスにより選定される場所
においてMEM10112に書込まれる。
【0146】FU10120はIOJPバス10132
に注意信号を送って、ユーザ・プログラムの実行結果の
如き情報がCS10110から読出されることが可能で
ある旨IOS10116に対して信号する。IOS10
116はこの時、MIOポート10128およびIOM
バス10130により、MEM10112からIOS1
0116に対してこの情報を転送することができる。I
OS10116に記憶された情報はこの時I/Oバス1
0126を介してED10124に対して転送される。
に注意信号を送って、ユーザ・プログラムの実行結果の
如き情報がCS10110から読出されることが可能で
ある旨IOS10116に対して信号する。IOS10
116はこの時、MIOポート10128およびIOM
バス10130により、MEM10112からIOS1
0116に対してこの情報を転送することができる。I
OS10116に記憶された情報はこの時I/Oバス1
0126を介してED10124に対して転送される。
【0147】あるユーザ・プログラムの実行中、IOS
10116により要求されるある情報はMEM1011
2においては使用できない。このような場合、更に以下
の論議において述べるように、IOJPバス10132
により、JP10114は情報要求をMEM10112
に対して書込んで、かかる要求が行なわれた旨IOS1
0116に通知することができる。IOS10116は
この時、以上述べた方法でIOS10116を介して前
記要求を読出して所要の情報をED10124からME
M10112に転送する。このような操作においては、
JP10114によりアドレス指定可能な記憶空間が仮
想記憶空間と呼ばれるメモリーの管理プログラムとして
IOS10116およびJP10114が一緒に作用
し、MEM10112の記憶空間およびIOS1011
6がアクセスする全ての外部素子の双方を含む。
10116により要求されるある情報はMEM1011
2においては使用できない。このような場合、更に以下
の論議において述べるように、IOJPバス10132
により、JP10114は情報要求をMEM10112
に対して書込んで、かかる要求が行なわれた旨IOS1
0116に通知することができる。IOS10116は
この時、以上述べた方法でIOS10116を介して前
記要求を読出して所要の情報をED10124からME
M10112に転送する。このような操作においては、
JP10114によりアドレス指定可能な記憶空間が仮
想記憶空間と呼ばれるメモリーの管理プログラムとして
IOS10116およびJP10114が一緒に作用
し、MEM10112の記憶空間およびIOS1011
6がアクセスする全ての外部素子の双方を含む。
【0148】前述の如く、DP10118、DPIOバ
ス10136によりコンピュータ・システム10110
と外部との間に第2のインターフェースを提供する。D
P10118,DU10134例えばCRTおよびキー
ボード装置またはテレタイプがハードウェア(即ちスイ
ッチおよび表示灯)の制御盤により従来通り与えられる
全ての機能を実施することを可能にする。例えば、DP
10118、DU10134がシステムの初期化および
始動、診断プロセスの実行および障害条件の監視および
識別の如きオブジェクトのためコンピュータ・システム
10110の制御を行なうことを可能にする。DP10
118はDPバス10138を介してIOS1011
6、MEM10112、FU10120およびEU10
122の各々におけるほとんどのメモリーおよびレジス
タ部分に対する読出しおよび書込みアクセスを備える。
従って、CS10110におけるメモリーおよびレジス
タは、システムの始動の間直接にロードまたは初期化を
行なうことができまた障害の監視および識別のためのテ
ストおよび診断信号により直接の読出しまたはロードが
可能である。更に、以下に更に述べるように、システム
の始動時または必要に応じて、マイクロ命令をJP10
114のマイクロコード回路にロードすることができ
る。
ス10136によりコンピュータ・システム10110
と外部との間に第2のインターフェースを提供する。D
P10118,DU10134例えばCRTおよびキー
ボード装置またはテレタイプがハードウェア(即ちスイ
ッチおよび表示灯)の制御盤により従来通り与えられる
全ての機能を実施することを可能にする。例えば、DP
10118、DU10134がシステムの初期化および
始動、診断プロセスの実行および障害条件の監視および
識別の如きオブジェクトのためコンピュータ・システム
10110の制御を行なうことを可能にする。DP10
118はDPバス10138を介してIOS1011
6、MEM10112、FU10120およびEU10
122の各々におけるほとんどのメモリーおよびレジス
タ部分に対する読出しおよび書込みアクセスを備える。
従って、CS10110におけるメモリーおよびレジス
タは、システムの始動の間直接にロードまたは初期化を
行なうことができまた障害の監視および識別のためのテ
ストおよび診断信号により直接の読出しまたはロードが
可能である。更に、以下に更に述べるように、システム
の始動時または必要に応じて、マイクロ命令をJP10
114のマイクロコード回路にロードすることができ
る。
【0149】コンピュータ・システム10110の全体
的な構造ならびに作用について述べたが、このシステム
のこれらの特徴および他の特徴の以下の更に詳細な説明
の理解を助けるため、CS10110のいくつかの特徴
について次に簡単に説明する。
的な構造ならびに作用について述べたが、このシステム
のこれらの特徴および他の特徴の以下の更に詳細な説明
の理解を助けるため、CS10110のいくつかの特徴
について次に簡単に説明する。
【0150】c.用語の定義 以下の論述においては、CS10110の構造および作
用に関していくつかの用語が使用される。以下の記述の
理解の一助としてこれらの用語のあるものについて最初
に説明し定義することにする。他の用語については必要
に応じて以下の説明の中で紹介する。
用に関していくつかの用語が使用される。以下の記述の
理解の一助としてこれらの用語のあるものについて最初
に説明し定義することにする。他の用語については必要
に応じて以下の説明の中で紹介する。
【0151】手順とは、ある操作の実施のため実行され
るべき一連の操作ステップ即ち命令である。1つの手順
は、操作の実施においてこれについて作用されるべきデ
ータを含む。
るべき一連の操作ステップ即ち命令である。1つの手順
は、操作の実施においてこれについて作用されるべきデ
ータを含む。
【0152】プログラムとは、1つ以上の手順の静的な
グループである。一般に、プログラムはユーザ・プログ
ラム、ユーティリティ・プログラムおよびオペレーティ
ング・システム・プログラムとして分類することができ
る。ユーザ・プログラムは、CS10110とインター
フェースする一群のユーザの内ある特定のユーザにより
生成されかつこれに特有の一群の手順である。ユーティ
リティ・プログラムは、全てのユーザにとって共通に使
用可能であり、例えば、1つのコンパイラは、あるユー
ザの言語のプログラムを1つのS言語プログラムにコン
パイルするための1組の手順からなる。オペレーティン
グ・システム・プログラムはCS10110の資源の割
当ておよび制御のためCS10110に関して内部の一
群の手順である。オペレーティング・システム・プログ
ラムはまたCS10110内の各インターフェースを規
定する。例えば、以下において更に論述するように、あ
るプログラムにおける全てのオペランドは「名前」で呼
ばれる。あるオペレーティング・システム・プログラム
は、オペランド名をMEM10112における各オペラ
ンドの物理的場所に翻訳する。この名前の翻訳プログラ
ムは、このように、オペランドの名前(名前の空間アド
レス)とMEM10112の物理的アドレスとの間のイ
ンターフェースを規定する。
グループである。一般に、プログラムはユーザ・プログ
ラム、ユーティリティ・プログラムおよびオペレーティ
ング・システム・プログラムとして分類することができ
る。ユーザ・プログラムは、CS10110とインター
フェースする一群のユーザの内ある特定のユーザにより
生成されかつこれに特有の一群の手順である。ユーティ
リティ・プログラムは、全てのユーザにとって共通に使
用可能であり、例えば、1つのコンパイラは、あるユー
ザの言語のプログラムを1つのS言語プログラムにコン
パイルするための1組の手順からなる。オペレーティン
グ・システム・プログラムはCS10110の資源の割
当ておよび制御のためCS10110に関して内部の一
群の手順である。オペレーティング・システム・プログ
ラムはまたCS10110内の各インターフェースを規
定する。例えば、以下において更に論述するように、あ
るプログラムにおける全てのオペランドは「名前」で呼
ばれる。あるオペレーティング・システム・プログラム
は、オペランド名をMEM10112における各オペラ
ンドの物理的場所に翻訳する。この名前の翻訳プログラ
ムは、このように、オペランドの名前(名前の空間アド
レス)とMEM10112の物理的アドレスとの間のイ
ンターフェースを規定する。
【0153】プロセスとは、物理的、論理的または仮想
アドレス空間を通る独立的な制御の軌跡であり、特に一
連のプログラム(即ち、手順)を介する実行経路であ
る。1つのプロセスは一般に、1つのユーザ・プログラ
ムおよびデータ、1つ以上のユーティリティ・プログラ
ム、およびユーザ・プログラムの実行に必要なオペレー
ティング・システム・プログラムを含む。
アドレス空間を通る独立的な制御の軌跡であり、特に一
連のプログラム(即ち、手順)を介する実行経路であ
る。1つのプロセスは一般に、1つのユーザ・プログラ
ムおよびデータ、1つ以上のユーティリティ・プログラ
ム、およびユーザ・プログラムの実行に必要なオペレー
ティング・システム・プログラムを含む。
【0154】オブジェクトとは、CS10110に対し
てアクセス可能な「データ空間」の一義的に識別可能な
一部分である。1つのオブジェクトは、ある情報に対す
るコンテナと見做され、データ情報、または手順情報、
またはその両方を含み得る。1つのオブジェクトは、例
えば、あるプログラム全体、または1組の手順、または
データの1ビットを含み得る。オブジェクトはCS10
110にアクセス可能なデータ空間に連続的に配される
必要はなく、またあるオブジェクトに含まれる情報はこ
のオブジェクトにおいて連続的に配される必要もない。
てアクセス可能な「データ空間」の一義的に識別可能な
一部分である。1つのオブジェクトは、ある情報に対す
るコンテナと見做され、データ情報、または手順情報、
またはその両方を含み得る。1つのオブジェクトは、例
えば、あるプログラム全体、または1組の手順、または
データの1ビットを含み得る。オブジェクトはCS10
110にアクセス可能なデータ空間に連続的に配される
必要はなく、またあるオブジェクトに含まれる情報はこ
のオブジェクトにおいて連続的に配される必要もない。
【0155】定義域とは、CS10110の機密保護機
構のためのCS10110の作用状態である。各定義域
は、1組の手順の実行のためこの定義域内の各オブジェ
クトにアクセスするこれら手順によって定義される。各
オブジェクトは、もしこれがある手順オブジェクトであ
る場合に実行され、あるいはもしこれがあるデータオブ
ジェクトである場合に使用される1つの実行領域を有す
る。CS10110は、もしこれが前記の実行域を有す
るある手順を実行中であれば、ある特定の定義域におい
て操作されるものと言われる。各オブジェクトは1つ以
上の定義域に帰属することができ、1つのオブジェクト
はもしこの定義域において実行中のある手順がこのオブ
ジェクトに対する潜在的なアクセスを有するならば、こ
の定義域に帰属する。例えば、CS10110は4つの
定義域を有する。即ち、ユーザ領域、データベース管理
システム(DBMS)領域、拡張されたオペレーティン
グ・システム(EOS)領域、および核心オペレーティ
ング・システム(KOS)領域である。ユーザ領域は、
ユーザまたはユーティリティの手順の如き全てのユーザ
が提供した手順の実行の領域である。DBMS領域は、
データを記憶し、検索しかつこれを取扱うためのオペレ
ーティング・システム手順に対する実行領域である。E
OS領域はCS10110とのユーザ・レベルのインタ
ーフェースを規定しかつこれを形成するオペレーティン
グ・システム手順、例えば実行ファイル、プロセスおよ
びI/O操作の制御のための手順の実行領域である。K
OS領域は、CS10110の物理的資源を管理し制御
する低レベルの保護オペレーティング・システムの実行
領域である。CS10110の他の実施態様は、これら
の今述べた許りのもの以下または以上の領域を有する。
例えば、DBMS手順は、EOS領域に内蔵することが
でき、またはEOS領域はI/O手順をI/O領域に内
蔵することにより分割することができる。CS1011
0の各領域の数およびその間の境界数については何等ハ
ードウェアが強制する制限はない。しかし、あるCS1
0110のハードウェアの機能および構造は領域に依存
している。
構のためのCS10110の作用状態である。各定義域
は、1組の手順の実行のためこの定義域内の各オブジェ
クトにアクセスするこれら手順によって定義される。各
オブジェクトは、もしこれがある手順オブジェクトであ
る場合に実行され、あるいはもしこれがあるデータオブ
ジェクトである場合に使用される1つの実行領域を有す
る。CS10110は、もしこれが前記の実行域を有す
るある手順を実行中であれば、ある特定の定義域におい
て操作されるものと言われる。各オブジェクトは1つ以
上の定義域に帰属することができ、1つのオブジェクト
はもしこの定義域において実行中のある手順がこのオブ
ジェクトに対する潜在的なアクセスを有するならば、こ
の定義域に帰属する。例えば、CS10110は4つの
定義域を有する。即ち、ユーザ領域、データベース管理
システム(DBMS)領域、拡張されたオペレーティン
グ・システム(EOS)領域、および核心オペレーティ
ング・システム(KOS)領域である。ユーザ領域は、
ユーザまたはユーティリティの手順の如き全てのユーザ
が提供した手順の実行の領域である。DBMS領域は、
データを記憶し、検索しかつこれを取扱うためのオペレ
ーティング・システム手順に対する実行領域である。E
OS領域はCS10110とのユーザ・レベルのインタ
ーフェースを規定しかつこれを形成するオペレーティン
グ・システム手順、例えば実行ファイル、プロセスおよ
びI/O操作の制御のための手順の実行領域である。K
OS領域は、CS10110の物理的資源を管理し制御
する低レベルの保護オペレーティング・システムの実行
領域である。CS10110の他の実施態様は、これら
の今述べた許りのもの以下または以上の領域を有する。
例えば、DBMS手順は、EOS領域に内蔵することが
でき、またはEOS領域はI/O手順をI/O領域に内
蔵することにより分割することができる。CS1011
0の各領域の数およびその間の境界数については何等ハ
ードウェアが強制する制限はない。しかし、あるCS1
0110のハードウェアの機能および構造は領域に依存
している。
【0156】主題とは、CS10110の機密保護機構
の諸オブジェクトのために、その時の主体(ユーザ)、
その時実行中のプロセスおよびこのプロセスがその時実
行中である定義域の組合せとして定義される。UIDに
より識別される主体、プロセスおよび定義域に加えて、
主題はこれ以上の保護が要求される場合に使用されるユ
ーザが割当てる識別コードであるタッグを含むことがで
きる。あるプロセスにおいては、主体とプロセスは一定
であるが、定義域はその時実行中の手順によって決定さ
れる。従ってプロセスの関連する主題はオブジェクトの
実行経路に沿って変更可能である。
の諸オブジェクトのために、その時の主体(ユーザ)、
その時実行中のプロセスおよびこのプロセスがその時実
行中である定義域の組合せとして定義される。UIDに
より識別される主体、プロセスおよび定義域に加えて、
主題はこれ以上の保護が要求される場合に使用されるユ
ーザが割当てる識別コードであるタッグを含むことがで
きる。あるプロセスにおいては、主体とプロセスは一定
であるが、定義域はその時実行中の手順によって決定さ
れる。従ってプロセスの関連する主題はオブジェクトの
実行経路に沿って変更可能である。
【0157】以上の用語について説明し定義したが、C
S10110のいくつかの特徴については次に簡単に説
明する。
S10110のいくつかの特徴については次に簡単に説
明する。
【0158】d.多重プログラム操作 CS10110は、2つ以上のプログラムを同時に実行
することができ、またCS10110の資源を最も有効
に使用するためプログラムの実行シーケンスを選択する
ことができる。これは多重プログラミングと呼ばれる。
この点に関して、CS10110は一時的に、例えば1
つのプログラムに要求されるある資源即ちある情報が即
時使用不可能である時にこのプログラムの実行を中止
し、所要の資源即ち情報が使用可能になるまで別のプロ
グラムの実行を進める。例えば、第1のプログラムによ
り要求される特定の情報は、呼出される時にはMEM1
0112においては使用可能ではない。JP10114
は、更に以下に述べるように、第1のプログラムの実行
を中止し、この情報をIOS10116に対して転送
し、第2のプログラムを呼出して実行することができ
る。IOS10116はED10124から所要の情報
を取出してこれをMEM10112に転送することにな
る。ある時には、IOS10116がJP10114に
対し、要求された情報がMEM10112において使用
可能である旨通知した後、JP10114は第2のプロ
グラムの実行を中止し、第1のプログラムの実行を再開
することもできる。
することができ、またCS10110の資源を最も有効
に使用するためプログラムの実行シーケンスを選択する
ことができる。これは多重プログラミングと呼ばれる。
この点に関して、CS10110は一時的に、例えば1
つのプログラムに要求されるある資源即ちある情報が即
時使用不可能である時にこのプログラムの実行を中止
し、所要の資源即ち情報が使用可能になるまで別のプロ
グラムの実行を進める。例えば、第1のプログラムによ
り要求される特定の情報は、呼出される時にはMEM1
0112においては使用可能ではない。JP10114
は、更に以下に述べるように、第1のプログラムの実行
を中止し、この情報をIOS10116に対して転送
し、第2のプログラムを呼出して実行することができ
る。IOS10116はED10124から所要の情報
を取出してこれをMEM10112に転送することにな
る。ある時には、IOS10116がJP10114に
対し、要求された情報がMEM10112において使用
可能である旨通知した後、JP10114は第2のプロ
グラムの実行を中止し、第1のプログラムの実行を再開
することもできる。
【0159】e.多重言語操作 前述の如く、CS10110は多重言語機械である。C
OBOLまたはFORTRANの如き高水準のユーザ言
語で書かれた各プログラムは、対応するソフト(S)言
語プログラムにコンパイルされる。即ち従来のコンピュ
ータ・システムに関しては、各ユーザ・レベル言語は、
アセンブル言語として古くから定義される対応する機械
語を有する。古典的なアセンブル言語とは対照的に、S
言語は、ユーザの高水準な言語における各指令が一般に
2つまたは3つのSINと呼ばれるS言語命令により置
換される。あるSINは2つ以上の高水準のユーザ言語
によって共有することができる。以下の論議において更
に記述するように、CS10110は各S言語に対する
1組の、即ちダイアレクトのマイクロコード命令(Sイ
ンタプリタ)を提供する。SインタプリタはSINを翻
訳して、CS10110の詳細な制御に対する対応する
一連のマイクロ命令を提供する。CS10110の命令
の設定組および操作は、従って、ユーザ・プログラムを
最も有効に実行するように特定のユーザ言語の如何に拘
わらず、各ユーザ・プログラムに対して誂らえることが
できる。コンピュータ・システム10110は例えば、
同等の効率でFORTRANおよびCOBOLの双方に
おいてプログラムの実行が可能である。更に、一人のユ
ーザは、効率を犠牲にすることなく、1つ以上の高水準
のユーザ言語において1つのプログラムを書くことがで
きる。例えば、あるユーザはCOBOLにより自分のプ
ログラムの一部を書き、ある部分をFORTRANで書
くことを欲するかも知れない。このような場合、COB
OLの部分はCOBOLのSINにコンパイルされて、
COBOLのダイアレクトのSインタプリタを用いて実
行されることになろう。FORTRANの部分はFOR
TRANのSINにコンパイルされてFORTRANダ
イアレクトのSインタプリタにより実行されることにな
ろう。CS10110の本実施例は全てのSINに対し
て1つの一定のフォーマットを使用する。この特徴によ
り、各ダイアレクトを個々に翻訳するための手段を設け
ることは不必要であるため、更に簡単なSインタプリタ
構造が可能となりまたSINの翻訳動作の効率を増進す
る。
OBOLまたはFORTRANの如き高水準のユーザ言
語で書かれた各プログラムは、対応するソフト(S)言
語プログラムにコンパイルされる。即ち従来のコンピュ
ータ・システムに関しては、各ユーザ・レベル言語は、
アセンブル言語として古くから定義される対応する機械
語を有する。古典的なアセンブル言語とは対照的に、S
言語は、ユーザの高水準な言語における各指令が一般に
2つまたは3つのSINと呼ばれるS言語命令により置
換される。あるSINは2つ以上の高水準のユーザ言語
によって共有することができる。以下の論議において更
に記述するように、CS10110は各S言語に対する
1組の、即ちダイアレクトのマイクロコード命令(Sイ
ンタプリタ)を提供する。SインタプリタはSINを翻
訳して、CS10110の詳細な制御に対する対応する
一連のマイクロ命令を提供する。CS10110の命令
の設定組および操作は、従って、ユーザ・プログラムを
最も有効に実行するように特定のユーザ言語の如何に拘
わらず、各ユーザ・プログラムに対して誂らえることが
できる。コンピュータ・システム10110は例えば、
同等の効率でFORTRANおよびCOBOLの双方に
おいてプログラムの実行が可能である。更に、一人のユ
ーザは、効率を犠牲にすることなく、1つ以上の高水準
のユーザ言語において1つのプログラムを書くことがで
きる。例えば、あるユーザはCOBOLにより自分のプ
ログラムの一部を書き、ある部分をFORTRANで書
くことを欲するかも知れない。このような場合、COB
OLの部分はCOBOLのSINにコンパイルされて、
COBOLのダイアレクトのSインタプリタを用いて実
行されることになろう。FORTRANの部分はFOR
TRANのSINにコンパイルされてFORTRANダ
イアレクトのSインタプリタにより実行されることにな
ろう。CS10110の本実施例は全てのSINに対し
て1つの一定のフォーマットを使用する。この特徴によ
り、各ダイアレクトを個々に翻訳するための手段を設け
ることは不必要であるため、更に簡単なSインタプリタ
構造が可能となりまたSINの翻訳動作の効率を増進す
る。
【0160】f.アドレス指定構造 CS10110における使用のため、あるいはその操作
により形成される各オブジェクトは恒久的にある1つの
識別子(UID)が割当てられる。あるオブジェクトの
UIDにより、これによりあるいはそのためこれが生成
された特定のCS10110の如何に拘わらずあるいは
これが後で見出される場所の如何に拘わらず、このオブ
ジェクトが如何なる時も識別され位置決めされることを
可能にする。このように、ある新たなオブジェクトが規
定される毎に、個々に割当てられる社会保証番号の数の
如何に拘わらず新たな1つのUIDが割当てられる。あ
るオブジェクトに含まれる情報のある特定の部分は、こ
のオブジェクトのUID、このセグメントの最初のビッ
トのオブジェクトの開始からのオフセットおよび情報セ
グメントの長さ(ビットの数)からなる局所アドレスに
よって見出すことができる。従って、あるオブジェクト
内のデータは、あるビットの細分性に基いてアドレス指
定することができる。以下の論議において更に記述され
るように、UIDは論理アドレス、例えばポインタとし
てCS10110内で使用される。論理的には、CS1
0110における全てのアドレスおよびポインタがUI
Dアドレスおよびポインタである。しかし、前述の如
く、また以下に述べるように、JP10114内におい
てのみ有効であり活動状態のオブジェクト数と呼ばれる
短い一時的な独自の識別子がJP10114内で使用さ
れて、アドレス・バスの幅および取扱われたアドレス情
報の量を低減する。
により形成される各オブジェクトは恒久的にある1つの
識別子(UID)が割当てられる。あるオブジェクトの
UIDにより、これによりあるいはそのためこれが生成
された特定のCS10110の如何に拘わらずあるいは
これが後で見出される場所の如何に拘わらず、このオブ
ジェクトが如何なる時も識別され位置決めされることを
可能にする。このように、ある新たなオブジェクトが規
定される毎に、個々に割当てられる社会保証番号の数の
如何に拘わらず新たな1つのUIDが割当てられる。あ
るオブジェクトに含まれる情報のある特定の部分は、こ
のオブジェクトのUID、このセグメントの最初のビッ
トのオブジェクトの開始からのオフセットおよび情報セ
グメントの長さ(ビットの数)からなる局所アドレスに
よって見出すことができる。従って、あるオブジェクト
内のデータは、あるビットの細分性に基いてアドレス指
定することができる。以下の論議において更に記述され
るように、UIDは論理アドレス、例えばポインタとし
てCS10110内で使用される。論理的には、CS1
0110における全てのアドレスおよびポインタがUI
Dアドレスおよびポインタである。しかし、前述の如
く、また以下に述べるように、JP10114内におい
てのみ有効であり活動状態のオブジェクト数と呼ばれる
短い一時的な独自の識別子がJP10114内で使用さ
れて、アドレス・バスの幅および取扱われたアドレス情
報の量を低減する。
【0161】あるオブジェクトが1つのプロセスの実行
の際使用するために補助ストアCED10124からM
EM10112に対して転送される時、このオブジェク
トはCS10110において活動状態となる時、このよ
うな各オブジェクトは1つの活動状態のオブジェクト数
(AON)が与えられる。AONは短い特有の識別子で
あり、以下に述べるCS10110のある情報構造を介
してオブジェクトのUIDと関連させられる。AON
は、JP10114のアドレス・バスの所要幅およびJ
P10114において取扱われるアドレス・データの量
を減少させるためUIDの代りにJP10114内での
み使用され、またJP10114において使用される。
UIDの論理アドレスにおけるように、あるオブジェク
トにおけるデータの一部は、このオブジェクトのAO
N、このオブジェクトにおけるデータの部分の第1のビ
ットのオブジェクトの開始からのオフセットおよび前記
部分の長さからなるあるビットの細分性のAON論理ア
ドレスを介してアドレス指定することができる。
の際使用するために補助ストアCED10124からM
EM10112に対して転送される時、このオブジェク
トはCS10110において活動状態となる時、このよ
うな各オブジェクトは1つの活動状態のオブジェクト数
(AON)が与えられる。AONは短い特有の識別子で
あり、以下に述べるCS10110のある情報構造を介
してオブジェクトのUIDと関連させられる。AON
は、JP10114のアドレス・バスの所要幅およびJ
P10114において取扱われるアドレス・データの量
を減少させるためUIDの代りにJP10114内での
み使用され、またJP10114において使用される。
UIDの論理アドレスにおけるように、あるオブジェク
トにおけるデータの一部は、このオブジェクトのAO
N、このオブジェクトにおけるデータの部分の第1のビ
ットのオブジェクトの開始からのオフセットおよび前記
部分の長さからなるあるビットの細分性のAON論理ア
ドレスを介してアドレス指定することができる。
【0162】あるプロセスの実行中のMEM10112
(UIDA)とJP10114(AON)間の論理アド
レス、例えばポインタの転送は、UIDとAON間の変
換を必要とする。以下の論議において述べるように、こ
の変換は、部分的に前述の情報構造によって達成され
る。同様に、MEM10112に記憶された情報を物理
的にアクセスするため、MEM10112における論理
アドレスから物理的アドレスへの変換は、AONの論理
アドレスをMEM10112の物理的アドレスと関連さ
せるCS10110の情報構造によって達成される。
(UIDA)とJP10114(AON)間の論理アド
レス、例えばポインタの転送は、UIDとAON間の変
換を必要とする。以下の論議において述べるように、こ
の変換は、部分的に前述の情報構造によって達成され
る。同様に、MEM10112に記憶された情報を物理
的にアクセスするため、MEM10112における論理
アドレスから物理的アドレスへの変換は、AONの論理
アドレスをMEM10112の物理的アドレスと関連さ
せるCS10110の情報構造によって達成される。
【0163】あるプログラムに現われる各オペランド
は、このプログラムがコンパイルされる時1つの名前を
割当てられる。その後のこれらのオペランドに対する全
ての照合はそれらの割当てられた名前による。以下の論
議において詳細に述べるように、CS10110のアド
レス指定構造は、ある命令ストリームおよび名前をAO
N論理アドレスに解明するための指令を含む名前テーブ
ルに現われる時、名前を識別するための機構を含んでい
る。この時実際のオペランドを得るためにAON論理ア
ドレスを評価することができ、例えば、MEM1011
2の物理的アドレスに変換することができる。命令スト
リーム(プロセス)におけるオペランドを識別するため
の名前の使用は、(1)一定のフォーマットの簡単な照
合により複雑なアドレスの置換を可能にし、(2)命令
ストリームにおけるデータ形式によりある操作が直接規
定されることを要求せず、(3)あるオペランドに対す
る反復照合が単にオペランドの名前を反復することによ
って1つの命令ストリームにおいて実施することがで
き、(4)アドレス変換に対する部分的に完成した名前
をあるカッシェ装置に記憶させてオペランドの照合の迅
速化を可能にするものである。これによって名前の使用
は、オペランドの照合のために命令ストリームにおいて
必要とされる情報の量を実質的に減少しまた並列に作動
する下位の機構によりオペランドの照合を実施すること
によって有効にCS10110の速度を向上させる。
は、このプログラムがコンパイルされる時1つの名前を
割当てられる。その後のこれらのオペランドに対する全
ての照合はそれらの割当てられた名前による。以下の論
議において詳細に述べるように、CS10110のアド
レス指定構造は、ある命令ストリームおよび名前をAO
N論理アドレスに解明するための指令を含む名前テーブ
ルに現われる時、名前を識別するための機構を含んでい
る。この時実際のオペランドを得るためにAON論理ア
ドレスを評価することができ、例えば、MEM1011
2の物理的アドレスに変換することができる。命令スト
リーム(プロセス)におけるオペランドを識別するため
の名前の使用は、(1)一定のフォーマットの簡単な照
合により複雑なアドレスの置換を可能にし、(2)命令
ストリームにおけるデータ形式によりある操作が直接規
定されることを要求せず、(3)あるオペランドに対す
る反復照合が単にオペランドの名前を反復することによ
って1つの命令ストリームにおいて実施することがで
き、(4)アドレス変換に対する部分的に完成した名前
をあるカッシェ装置に記憶させてオペランドの照合の迅
速化を可能にするものである。これによって名前の使用
は、オペランドの照合のために命令ストリームにおいて
必要とされる情報の量を実質的に減少しまた並列に作動
する下位の機構によりオペランドの照合を実施すること
によって有効にCS10110の速度を向上させる。
【0164】最後に、CS10110のアドレス構造
は、各プロセスに対する1組のアーキテクチャ基底ポイ
ンタ(ABP)を内蔵する。ABPは、1つのプロセス
に帰属するデータおよび手順情報を見出すための1つの
アドレス指定フレームワークを提供し、また例えば、名
前をAON論理アドレスに変える際に使用される。
は、各プロセスに対する1組のアーキテクチャ基底ポイ
ンタ(ABP)を内蔵する。ABPは、1つのプロセス
に帰属するデータおよび手順情報を見出すための1つの
アドレス指定フレームワークを提供し、また例えば、名
前をAON論理アドレスに変える際に使用される。
【0165】g.機密保護機構 CS10110の機密保護機構は、ユーザが(1)デー
タを含む別のユーザのプロセスにアクセスすることまた
は破壊すること、および(2)CS10110の動作を
妨害するかさもなければ破壊することを防止するように
構成されている。各々の特定の活動状態のオブジェクト
に対するアクセス権は、その時活動状態の1つの機能と
して動的に許与される。主題は、その時の主体(ユー
ザ)、実行中のその時のプロセスおよびプロセスがその
時実行されつつある定義の組合せによって規定される。
主体、プロセスおよび領域の他、主題は機密保護の付加
を必要とする場合に使用されるユーザ割当て識別コード
であるタッグを含む。あるプロセスにおいては、主体と
プロセスは一定であるが、定義はその時実行中の手順に
よって決定される。従って、プロセスの関連する主題
は、プロセスの実行経路に沿って変更可能である。
タを含む別のユーザのプロセスにアクセスすることまた
は破壊すること、および(2)CS10110の動作を
妨害するかさもなければ破壊することを防止するように
構成されている。各々の特定の活動状態のオブジェクト
に対するアクセス権は、その時活動状態の1つの機能と
して動的に許与される。主題は、その時の主体(ユー
ザ)、実行中のその時のプロセスおよびプロセスがその
時実行されつつある定義の組合せによって規定される。
主体、プロセスおよび領域の他、主題は機密保護の付加
を必要とする場合に使用されるユーザ割当て識別コード
であるタッグを含む。あるプロセスにおいては、主体と
プロセスは一定であるが、定義はその時実行中の手順に
よって決定される。従って、プロセスの関連する主題
は、プロセスの実行経路に沿って変更可能である。
【0166】CS10110の本実施例においては、実
行のKO制御領域を有する手順がKOS、EOS、DB
MSおよびユーザ領域におけるオブジェクトに対するア
クセスを行ない、EOS実行領域を有する手順はEO
S、EBMSおよびユーザ領域におけるオブジェクトに
対するアクセスを行ない、DBMS実行領域を有する手
順がDBMSおよびユーザ領域におけるオブジェクトに
対するアクセスを行ない、ユーザ実行領域を有する手順
はユーザ領域におけるオブジェクトに対してのみアクセ
スする。従って、ユーザはKOS実行領域におけるオブ
ジェクトに対するアクセスを行ない得ず、またCS10
110の低レベルの機密保護オペレーティング・システ
ムには影響を及ぼし得ない。しかし、ユーザ・プログラ
ムは、KOS実行領域を有する手順の実行の呼出しを行
なうことができる。この時、プロセスの主題はKOS領
域にあり、手順はKOS領域におけるいくつかのオブジ
ェクトに対してアクセスすることになる。
行のKO制御領域を有する手順がKOS、EOS、DB
MSおよびユーザ領域におけるオブジェクトに対するア
クセスを行ない、EOS実行領域を有する手順はEO
S、EBMSおよびユーザ領域におけるオブジェクトに
対するアクセスを行ない、DBMS実行領域を有する手
順がDBMSおよびユーザ領域におけるオブジェクトに
対するアクセスを行ない、ユーザ実行領域を有する手順
はユーザ領域におけるオブジェクトに対してのみアクセ
スする。従って、ユーザはKOS実行領域におけるオブ
ジェクトに対するアクセスを行ない得ず、またCS10
110の低レベルの機密保護オペレーティング・システ
ムには影響を及ぼし得ない。しかし、ユーザ・プログラ
ムは、KOS実行領域を有する手順の実行の呼出しを行
なうことができる。この時、プロセスの主題はKOS領
域にあり、手順はKOS領域におけるいくつかのオブジ
ェクトに対してアクセスすることになる。
【0167】以下の論議においても記述されるCS10
110の本実施例においては、各オブジェクトはこれと
アクセス制御リスト(ACL)を関連させる。ACL
は、このオブジェクトに対するアクセスを行なう各主題
に対するアクセス制御記入(ACE)を含む。ACE
は、各主題毎に、このオブジェクトに関して主題が有す
るアクセス権を規定する。
110の本実施例においては、各オブジェクトはこれと
アクセス制御リスト(ACL)を関連させる。ACL
は、このオブジェクトに対するアクセスを行なう各主題
に対するアクセス制御記入(ACE)を含む。ACE
は、各主題毎に、このオブジェクトに関して主題が有す
るアクセス権を規定する。
【0168】通常、主題とオブジェクトとの間には、オ
ブジェクトのACLにより規定されるもの以外には何の
関係も存在しない。しかし、CS10110は、ユーザ
が特にどの主題がオブジェクトに対してどんなアクセス
を有するかを規定できる拡張ACLを有する拡張形式の
オブジェクトを保持している。
ブジェクトのACLにより規定されるもの以外には何の
関係も存在しない。しかし、CS10110は、ユーザ
が特にどの主題がオブジェクトに対してどんなアクセス
を有するかを規定できる拡張ACLを有する拡張形式の
オブジェクトを保持している。
【0169】以下の論述において述べるCS10110
の別の実施態様においては、アクセス権は動的に与えら
れる。あるプロセスの実行中、1つの手順は第2の手順
を呼出して呼出された手順に対し1つのアーギュメント
を送る。この呼出し側の手順はまた、呼出された手順に
対する前述アーギュメントに対して選定されたアクセス
権を送る。この送られたアクセス権は、呼出し期間にお
いてのみ存在する。
の別の実施態様においては、アクセス権は動的に与えら
れる。あるプロセスの実行中、1つの手順は第2の手順
を呼出して呼出された手順に対し1つのアーギュメント
を送る。この呼出し側の手順はまた、呼出された手順に
対する前述アーギュメントに対して選定されたアクセス
権を送る。この送られたアクセス権は、呼出し期間にお
いてのみ存在する。
【0170】動的なアクセスの実施においては、アクセ
ス権は要求される時にのみ与えられる。ACLの実施に
おいては、アクセス権はオブジェクトの形成または特定
の要求と同時に与えられる。いずれの実施態様において
も、ある交差領域においてアーギュメントが送られる各
手順はこれとアクセス情報アレイ(AIA)を関連させ
る。手順のAIAは、呼出された手順が送られたアーギ
ュメントについて処理できる前に呼出し側の手順(主
題)がどのアクセス権を持たねばならないかを記述す
る。CS10110の機密保護機構は、呼出し側の手順
のアクセス権を呼出された手順により必要とされるアク
セス権と比較する。このため、呼出し側の手順がしては
ならないことを呼出された手順に行なわせることはでき
ない。呼出し側の手順は、呼出された手順に対して呼出
し手順により保有されるアクセス権のみを与えることが
できる。
ス権は要求される時にのみ与えられる。ACLの実施に
おいては、アクセス権はオブジェクトの形成または特定
の要求と同時に与えられる。いずれの実施態様において
も、ある交差領域においてアーギュメントが送られる各
手順はこれとアクセス情報アレイ(AIA)を関連させ
る。手順のAIAは、呼出された手順が送られたアーギ
ュメントについて処理できる前に呼出し側の手順(主
題)がどのアクセス権を持たねばならないかを記述す
る。CS10110の機密保護機構は、呼出し側の手順
のアクセス権を呼出された手順により必要とされるアク
セス権と比較する。このため、呼出し側の手順がしては
ならないことを呼出された手順に行なわせることはでき
ない。呼出し側の手順は、呼出された手順に対して呼出
し手順により保有されるアクセス権のみを与えることが
できる。
【0171】CS10110の構造、作用およびいくつ
かの特徴について述べたが、CS10110のこれらの
特徴および他の特徴については以下において更に詳細に
説明することにする。
かの特徴について述べたが、CS10110のこれらの
特徴および他の特徴については以下において更に詳細に
説明することにする。
【0172】B.コンピュータ・システム10110の
情報構造および機構(図102,図103,図104,
図105) CS10110は、効率的なプロセス実行においてこれ
を助けるある情報構造および機構を有する。これらの構
造および機構は3つの一般的な形式に該当するものと考
えることができる。第1の形式は、プロセス自体、ある
ユーザのプロセスからなる、即ちユーザのプロセスの実
行と直接関連する手順およびデータオブジェクトに関す
る。第2の形式はプロセスの管理、制御および実行のた
めのものである。これらの構造は一般にCS10110
において活動状態にある全てのプロセスにより共有され
る。第3の形式は、CS10110のマイクロ機械情報
構造および機構である。これらの構造は、CS1011
0のマイクロ機械の不変の操作と関連し、CS1011
0のマイクロ機械に対して特定のものである。
情報構造および機構(図102,図103,図104,
図105) CS10110は、効率的なプロセス実行においてこれ
を助けるある情報構造および機構を有する。これらの構
造および機構は3つの一般的な形式に該当するものと考
えることができる。第1の形式は、プロセス自体、ある
ユーザのプロセスからなる、即ちユーザのプロセスの実
行と直接関連する手順およびデータオブジェクトに関す
る。第2の形式はプロセスの管理、制御および実行のた
めのものである。これらの構造は一般にCS10110
において活動状態にある全てのプロセスにより共有され
る。第3の形式は、CS10110のマイクロ機械情報
構造および機構である。これらの構造は、CS1011
0のマイクロ機械の不変の操作と関連し、CS1011
0のマイクロ機械に対して特定のものである。
【0173】a.序説(図102) 図102においては、ある情報構造および機構を示した
CS10110の構成(MEM10112、FU101
20およびEU10122)が示される。これらの情報
構造および機構はMEM10112、FU10120、
EU10122およびIOS10116間の境界を越え
る、即ちこれを「分断」することを理解すべきである。
図103の上部について見ればプロセス構造10210
は、前述の第1と第3の形式の情報構造である個々プロ
セスと最も緊密に関連する情報構造および機構を有す
る。プロセス構造10210はMEM10112に存在
し、仮想プロセス10212は仮想プロセスVP1乃至
Nを含む。仮想プロセス10212は、CS10110
の本実施例においては、256までのVPを含む。前述
の如く、各VPは1つのユーザのプロセスに特定のある
オブジェクト、例えば、これまでに述べかつ以下の記述
において更に述べるスタックオブジェクトを保有する。
各VPはまた、例えば他のプロセス情報に対するポイン
タであるプロセスの実行に必要なある情報を含むプロセ
スオブジェクトを含む。
CS10110の構成(MEM10112、FU101
20およびEU10122)が示される。これらの情報
構造および機構はMEM10112、FU10120、
EU10122およびIOS10116間の境界を越え
る、即ちこれを「分断」することを理解すべきである。
図103の上部について見ればプロセス構造10210
は、前述の第1と第3の形式の情報構造である個々プロ
セスと最も緊密に関連する情報構造および機構を有す
る。プロセス構造10210はMEM10112に存在
し、仮想プロセス10212は仮想プロセスVP1乃至
Nを含む。仮想プロセス10212は、CS10110
の本実施例においては、256までのVPを含む。前述
の如く、各VPは1つのユーザのプロセスに特定のある
オブジェクト、例えば、これまでに述べかつ以下の記述
において更に述べるスタックオブジェクトを保有する。
各VPはまた、例えば他のプロセス情報に対するポイン
タであるプロセスの実行に必要なある情報を含むプロセ
スオブジェクトを含む。
【0174】仮想プロセス・スタック・ブロック(VP
SB)10218は、CS10110による実行のため
選定されたVPの実行を管理するためのあるテーブルお
よび機構を含むVPSBを含む。
SB)10218は、CS10110による実行のため
選定されたVPの実行を管理するためのあるテーブルお
よび機構を含むVPSBを含む。
【0175】ある特定のVPは、以下の論議において説
明される仮想プロセス・ディスパッチャが実行に妥当な
前記VPを選択する時に、CS10110に対して拘束
される。この選択されたVPプロセスオブジェクトは前
述の如く、VPSBにスワップされる。VPSB102
18は、例えば、CS10110が同時に16または3
2までのVPを実行することができるように16または
32の状態ブロックを有することができる。VPSBに
割当てられたVPが実行される時、このVPはFU10
120とEU10122に示された情報構造および機構
にスワップされる。FU10120およびEU1012
2において夫々示されたFUレジスタおよびスタック機
構(FURSM)10214およびEUレジスタおよび
スタック機構(EURSM)10216は、CS101
10に対して拘束されたVPの実行において使用される
レジスタおよびスタック機構を含む。これらのレジスタ
およびスタック機構もまた、以下に述べるように、ある
CS10110のプロセス管理機能に対して使用され
る。手順オブジェクト(PO)10213は、CS10
110において実行中のプロセスの手順オブジェクト
(PO)1乃至Nを含む。
明される仮想プロセス・ディスパッチャが実行に妥当な
前記VPを選択する時に、CS10110に対して拘束
される。この選択されたVPプロセスオブジェクトは前
述の如く、VPSBにスワップされる。VPSB102
18は、例えば、CS10110が同時に16または3
2までのVPを実行することができるように16または
32の状態ブロックを有することができる。VPSBに
割当てられたVPが実行される時、このVPはFU10
120とEU10122に示された情報構造および機構
にスワップされる。FU10120およびEU1012
2において夫々示されたFUレジスタおよびスタック機
構(FURSM)10214およびEUレジスタおよび
スタック機構(EURSM)10216は、CS101
10に対して拘束されたVPの実行において使用される
レジスタおよびスタック機構を含む。これらのレジスタ
およびスタック機構もまた、以下に述べるように、ある
CS10110のプロセス管理機能に対して使用され
る。手順オブジェクト(PO)10213は、CS10
110において実行中のプロセスの手順オブジェクト
(PO)1乃至Nを含む。
【0176】アドレス指定機構(AM)10220は、
CS10110のプロセス管理システムの一部であり、
一般に以下の論議において説明するようにコンピュータ
・システム10110のアドレス指定機能と関連してい
る。UID/AONテーブル10222は、前述のUI
DおよびAONを関連させるための構造である。メモリ
ー管理テーブル10224は、(1)AONの論理アド
レスおよびMEM10112の物理的アドレスを関連さ
せ、(2)MEM10112の物理的アドレス空間を管
理し、(3)MEM10112とCS10110の補助
ストア(ED10124)との間の情報の転送を管理
し、(4)オブジェクトをCS10110に活性化する
ための構造を含み、名前カッシェ装置(NC)1022
6およびアドレス翻訳カッシェ装置(ATC)1022
8はCS10110に対してその時拘束されたVPに関
連するアドレス指定情報を記憶するための加速機能であ
る。以下に更に述べるNC10226は、オペランド名
をAONアドレスに関連させる情報を含む。これもまた
以下において更に述べるATC10228はAONアド
レスをMEM10112の物理的アドレスと関連させる
情報を含む。
CS10110のプロセス管理システムの一部であり、
一般に以下の論議において説明するようにコンピュータ
・システム10110のアドレス指定機能と関連してい
る。UID/AONテーブル10222は、前述のUI
DおよびAONを関連させるための構造である。メモリ
ー管理テーブル10224は、(1)AONの論理アド
レスおよびMEM10112の物理的アドレスを関連さ
せ、(2)MEM10112の物理的アドレス空間を管
理し、(3)MEM10112とCS10110の補助
ストア(ED10124)との間の情報の転送を管理
し、(4)オブジェクトをCS10110に活性化する
ための構造を含み、名前カッシェ装置(NC)1022
6およびアドレス翻訳カッシェ装置(ATC)1022
8はCS10110に対してその時拘束されたVPに関
連するアドレス指定情報を記憶するための加速機能であ
る。以下に更に述べるNC10226は、オペランド名
をAONアドレスに関連させる情報を含む。これもまた
以下において更に述べるATC10228はAONアド
レスをMEM10112の物理的アドレスと関連させる
情報を含む。
【0177】AM10220に続いて示す機密保護機構
10230は、機密保護テーブル10232と機密保護
カッシェ装置(PC)10234を含む。機密保護テー
ブル10232はCS10110において活動状態の各
オブジェクトに対するアクセス権に関する情報を含む。
PC10234は、CS10110に対してその時拘束
されるV先行のあるオブジェクトに関する機密保護情報
を含む。
10230は、機密保護テーブル10232と機密保護
カッシェ装置(PC)10234を含む。機密保護テー
ブル10232はCS10110において活動状態の各
オブジェクトに対するアクセス権に関する情報を含む。
PC10234は、CS10110に対してその時拘束
されるV先行のあるオブジェクトに関する機密保護情報
を含む。
【0178】PM10230に続いて示されるマイクロ
命令機構10236は、マイクロコード(Mコード)ス
トア10238と、FU(マイクロコード)Mコード構
造10240と、EUマイクロコード(Mコード)構造
10242を含む。これらの構造は、SINの翻訳のた
め、またCS10110の詳細な作動の制御のためのマ
イクロ命令機構およびテーブルを含む。マイクロ命令機
構10232はまた、CS10110の物理的資源を管
理し制御する低レベルの機密保護操作システムの操作中
部分的に使用されるマイクロコード・テーブルおよび機
構を提供する。
命令機構10236は、マイクロコード(Mコード)ス
トア10238と、FU(マイクロコード)Mコード構
造10240と、EUマイクロコード(Mコード)構造
10242を含む。これらの構造は、SINの翻訳のた
め、またCS10110の詳細な作動の制御のためのマ
イクロ命令機構およびテーブルを含む。マイクロ命令機
構10232はまた、CS10110の物理的資源を管
理し制御する低レベルの機密保護操作システムの操作中
部分的に使用されるマイクロコード・テーブルおよび機
構を提供する。
【0179】このように、図102の助けを借りてCS
10110の情報構造および機構のいくつかについて簡
単に述べたが、これらの情報構造および機構について更
に詳細に以上述べた順序で説明することにする。この説
明においては、図102および以下の論述の他の図面に
示したMEM10112を示すにあたって、MEM10
112のアドレス指定可能な記憶空間が示されることに
注意されたい。MEM10112の記憶空間のある部分
は、ある情報構造および機構を含むものとして構成され
ている。これらの構造および機構はMEM10112に
おける実際の物理的存在であるが、これらが占めるME
M10112のアドレス空間の場所および量の双方にお
いて変化し得る。これらの構造および機構を含む単一の
大きなメモリーの割当て位置は、これらの構造および機
構がCS10110の最も有効な作用に必要とされる如
く再構成することを可能にする。別の実施態様において
は、物理的別個のメモリーを用いて、単一のメモリーの
割当てられた部分以外のMEM10112に示された構
造および機構を含むようにすることができる。
10110の情報構造および機構のいくつかについて簡
単に述べたが、これらの情報構造および機構について更
に詳細に以上述べた順序で説明することにする。この説
明においては、図102および以下の論述の他の図面に
示したMEM10112を示すにあたって、MEM10
112のアドレス指定可能な記憶空間が示されることに
注意されたい。MEM10112の記憶空間のある部分
は、ある情報構造および機構を含むものとして構成され
ている。これらの構造および機構はMEM10112に
おける実際の物理的存在であるが、これらが占めるME
M10112のアドレス空間の場所および量の双方にお
いて変化し得る。これらの構造および機構を含む単一の
大きなメモリーの割当て位置は、これらの構造および機
構がCS10110の最も有効な作用に必要とされる如
く再構成することを可能にする。別の実施態様において
は、物理的別個のメモリーを用いて、単一のメモリーの
割当てられた部分以外のMEM10112に示された構
造および機構を含むようにすることができる。
【0180】b.プロセス構造10210(図103,
図104および図105) 図103においては、プロセス構造10210の部分的
な表示が示される。特に、図103は実行のために選択
されたプロセス(P)10310とプロセスオブジェク
ト(PO)10213におけるその関連する手順オブジ
ェクト(PO)とを示している。P10310はPO1
0213における4つの手順オブジェクトを含むものと
して図103に示される。この表示は表示の明瞭化のた
めであり、ある特定のP10310はどんな数の手順オ
ブジェクトでも含み得ることを理解すべきである。ま
た、表示の明瞭化のため、EURSM10216がFU
RSM10214と類似するためこのEURSM102
16は示さない。EURSM10216については、C
S10110の構造および作用の以下の詳細な論議にお
いて詳細に記述する。
図104および図105) 図103においては、プロセス構造10210の部分的
な表示が示される。特に、図103は実行のために選択
されたプロセス(P)10310とプロセスオブジェク
ト(PO)10213におけるその関連する手順オブジ
ェクト(PO)とを示している。P10310はPO1
0213における4つの手順オブジェクトを含むものと
して図103に示される。この表示は表示の明瞭化のた
めであり、ある特定のP10310はどんな数の手順オ
ブジェクトでも含み得ることを理解すべきである。ま
た、表示の明瞭化のため、EURSM10216がFU
RSM10214と類似するためこのEURSM102
16は示さない。EURSM10216については、C
S10110の構造および作用の以下の詳細な論議にお
いて詳細に記述する。
【0181】前述の如く、各プロセスはあるデータおよ
び手順オブジェクトを含む。P10310について図1
03に示したように、手順オブジェクトはPO1021
3に存在する。データオブジェクトは、P10310に
おいて静的なデータ領域とスタック機構を含む。PO、
例えばKOS手順オブジェクト(KOSPO)1031
8は、各々がプロセスの実行において実施されるべき演
算を規定する一連のSINであるプロセスの種々の手順
を含んでいる。以下に述べるように、手順オブジェクト
はまた、内部に含まれる手順の実行に際して使用されあ
る情報を含む。静的なデータ領域(SDA)は、プロセ
スの持続期間の間存在するデータを記憶するため一般に
保留されたデータオブジェクトである。P10310の
スタック機構は、手順の呼出しおよび戻し、およびJP
10114に関するプロセスの出入れスワッピングのた
めの手順のスタッキングを可能にする。マクロスタック
(MAS)10328乃至10334は、一般に、ある
自動データ(ある手順の実行中に生成されかつこの手順
の持続期間中存続するデータ)を記憶するために使用さ
れる。P10310におけるスタックとは別個に示した
がSDAはMAS10328乃至10334と共に含む
ことができる。機密保護スタック(SS)10336は
一般に、呼出された各手順に対するCS10110のマ
イクロ機械の状態を記憶する。SS10336に記憶さ
れた情報は、ある呼出された手順からの戻りと同時に、
またはあるVPをCS10110に対して拘束(スワッ
ピング)する時、機械の状態が回復することを許容す
る。
び手順オブジェクトを含む。P10310について図1
03に示したように、手順オブジェクトはPO1021
3に存在する。データオブジェクトは、P10310に
おいて静的なデータ領域とスタック機構を含む。PO、
例えばKOS手順オブジェクト(KOSPO)1031
8は、各々がプロセスの実行において実施されるべき演
算を規定する一連のSINであるプロセスの種々の手順
を含んでいる。以下に述べるように、手順オブジェクト
はまた、内部に含まれる手順の実行に際して使用されあ
る情報を含む。静的なデータ領域(SDA)は、プロセ
スの持続期間の間存在するデータを記憶するため一般に
保留されたデータオブジェクトである。P10310の
スタック機構は、手順の呼出しおよび戻し、およびJP
10114に関するプロセスの出入れスワッピングのた
めの手順のスタッキングを可能にする。マクロスタック
(MAS)10328乃至10334は、一般に、ある
自動データ(ある手順の実行中に生成されかつこの手順
の持続期間中存続するデータ)を記憶するために使用さ
れる。P10310におけるスタックとは別個に示した
がSDAはMAS10328乃至10334と共に含む
ことができる。機密保護スタック(SS)10336は
一般に、呼出された各手順に対するCS10110のマ
イクロ機械の状態を記憶する。SS10336に記憶さ
れた情報は、ある呼出された手順からの戻りと同時に、
またはあるVPをCS10110に対して拘束(スワッ
ピング)する時、機械の状態が回復することを許容す
る。
【0182】P10310において示したように、各プ
ロセスは領域に基づいて構成される。従って、P103
10は、各領域毎に、それらの実行領域であるSDAお
よびMASとしてこの領域を有する手順を含む1つ以上
の手順オブジェクトを含むことができる。例えばP10
310のKOS領域は、KOSPO10318とKOS
SDA10326とKOSMAS10334を含む。P
10310のSS10336はP10310のどの単一
領域にも存在しないが、その代りスタック機構がCS1
0110のマイクロ機械に帰属する。
ロセスは領域に基づいて構成される。従って、P103
10は、各領域毎に、それらの実行領域であるSDAお
よびMASとしてこの領域を有する手順を含む1つ以上
の手順オブジェクトを含むことができる。例えばP10
310のKOS領域は、KOSPO10318とKOS
SDA10326とKOSMAS10334を含む。P
10310のSS10336はP10310のどの単一
領域にも存在しないが、その代りスタック機構がCS1
0110のマイクロ機械に帰属する。
【0183】P10310の全体的な構造について記述
したがP10310の個々の情報構造および機構につい
ては次に更に詳細に説明する。
したがP10310の個々の情報構造および機構につい
ては次に更に詳細に説明する。
【0184】1.手順オブジェクト(図103) KOSPO10318はCS10110の手順オブジェ
クトの典型であり、以下の論議においては例示のため触
れることにする。KOSPO10318の主な構成要素
は、ヘッダ10338と、外部記入記述子(EED)領
域10340と、内部記入記述子(IED)10342
と、S−OPコード領域10344と、手順環境記述子
(PED)10348と、名前テーブル(NT)103
50とアクセス情報アレイ(AIA)領域10352で
ある。
クトの典型であり、以下の論議においては例示のため触
れることにする。KOSPO10318の主な構成要素
は、ヘッダ10338と、外部記入記述子(EED)領
域10340と、内部記入記述子(IED)10342
と、S−OPコード領域10344と、手順環境記述子
(PED)10348と、名前テーブル(NT)103
50とアクセス情報アレイ(AIA)領域10352で
ある。
【0185】ヘッダ10338は、KOSPO1031
8を識別し、今論議するEED領域10340における
記入数を表示するある情報を含む。
8を識別し、今論議するEED領域10340における
記入数を表示するある情報を含む。
【0186】EED領域10340とIED領域103
42は共にKOSPO10318における各手順に対す
る記入記述子(ED)を含む。KOSPO10318は
手順1,2および11を含むものとして示され、その内
手順11は論議において一例として使用されよう。ED
は有効に、KOSPO10318における全ての情報が
見出すことができるもののあるものを介する指標からな
る。IEDは、KOSPO10318に含まれる他の手
順からのみ呼出すことができるKOSPO10318の
全ての手順に対する指標を構成する。EEDは、KOS
PO10318に対して外部の手順によって呼出し可能
なKOSPO10318の全ての手順に対する指標を構
成する。外部で呼出し可能な手順は、外部の呼出し側の
手順のアクセス権を確認する際、CS10110の機密
保護機構について以下に論述するように、顕著な手段で
ある。
42は共にKOSPO10318における各手順に対す
る記入記述子(ED)を含む。KOSPO10318は
手順1,2および11を含むものとして示され、その内
手順11は論議において一例として使用されよう。ED
は有効に、KOSPO10318における全ての情報が
見出すことができるもののあるものを介する指標からな
る。IEDは、KOSPO10318に含まれる他の手
順からのみ呼出すことができるKOSPO10318の
全ての手順に対する指標を構成する。EEDは、KOS
PO10318に対して外部の手順によって呼出し可能
なKOSPO10318の全ての手順に対する指標を構
成する。外部で呼出し可能な手順は、外部の呼出し側の
手順のアクセス権を確認する際、CS10110の機密
保護機構について以下に論述するように、顕著な手段で
ある。
【0187】ED11、即ち手順11に対するEDに関
しては3つのフィールドが内部に示される。手順環境記
述子オフセット(PEDO)フィールドは、PED領域
10348においてKOSPO10318の開始に関連
する手順11のPEDの開始を表示する。以下において
更に述べるように、手順のPEDはこの手順の実行にお
いて使用される情報の決定のための1組のポインタを含
む。PED領域10348は、KOSPO10318に
含まれる各手順に対するPEDを含む。CS10110
の本実施例においては、単一のPEDは2つ以上の手順
により共有することができる。コード記入点(CEP)
フィールドは、以下に説明する手順ベース・ポインタ
(PBP)に関連する、手順11のSINコードおよび
SINコード領域10344の開始を示す。最後に、E
D11の最初のフレーム・サイズ(IFS)フィールド
は、手順11の自動データを記憶するKOSMAS10
334のフレームの所要の初期フレーム・サイズを表示
する。
しては3つのフィールドが内部に示される。手順環境記
述子オフセット(PEDO)フィールドは、PED領域
10348においてKOSPO10318の開始に関連
する手順11のPEDの開始を表示する。以下において
更に述べるように、手順のPEDはこの手順の実行にお
いて使用される情報の決定のための1組のポインタを含
む。PED領域10348は、KOSPO10318に
含まれる各手順に対するPEDを含む。CS10110
の本実施例においては、単一のPEDは2つ以上の手順
により共有することができる。コード記入点(CEP)
フィールドは、以下に説明する手順ベース・ポインタ
(PBP)に関連する、手順11のSINコードおよび
SINコード領域10344の開始を示す。最後に、E
D11の最初のフレーム・サイズ(IFS)フィールド
は、手順11の自動データを記憶するKOSMAS10
334のフレームの所要の初期フレーム・サイズを表示
する。
【0188】PED11、即ちPED領域10348に
おける手順11のPEDは、手順11の実行において使
用される情報を決定するための1組のポインタを含む。
PED11における最初の記入は、PED11を識別す
る情報を含むヘッダである。PED11の手順ベース・
ポインタ(PBP)の記入は、これからKOSPO10
318における他の情報が決定可能である固定基準を提
供するポインタである。ある特定の事例においては、手
順11のCEPは、PBPに対する、S−OPコード領
域10344における手順11のS−OPコードの開始
の位置を表示する。以下において更に述べるように、P
BPはCS10110のアーキテクチャ・ベース・ポイ
ンタ(ABP)である。CS10110のABPはCS
10110のアドレス空間のアドレス指定を容易にする
ためCS10110において使用される1組のアーキテ
クチャ・ポインタである。PED11の静的データ・ポ
インタ(SDP)の記入は、KOSPO10318にお
いてP10310のKOSSDA10326のあるパラ
メータを指定するデータを指示する。名前テーブル・ポ
インタ(NTP)の記入は、手順11のオペランドに対
する名前テーブル記入(NTE)のNT10350にお
ける決定を表示するポインタである。NT10350お
よびNETについては、コンピュータ・システム101
10のアドレス指定構造の以下の論議において更に詳細
に記述することにする。PED11のSインタプリタ・
ポインタ(SIP)記入は、CS10110のマイクロ
コード構造の以下の論議において更に詳細に論述する、
手順11のSINコードの翻訳において使用されるべき
特定のSインタプリタ(SINT)を指示するポインタ
である。
おける手順11のPEDは、手順11の実行において使
用される情報を決定するための1組のポインタを含む。
PED11における最初の記入は、PED11を識別す
る情報を含むヘッダである。PED11の手順ベース・
ポインタ(PBP)の記入は、これからKOSPO10
318における他の情報が決定可能である固定基準を提
供するポインタである。ある特定の事例においては、手
順11のCEPは、PBPに対する、S−OPコード領
域10344における手順11のS−OPコードの開始
の位置を表示する。以下において更に述べるように、P
BPはCS10110のアーキテクチャ・ベース・ポイ
ンタ(ABP)である。CS10110のABPはCS
10110のアドレス空間のアドレス指定を容易にする
ためCS10110において使用される1組のアーキテ
クチャ・ポインタである。PED11の静的データ・ポ
インタ(SDP)の記入は、KOSPO10318にお
いてP10310のKOSSDA10326のあるパラ
メータを指定するデータを指示する。名前テーブル・ポ
インタ(NTP)の記入は、手順11のオペランドに対
する名前テーブル記入(NTE)のNT10350にお
ける決定を表示するポインタである。NT10350お
よびNETについては、コンピュータ・システム101
10のアドレス指定構造の以下の論議において更に詳細
に記述することにする。PED11のSインタプリタ・
ポインタ(SIP)記入は、CS10110のマイクロ
コード構造の以下の論議において更に詳細に論述する、
手順11のSINコードの翻訳において使用されるべき
特定のSインタプリタ(SINT)を指示するポインタ
である。
【0189】最後に、AIA10352に関しては、こ
のAIA10352は、前述の如く、KOSPO103
18を呼出すどんな外部の手順でも要求するアクセス権
に関する情報を含んでいる。外部手順により呼出すこと
ができる各KOSPO10318の手順のためにAIA
10352が存在する。ある特定のAIAの記入は、E
ED領域10340におけるEDを有する1つ以上の手
順により共有することができる。各EEDは、説明の明
瞭化のため示さないが、この手順の対応するAIA記入
が照合されねばならずまたこの手順が呼出される時は常
に呼出し側の手順のアクセス権が確認されねばならない
ことを示すある情報を含んでいる。
のAIA10352は、前述の如く、KOSPO103
18を呼出すどんな外部の手順でも要求するアクセス権
に関する情報を含んでいる。外部手順により呼出すこと
ができる各KOSPO10318の手順のためにAIA
10352が存在する。ある特定のAIAの記入は、E
ED領域10340におけるEDを有する1つ以上の手
順により共有することができる。各EEDは、説明の明
瞭化のため示さないが、この手順の対応するAIA記入
が照合されねばならずまたこの手順が呼出される時は常
に呼出し側の手順のアクセス権が確認されねばならない
ことを示すある情報を含んでいる。
【0190】2.スタック機構(図104,図105) 前述の如く、P10310のスタック機構は、部分的に
機械の状態を記憶するために使用されるSS10336
と、P10310の手順の実行中に生成される局所デー
タを記憶するために使用されるMAS10328乃至1
0334を含む。P10310はCS10110の各領
域に対するMASを含むものとして示されている。CS
10110の別の実施態様においては、ある特定のP1
0310は、P10310がある手順を実行しつつある
定義に対してのみMASを含む。
機械の状態を記憶するために使用されるSS10336
と、P10310の手順の実行中に生成される局所デー
タを記憶するために使用されるMAS10328乃至1
0334を含む。P10310はCS10110の各領
域に対するMASを含むものとして示されている。CS
10110の別の実施態様においては、ある特定のP1
0310は、P10310がある手順を実行しつつある
定義に対してのみMASを含む。
【0191】MAS10328乃至10334およびS
S10336に関しては、P10310が11の手順呼
出しを有するものとして示される。手順0は手順1を呼
出し手順1は手順2を呼出す、等々である。1つの手順
が呼出される毎に、呼出された手順が実行される定義の
MASには対応するスタック・フレームが構成される。
例えば、手順1,2および11がKOS領域において実
行し、従って手順1,2および11に対するMASフレ
ームがKOSMAS10334に配される。同様に、手
順3および9がEOS領域において実行し、その結果そ
れらのスタック・フレームがEOSMAS10332に
配される。手順5および6はDBMS領域において実行
し、この結果それらのスタック・フレームはDBMSM
AS10330に配される。手順4,7,8および10
はユーザ領域において実行し、それらのスタック・フレ
ームはUSERMAS10328に配される。手順11
は最も後で呼出された手順であり、KOSMAS103
34における手順11のスタック・フレームはその時の
フレームと呼ばれる。手順11は、VP10310がC
S10110に対して拘束されるその時に実行中の手順
である。
S10336に関しては、P10310が11の手順呼
出しを有するものとして示される。手順0は手順1を呼
出し手順1は手順2を呼出す、等々である。1つの手順
が呼出される毎に、呼出された手順が実行される定義の
MASには対応するスタック・フレームが構成される。
例えば、手順1,2および11がKOS領域において実
行し、従って手順1,2および11に対するMASフレ
ームがKOSMAS10334に配される。同様に、手
順3および9がEOS領域において実行し、その結果そ
れらのスタック・フレームがEOSMAS10332に
配される。手順5および6はDBMS領域において実行
し、この結果それらのスタック・フレームはDBMSM
AS10330に配される。手順4,7,8および10
はユーザ領域において実行し、それらのスタック・フレ
ームはUSERMAS10328に配される。手順11
は最も後で呼出された手順であり、KOSMAS103
34における手順11のスタック・フレームはその時の
フレームと呼ばれる。手順11は、VP10310がC
S10110に対して拘束されるその時に実行中の手順
である。
【0192】CS10110のマイクロ機械のスタック
機構であるSS10336は手順1乃至11の各々に対
するフレームを含む。SS10336の各フレームは、
部分的に、その対応する手順に対するCS10110の
作動状態を含む。
機構であるSS10336は手順1乃至11の各々に対
するフレームを含む。SS10336の各フレームは、
部分的に、その対応する手順に対するCS10110の
作動状態を含む。
【0193】図104においては、典型的なMAS、例
えばKOSMAS10334が示されている。KOSM
AS10334は、これに関する各手順に対してスタッ
ク・ヘッダ10410とフレーム10412を含む。各
フレーム10412はフレーム・ヘッダ10414を含
み、リンク・ポインタ・ブロック10416と局所ポイ
ンタ・ブロック10418と、局所(自動)データ・ブ
ロック10420を含む。
えばKOSMAS10334が示されている。KOSM
AS10334は、これに関する各手順に対してスタッ
ク・ヘッダ10410とフレーム10412を含む。各
フレーム10412はフレーム・ヘッダ10414を含
み、リンク・ポインタ・ブロック10416と局所ポイ
ンタ・ブロック10418と、局所(自動)データ・ブ
ロック10420を含む。
【0194】MAS10334のスタック・ヘッダ10
410は、少なくとも以下の情報を含む。即ち、 (1)KOSMAS10334に関する第1のフレーム
のフレーム・ヘッダ10414の場所を表示するスタッ
ク・ヘッダ10410に関するオフセット。
410は、少なくとも以下の情報を含む。即ち、 (1)KOSMAS10334に関する第1のフレーム
のフレーム・ヘッダ10414の場所を表示するスタッ
ク・ヘッダ10410に関するオフセット。
【0195】(2)KOSMAS10334の開始に関
して、その最上位の場所を示すスタック最上位オフセッ
ト。KOSMAS10334の最上位は、手順11のフ
レーム10412の局所データ・ブロック10420の
最後の記入の最上位を指示するポインタSTOにより示
される。
して、その最上位の場所を示すスタック最上位オフセッ
ト。KOSMAS10334の最上位は、手順11のフ
レーム10412の局所データ・ブロック10420の
最後の記入の最上位を指示するポインタSTOにより示
される。
【0196】(3)KOSMAS10334の開始に関
して、その時の最上位のフレームのフレーム・ヘッダ1
0414の場所を示すオフセット。図104において
は、このオフセットはフレーム・ポインタ(FP)によ
り表わされるが、ABPについては以下において更に論
述する。
して、その時の最上位のフレームのフレーム・ヘッダ1
0414の場所を示すオフセット。図104において
は、このオフセットはフレーム・ポインタ(FP)によ
り表わされるが、ABPについては以下において更に論
述する。
【0197】(4)VP10310のUID (5)以下の論議において更に述べるある領域環境情報
の場所を示すUIDポインタ。
の場所を示すUIDポインタ。
【0198】(6)CS10110のあるオペレーティ
ング・システムの障害を取扱うためのあるルーチンの場
所を示す信号ポインタ。
ング・システムの障害を取扱うためのあるルーチンの場
所を示す信号ポインタ。
【0199】(7)KOSSDA10326の場所を示
すUIDポインタ、および (8)他の領域におけるフレームのヘッダに対するポイ
ンタを含むフレーム・ラベル・シーケンサ。これらのポ
インタは非局所的なgo−to操作を実行する際使用さ
れる。
すUIDポインタ、および (8)他の領域におけるフレームのヘッダに対するポイ
ンタを含むフレーム・ラベル・シーケンサ。これらのポ
インタは非局所的なgo−to操作を実行する際使用さ
れる。
【0200】KOSMAS10334のスタック・ヘッ
ダ10410は、これにより、MAS10334の構造
におけるある重要な点を判定し、またKOS領域におけ
る手順の実行に関するある情報を判定するための情報を
含む。
ダ10410は、これにより、MAS10334の構造
におけるある重要な点を判定し、またKOS領域におけ
る手順の実行に関するある情報を判定するための情報を
含む。
【0201】各フレーム・ヘッダ10414は少なくと
も下記の情報を含む。即ち、 (1)フレーム・ヘッダ10414に関して、MAS1
0334の前および次のフレームのフレーム・ヘッダ1
0414の場所を表示するオフセット。
も下記の情報を含む。即ち、 (1)フレーム・ヘッダ10414に関して、MAS1
0334の前および次のフレームのフレーム・ヘッダ1
0414の場所を表示するオフセット。
【0202】(2)フレーム・ヘッダ10414に関し
て、前記フレーム10412の最上位の場所を示すオフ
セット。
て、前記フレーム10412の最上位の場所を示すオフ
セット。
【0203】(3)前記フレーム10412に含まれる
送ったアーギュメントの数を示す情報。
送ったアーギュメントの数を示す情報。
【0204】(4)UID/オフセット・フォーマット
において、別の定義域に前記の前のフレーム・ヘッダ1
0414が存在するかどうかに関するフレーム1041
2に対する動的バックカウンタ。
において、別の定義域に前記の前のフレーム・ヘッダ1
0414が存在するかどうかに関するフレーム1041
2に対する動的バックカウンタ。
【0205】(5)前記手順を呼出す手順の環境記述子
に対するUID/オフセット・ポインタ。
に対するUID/オフセット・ポインタ。
【0206】(6)MAS10334における他のフレ
ーム・ヘッダ10414の場所を示す情報を含むフレー
ム・ラベル・シーケンス。この情報は、局所のgo−t
o操作の実行のオブジェクトのためMAS10334に
おける他のフレームを決定する。フレーム・ヘッダ10
414はこれによりMAS10334の構造におけるあ
る重要な点を決定するための情報および関連する手順の
実行に関するあるデータを含む。更に、フレーム・ヘッ
ダ10414は、スタック・ヘッダ10410と共に、
各VP10310のMASの活性化レコードをリンクす
るためまた個々のMASの活性化レコードを共にリンク
するための情報を含む。
ーム・ヘッダ10414の場所を示す情報を含むフレー
ム・ラベル・シーケンス。この情報は、局所のgo−t
o操作の実行のオブジェクトのためMAS10334に
おける他のフレームを決定する。フレーム・ヘッダ10
414はこれによりMAS10334の構造におけるあ
る重要な点を決定するための情報および関連する手順の
実行に関するあるデータを含む。更に、フレーム・ヘッ
ダ10414は、スタック・ヘッダ10410と共に、
各VP10310のMASの活性化レコードをリンクす
るためまた個々のMASの活性化レコードを共にリンク
するための情報を含む。
【0207】リンク・ポインタ・ブロック10416
は、呼出し側の手順から呼出される手順に対して送られ
るアーギュメントに対するポインタを含む。例えば手順
11のフレーム10412のリンク・ポインタ・ブロッ
ク10416は手順10から手順11に対して送られる
アーギュメントに対するポインタを含む。CS1011
0のアドレス構造におけるリンク・ポインタの使用につ
いては、CS10110のアドレス構造の以下の論述に
おいて更に論議する。局所データ・ポインタ・ブロック
10418は、関連する手順の局所データのあるものに
対するポインタを含む。図104に示されているのは、
最上位のフレーム10412のリンク・ポインタ・ブロ
ック10416と局所データ・ポインタ・ブロック10
418間で指示するポインタ、即ちフレーム・ポインタ
(FP)である。以下の論述において更に説明するよう
に、FPはプロセスのその時の手順のMASフレーム1
0412に対するABPである。
は、呼出し側の手順から呼出される手順に対して送られ
るアーギュメントに対するポインタを含む。例えば手順
11のフレーム10412のリンク・ポインタ・ブロッ
ク10416は手順10から手順11に対して送られる
アーギュメントに対するポインタを含む。CS1011
0のアドレス構造におけるリンク・ポインタの使用につ
いては、CS10110のアドレス構造の以下の論述に
おいて更に論議する。局所データ・ポインタ・ブロック
10418は、関連する手順の局所データのあるものに
対するポインタを含む。図104に示されているのは、
最上位のフレーム10412のリンク・ポインタ・ブロ
ック10416と局所データ・ポインタ・ブロック10
418間で指示するポインタ、即ちフレーム・ポインタ
(FP)である。以下の論述において更に説明するよう
に、FPはプロセスのその時の手順のMASフレーム1
0412に対するABPである。
【0208】各フレーム10412の局所(自動)デー
タ・ブロック10420は、関連する手順の自動データ
の内のあるものを含む。
タ・ブロック10420は、関連する手順の自動データ
の内のあるものを含む。
【0209】前述の如く、各手順の呼出し毎に、MAS
フレームは呼出された手順が実行される定義のMASの
最上位に構成される。例えば、手順10が手順11を呼
出す時、手順11に対するフレーム・ヘッダ10414
はKOSMAS10334に構成され配置される。手順
11のリンク・ポインタがこの時生成され、手順11の
リンク・ポインタ・ブロック10416に置かれる。次
の手順11の局所ポインタが生成されて、手順11の局
所ポインタ・ブロック10418に配置される。最後
に、手順11の局所データが手順11の局所データ・ブ
ロック10420に配される。この操作の間、USER
MAS10328のフレーム・ラベル構造は、手順11
のフレーム・ヘッダ10414を指示する記入を含むよ
うに更新される。KOSMAS10334のスタック・
ヘッダ10410は、KOSMAS10334の新たな
最上位に対するSTOに関して更新される。手順2のフ
レーム・ヘッダ10414は、手順11のフレーム10
412のフレーム・ヘッダ10414に対するオフセッ
トに関して、また手順11のフレーム・ヘッダ1041
4の場所を表示するフレーム・ラベル・シーケンスに関
して更新される。この時手順11がその時の手順である
ため、FPは手順11のフレーム10412のリンク・
ポインタ・ブロック10416とリンク・ポインタ・ブ
ロック10418の間の点に更新される。また、以下に
おいて論述するように、新たなフレームがSS1033
6即ち手順11において構成される。CS10110は
この時手順11を実行するため進行することになる。手
順11の実行中、更に生成された他の局所データを手順
11の局所データ・ブロック10420の最上位に配す
ることができる。手順11のフレーム・ヘッダ1041
4およびKOSMAS10334のスタック・ヘッダ1
0410におけるスタックのオフセット情報の最上位が
適宜更新される。
フレームは呼出された手順が実行される定義のMASの
最上位に構成される。例えば、手順10が手順11を呼
出す時、手順11に対するフレーム・ヘッダ10414
はKOSMAS10334に構成され配置される。手順
11のリンク・ポインタがこの時生成され、手順11の
リンク・ポインタ・ブロック10416に置かれる。次
の手順11の局所ポインタが生成されて、手順11の局
所ポインタ・ブロック10418に配置される。最後
に、手順11の局所データが手順11の局所データ・ブ
ロック10420に配される。この操作の間、USER
MAS10328のフレーム・ラベル構造は、手順11
のフレーム・ヘッダ10414を指示する記入を含むよ
うに更新される。KOSMAS10334のスタック・
ヘッダ10410は、KOSMAS10334の新たな
最上位に対するSTOに関して更新される。手順2のフ
レーム・ヘッダ10414は、手順11のフレーム10
412のフレーム・ヘッダ10414に対するオフセッ
トに関して、また手順11のフレーム・ヘッダ1041
4の場所を表示するフレーム・ラベル・シーケンスに関
して更新される。この時手順11がその時の手順である
ため、FPは手順11のフレーム10412のリンク・
ポインタ・ブロック10416とリンク・ポインタ・ブ
ロック10418の間の点に更新される。また、以下に
おいて論述するように、新たなフレームがSS1033
6即ち手順11において構成される。CS10110は
この時手順11を実行するため進行することになる。手
順11の実行中、更に生成された他の局所データを手順
11の局所データ・ブロック10420の最上位に配す
ることができる。手順11のフレーム・ヘッダ1041
4およびKOSMAS10334のスタック・ヘッダ1
0410におけるスタックのオフセット情報の最上位が
適宜更新される。
【0210】これにより、MAS10328乃至103
34はこの手順に関するデータを記憶するための定義域
単位のスタック機構を提供し、このためこのデータを失
うことなく手順のスタッキングを可能にする。定義域単
位で構成されているが、MAS10328乃至1033
4は、MASスタックおよびフレーム・ヘッダにおいて
記憶された情報を介して、一緒に通される統一された局
所スタック構造を有する。
34はこの手順に関するデータを記憶するための定義域
単位のスタック機構を提供し、このためこのデータを失
うことなく手順のスタッキングを可能にする。定義域単
位で構成されているが、MAS10328乃至1033
4は、MASスタックおよびフレーム・ヘッダにおいて
記憶された情報を介して、一緒に通される統一された局
所スタック構造を有する。
【0211】前述の如く、SS10336は、スタック
された各VP10310手順に対するCS10110の
マイクロ機械の状態を部分的に記憶するためのCS10
110のマイクロ機械のスタック構造である。図105
においては、SS10336のスタック・フレーム10
510の部分的な図が示される。SS10336のスタ
ック・ヘッダ10512とフレーム・ヘッダ10514
は、MASスタック・ヘッダ10410とフレーム・ヘ
ッダ10414における情報と類似の情報を含んでい
る。再び、これらに含まれた情報は、SS10336内
のある点を見出して、MAS10328乃至KOSMA
S10334と共にSS10336を挿通する。
された各VP10310手順に対するCS10110の
マイクロ機械の状態を部分的に記憶するためのCS10
110のマイクロ機械のスタック構造である。図105
においては、SS10336のスタック・フレーム10
510の部分的な図が示される。SS10336のスタ
ック・ヘッダ10512とフレーム・ヘッダ10514
は、MASスタック・ヘッダ10410とフレーム・ヘ
ッダ10414における情報と類似の情報を含んでい
る。再び、これらに含まれた情報は、SS10336内
のある点を見出して、MAS10328乃至KOSMA
S10334と共にSS10336を挿通する。
【0212】SS10336のスタック・フレーム10
510は、このフレームが関連するVP10212の手
順の実行中CS10110のマイクロ機械によって使用
されるある情報を含む。手順ポインタ・ブロック105
16は、VP10310の情報構造内の情報を見出する
際CS10110のマイクロ機械により使用されるAB
Pを含むあるポインタを含んでいる。マイクロ・ルーチ
ン・フレーム(MRF)10518は共に、各SS10
336のスタック・フレーム10510内のマイクロ・
ルーチン・スタック(MRS)10520を含む。MR
S10520は、スタック・フレーム10510と関連
したVP10212の手順の実行中に実行されたCS1
0110のマイクロルーチンの内部操作と関連してい
る。SS10336は、このように二重機能のCS10
110のマイクロ機械スタックである。ポインタブロッ
ク10516の記入は、CS10110のマイクロ機械
とその時のプロセスの手順との間のインターフェースを
有効に規定する。MRS10520はCS10110の
マイクロ機械の内部操作にするスタック機構を含む。
510は、このフレームが関連するVP10212の手
順の実行中CS10110のマイクロ機械によって使用
されるある情報を含む。手順ポインタ・ブロック105
16は、VP10310の情報構造内の情報を見出する
際CS10110のマイクロ機械により使用されるAB
Pを含むあるポインタを含んでいる。マイクロ・ルーチ
ン・フレーム(MRF)10518は共に、各SS10
336のスタック・フレーム10510内のマイクロ・
ルーチン・スタック(MRS)10520を含む。MR
S10520は、スタック・フレーム10510と関連
したVP10212の手順の実行中に実行されたCS1
0110のマイクロルーチンの内部操作と関連してい
る。SS10336は、このように二重機能のCS10
110のマイクロ機械スタックである。ポインタブロッ
ク10516の記入は、CS10110のマイクロ機械
とその時のプロセスの手順との間のインターフェースを
有効に規定する。MRS10520はCS10110の
マイクロ機械の内部操作にするスタック機構を含む。
【0213】仮想プロセス10212について簡単に説
明したが、FURSM10214については次に説明す
る。前述の如く、EURSM10216は作用において
FURSM10214と類似し、CS10110の構造
および作用についての以下の詳細な説明において説明す
る。
明したが、FURSM10214については次に説明す
る。前述の如く、EURSM10216は作用において
FURSM10214と類似し、CS10110の構造
および作用についての以下の詳細な説明において説明す
る。
【0214】3.FURSM10214(図103) 再び図103において、FURSM10214は、P1
0310の手順の実行中CS10110のマイクロ機械
に対して内部で使用されるCS10110マイクロ機械
の情報構造を含む。あるVP、例えばVP10310が
実行される時、このVPに関するある情報がこの手順の
実行において使用されるためVP10212からFUR
SM10214に転送される。この点に関して、FUR
SM10214はその時のVP10212に対する加速
機構と見做すことができる。
0310の手順の実行中CS10110のマイクロ機械
に対して内部で使用されるCS10110マイクロ機械
の情報構造を含む。あるVP、例えばVP10310が
実行される時、このVPに関するある情報がこの手順の
実行において使用されるためVP10212からFUR
SM10214に転送される。この点に関して、FUR
SM10214はその時のVP10212に対する加速
機構と見做すことができる。
【0215】FURSM10214は、汎用レジスタ・
ファイル(GRF)10354と、マイクロ・スタック
・ポインタ・レジスタ機構(MISPR)10356
と、戻し制御ワード・スタック(RCWS)10358
を含む。GRF10354は、大域レジスタ(GR)1
0360とスタック・レジスタ(SR)10362を含
む。GR10360は、アーキテクチャ規定レジスタ
(ABR)10364とマイクロ制御レジスタ(MC
R)10366を含んでいる。スタック・レジスタ10
362は、マイクロ・スタック(MIS)10368と
モニター・スタック(MOS)10370とを含んでい
る。
ファイル(GRF)10354と、マイクロ・スタック
・ポインタ・レジスタ機構(MISPR)10356
と、戻し制御ワード・スタック(RCWS)10358
を含む。GRF10354は、大域レジスタ(GR)1
0360とスタック・レジスタ(SR)10362を含
む。GR10360は、アーキテクチャ規定レジスタ
(ABR)10364とマイクロ制御レジスタ(MC
R)10366を含んでいる。スタック・レジスタ10
362は、マイクロ・スタック(MIS)10368と
モニター・スタック(MOS)10370とを含んでい
る。
【0216】最初にGRF10354について、例えば
VP10310の手順11がその時実行中であると仮定
すると、GRF10354は主として手順11の実行に
おいて使用されたVP10310に対するあるポインタ
を含んでいる。前述の如く、CS10110のアドレス
指定構造は、各手順に対するあるアーキテクチャ規定ポ
インタ(APB)を含む。APBはCS10110のア
ドレス空間をアクセスするためのフレームワークを提供
する。各手順のABPは、フレーム・ポインタ(FP)
と手順規定ポインタ(PBP)と静的データ・ポインタ
(STP)とを含む。KOSPO10318に関して前
に論述したように、これらのABPは手順のPEDに内
在する。ある手順が呼出される時、これらのABPはこ
の手順のPEDからABR10364に転送され、この
手順の持続期間の間これに内在する。図103に示すよ
うに、FPはKOSMAS10334における手順11
のフレーム10412のリンク・ポインタ・ブロック1
0416と局所ポインタ・ブロック10418間を指示
する。PBPは、KOSPO10318の諸素子が見出
される基準点を指示する。SDPはKOSSDA103
26を指示する。もし手順11が例えば手順12を呼出
すならば、手順11のABPは、手順11に対するSS
10336のスタック・フレーム10510の手順ポイ
ンタ・ブロック10516に転送される。手順11に戻
ると同時に、手順11のABPは手順ポインタ・ブロッ
ク10516からABR10364に対して転送され、
手順11の実行が再開される。
VP10310の手順11がその時実行中であると仮定
すると、GRF10354は主として手順11の実行に
おいて使用されたVP10310に対するあるポインタ
を含んでいる。前述の如く、CS10110のアドレス
指定構造は、各手順に対するあるアーキテクチャ規定ポ
インタ(APB)を含む。APBはCS10110のア
ドレス空間をアクセスするためのフレームワークを提供
する。各手順のABPは、フレーム・ポインタ(FP)
と手順規定ポインタ(PBP)と静的データ・ポインタ
(STP)とを含む。KOSPO10318に関して前
に論述したように、これらのABPは手順のPEDに内
在する。ある手順が呼出される時、これらのABPはこ
の手順のPEDからABR10364に転送され、この
手順の持続期間の間これに内在する。図103に示すよ
うに、FPはKOSMAS10334における手順11
のフレーム10412のリンク・ポインタ・ブロック1
0416と局所ポインタ・ブロック10418間を指示
する。PBPは、KOSPO10318の諸素子が見出
される基準点を指示する。SDPはKOSSDA103
26を指示する。もし手順11が例えば手順12を呼出
すならば、手順11のABPは、手順11に対するSS
10336のスタック・フレーム10510の手順ポイ
ンタ・ブロック10516に転送される。手順11に戻
ると同時に、手順11のABPは手順ポインタ・ブロッ
ク10516からABR10364に対して転送され、
手順11の実行が再開される。
【0217】MCR10336は、手順11の実行にお
いてCS10110のマイクロ機械により使用されるあ
るポインタを含む。図103に示されるCS10110
のマイクロ機械ポインタは、プログラム・カウンタ(P
C)と、名前テーブル・ポインタ(名前形式)と、Sイ
ンタプリタ・ポインタ(SIP)と、機密保護スタック
・ポインタ(SSP)と、機密保護スタックの最上位オ
フセット(SSTO)を含む。NTPおよびSIPにつ
いては、KOSPO10318に関して前に説明した
が、KOSPO10318に内在する。NTPおよびS
IPは、手順11の実行の開始時においてMCR103
36に転送される。図103に示されるように、PCは
CS10110によりその時実行中の手順11のSIN
に対するポインタである。PCは最初に手順11のPB
PおよびCEPから生成され、その後手順11のSIN
シーケンスが実行される時CS10110のマイクロ機
械により増分される。以下の論議において説明するよう
に、SSPおよびSSTOは、SS10336のスタッ
ク・ヘッダ10512とフレーム・ヘッダ10514に
含まれる情報から生成される。図103に示されるよう
に、SSPはSS10336の開始を指示するが、SS
TOはSS10336のその時の最上位フレームが、S
SPに関するオフセットを表示することによりMRS1
0520の手順ポインタ・ブロック10516とMRF
10518のいずれであるかを表示する。もし手順11
が後続の手順を呼出すならば、MCR10366の内容
はSS10336における手順11の手順ポインタ・ブ
ロック10516に転送され、手順11への戻りと同時
にMCR10366に戻される。
いてCS10110のマイクロ機械により使用されるあ
るポインタを含む。図103に示されるCS10110
のマイクロ機械ポインタは、プログラム・カウンタ(P
C)と、名前テーブル・ポインタ(名前形式)と、Sイ
ンタプリタ・ポインタ(SIP)と、機密保護スタック
・ポインタ(SSP)と、機密保護スタックの最上位オ
フセット(SSTO)を含む。NTPおよびSIPにつ
いては、KOSPO10318に関して前に説明した
が、KOSPO10318に内在する。NTPおよびS
IPは、手順11の実行の開始時においてMCR103
36に転送される。図103に示されるように、PCは
CS10110によりその時実行中の手順11のSIN
に対するポインタである。PCは最初に手順11のPB
PおよびCEPから生成され、その後手順11のSIN
シーケンスが実行される時CS10110のマイクロ機
械により増分される。以下の論議において説明するよう
に、SSPおよびSSTOは、SS10336のスタッ
ク・ヘッダ10512とフレーム・ヘッダ10514に
含まれる情報から生成される。図103に示されるよう
に、SSPはSS10336の開始を指示するが、SS
TOはSS10336のその時の最上位フレームが、S
SPに関するオフセットを表示することによりMRS1
0520の手順ポインタ・ブロック10516とMRF
10518のいずれであるかを表示する。もし手順11
が後続の手順を呼出すならば、MCR10366の内容
はSS10336における手順11の手順ポインタ・ブ
ロック10516に転送され、手順11への戻りと同時
にMCR10366に戻される。
【0218】レジスタ10360は、CS10110の
操作についての以下の詳細な論述において述べる更に別
のポインタと、その時の手順の局所データを含むため使
用可能なあるレジスタを含む。
操作についての以下の詳細な論述において述べる更に別
のポインタと、その時の手順の局所データを含むため使
用可能なあるレジスタを含む。
【0219】次にスタック・レジスタ10362につい
て述べれば、MIS10368はその時の手順のMRS
10520の上方への拡張即ち加速である。前に述べた
ように、MRS10520は、ある特定の手順の実行中
あるマイクロルーチンの実行の際CS10110のマイ
クロ機械によって使用される。MIS10368は、F
U10120に対する前記手順のMRS10520のあ
る最も後のMRF10518を加速することによってこ
れらのマイクロルーチンを実行する際のCS10110
のマイクロ機械の効率を強化する。MIS10368
は、例えば、その時の手順のMRS10520の8つま
での最も後のMRF10518を含むことができる。種
々のマイクロルーチンがMRS10520から呼出され
あるいはこれから戻される時、MRF10518はSS
10336とMIS10368間で適宜転送され、その
結果MIS10368は常に少なくともMRS1052
0の最上位のMRF10518を含み、またほとんどの
場合MRS10520の8つのMRF10518を含
む。MISPR10356はMIS10368を保持す
るためのCS10110のマイクロ機械機構である。M
ISPR10356はその時のポインタと、前のポイン
タと最下位のポインタとを含む。前のポインタはMIS
10368における前のMRF10518を指示し、最
下位のポインタはMIS10368における最下位のM
RF10518を指示する。MISPR10356のそ
の時のポインタ、前のポインタおよび最下位のポインタ
は、MRF10518がSS10336とMIS103
68間で転送される時更新される。もし手順11が後続
の手順を呼出すならば、全ての手順11のMRF105
18はMIS10368からSS10356における手
順11のMRS10520に対して転送される。手順1
1への変換と同時に、手順11のMRF10518のフ
レームの内7つまでがSS10336からMIS103
68に戻される。
て述べれば、MIS10368はその時の手順のMRS
10520の上方への拡張即ち加速である。前に述べた
ように、MRS10520は、ある特定の手順の実行中
あるマイクロルーチンの実行の際CS10110のマイ
クロ機械によって使用される。MIS10368は、F
U10120に対する前記手順のMRS10520のあ
る最も後のMRF10518を加速することによってこ
れらのマイクロルーチンを実行する際のCS10110
のマイクロ機械の効率を強化する。MIS10368
は、例えば、その時の手順のMRS10520の8つま
での最も後のMRF10518を含むことができる。種
々のマイクロルーチンがMRS10520から呼出され
あるいはこれから戻される時、MRF10518はSS
10336とMIS10368間で適宜転送され、その
結果MIS10368は常に少なくともMRS1052
0の最上位のMRF10518を含み、またほとんどの
場合MRS10520の8つのMRF10518を含
む。MISPR10356はMIS10368を保持す
るためのCS10110のマイクロ機械機構である。M
ISPR10356はその時のポインタと、前のポイン
タと最下位のポインタとを含む。前のポインタはMIS
10368における前のMRF10518を指示し、最
下位のポインタはMIS10368における最下位のM
RF10518を指示する。MISPR10356のそ
の時のポインタ、前のポインタおよび最下位のポインタ
は、MRF10518がSS10336とMIS103
68間で転送される時更新される。もし手順11が後続
の手順を呼出すならば、全ての手順11のMRF105
18はMIS10368からSS10356における手
順11のMRS10520に対して転送される。手順1
1への変換と同時に、手順11のMRF10518のフ
レームの内7つまでがSS10336からMIS103
68に戻される。
【0220】MOS10370について述べれば、MO
S10370は、障害即ちエラー条件を取扱うためのあ
るマイクロルーチンに対するCS10110のマイクロ
機械により使用されるスタック機構である。これらのマ
イクロルーチンは常に完了するまでランし、その結果M
OS10370は完全にFU10120内に存在し、M
EM10112におけるVP10310に内在するスタ
ックの拡張ではない。MOS10370は、例えば、8
つのフレームを含むことができる。もし8つ以上の連続
的な障害即ちエラー条件が生じるならば、これはCS1
0110の主な故障と考えられる。CS10110の制
御はこの時DP10118に対して転送することができ
る。以下の論述において述べるように、次にDP101
18における診断プログラムがCS10110の障害即
ちエラーを診断してこれを判定するために使用される。
CS10110の他の実施態様においては、MOS10
370は、CS10110に要求されるそれ自体の診断
および補正能力の程度に依存して、更に多いか少ないス
タック・フレームを含むことができる。
S10370は、障害即ちエラー条件を取扱うためのあ
るマイクロルーチンに対するCS10110のマイクロ
機械により使用されるスタック機構である。これらのマ
イクロルーチンは常に完了するまでランし、その結果M
OS10370は完全にFU10120内に存在し、M
EM10112におけるVP10310に内在するスタ
ックの拡張ではない。MOS10370は、例えば、8
つのフレームを含むことができる。もし8つ以上の連続
的な障害即ちエラー条件が生じるならば、これはCS1
0110の主な故障と考えられる。CS10110の制
御はこの時DP10118に対して転送することができ
る。以下の論述において述べるように、次にDP101
18における診断プログラムがCS10110の障害即
ちエラーを診断してこれを判定するために使用される。
CS10110の他の実施態様においては、MOS10
370は、CS10110に要求されるそれ自体の診断
および補正能力の程度に依存して、更に多いか少ないス
タック・フレームを含むことができる。
【0221】RCWS10358は2つの部分からなる
スタック機構である。第1の部分はMIS10368と
並列に作用し、第2の部分はMOS10370と並列に
作用する。前述の如く、CS10110はマイクロコー
ド制御されたシステムである。RCWSは、その時の手
順が障害即ちエラー条件により遮断される時あるいはそ
の後の手順が呼出される時、CS10110マイクロ機
械によって実行されつつあるその時のマイクロ命令を記
憶するためのスタックである。MIS10368と関連
するRCWS10358の部分は、MIS10368に
内在する各MRF10518に対する記入を含む。これ
らのRCWS10358の記入は、それらの関連するM
RF10518と並列にSS10335とMIS103
68間に転送される。SS10336に存在する時は、
これらのRCWS10358の記入はその関連するMR
F10518内に記憶される。MOS10370と関連
するRCWS10358の部分は、同様にMOS103
70と並列に作用し、MOS10370と同様に、ME
M10112に常駐するスタックの拡張ではない。
スタック機構である。第1の部分はMIS10368と
並列に作用し、第2の部分はMOS10370と並列に
作用する。前述の如く、CS10110はマイクロコー
ド制御されたシステムである。RCWSは、その時の手
順が障害即ちエラー条件により遮断される時あるいはそ
の後の手順が呼出される時、CS10110マイクロ機
械によって実行されつつあるその時のマイクロ命令を記
憶するためのスタックである。MIS10368と関連
するRCWS10358の部分は、MIS10368に
内在する各MRF10518に対する記入を含む。これ
らのRCWS10358の記入は、それらの関連するM
RF10518と並列にSS10335とMIS103
68間に転送される。SS10336に存在する時は、
これらのRCWS10358の記入はその関連するMR
F10518内に記憶される。MOS10370と関連
するRCWS10358の部分は、同様にMOS103
70と並列に作用し、MOS10370と同様に、ME
M10112に常駐するスタックの拡張ではない。
【0222】要約すれば、CS10110において活動
状態の各プロセスは個々の完全な自立した要素、即ち仮
想プロセスとして存在し、構造的に定義域単位に構成さ
れる。各仮想プロセスは、手順およびデータオブジェク
ト以外に、このプロセスの手順の局所データを記憶する
1組のMASを含む。各仮想プロセスはまた、CS10
110のマイクロ機械スタックの、仮想プロセスのスタ
ックされた各手順に関するCS10110のマイクロ機
械の状態を記憶するためのSS10336を含む。CS
10110のマイクロ機械は仮想プロセスの手順の実行
の際CS10110のマイクロ機械により使用される1
組の情報構造とレジスタ10360とMIS10368
とMOS10370とRCWS10358とを含む。こ
れらのCS10110のマイクロ機械の情報構造はその
時実行中の仮想プロセスと共有され、このためその時の
仮想プロセスに対する有効な加速機構であるが、他のも
のはCS10110のマイクロ機械に対して完全に内部
的である。
状態の各プロセスは個々の完全な自立した要素、即ち仮
想プロセスとして存在し、構造的に定義域単位に構成さ
れる。各仮想プロセスは、手順およびデータオブジェク
ト以外に、このプロセスの手順の局所データを記憶する
1組のMASを含む。各仮想プロセスはまた、CS10
110のマイクロ機械スタックの、仮想プロセスのスタ
ックされた各手順に関するCS10110のマイクロ機
械の状態を記憶するためのSS10336を含む。CS
10110のマイクロ機械は仮想プロセスの手順の実行
の際CS10110のマイクロ機械により使用される1
組の情報構造とレジスタ10360とMIS10368
とMOS10370とRCWS10358とを含む。こ
れらのCS10110のマイクロ機械の情報構造はその
時実行中の仮想プロセスと共有され、このためその時の
仮想プロセスに対する有効な加速機構であるが、他のも
のはCS10110のマイクロ機械に対して完全に内部
的である。
【0223】CS10110の主な特徴は、プロセスの
マクロスタックおよび機密保護スタックの各々がMEM
10112に存在することである。CS10110のマ
クロスタックおよび機密保護スタックは、従って深さに
おいて実質的に制約を受けない。
マクロスタックおよび機密保護スタックの各々がMEM
10112に存在することである。CS10110のマ
クロスタックおよび機密保護スタックは、従って深さに
おいて実質的に制約を受けない。
【0224】CS10110のマイクロ機械の更に別の
特徴はGRF10354の使用である。GRF1035
4は、CS10110の1つの実施態様においては、例
えば256個のレジスタを含む一体のレジスタ・アレイ
である。GRF10354のある部分、即ちアドレス場
所は、夫々GR10360と、MIS10368とMO
S10370に対して専用化されている。従って、GR
10360と、MIS10368と、MOS10370
は、GRF10354のアドレス空間の再割当てにより
CS10110の最適効率を得るのに必要な如くに調整
することができる。CS10110の他の実施態様にお
いては、GR10360と、MIS10368とMOS
10370は機能的に別個のレジスタ・アレイとして構
成することができる。
特徴はGRF10354の使用である。GRF1035
4は、CS10110の1つの実施態様においては、例
えば256個のレジスタを含む一体のレジスタ・アレイ
である。GRF10354のある部分、即ちアドレス場
所は、夫々GR10360と、MIS10368とMO
S10370に対して専用化されている。従って、GR
10360と、MIS10368と、MOS10370
は、GRF10354のアドレス空間の再割当てにより
CS10110の最適効率を得るのに必要な如くに調整
することができる。CS10110の他の実施態様にお
いては、GR10360と、MIS10368とMOS
10370は機能的に別個のレジスタ・アレイとして構
成することができる。
【0225】プロセス構造10210の構造および作用
について簡単に説明したが、次にVP状態ブロック10
218について説明しよう。
について簡単に説明したが、次にVP状態ブロック10
218について説明しよう。
【0226】C.仮想プロセッサ状態ブロックおよび仮
想プロセスの形成(図102) 再び図102において、VP状態ブロック10218は
プロセスの管理および制御において使用される。VP状
態ブロック10218は、CS10110による実行の
ため選択された各仮想プロセス(VP)に対するVP状
態ブロックを含む。かかる各VP状態ブロックは少なく
とも下記の情報を含む。即ち、 (1)VPの状態即ち識別番号。
想プロセスの形成(図102) 再び図102において、VP状態ブロック10218は
プロセスの管理および制御において使用される。VP状
態ブロック10218は、CS10110による実行の
ため選択された各仮想プロセス(VP)に対するVP状
態ブロックを含む。かかる各VP状態ブロックは少なく
とも下記の情報を含む。即ち、 (1)VPの状態即ち識別番号。
【0227】(2)VPの特定の主体および特定のプロ
セスを識別する記入。
セスを識別する記入。
【0228】(3)前記VPの機密保護スタック(例え
ば、SS10336)に対するAONポインタ。
ば、SS10336)に対するAONポインタ。
【0229】(4)VPのMASスタックオブジェクト
(例えば、MAS10328乃至10334)のAO
N。
(例えば、MAS10328乃至10334)のAO
N。
【0230】(5)CS10110のVP管理システム
により使用されるある情報。
により使用されるある情報。
【0231】各VP状態ブロックに含まれる情報は、こ
れにより関連するVPのその時の状態を規定する。
れにより関連するVPのその時の状態を規定する。
【0232】プロセスは、既に存在するVPとして現わ
れるように元のアクセス・レコードを形成してこのアク
セス・レコードをCS10110にロードすることによ
りCS10110にロードされる。VPは、そのマイク
ロ機械の状態記入のため形成されたマクロスタックおよ
び機密保護スタックのオブジェクトに対するポインタ
と、ユーザ・プログラムに対するポインタとを含むプロ
セスオブジェクトを形成することによって形成される。
この時、CS10110のKOSは、このプロセスに対
するヘッダを用いてマクロスタックおよび機密保護スタ
ックのオブジェクトを生成し、以下に述べるように、機
密保護機構10230に対して前記プロセスオブジェク
トに関する保護情報をロードする。次いで、CS101
10のKOSはCS10110のVP管理プログラムに
より選択される空のVPSBに対してこの元の機械状態
レコードを複写し、これにより新たに形成されたVPを
CS10110に拘束する。この時、KOS初期設定手
順が、例えば、あるコンパイラを介してユーザ・プログ
ラムにおける呼出しによってVPの形成を完了する。新
たに形成されたVPはこの時CS10110によって実
行することができる。
れるように元のアクセス・レコードを形成してこのアク
セス・レコードをCS10110にロードすることによ
りCS10110にロードされる。VPは、そのマイク
ロ機械の状態記入のため形成されたマクロスタックおよ
び機密保護スタックのオブジェクトに対するポインタ
と、ユーザ・プログラムに対するポインタとを含むプロ
セスオブジェクトを形成することによって形成される。
この時、CS10110のKOSは、このプロセスに対
するヘッダを用いてマクロスタックおよび機密保護スタ
ックのオブジェクトを生成し、以下に述べるように、機
密保護機構10230に対して前記プロセスオブジェク
トに関する保護情報をロードする。次いで、CS101
10のKOSはCS10110のVP管理プログラムに
より選択される空のVPSBに対してこの元の機械状態
レコードを複写し、これにより新たに形成されたVPを
CS10110に拘束する。この時、KOS初期設定手
順が、例えば、あるコンパイラを介してユーザ・プログ
ラムにおける呼出しによってVPの形成を完了する。新
たに形成されたVPはこの時CS10110によって実
行することができる。
【0233】VP状態ブロック10218およびVPの
形成について簡単に述べたが、CS10110のアドレ
ス指定構造10220については以下に説明することに
する。
形成について簡単に述べたが、CS10110のアドレ
ス指定構造10220については以下に説明することに
する。
【0234】D.アドレス指定構造10220(図10
3,図106,図107,図108) 1.オブジェクト、UID、AON、名前および物理的
アドレス(図106) 前述の如く、CS10110に対してアクセス可能なデ
ータ空間は、セグメント、即ちオブジェクトと呼ばれる
コンテナに分割される。CS10110の一実施態様に
おいては、各オブジェクトのアクセス可能なデータ空間
は情報の232ビットの容量を有し、各々が214ビットの
機構を有する218ページに構成される。
3,図106,図107,図108) 1.オブジェクト、UID、AON、名前および物理的
アドレス(図106) 前述の如く、CS10110に対してアクセス可能なデ
ータ空間は、セグメント、即ちオブジェクトと呼ばれる
コンテナに分割される。CS10110の一実施態様に
おいては、各オブジェクトのアクセス可能なデータ空間
は情報の232ビットの容量を有し、各々が214ビットの
機構を有する218ページに構成される。
【0235】図106Aにおいては、CS10110の
アドレス指定構造の略図が示されている。CS1011
0において使用するため、あるいはその操作により生成
される各オブジェクトは、個々の記述子(UID)が恒
久的に割当てられる。1つのオブジェクトのUIDは、
如何なる時点においてもオブジェクトを一義的に識別し
て見出すことを可能にする。各UIDは80ビットの数
であり、このため全てのCS10110のアドレス指定
可能な総空間は、各オブジェクトが232ビットまでの情
報を含み得る280のオブジェクトを含む。図106に示
されるように、各80ビットUIDは、32ビットの局
所割当て単位識別子(LAUID)と48ビットのオブ
ジェクト連続番号(OSN)とからなる。LAUIDは
個々のCS10110システムと関連している。LAU
IDは、ある特定のオブジェクトを生成する特定のCS
10110システムを識別する。各UIDは、局所割当
て単位グループ数(LAUGN)と局所割当て単位連続
数(LAUSN)とからなる。LAUGNは個々のCS
10110システムに対して割当てされ、ある特定のシ
ステムに対して一義的になるように保証することができ
る。しかし、ある特定のシステムは、LAUGNとCS
10110システム間で時間が変化するマッピングが存
在するように、1つ以上のLAUGNの割当てが可能で
ある。LAUSNはある特定のシステム内部で割当てら
れ、LAUSNはある特定のシステム内部で一義的であ
るが、LAUSNはシステム間では一義的である必要は
なく、またある特定のシステムの物理的構造にマップす
る必要はない。
アドレス指定構造の略図が示されている。CS1011
0において使用するため、あるいはその操作により生成
される各オブジェクトは、個々の記述子(UID)が恒
久的に割当てられる。1つのオブジェクトのUIDは、
如何なる時点においてもオブジェクトを一義的に識別し
て見出すことを可能にする。各UIDは80ビットの数
であり、このため全てのCS10110のアドレス指定
可能な総空間は、各オブジェクトが232ビットまでの情
報を含み得る280のオブジェクトを含む。図106に示
されるように、各80ビットUIDは、32ビットの局
所割当て単位識別子(LAUID)と48ビットのオブ
ジェクト連続番号(OSN)とからなる。LAUIDは
個々のCS10110システムと関連している。LAU
IDは、ある特定のオブジェクトを生成する特定のCS
10110システムを識別する。各UIDは、局所割当
て単位グループ数(LAUGN)と局所割当て単位連続
数(LAUSN)とからなる。LAUGNは個々のCS
10110システムに対して割当てされ、ある特定のシ
ステムに対して一義的になるように保証することができ
る。しかし、ある特定のシステムは、LAUGNとCS
10110システム間で時間が変化するマッピングが存
在するように、1つ以上のLAUGNの割当てが可能で
ある。LAUSNはある特定のシステム内部で割当てら
れ、LAUSNはある特定のシステム内部で一義的であ
るが、LAUSNはシステム間では一義的である必要は
なく、またある特定のシステムの物理的構造にマップす
る必要はない。
【0236】OSNはLAUにより形成された個々のオ
ブジェクトと関連させられ、また各CS10110にお
いてアーキテクチャ・クロックにより生成される。アー
キテクチャ・クロックは、増加する時間を表わす64ビ
ットの2進数として定義される。アーキテクチャ・クロ
ックの最下位ビットは600ピコ秒の増分を表わし、最
上位ビットは127年の増分を表わす。CS10110
の本実施例においては、アーキテクチャ・クロック時間
のある最上位および最下位ビットは一般に必要とされな
い構成として看過される。アーキテクチャ・クロックに
より表示される時間は任意の固定された時点に関して測
定される。この時点は、およそ構成される全てのCS1
0110に対して同じである。従って、経験的に全ての
CS10110は同じアーキテクチャ・クロック時間を
呈し、生成される全てのUIDは共通の基礎を有するこ
とになる。OSNの生成のためのアーキテクチャ・クロ
ックの使用は、もしCS10110が故障して後で再び
初期化される場合にOSNの偶発的な複写の可能性を回
避するという点で有利となる。
ブジェクトと関連させられ、また各CS10110にお
いてアーキテクチャ・クロックにより生成される。アー
キテクチャ・クロックは、増加する時間を表わす64ビ
ットの2進数として定義される。アーキテクチャ・クロ
ックの最下位ビットは600ピコ秒の増分を表わし、最
上位ビットは127年の増分を表わす。CS10110
の本実施例においては、アーキテクチャ・クロック時間
のある最上位および最下位ビットは一般に必要とされな
い構成として看過される。アーキテクチャ・クロックに
より表示される時間は任意の固定された時点に関して測
定される。この時点は、およそ構成される全てのCS1
0110に対して同じである。従って、経験的に全ての
CS10110は同じアーキテクチャ・クロック時間を
呈し、生成される全てのUIDは共通の基礎を有するこ
とになる。OSNの生成のためのアーキテクチャ・クロ
ックの使用は、もしCS10110が故障して後で再び
初期化される場合にOSNの偶発的な複写の可能性を回
避するという点で有利となる。
【0237】前述の如く、CS10110によりあるい
はこれにおいて使用するため生成される各オブジェクト
はその関連するUIDによって一義的に識別される。オ
ブジェクトのUIDに対してオフセット(O)および長
さ(L)の情報を付属させることにより、ある特定のオ
ブジェクトに存在するデータの特定のセグメントを見出
すために使用することができるUID論理アドレスが生
成される。図106に示すように、UID論理アドレス
のOおよびLフィールドは各々32ビットである。従っ
て、OおよびLフィールドは1つのオブジェクトにおい
て232-1ビットからどんな特定のビットでも表示するこ
とができ、このためオブジェクトにおける情報のビット
の細分性を有するアドレス指定を可能にする。
はこれにおいて使用するため生成される各オブジェクト
はその関連するUIDによって一義的に識別される。オ
ブジェクトのUIDに対してオフセット(O)および長
さ(L)の情報を付属させることにより、ある特定のオ
ブジェクトに存在するデータの特定のセグメントを見出
すために使用することができるUID論理アドレスが生
成される。図106に示すように、UID論理アドレス
のOおよびLフィールドは各々32ビットである。従っ
て、OおよびLフィールドは1つのオブジェクトにおい
て232-1ビットからどんな特定のビットでも表示するこ
とができ、このためオブジェクトにおける情報のビット
の細分性を有するアドレス指定を可能にする。
【0238】図106に示すように、またこれまでに述
べたように、CS10110において活動状態の各オブ
ジェクトは、JP10114内でのみ有効な活動状態オ
ブジェクト番号(AON)と呼ばれる短い一時的な単一
の識別子を割当てられる。CS10110のアドレス空
間において存在するものよりも少ないオブジェクトがC
S10110において活動状態であるため、CS101
10の本実施例においては、AONは長さが14ビット
である。ある特定のCS10110は、従って、214ま
での活動状態のオブジェクトを保有することができる。
1つのオブジェクトのAONは、そのオブジェクトのU
IDの代りにJP10114内で使用される。例えば、
プロセス構造10210に関して前に論述したように、
ある手順のFPはそのプロセスのMASにおける前記手
順のフレームの開始を指示する。このFPがSS103
36に存在する時、これはUIDとして表示される。こ
の手順が実行される時、FPはSS10336からAB
R10364に対して転送され、対応するAONに変換
される。同様に、この手順がスタックされる時、FPは
SS10336に戻され、またこの際対応するUIDに
変換される。再び、あるオブジェクトにおける特定のデ
ータ・セグメントは、オブジェクトのAONプラス関連
する32ビットのオフセット(O)および(L)のフィ
ールドからなるAON論理アドレスによりアドレス指定
することができる。
べたように、CS10110において活動状態の各オブ
ジェクトは、JP10114内でのみ有効な活動状態オ
ブジェクト番号(AON)と呼ばれる短い一時的な単一
の識別子を割当てられる。CS10110のアドレス空
間において存在するものよりも少ないオブジェクトがC
S10110において活動状態であるため、CS101
10の本実施例においては、AONは長さが14ビット
である。ある特定のCS10110は、従って、214ま
での活動状態のオブジェクトを保有することができる。
1つのオブジェクトのAONは、そのオブジェクトのU
IDの代りにJP10114内で使用される。例えば、
プロセス構造10210に関して前に論述したように、
ある手順のFPはそのプロセスのMASにおける前記手
順のフレームの開始を指示する。このFPがSS103
36に存在する時、これはUIDとして表示される。こ
の手順が実行される時、FPはSS10336からAB
R10364に対して転送され、対応するAONに変換
される。同様に、この手順がスタックされる時、FPは
SS10336に戻され、またこの際対応するUIDに
変換される。再び、あるオブジェクトにおける特定のデ
ータ・セグメントは、オブジェクトのAONプラス関連
する32ビットのオフセット(O)および(L)のフィ
ールドからなるAON論理アドレスによりアドレス指定
することができる。
【0239】あるプロセスに現われる各オペランドは1
つの名前が割当てられ、1つのプロセスのオペランドに
関する全ての照合はこれらの割当てられた名前による。
図106Bに示されるように、CS10110の本実施
例においては、各名前は8または12または16ビット
数である。ある特定のプロセスにおける全ての名前は同
じ長さとなる。これまでの論述において述べたように、
あるプロセスの実行中に現われる名前は、手順の名前テ
ーブル10350または名前カッシェ装置10226を
介してAONの論理アドレスに変えることができる。以
下に述べるように、あるオペランドの名前に対応するあ
るAONの論理アドレスは、従って、問題のオペランド
を見出すためMEM10112の物理的アドレスに対し
て評価することができる。
つの名前が割当てられ、1つのプロセスのオペランドに
関する全ての照合はこれらの割当てられた名前による。
図106Bに示されるように、CS10110の本実施
例においては、各名前は8または12または16ビット
数である。ある特定のプロセスにおける全ての名前は同
じ長さとなる。これまでの論述において述べたように、
あるプロセスの実行中に現われる名前は、手順の名前テ
ーブル10350または名前カッシェ装置10226を
介してAONの論理アドレスに変えることができる。以
下に述べるように、あるオペランドの名前に対応するあ
るAONの論理アドレスは、従って、問題のオペランド
を見出すためMEM10112の物理的アドレスに対し
て評価することができる。
【0240】MEM10112の物理的アドレスに対す
るAONの論理アドレスの評価については図106Cに
おいて示される。AONの論理アドレスのLフィールド
は、ある物理的アドレスに対するあるAONの論理アド
レスの評価においては関与せず、従って明瞭化のオブジ
ェクトのため、図106Cには示されない。AONの論
理アドレスのLフィールドは、図106Cに示された評
価手順の各ステップにおいて示されるアドレスに帰属す
ることが理解されよう。
るAONの論理アドレスの評価については図106Cに
おいて示される。AONの論理アドレスのLフィールド
は、ある物理的アドレスに対するあるAONの論理アド
レスの評価においては関与せず、従って明瞭化のオブジ
ェクトのため、図106Cには示されない。AONの論
理アドレスのLフィールドは、図106Cに示された評
価手順の各ステップにおいて示されるアドレスに帰属す
ることが理解されよう。
【0241】前述の如く、オブジェクトは各々が214ビ
ットのデータを含む218ページに構成された232ビット
である。MEM10112は、CS10110の本実施
例においては各々が214ビットのデータを含むフレーム
に同様に物理的に構成されている。CS10110の他
の実施態様においては、ページとフレームの双方が異な
るサイズであるが、AON論理アドレスのMEM101
12の物理的アドレスへの翻訳は今述べたものと類似す
ることになろう。
ットのデータを含む218ページに構成された232ビット
である。MEM10112は、CS10110の本実施
例においては各々が214ビットのデータを含むフレーム
に同様に物理的に構成されている。CS10110の他
の実施態様においては、ページとフレームの双方が異な
るサイズであるが、AON論理アドレスのMEM101
12の物理的アドレスへの翻訳は今述べたものと類似す
ることになろう。
【0242】AONの論理アドレスのOフィールドは、
オブジェクトの開始に関連して、オブジェクト内のアド
レス指定されたデータセグメントの開始を表わす32ビ
ット数として前に説明された。このOフィールドの18
の最上位ビットは、アドレス指定されたデータの第1の
ビットが生じるオブジェクト内のページの番号(P)を
表わす。Oフィールドのこの14の最下位ビットは、ア
ドレス指定されたデータの第1のビットの前記ページ内
の、ページの開始に関するオフセット(Op)を表わ
す。従って、AONの論理アドレスのOフィールドは、
図106Cに示されるように、18ビットのページ
(P)フィールドとページ(Op)フィールド内の14
ビットのオフセットとに分割される。前述の如く、ME
M10112の物理的フレームのサイズがオブジェクト
のページ・サイズに等しいため、AONの論理アドレス
Opフィールドは物理的アドレスのフレーム(Op)フ
ィールド内のオフセットとして直接使用することができ
る。以下に述べるように、この時AONの論理アドレス
のAONおよびPフィールドは、アドレス指定機構10
220を介して、前記ページが存在するMEM1011
2のフレームのフレーム番号(FN)と関連させること
ができるのである。
オブジェクトの開始に関連して、オブジェクト内のアド
レス指定されたデータセグメントの開始を表わす32ビ
ット数として前に説明された。このOフィールドの18
の最上位ビットは、アドレス指定されたデータの第1の
ビットが生じるオブジェクト内のページの番号(P)を
表わす。Oフィールドのこの14の最下位ビットは、ア
ドレス指定されたデータの第1のビットの前記ページ内
の、ページの開始に関するオフセット(Op)を表わ
す。従って、AONの論理アドレスのOフィールドは、
図106Cに示されるように、18ビットのページ
(P)フィールドとページ(Op)フィールド内の14
ビットのオフセットとに分割される。前述の如く、ME
M10112の物理的フレームのサイズがオブジェクト
のページ・サイズに等しいため、AONの論理アドレス
Opフィールドは物理的アドレスのフレーム(Op)フ
ィールド内のオフセットとして直接使用することができ
る。以下に述べるように、この時AONの論理アドレス
のAONおよびPフィールドは、アドレス指定機構10
220を介して、前記ページが存在するMEM1011
2のフレームのフレーム番号(FN)と関連させること
ができるのである。
【0243】UID,UIDの論理アドレス、名前、A
ON、AON論理アドレスおよびMEM10112の物
理的アドレス間の関係について簡単に説明したが、アド
レス指定機構10220について以下に説明することに
する。
ON、AON論理アドレスおよびMEM10112の物
理的アドレス間の関係について簡単に説明したが、アド
レス指定機構10220について以下に説明することに
する。
【0244】2.アドレス指定機構10220(図10
7) 図107においては、コンピュータ・システム1011
0のアドレス指定機構10220の略図が示される。前
述の如く、アドレス指定機構10220は、UID/A
ONテーブル10220と、記憶管理テーブル1022
4と、名前カッシェ装置10226と、アドレス翻訳装
置10228とからなる。
7) 図107においては、コンピュータ・システム1011
0のアドレス指定機構10220の略図が示される。前
述の如く、アドレス指定機構10220は、UID/A
ONテーブル10220と、記憶管理テーブル1022
4と、名前カッシェ装置10226と、アドレス翻訳装
置10228とからなる。
【0245】UID/AONテーブル10222は、各
々のオブジェクトUIDをその割当てられたAONと関
連させ、AOTハッシュ・テーブル(AOTHT)10
710と活動状態オブジェクトテーブル(AOT)10
712と、活動状態オブジェクトテーブル別表(AOT
A)10714とを含む。
々のオブジェクトUIDをその割当てられたAONと関
連させ、AOTハッシュ・テーブル(AOTHT)10
710と活動状態オブジェクトテーブル(AOT)10
712と、活動状態オブジェクトテーブル別表(AOT
A)10714とを含む。
【0246】ある特定のUIDと対応するAONはAO
THT10710を介して決定される。このUIDはA
OTHT10710に対するUID指標を提供するため
ハッシュされ、このAOTHTは次に対応するAONを
提供する。AOTHT10710は、丁度今述べたよう
に、有効にAONへのUIDの迅速な翻訳を提供するA
OT10712の加速機構である。AONは、対応する
AON記入(AOTE)を提供するAOT10712に
対する指標として使用される。以下のCS10110の
詳細な論述において論議される如きAOTEは、他の情
報の他に、AOTEを指示するAONと対応するUID
を含む。AONとUID間の翻訳を提供することに加え
て、AOTEのUIDは元のUIDと比較されてAOT
HT10710からAONの適正さを判定する。
THT10710を介して決定される。このUIDはA
OTHT10710に対するUID指標を提供するため
ハッシュされ、このAOTHTは次に対応するAONを
提供する。AOTHT10710は、丁度今述べたよう
に、有効にAONへのUIDの迅速な翻訳を提供するA
OT10712の加速機構である。AONは、対応する
AON記入(AOTE)を提供するAOT10712に
対する指標として使用される。以下のCS10110の
詳細な論述において論議される如きAOTEは、他の情
報の他に、AOTEを指示するAONと対応するUID
を含む。AONとUID間の翻訳を提供することに加え
て、AOTEのUIDは元のUIDと比較されてAOT
HT10710からAONの適正さを判定する。
【0247】AON10712と関連しているのはAO
TA10714である。AOTA10714はAOT1
0714の拡張であり、活動状態のオブジェクトに関す
るある情報、例えば活動状態の各手順オブジェクトの実
行領域を含む。
TA10714である。AOTA10714はAOT1
0714の拡張であり、活動状態のオブジェクトに関す
るある情報、例えば活動状態の各手順オブジェクトの実
行領域を含む。
【0248】UIDおよびAONを関連させるためのC
S10110の機構について簡単に述べたが、オペラン
ド名をAONの論理アドレスに対して解明するためのC
S10110の機構について以下に説明することにす
る。
S10110の機構について簡単に述べたが、オペラン
ド名をAONの論理アドレスに対して解明するためのC
S10110の機構について以下に説明することにす
る。
【0249】3.名前の解明(図103,図108) 最初に、図103において、VPにおける各手順オブジ
ェクト、例えばVP10310におけるKOSPO10
318については、名前テーブル(NT)10350を
含む如くに説明した。各NT10350は、その名前が
その手順に現われる各オペランドに対する名前テーブル
の記入(NTE)を含む。各NTEはこの名前によりデ
ータの形式が表示されまたDTセグメントの長さが表示
される取出しモード情報を含むAON論理アドレスに対
して対応する名前を解明する方法についての記述を含
む。
ェクト、例えばVP10310におけるKOSPO10
318については、名前テーブル(NT)10350を
含む如くに説明した。各NT10350は、その名前が
その手順に現われる各オペランドに対する名前テーブル
の記入(NTE)を含む。各NTEはこの名前によりデ
ータの形式が表示されまたDTセグメントの長さが表示
される取出しモード情報を含むAON論理アドレスに対
して対応する名前を解明する方法についての記述を含
む。
【0250】図108においては、NTEの略図が示さ
れている。説明したように、このNTEは7つの情報フ
ィールド、即ち、フラッグ、ベース(B)、事前変位
(PR)、長さ(L)、変位(D)、指標(I)および
素子間空間(IES)を含む。フラッグ・フィールド
は、部分的に、NTEの残りのフィールドが如何にして
翻訳されたかを説明する情報、NTEにより表示された
情報の形式、またこの情報がMEM10112から取出
される時に如何にして取扱われるかを説明する情報を含
む。Lフィールドは、前に説明したように、データ・セ
グメントにおけるビットの長さ、即ちビット数を表示す
る。以下の論議において、他のNTEフィールドの機構
について説明する。CS10110の本実施例において
は5つの形式のNTEが存在する。即ち、(1)ベース
Bが名前でなく、アドレスの解が間接的でない、(2)
Bが名前でなく、アドレスの解が間接的でない、(3)
Bが名前であり、アドレスの解が間接的である、(4)
Bが名前であり、アドレスの解が間接的である。第5の
形式は、ある素子アレイからある特定の素子を選定する
NTEである。これらの5つの形式のNTEおよびその
解について、以上述べた順序で以下に説明する。
れている。説明したように、このNTEは7つの情報フ
ィールド、即ち、フラッグ、ベース(B)、事前変位
(PR)、長さ(L)、変位(D)、指標(I)および
素子間空間(IES)を含む。フラッグ・フィールド
は、部分的に、NTEの残りのフィールドが如何にして
翻訳されたかを説明する情報、NTEにより表示された
情報の形式、またこの情報がMEM10112から取出
される時に如何にして取扱われるかを説明する情報を含
む。Lフィールドは、前に説明したように、データ・セ
グメントにおけるビットの長さ、即ちビット数を表示す
る。以下の論議において、他のNTEフィールドの機構
について説明する。CS10110の本実施例において
は5つの形式のNTEが存在する。即ち、(1)ベース
Bが名前でなく、アドレスの解が間接的でない、(2)
Bが名前でなく、アドレスの解が間接的でない、(3)
Bが名前であり、アドレスの解が間接的である、(4)
Bが名前であり、アドレスの解が間接的である。第5の
形式は、ある素子アレイからある特定の素子を選定する
NTEである。これらの5つの形式のNTEおよびその
解について、以上述べた順序で以下に説明する。
【0251】第1の形式においては、Bは名前でなく、
アドレス解は間接でなく、BフィールドはAONプラス
・オフセット(AON/O)ポインタを含むABR10
364を指定する。Dフィールドの内容はこのポインタ
のOフィールドに加算され、この結果はオペランドのA
ONの論理アドレスである。第2の形式においては、B
は名前でなく、アドレス解は間接であり、Bフィールド
は再びAON/Oポインタを含むABR10364を指
定する。PRフィールドの内容は、AON/Oポインタ
のOフィールドに加算されて、基底ポインタのAON論
理アドレスを提供する。基底ポインタのAONの論理ア
ドレスは以下に説明するように評価され基底ポインタは
MEM10112から取出される。Dフィールドの内容
は基底ポインタのOフィールドに対して加算され、その
結果はオペランドのAON論理アドレスである。
アドレス解は間接でなく、BフィールドはAONプラス
・オフセット(AON/O)ポインタを含むABR10
364を指定する。Dフィールドの内容はこのポインタ
のOフィールドに加算され、この結果はオペランドのA
ONの論理アドレスである。第2の形式においては、B
は名前でなく、アドレス解は間接であり、Bフィールド
は再びAON/Oポインタを含むABR10364を指
定する。PRフィールドの内容は、AON/Oポインタ
のOフィールドに加算されて、基底ポインタのAON論
理アドレスを提供する。基底ポインタのAONの論理ア
ドレスは以下に説明するように評価され基底ポインタは
MEM10112から取出される。Dフィールドの内容
は基底ポインタのOフィールドに対して加算され、その
結果はオペランドのAON論理アドレスである。
【0252】NTEの形式3および4は、夫々NTE1
および2に対応し、Bフィールドが名前を含む点を除い
て同じ方法で解明される。Bフィールドの名前は別のN
TEを介して解明され、形式1および2の論議において
説明されるABR10364のポインタの代りに使用さ
れるAON/Oポインタを得る。
および2に対応し、Bフィールドが名前を含む点を除い
て同じ方法で解明される。Bフィールドの名前は別のN
TEを介して解明され、形式1および2の論議において
説明されるABR10364のポインタの代りに使用さ
れるAON/Oポインタを得る。
【0253】第5の形式のNTEはアレイの諸素子の照
合において使用される。これらのアレイのNTEは前述
のNTE形式1乃至4と同じ方法で解かれて、アレイの
始動のAON論理アドレスを得る。IおよびIESフィ
ールドはアレイにおけるある特定の素子を見出すため別
の情報を提供する。Iフィールドは常に、アレイにおけ
る特定の素子を表わすあるオペランドの値を得るべく解
かれる名前である。IESフィールドは、アレイの各素
子間の空間に関する情報、即ち、アレイの隣接する素子
間のビット数に関する情報を提供する。IESフィール
ドは実際のIES値を含み、あるいは素子間の空間を導
くAON論理アドレスに解かれる名前を保有する。今述
べた許りのこのIおよびIESフィールドを解明するこ
とにより得られるIおよびIES言語フィールド値は、
NTEにより示される特定の素子の、アレイの開始に関
するオフセットを判定するため一緒に乗算される。この
アレイ内オフセットはアレイの開始のAON論理アドレ
スのOフィールドに加算されて、素子のAON論理アド
レスを得る。
合において使用される。これらのアレイのNTEは前述
のNTE形式1乃至4と同じ方法で解かれて、アレイの
始動のAON論理アドレスを得る。IおよびIESフィ
ールドはアレイにおけるある特定の素子を見出すため別
の情報を提供する。Iフィールドは常に、アレイにおけ
る特定の素子を表わすあるオペランドの値を得るべく解
かれる名前である。IESフィールドは、アレイの各素
子間の空間に関する情報、即ち、アレイの隣接する素子
間のビット数に関する情報を提供する。IESフィール
ドは実際のIES値を含み、あるいは素子間の空間を導
くAON論理アドレスに解かれる名前を保有する。今述
べた許りのこのIおよびIESフィールドを解明するこ
とにより得られるIおよびIES言語フィールド値は、
NTEにより示される特定の素子の、アレイの開始に関
するオフセットを判定するため一緒に乗算される。この
アレイ内オフセットはアレイの開始のAON論理アドレ
スのOフィールドに加算されて、素子のAON論理アド
レスを得る。
【0254】CS10110の本実施例においては、あ
るNTEフィールド、例えばB,Dおよびフラッグ・フ
ィールドは、常にリテラルを含む。ある他のフィール
ド、例えば、IES,D,PREおよびLフィールド
は、リテラルあるいは解明されるべき名前を含む。更に
別のフィールド、例えばIフィールドは常に解明されね
ばならない名前を含む。呼出し側のある手順からある呼
出された手順に対するアーギュメントの通過について
は、前述の仮想プロセス10212に関して、また特に
VP10310のMAS10328乃至10334に関
して前に説明した。アーギュメントの通過は、呼出し側
および呼出された側の手順の名前テーブル10350に
より達成される。事例として、ある手順W(a,b,
c)はアーギュメントa,b,cを手順X(u,v,
w)に通過させることを望むことができるがこの場合手
順vおよびwはアーギュメントa,b,cに対応する。
コンパイルにおいては、NTEは手順Wの手順オブジェ
クトにおいてアーギュメントa,b,cに対して生成さ
れ、NTEは手順Xの手順オブジェクトにおけるアーギ
ュメントu,vおよびwに対して生成される。アーギュ
メントu,vおよびwに対する手順XのNTEは、MA
SにおけるXのフレーム10412のリンク・ポインタ
・ブロック10416におけるポインタを指示するため
解を出すように構成されている。手順Wから手順Xへア
ーギュメントa,bおよびcを通すため、アーギュメン
トa,bおよびcのNTEはAONの論理アドレスにな
るように(即ち、AON/O形態)解かれる。アーギュ
メントa,bおよびcのAON論理アドレスは、次に、
u,vおよびwに対して手順XのNTEにより指示され
る場所において手順Xのリンク・ポインタ・ブロック1
0416に配される対応するUIDアドレスに翻訳され
る。手順Xが実行される時、手順Xのu,vおよびwに
対するNTEの解は、手順Xのリンク・ポインタ・ブロ
ック10416における各ポインタをアーギュメント
a,bおよびcになるように解かれる。このようにアー
ギュメントが通される時、データの形式および長さの情
報は、呼出し側の手順のNTEではなく、呼出された側
の手順NTEから得られる。このため、呼出し側の手順
が例えば呼出された手順に対してアーギュメントa、ま
たはb、またはcの一部のみを通過させることを可能に
し、これによりCS10110の機密保護機構の特徴と
して見做すことができる。
るNTEフィールド、例えばB,Dおよびフラッグ・フ
ィールドは、常にリテラルを含む。ある他のフィール
ド、例えば、IES,D,PREおよびLフィールド
は、リテラルあるいは解明されるべき名前を含む。更に
別のフィールド、例えばIフィールドは常に解明されね
ばならない名前を含む。呼出し側のある手順からある呼
出された手順に対するアーギュメントの通過について
は、前述の仮想プロセス10212に関して、また特に
VP10310のMAS10328乃至10334に関
して前に説明した。アーギュメントの通過は、呼出し側
および呼出された側の手順の名前テーブル10350に
より達成される。事例として、ある手順W(a,b,
c)はアーギュメントa,b,cを手順X(u,v,
w)に通過させることを望むことができるがこの場合手
順vおよびwはアーギュメントa,b,cに対応する。
コンパイルにおいては、NTEは手順Wの手順オブジェ
クトにおいてアーギュメントa,b,cに対して生成さ
れ、NTEは手順Xの手順オブジェクトにおけるアーギ
ュメントu,vおよびwに対して生成される。アーギュ
メントu,vおよびwに対する手順XのNTEは、MA
SにおけるXのフレーム10412のリンク・ポインタ
・ブロック10416におけるポインタを指示するため
解を出すように構成されている。手順Wから手順Xへア
ーギュメントa,bおよびcを通すため、アーギュメン
トa,bおよびcのNTEはAONの論理アドレスにな
るように(即ち、AON/O形態)解かれる。アーギュ
メントa,bおよびcのAON論理アドレスは、次に、
u,vおよびwに対して手順XのNTEにより指示され
る場所において手順Xのリンク・ポインタ・ブロック1
0416に配される対応するUIDアドレスに翻訳され
る。手順Xが実行される時、手順Xのu,vおよびwに
対するNTEの解は、手順Xのリンク・ポインタ・ブロ
ック10416における各ポインタをアーギュメント
a,bおよびcになるように解かれる。このようにアー
ギュメントが通される時、データの形式および長さの情
報は、呼出し側の手順のNTEではなく、呼出された側
の手順NTEから得られる。このため、呼出し側の手順
が例えば呼出された手順に対してアーギュメントa、ま
たはb、またはcの一部のみを通過させることを可能に
し、これによりCS10110の機密保護機構の特徴と
して見做すことができる。
【0255】名前のAON/オフセット・アドレスへの
解について簡単に述べ、またUIDアドレスのAONア
ドレスへの翻訳について前に述べたが、次にMEM10
112の物理的アドレスに対するAONアドレスの評価
について述べる。
解について簡単に述べ、またUIDアドレスのAONア
ドレスへの翻訳について前に述べたが、次にMEM10
112の物理的アドレスに対するAONアドレスの評価
について述べる。
【0256】4.AONアドレスの物理的アドレスに対
する評価(図107) 再び図107において、CS10110のメモリー管理
テーブル10224の部分図が示される。メモリー・ハ
ッシュ・テーブル(MHT)10716とメモリー・フ
レーム・テーブル(MFT)10718は、AONアド
レスのMEM10112の物理的アドレスへの変換と関
連し、これについて最初に論述する。作業設定マトリッ
クス(WSM)10720と仮想メモリー管理要求キュ
ー(VMMRQ)10772はMEM10112の使用
可能な物理的アドレス・ベースの管理に関し、これにつ
いては2番目に論述する。活動状態のオブジェクト要求
キュー(AORQ)10728と論理的割当て装置登録
簿(LAUD)10730は不活動状態のオブジェクト
の発見およびどのオブジェクトがCS10110におい
て活動状態であるかの管理と関連するが、これについて
は最後に論述する。
する評価(図107) 再び図107において、CS10110のメモリー管理
テーブル10224の部分図が示される。メモリー・ハ
ッシュ・テーブル(MHT)10716とメモリー・フ
レーム・テーブル(MFT)10718は、AONアド
レスのMEM10112の物理的アドレスへの変換と関
連し、これについて最初に論述する。作業設定マトリッ
クス(WSM)10720と仮想メモリー管理要求キュ
ー(VMMRQ)10772はMEM10112の使用
可能な物理的アドレス・ベースの管理に関し、これにつ
いては2番目に論述する。活動状態のオブジェクト要求
キュー(AORQ)10728と論理的割当て装置登録
簿(LAUD)10730は不活動状態のオブジェクト
の発見およびどのオブジェクトがCS10110におい
て活動状態であるかの管理と関連するが、これについて
は最後に論述する。
【0257】AON/O論理アドレスのMEM1011
2の物理的アドレスへの変換については、図106Cに
関して前に述べた。この論議において述べたように、オ
ブジェクトはページに分割される。これに対応してAO
N/O論理アドレスのOフィールドは、18ビットのペ
ージ数(P)とページ(Op)フィールド内の14ビッ
トのオフセットに分割される。MEM10112はフレ
ームに構成されるが、CS10110の本実施例におい
ては、その各々は1つのオブジェクトのページと等し
い。AON/OアドレスのOpフィールドは、従って、
対応する物理的アドレスのフレーム(Of)内のオフセ
ットとして直接使用することができる。しかし、AON
アドレスNOAおよびPフィールドは、対応するフレー
ム番号(FN)により表わされるMEM10112のフ
レームに変換されねばならない。次に図107において
は、AONアドレスおよびPフィールドは「ハッシュ」
されてMHT10716に対する指標として使用される
MHT指標を生成する。簡単に述べれば、「ハッシュ操
作」とは、情報に対する指標が「ハッシュ機能」により
情報自体から生成されるテーブルにおける情報の指標化
即ち判定の方法である。ハッシュ機能は、この機能によ
りこれから生成された対応する指標に対する個々の情報
をマップする。この時MHT10716は、前記ページ
が設定されるMEM10112のフレームの対応するF
Nを提供する。FNはMFG10718に対する指標と
して使用され、これは例えば、このフレームに記憶され
たページを記述する記入を保持する。この情報は、前記
MEM10112のフレームに記憶されたページのAO
NおよびPを含んでいる。従って、MHT10716か
らのFNは問題最初に特定の10718に対する指標と
して使用することができ、MFT10718の結果のA
ON/Pは元のAON/Pと比較されてMHT1071
6から得たFNの適合性を確認する。MHT10716
は、AONアドレスのMEM10112の物理的アドレ
スへの迅速な変換を提供するMFT10718の有効な
加速機構である。
2の物理的アドレスへの変換については、図106Cに
関して前に述べた。この論議において述べたように、オ
ブジェクトはページに分割される。これに対応してAO
N/O論理アドレスのOフィールドは、18ビットのペ
ージ数(P)とページ(Op)フィールド内の14ビッ
トのオフセットに分割される。MEM10112はフレ
ームに構成されるが、CS10110の本実施例におい
ては、その各々は1つのオブジェクトのページと等し
い。AON/OアドレスのOpフィールドは、従って、
対応する物理的アドレスのフレーム(Of)内のオフセ
ットとして直接使用することができる。しかし、AON
アドレスNOAおよびPフィールドは、対応するフレー
ム番号(FN)により表わされるMEM10112のフ
レームに変換されねばならない。次に図107において
は、AONアドレスおよびPフィールドは「ハッシュ」
されてMHT10716に対する指標として使用される
MHT指標を生成する。簡単に述べれば、「ハッシュ操
作」とは、情報に対する指標が「ハッシュ機能」により
情報自体から生成されるテーブルにおける情報の指標化
即ち判定の方法である。ハッシュ機能は、この機能によ
りこれから生成された対応する指標に対する個々の情報
をマップする。この時MHT10716は、前記ページ
が設定されるMEM10112のフレームの対応するF
Nを提供する。FNはMFG10718に対する指標と
して使用され、これは例えば、このフレームに記憶され
たページを記述する記入を保持する。この情報は、前記
MEM10112のフレームに記憶されたページのAO
NおよびPを含んでいる。従って、MHT10716か
らのFNは問題最初に特定の10718に対する指標と
して使用することができ、MFT10718の結果のA
ON/Pは元のAON/Pと比較されてMHT1071
6から得たFNの適合性を確認する。MHT10716
は、AONアドレスのMEM10112の物理的アドレ
スへの迅速な変換を提供するMFT10718の有効な
加速機構である。
【0258】MFT10718はまた、MEM1011
2における各ページに対する「使用された」および「変
更された」情報を記憶する。この情報は、その内部に記
憶されたどのページ・フレームが使用され、かつどのペ
ージ・フレームが変更されたかを表示する。この情報
は、ページが補助ストア(ED10124)からMEM
10112へ書込まれる時、どのフレームがMEM10
112から削除することができ、あるいは自由状態であ
るかを判定する際にCS10110により使用される。
例えば、もしあるページの変更されたビットがこのペー
ジが書込まれなかったことを表示するならば、このペー
ジがMEM10112から削除される時これを補助スト
アに書戻すことは必要なく、その代り、このページは簡
単に消去することができる。
2における各ページに対する「使用された」および「変
更された」情報を記憶する。この情報は、その内部に記
憶されたどのページ・フレームが使用され、かつどのペ
ージ・フレームが変更されたかを表示する。この情報
は、ページが補助ストア(ED10124)からMEM
10112へ書込まれる時、どのフレームがMEM10
112から削除することができ、あるいは自由状態であ
るかを判定する際にCS10110により使用される。
例えば、もしあるページの変更されたビットがこのペー
ジが書込まれなかったことを表示するならば、このペー
ジがMEM10112から削除される時これを補助スト
アに書戻すことは必要なく、その代り、このページは簡
単に消去することができる。
【0259】最後にATU10228に関して、このA
TUはMHT10716に対する加速機構である。AO
N/Oアドレスは、ATU10228に対する指標とし
てハッシュすることなく直接に使用され、ATU102
28は対応するFNおよびO出力を適正に生じる。以下
のCS10110の作用に関する詳細な論述に述べるC
S10110の機構は、ATU10228がその時のプ
ロセスによって最も頻繁に照合されるページのFNおよ
びOp(Of)を含むように、ATU10228の内容
を連続的に更新する。もしATU10228があるAO
N入力に対する対応する記入を含まなければ、ATUの
障害が生じ、FNおよびO情報がMHT10716から
直接得ることができる。
TUはMHT10716に対する加速機構である。AO
N/Oアドレスは、ATU10228に対する指標とし
てハッシュすることなく直接に使用され、ATU102
28は対応するFNおよびO出力を適正に生じる。以下
のCS10110の作用に関する詳細な論述に述べるC
S10110の機構は、ATU10228がその時のプ
ロセスによって最も頻繁に照合されるページのFNおよ
びOp(Of)を含むように、ATU10228の内容
を連続的に更新する。もしATU10228があるAO
N入力に対する対応する記入を含まなければ、ATUの
障害が生じ、FNおよびO情報がMHT10716から
直接得ることができる。
【0260】次にWSM10720およびVMMRQ1
0722に関して述べれば、前述の如く、これらの機構
はMEM10112の使用可能なアドレス空間の管理と
関連している。例えば、もしMHT10716とMFT
10718がその時の手順により照合されるページに対
する記入を含まなければ、MHT/MFT障害が生じ、
また照合ページ・ヘッダ・アレイ補助ストア(ED10
124)から取出されてMEM10112に読込まれな
ければならない。WSM10720はMEM10112
に常駐する各ページに対する記入を保持する。これらの
記入は、ページの照合を行なう仮想プロセスの仮想プロ
セス番号(VPN)と照合されつつあるページのPを含
む指標によってアクセスされる。各WSM10720の
記入は、特定のページがVPの作業設定の一部である。
即ちVPによって使用されるかどうか、またこのページ
が前記VPにより照合されたかどうかを示す2ビットを
含む。この情報は前記MFT10718の前記の記入に
保持される情報と共に、ページのMEM10112に関
する転出入においてCS10110の仮想メモリー管理
(VMM)によって使用される。
0722に関して述べれば、前述の如く、これらの機構
はMEM10112の使用可能なアドレス空間の管理と
関連している。例えば、もしMHT10716とMFT
10718がその時の手順により照合されるページに対
する記入を含まなければ、MHT/MFT障害が生じ、
また照合ページ・ヘッダ・アレイ補助ストア(ED10
124)から取出されてMEM10112に読込まれな
ければならない。WSM10720はMEM10112
に常駐する各ページに対する記入を保持する。これらの
記入は、ページの照合を行なう仮想プロセスの仮想プロ
セス番号(VPN)と照合されつつあるページのPを含
む指標によってアクセスされる。各WSM10720の
記入は、特定のページがVPの作業設定の一部である。
即ちVPによって使用されるかどうか、またこのページ
が前記VPにより照合されたかどうかを示す2ビットを
含む。この情報は前記MFT10718の前記の記入に
保持される情報と共に、ページのMEM10112に関
する転出入においてCS10110の仮想メモリー管理
(VMM)によって使用される。
【0261】CS10110のVMMは、ページのME
M10112に関する転出入を説明するためVMMによ
り使用されるVMMRQ10722を保持する。VMM
RQ10722は、仮想メモリー要求カウンタ(VMR
C)10724と仮想メモリー要求記入(VMRE)1
0726のキューを含んでいる。今述べるように、VM
RC10724はページに対するその時未済の要求の数
を追跡する。VMRE10726は要求された特定のペ
ージを記述する。MHT/MFT(即ち、ページ)の障
害の発生と同時にVMRC10724は増分され、この
状態はCS10110のVMMの操作を開始し、VMR
E10726はキューに配される。各VMRE1072
6は、ページを要求するプロセスのVPNおよび要求さ
れたページのAON/Oを含む。この時、この要求を行
なうVPはJP10114からスワップされ、別のVP
がJP10114に拘束される。MFT10718とW
SM10720における前に述べた情報を用いてこのフ
レームを選定するため、VMMはMEM10112のフ
レームを要求されたページを含むように割当てる。この
際、VMMは、例えば最も古いページ、または未使用の
ページ、または補助ストアに書戻さなくとも良い未変更
のページに基づいて、MEM10112にその時駐在す
るページを捨てることができる。次にVMMは、これに
より選定されるフレームに要求されるページを転送する
ため入出力操作を要求する。入出力操作が進行中、VM
Mは要求されたページに対するMHT10716とMF
T10718における新たな記入を生成し、このページ
により占められるべきMEM10112のフレームを払
拭し、操作を延期する。IOS10116は入出力操作
を実行するため進行し、所要のページを直接VMMによ
り指定されるフレームのMEM10112に書込む。次
にIOS10116はCS10110のVMMに対し、
このページがこの時メモリーに存在して照合可能である
ことを通知する。やや後で、このページを要求するVP
は実行を再開し、この照合操作を反復する。VP102
12は未だこのページを保持するように更新されていな
いため、最初にATU10228に達した後、前記VP
はATU10228の障害を捕捉する。次に、このVP
は所要の情報を求めてMHT10716とMFT107
18に行き同時にWSM10720とATU10228
は更新される。
M10112に関する転出入を説明するためVMMによ
り使用されるVMMRQ10722を保持する。VMM
RQ10722は、仮想メモリー要求カウンタ(VMR
C)10724と仮想メモリー要求記入(VMRE)1
0726のキューを含んでいる。今述べるように、VM
RC10724はページに対するその時未済の要求の数
を追跡する。VMRE10726は要求された特定のペ
ージを記述する。MHT/MFT(即ち、ページ)の障
害の発生と同時にVMRC10724は増分され、この
状態はCS10110のVMMの操作を開始し、VMR
E10726はキューに配される。各VMRE1072
6は、ページを要求するプロセスのVPNおよび要求さ
れたページのAON/Oを含む。この時、この要求を行
なうVPはJP10114からスワップされ、別のVP
がJP10114に拘束される。MFT10718とW
SM10720における前に述べた情報を用いてこのフ
レームを選定するため、VMMはMEM10112のフ
レームを要求されたページを含むように割当てる。この
際、VMMは、例えば最も古いページ、または未使用の
ページ、または補助ストアに書戻さなくとも良い未変更
のページに基づいて、MEM10112にその時駐在す
るページを捨てることができる。次にVMMは、これに
より選定されるフレームに要求されるページを転送する
ため入出力操作を要求する。入出力操作が進行中、VM
Mは要求されたページに対するMHT10716とMF
T10718における新たな記入を生成し、このページ
により占められるべきMEM10112のフレームを払
拭し、操作を延期する。IOS10116は入出力操作
を実行するため進行し、所要のページを直接VMMによ
り指定されるフレームのMEM10112に書込む。次
にIOS10116はCS10110のVMMに対し、
このページがこの時メモリーに存在して照合可能である
ことを通知する。やや後で、このページを要求するVP
は実行を再開し、この照合操作を反復する。VP102
12は未だこのページを保持するように更新されていな
いため、最初にATU10228に達した後、前記VP
はATU10228の障害を捕捉する。次に、このVP
は所要の情報を求めてMHT10716とMFT107
18に行き同時にWSM10720とATU10228
は更新される。
【0262】前記の諸操作に関して、CS10110に
おいて活動状態にある各VPは、そのVPの連続するペ
ージ障害間の間隔が最適の時間範囲内に存在するように
前記VPの作業設定を調整するためCS10110のV
MMにより使用されるページ障害頻度の時間因子(PF
ET)を割当てられている。CS10110のVMMを
保証するこの補助作用は最も有効に作用してCS101
10のVMMが所要の如く同調することを可能にする。
おいて活動状態にある各VPは、そのVPの連続するペ
ージ障害間の間隔が最適の時間範囲内に存在するように
前記VPの作業設定を調整するためCS10110のV
MMにより使用されるページ障害頻度の時間因子(PF
ET)を割当てられている。CS10110のVMMを
保証するこの補助作用は最も有効に作用してCS101
10のVMMが所要の如く同調することを可能にする。
【0263】以上の論議は、UID/Oアドレス、また
はAON/Oアドレス、または名前のいずれかから照合
されつつあるページがCS10110において活動状態
にあるオブジェクトに存在することを前提とする。オブ
ジェクトはMEM10112におけるあるページを活動
状態にさせる必要はないが、このオブジェクトはMEM
10112のあるページを有するべく活動状態におかな
ければならない。しかし、VPはCS10110におい
て活動状態にないオブジェクトにおけるページを照合す
ることはできる。もしこのような照合が行なわれるなら
ば、オブジェクトは、このページがMEM10112に
置くことができる前にCS10110において活動状態
にさせられねばならない。その結果は、上に述べたペー
ジの障害操作と似た操作となる。CS10110は、作
用においてCS10110のVMMおよびVMMRQ1
0722と類似の活動状態オブジェクト要求キュー(A
ORQ)10728を含む活動状態のオブジェクト管理
プログラム(AOM)を保持する。CS10110のA
OMおよびAORQ10728はAOTHT10710
およびAOT10712と関連して、不活動状態のオブ
ジェクトを見出してこれをAONを割当てて、AOTH
T10710とAOT10712とAOTA10714
においてこれらに対する記入を生成することにより活動
状態にさせるよう作用する。
はAON/Oアドレス、または名前のいずれかから照合
されつつあるページがCS10110において活動状態
にあるオブジェクトに存在することを前提とする。オブ
ジェクトはMEM10112におけるあるページを活動
状態にさせる必要はないが、このオブジェクトはMEM
10112のあるページを有するべく活動状態におかな
ければならない。しかし、VPはCS10110におい
て活動状態にないオブジェクトにおけるページを照合す
ることはできる。もしこのような照合が行なわれるなら
ば、オブジェクトは、このページがMEM10112に
置くことができる前にCS10110において活動状態
にさせられねばならない。その結果は、上に述べたペー
ジの障害操作と似た操作となる。CS10110は、作
用においてCS10110のVMMおよびVMMRQ1
0722と類似の活動状態オブジェクト要求キュー(A
ORQ)10728を含む活動状態のオブジェクト管理
プログラム(AOM)を保持する。CS10110のA
OMおよびAORQ10728はAOTHT10710
およびAOT10712と関連して、不活動状態のオブ
ジェクトを見出してこれをAONを割当てて、AOTH
T10710とAOT10712とAOTA10714
においてこれらに対する記入を生成することにより活動
状態にさせるよう作用する。
【0264】ある特定のオブジェクトがCS10110
において活動状態にさせることができる前に、最初に補
助ストア(ED10124)において見出されねばなら
ない。補助ストアに関する全てのオブジェクトは、補助
ストアに存在する論理割当て装置登録簿(LAUD)1
0730を介して見出される。LAUD10730は、
特定のCS10110に対してアクセス可能な各オブジ
ェクトに対する記入を保持する。各LAUD10730
の記入には、このオブジェクトに対するAOT1071
2の記入を生成するのに必要な情報が含まれる。LAU
D10730は、CS10110VMMに含まれるUI
D/Oアドレスを介してアクセスされる。LAUD10
730に関する照合の結果、MEM10112のフレー
ムが前記LAUD10730に割当てられることにな
る。もしLAUD10730の記入が照合された不活動
状態のオブジェクトに対して存在するならば、LAUD
10730の記入はAOT10712に転送される。こ
のオブジェクトにおけるあるページに関する次の照合に
おいて、AOT10712はこのオブジェクトに対して
AONを与えることになるが、このページが未だMEM
10112に転送されていないため、ページ障害が生じ
ることになろう。このページ障害は、以上に述べた方法
で取扱われ、照合されたページはMEM10112に転
送される。
において活動状態にさせることができる前に、最初に補
助ストア(ED10124)において見出されねばなら
ない。補助ストアに関する全てのオブジェクトは、補助
ストアに存在する論理割当て装置登録簿(LAUD)1
0730を介して見出される。LAUD10730は、
特定のCS10110に対してアクセス可能な各オブジ
ェクトに対する記入を保持する。各LAUD10730
の記入には、このオブジェクトに対するAOT1071
2の記入を生成するのに必要な情報が含まれる。LAU
D10730は、CS10110VMMに含まれるUI
D/Oアドレスを介してアクセスされる。LAUD10
730に関する照合の結果、MEM10112のフレー
ムが前記LAUD10730に割当てられることにな
る。もしLAUD10730の記入が照合された不活動
状態のオブジェクトに対して存在するならば、LAUD
10730の記入はAOT10712に転送される。こ
のオブジェクトにおけるあるページに関する次の照合に
おいて、AOT10712はこのオブジェクトに対して
AONを与えることになるが、このページが未だMEM
10112に転送されていないため、ページ障害が生じ
ることになろう。このページ障害は、以上に述べた方法
で取扱われ、照合されたページはMEM10112に転
送される。
【0265】UID、名前、AON間の関係およびCS
10110がMEM10112の使用可能なアドレス空
間を含む、CS10110のアドレス指定構造の構造お
よび作用について簡単に説明したが、CS10110の
機密保護機構について以下に説明する。
10110がMEM10112の使用可能なアドレス空
間を含む、CS10110のアドレス指定構造の構造お
よび作用について簡単に説明したが、CS10110の
機密保護機構について以下に説明する。
【0266】E.CS10110の機密保護機構(図1
09) 図109においては、機密保護機構10230の略図が
示される。機密保護テーブル10232は活動状態の初
期アクセス・マトリックス(APAM)10910と、
活動状態主題番号ハッシュ・テーブル(ASNHT)1
0912と、活動状態主題テーブル(AST)1091
4とを含む。FU10120に存在する機密保護機構1
0230のこれらの部分は、ASNレジスタ10916
と機密保護カッシェ装置(PC)10234を含む。
09) 図109においては、機密保護機構10230の略図が
示される。機密保護テーブル10232は活動状態の初
期アクセス・マトリックス(APAM)10910と、
活動状態主題番号ハッシュ・テーブル(ASNHT)1
0912と、活動状態主題テーブル(AST)1091
4とを含む。FU10120に存在する機密保護機構1
0230のこれらの部分は、ASNレジスタ10916
と機密保護カッシェ装置(PC)10234を含む。
【0267】前に述べたように、各オブジェクトに対す
るアクセス権は主題に基づいて調整される。主題は、そ
の各々が対応するUIDにより識別される主体、プロセ
スおよび領域(PPD)の特定の組合せとして定義され
ている。各オブジェクトは、これとこのオブジェクトに
対するアクセス権を有する各主題に対するACL記入
(ACLE)を含むアクセス制御リスト(ACL)10
918を関連させている。
るアクセス権は主題に基づいて調整される。主題は、そ
の各々が対応するUIDにより識別される主体、プロセ
スおよび領域(PPD)の特定の組合せとして定義され
ている。各オブジェクトは、これとこのオブジェクトに
対するアクセス権を有する各主題に対するACL記入
(ACLE)を含むアクセス制御リスト(ACL)10
918を関連させている。
【0268】1つのオブジェクトがCS10110にお
いて活動状態となる(即ち、1つのAONが割当てられ
る)時、このオブジェクトのACL10918における
各ACLEはAPAM10910に書込まれる。同時
に、このオブジェクトに対するアクセス権を有し、かつ
これに対しこのオブジェクトのACL10918にAC
LEが存在する各主題は、活動状態主題番号(ASN)
が割当てられる。これらのASNはASNHT1091
2に書込まれ、その対応するPPDはAST10914
に書込まれる。その後、このオブジェクトに対するアク
セスを要求する如何なる主題のASNも、この主題のP
PDをハッシュしてASNHT10912に対するPP
D指標を得ることによって得られる。ASNHT109
12は更に、対応するASNを提供することになる。A
SNはAST10914に対する指標として使用するこ
とができる。AST10914は対応するPPDを提供
し、これはASNの精度を確認するため元のPPDと比
較することができる。
いて活動状態となる(即ち、1つのAONが割当てられ
る)時、このオブジェクトのACL10918における
各ACLEはAPAM10910に書込まれる。同時
に、このオブジェクトに対するアクセス権を有し、かつ
これに対しこのオブジェクトのACL10918にAC
LEが存在する各主題は、活動状態主題番号(ASN)
が割当てられる。これらのASNはASNHT1091
2に書込まれ、その対応するPPDはAST10914
に書込まれる。その後、このオブジェクトに対するアク
セスを要求する如何なる主題のASNも、この主題のP
PDをハッシュしてASNHT10912に対するPP
D指標を得ることによって得られる。ASNHT109
12は更に、対応するASNを提供することになる。A
SNはAST10914に対する指標として使用するこ
とができる。AST10914は対応するPPDを提供
し、これはASNの精度を確認するため元のPPDと比
較することができる。
【0269】前述の如く、APAM10910はCS1
0110において活動状態にある各オブジェクトに対し
て1つのACL10918を保有する。ある特定の活動
状態のオブジェクトに対するどんな特定の活動状態の主
題のアクセス権も、APAM10910に対する指標と
してこの主題のASNとこのオブジェクトのAONを用
いることによって決定される。APAM10910は更
に、前記主題が前記オブジェクトに関して読出し
(R)、または書込み(W)、または実行(E)の権利
を有するかどうか、またこの特定の記入が妥当であるか
(V)どうかを判定する4ビット出力を提供する。
0110において活動状態にある各オブジェクトに対し
て1つのACL10918を保有する。ある特定の活動
状態のオブジェクトに対するどんな特定の活動状態の主
題のアクセス権も、APAM10910に対する指標と
してこの主題のASNとこのオブジェクトのAONを用
いることによって決定される。APAM10910は更
に、前記主題が前記オブジェクトに関して読出し
(R)、または書込み(W)、または実行(E)の権利
を有するかどうか、またこの特定の記入が妥当であるか
(V)どうかを判定する4ビット出力を提供する。
【0270】ASNレジスタ10916およびPC10
234は機密保護テーブル10232の有効な加速機構
である。ASNレジスタ10916はその時活動状態の
主題のASNを記憶するが、PC10234はその時の
プロセスにより使用中であるオブジェクトに対するある
アクセス権情報を記憶する。PC10234の記入は、
ASNレジスタ10916からのASNにより、またJ
P10114からのモード入力によって割出される。モ
ード入力は、その時の手順がPC10234における記
入を有するある特定のオブジェクトに関して読出し、書
込みまたは実行を意図するかどうかを規定する。ASN
入力およびモード入力の受取りと同時に、PC1023
4は、問題の主題が前記オブジェクトに関する意図され
た操作を実行することを要求されたアクセス権を有する
かどうかを表示するgo/no−go出力を提供する。
234は機密保護テーブル10232の有効な加速機構
である。ASNレジスタ10916はその時活動状態の
主題のASNを記憶するが、PC10234はその時の
プロセスにより使用中であるオブジェクトに対するある
アクセス権情報を記憶する。PC10234の記入は、
ASNレジスタ10916からのASNにより、またJ
P10114からのモード入力によって割出される。モ
ード入力は、その時の手順がPC10234における記
入を有するある特定のオブジェクトに関して読出し、書
込みまたは実行を意図するかどうかを規定する。ASN
入力およびモード入力の受取りと同時に、PC1023
4は、問題の主題が前記オブジェクトに関する意図され
た操作を実行することを要求されたアクセス権を有する
かどうかを表示するgo/no−go出力を提供する。
【0271】前記の機構に加えて、アーギュメントを交
差領域呼出しにおいて通過可能である各手順は、これに
対して、仮想プロセス10212に関して論述したよう
に、アクセス情報アレイ(AIA)10352を関連さ
せている。手順のAIA10352は、呼出された手順
が通過したアーギュメントについて作動し得る前に、呼
出し側の手順(主題)がどんなアクセス権を特定のオブ
ジェクト(アーギュメント)に対して持たねばならない
かを通知する。CS10110の機密保護機構は、呼出
し側の手順のアクセス権を呼出された手順により要求さ
れる権利と比較する。このことは、呼出し側の手順が、
実施を許されないことを実施するよう呼出された手順に
要求しないことを保証する。呼出し側の手順は、呼出さ
れた手順に対して呼出し側の手順により保有されるアク
セス権のみを有効に通過可能である。
差領域呼出しにおいて通過可能である各手順は、これに
対して、仮想プロセス10212に関して論述したよう
に、アクセス情報アレイ(AIA)10352を関連さ
せている。手順のAIA10352は、呼出された手順
が通過したアーギュメントについて作動し得る前に、呼
出し側の手順(主題)がどんなアクセス権を特定のオブ
ジェクト(アーギュメント)に対して持たねばならない
かを通知する。CS10110の機密保護機構は、呼出
し側の手順のアクセス権を呼出された手順により要求さ
れる権利と比較する。このことは、呼出し側の手順が、
実施を許されないことを実施するよう呼出された手順に
要求しないことを保証する。呼出し側の手順は、呼出さ
れた手順に対して呼出し側の手順により保有されるアク
セス権のみを有効に通過可能である。
【0272】最後に、PC10234またはAPAM1
0910またはAST10914の障害状態(即ち、失
敗)はCS10110のアドレス指定機構10220の
論議においてページ障害に関して前に述べた方法と同じ
方法で取扱われる。このように、機密保護作用の失敗の
取扱いについてはこの観点からこれ以上は説明しない。
0910またはAST10914の障害状態(即ち、失
敗)はCS10110のアドレス指定機構10220の
論議においてページ障害に関して前に述べた方法と同じ
方法で取扱われる。このように、機密保護作用の失敗の
取扱いについてはこの観点からこれ以上は説明しない。
【0273】CS10110の機密保護機構10230
の構造および作用について簡単に説明したが、CS10
110のマイクロ命令機構10236について以下に述
べる。
の構造および作用について簡単に説明したが、CS10
110のマイクロ命令機構10236について以下に述
べる。
【0274】F.CS10110のマイクロ命令機構
(図110) 前述の如く、CS10110は多重言語機械である。高
水準のユーザ言語において書込まれた各プログラムは、
SINとして示される命令を含む対応するS言語プログ
ラムにコンパイルされる。CS10110は、各S言語
に対するSインタプリタ(SINT)と呼ばれる1組の
即ちダイアレクトのマイクロコード命令を提供する。S
INTはSINの翻訳を行ない、CS10110の詳細
な制御のための対応するシーケンスをなすマイクロ命令
を提供する。
(図110) 前述の如く、CS10110は多重言語機械である。高
水準のユーザ言語において書込まれた各プログラムは、
SINとして示される命令を含む対応するS言語プログ
ラムにコンパイルされる。CS10110は、各S言語
に対するSインタプリタ(SINT)と呼ばれる1組の
即ちダイアレクトのマイクロコード命令を提供する。S
INTはSINの翻訳を行ない、CS10110の詳細
な制御のための対応するシーケンスをなすマイクロ命令
を提供する。
【0275】図110においては、CS10110のマ
イクロ命令機構10236の部分図が示される。システ
ムの初期化において、SINTおよび全ての機械補助マ
イクロコードを含む全てのCS10110のマイクロコ
ードが、補助ストアからMEM10112におけるマイ
クロコード制御ストア(mCCS)10238に対して
転送される。このマイクロコードは次に、mCCS10
238からFUマイクロコード構造(FUmC)102
40およびEUマイクロコード構造(EUmC)102
42に対して転送される。EUmC10242は構造お
よび作用においてFUmC10240と類似し、このた
めCS10110の構造および作用についての以下の詳
細な説明において説明することにする。同様に、CS1
0110の機械補助マイクロコードについても以下の詳
細な論述において説明することにする。本論はCS10
110のSインタプリタ機構に関する。
イクロ命令機構10236の部分図が示される。システ
ムの初期化において、SINTおよび全ての機械補助マ
イクロコードを含む全てのCS10110のマイクロコ
ードが、補助ストアからMEM10112におけるマイ
クロコード制御ストア(mCCS)10238に対して
転送される。このマイクロコードは次に、mCCS10
238からFUマイクロコード構造(FUmC)102
40およびEUマイクロコード構造(EUmC)102
42に対して転送される。EUmC10242は構造お
よび作用においてFUmC10240と類似し、このた
めCS10110の構造および作用についての以下の詳
細な説明において説明することにする。同様に、CS1
0110の機械補助マイクロコードについても以下の詳
細な論述において説明することにする。本論はCS10
110のSインタプリタ機構に関する。
【0276】CS10110のSインタプリタ(SIN
T)は、図110においてSインタプリタ1乃至Nを含
むものとして表わされるSインタプリタテーブル(SI
NT)11012にロードされる。各SITは1連以上
のマイクロコードを含み、各連のマイクロコードは前記
S言語ダイアレクトにおける特定のSINと対応してい
る。Sインタプリタ・ディスパッチ表(SDT)110
10はSインタプリタのディスパッチャ(SD)1乃至
Nを含んでいる。SINT11012における各SIN
Tに対して1つのSDが存在し、このため各S言語ダイ
アレクトに対して1つのSDが存在する。各SDは1組
のポインタからなる。ある特定のSDにおける各ポイン
タは、この速度のダイアレクトの特定のSINに対応
し、またSITT11012におけるこのダイアレクト
のSITにおける前記SINを翻訳するための対応する
一連のマイクロ命令を指示する。事例においては、前に
述べたように、ある特定の手順が実行中である時、この
手順に対するSIPがmCR10336の1つに転送さ
れる。このSIPは前記手順のSINの翻訳のため使用
されるべきSITに対するSDの開始を指示する。図1
10においては、mCR10336のSIPがSD2の
開始を指示する如くに示されている。この手順の実行中
に現われる各S−Opは、対応するSDポインタを指示
する選定されたSDの開始に関するオフセットである。
このSDポインタは更に、SITT11012における
対応するSITの前記SINの翻訳のための対応する一
連のマイクロ命令を指示する。以下の論議において説明
するように、一旦あるSINを翻訳するための一連のシ
ーケンスの開始が選択されると、CS10110のマイ
クロ機械はSITT11012からの前記の一連のマイ
クロ命令を順次呼出してCS10110の作用の制御の
ためこれらのマイクロ命令を使用するように進行する。
T)は、図110においてSインタプリタ1乃至Nを含
むものとして表わされるSインタプリタテーブル(SI
NT)11012にロードされる。各SITは1連以上
のマイクロコードを含み、各連のマイクロコードは前記
S言語ダイアレクトにおける特定のSINと対応してい
る。Sインタプリタ・ディスパッチ表(SDT)110
10はSインタプリタのディスパッチャ(SD)1乃至
Nを含んでいる。SINT11012における各SIN
Tに対して1つのSDが存在し、このため各S言語ダイ
アレクトに対して1つのSDが存在する。各SDは1組
のポインタからなる。ある特定のSDにおける各ポイン
タは、この速度のダイアレクトの特定のSINに対応
し、またSITT11012におけるこのダイアレクト
のSITにおける前記SINを翻訳するための対応する
一連のマイクロ命令を指示する。事例においては、前に
述べたように、ある特定の手順が実行中である時、この
手順に対するSIPがmCR10336の1つに転送さ
れる。このSIPは前記手順のSINの翻訳のため使用
されるべきSITに対するSDの開始を指示する。図1
10においては、mCR10336のSIPがSD2の
開始を指示する如くに示されている。この手順の実行中
に現われる各S−Opは、対応するSDポインタを指示
する選定されたSDの開始に関するオフセットである。
このSDポインタは更に、SITT11012における
対応するSITの前記SINの翻訳のための対応する一
連のマイクロ命令を指示する。以下の論議において説明
するように、一旦あるSINを翻訳するための一連のシ
ーケンスの開始が選択されると、CS10110のマイ
クロ機械はSITT11012からの前記の一連のマイ
クロ命令を順次呼出してCS10110の作用の制御の
ためこれらのマイクロ命令を使用するように進行する。
【0277】G.CS10110の特徴および別の実施
態様の要約 前記の概要では、CS101、即ちCS10110の全
般的な構造および作用、ならびにある特徴について説明
した。以上の序説は、更に、CS10110の構造およ
び作用、および更に他の特徴について特にCS1011
0の情報、制御ならびにアドレス指定の諸機構の物理的
構成および作用について更に説明した。これらCS10
110の特徴のあるものについては、CS10110に
構成された如きこれら特徴の基本的概念を簡単に述べる
ため以下において要約する。更に、これら概念のあるも
のの可能な別の実施態様について説明する。
態様の要約 前記の概要では、CS101、即ちCS10110の全
般的な構造および作用、ならびにある特徴について説明
した。以上の序説は、更に、CS10110の構造およ
び作用、および更に他の特徴について特にCS1011
0の情報、制御ならびにアドレス指定の諸機構の物理的
構成および作用について更に説明した。これらCS10
110の特徴のあるものについては、CS10110に
構成された如きこれら特徴の基本的概念を簡単に述べる
ため以下において要約する。更に、これら概念のあるも
のの可能な別の実施態様について説明する。
【0278】最初に、CS10110は、各々が別個の
マイクロ命令制御装置を有する複数の独立的に作用する
プロセッサからなっている。CS10110の本実施例
においては、これらのプロセッサにはFU10120
と、MEM10112と、IOS10116が含まれ
る。他のこのような独立的に作用するプロセッサ、例え
ばアレイ・プロセッサの如き特殊な算術演算プロセッ
サ、または多重FU10120を本CS10110に付
加することができる。
マイクロ命令制御装置を有する複数の独立的に作用する
プロセッサからなっている。CS10110の本実施例
においては、これらのプロセッサにはFU10120
と、MEM10112と、IOS10116が含まれ
る。他のこのような独立的に作用するプロセッサ、例え
ばアレイ・プロセッサの如き特殊な算術演算プロセッ
サ、または多重FU10120を本CS10110に付
加することができる。
【0279】この点に関して、MEM10112は、1
つ以上の別個でありかつCS10110の各プロセッサ
に対する独立的なポートを有する多重プロセッサであ
る。CS10110のプロセッサ間の全ての通信はME
M10112を介し、そのためMEM10112は記憶
操作の実施と共に、CS10110の中央通信ノードと
して作用する。この他のプロセッサがCS10110に
対して付加されるため、更に別個の独立ポートをMEM
10112に対して付設することができる。従って、C
S10110は、各々が個々のマイクロ命令制御装置を
有し、かつそれ自体が別個の独立のマイクロ命令制御装
置を有する独立プロセッサである中央通信兼記憶ノード
に対する別個の独立ポートを有する複数の別個で独立し
たプロセッサからなるものとして説明することができ
る。以下のMEM10112の詳細な説明において更に
述べるように、MEM10112はそれ自体、各々がメ
モリーと関連する諸操作を行ないかつ各々が別個のマイ
クロ命令制御装置を有する複数の独立的に作用するプロ
セッサからなっている。CS10110のプロセッサ間
の諸操作の連携は、プロセッサ間、例えばSOPと記述
子間に「メッセージ」を送ることによって達成される。
つ以上の別個でありかつCS10110の各プロセッサ
に対する独立的なポートを有する多重プロセッサであ
る。CS10110のプロセッサ間の全ての通信はME
M10112を介し、そのためMEM10112は記憶
操作の実施と共に、CS10110の中央通信ノードと
して作用する。この他のプロセッサがCS10110に
対して付加されるため、更に別個の独立ポートをMEM
10112に対して付設することができる。従って、C
S10110は、各々が個々のマイクロ命令制御装置を
有し、かつそれ自体が別個の独立のマイクロ命令制御装
置を有する独立プロセッサである中央通信兼記憶ノード
に対する別個の独立ポートを有する複数の別個で独立し
たプロセッサからなるものとして説明することができ
る。以下のMEM10112の詳細な説明において更に
述べるように、MEM10112はそれ自体、各々がメ
モリーと関連する諸操作を行ないかつ各々が別個のマイ
クロ命令制御装置を有する複数の独立的に作用するプロ
セッサからなっている。CS10110のプロセッサ間
の諸操作の連携は、プロセッサ間、例えばSOPと記述
子間に「メッセージ」を送ることによって達成される。
【0280】CS10110アドレス機構は、最初に、
オブジェクトのUIDアドレス指定動作に基づくもので
ある。即ち、CS10110の作用において使用され、
あるいはその作用によって生成される全ての情報、例え
ば、データおよび手順はオブジェクトに構成され、各オ
ブジェクトは恒久的なUIDに割当てられる。各UID
はある特定のCS10110内部において、また全ての
CS10110間で一義的であり、かつある特定のオブ
ジェクトと恒久的に関連させられている。UIDアドレ
ス指定動作の使用により、全てのCS10110に対し
て共通であり、かつCS10110のUIDアドレス指
定作用を用いる他のコンピュータ・システムに対して共
通である恒久的な独自のアドレス指定装置が提供され
る。
オブジェクトのUIDアドレス指定動作に基づくもので
ある。即ち、CS10110の作用において使用され、
あるいはその作用によって生成される全ての情報、例え
ば、データおよび手順はオブジェクトに構成され、各オ
ブジェクトは恒久的なUIDに割当てられる。各UID
はある特定のCS10110内部において、また全ての
CS10110間で一義的であり、かつある特定のオブ
ジェクトと恒久的に関連させられている。UIDアドレ
ス指定動作の使用により、全てのCS10110に対し
て共通であり、かつCS10110のUIDアドレス指
定作用を用いる他のコンピュータ・システムに対して共
通である恒久的な独自のアドレス指定装置が提供され
る。
【0281】UIDのアドレス指定操作は、ある特定の
CS10110のアドレス(即ち、メモリー)空間が全
てのシステムのアドレス空間、例えば、ディスク駆動機
構または特定のCS10110がアクセスを行なう他の
CS10110のアドレス空間を含んでいる。UIDの
アドレス指定操作は、どのCS10110におけるどの
プロセスでも、これが物理的なアクセスを行なうCS1
0110におけるどのオブジェクト、例えば外部におけ
る別のCS10110に対してもアクセスすることを可
能にする。このアクセスは、CS10110の機密保護
機構によってのみ制約される。CS10110の別の実
施態様においては、あるUIDが特定のCS10110
内でのみ使用されるため保留することができ、またこの
特定のCS10110内部でのみ一義的であるようにす
ることもできる。しかし、これらの保留されたUID
は、各システム間で一義性を持たないものであることが
全てのCS10110のシステムにおいて知られる限定
的なグループとなり、そのためCS10110のUID
のアドレス指定動作の一義的なオブジェクトアドレス指
定能力は保留されることになる。
CS10110のアドレス(即ち、メモリー)空間が全
てのシステムのアドレス空間、例えば、ディスク駆動機
構または特定のCS10110がアクセスを行なう他の
CS10110のアドレス空間を含んでいる。UIDの
アドレス指定操作は、どのCS10110におけるどの
プロセスでも、これが物理的なアクセスを行なうCS1
0110におけるどのオブジェクト、例えば外部におけ
る別のCS10110に対してもアクセスすることを可
能にする。このアクセスは、CS10110の機密保護
機構によってのみ制約される。CS10110の別の実
施態様においては、あるUIDが特定のCS10110
内でのみ使用されるため保留することができ、またこの
特定のCS10110内部でのみ一義的であるようにす
ることもできる。しかし、これらの保留されたUID
は、各システム間で一義性を持たないものであることが
全てのCS10110のシステムにおいて知られる限定
的なグループとなり、そのためCS10110のUID
のアドレス指定動作の一義的なオブジェクトアドレス指
定能力は保留されることになる。
【0282】前に述べたように、AONならびに物理的
記述子は、現在は、短縮されたUIDとして有効にCS
10110内部でのアドレス指定のために使用されてい
る。CS10110の別の実施態様においては、他の形
態のAONが使用でき、あるいはAONは完全に見捨て
られ、UIDがCS10110内ならびにその相互間で
のアドレス指定操作のため使用される。
記述子は、現在は、短縮されたUIDとして有効にCS
10110内部でのアドレス指定のために使用されてい
る。CS10110の別の実施態様においては、他の形
態のAONが使用でき、あるいはAONは完全に見捨て
られ、UIDがCS10110内ならびにその相互間で
のアドレス指定操作のため使用される。
【0283】CS10110のアドレス指定機構はま
た、CS10110内部およびその相互間での記述子の
使用に基づいている。各記述子は、ある特定のオブジェ
クトの識別のためのAONまたはUIDフィールド、オ
ブジェクト内でのビットの細分オフセットを規定するオ
フセット・フィールド、および指定されたオフセットに
おいて開始する特定のビット数を規定する長さフィール
ドとを含んでいる。記述子はまた、これにより言及され
るデータの特定のフォーマットを識別する形式即ちフォ
ーマット・フィールドをも含むことができる。物理的な
記述子はMEM10112をアドレス指定するために使
用され、この場合AONまたはUIDフィールドはME
M10112におけるある物理的場所と呼ばれるフレー
ム番号フィールドにより置換される。
た、CS10110内部およびその相互間での記述子の
使用に基づいている。各記述子は、ある特定のオブジェ
クトの識別のためのAONまたはUIDフィールド、オ
ブジェクト内でのビットの細分オフセットを規定するオ
フセット・フィールド、および指定されたオフセットに
おいて開始する特定のビット数を規定する長さフィール
ドとを含んでいる。記述子はまた、これにより言及され
るデータの特定のフォーマットを識別する形式即ちフォ
ーマット・フィールドをも含むことができる。物理的な
記述子はMEM10112をアドレス指定するために使
用され、この場合AONまたはUIDフィールドはME
M10112におけるある物理的場所と呼ばれるフレー
ム番号フィールドにより置換される。
【0284】前述の如く、記述子は、CS10110を
構成する別個の独立的なプロセッサ(FU10120、
EU10122、MEM10112およびIOS101
16)内部およびこれら相互間でアドレス指定を行なう
ために使用され、これによりフォーマット情報を含む共
通のシステム幅を有するビットの細分性を富んだアドレ
ス指定操作を提供する。特に、MEM10112は書式
化操作の実施により記述子の形式情報フィールドに応答
して、記述子における要求側により規定されるフォーマ
ットにおけるデータを要求側に提供する。MEM101
12はまた、記述子において規定されるフォーマットに
おけるデータを受入れ、データを記憶するためMEM1
0112により最も有効に使用されるフォーマットにお
いてこのデータを再書式化する。
構成する別個の独立的なプロセッサ(FU10120、
EU10122、MEM10112およびIOS101
16)内部およびこれら相互間でアドレス指定を行なう
ために使用され、これによりフォーマット情報を含む共
通のシステム幅を有するビットの細分性を富んだアドレ
ス指定操作を提供する。特に、MEM10112は書式
化操作の実施により記述子の形式情報フィールドに応答
して、記述子における要求側により規定されるフォーマ
ットにおけるデータを要求側に提供する。MEM101
12はまた、記述子において規定されるフォーマットに
おけるデータを受入れ、データを記憶するためMEM1
0112により最も有効に使用されるフォーマットにお
いてこのデータを再書式化する。
【0285】前述の如く、全てのオペランドは、ある特
定のS言語ダイアレクト内の全ての名前が統一された固
定のサイズおよびフォーマットである場合に、名前によ
りCS10110において表示される。名前のサイズを
規定するK値がS言語のダイアレクトにおける変更毎に
FU10120に対して与えられ、命令ストリームから
の名前の解析の際にFU10120により使用される。
CS10110の別の実施態様においては、全ての名前
が全てのS言語において同じサイズであり、そのためF
U10120の解析部における関連する回路は必要でな
い。
定のS言語ダイアレクト内の全ての名前が統一された固
定のサイズおよびフォーマットである場合に、名前によ
りCS10110において表示される。名前のサイズを
規定するK値がS言語のダイアレクトにおける変更毎に
FU10120に対して与えられ、命令ストリームから
の名前の解析の際にFU10120により使用される。
CS10110の別の実施態様においては、全ての名前
が全てのS言語において同じサイズであり、そのためF
U10120の解析部における関連する回路は必要でな
い。
【0286】最後に、CS10110のSOPの使用の
説明において、FU10120のマイクロ命令回路につ
いて1つ以上のSインタプリタを記憶するものとして説
明された。Sポインタが、種々のS言語のダイアレクト
のSOPを翻訳するための組をなす一連のマイクロ命令
であり、かつCS10110を制御する対応する一連の
マイクロ命令を提供する。CS10110の別の実施態
様においては、これらのSインタプリタ(SITT11
012)はMEM10112において記憶されることに
なる。FU10120は命令ストリームからSOPを受
取り、また1つ以上のSインタプリタ基底ポインタ(即
ち、MEM10112におけるSITT11012と指
示するアーキテクチャ基底ポインタ)を用いてMEM1
0112に記憶されたSITT11012をアドレス指
定することになる。MEM10112は、MEM101
12におけるSITT11012から、CS10110
の制御において直接使用すべき数連のマイクロ命令を提
供することによって対応する。あるいはまた、MEM1
0112におけるSITT11012は、従来のCPU
により使用可能な従来の命令、例えばFORTRANま
たは機械語の命令により使用可能な従来の命令を提供す
ることもできる。このため、例えば、FU10120が
データ・ゼネラル社の「Eclipse」の如き従来周
知のCPUで置換することが可能になる。
説明において、FU10120のマイクロ命令回路につ
いて1つ以上のSインタプリタを記憶するものとして説
明された。Sポインタが、種々のS言語のダイアレクト
のSOPを翻訳するための組をなす一連のマイクロ命令
であり、かつCS10110を制御する対応する一連の
マイクロ命令を提供する。CS10110の別の実施態
様においては、これらのSインタプリタ(SITT11
012)はMEM10112において記憶されることに
なる。FU10120は命令ストリームからSOPを受
取り、また1つ以上のSインタプリタ基底ポインタ(即
ち、MEM10112におけるSITT11012と指
示するアーキテクチャ基底ポインタ)を用いてMEM1
0112に記憶されたSITT11012をアドレス指
定することになる。MEM10112は、MEM101
12におけるSITT11012から、CS10110
の制御において直接使用すべき数連のマイクロ命令を提
供することによって対応する。あるいはまた、MEM1
0112におけるSITT11012は、従来のCPU
により使用可能な従来の命令、例えばFORTRANま
たは機械語の命令により使用可能な従来の命令を提供す
ることもできる。このため、例えば、FU10120が
データ・ゼネラル社の「Eclipse」の如き従来周
知のCPUで置換することが可能になる。
【0287】CS10110のいくつかの特徴およびこ
れらの特徴のあるものの別の実施態様について簡単に要
約したが、CS10110の構造および作用については
以下に詳細に説明する。
れらの特徴のあるものの別の実施態様について簡単に要
約したが、CS10110の構造および作用については
以下に詳細に説明する。
【0288】2.CS10110の主要サブシステムの
詳細な説明(図201〜図206,図207〜図27
4) これまでCS10110の全体的な構造および作用につ
いて説明したが、CS10110の主なサブシステムの
構造および作用は次に更に詳細に個々に説明することに
する。前に述べたように、CS10110の主なサブシ
ステムは、これから説明する順序で言うと、MEM10
112と、FU10120と、EU10122と、IO
S10116と、DP10118である。MEM101
12と、FU10120と、EU10122と、IOS
10116と、DP10118の個々のブロック図は、
夫々図201乃至図205に示されている。図201乃
至図205は図101に示されるものと対応するCS1
0110の更に詳細なブロック図を構成するために図2
06に示される如く組合すことができる。以下に記述の
オブジェクトのため、図201乃至図205はこのよう
なブロック図を構成するため図206に示されるように
組合されるものとする。更に別の図が、当業者に対して
CS10110の構造および作用を示すために必要とさ
れる如くに以下の記述において示される。
詳細な説明(図201〜図206,図207〜図27
4) これまでCS10110の全体的な構造および作用につ
いて説明したが、CS10110の主なサブシステムの
構造および作用は次に更に詳細に個々に説明することに
する。前に述べたように、CS10110の主なサブシ
ステムは、これから説明する順序で言うと、MEM10
112と、FU10120と、EU10122と、IO
S10116と、DP10118である。MEM101
12と、FU10120と、EU10122と、IOS
10116と、DP10118の個々のブロック図は、
夫々図201乃至図205に示されている。図201乃
至図205は図101に示されるものと対応するCS1
0110の更に詳細なブロック図を構成するために図2
06に示される如く組合すことができる。以下に記述の
オブジェクトのため、図201乃至図205はこのよう
なブロック図を構成するため図206に示されるように
組合されるものとする。更に別の図が、当業者に対して
CS10110の構造および作用を示すために必要とさ
れる如くに以下の記述において示される。
【0289】前述の如く、MEM10112は夫々IO
S10116およびJP10114に対する個々の独立
したポートのMIO10128とMJP10140を有
する優先順位決定用のインテリジェント・メモリーであ
る。MEM10112はJP10114およびIOS1
0116により共有されてこれによりアクセス可能であ
り、CS10110の主なメモリーである。更に、ME
M10112は外部(IOS10116を介して)とJ
P10114間に伝送される情報に対する主な経路であ
る。
S10116およびJP10114に対する個々の独立
したポートのMIO10128とMJP10140を有
する優先順位決定用のインテリジェント・メモリーであ
る。MEM10112はJP10114およびIOS1
0116により共有されてこれによりアクセス可能であ
り、CS10110の主なメモリーである。更に、ME
M10112は外部(IOS10116を介して)とJ
P10114間に伝送される情報に対する主な経路であ
る。
【0290】更に以下に述べるように、MEM1011
2は内部に記憶されたデータに対して迅速なアクセスを
提供する2つのレベルのメモリーである。MEM101
12の第1のレベルは大きな組のランダム・アクセス・
アレイからなり、MEM10112の第2のレベルは、
その作用が一般にメモリーのユーザから可視である高速
のカッシェ装置、即ちJP10114およびIOS10
116からなっている。MEM10112に記憶される
情報は、いずれのレベルにおいても、JP10114お
よびIOS10116の双方にとってアドレス指定可能
なビットであるように見える。更に、MEM10112
はJP10114とIOS10116の双方に対する簡
単なインターフェースである。高度のパイプライン構成
(同時および重合するメモリー操作)のため、JP10
114およびIOS10116の双方に対するMEM1
0112のインターフェースは、あたかもJP1011
4およびIOS10116の各々がMEM10112に
対する完全なアクセスを有する。この特徴のため、例え
ば、MEM10112からは63.6メガバイト/秒ま
で、MEM10112からは50メガバイト/秒までの
データ転送速度を可能にする。
2は内部に記憶されたデータに対して迅速なアクセスを
提供する2つのレベルのメモリーである。MEM101
12の第1のレベルは大きな組のランダム・アクセス・
アレイからなり、MEM10112の第2のレベルは、
その作用が一般にメモリーのユーザから可視である高速
のカッシェ装置、即ちJP10114およびIOS10
116からなっている。MEM10112に記憶される
情報は、いずれのレベルにおいても、JP10114お
よびIOS10116の双方にとってアドレス指定可能
なビットであるように見える。更に、MEM10112
はJP10114とIOS10116の双方に対する簡
単なインターフェースである。高度のパイプライン構成
(同時および重合するメモリー操作)のため、JP10
114およびIOS10116の双方に対するMEM1
0112のインターフェースは、あたかもJP1011
4およびIOS10116の各々がMEM10112に
対する完全なアクセスを有する。この特徴のため、例え
ば、MEM10112からは63.6メガバイト/秒ま
で、MEM10112からは50メガバイト/秒までの
データ転送速度を可能にする。
【0291】以下の記述においては、MEM10112
の物理的構成の説明の前にこれらの記述において使用す
るある用語について最初に説明することにする。次にM
EM10112のポート構造を説明し、続いて、MEM
10112の制御機構を制御フローについて説明する。
次に、JP10114とIOS10116に対するME
M10112のインターフェースについて説明する。こ
のような全体的な説明に続いて、MEM10112の主
な論理的構成についての説明は、JP10114とIO
S10116に対するMEM10112のインターフェ
ースから始めて、MEM10112の記憶されたデータ
の第1の(即ち、大容量の)レベルに向って内側に進み
ながら個々に説明する。最後に、MEM10112のマ
イクロコード制御構造のある特徴について説明すること
にする。
の物理的構成の説明の前にこれらの記述において使用す
るある用語について最初に説明することにする。次にM
EM10112のポート構造を説明し、続いて、MEM
10112の制御機構を制御フローについて説明する。
次に、JP10114とIOS10116に対するME
M10112のインターフェースについて説明する。こ
のような全体的な説明に続いて、MEM10112の主
な論理的構成についての説明は、JP10114とIO
S10116に対するMEM10112のインターフェ
ースから始めて、MEM10112の記憶されたデータ
の第1の(即ち、大容量の)レベルに向って内側に進み
ながら個々に説明する。最後に、MEM10112のマ
イクロコード制御構造のある特徴について説明すること
にする。
【0292】A.MEM10112(図201,図20
6,図207〜図237) a.用語の説明 以下の説明においては幾つかの用語が使用されるが、読
者の照合のため更に以下の如く定義する。即ち、1ワー
ドとは32ビットのデータである。
6,図207〜図237) a.用語の説明 以下の説明においては幾つかの用語が使用されるが、読
者の照合のため更に以下の如く定義する。即ち、1ワー
ドとは32ビットのデータである。
【0293】1バイトとは8ビットのデータである。
【0294】1ブロックとは128ビットのデータ(即
ち、4ワード)である。1ブロックは常に、1つのブロ
ックの境界に関して常に整合される。即ち、論理アドレ
スまたは物理的アドレスの下位の7ビットが零である
(第1章A.fおよびD節、CS10110のアドレス
指定動作の説明参照)。
ち、4ワード)である。1ブロックは常に、1つのブロ
ックの境界に関して常に整合される。即ち、論理アドレ
スまたは物理的アドレスの下位の7ビットが零である
(第1章A.fおよびD節、CS10110のアドレス
指定動作の説明参照)。
【0295】用語「整合」とは、あるアドレス境界に対
するあるデータ項目の開始ビットのアドレスを意味す
る。開始ビット・アドレスは、開始ビットのアドレスの
下位の7ビットが零に等しい時、即ち開始ビットのアド
レスが隣接するブロック間の境界に該当する時、ブロッ
ク整合される。ワード整合開始ビット・アドレスとは、
開始ビットのアドレスの下位の5ビットが零であること
を意味し、この開始ビット・アドレスは隣接するワード
間の境界を指示する。バイド整合開始ビット・アドレス
とは、開始ビット・アドレスの下位の3ビットが零であ
ることを意味し、この開始ビット・アドレスは隣接する
バイト間の境界を指示する。
するあるデータ項目の開始ビットのアドレスを意味す
る。開始ビット・アドレスは、開始ビットのアドレスの
下位の7ビットが零に等しい時、即ち開始ビットのアド
レスが隣接するブロック間の境界に該当する時、ブロッ
ク整合される。ワード整合開始ビット・アドレスとは、
開始ビットのアドレスの下位の5ビットが零であること
を意味し、この開始ビット・アドレスは隣接するワード
間の境界を指示する。バイド整合開始ビット・アドレス
とは、開始ビット・アドレスの下位の3ビットが零であ
ることを意味し、この開始ビット・アドレスは隣接する
バイト間の境界を指示する。
【0296】ビットの細分性データは、1つのバイトの
境界ではなくこのバイト内に該当する開始ビット・アド
レスを有し、あるいはこのアドレスはあるバイトの境界
と整合されるが、このデータの長さはビット細分性を有
し、即ち8ビットの倍数ではない。
境界ではなくこのバイト内に該当する開始ビット・アド
レスを有し、あるいはこのアドレスはあるバイトの境界
と整合されるが、このデータの長さはビット細分性を有
し、即ち8ビットの倍数ではない。
【0297】b.MEM10112の物理的構造(図2
01) 図201においては、MEM10112の部分ブロック
図が示される。MEM10112の主な機能装置は、メ
モリー・アレイ(MA)20112を含む主記憶装置バ
ンク(MSB)20110と、バンク・コントローラ
(BC)20114と、バイパス書込みファイル(BY
F)20118を含むメモリー・カッシェ装置(MC)
と、フィールド隔離装置(FIU)20120と、メモ
リー・インターフェース・コントローラ(MIC)20
122である。
01) 図201においては、MEM10112の部分ブロック
図が示される。MEM10112の主な機能装置は、メ
モリー・アレイ(MA)20112を含む主記憶装置バ
ンク(MSB)20110と、バンク・コントローラ
(BC)20114と、バイパス書込みファイル(BY
F)20118を含むメモリー・カッシェ装置(MC)
と、フィールド隔離装置(FIU)20120と、メモ
リー・インターフェース・コントローラ(MIC)20
122である。
【0298】MSB20110は、MEM10112の
第1の、即ち大容量の記憶レベルを有する。MSB20
110は、1から例えば16までのMA20112を含
む。各MA20112は、例えば、256Kバイト、5
12Kバイト、1メガバイトまたは2メガバイトの記憶
容量を有するもので良い。以下において更に説明するよ
うに、異なる容量のMA20112がMSB20110
において一緒に使用することができる。各MA2011
2は、書込みデータ(WD)バス20124と並列に接
続されたデータ入力と、読出しデータ(RD)バス20
126と並列に接続されたデータ出力を有する。MA2
0112はまた(ADCTL)バス20128をアドレ
ス指定して制御するため並列に接続された制御およびア
ドレス指定ポートを有する。特に、MA20112のW
Dバス20124はRD20126と並列に接続され、
MA20112のADCTLバス20128は読出しデ
ータ(RD)バス20130と並列に接続されている。
MA20112の制御アドレス・ポート20132はア
ドレス兼制御(ADCTL)バス20134と並列に接
続される。
第1の、即ち大容量の記憶レベルを有する。MSB20
110は、1から例えば16までのMA20112を含
む。各MA20112は、例えば、256Kバイト、5
12Kバイト、1メガバイトまたは2メガバイトの記憶
容量を有するもので良い。以下において更に説明するよ
うに、異なる容量のMA20112がMSB20110
において一緒に使用することができる。各MA2011
2は、書込みデータ(WD)バス20124と並列に接
続されたデータ入力と、読出しデータ(RD)バス20
126と並列に接続されたデータ出力を有する。MA2
0112はまた(ADCTL)バス20128をアドレ
ス指定して制御するため並列に接続された制御およびア
ドレス指定ポートを有する。特に、MA20112のW
Dバス20124はRD20126と並列に接続され、
MA20112のADCTLバス20128は読出しデ
ータ(RD)バス20130と並列に接続されている。
MA20112の制御アドレス・ポート20132はア
ドレス兼制御(ADCTL)バス20134と並列に接
続される。
【0299】BC20114のデータ出力20136は
RD20126と接続され、BC20114のデータ入
力20138はRDバス20130と接続される。BC
20114の制御兼アドレス・ポート20140はAD
CTLバス20134と接続される。BC20114の
データ入力20142は記憶戻しデータ(SBD)バス
20146を介してMC20116のデータ出力201
44と接続されている。BC20114の記憶戻しアド
レス入力20148は、記憶戻しアドレス(SBA)バ
ス20152を介してMC20116の記憶戻しアドレ
ス出力20150と接続されている。BC20114の
読出しデータ出力20154は、読出しデータアウト
(RDO)バス20158を介してMC20116の読
出しデータ入力20156と接続されている。BC20
114の制御ポート20160はメモリー制御(MCN
TL)バス20164と結合されている。
RD20126と接続され、BC20114のデータ入
力20138はRDバス20130と接続される。BC
20114の制御兼アドレス・ポート20140はAD
CTLバス20134と接続される。BC20114の
データ入力20142は記憶戻しデータ(SBD)バス
20146を介してMC20116のデータ出力201
44と接続されている。BC20114の記憶戻しアド
レス入力20148は、記憶戻しアドレス(SBA)バ
ス20152を介してMC20116の記憶戻しアドレ
ス出力20150と接続されている。BC20114の
読出しデータ出力20154は、読出しデータアウト
(RDO)バス20158を介してMC20116の読
出しデータ入力20156と接続されている。BC20
114の制御ポート20160はメモリー制御(MCN
TL)バス20164と結合されている。
【0300】MC20116は出力20166をMIO
10128を介してMIOバス10131と接続され、
ポート20168はMJP10140を介してMODバ
ス10144と接続される。MC20116の制御ポー
ト20170はMCNTLバス20164と接続され
る。BYF20118の入力20172はMIO101
28を介してIOMバス10130と接続され、出力2
0176はBWIバス20178を介してSBDバス2
0146と接続される。
10128を介してMIOバス10131と接続され、
ポート20168はMJP10140を介してMODバ
ス10144と接続される。MC20116の制御ポー
ト20170はMCNTLバス20164と接続され
る。BYF20118の入力20172はMIO101
28を介してIOMバス10130と接続され、出力2
0176はBWIバス20178を介してSBDバス2
0146と接続される。
【0301】最後に、FIU20120は、MIO10
1282を介して出力20180と入力20182を夫
々MIOバス10129とIOMバス10130に接続
させている。入力20184とポート20186は夫々
MJP10140を介してJPDバス10142とMO
Dバス10144と接続されている。制御ポート201
88はMCNTLバス20164に接続されている。最
後にMIC20122について見れば、MIC2012
2はMIO10128を介して制御ポート20190と
入力20192を夫々MMIOバス10131とIOM
バス10130に接続させている。制御ポート2019
4と入力20196は、夫々MJP10140を介して
JPMCバス10147と物理的記述子(PD)101
46とに接続されている。制御ポート20198はMC
NTLバス20164に接続されている。
1282を介して出力20180と入力20182を夫
々MIOバス10129とIOMバス10130に接続
させている。入力20184とポート20186は夫々
MJP10140を介してJPDバス10142とMO
Dバス10144と接続されている。制御ポート201
88はMCNTLバス20164に接続されている。最
後にMIC20122について見れば、MIC2012
2はMIO10128を介して制御ポート20190と
入力20192を夫々MMIOバス10131とIOM
バス10130に接続させている。制御ポート2019
4と入力20196は、夫々MJP10140を介して
JPMCバス10147と物理的記述子(PD)101
46とに接続されている。制御ポート20198はMC
NTLバス20164に接続されている。
【0302】c.MEM10112の全体的作用 最初に、MEM10112のIOS10116に対する
インターフェースについて述べれば、このインターフェ
ースはMIOバス10129と、IOMバス10130
と、IOMCバス10131を含んでいる。MEM10
112に対して書込まれるべき読出しおよび書込みアド
レスおよびデータは、IOS10116からIOMバス
10130を介してMEM10112に対して転送され
る。MEM10112から読出されたデータは、MIO
バス10129を介してIOS10116に対して転送
される。IOMCバス10131は、MEM10112
とIOS10116間の両方向制御バスであり、以下に
おいて更に説明するように、MEM10112とIOS
10116間に制御信号を転送して、MEM10112
とIOS10116間のデータの転送を制御する。
インターフェースについて述べれば、このインターフェ
ースはMIOバス10129と、IOMバス10130
と、IOMCバス10131を含んでいる。MEM10
112に対して書込まれるべき読出しおよび書込みアド
レスおよびデータは、IOS10116からIOMバス
10130を介してMEM10112に対して転送され
る。MEM10112から読出されたデータは、MIO
バス10129を介してIOS10116に対して転送
される。IOMCバス10131は、MEM10112
とIOS10116間の両方向制御バスであり、以下に
おいて更に説明するように、MEM10112とIOS
10116間に制御信号を転送して、MEM10112
とIOS10116間のデータの転送を制御する。
【0303】JP10114に対するMEM10112
のインターフェースはMJPバス10140であり、J
PDバス10142と、MODバス10144と、PD
バス10146と、JPMCバス10147を含んでい
る。物理的記述子、即ちMEM10112の物理的読出
しおよび書込みアドレスは、JP10114からPDバ
ス10146を介してMEM10112に対して送られ
る。SOp、即ち一連のS命令およびオペランドの名前
は、MEM10112からMODバス10144を介し
てJP10114に対して送られるが、JP10114
からMEM10112に書込まれるべきデータはJP1
0114からJPDバス10142を介してMEM10
112に対して転送される。JPMCバス10147
は、MEM10112とJP10114間におけるデー
タの転送を制御するためMEM10112とJP101
14間の指令および制御信号の転送を行なうための両方
向の制御バスである。以下において更に説明するよう
に、MJPポート10140、特にMOD10144お
よびPDバス10146は、一般に二重ポートとして作
用する単一ポートとして物理的に構成される。第1の場
合には、MJPポート10140は、MEM10112
からJP10114に対してSOpを転送するためのジ
ョブ・プロセッサ命令(JI)ポートとして作用する。
第2の場合は、MOD10144とPD10146はM
EM10112からJP10114に対するオペランド
の転送のためのジョブ・プロセッサのオペランド(J
O)ポートとして作用するが、JPDバス10142と
PDバスはJP10114からMEM10112に対し
てオペランドを転送する。
のインターフェースはMJPバス10140であり、J
PDバス10142と、MODバス10144と、PD
バス10146と、JPMCバス10147を含んでい
る。物理的記述子、即ちMEM10112の物理的読出
しおよび書込みアドレスは、JP10114からPDバ
ス10146を介してMEM10112に対して送られ
る。SOp、即ち一連のS命令およびオペランドの名前
は、MEM10112からMODバス10144を介し
てJP10114に対して送られるが、JP10114
からMEM10112に書込まれるべきデータはJP1
0114からJPDバス10142を介してMEM10
112に対して転送される。JPMCバス10147
は、MEM10112とJP10114間におけるデー
タの転送を制御するためMEM10112とJP101
14間の指令および制御信号の転送を行なうための両方
向の制御バスである。以下において更に説明するよう
に、MJPポート10140、特にMOD10144お
よびPDバス10146は、一般に二重ポートとして作
用する単一ポートとして物理的に構成される。第1の場
合には、MJPポート10140は、MEM10112
からJP10114に対してSOpを転送するためのジ
ョブ・プロセッサ命令(JI)ポートとして作用する。
第2の場合は、MOD10144とPD10146はM
EM10112からJP10114に対するオペランド
の転送のためのジョブ・プロセッサのオペランド(J
O)ポートとして作用するが、JPDバス10142と
PDバスはJP10114からMEM10112に対し
てオペランドを転送する。
【0304】MSB20110について述べれば、MS
B20110はMEM10112の第1の、即ち大容量
の記憶レベルを有する。MSB20110は例えば1個
から16個までのMA20112を有する。各MA20
112は、動的ランダム・アクセス・メモリー・アレイ
を有し、また例えば、256Kバイト、または512K
バイト、または1メガバイト、または2メガバイトの記
憶容量を有する。従ってMEM10112は、16メガ
バイトまでの大容量の記憶域を有する。以下に更に説明
するように、異なる容量のMA20112、例えば、4
つの2メガバイトのMA20112と4つの1メガバイ
トのMA20112とをMSB20110において使用
することができる。
B20110はMEM10112の第1の、即ち大容量
の記憶レベルを有する。MSB20110は例えば1個
から16個までのMA20112を有する。各MA20
112は、動的ランダム・アクセス・メモリー・アレイ
を有し、また例えば、256Kバイト、または512K
バイト、または1メガバイト、または2メガバイトの記
憶容量を有する。従ってMEM10112は、16メガ
バイトまでの大容量の記憶域を有する。以下に更に説明
するように、異なる容量のMA20112、例えば、4
つの2メガバイトのMA20112と4つの1メガバイ
トのMA20112とをMSB20110において使用
することができる。
【0305】BC20114はMA20112の作用を
制御し、MA20112に関するデータの転出入のため
の経路である。更に、BC20114は、MA2011
2に関して転出入されるデータについてエラーの検出お
よび補正を行ない、MA20112に記憶されたデータ
をリフレッシュし、またリフレッシュ操作の間にMA2
0112に記憶されたデータのエラー検出および補正を
行なう。
制御し、MA20112に関するデータの転出入のため
の経路である。更に、BC20114は、MA2011
2に関して転出入されるデータについてエラーの検出お
よび補正を行ない、MA20112に記憶されたデータ
をリフレッシュし、またリフレッシュ操作の間にMA2
0112に記憶されたデータのエラー検出および補正を
行なう。
【0306】MC20116は、MEM10112の第
2の、即ちカッシェレベルの記憶容量を有し、例えば8
Kバイトの高速メモリーを含む。BYF20118を含
むMC20116はまた、MSB20110(BC20
114を介する)とJP10114とIOS10116
間のデータ転送のための経路でもある。一般に、JP1
0114とIOS10116間の全ての読出しおよび書
込み操作はMC20116を経由する。しかし、IOS
10116は、MC20116をバイパスする全ブロッ
クの読出しおよび書込み操作を行なうことができる。I
OS10116からのブロック書込み操作はBYF20
118を介して行なわれるが、ブロック読出し操作はM
C20116に関して内部であり以下に示し説明するデ
ータ転送経路を介して行なわれる。しかし、MEM10
112とJP10114間の全ての読出しおよび書込み
操作は、以下において更に説明するように、MC201
16に関して内部のカッシェ装置を介して行なわなけれ
ばならない。
2の、即ちカッシェレベルの記憶容量を有し、例えば8
Kバイトの高速メモリーを含む。BYF20118を含
むMC20116はまた、MSB20110(BC20
114を介する)とJP10114とIOS10116
間のデータ転送のための経路でもある。一般に、JP1
0114とIOS10116間の全ての読出しおよび書
込み操作はMC20116を経由する。しかし、IOS
10116は、MC20116をバイパスする全ブロッ
クの読出しおよび書込み操作を行なうことができる。I
OS10116からのブロック書込み操作はBYF20
118を介して行なわれるが、ブロック読出し操作はM
C20116に関して内部であり以下に示し説明するデ
ータ転送経路を介して行なわれる。しかし、MEM10
112とJP10114間の全ての読出しおよび書込み
操作は、以下において更に説明するように、MC201
16に関して内部のカッシェ装置を介して行なわなけれ
ばならない。
【0307】また以下に示し説明するように、FU20
120は、JP10114およびIOS10116から
MEM10112に書込まれるべきデータを受取るため
の書込みデータ・レジスタと、MEM10112がビッ
ト・アドレス指定可能メモリーとして現われるようにM
SB20110から読出されたデータを操作するための
回路とを含む。FU20120は、MEM10112の
ビット・アドレス指定能力を提供することに加えて、デ
ータの左右の位置合せ、データの零充填、以下に述べる
その他のデータ操作を行なう。MEM10112からJ
P10114に読込まれたデータについてのこれらのデ
ータ操作の実施において、MODバス10144はMC
20116からFIU20120への、またFIU20
120からMC20116へのデータの転送のためのM
EM10112に対して内部のデータ経路として使用さ
れる。即ち、JP10114に対して転送されるべきデ
ータはMC20116から読出されMODバス1014
4を介してFIU20120に転送され、FIU201
20により操作され、MODバス10144を介してF
IU20120からJP10114へ転送される。
120は、JP10114およびIOS10116から
MEM10112に書込まれるべきデータを受取るため
の書込みデータ・レジスタと、MEM10112がビッ
ト・アドレス指定可能メモリーとして現われるようにM
SB20110から読出されたデータを操作するための
回路とを含む。FU20120は、MEM10112の
ビット・アドレス指定能力を提供することに加えて、デ
ータの左右の位置合せ、データの零充填、以下に述べる
その他のデータ操作を行なう。MEM10112からJ
P10114に読込まれたデータについてのこれらのデ
ータ操作の実施において、MODバス10144はMC
20116からFIU20120への、またFIU20
120からMC20116へのデータの転送のためのM
EM10112に対して内部のデータ経路として使用さ
れる。即ち、JP10114に対して転送されるべきデ
ータはMC20116から読出されMODバス1014
4を介してFIU20120に転送され、FIU201
20により操作され、MODバス10144を介してF
IU20120からJP10114へ転送される。
【0308】MIC20122はMEM10112の作
用を制御する回路を含み、JP10114とIOS10
116とのMEM10112のインターフェースを制御
する。MIC20122はMEM10112の読出しお
よび書込み要求、即ちPDバス10146とIOMバス
10130を介して読出しおよび書込みアドレスを、ま
たJPMCバス10147およびIOMCバス1013
1を介して制御信号を受取り、MCNTLバス2016
4を介してBC20114、MC20116およびFU
20120に対して制御信号を与える。
用を制御する回路を含み、JP10114とIOS10
116とのMEM10112のインターフェースを制御
する。MIC20122はMEM10112の読出しお
よび書込み要求、即ちPDバス10146とIOMバス
10130を介して読出しおよび書込みアドレスを、ま
たJPMCバス10147およびIOMCバス1013
1を介して制御信号を受取り、MCNTLバス2016
4を介してBC20114、MC20116およびFU
20120に対して制御信号を与える。
【0309】MEM10112の全体的な構造および作
用について述べたが、MEM10112のポート、即ち
MIOポート10128とMJPポート10140の構
造および作用について次に説明し、これにMEM101
12の制御構造およびMEM10112の読出しおよび
書込み要求の制御および流れについての説明が続く。
用について述べたが、MEM10112のポート、即ち
MIOポート10128とMJPポート10140の構
造および作用について次に説明し、これにMEM101
12の制御構造およびMEM10112の読出しおよび
書込み要求の制御および流れについての説明が続く。
【0310】d.MEM10112のポート構造 MEM10112のポート構造は、MODバス1014
4およびIOS10116からのMEM10112の読
出しおよび書込み要求に対応する時の迅速で柔軟性に富
んだ操作を提供しながら、JP10114およびIOS
10116に対する簡単なインターフェースを提供する
ように構成されている。この点に関して、以下に更に述
べるようにMEM10112は4つまでの読出しおよび
書込み要求を、例えば1秒当り63.6メガバイトまで
のデータ速度で同時に取扱うことができる。更に、ME
M10112は、ビットの細分アドレス指定、ブロック
の読出しおよび書込み操作、およびJP10114およ
びIOS10116の最大効率を可能にするため位置合
せおよび充填の如き、データ操作を行なうことが可能で
ある。
4およびIOS10116からのMEM10112の読
出しおよび書込み要求に対応する時の迅速で柔軟性に富
んだ操作を提供しながら、JP10114およびIOS
10116に対する簡単なインターフェースを提供する
ように構成されている。この点に関して、以下に更に述
べるようにMEM10112は4つまでの読出しおよび
書込み要求を、例えば1秒当り63.6メガバイトまで
のデータ速度で同時に取扱うことができる。更に、ME
M10112は、ビットの細分アドレス指定、ブロック
の読出しおよび書込み操作、およびJP10114およ
びIOS10116の最大効率を可能にするため位置合
せおよび充填の如き、データ操作を行なうことが可能で
ある。
【0311】MEM10112は3つのポートからの要
求を有効に作用する。これらのポートは、以下において
IOポートと呼ばれるMIOポート10128からIO
S10116に至るポートと、JP10114に対する
前に述べたJIおよびJOポートである。これら3つの
ポートは、MEM10112の全アドレス・ベースを共
有するが、IOS10116は例えばMEM10112
のアドレス空間の完全な使用を制限することができる。
各ポートは異なる組合せの許容された諸操作を有する。
例えば、JOポートはベース細分性に富むアドレスを使
用できるが、各要求においては32ビットのデータしか
照合できない。JIポートは32ビットのデータ項目の
ワード整合しか行なわない読出し要求を行なうことがで
きる。IOポートはビット細分データの照合ができ、ま
た以下に更に述べるように、各読出しまたは書込み要求
において16バイトまでの読出しまたは書込みが可能で
ある。これらポートの各々の特性については次に論述し
よう。
求を有効に作用する。これらのポートは、以下において
IOポートと呼ばれるMIOポート10128からIO
S10116に至るポートと、JP10114に対する
前に述べたJIおよびJOポートである。これら3つの
ポートは、MEM10112の全アドレス・ベースを共
有するが、IOS10116は例えばMEM10112
のアドレス空間の完全な使用を制限することができる。
各ポートは異なる組合せの許容された諸操作を有する。
例えば、JOポートはベース細分性に富むアドレスを使
用できるが、各要求においては32ビットのデータしか
照合できない。JIポートは32ビットのデータ項目の
ワード整合しか行なわない読出し要求を行なうことがで
きる。IOポートはビット細分データの照合ができ、ま
た以下に更に述べるように、各読出しまたは書込み要求
において16バイトまでの読出しまたは書込みが可能で
ある。これらポートの各々の特性については次に論述し
よう。
【0312】1.IOポートの特性 IOS10116は、2つのモードのいずれによっても
MEM10112をアクセスすることができる。第1の
モードはMC20116におけるカッシェ装置のバイパ
スまたはこれを経由するブロック転送であり、第2はカ
ッシェ装置およびMC20116を経由するブロック転
送である。
MEM10112をアクセスすることができる。第1の
モードはMC20116におけるカッシェ装置のバイパ
スまたはこれを経由するブロック転送であり、第2はカ
ッシェ装置およびMC20116を経由するブロック転
送である。
【0313】ブロックのバイパスは読出しおよび書込み
の両操作について生じ得る。読出しまたは書込み操作
は、もしデータがブロックの境界にあるならば、ブロッ
ク・バイパスに対して有効であり、16バイトの長さで
あり、読出しまたは書込み要求は、カッシェ操作(MC
20116のカッシェ装置へのローディング)が実施さ
れるべきことを表示する制御信号は伴なわない。バイパ
ス操作は、単にブロック・アドレス、即ちMEM101
12におけるブロックの物理的アドレスがその時カッシ
ェ化されたブロック、即ちMC20116のカッシェ装
置には存在しないブロックはアドレス指定しなければな
らない時にのみ発生する。もしブロックがMC2011
6のコンピュータ・システムにおいてカッシェ化される
ならば、読出しまたは書込み転送はMC20116のカ
ッシェ装置に対してなされる。
の両操作について生じ得る。読出しまたは書込み操作
は、もしデータがブロックの境界にあるならば、ブロッ
ク・バイパスに対して有効であり、16バイトの長さで
あり、読出しまたは書込み要求は、カッシェ操作(MC
20116のカッシェ装置へのローディング)が実施さ
れるべきことを表示する制御信号は伴なわない。バイパ
ス操作は、単にブロック・アドレス、即ちMEM101
12におけるブロックの物理的アドレスがその時カッシ
ェ化されたブロック、即ちMC20116のカッシェ装
置には存在しないブロックはアドレス指定しなければな
らない時にのみ発生する。もしブロックがMC2011
6のコンピュータ・システムにおいてカッシェ化される
ならば、読出しまたは書込み転送はMC20116のカ
ッシェ装置に対してなされる。
【0314】部分的なブロック照合、即ち不完全なブロ
ック転送はMC20116のカッシェ装置を介して行な
われる。もしカッシェ装置のミスが生じるならば即ち、
照合データがMC20116のカッシェ装置に存在しな
ければ、MEM10112の制御構造部がデータをMS
B20110に関して出入りさせ、またMC20116
のカッシェ装置を更新する。部分ブロックは1バイト程
の短いものから15バイトの長さまでありうることを知
るべきである。始動バイト・アドレスは1つのバイト内
のどこでも良いが、部分ブロックの長さの1つのラベル
の境界を越えることはない。
ック転送はMC20116のカッシェ装置を介して行な
われる。もしカッシェ装置のミスが生じるならば即ち、
照合データがMC20116のカッシェ装置に存在しな
ければ、MEM10112の制御構造部がデータをMS
B20110に関して出入りさせ、またMC20116
のカッシェ装置を更新する。部分ブロックは1バイト程
の短いものから15バイトの長さまでありうることを知
るべきである。始動バイト・アドレスは1つのバイト内
のどこでも良いが、部分ブロックの長さの1つのラベル
の境界を越えることはない。
【0315】ビット長の転送、即ち1乃至16ビットの
長さであって1バイトの倍数ではない長さを有する、即
ちアドレスはバイト境界上にはないデータ項目の転送は
MC20116のカッシェ装置を経由する。これらの操
作はバイト、ワード、またはブロックの境界に跨っても
良いが、ページ境界に跨ることはない。IOポインタに
より要求されたこれらの特定の操作は、読出しまたは書
込み要求が部分ブロック即ちビット長転送であるかどう
かを決定する。
長さであって1バイトの倍数ではない長さを有する、即
ちアドレスはバイト境界上にはないデータ項目の転送は
MC20116のカッシェ装置を経由する。これらの操
作はバイト、ワード、またはブロックの境界に跨っても
良いが、ページ境界に跨ることはない。IOポインタに
より要求されたこれらの特定の操作は、読出しまたは書
込み要求が部分ブロック即ちビット長転送であるかどう
かを決定する。
【0316】2.JOポートの特性 JOポートからの全ての読出しまたは書込み要求はMC
20116のカッシェ装置を経由しなければならず、バ
イパス操作は実施できない。MEM10112とJP1
0114間に転送されるデータは常に32ビットの長さ
であるが、この送られた32ビットの内零から32ビッ
トが有効なデータである。JP10114は、読出しま
たは書込み要求の一部として与えられるあるFIU指定
ビットの照合によって32ビット内の有効データの場所
を判定する。以下に更に述べるように、FIU指定ビッ
トおよび他の制御ビットは、各読出しまたは書込み要求
が行なわれる時、JPMCバス10147を介してJP
10114によりMIC20122に対して与えられ
る。
20116のカッシェ装置を経由しなければならず、バ
イパス操作は実施できない。MEM10112とJP1
0114間に転送されるデータは常に32ビットの長さ
であるが、この送られた32ビットの内零から32ビッ
トが有効なデータである。JP10114は、読出しま
たは書込み要求の一部として与えられるあるFIU指定
ビットの照合によって32ビット内の有効データの場所
を判定する。以下に更に述べるように、FIU指定ビッ
トおよび他の制御ビットは、各読出しまたは書込み要求
が行なわれる時、JPMCバス10147を介してJP
10114によりMIC20122に対して与えられ
る。
【0317】MEM10112はJP10114に対す
るブロック・バイパス操作は行なわないが、MEM10
112はカッシェ読尽し操作を行なうことができる。こ
のような操作は、要求されたデータがMC20116の
カッシェ内に存在しないJP10114の読出し要求に
おいて生じる。もしJP10114の読出し要求がワー
ド整合された完全ワードに対するものであるならば、以
下に述べるMEM10112のロード管理装置が要求さ
れたデータをJP10114に対して直接転送すると同
時に、要求データをMC20116のカッシェ装置に対
してロードする。この操作は「ハンド・オフ」操作と呼
ばれる。これらの操作はまた、1つの32ビット・ワー
ドの右側の半ワードに整合された16ビットの半ワード
に対して、または完全ブロックが左側に置かれてMC2
0116のカッシェ装置にロードされるならば、IOポ
ートによって実施することができる。
るブロック・バイパス操作は行なわないが、MEM10
112はカッシェ読尽し操作を行なうことができる。こ
のような操作は、要求されたデータがMC20116の
カッシェ内に存在しないJP10114の読出し要求に
おいて生じる。もしJP10114の読出し要求がワー
ド整合された完全ワードに対するものであるならば、以
下に述べるMEM10112のロード管理装置が要求さ
れたデータをJP10114に対して直接転送すると同
時に、要求データをMC20116のカッシェ装置に対
してロードする。この操作は「ハンド・オフ」操作と呼
ばれる。これらの操作はまた、1つの32ビット・ワー
ドの右側の半ワードに整合された16ビットの半ワード
に対して、または完全ブロックが左側に置かれてMC2
0116のカッシェ装置にロードされるならば、IOポ
ートによって実施することができる。
【0318】3.JIポートの特性 全てのJIポート要求はMC20116のカッシェ装置
により満たされ、MEM10112はJIポートに対す
るバイパス操作を実施しない。JIポート要求は常に完
全ワードで整合されたワードに対する読出し要求であ
り、前述の如くもしカッシェミスが生じるならば解除さ
れる。他のほとんどの点においては、JIポート要求は
JOポート要求に類似する。
により満たされ、MEM10112はJIポートに対す
るバイパス操作を実施しない。JIポート要求は常に完
全ワードで整合されたワードに対する読出し要求であ
り、前述の如くもしカッシェミスが生じるならば解除さ
れる。他のほとんどの点においては、JIポート要求は
JOポート要求に類似する。
【0319】JP10114およびIOS10116に
対するMEM10112の入力および出力ポートを含む
MEM10112の全体的構造および作用について述べ
たが、MEM10112の制御構造について次に説明す
る。
対するMEM10112の入力および出力ポートを含む
MEM10112の全体的構造および作用について述べ
たが、MEM10112の制御構造について次に説明す
る。
【0320】e.MEM10112の制御構造および作
用(図207) 図207においてはMC20116の更に詳細なブロッ
ク図が示される。図207は、MEM10112の制御
構造の以下の論述において図201に関連して言及され
る。
用(図207) 図207においてはMC20116の更に詳細なブロッ
ク図が示される。図207は、MEM10112の制御
構造の以下の論述において図201に関連して言及され
る。
【0321】1.MEM10112の制御構造 最初に図207において、MCNTLバス20164
は、MCNTL−BCバス20164Aと、MCNTL
−MCバス20164Bと、MCNTL−FIUバイ2
0164Cを含む如く示されている。各バスMCNTL
バス20164AとMCNTLバス20164BとMC
NTLバス20164Cは、夫々BC20114とMC
20116とFIU20120とに接続されたMCNT
Lバス20164の分岐である。また図207にはJP
10114に対するPDバス10146とJPMCバス
10147、またIOS10116に対するIOMバス
10130およびIOMCバス10131が示されてい
る。
は、MCNTL−BCバス20164Aと、MCNTL
−MCバス20164Bと、MCNTL−FIUバイ2
0164Cを含む如く示されている。各バスMCNTL
バス20164AとMCNTLバス20164BとMC
NTLバス20164Cは、夫々BC20114とMC
20116とFIU20120とに接続されたMCNT
Lバス20164の分岐である。また図207にはJP
10114に対するPDバス10146とJPMCバス
10147、またIOS10116に対するIOMバス
10130およびIOMCバス10131が示されてい
る。
【0322】JOポード・アドレス・レジスタ(JOP
AR)20710とJIポート・アドレス・レジスタ
(JIPAR)20712は、PDバス10146と接
続された入力を有する。IOポート・アドレス・レジス
タ(IOPAR)20714はIOMバス10130と
接続された入力を有する。ポート制御ロジック(PC)
20716はJPMCバス10147とIOMCバス1
0131と接続された両方向性の入出力を有する。バイ
パス読出し/書込み制御ロジック(BR/WC)207
18は、IOMCバス10131と接続された両方向性
入出力を有する。
AR)20710とJIポート・アドレス・レジスタ
(JIPAR)20712は、PDバス10146と接
続された入力を有する。IOポート・アドレス・レジス
タ(IOPAR)20714はIOMバス10130と
接続された入力を有する。ポート制御ロジック(PC)
20716はJPMCバス10147とIOMCバス1
0131と接続された両方向性の入出力を有する。バイ
パス読出し/書込み制御ロジック(BR/WC)207
18は、IOMCバス10131と接続された両方向性
入出力を有する。
【0323】JOPAR20710とJIPAR207
12とIOPAR20714の出力は、夫々バス207
32と20734と20736を介してポート要求マル
チプレクサ(PRMUX)20720の入力と接続され
ている。PRMUX20720の出力は更にバス207
38と接続される。バス20738の分岐はロード・ポ
インタ(LP)20724、ミス制御装置(MISS
C)20726要求管理装置(RM)20722の入力
側と接続され、またバスMCNTL−MC20164B
とMCNTL−FIU20164Cに接続される。
12とIOPAR20714の出力は、夫々バス207
32と20734と20736を介してポート要求マル
チプレクサ(PRMUX)20720の入力と接続され
ている。PRMUX20720の出力は更にバス207
38と接続される。バス20738の分岐はロード・ポ
インタ(LP)20724、ミス制御装置(MISS
C)20726要求管理装置(RM)20722の入力
側と接続され、またバスMCNTL−MC20164B
とMCNTL−FIU20164Cに接続される。
【0324】PC20716の出力はバス20739を
介してJOPAR20710、JIPAR20712、
IOPAR20714、PRMUX20720、LP2
0724の入力側と接続される。バス20740はPC
20716の入出力側とRM20722の入出力側間に
接続される。
介してJOPAR20710、JIPAR20712、
IOPAR20714、PRMUX20720、LP2
0724の入力側と接続される。バス20740はPC
20716の入出力側とRM20722の入出力側間に
接続される。
【0325】BR/WC20718の出力はバス207
42を介してMCNTL−MCバス20164Bに対し
て接続される。BR/WC20718の入力は、夫々バ
ス20744と20746を介してRM20722と2
0728に接続される。
42を介してMCNTL−MCバス20164Bに対し
て接続される。BR/WC20718の入力は、夫々バ
ス20744と20746を介してRM20722と2
0728に接続される。
【0326】RM20722は出力側を、夫々バス20
748,20750,20752および20754を介
してMCNTLバス20164Aと、MCNTLバス2
0164CとMISSC20726の入力側と、LP2
0724の入力側とに接続させる。MISSC2072
6の出力はMCNTLバス20164Aに接続される。
LP20724の出力はMCNTLバス20164Bと
接続され、また夫々バス20756およびバス2075
8を介してMCNTL−MCバス20164BおよびL
M20730の入力側と接続される。RQ20728の
入力は、MISSC20726を介してMCNTLバス
20164Bと接続され、またRQ20728はその出
力を20762を介してLP20724の入力側と接続
させ、また前に述べたように、バス20746を介して
BR/WC20718の入力側と接続させる。最後に、
LM20730の出力はバス20764を介してMCN
TLバス20164Bと接続される。
748,20750,20752および20754を介
してMCNTLバス20164Aと、MCNTLバス2
0164CとMISSC20726の入力側と、LP2
0724の入力側とに接続させる。MISSC2072
6の出力はMCNTLバス20164Aに接続される。
LP20724の出力はMCNTLバス20164Bと
接続され、また夫々バス20756およびバス2075
8を介してMCNTL−MCバス20164BおよびL
M20730の入力側と接続される。RQ20728の
入力は、MISSC20726を介してMCNTLバス
20164Bと接続され、またRQ20728はその出
力を20762を介してLP20724の入力側と接続
させ、また前に述べたように、バス20746を介して
BR/WC20718の入力側と接続させる。最後に、
LM20730の出力はバス20764を介してMCN
TLバス20164Bと接続される。
【0327】図207に関してPC20716の構造に
ついて説明し、図201に関してMEM10112の構
造について前に説明したが、MEM10112の制御構
造の作用については図201および図207の双方に関
して次に説明する。
ついて説明し、図201に関してMEM10112の構
造について前に説明したが、MEM10112の制御構
造の作用については図201および図207の双方に関
して次に説明する。
【0328】2.MEM10112の制御作用 最初に図207においては、JOPAR20710とJ
IPAR20712とIOPAR20714は、前述の
如く、JP10114からのPDバス10146とIO
S10116からのIOMバス10130とに接続され
る。JOPAR20710とJIPAR20712とI
OPAR20714は、JP10114とIOS101
16からの読出しおよび書込み要求アドレスを受取っ
て、これらのアドレスをMEM10112による以後の
サービスのために記憶する。以下において更に述べるよ
うに、JP10114およびIOS10116からのこ
れらのアドレス入力は、要求されたデータが要求側に対
して転送されあるいはMEM10112に書込まれる前
にどんなデータ処理操作がFIU20120によって行
なわれなければならないかを指示するFIU情報と、M
EM10112から読出されたデータが与えられるべき
行先に関する情報と、オペランド長に関する情報とを含
む。JOPAR20710とJIPAR20712とI
OPAR20714で受取られてこれに記憶された要求
アドレス情報は、MEM10112が対応する要求のサ
ービスを開始するまで保持される。MEM10112
は、あるポートに対する前の要求が処理されあるいは打
切られた後にのみこのポート・レジスタに対するその他
の要求アドレス情報を受入れる。JOPAR20710
とJIPAR20712とIOPAR20714からの
アドレス情報出力は、個々の要求のサービスが開始され
る時、PRMUX20720を介してバス20738へ
転送され、ここからRM20722とMC20116と
FIU20120に対して転送される。以下に述べるよ
うに、このアドレス情報は、MC20116のミス発生
と同時にカッシェ装置のミスの処理のため使用されるよ
うに、PRMUX20720とバス20738を介して
LP20724に対して転送される。
IPAR20712とIOPAR20714は、前述の
如く、JP10114からのPDバス10146とIO
S10116からのIOMバス10130とに接続され
る。JOPAR20710とJIPAR20712とI
OPAR20714は、JP10114とIOS101
16からの読出しおよび書込み要求アドレスを受取っ
て、これらのアドレスをMEM10112による以後の
サービスのために記憶する。以下において更に述べるよ
うに、JP10114およびIOS10116からのこ
れらのアドレス入力は、要求されたデータが要求側に対
して転送されあるいはMEM10112に書込まれる前
にどんなデータ処理操作がFIU20120によって行
なわれなければならないかを指示するFIU情報と、M
EM10112から読出されたデータが与えられるべき
行先に関する情報と、オペランド長に関する情報とを含
む。JOPAR20710とJIPAR20712とI
OPAR20714で受取られてこれに記憶された要求
アドレス情報は、MEM10112が対応する要求のサ
ービスを開始するまで保持される。MEM10112
は、あるポートに対する前の要求が処理されあるいは打
切られた後にのみこのポート・レジスタに対するその他
の要求アドレス情報を受入れる。JOPAR20710
とJIPAR20712とIOPAR20714からの
アドレス情報出力は、個々の要求のサービスが開始され
る時、PRMUX20720を介してバス20738へ
転送され、ここからRM20722とMC20116と
FIU20120に対して転送される。以下に述べるよ
うに、このアドレス情報は、MC20116のミス発生
と同時にカッシェ装置のミスの処理のため使用されるよ
うに、PRMUX20720とバス20738を介して
LP20724に対して転送される。
【0329】PC20716は、JPMCバス1014
7とIOMCバス10131を介してJP10114と
IOS10116から要求された各メモリー操作に関す
る指令および制御信号を受取る。PC20716は要求
調整ロジックとポート状態ロジックとを含む。要求調整
ロジックは、IO,JI,JOの各ポートが処理される
時、これらのポートの処理が行なわれるシーケンスを決
定する。ポートのサービスのシーケンスの決定におい
て、要求調整ロジックはポート状態ロジックからの各ポ
ートに対するその時のポート状態情報と、入力する各要
求に関するJPMCバス10147とIOMCバス10
131からの情報とMEM10112のその時の処理状
態に関するRM20722からの情報とを使用する。ポ
ート状態ロジックは、バス20738を介する制御信号
によって処理されるべき特定の各ポートを選定し、選定
されたポートの処理においてMEM10112の制御ロ
ジックの残部により使用するため、JOPAR2071
0とJIPAR20712とIOPAR20714から
PRMUX20720を介してバス20738に対する
各ポートの要求アドレス情報の転送を可能にする。JP
10114とIOS10116からJPMCバス101
47とIOMCバス10131を介して受取られる要求
情報に加え、ポート状態ロジックはRM20722から
の情報を使用し、あるカッシェ・ミスの発生と同時に、
LM20730からの情報(図207においては、明瞭
化のためこの関係については示さない)を使用する。ポ
ート状態ロジックはまた、種々のポート状態のフラッグ
信号例えばポートの使用可能な信号、有効要求を示す信
号および種々のポートがサービスを待機していることを
示す信号を制御する。
7とIOMCバス10131を介してJP10114と
IOS10116から要求された各メモリー操作に関す
る指令および制御信号を受取る。PC20716は要求
調整ロジックとポート状態ロジックとを含む。要求調整
ロジックは、IO,JI,JOの各ポートが処理される
時、これらのポートの処理が行なわれるシーケンスを決
定する。ポートのサービスのシーケンスの決定におい
て、要求調整ロジックはポート状態ロジックからの各ポ
ートに対するその時のポート状態情報と、入力する各要
求に関するJPMCバス10147とIOMCバス10
131からの情報とMEM10112のその時の処理状
態に関するRM20722からの情報とを使用する。ポ
ート状態ロジックは、バス20738を介する制御信号
によって処理されるべき特定の各ポートを選定し、選定
されたポートの処理においてMEM10112の制御ロ
ジックの残部により使用するため、JOPAR2071
0とJIPAR20712とIOPAR20714から
PRMUX20720を介してバス20738に対する
各ポートの要求アドレス情報の転送を可能にする。JP
10114とIOS10116からJPMCバス101
47とIOMCバス10131を介して受取られる要求
情報に加え、ポート状態ロジックはRM20722から
の情報を使用し、あるカッシェ・ミスの発生と同時に、
LM20730からの情報(図207においては、明瞭
化のためこの関係については示さない)を使用する。ポ
ート状態ロジックはまた、種々のポート状態のフラッグ
信号例えばポートの使用可能な信号、有効要求を示す信
号および種々のポートがサービスを待機していることを
示す信号を制御する。
【0330】RM20722は各要求に対するサービス
の実行を制御する。RM20722は、要求されたME
M10112の諸条件により要求された諸プログラムを
実行マイクロコードで制御された「マイクロ機械」であ
る。RM20722の入力は、ある特定の要求の処理に
おいて行なわれるべきMEM10112の操作の形式に
関する情報を含むIOPAR20714、JIPAR2
0212、JOPAR20210からの要求アドレス情
報と、他のMEM10112の制御要素からの割込み信
号と、例えば、PC20716の要求調整ロジックから
の開始信号を含む。RM20722は、FIU2012
0と、MC20116とMEM10112の制御構成の
他のほとんどの部分に対して制御信号を与える。
の実行を制御する。RM20722は、要求されたME
M10112の諸条件により要求された諸プログラムを
実行マイクロコードで制御された「マイクロ機械」であ
る。RM20722の入力は、ある特定の要求の処理に
おいて行なわれるべきMEM10112の操作の形式に
関する情報を含むIOPAR20714、JIPAR2
0212、JOPAR20210からの要求アドレス情
報と、他のMEM10112の制御要素からの割込み信
号と、例えば、PC20716の要求調整ロジックから
の開始信号を含む。RM20722は、FIU2012
0と、MC20116とMEM10112の制御構成の
他のほとんどの部分に対して制御信号を与える。
【0331】図201においては、MC20116のカ
ッシェ装置は、例えば、MSB20110に記憶された
データのサブセットに対して迅速なアクセスを行なうた
め使用される8Kバイトの4組の連想カッシェ装置であ
る。MC20116のカッシェ装置に記憶されたMSB
20110のデータのサブセットは、如何なる時にも、
JP10114またはIOS10116によって最も後
で使用されたデータである。以下において更に説明する
MC20116は、カッシェされたアドレスを決定する
ためのタッグ・ストア比較ロジックと、対応するカッシ
ェされたデータを含むデータ・ストアと、あるカッシェ
・ミスの発生と同時にカッシェ装置の内容を更新するた
め必要なレジスタとロジックとを含む。カッシェ・ミス
を処理するためのレジスタとロジックは、最近使用しな
かったカッシェのエントリを判定するためのロジック
と、ミスしたカッシェ照合に関する情報、例えば修正バ
スおよび交換ページ番号の捕捉および記憶のためのレジ
スタとを含む。MC20116に対する入力は、RM2
0722と、LM20730(以下において更に説明す
る)と、FIU20120と、MSB20110(BC
20114を介する)と、LP20724(以下におい
て更に説明する)と、PRMUX20720からのアド
レス情報である。MC20116の出力はFIU201
20に対するデータと(MODバス10144を介す
る)go−toFIU20120信号と、データ要求信
号(JP10114とIOS10116)と、MC20
116書戻しファイル(以下において更に説明する)を
含む。
ッシェ装置は、例えば、MSB20110に記憶された
データのサブセットに対して迅速なアクセスを行なうた
め使用される8Kバイトの4組の連想カッシェ装置であ
る。MC20116のカッシェ装置に記憶されたMSB
20110のデータのサブセットは、如何なる時にも、
JP10114またはIOS10116によって最も後
で使用されたデータである。以下において更に説明する
MC20116は、カッシェされたアドレスを決定する
ためのタッグ・ストア比較ロジックと、対応するカッシ
ェされたデータを含むデータ・ストアと、あるカッシェ
・ミスの発生と同時にカッシェ装置の内容を更新するた
め必要なレジスタとロジックとを含む。カッシェ・ミス
を処理するためのレジスタとロジックは、最近使用しな
かったカッシェのエントリを判定するためのロジック
と、ミスしたカッシェ照合に関する情報、例えば修正バ
スおよび交換ページ番号の捕捉および記憶のためのレジ
スタとを含む。MC20116に対する入力は、RM2
0722と、LM20730(以下において更に説明す
る)と、FIU20120と、MSB20110(BC
20114を介する)と、LP20724(以下におい
て更に説明する)と、PRMUX20720からのアド
レス情報である。MC20116の出力はFIU201
20に対するデータと(MODバス10144を介す
る)go−toFIU20120信号と、データ要求信
号(JP10114とIOS10116)と、MC20
116書戻しファイル(以下において更に説明する)を
含む。
【0332】前述の如く、FIU20120は、MEM
10112をビット・アドレス指定可能に見えるように
するため必要なロジックを含む。更に、FIU2012
0は、要求側(JP10114またはIOS1011
6)により要求される如きあるデータ処理操作の実施の
ためのロジックを含む。データは、MEM10112に
対して内部となるMODバス10144の部分を介して
MC20116からFIU20120に対して転送さ
れ、必要に応じて操作され、次いでMODバス1014
4またはMIOバス10129を介して要求側に対して
転送される。カッシェされたデータの読出し−変更−書
込みを要求する書込みの場合には、データは、操作後に
MODバス10144を介して再びMC20116に転
送される。一般にデータ処理操作は、選定されたMOD
バス10144またはMIOバス10139の回線に対
する要求データの位置決め、および要求側により指定さ
れる如き未使用のバス回線の充填を含む。FIU201
20に対するデータ入力は、MC20116またはJP
10114からMODバス10144を介して、あるい
はIOS10116からIOMバス10130を介して
行なうことができる。FIU20120からのデータ出
力は、これらの同じバスを介してMC20116または
JP10114またはIOS10116に対して行なわ
れる。制御情報はRM20722からバス20748お
よびMCNTLバス20164Cを介してFIU201
20に対して与えられる。アドレス情報は、JOPAR
20710またはJIPAR20712またはIOPA
R20714からPRMUX20720、バス2073
8およびMCNTLバス20164Cを介してFIU2
0120に対して与えることができるのである。
10112をビット・アドレス指定可能に見えるように
するため必要なロジックを含む。更に、FIU2012
0は、要求側(JP10114またはIOS1011
6)により要求される如きあるデータ処理操作の実施の
ためのロジックを含む。データは、MEM10112に
対して内部となるMODバス10144の部分を介して
MC20116からFIU20120に対して転送さ
れ、必要に応じて操作され、次いでMODバス1014
4またはMIOバス10129を介して要求側に対して
転送される。カッシェされたデータの読出し−変更−書
込みを要求する書込みの場合には、データは、操作後に
MODバス10144を介して再びMC20116に転
送される。一般にデータ処理操作は、選定されたMOD
バス10144またはMIOバス10139の回線に対
する要求データの位置決め、および要求側により指定さ
れる如き未使用のバス回線の充填を含む。FIU201
20に対するデータ入力は、MC20116またはJP
10114からMODバス10144を介して、あるい
はIOS10116からIOMバス10130を介して
行なうことができる。FIU20120からのデータ出
力は、これらの同じバスを介してMC20116または
JP10114またはIOS10116に対して行なわ
れる。制御情報はRM20722からバス20748お
よびMCNTLバス20164Cを介してFIU201
20に対して与えられる。アドレス情報は、JOPAR
20710またはJIPAR20712またはIOPA
R20714からPRMUX20720、バス2073
8およびMCNTLバス20164Cを介してFIU2
0120に対して与えることができるのである。
【0333】図207においては、MISSC2072
6がMC20116のミスの処理に使用される。MC2
0116のカッシェにないデータを照合する要求の場合
には、MISSC20726は実施されるべき照合およ
び操作の形式のブロック・アドレスを記憶するが、この
情報はMC20116におけるアドレス・レジスタか
ら、またRM20722から与えられる。MISSC2
0726は、照合されたデータを得るためMSB201
10から読出されたデータに対して、MCNTLバス2
0164Aを介してBC20114に対する指令を生成
する際にこの情報を使用する。BC20114はこの指
令をキュー即ちレジスタに置き、またその後指令された
読出し操作を実行する。PC20716はまた、照合さ
れたDTがその後MSB20110から読出される時に
実施されるべき操作の形式を表示するRQ20728
(以下において更に説明する)に対するエントリを生じ
る。
6がMC20116のミスの処理に使用される。MC2
0116のカッシェにないデータを照合する要求の場合
には、MISSC20726は実施されるべき照合およ
び操作の形式のブロック・アドレスを記憶するが、この
情報はMC20116におけるアドレス・レジスタか
ら、またRM20722から与えられる。MISSC2
0726は、照合されたデータを得るためMSB201
10から読出されたデータに対して、MCNTLバス2
0164Aを介してBC20114に対する指令を生成
する際にこの情報を使用する。BC20114はこの指
令をキュー即ちレジスタに置き、またその後指令された
読出し操作を実行する。PC20716はまた、照合さ
れたDTがその後MSB20110から読出される時に
実施されるべき操作の形式を表示するRQ20728
(以下において更に説明する)に対するエントリを生じ
る。
【0334】RQ20728は、例えば、MSB201
10から読出されつつあるデータと関連する諸操作を示
す情報を記憶する3レベルの深さのキューである。2つ
の種類の操作、即ちブロック・バイパス読出しとカッシ
ェ・ロードの操作を表示することができる。もしあるカ
ッシェ・ロードが指定されるならば、即ちMC2011
6のカッシェの読出しおよび記憶が表示されるならば、
RM20722は割込みが行なわれ、カッシェ・ロード
が完了するまで他のMEM10112の操作を遊休状態
に置くように強制される。ブロック・バイパス読出し操
作はMSB20110からのデータの制御を行なうバイ
パス読出し制御(以下に説明する)をもたらす結果とな
る。RQ20728に対する入力はしRM20752、
MISSC20726およびBC20114からの制御
信号である。RQ20728は、LP20724(以下
に説明する)と、LM20730(以下に説明する)
と、RM20722とに制御出力を与え、バイパス読出
し制御(以下に説明する)を行なう。
10から読出されつつあるデータと関連する諸操作を示
す情報を記憶する3レベルの深さのキューである。2つ
の種類の操作、即ちブロック・バイパス読出しとカッシ
ェ・ロードの操作を表示することができる。もしあるカ
ッシェ・ロードが指定されるならば、即ちMC2011
6のカッシェの読出しおよび記憶が表示されるならば、
RM20722は割込みが行なわれ、カッシェ・ロード
が完了するまで他のMEM10112の操作を遊休状態
に置くように強制される。ブロック・バイパス読出し操
作はMSB20110からのデータの制御を行なうバイ
パス読出し制御(以下に説明する)をもたらす結果とな
る。RQ20728に対する入力はしRM20752、
MISSC20726およびBC20114からの制御
信号である。RQ20728は、LP20724(以下
に説明する)と、LM20730(以下に説明する)
と、RM20722とに制御出力を与え、バイパス読出
し制御(以下に説明する)を行なう。
【0335】LP20714は、MC20116のタッ
グ・ストアをロードするため生じるMC20116のミ
スを処理するため必要な情報を記憶するための1組のレ
ジスタである。MSB20110に記憶されたMC20
116のカッシェ・ミスの処理のためMSB20110
から読出されたデータがBC20114を介して使用可
能状態になる時、LM20730はこの情報を使用す
る。LP20724に対する入力はJOPAR2071
0、またはJIPAR20712、またはIOPAR2
0714からPRMUX20720およびバス2073
8を介して与えられた脱落した照合のアドレスと、RM
20722からの指令と、RQ20728からの制御信
号を含む。LP20724の出力は、バス20756お
よびMCNTLバス20164Bを介するMC2011
6への脱落した照合のアドレスと、LM20730とB
R/WC20718に対する指令信号を含む。
グ・ストアをロードするため生じるMC20116のミ
スを処理するため必要な情報を記憶するための1組のレ
ジスタである。MSB20110に記憶されたMC20
116のカッシェ・ミスの処理のためMSB20110
から読出されたデータがBC20114を介して使用可
能状態になる時、LM20730はこの情報を使用す
る。LP20724に対する入力はJOPAR2071
0、またはJIPAR20712、またはIOPAR2
0714からPRMUX20720およびバス2073
8を介して与えられた脱落した照合のアドレスと、RM
20722からの指令と、RQ20728からの制御信
号を含む。LP20724の出力は、バス20756お
よびMCNTLバス20164Bを介するMC2011
6への脱落した照合のアドレスと、LM20730とB
R/WC20718に対する指令信号を含む。
【0336】前の述べたLM20730は、カッシェ・
ミスの発生後MSB20110からのデータでMC20
116のカッシェのローディングを制御する。前述のR
Q20728は、MSB20110から読出された各デ
ータに対して、読出されたデータはMC20116のカ
ッシェ・ミスの結果であるかどうかを示す。もしこのデ
ータがカッシェ・ミスの結果としてMSB20110か
ら読出されるならば、LM20730はMSB2011
0からのデータおよびその関連するアドレスをMC20
116のカッシェにロードするための一連の指令信号を
生じるため進行する。このデータはMC20116のカ
ッシェ・データ・ストアに転送されるが、LP2072
4からのブロック・アドレスはMC20116のカッシ
ェのタッグ・ストア(以下の論議において説明する)に
転送される。もしMC20116のカッシェに対するデ
ータの転送がこのカッシェに前から存在するデータを置
換するならば、またこの前のデータが「不適合」であ
る、即ちMSB20110に記憶されるデータの元のコ
ピーとは異なるように書込まれたものであれば、MC2
0116に常駐する変更データはMSB20110に再
び書込まれねばならない。この操作は、以下に述べるM
C20116に含まれる書戻しファイルを介して行なわ
れる。このような操作の場合、LM20730はこれも
また以下に説明する如く、MC20116とBC201
14により書戻し操作を開始する。
ミスの発生後MSB20110からのデータでMC20
116のカッシェのローディングを制御する。前述のR
Q20728は、MSB20110から読出された各デ
ータに対して、読出されたデータはMC20116のカ
ッシェ・ミスの結果であるかどうかを示す。もしこのデ
ータがカッシェ・ミスの結果としてMSB20110か
ら読出されるならば、LM20730はMSB2011
0からのデータおよびその関連するアドレスをMC20
116のカッシェにロードするための一連の指令信号を
生じるため進行する。このデータはMC20116のカ
ッシェ・データ・ストアに転送されるが、LP2072
4からのブロック・アドレスはMC20116のカッシ
ェのタッグ・ストア(以下の論議において説明する)に
転送される。もしMC20116のカッシェに対するデ
ータの転送がこのカッシェに前から存在するデータを置
換するならば、またこの前のデータが「不適合」であ
る、即ちMSB20110に記憶されるデータの元のコ
ピーとは異なるように書込まれたものであれば、MC2
0116に常駐する変更データはMSB20110に再
び書込まれねばならない。この操作は、以下に述べるM
C20116に含まれる書戻しファイルを介して行なわ
れる。このような操作の場合、LM20730はこれも
また以下に説明する如く、MC20116とBC201
14により書戻し操作を開始する。
【0337】以下の議論において更に詳細に述べるよう
に、全てのMC20116のカッシェ・ロード操作は完
全4ワード・ブロックである。MC20116のカッシ
ェ・ミスにおいて生じる要求の結果「ハンド・オフ操
作」、即ち完全4ワード・ブロックの読出し操作をもた
らす。ハンド・オフ操作はまた、32ビットのワード整
合されたワードがJP10114から転送される単一の
32ビット・ワードで良く、あるいは右側の半ワードで
整合された16ビットのオペランドはIOS10116
から転送される。このようなハンド・オフ操作において
は、LM20730は要求側のポートに対して有効要求
信号を送り、またハンド・オフ操作が実施されることに
なる。さもなければ、待機信号が要求側のポートに対し
て送られ、要求は以後の実行のためPC20716の優
先順位キューに再び入る。これらの操作を実施するた
め、LM20730はRQ20728(説明の明瞭化の
ため図207には示さない)とLP20724から入力
を受取るLM20730は、PC20716のポート状
態ロジックと、MC20116とMC20116の書戻
しファイルと、MC20116の書戻しアドレス・レジ
スタと、BC20114に対して出力を与える。
に、全てのMC20116のカッシェ・ロード操作は完
全4ワード・ブロックである。MC20116のカッシ
ェ・ミスにおいて生じる要求の結果「ハンド・オフ操
作」、即ち完全4ワード・ブロックの読出し操作をもた
らす。ハンド・オフ操作はまた、32ビットのワード整
合されたワードがJP10114から転送される単一の
32ビット・ワードで良く、あるいは右側の半ワードで
整合された16ビットのオペランドはIOS10116
から転送される。このようなハンド・オフ操作において
は、LM20730は要求側のポートに対して有効要求
信号を送り、またハンド・オフ操作が実施されることに
なる。さもなければ、待機信号が要求側のポートに対し
て送られ、要求は以後の実行のためPC20716の優
先順位キューに再び入る。これらの操作を実施するた
め、LM20730はRQ20728(説明の明瞭化の
ため図207には示さない)とLP20724から入力
を受取るLM20730は、PC20716のポート状
態ロジックと、MC20116とMC20116の書戻
しファイルと、MC20116の書戻しアドレス・レジ
スタと、BC20114に対して出力を与える。
【0338】図201においては、前述の如く、MC2
0116が直接MSB20110に対して完全ブロック
書込み操作を要求する。このようなバイパス書込み要求
は、もし転送中のブロックがMC20116のカッシェ
においてカッシェされなければ満たすことができる。こ
のような場合、RM20722はBR/WC20718
においてバイパス書込み制御ロジックを設定する転送を
開始し、次に操作の制御を完了するためBR/WC20
718のバイパス書込み制御ロジックに対して送ること
ができる。バイパス書込み制御は、この時IOS101
16からのデータ・ブロックの残る部分を受入れ、IO
MCバス10131を介して適当な初期手続きを生成
し、このデータ・ブロックをBYF20118とIOS
10116にロードする。MISSC20726は、M
CNTLバス20164Aを介してBC20114に対
してバイパス書込み指令を提供する。20114はこの
時BYF20118からのデータ・ブロックをMA20
112およびMSB20110に対して転送する。
0116が直接MSB20110に対して完全ブロック
書込み操作を要求する。このようなバイパス書込み要求
は、もし転送中のブロックがMC20116のカッシェ
においてカッシェされなければ満たすことができる。こ
のような場合、RM20722はBR/WC20718
においてバイパス書込み制御ロジックを設定する転送を
開始し、次に操作の制御を完了するためBR/WC20
718のバイパス書込み制御ロジックに対して送ること
ができる。バイパス書込み制御は、この時IOS101
16からのデータ・ブロックの残る部分を受入れ、IO
MCバス10131を介して適当な初期手続きを生成
し、このデータ・ブロックをBYF20118とIOS
10116にロードする。MISSC20726は、M
CNTLバス20164Aを介してBC20114に対
してバイパス書込み指令を提供する。20114はこの
時BYF20118からのデータ・ブロックをMA20
112およびMSB20110に対して転送する。
【0339】前述の如く、BYF20118はIOMバ
ス10130からデータを受取り、データ出力をBWY
20178およびSBDバス20146を介してBC2
0114に対して与える。BYF20118は、データ
をBC20114から読出す間IOMバス10130か
らデータを同時に受入れることができる。BYF201
18に対するデータの書込みの制御は、BR/WC20
718のバイパス書込み制御ロジックから行なわれる。
ス10130からデータを受取り、データ出力をBWY
20178およびSBDバス20146を介してBC2
0114に対して与える。BYF20118は、データ
をBC20114から読出す間IOMバス10130か
らデータを同時に受入れることができる。BYF201
18に対するデータの書込みの制御は、BR/WC20
718のバイパス書込み制御ロジックから行なわれる。
【0340】前述の如く、IOS10116はMC20
116のカッシェをバイパスする完全ブロック読出し操
作を要求する。このような場合、BR/WC20718
のバイパス読出し制御装置はIOS10116に対する
データ転送を取扱い、IOMCバス10131を介して
IOS10116に対する必要な初期手続き信号を生成
する。バイパス読出し操作のためのデータ経路は、BY
F20118を介するのではなくMC20116に対し
内部であるデータ経路を経由する。この内部データ経路
はMIOバス10129に対するRDOバス20158
である。
116のカッシェをバイパスする完全ブロック読出し操
作を要求する。このような場合、BR/WC20718
のバイパス読出し制御装置はIOS10116に対する
データ転送を取扱い、IOMCバス10131を介して
IOS10116に対する必要な初期手続き信号を生成
する。バイパス読出し操作のためのデータ経路は、BY
F20118を介するのではなくMC20116に対し
内部であるデータ経路を経由する。この内部データ経路
はMIOバス10129に対するRDOバス20158
である。
【0341】前述の如く、BC20114はMSB20
110におけるMA20112に関する全てのデータの
転入出操作を管理する。BC20114は内部のキュー
・レジスタにおけるRM20722からのデータ転送の
ための要求を受取る。MSB20110に関する全ての
データの転入出は、ブロック整合されたアドレスによる
完全ブロック転送である。データ書込み操作時には、B
C20114はデータをBYF20118またはMC2
0116の書戻しファイルから受取り、このデータをM
A20112に転送する。読出し操作中、BC2011
4はデータ・ブロックをMA20112から取出し、デ
ータが使用可能であることをMIC20122に対して
信号する間このデータ・ブロックをRDOバス2015
8に配する。前述の如く、MIC20122はデータお
よびBYF20118とMC20116とMC2011
6の書戻しファイルを追跡してこれを制御し、MSB2
0110から読出されたデータを適当な行先、即ちMC
20116のデータ・ストア、またはJP10114、
またはIOS10116に対して指向する。
110におけるMA20112に関する全てのデータの
転入出操作を管理する。BC20114は内部のキュー
・レジスタにおけるRM20722からのデータ転送の
ための要求を受取る。MSB20110に関する全ての
データの転入出は、ブロック整合されたアドレスによる
完全ブロック転送である。データ書込み操作時には、B
C20114はデータをBYF20118またはMC2
0116の書戻しファイルから受取り、このデータをM
A20112に転送する。読出し操作中、BC2011
4はデータ・ブロックをMA20112から取出し、デ
ータが使用可能であることをMIC20122に対して
信号する間このデータ・ブロックをRDOバス2015
8に配する。前述の如く、MIC20122はデータお
よびBYF20118とMC20116とMC2011
6の書戻しファイルを追跡してこれを制御し、MSB2
0110から読出されたデータを適当な行先、即ちMC
20116のデータ・ストア、またはJP10114、
またはIOS10116に対して指向する。
【0342】前記の操作に加えて、BC20114はM
A20112のリフレッシュを制御し、エラー検出およ
び補正操作を実施する。この点に関して、BC2011
4は2つのエラー検出および補正操作を行なう。最初
に、BC20114はMSB20110から読出された
データにおける単ビットおよび二重ビット・エラーを検
出し、単ビット・エラーを補正する。第2に、BC20
114はリフレッシュ操作中MA20112に記憶され
たデータを読出し、単ビットのエラー検出を行なう。エ
ラーの検出の際は常に、読出しまたはリフレッシュ操作
の間、BC20114(以下の記述において更に説明す
る)はこれに含まれるエラー・ログにおける前記エラー
のレコードを形成する。JP10114およびIOS1
0116の双方は、BC20114のエラー・ログを読
出し、BC20114のエラー・ログからの情報はCS
10110の保守ログに記録することができ、CS10
110の修理および原因探査における助けとなる。BC
20114のエラー・ログはRM20722により直接
アドレス指定可能であり、BC20114のエラー・ロ
グからのデータはMSB20110に記憶されたデータ
と同じ方法でJP10114またはIOS10116に
対して転送される。最後に、MA20112について述
べれば、各MA20112は動的な半導体のランダム・
アクセス・メモリーのアレイを含む。各MA20112
は256Kバイト、512Kバイト、1メガバイトまた
は2メガバイトのデータ記憶域を保有する。各MA20
112の記憶容量は、各々256Kバイト番号セグメン
トとして構成される。ある特定のMA20112のアド
レス指定においての、BC20114が以下に更に説明
するように前記の特定のMA20112を選定する。B
C20114が同時にこのMA20112内のセグメン
トならびにこのセグメント内の4ワードのブロックを選
定する。各ワードは、39ビットの情報と、32ビット
のデータと、7ビットのエラー補正コードからなる。各
MA20112のワードの全部で39ビットは、各読出
しおよび書込み操作中にBC20114とMA2011
2間に転送される。MEM10112の全体的な構造お
よび作用について簡単に説明したが、MEM10112
により実施することができるある形式の操作について次
に説明する。
A20112のリフレッシュを制御し、エラー検出およ
び補正操作を実施する。この点に関して、BC2011
4は2つのエラー検出および補正操作を行なう。最初
に、BC20114はMSB20110から読出された
データにおける単ビットおよび二重ビット・エラーを検
出し、単ビット・エラーを補正する。第2に、BC20
114はリフレッシュ操作中MA20112に記憶され
たデータを読出し、単ビットのエラー検出を行なう。エ
ラーの検出の際は常に、読出しまたはリフレッシュ操作
の間、BC20114(以下の記述において更に説明す
る)はこれに含まれるエラー・ログにおける前記エラー
のレコードを形成する。JP10114およびIOS1
0116の双方は、BC20114のエラー・ログを読
出し、BC20114のエラー・ログからの情報はCS
10110の保守ログに記録することができ、CS10
110の修理および原因探査における助けとなる。BC
20114のエラー・ログはRM20722により直接
アドレス指定可能であり、BC20114のエラー・ロ
グからのデータはMSB20110に記憶されたデータ
と同じ方法でJP10114またはIOS10116に
対して転送される。最後に、MA20112について述
べれば、各MA20112は動的な半導体のランダム・
アクセス・メモリーのアレイを含む。各MA20112
は256Kバイト、512Kバイト、1メガバイトまた
は2メガバイトのデータ記憶域を保有する。各MA20
112の記憶容量は、各々256Kバイト番号セグメン
トとして構成される。ある特定のMA20112のアド
レス指定においての、BC20114が以下に更に説明
するように前記の特定のMA20112を選定する。B
C20114が同時にこのMA20112内のセグメン
トならびにこのセグメント内の4ワードのブロックを選
定する。各ワードは、39ビットの情報と、32ビット
のデータと、7ビットのエラー補正コードからなる。各
MA20112のワードの全部で39ビットは、各読出
しおよび書込み操作中にBC20114とMA2011
2間に転送される。MEM10112の全体的な構造お
よび作用について簡単に説明したが、MEM10112
により実施することができるある形式の操作について次
に説明する。
【0343】f.MEM10112の作用 MEM10112は2つの一般的な形式の操作を実施す
ることができる。第1の形式はデータ転送操作であり、
第2の形式はメモリー保守操作である。データ転送操作
は読出し、書込みおよび読出し兼設定操作を含む。メモ
リー保守操作はエラー・ログ読出し、修理ブロックおよ
びフラッシュ・カッシェを含む。フラッシュ・カッシェ
操作の間を除いて、MC20116の存在およびその操
作は要求側、即ちJP10114およびIOS1011
6から不可視である。
ることができる。第1の形式はデータ転送操作であり、
第2の形式はメモリー保守操作である。データ転送操作
は読出し、書込みおよび読出し兼設定操作を含む。メモ
リー保守操作はエラー・ログ読出し、修理ブロックおよ
びフラッシュ・カッシェを含む。フラッシュ・カッシェ
操作の間を除いて、MC20116の存在およびその操
作は要求側、即ちJP10114およびIOS1011
6から不可視である。
【0344】MEM10112の読出し操作は、MEM
10112から要求側即ちJP10114またはIOS
10116に対してデータを転送する。読出しデータ転
送は要求側がメモリー操作要求の提供と要求されたデー
タの戻し動作間の経過時間を予測し得ない点で非同期的
である。MEM10112における要求側の作用は、要
求側に対してMEM10112から送られる要求された
データ使用可能信号によって連携される。
10112から要求側即ちJP10114またはIOS
10116に対してデータを転送する。読出しデータ転
送は要求側がメモリー操作要求の提供と要求されたデー
タの戻し動作間の経過時間を予測し得ない点で非同期的
である。MEM10112における要求側の作用は、要
求側に対してMEM10112から送られる要求された
データ使用可能信号によって連携される。
【0345】MEM10112の書込み操作は、JP1
0114またはIOS10116のいずれかからのデー
タをMEM10112に対して転送する。このような操
作の間、JP10114はこれからMEM10112に
対して与えられたデータが受入れられた旨のMEM10
112からの信号を待機する必要がない。JP1011
4は、MEM10112からのJOポート使用可能信号
が存在する時は常にデータをMEM10112のJOポ
ートに対して転送することができ、読出しデータはJP
10114が必要とするこれ以上の動作即ち待機もなく
即時受入れられる。IOS10116からのワード書込
み操作も同様な方法で実施される。しかし、ブロック書
込み操作と同時に、あるブロックの2番目,3番目およ
び4番目のワードの送出の前に、IOS10116はM
EM10112からの信号を含むデータを待機すること
が必要とされる。
0114またはIOS10116のいずれかからのデー
タをMEM10112に対して転送する。このような操
作の間、JP10114はこれからMEM10112に
対して与えられたデータが受入れられた旨のMEM10
112からの信号を待機する必要がない。JP1011
4は、MEM10112からのJOポート使用可能信号
が存在する時は常にデータをMEM10112のJOポ
ートに対して転送することができ、読出しデータはJP
10114が必要とするこれ以上の動作即ち待機もなく
即時受入れられる。IOS10116からのワード書込
み操作も同様な方法で実施される。しかし、ブロック書
込み操作と同時に、あるブロックの2番目,3番目およ
び4番目のワードの送出の前に、IOS10116はM
EM10112からの信号を含むデータを待機すること
が必要とされる。
【0346】MEM10112は「ビット固定」操作を
行なう能力を有する。このような操作においては、デー
タのビット細分性読出しが行なわれ、全オペランドが要
求側に対して送られる。同時に、このオペランドの最上
位ビット、即ち固定ビットがMEM10112に記憶さ
れたデータのコピーにおける1つに設定される。要求側
に対して送られるオペランドには、固定ビットがその前
の値、即ちその時の読出しおよび設定操作の前の値のま
まで残る。テストおよび設定操作は、データ項目の長さ
が1ビットとして規定される読出しおよび設定操作を行
なうことにより実施される。
行なう能力を有する。このような操作においては、デー
タのビット細分性読出しが行なわれ、全オペランドが要
求側に対して送られる。同時に、このオペランドの最上
位ビット、即ち固定ビットがMEM10112に記憶さ
れたデータのコピーにおける1つに設定される。要求側
に対して送られるオペランドには、固定ビットがその前
の値、即ちその時の読出しおよび設定操作の前の値のま
まで残る。テストおよび設定操作は、データ項目の長さ
が1ビットとして規定される読出しおよび設定操作を行
なうことにより実施される。
【0347】前述の如く、MEM10112はエラー検
出を含むある保守操作を実施する。BC20114にお
けるMEM10112のエラー・ログは、1つのアドレ
ス・フィールドと1つのエラー・コード・フィールドを
含む34ビットのレジスタである。最初のエラーが生じ
ると同時に、エラーの形式、およびMSB20110に
記憶された読出しデータにおけるERCCエラーの如き
ある場合には、エラーを含むデータのアドレスがBC2
0114のエラー・ログ・レジスタにおいて記憶され
る。エラーに関する情報がエラー・ログに記憶されると
同時に、エラーの検出を表示する割込み信号が生じる。
もしエラー・ログが読出されて再設定される前に多重エ
ラーが生じるならば、最初のエラーに関する情報が保持
されて有効な状態に止まる。エラー・ログ・コード・フ
ィールドは1つ以上のエラーが生じたことを表示するの
である。
出を含むある保守操作を実施する。BC20114にお
けるMEM10112のエラー・ログは、1つのアドレ
ス・フィールドと1つのエラー・コード・フィールドを
含む34ビットのレジスタである。最初のエラーが生じ
ると同時に、エラーの形式、およびMSB20110に
記憶された読出しデータにおけるERCCエラーの如き
ある場合には、エラーを含むデータのアドレスがBC2
0114のエラー・ログ・レジスタにおいて記憶され
る。エラーに関する情報がエラー・ログに記憶されると
同時に、エラーの検出を表示する割込み信号が生じる。
もしエラー・ログが読出されて再設定される前に多重エ
ラーが生じるならば、最初のエラーに関する情報が保持
されて有効な状態に止まる。エラー・ログ・コード・フ
ィールドは1つ以上のエラーが生じたことを表示するの
である。
【0348】JP10114は、「読出しログ兼リセッ
ト」操作と呼ばれる読出しエラー・ログ操作を要求する
ことができる。この操作においては、MEM10112
はJP10114に対するエラー・ログの全内容を読出
し、エラー・ログ・レジスタをリセットし、エラーの存
在を示す割込み信号をリセットする。以下において更に
説明するIOS10116は、MEM10112から一
時に16バスを読出すように制限されている。従って、
エラー・ログの読出しには2つの読出し操作を必要とす
る。IOS10116に対する最初の読出し操作はエラ
ー・ログ・データの上位16ビットを読出し、エラー・
ログはリセットしない。第2の読出し操作は、エラー・
ログの下位の16ビットのみがIOS10116に読込
まれることを除いて、JP10114の読出しログ兼リ
セット操作と同じ方法で実施される。
ト」操作と呼ばれる読出しエラー・ログ操作を要求する
ことができる。この操作においては、MEM10112
はJP10114に対するエラー・ログの全内容を読出
し、エラー・ログ・レジスタをリセットし、エラーの存
在を示す割込み信号をリセットする。以下において更に
説明するIOS10116は、MEM10112から一
時に16バスを読出すように制限されている。従って、
エラー・ログの読出しには2つの読出し操作を必要とす
る。IOS10116に対する最初の読出し操作はエラ
ー・ログ・データの上位16ビットを読出し、エラー・
ログはリセットしない。第2の読出し操作は、エラー・
ログの下位の16ビットのみがIOS10116に読込
まれることを除いて、JP10114の読出しログ兼リ
セット操作と同じ方法で実施される。
【0349】MEM10112は、MC20116のカ
ッシェ装置に記憶されたデータまたはMA20112に
記憶されたデータにおけるパリティ即ちERCCエラー
を補正する修復ブロック操作を行なう。修復ブロック手
順においては、MC20116のカッシェ装置に記憶さ
れたデータに対するパリティ・ビット、またはMA20
118に記憶されたデータのERCC検査ビットがこれ
に記憶されたデータのデータ・ビットと合致するように
修正される。この点に関して、MA20118のデータ
の2ビット・エラーの如き修復された補正不能なエラー
が良好なERCCおよびパリティ値を有することにな
る。修復ブロック操作が行なわれるまで、悪いデータ、
即ちパリティを有する、即ち無効データを示すERCC
検査ビットを有するデータに対して送られる読出し要求
は無効としてフラッグされることになる。従って、修復
ブロック操作は、このようなデータが有効として読出さ
れる、例えば、データ補正操作において使用されること
を可能にする。修復ブロック操作においては、エラーは
無視されてBC20114のエラー・ログにはログされ
ない。もしMEM10112の内部操作が読出し−修正
−書込み手順を必要としなければ、悪いデータを含む領
域に対する書込み操作が実施可能である。MC2011
6に存在する整数バイト長データのバイト整合書込みお
よびMSP20110におけるデータの整数ワード長の
ワード整合書込みのみが読出し−修正−書込みを必要と
しない。従って、このような書込み操作の使用によっ
て、修復ブロック操作の前もしくはその代わりに通常の
書込み操作の使用によって不良データの上に重ねて書く
ことが可能である。
ッシェ装置に記憶されたデータまたはMA20112に
記憶されたデータにおけるパリティ即ちERCCエラー
を補正する修復ブロック操作を行なう。修復ブロック手
順においては、MC20116のカッシェ装置に記憶さ
れたデータに対するパリティ・ビット、またはMA20
118に記憶されたデータのERCC検査ビットがこれ
に記憶されたデータのデータ・ビットと合致するように
修正される。この点に関して、MA20118のデータ
の2ビット・エラーの如き修復された補正不能なエラー
が良好なERCCおよびパリティ値を有することにな
る。修復ブロック操作が行なわれるまで、悪いデータ、
即ちパリティを有する、即ち無効データを示すERCC
検査ビットを有するデータに対して送られる読出し要求
は無効としてフラッグされることになる。従って、修復
ブロック操作は、このようなデータが有効として読出さ
れる、例えば、データ補正操作において使用されること
を可能にする。修復ブロック操作においては、エラーは
無視されてBC20114のエラー・ログにはログされ
ない。もしMEM10112の内部操作が読出し−修正
−書込み手順を必要としなければ、悪いデータを含む領
域に対する書込み操作が実施可能である。MC2011
6に存在する整数バイト長データのバイト整合書込みお
よびMSP20110におけるデータの整数ワード長の
ワード整合書込みのみが読出し−修正−書込みを必要と
しない。従って、このような書込み操作の使用によっ
て、修復ブロック操作の前もしくはその代わりに通常の
書込み操作の使用によって不良データの上に重ねて書く
ことが可能である。
【0350】MEM10112は、電源異常の場合、即
ちMEM10112がバッテリ・バック・アップ運転に
入る時、カッシェ装置・フラッシュ操作を実施する。こ
のような場合、MA20112とBC20114のみが
給電状態を維持する。JP10114およびIOS10
116が給電停止状態になる前に、JP10114とI
OS10116は、保管されるべき操作状態を含むデー
タをMEM10112に対して転送しなければならな
い。これは、通常の一連の書込み操作の使用によって達
成される。これらの書込み操作の完了後、JP1011
4とIOS10116の両者はMEM10112に対し
てフラッシュ・カッシェ要求を送る。2つのフラッシュ
・カッシェ要求を受取ると同時に、給電停止の前にMC
20116のカッシェに記憶された全ての不適正データ
がMA20112に対して転送されるように、MEM1
0112はMC20116のカッシェをフラッシュす
る。もしJP10114またはIOS10116が作動
中ならば、システムの初期化の間にDP10118はこ
の事実を検出して使用可能信号(FLUSHOK)のM
EM10112に対する送出を完了する。FLUSHO
Kは、単一のフラッシュ・カッシェ要求の受取りと同時
にMEM10112がカッシェ・フラッシュを実施する
ことを可能にする。カッシェ・フラッシュ操作の後、D
P10118が電源異常ロックアウト信号をリセットし
てMEM10112が通常の作動を再開することを可能
にするまで、これ以上のMEM10112の作動は不可
能である。
ちMEM10112がバッテリ・バック・アップ運転に
入る時、カッシェ装置・フラッシュ操作を実施する。こ
のような場合、MA20112とBC20114のみが
給電状態を維持する。JP10114およびIOS10
116が給電停止状態になる前に、JP10114とI
OS10116は、保管されるべき操作状態を含むデー
タをMEM10112に対して転送しなければならな
い。これは、通常の一連の書込み操作の使用によって達
成される。これらの書込み操作の完了後、JP1011
4とIOS10116の両者はMEM10112に対し
てフラッシュ・カッシェ要求を送る。2つのフラッシュ
・カッシェ要求を受取ると同時に、給電停止の前にMC
20116のカッシェに記憶された全ての不適正データ
がMA20112に対して転送されるように、MEM1
0112はMC20116のカッシェをフラッシュす
る。もしJP10114またはIOS10116が作動
中ならば、システムの初期化の間にDP10118はこ
の事実を検出して使用可能信号(FLUSHOK)のM
EM10112に対する送出を完了する。FLUSHO
Kは、単一のフラッシュ・カッシェ要求の受取りと同時
にMEM10112がカッシェ・フラッシュを実施する
ことを可能にする。カッシェ・フラッシュ操作の後、D
P10118が電源異常ロックアウト信号をリセットし
てMEM10112が通常の作動を再開することを可能
にするまで、これ以上のMEM10112の作動は不可
能である。
【0351】MEM10112の全構造および作用およ
びMEM10112により実施可能なある作用について
説明したが、次にJP10114およびIOS1011
6に対するMEM10112のインターフェースについ
て説明する。
びMEM10112により実施可能なある作用について
説明したが、次にJP10114およびIOS1011
6に対するMEM10112のインターフェースについ
て説明する。
【0352】g.JP10114およびIOS1011
6に対するMEM10112のインターフェース(図2
09,図210,図211,図204) 前述の如く、MJPポート10140とMIOポート1
0128は3つの独立ポートとして論理的に機能する。
これらのポートは、IOS10116に対するIOポー
トと、JP10114に対するJPオペランド・ポート
と、JP10114に対するJP命令ポートである。図
209,図210および図211においては、IOポー
ト20910と、JPオペランド(JPO)ポート21
010とJP命令(JPI)ポート21110の線図が
夫々示されている。
6に対するMEM10112のインターフェース(図2
09,図210,図211,図204) 前述の如く、MJPポート10140とMIOポート1
0128は3つの独立ポートとして論理的に機能する。
これらのポートは、IOS10116に対するIOポー
トと、JP10114に対するJPオペランド・ポート
と、JP10114に対するJP命令ポートである。図
209,図210および図211においては、IOポー
ト20910と、JPオペランド(JPO)ポート21
010とJP命令(JPI)ポート21110の線図が
夫々示されている。
【0353】IOポート20910は、命令とオペラン
ドの双方の転送を含むMEM10112に対するIOS
10116の全ての要求を取扱う。JPOポート210
10は、オペランド、例えば、JP10114に関する
数値の読出しおよび書込み操作のため使用される。JP
I21110は、MEM10112からJP10114
に対するSIN、即ちSOPおよびオペランド名の読出
しに使用される。ある特定のポートに対する多くのサー
ビス要求は、これらの要求は前記ポートに対して与えら
れるように作用される。異なるポートに対する要求間に
は連続順序は保持されないが、ポートはその優先順位に
おいて処理することができる。本発明の一実施態様にお
いては、IOポート20190は最優先順位を与えら
れ、JPOポート21010がこれに続き、最後にJP
I21110が来、その時要求は入力する要求よりも高
い優先順位を有するポートに保持される。前述の如く、
また以下の記述において更に詳細に説明するようにME
M10112の操作がパイプライン化される。このパイ
プライン処置はIOポート20190、JPOポート2
1010およびJPI21110からの要求のインター
リービング、ならびにある特定のポートにおける要求の
オーバーラップサービスを可能にする。オーバーラップ
により、ある特定のポートに対する前の操作が完了する
前にこのポートの1つの処理操作が開始することが意味
される。
ドの双方の転送を含むMEM10112に対するIOS
10116の全ての要求を取扱う。JPOポート210
10は、オペランド、例えば、JP10114に関する
数値の読出しおよび書込み操作のため使用される。JP
I21110は、MEM10112からJP10114
に対するSIN、即ちSOPおよびオペランド名の読出
しに使用される。ある特定のポートに対する多くのサー
ビス要求は、これらの要求は前記ポートに対して与えら
れるように作用される。異なるポートに対する要求間に
は連続順序は保持されないが、ポートはその優先順位に
おいて処理することができる。本発明の一実施態様にお
いては、IOポート20190は最優先順位を与えら
れ、JPOポート21010がこれに続き、最後にJP
I21110が来、その時要求は入力する要求よりも高
い優先順位を有するポートに保持される。前述の如く、
また以下の記述において更に詳細に説明するようにME
M10112の操作がパイプライン化される。このパイ
プライン処置はIOポート20190、JPOポート2
1010およびJPI21110からの要求のインター
リービング、ならびにある特定のポートにおける要求の
オーバーラップサービスを可能にする。オーバーラップ
により、ある特定のポートに対する前の操作が完了する
前にこのポートの1つの処理操作が開始することが意味
される。
【0354】1.IOポート20910の作用特性(図
209,図204) 最初に図209において、IOポート20910の略図
が示される。IOポート20910とIOS10116
間には、MIOバス10129、IOMバス10130
およびIOMCバス10131を介して信号が送られ
る。MIOバス10129はMD20116とFIU2
0120からの入力を有する一方向バスであり、MEM
10112からIOS10118に対するデータおよび
命令の転送のために専用化される。IOMバス1013
0も同様に一方向バスであり、IOS10118からM
EM10112に対する読出しアドレスと、書込みアド
レスと、MEM10112に書込まれるべきデータの転
送のため専用書込みされている。IOMバス10130
は入力をBYF20118と、FIU20120と、M
IC20122に対して与える。IOMCバス1013
1は、IOS10118とMEM10112間の指令信
号の交換のための1組の専用信号回線である。
209,図204) 最初に図209において、IOポート20910の略図
が示される。IOポート20910とIOS10116
間には、MIOバス10129、IOMバス10130
およびIOMCバス10131を介して信号が送られ
る。MIOバス10129はMD20116とFIU2
0120からの入力を有する一方向バスであり、MEM
10112からIOS10118に対するデータおよび
命令の転送のために専用化される。IOMバス1013
0も同様に一方向バスであり、IOS10118からM
EM10112に対する読出しアドレスと、書込みアド
レスと、MEM10112に書込まれるべきデータの転
送のため専用書込みされている。IOMバス10130
は入力をBYF20118と、FIU20120と、M
IC20122に対して与える。IOMCバス1013
1は、IOS10118とMEM10112間の指令信
号の交換のための1組の専用信号回線である。
【0355】最初にMIOバス10129に関して述べ
れば、MIOバス10129はMC20116のカッシ
ェ装置およびFIU20120から読出しデータ入力を
受取る36ビット・バスである。MEM10112から
IOS10116への単一の読出し操作は、データ(M
IO(0〜31))の1つの32ビット・ワード(即
ち、4バイト)および奇数パリティ(MIOP(0〜
3))の4ビット即ち1バイト当り1パリティ・ビット
を転送する。
れば、MIOバス10129はMC20116のカッシ
ェ装置およびFIU20120から読出しデータ入力を
受取る36ビット・バスである。MEM10112から
IOS10116への単一の読出し操作は、データ(M
IO(0〜31))の1つの32ビット・ワード(即
ち、4バイト)および奇数パリティ(MIOP(0〜
3))の4ビット即ち1バイト当り1パリティ・ビット
を転送する。
【0356】次にIOMバス10130について述べれ
ば、IOS10116からMEM10112への単一転
送は、1つの物理的アドレスと、1つの真の長さと指令
ビットからなるいずれかのメモリー要求を含む36ビッ
トの情報を含む。これらのメモリー要求およびデータは
IOS10116によりIOMバス10130に対して
多重化される。
ば、IOS10116からMEM10112への単一転
送は、1つの物理的アドレスと、1つの真の長さと指令
ビットからなるいずれかのメモリー要求を含む36ビッ
トの情報を含む。これらのメモリー要求およびデータは
IOS10116によりIOMバス10130に対して
多重化される。
【0357】IOS10116からMEM10112へ
のデータ転送は、各々、単一の32ビット・データ・ワ
ード(IOM(0〜31))および4ビットの奇数パリ
ティ(IOMP(0〜3))即ち1バイト当り1パリテ
ィ・ビットからなる。このようなデータ転送はBYF2
0118またはFIU20120によって受取られる。
のデータ転送は、各々、単一の32ビット・データ・ワ
ード(IOM(0〜31))および4ビットの奇数パリ
ティ(IOMP(0〜3))即ち1バイト当り1パリテ
ィ・ビットからなる。このようなデータ転送はBYF2
0118またはFIU20120によって受取られる。
【0358】前述の如く、各IOS10116のMEM
10112に対するメモリー要求は、1つのアドレス・
フィールドと、1つの長さフィールドと、1つの命令コ
ード・フィールドからなる。アドレスおよび長さフィー
ルドは、IOS10116の書込み操作におけるMEM
10112に対するデータの転送のために使用される3
2本のIOMバス10130回線を占めている。長さフ
ィールドは、IOMバス10130の各ビット(IOM
(0〜3))を占める4ビットの情報を含み、またアド
レス・フィールドはIOMバス10130の各ビット
(IOM(4〜31))を占める27ビットの情報を保
有する。アドレス・フィールドおよび長さフィールドは
共に、MEM10112に関して書込まれあるいは読出
されるべき物理的な始動アドレスと特定のデータ項目の
真の長さを規定する。命令コード・フィールドはMEM
10112によって実施されるべき操作の形式を規定す
る。前述の如く、ある基本的な命令コードは、IOMバ
ス10130の3ビットの情報占有ビット(IOMP
(32〜36))からなる。これらの同じ回線は、デー
タ転送の間パリティ・ビットの転送のため使用される。
IOS10116によりMEM10112から要求し得
るいくつかの操作は、それらの対応する指令コード・フ
ィールドと共に、下記の如くである。即ち、 000=読出し 001=読出しおよびセット 010=書込み 011=エラー 100=読出しエラー・ログ(第1の半部) 101=読出しエラー・ログ(第2の半部)およびリセ
ット 110=修復ブロック、および 111=カッシェのフラッシュ、である。
10112に対するメモリー要求は、1つのアドレス・
フィールドと、1つの長さフィールドと、1つの命令コ
ード・フィールドからなる。アドレスおよび長さフィー
ルドは、IOS10116の書込み操作におけるMEM
10112に対するデータの転送のために使用される3
2本のIOMバス10130回線を占めている。長さフ
ィールドは、IOMバス10130の各ビット(IOM
(0〜3))を占める4ビットの情報を含み、またアド
レス・フィールドはIOMバス10130の各ビット
(IOM(4〜31))を占める27ビットの情報を保
有する。アドレス・フィールドおよび長さフィールドは
共に、MEM10112に関して書込まれあるいは読出
されるべき物理的な始動アドレスと特定のデータ項目の
真の長さを規定する。命令コード・フィールドはMEM
10112によって実施されるべき操作の形式を規定す
る。前述の如く、ある基本的な命令コードは、IOMバ
ス10130の3ビットの情報占有ビット(IOMP
(32〜36))からなる。これらの同じ回線は、デー
タ転送の間パリティ・ビットの転送のため使用される。
IOS10116によりMEM10112から要求し得
るいくつかの操作は、それらの対応する指令コード・フ
ィールドと共に、下記の如くである。即ち、 000=読出し 001=読出しおよびセット 010=書込み 011=エラー 100=読出しエラー・ログ(第1の半部) 101=読出しエラー・ログ(第2の半部)およびリセ
ット 110=修復ブロック、および 111=カッシェのフラッシュ、である。
【0359】2つの更に別の指令ビットは、MEM10
112によって実施されるべき他の操作を指定すること
ができる。第1の指令ビットは、書込み操作の間MC2
0116のカッシェにおいてMEM10112に書込ま
れつつあるデータを記憶することが望ましいかどうかに
ついてMEM10112に対して表示する。もしデータ
の再使用が行なわれそうにもなければIOS10116
はこのビットを零にセットすることができ、これにより
MEM10112に対してMEM10112がデータの
セットを避けるべきであることを表示する。もしデータ
が再使用されそうもなければIOS10116はこのビ
ットを1にセットすることができ、これによりMEM1
0112に対してデータを記憶することが望ましいこと
を表示する。第2の指令ビットはサイクル指令に対して
照合される。サイクル指令ビットはMEM10112に
対し、特定のデータ転送が単一のサイクル操作即ち1つ
のビット細分ワードであるか、あるいは4サイクル操作
即ち1つのブロック整合されたブロックまたは1つのバ
イト整合された部分ブロックであるかについて表示す
る。
112によって実施されるべき他の操作を指定すること
ができる。第1の指令ビットは、書込み操作の間MC2
0116のカッシェにおいてMEM10112に書込ま
れつつあるデータを記憶することが望ましいかどうかに
ついてMEM10112に対して表示する。もしデータ
の再使用が行なわれそうにもなければIOS10116
はこのビットを零にセットすることができ、これにより
MEM10112に対してMEM10112がデータの
セットを避けるべきであることを表示する。もしデータ
が再使用されそうもなければIOS10116はこのビ
ットを1にセットすることができ、これによりMEM1
0112に対してデータを記憶することが望ましいこと
を表示する。第2の指令ビットはサイクル指令に対して
照合される。サイクル指令ビットはMEM10112に
対し、特定のデータ転送が単一のサイクル操作即ち1つ
のビット細分ワードであるか、あるいは4サイクル操作
即ち1つのブロック整合されたブロックまたは1つのバ
イト整合された部分ブロックであるかについて表示す
る。
【0360】IOMCバス10131は、IOS101
16とMEM10112の作用を連携させるためにIO
S10116とMEM10112間における制御信号の
交換のための1組の専用回線を含む。第1のこのような
信号はIOS10116からMEM10112に対する
ロードIO要求(LIOR)である。IOS10116
がMEM10112に対してメモリー要求をロードする
ことを欲する時、IOS10116はこのLIORをM
EM10112に対して保有する。IOS10116
は、メモリー要求、即ちアドレス、長さおよび指令コー
ド・フィールドが有効である同じシステム・サイクルに
おいてLIORを保有しなければならない。もし以下に
説明するLIORおよびIOポート使用可能(IOP
A)信号が同じクロック・サイクルの間保有されるなら
ば、MEM10112のポートはIOS10116から
ロードされてIOPAは脱落して要求が受入れられたこ
とを表示する。もしある要求のロードが試みられてIO
PAが保有されなければ、MEM10112はこの要求
を知らないままであり、LIORは活動状態を維持し、
IOPAが保有される時、要求はこの時反復されねばな
らない。
16とMEM10112の作用を連携させるためにIO
S10116とMEM10112間における制御信号の
交換のための1組の専用回線を含む。第1のこのような
信号はIOS10116からMEM10112に対する
ロードIO要求(LIOR)である。IOS10116
がMEM10112に対してメモリー要求をロードする
ことを欲する時、IOS10116はこのLIORをM
EM10112に対して保有する。IOS10116
は、メモリー要求、即ちアドレス、長さおよび指令コー
ド・フィールドが有効である同じシステム・サイクルに
おいてLIORを保有しなければならない。もし以下に
説明するLIORおよびIOポート使用可能(IOP
A)信号が同じクロック・サイクルの間保有されるなら
ば、MEM10112のポートはIOS10116から
ロードされてIOPAは脱落して要求が受入れられたこ
とを表示する。もしある要求のロードが試みられてIO
PAが保有されなければ、MEM10112はこの要求
を知らないままであり、LIORは活動状態を維持し、
IOPAが保有される時、要求はこの時反復されねばな
らない。
【0361】IOPAは、MEM10112がIOS1
0116からの新たな要求を受入れることができる時、
MEM10112によって保有されるMEM10112
からIOS10116に対する信号である。もし前の要
求のアドレス、長さおよび命令コードの諸フィールドが
もはや例えばバイパス操作の実施中MEM10112に
よって要求されなければ、IOPAはIOS10116
からの前の要求が操作を完了しつつある間保有すること
ができる。
0116からの新たな要求を受入れることができる時、
MEM10112によって保有されるMEM10112
からIOS10116に対する信号である。もし前の要
求のアドレス、長さおよび命令コードの諸フィールドが
もはや例えばバイパス操作の実施中MEM10112に
よって要求されなければ、IOPAはIOS10116
からの前の要求が操作を完了しつつある間保有すること
ができる。
【0362】IOデータ取上げ(TIOMD)は、ME
M10112がIOS10116からのデータを受入れ
たことを示すMEM10112からIOS10116に
対する信号である。IOS10116は、書込み要求が
ロードされた後、即ちLIORが保有され、メモリー要
求が行なわれ、IOPAが解消された後、次のシステム
・クロック・サイクルにおいて第1のデータ・ワードを
IOMバス10130に置く。次いでMEM10112
は、次のシステム・クロック・サイクルを開始するクロ
ックの縁部において前記データ・ワードを取る。この
時、MEM10112はTIOMDにデータが受入れら
れたことを表示させる。もしIOポート20910が使
用可能であったならば第1のデータ・ワードが常にME
M10112により受入れられないため、単一ワード操
作においては、TIOMDはIOS10116によって
使用されることはない。ブロック操作においては、第1
のデータ・ワードが常に用いられるが、第1と第2のワ
ードの受入れの間には遅延が生じ得る。MEM1011
2がTIOMDに対して応答してこのブロック操作が進
行可能であることを表示するまでは、IOS10116
はIOMバス10130において第2のワードを有効に
保持することを要求される。
M10112がIOS10116からのデータを受入れ
たことを示すMEM10112からIOS10116に
対する信号である。IOS10116は、書込み要求が
ロードされた後、即ちLIORが保有され、メモリー要
求が行なわれ、IOPAが解消された後、次のシステム
・クロック・サイクルにおいて第1のデータ・ワードを
IOMバス10130に置く。次いでMEM10112
は、次のシステム・クロック・サイクルを開始するクロ
ックの縁部において前記データ・ワードを取る。この
時、MEM10112はTIOMDにデータが受入れら
れたことを表示させる。もしIOポート20910が使
用可能であったならば第1のデータ・ワードが常にME
M10112により受入れられないため、単一ワード操
作においては、TIOMDはIOS10116によって
使用されることはない。ブロック操作においては、第1
のデータ・ワードが常に用いられるが、第1と第2のワ
ードの受入れの間には遅延が生じ得る。MEM1011
2がTIOMDに対して応答してこのブロック操作が進
行可能であることを表示するまでは、IOS10116
はIOMバス10130において第2のワードを有効に
保持することを要求される。
【0363】IO(DAVIO)に対して使用可能なデ
ータは、IOS10116により要求されるデータが使
用可能であることを示す、MEM10112によりIO
S10116に対して保有される信号である。DAVI
Oは、MEM10112が要求されたデータをMIOバ
ス10129に配するシステム・クロック・サイクルの
間MEM10112によって保有される。単一ワード型
の転送においては、DAVIOは単一システム・クロッ
ク転送のため活動状態となる。ブロック形式の転送にお
いては、DAVIOは通常4つの連続するシステム・ク
ロック・サイクルの間活動状態となる。BC20114
によるERCCエラーの検出および補正の結果から生じ
る単一サイクルの「バブル」の場合には、DAVIOは
4つの非連続システム・クロック・サイクルの間ハイの
状態を維持し、単一サイクル・バブルの場合には、DA
VIOにおける非保有状態はエラーの検出および補正と
対応する。
ータは、IOS10116により要求されるデータが使
用可能であることを示す、MEM10112によりIO
S10116に対して保有される信号である。DAVI
Oは、MEM10112が要求されたデータをMIOバ
ス10129に配するシステム・クロック・サイクルの
間MEM10112によって保有される。単一ワード型
の転送においては、DAVIOは単一システム・クロッ
ク転送のため活動状態となる。ブロック形式の転送にお
いては、DAVIOは通常4つの連続するシステム・ク
ロック・サイクルの間活動状態となる。BC20114
によるERCCエラーの検出および補正の結果から生じ
る単一サイクルの「バブル」の場合には、DAVIOは
4つの非連続システム・クロック・サイクルの間ハイの
状態を維持し、単一サイクル・バブルの場合には、DA
VIOにおける非保有状態はエラーの検出および補正と
対応する。
【0364】IOメモリー割込み(IMINT)は、B
C20114が前述の如くそのエラー・ログに検出され
たエラーのレコードを置く時MEM10112によりI
OS10116に対して保有される信号である。
C20114が前述の如くそのエラー・ログに検出され
たエラーのレコードを置く時MEM10112によりI
OS10116に対して保有される信号である。
【0365】前のMIO転送無効(PMIOI)信号は
同様に、MEM10112からIOS10116に対し
て読込まれるデータにおけるエラーに関するMEM10
112によりIOS10116に対して保有される信号
である。もし補正不能のエラー、即ち2つ以上のデータ
・ビットがこのデータに見出されるならば、不正確なデ
ータがIOS10116に対して読込まれ、PMIOI
信号はMEM10112によって保有される。データに
おける補正可能な、即ち単一ビットはPMIOIの保有
をもたらさない。MEM10112は、DAVIOのM
EM10112による保有に続く次のシステム・クロッ
ク・サイクルのIOS10116に対してPMIOIを
保有することになる。
同様に、MEM10112からIOS10116に対し
て読込まれるデータにおけるエラーに関するMEM10
112によりIOS10116に対して保有される信号
である。もし補正不能のエラー、即ち2つ以上のデータ
・ビットがこのデータに見出されるならば、不正確なデ
ータがIOS10116に対して読込まれ、PMIOI
信号はMEM10112によって保有される。データに
おける補正可能な、即ち単一ビットはPMIOIの保有
をもたらさない。MEM10112は、DAVIOのM
EM10112による保有に続く次のシステム・クロッ
ク・サイクルのIOS10116に対してPMIOIを
保有することになる。
【0366】IOS10116に対するMEM1011
2のインターフェースおよびIOS10116がMEM
10112に要求し得るある操作について説明したが、
このインターフェースの能力内のMEM10112のあ
る操作について次に説明することにする。第1に、例え
ば数値データのMEM10112とIOS10116間
のオペランド転送は、1から16ビットに至るどんな長
さでもビット細分性に富んだものである。オペランド転
送はあるページ内の境界と交差しても良いが、物理的ペ
ージとは交差し得ない。前述の如く、MIOバス101
29とIOMバス10130は一時に32ビットのデー
タを転送することが可能である。これらのバスの最下位
の16ビット、即ちビット16乃至31はオペランドの
転送中右寄せされたデータを保持することになる。ME
M10112が一般にIOポート20910に対する読
出し操作では充填操作は行なわず、あるいはIOS10
116は活動操作の間未使用ビットの充填も行なわない
ため、これらのバスの最上位の16ビットの内容は一般
に規定されない。読出しまたは書込み操作の間、対応す
るメモリー要求における長さのフィールドにより示され
る如きデータ・ビットのみが重要である。しかし、あら
ゆる場合に、パリティはMIOバス10129とIOM
バス10130の全ての32ビットにおいて有効でなけ
ればならない。
2のインターフェースおよびIOS10116がMEM
10112に要求し得るある操作について説明したが、
このインターフェースの能力内のMEM10112のあ
る操作について次に説明することにする。第1に、例え
ば数値データのMEM10112とIOS10116間
のオペランド転送は、1から16ビットに至るどんな長
さでもビット細分性に富んだものである。オペランド転
送はあるページ内の境界と交差しても良いが、物理的ペ
ージとは交差し得ない。前述の如く、MIOバス101
29とIOMバス10130は一時に32ビットのデー
タを転送することが可能である。これらのバスの最下位
の16ビット、即ちビット16乃至31はオペランドの
転送中右寄せされたデータを保持することになる。ME
M10112が一般にIOポート20910に対する読
出し操作では充填操作は行なわず、あるいはIOS10
116は活動操作の間未使用ビットの充填も行なわない
ため、これらのバスの最上位の16ビットの内容は一般
に規定されない。読出しまたは書込み操作の間、対応す
るメモリー要求における長さのフィールドにより示され
る如きデータ・ビットのみが重要である。しかし、あら
ゆる場合に、パリティはMIOバス10129とIOM
バス10130の全ての32ビットにおいて有効でなけ
ればならない。
【0367】図204においては、IOS10116は
データ・チャネル20410と20412を含んでいる
がその各々についてIOS10116の以下の詳細な説
明において更に説明する。データ・チャネル20410
と20412は各々、あるIOポート20910の操作
を規定する特定の特性を有する。データ・チャネル20
410はブロック整合された完全および部分ブロックの
読出しおよび書込みを行なうよう作用する。完全ブロッ
クは、ブロック整合されたアドレスと16バイトの長さ
を有する。部分ブロックはバイト整合されたアドレスと
1乃至15バイトの長さを有し、部分ブロックの転送は
1つのブロック内になければならず、即ちブロックの境
界と交差してはならない。完全4ワード・ブロックは、
いずれの場合もIOS10116とMEM10112の
間に転送されるが、対応するMEM10112の要求に
おける長さのフィールドにより示される如きブロックの
みが書込み操作において実際に重要となる。このような
操作における非アドレス指定バイトは、パリティが全デ
ータ転送に対して有効である限りどんな情報でも保有す
ることができる。データ・チャネル20412は2つの
バイト境界において一時に16ビットの読出しまたは書
込みを行なうことが望ましい。このような読出しおよび
書込みはMIOバス10129およびIOMバス101
30において右寄せされる。これらのバスの最上位の1
6ビットは、パリティが全32ビットに対して有効であ
る限り、このような操作の間どんな情報でも保有するこ
とができる。データ・チャネル20412の操作は、2
つのバイト整合された16ビットの長さのアドレスによ
るIOS10116のオペランドの読出しおよび書込み
操作と類似している。最後に、例えばIOS10116
の作用を制御する命令が一時に1ブロックずつMEM1
0112からIOS10116に読込まれる。このよう
な操作は完全ブロック・データの読出しと同じである。
データ・チャネル20410と20412を含んでいる
がその各々についてIOS10116の以下の詳細な説
明において更に説明する。データ・チャネル20410
と20412は各々、あるIOポート20910の操作
を規定する特定の特性を有する。データ・チャネル20
410はブロック整合された完全および部分ブロックの
読出しおよび書込みを行なうよう作用する。完全ブロッ
クは、ブロック整合されたアドレスと16バイトの長さ
を有する。部分ブロックはバイト整合されたアドレスと
1乃至15バイトの長さを有し、部分ブロックの転送は
1つのブロック内になければならず、即ちブロックの境
界と交差してはならない。完全4ワード・ブロックは、
いずれの場合もIOS10116とMEM10112の
間に転送されるが、対応するMEM10112の要求に
おける長さのフィールドにより示される如きブロックの
みが書込み操作において実際に重要となる。このような
操作における非アドレス指定バイトは、パリティが全デ
ータ転送に対して有効である限りどんな情報でも保有す
ることができる。データ・チャネル20412は2つの
バイト境界において一時に16ビットの読出しまたは書
込みを行なうことが望ましい。このような読出しおよび
書込みはMIOバス10129およびIOMバス101
30において右寄せされる。これらのバスの最上位の1
6ビットは、パリティが全32ビットに対して有効であ
る限り、このような操作の間どんな情報でも保有するこ
とができる。データ・チャネル20412の操作は、2
つのバイト整合された16ビットの長さのアドレスによ
るIOS10116のオペランドの読出しおよび書込み
操作と類似している。最後に、例えばIOS10116
の作用を制御する命令が一時に1ブロックずつMEM1
0112からIOS10116に読込まれる。このよう
な操作は完全ブロック・データの読出しと同じである。
【0368】IOポート20910の作用特性について
述べたが、次にJPOポート21010の作用特性につ
いて述べる。
述べたが、次にJPOポート21010の作用特性につ
いて述べる。
【0369】2.JPOポート21010の作用特性
(図210) 図210においては、JPOポート21010の略図が
示される。前述の如く、JPOポート21010はオペ
ランド、例えば数値データをMEM10112とJP1
0114の間に転送するため使用される。JPOポート
21010は36ビットのPD10146からMIC2
0122に対する要求入力(アドレス、長さおよび操作
情報)と、32ビットのJPDバス10142からFI
U20120に対する書込みデータ入力と、32ビット
の10144に対するMC20116およびFIU20
120からの32ビットの読出しデータ出力と、MIC
20122とJPMCバス10147間の両方向制御入
力および出力を含む。
(図210) 図210においては、JPOポート21010の略図が
示される。前述の如く、JPOポート21010はオペ
ランド、例えば数値データをMEM10112とJP1
0114の間に転送するため使用される。JPOポート
21010は36ビットのPD10146からMIC2
0122に対する要求入力(アドレス、長さおよび操作
情報)と、32ビットのJPDバス10142からFI
U20120に対する書込みデータ入力と、32ビット
の10144に対するMC20116およびFIU20
120からの32ビットの読出しデータ出力と、MIC
20122とJPMCバス10147間の両方向制御入
力および出力を含む。
【0370】最初にJPOポート21010のMODバ
ス10144に対する読出しデータ出力について述べれ
ば、MODバス10144はデータ例えばオペランドを
JP10144に対して転送するためJPOポート21
010によって使用される。またMODバス10144
は、MEM10112に対して内部であり、データをM
C20116とFIU20120間に転送する両方向の
バスとして使用される。このように、データはMC20
116からFIU20120に対して転送することがで
きるが、データがMODバス10144を介してJP1
0114に対して転送される前にいくつかのデータ・フ
ォーマット操作がデータについて実施される。データは
また、1つのデータ・フォーマット操作が書込み操作に
おいて実施された後でFIU20120からMC201
16に対してデータを転送するために使用することがで
きる。またデータは、MC20116からMODバス1
0144を介してJP10114に対して直接転送する
こともできる。MEM10112に対して内部のMOD
バス10144は、32ビットのデータ、MODバス1
0144のビット(MOD(0〜31))と、1バイト
当り1ビットずつの4ビットの奇数パリティ、MODバ
ス10144のビット(MODP(0〜3))の同時転
送のための36ビットのバスである。MEM10112
に対して外部のMODバス10144は、ビット(MO
D(0〜31))からなる32ビットのバスであり、パ
リティ・ビットのJP10114に対しては読込まれな
い。
ス10144に対する読出しデータ出力について述べれ
ば、MODバス10144はデータ例えばオペランドを
JP10144に対して転送するためJPOポート21
010によって使用される。またMODバス10144
は、MEM10112に対して内部であり、データをM
C20116とFIU20120間に転送する両方向の
バスとして使用される。このように、データはMC20
116からFIU20120に対して転送することがで
きるが、データがMODバス10144を介してJP1
0114に対して転送される前にいくつかのデータ・フ
ォーマット操作がデータについて実施される。データは
また、1つのデータ・フォーマット操作が書込み操作に
おいて実施された後でFIU20120からMC201
16に対してデータを転送するために使用することがで
きる。またデータは、MC20116からMODバス1
0144を介してJP10114に対して直接転送する
こともできる。MEM10112に対して内部のMOD
バス10144は、32ビットのデータ、MODバス1
0144のビット(MOD(0〜31))と、1バイト
当り1ビットずつの4ビットの奇数パリティ、MODバ
ス10144のビット(MODP(0〜3))の同時転
送のための36ビットのバスである。MEM10112
に対して外部のMODバス10144は、ビット(MO
D(0〜31))からなる32ビットのバスであり、パ
リティ・ビットのJP10114に対しては読込まれな
い。
【0371】データはFIU20120に対するJPD
バス10142を介してMEM10112に対して書込
まれる。丁度述べた許りのように、この時データ・フォ
ーマット操作は、このデータがFIU20120からM
ODバス10144を介してMC20116に対して転
送される前にこのデータについて行なうことができる。
このような操作においては、JPDバス10142は、
32ビットのデータを送る32ビットのバス、即ちパリ
ティ・ビットを持たないビット(JPD(0〜31))
として作用する。JPOポート21010は、JPDバ
ス10142のデータがMEM10112に対して転送
される時、MEM10112に書込まれるべきこのデー
タに対するパリティを生成する。
バス10142を介してMEM10112に対して書込
まれる。丁度述べた許りのように、この時データ・フォ
ーマット操作は、このデータがFIU20120からM
ODバス10144を介してMC20116に対して転
送される前にこのデータについて行なうことができる。
このような操作においては、JPDバス10142は、
32ビットのデータを送る32ビットのバス、即ちパリ
ティ・ビットを持たないビット(JPD(0〜31))
として作用する。JPOポート21010は、JPDバ
ス10142のデータがMEM10112に対して転送
される時、MEM10112に書込まれるべきこのデー
タに対するパリティを生成する。
【0372】メモリー要求もまた、JP10114から
JPDバス10142を介してMEM10112転送さ
れるが、このバスはこの観点から40ビットのバスとし
て作用する。このような各要求は、アドレス・フィール
ド、長さフィールド、実施されるべきデータ書式化操作
を指定するFIUフィールド、命令コード・フィール
ド、およびMEM10112から読出されるデータの行
先を指定する行先コード・フィールドを含む。アドレス
・フィールドは、13ビットの物理的ページ番号フィー
ルド(JPPN(0〜12))と、14ビットの物理的
ページ・オフセット・フィールド(JPPO(0〜1
3))を含む。長さフィールドは、6ビットの長さの情
報(JLNG(0〜5))を含み、MEM10112に
関して書込みまたは読出しされるべきデータ項目の真の
長さを表示する。JPDバス10142とMODバス1
0144は各々単一のMEM10112の読出しまたは
書込みサイクルにおける32ビットのデータの転送が可
能であるため、長さ情報の6ビットが真の長さを表わす
ため必要とされる。以下の記述において述べるように各
々JP10114は直接MEM10112に対して物理
的ページ・オフセットおよび長さ情報を与え、論理ペー
ジ番号から物理的ページ番号への変換を行ない、その結
果の物理的ページ番号について機密保護機構10230
の検査を実施することができる。このため、MEM10
112は(JPPO(0〜13))および(JLNG
(0〜5))より後で(JPPN(0〜12))を受取
ることを予期する。しかし、(JPPO(0〜13))
および(JLNG(0〜5))は、JP10114のメ
モリー要求がMEM10112にロードされるシステム
・クロック・サイクルの間有効でなければならない。
JPDバス10142を介してMEM10112転送さ
れるが、このバスはこの観点から40ビットのバスとし
て作用する。このような各要求は、アドレス・フィール
ド、長さフィールド、実施されるべきデータ書式化操作
を指定するFIUフィールド、命令コード・フィール
ド、およびMEM10112から読出されるデータの行
先を指定する行先コード・フィールドを含む。アドレス
・フィールドは、13ビットの物理的ページ番号フィー
ルド(JPPN(0〜12))と、14ビットの物理的
ページ・オフセット・フィールド(JPPO(0〜1
3))を含む。長さフィールドは、6ビットの長さの情
報(JLNG(0〜5))を含み、MEM10112に
関して書込みまたは読出しされるべきデータ項目の真の
長さを表示する。JPDバス10142とMODバス1
0144は各々単一のMEM10112の読出しまたは
書込みサイクルにおける32ビットのデータの転送が可
能であるため、長さ情報の6ビットが真の長さを表わす
ため必要とされる。以下の記述において述べるように各
々JP10114は直接MEM10112に対して物理
的ページ・オフセットおよび長さ情報を与え、論理ペー
ジ番号から物理的ページ番号への変換を行ない、その結
果の物理的ページ番号について機密保護機構10230
の検査を実施することができる。このため、MEM10
112は(JPPO(0〜13))および(JLNG
(0〜5))より後で(JPPN(0〜12))を受取
ることを予期する。しかし、(JPPO(0〜13))
および(JLNG(0〜5))は、JP10114のメ
モリー要求がMEM10112にロードされるシステム
・クロック・サイクルの間有効でなければならない。
【0373】JP10114からMEM10112に対
して与えられた命令コード・フィールドは、MEM10
112によって行なわれる操作を規定する3ビットのコ
ード(JMCMD(0〜2))である。JP10114
がMEM10112から要求し得るいくつかの操作およ
びそれらの対応する命令コードは下記の如くである。即
ち、 000=読出し 001=読出しおよびセット 010=書込み 011=エラー 100=エラー 101=エラー・ログ読出しおよびリセット 110=修復ブロック、および 111=カッシェのフラッシュ、である。
して与えられた命令コード・フィールドは、MEM10
112によって行なわれる操作を規定する3ビットのコ
ード(JMCMD(0〜2))である。JP10114
がMEM10112から要求し得るいくつかの操作およ
びそれらの対応する命令コードは下記の如くである。即
ち、 000=読出し 001=読出しおよびセット 010=書込み 011=エラー 100=エラー 101=エラー・ログ読出しおよびリセット 110=修復ブロック、および 111=カッシェのフラッシュ、である。
【0374】2ビットのFIUフィールド即ち(JFI
U(0〜1))は、読出しおよび書込み操作の実行にお
いて実施されるべきデータ作用操作を規定する。JP1
0114により要求され得るデータ作用操作およびその
FIUフィールドには下記のものが含まれる。即ち、 00=右寄せ、零充填 01=右寄せ、符号拡張 10=左寄せ、零充填、および 11=左寄せ、空白充填、である。
U(0〜1))は、読出しおよび書込み操作の実行にお
いて実施されるべきデータ作用操作を規定する。JP1
0114により要求され得るデータ作用操作およびその
FIUフィールドには下記のものが含まれる。即ち、 00=右寄せ、零充填 01=右寄せ、符号拡張 10=左寄せ、零充填、および 11=左寄せ、空白充填、である。
【0375】書込み操作においては、JPOポート21
010はFIUフィールド、即ち位置合せを規定するF
IUフィールド・ビットの最上位ビットにのみ応答す
る。
010はFIUフィールド、即ち位置合せを規定するF
IUフィールド・ビットの最上位ビットにのみ応答す
る。
【0376】最後に、行先フィールドは、MEM101
12からのデータ読出しのためのJP10114の行先
を規定する2ビット・フィールドである。このフィール
ドはMEM10112に対する書込み操作については無
視される。行先フィールドJPMDSTの第1のビット
は行先がFU10120であることを識別し、第2のフ
ィールドDBMDSTはEU10120を行先として規
定する。
12からのデータ読出しのためのJP10114の行先
を規定する2ビット・フィールドである。このフィール
ドはMEM10112に対する書込み操作については無
視される。行先フィールドJPMDSTの第1のビット
は行先がFU10120であることを識別し、第2のフ
ィールドDBMDSTはEU10120を行先として規
定する。
【0377】JPMCバス10147は、JPOポート
21010とJP10114間の制御信号の交換のため
の専用回線を含む。これらの制御信号には、JP101
14が要求をMEM10112に対してロードすること
を欲する時JP10114によって保有されるJO要求
ロード(LJOR)がある。LJORは、PD1014
6を介してMEM10112に対するメモリー要求の提
示と同時に保有される。JPOポート21010がJP
10114から新たなメモリー要求を受入れるべく使用
可能となる時、JOポート使用可能(JOPA)はME
M10112により保有される。もしLJORおよびJ
OPAが同時に保有されるならば、MEM10112が
JP10114およびMEM10112からメモリー要
求を受入れてこのメモリー要求が受入れられたことを表
示する。前述の如く、前の要求が実行中であり、かつP
D10146の情報、即ち前の要求に関して前に与えら
れたメモリー要求がもはや必要でない時、MEM101
12はJOPAを保有することができる。
21010とJP10114間の制御信号の交換のため
の専用回線を含む。これらの制御信号には、JP101
14が要求をMEM10112に対してロードすること
を欲する時JP10114によって保有されるJO要求
ロード(LJOR)がある。LJORは、PD1014
6を介してMEM10112に対するメモリー要求の提
示と同時に保有される。JPOポート21010がJP
10114から新たなメモリー要求を受入れるべく使用
可能となる時、JOポート使用可能(JOPA)はME
M10112により保有される。もしLJORおよびJ
OPAが同時に保有されるならば、MEM10112が
JP10114およびMEM10112からメモリー要
求を受入れてこのメモリー要求が受入れられたことを表
示する。前述の如く、前の要求が実行中であり、かつP
D10146の情報、即ち前の要求に関して前に与えら
れたメモリー要求がもはや必要でない時、MEM101
12はJOPAを保有することができる。
【0378】もしJP10114がメモリー要求を提示
しJOPAがMEM10112により保有されなけれ
ば、MEM10112はこの要求は受入れられず、JP
10114がJOPAが保有される時この要求を再び提
示しなければならない。前述の如く、JP10114か
らのメモリー要求のJPPNフィールドはこの要求の他
のフィールドと比較されて後で入力することができる故
に、特定の要求が最初に提示された後次のシステム・ク
ロック・サイクルまで、MEM10112はこの特定の
要求に対するJPPNフィールドのローディングを遅ら
せることになる。またMEM10112は、ポート・レ
ジスタをバイパスすることによりこのポート・レジスタ
にロードされつつある時と同時に、このJPPNフィー
ルドを得ることもできる。
しJOPAがMEM10112により保有されなけれ
ば、MEM10112はこの要求は受入れられず、JP
10114がJOPAが保有される時この要求を再び提
示しなければならない。前述の如く、JP10114か
らのメモリー要求のJPPNフィールドはこの要求の他
のフィールドと比較されて後で入力することができる故
に、特定の要求が最初に提示された後次のシステム・ク
ロック・サイクルまで、MEM10112はこの特定の
要求に対するJPPNフィールドのローディングを遅ら
せることになる。またMEM10112は、ポート・レ
ジスタをバイパスすることによりこのポート・レジスタ
にロードされつつある時と同時に、このJPPNフィー
ルドを得ることもできる。
【0379】JP10114は、JP要求打切り要求
(ABJR)の保有と同時にメモリー要求を打切ること
ができる。JP10114からのメモリー要求の受入れ
後のシステム・クロック・サイクルの間、ABJRはM
EM10112によって受入れられ、ABJRはその結
果要求された操作の取消しをもたらすことになる。前に
述べたように、MEM10112が単一のシステム・ク
ロック・サイクルの間JP10114からJPOポート
21010または21110のいずれかに対する単一の
要求のみを受入れることができるため、単一のABJR
回線がJPOポート21010と21110の双方に対
して提供されている。
(ABJR)の保有と同時にメモリー要求を打切ること
ができる。JP10114からのメモリー要求の受入れ
後のシステム・クロック・サイクルの間、ABJRはM
EM10112によって受入れられ、ABJRはその結
果要求された操作の取消しをもたらすことになる。前に
述べたように、MEM10112が単一のシステム・ク
ロック・サイクルの間JP10114からJPOポート
21010または21110のいずれかに対する単一の
要求のみを受入れることができるため、単一のABJR
回線がJPOポート21010と21110の双方に対
して提供されている。
【0380】JPOポート21010を介して要求され
るオペランド読出し操作の完了と同時に、MEM101
12はJP10114に対する2つのデータが使用可能
ないずれかの信号を保有することができる。これらの信
号は、FA(DAVFA)に対して使用可能なデータ
と、EB(DAVEB)に対して使用可能なデータであ
る。前述の如く、JP10114からの各読出し要求の
一部は、要求されたデータの意図された行先を示す行先
フィールドを含む。以下において更に説明するように、
MEM10112は読出し要求のためのこのような行先
情報を追跡し、またDAVFAおよびDAVEBの形態
の対応する情報と共に行先情報を戻す。DAVFAはE
U10120における行先を示し、DAVEBはEU1
0122における行先を示す。MEM10112はま
た、JPOポート21010に対する読出しデータが零
充填されたかどうかを示す零充填信号(ZFILL)を
保有することができる。ZFILLはDAVEBが保有
される時のみ有効である。
るオペランド読出し操作の完了と同時に、MEM101
12はJP10114に対する2つのデータが使用可能
ないずれかの信号を保有することができる。これらの信
号は、FA(DAVFA)に対して使用可能なデータ
と、EB(DAVEB)に対して使用可能なデータであ
る。前述の如く、JP10114からの各読出し要求の
一部は、要求されたデータの意図された行先を示す行先
フィールドを含む。以下において更に説明するように、
MEM10112は読出し要求のためのこのような行先
情報を追跡し、またDAVFAおよびDAVEBの形態
の対応する情報と共に行先情報を戻す。DAVFAはE
U10120における行先を示し、DAVEBはEU1
0122における行先を示す。MEM10112はま
た、JPOポート21010に対する読出しデータが零
充填されたかどうかを示す零充填信号(ZFILL)を
保有することができる。ZFILLはDAVEBが保有
される時のみ有効である。
【0381】JPOポート21010の書込み要求のた
め、関連する書込みデータ・ワードは、要求と同じシス
テム・クロック・サイクル、または1サイクル後のシス
テム・クロック・サイクルにおいて有効であるべきであ
る。JP10114は、これがJPDバス10142に
有効な書込みデータを置くシステム・クロック・サイク
ルの間、JP書込みデータ・ロード(LJWD)を保有
している。
め、関連する書込みデータ・ワードは、要求と同じシス
テム・クロック・サイクル、または1サイクル後のシス
テム・クロック・サイクルにおいて有効であるべきであ
る。JP10114は、これがJPDバス10142に
有効な書込みデータを置くシステム・クロック・サイク
ルの間、JP書込みデータ・ロード(LJWD)を保有
している。
【0382】前述の如く、MEM10112がJP10
114の要求に応じる際エラーを検出すると、MEM1
0112はこのエラーのレコードをMC20116のエ
ラー・ログに入れる。JPOポート21010またはI
Oポート20910のいずれかに対するエラー・ログに
エントリされると、MEM10112は有効なエラー・
ログが存在することを表示する割込みフラッグ信号を保
有する。DP10118はこのフラッグ信号を検出し
て、このフラッグ信号をJP10114またはIOS1
0116、あるいはその両方に送ることができる。DP
10118により選定される如く、IOS10116ま
たはJP10114は次にエラー・ログの読出しおよび
リセットを行なってこのフラッグをリセットする。この
割込みフラッグ信号はその要求がエラーとなった要求
側、即ちJP10114またはIOS10116には必
ずしも送られない。
114の要求に応じる際エラーを検出すると、MEM1
0112はこのエラーのレコードをMC20116のエ
ラー・ログに入れる。JPOポート21010またはI
Oポート20910のいずれかに対するエラー・ログに
エントリされると、MEM10112は有効なエラー・
ログが存在することを表示する割込みフラッグ信号を保
有する。DP10118はこのフラッグ信号を検出し
て、このフラッグ信号をJP10114またはIOS1
0116、あるいはその両方に送ることができる。DP
10118により選定される如く、IOS10116ま
たはJP10114は次にエラー・ログの読出しおよび
リセットを行なってこのフラッグをリセットする。この
割込みフラッグ信号はその要求がエラーとなった要求
側、即ちJP10114またはIOS10116には必
ずしも送られない。
【0383】もし補正不能なMEM10112のエラ
ー、即ち単一のデータ・ワードの2つ以上のビットにお
けるエラーが読出し操作において検出されるならば不正
確なデータがJP10114に対して読込まれて無効デ
ータ信号が保有される。前のMOD転送無効(PMOD
I)がDAVFAまたはDAVEBのいずれかに続く次
のシステム・クロック・サイクルにおいてMEM101
12により保有される。PMODIは単一ビットのエラ
ーについては保有されず、その代りデータが補正されて
この補正されたデータがJP10114に対して読込ま
れる。
ー、即ち単一のデータ・ワードの2つ以上のビットにお
けるエラーが読出し操作において検出されるならば不正
確なデータがJP10114に対して読込まれて無効デ
ータ信号が保有される。前のMOD転送無効(PMOD
I)がDAVFAまたはDAVEBのいずれかに続く次
のシステム・クロック・サイクルにおいてMEM101
12により保有される。PMODIは単一ビットのエラ
ーについては保有されず、その代りデータが補正されて
この補正されたデータがJP10114に対して読込ま
れる。
【0384】JPOポート21010の構造および特性
について述べたが、JPIポート21110について以
下に述べる。
について述べたが、JPIポート21110について以
下に述べる。
【0385】3.JPIポート21110の作用特性
(図211) 図211においては、JPIポート21110の略図が
示されている。JPIポート21110はPDバス10
146からFIU20120に対するアドレス入力と、
MC20116からJP10114に対するデータ出力
と、MIC20122からJPMCバス10147への
入出力の両方向制御装置を含んでいる。前述の如く、J
PIポート21110の主な機能は、JP10114か
らの要求に基づくSOPおよびオペランド名のMEM1
0112からJP10114に対する転送である。これ
によりJPIポートは、各読出し操作が1つの整合され
たアドレスを有する単一の32ビットのワードの転送で
ある読出し操作のみを実施する。
(図211) 図211においては、JPIポート21110の略図が
示されている。JPIポート21110はPDバス10
146からFIU20120に対するアドレス入力と、
MC20116からJP10114に対するデータ出力
と、MIC20122からJPMCバス10147への
入出力の両方向制御装置を含んでいる。前述の如く、J
PIポート21110の主な機能は、JP10114か
らの要求に基づくSOPおよびオペランド名のMEM1
0112からJP10114に対する転送である。これ
によりJPIポートは、各読出し操作が1つの整合され
たアドレスを有する単一の32ビットのワードの転送で
ある読出し操作のみを実施する。
【0386】PDバス10146からのJPIポート2
1110の入力については、SOPおよびオペランド名
に対するJP10114によるMEM10112に対す
る読出し要求は各々21ビットのワード・アドレスを有
する。前述の如く、各JPIポート21110の読出し
操作は単一の32ビット・ワードである。このように、
アドレスの5つの最下位ビットはMEM10112によ
り無視される。同じ理由から、JPIポート21110
のMEM10112に対する要求は、長さフィールド、
または命令コード・フィールド、またはFIUフィール
ド、または行先コード・フィールドは含まない。JPI
ポート21110は単一の操作形式しか実施せずまた行
先コード・フィールドは行先がJPIポート21110
の要求においては固有であるため、長さフィールド、命
令コード・フィールドおよびFIUコード・フィールド
は必要とされない。
1110の入力については、SOPおよびオペランド名
に対するJP10114によるMEM10112に対す
る読出し要求は各々21ビットのワード・アドレスを有
する。前述の如く、各JPIポート21110の読出し
操作は単一の32ビット・ワードである。このように、
アドレスの5つの最下位ビットはMEM10112によ
り無視される。同じ理由から、JPIポート21110
のMEM10112に対する要求は、長さフィールド、
または命令コード・フィールド、またはFIUフィール
ド、または行先コード・フィールドは含まない。JPI
ポート21110は単一の操作形式しか実施せずまた行
先コード・フィールドは行先がJPIポート21110
の要求においては固有であるため、長さフィールド、命
令コード・フィールドおよびFIUコード・フィールド
は必要とされない。
【0387】JPIポート21110の要求に応答して
MEM10112から読出しされる32ビット・ワード
はMODバス10144に対するMC20116の32
ビットの出力を介してJP10114に対して転送され
る。JP10114に対するJPOポート21010の
読出し出力の場合におけるように、JPIポート211
10はJP10114に対してパリティ情報を提供する
ことはない。
MEM10112から読出しされる32ビット・ワード
はMODバス10144に対するMC20116の32
ビットの出力を介してJP10114に対して転送され
る。JP10114に対するJPOポート21010の
読出し出力の場合におけるように、JPIポート211
10はJP10114に対してパリティ情報を提供する
ことはない。
【0388】JP10114とJPIポート21110
間のJPMCバス10147による制御信号の交換は、
JPOポート21010に関して論述したと同じ方法で
作用するロードJI要求(LJIR)とJIポート使用
可能(JIPA)を含む。前述の如く、JPOポート2
1010およびJPIポート21110は単一の打切り
JP要求(ABJR)の指令を共有する。同様に、JP
Oポート21010およびJPIポート21110はM
EM10112から前のMOD転送無効(PMODI)
を共有する。前述の如く、JPIポート21110の要
求は、行先が示唆される時、行先フィールドは含まな
い。しかし、JPIポート21110の要求に応答して
MEM10112から読出されたワードがJP1011
4に存在してこれが有効である時、JP10114に対
しデータ使用可能信号(DAVFI)を与える。
間のJPMCバス10147による制御信号の交換は、
JPOポート21010に関して論述したと同じ方法で
作用するロードJI要求(LJIR)とJIポート使用
可能(JIPA)を含む。前述の如く、JPOポート2
1010およびJPIポート21110は単一の打切り
JP要求(ABJR)の指令を共有する。同様に、JP
Oポート21010およびJPIポート21110はM
EM10112から前のMOD転送無効(PMODI)
を共有する。前述の如く、JPIポート21110の要
求は、行先が示唆される時、行先フィールドは含まな
い。しかし、JPIポート21110の要求に応答して
MEM10112から読出されたワードがJP1011
4に存在してこれが有効である時、JP10114に対
しデータ使用可能信号(DAVFI)を与える。
【0389】MEM10112の全体的な構造および作
用、およびJP10114およびIOS10116に対
するMEM10112にインターフェースの構造および
作用について述べたが、次にFIU20120の構造お
よび作用について更に詳細に述べる。
用、およびJP10114およびIOS10116に対
するMEM10112にインターフェースの構造および
作用について述べたが、次にFIU20120の構造お
よび作用について更に詳細に述べる。
【0390】h.FIU20120(図201,図23
0,図231) 前述の如く、FIU20120は、MEM10112の
ビットをアドレス指定可能にするため必要な諸操作を含
むいくつかのデータ処理操作を実施する。データ処理操
作は、例えばJP10114からJPDバス10142
を介して、あるいはIOS10116からIOMバス1
0130を介してMEM10112に書込まれつつある
データについて実施することができる。データ処理操作
はまた、MEM10112からJP10114またはI
OS10116に対して読込まれつつあるデータについ
ても実施することができる。JP10114に対して読
込まれるデータの場合には、データをMC20116か
らFIU20120に対して処理のため転送し、また処
理されたデータをMEM10112からJP10114
に対して転送する際に、JP10114はMEM101
12の内部バスと共に使用される。IOS10116に
対して読込まれるデータの場合には、MODバス101
44は再びMEM10112に内部バスとして使用され
て、その後の処理のためMC20116からFIU20
120に対してデータを読出す。この処理されたデータ
は次にFIU20120からMIOバス10129を介
してIOS10116に対して読出される。
0,図231) 前述の如く、FIU20120は、MEM10112の
ビットをアドレス指定可能にするため必要な諸操作を含
むいくつかのデータ処理操作を実施する。データ処理操
作は、例えばJP10114からJPDバス10142
を介して、あるいはIOS10116からIOMバス1
0130を介してMEM10112に書込まれつつある
データについて実施することができる。データ処理操作
はまた、MEM10112からJP10114またはI
OS10116に対して読込まれつつあるデータについ
ても実施することができる。JP10114に対して読
込まれるデータの場合には、データをMC20116か
らFIU20120に対して処理のため転送し、また処
理されたデータをMEM10112からJP10114
に対して転送する際に、JP10114はMEM101
12の内部バスと共に使用される。IOS10116に
対して読込まれるデータの場合には、MODバス101
44は再びMEM10112に内部バスとして使用され
て、その後の処理のためMC20116からFIU20
120に対してデータを読出す。この処理されたデータ
は次にFIU20120からMIOバス10129を介
してIOS10116に対して読出される。
【0391】FIU20120により実施することがで
きるいくつかのデータ処理操作について説明した。一般
に、データ処理操作は4つの個々の操作からなりFIU
20120はこれらの操作のどんな組合せでも実施する
ことにより可能な方法においてデータを処理することが
できる。これらの4つの可能操作は、処理されるべきデ
ータの選定、このデータの回転もしくは変位、このデー
タのマスキング、および処理されたデータの選定された
行先への転送である。FIU20120の各データ入力
は32ビットのデータ・ワードからなり、前述の如く、
JPDバス10142、MODバス10144およびI
OMバス10130から与えられる入力から選定するこ
とができる。ある場合には、FIU20120のデータ
入力は、例えば、2つにわたるワード操作が行なわれて
2つの異なる32ビット・ワードの各々からのビットか
ら成る出力を生成する時、2つの32ビット・ワードを
含むことができる。選定された32ビットのビット・ワ
ードの回転もしくは変位は、ある選定されたワード内の
ビットをワードの境界に関して再配置させる。マスキン
グ操作に関連して使用される時、今述べた通り、回転お
よび変位操作はこのワード内のどの選定された場所に対
してもワードにおけるどの選定されたビットでも転送す
るように反復的に実施することができる。以下において
更に述べるように、マスキング操作はどの選定されたビ
ットのワードでも自由に消去することを可能にし、これ
により他のある選定されたビットのみを、あるいはまた
ある選定されたビットを予め定めた値にさせた状態のま
まにする。マスキング操作は、32ビット・ワードの各
部の零充填および符号拡張を行なうために実施すること
ができる。回転または変位操作と関連して、例えば、マ
スキング操作は、32ビットの入力ワードの単一ビット
を選定し、どの選定されたビットの場所にも前記ビット
を定置し、このワードの他の全てのビットを零に強制す
ることができる。FIU20120の各出力は32ビッ
トのデータ・ワードであり、また前述の如く、MODバ
ス10144またはMIOバス10129に対して転送
することができる。以下に述べるように、ある特定のデ
ータ・ワードについて実施されるべき前記の4つの操作
のある特定のシーケンスの選定は、MIC20122か
ら与えられる制御入力によって決定される。MIC20
122からのこれらの制御入力は、FIU20120内
に含まれるマイクロ命令制御ロジックにより復号され実
行されるのである。
きるいくつかのデータ処理操作について説明した。一般
に、データ処理操作は4つの個々の操作からなりFIU
20120はこれらの操作のどんな組合せでも実施する
ことにより可能な方法においてデータを処理することが
できる。これらの4つの可能操作は、処理されるべきデ
ータの選定、このデータの回転もしくは変位、このデー
タのマスキング、および処理されたデータの選定された
行先への転送である。FIU20120の各データ入力
は32ビットのデータ・ワードからなり、前述の如く、
JPDバス10142、MODバス10144およびI
OMバス10130から与えられる入力から選定するこ
とができる。ある場合には、FIU20120のデータ
入力は、例えば、2つにわたるワード操作が行なわれて
2つの異なる32ビット・ワードの各々からのビットか
ら成る出力を生成する時、2つの32ビット・ワードを
含むことができる。選定された32ビットのビット・ワ
ードの回転もしくは変位は、ある選定されたワード内の
ビットをワードの境界に関して再配置させる。マスキン
グ操作に関連して使用される時、今述べた通り、回転お
よび変位操作はこのワード内のどの選定された場所に対
してもワードにおけるどの選定されたビットでも転送す
るように反復的に実施することができる。以下において
更に述べるように、マスキング操作はどの選定されたビ
ットのワードでも自由に消去することを可能にし、これ
により他のある選定されたビットのみを、あるいはまた
ある選定されたビットを予め定めた値にさせた状態のま
まにする。マスキング操作は、32ビット・ワードの各
部の零充填および符号拡張を行なうために実施すること
ができる。回転または変位操作と関連して、例えば、マ
スキング操作は、32ビットの入力ワードの単一ビット
を選定し、どの選定されたビットの場所にも前記ビット
を定置し、このワードの他の全てのビットを零に強制す
ることができる。FIU20120の各出力は32ビッ
トのデータ・ワードであり、また前述の如く、MODバ
ス10144またはMIOバス10129に対して転送
することができる。以下に述べるように、ある特定のデ
ータ・ワードについて実施されるべき前記の4つの操作
のある特定のシーケンスの選定は、MIC20122か
ら与えられる制御入力によって決定される。MIC20
122からのこれらの制御入力は、FIU20120内
に含まれるマイクロ命令制御ロジックにより復号され実
行されるのである。
【0392】図230においてはFIU20120の部
分ブロック図が示される。同図に示されるように、FI
U20120はデータ処理回路(DMC)23010お
よびFIU制御回路(FIUC)23012を含む。D
MC2310は更に、FIUIO回路(FIUIO)2
3014と、データ・シフター(DS)23016と、
マスク・ロジック(MSK)23018と、組立てレジ
スタ(AR)ロジック23020とを含む。DMC23
010について最初に説明され、その後FIUC230
12が続く。DMC23010の説明においては、FI
UIO23014について最初に説明し、DS2301
6、MSK23018およびARロジック23020の
順に続く。
分ブロック図が示される。同図に示されるように、FI
U20120はデータ処理回路(DMC)23010お
よびFIU制御回路(FIUC)23012を含む。D
MC2310は更に、FIUIO回路(FIUIO)2
3014と、データ・シフター(DS)23016と、
マスク・ロジック(MSK)23018と、組立てレジ
スタ(AR)ロジック23020とを含む。DMC23
010について最初に説明され、その後FIUC230
12が続く。DMC23010の説明においては、FI
UIO23014について最初に説明し、DS2301
6、MSK23018およびARロジック23020の
順に続く。
【0393】FIUIO23014について述べると、
FIUIO23014はFIU20120のデータ入力
および出力回路からなる。ジョブ・プロセッサ書込みデ
ータ・レジスタ(JWDR)23022と、IOシステ
ム書込みデータ・レジスタ(IWDR)23024と、
書込み入力データ・レジスタ(RIDR)23026
は、夫々JP10114、IOS10116およびMC
20116からデータ・ワード入力を受取るため、夫々
JPDバス10142、IOMバス10130、MOD
バス10144に接続されている。JWDR23022
とIWDR23024とRIDR23026とは各々、
例えばSN74S374レジスタである36ビット・レ
ジスタである。IWDR23024およびRIDR23
026に転送されるデータ・ワードは各々、前述の如
く、32データ・ワード、プラス4ビットのパリティか
らなる。しかし、JP10114からのデータ入力は、
前述の如く、パリティを含まない32ビットのデータ・
ワードである。JWDR23022と関連するジョブ・
プロセッサのパリティ・ゼネレータ(JPPG)230
28はJPDバス10142と接続され、JWDR23
022に対する各データ入力に対する4ビットのパリテ
ィを生成する。JWDR23022の36ビット入力
は、これにより、直接JPDバス10142からのデー
タの32ビット、プラスJPPG23028からの対応
する4ビットのパリティからなる。
FIUIO23014はFIU20120のデータ入力
および出力回路からなる。ジョブ・プロセッサ書込みデ
ータ・レジスタ(JWDR)23022と、IOシステ
ム書込みデータ・レジスタ(IWDR)23024と、
書込み入力データ・レジスタ(RIDR)23026
は、夫々JP10114、IOS10116およびMC
20116からデータ・ワード入力を受取るため、夫々
JPDバス10142、IOMバス10130、MOD
バス10144に接続されている。JWDR23022
とIWDR23024とRIDR23026とは各々、
例えばSN74S374レジスタである36ビット・レ
ジスタである。IWDR23024およびRIDR23
026に転送されるデータ・ワードは各々、前述の如
く、32データ・ワード、プラス4ビットのパリティか
らなる。しかし、JP10114からのデータ入力は、
前述の如く、パリティを含まない32ビットのデータ・
ワードである。JWDR23022と関連するジョブ・
プロセッサのパリティ・ゼネレータ(JPPG)230
28はJPDバス10142と接続され、JWDR23
022に対する各データ入力に対する4ビットのパリテ
ィを生成する。JWDR23022の36ビット入力
は、これにより、直接JPDバス10142からのデー
タの32ビット、プラスJPPG23028からの対応
する4ビットのパリティからなる。
【0394】データ・ワード、即ちデータの32ビッ
ト、プラスパリティの4ビットは、夫々、入力可能信号
ロードJWD(LJWD)、またはロードLWD(LI
WD)、またはロードRID(LRID)が保有される
時、JWDR23022、またはIWDR23024、
またはRIDR23026に対して転送される。LJW
DはFU10120から与えられるが、LIWDおよび
LRIDはMIC20122から与えられる。
ト、プラスパリティの4ビットは、夫々、入力可能信号
ロードJWD(LJWD)、またはロードLWD(LI
WD)、またはロードRID(LRID)が保有される
時、JWDR23022、またはIWDR23024、
またはRIDR23026に対して転送される。LJW
DはFU10120から与えられるが、LIWDおよび
LRIDはMIC20122から与えられる。
【0395】JWDR23022、またはIWDR23
024、またはRIDR23026に常駐するデータ・
ワードは選択されて、出力可能信号(JWDEO)、I
WD可能出力(IWDEO)、RID可能出力(RID
EO)により、FIU20120の内部データ(IB)
バス23030に転送することができる。JWDEO,
IWDEOおよびRDIEOは以下に説明するようにF
IUC23012から与えられる。
024、またはRIDR23026に常駐するデータ・
ワードは選択されて、出力可能信号(JWDEO)、I
WD可能出力(IWDEO)、RID可能出力(RID
EO)により、FIU20120の内部データ(IB)
バス23030に転送することができる。JWDEO,
IWDEOおよびRDIEOは以下に説明するようにF
IUC23012から与えられる。
【0396】以下において更に説明するように、DS2
3016またはARロジック23020からの処理され
たデータ・ワードは、夫々、MODバス10144また
はMIOバス10129に対する後の転送のため、デー
タ・シフター出力(DSO)23032、またはアセン
ブル・レジスタ出力(ASYRO)バス23034に対
して転送されることになる。DSO23032またはA
SYRO23034は現われる処理された各データ・ワ
ードは、データの32ビット、プラスパリティの4ビッ
トからなる。DSO23032に存在する処理されたデ
ータ・ワードは夫々DSOバス対MODバス駆動ゲート
(DSMOD)、または部材SOバス対MIOバス駆動
ゲート(DSMIO)23038を介してMODバス1
0144またはMIOバス10129に対して転送する
ことができる。ASYRO23034に存在する処理さ
れたデータ・ワードは、夫々ASYROバス対MODバ
ス駆動ゲート(ASYMOD)23040またはASY
ROバス対MIOバス駆動ゲート(ASYMIO)23
042を介して、MODバス10144またはMIOバ
ス10129に対して転送することができる。DSMO
D23036、DSMIO23038、ASYMOD2
3040、ASYMIO23042は各々例えばSN7
4S244ドライバからなる。DSMOD23036に
対するドライバ・ゲート使用可能信号の対MODドライ
バ変位信号(DRVSHFMOD)が保有される時、D
SO23032における処理されたデータ・ワードは、
DSMOD23036を介してMODバス10144に
対して転送される。同様に、DSO23032上の処理
されたデータ・ワードは、DSMIO23038に対す
るドライバ・ゲート使用可能信号のMIOバスを介する
駆動変位信号(DRVSHFMIO)が保有される時、
DSMIO23038を介してMIOバス10129に
対して転送されることになる。ASYRO23034に
存在する処理されたデータ・ワードは、夫々、ASYM
OD23040に対する駆動ゲート使用可能信号、対M
ODバス・ドライバ・アセンブル(DRVASYMOD
23040)、または対MIOバス駆動アセンブルが保
有される時、MODバス10144またはMIOバス1
0129に対して転送することができる。信号DRVS
HFMOD,DRVSHFMIO,DRVASYMOD
23040およびDRVASYMIOは前述の如くFI
U23012から与えられる。
3016またはARロジック23020からの処理され
たデータ・ワードは、夫々、MODバス10144また
はMIOバス10129に対する後の転送のため、デー
タ・シフター出力(DSO)23032、またはアセン
ブル・レジスタ出力(ASYRO)バス23034に対
して転送されることになる。DSO23032またはA
SYRO23034は現われる処理された各データ・ワ
ードは、データの32ビット、プラスパリティの4ビッ
トからなる。DSO23032に存在する処理されたデ
ータ・ワードは夫々DSOバス対MODバス駆動ゲート
(DSMOD)、または部材SOバス対MIOバス駆動
ゲート(DSMIO)23038を介してMODバス1
0144またはMIOバス10129に対して転送する
ことができる。ASYRO23034に存在する処理さ
れたデータ・ワードは、夫々ASYROバス対MODバ
ス駆動ゲート(ASYMOD)23040またはASY
ROバス対MIOバス駆動ゲート(ASYMIO)23
042を介して、MODバス10144またはMIOバ
ス10129に対して転送することができる。DSMO
D23036、DSMIO23038、ASYMOD2
3040、ASYMIO23042は各々例えばSN7
4S244ドライバからなる。DSMOD23036に
対するドライバ・ゲート使用可能信号の対MODドライ
バ変位信号(DRVSHFMOD)が保有される時、D
SO23032における処理されたデータ・ワードは、
DSMOD23036を介してMODバス10144に
対して転送される。同様に、DSO23032上の処理
されたデータ・ワードは、DSMIO23038に対す
るドライバ・ゲート使用可能信号のMIOバスを介する
駆動変位信号(DRVSHFMIO)が保有される時、
DSMIO23038を介してMIOバス10129に
対して転送されることになる。ASYRO23034に
存在する処理されたデータ・ワードは、夫々、ASYM
OD23040に対する駆動ゲート使用可能信号、対M
ODバス・ドライバ・アセンブル(DRVASYMOD
23040)、または対MIOバス駆動アセンブルが保
有される時、MODバス10144またはMIOバス1
0129に対して転送することができる。信号DRVS
HFMOD,DRVSHFMIO,DRVASYMOD
23040およびDRVASYMIOは前述の如くFI
U23012から与えられる。
【0397】DP10118についての以下の説明にお
いて更に説明するように、レジスタIARM23044
とBARMR23046は、夫々、例えばFIU201
20からの処理されたデータ・ワードのIB23030
に対する読込みおよびMODバス10144からの読出
しを行なうためDP10118によって使用される。F
IUC23012からのレジスタ使用可能出力信号IA
RM可能出力(IARMEO)が保有される時、DP1
0118からIARM23044に対して書込まれたデ
ータ・ワード、即ちデータの32ビットおよびパリティ
の4ビットがIB23030に対して転送されることに
なる。同様にデータの32ビット、およびパリティの4
ビットからなるMODバス10144に存在するデータ
・ワードは、ロード可能信号対BARMRロードBAR
MR(LDBARMR)がMIC20122によって保
有される時、BARMR23046に対して書込まれる
ことになる。MODバス10144からBARMR23
046に対して書込まれるデータ・ワードは、次に、D
P10118に対して読込むことができる。IARM2
3044とBARMR23046はJWDR2302
2、IWDR23024およびRIDR23026と類
似し、例えばSN74S299レジスタからなるもので
良い。
いて更に説明するように、レジスタIARM23044
とBARMR23046は、夫々、例えばFIU201
20からの処理されたデータ・ワードのIB23030
に対する読込みおよびMODバス10144からの読出
しを行なうためDP10118によって使用される。F
IUC23012からのレジスタ使用可能出力信号IA
RM可能出力(IARMEO)が保有される時、DP1
0118からIARM23044に対して書込まれたデ
ータ・ワード、即ちデータの32ビットおよびパリティ
の4ビットがIB23030に対して転送されることに
なる。同様にデータの32ビット、およびパリティの4
ビットからなるMODバス10144に存在するデータ
・ワードは、ロード可能信号対BARMRロードBAR
MR(LDBARMR)がMIC20122によって保
有される時、BARMR23046に対して書込まれる
ことになる。MODバス10144からBARMR23
046に対して書込まれるデータ・ワードは、次に、D
P10118に対して読込むことができる。IARM2
3044とBARMR23046はJWDR2302
2、IWDR23024およびRIDR23026と類
似し、例えばSN74S299レジスタからなるもので
良い。
【0398】最後にIOパリティ検査回路(IOPC)
23048について述べれば、IOPC23048は各
データ・ワード即ちIB23030に生じる32ビット
のデータ、およびパリティの4ビットを受取るようにI
B23030に対して接続されている。IB23030
に現われる各データ・ワードのパリティおよびデータの
妥当性を確認し、特にIOS10116からFIU20
120に書込まれるデータ・ワードのパリティおよびデ
ータの妥当性を判断する。IOPC23048は、IO
S10116からのデータ・ワードにおけるパリティ・
エラーを表示する前に述べた出力パリティ・エラー(P
ER)を生成する。
23048について述べれば、IOPC23048は各
データ・ワード即ちIB23030に生じる32ビット
のデータ、およびパリティの4ビットを受取るようにI
B23030に対して接続されている。IB23030
に現われる各データ・ワードのパリティおよびデータの
妥当性を確認し、特にIOS10116からFIU20
120に書込まれるデータ・ワードのパリティおよびデ
ータの妥当性を判断する。IOPC23048は、IO
S10116からのデータ・ワードにおけるパリティ・
エラーを表示する前に述べた出力パリティ・エラー(P
ER)を生成する。
【0399】DS23016について述べれば、DS2
3016がバイト・ニブル・ロジック(BYNL)23
050、パリティ回転ロジック(PRL)23052お
よびビット・スケール・ロジック(BSL)23054
を含む。BYNL23050、PRL23052および
BSL23054は、例えば25S10シフターで良
い。BYNL23050は、選定されIB23030に
対して転送されるデータ・ワードの32のデータ・ビッ
トを受取って変位するためにIB23030と接続され
ている。PRL23052は、選定されてIB2303
0に対して転送されるデータ・ワードの4つのパリティ
・ビットを受取ってこれを変位するためIB23030
と同様に接続された4ビット・レジスタである。BYN
L23050とPRL23052の出力は共にDSO2
3032に接続され、これにより直接BYNL2305
0とPRL23052からの32ビットのFIU201
20のデータ・ワード出力を与える。BYNL2305
0の32ビットのデータ出力もまたBSL23054の
入力側と接続されている。BSL23054の32ビッ
ト出力は更にMSK23018に対して与えられる。
3016がバイト・ニブル・ロジック(BYNL)23
050、パリティ回転ロジック(PRL)23052お
よびビット・スケール・ロジック(BSL)23054
を含む。BYNL23050、PRL23052および
BSL23054は、例えば25S10シフターで良
い。BYNL23050は、選定されIB23030に
対して転送されるデータ・ワードの32のデータ・ビッ
トを受取って変位するためにIB23030と接続され
ている。PRL23052は、選定されてIB2303
0に対して転送されるデータ・ワードの4つのパリティ
・ビットを受取ってこれを変位するためIB23030
と同様に接続された4ビット・レジスタである。BYN
L23050とPRL23052の出力は共にDSO2
3032に接続され、これにより直接BYNL2305
0とPRL23052からの32ビットのFIU201
20のデータ・ワード出力を与える。BYNL2305
0の32ビットのデータ出力もまたBSL23054の
入力側と接続されている。BSL23054の32ビッ
ト出力は更にMSK23018に対して与えられる。
【0400】前述の如く、DS23016はあるデータ
・ワード内のビットの変位を生じるデータ処理操作を実
施する。一般に、DS23016により実施されるデー
タ変位操作は、データ・ビットが右寄せされデータ・ワ
ードの最下位ビットは最上位ビット位置に変位され、ま
た最上位ビットは再下位ビット位置に変位させられる回
転である。DS23016の回転操作は2つの段階で実
施される。第1の段階はBYNL23050とPRL2
3052によって実施され、ニブル法(ニブルは4バス
のデータとして規定される)に基づく右回転である。即
ちBYNL23050は1つのデータ・ワードを整数の
4ビットの増分だけ右寄せする。ニブル法に基づいてあ
るニブルに関する右回転は、例えば、RM20722が
前に述べたFLIPHALFを保有する時に実施するこ
とができる。FLIPHAMFは、要求データがMC2
0116からのデータ・ワードの最上位の16ビットに
存在するところのIOS10116の半ワード読出し操
作に対して保有される。BYNL23050は4ニブル
の右回転を行ない、データの所要の16ビットをBYN
L23050の出力の最下位の16ビットに対して転送
する。その結果のBYNL23050の出力は、PRL
23052のパリティ・ビットと共に、この声BYNL
23050を介してMIOバス10129に対して転送
されることになる。データ変位操作の実施に加えて、D
S23016は、実施されるべきデータ操作がデータの
変位を必要としない時、即ち0ビットの変位が実施可能
である時、データ・ワード即ちデータの32ビットを直
接MSK23018に対して転送することができる。
・ワード内のビットの変位を生じるデータ処理操作を実
施する。一般に、DS23016により実施されるデー
タ変位操作は、データ・ビットが右寄せされデータ・ワ
ードの最下位ビットは最上位ビット位置に変位され、ま
た最上位ビットは再下位ビット位置に変位させられる回
転である。DS23016の回転操作は2つの段階で実
施される。第1の段階はBYNL23050とPRL2
3052によって実施され、ニブル法(ニブルは4バス
のデータとして規定される)に基づく右回転である。即
ちBYNL23050は1つのデータ・ワードを整数の
4ビットの増分だけ右寄せする。ニブル法に基づいてあ
るニブルに関する右回転は、例えば、RM20722が
前に述べたFLIPHALFを保有する時に実施するこ
とができる。FLIPHAMFは、要求データがMC2
0116からのデータ・ワードの最上位の16ビットに
存在するところのIOS10116の半ワード読出し操
作に対して保有される。BYNL23050は4ニブル
の右回転を行ない、データの所要の16ビットをBYN
L23050の出力の最下位の16ビットに対して転送
する。その結果のBYNL23050の出力は、PRL
23052のパリティ・ビットと共に、この声BYNL
23050を介してMIOバス10129に対して転送
されることになる。データ変位操作の実施に加えて、D
S23016は、実施されるべきデータ操作がデータの
変位を必要としない時、即ち0ビットの変位が実施可能
である時、データ・ワード即ちデータの32ビットを直
接MSK23018に対して転送することができる。
【0401】データ・ビットはニブル基準に基づいてB
YNL23050だけ変位されるため、1ワードの32
データ・ビットと対応する4パリティ・ビット間の関係
は、もしパリティ・ビットが同様にデータ・ビットの右
回転に相当する量だけ右回転されるならば維持すること
ができる。この関係は、もしデータ・ビットが2ニブル
の倍数、即ち8ビット即ち1バイト変位されるならば真
である。PRI23052は1つのデータ・ワードの4
パリティ・ビットをBYNL23050における対応す
る32データ・ビットの右回転と対応する量だけ右回転
させる。従ってBYNL23050とPRL23052
の右回転された出力は、パリティ・バッファがこのデー
タ・ビットに適正に関連するデータの32ビットおよび
パリティの4ビットを有する有効データ・ワードからな
る。BYNL23050およびPRL23052からの
右回転させられたデータ・ワード出力は、前述の如くM
ODバス10144またはMIOバス10129に対す
る後の転送のため、DSO23032に対して転送する
ことができる。DSO23032は、ある特定のデータ
・ワードの所要の操作がバイト単位の整数の右回転数の
みを必要とするバイト回転操作および「回転読出し」操
作のためFIU20120の出力データ経路として使用
される。BYNL23050におけるデータの32ビッ
トおよびBYNL23050におけるパリティの4ビッ
トの右回転数は、BYNL23050およびPRL23
052への入力信号変位(SHFT)(0〜2)により
制御される。以下に述べるように、SHFT(0〜2)
がSHFT(3〜4)と共に生成され、FIUC230
12によりBSL23054を制御する。BYNL23
050とPRL23052は、以下に述べるBSL23
054と同様に、並列変位ロジック・チップであり、B
YNL23050およびPRL23052、またはBS
L23054の全回転作用が単一のクロック・サイクル
において実施することができる。
YNL23050だけ変位されるため、1ワードの32
データ・ビットと対応する4パリティ・ビット間の関係
は、もしパリティ・ビットが同様にデータ・ビットの右
回転に相当する量だけ右回転されるならば維持すること
ができる。この関係は、もしデータ・ビットが2ニブル
の倍数、即ち8ビット即ち1バイト変位されるならば真
である。PRI23052は1つのデータ・ワードの4
パリティ・ビットをBYNL23050における対応す
る32データ・ビットの右回転と対応する量だけ右回転
させる。従ってBYNL23050とPRL23052
の右回転された出力は、パリティ・バッファがこのデー
タ・ビットに適正に関連するデータの32ビットおよび
パリティの4ビットを有する有効データ・ワードからな
る。BYNL23050およびPRL23052からの
右回転させられたデータ・ワード出力は、前述の如くM
ODバス10144またはMIOバス10129に対す
る後の転送のため、DSO23032に対して転送する
ことができる。DSO23032は、ある特定のデータ
・ワードの所要の操作がバイト単位の整数の右回転数の
みを必要とするバイト回転操作および「回転読出し」操
作のためFIU20120の出力データ経路として使用
される。BYNL23050におけるデータの32ビッ
トおよびBYNL23050におけるパリティの4ビッ
トの右回転数は、BYNL23050およびPRL23
052への入力信号変位(SHFT)(0〜2)により
制御される。以下に述べるように、SHFT(0〜2)
がSHFT(3〜4)と共に生成され、FIUC230
12によりBSL23054を制御する。BYNL23
050とPRL23052は、以下に述べるBSL23
054と同様に、並列変位ロジック・チップであり、B
YNL23050およびPRL23052、またはBS
L23054の全回転作用が単一のクロック・サイクル
において実施することができる。
【0402】第2段の回転は、前述の如く、BYNL2
3050から1つのデータ・ワードの32データ・ビッ
トを受けるBSL23054によって行なわれる。BS
L23054は、変位量が0乃至3ビットの間で選定可
能なビット単位で右回転を行なう。従って、BSL23
054はニブルの境界にわたるビットを回転することが
できる。従って、BYNL23050とBSL2305
4は、1ビットから全32ビットにわたる右回転量だけ
ビット単位の右回転を行なうことができるデータ変位回
路を構成する。
3050から1つのデータ・ワードの32データ・ビッ
トを受けるBSL23054によって行なわれる。BS
L23054は、変位量が0乃至3ビットの間で選定可
能なビット単位で右回転を行なう。従って、BSL23
054はニブルの境界にわたるビットを回転することが
できる。従って、BYNL23050とBSL2305
4は、1ビットから全32ビットにわたる右回転量だけ
ビット単位の右回転を行なうことができるデータ変位回
路を構成する。
【0403】次にMSK23018について述べると、
MSK23018は5つの32ビットのマスク・ワード
・ゼネレータ(MWG)23056乃至23064から
なる。MSK23018は、MWG23056乃至23
064の32ビットのマスク・ワード出力を選択的に接
続することによってAR23020に対する32ビット
出力を生じる。MWG23056乃至23064の1つ
により生成される各マスク・ワードは、1組の使用可能
なビットと、FIUC23012およびMIC2012
2により生成される予め定められた32ビットのマスク
・ワードのビット単位の組合せを有効に構成する。MW
G23058乃至23064は各々、例えばこれら機能
を実施するためのオープン・コレクタ型のNANDゲー
トからなっているが、MWG23056は1つのPRO
Mからなる。
MSK23018は5つの32ビットのマスク・ワード
・ゼネレータ(MWG)23056乃至23064から
なる。MSK23018は、MWG23056乃至23
064の32ビットのマスク・ワード出力を選択的に接
続することによってAR23020に対する32ビット
出力を生じる。MWG23056乃至23064の1つ
により生成される各マスク・ワードは、1組の使用可能
なビットと、FIUC23012およびMIC2012
2により生成される予め定められた32ビットのマスク
・ワードのビット単位の組合せを有効に構成する。MW
G23058乃至23064は各々、例えばこれら機能
を実施するためのオープン・コレクタ型のNANDゲー
トからなっているが、MWG23056は1つのPRO
Mからなる。
【0404】今述べたように、MWG23056乃至2
3064の出力は全て、オープン・コレクタ型の回路で
あり、このためMWG23056乃至23064からの
マスク・ワード出力の選択されたどんな組合せでも一緒
にORしてMSK23018の32ビット出力を構成す
ることができる。
3064の出力は全て、オープン・コレクタ型の回路で
あり、このためMWG23056乃至23064からの
マスク・ワード出力の選択されたどんな組合せでも一緒
にORしてMSK23018の32ビット出力を構成す
ることができる。
【0405】MWG23056乃至23064は、夫
々、マスク・ワード出力のロックされたビット・ワード
(LBW)(0〜31)と、符号拡張されたワード(S
EW)(0〜31)と、データ・マスク・ワード(DM
W)(0〜31)と、空の充填ワード(BWF)(0〜
31)と、組立てレジスタ出力(ARO)(0〜31)
を生成する。最初に23064とARO(0〜31)に
ついて説明すると、AR23020における組立てレジ
スタ(ASYMR)23066の内容は、使用可能信号
の組立て出力レジスタ(ASYMOR)の保有と同時に
23064を通るように送られる。このためARO(0
〜31)はASYMR23066の内容のコピーであ
り、23064はASYMR23066の内容がLBW
(0〜31)、またはSEW(0〜31)、またはDM
W(0〜31)、またはBFW(0〜31)の選択され
た組合せでORされることを可能にするのである。
々、マスク・ワード出力のロックされたビット・ワード
(LBW)(0〜31)と、符号拡張されたワード(S
EW)(0〜31)と、データ・マスク・ワード(DM
W)(0〜31)と、空の充填ワード(BWF)(0〜
31)と、組立てレジスタ出力(ARO)(0〜31)
を生成する。最初に23064とARO(0〜31)に
ついて説明すると、AR23020における組立てレジ
スタ(ASYMR)23066の内容は、使用可能信号
の組立て出力レジスタ(ASYMOR)の保有と同時に
23064を通るように送られる。このためARO(0
〜31)はASYMR23066の内容のコピーであ
り、23064はASYMR23066の内容がLBW
(0〜31)、またはSEW(0〜31)、またはDM
W(0〜31)、またはBFW(0〜31)の選択され
た組合せでORされることを可能にするのである。
【0406】MWG23060からのDMW(0〜3
1)は、DS23016の32ビット出力により使用可
能入力データ・マスク(DMSK)(0〜31)をAN
Dすることによって生成される。FIUC23012は
4つの異なるDMSK(0〜31)のパターンを生成す
ることができる。図231においては、FIUC201
32によって生成することができる4つのDMSK(0
〜31)が示されている。DMSKA(0〜31)は図
231の線Aに示される。DMSKA(0〜31)にお
いては、左側ビット・アドレス(LBA)により示され
るビットは含まないその左側の全てのビットと、右側ビ
ット・アドレス(RBA)により示されるビットは含ま
ないその右側の全てのビットは零となる。LBAおよび
RBAにより示されるこれらのビットは1である。DM
SKB(0〜31)は図231の線Bで示され反転した
DMSKA(0〜31)である。DMSKC(0〜3
1)およびDMSKD(0〜31)は夫々図231の線
CおよびDに示され、夫々全て0または全て1からな
る。前述の如く、DMSK(0〜31)は、DS230
16の32ビット出力でANDされ、このため、DNS
KC(0〜31)は、例えばDS23016の出力を禁
止するため使用することができるが、SMSKD(0〜
31)は、例えばDS23016の出力をAR2302
0に対して送るために使用することができる。DMSK
A(0〜31)およびDMSKB(0〜31)は、例え
ば、DS23016の出力の選択された部分が他のマス
ク・ワード出力MSK23018によりORされ得る、
AR23020に対してDS23016の出力の選択さ
れた部分をゲートするように使用することができる。
1)は、DS23016の32ビット出力により使用可
能入力データ・マスク(DMSK)(0〜31)をAN
Dすることによって生成される。FIUC23012は
4つの異なるDMSK(0〜31)のパターンを生成す
ることができる。図231においては、FIUC201
32によって生成することができる4つのDMSK(0
〜31)が示されている。DMSKA(0〜31)は図
231の線Aに示される。DMSKA(0〜31)にお
いては、左側ビット・アドレス(LBA)により示され
るビットは含まないその左側の全てのビットと、右側ビ
ット・アドレス(RBA)により示されるビットは含ま
ないその右側の全てのビットは零となる。LBAおよび
RBAにより示されるこれらのビットは1である。DM
SKB(0〜31)は図231の線Bで示され反転した
DMSKA(0〜31)である。DMSKC(0〜3
1)およびDMSKD(0〜31)は夫々図231の線
CおよびDに示され、夫々全て0または全て1からな
る。前述の如く、DMSK(0〜31)は、DS230
16の32ビット出力でANDされ、このため、DNS
KC(0〜31)は、例えばDS23016の出力を禁
止するため使用することができるが、SMSKD(0〜
31)は、例えばDS23016の出力をAR2302
0に対して送るために使用することができる。DMSK
A(0〜31)およびDMSKB(0〜31)は、例え
ば、DS23016の出力の選択された部分が他のマス
ク・ワード出力MSK23018によりORされ得る、
AR23020に対してDS23016の出力の選択さ
れた部分をゲートするように使用することができる。
【0407】次にMWG23062について述べれば、
MWG23062はBFW(0〜31)を生成する。B
FW(0〜31)は、1ビット/バイトが1つのロジッ
クを含み残りのビットが論理値零を含む場合で1つ乃至
4つのASCIIの空バイトを含む32ビットのデータ
・ワードが生成されることを要求されるある特定の操作
において使用される。この場合、ASCIIの空のバイ
トはビット位置2,10,18および26における論理
値1を含むことができる。
MWG23062はBFW(0〜31)を生成する。B
FW(0〜31)は、1ビット/バイトが1つのロジッ
クを含み残りのビットが論理値零を含む場合で1つ乃至
4つのASCIIの空バイトを含む32ビットのデータ
・ワードが生成されることを要求されるある特定の操作
において使用される。この場合、ASCIIの空のバイ
トはビット位置2,10,18および26における論理
値1を含むことができる。
【0408】再び図231について見れば、同図の線E
はFIUC23012によって生成することができる3
2ビットの右側マスク(RMSK)(0〜31)を示し
ている。最も一般的な場合においては、RMSKはRB
Aにより示されるビット位置を含む左側の全てのビット
位置における零を含む。空白の充填操作において使用さ
れる時、ビット位置2,10,18および26は、論理
値1を含むバイト、ASCIIの空白を含むバイトの位
置に従って論理値1を含むように選定することができ、
RBAの右側のこれらのバイトはRMSK(0〜31)
によって決定される。MWG23062がFIUC23
012から与えられる空の充填(BLNKFILL)に
よって使用可能状態にされる時、RMSK(0〜31)
はMWG23062によりBWF(0〜31)として使
用可能状態にされる。
はFIUC23012によって生成することができる3
2ビットの右側マスク(RMSK)(0〜31)を示し
ている。最も一般的な場合においては、RMSKはRB
Aにより示されるビット位置を含む左側の全てのビット
位置における零を含む。空白の充填操作において使用さ
れる時、ビット位置2,10,18および26は、論理
値1を含むバイト、ASCIIの空白を含むバイトの位
置に従って論理値1を含むように選定することができ、
RBAの右側のこれらのバイトはRMSK(0〜31)
によって決定される。MWG23062がFIUC23
012から与えられる空の充填(BLNKFILL)に
よって使用可能状態にされる時、RMSK(0〜31)
はMWG23062によりBWF(0〜31)として使
用可能状態にされる。
【0409】前述の如く、MWG23058乃至230
64、特にMWG23060およびMWG23062は
NANDゲート操作である。従って、MWG23056
乃至23064の出力は活動状態のローの信号である。
ASYMR23066の反転出力は、ASYRO230
34に対する出力として使用されて、これら出力を活動
状態をハイに反転する。
64、特にMWG23060およびMWG23062は
NANDゲート操作である。従って、MWG23056
乃至23064の出力は活動状態のローの信号である。
ASYMR23066の反転出力は、ASYRO230
34に対する出力として使用されて、これら出力を活動
状態をハイに反転する。
【0410】SEW(0〜31)を生成するMWG23
058は符号拡張されあるいは充填されたワードの生成
の際に使用される。符号拡張されたワードにおいては、
32ビットのデータ・ワードの最上位ビットの左側の全
てのビット空間はこの含まれたデータの符号ビットで充
填され、32ビット・ワードの最も左側のビットは、こ
のワードの符号ビットが含まれたデータが正数および負
数のどちらであるかに従って論理値1または0で充填さ
れる。
058は符号拡張されあるいは充填されたワードの生成
の際に使用される。符号拡張されたワードにおいては、
32ビットのデータ・ワードの最上位ビットの左側の全
てのビット空間はこの含まれたデータの符号ビットで充
填され、32ビット・ワードの最も左側のビットは、こ
のワードの符号ビットが含まれたデータが正数および負
数のどちらであるかに従って論理値1または0で充填さ
れる。
【0411】符号選択マルチプレクサ(SINGSE
L)23066は、IBバス23030に存在するワー
ドの32データ・ビットを受取るように接続される。A
SYMR23066に対する符号選定(SGNSEL)
(0〜4)はSBA(0〜4)から、即ちPRMUX2
0720からのSBAバス21226から得られる。前
述の如く、SBA(0〜4)は、あるデータ・ワードの
第1の、即ち最上位ビットを識別する始動ビット・アド
レスである。データ・ワードが符号付きの数を含む時、
最上位ビットはこの数の符号ビットを含む。ASYMR
23066に対するSGNSEL(0〜4)の入力は選
択入力として使用される、またFIUC23012から
の符号拡張(SIGNEXT)によりSIGNSELが
使用可能状態にされる時、IBバス23030における
符号ビットを提供し、MWG23058に対する入力と
してこの符号ビットを提供する。
L)23066は、IBバス23030に存在するワー
ドの32データ・ビットを受取るように接続される。A
SYMR23066に対する符号選定(SGNSEL)
(0〜4)はSBA(0〜4)から、即ちPRMUX2
0720からのSBAバス21226から得られる。前
述の如く、SBA(0〜4)は、あるデータ・ワードの
第1の、即ち最上位ビットを識別する始動ビット・アド
レスである。データ・ワードが符号付きの数を含む時、
最上位ビットはこの数の符号ビットを含む。ASYMR
23066に対するSGNSEL(0〜4)の入力は選
択入力として使用される、またFIUC23012から
の符号拡張(SIGNEXT)によりSIGNSELが
使用可能状態にされる時、IBバス23030における
符号ビットを提供し、MWG23058に対する入力と
してこの符号ビットを提供する。
【0412】MWG23058に対する符号ビットは、
FIUC23012からの左側のマスク(LMSK)
(0〜31)の各ビットでANDされる。再び図231
において、LMSK(0〜31)はその線F上に示され
る。LMSK(0〜31)は、LBAにより識別される
ビット空間を含むその右側で全て0を含み、またLBA
により識別されるビット空間の左側の全てのビット空間
においては1を含む。従って、SEW(0〜31)はM
WG23058の出力に存在するデータ・ワードの最上
位ビットの左側の全てのビット空間において符号ビット
を含むことになる。IBバス23030におけるデータ
・ワードは、この時DS23016に送られ、最上位ビ
ットの左側の全てのビットが0に強制されるDMSK操
作を受けることができる。この時MWG23058とM
WG23060のSEW(0〜31)およびDMW(0
〜31)の出力がORされて所要のfind拡張ワード
出力を提供する。
FIUC23012からの左側のマスク(LMSK)
(0〜31)の各ビットでANDされる。再び図231
において、LMSK(0〜31)はその線F上に示され
る。LMSK(0〜31)は、LBAにより識別される
ビット空間を含むその右側で全て0を含み、またLBA
により識別されるビット空間の左側の全てのビット空間
においては1を含む。従って、SEW(0〜31)はM
WG23058の出力に存在するデータ・ワードの最上
位ビットの左側の全てのビット空間において符号ビット
を含むことになる。IBバス23030におけるデータ
・ワードは、この時DS23016に送られ、最上位ビ
ットの左側の全てのビットが0に強制されるDMSK操
作を受けることができる。この時MWG23058とM
WG23060のSEW(0〜31)およびDMW(0
〜31)の出力がORされて所要のfind拡張ワード
出力を提供する。
【0413】MWG23056により与えられるLBW
(0〜31)は、1つのデータ・ワードの最上位のデー
タ・ビットがMEM10112において論理値1に強制
される固定ビット操作において使用される。SIGNS
EL(0〜4)はMWG23056に対するアドレス入
力であり、また前述の如く、IBバス23030に存在
するデータ・ワードの最上位のデータ・ビットを表示す
る。MWG23056はFIUC23012からの入力
ロック(LOCK)によって使用可能状態にさせられ、
その結果のLBW(0〜31)は、IBバス23030
に存在するデータ・ワードの最上位のデータ・ビットの
ビット空間において単一の論理値1を保有することにな
る。IBバス23030に存在するデータ・ワードはこ
の時、データ・ワードの最上位のデータ・ビットが論理
値1に強制されるようにLBW(0〜31)によりOR
されるようにDS23016およびMWG23060に
送ることができる。
(0〜31)は、1つのデータ・ワードの最上位のデー
タ・ビットがMEM10112において論理値1に強制
される固定ビット操作において使用される。SIGNS
EL(0〜4)はMWG23056に対するアドレス入
力であり、また前述の如く、IBバス23030に存在
するデータ・ワードの最上位のデータ・ビットを表示す
る。MWG23056はFIUC23012からの入力
ロック(LOCK)によって使用可能状態にさせられ、
その結果のLBW(0〜31)は、IBバス23030
に存在するデータ・ワードの最上位のデータ・ビットの
ビット空間において単一の論理値1を保有することにな
る。IBバス23030に存在するデータ・ワードはこ
の時、データ・ワードの最上位のデータ・ビットが論理
値1に強制されるようにLBW(0〜31)によりOR
されるようにDS23016およびMWG23060に
送ることができる。
【0414】AR23020について述べれば、AR2
3020は、例えばSN74S175型レジスタで良
い。ASYMR23066と、組立てレジスタ・パリテ
ィ・ゼネレータ(ASYPG)23070とを含む。前
述の如く、ASYMR23066はMSK23018の
32ビット出力と接続されている。MSK23018の
出力に存在する32ビット・ワードは、ASYMR23
066がMIC20122からの組立てレジスタ・ロー
ド(ASYMLD)によって使用可能状態にさせられる
時、ASYMR23066に対して転送されることにな
る。DS23016とMSK23018を介して生成さ
れたこの32ビット・ワードはこの時ASYRO230
34に存在し、また前述の如く、次にMODバス101
44またはMIOバス10129に転送することができ
る。ASYPG23070はASYMR23066の3
2ビット出力に接続され、ASYRO23034の32
本のデータ回線にその時存在する32ビットのワードに
対して4つのパリティ・ビットを生成することになる。
ASYPG23070の4ビット・パリティ出力はAS
YRO23034の4本のパリティ・ビット回線上を運
ばれて、これに存在する32ビットのデータ・ワードを
伴う。
3020は、例えばSN74S175型レジスタで良
い。ASYMR23066と、組立てレジスタ・パリテ
ィ・ゼネレータ(ASYPG)23070とを含む。前
述の如く、ASYMR23066はMSK23018の
32ビット出力と接続されている。MSK23018の
出力に存在する32ビット・ワードは、ASYMR23
066がMIC20122からの組立てレジスタ・ロー
ド(ASYMLD)によって使用可能状態にさせられる
時、ASYMR23066に対して転送されることにな
る。DS23016とMSK23018を介して生成さ
れたこの32ビット・ワードはこの時ASYRO230
34に存在し、また前述の如く、次にMODバス101
44またはMIOバス10129に転送することができ
る。ASYPG23070はASYMR23066の3
2ビット出力に接続され、ASYRO23034の32
本のデータ回線にその時存在する32ビットのワードに
対して4つのパリティ・ビットを生成することになる。
ASYPG23070の4ビット・パリティ出力はAS
YRO23034の4本のパリティ・ビット回線上を運
ばれて、これに存在する32ビットのデータ・ワードを
伴う。
【0415】データ処理回路23010の構造および作
用について説明したが、FIUC23012について次
に説明する。
用について説明したが、FIUC23012について次
に説明する。
【0416】再び図230において、FIUC2301
2はFIU20120のパイプライン化されたマイクロ
命令制御を提供する。即ち、第1のクロック・サイクル
の間MIC20122から制御信号が受取られ制御信号
のあるものがマイクロ命令ロジックによって復号され、
更に他のFIUC23012制御信号を生成する。第2
のクロック・サイクルの間、第1のクロック・サイクル
の間受取られかつ生成される制御信号がDMC2301
0に対して与えられその内のあるものが更に復号されて
FIUC23012の作用を制御する更に他の制御信号
を提供する。
2はFIU20120のパイプライン化されたマイクロ
命令制御を提供する。即ち、第1のクロック・サイクル
の間MIC20122から制御信号が受取られ制御信号
のあるものがマイクロ命令ロジックによって復号され、
更に他のFIUC23012制御信号を生成する。第2
のクロック・サイクルの間、第1のクロック・サイクル
の間受取られかつ生成される制御信号がDMC2301
0に対して与えられその内のあるものが更に復号されて
FIUC23012の作用を制御する更に他の制御信号
を提供する。
【0417】FIUC23012は、初期復号ロジック
(IDL)23074、パイプライン・レジスタ(PP
LR)23072、最後の復号ロジック(FDL)23
076、可能信号復号ロジック(ESDL)23099
を有する可能および信号パイプライン・レジスタ(ES
PR)23098とを含んでいる。
(IDL)23074、パイプライン・レジスタ(PP
LR)23072、最後の復号ロジック(FDL)23
076、可能信号復号ロジック(ESDL)23099
を有する可能および信号パイプライン・レジスタ(ES
PR)23098とを含んでいる。
【0418】IDL23074と、PPLR23072
の制御パイプライン・レジスタ(CPR)23084と
は、前述の如く第1のクロック・サイクルの間これから
の制御信号を受取るためMIC20122の制御出力と
接続される。IDL23074は、パイプライン・レジ
スタの右側ビット・アドレス・レジスタ(RBAR)2
3086、論理ビット・アドレス・レジスタ(LBA
R)23088、PPLR23072のシフト・レジス
タ(SHFR)23090を制御する出力を生じる。C
PR23084とSHFR23090は、直接DMC2
3010に対して制御出力を与える。前述の如く、これ
らの出力は第2のクロック・サイクルの間DMC230
10を制御する。
の制御パイプライン・レジスタ(CPR)23084と
は、前述の如く第1のクロック・サイクルの間これから
の制御信号を受取るためMIC20122の制御出力と
接続される。IDL23074は、パイプライン・レジ
スタの右側ビット・アドレス・レジスタ(RBAR)2
3086、論理ビット・アドレス・レジスタ(LBA
R)23088、PPLR23072のシフト・レジス
タ(SHFR)23090を制御する出力を生じる。C
PR23084とSHFR23090は、直接DMC2
3010に対して制御出力を与える。前述の如く、これ
らの出力は第2のクロック・サイクルの間DMC230
10を制御する。
【0419】CPR23084とRBAR23086と
LBAR23088は第2のクロック・サイクルの間F
DL23076に対して出力を与え、FDL23076
は更に直接DMC23010に対していくつかの出力を
提供する。
LBAR23088は第2のクロック・サイクルの間F
DL23076に対して出力を与え、FDL23076
は更に直接DMC23010に対していくつかの出力を
提供する。
【0420】ESPR23098とESDL23099
は、MIC20122から使用可能および制御信号を受
取り、更にDMC23010およびMEM10112の
回路の他のある部分に対して使用可能および制御信号を
提供する。
は、MIC20122から使用可能および制御信号を受
取り、更にDMC23010およびMEM10112の
回路の他のある部分に対して使用可能および制御信号を
提供する。
【0421】IDL23074とFDL23076は、
例えば、PROMで良い。CPR23084、RBAR
23086、LBAR23088、SHFR2309
0、ESPR23098は、例えばSN74S194で
良い。ESDL23099は、例えば、ロジック・ゲー
トの如き適当なデコーダからなるもので良い。
例えば、PROMで良い。CPR23084、RBAR
23086、LBAR23088、SHFR2309
0、ESPR23098は、例えばSN74S194で
良い。ESDL23099は、例えば、ロジック・ゲー
トの如き適当なデコーダからなるもので良い。
【0422】最初にIDL23074について述べれ
ば、IDL23074はMIC20122からの回路制
御信号の最初の復号を実施して、FIU20120の制
御においてFIUC23012により使用される更に別
の信号を提供する。IDL23074は、読出し専用メ
モリー・アレイの右側ビット・アドレス復号ロジック
(RBADL)23078、左側ビット・アドレス復号
ロジック(LBADL)23080、変位量復号ロジッ
ク(SHFAMTDL)23082からなっている。R
BADL23078は、アドレス入力として、最終ビッ
ト・アドレス(FBA)(0〜4)、ビット長さ番号
(BLN)(0〜4)、始動ビット・アドレス(SB
A)(0〜4)を受取る。FBAと、BLNとSBAと
は、夫々、PRMUX20720に関して前に述べたよ
うに、要求されたデータ項目の最終ビット、長さおよび
始動ビットを規定する。RBADL23078はまた、
MIC20122から、また特にRM20722からチ
ップ選択可能信号、アドレス翻訳チップ選択(ATC
S)の00,01,02,03,04および15を受取
る。FIU20120がMSK23018のいくつかの
操作を実行することを要求される時、入力FBA(0〜
4)と、BLN(0〜4)とSBA(0〜4)は、AT
CSの入力と共に、MIC20122からRBADL2
3078に対して与えられる。RBADL23078は
更に、DMSK(0〜31)とRMSK(0〜31)に
関して前に述べた出力RBA(右側ビット・アドレス)
を生じる。23080はRBADL23078と類似し
MIC20122からの入力BLN(0〜4)と、FB
A(0〜4)と、SBA(0〜4)、ならびにATCS
06,07,08,09および15が与えられる。再
び、MSK23018のいくつかの操作のため、LBA
DL23080は、DMSK(0〜31)およびLMS
K(0〜31)に関して前に説明した左側ビット・アド
レス(LBA)(0〜4)を生成することになる。
ば、IDL23074はMIC20122からの回路制
御信号の最初の復号を実施して、FIU20120の制
御においてFIUC23012により使用される更に別
の信号を提供する。IDL23074は、読出し専用メ
モリー・アレイの右側ビット・アドレス復号ロジック
(RBADL)23078、左側ビット・アドレス復号
ロジック(LBADL)23080、変位量復号ロジッ
ク(SHFAMTDL)23082からなっている。R
BADL23078は、アドレス入力として、最終ビッ
ト・アドレス(FBA)(0〜4)、ビット長さ番号
(BLN)(0〜4)、始動ビット・アドレス(SB
A)(0〜4)を受取る。FBAと、BLNとSBAと
は、夫々、PRMUX20720に関して前に述べたよ
うに、要求されたデータ項目の最終ビット、長さおよび
始動ビットを規定する。RBADL23078はまた、
MIC20122から、また特にRM20722からチ
ップ選択可能信号、アドレス翻訳チップ選択(ATC
S)の00,01,02,03,04および15を受取
る。FIU20120がMSK23018のいくつかの
操作を実行することを要求される時、入力FBA(0〜
4)と、BLN(0〜4)とSBA(0〜4)は、AT
CSの入力と共に、MIC20122からRBADL2
3078に対して与えられる。RBADL23078は
更に、DMSK(0〜31)とRMSK(0〜31)に
関して前に述べた出力RBA(右側ビット・アドレス)
を生じる。23080はRBADL23078と類似し
MIC20122からの入力BLN(0〜4)と、FB
A(0〜4)と、SBA(0〜4)、ならびにATCS
06,07,08,09および15が与えられる。再
び、MSK23018のいくつかの操作のため、LBA
DL23080は、DMSK(0〜31)およびLMS
K(0〜31)に関して前に説明した左側ビット・アド
レス(LBA)(0〜4)を生成することになる。
【0423】RBA(0〜4)とLBA(0〜4)は、
夫々、MIC20122から与えられるパイプライン・
ロード使用可能信号PIPELDによって第2のクロッ
ク・サイクルの開始時にRBAR23086とLBAR
23088に対して転送される。RBAR23086と
LBAR23088は、更に夫々、第2のクロック・サ
イクルの開始時において右側マスク復号ロジック(RM
SKDL)23092と、左側マスク復号ロジック(L
MSKDL)23094とFDL23076に対するア
ドレス入力として、出力レジスタ右側アドレス(RRA
D)(0〜4)およびレジスタ左側アドレス(RLA
D)(0〜4)を与える。RRAD(0〜4)およびR
LAD(0〜4)は夫々RBA(0〜4)とLBA(0
〜4)と対応している。
夫々、MIC20122から与えられるパイプライン・
ロード使用可能信号PIPELDによって第2のクロッ
ク・サイクルの開始時にRBAR23086とLBAR
23088に対して転送される。RBAR23086と
LBAR23088は、更に夫々、第2のクロック・サ
イクルの開始時において右側マスク復号ロジック(RM
SKDL)23092と、左側マスク復号ロジック(L
MSKDL)23094とFDL23076に対するア
ドレス入力として、出力レジスタ右側アドレス(RRA
D)(0〜4)およびレジスタ左側アドレス(RLA
D)(0〜4)を与える。RRAD(0〜4)およびR
LAD(0〜4)は夫々RBA(0〜4)とLBA(0
〜4)と対応している。
【0424】RMSKDL23092とLMSKDL2
3094は、今述べた許りのように、夫々アドレス入力
としてRRAD(0〜4)とRLAD(0〜4)と、使
用可能入力としてCPR23084からのマスク使用可
能(MSKENBL)とを有するROMアレイである。
これと共に、RMSKDL23092とLMSKDL2
3094は夫々MSK23018に対するRMSK(0
〜31)とLMSK(0〜31)を生成する。RMSK
(0〜31)とLMSK(0〜31)は、排他的OR/
排他的NORゲート(XOR/XNOR)23096に
対する入力として与えられる。XOR/XNOR230
96はまた、CPR23084から使用可能兼選択信号
出力マスク(OUTMSK)を受取る。XOR/XNO
R23096に対するRMSK(0〜31)とLMSK
(0〜31)の入力は、CPR23084からのOUT
MSKにより選択されるように、図231に示される如
く、選択されたDMSK(0〜31)を生成するため使
用される。XOR/XNOR23096のDMSK(0
〜31)出力は前述の如くMSK23018に対して与
えられるのである。
3094は、今述べた許りのように、夫々アドレス入力
としてRRAD(0〜4)とRLAD(0〜4)と、使
用可能入力としてCPR23084からのマスク使用可
能(MSKENBL)とを有するROMアレイである。
これと共に、RMSKDL23092とLMSKDL2
3094は夫々MSK23018に対するRMSK(0
〜31)とLMSK(0〜31)を生成する。RMSK
(0〜31)とLMSK(0〜31)は、排他的OR/
排他的NORゲート(XOR/XNOR)23096に
対する入力として与えられる。XOR/XNOR230
96はまた、CPR23084から使用可能兼選択信号
出力マスク(OUTMSK)を受取る。XOR/XNO
R23096に対するRMSK(0〜31)とLMSK
(0〜31)の入力は、CPR23084からのOUT
MSKにより選択されるように、図231に示される如
く、選択されたDMSK(0〜31)を生成するため使
用される。XOR/XNOR23096のDMSK(0
〜31)出力は前述の如くMSK23018に対して与
えられるのである。
【0425】再びIDL23074について述べれば、
SHFAMTBL23082は、SHFR23090を
介して、夫々DS23016とSIGNSEL2306
8とMWG23056に対する制御入力SHFT(0〜
4)およびSGNSEL(0〜4)を生成するため、M
IC20122からのいくつかの制御入力を復号する。
SHFAMTBL23082を含むPROMに対するア
ドレス入力は、MIC20122からのFBA(0〜
4)と、SBA(0〜4)と、FLIPHALF(FL
IPHALF)を含む。FBA(0〜4)とSBA(0
〜4)については前に説明した。FLIPHALFは、
前述の如く、IOS10116により要求されたデータ
の16ビットが32ビット・データ・ワードの上半部に
存在して、これらの16ビットをMIOバス10129
に対するFIU20120の出力データ・ワードの下半
部に対して転送させる。MIC20122もまたチップ
使用可能信号ATCS10,11,12,13および1
4を与える。MIC20122からこれらの制御入力を
受取ると同時にSHFAMTBL23082は出力変位
量(SHFAMT)(0〜4)を生成し、この変位量は
MIC20122からSBA(0〜4)と共に、第2の
クロック・サイクルの開始時にPIPELDによってS
HFR23090に対して転送される。SHFR230
90は次に、対応する出力SHFT(0〜4)およびS
IGNSEL(0〜4)を提供する。前述の如く、SI
GNSEL(0〜4)はSIGNSEL23068とM
WG23056とMSK23018に対して与えられ
る。SHFT(0〜4)は、夫々BYNL23050
と、BSL23054とDS23016に対してSHF
T(0〜2)およびSHFT(3〜4)として与えられ
る。
SHFAMTBL23082は、SHFR23090を
介して、夫々DS23016とSIGNSEL2306
8とMWG23056に対する制御入力SHFT(0〜
4)およびSGNSEL(0〜4)を生成するため、M
IC20122からのいくつかの制御入力を復号する。
SHFAMTBL23082を含むPROMに対するア
ドレス入力は、MIC20122からのFBA(0〜
4)と、SBA(0〜4)と、FLIPHALF(FL
IPHALF)を含む。FBA(0〜4)とSBA(0
〜4)については前に説明した。FLIPHALFは、
前述の如く、IOS10116により要求されたデータ
の16ビットが32ビット・データ・ワードの上半部に
存在して、これらの16ビットをMIOバス10129
に対するFIU20120の出力データ・ワードの下半
部に対して転送させる。MIC20122もまたチップ
使用可能信号ATCS10,11,12,13および1
4を与える。MIC20122からこれらの制御入力を
受取ると同時にSHFAMTBL23082は出力変位
量(SHFAMT)(0〜4)を生成し、この変位量は
MIC20122からSBA(0〜4)と共に、第2の
クロック・サイクルの開始時にPIPELDによってS
HFR23090に対して転送される。SHFR230
90は次に、対応する出力SHFT(0〜4)およびS
IGNSEL(0〜4)を提供する。前述の如く、SI
GNSEL(0〜4)はSIGNSEL23068とM
WG23056とMSK23018に対して与えられ
る。SHFT(0〜4)は、夫々BYNL23050
と、BSL23054とDS23016に対してSHF
T(0〜2)およびSHFT(3〜4)として与えられ
る。
【0426】CPR23084について述べれば、前述
の如くいくつかの制御信号がIDL23074またはF
DL23076により復号されることなくFIU201
20の回路に対して直接与えられる。CPR23084
に対する入力は、夫々FIU20120がMWG230
58を介して符号拡張操作を、あるいはMWG2305
6を介して固定ビット・ワード操作を行なうことを表示
する符号拡張信号(SIGNEXT)および固定信号
(LOCK)を含む。CPR23084は、これらの操
作を選択するため対応する出力SIGNEXTおよびL
OCKを与える。入力組立て出力レジスタ(ASYMO
R)と空白バイト充填(BLANKFILL)は、マス
クとしてASYMR23066の出力を選択するため、
あるいはMSK23018がMWG23062を介して
空白で充填されたワードを生成すべきことを表示するた
め、夫々23064およびMWG23062に対してA
SYMORおよびBLANKFILLとしてCPR23
084を介して送られる。CPR23084に対する入
力OUTMSKおよびMSKENBLは、前述の如くX
OR/XNOR23096とRMSKDL23092と
LMSKDL23094に対する使用可能信号OUTM
SKおよびMSKENBLとして与えられ、また前述の
如くRMSK(0〜31)およびDMSK(0〜31)
を生成する。
の如くいくつかの制御信号がIDL23074またはF
DL23076により復号されることなくFIU201
20の回路に対して直接与えられる。CPR23084
に対する入力は、夫々FIU20120がMWG230
58を介して符号拡張操作を、あるいはMWG2305
6を介して固定ビット・ワード操作を行なうことを表示
する符号拡張信号(SIGNEXT)および固定信号
(LOCK)を含む。CPR23084は、これらの操
作を選択するため対応する出力SIGNEXTおよびL
OCKを与える。入力組立て出力レジスタ(ASYMO
R)と空白バイト充填(BLANKFILL)は、マス
クとしてASYMR23066の出力を選択するため、
あるいはMSK23018がMWG23062を介して
空白で充填されたワードを生成すべきことを表示するた
め、夫々23064およびMWG23062に対してA
SYMORおよびBLANKFILLとしてCPR23
084を介して送られる。CPR23084に対する入
力OUTMSKおよびMSKENBLは、前述の如くX
OR/XNOR23096とRMSKDL23092と
LMSKDL23094に対する使用可能信号OUTM
SKおよびMSKENBLとして与えられ、また前述の
如くRMSK(0〜31)およびDMSK(0〜31)
を生成する。
【0427】最後にESPR23098とESDL23
099について述べれば、ESPR23098とPPL
R23072は共に、FIU20120と他のMEM1
0112の回路に対して使用可能信号を与えるためのパ
イプライン・レジスタとESDL23099の復号ロジ
ックを構成する。ESPR23098は、前述の如く、
MIC20122から入力、駆動MODバス(DRVM
OD)(0〜1)と、駆動MIOバス(DRVMID)
(0〜1)と、使用可能レジスタ(ENREG)(0〜
1)を受取る。DRVMOD(0〜1)、DRVMID
(0〜1)、ENREG(0〜1)は、PPLR230
72に関して前に述べたように、PIPELDによりE
SPR23098に対して転送される。ESPR230
98はESDL23099に対して対応する出力を与
え、これは更にDRVMOD(0〜1)と、DRVMI
O(0〜1)と、ENREG(0〜1)を復号して、F
IU20120と他のMEM10112の回路に対して
使用可能信号を与える。出力DRVSHFMOD,DR
VASYMOD,DRVSHFMIO,DRVASYN
IOがDSMOD23036、DSMIO23038、
ASYMOD23040、ASYMIO23042、F
IUIO23014に対して与えられて、MODバス1
0144とMIOバス10129に対するFIU201
20が処理したデータ・ワードの転送を制御する。出力
IARMEO,JWDEO,IWDEOおよびRIDE
OはIARMR23044とJWDR23022とIW
DR23024とRIDR23026に対して出力使用
可能信号として与えられて、これらレジスタの内容を前
述の如くIBバス23030に対して転送する。出力D
RVCAMODと、DRVAMIOと、DRVBYMO
Dと、DRVBYMIOとは、MODバス10144と
MIOバス10129に対する情報の転送を説明する際
に使用するためMC20116に対して与えられる。
099について述べれば、ESPR23098とPPL
R23072は共に、FIU20120と他のMEM1
0112の回路に対して使用可能信号を与えるためのパ
イプライン・レジスタとESDL23099の復号ロジ
ックを構成する。ESPR23098は、前述の如く、
MIC20122から入力、駆動MODバス(DRVM
OD)(0〜1)と、駆動MIOバス(DRVMID)
(0〜1)と、使用可能レジスタ(ENREG)(0〜
1)を受取る。DRVMOD(0〜1)、DRVMID
(0〜1)、ENREG(0〜1)は、PPLR230
72に関して前に述べたように、PIPELDによりE
SPR23098に対して転送される。ESPR230
98はESDL23099に対して対応する出力を与
え、これは更にDRVMOD(0〜1)と、DRVMI
O(0〜1)と、ENREG(0〜1)を復号して、F
IU20120と他のMEM10112の回路に対して
使用可能信号を与える。出力DRVSHFMOD,DR
VASYMOD,DRVSHFMIO,DRVASYN
IOがDSMOD23036、DSMIO23038、
ASYMOD23040、ASYMIO23042、F
IUIO23014に対して与えられて、MODバス1
0144とMIOバス10129に対するFIU201
20が処理したデータ・ワードの転送を制御する。出力
IARMEO,JWDEO,IWDEOおよびRIDE
OはIARMR23044とJWDR23022とIW
DR23024とRIDR23026に対して出力使用
可能信号として与えられて、これらレジスタの内容を前
述の如くIBバス23030に対して転送する。出力D
RVCAMODと、DRVAMIOと、DRVBYMO
Dと、DRVBYMIOとは、MODバス10144と
MIOバス10129に対する情報の転送を説明する際
に使用するためMC20116に対して与えられる。
【0428】前述のMEM10112の構造および作用
について説明したが、FU10120の構造および作用
について次に説明しよう。
について説明したが、FU10120の構造および作用
について次に説明しよう。
【0429】B.取出し装置10120(図202,図
206,図101,図103,図104および図23
8) 前述の如く、FU10120は、EU10122と共
に、ユーザ・プログラムの実行のためのCS10110
のマイクロ機械を構成する独立的に作用するマイクロコ
ードで制御される機械である。FU10120の主な機
能には下記のものが含まれる。即ち、(1)取出しおよ
び割込み命令、即ちSOPと名前とからなるSIN、お
よびFU10120およびEU10122により使用さ
れるためのMEM10112からのデータの取出しおよ
び割込み、(2)ユーザ・プログラムの流れおよび実行
の構成および制御、(3)EU10122の諸操作の初
期化、(4)データに関する演算および論理操作の実
施、(5)FU10120およびEU10122からM
EM10112に対するデータの定義域の制御、および
(6)あるスタック・レジスタ機構の保守である。これ
らのスタックおよびレジスタ機構には、名前カッシェ装
置(NC)10226と、アドレス翻訳カッシェ装置
(ATC)10228と、機密保護カッシェ装置(P
C)10234と、アーキテクチャ基底レジスタ(AB
R)10364と、マイクロ制御レジスタ(mCR)1
0366と、マイクロスタック(MIS)10368
と、汎用レジスタファイル(GRF)10354のモニ
ター・スタック(MOS)10370と、マイクロ・ス
タック・ポインタ・レジスタ機構(MISPR)103
56と、戻し制御ワード・スタック(RCWS)103
58が含まれる。これらのFU10120に駐在するス
タックおよびレジスタ機構の保守を行なうことに加え
て、FU10120は全体的あるいは部分的にMEM1
0112に駐在するあるデータ構造を生成してこれを保
守する。これらのMEM10112駐在データ構造にお
いては、メモリー・ハッシュ・テーブル(MHT)10
716およびメモリー・フレーム・テーブル(MFT)
10718と、作業設定マトリックス(WSM)107
210と、仮想メモリー管理要求キュー(VMMRQ)
10721と、活動状態のオブジェクトテーブル(AO
T)10712と、活動状態主題テーブル(AST)1
0914と、仮想プロセッサ状態ブロック(VPSB)
10218とが含まれる。更に、FU10120の主な
機能は、前述の如く、CS10110の内部アドレス指
定構造の基礎である論理記述子の生成および操作であ
る。以下に更に説明するように、FU10120の内部
構造および作用はFU10120が算術演算および論理
演算を実行することを可能にし、FU10120の構造
は論理記述子の生成および処理を容易にするいくつかの
特徴を含む。
206,図101,図103,図104および図23
8) 前述の如く、FU10120は、EU10122と共
に、ユーザ・プログラムの実行のためのCS10110
のマイクロ機械を構成する独立的に作用するマイクロコ
ードで制御される機械である。FU10120の主な機
能には下記のものが含まれる。即ち、(1)取出しおよ
び割込み命令、即ちSOPと名前とからなるSIN、お
よびFU10120およびEU10122により使用さ
れるためのMEM10112からのデータの取出しおよ
び割込み、(2)ユーザ・プログラムの流れおよび実行
の構成および制御、(3)EU10122の諸操作の初
期化、(4)データに関する演算および論理操作の実
施、(5)FU10120およびEU10122からM
EM10112に対するデータの定義域の制御、および
(6)あるスタック・レジスタ機構の保守である。これ
らのスタックおよびレジスタ機構には、名前カッシェ装
置(NC)10226と、アドレス翻訳カッシェ装置
(ATC)10228と、機密保護カッシェ装置(P
C)10234と、アーキテクチャ基底レジスタ(AB
R)10364と、マイクロ制御レジスタ(mCR)1
0366と、マイクロスタック(MIS)10368
と、汎用レジスタファイル(GRF)10354のモニ
ター・スタック(MOS)10370と、マイクロ・ス
タック・ポインタ・レジスタ機構(MISPR)103
56と、戻し制御ワード・スタック(RCWS)103
58が含まれる。これらのFU10120に駐在するス
タックおよびレジスタ機構の保守を行なうことに加え
て、FU10120は全体的あるいは部分的にMEM1
0112に駐在するあるデータ構造を生成してこれを保
守する。これらのMEM10112駐在データ構造にお
いては、メモリー・ハッシュ・テーブル(MHT)10
716およびメモリー・フレーム・テーブル(MFT)
10718と、作業設定マトリックス(WSM)107
210と、仮想メモリー管理要求キュー(VMMRQ)
10721と、活動状態のオブジェクトテーブル(AO
T)10712と、活動状態主題テーブル(AST)1
0914と、仮想プロセッサ状態ブロック(VPSB)
10218とが含まれる。更に、FU10120の主な
機能は、前述の如く、CS10110の内部アドレス指
定構造の基礎である論理記述子の生成および操作であ
る。以下に更に説明するように、FU10120の内部
構造および作用はFU10120が算術演算および論理
演算を実行することを可能にし、FU10120の構造
は論理記述子の生成および処理を容易にするいくつかの
特徴を含む。
【0430】図202においては、FU10120の部
分ブロック図が示される。説明を明瞭にするため、FU
10120内部、およびFU10120とEU1012
2とMEM10112間のある相互の関係については回
線の接続によっては示されないが、以下に更に説明する
ように、他の方法で、例えば共通の信号名等によって示
される。FU10120の主な機能素子は、記述子プロ
セッサ(DESP)20210と、MEM10112の
インターフェース・ロジック(MEMINT)2021
2と、取出し装置制御ロジック(FUCTL)2021
4とを含む。DSP20210は一般に、前述の如く、
MEM10112およびFU10120に駐在するスタ
ック機構およびカッシェに対するエントリを生成しかつ
これを保守するため、また特に論理的記述子の生成およ
び操作のための演算論理装置である。更に、前述の如
く、DSP20210はある算術演算および論理機能を
実施することが可能な汎用中央処理装置(CPU)であ
る。
分ブロック図が示される。説明を明瞭にするため、FU
10120内部、およびFU10120とEU1012
2とMEM10112間のある相互の関係については回
線の接続によっては示されないが、以下に更に説明する
ように、他の方法で、例えば共通の信号名等によって示
される。FU10120の主な機能素子は、記述子プロ
セッサ(DESP)20210と、MEM10112の
インターフェース・ロジック(MEMINT)2021
2と、取出し装置制御ロジック(FUCTL)2021
4とを含む。DSP20210は一般に、前述の如く、
MEM10112およびFU10120に駐在するスタ
ック機構およびカッシェに対するエントリを生成しかつ
これを保守するため、また特に論理的記述子の生成およ
び操作のための演算論理装置である。更に、前述の如
く、DSP20210はある算術演算および論理機能を
実施することが可能な汎用中央処理装置(CPU)であ
る。
【0431】DSP20210は、AONプロセッサ2
0216と、オフセット・プロセッサ(OFFP)20
218と長さプロセッサ(LENP)20220とを含
んでいる。OFFP20218は、論理記述子のオフセ
ット・フィールドの生成および操作を最適化する別の構
造を有する汎用オブジェクトの32ビットCPUであ
る。AONP20216とLENP20220は、夫々
論理記述子のAONおよび長さフィールドの生成および
操作のためのプロセッサを含み、またある算術および論
理演算の実行のためOFFP20218と関連して使用
することができる。DSP20210はGRF1035
4を含み、GRF10354は更に大域レジスタ(G
R)10360とスタック・レジスタ(SR)1036
2を含む。前述の如く、GR10360はABR103
64とmCR10366とを含み、SR10362はM
IS10368とMOS10370を含む。
0216と、オフセット・プロセッサ(OFFP)20
218と長さプロセッサ(LENP)20220とを含
んでいる。OFFP20218は、論理記述子のオフセ
ット・フィールドの生成および操作を最適化する別の構
造を有する汎用オブジェクトの32ビットCPUであ
る。AONP20216とLENP20220は、夫々
論理記述子のAONおよび長さフィールドの生成および
操作のためのプロセッサを含み、またある算術および論
理演算の実行のためOFFP20218と関連して使用
することができる。DSP20210はGRF1035
4を含み、GRF10354は更に大域レジスタ(G
R)10360とスタック・レジスタ(SR)1036
2を含む。前述の如く、GR10360はABR103
64とmCR10366とを含み、SR10362はM
IS10368とMOS10370を含む。
【0432】MEMINT20212は、MEM101
12に関するSINおよびデータの読出しおよび書込み
を行なうためMEM10112に対して物理的記述子
(物理的アドレス)を提供するためMEM10112に
対するFU10120のインターフェースを構成する。
MEMINT20212は、他の論理回路と共に、MC
10226とATC10228とPC10234を含
む。
12に関するSINおよびデータの読出しおよび書込み
を行なうためMEM10112に対して物理的記述子
(物理的アドレス)を提供するためMEM10112に
対するFU10120のインターフェースを構成する。
MEMINT20212は、他の論理回路と共に、MC
10226とATC10228とPC10234を含
む。
【0433】FUCTL20214はMEM10112
からのSINおよびデータの取出しを制御し、またSO
Pに応答してFU10120およびEU10122の制
御のための一連のマイクロ命令を提供する。FUCTL
20214は、対応するデータのMEM10112から
の以降の取出しのため、MC10226に対する名前入
力を与える。FUCTL20214は、部分的に、MI
SPR10356、#RCWS10358、取出し装置
Sインタプリタ・タスク指名テーブル(FUSDT)1
1010、取出し装置Sインタプリタ・テーブル(FU
SITT)11012を含む。
からのSINおよびデータの取出しを制御し、またSO
Pに応答してFU10120およびEU10122の制
御のための一連のマイクロ命令を提供する。FUCTL
20214は、対応するデータのMEM10112から
の以降の取出しのため、MC10226に対する名前入
力を与える。FUCTL20214は、部分的に、MI
SPR10356、#RCWS10358、取出し装置
Sインタプリタ・タスク指名テーブル(FUSDT)1
1010、取出し装置Sインタプリタ・テーブル(FU
SITT)11012を含む。
【0434】特に本文の第1章における前の説明に関し
てFU10120の全体的な構造について説明したがD
SP20210、MEMINT20212およびFUC
TL20214について更に詳細に以下においてこの順
序で説明する。
てFU10120の全体的な構造について説明したがD
SP20210、MEMINT20212およびFUC
TL20214について更に詳細に以下においてこの順
序で説明する。
【0435】1.記述子プロセッサ20210(図20
1,図101,図103,図104,図238,図23
9) 前述の如く、DSP20210はデータについての全て
の通常の算術および論理演算を実施するための32ビッ
トのCPUである。更に、DSP20210の主な機能
は、例えばNT10350、ATC10228およびP
C10234に対するエントリの生成および処理、およ
び論理記述子の生成および処理である。前述の如く、C
S10110のアドレス指定構造に関しては、論理技術
子はMEM10112に記憶されたデータに対する論理
アドレスまたはポインタである。論理記述子は、例えば
図103に示すようにABR10364およびmCR1
0366におけるアーキテクチャ基底ポインタおよびマ
イクロ制御ポインタとして、あるいは図104に示すよ
うに手順フレーム10412のリンクおよび局所ポイン
タとして使用される。更に別の事例においては、DSP
20210により生成されまたあるオペランド名と対応
する論理記述子はMC10226に記憶され、ここでこ
れら記述子はMEM10112から取出されたSINに
現われる名前によって後でアクセスされて、オペランド
名と対応する論理記述子との間に迅速な翻訳を行なう。
1,図101,図103,図104,図238,図23
9) 前述の如く、DSP20210はデータについての全て
の通常の算術および論理演算を実施するための32ビッ
トのCPUである。更に、DSP20210の主な機能
は、例えばNT10350、ATC10228およびP
C10234に対するエントリの生成および処理、およ
び論理記述子の生成および処理である。前述の如く、C
S10110のアドレス指定構造に関しては、論理技術
子はMEM10112に記憶されたデータに対する論理
アドレスまたはポインタである。論理記述子は、例えば
図103に示すようにABR10364およびmCR1
0366におけるアーキテクチャ基底ポインタおよびマ
イクロ制御ポインタとして、あるいは図104に示すよ
うに手順フレーム10412のリンクおよび局所ポイン
タとして使用される。更に別の事例においては、DSP
20210により生成されまたあるオペランド名と対応
する論理記述子はMC10226に記憶され、ここでこ
れら記述子はMEM10112から取出されたSINに
現われる名前によって後でアクセスされて、オペランド
名と対応する論理記述子との間に迅速な翻訳を行なう。
【0436】CS10110のアドレス指定構造に関し
て前に述べたように、DSP20210またはMC10
226からATC10228に対して与えられた論理記
述子はATC10228によってMEM10112に記
憶された対応するデータの実際の物理的アドレスである
物理的記述子に翻訳される。このデータは後でJP10
114に対して、特にFU10120またはEU101
22に対しMODバス10144を介して与えられる。
て前に述べたように、DSP20210またはMC10
226からATC10228に対して与えられた論理記
述子はATC10228によってMEM10112に記
憶された対応するデータの実際の物理的アドレスである
物理的記述子に翻訳される。このデータは後でJP10
114に対して、特にFU10120またはEU101
22に対しMODバス10144を介して与えられる。
【0437】MEM10112に関して前に述べたよう
に、MEM10112からJP10114に対して読込
まれる各データは、32ビットまでの情報を保有するこ
とができる。もし論理記述子により照合されるある特定
のデータ項目が32ビット以上のデータを保有するなら
ば、DSP20210は以下に述べるように、全データ
項目がMEM10112から読出されるまでその各々が
32ビット以下の情報を照合する連続する論理記述子を
生成することになる。この点に関して、MC10226
は長さが255ビット以下のデータ項目に対してのみ論
理記述子を保有し得る。長さが32ビットより大きなデ
ータ項目に対するMEM10112への全ての要求はD
SP20210によって生成される。しかし、CS10
110によって生成されるデータ項目のほとんどは、M
C10226がほとんどのオペランド名を論理記述子の
翻訳に対して取扱うことができるように長さが32ビッ
ト以下となる。
に、MEM10112からJP10114に対して読込
まれる各データは、32ビットまでの情報を保有するこ
とができる。もし論理記述子により照合されるある特定
のデータ項目が32ビット以上のデータを保有するなら
ば、DSP20210は以下に述べるように、全データ
項目がMEM10112から読出されるまでその各々が
32ビット以下の情報を照合する連続する論理記述子を
生成することになる。この点に関して、MC10226
は長さが255ビット以下のデータ項目に対してのみ論
理記述子を保有し得る。長さが32ビットより大きなデ
ータ項目に対するMEM10112への全ての要求はD
SP20210によって生成される。しかし、CS10
110によって生成されるデータ項目のほとんどは、M
C10226がほとんどのオペランド名を論理記述子の
翻訳に対して取扱うことができるように長さが32ビッ
ト以下となる。
【0438】前述の如く、DSP20210はAONP
20216、OFFP20218、LENP20220
を含んでいる。OFFP20218は、前述の如く、テ
ーブルおよびカッシェのエントリの生成および処理のた
め、またAONポインタおよび論理記述子のオフセット
・フィールドの生成および処理のための別の論理回路を
有する汎用32ビットのCPUを構成する。AONP2
0216とLENP20220とは、夫々AONポイン
タおよび論理記述子のAONおよび長さのフィールドを
生成しかつこれを処理するための論理回路を有する。図
202に示すようにCRF10354は垂直方向に3つ
の部分に分割されている。第1の部分はAONP202
16に存在しまたランダム・データに加えて、論理記述
子のAONフィールドを保有する。第2と第3の部分は
夫々OFFP20218およびLENP20220にお
いて存在し、またランダム・データに加えて夫々論理記
述子のオフセットおよび長さフィールドを保有する。夫
々AONP20216、OFFP20218およびLE
NP20220に駐在するGRF10354のAON、
オフセットおよび長さの各部は夫々AONGRF,OF
FGRFおよびLENGRFと呼ばれる。GRF103
54のAONGRF部分は28ビットの幅を有するが、
GRF10354のOFFGRFおよびLENGRF部
分は幅が32ビットである。垂直方向へ3つの部分に分
割されるものとして示されるが、GRF10354は一
体構造でアドレス指定され作用する。即ち、GRF10
354に対して与えられる特定のアドレスは、AONP
20216とOFFP20218とLENP20220
に存在するGRF10354の3つの部分の各々の対応
する水平方向のセグメントをアドレス指定する。
20216、OFFP20218、LENP20220
を含んでいる。OFFP20218は、前述の如く、テ
ーブルおよびカッシェのエントリの生成および処理のた
め、またAONポインタおよび論理記述子のオフセット
・フィールドの生成および処理のための別の論理回路を
有する汎用32ビットのCPUを構成する。AONP2
0216とLENP20220とは、夫々AONポイン
タおよび論理記述子のAONおよび長さのフィールドを
生成しかつこれを処理するための論理回路を有する。図
202に示すようにCRF10354は垂直方向に3つ
の部分に分割されている。第1の部分はAONP202
16に存在しまたランダム・データに加えて、論理記述
子のAONフィールドを保有する。第2と第3の部分は
夫々OFFP20218およびLENP20220にお
いて存在し、またランダム・データに加えて夫々論理記
述子のオフセットおよび長さフィールドを保有する。夫
々AONP20216、OFFP20218およびLE
NP20220に駐在するGRF10354のAON、
オフセットおよび長さの各部は夫々AONGRF,OF
FGRFおよびLENGRFと呼ばれる。GRF103
54のAONGRF部分は28ビットの幅を有するが、
GRF10354のOFFGRFおよびLENGRF部
分は幅が32ビットである。垂直方向へ3つの部分に分
割されるものとして示されるが、GRF10354は一
体構造でアドレス指定され作用する。即ち、GRF10
354に対して与えられる特定のアドレスは、AONP
20216とOFFP20218とLENP20220
に存在するGRF10354の3つの部分の各々の対応
する水平方向のセグメントをアドレス指定する。
【0439】a.オフセット・プロセッサ20218の
構造 最初にOFFP20218について述べれば、32ビッ
トのCPUであること、およびAONポインタおよび論
理記述子のテーブルおよびカッシェのエントリならびに
オフセット・フィールドの生成および処理に加えて、O
FFP20218はMEM10112からデータを受取
りかつこれを転送するためのDSP20210の主な経
路である。OFFP20218は、オフセット・入力選
択マルチプレクサ(OFFSEL)20238と、OF
FGRF20234とオフセット・マルチプレクサ・ロ
ジック(OFFMUX)20240と、オフセットAL
U(OFFALU)20242と、オフセットALUの
A入力マルチプレクサ(OFFALUSA)20244
とを含む。
構造 最初にOFFP20218について述べれば、32ビッ
トのCPUであること、およびAONポインタおよび論
理記述子のテーブルおよびカッシェのエントリならびに
オフセット・フィールドの生成および処理に加えて、O
FFP20218はMEM10112からデータを受取
りかつこれを転送するためのDSP20210の主な経
路である。OFFP20218は、オフセット・入力選
択マルチプレクサ(OFFSEL)20238と、OF
FGRF20234とオフセット・マルチプレクサ・ロ
ジック(OFFMUX)20240と、オフセットAL
U(OFFALU)20242と、オフセットALUの
A入力マルチプレクサ(OFFALUSA)20244
とを含む。
【0440】OFFSEL20238は第1と第2の3
2ビットのデータ入力を夫々MODバス10144とJ
PDバス10142と接続させている。OFFSEL2
0238は、OFFALU20242の第1の出力と接
続された第3の32ビットのデータ入力と、AONGR
F20232の第1の出力と接続された第4の28ビッ
トのデータ入力と、OFFSET20228と接続され
た第5の32ビットデータ入力を有する。OFFSEL
20238は、OFFGRF20234の入力側とされ
た第1の32ビットの出力と、OFFMUX20240
の第1の入力と接続された第2の32ビットの出力とを
有する。OFFMUX20240は、夫々MODバス1
0144とJPDバス10142とに接続された第2と
第3の32ビットのデータ入力を有する。OFFMUX
20240はまた、以下に更に述べるバイアス・ロジッ
ク(BIAS)20246とLENP20220とに接
続された第4の5ビット・データ入力と、名前バス20
224に接続された第5の16ビットのデータ入力とを
有する。OFFGRF20234の32ビットのデータ
出力と、OFFMVX20240の第1の32ビットの
データ出力は、夫々OFFALUSA20244の第1
と第2のデータ入力と接続されている。OFFALUS
A20244の第1の32ビットのデータ出力と、OF
FMUX20240の第2の32ビットのデータ出力と
は、夫々OFFALU20242の第1と第2のデータ
入力に対して接続されている。OFFALUSA202
44の第2の32ビットのデータ出力はOFFSET2
0228と接続されている。OFFALU20242の
第1の32ビットのデータ出力はJPDバス10142
と、AON入力の選択マルチプレクサ(AONSEL)
20248およびAONP20216の第1の入力と、
前記の如くOFFSEL20238の第3の入力とに接
続されている。OFFALU20242の第2の32ビ
ットのデータ出力はOFFSET20228と接続さ
れ、第3の16ビットの出力は名前バス20224と接
続されている。
2ビットのデータ入力を夫々MODバス10144とJ
PDバス10142と接続させている。OFFSEL2
0238は、OFFALU20242の第1の出力と接
続された第3の32ビットのデータ入力と、AONGR
F20232の第1の出力と接続された第4の28ビッ
トのデータ入力と、OFFSET20228と接続され
た第5の32ビットデータ入力を有する。OFFSEL
20238は、OFFGRF20234の入力側とされ
た第1の32ビットの出力と、OFFMUX20240
の第1の入力と接続された第2の32ビットの出力とを
有する。OFFMUX20240は、夫々MODバス1
0144とJPDバス10142とに接続された第2と
第3の32ビットのデータ入力を有する。OFFMUX
20240はまた、以下に更に述べるバイアス・ロジッ
ク(BIAS)20246とLENP20220とに接
続された第4の5ビット・データ入力と、名前バス20
224に接続された第5の16ビットのデータ入力とを
有する。OFFGRF20234の32ビットのデータ
出力と、OFFMVX20240の第1の32ビットの
データ出力は、夫々OFFALUSA20244の第1
と第2のデータ入力と接続されている。OFFALUS
A20244の第1の32ビットのデータ出力と、OF
FMUX20240の第2の32ビットのデータ出力と
は、夫々OFFALU20242の第1と第2のデータ
入力に対して接続されている。OFFALUSA202
44の第2の32ビットのデータ出力はOFFSET2
0228と接続されている。OFFALU20242の
第1の32ビットのデータ出力はJPDバス10142
と、AON入力の選択マルチプレクサ(AONSEL)
20248およびAONP20216の第1の入力と、
前記の如くOFFSEL20238の第3の入力とに接
続されている。OFFALU20242の第2の32ビ
ットのデータ出力はOFFSET20228と接続さ
れ、第3の16ビットの出力は名前バス20224と接
続されている。
【0441】b.AONプロセッサ20216の構造 AONP20216について述べれば、AONP202
16の主な機能は、AONポインタと論理記述子のAO
Nフィールドを保有する機能である。加えて、AONポ
インタおよび論理記述子により占められることのないA
ONGRF20232の各部はJP10114によって
28ビット幅の汎用レジスタ領域として使用することが
できる。AONGRF20232のこれら各部は、それ
独自に、あるいはOFFGRF20234およびLEN
GRF20236の対応する各部と関連してこのように
使用することができる。AONP20216はAONS
EL20248およびAONGRF20232を含む。
前述の如く、第1の32ビットのデータ入力は、OFF
ALU20242の第1のデータ出力と接続される。A
ONSEL20248の第2の28ビットのデータ入力
はAONGRF20232の28ビット出力およびAO
Nバス20230と接続されている。AONSEL20
248の第3の28ビットのデータ入力は論理値零、即
ち各入力ビットが論理値零に設定される28ビットの入
力側と接続されている。AONSEL20248の28
ビットのデータ出力はAONGRF20232のデータ
入力と接続される。前述の如く、AONGRF2023
2の28ビットのデータ出力はAONSEL20248
の第2のデータ入力と接続され、AONバス20230
と接続される。
16の主な機能は、AONポインタと論理記述子のAO
Nフィールドを保有する機能である。加えて、AONポ
インタおよび論理記述子により占められることのないA
ONGRF20232の各部はJP10114によって
28ビット幅の汎用レジスタ領域として使用することが
できる。AONGRF20232のこれら各部は、それ
独自に、あるいはOFFGRF20234およびLEN
GRF20236の対応する各部と関連してこのように
使用することができる。AONP20216はAONS
EL20248およびAONGRF20232を含む。
前述の如く、第1の32ビットのデータ入力は、OFF
ALU20242の第1のデータ出力と接続される。A
ONSEL20248の第2の28ビットのデータ入力
はAONGRF20232の28ビット出力およびAO
Nバス20230と接続されている。AONSEL20
248の第3の28ビットのデータ入力は論理値零、即
ち各入力ビットが論理値零に設定される28ビットの入
力側と接続されている。AONSEL20248の28
ビットのデータ出力はAONGRF20232のデータ
入力と接続される。前述の如く、AONGRF2023
2の28ビットのデータ出力はAONSEL20248
の第2のデータ入力と接続され、AONバス20230
と接続される。
【0442】c.長さプロセッサ20220の構造 最後にLENP20220について述べれば、LENP
20220の主な機能はAONポインタおよび物理的記
述子の長さフィールドの生成操作である。更に、LEN
GRF20236は、部分的に、データの記憶のための
汎用レジスタとしてそれ単独に、あるいはAONGRF
20232とOFFGRF20234の対応するアドレ
ス空間と関連して使用することができる。LENP20
220は長さ入力選択マルチプレクサ(LENSEL)
20250、LENGRF20236、BIAS202
46、長さALU(LENALU)20252を含む。
LENSEL20250は夫々LENGTHバス202
26とOFFSET20228とに接続された第1と第
2のデータ入力を有する。LENGTHバス20226
は零充填された8つのデータ・ビットであり、OFFS
ET20228は32ビットのデータ・ビットである。
LENSEL20250はLENALU20252のデ
ータ出力と接続された第3の32ビットのデータ入力を
有する。LENSEL20250の32ビットのデータ
出力はLENGRF20236のデータ入力およびBI
AS20246の第1のデータ入力とに接続されてい
る。BIAS20246の第2と第3の32ビットのデ
ータ入力は、以下に更に選択するように、夫々FUSI
TT11012の定数(C)およびリテラル(L)と接
続される。LENGRF20236の32ビットのデー
タ出力は、JPDバス10142と、NC10226の
回転長さ入力(WL)入力と、LENALU20252
の第1の入力とに接続される。BIAS20246の5
ビット出力は、LENALU20252の第2の入力
と、LENGTHバス20226と、前述の如くOFF
MUX20240の第4の入力とに接続される。LEN
ALU20252の32ビットの出力は、前述の如く、
LENSEL20250の第3の入力に接続される。
20220の主な機能はAONポインタおよび物理的記
述子の長さフィールドの生成操作である。更に、LEN
GRF20236は、部分的に、データの記憶のための
汎用レジスタとしてそれ単独に、あるいはAONGRF
20232とOFFGRF20234の対応するアドレ
ス空間と関連して使用することができる。LENP20
220は長さ入力選択マルチプレクサ(LENSEL)
20250、LENGRF20236、BIAS202
46、長さALU(LENALU)20252を含む。
LENSEL20250は夫々LENGTHバス202
26とOFFSET20228とに接続された第1と第
2のデータ入力を有する。LENGTHバス20226
は零充填された8つのデータ・ビットであり、OFFS
ET20228は32ビットのデータ・ビットである。
LENSEL20250はLENALU20252のデ
ータ出力と接続された第3の32ビットのデータ入力を
有する。LENSEL20250の32ビットのデータ
出力はLENGRF20236のデータ入力およびBI
AS20246の第1のデータ入力とに接続されてい
る。BIAS20246の第2と第3の32ビットのデ
ータ入力は、以下に更に選択するように、夫々FUSI
TT11012の定数(C)およびリテラル(L)と接
続される。LENGRF20236の32ビットのデー
タ出力は、JPDバス10142と、NC10226の
回転長さ入力(WL)入力と、LENALU20252
の第1の入力とに接続される。BIAS20246の5
ビット出力は、LENALU20252の第2の入力
と、LENGTHバス20226と、前述の如くOFF
MUX20240の第4の入力とに接続される。LEN
ALU20252の32ビットの出力は、前述の如く、
LENSEL20250の第3の入力に接続される。
【0443】DSP20210の全体的な作用および構
造について説明したが、次にDSP20210の作用に
ついて更に詳細に説明する。
造について説明したが、次にDSP20210の作用に
ついて更に詳細に説明する。
【0444】d.記述子プロセッサ20210の作用 a.a.オフセット・セレクタ20238 OFFP20218について述べれば、GRF1035
4はGR10360とSR10362を含む。GR10
360は更に、ABR10364と、mCR10366
と、1組の汎用レジスタとを含んでいる。SR1036
2はMIS10368とMOS10370を含んでい
る。GRF10354は垂直方向に3つの部分に分割さ
れている。AONGRF20232は28ビットの幅を
有してAONP20216に駐在し、GRF10354
は32ビットの幅を有してLENP20220に駐在
し、OFFGRF20234は32ビットの幅でOFF
P20218に駐在する。AONGRF20232とO
FFGRF20234とLENGRF20236とはフ
ェアチャイルド93422型で良い。
4はGR10360とSR10362を含む。GR10
360は更に、ABR10364と、mCR10366
と、1組の汎用レジスタとを含んでいる。SR1036
2はMIS10368とMOS10370を含んでい
る。GRF10354は垂直方向に3つの部分に分割さ
れている。AONGRF20232は28ビットの幅を
有してAONP20216に駐在し、GRF10354
は32ビットの幅を有してLENP20220に駐在
し、OFFGRF20234は32ビットの幅でOFF
P20218に駐在する。AONGRF20232とO
FFGRF20234とLENGRF20236とはフ
ェアチャイルド93422型で良い。
【0445】AONポインタおよび論理記述子のオフセ
ット・フィールドの記憶に加えて、ABR10365、
mCR10366およびSR10362に対して保留さ
れないOFFGRF20234の各部は、OFFP20
218が汎用の32ビットのCPUとして使用されつつ
ある時は、それ単独で、あるいはAONGRF2023
2およびLENGRF20236の対応する部分と関連
して、汎用レジスタとして使用することができる。OF
FGRF20234は、以下に更に説明するようにFU
CTL20214から与えられるアドレス入力によって
AONGRF20232とLENGRF20236と並
列にアドレス指定される。
ット・フィールドの記憶に加えて、ABR10365、
mCR10366およびSR10362に対して保留さ
れないOFFGRF20234の各部は、OFFP20
218が汎用の32ビットのCPUとして使用されつつ
ある時は、それ単独で、あるいはAONGRF2023
2およびLENGRF20236の対応する部分と関連
して、汎用レジスタとして使用することができる。OF
FGRF20234は、以下に更に説明するようにFU
CTL20214から与えられるアドレス入力によって
AONGRF20232とLENGRF20236と並
列にアドレス指定される。
【0446】OFFSEL20238は、OFFGRF
20234の選択されたアドレス場所に書込むべきデー
タ入力を選択するため、例えば、SN74S244およ
びSN74S257からなるマルチプレクサである。O
FFSEL20238の第1のデータ入力はMODバス
10144からのもので、MEM10112およびDS
P20210間のデータ転送のための主な経路である。
前述の如くMEM10112からJP10114に読込
まれる各データは、1ビットと32ビット間で実際のデ
ータを保有することができる単一の32ビットのワード
である。もしMEM10112から読出されるべきデー
タ項目が32ビット以上のデータを保有するならば、全
データ項目が転送されるまで連続的な読出し操作が行な
われる。
20234の選択されたアドレス場所に書込むべきデー
タ入力を選択するため、例えば、SN74S244およ
びSN74S257からなるマルチプレクサである。O
FFSEL20238の第1のデータ入力はMODバス
10144からのもので、MEM10112およびDS
P20210間のデータ転送のための主な経路である。
前述の如くMEM10112からJP10114に読込
まれる各データは、1ビットと32ビット間で実際のデ
ータを保有することができる単一の32ビットのワード
である。もしMEM10112から読出されるべきデー
タ項目が32ビット以上のデータを保有するならば、全
データ項目が転送されるまで連続的な読出し操作が行な
われる。
【0447】OFFSEL20238の第2のデータ入
力はJPDバス10142からのものである。以下に更
に説明するように、JPDバス10142は、FU10
120およびEU10122のデータ出力がMEM10
112に書込まれるデータ転送経路である。JPDバス
10142のOFFSEL20238の入力はこれによ
り循環経路を提供し、これによりFU10120または
EU10122の出力に存在するデータが更に使用され
るため再びDSP20210に転送されることができ
る。例えば、前述の如く、OFFALU20242の第
1の出力はJPDバス10142に接続され、これによ
り以下に更に説明するように、OFFP20218のデ
ータ出力が更に処理されるためOFFP20218に対
して戻されること、またはLENP20220のAON
P20216に対して転送されることを可能にする。更
に、LENGRF20236の出力もまたJPDバス1
0142と接続され、そのためAONポインタまたは物
理的記述子の長さフィールド、またはデータをLENG
RF20236からOFFP20218に対して読込む
ことができる。この経路は、例えば、LENGRF20
236がデータまたは算術および論理演算の中間結果を
記憶するための汎用レジスタとして使用されつつある時
に使用することができる。
力はJPDバス10142からのものである。以下に更
に説明するように、JPDバス10142は、FU10
120およびEU10122のデータ出力がMEM10
112に書込まれるデータ転送経路である。JPDバス
10142のOFFSEL20238の入力はこれによ
り循環経路を提供し、これによりFU10120または
EU10122の出力に存在するデータが更に使用され
るため再びDSP20210に転送されることができ
る。例えば、前述の如く、OFFALU20242の第
1の出力はJPDバス10142に接続され、これによ
り以下に更に説明するように、OFFP20218のデ
ータ出力が更に処理されるためOFFP20218に対
して戻されること、またはLENP20220のAON
P20216に対して転送されることを可能にする。更
に、LENGRF20236の出力もまたJPDバス1
0142と接続され、そのためAONポインタまたは物
理的記述子の長さフィールド、またはデータをLENG
RF20236からOFFP20218に対して読込む
ことができる。この経路は、例えば、LENGRF20
236がデータまたは算術および論理演算の中間結果を
記憶するための汎用レジスタとして使用されつつある時
に使用することができる。
【0448】OFFSEL20238の第3の入力はO
FFALU20242の出力側から与えられる。このデ
ータ経路はこれにより循環経路を提供し、以ってOFF
GRF20234に駐在するオフセット・フィールドま
たはデータが最初に異なるアドレス場所から読出されま
たは読込まれたのと同じアドレス場所においてOFFG
RF20234に関して処理されまたこれに対して戻す
ことができる。OFFSEL20238の第3の入力、
従ってOFFGRF20234に対するOFFALU2
0242の出力からのOFFP20218の循環経路
は、例えば、32ビット以上のデータを含むデータ項目
のMEM10112からの読出しにおいて使用すること
ができる。前述の如く、MEM10112からJP10
114に対する各読出し操作は、1ビットと32ビット
の間に実際のデータを含むことができる32ビットのワ
ードである。32ビット以上を含むデータ・ワードの転
送は、MEM10112からJP10114に対する一
連の読出し操作の実施により達成される。例えば、もし
要求されたデータ項目が70ビットのデータを有するな
らば、このデータ項目は3つの連続する読出し操作にお
いて転送されることになる。第1と第2の読出し操作は
各々32ビットのデータ転送を行ない、また最後の読出
し操作は残る6ビットのデータを転送することになる。
従って、MEM10112から32ビット以上のデータ
項目の読出しを行なうためには、DSP20210は、
各々がこのデータ項目の連続する32ビットのセグメン
トを規定する一連の論理記述子を生成しなければならな
い。この一連の論理記述子の最後のものは32ビットよ
り少ないセグメント、例えば今述べた許りの事例におけ
るように6ビットのセグメントの規定が可能である。連
続する各物理的記述子においては、オフセット・フィー
ルドは、転送されるべき連続するデータ項目のセグメン
トの開始アドレスを規定するため先行する物理的記述子
の長さフィールドの値により増分されねばならない。連
続する物理的記述子の長さフィールドは、一般に、32
ビットより少ない最終転送の場合を除いて、32ビット
で一定状態を維持することになる。これにより、オフセ
ット・フィールドは通常、最終転送まで各転送において
32ビットだけ増分されることになる。OFFSEL2
0238の第3の入力に対するOFFALU20242
の出力からのOFFP20218の循環データ経路は、
前述の如く、次の連続する物理的記述子のオフセット・
フィールドとなるOFFGRF20234に対してその
時の物理的記述子の増分または減分されたオフセット・
フィールドを再びOFFGRF20234に対して書込
むため、このような順次のデータ転送操作において使用
することができる。
FFALU20242の出力側から与えられる。このデ
ータ経路はこれにより循環経路を提供し、以ってOFF
GRF20234に駐在するオフセット・フィールドま
たはデータが最初に異なるアドレス場所から読出されま
たは読込まれたのと同じアドレス場所においてOFFG
RF20234に関して処理されまたこれに対して戻す
ことができる。OFFSEL20238の第3の入力、
従ってOFFGRF20234に対するOFFALU2
0242の出力からのOFFP20218の循環経路
は、例えば、32ビット以上のデータを含むデータ項目
のMEM10112からの読出しにおいて使用すること
ができる。前述の如く、MEM10112からJP10
114に対する各読出し操作は、1ビットと32ビット
の間に実際のデータを含むことができる32ビットのワ
ードである。32ビット以上を含むデータ・ワードの転
送は、MEM10112からJP10114に対する一
連の読出し操作の実施により達成される。例えば、もし
要求されたデータ項目が70ビットのデータを有するな
らば、このデータ項目は3つの連続する読出し操作にお
いて転送されることになる。第1と第2の読出し操作は
各々32ビットのデータ転送を行ない、また最後の読出
し操作は残る6ビットのデータを転送することになる。
従って、MEM10112から32ビット以上のデータ
項目の読出しを行なうためには、DSP20210は、
各々がこのデータ項目の連続する32ビットのセグメン
トを規定する一連の論理記述子を生成しなければならな
い。この一連の論理記述子の最後のものは32ビットよ
り少ないセグメント、例えば今述べた許りの事例におけ
るように6ビットのセグメントの規定が可能である。連
続する各物理的記述子においては、オフセット・フィー
ルドは、転送されるべき連続するデータ項目のセグメン
トの開始アドレスを規定するため先行する物理的記述子
の長さフィールドの値により増分されねばならない。連
続する物理的記述子の長さフィールドは、一般に、32
ビットより少ない最終転送の場合を除いて、32ビット
で一定状態を維持することになる。これにより、オフセ
ット・フィールドは通常、最終転送まで各転送において
32ビットだけ増分されることになる。OFFSEL2
0238の第3の入力に対するOFFALU20242
の出力からのOFFP20218の循環データ経路は、
前述の如く、次の連続する物理的記述子のオフセット・
フィールドとなるOFFGRF20234に対してその
時の物理的記述子の増分または減分されたオフセット・
フィールドを再びOFFGRF20234に対して書込
むため、このような順次のデータ転送操作において使用
することができる。
【0449】更に別の事例においては、OFFALU2
0242からOFFSEL20238の第3の入力から
のOFFP20218の循環経路は、名前テーブル10
350におけるエントリの解明、即ち名前の解明の際に
使用することができる。名前の解明においては、前に述
べたように、AONポインタのオフセット・フィール
ド、例えばリンク・ポインタ10416は所要のデータ
項目に対して最後のAONポインタを提供するため連続
的に加算および減算されるのである。
0242からOFFSEL20238の第3の入力から
のOFFP20218の循環経路は、名前テーブル10
350におけるエントリの解明、即ち名前の解明の際に
使用することができる。名前の解明においては、前に述
べたように、AONポインタのオフセット・フィール
ド、例えばリンク・ポインタ10416は所要のデータ
項目に対して最後のAONポインタを提供するため連続
的に加算および減算されるのである。
【0450】AONGRF20232の出力からのFF
SEL20238の第4の入力は、OFFGRF202
34またはOFFMUX20240に対するAONGR
F20232からのデータ即ちAONフィールドの転送
のため使用することができる。このデータ経路は、例え
ばAONポインタまたは物理的記述子のAONフィール
ドの生成のためOFFP20218が使用される時、あ
るいは名前の評価の実施の時に使用することができる。
SEL20238の第4の入力は、OFFGRF202
34またはOFFMUX20240に対するAONGR
F20232からのデータ即ちAONフィールドの転送
のため使用することができる。このデータ経路は、例え
ばAONポインタまたは物理的記述子のAONフィール
ドの生成のためOFFP20218が使用される時、あ
るいは名前の評価の実施の時に使用することができる。
【0451】最後に、OFFSET20228からのO
FFSEL20238の第5の入力は、OFFSET2
0228におけるオフセット・フィールドがOFFGR
F20234に対して書込まれることを可能にし、ある
いはOFFMUX20240に対して転送されることを
可能にする。このデータ経路は、例えば、JP1011
4が名前の評価を行なっている時、OFFGRF202
34に対してオフセット・フィールドをコピーするため
に使用することができる。
FFSEL20238の第5の入力は、OFFSET2
0228におけるオフセット・フィールドがOFFGR
F20234に対して書込まれることを可能にし、ある
いはOFFMUX20240に対して転送されることを
可能にする。このデータ経路は、例えば、JP1011
4が名前の評価を行なっている時、OFFGRF202
34に対してオフセット・フィールドをコピーするため
に使用することができる。
【0452】次にOFFMUX20240について説明
すると、OFFMUX20240は32ビットのワード
の個々のビットを処理するための論理回路を含んでい
る。OFFMUX20240は、例えば、ストリング転
送の実施の際オフセット・フィールドを長さフィールド
により増分および減分するために、また例えばMHT1
0716およびMFT10718に対してエントリを生
成するために使用することができる。OFFMUX20
240はまた、物理的記述子およびAONポインタのA
ON、オフセットおよび長さの諸フィールドの生成およ
び処理における補助のため使用することができる。
すると、OFFMUX20240は32ビットのワード
の個々のビットを処理するための論理回路を含んでい
る。OFFMUX20240は、例えば、ストリング転
送の実施の際オフセット・フィールドを長さフィールド
により増分および減分するために、また例えばMHT1
0716およびMFT10718に対してエントリを生
成するために使用することができる。OFFMUX20
240はまた、物理的記述子およびAONポインタのA
ON、オフセットおよび長さの諸フィールドの生成およ
び処理における補助のため使用することができる。
【0453】b.b.オフセット・マルチプレクサ20
240の詳細な構造(図238) 図238においては、OFFMUX20240の更に詳
細なブロック図が示されている。OFFMUX2024
0は、例えばSN74S373およびSN74S244
からなるオフセット・マルチプレクサ入力セレクタ(O
FFMUXIS)23810と、例えばSN74S37
4からなるオフセット・マルチプレクサ・レジスタ(O
FFMUXR)23812とを含む。OFFMUX20
240はまた、例えばSN74S257で良いフィール
ド抽出回路(FEXT)23814と、例えばSN74
S257とSN74S374からなるオフセット・マル
チプレクサ・フィールド・セレクタ(OFFMUXF
S)23816とを含む。最後に、OFFMUX202
40は、例えばAMD25S10からなるもので良いオ
フセット・スケーラ(OFFSCALE)23818
と、例えばフェアチャイルド社の93427からなるも
ので良いオフセット素子間空間エンコーダ(OFFIE
SENC)23820と、例えばAMD社の25S、フ
ェアチャイルド社の92427およびSN74S244
からなるオフセット・マルチプレクサ出力セレクタ(O
FFMUXOS)23822とを含む。
240の詳細な構造(図238) 図238においては、OFFMUX20240の更に詳
細なブロック図が示されている。OFFMUX2024
0は、例えばSN74S373およびSN74S244
からなるオフセット・マルチプレクサ入力セレクタ(O
FFMUXIS)23810と、例えばSN74S37
4からなるオフセット・マルチプレクサ・レジスタ(O
FFMUXR)23812とを含む。OFFMUX20
240はまた、例えばSN74S257で良いフィール
ド抽出回路(FEXT)23814と、例えばSN74
S257とSN74S374からなるオフセット・マル
チプレクサ・フィールド・セレクタ(OFFMUXF
S)23816とを含む。最後に、OFFMUX202
40は、例えばAMD25S10からなるもので良いオ
フセット・スケーラ(OFFSCALE)23818
と、例えばフェアチャイルド社の93427からなるも
ので良いオフセット素子間空間エンコーダ(OFFIE
SENC)23820と、例えばAMD社の25S、フ
ェアチャイルド社の92427およびSN74S244
からなるオフセット・マルチプレクサ出力セレクタ(O
FFMUXOS)23822とを含む。
【0454】最初にOFFP20218の他の部分との
OFFMUX20240の接続について説明すれば、O
FFSEL20238からのOFFMUX20240の
第1のデータ入力は、OFFMUXIS23810の第
1の入力と接続されている。MODバス10144から
のOFFMUX20240の第2の入力は、OFFMU
XIS23810の第2の入力と接続される。JPDバ
ス10142からのOFFMUX20240の第3の入
力はOFFMUXFS23816の第1の入力と接続さ
れるが、BIAS20246からのOFFMUX202
40の第4の入力は、OFFMUXOS23822の第
1の入力と接続される。名前バス20224からのOF
FMUX20240の第5の入力は、OFFMUXFS
23816の第2の入力と接続される。OFFALUS
A20244に対するOFFMUX20240の第1の
出力はOFFMUXR23812の出力と接続される
が、OFFALU20242に対するOFFMUX20
240の第2の出力はOFFMUXOS23822の出
力と接続される。OFFMUX20240の内部接続に
ついて述べれば、OFFMUXIS23810の32ビ
ットの出力はOFFMUXR23812の入力と接続さ
れ、OFFMUXR23812の32ビット出力は、前
述の如く、OFFMUX20240の第1の出力および
OFFMUXFS23816の第3の入力として接続さ
れる。OFFMUXR23812の32ビットの出力も
またFEXT23814の入力に接続されている。OF
FMUXFS23816の第1,第2および第3の入力
は前述の如く接続される。OFFMUXFS23816
の第4の入力は、31ビットが論理値零に、また1ビッ
トが論理値1にセットされる32ビットの入力である。
第5の入力は、31ビットが論理値1に、また1ビット
が論理値零にセットされる32ビットの入力である。O
FFMUXFS23816の第6の入力はOFFMUX
FS11012から与えられる32ビットのリテラル
(L)入力であり、以下に述べるマイクロ命令FUCT
L20214の一部をなす32ビットの2進数である。
OFFMUXFS23816の第7と第8の入力はFE
XT23814と接続される。入力7は、OFFMUX
R23812に読込まれた名前テーブル・エントリのF
IUおよび形式フィールドからなる。入力8は、OFF
MUXR23812に捕捉された32ビット・ワードか
ら抽出される汎用入力伝送ビットである。図238にお
いて示したように、OFFMUXFS23816の第1
と第3と、第4と、第5と、第6の入力は、各々が2つ
の16ビットの入力を生じるように夫々分割される32
ビット入力である。即ち、これらの32ビットの入力の
各々は、前記の32ビット入力のビット0乃至15から
なる第1の入力と、ビット16乃至31からなる第2の
入力とに分割される。
OFFMUX20240の接続について説明すれば、O
FFSEL20238からのOFFMUX20240の
第1のデータ入力は、OFFMUXIS23810の第
1の入力と接続されている。MODバス10144から
のOFFMUX20240の第2の入力は、OFFMU
XIS23810の第2の入力と接続される。JPDバ
ス10142からのOFFMUX20240の第3の入
力はOFFMUXFS23816の第1の入力と接続さ
れるが、BIAS20246からのOFFMUX202
40の第4の入力は、OFFMUXOS23822の第
1の入力と接続される。名前バス20224からのOF
FMUX20240の第5の入力は、OFFMUXFS
23816の第2の入力と接続される。OFFALUS
A20244に対するOFFMUX20240の第1の
出力はOFFMUXR23812の出力と接続される
が、OFFALU20242に対するOFFMUX20
240の第2の出力はOFFMUXOS23822の出
力と接続される。OFFMUX20240の内部接続に
ついて述べれば、OFFMUXIS23810の32ビ
ットの出力はOFFMUXR23812の入力と接続さ
れ、OFFMUXR23812の32ビット出力は、前
述の如く、OFFMUX20240の第1の出力および
OFFMUXFS23816の第3の入力として接続さ
れる。OFFMUXR23812の32ビットの出力も
またFEXT23814の入力に接続されている。OF
FMUXFS23816の第1,第2および第3の入力
は前述の如く接続される。OFFMUXFS23816
の第4の入力は、31ビットが論理値零に、また1ビッ
トが論理値1にセットされる32ビットの入力である。
第5の入力は、31ビットが論理値1に、また1ビット
が論理値零にセットされる32ビットの入力である。O
FFMUXFS23816の第6の入力はOFFMUX
FS11012から与えられる32ビットのリテラル
(L)入力であり、以下に述べるマイクロ命令FUCT
L20214の一部をなす32ビットの2進数である。
OFFMUXFS23816の第7と第8の入力はFE
XT23814と接続される。入力7は、OFFMUX
R23812に読込まれた名前テーブル・エントリのF
IUおよび形式フィールドからなる。入力8は、OFF
MUXR23812に捕捉された32ビット・ワードか
ら抽出される汎用入力伝送ビットである。図238にお
いて示したように、OFFMUXFS23816の第1
と第3と、第4と、第5と、第6の入力は、各々が2つ
の16ビットの入力を生じるように夫々分割される32
ビット入力である。即ち、これらの32ビットの入力の
各々は、前記の32ビット入力のビット0乃至15から
なる第1の入力と、ビット16乃至31からなる第2の
入力とに分割される。
【0455】OFFMUXFS23816の32ビット
出力は、OFFSCALE23818およびOFFIE
SENC23820の入力と接続されている。図238
に示すようにOFFMUXFS23816のフィールド
選択出力(FSO)は、ビット0乃至15を含む第1の
ワードと、ビット16乃至31を含む第2のワードとに
分割される32ビット・ワードである。前記の如くOF
FMUXFS23816の出力FSOは、これによりO
FFMUXFS23816の第1と、第3と、第4と、
第5と第6の入力の分割された構造を反映する。
出力は、OFFSCALE23818およびOFFIE
SENC23820の入力と接続されている。図238
に示すようにOFFMUXFS23816のフィールド
選択出力(FSO)は、ビット0乃至15を含む第1の
ワードと、ビット16乃至31を含む第2のワードとに
分割される32ビット・ワードである。前記の如くOF
FMUXFS23816の出力FSOは、これによりO
FFMUXFS23816の第1と、第3と、第4と、
第5と第6の入力の分割された構造を反映する。
【0456】出力FSOの生成においてOFFMUXF
S23816により実施される、以下の説明において更
に詳細に記述する論理機能は下記のものを含む。即ち、
(1)直接OFFMUXFS23816を経由するよう
にOFFMUXR23812の内容を送ること、(2)
直接OFFMUXFS23816を経由するようにJP
Dバス10142上に32ビット・ワードを送ること、
(3)FUCTL20214から直接OFFMUXFS
23816を経由するようにマイクロ命令の一部を構成
するリテラル値を送ること、(4)FSOをリテラル値
0000 0000となるように強制すること、(5)
FSOをリテラル値0000 001となるように強制
すること、(6)名前テーブルのエントリ・フィールド
を抽出すること、(7)OFFMUXR23812また
はJPDバス10142から32ビット・ワード、また
はFUCTL20214からマイクロ命令の32ビット
を受入れ、上位の16ビットを論理値0に強制する間下
位の16ビットを送ること、(8)OFFMUXR23
812またはJPDバス10142から32ビット・ワ
ードを、またはFUCTL20214からマイクロ命令
の32ビットを受入れ、下位の16ビットを論理値0に
強制する間上位の16ビットを送ること、(9)OFF
MUXR23812またはJPDバス10142、また
は名前バス20224からの32ビット・ワードを受入
れ、また上位の16ビットにビット16を符号拡張する
間下位の16ビットを送ること、および(10)名前バ
ス20224から32ビット・ワードを受入れ、上位の
224ビットにビット24を符号拡張する間最も下位の
8ビットを送ることである。
S23816により実施される、以下の説明において更
に詳細に記述する論理機能は下記のものを含む。即ち、
(1)直接OFFMUXFS23816を経由するよう
にOFFMUXR23812の内容を送ること、(2)
直接OFFMUXFS23816を経由するようにJP
Dバス10142上に32ビット・ワードを送ること、
(3)FUCTL20214から直接OFFMUXFS
23816を経由するようにマイクロ命令の一部を構成
するリテラル値を送ること、(4)FSOをリテラル値
0000 0000となるように強制すること、(5)
FSOをリテラル値0000 001となるように強制
すること、(6)名前テーブルのエントリ・フィールド
を抽出すること、(7)OFFMUXR23812また
はJPDバス10142から32ビット・ワード、また
はFUCTL20214からマイクロ命令の32ビット
を受入れ、上位の16ビットを論理値0に強制する間下
位の16ビットを送ること、(8)OFFMUXR23
812またはJPDバス10142から32ビット・ワ
ードを、またはFUCTL20214からマイクロ命令
の32ビットを受入れ、下位の16ビットを論理値0に
強制する間上位の16ビットを送ること、(9)OFF
MUXR23812またはJPDバス10142、また
は名前バス20224からの32ビット・ワードを受入
れ、また上位の16ビットにビット16を符号拡張する
間下位の16ビットを送ること、および(10)名前バ
ス20224から32ビット・ワードを受入れ、上位の
224ビットにビット24を符号拡張する間最も下位の
8ビットを送ることである。
【0457】OFFSCALE23818の32ビット
の出力とOFFIESENC23820の3ビットの出
力は、夫々OFFMUXOS23822の第2と第3の
入力に接続される。OFFMUXOS23822の第1
の入力は前記の如くOFFMUX20240の第4の入
力であり、BIAS20246と接続される。最後に、
OFFMUXOS23822の32ビット出力であるO
FFMUX(0〜31)はOFFMUX20240の第
2の出力であり、また前に述べたようにOFFALU2
0242の第2の入力と接続される。
の出力とOFFIESENC23820の3ビットの出
力は、夫々OFFMUXOS23822の第2と第3の
入力に接続される。OFFMUXOS23822の第1
の入力は前記の如くOFFMUX20240の第4の入
力であり、BIAS20246と接続される。最後に、
OFFMUXOS23822の32ビット出力であるO
FFMUX(0〜31)はOFFMUX20240の第
2の出力であり、また前に述べたようにOFFALU2
0242の第2の入力と接続される。
【0458】c.c.オフセット・マルチプレクサ20
240の詳細な作用 a.a.a.内部作用 図238に示した如きOFFMUX20240の構造に
ついて説明したが、以下にOFFMUX20240の作
用について説明する。OFFMUX20240の内部作
用について最初に説明するが、これに続いてDESP2
0210と関連するOFFMUX20240の作用につ
いて説明する。
240の詳細な作用 a.a.a.内部作用 図238に示した如きOFFMUX20240の構造に
ついて説明したが、以下にOFFMUX20240の作
用について説明する。OFFMUX20240の内部作
用について最初に説明するが、これに続いてDESP2
0210と関連するOFFMUX20240の作用につ
いて説明する。
【0459】最初にOFFMUXR23812について
説明するとOFFMUXR23812はMODバス10
144からの32ビット・ワード、即ちMOD(0〜3
1)またはOFFSEL20238から受取った32ビ
ット・ワード、即ちOFFSEL(0〜31)のいずれ
かを受取る32ビット・レジスタであり、OFFMUX
IS23810によって選択される。OFFMUXR2
3812は更に、MODバス10144またはOFFS
EL20238からのこれらの選択された32ビット・
ワードを、OFFAFUSA20244に対するOFF
MUX20240の第1のデータ出力として、FEXT
23814の入力として、またOFFMUXFS238
16の第3の入力として与える。OFFMUXFS23
816に対するOFFMUXR23812の32ビット
出力は、OFFMUXRの出力(0〜15)および(1
6〜31)として示される2つの並列の16ビット・ワ
ードとして与えられる。前述の如く、OFFMUXR2
3812からOFFALUSA20244に対するOF
FMUXFS23816の出力は、16ビットだけ右寄
せされ、最上位の16ビットは零充填される。
説明するとOFFMUXR23812はMODバス10
144からの32ビット・ワード、即ちMOD(0〜3
1)またはOFFSEL20238から受取った32ビ
ット・ワード、即ちOFFSEL(0〜31)のいずれ
かを受取る32ビット・レジスタであり、OFFMUX
IS23810によって選択される。OFFMUXR2
3812は更に、MODバス10144またはOFFS
EL20238からのこれらの選択された32ビット・
ワードを、OFFAFUSA20244に対するOFF
MUX20240の第1のデータ出力として、FEXT
23814の入力として、またOFFMUXFS238
16の第3の入力として与える。OFFMUXFS23
816に対するOFFMUXR23812の32ビット
出力は、OFFMUXRの出力(0〜15)および(1
6〜31)として示される2つの並列の16ビット・ワ
ードとして与えられる。前述の如く、OFFMUXR2
3812からOFFALUSA20244に対するOF
FMUXFS23816の出力は、16ビットだけ右寄
せされ、最上位の16ビットは零充填される。
【0460】FEXT23814はOFFMUXR23
812からOFFMUXRO(0〜15)および(16
〜31)を受取りこれらの16ビット・ワードからある
フィールドを抽出する。特に、FEXT23814は、
OFFMUXR23812に転送されたNT10350
のエントリからFIUおよびTYPEフィールドを抽出
する。FEXT23814は次に、これらのFIUおよ
びTYPTEフィールドをOFFMUXFS23816
の7番目の入力として与えることができる。FEXT2
3814は、任意にOFFMUXR23812に駐在す
る32ビット・ワードからある他のフィールドを抽出し
て、これらのフィールドをOFFMUXFS23816
の8番目の入力として与える。
812からOFFMUXRO(0〜15)および(16
〜31)を受取りこれらの16ビット・ワードからある
フィールドを抽出する。特に、FEXT23814は、
OFFMUXR23812に転送されたNT10350
のエントリからFIUおよびTYPEフィールドを抽出
する。FEXT23814は次に、これらのFIUおよ
びTYPTEフィールドをOFFMUXFS23816
の7番目の入力として与えることができる。FEXT2
3814は、任意にOFFMUXR23812に駐在す
る32ビット・ワードからある他のフィールドを抽出し
て、これらのフィールドをOFFMUXFS23816
の8番目の入力として与える。
【0461】OFFMUXFS23816は、OFFM
UXFS23816の8番目の入力からあるフィールド
を選択してOFFMUXFS23816の入力から選択
されたこれらのフィールドからなる対応する32ビット
の出力ワード、即ちフィールド選択出力(FSO)を与
えるマルチプレクサとして作用する。前述の如くFSO
は2つの並列の16ビット・ワード、即ちFSO(0〜
15)とFSO(16〜31)からなる。これと対応し
て、JPDバス10142からのOFFMUX2024
0の第3の入力は、2つの16ビット・ワード、即ちJ
PD(0〜15)およびJPD(16〜31)として表
わされる32ビットの入力である。同様に、OFFMU
XFS23816の第4,第5および第6の入力は、各
々が2つの並列の16ビット・ワード、夫々「0」(0
〜15)と(16〜31)、「1」(0〜15)と(1
6〜31)、およびL(0〜15)と(16〜31)か
らなる32ビット・ワードとして表わされる。名前バス
20224からのOFFMUXFS23816の第2の
入力は単一の16ビット・ワード、即ち名前(16〜3
1)として示されるか、FEXT23814からのOF
FMUXFS23816の入力は各々幅が16ビットよ
り小さい。OFFMUXFS23816は、単一の32
ビットの出力ワードに対して、対応する16ビットの入
力JPD(0〜15)、または「0」(0〜15)、ま
たはL(0〜15)の1つを含むようにFSO(0〜1
5)を選択することができる。同様に、前記32ビット
の出力ワードのFSO(16〜31)は、FEXT23
814からの名前(16〜31)、またはJPD(16
〜31)、または0(16〜31)、または1(16〜
31)、L(16〜31)、または入力7および8の1
つを含むように選択することができる。従って、OFF
MUXFS23816は、2つの16ビット・フィール
ドからなる32ビット・ワードがOFFMUXFS23
816の入力の選択された部分から生成されることを可
能にする。OFFMUXFS23816の32ビット出
力は、OFFSCALE23818とOFFIESEN
C23820に対する入力として与えられる。最初にO
FFIESENC23820について述べれば、OFF
IESENC23820は、特にデータ・ワードのアレ
イを照合するNT10350のエントリ(NTE)の解
明即ち評価において使用される。図108に示すよう
に、NETのワードDは、あるアレイのデータ・ワード
の素子間隔(IES)に関するある情報を含む。あるN
TEのワードDは、MEM10112からMODバス1
0144に対して、またOFFMUX20240を介し
てOFFIESENC23820の入力側に対して読込
むことができる。この時OFFIESENC23820
はワードDのIESフィールドを調べて前記アレイの素
子間隔が2の倍数、即ち1,2,4,8,16,32ま
たは64ビットのいずれであるかを判断する。実施にお
いてはOFFIESENC23820は、最上位の25
ビットに論理値零を、また最下位の7ビットには単一の
論理値1を保有するかどうかを判定する。もし素子間隔
がこのような2の倍数であれば、前記アレイにおけるワ
ードの物理的アドレスのオフセット・フィールドを得る
ためこのアレイのデータ・ワードの開始アドレスが指標
(IES)の左寄せによって決定することができ、更に
下位の更に複雑な乗算は必要でなくなる。このような場
合には、OFFIESENCは第1の出力、即ち素子間
隔が1回の左寄せによって決定できることを示すFUC
TL20214に対するIES符号化可能(IESEN
C)を生成する。OFFIESENC23820はこの
時符号化された出力、即ちOFFMUXOS23822
に対する符号化IES(ENCIES)を生成する。従
ってENCIESは指標(IES)値をこのアレイにお
けるワードのオフセットに翻訳するため必要な左寄せ量
を規定する符号化値である。図238に示すように、E
NCIESはOFFMUXOS23822の第3の入力
である。
UXFS23816の8番目の入力からあるフィールド
を選択してOFFMUXFS23816の入力から選択
されたこれらのフィールドからなる対応する32ビット
の出力ワード、即ちフィールド選択出力(FSO)を与
えるマルチプレクサとして作用する。前述の如くFSO
は2つの並列の16ビット・ワード、即ちFSO(0〜
15)とFSO(16〜31)からなる。これと対応し
て、JPDバス10142からのOFFMUX2024
0の第3の入力は、2つの16ビット・ワード、即ちJ
PD(0〜15)およびJPD(16〜31)として表
わされる32ビットの入力である。同様に、OFFMU
XFS23816の第4,第5および第6の入力は、各
々が2つの並列の16ビット・ワード、夫々「0」(0
〜15)と(16〜31)、「1」(0〜15)と(1
6〜31)、およびL(0〜15)と(16〜31)か
らなる32ビット・ワードとして表わされる。名前バス
20224からのOFFMUXFS23816の第2の
入力は単一の16ビット・ワード、即ち名前(16〜3
1)として示されるか、FEXT23814からのOF
FMUXFS23816の入力は各々幅が16ビットよ
り小さい。OFFMUXFS23816は、単一の32
ビットの出力ワードに対して、対応する16ビットの入
力JPD(0〜15)、または「0」(0〜15)、ま
たはL(0〜15)の1つを含むようにFSO(0〜1
5)を選択することができる。同様に、前記32ビット
の出力ワードのFSO(16〜31)は、FEXT23
814からの名前(16〜31)、またはJPD(16
〜31)、または0(16〜31)、または1(16〜
31)、L(16〜31)、または入力7および8の1
つを含むように選択することができる。従って、OFF
MUXFS23816は、2つの16ビット・フィール
ドからなる32ビット・ワードがOFFMUXFS23
816の入力の選択された部分から生成されることを可
能にする。OFFMUXFS23816の32ビット出
力は、OFFSCALE23818とOFFIESEN
C23820に対する入力として与えられる。最初にO
FFIESENC23820について述べれば、OFF
IESENC23820は、特にデータ・ワードのアレ
イを照合するNT10350のエントリ(NTE)の解
明即ち評価において使用される。図108に示すよう
に、NETのワードDは、あるアレイのデータ・ワード
の素子間隔(IES)に関するある情報を含む。あるN
TEのワードDは、MEM10112からMODバス1
0144に対して、またOFFMUX20240を介し
てOFFIESENC23820の入力側に対して読込
むことができる。この時OFFIESENC23820
はワードDのIESフィールドを調べて前記アレイの素
子間隔が2の倍数、即ち1,2,4,8,16,32ま
たは64ビットのいずれであるかを判断する。実施にお
いてはOFFIESENC23820は、最上位の25
ビットに論理値零を、また最下位の7ビットには単一の
論理値1を保有するかどうかを判定する。もし素子間隔
がこのような2の倍数であれば、前記アレイにおけるワ
ードの物理的アドレスのオフセット・フィールドを得る
ためこのアレイのデータ・ワードの開始アドレスが指標
(IES)の左寄せによって決定することができ、更に
下位の更に複雑な乗算は必要でなくなる。このような場
合には、OFFIESENCは第1の出力、即ち素子間
隔が1回の左寄せによって決定できることを示すFUC
TL20214に対するIES符号化可能(IESEN
C)を生成する。OFFIESENC23820はこの
時符号化された出力、即ちOFFMUXOS23822
に対する符号化IES(ENCIES)を生成する。従
ってENCIESは指標(IES)値をこのアレイにお
けるワードのオフセットに翻訳するため必要な左寄せ量
を規定する符号化値である。図238に示すように、E
NCIESはOFFMUXOS23822の第3の入力
である。
【0462】OFFSCALE23818は、最下位ビ
ットが左寄せされるため、このビットの零充填を行なう
左寄せ回路網である。OFFSCALE23818によ
る桁送り量は零ビットと7ビットの間で選択可能であ
る。従って、OFFMUXFS23816からOFFS
CALE23818に対して転送される32ビット・ワ
ードは、この32ビット・ワード内のビットを選択的に
再置するためビット単位に左寄せすることができる。O
FFMUXFS23816と関連して、またOFFAL
U2024の出力によりOFFSEL20238に対し
て与えられる循環結合は、例えば、MHT10716
と、MFT10718と、AOT10712とAST1
0914、および他のCS10110のデータ構造に対
するエントリを生成してこれを操作するために使用する
ことができる。
ットが左寄せされるため、このビットの零充填を行なう
左寄せ回路網である。OFFSCALE23818によ
る桁送り量は零ビットと7ビットの間で選択可能であ
る。従って、OFFMUXFS23816からOFFS
CALE23818に対して転送される32ビット・ワ
ードは、この32ビット・ワード内のビットを選択的に
再置するためビット単位に左寄せすることができる。O
FFMUXFS23816と関連して、またOFFAL
U2024の出力によりOFFSEL20238に対し
て与えられる循環結合は、例えば、MHT10716
と、MFT10718と、AOT10712とAST1
0914、および他のCS10110のデータ構造に対
するエントリを生成してこれを操作するために使用する
ことができる。
【0463】OFFMUXOS23822は、夫々BI
AS20246、OFFSCALE23818、OFF
IESENC23820からの第1,第2および第3の
入力を有するマルチプレクサである。OFFMUXOS
23822は、OFFMUX20240の第2の出力、
即ちOFFMUX(0〜31)としてこれらの入力のど
れか1つを選択することができる。前述の如く、OFF
MUX20240の第2の出力はOFFALU2024
2の第2の入力と接続される。
AS20246、OFFSCALE23818、OFF
IESENC23820からの第1,第2および第3の
入力を有するマルチプレクサである。OFFMUXOS
23822は、OFFMUX20240の第2の出力、
即ちOFFMUX(0〜31)としてこれらの入力のど
れか1つを選択することができる。前述の如く、OFF
MUX20240の第2の出力はOFFALU2024
2の第2の入力と接続される。
【0464】OFFMUX20240の内部について述
べたが、DESP20210の全体的な作用に関するO
FFMUX20240の作用について次に説明する。
べたが、DESP20210の全体的な作用に関するO
FFMUX20240の作用について次に説明する。
【0465】b.b.b.記述子プロセッサ20210
と関連する作用 OFFSEL20238からのOFFMUX20240
の第1の入力は、OFFSELに対する入力がOFFM
UXIS23810を介してOFFMUXR23812
に対して転送されることを許容する。この入力は、OF
FSEL20238のどの入力によってもFUCTL2
0214のマイクロ命令の制御下でOFFMUXR23
812がロードされることを可能にする。ある特定の事
例においては、OFFALU20242の出力は、OF
FMUX20240およびOFFALU20242が1
つの32ビット・ワードに関する反復処理を実施するこ
とを許容するため、OFFSEL20238の第3の入
力とOFFMUX20240の第1の入力を介してフィ
ードバックすることができる。
と関連する作用 OFFSEL20238からのOFFMUX20240
の第1の入力は、OFFSELに対する入力がOFFM
UXIS23810を介してOFFMUXR23812
に対して転送されることを許容する。この入力は、OF
FSEL20238のどの入力によってもFUCTL2
0214のマイクロ命令の制御下でOFFMUXR23
812がロードされることを可能にする。ある特定の事
例においては、OFFALU20242の出力は、OF
FMUX20240およびOFFALU20242が1
つの32ビット・ワードに関する反復処理を実施するこ
とを許容するため、OFFSEL20238の第3の入
力とOFFMUX20240の第1の入力を介してフィ
ードバックすることができる。
【0466】MODバス10144からのOFFMUX
20240の第2の入力は、OFFMUXR23812
が直接MODバス10144からロードされることを可
能にする。例えば、その時活動状態の手順からのNTE
が前述の如く処理されるべきOFFMUXR23812
に対してロードすることができる。更に、OFFMUX
20240の第2の入力は、OFFP20218に対す
る並列の入力経路として、MODバス10144からO
FFSEL20238の第1の入力と関連して使用する
ことができる。これらの並列の入力経路は、OFFSE
L20238とOFFGRF20234がOFFMUX
20240から独立的に作用することを許容することに
よってOFFP20218の作用のパイプ・ライン化を
可能にする。例えば、FU10120は、第1のマイク
ロ命令の間MEM10112からOFFMUXR238
12に対する読出し操作を開始することができる。この
ように要求されたデータは第2のマイクロ命令の間MO
Dバス10144上に現われMODバス10144から
OFFMUX20240の第2の入力を介してOFFM
UXR23812に対してロードすることができる。同
時に、FU10120は、第2のマイクロ命令の開始時
において、例えば、OFFGRF20234に対するO
FFALU20242の出力をローディングするOFF
SEL20238およびOFFGRF20234により
実施されるべき独立の操作を開始することができる。従
って、MODバス10144からOFFMUX2024
0に対する独立の経路を提供することにより、OFFS
EL20238は、MODバス10144からOFFM
UX20240に対するデータ転送の実施中、他の同時
のデータ転送操作を自由に実施することができる。
20240の第2の入力は、OFFMUXR23812
が直接MODバス10144からロードされることを可
能にする。例えば、その時活動状態の手順からのNTE
が前述の如く処理されるべきOFFMUXR23812
に対してロードすることができる。更に、OFFMUX
20240の第2の入力は、OFFP20218に対す
る並列の入力経路として、MODバス10144からO
FFSEL20238の第1の入力と関連して使用する
ことができる。これらの並列の入力経路は、OFFSE
L20238とOFFGRF20234がOFFMUX
20240から独立的に作用することを許容することに
よってOFFP20218の作用のパイプ・ライン化を
可能にする。例えば、FU10120は、第1のマイク
ロ命令の間MEM10112からOFFMUXR238
12に対する読出し操作を開始することができる。この
ように要求されたデータは第2のマイクロ命令の間MO
Dバス10144上に現われMODバス10144から
OFFMUX20240の第2の入力を介してOFFM
UXR23812に対してロードすることができる。同
時に、FU10120は、第2のマイクロ命令の開始時
において、例えば、OFFGRF20234に対するO
FFALU20242の出力をローディングするOFF
SEL20238およびOFFGRF20234により
実施されるべき独立の操作を開始することができる。従
って、MODバス10144からOFFMUX2024
0に対する独立の経路を提供することにより、OFFS
EL20238は、MODバス10144からOFFM
UX20240に対するデータ転送の実施中、他の同時
のデータ転送操作を自由に実施することができる。
【0467】JPDバス10142からのOFFMUX
20240の第3の入力は、汎用データ転送経路であ
る。例えば、LENGRF20236またはOFFAL
U20242からのデータは、JPDバス10142お
よびOFFMUX20240の第3の入力を介してOF
FMUX20240に対して転送することができる。
20240の第3の入力は、汎用データ転送経路であ
る。例えば、LENGRF20236またはOFFAL
U20242からのデータは、JPDバス10142お
よびOFFMUX20240の第3の入力を介してOF
FMUX20240に対して転送することができる。
【0468】OFFMUX20240の第4の入力は、
BIAS20246から接続され、前述の如くストリン
グ転送中主として使用される。即ち、ストリング転送の
ため生成される物理的記述子の長さフィールドは、OF
FALU20242におけるこれらの物理的記述子のオ
フセット・フィールドの増分または減分のためOFFM
UX20240の第4の入力を介してOFFMUX20
240に対して転送することができる。
BIAS20246から接続され、前述の如くストリン
グ転送中主として使用される。即ち、ストリング転送の
ため生成される物理的記述子の長さフィールドは、OF
FALU20242におけるこれらの物理的記述子のオ
フセット・フィールドの増分または減分のためOFFM
UX20240の第4の入力を介してOFFMUX20
240に対して転送することができる。
【0469】OFFMUX20240の第5の入力は名
前バス20224と接続される。以下において更に説明
するように、名前はFUCTL20214によってNC
10226に対して与えられて、NC10226からS
INのシーケンスの一部としてMODバス10144上
に現われる名前と対応する論理記述子を呼出す。各名前
がNC10226に対して与えられるため、この名前は
名前トラップ(NT)20254に転送されてこれに捕
捉される。NC10226のミスの発生、即ちNC10
226がある特定の名前と対応するエントリを含まない
場合、この名前は後でNT20254から名前バス20
224およびOFFMUX20240の第5の入力を介
してOFFMUX20240に対して転送される。次に
8,12または16の如き2倍数として前に説明した前
記名前は基準化することができ、即ちNTEのサイズに
より乗算される。従ってこの基準化された名前はmCR
10366から名前テーブル・ポインタ(NTP)に対
して付加されてNT10350における対応するNTE
のアドレスを得ることができる。更に、NC10226
のミス、または対応するNT10350におけるページ
の障害を惹起し、または一連の名前の解を必要とする名
前は、OFFMUX20240からOFFALU202
42およびOFFSEL20238の第3の入力を介し
てOFFGRF20234に対して転送することができ
る。この名前は、必要に応じて後でOFFGRF202
34から読出しあるいは復元することができる。
前バス20224と接続される。以下において更に説明
するように、名前はFUCTL20214によってNC
10226に対して与えられて、NC10226からS
INのシーケンスの一部としてMODバス10144上
に現われる名前と対応する論理記述子を呼出す。各名前
がNC10226に対して与えられるため、この名前は
名前トラップ(NT)20254に転送されてこれに捕
捉される。NC10226のミスの発生、即ちNC10
226がある特定の名前と対応するエントリを含まない
場合、この名前は後でNT20254から名前バス20
224およびOFFMUX20240の第5の入力を介
してOFFMUX20240に対して転送される。次に
8,12または16の如き2倍数として前に説明した前
記名前は基準化することができ、即ちNTEのサイズに
より乗算される。従ってこの基準化された名前はmCR
10366から名前テーブル・ポインタ(NTP)に対
して付加されてNT10350における対応するNTE
のアドレスを得ることができる。更に、NC10226
のミス、または対応するNT10350におけるページ
の障害を惹起し、または一連の名前の解を必要とする名
前は、OFFMUX20240からOFFALU202
42およびOFFSEL20238の第3の入力を介し
てOFFGRF20234に対して転送することができ
る。この名前は、必要に応じて後でOFFGRF202
34から読出しあるいは復元することができる。
【0470】次にOFFMUX20240の出力につい
て述べればOFFMUXR23812からのOFFMU
X20240の第1の出力は、OFFMUXR2381
2の内容がOFFALUSA20244を介してOFF
ALU20242の第1の入力に対して転送されること
も可能にする。OFFMUXOS23822からOFF
MUX20240の第2の出力は、OFFALU202
42の第2の入力に対して直接与えられる。OFFAL
U20242は、OFFMUXR23812からの第1
の入力と、OFFMUXOS23822からの第2の入
力、例えば操作されたオフセット・フィールドが同時に
与えることができる。
て述べればOFFMUXR23812からのOFFMU
X20240の第1の出力は、OFFMUXR2381
2の内容がOFFALUSA20244を介してOFF
ALU20242の第1の入力に対して転送されること
も可能にする。OFFMUXOS23822からOFF
MUX20240の第2の出力は、OFFALU202
42の第2の入力に対して直接与えられる。OFFAL
U20242は、OFFMUXR23812からの第1
の入力と、OFFMUXOS23822からの第2の入
力、例えば操作されたオフセット・フィールドが同時に
与えることができる。
【0471】OFFALUSA20244について述べ
れば、OFFALUSA20244はマルチプレクサで
ある。OFFALUSA20244は、OFFALU2
0242の第1の入力として、あるいはOFFSETバ
ス20228に対するOFFP20218の出力として
OFFGRF20234の出力、あるいはOFFMUX
20240の出力のいずれかを選択することができる。
例えばOFFGRF20234からのオフセット・フィ
ールドは、その時の論理記述子のオフセット・フィール
ドを構成するためOFFSETバス20228に対して
読込むことができ、また同時にストリング転送において
後の論理記述子のオフセット・フィールドを生成するた
めに増分または減分されるためOFFALU20242
に対して読込むことができる。
れば、OFFALUSA20244はマルチプレクサで
ある。OFFALUSA20244は、OFFALU2
0242の第1の入力として、あるいはOFFSETバ
ス20228に対するOFFP20218の出力として
OFFGRF20234の出力、あるいはOFFMUX
20240の出力のいずれかを選択することができる。
例えばOFFGRF20234からのオフセット・フィ
ールドは、その時の論理記述子のオフセット・フィール
ドを構成するためOFFSETバス20228に対して
読込むことができ、また同時にストリング転送において
後の論理記述子のオフセット・フィールドを生成するた
めに増分または減分されるためOFFALU20242
に対して読込むことができる。
【0472】OFFALU20242は、通常の全ての
ALU操作の実施が可能な32ビットの汎用演算論理装
置である。例えば、論理記述子のオフセット・フィール
ドを加算、減算、乗算または除算することができる。更
に、OFFALU20242はデータに対する転送経路
として役立ち、即ちOFFALU20242はこのデー
タについて処理することなくOFFALU20242の
出力に対して入力データを転送することができる。OF
FALU20242の第1の出力は、前述の如く、JP
Dバス10142、OFFSEL20238の第3の入
力側およびAONSEL20248の第1の入力側と接
続される。従って、OFFALU20242により転送
される即ち操作されるデータは、JPDバス10142
に対し転送することができ、あるいは以降の操作即ち反
復的な操作のためOFFSEL20238を介してOF
FP20218に対して循環させられることができる。
AONSEL20248に対するOFFALU2024
2の出力は、例えば、OFFP20218によりAON
GRF20232に対して生成されるAONポインタの
AONフィールド即ち物理的記述子をロードするために
使用することができる。更に、このデータ経路は、FU
10120が例えばFU10120の諸操作の中間結果
または最終結果に対するバッファ即ち一時的記憶空間と
してAONGRF20232を使用することを可能にす
る。
ALU操作の実施が可能な32ビットの汎用演算論理装
置である。例えば、論理記述子のオフセット・フィール
ドを加算、減算、乗算または除算することができる。更
に、OFFALU20242はデータに対する転送経路
として役立ち、即ちOFFALU20242はこのデー
タについて処理することなくOFFALU20242の
出力に対して入力データを転送することができる。OF
FALU20242の第1の出力は、前述の如く、JP
Dバス10142、OFFSEL20238の第3の入
力側およびAONSEL20248の第1の入力側と接
続される。従って、OFFALU20242により転送
される即ち操作されるデータは、JPDバス10142
に対し転送することができ、あるいは以降の操作即ち反
復的な操作のためOFFSEL20238を介してOF
FP20218に対して循環させられることができる。
AONSEL20248に対するOFFALU2024
2の出力は、例えば、OFFP20218によりAON
GRF20232に対して生成されるAONポインタの
AONフィールド即ち物理的記述子をロードするために
使用することができる。更に、このデータ経路は、FU
10120が例えばFU10120の諸操作の中間結果
または最終結果に対するバッファ即ち一時的記憶空間と
してAONGRF20232を使用することを可能にす
る。
【0473】OFFSETバス20228に対するOF
FALU20242の出力は、論理記述子のオフセット
・フィールドが直接OFFALU20242からOFF
SETバス20228に対して転送されることを可能に
する。例えば、論理記述子のオフセット・フィールド
は、最初のクロック・サイクルの間OFFALU202
42によって生成することができ、また第2のクロック
・サイクルの間即時OFFSETバス20228に対し
て転送することができる。
FALU20242の出力は、論理記述子のオフセット
・フィールドが直接OFFALU20242からOFF
SETバス20228に対して転送されることを可能に
する。例えば、論理記述子のオフセット・フィールド
は、最初のクロック・サイクルの間OFFALU202
42によって生成することができ、また第2のクロック
・サイクルの間即時OFFSETバス20228に対し
て転送することができる。
【0474】OFFALU20242の第3の出力は名
前バス20224に対して向けられる。以下において更
に述べるように、名前バス20224はNC10226
に対するアドレス入力(ADR)である。名前バス20
224に対するOFFALU20242の出力はこれに
より、OFFP20218がNC10226に対するア
ドレス、即ち名前を生成即ち提供することを可能にす
る。
前バス20224に対して向けられる。以下において更
に述べるように、名前バス20224はNC10226
に対するアドレス入力(ADR)である。名前バス20
224に対するOFFALU20242の出力はこれに
より、OFFP20218がNC10226に対するア
ドレス、即ち名前を生成即ち提供することを可能にす
る。
【0475】OFFP20218の作用について述べた
が、次にLENP20220の作用について説明する。
が、次にLENP20220の作用について説明する。
【0476】e.長さのプロセッサ(LENP)202
20(図239) 図202においては、LENP20220の第1の機能
は、ストリング転送において生成される論理記述子の長
さフィールドを含む論理記述子の長さフィールドの生成
および操作である。LENP20220は、LENGR
F20236と、LENSEL20250と、BIAS
20246と、LENALU20252とを含む。LE
NGRF20236は、例えばフェアチャイルド社の9
3422で良い。LENSEL20250は、例えばS
N74S257とSN74S157およびSN74S2
44からなるもので良く、またLENALU20252
は例えばSN74S381で良い。
20(図239) 図202においては、LENP20220の第1の機能
は、ストリング転送において生成される論理記述子の長
さフィールドを含む論理記述子の長さフィールドの生成
および操作である。LENP20220は、LENGR
F20236と、LENSEL20250と、BIAS
20246と、LENALU20252とを含む。LE
NGRF20236は、例えばフェアチャイルド社の9
3422で良い。LENSEL20250は、例えばS
N74S257とSN74S157およびSN74S2
44からなるもので良く、またLENALU20252
は例えばSN74S381で良い。
【0477】前述の如く、LENGRF20236はG
RF10354の32ビット幅の垂直方向部分である。
LENGRF20236はOFFGRF20234とA
ONGRF20232と並列に作用し、部分的に論理記
述子の長さフィールドを含む。更にまた前述の如く、L
ENGRF20236はデータを含むことができる。
RF10354の32ビット幅の垂直方向部分である。
LENGRF20236はOFFGRF20234とA
ONGRF20232と並列に作用し、部分的に論理記
述子の長さフィールドを含む。更にまた前述の如く、L
ENGRF20236はデータを含むことができる。
【0478】LENSEL20250は、3つの入力を
有し、LENGRF20236に対して出力をまたBI
AS20246の第1の入力を提供するマルチプレクサ
である。LENSEL20250の第1の入力は長さバ
ス20226からであり、長さバス20226からLE
NGRF20236またはBIAS20246に対して
物理的記述子即ち長さフィールドを書込むために使用す
ることができる。このような長さのフィールドは、例え
ば、名前の評価即ち解明操作の間、長さバス20226
からLENGRF20236に対して書込むことができ
る。LENSEL20250の第2の入力はOFFSE
Tバス20228からである。LENSEL20250
の第2の入力は、例えば、OFFP20218によりL
ENGRF20236に対して生成される長さフィール
ドのロードのために使用することができる。更に、OF
FP20218により操作されるデータは、LENSE
L20250の第2の入力を介して記憶するためLEN
GRF20236に対して読込み可能である。
有し、LENGRF20236に対して出力をまたBI
AS20246の第1の入力を提供するマルチプレクサ
である。LENSEL20250の第1の入力は長さバ
ス20226からであり、長さバス20226からLE
NGRF20236またはBIAS20246に対して
物理的記述子即ち長さフィールドを書込むために使用す
ることができる。このような長さのフィールドは、例え
ば、名前の評価即ち解明操作の間、長さバス20226
からLENGRF20236に対して書込むことができ
る。LENSEL20250の第2の入力はOFFSE
Tバス20228からである。LENSEL20250
の第2の入力は、例えば、OFFP20218によりL
ENGRF20236に対して生成される長さフィール
ドのロードのために使用することができる。更に、OF
FP20218により操作されるデータは、LENSE
L20250の第2の入力を介して記憶するためLEN
GRF20236に対して読込み可能である。
【0479】LENSEL20250の第3の入力はL
ENALU20252の出力からで、LENALU20
252の出力をLENGRF20236に対して戻す循
環経路である。LENSEL20250の第3の入力
は、例えば、ある特定の論理記述子の長さフィールドが
LENALU20252により増分もしくは減分されて
LENGRF20236に対して戻されるストリング転
送中に使用することができる。このデータ経路はまた、
例えば、LENGRF20236における1つの場所か
らLENGRF20236における別の場所に32ビッ
ト・ワードを移動する際に使用することができる。前述
の如く、LENSEL20250の出力もまた第1の入
力BIASに対して与えられ、LENSEL20250
の第1,第2または第3の入力において現われるデータ
がBIAS20246の第1の入力に対して与えられる
ことを可能にする。
ENALU20252の出力からで、LENALU20
252の出力をLENGRF20236に対して戻す循
環経路である。LENSEL20250の第3の入力
は、例えば、ある特定の論理記述子の長さフィールドが
LENALU20252により増分もしくは減分されて
LENGRF20236に対して戻されるストリング転
送中に使用することができる。このデータ経路はまた、
例えば、LENGRF20236における1つの場所か
らLENGRF20236における別の場所に32ビッ
ト・ワードを移動する際に使用することができる。前述
の如く、LENSEL20250の出力もまた第1の入
力BIASに対して与えられ、LENSEL20250
の第1,第2または第3の入力において現われるデータ
がBIAS20246の第1の入力に対して与えられる
ことを可能にする。
【0480】BIAS20246は、以下において更に
詳細に説明するように、ストリング転送中に論理記述子
の長さフィールドを生成する。前述の如く、1回の読出
し操作においては、32ビット以上のデータはMEM1
0112から読出すことはできない。従って、長さが3
2ビット以上のデータ項目は、各々が32ビット以下の
データを転送する一連の即ちストリング読出し操作にお
いて転送されなければならない。ストリング転送の論理
記述子の長さフィールドが生成したBIAS20246
は、前述の如く、長さバス20226に対し、LENA
LU20252の第2の入力に対し、またOFFMUX
20240の第4の入力に対して与えられる。バイアス
・フィールドと呼ばれるこれらのストリング転送論理記
述子の長さフィールドは、ストリング転送の実行のため
DESP20210により生成される一連の論理記述子
の長さフィールドとしてBIAS20246により長さ
バス20226に対して与えられる。これらのバイアス
・フィールドはOFFMUX20240の第4の入力に
対して与えられて、前述の如くこれらの論理記述子のオ
フセット・フィールドの増分または減分を行なう。これ
らのバイアス・フィールドはストリング転送中LENA
LU20252の第2の入力に与えられて、ストリング
転送においてMEM10112に対して読込まれつつあ
るデータ項目の長さフィールドをこれに対応するように
減分する。BIAS20246については、LENAL
U20252の説明を最初に行なった後に、更に詳細に
以下において説明する。
詳細に説明するように、ストリング転送中に論理記述子
の長さフィールドを生成する。前述の如く、1回の読出
し操作においては、32ビット以上のデータはMEM1
0112から読出すことはできない。従って、長さが3
2ビット以上のデータ項目は、各々が32ビット以下の
データを転送する一連の即ちストリング読出し操作にお
いて転送されなければならない。ストリング転送の論理
記述子の長さフィールドが生成したBIAS20246
は、前述の如く、長さバス20226に対し、LENA
LU20252の第2の入力に対し、またOFFMUX
20240の第4の入力に対して与えられる。バイアス
・フィールドと呼ばれるこれらのストリング転送論理記
述子の長さフィールドは、ストリング転送の実行のため
DESP20210により生成される一連の論理記述子
の長さフィールドとしてBIAS20246により長さ
バス20226に対して与えられる。これらのバイアス
・フィールドはOFFMUX20240の第4の入力に
対して与えられて、前述の如くこれらの論理記述子のオ
フセット・フィールドの増分または減分を行なう。これ
らのバイアス・フィールドはストリング転送中LENA
LU20252の第2の入力に与えられて、ストリング
転送においてMEM10112に対して読込まれつつあ
るデータ項目の長さフィールドをこれに対応するように
減分する。BIAS20246については、LENAL
U20252の説明を最初に行なった後に、更に詳細に
以下において説明する。
【0481】a.a.長さの演算論理装置(LENAL
U) 長さの演算論理装置(LENALU)20252は、全
ての慣例的な算術および論理演算の実行が可能な32ビ
ットの演算論理装置である。特に、ある特定のデータ項
目のストリング転送の間、LENALU20252から
の長さフィールドは、このデータ項目の長さフィールド
をLENGRF20236からまた連続するバイアス・
フィールドをBIAS20246から受取る。この時L
ENALU20252はこの論理記述子のその時の長さ
フィールドを減分して、ストリング転送の次の読出し操
作中に使用されるべき長さフィールドを生成し、また新
たな長さフィールドをLENSEL20250の第3の
入力を介して再びLENGRF20236に対して送
る。
U) 長さの演算論理装置(LENALU)20252は、全
ての慣例的な算術および論理演算の実行が可能な32ビ
ットの演算論理装置である。特に、ある特定のデータ項
目のストリング転送の間、LENALU20252から
の長さフィールドは、このデータ項目の長さフィールド
をLENGRF20236からまた連続するバイアス・
フィールドをBIAS20246から受取る。この時L
ENALU20252はこの論理記述子のその時の長さ
フィールドを減分して、ストリング転送の次の読出し操
作中に使用されるべき長さフィールドを生成し、また新
たな長さフィールドをLENSEL20250の第3の
入力を介して再びLENGRF20236に対して送
る。
【0482】b.b.BIAS20246(図239) 図239においては、BIAS20246の部分ブロッ
ク図が示されている。BIAS20246は、バイアス
・メモリー(BIASM)23910と、長さ検出器
(LDET)23912と、次の零検出器(NXTZR
O)23914と、選択バイアス(SBIAS)239
16とを含んでいる。LDET23912の入力はBI
AS20246の第1の入力であってLENSEL20
250の出力側に接続されている。LDET23912
の出力はBIASM23910のデータ入力側と接続さ
れ、BIASM23910の出力はNXTZRO239
14の入力側と接続されている。NXTZRO2391
4の出力はSBIAS23916の第1の入力側と接続
されている。SBIAS23916の第2の入力はBI
AS20246の第2の入力即ちL8であり、FUCT
L20214の出力と接続されている。SBIAS23
916の第3の入力はBIAS20246の第3の入力
即ちLであり、FUCTL20214の更に別の出力と
接続されている。SBIAS23916の出力はBIA
S20246の出力であり、前述の如く、長さバス20
226、LENALU20252の第2の入力、および
OFFMUX20240の第4の入力に接続される。
ク図が示されている。BIAS20246は、バイアス
・メモリー(BIASM)23910と、長さ検出器
(LDET)23912と、次の零検出器(NXTZR
O)23914と、選択バイアス(SBIAS)239
16とを含んでいる。LDET23912の入力はBI
AS20246の第1の入力であってLENSEL20
250の出力側に接続されている。LDET23912
の出力はBIASM23910のデータ入力側と接続さ
れ、BIASM23910の出力はNXTZRO239
14の入力側と接続されている。NXTZRO2391
4の出力はSBIAS23916の第1の入力側と接続
されている。SBIAS23916の第2の入力はBI
AS20246の第2の入力即ちL8であり、FUCT
L20214の出力と接続されている。SBIAS23
916の第3の入力はBIAS20246の第3の入力
即ちLであり、FUCTL20214の更に別の出力と
接続されている。SBIAS23916の出力はBIA
S20246の出力であり、前述の如く、長さバス20
226、LENALU20252の第2の入力、および
OFFMUX20240の第4の入力に接続される。
【0483】BIASM23910は、GRF1035
4のSR10362と同じ長さを有しかつこれと共に作
用しかつこれと並列にアドレス指定される7ビット幅の
ランダム・アクセス・メモリーである。BIASM23
910はSR10362の各アドレス場所と対応するア
ドレス場所を有し、SR10362のこれらのアドレス
場所と同時にアドレス指定される。BIASM2391
0は、例えば、AMD社の27S03Aで良い。
4のSR10362と同じ長さを有しかつこれと共に作
用しかつこれと並列にアドレス指定される7ビット幅の
ランダム・アクセス・メモリーである。BIASM23
910はSR10362の各アドレス場所と対応するア
ドレス場所を有し、SR10362のこれらのアドレス
場所と同時にアドレス指定される。BIASM2391
0は、例えば、AMD社の27S03Aで良い。
【0484】BIASM23910は、SR10362
に駐在する各論理記述子のバイアス値を含む。前述の如
く、1つのバイアス値は、ある長さフィールドを記憶し
たLENGRF20236と共に、対応する論理記述子
を有するあるデータ項目がMEM10112から読出さ
れるべき時に、ある特定の読出し操作においてMEM1
0112から読出されるビット数を表わす数である。最
初に、その対応する長さフィールドがLENGRF20
236に対して書込まれる時、バイアス値が以下に述べ
る方法においてBIASM23910に対して書込まれ
る。もしある特定のデータ項目が32ビットより短い長
さを有するならば、このデータ項目の最初のバイアス値
はこのデータ項目の実際の長さを表わすことになる。例
えば、もしあるデータ項目が24ビットの長さを有する
ならば、関連するバイアス値は24を表わす6ビットの
2進数となる。LENGRF20236におけるこのデ
ータ項目の長さフィールドは同様に24の長さ値を含む
ことになる。もしある特定の項目が32ビットより大き
な長さ、例えば、前記の事例において述べたような70
ビットを有するならば、このデータ項目はストリング転
送操作においてMEM10112から読出されねばなら
ない。前述の如く、ストリング転送は、このデータ項目
の転送を完了する32ビット以下の最後の転送を行な
う。MEM10112から一時に32ビットを転送する
一連の読出し操作である。LENGRF20236にお
けるこのようなデータ項目の最初の長さフィールドのエ
ントリは、前に述べたものと同じ事例を用いれば、70
の値を保有することになる。BIASM23910の対
応するアドレス空間に書込まれるこのデータ項目の最初
のバイアス・エントリフィールドは32のバイアス値を
有することになる。32のこの最初のバイアス値は、こ
のデータ項目をMEM10112から転送するため必要
な少なくとも最初の読出し操作は32ビットのデータを
転送することになる。
に駐在する各論理記述子のバイアス値を含む。前述の如
く、1つのバイアス値は、ある長さフィールドを記憶し
たLENGRF20236と共に、対応する論理記述子
を有するあるデータ項目がMEM10112から読出さ
れるべき時に、ある特定の読出し操作においてMEM1
0112から読出されるビット数を表わす数である。最
初に、その対応する長さフィールドがLENGRF20
236に対して書込まれる時、バイアス値が以下に述べ
る方法においてBIASM23910に対して書込まれ
る。もしある特定のデータ項目が32ビットより短い長
さを有するならば、このデータ項目の最初のバイアス値
はこのデータ項目の実際の長さを表わすことになる。例
えば、もしあるデータ項目が24ビットの長さを有する
ならば、関連するバイアス値は24を表わす6ビットの
2進数となる。LENGRF20236におけるこのデ
ータ項目の長さフィールドは同様に24の長さ値を含む
ことになる。もしある特定の項目が32ビットより大き
な長さ、例えば、前記の事例において述べたような70
ビットを有するならば、このデータ項目はストリング転
送操作においてMEM10112から読出されねばなら
ない。前述の如く、ストリング転送は、このデータ項目
の転送を完了する32ビット以下の最後の転送を行な
う。MEM10112から一時に32ビットを転送する
一連の読出し操作である。LENGRF20236にお
けるこのようなデータ項目の最初の長さフィールドのエ
ントリは、前に述べたものと同じ事例を用いれば、70
の値を保有することになる。BIASM23910の対
応するアドレス空間に書込まれるこのデータ項目の最初
のバイアス・エントリフィールドは32のバイアス値を
有することになる。32のこの最初のバイアス値は、こ
のデータ項目をMEM10112から転送するため必要
な少なくとも最初の読出し操作は32ビットのデータを
転送することになる。
【0485】32ビットより小さな長さ、例えば24ビ
ットの長さを有するデータ項目がMEM10112から
読出される時、このデータ項目の24のバイアス値はB
IASM23910から読出されて、この読出し操作に
対する論理記述子の長さフィールドとして長さバス20
226に対して与えられる。同時にこの24なるバイア
ス値は、LENGRF20236から読出された前記デ
ータ項目から控除される。この長さの値からの前記バイ
アス値の控除は零なる結果を生じることになり、これ以
上の読出し操作がこのデータ項目の転送の完了には必要
とされないことを表示する。
ットの長さを有するデータ項目がMEM10112から
読出される時、このデータ項目の24のバイアス値はB
IASM23910から読出されて、この読出し操作に
対する論理記述子の長さフィールドとして長さバス20
226に対して与えられる。同時にこの24なるバイア
ス値は、LENGRF20236から読出された前記デ
ータ項目から控除される。この長さの値からの前記バイ
アス値の控除は零なる結果を生じることになり、これ以
上の読出し操作がこのデータ項目の転送の完了には必要
とされないことを表示する。
【0486】もし例えば70ビットの長さを有するある
データ項目がMEM10112から読出される場合、こ
のデータ項目の最初の32なるバイアス値はストリング
転送の最初の論理記述子の長さフィールドとしてBIA
SM23910から長さバス20226に対して読込ま
れる。同時に、このデータ項目の最初の長さフィールド
はLENGRF20236から読出される。このデータ
項目の最初のバイアス値即ち32は、このデータ項目の
最初の長さ値即ち70からLENALU20252から
控除される。この控除操作の結果は、1つ以上の後続の
読出し操作において転送されるべきデータの残る長さで
ある。この事例においては、最初の長さ値からの最初の
バイアス値の控除は、このデータ項目の38ビットが転
送されるべき状態を維持することを示す。LENALU
20252の出力が表わすこの控除の結果、例えば38
は、LENGRF20236に対するLENSEL20
250の第3の入力に対して転送され、これからこのデ
ータ項目の最初の長さ値が読出されたアドレス場所に書
込まれる。この時、この新たな長さフィールドのエント
リはこのデータ項目の残る長さを表わす。同時に、LD
ET23912はLENGRF20236に対して書込
まれつつある前記の残りの長さを検査して、このデータ
項目の残る長さが32ビットより大きいか、あるいは3
2ビットと等しいか、あるいはまたこれよりも小さいか
を判定する。もしこの残る長さが32ビットよりも大き
ければ、LDET23912は、BIASM23910
に対して書込まれる次の32なるバイアス値ならびに最
初のバイアス値を保持していた同じアドレス場所を生成
する。もし残るデータ項目の長さが32ビットよりも小
さければ、LDET23912は転送されるデータ項目
の実際の残る長さを表わす6ビットの2進数を生成す
る。従って実際の残る長さは、再び、始めに最初のバイ
アス値を含むBIASM23910のアドレス場所に書
込まれる。これらの操作はまた、最初の長さフィールド
を検査して対応する最初のバイアス値を生成する際にL
DET23912によって実施される。これらの読出し
操作は、LDET23912が、残る長さフィールドが
32ビット以下であること、従ってこのデータ項目の前
記転送動作が次の読出し操作と同時に完了するであろう
ことを検出するまでは前述の如く継続される。この事象
が検出される時、LDET23912は7番目のビット
入力を生成し、これは前記ストリング転送の最後のバイ
アス値と共にBIASM23910に対して書込まれ
て、この残る長さが次の読出し操作の後零となるであろ
うことを表示する。最後のバイアス値が前記ストリング
転送の次の読出し操作の開始時においてBIASM23
910から読出される時、前記の7番目のビットはNX
TZRO23914によって検査されこれは後でテスト
条件出力、即ち最後の読出し(LSTRD)をFUCT
L20214に対して生成する。この時FUCTL20
214は、もし転送が成功裏に完了した場合は、この最
後の読出し操作の後に前記のストリング転送の実行が終
了することができる。
データ項目がMEM10112から読出される場合、こ
のデータ項目の最初の32なるバイアス値はストリング
転送の最初の論理記述子の長さフィールドとしてBIA
SM23910から長さバス20226に対して読込ま
れる。同時に、このデータ項目の最初の長さフィールド
はLENGRF20236から読出される。このデータ
項目の最初のバイアス値即ち32は、このデータ項目の
最初の長さ値即ち70からLENALU20252から
控除される。この控除操作の結果は、1つ以上の後続の
読出し操作において転送されるべきデータの残る長さで
ある。この事例においては、最初の長さ値からの最初の
バイアス値の控除は、このデータ項目の38ビットが転
送されるべき状態を維持することを示す。LENALU
20252の出力が表わすこの控除の結果、例えば38
は、LENGRF20236に対するLENSEL20
250の第3の入力に対して転送され、これからこのデ
ータ項目の最初の長さ値が読出されたアドレス場所に書
込まれる。この時、この新たな長さフィールドのエント
リはこのデータ項目の残る長さを表わす。同時に、LD
ET23912はLENGRF20236に対して書込
まれつつある前記の残りの長さを検査して、このデータ
項目の残る長さが32ビットより大きいか、あるいは3
2ビットと等しいか、あるいはまたこれよりも小さいか
を判定する。もしこの残る長さが32ビットよりも大き
ければ、LDET23912は、BIASM23910
に対して書込まれる次の32なるバイアス値ならびに最
初のバイアス値を保持していた同じアドレス場所を生成
する。もし残るデータ項目の長さが32ビットよりも小
さければ、LDET23912は転送されるデータ項目
の実際の残る長さを表わす6ビットの2進数を生成す
る。従って実際の残る長さは、再び、始めに最初のバイ
アス値を含むBIASM23910のアドレス場所に書
込まれる。これらの操作はまた、最初の長さフィールド
を検査して対応する最初のバイアス値を生成する際にL
DET23912によって実施される。これらの読出し
操作は、LDET23912が、残る長さフィールドが
32ビット以下であること、従ってこのデータ項目の前
記転送動作が次の読出し操作と同時に完了するであろう
ことを検出するまでは前述の如く継続される。この事象
が検出される時、LDET23912は7番目のビット
入力を生成し、これは前記ストリング転送の最後のバイ
アス値と共にBIASM23910に対して書込まれ
て、この残る長さが次の読出し操作の後零となるであろ
うことを表示する。最後のバイアス値が前記ストリング
転送の次の読出し操作の開始時においてBIASM23
910から読出される時、前記の7番目のビットはNX
TZRO23914によって検査されこれは後でテスト
条件出力、即ち最後の読出し(LSTRD)をFUCT
L20214に対して生成する。この時FUCTL20
214は、もし転送が成功裏に完了した場合は、この最
後の読出し操作の後に前記のストリング転送の実行が終
了することができる。
【0487】前記の如く、CS10110におけるデー
タ項目の長さの基本単位は32ビットである。従って、
32ビット以下のデータ項目は、32ビット上のデータ
項目がストリング転送を必要とする間は直接転送するこ
とができる。更に、ストリング転送によるデータ項目の
転送は、データ項目自体とこのデータ項目が転送されつ
つある場合のデータの記憶空間の双方の転送された長さ
と転送されるべき残りの長さの追跡を必要とする。この
ため、BIAS20246は、前に述べた方法で、デー
タ項目とこのデータ項目が転送されつつある場合の双方
の論理記述子の長さフィールドとバイアス・フィールド
を記憶し、かつこれにより処理することになる。もしソ
ース記述子のバイアス・フィールドが先行のそれの前も
しくは同時に零になる。即ち転送が完了する場合、ある
いはもし行先のバイアス・フィールドがソースのそれの
前に零になる場合、FUCTL20214はLSTRD
テスト条件を受けることになり、また適当なマイクロコ
ード制御応答を与えることができる。もしソース・バイ
アス・フィールドが行先のそれの前に零になるならば、
このデータ項目が転送されつつある場合の残りが零で充
填され埋込みを完了することを注目されたい。もしデー
タ項目が記述子の記憶容量よりも大きければ、行先の場
所は容量一杯に充填されることになり、FUCTL20
214は適当な動作を開始することを通知される。
タ項目の長さの基本単位は32ビットである。従って、
32ビット以下のデータ項目は、32ビット上のデータ
項目がストリング転送を必要とする間は直接転送するこ
とができる。更に、ストリング転送によるデータ項目の
転送は、データ項目自体とこのデータ項目が転送されつ
つある場合のデータの記憶空間の双方の転送された長さ
と転送されるべき残りの長さの追跡を必要とする。この
ため、BIAS20246は、前に述べた方法で、デー
タ項目とこのデータ項目が転送されつつある場合の双方
の論理記述子の長さフィールドとバイアス・フィールド
を記憶し、かつこれにより処理することになる。もしソ
ース記述子のバイアス・フィールドが先行のそれの前も
しくは同時に零になる。即ち転送が完了する場合、ある
いはもし行先のバイアス・フィールドがソースのそれの
前に零になる場合、FUCTL20214はLSTRD
テスト条件を受けることになり、また適当なマイクロコ
ード制御応答を与えることができる。もしソース・バイ
アス・フィールドが行先のそれの前に零になるならば、
このデータ項目が転送されつつある場合の残りが零で充
填され埋込みを完了することを注目されたい。もしデー
タ項目が記述子の記憶容量よりも大きければ、行先の場
所は容量一杯に充填されることになり、FUCTL20
214は適当な動作を開始することを通知される。
【0488】データ項目の長さを感知しないデータ項目
の転送の許容に加えて、BIAS20246は、データ
項目の長さに対して感知しない短い緊密なマイクロコー
ド・ループによりストリング転送が達成されることを可
能にする。例えば、場所Aから場所Bに対するストリン
グ転送は下記の如くに符号化される。即ち、(1)Aか
らの取出し、バイアスAからの長さの控除、およびaの
オフセットおよび長さの更新、および(2)Bに対する
記憶、バイアスBからの長さの控除、およびもしBの長
さが零にならなければ(1)への分岐、またはもしBの
長さが零になるならば無効になる(転送の終了)。Bの
長さが零になるまではマイクロコード・ループが継続す
るため、ソース(A)の長さはテキストされる必要はな
く、前述の如く、もしAの長さがBの長さよりも小さけ
ればBは充填されて零で埋込まれることになり、あるい
はもしAの長さがBの長さよりも大きいかあるいはこれ
と等しければBは充填されてストリング転送は終了す
る。
の転送の許容に加えて、BIAS20246は、データ
項目の長さに対して感知しない短い緊密なマイクロコー
ド・ループによりストリング転送が達成されることを可
能にする。例えば、場所Aから場所Bに対するストリン
グ転送は下記の如くに符号化される。即ち、(1)Aか
らの取出し、バイアスAからの長さの控除、およびaの
オフセットおよび長さの更新、および(2)Bに対する
記憶、バイアスBからの長さの控除、およびもしBの長
さが零にならなければ(1)への分岐、またはもしBの
長さが零になるならば無効になる(転送の終了)。Bの
長さが零になるまではマイクロコード・ループが継続す
るため、ソース(A)の長さはテキストされる必要はな
く、前述の如く、もしAの長さがBの長さよりも小さけ
ればBは充填されて零で埋込まれることになり、あるい
はもしAの長さがBの長さよりも大きいかあるいはこれ
と等しければBは充填されてストリング転送は終了す
る。
【0489】これにより、LDET23912とNXT
ZRO23914は、DESP20210による読出し
操作を開始するFUCTL20214からの単一のマイ
クロ命令の発生と同時に、FUCTL20214が自動
的にストリング転送を開始することを許容する。この時
読出し操作を開始するこのマイクロ命令は、NXTZR
O23914からFUCTL20214に対するLST
RDが前述のストリング転送が完了したことを表示する
までは自動的に反復される。LDET23912とNX
TZRO23914は夫々、例えば、SN74S26
0、SN74S133、SN74S51、SN74S0
0、SN74S04、SN74S02およびSN74S
32からなるもので良い。
ZRO23914は、DESP20210による読出し
操作を開始するFUCTL20214からの単一のマイ
クロ命令の発生と同時に、FUCTL20214が自動
的にストリング転送を開始することを許容する。この時
読出し操作を開始するこのマイクロ命令は、NXTZR
O23914からFUCTL20214に対するLST
RDが前述のストリング転送が完了したことを表示する
までは自動的に反復される。LDET23912とNX
TZRO23914は夫々、例えば、SN74S26
0、SN74S133、SN74S51、SN74S0
0、SN74S04、SN74S02およびSN74S
32からなるもので良い。
【0490】最後にSBIAS23916について述べ
れば、このSBIAS23916は、例えばSN74S
288、SN74S374およびSN74S244から
なるマルチプレクサである。FUCTL20214から
のマイクロ命令制御下において、SBIAS23916
はBIASM23910からのバイアス値、即ちL8ま
たはLの1つになるようにBIAS20246の出力を
選択する。BIASM23910からのSBIAS23
916の第1の入力については前に述べた。SBIAS
23916の第2の入力即ちL8はFUCTL2021
4から与えられ、FUSITT11012から与えられ
るマイクロ命令の8ビットである。SBIAS2391
6の第2の入力は、バイアス値のマイクロコードの選択
がLENALU20252およびOFFALU2024
2による論理記述子の長さフィールドおよびオフセット
・フィールドの操作においてNC10226に対するエ
ントリの発生のために使用されることを許容する。SB
IAS23916の第3の入力即ちLは同様にFUCT
L20214から与えられ、FUSITT11012に
おけるマイクロ命令の各部から得られる復号された長さ
値である。これらのマイクロコードの長さ値は、ある同
時に生じるデータ項目の長さ、例えば1,2,4,8,
16,32および64ビットの長さを表わしている。8
ビットの長さを表わすL入力は、例えば、MEM101
12からバイト単位でデータを読出す際に使用すること
ができる。
れば、このSBIAS23916は、例えばSN74S
288、SN74S374およびSN74S244から
なるマルチプレクサである。FUCTL20214から
のマイクロ命令制御下において、SBIAS23916
はBIASM23910からのバイアス値、即ちL8ま
たはLの1つになるようにBIAS20246の出力を
選択する。BIASM23910からのSBIAS23
916の第1の入力については前に述べた。SBIAS
23916の第2の入力即ちL8はFUCTL2021
4から与えられ、FUSITT11012から与えられ
るマイクロ命令の8ビットである。SBIAS2391
6の第2の入力は、バイアス値のマイクロコードの選択
がLENALU20252およびOFFALU2024
2による論理記述子の長さフィールドおよびオフセット
・フィールドの操作においてNC10226に対するエ
ントリの発生のために使用されることを許容する。SB
IAS23916の第3の入力即ちLは同様にFUCT
L20214から与えられ、FUSITT11012に
おけるマイクロ命令の各部から得られる復号された長さ
値である。これらのマイクロコードの長さ値は、ある同
時に生じるデータ項目の長さ、例えば1,2,4,8,
16,32および64ビットの長さを表わしている。8
ビットの長さを表わすL入力は、例えば、MEM101
12からバイト単位でデータを読出す際に使用すること
ができる。
【0491】LENP20220の作用について説明し
たが、次にAONP20216の作用について説明す
る。
たが、次にAONP20216の作用について説明す
る。
【0492】f.AONプロセッサ(AONP)202
16 a.a.AONGRF20232 前述の如く、AONP20216はAONSEL202
48とAONGRF20232を含む。AONGRF2
0232はGRF10354の28ビット幅の垂直方向
部分であり、AONポインタのAONフィールドと論理
記述子を記憶する。AONSEL20248はAONG
RF20232に対して書込まれるべき入力を選択する
ためのマルチプレクサである。AONSEL20248
例えばSN74S257で良い。AONGRF2023
2は例えばフェアチャイルド社の93422で良い。
16 a.a.AONGRF20232 前述の如く、AONP20216はAONSEL202
48とAONGRF20232を含む。AONGRF2
0232はGRF10354の28ビット幅の垂直方向
部分であり、AONポインタのAONフィールドと論理
記述子を記憶する。AONSEL20248はAONG
RF20232に対して書込まれるべき入力を選択する
ためのマルチプレクサである。AONSEL20248
例えばSN74S257で良い。AONGRF2023
2は例えばフェアチャイルド社の93422で良い。
【0493】前述の如く、AONGRF20232の出
力は、AONポインタのAONフィールドおよび論理記
述子がこれからAONバス20230に対して転送され
ることを許容するためAONバス20230と接続され
ている。AONGRF20232の出力は、AONバス
20230からの両方向の入力と共に、AONSEL2
0248の第2の入力およびOFFSEL20238の
第4の入力と接続されている。このデータ経路は、AO
NGRF20232から、あるいはAONバス2023
0からAONフィールドがAONGRF20232また
はOFFGRF20234に対して書込まれることを許
容し、あるいはOFFMUX20240に対する入力と
して与えられることを許容する。
力は、AONポインタのAONフィールドおよび論理記
述子がこれからAONバス20230に対して転送され
ることを許容するためAONバス20230と接続され
ている。AONGRF20232の出力は、AONバス
20230からの両方向の入力と共に、AONSEL2
0248の第2の入力およびOFFSEL20238の
第4の入力と接続されている。このデータ経路は、AO
NGRF20232から、あるいはAONバス2023
0からAONフィールドがAONGRF20232また
はOFFGRF20234に対して書込まれることを許
容し、あるいはOFFMUX20240に対する入力と
して与えられることを許容する。
【0494】b.b.AONセレクタ20248 AONセレクタ(AONSEL)20248の第1の入
力は、前述の如くOFFALU20242の出力と接続
され、また例えばOFFP20218により生成即ち操
作されたAONフィールドがAONGRF20232に
対して書込まれることを可能にするため使用される。A
ONSEL20248の第3の入力は、各ビットが論理
値零である28ビット・ワードである。AONSEL2
0248の第3の入力は、全て零のAONフィールドが
AONGRF20232に対して書込まれることを可能
にする。全て零のAONフィールドがAONGRF20
232に対して書込まれることを許容する。全て零のA
ONフィールドは、OFFGRF20234とLENG
RF20236における対応するエントリがAONポイ
ンタまたは論理記述子のいずれでもないことを示すため
保留される。全て零のAONフィールドはこのように保
留されて、OFFGRF20234およびLENGRF
20236における対応するエントリがデータを保有す
ることを表示する。
力は、前述の如くOFFALU20242の出力と接続
され、また例えばOFFP20218により生成即ち操
作されたAONフィールドがAONGRF20232に
対して書込まれることを可能にするため使用される。A
ONSEL20248の第3の入力は、各ビットが論理
値零である28ビット・ワードである。AONSEL2
0248の第3の入力は、全て零のAONフィールドが
AONGRF20232に対して書込まれることを可能
にする。全て零のAONフィールドがAONGRF20
232に対して書込まれることを許容する。全て零のA
ONフィールドは、OFFGRF20234とLENG
RF20236における対応するエントリがAONポイ
ンタまたは論理記述子のいずれでもないことを示すため
保留される。全て零のAONフィールドはこのように保
留されて、OFFGRF20234およびLENGRF
20236における対応するエントリがデータを保有す
ることを表示する。
【0495】要約すれば、前述の如く、DESP202
10はAONP20216と、OFFP20218と、
LENP20220を含んでいる。OFFP20218
は、AONポインタおよび論理記述子のオフセット・フ
ィールドを記憶しDESP20210により処理される
べきデータを保持するためのGRF10354とOFF
GRF20234の垂直部分を保有する。OFFP20
218はMEM10112からJP10114に対する
データの転送用の主な経路であり、全ての通常の算術お
よび論理演算を実施するための32ビットの汎用演算論
理装置である。更に、OFFP20218は、回路、例
えば論理記述子のAON、オフセットおよび長さの各フ
ィールドおよびAONポインタの生成および操作のため
のOFFMUX20240を含む。OFFP20218
はまた、例えばNC10226、ATU10228、P
C10234、AOT10712、MHT10716、
MFT10718およびMEM10112に駐在する他
のデータおよびアドレス構造に対するエントリを生成し
てこれを操作することができる。LENP20220
は、論理記述子の長さフィールドの記憶のため、および
データの記憶のためのGRF10354、LENGRF
20236の垂直部分を含む。長さプロセッサ2022
0は更に、MEM10112の読出し操作のための論理
記述子の長さフィールドを提供するため、また特にスト
リング転送を自動的に実施するため、LENGRF20
236およびLENALU20252と関連して使用さ
れるBIAS20246を含む。AONP20216は
同様に、GRF10354の垂直部分、AONGRF2
0232を含んでいる。AONGRF20232の主な
機能は、AONポインタおよび論理記述子のAONフィ
ールドを記憶してこれを提供することである。
10はAONP20216と、OFFP20218と、
LENP20220を含んでいる。OFFP20218
は、AONポインタおよび論理記述子のオフセット・フ
ィールドを記憶しDESP20210により処理される
べきデータを保持するためのGRF10354とOFF
GRF20234の垂直部分を保有する。OFFP20
218はMEM10112からJP10114に対する
データの転送用の主な経路であり、全ての通常の算術お
よび論理演算を実施するための32ビットの汎用演算論
理装置である。更に、OFFP20218は、回路、例
えば論理記述子のAON、オフセットおよび長さの各フ
ィールドおよびAONポインタの生成および操作のため
のOFFMUX20240を含む。OFFP20218
はまた、例えばNC10226、ATU10228、P
C10234、AOT10712、MHT10716、
MFT10718およびMEM10112に駐在する他
のデータおよびアドレス構造に対するエントリを生成し
てこれを操作することができる。LENP20220
は、論理記述子の長さフィールドの記憶のため、および
データの記憶のためのGRF10354、LENGRF
20236の垂直部分を含む。長さプロセッサ2022
0は更に、MEM10112の読出し操作のための論理
記述子の長さフィールドを提供するため、また特にスト
リング転送を自動的に実施するため、LENGRF20
236およびLENALU20252と関連して使用さ
れるBIAS20246を含む。AONP20216は
同様に、GRF10354の垂直部分、AONGRF2
0232を含んでいる。AONGRF20232の主な
機能は、AONポインタおよび論理記述子のAONフィ
ールドを記憶してこれを提供することである。
【0496】DESP20210の構造および作用につ
いて説明したが、次にメモリー・インターフェース(M
EMINT)20212の構造および作用について説明
する。
いて説明したが、次にメモリー・インターフェース(M
EMINT)20212の構造および作用について説明
する。
【0497】2.メモリー・インターフェース(MEM
INT)20212(図106,図210) メモリー・インターフェース(MEMINT)2021
2はMEM10112に対するFU10120のインタ
ーフェースを構成する。前述の如く、MEMINT20
212は名前カッシェ(NC)10226、アドレス翻
訳装置(ATU)10228および機密保護カッシェ
(PC)10234を含み、その全てについては前に簡
単に説明した。MEMINT20212は更に、記述子
トラップ(DEST)20256とデータ・トラップ
(DAT)20258を含む。MEMINT20212
により実施される諸機能は、(1)NC10226によ
る論理記述子に対する名前の解明、(2)ATU102
28による論理記述子から物理的記述子への翻訳、およ
び(3)PC10234によるオブジェクトに対するア
クセス書込みの確認を含む。
INT)20212(図106,図210) メモリー・インターフェース(MEMINT)2021
2はMEM10112に対するFU10120のインタ
ーフェースを構成する。前述の如く、MEMINT20
212は名前カッシェ(NC)10226、アドレス翻
訳装置(ATU)10228および機密保護カッシェ
(PC)10234を含み、その全てについては前に簡
単に説明した。MEMINT20212は更に、記述子
トラップ(DEST)20256とデータ・トラップ
(DAT)20258を含む。MEMINT20212
により実施される諸機能は、(1)NC10226によ
る論理記述子に対する名前の解明、(2)ATU102
28による論理記述子から物理的記述子への翻訳、およ
び(3)PC10234によるオブジェクトに対するア
クセス書込みの確認を含む。
【0498】図202に示されるように、NC1022
6のアドレス入力(ADR)は名前バス20224に対
して接続されている。NC10226の書込み長さフィ
ールドの入力(WL)はLENGRF20236の出力
側に対して接続される。NC10226の書込みオフセ
ット・フィールド入力(WO)および書込みAONフィ
ールド入力(WA)は夫々、OFFSETバス2022
8およびAONバス20230に対して接続される。N
C10226の読出しAONフィールド(RA)、読出
しオフセット・フィールド(RO)および読出し長さフ
ィールド(RL)の出力は、夫々AONバス2023
0、OFFSETバス20228および長さバス202
26に対して接続される。
6のアドレス入力(ADR)は名前バス20224に対
して接続されている。NC10226の書込み長さフィ
ールドの入力(WL)はLENGRF20236の出力
側に対して接続される。NC10226の書込みオフセ
ット・フィールド入力(WO)および書込みAONフィ
ールド入力(WA)は夫々、OFFSETバス2022
8およびAONバス20230に対して接続される。N
C10226の読出しAONフィールド(RA)、読出
しオフセット・フィールド(RO)および読出し長さフ
ィールド(RL)の出力は、夫々AONバス2023
0、OFFSETバス20228および長さバス202
26に対して接続される。
【0499】DEST20256の両方向のAON(A
ON)、オフセット(OFF)および長さ(LEN)の
各ポートは、両方向のバスにより、夫々AONバス20
230、OFFSETバス20228および長さバス2
0226に対して接続される。
ON)、オフセット(OFF)および長さ(LEN)の
各ポートは、両方向のバスにより、夫々AONバス20
230、OFFSETバス20228および長さバス2
0226に対して接続される。
【0500】PC10234は、夫々AONバス202
30およびOFFSETバス20228と接続されたA
ON(AON)およびオフセット(OFF)の各入力を
有する。PC10234は、JPDバス10142と接
続された書込みエントリ(WEN)入力を有する。AT
U10228は、夫々AONバス20230、OFFS
ETバス20228および長さバス20226と接続さ
れたAON(AON)、オフセット(OFF)および長
さ(LEN)の各入力を有する。ATU10228の出
力は物理的記述子(PD)バス10146と接続され
る。
30およびOFFSETバス20228と接続されたA
ON(AON)およびオフセット(OFF)の各入力を
有する。PC10234は、JPDバス10142と接
続された書込みエントリ(WEN)入力を有する。AT
U10228は、夫々AONバス20230、OFFS
ETバス20228および長さバス20226と接続さ
れたAON(AON)、オフセット(OFF)および長
さ(LEN)の各入力を有する。ATU10228の出
力は物理的記述子(PD)バス10146と接続され
る。
【0501】最後に、データ・トラップ(DAT)20
258はJPDバス10142に関して接続された両方
向性ポートを有する。
258はJPDバス10142に関して接続された両方
向性ポートを有する。
【0502】a.a.記述子トラップ(DST)202
56およびデータ・トラップ20258 最初に記述子トラップ(DST)20256およびデー
タ・トラップ(DAT)20258について述べれば、
DST20256は、OFFSETバス20228とO
FFSETバス20228と、長さバス20226上に
現われる論理記述子を受取りこれを捕捉するためのレジ
スタである。同様に、DAT20258はJPDバス1
0142上に現われるデータ・ワードを受取りこれを捕
捉するためのレジスタである。DST20256および
DAT20258はその後、捕捉された論理記述子また
はデータ・ワードを夫々AONバス20230、OFF
SETバス20228および長さバス20226に対
し、またJPDバス10142に対して戻すことができ
る。
56およびデータ・トラップ20258 最初に記述子トラップ(DST)20256およびデー
タ・トラップ(DAT)20258について述べれば、
DST20256は、OFFSETバス20228とO
FFSETバス20228と、長さバス20226上に
現われる論理記述子を受取りこれを捕捉するためのレジ
スタである。同様に、DAT20258はJPDバス1
0142上に現われるデータ・ワードを受取りこれを捕
捉するためのレジスタである。DST20256および
DAT20258はその後、捕捉された論理記述子また
はデータ・ワードを夫々AONバス20230、OFF
SETバス20228および長さバス20226に対
し、またJPDバス10142に対して戻すことができ
る。
【0503】前述の如く、多くのCS10110の操
作、特にMEM10112およびJP10114の操作
はパイプ・ライン化されている。即ち、諸操作は、同時
に実行中の2つ以上の操作内のある組と並行させられ
る。例えば、FU10120はMEM10112に対し
て読出し要求を与えることができ、MEM10112が
この要求を受入れて処理しつつある間第2の読出し要求
を生じる。DST20256およびDAT20258
は、これらの操作の一時的なレコードを提示することに
よって、並行操作の実行においてこれを補佐する。例え
ば、FU10120によるMEM10112に対する読
出しまたは書込み要求の一部は、ATU10228に対
して与えられる論理記述子である。もし例えば今述べた
許りの第1の読出し要求がATU10228のカッシェ
・ミスまたは機密保護の侵害を惹起するならば、この第
1の要求の論理記述子は前に述べたようにCS1011
0により以降の動作のため回復されねばならない。この
論理記述子はDEST20256において捕捉されて記
憶され、このため即時使用可能となり、この結果202
10はこの記述子の再生のためには必要とされない。D
AT20258はJP10114からMEM10112
に対して書込まれるデータに関して同様なオブジェクト
を果たす。即ち、DAT20258は、JP10114
によりJPDバス10142に対して転送される各32
ビット・ワードのコピーを受取ってこれを捕捉する。M
EM10112が書込み要求を受入れることが不可能な
場合、このデータはその後DAT20258から再び与
えられる。
作、特にMEM10112およびJP10114の操作
はパイプ・ライン化されている。即ち、諸操作は、同時
に実行中の2つ以上の操作内のある組と並行させられ
る。例えば、FU10120はMEM10112に対し
て読出し要求を与えることができ、MEM10112が
この要求を受入れて処理しつつある間第2の読出し要求
を生じる。DST20256およびDAT20258
は、これらの操作の一時的なレコードを提示することに
よって、並行操作の実行においてこれを補佐する。例え
ば、FU10120によるMEM10112に対する読
出しまたは書込み要求の一部は、ATU10228に対
して与えられる論理記述子である。もし例えば今述べた
許りの第1の読出し要求がATU10228のカッシェ
・ミスまたは機密保護の侵害を惹起するならば、この第
1の要求の論理記述子は前に述べたようにCS1011
0により以降の動作のため回復されねばならない。この
論理記述子はDEST20256において捕捉されて記
憶され、このため即時使用可能となり、この結果202
10はこの記述子の再生のためには必要とされない。D
AT20258はJP10114からMEM10112
に対して書込まれるデータに関して同様なオブジェクト
を果たす。即ち、DAT20258は、JP10114
によりJPDバス10142に対して転送される各32
ビット・ワードのコピーを受取ってこれを捕捉する。M
EM10112が書込み要求を受入れることが不可能な
場合、このデータはその後DAT20258から再び与
えられる。
【0504】b.b.名前カッシェ10226、アドレ
ス翻訳装置10228および機密保護カッシェ(図10
6) NC10226、ATU10228およびPC1023
4について述べれば、MEMINT20212のこれら
の要素は、MEM10112に対するFU10120の
インターフェースの速度、従ってCS10110の処理
速度を強化する主としてカッシェ機構である。前に述べ
たように、NC10226は、CS10110により実
行中のプロセスにおいてその時現われるあるオペランド
名と対応する1組の論理記述子を保有する。このため、
NC10226は、対応する論理記述子に対してあるオ
ペランド名の高速の解を有効に与える。ストリング転送
に関して前に述べたように、NC10226は一般に、
256ビット長さより小さなデータ項目に対してのみ論
理記述子を含むことになる。NC10226の読出しお
よび書込みアドレスは名前バス20224において与え
られる。名前の読出しおよび書込みアドレスはDESP
20210から、特に前述の如くOFFP20218か
ら、あるいはFUCTL20214の以下の説明におい
て述べるようにFUCTL20214から与えることが
できる。各々がAONフィールド、オフセット・フィー
ルド長さフィールドからなるNC10226のエントリ
を構成する論理記述子は夫々AONバス20230、O
FFSETバス20228およびLENGRF2023
6の出力からのNC10226の入力WA,WOおよび
WLを介してNC10226に対して書込まれる。NC
10226に対して与えられた名前に応じてNC102
26から読出される論理記述子は、夫々NC10226
の出力RA,ROおよびRLからAONバス2023
0、OFFSETバス20228および長さバス202
26に対して与えられる。
ス翻訳装置10228および機密保護カッシェ(図10
6) NC10226、ATU10228およびPC1023
4について述べれば、MEMINT20212のこれら
の要素は、MEM10112に対するFU10120の
インターフェースの速度、従ってCS10110の処理
速度を強化する主としてカッシェ機構である。前に述べ
たように、NC10226は、CS10110により実
行中のプロセスにおいてその時現われるあるオペランド
名と対応する1組の論理記述子を保有する。このため、
NC10226は、対応する論理記述子に対してあるオ
ペランド名の高速の解を有効に与える。ストリング転送
に関して前に述べたように、NC10226は一般に、
256ビット長さより小さなデータ項目に対してのみ論
理記述子を含むことになる。NC10226の読出しお
よび書込みアドレスは名前バス20224において与え
られる。名前の読出しおよび書込みアドレスはDESP
20210から、特に前述の如くOFFP20218か
ら、あるいはFUCTL20214の以下の説明におい
て述べるようにFUCTL20214から与えることが
できる。各々がAONフィールド、オフセット・フィー
ルド長さフィールドからなるNC10226のエントリ
を構成する論理記述子は夫々AONバス20230、O
FFSETバス20228およびLENGRF2023
6の出力からのNC10226の入力WA,WOおよび
WLを介してNC10226に対して書込まれる。NC
10226に対して与えられた名前に応じてNC102
26から読出される論理記述子は、夫々NC10226
の出力RA,ROおよびRLからAONバス2023
0、OFFSETバス20228および長さバス202
26に対して与えられる。
【0505】ATU10228は同様に、論理記述子か
ら物理的記述子への高速の翻訳を行なうためのカッシェ
機構である。一般に、ATU10228は如何なる時
も、JP10114によりMEM10112に対してそ
の時行なわれつつある、あるいは行なわれることが意図
されるMEM10112の読出しおよび書込み要求のた
めの1組の論理ページ数から物理的ページ数へのマッピ
ングを含むことになる。前に述べたように、各物理的記
述子は、名前番号(FN)フィールドと、フレーム内オ
フセット(O)フィールドと、長さフィールド(FN)
からなっている。ストリング転送に関して述べたよう
に、物理的記述子の長さフィールドは、論理記述子の長
さフィールドにおけるように、32ビットの長さより小
さいかあるいは等しい長さのデータ項目を指定する。図
106Cによれば、前に述べたように、論理記述子は1
4ビットのAONフィールドと、32ビットのオフセッ
ト・フィールドと、長さフィールドからなり、この場合
32ビットの論理記述子のオフセット・フィールドは1
8ビットのページ番号(P)フィールドと14ビットの
ページ内オフセット(O)フィールドに分割されてい
る。論理記述子を物理的記述子に翻訳する際、論理記述
子の長さフィールドとOフィールドとは、夫々物理的記
述子の長さフィールドとOフィールドとして直接使用さ
れる。論理記述子のAONフィールドおよびPフィール
ドは物理的記述子のFNフィールドに翻訳される。実際
の翻訳動作は必要とされないため、ATU10228
は、対応する物理的記述子のOフィールドおよび長さフ
ィールドとして、MEM10112に対し直接、即ち遅
れを生じることなく論理記述子のLフィールドおよび対
応するOフィールドを与えることができる。これによ
り、ATU10228のカッシェ・エントリは、ATU
10228が対応するエントリを有するこれらの論理記
述子のAONフィールドおよびPフィールドと対応する
物理的記述子のFNフィールドからなる。物理的記述子
のFNフィールドが物理的記述子のOフィールドおよび
長さフィールドにおけるように直接ではなくATU10
228のカッシェから与えられるため、物理的記述子の
FNフィールドは、例えば、前述の如くこの物理的記述
子のOおよび長さフィールドよりは1クロック・サイク
ル遅れてMEM10112に対して与えられる。
ら物理的記述子への高速の翻訳を行なうためのカッシェ
機構である。一般に、ATU10228は如何なる時
も、JP10114によりMEM10112に対してそ
の時行なわれつつある、あるいは行なわれることが意図
されるMEM10112の読出しおよび書込み要求のた
めの1組の論理ページ数から物理的ページ数へのマッピ
ングを含むことになる。前に述べたように、各物理的記
述子は、名前番号(FN)フィールドと、フレーム内オ
フセット(O)フィールドと、長さフィールド(FN)
からなっている。ストリング転送に関して述べたよう
に、物理的記述子の長さフィールドは、論理記述子の長
さフィールドにおけるように、32ビットの長さより小
さいかあるいは等しい長さのデータ項目を指定する。図
106Cによれば、前に述べたように、論理記述子は1
4ビットのAONフィールドと、32ビットのオフセッ
ト・フィールドと、長さフィールドからなり、この場合
32ビットの論理記述子のオフセット・フィールドは1
8ビットのページ番号(P)フィールドと14ビットの
ページ内オフセット(O)フィールドに分割されてい
る。論理記述子を物理的記述子に翻訳する際、論理記述
子の長さフィールドとOフィールドとは、夫々物理的記
述子の長さフィールドとOフィールドとして直接使用さ
れる。論理記述子のAONフィールドおよびPフィール
ドは物理的記述子のFNフィールドに翻訳される。実際
の翻訳動作は必要とされないため、ATU10228
は、対応する物理的記述子のOフィールドおよび長さフ
ィールドとして、MEM10112に対し直接、即ち遅
れを生じることなく論理記述子のLフィールドおよび対
応するOフィールドを与えることができる。これによ
り、ATU10228のカッシェ・エントリは、ATU
10228が対応するエントリを有するこれらの論理記
述子のAONフィールドおよびPフィールドと対応する
物理的記述子のFNフィールドからなる。物理的記述子
のFNフィールドが物理的記述子のOフィールドおよび
長さフィールドにおけるように直接ではなくATU10
228のカッシェから与えられるため、物理的記述子の
FNフィールドは、例えば、前述の如くこの物理的記述
子のOおよび長さフィールドよりは1クロック・サイク
ル遅れてMEM10112に対して与えられる。
【0506】図202によれば、ATU10228に対
して書込まれるべき物理的記述子のFNフィールドは一
般にDESP20210によって生成される。ATU1
0228に対して書込まれるFNフィールドは、JPD
バス10142を介してATU10228のデータ入力
(DI)に対して与えられる。ATU10228の読出
しおよび書込みアドレスは論理記述子のAONフィール
ドおよびPフィールドからなり、夫々AONバス202
30およびOFFSETバス20228からATU10
228のAONおよびOFF入力に対して与えられる。
ATU10228の読出しおよび書込みアドレスは、D
ESP20210から、または更に以下に述べるように
FUCTL20214から与えることができる。ATU
10228のFN出力は、物理的記述子を構成するOフ
ィールドおよび長さフィールドと共に、PDバス101
46に対して与えられる。
して書込まれるべき物理的記述子のFNフィールドは一
般にDESP20210によって生成される。ATU1
0228に対して書込まれるFNフィールドは、JPD
バス10142を介してATU10228のデータ入力
(DI)に対して与えられる。ATU10228の読出
しおよび書込みアドレスは論理記述子のAONフィール
ドおよびPフィールドからなり、夫々AONバス202
30およびOFFSETバス20228からATU10
228のAONおよびOFF入力に対して与えられる。
ATU10228の読出しおよび書込みアドレスは、D
ESP20210から、または更に以下に述べるように
FUCTL20214から与えることができる。ATU
10228のFN出力は、物理的記述子を構成するOフ
ィールドおよび長さフィールドと共に、PDバス101
46に対して与えられる。
【0507】PC10234は、MEM10112に対
するJP10114の読出しまたは書込み要求の一部と
して生成される論理記述子により識別されるオブジェク
トに対する活動状態の手順のアクセス権を確認するため
のカッシェ機構である。前述の如く、オブジェクトに対
するアクセス権は主題に基づいて調停される。主題は主
体、プロセスおよび定義域のある特定の組合せとして定
義されてきた。主体、プロセスおよび定義域は各々対応
するUIDによって識別される。あるオブジェクトに対
するアクセス権を有する各主題は、CS10110の機
密保護機構の前の説明において記述したように活動状態
の主題番号(ASN)が割当てられる。その時CS10
110において活動状態のある主題のASNは、FU1
0120におけるASNレジスタ10916に記憶され
る。その時活動状態のオブジェクトに対するその時活動
状態の主題のアクセス権は、これらのオブジェクトのア
クセス制御リスト(ACL)10918から読出され
て、PC10234に記憶される。もしその時のASN
が変化するとPC10234は対応するアクセス権のエ
ントリをフラッシュして、この新たなASNに対応する
新たなエントリがPC10234に対して書込まれる。
ある特定のオブジェクトに対するある特定のその時のA
SNのアクセス権は、このオブジェクトを識別するAO
NによりPC10234の割出しを行なうことによっ
て、即ちアドレス指定によって決定することができる。
エントリをPC10234に対して書込むか、あるいは
PC10234から読出すアドレスがAONバス202
30からのPC10234のAON入力に対して与えら
れる。PC10234に対して書込まれるべきエントリ
は、JPDバス10142からPC10234のWEN
入力に対して与えられる。PC10234はまた、FU
10220によりその時アドレス指定されつつあるオブ
ジェクトに関してJP10114により実施されるべき
その時の操作を表示するFUCTL20214からの入
力(明瞭化のため図202には示さない)が与えられ
る。FU10120がある特定のオブジェクトをMEM
10112に関連付ける読出しまたは書込み要求を与え
る時は常に、この要求のAONフィールドは、PC10
234に対するアドレスとして与えられる。このオブジ
ェクトに対するその時活動状態の主題のアクセス権は、
対応するPC10234から読出されて、このオブジェ
クトに関してJP10114により実施されるべき特定
の操作を表示するFUCTL20214と比較される。
従って、JP10114により実施される操作はこのオ
ブジェクトに対する前記の活動状態の主題のアクセス権
と比較され、PC10234は前記の活動状態の主題が
意図された操作の実施のため必要な権利を有するかどう
かを示す出力を生じる。PC10234の割出しおよび
意図された操作に対するアクセス権の比較は、ATU1
0228によるメモリー要求の論理記述子の対応する物
理的記述子への翻訳と同時に実施される。もしPC10
234がこの活動状態の主題が必要とされるアクセス権
を有することを表示するならば、意図された操作はJP
10114によって実行される。もしPC10234が
この活動状態の主題が必要とされるアクセス権を持たな
いことを表示するならば、PC10234は、機密保護
機構の侵害が生じて意図された操作の実行を遮断するこ
とを示す。
するJP10114の読出しまたは書込み要求の一部と
して生成される論理記述子により識別されるオブジェク
トに対する活動状態の手順のアクセス権を確認するため
のカッシェ機構である。前述の如く、オブジェクトに対
するアクセス権は主題に基づいて調停される。主題は主
体、プロセスおよび定義域のある特定の組合せとして定
義されてきた。主体、プロセスおよび定義域は各々対応
するUIDによって識別される。あるオブジェクトに対
するアクセス権を有する各主題は、CS10110の機
密保護機構の前の説明において記述したように活動状態
の主題番号(ASN)が割当てられる。その時CS10
110において活動状態のある主題のASNは、FU1
0120におけるASNレジスタ10916に記憶され
る。その時活動状態のオブジェクトに対するその時活動
状態の主題のアクセス権は、これらのオブジェクトのア
クセス制御リスト(ACL)10918から読出され
て、PC10234に記憶される。もしその時のASN
が変化するとPC10234は対応するアクセス権のエ
ントリをフラッシュして、この新たなASNに対応する
新たなエントリがPC10234に対して書込まれる。
ある特定のオブジェクトに対するある特定のその時のA
SNのアクセス権は、このオブジェクトを識別するAO
NによりPC10234の割出しを行なうことによっ
て、即ちアドレス指定によって決定することができる。
エントリをPC10234に対して書込むか、あるいは
PC10234から読出すアドレスがAONバス202
30からのPC10234のAON入力に対して与えら
れる。PC10234に対して書込まれるべきエントリ
は、JPDバス10142からPC10234のWEN
入力に対して与えられる。PC10234はまた、FU
10220によりその時アドレス指定されつつあるオブ
ジェクトに関してJP10114により実施されるべき
その時の操作を表示するFUCTL20214からの入
力(明瞭化のため図202には示さない)が与えられ
る。FU10120がある特定のオブジェクトをMEM
10112に関連付ける読出しまたは書込み要求を与え
る時は常に、この要求のAONフィールドは、PC10
234に対するアドレスとして与えられる。このオブジ
ェクトに対するその時活動状態の主題のアクセス権は、
対応するPC10234から読出されて、このオブジェ
クトに関してJP10114により実施されるべき特定
の操作を表示するFUCTL20214と比較される。
従って、JP10114により実施される操作はこのオ
ブジェクトに対する前記の活動状態の主題のアクセス権
と比較され、PC10234は前記の活動状態の主題が
意図された操作の実施のため必要な権利を有するかどう
かを示す出力を生じる。PC10234の割出しおよび
意図された操作に対するアクセス権の比較は、ATU1
0228によるメモリー要求の論理記述子の対応する物
理的記述子への翻訳と同時に実施される。もしPC10
234がこの活動状態の主題が必要とされるアクセス権
を有することを表示するならば、意図された操作はJP
10114によって実行される。もしPC10234が
この活動状態の主題が必要とされるアクセス権を持たな
いことを表示するならば、PC10234は、機密保護
機構の侵害が生じて意図された操作の実行を遮断するこ
とを示す。
【0508】c.c.一般的なカッシェおよびNC10
226の構造および作用(図240) NC10226、ATU10228およびPC1023
4の全体的な構造および作用について述べたが、これら
カッシェの構造および作用については以下において更に
詳細に述べることにする。NC10226と、ATU1
0228と、PC10234の構造および作用は、NC
10226は4通りに組合された連想カッシェであり、
ATU10228は3通りに組合された連想カッシェで
あり、またPC10234は2通りに組合された連想カ
ッシェである点を除いて類似している。
226の構造および作用(図240) NC10226、ATU10228およびPC1023
4の全体的な構造および作用について述べたが、これら
カッシェの構造および作用については以下において更に
詳細に述べることにする。NC10226と、ATU1
0228と、PC10234の構造および作用は、NC
10226は4通りに組合された連想カッシェであり、
ATU10228は3通りに組合された連想カッシェで
あり、またPC10234は2通りに組合された連想カ
ッシェである点を除いて類似している。
【0509】このように、NC10226、ATU10
228、PC10234の構造および作用については、
NC10226、ATU10228、PC10234の
各々に対して必ずしも同一ではないが類似する一般のカ
ッシェの説明を照合することにより説明する。共に一般
化されたカッシェの構造および作用を更に例示しかつ一
般化されたカッシェおよびNC10226間の差につい
て述べるため、以下の一般化されたカッシェの説明にお
いてNC10226を照合する。次に、ATU1022
8およびPC10234については、ATU1022
8、PC10234および一般化されたカッシェ間の差
異の説明によって記述する。
228、PC10234の構造および作用については、
NC10226、ATU10228、PC10234の
各々に対して必ずしも同一ではないが類似する一般のカ
ッシェの説明を照合することにより説明する。共に一般
化されたカッシェの構造および作用を更に例示しかつ一
般化されたカッシェおよびNC10226間の差につい
て述べるため、以下の一般化されたカッシェの説明にお
いてNC10226を照合する。次に、ATU1022
8およびPC10234については、ATU1022
8、PC10234および一般化されたカッシェ間の差
異の説明によって記述する。
【0510】図240においては、一般化された4通り
に組合された連想カッシェの部分ブロック図が示され
る。タッグ・ストア(TS)24010は、タッグ・ス
トアA(TSA)24012と、タッグ・ストアB(T
SB)24014と、タッグ・ストアC(TSC)と、
タッグ・ストアD(TSD)24018からなる。TS
A24012乃至TSD24018で示されるカッシェ
の組の各々は、例えばNC10226におけるように、
16エントリまで含み得、そのためTSA24012乃
至TSD24018は各々16ワードの長さとなる。
に組合された連想カッシェの部分ブロック図が示され
る。タッグ・ストア(TS)24010は、タッグ・ス
トアA(TSA)24012と、タッグ・ストアB(T
SB)24014と、タッグ・ストアC(TSC)と、
タッグ・ストアD(TSD)24018からなる。TS
A24012乃至TSD24018で示されるカッシェ
の組の各々は、例えばNC10226におけるように、
16エントリまで含み得、そのためTSA24012乃
至TSD24018は各々16ワードの長さとなる。
【0511】1つのカッシェに対するアドレス入力は1
つのタッグ・フィールドと1つの指標フィールドに分割
される。タッグ・フィールドはカッシェのタッグ・スト
アに記憶されて割出しされ、即ちあるアドレスの指標フ
ィールドによってタッグ・ストアに関して読出しあるい
は書込みされるようにアドレス指定される。あるアドレ
スの指標フィールドに応答してタッグ・ストアから読出
されたタッグは、次にこのアドレスのタッグ・フィール
ドと比較されて、このカッシェが前記アドレスと対応す
るエントリを含むかどうかについて、即ちあるカッシェ
のヒットが生じるかどうかについて表示する。例えばN
C10226において、名前のシラブルは前述の如く
8,12または16ビットの2進数のワードからなるも
ので良い。これらワードの4つの最下位ビット即ち名前
はNC10226の指標フィールドを構成するが、残り
の4,8または12の最上位ビットはNC10226の
タッグ・フィールドを構成する。従って、TSA240
12乃至TSD24018は各々、16ビットの名前の
12ビットのタッグ・フィールドを記憶する12のエン
トリ幅のメモリーで良い。TSA24012乃至TSD
24018の指標(IND)即ちアドレス入力は名前バ
ス20224の4つの最下位ビットに対して接続される
が、TSA24012乃至TSD24018のタッグ入
力(TAGI)は名前バス20224の12の最上位ビ
ットに対して接続される。
つのタッグ・フィールドと1つの指標フィールドに分割
される。タッグ・フィールドはカッシェのタッグ・スト
アに記憶されて割出しされ、即ちあるアドレスの指標フ
ィールドによってタッグ・ストアに関して読出しあるい
は書込みされるようにアドレス指定される。あるアドレ
スの指標フィールドに応答してタッグ・ストアから読出
されたタッグは、次にこのアドレスのタッグ・フィール
ドと比較されて、このカッシェが前記アドレスと対応す
るエントリを含むかどうかについて、即ちあるカッシェ
のヒットが生じるかどうかについて表示する。例えばN
C10226において、名前のシラブルは前述の如く
8,12または16ビットの2進数のワードからなるも
ので良い。これらワードの4つの最下位ビット即ち名前
はNC10226の指標フィールドを構成するが、残り
の4,8または12の最上位ビットはNC10226の
タッグ・フィールドを構成する。従って、TSA240
12乃至TSD24018は各々、16ビットの名前の
12ビットのタッグ・フィールドを記憶する12のエン
トリ幅のメモリーで良い。TSA24012乃至TSD
24018の指標(IND)即ちアドレス入力は名前バ
ス20224の4つの最下位ビットに対して接続される
が、TSA24012乃至TSD24018のタッグ入
力(TAGI)は名前バス20224の12の最上位ビ
ットに対して接続される。
【0512】前述の如く、TS24010のタッグ出力
は、カッシェがそれに与えられたアドレスと対応するエ
ントリを有するかどうかについて判定するため、このカ
ッシェに与えられたアドレスのタッグ、フィールドと比
較される。NC10226を用いて、一例としてTSA
24012のTSD24018に対する12ビットのタ
ッグ出力(TAGO)は、夫々タッグ・ストア・コンパ
レータA(TSCA)24020と、タッグ・ストア・
コンパレータB(TSCB)24022と、タッグ・ス
トア・コンパレータD(TSCD)24024と、タッ
グ・ストア・コンパレータE(TSCE)24026の
入力に対するタッグ・ストア・コンパレータ(TSC)
24019の第1の入力に対して接続される。TSCA
24020乃至TSCE24026の第2の12ビット
の入力はNC10226のアドレスのタッグ・フィール
ドを受取るため名前バス20224の12の最上位ビッ
トと接続することができる。TSCA24020乃至T
SCE24026は、あるアドレスの指標フィールドに
応答してこのアドレスのタッグ・フィールドをTSA2
4012からTSD24018に読出されたタッグ出力
と比較し、また可能性のある16のエントリ(もしあれ
ば)およびその関連するタッグ・ストアのどれか前記ア
ドレスのタッグ・フィールドと対応するかを表示する4
ビット出力を与える。TSCA24020乃至TSCE
24026は、例えばフェアチャイルド社の92S46
からなるもので良い。
は、カッシェがそれに与えられたアドレスと対応するエ
ントリを有するかどうかについて判定するため、このカ
ッシェに与えられたアドレスのタッグ、フィールドと比
較される。NC10226を用いて、一例としてTSA
24012のTSD24018に対する12ビットのタ
ッグ出力(TAGO)は、夫々タッグ・ストア・コンパ
レータA(TSCA)24020と、タッグ・ストア・
コンパレータB(TSCB)24022と、タッグ・ス
トア・コンパレータD(TSCD)24024と、タッ
グ・ストア・コンパレータE(TSCE)24026の
入力に対するタッグ・ストア・コンパレータ(TSC)
24019の第1の入力に対して接続される。TSCA
24020乃至TSCE24026の第2の12ビット
の入力はNC10226のアドレスのタッグ・フィール
ドを受取るため名前バス20224の12の最上位ビッ
トと接続することができる。TSCA24020乃至T
SCE24026は、あるアドレスの指標フィールドに
応答してこのアドレスのタッグ・フィールドをTSA2
4012からTSD24018に読出されたタッグ出力
と比較し、また可能性のある16のエントリ(もしあれ
ば)およびその関連するタッグ・ストアのどれか前記ア
ドレスのタッグ・フィールドと対応するかを表示する4
ビット出力を与える。TSCA24020乃至TSCE
24026は、例えばフェアチャイルド社の92S46
からなるもので良い。
【0513】TSA24012乃至TSCE24026
の4ビット出力は、一般化されたカッシェにおいてタッ
グ・ストアのパイプ・ライン・レジスタ(TSPR)2
4027の入力に対して接続され、夫々タッグ・ストア
のパイプ・ライン・レジスタA(TSPRA)2402
8と、タッグ・ストアのパイプ・ライン・レジスタB
(TSPRB)24030と、タッグ・ストアのパイプ
・ライン・レジスタC(TSPRC)24032と、タ
ッグ・ストアのパイプ・ライン・レジスタD(TSPR
D)24034の入力に対して接続される。ATU10
228およびPC10234は2つのクロック・サイク
ルにおいて実行されつつある単一のカッシェのアクセス
操作とパイプ・ライン化されている。第1のクロック・
サイクルの間、タッグ・ストアはアドレス指定され、内
部のタッグ・ストアはアドレスのタッグ・フィールドと
比較されて、カッシェのヒットが生じたかどうか、即ち
カッシェがある特定のアドレスと対応するエントリを有
するかどうかについての表示を与える。第2のクロック
・サイクルの間、以下に述べるように、検出されたカッ
シェのヒットはカッシェのデータ・ストアにおける対応
するエントリに対するアクセスを得るため符号化され
る。2つのクロック・サイクルにわたるパイプ・ライン
操作は、部分的にTSPRA24028乃至TSPRD
24034を含むカッシェ・パイプ・ライン・レジスタ
によって行なわれる。NC10226はパイプ・ライン
化されず、TSPRA24028乃至TSPRD240
34は含まない。NC10226においては、TSCD
24024に対するTSA24012の出力は、以下に
述べるように、TSHED24042に対する。TSH
EA24036の入力に対して直接接続される。
の4ビット出力は、一般化されたカッシェにおいてタッ
グ・ストアのパイプ・ライン・レジスタ(TSPR)2
4027の入力に対して接続され、夫々タッグ・ストア
のパイプ・ライン・レジスタA(TSPRA)2402
8と、タッグ・ストアのパイプ・ライン・レジスタB
(TSPRB)24030と、タッグ・ストアのパイプ
・ライン・レジスタC(TSPRC)24032と、タ
ッグ・ストアのパイプ・ライン・レジスタD(TSPR
D)24034の入力に対して接続される。ATU10
228およびPC10234は2つのクロック・サイク
ルにおいて実行されつつある単一のカッシェのアクセス
操作とパイプ・ライン化されている。第1のクロック・
サイクルの間、タッグ・ストアはアドレス指定され、内
部のタッグ・ストアはアドレスのタッグ・フィールドと
比較されて、カッシェのヒットが生じたかどうか、即ち
カッシェがある特定のアドレスと対応するエントリを有
するかどうかについての表示を与える。第2のクロック
・サイクルの間、以下に述べるように、検出されたカッ
シェのヒットはカッシェのデータ・ストアにおける対応
するエントリに対するアクセスを得るため符号化され
る。2つのクロック・サイクルにわたるパイプ・ライン
操作は、部分的にTSPRA24028乃至TSPRD
24034を含むカッシェ・パイプ・ライン・レジスタ
によって行なわれる。NC10226はパイプ・ライン
化されず、TSPRA24028乃至TSPRD240
34は含まない。NC10226においては、TSCD
24024に対するTSA24012の出力は、以下に
述べるように、TSHED24042に対する。TSH
EA24036の入力に対して直接接続される。
【0514】TSPRA24028乃至TSPRD24
034の出力はタッグ・ストア・ヒット・エンコーダ
(TSHE)24035の入力、即ち夫々タッグ・スト
ア・ヒット・エンコーダA(TSHEA)24036
と、タッグ・ストア・ヒット・エンコーダB(TSHE
B)24038と、タッグ・ストア・ヒット・エンコー
ダC(TSHEC)24040と、タッグ・ストア・ヒ
ット・エンコーダD(TSHED)24042に対して
接続される。TSHEA24036乃至TSHED24
042は、夫々TSPRA24028乃至TSPRD2
4034からのビット入力を符号化してカッシェの4つ
の組のどれが(もしあれば)アドレス入力に対応するエ
ントリを有するかを表示する1ビットの出力を生じる。
034の出力はタッグ・ストア・ヒット・エンコーダ
(TSHE)24035の入力、即ち夫々タッグ・スト
ア・ヒット・エンコーダA(TSHEA)24036
と、タッグ・ストア・ヒット・エンコーダB(TSHE
B)24038と、タッグ・ストア・ヒット・エンコー
ダC(TSHEC)24040と、タッグ・ストア・ヒ
ット・エンコーダD(TSHED)24042に対して
接続される。TSHEA24036乃至TSHED24
042は、夫々TSPRA24028乃至TSPRD2
4034からのビット入力を符号化してカッシェの4つ
の組のどれが(もしあれば)アドレス入力に対応するエ
ントリを有するかを表示する1ビットの出力を生じる。
【0515】TSHEA24036乃至TSHED24
042の単一ビット出力は、ヒット・エンコーダ(H
E)24044の入力と接続されている。HE2404
4は、TSHEA24036乃至TSHED24042
からの単一ビット入力を符号化して2組の出力を与え
る。HE24044の第1の出力はカッシェ使用ストア
(CUS)24046に対して与えられ、TSA240
12乃至TSD24018と対応するカッシェの4つの
組の内カッシェのヒットを生じたのはどれかを表示す
る。MC20116に関して前に述べたようにまた以下
において更に述べるように、CUS24046はカッシ
ェのエントリの使用を追跡するための情報を保有するメ
モリーである。即ち、CUS24046は、ある特定の
指標に関して、カッシェの4つの組のどの組、即ち組
A、組B、組Cまたは組Dのどれが最も後で使用された
か、また最も以前に使用されたかを表示するエントリを
保有する。組A,B,CおよびDに関するCUS240
46のエントリは、夫々メモリーCUSA24088、
CUSA24090、CUSA24092およびCUS
A24094に記憶される。以下において更に説明する
ように、HE24044の第2の出力はデータ・ストア
選択マルチプレクサ(DSSMUX)24088の選択
入力に接続されて、カッシェのヒットが生じる時カッシ
ェの出力として与えられるデータ・ストア(DS)24
050からの出力を選択する。
042の単一ビット出力は、ヒット・エンコーダ(H
E)24044の入力と接続されている。HE2404
4は、TSHEA24036乃至TSHED24042
からの単一ビット入力を符号化して2組の出力を与え
る。HE24044の第1の出力はカッシェ使用ストア
(CUS)24046に対して与えられ、TSA240
12乃至TSD24018と対応するカッシェの4つの
組の内カッシェのヒットを生じたのはどれかを表示す
る。MC20116に関して前に述べたようにまた以下
において更に述べるように、CUS24046はカッシ
ェのエントリの使用を追跡するための情報を保有するメ
モリーである。即ち、CUS24046は、ある特定の
指標に関して、カッシェの4つの組のどの組、即ち組
A、組B、組Cまたは組Dのどれが最も後で使用された
か、また最も以前に使用されたかを表示するエントリを
保有する。組A,B,CおよびDに関するCUS240
46のエントリは、夫々メモリーCUSA24088、
CUSA24090、CUSA24092およびCUS
A24094に記憶される。以下において更に説明する
ように、HE24044の第2の出力はデータ・ストア
選択マルチプレクサ(DSSMUX)24088の選択
入力に接続されて、カッシェのヒットが生じる時カッシ
ェの出力として与えられるデータ・ストア(DS)24
050からの出力を選択する。
【0516】DS24050について述べれば、前述の
如く、あるカッシェのデータ・ストアはこのカッシェに
記憶された情報即ちエントリを保有する。例えばNC1
0226のDS24050における各々エントリはAO
N、オフセットおよび長さからなる論理記述子である。
カッシェのデータ・ストアは、構造および作用におい
て、前記カッシェのタッグ・ストアと並行し、そのエン
トリはこのカッシェのタッグ・ストアおよび関連するタ
ッグ・ストアの比較および復号ロジックを経て識別され
見出される。NC10226においては、例えばNC1
0226におけるエントリを有する各名前については、
エントリ即ちTS24010に記憶されたこの名前のタ
ッグ・フィールドと、対応するエントリ即ちDS240
50におけるこの名前と対応する論理記述子が存在す
る。前述の如く、NC10226は4通りに組合された
連想カッシェであり、そのためTS24010およびD
S24050は各々4組のデータを保有することにな
る。各組は、16エントリまでを保有するものとして前
に説明した。従って、DS24050は4つの16ワー
ドのメモリーからなっている。各メモリーは65ビット
の幅を有し28ビットのAON、32ビットのオフセッ
トおよび5ビットの長さを収容する。DS24050の
これらの4つの構成的なデータ・ストア・メモリーは、
図240においては、データ・ストアA(DSA)24
052、データ・ストアB(DSB)24054、デー
タ・ストアC(DSC)24056およびデータ・スト
アD(DSD)24058として示されている。DSA
24052、DSB24054、DSC24056およ
びDSD24058は、夫々構造、内容および作用にお
いてTSA24012、TSB24014、TSC24
016およびTSD24018と対応する。
如く、あるカッシェのデータ・ストアはこのカッシェに
記憶された情報即ちエントリを保有する。例えばNC1
0226のDS24050における各々エントリはAO
N、オフセットおよび長さからなる論理記述子である。
カッシェのデータ・ストアは、構造および作用におい
て、前記カッシェのタッグ・ストアと並行し、そのエン
トリはこのカッシェのタッグ・ストアおよび関連するタ
ッグ・ストアの比較および復号ロジックを経て識別され
見出される。NC10226においては、例えばNC1
0226におけるエントリを有する各名前については、
エントリ即ちTS24010に記憶されたこの名前のタ
ッグ・フィールドと、対応するエントリ即ちDS240
50におけるこの名前と対応する論理記述子が存在す
る。前述の如く、NC10226は4通りに組合された
連想カッシェであり、そのためTS24010およびD
S24050は各々4組のデータを保有することにな
る。各組は、16エントリまでを保有するものとして前
に説明した。従って、DS24050は4つの16ワー
ドのメモリーからなっている。各メモリーは65ビット
の幅を有し28ビットのAON、32ビットのオフセッ
トおよび5ビットの長さを収容する。DS24050の
これらの4つの構成的なデータ・ストア・メモリーは、
図240においては、データ・ストアA(DSA)24
052、データ・ストアB(DSB)24054、デー
タ・ストアC(DSC)24056およびデータ・スト
アD(DSD)24058として示されている。DSA
24052、DSB24054、DSC24056およ
びDSD24058は、夫々構造、内容および作用にお
いてTSA24012、TSB24014、TSC24
016およびTSD24018と対応する。
【0517】DSA24052のDSD24058に対
するデータ入力(DI)は、例えばNC10226にお
いては、AONバス20230、OFFSETバス20
228、長さバス20226と接続され、夫々NC10
226の入力WA,WOおよびWLを構成する。DSD
24058に対するDSA24052は、NC1022
6においては前述の如く、DSA24052乃至DSD
24058に対するNC10226のエントリの書込み
において示される。DSA24052乃至DSD240
58のアドレス入力は、アドレス・パイプ・ライン・レ
ジスタ(ADRPR)24060のアドレス出力と接続
される。今述べるように、カッシェのフラッシュ操作の
間を除いて、DSA24052乃至DSD24058の
アドレス入力は、TS24010に対するアドレス入力
として与えられるものと同じカッシェ・アドレスの指標
フィールドからなるが、1クロック・サイクルだけ遅延
させられ、パイプ・ライン化のオブジェクトのためには
ADRPR24060である。前述の如く、NC102
26はパイプ・ライン化されず、1クロック・サイクル
の遅延は生じない。これにより、カッシェに対するアド
レス入力は、TSA24012からTSD24018
へ、またDSA24052からDSD24058へ読込
まれつつあるアドレスの指標フィールドによって選択さ
れる対応するエントリを生じる結果となる。ある特定の
アドレスの特定の指標フィールドによって選択されるD
SA24052乃至DSD24058の4つの出力は、
DSSMUX24048に対する入力として与えられ
る。DSSMUX24048はHF24044からの選
択制御入力と同時に与えられる。前述の如く、DSSM
UX24048に対するこの選択入力はTS24010
のタッグ・エントリから得られ、DSA24052乃至
DSD24058のエントリのどれがカッシェに対して
与えられたアドレスと対応するかを表示する。この選択
制御入力に応答して、前記アドレスと対応するカッシェ
の出力として、DSSMUX24048はDS2405
0の4つの論理記述子の出力の内の1つを選択する。こ
の時DSSMUX24048の主力は、例えばNC10
226においては、AONバス20230、OFFSE
Tバス20228および長さバス20226に対するカ
ッシェの出力としてバッファ・ドライバ(BD)240
62を介して与えられる。
するデータ入力(DI)は、例えばNC10226にお
いては、AONバス20230、OFFSETバス20
228、長さバス20226と接続され、夫々NC10
226の入力WA,WOおよびWLを構成する。DSD
24058に対するDSA24052は、NC1022
6においては前述の如く、DSA24052乃至DSD
24058に対するNC10226のエントリの書込み
において示される。DSA24052乃至DSD240
58のアドレス入力は、アドレス・パイプ・ライン・レ
ジスタ(ADRPR)24060のアドレス出力と接続
される。今述べるように、カッシェのフラッシュ操作の
間を除いて、DSA24052乃至DSD24058の
アドレス入力は、TS24010に対するアドレス入力
として与えられるものと同じカッシェ・アドレスの指標
フィールドからなるが、1クロック・サイクルだけ遅延
させられ、パイプ・ライン化のオブジェクトのためには
ADRPR24060である。前述の如く、NC102
26はパイプ・ライン化されず、1クロック・サイクル
の遅延は生じない。これにより、カッシェに対するアド
レス入力は、TSA24012からTSD24018
へ、またDSA24052からDSD24058へ読込
まれつつあるアドレスの指標フィールドによって選択さ
れる対応するエントリを生じる結果となる。ある特定の
アドレスの特定の指標フィールドによって選択されるD
SA24052乃至DSD24058の4つの出力は、
DSSMUX24048に対する入力として与えられ
る。DSSMUX24048はHF24044からの選
択制御入力と同時に与えられる。前述の如く、DSSM
UX24048に対するこの選択入力はTS24010
のタッグ・エントリから得られ、DSA24052乃至
DSD24058のエントリのどれがカッシェに対して
与えられたアドレスと対応するかを表示する。この選択
制御入力に応答して、前記アドレスと対応するカッシェ
の出力として、DSSMUX24048はDS2405
0の4つの論理記述子の出力の内の1つを選択する。こ
の時DSSMUX24048の主力は、例えばNC10
226においては、AONバス20230、OFFSE
Tバス20228および長さバス20226に対するカ
ッシェの出力としてバッファ・ドライバ(BD)240
62を介して与えられる。
【0518】ADRMUX24062について述べれ
ば、ADRMUX24062は、DS24050に対す
るアドレス入力、即ちDS24050に対する指標を与
える2つのソースの内の一方を選択する。前述の如く、
ADRMUX24062について述べるならば、ADR
MUX24062は2つのソースの内の一方を選択し
て、DS24050に対する指標であるDS24050
に対するアドレス入力を提供する。前述の如く、ADR
MUX24062の第1の入力は、カッシェのアドレス
指標フィールドからなり、また例えばNC10226に
おいては、名前バス20224の4つの最下位ビットに
対して接続される。カッシェ・フラッシュ操作の間、D
S24050のアドレス入力は、本例においては4ビッ
トのカウンタであるフラッシュ・カウンタ(FLUSH
CTR)24066から与えられる。カッシェ・フラッ
シュ操作の間、FLUSHCTR24066は、DSD
24058に対してDSA24052を順次アドレス指
定するため使用される順次ビット・アドレスを生成す
る。夫々アドレス指標フィールドでありかつFLUSH
CTR24066からのADRMUX24062の第1
と第2の入力間の選択は、FUCTL20214からの
アドレス・マルチプレクサ選択(ADRMUXS)によ
り制御される。
ば、ADRMUX24062は、DS24050に対す
るアドレス入力、即ちDS24050に対する指標を与
える2つのソースの内の一方を選択する。前述の如く、
ADRMUX24062について述べるならば、ADR
MUX24062は2つのソースの内の一方を選択し
て、DS24050に対する指標であるDS24050
に対するアドレス入力を提供する。前述の如く、ADR
MUX24062の第1の入力は、カッシェのアドレス
指標フィールドからなり、また例えばNC10226に
おいては、名前バス20224の4つの最下位ビットに
対して接続される。カッシェ・フラッシュ操作の間、D
S24050のアドレス入力は、本例においては4ビッ
トのカウンタであるフラッシュ・カウンタ(FLUSH
CTR)24066から与えられる。カッシェ・フラッ
シュ操作の間、FLUSHCTR24066は、DSD
24058に対してDSA24052を順次アドレス指
定するため使用される順次ビット・アドレスを生成す
る。夫々アドレス指標フィールドでありかつFLUSH
CTR24066からのADRMUX24062の第1
と第2の入力間の選択は、FUCTL20214からの
アドレス・マルチプレクサ選択(ADRMUXS)によ
り制御される。
【0519】妥当性ストア(VALS)24068およ
び非適正ストア(DIRTYS)24070はTS24
010と並列に作用しかつこれと並列にアドレス指定さ
れるメモリーである。VALS24068は、対応する
TS24010とDS24050の妥当性を表示するエ
ントリを含む。即ち、VALS24068のエントリは
対応するエントリがTS24010およびDS2405
0における対応する場所に対して書込まれたかどうかに
ついて表示する。本例においては、VALS24068
はこれにより、16バス×4ビット幅のメモリーで良
い。VALS24068のワードの各ビットは、TSA
24012とDSA24052、TSB24014とD
SB24054、TSC24016とDSC2405
6、およびTSD24018とDSD24058におけ
る対応する場所の妥当性を表示する。DIRTYS24
070は同様に、TS24010およびDS24050
の対応する場所における対応するエントリが重ね書き即
ち修正されたかどうかについて表示する。再び、DIR
TYS24070は16ワード×4ビット幅のメモリー
である。
び非適正ストア(DIRTYS)24070はTS24
010と並列に作用しかつこれと並列にアドレス指定さ
れるメモリーである。VALS24068は、対応する
TS24010とDS24050の妥当性を表示するエ
ントリを含む。即ち、VALS24068のエントリは
対応するエントリがTS24010およびDS2405
0における対応する場所に対して書込まれたかどうかに
ついて表示する。本例においては、VALS24068
はこれにより、16バス×4ビット幅のメモリーで良
い。VALS24068のワードの各ビットは、TSA
24012とDSA24052、TSB24014とD
SB24054、TSC24016とDSC2405
6、およびTSD24018とDSD24058におけ
る対応する場所の妥当性を表示する。DIRTYS24
070は同様に、TS24010およびDS24050
の対応する場所における対応するエントリが重ね書き即
ち修正されたかどうかについて表示する。再び、DIR
TYS24070は16ワード×4ビット幅のメモリー
である。
【0520】VALS24068およびDIRTYS2
4070のアドレス入力は、例えばNC10226の場
合には、名前バス20224の最下位ビットと接続さ
れ、これによりTS24010と並列にNC10226
の指標フィールドによってアドレス指定される。VAL
S24068の出力は、TSCA24020乃至TSC
E24026に対して与えられて、TS24010のエ
ントリおよびNC10226のアドレス入力間における
無効の並行操作の発生と同時にTSCA24020乃至
TSCE24026の出力を禁止する。DIRTYS2
4070の同じ出力は、NC10226のどのエントリ
が不適正であり、打切る代りにMT10350に対して
書戻されねばならない。
4070のアドレス入力は、例えばNC10226の場
合には、名前バス20224の最下位ビットと接続さ
れ、これによりTS24010と並列にNC10226
の指標フィールドによってアドレス指定される。VAL
S24068の出力は、TSCA24020乃至TSC
E24026に対して与えられて、TS24010のエ
ントリおよびNC10226のアドレス入力間における
無効の並行操作の発生と同時にTSCA24020乃至
TSCE24026の出力を禁止する。DIRTYS2
4070の同じ出力は、NC10226のどのエントリ
が不適正であり、打切る代りにMT10350に対して
書戻されねばならない。
【0521】VALS24068とDIRTYS240
70の出力はまた、夫々、妥当性パイプ・ライン・レジ
スタ(VALPR)24072および不適正パイプ・ラ
イン・レジスタ(DIRTYPR)24074の入力に
対して接続される。VALPR24072とDIRTY
PR24074は、TSPRA24028乃至TSPR
D24034と類似のパイプ・ライン・レジスタであ
り、今説明するようにタイミングのオブジェクトのため
設けられる。VALPR24072とDIRTYPR2
4074は夫々、妥当性書込みロジック(VWL)24
076および不適正書込みロジック(DWL)2407
8の入力と接続される。前述の如く、NC10226は
パイプ・ライン化カッシェではなく、VALPR240
72およびDIRTYPR24074は含まず、VAL
S24068とDIRTYS24070の出力はVWL
24076とDWL24078の入力と直接接続され
る。VWL24076およびDWL24078の出力
は、夫々VALS24068とDIRTYS24070
のデータ入力に対して接続される。TS24010とD
S24050に対する書込み操作、即ちカッシェのエン
トリの書込みまたは修正操作の発生と同時に、対応する
妥当性および不適正ワードのエントリが、カッシェ入力
アドレスの指標フィールドによって、VALS2406
8とDIRTYS24070から読出される。VALS
24068およびDIRTYS24070に対する出力
は、夫々、DIRTYS24070とDIRTYPR2
4074において受取られてこれに記憶される。次のク
ロック・サイクルの開始時に、VALPR24072と
DIRTYPR24074における妥当性および不適正
ワードは、夫々VWL24076とDWL24078に
対して読込まれる。VWL24076とDWL2407
8は、TS24010およびDS24050における対
応するエントリが書込まれあるいは修正されるかに従っ
て、VALS24068およびDIRTYS24070
からのこれらの妥当性または不適正ワードのエントリを
夫々修正する。VWL24076およびDWL2407
8の制御入力はFUCTL20214から与えられる。
70の出力はまた、夫々、妥当性パイプ・ライン・レジ
スタ(VALPR)24072および不適正パイプ・ラ
イン・レジスタ(DIRTYPR)24074の入力に
対して接続される。VALPR24072とDIRTY
PR24074は、TSPRA24028乃至TSPR
D24034と類似のパイプ・ライン・レジスタであ
り、今説明するようにタイミングのオブジェクトのため
設けられる。VALPR24072とDIRTYPR2
4074は夫々、妥当性書込みロジック(VWL)24
076および不適正書込みロジック(DWL)2407
8の入力と接続される。前述の如く、NC10226は
パイプ・ライン化カッシェではなく、VALPR240
72およびDIRTYPR24074は含まず、VAL
S24068とDIRTYS24070の出力はVWL
24076とDWL24078の入力と直接接続され
る。VWL24076およびDWL24078の出力
は、夫々VALS24068とDIRTYS24070
のデータ入力に対して接続される。TS24010とD
S24050に対する書込み操作、即ちカッシェのエン
トリの書込みまたは修正操作の発生と同時に、対応する
妥当性および不適正ワードのエントリが、カッシェ入力
アドレスの指標フィールドによって、VALS2406
8とDIRTYS24070から読出される。VALS
24068およびDIRTYS24070に対する出力
は、夫々、DIRTYS24070とDIRTYPR2
4074において受取られてこれに記憶される。次のク
ロック・サイクルの開始時に、VALPR24072と
DIRTYPR24074における妥当性および不適正
ワードは、夫々VWL24076とDWL24078に
対して読込まれる。VWL24076とDWL2407
8は、TS24010およびDS24050における対
応するエントリが書込まれあるいは修正されるかに従っ
て、VALS24068およびDIRTYS24070
からのこれらの妥当性または不適正ワードのエントリを
夫々修正する。VWL24076およびDWL2407
8の制御入力はFUCTL20214から与えられる。
【0522】最後に、最前使用ロジック(LRUL)2
4080について述べれば、LRUL24080はカッ
シェ・エントリの使用を追跡する。前述の如く、図24
0の一般化されたカッシェは、例えばNC10226の
組の各々において16エントリまでを有する4通りの組
合された連想カッシェである。ある特定の組内のエント
リは、前述の如くカッシェのTS24010を割出すこ
とにより識別され、またDS24050は各々指標によ
り識別されるが異なるタッグを持たせることにより区別
される4つまでの個々のエントリを含むことができる。
この場合、1つのエントリがTSA24012とDSA
24052からなる組Aに、1つのエントリがTSB2
4014とDSB24054からなる組Bに、というよ
うに存在することになる。共通のタッグを有する可能な
数の個々のエントリはカッシェの組数よりも多いため、
各々タッグを有する別のエントリがカッシェに書込まれ
る時、ある特定のカッシェ・エントリを削除することが
必要となろう。一般に、カッシェの最前に使用されたエ
ントリは新たなエントリへの書込みのためにTS240
10とDS24050における場所を提供するように削
除されることになろう。LRUL24080は、カッシ
ェのエントリの相対的な使用を追跡して表示することに
より新たなエントリへの書込みに必要な時、どのカッシ
ェのエントリが削除されるかを判断する際にこれを補佐
する。LRUL24080は主として、1つのメモリ
ー、即ち各カッシェの組に対するワードを含むLRUメ
モリー(MLRU)24081からなる。前述の如く、
NC10226は例えば、LRUL24080のメモリ
ーが対応的に例えば16ワード長となり得るように、各
々4つのフレームの16組を含む。各ワードは1つの組
における4つのフレームの相対的な使用を表示し、6ビ
ットのワードである。
4080について述べれば、LRUL24080はカッ
シェ・エントリの使用を追跡する。前述の如く、図24
0の一般化されたカッシェは、例えばNC10226の
組の各々において16エントリまでを有する4通りの組
合された連想カッシェである。ある特定の組内のエント
リは、前述の如くカッシェのTS24010を割出すこ
とにより識別され、またDS24050は各々指標によ
り識別されるが異なるタッグを持たせることにより区別
される4つまでの個々のエントリを含むことができる。
この場合、1つのエントリがTSA24012とDSA
24052からなる組Aに、1つのエントリがTSB2
4014とDSB24054からなる組Bに、というよ
うに存在することになる。共通のタッグを有する可能な
数の個々のエントリはカッシェの組数よりも多いため、
各々タッグを有する別のエントリがカッシェに書込まれ
る時、ある特定のカッシェ・エントリを削除することが
必要となろう。一般に、カッシェの最前に使用されたエ
ントリは新たなエントリへの書込みのためにTS240
10とDS24050における場所を提供するように削
除されることになろう。LRUL24080は、カッシ
ェのエントリの相対的な使用を追跡して表示することに
より新たなエントリへの書込みに必要な時、どのカッシ
ェのエントリが削除されるかを判断する際にこれを補佐
する。LRUL24080は主として、1つのメモリ
ー、即ち各カッシェの組に対するワードを含むLRUメ
モリー(MLRU)24081からなる。前述の如く、
NC10226は例えば、LRUL24080のメモリ
ーが対応的に例えば16ワード長となり得るように、各
々4つのフレームの16組を含む。各ワードは1つの組
における4つのフレームの相対的な使用を表示し、6ビ
ットのワードである。
【0523】前述の如く、ワードは、HE24044に
より実行される書込み専用アルゴリズムに従って生成さ
れ、入力レジスタA,B,C,D(RABCD)を介し
てLRUL24080のMLRU24081に対して書
込まれる。各々の6ビット・ワードの各ビットはある特
定のカッシェの組内の1対の1フレームに関連して、こ
れら2つのフレームのどちらかが他方よりも最近使用さ
れたかを表示する。ビット0は、例えば、もしフレーム
AがフレームBよりも最近使用されたならば論理値1を
含み、またもしフレームBはフレームAよりも最近使用
されたならば論理値零を含む。同様に、ビット1はフレ
ームAとCに関連し、ビット2はフレームAとDに関連
し、ビット3はフレームBとCに関連し、ビット4はフ
レームBとDに関連し、ビット5はフレームCとDに関
連する。最初に、ある特定のLRUL24080のワー
ドの全てのビットは零に設定される。例えば、ある特定
の組のフレームがフレームA、フレームD、フレームB
の順序で使用されるものとすると、このLRUL240
80のワードのビット0乃至5は最初に全ての零を含む
ことになる。フレームAを選好すると、夫々フレームA
とB、フレームAとC、およびフレームAとDを照合す
るビット0,1および2は論理値1として書込まれるこ
とになる。夫々フレームBとC、フレームBとD、およ
びフレームCとDを照合するビット3,4および5は論
理値0の状態を保持する。フレームDを照合すると、夫
々フレームAとBおよびフレームAとCを照合するビッ
ト0および1は論理値1の状態を保持する。フレームA
とDを照合するビット2は論理値1から論理値0に変化
させられてフレームDがフレームAよりも最近照合され
たことを表示する。フレームBとCを照合するビット3
は論理値0の状態を保持することになる。夫々フレーム
BとD、およびフレームCとDを照合するビット4およ
び5は既に論理値零であるが論理値0として書込まれて
フレームDがフレームBまたはフレームCよりも最近使
用されたことを夫々表示することになる。フレームBを
照合すると、フレームAおよびBを照合するビット0は
論理値0に対して書込まれて、フレームBがフレームA
よりも最近使用されたことを表示する。フレームAとC
およびフレームAとDを夫々照合するビット1および2
は、夫々論理値1および論理値0としての状態を維持す
る。夫々フレームBとCおよびフレームBとDを照合す
るビット3と4は論理値1として書込まれて、フレーム
BがフレームCまたはフレームDよりも最近使用された
ことを夫々表示する。ビット5は論理値0の状態を維持
することになる。
より実行される書込み専用アルゴリズムに従って生成さ
れ、入力レジスタA,B,C,D(RABCD)を介し
てLRUL24080のMLRU24081に対して書
込まれる。各々の6ビット・ワードの各ビットはある特
定のカッシェの組内の1対の1フレームに関連して、こ
れら2つのフレームのどちらかが他方よりも最近使用さ
れたかを表示する。ビット0は、例えば、もしフレーム
AがフレームBよりも最近使用されたならば論理値1を
含み、またもしフレームBはフレームAよりも最近使用
されたならば論理値零を含む。同様に、ビット1はフレ
ームAとCに関連し、ビット2はフレームAとDに関連
し、ビット3はフレームBとCに関連し、ビット4はフ
レームBとDに関連し、ビット5はフレームCとDに関
連する。最初に、ある特定のLRUL24080のワー
ドの全てのビットは零に設定される。例えば、ある特定
の組のフレームがフレームA、フレームD、フレームB
の順序で使用されるものとすると、このLRUL240
80のワードのビット0乃至5は最初に全ての零を含む
ことになる。フレームAを選好すると、夫々フレームA
とB、フレームAとC、およびフレームAとDを照合す
るビット0,1および2は論理値1として書込まれるこ
とになる。夫々フレームBとC、フレームBとD、およ
びフレームCとDを照合するビット3,4および5は論
理値0の状態を保持する。フレームDを照合すると、夫
々フレームAとBおよびフレームAとCを照合するビッ
ト0および1は論理値1の状態を保持する。フレームA
とDを照合するビット2は論理値1から論理値0に変化
させられてフレームDがフレームAよりも最近照合され
たことを表示する。フレームBとCを照合するビット3
は論理値0の状態を保持することになる。夫々フレーム
BとD、およびフレームCとDを照合するビット4およ
び5は既に論理値零であるが論理値0として書込まれて
フレームDがフレームBまたはフレームCよりも最近使
用されたことを夫々表示することになる。フレームBを
照合すると、フレームAおよびBを照合するビット0は
論理値0に対して書込まれて、フレームBがフレームA
よりも最近使用されたことを表示する。フレームAとC
およびフレームAとDを夫々照合するビット1および2
は、夫々論理値1および論理値0としての状態を維持す
る。夫々フレームBとCおよびフレームBとDを照合す
るビット3と4は論理値1として書込まれて、フレーム
BがフレームCまたはフレームDよりも最近使用された
ことを夫々表示する。ビット5は論理値0の状態を維持
することになる。
【0524】ある特定のフレームにおけるカッシェのエ
ントリを置換することが必要な時、このフレームを含む
カッシェの組合せを照合するLRUL24080はLR
Uレジスタ(RLRU)24085を介してLRUL2
4080のMLRU24081から読出され、LRU復
号ロジック(LRUD)24087により復号されてど
れが最前に使用されたフレームであるかを表示する。こ
の復号は、1組の復号ゲートとして作用する読出し専用
メモリーによって実行される。
ントリを置換することが必要な時、このフレームを含む
カッシェの組合せを照合するLRUL24080はLR
Uレジスタ(RLRU)24085を介してLRUL2
4080のMLRU24081から読出され、LRU復
号ロジック(LRUD)24087により復号されてど
れが最前に使用されたフレームであるかを表示する。こ
の復号は、1組の復号ゲートとして作用する読出し専用
メモリーによって実行される。
【0525】例示のためNC10226に関連して、ま
た一般化されたカッシェとNC10226の差異を指摘
するため図240に示される如き一般化されたカッシェ
の構造および作用について説明したが、ATU1022
8とPC10234の構造および作用について以下に説
明する。ATU10228とPC10234について
は、ATU10228とPC10234と一般化された
カッシェとNC10226に間の差異についての説明に
よって記述する。ATU10228について最初に説明
し、次にPC10234の説明がこれに続く。
た一般化されたカッシェとNC10226の差異を指摘
するため図240に示される如き一般化されたカッシェ
の構造および作用について説明したが、ATU1022
8とPC10234の構造および作用について以下に説
明する。ATU10228とPC10234について
は、ATU10228とPC10234と一般化された
カッシェとNC10226に間の差異についての説明に
よって記述する。ATU10228について最初に説明
し、次にPC10234の説明がこれに続く。
【0526】d.d.アドレス翻訳装置10228およ
び機密保護カッシェ10234 アドレス翻訳装置(ATU)10228は、16組の3
通りに組合された連想カッシェであり、即ち各組につい
ては3フレームを含む。ATU10228の構造および
作用は前に述べた一般化されたカッシェと類似してい
る。1組当り4フレームではなく3フレームを持つAT
U10228は、TSD24018、ATSCE240
26、ATSPRD24034、ATSHED2404
2、またはADSD24058は含まない。前述の如
く、ATU10228のアドレス入力は、論理記述子の
AONおよび0フィールドからなる。AONフィールド
は各々28ビットであり、0フィールドは論理記述子の
オフセット・フィールドの18の最上位ビットからな
り、その結果ATU10228のアドレス入力が48ビ
ットの幅となる。0フィールドの4つの最下位ビットは
指標として使用される。AONフィールドおよび0フィ
ールドの14の最上位ビットはATU10228のタッ
グを構成する。ATU10228のタッグはこれにより
各々幅が42ビットである。従って、ATU10228
のTS24010のTSA24012と、TSB240
24とTSC24016は各々、16ワード長X42ビ
ット幅である。
び機密保護カッシェ10234 アドレス翻訳装置(ATU)10228は、16組の3
通りに組合された連想カッシェであり、即ち各組につい
ては3フレームを含む。ATU10228の構造および
作用は前に述べた一般化されたカッシェと類似してい
る。1組当り4フレームではなく3フレームを持つAT
U10228は、TSD24018、ATSCE240
26、ATSPRD24034、ATSHED2404
2、またはADSD24058は含まない。前述の如
く、ATU10228のアドレス入力は、論理記述子の
AONおよび0フィールドからなる。AONフィールド
は各々28ビットであり、0フィールドは論理記述子の
オフセット・フィールドの18の最上位ビットからな
り、その結果ATU10228のアドレス入力が48ビ
ットの幅となる。0フィールドの4つの最下位ビットは
指標として使用される。AONフィールドおよび0フィ
ールドの14の最上位ビットはATU10228のタッ
グを構成する。ATU10228のタッグはこれにより
各々幅が42ビットである。従って、ATU10228
のTS24010のTSA24012と、TSB240
24とTSC24016は各々、16ワード長X42ビ
ット幅である。
【0527】ATU10228のDSA24052とD
SB24054とDSC24056は各々16ビットの
長さである。ATU10228の出力は、前述の如く各
々が13ビットの物理的記述子のフレーム番号(FN)
フィールドである。ATU10228のDSA2405
2、DSB24054およびDSC24056はこれに
より各々13ビットの幅である。
SB24054とDSC24056は各々16ビットの
長さである。ATU10228の出力は、前述の如く各
々が13ビットの物理的記述子のフレーム番号(FN)
フィールドである。ATU10228のDSA2405
2、DSB24054およびDSC24056はこれに
より各々13ビットの幅である。
【0528】ATU10228のLRUL24080
は、構造および作用において一般化されたカッシェのそ
れと類似している。3フレームの組におけるフレームの
相対的な使用を表示するのに3ビットで十分であるた
め、各々がATU10228の組と対応するATU12
028のLRUL24080のワードは各々幅が3ビッ
トである。ATU10228においては、LRUL24
080のビット1は、フィールドAがフィールドBより
も最近に使用されたどうかを表示し、ビット2はフレー
ムAがフレームCよりも最近使用されたかどうかを表示
し、ビット3はフレームBがフレームCよりも最近使用
されたかどうかを表示する。前に述べた如き他の全ての
観点において、ATU10228は構造および作用にお
いて一般化されたカッシェと類似する。
は、構造および作用において一般化されたカッシェのそ
れと類似している。3フレームの組におけるフレームの
相対的な使用を表示するのに3ビットで十分であるた
め、各々がATU10228の組と対応するATU12
028のLRUL24080のワードは各々幅が3ビッ
トである。ATU10228においては、LRUL24
080のビット1は、フィールドAがフィールドBより
も最近に使用されたどうかを表示し、ビット2はフレー
ムAがフレームCよりも最近使用されたかどうかを表示
し、ビット3はフレームBがフレームCよりも最近使用
されたかどうかを表示する。前に述べた如き他の全ての
観点において、ATU10228は構造および作用にお
いて一般化されたカッシェと類似する。
【0529】PC10234について述べれば、PC1
0234は8組の2通りに組合された連想カッシェであ
り即ち1組当り2つのフレームを有する。4つのフレー
ムではなく2フレームを有するPC10234は、TS
C24016、TSD24018、TSCC2402
4、TSCD24026、TSPRC24032、TS
PRD24034、TSHEC24040、TSHED
24042、DSC24056またはDSD24058
のいずれも含まない。
0234は8組の2通りに組合された連想カッシェであ
り即ち1組当り2つのフレームを有する。4つのフレー
ムではなく2フレームを有するPC10234は、TS
C24016、TSD24018、TSCC2402
4、TSCD24026、TSPRC24032、TS
PRD24034、TSHEC24040、TSHED
24042、DSC24056またはDSD24058
のいずれも含まない。
【0530】PC10234のアドレス入力は、論理記
述子の28ビットのAONフィールドである。これらの
AONフィールドの3つの最下位ビットは、PC102
34のTS24010とDS24050のアドレス指定
のための指標として使用される。これらのAONフィー
ルドのアドレス入力の25の最上位ビットはPC102
34のタッグとして使用され、その結果PC10234
のTSA24012とTSB24014は各々8ビット
・ワード実行X25ビットのメモリーである。
述子の28ビットのAONフィールドである。これらの
AONフィールドの3つの最下位ビットは、PC102
34のTS24010とDS24050のアドレス指定
のための指標として使用される。これらのAONフィー
ルドのアドレス入力の25の最上位ビットはPC102
34のタッグとして使用され、その結果PC10234
のTSA24012とTSB24014は各々8ビット
・ワード実行X25ビットのメモリーである。
【0531】PC10234のLRUL24080につ
いて述べれば、1つのビットは、PC10234の組の
各々における2つのフレームのどれが最後にアクセスさ
れたかを表示するため充分である。PC10234のL
RUL24080のメモリーはこれにより8ワード、即
ち8組の長さで1ビットの幅である。
いて述べれば、1つのビットは、PC10234の組の
各々における2つのフレームのどれが最後にアクセスさ
れたかを表示するため充分である。PC10234のL
RUL24080のメモリーはこれにより8ワード、即
ち8組の長さで1ビットの幅である。
【0532】前述の如く、PC10234のエントリ
は、ある活動状態のオブジェクトに対するある活動状態
の主題のアクセス権に関する情報を構成する。PC10
234の各エントリは35ビットの情報を保有する。こ
の情報の3つのビットは、ある特定の主題がある特定の
オブジェクトに関する読出し、書込みまたは実行権のい
ずれかであるかを表示する。残る32ビットはこれらの
アクセス権が関連する前記オブジェクトのボリューム即
ち部位、即ちデータビット数を表示する長さフィールド
を有効に構成する。
は、ある活動状態のオブジェクトに対するある活動状態
の主題のアクセス権に関する情報を構成する。PC10
234の各エントリは35ビットの情報を保有する。こ
の情報の3つのビットは、ある特定の主題がある特定の
オブジェクトに関する読出し、書込みまたは実行権のい
ずれかであるかを表示する。残る32ビットはこれらの
アクセス権が関連する前記オブジェクトのボリューム即
ち部位、即ちデータビット数を表示する長さフィールド
を有効に構成する。
【0533】再び図240において、PC10234は
一般化されたカッシェとは異なり、また更にエクステン
ト検査ロジック(EXTCHK)24082および操作
検査ロジック(OPRCHK)24084を含む点でN
C10226およびATU10228とは異なる。PC
10234のエントリは、前述の如く、ある特定の主題
がある特定のオブジェクトに対して有するアクセス権の
形式を識別する3ビットを含む。読出し(R)、書込み
(W)または実行(E)のいずれかの権利を表わすこれ
らの3ビットは、OPRCHK24084の第1の入力
に対して与えられる。OPRCHK24084の第2の
入力はFUCTL20214から与えられ、JP101
14が前記オブジェクトに関して読出し(R)、書込み
(W)または実行(EI)のいずれかの操作の実施を意
図するかを規定する。OPRCHK24084は、DS
24050からのOPRCHK24084のアクセス権
入力をFUCTL20214からのOPRCHK240
84の意図された操作入力と比較する。もしこの主題が
JP10114によって意図された操作に実施に必要な
オブジェクトに対する権利を保有しなければ、OPRC
HK24084は機密保護の侵害が生じたことを表示す
る操作侵害(OPRV)を生成する。
一般化されたカッシェとは異なり、また更にエクステン
ト検査ロジック(EXTCHK)24082および操作
検査ロジック(OPRCHK)24084を含む点でN
C10226およびATU10228とは異なる。PC
10234のエントリは、前述の如く、ある特定の主題
がある特定のオブジェクトに対して有するアクセス権の
形式を識別する3ビットを含む。読出し(R)、書込み
(W)または実行(E)のいずれかの権利を表わすこれ
らの3ビットは、OPRCHK24084の第1の入力
に対して与えられる。OPRCHK24084の第2の
入力はFUCTL20214から与えられ、JP101
14が前記オブジェクトに関して読出し(R)、書込み
(W)または実行(EI)のいずれかの操作の実施を意
図するかを規定する。OPRCHK24084は、DS
24050からのOPRCHK24084のアクセス権
入力をFUCTL20214からのOPRCHK240
84の意図された操作入力と比較する。もしこの主題が
JP10114によって意図された操作に実施に必要な
オブジェクトに対する権利を保有しなければ、OPRC
HK24084は機密保護の侵害が生じたことを表示す
る操作侵害(OPRV)を生成する。
【0534】同様に、エクステント権に関するPC10
234のエントリの32ビットは、EXTCHK240
82に対する入力(EXTENT)として与えられる。
前述の如く、PC10234のエントリのEXTENT
フィールドは、これらのアクセス権が関連するオブジェ
クト内における長さ即ちデータ・ビットの数を表示す
る。PC10234からのEXTENTフィールドはE
XTCHK24082により、その時の機密保護機能の
検査が行なわれつつあるMEM10112に対するその
時のJP10114の論理記述子のオフセット・フィー
ルドと比較される。もしエクステント権およびオフセッ
ト・フィールドの比較が、DS24050からの対応す
る権利の読出しが妥当するオブジェクトの長さをその時
のメモリー要求が超えることを示すならば、EXTCH
K24082はエクステント侵害(EXTV)出力を生
成する。このEXTVは、JP10114によるその時
のメモリー要求がDS24050からのPC10234
のエントリ読出しが妥当しないオブジェクトの部分を示
すことを表示する。前述の如く、例えストリング転送の
一部としても、MEM10112に関する各読出しまた
は書込みは32ビット・ワードである。このため、その
時の論理記述子に応じて与えられるPC10234のエ
ントリのEXTENTフィールドにより規定される制限
からの32ビットより小さなオブジェクトのセグメント
を前記論理記述子のオフセット・フィールドが既述する
時、EXTCHK24082はEXTV出力を生じるこ
とになる。EXTVおよびOPRVは機密保護侵害ゲー
ト(PVG)24086によって一緒にゲートされ、エ
クステントまたは操作の侵害が生じたことを表示する機
密保護侵害(PROTV)出力を生成する。
234のエントリの32ビットは、EXTCHK240
82に対する入力(EXTENT)として与えられる。
前述の如く、PC10234のエントリのEXTENT
フィールドは、これらのアクセス権が関連するオブジェ
クト内における長さ即ちデータ・ビットの数を表示す
る。PC10234からのEXTENTフィールドはE
XTCHK24082により、その時の機密保護機能の
検査が行なわれつつあるMEM10112に対するその
時のJP10114の論理記述子のオフセット・フィー
ルドと比較される。もしエクステント権およびオフセッ
ト・フィールドの比較が、DS24050からの対応す
る権利の読出しが妥当するオブジェクトの長さをその時
のメモリー要求が超えることを示すならば、EXTCH
K24082はエクステント侵害(EXTV)出力を生
成する。このEXTVは、JP10114によるその時
のメモリー要求がDS24050からのPC10234
のエントリ読出しが妥当しないオブジェクトの部分を示
すことを表示する。前述の如く、例えストリング転送の
一部としても、MEM10112に関する各読出しまた
は書込みは32ビット・ワードである。このため、その
時の論理記述子に応じて与えられるPC10234のエ
ントリのEXTENTフィールドにより規定される制限
からの32ビットより小さなオブジェクトのセグメント
を前記論理記述子のオフセット・フィールドが既述する
時、EXTCHK24082はEXTV出力を生じるこ
とになる。EXTVおよびOPRVは機密保護侵害ゲー
ト(PVG)24086によって一緒にゲートされ、エ
クステントまたは操作の侵害が生じたことを表示する機
密保護侵害(PROTV)出力を生成する。
【0535】MEMINT20212の構造および作用
について述べ、またDESP20210の構造および作
用について前に述べたが、FUCTL20214の構造
および作用について次に説明する。
について述べ、またDESP20210の構造および作
用について前に述べたが、FUCTL20214の構造
および作用について次に説明する。
【0536】3.取出し装置制御ロジック20214
(図202) 以下の記述は、FU10120の構造および作用の詳細
な説明を提供する。FU10120の全体的な作用につ
いて最初に説明し、FU10120の構造の説明がこれ
に続き、最後にFU10120の作用の詳細な説明が続
く。
(図202) 以下の記述は、FU10120の構造および作用の詳細
な説明を提供する。FU10120の全体的な作用につ
いて最初に説明し、FU10120の構造の説明がこれ
に続き、最後にFU10120の作用の詳細な説明が続
く。
【0537】前述の如く、FUCTL20214はユー
ザのプロセスの手順の実行の際JP10114の作用を
支配する、FUCTL20214により実施される機能
の内第1のものは、前に述べたCS10110の名前空
間、UIDおよびAONに基づくアドレス指定システム
の保守および操作であり、第2のものは前述の如くユー
ザのプロセスの実行においてJP10114の作用を制
御するためFU10120とEU10122に対するマ
イクロ命令の対応するシーケンスを与えるユーザのプロ
セスのSOPの解釈であり、第3にCS10110の内
部機構、例えばCS10110のスタック機構の作用の
制御である。
ザのプロセスの手順の実行の際JP10114の作用を
支配する、FUCTL20214により実施される機能
の内第1のものは、前に述べたCS10110の名前空
間、UIDおよびAONに基づくアドレス指定システム
の保守および操作であり、第2のものは前述の如くユー
ザのプロセスの実行においてJP10114の作用を制
御するためFU10120とEU10122に対するマ
イクロ命令の対応するシーケンスを与えるユーザのプロ
セスのSOPの解釈であり、第3にCS10110の内
部機構、例えばCS10110のスタック機構の作用の
制御である。
【0538】以下において更に詳細に説明するように、
FUCTL20214は、MEM10112からのユー
ザのプログラムのS命令(SIN)の読出しのためAO
Nおよびオフセット・フィールドを構成する論理アドレ
スのシーケンスを生成する事前取出し装置(PREF)
20260を含む。前述の如く、各SINは1つのS命
令(SOP)と1つ以上の名前からなり、1つ以上の3
2ビット・ワードを占有することができる。SINは単
一の32ビット・ワードのシーケンスとしてMEM10
112から読出され、その結果PREF20260はS
INに対するMEM10112の読出し要求における長
さフィールドを指定する必要はない。SINはMEM1
0112からMODバス10144を介して読出され、
命令バッファ(INSTB)20262において捕捉さ
れ記憶される。オペランド分析装置(パーサ)2026
4はMEM10112からMODバス10144を介し
て読出され、命令バッファ(INSTB)20262命
令において捕捉され記憶される。パーサ20264はI
NSTB20262からSOPおよびオペランド名前を
抽出し、即ちこれを分析する。パーサ20264は、オ
ペランド名をNC10226に対して与え、SOPをF
Uインタプリタ・タスク指名テーブル(FUSDT)1
1010に対して、また命令コード・レジスタ(OPC
ODEREG)20268を介してEUタスク指名テー
ブル(EUSDTF)20266に対して与える。IN
STB20262とパーサ20264の作用は、現時プ
ログラム・カウンタ(CPC)20270、初期プログ
ラム・カウンタ(IPC)20272および実行プログ
ラム・カウンタ(EPC)20274により制御され
る。
FUCTL20214は、MEM10112からのユー
ザのプログラムのS命令(SIN)の読出しのためAO
Nおよびオフセット・フィールドを構成する論理アドレ
スのシーケンスを生成する事前取出し装置(PREF)
20260を含む。前述の如く、各SINは1つのS命
令(SOP)と1つ以上の名前からなり、1つ以上の3
2ビット・ワードを占有することができる。SINは単
一の32ビット・ワードのシーケンスとしてMEM10
112から読出され、その結果PREF20260はS
INに対するMEM10112の読出し要求における長
さフィールドを指定する必要はない。SINはMEM1
0112からMODバス10144を介して読出され、
命令バッファ(INSTB)20262において捕捉さ
れ記憶される。オペランド分析装置(パーサ)2026
4はMEM10112からMODバス10144を介し
て読出され、命令バッファ(INSTB)20262命
令において捕捉され記憶される。パーサ20264はI
NSTB20262からSOPおよびオペランド名前を
抽出し、即ちこれを分析する。パーサ20264は、オ
ペランド名をNC10226に対して与え、SOPをF
Uインタプリタ・タスク指名テーブル(FUSDT)1
1010に対して、また命令コード・レジスタ(OPC
ODEREG)20268を介してEUタスク指名テー
ブル(EUSDTF)20266に対して与える。IN
STB20262とパーサ20264の作用は、現時プ
ログラム・カウンタ(CPC)20270、初期プログ
ラム・カウンタ(IPC)20272および実行プログ
ラム・カウンタ(EPC)20274により制御され
る。
【0539】前述の如く、FUSDT11010はOP
CODEREG20268から受取った各SOP毎にF
USITT11012に対して対応するSインタプリタ
・タスク指名(SD)ポインタまたはアドレスを与え
て、特定のMEM10112においてJP10114の
操作を指令するマイクロ命令の対応するシーケンスを選
択する。前述の如く、FUSITT11012はまた、
CS10110の内部機構、例えばプロセスのスワッピ
ングに介在させられるRCWS10358の如き機構の
作用を制御し指令するためのマイクロ命令のシーケンス
を含む。長さバス20226はEU10122に関する
同様な機構を実施し、EU10122に駐在するEUS
インタプリタ・テーブル(EUSITT)に対してSD
ポインタを与える。
CODEREG20268から受取った各SOP毎にF
USITT11012に対して対応するSインタプリタ
・タスク指名(SD)ポインタまたはアドレスを与え
て、特定のMEM10112においてJP10114の
操作を指令するマイクロ命令の対応するシーケンスを選
択する。前述の如く、FUSITT11012はまた、
CS10110の内部機構、例えばプロセスのスワッピ
ングに介在させられるRCWS10358の如き機構の
作用を制御し指令するためのマイクロ命令のシーケンス
を含む。長さバス20226はEU10122に関する
同様な機構を実施し、EU10122に駐在するEUS
インタプリタ・テーブル(EUSITT)に対してSD
ポインタを与える。
【0540】マイクロプログラム・カウンタ(mPC)
20726は、FUSITT11012に対して順次ア
ドレスを提供して、数連のマイクロ命令の個々のマイク
ロ命令を選択する。分岐兼ケース・ロジック(BRCA
SE)20278はマイクロ命令の分岐およびケースに
対するマイクロ命令のシーケンスを説明するためアドレ
スをFUSITT11012に対して与える。循環カウ
ンタ(REPCTR)20280およびページ番号レジ
スタ(PNREG)20282は、FUSITT110
12のロード操作中FUSITT11012に対してア
ドレスを提供する。
20726は、FUSITT11012に対して順次ア
ドレスを提供して、数連のマイクロ命令の個々のマイク
ロ命令を選択する。分岐兼ケース・ロジック(BRCA
SE)20278はマイクロ命令の分岐およびケースに
対するマイクロ命令のシーケンスを説明するためアドレ
スをFUSITT11012に対して与える。循環カウ
ンタ(REPCTR)20280およびページ番号レジ
スタ(PNREG)20282は、FUSITT110
12のロード操作中FUSITT11012に対してア
ドレスを提供する。
【0541】前述の如く、FUSITT11012はM
EM10112からの選択されたSインタプリタ(SI
N)でロードされる書込み可能マイクロ命令制御ストア
である。
EM10112からの選択されたSインタプリタ(SI
N)でロードされる書込み可能マイクロ命令制御ストア
である。
【0542】FUSITT11012のアドレスの場合
もまたNC10226からの事象ロジック(EVEN
T)20284およびJAM入力によって与えられる。
更に以下において説明するように、EVENT2028
4は、CS10110の内部機構の作用と主として関連
するFUCTL20214の回路の一部である。NC1
0226からの入力JAMは、CS10110の名前空
間アドレス指定機構に対する、特にNC10226にお
けるFUCTL20214のある制御機能を開始する。
FUSITT11012に対する前述のアドレス入力間
の選択はSインタプリタ・テーブルの次のアドレス・ゼ
ネレータ・ロジック(SITTNAG)20286によ
って制御される。
もまたNC10226からの事象ロジック(EVEN
T)20284およびJAM入力によって与えられる。
更に以下において説明するように、EVENT2028
4は、CS10110の内部機構の作用と主として関連
するFUCTL20214の回路の一部である。NC1
0226からの入力JAMは、CS10110の名前空
間アドレス指定機構に対する、特にNC10226にお
けるFUCTL20214のある制御機能を開始する。
FUSITT11012に対する前述のアドレス入力間
の選択はSインタプリタ・テーブルの次のアドレス・ゼ
ネレータ・ロジック(SITTNAG)20286によ
って制御される。
【0543】FUCTL20214の回路の他の部分は
CS10110の内部機構の作用と関連させられてい
る。例えば、FUCTL20214は、CS10110
のスタック機構に関して前に述べた戻り制御ワード・ス
タック(RCWS)10358を含む。レジスタ・アド
レス・ゼネレータ(RAG)20288はGRF103
54およびRCWS10358のアドレス指定のための
ポインタを提供し、マイクロスタック・ポインタ・レジ
スタ(MISPR)10356を含む。
CS10110の内部機構の作用と関連させられてい
る。例えば、FUCTL20214は、CS10110
のスタック機構に関して前に述べた戻り制御ワード・ス
タック(RCWS)10358を含む。レジスタ・アド
レス・ゼネレータ(RAG)20288はGRF103
54およびRCWS10358のアドレス指定のための
ポインタを提供し、マイクロスタック・ポインタ・レジ
スタ(MISPR)10356を含む。
【0544】前述の如く、MISPR10356の機構
はマイクロスタック(MIS)10368のアドレス指
定のためのポインタを提供する。以下において更に述べ
るように、10368のその時の、前のおよび下底のフ
レームを指示する実際のMIS10368のポインタは
マイクロ制御ワード・レジスタ1(MCW1)2029
0に駐在する。MCW1 20290およびマイクロ制
御ワード零レジスタ(MCW0)20292は共に、そ
の時FU10120により実行中のマイクロ命令シーケ
ンスのその時の実行環境を示すある情報を保有する。こ
の実行情報は、これらのマイクロ命令シーケンスの実行
を補助する際に使用される。状態レジスタ(STAT
E)20294は、FU10120の作用状態に関する
ある情報を捕捉しこれを記憶する。以下において更に説
明するように、状態ベクトルと呼ばれるこの情報はFU
10120の作用を可能にしかつこれを指令するために
使用される。
はマイクロスタック(MIS)10368のアドレス指
定のためのポインタを提供する。以下において更に述べ
るように、10368のその時の、前のおよび下底のフ
レームを指示する実際のMIS10368のポインタは
マイクロ制御ワード・レジスタ1(MCW1)2029
0に駐在する。MCW1 20290およびマイクロ制
御ワード零レジスタ(MCW0)20292は共に、そ
の時FU10120により実行中のマイクロ命令シーケ
ンスのその時の実行環境を示すある情報を保有する。こ
の実行情報は、これらのマイクロ命令シーケンスの実行
を補助する際に使用される。状態レジスタ(STAT
E)20294は、FU10120の作用状態に関する
ある情報を捕捉しこれを記憶する。以下において更に説
明するように、状態ベクトルと呼ばれるこの情報はFU
10120の作用を可能にしかつこれを指令するために
使用される。
【0545】タイマー(TIMER)20296は、F
U10120による対処を必要とする事象の発生以来の
経過時間を監視する。もしこれら事象に対する待機時間
がある制限を越える場合は、TIMER20296はこ
れら制限を越えたことを表示し、その結果これら事象の
サービスが開始可能となる。
U10120による対処を必要とする事象の発生以来の
経過時間を監視する。もしこれら事象に対する待機時間
がある制限を越える場合は、TIMER20296はこ
れら制限を越えたことを表示し、その結果これら事象の
サービスが開始可能となる。
【0546】最後に、取出し装置対E装置間のインター
フェース・ロジック(FUEUINT)20298はF
U10120とEU10122間のインターフェースの
FU10120の部分を構成している。FUEUINT
20298は、FU10120とEU10122の作用
が連係させられる主経路である。
フェース・ロジック(FUEUINT)20298はF
U10120とEU10122間のインターフェースの
FU10120の部分を構成している。FUEUINT
20298は、FU10120とEU10122の作用
が連係させられる主経路である。
【0547】FU10120の全体的な作用について述
べたが次に図202の助けを借りてFU10120の構
造について説明し、この構造の説明の後にはFU101
20の詳細な説明が続くが、ここでFU10120のい
くつかの部分に更に詳細な図を説明の明瞭化の必要に応
じて挿入することにする。
べたが次に図202の助けを借りてFU10120の構
造について説明し、この構造の説明の後にはFU101
20の詳細な説明が続くが、ここでFU10120のい
くつかの部分に更に詳細な図を説明の明瞭化の必要に応
じて挿入することにする。
【0548】a.a.取出し装置制御ロジック(FUC
TL)20214の全体的構造 再び図202について述べれば、前述の如く図202は
FUCTL20214の部分ブロック図を含む。前の説
明と同じ順序に従って、PREF20260はAONバ
ス20230と接続された28ビットの両方向ポート
と、OFFSETバス20228からの32ビットの両
方向ポートとを有する。PREF20260の制御入力
はINSTB20262の制御出力と接続される。
TL)20214の全体的構造 再び図202について述べれば、前述の如く図202は
FUCTL20214の部分ブロック図を含む。前の説
明と同じ順序に従って、PREF20260はAONバ
ス20230と接続された28ビットの両方向ポート
と、OFFSETバス20228からの32ビットの両
方向ポートとを有する。PREF20260の制御入力
はINSTB20262の制御出力と接続される。
【0549】INSTB20262の32ビットデータ
入力(DI)はMODバス10144を接続される。I
NSTB20262の16ビット出力(DO)はOPC
ODEREG20268の16ビットの両方向入力およ
び16ビットの名前バス20224と接続される。OP
CODEREG20268の入力は8ビットのSINT
と3ビットのダイアレクト選択からなる。前述の如く、
名前バス20224は名前トラップ(NT)20254
の16ビットの両方向ポートと接続され、またNC10
226のアドレス入力ADRおよびOFFP20228
の入出力側と接続される。INSTB20262とパー
サ20264の制御入力はCPC20270の制御出力
を接続される。
入力(DI)はMODバス10144を接続される。I
NSTB20262の16ビット出力(DO)はOPC
ODEREG20268の16ビットの両方向入力およ
び16ビットの名前バス20224と接続される。OP
CODEREG20268の入力は8ビットのSINT
と3ビットのダイアレクト選択からなる。前述の如く、
名前バス20224は名前トラップ(NT)20254
の16ビットの両方向ポートと接続され、またNC10
226のアドレス入力ADRおよびOFFP20228
の入出力側と接続される。INSTB20262とパー
サ20264の制御入力はCPC20270の制御出力
を接続される。
【0550】CPC20270の32ビット入力はJP
Dバス10142と接続され、CPC20270の32
ビット出力はIPC20272の32ビット入力と接続
される。IPC20272の32ビット出力はEPC2
0274とJPDバス10142の32ビットの入力と
接続される。EPC20274の32ビット出力は同様
にJPDバス10142と接続される。
Dバス10142と接続され、CPC20270の32
ビット出力はIPC20272の32ビット入力と接続
される。IPC20272の32ビット出力はEPC2
0274とJPDバス10142の32ビットの入力と
接続される。EPC20274の32ビット出力は同様
にJPDバス10142と接続される。
【0551】OPCODEREG20268の11ビッ
トの出力はFUSDT11010とEUSDT2026
6の11ビット・アドレスと接続される。FUSDT1
1010とEUSDT20266に対するこれら11ビ
ットのアドレス入力は夫々、2ビットのダイアレクト選
択コードと8ビットのSINTコードからなる。EUS
DT20266の12ビットのSDT出力は、EU10
122の次の説明において述べるように、EU1012
2におけるマイクロ命令制御ストアの入力側と接続され
る。以下において更に述べるように、FUSDT110
10はアドレス(ADR)バス20298と接続された
2つの出力を有する。FUSDT11010の第1の出
力は、以下において更に述べるように、総称SINTと
対応する6ビットのSDTポインタ即ちアドレスであ
る。FUSDT11010の第2の出力は、これについ
ても以下において更に説明するようにアルゴリズム・マ
イクロ命令シーケンスのための15ビットのSDTポイ
ンタ即ちアドレスである。
トの出力はFUSDT11010とEUSDT2026
6の11ビット・アドレスと接続される。FUSDT1
1010とEUSDT20266に対するこれら11ビ
ットのアドレス入力は夫々、2ビットのダイアレクト選
択コードと8ビットのSINTコードからなる。EUS
DT20266の12ビットのSDT出力は、EU10
122の次の説明において述べるように、EU1012
2におけるマイクロ命令制御ストアの入力側と接続され
る。以下において更に述べるように、FUSDT110
10はアドレス(ADR)バス20298と接続された
2つの出力を有する。FUSDT11010の第1の出
力は、以下において更に述べるように、総称SINTと
対応する6ビットのSDTポインタ即ちアドレスであ
る。FUSDT11010の第2の出力は、これについ
ても以下において更に説明するようにアルゴリズム・マ
イクロ命令シーケンスのための15ビットのSDTポイ
ンタ即ちアドレスである。
【0552】RCWS10358については、RCWS
10358はIPDバス10142と接続された第1の
両方向ポートを有する。RCWS10358の第2と第
3と第4の両方向ポートは夫々、MCW1 20290
の第1の両方向ポートEVENT20284およびmP
C20276の両方向ポートと接続される。RCWS1
0358の出力はADRバス20298と接続される。
10358はIPDバス10142と接続された第1の
両方向ポートを有する。RCWS10358の第2と第
3と第4の両方向ポートは夫々、MCW1 20290
の第1の両方向ポートEVENT20284およびmP
C20276の両方向ポートと接続される。RCWS1
0358の出力はADRバス20298と接続される。
【0553】mPC20276の入力はADRバス20
298と接続され、mPC20276の第1と第2の出
力は夫々、BRCASE20278の入力とADRバス
20298とに接続される。BRCASE20278の
出力はADRバス20298と接続される。
298と接続され、mPC20276の第1と第2の出
力は夫々、BRCASE20278の入力とADRバス
20298とに接続される。BRCASE20278の
出力はADRバス20298と接続される。
【0554】前述の如く、EVENT20284の第1
の両方向ポートはRCWS10358と接続される。E
VENT20284の第2の両方向ポートはMCW0
20292と接続される。EVENT20284の出力
はADRバス20298と接続される。
の両方向ポートはRCWS10358と接続される。E
VENT20284の第2の両方向ポートはMCW0
20292と接続される。EVENT20284の出力
はADRバス20298と接続される。
【0555】REPCTR20280とPNREG20
282の入力はJPDバス10142と接続される。R
EPCTR20280とPNREG20282の出力は
ADRバス20298と接続される。
282の入力はJPDバス10142と接続される。R
EPCTR20280とPNREG20282の出力は
ADRバス20298と接続される。
【0556】ADRバス20298、およびFUSIT
T11012の第1の出力からの入力はSITTNAG
20286の入力側と接続される。SITTNAG20
286の出力は、制御ストア・アドレス(CSADR)
バス20299を介して、FUSITT11012のア
ドレス入力側と接続される。FUSITT11012の
データ入力はJPDバス10142と接続される。FU
SITT11012の制御出力はJP10114のほと
んど全ての要素と接続されており、このため説明を明瞭
にするため図面の物理的な接続によっては詳細には示さ
ないが、以下の記述において説明する。
T11012の第1の出力からの入力はSITTNAG
20286の入力側と接続される。SITTNAG20
286の出力は、制御ストア・アドレス(CSADR)
バス20299を介して、FUSITT11012のア
ドレス入力側と接続される。FUSITT11012の
データ入力はJPDバス10142と接続される。FU
SITT11012の制御出力はJP10114のほと
んど全ての要素と接続されており、このため説明を明瞭
にするため図面の物理的な接続によっては詳細には示さ
ないが、以下の記述において説明する。
【0557】前述の如く、MCW0 20292および
MCW1 20290は、夫々EVENT20284の
両方向ポートおよびRCWS10358の第2の両方向
ポートと接続された両方向ポートを有する。MCW0
20292とMCW1 20290の出力はJPDバス
10142と接続される。MCW0 20292とMC
W1 20290の他の入力は、以下において更に説明
するようにJP10114の他のいくつかの要素と接続
され、説明を明瞭にするためここでは詳細には示さない
が以下において説明する。STATE20294は同様
に、JP10114、特にFU10120の他の要素に
関する多数の入出力を有する。STATE20294の
入出力はここでは説明を明瞭にするため示さないが、以
下において詳細に説明される。
MCW1 20290は、夫々EVENT20284の
両方向ポートおよびRCWS10358の第2の両方向
ポートと接続された両方向ポートを有する。MCW0
20292とMCW1 20290の出力はJPDバス
10142と接続される。MCW0 20292とMC
W1 20290の他の入力は、以下において更に説明
するようにJP10114の他のいくつかの要素と接続
され、説明を明瞭にするためここでは詳細には示さない
が以下において説明する。STATE20294は同様
に、JP10114、特にFU10120の他の要素に
関する多数の入出力を有する。STATE20294の
入出力はここでは説明を明瞭にするため示さないが、以
下において詳細に説明される。
【0558】RAG20288は、JPDバス1014
2と接続された入力と、例えばMCW1 20290と
接続された他の入力を有する。MISPR10356を
含むRAG20288は、例えばRCWS10358と
GRF10354に対するアドレス入力として出力を提
供する。再び、説明を明瞭にするためにRAG2028
8の入出力は図202においては詳細には示さないが、
以下において更に説明する。
2と接続された入力と、例えばMCW1 20290と
接続された他の入力を有する。MISPR10356を
含むRAG20288は、例えばRCWS10358と
GRF10354に対するアドレス入力として出力を提
供する。再び、説明を明瞭にするためにRAG2028
8の入出力は図202においては詳細には示さないが、
以下において更に説明する。
【0559】TIMER20296は、EVENT20
284およびFUSITT11012から入力を受取
り、EVENT20284に対して出力を与える。説明
を明瞭にするため、これらの表示は図202においては
詳細には示さないが、以下において更に説明される。
284およびFUSITT11012から入力を受取
り、EVENT20284に対して出力を与える。説明
を明瞭にするため、これらの表示は図202においては
詳細には示さないが、以下において更に説明される。
【0560】FUINT20298はFUSITT11
012およびEU10122から制御入力を受取る。F
UINT20298はFUCTL20214のEU10
122および他の要素に対して出力を与える。説明を明
瞭にするため、FUINT20298に関する接続は図
202には詳細には示さないが、以下において更に説明
する。
012およびEU10122から制御入力を受取る。F
UINT20298はFUCTL20214のEU10
122および他の要素に対して出力を与える。説明を明
瞭にするため、FUINT20298に関する接続は図
202には詳細には示さないが、以下において更に説明
する。
【0561】FUCTL20214の全体的な作用およ
び構造について説明したが、FUCTL20214の作
用について次に説明する。以下の説明においては、当技
術の通常の技術を有する者のため、必要に応じてFUC
TL20214の構造および作用を開示するため、その
ある部分の別の図を使用する。SINの取出しおよび解
釈に関するFUCTL20214の作用、即ちSOPお
よびオペランド名について最初に説明し、CS1011
0に内部機構に関するFUCTL20214の作用の説
明がこれに続く。
び構造について説明したが、FUCTL20214の作
用について次に説明する。以下の説明においては、当技
術の通常の技術を有する者のため、必要に応じてFUC
TL20214の構造および作用を開示するため、その
ある部分の別の図を使用する。SINの取出しおよび解
釈に関するFUCTL20214の作用、即ちSOPお
よびオペランド名について最初に説明し、CS1011
0に内部機構に関するFUCTL20214の作用の説
明がこれに続く。
【0562】b.b.取出し装置の制御ロジック(FU
CTL)20214の作用 最初に、SOPおよび名前のシラブルに応答するJP1
0114の制御と直接関連するFUCTL20214の
諸要素について述べれば、これらの要素は、(1)PR
EF20260、(2)INSTB20262、(3)
パーサ20264、(4)CPC20270、IPC2
0272およびEPC20274、(5)OPCODE
REG20268、(6)FUSDT11010および
EUSDT20266、(7)mPC20276、
(8)BRCASE20278、(9)REPCTR2
0280およびPNREG20282、(10)RCW
S10358の一部、(11)SITTNAG2028
6、(12)FUSITT11012および(13)N
T20254が含まれる。これらのFUCTL2021
4の要素については以上の順序で以下に説明する。
CTL)20214の作用 最初に、SOPおよび名前のシラブルに応答するJP1
0114の制御と直接関連するFUCTL20214の
諸要素について述べれば、これらの要素は、(1)PR
EF20260、(2)INSTB20262、(3)
パーサ20264、(4)CPC20270、IPC2
0272およびEPC20274、(5)OPCODE
REG20268、(6)FUSDT11010および
EUSDT20266、(7)mPC20276、
(8)BRCASE20278、(9)REPCTR2
0280およびPNREG20282、(10)RCW
S10358の一部、(11)SITTNAG2028
6、(12)FUSITT11012および(13)N
T20254が含まれる。これらのFUCTL2021
4の要素については以上の順序で以下に説明する。
【0563】a.a.a.事前取出し装置(PREF)
20260、命令バッファ(INSTB)20262、
パーサ20264、命令コードレジスタ(OPCODE
REG)20268、CPC20270、IPC202
72およびEPC20274(図241) 前述の如く、PREF20260はMEM10112に
対して一連のアドレスを生成して、MEM10112か
らFUCTL20214に対する、特にINSTB20
262に対するユーザ・プログラムのSINを読出す。
PREF20260はMEM10112から1つの32
ビットのワードの転送要求を読出す。各SINは1つの
SOPと1つ以上の名前シラブルからなる。各SOPは
例えば8ビットの情報からなるが、各名前シラブルは例
えば8,12、または16ビットのデータからなる。一
般に、また以下のSTATE20294に説明において
更に詳細に説明するように、PREF20260は11
0ナノ秒の交番システムのクロック・サイクルに基づく
MEM10112に対するアクセスを行なう。MEM1
0112に対するPREF20260のアクセスは、I
NSTB20262がMEM10112から読出される
SINを受取る用意があることを示すINSTB202
62を条件とする。特に、INSTB20262はPR
EF20260に対する制御出力のQuiry事前取出
し(QPF)を生成して、更に以下において説明するよ
うに、INSTB20262がMEM10112から読
出されたSINを受取る用意がある時、PREF202
60がMEM10112に対する要求を提供することを
許容する。
20260、命令バッファ(INSTB)20262、
パーサ20264、命令コードレジスタ(OPCODE
REG)20268、CPC20270、IPC202
72およびEPC20274(図241) 前述の如く、PREF20260はMEM10112に
対して一連のアドレスを生成して、MEM10112か
らFUCTL20214に対する、特にINSTB20
262に対するユーザ・プログラムのSINを読出す。
PREF20260はMEM10112から1つの32
ビットのワードの転送要求を読出す。各SINは1つの
SOPと1つ以上の名前シラブルからなる。各SOPは
例えば8ビットの情報からなるが、各名前シラブルは例
えば8,12、または16ビットのデータからなる。一
般に、また以下のSTATE20294に説明において
更に詳細に説明するように、PREF20260は11
0ナノ秒の交番システムのクロック・サイクルに基づく
MEM10112に対するアクセスを行なう。MEM1
0112に対するPREF20260のアクセスは、I
NSTB20262がMEM10112から読出される
SINを受取る用意があることを示すINSTB202
62を条件とする。特に、INSTB20262はPR
EF20260に対する制御出力のQuiry事前取出
し(QPF)を生成して、更に以下において説明するよ
うに、INSTB20262がMEM10112から読
出されたSINを受取る用意がある時、PREF202
60がMEM10112に対する要求を提供することを
許容する。
【0564】PREF20260は、例えばSN74S
163からなるカウンタ・レジスタである。
163からなるカウンタ・レジスタである。
【0565】PREF20260の両方向の入出力はA
ONバス20230およびOFFP20228と接続さ
れる。PREF20260が唯1つの32ビット・ワー
ドしか読出さない時、PREF20260は、SIN読
出し要求の一部として長さフィールドを指定することは
要求されず、即ちAONおよびオフセット・フィールド
は1つの32ビット・ワードの規定のためには十分であ
る。MEM10112からの一連のSINの読出しの開
始時においては、この一連のSINの第1の32ビット
・ワードのアドレス(AONおよびオフセット・フィー
ルド)はDESP20210によりMEM10112に
対して与えられ、同時にAONバス20230およびO
FFSETバス20228からPREF20260に対
してロードされる。その後、SINのシーケンスの連続
する各32ビット・ワードがMEM10112から読出
される時、PREF20260に駐在するアドレスは前
記SINのシーケンスの連続する32ビット・ワードを
規定するように増進される。連続する単一のワード・ア
ドレスは、あるシーケンスの最初のワードの後の全ての
ワードに対してPREF20260からMEM1011
2に与えられる。
ONバス20230およびOFFP20228と接続さ
れる。PREF20260が唯1つの32ビット・ワー
ドしか読出さない時、PREF20260は、SIN読
出し要求の一部として長さフィールドを指定することは
要求されず、即ちAONおよびオフセット・フィールド
は1つの32ビット・ワードの規定のためには十分であ
る。MEM10112からの一連のSINの読出しの開
始時においては、この一連のSINの第1の32ビット
・ワードのアドレス(AONおよびオフセット・フィー
ルド)はDESP20210によりMEM10112に
対して与えられ、同時にAONバス20230およびO
FFSETバス20228からPREF20260に対
してロードされる。その後、SINのシーケンスの連続
する各32ビット・ワードがMEM10112から読出
される時、PREF20260に駐在するアドレスは前
記SINのシーケンスの連続する32ビット・ワードを
規定するように増進される。連続する単一のワード・ア
ドレスは、あるシーケンスの最初のワードの後の全ての
ワードに対してPREF20260からMEM1011
2に与えられる。
【0566】前述の如く、INSTB20262はME
M10112からMODバス10144を介してSIN
を受取り、またCPC20270の制御下で作用するパ
ーサ20264により、名前バス20224に対して名
前シラブルを、またOPCODEREG20268に対
してSINを与える。INSTB20262はPREF
20260と共に与えられて、SINの実行速度を増加
する。
M10112からMODバス10144を介してSIN
を受取り、またCPC20270の制御下で作用するパ
ーサ20264により、名前バス20224に対して名
前シラブルを、またOPCODEREG20268に対
してSINを与える。INSTB20262はPREF
20260と共に与えられて、SINの実行速度を増加
する。
【0567】図241によれば、INSTB20262
と、パーサ20264と、CPC20270と、IPC
20272と、EPC20274の更に詳細なブロック
図が示される。INSTB20262は、MODバス1
0144からの並列の32ビットの入力を有する2つの
32ビット・レジスタを構成するものとして示される。
INSTB20262はまた、命令バッファ書込み制御
装置(INSTBWC)24110からのINSTB2
0262の各32ビット・レジスタに対して1つずつの
2つの書込みクロック(WC)入力を受取る。INST
B20262の出力はBS0乃至BS7で示される8つ
の8ビット基本シラブル(BS)として構成される。B
S0,BS2,BS4およびBS6はINSTB202
62の8ビットの基本シラブルの偶数(BSE)を構成
するようにORされるが、BS0,BS3,BS5およ
びBS7は同様にINSTB20262の基本シラブ
ル、奇数(BSO)を構成するようにORされる。BS
OおよびBSEはパーサ20264の入力として与えら
れる。
と、パーサ20264と、CPC20270と、IPC
20272と、EPC20274の更に詳細なブロック
図が示される。INSTB20262は、MODバス1
0144からの並列の32ビットの入力を有する2つの
32ビット・レジスタを構成するものとして示される。
INSTB20262はまた、命令バッファ書込み制御
装置(INSTBWC)24110からのINSTB2
0262の各32ビット・レジスタに対して1つずつの
2つの書込みクロック(WC)入力を受取る。INST
B20262の出力はBS0乃至BS7で示される8つ
の8ビット基本シラブル(BS)として構成される。B
S0,BS2,BS4およびBS6はINSTB202
62の8ビットの基本シラブルの偶数(BSE)を構成
するようにORされるが、BS0,BS3,BS5およ
びBS7は同様にINSTB20262の基本シラブ
ル、奇数(BSO)を構成するようにORされる。BS
OおよびBSEはパーサ20264の入力として与えら
れる。
【0568】パーサ20264は、CPC20270と
関連するその時のシラブル・サイズ・レジスタ(CSS
R)24112から第1の制御入力を受取る。パーサ2
0264の第2の制御入力は、これもまたCPC202
70と関連する命令バッファ・シラブル復号レジスタ
(ISBDECR)24114から与えられる。パーサ
20264は名前バス20224およびOPCODER
EG20268の入力側に対して1つの8ビットの出力
を与える。
関連するその時のシラブル・サイズ・レジスタ(CSS
R)24112から第1の制御入力を受取る。パーサ2
0264の第2の制御入力は、これもまたCPC202
70と関連する命令バッファ・シラブル復号レジスタ
(ISBDECR)24114から与えられる。パーサ
20264は名前バス20224およびOPCODER
EG20268の入力側に対して1つの8ビットの出力
を与える。
【0569】INSTBWC24110について述べる
ならば、INSTBWC24110は以下において更に
述べるように、JP10114からINSTB2026
2に対するSINの書込みに関する制御SINを与え
る。INSTBWC24110もまた、PREF202
60の作用に関する制御SINを与える。INSTB2
0262に対するWC出力に加えて、INSTBWC2
4110は制御出力QPFをPREF20260に対し
て与え、制御出力命令バッファ・ハング(IBHUN
G)をEVENT20284に対し、また制御SIN命
令バッファ待機(IBWAIT)をSTATE2029
4に対して与える。INSTBWC24110はまた、
20278からの制御入力BRANCHを、TIMER
20296からエラー入力を受取る。
ならば、INSTBWC24110は以下において更に
述べるように、JP10114からINSTB2026
2に対するSINの書込みに関する制御SINを与え
る。INSTBWC24110もまた、PREF202
60の作用に関する制御SINを与える。INSTB2
0262に対するWC出力に加えて、INSTBWC2
4110は制御出力QPFをPREF20260に対し
て与え、制御出力命令バッファ・ハング(IBHUN
G)をEVENT20284に対し、また制御SIN命
令バッファ待機(IBWAIT)をSTATE2029
4に対して与える。INSTBWC24110はまた、
20278からの制御入力BRANCHを、TIMER
20296からエラー入力を受取る。
【0570】CPC20270と、IPC20272
と、EPC20274については、IPC20272お
よびEPC20274は図202における如く図241
に示される。更に、FUCTL20214の回路はCP
C20270と関連する如くに示される。CPC202
70は、JPDバス10142のビット1乃至25から
ビット1乃至25(CPC(1〜25))を受取る29
ビットのレジスタである。CPC20270ビット0
(CPC0)はCPC0、CPC0選択(CPCOS)
24116から与えられる。CPCOS24116の入
力は、CPC20270からのビット1出力とJPDバ
ス10142からのビット0である。CPC20270
のビット26,27および28(CPC(26〜2
8))はCPCマルチプレクサ(CPCMUX)241
18から与えられる。CPCMUX24118はまたI
SBDECR4114に対する入力を与える。CPCM
UX24118の入力は、JPDバス10142からの
ビット25,26および28、およびCPC演算論理装
置(CPCALU)24120の3ビットの出力であ
る。CPCALU24120の第1の入力は、CPC2
0270の出力ビット26,27および28と接続され
る。CPCALU24120の第2の入力はCSSR2
4112と接続されている。CSSR24112の入力
はJPDバス10142と接続される。
と、EPC20274については、IPC20272お
よびEPC20274は図202における如く図241
に示される。更に、FUCTL20214の回路はCP
C20270と関連する如くに示される。CPC202
70は、JPDバス10142のビット1乃至25から
ビット1乃至25(CPC(1〜25))を受取る29
ビットのレジスタである。CPC20270ビット0
(CPC0)はCPC0、CPC0選択(CPCOS)
24116から与えられる。CPCOS24116の入
力は、CPC20270からのビット1出力とJPDバ
ス10142からのビット0である。CPC20270
のビット26,27および28(CPC(26〜2
8))はCPCマルチプレクサ(CPCMUX)241
18から与えられる。CPCMUX24118はまたI
SBDECR4114に対する入力を与える。CPCM
UX24118の入力は、JPDバス10142からの
ビット25,26および28、およびCPC演算論理装
置(CPCALU)24120の3ビットの出力であ
る。CPCALU24120の第1の入力は、CPC2
0270の出力ビット26,27および28と接続され
る。CPCALU24120の第2の入力はCSSR2
4112と接続されている。CSSR24112の入力
はJPDバス10142と接続される。
【0571】前述の如く、INSTB20262は64
ビット幅のレジスタとして構成されている。INSTB
20262は、命令バッファ・ワード0(IB0)およ
び命令バッファ・ワード1(IB1)と呼ばれる2つの
32ビット・ワードとして構成され、2ワードの先入れ
先出しバッファ・メモリーとして作用する。PREF2
0260は、これによるメモリーの照合毎にIB0また
はIB1の1つをロードする。PREF20260はI
NSTB20262をロードし、またINSTB202
62はMODバス10144からのみロードが可能であ
る。別個のクロック、即ち夫々命令バッファ書込みクロ
ック0(IBWC0)および命令バッファ書込みクロッ
ク1(IBWC1)は、夫々IBW0およびIBW1を
INSTB20262にロードするためINSTBWC
24110から与えられる。IBWC0およびIBWC
1は各々ゲートされた110ナノ秒クロックである。I
BW0またはIBW1は、夫々IBWC0またはIBW
C1がINSTBWC24110により使用可能状態に
させられる時、INSTB20262に対して書込まれ
る。IBWC0およびIBWC1は、INSTB202
62に対するデータが前述の如くインターフェース制御
信号DAVIを保有することによって使用可能であるこ
とをMEM10112が表示する時にのみ使用可能状態
となる。
ビット幅のレジスタとして構成されている。INSTB
20262は、命令バッファ・ワード0(IB0)およ
び命令バッファ・ワード1(IB1)と呼ばれる2つの
32ビット・ワードとして構成され、2ワードの先入れ
先出しバッファ・メモリーとして作用する。PREF2
0260は、これによるメモリーの照合毎にIB0また
はIB1の1つをロードする。PREF20260はI
NSTB20262をロードし、またINSTB202
62はMODバス10144からのみロードが可能であ
る。別個のクロック、即ち夫々命令バッファ書込みクロ
ック0(IBWC0)および命令バッファ書込みクロッ
ク1(IBWC1)は、夫々IBW0およびIBW1を
INSTB20262にロードするためINSTBWC
24110から与えられる。IBWC0およびIBWC
1は各々ゲートされた110ナノ秒クロックである。I
BW0またはIBW1は、夫々IBWC0またはIBW
C1がINSTBWC24110により使用可能状態に
させられる時、INSTB20262に対して書込まれ
る。IBWC0およびIBWC1は、INSTB202
62に対するデータが前述の如くインターフェース制御
信号DAVIを保有することによって使用可能であるこ
とをMEM10112が表示する時にのみ使用可能状態
となる。
【0572】INSTBWC24110は主として、S
INのINSTB20262に対する書込みに関してF
U10120の制御と関連している。前述の如く、IN
STBWC24110はIBWC0とIBWC1をIN
STB20262に対して与える。IBWC0およびI
BWC1は、MEM10112からのINSTBWC2
4110の入力DAVIによって使用可能状態にさせら
れる。IBWC0およびIBWC1間の選択は、CPC
20270からのINSTBWC24110の入力によ
って制御される。特に、また以下において更に述べるよ
うに、CPC20270の29ビット・ワードのビット
26(CPC26)はIBW0またはIBW1のどちら
がINSTB20262に対して書込まれるかについて
表示する。
INのINSTB20262に対する書込みに関してF
U10120の制御と関連している。前述の如く、IN
STBWC24110はIBWC0とIBWC1をIN
STB20262に対して与える。IBWC0およびI
BWC1は、MEM10112からのINSTBWC2
4110の入力DAVIによって使用可能状態にさせら
れる。IBWC0およびIBWC1間の選択は、CPC
20270からのINSTBWC24110の入力によ
って制御される。特に、また以下において更に述べるよ
うに、CPC20270の29ビット・ワードのビット
26(CPC26)はIBW0またはIBW1のどちら
がINSTB20262に対して書込まれるかについて
表示する。
【0573】IBW0およびIBW1のINSTB20
262に対する書込みの制御に加えて、INSTBWC
24110はFU10120の各要素に対して制御信号
を与えてMEM10112からINSTB20262に
対するSINの読込みを制御する。この点に関して、I
NSTBWC24110はINSTB20262におけ
るSINワードの状態に関するある条件を検出し、IN
STB20262が略々常に少なくとも1つの妥当なS
OPまたは名前シラブルを含むように、今説明する対応
した制御信号をFU10120の他の要素に対して与え
る。第1に、もしINSTB20262が充填されてい
なければ、即ちIBW0またはIBW1のいずれか一方
またはその両者が無効であれば、例えばIBW0がIN
STB20262から読出されて実行されるため、IN
STBWC24110はこの状態を検出してINSTB
20262に対して制御信号QPFを与えてMEM10
112からの読出しを開始する。その時INSTBWC
24110はINSTB20262のIBW0またはI
BW1のいずれかの部分がPREF20260の要求に
応じてMEM10112から読出されたワードを受取る
ことを可能にする。前述の如く、この作用は、INST
BWC24110が妥当フラッグを生成することにより
IBW0またはIBW1の一方が無効であることを検出
してこれを表示する時に開始される。この場合INST
B20262からパーサ20264により読出しが行な
われる時、IBW0またはIBW1は無効として表示さ
れる。以下において更に説明するようにIBW0および
IBW1に対するINSTBWC24110の妥当性フ
ラッグは、CPC20270からのビット26乃至28
(CPC26〜28)からなるINSTBWC2411
0の制御入力、およびCSSR24112からのその時
のシラブル・サイズ即ち値フラッグ(K)により生成さ
れる。第2に、INSTB20262が空の時、即ち今
述べたようにIBW0とIBW1の双方が無効である時
を、あるいは16ビットの名前シラブルの半部のみがI
NSTB20262に存在する時をINSTBWC24
110が検出する。いずれかの状態に応じて、INST
BWC24110はSTATE20294に対して信号
IBWAITを生成する。更に以下に述べるように、信
号IBWAITはINSTB20262を照合するマイ
クロ命令の実行を中断する結果となる。今説明する他の
ある状態が生じなければ、前述の如くMEM10112
に対するPREF20260の要求は既に開始されてい
る。第3に、INSTBWC24110は、INSTB
20262が空でありINSTB20262が停止状態
にある時即ちMEM10112に対して要求を生じるこ
とができない時を検出することになり、その時のマイク
ロ命令はINSTB20262からのシラブルの分析を
試みつつある。この場合、INSTBWC24110は
EVENT20284に対する制御信号命令バッファ停
止(IBHUNG)を生成する。以下において更に説明
するように、IBHUNGはINSTB20262に対
するワードの流れを復元するマイクロ命令のシーケンス
の開始を惹起する。第4にINSTBWC24110
は、SOPに応答してFUSITT11012により与
えられるマイクロ命令シーケンスにおける分岐が生じる
時をFUSITT11012から与えられるマイクロ命
令制御信号によって検出する。この場合、IBW0およ
びIBW1は無効としてフラッグされる。INSTBW
C24110はこの時、分岐が生じる時には未だ受取っ
ていないが前に与えられたPREF20260の要求に
応答してMEM10112から読出されつつあるSIN
ワードを無視する。このため、PREF20260が無
効のSINワードを受取ることを阻止し、この時PRE
F20260とINSTB20262は動作を継続して
この分岐の妥当なSINワードを要求してこれを受取
る。
262に対する書込みの制御に加えて、INSTBWC
24110はFU10120の各要素に対して制御信号
を与えてMEM10112からINSTB20262に
対するSINの読込みを制御する。この点に関して、I
NSTBWC24110はINSTB20262におけ
るSINワードの状態に関するある条件を検出し、IN
STB20262が略々常に少なくとも1つの妥当なS
OPまたは名前シラブルを含むように、今説明する対応
した制御信号をFU10120の他の要素に対して与え
る。第1に、もしINSTB20262が充填されてい
なければ、即ちIBW0またはIBW1のいずれか一方
またはその両者が無効であれば、例えばIBW0がIN
STB20262から読出されて実行されるため、IN
STBWC24110はこの状態を検出してINSTB
20262に対して制御信号QPFを与えてMEM10
112からの読出しを開始する。その時INSTBWC
24110はINSTB20262のIBW0またはI
BW1のいずれかの部分がPREF20260の要求に
応じてMEM10112から読出されたワードを受取る
ことを可能にする。前述の如く、この作用は、INST
BWC24110が妥当フラッグを生成することにより
IBW0またはIBW1の一方が無効であることを検出
してこれを表示する時に開始される。この場合INST
B20262からパーサ20264により読出しが行な
われる時、IBW0またはIBW1は無効として表示さ
れる。以下において更に説明するようにIBW0および
IBW1に対するINSTBWC24110の妥当性フ
ラッグは、CPC20270からのビット26乃至28
(CPC26〜28)からなるINSTBWC2411
0の制御入力、およびCSSR24112からのその時
のシラブル・サイズ即ち値フラッグ(K)により生成さ
れる。第2に、INSTB20262が空の時、即ち今
述べたようにIBW0とIBW1の双方が無効である時
を、あるいは16ビットの名前シラブルの半部のみがI
NSTB20262に存在する時をINSTBWC24
110が検出する。いずれかの状態に応じて、INST
BWC24110はSTATE20294に対して信号
IBWAITを生成する。更に以下に述べるように、信
号IBWAITはINSTB20262を照合するマイ
クロ命令の実行を中断する結果となる。今説明する他の
ある状態が生じなければ、前述の如くMEM10112
に対するPREF20260の要求は既に開始されてい
る。第3に、INSTBWC24110は、INSTB
20262が空でありINSTB20262が停止状態
にある時即ちMEM10112に対して要求を生じるこ
とができない時を検出することになり、その時のマイク
ロ命令はINSTB20262からのシラブルの分析を
試みつつある。この場合、INSTBWC24110は
EVENT20284に対する制御信号命令バッファ停
止(IBHUNG)を生成する。以下において更に説明
するように、IBHUNGはINSTB20262に対
するワードの流れを復元するマイクロ命令のシーケンス
の開始を惹起する。第4にINSTBWC24110
は、SOPに応答してFUSITT11012により与
えられるマイクロ命令シーケンスにおける分岐が生じる
時をFUSITT11012から与えられるマイクロ命
令制御信号によって検出する。この場合、IBW0およ
びIBW1は無効としてフラッグされる。INSTBW
C24110はこの時、分岐が生じる時には未だ受取っ
ていないが前に与えられたPREF20260の要求に
応答してMEM10112から読出されつつあるSIN
ワードを無視する。このため、PREF20260が無
効のSINワードを受取ることを阻止し、この時PRE
F20260とINSTB20262は動作を継続して
この分岐の妥当なSINワードを要求してこれを受取
る。
【0574】前述の如く、CPC20270およびCP
C20270に関連する回路の制御下において作用する
パーサ20264は、夫々INSTB20262から名
前バス20224およびOPCODEREG20268
に対して名前シラブル論理SOPを読出す。パーサ20
264は制御ロジックと関連すると共にマルチプレクサ
として作用する。
C20270に関連する回路の制御下において作用する
パーサ20264は、夫々INSTB20262から名
前バス20224およびOPCODEREG20268
に対して名前シラブル論理SOPを読出す。パーサ20
264は制御ロジックと関連すると共にマルチプレクサ
として作用する。
【0575】前述の如く、INSTB20262は8つ
の8ビット・ワード、即ちBS0乃至BS7として内部
に構成される。IBW0はBS0乃至BS3からなり、
IBW1はBS4乃至BS7からなる。各SOPは8ビ
ットのデータからなり、このため1つの基本シラブルか
らなるが、各名前シラブルは8,12または16ビット
のデータからなり、このため1つまたは2つの基本シラ
ブルからなる。名前シラブル・サイズは、前述の如く、
CSSR24112において記憶されたその時のシラブ
ル・サイズ値Kにより示される。
の8ビット・ワード、即ちBS0乃至BS7として内部
に構成される。IBW0はBS0乃至BS3からなり、
IBW1はBS4乃至BS7からなる。各SOPは8ビ
ットのデータからなり、このため1つの基本シラブルか
らなるが、各名前シラブルは8,12または16ビット
のデータからなり、このため1つまたは2つの基本シラ
ブルからなる。名前シラブル・サイズは、前述の如く、
CSSR24112において記憶されたその時のシラブ
ル・サイズ値Kにより示される。
【0576】BS0およびBS4はMODバス1014
4のビット零からビット11INSTB20262にロ
ードされるが、BS2とBS6はMODバス10144
のビット16乃至23に対してロードされる。BS1お
よびBS5はMODバス10144のビット8乃至15
からロードされるが、BS3およびBS7はMODバス
10144のバッファ24乃至31からロードされる。
奇数の基本シラブル出力BS1、BS3、BS5および
BS7は、INSTB20262の8ビットの基本シラ
ブル、奇数出力BS0を構成するようにORされる。I
NSTB20262の偶数を付した基本シラブル出力B
S0、BS2、BS4およびBS6は、同様に8ビット
の基本シラブル、偶数出力BSEを構成するようにOR
される。如何なる時も、INSTB20262の1つの
奇数の基本シラブル出力および1つの偶数の基本シラブ
ル出力が、IBSDECR24114によりINSTB
20262に対して与えられる命令バッファ読出し可能
(IBORE)使用可能および選択の信号によりパーサ
20264に対する入力として選択される。IBSDE
CR24114は復号回路を含む。IBSDECR24
114の復号ロジックに対する入力は、CPCMUX2
4118から与えられる3ビット(RCPC(26〜2
8))からなる。図241に示すように、このCPC
(26〜28)はJPDバス10142のビット25乃
至28、またはCPCALU24120の出力側から与
えられる。1つの入力CPCALU24120はCPC
20270からのCPC(26〜28)の出力から与え
られる。CPC20270とCPC20270の関連す
る回路の作用については以下において更に説明する。R
CPC(26〜28)はIBSDECR24114によ
り復号されて、INSTB20262に対するIBOR
E(0〜7)を生成する。RCPC26およびRCPC
27はパーサ20264に対する奇数の基本シラブル入
力としてINSTB20262の4つの奇数の基本シラ
ブル出力(即ち、BS1、BS3、BS5またはBS
7)の内の1つを選択するように復号される。RCPC
28は、パーサ20264に対する偶数の基本シラブル
入力としてのINSTB20262の偶数の基本シラブ
ル出力の前部または後部のいずれかを選択する。IBS
DECR24114により生成されたIBORE(0〜
7)の8つの復号されたビットはIBSDECR241
14の8ビットレジスタに対してロードされ、その後I
BORE(0〜7)としてINSTB20262に対し
て与えられる。
4のビット零からビット11INSTB20262にロ
ードされるが、BS2とBS6はMODバス10144
のビット16乃至23に対してロードされる。BS1お
よびBS5はMODバス10144のビット8乃至15
からロードされるが、BS3およびBS7はMODバス
10144のバッファ24乃至31からロードされる。
奇数の基本シラブル出力BS1、BS3、BS5および
BS7は、INSTB20262の8ビットの基本シラ
ブル、奇数出力BS0を構成するようにORされる。I
NSTB20262の偶数を付した基本シラブル出力B
S0、BS2、BS4およびBS6は、同様に8ビット
の基本シラブル、偶数出力BSEを構成するようにOR
される。如何なる時も、INSTB20262の1つの
奇数の基本シラブル出力および1つの偶数の基本シラブ
ル出力が、IBSDECR24114によりINSTB
20262に対して与えられる命令バッファ読出し可能
(IBORE)使用可能および選択の信号によりパーサ
20264に対する入力として選択される。IBSDE
CR24114は復号回路を含む。IBSDECR24
114の復号ロジックに対する入力は、CPCMUX2
4118から与えられる3ビット(RCPC(26〜2
8))からなる。図241に示すように、このCPC
(26〜28)はJPDバス10142のビット25乃
至28、またはCPCALU24120の出力側から与
えられる。1つの入力CPCALU24120はCPC
20270からのCPC(26〜28)の出力から与え
られる。CPC20270とCPC20270の関連す
る回路の作用については以下において更に説明する。R
CPC(26〜28)はIBSDECR24114によ
り復号されて、INSTB20262に対するIBOR
E(0〜7)を生成する。RCPC26およびRCPC
27はパーサ20264に対する奇数の基本シラブル入
力としてINSTB20262の4つの奇数の基本シラ
ブル出力(即ち、BS1、BS3、BS5またはBS
7)の内の1つを選択するように復号される。RCPC
28は、パーサ20264に対する偶数の基本シラブル
入力としてのINSTB20262の偶数の基本シラブ
ル出力の前部または後部のいずれかを選択する。IBS
DECR24114により生成されたIBORE(0〜
7)の8つの復号されたビットはIBSDECR241
14の8ビットレジスタに対してロードされ、その後I
BORE(0〜7)としてINSTB20262に対し
て与えられる。
【0577】パーサ20264は、名前バス20224
あるいはOPCODEREG20268に対するパーサ
20264の出力としてBS0またはBSE、またはB
S0およびBSEを選択する。SOP即ち8ビットの名
前シラブルの場合には、BS0またはBSEがパーサ2
0264の出力として選択されることになる。12また
は16ビットの名前シラブルの場合には、BS0と分岐
制御エラーがパーサ20264の出力として選択するこ
とができる。パーサ20264の作用はFUSITT1
1012からのマイクロ命令制御出力によって制御され
る。
あるいはOPCODEREG20268に対するパーサ
20264の出力としてBS0またはBSE、またはB
S0およびBSEを選択する。SOP即ち8ビットの名
前シラブルの場合には、BS0またはBSEがパーサ2
0264の出力として選択されることになる。12また
は16ビットの名前シラブルの場合には、BS0と分岐
制御エラーがパーサ20264の出力として選択するこ
とができる。パーサ20264の作用はFUSITT1
1012からのマイクロ命令制御出力によって制御され
る。
【0578】プログラム・カウンタIPC20272、
EPC20274およびCPC20270は、SINの
取出しおよび分析の制御と関連させられている。一般
に、IPC20272とEPC20274とCPC20
270はFUSITT11012からのマイクロ命令の
制御下で作用する。CPC20270はその時のプログ
ラム・カウンタであり、IPC20272におけるその
時のシラブルを支持する28ビットを含む。CPC20
270のビット29乃至31は与えられず、そのためC
PC20270出力のビット29乃至31は零となり、
これはSOPに対するバイトの境界を保証する。これに
よりCPC20270の内容もまたその時の手順オブジ
ェクトに対するバイト整合オフセットであるポインタと
なる。初期プログラム・カウンタ(IPC)20272
はCPC20270の出力と接続されたバッファ・レジ
スタで、タイミングの重ね合せのために設けられる。I
PC20272は、前述の如く29ビットの幅であるC
PC20270からしかロードすることができず、これ
はIPC20272において零に強制されるビット2
9,30および31は保有しない。IPC20272
は、無条件の分岐における開始値としてJPDバス10
142に対して読込むことができる。
EPC20274およびCPC20270は、SINの
取出しおよび分析の制御と関連させられている。一般
に、IPC20272とEPC20274とCPC20
270はFUSITT11012からのマイクロ命令の
制御下で作用する。CPC20270はその時のプログ
ラム・カウンタであり、IPC20272におけるその
時のシラブルを支持する28ビットを含む。CPC20
270のビット29乃至31は与えられず、そのためC
PC20270出力のビット29乃至31は零となり、
これはSOPに対するバイトの境界を保証する。これに
よりCPC20270の内容もまたその時の手順オブジ
ェクトに対するバイト整合オフセットであるポインタと
なる。初期プログラム・カウンタ(IPC)20272
はCPC20270の出力と接続されたバッファ・レジ
スタで、タイミングの重ね合せのために設けられる。I
PC20272は、前述の如く29ビットの幅であるC
PC20270からしかロードすることができず、これ
はIPC20272において零に強制されるビット2
9,30および31は保有しない。IPC20272
は、無条件の分岐における開始値としてJPDバス10
142に対して読込むことができる。
【0579】EPC20274は、実行中のその時のS
OPに対するポインタを通常含む32ビットのレジスタ
である。SOPの分岐の発生と同時に、EPC2027
4におけるポインタはこれから分岐が実行されるSOP
を指示する。EPC20274に駐在するポインタは、
その時の手順オブジェクトに対するオフセットである。
EPC20274はIPC20272からしかロードす
ることができず、またJPDバス10142に対して読
込むことができる。
OPに対するポインタを通常含む32ビットのレジスタ
である。SOPの分岐の発生と同時に、EPC2027
4におけるポインタはこれから分岐が実行されるSOP
を指示する。EPC20274に駐在するポインタは、
その時の手順オブジェクトに対するオフセットである。
EPC20274はIPC20272からしかロードす
ることができず、またJPDバス10142に対して読
込むことができる。
【0580】再びCPC20270について、前述の如
く、CPC20270はその時のシラブル・カウンタで
ある。CPC20270は、パーサ20264により分
析されるべき次のSOPシラブル、即ち基本シラブルに
対するポインタを保有する。SOPは常にバイトの境界
にあるため、CPC20270のポインタは29ビット
の幅のCPC(0〜28)である。CPC20270の
ポインタの3つの下位ビット、即ちCPC(29〜3
1)は物理的には存在せず、常に零であるものとする。
分析される次の命令シラブルを指示するCPC2027
0のポインタは常にバイトの境界を指示する。
く、CPC20270はその時のシラブル・カウンタで
ある。CPC20270は、パーサ20264により分
析されるべき次のSOPシラブル、即ち基本シラブルに
対するポインタを保有する。SOPは常にバイトの境界
にあるため、CPC20270のポインタは29ビット
の幅のCPC(0〜28)である。CPC20270の
ポインタの3つの下位ビット、即ちCPC(29〜3
1)は物理的には存在せず、常に零であるものとする。
分析される次の命令シラブルを指示するCPC2027
0のポインタは常にバイトの境界を指示する。
【0581】CPC20270のビット26乃至28、
CPC(26〜28)は、前述の如く、INSTB20
262における特定の基本シラブルを表示する。CPC
20270のビット0〜25(CPC(0〜25))
は、一連のSINの、IBW0およびIBW1としてI
NSTB20262に対して読込まれる32ビット・ワ
ードを示す。CPC20270のポインタは、INST
B20262からの基本シラブルの読出しを行なう分析
操作毎に更新される。前述の如く、これらの分析操作は
FUSITT11012からのマイクロ命令制御下で実
施される。
CPC(26〜28)は、前述の如く、INSTB20
262における特定の基本シラブルを表示する。CPC
20270のビット0〜25(CPC(0〜25))
は、一連のSINの、IBW0およびIBW1としてI
NSTB20262に対して読込まれる32ビット・ワ
ードを示す。CPC20270のポインタは、INST
B20262からの基本シラブルの読出しを行なう分析
操作毎に更新される。前述の如く、これらの分析操作は
FUSITT11012からのマイクロ命令制御下で実
施される。
【0582】概念的には、CPC20270は、CPC
(26〜28)の如き下位側に帰属する3ビットのレジ
スタと共に、CPC(26〜28)を含む32ビットの
カウンタとして構成される。CPC(26〜28)がI
NSTB20262の分析された基本シラブルをカウン
トしてCSSR24112に記憶されたその時の名前シ
ラブルのサイズKに従って増進されねばならないため、
この構成が使用される。しかし、CPC(0〜25)は
一連のSINの連続する32ビット・ワードをカウント
し、これにより2進数カウンタとして構成することがで
きる。図241に示されるように、CPC(26〜2
8)はCPCMUX24118の出力からロードされ
る。CPCMUX24118の第1の入力はJPDバス
10142のビット29乃至31と接続される。JPD
バス10142からCPC(26〜28)に対するこの
入力は、例えば初期のポインタ値によるCPC2027
0のローディングの際、CPC20270がJPDバス
10142からロードされることを可能にする。CPC
MUX24118の第2の入力はCPCALU2412
0の出力からのものであり、また連続する基本シラブル
がINSTB20262から分析される時CPC(26
〜28)が増分される経路である。CPCALU241
20の第1の入力は、CPC20270からのCPC
(26〜28)である。CPCALU24120の第2
の入力はCSSR24112からの二重入力である。C
SSR24112からの第1の入力は最下位ビットの位
置において、即ちCPC(28)と対応する位置におい
て論理値1である。この入力は、単一の基本シラブルが
INSTB20262から分析された、例えば8ビット
のSOPまたは8ビットの名前シラブルである時に使用
される。CPCALU24120に対するCSSR24
112の第1の入力はCPC(0〜32)を8つずつ、
即ち1つの基本シラブルがINSTB20262から分
析される毎にCPC(26〜28)に対して1つずつ増
分する。CSSR24112からのCPCALU241
20に対する第2の入力はKサイズ、即ちその時の名前
シラブルのサイズである。前述の如く、Kの値は8また
は12または16となる。これによりCPC(26〜2
8)は、Kが8と等しい時1だけ増分され、Kが12ま
たは16と等しい時は2だけ増分される。図241に示
すように、値KはJPDバス10142からCSSR2
4112に対してロードされる。
(26〜28)の如き下位側に帰属する3ビットのレジ
スタと共に、CPC(26〜28)を含む32ビットの
カウンタとして構成される。CPC(26〜28)がI
NSTB20262の分析された基本シラブルをカウン
トしてCSSR24112に記憶されたその時の名前シ
ラブルのサイズKに従って増進されねばならないため、
この構成が使用される。しかし、CPC(0〜25)は
一連のSINの連続する32ビット・ワードをカウント
し、これにより2進数カウンタとして構成することがで
きる。図241に示されるように、CPC(26〜2
8)はCPCMUX24118の出力からロードされ
る。CPCMUX24118の第1の入力はJPDバス
10142のビット29乃至31と接続される。JPD
バス10142からCPC(26〜28)に対するこの
入力は、例えば初期のポインタ値によるCPC2027
0のローディングの際、CPC20270がJPDバス
10142からロードされることを可能にする。CPC
MUX24118の第2の入力はCPCALU2412
0の出力からのものであり、また連続する基本シラブル
がINSTB20262から分析される時CPC(26
〜28)が増分される経路である。CPCALU241
20の第1の入力は、CPC20270からのCPC
(26〜28)である。CPCALU24120の第2
の入力はCSSR24112からの二重入力である。C
SSR24112からの第1の入力は最下位ビットの位
置において、即ちCPC(28)と対応する位置におい
て論理値1である。この入力は、単一の基本シラブルが
INSTB20262から分析された、例えば8ビット
のSOPまたは8ビットの名前シラブルである時に使用
される。CPCALU24120に対するCSSR24
112の第1の入力はCPC(0〜32)を8つずつ、
即ち1つの基本シラブルがINSTB20262から分
析される毎にCPC(26〜28)に対して1つずつ増
分する。CSSR24112からのCPCALU241
20に対する第2の入力はKサイズ、即ちその時の名前
シラブルのサイズである。前述の如く、Kの値は8また
は12または16となる。これによりCPC(26〜2
8)は、Kが8と等しい時1だけ増分され、Kが12ま
たは16と等しい時は2だけ増分される。図241に示
すように、値KはJPDバス10142からCSSR2
4112に対してロードされる。
【0583】CPC(0〜25)は、前述の如く、CP
C(26〜28)の桁あふれ毎に増分される36ビット
のカウンタとして作用する。CPC(0〜25)はCP
CALU24120の桁送り出力により増分される。実
際の構成においては、CPC20270は本質的とされ
る集積回路の数を減少するように構成されている。CP
C(0〜25)は1つのカウンタとして構成され、CP
C(0〜25)の入力はJPDバス10142のビット
1からビット24まで接続されて、CPC20270の
ポインタの初期値のローディングを可能にする。CPC
(0)およびCPC(26〜28)は4ビットのレジス
タとして増分される。このレジスタのCPC(26〜2
8)部分の作用については前に説明した。このレジスタ
のCPC(0)の入力はCPCOS24116の出力と
接続されている。CPCOS24116は、JPDバス
10142のビット0と接続された第1の入力を有する
マルチプレクサである。JPDバス10142からのこ
の入力は、例えば初期のポインタ値でIPC20272
をロードする時に使用される。CPCOS24116の
第2の入力はCPC(1〜25)の桁あふれ出力であ
り、4ビット・レジスタおよびCPC(1〜25)の
(0)部分が26ビットのカウンタとして作用すること
を可能にする。
C(26〜28)の桁あふれ毎に増分される36ビット
のカウンタとして作用する。CPC(0〜25)はCP
CALU24120の桁送り出力により増分される。実
際の構成においては、CPC20270は本質的とされ
る集積回路の数を減少するように構成されている。CP
C(0〜25)は1つのカウンタとして構成され、CP
C(0〜25)の入力はJPDバス10142のビット
1からビット24まで接続されて、CPC20270の
ポインタの初期値のローディングを可能にする。CPC
(0)およびCPC(26〜28)は4ビットのレジス
タとして増分される。このレジスタのCPC(26〜2
8)部分の作用については前に説明した。このレジスタ
のCPC(0)の入力はCPCOS24116の出力と
接続されている。CPCOS24116は、JPDバス
10142のビット0と接続された第1の入力を有する
マルチプレクサである。JPDバス10142からのこ
の入力は、例えば初期のポインタ値でIPC20272
をロードする時に使用される。CPCOS24116の
第2の入力はCPC(1〜25)の桁あふれ出力であ
り、4ビット・レジスタおよびCPC(1〜25)の
(0)部分が26ビットのカウンタとして作用すること
を可能にする。
【0584】最後に、図241に示すように、CPC2
0270の出力はIPC20272に対してロードする
ことができる。CPC20270の初期のポインタ値
は、従ってJPDバス10142からCPC20270
に対して書込むことができ、その後IPC20272に
対してコピーすることができる。
0270の出力はIPC20272に対してロードする
ことができる。CPC20270の初期のポインタ値
は、従ってJPDバス10142からCPC20270
に対して書込むことができ、その後IPC20272に
対してコピーすることができる。
【0585】再びパーサ20264について見れば、前
述の如き、パーサ20264はINSTB20262か
ら名前バス20224に対する基本シラブルの読出しを
行ない、あるいはこれを分析する。パーサ20264の
入力は、8ビットの奇数を付した基本シラブルBS0お
よび8ビットの偶数の基本シラブルBSEからなる16
ビット・ワードである。パーサ20264が8ビットの
SOPか、8ビットの名前シラブルか、12ビットの名
前シラブルか、16ビットの名前シラブルのいずれを分
析するかによって、パーサ20264は名前バス202
24に対する出力としてBS0、BSE、またはBSO
とBSEの双方のいずれかを選択することができる。
述の如き、パーサ20264はINSTB20262か
ら名前バス20224に対する基本シラブルの読出しを
行ない、あるいはこれを分析する。パーサ20264の
入力は、8ビットの奇数を付した基本シラブルBS0お
よび8ビットの偶数の基本シラブルBSEからなる16
ビット・ワードである。パーサ20264が8ビットの
SOPか、8ビットの名前シラブルか、12ビットの名
前シラブルか、16ビットの名前シラブルのいずれを分
析するかによって、パーサ20264は名前バス202
24に対する出力としてBS0、BSE、またはBSO
とBSEの双方のいずれかを選択することができる。
【0586】もしパーサ20264が名前シラブルを分
析中であり値Kが8と等しくない、即ち12または16
と等しければ、パーサ20264はBSOとBSEの双
方を名前バス20224に転送して、BSOとBSEの
どちらが最も重要であるかを判定する。BSOまたはB
SEのいずれが最も重要であるかについての判定はCP
C(28)によってなされる。もしCPC(28)がB
SOが最も重要であることを示すならば、BSOは名前
バス20224のビット0乃至7(NAME(0〜
7))に対して転送され、BSEは名前バス20224
のビット8乃至15(NAME(8〜15))に対して
転送される。もしCPC(28)がBSEが最も重要で
あることを示すならば、BSEはNAME(0〜7)に
対して転送され、BSOはNAME(8〜15)に転送
される。この操作は、名前シラブルがSINの命令スト
リームにおいて生じる順序で名前バス20224に対し
て解析されることを保証する。
析中であり値Kが8と等しくない、即ち12または16
と等しければ、パーサ20264はBSOとBSEの双
方を名前バス20224に転送して、BSOとBSEの
どちらが最も重要であるかを判定する。BSOまたはB
SEのいずれが最も重要であるかについての判定はCP
C(28)によってなされる。もしCPC(28)がB
SOが最も重要であることを示すならば、BSOは名前
バス20224のビット0乃至7(NAME(0〜
7))に対して転送され、BSEは名前バス20224
のビット8乃至15(NAME(8〜15))に対して
転送される。もしCPC(28)がBSEが最も重要で
あることを示すならば、BSEはNAME(0〜7)に
対して転送され、BSOはNAME(8〜15)に転送
される。この操作は、名前シラブルがSINの命令スト
リームにおいて生じる順序で名前バス20224に対し
て解析されることを保証する。
【0587】もしパーサ20264がシラブル・サイズ
K=8の名前シラブルを分析中であれば、パーサ202
64はNAME(0〜7)に対する出力として、CPC
(28)により示されるようにBSOまたはBSEのい
ずれかを選択する。パーサ20264は0をNAME
(8〜15)に置く。
K=8の名前シラブルを分析中であれば、パーサ202
64はNAME(0〜7)に対する出力として、CPC
(28)により示されるようにBSOまたはBSEのい
ずれかを選択する。パーサ20264は0をNAME
(8〜15)に置く。
【0588】もしパーサ20264が8ビットのSOP
を分析中であれば、パーサ20264はCPC(28)
により選択される如きNAME(0〜7)としてBSO
またはBSEを選択する。パーサ20264は0をNA
ME(8〜15)に置く。同時に、パーサ20264は
OPCODEREG20268に対してOPREGEを
生成して、NAME(0〜7)のOPCODEREG2
0268に対する転送を可能にする。OPCODERE
G20268は、パーサ20264が名前シラブルを分
析中である時はロードされない。パーサ20264の作
用を制御するFUSITT11012からのマイクロ命
令入力はまた、パーサ20264がSOPまたは名前シ
ラブルのどちらを分析中であるかを判定してOPREG
Eの生成を制御する。
を分析中であれば、パーサ20264はCPC(28)
により選択される如きNAME(0〜7)としてBSO
またはBSEを選択する。パーサ20264は0をNA
ME(8〜15)に置く。同時に、パーサ20264は
OPCODEREG20268に対してOPREGEを
生成して、NAME(0〜7)のOPCODEREG2
0268に対する転送を可能にする。OPCODERE
G20268は、パーサ20264が名前シラブルを分
析中である時はロードされない。パーサ20264の作
用を制御するFUSITT11012からのマイクロ命
令入力はまた、パーサ20264がSOPまたは名前シ
ラブルのどちらを分析中であるかを判定してOPREG
Eの生成を制御する。
【0589】名前バス20224からのアドレス入力と
して名前シラブルを受取るNC10226の作用につい
てはMEMINT20212に関して前に論述した。N
T20254は名前バス20224と接続されて、パー
サ20264により名前バス20224に対して分析さ
れる名前シラブルを受取ってこれを捕捉する。NT20
254の作用についてもMEMINTに関連して前に論
述した。
して名前シラブルを受取るNC10226の作用につい
てはMEMINT20212に関して前に論述した。N
T20254は名前バス20224と接続されて、パー
サ20264により名前バス20224に対して分析さ
れる名前シラブルを受取ってこれを捕捉する。NT20
254の作用についてもMEMINTに関連して前に論
述した。
【0590】b.b.b.取出し装置のタスク指名テー
ブル11010、実行装置のタスク指名テーブル202
66、および命令コード・レジスタ20268(図24
2) 前述の如く、CS10110は多重言語機械である。高
水準のユーザ言語で書かれた各プログラムは、SOPと
呼ばれるS言語命令を含む対応するS言語プログラムに
コンパイルされる。CS10110は、各S言語に対す
るインタプリタ(SINT)と呼ばれるマイクロコード
命令の組即ちダイアレクトを提供する。SINTはSO
Pを解釈して、CS10110の作用の詳細な制御に対
するマイクロ命令の対応するシーケンスを提供する。F
U10120およびEU10122に対するCS101
10のSINTは夫々、FUSITT11012および
EU10122の以下の選択において述べるEU101
22における対応する制御記憶メモリーにおいて記憶さ
れる。各SINTは、各シーケンスがある特定のS言語
のダイアレクトにおける特定のSOPと対応するマイク
ロ命令の1つ以上のシーケンスからなる。取出し装置の
Sインタプリタのタスク指名テーブル(FUSDT)1
1010と実行装置のSインタプリタのタスク指名テー
ブル(EUSDT)20226とは、各S言語のダイア
レクトに対するSインタプリタのタスク指名プログラム
(SD)を含む。各SDは、ある特定のSDにおけるS
DPがこのSDのダイアレクトのある特定のSOPと対
応する1組のSDポインタ(SDP)からなる。各SD
Pは、これに対応するSOPの解釈のための対応する一
連のマイクロ命令の開始のFUSITT11012の場
所またはEUSITTを指示するアドレスである。更に
以下において説明するように、OPCODEREG20
268において受取られてこれに記憶されるSOPは、
対応するSDPを選択するためFUSDT11010お
よびEUSDT20226に対してアドレスを生成する
ために使用される。次にこれらのSDPはADR202
02を経てFUSITT11012に対して、あるいは
EUDISバス20206を経てEUSITTに対して
与えられ、FUSITT11012およびEUSITT
からのマイクロ命令の対応するシーケンスを選択する。
ブル11010、実行装置のタスク指名テーブル202
66、および命令コード・レジスタ20268(図24
2) 前述の如く、CS10110は多重言語機械である。高
水準のユーザ言語で書かれた各プログラムは、SOPと
呼ばれるS言語命令を含む対応するS言語プログラムに
コンパイルされる。CS10110は、各S言語に対す
るインタプリタ(SINT)と呼ばれるマイクロコード
命令の組即ちダイアレクトを提供する。SINTはSO
Pを解釈して、CS10110の作用の詳細な制御に対
するマイクロ命令の対応するシーケンスを提供する。F
U10120およびEU10122に対するCS101
10のSINTは夫々、FUSITT11012および
EU10122の以下の選択において述べるEU101
22における対応する制御記憶メモリーにおいて記憶さ
れる。各SINTは、各シーケンスがある特定のS言語
のダイアレクトにおける特定のSOPと対応するマイク
ロ命令の1つ以上のシーケンスからなる。取出し装置の
Sインタプリタのタスク指名テーブル(FUSDT)1
1010と実行装置のSインタプリタのタスク指名テー
ブル(EUSDT)20226とは、各S言語のダイア
レクトに対するSインタプリタのタスク指名プログラム
(SD)を含む。各SDは、ある特定のSDにおけるS
DPがこのSDのダイアレクトのある特定のSOPと対
応する1組のSDポインタ(SDP)からなる。各SD
Pは、これに対応するSOPの解釈のための対応する一
連のマイクロ命令の開始のFUSITT11012の場
所またはEUSITTを指示するアドレスである。更に
以下において説明するように、OPCODEREG20
268において受取られてこれに記憶されるSOPは、
対応するSDPを選択するためFUSDT11010お
よびEUSDT20226に対してアドレスを生成する
ために使用される。次にこれらのSDPはADR202
02を経てFUSITT11012に対して、あるいは
EUDISバス20206を経てEUSITTに対して
与えられ、FUSITT11012およびEUSITT
からのマイクロ命令の対応するシーケンスを選択する。
【0591】図242によればOPCODEREG20
268およびEUSDT20226の更に詳細なブロッ
ク図が示されている。同図に示すように、OPCODE
REG20268は、命令コード・ラッチ(LOPCO
DE)24210と、ダイアレクト・レジスタ(RDI
AL)24212と、ロード・アドレス・レジスタ(L
ADDR)24214と、取出し装置タスク指名エンコ
ーダ(FUDISENC)24216とからなる。LO
PCODE24010は名前バス20224と接続され
てINSTB20262から分析されたSOPを受取
る。RDIAL24212のロード入力はJPDバス1
0142のビット28乃至31と接続されている。LO
PCODE24210、RDIAL24212およびL
ADDR24214の出力は、FUDISENC242
16の入力と接続される。FUDISENC24216
の出力は、FUSDT11010とFUSDT2022
6のアドレス入力に対して接続される。
268およびEUSDT20226の更に詳細なブロッ
ク図が示されている。同図に示すように、OPCODE
REG20268は、命令コード・ラッチ(LOPCO
DE)24210と、ダイアレクト・レジスタ(RDI
AL)24212と、ロード・アドレス・レジスタ(L
ADDR)24214と、取出し装置タスク指名エンコ
ーダ(FUDISENC)24216とからなる。LO
PCODE24010は名前バス20224と接続され
てINSTB20262から分析されたSOPを受取
る。RDIAL24212のロード入力はJPDバス1
0142のビット28乃至31と接続されている。LO
PCODE24210、RDIAL24212およびL
ADDR24214の出力は、FUDISENC242
16の入力と接続される。FUDISENC24216
の出力は、FUSDT11010とFUSDT2022
6のアドレス入力に対して接続される。
【0592】FUSDT11010は、取出し装置タス
ク指名ファイル(FUDISF)24218とアルゴリ
ズム・ファイル(AF)24220からなる。FUDI
SF24218およびAF24220のアドレス・入力
は、前述の如く、FUDISENC24216のアドレ
ス出力と接続される。FUDISF24218およびA
F24220のデータ・ロード入力は、夫々JPDバス
10142のビット10乃至15およびビット16乃至
31と接続される。FUDISF24218およびAF
24220のSDP出力はADR20202と接続され
る。
ク指名ファイル(FUDISF)24218とアルゴリ
ズム・ファイル(AF)24220からなる。FUDI
SF24218およびAF24220のアドレス・入力
は、前述の如く、FUDISENC24216のアドレ
ス出力と接続される。FUDISF24218およびA
F24220のデータ・ロード入力は、夫々JPDバス
10142のビット10乃至15およびビット16乃至
31と接続される。FUDISF24218およびAF
24220のSDP出力はADR20202と接続され
る。
【0593】EUSDTF20266は、実行装置タス
ク指名ファイル(EUDISF)24222と実行装置
タスク指名セレクタ(EUDISS)24224からな
る。EUDISF24222のアドレス入力は、前述の
如く、FUDISENC24216の出力と接続され
る。EUDISF24222のデータ・ロード入力はJ
PDバス10142のビット20乃至31と接続され
る。EUDISS24224の入力は、EUDISF2
4222のSDP出力、JPDバス10142のビット
20乃至31およびFUSITT11012のマイクロ
コード・リテラル(mLIT)出力と接続される。EU
DISS24224のSDP出力はEUDISバス20
206と接続される。
ク指名ファイル(EUDISF)24222と実行装置
タスク指名セレクタ(EUDISS)24224からな
る。EUDISF24222のアドレス入力は、前述の
如く、FUDISENC24216の出力と接続され
る。EUDISF24222のデータ・ロード入力はJ
PDバス10142のビット20乃至31と接続され
る。EUDISS24224の入力は、EUDISF2
4222のSDP出力、JPDバス10142のビット
20乃至31およびFUSITT11012のマイクロ
コード・リテラル(mLIT)出力と接続される。EU
DISS24224のSDP出力はEUDISバス20
206と接続される。
【0594】前述の如く、OPCODEREG2026
8は、OPCODEREG20268に対してロードさ
れたSOPからFUSDT11010およびEUSDT
F20266に対して生成されたアドレスを提供してF
USITT11012およびEUSITTに対するアド
レス入力として与えられるべきSDPを選択する。LO
PCODE24210は、前述の如くINSTB202
62から分析された8ビットのSOPを受取りこれを記
憶する。OPCODEREG20268もまた、アドレ
スをFUSDT11010とEUSDTF20266に
与えて、FUSDT11010とFUSDTF2026
6をFUSDT11010によりその時使用中のS言語
ダイアレクトでロードする。LOPCODE24210
とRDIAL24212は、前述の如く、SOPのSD
Pへの翻訳中にアドレスをFUSDT11010とEU
SDTF20266に対して与え、またLADDR24
214はFUSDT11010とEUSDTF2026
6がSDでロードされつつある時アドレスを与える。
8は、OPCODEREG20268に対してロードさ
れたSOPからFUSDT11010およびEUSDT
F20266に対して生成されたアドレスを提供してF
USITT11012およびEUSITTに対するアド
レス入力として与えられるべきSDPを選択する。LO
PCODE24210は、前述の如くINSTB202
62から分析された8ビットのSOPを受取りこれを記
憶する。OPCODEREG20268もまた、アドレ
スをFUSDT11010とEUSDTF20266に
与えて、FUSDT11010とFUSDTF2026
6をFUSDT11010によりその時使用中のS言語
ダイアレクトでロードする。LOPCODE24210
とRDIAL24212は、前述の如く、SOPのSD
Pへの翻訳中にアドレスをFUSDT11010とEU
SDTF20266に対して与え、またLADDR24
214はFUSDT11010とEUSDTF2026
6がSDでロードされつつある時アドレスを与える。
【0595】最初にLADDR24214について述べ
ると、LADDR24214は8ビットのカウンタを有
する。FUSDT11010とEUSDTF20266
がSDで、即ちその時FUSDT11010により使用
されつつあるS言語ダイアレクトのグループでロードさ
れつつある時にのみ、アドレスがLADDR24214
からFUSDT11010とEUSDTF20266に
対して与えられる。この操作中、LADDR24214
の出力は、FUSITT11012からのマイクロコー
ド制御信号(説明を明瞭にするため図示せず)によりF
USDT11010およびEUSDTF20266に対
して使用可能となる。アドレスの受取りのためのFUD
ISF24218、AF24220およびEUDISF
24222間の選択は、FUSITT11012から与
えられたマイクロ命令使用可能信号(これもまた説明を
明瞭にするため示さない)によって同様に与えられる。
これらのFUSDT11010およびEUSDTF20
266のアドレス使用可能入力は如何なる時にもアドレ
ス入力の受取りのためFUDISF24218、AF2
4220またはEUDISF24222のどれか、ある
いは全てを選択することができる。FUDISF242
18、AF24220およびEUDISF24222に
対してロードされるべきSDPは、夫々、JPDバス1
0142のビット10乃至15(JPD(10〜1
5))、ビット16〜31(JPD(16〜31))お
よびビット20乃至31(JPD(20〜31))から
与えられる。LADDR24214のアドレス内容は、
連続するSDPがFUSDT11010およびEUSD
TF20266に対してロードされる時1つずつ連続的
に増進される。LADDR24214の増分は、再びF
USITT11012からのマイクロ命令制御入力によ
って制御される。
ると、LADDR24214は8ビットのカウンタを有
する。FUSDT11010とEUSDTF20266
がSDで、即ちその時FUSDT11010により使用
されつつあるS言語ダイアレクトのグループでロードさ
れつつある時にのみ、アドレスがLADDR24214
からFUSDT11010とEUSDTF20266に
対して与えられる。この操作中、LADDR24214
の出力は、FUSITT11012からのマイクロコー
ド制御信号(説明を明瞭にするため図示せず)によりF
USDT11010およびEUSDTF20266に対
して使用可能となる。アドレスの受取りのためのFUD
ISF24218、AF24220およびEUDISF
24222間の選択は、FUSITT11012から与
えられたマイクロ命令使用可能信号(これもまた説明を
明瞭にするため示さない)によって同様に与えられる。
これらのFUSDT11010およびEUSDTF20
266のアドレス使用可能入力は如何なる時にもアドレ
ス入力の受取りのためFUDISF24218、AF2
4220またはEUDISF24222のどれか、ある
いは全てを選択することができる。FUDISF242
18、AF24220およびEUDISF24222に
対してロードされるべきSDPは、夫々、JPDバス1
0142のビット10乃至15(JPD(10〜1
5))、ビット16〜31(JPD(16〜31))お
よびビット20乃至31(JPD(20〜31))から
与えられる。LADDR24214のアドレス内容は、
連続するSDPがFUSDT11010およびEUSD
TF20266に対してロードされる時1つずつ連続的
に増進される。LADDR24214の増分は、再びF
USITT11012からのマイクロ命令制御入力によ
って制御される。
【0596】SOPの翻訳中のFUSDT11010お
よびEUSDTF20266に対するアドレス入力は、
LOPCODE24210およびRDIAL24212
から与えられる。LOPCODE24210は前述の如
く、パーサ20264からSOPを受取るため名前バス
20224と接続されたデータ入力を有するレジスタ・
カウンタである。第1のモードにおいては、LOPCO
DE24210は、パーサ20264の出力から一時に
1つのSOPでロードされたラッチとして作用し得る。
第2のモードにおいては、LOPCODE24210
は、名前バス20224(NAME(8〜15))の下
位の8ビットから連続的な8ビット入力を受取るクロッ
ク・レジスタとして作用する。LOPCODE2421
0のローディングは、FUSITT11012からのマ
イクロ命令制御出力(説明を明瞭にするため示さない)
によって制御される。
よびEUSDTF20266に対するアドレス入力は、
LOPCODE24210およびRDIAL24212
から与えられる。LOPCODE24210は前述の如
く、パーサ20264からSOPを受取るため名前バス
20224と接続されたデータ入力を有するレジスタ・
カウンタである。第1のモードにおいては、LOPCO
DE24210は、パーサ20264の出力から一時に
1つのSOPでロードされたラッチとして作用し得る。
第2のモードにおいては、LOPCODE24210
は、名前バス20224(NAME(8〜15))の下
位の8ビットから連続的な8ビット入力を受取るクロッ
ク・レジスタとして作用する。LOPCODE2421
0のローディングは、FUSITT11012からのマ
イクロ命令制御出力(説明を明瞭にするため示さない)
によって制御される。
【0597】以下において更に説明するように、LOP
CODE24210に記憶された8ビットのSOPはR
DIAL24212の出力と並列に置かれて、特定のS
OPと対応するSDPを説明するためFUSDT110
10とEUSDTF20266に対してアドレスを与え
る。LOPCODE24210から与えられたこれらア
ドレスの部分、即ち8ビットのSOPは、特定のSD内
の特定のSDPを選択する。特定のSDは、RDIAL
24212の内容から与えられるこれらアドレスの前記
部分により選択される。
CODE24210に記憶された8ビットのSOPはR
DIAL24212の出力と並列に置かれて、特定のS
OPと対応するSDPを説明するためFUSDT110
10とEUSDTF20266に対してアドレスを与え
る。LOPCODE24210から与えられたこれらア
ドレスの部分、即ち8ビットのSOPは、特定のSD内
の特定のSDPを選択する。特定のSDは、RDIAL
24212の内容から与えられるこれらアドレスの前記
部分により選択される。
【0598】RDIAL24212は、FUSDT11
010によりそく時使用されかつユーザ・プログラムの
SOPを実行しつつある特定のS言語ダイアレクトを表
示する4ビットのダイアレクト・コードを受取りこれを
記憶する。これらの4ビットのダイアレクト・コード
は、JPD(28〜31)としてJPDバス10142
から与えられる。4ビットのダイアレクト・コードによ
るRDIAL24212のローディングは、FUSIT
T11012から与えられるマイクロ命令制御信号(説
明を明瞭にするため示さない)によって制御される。
010によりそく時使用されかつユーザ・プログラムの
SOPを実行しつつある特定のS言語ダイアレクトを表
示する4ビットのダイアレクト・コードを受取りこれを
記憶する。これらの4ビットのダイアレクト・コード
は、JPD(28〜31)としてJPDバス10142
から与えられる。4ビットのダイアレクト・コードによ
るRDIAL24212のローディングは、FUSIT
T11012から与えられるマイクロ命令制御信号(説
明を明瞭にするため示さない)によって制御される。
【0599】RDIAL24212における4ビットの
ダイアレクト・コードは、FUDISF24218、A
F24220およびEUDISF24222における区
画を画成する。各区画は、異なるS言語ダイアレクトに
対するSDPを含み、即ち異なるSDを含む。FUDI
SF24218、AF24220およびEUDISF2
4222は例えば、8つの128ワード区画即ち4つの
256ワード区画を保有することができる。ダイアレク
ト・コードの単一のビット、例えばビット3はFUDI
SF24218、AF24220およびEUDISF2
4222が4つあるいは8つの区画のどれを保有するか
を規定する。もしFUSDT11010およびEUSD
TF20266が4つの区画を保有するならばFUSD
T11010およびEUSDTF20266に対する2
つの最上位ビットがダイアレクト・コード・ビット1か
ら与えられ、どの区画がアドレス指定されるかを判定す
る。アドレスの下位の8はLOPCODE24210か
ら与えられ、選択されたある区画におけるどのワードが
アドレス指定されるかを判定する。もしFUSDT11
010およびEUSDTF20266が8つの区画を有
するならば、FUSDT11010およびEUSDTF
20266に対するアドレスの3つの最上位ビットはあ
る特定の区画を選択するためダイアレクト・コードのビ
ット0から2に対して与えられ、アドレスの下位の7ビ
ットは選択された区画におけるある特定のワードを選択
するためLOPCODE24210から与えられる。
ダイアレクト・コードは、FUDISF24218、A
F24220およびEUDISF24222における区
画を画成する。各区画は、異なるS言語ダイアレクトに
対するSDPを含み、即ち異なるSDを含む。FUDI
SF24218、AF24220およびEUDISF2
4222は例えば、8つの128ワード区画即ち4つの
256ワード区画を保有することができる。ダイアレク
ト・コードの単一のビット、例えばビット3はFUDI
SF24218、AF24220およびEUDISF2
4222が4つあるいは8つの区画のどれを保有するか
を規定する。もしFUSDT11010およびEUSD
TF20266が4つの区画を保有するならばFUSD
T11010およびEUSDTF20266に対する2
つの最上位ビットがダイアレクト・コード・ビット1か
ら与えられ、どの区画がアドレス指定されるかを判定す
る。アドレスの下位の8はLOPCODE24210か
ら与えられ、選択されたある区画におけるどのワードが
アドレス指定されるかを判定する。もしFUSDT11
010およびEUSDTF20266が8つの区画を有
するならば、FUSDT11010およびEUSDTF
20266に対するアドレスの3つの最上位ビットはあ
る特定の区画を選択するためダイアレクト・コードのビ
ット0から2に対して与えられ、アドレスの下位の7ビ
ットは選択された区画におけるある特定のワードを選択
するためLOPCODE24210から与えられる。
【0600】前述の如く、LOPCODE24210の
8ビットの出力およびRDIAL24212の4ビット
の出力はFUDISENC24216を介して一つに連
結されてFUSDT11010およびEUSDTF20
266に対する10ビットのアドレス入力を提供する。
FUDISENC24216は符号化回路であり、これ
についてはFUDISF24218に関して以下におい
て更に説明することにする。前述の如く、RDIAL2
4212およびLOPCODE24210からアドレス
入力を受取るFUDISF24218、AF24220
およびEUDISF24222の選択は、FUSITT
11012から与えられるマイクロ命令使用可能制御入
力(説明を明瞭にするため示さない)によって制御され
る。
8ビットの出力およびRDIAL24212の4ビット
の出力はFUDISENC24216を介して一つに連
結されてFUSDT11010およびEUSDTF20
266に対する10ビットのアドレス入力を提供する。
FUDISENC24216は符号化回路であり、これ
についてはFUDISF24218に関して以下におい
て更に説明することにする。前述の如く、RDIAL2
4212およびLOPCODE24210からアドレス
入力を受取るFUDISF24218、AF24220
およびEUDISF24222の選択は、FUSITT
11012から与えられるマイクロ命令使用可能制御入
力(説明を明瞭にするため示さない)によって制御され
る。
【0601】FUSDT11010について述べれば、
FUDISF24218とAF24220は共にFUS
ITT11012に対してSDPを提供するが、これは
異なるオブジェクトのためにそうするのである。一般
に、マイクロ命令の制御操作は2つの種類に該当するも
のと考えることができる。第1に、汎用即ち性格的に一
般的なものであってある特定のダイアレクトあるいは多
くのダイアレクトの場合でさえその種々のSOPにより
使用されあるいはこれを与える如きマイクロ命令操作が
存在する。この種のマイクロ命令操作の一例としてはオ
ペランド値の取出しがある。FUDISF24218は
この種のマイクロ命令操作のためのSDPを提供する。
以下に述べるように、FUDISF24218は、FU
SITT11012の単一のマイクロ命令制御出力がI
NSTB20262からLOPCODE24210に対
するSOPを分析することを可能にし、また対応するS
DPをFUDISF24218から与えさせる高速のア
クセス・メモリーである。即ち、この一般的な種類のS
OPはINSTB20262から分析することができ、
またシステムの1クロック・サイクルの間に対応するS
DPがFUDISF24218から与えられる。これに
より、FUDISF24218の作用は、特に新たなS
OPの実行の開始時に、JP10114の作用の速度を
向上させる。
FUDISF24218とAF24220は共にFUS
ITT11012に対してSDPを提供するが、これは
異なるオブジェクトのためにそうするのである。一般
に、マイクロ命令の制御操作は2つの種類に該当するも
のと考えることができる。第1に、汎用即ち性格的に一
般的なものであってある特定のダイアレクトあるいは多
くのダイアレクトの場合でさえその種々のSOPにより
使用されあるいはこれを与える如きマイクロ命令操作が
存在する。この種のマイクロ命令操作の一例としてはオ
ペランド値の取出しがある。FUDISF24218は
この種のマイクロ命令操作のためのSDPを提供する。
以下に述べるように、FUDISF24218は、FU
SITT11012の単一のマイクロ命令制御出力がI
NSTB20262からLOPCODE24210に対
するSOPを分析することを可能にし、また対応するS
DPをFUDISF24218から与えさせる高速のア
クセス・メモリーである。即ち、この一般的な種類のS
OPはINSTB20262から分析することができ、
またシステムの1クロック・サイクルの間に対応するS
DPがFUDISF24218から与えられる。これに
より、FUDISF24218の作用は、特に新たなS
OPの実行の開始時に、JP10114の作用の速度を
向上させる。
【0602】マイクロ命令操作の第2の種類は、特定の
SINTまたは特定のSINT群に固有のものである。
これらのSINT群は、完全にある特定のダイアレクト
内部に駐在し、あるいは1つ以上のダイアレクト内に存
在し得る。この種のマイクロ命令操作に対するSDPは
AF24220によって提供される。更に以下において
説明するように、AF24220はFUDISF242
18よりも速度が遅いが容量が大きい。一般に、AF2
4220は特定のSINTに固有のマイクロ命令シーケ
ンスのSDPを保有する。一般に、一般的なマイクロ命
令操作は特定のSIMTに固有のこのような諸操作の前
に実施され、そのためSDPはFUDISF24218
からの要求よりも遅い時点にAF24220から要求さ
れる。従って、特定のSINT操作のためのSDPは、
SOPの実行の速度を犠牲にすることなく比較的遅い速
度のAF24220から与えることができる。
SINTまたは特定のSINT群に固有のものである。
これらのSINT群は、完全にある特定のダイアレクト
内部に駐在し、あるいは1つ以上のダイアレクト内に存
在し得る。この種のマイクロ命令操作に対するSDPは
AF24220によって提供される。更に以下において
説明するように、AF24220はFUDISF242
18よりも速度が遅いが容量が大きい。一般に、AF2
4220は特定のSINTに固有のマイクロ命令シーケ
ンスのSDPを保有する。一般に、一般的なマイクロ命
令操作は特定のSIMTに固有のこのような諸操作の前
に実施され、そのためSDPはFUDISF24218
からの要求よりも遅い時点にAF24220から要求さ
れる。従って、特定のSINT操作のためのSDPは、
SOPの実行の速度を犠牲にすることなく比較的遅い速
度のAF24220から与えることができる。
【0603】再びFUDISF24218について説明
すると、FUDISF24218は極性メモリーによる
1024ワードX6ビットの高速アクセスである。これ
に含まれる各ワードは、前述の如く、SDP、即ちFU
SITT11012におけるマイクロ命令の対応するシ
ーケンスの開始に対するアドレスである。以下において
更に説明するように、FUSITTは8K(8192)
ワードのメモリーである。FUDISF24218によ
り与えられるSDPは各々前述の如く6ビットの幅を有
し、このためFUSITT11012のアドレス空間の
制限された32ワードの領域をアドレス指定することが
できる。FUDISF24218は、FUSITT11
012からのマイクロ命令制御信号(説明を明瞭にする
ため示さない)によってFUSITT11012に対し
SDPを提供するように使用可能状態にされる。FUD
ISF24218の6ビットのSDPは、4つのマイク
ロ命令の増分、即ち4つのアドレス場所の増分における
FUSITT11012のアドレス空間をアドレス指定
するようにFUDISENC24219によって符号化
される。これにより、FUDISF24218のSDP
は、FUSITT11012のマイクロ命令シーケンス
から一時に4つのマイクロ命令をアドレス指定する。以
下において更に説明するように、mPC20276はF
USITT11012に対する連続するマイクロ命令ア
ドレスを生成して、FUSDT11010からのSDP
により選択される最初のマイクロ命令に続くシーケンス
の連続するマイクロ命令を選択する。FUDISF24
218のSDPはこれにより4つのマイクロ命令ブロッ
クの最初のマイクロ命令を選択し、mPC20276は
この4つのマイクロ命令シーケンスの後続の3つのマイ
クロ命令を選択することになる。従って、4マイクロ命
令シーケンスは一般的SOPに応答して与えられる各F
UDISF24218毎に、直列状即ち順次実行するこ
とができる。FUDISENC24219はFUDIS
F24218の6ビットSDPを符号化して、これらの
SDPの最下位ビットがFUSITT11012のアド
レス入力の24ビットを占有する……等のようにこれら
の4つのマイクロ命令シーケンスを選択する。FUDI
SF24218から与えられるFUSITT11012
のアドレス即ちSDPの2つの最下位ビットは0に強制
されるが、9番目以上のビットはFUSITT1101
2における128アドレスのどの特定のブロックでも規
定するようにハードワイアドすることができる。FUD
ISF24218からのFUSITT11012のアド
レスの最上位ビットのこのハードワイアリングにより、
FUDISF24218により選択される1組の一般的
マイクロ命令シーケンスが望み通りにFUSITT11
012のアドレス空間内に位置指定させられる。FUD
ISENC24219は1組のドライバ・ゲートからな
っている。
すると、FUDISF24218は極性メモリーによる
1024ワードX6ビットの高速アクセスである。これ
に含まれる各ワードは、前述の如く、SDP、即ちFU
SITT11012におけるマイクロ命令の対応するシ
ーケンスの開始に対するアドレスである。以下において
更に説明するように、FUSITTは8K(8192)
ワードのメモリーである。FUDISF24218によ
り与えられるSDPは各々前述の如く6ビットの幅を有
し、このためFUSITT11012のアドレス空間の
制限された32ワードの領域をアドレス指定することが
できる。FUDISF24218は、FUSITT11
012からのマイクロ命令制御信号(説明を明瞭にする
ため示さない)によってFUSITT11012に対し
SDPを提供するように使用可能状態にされる。FUD
ISF24218の6ビットのSDPは、4つのマイク
ロ命令の増分、即ち4つのアドレス場所の増分における
FUSITT11012のアドレス空間をアドレス指定
するようにFUDISENC24219によって符号化
される。これにより、FUDISF24218のSDP
は、FUSITT11012のマイクロ命令シーケンス
から一時に4つのマイクロ命令をアドレス指定する。以
下において更に説明するように、mPC20276はF
USITT11012に対する連続するマイクロ命令ア
ドレスを生成して、FUSDT11010からのSDP
により選択される最初のマイクロ命令に続くシーケンス
の連続するマイクロ命令を選択する。FUDISF24
218のSDPはこれにより4つのマイクロ命令ブロッ
クの最初のマイクロ命令を選択し、mPC20276は
この4つのマイクロ命令シーケンスの後続の3つのマイ
クロ命令を選択することになる。従って、4マイクロ命
令シーケンスは一般的SOPに応答して与えられる各F
UDISF24218毎に、直列状即ち順次実行するこ
とができる。FUDISENC24219はFUDIS
F24218の6ビットSDPを符号化して、これらの
SDPの最下位ビットがFUSITT11012のアド
レス入力の24ビットを占有する……等のようにこれら
の4つのマイクロ命令シーケンスを選択する。FUDI
SF24218から与えられるFUSITT11012
のアドレス即ちSDPの2つの最下位ビットは0に強制
されるが、9番目以上のビットはFUSITT1101
2における128アドレスのどの特定のブロックでも規
定するようにハードワイアドすることができる。FUD
ISF24218からのFUSITT11012のアド
レスの最上位ビットのこのハードワイアリングにより、
FUDISF24218により選択される1組の一般的
マイクロ命令シーケンスが望み通りにFUSITT11
012のアドレス空間内に位置指定させられる。FUD
ISENC24219は1組のドライバ・ゲートからな
っている。
【0604】前述の如く、ユーザ・プログラムの実行中
FUSDT11010によってその時使用中の一般的マ
イクロ命令に対するSDPはJPDバス10142のビ
ット10乃至15(JPD(10〜15))からFUD
ISF24218に対して書込まれる。FUDISF2
4218に対するSDPのローディングのためのアドレ
スは、前述の如くLADDR24214から与えられ
る。LADDR24214はロード・アドレスを提供す
るため使用可能状態に置かれ、FUDISF24218
はFUSITT11012から与えられるマイクロ命令
制御信号(説明を明瞭にするため示さない)によって書
込まれるように使用可能状態に置かれる。AF2422
0について述べれば、前述の如く、AF24220はF
UDISF24218より大きな容量を有するが、比較
的短いアクセス時間を有する。AF24220は、10
24ワードX15ビットのメモリーである。一般に、A
F24220からDSPを得るためには2クロック・サ
イクルが必要とされる。最初のクロック・サイクルの
間、SOPがLOPCODE24210に対してロード
され、第2のクロック・サイクルの間AF24220が
アドレス指定されて対応するSDPを提供する。AF2
4220により提供されるSDPは幅が各々15ビット
であり、このためFUSITT11012のアドレス空
間よりも大きなアドレス空間をアドレス指定することが
できる。前述の如く、FUSITT11012は8Kワ
ードのメモリーである。もしFUSITT11012が
そのアドレス空間の外側のアドレス場所を示すAF24
220のSDPによってアドレス指定されると、FUS
ITT11012は更に以下に述べるようにマイクロ命
令、「制御ストア不在」出力を生成することになる。こ
の事象を結果するAF24220のSDPは、この時M
EM10112に記憶されたあるマイクロ命令シーケン
スをアドレス指定するため使用される。次にこれらのマ
イクロ命令は、FUSDT11010ではなくMEM1
0112から実行されることになる。この操作はあるマ
イクロ命令シーケンス、例えばほとんど使用されないマ
イクロ命令シーケンスがMEM10112に残留するこ
とを許容し、このためAF24220とFUSITT1
1012のアドレス空間が更に頻繁に使用されるSOP
から解除するのである。
FUSDT11010によってその時使用中の一般的マ
イクロ命令に対するSDPはJPDバス10142のビ
ット10乃至15(JPD(10〜15))からFUD
ISF24218に対して書込まれる。FUDISF2
4218に対するSDPのローディングのためのアドレ
スは、前述の如くLADDR24214から与えられ
る。LADDR24214はロード・アドレスを提供す
るため使用可能状態に置かれ、FUDISF24218
はFUSITT11012から与えられるマイクロ命令
制御信号(説明を明瞭にするため示さない)によって書
込まれるように使用可能状態に置かれる。AF2422
0について述べれば、前述の如く、AF24220はF
UDISF24218より大きな容量を有するが、比較
的短いアクセス時間を有する。AF24220は、10
24ワードX15ビットのメモリーである。一般に、A
F24220からDSPを得るためには2クロック・サ
イクルが必要とされる。最初のクロック・サイクルの
間、SOPがLOPCODE24210に対してロード
され、第2のクロック・サイクルの間AF24220が
アドレス指定されて対応するSDPを提供する。AF2
4220により提供されるSDPは幅が各々15ビット
であり、このためFUSITT11012のアドレス空
間よりも大きなアドレス空間をアドレス指定することが
できる。前述の如く、FUSITT11012は8Kワ
ードのメモリーである。もしFUSITT11012が
そのアドレス空間の外側のアドレス場所を示すAF24
220のSDPによってアドレス指定されると、FUS
ITT11012は更に以下に述べるようにマイクロ命
令、「制御ストア不在」出力を生成することになる。こ
の事象を結果するAF24220のSDPは、この時M
EM10112に記憶されたあるマイクロ命令シーケン
スをアドレス指定するため使用される。次にこれらのマ
イクロ命令は、FUSDT11010ではなくMEM1
0112から実行されることになる。この操作はあるマ
イクロ命令シーケンス、例えばほとんど使用されないマ
イクロ命令シーケンスがMEM10112に残留するこ
とを許容し、このためAF24220とFUSITT1
1012のアドレス空間が更に頻繁に使用されるSOP
から解除するのである。
【0605】前述の如く、AF24220は、JPDバ
ス10142(JPD(16〜31))のビット16〜
31からのユーザ・プログラムの実行中にFUSDT1
1010によりその時使用中のSINTにおいてSDP
がロードされる。また前述の如く、AF24220に対
してSDPをロードするアドレスはLADDR2421
4から与えられる。FUSITT11012から与えら
れるマイクロ命令制御信号(説明を明瞭にするため示さ
ない)によって、LADDR24214はロード・アド
レスを与えるように、またAF24220はSDPを受
取るように使用可能状態に置かれる。
ス10142(JPD(16〜31))のビット16〜
31からのユーザ・プログラムの実行中にFUSDT1
1010によりその時使用中のSINTにおいてSDP
がロードされる。また前述の如く、AF24220に対
してSDPをロードするアドレスはLADDR2421
4から与えられる。FUSITT11012から与えら
れるマイクロ命令制御信号(説明を明瞭にするため示さ
ない)によって、LADDR24214はロード・アド
レスを与えるように、またAF24220はSDPを受
取るように使用可能状態に置かれる。
【0606】最後にEUSDTF20266について説
明すれば、SDPを3つのソースからEU10122に
対して与えることができる。EU10122のSDP
は、EUDISF24222から、またはJPDバス1
0142から、またはFUSITT11012から与え
られるマイクロ命令のリテラル・フィールドから与えら
れる。EUDISF24222のSDPは各々12ビッ
トの幅であり、EUSITTに対する9ビットのアドレ
スおよび3ビットのオペランドのフォーマット情報から
なる。
明すれば、SDPを3つのソースからEU10122に
対して与えることができる。EU10122のSDP
は、EUDISF24222から、またはJPDバス1
0142から、またはFUSITT11012から与え
られるマイクロ命令のリテラル・フィールドから与えら
れる。EUDISF24222のSDPは各々12ビッ
トの幅であり、EUSITTに対する9ビットのアドレ
スおよび3ビットのオペランドのフォーマット情報から
なる。
【0607】EUDISF24222は1024ビット
X12ビットメモリーである。前述の如く、SDPをE
UDISF24222から読出すアドレスは、RDIA
L24212からの4ビットのダイアレクト・コードと
LOPCODE24210からの8ビットのSOPを連
結することによってOPCODEREG20268から
与えられる。EUDISF24222により与えられる
SDPはEUDISS24224に対する第1の入力と
して与えられる。
X12ビットメモリーである。前述の如く、SDPをE
UDISF24222から読出すアドレスは、RDIA
L24212からの4ビットのダイアレクト・コードと
LOPCODE24210からの8ビットのSOPを連
結することによってOPCODEREG20268から
与えられる。EUDISF24222により与えられる
SDPはEUDISS24224に対する第1の入力と
して与えられる。
【0608】EUDISS24224はマルチプレクサ
である。前述の如く、EUDISS24224の第1の
入力はEUDISF24222からのSDPである。E
UDISS24224の第2の12ビット入力JPDバ
ス10142のビット20乃至31(JPD(20〜3
1))から与えられる。EUDISS24224の第3
の入力は、FUSITT10012のマイクロ命令出力
のリテラル・フィールドから与えられる12ビットの入
力である。EUDISS20224は、実行装置のEU
SITTに対するSDPとして与えられるべきEUDI
Sバス20206上に転送されるこれら3入力の内の1
つを選択する。EUDISS20224の入力間の選択
は、FUSITT11012から与えられるマイクロ命
令制御信号(説明を明瞭にするため示さない)によって
与えられる。
である。前述の如く、EUDISS24224の第1の
入力はEUDISF24222からのSDPである。E
UDISS24224の第2の12ビット入力JPDバ
ス10142のビット20乃至31(JPD(20〜3
1))から与えられる。EUDISS24224の第3
の入力は、FUSITT10012のマイクロ命令出力
のリテラル・フィールドから与えられる12ビットの入
力である。EUDISS20224は、実行装置のEU
SITTに対するSDPとして与えられるべきEUDI
Sバス20206上に転送されるこれら3入力の内の1
つを選択する。EUDISS20224の入力間の選択
は、FUSITT11012から与えられるマイクロ命
令制御信号(説明を明瞭にするため示さない)によって
与えられる。
【0609】前述の如く、EUDISF24222は、
JPDバス10142のビット20乃至31(JPD
(20〜31))からのCS10110によりその時使
用されつつあるS言語ダイアレクトに対するSDPでロ
ードされる。EUDISF24222にSDPをロード
するアドレスは、前述の如くLADDR24214から
与えられる。FUSITT11012は、LADDR2
4214およびLADDR24214に対して使用可能
信号(説明を明瞭にするため示さない)を与えてSDP
のEUDISF24222に対する書込みを可能にす
る。
JPDバス10142のビット20乃至31(JPD
(20〜31))からのCS10110によりその時使
用されつつあるS言語ダイアレクトに対するSDPでロ
ードされる。EUDISF24222にSDPをロード
するアドレスは、前述の如くLADDR24214から
与えられる。FUSITT11012は、LADDR2
4214およびLADDR24214に対して使用可能
信号(説明を明瞭にするため示さない)を与えてSDP
のEUDISF24222に対する書込みを可能にす
る。
【0610】名前シラブルおよびSOPを与えるためM
EM10112からSINを取出してこれを分析するた
め、またFUSDT11010およびEUSDT202
66からFUSITT11012に対してSDPを与え
るためSOPを解釈するためのFUCTL20214の
回路の構造および作用については前に述べた。前述の如
く、FUSDT11010およびEUSDT20266
により与えられるSDPは、マイクロ命令のシーケンス
の最初のマイクロ命令を指示する初期即ち始動アドレス
である。これらの初期マイクロ命令に続くマイクロ命令
に対するアドレスは、BRCASE20278、REP
CTR20280およびPNREG20282、EVE
NT20284およびSITTNAG20286を含む
FUCTL20214の次のアドレス・ゼネレータ回路
によって与えられる。mPC20276、BRCASE
20278、REPCTR20280およびPNREG
20282、およびSITTNAG20286は、SO
Pに応答するマイクロ命令シーケンスの実行中、主とし
て次のアドレスの生成と関連しておりこれについては以
下に説明する。EVENT20284とFUCTL20
214の回路の他の部分は更にCS10110の内部機
構の作用に関するマイクロ命令シーケンスの生成と関連
しており、以下の記述において説明する。EU1012
2はまた次のアドレス生成回路を含み、この回路につい
てはEU10122の以下の説明において説明すること
にする。
EM10112からSINを取出してこれを分析するた
め、またFUSDT11010およびEUSDT202
66からFUSITT11012に対してSDPを与え
るためSOPを解釈するためのFUCTL20214の
回路の構造および作用については前に述べた。前述の如
く、FUSDT11010およびEUSDT20266
により与えられるSDPは、マイクロ命令のシーケンス
の最初のマイクロ命令を指示する初期即ち始動アドレス
である。これらの初期マイクロ命令に続くマイクロ命令
に対するアドレスは、BRCASE20278、REP
CTR20280およびPNREG20282、EVE
NT20284およびSITTNAG20286を含む
FUCTL20214の次のアドレス・ゼネレータ回路
によって与えられる。mPC20276、BRCASE
20278、REPCTR20280およびPNREG
20282、およびSITTNAG20286は、SO
Pに応答するマイクロ命令シーケンスの実行中、主とし
て次のアドレスの生成と関連しておりこれについては以
下に説明する。EVENT20284とFUCTL20
214の回路の他の部分は更にCS10110の内部機
構の作用に関するマイクロ命令シーケンスの生成と関連
しており、以下の記述において説明する。EU1012
2はまた次のアドレス生成回路を含み、この回路につい
てはEU10122の以下の説明において説明すること
にする。
【0611】c.c.c.次のアドレス・ゼネレータ
(NAG)24310(図243) 前述の如く、FU10120においては、SOPの解釈
のためのマイクロ命令シーケンスの最初、即ち初期のマ
イクロ命令はFUSDT11010によって与えられ
る。これらのシーケンス内のマイクロ命令の以後のアド
レスは、一般に、mPC20276およびBRCASE
20278によって与えられる。更に以下に述べるよう
に、mPC20276はマイクロ命令シーケンスのマイ
クロ命令を順次選択するための順次アドレス指定を行な
う。BRCASE20278は、あるマイクロ命令の分
岐またはマイクロ命令のケース操作が要求される時、マ
イクロ命令を選択するためのアドレスを与える。REP
CTR20280およびPNREG20282はFUS
ITT11012に対するマイクロ命令シーケンスの書
込み即ちローディングのためのアドレスを与える。FU
CTL20214の回路の他の部分、例えばEVENT
20284はマイクロ命令シーケンス選択アドレスを与
え、CS10110の内部機構の作用を制御するための
マイクロ命令シーケンスを選択する。SITTNAS2
0286はこれらマイクロ命令のアドレス・ソース間で
選択を行ない、その時CS10110により実行される
べき操作のマイクロ命令の選択に必要とされる如きアド
レスをFUSITT11012に対して与える。
(NAG)24310(図243) 前述の如く、FU10120においては、SOPの解釈
のためのマイクロ命令シーケンスの最初、即ち初期のマ
イクロ命令はFUSDT11010によって与えられ
る。これらのシーケンス内のマイクロ命令の以後のアド
レスは、一般に、mPC20276およびBRCASE
20278によって与えられる。更に以下に述べるよう
に、mPC20276はマイクロ命令シーケンスのマイ
クロ命令を順次選択するための順次アドレス指定を行な
う。BRCASE20278は、あるマイクロ命令の分
岐またはマイクロ命令のケース操作が要求される時、マ
イクロ命令を選択するためのアドレスを与える。REP
CTR20280およびPNREG20282はFUS
ITT11012に対するマイクロ命令シーケンスの書
込み即ちローディングのためのアドレスを与える。FU
CTL20214の回路の他の部分、例えばEVENT
20284はマイクロ命令シーケンス選択アドレスを与
え、CS10110の内部機構の作用を制御するための
マイクロ命令シーケンスを選択する。SITTNAS2
0286はこれらマイクロ命令のアドレス・ソース間で
選択を行ない、その時CS10110により実行される
べき操作のマイクロ命令の選択に必要とされる如きアド
レスをFUSITT11012に対して与える。
【0612】図243においては、10120の次のア
ドレス・ゼネレータ(NAG)24310の部分ブロッ
ク図が示されている。FUSDT11010の外、NA
G24310はmPC20276、BRCASE202
78、EVENT20284、REPCTR20280
およびPNREC20282、RCWS10358の一
部、およびSITTNAS20286を含んでいる。前
述の如くEVENT20284は主として、CS101
10の内部機構の制御のためのマイクロ命令シーケンス
の実行と関連する。EVENT20284は、本文に示
すように、NAG24310の他の部分に対するその関
係を示すのみである。EVENT20284について
は、CS10110の内部機構を制御するFUCTL2
0214の回路の以下の説明において更に説明しよう。
同様に、RCWS10358の作用については、一部は
NAG24310の本項の説明において、また一部はC
S10110の内部機構の制御についての以下の説明に
おいて記述されよう。
ドレス・ゼネレータ(NAG)24310の部分ブロッ
ク図が示されている。FUSDT11010の外、NA
G24310はmPC20276、BRCASE202
78、EVENT20284、REPCTR20280
およびPNREC20282、RCWS10358の一
部、およびSITTNAS20286を含んでいる。前
述の如くEVENT20284は主として、CS101
10の内部機構の制御のためのマイクロ命令シーケンス
の実行と関連する。EVENT20284は、本文に示
すように、NAG24310の他の部分に対するその関
係を示すのみである。EVENT20284について
は、CS10110の内部機構を制御するFUCTL2
0214の回路の以下の説明において更に説明しよう。
同様に、RCWS10358の作用については、一部は
NAG24310の本項の説明において、また一部はC
S10110の内部機構の制御についての以下の説明に
おいて記述されよう。
【0613】最初にNAG24310の構造について述
べればFUSDT11010、RCWS10358、m
PC20276、BRCASE20278、REPCT
R20280、PNREG20282、EVENT20
284およびSITTNAS20286の相互関係につ
いては、図202に関して前に説明した。NAG243
10の構造については、図243が図202と異なる部
分に関してのみ以下に説明する。
べればFUSDT11010、RCWS10358、m
PC20276、BRCASE20278、REPCT
R20280、PNREG20282、EVENT20
284およびSITTNAS20286の相互関係につ
いては、図202に関して前に説明した。NAG243
10の構造については、図243が図202と異なる部
分に関してのみ以下に説明する。
【0614】最初にSITTNAS20286について
述べると、SITTNAS20286は、事象ゲート
(EVNTGT)24310と、次のアドレス選択マル
チプレクサ(NASMUX)24312とからなる如く
に示されている。NASMUXは、NASマルチプレク
サA(NASMUXA)24314、NASMUXB2
4316、NASMUXC24318およびNASMU
XD24320からなる。NASMUXD24320に
対するEVNTGT24310およびNASMUXA2
4314の出力はCSADRバス20204に対してO
RされてFUSITT11012に対しマイクロ命令選
択アドレスを与える。
述べると、SITTNAS20286は、事象ゲート
(EVNTGT)24310と、次のアドレス選択マル
チプレクサ(NASMUX)24312とからなる如く
に示されている。NASMUXは、NASマルチプレク
サA(NASMUXA)24314、NASMUXB2
4316、NASMUXC24318およびNASMU
XD24320からなる。NASMUXD24320に
対するEVNTGT24310およびNASMUXA2
4314の出力はCSADRバス20204に対してO
RされてFUSITT11012に対しマイクロ命令選
択アドレスを与える。
【0615】ADR20202は図243において、9
つのバス、即ちアドレスA(ADRA)バス24322
乃至アドレスI(ADRI)24338からなる如くに
示されている。EVENT20284の出力はADRA
バス24322によりEVNTGT24310の入力側
と接続されている。REPCTR20280およびPN
REG20282の出力とAF24220の出力は、夫
々ADRBバス24324およびADRCバス2432
6によりNASMUXA24314の入力側と接続され
ている。RCWS10358とFUDISENC242
19の出力は、夫々ADRDバス24328およびAD
REバス24330によりNASMUXB24316の
入力側と接続されている。BRCASE20278の出
力とmPC20276の第2の出力は、夫々ADRFバ
ス24332およびADRGバス24334によりNA
SMUXC24318の入力側と接続されている。mP
C20276の第2の出力とNC10226のJAM出
力は、夫々ADRHバス24336およびARDIバス
24338によりNASMUXD24320の入力側と
接続されている。このように、ADR20202は、S
ITTNAS20286の入力に対してマイクロ命令の
アドレス・ソースを接続する1組のバスを含んでいる。
つのバス、即ちアドレスA(ADRA)バス24322
乃至アドレスI(ADRI)24338からなる如くに
示されている。EVENT20284の出力はADRA
バス24322によりEVNTGT24310の入力側
と接続されている。REPCTR20280およびPN
REG20282の出力とAF24220の出力は、夫
々ADRBバス24324およびADRCバス2432
6によりNASMUXA24314の入力側と接続され
ている。RCWS10358とFUDISENC242
19の出力は、夫々ADRDバス24328およびAD
REバス24330によりNASMUXB24316の
入力側と接続されている。BRCASE20278の出
力とmPC20276の第2の出力は、夫々ADRFバ
ス24332およびADRGバス24334によりNA
SMUXC24318の入力側と接続されている。mP
C20276の第2の出力とNC10226のJAM出
力は、夫々ADRHバス24336およびARDIバス
24338によりNASMUXD24320の入力側と
接続されている。このように、ADR20202は、S
ITTNAS20286の入力に対してマイクロ命令の
アドレス・ソースを接続する1組のバスを含んでいる。
【0616】mPC20276について述べれば、mP
C20276はマイクロプログラム・カウンタ・カウン
タ(mPCC)24340およびマイクロプログラム・
カウンタ演算論理装置(mPCALU)24342から
なる。mPCC24340のデータ入力は、CSADR
バス20204と接続されている。mPCC24340
の出力はmPCALU24342の第1の入力と接続さ
れ、BRCASE20278に対するmPC20276
の第3の出力である。mPCALU24342の第2の
入力は、例えばハードワイリングにより、2進数1にな
るように設定された2進数15である。mPCALU2
4342の出力は、RCWS10358に対するmPC
20276の第1の出力と、NASMUXC24318
およびNASMUXD24320の入力に対するmPC
20276の第2の出力とを含む。
C20276はマイクロプログラム・カウンタ・カウン
タ(mPCC)24340およびマイクロプログラム・
カウンタ演算論理装置(mPCALU)24342から
なる。mPCC24340のデータ入力は、CSADR
バス20204と接続されている。mPCC24340
の出力はmPCALU24342の第1の入力と接続さ
れ、BRCASE20278に対するmPC20276
の第3の出力である。mPCALU24342の第2の
入力は、例えばハードワイリングにより、2進数1にな
るように設定された2進数15である。mPCALU2
4342の出力は、RCWS10358に対するmPC
20276の第1の出力と、NASMUXC24318
およびNASMUXD24320の入力に対するmPC
20276の第2の出力とを含む。
【0617】BRCASE20278は、図243にお
いて、マスク兼桁送りマルチプレクサ(MSMUX)2
4344と、ケース・マスク兼桁送りロジック(CAS
EMS)24346、分岐兼ケース・マルチプレクサ
(BCMUX)24348、および分岐兼ケース演算論
理装置(BCALU)24350からなる如くに示され
る。MSMUX24344の第1の入力(AONBC、
前には示さず)は、AONGRF20232の出力と接
続されている。MSMUX24344の第2の入力(O
FFMUXR、前には示さず)はOFFMUXR238
12の出力と接続されている。MSMUX24344の
出力は、CASEMS24346の入力と接続され、C
ASEMS24346の出力はBCMUX24348の
第1の入力と接続されている。BCMUX24348の
第2の入力、BLITはFUSITT11012のマイ
クロ命令出力のリテラル・フィールドと接続されてい
る。mPCC24340の出力からのBCMUX243
48の出力とmPC20276の第3の出力は、夫々B
CALU24350の第1および第2の入力と接続され
ている。BCALU24350の出力はNASMUXC
24318に対するBRCASE20278の出力を構
成する。
いて、マスク兼桁送りマルチプレクサ(MSMUX)2
4344と、ケース・マスク兼桁送りロジック(CAS
EMS)24346、分岐兼ケース・マルチプレクサ
(BCMUX)24348、および分岐兼ケース演算論
理装置(BCALU)24350からなる如くに示され
る。MSMUX24344の第1の入力(AONBC、
前には示さず)は、AONGRF20232の出力と接
続されている。MSMUX24344の第2の入力(O
FFMUXR、前には示さず)はOFFMUXR238
12の出力と接続されている。MSMUX24344の
出力は、CASEMS24346の入力と接続され、C
ASEMS24346の出力はBCMUX24348の
第1の入力と接続されている。BCMUX24348の
第2の入力、BLITはFUSITT11012のマイ
クロ命令出力のリテラル・フィールドと接続されてい
る。mPCC24340の出力からのBCMUX243
48の出力とmPC20276の第3の出力は、夫々B
CALU24350の第1および第2の入力と接続され
ている。BCALU24350の出力はNASMUXC
24318に対するBRCASE20278の出力を構
成する。
【0618】次のマイクロ命令を選択するアドレスは、
8つのソースのどれからでもSITTNAS20286
によりFUSITT11012に対して与えられること
ができる。第1のソースはmPC20276の出力であ
る。mPC20276の出力はマイクロプログラムのカ
ウント、プラス(mPC+1)と呼ばれ、アドレスの1
5ビットである。第2のソースはEVENT20284
からで、アドレスの5ビットからなっている。第3のソ
ースはFUDISP24218およびFUDISENC
24219であり、前述の如く、アドレスの6ビットか
らなる。第4のソースはAF24220の出力であり、
前述の如く、アドレスの15ビットからなる。第5のソ
ースはBRCASE20278の出力である。BRCA
SE20278の出力は分岐兼ケース・アドレス(BR
ACASEADR)と呼ばれ、アドレスの15ビットを
構成する。第6のソースはRCWS10358の出力で
ある。RCWS10358の出力はRCWSアドレス
(RCWSADR)と呼ばれ、アドレスの15ビットか
らなる。第7のソースはREPCTR20280および
PNREG20282であり、その出力(REPPN)
は共にアドレスの15ビットを構成する。最後に、第8
のソースはNC10226からのJAM入力であり、こ
れはアドレスの5ビットを構成する。これらのアドレス
・ソースは、これが提供するアドレスのビット数におい
て異なるが、SITTNAS20286によりADR2
0202に対してゲートされるマイクロ命令アドレスは
常にアドレスの15ビットを構成する。もしある特定の
ソースが15ビットよりも小さなビットを提供するなら
ば、このアドレスはSITTNAS20286によって
15ビットに拡張される。一般に、アドレス・ビットの
実行は、これらソースの各々からのSITTNAS20
286に対する別のアドレス入力ビットのハードワイリ
ングによって実施することができるが、これについては
以下において更に説明する。
8つのソースのどれからでもSITTNAS20286
によりFUSITT11012に対して与えられること
ができる。第1のソースはmPC20276の出力であ
る。mPC20276の出力はマイクロプログラムのカ
ウント、プラス(mPC+1)と呼ばれ、アドレスの1
5ビットである。第2のソースはEVENT20284
からで、アドレスの5ビットからなっている。第3のソ
ースはFUDISP24218およびFUDISENC
24219であり、前述の如く、アドレスの6ビットか
らなる。第4のソースはAF24220の出力であり、
前述の如く、アドレスの15ビットからなる。第5のソ
ースはBRCASE20278の出力である。BRCA
SE20278の出力は分岐兼ケース・アドレス(BR
ACASEADR)と呼ばれ、アドレスの15ビットを
構成する。第6のソースはRCWS10358の出力で
ある。RCWS10358の出力はRCWSアドレス
(RCWSADR)と呼ばれ、アドレスの15ビットか
らなる。第7のソースはREPCTR20280および
PNREG20282であり、その出力(REPPN)
は共にアドレスの15ビットを構成する。最後に、第8
のソースはNC10226からのJAM入力であり、こ
れはアドレスの5ビットを構成する。これらのアドレス
・ソースは、これが提供するアドレスのビット数におい
て異なるが、SITTNAS20286によりADR2
0202に対してゲートされるマイクロ命令アドレスは
常にアドレスの15ビットを構成する。もしある特定の
ソースが15ビットよりも小さなビットを提供するなら
ば、このアドレスはSITTNAS20286によって
15ビットに拡張される。一般に、アドレス・ビットの
実行は、これらソースの各々からのSITTNAS20
286に対する別のアドレス入力ビットのハードワイリ
ングによって実施することができるが、これについては
以下において更に説明する。
【0619】mPC20276について述べれば、mP
CC24340は15ビットのレジスタであり、またm
PCALU24342は15ビットのALUである。m
PCC24340は、前述の如くCSADRバス202
04と接続され、その時FUSITT11012に対し
て与えられつつあるマイクロ命令アドレスで順次ロード
される。mPCC24340はこのように、その時実行
中のマイクロ命令のアドレスを含むことになる。mPC
ALU24342はmPCC24340に含まれるアド
レスを1ずつ増分するために専用化される。これにより
mPCALU24342のmPC+1出力は、常に次の
順次のマイクロ命令のアドレスとなる。mPC+1は前
述の如く15ビットのアドレスであり、このためSIT
TNAS20286において拡張されない。
CC24340は15ビットのレジスタであり、またm
PCALU24342は15ビットのALUである。m
PCC24340は、前述の如くCSADRバス202
04と接続され、その時FUSITT11012に対し
て与えられつつあるマイクロ命令アドレスで順次ロード
される。mPCC24340はこのように、その時実行
中のマイクロ命令のアドレスを含むことになる。mPC
ALU24342はmPCC24340に含まれるアド
レスを1ずつ増分するために専用化される。これにより
mPCALU24342のmPC+1出力は、常に次の
順次のマイクロ命令のアドレスとなる。mPC+1は前
述の如く15ビットのアドレスであり、このためSIT
TNAS20286において拡張されない。
【0620】BRCASE20278について述べれ
ば、前述の如く、BRCASE20278はmPC20
276の相対的分岐およびケース分岐のための次のマイ
クロ命令アドレスを提供する。マイクロプログラムの相
対的分岐およびケース分岐のための次のマイクロ命令ア
ドレスは共にmPCC24340に記憶される如きマイ
クロ命令をその時実行中のアドレスに関連するアドレス
として生成されるが、これらの相対的アドレスが生成さ
れる方法において異なる。最初にケース分岐について見
れば、その実行中のマイクロ命令アドレスに関連するケ
ース分岐アドレスはMSMUX24344およびCAS
EMS24346により部分的に生成される。前述の如
く、マルチプレクサであるMSMUX24344は2つ
の入力を受取る。第1の入力はAONGRF20232
の出力からのAONBCであり、第2の入力はOFFM
UXR23812の出力からのOFFMUXRである。
これらの入力の各々は8ビット、即ち幅が1バイトであ
る。MSMUX24344は、FUSITT11012
からのマイクロ命令出力の制御下で、CASEMS24
346の入力に対する8ビットの出力として入力AON
BCおよび入力OFFMUXRのいずれかを説明する。
CASEMS24346は、構造および作用においてF
IU20116のそれと類似するマスク兼桁送り回路で
あるが、32ビット・ワード以外のバイトに関して作用
する。FUSITT11012からのマイクロ命令制御
装置の制御下で作用するCASEMS24346は、B
CMUX24348に対する8ビットのケース値(CA
SEVAL)出力を生じるようにマスクおよび桁送りを
行なうことによってMSMUX24344からの8ビッ
トの入力を操作する。CASEVALは、その時実行中
の8ビット数である記憶のアドレスに関するマイクロ命
令のアドレス変位を表わし、FUSITT11012に
おける0乃至255のアドレス場所の変位を表わすこと
ができる。
ば、前述の如く、BRCASE20278はmPC20
276の相対的分岐およびケース分岐のための次のマイ
クロ命令アドレスを提供する。マイクロプログラムの相
対的分岐およびケース分岐のための次のマイクロ命令ア
ドレスは共にmPCC24340に記憶される如きマイ
クロ命令をその時実行中のアドレスに関連するアドレス
として生成されるが、これらの相対的アドレスが生成さ
れる方法において異なる。最初にケース分岐について見
れば、その実行中のマイクロ命令アドレスに関連するケ
ース分岐アドレスはMSMUX24344およびCAS
EMS24346により部分的に生成される。前述の如
く、マルチプレクサであるMSMUX24344は2つ
の入力を受取る。第1の入力はAONGRF20232
の出力からのAONBCであり、第2の入力はOFFM
UXR23812の出力からのOFFMUXRである。
これらの入力の各々は8ビット、即ち幅が1バイトであ
る。MSMUX24344は、FUSITT11012
からのマイクロ命令出力の制御下で、CASEMS24
346の入力に対する8ビットの出力として入力AON
BCおよび入力OFFMUXRのいずれかを説明する。
CASEMS24346は、構造および作用においてF
IU20116のそれと類似するマスク兼桁送り回路で
あるが、32ビット・ワード以外のバイトに関して作用
する。FUSITT11012からのマイクロ命令制御
装置の制御下で作用するCASEMS24346は、B
CMUX24348に対する8ビットのケース値(CA
SEVAL)出力を生じるようにマスクおよび桁送りを
行なうことによってMSMUX24344からの8ビッ
トの入力を操作する。CASEVALは、その時実行中
の8ビット数である記憶のアドレスに関するマイクロ命
令のアドレス変位を表わし、FUSITT11012に
おける0乃至255のアドレス場所の変位を表わすこと
ができる。
【0621】BCMUX24348は構造および作用に
おいてMSMUX24344と類似する8ビットのマル
チプレクサであり、FUSITT11012から与えら
れるマイクロ命令入力によって制御される。ケース操作
の実行中、BCMUX24348はBCALU2435
0の第1の入力に対するBCMUX24348の出力に
対するCASEVAL入力を選択する。BCALU24
350は16ビットの演算論理装置である。BCALU
24350の第2の入力はmPCC24340からのそ
の時実行中のマイクロ命令の15ビット・アドレスであ
る。FUSITT11012から与えられるマイクロ命
令の制御下においてBCALU24350が作用し、ケ
ース操作の実行中、その時実行中のマイクロ命令のアド
レスに対しCASEVALを加える。ケース操作の実施
中、BCALU24350の桁送り入力は、FUSIT
T11012からのマイクロ命令の制御により、BCA
LU24350の第2の入力が有効にmPC+1、即ち
その時実行中のマイクロ命令プラス1のアドレスとなる
ように、1に強制される。BCALU24350の出力
BRCASEADRはこれにより15ビットのケース・
アドレスとなり、これはその時実行中のマイクロ命令の
アドレス場所より大きなFUSITT11012のアド
レス場所1と256の間にある。その時実行中のマイク
ロ命令のアドレスからの実際のケース値アドレスの変位
は、MSMUX24344に対する入力AONBCまた
は入力OFFMUXRのいずれかによって決定される。
おいてMSMUX24344と類似する8ビットのマル
チプレクサであり、FUSITT11012から与えら
れるマイクロ命令入力によって制御される。ケース操作
の実行中、BCMUX24348はBCALU2435
0の第1の入力に対するBCMUX24348の出力に
対するCASEVAL入力を選択する。BCALU24
350は16ビットの演算論理装置である。BCALU
24350の第2の入力はmPCC24340からのそ
の時実行中のマイクロ命令の15ビット・アドレスであ
る。FUSITT11012から与えられるマイクロ命
令の制御下においてBCALU24350が作用し、ケ
ース操作の実行中、その時実行中のマイクロ命令のアド
レスに対しCASEVALを加える。ケース操作の実施
中、BCALU24350の桁送り入力は、FUSIT
T11012からのマイクロ命令の制御により、BCA
LU24350の第2の入力が有効にmPC+1、即ち
その時実行中のマイクロ命令プラス1のアドレスとなる
ように、1に強制される。BCALU24350の出力
BRCASEADRはこれにより15ビットのケース・
アドレスとなり、これはその時実行中のマイクロ命令の
アドレス場所より大きなFUSITT11012のアド
レス場所1と256の間にある。その時実行中のマイク
ロ命令のアドレスからの実際のケース値アドレスの変位
は、MSMUX24344に対する入力AONBCまた
は入力OFFMUXRのいずれかによって決定される。
【0622】前述の如く、ケース操作は、例えば、CS
10110のテーブルのエントリの解釈および操作にお
いて使用することができる。例えば、名前テーブル10
350の名前テーブルのエントリは、これら名前テーブ
ルのエントリの解明および評価において実施されるべき
ある操作に関する情報を保有するフラッグ・フィールド
を有する。これらの操作は、これら名前テーブル・エン
トリの解明および評価のため、マイクロ命令シーケンス
におけるケース分岐として構成することができる。本例
においては、ある名前テーブル・エントリの解明の間、
この解明の実施のためのマイクロ命令シーケンスは、A
ONGRF20232またはOFFMUXR23812
からMSMUX24344を介してCASEMS243
46に対して読込まれるべき名前テーブル・エントリの
フラッグ・フィールドの1つのバイトを指名することが
できる。このマイクロ命令シーケンスはその後、前述フ
ラッグ・フィールドのバイトを変位およびマスクを行な
ってCASEVALを生じるようにCASEMS243
46に指令する。このCASEVALは、このフラッグ
・フィールド・バイト内のフラッグに依存する値を有
し、またmPC+1に加算される時、このフラッグ・ビ
ットに従って前記名前テーブルのエントリを作用するた
めのマイクロ命令シーケンスのためのFUSITT11
012のマイクロ命令アドレスを提供することになる。
10110のテーブルのエントリの解釈および操作にお
いて使用することができる。例えば、名前テーブル10
350の名前テーブルのエントリは、これら名前テーブ
ルのエントリの解明および評価において実施されるべき
ある操作に関する情報を保有するフラッグ・フィールド
を有する。これらの操作は、これら名前テーブル・エン
トリの解明および評価のため、マイクロ命令シーケンス
におけるケース分岐として構成することができる。本例
においては、ある名前テーブル・エントリの解明の間、
この解明の実施のためのマイクロ命令シーケンスは、A
ONGRF20232またはOFFMUXR23812
からMSMUX24344を介してCASEMS243
46に対して読込まれるべき名前テーブル・エントリの
フラッグ・フィールドの1つのバイトを指名することが
できる。このマイクロ命令シーケンスはその後、前述フ
ラッグ・フィールドのバイトを変位およびマスクを行な
ってCASEVALを生じるようにCASEMS243
46に指令する。このCASEVALは、このフラッグ
・フィールド・バイト内のフラッグに依存する値を有
し、またmPC+1に加算される時、このフラッグ・ビ
ットに従って前記名前テーブルのエントリを作用するた
めのマイクロ命令シーケンスのためのFUSITT11
012のマイクロ命令アドレスを提供することになる。
【0623】前記の如く、BRCASE20278はま
た、あるマイクロ命令シーケンスの実行中において生じ
る分岐のためのマイクロ命令アドレスを生成することが
できる。この場合、EUSITT11012からのマイ
クロ命令制御信号は、BCALU24350に対する出
力としてBCMUX24348の第2の入力を選択する
ことをBCMUX24348に指令する。BCMUX2
4348の第2の入力は分岐リテラル(BLIT)であ
る。前記の如く、BLITは、FUSITT11012
のマイクロ命令出力からのマイクロ命令ワードのリテラ
ル・フィールドから与えられる。BCMUX24348
のBLIT出力は、mPCC24340およびBCAL
U24350からのその時実行中のマイクロ命令のアド
レスに対して加算され、その時実行中のマイクロ命令の
アドレスから分岐されるマイクロ命令アドレスの15ビ
ットBRCASEADRを提供する。BRCASEAD
Rは、例えば、4つの分岐操作の内のどれでも表示する
ことができる。可能な分岐操作とは、第1には、条件付
きの短い分岐、第2には条件付きの短い呼出し、第3に
長いGO−TO、および第4には長い呼出しである。こ
れらの可能な分岐操作の各々においては、BLITは所
要の分岐値の2の補数、即ちその時実行中のマイクロ命
令のアドレスに関するマイクロ命令のアドレスのオフセ
ットとして取扱われる。従って、BLITフィールド
は、有効にその時実行中のマイクロ命令のアドレスに関
して加除されて、その時実行中のマイクロ命令アドレス
からの正または負の方向の変位量を有するマイクロ命令
アドレスを提供することができる。条件付きの短い分岐
または条件付きの短い呼出しにおいては、14ビットの
リテラル・フィールドは符号拡張された8ビット数であ
る。従って、条件付きの短い分岐および条件付きの短い
呼出しのマイクロ命令アドレスは、その時実行中のマイ
クロ命令のアドレスの+127乃至−128なるFUS
ITT11012のアドレス場所の範囲内にある1つの
アドレスを指示することができる長いGO−TOまたは
長い呼出しの場所には、BLITフィールドはその時実
行中のマイクロ命令のアドレスに関する変位を表わす1
4ビット数である。このような場合には、BRCASE
ADRは、その時実行中のマイクロ命令のアドレスの+
8191乃至−8192なるFUSITT11012の
アドレス場所の範囲内のFUSITT11012のある
マイクロ命令アドレスを表わすことができる。これによ
り、BRCASE20278は、マイクロ命令シーケン
スのケースおよび分岐操作の全範囲を実行する能力をF
U1012に提供する。
た、あるマイクロ命令シーケンスの実行中において生じ
る分岐のためのマイクロ命令アドレスを生成することが
できる。この場合、EUSITT11012からのマイ
クロ命令制御信号は、BCALU24350に対する出
力としてBCMUX24348の第2の入力を選択する
ことをBCMUX24348に指令する。BCMUX2
4348の第2の入力は分岐リテラル(BLIT)であ
る。前記の如く、BLITは、FUSITT11012
のマイクロ命令出力からのマイクロ命令ワードのリテラ
ル・フィールドから与えられる。BCMUX24348
のBLIT出力は、mPCC24340およびBCAL
U24350からのその時実行中のマイクロ命令のアド
レスに対して加算され、その時実行中のマイクロ命令の
アドレスから分岐されるマイクロ命令アドレスの15ビ
ットBRCASEADRを提供する。BRCASEAD
Rは、例えば、4つの分岐操作の内のどれでも表示する
ことができる。可能な分岐操作とは、第1には、条件付
きの短い分岐、第2には条件付きの短い呼出し、第3に
長いGO−TO、および第4には長い呼出しである。こ
れらの可能な分岐操作の各々においては、BLITは所
要の分岐値の2の補数、即ちその時実行中のマイクロ命
令のアドレスに関するマイクロ命令のアドレスのオフセ
ットとして取扱われる。従って、BLITフィールド
は、有効にその時実行中のマイクロ命令のアドレスに関
して加除されて、その時実行中のマイクロ命令アドレス
からの正または負の方向の変位量を有するマイクロ命令
アドレスを提供することができる。条件付きの短い分岐
または条件付きの短い呼出しにおいては、14ビットの
リテラル・フィールドは符号拡張された8ビット数であ
る。従って、条件付きの短い分岐および条件付きの短い
呼出しのマイクロ命令アドレスは、その時実行中のマイ
クロ命令のアドレスの+127乃至−128なるFUS
ITT11012のアドレス場所の範囲内にある1つの
アドレスを指示することができる長いGO−TOまたは
長い呼出しの場所には、BLITフィールドはその時実
行中のマイクロ命令のアドレスに関する変位を表わす1
4ビット数である。このような場合には、BRCASE
ADRは、その時実行中のマイクロ命令のアドレスの+
8191乃至−8192なるFUSITT11012の
アドレス場所の範囲内のFUSITT11012のある
マイクロ命令アドレスを表わすことができる。これによ
り、BRCASE20278は、マイクロ命令シーケン
スのケースおよび分岐操作の全範囲を実行する能力をF
U1012に提供する。
【0624】RCWS10358について述べれば、前
記の如くRCWS10358は、その実行が停止された
マイクロ命令シーケンスに関する情報を記憶する。RC
WS10388は、これらマイクロ命令シーケンスの実
行を後において再開することを可能にする。戻し制御ワ
ード(RCW)は、別のマイクロ命令シーケンスに対す
る呼出しを発するどんなマイクロ命令シーケンスにおい
てもRCWS10358に対して書込むことができる。
呼出し側のマイクの命令シーケンスは、例えば、以下の
記述において更に述べる如き事象のサービスのため打切
ることができ、さもなければジャムを生じ得る。ジャム
は、マイクロ命令シーケンスによらずCS10110の
ハードウェアの操作によって強制されるマイクロ命令シ
ーケンスに対する呼出しである。CS10110の内部
機構に関するRCWS10358の作用については、E
VENT20284、STATE20294、MCW1
20290およびMCW0 20292の以下における
記述において説明する。本項の論議のためには、SOP
の解釈と関連するRCWの部分は、第1にFUSITT
11012からのある状態の情報を含み、第2にFUS
ITT11012への戻りアドレスを含む。以下に述べ
る如きFUSITT11012の状態がSTATE20
294から与えられる状態、およびFUSITT110
12の状態の情報を含むRCWの部分については、以下
の記述において説明する。RCWのマイクロ命令アドレ
ス部分はmPCALU24342の出力から与えられ
る。このマイクロ命令アドレスは、呼出し、事象または
ジャムからの戻りと同時に、FU10120が戻るべき
マイクロ命令のアドレスである。呼出しまたはジャムの
発生と同時に、マイクロ命令戻りアドレスはmPC+
1、即ち呼出しまたは戻しを生じるマイクロ命令の後の
マイクロ命令のアドレスである。打切られたマイクロ命
令シーケンスの場合は、マイクロ命令戻りアドレスmP
Cであり、これは即ち打切りが生じた時点において実行
中のマイクロ命令のアドレスである。
記の如くRCWS10358は、その実行が停止された
マイクロ命令シーケンスに関する情報を記憶する。RC
WS10388は、これらマイクロ命令シーケンスの実
行を後において再開することを可能にする。戻し制御ワ
ード(RCW)は、別のマイクロ命令シーケンスに対す
る呼出しを発するどんなマイクロ命令シーケンスにおい
てもRCWS10358に対して書込むことができる。
呼出し側のマイクの命令シーケンスは、例えば、以下の
記述において更に述べる如き事象のサービスのため打切
ることができ、さもなければジャムを生じ得る。ジャム
は、マイクロ命令シーケンスによらずCS10110の
ハードウェアの操作によって強制されるマイクロ命令シ
ーケンスに対する呼出しである。CS10110の内部
機構に関するRCWS10358の作用については、E
VENT20284、STATE20294、MCW1
20290およびMCW0 20292の以下における
記述において説明する。本項の論議のためには、SOP
の解釈と関連するRCWの部分は、第1にFUSITT
11012からのある状態の情報を含み、第2にFUS
ITT11012への戻りアドレスを含む。以下に述べ
る如きFUSITT11012の状態がSTATE20
294から与えられる状態、およびFUSITT110
12の状態の情報を含むRCWの部分については、以下
の記述において説明する。RCWのマイクロ命令アドレ
ス部分はmPCALU24342の出力から与えられ
る。このマイクロ命令アドレスは、呼出し、事象または
ジャムからの戻りと同時に、FU10120が戻るべき
マイクロ命令のアドレスである。呼出しまたはジャムの
発生と同時に、マイクロ命令戻りアドレスはmPC+
1、即ち呼出しまたは戻しを生じるマイクロ命令の後の
マイクロ命令のアドレスである。打切られたマイクロ命
令シーケンスの場合は、マイクロ命令戻りアドレスmP
Cであり、これは即ち打切りが生じた時点において実行
中のマイクロ命令のアドレスである。
【0625】呼出し、または事象のサービス、またはジ
ャムのサービスからの戻りと同時に、RCWのFU10
120の状態フラッグはSTATE20294に対して
ロードされる。マイクロ命令戻りアドレスはSITTN
AS20286に対する15ビットのRCWSADRと
してRCWS10358により与えられ、CSADRバ
ス20204にゲートされる。RCWSADRはFUS
ITT11012に与えられて次のマイクロ命令を選択
し、CSADRバス20204からmPCC24340
に対してロードされる。
ャムのサービスからの戻りと同時に、RCWのFU10
120の状態フラッグはSTATE20294に対して
ロードされる。マイクロ命令戻りアドレスはSITTN
AS20286に対する15ビットのRCWSADRと
してRCWS10358により与えられ、CSADRバ
ス20204にゲートされる。RCWSADRはFUS
ITT11012に与えられて次のマイクロ命令を選択
し、CSADRバス20204からmPCC24340
に対してロードされる。
【0626】前記の如く、RCWS10358は両方向
バスによってJPDバス10142と接続される。RC
WはJPDバス10142からRCWS10358に対
して書込まれ、あるいはRCWS10358からJPD
バス10142に対して読込まれる。15ビットの次の
マイクロ命令アドレス部分およびRCWの単一ビットの
FUSITT11012の状態部分は、JPDバス10
142のビット16乃至31に関して書込まれあるいは
読出される。FU10120はJPDバス10142か
らRCWS10358に対してその時の最下位のRCW
または前のRCWを書込むことができ、またJPDバス
10142に対してその時の最下位のRCW、または前
のRCW、または別の選択されたRCWを読込むことが
できる。RCWS10358はこれにより、その実行が
中断されたマイクロ命令シーケンスのマイクロ命令アド
レスの記憶および戻しのための手段と、JPDバス10
142に関するマイクロ命令アドレスおよびFUSIT
T11012の状態フラッグへの書込みおよび読出し手
段とを提供する。
バスによってJPDバス10142と接続される。RC
WはJPDバス10142からRCWS10358に対
して書込まれ、あるいはRCWS10358からJPD
バス10142に対して読込まれる。15ビットの次の
マイクロ命令アドレス部分およびRCWの単一ビットの
FUSITT11012の状態部分は、JPDバス10
142のビット16乃至31に関して書込まれあるいは
読出される。FU10120はJPDバス10142か
らRCWS10358に対してその時の最下位のRCW
または前のRCWを書込むことができ、またJPDバス
10142に対してその時の最下位のRCW、または前
のRCW、または別の選択されたRCWを読込むことが
できる。RCWS10358はこれにより、その実行が
中断されたマイクロ命令シーケンスのマイクロ命令アド
レスの記憶および戻しのための手段と、JPDバス10
142に関するマイクロ命令アドレスおよびFUSIT
T11012の状態フラッグへの書込みおよび読出し手
段とを提供する。
【0627】前述の如く、REPCTR20280およ
びPNREG20282は、マイクロ命令のFUSIT
T11012に対する書込みのためのマイクロ命令アド
レスを提供する。REPCTR20280は8ビット・
カウンタであり、PNREG20282は7ビット・レ
ジスタである。REPCTR20280の8ビット出力
はPNREG20282の7ビット出力と連結された状
態に残されて、15ビットのマイクロ命令アドレスRE
PPNを提供する。即ち、REPCTR20280はマ
イクロ命令アドレスの8つの下位のビットを提供し、P
NREG20282はアドレスの7つの最上位ビットを
提供する。
びPNREG20282は、マイクロ命令のFUSIT
T11012に対する書込みのためのマイクロ命令アド
レスを提供する。REPCTR20280は8ビット・
カウンタであり、PNREG20282は7ビット・レ
ジスタである。REPCTR20280の8ビット出力
はPNREG20282の7ビット出力と連結された状
態に残されて、15ビットのマイクロ命令アドレスRE
PPNを提供する。即ち、REPCTR20280はマ
イクロ命令アドレスの8つの下位のビットを提供し、P
NREG20282はアドレスの7つの最上位ビットを
提供する。
【0628】REPCTRはJPDバス10142のビ
ット24〜31からロードすることができ、またJPD
バス10142のビット24〜31に対して読込むこと
ができる。更に、REPCTR20280におけるマイ
クロ命令アドレスの8ビットは、マイクロ命令がFUS
ITT11012に対して書込まれる時増減可能であ
る。
ット24〜31からロードすることができ、またJPD
バス10142のビット24〜31に対して読込むこと
ができる。更に、REPCTR20280におけるマイ
クロ命令アドレスの8ビットは、マイクロ命令がFUS
ITT11012に対して書込まれる時増減可能であ
る。
【0629】前記の如く、PNREG20282はマイ
クロ命令アドレスの7つの最上位ビットを含む。これら
のアドレス・ビットは、JPDバス10142のビット
17〜23からPNREG20282に対して書込むこ
とができる。一般に、PNREG20282の内容はJ
PDバス10142に対して読込むことはできず増減で
きない。
クロ命令アドレスの7つの最上位ビットを含む。これら
のアドレス・ビットは、JPDバス10142のビット
17〜23からPNREG20282に対して書込むこ
とができる。一般に、PNREG20282の内容はJ
PDバス10142に対して読込むことはできず増減で
きない。
【0630】NC10226からSITTNAS202
86に対するジャム入力について述べれば、ある名前の
評価または解明操作はジャムを惹起し得る。ジャムはそ
のサービスのためのマイクロ命令シーケンスに対する呼
出しとして機能し、名前シラブルの評価および解明に関
与するFU10120のハードウェア回路によって強制
される。
86に対するジャム入力について述べれば、ある名前の
評価または解明操作はジャムを惹起し得る。ジャムはそ
のサービスのためのマイクロ命令シーケンスに対する呼
出しとして機能し、名前シラブルの評価および解明に関
与するFU10120のハードウェア回路によって強制
される。
【0631】SITTNAS20286に対するジャム
は6つのジャム・アドレス・ビットからなる。3ビット
はNC10226により与えられ、3ビットは名前シラ
ブルの評価および解明の補正のためのマイクロ命令シー
ケンスの部分としてFUSITT11012のマイクロ
命令出力から与えられる。NC10226からのアドレ
スの3ビットはジャム・アドレスの最上位の3ビットを
形成する。これらのビットの1つはジャム・アドレスを
CSADRバス20204に対してゲートし、このため
真のアドレス・ビットではない。FUSITT1101
2の出力はジャム・アドレスの3つの最下位ビットを提
供し、生じた特定のジャムのサービスに必要な特定のマ
イクロ命令シーケンスを指定する。従って、名前の評価
または解明操作の間、名前の評価または解明の実施のた
めFUSITT11012により与えられるマイクロ命
令シーケンスは、ジャムが生じるならば、どのマイクロ
命令シーケンスが開始されるべきかを規定する。NC1
0226により与えられるジャム・アドレスの3ビット
は、最初にジャムが生じたことを判定し、第2にFUS
ITT11012からのアドレスの3ビットと共に、こ
のジャムの取扱いのための特定のマイクロ命令シーケン
スを規定するアドレスの2ビットを提供する。これによ
り、NC10226およびFUSITT11012から
のジャム・アドレス入力はジャム・アドレスの15ビッ
トの内の6つを提供する。ジャム・アドレスの残る9つ
のビットは、例えばNASMUXD24320に対する
ハードワイアド入力によって与えられる。これらのハー
ドワイドされたアドレス・ビットはFUDISP242
18およびFUDISP24218に対するアドレス入
力と類似の方法で4つのマイクロ命令アドレスのブロッ
クにおけるFUSITT11012をアドレス指定する
ようにジャム・アドレスを強制する。
は6つのジャム・アドレス・ビットからなる。3ビット
はNC10226により与えられ、3ビットは名前シラ
ブルの評価および解明の補正のためのマイクロ命令シー
ケンスの部分としてFUSITT11012のマイクロ
命令出力から与えられる。NC10226からのアドレ
スの3ビットはジャム・アドレスの最上位の3ビットを
形成する。これらのビットの1つはジャム・アドレスを
CSADRバス20204に対してゲートし、このため
真のアドレス・ビットではない。FUSITT1101
2の出力はジャム・アドレスの3つの最下位ビットを提
供し、生じた特定のジャムのサービスに必要な特定のマ
イクロ命令シーケンスを指定する。従って、名前の評価
または解明操作の間、名前の評価または解明の実施のた
めFUSITT11012により与えられるマイクロ命
令シーケンスは、ジャムが生じるならば、どのマイクロ
命令シーケンスが開始されるべきかを規定する。NC1
0226により与えられるジャム・アドレスの3ビット
は、最初にジャムが生じたことを判定し、第2にFUS
ITT11012からのアドレスの3ビットと共に、こ
のジャムの取扱いのための特定のマイクロ命令シーケン
スを規定するアドレスの2ビットを提供する。これによ
り、NC10226およびFUSITT11012から
のジャム・アドレス入力はジャム・アドレスの15ビッ
トの内の6つを提供する。ジャム・アドレスの残る9つ
のビットは、例えばNASMUXD24320に対する
ハードワイアド入力によって与えられる。これらのハー
ドワイドされたアドレス・ビットはFUDISP242
18およびFUDISP24218に対するアドレス入
力と類似の方法で4つのマイクロ命令アドレスのブロッ
クにおけるFUSITT11012をアドレス指定する
ようにジャム・アドレスを強制する。
【0632】FUSDT11010からSITTNAS
20286に対して与えられるアドレス入力について
は、FUCTL20214の特性、分析およびタスク指
名の諸操作の記述に関して前に説明した。EVENT2
0284により与えられるアドレス入力については、C
S10110の内部機能に関するFUCTL20214
の作用の以下における説明において説明することにす
る。
20286に対して与えられるアドレス入力について
は、FUCTL20214の特性、分析およびタスク指
名の諸操作の記述に関して前に説明した。EVENT2
0284により与えられるアドレス入力については、C
S10110の内部機能に関するFUCTL20214
の作用の以下における説明において説明することにす
る。
【0633】最後にSITTNAS20286について
説明すると前記の如く、SITTNAS20286はE
VNTGT24310およびNASMUX24312か
らなる。前記の如く、NASMUX24312に対して
は、FUSDT11010、mPC20276、BRC
ASE20278、RCWS10358、REPCTR
20280およびPNREG20282からの入力がジ
ャム入力によって与えられる。これらの入力は、一般
に、SOPおよび名前シラブルの取出し、分析および解
釈におけるFUCTL20214の諸操作に関して与え
られる。このためこれらの諸操作は、主としてユーザ・
プログラムの実行、即ちSINのシーケンスの実行と直
接関連させられている。NASMUX24312はこれ
らの入力の間で説明を行ない、FUSITT11012
からのマイクロ命令出力からのマイクロ命令制御下でF
USITT11012に対するマイクロ命令アドレスと
してCSADRバス20204に対し選択されたアドレ
ス入力を転送する。マイクロ命令アドレス出力は、ユー
ザ・プログラムの実行中のCS10110の諸操作にお
いて生じる、以下において更に述べる諸事象に従ってE
VENT20284からSITTNAS20286に対
して与えられる。EVENT20284からのこれらの
マイクロ命令アドレスはCSADRバス20204に対
してゲートされ、EVNTGT24310により適当な
マイクロ命令シーケンスを選択する。EVNTGT24
310はNASMUX24312から分離されてEVN
TGT24310がNASMUX24312にオーバー
ライドすることを可能にし、またNASMUX2431
2がある事象の発生のため禁止される間、マイクロ命令
アドレスをEVENT20284に対して与える。一般
に、これらの事象はCS10110の内部機構の作用と
関連し、STATE20294、MCW1 20290
およびMCW0 20292、およびRCWS1035
8の他の部分と共にEVENT20284の構造および
作用については以下において説明する。
説明すると前記の如く、SITTNAS20286はE
VNTGT24310およびNASMUX24312か
らなる。前記の如く、NASMUX24312に対して
は、FUSDT11010、mPC20276、BRC
ASE20278、RCWS10358、REPCTR
20280およびPNREG20282からの入力がジ
ャム入力によって与えられる。これらの入力は、一般
に、SOPおよび名前シラブルの取出し、分析および解
釈におけるFUCTL20214の諸操作に関して与え
られる。このためこれらの諸操作は、主としてユーザ・
プログラムの実行、即ちSINのシーケンスの実行と直
接関連させられている。NASMUX24312はこれ
らの入力の間で説明を行ない、FUSITT11012
からのマイクロ命令出力からのマイクロ命令制御下でF
USITT11012に対するマイクロ命令アドレスと
してCSADRバス20204に対し選択されたアドレ
ス入力を転送する。マイクロ命令アドレス出力は、ユー
ザ・プログラムの実行中のCS10110の諸操作にお
いて生じる、以下において更に述べる諸事象に従ってE
VENT20284からSITTNAS20286に対
して与えられる。EVENT20284からのこれらの
マイクロ命令アドレスはCSADRバス20204に対
してゲートされ、EVNTGT24310により適当な
マイクロ命令シーケンスを選択する。EVNTGT24
310はNASMUX24312から分離されてEVN
TGT24310がNASMUX24312にオーバー
ライドすることを可能にし、またNASMUX2431
2がある事象の発生のため禁止される間、マイクロ命令
アドレスをEVENT20284に対して与える。一般
に、これらの事象はCS10110の内部機構の作用と
関連し、STATE20294、MCW1 20290
およびMCW0 20292、およびRCWS1035
8の他の部分と共にEVENT20284の構造および
作用については以下において説明する。
【0634】c.c.CS10110の内部機構に対す
るFUCTL20214の制御回路(図244〜図24
9) FUCTL20214の制御回路のある部分は、CS1
0110の内部機構、例えばCS10110のスタック
機構の作用と更に直接関連している。この回路には、S
TATE20294、EVENT20284、MCW1
20290およびMCW0 20292、RCWS1
0358の各部、REG20288および#TIMER
20296が含まれる。これらのFUCTL20214
の制御素子については以下において説明し、STATE
20294から始める。
るFUCTL20214の制御回路(図244〜図24
9) FUCTL20214の制御回路のある部分は、CS1
0110の内部機構、例えばCS10110のスタック
機構の作用と更に直接関連している。この回路には、S
TATE20294、EVENT20284、MCW1
20290およびMCW0 20292、RCWS1
0358の各部、REG20288および#TIMER
20296が含まれる。これらのFUCTL20214
の制御素子については以下において説明し、STATE
20294から始める。
【0635】a.a.a.状態ロジックSTATE20
294(図244A乃至図244Z) 一般に、マイクロ命令の実行を含む全てのCS1011
0の作用は、CS10110の作用状態によって制御さ
れる。CS10110は、各々が以下において「状態」
と呼ばれる多くの操作状態において実施が可能なある操
作により規定されるかかる状態を有する。これらの状態
の各々は以下において更に選択することにする。CS1
0110のその時の状態は、STATE20294にお
ける1組のレジスタにおいて記憶された1組の状態フラ
ッグにより示される。各状態は前の状態から入り、後続
の状態に出される。CS10110の次の状態は、CS
10110全体に分散された随時の論理ゲート作用によ
って検出され、CS10110が次にどの状態に入るか
を示すある条件を検出する。これらの次の条件の検出ゲ
ートの出力は、STATE20294のレジスタに対す
る入力として与えられる。ある特定の条件レジスタが設
定されて、CS10110がその特定のレジスタと関連
する状態に入る時、状態のフラッグ出力を生じる。ST
ATE20294の状態レジスタの状態フラッグ出力は
CS10110全体の使用可能信号として与えられて、
CS10110のその時の状態内で許される操作の開始
を可能にし、またCS10110のその時の状態内では
許されない諸操作の開始を禁止する。
294(図244A乃至図244Z) 一般に、マイクロ命令の実行を含む全てのCS1011
0の作用は、CS10110の作用状態によって制御さ
れる。CS10110は、各々が以下において「状態」
と呼ばれる多くの操作状態において実施が可能なある操
作により規定されるかかる状態を有する。これらの状態
の各々は以下において更に選択することにする。CS1
0110のその時の状態は、STATE20294にお
ける1組のレジスタにおいて記憶された1組の状態フラ
ッグにより示される。各状態は前の状態から入り、後続
の状態に出される。CS10110の次の状態は、CS
10110全体に分散された随時の論理ゲート作用によ
って検出され、CS10110が次にどの状態に入るか
を示すある条件を検出する。これらの次の条件の検出ゲ
ートの出力は、STATE20294のレジスタに対す
る入力として与えられる。ある特定の条件レジスタが設
定されて、CS10110がその特定のレジスタと関連
する状態に入る時、状態のフラッグ出力を生じる。ST
ATE20294の状態レジスタの状態フラッグ出力は
CS10110全体の使用可能信号として与えられて、
CS10110のその時の状態内で許される操作の開始
を可能にし、またCS10110のその時の状態内では
許されない諸操作の開始を禁止する。
【0636】CS10110のある状態およびSTAT
E20294の関連する状態、および状態フラッグ出力
は下記の如くである。即ち、 (1)M0:マイクロ命令の初期状態。状態M0は常に
各マイクロ命令の最初のデータ・サイクルとして入る。
この状態M0においては、CS10110の状態は変化
せず、このためマイクロ命令を任意に打切って状態M0
から再始動させる。マイクロ命令の通常の実行において
は、状態M0の後には以下に述べる状態M1が続き、即
ち状態M0は状態M1に対する出口となる。状態M0
は、状態M0、および状態M1、状態AB、状態LR、
状態NRまたは状態MSから入ることができるがその各
々については以下に述べる。
E20294の関連する状態、および状態フラッグ出力
は下記の如くである。即ち、 (1)M0:マイクロ命令の初期状態。状態M0は常に
各マイクロ命令の最初のデータ・サイクルとして入る。
この状態M0においては、CS10110の状態は変化
せず、このためマイクロ命令を任意に打切って状態M0
から再始動させる。マイクロ命令の通常の実行において
は、状態M0の後には以下に述べる状態M1が続き、即
ち状態M0は状態M1に対する出口となる。状態M0
は、状態M0、および状態M1、状態AB、状態LR、
状態NRまたは状態MSから入ることができるがその各
々については以下に述べる。
【0637】(2)EP:使用可能休止状態。状態EP
には、あるマイクロ命令において最初に状態M0に入る
時に入る。もしこのマイクロ命令が休止を要求するなら
ば、このマイクロ命令は1クロック・サイクルの間状態
M0に再び入るように強制する。もし状態M0が1クロ
ック・サイクル以上持続するならば、拡張が休止要求の
結果でなければ、状態EPは状態M0の拡張毎に状態E
Pに入る。
には、あるマイクロ命令において最初に状態M0に入る
時に入る。もしこのマイクロ命令が休止を要求するなら
ば、このマイクロ命令は1クロック・サイクルの間状態
M0に再び入るように強制する。もし状態M0が1クロ
ック・サイクル以上持続するならば、拡張が休止要求の
結果でなければ、状態EPは状態M0の拡張毎に状態E
Pに入る。
【0638】(3)SR:ソースGRF状態。SR状態
は、SR状態レジスタがGRF10354の出力レジス
タのローディングを可能にする1クロック・サイクルの
間活動状態となる。状態M0の拡張を要求するマイクロ
命令により生成される状態M0サイクルを除いて、状態
SRには状態M0サイクル毎に再び入る。全ての状態2
0294の状態レジスタがクリアされる時、DP202
18はGRF10354からの読出しのオブジェクトの
ため状態SRレジスタのみをセットする。
は、SR状態レジスタがGRF10354の出力レジス
タのローディングを可能にする1クロック・サイクルの
間活動状態となる。状態M0の拡張を要求するマイクロ
命令により生成される状態M0サイクルを除いて、状態
SRには状態M0サイクル毎に再び入る。全ての状態2
0294の状態レジスタがクリアされる時、DP202
18はGRF10354からの読出しのオブジェクトの
ため状態SRレジスタのみをセットする。
【0639】(4)M1:通常のマイクロ命令実行の最
終状態。状態M1は通常のマイクロ命令実行の出口の状
態である。以下に述べるFUSITT11012のマイ
クロ命令レジスタは、状態M1から出ると同時に次のマ
イクロ命令でロードされる。更に、STATE2029
4の状態M1のフラッグ出力は、CS10110の全て
のレジスタがその入力側におけるデータ入力を受取るこ
とを可能にする、即ちこれらのレジスタの入力側のデー
タがこれらレジスタの出力側にクロックされる。状態M
1は、状態M1から、あるいは状態M0、状態MW、状
態MWAまたは状態MWBから入ることができる。
終状態。状態M1は通常のマイクロ命令実行の出口の状
態である。以下に述べるFUSITT11012のマイ
クロ命令レジスタは、状態M1から出ると同時に次のマ
イクロ命令でロードされる。更に、STATE2029
4の状態M1のフラッグ出力は、CS10110の全て
のレジスタがその入力側におけるデータ入力を受取るこ
とを可能にする、即ちこれらのレジスタの入力側のデー
タがこれらレジスタの出力側にクロックされる。状態M
1は、状態M1から、あるいは状態M0、状態MW、状
態MWAまたは状態MWBから入ることができる。
【0640】(5)LA:ロード・アキュムレータの使
用可能状態。状態LAは、MEM10112からOFF
MUXR23812へのデータの読込みを行なうマイク
ロ命令により状態M1から出ると同時に入る。前述の如
く、OFFMUXR23812はDESP20210に
対する汎用アキュムレータとして作用する。状態LAは
次のマイクロ命令の実行と重なり、MEM10112に
対する要求に応答してMEM10112からデータが戻
されるまでその状態を保持する。データが使用可能であ
ることをMEM10112がDAVFAを保有すること
により信号する時、LA状態フラッグはOFFMUXR
23812に対するデータのローディングを可能にす
る。もし次のマイクロ命令がOFFMUXR23812
を照合するならば、このマイクロ命令の実行は、状態L
Aから出るCS10110により示されるようにOFF
MUXR23812の読出しが完了するまでは遅延させ
られる。
用可能状態。状態LAは、MEM10112からOFF
MUXR23812へのデータの読込みを行なうマイク
ロ命令により状態M1から出ると同時に入る。前述の如
く、OFFMUXR23812はDESP20210に
対する汎用アキュムレータとして作用する。状態LAは
次のマイクロ命令の実行と重なり、MEM10112に
対する要求に応答してMEM10112からデータが戻
されるまでその状態を保持する。データが使用可能であ
ることをMEM10112がDAVFAを保有すること
により信号する時、LA状態フラッグはOFFMUXR
23812に対するデータのローディングを可能にす
る。もし次のマイクロ命令がOFFMUXR23812
を照合するならば、このマイクロ命令の実行は、状態L
Aから出るCS10110により示されるようにOFF
MUXR23812の読出しが完了するまでは遅延させ
られる。
【0641】(6)RW:ロードGRF10354待機
状態。状態RWは、MEM10112からGRF103
54に対してデータを読込むマイクロ命令の状態M1か
ら入る。RWフラッグは次のマイクロ命令の開始を禁止
する、即ち状態M0に対するエントリを防止し、データ
がある要求に応答してMEM10112から戻されるC
S10110のクロック・サイクルの間保持する。状態
RWは、以下に述べるロードGRF使用可能状態を開始
する。
状態。状態RWは、MEM10112からGRF103
54に対してデータを読込むマイクロ命令の状態M1か
ら入る。RWフラッグは次のマイクロ命令の開始を禁止
する、即ち状態M0に対するエントリを防止し、データ
がある要求に応答してMEM10112から戻されるC
S10110のクロック・サイクルの間保持する。状態
RWは、以下に述べるロードGRF使用可能状態を開始
する。
【0642】(7)LR:ロードGRF使用可能状態。
状態LRには状態RWの最後のクロック・サイクルと同
時に状態RWと並列に入り、CS10110の1つのク
ロック・サイクルの間保持する。LRフラッグは、GR
F10354に対するMEM10112の出力データの
書込みを可能にする。
状態LRには状態RWの最後のクロック・サイクルと同
時に状態RWと並列に入り、CS10110の1つのク
ロック・サイクルの間保持する。LRフラッグは、GR
F10354に対するMEM10112の出力データの
書込みを可能にする。
【0643】(8)MR:メモリー照合後書き状態。状
態MRには、前のマイクロ命令がMEM10112に関
して論理または物理的アドレス照合を行なう時は常に、
状態M0に転換すると同時に入る。MRフラッグは、生
じ得る以下に述べる如き事象のMEM10112の照合
の識別を可能にする。状態MRは1クロック・サイクル
の間持続する。もしMEM10112のあるメモリー照
合事象が生じるならばこの事象は状態MRから状態AB
およびMAに出ることを強制し、さもなければ状態MR
は次の状態の選択に何の効果ももたらさない。
態MRには、前のマイクロ命令がMEM10112に関
して論理または物理的アドレス照合を行なう時は常に、
状態M0に転換すると同時に入る。MRフラッグは、生
じ得る以下に述べる如き事象のMEM10112の照合
の識別を可能にする。状態MRは1クロック・サイクル
の間持続する。もしMEM10112のあるメモリー照
合事象が生じるならばこの事象は状態MRから状態AB
およびMAに出ることを強制し、さもなければ状態MR
は次の状態の選択に何の効果ももたらさない。
【0644】(9)SB:再記憶可能状態。状態SB
は、EU10112の操作の結果の再記憶を生じたマイ
クロ命令に続くマイクロ命令の状態M0の間に入る。S
Bフラッグは、JPDバス10142を介してMEM1
0112に対し書込まれるべき前記結果をゲートする。
は、EU10112の操作の結果の再記憶を生じたマイ
クロ命令に続くマイクロ命令の状態M0の間に入る。S
Bフラッグは、JPDバス10142を介してMEM1
0112に対し書込まれるべき前記結果をゲートする。
【0645】(10)AB:マイクロ命令打切り状態。
状態ABは以下の記述において説明するように、ある事
象要求が識別された後に最初のM0状態から入る。状態
ABには状態M0または状態ABから入ることができ、
状態M1へのエントリを抑制する。もしMEM1011
2に対する未完了の照合が存在するならば、即ち照合が
打切られずデータがMEM10112から戻されなかっ
たならば、MEM10112の照合が完了するまでJP
10114は状態ABを維持する。打切りがMEM10
112の照合事象の故に生じるものとするならば、状態
ABは2クロック・サイクルしか持続しない。以下のE
VENT20284の説明において述べるように、打切
りを生じる事象に対するハンドラの最初のマイクロ命令
の状態M0には状態ABから入る。ABフラッグはCS
ADRバス20204に対する最も高い優先順位が認め
られた事象のハンドラ・アドレスをゲートして、対応す
る事象ハンドラ・マイクロ命令シーケンスを選択する。
EVENT20284は、状態ABの全クロック・サイ
クルにわたりCSADRバス20204の制御が与えら
れる。
状態ABは以下の記述において説明するように、ある事
象要求が識別された後に最初のM0状態から入る。状態
ABには状態M0または状態ABから入ることができ、
状態M1へのエントリを抑制する。もしMEM1011
2に対する未完了の照合が存在するならば、即ち照合が
打切られずデータがMEM10112から戻されなかっ
たならば、MEM10112の照合が完了するまでJP
10114は状態ABを維持する。打切りがMEM10
112の照合事象の故に生じるものとするならば、状態
ABは2クロック・サイクルしか持続しない。以下のE
VENT20284の説明において述べるように、打切
りを生じる事象に対するハンドラの最初のマイクロ命令
の状態M0には状態ABから入る。ABフラッグはCS
ADRバス20204に対する最も高い優先順位が認め
られた事象のハンドラ・アドレスをゲートして、対応す
る事象ハンドラ・マイクロ命令シーケンスを選択する。
EVENT20284は、状態ABの全クロック・サイ
クルにわたりCSADRバス20204の制御が与えら
れる。
【0646】(11)AR:マイクロ命令打切りリセッ
ト状態。状態ARには状態ABの最初のクロック・サイ
クルと並列に入り、1クロック・サイクルにわたって保
持する。ARフラッグは、打切りが生じる時種々の状態
STATE20294の状態レジスタをリセットする。
もし未完了のMEM10112の照合が存在しなけれ
ば、次の状態ABのクロック・サイクルが最後となる。
MEM10112の照合が未完了である場合には状態A
Rに入るが、状態ABは照合が完了するまでは活動状態
を維持する。仮りJP10114が状態ABにある間に
比較的高い優先順位の事象がサービスを要求して認めら
れるならば、状態ARに再び入る。状態ABはこれによ
り、満たされた全ての事象要求の間2クロック・サイク
ルにわたって活動状態となる。
ト状態。状態ARには状態ABの最初のクロック・サイ
クルと並列に入り、1クロック・サイクルにわたって保
持する。ARフラッグは、打切りが生じる時種々の状態
STATE20294の状態レジスタをリセットする。
もし未完了のMEM10112の照合が存在しなけれ
ば、次の状態ABのクロック・サイクルが最後となる。
MEM10112の照合が未完了である場合には状態A
Rに入るが、状態ABは照合が完了するまでは活動状態
を維持する。仮りJP10114が状態ABにある間に
比較的高い優先順位の事象がサービスを要求して認めら
れるならば、状態ARに再び入る。状態ABはこれによ
り、満たされた全ての事象要求の間2クロック・サイク
ルにわたって活動状態となる。
【0647】(12)MA:MEM10112照合打切
り状態。状態MAには、MEM10112からの保有さ
れた「打切り」制御信号出力により示される如くMEM
10112の照合が打切られるならば、状態ABと並列
に入る。状態MAは1クロック・サイクルの間保持し、
状態ABフラッグが、以下に述べるようにMEM101
12の照合の反復を惹起する結果となるMEM1011
2の照合打切りフラッグを生成する。ABフラッグはま
た、以下に述べるMEM10112後書き状態をリセッ
トする。
り状態。状態MAには、MEM10112からの保有さ
れた「打切り」制御信号出力により示される如くMEM
10112の照合が打切られるならば、状態ABと並列
に入る。状態MAは1クロック・サイクルの間保持し、
状態ABフラッグが、以下に述べるようにMEM101
12の照合の反復を惹起する結果となるMEM1011
2の照合打切りフラッグを生成する。ABフラッグはま
た、以下に述べるMEM10112後書き状態をリセッ
トする。
【0648】(13)NW:ナノ割込み待機状態。状態
NWは、EU10122のためEU10122に対する
ナノ割込み要求を生じるマイクロ命令の状態M0から入
る。EU10122がこの割込みを認識するまでFU1
0120は状態NWを維持する。種々のEU10122
の事象はこの時点において要求を行なうことができる。
状態NWは状態ABまたは状態M1に付勢される。
NWは、EU10122のためEU10122に対する
ナノ割込み要求を生じるマイクロ命令の状態M0から入
る。EU10122がこの割込みを認識するまでFU1
0120は状態NWを維持する。種々のEU10122
の事象はこの時点において要求を行なうことができる。
状態NWは状態ABまたは状態M1に付勢される。
【0649】(14)FM:SINの最初のマイクロ命
令。状態FMには各SINの最初のマイクロ命令と同時
に状態M0と並列に入って、1クロック・サイクルにわ
たり保持する。FMフラッグはAF24220の早期の
使用を禁止し、SINエントリ事象の識別を可能にす
る。状態FMには、SINの最初のマイクロ命令の状態
M0の間に行なわれる全ての打切りからの戻りと同時に
入る。
令。状態FMには各SINの最初のマイクロ命令と同時
に状態M0と並列に入って、1クロック・サイクルにわ
たり保持する。FMフラッグはAF24220の早期の
使用を禁止し、SINエントリ事象の識別を可能にす
る。状態FMには、SINの最初のマイクロ命令の状態
M0の間に行なわれる全ての打切りからの戻りと同時に
入る。
【0650】(15)SOP:最初のSINに対する元
のエントリ状態。状態SOPにはSOPの最初のマイク
ロ命令の状態M0へのエントリと同時に入り、このマイ
クロ命令からの如何なる出口においてもこの状態から出
る。状態SOPは各SOP毎に1回しか入らない。SO
Pは、例えばJP10114の実施の監視のために使用
することができる。
のエントリ状態。状態SOPにはSOPの最初のマイク
ロ命令の状態M0へのエントリと同時に入り、このマイ
クロ命令からの如何なる出口においてもこの状態から出
る。状態SOPは各SOP毎に1回しか入らない。SO
Pは、例えばJP10114の実施の監視のために使用
することができる。
【0651】(16)EU:EU10122のオペラン
ド・バッファ使用不能状態。状態EUには、以下に述べ
る、一杯の状態であるEU10122のオペランド・バ
ッファに対するデータの読込みを試みるマイクロ命令の
状態M0から入る。新たなSOPに入る時EU1012
2のオペランド・バッファが一杯になる前に、MEM1
0112から3回の取出しが実施可能であり、2回の取
出しがEU10122のオペランド・バッファを充填す
るが、EU10122は第2の取出しの間1つのオペラ
ンドを取出すことができ、これにより第3のオペランド
に対するEU10122のオペランド・バッファ空間を
クリアする。
ド・バッファ使用不能状態。状態EUには、以下に述べ
る、一杯の状態であるEU10122のオペランド・バ
ッファに対するデータの読込みを試みるマイクロ命令の
状態M0から入る。新たなSOPに入る時EU1012
2のオペランド・バッファが一杯になる前に、MEM1
0112から3回の取出しが実施可能であり、2回の取
出しがEU10122のオペランド・バッファを充填す
るが、EU10122は第2の取出しの間1つのオペラ
ンドを取出すことができ、これにより第3のオペランド
に対するEU10122のオペランド・バッファ空間を
クリアする。
【0652】(17)NR:長いパイプ・ライン読出し
状態。状態NRへのエントリはMEM10112の並行
操作を不能にし、また次のマイクロ命令の実行を不能に
する。次のマイクロ命令は、要求されるデータがMEM
10112から戻されるまで状態M0には入らない。状
態NRは状態NRまたは状態M1から入る。
状態。状態NRへのエントリはMEM10112の並行
操作を不能にし、また次のマイクロ命令の実行を不能に
する。次のマイクロ命令は、要求されるデータがMEM
10112から戻されるまで状態M0には入らない。状
態NRは状態NRまたは状態M1から入る。
【0653】(18)NS:非パイプ・ライン再記憶状
態。状態NSには、パイプ・ライン再記憶またはMEM
10112に対する書込みを要求するマイクロ命令が生
じる時は常に状態SBと並列に入る。状態入出力は、状
態SBからの出口と同時に続くマイクロ命令の状態M0
へのエントリを生成する。
態。状態NSには、パイプ・ライン再記憶またはMEM
10112に対する書込みを要求するマイクロ命令が生
じる時は常に状態SBと並列に入る。状態入出力は、状
態SBからの出口と同時に続くマイクロ命令の状態M0
へのエントリを生成する。
【0654】(19)WA:ロード制御ストア状態A。
状態WAには、FUSITT11012に対するマイク
ロ命令のローディングを指令するマイクロ命令の状態M
0から入る。状態WAフラッグは、FUSITT110
12に対する書込みのためCSADRバス20204に
対するアドレスの選択を制御し、FUSITT1101
2に対するマイクロ命令の書込みを行なうFUSITT
11012に対する書込み可能パルスを生成する。
状態WAには、FUSITT11012に対するマイク
ロ命令のローディングを指令するマイクロ命令の状態M
0から入る。状態WAフラッグは、FUSITT110
12に対する書込みのためCSADRバス20204に
対するアドレスの選択を制御し、FUSITT1101
2に対するマイクロ命令の書込みを行なうFUSITT
11012に対する書込み可能パルスを生成する。
【0655】(20)WB:ロード制御ストア状態B。
状態WBには状態WAから入り、FUSITT1101
2に対する書込みのための適当なタイミング間隔を生じ
るため使用される。状態WBはまた状態M1を2クロッ
ク・サイクルまで拡張して、次のマイクロ命令がFUS
ITT11012から読出される時FUSITT110
12に対する妥当アドレス入力を保証する。
状態WBには状態WAから入り、FUSITT1101
2に対する書込みのための適当なタイミング間隔を生じ
るため使用される。状態WBはまた状態M1を2クロッ
ク・サイクルまで拡張して、次のマイクロ命令がFUS
ITT11012から読出される時FUSITT110
12に対する妥当アドレス入力を保証する。
【0656】CS10110のいくつかの状態、および
これら状態内で実施可能な諸操作について説明したが、
CS10110のいくつかの操作に対する状態のシーケ
ンスについて図244A乃至図244Zの助けを借りて
以下に説明する。図244A乃至図244Zは、CS1
0110の状態タイミングの主な特徴を示すため必要な
これらの状態のタイミングのシーケンスを示している。
図244A乃至図244Vに示される全ての状態は、C
S10110の操作の完全なパイプ・ラインを用い、例
えば、JP10114によるMEM10112に関する
読出しおよび書込みのパイプ・ライン操作を用いる。パ
イプ・ライン操作は図244W乃至図244Zには用い
られない。図244A乃至図244Zにおいては、これ
ら図面は時間が左から右方に向けて増大するタイミング
図の形態で描かれている。連続する水平方向に配された
「ブロック」は、CS10110の連続する110ナノ
秒のクロック・サイクルの間の連続する10110の状
態を示している。垂直方向に整合された「ブロック」
は、ある特定のクロック・サイクルの間に生じ得る別の
CS10110の状態を示している。図244A乃至図
244Zに示されたいくつかの状態を連結する水平方向
に伸びた点線は、CS10110の110ナノ秒のクロ
ック・サイクルの整数倍である中間時間間隔を表わす。
これら状態内で実施可能な諸操作について説明したが、
CS10110のいくつかの操作に対する状態のシーケ
ンスについて図244A乃至図244Zの助けを借りて
以下に説明する。図244A乃至図244Zは、CS1
0110の状態タイミングの主な特徴を示すため必要な
これらの状態のタイミングのシーケンスを示している。
図244A乃至図244Vに示される全ての状態は、C
S10110の操作の完全なパイプ・ラインを用い、例
えば、JP10114によるMEM10112に関する
読出しおよび書込みのパイプ・ライン操作を用いる。パ
イプ・ライン操作は図244W乃至図244Zには用い
られない。図244A乃至図244Zにおいては、これ
ら図面は時間が左から右方に向けて増大するタイミング
図の形態で描かれている。連続する水平方向に配された
「ブロック」は、CS10110の連続する110ナノ
秒のクロック・サイクルの間の連続する10110の状
態を示している。垂直方向に整合された「ブロック」
は、ある特定のクロック・サイクルの間に生じ得る別の
CS10110の状態を示している。図244A乃至図
244Zに示されたいくつかの状態を連結する水平方向
に伸びた点線は、CS10110の110ナノ秒のクロ
ック・サイクルの整数倍である中間時間間隔を表わす。
【0657】図244A乃至図244Zにおいては、こ
の順序において示された状態のタイミング・シーケンス
は下記の事柄を表わす。即ち、 (1)図244A、一切の事象が生じずまたMEM10
112の照合が行なわれない通常のマイクロ命令の実行
のための状態のタイミング。
の順序において示された状態のタイミング・シーケンス
は下記の事柄を表わす。即ち、 (1)図244A、一切の事象が生じずまたMEM10
112の照合が行なわれない通常のマイクロ命令の実行
のための状態のタイミング。
【0658】(2)図244B、一切の事象が生じず、
MEM10112の照合が行なわれず、1クロック・サ
イクル間に状態M0の保持が行なわれる通常のマイクロ
命令の実行。
MEM10112の照合が行なわれず、1クロック・サ
イクル間に状態M0の保持が行なわれる通常のマイクロ
命令の実行。
【0659】(3)図244C、マイクロ命令要求が、
一切の事象が生じず、MEM10112の照合が行なわ
れない1クロック・サイクルの間の状態M0の拡張を要
求する。
一切の事象が生じず、MEM10112の照合が行なわ
れない1クロック・サイクルの間の状態M0の拡張を要
求する。
【0660】(4)図244D、MEM10112に対
するDESP20210からの、例えば、GRF103
54またはOFFALU20242からの書込み。ME
M10112のポートは使用可能であり、MEM101
12の照合は状態M0およびM1の最初の順次の発生の
間に行なわれる。
するDESP20210からの、例えば、GRF103
54またはOFFALU20242からの書込み。ME
M10112のポートは使用可能であり、MEM101
12の照合は状態M0およびM1の最初の順次の発生の
間に行なわれる。
【0661】(5)図244E、MEM10112に対
するDESP20210からの前述の如き書込み。ME
M10112のポートは中間番号のクロック・サイクル
においては使用不能である。MEM10112の照合
は、状態M0およびM1の最初の順次の発生の間に行な
われる。
するDESP20210からの前述の如き書込み。ME
M10112のポートは中間番号のクロック・サイクル
においては使用不能である。MEM10112の照合
は、状態M0およびM1の最初の順次の発生の間に行な
われる。
【0662】(6)図244F、MEM10112に対
するEU10122の書込み。状態M0およびM1の最
初の順次の発生の間、MEM10112は使用可能であ
りかつ書込み操作が開始される。
するEU10122の書込み。状態M0およびM1の最
初の順次の発生の間、MEM10112は使用可能であ
りかつ書込み操作が開始される。
【0663】(7)図244G、EU10122の書戻
しは前述の如くMEM10112に対して結果を生じ
る。MEM10112のポートは未定数のクロック・サ
イクルに対しては使用不能であり、EU10122はM
EM10112に対する書込みの用意のある結果を生じ
ることはない。状態M0およびM1の最初の順次の発生
の間書込み操作が開始される。
しは前述の如くMEM10112に対して結果を生じ
る。MEM10112のポートは未定数のクロック・サ
イクルに対しては使用不能であり、EU10122はM
EM10112に対する書込みの用意のある結果を生じ
ることはない。状態M0およびM1の最初の順次の発生
の間書込み操作が開始される。
【0664】(8)図244H、FU10120に対す
るEU10122の結果の読出し。EU10122の結
果は未定数のクロック・サイクルについては使用不能で
ある。
るEU10122の結果の読出し。EU10122の結
果は未定数のクロック・サイクルについては使用不能で
ある。
【0665】(9)図244I、遅延のないMEM10
112かOFFMUXR23812への読込み。MEM
10112からの読出しを開始するマイクロ命令に続く
マイクロ命令はOFFMUXR23812の照合を行な
わない。
112かOFFMUXR23812への読込み。MEM
10112からの読出しを開始するマイクロ命令に続く
マイクロ命令はOFFMUXR23812の照合を行な
わない。
【0666】(10)図244J、MEM10112か
らのデータが未定数のクロック・サイクルだけ遅延させ
られるMEM10112からOFFMUXR23812
への読込み。MEM10112からの読出しを開始する
マイクロ命令からの次に続くマイクロ命令はOFFMU
XR23812の照合は行なわない。
らのデータが未定数のクロック・サイクルだけ遅延させ
られるMEM10112からOFFMUXR23812
への読込み。MEM10112からの読出しを開始する
マイクロ命令からの次に続くマイクロ命令はOFFMU
XR23812の照合は行なわない。
【0667】(11)図244K、MEM10112か
らOFFMUXR23812への読出し。MEM101
12からの要求を開始するマイクロ命令に続く次のマイ
クロ命令がOFFMUXR23812を照合する。
らOFFMUXR23812への読出し。MEM101
12からの要求を開始するマイクロ命令に続く次のマイ
クロ命令がOFFMUXR23812を照合する。
【0668】(12)図244L、MEM10112か
らGRF10354への読込み。GRF10354への
読込みは、最初の順次生じる状態M0およびM1により
開始される。
らGRF10354への読込み。GRF10354への
読込みは、最初の順次生じる状態M0およびM1により
開始される。
【0669】(13)図244M、MEM10112か
らGRF10354およびOFFMUXR23812へ
の読込み。この場合、読出し操作は重合されない。
らGRF10354およびOFFMUXR23812へ
の読込み。この場合、読出し操作は重合されない。
【0670】(14)図244N、JP10114は事
象要求を満たし、対応する事象ハンドラ・マイクロ命令
を開始し、MEM10112の照合は生じない。
象要求を満たし、対応する事象ハンドラ・マイクロ命令
を開始し、MEM10112の照合は生じない。
【0671】(15)図244O、JP10114は前
述の如く事象要求を満たさない。MEM10112の照
合は状態M0およびM1の最初の順次の発生の間は行な
われず、MEM10112の照合事象が生じる。MEM
10112の照合事象の場合は、状態MAは1クロック
・サイクルから入る。この状態は、MEM10112の
照合が行なわれて打切られる場合にのみ生じる。
述の如く事象要求を満たさない。MEM10112の照
合は状態M0およびM1の最初の順次の発生の間は行な
われず、MEM10112の照合事象が生じる。MEM
10112の照合事象の場合は、状態MAは1クロック
・サイクルから入る。この状態は、MEM10112の
照合が行なわれて打切られる場合にのみ生じる。
【0672】(16)図244P、状態M0およびM1
の最初の順次の発生の間に行なわれたMEM10112
の照合において事象が生じる。MEM10112の照合
はメモリー照合事象は惹起しない。MEM10112の
照合がMEM10112からのデータの戻りにより完了
するまで、CS10110は状態ABを維持する。
の最初の順次の発生の間に行なわれたMEM10112
の照合において事象が生じる。MEM10112の照合
はメモリー照合事象は惹起しない。MEM10112の
照合がMEM10112からのデータの戻りにより完了
するまで、CS10110は状態ABを維持する。
【0673】(17)図244Q、MEM10112ま
たはJP10114からEU10122のオペランド・
キューへのデータの読込み。EU10122のオペラン
ド・キューは充填状態ではない。
たはJP10114からEU10122のオペランド・
キューへのデータの読込み。EU10122のオペラン
ド・キューは充填状態ではない。
【0674】(18)図244R、EU10122のオ
ペランド・キューに対するMEM10112またはJP
Dバス10142の読込み。読出しを開始するマイクロ
命令が発される時、EU10122のオペランド・キュ
ーは充填される。
ペランド・キューに対するMEM10112またはJP
Dバス10142の読込み。読出しを開始するマイクロ
命令が発される時、EU10122のオペランド・キュ
ーは充填される。
【0675】(19)図244S、事象が生じないFU
10120によるEU10122に対する「ナノ割込
み」の要求。
10120によるEU10122に対する「ナノ割込
み」の要求。
【0676】(20)図244T、FU10120はE
U10122に対する「ナノ割込み」要求を生じ、以下
の記述において更に説明するEU10122の状態桁あ
ふれが生じる。EVENT20284の以下の説明にお
いて述べるように、他の事象は識別されない。
U10122に対する「ナノ割込み」要求を生じ、以下
の記述において更に説明するEU10122の状態桁あ
ふれが生じる。EVENT20284の以下の説明にお
いて述べるように、他の事象は識別されない。
【0677】(21)図244U、FU10120はE
U10122に対する「ナノ割込み」要求を生じる。別
の事象は状態M0の間に識別され、打切りが生じる結果
となる。最初の打切り状態には非EU10122事象に
対して入る。状態M0において識別される全ての打切り
は、状態M0へのエントリの前に行なわれて確認され
る。従って、状態M0から入る元のマイクロ命令の状態
M0における再試行と同時に、EU10122のスタッ
ク桁あふれが比較的高い優先順位を有するため、識別さ
れた次の打切りはEU10122のスタック桁あふれ事
象に対するものである。
U10122に対する「ナノ割込み」要求を生じる。別
の事象は状態M0の間に識別され、打切りが生じる結果
となる。最初の打切り状態には非EU10122事象に
対して入る。状態M0において識別される全ての打切り
は、状態M0へのエントリの前に行なわれて確認され
る。従って、状態M0から入る元のマイクロ命令の状態
M0における再試行と同時に、EU10122のスタッ
ク桁あふれが比較的高い優先順位を有するため、識別さ
れた次の打切りはEU10122のスタック桁あふれ事
象に対するものである。
【0678】(22)図244V、FUSITT110
12に対する27ビットのマイクロ命令セグメントのロ
ード。図244A乃至図244Vにおいては、MEM1
0112の読出しおよび書込み操作、およびJP101
14の諸操作を前提とした。図244W乃至図244Z
においては、JP10114の非重合操作を前提とし
た。
12に対する27ビットのマイクロ命令セグメントのロ
ード。図244A乃至図244Vにおいては、MEM1
0112の読出しおよび書込み操作、およびJP101
14の諸操作を前提とした。図244W乃至図244Z
においては、JP10114の非重合操作を前提とし
た。
【0679】(23)図244W、MEM10112か
らOFFMUXR23812へのデータの読込み。
らOFFMUXR23812へのデータの読込み。
【0680】(24)図244X、MEM10112か
らEU10122のオペランド・キューへのデータの読
込み。
らEU10122のオペランド・キューへのデータの読
込み。
【0681】(25)図244Y、EU10122の結
果のMEM10112への書込み。
果のMEM10112への書込み。
【0682】(26)図244Z、事前取出しまたは条
件付き事前取出し要求に応じるMEM10112からの
32ビットSINワードの読出し。
件付き事前取出し要求に応じるMEM10112からの
32ビットSINワードの読出し。
【0683】STATE20294の全体的な構造およ
び作用、およびCS10110の諸作用状態および諸操
作について説明したが、EVENT20284の構造お
よび作用について以下に説明する。
び作用、およびCS10110の諸作用状態および諸操
作について説明したが、EVENT20284の構造お
よび作用について以下に説明する。
【0684】b.b.b.事象ロジック20284(図
245,図246,図247,図248) 事象は、その時実行中のマイクロ命令によらずCS10
110の回路により生成されるマイクロ命令の実行シー
ケンスにおける変更の要求である。事象の発生は、この
事象の必要に従ってCS10110の作用を変更するM
EM10112による、事象ハンドラと呼ばれるマイク
ロ命令シーケンスを生じる結果となる。事象の要求信号
は、JP10114に対して内部のCS10110の回
路、即ちFU10120またはEU10122から、あ
るいはJP10114に関して外部のCS10110の
回路、例えばIOP10116またはMEM10112
から生成することができる。事象要求信号はEVENT
20284に対する入力として与えられる。以下におい
て更に説明するように、EVENT20284は事象要
求をマスクしてある特定のCS10110の作用状態に
おいてどの事象が識別されるかを判定し、多重事象要求
のサービスのための優先順位を割当て、要求のサービス
のためのマイクロ命令シーケンスに対するFUSITT
11012へのハンドラ・アドレスを構成する。次に、
EVENT20284はEVNTGT24310を回し
てFUSITT11012に対するこれらのハンドラの
マイクロ命令アドレスを与えて、選択された事象ハンド
ラ・マイクロ命令の実行を開始する。
245,図246,図247,図248) 事象は、その時実行中のマイクロ命令によらずCS10
110の回路により生成されるマイクロ命令の実行シー
ケンスにおける変更の要求である。事象の発生は、この
事象の必要に従ってCS10110の作用を変更するM
EM10112による、事象ハンドラと呼ばれるマイク
ロ命令シーケンスを生じる結果となる。事象の要求信号
は、JP10114に対して内部のCS10110の回
路、即ちFU10120またはEU10122から、あ
るいはJP10114に関して外部のCS10110の
回路、例えばIOP10116またはMEM10112
から生成することができる。事象要求信号はEVENT
20284に対する入力として与えられる。以下におい
て更に説明するように、EVENT20284は事象要
求をマスクしてある特定のCS10110の作用状態に
おいてどの事象が識別されるかを判定し、多重事象要求
のサービスのための優先順位を割当て、要求のサービス
のためのマイクロ命令シーケンスに対するFUSITT
11012へのハンドラ・アドレスを構成する。次に、
EVENT20284はEVNTGT24310を回し
てFUSITT11012に対するこれらのハンドラの
マイクロ命令アドレスを与えて、選択された事象ハンド
ラ・マイクロ命令の実行を開始する。
【0685】以下の記述においては、いくつかの用語お
よび表現が用いられる。以下の項はそれらの使用を定義
してこれらの用語を示す事例を提供する。CS1011
0のハードウェアの使用条件がEVENT20284に
対して与えられる事象要求信号をもたらす時は、事象は
「要求を行なう」のである。以下において更に説明する
ように、これらの事象要求信号は、これらの「要求」の
妥当性を判定するEVENT20284の合成ロジック
に対して与えられる。
よび表現が用いられる。以下の項はそれらの使用を定義
してこれらの用語を示す事例を提供する。CS1011
0のハードウェアの使用条件がEVENT20284に
対して与えられる事象要求信号をもたらす時は、事象は
「要求を行なう」のである。以下において更に説明する
ように、これらの事象要求信号は、これらの「要求」の
妥当性を判定するEVENT20284の合成ロジック
に対して与えられる。
【0686】事象要求は、もしこれがマスクされず即ち
それについて処理されることを禁止されるならば、「認
められる」。マスキングとは、FUSITT11012
により生成されるマスクを用いる点で明確であり、ある
いは不適正なCS10110から生じる場合は不明確で
あり、即ち他の考察によって無効となり得る。即ち、あ
る事象は、仮にこれらの要求がある他の条件において認
められる場合であっても、あるCS10110の条件に
おいてしか認められない。例えば、ある数の要求、例え
ば31以下の要求が同時に認識可能である。
それについて処理されることを禁止されるならば、「認
められる」。マスキングとは、FUSITT11012
により生成されるマスクを用いる点で明確であり、ある
いは不適正なCS10110から生じる場合は不明確で
あり、即ち他の考察によって無効となり得る。即ち、あ
る事象は、仮にこれらの要求がある他の条件において認
められる場合であっても、あるCS10110の条件に
おいてしか認められない。例えば、ある数の要求、例え
ば31以下の要求が同時に認識可能である。
【0687】もし最優先順位の事象要求であれば、事象
要求は「満たされる」。要求が満たされる時、そのハン
ドラのマイクロ命令シーケンスに対するFUSITT1
1012における対応するマイクロ命令シーケンスの対
応するアドレスはEVENT20284によりCSAD
Rバス20204に対してゲートされる。CS1011
0が状態ABに入る時は要求は満たされる。状態AB
は、EVENT20284における選択された事象ハン
ドラのマイクロ命令をゲートするのである。
要求は「満たされる」。要求が満たされる時、そのハン
ドラのマイクロ命令シーケンスに対するFUSITT1
1012における対応するマイクロ命令シーケンスの対
応するアドレスはEVENT20284によりCSAD
Rバス20204に対してゲートされる。CS1011
0が状態ABに入る時は要求は満たされる。状態AB
は、EVENT20284における選択された事象ハン
ドラのマイクロ命令をゲートするのである。
【0688】要約すれば、多くの事象がJP10114
によるサービスを要求することができる。これらの事象
の内、その全て、あるいはあるものが認識可能であり、
あるいはまた全く認識不能である。唯一の事象要求、即
ち最優先順位の事象要求は、JP10114が状態AB
に入る時に満たされる。CS10110のマイクロ命令
制御はこの時、この事象のハンドラのマイクロ命令シー
ケンスに変換する。状態ABへのエントリのための必要
な条件は、ある事象要求が行なわれて認識が完了される
ことである。
によるサービスを要求することができる。これらの事象
の内、その全て、あるいはあるものが認識可能であり、
あるいはまた全く認識不能である。唯一の事象要求、即
ち最優先順位の事象要求は、JP10114が状態AB
に入る時に満たされる。CS10110のマイクロ命令
制御はこの時、この事象のハンドラのマイクロ命令シー
ケンスに変換する。状態ABへのエントリのための必要
な条件は、ある事象要求が行なわれて認識が完了される
ことである。
【0689】マイクロ命令シーケンスは、前述のマイク
ロ命令シーケンスが活動状態にある間CS10110が
状態M1から出る時、「完了する」、「完了される」、
あるいは「完了状態」に達するのである。前述の如く、
マイクロ命令シーケンスは、もし仮に完了状態に達する
前に、不定回数だけ状態M0において打切ることができ
る。
ロ命令シーケンスが活動状態にある間CS10110が
状態M1から出る時、「完了する」、「完了される」、
あるいは「完了状態」に達するのである。前述の如く、
マイクロ命令シーケンスは、もし仮に完了状態に達する
前に、不定回数だけ状態M0において打切ることができ
る。
【0690】要求されたデータが指定された行先に戻さ
れる時、即ちMEM10112から要求側に対して読込
まれる時、あるいはMEM10112がこれに書込まれ
るべきデータを受入れる時、MEM10112の照合は
「完了する」、「完了される」あるいは「完了状態」に
達するのである。
れる時、即ちMEM10112から要求側に対して読込
まれる時、あるいはMEM10112がこれに書込まれ
るべきデータを受入れる時、MEM10112の照合は
「完了する」、「完了される」あるいは「完了状態」に
達するのである。
【0691】「追跡トラップ」は実行中のマイクロ命令
固有の特性である。ある与えられた形式(もしマスクさ
れなければ)のマイクロ命令毎に、例えばあるマイクロ
命令のシーケンスの間に追跡トラップが生じて名前の評
価即ち解明を実施し、またこのシーケンスのマイクロ命
令と同時に生じる。一般に次のマイクロ命令の実行前
に、追跡トラップ事象は受取られねばならない。追跡ト
ラップは、以下において説明するように、あるマイクロ
命令シーケンスの各マイクロ命令の実行と同時には生じ
ず他のある状態を考えねばならない如きマイクロ命令と
同時にのみ生じる点で割込みと異なる。
固有の特性である。ある与えられた形式(もしマスクさ
れなければ)のマイクロ命令毎に、例えばあるマイクロ
命令のシーケンスの間に追跡トラップが生じて名前の評
価即ち解明を実施し、またこのシーケンスのマイクロ命
令と同時に生じる。一般に次のマイクロ命令の実行前
に、追跡トラップ事象は受取られねばならない。追跡ト
ラップは、以下において説明するように、あるマイクロ
命令シーケンスの各マイクロ命令の実行と同時には生じ
ず他のある状態を考えねばならない如きマイクロ命令と
同時にのみ生じる点で割込みと異なる。
【0692】「割込み」はJP10114における事象
の最も大きな種類である。一般に、ある特定の場所にお
けるある特定のマイクロ命令の特定の実行に対して割込
みの発生は予測することができない。割込みは、次のマ
イクロ命令の実行前、その時のマイクロ命令の実行が完
了し得る前、あるいは次のSINの開始の前に、サービ
スを要求することができる。割込みはどのマイクロ命令
の実行とも関連付けることができず、また次のマイクロ
命令の開始前にサービスされる。
の最も大きな種類である。一般に、ある特定の場所にお
けるある特定のマイクロ命令の特定の実行に対して割込
みの発生は予測することができない。割込みは、次のマ
イクロ命令の実行前、その時のマイクロ命令の実行が完
了し得る前、あるいは次のSINの開始の前に、サービ
スを要求することができる。割込みはどのマイクロ命令
の実行とも関連付けることができず、また次のマイクロ
命令の開始前にサービスされる。
【0693】「機械の検査」は、JP10114が単独
で処理することができない事象であり、即ちその発生は
JP10114の動機によりこれ以上の動作を行なう。
これら事象は、EVENT20284レジスタにおいて
捕捉され、それ以降の取扱いのためのJP10114の
操作を停止するDP10118に対する要求を惹起する
結果となる。
で処理することができない事象であり、即ちその発生は
JP10114の動機によりこれ以上の動作を行なう。
これら事象は、EVENT20284レジスタにおいて
捕捉され、それ以降の取扱いのためのJP10114の
操作を停止するDP10118に対する要求を惹起する
結果となる。
【0694】要約すれば、CS10110における事象
の3つの主な種類は、追跡トラップと、割込みと、機械
検査である。これらの種類の事象の各々については、以
下において更に詳細に、追跡トラップから説明すること
にする。
の3つの主な種類は、追跡トラップと、割込みと、機械
検査である。これらの種類の事象の各々については、以
下において更に詳細に、追跡トラップから説明すること
にする。
【0695】全ての可能な追跡トラップ事象の要求の状
態、即ち要求中であるかあるいは要求中でないかは、状
態M1および状態ABの完了時点においてEVENT2
0284のレジスタにロードされる。即ち、トラップ要
求はその時実行中のマイクロ命令のある機能であるた
め、トラップ要求の状態はその時実行中の各マイクロ命
令の状態M1の終りにEVENT20284の追跡トラ
ップ・レジスタに対してロードされることになる。同様
に、もしトラップ要求が認識されるならば、状態ABに
は状態M0に続く状態の第1のクロック・サイクルの終
りに入り、その状態は状態ABの終りにロードされるこ
とになる。
態、即ち要求中であるかあるいは要求中でないかは、状
態M1および状態ABの完了時点においてEVENT2
0284のレジスタにロードされる。即ち、トラップ要
求はその時実行中のマイクロ命令のある機能であるた
め、トラップ要求の状態はその時実行中の各マイクロ命
令の状態M1の終りにEVENT20284の追跡トラ
ップ・レジスタに対してロードされることになる。同様
に、もしトラップ要求が認識されるならば、状態ABに
は状態M0に続く状態の第1のクロック・サイクルの終
りに入り、その状態は状態ABの終りにロードされるこ
とになる。
【0696】認識された、即ちマスクされないトラップ
要求は未済の要求としてRCWS10358に送ること
ができる。認識されない、即ちマスクされた追跡トラッ
プ要求は継続中でない要求としてRCWS10358に
対し与えることができ、その後無視される。然る後、あ
るマイクロ命令シーケンスが呼出し側のマイクロ命令シ
ーケンスへの戻りで終る時、RCWS10358におけ
る追跡トラップ要求を用いて追跡トラップ事象要求を生
成することができる。
要求は未済の要求としてRCWS10358に送ること
ができる。認識されない、即ちマスクされた追跡トラッ
プ要求は継続中でない要求としてRCWS10358に
対し与えることができ、その後無視される。然る後、あ
るマイクロ命令シーケンスが呼出し側のマイクロ命令シ
ーケンスへの戻りで終る時、RCWS10358におけ
る追跡トラップ要求を用いて追跡トラップ事象要求を生
成することができる。
【0697】状態ABから出ると同時に、マイクロ区切
り点およびマイクロ命令の追跡トラップを除いて、全て
の追跡トラップ要求は、以下に述べるように、要求され
ない対応するEVENT20284の追跡トラップ要求
レジスタにロードされる。マイクロ区切り点およびマイ
クロ命令追跡トラップは、一般に状態ABの完了時の要
求として常にラッチされている。追跡トラップは明らか
に、全て以下に述べるようにFUSITT11012に
より生成される追跡モード・マスク、不分割モード・マ
スクによりマスクすることができる。マイクロ区切り点
トラップもまた、追跡トラップを含むあるマイクロ命令
の追跡可能フィールドにおける追跡可能ビットのクリア
によってマスクすることができる。一般にマスキング
は、マスクをクリアするマイクロ命令の完了によりマス
クを生成するマイクロ命令の状態M0から有効であり、
マスクをクリアするマイクロ命令により生成される追跡
トラップは、そのM0状態の間続くマイクロ命令を打切
るために用いられる。
り点およびマイクロ命令の追跡トラップを除いて、全て
の追跡トラップ要求は、以下に述べるように、要求され
ない対応するEVENT20284の追跡トラップ要求
レジスタにロードされる。マイクロ区切り点およびマイ
クロ命令追跡トラップは、一般に状態ABの完了時の要
求として常にラッチされている。追跡トラップは明らか
に、全て以下に述べるようにFUSITT11012に
より生成される追跡モード・マスク、不分割モード・マ
スクによりマスクすることができる。マイクロ区切り点
トラップもまた、追跡トラップを含むあるマイクロ命令
の追跡可能フィールドにおける追跡可能ビットのクリア
によってマスクすることができる。一般にマスキング
は、マスクをクリアするマイクロ命令の完了によりマス
クを生成するマイクロ命令の状態M0から有効であり、
マスクをクリアするマイクロ命令により生成される追跡
トラップは、そのM0状態の間続くマイクロ命令を打切
るために用いられる。
【0698】図245においては、典型的なトラップ要
求のためのCS10110の状態およびEVENT20
284による対応する追跡トラップ・ハンドラのマイク
ロ命令シーケンスに対するマイクロ命令アドレスの生成
の状態が示される。図245は、図244A乃至図24
4Zに関して前述のものと同じ約束を用いて描かれる。
図245においては、状態M0およびM1において実行
中のマイクロ命令は追跡トラップ要求を生じるが、MR
(記憶照合)の後書き状態は生成しない。EVENT2
0284に対する追跡トラップ要求は時点Aによって信
号される。この追跡トラップ要求はEVENT2028
4の追跡トラップ事象レジスタにラッチされ、打切り要
求はSTATE20294に対して与えられる。時点B
においては、FU10120が状態ABおよびARに入
る。EVENT20284に存在する最優先順位事象の
ハンドラ・マイクロ命令シーケンスに対するマイクロ命
令アドレスはFUSITT11012に対して与えら
れ、アドレス指定されたマイクロ命令シーケンスの実行
が開始する。時点Cにおいては、FU10120が状態
ABおよびARから出て状態ABに入る。状態ABは次
の110ナノ秒のクロック・サイクルの終りに付勢され
る。選択された事象ハンドラマイクロ命令シーケンスの
アドレスは、状態ABの期間中CSADRバス2020
4の状態を維持する。時点Dにおいては、以下の説明に
おいて説明するRCWS10358に対するポインタが
増分され、これにより第1のマイクロ命令の戻り制御ワ
ードを有効にプッシュし、即ちマイクロ命令はRCWS
10358に対して第1の状態M0において実行する。
追跡トラップの事象ハンドラのマイクロ命令シーケンス
の第1のマイクロ命令はFUSITT11012によっ
て与えられる。ハンドラマイクロ命令シーケンスの実行
は、図245に示される状態タイミング・シーケンスの
第3の状態M0の開始時において開始する。この事象に
対するEVENT20284の追跡トラップ・レジスタ
はこの時非要求状態においてラッチされ、図245に示
される第2の状態M1から変移するまでその状態を維持
する。この時、EVENT20284は新たなトラップ
要求をラッチする。最後に、時点Eにおいて、EVEN
T20284の追跡トラップ事象レジスタは、時点Dお
よびEの間に生じる状態M0およびM1において実行中
のマイクロ命令の実行から生じる新たなトラップ要求で
ラッチされる。時点Aの前の状態M0およびM1におい
て実行されたがサービスされなかったマイクロ命令によ
るトラップは、時点Dにおいて開始される追跡トラップ
の事象ハンドラのマイクロ命令シーケンスから戻ると同
時に、前述の前にプッシュされたRCWがRCWS10
358から戻される時に再び要求される。サービスされ
た全ての追跡トラップ要求は、これらのトラップ要求の
循環を阻止するためそれらの事象の事象ハンドラのマイ
クロ命令シーケンスによりRCWS10358において
明瞭にクリアされる。MEM10112に関する読出し
または書込みから生じる追跡トラップの事象要求はもし
これら要求が反復されるならば再び生じるため、全ての
打切られたMEM10112の読出しおよび書込み要求
の後にEVENT20284が記憶反復割込みを生成し
て、これらトラップが最後にサービスされることを保証
する。これらの読出しおよび書込み追跡トラップ事象に
対する事象ハンドラのマイクロ命令シーケンスは、打切
られた記憶読出しおよび書込み要求の論理記述子におけ
るビットをクリアすることによってサービスされた追跡
トラップの事象要求を確実に不作用化する。
求のためのCS10110の状態およびEVENT20
284による対応する追跡トラップ・ハンドラのマイク
ロ命令シーケンスに対するマイクロ命令アドレスの生成
の状態が示される。図245は、図244A乃至図24
4Zに関して前述のものと同じ約束を用いて描かれる。
図245においては、状態M0およびM1において実行
中のマイクロ命令は追跡トラップ要求を生じるが、MR
(記憶照合)の後書き状態は生成しない。EVENT2
0284に対する追跡トラップ要求は時点Aによって信
号される。この追跡トラップ要求はEVENT2028
4の追跡トラップ事象レジスタにラッチされ、打切り要
求はSTATE20294に対して与えられる。時点B
においては、FU10120が状態ABおよびARに入
る。EVENT20284に存在する最優先順位事象の
ハンドラ・マイクロ命令シーケンスに対するマイクロ命
令アドレスはFUSITT11012に対して与えら
れ、アドレス指定されたマイクロ命令シーケンスの実行
が開始する。時点Cにおいては、FU10120が状態
ABおよびARから出て状態ABに入る。状態ABは次
の110ナノ秒のクロック・サイクルの終りに付勢され
る。選択された事象ハンドラマイクロ命令シーケンスの
アドレスは、状態ABの期間中CSADRバス2020
4の状態を維持する。時点Dにおいては、以下の説明に
おいて説明するRCWS10358に対するポインタが
増分され、これにより第1のマイクロ命令の戻り制御ワ
ードを有効にプッシュし、即ちマイクロ命令はRCWS
10358に対して第1の状態M0において実行する。
追跡トラップの事象ハンドラのマイクロ命令シーケンス
の第1のマイクロ命令はFUSITT11012によっ
て与えられる。ハンドラマイクロ命令シーケンスの実行
は、図245に示される状態タイミング・シーケンスの
第3の状態M0の開始時において開始する。この事象に
対するEVENT20284の追跡トラップ・レジスタ
はこの時非要求状態においてラッチされ、図245に示
される第2の状態M1から変移するまでその状態を維持
する。この時、EVENT20284は新たなトラップ
要求をラッチする。最後に、時点Eにおいて、EVEN
T20284の追跡トラップ事象レジスタは、時点Dお
よびEの間に生じる状態M0およびM1において実行中
のマイクロ命令の実行から生じる新たなトラップ要求で
ラッチされる。時点Aの前の状態M0およびM1におい
て実行されたがサービスされなかったマイクロ命令によ
るトラップは、時点Dにおいて開始される追跡トラップ
の事象ハンドラのマイクロ命令シーケンスから戻ると同
時に、前述の前にプッシュされたRCWがRCWS10
358から戻される時に再び要求される。サービスされ
た全ての追跡トラップ要求は、これらのトラップ要求の
循環を阻止するためそれらの事象の事象ハンドラのマイ
クロ命令シーケンスによりRCWS10358において
明瞭にクリアされる。MEM10112に関する読出し
または書込みから生じる追跡トラップの事象要求はもし
これら要求が反復されるならば再び生じるため、全ての
打切られたMEM10112の読出しおよび書込み要求
の後にEVENT20284が記憶反復割込みを生成し
て、これらトラップが最後にサービスされることを保証
する。これらの読出しおよび書込み追跡トラップ事象に
対する事象ハンドラのマイクロ命令シーケンスは、打切
られた記憶読出しおよび書込み要求の論理記述子におけ
るビットをクリアすることによってサービスされた追跡
トラップの事象要求を確実に不作用化する。
【0699】追跡トラップ事象の全体的な構造および作
用について説明したが、いくつかの特定の追跡トラップ
の事象については以下において更に詳細に説明すること
にする。MEM10112において生じる追跡トラップ
事象は、名前追跡トラップ、SOP追跡トラップ、マイ
クロ命令追跡トラップ、マイクロ区切り点の追跡トラッ
プ、論理書込み追跡トラップ、論理読出し追跡トラッ
プ、UID読出し追跡トラップおよびUID書込み追跡
トラップを含んでいる。これらの追跡トラップについて
は以上述べた順序により以下において説明する。
用について説明したが、いくつかの特定の追跡トラップ
の事象については以下において更に詳細に説明すること
にする。MEM10112において生じる追跡トラップ
事象は、名前追跡トラップ、SOP追跡トラップ、マイ
クロ命令追跡トラップ、マイクロ区切り点の追跡トラッ
プ、論理書込み追跡トラップ、論理読出し追跡トラッ
プ、UID読出し追跡トラップおよびUID書込み追跡
トラップを含んでいる。これらの追跡トラップについて
は以上述べた順序により以下において説明する。
【0700】名前追跡トラップは、名前シラブルの評価
または解明を含む各マイクロ命令シーケンスと同時に要
求される。名前追跡トラップは、これらのマイクロ命令
シーケンスのあるマイクロ命令フィールドの復号によっ
て与えられる。名前追跡トラップ・フィールドは、前述
の如く追跡マスク、不分割マスク、または追跡可能のい
ずれかによってマスクされる。これらのマスクの全て
は、名前シラブルの解明または評価を呼出すマイクロ命
令シーケンスにおいて与えられるマイクロ命令制御信号
によって設定されクリアされる。
または解明を含む各マイクロ命令シーケンスと同時に要
求される。名前追跡トラップは、これらのマイクロ命令
シーケンスのあるマイクロ命令フィールドの復号によっ
て与えられる。名前追跡トラップ・フィールドは、前述
の如く追跡マスク、不分割マスク、または追跡可能のい
ずれかによってマスクされる。これらのマスクの全て
は、名前シラブルの解明または評価を呼出すマイクロ命
令シーケンスにおいて与えられるマイクロ命令制御信号
によって設定されクリアされる。
【0701】SOP追跡トラップは、FU10120が
状態FM(SOPの最初のマイクロ命令)に入る時常に
要求され得る。SOP追跡トラップは、再びFUSIT
T11012のマイクロ命令制御出力により与えられる
追跡マスク、不分割マスクまたは追跡トラップ可能によ
ってマスクすることができる。一般に、このようなSO
Pに割込みを行なうこのようなマイクロ命令シーケンス
の最初のマイクロ命令は、追跡トラップが行なわれる前
に完了されることはない。
状態FM(SOPの最初のマイクロ命令)に入る時常に
要求され得る。SOP追跡トラップは、再びFUSIT
T11012のマイクロ命令制御出力により与えられる
追跡マスク、不分割マスクまたは追跡トラップ可能によ
ってマスクすることができる。一般に、このようなSO
Pに割込みを行なうこのようなマイクロ命令シーケンス
の最初のマイクロ命令は、追跡トラップが行なわれる前
に完了されることはない。
【0702】マイクロ命令の追跡トラップは、戻し指令
を含まないマイクロ命令、即ち呼出し側のマイクロ命令
シーケンスに対してCR10110のマイクロ命令制御
を戻さないマイクロ命令の完了と同時に要求することが
できる。戻し指令を含むマイクロ命令シーケンスの場合
は、対応するRCWにおけるマイクロ命令の追跡トラッ
プ要求の状態が使用される。マイクロ命令の追跡トラッ
プがマスクされない各マイクロ命令は、このマイクロ命
令の実行の状態M0において打切られる。マイクロ命令
の追跡トラップはFUSITT11012からの追跡マ
スク、不分割マスク、または追跡トラップ可能によって
マスクすることができる。マイクロ区切り点は、戻し指
令は含まないがマイクロ命令におけるある追跡可能ビッ
トが保有されるマイクロ命令の実行と同時に要求するこ
とができる。マイクロ区切り点は、追跡マスク、不分割
マスク、または追跡可能によってマスクすることができ
る。更にこれらのマイクロ命令シーケンスにおけるマイ
クロ命令フィールドの追跡可能ビットがマイクロ区切り
点トラップを制御する。これにより、マイクロ区切り点
トラップが要求される時は常に要求されるが、マイクロ
命令において表示された別の使用可能条件を有する。唯
一の認識されたトラップがあるRCWにおけるRCWS
10358に対してプッシュされるため、あるマイクロ
命令の追跡トラップおよび異なる要求状態を有するある
マイクロ区切り点トラップは同時にRCWS10358
に存在し得る。
を含まないマイクロ命令、即ち呼出し側のマイクロ命令
シーケンスに対してCR10110のマイクロ命令制御
を戻さないマイクロ命令の完了と同時に要求することが
できる。戻し指令を含むマイクロ命令シーケンスの場合
は、対応するRCWにおけるマイクロ命令の追跡トラッ
プ要求の状態が使用される。マイクロ命令の追跡トラッ
プがマスクされない各マイクロ命令は、このマイクロ命
令の実行の状態M0において打切られる。マイクロ命令
の追跡トラップはFUSITT11012からの追跡マ
スク、不分割マスク、または追跡トラップ可能によって
マスクすることができる。マイクロ区切り点は、戻し指
令は含まないがマイクロ命令におけるある追跡可能ビッ
トが保有されるマイクロ命令の実行と同時に要求するこ
とができる。マイクロ区切り点は、追跡マスク、不分割
マスク、または追跡可能によってマスクすることができ
る。更にこれらのマイクロ命令シーケンスにおけるマイ
クロ命令フィールドの追跡可能ビットがマイクロ区切り
点トラップを制御する。これにより、マイクロ区切り点
トラップが要求される時は常に要求されるが、マイクロ
命令において表示された別の使用可能条件を有する。唯
一の認識されたトラップがあるRCWにおけるRCWS
10358に対してプッシュされるため、あるマイクロ
命令の追跡トラップおよび異なる要求状態を有するある
マイクロ区切り点トラップは同時にRCWS10358
に存在し得る。
【0703】論理書込み追跡トラップは、MEM101
12に対する書込み要求を提供しかつそうするように論
理記述子を用いるマイクロ命令シーケンスの間論理記述
子におけるあるビットの組により使用可能状態にされる
時、要求され得る。論理書込み追跡トラップは、もしこ
れらトラップが状態MR(メモリー照合後書き)がその
直後に続くある状態において生じさえすれば、認識され
る。論理書込み追跡トラップは、打切られるMEM10
112の書込み要求に惹起する結果となる。論理書込み
追跡トラップは、追跡マスク、不分割マスク、または追
跡トラップ可能によりマスク可能である。論理書込み追
跡トラップの認識のための更に別の条件は、記憶書込み
要求の論理記述子におけるあるビットの状態によって決
定される。打切られたMEM10112要求は論理書込
み追跡トラップが反復する可能なように再生成されるた
め、一般に論理書込み追跡トラップはRCWの部分とし
てRCWS10358にプッシュされない。
12に対する書込み要求を提供しかつそうするように論
理記述子を用いるマイクロ命令シーケンスの間論理記述
子におけるあるビットの組により使用可能状態にされる
時、要求され得る。論理書込み追跡トラップは、もしこ
れらトラップが状態MR(メモリー照合後書き)がその
直後に続くある状態において生じさえすれば、認識され
る。論理書込み追跡トラップは、打切られるMEM10
112の書込み要求に惹起する結果となる。論理書込み
追跡トラップは、追跡マスク、不分割マスク、または追
跡トラップ可能によりマスク可能である。論理書込み追
跡トラップの認識のための更に別の条件は、記憶書込み
要求の論理記述子におけるあるビットの状態によって決
定される。打切られたMEM10112要求は論理書込
み追跡トラップが反復する可能なように再生成されるた
め、一般に論理書込み追跡トラップはRCWの部分とし
てRCWS10358にプッシュされない。
【0704】論理読出し追跡トラップはあらゆる点で論
理書込み追跡トラップと類似するが、MEM10112
の読出し要求の間に生じる。論理読出し追跡トラップの
生成は、再びMEM10112の読出し要求の論理記述
子におけるあるビットによって部分的に制御される。
理書込み追跡トラップと類似するが、MEM10112
の読出し要求の間に生じる。論理読出し追跡トラップの
生成は、再びMEM10112の読出し要求の論理記述
子におけるあるビットによって部分的に制御される。
【0705】CS10110のある構成においては、F
U10120がUIDアドレス即ちポインタに基づくM
EM10112の読出し操作を要求する。もし要求され
るならば、UID読出し追跡トラップが認識され一般に
UID読出し追跡トラップの明確なマスキングは生じな
い。UID読出し追跡トラップの生成は、MEM101
12の読出し要求論理記述子におけるあるビットによっ
て制御される。UID読出し追跡トラップ要求は、ME
M10112の読出し要求の打切りおよびCS1011
0の状態ABへのエントリを惹起する結果となる。UI
D読出し追跡トラップに対するハンドラのマイクロ命令
シーケンスは、一般に、MEM10112の読出し要求
の再開の前にCS10110の読出し要求論理記述子に
おいてトラップ可能ビットをセットする。
U10120がUIDアドレス即ちポインタに基づくM
EM10112の読出し操作を要求する。もし要求され
るならば、UID読出し追跡トラップが認識され一般に
UID読出し追跡トラップの明確なマスキングは生じな
い。UID読出し追跡トラップの生成は、MEM101
12の読出し要求論理記述子におけるあるビットによっ
て制御される。UID読出し追跡トラップ要求は、ME
M10112の読出し要求の打切りおよびCS1011
0の状態ABへのエントリを惹起する結果となる。UI
D読出し追跡トラップに対するハンドラのマイクロ命令
シーケンスは、一般に、MEM10112の読出し要求
の再開の前にCS10110の読出し要求論理記述子に
おいてトラップ可能ビットをセットする。
【0706】UID書込み追跡トラップUID読出し追
跡トラップと類似し、UIDアドレス即ちポインタに基
づくMEM10112の書込み要求における論理記述子
におけるビットによって制御される。
跡トラップと類似し、UIDアドレス即ちポインタに基
づくMEM10112の書込み要求における論理記述子
におけるビットによって制御される。
【0707】追跡トラップ事象の構造および作用につい
て以上に述べたが、CS10110の割込み事象につい
て以下に説明する。
て以上に述べたが、CS10110の割込み事象につい
て以下に説明する。
【0708】前述の如く、割込みはCS10110の事
象の最も大きな種類を形成する。割込みはいくつかの種
類の内の1つ以上に該当するものと見做すことができ
る。最初に、メモリー照合反復割込みは、一般に、読出
しまたは書込み要求がMEM10112に対して提供さ
れるMEM10112に対する読出しおよび書込み要求
と関連する如き割込み事象であり、割込み事象がその結
果生じる。この割込み事象は処理され、MEM1011
2の要求が反復される。第2に、遅延サービス割込み
は、CS10110が新たなSINに対するエントリま
である割込みのサービスと異なる如き割込みである。第
4に、その時実行中のマイクロ命令が事象ハンドラのマ
イクロ命令シーケンスの補佐が完了することを要求する
時に生じる。最後に、非同期割込み事象は如何なる時に
も生じ得、CS10110が次のマイクロ命令の状態M
0を出る前にサービスされねばならない。これらの割込
み事象については以下の順序に従って以下に説明する。
象の最も大きな種類を形成する。割込みはいくつかの種
類の内の1つ以上に該当するものと見做すことができ
る。最初に、メモリー照合反復割込みは、一般に、読出
しまたは書込み要求がMEM10112に対して提供さ
れるMEM10112に対する読出しおよび書込み要求
と関連する如き割込み事象であり、割込み事象がその結
果生じる。この割込み事象は処理され、MEM1011
2の要求が反復される。第2に、遅延サービス割込み
は、CS10110が新たなSINに対するエントリま
である割込みのサービスと異なる如き割込みである。第
4に、その時実行中のマイクロ命令が事象ハンドラのマ
イクロ命令シーケンスの補佐が完了することを要求する
時に生じる。最後に、非同期割込み事象は如何なる時に
も生じ得、CS10110が次のマイクロ命令の状態M
0を出る前にサービスされねばならない。これらの割込
み事象については以下の順序に従って以下に説明する。
【0709】メモリー照合反復割込みは、例えば、もし
あるマイクロ命令が指令を実行するならば要求され、ま
たRCWS10358から読出された対応するRCW
は、これから戻しが実行されるマイクロ命令シーケンス
へのエントリの前にあるメモリー照合が打切られたこと
を示す。このタイプの割込み事象は全てのメモリー照合
に対して生じる。如何なる場合も、もしある事象が満た
される、即ち打切り状態に入るならば、また打切られず
未済のままのメモリー照合が存在するならば、状態AB
が終る前にメモリー照合は完了する。メモリー反復割込
み要求は、RCWS10358に対して書込まれるRC
Wに対して書込まれることになる。逆に、もしあるメモ
リー照合が打切られるならば、例え満たされた事象がメ
モリー照合を打切った事象でなくともメモリー割込み要
求がRCWS10358に対してプッシュされたRCW
に対して書込まれる。
あるマイクロ命令が指令を実行するならば要求され、ま
たRCWS10358から読出された対応するRCW
は、これから戻しが実行されるマイクロ命令シーケンス
へのエントリの前にあるメモリー照合が打切られたこと
を示す。このタイプの割込み事象は全てのメモリー照合
に対して生じる。如何なる場合も、もしある事象が満た
される、即ち打切り状態に入るならば、また打切られず
未済のままのメモリー照合が存在するならば、状態AB
が終る前にメモリー照合は完了する。メモリー反復割込
み要求は、RCWS10358に対して書込まれるRC
Wに対して書込まれることになる。逆に、もしあるメモ
リー照合が打切られるならば、例え満たされた事象がメ
モリー照合を打切った事象でなくともメモリー割込み要
求がRCWS10358に対してプッシュされたRCW
に対して書込まれる。
【0710】メモリー反復割込みの実行のため2つの状
態タイミング・シーケンスが存在する。第1の場合にお
いては、戻し指令を実行するマイクロ命令におけるME
M10112の照合は存在しない。第2の場合において
は、戻し指令を実行するマイクロ命令は戻しを実行し、
かつまたMEM10112の照合を行なう。図246に
おいては、第1の場合に対するCS10110の状態タ
イミング図が示されている。図246は、図244およ
び図245に用いられたと同じ約束を用いて描かれてい
る。前述の如く、第1の場合においては、戻し指令を実
行するマイクロ命令が時点Dに続いて状態M0およびM
1において実行される。時点Aに先行する状態M0およ
びM1において打切られたMEM10112の照合が行
なわれる。MEM10112の照合打切り要求は、時点
Aに続く状態MRへのCS10110のエントリと同時
に行なわれる。メモリー反復割込みはRCWS1035
8により与えられるRCWからのみ要求されるため、も
しマイクロ命令がかかるRCWを与えるRCWS103
58を生じる結果となる戻し指令を実行するだけで、メ
モリー反復割込みが表示される。従って、EVENT2
0284のメモリー反復割込み要求レジスタはこの時
「要求しない」状態でロードされる。時点Bにおいて
は、CS10110は状態AB、状態ARおよび状態M
Aに入る。この時、状態ABが時点Dの直前に付勢され
る時、メモリー照合打切り要求が保有されRCWに対し
て書込まれる。時点Dにおいては、CS10110が状
態ARおよび状態MAから出る。前述の如く、CS10
110は時点Dまで状態Bを維持することになる。時点
Dにおいては、メモリー照合打切り要求がRCWの一部
としてRCWS10358に対して書込まれ、また以下
に更に説明するように、種々のRCWS10358のス
タック・ポインタが増分されて、このRCWをRCWS
10358に対してロードする。この時、EVENT2
0284に割込み要求レジスタは、メモリー反復割込み
の状態として「要求なし」を受取る。メモリー反復割込
みハンドラマイクロ命令シーケンスの最初のマイクロ命
令がFUSITT11012によって与えられる。時点
Eにおいて、メモリー反復割込みハンドラマイクロ命令
シーケンスの最後のマイクロ命令がFUSITT110
12により与えられ、戻し指令が復号される。前述のR
CWS10358の前のスタック・ポインタがRCWS
10358をアドレス指定するように選択されて、EV
ENT20284のメモリー反復割込み事象レジスタに
対する出力として前に書込まれたRCWを与える。時点
Fにおいては、EVENT20284のメモリー反復割
込みレジスタがRCWS10358の出力からロードさ
れ、RCWS10358のスタック・ポインタが減分さ
れる。この時、メモリー反復割込み要求が行なわれて、
以下において説明するように、満たされるかどうかにつ
いてその時戻し制御ワードに書込まれる。この時JP1
0114は打切られたMEM10112の照合を反復す
る。
態タイミング・シーケンスが存在する。第1の場合にお
いては、戻し指令を実行するマイクロ命令におけるME
M10112の照合は存在しない。第2の場合において
は、戻し指令を実行するマイクロ命令は戻しを実行し、
かつまたMEM10112の照合を行なう。図246に
おいては、第1の場合に対するCS10110の状態タ
イミング図が示されている。図246は、図244およ
び図245に用いられたと同じ約束を用いて描かれてい
る。前述の如く、第1の場合においては、戻し指令を実
行するマイクロ命令が時点Dに続いて状態M0およびM
1において実行される。時点Aに先行する状態M0およ
びM1において打切られたMEM10112の照合が行
なわれる。MEM10112の照合打切り要求は、時点
Aに続く状態MRへのCS10110のエントリと同時
に行なわれる。メモリー反復割込みはRCWS1035
8により与えられるRCWからのみ要求されるため、も
しマイクロ命令がかかるRCWを与えるRCWS103
58を生じる結果となる戻し指令を実行するだけで、メ
モリー反復割込みが表示される。従って、EVENT2
0284のメモリー反復割込み要求レジスタはこの時
「要求しない」状態でロードされる。時点Bにおいて
は、CS10110は状態AB、状態ARおよび状態M
Aに入る。この時、状態ABが時点Dの直前に付勢され
る時、メモリー照合打切り要求が保有されRCWに対し
て書込まれる。時点Dにおいては、CS10110が状
態ARおよび状態MAから出る。前述の如く、CS10
110は時点Dまで状態Bを維持することになる。時点
Dにおいては、メモリー照合打切り要求がRCWの一部
としてRCWS10358に対して書込まれ、また以下
に更に説明するように、種々のRCWS10358のス
タック・ポインタが増分されて、このRCWをRCWS
10358に対してロードする。この時、EVENT2
0284に割込み要求レジスタは、メモリー反復割込み
の状態として「要求なし」を受取る。メモリー反復割込
みハンドラマイクロ命令シーケンスの最初のマイクロ命
令がFUSITT11012によって与えられる。時点
Eにおいて、メモリー反復割込みハンドラマイクロ命令
シーケンスの最後のマイクロ命令がFUSITT110
12により与えられ、戻し指令が復号される。前述のR
CWS10358の前のスタック・ポインタがRCWS
10358をアドレス指定するように選択されて、EV
ENT20284のメモリー反復割込み事象レジスタに
対する出力として前に書込まれたRCWを与える。時点
Fにおいては、EVENT20284のメモリー反復割
込みレジスタがRCWS10358の出力からロードさ
れ、RCWS10358のスタック・ポインタが減分さ
れる。この時、メモリー反復割込み要求が行なわれて、
以下において説明するように、満たされるかどうかにつ
いてその時戻し制御ワードに書込まれる。この時JP1
0114は打切られたMEM10112の照合を反復す
る。
【0711】第2の場合、即ち戻しを実行中のマイクロ
命令もまたMEM10112の照合を行なう状態タイミ
ング・シーケンスにおいて、CS10110の状態のタ
イミングは時点Fまで同じである。時点Fにおいては、
MEM10112の反復要求は認識されず、その時の戻
し制御ワードに書込まれるメモリー反復割込みの状態
は、その時のMEM10112の照合が打切られるまで
「要求状態ではない」。前のMEM10112の反復割
込み要求は、もはや要求されないものと仮定されるため
無視される。このように、メモリー反復割込み要求を避
ける、即ち取消す方法が2つある。第1に、MEM10
112の反復割込み要素を受取るRCWの部分は「要求
を行なわない」ものとして再び書込むことができる。第
2に、打切られたMEM10112の照合は、打切られ
たMEM10112の照合をサービスするハンドラから
戻る同じマイクロ命令において行なうことができる。
命令もまたMEM10112の照合を行なう状態タイミ
ング・シーケンスにおいて、CS10110の状態のタ
イミングは時点Fまで同じである。時点Fにおいては、
MEM10112の反復要求は認識されず、その時の戻
し制御ワードに書込まれるメモリー反復割込みの状態
は、その時のMEM10112の照合が打切られるまで
「要求状態ではない」。前のMEM10112の反復割
込み要求は、もはや要求されないものと仮定されるため
無視される。このように、メモリー反復割込み要求を避
ける、即ち取消す方法が2つある。第1に、MEM10
112の反復割込み要素を受取るRCWの部分は「要求
を行なわない」ものとして再び書込むことができる。第
2に、打切られたMEM10112の照合は、打切られ
たMEM10112の照合をサービスするハンドラから
戻る同じマイクロ命令において行なうことができる。
【0712】あるCS10110の事象はMEM101
12の読出しおよび書込み照合の打切りをもたらす結果
となり、またMEM10112の照合の反復をもたらす
結果となる。これらの事象には下記のものが含まれる。
即ち、 (1)論理読出しおよび書込みトラップ、更にCS10
110のある構成においては前述のUID読出しおよび
書込みトラップ。
12の読出しおよび書込み照合の打切りをもたらす結果
となり、またMEM10112の照合の反復をもたらす
結果となる。これらの事象には下記のものが含まれる。
即ち、 (1)論理読出しおよび書込みトラップ、更にCS10
110のある構成においては前述のUID読出しおよび
書込みトラップ。
【0713】(2)PC10234のミス。
【0714】(3)PC10234による保護機能の侵
害の検出。
害の検出。
【0715】(4)MEM10112の読出しまたは書
込み要求におけるページ交差。
込み要求におけるページ交差。
【0716】(5)長いアドレス翻訳、即ち対応する物
理的記述子を与えるため論理記述子の評価をJP101
14が行なうことを要求するATU10228のミス。
理的記述子を与えるため論理記述子の評価をJP101
14が行なうことを要求するATU10228のミス。
【0717】(6) 前述の如く、MEM10112に
関するATU10228からのリセット不適正ビット・
フラッグの検出。
関するATU10228からのリセット不適正ビット・
フラッグの検出。
【0718】(7)EU10122のスタック桁あふ
れ。
れ。
【0719】(8)EU10122の違法タスク指名動
作。
作。
【0720】(9)前述の如き名前追跡トラップ事象。
【0721】(10)以下において説明する如きストア
・バック例外条件。
・バック例外条件。
【0722】(11)ストア・バックの打切りを惹起す
るEU10112の事象、即ちEU10122からME
M10112に対する書込み要求。
るEU10112の事象、即ちEU10122からME
M10112に対する書込み要求。
【0723】(12)非加速スタック・フレームに対す
る読出し要求、即ちその時MEM10112に存在する
スタック・フレーム、および (13)PREF20260からのMEM10112の
未済の読出し照合を惹起するSINシーケンスにおける
条件付き分岐。
る読出し要求、即ちその時MEM10112に存在する
スタック・フレーム、および (13)PREF20260からのMEM10112の
未済の読出し照合を惹起するSINシーケンスにおける
条件付き分岐。
【0724】これらの事象の内、論理読出しおよび書込
みトラップ、UID読出しおよび書込みトラップ、およ
び名前追跡トラップについては前に述べた。前に列記し
た他のデータについては以下において更に詳細に説明す
る。
みトラップ、UID読出しおよび書込みトラップ、およ
び名前追跡トラップについては前に述べた。前に列記し
た他のデータについては以下において更に詳細に説明す
る。
【0725】PC10234のミス割込みは、論理的な
MEM10112の照合と同時に、即ちATU1022
8に対して論理記述子が与えられ保護状態がPC102
34においてセットされない時に要求することができ
る。前述の如く、PC10234は、EVENT202
84に対して事象保護の侵害(EVENTPVIOL)
を提供することによって、対応するPC10234のエ
ントリが存在しないことを表示する。PC10234は
同時に打切り出力の(ABORT)を保有してCS10
110を状態ABに強制し、これによりMEM1011
2の照合の打切りを行なう。
MEM10112の照合と同時に、即ちATU1022
8に対して論理記述子が与えられ保護状態がPC102
34においてセットされない時に要求することができ
る。前述の如く、PC10234は、EVENT202
84に対して事象保護の侵害(EVENTPVIOL)
を提供することによって、対応するPC10234のエ
ントリが存在しないことを表示する。PC10234は
同時に打切り出力の(ABORT)を保有してCS10
110を状態ABに強制し、これによりMEM1011
2の照合の打切りを行なう。
【0726】もし論理的なMEM10112の照合即ち
論理記述子がMEM10112の2つの論理的ページに
存在するオペランドを規定するならば、MEM1011
2の照合割込みと交差するページが要求される。ATU
10228の出力は、打切り出力(ABORT)を保有
することによってこのようなMEM10112の照合の
打切りを行なう。
論理記述子がMEM10112の2つの論理的ページに
存在するオペランドを規定するならば、MEM1011
2の照合割込みと交差するページが要求される。ATU
10228の出力は、打切り出力(ABORT)を保有
することによってこのようなMEM10112の照合の
打切りを行なう。
【0727】もし論理的なMEM10112の照合が適
正なアクセス権を持たない、即ちモードの侵害となるか
あるいはもしこの照合が前記オブジェクトの違法部分を
示唆するように見える即ちエクステント侵害となるなら
ば、保護の侵害割込みが要求される。再び、PC102
34は、保護侵害事象の発生を表示するが、これはFU
SITT11012のマイクロ命令制御出力により使用
不能状態にすることができる。
正なアクセス権を持たない、即ちモードの侵害となるか
あるいはもしこの照合が前記オブジェクトの違法部分を
示唆するように見える即ちエクステント侵害となるなら
ば、保護の侵害割込みが要求される。再び、PC102
34は、保護侵害事象の発生を表示するが、これはFU
SITT11012のマイクロ命令制御出力により使用
不能状態にすることができる。
【0728】長いアドレスの翻訳事象は、ATU102
28が記憶されたエントリを持たない理論的なMEM1
0112照合と同時に要求することが可能である。AT
U10228は、記憶ABORTおよび長いアドレス翻
訳事象(EVENTLAT)を保有することによって前
記のMEM10112照合の打切りを行なう。
28が記憶されたエントリを持たない理論的なMEM1
0112照合と同時に要求することが可能である。AT
U10228は、記憶ABORTおよび長いアドレス翻
訳事象(EVENTLAT)を保有することによって前
記のMEM10112照合の打切りを行なう。
【0729】その不適正ビットが記憶されないATU1
0228における記憶されたエントリを有するMEM1
0112のページに対して書込みを行なうことをJP1
0114が試みる時、不適正ビットのリセット事象割込
みを要求することができる。ATU10228は、出力
ABORTおよび書込み長さアドレス翻訳事象(EVE
NTMLAT)を保有することにより前記MEM101
12の書込み要求の打切りを行なう。
0228における記憶されたエントリを有するMEM1
0112のページに対して書込みを行なうことをJP1
0114が試みる時、不適正ビットのリセット事象割込
みを要求することができる。ATU10228は、出力
ABORTおよび書込み長さアドレス翻訳事象(EVE
NTMLAT)を保有することにより前記MEM101
12の書込み要求の打切りを行なう。
【0730】FU10120のユーザ・スタック桁あふ
れ事象は、もしCS10110のスタック機構に関連し
て前に説明したその時のフレーム・ポインタと最下位の
フレーム・ポインタ間の距離がある与えられた値よりも
大きければ、要求することができる。前記の如く、CS
10110においては、この値は8である。ユーザのス
タック桁あふれ事象はその時のフレーム・ポインタまた
は最下位のフレーム・ポインタのいずれかが値を変更す
るまで要求され続け、その結果前に規定した異なる制限
がもはや侵害されなくなる。ユーザのスタック桁あふれ
事象は、追跡マスク、または不分割マスク、またはFU
SITT11012からのマイクロ命令の可能出力によ
りマスクすることができる。ユーザ・スタック桁あふれ
事象に対するハンドラ・マイクロ命令シーケンスは、こ
れらの事象の循環を阻止するため設定されたこれらマス
クの1つ以上を用いて実行しなければならない。ユーザ
・スタック桁あふれ事象がマスクされる時、CS101
10はモニター・スタック(MOS)10370につい
て実行するように規定される。ユーザ・スタック桁あふ
れ事象はEVENT20284の事象レジスタのいずれ
にもロードされず、あるいはこれら事象はRCWS10
358に対して書込みれるべきRCWに対して書込まれ
ることもない。
れ事象は、もしCS10110のスタック機構に関連し
て前に説明したその時のフレーム・ポインタと最下位の
フレーム・ポインタ間の距離がある与えられた値よりも
大きければ、要求することができる。前記の如く、CS
10110においては、この値は8である。ユーザのス
タック桁あふれ事象はその時のフレーム・ポインタまた
は最下位のフレーム・ポインタのいずれかが値を変更す
るまで要求され続け、その結果前に規定した異なる制限
がもはや侵害されなくなる。ユーザのスタック桁あふれ
事象は、追跡マスク、または不分割マスク、またはFU
SITT11012からのマイクロ命令の可能出力によ
りマスクすることができる。ユーザ・スタック桁あふれ
事象に対するハンドラ・マイクロ命令シーケンスは、こ
れらの事象の循環を阻止するため設定されたこれらマス
クの1つ以上を用いて実行しなければならない。ユーザ
・スタック桁あふれ事象がマスクされる時、CS101
10はモニター・スタック(MOS)10370につい
て実行するように規定される。ユーザ・スタック桁あふ
れ事象はEVENT20284の事象レジスタのいずれ
にもロードされず、あるいはこれら事象はRCWS10
358に対して書込みれるべきRCWに対して書込まれ
ることもない。
【0731】不当なEU10122タスク指名事象は、
もしユーザ・プログラムに対してアクセス可能ではない
EUSITTアドレスに対するEU10122に対し
て、FU10120がタスク指名を試みる、即ち最初の
マイクロ命令シーケンスのアドレスを与えることを試み
るならば、EUSDT20266によって要求される。
一般に、不当なEU10122タスク指名事象はマスク
されない。不当なEU10122タスク指名事象要求
は、状態ABからCS10110が出ると同時にクリア
される。不当なEU10122タスク指名事象に対する
ハンドラマイクロ命令シーケンスは、一般に、これら事
象の循環を阻止するためRCWにおける不当なEU10
122タスク指名事象のエントリをリセットすべきであ
る。
もしユーザ・プログラムに対してアクセス可能ではない
EUSITTアドレスに対するEU10122に対し
て、FU10120がタスク指名を試みる、即ち最初の
マイクロ命令シーケンスのアドレスを与えることを試み
るならば、EUSDT20266によって要求される。
一般に、不当なEU10122タスク指名事象はマスク
されない。不当なEU10122タスク指名事象要求
は、状態ABからCS10110が出ると同時にクリア
される。不当なEU10122タスク指名事象に対する
ハンドラマイクロ命令シーケンスは、一般に、これら事
象の循環を阻止するためRCWにおける不当なEU10
122タスク指名事象のエントリをリセットすべきであ
る。
【0732】EU10122は、もし算術演算中に多数
の例外条件の内のいずれかが生じるならば、ストア・バ
ック例外事象を表示する。これらの事象は、CS101
10が状態SBに入る時に認識され、EU10122の
MEM10112に対するストア・バックの間を除いて
無視される。これらの事象はFUSITT11012の
マイクロ命令出力により使用不能状態にすることができ
るが、一般にマスクされない。ストア・バック例外事象
はRCWS10358に記憶されるべくRCWに対して
書込むことができ、CS10110が状態SBから出る
と同時にクリアされる。再び、ストア・バック例外事象
ハンドラのマイクロ命令シーケンスは、これら事象の循
環を阻止するためRCWに対して書込まれるストア・バ
ック例外事象をリセットしなくてはならない。
の例外条件の内のいずれかが生じるならば、ストア・バ
ック例外事象を表示する。これらの事象は、CS101
10が状態SBに入る時に認識され、EU10122の
MEM10112に対するストア・バックの間を除いて
無視される。これらの事象はFUSITT11012の
マイクロ命令出力により使用不能状態にすることができ
るが、一般にマスクされない。ストア・バック例外事象
はRCWS10358に記憶されるべくRCWに対して
書込むことができ、CS10110が状態SBから出る
と同時にクリアされる。再び、ストア・バック例外事象
ハンドラのマイクロ命令シーケンスは、これら事象の循
環を阻止するためRCWに対して書込まれるストア・バ
ック例外事象をリセットしなくてはならない。
【0733】前記の如く、割込み事象の次の主な種類は
遅延サービスの割込みである。CS10110は、認識
された新たなSOPの遅延サービス割込みのエントリま
で遅延サービス割込みのサービスを遅れさせ、新たなS
OPの最初のマイクロ命令の実行の完了の前にサービス
されることになる。遅延したサービス割込みは、重要で
ないMEM10112のエラー、間隔タイマーの桁あふ
れ、およびIOS10116からの割込みを含む。これ
らの割込みについては、以上述べた順序で以下において
説明する。
遅延サービスの割込みである。CS10110は、認識
された新たなSOPの遅延サービス割込みのエントリま
で遅延サービス割込みのサービスを遅れさせ、新たなS
OPの最初のマイクロ命令の実行の完了の前にサービス
されることになる。遅延したサービス割込みは、重要で
ないMEM10112のエラー、間隔タイマーの桁あふ
れ、およびIOS10116からの割込みを含む。これ
らの割込みについては、以上述べた順序で以下において
説明する。
【0734】重要でないMEM10112の割込みは、
補正可能な(単一ビット)MEM10112のエラーの
発生と同時にMEM10112により信号される。重要
でないメモリー・エラー割込みは、SOPの最初のマイ
クロ命令の状態M0の間のみ認識される。MEM101
12は、そのエラー・ロッグの読出しのためJP101
14が確認を発するまで、重要でないメモリー・エラー
割込みを保有し続けることになる。
補正可能な(単一ビット)MEM10112のエラーの
発生と同時にMEM10112により信号される。重要
でないメモリー・エラー割込みは、SOPの最初のマイ
クロ命令の状態M0の間のみ認識される。MEM101
12は、そのエラー・ロッグの読出しのためJP101
14が確認を発するまで、重要でないメモリー・エラー
割込みを保有し続けることになる。
【0735】間隔タイマー桁あふれ割込みは、以下に述
べるように、間隔タイマーが零に増分する時TIMER
20296によって表示され、これによりある操作の実
行のため許容された時間制限の経過を表示する。間隔タ
イマーの桁あふれ割込みは、1つのSOPの最初のマイ
クロ命令の状態M0の間に認識される。TIMER20
296は、FUSITT11012のマイクロ命令出力
によりクリアされるまでかかる割込みを要求し続けるこ
とになる。
べるように、間隔タイマーが零に増分する時TIMER
20296によって表示され、これによりある操作の実
行のため許容された時間制限の経過を表示する。間隔タ
イマーの桁あふれ割込みは、1つのSOPの最初のマイ
クロ命令の状態M0の間に認識される。TIMER20
296は、FUSITT11012のマイクロ命令出力
によりクリアされるまでかかる割込みを要求し続けるこ
とになる。
【0736】IOS10116はその割込みを表示し
て、IOS10116からJP10114へのプロセッ
サ間メッセージが継続中であることを表示する。IOS
10116は、FUSITT11012のマイクロ命令
制御出力によりクリアされるまで、あるレジスタに記憶
されるその割込み要求を保有し続ける。IOS1011
6の割込みは、SOPの最初のマイクロ命令の状態M0
の間認識される。
て、IOS10116からJP10114へのプロセッ
サ間メッセージが継続中であることを表示する。IOS
10116は、FUSITT11012のマイクロ命令
制御出力によりクリアされるまで、あるレジスタに記憶
されるその割込み要求を保有し続ける。IOS1011
6の割込みは、SOPの最初のマイクロ命令の状態M0
の間認識される。
【0737】CS10110の事象の次の主な種類は、
実行の完了のためサービスされるべきマイクロ命令シー
ケンスによる要件による割込みである。これらの割込み
は、マイクロ命令シーケンスが完了される前にサービス
されねばならない。マイクロ命令のサービス割込みは、
不当なSOP事象、FUSITT11012の事象に存
在しないマイクロ命令、停止したINSTB20262
の試みられた分析、FU10120のスタックの下位桁
あふれ、NC10226のカッシェのミス、またはEU
10122のスタック桁のあふれを含む。これら事象の
各々については以上の順序により以下に説明する。
実行の完了のためサービスされるべきマイクロ命令シー
ケンスによる要件による割込みである。これらの割込み
は、マイクロ命令シーケンスが完了される前にサービス
されねばならない。マイクロ命令のサービス割込みは、
不当なSOP事象、FUSITT11012の事象に存
在しないマイクロ命令、停止したINSTB20262
の試みられた分析、FU10120のスタックの下位桁
あふれ、NC10226のカッシェのミス、またはEU
10122のスタック桁のあふれを含む。これら事象の
各々については以上の順序により以下に説明する。
【0738】不当なSOP事象はFUSDT11010
により表示されて、その時のSOPコードが長いコード
であること、即ち8ビットよりも大きなことを示すが、
その時のダイアレクト(S言語)は唯一の短い命令コー
ド、即ち8ビットのSOPを予期する。不当なSOP割
込みは、適正なコード長さ範囲内の未構成のSOPにつ
いては検出されない。不当なSOP事象は一般にマスク
されない。新たなSOPがOPCODEREG2026
8に対してロードされるまで、FUSDT11010は
不当なSOP事象を表示し続ける。不当なSOP事象は
あるSOPの最初のマイクロ命令の間、即ち状態FMの
間に認識される。比較的高い優先順位事象に対するハン
ドラのマイクロ命令シーケンスがOPCODEREG2
0268の内容を変更するならば、打切られたSOPが
再試行される時前の不当なSOP事象が再び表示される
ことになる。
により表示されて、その時のSOPコードが長いコード
であること、即ち8ビットよりも大きなことを示すが、
その時のダイアレクト(S言語)は唯一の短い命令コー
ド、即ち8ビットのSOPを予期する。不当なSOP割
込みは、適正なコード長さ範囲内の未構成のSOPにつ
いては検出されない。不当なSOP事象は一般にマスク
されない。新たなSOPがOPCODEREG2026
8に対してロードされるまで、FUSDT11010は
不当なSOP事象を表示し続ける。不当なSOP事象は
あるSOPの最初のマイクロ命令の間、即ち状態FMの
間に認識される。比較的高い優先順位事象に対するハン
ドラのマイクロ命令シーケンスがOPCODEREG2
0268の内容を変更するならば、打切られたSOPが
再試行される時前の不当なSOP事象が再び表示される
ことになる。
【0739】FUSITT11012においてマイクロ
命令が存在しないことは、制御ストア・アドレス無効
(CSADVALID)を保有するFUSITT110
12により表示される。このFUSITT11012の
出力はこの特定のマイクロ命令アドレスがFUSITT
11012のアドレス空間の外側を指示することを表示
する。このような場合のFUSITT11012の出力
は判定されず、以下に述べるマイクロ命令出力のパリテ
ィ検査は禁止される。これらの事象に対するハンドラ・
マイクロ命令シーケンスは、FUSITT11012の
アドレス零に前記の如くMEM10112から要求され
たマイクロ命令をロードしまた元のマイクロ命令シーケ
ンスに戻ることになる。
命令が存在しないことは、制御ストア・アドレス無効
(CSADVALID)を保有するFUSITT110
12により表示される。このFUSITT11012の
出力はこの特定のマイクロ命令アドレスがFUSITT
11012のアドレス空間の外側を指示することを表示
する。このような場合のFUSITT11012の出力
は判定されず、以下に述べるマイクロ命令出力のパリテ
ィ検査は禁止される。これらの事象に対するハンドラ・
マイクロ命令シーケンスは、FUSITT11012の
アドレス零に前記の如くMEM10112から要求され
たマイクロ命令をロードしまた元のマイクロ命令シーケ
ンスに戻ることになる。
【0740】分析操作が試みられ、INSTB2026
2が空であり、かつPREF20260がその時MEM
10112からSINを要求しない時、停止されたIN
STB20262の試みられた分析がINSTBWC2
4110によって表示される。一般に、これらの事象は
マスクされない。もし比較的高い優先順位の事象がサー
ビスされるならば、もし元の条件が依然として適合する
場合に打切られたマイクロ命令が再試行される時、これ
らの事象が再び表示される。
2が空であり、かつPREF20260がその時MEM
10112からSINを要求しない時、停止されたIN
STB20262の試みられた分析がINSTBWC2
4110によって表示される。一般に、これらの事象は
マスクされない。もし比較的高い優先順位の事象がサー
ビスされるならば、もし元の条件が依然として適合する
場合に打切られたマイクロ命令が再試行される時、これ
らの事象が再び表示される。
【0741】その時のマイクロ命令が加速されないスタ
ックに存在しない前のスタック・フレームを照合する
時、即ちその時のスタック・ポインタが最下位のスタッ
ク・ボインタと等しい時、FU10120のスタックの
下位桁あふれ事象が要求される。一般に、FU1012
0の下位桁あふれ事象はマスクされず、またもしマイク
ロ命令が打切られてこの事象がサービスされなかった場
合は、ある再試行において要求される。
ックに存在しない前のスタック・フレームを照合する
時、即ちその時のスタック・ポインタが最下位のスタッ
ク・ボインタと等しい時、FU10120のスタックの
下位桁あふれ事象が要求される。一般に、FU1012
0の下位桁あふれ事象はマスクされず、またもしマイク
ロ命令が打切られてこの事象がサービスされなかった場
合は、ある再試行において要求される。
【0742】NC10226のロード即ち読出しが試み
られてその名前シラブルと対応する有効なNC1022
6のブロックが存在しない時、NC10226のミス割
込みはMEM10112の読出しまたは書込み操作と同
時に発生する。NC10226のミス事象は、名前の評
価または解明に対する要求を惹起しない。一般に、これ
らの事象はマスクされず、もしこの事象を惹起するマイ
クロ命令が再試行されてサービスされなかったならば、
要求を再び発する結果となる。
られてその名前シラブルと対応する有効なNC1022
6のブロックが存在しない時、NC10226のミス割
込みはMEM10112の読出しまたは書込み操作と同
時に発生する。NC10226のミス事象は、名前の評
価または解明に対する要求を惹起しない。一般に、これ
らの事象はマスクされず、もしこの事象を惹起するマイ
クロ命令が再試行されてサービスされなかったならば、
要求を再び発する結果となる。
【0743】EU10122のスタック桁あふれ事象は
EU10122から要求されて、EU10122がその
時既に少なくとも1つの割込みレベルをサービス中であ
ること、EU10122が別の割込みレベルを要求中で
あることを表示する。EU10122の以下の説明にお
いて説明するように、EU10122は割込みの処理の
ための1つのレベルの深さのスタックを含む。EU10
122のスタックの桁あふれ事象は状態NWの間に使用
可能状態にさせられる。EU10122のスタック桁あ
ふれ事象要求が認識される前に、全ての前に継続中の事
象がサービスされることになる。これらの事象は、最も
高い優先順位の割込み事象である以降の状態M0へのエ
ントリに際して即時サービスされる。一般に、EU10
122のスタックの桁あふれ事象はマスクされず、一旦
認識されると次に満たされる事象である。
EU10122から要求されて、EU10122がその
時既に少なくとも1つの割込みレベルをサービス中であ
ること、EU10122が別の割込みレベルを要求中で
あることを表示する。EU10122の以下の説明にお
いて説明するように、EU10122は割込みの処理の
ための1つのレベルの深さのスタックを含む。EU10
122のスタックの桁あふれ事象は状態NWの間に使用
可能状態にさせられる。EU10122のスタック桁あ
ふれ事象要求が認識される前に、全ての前に継続中の事
象がサービスされることになる。これらの事象は、最も
高い優先順位の割込み事象である以降の状態M0へのエ
ントリに際して即時サービスされる。一般に、EU10
122のスタックの桁あふれ事象はマスクされず、一旦
認識されると次に満たされる事象である。
【0744】最後に、CS10110の割込み事象の第
3の主な種類は非同期事象である。非同期事象は、一般
に、これらが認識された後にあるマイクロ命令の状態M
0を付勢する前にサービスされねばならない。非同期事
象は、重要なメモリー・エラー事象と、AC電源障害事
象と、エッグ・タイマー桁あふれ事象と、EU1012
2のスタック下位桁あふれ事象を含む。CS10110
のエッグ・タイマーはTIMER20296の部分であ
り、以下においてTIMER20296に部分として論
述する。これら事象は以上述べた順序において以下に説
明する。
3の主な種類は非同期事象である。非同期事象は、一般
に、これらが認識された後にあるマイクロ命令の状態M
0を付勢する前にサービスされねばならない。非同期事
象は、重要なメモリー・エラー事象と、AC電源障害事
象と、エッグ・タイマー桁あふれ事象と、EU1012
2のスタック下位桁あふれ事象を含む。CS10110
のエッグ・タイマーはTIMER20296の部分であ
り、以下においてTIMER20296に部分として論
述する。これら事象は以上述べた順序において以下に説
明する。
【0745】重要なMEM10112のエラー事象は、
MEM10112から読出された最後のデータが訂正不
能なエラーを含む時、前記の如く制御信号出力PMOD
Iの保有によってMEM10112により要求される。
重要なMEM10112のエラー事象は発生後最初の状
態M0に際して認識される。重要なMEM10112の
エラー事象はEVENT20284の事象レジスタにお
いて記憶され、そのサービスのマイクロ命令シーケンス
へのエントリと同時にクリアされる。一般に、重要なM
EM10112のエラー事象はマスクされ得ない。
MEM10112から読出された最後のデータが訂正不
能なエラーを含む時、前記の如く制御信号出力PMOD
Iの保有によってMEM10112により要求される。
重要なMEM10112のエラー事象は発生後最初の状
態M0に際して認識される。重要なMEM10112の
エラー事象はEVENT20284の事象レジスタにお
いて記憶され、そのサービスのマイクロ命令シーケンス
へのエントリと同時にクリアされる。一般に、重要なM
EM10112のエラー事象はマスクされ得ない。
【0746】AC電源障害事象は、DP10118がC
S10110に対する電源の障害を検出する時出力信号
ACFAAILの保有によりDP10118によって表
示される。AC電源の障害事象の認識は、AC電源障害
事象ハンドラのマイクロ命令シーケンスへのエントリと
同時に再び作用状態にさせられる。DP10118がJ
P10114の操作を再び開始するまでは、この他のA
C電源障害事象は認識されることはない。
S10110に対する電源の障害を検出する時出力信号
ACFAAILの保有によりDP10118によって表
示される。AC電源の障害事象の認識は、AC電源障害
事象ハンドラのマイクロ命令シーケンスへのエントリと
同時に再び作用状態にさせられる。DP10118がJ
P10114の操作を再び開始するまでは、この他のA
C電源障害事象は認識されることはない。
【0747】以下において更に説明するように、FUC
TL20214のエッグ・タイマーはTIMER202
96の部分である。エッグ・タイマーの桁あふれ事象
は、TIMER20296のエッグ・タイマーがエッグ
・タイマー・カウンタの桁あふれを表示する時は常に、
TIMER20296により表示される。エッグ・タイ
マーの桁あふれ事象は、以下の説明において説明するよ
うにマスクすることができる。
TL20214のエッグ・タイマーはTIMER202
96の部分である。エッグ・タイマーの桁あふれ事象
は、TIMER20296のエッグ・タイマーがエッグ
・タイマー・カウンタの桁あふれを表示する時は常に、
TIMER20296により表示される。エッグ・タイ
マーの桁あふれ事象は、以下の説明において説明するよ
うにマスクすることができる。
【0748】最後に、EU10122のスタック下位桁
あふれ事象は、EU10122からのワードを読出すよ
うに指令される時、また加速されたスタック・フレーム
が存在しない時、EU10122によって信号される。
JP10114によりハンドラのマイクロ命令シーケン
スの開始により確認されるまでは、この事象割込みを保
有し続けることになる。
あふれ事象は、EU10122からのワードを読出すよ
うに指令される時、また加速されたスタック・フレーム
が存在しない時、EU10122によって信号される。
JP10114によりハンドラのマイクロ命令シーケン
スの開始により確認されるまでは、この事象割込みを保
有し続けることになる。
【0749】CS10110の事象の以上の説明は、こ
れら事象のあるものの認識がマスクされ得ること、即ち
他のより高い優先順位を有する事象の認識を許容するた
め禁止されることと説明した。これらのマスキング操作
のあるものは以上の説明において簡単に記述したが、以
下において更に詳細に説明することにする。一般に、事
象の認識は5つの方法でマスクが可能であるが、その内
の4つはマスクとして正しく示されている。これら4つ
のマスクはFUSITT11012からのマイクロ命令
シーケンスにより生成され、一般に非同期事象に対する
非同期マスクを含んでいる。モニター・マスクは前にC
S10110のスタック機構に関連して説明したよう
に、モニター・スタック(MOS)に関して実施される
これらのCS10110の諸操作のため使用される。追
跡マスクは追跡トラップ事象に関して使用される。不分
割マスクは、あるマイクロ命令の一体の即ち不分割部分
としてFUSITT11012により生成即ち提供さ
れ、ある単一のマイクロ命令の間ある選択された事象の
認識を許容する。ある他の事象、例えば論理的な読出し
および書込みトラップ、およびUID読出しおよび書込
みトラップは、これらの操作と関連する論理記述子にお
けるフラッグ・ビットにより認識され即ちマスクされ
る。最後に、あるマイクロ命令により、FUSITT1
1012がある事象の認識を可能または禁止するマイク
ロ命令制御出力を与える結果を生じるが、単一の特定の
マイクロ命令と関連しない点で不分割マスクとは異な
る。
れら事象のあるものの認識がマスクされ得ること、即ち
他のより高い優先順位を有する事象の認識を許容するた
め禁止されることと説明した。これらのマスキング操作
のあるものは以上の説明において簡単に記述したが、以
下において更に詳細に説明することにする。一般に、事
象の認識は5つの方法でマスクが可能であるが、その内
の4つはマスクとして正しく示されている。これら4つ
のマスクはFUSITT11012からのマイクロ命令
シーケンスにより生成され、一般に非同期事象に対する
非同期マスクを含んでいる。モニター・マスクは前にC
S10110のスタック機構に関連して説明したよう
に、モニター・スタック(MOS)に関して実施される
これらのCS10110の諸操作のため使用される。追
跡マスクは追跡トラップ事象に関して使用される。不分
割マスクは、あるマイクロ命令の一体の即ち不分割部分
としてFUSITT11012により生成即ち提供さ
れ、ある単一のマイクロ命令の間ある選択された事象の
認識を許容する。ある他の事象、例えば論理的な読出し
および書込みトラップ、およびUID読出しおよび書込
みトラップは、これらの操作と関連する論理記述子にお
けるフラッグ・ビットにより認識され即ちマスクされ
る。最後に、あるマイクロ命令により、FUSITT1
1012がある事象の認識を可能または禁止するマイク
ロ命令制御出力を与える結果を生じるが、単一の特定の
マイクロ命令と関連しない点で不分割マスクとは異な
る。
【0750】図247においては、あるCS10110
の事象の相対的な優先レベルおよび使用可能なマスクが
3つの垂直方向の欄内に示されている。特定の事象の優
先順位およびマスキングに関する情報が、各々がこれら
3つの垂直方向の各欄におけるエントリを構成する水平
方向のエントリにおいて示されている。優先順位レベル
と呼ばれる左欄は、各事象エントリの相対的な優先順位
を説明している。「事象」と表示される第2の欄は、ど
の事象がこのテーブルのエントリにおいて指示されるか
を示される。特定の事象は全ての比較的高い優先順位事
象に対する優先順位を生じ、また全ての比較的低い優先
順位事象に勝る統括を有する。「マスキングの主体」と
表示される図247の第3の欄は、対応する事象のマス
キングのためどのマスクの使用が可能かを各エントリ毎
に規定してる。Aは非同期マスクの用途を示し、Mはモ
ニター・マスクの用途、Tは追跡トラップ・マスクの用
途、およびIは不分割マスクが使用可能であることを示
す。DESはある事象が論理記述子のフラッグ・ビット
により使用可能状態即ちマスクされることを示し、MC
WDはFUSITT11012により与えられるマイク
ロ命令の制御信号出力によりマスクされることができる
ことを示している。「なし」とは、一般にある事象がマ
スクできないことを示す。
の事象の相対的な優先レベルおよび使用可能なマスクが
3つの垂直方向の欄内に示されている。特定の事象の優
先順位およびマスキングに関する情報が、各々がこれら
3つの垂直方向の各欄におけるエントリを構成する水平
方向のエントリにおいて示されている。優先順位レベル
と呼ばれる左欄は、各事象エントリの相対的な優先順位
を説明している。「事象」と表示される第2の欄は、ど
の事象がこのテーブルのエントリにおいて指示されるか
を示される。特定の事象は全ての比較的高い優先順位事
象に対する優先順位を生じ、また全ての比較的低い優先
順位事象に勝る統括を有する。「マスキングの主体」と
表示される図247の第3の欄は、対応する事象のマス
キングのためどのマスクの使用が可能かを各エントリ毎
に規定してる。Aは非同期マスクの用途を示し、Mはモ
ニター・マスクの用途、Tは追跡トラップ・マスクの用
途、およびIは不分割マスクが使用可能であることを示
す。DESはある事象が論理記述子のフラッグ・ビット
により使用可能状態即ちマスクされることを示し、MC
WDはFUSITT11012により与えられるマイク
ロ命令の制御信号出力によりマスクされることができる
ことを示している。「なし」とは、一般にある事象がマ
スクできないことを示す。
【0751】CS10110の事象の最後の主な種類に
ついては、機械の検査事象として前に説明した。一般
に、もしこれらの事象のいずれかがEVENT2028
4における論理ゲート作用により検出されるならば、E
VENT20284はDP10118に対する機械の検
査信号を提供する。この時DP10118はJP101
14の走査を停止し、機械の検査事象ハンドラ・マイク
ロ命令シーケンスが開始される。これらの内には機械検
査事象が存在し、これにおいてはFU10120がEU
10122の結果をMEM10112に対して再び記憶
しようと試み、EU10122はEU10122の制御
ストアにおけるパリティ・エラーを信号する。これらの
事象はEVENT20284の事象レジスタに記憶し
て、何時FU10120が状態ABに入るかを認識す
る。EU10122は、活動状態のマイクロ命令シーケ
ンスが開始することができるまで前以って動作を停止し
ている。もしEU10122の制御ストアにおけるパリ
ティ・エラーを有するEU10122の算術演算結果ま
たは検査操作の結果をFU10120が用いようとする
ならば、同じ事象が生じる。もしMOS10370の桁
あふれまたは下位桁あふれが生じるならば、この事象は
検出されて、FU10120の操作は停止され、補正マ
イクロ命令シーケンスが開始される。前のMOS103
70のスタック・フレームが照合される時、またはMO
S10370のスタック・ポインタがMOS10370
の最下位スタック・ポインタと等しい時、またはMOS
10370と最下位スタック・ポインタ間の差異が16
より大きい時は常に、MOS10370の桁あふれまた
は下位桁あふれが生じる。下位桁あふれはMIS103
68に対する操作の転送を生じる結果となるが、桁あふ
れはDP10118により処理される。最後に、FUS
ITT11012によりその時行なわれるマイクロ命令
の状態M0の間にあるパリティ・エラーが前記マイクロ
命令において検出される時、機械検査事象が要求される
ことになる。
ついては、機械の検査事象として前に説明した。一般
に、もしこれらの事象のいずれかがEVENT2028
4における論理ゲート作用により検出されるならば、E
VENT20284はDP10118に対する機械の検
査信号を提供する。この時DP10118はJP101
14の走査を停止し、機械の検査事象ハンドラ・マイク
ロ命令シーケンスが開始される。これらの内には機械検
査事象が存在し、これにおいてはFU10120がEU
10122の結果をMEM10112に対して再び記憶
しようと試み、EU10122はEU10122の制御
ストアにおけるパリティ・エラーを信号する。これらの
事象はEVENT20284の事象レジスタに記憶し
て、何時FU10120が状態ABに入るかを認識す
る。EU10122は、活動状態のマイクロ命令シーケ
ンスが開始することができるまで前以って動作を停止し
ている。もしEU10122の制御ストアにおけるパリ
ティ・エラーを有するEU10122の算術演算結果ま
たは検査操作の結果をFU10120が用いようとする
ならば、同じ事象が生じる。もしMOS10370の桁
あふれまたは下位桁あふれが生じるならば、この事象は
検出されて、FU10120の操作は停止され、補正マ
イクロ命令シーケンスが開始される。前のMOS103
70のスタック・フレームが照合される時、またはMO
S10370のスタック・ポインタがMOS10370
の最下位スタック・ポインタと等しい時、またはMOS
10370と最下位スタック・ポインタ間の差異が16
より大きい時は常に、MOS10370の桁あふれまた
は下位桁あふれが生じる。下位桁あふれはMIS103
68に対する操作の転送を生じる結果となるが、桁あふ
れはDP10118により処理される。最後に、FUS
ITT11012によりその時行なわれるマイクロ命令
の状態M0の間にあるパリティ・エラーが前記マイクロ
命令において検出される時、機械検査事象が要求される
ことになる。
【0752】EVENT20284の全体的な作用につ
いて説明したが、EVENT20284の構造および作
用について説明したが、EVENT20284の構造お
よび作用について次に簡単に説明する。
いて説明したが、EVENT20284の構造および作
用について説明したが、EVENT20284の構造お
よび作用について次に簡単に説明する。
【0753】図248においては、EVENT2028
4の部分的ブロック図が示される。EVENT2028
4は、事象検出器(EDET)24810、事象マスク
兼レジスタ回路(ERM)24812、および事象ハン
ドラ選択ロジック(EHS)24814を含む。EDE
T24810は、ランダム・ロジック・ゲートからな
り、前述の如く、CS10110の回路の他の部分から
事象条件を表わす入力を受取る。EDET24810
は、事象が生じたことを示すCS10110の作用条件
の発生を検出し、どんな事象が要求されるかを示す出力
をEMR24812に対して与える。
4の部分的ブロック図が示される。EVENT2028
4は、事象検出器(EDET)24810、事象マスク
兼レジスタ回路(ERM)24812、および事象ハン
ドラ選択ロジック(EHS)24814を含む。EDE
T24810は、ランダム・ロジック・ゲートからな
り、前述の如く、CS10110の回路の他の部分から
事象条件を表わす入力を受取る。EDET24810
は、事象が生じたことを示すCS10110の作用条件
の発生を検出し、どんな事象が要求されるかを示す出力
をEMR24812に対して与える。
【0754】EMR24812は、例えばEVENT2
0284の事象レジスタを構成するSN74S194な
る1組のレジスタを含む。これらのレジスタは今述べる
マスク入力により使用可能状態にされ、EVENT20
284の事象レジスタにおいてラッチされるこれらの事
象のマスキングを可能にする。ある事象は前述の如くラ
ッチされず、ラッチされない事象のマスキングを可能に
するため、マスク可能入力を有する論理ゲートが設けら
れる。EMR24812のマスク入力とは、FUSIT
T11012により与えられる、夫々AMSK,MMS
K,TMSKおよびISMKで示される非同期、モニタ
ー、追跡トラップおよび不分割の各マスクである。FU
SITT11012のマイクロ命令出力(mWRD)か
ら得られるマスク入力は、FUSITT11012のマ
イクロ命令制御出力から与えられる。EMR24812
は、EHS24814に対して要求されたマスクおよび
アンマスク事象を表わす出力を与える。
0284の事象レジスタを構成するSN74S194な
る1組のレジスタを含む。これらのレジスタは今述べる
マスク入力により使用可能状態にされ、EVENT20
284の事象レジスタにおいてラッチされるこれらの事
象のマスキングを可能にする。ある事象は前述の如くラ
ッチされず、ラッチされない事象のマスキングを可能に
するため、マスク可能入力を有する論理ゲートが設けら
れる。EMR24812のマスク入力とは、FUSIT
T11012により与えられる、夫々AMSK,MMS
K,TMSKおよびISMKで示される非同期、モニタ
ー、追跡トラップおよび不分割の各マスクである。FU
SITT11012のマイクロ命令出力(mWRD)か
ら得られるマスク入力は、FUSITT11012のマ
イクロ命令制御出力から与えられる。EMR24812
は、EHS24814に対して要求されたマスクおよび
アンマスク事象を表わす出力を与える。
【0755】EHS24814は、EHS24814の
アンマスクされた事象要求のどれが最も高い優先順位で
あるかを検出する論理ゲートからなる。EHS2481
4は最優先順位のアンマスクされた事象要求入力を説明
し、ADRAバス24322を介しEVENTGT24
310に対して対応する事象ハンドラ・マイクロ命令ア
ドレスを提供する。EHS24814のこれらのアドレ
ス出力は、その時の最優先順位のアンマスクされた事象
の事象ハンドラ・マイクロ命令シーケンスの最初のマイ
クロ命令を選択する5ビットのアドレスである。NAS
MUX24312に関して前に説明したように、EVN
TGT24310のある入力はこのEVNTGT243
10からの全15ビットのアドレス出力を与えるように
ハードワイアドされている。EVENT20284はま
た、SITTNAS20286に対するEHS2481
4からの事象可能選択(EES)出力を与えて、EVE
NT20284がその時の事象の処理のためマイクロ命
令アドレスを与えなければならない時、EVNTGT2
4310をしてCSADRバス20204に対してマイ
クロ命令アドレスを与えさせる。
アンマスクされた事象要求のどれが最も高い優先順位で
あるかを検出する論理ゲートからなる。EHS2481
4は最優先順位のアンマスクされた事象要求入力を説明
し、ADRAバス24322を介しEVENTGT24
310に対して対応する事象ハンドラ・マイクロ命令ア
ドレスを提供する。EHS24814のこれらのアドレ
ス出力は、その時の最優先順位のアンマスクされた事象
の事象ハンドラ・マイクロ命令シーケンスの最初のマイ
クロ命令を選択する5ビットのアドレスである。NAS
MUX24312に関して前に説明したように、EVN
TGT24310のある入力はこのEVNTGT243
10からの全15ビットのアドレス出力を与えるように
ハードワイアドされている。EVENT20284はま
た、SITTNAS20286に対するEHS2481
4からの事象可能選択(EES)出力を与えて、EVE
NT20284がその時の事象の処理のためマイクロ命
令アドレスを与えなければならない時、EVNTGT2
4310をしてCSADRバス20204に対してマイ
クロ命令アドレスを与えさせる。
【0756】FUSITT11012に対してマイクロ
命令アドレスを与えるFUCTL20214の回路の構
造および作用について説明したが、次にFUSITT1
1012について説明する。
命令アドレスを与えるFUCTL20214の回路の構
造および作用について説明したが、次にFUSITT1
1012について説明する。
【0757】c.c.c.取出し装置S命令テーブル1
1012(図249) 図249においては、FUSITT11012の部分的
なブロック図が示される。マイクロ命令制御ストア(m
CS)24910のアドレス(ADR)およびデータ
(DATA)入力は、アドレス・ドライバ(ADRDR
V)24912を介してCSADRバス20204と、
またデータ・ドライバ(DDRV)24194を介して
JPDバス10142と夫々接続されている。mCS2
4910は、CS10110によりその時使用中のマイ
クロ命令のシーケンスを記憶するためのメモリーを構成
する。mCS24910は8K(8192)ワードX8
0ビット幅のメモリーである。即ち、mCS24910
は、例えば、8192ビット幅以下のマイクロ命令を保
有することができる。mCS24910に対して書込ま
れるべきマイクロ命令は、前述の如く、JPDバス10
142からDDRV24914を介してmCS2491
0のデータ入力に対して与えられる。mCS24910
に関して書込みまたは読出しされるべきマイクロ命令ア
ドレスは、CSADRバス20204からADRDRV
24912を介してmCS24910のアドレス入力に
対して与えられる。ADRDRV24912およびDD
RV24914は、例えばSN74S240およびSN
74S244からなるバッファ・ドライバである。
1012(図249) 図249においては、FUSITT11012の部分的
なブロック図が示される。マイクロ命令制御ストア(m
CS)24910のアドレス(ADR)およびデータ
(DATA)入力は、アドレス・ドライバ(ADRDR
V)24912を介してCSADRバス20204と、
またデータ・ドライバ(DDRV)24194を介して
JPDバス10142と夫々接続されている。mCS2
4910は、CS10110によりその時使用中のマイ
クロ命令のシーケンスを記憶するためのメモリーを構成
する。mCS24910は8K(8192)ワードX8
0ビット幅のメモリーである。即ち、mCS24910
は、例えば、8192ビット幅以下のマイクロ命令を保
有することができる。mCS24910に対して書込ま
れるべきマイクロ命令は、前述の如く、JPDバス10
142からDDRV24914を介してmCS2491
0のデータ入力に対して与えられる。mCS24910
に関して書込みまたは読出しされるべきマイクロ命令ア
ドレスは、CSADRバス20204からADRDRV
24912を介してmCS24910のアドレス入力に
対して与えられる。ADRDRV24912およびDD
RV24914は、例えばSN74S240およびSN
74S244からなるバッファ・ドライバである。
【0758】またADRDRV24912の出力から接
続されているのは、非存在マイクロ命令ロジック(NP
mIS)24916の入力である。NPmIS2491
6は、mCS24910に対して与えられる論理ゲート
のモニタリング読出しアドレスからなる。CSADRバ
ス20204に存在するマイクロ命令読出しアドレス
は、mCS24910内のアドレス空間内ではないアド
レス場所を指す時、即ち非存在マイクロ命令である時、
NPmIS24916はこの発生を示す事象要求出力を
生じる。前述の如く、FUCTL20214はこの時M
EM10112からアドレス指定されたマイクロ命令を
呼出してこれを実行する。
続されているのは、非存在マイクロ命令ロジック(NP
mIS)24916の入力である。NPmIS2491
6は、mCS24910に対して与えられる論理ゲート
のモニタリング読出しアドレスからなる。CSADRバ
ス20204に存在するマイクロ命令読出しアドレス
は、mCS24910内のアドレス空間内ではないアド
レス場所を指す時、即ち非存在マイクロ命令である時、
NPmIS24916はこの発生を示す事象要求出力を
生じる。前述の如く、FUCTL20214はこの時M
EM10112からアドレス指定されたマイクロ命令を
呼出してこれを実行する。
【0759】図249を示すように、mCS24910
は3組の出力を生じる。これらの出力は、直接出力(D
O)、直接復号出力(DDO)およびバッファされた復
号出力(BDO)である。一般に、ある特定のマイクロ
命令ワード内の制御情報は、この特定のマイクロ命令ワ
ードがmCS24910のアドレス入力に対して与えら
れた後次のクロック・サイクルと同時に使用される。
は3組の出力を生じる。これらの出力は、直接出力(D
O)、直接復号出力(DDO)およびバッファされた復
号出力(BDO)である。一般に、ある特定のマイクロ
命令ワード内の制御情報は、この特定のマイクロ命令ワ
ードがmCS24910のアドレス入力に対して与えら
れた後次のクロック・サイクルと同時に使用される。
【0760】即ち、ある最初のクロック・サイクルの
間、マイクロ命令のあるアドレスがmCS24910の
アドレス入力に対して与えられる。この選択されたマイ
クロ命令は、前記クロック・サイクルの間にmCS24
910のDO,DDOおよびBDO出力上に現われて、
復号の後次のクロック・サイクルにおいて使用される。
出力DO,DDOおよびBDOは、復号されたマイクロ
命令出力が使用できるようになる前の遅延時間において
異なる。
間、マイクロ命令のあるアドレスがmCS24910の
アドレス入力に対して与えられる。この選択されたマイ
クロ命令は、前記クロック・サイクルの間にmCS24
910のDO,DDOおよびBDO出力上に現われて、
復号の後次のクロック・サイクルにおいて使用される。
出力DO,DDOおよびBDOは、復号されたマイクロ
命令出力が使用できるようになる前の遅延時間において
異なる。
【0761】mCS24910のDO出力は、直接出力
バッファ(DOB)24918を介して特定の行先即ち
ユーザに対してマイクロ命令ワードのあるビットを直接
与える。これらのマイクロ命令ビットは、必要に応じて
それらの行先においてラッチされ復号される。DOB2
4918は、例えばSN74S04からなるものでも良
い。
バッファ(DOB)24918を介して特定の行先即ち
ユーザに対してマイクロ命令ワードのあるビットを直接
与える。これらのマイクロ命令ビットは、必要に応じて
それらの行先においてラッチされ復号される。DOB2
4918は、例えばSN74S04からなるものでも良
い。
【0762】mCS24910のDDO出力は、これら
の復号された制御信号が使用されるクロック・サイクル
の開始時において、完全に復号された制御信号の存在を
要求する機能のための復号されたマイクロ命令制御出力
を与える。図249に示すように、mCS24910の
DDO出力は直接復号ロジック(DDL)24920の
入力側と接続されている。DDL24920は、あるマ
イクロ命令ワード・ビットがmCS24910のDDO
によって与えられる同じクロック・サイクルの間あるマ
イクロ命令ワード・ビットを復号するための論理ゲート
からなる。これらのマイクロ命令ビットは、前述の如
く、対応するアドレスがmCS24910のアドレス入
力に対して与えられる同じクロック・サイクルの間に与
えられる。このクロック・サイクルの間、DDL249
20はmCS24910のDDOマイクロ命令ビットを
復号して、このクロック・サイクルの終りにより完全に
復号された出力を与える。DDL24920の出力は、
直接復号レジスタ(DDR)24922の入力に対して
接続される。DDR24922は、例えばSN74S3
74からなるレジスタである。DDL24920の完全
に復号された出力は、前述の如くあるアドレスがmCS
24910のアドレス入力に対して与えられ、かつmC
S24910の対応するDDO出力がDDL24920
によって復号されるクロック・サイクルの終りにおい
て、DDR24922に対してロードされる。mCS2
4910のDDO出力に対応する完全に復号されたマイ
クロ命令制御出力はこれにより、第2のクロック・サイ
クルの開始時において使用可能となる。DDR2492
2のマイクロ命令制御出力はこれにより、FUSITT
11012から即時の即ち遅れのないマイクロ命令制御
信号出力を要求する如きFU10120の動作のための
第2のクロック・サイクルの開始時において、FU10
120に対して使用可能となる。
の復号された制御信号が使用されるクロック・サイクル
の開始時において、完全に復号された制御信号の存在を
要求する機能のための復号されたマイクロ命令制御出力
を与える。図249に示すように、mCS24910の
DDO出力は直接復号ロジック(DDL)24920の
入力側と接続されている。DDL24920は、あるマ
イクロ命令ワード・ビットがmCS24910のDDO
によって与えられる同じクロック・サイクルの間あるマ
イクロ命令ワード・ビットを復号するための論理ゲート
からなる。これらのマイクロ命令ビットは、前述の如
く、対応するアドレスがmCS24910のアドレス入
力に対して与えられる同じクロック・サイクルの間に与
えられる。このクロック・サイクルの間、DDL249
20はmCS24910のDDOマイクロ命令ビットを
復号して、このクロック・サイクルの終りにより完全に
復号された出力を与える。DDL24920の出力は、
直接復号レジスタ(DDR)24922の入力に対して
接続される。DDR24922は、例えばSN74S3
74からなるレジスタである。DDL24920の完全
に復号された出力は、前述の如くあるアドレスがmCS
24910のアドレス入力に対して与えられ、かつmC
S24910の対応するDDO出力がDDL24920
によって復号されるクロック・サイクルの終りにおい
て、DDR24922に対してロードされる。mCS2
4910のDDO出力に対応する完全に復号されたマイ
クロ命令制御出力はこれにより、第2のクロック・サイ
クルの開始時において使用可能となる。DDR2492
2のマイクロ命令制御出力はこれにより、FUSITT
11012から即時の即ち遅れのないマイクロ命令制御
信号出力を要求する如きFU10120の動作のための
第2のクロック・サイクルの開始時において、FU10
120に対して使用可能となる。
【0763】最後に、mCS24910のBDOは、第
2のクロック・サイクルの開始時と同時にマイクロ命令
制御出力を要求しない如きFU10120の動作に対し
て与えられる。図249に示されるように、mCS24
910のBDOは、バッファされた復号レジスタ(BD
R)24924の入力に対して接続されている。mCS
24910のBDOからのマイクロ命令ワード出力ビッ
トは、対応するアドレスがmCS24910のアドレス
入力に対して与えられるクロック・サイクルの間BDR
24924の入力側に対して与えられる。mCS249
10のBDO出力は、このクロック・サイクルの終りに
おいてBDR24924に対してロードされる。BDR
24924の出力は、バッファされた復号ロジック(B
DL)24926の入力に対して接続される。BDL2
4926はBDR24924の復号出力に対する論理ゲ
ートからなる。これにより、BDL24926は、第2
のクロック・サイクルの開始後のある遅れた時点でRU
10120に対して復号されたマイクロ命令制御出力を
与える。BDL24926からのマイクロ命令制御出力
はこれにより、DDR24922のマイクロ命令制御出
力の発生から時間的に遅らされるが、BDR24924
が復号されたマイクロ命令ワード・ビットではないマイ
クロ命令ワード・ビットを記憶するため、BDR249
24はDDR24922よりも比率的に少ないビットを
記憶することを要求される。
2のクロック・サイクルの開始時と同時にマイクロ命令
制御出力を要求しない如きFU10120の動作に対し
て与えられる。図249に示されるように、mCS24
910のBDOは、バッファされた復号レジスタ(BD
R)24924の入力に対して接続されている。mCS
24910のBDOからのマイクロ命令ワード出力ビッ
トは、対応するアドレスがmCS24910のアドレス
入力に対して与えられるクロック・サイクルの間BDR
24924の入力側に対して与えられる。mCS249
10のBDO出力は、このクロック・サイクルの終りに
おいてBDR24924に対してロードされる。BDR
24924の出力は、バッファされた復号ロジック(B
DL)24926の入力に対して接続される。BDL2
4926はBDR24924の復号出力に対する論理ゲ
ートからなる。これにより、BDL24926は、第2
のクロック・サイクルの開始後のある遅れた時点でRU
10120に対して復号されたマイクロ命令制御出力を
与える。BDL24926からのマイクロ命令制御出力
はこれにより、DDR24922のマイクロ命令制御出
力の発生から時間的に遅らされるが、BDR24924
が復号されたマイクロ命令ワード・ビットではないマイ
クロ命令ワード・ビットを記憶するため、BDR249
24はDDR24922よりも比率的に少ないビットを
記憶することを要求される。
【0764】最後に、図249に示すように、DDR2
4922およびBDR24924の出力は、マイクロ命
令ワード・パリティ検出器(mWPC)24928の入
力側と接続される。mWPC24928は、DDR24
922およびBDR24924の出力のパリティを検査
するための論理ゲートからなっている。DDR2492
2およびBDR24924のいずれかの出力のパリティ
における障害は、mCS24910からのマイクロ命令
出力における可能性のあるエラーを表示する。このよう
なエラーがmWPC24928により検出される時、m
WPC24928は対応するマイクロ命令ワード・パリ
ティ・エラー(mWPE)を生成する。
4922およびBDR24924の出力は、マイクロ命
令ワード・パリティ検出器(mWPC)24928の入
力側と接続される。mWPC24928は、DDR24
922およびBDR24924の出力のパリティを検査
するための論理ゲートからなっている。DDR2492
2およびBDR24924のいずれかの出力のパリティ
における障害は、mCS24910からのマイクロ命令
出力における可能性のあるエラーを表示する。このよう
なエラーがmWPC24928により検出される時、m
WPC24928は対応するマイクロ命令ワード・パリ
ティ・エラー(mWPE)を生成する。
【0765】d.d.CS10110の内部機構制御装
置 SR10362と関連しているのは、GRF10354
のスタック機構領域は、CS10110の内部機構番号
作用と主として関連する2つのCS10110の制御構
造である。これらの機械制御ブロックと呼ばれる第1の
ものは、JP10114のマイクロプログラムのその時
の実行環境、即ちJP10114のマイクロ命令シーケ
ンスを記述する。機械制御ブロックは、MCW1 20
290およびMCW0 20292に駐在する2つの情
報ワードからなる。これらの機械制御ワードは、JP1
0114のその時のマイクロプログラムの実行に必要な
全ての制御状態情報を含む。第2の制御構造は、前述の
如くSR10362の構造と並行するRCWS1035
8の一部である。MIS10368またはMOS103
70における各レジスタ・フレームは、最上位の(その
時の)レジスタ・フレームを例外として、これとRCW
S10358に駐在する戻し制御ワード(RCW)と関
連させている。RCWは、SR10362またはMOS
10370のレジスタ・フレームがプッシュされる時、
即ち新たなその時のレジスタ・フレームの形成のためM
IS10368またはMOS10370に対して移動さ
れる時に生成される。その時のRCWはCS10110
の本実施態様には存在しない。
置 SR10362と関連しているのは、GRF10354
のスタック機構領域は、CS10110の内部機構番号
作用と主として関連する2つのCS10110の制御構
造である。これらの機械制御ブロックと呼ばれる第1の
ものは、JP10114のマイクロプログラムのその時
の実行環境、即ちJP10114のマイクロ命令シーケ
ンスを記述する。機械制御ブロックは、MCW1 20
290およびMCW0 20292に駐在する2つの情
報ワードからなる。これらの機械制御ワードは、JP1
0114のその時のマイクロプログラムの実行に必要な
全ての制御状態情報を含む。第2の制御構造は、前述の
如くSR10362の構造と並行するRCWS1035
8の一部である。MIS10368またはMOS103
70における各レジスタ・フレームは、最上位の(その
時の)レジスタ・フレームを例外として、これとRCW
S10358に駐在する戻し制御ワード(RCW)と関
連させている。RCWは、SR10362またはMOS
10370のレジスタ・フレームがプッシュされる時、
即ち新たなその時のレジスタ・フレームの形成のためM
IS10368またはMOS10370に対して移動さ
れる時に生成される。その時のRCWはCS10110
の本実施態様には存在しない。
【0766】以下において、RCWS10358につい
て最初に説明し、機械制御ブロックがこれに続く。
て最初に説明し、機械制御ブロックがこれに続く。
【0767】a.a.a.戻し制御ワード・スタック1
0358(図251) 図251においては、RCWS10358の略図が示さ
れる。前述の如く、RCWS10358のRCWは、も
し前記シーケンスの実行が遮断されるならば、あるマイ
クロ命令シーケンスの実行を再開もしくは継続するため
必要な情報を含む。あるマイクロ命令シーケンスの実行
は、前述の如くCS10110のある事象のサービスの
要件の故に、あるいはもしある分岐またはケース操作に
おける如く、別のマイクロ命令シーケンスの実行のため
呼出されたならば、遮断することができる。
0358(図251) 図251においては、RCWS10358の略図が示さ
れる。前述の如く、RCWS10358のRCWは、も
し前記シーケンスの実行が遮断されるならば、あるマイ
クロ命令シーケンスの実行を再開もしくは継続するため
必要な情報を含む。あるマイクロ命令シーケンスの実行
は、前述の如くCS10110のある事象のサービスの
要件の故に、あるいはもしある分岐またはケース操作に
おける如く、別のマイクロ命令シーケンスの実行のため
呼出されたならば、遮断することができる。
【0768】図251に示すように、各RCWは、例え
ば32ビットの情報を保有することができる。RCWに
含まれるビット16乃至31は、前述の如く遮断された
マイクロ命令シーケンスのその時のマイクロ命令アドレ
スの記憶と主として関連する。ビット16乃至31はマ
イクロ命令シーケンスの戻りアドレスを含む。前述の如
く、戻りアドレスは、その実行が遮断されたマイクロ命
令シーケンスの内その時実行中のマイクロ命令のアドレ
スである。JP10114がある事象のサービス、即ち
呼出されたマイクロ命令シーケンスの実行から戻る時、
戻りアドレスが、このマイクロ命令シーケンスの実行の
再開のための次のマイクロ命令アドレスとして、RCW
S10358からSITTNAS20286に対して、
またCSADRバス20204を経てFUSITT11
012に対して与えられる。あるRCWのビット16
は、戻りアドレス・フィールドにより照合される特定の
マイクロ命令がある特定のSOPの最初のマイクロ命令
であるかどうかを示す状態ビットを保有する。即ち、1
つのRCWのビット16はCS10110の状態FMを
記憶する。
ば32ビットの情報を保有することができる。RCWに
含まれるビット16乃至31は、前述の如く遮断された
マイクロ命令シーケンスのその時のマイクロ命令アドレ
スの記憶と主として関連する。ビット16乃至31はマ
イクロ命令シーケンスの戻りアドレスを含む。前述の如
く、戻りアドレスは、その実行が遮断されたマイクロ命
令シーケンスの内その時実行中のマイクロ命令のアドレ
スである。JP10114がある事象のサービス、即ち
呼出されたマイクロ命令シーケンスの実行から戻る時、
戻りアドレスが、このマイクロ命令シーケンスの実行の
再開のための次のマイクロ命令アドレスとして、RCW
S10358からSITTNAS20286に対して、
またCSADRバス20204を経てFUSITT11
012に対して与えられる。あるRCWのビット16
は、戻りアドレス・フィールドにより照合される特定の
マイクロ命令がある特定のSOPの最初のマイクロ命令
であるかどうかを示す状態ビットを保有する。即ち、1
つのRCWのビット16はCS10110の状態FMを
記憶する。
【0769】あるRCWに含まれるビット8乃至15
は、JP10114のその時の条件コードおよび継続中
の割込み要求に関する情報を含む。特に、ビット8は、
前述の如くある特定のテスト条件が満たされたかどうか
を表示する条件コード・ビットを保有する。前述の如
く、RCWのビット8はこれによりJP10114がパ
ス可能な手段であり、1つのマイクロ命令シーケンスか
らあるRCWに含まれる別のビット9乃至15に対する
特定のテストの結果はその時継続中の割込みに関する情
報を含む。これらの割込みは、一般にEVENT202
84に関連して前に論述した。特に、RCWのビット9
は違法のEU10122のタスク指名割込み要求の継続
状態を含み、RCWのビット10は名前追跡トラップ要
求の継続状態を含み、RCWのビット11はストア・バ
ック割込み要求の継続状態を含み、RCWのビット12
はメモリー反復割込み要求の継続状態を含み、RCWの
ビット13はSOP追跡トラップ要求の継続状態を含
み、RCWのビット14はマイクロ追跡トラップ要求の
継続状態を含み、RCWのビット15はマイクロ区切り
点トラップ要求の継続状態を含む。継続中の割込みに関
する情報を含むCS10110の機構の使用を必要とす
る割込み取扱いマイクロ命令シーケンスは、一般に前記
情報を保管してこれを記憶しなければならない。この保
管および再記憶操作は、RCWS10358のビット9
乃至15の使用によって達成される。割込み取扱いマイ
クロ命令シーケンスに対するエントリと同時に、これら
のビット・フラッグは、前記マイクロ命令シーケンスに
対するエントリの時点において未済であった割込みを表
示するようにセットされる。これらのビットは戻り操作
と同時に割込み要求を開始するため使用されるため、継
続する割込みは戻し操作と同時にビット9乃至15の適
当なビットをリセットすることにより打消すことができ
る。この能力は、前に述べたマイクロ命令の追跡トラッ
プの構成に使用することができる。
は、JP10114のその時の条件コードおよび継続中
の割込み要求に関する情報を含む。特に、ビット8は、
前述の如くある特定のテスト条件が満たされたかどうか
を表示する条件コード・ビットを保有する。前述の如
く、RCWのビット8はこれによりJP10114がパ
ス可能な手段であり、1つのマイクロ命令シーケンスか
らあるRCWに含まれる別のビット9乃至15に対する
特定のテストの結果はその時継続中の割込みに関する情
報を含む。これらの割込みは、一般にEVENT202
84に関連して前に論述した。特に、RCWのビット9
は違法のEU10122のタスク指名割込み要求の継続
状態を含み、RCWのビット10は名前追跡トラップ要
求の継続状態を含み、RCWのビット11はストア・バ
ック割込み要求の継続状態を含み、RCWのビット12
はメモリー反復割込み要求の継続状態を含み、RCWの
ビット13はSOP追跡トラップ要求の継続状態を含
み、RCWのビット14はマイクロ追跡トラップ要求の
継続状態を含み、RCWのビット15はマイクロ区切り
点トラップ要求の継続状態を含む。継続中の割込みに関
する情報を含むCS10110の機構の使用を必要とす
る割込み取扱いマイクロ命令シーケンスは、一般に前記
情報を保管してこれを記憶しなければならない。この保
管および再記憶操作は、RCWS10358のビット9
乃至15の使用によって達成される。割込み取扱いマイ
クロ命令シーケンスに対するエントリと同時に、これら
のビット・フラッグは、前記マイクロ命令シーケンスに
対するエントリの時点において未済であった割込みを表
示するようにセットされる。これらのビットは戻り操作
と同時に割込み要求を開始するため使用されるため、継
続する割込みは戻し操作と同時にビット9乃至15の適
当なビットをリセットすることにより打消すことができ
る。この能力は、前に述べたマイクロ命令の追跡トラッ
プの構成に使用することができる。
【0770】図251に示すように、RCWのビット0
乃至7はCS10110の本実施例においては使用され
ない。RCWのビット0乃至7はCS10110の本実
施例においては構成されないが、将来の使用のため留保
されている。
乃至7はCS10110の本実施例においては使用され
ない。RCWのビット0乃至7はCS10110の本実
施例においては構成されないが、将来の使用のため留保
されている。
【0771】前述の如く、RCWはJPDバス1014
2からRCWS10358に関して書込みまたは読出し
が可能である。このため、必要に応じて、RCWS10
358の内容を最初に書込み、あるいはRCWS103
58からMEM10112へ読込み、然る後必要に応じ
てCS10110におけるプロセスのスワッピングのた
め復元させることができる。
2からRCWS10358に関して書込みまたは読出し
が可能である。このため、必要に応じて、RCWS10
358の内容を最初に書込み、あるいはRCWS103
58からMEM10112へ読込み、然る後必要に応じ
てCS10110におけるプロセスのスワッピングのた
め復元させることができる。
【0772】b.b.b.機械制御ブロック(図25
2) 前述の如く、FUCTL20214の機械制御ブロック
は、機械制御ワード1(MCW1)および機械制御ワー
ド0(MCW0)からなっている。MCW1およびMC
W0は、夫々レジスタMCW1 20290およびMC
W0 20292に駐在する。MCW1およびMCW0
は、FUCTL20214のその時のマイクロプログラ
ムのその時の実行環境、即ちJP10114によりその
時実行中のマイクロ命令シーケンスについて記述する。
2) 前述の如く、FUCTL20214の機械制御ブロック
は、機械制御ワード1(MCW1)および機械制御ワー
ド0(MCW0)からなっている。MCW1およびMC
W0は、夫々レジスタMCW1 20290およびMC
W0 20292に駐在する。MCW1およびMCW0
は、FUCTL20214のその時のマイクロプログラ
ムのその時の実行環境、即ちJP10114によりその
時実行中のマイクロ命令シーケンスについて記述する。
【0773】図252においては、MCW0およびMC
W1の略図が示される。同図に示すように、MCW0お
よびMCW1は各々、例えばその時のマイクロプログラ
ムの実行環境に関する32ビットの情報を含むことがで
きる。
W1の略図が示される。同図に示すように、MCW0お
よびMCW1は各々、例えばその時のマイクロプログラ
ムの実行環境に関する32ビットの情報を含むことがで
きる。
【0774】MCW0について説明すると、MCW0は
6つの実行環境サブフィールドを含む。ビット0乃至3
は、加速されたマイクロスタック(MIS)10368
のその時のフレームに対するポインタであるスタック・
カウンタの最上位(TOSCNT)サブフィールドのを
含む。ビット4乃至7は、加速されたMIS10368
の前のフレーム、即ちTOSCNTサブフレームにより
指示されたものより先行するMIS10368のフレー
ムに対するポインタであるスタック1カウンタの最上位
(TOS−1CNT)を構成する。TOS1CNTサブ
フィールドは、最初にMIS10368のフレーム0に
セットされる。ビット8乃至11は、加速されたMIS
10368の最下フレームに対するポインタであるスタ
ック・カウンタの最下位(BOSCNT)を構成する。
BOSCNTサブフィールドはMIS10368のフレ
ーム1を指示するように最初にセットされる。MCW0
のTOSCNT、TOS−1CNT、およびBOSCN
Tの各サブフィールドは、フレームがMIS10368
とSS10336間に転送される時マイクロプログラム
の制御下において読出し、書込み増分および減分するこ
とができる。
6つの実行環境サブフィールドを含む。ビット0乃至3
は、加速されたマイクロスタック(MIS)10368
のその時のフレームに対するポインタであるスタック・
カウンタの最上位(TOSCNT)サブフィールドのを
含む。ビット4乃至7は、加速されたMIS10368
の前のフレーム、即ちTOSCNTサブフレームにより
指示されたものより先行するMIS10368のフレー
ムに対するポインタであるスタック1カウンタの最上位
(TOS−1CNT)を構成する。TOS1CNTサブ
フィールドは、最初にMIS10368のフレーム0に
セットされる。ビット8乃至11は、加速されたMIS
10368の最下フレームに対するポインタであるスタ
ック・カウンタの最下位(BOSCNT)を構成する。
BOSCNTサブフィールドはMIS10368のフレ
ーム1を指示するように最初にセットされる。MCW0
のTOSCNT、TOS−1CNT、およびBOSCN
Tの各サブフィールドは、フレームがMIS10368
とSS10336間に転送される時マイクロプログラム
の制御下において読出し、書込み増分および減分するこ
とができる。
【0775】MCW0のビット17乃至23およびビッ
ト24乃至31は夫々ページ番号レジスタ(PNRE
G)および循環カウンタ(REPCTR)を構成し、こ
れらは共にその時FUSITT11012に書込まれつ
つあるマイクロ命令と指示するマイクロ命令アドレスを
構成する。
ト24乃至31は夫々ページ番号レジスタ(PNRE
G)および循環カウンタ(REPCTR)を構成し、こ
れらは共にその時FUSITT11012に書込まれつ
つあるマイクロ命令と指示するマイクロ命令アドレスを
構成する。
【0776】MCW0のビット12乃至15は、以下に
おいて更にTIMER20298に関して説明するエッ
グ・タイマー(EGGT)サブフィールドを構成する。
MCW0のビット16は、CS10110の本実施例に
おいては使用されない。
おいて更にTIMER20298に関して説明するエッ
グ・タイマー(EGGT)サブフィールドを構成する。
MCW0のビット16は、CS10110の本実施例に
おいては使用されない。
【0777】MCW1については、MCW1は4つのサ
ブフィールドからなる。MCW1を構成する32ビット
の内、ビット0〜15およびビット24〜25はCS1
0110の本実施例においては使用されない。ビット1
6は、JP10114におけるあるテスト条件の結果を
示す条件コード(CC)からなる。前述の如く、CCサ
ブフィールドは自動的にRCWS10358に保管され
復元される。
ブフィールドからなる。MCW1を構成する32ビット
の内、ビット0〜15およびビット24〜25はCS1
0110の本実施例においては使用されない。ビット1
6は、JP10114におけるあるテスト条件の結果を
示す条件コード(CC)からなる。前述の如く、CCサ
ブフィールドは自動的にRCWS10358に保管され
復元される。
【0778】RCW1のビット17乃至19は割込みマ
スタ(IM)サブフィールドを構成する。IMサブフィ
ールドの3つのビットは、割込み不能JP10114の
マイクロ命令制御操作条件の階層を示すため使用され
る。即ち、これに記憶された3ビット・コードが、さも
なければ割込み不能なJP10114の3つの操作状態
間の割込みのための相対的割込みを表示する。ビット2
0乃至23は、割込み要求を示す割込み要求(IR)サ
ブフィールドを構成する。これらの割込み要求は、既に
述べたように、例えばエッグ・タイマー桁あふれ、間隔
タイマー桁あふれ、または重要でないメモリー・エラー
を含む。最後に、ビット26乃至31は、前述の追跡ト
ラップ事象のどれがその時使用可能状態になるかを示す
追跡トラップ使用可能(TTR)サブフィールドを構成
する。これらの使用可能状態は、名前追跡可能、論理的
再追跡可能、理論的書込み追跡可能、SOP追跡可能、
マイクロ命令使用可能、マイクロ命令区切り点使用可能
の各々を含む。
スタ(IM)サブフィールドを構成する。IMサブフィ
ールドの3つのビットは、割込み不能JP10114の
マイクロ命令制御操作条件の階層を示すため使用され
る。即ち、これに記憶された3ビット・コードが、さも
なければ割込み不能なJP10114の3つの操作状態
間の割込みのための相対的割込みを表示する。ビット2
0乃至23は、割込み要求を示す割込み要求(IR)サ
ブフィールドを構成する。これらの割込み要求は、既に
述べたように、例えばエッグ・タイマー桁あふれ、間隔
タイマー桁あふれ、または重要でないメモリー・エラー
を含む。最後に、ビット26乃至31は、前述の追跡ト
ラップ事象のどれがその時使用可能状態になるかを示す
追跡トラップ使用可能(TTR)サブフィールドを構成
する。これらの使用可能状態は、名前追跡可能、論理的
再追跡可能、理論的書込み追跡可能、SOP追跡可能、
マイクロ命令使用可能、マイクロ命令区切り点使用可能
の各々を含む。
【0779】MCW0およびMCW1については、あた
かもMCW1 20290およびMCW0 20292
である個々の離散状態の存在を含むレジスタに駐在する
かの如く前に述べた。CS10110の本実施例におい
ては、MCW1 20290およびMCW0 2029
2は一体化された離散レジスタ構造としては存在しない
が、その代りFUCTL20214の他の部分における
物理的存在を有する個々のレジスタからなる。MCW1
20290およびMCW0 20292、およびMC
W1およびMCW0については、これに含まれる情報の
構造を更に明瞭に示すように説明された。更に、この試
みは、その時のJP10114の実行状態がJPDバス
10142により制御され監視することができる方法を
示すため用いられた。図202に示すように、MCW1
20290およびMCW0 20292はJPDバス
10142と結合された出力を有し、これによりJP1
0114のその時の実行状態がFUCTL20214か
ら読出されることを可能にする。前述の如く、個々のビ
ット即ちMCW0およびMCW1のサブフィールドは、
FUSITT11012により与えられるマイクロ命令
の制御によって書込むことができる。CS10110の
物理的な本実施例においては、TOSCNT,TOS−
1CNTおよびBOSCNTなるサブフィールドを含む
MCW020292のこれらのレジスタがRAG202
88に駐在する。サブフィールドEGGTを含むMCW
0 20292のこれらの部分はTIMER20296
に駐在する。MCW0 20292のレジスタはPNR
EGを含み、REPCTRサブフィールドは物理的RE
PCTR20280およびPNREG20282からな
っている。MCW1 20290においては、CCサブ
フィールドはFUCTL20214のテスト回路の出力
として存在する。サブフィールドIM,IRおよびTT
Eを含むこれらのMCW1 20290のレジスタはE
VENT20284内に駐在する。
かもMCW1 20290およびMCW0 20292
である個々の離散状態の存在を含むレジスタに駐在する
かの如く前に述べた。CS10110の本実施例におい
ては、MCW1 20290およびMCW0 2029
2は一体化された離散レジスタ構造としては存在しない
が、その代りFUCTL20214の他の部分における
物理的存在を有する個々のレジスタからなる。MCW1
20290およびMCW0 20292、およびMC
W1およびMCW0については、これに含まれる情報の
構造を更に明瞭に示すように説明された。更に、この試
みは、その時のJP10114の実行状態がJPDバス
10142により制御され監視することができる方法を
示すため用いられた。図202に示すように、MCW1
20290およびMCW0 20292はJPDバス
10142と結合された出力を有し、これによりJP1
0114のその時の実行状態がFUCTL20214か
ら読出されることを可能にする。前述の如く、個々のビ
ット即ちMCW0およびMCW1のサブフィールドは、
FUSITT11012により与えられるマイクロ命令
の制御によって書込むことができる。CS10110の
物理的な本実施例においては、TOSCNT,TOS−
1CNTおよびBOSCNTなるサブフィールドを含む
MCW020292のこれらのレジスタがRAG202
88に駐在する。サブフィールドEGGTを含むMCW
0 20292のこれらの部分はTIMER20296
に駐在する。MCW0 20292のレジスタはPNR
EGを含み、REPCTRサブフィールドは物理的RE
PCTR20280およびPNREG20282からな
っている。MCW1 20290においては、CCサブ
フィールドはFUCTL20214のテスト回路の出力
として存在する。サブフィールドIM,IRおよびTT
Eを含むこれらのMCW1 20290のレジスタはE
VENT20284内に駐在する。
【0780】RCWS10358のMCW1 2029
0およびMCW0 20292に関してFUCTL20
214の構造および作用について説明したが、次にFU
CTL20214のRAG20288について説明する
ことにする。
0およびMCW0 20292に関してFUCTL20
214の構造および作用について説明したが、次にFU
CTL20214のRAG20288について説明する
ことにする。
【0781】c.c.c.レジスタ・アドレス・ゼネレ
ータ20228(図253) 図253においては、RAG20288の部分ブロック
図は、GRF10354、BIAS20246およびR
CWS10358の略図と共に示される。前述の如く、
JP10114のレジスタおよびスタック機構は汎用レ
ジスタ・ファイル(GRF)10354、BIAS20
246およびRCWS10358を含む。GRF103
54は、CS10110の本実施例において、レジスタ
の256ワードX92ビット幅を有する。GRF103
54は水平方向に分割されて大域レジスタ(GR)10
360およびスタック・レジスタ(SR)10362を
提供し、その各々はGRF10354の256個のレジ
スタの内128個を含む。GRF10354即ちGR1
0360およびSR10362の双方は、AONGRF
20232、OFFGRF20234およびLENGR
F20236として示される3つの垂直方向の部分に分
割されている。AONGRF20232、OFFGRF
20234およびLENGRF20236は、夫々28
ビット、32ビットおよび32ビットの幅である。GR
10360は、各々が1つの92ビット・ワードを含む
128の個々のレジスタのアレイとして使用される。S
R10362は、各フレームが8つのレジスタを含み、
各レジスタが1つの92ビット幅のワードを含む16個
のレジスタ・フレームのアレイとして構成され使用され
る。SR10362のフレームの内8つは、マイクロス
タック(MIS)10362として使用され、SR10
362フレームの残る8つはモニター・スタック(MO
S)10370として使用される。アドレス指定のオブ
ジェクトとしてだけ、以下において述べる如く、GR1
0360はSR10362と同じ方向で構造され、即ち
各々8つのレジスタの16フレームとして構成されるも
のと見做される。
ータ20228(図253) 図253においては、RAG20288の部分ブロック
図は、GRF10354、BIAS20246およびR
CWS10358の略図と共に示される。前述の如く、
JP10114のレジスタおよびスタック機構は汎用レ
ジスタ・ファイル(GRF)10354、BIAS20
246およびRCWS10358を含む。GRF103
54は、CS10110の本実施例において、レジスタ
の256ワードX92ビット幅を有する。GRF103
54は水平方向に分割されて大域レジスタ(GR)10
360およびスタック・レジスタ(SR)10362を
提供し、その各々はGRF10354の256個のレジ
スタの内128個を含む。GRF10354即ちGR1
0360およびSR10362の双方は、AONGRF
20232、OFFGRF20234およびLENGR
F20236として示される3つの垂直方向の部分に分
割されている。AONGRF20232、OFFGRF
20234およびLENGRF20236は、夫々28
ビット、32ビットおよび32ビットの幅である。GR
10360は、各々が1つの92ビット・ワードを含む
128の個々のレジスタのアレイとして使用される。S
R10362は、各フレームが8つのレジスタを含み、
各レジスタが1つの92ビット幅のワードを含む16個
のレジスタ・フレームのアレイとして構成され使用され
る。SR10362のフレームの内8つは、マイクロス
タック(MIS)10362として使用され、SR10
362フレームの残る8つはモニター・スタック(MO
S)10370として使用される。アドレス指定のオブ
ジェクトとしてだけ、以下において述べる如く、GR1
0360はSR10362と同じ方向で構造され、即ち
各々8つのレジスタの16フレームとして構成されるも
のと見做される。
【0782】前述の如く、BIAS20246はその内
部の1つのレジスタ・アレイである。BIAS2024
6は、128構成の6ビット幅のレジスタ即ちワードを
含み、GRF10354のSR10362と並列に作動
し、かつこれと並列にアドレス指定される。前述の如
く、RCWS10358は16構成のレジスタ即ちワー
ドのアレイであり、各々レジスタは1つの32ビットR
CWを保有する。RCW10358は、各々の1035
8のレジスタが8つのレジスタのSR10362のフレ
ームと対応する各RCWS10358の各レジスタを有
するSR10362と並列に構成されこれと並列に作用
する。以下において述べるように、RCWS10358
はSR10362のフレームと並列にアドレス指定され
る。
部の1つのレジスタ・アレイである。BIAS2024
6は、128構成の6ビット幅のレジスタ即ちワードを
含み、GRF10354のSR10362と並列に作動
し、かつこれと並列にアドレス指定される。前述の如
く、RCWS10358は16構成のレジスタ即ちワー
ドのアレイであり、各々レジスタは1つの32ビットR
CWを保有する。RCW10358は、各々の1035
8のレジスタが8つのレジスタのSR10362のフレ
ームと対応する各RCWS10358の各レジスタを有
するSR10362と並列に構成されこれと並列に作用
する。以下において述べるように、RCWS10358
はSR10362のフレームと並列にアドレス指定され
る。
【0783】GRF10354のレジスタを夫々読出し
または書込みされるべく選択するためのソースおよび行
先レジスタ・アドレス(SDAR)はRAG20288
によって与えられる。前述の如く、BIAS20246
はGRF10354のSR10362の部分と並列に、
即ちSR10362と並列に作用しかつこれと並列にア
ドレス指定される。BIAS20246のレジスタは、
これによりSR10362のアドレス入力に対して並列
に接続され、GR10360と同時にアドレス指定され
る。RCWS10358はまた、SR10362と並列
に作用しかつこれと並列にアドレス指定される。RCW
S10358のレジスタのアドレス入力はこれにより、
SR10362のレジスタのアドレス入力と並列に接続
されている。
または書込みされるべく選択するためのソースおよび行
先レジスタ・アドレス(SDAR)はRAG20288
によって与えられる。前述の如く、BIAS20246
はGRF10354のSR10362の部分と並列に、
即ちSR10362と並列に作用しかつこれと並列にア
ドレス指定される。BIAS20246のレジスタは、
これによりSR10362のアドレス入力に対して並列
に接続され、GR10360と同時にアドレス指定され
る。RCWS10358はまた、SR10362と並列
に作用しかつこれと並列にアドレス指定される。RCW
S10358のレジスタのアドレス入力はこれにより、
SR10362のレジスタのアドレス入力と並列に接続
されている。
【0784】GRF10354に対する、またBIAS
20246およびRCWS10358に対するRAG2
0288のアドレス入力は、内部のレジスタをソース・
レジスタ即ちデータを与えるレジスタまたは行先レジス
タ即ちデータを受取るレジスタとして選択することがで
きる。RAG20288のアドレス出力はその出力ソー
スおよび行先レジスタ・アドレス(SDADR)として
示される。RAG20288のSDADR出力は、GR
F10354、BIAS20246およびRCWS10
358を構成するレジスタのアドレス入力と接続され
る。前述の如く、SR10362は1フレーム当り8つ
のレジスタの16フレームとして構成され、RCWS1
0358は1フレーム当り1つのレジスタの対応する1
6のフレームとして構成される。GRF10354およ
びBIAS20246は単一レジスタとして使用される
が、アドレス指定のためには、1フレーム当り8つのレ
ジスタの16フレームからなるものと見做される。RA
G20288の各SDADR出力は、ソース・レジスタ
または行先レジスタの如何を問わず、アドレス指定され
たレジスタがGR10360内に駐在するかあるいはS
R10362、BIAS20246およびRCWS10
358内に駐在するかを表示する8ビット・ワードであ
る。4つの次の優先順位のビットは、GR10360
内、またはSR10362、BIAS20246および
RCWS10358内の16フレームの内の1つを選択
するためのフレーム選択フィールドを構成する。3つの
最下位ビットは、フレーム選択フィールドにより選択さ
れるフレーム内のある特定のレジスタを選択するレジス
タ選択フィールドを構成する。
20246およびRCWS10358に対するRAG2
0288のアドレス入力は、内部のレジスタをソース・
レジスタ即ちデータを与えるレジスタまたは行先レジス
タ即ちデータを受取るレジスタとして選択することがで
きる。RAG20288のアドレス出力はその出力ソー
スおよび行先レジスタ・アドレス(SDADR)として
示される。RAG20288のSDADR出力は、GR
F10354、BIAS20246およびRCWS10
358を構成するレジスタのアドレス入力と接続され
る。前述の如く、SR10362は1フレーム当り8つ
のレジスタの16フレームとして構成され、RCWS1
0358は1フレーム当り1つのレジスタの対応する1
6のフレームとして構成される。GRF10354およ
びBIAS20246は単一レジスタとして使用される
が、アドレス指定のためには、1フレーム当り8つのレ
ジスタの16フレームからなるものと見做される。RA
G20288の各SDADR出力は、ソース・レジスタ
または行先レジスタの如何を問わず、アドレス指定され
たレジスタがGR10360内に駐在するかあるいはS
R10362、BIAS20246およびRCWS10
358内に駐在するかを表示する8ビット・ワードであ
る。4つの次の優先順位のビットは、GR10360
内、またはSR10362、BIAS20246および
RCWS10358内の16フレームの内の1つを選択
するためのフレーム選択フィールドを構成する。3つの
最下位ビットは、フレーム選択フィールドにより選択さ
れるフレーム内のある特定のレジスタを選択するレジス
タ選択フィールドを構成する。
【0785】1つのシステムのクロック・サイクル内で
は、RAG20288のSDADR出力はあるソース・
レジスタを選択することができ、データはこのソース・
レジスタから読出すことができ、あるいはSDADR出
力は行先レジスタを選択でき、またデータはこの行先レ
ジスタ内に書込むことができる。前述の如く、JP10
114の各マイクロ命令は、実行のための最短でシステ
ムの2クロック・サイクル、即ち状態M0における最初
のクロック・サイクルおよび状態M1における第2のク
ロック・サイクルを必要とする。従って、1つのマイク
ロ命令において、ソース・レジスタが選択され、データ
がこのソース・レジスタから読出され、行先レジスタが
選択され、データはその行先レジスタに対して書込まれ
る。しかし、ある操作は実行のため1つ以上のマイクロ
命令を要求する。例えば、データがある特定のレジスタ
から読出されて、修正され、このレジスタに再び書込ま
れる読出し−修正−書込み操作は、実行のため2つ以上
のマイクロ命令を必要とする。
は、RAG20288のSDADR出力はあるソース・
レジスタを選択することができ、データはこのソース・
レジスタから読出すことができ、あるいはSDADR出
力は行先レジスタを選択でき、またデータはこの行先レ
ジスタ内に書込むことができる。前述の如く、JP10
114の各マイクロ命令は、実行のための最短でシステ
ムの2クロック・サイクル、即ち状態M0における最初
のクロック・サイクルおよび状態M1における第2のク
ロック・サイクルを必要とする。従って、1つのマイク
ロ命令において、ソース・レジスタが選択され、データ
がこのソース・レジスタから読出され、行先レジスタが
選択され、データはその行先レジスタに対して書込まれ
る。しかし、ある操作は実行のため1つ以上のマイクロ
命令を要求する。例えば、データがある特定のレジスタ
から読出されて、修正され、このレジスタに再び書込ま
れる読出し−修正−書込み操作は、実行のため2つ以上
のマイクロ命令を必要とする。
【0786】最初にRAG20288の構造について述
べれば、RAG20288はMISPR10356を含
む。MISPR10356はスタック・カウンタの最上
位(TOSCNT)25310と、スタック・カウンタ
(TOS−1CNT)25312と、スタック・カウン
タの最下位(BOSCNT)25314とを含む。TO
SCNT25310、TOS−1CNT25312およ
びBOSCNT25314の内容は夫々、SR1036
2のその時の、前のおよび最下位のフレーム、即ちMI
S10368に対するポインタである。以下において述
べるように、これらのポインタもまたMOS10370
のアドレス指定のため使用される。TOSCNT253
10、TOS−1CNT25312およびBOSCNT
25314は各々、例えばSN74S163からなる4
ビットの2進数カウンタである。
べれば、RAG20288はMISPR10356を含
む。MISPR10356はスタック・カウンタの最上
位(TOSCNT)25310と、スタック・カウンタ
(TOS−1CNT)25312と、スタック・カウン
タの最下位(BOSCNT)25314とを含む。TO
SCNT25310、TOS−1CNT25312およ
びBOSCNT25314の内容は夫々、SR1036
2のその時の、前のおよび最下位のフレーム、即ちMI
S10368に対するポインタである。以下において述
べるように、これらのポインタもまたMOS10370
のアドレス指定のため使用される。TOSCNT253
10、TOS−1CNT25312およびBOSCNT
25314は各々、例えばSN74S163からなる4
ビットの2進数カウンタである。
【0787】BOSCNT25314に対するTOSC
NT25310のデータ入力はJPDバス10142と
接続されている。BOSCNT25314に対するTO
SCNT25310の制御入力は、FUSITT110
12のマイクロ命令制御出力と接続されている。BOS
CNT25314に対するTOSCNT25310のデ
ータ出力は、ソース・レジスタ・アドレス・マルチプレ
クサ(SRCADR)25316のデータ入力は、およ
び行先レジスタ・アドレス・マルチプレクサ(DSTA
DR)25318のデータ入力と接続されている。TO
SCNT25310およびBOSCNT25314のデ
ータ出力はスタック事象モニター・ロジック(SEM)
25320の入力側と接続されている。
NT25310のデータ入力はJPDバス10142と
接続されている。BOSCNT25314に対するTO
SCNT25310の制御入力は、FUSITT110
12のマイクロ命令制御出力と接続されている。BOS
CNT25314に対するTOSCNT25310のデ
ータ出力は、ソース・レジスタ・アドレス・マルチプレ
クサ(SRCADR)25316のデータ入力は、およ
び行先レジスタ・アドレス・マルチプレクサ(DSTA
DR)25318のデータ入力と接続されている。TO
SCNT25310およびBOSCNT25314のデ
ータ出力はスタック事象モニター・ロジック(SEM)
25320の入力側と接続されている。
【0788】ソースおよび行先フレーム・アドレスは、
以下において更に説明するように、夫々SRCADR2
5316およびDSTADR25318により選択され
る。TOSCNT25310およびBOSCNT253
14からのデータ入力に加えて、SRCADR2531
6およびDSTADR25318のデータ入力は、FU
SITT11012からのマイクロ命令ワードCONE
XTのサブフィールド出力と接続されている。SRCA
DR25316およびDSTADR25318の制御入
力は、夫々FUSITT11012からのマイクロ命令
ワードRSおよびRDサブフィールド出力と接続されて
いる。SRCADR25316のフレーム・アドレス・
フィールド(SRCFADR)出力およびDSTADR
25318の行先フレーム・アドレス・フィールド(D
STFADR)出力は、ソースおよび行先レジスタのア
ドレス・マルチプレクサ(SDADRMUX)2532
2の入力側と接続されている。SRCFADRおよびD
STFADRは、夫々ソースおよび行先レジスタに対す
るRAG20288のSDADR出力であるフレーム選
択フィールドを構成している。SRCADR25316
およびDSTADR25318のSRCFADRおよび
DSTFADR出力に加えて、SDADRMUX253
22はFUSITT11012のマイクロ命令出力から
マイクロ命令ワードSRCおよびDSTサブフィールド
入力を受取る。前述の如く、SRCフィールドは、ある
ソース・レジスタ、即ちSRCFADRにより選択され
たあるフレーム内のソース・レジスタを示す3ビット数
である。DSTは同様に、DSTFADRにより示され
るフレーム内のある行先レジスタを選択する3ビット数
である。SDADRMUX25322に対するSRCサ
ブフィールド入力はSRCADR25316と連結され
て、夫々前述の如くSDADRMUX25322のソー
ス・レジスタのSDADR出力のレジスタおよびフィー
ルド・フィールドを構成する。同様に、DSTサブフィ
ールドはDSTADR25318のDSTFDADR出
力と連結されて、夫々SDADRMUX25322の行
先レジスタのSDADR出力のレジスタおよびフレーム
のサブフィールドを構成する。SDADRMUX253
22の行先レジスタのSDADR出力の対応するソース
を生成するためSDADRMUX25322に対するソ
ースと行先レジスタ・アドレス入力間の選択は、SDA
DRMUX25322の制御入力と接続されたマイクロ
命令制御入力(説明を明瞭にするため示さない)により
制御される。RDWS25324は、MEM10112
からの読出しの間、マイクロ命令ワードからのPROM
復号MDフィールドであり、行先レジスタ・アドレスの
レジスタ選択フィールドを提供し、フレーム選択フィー
ルドとしてポインタの1つを選択する。
以下において更に説明するように、夫々SRCADR2
5316およびDSTADR25318により選択され
る。TOSCNT25310およびBOSCNT253
14からのデータ入力に加えて、SRCADR2531
6およびDSTADR25318のデータ入力は、FU
SITT11012からのマイクロ命令ワードCONE
XTのサブフィールド出力と接続されている。SRCA
DR25316およびDSTADR25318の制御入
力は、夫々FUSITT11012からのマイクロ命令
ワードRSおよびRDサブフィールド出力と接続されて
いる。SRCADR25316のフレーム・アドレス・
フィールド(SRCFADR)出力およびDSTADR
25318の行先フレーム・アドレス・フィールド(D
STFADR)出力は、ソースおよび行先レジスタのア
ドレス・マルチプレクサ(SDADRMUX)2532
2の入力側と接続されている。SRCFADRおよびD
STFADRは、夫々ソースおよび行先レジスタに対す
るRAG20288のSDADR出力であるフレーム選
択フィールドを構成している。SRCADR25316
およびDSTADR25318のSRCFADRおよび
DSTFADR出力に加えて、SDADRMUX253
22はFUSITT11012のマイクロ命令出力から
マイクロ命令ワードSRCおよびDSTサブフィールド
入力を受取る。前述の如く、SRCフィールドは、ある
ソース・レジスタ、即ちSRCFADRにより選択され
たあるフレーム内のソース・レジスタを示す3ビット数
である。DSTは同様に、DSTFADRにより示され
るフレーム内のある行先レジスタを選択する3ビット数
である。SDADRMUX25322に対するSRCサ
ブフィールド入力はSRCADR25316と連結され
て、夫々前述の如くSDADRMUX25322のソー
ス・レジスタのSDADR出力のレジスタおよびフィー
ルド・フィールドを構成する。同様に、DSTサブフィ
ールドはDSTADR25318のDSTFDADR出
力と連結されて、夫々SDADRMUX25322の行
先レジスタのSDADR出力のレジスタおよびフレーム
のサブフィールドを構成する。SDADRMUX253
22の行先レジスタのSDADR出力の対応するソース
を生成するためSDADRMUX25322に対するソ
ースと行先レジスタ・アドレス入力間の選択は、SDA
DRMUX25322の制御入力と接続されたマイクロ
命令制御入力(説明を明瞭にするため示さない)により
制御される。RDWS25324は、MEM10112
からの読出しの間、マイクロ命令ワードからのPROM
復号MDフィールドであり、行先レジスタ・アドレスの
レジスタ選択フィールドを提供し、フレーム選択フィー
ルドとしてポインタの1つを選択する。
【0789】SEM25320の事象出力は、前述の如
くEVENT20284のある入力と接続される。以下
において更に説明するように、SRCADR2531
6、DSTADR25318およびSDADRMUX2
5322はマルチプレクサとして作用し、例えばSN7
4S153から構成される。
くEVENT20284のある入力と接続される。以下
において更に説明するように、SRCADR2531
6、DSTADR25318およびSDADRMUX2
5322はマルチプレクサとして作用し、例えばSN7
4S153から構成される。
【0790】GRF10354、BIAS20246お
よびRCWS10358の構造および作用について説明
したが、行先レジスタ・アドレス出力SDADRのソー
スを生成するためのRAG20288の構造および作用
については以下において説明する。SR10362およ
びRCWS10358を構成するJP10114のスタ
ック機構のアドレス指定操作について最初に説明し、G
R10360およびBIAS20246のアドレス指定
操作の説明がこれに続く。
よびRCWS10358の構造および作用について説明
したが、行先レジスタ・アドレス出力SDADRのソー
スを生成するためのRAG20288の構造および作用
については以下において説明する。SR10362およ
びRCWS10358を構成するJP10114のスタ
ック機構のアドレス指定操作について最初に説明し、G
R10360およびBIAS20246のアドレス指定
操作の説明がこれに続く。
【0791】GRF10354、RCWS10358お
よびBIAS20246のSR10362部分は、夫々
TOSCNT25310、TOS−1CNT25312
およびBOSCNT25314に含まれるその時の、前
のおよび最下位のフレーム・ポインタによってアドレス
指定される。その時の、前のおよび最下位のポインタは
SDADRMUX25322のフレーム選択フィールド
を構成する。前述の如く、BOSCNT25314に対
するTOSCNT25310のその時の、前のおよび最
下位のポインタ出力は、SRCADR25316および
DSTADR25318の入力として与えられる。SR
CADR25316の制御入力に対するマイクロ命令ワ
ードRSのサブフィールドはSRCADR25316の
その時の、または前の、または最下位のポインタ入力の
いずれかを選択して、SRCADR25316のSRC
FADR出力を選択し、即ちソース・レジスタ・アドレ
スのフレーム選択フィールドとなる。同様に、DSTA
DR25318の制御入力に対するマイクロ命令ワード
のRDサブフィールドは、DSTADR25318のそ
の時の、または前の、または最下位のポインタ入力のい
ずれかを同時に選択して、DSTADR25318のD
STFADR出力、即ち行先レジスタのアドレスのフレ
ーム選択フィールドを構成する。前述の如く、出力SR
CFADRおよびDSTFADRはSDADRMUX2
5322に対する入力として与えられる。SDADRM
UX25322に対するマイクロ命令ワードSRCおよ
びDSTのサブフィールド入力は、夫々、SRCFAD
RおよびDSTFADRにより規定されるソースおよび
行先フレーム内のソースおよび行先レジスタを同時に決
定する。この時マイクロ命令の制御下で作用するSDA
DRMUX25322はSRCFADRおよびSRCの
いずれかを選択してSR10362に対するSDADR
出力を構成し、あるいは行先レジスタ・アドレスを規定
するSDADR出力としてDSTFADRおよびDST
を選択する。SRCADR25316、DSTADR2
5318およびSDADRMUX25322のマイクロ
命令制御により、CS10110のマイクロプログラム
はSR10362内のソース・フレームおよびレジスタ
を選択し、SR10362内の異なる可能な行先フレー
ムおよびレジスタを同時に規定する。GR10360、
SR10362、BIAS20246およびRCWS1
0358におけるソース・フレームとレジスタおよび行
先フレームとレジスタの可能な全ての組合せが有効であ
る。
よびBIAS20246のSR10362部分は、夫々
TOSCNT25310、TOS−1CNT25312
およびBOSCNT25314に含まれるその時の、前
のおよび最下位のフレーム・ポインタによってアドレス
指定される。その時の、前のおよび最下位のポインタは
SDADRMUX25322のフレーム選択フィールド
を構成する。前述の如く、BOSCNT25314に対
するTOSCNT25310のその時の、前のおよび最
下位のポインタ出力は、SRCADR25316および
DSTADR25318の入力として与えられる。SR
CADR25316の制御入力に対するマイクロ命令ワ
ードRSのサブフィールドはSRCADR25316の
その時の、または前の、または最下位のポインタ入力の
いずれかを選択して、SRCADR25316のSRC
FADR出力を選択し、即ちソース・レジスタ・アドレ
スのフレーム選択フィールドとなる。同様に、DSTA
DR25318の制御入力に対するマイクロ命令ワード
のRDサブフィールドは、DSTADR25318のそ
の時の、または前の、または最下位のポインタ入力のい
ずれかを同時に選択して、DSTADR25318のD
STFADR出力、即ち行先レジスタのアドレスのフレ
ーム選択フィールドを構成する。前述の如く、出力SR
CFADRおよびDSTFADRはSDADRMUX2
5322に対する入力として与えられる。SDADRM
UX25322に対するマイクロ命令ワードSRCおよ
びDSTのサブフィールド入力は、夫々、SRCFAD
RおよびDSTFADRにより規定されるソースおよび
行先フレーム内のソースおよび行先レジスタを同時に決
定する。この時マイクロ命令の制御下で作用するSDA
DRMUX25322はSRCFADRおよびSRCの
いずれかを選択してSR10362に対するSDADR
出力を構成し、あるいは行先レジスタ・アドレスを規定
するSDADR出力としてDSTFADRおよびDST
を選択する。SRCADR25316、DSTADR2
5318およびSDADRMUX25322のマイクロ
命令制御により、CS10110のマイクロプログラム
はSR10362内のソース・フレームおよびレジスタ
を選択し、SR10362内の異なる可能な行先フレー
ムおよびレジスタを同時に規定する。GR10360、
SR10362、BIAS20246およびRCWS1
0358におけるソース・フレームとレジスタおよび行
先フレームとレジスタの可能な全ての組合せが有効であ
る。
【0792】GRF10354およびRCWS1035
8のSR10362の部分のアドレス指定におけるSR
CADR25316、DSTADR25318およびS
DADRMUX25322の制御は、部分的にその時の
CS10110の状態によって制御される。前に述べた
関連するCS10110の作用状態は状態M1および状
態RWである。CS10110が状態RWまたは状態M
1のいずれでもない時、SR10362はSRCADR
25316およびマイクロ命令ワードSRCのサブフィ
ールドを介してアドレス指定され、CS10110が状
態RWおよびM1のいずれでもない時SR10362お
よびRCWS10358はソース・レジスタのアドレス
が与えられる。CS10110が状態M1に入る時、S
R10362およびRCWS10358はマイクロ命令
ワードのDSTサブフィールドによってDSTADR2
5318を介してアドレス指定される。即ち、SR10
362およびRCWS10358は、状態M1の間行先
レジスタ・アドレスが与えられる。同様に、CS101
10が状態RWにおいて作用する時、即ちデータがME
M10112から読出されてR10362またはRCW
S10358に対して書込まれつつある時、行先レジス
タ・アドレスが与えられる。しかし、この場合、行先レ
ジスタのアドレスの下位の3ビット、即ちレジスタ選択
フィールドがRDS25324によって与えられ、これ
がマイクロ命令ワードのサブフィールドMD(記憶の行
先)を復号する。RDWS25324はまた、DSTA
DR25318がMISPR10356からのその時
の、または前の、または最下位のポインタの1つを選択
して行先レジスタ・アドレスのフレーム選択フィールド
を構成する制御入力を提供する。
8のSR10362の部分のアドレス指定におけるSR
CADR25316、DSTADR25318およびS
DADRMUX25322の制御は、部分的にその時の
CS10110の状態によって制御される。前に述べた
関連するCS10110の作用状態は状態M1および状
態RWである。CS10110が状態RWまたは状態M
1のいずれでもない時、SR10362はSRCADR
25316およびマイクロ命令ワードSRCのサブフィ
ールドを介してアドレス指定され、CS10110が状
態RWおよびM1のいずれでもない時SR10362お
よびRCWS10358はソース・レジスタのアドレス
が与えられる。CS10110が状態M1に入る時、S
R10362およびRCWS10358はマイクロ命令
ワードのDSTサブフィールドによってDSTADR2
5318を介してアドレス指定される。即ち、SR10
362およびRCWS10358は、状態M1の間行先
レジスタ・アドレスが与えられる。同様に、CS101
10が状態RWにおいて作用する時、即ちデータがME
M10112から読出されてR10362またはRCW
S10358に対して書込まれつつある時、行先レジス
タ・アドレスが与えられる。しかし、この場合、行先レ
ジスタのアドレスの下位の3ビット、即ちレジスタ選択
フィールドがRDS25324によって与えられ、これ
がマイクロ命令ワードのサブフィールドMD(記憶の行
先)を復号する。RDWS25324はまた、DSTA
DR25318がMISPR10356からのその時
の、または前の、または最下位のポインタの1つを選択
して行先レジスタ・アドレスのフレーム選択フィールド
を構成する制御入力を提供する。
【0793】前述の如く、ソースおよび行先レジスタ・
アドレスのフレーム選択フィールドはTOSCNT25
310、TOS−1CNT25312およびBOSCN
T25314から与えられる。前述の如く、ソースおよ
び行先レジスタのアドレスの最上位ビットは、GR10
360またはSR10362、BIAS20246およ
びRCWS10358のどれがアドレス指定されつつあ
るかに従って論理値1または論理値0に強制される。T
OSCNT25310乃至BOSCNT25314の内
容、即ちポインタがその時の、前のおよび最下位のもの
であるかは、FUSITT11012のマイクロ命令制
御出力によって制御される。JP10114が夫々呼出
しおよび戻しを実施する時スタックがMIS10368
に関して「プッシュ」されるかあるいは「ポップ」され
るため、その時および前のポインタは変化する。同様
に、その時の、前のおよび最下位のポインタは、CS1
0110のスタック機構に関して前に述べたように、M
IS10368のフレームがMIS10368とMEM
10112間に転送される時、増分または減分される。
アドレスのフレーム選択フィールドはTOSCNT25
310、TOS−1CNT25312およびBOSCN
T25314から与えられる。前述の如く、ソースおよ
び行先レジスタのアドレスの最上位ビットは、GR10
360またはSR10362、BIAS20246およ
びRCWS10358のどれがアドレス指定されつつあ
るかに従って論理値1または論理値0に強制される。T
OSCNT25310乃至BOSCNT25314の内
容、即ちポインタがその時の、前のおよび最下位のもの
であるかは、FUSITT11012のマイクロ命令制
御出力によって制御される。JP10114が夫々呼出
しおよび戻しを実施する時スタックがMIS10368
に関して「プッシュ」されるかあるいは「ポップ」され
るため、その時および前のポインタは変化する。同様
に、その時の、前のおよび最下位のポインタは、CS1
0110のスタック機構に関して前に述べたように、M
IS10368のフレームがMIS10368とMEM
10112間に転送される時、増分または減分される。
【0794】最初にその時および前のポインタの操作に
ついて述べると、TOSCNT25310およびTOS
−1CNT25312におけるその時および前のポイン
タが最初にセットされて、夫々JPDバス10142か
らロードされることによってMIS10368のフレー
ム1および0を指示する。最初の条件はCS10110
のその時の作用状態に依存する。TOSCNT2531
0およびTOS−1CNT25312は、状態M1また
は状態ABを操作するCS10110の最後のシステム
・クロック・サイクルの間カウントすることを可能にさ
れる。第2の状態は、JP10114が呼出しまたは戻
しのどちらを実行するかに依存する。もしその時のマイ
クロ命令がJP10114が呼出しまたは戻しを実行す
べきであるならば、あるいはもし状態ABからの出口が
示唆された読出し操作である時もしCS10110が付
勢状態であるならば、TOSCNT25310およびT
OS−1CNT25312はカウントを行なうことを許
容される。状態ABからの出口である呼出しおよび示唆
された呼出しの双方はTOSCNT25310およびT
OS−1CNT25312を増分させる。戻し操作は、
TOSCNT25310およびTOS−1CNT253
12を減分させることになる。
ついて述べると、TOSCNT25310およびTOS
−1CNT25312におけるその時および前のポイン
タが最初にセットされて、夫々JPDバス10142か
らロードされることによってMIS10368のフレー
ム1および0を指示する。最初の条件はCS10110
のその時の作用状態に依存する。TOSCNT2531
0およびTOS−1CNT25312は、状態M1また
は状態ABを操作するCS10110の最後のシステム
・クロック・サイクルの間カウントすることを可能にさ
れる。第2の状態は、JP10114が呼出しまたは戻
しのどちらを実行するかに依存する。もしその時のマイ
クロ命令がJP10114が呼出しまたは戻しを実行す
べきであるならば、あるいはもし状態ABからの出口が
示唆された読出し操作である時もしCS10110が付
勢状態であるならば、TOSCNT25310およびT
OS−1CNT25312はカウントを行なうことを許
容される。状態ABからの出口である呼出しおよび示唆
された呼出しの双方はTOSCNT25310およびT
OS−1CNT25312を増分させる。戻し操作は、
TOSCNT25310およびTOS−1CNT253
12を減分させることになる。
【0795】BOSCNT25314について説明する
ならば、最下位フレーム・ポインタは最初にJPDバス
10142からロードされてMIS10368のフレー
ム1を指示する。再び、BOSCNT25314の増分
または減分は、CS10110の作用状態および実施さ
れる操作に依存する。BOSCNT25314は状態M
1から出ると同時にカウントすることを許容される。更
に、その時のマイクロ命令ワードのDEVCMDサブフ
ィールドは、BOSCNT25314が増分あるいは減
分されるべきことを表示しなければならない。BOSC
NT25314は、マイクロ命令ワードのDEVCMD
サブフィールドにより示されるように状態M1から出る
と同時に増分または減分される。
ならば、最下位フレーム・ポインタは最初にJPDバス
10142からロードされてMIS10368のフレー
ム1を指示する。再び、BOSCNT25314の増分
または減分は、CS10110の作用状態および実施さ
れる操作に依存する。BOSCNT25314は状態M
1から出ると同時にカウントすることを許容される。更
に、その時のマイクロ命令ワードのDEVCMDサブフ
ィールドは、BOSCNT25314が増分あるいは減
分されるべきことを表示しなければならない。BOSC
NT25314は、マイクロ命令ワードのDEVCMD
サブフィールドにより示されるように状態M1から出る
と同時に増分または減分される。
【0796】SEM25320は、TOSCNT253
10およびBOSCNT25314に駐在するその時の
および最下位ポインタの相対値を監視して、MIS10
368およびMOS10370の操作を制御するオブジ
ェクトのためEVENT20284に対して出力を与え
る。SEM25320は、入力としてその時のおよび最
下位のポインタを受取る例えば93S427なる読出し
専用メモリーからなる。SEM25320はTOSCN
T25310およびBOSCNT25314の動作中
に、従ってMIS10368およびMOS10370の
動作中に生じる3つの事象を検出する。第1に、SEM
25320はMIS10368のスタック桁あふれを検
出する。もしその時のフレーム・ポインタの値が最下位
フレーム・ポインタのその時の値よりも8つ以上大きけ
れば、この事象が表示される。第2に、SEM2532
0はMIS10368が唯1つの情報のフレームしか持
たない時を検出する。もしその時のフレーム・ポインタ
の値が最下位フレーム・ポインタの値と等しければ、こ
の事象が表示される。この場合MIS10368の前の
フレームはMEM10112に存在し、前のスタック・
フレームに対する照合が行なわれる前にMEM1011
2から取出されねばならない。第3に、SEM2532
0はMIS10368およびMOS10370が充満状
態である時を検出する。この事象は、もしその時のフレ
ーム・ポインタが最下位フレーム・ポインタのその時の
値よりも16大きい場合に表示される。この事象が生じ
る時、MIS10368またはMOS10370に対す
るフレームの書込みを更に試みればMOS10370の
スタック桁あふれを惹起する結果となる。EVENT2
0284は、前述の如く、適当な事象を処理するマイク
ロ命令シーケンスの実行を開始することによって、SE
M25320により示される如き事象に対して応答す
る。MIS10368およびMOS10370は同じ方
法でアドレス指定される。即ちその時の、前のおよび最
下位フレーム・ポインタおよびあるマイクロ命令ワード
のサブフィールドの使用によることを留意すべきであ
る。MIS10368およびMOS10370の操作間
の主な差異は、スタックの桁あふれが処理される方法に
ある。MIS10368の場合には、スタック・フレー
ムは、MIS10368が有効に終りのないスタックで
あるようにMIS10368およびMEM10112間
に転送される。しかし、MOS10370はCS101
10の本実施例においては最大8つのスタック・フレー
ムを含み、その結果一時に8つ以上の事象がMOS10
370にプッシュすることはできない。
10およびBOSCNT25314に駐在するその時の
および最下位ポインタの相対値を監視して、MIS10
368およびMOS10370の操作を制御するオブジ
ェクトのためEVENT20284に対して出力を与え
る。SEM25320は、入力としてその時のおよび最
下位のポインタを受取る例えば93S427なる読出し
専用メモリーからなる。SEM25320はTOSCN
T25310およびBOSCNT25314の動作中
に、従ってMIS10368およびMOS10370の
動作中に生じる3つの事象を検出する。第1に、SEM
25320はMIS10368のスタック桁あふれを検
出する。もしその時のフレーム・ポインタの値が最下位
フレーム・ポインタのその時の値よりも8つ以上大きけ
れば、この事象が表示される。第2に、SEM2532
0はMIS10368が唯1つの情報のフレームしか持
たない時を検出する。もしその時のフレーム・ポインタ
の値が最下位フレーム・ポインタの値と等しければ、こ
の事象が表示される。この場合MIS10368の前の
フレームはMEM10112に存在し、前のスタック・
フレームに対する照合が行なわれる前にMEM1011
2から取出されねばならない。第3に、SEM2532
0はMIS10368およびMOS10370が充満状
態である時を検出する。この事象は、もしその時のフレ
ーム・ポインタが最下位フレーム・ポインタのその時の
値よりも16大きい場合に表示される。この事象が生じ
る時、MIS10368またはMOS10370に対す
るフレームの書込みを更に試みればMOS10370の
スタック桁あふれを惹起する結果となる。EVENT2
0284は、前述の如く、適当な事象を処理するマイク
ロ命令シーケンスの実行を開始することによって、SE
M25320により示される如き事象に対して応答す
る。MIS10368およびMOS10370は同じ方
法でアドレス指定される。即ちその時の、前のおよび最
下位フレーム・ポインタおよびあるマイクロ命令ワード
のサブフィールドの使用によることを留意すべきであ
る。MIS10368およびMOS10370の操作間
の主な差異は、スタックの桁あふれが処理される方法に
ある。MIS10368の場合には、スタック・フレー
ムは、MIS10368が有効に終りのないスタックで
あるようにMIS10368およびMEM10112間
に転送される。しかし、MOS10370はCS101
10の本実施例においては最大8つのスタック・フレー
ムを含み、その結果一時に8つ以上の事象がMOS10
370にプッシュすることはできない。
【0797】GR10360はSR10362、BIA
S20246およびRCWS10358と類似の方法、
即ちSRCADR25316、DSTADR25318
およびSDADRMUX25322を介してアドレス指
定される。再び、ソースおよび行先レジスタ・アドレス
のレジスタ選択フィールドはマイクロ命令ワードSRC
およびDSTのサブフィールドによって与えられる。し
かし、ソースおよび行先レジスタのアドレスのフレーム
選択フィールドは、マイクロ命令ワードCONEXTサ
ブフィールドによって規定される。この場合、マイクロ
命令ワードRSおよびRDのサブフィールドは、ソース
および行先レジスタ・アドレスのフレーム選択フィール
ドがCONEXTサブフィールドにより与えられるべき
ことを規定する。従って、SRCADR25316およ
びDSTADR25318は、SDADRMUX253
22に対するSRCFADRおよびDSTFADR入力
としてCONEXTサブフィールドを提供する。
S20246およびRCWS10358と類似の方法、
即ちSRCADR25316、DSTADR25318
およびSDADRMUX25322を介してアドレス指
定される。再び、ソースおよび行先レジスタ・アドレス
のレジスタ選択フィールドはマイクロ命令ワードSRC
およびDSTのサブフィールドによって与えられる。し
かし、ソースおよび行先レジスタのアドレスのフレーム
選択フィールドは、マイクロ命令ワードCONEXTサ
ブフィールドによって規定される。この場合、マイクロ
命令ワードRSおよびRDのサブフィールドは、ソース
および行先レジスタ・アドレスのフレーム選択フィール
ドがCONEXTサブフィールドにより与えられるべき
ことを規定する。従って、SRCADR25316およ
びDSTADR25318は、SDADRMUX253
22に対するSRCFADRおよびDSTFADR入力
としてCONEXTサブフィールドを提供する。
【0798】RAG20288の構造および作用につい
て述べたが、次にTIMER20296について説明す
る。
て述べたが、次にTIMER20296について説明す
る。
【0799】図254においては、TIMER2029
6の部分ブロック図が示される。前述の如く、TIME
R20296は、間隔タイマー(INTTMR)254
10と、エッグ・タイマー(EGGTMR)25412
と、エッグ・タイマークロック使用可能ゲート(EGG
ENB)25416とを含んでいる。
6の部分ブロック図が示される。前述の如く、TIME
R20296は、間隔タイマー(INTTMR)254
10と、エッグ・タイマー(EGGTMR)25412
と、エッグ・タイマークロック使用可能ゲート(EGG
ENB)25416とを含んでいる。
【0800】d.d.d.タイマー20296(図25
4) 最初にINTTMR25410について述べるならば、
INTTMR25410の主な機能は、図106に関し
てCS10110のUIDアドレス指定操作の説明にお
いて前に説明した如くCS10110のアーキテクチャ
時間を維持することである。その際説明したように、C
S10110の全てのシステムにより生成される全ての
UIDアドレスの一部はオブジェクトの連続番号(OS
N)フィールドである。OSNフィールドはある特定の
CS10110の作用またはこれにおいて使用すること
により生成され各オブジェクトを一義的に規定する。あ
るオブジェクトのUIDのOSNフィールドは、ある特
定のCS10110においては、その全てのシステムに
共通の任意の階層的な始動時間に関する前記オブジェク
トの生成の時間を決定することにより生成される。この
時間は、MEM10112のある記憶空間内即ちアドレ
ス場所に保持されるが、INTTMR25410の作用
により測定される。
4) 最初にINTTMR25410について述べるならば、
INTTMR25410の主な機能は、図106に関し
てCS10110のUIDアドレス指定操作の説明にお
いて前に説明した如くCS10110のアーキテクチャ
時間を維持することである。その際説明したように、C
S10110の全てのシステムにより生成される全ての
UIDアドレスの一部はオブジェクトの連続番号(OS
N)フィールドである。OSNフィールドはある特定の
CS10110の作用またはこれにおいて使用すること
により生成され各オブジェクトを一義的に規定する。あ
るオブジェクトのUIDのOSNフィールドは、ある特
定のCS10110においては、その全てのシステムに
共通の任意の階層的な始動時間に関する前記オブジェク
トの生成の時間を決定することにより生成される。この
時間は、MEM10112のある記憶空間内即ちアドレ
ス場所に保持されるが、INTTMR25410の作用
により測定される。
【0801】INTTMR25410は、110ナノ秒
クロック(110NSCLK)入力によりクロックされ
た28ビットのカウンタであり、1MHz のクロック使用
可能入力(CLK1MHZENB)によりカウントする
ことを許容される。INTTMR25410はこれによ
り、1マイクロ秒を測定するため1MHz の速度でクロッ
ク可能である。このため、INTTMR25410によ
り測定可能な最大時間間隔は268.435秒である。
クロック(110NSCLK)入力によりクロックされ
た28ビットのカウンタであり、1MHz のクロック使用
可能入力(CLK1MHZENB)によりカウントする
ことを許容される。INTTMR25410はこれによ
り、1マイクロ秒を測定するため1MHz の速度でクロッ
ク可能である。このため、INTTMR25410によ
り測定可能な最大時間間隔は268.435秒である。
【0802】図254において示したように、INTT
MR25410はJPDバス10142からロードされ
かつこれに読込むことができる。通常の作用において
は、ある特定のCS10110に対するアーキテクチャ
時間を含むMEM10112の場所は、この特定のCS
10110の始動時におけるその時のアーキテクチャ時
間がロードされる。INTTMR25410は同時に全
て零がロードされる。然る後、INTTMR25410
は1マイクロ秒の間隔でクロックされる。INTTMR
25410が周期的に桁あふれする時、MEM1011
2に記憶されたアーキテクチャ時間は然るべく更新され
る。従って、如何なる時にも、その時のアーキテクチャ
時間が、INTTMR25410からのアーキテクチャ
時間の最後の経過以来の経過した間隔でMEM1011
2に記憶された前に更新されたアーキテクチャ時からア
ーキテクチャ時間を読取ることによって1マイクロ秒の
増分まで判定可能である。CS10110の障害の場所
には、MEM10112およびINTTMR25410
のアーキテクチャ時間は、最後のアーキテクチャ時間の
更新以来の経過間隔を読取ることによりMEM1011
2に保管することができる。通常のCS10110の作
用が再開される時、INTTMR25410はその時の
アーキテクチャ時間を反映するカウンタで再ロードする
ことができる。図254に示すように、INTTMR2
5410がDP10118から与えられたロード可能入
力(LDE)により使用可能状態にされる時、INTT
MR25410はJPDバス10142からロードされ
る。
MR25410はJPDバス10142からロードされ
かつこれに読込むことができる。通常の作用において
は、ある特定のCS10110に対するアーキテクチャ
時間を含むMEM10112の場所は、この特定のCS
10110の始動時におけるその時のアーキテクチャ時
間がロードされる。INTTMR25410は同時に全
て零がロードされる。然る後、INTTMR25410
は1マイクロ秒の間隔でクロックされる。INTTMR
25410が周期的に桁あふれする時、MEM1011
2に記憶されたアーキテクチャ時間は然るべく更新され
る。従って、如何なる時にも、その時のアーキテクチャ
時間が、INTTMR25410からのアーキテクチャ
時間の最後の経過以来の経過した間隔でMEM1011
2に記憶された前に更新されたアーキテクチャ時からア
ーキテクチャ時間を読取ることによって1マイクロ秒の
増分まで判定可能である。CS10110の障害の場所
には、MEM10112およびINTTMR25410
のアーキテクチャ時間は、最後のアーキテクチャ時間の
更新以来の経過間隔を読取ることによりMEM1011
2に保管することができる。通常のCS10110の作
用が再開される時、INTTMR25410はその時の
アーキテクチャ時間を反映するカウンタで再ロードする
ことができる。図254に示すように、INTTMR2
5410がDP10118から与えられたロード可能入
力(LDE)により使用可能状態にされる時、INTT
MR25410はJPDバス10142からロードされ
る。
【0803】EGGTMR25412について述べれ
ば、あるCS10110の事象、特にEVENT202
84に関して前に述べた非同期事象はSOPの最初のマ
イクロ命令の状態M1の終了時にのみEVENT202
84によって受取られ、即ち確認される。あるCS10
110のマイクロ命令が長い実行時間を有する時、これ
らの非同期事象はサービスされる前に拡張された待ち時
間即ち待機をかけられる。EGGTMR25412は、
作用において、継続中の非同期事象の待ち時間を測定し
て、もし予め定めた最大待ち時間が経過したならば、E
VENT20284に対して出力を生じる。
ば、あるCS10110の事象、特にEVENT202
84に関して前に述べた非同期事象はSOPの最初のマ
イクロ命令の状態M1の終了時にのみEVENT202
84によって受取られ、即ち確認される。あるCS10
110のマイクロ命令が長い実行時間を有する時、これ
らの非同期事象はサービスされる前に拡張された待ち時
間即ち待機をかけられる。EGGTMR25412は、
作用において、継続中の非同期事象の待ち時間を測定し
て、もし予め定めた最大待ち時間が経過したならば、E
VENT20284に対して出力を生じる。
【0804】図254に示すように、EGGTMR25
412は110ナノ秒のクロック入力(110NSCL
K)によりクロックされる。最初に、EGGTMR25
412は、CS10110により実行される各SOPの
最初のマイクロ命令の状態M1の終りにおいて、または
あるマイクロ命令ワードのDEVCMDサブフィールド
によりその旨特に指令される時、ロード入力(LDZR
O)により零に設定される。EGGTMR25412
は、EGGENB25416からのクロック可能(CL
KENB)入力により使用可能状態にされる時増分され
る。EGGTMR25412が増分されるため必要な2
つの条件がある。第1の条件は非同期事象の発生であ
り、これはEVENT20284からのEGGENB2
5416に対する入力ASYEVNTによって表示され
る。第2の条件は、EGGTMR25412の最後の増
分から16マイクロ秒以上が経過していることである。
この間隔は、図254に示されるように、EGGENB
25416の入力と接続されたINTTMR25410
の第4のビットからの出力により測定される。EGGT
MR25412は4ビットのカウンタであり、またもし
あるSOP以後少なくとも16マイクロ秒が経過したな
らば、前記SOPNO開始後256マイクロ秒間桁あふ
れを生じてEVENT20284に対して出力OVRF
LWを生成し、これによりEGGTMR25412は非
同期事象に対して256マイクロ秒の最大サービス待ち
時間を確保する。
412は110ナノ秒のクロック入力(110NSCL
K)によりクロックされる。最初に、EGGTMR25
412は、CS10110により実行される各SOPの
最初のマイクロ命令の状態M1の終りにおいて、または
あるマイクロ命令ワードのDEVCMDサブフィールド
によりその旨特に指令される時、ロード入力(LDZR
O)により零に設定される。EGGTMR25412
は、EGGENB25416からのクロック可能(CL
KENB)入力により使用可能状態にされる時増分され
る。EGGTMR25412が増分されるため必要な2
つの条件がある。第1の条件は非同期事象の発生であ
り、これはEVENT20284からのEGGENB2
5416に対する入力ASYEVNTによって表示され
る。第2の条件は、EGGTMR25412の最後の増
分から16マイクロ秒以上が経過していることである。
この間隔は、図254に示されるように、EGGENB
25416の入力と接続されたINTTMR25410
の第4のビットからの出力により測定される。EGGT
MR25412は4ビットのカウンタであり、またもし
あるSOP以後少なくとも16マイクロ秒が経過したな
らば、前記SOPNO開始後256マイクロ秒間桁あふ
れを生じてEVENT20284に対して出力OVRF
LWを生成し、これによりEGGTMR25412は非
同期事象に対して256マイクロ秒の最大サービス待ち
時間を確保する。
【0805】e.e.e.実行装置10122に対する
取出し装置10120のインターフェース 最後に、前述の如く、EU10122に対するFU10
120のインターフェースは主として、EUDPをEU
10122のEUSITTおよびFUINT20298
に対して与えるためのEUDISバス20206からな
る。EUSDT20266およびEUDISバス202
06の作用については前に述べたが、EU10122の
以下の説明において更に記述する。FUINT2029
8は、これらの事象のサービスが可能であるようにEU
10122から信号された諸条件に対して事象要求を生
成することと主として関連している。この点に関して、
FUINT20298は主として、EU10122から
事象要求を受取りかつ対応する出力をEVENT202
84に対して与えるゲートからなっている。FUINT
20298により実施される別のインターフェース機能
は、EU10122により生成されてEU10122に
対して与えられ、EU10122からFU10120に
対して読込まれるEU10122の結果が受取られるこ
とを保有する「転送完了」信号の生成である。この転送
完了信号は、EU10122の以下の説明において述べ
るEU10122の結果のレジスタがEU10122に
よるこれ以上の使用のため利用可能であることをEU1
0122に対して表示する。この転送完了信号は、EU
10122からFU10120またはMEM10112
に対するデータの転送のためのマイクロ命令シーケンス
の一部としてFUSITT11012の出力により生成
される。
取出し装置10120のインターフェース 最後に、前述の如く、EU10122に対するFU10
120のインターフェースは主として、EUDPをEU
10122のEUSITTおよびFUINT20298
に対して与えるためのEUDISバス20206からな
る。EUSDT20266およびEUDISバス202
06の作用については前に述べたが、EU10122の
以下の説明において更に記述する。FUINT2029
8は、これらの事象のサービスが可能であるようにEU
10122から信号された諸条件に対して事象要求を生
成することと主として関連している。この点に関して、
FUINT20298は主として、EU10122から
事象要求を受取りかつ対応する出力をEVENT202
84に対して与えるゲートからなっている。FUINT
20298により実施される別のインターフェース機能
は、EU10122により生成されてEU10122に
対して与えられ、EU10122からFU10120に
対して読込まれるEU10122の結果が受取られるこ
とを保有する「転送完了」信号の生成である。この転送
完了信号は、EU10122の以下の説明において述べ
るEU10122の結果のレジスタがEU10122に
よるこれ以上の使用のため利用可能であることをEU1
0122に対して表示する。この転送完了信号は、EU
10122からFU10120またはMEM10112
に対するデータの転送のためのマイクロ命令シーケンス
の一部としてFUSITT11012の出力により生成
される。
【0806】DESP20210、MEMINT202
12およびFUCTL20214を含むFU10120
の構造および作用について説明したが、EU10122
の構造および作用について次に説明する。
12およびFUCTL20214を含むFU10120
の構造および作用について説明したが、EU10122
の構造および作用について次に説明する。
【0807】C.実行装置10122(図203,図2
55〜図268) 前述の如く、EU10122は、整数、パック10進数
およびアンパック10進数、および単精度および2倍精
度の浮動小数点数の算術演算の実行が可能である算術演
算処理装置である。EU10122の第1の機能は、あ
る算術演算からFU10120を解除させること、これ
によりCS10110の効率を向上させることである。
55〜図268) 前述の如く、EU10122は、整数、パック10進数
およびアンパック10進数、および単精度および2倍精
度の浮動小数点数の算術演算の実行が可能である算術演
算処理装置である。EU10122の第1の機能は、あ
る算術演算からFU10120を解除させること、これ
によりCS10110の効率を向上させることである。
【0808】MEM10112からEU10122への
オペランドの転送は、EU10122からFU1012
0またはMEM10112への算術演算結果の転送にお
ける如く、FU10120により制御される。更に、E
U10122の算術演算は、EUSDT20266によ
りEU10122に対して送信勧誘されるEU1012
2のタスク指名ポインタによりFU10120によって
開始される。EU10122のタスク指名ポインタは、
SINおよびCS10110の事象の処理において補佐
するあるEU10122の操作のため要求される両方の
算術演算を開始することができる。前述の如く、EU1
0122のタスク指名ポインタは、構成および作用にお
いてFUSITT11012と類似するEU10122
のEUSITTによりEU10122を制御するための
マイクロ命令のシーケンスに転送される。以下において
更に説明するように、EU10122はFU10120
からのEU10122のタスク指名ポインタのシーケン
スを受取ってこれを設定するための指令キューを含む。
更に、EU10122は、GRF10354と類似する
汎用レジスタ・ファイル・即ちスクラッチ・パッド・メ
モリーを含んでいる。EU10122の汎用レジスタ・
ファイルは、一部は、FU10120のSR10362
と類似するEU10122のスタック機構において使用
される。
オペランドの転送は、EU10122からFU1012
0またはMEM10112への算術演算結果の転送にお
ける如く、FU10120により制御される。更に、E
U10122の算術演算は、EUSDT20266によ
りEU10122に対して送信勧誘されるEU1012
2のタスク指名ポインタによりFU10120によって
開始される。EU10122のタスク指名ポインタは、
SINおよびCS10110の事象の処理において補佐
するあるEU10122の操作のため要求される両方の
算術演算を開始することができる。前述の如く、EU1
0122のタスク指名ポインタは、構成および作用にお
いてFUSITT11012と類似するEU10122
のEUSITTによりEU10122を制御するための
マイクロ命令のシーケンスに転送される。以下において
更に説明するように、EU10122はFU10120
からのEU10122のタスク指名ポインタのシーケン
スを受取ってこれを設定するための指令キューを含む。
更に、EU10122は、GRF10354と類似する
汎用レジスタ・ファイル・即ちスクラッチ・パッド・メ
モリーを含んでいる。EU10122の汎用レジスタ・
ファイルは、一部は、FU10120のSR10362
と類似するEU10122のスタック機構において使用
される。
【0809】図203においては、EU10122の部
分ブロック図が示されている。EU10122の一般的
な構造および作用については、図203に関して最初に
説明する。次に、EU10122の構造および作用につ
いて、必要に応じて提供される以降の図面の助けを借り
て更に詳細に説明することにする。
分ブロック図が示されている。EU10122の一般的
な構造および作用については、図203に関して最初に
説明する。次に、EU10122の構造および作用につ
いて、必要に応じて提供される以降の図面の助けを借り
て更に詳細に説明することにする。
【0810】図203に示すように、EU10122の
主な要素は、実行装置制御ロジック(EUCL)203
10と、実行装置IOバッファ(EUIO)20312
と、乗数ロジック(MULT)20314と、指数ロジ
ック(EXP)20316と、乗数制御ロジック(MU
LTCNTL)20318と、テスト兼インターフェー
ス・ロジック(TSTINT)20320とを含む。E
UCL20310はEUSDT20266から実行装置
タスク指名ポインタ(EUDP)を受取り、対応するマ
イクロ命令シーケンスを与えてEU10122の作用を
制御する。
主な要素は、実行装置制御ロジック(EUCL)203
10と、実行装置IOバッファ(EUIO)20312
と、乗数ロジック(MULT)20314と、指数ロジ
ック(EXP)20316と、乗数制御ロジック(MU
LTCNTL)20318と、テスト兼インターフェー
ス・ロジック(TSTINT)20320とを含む。E
UCL20310はEUSDT20266から実行装置
タスク指名ポインタ(EUDP)を受取り、対応するマ
イクロ命令シーケンスを与えてEU10122の作用を
制御する。
【0811】EUIO20312は、MEM10112
からオペランドまたはデータを受取り、これらオペラン
ドをEU10122により最も有効に使用されるあるフ
ォーマットに翻訳する。EUIO20312はEU10
122の操作の結果を受取り、これらの結果をMEM1
0112またはFU10120に対して戻されるべきフ
ォーマットに翻訳し、これらの結果をMEM10112
およびFU10120に対して与える。
からオペランドまたはデータを受取り、これらオペラン
ドをEU10122により最も有効に使用されるあるフ
ォーマットに翻訳する。EUIO20312はEU10
122の操作の結果を受取り、これらの結果をMEM1
0112またはFU10120に対して戻されるべきフ
ォーマットに翻訳し、これらの結果をMEM10112
およびFU10120に対して与える。
【0812】MULT20314およびEXP2031
6は、EU10122の諸操作の算術演算操作の実施の
ための算術演算装置である。特に、EXP20316
は、単精度および2倍精度の浮動小数点数演算の指数フ
ィールドに関する諸操作を実施する。MULT2031
4は、単精度および2倍精度の浮動小数点数演算の仮数
フィールドに関する算術演算操作、および整数およびパ
ック10進数の演算に関する算術演算操作を実施する。
MULTCNTL20318は、MULT20314お
よびEXP20316の演算、ならびに浮動小数点数演
算における仮数および指数の事前桁合せおよび正規化を
制御しかつこれを連係させる。最後に、TSTINT2
0320はEU10122の諸操作に関するあるテスト
操作を実施し、かつEU10122とFU10120間
のインターフェースである。
6は、EU10122の諸操作の算術演算操作の実施の
ための算術演算装置である。特に、EXP20316
は、単精度および2倍精度の浮動小数点数演算の指数フ
ィールドに関する諸操作を実施する。MULT2031
4は、単精度および2倍精度の浮動小数点数演算の仮数
フィールドに関する算術演算操作、および整数およびパ
ック10進数の演算に関する算術演算操作を実施する。
MULTCNTL20318は、MULT20314お
よびEXP20316の演算、ならびに浮動小数点数演
算における仮数および指数の事前桁合せおよび正規化を
制御しかつこれを連係させる。最後に、TSTINT2
0320はEU10122の諸操作に関するあるテスト
操作を実施し、かつEU10122とFU10120間
のインターフェースである。
【0813】a.EU10122の全体的構造 1.実行装置の入出力(I/O)装置20312 最初にEUIO20312について述べれば、EUIO
20312は、オペランド・バッファ(OPB)203
22と、最終結果出力マルチプレクサ(FROM)20
324と、指数出力マルチプレクサ(EXOM)203
26とを含む。OPB20322は夫々、MODバス1
0144およびJPDバス10142と接続された第1
と第2の入力を有する。OPB20322は、乗数入力
マルチプレクサ(MULTIM)20328とMULT
20314の第1の入力と接続された第1の出力を有す
る。OPB20322の第2の出力は、入力セレクタA
(INSELA)20330とEXP20316の指数
実行装置の汎用レジスタ・ファイル入力マルチプレクサ
(EXRM)20332の第1の入力と接続されてい
る。
20312は、オペランド・バッファ(OPB)203
22と、最終結果出力マルチプレクサ(FROM)20
324と、指数出力マルチプレクサ(EXOM)203
26とを含む。OPB20322は夫々、MODバス1
0144およびJPDバス10142と接続された第1
と第2の入力を有する。OPB20322は、乗数入力
マルチプレクサ(MULTIM)20328とMULT
20314の第1の入力と接続された第1の出力を有す
る。OPB20322の第2の出力は、入力セレクタA
(INSELA)20330とEXP20316の指数
実行装置の汎用レジスタ・ファイル入力マルチプレクサ
(EXRM)20332の第1の入力と接続されてい
る。
【0814】FROM20324はJPDバス1014
2と接続された出力を有する。FROM20324の第
1の入力は、汎用レジスタ・ファイル入力マルチプレク
サにおける乗数実行(MULTRM)20334とMU
LT20314の出力と接続されている。FROM20
324の第2の入力は、MULT20314の最終結果
レジスタ(RFR)20336の出力と接続されてい
る。EXOM20326はJPDバス10142と接続
された出力を有する。EXOM20326は、EXP2
0316の位取りレジスタ(SCALER)20338
の出力と接続された第1の入力である。EXOM203
26は、EUCL20310の次のアドレス・ゼネレー
タ(NAG)20340および共通のキュー(COM
Q)20342の出力と接続された第2および第3の入
力を有する。
2と接続された出力を有する。FROM20324の第
1の入力は、汎用レジスタ・ファイル入力マルチプレク
サにおける乗数実行(MULTRM)20334とMU
LT20314の出力と接続されている。FROM20
324の第2の入力は、MULT20314の最終結果
レジスタ(RFR)20336の出力と接続されてい
る。EXOM20326はJPDバス10142と接続
された出力を有する。EXOM20326は、EXP2
0316の位取りレジスタ(SCALER)20338
の出力と接続された第1の入力である。EXOM203
26は、EUCL20310の次のアドレス・ゼネレー
タ(NAG)20340および共通のキュー(COM
Q)20342の出力と接続された第2および第3の入
力を有する。
【0815】2.実行装置の制御ロジック20310 EUCL20310について説明すると、EUCL20
310は、NAG20340と、COMQ20342
と、実行装置S命令テーブル(EUSITT)2034
4と、マイクロ命令制御レジスタ兼復号ロジック(mC
RD)20346とを含む。COMQ20342は、E
USDT20266からSDPを受取るためEUDIS
バス20206と接続された入力を有する。前述の如
く、COMQ20342は、EXOM20326の第3
の入力と接続された第1の出力を有し、NAG2034
0の入力と接続された第2の出力を有する。前述の如
く、NAG20340はEXOM20326の第2の入
力と接続された第1の出力を有する。NAG20340
は、EUSITT20344の第1の入力と接続された
第2の出力を有する。前述の如く、EUSITT203
44はFUSITT11012と対応し、FU1012
0からのEU10122のタスク指名ポインタに応答し
てEU10122の作用を制御するためのマイクロ命令
のシーケンスを記憶する。EUSITT20344は、
JPDバス10142と接続された第2の入力を有し、
またmCRD20346の入力と接続された出力を有す
る。mCRD20346は、EUSITT20344に
より与えられるマイクロ命令を受取って復号するための
レジスタおよびロジックを含む。EUSITT2034
4からの入力に加え、mCRD20346は、EU10
122の全ての部分に対して復号されたマイクロ命令制
御信号を与える第1の出力を有する。mCRD2034
6はまた、入力セレクタB(INSELB)20348
およびEXP20316の第1の入力と接続された第2
の出力を有する。
310は、NAG20340と、COMQ20342
と、実行装置S命令テーブル(EUSITT)2034
4と、マイクロ命令制御レジスタ兼復号ロジック(mC
RD)20346とを含む。COMQ20342は、E
USDT20266からSDPを受取るためEUDIS
バス20206と接続された入力を有する。前述の如
く、COMQ20342は、EXOM20326の第3
の入力と接続された第1の出力を有し、NAG2034
0の入力と接続された第2の出力を有する。前述の如
く、NAG20340はEXOM20326の第2の入
力と接続された第1の出力を有する。NAG20340
は、EUSITT20344の第1の入力と接続された
第2の出力を有する。前述の如く、EUSITT203
44はFUSITT11012と対応し、FU1012
0からのEU10122のタスク指名ポインタに応答し
てEU10122の作用を制御するためのマイクロ命令
のシーケンスを記憶する。EUSITT20344は、
JPDバス10142と接続された第2の入力を有し、
またmCRD20346の入力と接続された出力を有す
る。mCRD20346は、EUSITT20344に
より与えられるマイクロ命令を受取って復号するための
レジスタおよびロジックを含む。EUSITT2034
4からの入力に加え、mCRD20346は、EU10
122の全ての部分に対して復号されたマイクロ命令制
御信号を与える第1の出力を有する。mCRD2034
6はまた、入力セレクタB(INSELB)20348
およびEXP20316の第1の入力と接続された第2
の出力を有する。
【0816】3.マルチプレクサ・ロジック20314 MULT20314について説明すると、MULT20
314は、パックされた10進数、整数および単精度お
よび2倍精度の浮動小数点数の仮数部分についての加減
乗除算を演算するための2つの並列の算術演算経路を含
んでいる。MULT20314はまた、EU10122
の汎用レジスタ・ファイル、算術演算において使用され
る定数を記憶するためのメモリーおよびある入力データ
選択回路を含む。MULT20314に駐在するEU1
0122の汎用レジスタ・ファイルの前記部分は、乗数
レジスタ・ファイル(MULTRF)20350からな
っている。MULTRF20350の出力は、MULT
IM20328の第2の入力側に接続されている。MU
LTRF20350の第1の入力はRFR20336の
出力と接続され、MULTRF20350の第2の入力
はMULTRM20334の出力側と接続されている。
MULTRM20334の第1と第2の入力は、更に、
RFR20336の出力およびTSTINT20320
のコンテナ・サイズ・ロジック(CONSIZE)20
352と接続される。
314は、パックされた10進数、整数および単精度お
よび2倍精度の浮動小数点数の仮数部分についての加減
乗除算を演算するための2つの並列の算術演算経路を含
んでいる。MULT20314はまた、EU10122
の汎用レジスタ・ファイル、算術演算において使用され
る定数を記憶するためのメモリーおよびある入力データ
選択回路を含む。MULT20314に駐在するEU1
0122の汎用レジスタ・ファイルの前記部分は、乗数
レジスタ・ファイル(MULTRF)20350からな
っている。MULTRF20350の出力は、MULT
IM20328の第2の入力側に接続されている。MU
LTRF20350の第1の入力はRFR20336の
出力と接続され、MULTRF20350の第2の入力
はMULTRM20334の出力側と接続されている。
MULTRM20334の第1と第2の入力は、更に、
RFR20336の出力およびTSTINT20320
のコンテナ・サイズ・ロジック(CONSIZE)20
352と接続される。
【0817】MULTIM20328は、MULT20
314の算術演算回路に対するデータ入力を選択し、ま
た前述の如く、OPB20322の第1の出力およびM
ULTRF20350の出力と夫々接続された第1と第
2の入力を有する。MULTIM20328の出力は、
乗数(MULT)バス20354を経て乗数の小レジス
タ(MQR)20356の入力およびニブル・シフター
(NIBSHF)20358の入力側と接続されてい
る。MQR20356およびNIBSHF20358の
別の入力は、定数ストア(CONST)20360によ
り与えられる。CONST20360は、MULT20
314の演算において使用される定数値を記憶するため
のメモリーである。CONST20360の出力はMU
LTバス20354と接続されている。MULT203
14の算術演算回路は、これによりOPB20322
と、MULTRF20350と、CONST20360
から入力が与えられることができる。
314の算術演算回路に対するデータ入力を選択し、ま
た前述の如く、OPB20322の第1の出力およびM
ULTRF20350の出力と夫々接続された第1と第
2の入力を有する。MULTIM20328の出力は、
乗数(MULT)バス20354を経て乗数の小レジス
タ(MQR)20356の入力およびニブル・シフター
(NIBSHF)20358の入力側と接続されてい
る。MQR20356およびNIBSHF20358の
別の入力は、定数ストア(CONST)20360によ
り与えられる。CONST20360は、MULT20
314の演算において使用される定数値を記憶するため
のメモリーである。CONST20360の出力はMU
LTバス20354と接続されている。MULT203
14の算術演算回路は、これによりOPB20322
と、MULTRF20350と、CONST20360
から入力が与えられることができる。
【0818】MULT20314の算術演算回路は、共
通の入力として、MULTIM20328とCONST
20360の出力を有する2つの並列な算術演算経路か
らなる。これらの並列の算術演算経路の共通の終りは、
最終レジスタ・シフター(FRS)20362である。
第1の算術演算経路はNIBSHF20358を経て与
えられるが、その入力はMULTバス20354と接続
されている。NIBSHF20358の出力はFRS2
0362の第1の入力に対して接続され、NIBSHF
20358の制御入力は乗数制御ロジック(MULTC
NT)20364およびMULTCNTL20318の
出力と接続されている。
通の入力として、MULTIM20328とCONST
20360の出力を有する2つの並列な算術演算経路か
らなる。これらの並列の算術演算経路の共通の終りは、
最終レジスタ・シフター(FRS)20362である。
第1の算術演算経路はNIBSHF20358を経て与
えられるが、その入力はMULTバス20354と接続
されている。NIBSHF20358の出力はFRS2
0362の第1の入力に対して接続され、NIBSHF
20358の制御入力は乗数制御ロジック(MULTC
NT)20364およびMULTCNTL20318の
出力と接続されている。
【0819】MULT20314の第2の算術演算経路
はMQR20356を介して与えられる。前述の如く、
MQR20356の入力はMULTバス20354と接
続されている。MQR20356の出力は時間1および
時間2の乗算シフター(MULTSHFT12)203
66および時間4および時間8乗算シフター(MULT
SHFT48)20368の第1と第2の入力と接続さ
れている。MULTSHFT12とMULTSHFT4
8の出力は、夫々第1の乗数演算論理装置(MULTA
LU1)20370の第1および第2の入力と接続され
ている。MULTALU1 20370の出力は、乗数
作業レジスタ(MWR)20372の入力側と接続され
る。MWR20372の出力は、第2の乗数演算論理装
置(MULTALU2)20374の第1の入力と接続
されている。MULTALU220374の第2の入力
はRFR20336の出力と接続されている。MULT
ALU2の出力はFRS20362の第2の入力と接続
される。前述の如く、FRS20362の第1の入力は
MULTSHFT20368に接続される。FRS20
362の出力は20336の入力と接続されている。
はMQR20356を介して与えられる。前述の如く、
MQR20356の入力はMULTバス20354と接
続されている。MQR20356の出力は時間1および
時間2の乗算シフター(MULTSHFT12)203
66および時間4および時間8乗算シフター(MULT
SHFT48)20368の第1と第2の入力と接続さ
れている。MULTSHFT12とMULTSHFT4
8の出力は、夫々第1の乗数演算論理装置(MULTA
LU1)20370の第1および第2の入力と接続され
ている。MULTALU1 20370の出力は、乗数
作業レジスタ(MWR)20372の入力側と接続され
る。MWR20372の出力は、第2の乗数演算論理装
置(MULTALU2)20374の第1の入力と接続
されている。MULTALU220374の第2の入力
はRFR20336の出力と接続されている。MULT
ALU2の出力はFRS20362の第2の入力と接続
される。前述の如く、FRS20362の第1の入力は
MULTSHFT20368に接続される。FRS20
362の出力は20336の入力と接続されている。
【0820】前述の如く、RFR20336の出力はM
ULTALU2 20374の第2の入力、MULTR
F20350の第1の入力、MULTRM20334の
第1の入力およびFROM20324の第2の入力とに
接続されている。RFR20336の出力もまた、MU
LTCNTL20318の先行零検出器(LZD)20
376の入力と、例外ロジック(ECPT)2037
8、CONSIZE20352およびTSTINT20
320の入力側と接続されている。
ULTALU2 20374の第2の入力、MULTR
F20350の第1の入力、MULTRM20334の
第1の入力およびFROM20324の第2の入力とに
接続されている。RFR20336の出力もまた、MU
LTCNTL20318の先行零検出器(LZD)20
376の入力と、例外ロジック(ECPT)2037
8、CONSIZE20352およびTSTINT20
320の入力側と接続されている。
【0821】4.指数ロジック20316 EXP20316について述べれば、前述の如く、EX
P20316は、EU10122の浮動小数点数演算に
おける単精度および2倍精度の浮動小数点数の指数フィ
ールドに関するある演算を実施する。EXP20316
は、本例においては指数レジスタ・ファイル(EXPR
F)20380として示されたEU10122の汎用レ
ジスタ・ファイル装置の第2の部分を含んでいる。個々
のレジスタ・ファイルとして示したが、MULTRF2
0350とEXPRF20380は、MULTバス20
354におけるように、内部の対応するレジスタの共通
で並列のアドレス指定による一体のレジスタ・ファイル
構造を有する。
P20316は、EU10122の浮動小数点数演算に
おける単精度および2倍精度の浮動小数点数の指数フィ
ールドに関するある演算を実施する。EXP20316
は、本例においては指数レジスタ・ファイル(EXPR
F)20380として示されたEU10122の汎用レ
ジスタ・ファイル装置の第2の部分を含んでいる。個々
のレジスタ・ファイルとして示したが、MULTRF2
0350とEXPRF20380は、MULTバス20
354におけるように、内部の対応するレジスタの共通
で並列のアドレス指定による一体のレジスタ・ファイル
構造を有する。
【0822】EXPRF20380の出力は、INSE
LA20330の第2の入力と接続されている。EXP
RF20380の第1の入力はEXRM20332の出
力と接続されている。前述の如く、EXRM20332
の第1の入力はEXPQ20325を経てOPB203
22の第2の出力と接続される。EXRM20332の
第2の入力はスケール・レジスタ(SCALER)20
338と接続されている。EXPRF20380の第2
の入力は符号ロジック(SIGN)20382の出力と
接続される。SIGN20382の入力はSCALER
20338の第2の出力と接続されている。
LA20330の第2の入力と接続されている。EXP
RF20380の第1の入力はEXRM20332の出
力と接続されている。前述の如く、EXRM20332
の第1の入力はEXPQ20325を経てOPB203
22の第2の出力と接続される。EXRM20332の
第2の入力はスケール・レジスタ(SCALER)20
338と接続されている。EXPRF20380の第2
の入力は符号ロジック(SIGN)20382の出力と
接続される。SIGN20382の入力はSCALER
20338の第2の出力と接続されている。
【0823】INSELA20330、INSELB2
0348、指数ALU(EXPALU)20384と、
SCALER20338は、浮動小数点数の指数フィー
ルドを操作するためのEXP20316の算術演算回路
を構成する。INSELA20330とINSELB2
0348は、夫々EXPALU20384に対する第1
と第2の入力を選択する。前述の如く、INSELA2
0330の第1の入力はEXPQバス20325を介し
てOPB20322の第2の出力と接続されている。I
NSELA20330の第2の入力はEXPRF203
80の出力と接続されている。INSELA20330
の出力はEXPALU20384の第1の入力と接続さ
れている。INSELB20348の第1の入力は、前
述の如く、mCRD20346の第2の出力と接続され
ている。INSELB20348の第2の入力はEXP
Q20325を介してOPB20322の出力と接続さ
れている。INSELB20348の第3の入力はSC
ALER20338の出力と接続され、INSELB2
0348の第4の入力はLZD20376の出力と接続
されている。INSELB20348の出力はINSE
LB20348の第2の入力と接続されている。INS
ELB20348の出力は、INSELB20348の
第2の入力と接続されている。INSELB20348
の出力はSCALER20338の入力と接続されてい
る。
0348、指数ALU(EXPALU)20384と、
SCALER20338は、浮動小数点数の指数フィー
ルドを操作するためのEXP20316の算術演算回路
を構成する。INSELA20330とINSELB2
0348は、夫々EXPALU20384に対する第1
と第2の入力を選択する。前述の如く、INSELA2
0330の第1の入力はEXPQバス20325を介し
てOPB20322の第2の出力と接続されている。I
NSELA20330の第2の入力はEXPRF203
80の出力と接続されている。INSELA20330
の出力はEXPALU20384の第1の入力と接続さ
れている。INSELB20348の第1の入力は、前
述の如く、mCRD20346の第2の出力と接続され
ている。INSELB20348の第2の入力はEXP
Q20325を介してOPB20322の出力と接続さ
れている。INSELB20348の第3の入力はSC
ALER20338の出力と接続され、INSELB2
0348の第4の入力はLZD20376の出力と接続
されている。INSELB20348の出力はINSE
LB20348の第2の入力と接続されている。INS
ELB20348の出力は、INSELB20348の
第2の入力と接続されている。INSELB20348
の出力はSCALER20338の入力と接続されてい
る。
【0824】前述の如く、SCALER20338の第
2の出力はSIGN20382の入力と接続され、第1
の出力はEXRM20332の第2の入力およびINS
ELB20348の第3の入力と接続されている。SC
ALER20338の第1の出力もまた、EXPQバス
20325と接続され、EXOM20326の第1の入
力およびMULTCNT20364の第2の入力と接続
されている。
2の出力はSIGN20382の入力と接続され、第1
の出力はEXRM20332の第2の入力およびINS
ELB20348の第3の入力と接続されている。SC
ALER20338の第1の出力もまた、EXPQバス
20325と接続され、EXOM20326の第1の入
力およびMULTCNT20364の第2の入力と接続
されている。
【0825】5.乗数制御装置20318 前述の如く、MULTCNTL20318は、浮動小数
点数についての算術演算の実施において、EXP203
16とMULT20314の演算を制御しかつこれを連
係させるためのいくつかの制御信号と情報を提供する。
MULTCNTL20318はLZD20376とMU
LTCNT20364を含んでいる。LZD20376
の入力はFBバス20337を介してRFR20336
の出力と接続されている。LZD20376の出力は、
MULTCNT20364の第2の入力およびmCRD
20346の第4の入力と接続されている。MULTC
NT20364の第2の入力はSCALER20338
の出力と接続される。前述の如く、MULTCNT20
364の制御出力はNIBSHF20358の制御入力
と接続されている。
点数についての算術演算の実施において、EXP203
16とMULT20314の演算を制御しかつこれを連
係させるためのいくつかの制御信号と情報を提供する。
MULTCNTL20318はLZD20376とMU
LTCNT20364を含んでいる。LZD20376
の入力はFBバス20337を介してRFR20336
の出力と接続されている。LZD20376の出力は、
MULTCNT20364の第2の入力およびmCRD
20346の第4の入力と接続されている。MULTC
NT20364の第2の入力はSCALER20338
の出力と接続される。前述の如く、MULTCNT20
364の制御出力はNIBSHF20358の制御入力
と接続されている。
【0826】6.テスト兼インターフェース・ロジック
20320 最後に、TSTINT20320は、ECPT2037
8、CONSIZE20352およびテスト条件ロジッ
ク(TSTCON)20386を含む。ECPT203
78の入力およびCONSIZE20352の第1の入
力は、FRバス20337を介してRFR20336の
出力と接続される。CONSIZE20352の第2の
入力は長さバス20226と接続されている。CONS
IZE20352の出力は、EU10122からの他の
入力(表示を明瞭にするため示さない)と共に、TST
CON20386と接続されている。TSTCON20
386の出力(表示を明瞭にするため示さない)はNA
G20340と接続されている。TSTCON2038
6とECPT20378はFU10120とFUINT
20298に対する出力とこれからの入力を有する。以
上においてEU10122の全体的な構造について述べ
たが、EU10122の作用については、必要に応じて
紹介される別の図面の助けにより以下において説明す
る。最後に、EUCL20310の作用について説明
し、TSTINT20320およびFUINT2029
8を介するEU10122およびFU10120間の詳
細な制御信号インターフェースの説明を含む。EU10
122とFU10120間のインターフェースの定義に
加え、EU10122の諸操作がMEM10112とF
U10120と連係して実行されるEU10122のい
くつかの特徴について説明する。例えば、部分的にMU
LTRF20350およびEXPRF20380の各部
を構成するEU10122のスタック機構はその一部が
MEM10112に駐在し、その結果EU10122の
スタック機構の作用がEU10122、MEM1011
2およびFU10120による共働的な作用を必要とす
る。
20320 最後に、TSTINT20320は、ECPT2037
8、CONSIZE20352およびテスト条件ロジッ
ク(TSTCON)20386を含む。ECPT203
78の入力およびCONSIZE20352の第1の入
力は、FRバス20337を介してRFR20336の
出力と接続される。CONSIZE20352の第2の
入力は長さバス20226と接続されている。CONS
IZE20352の出力は、EU10122からの他の
入力(表示を明瞭にするため示さない)と共に、TST
CON20386と接続されている。TSTCON20
386の出力(表示を明瞭にするため示さない)はNA
G20340と接続されている。TSTCON2038
6とECPT20378はFU10120とFUINT
20298に対する出力とこれからの入力を有する。以
上においてEU10122の全体的な構造について述べ
たが、EU10122の作用については、必要に応じて
紹介される別の図面の助けにより以下において説明す
る。最後に、EUCL20310の作用について説明
し、TSTINT20320およびFUINT2029
8を介するEU10122およびFU10120間の詳
細な制御信号インターフェースの説明を含む。EU10
122とFU10120間のインターフェースの定義に
加え、EU10122の諸操作がMEM10112とF
U10120と連係して実行されるEU10122のい
くつかの特徴について説明する。例えば、部分的にMU
LTRF20350およびEXPRF20380の各部
を構成するEU10122のスタック機構はその一部が
MEM10112に駐在し、その結果EU10122の
スタック機構の作用がEU10122、MEM1011
2およびFU10120による共働的な作用を必要とす
る。
【0827】b.実行装置10122の作用(図25
5) 1.実行装置の制御ロジック20310(図252) 図255においては、EUCL20310の更に詳細な
ブロック図が示される。前述の如く、EUCL2031
0はEUSDT20266およびFUCTL20214
からEUDISバス20206を介してEU10122
のタスク指名ポインタを受取る。EU10122のタス
ク指名ポインタは、ユーザ・プログラムの実行に必要と
され、またJP10114の事象の処理を補佐する如き
EU10122の算術演算、即ちSOPを実行するため
のEU10122のいくつかのマイクロ命令シーケンス
を選択する。前述の如く、EUCL20310の主な素
子は、COMQ20342、EUSITT20344、
mCRD20346およびNAG20340を含む。
5) 1.実行装置の制御ロジック20310(図252) 図255においては、EUCL20310の更に詳細な
ブロック図が示される。前述の如く、EUCL2031
0はEUSDT20266およびFUCTL20214
からEUDISバス20206を介してEU10122
のタスク指名ポインタを受取る。EU10122のタス
ク指名ポインタは、ユーザ・プログラムの実行に必要と
され、またJP10114の事象の処理を補佐する如き
EU10122の算術演算、即ちSOPを実行するため
のEU10122のいくつかのマイクロ命令シーケンス
を選択する。前述の如く、EUCL20310の主な素
子は、COMQ20342、EUSITT20344、
mCRD20346およびNAG20340を含む。
【0828】a.a.指令キュー20342 COMQ20342の入力は、EUSDT20266か
ら与えられるEU10122のタスク指名ポインタを受
取ってこれを記憶するためEUDISバス20206と
接続されている。このようなEU10122の各タスク
指名ポインタは、2つの情報フィールドからなる。第1
の情報フィールドは、EUSITT20344に駐在す
るマイクロ命令のある対応するシーケンスの10ビット
の始動アドレスを含む。EU10122の各タスク指名
ポインタの第2のフィールドは、それについて処理され
るべき対応するオペランドのデータ・フォーマットを識
別する情報の如きある制御情報を含む6ビットのフィー
ルドである。この場合、単位タスク指名ポインタの制御
フィールド・ビットは、それについて処理されるオペラ
ンドが符号を付したあるいは符号を付さない整数、また
はパックされたあるいはアンパックされた10進数、ま
たは単精度あるいは2倍精度の浮動小数点数のどれを構
成するかを規定する。
ら与えられるEU10122のタスク指名ポインタを受
取ってこれを記憶するためEUDISバス20206と
接続されている。このようなEU10122の各タスク
指名ポインタは、2つの情報フィールドからなる。第1
の情報フィールドは、EUSITT20344に駐在す
るマイクロ命令のある対応するシーケンスの10ビット
の始動アドレスを含む。EU10122の各タスク指名
ポインタの第2のフィールドは、それについて処理され
るべき対応するオペランドのデータ・フォーマットを識
別する情報の如きある制御情報を含む6ビットのフィー
ルドである。この場合、単位タスク指名ポインタの制御
フィールド・ビットは、それについて処理されるオペラ
ンドが符号を付したあるいは符号を付さない整数、また
はパックされたあるいはアンパックされた10進数、ま
たは単精度あるいは2倍精度の浮動小数点数のどれを構
成するかを規定する。
【0829】COMQ20342は、2つの1ワード幅
X2ワードの深さのレジスタ・ファイルからなる。これ
らのレジスタ・ファイルの第1のものは、SOP指令キ
ュー制御ストア(CQCS)25510およびSOP指
令キュー・アドレス・ストア(CQAS)25512と
からなる。またこれと共に、CQCS25510および
CQAS25512は、SOPおよび対応するEU10
122のタスク指名ポインタ、即ちあるユーザのプログ
ラムの実行と直接関連するEU10122の操作を開始
するためのタスク指名ポインタを受取ってこれを記憶す
るための1つの1ワード幅X2ワード深さのレジスタ・
ファイルを構成する。これらのSOPのアドレス・フィ
ールドはCQCS25510において受取られるが、制
御フィールドはCQCS25510において受取られて
記憶される。COMQ20342はこれにより、ユーザ
・プログラムのSOPと対応する2つまでの順次のEU
10122のタスク指名ポインタを受取ってこれを記憶
することができる。これらのSOPによるタスク指名ポ
インタは、FU10120から受取った順序で実行され
る。これにより、EU10122は1つのその時実行中
のSOPタスク指名ポインタおよび1つの継続中のSO
Pタスク指名ポインタを受取って記憶することが可能で
ある。別のSOPタスク指名ポインタは、前のSOPが
実行される時にCOMQ20342に読込むことができ
る。
X2ワードの深さのレジスタ・ファイルからなる。これ
らのレジスタ・ファイルの第1のものは、SOP指令キ
ュー制御ストア(CQCS)25510およびSOP指
令キュー・アドレス・ストア(CQAS)25512と
からなる。またこれと共に、CQCS25510および
CQAS25512は、SOPおよび対応するEU10
122のタスク指名ポインタ、即ちあるユーザのプログ
ラムの実行と直接関連するEU10122の操作を開始
するためのタスク指名ポインタを受取ってこれを記憶す
るための1つの1ワード幅X2ワード深さのレジスタ・
ファイルを構成する。これらのSOPのアドレス・フィ
ールドはCQCS25510において受取られるが、制
御フィールドはCQCS25510において受取られて
記憶される。COMQ20342はこれにより、ユーザ
・プログラムのSOPと対応する2つまでの順次のEU
10122のタスク指名ポインタを受取ってこれを記憶
することができる。これらのSOPによるタスク指名ポ
インタは、FU10120から受取った順序で実行され
る。これにより、EU10122は1つのその時実行中
のSOPタスク指名ポインタおよび1つの継続中のSO
Pタスク指名ポインタを受取って記憶することが可能で
ある。別のSOPタスク指名ポインタは、前のSOPが
実行される時にCOMQ20342に読込むことができ
る。
【0830】b.b.指令キューの事象制御ストア25
514および指令キュー事象アドレス制御ストア255
16 指令キュー事象制御ストア(CQCE)25514およ
び指令キュー事象アドレス・ストア(CQAE)255
16は、夫々CQCS25510およびCQAS255
12と機能および制御作用において類似している。しか
し、CQCE25514およびCQAE25516は、
JP10114の事象の処理に必要とされる如く、FU
10120により要求されるEU10122の諸操作を
開始するEU10122のタスク指名ポインタを受取っ
てこれを記憶する。再び、CQCE25514およびC
QAE25516は、1つの1ワード幅X2ワード深さ
のレジスタ・ファイルを構成する。CQAE25516
は事象タスク指名ポインタのアドレス・フィールドを受
取ってこれを記憶するが、CQCE25514は事象タ
スク指名ポインタの対応する制御フィールドを受取って
これを記憶する。再び、COMQ20342は、2つま
での順次の事象タスク指名ポインタを同時に受取ってこ
れを記憶する。
514および指令キュー事象アドレス制御ストア255
16 指令キュー事象制御ストア(CQCE)25514およ
び指令キュー事象アドレス・ストア(CQAE)255
16は、夫々CQCS25510およびCQAS255
12と機能および制御作用において類似している。しか
し、CQCE25514およびCQAE25516は、
JP10114の事象の処理に必要とされる如く、FU
10120により要求されるEU10122の諸操作を
開始するEU10122のタスク指名ポインタを受取っ
てこれを記憶する。再び、CQCE25514およびC
QAE25516は、1つの1ワード幅X2ワード深さ
のレジスタ・ファイルを構成する。CQAE25516
は事象タスク指名ポインタのアドレス・フィールドを受
取ってこれを記憶するが、CQCE25514は事象タ
スク指名ポインタの対応する制御フィールドを受取って
これを記憶する。再び、COMQ20342は、2つま
での順次の事象タスク指名ポインタを同時に受取ってこ
れを記憶する。
【0831】図255に示すように、CQAS2551
2およびCQAE25516の出力、即ちEU1012
2のタスク指名ポインタのアドレス・フィールドは、以
下において更に詳細に説明する選択ケース・マルチプレ
クサ(SCASE)25518と、開始アドレス選択マ
ルチプレクサ(SAS)25520と、NAG2034
0に対する入力として与えられる。CQCS25510
およびCQCE25514の制御フィールド出力は、以
下に更に述べるOPB20322に対する入力として与
えられる。
2およびCQAE25516の出力、即ちEU1012
2のタスク指名ポインタのアドレス・フィールドは、以
下において更に詳細に説明する選択ケース・マルチプレ
クサ(SCASE)25518と、開始アドレス選択マ
ルチプレクサ(SAS)25520と、NAG2034
0に対する入力として与えられる。CQCS25510
およびCQCE25514の制御フィールド出力は、以
下に更に述べるOPB20322に対する入力として与
えられる。
【0832】c.c.実行装置のS命令テーブル203
44 EUSITT20344について説明すれば、前述の如
く、EUSITT20344は、FU10120から受
取られたEU10122のタスク指名ポインタに応答し
てEU10122の操作を制御するためのマイクロ命令
のシーケンスを記憶するためのメモリーである。これら
のマイクロ命令シーケンスは、一般に、ユーザ・プログ
ラムのSOPに応答して算術演算を実行するよう指令
し、あるいはJP10114の事象のサービスに必要な
EU10122の操作の実行の指令を補佐することがで
きる。EUSITT20344は、例えば、ページ当り
128ワードのページとして構成された60ビット幅×
1280ワード長さに構成されたメモリーで良い。EU
SITT20344のページの一部は、例えばJP10
144の事象の処理のためのマイクロ命令のシーケンス
を記憶するための読出し専用メモリーに含めることがで
きる。EUSITT20344の残りの部分は、例え
ば、ユーザ・プログラムのSOPに応答してEU101
22の諸操作を実行するためのマイクロ命令シーケンス
を記憶するためのランダム・アクセス・メモリーの構成
とすることができる。この構成は、JP10114の内
部機構の操作、例えばEUSITT20344に有効に
恒久的に記憶されるJP10114の事象の処理のため
の操作と関連することをEU10122のマイクロ命令
シーケンスに許容する。ランダム・アクセス・メモリー
に構成されたEUSITT20344の部分は、SOP
の実行のためのマイクロ命令シーケンスの記憶のため使
用することができる。これらのランダム・アクセス・メ
モリーは、CS10110によりその時使用中の1つ以
上のS言語のSOPの実行のためのマイクロ命令シーケ
ンスが必要に応じてMEM10112からEUSITT
20344に対して書込まれることを可能にする書込み
可能な制御ストアとして使用可能である。
44 EUSITT20344について説明すれば、前述の如
く、EUSITT20344は、FU10120から受
取られたEU10122のタスク指名ポインタに応答し
てEU10122の操作を制御するためのマイクロ命令
のシーケンスを記憶するためのメモリーである。これら
のマイクロ命令シーケンスは、一般に、ユーザ・プログ
ラムのSOPに応答して算術演算を実行するよう指令
し、あるいはJP10114の事象のサービスに必要な
EU10122の操作の実行の指令を補佐することがで
きる。EUSITT20344は、例えば、ページ当り
128ワードのページとして構成された60ビット幅×
1280ワード長さに構成されたメモリーで良い。EU
SITT20344のページの一部は、例えばJP10
144の事象の処理のためのマイクロ命令のシーケンス
を記憶するための読出し専用メモリーに含めることがで
きる。EUSITT20344の残りの部分は、例え
ば、ユーザ・プログラムのSOPに応答してEU101
22の諸操作を実行するためのマイクロ命令シーケンス
を記憶するためのランダム・アクセス・メモリーの構成
とすることができる。この構成は、JP10114の内
部機構の操作、例えばEUSITT20344に有効に
恒久的に記憶されるJP10114の事象の処理のため
の操作と関連することをEU10122のマイクロ命令
シーケンスに許容する。ランダム・アクセス・メモリー
に構成されたEUSITT20344の部分は、SOP
の実行のためのマイクロ命令シーケンスの記憶のため使
用することができる。これらのランダム・アクセス・メ
モリーは、CS10110によりその時使用中の1つ以
上のS言語のSOPの実行のためのマイクロ命令シーケ
ンスが必要に応じてMEM10112からEUSITT
20344に対して書込まれることを可能にする書込み
可能な制御ストアとして使用可能である。
【0833】前述の如く、EUSITT20344の第
2の入力は、JPDバス10142と接続されたデータ
(DATA)入力である。EUSITT20344のデ
ータ入力は、MEM10112からJPDバス1014
2を介してEUSITT20344に対してマイクロ命
令シーケンスを書込むために使用される。EUSITT
20344の第1の入力は、アドレス・ドライバ(AD
RD)25522およびNAG20340の出力と接続
されたアドレス(ADR)入力である。ADRD255
22により与えられたアドレス入力は、マイクロ命令を
EUSITT20344に対して書込むため、あるいは
EU10122の操作を制御するためマイクロ命令をE
USITT20344からmCRD20346に対して
読出すためのEUSITT20344内のワード場所を
選択する。これらのEUSITT20344に対するア
ドレス入力のNAG20340による生成について以下
に更に説明しよう。
2の入力は、JPDバス10142と接続されたデータ
(DATA)入力である。EUSITT20344のデ
ータ入力は、MEM10112からJPDバス1014
2を介してEUSITT20344に対してマイクロ命
令シーケンスを書込むために使用される。EUSITT
20344の第1の入力は、アドレス・ドライバ(AD
RD)25522およびNAG20340の出力と接続
されたアドレス(ADR)入力である。ADRD255
22により与えられたアドレス入力は、マイクロ命令を
EUSITT20344に対して書込むため、あるいは
EU10122の操作を制御するためマイクロ命令をE
USITT20344からmCRD20346に対して
読出すためのEUSITT20344内のワード場所を
選択する。これらのEUSITT20344に対するア
ドレス入力のNAG20340による生成について以下
に更に説明しよう。
【0834】d.d.マイクロコード制御復号レジスタ
20346 EUSITT20344の出力はmCRD20346の
入力と接続されている。前述の如く、mCRD2034
6はEUSITT20344からマイクロ命令を受取る
ためのレジスタであり、これらマイクロ命令を復号して
対応する記憶信号をEU10122に対して与えるため
の復号ロジックである。図255に示すように、診断処
理装置マイクロプログラム・レジスタ(DPmR)25
524は、mCRD20346の入力に対するEUSI
TT20344の出力と並列に接続された60ビットの
レジスタである。DPmR25524はDP10118
によって60ビットのマイクロ命令のロードが可能であ
る。診断マイクロ命令はこれにより、EU10122の
マイクロ命令制御によって直接マイクロ命令を与えるた
めmCRD20346の入力側に直接与えることができ
る。
20346 EUSITT20344の出力はmCRD20346の
入力と接続されている。前述の如く、mCRD2034
6はEUSITT20344からマイクロ命令を受取る
ためのレジスタであり、これらマイクロ命令を復号して
対応する記憶信号をEU10122に対して与えるため
の復号ロジックである。図255に示すように、診断処
理装置マイクロプログラム・レジスタ(DPmR)25
524は、mCRD20346の入力に対するEUSI
TT20344の出力と並列に接続された60ビットの
レジスタである。DPmR25524はDP10118
によって60ビットのマイクロ命令のロードが可能であ
る。診断マイクロ命令はこれにより、EU10122の
マイクロ命令制御によって直接マイクロ命令を与えるた
めmCRD20346の入力側に直接与えることができ
る。
【0835】mCRD20346の出力は、一般にEU
10122の全ての部分に対して与えられてEU101
22の詳細な操作を制御する。mCRD20346のい
くつかの出力は、次のアドレス・ソース選択マルチプレ
クサ(NASS)25526および長い分岐ページ・ア
ドレス・ゲート(LBPAG)25528およびNAG
20340の入力と接続されている。以下において更に
詳細に選択するように、mCRD20346のこれらの
出力は、特定のマイクロ命令シーケンスが他のマイクロ
命令シーケンスに対する飛越しまたは長い分岐を要求す
る時、EUSITT20344に対するアドレス入力の
生成において使用される。mCRD20346の出力は
また、実行装置のマイクロ命令パリティ検査ロジック
(EUmIPC)25530の入力に対して並列に接続
されている。EUmIPC25530は、mCRD20
346の出力において検出されたエラーに対するmCR
D20346の全てのマイクロ命令出力のパリティを検
査する。
10122の全ての部分に対して与えられてEU101
22の詳細な操作を制御する。mCRD20346のい
くつかの出力は、次のアドレス・ソース選択マルチプレ
クサ(NASS)25526および長い分岐ページ・ア
ドレス・ゲート(LBPAG)25528およびNAG
20340の入力と接続されている。以下において更に
詳細に選択するように、mCRD20346のこれらの
出力は、特定のマイクロ命令シーケンスが他のマイクロ
命令シーケンスに対する飛越しまたは長い分岐を要求す
る時、EUSITT20344に対するアドレス入力の
生成において使用される。mCRD20346の出力は
また、実行装置のマイクロ命令パリティ検査ロジック
(EUmIPC)25530の入力に対して並列に接続
されている。EUmIPC25530は、mCRD20
346の出力において検出されたエラーに対するmCR
D20346の全てのマイクロ命令出力のパリティを検
査する。
【0836】e.e.次のアドレス・ゼネレータ203
40 前述の如く、EUSITT20344に対する読出しお
よび書込みアドレスは、NAG20340によりADR
D25522を介して与えられる。ADRD25522
に対するアドレス入力は、NASS25526または診
断処理装置アドレス・レジスタ(DPAR)25532
のいずれかから与えられる。通常の操作において、EU
SITT20344に対するアドレス入力はすぐに説明
するようにNASS25526から与えられる。しか
し、DP10118はEUSITT20344のアドレ
スをDPAR25532に対してロードすることができ
る。次に、これらのアドレスは、EUSITT2034
4内のアドレス場所を個々に選択するためDPAR25
532から読出されることができる。DPAR2553
2は、特に、マイクロ命令によるEU10122のマイ
クロ命令シーケンスのマイクロ命令の循環操作を可能に
するアドレスを提供するため使用することができる。
40 前述の如く、EUSITT20344に対する読出しお
よび書込みアドレスは、NAG20340によりADR
D25522を介して与えられる。ADRD25522
に対するアドレス入力は、NASS25526または診
断処理装置アドレス・レジスタ(DPAR)25532
のいずれかから与えられる。通常の操作において、EU
SITT20344に対するアドレス入力はすぐに説明
するようにNASS25526から与えられる。しか
し、DP10118はEUSITT20344のアドレ
スをDPAR25532に対してロードすることができ
る。次に、これらのアドレスは、EUSITT2034
4内のアドレス場所を個々に選択するためDPAR25
532から読出されることができる。DPAR2553
2は、特に、マイクロ命令によるEU10122のマイ
クロ命令シーケンスのマイクロ命令の循環操作を可能に
するアドレスを提供するため使用することができる。
【0837】前述の如く、NASS25526は、3つ
のNAG20340のアドレス・ソースからの入力を有
するマルチプレクサである。NASS25526の第1
のアドレス入力はmCRD20346とLBPAG25
528の飛越し(JMP)出力からである。これらのア
ドレス入力は、一部は、その時のマイクロ命令が別のマ
イクロ命令またはマイクロ命令シーケンスに対する飛越
しまたは長い分岐を要求する時に使用される。第2のア
ドレス・ソースはSAS25520から与えられ、一般
に、マイクロ命令シーケンスの始動アドレスからなる。
SAS25520は、CQAS25512およびCQA
E25516からの第1の入力を有し、即ちOPと対応
する即ちJP10114の事象のサービスのためのマイ
クロ命令シーケンス始動アドレスを有するマルチプレク
サである。第2のSAS25520の入力は、サブルー
チン戻しアドレス・スタック(SUBRA)25534
から与えられる。一般に、また以下において説明するよ
うに、SUBRA25534は、割込みが行なわれたマ
イクロ命令シーケンスのその時のマイクロ命令アドレス
を記憶するためのスタック機構として作用する。これら
の記憶されたアドレスは、これらの割込みされたマイク
ロ命令シーケンスの実行の再開のために後で使用するこ
とができる。NASS25526に対する第3のアドレ
ス・ソースが順次およびケース・アドレス・ゼネレータ
(SCAG)25536から与えられる。一般に、SC
AG25536は特定のマイクロ命令シーケンス内の順
次のマイクロ命令を選択するアドレスを生成する。SC
AG25536はまた、マイクロ命令のケース操作のた
めマイクロ命令アドレスを生成する。図255に示すよ
うに、SCAG25536とSAS25520の出力は
一緒にバス化されて単一のNASS25526の入力を
構成する。SCAG25536およびSAS25520
の出力間の選択は、SCAG25536およびSAS2
5520に対する制御入力(説明を明瞭にするために示
さない)によって与えられる。NASS25526のア
ドレス入力間の選択は、これに対して制御入力を与える
次のアドレス・ソース選択制御ロジック(NASSC)
25538によって制御される。NASSC25538
は、有効にTSTCON20386およびTSTINT
20320から制御入力を受取るマルチプレクサとな
る。以下において更に詳細に説明するようにTSTCO
N20386はEU10122内のある操作条件即ち状
態を監視して、NASSC25538に対して対応する
入力を与える。NASSC25538はTSTCON2
0386からのこれらの制御入力を有効に復号して、N
ASS25526に対して選択制御入力を与える。
のNAG20340のアドレス・ソースからの入力を有
するマルチプレクサである。NASS25526の第1
のアドレス入力はmCRD20346とLBPAG25
528の飛越し(JMP)出力からである。これらのア
ドレス入力は、一部は、その時のマイクロ命令が別のマ
イクロ命令またはマイクロ命令シーケンスに対する飛越
しまたは長い分岐を要求する時に使用される。第2のア
ドレス・ソースはSAS25520から与えられ、一般
に、マイクロ命令シーケンスの始動アドレスからなる。
SAS25520は、CQAS25512およびCQA
E25516からの第1の入力を有し、即ちOPと対応
する即ちJP10114の事象のサービスのためのマイ
クロ命令シーケンス始動アドレスを有するマルチプレク
サである。第2のSAS25520の入力は、サブルー
チン戻しアドレス・スタック(SUBRA)25534
から与えられる。一般に、また以下において説明するよ
うに、SUBRA25534は、割込みが行なわれたマ
イクロ命令シーケンスのその時のマイクロ命令アドレス
を記憶するためのスタック機構として作用する。これら
の記憶されたアドレスは、これらの割込みされたマイク
ロ命令シーケンスの実行の再開のために後で使用するこ
とができる。NASS25526に対する第3のアドレ
ス・ソースが順次およびケース・アドレス・ゼネレータ
(SCAG)25536から与えられる。一般に、SC
AG25536は特定のマイクロ命令シーケンス内の順
次のマイクロ命令を選択するアドレスを生成する。SC
AG25536はまた、マイクロ命令のケース操作のた
めマイクロ命令アドレスを生成する。図255に示すよ
うに、SCAG25536とSAS25520の出力は
一緒にバス化されて単一のNASS25526の入力を
構成する。SCAG25536およびSAS25520
の出力間の選択は、SCAG25536およびSAS2
5520に対する制御入力(説明を明瞭にするために示
さない)によって与えられる。NASS25526のア
ドレス入力間の選択は、これに対して制御入力を与える
次のアドレス・ソース選択制御ロジック(NASSC)
25538によって制御される。NASSC25538
は、有効にTSTCON20386およびTSTINT
20320から制御入力を受取るマルチプレクサとな
る。以下において更に詳細に説明するようにTSTCO
N20386はEU10122内のある操作条件即ち状
態を監視して、NASSC25538に対して対応する
入力を与える。NASSC25538はTSTCON2
0386からのこれらの制御入力を有効に復号して、N
ASS25526に対して選択制御入力を与える。
【0838】NAG20340の全体的な構造および処
理について説明したが、次に、更に詳細にNAG203
40の作用について説明する。
理について説明したが、次に、更に詳細にNAG203
40の作用について説明する。
【0839】最初に、mCRD20346およびLBP
AG25528の飛越し出力から与えられるNASS2
5526のアドレス入力について説明すると、このアド
レス・ソースはその時のマイクロ命令による次のマイク
ロ命令の選択を可能にするために与えられる。mCRD
20344の飛越し出力は、その時のマイクロ命令がE
USITT20344の同じページ内の別のマイクロ命
令に対する飛越しを指令することを許容する。LBPA
G25528を介するNASS25526の入力は、E
USITT20344内のページを指定するmCRD2
0346の出力の別の部分から与えられる。このLBP
AG25528を介する入力は、長い分岐操作、即ちE
USITT20344の1つのページにおけるあるマイ
クロ命令から別のページにおけるあるマイクロ命令への
飛越しの実行を可能にする。更に、LBPAG2552
8を介してmCRD20346の飛越し出力からのNA
SS25526の入力は、FU10120により要求さ
れたあるマイクロ命令シーケンスをEU10122がそ
の時実行中でない場合には、遊休、即ち待機状態を実行
するため使用される。この場合、遊休ルーチンは、TS
TCON20386がFU10120からEU1012
2に対するEU10122のタスク指名ポインタを監視
することを指令する。もしEU10122のタスク指名
ポインタがCOMQ20342に存在しなければ、ある
いは継続中のものがなければ、TSTCON20386
はNASSC25538がNASS25526に対して
制御入力を与えることを指令して、mCRD20346
とLBPAG25528からのNASS25526の入
力を選択する。このようなタスク指名ポインタがCOM
Q20342に受取られるまで、遊休ルーチンはEU1
0122のタスク指名ポインタ入力について連続的にテ
ストする。この時、TSTCON20386は、継続中
のタスク指名ポインタおよびNASSC25538がN
ASS25526に対して制御出力を与えることを指令
して、一般にSAS25520からのNASS2552
6の入力を選択する。TSTCON20386およびN
ASSC25538もまたNASS25526に指令し
て、呼出されたマイクロ命令からある前の割込みされた
マイクロ命令シーケンスへ戻ると同時にSAS2552
0からの入力を選択する。
AG25528の飛越し出力から与えられるNASS2
5526のアドレス入力について説明すると、このアド
レス・ソースはその時のマイクロ命令による次のマイク
ロ命令の選択を可能にするために与えられる。mCRD
20344の飛越し出力は、その時のマイクロ命令がE
USITT20344の同じページ内の別のマイクロ命
令に対する飛越しを指令することを許容する。LBPA
G25528を介するNASS25526の入力は、E
USITT20344内のページを指定するmCRD2
0346の出力の別の部分から与えられる。このLBP
AG25528を介する入力は、長い分岐操作、即ちE
USITT20344の1つのページにおけるあるマイ
クロ命令から別のページにおけるあるマイクロ命令への
飛越しの実行を可能にする。更に、LBPAG2552
8を介してmCRD20346の飛越し出力からのNA
SS25526の入力は、FU10120により要求さ
れたあるマイクロ命令シーケンスをEU10122がそ
の時実行中でない場合には、遊休、即ち待機状態を実行
するため使用される。この場合、遊休ルーチンは、TS
TCON20386がFU10120からEU1012
2に対するEU10122のタスク指名ポインタを監視
することを指令する。もしEU10122のタスク指名
ポインタがCOMQ20342に存在しなければ、ある
いは継続中のものがなければ、TSTCON20386
はNASSC25538がNASS25526に対して
制御入力を与えることを指令して、mCRD20346
とLBPAG25528からのNASS25526の入
力を選択する。このようなタスク指名ポインタがCOM
Q20342に受取られるまで、遊休ルーチンはEU1
0122のタスク指名ポインタ入力について連続的にテ
ストする。この時、TSTCON20386は、継続中
のタスク指名ポインタおよびNASSC25538がN
ASS25526に対して制御出力を与えることを指令
して、一般にSAS25520からのNASS2552
6の入力を選択する。TSTCON20386およびN
ASSC25538もまたNASS25526に指令し
て、呼出されたマイクロ命令からある前の割込みされた
マイクロ命令シーケンスへ戻ると同時にSAS2552
0からの入力を選択する。
【0840】前述の如く、SAS25520はCOMQ
20342およびSUBRA25534から始動アドレ
スを受取る。新たなマイクロ命令シーケンスが開始され
てあるユーザ・プログラムSOPを実行する時あるいは
JP10114のある事象をサービスする時、SAS2
5520はNASS25526に対する入力としてCQ
AS25512またはCQAE25516の出力を選択
することになる。CQCS25510は、ある呼出され
たサブルーチンから前に実行中であったが割込みされた
あるサブルーチンへの戻りと同時に、SUBRA255
34のあるアドレス出力を選択する。前述の如く、その
時実行中のマイクロ命令のシーケンスが割込みされる
時、SUBRA25534はこのマイクロ命令のアドレ
スを有効に記憶するためのスタック機構となる。SUB
RA25534は、事象の処理のマイクロ命令シーケン
スのスタックにおける使用に専用化されるいくつかのレ
ジスタを有する11ビット幅×8ワード深さのレジスタ
である。SUBRA25534の他の部分は、SOPの
スタックのため、即ちある最初のマイクロ命令シーケン
スが第2のマイクロ命令シーケンスを呼出すマイクロ命
令シーケンスのスタックのために使用される。SUBR
A25534は先入れ先出しスタックとしては作用せ
ず、アドレス入力選択レジスタおよびSUBRA255
34がmCRD20346のマイクロ命令制御出力によ
り与えられるランダム・アクセス・メモリーとして作用
させられる。これにより、スタック機構としてのSUB
RA25534の作用はEUSITT20344に記憶
されたマイクロ命令シーケンスによって制御される。図
255に示されるように、割込みされたマイクロ命令シ
ーケンスの接続のマイクロ命令のアドレスは、次に説明
するSCAG25536の出力からSUBRA2553
4のデータ入力に対して与えられる。
20342およびSUBRA25534から始動アドレ
スを受取る。新たなマイクロ命令シーケンスが開始され
てあるユーザ・プログラムSOPを実行する時あるいは
JP10114のある事象をサービスする時、SAS2
5520はNASS25526に対する入力としてCQ
AS25512またはCQAE25516の出力を選択
することになる。CQCS25510は、ある呼出され
たサブルーチンから前に実行中であったが割込みされた
あるサブルーチンへの戻りと同時に、SUBRA255
34のあるアドレス出力を選択する。前述の如く、その
時実行中のマイクロ命令のシーケンスが割込みされる
時、SUBRA25534はこのマイクロ命令のアドレ
スを有効に記憶するためのスタック機構となる。SUB
RA25534は、事象の処理のマイクロ命令シーケン
スのスタックにおける使用に専用化されるいくつかのレ
ジスタを有する11ビット幅×8ワード深さのレジスタ
である。SUBRA25534の他の部分は、SOPの
スタックのため、即ちある最初のマイクロ命令シーケン
スが第2のマイクロ命令シーケンスを呼出すマイクロ命
令シーケンスのスタックのために使用される。SUBR
A25534は先入れ先出しスタックとしては作用せ
ず、アドレス入力選択レジスタおよびSUBRA255
34がmCRD20346のマイクロ命令制御出力によ
り与えられるランダム・アクセス・メモリーとして作用
させられる。これにより、スタック機構としてのSUB
RA25534の作用はEUSITT20344に記憶
されたマイクロ命令シーケンスによって制御される。図
255に示されるように、割込みされたマイクロ命令シ
ーケンスの接続のマイクロ命令のアドレスは、次に説明
するSCAG25536の出力からSUBRA2553
4のデータ入力に対して与えられる。
【0841】前述の如く、SCAG25536は順次ア
ドレスを生成して、マイクロ命令シーケンス内の順次の
マイクロ命令を選択し、またケース操作のためのマイク
ロ命令アドレスを生成する。SCAG25536は、次
のアドレス・レジスタ(NXTR)25540と、次の
アドレス演算論理装置(NAALU)25542と、S
CASE25518を含む。NAALU25542は1
2ビットの演算論理装置である。NAALU25542
の最初の11ビット入力は、ADRD25522の出力
と接続され、これによりEUSITT20344に対し
て与えられる接続のアドレスである。NAALU255
42に対する第2の4ビット入力はSCASE2551
8の出力から与えられる。あるマイクロ命令シーケンス
の順次の実行中、SCASE25518の出力は2進数
零であり、NAALUの桁送り入力は1に強制される。
これにより、NAALU25542の出力はEUSIT
T20344に対して与えられる接続のマイクロ命令ア
ドレスより1つ大きなアドレスであり、これにより次の
順次のマイクロ命令のアドレスとなる。図255に示し
たように、SCASE25518はSCALER203
38の出力側からの入力を受取る。この入力はケース操
作の間使用され、あるデータに関連する番号がNAAL
U25542の第2の入力に対するSCASE2551
8の出力として選択されることを可能にする。SCAL
ER20338からのSCASE25518の入力はこ
れにより、NAG20340がマイクロ命令のケース操
作を行なうことを可能にするが、ケース値はSCALE
R20388の内容によって決定される。
ドレスを生成して、マイクロ命令シーケンス内の順次の
マイクロ命令を選択し、またケース操作のためのマイク
ロ命令アドレスを生成する。SCAG25536は、次
のアドレス・レジスタ(NXTR)25540と、次の
アドレス演算論理装置(NAALU)25542と、S
CASE25518を含む。NAALU25542は1
2ビットの演算論理装置である。NAALU25542
の最初の11ビット入力は、ADRD25522の出力
と接続され、これによりEUSITT20344に対し
て与えられる接続のアドレスである。NAALU255
42に対する第2の4ビット入力はSCASE2551
8の出力から与えられる。あるマイクロ命令シーケンス
の順次の実行中、SCASE25518の出力は2進数
零であり、NAALUの桁送り入力は1に強制される。
これにより、NAALU25542の出力はEUSIT
T20344に対して与えられる接続のマイクロ命令ア
ドレスより1つ大きなアドレスであり、これにより次の
順次のマイクロ命令のアドレスとなる。図255に示し
たように、SCASE25518はSCALER203
38の出力側からの入力を受取る。この入力はケース操
作の間使用され、あるデータに関連する番号がNAAL
U25542の第2の入力に対するSCASE2551
8の出力として選択されることを可能にする。SCAL
ER20338からのSCASE25518の入力はこ
れにより、NAG20340がマイクロ命令のケース操
作を行なうことを可能にするが、ケース値はSCALE
R20388の内容によって決定される。
【0842】NAALU25542の次のアドレス出力
はNXTR25540にロードされるが、これは3状態
の出力レジスタからなる。NXTR25540の次のア
ドレス出力は、SAS25520の出力の場合と共通
に、前述の如くNASS25526の第2の入力と接続
される。従って、マイクロ命令シーケンスの通常の実行
中、SCAG25536はNASS25526とADR
D25522を介して、EUSITT20344からの
順次のマイクロ命令を選択する。今述べたように、SC
AG25536もまたマイクロ命令のケース操作におい
て次のマイクロ命令アドレスを提供することができる。
はNXTR25540にロードされるが、これは3状態
の出力レジスタからなる。NXTR25540の次のア
ドレス出力は、SAS25520の出力の場合と共通
に、前述の如くNASS25526の第2の入力と接続
される。従って、マイクロ命令シーケンスの通常の実行
中、SCAG25536はNASS25526とADR
D25522を介して、EUSITT20344からの
順次のマイクロ命令を選択する。今述べたように、SC
AG25536もまたマイクロ命令のケース操作におい
て次のマイクロ命令アドレスを提供することができる。
【0843】要約すれば、NAG20340は全ての通
常のマイクロ命令シーケンスアドレス指定操作を実施す
ることができる。例えば、NAG20340は、mCR
D20346の飛越しからのNASS25526の入力
を介し、あるいはLBPAG25528を介して飛越し
操作または長い分岐操作のいずれかのその時のマイクロ
命令により次のマイクロ命令の選択を可能にする。NA
G20340は、COMQ20342およびSAS25
520を介してマイクロ命令シーケンスの始動アドレス
を提供し、あるいはSVBRA25534およびSAS
25520を介して割込みされスタックされたマイクロ
命令シーケンスに対してアドレスを戻すことができる。
NAG20340は、SCAG25536の操作を介し
て特定のマイクロ命令シーケンスのマイクロ命令を順次
アドレス指定することができ、あるいはSCAG255
36を介してマイクロ命令ケース操作を実施することが
できる。
常のマイクロ命令シーケンスアドレス指定操作を実施す
ることができる。例えば、NAG20340は、mCR
D20346の飛越しからのNASS25526の入力
を介し、あるいはLBPAG25528を介して飛越し
操作または長い分岐操作のいずれかのその時のマイクロ
命令により次のマイクロ命令の選択を可能にする。NA
G20340は、COMQ20342およびSAS25
520を介してマイクロ命令シーケンスの始動アドレス
を提供し、あるいはSVBRA25534およびSAS
25520を介して割込みされスタックされたマイクロ
命令シーケンスに対してアドレスを戻すことができる。
NAG20340は、SCAG25536の操作を介し
て特定のマイクロ命令シーケンスのマイクロ命令を順次
アドレス指定することができ、あるいはSCAG255
36を介してマイクロ命令ケース操作を実施することが
できる。
【0844】2.オペランド・バッファ20322 EUCL20310の構造および作用について選択した
が、OPB20322の構造および作用については次に
説明する。前述の如く、OPB20322はオペラン
ド、データをMEM10112およびFU10120か
らMODバス10144およびJPDバス10142を
介して受取る。OPB20322は、MULT2031
4およびEXP20316により最も有効に使用された
フォーマットにおいてMULT20314およびEXP
20316に対してデータを提供するいくつかのオペラ
ンドフォーマットの翻訳を実施することができる。前述
の如く、EU10122は整数、パックされあるいはア
ンパックされた10進数および単精度または2倍精度の
浮動小数点数について算術演算を実施することができ
る。
が、OPB20322の構造および作用については次に
説明する。前述の如く、OPB20322はオペラン
ド、データをMEM10112およびFU10120か
らMODバス10144およびJPDバス10142を
介して受取る。OPB20322は、MULT2031
4およびEXP20316により最も有効に使用された
フォーマットにおいてMULT20314およびEXP
20316に対してデータを提供するいくつかのオペラ
ンドフォーマットの翻訳を実施することができる。前述
の如く、EU10122は整数、パックされあるいはア
ンパックされた10進数および単精度または2倍精度の
浮動小数点数について算術演算を実施することができ
る。
【0845】従って、要約すれば、OPB20322
は、MEM10112およびFU10120からの整
数、単精度および2倍精度の浮動小数点数、およびパッ
クされあるいはアンパックされた10進数オペランドを
受入れることができ、またMULT20314およびE
XP20316により最も有効に使用されるフォーマッ
トにおいてMULT20314およびEXP20316
に対してこれらのオペランドの適当なフィールドを提供
することができる。この際、OPB20322は単精度
および2倍精度の浮動小数点数オペランドから指数およ
び仮数のフィールドを抽出して、夫々EXP20316
およびMULT20314に対してこれらのオペランド
の指数および仮数を提供し、またアンパックされた10
進数オペランドをアンパックする、即ちMULT203
14により最も有効に使用されるパックされた10進数
オペランドに変換する。
は、MEM10112およびFU10120からの整
数、単精度および2倍精度の浮動小数点数、およびパッ
クされあるいはアンパックされた10進数オペランドを
受入れることができ、またMULT20314およびE
XP20316により最も有効に使用されるフォーマッ
トにおいてMULT20314およびEXP20316
に対してこれらのオペランドの適当なフィールドを提供
することができる。この際、OPB20322は単精度
および2倍精度の浮動小数点数オペランドから指数およ
び仮数のフィールドを抽出して、夫々EXP20316
およびMULT20314に対してこれらのオペランド
の指数および仮数を提供し、またアンパックされた10
進数オペランドをアンパックする、即ちMULT203
14により最も有効に使用されるパックされた10進数
オペランドに変換する。
【0846】OPB20322の構造および作用につい
て述べたが、MULT20314の構造および作用につ
いては次に説明することにする。
て述べたが、MULT20314の構造および作用につ
いては次に説明することにする。
【0847】3.乗算器20314(図257,図25
8) 前述の如く、MULT20314は、単精度および2倍
精度の浮動小数点数オペランド、整数のオペランドおよ
び10進数オペランドの仮数フィールドについての加減
乗除演算を実施する。OPB20322に関して前に述
べたように、OPB20322は、アンパックされた1
0進数オペランドをMULT20314により演算され
るべきパックされた10進数オペランドに変換する。こ
れにより、MULT20314はアンパックされた10
進数オペランドについての全ての算術演算を有効に実施
することが可能である。
8) 前述の如く、MULT20314は、単精度および2倍
精度の浮動小数点数オペランド、整数のオペランドおよ
び10進数オペランドの仮数フィールドについての加減
乗除演算を実施する。OPB20322に関して前に述
べたように、OPB20322は、アンパックされた1
0進数オペランドをMULT20314により演算され
るべきパックされた10進数オペランドに変換する。こ
れにより、MULT20314はアンパックされた10
進数オペランドについての全ての算術演算を有効に実施
することが可能である。
【0848】a.a.乗算器20314のデータ経路お
よびメモリー(図257) 図257においては、20314のデータ経路およびメ
モリーの更に詳細なブロック図が示される。前述の如
く、MULT20314の主な要素は、MULTRF2
0350およびCONST20360からなる記憶素
子、MULTIM20328とMULTRM20334
を含むオペランド入力および結果出力の多重化ロジッ
ク、および算術演算ロジックを含む。MULT2031
4のオペランド入力および結果出力多重化ロジックおよ
び記憶素子について最初に説明し、MULT20314
の算術演算ロジックの説明が続く。
よびメモリー(図257) 図257においては、20314のデータ経路およびメ
モリーの更に詳細なブロック図が示される。前述の如
く、MULT20314の主な要素は、MULTRF2
0350およびCONST20360からなる記憶素
子、MULTIM20328とMULTRM20334
を含むオペランド入力および結果出力の多重化ロジッ
ク、および算術演算ロジックを含む。MULT2031
4のオペランド入力および結果出力多重化ロジックおよ
び記憶素子について最初に説明し、MULT20314
の算術演算ロジックの説明が続く。
【0849】前述の如く、オペランドを含む入力データ
はMULTINバス20354を介してMULT203
14の算術演算ロジックに対して与えられる。MULT
INバス20354は、3つのソースからのデータが与
えられる。第1のソースは、512ワードX32ビット
幅の読出し専用メモリーであるCONST20360で
ある。CONST20360は、算術演算において使用
される定数の記憶のために使用される。特に、CONS
T20360はASCII文字オペランドであるアンパ
ックされた10進数に対するゾーン・フィールドを記憶
する。前述の如く、アンパックされた10進数オペラン
ドはOPB20322により受取られ、MULT203
14により更に有効に使用されるようにパックされた1
0進数オペランドに変換される。このため、MULT2
0314によりかかるオペランドから生成された最終結
果出力はパックされた10進数フォーマットである。以
下において説明するように、MULT20314は、こ
れらのパックされた10進数結果をゾーン・フィールド
の装入によってアンパックされた10進数結果に変換す
るため使用することができる。図257に示すように、
アドレス入力はEXPQバス20325およびmCRD
20346の出力からCONST20360に対して与
えられる。これらのアドレス入力間の選択は、定数アド
レス・マルチプレクサ(CONSTAM)25710を
介して与えられる。一般に、CONST20360のア
ドレスはEUCL20310から与えられるが、あるい
はまた特殊な操作のためEXPQバス20325から与
えることもできる。
はMULTINバス20354を介してMULT203
14の算術演算ロジックに対して与えられる。MULT
INバス20354は、3つのソースからのデータが与
えられる。第1のソースは、512ワードX32ビット
幅の読出し専用メモリーであるCONST20360で
ある。CONST20360は、算術演算において使用
される定数の記憶のために使用される。特に、CONS
T20360はASCII文字オペランドであるアンパ
ックされた10進数に対するゾーン・フィールドを記憶
する。前述の如く、アンパックされた10進数オペラン
ドはOPB20322により受取られ、MULT203
14により更に有効に使用されるようにパックされた1
0進数オペランドに変換される。このため、MULT2
0314によりかかるオペランドから生成された最終結
果出力はパックされた10進数フォーマットである。以
下において説明するように、MULT20314は、こ
れらのパックされた10進数結果をゾーン・フィールド
の装入によってアンパックされた10進数結果に変換す
るため使用することができる。図257に示すように、
アドレス入力はEXPQバス20325およびmCRD
20346の出力からCONST20360に対して与
えられる。これらのアドレス入力間の選択は、定数アド
レス・マルチプレクサ(CONSTAM)25710を
介して与えられる。一般に、CONST20360のア
ドレスはEUCL20310から与えられるが、あるい
はまた特殊な操作のためEXPQバス20325から与
えることもできる。
【0850】オペランド・データは、2入力の64ビッ
ト・マルチプレクサである。MULTIM20328を
介してMULTINバス20354に対して与えられ
る。MULTIM20328の第1の入力はOPQバス
20323から与えられ、OPB20322から与えら
れるオペランド情報からなる。OPQバス20323は
56ビット幅のバスであり、これに現われるオペランド
・データは、いずれかが直接OPB20322からある
いはアンパックされた10進数のパックされたオペラン
ドへのOPB20322の変換の結果与えられる32ビ
ットの整数オペランド、または32ビットのパックされ
た10進数オペランド、または24ビットの単精度オペ
ランドの仮数フィールド、または56ビットの2倍精度
浮動小数点数オペランドの仮数フィールドからなる。前
述の如く、あるOPQバス20323は特定のオペラン
ドに従って零または符号拡張充填が可能である。
ト・マルチプレクサである。MULTIM20328を
介してMULTINバス20354に対して与えられ
る。MULTIM20328の第1の入力はOPQバス
20323から与えられ、OPB20322から与えら
れるオペランド情報からなる。OPQバス20323は
56ビット幅のバスであり、これに現われるオペランド
・データは、いずれかが直接OPB20322からある
いはアンパックされた10進数のパックされたオペラン
ドへのOPB20322の変換の結果与えられる32ビ
ットの整数オペランド、または32ビットのパックされ
た10進数オペランド、または24ビットの単精度オペ
ランドの仮数フィールド、または56ビットの2倍精度
浮動小数点数オペランドの仮数フィールドからなる。前
述の如く、あるOPQバス20323は特定のオペラン
ドに従って零または符号拡張充填が可能である。
【0851】MULTIM20328の第2の入力はM
ULTRF20350から与えられる。MULTRF2
0350は、16ワードX64ビット幅のランダム・ア
クセス・メモリーである。図203および図257に示
すように、MULTRF20350は、FRバス203
37を介してRFR20336の出力間に接続され、M
ULTIM20328およびMULTINバス2035
4を介してMULT20314の算術演算ロジックの入
力側に接続される。従って、MULTRF20350
は、反復的な算術演算を含む算術演算の中間結果を記憶
するためのスクラッチ・パッド・メモリーとして使用す
ることができる。更に、MULTRF20350の一部
は、GRF10354における如く、FU10120に
おけるMIS10368およびMOS10370と類似
のEU10122のスタック機構として使用される。E
U10122のスタック機構の処理については、EU1
0122のMEM10112およびFU10120に対
するインターフェースの以降の説明において記述する。
MULTRF20350のアドレス入力(ADR)は、
乗数レジスタ・ファイル・アドレス・マルチプレクサ
(MULTRFAM)25712から与えられる。
ULTRF20350から与えられる。MULTRF2
0350は、16ワードX64ビット幅のランダム・ア
クセス・メモリーである。図203および図257に示
すように、MULTRF20350は、FRバス203
37を介してRFR20336の出力間に接続され、M
ULTIM20328およびMULTINバス2035
4を介してMULT20314の算術演算ロジックの入
力側に接続される。従って、MULTRF20350
は、反復的な算術演算を含む算術演算の中間結果を記憶
するためのスクラッチ・パッド・メモリーとして使用す
ることができる。更に、MULTRF20350の一部
は、GRF10354における如く、FU10120に
おけるMIS10368およびMOS10370と類似
のEU10122のスタック機構として使用される。E
U10122のスタック機構の処理については、EU1
0122のMEM10112およびFU10120に対
するインターフェースの以降の説明において記述する。
MULTRF20350のアドレス入力(ADR)は、
乗数レジスタ・ファイル・アドレス・マルチプレクサ
(MULTRFAM)25712から与えられる。
【0852】MULTRFAM25712は、例えばS
N74S258からなる複式4ビット・マルチプレクサ
である。MULTRF20350に対するアドレス入力
に加え、MULTRFAM25712はEXPRF20
380に対してアドレス入力を与える。前述の如く、M
ULTRF20350およびEXPRF20380は共
に、GRF20354およびFR10120と類似のE
U10122の汎用レジスタ・ファイルを構成する。こ
のため、MULTRF20350およびEXPRF20
380は、これらに関する並列の読出しおよび書込みエ
ントリのため並列にアドレス指定される。MULTRF
AM25712に対するアドレス入力は最初にmCRD
20346から与えられ、これによりMULTRF20
350とEXPRF20380のアドレス指定のマイク
ロ命令制御を提供する。MULTRFAM25712に
対する第2のアドレス入力は、乗数レジスタ・ファイル
のアドレス・カウンタ(MULTRFAC)25714
の出力から与えられるのである。
N74S258からなる複式4ビット・マルチプレクサ
である。MULTRF20350に対するアドレス入力
に加え、MULTRFAM25712はEXPRF20
380に対してアドレス入力を与える。前述の如く、M
ULTRF20350およびEXPRF20380は共
に、GRF20354およびFR10120と類似のE
U10122の汎用レジスタ・ファイルを構成する。こ
のため、MULTRF20350およびEXPRF20
380は、これらに関する並列の読出しおよび書込みエ
ントリのため並列にアドレス指定される。MULTRF
AM25712に対するアドレス入力は最初にmCRD
20346から与えられ、これによりMULTRF20
350とEXPRF20380のアドレス指定のマイク
ロ命令制御を提供する。MULTRFAM25712に
対する第2のアドレス入力は、乗数レジスタ・ファイル
のアドレス・カウンタ(MULTRFAC)25714
の出力から与えられるのである。
【0853】MULTRFAC25714は4ビットの
カウンタであり、MULTRF20350およびEXP
RF20380に対する順次アドレスを生成するため使
用される。初期アドレスは、乗算器レジスタ・ファイル
・アドレス・カウンタ・マルチプレクサ(MULTRF
ACM)25716からMULTRFAC25714に
ロードされる。MULTRFACM25716は2入力
の4ビット・マルチプレクサである。MULTRFAC
M25716に対する入力はmCRD20346の出力
から最初に与えられる。この入力は、MULTRFA2
5714にロードされるべき初期アドレスのマイクロ命
令の選択が後で使用されて順次のMULTRF2035
0およびEXPRF20380のアドレスを生成するこ
とを許容する。OPQバス20323からのMULTR
FACM25716の入力は、1つのアドレス即ち1連
のアドレスの始動アドレスが、例えばMEM10112
およびFU10120からJPDバス10142または
MODバス10144を介して選択されることを可能に
する。
カウンタであり、MULTRF20350およびEXP
RF20380に対する順次アドレスを生成するため使
用される。初期アドレスは、乗算器レジスタ・ファイル
・アドレス・カウンタ・マルチプレクサ(MULTRF
ACM)25716からMULTRFAC25714に
ロードされる。MULTRFACM25716は2入力
の4ビット・マルチプレクサである。MULTRFAC
M25716に対する入力はmCRD20346の出力
から最初に与えられる。この入力は、MULTRFA2
5714にロードされるべき初期アドレスのマイクロ命
令の選択が後で使用されて順次のMULTRF2035
0およびEXPRF20380のアドレスを生成するこ
とを許容する。OPQバス20323からのMULTR
FACM25716の入力は、1つのアドレス即ち1連
のアドレスの始動アドレスが、例えばMEM10112
およびFU10120からJPDバス10142または
MODバス10144を介して選択されることを可能に
する。
【0854】MULT20314の算術演算ロジックの
中間および最終結果出力は、FRバス20337および
MULTRM20334から直接MULTRF2035
0のデータ入力に対して与えられる。MULTRM20
334に対する入力は更に、FRバス20337および
CONSIZE20352およびTSTINT2032
0の出力から与えられる。
中間および最終結果出力は、FRバス20337および
MULTRM20334から直接MULTRF2035
0のデータ入力に対して与えられる。MULTRM20
334に対する入力は更に、FRバス20337および
CONSIZE20352およびTSTINT2032
0の出力から与えられる。
【0855】FRバス20337はRFR20336の
64ビット出力と接続されたバスであり、MULT20
314の算術演算の最終演算および中間演算の結果を保
持する。MULT20314の算術演算ロジックの以下
の説明において明らかなように、RFR20336の出
力、従ってFRバス20337は64ビット幅である。
特に2倍精度浮動小数点数の64ビットの仮数フィール
ドを含む演算において、あるMULT20314の算術
演算の中間結果の全ての有意義なデータ・ビットの保持
を保証するため64ビットが提供される。更に、今すぐ
に説明するように、また前に述べたように、MULT2
0314はパックされた10進数フォーマットにおける
最終結果をアンパックされた10進数フォーマットにお
ける最終結果に変換することができる。この操作におい
ては、単一の32ビット、即ち1ワードのパックされた
10進数の結果が、ゾーン・フィールドの挿入によって
64ビットの、2ワードのアンパックされた10進数フ
ォーマットに変換される。
64ビット出力と接続されたバスであり、MULT20
314の算術演算の最終演算および中間演算の結果を保
持する。MULT20314の算術演算ロジックの以下
の説明において明らかなように、RFR20336の出
力、従ってFRバス20337は64ビット幅である。
特に2倍精度浮動小数点数の64ビットの仮数フィール
ドを含む演算において、あるMULT20314の算術
演算の中間結果の全ての有意義なデータ・ビットの保持
を保証するため64ビットが提供される。更に、今すぐ
に説明するように、また前に述べたように、MULT2
0314はパックされた10進数フォーマットにおける
最終結果をアンパックされた10進数フォーマットにお
ける最終結果に変換することができる。この操作におい
ては、単一の32ビット、即ち1ワードのパックされた
10進数の結果が、ゾーン・フィールドの挿入によって
64ビットの、2ワードのアンパックされた10進数フ
ォーマットに変換される。
【0856】前述の如く、2つの並列なデータ経路がF
Rバス20337からMULTRF20350への情報
の転送のために提供される。第1の経路は直接FRバス
20337からで、第2の経路はMULTRM2033
4のアンパックされた10進数マルチプレクサ(UPD
M)25718経由である。直接経路は、FRバス20
337のビット0乃至23およびビット56乃至63か
らなる情報の32ビットに対して使用される。UPDM
26718を経由するデータ経路は、UPDM2571
8の第1の入力に接続されたFRバス20337のビッ
ト24乃至55、またはUPDM25718の第2の入
力と接続されたビット40乃至55のいずれかを含む。
単精度浮動小数点数は32ビット数プラス2つ以上保護
ビットであり、これによりMULTRF20350に対
する直接経路のビット0乃至23を介し、またUPDM
25718の第1の入力(ビット24乃至55)を介し
てMULTRF20350に対して書込まれる。2倍精
度の浮動小数点数は、5ビットの幅プラス保護ビットで
あり、このためMULTRF20350に対する直接経
路およびUPDM25718の第1の入力を経由する経
路を使用する。直接経路のビット56乃至63は、2倍
精度の浮動小数点数の保護ビットに対して使用される。
整数およびパックされた10進数の双方はFRバス20
337のビット24乃至55を使用し、このためUPD
M25718の第1の入力を介してMULTRF203
50に対し書込まれる。前述の如く、これらのオペラン
ドのビット0乃至23は符号拡張により充填される。
Rバス20337からMULTRF20350への情報
の転送のために提供される。第1の経路は直接FRバス
20337からで、第2の経路はMULTRM2033
4のアンパックされた10進数マルチプレクサ(UPD
M)25718経由である。直接経路は、FRバス20
337のビット0乃至23およびビット56乃至63か
らなる情報の32ビットに対して使用される。UPDM
26718を経由するデータ経路は、UPDM2571
8の第1の入力に接続されたFRバス20337のビッ
ト24乃至55、またはUPDM25718の第2の入
力と接続されたビット40乃至55のいずれかを含む。
単精度浮動小数点数は32ビット数プラス2つ以上保護
ビットであり、これによりMULTRF20350に対
する直接経路のビット0乃至23を介し、またUPDM
25718の第1の入力(ビット24乃至55)を介し
てMULTRF20350に対して書込まれる。2倍精
度の浮動小数点数は、5ビットの幅プラス保護ビットで
あり、このためMULTRF20350に対する直接経
路およびUPDM25718の第1の入力を経由する経
路を使用する。直接経路のビット56乃至63は、2倍
精度の浮動小数点数の保護ビットに対して使用される。
整数およびパックされた10進数の双方はFRバス20
337のビット24乃至55を使用し、このためUPD
M25718の第1の入力を介してMULTRF203
50に対し書込まれる。前述の如く、これらのオペラン
ドのビット0乃至23は符号拡張により充填される。
【0857】a.a.a.コンテナ・サイズの検査 前述の如く、MULTRM20334はCONSIZE
20352からの入力を有する。以下においてTSTI
NT20320に関して説明するように、CONSIZ
E20352は、EU10122からMEM10112
に対する結果の各ストア・バック毎に「コンテナ・サイ
ズ」検査を実施する。CONSIZE20352は、結
果が書込まれるべきMEM10112のアドレス空間を
記述する論理記述子に対してストア・バックされるべき
結果における有意義なビットの数を比較する。MEM1
0112に対する反復的な書込み操作が結果のMEM1
0112への転送のため必要とされる場合、即ちストリ
ング転送において、コンテナ・サイズ情報はコンテナ・
サイズ・ドライバ(CONSIZED)25720およ
びMULTRM20334を介してCONSIZE20
352から読出されて、MULTRF20350に書込
まれる。このため、MULTRF20350に記憶され
るコンテナ・サイズ情報を用いて、EU10122から
MEM10112に対する結果のストリング転送の間、
EU10122が連続的なコンテナ・サイズ検査を実施
することを可能にする。更に、すぐに説明するように、
コンテナ・サイズ情報はCONSIZE20352から
MODバス10144に対して読込むことができる。
20352からの入力を有する。以下においてTSTI
NT20320に関して説明するように、CONSIZ
E20352は、EU10122からMEM10112
に対する結果の各ストア・バック毎に「コンテナ・サイ
ズ」検査を実施する。CONSIZE20352は、結
果が書込まれるべきMEM10112のアドレス空間を
記述する論理記述子に対してストア・バックされるべき
結果における有意義なビットの数を比較する。MEM1
0112に対する反復的な書込み操作が結果のMEM1
0112への転送のため必要とされる場合、即ちストリ
ング転送において、コンテナ・サイズ情報はコンテナ・
サイズ・ドライバ(CONSIZED)25720およ
びMULTRM20334を介してCONSIZE20
352から読出されて、MULTRF20350に書込
まれる。このため、MULTRF20350に記憶され
るコンテナ・サイズ情報を用いて、EU10122から
MEM10112に対する結果のストリング転送の間、
EU10122が連続的なコンテナ・サイズ検査を実施
することを可能にする。更に、すぐに説明するように、
コンテナ・サイズ情報はCONSIZE20352から
MODバス10144に対して読込むことができる。
【0858】b.b.b.最終開口の出力マルチプレク
サ20324 最後にFROM20324について述べれば、前述の如
く、FROM20324は一般に、MEM10112ま
たはFU10120に対する転送のため、JPDバス1
0142に対するEU10122の算術演算の結果を転
送するため使用される。図257に示すように、FRO
M20324は、24ビットの最終結果バス・ドライバ
(FRBD)25722および結果バス・ドライバ(R
BR)25724からなっている。FRBD25722
の入力はFRバス20337と接続され、これに現われ
るデータがJPDバス10142に対して転送されるこ
とを可能にする。特に、FRBD25722は、EXP
20316からの対応する指数フィールドと並列に、J
PDバス10142に対して単精度の浮動小数点数の結
果の24ビットの仮数フィールドを転送するため使用さ
れる。RBR25724の入力はRSLTバス2038
8と接続されてUPDM25718の出力がJPDバス
10142に対して転送されることを可能にする。一般
に、RBR25724、RSLTバス20388および
UPDM25718は、MULT20314からJPD
バス10142に対してEU10122の演算の最終結
果を転送するために使用される。このデータ経路により
転送される最終結果は、整数、パックされあるいはアン
パックされた10進数結果および2倍精度浮動小数点数
の結果の仮数フィールドを含む。2倍精度の浮動小数点
数のアンパック10進数および仮数フィールドは共に2
つの32ビット・ワードからなり、このため2つの順次
の転送操作においてJPDバス10142に対して転送
される。
サ20324 最後にFROM20324について述べれば、前述の如
く、FROM20324は一般に、MEM10112ま
たはFU10120に対する転送のため、JPDバス1
0142に対するEU10122の算術演算の結果を転
送するため使用される。図257に示すように、FRO
M20324は、24ビットの最終結果バス・ドライバ
(FRBD)25722および結果バス・ドライバ(R
BR)25724からなっている。FRBD25722
の入力はFRバス20337と接続され、これに現われ
るデータがJPDバス10142に対して転送されるこ
とを可能にする。特に、FRBD25722は、EXP
20316からの対応する指数フィールドと並列に、J
PDバス10142に対して単精度の浮動小数点数の結
果の24ビットの仮数フィールドを転送するため使用さ
れる。RBR25724の入力はRSLTバス2038
8と接続されてUPDM25718の出力がJPDバス
10142に対して転送されることを可能にする。一般
に、RBR25724、RSLTバス20388および
UPDM25718は、MULT20314からJPD
バス10142に対してEU10122の演算の最終結
果を転送するために使用される。このデータ経路により
転送される最終結果は、整数、パックされあるいはアン
パックされた10進数結果および2倍精度浮動小数点数
の結果の仮数フィールドを含む。2倍精度の浮動小数点
数のアンパック10進数および仮数フィールドは共に2
つの32ビット・ワードからなり、このため2つの順次
の転送操作においてJPDバス10142に対して転送
される。
【0859】MULT20314の記憶素子および入出
力回路の構造および作用について説明したが、MULT
20314の算術演算ロジックについて次に説明するこ
とにする。
力回路の構造および作用について説明したが、MULT
20314の算術演算ロジックについて次に説明するこ
とにする。
【0860】4.テストおよびインターフェース・ロジ
ック20320(図260〜図268) 前述の如く、TSTINT20320は、CONSIZ
E20352と、MULTIM20328と、TSTC
OND20384と、RSLTバス20388を含む。
CONSIZE20352は、前述の如く、EU101
22の操作結果がMEM10112に対して書込まれる
時、「コンテナ・サイズ」検査操作を実施する。即ち、
CONSIZE20352は、EU10122の結果の
有意義ビットのサイズまたは数を、EU10122の結
果が書込まれるべきMEM10112の場所の容量即ち
コンテナ・サイズと比較する。図203に示すように、
CONSIZE20352はFRバス20337からの
第1の入力、即ちEU10122の演算結果を受取る。
CONSIZE20352の第2の入力は、これらのE
U10122の結果が書込まれるべきMEM10112
のアドレス空間を識別する論理記述子の長さフィールド
を受取るように長さバス20226と接続されている。
CONSIZE20352は、例えば、FRバス203
37に現われるEU10122の演算結果を検査しかつ
これらの結果におけるデータのビット数を判定するた
め、読出し専用メモリーおよびフィールド・プログラム
・ロジック・アレイの組合せである論理回路を含む。C
ONSIZE20352はEU10122の結果のサイ
ズを論理記述子の長さフィールドと比較し、特に、もし
結果のサイズが論理記述子の長さを越える場合は、以下
に示すように、MULTIM20328に対して警報出
力を与える。
ック20320(図260〜図268) 前述の如く、TSTINT20320は、CONSIZ
E20352と、MULTIM20328と、TSTC
OND20384と、RSLTバス20388を含む。
CONSIZE20352は、前述の如く、EU101
22の操作結果がMEM10112に対して書込まれる
時、「コンテナ・サイズ」検査操作を実施する。即ち、
CONSIZE20352は、EU10122の結果の
有意義ビットのサイズまたは数を、EU10122の結
果が書込まれるべきMEM10112の場所の容量即ち
コンテナ・サイズと比較する。図203に示すように、
CONSIZE20352はFRバス20337からの
第1の入力、即ちEU10122の演算結果を受取る。
CONSIZE20352の第2の入力は、これらのE
U10122の結果が書込まれるべきMEM10112
のアドレス空間を識別する論理記述子の長さフィールド
を受取るように長さバス20226と接続されている。
CONSIZE20352は、例えば、FRバス203
37に現われるEU10122の演算結果を検査しかつ
これらの結果におけるデータのビット数を判定するた
め、読出し専用メモリーおよびフィールド・プログラム
・ロジック・アレイの組合せである論理回路を含む。C
ONSIZE20352はEU10122の結果のサイ
ズを論理記述子の長さフィールドと比較し、特に、もし
結果のサイズが論理記述子の長さを越える場合は、以下
に示すように、MULTIM20328に対して警報出
力を与える。
【0861】前に述べ、かつ以下において更に説明する
TSTCOND20384は、FU10120とEU1
0122間のインターフェース回路である。TSTCO
ND20384は、EU10122の操作に関してEU
10122により実施されるあるテスト操作の結果をF
U10120が規定して検査することを可能にする。
TSTCOND20384は、FU10120とEU1
0122間のインターフェース回路である。TSTCO
ND20384は、EU10122の操作に関してEU
10122により実施されるあるテスト操作の結果をF
U10120が規定して検査することを可能にする。
【0862】MULTIM20328はEU10122
の操作を監視して、ある「例外」が生じる時を表示する
出力を提供する。これらの例外とは、意図された零によ
る除算、浮動小数点数の指数の下位桁あふれまたは桁あ
ふれ、および整数のコンテナ・サイズの障害が含まれ
る。RSLTバス20388もまた、EU10122の
操作に割込みを行なうことをFU10120に許容する
EU10122とFU10120間のインターフェース
である。RSLTバス20388は、FU10120を
して、前に述べたあるFU10120の事象の処理にお
いて補佐を行なうある操作の実行をEU10122に指
令することを許容する。
の操作を監視して、ある「例外」が生じる時を表示する
出力を提供する。これらの例外とは、意図された零によ
る除算、浮動小数点数の指数の下位桁あふれまたは桁あ
ふれ、および整数のコンテナ・サイズの障害が含まれ
る。RSLTバス20388もまた、EU10122の
操作に割込みを行なうことをFU10120に許容する
EU10122とFU10120間のインターフェース
である。RSLTバス20388は、FU10120を
して、前に述べたあるFU10120の事象の処理にお
いて補佐を行なうある操作の実行をEU10122に指
令することを許容する。
【0863】CONSIZE20352、MULTIM
20328、TSTCOND20384、RSLTバス
20388の作用、およびFU10120に対するEU
10122のインターフェースの他の特徴については、
前記インターフェースの作用およびFU10120のス
タック機構の如きEU10122のある内部機構の作用
についての以下の説明において、更に記述することにす
る。
20328、TSTCOND20384、RSLTバス
20388の作用、およびFU10120に対するEU
10122のインターフェースの他の特徴については、
前記インターフェースの作用およびFU10120のス
タック機構の如きEU10122のある内部機構の作用
についての以下の説明において、更に記述することにす
る。
【0864】a.a.FU10120/EU10122
間のインターフェース 前述の如く、EU10122およびFU10120は、
各々がそれ自体のマイクロコード制御下で作用する非同
期の処理装置である。EU10122およびFU101
20は同時かつ相互に独立して作用するが相互に結合さ
れ、その作用は以下に述べるインターフェース信号によ
って連係される。EU10122が万一FU10120
からの要求に即時応答できない場合、EU10122が
使用可能になるまでFU10120は遊休状態となり、
また逆にEU10122からのオペランド即ち操作の要
求を受取らないかあるいはこれがない場合には、オペラ
ンド即ち操作の要求がFU10120から受取られるま
で、EU10122は遊休状態を維持することになる。
間のインターフェース 前述の如く、EU10122およびFU10120は、
各々がそれ自体のマイクロコード制御下で作用する非同
期の処理装置である。EU10122およびFU101
20は同時かつ相互に独立して作用するが相互に結合さ
れ、その作用は以下に述べるインターフェース信号によ
って連係される。EU10122が万一FU10120
からの要求に即時応答できない場合、EU10122が
使用可能になるまでFU10120は遊休状態となり、
また逆にEU10122からのオペランド即ち操作の要
求を受取らないかあるいはこれがない場合には、オペラ
ンド即ち操作の要求がFU10120から受取られるま
で、EU10122は遊休状態を維持することになる。
【0865】通常の作用においては、EU10122は
FU10120の制御下にあるオペランドを操作し、こ
れは更にユーザ・プログラムのSOPの制御下にある。
FU10120があるオペランドの算術演算または論理
演算を要求する時は、FU10120は指令即ちEU1
0122に対するタスク指名ポインタ(EUDP)をタ
スク指名する。前述の如く、EUDPは基本的にはEU
SITT20344に対する初期アドレスである。EU
DPは、オペランドについての必要な演算を実施するE
U10122のマイクロ命令シーケンスの始動場所を識
別する。前述の如くFU10120の制御下でオペラン
ドがEU10122から取出され、OPB20322に
対して転送される。次に、これらのオペランドがEU1
0122によりOPB20322から呼出されて、前述
の如くMULT20314およびEXP20316に対
して転送される。所要の操作が完了した後、FU101
20は結果が用意されたことを通知される。この時点
で、FU10120はあるテスト条件、例えばTSTC
OND20384を介してある整数即ち10進数の桁送
りビットがセットされたか、あるいは仮数の符号ビット
がセットまたはリセットされるかの如き条件を検査する
ことができる。このテスト操作は、FU10120およ
びEU10122の操作の条件付き分岐および同期操作
のためFU10120によって使用される。MULTI
M20328による例外検査もまたこの時実施される。
例外検査は、例えば、零による除算が試みられるか、あ
るいはコンテナ・サイズの障害が生じたかどうかを判定
する。一般に、FU10120が例外検査を要求するま
ではFU10120は例外エラーの通知を受けない。結
果がFU10120またはMEM10112に対してE
U10122により転送された後、次の操作がFU10
120により要求されるまでEU10122は遊休操作
に入る。
FU10120の制御下にあるオペランドを操作し、こ
れは更にユーザ・プログラムのSOPの制御下にある。
FU10120があるオペランドの算術演算または論理
演算を要求する時は、FU10120は指令即ちEU1
0122に対するタスク指名ポインタ(EUDP)をタ
スク指名する。前述の如く、EUDPは基本的にはEU
SITT20344に対する初期アドレスである。EU
DPは、オペランドについての必要な演算を実施するE
U10122のマイクロ命令シーケンスの始動場所を識
別する。前述の如くFU10120の制御下でオペラン
ドがEU10122から取出され、OPB20322に
対して転送される。次に、これらのオペランドがEU1
0122によりOPB20322から呼出されて、前述
の如くMULT20314およびEXP20316に対
して転送される。所要の操作が完了した後、FU101
20は結果が用意されたことを通知される。この時点
で、FU10120はあるテスト条件、例えばTSTC
OND20384を介してある整数即ち10進数の桁送
りビットがセットされたか、あるいは仮数の符号ビット
がセットまたはリセットされるかの如き条件を検査する
ことができる。このテスト操作は、FU10120およ
びEU10122の操作の条件付き分岐および同期操作
のためFU10120によって使用される。MULTI
M20328による例外検査もまたこの時実施される。
例外検査は、例えば、零による除算が試みられるか、あ
るいはコンテナ・サイズの障害が生じたかどうかを判定
する。一般に、FU10120が例外検査を要求するま
ではFU10120は例外エラーの通知を受けない。結
果がFU10120またはMEM10112に対してE
U10122により転送された後、次の操作がFU10
120により要求されるまでEU10122は遊休操作
に入る。
【0866】FU10120とEU10122間の全体
的なインターフェースの作用について簡単に説明した
が、初期手順と呼ばれるこのインターフェースの作用に
ついては次に更に詳細に説明する。一般に、通常の操作
におけるEU10122とFU10120間の初期手順
操作は6つの操作に続くものと見做すことができる。こ
れらの操作は、例えば、COMQ20342のローディ
ング、OPB20322のローディング、EU1012
2からFU10120またはMEM10112に対する
結果のストア・バックまたは転送、テスト条件の検査、
例外検査およびEU10122の遊休操作を含む。FU
10120とEU10122間の初期手順については、
今挙げた順序に従ってこれらの操作の各種類について以
下において説明する。
的なインターフェースの作用について簡単に説明した
が、初期手順と呼ばれるこのインターフェースの作用に
ついては次に更に詳細に説明する。一般に、通常の操作
におけるEU10122とFU10120間の初期手順
操作は6つの操作に続くものと見做すことができる。こ
れらの操作は、例えば、COMQ20342のローディ
ング、OPB20322のローディング、EU1012
2からFU10120またはMEM10112に対する
結果のストア・バックまたは転送、テスト条件の検査、
例外検査およびEU10122の遊休操作を含む。FU
10120とEU10122間の初期手順については、
今挙げた順序に従ってこれらの操作の各種類について以
下において説明する。
【0867】a.a.a.指令キュー20342のロー
ディング(図260) 図260においては、図示の如くCOMQ20342の
ローディングのオブジェクトのためFU10120に対
するEU10122のインターフェースが示されてい
る。通常のSOP指令によるJP10114の操作の
間、8ビットの命令(OP)コードは前に述べたように
命令ストリームから分析され、またこれも前に説明した
ようにEUSDT20266をアドレス指定するダイア
レクト情報と連結される。EUSDT20266は、E
USITT20344に対して対応するアドレス即ちE
UDPを与える。
ディング(図260) 図260においては、図示の如くCOMQ20342の
ローディングのオブジェクトのためFU10120に対
するEU10122のインターフェースが示されてい
る。通常のSOP指令によるJP10114の操作の
間、8ビットの命令(OP)コードは前に述べたように
命令ストリームから分析され、またこれも前に説明した
ようにEUSDT20266をアドレス指定するダイア
レクト情報と連結される。EUSDT20266は、E
USITT20344に対して対応するアドレス即ちE
UDPを与える。
【0868】ダイアレクト情報は、その時実行中のS言
語を指定し、その結果このS言語に対してEUSITT
20344において使用可能なマイクロ命令シーケンス
のグループを指定する。前述の如く、FU10120は
1ダイアレクト当り245までのマイクロ命令シーケン
スを有する4つのS言語ダイアレクトと、1ダイアレク
ト当り128までのマイクロ命令シーケンスを有する8
つのダイアレクトを指定することができる。
語を指定し、その結果このS言語に対してEUSITT
20344において使用可能なマイクロ命令シーケンス
のグループを指定する。前述の如く、FU10120は
1ダイアレクト当り245までのマイクロ命令シーケン
スを有する4つのS言語ダイアレクトと、1ダイアレク
ト当り128までのマイクロ命令シーケンスを有する8
つのダイアレクトを指定することができる。
【0869】EUSDT20266によって与えられる
EUDPは、前述の如く、9ビットのアドレス・フィー
ルドと、2ビットのオペランド情報フィールドと、1ビ
ットのフラッグ・フィールドからなっている。アドレス
・フィールドはEUSITT20344におけるマイク
ロ命令シーケンスの始動アドレスであり、EU1012
2はこのマイクロ命令シーケンスにより指令される操作
を実施することになる。EUSITT20344はアド
レス・フィールドの11ビットを要求し、EUDPの9
ビット・アドレス・フィールド左寄せおよび零充填によ
ってある11ビットのアドレス・フィールドにマップさ
れる。
EUDPは、前述の如く、9ビットのアドレス・フィー
ルドと、2ビットのオペランド情報フィールドと、1ビ
ットのフラッグ・フィールドからなっている。アドレス
・フィールドはEUSITT20344におけるマイク
ロ命令シーケンスの始動アドレスであり、EU1012
2はこのマイクロ命令シーケンスにより指令される操作
を実施することになる。EUSITT20344はアド
レス・フィールドの11ビットを要求し、EUDPの9
ビット・アドレス・フィールド左寄せおよび零充填によ
ってある11ビットのアドレス・フィールドにマップさ
れる。
【0870】FU10120はまた、JPDバス101
42からのEU10122のマイクロ命令制御されたど
んな操作でもタスク指名即ち選択することができる。こ
のようなEUDPはJPDバス10142からEUSI
TT20344のデータ入力に対して与えられ、直接m
CRD20346に送られる。EUDPがJPDバス1
0142から与えられる前に、FU10120はこのE
UDPをMEM10112に記憶された妥当な、即ち許
容されたEUSITT20344のアドレスのリストと
比較する検査操作を行なう。もしJPDバス10142
を介して与えられたEUDPが適正なEUSITTのア
ドレスでなければ、誤りが表示される。あるいはまた、
FU10120は、そのマイクロ命令ワードにおけるリ
テラル・フィールドからEUDP、即ちEUSITT2
0344のアドレスを有効に提供することができる、こ
のようなFU10120のマイクロ命令ワードのリテラ
ル・フィールドがEUSDT20266に対するSOP
として有効に使用可能である。
42からのEU10122のマイクロ命令制御されたど
んな操作でもタスク指名即ち選択することができる。こ
のようなEUDPはJPDバス10142からEUSI
TT20344のデータ入力に対して与えられ、直接m
CRD20346に送られる。EUDPがJPDバス1
0142から与えられる前に、FU10120はこのE
UDPをMEM10112に記憶された妥当な、即ち許
容されたEUSITT20344のアドレスのリストと
比較する検査操作を行なう。もしJPDバス10142
を介して与えられたEUDPが適正なEUSITTのア
ドレスでなければ、誤りが表示される。あるいはまた、
FU10120は、そのマイクロ命令ワードにおけるリ
テラル・フィールドからEUDP、即ちEUSITT2
0344のアドレスを有効に提供することができる、こ
のようなFU10120のマイクロ命令ワードのリテラ
ル・フィールドがEUSDT20266に対するSOP
として有効に使用可能である。
【0871】COMQ20342のロード操作の間EU
10122とFU10120間の初期手順は、図260
に示すように進行可能である。12ビットのEUDPが
EUDISバス20206上に配され、制御信号ロード
指令キュー(LDCMQ)が保有される。もしCOMQ
20342が充填済みであるならば、COMQ2034
2に余地ができるまで、FU10120を状態M0に保
持させる制御信号の指令保持(CMDHOLD)をEU
10122が生じる。前述の如く、COMQ20342
は2つの2ワード・バッファからなり、このバッファに
おいては1つのバッファが通常のSOP操作のため使用
され、他方のバッファはFU10120およびEU10
122の内部機構操作の制御のため使用される。
10122とFU10120間の初期手順は、図260
に示すように進行可能である。12ビットのEUDPが
EUDISバス20206上に配され、制御信号ロード
指令キュー(LDCMQ)が保有される。もしCOMQ
20342が充填済みであるならば、COMQ2034
2に余地ができるまで、FU10120を状態M0に保
持させる制御信号の指令保持(CMDHOLD)をEU
10122が生じる。前述の如く、COMQ20342
は2つの2ワード・バッファからなり、このバッファに
おいては1つのバッファが通常のSOP操作のため使用
され、他方のバッファはFU10120およびEU10
122の内部機構操作の制御のため使用される。
【0872】EUDPは、状態のタイミング信号MIC
PTおよびM1が保有される時COMQ20342に対
してロードされる。もしCOMQ20342に対して転
送されるEUDPが2倍精度の浮動小数点数の演算に関
するものである場合、制御信号「2倍精度のセット(S
ETDP)」が保有される。SETDPはOPB203
22の制御のため使用され、単精度および2倍精度の浮
動小数点数演算は同じSOPを他の方法で使用するた
め、同じEUSITT20344のマイクロ命令シーケ
ンスを他の方法で照合することになる。
PTおよびM1が保有される時COMQ20342に対
してロードされる。もしCOMQ20342に対して転
送されるEUDPが2倍精度の浮動小数点数の演算に関
するものである場合、制御信号「2倍精度のセット(S
ETDP)」が保有される。SETDPはOPB203
22の制御のため使用され、単精度および2倍精度の浮
動小数点数演算は同じSOPを他の方法で使用するた
め、同じEUSITT20344のマイクロ命令シーケ
ンスを他の方法で照合することになる。
【0873】この時点で、EUDPはCOMQ2034
2に対してロードされ、前述の如くEUCL20310
によりFU10120の操作を制御するため復号され
る。要求されたマイクロ命令シーケンスが実行された後
前記のEUDPのEUSITT20344のマイクロ命
令シーケンスによって特定の各EUDPがクリアされ
る。
2に対してロードされ、前述の如くEUCL20310
によりFU10120の操作を制御するため復号され
る。要求されたマイクロ命令シーケンスが実行された後
前記のEUDPのEUSITT20344のマイクロ命
令シーケンスによって特定の各EUDPがクリアされ
る。
【0874】b.b.b.オペランド・バッファ203
20のローディング(図261) 図261においては、OPB20322のローディング
のためEU10122、FU10120およびMEM1
0112の間のインターフェースおよび初期手順の略図
が示される。EU10122からの制御信号クリア・キ
ュー充填(CLQF)は、FU10120がEU101
22に対して転送されるべきオペランドに対するMEM
10112への要求を開始する前に、EU10122に
よって保有されねばならない。CLQFはクリアし、
「EU10122のOPB20322充填」状態がFU
10120に生じる。これにより、CLQFは、OPB
20322にオペランドを受取る余地が存在することを
表示する。もしFU10120が「EU10122のO
PB20322充填」状態にあり、また別のオペランド
がEU10122に対して転送されることを要求される
ならば、FU10120はCLQFが保有されるまで状
態M1に保持されることになる。
20のローディング(図261) 図261においては、OPB20322のローディング
のためEU10122、FU10120およびMEM1
0112の間のインターフェースおよび初期手順の略図
が示される。EU10122からの制御信号クリア・キ
ュー充填(CLQF)は、FU10120がEU101
22に対して転送されるべきオペランドに対するMEM
10112への要求を開始する前に、EU10122に
よって保有されねばならない。CLQFはクリアし、
「EU10122のOPB20322充填」状態がFU
10120に生じる。これにより、CLQFは、OPB
20322にオペランドを受取る余地が存在することを
表示する。もしFU10120が「EU10122のO
PB20322充填」状態にあり、また別のオペランド
がEU10122に対して転送されることを要求される
ならば、FU10120はCLQFが保有されるまで状
態M1に保持されることになる。
【0875】ある特定のSOPの実行の開始時に、「E
U10122のOPB20322充填」状態が生じるこ
となくFU10120は2つのオペランドをOPB20
322に転送することができる。これは、EU1012
2があるSOPの実行の始めに遊休状態であり、第2の
オペランドが到着する前にOPB20322からの第1
のオペランドを略々即座にアンロードするためである。
U10122のOPB20322充填」状態が生じるこ
となくFU10120は2つのオペランドをOPB20
322に転送することができる。これは、EU1012
2があるSOPの実行の始めに遊休状態であり、第2の
オペランドが到着する前にOPB20322からの第1
のオペランドを略々即座にアンロードするためである。
【0876】FU10120から与えられた制御信号の
ジョブ処理装置オペランド(JPOP)は、MEM10
112からMODバス10144を介してOPB203
22に対して転送されるべきオペランドに対して保有さ
れない状態でなければならない。これは、JPOPNO
通常の状態である。もしJPOPが保有されるならば、
OPB20322はJPDバス10142からのデータ
でロードされる。データは、制御信号M1CPTおよび
JPOPによってJPDバス10142からOPB20
322にストローブされる。しかし、MEM10112
から読出されたオペランドは、MEM10112がDA
VEBを保有してMEM10112からの妥当データが
MODバス10144上で使用可能であることを表示す
る時MODバス10144を介してOPB20322に
対して転送される。DAVEBもまたMODバス101
44上のデータをOPB20322に対してストローブ
するため使用される。もしMEM10112からの制御
信号ZFILLがこの時点で保有されるならば、整数オ
ペランド演算の間これらのオペランドが符号が付されず
コード拡張ではなく零充填の状態に残されるべきことを
表示するように信号ZFILLが解釈される。もしデー
タがMEM10112からではなくJPDバス1014
2から与えられるならば、その時のEUDPのビット1
1は、MODバス10144からのOPB20322の
ローディングの間、ZFILLと同じ機能を実施するた
め使用することができる。
ジョブ処理装置オペランド(JPOP)は、MEM10
112からMODバス10144を介してOPB203
22に対して転送されるべきオペランドに対して保有さ
れない状態でなければならない。これは、JPOPNO
通常の状態である。もしJPOPが保有されるならば、
OPB20322はJPDバス10142からのデータ
でロードされる。データは、制御信号M1CPTおよび
JPOPによってJPDバス10142からOPB20
322にストローブされる。しかし、MEM10112
から読出されたオペランドは、MEM10112がDA
VEBを保有してMEM10112からの妥当データが
MODバス10144上で使用可能であることを表示す
る時MODバス10144を介してOPB20322に
対して転送される。DAVEBもまたMODバス101
44上のデータをOPB20322に対してストローブ
するため使用される。もしMEM10112からの制御
信号ZFILLがこの時点で保有されるならば、整数オ
ペランド演算の間これらのオペランドが符号が付されず
コード拡張ではなく零充填の状態に残されるべきことを
表示するように信号ZFILLが解釈される。もしデー
タがMEM10112からではなくJPDバス1014
2から与えられるならば、その時のEUDPのビット1
1は、MODバス10144からのOPB20322の
ローディングの間、ZFILLと同じ機能を実施するた
め使用することができる。
【0877】OPB20322のローディングは、一部
は、FU10120からEUDISバス20206を介
して与えられるEUDPのビット9および10によって
制御される。ビット9は第1のオペランドの長さを示
し、ビット10は第2のオペランドの長さを示す。オペ
ランドの長さは、EUDPのアドレス部分に示されるオ
ペランド形式と共に、ある特定のオペランドが如何にし
てOPB20322からアンロードされてMULT20
314およびEXP20316に対して転送されるかを
判断する。
は、FU10120からEUDISバス20206を介
して与えられるEUDPのビット9および10によって
制御される。ビット9は第1のオペランドの長さを示
し、ビット10は第2のオペランドの長さを示す。オペ
ランドの長さは、EUDPのアドレス部分に示されるオ
ペランド形式と共に、ある特定のオペランドが如何にし
てOPB20322からアンロードされてMULT20
314およびEXP20316に対して転送されるかを
判断する。
【0878】この時点において、COMQ20342お
よびOPB20322は夫々EUDPおよびオペランド
でロードされている。対応するEUDPがCOMQ20
342に対してロードされる前にはオペランドは一般に
OPB20322に転送されないことを留意すべきであ
る。しかし、オペランドおよびEUDPは同時にEU1
0122に対して転送することができる。もし他のオペ
ランドがある特定の操作のため要求されるならば、これ
らのオペランドは前述の如くOPB20322に対して
ロードされるのである。
よびOPB20322は夫々EUDPおよびオペランド
でロードされている。対応するEUDPがCOMQ20
342に対してロードされる前にはオペランドは一般に
OPB20322に転送されないことを留意すべきであ
る。しかし、オペランドおよびEUDPは同時にEU1
0122に対して転送することができる。もし他のオペ
ランドがある特定の操作のため要求されるならば、これ
らのオペランドは前述の如くOPB20322に対して
ロードされるのである。
【0879】c.c.c.ストア・バック(図262) 図262においては、EU10122からMEM101
12への結果のストア・バック即ち転送およびその内部
において実施される初期手順の略図が示される。EU1
0122の操作の最終結果が使用可能となる時、EU1
0122は制御信号データ使用可能(DRDY)を保有
する。これと同時に、FU10120はJPDバス10
142に対する制御信号「転送」に応答し、これはEU
10122の結果をJPDバス10142に対してゲー
トする。通常の操作、即ちSOPの実行においては、F
U10120から与えられる物理的記述子により選択さ
れるように、FU10120は、EU10122の結果
をMEM10112における行先にストア・バックさせ
る。あるいはまた、ある結果は一時に32ビット即ち1
ワードずつFU10120に対して転送することができ
る。
12への結果のストア・バック即ち転送およびその内部
において実施される初期手順の略図が示される。EU1
0122の操作の最終結果が使用可能となる時、EU1
0122は制御信号データ使用可能(DRDY)を保有
する。これと同時に、FU10120はJPDバス10
142に対する制御信号「転送」に応答し、これはEU
10122の結果をJPDバス10142に対してゲー
トする。通常の操作、即ちSOPの実行においては、F
U10120から与えられる物理的記述子により選択さ
れるように、FU10120は、EU10122の結果
をMEM10112における行先にストア・バックさせ
る。あるいはまた、ある結果は一時に32ビット即ち1
ワードずつFU10120に対して転送することができ
る。
【0880】前述の如く、また更に以下において述べる
ように、FU10120は結果のストア・バックの間E
U10122のテスト状態を検査することができる。一
旦ストア・バック操作が完了すると、FU10120は
制御信号「転送完了」(XFRC)を生成する。XFR
Cもまた、EU10122の結果およびテスト条件がF
U10120により受入られたことをEU10122に
対して表示し、その結果およびテスト条件を保有する必
要はない。
ように、FU10120は結果のストア・バックの間E
U10122のテスト状態を検査することができる。一
旦ストア・バック操作が完了すると、FU10120は
制御信号「転送完了」(XFRC)を生成する。XFR
Cもまた、EU10122の結果およびテスト条件がF
U10120により受入られたことをEU10122に
対して表示し、その結果およびテスト条件を保有する必
要はない。
【0881】d.d.d.テスト条件(図263) 図263においては、FU10120によるEU101
22のテスト条件の検査および初期手順の略図が示され
る。前述の如く、EU10122のある状態および操作
を示すテスト結果は、TSTCOND20384におい
てサンプルされて記憶され、FU10120によって実
行することができる。DRDYがEU10122により
保有される時、FU10120は、例えば、前述の如く
結果のテストならびに結果の転送のEU10122の8
つの条件の内の1つを選択することができる。FU10
120によりテストが可能であるEU10122の条件
については以下にリストされ説明する。最終結果が正,
負または零のいずれであるかの如き条件は、前述の如き
FU10120の諸操作の条件付き分岐を容易にするた
め検査することができる。FU10120は、テスト条
件選択信号(TEST(2−4))を介してテストする
条件を規定する。FU10120はEU10122に対
する制御信号「EUテスト可能(EUTESTEN)」
を保有して、選択されたテスト条件をゲートする。この
選択されたテスト条件はその時EU10122からFU
10120に対するデータ信号テスト条件(TC)とし
て現われる。ロジック1のTCは、例えば、選択された
条件が偽であることを表示するが、ロジック0のTCは
選択された条件が真であることを示す。FU10120
は、これが要求されたテスト条件を感知したこと、また
このテスト条件が制御信号XFRCを保有することによ
ってEU10122により保有される必要がもはやない
ことを表示する。
22のテスト条件の検査および初期手順の略図が示され
る。前述の如く、EU10122のある状態および操作
を示すテスト結果は、TSTCOND20384におい
てサンプルされて記憶され、FU10120によって実
行することができる。DRDYがEU10122により
保有される時、FU10120は、例えば、前述の如く
結果のテストならびに結果の転送のEU10122の8
つの条件の内の1つを選択することができる。FU10
120によりテストが可能であるEU10122の条件
については以下にリストされ説明する。最終結果が正,
負または零のいずれであるかの如き条件は、前述の如き
FU10120の諸操作の条件付き分岐を容易にするた
め検査することができる。FU10120は、テスト条
件選択信号(TEST(2−4))を介してテストする
条件を規定する。FU10120はEU10122に対
する制御信号「EUテスト可能(EUTESTEN)」
を保有して、選択されたテスト条件をゲートする。この
選択されたテスト条件はその時EU10122からFU
10120に対するデータ信号テスト条件(TC)とし
て現われる。ロジック1のTCは、例えば、選択された
条件が偽であることを表示するが、ロジック0のTCは
選択された条件が真であることを示す。FU10120
は、これが要求されたテスト条件を感知したこと、また
このテスト条件が制御信号XFRCを保有することによ
ってEU10122により保有される必要がもはやない
ことを表示する。
【0882】e.e.e.例外検査(図264) 図264においては、FU10120によるEU101
22の例外状態の例外検査およびその内部の初期手順の
略図が示される。前述の如く、FU10120がEU1
0122の結果のストア・バックを開始する時、EU1
0122の例外条件はFU10120により検査するこ
とができる。例外検査は、例えば、試みられた零による
除算、または浮動小数点数の指数の下位桁あふれまたは
桁あふれ、またはコンテナ・サイズの障害を検出するこ
とができる。試みられた零による除算、または浮動小数
点数の下位桁あふれまたは桁あふれは、ストア・バック
の前、即ちFU10120による特定の要求なしに検査
することができる。
22の例外状態の例外検査およびその内部の初期手順の
略図が示される。前述の如く、FU10120がEU1
0122の結果のストア・バックを開始する時、EU1
0122の例外条件はFU10120により検査するこ
とができる。例外検査は、例えば、試みられた零による
除算、または浮動小数点数の指数の下位桁あふれまたは
桁あふれ、またはコンテナ・サイズの障害を検出するこ
とができる。試みられた零による除算、または浮動小数
点数の下位桁あふれまたは桁あふれは、ストア・バック
の前、即ちFU10120による特定の要求なしに検査
することができる。
【0883】前述の如く、コンテナ・サイズ障害は、M
EM10112における行先コンテナのサイズとの結果
の長さの比較によりCONSIZE20352によって
検出される。コンテナ・サイズの例外検査は、EU10
122の結果のストア・バックの間、即ちFU1012
0が条件SBにある間に生じる。コンテナ・サイズは、
EU10122のハードウェア、即ちCONSIZE2
0352によって33ビットの長さよりも短い結果につ
いてのみ自動的に実施される。更に大きな結果、即ち大
きな整数およびBCD結果のサイズ検査は、このような
大きな結果の転送がストリング転送として実行されるた
め、CONSIZE20352の出力を用いて1つのマ
イクロコード・ルーチンによって実施される。単精度ま
たは2倍精度の浮動小数点数の結果のいずれかに対して
は、これらのデータ形式が常に32または64ビットを
占有するため、これらの結果に対してはコンテナ・サイ
ズ検査を実施することは不必要となる。行先のコンテナ
・サイズは長さバス20226を介してCONSIZE
20352に対して与えられる。
EM10112における行先コンテナのサイズとの結果
の長さの比較によりCONSIZE20352によって
検出される。コンテナ・サイズの例外検査は、EU10
122の結果のストア・バックの間、即ちFU1012
0が条件SBにある間に生じる。コンテナ・サイズは、
EU10122のハードウェア、即ちCONSIZE2
0352によって33ビットの長さよりも短い結果につ
いてのみ自動的に実施される。更に大きな結果、即ち大
きな整数およびBCD結果のサイズ検査は、このような
大きな結果の転送がストリング転送として実行されるた
め、CONSIZE20352の出力を用いて1つのマ
イクロコード・ルーチンによって実施される。単精度ま
たは2倍精度の浮動小数点数の結果のいずれかに対して
は、これらのデータ形式が常に32または64ビットを
占有するため、これらの結果に対してはコンテナ・サイ
ズ検査を実施することは不必要となる。行先のコンテナ
・サイズは長さバス20226を介してCONSIZE
20352に対して与えられる。
【0884】制御信号、長さ対メモリーAONまたはラ
ンダム信号(LMAONRS)は、特定のEU1012
2の結果と対応する論理記述子の形式フィールドからF
U10120によって生成される。LMAONRSは、
結果のデータ形式が符号を付さない整数であることを示
す。LMAONRSは、EU10122の結果の必要な
コンテナ・サイズが決定される方法を判定する。この精
度をLMAONRSから受取った後、EU10122
は、MEM10112における行先コンテナ・サイズが
EU10122の結果を保有するのに十分な大きさであ
るかどうかを判定する。もしこの行先コンテナ・サイズ
が十分に大きくなければ、コンテナ・サイズの障害はC
ONSIZE20352により、あるいはEU1012
2のマイクロ命令シーケンスにより検出される。
ンダム信号(LMAONRS)は、特定のEU1012
2の結果と対応する論理記述子の形式フィールドからF
U10120によって生成される。LMAONRSは、
結果のデータ形式が符号を付さない整数であることを示
す。LMAONRSは、EU10122の結果の必要な
コンテナ・サイズが決定される方法を判定する。この精
度をLMAONRSから受取った後、EU10122
は、MEM10112における行先コンテナ・サイズが
EU10122の結果を保有するのに十分な大きさであ
るかどうかを判定する。もしこの行先コンテナ・サイズ
が十分に大きくなければ、コンテナ・サイズの障害はC
ONSIZE20352により、あるいはEU1012
2のマイクロ命令シーケンスにより検出される。
【0885】コンテナ・サイズの障害は、零による除算
および指数の下位桁あふれおよび桁あふれの障害と同様
に、FU10120が制御信号「サイズ検査」(CKS
IZE)を保有する時、FU10120に対して信号さ
れる。この時、もし前記の障害のいずれかが生じるなら
ば、EU10122は制御信号「例外」(EXCEP
T)を保有する。もし障害が生じるならば、FU101
20に対する事象の要求が惹起する結果となる。ある事
象の要求がFU10120により満たされるならば、F
U10120はEU10122に割込みを行ない、これ
らの例外条件をJPDバス10142に対して転送する
マイクロ命令ルーチンに対してEU10122をタスク
指名することができる。もしあるコンテナ・サイズ障害
が前記の例外条件を惹起したならば、EU10122は
FU10120に対してJPDバス10142を介して
必要なコンテナ・サイズを転送することができる。
および指数の下位桁あふれおよび桁あふれの障害と同様
に、FU10120が制御信号「サイズ検査」(CKS
IZE)を保有する時、FU10120に対して信号さ
れる。この時、もし前記の障害のいずれかが生じるなら
ば、EU10122は制御信号「例外」(EXCEP
T)を保有する。もし障害が生じるならば、FU101
20に対する事象の要求が惹起する結果となる。ある事
象の要求がFU10120により満たされるならば、F
U10120はEU10122に割込みを行ない、これ
らの例外条件をJPDバス10142に対して転送する
マイクロ命令ルーチンに対してEU10122をタスク
指名することができる。もしあるコンテナ・サイズ障害
が前記の例外条件を惹起したならば、EU10122は
FU10120に対してJPDバス10142を介して
必要なコンテナ・サイズを転送することができる。
【0886】f.f.f.遊休ルーチン 最後に、その時のEU10122の操作が完了すると
時、EU10122が遊休ループ・マイクロ命令ルーチ
ンになる。必要に応じて、EU10122がこれ以上の
操作のため必要とされるまで、遊休ループ・マイクロ命
令ルーチンにEU10122を強制するため、FU10
120は制御信号「実行装置打切り」(EUABOR
T)を保有することができる。
時、EU10122が遊休ループ・マイクロ命令ルーチ
ンになる。必要に応じて、EU10122がこれ以上の
操作のため必要とされるまで、遊休ループ・マイクロ命
令ルーチンにEU10122を強制するため、FU10
120は制御信号「実行装置打切り」(EUABOR
T)を保有することができる。
【0887】g.g.g.EU10122のスタック機
構(図265,図266,図267) 前述の如く、EU10122は2つの種類の操作のいず
れか一方を実施することができる。第1に、EU101
22は、ユーザ・プログラムのSOPの実行において算
術演算を実施することができる。第2に、EU1012
2は、FU10120の内部機構の算術演算装置を補佐
する作用、および核心の操作と呼ばれる操作として作用
する。
構(図265,図266,図267) 前述の如く、EU10122は2つの種類の操作のいず
れか一方を実施することができる。第1に、EU101
22は、ユーザ・プログラムのSOPの実行において算
術演算を実施することができる。第2に、EU1012
2は、FU10120の内部機構の算術演算装置を補佐
する作用、および核心の操作と呼ばれる操作として作用
する。
【0888】核心操作においては、EU10122は、
アドレス生成、アドレス翻訳、その他の核心機能の間、
FU10120に対する算術演算装置として作用する。
核心モードにおいては、SOPの要求時ではなくFU1
0120の核心マイクロ命令シーケンスの要求時に、E
U10122はマイクロ命令シーケンスを実行しつつあ
る。一般に、このような核心操作はJP10114の操
作にとって重要である。FU10120は、SOPに関
するEU10122の操作に割込みを行ない、核心操作
の実施のためEU10122のマイクロ命令シーケンス
を開始する。
アドレス生成、アドレス翻訳、その他の核心機能の間、
FU10120に対する算術演算装置として作用する。
核心モードにおいては、SOPの要求時ではなくFU1
0120の核心マイクロ命令シーケンスの要求時に、E
U10122はマイクロ命令シーケンスを実行しつつあ
る。一般に、このような核心操作はJP10114の操
作にとって重要である。FU10120は、SOPに関
するEU10122の操作に割込みを行ない、核心操作
の実施のためEU10122のマイクロ命令シーケンス
を開始する。
【0889】割込みが生じた時、EU10122はEU
10122のその時の操作状態をある1つのレベルの深
さのスタックに保管する。EU10122はこの時、F
U10120およびEU10122の内部即ち核心操作
に関するEUDPを受取ってこれを記憶するため使用さ
れるCOMQ20342の部分から1つのEUDPを受
入れることができる。EU10122により核心操作を
要求する時、FU10120は一般にオペランドをJP
Dバス10142を介してOPB2032に対して転送
し、またJPDバス10142を介してEU10122
の最終結果を受取る。オペランドもまたMODバス10
144を介してEU10122に対して与えられる。E
U10122が要求された核心操作を完了した後、EU
10122はその内部スタックから操作状態を再ロード
し、通常の操作が割込まれた時点から通常の操作を継続
する。
10122のその時の操作状態をある1つのレベルの深
さのスタックに保管する。EU10122はこの時、F
U10120およびEU10122の内部即ち核心操作
に関するEUDPを受取ってこれを記憶するため使用さ
れるCOMQ20342の部分から1つのEUDPを受
入れることができる。EU10122により核心操作を
要求する時、FU10120は一般にオペランドをJP
Dバス10142を介してOPB2032に対して転送
し、またJPDバス10142を介してEU10122
の最終結果を受取る。オペランドもまたMODバス10
144を介してEU10122に対して与えられる。E
U10122が要求された核心操作を完了した後、EU
10122はその内部スタックから操作状態を再ロード
し、通常の操作が割込まれた時点から通常の操作を継続
する。
【0890】前の割込みが実行中にFU10120から
の別の割込みが生じるならば、EU10122はその時
の状態およびデータ、即ちMEM10112に対する最
初の割込みの状態およびデータを移動する。EU101
22は、事象「EU10122のスタックの桁あふれ」
を要求することによってMEM10112における最初
の割込みの状態およびデータをFU10120が記憶す
ることを要求する。EU10122の「通常の」状態、
即ちEU10122が最初の割込みの発生時に実行中で
ある操作に関する状態およびデータは、EU10122
の内部スタックに記憶されてここに維持される。次に、
EU10122は第2の割込みの実行を開始する。EU
10122が第2の割込みのための操作を完了する時、
FU10120に対する「EU10122のスタックの
下位桁あふれ」事象を要求するEU10122により、
第1の割込みからの状態がMEM10112から再ロー
ドされる。次に、EU10122は第1の割込みの実行
を完了し、通常の操作、即ち第1の割込みの前に実行中
であった操作の状態を再ロードしてこれを再開する。
の別の割込みが生じるならば、EU10122はその時
の状態およびデータ、即ちMEM10112に対する最
初の割込みの状態およびデータを移動する。EU101
22は、事象「EU10122のスタックの桁あふれ」
を要求することによってMEM10112における最初
の割込みの状態およびデータをFU10120が記憶す
ることを要求する。EU10122の「通常の」状態、
即ちEU10122が最初の割込みの発生時に実行中で
ある操作に関する状態およびデータは、EU10122
の内部スタックに記憶されてここに維持される。次に、
EU10122は第2の割込みの実行を開始する。EU
10122が第2の割込みのための操作を完了する時、
FU10120に対する「EU10122のスタックの
下位桁あふれ」事象を要求するEU10122により、
第1の割込みからの状態がMEM10112から再ロー
ドされる。次に、EU10122は第1の割込みの実行
を完了し、通常の操作、即ち第1の割込みの前に実行中
であった操作の状態を再ロードしてこれを再開する。
【0891】従って、EU10122は2つの状態の間
FU10120からの割込みを処理することができる。
第1の割込み状態は、通常の操作即ちユーザ・プログラ
ムのSOPの実行中に生じる割込みからなる。核心の操
作の間割込みが生じる時、即ち割込みを作用するための
マイクロ命令シーケンスの実行中に第2の状態が生じ
る。EU10122の操作についてはこれらの状態の各
々に関して以上述べた順序で次に説明することにする。
FU10120からの割込みを処理することができる。
第1の割込み状態は、通常の操作即ちユーザ・プログラ
ムのSOPの実行中に生じる割込みからなる。核心の操
作の間割込みが生じる時、即ち割込みを作用するための
マイクロ命令シーケンスの実行中に第2の状態が生じ
る。EU10122の操作についてはこれらの状態の各
々に関して以上述べた順序で次に説明することにする。
【0892】図265においては、前に述べた1012
2のスタック機構の略図が示される。内部に存在するE
U10122のスタック機構のこれらの部分は、EU1
0122のその時の状態レジスタ(EUCSR)265
10およびEU10122の内部スタック(EUIS)
26512からなる。EUCSR26510は、EU1
0122のその時の操作のデータおよび状態を含むEU
10122の内部レジスタからなる。EUCSR265
10は、例えば、mCRD20346、TSTINT2
0320のレジスタおよびMULT20314およびE
XP20316の内部の前記のレジスタからなる。
2のスタック機構の略図が示される。内部に存在するE
U10122のスタック機構のこれらの部分は、EU1
0122のその時の状態レジスタ(EUCSR)265
10およびEU10122の内部スタック(EUIS)
26512からなる。EUCSR26510は、EU1
0122のその時の操作のデータおよび状態を含むEU
10122の内部レジスタからなる。EUCSR265
10は、例えば、mCRD20346、TSTINT2
0320のレジスタおよびMULT20314およびE
XP20316の内部の前記のレジスタからなる。
【0893】EUCSR26510に含まれる状態およ
びデータは、EU10122によりその時実行中の操作
のそれである。この時の状態は、例えば、EU1012
2によりその時実行中のSOPの状態、または例えばF
U10120により要求される入れ子構成の一連の割込
みの4番目の割込みのそれで良い。
びデータは、EU10122によりその時実行中の操作
のそれである。この時の状態は、例えば、EU1012
2によりその時実行中のSOPの状態、または例えばF
U10120により要求される入れ子構成の一連の割込
みの4番目の割込みのそれで良い。
【0894】EUIS26512は、MULTRF20
350およびEXPRF20380のいくつかのレジス
タからなる。EUIS26512は、EU10122に
よりその時実行中であって割込みされたSOP操作のそ
の時の状態を記憶してこれを保管するため使用される。
このSOP操作の状態およびデータは、FU10120
により要求される入れ子構成の一連の割込みにおいて生
じ得る割込み数の如何に拘わらず、EUIS26512
に記憶された状態を維持することになる。割込みされた
SOP操作の状態およびデータは、全ての割込みが完了
した時、EUIS26512からEUCSR26510
に戻される。
350およびEXPRF20380のいくつかのレジス
タからなる。EUIS26512は、EU10122に
よりその時実行中であって割込みされたSOP操作のそ
の時の状態を記憶してこれを保管するため使用される。
このSOP操作の状態およびデータは、FU10120
により要求される入れ子構成の一連の割込みにおいて生
じ得る割込み数の如何に拘わらず、EUIS26512
に記憶された状態を維持することになる。割込みされた
SOP操作の状態およびデータは、全ての割込みが完了
した時、EUIS26512からEUCSR26510
に戻される。
【0895】EU10122のスタック機構の最後の部
分は、MEM10112内に駐在するEU10122の
内部スタック(EUES)26514の部分である。E
UES26514は、入れ子構成の割込みのシーケンス
の連続する割込み操作の状態およびデータを記憶するた
め使用されるMEM10112のいくつかのアドレス場
所からなる。即ち、もし一連の4つの割込みがFU10
120により要求されるならば、4番目の割込みの状態
およびデータはEUCSR26510に駐在し、第1
の、第2のおよび第3の割込みの状態およびデータはE
UES26514に対して順次転送される。この点に関
して、また前に述べたように、EU10122のスタッ
ク機構の制御作用は、例えば図103に関して前の説明
したMIS10368およびSS10336のそれと類
似している。
分は、MEM10112内に駐在するEU10122の
内部スタック(EUES)26514の部分である。E
UES26514は、入れ子構成の割込みのシーケンス
の連続する割込み操作の状態およびデータを記憶するた
め使用されるMEM10112のいくつかのアドレス場
所からなる。即ち、もし一連の4つの割込みがFU10
120により要求されるならば、4番目の割込みの状態
およびデータはEUCSR26510に駐在し、第1
の、第2のおよび第3の割込みの状態およびデータはE
UES26514に対して順次転送される。この点に関
して、また前に述べたように、EU10122のスタッ
ク機構の制御作用は、例えば図103に関して前の説明
したMIS10368およびSS10336のそれと類
似している。
【0896】前述の如く、割込みは、EU10122の
通常の操作の間即ちEU10122によるSOPの実行
中、もしくはEU10122がFU10120により要
求される前の割込みを実行中に、FU10120によっ
てEU10122に対して要求することができる。EU
10122の通常の操作の間の割込みの発生と同時のE
U10122およびFU10120の作用について以下
に説明することによる。
通常の操作の間即ちEU10122によるSOPの実行
中、もしくはEU10122がFU10120により要
求される前の割込みを実行中に、FU10120によっ
てEU10122に対して要求することができる。EU
10122の通常の操作の間の割込みの発生と同時のE
U10122およびFU10120の作用について以下
に説明することによる。
【0897】図266においては、EU10122が通
常のモードで操作中のEU10122の割込みにおける
EU10122とFU10120間の初期手順の略図が
示されるが、これは図265と関連して照合すべきであ
る。以下の論述のオブジェクトのため、FU10120
によるEU10122の操作の割込みは、FU1012
0に対して内部の割込みと識別するためナノ割込みと呼
ばれる。
常のモードで操作中のEU10122の割込みにおける
EU10122とFU10120間の初期手順の略図が
示されるが、これは図265と関連して照合すべきであ
る。以下の論述のオブジェクトのため、FU10120
によるEU10122の操作の割込みは、FU1012
0に対して内部の割込みと識別するためナノ割込みと呼
ばれる。
【0898】FU10120はその操作の状態M0にお
ける制御信号「ナノ割込み(NINTP)」の保有によ
ってEU10122の通常の操作に割込みを行なう。N
INTPは、算術演算の如きEU10122のある重要
な操作の間にEU10122によってマスクすることが
できる。もしNINTPがEU10122によりマスク
されるならば、FU10120はこれがこの割込みを確
認するまで状態NWに維持されることになる。
ける制御信号「ナノ割込み(NINTP)」の保有によ
ってEU10122の通常の操作に割込みを行なう。N
INTPは、算術演算の如きEU10122のある重要
な操作の間にEU10122によってマスクすることが
できる。もしNINTPがEU10122によりマスク
されるならば、FU10120はこれがこの割込みを確
認するまで状態NWに維持されることになる。
【0899】FU10120からのNINTPの受取り
と同時に、EU10122はその時のSOPの状態およ
びデータをEUCSR26510からEUIS2651
2に対して転送する。次に、EU10122はFU10
120に対する制御信号「ナノ割込み確認(NIAC
K)」を保有して、ナノ割込みを受入れるためのEU1
0122の可用度を確認する。次に、FU10120は
状態M1に入りEUDISバス20206にEUDPを
置く。次に、COMQ20342のローディングは前記
の如く進行し、EU10122はナノ割込みDUDPを
COMQ20342の適当なレジスタにロードする。C
OMQ20342は前述の如くロードされ、またもしJ
POPが保有されるならば、データがJPDバス101
42からOPB20322に対して転送される。もしJ
POPが保有されなければ、データはMODバス101
44からOPB20322に対して与えられる。次に、
EU10122の通常の操作について前に説明したよう
に、EU10122は所要のナノ割込み操作、および結
果のストア・バック、およびテスト条件の進行の検査の
実行のため進行する。一般に、例外検査は実施されな
い。EU10122がナノ割込み操作の実行を完了する
時、EU10122はEUIS26512からEUCS
R26510に対して割込みされたSOP操作の状態を
転送し、このSOPの実行を再開する。この時点におい
て、EU10122は制御信号「ナノ割込みトラップ可
能」(NITE)を保有する。NITEはFU1012
0により受取られてテストされ、ナノ割込み作用の終り
を表示する。
と同時に、EU10122はその時のSOPの状態およ
びデータをEUCSR26510からEUIS2651
2に対して転送する。次に、EU10122はFU10
120に対する制御信号「ナノ割込み確認(NIAC
K)」を保有して、ナノ割込みを受入れるためのEU1
0122の可用度を確認する。次に、FU10120は
状態M1に入りEUDISバス20206にEUDPを
置く。次に、COMQ20342のローディングは前記
の如く進行し、EU10122はナノ割込みDUDPを
COMQ20342の適当なレジスタにロードする。C
OMQ20342は前述の如くロードされ、またもしJ
POPが保有されるならば、データがJPDバス101
42からOPB20322に対して転送される。もしJ
POPが保有されなければ、データはMODバス101
44からOPB20322に対して与えられる。次に、
EU10122の通常の操作について前に説明したよう
に、EU10122は所要のナノ割込み操作、および結
果のストア・バック、およびテスト条件の進行の検査の
実行のため進行する。一般に、例外検査は実施されな
い。EU10122がナノ割込み操作の実行を完了する
時、EU10122はEUIS26512からEUCS
R26510に対して割込みされたSOP操作の状態を
転送し、このSOPの実行を再開する。この時点におい
て、EU10122は制御信号「ナノ割込みトラップ可
能」(NITE)を保有する。NITEはFU1012
0により受取られてテストされ、ナノ割込み作用の終り
を表示する。
【0900】図267においては、核心操作のためのE
U10122の入れ子状の即ち順次の割込みの間におけ
る、EU10122、FU10120およびMEM10
112間のインターフェースおよびその初期手順の略図
を示している。以降の論議においては、EU10122
は既にFU10120によりEU10122に対して提
供される核心操作のためのナノ割込みを処理中であるも
のとする。次に、FU10120は、これ以上の核心操
作のためEU10122に対して第2の、または第3
の、または第4のナノ割込みを提供することができる。
FU10120はEU10122にナノ割込みを要求す
るためNINTPを保有する。前に実行中のSOP操作
からのEU10122の通常のモードの状態およびデー
タは、EUIS26512に記憶されてこれに保持され
る。EUCSR26510においてその時実行中のナノ
割込み操作のその時の状態およびデータはMEM101
12においてEUES26514に対して転送されて、
継続中のナノ割込みの開始を可能にする。EU1012
2はこの時、NIACKおよび制御信号「実行装置の事
象」(EXEVT)を保有する。FU10120への信
号EXEVTは、FU10120に対して、EU101
22が特に生じたこと、またこの場合EXEVTがEU
10122のスタックの桁あふれについてFU1012
0がサービスすることを要求する。これにより、FU1
0120は、「EU10122のスタックの桁あふれ」
の事象ハンドラマイクロ命令シーケンスに対してトラッ
プされる。この事象ハンドラは、EU10122におい
て前に実行中であった割込みされたナノ割込みのその時
の状態およびデータをEUES26514に対して転送
する。割込みされたナノ割込みの状態およびデータは、
一時に32ビットずつEUES26514に対して転送
される。FU10120は、JPDバス10142に対
するこれらの状態およびデータ・ワードの各々をゲート
するため制御信号XJPDを保有し、これらのワードの
EUES26514に対する転送を制御する。
U10122の入れ子状の即ち順次の割込みの間におけ
る、EU10122、FU10120およびMEM10
112間のインターフェースおよびその初期手順の略図
を示している。以降の論議においては、EU10122
は既にFU10120によりEU10122に対して提
供される核心操作のためのナノ割込みを処理中であるも
のとする。次に、FU10120は、これ以上の核心操
作のためEU10122に対して第2の、または第3
の、または第4のナノ割込みを提供することができる。
FU10120はEU10122にナノ割込みを要求す
るためNINTPを保有する。前に実行中のSOP操作
からのEU10122の通常のモードの状態およびデー
タは、EUIS26512に記憶されてこれに保持され
る。EUCSR26510においてその時実行中のナノ
割込み操作のその時の状態およびデータはMEM101
12においてEUES26514に対して転送されて、
継続中のナノ割込みの開始を可能にする。EU1012
2はこの時、NIACKおよび制御信号「実行装置の事
象」(EXEVT)を保有する。FU10120への信
号EXEVTは、FU10120に対して、EU101
22が特に生じたこと、またこの場合EXEVTがEU
10122のスタックの桁あふれについてFU1012
0がサービスすることを要求する。これにより、FU1
0120は、「EU10122のスタックの桁あふれ」
の事象ハンドラマイクロ命令シーケンスに対してトラッ
プされる。この事象ハンドラは、EU10122におい
て前に実行中であった割込みされたナノ割込みのその時
の状態およびデータをEUES26514に対して転送
する。割込みされたナノ割込みの状態およびデータは、
一時に32ビットずつEUES26514に対して転送
される。FU10120は、JPDバス10142に対
するこれらの状態およびデータ・ワードの各々をゲート
するため制御信号XJPDを保有し、これらのワードの
EUES26514に対する転送を制御する。
【0901】新しいナノ割込みの処理は、通常の操作の
間に生じる割込みに関して前に述べた如く進行する。も
し以降のナノ割込みが生じるならば、これらは今述べた
許りの方法と同じ方法で処理され、FU10120は自
らに対してナノ割込みを信号し、その時のEU1012
2の状態およびデータはFU10120によりEUES
26514に保管され、新たなナノ割込みが処理され
る。入れ子状のナノ割込み即ち一連のナノ割込みの内の
あるナノ割込みがサービスされた後、EU10122
は、EUES26514からEUCSR26510に対
する前のナノ割込みの状態およびデータの転送を要求す
るため、FU10120に対して制御信号「EU101
22トラップ」(ETRAP)を保有する。FU101
20は、EUES26514からMODバス10144
を介して前記の次の前のナノ割込みの状態およびデータ
を検索し、このデータおよび状態をJPDバス1014
2に対して転送する。この状態およびデータは、一時に
1つの32ビット・ワードずつ戻されて、FU1012
0からのJPOPによってEU10122に対してスト
ローブされる。この前のナノ割込みの処理はこの時再開
される。連続的な前のナノ割込みのサービスは、全ての
前のナノ割込みがサービスされるまで継続する。EU1
0122の元の状態およびデータ、即ち最初に割込みさ
れたSOP操作の状態およびデータは、この時EUIS
26512からEUCSR26510に対して戻されて
このSOPの実行が再開される。この時、EU1012
2は、ナノ割込みに関するEU10122の核心操作の
終りを表示するNITEを保有する。
間に生じる割込みに関して前に述べた如く進行する。も
し以降のナノ割込みが生じるならば、これらは今述べた
許りの方法と同じ方法で処理され、FU10120は自
らに対してナノ割込みを信号し、その時のEU1012
2の状態およびデータはFU10120によりEUES
26514に保管され、新たなナノ割込みが処理され
る。入れ子状のナノ割込み即ち一連のナノ割込みの内の
あるナノ割込みがサービスされた後、EU10122
は、EUES26514からEUCSR26510に対
する前のナノ割込みの状態およびデータの転送を要求す
るため、FU10120に対して制御信号「EU101
22トラップ」(ETRAP)を保有する。FU101
20は、EUES26514からMODバス10144
を介して前記の次の前のナノ割込みの状態およびデータ
を検索し、このデータおよび状態をJPDバス1014
2に対して転送する。この状態およびデータは、一時に
1つの32ビット・ワードずつ戻されて、FU1012
0からのJPOPによってEU10122に対してスト
ローブされる。この前のナノ割込みの処理はこの時再開
される。連続的な前のナノ割込みのサービスは、全ての
前のナノ割込みがサービスされるまで継続する。EU1
0122の元の状態およびデータ、即ち最初に割込みさ
れたSOP操作の状態およびデータは、この時EUIS
26512からEUCSR26510に対して戻されて
このSOPの実行が再開される。この時、EU1012
2は、ナノ割込みに関するEU10122の核心操作の
終りを表示するNITEを保有する。
【0902】EU10122による核心のナノ割込みに
関してEU10122、FU10120およびMEM1
0112の構造および作用について説明したが、マイク
ロ命令シーケンスを有するEU10122のEUSIT
T20344のローディングについては次に説明する。
関してEU10122、FU10120およびMEM1
0112の構造および作用について説明したが、マイク
ロ命令シーケンスを有するEU10122のEUSIT
T20344のローディングについては次に説明する。
【0903】h.h.h.実行装置のS言語テーブル2
0344のローディング(図268) 図268においては、マイクロ命令のEUSITT20
344に対するローディングにおけるEU10122
と、FU10120と、MEM10112と、DP10
118間のインターフェースおよび初期手順の略図が示
されている。前述の如く、EUSITT20344は、
核心ナノ割込み操作の実行およびユーザ・プログラムの
SOPに応答する算術演算の実行において、EU101
22の制御のため必要な全てのマイクロ命令を含む。E
USITT20344は、例えば、4つまでの異なるS
言語ダイアレクトのためのユーザ・プログラムの算術演
算SOPの割込みのためのマイクロ命令シーケンスを記
憶する。一般に4つまでのS言語ダイアレクトにおける
算術演算のためのマイクロ命令シーケンスの記憶の容量
はほとんどの要件に対して十分であり、そのためEUS
ITT20344はCS10110の操作の開始時にし
かマイクロ命令シーケンスをロードする必要がない。4
つ以上のS言語ダイアレクトの算術演算のためのマイク
ロ命令シーケンスが必要とされるならば、これらのマイ
クロ命令シーケンスは以下に述べる方法においてEUS
ITT20344に対してロードすることができる。
0344のローディング(図268) 図268においては、マイクロ命令のEUSITT20
344に対するローディングにおけるEU10122
と、FU10120と、MEM10112と、DP10
118間のインターフェースおよび初期手順の略図が示
されている。前述の如く、EUSITT20344は、
核心ナノ割込み操作の実行およびユーザ・プログラムの
SOPに応答する算術演算の実行において、EU101
22の制御のため必要な全てのマイクロ命令を含む。E
USITT20344は、例えば、4つまでの異なるS
言語ダイアレクトのためのユーザ・プログラムの算術演
算SOPの割込みのためのマイクロ命令シーケンスを記
憶する。一般に4つまでのS言語ダイアレクトにおける
算術演算のためのマイクロ命令シーケンスの記憶の容量
はほとんどの要件に対して十分であり、そのためEUS
ITT20344はCS10110の操作の開始時にし
かマイクロ命令シーケンスをロードする必要がない。4
つ以上のS言語ダイアレクトの算術演算のためのマイク
ロ命令シーケンスが必要とされるならば、これらのマイ
クロ命令シーケンスは以下に述べる方法においてEUS
ITT20344に対してロードすることができる。
【0904】前述の如く、EUSITT20344に記
憶されるマイクロ命令の部分は読出し専用メモリーに保
有され、このためEUSITT20344に恒久的に記
憶される。EUSITT20344に恒久的に記憶され
たマイクロ命令シーケンスは、一般に、核心操作の実行
に必要とされるものである。EUSITT20344に
恒久的に記憶されたマイクロ命令シーケンスは、必要に
応じてEUSITT20344に対する他のEU101
22のマイクロ命令シーケンスの書込みを助けるため使
用されるものを含む。いくつかのマイクロ命令シーケン
スがEUSITT20344の書込み可能な制御ストア
(WCS)と呼ばれるランダム・アクセス・メモリーに
記憶され、これらを種々のS言語ダイアレクトの算術演
算SOPの割込みのために含む。
憶されるマイクロ命令の部分は読出し専用メモリーに保
有され、このためEUSITT20344に恒久的に記
憶される。EUSITT20344に恒久的に記憶され
たマイクロ命令シーケンスは、一般に、核心操作の実行
に必要とされるものである。EUSITT20344に
恒久的に記憶されたマイクロ命令シーケンスは、必要に
応じてEUSITT20344に対する他のEU101
22のマイクロ命令シーケンスの書込みを助けるため使
用されるものを含む。いくつかのマイクロ命令シーケン
スがEUSITT20344の書込み可能な制御ストア
(WCS)と呼ばれるランダム・アクセス・メモリーに
記憶され、これらを種々のS言語ダイアレクトの算術演
算SOPの割込みのために含む。
【0905】EU10122に対するマイクロ命令シー
ケンスの書込みは、EU10122を遊休状態に強制す
ることによって初期化される。EU10122の初期化
は、EUABORTを保有するFU10120により、
または制御信号クリア(CLEAR)を保有するDP1
0118によって確保される。EUABORTとCLE
ARのいずれかは、EU10122のその時の操作をク
リアし、EU10122を遊休状態に強制し、この場合
EU10122はFU10120から与えられたこれ以
上のEUDPを待機する。従って、FU10120はD
UDPをタスク指名して、EUDISバス20206を
介してEU10122に対するEUSITT20344
のローディングを開始する。EUSITT20344の
ロードのEUDPは、EUSITT20344のRPO
M部分における2つのステップのマイクロ命令シーケン
スの始動アドレスを規定する。この2つのステップのマ
イクロ命令シーケンスは最初に零をSCAG25536
にロードし、これは前述の如く、EUSITT2034
4に対する読出しおよび書込みアドレスを提供する。E
USITT20344のロードマイクロ命令シーケンス
は、この時EUSITT20344からmCRD203
46に対してマイクロ命令を読込む。このマイクロ命令
は、EUSITT20344のローディングが開始する
ようにFU10120における初期手順操作のための条
件を規定する。この時、またこのマイクロ命令ワードか
ら、EU10122は、EUSITT20344のロー
ディングを指令するためFU10120からEUDPを
受入れる用意があることを表示するため、FU1012
0に対する制御信号DRDYを保有する。この最初のマ
イクロ命令はまた、EUSITT20344のWCS部
分に対する書込み可能制御信号を生成し、EUSITT
20344からのmCRD20346のローディングを
禁止し、NXTR25540とSCAG25536の通
常のローディング操作を禁止する。この最初のマイクロ
命令もまた、SCAG25536からアドレス入力を受
入れることをNASS25526に指令し、最後に、F
U10120に対するNITEをFU10120からの
ナノ割込みをアンマスクするように保有させる。
ケンスの書込みは、EU10122を遊休状態に強制す
ることによって初期化される。EU10122の初期化
は、EUABORTを保有するFU10120により、
または制御信号クリア(CLEAR)を保有するDP1
0118によって確保される。EUABORTとCLE
ARのいずれかは、EU10122のその時の操作をク
リアし、EU10122を遊休状態に強制し、この場合
EU10122はFU10120から与えられたこれ以
上のEUDPを待機する。従って、FU10120はD
UDPをタスク指名して、EUDISバス20206を
介してEU10122に対するEUSITT20344
のローディングを開始する。EUSITT20344の
ロードのEUDPは、EUSITT20344のRPO
M部分における2つのステップのマイクロ命令シーケン
スの始動アドレスを規定する。この2つのステップのマ
イクロ命令シーケンスは最初に零をSCAG25536
にロードし、これは前述の如く、EUSITT2034
4に対する読出しおよび書込みアドレスを提供する。E
USITT20344のロードマイクロ命令シーケンス
は、この時EUSITT20344からmCRD203
46に対してマイクロ命令を読込む。このマイクロ命令
は、EUSITT20344のローディングが開始する
ようにFU10120における初期手順操作のための条
件を規定する。この時、またこのマイクロ命令ワードか
ら、EU10122は、EUSITT20344のロー
ディングを指令するためFU10120からEUDPを
受入れる用意があることを表示するため、FU1012
0に対する制御信号DRDYを保有する。この最初のマ
イクロ命令はまた、EUSITT20344のWCS部
分に対する書込み可能制御信号を生成し、EUSITT
20344からのmCRD20346のローディングを
禁止し、NXTR25540とSCAG25536の通
常のローディング操作を禁止する。この最初のマイクロ
命令もまた、SCAG25536からアドレス入力を受
入れることをNASS25526に指令し、最後に、F
U10120に対するNITEをFU10120からの
ナノ割込みをアンマスクするように保有させる。
【0906】次に、FU10120はMEM10112
に対する読出し要求を生成し、MEM10112はEU
10122のマイクロ命令ワードの最初の32ビット・
ワードをJPDバス10142に対して転送する。ME
M10112からのこのような32ビット・ワードの各
々は、EU10122の64ビットのマイクロ命令ワー
ドの二分の一を構成する。FU10120がEU101
22からDRDYを受取る時、FU10120は制御信
号「書込み可能制御ストア・ロード」(LDWCS)を
生成する。LDWCSは更に、JPDバス10142上
の32ビット・ワードをEUSITT20344のWC
S部分の最初のアドレスに転送する。EU10122の
マイクロ命令ワードの次の32ビットの半ワードは次に
MEM10112からJPDバス10142を介して読
出され、EUSITT20344のWCS部分内の前記
の最初のアドレスの第2の半部に転送される。SCAG
25536におけるアドレスはこの時増分されて、EU
SITT20344内の次のアドレス、およびEUSI
TT20344のローディングが完了するまでDRDY
およびLDWCSの生成を含む今述べた許りの自動的に
反復されるプロセスを選択する。
に対する読出し要求を生成し、MEM10112はEU
10122のマイクロ命令ワードの最初の32ビット・
ワードをJPDバス10142に対して転送する。ME
M10112からのこのような32ビット・ワードの各
々は、EU10122の64ビットのマイクロ命令ワー
ドの二分の一を構成する。FU10120がEU101
22からDRDYを受取る時、FU10120は制御信
号「書込み可能制御ストア・ロード」(LDWCS)を
生成する。LDWCSは更に、JPDバス10142上
の32ビット・ワードをEUSITT20344のWC
S部分の最初のアドレスに転送する。EU10122の
マイクロ命令ワードの次の32ビットの半ワードは次に
MEM10112からJPDバス10142を介して読
出され、EUSITT20344のWCS部分内の前記
の最初のアドレスの第2の半部に転送される。SCAG
25536におけるアドレスはこの時増分されて、EU
SITT20344内の次のアドレス、およびEUSI
TT20344のローディングが完了するまでDRDY
およびLDWCSの生成を含む今述べた許りの自動的に
反復されるプロセスを選択する。
【0907】EUSITT20344のローディングが
完了した後、ローディング・プロセスは、FU1012
0がNINTPを保有するかあるいはDP10118が
制御信号「ロード完了」(LAODCR)を保有する時
に終了される。NINTPとLOADCRのいずれか一
方はNAG20340の操作の制御を解除して、EU1
0122が通常の操作を再開することを許容する。
完了した後、ローディング・プロセスは、FU1012
0がNINTPを保有するかあるいはDP10118が
制御信号「ロード完了」(LAODCR)を保有する時
に終了される。NINTPとLOADCRのいずれか一
方はNAG20340の操作の制御を解除して、EU1
0122が通常の操作を再開することを許容する。
【0908】これまでの記述は、種々のオペランド・フ
ォーマットを用いる種々の算術演算の実行、初期手順に
関するEU10122、FU10120およびMEM1
0112の操作、EUDPおよびオペランドのローディ
ング、結果のストア・バック、テスト条件および例外の
検査、通常および核心操作におけるEU10122のス
タック機構、およびEUSITT20344に対するE
U10122のマイクロ命令シーケンスのローディング
を含む、EU10122の構造および作用について説明
した。IOS10116およびDP10118について
はこの順序で次に説明することにする。
ォーマットを用いる種々の算術演算の実行、初期手順に
関するEU10122、FU10120およびMEM1
0112の操作、EUDPおよびオペランドのローディ
ング、結果のストア・バック、テスト条件および例外の
検査、通常および核心操作におけるEU10122のス
タック機構、およびEUSITT20344に対するE
U10122のマイクロ命令シーケンスのローディング
を含む、EU10122の構造および作用について説明
した。IOS10116およびDP10118について
はこの順序で次に説明することにする。
【0909】D.入出力システム10116(図20
4,図206,図269) 図204においては、IOS10116の部分的ブロッ
ク図が示される。前述の如く、IOS10116はCS
10110と外部、例えばED10124との間のイン
ターフェースとして作用する。IOS10116の主な
機能は、CS10110即ちMEM10112と外部と
の間のデータの手順である。データの手順の実施に加え
て、IOS10116は種々のデータソースとED10
124とMEM10112のシンク間のアクセスを制御
する。前述の如く、IOS10116はMEM1011
2の物理的アドレス空間を直接アドレス指定して、ME
M10112に関してデータの書込みおよび読出しを行
なう。このため、IOS10116はまたアドレスの翻
訳、即ちMEM10112の物理的アドレス空間とED
10124におけるデータソースおよびシンクのアドレ
ス空間との間のデータの手順に要する操作のマッピング
を行なう。
4,図206,図269) 図204においては、IOS10116の部分的ブロッ
ク図が示される。前述の如く、IOS10116はCS
10110と外部、例えばED10124との間のイン
ターフェースとして作用する。IOS10116の主な
機能は、CS10110即ちMEM10112と外部と
の間のデータの手順である。データの手順の実施に加え
て、IOS10116は種々のデータソースとED10
124とMEM10112のシンク間のアクセスを制御
する。前述の如く、IOS10116はMEM1011
2の物理的アドレス空間を直接アドレス指定して、ME
M10112に関してデータの書込みおよび読出しを行
なう。このため、IOS10116はまたアドレスの翻
訳、即ちMEM10112の物理的アドレス空間とED
10124におけるデータソースおよびシンクのアドレ
ス空間との間のデータの手順に要する操作のマッピング
を行なう。
【0910】図204に示すように、IOS10116
はデータ移動器(DMOVR)20410と、入出力制
御処理装置(IOCP)20412と、1つ以上のデー
タ・チャネル素子を含む。IOS10116のデータ・
チャネル素子は、ECLIPSEバースト・マルチプレ
クサ・チャネル(EBMC)20424と、NOVAデ
ータ・チャネル(NDC)20416と、CS1011
0システムのある特定の形態のため必要な如き他のデー
タ・チャネル素子を含む。IOCP20412はMEM
10112とED10124間のデータの手順を制御し
かつこれを指令し、ED10124とMEM10112
の物理的アドレス空間との間のアドレスのマッピングを
制御しかつこれを指令する。IOCP20412は、例
えば、米国マサチューセッツ州ウエストボロー市のデー
タ・ゼネラル社から入手可能なECLIPSEM600
型コンピュータの如き汎用コンピュータで良い。
はデータ移動器(DMOVR)20410と、入出力制
御処理装置(IOCP)20412と、1つ以上のデー
タ・チャネル素子を含む。IOS10116のデータ・
チャネル素子は、ECLIPSEバースト・マルチプレ
クサ・チャネル(EBMC)20424と、NOVAデ
ータ・チャネル(NDC)20416と、CS1011
0システムのある特定の形態のため必要な如き他のデー
タ・チャネル素子を含む。IOCP20412はMEM
10112とED10124間のデータの手順を制御し
かつこれを指令し、ED10124とMEM10112
の物理的アドレス空間との間のアドレスのマッピングを
制御しかつこれを指令する。IOCP20412は、例
えば、米国マサチューセッツ州ウエストボロー市のデー
タ・ゼネラル社から入手可能なECLIPSEM600
型コンピュータの如き汎用コンピュータで良い。
【0911】EBMC20414およびNDC2041
6は、データがED10124とIOS10116間に
転送されるデータ・チャネルを構成する。EBMC20
414とNDC20416は、IOCP20412の制
御下でED10124に関するデータの実際の出入れを
行ない、これもまたIOCP20412の制御下でME
M10112の物理的アドレスに対するED10124
のアドレスのマッピングを実施する。EBMC2041
4およびNDC20416は夫々、例えば、これもまた
米国マサチューセッツ州ウエストボロー市のデータ・ゼ
ネラル社から入手可能なECLIPSEバースト・マル
チプレクサ・データチャネルおよびNOVAデータ・チ
ャネルからなるもので良い。
6は、データがED10124とIOS10116間に
転送されるデータ・チャネルを構成する。EBMC20
414とNDC20416は、IOCP20412の制
御下でED10124に関するデータの実際の出入れを
行ない、これもまたIOCP20412の制御下でME
M10112の物理的アドレスに対するED10124
のアドレスのマッピングを実施する。EBMC2041
4およびNDC20416は夫々、例えば、これもまた
米国マサチューセッツ州ウエストボロー市のデータ・ゼ
ネラル社から入手可能なECLIPSEバースト・マル
チプレクサ・データチャネルおよびNOVAデータ・チ
ャネルからなるもので良い。
【0912】DMOVR20410はMEM10112
に対するIOS10116のインターフェースを構成す
る。DMOVR20410は、データおよびアドレスが
EBMC20414とNDC20416とMEM101
12間に転送される経路である。更に、DMOVR20
410はEBMC20414と、NDC20416と、
他のIOS10116のデータ・チャネルと、MEM1
0112間のアクセスを制御する。
に対するIOS10116のインターフェースを構成す
る。DMOVR20410は、データおよびアドレスが
EBMC20414とNDC20416とMEM101
12間に転送される経路である。更に、DMOVR20
410はEBMC20414と、NDC20416と、
他のIOS10116のデータ・チャネルと、MEM1
0112間のアクセスを制御する。
【0913】図204に示すように、ED10124は
1つ以上のデータ・シンクとソースからなる。ED10
124のデータ・シンクおよびソースは、市販されるデ
ィスク・駆動装置、ライン・プリンタ、通信線、テープ
装置その他のコンピュータ・システムを含む。一般に、
ED10124は、一般にコンピュータ・システムとイ
ンターフェースされる如き全てのデータ素子を含む。
1つ以上のデータ・シンクとソースからなる。ED10
124のデータ・シンクおよびソースは、市販されるデ
ィスク・駆動装置、ライン・プリンタ、通信線、テープ
装置その他のコンピュータ・システムを含む。一般に、
ED10124は、一般にコンピュータ・システムとイ
ンターフェースされる如き全てのデータ素子を含む。
【0914】a.入出力システム10116の構造(図
204) 最初にIOS10116の全体的構造について説明する
と、EBMC20414のECLIPSEバースト・マ
ルチプレクサのチャネル・アダプタと制御回路(BMC
AC)20418のデータ入出力は2方向のBMCアド
レスおよびデータ(BMCAD)バス20420と接続
される。BMCADバス20420は更に、ED101
24のデータ・シンクおよびソースのデータおよびアド
レスの入力および出力と接続される。
204) 最初にIOS10116の全体的構造について説明する
と、EBMC20414のECLIPSEバースト・マ
ルチプレクサのチャネル・アダプタと制御回路(BMC
AC)20418のデータ入出力は2方向のBMCアド
レスおよびデータ(BMCAD)バス20420と接続
される。BMCADバス20420は更に、ED101
24のデータ・シンクおよびソースのデータおよびアド
レスの入力および出力と接続される。
【0915】同様に、NDC20416におけるNOV
Aデータ・チャネルのアダプタ制御回路(NDCAC)
20422のデータおよびアドレス入力および出力は、
2方向のNOVAデータ・チャネル・アドレスおよびデ
ータ(NDCAD)バス20424に接続されている。
NDCADバス20424は更に、ED10124のデ
ータ・ソースおよびシンクのアドレスおよびデータ入力
および出力と接続される。BMCADバス20420と
NDCADバス20424は、ED10124とIOS
10116のデータ・チャネルのデータ・シンクとソー
ス間のデータおよびアドレスの転送のための経路であ
る。
Aデータ・チャネルのアダプタ制御回路(NDCAC)
20422のデータおよびアドレス入力および出力は、
2方向のNOVAデータ・チャネル・アドレスおよびデ
ータ(NDCAD)バス20424に接続されている。
NDCADバス20424は更に、ED10124のデ
ータ・ソースおよびシンクのアドレスおよびデータ入力
および出力と接続される。BMCADバス20420と
NDCADバス20424は、ED10124とIOS
10116のデータ・チャネルのデータ・シンクとソー
ス間のデータおよびアドレスの転送のための経路であ
る。
【0916】EBMC20414の内部においては、B
MCAC20418の2方向のデータ入力および出力は
BMCデータ・バッファ(BMCDB)20426の2
方向の入力および出力側に接続されている。BMCDB
20426のデータ入力および出力は、夫々データ移動
器出力データ(DMOD)バス20428およびデータ
移動器入力データ(DMID)バス20430と接続さ
れている。BMCAC20418のアドレス出力は、バ
ースト・マルチプレクサ・チャネル・アドレス翻訳マッ
プ(BMCATM)20432のアドレス入力側と接続
され、BMCATM20432のアドレス出力はDMI
Dバス20430と接続される。BMCATM2043
2の2方向の制御入力および出力は2方向の入出力制御
処理装置の制御(IOCPC)バス20434から接続
される。
MCAC20418の2方向のデータ入力および出力は
BMCデータ・バッファ(BMCDB)20426の2
方向の入力および出力側に接続されている。BMCDB
20426のデータ入力および出力は、夫々データ移動
器出力データ(DMOD)バス20428およびデータ
移動器入力データ(DMID)バス20430と接続さ
れている。BMCAC20418のアドレス出力は、バ
ースト・マルチプレクサ・チャネル・アドレス翻訳マッ
プ(BMCATM)20432のアドレス入力側と接続
され、BMCATM20432のアドレス出力はDMI
Dバス20430と接続される。BMCATM2043
2の2方向の制御入力および出力は2方向の入出力制御
処理装置の制御(IOCPC)バス20434から接続
される。
【0917】NDC20416について説明すると、図
204に示すように、NDCAC20422のデータ入
力および出力は夫々DMODバス20428およびDM
IDバス20430と接続される。NDCAC2042
2のアドレス出力は、NOVAデータ・チャネル・アド
レス翻訳マップ(NDCATM)20436のアドレス
入力と接続されている。NDCATM20436のアド
レス出力は、更に、DMIDバス20430と接続され
ている。NDCATM20436の2方向の制御入力お
よび出力はIOCPCバス20434と接続されてい
る。
204に示すように、NDCAC20422のデータ入
力および出力は夫々DMODバス20428およびDM
IDバス20430と接続される。NDCAC2042
2のアドレス出力は、NOVAデータ・チャネル・アド
レス翻訳マップ(NDCATM)20436のアドレス
入力と接続されている。NDCATM20436のアド
レス出力は、更に、DMIDバス20430と接続され
ている。NDCATM20436の2方向の制御入力お
よび出力はIOCPCバス20434と接続されてい
る。
【0918】IOCP20412について説明すれば、
IOCP20412の2方向の入力および出力はIOC
PCバス20434と接続されている。IOCP204
12のアドレスおよびデータ出力はNDCADバス20
424と接続される。IOCP20412内部のIOC
Pアドレス翻訳マップ(IOCPATM)20438の
アドレス出力は、DMIDバス20430と接続されて
いる。IOCP20412のデータ入力と出力は夫々D
MODバス20428とDMIDバス20430と接続
されている。IOCP20412の2方向の制御入力お
よび出力はDMOVR20410の2方向の制御入力お
よび出力と接続されている。
IOCP20412の2方向の入力および出力はIOC
PCバス20434と接続されている。IOCP204
12のアドレスおよびデータ出力はNDCADバス20
424と接続される。IOCP20412内部のIOC
Pアドレス翻訳マップ(IOCPATM)20438の
アドレス出力は、DMIDバス20430と接続されて
いる。IOCP20412のデータ入力と出力は夫々D
MODバス20428とDMIDバス20430と接続
されている。IOCP20412の2方向の制御入力お
よび出力はDMOVR20410の2方向の制御入力お
よび出力と接続されている。
【0919】DMOVR20410について最後に説明
すると、DMOVR20410は、入力データ・バッフ
ァ(IDB)20440と、出力データ・バッファ(O
DB)20442と、優先順位解明兼制御(PRC)2
0444とを含む。ICB20440のデータおよびア
ドレス入力はDMIDバス20430と接続されてい
る。IDB20440のデータおよびアドレス出力は、
MEM10112に対するIOMバス10130と接続
されている。ODB20442のデータ出力はMEM1
0112からのMIOバス10129と接続され、OD
B20442のデータ出力はDMODバス20428と
接続されている。IDB20440とODB20442
の2方向の制御入力と出力はPRC20444の2方向
の制御入力と出力と接続されている。PRC20444
の2方向の制御入力および出力は、前述の如くIOCP
20412の2方向の制御入力および出力と接続されて
いる。PRC20444の別の2方向の制御入力および
出力はIOMCバス10131に出入するように接続さ
れ、またMEM10112の制御入力および出力と接続
されている。IOS10116の全体的な構造について
説明したが、次にIOS10116の作用について説明
する。
すると、DMOVR20410は、入力データ・バッフ
ァ(IDB)20440と、出力データ・バッファ(O
DB)20442と、優先順位解明兼制御(PRC)2
0444とを含む。ICB20440のデータおよびア
ドレス入力はDMIDバス20430と接続されてい
る。IDB20440のデータおよびアドレス出力は、
MEM10112に対するIOMバス10130と接続
されている。ODB20442のデータ出力はMEM1
0112からのMIOバス10129と接続され、OD
B20442のデータ出力はDMODバス20428と
接続されている。IDB20440とODB20442
の2方向の制御入力と出力はPRC20444の2方向
の制御入力と出力と接続されている。PRC20444
の2方向の制御入力および出力は、前述の如くIOCP
20412の2方向の制御入力および出力と接続されて
いる。PRC20444の別の2方向の制御入力および
出力はIOMCバス10131に出入するように接続さ
れ、またMEM10112の制御入力および出力と接続
されている。IOS10116の全体的な構造について
説明したが、次にIOS10116の作用について説明
する。
【0920】b.入出力システム10116の作図(図
269) 1.データ・チャネル素子 最初にEBMC20414について説明すると、BMC
AC20418はED10124からBMCADバス2
0420を介してデータおよびアドレスを受取る。BM
CAC20418はデータをBMCDB20426に転
送し、以下において説明するように、ここでこのデータ
はDMOVR20410を介してMEM10112に対
する後の転送のため保持される。BMCAC20418
はED10124から受取ったアドレスをBMCATM
20432に対して転送する。BMCATM20432
は、ED10124のアドレスをMEM10112の物
理的アドレスと関連させるアドレス・マッピング情報を
保有する。これにより、BMCATM20432は、B
MCAC20418を介して与えられED10124に
アドレスと対応するMEM10112の物理的アドレス
を提供する。
269) 1.データ・チャネル素子 最初にEBMC20414について説明すると、BMC
AC20418はED10124からBMCADバス2
0420を介してデータおよびアドレスを受取る。BM
CAC20418はデータをBMCDB20426に転
送し、以下において説明するように、ここでこのデータ
はDMOVR20410を介してMEM10112に対
する後の転送のため保持される。BMCAC20418
はED10124から受取ったアドレスをBMCATM
20432に対して転送する。BMCATM20432
は、ED10124のアドレスをMEM10112の物
理的アドレスと関連させるアドレス・マッピング情報を
保有する。これにより、BMCATM20432は、B
MCAC20418を介して与えられED10124に
アドレスと対応するMEM10112の物理的アドレス
を提供する。
【0921】以下において更に説明するように、EBM
C20414がMEM10112に対してデータを書込
むためMEM10112に対するアクセスを与えられる
時、BMCDB20426に記憶されたデータとBMC
ATM20432からの対応するアドレスがDMOVR
20410に対するDMIDバス20430に対して転
送される。以下において説明するように、この時DMO
VR20410はこのデータをこれらMEM10112
の物理的アドレス場所に対して書込む。データがMEM
10112からED10124に対して読込まれる時、
データはDMODバス20428上のDMOVR204
10により与えられ、BMCDB20426に対して転
送される。この時、BMCAC20418はBMCDB
20426からこのデータを読出して、このデータをE
D10124に対するBMCADバス20420上に転
送する。MEM10112からED10124に対する
データの転送の間、MEM10112はこのデータに伴
うED10124のアドレスに翻訳されるアドレスは提
供しない。その代り、これらのアドレスはBMCAC2
0418によって生成されて与えられる。
C20414がMEM10112に対してデータを書込
むためMEM10112に対するアクセスを与えられる
時、BMCDB20426に記憶されたデータとBMC
ATM20432からの対応するアドレスがDMOVR
20410に対するDMIDバス20430に対して転
送される。以下において説明するように、この時DMO
VR20410はこのデータをこれらMEM10112
の物理的アドレス場所に対して書込む。データがMEM
10112からED10124に対して読込まれる時、
データはDMODバス20428上のDMOVR204
10により与えられ、BMCDB20426に対して転
送される。この時、BMCAC20418はBMCDB
20426からこのデータを読出して、このデータをE
D10124に対するBMCADバス20420上に転
送する。MEM10112からED10124に対する
データの転送の間、MEM10112はこのデータに伴
うED10124のアドレスに翻訳されるアドレスは提
供しない。その代り、これらのアドレスはBMCAC2
0418によって生成されて与えられる。
【0922】NDC20416は、NDCAC2042
2のデータ入力および出力がBMCDB20426を介
してバッファされない点を除いて、EBMC20414
の方法と似た方法で作用する。
2のデータ入力および出力がBMCDB20426を介
してバッファされない点を除いて、EBMC20414
の方法と似た方法で作用する。
【0923】前述の如く、MEM10112はブロック
転送、即ち一時に4つの32ビット・ワードの順次の転
送を実施する容量を有する。一般に、このような転送
は、EBMC20414を介して実施され、BMCDB
20426を介してバッファされる。即ち、BMCDB
20426は、単一の32ビット・ワードがEBMC2
0414によりED10124から受取られて4ワード
のブロックが受取られるまでそこに記憶されることを可
能にする。このブロックは、次にMEM10112に対
して転送することができる。同様に、ブロックはMEM
10112から受取られ、BMCDB20426におい
て記憶され、一時に1ワードずつED10124に対し
て転送することができる。対照的に、NDC20416
は一般に単一ワード転送のため使用することができる。
転送、即ち一時に4つの32ビット・ワードの順次の転
送を実施する容量を有する。一般に、このような転送
は、EBMC20414を介して実施され、BMCDB
20426を介してバッファされる。即ち、BMCDB
20426は、単一の32ビット・ワードがEBMC2
0414によりED10124から受取られて4ワード
のブロックが受取られるまでそこに記憶されることを可
能にする。このブロックは、次にMEM10112に対
して転送することができる。同様に、ブロックはMEM
10112から受取られ、BMCDB20426におい
て記憶され、一時に1ワードずつED10124に対し
て転送することができる。対照的に、NDC20416
は一般に単一ワード転送のため使用することができる。
【0924】図204に示すように、EBMC2041
4、NDC20416およびIOS10116の各デー
タ・チャネル素子は、夫々、個々のアドレス翻訳マッ
プ、例えばEBMC20414におけるBMCATM2
0432およびNDC20416におけるNDCATM
20436を含んでいる。これに記憶されたアドレス翻
訳マップは有効に構成され、各データ・チャネル素子に
対してIOCP20412によって制御される。IOS
10116はこれにより、各IOS10116のデータ
・チャネル素子に対する個々のアドレス翻訳マップを提
供することができる。このため、IOS10116が、
2つのデータ・チャネル素子、あるいはED10124
における2つのグループのシンクおよびソースのいずれ
もMEM10112の物理的アドレス空間の共通領域に
データを書込みこれを破壊することによって、相互にイ
ンターフェースしないことを保証することを可能にす
る。あるいはまた、IOS10116は、これらのマッ
プがMEM10112の物理的アドレス空間の共通の、
即ち重合する領域を共有する2つ以上のデータ・チャネ
ル素子に対するアドレス翻訳マップを生成することがで
きる。これにより、MEM10112において出力され
るデータをMEM10112を介してIOS10116
のデータ・チャネル素子間に転送させ、これによりED
10124の種々のデータ・シンクおよびソース素子間
に転送させる。例えば、最初のED10124のデータ
・ソースおよび最初のIOS10116のデータ・チャ
ネルはそれについて操作が行なわれるデータをMEM1
0112のアドレス空間の特定の領域に書込むことがで
きる。次にCS10110のこのデータに関する操作の
結果は、前記の第1のデータ素子および第2のデータ素
子により共有される共通の領域に対して書込むこと、お
よび前記の第2のデータ・チャネル素子によって第2の
ED10124のデータ・シンクに対してMEM101
12から読込むことが可能である。これにより、IOS
10116のデータ・チャネル素子の個々のマッピング
は、IOS10116を介するMEM10112のアド
レス空間の区分即ち共有における全体的な柔軟性を与え
るものである。
4、NDC20416およびIOS10116の各デー
タ・チャネル素子は、夫々、個々のアドレス翻訳マッ
プ、例えばEBMC20414におけるBMCATM2
0432およびNDC20416におけるNDCATM
20436を含んでいる。これに記憶されたアドレス翻
訳マップは有効に構成され、各データ・チャネル素子に
対してIOCP20412によって制御される。IOS
10116はこれにより、各IOS10116のデータ
・チャネル素子に対する個々のアドレス翻訳マップを提
供することができる。このため、IOS10116が、
2つのデータ・チャネル素子、あるいはED10124
における2つのグループのシンクおよびソースのいずれ
もMEM10112の物理的アドレス空間の共通領域に
データを書込みこれを破壊することによって、相互にイ
ンターフェースしないことを保証することを可能にす
る。あるいはまた、IOS10116は、これらのマッ
プがMEM10112の物理的アドレス空間の共通の、
即ち重合する領域を共有する2つ以上のデータ・チャネ
ル素子に対するアドレス翻訳マップを生成することがで
きる。これにより、MEM10112において出力され
るデータをMEM10112を介してIOS10116
のデータ・チャネル素子間に転送させ、これによりED
10124の種々のデータ・シンクおよびソース素子間
に転送させる。例えば、最初のED10124のデータ
・ソースおよび最初のIOS10116のデータ・チャ
ネルはそれについて操作が行なわれるデータをMEM1
0112のアドレス空間の特定の領域に書込むことがで
きる。次にCS10110のこのデータに関する操作の
結果は、前記の第1のデータ素子および第2のデータ素
子により共有される共通の領域に対して書込むこと、お
よび前記の第2のデータ・チャネル素子によって第2の
ED10124のデータ・シンクに対してMEM101
12から読込むことが可能である。これにより、IOS
10116のデータ・チャネル素子の個々のマッピング
は、IOS10116を介するMEM10112のアド
レス空間の区分即ち共有における全体的な柔軟性を与え
るものである。
【0925】2.入出力制御処理装置20412 前述の如く、IOCP20412は、その主な機能がM
EM10112とED10124間の全般的な指令およ
び制御またはデータの転送である汎用コンピュータであ
る。IOCP20412は、IOS10116のデータ
・チャネル素子とMEM10112のアドレス空間との
間のアドレスのマッピングを制御する。この点に関し
て、IOCP20412は、EBMC20414および
NDC20416の如きIOS10116のデータ・チ
ャネル素子に対するアドレス翻訳マップを生成する。I
OCP20412はこれらのアドレス翻訳マップを、例
えばIOCPCバス20434を介して、EBMC20
414のBMCATM20432、およびNDCATM
20436とNDC20416に対してロードし、また
これを制御する。IOCP20412はまた、図204
に示したように、DMOVR20410に対していくつ
かの制御機構を提供する。これらの機能に加え、IOC
P20412はまたデータ入出力およびアドレス指定入
出力が設けられている。これらのデータ・アドレス指定
入出力は、例えば、IOS10116のデータ・チャネ
ル素子とMEM10112間のアドレスのマッピングの
生成および制御においてIOCP20412により使用
される情報を得るために使用することができる。また、
これらのデータおよびアドレスの入出力は、IOCP2
0412が部分的に1つのデータ・チャネル素子として
作用することを可能にする。前述の如く、IOCP20
412は、DMIDバス20430およびDMODバス
20428に関して出入するよう結合されたデータおよ
びアドレス入出力を有する。このため、IOCP204
12はED10124とMEM10112間に転送され
るデータに対するアクセスを有し、IOCP20412
にMEM10112のアドレス空間に対する直接のアク
セスを提供する。更に、IOCP20412はNDCA
Dバス20424に対する制御およびアドレス出力が設
けられ、これによりED10124におけるあるデータ
・ソースおよびシンク素子のIOCP20412の部分
的な制御を可能にする。
EM10112とED10124間の全般的な指令およ
び制御またはデータの転送である汎用コンピュータであ
る。IOCP20412は、IOS10116のデータ
・チャネル素子とMEM10112のアドレス空間との
間のアドレスのマッピングを制御する。この点に関し
て、IOCP20412は、EBMC20414および
NDC20416の如きIOS10116のデータ・チ
ャネル素子に対するアドレス翻訳マップを生成する。I
OCP20412はこれらのアドレス翻訳マップを、例
えばIOCPCバス20434を介して、EBMC20
414のBMCATM20432、およびNDCATM
20436とNDC20416に対してロードし、また
これを制御する。IOCP20412はまた、図204
に示したように、DMOVR20410に対していくつ
かの制御機構を提供する。これらの機能に加え、IOC
P20412はまたデータ入出力およびアドレス指定入
出力が設けられている。これらのデータ・アドレス指定
入出力は、例えば、IOS10116のデータ・チャネ
ル素子とMEM10112間のアドレスのマッピングの
生成および制御においてIOCP20412により使用
される情報を得るために使用することができる。また、
これらのデータおよびアドレスの入出力は、IOCP2
0412が部分的に1つのデータ・チャネル素子として
作用することを可能にする。前述の如く、IOCP20
412は、DMIDバス20430およびDMODバス
20428に関して出入するよう結合されたデータおよ
びアドレス入出力を有する。このため、IOCP204
12はED10124とMEM10112間に転送され
るデータに対するアクセスを有し、IOCP20412
にMEM10112のアドレス空間に対する直接のアク
セスを提供する。更に、IOCP20412はNDCA
Dバス20424に対する制御およびアドレス出力が設
けられ、これによりED10124におけるあるデータ
・ソースおよびシンク素子のIOCP20412の部分
的な制御を可能にする。
【0926】3.データ移動機能20410(図26
9) a.a.入力データ・バッファ20440および出力デ
ータ・バッファ20442 前述の如く、DMOVR20410はIOS10116
のデータ・チャネルとMEM10112間のインターフ
ェースを構成する。DMOVR20410は、IOS1
0116のデータ・チャネル素子とMEM10112間
のデータの実際の転送を行ない、IOS10116のデ
ータ・チャネル素子とMEM10112間のアクセスを
制御する。IDB20440とODB20442は、I
OS10116とMEM10112間のデータの非同期
的な転送を可能にするデータおよびアドレス・バッファ
である。即ち、ODB20442は、データが使用可能
となってIOS10116のデータ・チャネル素子、例
えばEBMC20414がこのデータの受入れの用意が
できるまでこのデータを保持するため、MEM1011
2からデータを受入れることができる。IDB2044
0はデータを受入れ、IOS10116のデータ・チャ
ネル素子からのMEM10112の物理的アドレスを受
入れる。IDB20440は、MEM10112がデー
タおよびアドレスを受入れる用意ができる時、MEM1
0112に対する以降の転送のためのデータおよびアド
レスを保持する。例えば、IDB20440は、EBM
C20414からのデータのバースト即ちシーケンス、
またはNDC20416からの単一データ・ワードを受
入れることができ、また前述の如く後でこのデータのM
EM10112に対するブロック、即ち4ワードの転送
を行なうことができる。同様に、ODB20442から
の1つ以上のブロック転送即ちデータを受入れて、その
後データをNDC20416に対しては単一ワードとし
て、あるいはDMIDバス20430に対してデータ・
バーストとして与えることができる。更に、前述の如
く、MEM10112からのブロック転送は4つの連続
するワードとしては現われない。このような場合、OD
B20442は、あるブロック転送の4ワードがMIO
バス10129上に現われる時これらのワードを受入れ
て、これらワードをED10124に対する以降の転送
のための4つの連続するワードを構成するブロックにア
センブルする。
9) a.a.入力データ・バッファ20440および出力デ
ータ・バッファ20442 前述の如く、DMOVR20410はIOS10116
のデータ・チャネルとMEM10112間のインターフ
ェースを構成する。DMOVR20410は、IOS1
0116のデータ・チャネル素子とMEM10112間
のデータの実際の転送を行ない、IOS10116のデ
ータ・チャネル素子とMEM10112間のアクセスを
制御する。IDB20440とODB20442は、I
OS10116とMEM10112間のデータの非同期
的な転送を可能にするデータおよびアドレス・バッファ
である。即ち、ODB20442は、データが使用可能
となってIOS10116のデータ・チャネル素子、例
えばEBMC20414がこのデータの受入れの用意が
できるまでこのデータを保持するため、MEM1011
2からデータを受入れることができる。IDB2044
0はデータを受入れ、IOS10116のデータ・チャ
ネル素子からのMEM10112の物理的アドレスを受
入れる。IDB20440は、MEM10112がデー
タおよびアドレスを受入れる用意ができる時、MEM1
0112に対する以降の転送のためのデータおよびアド
レスを保持する。例えば、IDB20440は、EBM
C20414からのデータのバースト即ちシーケンス、
またはNDC20416からの単一データ・ワードを受
入れることができ、また前述の如く後でこのデータのM
EM10112に対するブロック、即ち4ワードの転送
を行なうことができる。同様に、ODB20442から
の1つ以上のブロック転送即ちデータを受入れて、その
後データをNDC20416に対しては単一ワードとし
て、あるいはDMIDバス20430に対してデータ・
バーストとして与えることができる。更に、前述の如
く、MEM10112からのブロック転送は4つの連続
するワードとしては現われない。このような場合、OD
B20442は、あるブロック転送の4ワードがMIO
バス10129上に現われる時これらのワードを受入れ
て、これらワードをED10124に対する以降の転送
のための4つの連続するワードを構成するブロックにア
センブルする。
【0927】IDB20440およびODB20442
を介するデータの転送はPRC20444によって制御
され、これは制御信号をIOCP20412と交換し、
IOMCバス10131を介してMEM10112に対
する前に述べたインターフェースを有する。
を介するデータの転送はPRC20444によって制御
され、これは制御信号をIOCP20412と交換し、
IOMCバス10131を介してMEM10112に対
する前に述べたインターフェースを有する。
【0928】b.b.優先順位の解明および制御装置2
0444(図269) 前述の如く、PRC20444はIOS10116のデ
ータ・チャネル素子とMEM10112間のアクセスを
制御する。この操作は、PRC20444内のリング付
与アクセス・ゼネレータ(RGAG)によって実施され
る。
0444(図269) 前述の如く、PRC20444はIOS10116のデ
ータ・チャネル素子とMEM10112間のアクセスを
制御する。この操作は、PRC20444内のリング付
与アクセス・ゼネレータ(RGAG)によって実施され
る。
【0929】図270においては、20444RGAG
の略図が示されている。一般に、PRC20444のR
GAGは、リング付与コード・ゼネレータ(RGCG)
26910と、1つ以上のデータ・チャネル要求コンパ
レータからなっている。図269においては、PRC2
0444のRGACは、ECLIPSEバースト・マル
チプレクサ・チャネル要求コンパレータ(EBMCR
D)26912と、NOVAデータ・チャネル要求コン
パレータ(NDCRC)26914と、データ・チャネ
ル素子X要求コンパレータ(DCDXRC)26916
と、データ・チャネル素子Z要求コンパレータ(DCD
ZRC)26918を含む如くに示されている。PRC
20444のRGAGは、ある特定のIOS10116
内のデータ・チャネル素子数により必要とされる如き要
求コンパレータを多かれ少なかれ持つことができる。
の略図が示されている。一般に、PRC20444のR
GAGは、リング付与コード・ゼネレータ(RGCG)
26910と、1つ以上のデータ・チャネル要求コンパ
レータからなっている。図269においては、PRC2
0444のRGACは、ECLIPSEバースト・マル
チプレクサ・チャネル要求コンパレータ(EBMCR
D)26912と、NOVAデータ・チャネル要求コン
パレータ(NDCRC)26914と、データ・チャネ
ル素子X要求コンパレータ(DCDXRC)26916
と、データ・チャネル素子Z要求コンパレータ(DCD
ZRC)26918を含む如くに示されている。PRC
20444のRGAGは、ある特定のIOS10116
内のデータ・チャネル素子数により必要とされる如き要
求コンパレータを多かれ少なかれ持つことができる。
【0930】図269に示すように、RGCG2691
0の要求付与コード(RGC)出力は、EBMCRC2
6912、NDCRC26914、DCDXRC269
16およびDCDZRC26918の第1の入力と並列
に接続されている。EBMCRC26912、NDCR
C26914、DCDXRC26916およびDCDZ
RC26918の第2の入力はPRC20444の他部
分と接続されて、EBMC20414、NDC2041
6、DCDXまたはDCDZが各々MEM10112に
対する読出しまたは書込みアクセスの要求を生じること
の表示を受取る。
0の要求付与コード(RGC)出力は、EBMCRC2
6912、NDCRC26914、DCDXRC269
16およびDCDZRC26918の第1の入力と並列
に接続されている。EBMCRC26912、NDCR
C26914、DCDXRC26916およびDCDZ
RC26918の第2の入力はPRC20444の他部
分と接続されて、EBMC20414、NDC2041
6、DCDXまたはDCDZが各々MEM10112に
対する読出しまたは書込みアクセスの要求を生じること
の表示を受取る。
【0931】EBMCRC26912、NDCRC26
914、DCDXRC26916およびDCDZRC2
6918の要求付与出力(GRANT)は更にPRC2
0444の回路の他の部分と接続されて、MEM101
12に対する読出しまたは書込みアクセスがある特定の
IOS10116のデータ・チャネル素子による要求に
応答して何時与えられたかを表示する。このような付与
の表示がPRC20444のこれらの他の部分に与えら
れる時、PRC20444は、MEM10112に対
し、また前述の如くIOMCバス10131を介して、
IDB20444およびODB20442、およびIO
CP20412に対して適当な制御信号を生成するよう
進行する。PRC20444の制御信号は、前記のIO
S10116のデータ・チャネル素子に対する読出しま
たは書込み要求を開始する。EBMCRC26912、
NDCRC26914、DCDXRC26916および
DCDZRC26918の付与出力もまた、更に以下に
述べるように、特定のIOS10116がMEM101
12に対するアクセス要求を発してこれを付与された時
を表示するため、RGCG26910に対する入力とし
て与えられる。
914、DCDXRC26916およびDCDZRC2
6918の要求付与出力(GRANT)は更にPRC2
0444の回路の他の部分と接続されて、MEM101
12に対する読出しまたは書込みアクセスがある特定の
IOS10116のデータ・チャネル素子による要求に
応答して何時与えられたかを表示する。このような付与
の表示がPRC20444のこれらの他の部分に与えら
れる時、PRC20444は、MEM10112に対
し、また前述の如くIOMCバス10131を介して、
IDB20444およびODB20442、およびIO
CP20412に対して適当な制御信号を生成するよう
進行する。PRC20444の制御信号は、前記のIO
S10116のデータ・チャネル素子に対する読出しま
たは書込み要求を開始する。EBMCRC26912、
NDCRC26914、DCDXRC26916および
DCDZRC26918の付与出力もまた、更に以下に
述べるように、特定のIOS10116がMEM101
12に対するアクセス要求を発してこれを付与された時
を表示するため、RGCG26910に対する入力とし
て与えられる。
【0932】前記のRGCG26910の略図である図
269に示すように、BGCGは独自のRGCの反復的
なシーケンスを生成する。本例においては、数字0乃至
15として示される。各RGCは、IOS10116の
データ・チャネル素子がMEM10112に対するアク
セスを与えられる特定の時点を識別即ち規定する。ある
RGCは、有効に特定のIOS10116のデータ・チ
ャネル素子に対して割当てられている。かかる各データ
・チャネル素子はその割当てられたRGCが識別したア
クセス・スロットの間MEM10112に対するアクセ
スを要求することができる。例えば、EBMC2041
4は、RGC0,2,4,6,8,10,12および1
4により識別されるこれらのアクセス・スロットの間M
EM10112に対するアクセスが許容される如く示さ
れる。NDC20416は、RGCのスロット3,7,
11および15の間MEM10112に対するアクセス
が許容される如く示される。DCDXはスロット1と9
の間にアクセスが許容され、DCDZはRGCスロット
5と13の間にアクセスが許容される。
269に示すように、BGCGは独自のRGCの反復的
なシーケンスを生成する。本例においては、数字0乃至
15として示される。各RGCは、IOS10116の
データ・チャネル素子がMEM10112に対するアク
セスを与えられる特定の時点を識別即ち規定する。ある
RGCは、有効に特定のIOS10116のデータ・チ
ャネル素子に対して割当てられている。かかる各データ
・チャネル素子はその割当てられたRGCが識別したア
クセス・スロットの間MEM10112に対するアクセ
スを要求することができる。例えば、EBMC2041
4は、RGC0,2,4,6,8,10,12および1
4により識別されるこれらのアクセス・スロットの間M
EM10112に対するアクセスが許容される如く示さ
れる。NDC20416は、RGCのスロット3,7,
11および15の間MEM10112に対するアクセス
が許容される如く示される。DCDXはスロット1と9
の間にアクセスが許容され、DCDZはRGCスロット
5と13の間にアクセスが許容される。
【0933】前述の如く、RGCGは反復的なシーケン
スにおいてRGC0乃至15を生成する。ある特定のR
GCの発生の間、PRC20444のRGAGの各要求
コンパレータは、このRGCを検査してその関連するデ
ータ・チャネル素子がこのRGスロットの間にアクセス
を許されるかどうか、またこの関連するデータ・チャネ
ル素子がMEM10112に対するアクセスを要求した
かどうかを判定する。もしこの関連するデータ・チャネ
ル素子が前記のRGCスロットの間にアクセスを許さ
れ、また要求したアクセスを有するならば、このデータ
・チャネル素子はこの要求コンパレータの「許与」出力
によって表示される如くアクセスを与えられる。この要
求コンパレータ「許与」出力はまたRGCG26910
に対する入力として与えられて、RGCG26910に
対してアクセスがRGCスロットの間に与えられたこと
を表示する。
スにおいてRGC0乃至15を生成する。ある特定のR
GCの発生の間、PRC20444のRGAGの各要求
コンパレータは、このRGCを検査してその関連するデ
ータ・チャネル素子がこのRGスロットの間にアクセス
を許されるかどうか、またこの関連するデータ・チャネ
ル素子がMEM10112に対するアクセスを要求した
かどうかを判定する。もしこの関連するデータ・チャネ
ル素子が前記のRGCスロットの間にアクセスを許さ
れ、また要求したアクセスを有するならば、このデータ
・チャネル素子はこの要求コンパレータの「許与」出力
によって表示される如くアクセスを与えられる。この要
求コンパレータ「許与」出力はまたRGCG26910
に対する入力として与えられて、RGCG26910に
対してアクセスがRGCスロットの間に与えられたこと
を表示する。
【0934】もし特定のデータ・チャネル素子がこのR
GCスロットの間にMEM10112に対するアクセス
を要求せず、またこれが与えられなかったならば、RG
CG26910は直接次のRGCスロットに行く。次の
RGCスロットにおいて、PRC20444のRGAG
は再び、このスロットの間にアクセスを与えられた特定
のデータ・チャネル素子が要求を出したかを判定し、も
しこのような要求がなされたならばアクセスが与えられ
る。もしそうでなければ、RGCG26910は再び直
接次のRGCスロットに進行する、等々である。このよ
うに、PRC20444のRGAGは、IOS1011
6の各データ・チャネルは不当な遅延を生じることなく
MEM10112に対するアクセスが許される。更に、
PRC20444のRGAGは、単一の、あるいは1つ
以上のデータ・チャネル素子がMEM10112に対す
るアクセスを独占することを阻止する。前述の如く、各
データ・チャネル素子は、ある特定のRGCシーケンス
の間に少なくとも1回MEM10112に対するアクセ
スを許される。同時に、MEM10112に対するアク
セスの要求が生じない特定のRGC内で休止しないこと
により、PRC20444のRGAGは有効に自動的
に、MEM10112に対するアクセスを要求しなかっ
たデータ・チャネル素子に対して飛越しを行なう。PR
C20444のRGAGは、これにより、ある与えられ
た時間間隔内で、尤も使用頻度の高いデータ・チャネル
素子に対して更に頻繁なアクセスを行なう。更に、特定
のIOS10116のデータ・チャネル素子に対し割当
てられたRGCは特定のCS10110を特定のCS1
0110の形態のデータ入出力要件に適合させるため必
要な如く再割当てを行なうことができる。即ち、もしE
BMC20414がMEM10112に対する、従って
NDC20416に対する比較的頻度の低いアクセスを
要求することを示されるならば、あるRGCはEBMC
20414からNDC20416に対して再割当てを行
なうことができる。IOS10116のデータ・チャネ
ル素子によるMEM10112に対するアクセスは、こ
れにより必要に応じて最適化することができる。
GCスロットの間にMEM10112に対するアクセス
を要求せず、またこれが与えられなかったならば、RG
CG26910は直接次のRGCスロットに行く。次の
RGCスロットにおいて、PRC20444のRGAG
は再び、このスロットの間にアクセスを与えられた特定
のデータ・チャネル素子が要求を出したかを判定し、も
しこのような要求がなされたならばアクセスが与えられ
る。もしそうでなければ、RGCG26910は再び直
接次のRGCスロットに進行する、等々である。このよ
うに、PRC20444のRGAGは、IOS1011
6の各データ・チャネルは不当な遅延を生じることなく
MEM10112に対するアクセスが許される。更に、
PRC20444のRGAGは、単一の、あるいは1つ
以上のデータ・チャネル素子がMEM10112に対す
るアクセスを独占することを阻止する。前述の如く、各
データ・チャネル素子は、ある特定のRGCシーケンス
の間に少なくとも1回MEM10112に対するアクセ
スを許される。同時に、MEM10112に対するアク
セスの要求が生じない特定のRGC内で休止しないこと
により、PRC20444のRGAGは有効に自動的
に、MEM10112に対するアクセスを要求しなかっ
たデータ・チャネル素子に対して飛越しを行なう。PR
C20444のRGAGは、これにより、ある与えられ
た時間間隔内で、尤も使用頻度の高いデータ・チャネル
素子に対して更に頻繁なアクセスを行なう。更に、特定
のIOS10116のデータ・チャネル素子に対し割当
てられたRGCは特定のCS10110を特定のCS1
0110の形態のデータ入出力要件に適合させるため必
要な如く再割当てを行なうことができる。即ち、もしE
BMC20414がMEM10112に対する、従って
NDC20416に対する比較的頻度の低いアクセスを
要求することを示されるならば、あるRGCはEBMC
20414からNDC20416に対して再割当てを行
なうことができる。IOS10116のデータ・チャネ
ル素子によるMEM10112に対するアクセスは、こ
れにより必要に応じて最適化することができる。
【0935】IOS10116の構造および作用につい
て説明したが、次にDP10118の構造および作用に
ついて説明することにする。
て説明したが、次にDP10118の構造および作用に
ついて説明することにする。
【0936】E.診断作用装置10118(図101,
図205) 図101においては、前述の如く、DP10118はD
Pバス10138を介してIOS10116、MEM1
0112、FU10120およびEU10122と相互
に接続されている。DP10118はまた、DPIOバ
ス10136を介して、外部特にDU10134と連結
されている。診断操作および障害監視および補正操作の
実施に加え、DP10118は部分的にオペレータがC
S10110とインターフェースすることを許容する制
御および表示機能を提供するように作用する。DU10
134は、例えば、CRTおよびキーボード装置、また
はテレタイプからなり、CS10110のオペレータに
ハード制御盤、即ちスイッチおよび表示灯を含む制御盤
により従来通り提供される全ての制御および表示機能を
提供する。例えば、DU10134はDP10118を
介して、システムの初期化および起動、診断プロセスの
実行、障害の監視および識別、およびプログラムの実行
の制御の如きオブジェクトのためのCS10110の制
御をオペレータが実施することを許容する。以下におい
て更に説明するように、これらの機能はIOS1011
6と、MEM10112と、FU10120と、EU1
0122とのDP10118のインターフェースを介し
て達成される。
図205) 図101においては、前述の如く、DP10118はD
Pバス10138を介してIOS10116、MEM1
0112、FU10120およびEU10122と相互
に接続されている。DP10118はまた、DPIOバ
ス10136を介して、外部特にDU10134と連結
されている。診断操作および障害監視および補正操作の
実施に加え、DP10118は部分的にオペレータがC
S10110とインターフェースすることを許容する制
御および表示機能を提供するように作用する。DU10
134は、例えば、CRTおよびキーボード装置、また
はテレタイプからなり、CS10110のオペレータに
ハード制御盤、即ちスイッチおよび表示灯を含む制御盤
により従来通り提供される全ての制御および表示機能を
提供する。例えば、DU10134はDP10118を
介して、システムの初期化および起動、診断プロセスの
実行、障害の監視および識別、およびプログラムの実行
の制御の如きオブジェクトのためのCS10110の制
御をオペレータが実施することを許容する。以下におい
て更に説明するように、これらの機能はIOS1011
6と、MEM10112と、FU10120と、EU1
0122とのDP10118のインターフェースを介し
て達成される。
【0937】DP10118は、汎用コンピュータ・シ
ステム、例えば、米国マサチューセッツ州ウエストボロ
ー市のデータ・ゼネラル社製のNOVA4コンピュータ
である。DP10118およびDU10134のインタ
ーフェースおよびDP10118およびDU10134
の相互の操作については、当技術に通常の技術を有する
ものにとっては容易に理解されよう。IOS1011
6、MEM10112、FU10120およびEU10
122 2に関するDP10118のインターフェース
および作用については以下において更に説明しよう。
ステム、例えば、米国マサチューセッツ州ウエストボロ
ー市のデータ・ゼネラル社製のNOVA4コンピュータ
である。DP10118およびDU10134のインタ
ーフェースおよびDP10118およびDU10134
の相互の操作については、当技術に通常の技術を有する
ものにとっては容易に理解されよう。IOS1011
6、MEM10112、FU10120およびEU10
122 2に関するDP10118のインターフェース
および作用については以下において更に説明しよう。
【0938】前記の如き諸機能の実施のため特にプログ
ラムされた汎用コンピュータとして作用するDP101
18は、以下において説明するように、DPバス101
38を介してIOS10116、MEM10112、F
U10120およびFU10120のレジスタに対する
アクセスを続出しかつこれを書込むものであった。DP
10118はこれらのレジスタから直接データを読出し
あるいはこれに対してデータを直接書込むことができ
る。以下において説明するように、これらのレジスタは
データおよび命令レジスタであり、CS10110の通
常の操作においてCS10110の回路の一体部分であ
る。これにより、これらのレジスタに対するアクセス
は、DP10118がCS10110の操作を直接制御
し即ちこの操作を直接有効化することを可能にする。更
に、また以下において説明するように、DP10118
は一般に、CS10110の書込みの全ての部分に対し
て全てのクロック信号を提供し、これらクロック信号の
制御を介して前記回路の操作を制御することができる。
ラムされた汎用コンピュータとして作用するDP101
18は、以下において説明するように、DPバス101
38を介してIOS10116、MEM10112、F
U10120およびFU10120のレジスタに対する
アクセスを続出しかつこれを書込むものであった。DP
10118はこれらのレジスタから直接データを読出し
あるいはこれに対してデータを直接書込むことができ
る。以下において説明するように、これらのレジスタは
データおよび命令レジスタであり、CS10110の通
常の操作においてCS10110の回路の一体部分であ
る。これにより、これらのレジスタに対するアクセス
は、DP10118がCS10110の操作を直接制御
し即ちこの操作を直接有効化することを可能にする。更
に、また以下において説明するように、DP10118
は一般に、CS10110の書込みの全ての部分に対し
て全てのクロック信号を提供し、これらクロック信号の
制御を介して前記回路の操作を制御することができる。
【0939】DP10118の諸機能のオブジェクトの
ため、CS10110は、機能的に関連する要素、例え
ばFU10120におけるDESP20210のグルー
プに更に分割される如くに見做すことができる。DP1
0118はこれらのグループのレジスタに対するアクセ
スを行ない、次に説明するように、走査チェーン回路を
介して内部のクロックを制御する。一般に、DP101
18は、CS10110の主な各機能的なサブ要素に対
する1つ以上の走査チェーン回路が設けられている。
ため、CS10110は、機能的に関連する要素、例え
ばFU10120におけるDESP20210のグルー
プに更に分割される如くに見做すことができる。DP1
0118はこれらのグループのレジスタに対するアクセ
スを行ない、次に説明するように、走査チェーン回路を
介して内部のクロックを制御する。一般に、DP101
18は、CS10110の主な各機能的なサブ要素に対
する1つ以上の走査チェーン回路が設けられている。
【0940】図205においては、DP10118の略
図が示され、典型的なDP10118の走査チェーンが
示されている。同図に示すように、DP10118は汎
用中央処理装置、即ちコンピュータ(DPCPU)27
010を含む。DPCPU27010の第1のインター
フェースはDPIOバス10136を介してDU101
34に対するものである。DPCPU27010とDU
10134は、DPCPU27010の操作を指令しか
つこれらの操作の結果をDU10134を介して表示す
るようにDPIOバス10136を介してデータおよび
制御信号を交換する。
図が示され、典型的なDP10118の走査チェーンが
示されている。同図に示すように、DP10118は汎
用中央処理装置、即ちコンピュータ(DPCPU)27
010を含む。DPCPU27010の第1のインター
フェースはDPIOバス10136を介してDU101
34に対するものである。DPCPU27010とDU
10134は、DPCPU27010の操作を指令しか
つこれらの操作の結果をDU10134を介して表示す
るようにDPIOバス10136を介してデータおよび
制御信号を交換する。
【0941】DPCPU27010と関連しているのは
クロック・ゼネレータ(CLKG)27012である。
CLKG27012は、一般にCS10110において
使用される全てのクロック信号を生成する。
クロック・ゼネレータ(CLKG)27012である。
CLKG27012は、一般にCS10110において
使用される全てのクロック信号を生成する。
【0942】DPCPU27010とCLKG2701
2は、DPバス10138を介してCS10110の種
々の走査チェーン回路とインターフェースされる。前記
の如く、CS10110はその主な各サブ素子に対する
1つ以上の走査チェーンを含む。1つのこのような走査
チェーン、例えば、DESP20210の走査チェーン
(DESPSC)27014が図205に示されてい
る。
2は、DPバス10138を介してCS10110の種
々の走査チェーン回路とインターフェースされる。前記
の如く、CS10110はその主な各サブ素子に対する
1つ以上の走査チェーンを含む。1つのこのような走査
チェーン、例えば、DESP20210の走査チェーン
(DESPSC)27014が図205に示されてい
る。
【0943】DPCPU27010とCLKG2701
2間のインターフェース、例えば、DESPSC270
14はDPバス10138を介して設けられる。図20
5に示されるように、DESPSC27014は走査チ
ェーン・クロック・ゼネレータ(SCCG)27016
および1つ以上の走査チェーン・レジスタ(SCR)2
7018乃至27024を含む。
2間のインターフェース、例えば、DESPSC270
14はDPバス10138を介して設けられる。図20
5に示されるように、DESPSC27014は走査チ
ェーン・クロック・ゼネレータ(SCCG)27016
および1つ以上の走査チェーン・レジスタ(SCR)2
7018乃至27024を含む。
【0944】SCCG27016はCLKG27012
からクロック信号を受取り、またDPCPU27010
からDPバス10138を介して制御信号を受取る。S
CCG27016は更に、例えばDESP20210の
種々のレジスタおよび回路に対して適当なクロック信号
を与える。CPCPU27010によりSCCG270
16に対して与えられるクロック制御信号は、DESP
20210のこれらのレジスタおよび回路に対する種々
のクロック信号を制御し即ちゲートして、これによりD
PCPU27010がDESP20210を制御するこ
とを有効に可能にする。
からクロック信号を受取り、またDPCPU27010
からDPバス10138を介して制御信号を受取る。S
CCG27016は更に、例えばDESP20210の
種々のレジスタおよび回路に対して適当なクロック信号
を与える。CPCPU27010によりSCCG270
16に対して与えられるクロック制御信号は、DESP
20210のこれらのレジスタおよび回路に対する種々
のクロック信号を制御し即ちゲートして、これによりD
PCPU27010がDESP20210を制御するこ
とを有効に可能にする。
【0945】SCR27018乃至27024は、DE
SP20210内の種々のレジスタからなる。例えば、
SCR27018乃至27024は、AONGRF20
232、OFFGRF20234、LENGRF202
36の出力バッファ・レジスタと、OFFALU202
42とLENALU20252の出力レジスタと、OF
FMUX20240とBIAS20246の内部のレジ
スタを含む。このようなレジスタは、本文においては、
前記の如く、これらのレジスタの末尾に付された矢印、
即ちその第1のものが入力を示し第2のものは出力を示
す矢印によって示されている。通常のCS10110の
操作においては、前記の如く、SCR27018乃至2
7024は、データおよび命令が転送される並列の出力
バッファ・レジスタにおける如く並列に作用する。SC
R27018乃至27024はまたシフト・レジスタと
して作用することができ、図205に示すように、DP
CPU27010からの入力とDPCPU27010に
対する出力を有する1つのシフト・レジスタ回路を構成
するため一緒に接続されている。DPCPU27010
からのSCR27018乃至27024への制御入力
は、SCR27018乃至27024の作用を制御し、
即ち、これらのレジスタが並列イン/並列アウト・レジ
スタとして作用するか、あるいはDESPSC2701
4の走査チェーンのシフト・レジスタとして作用するか
を制御する。SCR27018乃至27024からなる
シフト・レジスタの走査チェーンは、これらのレジスタ
の内容をDPCPU27010に対してシフトすること
により、DPCPU27010がSCR27018乃至
27024の内容を続出すことを許容する。逆に、DP
CPU27010は、これからシフト・レジスタの走査
チェーンを介してSCR27018乃至27024内の
選択された場所に対してDPCPU27010によって
生成された情報をシフトすることにより、SCR270
18乃至27024に対して書込むことができる。
SP20210内の種々のレジスタからなる。例えば、
SCR27018乃至27024は、AONGRF20
232、OFFGRF20234、LENGRF202
36の出力バッファ・レジスタと、OFFALU202
42とLENALU20252の出力レジスタと、OF
FMUX20240とBIAS20246の内部のレジ
スタを含む。このようなレジスタは、本文においては、
前記の如く、これらのレジスタの末尾に付された矢印、
即ちその第1のものが入力を示し第2のものは出力を示
す矢印によって示されている。通常のCS10110の
操作においては、前記の如く、SCR27018乃至2
7024は、データおよび命令が転送される並列の出力
バッファ・レジスタにおける如く並列に作用する。SC
R27018乃至27024はまたシフト・レジスタと
して作用することができ、図205に示すように、DP
CPU27010からの入力とDPCPU27010に
対する出力を有する1つのシフト・レジスタ回路を構成
するため一緒に接続されている。DPCPU27010
からのSCR27018乃至27024への制御入力
は、SCR27018乃至27024の作用を制御し、
即ち、これらのレジスタが並列イン/並列アウト・レジ
スタとして作用するか、あるいはDESPSC2701
4の走査チェーンのシフト・レジスタとして作用するか
を制御する。SCR27018乃至27024からなる
シフト・レジスタの走査チェーンは、これらのレジスタ
の内容をDPCPU27010に対してシフトすること
により、DPCPU27010がSCR27018乃至
27024の内容を続出すことを許容する。逆に、DP
CPU27010は、これからシフト・レジスタの走査
チェーンを介してSCR27018乃至27024内の
選択された場所に対してDPCPU27010によって
生成された情報をシフトすることにより、SCR270
18乃至27024に対して書込むことができる。
【0946】走査チェーンのクロック・ゼネレータ回路
およびCS10110内の各走査チェーン回路の走査チ
ェーン・レジスタは、これによりDP10118がCS
10110の主な各サブ素子の作用を制御することを可
能にする。診断、監視および制御機能のため、必要に応
じて、例えば、内部の走査チェーン・レジスタから情報
を読出し、またこれらの走査チェーン・レジスタに対し
て情報を書込むのである。
およびCS10110内の各走査チェーン回路の走査チ
ェーン・レジスタは、これによりDP10118がCS
10110の主な各サブ素子の作用を制御することを可
能にする。診断、監視および制御機能のため、必要に応
じて、例えば、内部の走査チェーン・レジスタから情報
を読出し、またこれらの走査チェーン・レジスタに対し
て情報を書込むのである。
【0947】MEM10112、FU10120、EU
10122、IOS10116およびDP10118を
含むCS10110の主な各素子の構造および作用につ
いて説明したが、特にFU10120のある作用につい
て次に説明する。以下の記述は、内部のある作用の更に
詳細な説明を行なうことによって、JP10114のマ
イクロコード制御について更に説明することにより、J
P10114特にFU10120の作用上の特徴につい
て開示することにする。
10122、IOS10116およびDP10118を
含むCS10110の主な各素子の構造および作用につ
いて説明したが、特にFU10120のある作用につい
て次に説明する。以下の記述は、内部のある作用の更に
詳細な説明を行なうことによって、JP10114のマ
イクロコード制御について更に説明することにより、J
P10114特にFU10120の作用上の特徴につい
て開示することにする。
【0948】F.CS10110のマイクロ機械の構造
および作用(図170〜図274) a.序論 これまでの記述は、FU10120およびEU1012
2のハードウェア構造および作用について述べた。以下
の記述子は、如何にしてFU10120における諸素子
およびEU10122のいくつかの素子が、以下におい
てFUマイクロ機械と呼ぶマイクロプログラム可能なコ
ンピュータとして一体に機能するかについて記述する。
このFUマイクロ機械は2つのタスク、即ちSINの解
釈およびFU10120、EU10122、MEM10
112およびIOS10116における諸素子により生
成されるいくつかの信号に対する応答を実施する。FU
マイクロ機械が応答する信号は、事象信号と呼ばれる。
構造および作用に関して、FUマイクロ機械は下記の如
き特徴を有する。即ち、 −論理記述子の処理のため専用化されたレジスタおよび
ALU −マイクロルーチン(マイクロ命令シーケンス)の呼出
しのためのスタックとして構成されたレジスタ −ハードウェアからの事象信号によるマイクロルーチン
呼出しを可能にする機構 −呼出しを生じたマイクロ命令に続くマイクロ命令、ま
たは呼出しを生じたマイクロ命令のいずれかに呼出され
たマイクロルーチンを戻すことを可能にする機構 −スタック・レジスタの内容がMEM10112に対し
転送されることを可能にする機構 −予測できる時間長さ以内の事象信号に対する応答を保
証する機構 −マイクロ機構を構成する諸素子の2つのグループ、即
ち全てのマイクロコードにより使用可能な素子およびK
OS(前述の核心オペレーティング・システム)マイク
ロコードのみにより使用可能なものへの分割である。
および作用(図170〜図274) a.序論 これまでの記述は、FU10120およびEU1012
2のハードウェア構造および作用について述べた。以下
の記述子は、如何にしてFU10120における諸素子
およびEU10122のいくつかの素子が、以下におい
てFUマイクロ機械と呼ぶマイクロプログラム可能なコ
ンピュータとして一体に機能するかについて記述する。
このFUマイクロ機械は2つのタスク、即ちSINの解
釈およびFU10120、EU10122、MEM10
112およびIOS10116における諸素子により生
成されるいくつかの信号に対する応答を実施する。FU
マイクロ機械が応答する信号は、事象信号と呼ばれる。
構造および作用に関して、FUマイクロ機械は下記の如
き特徴を有する。即ち、 −論理記述子の処理のため専用化されたレジスタおよび
ALU −マイクロルーチン(マイクロ命令シーケンス)の呼出
しのためのスタックとして構成されたレジスタ −ハードウェアからの事象信号によるマイクロルーチン
呼出しを可能にする機構 −呼出しを生じたマイクロ命令に続くマイクロ命令、ま
たは呼出しを生じたマイクロ命令のいずれかに呼出され
たマイクロルーチンを戻すことを可能にする機構 −スタック・レジスタの内容がMEM10112に対し
転送されることを可能にする機構 −予測できる時間長さ以内の事象信号に対する応答を保
証する機構 −マイクロ機構を構成する諸素子の2つのグループ、即
ち全てのマイクロコードにより使用可能な素子およびK
OS(前述の核心オペレーティング・システム)マイク
ロコードのみにより使用可能なものへの分割である。
【0949】これらの素子および機構は、FUマイクロ
機械が2つの方法、即ち仮想のマイクロ機構として、ま
たモニター用マイクロ機械として使用されることを可能
にする。両種のマイクロ機械はFU10120において
同じ素子を使用するが、異なる機能を実施し異なる論理
特性を有する。以下の論議においては、FUマイクロ機
械が仮想のマイクロ機械として使用される時は仮想モー
ドにあると言われ、またこれがモニター用マイクロ機械
として使用される時はモニター・モードにあると言われ
る。両方のモードは以下において更に詳細に紹介し説明
する。
機械が2つの方法、即ち仮想のマイクロ機構として、ま
たモニター用マイクロ機械として使用されることを可能
にする。両種のマイクロ機械はFU10120において
同じ素子を使用するが、異なる機能を実施し異なる論理
特性を有する。以下の論議においては、FUマイクロ機
械が仮想のマイクロ機械として使用される時は仮想モー
ドにあると言われ、またこれがモニター用マイクロ機械
として使用される時はモニター・モードにあると言われ
る。両方のモードは以下において更に詳細に紹介し説明
する。
【0950】最初に使用マイクロ機械が仮想モードにお
いて使用される時、これは下記の特性を有する。即ち、 −このマイクロ機械はプロセス610に帰属する実質的
に無限のマイクロ機械スタックにおいて実行する。 −このマイクロ機械は1つのマイクロ命令のMOサイク
ル(状態)において事象信号のどんな数にも応答するこ
とができる。 −マイクロルーチンの呼出しまたはマイクロルーチンか
らの戻りと同時にページ障害が生じ得る。
いて使用される時、これは下記の特性を有する。即ち、 −このマイクロ機械はプロセス610に帰属する実質的
に無限のマイクロ機械スタックにおいて実行する。 −このマイクロ機械は1つのマイクロ命令のMOサイク
ル(状態)において事象信号のどんな数にも応答するこ
とができる。 −マイクロルーチンの呼出しまたはマイクロルーチンか
らの戻りと同時にページ障害が生じ得る。
【0951】FUマイクロ機械が仮想モードにある時、
どんなマイクロルーチンも完了に戻り得ない、即ち予測
できる時間長さ以内にその実行を完了し、あるいはこれ
を完全に完了し得ない。 −このマイクロ機械はプロセス610を実行中である。
どんなマイクロルーチンも完了に戻り得ない、即ち予測
できる時間長さ以内にその実行を完了し、あるいはこれ
を完全に完了し得ない。 −このマイクロ機械はプロセス610を実行中である。
【0952】最後の4つの特性は、第1の結果であり、
事象信号が呼出しをもたらし、マイクロ機械スタックが
無限であるため、呼出し数には制限がない。無限のマイ
クロ機械のスタックは、プロセス610に帰属する機械
保護スタック10336に対しマイクロ機械スタック・
フレームを置くことによって達成され、従って仮想マイ
クロ機械は常にあるプロセス610に帰属するマイクロ
機械スタックにおいて実行する。更に、もしあるマイク
ロルーチンの呼出しまたはマイクロルーチンからの戻り
がマイクロ機械フレームが機密保護スタック10336
からFUマイクロ機械に対して転送されることを要求す
るならば、ページ障害が生じ得、マイクロルーチンを実
行中のプロセス610はJP10114から除去され、
これによりマイクロルーチンの実行に要する時間を予測
不可能にする。実際に、もしプロセス610が停止され
る即ち終らされるならば、マイクロルーチンの実行は決
して終了しない。以下の説明において判るように、仮想
プロセッサ612は、仮想マイクロ機械がプロセス61
0のマイクロ機械スタックに対するアクセスを得る手段
である。
事象信号が呼出しをもたらし、マイクロ機械スタックが
無限であるため、呼出し数には制限がない。無限のマイ
クロ機械のスタックは、プロセス610に帰属する機械
保護スタック10336に対しマイクロ機械スタック・
フレームを置くことによって達成され、従って仮想マイ
クロ機械は常にあるプロセス610に帰属するマイクロ
機械スタックにおいて実行する。更に、もしあるマイク
ロルーチンの呼出しまたはマイクロルーチンからの戻り
がマイクロ機械フレームが機密保護スタック10336
からFUマイクロ機械に対して転送されることを要求す
るならば、ページ障害が生じ得、マイクロルーチンを実
行中のプロセス610はJP10114から除去され、
これによりマイクロルーチンの実行に要する時間を予測
不可能にする。実際に、もしプロセス610が停止され
る即ち終らされるならば、マイクロルーチンの実行は決
して終了しない。以下の説明において判るように、仮想
プロセッサ612は、仮想マイクロ機械がプロセス61
0のマイクロ機械スタックに対するアクセスを得る手段
である。
【0953】モニター・モードにおいて、FUマイクロ
機械は下記の特性を有する。即ち、 −このマイクロ機械は固定されたサイズのマイクロ機械
スタックを有し、このスタックは常にFUマイクロ機械
から使用可能であり、このスタックはプロセス610と
関連しない。 −このマイクロ機械は1つのマイクロ命令のMOサイク
ルの間固定数の事象しか応答し得ない。 −モニター・モードにおいては、1つのマイクロルーチ
ンの呼出しまたはマイクロルーチンからの戻りはページ
障害を生じない。 −マイクロ機械がモニター・モードにある時FUマイク
ロ機械に関して実行中のマイクロルーチンは、これら自
らがJP10114を放棄させる動作を行なわなけれ
ば、完了まで実行することを保証される。 −モニター・モードで実行中のマイクロルーチンはプロ
セス610に対する機能を実施する必要はない。
機械は下記の特性を有する。即ち、 −このマイクロ機械は固定されたサイズのマイクロ機械
スタックを有し、このスタックは常にFUマイクロ機械
から使用可能であり、このスタックはプロセス610と
関連しない。 −このマイクロ機械は1つのマイクロ命令のMOサイク
ルの間固定数の事象しか応答し得ない。 −モニター・モードにおいては、1つのマイクロルーチ
ンの呼出しまたはマイクロルーチンからの戻りはページ
障害を生じない。 −マイクロ機械がモニター・モードにある時FUマイク
ロ機械に関して実行中のマイクロルーチンは、これら自
らがJP10114を放棄させる動作を行なわなけれ
ば、完了まで実行することを保証される。 −モニター・モードで実行中のマイクロルーチンはプロ
セス610に対する機能を実施する必要はない。
【0954】同様に、残りの特性は第1のものの結果で
ある。これはモニター用マイクロ機械のスタックが固定
サイズであるため、モニター・マイクロ機械が応答可能
な事象の数が制限される。更に、スタックが常に直接マ
イクロ機械にアクセス可能であるため、マイクロ機械の
呼出しおよび戻しはページ障害を惹起せず、モニター・
モードで実行中のマイクロルーチンは、自らJP101
14を放棄させる動作を行なわなければ、完了まで実行
することになる。最後に、モニター・マイクロ機械のス
タックはプロセス610の機密保護スタック10336
と関連せず、従って、モニター・マイクロ機械はプロセ
ス610に対する機能を実行すると共に、(プロセス6
10とは関連しない)諸機能、例えばJP10114か
らの仮想プロセッサ612の結合および除去を実行する
ことができる。
ある。これはモニター用マイクロ機械のスタックが固定
サイズであるため、モニター・マイクロ機械が応答可能
な事象の数が制限される。更に、スタックが常に直接マ
イクロ機械にアクセス可能であるため、マイクロ機械の
呼出しおよび戻しはページ障害を惹起せず、モニター・
モードで実行中のマイクロルーチンは、自らJP101
14を放棄させる動作を行なわなければ、完了まで実行
することになる。最後に、モニター・マイクロ機械のス
タックはプロセス610の機密保護スタック10336
と関連せず、従って、モニター・マイクロ機械はプロセ
ス610に対する機能を実行すると共に、(プロセス6
10とは関連しない)諸機能、例えばJP10114か
らの仮想プロセッサ612の結合および除去を実行する
ことができる。
【0955】最初のものに続く記述は、マイクロ機械を
構成する諸素子の概論であり、マイクロ機械に関する呼
出およびマイクロ機械のプログラミングの記述に続き、
仮想およびモニター・モードの詳細な論議およびマイク
ロ機械と10110のサブシステム間の関係の概論で締
括くる。マイクロ機械がSINの分析、名前の解明また
はアドレスの翻訳の如き特定の操作を実施する方法につ
いては、マイクロ機械が諸操作の実施のため使用するC
S10110の構成要素についての前の記述に見出すこ
とができる。
構成する諸素子の概論であり、マイクロ機械に関する呼
出およびマイクロ機械のプログラミングの記述に続き、
仮想およびモニター・モードの詳細な論議およびマイク
ロ機械と10110のサブシステム間の関係の概論で締
括くる。マイクロ機械がSINの分析、名前の解明また
はアドレスの翻訳の如き特定の操作を実施する方法につ
いては、マイクロ機械が諸操作の実施のため使用するC
S10110の構成要素についての前の記述に見出すこ
とができる。
【0956】b.FUマイクロ機械を構成する諸素子の
概論(図270) 図270は、マイクロ機械を構成する諸素子の概要を紹
介する。図270は図201に基づくものであるが、論
議の明瞭回路を向上させるため簡単にされている。図2
01に示されるマイクロ機械の素子および再区分には番
号が付されている。図270における素子が2つの再区
分に現われる時は、これらの再区分により共有される。
概論(図270) 図270は、マイクロ機械を構成する諸素子の概要を紹
介する。図270は図201に基づくものであるが、論
議の明瞭回路を向上させるため簡単にされている。図2
01に示されるマイクロ機械の素子および再区分には番
号が付されている。図270における素子が2つの再区
分に現われる時は、これらの再区分により共有される。
【0957】図270は4つの主な再区分を有する。こ
れらの内の3つは図201からで、即ちマイクロ機械に
より実行されるべき次のマイクロ命令を選択するため使
用される素子を保有するFUCTL20214と、記述
子の処理のためのスタック、大域レジスタおよびALU
を含むDESP20210と、名前を論理記述子に翻訳
しかつ論理記述子を物理的記述子に翻訳する素子を含む
MEMINT20212である。第4の再区分、即ちE
Uインターフェース27007は、FU10120のマ
イクロコードによって操作可能なEU10122の各部
を表わす。
れらの内の3つは図201からで、即ちマイクロ機械に
より実行されるべき次のマイクロ命令を選択するため使
用される素子を保有するFUCTL20214と、記述
子の処理のためのスタック、大域レジスタおよびALU
を含むDESP20210と、名前を論理記述子に翻訳
しかつ論理記述子を物理的記述子に翻訳する素子を含む
MEMINT20212である。第4の再区分、即ちE
Uインターフェース27007は、FU10120のマ
イクロコードによって操作可能なEU10122の各部
を表わす。
【0958】図270は更にFUCTL20214とM
EMINT20212を再分割する。FUCTL202
14は4つの再区分を有する。即ち、 −Iストリーム・リーダ27001、SINを得てこれ
をSOPおよび名前に分析するため使用される素子を含
む。 −SOPデコーダ27003、SOPをFUマイクロコ
ード(FUSITT11012)における場所に変換
し、ある場合には、対応するSINを実施するマイクロ
コードを含むEUマイクロコード(EUSITT203
44)における場所に変換する。 −マイクロコード・アドレス指定装置27013、FU
SITT11012において実行されるべき次のマイク
ロ命令の場所を決定する。 −レジスタ・アドレス指定装置27011、GRF10
354のレジスタに対するアドレスを生成する素子を含
む。
EMINT20212を再分割する。FUCTL202
14は4つの再区分を有する。即ち、 −Iストリーム・リーダ27001、SINを得てこれ
をSOPおよび名前に分析するため使用される素子を含
む。 −SOPデコーダ27003、SOPをFUマイクロコ
ード(FUSITT11012)における場所に変換
し、ある場合には、対応するSINを実施するマイクロ
コードを含むEUマイクロコード(EUSITT203
44)における場所に変換する。 −マイクロコード・アドレス指定装置27013、FU
SITT11012において実行されるべき次のマイク
ロ命令の場所を決定する。 −レジスタ・アドレス指定装置27011、GRF10
354のレジスタに対するアドレスを生成する素子を含
む。
【0959】MEMINT20212もまた3つの再区
分を有する。即ち、 −名前翻訳装置27015、名前の論理記述子への翻訳
を加速する素子を含む。 −メモリー照合装置27017、論理記述子の物理的記
述子への翻訳を加速する素子を含む。 −機密保護装置27019、論理記述子に関してなされ
たメモリー照合についての最初のアクセス検査を加速す
る素子を含む。
分を有する。即ち、 −名前翻訳装置27015、名前の論理記述子への翻訳
を加速する素子を含む。 −メモリー照合装置27017、論理記述子の物理的記
述子への翻訳を加速する素子を含む。 −機密保護装置27019、論理記述子に関してなされ
たメモリー照合についての最初のアクセス検査を加速す
る素子を含む。
【0960】図270はまた、長さバス20226と、
OFFSETバス20228と、AONバス20230
を1つの構造、即ち記述子バス(DB)27021に結
合することによって図202のバス構造を簡単にする。
更に、内部バスの結合は、マイクロ機械の論理的操作の
説明に必要なものにまで減殺されている。以下の記述に
おいては、最初にFU10120において実行中のほと
んどのマイクロコードにより使用される如き素子につい
て説明し、次いで名前の翻訳または保護機能検査の如き
特殊な機能の実施に使用される素子について説明する。
OFFSETバス20228と、AONバス20230
を1つの構造、即ち記述子バス(DB)27021に結
合することによって図202のバス構造を簡単にする。
更に、内部バスの結合は、マイクロ機械の論理的操作の
説明に必要なものにまで減殺されている。以下の記述に
おいては、最初にFU10120において実行中のほと
んどのマイクロコードにより使用される如き素子につい
て説明し、次いで名前の翻訳または保護機能検査の如き
特殊な機能の実施に使用される素子について説明する。
【0961】1.ほとんどのマイクロコードにより使用
される素子 ほとんどのマイクロコードにより使用されるいくつかの
素子を含むマイクロ機械の再区分は、マイクロコード・
アドレス指定装置27013と、レジスタ・アドレス指
定装置27011と、EUインターフェース27007
とである。更に、ほとんどのマイクロコードはMODバ
ス10144と、JPDバス10142と、DB270
21を使用する。本論はバスの論議から始め、次いで上
掲の順序で他の素子について説明する。
される素子 ほとんどのマイクロコードにより使用されるいくつかの
素子を含むマイクロ機械の再区分は、マイクロコード・
アドレス指定装置27013と、レジスタ・アドレス指
定装置27011と、EUインターフェース27007
とである。更に、ほとんどのマイクロコードはMODバ
ス10144と、JPDバス10142と、DB270
21を使用する。本論はバスの論議から始め、次いで上
掲の順序で他の素子について説明する。
【0962】a.a.MODバス10144、JPDバ
ス10142およびDB27021 MODバス10144は、これによりデータをMEM1
0112から得ることができる唯一の経路である。MO
Dバス10144におけるデータは、その行先として、
命令ストリーム・リーダ27001、またはDESP2
0210、またはEUインターフェース27007を有
する。第1の場合には、MODバス10144における
データはSINからなり、第2の場合にはFU1012
0により処理されるデータであり、第3の場合には、こ
れはEU10122により処理されるデータである。本
例においては、FU10120により処理されるべきデ
ータは、略々FU10120内部の使用、例えば名前カ
ッシェ10226における使用をオブジェクトとするデ
ータである。EU10122により保有されるデータ
は、一般にSINにおける名前により表わされるオペラ
ンドである。
ス10142およびDB27021 MODバス10144は、これによりデータをMEM1
0112から得ることができる唯一の経路である。MO
Dバス10144におけるデータは、その行先として、
命令ストリーム・リーダ27001、またはDESP2
0210、またはEUインターフェース27007を有
する。第1の場合には、MODバス10144における
データはSINからなり、第2の場合にはFU1012
0により処理されるデータであり、第3の場合には、こ
れはEU10122により処理されるデータである。本
例においては、FU10120により処理されるべきデ
ータは、略々FU10120内部の使用、例えば名前カ
ッシェ10226における使用をオブジェクトとするデ
ータである。EU10122により保有されるデータ
は、一般にSINにおける名前により表わされるオペラ
ンドである。
【0963】JPDバス10142は2つの用途を有す
る。即ち、データがJP10114により処理された後
MEM10112に対して戻る経路であり、また論理記
述子以外のデータがマイクロ命令の再区分間で移動する
経路である。例えば、CS10110が初期化される
時、FUSITT11012に対してロードされるマイ
クロ命令はMEM10112からJPDバス10142
を介してDESP20210に対して転送され、またD
ESP20210からJPDバス10142を介してF
USITT11012に対して転送される。
る。即ち、データがJP10114により処理された後
MEM10112に対して戻る経路であり、また論理記
述子以外のデータがマイクロ命令の再区分間で移動する
経路である。例えば、CS10110が初期化される
時、FUSITT11012に対してロードされるマイ
クロ命令はMEM10112からJPDバス10142
を介してDESP20210に対して転送され、またD
ESP20210からJPDバス10142を介してF
USITT11012に対して転送される。
【0964】DB27021は、これにより論理記述子
がマイクロ機械内で転送される経路である。DB270
21は、名前翻訳装置27015と、DESP2021
0と、機密保護装置27019と、メモリー照合装置2
7017を接続する。典型的には、論理記述子は、DE
SP20210におけるレジスタに配された名前翻訳装
置27015から得られ、次いで、照合が論理記述子を
用いてなされる時は常に機密保護装置27019とメモ
リー照合装置27017に対して与えられる。しかし、
DB27021はまた、DESP20210において形
成されたカッシェのエントリをATU10228と、名
前カッシェ(NC)10226と、保護カッシェ(P
C)10234に対して転送するため使用される。
がマイクロ機械内で転送される経路である。DB270
21は、名前翻訳装置27015と、DESP2021
0と、機密保護装置27019と、メモリー照合装置2
7017を接続する。典型的には、論理記述子は、DE
SP20210におけるレジスタに配された名前翻訳装
置27015から得られ、次いで、照合が論理記述子を
用いてなされる時は常に機密保護装置27019とメモ
リー照合装置27017に対して与えられる。しかし、
DB27021はまた、DESP20210において形
成されたカッシェのエントリをATU10228と、名
前カッシェ(NC)10226と、保護カッシェ(P
C)10234に対して転送するため使用される。
【0965】b.b.マイクロコードのアドレス指定装
置 本文において論述したように、マイクロコードのアドレ
ス指定装置は下記の諸素子からなる。即ち、TIMER
20296、EVENTロジック20284、RCWS
10358、BRCASE20278、mPC2027
6、MCW020292、MCW1 20290、SI
TTNAS20286およびFUSITT11012で
ある。これらの素子の全てについては既に詳細に説明し
ており、これらの素子はマイクロコードのアドレス指定
に影響を及ぼす時のみこれについて論述する。図202
に含まれる他の素子、即ち状態レジスタ20294、反
復カウンタ20280およびPNREG20282はマ
イクロコードのアドレス指定とは直接に関連を持たない
ため、本項では論述しない。
置 本文において論述したように、マイクロコードのアドレ
ス指定装置は下記の諸素子からなる。即ち、TIMER
20296、EVENTロジック20284、RCWS
10358、BRCASE20278、mPC2027
6、MCW020292、MCW1 20290、SI
TTNAS20286およびFUSITT11012で
ある。これらの素子の全てについては既に詳細に説明し
ており、これらの素子はマイクロコードのアドレス指定
に影響を及ぼす時のみこれについて論述する。図202
に含まれる他の素子、即ち状態レジスタ20294、反
復カウンタ20280およびPNREG20282はマ
イクロコードのアドレス指定とは直接に関連を持たない
ため、本項では論述しない。
【0966】既に詳細に説明したように、マイクロコー
ド・アドレス指定装置27013における諸素子はJP
Dバス10142からロードされる。これらの素子およ
びFUSDT11010により与えられるマイクロコー
ド・アドレスは、これら諸素子間をFUSITT110
12に対してCSADRバス20204よって転送され
る。次のマイクロコード・アドレスが得られる方法は6
つある。即ち、 −最も頻繁には、mPC20276における値は、mP
C20276における特殊なALUによって1だけ増分
され、これによりその時のマイクロ命令に続くマイクロ
命令のアドレスを生じる。 −もしあるマイクロ命令があるマイクロルーチンまたは
分岐に対する呼出しを規定するならば、このマイクロ命
令は、次のマイクロ命令の場所を得るためBRCASE
20278におけるALUがmPC20276における
値に加算するリテラル値を保有する。 −もし次のマイクロ命令の場所を計算するためあるマイ
クロ命令がある場合の値の使用を規定するならば、BR
CASE20278はDESP20210により計算さ
れた値をmPC20718の値に加算する。DESP2
0210により計算された値はある論理記述子のあるフ
ィールドから得ることができ、これによりこの論理記述
子に含まれる形式情報に基づいてマイクロコードにおけ
る異なる場合に対してマイクロ機械が分岐することを可
能にする。あるマイクロルーチンの呼出しから戻ると同
時に、呼出しが生じたマイクロルーチンの実行が継続す
べき場合がRCWS10358から得られる。 −SINの実行の開始時において、SINに対するマイ
クロコードが開始する場所がFUSDT11010によ
ってSINのSOPから得られる。 −いくつかのハードウェア信号はマイクロルーチンの呼
出しを生じる。このような信号の2つの種類がある。即
ち、事象ロジック20284がいくつかのマイクロルー
チンの呼出しに変換する事象信号と、直接マイクロコー
ドの場所に変換されるJAM信号である。
ド・アドレス指定装置27013における諸素子はJP
Dバス10142からロードされる。これらの素子およ
びFUSDT11010により与えられるマイクロコー
ド・アドレスは、これら諸素子間をFUSITT110
12に対してCSADRバス20204よって転送され
る。次のマイクロコード・アドレスが得られる方法は6
つある。即ち、 −最も頻繁には、mPC20276における値は、mP
C20276における特殊なALUによって1だけ増分
され、これによりその時のマイクロ命令に続くマイクロ
命令のアドレスを生じる。 −もしあるマイクロ命令があるマイクロルーチンまたは
分岐に対する呼出しを規定するならば、このマイクロ命
令は、次のマイクロ命令の場所を得るためBRCASE
20278におけるALUがmPC20276における
値に加算するリテラル値を保有する。 −もし次のマイクロ命令の場所を計算するためあるマイ
クロ命令がある場合の値の使用を規定するならば、BR
CASE20278はDESP20210により計算さ
れた値をmPC20718の値に加算する。DESP2
0210により計算された値はある論理記述子のあるフ
ィールドから得ることができ、これによりこの論理記述
子に含まれる形式情報に基づいてマイクロコードにおけ
る異なる場合に対してマイクロ機械が分岐することを可
能にする。あるマイクロルーチンの呼出しから戻ると同
時に、呼出しが生じたマイクロルーチンの実行が継続す
べき場合がRCWS10358から得られる。 −SINの実行の開始時において、SINに対するマイ
クロコードが開始する場所がFUSDT11010によ
ってSINのSOPから得られる。 −いくつかのハードウェア信号はマイクロルーチンの呼
出しを生じる。このような信号の2つの種類がある。即
ち、事象ロジック20284がいくつかのマイクロルー
チンの呼出しに変換する事象信号と、直接マイクロコー
ドの場所に変換されるJAM信号である。
【0967】前述の如く得られたアドレスはSITTN
AS20286に対して転送され、これは次のマイクロ
命令の場合としてアドレスの1つを選択し、この場所を
FUSITT11012に対して転送する。この場所が
FUSITT11012に対して転送されると、これも
またmPC20278に記憶される。JAMに対するア
ドレスを除く全てのアドレスは、CSADRバス202
04を介してSITTNAS20286に対して転送さ
れる。JAM信号から得られるアドレスはSITTNA
S20286に対する別の回線によって転送される。
AS20286に対して転送され、これは次のマイクロ
命令の場合としてアドレスの1つを選択し、この場所を
FUSITT11012に対して転送する。この場所が
FUSITT11012に対して転送されると、これも
またmPC20278に記憶される。JAMに対するア
ドレスを除く全てのアドレスは、CSADRバス202
04を介してSITTNAS20286に対して転送さ
れる。JAM信号から得られるアドレスはSITTNA
S20286に対する別の回線によって転送される。
【0968】以下において詳細に説明するように、マイ
クロルーチンの呼出しおよび戻しもまたマイクロ機械の
プッシュおよびポッピングおよびMCW1 20290
に含まれる状態の保管を伴なう。
クロルーチンの呼出しおよび戻しもまたマイクロ機械の
プッシュおよびポッピングおよびMCW1 20290
に含まれる状態の保管を伴なう。
【0969】レジスタ・アドレス指定装置27011
は、GRF10354に含まれるマイクロ命令レジスタ
に対するアクセスを制御する。以下において詳細に説明
するように、GRF10354はマイクロ機械スタック
に対して使用されるレジスタと大域レジスタ、即ち常に
全てのマイクロルーチンに対してアクセス可能なレジス
タの両者を含んでいる。このレジスタはフレーム内に集
められ、個々のレジスタはフレーム番号およびレジスタ
番号によりアドレス指定される。レジスタ・アドレス指
定装置27011は、GRF10354のGR1036
0におけるどのフレームおよびレジスタのアドレス指定
でも可能であるが、SR10362のフレームの場合は
3つのフレーム、即ちその時の(最上位の)フレーム
と、前のフレーム(即ち、最上位のフレームに先行する
フレーム)と、最下位のフレーム即ち依然としてGRF
10354に保有される仮想マイクロ機械スタックにお
ける最下位のフレームにおけるレジスタのアドレス指定
しか可能でない。レジスタ・アドレス指定装置2701
1により与えられる値はMCW0 20292に記憶さ
れる。続くマイクロルーチン呼出しの論述において説明
するように、その時および前のフレームは呼出し毎に増
分され、戻し操作毎に減分されるのである。
は、GRF10354に含まれるマイクロ命令レジスタ
に対するアクセスを制御する。以下において詳細に説明
するように、GRF10354はマイクロ機械スタック
に対して使用されるレジスタと大域レジスタ、即ち常に
全てのマイクロルーチンに対してアクセス可能なレジス
タの両者を含んでいる。このレジスタはフレーム内に集
められ、個々のレジスタはフレーム番号およびレジスタ
番号によりアドレス指定される。レジスタ・アドレス指
定装置27011は、GRF10354のGR1036
0におけるどのフレームおよびレジスタのアドレス指定
でも可能であるが、SR10362のフレームの場合は
3つのフレーム、即ちその時の(最上位の)フレーム
と、前のフレーム(即ち、最上位のフレームに先行する
フレーム)と、最下位のフレーム即ち依然としてGRF
10354に保有される仮想マイクロ機械スタックにお
ける最下位のフレームにおけるレジスタのアドレス指定
しか可能でない。レジスタ・アドレス指定装置2701
1により与えられる値はMCW0 20292に記憶さ
れる。続くマイクロルーチン呼出しの論述において説明
するように、その時および前のフレームは呼出し毎に増
分され、戻し操作毎に減分されるのである。
【0970】c.c.記述子処理装置20210(図2
71) DESP20210は、論理記述子を記憶してこれを処
理するための1組の素子である。DESP20210の
処理装置の内部構造については既に詳細に説明したが、
本論においては、論述は主としてGRF10354の構
造および内容について述べる。CS10110の望まし
い実施態様においては、GRF10354は256構成
のレジスタを保有する。各レジスタは1つの論理記述子
を含む。図271は、詳細に論理記述子27116を示
している。CS10110の本実施態様においては、論
理記述子27116は4つの主なフィールドを有する。
即ち、 −RSフィールド27101、以下において説明する種
々のフラッグを保有する。 −AONフィールド27111、論理記述子27116
により表わされるデータ項目のアドレスのAON部分を
保有する。 −OFFフィールド27113、論理記述子27116
により表わされるデータ項目のアドレスのオフセット部
分を保有する。 −LENフィールド27115、論理記述子27116
により表わされるデータ項目の長さを保有する。
71) DESP20210は、論理記述子を記憶してこれを処
理するための1組の素子である。DESP20210の
処理装置の内部構造については既に詳細に説明したが、
本論においては、論述は主としてGRF10354の構
造および内容について述べる。CS10110の望まし
い実施態様においては、GRF10354は256構成
のレジスタを保有する。各レジスタは1つの論理記述子
を含む。図271は、詳細に論理記述子27116を示
している。CS10110の本実施態様においては、論
理記述子27116は4つの主なフィールドを有する。
即ち、 −RSフィールド27101、以下において説明する種
々のフラッグを保有する。 −AONフィールド27111、論理記述子27116
により表わされるデータ項目のアドレスのAON部分を
保有する。 −OFFフィールド27113、論理記述子27116
により表わされるデータ項目のアドレスのオフセット部
分を保有する。 −LENフィールド27115、論理記述子27116
により表わされるデータ項目の長さを保有する。
【0971】RSフィールド27101は下記の如きサ
ブフィールドを含む。即ち、 −RTDフィールド27103とWTDフィールド27
105はCS10110によるデバッガに対して与えら
れるいくつかの事象信号を不作用化するためマイクロコ
ードによって設定することができる。詳細については、
CS10110におけるデバッギング手段の以降の記述
を参照されたい。 −FIUフィールド27107は2つのビットを保有す
る。このフィールドは、論理記述子27116を構成す
るため使用される名前テーブル・エントリにおける情報
から設定される。これらのビットは如何にして論理記述
子27116により指定されたデータがMEM1011
2から取出される時に位置調整される時に位置調整され
て充填されるかを判定する。 −TYPEフィールド27109の4つのビットもま
た、論理記述子27116を構成するため使用される名
前テーブル・エントリから得られる。このフィールドの
セッティングはS言語間で変化し、S言語のSインタプ
リター・マイクロコードに対してS言語特有のタイプ情
報を通信するために使用される。
ブフィールドを含む。即ち、 −RTDフィールド27103とWTDフィールド27
105はCS10110によるデバッガに対して与えら
れるいくつかの事象信号を不作用化するためマイクロコ
ードによって設定することができる。詳細については、
CS10110におけるデバッギング手段の以降の記述
を参照されたい。 −FIUフィールド27107は2つのビットを保有す
る。このフィールドは、論理記述子27116を構成す
るため使用される名前テーブル・エントリにおける情報
から設定される。これらのビットは如何にして論理記述
子27116により指定されたデータがMEM1011
2から取出される時に位置調整される時に位置調整され
て充填されるかを判定する。 −TYPEフィールド27109の4つのビットもま
た、論理記述子27116を構成するため使用される名
前テーブル・エントリから得られる。このフィールドの
セッティングはS言語間で変化し、S言語のSインタプ
リター・マイクロコードに対してS言語特有のタイプ情
報を通信するために使用される。
【0972】論理記述子27116の4つのフィールド
は、GRF10354レジスタにおける3つの個々にア
クセス可能なフィールドに含まれるが、その1つはRS
フィールド27101とAONフィールド27111と
を含み、1つはOFFフィールド27113を含み、1
つはLENフィールド27115を含んでいる。更に、
各GRF10354レジスタは全体的にアクセス可能で
ある。GRF10354は更に各々8つのレジスタの3
2フレームに再分割されている。個々のGRF1035
4レジスタは、前記フレーム内のそのフレーム番号とそ
のレジスタ番号によってアドレス指定される。CS10
110の本実施例においては、GRF10354におけ
るフレームの半分がSR10362に帰属してマイクロ
機械スタックのため使用され、半分は「大域情報」の記
憶のためGR10360に帰属する。SR10362に
おいては、各GRF10354のフレームは、あるマイ
クロルーチンの1回の呼出しに帰属する情報を保有す
る。前述の如く、レジスタ・アドレス指定装置2701
1はSR10362スタックにおける3つのGRF10
354のフレーム、即ち、このスタックにおけるその時
の最上位フレームと、前のフレームと、最下位のフレー
ムのみのアドレス指定を可能にする。レジスタは、これ
らの3つのフレームと1つのレジスタ番号の1つを指定
することによってアクセスされる。
は、GRF10354レジスタにおける3つの個々にア
クセス可能なフィールドに含まれるが、その1つはRS
フィールド27101とAONフィールド27111と
を含み、1つはOFFフィールド27113を含み、1
つはLENフィールド27115を含んでいる。更に、
各GRF10354レジスタは全体的にアクセス可能で
ある。GRF10354は更に各々8つのレジスタの3
2フレームに再分割されている。個々のGRF1035
4レジスタは、前記フレーム内のそのフレーム番号とそ
のレジスタ番号によってアドレス指定される。CS10
110の本実施例においては、GRF10354におけ
るフレームの半分がSR10362に帰属してマイクロ
機械スタックのため使用され、半分は「大域情報」の記
憶のためGR10360に帰属する。SR10362に
おいては、各GRF10354のフレームは、あるマイ
クロルーチンの1回の呼出しに帰属する情報を保有す
る。前述の如く、レジスタ・アドレス指定装置2701
1はSR10362スタックにおける3つのGRF10
354のフレーム、即ち、このスタックにおけるその時
の最上位フレームと、前のフレームと、最下位のフレー
ムのみのアドレス指定を可能にする。レジスタは、これ
らの3つのフレームと1つのレジスタ番号の1つを指定
することによってアクセスされる。
【0973】GR10360に含まれる大域情報は、1
つの呼出しとは接続されない情報である。大域情報には
3つの広いカテゴリーがある。即ち、 −その仮想プロセッサ612がその時JP10114に
対して固定されるプロセス610に帰属する情報。この
情報に含まれるのは、プロセス610のABPのその時
の値とKOSがプロセス610のスタックの管理のため
使用するポインタである。 −KOSの操作のため必要とされる情報。この情報に含
まれるのは、MEM10112における固定された場所
を占有するKOSデータ・ベースに対するポインタの如
き項目である。 −定数、即ち、FU10120において頻繁に実施され
るいくつかの操作に必要とされる固定値。
つの呼出しとは接続されない情報である。大域情報には
3つの広いカテゴリーがある。即ち、 −その仮想プロセッサ612がその時JP10114に
対して固定されるプロセス610に帰属する情報。この
情報に含まれるのは、プロセス610のABPのその時
の値とKOSがプロセス610のスタックの管理のため
使用するポインタである。 −KOSの操作のため必要とされる情報。この情報に含
まれるのは、MEM10112における固定された場所
を占有するKOSデータ・ベースに対するポインタの如
き項目である。 −定数、即ち、FU10120において頻繁に実施され
るいくつかの操作に必要とされる固定値。
【0974】残りのレジスタは、マイクロルーチンのス
タック・フレームに記憶することができないデータに対
する一時的な記憶領域としてマイクロプログラマに対し
て使用可能である。例えば、いくつかのマイクロルーチ
ンにより共有されるデータはGR10360に最適に置
くことができる。GRF10354のGR10360に
おけるレジスタのアドレス指定は2つの値、即ちフレー
ムを指定する0乃至15の値と、フレームにおけるレジ
スタを指定する0乃至7の値を必要とする。
タック・フレームに記憶することができないデータに対
する一時的な記憶領域としてマイクロプログラマに対し
て使用可能である。例えば、いくつかのマイクロルーチ
ンにより共有されるデータはGR10360に最適に置
くことができる。GRF10354のGR10360に
おけるレジスタのアドレス指定は2つの値、即ちフレー
ムを指定する0乃至15の値と、フレームにおけるレジ
スタを指定する0乃至7の値を必要とする。
【0975】前に詳細に述べたように、DESP202
10の3つの構成要素AONP20216と、OFFP
20218とLENP20220もまたALUと、レジ
スタと、GRF10354レジスタの個々のフィールド
について実施すべき各操作を可能にするロジックを含
む。特に、OFFP20218は、汎用32ビット演算
論理装置として使用することができるOFFALU20
242を含む。OFFALU20242は更に、JPD
バス10142とDB27021のオフセット部分と名
前バス20224のソースおよび行先として、またMO
Dバス10144に対する行先として作用する。その結
果、OFFALU20242はこれらのバスにおけるデ
ータについて操作を行ない、データを1つのバスから別
のバスに対して転送するため使用することができる。例
えば、あるSINがアドレス計算において使用されるリ
テラル値を保有する時、このリテラル値は名前バス20
224を介してOFFALU20242に対して転送さ
れ、それについて操作され、DB27021のオフセッ
ト部分を介して出力される。
10の3つの構成要素AONP20216と、OFFP
20218とLENP20220もまたALUと、レジ
スタと、GRF10354レジスタの個々のフィールド
について実施すべき各操作を可能にするロジックを含
む。特に、OFFP20218は、汎用32ビット演算
論理装置として使用することができるOFFALU20
242を含む。OFFALU20242は更に、JPD
バス10142とDB27021のオフセット部分と名
前バス20224のソースおよび行先として、またMO
Dバス10144に対する行先として作用する。その結
果、OFFALU20242はこれらのバスにおけるデ
ータについて操作を行ない、データを1つのバスから別
のバスに対して転送するため使用することができる。例
えば、あるSINがアドレス計算において使用されるリ
テラル値を保有する時、このリテラル値は名前バス20
224を介してOFFALU20242に対して転送さ
れ、それについて操作され、DB27021のオフセッ
ト部分を介して出力される。
【0976】d.d.EU10122のインターフェー
ス FU10120は、EU10122がどんな操作を実施
すべきか、どんなオペランドについて操作を実施すべき
か、また何時終了されるか、このオペランドにより何を
なすべきかを規定する。FU10120は、データに対
する行先としてEU10122における2つの素子およ
びデータのソースとして1つの素子を使用することがで
きる。行先はCOMQ20342とOPB20322で
ある。COMQ20342は、FU10120によって
要求される操作を実施するためのマイクロコードのEU
SITT20344における場所を受取る。COMQ2
0342は、FU10120のマイクロルーチンから、
あるいはSINのSOPからマイクロコードにおける場
所を受取る。第1の場合には、この場所はJPDバス1
0142を介して転送され、第2の場合には、これはE
USDT20266から得られEUDISバス2020
6を介して転送される。OPB20322は、それにつ
いて操作が実施されるべきオペランドを受取る。もしこ
のオペランドが直接MEM10112から入るならば、
これらのオペランドはMODバス10144を介してO
PB20322に対して転送され、もしこれらのオペラ
ンドがFU10120のレジスタまたは諸素子からのも
のであれば、これらはJPDバス10142を介して転
送される。
ス FU10120は、EU10122がどんな操作を実施
すべきか、どんなオペランドについて操作を実施すべき
か、また何時終了されるか、このオペランドにより何を
なすべきかを規定する。FU10120は、データに対
する行先としてEU10122における2つの素子およ
びデータのソースとして1つの素子を使用することがで
きる。行先はCOMQ20342とOPB20322で
ある。COMQ20342は、FU10120によって
要求される操作を実施するためのマイクロコードのEU
SITT20344における場所を受取る。COMQ2
0342は、FU10120のマイクロルーチンから、
あるいはSINのSOPからマイクロコードにおける場
所を受取る。第1の場合には、この場所はJPDバス1
0142を介して転送され、第2の場合には、これはE
USDT20266から得られEUDISバス2020
6を介して転送される。OPB20322は、それにつ
いて操作が実施されるべきオペランドを受取る。もしこ
のオペランドが直接MEM10112から入るならば、
これらのオペランドはMODバス10144を介してO
PB20322に対して転送され、もしこれらのオペラ
ンドがFU10120のレジスタまたは諸素子からのも
のであれば、これらはJPDバス10142を介して転
送される。
【0977】結果のレジスタ27013はデータに対す
るソースである。EU10122が操作を完了した後、
FU10120は結果のレジスタ27013から結果を
得る。次に、FU10120はこの結果をMEM101
12に入れ、あるいはJPDバス10142からアクセ
ス可能などの素子にでも入れることができる。
るソースである。EU10122が操作を完了した後、
FU10120は結果のレジスタ27013から結果を
得る。次に、FU10120はこの結果をMEM101
12に入れ、あるいはJPDバス10142からアクセ
ス可能などの素子にでも入れることができる。
【0978】2.専用化されたマイクロ機械素子 専用化された素子のグループの各々は、CS10110
のサブシステムの1つとして作用する。命令ストリーム
・リーダ27001はSインタプリタサブシステムの一
部であり、名前翻訳装置27015は名前インタプリタ
サブシステムの一部であり、メモリー照合装置2701
7は仮想メモリー管理システムの一部であり、機密保護
装置27019はアクセス制御システムの一部である。
本項においては、これらの素子についてはマイクロ機械
の関連においてのみ説明し、これら素子が帰属するサブ
システム内の機能の完全な理解のためには、サブシステ
ムの前の記述を参照されたい。
のサブシステムの1つとして作用する。命令ストリーム
・リーダ27001はSインタプリタサブシステムの一
部であり、名前翻訳装置27015は名前インタプリタ
サブシステムの一部であり、メモリー照合装置2701
7は仮想メモリー管理システムの一部であり、機密保護
装置27019はアクセス制御システムの一部である。
本項においては、これらの素子についてはマイクロ機械
の関連においてのみ説明し、これら素子が帰属するサブ
システム内の機能の完全な理解のためには、サブシステ
ムの前の記述を参照されたい。
【0979】a.a.命令ストリーム・リーダ2700
1 命令ストリーム・リーダ27001は、手順オブジェク
ト604,606,608からSINのストリーム(命
令ストリームと呼ぶ)を読出して分析する。この命令ス
トリームはSOP(命令コード)、名前およびリテラル
値からなる。前述の如く、CS10110の本実施例に
おいては、あるプロセス602から読出された命令スト
リームは固定されたフォーマットを有し、SOPは8ビ
ットの長さであり、名前およびリテラル値は全て単一の
長さを有する。手順に従って、この長さは8,12また
は16ビットとなる。命令ストリーム・リーダ2700
1は、この命令ストリームをその構成SOPと名前に分
解し、このSOPと名前WOマイクロ機械の適当な部分
に対して送ることにより分析する。命令ストリーム・リ
ーダ27001は2つのグループの素子を含む。即ち、 −PC値27006、命令ストリームにおける場合を保
有する3つのレジスタからなる。ABPのPBPに対し
て加算される時、これらのレジスタに含まれる値は、実
行中の手順602を含む手順オブジェクト901におけ
る場所を指定する。CPC20270は、その時翻訳中
のSOPまたは名前の場所を保有し、IPC20272
はその時実行中のSINの始めの場所を保有し、最後
に、EPC20274はSINの実行開始時にのみ関連
を有し、この時これは実行されるべき最後のSINの場
所を有する。 −分析装置27005、INSTB20262と、パー
サ20264と、PREF20260からなる。マイク
ロルーチンはPREF20260を用いて命令ストリー
ムに対する論理記述子27116を形成し、これは次に
DB27021に置かれて論理メモリー照合において使
用される。これらの照合から戻されたデータはINST
B20262に置かれて、パーサ20264によって分
析される。
1 命令ストリーム・リーダ27001は、手順オブジェク
ト604,606,608からSINのストリーム(命
令ストリームと呼ぶ)を読出して分析する。この命令ス
トリームはSOP(命令コード)、名前およびリテラル
値からなる。前述の如く、CS10110の本実施例に
おいては、あるプロセス602から読出された命令スト
リームは固定されたフォーマットを有し、SOPは8ビ
ットの長さであり、名前およびリテラル値は全て単一の
長さを有する。手順に従って、この長さは8,12また
は16ビットとなる。命令ストリーム・リーダ2700
1は、この命令ストリームをその構成SOPと名前に分
解し、このSOPと名前WOマイクロ機械の適当な部分
に対して送ることにより分析する。命令ストリーム・リ
ーダ27001は2つのグループの素子を含む。即ち、 −PC値27006、命令ストリームにおける場合を保
有する3つのレジスタからなる。ABPのPBPに対し
て加算される時、これらのレジスタに含まれる値は、実
行中の手順602を含む手順オブジェクト901におけ
る場所を指定する。CPC20270は、その時翻訳中
のSOPまたは名前の場所を保有し、IPC20272
はその時実行中のSINの始めの場所を保有し、最後
に、EPC20274はSINの実行開始時にのみ関連
を有し、この時これは実行されるべき最後のSINの場
所を有する。 −分析装置27005、INSTB20262と、パー
サ20264と、PREF20260からなる。マイク
ロルーチンはPREF20260を用いて命令ストリー
ムに対する論理記述子27116を形成し、これは次に
DB27021に置かれて論理メモリー照合において使
用される。これらの照合から戻されたデータはINST
B20262に置かれて、パーサ20264によって分
析される。
【0980】パーサ20264により得られたSOP
と、名前と、リテラル値は名前バス20224に置か
れ、これはパーサ20264と、SOPデコーダ270
03と、名前翻訳装置27015とOFFALU202
42を接続する。
と、名前と、リテラル値は名前バス20224に置か
れ、これはパーサ20264と、SOPデコーダ270
03と、名前翻訳装置27015とOFFALU202
42を接続する。
【0981】b.b.SOPデコーダ27003 SOPデコーダ27003は、SOPをFU10120
およびEU10122のマイクロコードにおける場合に
復号する。SOPデコーダ27003は、CS1011
0と、EUSDT20266と、ダイアレクト・レジス
タ(RDIAL)24212と、LOPCODE242
10からなる。FUSDT11010は更に、FUDI
SP24218およびFALG24220からなってい
る。これらの素子がSINに含まれるSOPをFUSI
TT11012およびEUSITT20344における
場所に翻訳する方法については前に述べた。
およびEU10122のマイクロコードにおける場合に
復号する。SOPデコーダ27003は、CS1011
0と、EUSDT20266と、ダイアレクト・レジス
タ(RDIAL)24212と、LOPCODE242
10からなる。FUSDT11010は更に、FUDI
SP24218およびFALG24220からなってい
る。これらの素子がSINに含まれるSOPをFUSI
TT11012およびEUSITT20344における
場所に翻訳する方法については前に述べた。
【0982】c.c.名前翻訳装置27015 名前翻訳装置27015は、論理記述子27116に対
する名前の翻訳を加速する。この操作は名前の解明と呼
ばれる。これは2つの構成要素、即ち名前カッシェ10
226および名前トラップ20254からなる。名前カ
ッシェ10226は、手順オブジェクト604の名前テ
ーブル10350から情報のコピーを含み、これにより
名前テーブル10350を照合することなしに名前を論
理記述子27116に翻訳することを可能にする。名前
が名前翻訳装置27015に与えられると、この装置は
必要に応じて名前翻訳装置27015により後で使用す
るため名前トラップ20254に対してラッチされる。
以下において詳細に説明するように、本実施例において
は、名前の翻訳は常に名前カッシェ10226に対する
名前の提供により開始する。もし名前が既に翻訳されて
いたならば、その論理記述子27116の解釈に必要な
情報は名前カッシェ10226に含むことができる。も
し名前カッシェ10226における名前に対する情報が
なければ、名前解明マイクロコードは名前トラップ20
254から名前を得、この名前の翻訳のため実行中の手
順に対する情報を名前テーブル10350から使用し、
この必要とされる情報を名前カッシェ10226に置
き、再び翻訳を試みる。翻訳が成功すると、名前に対応
する論理記述子27116が名前カッシェ10115に
おける情報から生成され、DB27021に置かれ、G
RF10354のレジスタにロードされる。
する名前の翻訳を加速する。この操作は名前の解明と呼
ばれる。これは2つの構成要素、即ち名前カッシェ10
226および名前トラップ20254からなる。名前カ
ッシェ10226は、手順オブジェクト604の名前テ
ーブル10350から情報のコピーを含み、これにより
名前テーブル10350を照合することなしに名前を論
理記述子27116に翻訳することを可能にする。名前
が名前翻訳装置27015に与えられると、この装置は
必要に応じて名前翻訳装置27015により後で使用す
るため名前トラップ20254に対してラッチされる。
以下において詳細に説明するように、本実施例において
は、名前の翻訳は常に名前カッシェ10226に対する
名前の提供により開始する。もし名前が既に翻訳されて
いたならば、その論理記述子27116の解釈に必要な
情報は名前カッシェ10226に含むことができる。も
し名前カッシェ10226における名前に対する情報が
なければ、名前解明マイクロコードは名前トラップ20
254から名前を得、この名前の翻訳のため実行中の手
順に対する情報を名前テーブル10350から使用し、
この必要とされる情報を名前カッシェ10226に置
き、再び翻訳を試みる。翻訳が成功すると、名前に対応
する論理記述子27116が名前カッシェ10115に
おける情報から生成され、DB27021に置かれ、G
RF10354のレジスタにロードされる。
【0983】d.d.メモリー照合装置27017 メモリー照合装置27017は、論理記述子27116
を用いてメモリーの照合を行なう。メモリー照合装置2
7017は、MEM10112に対する指令と、この指
令が実施されるべきデータを記述する論理記述子271
16を受取る。書込み操作の場合、メモリー照合装置2
7017はまたJPDバス10142を介して書込まれ
つつあるデータを受取る。メモリー照合装置27017
は論理記述子27116を物理的記述子に翻訳し、この
物理的記述子および指令をPDバス10146を介して
MEM10112に対して転送する。メモリー照合装置
27017は4つの構成要素、即ちKOS仮想メモリー
管理システム・テーブルからの情報のコピーを保有し、
これにより論理記述子から物理的記述子への翻訳を加速
するATU10228と、論理記述子27116を捕捉
するDST20256と、メモリーの指令を捕捉する指
令トラップ27018と、書込み操作におけるデータを
捕捉するデータ・トラップ20258とを有する。論理
的メモリー照合がなされる時、論理記述子27116は
DB27021を介してATU10228に対して与え
られ、同時に論理記述子27116およびメモリー指令
はDST20256および指令トラップ27018に捕
捉される。書込み操作と同時に、書込まれるべきデータ
はデータ・トラップ20258に捕捉される。もし物理
的記述子を形成するに必要な情報がATU10228に
存在するならば、物理的記述子はPDバス10146を
介してMEM10112に対し転送される。もし物理的
記述子の形成のため必要な情報がATU10228に存
在しなければ、ATU10228からの事象SINは、
DST20256から論理記述子27116を検索する
マイクロルーチンを介在させ、KOS仮想メモリー管理
システム・テーブルに含まれる情報を用いて論理記述子
27116に対するATU10228におけるエントリ
を行なう。マイクロルーチンが戻る時、論理的メモリー
照合がDST20256からの論理記述子27116
と、指令トラップ27018からのメモリー指令を用い
て反復され、また書込み操作においてはデータ・トラッ
プ20258におけるデータを用いて反復される。仮想
メモリー管理の論議において詳細に説明するように、も
し論理的メモリー照合により照合されたデータがMEM
10112に存在しなければ、論理的メモリー照合がペ
ージの障害を惹起する。
を用いてメモリーの照合を行なう。メモリー照合装置2
7017は、MEM10112に対する指令と、この指
令が実施されるべきデータを記述する論理記述子271
16を受取る。書込み操作の場合、メモリー照合装置2
7017はまたJPDバス10142を介して書込まれ
つつあるデータを受取る。メモリー照合装置27017
は論理記述子27116を物理的記述子に翻訳し、この
物理的記述子および指令をPDバス10146を介して
MEM10112に対して転送する。メモリー照合装置
27017は4つの構成要素、即ちKOS仮想メモリー
管理システム・テーブルからの情報のコピーを保有し、
これにより論理記述子から物理的記述子への翻訳を加速
するATU10228と、論理記述子27116を捕捉
するDST20256と、メモリーの指令を捕捉する指
令トラップ27018と、書込み操作におけるデータを
捕捉するデータ・トラップ20258とを有する。論理
的メモリー照合がなされる時、論理記述子27116は
DB27021を介してATU10228に対して与え
られ、同時に論理記述子27116およびメモリー指令
はDST20256および指令トラップ27018に捕
捉される。書込み操作と同時に、書込まれるべきデータ
はデータ・トラップ20258に捕捉される。もし物理
的記述子を形成するに必要な情報がATU10228に
存在するならば、物理的記述子はPDバス10146を
介してMEM10112に対し転送される。もし物理的
記述子の形成のため必要な情報がATU10228に存
在しなければ、ATU10228からの事象SINは、
DST20256から論理記述子27116を検索する
マイクロルーチンを介在させ、KOS仮想メモリー管理
システム・テーブルに含まれる情報を用いて論理記述子
27116に対するATU10228におけるエントリ
を行なう。マイクロルーチンが戻る時、論理的メモリー
照合がDST20256からの論理記述子27116
と、指令トラップ27018からのメモリー指令を用い
て反復され、また書込み操作においてはデータ・トラッ
プ20258におけるデータを用いて反復される。仮想
メモリー管理の論議において詳細に説明するように、も
し論理的メモリー照合により照合されたデータがMEM
10112に存在しなければ、論理的メモリー照合がペ
ージの障害を惹起する。
【0984】e.e.機密保護装置27019 論理的メモリー照合毎に、機密保護装置27019は、
この照合を行なう主題が、照合されるオブジェクトにつ
いてのメモリー指令によって指定される動作を実施する
ことを可能にするアクセス権を有するかどうかを検査す
る。もしこの主題が所要のアクセス権を持たなければ、
機密保護装置27019からのSINはMEM1011
2をして論理的メモリー照合を打切らせる。機密保護装
置27019は、KOSアクセス制御システムテーブル
からの情報のコピーを保有する保護カッシェ10234
からなり、これにより保護機能検査の速度を向上させ、
DST20256、指令トラップ27018およびデー
タ・トラップ20258をメモリー照合装置27017
と共有する。論理的メモリー照合がなされる時、AON
と論理記述のオフセット部分が保護カッシェ10234
に対して提供される。もし保護カッシェ10234がA
ONおよびオペランドにより指定されるオブジェクトに
対する保護情報を保有し、メモリー照合を行なう主題が
所要のアクセスを有するならば、メモリー照合は継続
し、もし保護カッシェ10234が保護情報を保有し主
題が所要のアクセスを持たなければ、保護カッシェ10
234からのSINはメモリー照合を打切る。もし保護
カッシェ10234が所要のアクセス情報を持たなけれ
ば、保護カッシェ10224からのSINはメモリー照
合を打切り、KOSアクセス制御システム・テーブルか
らのアクセス情報を得るマイクロルーチンを介在させ
て、これを保護カッシェ10234に置く。保護カッシ
ェ10234が使用可能状態にある時、メモリーのアク
セスはDST20256からの論理記述子と、指令トラ
ップ27018からのメモリー指令を用いて反復され、
また書込み操作の場合は、データ・トラップ20258
におけるデータを用いて反復される。
この照合を行なう主題が、照合されるオブジェクトにつ
いてのメモリー指令によって指定される動作を実施する
ことを可能にするアクセス権を有するかどうかを検査す
る。もしこの主題が所要のアクセス権を持たなければ、
機密保護装置27019からのSINはMEM1011
2をして論理的メモリー照合を打切らせる。機密保護装
置27019は、KOSアクセス制御システムテーブル
からの情報のコピーを保有する保護カッシェ10234
からなり、これにより保護機能検査の速度を向上させ、
DST20256、指令トラップ27018およびデー
タ・トラップ20258をメモリー照合装置27017
と共有する。論理的メモリー照合がなされる時、AON
と論理記述のオフセット部分が保護カッシェ10234
に対して提供される。もし保護カッシェ10234がA
ONおよびオペランドにより指定されるオブジェクトに
対する保護情報を保有し、メモリー照合を行なう主題が
所要のアクセスを有するならば、メモリー照合は継続
し、もし保護カッシェ10234が保護情報を保有し主
題が所要のアクセスを持たなければ、保護カッシェ10
234からのSINはメモリー照合を打切る。もし保護
カッシェ10234が所要のアクセス情報を持たなけれ
ば、保護カッシェ10224からのSINはメモリー照
合を打切り、KOSアクセス制御システム・テーブルか
らのアクセス情報を得るマイクロルーチンを介在させ
て、これを保護カッシェ10234に置く。保護カッシ
ェ10234が使用可能状態にある時、メモリーのアク
セスはDST20256からの論理記述子と、指令トラ
ップ27018からのメモリー指令を用いて反復され、
また書込み操作の場合は、データ・トラップ20258
におけるデータを用いて反復される。
【0985】f.f.KOSマイクロ機械の素子 マイクロ機械に関する紹介において述べたように、マイ
クロ機械を構成する素子は2つの種類、即ちマイクロ機
械に対して書込まれたマイクロコードが操作可能なもの
と、KOSマイクロコードによって専ら操作可能なもの
とに分類することができる。後者の種類は、GRE10
354のGR10360におけるいくつかのレジスタ
と、GRF10354のスタック部分(スタック・レジ
スタ10362)における仮想マイクロ機械スタックの
部分の最下位フレームと、機密保護装置27019およ
びメモリー照合装置27017において保有される諸素
子からなる。機密保護装置27019およびメモリー照
合装置27017はKOSマイクロコードによってのみ
操作可能であり、非KOSマイクロコードはソースまた
は行先としてDST20256および指令トラップ27
018を使用せず、ATU10228または保護カッシ
ェ10234におけるレジスタのロードまたは無効化を
行なわず、またメモリー照合装置27017および機密
保護装置27019に対して論理記述子を提供する代り
に、物理的メモリー照合、即ち物理的記述子を直接PD
バス10146に置くメモリー照合は行なわない。同様
に、GRF10354のレジスタのアドレス指定の場合
は、非KOSマイクロコードは、GRF10354のG
R10360におけるKOSレジスタ、またはGRF1
0354のスタック部分の最下位フレームを規定しな
い。更に、FUSITT11012の動的ローディング
を可能にする実施態様においては、KOSマイクロコー
ドのみが動的ローディングのため提供された諸素子を操
作することができる。
クロ機械を構成する素子は2つの種類、即ちマイクロ機
械に対して書込まれたマイクロコードが操作可能なもの
と、KOSマイクロコードによって専ら操作可能なもの
とに分類することができる。後者の種類は、GRE10
354のGR10360におけるいくつかのレジスタ
と、GRF10354のスタック部分(スタック・レジ
スタ10362)における仮想マイクロ機械スタックの
部分の最下位フレームと、機密保護装置27019およ
びメモリー照合装置27017において保有される諸素
子からなる。機密保護装置27019およびメモリー照
合装置27017はKOSマイクロコードによってのみ
操作可能であり、非KOSマイクロコードはソースまた
は行先としてDST20256および指令トラップ27
018を使用せず、ATU10228または保護カッシ
ェ10234におけるレジスタのロードまたは無効化を
行なわず、またメモリー照合装置27017および機密
保護装置27019に対して論理記述子を提供する代り
に、物理的メモリー照合、即ち物理的記述子を直接PD
バス10146に置くメモリー照合は行なわない。同様
に、GRF10354のレジスタのアドレス指定の場合
は、非KOSマイクロコードは、GRF10354のG
R10360におけるKOSレジスタ、またはGRF1
0354のスタック部分の最下位フレームを規定しな
い。更に、FUSITT11012の動的ローディング
を可能にする実施態様においては、KOSマイクロコー
ドのみが動的ローディングのため提供された諸素子を操
作することができる。
【0986】CS10110の本実施例においては、K
OS素子およびレジスタと、全てのマイクロプログラム
に対してアクセス可能な素子およびレジスタはマイクロ
バインダによって操作される。このマイクロバインダ
は、機密保護装置27019またはメモリー照合装置2
7017における諸素子を操作し、あるいはKOS用に
留保されたGRF10354のレジスタをアドレス指定
するマイクロ命令に対する全てのマイクロコードの検査
を行なう。しかし、KOS素子が全てのマイクロプログ
ラムに対してアクセス可能な素子とは論理的にも物理的
にも個別であり、その結果、CS10110の他の実施
態様においては、非KOSマイクロプラグラムがKOS
素子の操作を行なうことを阻止するハードウェア素子を
使用することができる。
OS素子およびレジスタと、全てのマイクロプログラム
に対してアクセス可能な素子およびレジスタはマイクロ
バインダによって操作される。このマイクロバインダ
は、機密保護装置27019またはメモリー照合装置2
7017における諸素子を操作し、あるいはKOS用に
留保されたGRF10354のレジスタをアドレス指定
するマイクロ命令に対する全てのマイクロコードの検査
を行なう。しかし、KOS素子が全てのマイクロプログ
ラムに対してアクセス可能な素子とは論理的にも物理的
にも個別であり、その結果、CS10110の他の実施
態様においては、非KOSマイクロプラグラムがKOS
素子の操作を行なうことを阻止するハードウェア素子を
使用することができる。
【0987】c.マイクロ機械スタックおよびマイクロ
ルーチンの呼出しおよび戻し操作(図272,図27
3) 1.マイクロ機械スタック(図272) 前述の如く、FUマイクロ機械はスタック・マイクロ機
械である。FUマイクロ機械のスタックの特性は、FU
マイクロ機械が仮想モードであるかモニター・モードで
あるかに依存する。仮想モードにおいては、マイクロ機
械スタックは実質的にサイズが制約を受けず、もしこれ
が内部のFU10120に対して許容される以上のフレ
ームを保有するならば、最上位フレームはGRF103
54にあり、残りのフレームはFUマイクロ機械によっ
て実行中のプロセス610に帰属する保護スタック10
336にある。以下においては、仮想モードのマイクロ
機械スタックは仮想マイクロ機械スタックと呼ばれる。
モニター・モードにおいては、マイクロ機械スタックは
固定された記憶量からなり、CS10110の本実施例
においては、モニター・モードのマイクロ機械スタック
はスタック部分、即ちGRF10354のSR1036
2に完全に保有され、CS10110の他の実施例にお
いては、モニター・モードのマイクロ機械スタックの一
部または全ては、固定サイズでありかつモニター・マイ
クロ機械にとって固定の場所を有するMEM10112
のある領域内に保有することができる。CS10110
の更に別の実施例においては、モニータ・モードのマイ
クロ機械スタックは仮想マイクロ機械スタックと同様な
方法で柔軟性のある深さのものである。いずれのモード
の、実行を行なうあるKOSマイクロルーチン以外のマ
イクロルーチンにおいても、状態の保管および復元操作
はGRF10354のスタックの2つのフレームしかア
クセスできない。即ち、その時のフレームと呼ばれるマ
イクロルーチンが実行中であるフレームと、前のフレー
ムと呼ばれるマイクロルーチンと関与したマイクロルー
チンが実行したフレームである。状態の保管および復元
操作を実行するKOSマイクロルーチンは、更に、GR
F10354に保有される仮想マイクロ機械スタックの
部分の最下位フレームをアクセス可能である。
ルーチンの呼出しおよび戻し操作(図272,図27
3) 1.マイクロ機械スタック(図272) 前述の如く、FUマイクロ機械はスタック・マイクロ機
械である。FUマイクロ機械のスタックの特性は、FU
マイクロ機械が仮想モードであるかモニター・モードで
あるかに依存する。仮想モードにおいては、マイクロ機
械スタックは実質的にサイズが制約を受けず、もしこれ
が内部のFU10120に対して許容される以上のフレ
ームを保有するならば、最上位フレームはGRF103
54にあり、残りのフレームはFUマイクロ機械によっ
て実行中のプロセス610に帰属する保護スタック10
336にある。以下においては、仮想モードのマイクロ
機械スタックは仮想マイクロ機械スタックと呼ばれる。
モニター・モードにおいては、マイクロ機械スタックは
固定された記憶量からなり、CS10110の本実施例
においては、モニター・モードのマイクロ機械スタック
はスタック部分、即ちGRF10354のSR1036
2に完全に保有され、CS10110の他の実施例にお
いては、モニター・モードのマイクロ機械スタックの一
部または全ては、固定サイズでありかつモニター・マイ
クロ機械にとって固定の場所を有するMEM10112
のある領域内に保有することができる。CS10110
の更に別の実施例においては、モニータ・モードのマイ
クロ機械スタックは仮想マイクロ機械スタックと同様な
方法で柔軟性のある深さのものである。いずれのモード
の、実行を行なうあるKOSマイクロルーチン以外のマ
イクロルーチンにおいても、状態の保管および復元操作
はGRF10354のスタックの2つのフレームしかア
クセスできない。即ち、その時のフレームと呼ばれるマ
イクロルーチンが実行中であるフレームと、前のフレー
ムと呼ばれるマイクロルーチンと関与したマイクロルー
チンが実行したフレームである。状態の保管および復元
操作を実行するKOSマイクロルーチンは、更に、GR
F10354に保有される仮想マイクロ機械スタックの
部分の最下位フレームをアクセス可能である。
【0988】図272は、FUマイクロ機械スタックに
対するスタックを示している。FUに含まれるマイクロ
機械スタックのこれらの部分はSR10362とRCW
S10358に含まれる。RCWS10358の各レジ
スタはGRF10354のSR10362におけるGR
Fフレームと恒久的に関連させられ、RCWS1035
8のレジスタおよびGRFのフレームは共に1マイクロ
機械スタックの1フレームを保有することができる。前
述の如く、GRF10354の各レジスタは3つのフィ
ールド、即ちAONおよび他の情報用のフィールド、オ
ペランド用のフィールド、および長さに対するフィール
ドを含んでいる。図251に示すように、RCWS10
358における各レジスタは下記の4つのフィールドを
含む。即ち、 −次のフレームを形成した呼出しが生じた時点において
MCW1 20290における条件コード・レジスタの
値を保有する1ビットのフィールド、 −RCWレジスタが帰属する呼出しが別のマイクロルー
チンを呼出した時点においてどの事象SINが継続中で
あるかを表示するフィールド、 −呼出しが生じた時実行中のマイクロ命令がSINにお
ける最初のマイクロ命令であったかどうかを表示するフ
ラッグ、および −呼出し中のマイクロルーチンの実行が継続するアドレ
スである。
対するスタックを示している。FUに含まれるマイクロ
機械スタックのこれらの部分はSR10362とRCW
S10358に含まれる。RCWS10358の各レジ
スタはGRF10354のSR10362におけるGR
Fフレームと恒久的に関連させられ、RCWS1035
8のレジスタおよびGRFのフレームは共に1マイクロ
機械スタックの1フレームを保有することができる。前
述の如く、GRF10354の各レジスタは3つのフィ
ールド、即ちAONおよび他の情報用のフィールド、オ
ペランド用のフィールド、および長さに対するフィール
ドを含んでいる。図251に示すように、RCWS10
358における各レジスタは下記の4つのフィールドを
含む。即ち、 −次のフレームを形成した呼出しが生じた時点において
MCW1 20290における条件コード・レジスタの
値を保有する1ビットのフィールド、 −RCWレジスタが帰属する呼出しが別のマイクロルー
チンを呼出した時点においてどの事象SINが継続中で
あるかを表示するフィールド、 −呼出しが生じた時実行中のマイクロ命令がSINにお
ける最初のマイクロ命令であったかどうかを表示するフ
ラッグ、および −呼出し中のマイクロルーチンの実行が継続するアドレ
スである。
【0989】これらのフィールドの使用法について以降
の論述において明らかになろう。
の論述において明らかになろう。
【0990】SR10362およびRCWS10358
におけるマイクロ機械スタックに対して使用可能な空間
は、2つの部分、即ちMOS10370に対して保留さ
れたフレーム27205およびMIS27203に対し
て使用可能なフレーム27206に分割される。フレー
ム27206はMISフレーム27203は含まず、あ
るいはMISフレーム27203により部分的にあるい
は完全に占有される。MISフレームを含まない空間は
自由フレーム27207である。モニター・マイクロ機
械スタック・フレーム27205に対して留保された空
間のサイズは固定され、空間270203と27020
5と27207は常に指定された順序で入る。レジスタ
・アドレス指定装置27011は、RCWS10358
におけるレジスタを指定するその時の、前のおよび最下
位フレーム、またはスタック部分27201におけるフ
レームの場所に対する値が、レジスタのサイズにより許
容された最も大きな指標値を超えて増分され、最も小さ
な指標値以下まで減分される時、自動的に「循環」する
ように、GRF10354とRCWS10358のスタ
ック部分27201におけるアドレス指定を処理する。
このように、空間27203,27205および272
07は常に同じ相対的な順序を有するが、それらのGR
F10354のフレームおよびRCWSレジスタはスタ
ック部分27201およびRCWS10358のどこで
も位置決め可能である。
におけるマイクロ機械スタックに対して使用可能な空間
は、2つの部分、即ちMOS10370に対して保留さ
れたフレーム27205およびMIS27203に対し
て使用可能なフレーム27206に分割される。フレー
ム27206はMISフレーム27203は含まず、あ
るいはMISフレーム27203により部分的にあるい
は完全に占有される。MISフレームを含まない空間は
自由フレーム27207である。モニター・マイクロ機
械スタック・フレーム27205に対して留保された空
間のサイズは固定され、空間270203と27020
5と27207は常に指定された順序で入る。レジスタ
・アドレス指定装置27011は、RCWS10358
におけるレジスタを指定するその時の、前のおよび最下
位フレーム、またはスタック部分27201におけるフ
レームの場所に対する値が、レジスタのサイズにより許
容された最も大きな指標値を超えて増分され、最も小さ
な指標値以下まで減分される時、自動的に「循環」する
ように、GRF10354とRCWS10358のスタ
ック部分27201におけるアドレス指定を処理する。
このように、空間27203,27205および272
07は常に同じ相対的な順序を有するが、それらのGR
F10354のフレームおよびRCWSレジスタはスタ
ック部分27201およびRCWS10358のどこで
も位置決め可能である。
【0991】2.マイクロルーチンの呼出しおよび戻し
操作 CS10110においては、マイクロルーチンは他のマ
イクロルーチンまたはCS10110のハードウェアか
らのSINによって呼出し可能である。脇呼出し、マイ
クロルーチン呼出しおよび戻しの各方法は、高水準言語
において書かれた転送の呼出しおよびこれからの戻し操
作と類似する。以下においては、マイクロルーチン呼出
しおよび戻しの一般的な原理について論述し、然る後マ
イクロルーチンがCS10110において呼出し可能で
ある特定の方法について論述する。モニター・モードに
おける呼出しと仮想モードにおける呼出し間の差異につ
いては、この2つの方法の詳細な論議において説明す
る。
操作 CS10110においては、マイクロルーチンは他のマ
イクロルーチンまたはCS10110のハードウェアか
らのSINによって呼出し可能である。脇呼出し、マイ
クロルーチン呼出しおよび戻しの各方法は、高水準言語
において書かれた転送の呼出しおよびこれからの戻し操
作と類似する。以下においては、マイクロルーチン呼出
しおよび戻しの一般的な原理について論述し、然る後マ
イクロルーチンがCS10110において呼出し可能で
ある特定の方法について論述する。モニター・モードに
おける呼出しと仮想モードにおける呼出し間の差異につ
いては、この2つの方法の詳細な論議において説明す
る。
【0992】その時実行中であるマイクロルーチンはそ
の時のポインタ27215により指定されるフレームに
おいて実行する。呼出しが生じる時、実行中のマイクロ
ルーチンは呼出しを実施するためか、あるいは呼出しが
生じたため、JP10114のハードウェアは3つの事
柄を行なう。即ち、 −このハードウェアは、その時のフレームと関連するR
CWS10358のレジスタにおいて呼出し中のマイク
ロルーチンに対する状態の情報を記憶する。この状態の
情報は、呼出し中のマイクロルーチンの実行が再開する
場所ならびに他の状態情報を含む。 −このハードウェアはその時のポインタ27215およ
び前のポインタ27213を増分し、これにより新たな
呼出しに対するフレームを提供する。 −このハードウェアは新たに呼出されたマイクロルーチ
ンの最初の命令の実行を開始する。
の時のポインタ27215により指定されるフレームに
おいて実行する。呼出しが生じる時、実行中のマイクロ
ルーチンは呼出しを実施するためか、あるいは呼出しが
生じたため、JP10114のハードウェアは3つの事
柄を行なう。即ち、 −このハードウェアは、その時のフレームと関連するR
CWS10358のレジスタにおいて呼出し中のマイク
ロルーチンに対する状態の情報を記憶する。この状態の
情報は、呼出し中のマイクロルーチンの実行が再開する
場所ならびに他の状態情報を含む。 −このハードウェアはその時のポインタ27215およ
び前のポインタ27213を増分し、これにより新たな
呼出しに対するフレームを提供する。 −このハードウェアは新たに呼出されたマイクロルーチ
ンの最初の命令の実行を開始する。
【0993】新たに呼出されたマイクロルーチンが呼出
し中のマイクロルーチンのフレームのレジスタをアクセ
スできるため、呼出し中のマイクロルーチンは、レジス
タの値を呼出されたマイクロルーチンにより使用される
そのフレームに置くことによって「アーギュメント」を
呼出されたマイクロルーチンに対して送ることができ
る。しかし、呼出し中のマイクロルーチンは、呼出しに
ついての「アーギュメント」をどのレジスタが含むかを
規定することができないため、呼出されたマイクロルー
チンは、前のフレームのどのレジスタが呼出し中のマイ
クロルーチンによって使用されるかを知らねばならな
い。マイクロルーチンがそれに対するアクセスを有する
唯一の「アーギュメント」は前のフレームにおけるもの
であるから、マイクロルーチンはこれがその呼出し側か
ら受取ったアーギュメントを、これがその呼出し側のフ
レームからそれ自体のフレームにコピーするだけでこれ
が呼出すマイクロルーチンに送ることができ、このフレ
ームは新たに呼出されたルーチンの前のフレームとな
る。
し中のマイクロルーチンのフレームのレジスタをアクセ
スできるため、呼出し中のマイクロルーチンは、レジス
タの値を呼出されたマイクロルーチンにより使用される
そのフレームに置くことによって「アーギュメント」を
呼出されたマイクロルーチンに対して送ることができ
る。しかし、呼出し中のマイクロルーチンは、呼出しに
ついての「アーギュメント」をどのレジスタが含むかを
規定することができないため、呼出されたマイクロルー
チンは、前のフレームのどのレジスタが呼出し中のマイ
クロルーチンによって使用されるかを知らねばならな
い。マイクロルーチンがそれに対するアクセスを有する
唯一の「アーギュメント」は前のフレームにおけるもの
であるから、マイクロルーチンはこれがその呼出し側か
ら受取ったアーギュメントを、これがその呼出し側のフ
レームからそれ自体のフレームにコピーするだけでこれ
が呼出すマイクロルーチンに送ることができ、このフレ
ームは新たに呼出されたルーチンの前のフレームとな
る。
【0994】戻しは、前述の事柄の反対である。即ち、
その時のポインタ27215と前のポインタ27213
は減分され、これによりこの完了した呼出しのフレーム
を「ポップ・オフ」して呼出し側のフレームに対して戻
す。この呼出し側のフレームは次に、RCWS1035
8において指定された場所において、RCWS1035
8に保管された状態を用いて実行を再開する。この保管
された状態は、この呼出しの時点におけるMCW1 2
0290の条件コードの値との種々の継続中の事象を示
すフラッグを含む。MCW1 20290における条件
コード・フィールドは保管された値にセットされ、継続
中の事象フラッグは以下において詳細に説明するよう
に、事象を発生させることができる。
その時のポインタ27215と前のポインタ27213
は減分され、これによりこの完了した呼出しのフレーム
を「ポップ・オフ」して呼出し側のフレームに対して戻
す。この呼出し側のフレームは次に、RCWS1035
8において指定された場所において、RCWS1035
8に保管された状態を用いて実行を再開する。この保管
された状態は、この呼出しの時点におけるMCW1 2
0290の条件コードの値との種々の継続中の事象を示
すフラッグを含む。MCW1 20290における条件
コード・フィールドは保管された値にセットされ、継続
中の事象フラッグは以下において詳細に説明するよう
に、事象を発生させることができる。
【0995】3.呼出しマイクロルーチンの装置 マイクロルーチンにおいては、マイクロ命令における指
令により、あるいはハードウェアSINによって呼出し
を生じることができる。以下においては、マイクロ命令
における指令により生じた呼出しを「呼出し」と呼び、
ハードウェアSINにより生じた呼出しを事象呼出しお
よびジャムと呼ぶ。呼出しは、更にこれらが戻される場
所により相互に識別される。呼出しおよびジャムは、呼
出しが生じるマイクロ命令に続くマイクロ命令に戻り、
事象呼出しはこのマイクロ命令に戻り、その後反復され
る。
令により、あるいはハードウェアSINによって呼出し
を生じることができる。以下においては、マイクロ命令
における指令により生じた呼出しを「呼出し」と呼び、
ハードウェアSINにより生じた呼出しを事象呼出しお
よびジャムと呼ぶ。呼出しは、更にこれらが戻される場
所により相互に識別される。呼出しおよびジャムは、呼
出しが生じるマイクロ命令に続くマイクロ命令に戻り、
事象呼出しはこのマイクロ命令に戻り、その後反復され
る。
【0996】構成については、異なる戻り場所は、呼出
し、ジャムおよび事象呼出しが戻り場所を保管して制御
を呼出されたルーチンに転送するマイクロ機械スタック
サイクルにおける時点の結果である。呼出しおよびジャ
ムの場合は、これらの操作はM1サイクルにおいて実施
され、一方事象呼出しの場合は、M0サイクルの間の事
象信号はM0サイクルの後にM1サイクルの代りにMA
サイクルを続けさせ、操作はMAサイクルにおいて実施
される。M1サイクルにおいては、mPC20276の
値が増分され、MAサイクルにおいては増分されない。
その結果、呼出しおよびジャムと同時にRCWS103
58に保管された戻し値はmPC20276の増分値で
あるが、事象呼出しにおいて保管された戻し値はmPC
20276の増分されない値である。以降の論議は、最
初に呼出しおよびジャムについて述べ、次いで事象呼出
しについて述べることにする。
し、ジャムおよび事象呼出しが戻り場所を保管して制御
を呼出されたルーチンに転送するマイクロ機械スタック
サイクルにおける時点の結果である。呼出しおよびジャ
ムの場合は、これらの操作はM1サイクルにおいて実施
され、一方事象呼出しの場合は、M0サイクルの間の事
象信号はM0サイクルの後にM1サイクルの代りにMA
サイクルを続けさせ、操作はMAサイクルにおいて実施
される。M1サイクルにおいては、mPC20276の
値が増分され、MAサイクルにおいては増分されない。
その結果、呼出しおよびジャムと同時にRCWS103
58に保管された戻し値はmPC20276の増分値で
あるが、事象呼出しにおいて保管された戻し値はmPC
20276の増分されない値である。以降の論議は、最
初に呼出しおよびジャムについて述べ、次いで事象呼出
しについて述べることにする。
【0997】マイクロ命令における呼出し指令は、実行
が呼出し後に継続すべき呼出しを含むマイクロ命令から
のオフセットを規定するリテラル値を含む。呼出し指令
によるマイクロ命令がマイクロ機械スタックサイクルM
1において実行される時、BRCASE20278は、
呼出されたマイクロルーチンの場所を得るためにmPC
20276のその時の値に指令に含まれるオフセットを
加算し、SITTNAS20286を設定して次のマイ
クロ命令の場所としてBRCASE20278により与
えられる場所を選択する。次に、呼出し指令はmPC2
0276を増分して、このmPC20276の増分され
た値をSR10362におけるその時のフレームと関連
するRCWS10358のレジスタにおいて記憶し、そ
の時のポインタ27215および前のポインタ2721
3を増分して新たなフレームをSR10362に提供す
る。ジャムは、マイクロ機械スタックサイクルM1の間
のハードウェア信号が呼出しと関連する動作を生じさせ
て直接SITTNAS20286に対して呼出されたマ
イクロ機械スタックの場所を与える点を除けば、呼出し
と丁度同じように作用する。
が呼出し後に継続すべき呼出しを含むマイクロ命令から
のオフセットを規定するリテラル値を含む。呼出し指令
によるマイクロ命令がマイクロ機械スタックサイクルM
1において実行される時、BRCASE20278は、
呼出されたマイクロルーチンの場所を得るためにmPC
20276のその時の値に指令に含まれるオフセットを
加算し、SITTNAS20286を設定して次のマイ
クロ命令の場所としてBRCASE20278により与
えられる場所を選択する。次に、呼出し指令はmPC2
0276を増分して、このmPC20276の増分され
た値をSR10362におけるその時のフレームと関連
するRCWS10358のレジスタにおいて記憶し、そ
の時のポインタ27215および前のポインタ2721
3を増分して新たなフレームをSR10362に提供す
る。ジャムは、マイクロ機械スタックサイクルM1の間
のハードウェア信号が呼出しと関連する動作を生じさせ
て直接SITTNAS20286に対して呼出されたマ
イクロ機械スタックの場所を与える点を除けば、呼出し
と丁度同じように作用する。
【0998】事象の場所には、事象ロジック20284
はサイクルM0の間に呼出しを生じさせて呼出されたマ
イクロルーチンの場所をCSADRバス20299を介
して提供する。事象はサイクルM0の間に生じるため、
RCWS10358に記憶された場所はmPC2027
6の増分されない値であり、SITTNAS20286
は次のマイクロ命令の場所としてEVENT20284
によって与えられた場所を選択する。そこからの戻りは
前記事象が生じた間にマイクロ命令を再実行させるた
め、これが帰属するマイクロ命令およびマイクロルーチ
ンはこの事象の発生については「関知しない」ものであ
ると言うことができる。ある事象が生じるマイクロ命令
の実行と事象を含まない同じマイクロ命令の実行の間の
唯一の差異は、実行に要求される時間の長さである。
はサイクルM0の間に呼出しを生じさせて呼出されたマ
イクロルーチンの場所をCSADRバス20299を介
して提供する。事象はサイクルM0の間に生じるため、
RCWS10358に記憶された場所はmPC2027
6の増分されない値であり、SITTNAS20286
は次のマイクロ命令の場所としてEVENT20284
によって与えられた場所を選択する。そこからの戻りは
前記事象が生じた間にマイクロ命令を再実行させるた
め、これが帰属するマイクロ命令およびマイクロルーチ
ンはこの事象の発生については「関知しない」ものであ
ると言うことができる。ある事象が生じるマイクロ命令
の実行と事象を含まない同じマイクロ命令の実行の間の
唯一の差異は、実行に要求される時間の長さである。
【0999】4.事象の呼出しの発生(図273) 前述の如く、事象の呼出しは事象ロジック20284に
よって生じる。EVENT20284が制御を転送する
マイクロコードの場所は、以下の事柄によって決定され
る。即ち、 −FU10120により開始される操作。ある事象呼出
しはあるFU10120の操作の開始時にのみ生じ得
る。 −EVENT20284におけるハードウェアおよび内
部レジスタからの事象信号の状態。 −MCW1 20290を介して認識可能なあるレジス
タの状態。これらのレジスタのあるものは事象その他の
マスク事象を可能にする。事象を可能な状態にするレジ
スタの内、あるものは事象信号により設定され、他のも
のはマイクロプログラムにより設定される。 −マイクロルーチンの呼出しから戻ると同時に、RCW
S10358におけるあるビットのセッティングは戻さ
れつつある呼出しに対するマイクロ機械スタックフレー
ムに帰属する。
よって生じる。EVENT20284が制御を転送する
マイクロコードの場所は、以下の事柄によって決定され
る。即ち、 −FU10120により開始される操作。ある事象呼出
しはあるFU10120の操作の開始時にのみ生じ得
る。 −EVENT20284におけるハードウェアおよび内
部レジスタからの事象信号の状態。 −MCW1 20290を介して認識可能なあるレジス
タの状態。これらのレジスタのあるものは事象その他の
マスク事象を可能にする。事象を可能な状態にするレジ
スタの内、あるものは事象信号により設定され、他のも
のはマイクロプログラムにより設定される。 −マイクロルーチンの呼出しから戻ると同時に、RCW
S10358におけるあるビットのセッティングは戻さ
れつつある呼出しに対するマイクロ機械スタックフレー
ムに帰属する。
【1000】マイクロプラグラムはこれらの機構を用い
て事象信号を不作用状態にし、また1つのマイクロ命令
または不定の期間事象信号からの事象呼出しを遅延させ
ることができ、FU10120はこれらの機構を用いて
ある事象信号から生じる事象呼出しを自動的に遅延させ
る。伝統的なプログラミング手法を用いて、前記機構は
事象信号の異なるマスキングを可能にする。事象信号
は、明らかに1つのマイクロ命令に対してマスクするこ
とが可能であり、この信号は一連のマイクロ命令に対し
てマスクすることができ、ある操作が生じるまで自動的
にマスクすることができ、あるいはある最大の時間長に
わたって自動的にマスクすることができる。事象信号が
マスクされる間に生じる事象信号は脱落しない。あるい
場合には、事象信号はこれがサービスされるまで継続
し、他の場合には、レジスタは事象信号が生じた事実を
保持するように設定される。事象信号のアンマスクの際
には、設定されたレジスタは事象信号を再び生じさせ
る。ある場合には、最後に、事象信号は保持されない
が、これを生じたマイクロ命令が反復される時に再び生
じる。
て事象信号を不作用状態にし、また1つのマイクロ命令
または不定の期間事象信号からの事象呼出しを遅延させ
ることができ、FU10120はこれらの機構を用いて
ある事象信号から生じる事象呼出しを自動的に遅延させ
る。伝統的なプログラミング手法を用いて、前記機構は
事象信号の異なるマスキングを可能にする。事象信号
は、明らかに1つのマイクロ命令に対してマスクするこ
とが可能であり、この信号は一連のマイクロ命令に対し
てマスクすることができ、ある操作が生じるまで自動的
にマスクすることができ、あるいはある最大の時間長に
わたって自動的にマスクすることができる。事象信号が
マスクされる間に生じる事象信号は脱落しない。あるい
場合には、事象信号はこれがサービスされるまで継続
し、他の場合には、レジスタは事象信号が生じた事実を
保持するように設定される。事象信号のアンマスクの際
には、設定されたレジスタは事象信号を再び生じさせ
る。ある場合には、最後に、事象信号は保持されない
が、これを生じたマイクロ命令が反復される時に再び生
じる。
【1001】以下においては、FU10120の操作と
事象信号間の関係について最初に述べ、次いでMCW1
20290における使用可能レジスタおよび事象の呼
出しを制御するRCWS10358のレジスタにおける
ビットの詳細な論述を行なう。
事象信号間の関係について最初に述べ、次いでMCW1
20290における使用可能レジスタおよび事象の呼
出しを制御するRCWS10358のレジスタにおける
ビットの詳細な論述を行なう。
【1002】FU10120は事象信号から生じた事象
呼出しを1つのマイクロ命令の間禁止させ、またあるI
Nの最初のマイクロ命令まである事象信号に対するある
事象呼出しを遅延させる。他の事象信号はSINの開始
時、または名前空間の解明または評価操作の開始時、ま
たは論理的メモリー照合の開始時にのみ生じる。
呼出しを1つのマイクロ命令の間禁止させ、またあるI
Nの最初のマイクロ命令まである事象信号に対するある
事象呼出しを遅延させる。他の事象信号はSINの開始
時、または名前空間の解明または評価操作の開始時、ま
たは論理的メモリー照合の開始時にのみ生じる。
【1003】事象呼出しは、マイクロ命令自体のあるフ
ィールドのセットによって1つのマイクロ命令の間遅延
することができる。このフィールドのセットはほとんど
全ての事象呼出しを遅延させ、これによりある事象呼出
しがマイクロ命令のM0サイクルの間には生じないこと
を保証する。
ィールドのセットによって1つのマイクロ命令の間遅延
することができる。このフィールドのセットはほとんど
全ての事象呼出しを遅延させ、これによりある事象呼出
しがマイクロ命令のM0サイクルの間には生じないこと
を保証する。
【1004】デバッギングに関する事象信号は、いくつ
かのマイクロ機械操作の開始時に生じる。このような事
象信号は追跡事象信号と呼ばれる。以下において詳細に
説明するように、デバッガーの論議において、評価即ち
解明操作の開始時、または論理メモリー照合の開始時
に、またはあるマイクロ命令の開始時に、1つのSIN
の最初のマイクロ命令と同時に追跡事象信号が生じ得
る。次のSINの開始時まで、あるいは最初に生じた最
大量の時間が経過するまで、IPM割込み信号および間
隔タイマー桁あふれ事象信号が自動的にマスクされる。
本項に関与する機構については、FU10120のマイ
クロ機械において処理される割込みの論議において詳細
に説明されよう。
かのマイクロ機械操作の開始時に生じる。このような事
象信号は追跡事象信号と呼ばれる。以下において詳細に
説明するように、デバッガーの論議において、評価即ち
解明操作の開始時、または論理メモリー照合の開始時
に、またはあるマイクロ命令の開始時に、1つのSIN
の最初のマイクロ命令と同時に追跡事象信号が生じ得
る。次のSINの開始時まで、あるいは最初に生じた最
大量の時間が経過するまで、IPM割込み信号および間
隔タイマー桁あふれ事象信号が自動的にマスクされる。
本項に関与する機構については、FU10120のマイ
クロ機械において処理される割込みの論議において詳細
に説明されよう。
【1005】次に、事象信号のマスクおよび使用可能化
のため使用されるレジスタについて述べれば、図273
は、MCW1 20290におけるレジスタのマスキン
グおよび使用可能状態を示し、また事象呼出しを制御す
るRCWS10358レジスタにおけるフィールドを示
している。最初にMCW1 20290におけるレジス
タについて述べれば、事象呼出しを制御する3つのレジ
スタ、即ち事象マスク(EM)レジスタ27301、事
象継続中(EP)レジスタ27309および追跡可能
(TE)レジスタ27319が存在する。
のため使用されるレジスタについて述べれば、図273
は、MCW1 20290におけるレジスタのマスキン
グおよび使用可能状態を示し、また事象呼出しを制御す
るRCWS10358レジスタにおけるフィールドを示
している。最初にMCW1 20290におけるレジス
タについて述べれば、事象呼出しを制御する3つのレジ
スタ、即ち事象マスク(EM)レジスタ27301、事
象継続中(EP)レジスタ27309および追跡可能
(TE)レジスタ27319が存在する。
【1006】EMレジスタ27301におけるビット
は、セットされる限りいくつかの事象信号をマスクし、
EPレジスタ27309におけるビットはいくつかの事
象信号がマスクされる間これら信号の発生を記録し、T
Eレジスタ27319におけるビットがセットされる
時、あるFU10120の操作の前に追跡事象信号が生
じる。
は、セットされる限りいくつかの事象信号をマスクし、
EPレジスタ27309におけるビットはいくつかの事
象信号がマスクされる間これら信号の発生を記録し、T
Eレジスタ27319におけるビットがセットされる
時、あるFU10120の操作の前に追跡事象信号が生
じる。
【1007】EMレジスタ27301は、3つの1ビッ
ト・フィールド、即ち非同期マスク・フィールド273
03と、モニター・マスク・フィールド27305と、
追跡事象マスク・フィールド27307とを含んでい
る。FU10120のハードウェアの論議において詳細
に説明するように、これらのバッファは事象マスクの階
層を確保する。もし非同期マスク・フィールド2730
3がセットされなければ、2つの事象信号しかマスクさ
れず、これはEGGTMR25412の桁あふれおよび
EU10122のスタックの桁あふれから生じる結果で
ある。もしモニター・マスク・フィールド27305が
セットされるならば、これらの事象はマスクされ、更に
FUスタックの桁あふれ事象信号がマスクされる。以下
において詳細に説明するように、FU10120のスタ
ックの桁あふれ事象信号がマスクされる時、FUマイク
ロ機械はモニター・マスクで実行される。もし追跡事象
マスク・フィールド27307がセットされるならば、
追跡トラップ事象信号が前記の信号に加えてマスクされ
る。EMレジスタ27301におけるフィールドの各々
は、マイクロプログラムによって個々にセットされクリ
アされる。
ト・フィールド、即ち非同期マスク・フィールド273
03と、モニター・マスク・フィールド27305と、
追跡事象マスク・フィールド27307とを含んでい
る。FU10120のハードウェアの論議において詳細
に説明するように、これらのバッファは事象マスクの階
層を確保する。もし非同期マスク・フィールド2730
3がセットされなければ、2つの事象信号しかマスクさ
れず、これはEGGTMR25412の桁あふれおよび
EU10122のスタックの桁あふれから生じる結果で
ある。もしモニター・マスク・フィールド27305が
セットされるならば、これらの事象はマスクされ、更に
FUスタックの桁あふれ事象信号がマスクされる。以下
において詳細に説明するように、FU10120のスタ
ックの桁あふれ事象信号がマスクされる時、FUマイク
ロ機械はモニター・マスクで実行される。もし追跡事象
マスク・フィールド27307がセットされるならば、
追跡トラップ事象信号が前記の信号に加えてマスクされ
る。EMレジスタ27301におけるフィールドの各々
は、マイクロプログラムによって個々にセットされクリ
アされる。
【1008】4つの事象信号がEPレジスタ27309
におけるフィールドをセットし、EGGTMR2541
2のランアウト信号はETフィールド27311をセッ
トし、INTTMR25410のランアウト信号がIT
フィールド27313をセットし、非重要メモリー・エ
ラー信号がMEフィールド27315をセットし、プロ
セス間メッセージ信号はIPMフィールド27317を
セットする。エッグ・タイマーのランアウト信号を除い
てこれらの事象信号の全てに対する事象呼出しが1つの
SINの開始時に生じ、このような場合には、EPレジ
スタ27309における各フィールドがこの時までに事
象信号が生じた状態を保持し、EMレジスタ27301
におけるマスク・ビットのセットが可能となると同時
に、前記信号の直後に前記のエッグ・タイマー・ランア
ウト信号に対する呼出しが生じる。ETフィールド27
311におけるビットは、マスキングが事象の呼出しを
生じることを許容するまでエッグ・タイマーのランアウ
ト信号の状態を保有する。EPレジスタ27309にお
けるフィールドの全てがマイクロコードによってリセッ
ト可能である。事象により生じたマイクロルーチンは適
当なフィールドをリセットせねばならず、さもなけれ
ば、これらマイクロルーチンは戻る時再び呼出されるこ
とになる。MEフィールド27315は、メモリー・エ
ラーがサービスされる時自動的にリセットされる。
におけるフィールドをセットし、EGGTMR2541
2のランアウト信号はETフィールド27311をセッ
トし、INTTMR25410のランアウト信号がIT
フィールド27313をセットし、非重要メモリー・エ
ラー信号がMEフィールド27315をセットし、プロ
セス間メッセージ信号はIPMフィールド27317を
セットする。エッグ・タイマーのランアウト信号を除い
てこれらの事象信号の全てに対する事象呼出しが1つの
SINの開始時に生じ、このような場合には、EPレジ
スタ27309における各フィールドがこの時までに事
象信号が生じた状態を保持し、EMレジスタ27301
におけるマスク・ビットのセットが可能となると同時
に、前記信号の直後に前記のエッグ・タイマー・ランア
ウト信号に対する呼出しが生じる。ETフィールド27
311におけるビットは、マスキングが事象の呼出しを
生じることを許容するまでエッグ・タイマーのランアウ
ト信号の状態を保有する。EPレジスタ27309にお
けるフィールドの全てがマイクロコードによってリセッ
ト可能である。事象により生じたマイクロルーチンは適
当なフィールドをリセットせねばならず、さもなけれ
ば、これらマイクロルーチンは戻る時再び呼出されるこ
とになる。MEフィールド27315は、メモリー・エ
ラーがサービスされる時自動的にリセットされる。
【1009】TEレジスタ27319は追跡を可能にす
る。このレジスタにおける各ビットは、セットされる時
ある追跡事象信号を可能状態にする。追跡の種類に応じ
て、あるSINの開始時、またはある解明即ち評価操作
の開始時、または最終メモリー照合の開始時、またはあ
るマイクロ命令の開始時において追跡事象信号が生じ
る。詳細については、以下のデバッギングの説明を参照
されたい。
る。このレジスタにおける各ビットは、セットされる時
ある追跡事象信号を可能状態にする。追跡の種類に応じ
て、あるSINの開始時、またはある解明即ち評価操作
の開始時、または最終メモリー照合の開始時、またはあ
るマイクロ命令の開始時において追跡事象信号が生じ
る。詳細については、以下のデバッギングの説明を参照
されたい。
【1010】次にRCWS10358に含まれるレジス
タについて述べると、各RCWSレジスタ27322は
事象信号を制御する8つのフィールドを含む。最初のフ
ィールドはFMフィールド27323である。FMフィ
ールド27323は、RCWSレジスタ27322が帰
属する呼出しが生じる時にEVENT20284におけ
るレジスタの値を反映する。EVENT20284にお
けるレジスタは、その時実行中のマイクロ命令があるS
INの最初のマイクロ命令である時のみセットされる。
このように、FMフィールド27323は、SINにお
ける最初のマイクロ命令のM0サイクル、即ちSINの
開始時において生じる事象呼出しに帰属するRCWSレ
ジスタ27322においてのみセットされる。EVEN
T20284におけるレジスタの値は、いくつかの呼出
しが1つのSINの開始時において生じ得る故にFMフ
ィールド27323において保管される。事象の呼出し
は優先順位において生じる。即ち、最優先順位を有する
ものが戻る時、FMフィールド27323がセットされ
るという事実が、EVENT20284におけるレジス
タを再びあるSINの最初のマイクロ命令と同時に有す
る状態にセットさせるのである。このようにセットされ
たレジスタの状態は、信号の開始時に生じねばならない
次の事象呼出しを生じさせる。このような呼出しが完了
した後、最初のマイクロ命令がそのM1サイクルに入っ
て事象ロジック20284におけるレジスタをリセット
する。そのリセットされた状態において、レジスタはあ
るSINの開始時においてのみ生じ得る全ての事象呼出
しを禁止する。これは再び次のSINの開始時において
セットされる。
タについて述べると、各RCWSレジスタ27322は
事象信号を制御する8つのフィールドを含む。最初のフ
ィールドはFMフィールド27323である。FMフィ
ールド27323は、RCWSレジスタ27322が帰
属する呼出しが生じる時にEVENT20284におけ
るレジスタの値を反映する。EVENT20284にお
けるレジスタは、その時実行中のマイクロ命令があるS
INの最初のマイクロ命令である時のみセットされる。
このように、FMフィールド27323は、SINにお
ける最初のマイクロ命令のM0サイクル、即ちSINの
開始時において生じる事象呼出しに帰属するRCWSレ
ジスタ27322においてのみセットされる。EVEN
T20284におけるレジスタの値は、いくつかの呼出
しが1つのSINの開始時において生じ得る故にFMフ
ィールド27323において保管される。事象の呼出し
は優先順位において生じる。即ち、最優先順位を有する
ものが戻る時、FMフィールド27323がセットされ
るという事実が、EVENT20284におけるレジス
タを再びあるSINの最初のマイクロ命令と同時に有す
る状態にセットさせるのである。このようにセットされ
たレジスタの状態は、信号の開始時に生じねばならない
次の事象呼出しを生じさせる。このような呼出しが完了
した後、最初のマイクロ命令がそのM1サイクルに入っ
て事象ロジック20284におけるレジスタをリセット
する。そのリセットされた状態において、レジスタはあ
るSINの開始時においてのみ生じ得る全ての事象呼出
しを禁止する。これは再び次のSINの開始時において
セットされる。
【1011】事象呼出しを制御するRCWSレジスタ2
7322における残りのフィールドは戻しSINフィー
ルド27331におけるフィールドである。これらのフ
ィールドは、ある事象信号の事象呼出しが生じるまで、
この事象信号が生じた旨の情報を事象呼出しの間保持さ
せるのである。ある呼出しが生じる時、これらのフィー
ルドはEVENT20284によってセットされる。こ
の呼出しから戻ると同時に、このフィールドの値はEV
ENT20284に入力され、これにより事象信号を生
じる。最優先順位を有する事象信号はある事象呼出しを
惹起し、また残る事象信号は、事象信号が生じる時実行
中である呼出しに帰属するRCWSレジスタ27322
に帰属する戻し信号フィールド27331におけるフィ
ールドをセットする。戻し信号フィールド27330に
おける各フィールドがEVENT20284に入力され
るため、これらのフィールドの内の1つをセットする事
象信号の結果として生じるマイクロコードはこのフィー
ルド自体をリセットしなければならない。さもなけれ
ば、このマイクロコードからの戻りはこのマイクロコー
ドの最呼出しを惹起する結果をもたらすにすぎない。
7322における残りのフィールドは戻しSINフィー
ルド27331におけるフィールドである。これらのフ
ィールドは、ある事象信号の事象呼出しが生じるまで、
この事象信号が生じた旨の情報を事象呼出しの間保持さ
せるのである。ある呼出しが生じる時、これらのフィー
ルドはEVENT20284によってセットされる。こ
の呼出しから戻ると同時に、このフィールドの値はEV
ENT20284に入力され、これにより事象信号を生
じる。最優先順位を有する事象信号はある事象呼出しを
惹起し、また残る事象信号は、事象信号が生じる時実行
中である呼出しに帰属するRCWSレジスタ27322
に帰属する戻し信号フィールド27331におけるフィ
ールドをセットする。戻し信号フィールド27330に
おける各フィールドがEVENT20284に入力され
るため、これらのフィールドの内の1つをセットする事
象信号の結果として生じるマイクロコードはこのフィー
ルド自体をリセットしなければならない。さもなけれ
ば、このマイクロコードからの戻りはこのマイクロコー
ドの最呼出しを惹起する結果をもたらすにすぎない。
【1012】戻し信号フィールド27330における7
つのフィールドは下記の重要性を有する。即ち、 −EGフィールド27333がセットされる時、101
22のタスク指名操作がEU10122のマイクロコー
ドのEUSITT20344における違法の場所を生じ
た。 −NTフィールド27335、STフィールド2734
1、mTフィールド27343、またはmBフィールド
27345のいずれかがセットされる時、追跡信号が生
じた。これらについては、デバッギングの論述において
詳細に説明する。 −ESフィールド27337がセットされる時、EU1
0122のストア・バック例外操作が生じた、即ちEU
10122がMEM10112におけるある操作の結果
を記憶しようとした時、エラーが生じた。 −MRRフィールド27339がセットされた時、AT
U10228のミスまたは保護カッシェPC10234
のミスの如き条件が生じ、あるメモリー照合を再び試み
ることが必要となる。
つのフィールドは下記の重要性を有する。即ち、 −EGフィールド27333がセットされる時、101
22のタスク指名操作がEU10122のマイクロコー
ドのEUSITT20344における違法の場所を生じ
た。 −NTフィールド27335、STフィールド2734
1、mTフィールド27343、またはmBフィールド
27345のいずれかがセットされる時、追跡信号が生
じた。これらについては、デバッギングの論述において
詳細に説明する。 −ESフィールド27337がセットされる時、EU1
0122のストア・バック例外操作が生じた、即ちEU
10122がMEM10112におけるある操作の結果
を記憶しようとした時、エラーが生じた。 −MRRフィールド27339がセットされた時、AT
U10228のミスまたは保護カッシェPC10234
のミスの如き条件が生じ、あるメモリー照合を再び試み
ることが必要となる。
【1013】d.仮想マイクロ機械およびモニター・マ
イクロ機械 前述の如く、FU10120のマイクロ機械に関して実
行中のマイクロコードはモニター・モードまたは仮想モ
ードのいずれかで実行可能である。本論においては、こ
れら2つのモードの特徴および用途の識別について詳細
に説明する。
イクロ機械 前述の如く、FU10120のマイクロ機械に関して実
行中のマイクロコードはモニター・モードまたは仮想モ
ードのいずれかで実行可能である。本論においては、こ
れら2つのモードの特徴および用途の識別について詳細
に説明する。
【1014】1.仮想モード 前述の如く、仮想モードとモニター・モード間の主な相
違点はMIS10368である。MIS10368が実
質的に制限のない寸法を有することは、仮想モードにお
いて実行するマイクロルーチンに対する下記の結果をも
たらす。即ち、 −仮想モードにおいて実行中のマイクロルーチンの呼出
しはその結果として如何なる深さに対するこれ以上の呼
出しを行ない得ること、 −仮想モードにおいて実行中のマイクロルーチンの呼出
しまたはこれからの戻りがページ誤りを生じ得ることで
ある。
違点はMIS10368である。MIS10368が実
質的に制限のない寸法を有することは、仮想モードにお
いて実行するマイクロルーチンに対する下記の結果をも
たらす。即ち、 −仮想モードにおいて実行中のマイクロルーチンの呼出
しはその結果として如何なる深さに対するこれ以上の呼
出しを行ない得ること、 −仮想モードにおいて実行中のマイクロルーチンの呼出
しまたはこれからの戻りがページ誤りを生じ得ることで
ある。
【1015】FUマイクロ機械は、MCW1 2029
0の事象マスク部分における全てのビットがクリアされ
る時仮想モードにある。この状態においては、使用可能
事象信号はマスクされず、それ自体それらのマスクを行
なわない如何なるマイクロ命令においても事象呼出しが
生じ得るのである。
0の事象マスク部分における全てのビットがクリアされ
る時仮想モードにある。この状態においては、使用可能
事象信号はマスクされず、それ自体それらのマスクを行
なわない如何なるマイクロ命令においても事象呼出しが
生じ得るのである。
【1016】呼出しは仮想マスクにおいて如何なる深さ
においても生じ得るため、このマスクに存在するマイク
ロルーチンは循環可能である。このような循環マイクロ
ルーチンは特に名前の解釈のため有用である。しばし
ば、前述の如く、ある名前に対する名前テーブル・エン
トリは他の名前に対して解を与える名前を保有し、仮想
マイクロ機械の制約されないスタックがこのような条件
における循環的な名前の解明マイクロルーチンの使用を
可能にする。循環マイクロルーチンはまた呼出しの如き
複式SINに対しても使用可能である。
においても生じ得るため、このマスクに存在するマイク
ロルーチンは循環可能である。このような循環マイクロ
ルーチンは特に名前の解釈のため有用である。しばし
ば、前述の如く、ある名前に対する名前テーブル・エン
トリは他の名前に対して解を与える名前を保有し、仮想
マイクロ機械の制約されないスタックがこのような条件
における循環的な名前の解明マイクロルーチンの使用を
可能にする。循環マイクロルーチンはまた呼出しの如き
複式SINに対しても使用可能である。
【1017】呼出しは如何なる深さにおいて生じ得るた
め、どんな数の事象でも1つのマイクロルーチンがモニ
ター・モードにおいて実行中である間生じ得る。このた
め更に、事象の取扱いを簡単にすることになる。もしあ
る事象信号がある優先順位を有するある事象が処理中で
ありかつ信号された事象が処理中のものよりも高い優先
順位を有するならば、その結果は単に新たな事象ハンド
ラの呼出しとなる。これにより、事象ハンドラが完了す
る順序は丁度それらの事象の優先順位に対応し、即ち優
先順位を有する優先順位に完了する。
め、どんな数の事象でも1つのマイクロルーチンがモニ
ター・モードにおいて実行中である間生じ得る。このた
め更に、事象の取扱いを簡単にすることになる。もしあ
る事象信号がある優先順位を有するある事象が処理中で
ありかつ信号された事象が処理中のものよりも高い優先
順位を有するならば、その結果は単に新たな事象ハンド
ラの呼出しとなる。これにより、事象ハンドラが完了す
る順序は丁度それらの事象の優先順位に対応し、即ち優
先順位を有する優先順位に完了する。
【1018】SR10362に関して自由フレーム27
207がもはや存在しない時に生じる仮想モードにおけ
る呼出しがモニター・モードにおいて実行中のマイクロ
ルーチンを生じる事象信号を惹起するため、ページの誤
りは仮想モードにおいて実行される如何なるマイクロ呼
出しまたは戻しと同時に生じ得る。このマイクロルーチ
ンは、MISフレーム27203をGRF10354か
らMEM10112におけるSS10336に対し転送
し、またこの転送はページ誤りを生じ得る。同様に、あ
るマイクロ戻し操作がSR10362に関するMISフ
レーム27203の最終フレームから生じる時、別のフ
レームをSS10336からGRF10354に対して
転送するマイクロルーチンを生じる事象信号が生じ、こ
れもまたページ誤りを惹起するおそれがある。
207がもはや存在しない時に生じる仮想モードにおけ
る呼出しがモニター・モードにおいて実行中のマイクロ
ルーチンを生じる事象信号を惹起するため、ページの誤
りは仮想モードにおいて実行される如何なるマイクロ呼
出しまたは戻しと同時に生じ得る。このマイクロルーチ
ンは、MISフレーム27203をGRF10354か
らMEM10112におけるSS10336に対し転送
し、またこの転送はページ誤りを生じ得る。同様に、あ
るマイクロ戻し操作がSR10362に関するMISフ
レーム27203の最終フレームから生じる時、別のフ
レームをSS10336からGRF10354に対して
転送するマイクロルーチンを生じる事象信号が生じ、こ
れもまたページ誤りを惹起するおそれがある。
【1019】仮想モードにおけるマイクロ呼出しまたは
マイクロルーチンと同時にページの誤りが生じ得ること
は、2つの重要な結果をもたらす。即ち、マイクロルー
チンにより明確に生成されたもの以外のページ誤りを許
容し得ないマイクロルーチンは仮想モードにおいては実
行不能であり、また予期されないページ誤りが実行を不
確実なものにするため、完了まで実行しなければならな
いマイクロルーチンは仮想モードでは実行不能である。
例えば、もしページ誤りを取扱うマイクロルーチンが仮
想モードにおいて実行されたならば、その呼出しは1つ
のページ誤りを生じ得、またこれはマイクロルーチンを
再び関与させ、このため別のページ誤りを生じるおそれ
があり……という状態が無限の循環を生じることにな
る。
マイクロルーチンと同時にページの誤りが生じ得ること
は、2つの重要な結果をもたらす。即ち、マイクロルー
チンにより明確に生成されたもの以外のページ誤りを許
容し得ないマイクロルーチンは仮想モードにおいては実
行不能であり、また予期されないページ誤りが実行を不
確実なものにするため、完了まで実行しなければならな
いマイクロルーチンは仮想モードでは実行不能である。
例えば、もしページ誤りを取扱うマイクロルーチンが仮
想モードにおいて実行されたならば、その呼出しは1つ
のページ誤りを生じ得、またこれはマイクロルーチンを
再び関与させ、このため別のページ誤りを生じるおそれ
があり……という状態が無限の循環を生じることにな
る。
【1020】2.モニター・マイクロ機械 前述の如く、モニター・モードの不可欠な特徴はMOS
10370である。CS10110の本実施例において
は、このスタックは固定された最小サイズを有し、常に
GRF10354に保有される。MOS10370の特
性は、モニター・モードにおいて実行するマイクロルー
チンに対する4つの結果を呈する。 −マイクロ機械がモニター・モードにある時、呼出しの
深さは制限され、従ってモニター・モードにおいては循
環マイクロルーチンが実行され得ず、事象呼び出しは制
約を受けねばならない。 −マイクロルーチンの呼出しおよびモニター・モードに
おけるマイクロルーチンからの戻しは決してページ誤り
を生じることはない。 −モニター・モードにおいて実行中のマイクロルーチン
は、もしそれがソフトウェアに対する呼出しを実施中で
あるプロセス610の中断を行なわなければ、完了まで
実行することを保証される。 −マイクロ機械がモニター・モードにおいて実行中であ
る時、これは、モニター・モードにおいて実行中のマイ
クロルーチンが完了するまで実行するため、あるいはこ
のマイクロルーチンが実行中のプロセス610を中断し
たため、あるいはソフトウェアに対する呼出しを行なっ
たため、適当な期間内に仮想モードに戻ることを保証さ
れる。両方の場合における結果はSOPの新たなシーケ
ンスの実行であり、このため仮想モードに対する戻しで
ある。
10370である。CS10110の本実施例において
は、このスタックは固定された最小サイズを有し、常に
GRF10354に保有される。MOS10370の特
性は、モニター・モードにおいて実行するマイクロルー
チンに対する4つの結果を呈する。 −マイクロ機械がモニター・モードにある時、呼出しの
深さは制限され、従ってモニター・モードにおいては循
環マイクロルーチンが実行され得ず、事象呼び出しは制
約を受けねばならない。 −マイクロルーチンの呼出しおよびモニター・モードに
おけるマイクロルーチンからの戻しは決してページ誤り
を生じることはない。 −モニター・モードにおいて実行中のマイクロルーチン
は、もしそれがソフトウェアに対する呼出しを実施中で
あるプロセス610の中断を行なわなければ、完了まで
実行することを保証される。 −マイクロ機械がモニター・モードにおいて実行中であ
る時、これは、モニター・モードにおいて実行中のマイ
クロルーチンが完了するまで実行するため、あるいはこ
のマイクロルーチンが実行中のプロセス610を中断し
たため、あるいはソフトウェアに対する呼出しを行なっ
たため、適当な期間内に仮想モードに戻ることを保証さ
れる。両方の場合における結果はSOPの新たなシーケ
ンスの実行であり、このため仮想モードに対する戻しで
ある。
【1021】CS10110の本実施例においては、M
CW1 20290におけるマスキング・ビットのある
組合せがセットされる時FUマイクロ機械はモニター・
モードにあり、これはFUスタックの桁あふれ事象およ
びエッグ・タイマーの桁あふれ事象のマスキングをもた
らす結果となる。前述の如く、もしフィールド非同期マ
スク・フィールド27303、またはモニター・マスク
・フィールド27305、または追跡事象マスク・フィ
ールド27307がセットされるならば、これらの事象
はマスクされる。これらの事象およびこれら事象をマス
クする結果については以下において詳細に説明する。
CW1 20290におけるマスキング・ビットのある
組合せがセットされる時FUマイクロ機械はモニター・
モードにあり、これはFUスタックの桁あふれ事象およ
びエッグ・タイマーの桁あふれ事象のマスキングをもた
らす結果となる。前述の如く、もしフィールド非同期マ
スク・フィールド27303、またはモニター・マスク
・フィールド27305、または追跡事象マスク・フィ
ールド27307がセットされるならば、これらの事象
はマスクされる。これらの事象およびこれら事象をマス
クする結果については以下において詳細に説明する。
【1022】FUスタックの桁あふれ事象に対する事象
信号は、MISフレーム27203においてフレームが
使用可能なフレームがないマイクロ呼出しと同時に生じ
る。もしこの事象信号がマスクされなければ、これはM
ISフレームをMISフレーム27203からプロセス
610のSS10336に対して移動させるマイクロル
ーチンの呼出しを生じる。FUスタックの桁あふれ事象
がマスクされる時、GR10360のSR10362に
おける全てのフレームはマイクロルーン呼出しに対して
使用可能となり、マイクロルーチン呼出しはページ誤り
を惹起しないが、もしSR10362の容量が超過する
と、FU10120は操作を停止させる。
信号は、MISフレーム27203においてフレームが
使用可能なフレームがないマイクロ呼出しと同時に生じ
る。もしこの事象信号がマスクされなければ、これはM
ISフレームをMISフレーム27203からプロセス
610のSS10336に対して移動させるマイクロル
ーチンの呼出しを生じる。FUスタックの桁あふれ事象
がマスクされる時、GR10360のSR10362に
おける全てのフレームはマイクロルーン呼出しに対して
使用可能となり、マイクロルーチン呼出しはページ誤り
を惹起しないが、もしSR10362の容量が超過する
と、FU10120は操作を停止させる。
【1023】EGGTMR25412が終了する時、エ
ッグ・タイマー桁あふれ事象信号が生じる。以下におい
て詳細に説明するように、EGGTMR25412は、
間隔タイマーの終了、またはプロセス間メッセージ、ま
たは非重要メモリー・エントリは妥当な期間内にJP1
0114によってサービスされることになる。もしある
間隔タイマー終了事象信号、またはプロセス間メッセー
ジ事象信号がFUマイクロ機械にとってこの事象の取扱
いに不充分な時に生じるならば、EGGTMR2541
2は実行を開始する。EGGTMR25412が終了す
る時、マイクロ機械がモニター・モードにならない限り
処理される。もしFUのマイクロ機械がモニター・モー
ドにある間、即ち事象がマスクされる間EGGTMR2
5412の終了事象信号が生じるならば、事象信号はM
CW1 20290におけるETフィールド27311
をセットする。FUマイクロ機械が仮想モードに戻る
時、即ちMCW1 20290における全ての事象マス
ク・ビットがクリアされる時、EGGTMR25412
の終了事象が生じ、間隔タイマー終了および(または)
プロセス間メッセージ事象ハンドラが事象ロジック20
284によって惹起される。
ッグ・タイマー桁あふれ事象信号が生じる。以下におい
て詳細に説明するように、EGGTMR25412は、
間隔タイマーの終了、またはプロセス間メッセージ、ま
たは非重要メモリー・エントリは妥当な期間内にJP1
0114によってサービスされることになる。もしある
間隔タイマー終了事象信号、またはプロセス間メッセー
ジ事象信号がFUマイクロ機械にとってこの事象の取扱
いに不充分な時に生じるならば、EGGTMR2541
2は実行を開始する。EGGTMR25412が終了す
る時、マイクロ機械がモニター・モードにならない限り
処理される。もしFUのマイクロ機械がモニター・モー
ドにある間、即ち事象がマスクされる間EGGTMR2
5412の終了事象信号が生じるならば、事象信号はM
CW1 20290におけるETフィールド27311
をセットする。FUマイクロ機械が仮想モードに戻る
時、即ちMCW1 20290における全ての事象マス
ク・ビットがクリアされる時、EGGTMR25412
の終了事象が生じ、間隔タイマー終了および(または)
プロセス間メッセージ事象ハンドラが事象ロジック20
284によって惹起される。
【1024】e.割込みおよび誤りの処理 1.原則 如何なるコンピュータ・システムもあるプログラムの通
常の実行を妨害する事態の発生を処理することができな
ければならない。このような事態の発生は一般に2つの
種類、即ち障害および割込みに分けられる。ある機械命
令の実行の試みの結果として障害が生じ、従ってその発
生は機械の命令と同期している。典型的な障害は、浮動
小数点数桁あふれ障害およびページ誤りである。浮動小
数点数桁あふれ障害は、機械命令が浮動小数点数の算術
演算の実施を試み結果がCS10110の浮動小数点数
ハードウェア即ちEU10122の容量を越える時に生
じる。ページ誤りは、仮想メモリーを含むあるコンピュ
ータ・システムにおける機械命令がこのコンピュータ・
システムの一時的メモリー、即ちMEM10112にお
いてその時使用可能でないデータを照合しようと試みる
時に生じる。障害は機械命令の実行と同期しており、ま
た多くの場合、特定の機械命令の実行の結果と同期する
ため、その発生はある程度予測可能である。
常の実行を妨害する事態の発生を処理することができな
ければならない。このような事態の発生は一般に2つの
種類、即ち障害および割込みに分けられる。ある機械命
令の実行の試みの結果として障害が生じ、従ってその発
生は機械の命令と同期している。典型的な障害は、浮動
小数点数桁あふれ障害およびページ誤りである。浮動小
数点数桁あふれ障害は、機械命令が浮動小数点数の算術
演算の実施を試み結果がCS10110の浮動小数点数
ハードウェア即ちEU10122の容量を越える時に生
じる。ページ誤りは、仮想メモリーを含むあるコンピュ
ータ・システムにおける機械命令がこのコンピュータ・
システムの一時的メモリー、即ちMEM10112にお
いてその時使用可能でないデータを照合しようと試みる
時に生じる。障害は機械命令の実行と同期しており、ま
た多くの場合、特定の機械命令の実行の結果と同期する
ため、その発生はある程度予測可能である。
【1025】ある割込みの発生は予測不能である。コン
ピュータ・システムによる機械命令の実行とは直接関係
を持たないコンピュータ・システムにより取られるある
動作の結果として割込みが生じる。例えば、その時中央
処理装置が実行中である機械命令の如何に拘らずある入
出力素子(IOS10116)により転送されるデータ
が中央処理装置(FU10120)に達する時に入出力
割込みが生じる。
ピュータ・システムによる機械命令の実行とは直接関係
を持たないコンピュータ・システムにより取られるある
動作の結果として割込みが生じる。例えば、その時中央
処理装置が実行中である機械命令の如何に拘らずある入
出力素子(IOS10116)により転送されるデータ
が中央処理装置(FU10120)に達する時に入出力
割込みが生じる。
【1026】従来のシステムにおいては、割込みおよび
障害は下記の如くに処理されてきた。即ち、もし割込み
または障害が生じると、コンピュータ・システムは次の
機械命令の実行の前に事態の発生を認識して、次の機械
命令の代りに割込み処理マイクロルーチン即ちプロセス
602を実行する。もし割込みまたは障害がその内部で
生じたプロセス610により処理不能であれば、その結
果割込みまたは障害はプロセスのスワップを惹起する。
割込み処理ルーチンが完了する時、障害を生じあるいは
割込みを生じたプロセス610はこれが除去された場合
にCPUに対して戻すことができ、次の機械命令が実行
される。
障害は下記の如くに処理されてきた。即ち、もし割込み
または障害が生じると、コンピュータ・システムは次の
機械命令の実行の前に事態の発生を認識して、次の機械
命令の代りに割込み処理マイクロルーチン即ちプロセス
602を実行する。もし割込みまたは障害がその内部で
生じたプロセス610により処理不能であれば、その結
果割込みまたは障害はプロセスのスワップを惹起する。
割込み処理ルーチンが完了する時、障害を生じあるいは
割込みを生じたプロセス610はこれが除去された場合
にCPUに対して戻すことができ、次の機械命令が実行
される。
【1027】前述の方法は障害の処理に充分な効果を発
揮するも、割込みが非同規であるという事実はいくつか
の問題を生じる。即ち、−割込みが生じる間に機械命令
が完了されるまでは、機械命令は実行のため不定量の時
間を要求することができない。−割込みの発生は予測で
きないため、如何なる時にもCPUからプロセス610
を取除くことが可能でなければならない。この要件はプ
ロセス管理の難しさを大幅に増大する。
揮するも、割込みが非同規であるという事実はいくつか
の問題を生じる。即ち、−割込みが生じる間に機械命令
が完了されるまでは、機械命令は実行のため不定量の時
間を要求することができない。−割込みの発生は予測で
きないため、如何なる時にもCPUからプロセス610
を取除くことが可能でなければならない。この要件はプ
ロセス管理の難しさを大幅に増大する。
【1028】CS10110の本実施例における割込み
および障害の処理に対して使用される方法については以
下に述べる。
および障害の処理に対して使用される方法については以
下に述べる。
【1029】2.CS10110におけるハードウェア
割込みおよび障害の処理 CS10110においては2つのレベルの割込みが存在
する。即ち、完全にソフトウェアにより形成されかつこ
れにより処理されるもの、およびハードウェアの信号に
より形成できるものである。前者の割込みはプロセス6
10の論議において説明したが、ハードウェア割込みと
呼ばれる後者については以下において論議する。
割込みおよび障害の処理 CS10110においては2つのレベルの割込みが存在
する。即ち、完全にソフトウェアにより形成されかつこ
れにより処理されるもの、およびハードウェアの信号に
より形成できるものである。前者の割込みはプロセス6
10の論議において説明したが、ハードウェア割込みと
呼ばれる後者については以下において論議する。
【1030】CS10110においては、ハードウェア
割込みおよび障害は、FU10120におけるマイクロ
ルーチンの呼出しとして開始する。この呼出しは事象信
号の結果であり、あるいはマイクロルーチンによって行
なうことができる。例えば、IOS10116がJP1
0114に対するデータをMEM10112に配する
時、プロセッサ間メッセージの事象信号が生じる結果と
なり、この信号はプロセッサ間のメッセージ割込みハン
ドラ・マイクロコードの呼出しを生じる。一方、ページ
誤りはLATマイクロコードによるページ誤りマイクロ
コードの呼出しとして開始する。障害または割込みの作
用を開始するマイクロコードにより取られる動作は、こ
の障害または割込みが生じた時実行中のプロセス610
および特殊なKOSプロセス610のどちらによって取
扱われるかに依存する。
割込みおよび障害は、FU10120におけるマイクロ
ルーチンの呼出しとして開始する。この呼出しは事象信
号の結果であり、あるいはマイクロルーチンによって行
なうことができる。例えば、IOS10116がJP1
0114に対するデータをMEM10112に配する
時、プロセッサ間メッセージの事象信号が生じる結果と
なり、この信号はプロセッサ間のメッセージ割込みハン
ドラ・マイクロコードの呼出しを生じる。一方、ページ
誤りはLATマイクロコードによるページ誤りマイクロ
コードの呼出しとして開始する。障害または割込みの作
用を開始するマイクロコードにより取られる動作は、こ
の障害または割込みが生じた時実行中のプロセス610
および特殊なKOSプロセス610のどちらによって取
扱われるかに依存する。
【1031】最初に、事象のマイクロコードは、事象を
取扱う高水準の言語の手順に対するマイクロコード対ソ
フトウェア呼出しを実施することができる。このように
処理される事象の一例は浮動小数点数の桁あふれであ
る。即ち、浮動小数点数の桁あふれが生じたことをFU
10120のマイクロコードが判定する時、桁あふれの
発生時にそのS言語が実行中である高水準言語により提
供される浮動小数点数桁あふれ手順を生じ得るマイクロ
コードを生じる。CS10110の別の実施例において
は、桁あふれ手順もまたマイクロコードに存在する。
取扱う高水準の言語の手順に対するマイクロコード対ソ
フトウェア呼出しを実施することができる。このように
処理される事象の一例は浮動小数点数の桁あふれであ
る。即ち、浮動小数点数の桁あふれが生じたことをFU
10120のマイクロコードが判定する時、桁あふれの
発生時にそのS言語が実行中である高水準言語により提
供される浮動小数点数桁あふれ手順を生じ得るマイクロ
コードを生じる。CS10110の別の実施例において
は、桁あふれ手順もまたマイクロコードに存在する。
【1032】第2の場合においては、障害または割込み
を処理するマイクロコードが障害または割込みを処理す
るKOSプロセス610によって使用されるテーブルに
情報を配し、次いでKOSプロセス610により待機さ
れる事象カウンタを増進させることによってこのKOS
プロセス610を若干後に実行させる。事象カウンタお
よびこれらカウンタに関する作用については、プロセス
610の以下の説明において詳細に説明する。マイクロ
コードにより操作されるテーブルおよび事象カウンタは
常にMEM10112に存在するため、これらの操作は
ページ誤りを生じることなく、またモニター・モードに
おいて実施することができる。例えば、IOS1011
6がデータをMEM10112に対してロードした後で
IOS10116がJP10114に対してIPM事象
信号を送出する時、事象信号から生じる事象はIOS1
0116からのメッセージを含むキューを検査するマイ
クロコードを含んでいる。このキューにおけるメッセー
ジは事象カウンタの場所を含み、またこのキューを桁送
りするマイクロコードはこれらの事象カウンタを増進さ
せ、これにより入出力操作により戻されるデータを待機
していたプロセス610をして実行を開始させる。
を処理するマイクロコードが障害または割込みを処理す
るKOSプロセス610によって使用されるテーブルに
情報を配し、次いでKOSプロセス610により待機さ
れる事象カウンタを増進させることによってこのKOS
プロセス610を若干後に実行させる。事象カウンタお
よびこれらカウンタに関する作用については、プロセス
610の以下の説明において詳細に説明する。マイクロ
コードにより操作されるテーブルおよび事象カウンタは
常にMEM10112に存在するため、これらの操作は
ページ誤りを生じることなく、またモニター・モードに
おいて実施することができる。例えば、IOS1011
6がデータをMEM10112に対してロードした後で
IOS10116がJP10114に対してIPM事象
信号を送出する時、事象信号から生じる事象はIOS1
0116からのメッセージを含むキューを検査するマイ
クロコードを含んでいる。このキューにおけるメッセー
ジは事象カウンタの場所を含み、またこのキューを桁送
りするマイクロコードはこれらの事象カウンタを増進さ
せ、これにより入出力操作により戻されるデータを待機
していたプロセス610をして実行を開始させる。
【1033】3.モニター・モード、差動マスクキング
およびハードウェア割込み処理 FU10120のマイクロ機械のモニター・モードおよ
び差動マスキング装置は、従来のハードウェア割込み処
理と関連する2つの問題を克服するハードウェア割込み
処理方法を可能にする。即ち、1つの割込みは、あるS
INの実行に要する時間量の如何に拘わらず、予測可能
な時間量で処理することができ、またもしこの割込みを
処理するマイクロコードがモニター・モードで実行する
ならば、この割込みは予測不能な結果をもたらすことな
く如何なる時も処理することができる。CS10110
には2つのハードウェア割込みソースが存在する。即
ち、プロセッサ・メッセージ(IPM)および間隔タイ
マー35412の終了である。IOS10116がJP
10114に対する入出力タスクを完了する時1つのI
PMが生じて、IOJPバス10132を介してタスク
の完了を信号する。CS10110がある動作を行なわ
なければならない予め設定した時間に達する時、1つの
間隔タイマーの終了が生じる。例えば、あるプロセス6
10は、JP10114に関して実行可能である時間量
に対する制限を有する。プロセスの同期化についての以
下の説明において説明するように、仮想処理装置の管理
システムは、プロセス610がこれに使用可能な全ての
時間を使用した時EGGTMR25412を終了するよ
うに設定する。
およびハードウェア割込み処理 FU10120のマイクロ機械のモニター・モードおよ
び差動マスキング装置は、従来のハードウェア割込み処
理と関連する2つの問題を克服するハードウェア割込み
処理方法を可能にする。即ち、1つの割込みは、あるS
INの実行に要する時間量の如何に拘わらず、予測可能
な時間量で処理することができ、またもしこの割込みを
処理するマイクロコードがモニター・モードで実行する
ならば、この割込みは予測不能な結果をもたらすことな
く如何なる時も処理することができる。CS10110
には2つのハードウェア割込みソースが存在する。即
ち、プロセッサ・メッセージ(IPM)および間隔タイ
マー35412の終了である。IOS10116がJP
10114に対する入出力タスクを完了する時1つのI
PMが生じて、IOJPバス10132を介してタスク
の完了を信号する。CS10110がある動作を行なわ
なければならない予め設定した時間に達する時、1つの
間隔タイマーの終了が生じる。例えば、あるプロセス6
10は、JP10114に関して実行可能である時間量
に対する制限を有する。プロセスの同期化についての以
下の説明において説明するように、仮想処理装置の管理
システムは、プロセス610がこれに使用可能な全ての
時間を使用した時EGGTMR25412を終了するよ
うに設定する。
【1034】IPMと間隔タイマーの双方の終了は事象
信号として開始する。事象信号の直接の効果は、MCW
1のEPフィールド27309においてビットをセット
する。原則において、このセットされたビットは、FU
10120のマイクロ機械が仮想モードにある次のM0
サイクルにおいて事象に対する事象マイクロコードの呼
出しを生じ得る。モニター・モードにおいて実行中のマ
イクロルーチンは妥当な期間内でマイクロ機械を仮想モ
ードに戻すよう保証されるため、また事象呼出しがこの
状態が生じた時発生するため、事象はある妥当な期間内
でサービスされるよう保証されている。事象事態によっ
て生じるマイクロルーチンはモニター・モードで実行
し、これにより事象が実行中にはページ誤りが生じない
こと、またハードウェア割込みが生じる時JP1011
4に関して実行中であるプロセス610がJP1011
4から取除く必要がないことを保証する。
信号として開始する。事象信号の直接の効果は、MCW
1のEPフィールド27309においてビットをセット
する。原則において、このセットされたビットは、FU
10120のマイクロ機械が仮想モードにある次のM0
サイクルにおいて事象に対する事象マイクロコードの呼
出しを生じ得る。モニター・モードにおいて実行中のマ
イクロルーチンは妥当な期間内でマイクロ機械を仮想モ
ードに戻すよう保証されるため、また事象呼出しがこの
状態が生じた時発生するため、事象はある妥当な期間内
でサービスされるよう保証されている。事象事態によっ
て生じるマイクロルーチンはモニター・モードで実行
し、これにより事象が実行中にはページ誤りが生じない
こと、またハードウェア割込みが生じる時JP1011
4に関して実行中であるプロセス610がJP1011
4から取除く必要がないことを保証する。
【1035】原則として前述の如くハードウェア割込み
のサービスが行なわれるが、効率の観点から、FUのマ
イクロ機械のスタックの寸法が最小限度である時、即ち
SINの実行の開始時にサービスされるハードウェア割
込みができるだけ多いことが必要となる。この要件は、
MCW1 20290のEGGTMR25412および
ETフィールド27311によって達成される。前述の
如く、IPM割込み、即ちEGGTMR25412の終
了割込みが生じる時、IPMフィールド27317また
はITフィールド27313が夫々MCW1 2029
0にセットされる。同時に、EGGTMR25412が
実行を開始する。もしその時SINの実行がEGGTM
R25412の終了の前に終るならば、MCW1 20
290におけるセットされたフィールドは、間隔タイマ
ーの終了またはプロセッサ間メッセージ事象呼出しを次
のSINに対する最初のマイクロ機械と同時に生じさせ
る。もし他方においてその時のSINの実行がEGGT
MR25412の終了前に終らない場合は、エッグ・タ
イマーの終了が事象SINを惹起する。この信号の直接
の結果はMCW1 20290におけるETフィールド
27311の設定であり、更にETビット27311の
設定がタイマーの終了事象呼出しおよび(または)IP
M事象呼出しをして、前記マイクロ機械が仮想モードに
ある間に生じる次のM0サイクルと同時に起生させるの
である。このように、前記の機構は、ほとんどの割込み
が1つのSINの開始時において処理されるも、ハード
ウェア割込みが常に1つのSINの実行に必要な時間の
長さの如何に拘わらず、ある期間内に処理される。
のサービスが行なわれるが、効率の観点から、FUのマ
イクロ機械のスタックの寸法が最小限度である時、即ち
SINの実行の開始時にサービスされるハードウェア割
込みができるだけ多いことが必要となる。この要件は、
MCW1 20290のEGGTMR25412および
ETフィールド27311によって達成される。前述の
如く、IPM割込み、即ちEGGTMR25412の終
了割込みが生じる時、IPMフィールド27317また
はITフィールド27313が夫々MCW1 2029
0にセットされる。同時に、EGGTMR25412が
実行を開始する。もしその時SINの実行がEGGTM
R25412の終了の前に終るならば、MCW1 20
290におけるセットされたフィールドは、間隔タイマ
ーの終了またはプロセッサ間メッセージ事象呼出しを次
のSINに対する最初のマイクロ機械と同時に生じさせ
る。もし他方においてその時のSINの実行がEGGT
MR25412の終了前に終らない場合は、エッグ・タ
イマーの終了が事象SINを惹起する。この信号の直接
の結果はMCW1 20290におけるETフィールド
27311の設定であり、更にETビット27311の
設定がタイマーの終了事象呼出しおよび(または)IP
M事象呼出しをして、前記マイクロ機械が仮想モードに
ある間に生じる次のM0サイクルと同時に起生させるの
である。このように、前記の機構は、ほとんどの割込み
が1つのSINの開始時において処理されるも、ハード
ウェア割込みが常に1つのSINの実行に必要な時間の
長さの如何に拘わらず、ある期間内に処理される。
【1036】f.FUのマイクロ機械およびCS101
10のサブシステム オブジェクトサブシステム、プロセス・サブシステム、
S言語サブシテスムおよび名前インタプリタ・サブシス
テムの如きCS10110のサブシステムはその全てま
たは一部がマイクロ機械内に構成されている。従って、
このマイクロ機械の記述は、これらのサブシステムとマ
イクロ機械間の関係の序説に近い。このサブシステムの
処理についての詳細な説明は既に述べた。
10のサブシステム オブジェクトサブシステム、プロセス・サブシステム、
S言語サブシテスムおよび名前インタプリタ・サブシス
テムの如きCS10110のサブシステムはその全てま
たは一部がマイクロ機械内に構成されている。従って、
このマイクロ機械の記述は、これらのサブシステムとマ
イクロ機械間の関係の序説に近い。このサブシステムの
処理についての詳細な説明は既に述べた。
【1037】このサブシステムは3つの主なグループに
別れる。即ち、KOSサブシステム、名前インタプリタ
・サブシステムおよび記憶インタプリタ・サブシステム
である。この3つの関係はある程度階層的である。即
ち、KOSサブシステムは名前インタプリタ・サブシス
テムにより要求される環境を提供し、名前インタプリタ
・サブシステムはSインタプリタ・サブシステムにより
要求される環境を提供する。例えば、Sインタプリタ・
サブシテスムはSOPおよび名前からなるSINの解釈
を行ない、名前インタプリタ・サブシステムは論理記述
子に含まれる場所を計算するためABPと呼ばれる値を
用いて名前を論理記述子に翻訳する。KOSサブシステ
ムはABPの値を計算し、論理記述子27116を物理
的MEM10112のアドレスに翻訳し、またプロセス
610が照合中のオブジェクトにアクセスするかどうか
を検査する。
別れる。即ち、KOSサブシステム、名前インタプリタ
・サブシステムおよび記憶インタプリタ・サブシステム
である。この3つの関係はある程度階層的である。即
ち、KOSサブシステムは名前インタプリタ・サブシス
テムにより要求される環境を提供し、名前インタプリタ
・サブシステムはSインタプリタ・サブシステムにより
要求される環境を提供する。例えば、Sインタプリタ・
サブシテスムはSOPおよび名前からなるSINの解釈
を行ない、名前インタプリタ・サブシステムは論理記述
子に含まれる場所を計算するためABPと呼ばれる値を
用いて名前を論理記述子に翻訳する。KOSサブシステ
ムはABPの値を計算し、論理記述子27116を物理
的MEM10112のアドレスに翻訳し、またプロセス
610が照合中のオブジェクトにアクセスするかどうか
を検査する。
【1038】CS10110の本実施例においては、名
前インタプリタ・サブシステムおよびSインタプリタ・
サブシステムは完全にマイクロ機械内に構成されるが、
他の実施例においては、これらのサブシステムは高水準
言語またはハードウェアで構成することができる。KO
Sサブシステムはマイクロ機械および高水準言語のルー
チンの双方で構成される。CS10110の別の実施例
においては、KOSサブシステムは完全にマイクロコー
ドもしくは高水準言語ルーチンで実施することができ
る。ある高水準言語のルーチンはプロセス610におい
て実行可能であるが、他は特殊なKOSプロセス610
によってのみ実行される。このKOSサブシステムはま
た、ユーザがSインタプリタ・サブシステムおよび名前
インタプリタ・サブシステムに対してアクセスする方法
において他のものと異なり、これらのサブシステムはS
INが実行される時にのみ動作に入り、システムのユー
ザにとって直接知ることができない。一方、KOSサブ
システムの各部は、高水準言語プログラムにおいて明確
に生じ得る。例えば、高水準の言語プログラムにおける
呼出しは、KOSをしてプロセス610を仮想プロセッ
サ612と結合することができる。
前インタプリタ・サブシステムおよびSインタプリタ・
サブシステムは完全にマイクロ機械内に構成されるが、
他の実施例においては、これらのサブシステムは高水準
言語またはハードウェアで構成することができる。KO
Sサブシステムはマイクロ機械および高水準言語のルー
チンの双方で構成される。CS10110の別の実施例
においては、KOSサブシステムは完全にマイクロコー
ドもしくは高水準言語ルーチンで実施することができ
る。ある高水準言語のルーチンはプロセス610におい
て実行可能であるが、他は特殊なKOSプロセス610
によってのみ実行される。このKOSサブシステムはま
た、ユーザがSインタプリタ・サブシステムおよび名前
インタプリタ・サブシステムに対してアクセスする方法
において他のものと異なり、これらのサブシステムはS
INが実行される時にのみ動作に入り、システムのユー
ザにとって直接知ることができない。一方、KOSサブ
システムの各部は、高水準言語プログラムにおいて明確
に生じ得る。例えば、高水準の言語プログラムにおける
呼出しは、KOSをしてプロセス610を仮想プロセッ
サ612と結合することができる。
【1039】最初に、下記のリストは前記のサブシステ
ムにより実施される諸機能を列挙し、従ってサブシステ
ムをモニターおよび仮想マイクロ機械・モードおよび特
定のマイクロ機械の諸素子と関連付けるものである。K
OSサブシステムは下記の機能を実施する。即ち、 −仮想メモリーの管理 −仮想プロセッサの管理 −プロセッサ間の通信 −アクセスの制御 −オブジェクトの管理、および −プロセスの管理 である。
ムにより実施される諸機能を列挙し、従ってサブシステ
ムをモニターおよび仮想マイクロ機械・モードおよび特
定のマイクロ機械の諸素子と関連付けるものである。K
OSサブシステムは下記の機能を実施する。即ち、 −仮想メモリーの管理 −仮想プロセッサの管理 −プロセッサ間の通信 −アクセスの制御 −オブジェクトの管理、および −プロセスの管理 である。
【1040】名前インタプリタは下記の諸機能を実施す
る。即ち、 −SOPの取出しおよび分析、および −名前の翻訳 である。
る。即ち、 −SOPの取出しおよび分析、および −名前の翻訳 である。
【1041】最後に、SインタプリタはSOPのタスク
指名を行ない、即ち、あるS言語に対するあるSOPと
対応する操作を実行するFU10120およびEU10
122のマイクロコードを見出す。
指名を行ない、即ち、あるS言語に対するあるSOPと
対応する操作を実行するFU10120およびEU10
122のマイクロコードを見出す。
【1042】これらのサブシステムの内、Sインタプリ
タ、名前インタプリタおよびKOSプロセスおよびオブ
ジェクト管理サブシステムのマイクロコード要素は仮想
マイクロ機械に関して実行し、残りのKOSサブシステ
ムのマイクロコード要素はモニターマイクロ機械につい
て実行する。これらのサブシステムの論議において明ら
かなように、仮想マイクロ機械に関する実行を行なうサ
ブシステムはページの誤りを生じ、また従ってメモリー
のどこかに存在するデータを照合することができ、モニ
ター・マイクロ機械に関して実行するサブシステムはペ
ージ誤りを生じ得ず、また従ってこれらのサブシステム
が操作するデータ・ベースは常にMEM10112にお
ける既知の場所に存在する。
タ、名前インタプリタおよびKOSプロセスおよびオブ
ジェクト管理サブシステムのマイクロコード要素は仮想
マイクロ機械に関して実行し、残りのKOSサブシステ
ムのマイクロコード要素はモニターマイクロ機械につい
て実行する。これらのサブシステムの論議において明ら
かなように、仮想マイクロ機械に関する実行を行なうサ
ブシステムはページの誤りを生じ、また従ってメモリー
のどこかに存在するデータを照合することができ、モニ
ター・マイクロ機械に関して実行するサブシステムはペ
ージ誤りを生じ得ず、また従ってこれらのサブシステム
が操作するデータ・ベースは常にMEM10112にお
ける既知の場所に存在する。
【1043】各サブシステムとFU10120のマイク
ロ機械素子間の関係は下記の如くである。即ち、全ての
サブシステムに対するマイクロコードはDESP202
10、マイクロコード・アドレス指定装置27013お
よびレジスタ・アドレス指定装置27011を使用し、
またEUインターフェース27007を使用可能であ
る。Sインタプリタ・マイクロコードはSOPデコーダ
27003を使用し、名前インタプリタ・マイクロコー
ドは命令ストリーム・リーダ27001、分析装置27
005および名前翻訳装置27015を使用する。KO
S仮想メモリー管理マイクロコードはメモリー照合装置
27017を使用し、機密保護マイクロコードは機密保
護装置27019を使用する。
ロ機械素子間の関係は下記の如くである。即ち、全ての
サブシステムに対するマイクロコードはDESP202
10、マイクロコード・アドレス指定装置27013お
よびレジスタ・アドレス指定装置27011を使用し、
またEUインターフェース27007を使用可能であ
る。Sインタプリタ・マイクロコードはSOPデコーダ
27003を使用し、名前インタプリタ・マイクロコー
ドは命令ストリーム・リーダ27001、分析装置27
005および名前翻訳装置27015を使用する。KO
S仮想メモリー管理マイクロコードはメモリー照合装置
27017を使用し、機密保護マイクロコードは機密保
護装置27019を使用する。
【1044】CS10110の主なサブシステム、ME
M10112、FU10120、EU10122、IO
S10116およびDP10118の構造および作用に
ついて詳細に説明したが、CS10110の作用につい
ては更に詳細に以下において説明しよう。最初に、CS
10110の名前空間、Sインタプリタおよびポインタ
・システムの作用について説明する。次いで、CS10
110の作用についてはCS10110の核心操作シス
テムに関連して更に詳細に説明する。
M10112、FU10120、EU10122、IO
S10116およびDP10118の構造および作用に
ついて詳細に説明したが、CS10110の作用につい
ては更に詳細に以下において説明しよう。最初に、CS
10110の名前空間、Sインタプリタおよびポインタ
・システムの作用について説明する。次いで、CS10
110の作用についてはCS10110の核心操作シス
テムに関連して更に詳細に説明する。
【1045】3.名前空間、Sインタプリタおよびポイ
ンタ(図301乃至図307,図274) 前項はCS10110の概説を行ない、そのハードウェ
アを詳細に調べ、如何にしてFU10120のハードウ
ェアが他のCS10110の要素の活動状態を制御する
マイクロ機械として機能するかを説明した。本明細書の
残る部分においては、CS10110のある主要な特徴
がハードウェア、マイクロ機械、メモリー中のテーブル
および高水準言語プログラムを用いて構成される装置に
ついて述べる。本項では、これらの特徴の内3つ、即ち
ポインタ解明システム、名前空間およびSインタプリタ
について説明する。
ンタ(図301乃至図307,図274) 前項はCS10110の概説を行ない、そのハードウェ
アを詳細に調べ、如何にしてFU10120のハードウ
ェアが他のCS10110の要素の活動状態を制御する
マイクロ機械として機能するかを説明した。本明細書の
残る部分においては、CS10110のある主要な特徴
がハードウェア、マイクロ機械、メモリー中のテーブル
および高水準言語プログラムを用いて構成される装置に
ついて述べる。本項では、これらの特徴の内3つ、即ち
ポインタ解明システム、名前空間およびSインタプリタ
について説明する。
【1046】ポインタ解明システムは、ポインタ即ち場
所の情報を含むデータ項目をUID/オフセット・アド
レスに翻訳する。名前空間は3つの主な機能を有する。
即ち、 −SINを見出し、これらのSINをFU10120に
対するCS10110のメモリーから取出す。 −SINをSOPおよび名前に分析する。 −名前を論理記述子27116即ち値に翻訳する。
所の情報を含むデータ項目をUID/オフセット・アド
レスに翻訳する。名前空間は3つの主な機能を有する。
即ち、 −SINを見出し、これらのSINをFU10120に
対するCS10110のメモリーから取出す。 −SINをSOPおよび名前に分析する。 −名前を論理記述子27116即ち値に翻訳する。
【1047】Sインタプリタは名前空間から受取ったS
命令をFUSITT11012およびEUSITT20
344に含まれるマイクロコードにおける場所に復号
し、次いでこのマイクロコードを実行する。もしS命令
がオペランドを必要とするならば、Sインタプリタは名
前空間を用いてこのオペランドを操作により必要とされ
る如き論理記述子27116即ち値に翻訳する。
命令をFUSITT11012およびEUSITT20
344に含まれるマイクロコードにおける場所に復号
し、次いでこのマイクロコードを実行する。もしS命令
がオペランドを必要とするならば、Sインタプリタは名
前空間を用いてこのオペランドを操作により必要とされ
る如き論理記述子27116即ち値に翻訳する。
【1048】名前空間はポインタの解明システムに依存
し、またSインタプリタは名前空間に依存するため、シ
ステムの論議はポインタから始め、次いで名前空間およ
びSインタプリタについて説明する。
し、またSインタプリタは名前空間に依存するため、シ
ステムの論議はポインタから始め、次いで名前空間およ
びSインタプリタについて説明する。
【1049】A.ポインタおよびポインタの解明(図3
01,図302) ポインタは、アドレス即ちCS10110においては、
UID/オフセット・アドレスを表わすあるデータ項目
である。CS10110は大まかに2つの種類のポイン
タを有する。即ち、解明されたポインタおよび解明され
ないポインタを有する。解明されたポインタは、その値
が直ちにUID/オフセット・アドレスとして解釈する
ことができるポインタであり、解明されないポンイタは
その値が高水準の言語ルーチンまたはマイクロコード・
ルーチンによってUID/オフセット・アドレスに解明
されねばならないポインタである。解明されないポイン
タの解釈の操作はその解明と呼ばれる。解明されないポ
インタが解明される方法はシステムのユーザにより書込
まれる高水準の言語ルーチンによって決定することがで
きるため、解明されないポインタはシステムのユーザが
その自らのポインタ・タイプを規定することができる手
段を提供する。
01,図302) ポインタは、アドレス即ちCS10110においては、
UID/オフセット・アドレスを表わすあるデータ項目
である。CS10110は大まかに2つの種類のポイン
タを有する。即ち、解明されたポインタおよび解明され
ないポインタを有する。解明されたポインタは、その値
が直ちにUID/オフセット・アドレスとして解釈する
ことができるポインタであり、解明されないポンイタは
その値が高水準の言語ルーチンまたはマイクロコード・
ルーチンによってUID/オフセット・アドレスに解明
されねばならないポインタである。解明されないポイン
タの解釈の操作はその解明と呼ばれる。解明されないポ
インタが解明される方法はシステムのユーザにより書込
まれる高水準の言語ルーチンによって決定することがで
きるため、解明されないポインタはシステムのユーザが
その自らのポインタ・タイプを規定することができる手
段を提供する。
【1050】解明されたポインタと解明されないポイン
タの双方はサブクラスを有する。解明されたポインタの
サブクラスとは、UIDポインタとオブジェクト相関ポ
インタである。UIDポインタはUIDおよびオフセッ
トを含み、このためCS10110のアドレスを表わす
ことができ、オブジェクト相関ポインタは唯一のオフセ
ットしか持たず、このアドレスのUIDはオブジェクト
相関ポインタを含むオブジェクトのそれと同じものと仮
定される。従って、オブジェクト相関ポインタはこのポ
インタを含むオブジェクトにおけるアドレスを表わすこ
としかできない。
タの双方はサブクラスを有する。解明されたポインタの
サブクラスとは、UIDポインタとオブジェクト相関ポ
インタである。UIDポインタはUIDおよびオフセッ
トを含み、このためCS10110のアドレスを表わす
ことができ、オブジェクト相関ポインタは唯一のオフセ
ットしか持たず、このアドレスのUIDはオブジェクト
相関ポインタを含むオブジェクトのそれと同じものと仮
定される。従って、オブジェクト相関ポインタはこのポ
インタを含むオブジェクトにおけるアドレスを表わすこ
としかできない。
【1051】解明されないポインタのサブクラスは通常
の非解明ポインタと連想ポインタがある。この2種類の
非解明ポインタ間の差異は、これらが解明される方法に
ある。通常の非解明ポインタは常に高水準の言語ルーチ
ンによって解明されるが、連想ポインタはこれらが高水
準言語ルーチンによりあるプロセス610およびある定
義域において使用される最初に解明されるが、その後連
想アドレス・テーブル(AAT)と呼ばれるテーブルに
よって解明される。このテーブルはマイクロコードに対
してアクセス可能であり、従って連想ポインタは通常の
非解明ポインタよりも更に迅速に解明可能である。
の非解明ポインタと連想ポインタがある。この2種類の
非解明ポインタ間の差異は、これらが解明される方法に
ある。通常の非解明ポインタは常に高水準の言語ルーチ
ンによって解明されるが、連想ポインタはこれらが高水
準言語ルーチンによりあるプロセス610およびある定
義域において使用される最初に解明されるが、その後連
想アドレス・テーブル(AAT)と呼ばれるテーブルに
よって解明される。このテーブルはマイクロコードに対
してアクセス可能であり、従って連想ポインタは通常の
非解明ポインタよりも更に迅速に解明可能である。
【1052】以下の論議は最初にCS10110の全て
のポインタにより使用されるフォーマットについて説明
し、次いでポインタが如何にしてFU10120におい
て処理されるかについて説明する。
のポインタにより使用されるフォーマットについて説明
し、次いでポインタが如何にしてFU10120におい
て処理されるかについて説明する。
【1053】a.ポインタのフォーマット(図301) 図301はCS10110のあるポインタを示してい
る。同図は2つの部分からなる。即ち、CS10110
の全てのポインタに現われるフィールドの全体を示す全
体的なポインタ・フォーマットと、CS10110のポ
インタの種類が識別される情報を含むフラッグおよびフ
ォーマット・フィールド30105の詳細図である。
る。同図は2つの部分からなる。即ち、CS10110
の全てのポインタに現われるフィールドの全体を示す全
体的なポインタ・フォーマットと、CS10110のポ
インタの種類が識別される情報を含むフラッグおよびフ
ォーマット・フィールド30105の詳細図である。
【1054】最初にポインタの全体的フォーマット30
101について説明すると、CS10110の全てのポ
インタは128ビットを保有し、3つの主なフィールド
に分割されている。即ち、 −オフセット・フィールド30103は解明ポインタお
よび連想ポインタにおけるあるUID/オフセット・ア
ドレスのオフセット部分を保有し、他の非解明ポインタ
においてはユーザによって規定される如きあるオブジェ
クトその他の情報におけるあるポインタからのオフセッ
トを含むことができる。 −フラッグおよびフォーマット・フィールド30105
はポインタの種類を識別するラッグおよびフォーマット
・コードを含む。これらのフラッグおよびフォーマット
・コードは以下において詳細に説明する。 −UIDフィールド30115はUIDポインタおよび
いくつかの連想するポインタにおける使用を含み、オブ
ジェクト相関ポインタにおいては、その意味が規定され
ない他の連想ポインタを含み、通常の非解明ポインタに
おいてはユーザにより規定される如き情報を含んでい
る。
101について説明すると、CS10110の全てのポ
インタは128ビットを保有し、3つの主なフィールド
に分割されている。即ち、 −オフセット・フィールド30103は解明ポインタお
よび連想ポインタにおけるあるUID/オフセット・ア
ドレスのオフセット部分を保有し、他の非解明ポインタ
においてはユーザによって規定される如きあるオブジェ
クトその他の情報におけるあるポインタからのオフセッ
トを含むことができる。 −フラッグおよびフォーマット・フィールド30105
はポインタの種類を識別するラッグおよびフォーマット
・コードを含む。これらのフラッグおよびフォーマット
・コードは以下において詳細に説明する。 −UIDフィールド30115はUIDポインタおよび
いくつかの連想するポインタにおける使用を含み、オブ
ジェクト相関ポインタにおいては、その意味が規定され
ない他の連想ポインタを含み、通常の非解明ポインタに
おいてはユーザにより規定される如き情報を含んでい
る。
【1055】フラッグ兼フォーマット・フィールド30
105は4つのサブフィールドを含む。即ち、 −フィールド30107および30111は留保され、
0にセットされねばならない。 −NRフィールド30109はあるポインタが解明され
あるいは解明されないことを表示する。解明されたポイ
ンタにおいては、このフィールドは0にセットされ、非
解明ポインタにおいては1にセットされる。 −フィールド・コード・フィールド30113は解明さ
れあるいは解明されないポインタの種類を表示する。本
例におけるフィールド・コードについては以下に説明す
る。フォーマット・コード・フィールド30112の値
は0から31までの範囲にわたる。もしフォーマット・
コード・フィールド30113が値0を有するならば、
ポインタは無のポインタ・即ち直接間接の差を問わずア
ドレスの表示を行なうことのないポインタである。他の
フォーマット・コードの意味はNRフィールド3010
9の値に依存している。即ち、 NRフィールド値 フォーマット・コード値 意 味 0 1 UIDポインタ 0 2 オブジェクト相関ポインタ 0 他の全てのコード 違 法 1 1 UID連想ポインタ 1 2 オブジェクト相関連想ポインタ 1 他の全てのコード 通常の非解明ポインタ 上記のテーブルに示す如く、本実施例は2種類の連想ポ
インタ、即ちUID連想ポインタおよびオブジェクト相
関連想ポインタを有する。UIDポインタの如く、UI
D連想ポインタはUIDおよびオフセットを含み、オブ
ジェクト相関ポインタの如く、オブジェクト相関連想ポ
インタはオフセットを含みそれが帰属するオブジェクト
からUIDの値を取る。しかし、更に詳細に以下におい
て説明するように、前記連想ポインタが含みあるいは表
わすUIDおよびオフセットはアドレスとしては使用さ
れない。その代り、UIDおよびオフセットは、連想ポ
インタを解明されたポインタと関連させるAATにおけ
るエントリを見出すタッグとして使用される。
105は4つのサブフィールドを含む。即ち、 −フィールド30107および30111は留保され、
0にセットされねばならない。 −NRフィールド30109はあるポインタが解明され
あるいは解明されないことを表示する。解明されたポイ
ンタにおいては、このフィールドは0にセットされ、非
解明ポインタにおいては1にセットされる。 −フィールド・コード・フィールド30113は解明さ
れあるいは解明されないポインタの種類を表示する。本
例におけるフィールド・コードについては以下に説明す
る。フォーマット・コード・フィールド30112の値
は0から31までの範囲にわたる。もしフォーマット・
コード・フィールド30113が値0を有するならば、
ポインタは無のポインタ・即ち直接間接の差を問わずア
ドレスの表示を行なうことのないポインタである。他の
フォーマット・コードの意味はNRフィールド3010
9の値に依存している。即ち、 NRフィールド値 フォーマット・コード値 意 味 0 1 UIDポインタ 0 2 オブジェクト相関ポインタ 0 他の全てのコード 違 法 1 1 UID連想ポインタ 1 2 オブジェクト相関連想ポインタ 1 他の全てのコード 通常の非解明ポインタ 上記のテーブルに示す如く、本実施例は2種類の連想ポ
インタ、即ちUID連想ポインタおよびオブジェクト相
関連想ポインタを有する。UIDポインタの如く、UI
D連想ポインタはUIDおよびオフセットを含み、オブ
ジェクト相関ポインタの如く、オブジェクト相関連想ポ
インタはオフセットを含みそれが帰属するオブジェクト
からUIDの値を取る。しかし、更に詳細に以下におい
て説明するように、前記連想ポインタが含みあるいは表
わすUIDおよびオフセットはアドレスとしては使用さ
れない。その代り、UIDおよびオフセットは、連想ポ
インタを解明されたポインタと関連させるAATにおけ
るエントリを見出すタッグとして使用される。
【1056】b.10120におけるポインタ(図30
2) あるポインタをFU10120におけるアドレスとして
使用する時、ポインタにおけるアドレス情報は、AO
N、オフセットおよび0の長さフィールドからなる論理
記述子27116に翻訳されねばならず、FU1012
0における論理記述子27116がメモリーにおけるあ
るポインタ値の形成のため使用される時、AONは再び
UIDに変換されねばならない。最初の変換は、ポイン
タ対記述子変換と呼ばれ、2番目の変換は記述子対ポイ
ンタ変換と呼ばれる。両方の変換はFU10120にお
いて実行中のマイクロコードによって達成される。
2) あるポインタをFU10120におけるアドレスとして
使用する時、ポインタにおけるアドレス情報は、AO
N、オフセットおよび0の長さフィールドからなる論理
記述子27116に翻訳されねばならず、FU1012
0における論理記述子27116がメモリーにおけるあ
るポインタ値の形成のため使用される時、AONは再び
UIDに変換されねばならない。最初の変換は、ポイン
タ対記述子変換と呼ばれ、2番目の変換は記述子対ポイ
ンタ変換と呼ばれる。両方の変換はFU10120にお
いて実行中のマイクロコードによって達成される。
【1057】翻訳に介在するのはポインタの種類に依存
し、もしポインタがUIDポインタであればUIDはA
ONに翻訳されねばならず、もしポインタがオブジェク
ト相関ポインタであれば、ポインタの取出しに必要なA
ONはポインタのAONであり、そのため翻訳は必要で
ない。もしポインタが解明されないポインタであれば、
これは最初に解明されたポインタに、次いで論理記述子
27116に翻訳されねばならない。もしポンイタが関
連するならば、解明されたポインタへの翻訳はAATに
よって実施することができる。
し、もしポインタがUIDポインタであればUIDはA
ONに翻訳されねばならず、もしポインタがオブジェク
ト相関ポインタであれば、ポインタの取出しに必要なA
ONはポインタのAONであり、そのため翻訳は必要で
ない。もしポインタが解明されないポインタであれば、
これは最初に解明されたポインタに、次いで論理記述子
27116に翻訳されねばならない。もしポンイタが関
連するならば、解明されたポインタへの翻訳はAATに
よって実施することができる。
【1058】本実施例においては、他のFU10120
のマイクロコードがポインタ対記述子マイクロコードを
呼出す時、呼出し側のマイクロコードは、アーギュメン
トとしてポインタ対記述子変換マイクロコードに翻訳さ
れるべきポンイタの位置指定のため論理記述子2711
6を送る。このポインタ対記述子マイクロコードは、ポ
インタ対記述子マイクロコードがアーギュメントとして
受取った論理記述子27116によって指定される場所
においてポインタの値から形成された論理記述子271
16に戻る。
のマイクロコードがポインタ対記述子マイクロコードを
呼出す時、呼出し側のマイクロコードは、アーギュメン
トとしてポインタ対記述子変換マイクロコードに翻訳さ
れるべきポンイタの位置指定のため論理記述子2711
6を送る。このポインタ対記述子マイクロコードは、ポ
インタ対記述子マイクロコードがアーギュメントとして
受取った論理記述子27116によって指定される場所
においてポインタの値から形成された論理記述子271
16に戻る。
【1059】ポインタ対記述子マイクロコードは最初
に、メモリーからのポインタのオフセット・フィールド
の値を取出すアーギュメントとして与えられた論理記述
子27116を使用する。この時これはOFFALU2
0242に帰属する出力レジスタに論理記述子2711
6のオフセットを保管し、ポインタのオフセット・フィ
ールド30103の値をこれがアーギュメントとして受
取る論理記述子27116のオフセット・フィールドに
配する。このポインタ対記述子マイクロコードは次に、
このポインタ対記述子マイクロコードの呼出しによって
使用中のGRF10354におけるあるレジスタに論理
記述子27116のAONおよびオフセット(OFFA
LU20242から得た)を設定することによってポイ
ンタの場所を支持する論理記述子27116を保管す
る。次に、このマイクロコードは値40をOFFALU
20242にセットされたオフセットに加算し、これに
よりNRフィールド30109のアドレスを取得し、こ
のアドレスを用いてNRフィールド30109およびフ
ォーマット・コード・フィールド30113と取出して
これを読出す。これ以上の処理の過程はこれらのフィー
ルドの値によって決定される。もしNRフィールド30
109が解明されたポインタを表示するならば、フォー
マット・コード・フィールド30113の値によって決
定する如き4つの場合がある。即ち、 −フォーマット・コード・フィールド=0:ポインタは
空白ポインタである。 −フォーマット・コード・フィールド=1:ポインタは
UIDポインタである。 −フォーマット・コード・フィールド=2:ポインタは
オブジェクト間ポインタである。−フォーマット・コー
ド・フィールドの他の値:このポインタは無効である。
に、メモリーからのポインタのオフセット・フィールド
の値を取出すアーギュメントとして与えられた論理記述
子27116を使用する。この時これはOFFALU2
0242に帰属する出力レジスタに論理記述子2711
6のオフセットを保管し、ポインタのオフセット・フィ
ールド30103の値をこれがアーギュメントとして受
取る論理記述子27116のオフセット・フィールドに
配する。このポインタ対記述子マイクロコードは次に、
このポインタ対記述子マイクロコードの呼出しによって
使用中のGRF10354におけるあるレジスタに論理
記述子27116のAONおよびオフセット(OFFA
LU20242から得た)を設定することによってポイ
ンタの場所を支持する論理記述子27116を保管す
る。次に、このマイクロコードは値40をOFFALU
20242にセットされたオフセットに加算し、これに
よりNRフィールド30109のアドレスを取得し、こ
のアドレスを用いてNRフィールド30109およびフ
ォーマット・コード・フィールド30113と取出して
これを読出す。これ以上の処理の過程はこれらのフィー
ルドの値によって決定される。もしNRフィールド30
109が解明されたポインタを表示するならば、フォー
マット・コード・フィールド30113の値によって決
定する如き4つの場合がある。即ち、 −フォーマット・コード・フィールド=0:ポインタは
空白ポインタである。 −フォーマット・コード・フィールド=1:ポインタは
UIDポインタである。 −フォーマット・コード・フィールド=2:ポインタは
オブジェクト間ポインタである。−フォーマット・コー
ド・フィールドの他の値:このポインタは無効である。
【1060】最初の場合には、マイクロコードがアーギ
ュメントの全てのフィールドを0にセットし、2番目の
場合にはメモリーからUIDフィールド30115の値
を取出して、UIDをこれと関連するAONに翻訳する
LARマイクロコード(オブジェクトの説明において説
明した)を生じる。次に、AONはアーギュメントのA
ONフィールドにロードされる。3番目の場合において
は、ポインタの場所に対する論理記述子27116のA
ONおよびポインタのAONは同じであり、そのためア
ーギュメントは既に翻訳されたポインタを保有する。4
番目の場合には、マイクロコードは、無効のポインタ障
害を取扱いアーギュメントとしてのポインタに対する保
管された論理記述子27116を送るポインタ障害取扱
い手順602に対する呼出しを実施する。障害を取扱う
手順602はマイクロコードに対して解明されたポイン
タを戻さなければならず、このマイクロコードはこれを
前述の如く論理記述子27116に変換する。
ュメントの全てのフィールドを0にセットし、2番目の
場合にはメモリーからUIDフィールド30115の値
を取出して、UIDをこれと関連するAONに翻訳する
LARマイクロコード(オブジェクトの説明において説
明した)を生じる。次に、AONはアーギュメントのA
ONフィールドにロードされる。3番目の場合において
は、ポインタの場所に対する論理記述子27116のA
ONおよびポインタのAONは同じであり、そのためア
ーギュメントは既に翻訳されたポインタを保有する。4
番目の場合には、マイクロコードは、無効のポインタ障
害を取扱いアーギュメントとしてのポインタに対する保
管された論理記述子27116を送るポインタ障害取扱
い手順602に対する呼出しを実施する。障害を取扱う
手順602はマイクロコードに対して解明されたポイン
タを戻さなければならず、このマイクロコードはこれを
前述の如く論理記述子27116に変換する。
【1061】c.記述子からポインタへの変換 記述子ポインタ変換は、解明されたポインタによるポイ
ンタから記述子への変換の逆である。この操作は、解明
されたポインタがFU10120のレジスタからMEM
10112へ移動される時常に実施されねばならない。
この操作は2つのアーギュメント、即ちポンイタが書込
まれるべきアドレスを規定する論理記述子27116
と、そのAONおよびオフセット・フィールドがポンイ
タに含まれる場所を規定する論理記述子27116とを
要する。2つの場合、即ちオブジェクト間ポインタとU
IDポインタとがある。両方の種類のポインタはオフセ
ット・フィールド30103における値を有し、そのた
め記述子対ポインタ・マイクロコードは最初に第2のア
ーギュメントのオフセットを最初のアーギュメントの論
理記述子27116により規定される場所に書込む。次
のステップは、ポインタがオブジェクト間ポインタとU
IDポインタのどちらであるかを判定する。このため
に、マイクロコードはアーギュメントのAONを比較す
る。もしこれらのAONが同じならば、ポインタはこれ
を含むオブジェクトにおけるある場所と指示し、従って
オブジェクト間ポインタとなる。オブジェクト間ポイン
タのUIDフィールド30115が意義を持たないた
め、オブジェクト間ポインタに対して残る唯一のステッ
プは、フラッグおよびフォーマット・フィールド301
05を2進数の2にセットすることであり、これはビッ
ト46を除く全てのビットを0にセットし、これにより
このポインタを解明されたオブジェクト間ポインタとし
て識別する。
ンタから記述子への変換の逆である。この操作は、解明
されたポインタがFU10120のレジスタからMEM
10112へ移動される時常に実施されねばならない。
この操作は2つのアーギュメント、即ちポンイタが書込
まれるべきアドレスを規定する論理記述子27116
と、そのAONおよびオフセット・フィールドがポンイ
タに含まれる場所を規定する論理記述子27116とを
要する。2つの場合、即ちオブジェクト間ポインタとU
IDポインタとがある。両方の種類のポインタはオフセ
ット・フィールド30103における値を有し、そのた
め記述子対ポインタ・マイクロコードは最初に第2のア
ーギュメントのオフセットを最初のアーギュメントの論
理記述子27116により規定される場所に書込む。次
のステップは、ポインタがオブジェクト間ポインタとU
IDポインタのどちらであるかを判定する。このため
に、マイクロコードはアーギュメントのAONを比較す
る。もしこれらのAONが同じならば、ポインタはこれ
を含むオブジェクトにおけるある場所と指示し、従って
オブジェクト間ポインタとなる。オブジェクト間ポイン
タのUIDフィールド30115が意義を持たないた
め、オブジェクト間ポインタに対して残る唯一のステッ
プは、フラッグおよびフォーマット・フィールド301
05を2進数の2にセットすることであり、これはビッ
ト46を除く全てのビットを0にセットし、これにより
このポインタを解明されたオブジェクト間ポインタとし
て識別する。
【1062】UIDポインタの場合は、記述子ポインタ
・マイクロコードはフラッグ兼フォーマット・フィール
ド30105を1にセットし、これによりこのポインタ
を解明されたUIDポインタとして識別し、第1のAO
NをUIDに変換して結果のUIDをその時のフレーム
に配するKOS LARマイクロルーチン(オブジェク
トの論議において詳細に説明した)を呼出す。KOS
AONからUIDへの変換マイクロルーチンが戻る時、
記述子ポインタ・マイクロコードはUIDを変換された
ポインタのUIDフィールド30115に対して書込
む。
・マイクロコードはフラッグ兼フォーマット・フィール
ド30105を1にセットし、これによりこのポインタ
を解明されたUIDポインタとして識別し、第1のAO
NをUIDに変換して結果のUIDをその時のフレーム
に配するKOS LARマイクロルーチン(オブジェク
トの論議において詳細に説明した)を呼出す。KOS
AONからUIDへの変換マイクロルーチンが戻る時、
記述子ポインタ・マイクロコードはUIDを変換された
ポインタのUIDフィールド30115に対して書込
む。
【1063】B.名前空間およびSインタプリンタ(図
303〜図307) 名前空間およびSインタプリンタは共に手順オブジェク
ト608に含まれた情報の解釈を行なう。その結果、C
S10110のこれらの要素について論議は名前空間お
よびSインタプリンタに関する手順オブジェクト608
の部分の概説から始め、次いで名前空間およびSインタ
プリンタについて詳細に説明する。
303〜図307) 名前空間およびSインタプリンタは共に手順オブジェク
ト608に含まれた情報の解釈を行なう。その結果、C
S10110のこれらの要素について論議は名前空間お
よびSインタプリンタに関する手順オブジェクト608
の部分の概説から始め、次いで名前空間およびSインタ
プリンタについて詳細に説明する。
【1064】a.手順オブジェクト606の概説(図3
03) 図303は手順オブジェクト608の各部を示してい
る。図303は図103に含まれる情報を拡張し、両方
の図に現れるフィールドは図103の番号を有する。本
文において論議しない手順オブジェクト608の各部
は、後で呼出しおよび戻しの論述において取扱う。これ
らのシステムに対する最も重要な部分は手順環境記述子
(PED)30303である。手順602のPED30
303は、手順602のコードを見出してこれを分析し
その名前を解釈するため名前空間およびSインタプリタ
により必要とされる情報を含んでいる。手順オブジェク
ト608における手順602の番号はPED30303
と共有される。呼出しの説明において明らかになるよう
に、関与する手順602とPED30303を共有する
という事実は呼出しが実行される方法に影響を与える。
03) 図303は手順オブジェクト608の各部を示してい
る。図303は図103に含まれる情報を拡張し、両方
の図に現れるフィールドは図103の番号を有する。本
文において論議しない手順オブジェクト608の各部
は、後で呼出しおよび戻しの論述において取扱う。これ
らのシステムに対する最も重要な部分は手順環境記述子
(PED)30303である。手順602のPED30
303は、手順602のコードを見出してこれを分析し
その名前を解釈するため名前空間およびSインタプリタ
により必要とされる情報を含んでいる。手順オブジェク
ト608における手順602の番号はPED30303
と共有される。呼出しの説明において明らかになるよう
に、関与する手順602とPED30303を共有する
という事実は呼出しが実行される方法に影響を与える。
【1065】本論において重要なPED30303のフ
ィールドはヘッダー30304における3つのフィール
ド、即ちKフィールド30305とLNフィールド30
307とSIPフィールド30309であり、残るフィ
ールドの内の3つは即ちNTPフィールド30311
と、SDPPフィールド30313と、PBPフィール
ド30315である。 −Kフィールド30305は、PED30303と共有
する手順602のSINにおける名前が8,12または
16ビットのいずれであるかを表示する。 −LNフィールド30307は、手順602の名前テー
ブル10350における最も大きな指標を有する名前を
保有する。 −SIPフィールド30309は、手順602のS言語
に対するSインタプリタを含むオブジェクトに対するU
IDポインタである。 −NTPフィールド30311は、手順602の名前テ
ーブル10350の始めに対するオブジェクト相関ポイ
ンタである。 −SDPPフィールド30313は、手順602の1つ
があるプロセス610によって生じる時、PED303
03が帰属する手順602によって使用される静的なデ
ータの場所に対して解明されるポインタである。SDP
Pフィールド30313に対応する解明されたポインタ
はSDP ABPである。 −PBPフィールド30315は、PED30303が
帰属する手順602の呼出しのためのPBP ABPを
含む。このPBP ABPは手順オブジェクト608内
部の場所を計算するため使用される。
ィールドはヘッダー30304における3つのフィール
ド、即ちKフィールド30305とLNフィールド30
307とSIPフィールド30309であり、残るフィ
ールドの内の3つは即ちNTPフィールド30311
と、SDPPフィールド30313と、PBPフィール
ド30315である。 −Kフィールド30305は、PED30303と共有
する手順602のSINにおける名前が8,12または
16ビットのいずれであるかを表示する。 −LNフィールド30307は、手順602の名前テー
ブル10350における最も大きな指標を有する名前を
保有する。 −SIPフィールド30309は、手順602のS言語
に対するSインタプリタを含むオブジェクトに対するU
IDポインタである。 −NTPフィールド30311は、手順602の名前テ
ーブル10350の始めに対するオブジェクト相関ポイ
ンタである。 −SDPPフィールド30313は、手順602の1つ
があるプロセス610によって生じる時、PED303
03が帰属する手順602によって使用される静的なデ
ータの場所に対して解明されるポインタである。SDP
Pフィールド30313に対応する解明されたポインタ
はSDP ABPである。 −PBPフィールド30315は、PED30303が
帰属する手順602の呼出しのためのPBP ABPを
含む。このPBP ABPは手順オブジェクト608内
部の場所を計算するため使用される。
【1066】手順オブジェクト608における他の問題
の場所は、リテラル値30301および静的データのプ
ロトタイプ(SDPR)30317である。リテラル値
30301はリテラル値、即ちコンパイルにおいて既知
でありプログラムの実行中変化しない手順602におけ
る値を有する。SDPR30317は下記のいずれかを
含む。即ち、外部ルーチンおよび他のオブジェクトに含
まれる静的データに対するポインタ、手順602に対す
る静的データを形成するため必要な情報、およびある場
合には静的データ自体を含む。SDPR30317にお
けるポインタは解明あるいは非解明のいずれかである。
の場所は、リテラル値30301および静的データのプ
ロトタイプ(SDPR)30317である。リテラル値
30301はリテラル値、即ちコンパイルにおいて既知
でありプログラムの実行中変化しない手順602におけ
る値を有する。SDPR30317は下記のいずれかを
含む。即ち、外部ルーチンおよび他のオブジェクトに含
まれる静的データに対するポインタ、手順602に対す
る静的データを形成するため必要な情報、およびある場
合には静的データ自体を含む。SDPR30317にお
けるポインタは解明あるいは非解明のいずれかである。
【1067】本実施例においては、バインダ領域303
23もまた重要である。バインダ領域30323はこれ
に含まれる非解明ポインタの解明を可能にする情報を含
む。手順オブジェクト608におけるSDPPフィール
ド30313以外の非解明ポインタは全てバインダ領域
30323における場所を含み、指定された場所はポイ
ンタの解明に必要な情報を含む。
23もまた重要である。バインダ領域30323はこれ
に含まれる非解明ポインタの解明を可能にする情報を含
む。手順オブジェクト608におけるSDPPフィール
ド30313以外の非解明ポインタは全てバインダ領域
30323における場所を含み、指定された場所はポイ
ンタの解明に必要な情報を含む。
【1068】図303は、NTPフィールド3031
1、SDPPフィールド30313およびPBPフィー
ルド30315により指示される手順オブジェクト60
8における場所を示す矢印を含む。NTPフィールド3
0311はMT10350の始めを指示し、このため名
前の名前テーブルのエントリは名前の値をNTPフィー
ルド30311に対して加算することによって見出すこ
とができる。PBPフィールドは30315はリテラル
値30301の始めを指示し、その結果リテラル値の場
所およびSINの場所はPBPフィールド30315の
値からオフセットとして表わすことができる。SDPP
フィールド30313はSDPR30317の始めを指
示する。呼出しの説明において詳細に説明するように、
手順602が静的データを有する時、SDP ABPは
SDPPフィールド30313から得られる。
1、SDPPフィールド30313およびPBPフィー
ルド30315により指示される手順オブジェクト60
8における場所を示す矢印を含む。NTPフィールド3
0311はMT10350の始めを指示し、このため名
前の名前テーブルのエントリは名前の値をNTPフィー
ルド30311に対して加算することによって見出すこ
とができる。PBPフィールドは30315はリテラル
値30301の始めを指示し、その結果リテラル値の場
所およびSINの場所はPBPフィールド30315の
値からオフセットとして表わすことができる。SDPP
フィールド30313はSDPR30317の始めを指
示する。呼出しの説明において詳細に説明するように、
手順602が静的データを有する時、SDP ABPは
SDPPフィールド30313から得られる。
【1069】b.名前空間 CS10110の名前空間要素はある手順に帰属するS
INを見出し、SINをSOPおよび名前に分析し、名
前に関して解明および評価の諸操作を実施する。解明操
作は名前を名前により表わされるデータに対する論理記
述子27116に翻訳するが、評価操作はデータ自体を
得る。この評価操作は、解明操作を実施し次にその結果
の論理記述子27116を用いてデータを取出すことに
よって行なわれる。評価および解明操作は最も複雑であ
るため、論議はこれから始める。
INを見出し、SINをSOPおよび名前に分析し、名
前に関して解明および評価の諸操作を実施する。解明操
作は名前を名前により表わされるデータに対する論理記
述子27116に翻訳するが、評価操作はデータ自体を
得る。この評価操作は、解明操作を実施し次にその結果
の論理記述子27116を用いてデータを取出すことに
よって行なわれる。評価および解明操作は最も複雑であ
るため、論議はこれから始める。
【1070】1.名前の解明および評価 名前の解明および評価操作は、名前のNTEに含まれる
情報によって名前を論理記述子27116に翻訳し、N
TEはアーキテクチャ基底レジスタに関する場所を規定
する。その結果、以下の論議は最初に名前テーブルのエ
ントリおよびアーキテクチャ基底ポインタについて説明
し、次いで名前空間が名前テーブルのエントリおよびア
ーキテクチャ基底ポインタに含まれる情報を論理記述子
27116に翻訳する。
情報によって名前を論理記述子27116に翻訳し、N
TEはアーキテクチャ基底レジスタに関する場所を規定
する。その結果、以下の論議は最初に名前テーブルのエ
ントリおよびアーキテクチャ基底ポインタについて説明
し、次いで名前空間が名前テーブルのエントリおよびア
ーキテクチャ基底ポインタに含まれる情報を論理記述子
27116に翻訳する。
【1071】2.名前テーブル(図304) 前述の如く、MT10350は手順オブジェクト608
に含まれる。MT10350は、名前により表わされる
オペランドに対する論理記述子27116に名前を翻訳
するため必要な情報を保有する。各名前はその値として
名前テーブル・エントリ番号を有する。名前の名前テー
ブル・エントリは、短い名前テーブル・エントリのサイ
ズで名前の値を乗算し、かつこの積をSINを有する手
順602に帰属するPED30303のNTPフィール
ド30311における値に加算することによって見出さ
れる。
に含まれる。MT10350は、名前により表わされる
オペランドに対する論理記述子27116に名前を翻訳
するため必要な情報を保有する。各名前はその値として
名前テーブル・エントリ番号を有する。名前の名前テー
ブル・エントリは、短い名前テーブル・エントリのサイ
ズで名前の値を乗算し、かつこの積をSINを有する手
順602に帰属するPED30303のNTPフィール
ド30311における値に加算することによって見出さ
れる。
【1072】名前テーブルのエントリは、名前によって
指定されるデータ項目に対する長さおよび形式の情報を
保有し、ベースと呼ばれるある既知の場所からの変位と
してデータ項目の場所を表わす。このベースはABPに
より規定された場所、または別の名前により規定された
場所、またはポインタにより規定された場所である。後
者の場合には、ポインタの場所はABPまたは名前に関
して規定することができる。
指定されるデータ項目に対する長さおよび形式の情報を
保有し、ベースと呼ばれるある既知の場所からの変位と
してデータ項目の場所を表わす。このベースはABPに
より規定された場所、または別の名前により規定された
場所、またはポインタにより規定された場所である。後
者の場合には、ポインタの場所はABPまたは名前に関
して規定することができる。
【1073】図304は、名前テーブル・エントリ(N
TE)30401を詳細に示している。2種類のNTE
30401、即ち短いNTE30403と長いNTE3
0405が存在する。NTE30403は64ビットを
含み、長いNTE30405は128ビットを含む。そ
の変位が16ビットで表わすことができるスケーラ・デ
ータ項目を表わす名前はNTE30403を有し、その
変位が16ビット以上を要求するスケーラ・データ項目
を表わす名前およびアレイ素子を表わす名前は長いNT
E30405を有する。
TE)30401を詳細に示している。2種類のNTE
30401、即ち短いNTE30403と長いNTE3
0405が存在する。NTE30403は64ビットを
含み、長いNTE30405は128ビットを含む。そ
の変位が16ビットで表わすことができるスケーラ・デ
ータ項目を表わす名前はNTE30403を有し、その
変位が16ビット以上を要求するスケーラ・データ項目
を表わす名前およびアレイ素子を表わす名前は長いNT
E30405を有する。
【1074】NTE30403は、各々が16ビットの
長さである4つの主フィールドを有する。即ち、 −フラッグ兼フォーマット・フィールド30407は、
名前空間が如何にしてNTE30401を解釈するかを
規定するフラッグおよびフォーマット情報を保有する。 −ベース・フィールド30425は、名前により表わさ
れるデータの場所を得るため変位が加算されるべきベー
スを示す。ベース・フィールド30425は4つの方法
で、即ちABPにより、名前により、ABPにより見出
されるポインタにより、また名前により見出されるポイ
ンタによって場所を表わすことができる。 −長さフィールド30435はデータの長さを表わす。
この長さはリテラル値または名前である。もしこれが名
前であれば、この名前はデータ項目の長さを含む場所に
解を有する。 −変位フィールド30437は、ベース・フィールド3
0425において規定されたベースからのデータの始め
の変位を含む。この変位は符号を付した整数値である。
長さである4つの主フィールドを有する。即ち、 −フラッグ兼フォーマット・フィールド30407は、
名前空間が如何にしてNTE30401を解釈するかを
規定するフラッグおよびフォーマット情報を保有する。 −ベース・フィールド30425は、名前により表わさ
れるデータの場所を得るため変位が加算されるべきベー
スを示す。ベース・フィールド30425は4つの方法
で、即ちABPにより、名前により、ABPにより見出
されるポインタにより、また名前により見出されるポイ
ンタによって場所を表わすことができる。 −長さフィールド30435はデータの長さを表わす。
この長さはリテラル値または名前である。もしこれが名
前であれば、この名前はデータ項目の長さを含む場所に
解を有する。 −変位フィールド30437は、ベース・フィールド3
0425において規定されたベースからのデータの始め
の変位を含む。この変位は符号を付した整数値である。
【1075】長いNTE30405は、各々が16ビッ
トの長さである4つの別のフィールドを有し、このフィ
ールドの2つ、即ち指標名前フィールド30441とI
ESフィールド30445はアレイを表わす名前に対す
るNTE30401においてのみ使用される。 −変位拡張フィールド30439は全ての長いNTE3
0405において使用される。もしフィールド3043
7における変位値が16ビットより小さければ、変位拡
張フィールド30439は符号ビットを含み、即ちフィ
ールドにおけるビットは、変位が正である時0にセット
され、また変位が負である時は1にセットされる。この
変位値が16ビット以上である時、変位拡張フィールド
30439は符号ビットと共に変位値の最上位ビットを
含んでいる。 −指標名前フィールド30441は、アレイの要素を表
示するため使用される値を表わす名前を含む。 −フィールド30443は保留される。 −IESフィールド30445はアレイにおける要素の
サイズを規定する名前またはリテラル値を含む。このフ
ィールドにより表わされる値は、指標名前フィールド3
0441によって表わされる値と共に使用されてアレイ
の要素を見出す。
トの長さである4つの別のフィールドを有し、このフィ
ールドの2つ、即ち指標名前フィールド30441とI
ESフィールド30445はアレイを表わす名前に対す
るNTE30401においてのみ使用される。 −変位拡張フィールド30439は全ての長いNTE3
0405において使用される。もしフィールド3043
7における変位値が16ビットより小さければ、変位拡
張フィールド30439は符号ビットを含み、即ちフィ
ールドにおけるビットは、変位が正である時0にセット
され、また変位が負である時は1にセットされる。この
変位値が16ビット以上である時、変位拡張フィールド
30439は符号ビットと共に変位値の最上位ビットを
含んでいる。 −指標名前フィールド30441は、アレイの要素を表
示するため使用される値を表わす名前を含む。 −フィールド30443は保留される。 −IESフィールド30445はアレイにおける要素の
サイズを規定する名前またはリテラル値を含む。このフ
ィールドにより表わされる値は、指標名前フィールド3
0441によって表わされる値と共に使用されてアレイ
の要素を見出す。
【1076】以上のことから判るように、下記の各フィ
ールドは名前、即ちベース・フィールド30425、長
さフィールド30435、指標名前フィールド3044
1およびIESフィールド30445を含んでいる。
ールドは名前、即ちベース・フィールド30425、長
さフィールド30435、指標名前フィールド3044
1およびIESフィールド30445を含んでいる。
【1077】NTE30401における2つのフィール
ドは更に構成即ちフラッグ兼フォーマット・フィールド
30407およびベース・フィールド30425を必要
とする。フラッグ兼フォーマット・フィールド3040
7は3つのサブフィールド、即ちフラッグ・フィールド
303408と、FMフィールド30421と、タイプ
・フィールド30423を有する。最初に、フラッグ・
フィールド30408について述べれば、このフィール
ドにおける6つのフラッグは、如何にして名前空間がN
TE30401を解釈するかを示す。このフラッグはセ
ットされる時下記の意味を有する。即ち、 −長さNTEフラッグ30409:NTE30401は
長いNTE30405である。 −長さは名前フラッグ30411である:長さフィール
ド30435は名前を保有する。 −ベースは名前フラッグ30413である。ベース・フ
ィールド30425は、ABPの番号の代りに名前を含
んでいる。 −ベース間接フラッグ30415:ベース・フィールド
20425はポインタを表わし、NTE30401によ
り表わされる場所はポインタの値を得てこの値を変位フ
ィールド30437および変位拡張フィールド3043
9に含まれる値をポインタのオフセットに加算すること
によって計算される。 −アレイ・フラッグ30417:NTE30401は1
つのアレイを表わす。 −IESは名前フラッグ30419であり:IESフィ
ールド30445はIESの値を表わす名前を含んでい
る。
ドは更に構成即ちフラッグ兼フォーマット・フィールド
30407およびベース・フィールド30425を必要
とする。フラッグ兼フォーマット・フィールド3040
7は3つのサブフィールド、即ちフラッグ・フィールド
303408と、FMフィールド30421と、タイプ
・フィールド30423を有する。最初に、フラッグ・
フィールド30408について述べれば、このフィール
ドにおける6つのフラッグは、如何にして名前空間がN
TE30401を解釈するかを示す。このフラッグはセ
ットされる時下記の意味を有する。即ち、 −長さNTEフラッグ30409:NTE30401は
長いNTE30405である。 −長さは名前フラッグ30411である:長さフィール
ド30435は名前を保有する。 −ベースは名前フラッグ30413である。ベース・フ
ィールド30425は、ABPの番号の代りに名前を含
んでいる。 −ベース間接フラッグ30415:ベース・フィールド
20425はポインタを表わし、NTE30401によ
り表わされる場所はポインタの値を得てこの値を変位フ
ィールド30437および変位拡張フィールド3043
9に含まれる値をポインタのオフセットに加算すること
によって計算される。 −アレイ・フラッグ30417:NTE30401は1
つのアレイを表わす。 −IESは名前フラッグ30419であり:IESフィ
ールド30445はIESの値を表わす名前を含んでい
る。
【1078】これらのフラッグのいくつかはあるNTE
30401にセットすることができる。例えば、ポイン
タを介して更にある名前によって表わされ、そのIES
値がある名前により表わされるアレイに対して照合され
たあるアレイの要素に対するエントリは、フラッグ30
409,30413,30415,30417および3
0419をセットさせる。
30401にセットすることができる。例えば、ポイン
タを介して更にある名前によって表わされ、そのIES
値がある名前により表わされるアレイに対して照合され
たあるアレイの要素に対するエントリは、フラッグ30
409,30413,30415,30417および3
0419をセットさせる。
【1079】FMフィールド30421は如何にして名
前によって表わされるデータがメモリーから取出される
時フォーマット化されるかを示す。FMフィールド30
421の値はNTE30401から形成される論理記述
子27116のFIUフィールドに配される。この2つ
のビットは次の4つの可能性をもたらす。即ち、 セッティング 意 義 00 右寄せ、零充填 01 右寄せ、符号充填 10 左寄せ、零充填 11 左寄せ、ASCII空間充填 タイプ・フィールド30423における4つのビットは
言語固有のタイプ情報に対するコンパイラによって使用
される。タイプ・フィールド30423は、NTE30
401から形成された論理記述子27116のタイプ・
フィールド27109に配される。
前によって表わされるデータがメモリーから取出される
時フォーマット化されるかを示す。FMフィールド30
421の値はNTE30401から形成される論理記述
子27116のFIUフィールドに配される。この2つ
のビットは次の4つの可能性をもたらす。即ち、 セッティング 意 義 00 右寄せ、零充填 01 右寄せ、符号充填 10 左寄せ、零充填 11 左寄せ、ASCII空間充填 タイプ・フィールド30423における4つのビットは
言語固有のタイプ情報に対するコンパイラによって使用
される。タイプ・フィールド30423は、NTE30
401から形成された論理記述子27116のタイプ・
フィールド27109に配される。
【1080】ベース・フィールド30425は、ABP
フォーマット30427におけるベースまたは名前フォ
ーマット30432におけるベースのいずれかを有す
る。ベース・フィールド30425が解釈される方法は
名前フラッグ30413およびベース間接フラッグ30
415におけるベースのセッティングに依存する。下記
の4つの可能性が存在する。即ち、 フィールドのセッティング 意 義 ベースが名前 間接ベース 0 0 ABPフォーマットがベースを直接見出す。
フォーマット30427におけるベースまたは名前フォ
ーマット30432におけるベースのいずれかを有す
る。ベース・フィールド30425が解釈される方法は
名前フラッグ30413およびベース間接フラッグ30
415におけるベースのセッティングに依存する。下記
の4つの可能性が存在する。即ち、 フィールドのセッティング 意 義 ベースが名前 間接ベース 0 0 ABPフォーマットがベースを直接見出す。
【1081】 0 1 ABPフォーマットがベースであるポインタ を見出す。
【1082】 1 0 ベースは名前が解明される時ベースを見出す 名前フィールドである。
【1083】 1 1 ベースは名前が解明されポインタがベースで ある時ポインタを見出す名前フォーマットで ある。
【1084】上記のテーブルにより示されるように、ベ
ース・フィールド30425は、ベースがセットされな
い名前フラッグ30411である時ABPフォーマット
30427であるベースを有する如く表わされる。もし
ベースがABPフォーマット30427であるならば、
ベース・フィールド30425は2つのサブフィール
ド、即ちABPフィールド30429およびポインタ位
置指定フィールド30431を有する。後者のフィール
ドは、ベース間接フラッグ30415がセットされる時
のみ意義を有する。ABPフィールド30429は、A
BPを表示する2ビット・コードである。そのセッティ
ングおよび意義は下記の如くである。即ち、 セッティング ABP 00 FP 01 未使用 10 SDP 11 PBP ABPについては以下に論述する。ベース間接フラッグ
30415が1にセットされベースが名前である時、名
前フラッグ30413は0にセットされ、ABPフォー
マットにおけるこのベース・フィールドの残る14ビッ
トは名前フラッグ30413として表わされる。このよ
うに解釈される時、名前フラッグ30413は符号を有
する整数を保有し、これは128により乗算される時、
ABPフィールド30429において規定されるABP
からのポインタの変数を生じる。このポインタの値は次
に前記の変位が加算されるベースとなる。
ース・フィールド30425は、ベースがセットされな
い名前フラッグ30411である時ABPフォーマット
30427であるベースを有する如く表わされる。もし
ベースがABPフォーマット30427であるならば、
ベース・フィールド30425は2つのサブフィール
ド、即ちABPフィールド30429およびポインタ位
置指定フィールド30431を有する。後者のフィール
ドは、ベース間接フラッグ30415がセットされる時
のみ意義を有する。ABPフィールド30429は、A
BPを表示する2ビット・コードである。そのセッティ
ングおよび意義は下記の如くである。即ち、 セッティング ABP 00 FP 01 未使用 10 SDP 11 PBP ABPについては以下に論述する。ベース間接フラッグ
30415が1にセットされベースが名前である時、名
前フラッグ30413は0にセットされ、ABPフォー
マットにおけるこのベース・フィールドの残る14ビッ
トは名前フラッグ30413として表わされる。このよ
うに解釈される時、名前フラッグ30413は符号を有
する整数を保有し、これは128により乗算される時、
ABPフィールド30429において規定されるABP
からのポインタの変数を生じる。このポインタの値は次
に前記の変位が加算されるベースとなる。
【1085】ベースが1にセットされた名前フラッグ3
0413である時、ベース・フィールド30425は名
前フォーマット30432であるベースを有する如く表
わされる。ベースに名前フォーマット30432があ
り、ベース・フィールド30425は1つの名前を有す
る。もしベース間接フラッグ30415がセットされな
ければ、名前はこのベースを有するように解を与えられ
る。もしベース間接フラッグ30415がセットされる
ならば、名前はあるポインタ値を有するものと評価さ
れ、このポインタ値はベースとなる。
0413である時、ベース・フィールド30425は名
前フォーマット30432であるベースを有する如く表
わされる。ベースに名前フォーマット30432があ
り、ベース・フィールド30425は1つの名前を有す
る。もしベース間接フラッグ30415がセットされな
ければ、名前はこのベースを有するように解を与えられ
る。もしベース間接フラッグ30415がセットされる
ならば、名前はあるポインタ値を有するものと評価さ
れ、このポインタ値はベースとなる。
【1086】3.アーキテクチャ基底ポインタ(図30
5,図306) もしベースが名前ならば、NTE30401に帰属する
名前フラッグ30413はセットされず、ベース・フィ
ールド30425はCS10110の3つのABPの内
の1つを規定する。即ち、 −PBPは、リテラル値およびSINの場所を得るため
変位が加算され得る手順オブジェクト608におけるあ
る場所を規定する。 −SDPは、他の手順オブジェクト608および静的デ
ータに含まれた手順602に対する静的データおよび連
係ポインタの場所を得るため変位の加算が可能な手順6
02の呼出しのためある静的データ・ブロックにおける
ある場所を規定する。 −FPは、アーギュメントに対する局所データおよび連
係ポインタの場所を得るため変位が加算できる手順60
2のその時の呼出しに帰属するMASフレームにおける
ある場所を規定する。
5,図306) もしベースが名前ならば、NTE30401に帰属する
名前フラッグ30413はセットされず、ベース・フィ
ールド30425はCS10110の3つのABPの内
の1つを規定する。即ち、 −PBPは、リテラル値およびSINの場所を得るため
変位が加算され得る手順オブジェクト608におけるあ
る場所を規定する。 −SDPは、他の手順オブジェクト608および静的デ
ータに含まれた手順602に対する静的データおよび連
係ポインタの場所を得るため変位の加算が可能な手順6
02の呼出しのためある静的データ・ブロックにおける
ある場所を規定する。 −FPは、アーギュメントに対する局所データおよび連
係ポインタの場所を得るため変位が加算できる手順60
2のその時の呼出しに帰属するMASフレームにおける
ある場所を規定する。
【1087】プロセス610が手順602を呼出す毎
に、呼出しマイクロコードはSS10336におけるA
BPのその時の値を保管し、新たな呼出しに対するAB
Pの値を計算し、その結果の論理記述子27116をF
U10120のレジスタに配し、ここでこれらの記述子
は名前空間マイクロコードに対してアクセス可能とな
る。
に、呼出しマイクロコードはSS10336におけるA
BPのその時の値を保管し、新たな呼出しに対するAB
Pの値を計算し、その結果の論理記述子27116をF
U10120のレジスタに配し、ここでこれらの記述子
は名前空間マイクロコードに対してアクセス可能とな
る。
【1088】呼出しマイクロコードは下記の如くABP
を計算する。即ち、PBPは実行中のT手段602に帰
属するPED30303におけるPBPフィールド30
315から直接得られる。これを論理記述子27116
に構成するため必要な全てのことは、手順オブジェクト
608のUIDのためのAONの加算である。SDPは
SDPPフィールド30313に関するポインタ対記述
子の翻訳を実施することによって得られる。最後に、F
Pは呼出しのための新たなMAD502を形成する余し
マイクロコードの部分によって与えられる。呼出しの論
議において詳細に選択するように、この呼出しマイクロ
コードは連係ポインタをMAS502に対する呼出しの
実際のアーギュメントにコピーし、FPを最後の実際の
アーギュメントに続く場所に対するポインタにセット
し、次いで呼出しの局所データに対する記憶域を割当て
る。このようにFPからの確実な変位は局所データにお
ける場所を指定するが、負のオフセットは連係ポインタ
を指定する。
を計算する。即ち、PBPは実行中のT手段602に帰
属するPED30303におけるPBPフィールド30
315から直接得られる。これを論理記述子27116
に構成するため必要な全てのことは、手順オブジェクト
608のUIDのためのAONの加算である。SDPは
SDPPフィールド30313に関するポインタ対記述
子の翻訳を実施することによって得られる。最後に、F
Pは呼出しのための新たなMAD502を形成する余し
マイクロコードの部分によって与えられる。呼出しの論
議において詳細に選択するように、この呼出しマイクロ
コードは連係ポインタをMAS502に対する呼出しの
実際のアーギュメントにコピーし、FPを最後の実際の
アーギュメントに続く場所に対するポインタにセット
し、次いで呼出しの局所データに対する記憶域を割当て
る。このようにFPからの確実な変位は局所データにお
ける場所を指定するが、負のオフセットは連係ポインタ
を指定する。
【1089】a.a.名前の解明および評価(図30
5) 名前空間により実施される主な操作は名前の解明および
名前の評価である。名前空間が名前のNTE30401
に含まれるABPおよび情報を使用してこの名前に対す
る論理記述子27116を形成する時名前が解明され、
名前空間が名前を解明し、名前に対して得られる論理記
述子27116をメモリーに対して与えかつメモリーか
ら名前により表わされたデータの数値を得た時名前が評
価される。
5) 名前空間により実施される主な操作は名前の解明および
名前の評価である。名前空間が名前のNTE30401
に含まれるABPおよび情報を使用してこの名前に対す
る論理記述子27116を形成する時名前が解明され、
名前空間が名前を解明し、名前に対して得られる論理記
述子27116をメモリーに対して与えかつメモリーか
ら名前により表わされたデータの数値を得た時名前が評
価される。
【1090】この解明操作は如何なる順序でも実施可能
な3つの部分を有する。即ち、 −名前のNTE30401のベース・フィールド304
25からベースを得、 −変位を行ない、 −長さフィールド30435から長さを得る。
な3つの部分を有する。即ち、 −名前のNTE30401のベース・フィールド304
25からベースを得、 −変位を行ない、 −長さフィールド30435から長さを得る。
【1091】長さを得ることは操作の最も簡単な部分で
あり、もし名前フラッグ30411における長さがセッ
トされるならば、この長さは長さフィールド30435
に含まれる名前の評価によって得られる数値であり、さ
もなくば、長さフィールド30435はリテラル値を含
み、また長さはこのリテラル値である。
あり、もし名前フラッグ30411における長さがセッ
トされるならば、この長さは長さフィールド30435
に含まれる名前の評価によって得られる数値であり、さ
もなくば、長さフィールド30435はリテラル値を含
み、また長さはこのリテラル値である。
【1092】ベースが計算可能な4つの方法がある。そ
のどれを使用するかは名前フラッグ30413およびベ
ース間接フラッグ30415におけるベースのセッティ
ングに依存する。即ち、 −両方のフラッグが0:ABPフィールドにおいて規定
されたABPがベースである。 −ベースは名前フラッグ30413が0およびベース間
接フラッグ30415が1であり、このベースはABP
フィールド30429およびポインタ位置指定フィール
ド30431によって指定されるポインタに含まれた場
所である。 −ベースは名前フラッグ30413が1およびベース間
接フラッグ30415が0であり、このベースはベース
・フィールド30425における名前を解明することに
よって得られる場所である。 −両方のフラッグ1:ベースはベース・フィールド30
425における名前の評価によって得られる場所であ
る。
のどれを使用するかは名前フラッグ30413およびベ
ース間接フラッグ30415におけるベースのセッティ
ングに依存する。即ち、 −両方のフラッグが0:ABPフィールドにおいて規定
されたABPがベースである。 −ベースは名前フラッグ30413が0およびベース間
接フラッグ30415が1であり、このベースはABP
フィールド30429およびポインタ位置指定フィール
ド30431によって指定されるポインタに含まれた場
所である。 −ベースは名前フラッグ30413が1およびベース間
接フラッグ30415が0であり、このベースはベース
・フィールド30425における名前を解明することに
よって得られる場所である。 −両方のフラッグ1:ベースはベース・フィールド30
425における名前の評価によって得られる場所であ
る。
【1093】名前空間が変位する計算方法は、NTE3
0401がスケーラ・データ項目またはアレイデータ項
目のいずれを表わすかに依存する。第1の場合、名前空
間はベースに対して得られた場所に対して変位フィール
ド30437および変位拡張フィールド30439に含
まれる数値を加算し、第2の場合は、名前空間は指標名
前フィールド30441およびIESフィールド304
45を評価してその結果の数値を一緒に乗算し、その積
を変位フィールド30437における数値に加算して前
記変位を得る。
0401がスケーラ・データ項目またはアレイデータ項
目のいずれを表わすかに依存する。第1の場合、名前空
間はベースに対して得られた場所に対して変位フィール
ド30437および変位拡張フィールド30439に含
まれる数値を加算し、第2の場合は、名前空間は指標名
前フィールド30441およびIESフィールド304
45を評価してその結果の数値を一緒に乗算し、その積
を変位フィールド30437における数値に加算して前
記変位を得る。
【1094】もしNTE30401のどれかのフィール
ドがある名前を含むならば、名前空間は、必要に応じて
これに対して解明または評価の操作を実施することによ
って、名前により表わされる値または場所を得る。NT
E30401の説明において述べたように、フラッグ・
フィールド30408におけるフラッグがNTE304
01のどのフィールドが名前を含むか表示する。別のN
TE30401において使用された名前に対するNTE
30401がそれ自体名前を含むため、名前空間は反復
的に解明および評価操作を実施する。
ドがある名前を含むならば、名前空間は、必要に応じて
これに対して解明または評価の操作を実施することによ
って、名前により表わされる値または場所を得る。NT
E30401の説明において述べたように、フラッグ・
フィールド30408におけるフラッグがNTE304
01のどのフィールドが名前を含むか表示する。別のN
TE30401において使用された名前に対するNTE
30401がそれ自体名前を含むため、名前空間は反復
的に解明および評価操作を実施する。
【1095】b.b.CS10110における名前評価
および名前解明操作の構成 本実施例においては、名前の評価および解明操作はFU
10120のマイクロコードの評価よび解明指令によっ
て実施される。双方の指令は2つの情報を要求する。即
ち、操作により形成される論理記述子27116を受取
るためのGRF10354のSR10362のその時の
フレームにおけるレジスタと、解明または評価されるべ
き名前のソースである。解明および評価の双方は3つの
ソース間を選択することができる。即ち、パーサ202
64と、NT20254と、OFFALU20242の
出力レジスタの下位の16ビットである。解明は論理記
述子27116に対するその時のフレーム・レジスタ
0,1または2を指定し、評価はその時のフレーム・レ
ジスタ0または1を指定する。前記の解明操作の終り
に、名前により表わされるデータに対する論理記述子2
7116は指定されるSR10362に存在し、評価操
作の終りにおいて論理記述子27116がSR1036
2に存在し、データの値はJP10114を介してEU
10122のOP20322に対して転送される。
および名前解明操作の構成 本実施例においては、名前の評価および解明操作はFU
10120のマイクロコードの評価よび解明指令によっ
て実施される。双方の指令は2つの情報を要求する。即
ち、操作により形成される論理記述子27116を受取
るためのGRF10354のSR10362のその時の
フレームにおけるレジスタと、解明または評価されるべ
き名前のソースである。解明および評価の双方は3つの
ソース間を選択することができる。即ち、パーサ202
64と、NT20254と、OFFALU20242の
出力レジスタの下位の16ビットである。解明は論理記
述子27116に対するその時のフレーム・レジスタ
0,1または2を指定し、評価はその時のフレーム・レ
ジスタ0または1を指定する。前記の解明操作の終り
に、名前により表わされるデータに対する論理記述子2
7116は指定されるSR10362に存在し、評価操
作の終りにおいて論理記述子27116がSR1036
2に存在し、データの値はJP10114を介してEU
10122のOP20322に対して転送される。
【1096】解明および評価の双方の指令の実行は、常
に名前のNC10226に対する提示で開始する。NC
10226に対して提示された名前はNT20254に
対してラッチされ、ここでこれは名前解明マイクロコー
ドにより後で使用されるため使用可能である。
に名前のNC10226に対する提示で開始する。NC
10226に対して提示された名前はNT20254に
対してラッチされ、ここでこれは名前解明マイクロコー
ドにより後で使用されるため使用可能である。
【1097】もしNC10226における名前に対する
エントリが存在するならば、名前カッシェのヒットが生
じる。3つの条件を満たすNTE30401を含む名前
の場合は、名前に対するNC10226のエントリは名
前により表わされるデータ項目に対する論理記述子27
116である。これらの条件は下記の如くである。即
ち、 −NTE30401は名前を含まない。 −NTE30401の長さフィールドは256ビット以
下の長さを規定する。 −もしベースがセットされたベース間接フラッグ304
15であるならば、ポインタ位置指定フィールド304
31はこのベースが連係ポインタであることを示す負の
値を持たねばならない。
エントリが存在するならば、名前カッシェのヒットが生
じる。3つの条件を満たすNTE30401を含む名前
の場合は、名前に対するNC10226のエントリは名
前により表わされるデータ項目に対する論理記述子27
116である。これらの条件は下記の如くである。即
ち、 −NTE30401は名前を含まない。 −NTE30401の長さフィールドは256ビット以
下の長さを規定する。 −もしベースがセットされたベース間接フラッグ304
15であるならば、ポインタ位置指定フィールド304
31はこのベースが連係ポインタであることを示す負の
値を持たねばならない。
【1098】名前により表わされるデータの場所も長さ
もこの名前が帰属する手順602の呼出しの持続期間中
変更できないため、この場合論理記述子27116が捕
捉することができる。もし名前に対するNC10226
のエントリが論理記述子27116であれば、ヒットは
NC10226をして論理記述子27116を指定され
たSR10362のレジスタに配させる。他の全ての場
所においては、名前に対するNC10226のエントリ
は論理記述子27116を含まず、またヒットはNC1
0226にJAM信号を発射させる。このJAM信号
は、名前により表わされるデータ項目に対する論理記述
子27116を構成するため、NC10226に記憶さ
れた情報を使用するマイクロコードを生じる。JAMに
ついては以下において詳細に説明する。
もこの名前が帰属する手順602の呼出しの持続期間中
変更できないため、この場合論理記述子27116が捕
捉することができる。もし名前に対するNC10226
のエントリが論理記述子27116であれば、ヒットは
NC10226をして論理記述子27116を指定され
たSR10362のレジスタに配させる。他の全ての場
所においては、名前に対するNC10226のエントリ
は論理記述子27116を含まず、またヒットはNC1
0226にJAM信号を発射させる。このJAM信号
は、名前により表わされるデータ項目に対する論理記述
子27116を構成するため、NC10226に記憶さ
れた情報を使用するマイクロコードを生じる。JAMに
ついては以下において詳細に説明する。
【1099】もしNC10226における名前に対する
エントリは存在しなければ、名前カッシェのミスが生
じ、NC10226はカッシェ・ミスJAM信号を送出
する。このカッシェ・ミスのJAM信号により生じる名
前解明マイクロルーチンは、必要な計算の実施のためF
U10120のDESP20210を用いて、NTE3
0401からのNC10226におけるエントリを構成
する。これが完了する時、カッシェ・ミスのマイクロコ
ードは指定されたSR10362のレジスタにおける名
前を求めて論理記述子27116から出て戻る。
エントリは存在しなければ、名前カッシェのミスが生
じ、NC10226はカッシェ・ミスJAM信号を送出
する。このカッシェ・ミスのJAM信号により生じる名
前解明マイクロルーチンは、必要な計算の実施のためF
U10120のDESP20210を用いて、NTE3
0401からのNC10226におけるエントリを構成
する。これが完了する時、カッシェ・ミスのマイクロコ
ードは指定されたSR10362のレジスタにおける名
前を求めて論理記述子27116から出て戻る。
【1100】論理記述子27116が指定されたGRF
10354のレジスタに置かれた時解明操作は終了し、
評価操作はメモリー照合装置27017に対して論理記
述子27116を提供することによって継続し、この装
置はメモリーから論理記述子27116により表わされ
るデータを読出してこれをOPB20322に置く。メ
モリー照合は、機密保護障害およびベース誤りと同様に
PC10234のミスおよびAT10228のミスを惹
起する結果となるおそれがあるが、これらは事象信号に
よって処理され、従って評価操作からは認識できない。
NC10226は15の異なるJAM信号を生じる。J
AMにより生じた信号は下記の事柄に依存する。即ち、
操作が解明および評価のいずれであるか、どのレジスタ
に論理記述子27116が配されるか、ミスが生じたか
どうか、ヒットの場合には名前に対するNC10226
のエントリにおいてどのレジスタが最後にロードされた
かに依存する。JAMにより惹起されたマイクロコード
の挙動の観点から、最後の2つの要因が最も重要であ
る。それらのマイクロコードに対する関係については以
下に詳細に説明する。
10354のレジスタに置かれた時解明操作は終了し、
評価操作はメモリー照合装置27017に対して論理記
述子27116を提供することによって継続し、この装
置はメモリーから論理記述子27116により表わされ
るデータを読出してこれをOPB20322に置く。メ
モリー照合は、機密保護障害およびベース誤りと同様に
PC10234のミスおよびAT10228のミスを惹
起する結果となるおそれがあるが、これらは事象信号に
よって処理され、従って評価操作からは認識できない。
NC10226は15の異なるJAM信号を生じる。J
AMにより生じた信号は下記の事柄に依存する。即ち、
操作が解明および評価のいずれであるか、どのレジスタ
に論理記述子27116が配されるか、ミスが生じたか
どうか、ヒットの場合には名前に対するNC10226
のエントリにおいてどのレジスタが最後にロードされた
かに依存する。JAMにより惹起されたマイクロコード
の挙動の観点から、最後の2つの要因が最も重要であ
る。それらのマイクロコードに対する関係については以
下に詳細に説明する。
【1101】本実施例においては、NC10226にお
ける全てのエントリは、1つの手順602が別の手順6
02を呼出す時無効となる。呼出しが常にFPの値を変
更しまたSDPおよびPBPの値を変更するおそれがあ
り、これによりABPからの変位を用いてNTE304
01の意義を変化させるため、前述の無効化が必要とな
る。名前が評価あるいは解明されてカッシェ・ミスが生
じる時、呼出された手順602における名前に対するエ
ントリが形成されNC10226に対してロードされ
る。
ける全てのエントリは、1つの手順602が別の手順6
02を呼出す時無効となる。呼出しが常にFPの値を変
更しまたSDPおよびPBPの値を変更するおそれがあ
り、これによりABPからの変位を用いてNTE304
01の意義を変化させるため、前述の無効化が必要とな
る。名前が評価あるいは解明されてカッシェ・ミスが生
じる時、呼出された手順602における名前に対するエ
ントリが形成されNC10226に対してロードされ
る。
【1102】以下の議論は最初に、NC10226がマ
イクロプログラムに対して現われるためこのNC102
26について説明し、次いで詳細に如何にしてNC10
226が名前の解明および評価のため使用され、如何に
してこのNC10226がロードされ、また如何にして
これがフラッシュされるかを詳細に説明する。
イクロプログラムに対して現われるためこのNC102
26について説明し、次いで詳細に如何にしてNC10
226が名前の解明および評価のため使用され、如何に
してこのNC10226がロードされ、また如何にして
これがフラッシュされるかを詳細に説明する。
【1103】c.c.NC10226のエントリ(図3
06) NC10226の構造および物理的挙動についてはFU
10120のハードウェアの論議において説明したが、
本項においては、NC10226のエントリがマイクロ
プログラマに対して現われるため、その論理的構造につ
いて説明する。マイクロプログラマにとっては、NC1
0226が、名前バス20224における名前を提供す
る時、常にマイクロプログラマに4つのレジスタからな
る名前に対するNC10226のエントリを与える素子
として見える。マイクロプログラマはこの4つのレジス
タの内のどれかから読出しあるいはこれに対して書込み
を行なう時、この4つのレジスタと関連する名前に関し
てヒットが生じる場合、NC10226によって行なわ
れる動作はこのレジスタのどれが最も後でロードされた
かに依存する。NC10226が名前を4つのレジスタ
と関連させる手段、およびNC10226が充填状態で
ある時これがレジスタに与える手段はマイクロプログラ
マにとっては認識できない。
06) NC10226の構造および物理的挙動についてはFU
10120のハードウェアの論議において説明したが、
本項においては、NC10226のエントリがマイクロ
プログラマに対して現われるため、その論理的構造につ
いて説明する。マイクロプログラマにとっては、NC1
0226が、名前バス20224における名前を提供す
る時、常にマイクロプログラマに4つのレジスタからな
る名前に対するNC10226のエントリを与える素子
として見える。マイクロプログラマはこの4つのレジス
タの内のどれかから読出しあるいはこれに対して書込み
を行なう時、この4つのレジスタと関連する名前に関し
てヒットが生じる場合、NC10226によって行なわ
れる動作はこのレジスタのどれが最も後でロードされた
かに依存する。NC10226が名前を4つのレジスタ
と関連させる手段、およびNC10226が充填状態で
ある時これがレジスタに与える手段はマイクロプログラ
マにとっては認識できない。
【1104】図306は1つの名前に対する名前のカッ
シェ・エントリ30601を示している。名前カッシェ
・エントリ30601における4つのレジスタ3060
2は0から3までの番号が付され、各レジスタ3060
2は、GRF10354のレジスタのAONフィールド
におけるいくつかのフラッグ・ビットがレジスタ306
02には含まれないこと、またレジスタ30602にお
ける長さフィールドが8ビットの長さであることを除い
て、GRF10354のレジスタの場合と同様にAO
N、オフセットおよび長さフィールドを有する。GRF
10354のレジスタの場合におけるように、マイクロ
プログラマはレジスタ30602の個々のフィールドま
たはレジスタ30602全体の読出しまたは書込みが可
能である。名前カッシェ・エントリ30601はDB2
7021を介してDESP20210に対して接続さ
れ、その結果GRF10354のレジスタの内容はレジ
スタ30602に関して転入出でき、あるいはその逆も
可能である。レジスタ30602の内容がGRF103
54のレジスタに対して転送された時、この内容はOF
FALU20242およびDESP20210における
他の演算論理装置を用いて処理することができる。
シェ・エントリ30601を示している。名前カッシェ
・エントリ30601における4つのレジスタ3060
2は0から3までの番号が付され、各レジスタ3060
2は、GRF10354のレジスタのAONフィールド
におけるいくつかのフラッグ・ビットがレジスタ306
02には含まれないこと、またレジスタ30602にお
ける長さフィールドが8ビットの長さであることを除い
て、GRF10354のレジスタの場合と同様にAO
N、オフセットおよび長さフィールドを有する。GRF
10354のレジスタの場合におけるように、マイクロ
プログラマはレジスタ30602の個々のフィールドま
たはレジスタ30602全体の読出しまたは書込みが可
能である。名前カッシェ・エントリ30601はDB2
7021を介してDESP20210に対して接続さ
れ、その結果GRF10354のレジスタの内容はレジ
スタ30602に関して転入出でき、あるいはその逆も
可能である。レジスタ30602の内容がGRF103
54のレジスタに対して転送された時、この内容はOF
FALU20242およびDESP20210における
他の演算論理装置を用いて処理することができる。
【1105】d.d.NC10226のヒット 名前がNC10226に対して与えられNC10226
が名前についての情報を含む名前カッシェ・エントリ3
0601を有する時、名前カッシェのヒットが生じる。
ヒットと同時に、NC10226のハードウェアは常に
名前カッシェ・エントリ30601のレジスタ3060
2の0の内容を解明または評価マイクロ指令に指定され
たGRF10354のレジスタにロードする。更に、ヒ
ットはJAMを介してマイクロコードの呼出しを惹起す
ることができる。即ち、 −JAMは、そのNTE30401が指標計算のあるハ
ードウェア加速を可能にするアレイ素子の名前の解明の
ための特殊なマイクロコードを生じ得る。 −JAMは、名前カッシェ・エントリ30601の内容
から論理記述子27116を生じる汎用名前解明マイク
ロコードを生じることができる。
が名前についての情報を含む名前カッシェ・エントリ3
0601を有する時、名前カッシェのヒットが生じる。
ヒットと同時に、NC10226のハードウェアは常に
名前カッシェ・エントリ30601のレジスタ3060
2の0の内容を解明または評価マイクロ指令に指定され
たGRF10354のレジスタにロードする。更に、ヒ
ットはJAMを介してマイクロコードの呼出しを惹起す
ることができる。即ち、 −JAMは、そのNTE30401が指標計算のあるハ
ードウェア加速を可能にするアレイ素子の名前の解明の
ための特殊なマイクロコードを生じ得る。 −JAMは、名前カッシェ・エントリ30601の内容
から論理記述子27116を生じる汎用名前解明マイク
ロコードを生じることができる。
【1106】ヒットがJAMを生じるかどうか、またこ
れが生じるJAMの種類は、名前カッシェ・エントリ3
0601が名前カッシェのミス・マイクロコードにより
生成された時、最後のレジスタ30602によってロー
ドされるよう決定される。もしレジスタ30602の0
が最後にロードされるものであるならば、JAMは生じ
ず、もしレジスタ30602の1が最後にロードされた
ならば、特殊なアレイの名前解明に対するJAMが生
じ、もしレジスタ30602の2または3が最後にロー
ドされたならば、一般的な名前解明に対するJAMが生
じる。
れが生じるJAMの種類は、名前カッシェ・エントリ3
0601が名前カッシェのミス・マイクロコードにより
生成された時、最後のレジスタ30602によってロー
ドされるよう決定される。もしレジスタ30602の0
が最後にロードされるものであるならば、JAMは生じ
ず、もしレジスタ30602の1が最後にロードされた
ならば、特殊なアレイの名前解明に対するJAMが生
じ、もしレジスタ30602の2または3が最後にロー
ドされたならば、一般的な名前解明に対するJAMが生
じる。
【1107】前述のことから推論できるように、NC1
0226のハードウェアは、名前カッシェ・エントリ3
0601が最初の2つの場合に対してロードされる方法
を規定する。最初の場合においては、レジスタ3060
2の0は名前のデータに対する論理記述子27116の
保有せねばならない。既に述べたように、名前のNTE
30401は従ってその場所および長さが呼出しの間は
変化せずまたその長さが256ビット以下であるデータ
について記述せねばならない。NC10226のハード
ウェアはまた、捕捉可能なアレイに対する名前カッシェ
・エントリ30601の形態を決定する。捕捉可能なア
レイのNTE30401は、以下の条件を満たすアレイ
のNTE30401である。即ち、 −アレイのNTE30401に含まれる唯一の名前は指
標名前フィールド30441に存在する。 −指標名前に対するNTE30401は、それについて
論理記述子27116が捕捉可能であるNTE3040
1に対する諸条件を満たす。 −IESフィールド30445における値は128ビッ
ト以上ではなく2の累乗である。 −さもなければ、NTE30401は、それについて論
理記述子27116が捕捉可能であるNTE30401
に対する諸条件を満たす。
0226のハードウェアは、名前カッシェ・エントリ3
0601が最初の2つの場合に対してロードされる方法
を規定する。最初の場合においては、レジスタ3060
2の0は名前のデータに対する論理記述子27116の
保有せねばならない。既に述べたように、名前のNTE
30401は従ってその場所および長さが呼出しの間は
変化せずまたその長さが256ビット以下であるデータ
について記述せねばならない。NC10226のハード
ウェアはまた、捕捉可能なアレイに対する名前カッシェ
・エントリ30601の形態を決定する。捕捉可能なア
レイのNTE30401は、以下の条件を満たすアレイ
のNTE30401である。即ち、 −アレイのNTE30401に含まれる唯一の名前は指
標名前フィールド30441に存在する。 −指標名前に対するNTE30401は、それについて
論理記述子27116が捕捉可能であるNTE3040
1に対する諸条件を満たす。 −IESフィールド30445における値は128ビッ
ト以上ではなく2の累乗である。 −さもなければ、NTE30401は、それについて論
理記述子27116が捕捉可能であるNTE30401
に対する諸条件を満たす。
【1108】本実施例においては、捕捉可能なアレイの
エントリは、下記の名前に対する名前カッシェ・エント
リ30601のレジスタ0,1および2を使用する。即
ち、 レジスタ 内 容 AON オフセット 長さ 0 指標名前に対する論理記述子27116 1 0 2のIES累乗 未使用 2 アレイに対する論理記述子27116 この形式のエントリに対するヒットが生じる時、その結
果のJAM信号は2つの事柄をなす。即ち、これは捕捉
可能なアレイ解明マイクロコードを生じ、またこれは指
標名前によりOFFALU20242におけるアキュム
レータ装置に対して提示されるデータの値を戻す読出し
操作のためメモリー照合装置27017に対して論理記
述子27116を提供させる。次に捕捉可能なアレイ解
明マイクロコードは、NT20254に対してラッチさ
れたJAMを名前に対する名前カッシェ・エントリ30
601のレジスタ30602の2を見出させた名前を使
用し、レジスタ30602の内容を解明または評価マイ
クロ指令により指定されたGRFレジスタに書込み、レ
ジスタ30602におけるIES指数により指定された
回数を残した指数値を変更することによってIES値お
よび指数値の積を得、その結果をアレイの論理記述子2
7116を含むGRF10354のレジスタのオフセッ
ト・フィールドに加算し、これにより所用のアレイ素子
に対する論理記述子27116を得て戻る。
エントリは、下記の名前に対する名前カッシェ・エント
リ30601のレジスタ0,1および2を使用する。即
ち、 レジスタ 内 容 AON オフセット 長さ 0 指標名前に対する論理記述子27116 1 0 2のIES累乗 未使用 2 アレイに対する論理記述子27116 この形式のエントリに対するヒットが生じる時、その結
果のJAM信号は2つの事柄をなす。即ち、これは捕捉
可能なアレイ解明マイクロコードを生じ、またこれは指
標名前によりOFFALU20242におけるアキュム
レータ装置に対して提示されるデータの値を戻す読出し
操作のためメモリー照合装置27017に対して論理記
述子27116を提供させる。次に捕捉可能なアレイ解
明マイクロコードは、NT20254に対してラッチさ
れたJAMを名前に対する名前カッシェ・エントリ30
601のレジスタ30602の2を見出させた名前を使
用し、レジスタ30602の内容を解明または評価マイ
クロ指令により指定されたGRFレジスタに書込み、レ
ジスタ30602におけるIES指数により指定された
回数を残した指数値を変更することによってIES値お
よび指数値の積を得、その結果をアレイの論理記述子2
7116を含むGRF10354のレジスタのオフセッ
ト・フィールドに加算し、これにより所用のアレイ素子
に対する論理記述子27116を得て戻る。
【1109】他の場合には、名前カッシェ・エントリ3
0601がロードされて論理記述子27116を得るた
め処理される方法はマイクロプログラマによって決定さ
れる。もし名前カッシェ・エントリ30601が論理記
述子27116でもまた捕捉可能なアレイ・エントリで
もなければ生じるJAM信号は1つのマイクロルーチン
を生じる。このマイクロルーチンはNT20254に対
してラッチされた名前を使用して名前の名前カッシェ・
エントリ30601を見出し、次いで名前カッシェ・エ
ントリ30601におけるタッグ値を読出して、名前カ
ッシェ・エントリ30601における情報が如何にして
論理記述子27116に翻訳されるかを判定する。他の
場合に対する名前カッシェ・エントリ30601の内容
は2つの一般的な形態を有する。即ち、1つはベースを
有するNTE30401に対するものがセットされたベ
ース間接フラッグ30415である場合、また他はセッ
トされない場合のNTEに対するものである。最初の一
般的な形態は次のように見える。即ち、 レジスタ 内 容 AON オフセット 長さ 0 ABP AON タッグ/長さ 未使用 1 0 指標名前/IES 未使用 2 0 未使用 未使用 3 0 ポインタ指定の場所 未使用 からのデータ変位 レジスタ30602の0はABPのAONを含む。レジ
スタ30602の0のオフセット・フィールドは2つの
項目、即ち他の情報と共にNTE30401のフラッグ
・フィールド30408を含み、かつ如何にして名前解
明マイクロコードが名前カッシェ・エントリ30601
の内容を翻訳するかを判定するタッグと、データ項目の
長さに対する値即ち名前である。レジスタ30602の
1は、名前がアレイにおけるデータ項目を表わしさえす
れば使用される。従って、これは指標名前フィールド3
0441からの名前とIESフィールド30445から
の名前即ち値を含んでいる。レジスタ30602の3の
オフセット・フィールドは、NTE30401により示
されるオフセットとNTE30401によって示される
変位の和を含んでいる。
0601がロードされて論理記述子27116を得るた
め処理される方法はマイクロプログラマによって決定さ
れる。もし名前カッシェ・エントリ30601が論理記
述子27116でもまた捕捉可能なアレイ・エントリで
もなければ生じるJAM信号は1つのマイクロルーチン
を生じる。このマイクロルーチンはNT20254に対
してラッチされた名前を使用して名前の名前カッシェ・
エントリ30601を見出し、次いで名前カッシェ・エ
ントリ30601におけるタッグ値を読出して、名前カ
ッシェ・エントリ30601における情報が如何にして
論理記述子27116に翻訳されるかを判定する。他の
場合に対する名前カッシェ・エントリ30601の内容
は2つの一般的な形態を有する。即ち、1つはベースを
有するNTE30401に対するものがセットされたベ
ース間接フラッグ30415である場合、また他はセッ
トされない場合のNTEに対するものである。最初の一
般的な形態は次のように見える。即ち、 レジスタ 内 容 AON オフセット 長さ 0 ABP AON タッグ/長さ 未使用 1 0 指標名前/IES 未使用 2 0 未使用 未使用 3 0 ポインタ指定の場所 未使用 からのデータ変位 レジスタ30602の0はABPのAONを含む。レジ
スタ30602の0のオフセット・フィールドは2つの
項目、即ち他の情報と共にNTE30401のフラッグ
・フィールド30408を含み、かつ如何にして名前解
明マイクロコードが名前カッシェ・エントリ30601
の内容を翻訳するかを判定するタッグと、データ項目の
長さに対する値即ち名前である。レジスタ30602の
1は、名前がアレイにおけるデータ項目を表わしさえす
れば使用される。従って、これは指標名前フィールド3
0441からの名前とIESフィールド30445から
の名前即ち値を含んでいる。レジスタ30602の3の
オフセット・フィールドは、NTE30401により示
されるオフセットとNTE30401によって示される
変位の和を含んでいる。
【1110】そのベースがポインタから、あるいは名前
の解明から得られるNTE30401に対して使用され
る第2のフォーマットは次のように見える。即ち、 レジスタ 内 容 AON オフセット 長さ 0 0 タッグ/長さ 未使用 1 0 指標名前/IES 未使用 2 0 FMおよびタイプ・ビット 未使用 /ベース・フィールド 3 0 ポインタまたは名前指定の 未使用 場所からのデータ変位 この形態においては、ベースの場所はポインタの評価ま
たは名前の解明のいずれかによって得られねばならな
い。従って、ベースのAONを規定するフィールドは存
在しない。さもなければ、レジスタ30602の0およ
び1は前のフォーマットにおけると同じ内容を有する。
レジスタ30602の2においては、オフセット・フィ
ールドはNTE30401のFMフィールド30421
と、タイプ・フィールド30423とベース・フィール
ド30425を含む。レジスタ30602の2のオフセ
ット・フィールドは、NTE30401の変位フィール
ド30437と変位拡張フィールド30439の値を含
んでいる。
の解明から得られるNTE30401に対して使用され
る第2のフォーマットは次のように見える。即ち、 レジスタ 内 容 AON オフセット 長さ 0 0 タッグ/長さ 未使用 1 0 指標名前/IES 未使用 2 0 FMおよびタイプ・ビット 未使用 /ベース・フィールド 3 0 ポインタまたは名前指定の 未使用 場所からのデータ変位 この形態においては、ベースの場所はポインタの評価ま
たは名前の解明のいずれかによって得られねばならな
い。従って、ベースのAONを規定するフィールドは存
在しない。さもなければ、レジスタ30602の0およ
び1は前のフォーマットにおけると同じ内容を有する。
レジスタ30602の2においては、オフセット・フィ
ールドはNTE30401のFMフィールド30421
と、タイプ・フィールド30423とベース・フィール
ド30425を含む。レジスタ30602の2のオフセ
ット・フィールドは、NTE30401の変位フィール
ド30437と変位拡張フィールド30439の値を含
んでいる。
【1111】NTE30401におけるように、指標は
名前によって表わされ、また長さ、IESおよびベース
は名前により表わすことができる。もし名前カッシェ・
エントリ30601のあるフィールドが1つの名前を含
むならば、タッグにおけるあるフラッグはこの事実を表
わし、また名前解明マイクロコードは必要に応じて名前
により表わされる値または場所を得るためこれについて
の評価または解明操作を実施する。
名前によって表わされ、また長さ、IESおよびベース
は名前により表わすことができる。もし名前カッシェ・
エントリ30601のあるフィールドが1つの名前を含
むならば、タッグにおけるあるフラッグはこの事実を表
わし、また名前解明マイクロコードは必要に応じて名前
により表わされる値または場所を得るためこれについて
の評価または解明操作を実施する。
【1112】今述べた許りのタイプの名前のカッシェ・
エントリ30601を解明するマイクロコードはNTE
30401の論議において述べた一般的なアルゴリズム
を用いるため、本文においてこれ以上論述しない。
エントリ30601を解明するマイクロコードはNTE
30401の論議において述べた一般的なアルゴリズム
を用いるため、本文においてこれ以上論述しない。
【1113】e.e.名前カッシェ10226のミス 名前が名前カッシェ10226に対して与えられかつこ
の名前に対しては名前カッシェ・エントリ30601が
存在しない時、名前カッシェ・ミスが生じる。ミスの発
生と同時に、名前カッシェ10226のハードウェアは
名前カッシェ・ミスのマイクロコードを生じるJAM信
号を送出する。このマイクロコードは、NT20254
からのミスの原因となった名前を得、この名前を実行中
の手順602に対するPED30303からのNTPフ
ィールド30311の値に加算することによってこの名
前のNTE30401を見出す。以下において詳細に述
べるように、手順602が呼出されるとこの呼出しマイ
クロコードはGR10360においてあるレジスタのN
TPの場所を規定するAONおよびオフセットを置く。
名前のNTE30401に含まれる情報を用いて、カッ
シェ・ミス・マイクロコードは名前を解明し、これに対
する名前カッシェ・エントリ30601を構成する。前
述の如く、このマイクロコードは、NTE30401に
おけるフラッグ・フィールド30408の読出しによっ
て名前および名前のカッシェ・エントリ30601の形
態を解明する方法を判定する。解明操作、マイクロ機
械、名前カッシェ10226および名前カッシェ・エン
トリ30601のフォーマットの説明は、当業者にとっ
てはカッシェ・ミス・マイクロコードにより実施される
諸操作を理解するには十分であるため、マイクロコード
のこれ以上の説明は行なわない。
の名前に対しては名前カッシェ・エントリ30601が
存在しない時、名前カッシェ・ミスが生じる。ミスの発
生と同時に、名前カッシェ10226のハードウェアは
名前カッシェ・ミスのマイクロコードを生じるJAM信
号を送出する。このマイクロコードは、NT20254
からのミスの原因となった名前を得、この名前を実行中
の手順602に対するPED30303からのNTPフ
ィールド30311の値に加算することによってこの名
前のNTE30401を見出す。以下において詳細に述
べるように、手順602が呼出されるとこの呼出しマイ
クロコードはGR10360においてあるレジスタのN
TPの場所を規定するAONおよびオフセットを置く。
名前のNTE30401に含まれる情報を用いて、カッ
シェ・ミス・マイクロコードは名前を解明し、これに対
する名前カッシェ・エントリ30601を構成する。前
述の如く、このマイクロコードは、NTE30401に
おけるフラッグ・フィールド30408の読出しによっ
て名前および名前のカッシェ・エントリ30601の形
態を解明する方法を判定する。解明操作、マイクロ機
械、名前カッシェ10226および名前カッシェ・エン
トリ30601のフォーマットの説明は、当業者にとっ
てはカッシェ・ミス・マイクロコードにより実施される
諸操作を理解するには十分であるため、マイクロコード
のこれ以上の説明は行なわない。
【1114】f.f.名前カッシェ10226のフラッ
シング 名前カッシェ10226のハードウェアの論議において
説明したように、名前カッシェ・エントリ30601の
無効化を可能にするハードウェア装置即ちVALS24
068が存在する。名前カッシェ・エントリ30601
は単独で無効化でき、あるいは名前カッシェ10226
における全てのエントリを単独のマイクロ指令によって
無効化することもできる。後者の操作は、名前カッシェ
・フラッシングと呼ばれる。本実施例においては、その
仮想プロセッサ612がJP10114に固定されるプ
ロセス610が呼出しまたは戻しを実行する時、また仮
想プロセッサ612がJP10114と固定されない時
は常に、名前カッシェ10226はフラッシュされねば
ならない。フラッシングは呼出しおよび戻しに関して要
求されるが、これは呼出しおよび戻しが名前の解明のた
め必要なABPその他のポインタの値を変更するためで
ある。最小限度に見ても、1つの呼出しは新たなMAS
フレーム10412を生じ、戻しは前のMASフレーム
10412に戻り、これによりFPの値を変更する。も
し呼出された手順602が呼出し中の手順602のそれ
とは異なるPED30303を有するならば呼出しまた
は戻しもまたPBP,SDPおよびNTPを変更し得
る。フラッシングは仮想プロセッサ612がJP101
14と固定されない時必要となるが、これには次にJP
10114と固定される仮想プロセッサ612が異なる
プロセス610と固定されるためであり、従って前の仮
想プロセッサ612と固定されたプロセス610に帰属
するどんな情報も使用できない。
シング 名前カッシェ10226のハードウェアの論議において
説明したように、名前カッシェ・エントリ30601の
無効化を可能にするハードウェア装置即ちVALS24
068が存在する。名前カッシェ・エントリ30601
は単独で無効化でき、あるいは名前カッシェ10226
における全てのエントリを単独のマイクロ指令によって
無効化することもできる。後者の操作は、名前カッシェ
・フラッシングと呼ばれる。本実施例においては、その
仮想プロセッサ612がJP10114に固定されるプ
ロセス610が呼出しまたは戻しを実行する時、また仮
想プロセッサ612がJP10114と固定されない時
は常に、名前カッシェ10226はフラッシュされねば
ならない。フラッシングは呼出しおよび戻しに関して要
求されるが、これは呼出しおよび戻しが名前の解明のた
め必要なABPその他のポインタの値を変更するためで
ある。最小限度に見ても、1つの呼出しは新たなMAS
フレーム10412を生じ、戻しは前のMASフレーム
10412に戻り、これによりFPの値を変更する。も
し呼出された手順602が呼出し中の手順602のそれ
とは異なるPED30303を有するならば呼出しまた
は戻しもまたPBP,SDPおよびNTPを変更し得
る。フラッシングは仮想プロセッサ612がJP101
14と固定されない時必要となるが、これには次にJP
10114と固定される仮想プロセッサ612が異なる
プロセス610と固定されるためであり、従って前の仮
想プロセッサ612と固定されたプロセス610に帰属
するどんな情報も使用できない。
【1115】g.g.命令ストリームの取出し FU10120のハードウェアの議論において説明した
ように、SINはPREF20260によってメモリー
から取出される。PREF20260は、その時実行中
である手順602に帰属するコード10344における
ある場所に対する論理記述子27116を含む。如何な
るM0サイクルにおいても、PREF20260は論理
記述子27116をDB27021に置くことができ、
メモリー照合装置27017をして論理記述子2711
6により指定された場所における32ビットを取出さ
せ、またこれらビットをINSTB20262に書込む
ことができる。INSTB20262が一杯の状態であ
る時、以下述べる名前空間分析操作がINSTB202
62の内容の一部を処理することにより別のSINに対
する空間を形成するまでは、PREF20260はSI
Nの取出しを停止する。
ように、SINはPREF20260によってメモリー
から取出される。PREF20260は、その時実行中
である手順602に帰属するコード10344における
ある場所に対する論理記述子27116を含む。如何な
るM0サイクルにおいても、PREF20260は論理
記述子27116をDB27021に置くことができ、
メモリー照合装置27017をして論理記述子2711
6により指定された場所における32ビットを取出さ
せ、またこれらビットをINSTB20262に書込む
ことができる。INSTB20262が一杯の状態であ
る時、以下述べる名前空間分析操作がINSTB202
62の内容の一部を処理することにより別のSINに対
する空間を形成するまでは、PREF20260はSI
Nの取出しを停止する。
【1116】この取出し操作は自動的であり、あるSI
Nが分岐を生じる、即ち次の実行すべきSINをその時
のSINの直後のもの以外のSINにさせる時にのみ、
名前空間からの介入を要求する。分岐と同時に、名前空
間はPREF20260に実行すべき次のSINの場所
をロードして、PREF20260にこの場所における
SINの取出しを開始させねばならない。これを行なう
操作は、分岐のためのロード先取りマイクロ命令により
規定される。このマイクロ指令は、論理記述子2711
6に対するソースを規定し、この論理記述子27116
をDB27021を介してPREF20260に対し転
送する。PREF20260がこのようにロードされた
後、これは指定された場所においてSINの取出しを開
始する。依然としてINSTB20262に存在するど
のSINも分岐操作によって無意義であると見做された
ため、INSTB20262にロードされる最初のSI
Nは単にINSTB20262の前の内容に重ね書きさ
れる。図274は、分岐のためのロード先取りマイクロ
指令の使用の事例を含む。
Nが分岐を生じる、即ち次の実行すべきSINをその時
のSINの直後のもの以外のSINにさせる時にのみ、
名前空間からの介入を要求する。分岐と同時に、名前空
間はPREF20260に実行すべき次のSINの場所
をロードして、PREF20260にこの場所における
SINの取出しを開始させねばならない。これを行なう
操作は、分岐のためのロード先取りマイクロ命令により
規定される。このマイクロ指令は、論理記述子2711
6に対するソースを規定し、この論理記述子27116
をDB27021を介してPREF20260に対し転
送する。PREF20260がこのようにロードされた
後、これは指定された場所においてSINの取出しを開
始する。依然としてINSTB20262に存在するど
のSINも分岐操作によって無意義であると見做された
ため、INSTB20262にロードされる最初のSI
Nは単にINSTB20262の前の内容に重ね書きさ
れる。図274は、分岐のためのロード先取りマイクロ
指令の使用の事例を含む。
【1117】h.h.命令ストリームの分析 MEM10112から取出されてINSTB20262
に記載された如き命令ストリームは一連のSOPおよび
名前である。既に述べたように、この命令ストリームは
固定されたフォーマットを有する。即ち、本実施例にお
いては、SOPは常に8ビットの長さであり、次には
8,12または16ビットの長さである。ある転送にお
いて使用される名前の長さは固定され、手順602のP
ED30303におけるKフィールド30305におけ
る値により示される。名前空間分析操作は、命令スリト
ームからSOPおよび名前を得てこれらを名前バス20
224に置く。SOPはSOPデコーダ27003にお
ける各素子に対してこのバスを介して転送されるが、名
前は前述の如く解明および評価操作のためNT2025
4および名前カッシェ10226に対して転送される。
分析操作がSOPおよび名前を得る時、この操作はまた
3つのプログラム・カウンタ即ちCPC20270、E
PC20274およびIPC20272を更新する。こ
れらの3つのカウンタにおける値は、実行中の手順60
2に帰属するコード10344における場所を指示する
PBPからのオフセットである。CPC20270はそ
の時分析中の命令ストリーム・シラブルを指示し、この
ためこれは各分析操作毎に更新される。EPC2027
4はJP10114により実行される最後のSINの始
めを指示し、IPC20272はその時のSINの始め
を指示し、その結果これらのプロセッサ・カウンタはあ
るSINの実行の開始時、即ちSOPが分析される時に
のみ変更される。
に記載された如き命令ストリームは一連のSOPおよび
名前である。既に述べたように、この命令ストリームは
固定されたフォーマットを有する。即ち、本実施例にお
いては、SOPは常に8ビットの長さであり、次には
8,12または16ビットの長さである。ある転送にお
いて使用される名前の長さは固定され、手順602のP
ED30303におけるKフィールド30305におけ
る値により示される。名前空間分析操作は、命令スリト
ームからSOPおよび名前を得てこれらを名前バス20
224に置く。SOPはSOPデコーダ27003にお
ける各素子に対してこのバスを介して転送されるが、名
前は前述の如く解明および評価操作のためNT2025
4および名前カッシェ10226に対して転送される。
分析操作がSOPおよび名前を得る時、この操作はまた
3つのプログラム・カウンタ即ちCPC20270、E
PC20274およびIPC20272を更新する。こ
れらの3つのカウンタにおける値は、実行中の手順60
2に帰属するコード10344における場所を指示する
PBPからのオフセットである。CPC20270はそ
の時分析中の命令ストリーム・シラブルを指示し、この
ためこれは各分析操作毎に更新される。EPC2027
4はJP10114により実行される最後のSINの始
めを指示し、IPC20272はその時のSINの始め
を指示し、その結果これらのプロセッサ・カウンタはあ
るSINの実行の開始時、即ちSOPが分析される時に
のみ変更される。
【1118】FU10120のハードウェアの論議にお
いて述べたように、その時の構成においては、分析操作
は、このハードウェアに対してのみアクセス可能なIN
STB20262に対するポインタによって識別される
INSTB20262における場所からのデータの8ま
たは16ビットの物理的な読出しからなる。データが読
出される時、ハードウェアは読出されたビット数だけポ
インタを増進させ、もし終りに達するならば、INST
B20262の始めを循環してこれを戻す。このハード
ウェアがポインタを増進すると同時に、同じビット数だ
けCPC20270を増分する。前述の如く、CPC2
0270はその時分析中のSOPまたは名前のPBPか
らのオフセットを含み、このためINSTB20262
の読出しを手順602のコード10344の読出しと関
連させる。
いて述べたように、その時の構成においては、分析操作
は、このハードウェアに対してのみアクセス可能なIN
STB20262に対するポインタによって識別される
INSTB20262における場所からのデータの8ま
たは16ビットの物理的な読出しからなる。データが読
出される時、ハードウェアは読出されたビット数だけポ
インタを増進させ、もし終りに達するならば、INST
B20262の始めを循環してこれを戻す。このハード
ウェアがポインタを増進すると同時に、同じビット数だ
けCPC20270を増分する。前述の如く、CPC2
0270はその時分析中のSOPまたは名前のPBPか
らのオフセットを含み、このためINSTB20262
の読出しを手順602のコード10344の読出しと関
連させる。
【1119】読出されるビット数は、INSTB202
62がSOPまたは名前を読出し中であるかどうかに依
存し、後者の場合には、名前に対して規定されたシラブ
ル・サイズによる。このシラブル・サイズはCSSR2
4112に保有される。呼出し側の手順のそれとは異な
るPED30303を有する手順602に対する呼出し
と同時に、この呼出しマイクロコードはKフィールド3
0305に含まれる値をCSSR24112にロードす
る。
62がSOPまたは名前を読出し中であるかどうかに依
存し、後者の場合には、名前に対して規定されたシラブ
ル・サイズによる。このシラブル・サイズはCSSR2
4112に保有される。呼出し側の手順のそれとは異な
るPED30303を有する手順602に対する呼出し
と同時に、この呼出しマイクロコードはKフィールド3
0305に含まれる値をCSSR24112にロードす
る。
【1120】名前空間の分析操作は、SOPおよび名前
の分析のための個々のマイクロ指令によって実施され
る。S操作の分析のための単一のマイクロ指令、即ち分
析op段が存在する。このマイクロ指令はINSTB2
0262からの次の8つのビットを得、このビットを名
前バス20224に置き、これらをRDIAL2421
2に対してラッチする。これはまた、必要に応じて1つ
のSINの開始時にEPC20274およびIPC20
272を更新し、即ちEPC20274はIPC202
72の前の値にセットされ、IPC20272はCPC
20270の値にセットされる。この操作の終りに、C
PC20270は8だけ増進される。SOPの分析は常
に1つのSINの解釈おける最初の操作として生じるた
め、分析op段指令は一般にタスク取出し指令と組合さ
れている。以下において説明するように、後者の指令は
S操作をFUDISF24218におけるアドレスとし
て解釈し、EUDISF24218は更にFUSITT
11012におけるアドレスを生じる。後者のアドレス
はSINに対するSINマイクロコードの開始場所であ
る。
の分析のための個々のマイクロ指令によって実施され
る。S操作の分析のための単一のマイクロ指令、即ち分
析op段が存在する。このマイクロ指令はINSTB2
0262からの次の8つのビットを得、このビットを名
前バス20224に置き、これらをRDIAL2421
2に対してラッチする。これはまた、必要に応じて1つ
のSINの開始時にEPC20274およびIPC20
272を更新し、即ちEPC20274はIPC202
72の前の値にセットされ、IPC20272はCPC
20270の値にセットされる。この操作の終りに、C
PC20270は8だけ増進される。SOPの分析は常
に1つのSINの解釈おける最初の操作として生じるた
め、分析op段指令は一般にタスク取出し指令と組合さ
れている。以下において説明するように、後者の指令は
S操作をFUDISF24218におけるアドレスとし
て解釈し、EUDISF24218は更にFUSITT
11012におけるアドレスを生じる。後者のアドレス
はSINに対するSINマイクロコードの開始場所であ
る。
【1121】名前の分析のため2つのマイクロ指令があ
る。即ち、分析kロードepcおよび分析kタスク指名
eboxである。両者の指令は、INSTB20262
からのビット数を得てこれをFUCTL20214に置
く。両方のマイクロ指令により、CSSR24112に
記憶されたシラブル・サイズKがINSTB20262
から得たビット数を決定する。両指令はまたCSSR2
4112に記憶された値によってCPCを増分する。更
に、分析kロードepcはEPCをIPCの値にセット
し、分析kタスク指名eboxもまたEU10122を
タスク指名を行なう、即ち更にEUSITT20344
において1つのアドレスを保有するEUDISF242
22におけるアドレスとしてLOPCODE24210
に保管されたSOPの解釈を行なう。EUSITT20
344のアドレスはEUDISバス20206を介して
EU10122におけるCOMQ20342に送られ
る。
る。即ち、分析kロードepcおよび分析kタスク指名
eboxである。両者の指令は、INSTB20262
からのビット数を得てこれをFUCTL20214に置
く。両方のマイクロ指令により、CSSR24112に
記憶されたシラブル・サイズKがINSTB20262
から得たビット数を決定する。両指令はまたCSSR2
4112に記憶された値によってCPCを増分する。更
に、分析kロードepcはEPCをIPCの値にセット
し、分析kタスク指名eboxもまたEU10122を
タスク指名を行なう、即ち更にEUSITT20344
において1つのアドレスを保有するEUDISF242
22におけるアドレスとしてLOPCODE24210
に保管されたSOPの解釈を行なう。EUSITT20
344のアドレスはEUDISバス20206を介して
EU10122におけるCOMQ20342に送られ
る。
【1122】c.Sインタプリタ(図307) CS10110はSOPに対する固定された意味を与え
ない。全てのSOPは8ビットの長さであり、ある8ビ
ットのSOPは1つのS言語において1つの意味を有す
るが別のS言語においては完全に異なる意味を有する。
あるS言語のS操作の意義はこのS言語に対するSイン
タプリタによって完全に決定される。このように、ある
S操作を正確に解釈するために、CS10110は使用
するSインタプリタが何かを知らねばならない。Sイン
タプリタは、その時CS10110が実行中である手順
602に対するPED30303のSIPフィールドに
おけるオフセットOであるUIDポインタにより識別さ
れる。本実施例においては、このUIDはFU1012
0のマイクロコードを含むマイクロコードオブジェクト
のUIDである。FUSITT11012にロードされ
る時、このマイクロコードはSOPをこのSOPが帰属
するS言語により規定されるものと解釈する。他の実施
例においてはUIDは、S言語のSOPを解釈する手順
602を含む手順オブジェクト608のUIDであり、
更に別の実施例においては、このSインタプリタはPR
OMに含まれ、SインタプリタのUIDはあるオブジェ
クトを指定することができるが専らSインタプリタの識
別のため役立つ。
ない。全てのSOPは8ビットの長さであり、ある8ビ
ットのSOPは1つのS言語において1つの意味を有す
るが別のS言語においては完全に異なる意味を有する。
あるS言語のS操作の意義はこのS言語に対するSイン
タプリタによって完全に決定される。このように、ある
S操作を正確に解釈するために、CS10110は使用
するSインタプリタが何かを知らねばならない。Sイン
タプリタは、その時CS10110が実行中である手順
602に対するPED30303のSIPフィールドに
おけるオフセットOであるUIDポインタにより識別さ
れる。本実施例においては、このUIDはFU1012
0のマイクロコードを含むマイクロコードオブジェクト
のUIDである。FUSITT11012にロードされ
る時、このマイクロコードはSOPをこのSOPが帰属
するS言語により規定されるものと解釈する。他の実施
例においてはUIDは、S言語のSOPを解釈する手順
602を含む手順オブジェクト608のUIDであり、
更に別の実施例においては、このSインタプリタはPR
OMに含まれ、SインタプリタのUIDはあるオブジェ
クトを指定することができるが専らSインタプリタの識
別のため役立つ。
【1123】手順602がJP10114においてある
SINを実行する時、CS10110は手順602に対
するSIPフィールド30309の値およびSインタプ
リタのSOPをマイクロコードにおけるある場所あるい
はSインタプリタを構成する高水準言語コードに翻訳し
なければならない。この翻訳により得られる場所は前記
マイクロコードまたはSINを構成する高水準言語コー
ドの始めである。SIPフィールド30309と共にS
OPのSインタプリタにおけるある場所への翻訳はタス
ク指名と呼ばれる。本実施例におけるタスク指名は2つ
の主な構成要素を含む。即ち、SIPフィールド303
09の値をダイアレクト番号と呼ばれる小さな整数に翻
訳するメモリーにおけるテーブルと、FU10120の
マイクロ機械のSOPデコーダ27003部分とであ
る。以下の論議は、最初にテーブルについて説明し、如
何にしてSIPフィールド30309がダイアレクト番
号に翻訳されるかを説明し、次いで如何にしてダイアレ
クト番号およびSOPが共にFUSITT11012お
よびFUSITT20344の場所に翻訳されるかにつ
いて説明する。
SINを実行する時、CS10110は手順602に対
するSIPフィールド30309の値およびSインタプ
リタのSOPをマイクロコードにおけるある場所あるい
はSインタプリタを構成する高水準言語コードに翻訳し
なければならない。この翻訳により得られる場所は前記
マイクロコードまたはSINを構成する高水準言語コー
ドの始めである。SIPフィールド30309と共にS
OPのSインタプリタにおけるある場所への翻訳はタス
ク指名と呼ばれる。本実施例におけるタスク指名は2つ
の主な構成要素を含む。即ち、SIPフィールド303
09の値をダイアレクト番号と呼ばれる小さな整数に翻
訳するメモリーにおけるテーブルと、FU10120の
マイクロ機械のSOPデコーダ27003部分とであ
る。以下の論議は、最初にテーブルについて説明し、如
何にしてSIPフィールド30309がダイアレクト番
号に翻訳されるかを説明し、次いで如何にしてダイアレ
クト番号およびSOPが共にFUSITT11012お
よびFUSITT20344の場所に翻訳されるかにつ
いて説明する。
【1124】1.SIPのダイアレクト番号への翻訳
(図307) 本実施例においては、CS10110が操作を開始し各
Sインタプリタが常に同じ場所に置かれる時にCS10
110における全てのSインタプリタがFUSITT1
1012にロードされる。どのSインタプリタがS言語
の翻訳のため使用されるかはRDIAL24212に記
憶された値によって決定される。その結果、本実施例に
おいては、そのSインタプリタが手順602のそれと異
なる手順602に対する呼出しはSIPフィールド30
309に含まれるUIDポインタをダイアレクト番号に
翻訳せねばならない。
(図307) 本実施例においては、CS10110が操作を開始し各
Sインタプリタが常に同じ場所に置かれる時にCS10
110における全てのSインタプリタがFUSITT1
1012にロードされる。どのSインタプリタがS言語
の翻訳のため使用されるかはRDIAL24212に記
憶された値によって決定される。その結果、本実施例に
おいては、そのSインタプリタが手順602のそれと異
なる手順602に対する呼出しはSIPフィールド30
309に含まれるUIDポインタをダイアレクト番号に
翻訳せねばならない。
【1125】図307は、本実施例においてこの翻訳を
実施するテーブルおよびマイクロコードを示す。Sイン
タプリタ翻訳テーブル(STT)30701は、小さな
AONにより割出しされるテーブルである。各STTエ
ントリ(STTE)30703は2つのフィールド、即
ちAONフィールド30705とダイアレクト番号フィ
ールド30709を有する。ダイアレクト番号フィール
ド30709は、そのAONがAONフィールド307
05にあるSインタプリタオブジェクトに対するダイア
レクト番号を保有する。
実施するテーブルおよびマイクロコードを示す。Sイン
タプリタ翻訳テーブル(STT)30701は、小さな
AONにより割出しされるテーブルである。各STTエ
ントリ(STTE)30703は2つのフィールド、即
ちAONフィールド30705とダイアレクト番号フィ
ールド30709を有する。ダイアレクト番号フィール
ド30709は、そのAONがAONフィールド307
05にあるSインタプリタオブジェクトに対するダイア
レクト番号を保有する。
【1126】CS10110が操作を開始する時、各S
インタプリタオブジェクトは活動状態に結線され、ST
T30701における指標として役立つよう十分に小さ
なAONが割当てられる。約束により、あるSインタプ
リタオブジェクトは常に同じAONおよび同じダイアレ
クト番号が割当てられる。このAONはAONにより割
出しされたSTTE30703のAONフィールド30
705に置かれ、ダイアレクト番号はダイアレクト番号
フィールド30709に置かれる。Sインタプリタオブ
ジェクトは活動状態に接続されるため、これらのAON
は決して他のオブジェクトに対して再割当てされること
はない。
インタプリタオブジェクトは活動状態に結線され、ST
T30701における指標として役立つよう十分に小さ
なAONが割当てられる。約束により、あるSインタプ
リタオブジェクトは常に同じAONおよび同じダイアレ
クト番号が割当てられる。このAONはAONにより割
出しされたSTTE30703のAONフィールド30
705に置かれ、ダイアレクト番号はダイアレクト番号
フィールド30709に置かれる。Sインタプリタオブ
ジェクトは活動状態に接続されるため、これらのAON
は決して他のオブジェクトに対して再割当てされること
はない。
【1127】新たなSインタプリタを要求する呼出しと
同時に、呼出しマイクロコードはSIPフィールド30
309からの新たなSIPを得、KOS LARマイク
ロコードを呼出してそのUIDをそのAONに翻訳し、
このAONを用いてSインタプリタのSTTE3070
3を見出し、ダイアレクト番号フィールド30709の
値を21242に置く。
同時に、呼出しマイクロコードはSIPフィールド30
309からの新たなSIPを得、KOS LARマイク
ロコードを呼出してそのUIDをそのAONに翻訳し、
このAONを用いてSインタプリタのSTTE3070
3を見出し、ダイアレクト番号フィールド30709の
値を21242に置く。
【1128】他の実施例においては、システムの初期化
以外の時点でSインタプリタがFUSITT11012
にロードされることを可能にし、また別の時点において
SインタプリタがFUSITT11012における異な
る場所を占めることを可能にする。このような実施例に
おいては、STT30701は、本実施例におけるAS
T10914またはMHT10716の構成と類似する
方法で構成することができる。
以外の時点でSインタプリタがFUSITT11012
にロードされることを可能にし、また別の時点において
SインタプリタがFUSITT11012における異な
る場所を占めることを可能にする。このような実施例に
おいては、STT30701は、本実施例におけるAS
T10914またはMHT10716の構成と類似する
方法で構成することができる。
【1129】2.タスク指名 タスク指名はタスク指名ファイル27004によって達
成される。これらのファイルは、RDIAL24212
により与えられる値および実行中のS命令のSOPを、
RDIAL24212の値により指定されるSインタプ
リタにおけるS命令により指定されるSINに対するマ
イクロコードの場所に転移させる。本実施例においては
3つのタスク指名・フィールド、即ちFUDISF24
218とAF24220とFUDISF24222を有
する。FUDISF24218とAF24220はS命
令をFU10120に関して実行するマイクロコードの
場所に転移させ、EUDISF24222はS命令をE
U10122に関して実行するマイクロコードの場所に
転移させる。FUDISF24218とAF24220
間の相違は1つの速度であり、FUDISF24218
はSOPをLOPCODE24210にロードする分析
op段指令を実施する同じマイクロ命令において1つの
SOPを翻訳することができる。AF24220はSO
PがLOPCODE24210にロードされるサイクル
に続くサイクルにおいてこの翻訳を実施せねばならな
い。典型的に、1つのS命令を実行するマイクロコード
の最初の部分の場所はFUDISF24218に保有さ
れ、後で実行される部分の場所はAF24220のレジ
スタにおいて保有され、EU10122に関して実行す
るS命令に対するマイクロコードの場所はEUDISF
24222に保有される。
成される。これらのファイルは、RDIAL24212
により与えられる値および実行中のS命令のSOPを、
RDIAL24212の値により指定されるSインタプ
リタにおけるS命令により指定されるSINに対するマ
イクロコードの場所に転移させる。本実施例においては
3つのタスク指名・フィールド、即ちFUDISF24
218とAF24220とFUDISF24222を有
する。FUDISF24218とAF24220はS命
令をFU10120に関して実行するマイクロコードの
場所に転移させ、EUDISF24222はS命令をE
U10122に関して実行するマイクロコードの場所に
転移させる。FUDISF24218とAF24220
間の相違は1つの速度であり、FUDISF24218
はSOPをLOPCODE24210にロードする分析
op段指令を実施する同じマイクロ命令において1つの
SOPを翻訳することができる。AF24220はSO
PがLOPCODE24210にロードされるサイクル
に続くサイクルにおいてこの翻訳を実施せねばならな
い。典型的に、1つのS命令を実行するマイクロコード
の最初の部分の場所はFUDISF24218に保有さ
れ、後で実行される部分の場所はAF24220のレジ
スタにおいて保有され、EU10122に関して実行す
るS命令に対するマイクロコードの場所はEUDISF
24222に保有される。
【1130】本実施例においては、前記各レジスタは、
以下の如くS命令からマイクロコードの場所への転移を
達成するが、FU10120のハードウェアの論議にお
いて述べたように、各タスク指名ファイルは1024個
のレジスタを含む。各レジスタは1つのSインタプリタ
におけるアドレスを保有する。以下において詳細に示さ
れるように、このアドレスはSインタプリタのオブジェ
クトにおける1つのアドレスで良く、あるいはこれはS
インタプリタに記憶されたマイクロコードのコピーのF
USITT11012またはEUSITT20344に
おけるアドレスでも良い。タスク指名ファイルにおける
レジスタは128または256個のレジスタガイドの組
に分割することができる。各組のレジスタは、1つのS
言語に対するSOPをマイクロコードにおける各場所に
転移する。どの組のレジスタがあるS命令の翻訳に使用
されるかはRDIAL24212の値によって決定さ
れ、ある組のどのレジスタが使用されるかはS命令の値
によって決定される。特定のレジスタに含まれる値は従
ってRDIAL24212により指定されるS言語にお
けるS命令により指定されるS命令を実行するマイクロ
コードの場所である。
以下の如くS命令からマイクロコードの場所への転移を
達成するが、FU10120のハードウェアの論議にお
いて述べたように、各タスク指名ファイルは1024個
のレジスタを含む。各レジスタは1つのSインタプリタ
におけるアドレスを保有する。以下において詳細に示さ
れるように、このアドレスはSインタプリタのオブジェ
クトにおける1つのアドレスで良く、あるいはこれはS
インタプリタに記憶されたマイクロコードのコピーのF
USITT11012またはEUSITT20344に
おけるアドレスでも良い。タスク指名ファイルにおける
レジスタは128または256個のレジスタガイドの組
に分割することができる。各組のレジスタは、1つのS
言語に対するSOPをマイクロコードにおける各場所に
転移する。どの組のレジスタがあるS命令の翻訳に使用
されるかはRDIAL24212の値によって決定さ
れ、ある組のどのレジスタが使用されるかはS命令の値
によって決定される。特定のレジスタに含まれる値は従
ってRDIAL24212により指定されるS言語にお
けるS命令により指定されるS命令を実行するマイクロ
コードの場所である。
【1131】論理的には、連結された値によりアドレス
指定されるレジスタは更にRDIAL24212の内容
によって指定されるS言語におけるS命令により指定さ
れるS命令を実行するため使用されるマイクロコードの
最初のマイクロ命令のSインタプリタにおける場所であ
る15ビットのアドレスを含んでいる。本実施例におい
ては、このアドレスにより示されるマイクロコードはF
USITT11012およびEUSITT20344に
ロードすることができあるいはこれはメモリーにおいて
使用可能である。FUSITT11012およびEUS
ITT20344に配置されるマイクロコードのアドレ
スは8ビットの長さでしかない。その結果、もしあるタ
スク指名ファイル27004がこれよりも大きなビット
を要求するアドレスを有するならば、このアドレスによ
って指定されるマイクロコードがメモリーに存在する。
MEM10112のハードウェアの論議において述べた
ように、8ビットよりも大きなアドレス事象信号を生
じ、偶数のSINにより生じるマイクロコードはメモリ
ーからのSインタプリタにおいて指定されたアドレスに
おけるマイクロ命令を取出し、これをFUSITT11
012の場所0にロードする。この時事象マイクロコー
ドが戻り、場所0におけるマイクロ命令が実行される。
もし次のマイクロ命令もまた8ビットよりも大きなアド
レスを有するならば、前記事象信号が再び生じ前述のプ
ロセスが繰返される。
指定されるレジスタは更にRDIAL24212の内容
によって指定されるS言語におけるS命令により指定さ
れるS命令を実行するため使用されるマイクロコードの
最初のマイクロ命令のSインタプリタにおける場所であ
る15ビットのアドレスを含んでいる。本実施例におい
ては、このアドレスにより示されるマイクロコードはF
USITT11012およびEUSITT20344に
ロードすることができあるいはこれはメモリーにおいて
使用可能である。FUSITT11012およびEUS
ITT20344に配置されるマイクロコードのアドレ
スは8ビットの長さでしかない。その結果、もしあるタ
スク指名ファイル27004がこれよりも大きなビット
を要求するアドレスを有するならば、このアドレスによ
って指定されるマイクロコードがメモリーに存在する。
MEM10112のハードウェアの論議において述べた
ように、8ビットよりも大きなアドレス事象信号を生
じ、偶数のSINにより生じるマイクロコードはメモリ
ーからのSインタプリタにおいて指定されたアドレスに
おけるマイクロ命令を取出し、これをFUSITT11
012の場所0にロードする。この時事象マイクロコー
ドが戻り、場所0におけるマイクロ命令が実行される。
もし次のマイクロ命令もまた8ビットよりも大きなアド
レスを有するならば、前記事象信号が再び生じ前述のプ
ロセスが繰返される。
【1132】前述の如く、FUDISF24218はA
F24220よりは速度が速い。この速度における差異
の理由は、FDISPレジスタがS命令のアドレス指定
のため6ビットしか持たないためである。本実施例は、
FUDISF24218を介してアドレス指定される全
てのマイクロコードがFUSITT11012に保有さ
れることを前提とする。これは2つの零ビットをFUS
ITT11012に対する8ビットのあるアドレスを生
じるためFUDISF24218における6ビットと並
列させている。FUDISF24218のレジスタはこ
のため、256と448間の4番目毎のFUSITT1
1012のレジスタ場所を保有することができる。FU
SITT11012におけるこれらの場所にロードされ
たマイクロコードは、多くの異なるSINによりSIN
の開始時に実施される諸操作のためのマイクロコードで
ある。例えば2つのオペランドに対する操作を実施しか
つその結果を第3のオペランドにより指定される場所に
割当てる全てのSINは、最初の2つのオペランドの分
析および評価を行ない、かつ第3のオペランドの解を与
えねばならない。これらの操作が行なわれた後にのみ、
SIN固有の諸操作が実施される。本実施例において
は、オペランドの分析を行ない、解を与え、その評価を
行なうマイクロコードは、FUDISF24218によ
ってアドレス指定可能なFUSITT11012の部分
に含まれる。
F24220よりは速度が速い。この速度における差異
の理由は、FDISPレジスタがS命令のアドレス指定
のため6ビットしか持たないためである。本実施例は、
FUDISF24218を介してアドレス指定される全
てのマイクロコードがFUSITT11012に保有さ
れることを前提とする。これは2つの零ビットをFUS
ITT11012に対する8ビットのあるアドレスを生
じるためFUDISF24218における6ビットと並
列させている。FUDISF24218のレジスタはこ
のため、256と448間の4番目毎のFUSITT1
1012のレジスタ場所を保有することができる。FU
SITT11012におけるこれらの場所にロードされ
たマイクロコードは、多くの異なるSINによりSIN
の開始時に実施される諸操作のためのマイクロコードで
ある。例えば2つのオペランドに対する操作を実施しか
つその結果を第3のオペランドにより指定される場所に
割当てる全てのSINは、最初の2つのオペランドの分
析および評価を行ない、かつ第3のオペランドの解を与
えねばならない。これらの操作が行なわれた後にのみ、
SIN固有の諸操作が実施される。本実施例において
は、オペランドの分析を行ない、解を与え、その評価を
行なうマイクロコードは、FUDISF24218によ
ってアドレス指定可能なFUSITT11012の部分
に含まれる。
【1133】前述の如く、本実施例においては、FUS
ITT11012およびEUSITT20344はCS
10110が初期化される時にのみロードすることがで
きる。FUSITT11012およびEUSITT20
344にロードされたマイクロコードは、種々のSIN
に対するマイクロコードからのマイクロバインダによっ
て生成される。FUSITT11012およびEUSI
TT20344の有効な使用を達成するため、種々のS
インタプリタにより共有された諸操作のためのマイクロ
コードはFUSITT11012およびEUSITT2
0344において1回のみ現われる。このマイクロコー
ドを共有する異なるS言語におけるSINが場合により
FUDISF24218、またはAF24220または
EUDISF24222において異なるレジスタを有す
るが、S命令の各々に対するレジスタはFUSITT1
1012またはEUSITT20344において同じ場
所を保有するのである。
ITT11012およびEUSITT20344はCS
10110が初期化される時にのみロードすることがで
きる。FUSITT11012およびEUSITT20
344にロードされたマイクロコードは、種々のSIN
に対するマイクロコードからのマイクロバインダによっ
て生成される。FUSITT11012およびEUSI
TT20344の有効な使用を達成するため、種々のS
インタプリタにより共有された諸操作のためのマイクロ
コードはFUSITT11012およびEUSITT2
0344において1回のみ現われる。このマイクロコー
ドを共有する異なるS言語におけるSINが場合により
FUDISF24218、またはAF24220または
EUDISF24222において異なるレジスタを有す
るが、S命令の各々に対するレジスタはFUSITT1
1012またはEUSITT20344において同じ場
所を保有するのである。
【1134】4.核心のオペレーティング・システム A.序論 CS10110の特有の特性の多くは、JP10114
に関して実行するプログラムにより、MEM10112
およびED10124におけるテーブルの操作によって
形成される。これらのプログラムおよびテーブルは共に
核心のオペレーティング・システム(KOS)を構成す
る。CS10110の構成要素およびこれらが共同して
コンピュータ・プログラムを実行する手段について説明
したが、本文においては次にKOSおよびこれが形成す
るCS10110の諸特性の詳細点について述べる。本
論は、オペランドに対する全般的な序論から始め、次い
でCS10110のオペランドの概論、KOSの概論お
よびオブジェクト、アクセス制御ならびにプロセス61
0の詳細について述べる。
に関して実行するプログラムにより、MEM10112
およびED10124におけるテーブルの操作によって
形成される。これらのプログラムおよびテーブルは共に
核心のオペレーティング・システム(KOS)を構成す
る。CS10110の構成要素およびこれらが共同して
コンピュータ・プログラムを実行する手段について説明
したが、本文においては次にKOSおよびこれが形成す
るCS10110の諸特性の詳細点について述べる。本
論は、オペランドに対する全般的な序論から始め、次い
でCS10110のオペランドの概論、KOSの概論お
よびオブジェクト、アクセス制御ならびにプロセス61
0の詳細について述べる。
【1135】a.オペレーティング・システム(図40
1) CS10110においては、他のコンピュータ・システ
ムにおけるように、このオペレーティング・システムは
次の2つの機能を有する。即ち、−このオペレーティン
グ・システムは、CS10110に関して実行中のプロ
グラムによりJP10114、MEM10112の如き
CS10110の資源およびIOS10116における
諸素子の使用を制御すること。−このオペレーティング
・システムは、如何にしてCS10110の資源がCS
10110のユーザに見えるかを規定すること。
1) CS10110においては、他のコンピュータ・システ
ムにおけるように、このオペレーティング・システムは
次の2つの機能を有する。即ち、−このオペレーティン
グ・システムは、CS10110に関して実行中のプロ
グラムによりJP10114、MEM10112の如き
CS10110の資源およびIOS10116における
諸素子の使用を制御すること。−このオペレーティング
・システムは、如何にしてCS10110の資源がCS
10110のユーザに見えるかを規定すること。
【1136】第2の機能は第1の機能の結果である。即
ち、実行中のプログラムがシステムの資源を使用する方
法を制御することによって、このオペレーティング・シ
ステムは実際に本システムがそのユーザに如何に見える
かを決定する。図401は、ユーザ40101と、オペ
レーティング・システム40102と、システムの資源
40103間の関係を示す略図である。ユーザ4010
1がシステムのある資源40103の使用を欲する時、
ユーザ40101はオペレーティング・システム401
02から資源40103の使用を要求し、オペレーティ
ング・システム40102は更に要求された資源401
03を提供するようCS10110に指令する。例え
ば、あるユーザ・プログラムがある周辺素子の使用を欲
する時、このオペレーティング・システムはこの詳細を
直接取扱わず、その代りこの素子を制御するオペレーテ
ィング・システム40102の手順602を呼出す。オ
ペレーティング・システム40102はこの素子の複雑
な物理的特性を考慮に入れねばならないが、この素子を
要求したユーザ・プログラムはその物理的特性について
は一切知る必要はなく、このユーザ・プログラムにより
要求される操作の実施のためオペレーティング・システ
ム40102の手順602がどんな情報を要求するかを
知るだけでよい。例えば、周辺素子はデータの正確なパ
ターンが与えられることを必要とするが、オペレーティ
ング・システム40102の手順602は単にこのユー
ザ・プログラムからのデータ自体を要求するだけで、周
辺素子が要求する如きデータをフォーマット化すること
ができる。このように、周辺素子の制御を行なうオペレ
ーティング・システム40102の手順602は、この
素子に対する複雑な物理的インターフェースを遥かに簡
単な論理的インターフェースに変換するのである。
ち、実行中のプログラムがシステムの資源を使用する方
法を制御することによって、このオペレーティング・シ
ステムは実際に本システムがそのユーザに如何に見える
かを決定する。図401は、ユーザ40101と、オペ
レーティング・システム40102と、システムの資源
40103間の関係を示す略図である。ユーザ4010
1がシステムのある資源40103の使用を欲する時、
ユーザ40101はオペレーティング・システム401
02から資源40103の使用を要求し、オペレーティ
ング・システム40102は更に要求された資源401
03を提供するようCS10110に指令する。例え
ば、あるユーザ・プログラムがある周辺素子の使用を欲
する時、このオペレーティング・システムはこの詳細を
直接取扱わず、その代りこの素子を制御するオペレーテ
ィング・システム40102の手順602を呼出す。オ
ペレーティング・システム40102はこの素子の複雑
な物理的特性を考慮に入れねばならないが、この素子を
要求したユーザ・プログラムはその物理的特性について
は一切知る必要はなく、このユーザ・プログラムにより
要求される操作の実施のためオペレーティング・システ
ム40102の手順602がどんな情報を要求するかを
知るだけでよい。例えば、周辺素子はデータの正確なパ
ターンが与えられることを必要とするが、オペレーティ
ング・システム40102の手順602は単にこのユー
ザ・プログラムからのデータ自体を要求するだけで、周
辺素子が要求する如きデータをフォーマット化すること
ができる。このように、周辺素子の制御を行なうオペレ
ーティング・システム40102の手順602は、この
素子に対する複雑な物理的インターフェースを遥かに簡
単な論理的インターフェースに変換するのである。
【1137】1.オペレーティング・システムにより制
御される資源(図402) オペレーティング・システム40102は、2種類の資
源、即ち物理的資源と仮想資源を制御する。CS101
10の本実施例における物理的資源はJP10114
と、IOS10116と、IOS10116、MEM1
0112および2次記憶装置10124と関連する周辺
素子とである。仮想資源は、CS10110のユーザに
対してオペレーティング・システム自体が規定する資源
である。前述の如く、CS10110の資源が使用され
る方法を制御する際、オペレーティング・システム40
102はCS10110がユーザに対して認識される方
法を規定する。オペレーティング・システム40102
により制御される物理的資源の代りに、ユーザは遥かに
簡単な仮想資源の組を認識する。物理的入出力装置のユ
ーザにオペレーティング・システム40102が与える
論理的入出力装置インターフェースは仮想資源の如きも
のである。オペレーティング・システム40102はし
ばしば仮想資源の組を規定し、これらの仮想資源におけ
る物理的資源を多重化する。例えば、オペレーティング
・システム40102は、比較的小さなグループの物理
的プロセッサと対応する1組の仮想プロセッサ612
と、比較的小さなグループの物理的資源と対応する1組
の仮想メモリーを規定することができる。あるユーザが
1つのプログラムを実行する時、これは仮想プロセッサ
612に関して実行して仮想メモリーを使用する。この
ユーザが物理的プロセッサおよび物理的メモリーに対し
て完全なアクセスを行なう仮想プロセッサおよび仮想メ
モリーのユーザにとっては、実際にはオペレーティング
・システム40102が仮想プロセッサ612および仮
想メモリーにおける物理的プロセッサおよびメモリーを
多重化しつつあるように見える。
御される資源(図402) オペレーティング・システム40102は、2種類の資
源、即ち物理的資源と仮想資源を制御する。CS101
10の本実施例における物理的資源はJP10114
と、IOS10116と、IOS10116、MEM1
0112および2次記憶装置10124と関連する周辺
素子とである。仮想資源は、CS10110のユーザに
対してオペレーティング・システム自体が規定する資源
である。前述の如く、CS10110の資源が使用され
る方法を制御する際、オペレーティング・システム40
102はCS10110がユーザに対して認識される方
法を規定する。オペレーティング・システム40102
により制御される物理的資源の代りに、ユーザは遥かに
簡単な仮想資源の組を認識する。物理的入出力装置のユ
ーザにオペレーティング・システム40102が与える
論理的入出力装置インターフェースは仮想資源の如きも
のである。オペレーティング・システム40102はし
ばしば仮想資源の組を規定し、これらの仮想資源におけ
る物理的資源を多重化する。例えば、オペレーティング
・システム40102は、比較的小さなグループの物理
的プロセッサと対応する1組の仮想プロセッサ612
と、比較的小さなグループの物理的資源と対応する1組
の仮想メモリーを規定することができる。あるユーザが
1つのプログラムを実行する時、これは仮想プロセッサ
612に関して実行して仮想メモリーを使用する。この
ユーザが物理的プロセッサおよび物理的メモリーに対し
て完全なアクセスを行なう仮想プロセッサおよび仮想メ
モリーのユーザにとっては、実際にはオペレーティング
・システム40102が仮想プロセッサ612および仮
想メモリーにおける物理的プロセッサおよびメモリーを
多重化しつつあるように見える。
【1138】オペレーティング・システム40102も
また仮想資源を使用する。例えば、オペレーティング・
システム40102の記憶管理部分は入出力素子が使用
でき、もしそうなら、これは入出力装置を管理するオペ
レーティング・システム40102の部分により規定さ
れる仮想入出力装置を使用する。オペレーティング・シ
ステム40102の一部もまたオペレーティング・シス
テム40102の他の部分により規定される仮想資源を
再び規定することができる。例えば、オペレーティング
・システム40102の一部は1組の元の入出力装置を
規定し他の部分はこれらの元の仮想入出力装置を用いて
1組の高水準のユーザ指向の入出力装置を規定する。オ
ペレーティング・システム40102は、このように、
物理的なCS10110を仮想資源の階層に切換える。
CS10110のユーザがCS10110を認識する方
法は、専らユーザが仮想資源を取扱うレベルに依存す
る。
また仮想資源を使用する。例えば、オペレーティング・
システム40102の記憶管理部分は入出力素子が使用
でき、もしそうなら、これは入出力装置を管理するオペ
レーティング・システム40102の部分により規定さ
れる仮想入出力装置を使用する。オペレーティング・シ
ステム40102の一部もまたオペレーティング・シス
テム40102の他の部分により規定される仮想資源を
再び規定することができる。例えば、オペレーティング
・システム40102の一部は1組の元の入出力装置を
規定し他の部分はこれらの元の仮想入出力装置を用いて
1組の高水準のユーザ指向の入出力装置を規定する。オ
ペレーティング・システム40102は、このように、
物理的なCS10110を仮想資源の階層に切換える。
CS10110のユーザがCS10110を認識する方
法は、専らユーザが仮想資源を取扱うレベルに依存す
る。
【1139】オペレーティング・システム40102に
より規定される資源を使用するエンテティはプロセスで
ある。プロセス610は、順次のプロセスによるそのデ
ータに関するあるプログラムの実行から生じる活動状態
として定義することができる。あるユーザがCS101
10に関するプログラムの実行を要求する時は常に、オ
ペレーティング・システム40102がプロセス610
を形成し、これがユーザ・プログラムを構成する手順6
02を実行する。物理的観点においては、プロセス61
0はプロセスが表わすプログラムのその時の実行状態を
保有するメモリーにおける1組のデータ・ベースであ
る。オペレーティング・システム40102はプロセス
610をして、プログラムの実行のため要求する仮想資
源に対するプロセス610のアクセスを行なうことによ
り、プロセス610の状態の各部に対して仮想資源のア
クセスを行なうことにより、また物理的資源に対するこ
れらの仮想資源のアクセスを行なうことによって、プロ
セス610をしてプログラムを実行させる。ある資源の
他の資源に対する一時的関係、またはある資源に対する
プロセス610の一時的関係は束縛と呼ばれる。プロセ
ス610がある仮想プロセッサ612にアクセスし、ま
たは仮想プロセッサ612がプロセス610の状態にア
クセスする時、プロセス610は仮想プロセッサ612
に対して束縛され、また仮想プロセッサ612がJP1
0114に対してアクセスして仮想プロセッサ612の
状態がJP10114のレジスタにロードされる時、仮
想プロセッサ612はJP10114に対して束縛さ
れ、JP10114は仮想プロセッサ612に対して束
縛されたプロセス610によって実行中のプログラムに
おいて手順602に含まれるSINを実行することがで
きる。束縛および束縛解除は、プロセス610における
プログラムの実行の過程において何回も生じ得る。例え
ば、もしプロセス610がデータへの照合を実行しデー
タがMEM10112に存在しなければ、データがME
M10112において使用可能となるまでオペレーティ
ング・システム40102はプロセス610の仮想プロ
セッサ612をJP10114に対する束縛を解除す
る。もしデータが拡張されたある期間使用可能でなけれ
ば、あるいはもしプロセス610がプログラムを実行中
であるユーザがしばらくプログラムの実行を停止するこ
とを欲するならば、オペレーティング・システム401
02はプロセス610をその仮想プロセッサ612との
束縛を解除することができる。この時仮想プロセッサ6
12は他のプロセス610により使用することができ
る。
より規定される資源を使用するエンテティはプロセスで
ある。プロセス610は、順次のプロセスによるそのデ
ータに関するあるプログラムの実行から生じる活動状態
として定義することができる。あるユーザがCS101
10に関するプログラムの実行を要求する時は常に、オ
ペレーティング・システム40102がプロセス610
を形成し、これがユーザ・プログラムを構成する手順6
02を実行する。物理的観点においては、プロセス61
0はプロセスが表わすプログラムのその時の実行状態を
保有するメモリーにおける1組のデータ・ベースであ
る。オペレーティング・システム40102はプロセス
610をして、プログラムの実行のため要求する仮想資
源に対するプロセス610のアクセスを行なうことによ
り、プロセス610の状態の各部に対して仮想資源のア
クセスを行なうことにより、また物理的資源に対するこ
れらの仮想資源のアクセスを行なうことによって、プロ
セス610をしてプログラムを実行させる。ある資源の
他の資源に対する一時的関係、またはある資源に対する
プロセス610の一時的関係は束縛と呼ばれる。プロセ
ス610がある仮想プロセッサ612にアクセスし、ま
たは仮想プロセッサ612がプロセス610の状態にア
クセスする時、プロセス610は仮想プロセッサ612
に対して束縛され、また仮想プロセッサ612がJP1
0114に対してアクセスして仮想プロセッサ612の
状態がJP10114のレジスタにロードされる時、仮
想プロセッサ612はJP10114に対して束縛さ
れ、JP10114は仮想プロセッサ612に対して束
縛されたプロセス610によって実行中のプログラムに
おいて手順602に含まれるSINを実行することがで
きる。束縛および束縛解除は、プロセス610における
プログラムの実行の過程において何回も生じ得る。例え
ば、もしプロセス610がデータへの照合を実行しデー
タがMEM10112に存在しなければ、データがME
M10112において使用可能となるまでオペレーティ
ング・システム40102はプロセス610の仮想プロ
セッサ612をJP10114に対する束縛を解除す
る。もしデータが拡張されたある期間使用可能でなけれ
ば、あるいはもしプロセス610がプログラムを実行中
であるユーザがしばらくプログラムの実行を停止するこ
とを欲するならば、オペレーティング・システム401
02はプロセス610をその仮想プロセッサ612との
束縛を解除することができる。この時仮想プロセッサ6
12は他のプロセス610により使用することができ
る。
【1140】前述の如く、束縛するプロセスは、第2の
資源に対する最初の資源のアクセスを行ない、この第2
の資源における最初の資源の状態を使用することを含
む。この束縛および束縛の解除を可能にするため、オペ
レーティング・システム40102は各資源および各プ
ロセス610のその時の状態を含むデータ・ベースを保
持する。この状態はオペレーティング・システムが資源
の使用またはプロセス610の実行のため持たねばなら
ない情報として規定される。例えば、ラインプリンタの
状態は、このラインプリンタが使用中、自由状態、オフ
ライン、または故障中のいずれかであるかを表示する変
数で良い。プロセス610がオペレーティング・システ
ム40102をしてプロセス610を仮想プロセッサ6
12に束縛させ、暫時プロセス610を実行し、プロセ
ス610の束縛を解除し、次いでこれを再び束縛して停
止された実行を継続するに十分な情報を含むため、プロ
セス610の状態は更に複雑となる。このようにプロセ
ス610の状態は、プロセス610が再び実行を開始す
る用意があるかどうかを表示する情報と共に仮想プロセ
ッサ612からの束縛を解かれる時までプロセス610
により使用される全てのデータを含む。
資源に対する最初の資源のアクセスを行ない、この第2
の資源における最初の資源の状態を使用することを含
む。この束縛および束縛の解除を可能にするため、オペ
レーティング・システム40102は各資源および各プ
ロセス610のその時の状態を含むデータ・ベースを保
持する。この状態はオペレーティング・システムが資源
の使用またはプロセス610の実行のため持たねばなら
ない情報として規定される。例えば、ラインプリンタの
状態は、このラインプリンタが使用中、自由状態、オフ
ライン、または故障中のいずれかであるかを表示する変
数で良い。プロセス610がオペレーティング・システ
ム40102をしてプロセス610を仮想プロセッサ6
12に束縛させ、暫時プロセス610を実行し、プロセ
ス610の束縛を解除し、次いでこれを再び束縛して停
止された実行を継続するに十分な情報を含むため、プロ
セス610の状態は更に複雑となる。このようにプロセ
ス610の状態は、プロセス610が再び実行を開始す
る用意があるかどうかを表示する情報と共に仮想プロセ
ッサ612からの束縛を解かれる時までプロセス610
により使用される全てのデータを含む。
【1141】図402は、プロセス610、仮想および
オペレーティング・システムにおける物理的資源の間の
関係を示している。同図は、多重プロセスのオペレーテ
ィング・システム40102、即ちいくつかのプロセス
610におけるCS10110の資源を多重化すること
ができるものを示している。このように、プロセス61
0はその時同時に実行中であるように見える。図402
における実線矢印は、仮想資源間、もしくは仮想資源お
よび物理的資源間の束縛関係を示している。プロセス6
10はユーザ・プログラムの実行のためオペレーティン
グ・システム40102によって形成される。このプロ
グラムは手順602からなり、プロセス610はプログ
ラムに記された順序で手順602を実行する。プロセス
610は、プロセス管理プログラムと呼ばれるオペレー
ティング・システム40102の構成要素により形成さ
れ管理される。プロセス管理プログラム40203は、
プロセス610を仮想プロセッサ612に束縛すること
によってこれを実行する。仮想プロセッサ612よりも
多くのプロセス610が存在する。この場合、オペレー
ティング・システム40102はプロセス610におい
て仮想プロセッサ612を多重化する。
オペレーティング・システムにおける物理的資源の間の
関係を示している。同図は、多重プロセスのオペレーテ
ィング・システム40102、即ちいくつかのプロセス
610におけるCS10110の資源を多重化すること
ができるものを示している。このように、プロセス61
0はその時同時に実行中であるように見える。図402
における実線矢印は、仮想資源間、もしくは仮想資源お
よび物理的資源間の束縛関係を示している。プロセス6
10はユーザ・プログラムの実行のためオペレーティン
グ・システム40102によって形成される。このプロ
グラムは手順602からなり、プロセス610はプログ
ラムに記された順序で手順602を実行する。プロセス
610は、プロセス管理プログラムと呼ばれるオペレー
ティング・システム40102の構成要素により形成さ
れ管理される。プロセス管理プログラム40203は、
プロセス610を仮想プロセッサ612に束縛すること
によってこれを実行する。仮想プロセッサ612よりも
多くのプロセス610が存在する。この場合、オペレー
ティング・システム40102はプロセス610におい
て仮想プロセッサ612を多重化する。
【1142】仮想プロセッサ612は、オペレーティン
グ・システム40102の別の構成要素、即ち仮想処理
装置管理プログラム40205により形成されて使用可
能となる。仮想処理装置管理プログラム40205はま
た、仮想プロセッサ612においてJP10114を多
重化する。もし仮想プロセッサ612が実行の用意がで
きるならば、仮想処理装置管理プログラム40205は
これをJP10114に束縛する。仮想プロセッサ61
2がこれ以上実行できない時、または別の仮想プロセッ
サ612がJP10114を必要とする時は、仮想処理
装置管理プログラム40205はJP10114に対す
る実行中の仮想プロセッサ612の束縛を解除し、この
JP10114に対して別の仮想プロセッサ612を束
縛する。
グ・システム40102の別の構成要素、即ち仮想処理
装置管理プログラム40205により形成されて使用可
能となる。仮想処理装置管理プログラム40205はま
た、仮想プロセッサ612においてJP10114を多
重化する。もし仮想プロセッサ612が実行の用意がで
きるならば、仮想処理装置管理プログラム40205は
これをJP10114に束縛する。仮想プロセッサ61
2がこれ以上実行できない時、または別の仮想プロセッ
サ612がJP10114を必要とする時は、仮想処理
装置管理プログラム40205はJP10114に対す
る実行中の仮想プロセッサ612の束縛を解除し、この
JP10114に対して別の仮想プロセッサ612を束
縛する。
【1143】仮想プロセッサ612は仮想メモリーおよ
び入出力資源を用いて、メモリーのアクセスおよび入出
力を実施する。仮想メモリー40206は仮想管理プロ
グラム40207により形成されて管理されまた仮想入
出力素子40208は仮想入出力管理プログラム402
09により形成され管理される。仮想処理装置管理プロ
グラム40205と同様に、オペレーティング・システ
ム40102の仮想管理プログラム40207および仮
想入出力管理プログラム40209は仮想資源間で物理
的資源を多重化する。前述の如く、1組の仮想資源は別
の組の資源を使用することができる。これが可能である
1つの方法は、図402において破線の矢印によって示
されている。これらの矢印は、仮想メモリー40206
と仮想入出力素子40208間の束縛関係を示してい
る。この束縛は、仮想メモリー40206がディスク駆
動装置の如き周辺素子に含まれるデータに対する照合を
処理しなければならない。仮想メモリー40206のユ
ーザにとっては、全てのデータはCS10110におい
て使用可能なように見える。しかし、実際には、このデ
ータはディスク駆動装置の如き周辺詳細において記憶さ
れ、必要に応じてMEM10112にコピーされる。プ
ロセス610がMEM10112に対してコピーされて
いないデータを照合する時、仮想メモリー40206は
このデータをMEM10112にコピーするためIOS
10116を使用しなければならない。これを行なうた
めには、この仮想メモリーは仮想入出力管理プログラム
40209により与えられる仮想入出力素子40208
を使用する。
び入出力資源を用いて、メモリーのアクセスおよび入出
力を実施する。仮想メモリー40206は仮想管理プロ
グラム40207により形成されて管理されまた仮想入
出力素子40208は仮想入出力管理プログラム402
09により形成され管理される。仮想処理装置管理プロ
グラム40205と同様に、オペレーティング・システ
ム40102の仮想管理プログラム40207および仮
想入出力管理プログラム40209は仮想資源間で物理
的資源を多重化する。前述の如く、1組の仮想資源は別
の組の資源を使用することができる。これが可能である
1つの方法は、図402において破線の矢印によって示
されている。これらの矢印は、仮想メモリー40206
と仮想入出力素子40208間の束縛関係を示してい
る。この束縛は、仮想メモリー40206がディスク駆
動装置の如き周辺素子に含まれるデータに対する照合を
処理しなければならない。仮想メモリー40206のユ
ーザにとっては、全てのデータはCS10110におい
て使用可能なように見える。しかし、実際には、このデ
ータはディスク駆動装置の如き周辺詳細において記憶さ
れ、必要に応じてMEM10112にコピーされる。プ
ロセス610がMEM10112に対してコピーされて
いないデータを照合する時、仮想メモリー40206は
このデータをMEM10112にコピーするためIOS
10116を使用しなければならない。これを行なうた
めには、この仮想メモリーは仮想入出力管理プログラム
40209により与えられる仮想入出力素子40208
を使用する。
【1144】b.CS10110におけるオペレーティ
ング・システム 明瞭にするため、オペレーティング・システム4010
2はCS10110の外側に存在するかの如くに説明し
た。しかし、実際には、オペレーティング・システム4
0102自体はこれが制御する資源を使用する。本実施
例においては、オペレーティング・システム40102
の各部はJP10114のハードウェアの諸素子におい
て実施され、各部はJP10114に関して実行するマ
イクロコードにおいて実施され、各部は手順602にお
いて実施される。これらの手順602はしばしばユーザ
・プログラムを実行するプロセス610により呼出さ
れ、またしばしばオペレーティング・システム4010
2に対する諸操作の実行以外は何も行なわない特殊なプ
ロセス610によって呼出される。
ング・システム 明瞭にするため、オペレーティング・システム4010
2はCS10110の外側に存在するかの如くに説明し
た。しかし、実際には、オペレーティング・システム4
0102自体はこれが制御する資源を使用する。本実施
例においては、オペレーティング・システム40102
の各部はJP10114のハードウェアの諸素子におい
て実施され、各部はJP10114に関して実行するマ
イクロコードにおいて実施され、各部は手順602にお
いて実施される。これらの手順602はしばしばユーザ
・プログラムを実行するプロセス610により呼出さ
れ、またしばしばオペレーティング・システム4010
2に対する諸操作の実行以外は何も行なわない特殊なプ
ロセス610によって呼出される。
【1145】オペレーティング・システム40102の
構成要素が対話する方法は、CS10110がページの
誤りを処理する方法、即ちCS10110においては使
用できないデータの照合によって示される。ページ誤り
が存在するとこの最初の表示は、ATUミス事象信号で
ある。この事象信号は、読出しまたは書込み操作におい
て使用される論理記述子27116に対するATU10
228においてエントリが存在しない時FU10120
におけるATU10228によって生成される。この事
象信号はオペレーティング・システム40102のマイ
クロコードを惹起し、これは論理記述子27116によ
り記述されるデータがMEM10112においてコピー
を有するかどうかを見出すため、MEM10112にお
けるテーブルを検査する。もしこのテーブルがコピーが
存在しないことを示すならば、オペレーティング・シス
テム40102のマイクロコードは、オペレーティング
・システム40102の仮想メモリー管理プロセス61
0に対しページ誤りの事実を通信して、ページ誤りがJ
P10114から生じた時を検査中のプロセス610に
対し束縛された仮想プロセッサ612を取除く。しばら
く後に、プロセス610がJP10114に対し束縛さ
れる。次に、プロセス610により実行された手順60
2はED10124における所要のデータを見出すため
要求される入出力操作を開始し、これをMEM1011
2に対しコピーする。このデータがMEM10112に
おいて使用可能である時、オペレーティング・システム
40102は、前記のページ誤りが生じる時実行中であ
るプロセス610に対して束縛された仮想プロセッサ6
12がJP10114に対して戻ることを可能にする。
仮想プロセッサ612は、ページの誤りを生じたメモリ
ーの照合を反復し、データがこの時MEM10112に
存在するため、この照合は成功しプロセス610の実行
は継続する。
構成要素が対話する方法は、CS10110がページの
誤りを処理する方法、即ちCS10110においては使
用できないデータの照合によって示される。ページ誤り
が存在するとこの最初の表示は、ATUミス事象信号で
ある。この事象信号は、読出しまたは書込み操作におい
て使用される論理記述子27116に対するATU10
228においてエントリが存在しない時FU10120
におけるATU10228によって生成される。この事
象信号はオペレーティング・システム40102のマイ
クロコードを惹起し、これは論理記述子27116によ
り記述されるデータがMEM10112においてコピー
を有するかどうかを見出すため、MEM10112にお
けるテーブルを検査する。もしこのテーブルがコピーが
存在しないことを示すならば、オペレーティング・シス
テム40102のマイクロコードは、オペレーティング
・システム40102の仮想メモリー管理プロセス61
0に対しページ誤りの事実を通信して、ページ誤りがJ
P10114から生じた時を検査中のプロセス610に
対し束縛された仮想プロセッサ612を取除く。しばら
く後に、プロセス610がJP10114に対し束縛さ
れる。次に、プロセス610により実行された手順60
2はED10124における所要のデータを見出すため
要求される入出力操作を開始し、これをMEM1011
2に対しコピーする。このデータがMEM10112に
おいて使用可能である時、オペレーティング・システム
40102は、前記のページ誤りが生じる時実行中であ
るプロセス610に対して束縛された仮想プロセッサ6
12がJP10114に対して戻ることを可能にする。
仮想プロセッサ612は、ページの誤りを生じたメモリ
ーの照合を反復し、データがこの時MEM10112に
存在するため、この照合は成功しプロセス610の実行
は継続する。
【1146】c.拡張されたオペレーティング・システ
ムおよび核心的オペレーティング・システム(図40
3) CS10110においては、オペレーティング・システ
ム40102は、2つの構成オペレーティング・システ
ムである拡張オペレーティング・システム(EOS)お
よび核心のオペレーティング・システム(KOS)から
なる。KOSは物理的資源に対する直接的なアクセスを
有する。これは、1組の元の仮想資源を規定し、元の仮
想資源において物理的資源を多重化する。このEOS
は、KOSにより規定される元の仮想資源に対しアクセ
スするが、物理的資源に対してはアクセスしない。EO
Sは1組のユーザ・レベルの仮想資源を規定し、ユーザ
・レベルの仮想資源においてKOSにより規定された元
の仮想資源を多重化する。例えば、KOSはEOSにプ
ロセス610および仮想プロセッサ612を与えて仮想
プロセッサ612をJP10114に束縛するが、EO
Sはプロセス610が形成される時を決定し、またプロ
セス610が仮想プロセッサ612に対して束縛される
時を決定する。
ムおよび核心的オペレーティング・システム(図40
3) CS10110においては、オペレーティング・システ
ム40102は、2つの構成オペレーティング・システ
ムである拡張オペレーティング・システム(EOS)お
よび核心のオペレーティング・システム(KOS)から
なる。KOSは物理的資源に対する直接的なアクセスを
有する。これは、1組の元の仮想資源を規定し、元の仮
想資源において物理的資源を多重化する。このEOS
は、KOSにより規定される元の仮想資源に対しアクセ
スするが、物理的資源に対してはアクセスしない。EO
Sは1組のユーザ・レベルの仮想資源を規定し、ユーザ
・レベルの仮想資源においてKOSにより規定された元
の仮想資源を多重化する。例えば、KOSはEOSにプ
ロセス610および仮想プロセッサ612を与えて仮想
プロセッサ612をJP10114に束縛するが、EO
Sはプロセス610が形成される時を決定し、またプロ
セス610が仮想プロセッサ612に対して束縛される
時を決定する。
【1147】図403は、610と、EOSと、KOS
と、CS10110における物理的資源間の関係を示し
ている。図403、実行中のユーザのプロセス610と
JP10114間のインターフェースの3つのレベルを
示している。最も高いレベルのインターフェースは手順
レベル40302である。このレベルにおいては、プロ
セス610が実行中であるプログラムにより指定される
如く手順602を呼出すことにより、プロセス610が
CS10110と対話する。この呼出しは、ユーザ手順
40306に対する呼出しまたはEOS手順40307
のいずれかである。プロセス610が手順602の実行
中、プロセス610はSINのあるストリームを生じ
る。このストリームは、2種類のSIN、即ちS言語S
IN40310およびKOS SIN40311を含
む。両方の種類のSINは、次のレベルのインターフェ
ース、即ちSINレベル・インターフェース40309
においてCS10110と対話する。SIN40310
および40311はマイクロコード40312と403
13により解釈され、またマイクロ命令40315は最
も低いレベルのインターフェース、即ちJP10114
のインターフェース40316においてCS10110
と対話する。既にFU10120のマイクロ命令の論議
において説明したように、JP10114におけるある
条件が、Sインタプリタ・マイクロコード40312ま
たはKOSマイクロコード40313においてマイクロ
ルーチンを生じる事象信号40314を惹起する結果と
なる。手順レベル・インターフェース40302および
SINレベル・インターフェース40309のみがユー
ザから認識可能である。SINレベル・インターフェー
ス40309は手順602における呼出しまたはユーザ
の手順602におけるステートメントとして現われ、そ
れをコンパイラが手順602に対する呼出しに翻訳す
る。SINレベル・インターフェース40309は、名
前テーブル10335およびコンパイラにより生成され
た手順オブジェクト608におけるSINとして現われ
る。
と、CS10110における物理的資源間の関係を示し
ている。図403、実行中のユーザのプロセス610と
JP10114間のインターフェースの3つのレベルを
示している。最も高いレベルのインターフェースは手順
レベル40302である。このレベルにおいては、プロ
セス610が実行中であるプログラムにより指定される
如く手順602を呼出すことにより、プロセス610が
CS10110と対話する。この呼出しは、ユーザ手順
40306に対する呼出しまたはEOS手順40307
のいずれかである。プロセス610が手順602の実行
中、プロセス610はSINのあるストリームを生じ
る。このストリームは、2種類のSIN、即ちS言語S
IN40310およびKOS SIN40311を含
む。両方の種類のSINは、次のレベルのインターフェ
ース、即ちSINレベル・インターフェース40309
においてCS10110と対話する。SIN40310
および40311はマイクロコード40312と403
13により解釈され、またマイクロ命令40315は最
も低いレベルのインターフェース、即ちJP10114
のインターフェース40316においてCS10110
と対話する。既にFU10120のマイクロ命令の論議
において説明したように、JP10114におけるある
条件が、Sインタプリタ・マイクロコード40312ま
たはKOSマイクロコード40313においてマイクロ
ルーチンを生じる事象信号40314を惹起する結果と
なる。手順レベル・インターフェース40302および
SINレベル・インターフェース40309のみがユー
ザから認識可能である。SINレベル・インターフェー
ス40309は手順602における呼出しまたはユーザ
の手順602におけるステートメントとして現われ、そ
れをコンパイラが手順602に対する呼出しに翻訳す
る。SINレベル・インターフェース40309は、名
前テーブル10335およびコンパイラにより生成され
た手順オブジェクト608におけるSINとして現われ
る。
【1148】図403が示すように、EOSは手順レベ
ル・インターフェース40302においてのみ存在する
が、KOSは手順レベル・インターフェース4030
2、SINレベル・インターフェース40304および
SINレベル・インターフェース40309の下方のマ
イクロコード内において存在する。ユーザのプロセス6
10に対して直接使用可能なこのオペレーティング・シ
ステムの唯一の部分がEOS手順40307である。E
OS手順40307は更にKOS手順40308を呼出
す。多くの場合、EOS手順40307はKOS手順4
0308に対する呼出し以外の何者も含まない。
ル・インターフェース40302においてのみ存在する
が、KOSは手順レベル・インターフェース4030
2、SINレベル・インターフェース40304および
SINレベル・インターフェース40309の下方のマ
イクロコード内において存在する。ユーザのプロセス6
10に対して直接使用可能なこのオペレーティング・シ
ステムの唯一の部分がEOS手順40307である。E
OS手順40307は更にKOS手順40308を呼出
す。多くの場合、EOS手順40307はKOS手順4
0308に対する呼出し以外の何者も含まない。
【1149】ユーザ手順40306、EOS手順403
07およびKOS手順40308は全てS言語SIN4
0310を含む。更に、KOS手順40308のみが特
殊なKOS SIN40311を含む。特殊なKOS
SIN40311は、EOS手順40307もしくはユ
ーザ手順40306からは利用不可能な諸機能を制御
し、従ってKOS SIN40311はユーザ手順40
306またはEOS手順40307には現われない。S
言語SIN40310はSインタプリタ・マイクロコー
ド40312によって翻訳されるが、KOS SIN4
0311はKOSマイクロコード40313によって翻
訳される。KOSマイクロコード40313もまたSイ
ンタプリタ・マイクロコード40312によって呼出す
ことができる。事象信号40314を生じるハードウェ
ア条件に従ってこの信号はSインタプリタ・マイクロコ
ード40312またはKOSマイクロコード40313
のいずれかの実行を惹起し得る。
07およびKOS手順40308は全てS言語SIN4
0310を含む。更に、KOS手順40308のみが特
殊なKOS SIN40311を含む。特殊なKOS
SIN40311は、EOS手順40307もしくはユ
ーザ手順40306からは利用不可能な諸機能を制御
し、従ってKOS SIN40311はユーザ手順40
306またはEOS手順40307には現われない。S
言語SIN40310はSインタプリタ・マイクロコー
ド40312によって翻訳されるが、KOS SIN4
0311はKOSマイクロコード40313によって翻
訳される。KOSマイクロコード40313もまたSイ
ンタプリタ・マイクロコード40312によって呼出す
ことができる。事象信号40314を生じるハードウェ
ア条件に従ってこの信号はSインタプリタ・マイクロコ
ード40312またはKOSマイクロコード40313
のいずれかの実行を惹起し得る。
【1150】図403はユーザのプロセス610を実行
する時のシステムを示している。更に、KOSおよびE
OSの用途のため留保された特別のプロセス610が存
在する。これらのプロセス610はユーザのプロセス6
10の如く作用するが、プロセス管理および仮想メモリ
ー管理の如きオペレーティング・システムの諸機能を実
施する。1つの例外として、EOSプロセス610はE
OS手順40307とKOS手順40308を呼出す
が、KOSプロセス610はKOS手順40308のみ
を呼出す。この例外はプロセス610の実行の開始であ
り、KOSはプロセス610の実行の開始に必要なKO
Sレベル機能を実施し、次いでEOSを呼出すのであ
る。EOSは所要のEOSレベル機能を実施し、次いで
プロセス610が実行中のプログラムにおいて最初のユ
ーザ手順40306を呼出すのである。
する時のシステムを示している。更に、KOSおよびE
OSの用途のため留保された特別のプロセス610が存
在する。これらのプロセス610はユーザのプロセス6
10の如く作用するが、プロセス管理および仮想メモリ
ー管理の如きオペレーティング・システムの諸機能を実
施する。1つの例外として、EOSプロセス610はE
OS手順40307とKOS手順40308を呼出す
が、KOSプロセス610はKOS手順40308のみ
を呼出す。この例外はプロセス610の実行の開始であ
り、KOSはプロセス610の実行の開始に必要なKO
Sレベル機能を実施し、次いでEOSを呼出すのであ
る。EOSは所要のEOSレベル機能を実施し、次いで
プロセス610が実行中のプログラムにおいて最初のユ
ーザ手順40306を呼出すのである。
【1151】KOSが如何にしてページ誤りを処理する
かの説明は、JP10114の、SINのおよび手レベ
ルにおいて該システムの各部が如何にして一緒に作用す
るかを示す上で役立ち得る。プロセス610がMEM1
0112にコピーを持たないデータ項目を照合する時に
ページ誤りが生じる。このページ誤りは、ATU102
28からの事象信号として開始する。この事象信号はK
OSマイクロコード40313においてマイクロルーチ
ンを生じる。もしこのマイクロルーチンが照合されたデ
ータ項目がMEM10112に存在しないことを確認す
るならば、これはMEM10112のあるKOSテーブ
ルにおいてこのページ誤りの事実を記録し、JP101
14からのページ誤りを生じたプロセス610に束縛さ
れた仮想プロセッサ612の束縛を解除する別のKOS
マイクロルーチンを呼出して、別のプロセス610の仮
想プロセッサ612の実行を許容する。ページ誤り後あ
る時点において、ある特殊なオペレーティング・システ
ムのプロセス610、即ち仮想メモリー管理プロセス6
10が作動してSINレベル・インターフェース403
09を実行する。仮想メモリー管理プロセス610は、
ED10124からMEM10112へデータを読込む
入出力操作を開始する。IOS10116がこの操作を
完了する時、ページ誤りを生じたプロセス610は再び
動作が可能であり、仮想メモリー管理プロセス610
は、プロセス610の仮想プロセッサ612を再びJP
10114に対し束縛させる操作を実施する。プロセス
610が実行を再開する時、このプロセスは前記データ
の照合を再び試みる。このデータはこの時MEM101
12に存在し、そのためページ誤りは反復しない。
かの説明は、JP10114の、SINのおよび手レベ
ルにおいて該システムの各部が如何にして一緒に作用す
るかを示す上で役立ち得る。プロセス610がMEM1
0112にコピーを持たないデータ項目を照合する時に
ページ誤りが生じる。このページ誤りは、ATU102
28からの事象信号として開始する。この事象信号はK
OSマイクロコード40313においてマイクロルーチ
ンを生じる。もしこのマイクロルーチンが照合されたデ
ータ項目がMEM10112に存在しないことを確認す
るならば、これはMEM10112のあるKOSテーブ
ルにおいてこのページ誤りの事実を記録し、JP101
14からのページ誤りを生じたプロセス610に束縛さ
れた仮想プロセッサ612の束縛を解除する別のKOS
マイクロルーチンを呼出して、別のプロセス610の仮
想プロセッサ612の実行を許容する。ページ誤り後あ
る時点において、ある特殊なオペレーティング・システ
ムのプロセス610、即ち仮想メモリー管理プロセス6
10が作動してSINレベル・インターフェース403
09を実行する。仮想メモリー管理プロセス610は、
ED10124からMEM10112へデータを読込む
入出力操作を開始する。IOS10116がこの操作を
完了する時、ページ誤りを生じたプロセス610は再び
動作が可能であり、仮想メモリー管理プロセス610
は、プロセス610の仮想プロセッサ612を再びJP
10114に対し束縛させる操作を実施する。プロセス
610が実行を再開する時、このプロセスは前記データ
の照合を再び試みる。このデータはこの時MEM101
12に存在し、そのためページ誤りは反復しない。
【1152】オペレーティング・システム40102を
2つの階層的に関連したオペレーティング・システムに
分割することはCS10110についての特徴とすると
ころである。いくつかの利点がこの分割により得られ
る。即ち、 −2つのオペレーティング・システムの各々は、1つの
オペレーティング・システムの場所よりも更に簡単であ
る。EOSはそれ自体を主として資源割当て方針および
高水準の仮想資源と関連させ、KOSはそれ自体を高水
準の仮想資源およびハードウェア制御と関連させること
ができる。 −各オペレーティング・システムは比較的簡単なため、
各システムの構成要素が正確に作動していることの検査
が更に容易であり、また従って2つのシステムは1つの
システムよりも信頼度が高い。 −オペレーティング・システム40102の分割はCS
10110の異なる実施例の構成が更に容易である。E
OSにより提供されるインターフェースのみがユーザか
ら認識可能であり、その結果システムに対するユーザの
インターフェースがKOSを変更することなく変更可能
である。実際に、1つのCS10110は多くのEOS
を有することができ、このため異なるユーザに対して異
なるインターフェースを提供することができる。同様
に、ハードウェアにおける変化がKOSの構成に影響を
与えるが、KOSがEOSに提供するインターフェース
には影響を及ぼさない。あるEOSは、従って、CS1
0110の1つ以上の実施例について実行可能である。 −分割されたオペレーティング・システムは単一のオペ
レーティング・システムよりも更に確実である。JP1
0114に対する物理的アクセスは専らKOSによって
与えられ、その結果、KOSはユーザがアクセス権を有
する如き資源のみを操作することを保証可能である。
2つの階層的に関連したオペレーティング・システムに
分割することはCS10110についての特徴とすると
ころである。いくつかの利点がこの分割により得られ
る。即ち、 −2つのオペレーティング・システムの各々は、1つの
オペレーティング・システムの場所よりも更に簡単であ
る。EOSはそれ自体を主として資源割当て方針および
高水準の仮想資源と関連させ、KOSはそれ自体を高水
準の仮想資源およびハードウェア制御と関連させること
ができる。 −各オペレーティング・システムは比較的簡単なため、
各システムの構成要素が正確に作動していることの検査
が更に容易であり、また従って2つのシステムは1つの
システムよりも信頼度が高い。 −オペレーティング・システム40102の分割はCS
10110の異なる実施例の構成が更に容易である。E
OSにより提供されるインターフェースのみがユーザか
ら認識可能であり、その結果システムに対するユーザの
インターフェースがKOSを変更することなく変更可能
である。実際に、1つのCS10110は多くのEOS
を有することができ、このため異なるユーザに対して異
なるインターフェースを提供することができる。同様
に、ハードウェアにおける変化がKOSの構成に影響を
与えるが、KOSがEOSに提供するインターフェース
には影響を及ぼさない。あるEOSは、従って、CS1
0110の1つ以上の実施例について実行可能である。 −分割されたオペレーティング・システムは単一のオペ
レーティング・システムよりも更に確実である。JP1
0114に対する物理的アクセスは専らKOSによって
与えられ、その結果、KOSはユーザがアクセス権を有
する如き資源のみを操作することを保証可能である。
【1153】CS10110は全てKOSにより規定さ
れる仮想資源を有するが、EOSにより規定される資源
は1つのCS10110から別のCS10110に変化
し、あるいは単一のCS10110内でさえ変動する。
その結果、論議の残りはKOSに関するものとなろう。
れる仮想資源を有するが、EOSにより規定される資源
は1つのCS10110から別のCS10110に変化
し、あるいは単一のCS10110内でさえ変動する。
その結果、論議の残りはKOSに関するものとなろう。
【1154】KOSおよびCS10110の残りの関係
は4つの原理により支配される。即ち、 −KOSは、これが制御するもののみが資源に対するア
クセスを有する。EOSに対するユーザの呼出しがKO
Sに対するEOS呼出しを生じる結果となり、またS言
語SINがKOSマイクロコード・ルーチンの呼出しを
惹起することができるが、EOSまたはユーザ・プログ
ラムのいずれもKOSにより制御される資源を直接操作
することができない。 −KOSは受動的である。これはEOSからの呼出し、
マイクロコード呼出し、および事象信号に応答するが、
それ自体についての動作は一切開始しない。 −KOSはEOSを除く全てのシステムのユーザから認
識不能である。KOSはプロセス610の論理的挙動に
は影響を及ぼさず、プロセス610がCS10110に
関して実行する速度に関してのみユーザに通知可能であ
る。
は4つの原理により支配される。即ち、 −KOSは、これが制御するもののみが資源に対するア
クセスを有する。EOSに対するユーザの呼出しがKO
Sに対するEOS呼出しを生じる結果となり、またS言
語SINがKOSマイクロコード・ルーチンの呼出しを
惹起することができるが、EOSまたはユーザ・プログ
ラムのいずれもKOSにより制御される資源を直接操作
することができない。 −KOSは受動的である。これはEOSからの呼出し、
マイクロコード呼出し、および事象信号に応答するが、
それ自体についての動作は一切開始しない。 −KOSはEOSを除く全てのシステムのユーザから認
識不能である。KOSはプロセス610の論理的挙動に
は影響を及ぼさず、プロセス610がCS10110に
関して実行する速度に関してのみユーザに通知可能であ
る。
【1155】前述の如く、KOSは物理的および仮想の
資源の双方を管理する。この物理的な制御およびある仮
想資源はKOS内部においてのみ認識可能であり、仮想
資源の他のものはEOSに対して与えられる。各仮想資
源は2つの主な部分、即ち仮想資源の条件を含む1組の
データベースと、仮想資源を操作する1組のルーチンを
有する。1つの資源に対して組をなすルーチンは、資源
の管理ルーチンと呼ばれる。このルーチンはKOS手順
40308であり、あるいはKOSマイクロコード40
313である。前述の如く、ある場合には、KOSは別
個のプロセス610を用いてその資源を管理する。
資源の双方を管理する。この物理的な制御およびある仮
想資源はKOS内部においてのみ認識可能であり、仮想
資源の他のものはEOSに対して与えられる。各仮想資
源は2つの主な部分、即ち仮想資源の条件を含む1組の
データベースと、仮想資源を操作する1組のルーチンを
有する。1つの資源に対して組をなすルーチンは、資源
の管理ルーチンと呼ばれる。このルーチンはKOS手順
40308であり、あるいはKOSマイクロコード40
313である。前述の如く、ある場合には、KOSは別
個のプロセス610を用いてその資源を管理する。
【1156】本文のオブジェクトのため、KOSにより
管理される資源は2つの主なグループに該当する。即
ち、オブジェクトと関連するものおよびプロセス610
と関連するものである。以下においては、最初にオブジ
ェクトと関連する資源、次いでプロセス610と関連す
るものについて論議する。
管理される資源は2つの主なグループに該当する。即
ち、オブジェクトと関連するものおよびプロセス610
と関連するものである。以下においては、最初にオブジ
ェクトと関連する資源、次いでプロセス610と関連す
るものについて論議する。
【1157】B.オブジェクトおよびオブジェクトの管
理(図404) 仮想資源と呼ばれるオブジェクトはKOSにより規定さ
れ、EOSおよびKOSによって操作される。EOSに
より知られるオブジェクトは次の5つの特性を有する。
即ち、 −オブジェクトの持続期間の間中オブジェクトを識別し
てこのオブジェクトがどの論理的割当て装置(LAU)
に帰属するかを規定する。 −オブジェクトを記述してそれに対するアクセスを制限
する1組の属性。 −ビットのアドレス指定可能な内容。本実施例において
は、この内容は長さが0乃至(2**32) −1ビットの範囲内にある。この内容におけるどのビッ
トもオフセットによってアドレス指定可能である。 −オブジェクトは形成可能である。 −オブジェクトは破壊可能である。
理(図404) 仮想資源と呼ばれるオブジェクトはKOSにより規定さ
れ、EOSおよびKOSによって操作される。EOSに
より知られるオブジェクトは次の5つの特性を有する。
即ち、 −オブジェクトの持続期間の間中オブジェクトを識別し
てこのオブジェクトがどの論理的割当て装置(LAU)
に帰属するかを規定する。 −オブジェクトを記述してそれに対するアクセスを制限
する1組の属性。 −ビットのアドレス指定可能な内容。本実施例において
は、この内容は長さが0乃至(2**32) −1ビットの範囲内にある。この内容におけるどのビッ
トもオフセットによってアドレス指定可能である。 −オブジェクトは形成可能である。 −オブジェクトは破壊可能である。
【1158】あるCS10110におけるデータおよび
手順602の全てはオブジェクトに含まれる。あるCS
10110に関して実行中のどのプロセス610もある
UIDオフセット・アドレスを用いて、プロセス610
が実行中のCS10110に対しアドレス可能などのC
S10110に関するあるオブジェクトにおけるデータ
または手順602にアクセスを試みることができる。こ
のようにいずれかのプロセス610によりアクセス可能
なオブジェクトは、全ての現在および将来のCS101
10に対して一義的であることを保証されるUIDを有
するものである。このような一義的なUIDを有するオ
ブジェクトは、CS10110に関して実行中のプロセ
ス610に対して少なくとも潜在的にアクセス可能な単
一のアドレス空間を形成する。以下において詳細に説明
するように、実際にプロセス610がこの単一のアドレ
ス空間におけるあるオブジェクトをアクセス可能である
かどうかは、プロセス610がこのオブジェクトに対す
るアクセス権を有するかどうかに依存する。そのUID
が一義的でない他のオブジェクトは、CS10110ま
たは一義的でないUIDが実際には一義的であるCS1
0110のグループに関して実行中のプロセス610に
よってのみアクセス可能である。ある時点においてある
CS10110に対しアクセス可能な2つのオブジェク
トが同じUIDを有することはできない。
手順602の全てはオブジェクトに含まれる。あるCS
10110に関して実行中のどのプロセス610もある
UIDオフセット・アドレスを用いて、プロセス610
が実行中のCS10110に対しアドレス可能などのC
S10110に関するあるオブジェクトにおけるデータ
または手順602にアクセスを試みることができる。こ
のようにいずれかのプロセス610によりアクセス可能
なオブジェクトは、全ての現在および将来のCS101
10に対して一義的であることを保証されるUIDを有
するものである。このような一義的なUIDを有するオ
ブジェクトは、CS10110に関して実行中のプロセ
ス610に対して少なくとも潜在的にアクセス可能な単
一のアドレス空間を形成する。以下において詳細に説明
するように、実際にプロセス610がこの単一のアドレ
ス空間におけるあるオブジェクトをアクセス可能である
かどうかは、プロセス610がこのオブジェクトに対す
るアクセス権を有するかどうかに依存する。そのUID
が一義的でない他のオブジェクトは、CS10110ま
たは一義的でないUIDが実際には一義的であるCS1
0110のグループに関して実行中のプロセス610に
よってのみアクセス可能である。ある時点においてある
CS10110に対しアクセス可能な2つのオブジェク
トが同じUIDを有することはできない。
【1159】オブジェクトに関する以下の論議は、最初
に、EOSにより直接認識され、またユーザ・プログラ
ムにより間接的に認識される如きオブジェクトについて
述べ、次いでKOSに対して現われる如きオブジェクト
について述べる。
に、EOSにより直接認識され、またユーザ・プログラ
ムにより間接的に認識される如きオブジェクトについて
述べ、次いでKOSに対して現われる如きオブジェクト
について述べる。
【1160】図404は如何にしてオブジェクトがEO
Sに対して現われるかを示している。このオブジェクト
は3つの部分を有する。即ち、UID40401と、属
性40404と、内容40406とである。このオブジ
ェクトの内容は、論理的割当て装置(LAU)4040
5に存在している。UID40401は2つの部分を有
する。即ちオブジェクトが存在するのはどのLAU40
405であるかを表示するLAU識別子(LAUID)
40402と、LAU40405におけるオブジェクト
を指定するオブジェクト連続番号(OSN)40403
である。
Sに対して現われるかを示している。このオブジェクト
は3つの部分を有する。即ち、UID40401と、属
性40404と、内容40406とである。このオブジ
ェクトの内容は、論理的割当て装置(LAU)4040
5に存在している。UID40401は2つの部分を有
する。即ちオブジェクトが存在するのはどのLAU40
405であるかを表示するLAU識別子(LAUID)
40402と、LAU40405におけるオブジェクト
を指定するオブジェクト連続番号(OSN)40403
である。
【1161】このEOSは、LAU40405において
オブジェクトのUID40401を与えるオブジェクト
を形成することができ、またオブジェクトを破壊するこ
とができる。更に、EOSはオブジェクトの属性404
04の読出しおよび変更が可能である。あるCS101
10に関して実行中のどのプロセス610もオブジェク
トのUID40401を指定することによりあるオブジ
ェクトにおける情報およびこの情報が始まるオブジェク
トにおけるビットを照合することができる。最も高いレ
ベルにおいて、CS10110の各アドレスはこのよう
にあるオブジェクトを指定するUID40401と、ビ
ット数を情報が開始するオブジェクトに規定するオフセ
ットとからなる。以下において詳細に説明するように、
KOSはこのようなUIDオフセット・アドレスを、J
P10114において使用するためAONオフセット・
アドレスと呼ばれる中間的な形態、およびMEM101
12に対してコピーされた情報を照合する際に使用され
るページ番号変位アドレスに変換する。
オブジェクトのUID40401を与えるオブジェクト
を形成することができ、またオブジェクトを破壊するこ
とができる。更に、EOSはオブジェクトの属性404
04の読出しおよび変更が可能である。あるCS101
10に関して実行中のどのプロセス610もオブジェク
トのUID40401を指定することによりあるオブジ
ェクトにおける情報およびこの情報が始まるオブジェク
トにおけるビットを照合することができる。最も高いレ
ベルにおいて、CS10110の各アドレスはこのよう
にあるオブジェクトを指定するUID40401と、ビ
ット数を情報が開始するオブジェクトに規定するオフセ
ットとからなる。以下において詳細に説明するように、
KOSはこのようなUIDオフセット・アドレスを、J
P10114において使用するためAONオフセット・
アドレスと呼ばれる中間的な形態、およびMEM101
12に対してコピーされた情報を照合する際に使用され
るページ番号変位アドレスに変換する。
【1162】オブジェクトの物理的構成および操作は専
らKOSにより制約される。例えば、オブジェクトおよ
びその属性は実際にED10124において記憶され
る。あるプログラムがあるオブジェクトの一部を照合す
る時、KOSはこのオブジェクトの前記部分をED10
124からMEM10112にコピーし、もしMEM1
0112における前記部分が変更されるならば、ED1
0124におけるこのオブジェクトのコピーを更新す
る。EOSおよびユーザ・プログラムは、ED1012
4におけるあるオブジェクトの場所、またMEM101
12におけるあるオブジェクトの一部のコピーの場所を
制御することはできず、従ってKOSによってのみオブ
ジェクトへのアクセスが可能である。
らKOSにより制約される。例えば、オブジェクトおよ
びその属性は実際にED10124において記憶され
る。あるプログラムがあるオブジェクトの一部を照合す
る時、KOSはこのオブジェクトの前記部分をED10
124からMEM10112にコピーし、もしMEM1
0112における前記部分が変更されるならば、ED1
0124におけるこのオブジェクトのコピーを更新す
る。EOSおよびユーザ・プログラムは、ED1012
4におけるあるオブジェクトの場所、またMEM101
12におけるあるオブジェクトの一部のコピーの場所を
制御することはできず、従ってKOSによってのみオブ
ジェクトへのアクセスが可能である。
【1163】EOSはオブジェクトの物理的構成の制御
が不可能であるが、これはKOSにオブジェクトをより
有効に管理させる情報をKOSに与えることができる。
このような情報はヒントと呼ばれる。例えば、もしある
プロセス610がオブジェクトにおける情報を照合する
だけで、KOSは一般に1つのオブジェクトの一部をM
EM10112にコピーする。しかし、EOSはプロセ
ス610の実行の予定を立て、従っていくつかのオブジ
ェクトが近い将来必要となることを予測することができ
る。EOSはこの情報をKOSに対して送ることがで
き、KOSはこの情報を用いてオブジェクトのどの部分
がMEM10112にコピーするかを判定することがで
きる。
が不可能であるが、これはKOSにオブジェクトをより
有効に管理させる情報をKOSに与えることができる。
このような情報はヒントと呼ばれる。例えば、もしある
プロセス610がオブジェクトにおける情報を照合する
だけで、KOSは一般に1つのオブジェクトの一部をM
EM10112にコピーする。しかし、EOSはプロセ
ス610の実行の予定を立て、従っていくつかのオブジ
ェクトが近い将来必要となることを予測することができ
る。EOSはこの情報をKOSに対して送ることがで
き、KOSはこの情報を用いてオブジェクトのどの部分
がMEM10112にコピーするかを判定することがで
きる。
【1164】a.オブジェクトおよびユーザ・プログラ
ム(図405) 前述の如く、ユーザ・プログラムはオブジェクトの操作
が可能であるが、このオブジェクトは一般に直接ユーザ
・プログラムにとって認識できない。その代り、ユーザ
・プログラムは可変名前の如き記号その他の照合の記号
を用いてオブジェクト自体を照合するためのオブジェク
トまたはファイル名前に記憶されたデータを照合する。
名前空間の論議は、既に、如何にしてCS10110の
コンパイラが手順602におけるステートメントに現わ
れる書込名前を名前、即ちNTE30401の指標に翻
訳するか、如何にして名前解明マイクロコードがNTE
30401を論理記述子27116に解くか、また如何
にしてATU10228が論理記述子27116を変数
により示されるデータが存在するオブジェクトの部分の
コピーを含むMEM10112における場所に翻訳する
かについて提示した。
ム(図405) 前述の如く、ユーザ・プログラムはオブジェクトの操作
が可能であるが、このオブジェクトは一般に直接ユーザ
・プログラムにとって認識できない。その代り、ユーザ
・プログラムは可変名前の如き記号その他の照合の記号
を用いてオブジェクト自体を照合するためのオブジェク
トまたはファイル名前に記憶されたデータを照合する。
名前空間の論議は、既に、如何にしてCS10110の
コンパイラが手順602におけるステートメントに現わ
れる書込名前を名前、即ちNTE30401の指標に翻
訳するか、如何にして名前解明マイクロコードがNTE
30401を論理記述子27116に解くか、また如何
にしてATU10228が論理記述子27116を変数
により示されるデータが存在するオブジェクトの部分の
コピーを含むMEM10112における場所に翻訳する
かについて提示した。
【1165】UID40401へのファイル名前の翻訳
はEOSによって達成される。EOSは、パス名と呼ば
れるシステムのファイル名とこのファイルのデータを含
むオブジェクトのUID40401間の関係を確保する
ファイル名翻訳テーブルを保持し、これによりパス名を
オブジェクトと関連付ける。パス名は、CS10110
のユーザに対するファイルを識別する一連のASCII
文字である。あるCS10110における各パス名は一
義的でなければならない。図405はファイル名翻訳テ
ーブルを示す。同図においては、あるユーザがEOSに
対してパス名40501を与える時、EOSはファイル
名翻訳テーブル40503を用いてパスワードパス名4
0501をこのファイルを保有するオブジェクト405
04に対するUID40401に翻訳する。CS101
10におけるあるオブジェクトは、このように2つの方
法、即ちそのUID40401またはパス名40501
により識別することができる。あるオブジェクトがその
ファイル全体において唯1つのUIDしか持たないが、
このオブジェクトは多くのパス名40501を有するこ
とができる。あるオブジェクトのパス名40501を変
更に必要な全てのことは、ファイル名翻訳テーブル40
503におけるオブジェクトのエントリ40502にお
ける他のパス名に対する代替である。あるオブジェクト
がその持続期間中に異なるパス名40501を有すると
いう事実の1つの結果は、あるプログラムがオブジェク
トの識別のため1つのパス名40501を用いる時、C
S10110のあるユーザが、単に以前パス名4050
1を保有したオブジェクトであってプログラムにおいて
新たなパス名40501を表わすオブジェクトを与える
ことにより、またこのプログラムにおいて現われるパス
名40501を処理すべく次のオブジェクトを与えるこ
とによるだけでプログラムに異なるオブジェクトを処理
させることができる。
はEOSによって達成される。EOSは、パス名と呼ば
れるシステムのファイル名とこのファイルのデータを含
むオブジェクトのUID40401間の関係を確保する
ファイル名翻訳テーブルを保持し、これによりパス名を
オブジェクトと関連付ける。パス名は、CS10110
のユーザに対するファイルを識別する一連のASCII
文字である。あるCS10110における各パス名は一
義的でなければならない。図405はファイル名翻訳テ
ーブルを示す。同図においては、あるユーザがEOSに
対してパス名40501を与える時、EOSはファイル
名翻訳テーブル40503を用いてパスワードパス名4
0501をこのファイルを保有するオブジェクト405
04に対するUID40401に翻訳する。CS101
10におけるあるオブジェクトは、このように2つの方
法、即ちそのUID40401またはパス名40501
により識別することができる。あるオブジェクトがその
ファイル全体において唯1つのUIDしか持たないが、
このオブジェクトは多くのパス名40501を有するこ
とができる。あるオブジェクトのパス名40501を変
更に必要な全てのことは、ファイル名翻訳テーブル40
503におけるオブジェクトのエントリ40502にお
ける他のパス名に対する代替である。あるオブジェクト
がその持続期間中に異なるパス名40501を有すると
いう事実の1つの結果は、あるプログラムがオブジェク
トの識別のため1つのパス名40501を用いる時、C
S10110のあるユーザが、単に以前パス名4050
1を保有したオブジェクトであってプログラムにおいて
新たなパス名40501を表わすオブジェクトを与える
ことにより、またこのプログラムにおいて現われるパス
名40501を処理すべく次のオブジェクトを与えるこ
とによるだけでプログラムに異なるオブジェクトを処理
させることができる。
【1166】本実施例においては、1つのオブジェクト
は唯一のファイルを保有することができ、その結果パス
名40501は常にあるオブジェクト全体を照合するの
である。他の実施例においては、パス名40501は1
つのオブジェクトの一部を照合することができ、またか
かる実施例においては、ファイル名翻訳テーブル405
03はパス名40501をファイルの始めを規定するU
IDオフセット・アドレスと関連させる。
は唯一のファイルを保有することができ、その結果パス
名40501は常にあるオブジェクト全体を照合するの
である。他の実施例においては、パス名40501は1
つのオブジェクトの一部を照合することができ、またか
かる実施例においては、ファイル名翻訳テーブル405
03はパス名40501をファイルの始めを規定するU
IDオフセット・アドレスと関連させる。
【1167】b.UID40401(図406) UID40401はCS10110におけるオブジェク
トその他のエンテティの識別が可能である。UID40
401によって識別されるどのエンテティもその持続期
間中1つのUIDしか持たない。図406は、1つのC
S10110のUID40401を示す詳細図である。
UID40401は80ビットの長さであり、2つのフ
ィールドを有する。32ビットの長さのLAUID40
402は論理的割当て装置の識別子(LAUID)であ
る。これはオブジェクトを含むLAU40405を規定
する。LAUID40402は更に2つのサブフィール
ド、即ちLAUグループ番号(LAUGN)40607
と、LAU連続番号(LAUSN)40605に分割さ
れる。LAUGN40607は1つのグループをなすL
AU40405を規定しまたLAUSN40605はこ
のグループにおけるLAU40405を規定する。CS
10110の購入者は、メーカからLAUGN4060
7を入手することができる。メーカは、購入者に提供さ
れたLAUGN40607を他のCS10110に対し
ては割当てしないことを保証し、このためこれらLAU
GN40607は全てのCS10110に対して一義的
であるUID40401を形成するため使用することが
できる。48ビットの長さであるフィールド40604
はオブジェクトの連続番号(OSN)である。これはL
AU40405におけるオブジェクトを規定する。
トその他のエンテティの識別が可能である。UID40
401によって識別されるどのエンテティもその持続期
間中1つのUIDしか持たない。図406は、1つのC
S10110のUID40401を示す詳細図である。
UID40401は80ビットの長さであり、2つのフ
ィールドを有する。32ビットの長さのLAUID40
402は論理的割当て装置の識別子(LAUID)であ
る。これはオブジェクトを含むLAU40405を規定
する。LAUID40402は更に2つのサブフィール
ド、即ちLAUグループ番号(LAUGN)40607
と、LAU連続番号(LAUSN)40605に分割さ
れる。LAUGN40607は1つのグループをなすL
AU40405を規定しまたLAUSN40605はこ
のグループにおけるLAU40405を規定する。CS
10110の購入者は、メーカからLAUGN4060
7を入手することができる。メーカは、購入者に提供さ
れたLAUGN40607を他のCS10110に対し
ては割当てしないことを保証し、このためこれらLAU
GN40607は全てのCS10110に対して一義的
であるUID40401を形成するため使用することが
できる。48ビットの長さであるフィールド40604
はオブジェクトの連続番号(OSN)である。これはL
AU40405におけるオブジェクトを規定する。
【1168】UID40401はKOS手順602によ
って生成される。手順602には2つのものがあり、そ
の1つはオブジェクトを識別するUID40401を生
成し、他のものはCS10110における他のエンテテ
ィを識別するUID40401を生成する。前者の手順
602はオブジェクト生成UID手順と呼ばれ、後者は
非オブジェクト生成UID手順と呼ばれる。オブジェク
ト生成UID手順602は、KOS形成オブジェクト手
順602によってのみ呼出される。オブジェクト形成手
順602はオブジェクト生成UID手順602にLAU
ID40402を与えオブジェクト生成UID手順60
2はオブジェクトに対するUID40401を戻す。本
実施例においては、UID40401はアーキテクチャ
・クロックのその時の値を取ることにより形成され、M
EM10112のある場所に保持され、アーキテクチャ
・クロックのその時の値からOSN40403を形成
し、OSN40403をLAUID40402に連結す
る。
って生成される。手順602には2つのものがあり、そ
の1つはオブジェクトを識別するUID40401を生
成し、他のものはCS10110における他のエンテテ
ィを識別するUID40401を生成する。前者の手順
602はオブジェクト生成UID手順と呼ばれ、後者は
非オブジェクト生成UID手順と呼ばれる。オブジェク
ト生成UID手順602は、KOS形成オブジェクト手
順602によってのみ呼出される。オブジェクト形成手
順602はオブジェクト生成UID手順602にLAU
ID40402を与えオブジェクト生成UID手順60
2はオブジェクトに対するUID40401を戻す。本
実施例においては、UID40401はアーキテクチャ
・クロックのその時の値を取ることにより形成され、M
EM10112のある場所に保持され、アーキテクチャ
・クロックのその時の値からOSN40403を形成
し、OSN40403をLAUID40402に連結す
る。
【1169】非オブジェクト生成UID手順602は、
オブジェクトを規定しないUID40401を提供する
ためEOSにより生成することができる。非オブジェク
トUID40401は一義的なラベルが要求される場合
は常にCS10110において使用することができる。
例えば以下において詳細に説明するように、CS101
10から使用可能な全ての仮想プロセッサ612は非オ
ブジェクトUID40401を有する。全てのこのよう
な非オブジェクトUID40401は単一のLAUGN
40607を有し、このため、EOSはアーギュメント
としてLAUSN40605のみを提供するだけで良
い。非オブジェクト生成UID手順602はLAUSN
40605を特別のLAUGN40607と連結し、こ
のためLAUID40402はアーキテクチャ・クロッ
クから得たOSN40403と共に生成される。他の実
施例においては、オブジェクトと非オブジェクトの両U
ID40401に対するOSN40403はカウンタの
如き他の手段によって生成することができる。
オブジェクトを規定しないUID40401を提供する
ためEOSにより生成することができる。非オブジェク
トUID40401は一義的なラベルが要求される場合
は常にCS10110において使用することができる。
例えば以下において詳細に説明するように、CS101
10から使用可能な全ての仮想プロセッサ612は非オ
ブジェクトUID40401を有する。全てのこのよう
な非オブジェクトUID40401は単一のLAUGN
40607を有し、このため、EOSはアーギュメント
としてLAUSN40605のみを提供するだけで良
い。非オブジェクト生成UID手順602はLAUSN
40605を特別のLAUGN40607と連結し、こ
のためLAUID40402はアーキテクチャ・クロッ
クから得たOSN40403と共に生成される。他の実
施例においては、オブジェクトと非オブジェクトの両U
ID40401に対するOSN40403はカウンタの
如き他の手段によって生成することができる。
【1170】CS10110はまた空白UID4040
1と呼ばれる特別なUID40401を有する。この空
白UID40401は0のビットしか含まず、CS10
110におけるエンテティを示すことができないUID
値を必要とする情況において使用される。
1と呼ばれる特別なUID40401を有する。この空
白UID40401は0のビットしか含まず、CS10
110におけるエンテティを示すことができないUID
値を必要とする情況において使用される。
【1171】c.オブジェクトの属性 あるプログラムがあるオブジェクトについて処理可能な
ことはオブジェクトの属性40404によって判定され
る。2つの種類の属性、即ちオブジェクトの属性と制御
の属性が存在する。オブジェクトの属性はオブジェクト
の内容について記述し、制御の属性はオブジェクトに対
するアクセスを制御する。オブジェクトは、たとえ内容
40406を持たない場合でさえ属性40404を有
し、ある場合にはオブジェクトは専らその属性4040
4に対して存在することができる。
ことはオブジェクトの属性40404によって判定され
る。2つの種類の属性、即ちオブジェクトの属性と制御
の属性が存在する。オブジェクトの属性はオブジェクト
の内容について記述し、制御の属性はオブジェクトに対
するアクセスを制御する。オブジェクトは、たとえ内容
40406を持たない場合でさえ属性40404を有
し、ある場合にはオブジェクトは専らその属性4040
4に対して存在することができる。
【1172】本論のオブジェクトのため、オブジェクト
の属性には2つの種類が存在する。即ち、サイズの属性
および形式の属性である。
の属性には2つの種類が存在する。即ち、サイズの属性
および形式の属性である。
【1173】オブジェクトのサイズの属性は、オブジェ
クトがその時保有するビット数を表示する。あるオブジ
ェクトの内容40406に対する照合毎に、KOSはア
クセスされたデータがオブジェクトの終りを越えて拡張
しないことを確実にするため検査する。もしそうであれ
ば、この照合は打切られる。
クトがその時保有するビット数を表示する。あるオブジ
ェクトの内容40406に対する照合毎に、KOSはア
クセスされたデータがオブジェクトの終りを越えて拡張
しないことを確実にするため検査する。もしそうであれ
ば、この照合は打切られる。
【1174】形式の属性は、どんな種類の情報をオブジ
ェクトが有するか、またこの情報がどのように使用する
ことができるかを示す。形式の属性には3つの種類があ
る。即ち、元の形式属性、拡張形式属性および検査領域
属性である。あるオブジェクトの元の形式属性は、この
オブジェクトがデータオブジェクトか、手順オブジェク
ト608か、拡張形式管理か、Sインタプリタかを示
す。それらの名前が示唆するように、データオブジェク
トはデータを含み、手順オブジェクト608は手順60
2を保有する。拡張形式管理(ETM)は、その手順オ
ブジェクト608が専ら拡張形式オブジェクトと呼ばれ
るオブジェクトに関して操作を実施することができる特
別の形式の手順オブジェクト608である。拡張形式オ
ブジェクト(ETO)は、その元の形式属性に加えて拡
張された形式属性を有するオブジェクトであるが、その
詳細については、以下における拡張形式属性の論議を参
照されたい。SインタプリタはS言語に対するインタプ
リタを含むオブジェクトである。本実施例においては、
このインタプリタはタスク指名テーブルおよびマイクロ
コードからなるが、他の実施例においてはインタプリタ
はそれ自体高水準の言語で書くことができる。長さの属
性と同様に、元の形式属性は、KOSがあるプログラム
があるオブジェクトを正確に使用中であることを保証す
ることを可能にする。例えば、KOSが手順602に対
する読出しを実行する時、この手順は読出しにより指定
されるオブジェクトが手順オブジェクト608であるか
どうかを検査する。もしそうでなければ、この読出しは
失敗する。
ェクトが有するか、またこの情報がどのように使用する
ことができるかを示す。形式の属性には3つの種類があ
る。即ち、元の形式属性、拡張形式属性および検査領域
属性である。あるオブジェクトの元の形式属性は、この
オブジェクトがデータオブジェクトか、手順オブジェク
ト608か、拡張形式管理か、Sインタプリタかを示
す。それらの名前が示唆するように、データオブジェク
トはデータを含み、手順オブジェクト608は手順60
2を保有する。拡張形式管理(ETM)は、その手順オ
ブジェクト608が専ら拡張形式オブジェクトと呼ばれ
るオブジェクトに関して操作を実施することができる特
別の形式の手順オブジェクト608である。拡張形式オ
ブジェクト(ETO)は、その元の形式属性に加えて拡
張された形式属性を有するオブジェクトであるが、その
詳細については、以下における拡張形式属性の論議を参
照されたい。SインタプリタはS言語に対するインタプ
リタを含むオブジェクトである。本実施例においては、
このインタプリタはタスク指名テーブルおよびマイクロ
コードからなるが、他の実施例においてはインタプリタ
はそれ自体高水準の言語で書くことができる。長さの属
性と同様に、元の形式属性は、KOSがあるプログラム
があるオブジェクトを正確に使用中であることを保証す
ることを可能にする。例えば、KOSが手順602に対
する読出しを実行する時、この手順は読出しにより指定
されるオブジェクトが手順オブジェクト608であるか
どうかを検査する。もしそうでなければ、この読出しは
失敗する。
【1175】d.属性およびアクセス制御 残るオブジェクトの属性および制御属性は全てCS10
110のアクセス制御システムの一部である。このアク
セス制御システムについては以下において詳細に論議さ
れるが、本項においては、オブジェクトの論議に本質的
な程度に限って説明する。CS10110においては、
オブジェクトに対するアクセスは、プロセス610が手
順オブジェクト608に含まれるSINを取出し、オブ
ジェクトからのデータを読出し、またはある場合におい
ては、プロセス610が制御を手順602に対して転送
する時に生じる。このアクセス制御システムは、プロセ
ス610が試みつつあるアクセスを実施する権利を有す
るかどうかを検査する。CS10110においては2種
類のアクセス、即ち元のアクセスおよび拡張アクセスが
存在する。元のアクセスは、アクセス制御システムがプ
ロセス610によるオブジェクトに対する照合毎に検査
するアクセスであり、拡張アクセスはユーザの要素によ
ってのみ検査されるアクセスである。元のアクセス検査
はオブジェクト毎に実施され、拡張アクセス検査はEO
Sに関してのみ実施され、ETMに含まれる手順602
によってのみ実施することができる。
110のアクセス制御システムの一部である。このアク
セス制御システムについては以下において詳細に論議さ
れるが、本項においては、オブジェクトの論議に本質的
な程度に限って説明する。CS10110においては、
オブジェクトに対するアクセスは、プロセス610が手
順オブジェクト608に含まれるSINを取出し、オブ
ジェクトからのデータを読出し、またはある場合におい
ては、プロセス610が制御を手順602に対して転送
する時に生じる。このアクセス制御システムは、プロセ
ス610が試みつつあるアクセスを実施する権利を有す
るかどうかを検査する。CS10110においては2種
類のアクセス、即ち元のアクセスおよび拡張アクセスが
存在する。元のアクセスは、アクセス制御システムがプ
ロセス610によるオブジェクトに対する照合毎に検査
するアクセスであり、拡張アクセスはユーザの要素によ
ってのみ検査されるアクセスである。元のアクセス検査
はオブジェクト毎に実施され、拡張アクセス検査はEO
Sに関してのみ実施され、ETMに含まれる手順602
によってのみ実施することができる。
【1176】アクセス制御システムが検査する手段は、
プロセス610の主題およびオブジェクトのアクセス制
御リスト(ACL)である。各プロセス610は4つの
UID40401からなる主題を有する。これらのUI
D40401は下記のものを定義する。即ち、 −プロセス610がそのため形成されたユーザ。このU
ID40401は主題の主な要素と呼ばれる。 −プロセス610自体。このUID40401はプロセ
スの構成要素と呼ばれる。 −プロセス610がその時実行中の領域。このUID4
0401は領域構成要素と呼ばれる。 −ユーザが規定した主題のサブグループ。このUID4
0401はタッグ要素と呼ばれる。
プロセス610の主題およびオブジェクトのアクセス制
御リスト(ACL)である。各プロセス610は4つの
UID40401からなる主題を有する。これらのUI
D40401は下記のものを定義する。即ち、 −プロセス610がそのため形成されたユーザ。このU
ID40401は主題の主な要素と呼ばれる。 −プロセス610自体。このUID40401はプロセ
スの構成要素と呼ばれる。 −プロセス610がその時実行中の領域。このUID4
0401は領域構成要素と呼ばれる。 −ユーザが規定した主題のサブグループ。このUID4
0401はタッグ要素と呼ばれる。
【1177】領域は、グループをなす手順オブジェクト
608またはETMの1つにおいて手順602を実行中
のプロセス610により潜在的にアクセス可能なオブジ
ェクトのグループである。各手順オブジェクト608ま
たはETMは実行領域(DOE)属性を有する。この属
性はUID40401であり、プロセス610がこの手
順オブジェクト608またはETMにおけるある手順6
02の実行中、DOE属性のUID40401はプロセ
ス610の主題における領域の構成要素である。このD
OE属性は、このため、手順オブジェクト608から手
順602を実行中のプロセス610によってアクセス可
能なオブジェクトのグループを規定する。このグループ
のオブジェクトは手順オブジェクト608の領域と呼ば
れる。以上の定義より明らかになるように、主題の領域
の構成要素は手順602に対する呼出し、あるいはこれ
からの戻しと同時に変更することができる。タッグ要素
はユーザが望む時は常に変化することができるが、一
方、プロセス610の持続期間においては変化しない。
608またはETMの1つにおいて手順602を実行中
のプロセス610により潜在的にアクセス可能なオブジ
ェクトのグループである。各手順オブジェクト608ま
たはETMは実行領域(DOE)属性を有する。この属
性はUID40401であり、プロセス610がこの手
順オブジェクト608またはETMにおけるある手順6
02の実行中、DOE属性のUID40401はプロセ
ス610の主題における領域の構成要素である。このD
OE属性は、このため、手順オブジェクト608から手
順602を実行中のプロセス610によってアクセス可
能なオブジェクトのグループを規定する。このグループ
のオブジェクトは手順オブジェクト608の領域と呼ば
れる。以上の定義より明らかになるように、主題の領域
の構成要素は手順602に対する呼出し、あるいはこれ
からの戻しと同時に変更することができる。タッグ要素
はユーザが望む時は常に変化することができるが、一
方、プロセス610の持続期間においては変化しない。
【1178】アクセス制御システムの他の反部を構成す
るACLはオブジェクトの属性である。各ACLは一連
のエントリ(ACLE)からなり、各ACLEは2つの
部分、即ち主題のテンプレートと1組のアクセス特権を
有する。主題のテンプレートは1つのグループの主題を
規定し、1組のアクセス特権は、このグループに属する
手段のオブジェクトに対するアクセスの種類を規定す
る。1つのオブジェクトに対するアクセスが適正である
かどうかの検査のため、KOSがACLを検査する。こ
れにより、もしその主題テンプレートがこのアクセスを
欲するプロセス610のその時の主題と整合すること、
またその組をなすアクセス特権がプロセス610により
要求されるアクセスの種類を含むことを見出すならば、
アクセスを許容する。例えば、1つの手順オブジェクト
608が2つのエントリを有するACLを有することが
でき、その一方の主題テンプレートはどの主題のアクセ
スでも許容し、その組をなすアクセス特権は実行のアク
セスしか許容せず、また他方のその主題テンプレートは
1回のみの主題アクセスを許容しその組をなすアクセス
特権は読出し、書込みおよび実行のアクセスを許容す
る。このようなACLはCS10110のどのユーザで
も手順オブジェクト608において手順602を実行す
ることを許容するが特定のユーザに帰属して指定された
グループの手順602を実行する特定のプロセス610
のみが手順オブジェクト608における手順602を検
査しあるいはこれを修正することができる。
るACLはオブジェクトの属性である。各ACLは一連
のエントリ(ACLE)からなり、各ACLEは2つの
部分、即ち主題のテンプレートと1組のアクセス特権を
有する。主題のテンプレートは1つのグループの主題を
規定し、1組のアクセス特権は、このグループに属する
手段のオブジェクトに対するアクセスの種類を規定す
る。1つのオブジェクトに対するアクセスが適正である
かどうかの検査のため、KOSがACLを検査する。こ
れにより、もしその主題テンプレートがこのアクセスを
欲するプロセス610のその時の主題と整合すること、
またその組をなすアクセス特権がプロセス610により
要求されるアクセスの種類を含むことを見出すならば、
アクセスを許容する。例えば、1つの手順オブジェクト
608が2つのエントリを有するACLを有することが
でき、その一方の主題テンプレートはどの主題のアクセ
スでも許容し、その組をなすアクセス特権は実行のアク
セスしか許容せず、また他方のその主題テンプレートは
1回のみの主題アクセスを許容しその組をなすアクセス
特権は読出し、書込みおよび実行のアクセスを許容す
る。このようなACLはCS10110のどのユーザで
も手順オブジェクト608において手順602を実行す
ることを許容するが特定のユーザに帰属して指定された
グループの手順602を実行する特定のプロセス610
のみが手順オブジェクト608における手順602を検
査しあるいはこれを修正することができる。
【1179】ACLには2種類のものがある。全てのオ
ブジェクトは元のアクセス制御リスト(PACL)であ
り、ETOは更に拡張されたアクセス制御リスト(EA
CL)を有する。ACLFのこの主部は全てACLEに
おいて同じであり、2つの種類のリストはこれが制御す
るアクセスの種類において異なる。PACKにより制御
されるアクセスはKOSにより規定され、かかるアクセ
スを行なうための試み毎にKOSにより検査され、EA
CLにより制御されるアクセスはユーザによって規定さ
れ、ユーザがKOSにその実施を望む時にのみ検査され
る。
ブジェクトは元のアクセス制御リスト(PACL)であ
り、ETOは更に拡張されたアクセス制御リスト(EA
CL)を有する。ACLFのこの主部は全てACLEに
おいて同じであり、2つの種類のリストはこれが制御す
るアクセスの種類において異なる。PACKにより制御
されるアクセスはKOSにより規定され、かかるアクセ
スを行なうための試み毎にKOSにより検査され、EA
CLにより制御されるアクセスはユーザによって規定さ
れ、ユーザがKOSにその実施を望む時にのみ検査され
る。
【1180】e.オブジェクトの構成 1.序論(図407,図408) CS10110のユーザは、今述べた許りのオブジェク
トとそれ自体を関連させることのみを必要とする。ある
プロセス610が1つのオブジェクトを照合するために
は、このオブジェクトのLAU40405はプロセス6
10が実行中であるCS10110からアクセス可能で
なければならず、プロセス610はオブジェクトのUI
D40401を知らねばならず、またプロセス610の
その時の主題は所要の方向でオブジェクトに対するアク
セス権を持たねばならない。プロセス610は、如何に
してオブジェクトの内容40406および属性4040
4がCS10110の物理的素子に記憶されるかについ
ても、あるいはCS10110が内容40406および
属性40404をプロセス610にとって使用可能にす
るため用いる方向についてもこれを知る必要はない。
トとそれ自体を関連させることのみを必要とする。ある
プロセス610が1つのオブジェクトを照合するために
は、このオブジェクトのLAU40405はプロセス6
10が実行中であるCS10110からアクセス可能で
なければならず、プロセス610はオブジェクトのUI
D40401を知らねばならず、またプロセス610の
その時の主題は所要の方向でオブジェクトに対するアク
セス権を持たねばならない。プロセス610は、如何に
してオブジェクトの内容40406および属性4040
4がCS10110の物理的素子に記憶されるかについ
ても、あるいはCS10110が内容40406および
属性40404をプロセス610にとって使用可能にす
るため用いる方向についてもこれを知る必要はない。
【1181】他方、KOSは、オブジェクトをCS10
110を構成する物理的素子に関して構成しなければな
らない。その際、KOSは次の2組の物理的な制限を考
慮に入れなければならない。即ち、 −論理的には、全てのCS10110は単一の論理メモ
リーを持つが、システムにおけるメモリーの物理的構成
は階層的であり、あるCS10110は比較的小さなM
EM10112に対する迅速なアクセスを行ない、遅い
比較的大きなED10124に対しては遥かに遅いアク
セスを行ない、他のアクセス可能なCS10110に関
してはLAU40405に対して非常に遅いアクセスを
行なう。 −UID40401、および更に主題さえもJP101
14の内部データ経路およびJP10114のレジスタ
において効率的に処理するには大き過ぎる。
110を構成する物理的素子に関して構成しなければな
らない。その際、KOSは次の2組の物理的な制限を考
慮に入れなければならない。即ち、 −論理的には、全てのCS10110は単一の論理メモ
リーを持つが、システムにおけるメモリーの物理的構成
は階層的であり、あるCS10110は比較的小さなM
EM10112に対する迅速なアクセスを行ない、遅い
比較的大きなED10124に対しては遥かに遅いアク
セスを行ない、他のアクセス可能なCS10110に関
してはLAU40405に対して非常に遅いアクセスを
行なう。 −UID40401、および更に主題さえもJP101
14の内部データ経路およびJP10114のレジスタ
において効率的に処理するには大き過ぎる。
【1182】KOSがこれらの物理的制限を克服する手
段は実施態様において異なる。ここでは、本実施態様に
おいて用いられる手段の概論を最初に述べ、次いでこの
手段の詳細な論議を行なう。
段は実施態様において異なる。ここでは、本実施態様に
おいて用いられる手段の概論を最初に述べ、次いでこの
手段の詳細な論議を行なう。
【1183】メモリーの物理的制約は、仮想記憶システ
ムによって克服される。この仮想記憶システムはプロセ
ス610の実行により必要とされるオブジェクトの各部
のコピーをMEM10112に自動的に送りMEM10
112からオブジェクトの変更された部分を再びED1
0124に自動的にコピーすることによって、1つのレ
ベルの論理的メモリーを形成する。このように、オブジ
ェクトは主としてED10124に存在するが、このオ
ブジェクトの各部のコピーは1つのプロセス610がこ
れを照合する時MEM10112において使用可能とな
る。オブジェクトの各部をMEM10112に送る代り
に、必要に応じて、仮想記憶システムはこれらの部分が
MEM10112のどこに配置されるかを追跡し、プロ
セス610がMEM10112に存在する1つのオブジ
ェクトの一部を照合する時、仮想記憶システムはこの照
合をMEM10112における1つの物理的場所に翻訳
する。
ムによって克服される。この仮想記憶システムはプロセ
ス610の実行により必要とされるオブジェクトの各部
のコピーをMEM10112に自動的に送りMEM10
112からオブジェクトの変更された部分を再びED1
0124に自動的にコピーすることによって、1つのレ
ベルの論理的メモリーを形成する。このように、オブジ
ェクトは主としてED10124に存在するが、このオ
ブジェクトの各部のコピーは1つのプロセス610がこ
れを照合する時MEM10112において使用可能とな
る。オブジェクトの各部をMEM10112に送る代り
に、必要に応じて、仮想記憶システムはこれらの部分が
MEM10112のどこに配置されるかを追跡し、プロ
セス610がMEM10112に存在する1つのオブジ
ェクトの一部を照合する時、仮想記憶システムはこの照
合をMEM10112における1つの物理的場所に翻訳
する。
【1184】比較的小さなオブジェクトの記述子および
主題の記述子に対するJP10114の要求は、JP1
0114内部の活動状態のオブジェクト番号(AON)
および活動状態の主題番号(ASN)と呼ばれる内部の
記述子の使用により満たされる。UID40401がM
EM10112からJP10114のレジスタに移動さ
れる毎に、このUIDはAONに翻訳され、またAON
がJP10114のレジスタからMEM10112に移
動される毎に逆方向の翻訳が生じる。同様に、仮想プロ
セッサ612に束縛されたプロセス610のその時の主
題は4つのUID40401から小さな整数ASNに翻
訳され、仮想プロセッサ612がJP10114に束縛
される時、仮想プロセッサ612のプロセス610に帰
属する主題に対するASNはJP10114のレジスタ
に置かれる。UID40401から予めASNへの、ま
たその逆の翻訳、および主題からASNへの翻訳はKO
Sによって行なわれる。
主題の記述子に対するJP10114の要求は、JP1
0114内部の活動状態のオブジェクト番号(AON)
および活動状態の主題番号(ASN)と呼ばれる内部の
記述子の使用により満たされる。UID40401がM
EM10112からJP10114のレジスタに移動さ
れる毎に、このUIDはAONに翻訳され、またAON
がJP10114のレジスタからMEM10112に移
動される毎に逆方向の翻訳が生じる。同様に、仮想プロ
セッサ612に束縛されたプロセス610のその時の主
題は4つのUID40401から小さな整数ASNに翻
訳され、仮想プロセッサ612がJP10114に束縛
される時、仮想プロセッサ612のプロセス610に帰
属する主題に対するASNはJP10114のレジスタ
に置かれる。UID40401から予めASNへの、ま
たその逆の翻訳、および主題からASNへの翻訳はKO
Sによって行なわれる。
【1185】KOSがUID40401をAONへ、ま
たその逆に翻訳する時、KOSはAOT10712を使
用する。AOT10712のあるオブジェクトに対する
エントリ(AOTE)はオブジェクトのUID4040
1を含み、AOT10712におけるAOTEの指標は
このオブジェクトのAONである。このため、あるオブ
ジェクトのAONが与えられると、KOSはAOT10
712を用いてオブジェクトのUID40401を決定
することができ、またオブジェクトのUID40401
が与えられると、KOSはAOT10712を用いてオ
ブジェクトを決定することができる。もしこのオブジェ
クトは最近照合されなかったならば、このオブジェクト
に対してはAOTEは存在せず、このためこのオブジェ
クトのUID40401に対するAONは存在しない。
もしUID40401をAONに変換する試みがオブジ
ェクトが不活動状態であることを明らかにするならば、
不活動状態のオブジェクトの障害が生じ、KOSはこの
オブジェクトを活性化しなければならず、即ちこのオブ
ジェクトにAONを割当ててこれに対しAOTEを形成
しなければならない。
たその逆に翻訳する時、KOSはAOT10712を使
用する。AOT10712のあるオブジェクトに対する
エントリ(AOTE)はオブジェクトのUID4040
1を含み、AOT10712におけるAOTEの指標は
このオブジェクトのAONである。このため、あるオブ
ジェクトのAONが与えられると、KOSはAOT10
712を用いてオブジェクトのUID40401を決定
することができ、またオブジェクトのUID40401
が与えられると、KOSはAOT10712を用いてオ
ブジェクトを決定することができる。もしこのオブジェ
クトは最近照合されなかったならば、このオブジェクト
に対してはAOTEは存在せず、このためこのオブジェ
クトのUID40401に対するAONは存在しない。
もしUID40401をAONに変換する試みがオブジ
ェクトが不活動状態であることを明らかにするならば、
不活動状態のオブジェクトの障害が生じ、KOSはこの
オブジェクトを活性化しなければならず、即ちこのオブ
ジェクトにAONを割当ててこれに対しAOTEを形成
しなければならない。
【1186】KOSはAST10914を用いて主題を
ASNに翻訳する。あるプロセス610の主題が変化す
る時、AST10914はプロセス610に新たな主題
のASNを提供する。ある主題はこの時これと関連した
ASNを持たない。このような主題は不活動状態の主題
と呼ばれる。主題が不活動状態ならば、主題を1つのA
SNに転換する試みは、構成をして主題を活性化させ、
即ち主題に1つのASNを割当ててAST10914に
おける主題に対するエントリを行なう。
ASNに翻訳する。あるプロセス610の主題が変化す
る時、AST10914はプロセス610に新たな主題
のASNを提供する。ある主題はこの時これと関連した
ASNを持たない。このような主題は不活動状態の主題
と呼ばれる。主題が不活動状態ならば、主題を1つのA
SNに転換する試みは、構成をして主題を活性化させ、
即ち主題に1つのASNを割当ててAST10914に
おける主題に対するエントリを行なう。
【1187】プロセス610によるプログラムの有効な
実行を達成するため、KOSはプロセス610の実行に
よって頻繁に使用される情報を加速する。下記の如く2
段階の加速が存在する。即ち、 −情報を保有するテーブルはMEM10112に結線さ
れ、即ち仮想記憶システムは決して他のオブジェクトに
対するテーブルに留保されたMEM10112の空間を
使用しない。 −JP10114における特殊なハードウェア素子はテ
ーブルにおける情報の部分を保有する。
実行を達成するため、KOSはプロセス610の実行に
よって頻繁に使用される情報を加速する。下記の如く2
段階の加速が存在する。即ち、 −情報を保有するテーブルはMEM10112に結線さ
れ、即ち仮想記憶システムは決して他のオブジェクトに
対するテーブルに留保されたMEM10112の空間を
使用しない。 −JP10114における特殊なハードウェア素子はテ
ーブルにおける情報の部分を保有する。
【1188】MHT10716と、AOT10712と
AST10914は加速の第1段の事例である。前述の
如く、これらのテーブルは常にMEM10112に存在
する。アドレス翻訳装置(ATU)10228は第2段
の事例である。前述の如く、ATU10228は最も後
に使用されたMHT10716のエントリのコピーを含
むハードウェア・カッシェである。MHT10716の
ように、これは、AONオフセット・アドレスと対応す
るUIDオフセット・アドレスが照合するデータのコピ
ーを保有するMEM10112の場所にAONオフセッ
ト・アドレスを翻訳する。ATU10228はKOSの
論理的アドレス翻訳(LAT)マイクロコードによって
保持される。
AST10914は加速の第1段の事例である。前述の
如く、これらのテーブルは常にMEM10112に存在
する。アドレス翻訳装置(ATU)10228は第2段
の事例である。前述の如く、ATU10228は最も後
に使用されたMHT10716のエントリのコピーを含
むハードウェア・カッシェである。MHT10716の
ように、これは、AONオフセット・アドレスと対応す
るUIDオフセット・アドレスが照合するデータのコピ
ーを保有するMEM10112の場所にAONオフセッ
ト・アドレスを翻訳する。ATU10228はKOSの
論理的アドレス翻訳(LAT)マイクロコードによって
保持される。
【1189】図407は、ATU10228と、MEM
10112と、MHT10716と、KOS LATマ
イクロコード40704間の関係を示している。JP1
0114がメモリー照合を行なう時、AONオフセット
・アドレス40705をATU10228に送る。もし
ATU10228がAONオフセット・アドレス407
05に対するMHT10716のエントリのコピーを保
有するならば、これは対応するMEM10112のアド
レス40706を即時生成してこのアドレスをMEM1
0112に転送する。もしコピーが存在しなければ、A
TU10228は、JP10114においてLATマイ
クロコード40704を生じるATUミス事象信号を生
じる。KOS LATマイクロコード40704は、M
HT10716からのAONオフセット・アドレスと対
応するMHTのエントリを行ない、このエントリをAT
U10228に置いて戻る。次にJP10114は照合
操作を反復する。この時、この照合に対するエントリが
存在し、ATU10228はAONアドレスをMEM1
0112に保持されたデータのコピーのアドレスに転換
する。
10112と、MHT10716と、KOS LATマ
イクロコード40704間の関係を示している。JP1
0114がメモリー照合を行なう時、AONオフセット
・アドレス40705をATU10228に送る。もし
ATU10228がAONオフセット・アドレス407
05に対するMHT10716のエントリのコピーを保
有するならば、これは対応するMEM10112のアド
レス40706を即時生成してこのアドレスをMEM1
0112に転送する。もしコピーが存在しなければ、A
TU10228は、JP10114においてLATマイ
クロコード40704を生じるATUミス事象信号を生
じる。KOS LATマイクロコード40704は、M
HT10716からのAONオフセット・アドレスと対
応するMHTのエントリを行ない、このエントリをAT
U10228に置いて戻る。次にJP10114は照合
操作を反復する。この時、この照合に対するエントリが
存在し、ATU10228はAONアドレスをMEM1
0112に保持されたデータのコピーのアドレスに転換
する。
【1190】KOSテーブル、ハードウェア・カッシェ
および今述べたマイクロコード間の関係は、CS101
10の本実施例の場合に典型的である。このテーブル
(この場合は、MHT10716)は情報の主ソースで
あり仮想メモリーの管理プロセスにより保持されるが、
カッシェがこのテーブルの各部を加速してカッシェから
の事象信号により生じるKOSマイクロコードによって
保持される。
および今述べたマイクロコード間の関係は、CS101
10の本実施例の場合に典型的である。このテーブル
(この場合は、MHT10716)は情報の主ソースで
あり仮想メモリーの管理プロセスにより保持されるが、
カッシェがこのテーブルの各部を加速してカッシェから
の事象信号により生じるKOSマイクロコードによって
保持される。
【1191】AOT10712、AST10914およ
びMHT10716はCS10110の本実施例の典型
である別の特徴を共有する。即ち、テーブルは所要の翻
訳を実施するテーブルのエントリがハッシュ機能および
ハッシュ・テーブルによって見出されるように構成され
る。このハッシュ機能は、大きなUID40401また
は主題またはAONを小さな整数に翻訳する。この整数
は、ハッシュ・テーブルにおけるエントリの指標であ
る。このハッシュ・テーブルのエントリの内容は適宜A
OT10712またはAST10914またはMHT1
0716に対する指標であり、またこれらのテーブル
は、このハッシュ・テーブルにより与えられる指標と対
応するエントリが所要の翻訳を実施することができるエ
ントリであるか、あるいはKOSが所要のエントリを見
出すことを可能にする情報を保有するように保持される
のである。更に、このテーブルにおけるエントリはこれ
が翻訳する値を保有する。その結果、KOSはこの値を
ハッシュして、エントリを見出し、次いでこのエントリ
がハッシュされた値に対する1つであるかどうかを形成
することができる。もしそうでなければ、KOSは迅速
にハッシュ・テーブルにより見出されたエントリか適正
なエントリになることができる。
びMHT10716はCS10110の本実施例の典型
である別の特徴を共有する。即ち、テーブルは所要の翻
訳を実施するテーブルのエントリがハッシュ機能および
ハッシュ・テーブルによって見出されるように構成され
る。このハッシュ機能は、大きなUID40401また
は主題またはAONを小さな整数に翻訳する。この整数
は、ハッシュ・テーブルにおけるエントリの指標であ
る。このハッシュ・テーブルのエントリの内容は適宜A
OT10712またはAST10914またはMHT1
0716に対する指標であり、またこれらのテーブル
は、このハッシュ・テーブルにより与えられる指標と対
応するエントリが所要の翻訳を実施することができるエ
ントリであるか、あるいはKOSが所要のエントリを見
出すことを可能にする情報を保有するように保持される
のである。更に、このテーブルにおけるエントリはこれ
が翻訳する値を保有する。その結果、KOSはこの値を
ハッシュして、エントリを見出し、次いでこのエントリ
がハッシュされた値に対する1つであるかどうかを形成
することができる。もしそうでなければ、KOSは迅速
にハッシュ・テーブルにより見出されたエントリか適正
なエントリになることができる。
【1192】図408は、如何にして本実施例における
AST10914においてハッシュ操作が作用するかを
示している。本実施例においては、主題40801、即
ちその時の主題の主体、プロセスおよび領域要素がハッ
シュ機能40802に入れられる。ハッシュ機能408
02は、ASTHT10710におけるエントリの指標
を生じる。ASTHTエントリ40504は更にAST
10914におけるエントリ(ASTE)40806の
指標を保有する。これらのASTE40806の指標は
ASNである。ASTE40806は、主体と、プロセ
スと、いくつかの主題およびASTE40806を指示
するリンク・フィールドの領域要素とを含んでいる。A
STE40806はそのリンク・フィールドに0を含
み、これはASTE40806で始まるASTESのチ
ェーンにおける最後番号リンクであることを表示する。
もしある主題のハッシュ操作がASTE40806を生
じるならば、KOSはASTE40806における主題
をハッシュされた主題と比較し、もしこれが同じであれ
ば、AST10914におけるASTE40806の指
標は主題のASNとなる。もしこれらが同じでなけれ
ば、KOSはASTE40806を見出すためASTE
40806におけるリンクを使用する。これはASTE
40806における主題をハッシュされた主題と比較
し、もしこれらが同じならば、ASTE40806のA
SNの指標は主題のASNとなり、さもなければ、AS
TE40806はこのチェーンにおける最後のエントリ
となり、その結果ASTE40806およびハッシュさ
れた主題に対するASNは存在しない。
AST10914においてハッシュ操作が作用するかを
示している。本実施例においては、主題40801、即
ちその時の主題の主体、プロセスおよび領域要素がハッ
シュ機能40802に入れられる。ハッシュ機能408
02は、ASTHT10710におけるエントリの指標
を生じる。ASTHTエントリ40504は更にAST
10914におけるエントリ(ASTE)40806の
指標を保有する。これらのASTE40806の指標は
ASNである。ASTE40806は、主体と、プロセ
スと、いくつかの主題およびASTE40806を指示
するリンク・フィールドの領域要素とを含んでいる。A
STE40806はそのリンク・フィールドに0を含
み、これはASTE40806で始まるASTESのチ
ェーンにおける最後番号リンクであることを表示する。
もしある主題のハッシュ操作がASTE40806を生
じるならば、KOSはASTE40806における主題
をハッシュされた主題と比較し、もしこれが同じであれ
ば、AST10914におけるASTE40806の指
標は主題のASNとなる。もしこれらが同じでなけれ
ば、KOSはASTE40806を見出すためASTE
40806におけるリンクを使用する。これはASTE
40806における主題をハッシュされた主題と比較
し、もしこれらが同じならば、ASTE40806のA
SNの指標は主題のASNとなり、さもなければ、AS
TE40806はこのチェーンにおける最後のエントリ
となり、その結果ASTE40806およびハッシュさ
れた主題に対するASNは存在しない。
【1193】以下においては、ED10124における
オブジェクトの構成から始め、次いでCS10110の
活動状態のオブジェクト管理システム、アクセス制御シ
ステムおよび仮想メモリー・システムに及ぶ本実施例に
おける各オブジェクトの構成について詳細に論述するこ
とにする。
オブジェクトの構成から始め、次いでCS10110の
活動状態のオブジェクト管理システム、アクセス制御シ
ステムおよび仮想メモリー・システムに及ぶ本実施例に
おける各オブジェクトの構成について詳細に論述するこ
とにする。
【1194】2.ED10124におけるオブジェクト
(図409,図410) 前述の如く、オブジェクトは
LAU40405に収集される。各LAU40405
は、その内容が論理的割当て単位登録簿(LAUD)と
呼ばれるテーブルである。その名前が示唆するように、
LAUDはLAU40405におけるオブジェクトの登
録簿である。LAUDを保有するオブジェクトを含むL
AU40405における各オブジェクトは、このLAU
Dにおけるエントリを有する。図409は、ED101
24、LAU40405、LAUDおよび各オブジェク
ト間の関係を示している。LAU40405は多数の記
憶素子40904に存在する。LAU40405におけ
るLAUDオブジェクト40902はLAUD4090
3を含む。2つのLAUDE40906が示される。そ
の1つはLAUDオブジェクト40902の属性とその
内容の場合を含み、他方はLAUD40903を含むL
AUDオブジェクト40902の属性とその内容の場所
を含む。
(図409,図410) 前述の如く、オブジェクトは
LAU40405に収集される。各LAU40405
は、その内容が論理的割当て単位登録簿(LAUD)と
呼ばれるテーブルである。その名前が示唆するように、
LAUDはLAU40405におけるオブジェクトの登
録簿である。LAUDを保有するオブジェクトを含むL
AU40405における各オブジェクトは、このLAU
Dにおけるエントリを有する。図409は、ED101
24、LAU40405、LAUDおよび各オブジェク
ト間の関係を示している。LAU40405は多数の記
憶素子40904に存在する。LAU40405におけ
るLAUDオブジェクト40902はLAUD4090
3を含む。2つのLAUDE40906が示される。そ
の1つはLAUDオブジェクト40902の属性とその
内容の場合を含み、他方はLAUD40903を含むL
AUDオブジェクト40902の属性とその内容の場所
を含む。
【1195】KOSは、LAU40405に帰属するL
AUDを見出す活動状態のLAUテーブル(ALAU
T)と呼ばれるテーブルを使用する。図410は、AL
AUT41001、ALAUTエントリ41002、L
AU40405およびLAUDオブジェクト40902
間の関係を示している。CS10110にアクセス可能
な各LAU40405はALAUT41001における
ALAUTエントリ41002を有する。LAU404
05に対するALAUTエントリ41002は、LAU
40405のLAUID40402とAONオフセット
・アドレス40705のLAUDオブジェクト4090
2のUID40401を含む。従って、あるオブジェク
トのUID40401が与えられると、KOSはUID
40401のLAUID40402を用いてLAU40
405に対するALAUTエントリ41002を見出す
ことができ、またALAUTエントリ41002を用い
てLAU40405のLAUD40903を見出すこと
ができる。一旦LAUD40903が見出されると、オ
ブジェクトのUID40401 OSN部分40402
は適正なLAUDE40906を提供し、LAUDE4
0906はオブジェクトの属性とその内容の場所を含ん
でいる。LAUD40903およびこれを操作する手順
602は、不活動状態のオブジェクト管理プログラムと
呼ばれるKOSの一部に帰属する。この不活動状態のオ
ブジェクト管理プログラムの以下の論議は、オブジェク
トの内容がED10124において示される方法から始
め、次いでOSN40403を詳細に論議し、不活動状
態のオブジェクト管理手順602により実施される諸操
作についての論議で終る。
AUDを見出す活動状態のLAUテーブル(ALAU
T)と呼ばれるテーブルを使用する。図410は、AL
AUT41001、ALAUTエントリ41002、L
AU40405およびLAUDオブジェクト40902
間の関係を示している。CS10110にアクセス可能
な各LAU40405はALAUT41001における
ALAUTエントリ41002を有する。LAU404
05に対するALAUTエントリ41002は、LAU
40405のLAUID40402とAONオフセット
・アドレス40705のLAUDオブジェクト4090
2のUID40401を含む。従って、あるオブジェク
トのUID40401が与えられると、KOSはUID
40401のLAUID40402を用いてLAU40
405に対するALAUTエントリ41002を見出す
ことができ、またALAUTエントリ41002を用い
てLAU40405のLAUD40903を見出すこと
ができる。一旦LAUD40903が見出されると、オ
ブジェクトのUID40401 OSN部分40402
は適正なLAUDE40906を提供し、LAUDE4
0906はオブジェクトの属性とその内容の場所を含ん
でいる。LAUD40903およびこれを操作する手順
602は、不活動状態のオブジェクト管理プログラムと
呼ばれるKOSの一部に帰属する。この不活動状態のオ
ブジェクト管理プログラムの以下の論議は、オブジェク
トの内容がED10124において示される方法から始
め、次いでOSN40403を詳細に論議し、不活動状
態のオブジェクト管理手順602により実施される諸操
作についての論議で終る。
【1196】a.a.ED10124における1つのオ
ブジェクトの内容の提示 一般に、あるオブジェクトの内容がED10124にお
いて示される方法は完全にED10124に依存する。
もしLAU40405がディスクからなるならば、オブ
ジェクトの内容はディスク・ブロックに記憶される。K
OSがオブジェクトの内容を見出すことができる限り、
記憶域が連続または非連続であることは何の差ももたら
さない。
ブジェクトの内容の提示 一般に、あるオブジェクトの内容がED10124にお
いて示される方法は完全にED10124に依存する。
もしLAU40405がディスクからなるならば、オブ
ジェクトの内容はディスク・ブロックに記憶される。K
OSがオブジェクトの内容を見出すことができる限り、
記憶域が連続または非連続であることは何の差ももたら
さない。
【1197】本実施例においては、オブジェクトの内容
はIOS10116に関して実行するデータ・ゼネラル
社の進歩した拡張オペレーティング・システム(AO
S)の手順により形成されるファイルに記憶される。こ
れらの手順はKOSに対するオブジェクトの内容を保有
するファイルを管理する。将来のCS10110におい
ては、ED10124に関するオブジェクトの内容の表
示はKOSの一部によって管理される。
はIOS10116に関して実行するデータ・ゼネラル
社の進歩した拡張オペレーティング・システム(AO
S)の手順により形成されるファイルに記憶される。こ
れらの手順はKOSに対するオブジェクトの内容を保有
するファイルを管理する。将来のCS10110におい
ては、ED10124に関するオブジェクトの内容の表
示はKOSの一部によって管理される。
【1198】b.b.LAUD40903(図411,
図412) 図411は、LAUD40903の概念図である。LA
UD40903は3つの部分を有する。即ち、LAUD
ヘッダ41102と、マスター登録簿41105と、L
AUDエントリ(LAUDE)40906である。LA
UDヘッダ41102およびマスター登録簿41105
はLAUD40903における固定された場所を占め、
従って常にALAUT41001において与えられるL
AUD40903のUID40401から見出すことが
できる。LAUDE40906の場所は固定されず、個
々のオブジェクトに対するエントリがマスター登録簿4
1105から見出すことができる。
図412) 図411は、LAUD40903の概念図である。LA
UD40903は3つの部分を有する。即ち、LAUD
ヘッダ41102と、マスター登録簿41105と、L
AUDエントリ(LAUDE)40906である。LA
UDヘッダ41102およびマスター登録簿41105
はLAUD40903における固定された場所を占め、
従って常にALAUT41001において与えられるL
AUD40903のUID40401から見出すことが
できる。LAUDE40906の場所は固定されず、個
々のオブジェクトに対するエントリがマスター登録簿4
1105から見出すことができる。
【1199】最初にLAUDヘッダ41102について
述べればLAUDヘッダ41102は、LAUD409
03が帰属するLAU40405に帰属するLAUID
40402と、LAUD40903のOSN40403
を含む。以下において更に詳細に説明するように、KO
SはLAUD40903に対するLAUDE40906
を見出すためOSN40403を使用することができ
る。
述べればLAUDヘッダ41102は、LAUD409
03が帰属するLAU40405に帰属するLAUID
40402と、LAUD40903のOSN40403
を含む。以下において更に詳細に説明するように、KO
SはLAUD40903に対するLAUDE40906
を見出すためOSN40403を使用することができ
る。
【1200】次にマスター登録簿41105について見
れば、マスター登録簿41105はオブジェクトのOS
N40403をオブジェクトのLAUDE40906の
場所に翻訳する。マスター登録簿41105はLAU4
0505における各オブジェクトに対する1つのエント
リ41108を保有する。各エントリは2つのフィール
ド、即ちOSNフィールド41106およびオフセット
・フィールド41107を有する。OSNフィールド4
1106はエントリ41108が帰属するオブジェクト
に対するOSN40403を保有し、オフセット・フィ
ールド41107はLAUD40903におけるオブジ
ェクトのLAUDE40906のオフセットを保有す
る。KOSはOSN40403を増加することによって
エントリ41108に指令し、従ってあるOSN404
03を含むエントリ41108を見出すため2進数探索
手段を使用することができる。一旦エントリ41108
が見出されると、LAUD40903のOSN4040
3と組合されたエントリ41108のオフセット・フィ
ールド41107はオブジェクトのLAUDE4090
6のUIDオフセット・アドレスを生じる。
れば、マスター登録簿41105はオブジェクトのOS
N40403をオブジェクトのLAUDE40906の
場所に翻訳する。マスター登録簿41105はLAU4
0505における各オブジェクトに対する1つのエント
リ41108を保有する。各エントリは2つのフィール
ド、即ちOSNフィールド41106およびオフセット
・フィールド41107を有する。OSNフィールド4
1106はエントリ41108が帰属するオブジェクト
に対するOSN40403を保有し、オフセット・フィ
ールド41107はLAUD40903におけるオブジ
ェクトのLAUDE40906のオフセットを保有す
る。KOSはOSN40403を増加することによって
エントリ41108に指令し、従ってあるOSN404
03を含むエントリ41108を見出すため2進数探索
手段を使用することができる。一旦エントリ41108
が見出されると、LAUD40903のOSN4040
3と組合されたエントリ41108のオフセット・フィ
ールド41107はオブジェクトのLAUDE4090
6のUIDオフセット・アドレスを生じる。
【1201】一旦KOSがLAUDE40906の場所
を知ると、このKOSはオブジェクトの属性40404
とその内容40406の場所を判定することができる。
図411はLAUDE40906の全体的な構造の概略
のみを示している。LAUDE40906は3つの構成
要素、即ちLAUDE40906に存在する固定サイズ
41109のフィールドのグループと、一方はオブジェ
クトのPACLに帰属するエントリを含む41139と
他方はオブジェクトのEACLを含む41141の2つ
の可変サイズの構成要素とを有する。
を知ると、このKOSはオブジェクトの属性40404
とその内容40406の場所を判定することができる。
図411はLAUDE40906の全体的な構造の概略
のみを示している。LAUDE40906は3つの構成
要素、即ちLAUDE40906に存在する固定サイズ
41109のフィールドのグループと、一方はオブジェ
クトのPACLに帰属するエントリを含む41139と
他方はオブジェクトのEACLを含む41141の2つ
の可変サイズの構成要素とを有する。
【1202】LAUDの構成要件の前の記述が示唆する
ようにLAUDE40906およびエントリ41108
はLAU40405におけるオブジェクトの数と共に変
化する。更に、オブジェクトのEACLおよびPACL
に対して必要とされる空間量はオブジェクトによって変
化する。KOSはこの問題を各LAUD40903にお
いて自由空間41123を含ませることによって処理し
ている。1つのオブジェクトが形成される時、あるいは
あるオブジェクトのACLが拡張される時、不活動状態
のオブジェクト管理プログラムは、単に自由空間411
23が存在しなければLAUD40903を拡張し、も
し自由空間41123が存在するならば、不活動状態の
オブジェクト管理プログラムは自由空間41123から
必要な空間を取り、オブジェクトが削除されあるいはオ
ブジェクトのACLが短縮されるならば、不活動状態の
オブジェクト管理プログラムは不必要な空間を自由空間
41123に戻すのである。
ようにLAUDE40906およびエントリ41108
はLAU40405におけるオブジェクトの数と共に変
化する。更に、オブジェクトのEACLおよびPACL
に対して必要とされる空間量はオブジェクトによって変
化する。KOSはこの問題を各LAUD40903にお
いて自由空間41123を含ませることによって処理し
ている。1つのオブジェクトが形成される時、あるいは
あるオブジェクトのACLが拡張される時、不活動状態
のオブジェクト管理プログラムは、単に自由空間411
23が存在しなければLAUD40903を拡張し、も
し自由空間41123が存在するならば、不活動状態の
オブジェクト管理プログラムは自由空間41123から
必要な空間を取り、オブジェクトが削除されあるいはオ
ブジェクトのACLが短縮されるならば、不活動状態の
オブジェクト管理プログラムは不必要な空間を自由空間
41123に戻すのである。
【1203】図402は単一のLAUDE40906の
詳細な表示である。図412は、CS10110の全て
の実施態様に対して共通のLAUDE40906の各フ
ィールドを示しており、実施態様により変化するフィー
ルドは無視されている。図412の上部から始めて、構
造変更フィールド41209はKOSがLAUDE40
906のどのバージョンを処理しつつあるかを判定する
ことができる情報を保有する。サイズ・フィールド41
211はLAUDE40906が帰属するオブジェクト
のサイズ属性を保有する。このサイズ属性はその時オブ
ジェクトに含まれるビット数を規定する。固定フィール
ド41213はKOSの固定である。プロセス610の
論議において詳細に説明するように、固定フィールド4
1213は一時に唯1つのプロセス610がLAUDE
40906を読出しあるいは書込むことを許容し、従っ
て別のプロセス610がLAUDE40906の読出し
中である間1つのプロセス610がLAUDE4090
6を変更することのないようにする。ファイル記述子4
1215は、LAUDE40906が帰属するオブジェ
クトの内容40406を含むファイルに対するシステム
記述子を保有する。ファイル記述子41215の形態
は、実施例毎に変化し得、本実施例においては、これは
AOSシステム・ファイル記述子である。UIDフィー
ルド41217はLAUDE40906のオブジェクト
に帰属するUID40401を含んでいる。元のタイプ
・フィールド41219はオブジェクトの元のタイプを
規定する値を含む。このオブジェクトは、データオブジ
ェクト、手順オブジェクト608およびETMまたはS
インタプリタオブジェクトである。AONフィールド4
1221は、LAUDE40906のオブジェクトが活
動状態にある時、即ちAOT10712におけるエント
リを有する時のみ有効値を有する。もしこのオブジェク
トがETOであれば、拡張タイプ属性フィールド412
23がETOのETMのUID40401を含む。さも
なければ、これは空白のUID40401を含む。同様
に、もしオブジェクトが手順オブジェクト608または
ETMであれば、実行領域属性フィールド41225は
オブジェクトの実行領域属性を保有する。
詳細な表示である。図412は、CS10110の全て
の実施態様に対して共通のLAUDE40906の各フ
ィールドを示しており、実施態様により変化するフィー
ルドは無視されている。図412の上部から始めて、構
造変更フィールド41209はKOSがLAUDE40
906のどのバージョンを処理しつつあるかを判定する
ことができる情報を保有する。サイズ・フィールド41
211はLAUDE40906が帰属するオブジェクト
のサイズ属性を保有する。このサイズ属性はその時オブ
ジェクトに含まれるビット数を規定する。固定フィール
ド41213はKOSの固定である。プロセス610の
論議において詳細に説明するように、固定フィールド4
1213は一時に唯1つのプロセス610がLAUDE
40906を読出しあるいは書込むことを許容し、従っ
て別のプロセス610がLAUDE40906の読出し
中である間1つのプロセス610がLAUDE4090
6を変更することのないようにする。ファイル記述子4
1215は、LAUDE40906が帰属するオブジェ
クトの内容40406を含むファイルに対するシステム
記述子を保有する。ファイル記述子41215の形態
は、実施例毎に変化し得、本実施例においては、これは
AOSシステム・ファイル記述子である。UIDフィー
ルド41217はLAUDE40906のオブジェクト
に帰属するUID40401を含んでいる。元のタイプ
・フィールド41219はオブジェクトの元のタイプを
規定する値を含む。このオブジェクトは、データオブジ
ェクト、手順オブジェクト608およびETMまたはS
インタプリタオブジェクトである。AONフィールド4
1221は、LAUDE40906のオブジェクトが活
動状態にある時、即ちAOT10712におけるエント
リを有する時のみ有効値を有する。もしこのオブジェク
トがETOであれば、拡張タイプ属性フィールド412
23がETOのETMのUID40401を含む。さも
なければ、これは空白のUID40401を含む。同様
に、もしオブジェクトが手順オブジェクト608または
ETMであれば、実行領域属性フィールド41225は
オブジェクトの実行領域属性を保有する。
【1204】LAUDE40906の残る部分はアクセ
ス制御システムに帰属し、その論議において詳細に説明
する属性変更番号フィールド41227は、このLAU
DE40906がACLEのどのバージョンを含むかを
示す値を保有し、PACLサイズ・フィールド4122
9およびEACLサイズ・フィールド41231は各A
CLのサイズを含み、PACLオフセット・フィールド
41233およびEACLオフセット・フィールド41
235は別のPACLE41139およびEACLE4
1141のLAUD40903におけるオフセットを含
み、また固定PACLE41237は常にLAUDE4
0906に含まれるPACLの部分を含む。
ス制御システムに帰属し、その論議において詳細に説明
する属性変更番号フィールド41227は、このLAU
DE40906がACLEのどのバージョンを含むかを
示す値を保有し、PACLサイズ・フィールド4122
9およびEACLサイズ・フィールド41231は各A
CLのサイズを含み、PACLオフセット・フィールド
41233およびEACLオフセット・フィールド41
235は別のPACLE41139およびEACLE4
1141のLAUD40903におけるオフセットを含
み、また固定PACLE41237は常にLAUDE4
0906に含まれるPACLの部分を含む。
【1205】3.活動状態のオブジェクト(図413) 活動状態のオブジェクトは、そのUID40401がこ
れと関連したAONを有するオブジェクトである。本実
施例においては、各CS10110は1組のAONを有
する。KOSは、如何なる時点においてもCS1011
0におけるAONが単一のUID40401を表わすよ
うにこれらのAONをUID40401と関連させる。
FU10120の内部においては、AONはUIDのC
S10110を表わすため使用される。本実施例におい
ては、AONは14ビットによって表わされる。112
ビットのUIDオフセット・アドレス(UID4040
1に対して80ビット、およびオフセットに対しては3
2ビット)がこのように46ビットのAONオフセット
・アドレスによってFU10120の内部に表わされる
(AONに対して14ビット、オフセットに対しては3
2ビット)。
れと関連したAONを有するオブジェクトである。本実
施例においては、各CS10110は1組のAONを有
する。KOSは、如何なる時点においてもCS1011
0におけるAONが単一のUID40401を表わすよ
うにこれらのAONをUID40401と関連させる。
FU10120の内部においては、AONはUIDのC
S10110を表わすため使用される。本実施例におい
ては、AONは14ビットによって表わされる。112
ビットのUIDオフセット・アドレス(UID4040
1に対して80ビット、およびオフセットに対しては3
2ビット)がこのように46ビットのAONオフセット
・アドレスによってFU10120の内部に表わされる
(AONに対して14ビット、オフセットに対しては3
2ビット)。
【1206】CS10110は、UID40401にお
けるよりも遥かに少ないAONを有する。KOSは、C
S10110によって照合されつつあるオブジェクトに
おいてCS10110のAONを多重化し、従って、U
ID40401と同様にAONを要求する。あるAON
は如何なる時も単一のUID40401を表わすが別の
時点においては、UID40401はこれと関連する異
なるAONを持つこともできる。
けるよりも遥かに少ないAONを有する。KOSは、C
S10110によって照合されつつあるオブジェクトに
おいてCS10110のAONを多重化し、従って、U
ID40401と同様にAONを要求する。あるAON
は如何なる時も単一のUID40401を表わすが別の
時点においては、UID40401はこれと関連する異
なるAONを持つこともできる。
【1207】図413は、AONおよびUID4040
1間の関係の概念的な表示を提供する。各CS1011
0は2**80のUID40401に対する潜在的なア
クセスを有する。しかし、これらのUIDのあるものは
オブジェクト以外のエンテティを表わし、他のものは決
してどんなエンテティとも関連しない。各CS1011
0はまたこれに対し使用可能な1組のAON41303
を有する。本実施例においては、この組のAONは2*
*14までの値を持つことができる。AONは内部的に
しか使用されないため、各CS10110は同じ組のA
ON41303を持つことができる。組をなすAON4
1303におけるどのAON41304はオブジェクト
のUID41301の組における単一のUID4040
1と関連することができる。別の時点では、AON41
304は異なるUID40401と関連することができ
る。
1間の関係の概念的な表示を提供する。各CS1011
0は2**80のUID40401に対する潜在的なア
クセスを有する。しかし、これらのUIDのあるものは
オブジェクト以外のエンテティを表わし、他のものは決
してどんなエンテティとも関連しない。各CS1011
0はまたこれに対し使用可能な1組のAON41303
を有する。本実施例においては、この組のAONは2*
*14までの値を持つことができる。AONは内部的に
しか使用されないため、各CS10110は同じ組のA
ON41303を持つことができる。組をなすAON4
1303におけるどのAON41304はオブジェクト
のUID41301の組における単一のUID4040
1と関連することができる。別の時点では、AON41
304は異なるUID40401と関連することができ
る。
【1208】前述の如く、KOSはAON41304を
UID40401と関連させる。これはAOT1071
2によってそのように作用する。AOT10712にお
ける各AOTエントリ(AOTE)41306はUID
40401をAON41304と関連させる。AON4
1304は、UID40401を含むAOTE4130
6の指標である。AOTE41306が変更されるまで
UID40401を含むAOTE41306の指標であ
るAON41304はUID40401を表わす。AO
T10712もまた、UID40401をAON413
03に、またその逆方向に転換させる。図413は、U
IDオフセット・アドレス41308およびAONオフ
セット・アドレス41309に対するプロセスを示す。
AOTE41306は、AONオフセット・アドレス4
1309におけるAON41304をUIDオフセット
・アドレス41308におけるUID40401と関連
させ、アドレス41308および41309は同じオフ
セット41307を有する。その結果、AONオフセッ
ト・アドレス41309はJP10114内部のUID
オフセット・アドレス41308を表わす。両アドレス
は同じオフセットを使用するため、AONオフセット・
アドレス41309はそのAON41304をUIDオ
フセット・アドレス41308のUID40401に転
換することによってUIDオフセット・アドレス413
08に転換することができ、UIDオフセット・アドレ
ス41308は逆のプロセスによってAONオフセット
・アドレス41309に転換することができる。両方の
場合に、この転換は適正なAOTE41306を見出す
ことによって実施される。
UID40401と関連させる。これはAOT1071
2によってそのように作用する。AOT10712にお
ける各AOTエントリ(AOTE)41306はUID
40401をAON41304と関連させる。AON4
1304は、UID40401を含むAOTE4130
6の指標である。AOTE41306が変更されるまで
UID40401を含むAOTE41306の指標であ
るAON41304はUID40401を表わす。AO
T10712もまた、UID40401をAON413
03に、またその逆方向に転換させる。図413は、U
IDオフセット・アドレス41308およびAONオフ
セット・アドレス41309に対するプロセスを示す。
AOTE41306は、AONオフセット・アドレス4
1309におけるAON41304をUIDオフセット
・アドレス41308におけるUID40401と関連
させ、アドレス41308および41309は同じオフ
セット41307を有する。その結果、AONオフセッ
ト・アドレス41309はJP10114内部のUID
オフセット・アドレス41308を表わす。両アドレス
は同じオフセットを使用するため、AONオフセット・
アドレス41309はそのAON41304をUIDオ
フセット・アドレス41308のUID40401に転
換することによってUIDオフセット・アドレス413
08に転換することができ、UIDオフセット・アドレ
ス41308は逆のプロセスによってAONオフセット
・アドレス41309に転換することができる。両方の
場合に、この転換は適正なAOTE41306を見出す
ことによって実施される。
【1209】オブジェクトが活動状態になるプロセスは
オブジェクト活性化と呼ばれる。UIDオフセット・ア
ドレス41308は、そのUID40401が帰属する
オブジェクトが活動状態にならなければ、AONオフセ
ット・アドレス41309に転換することはできない。
もしプロセス610が不活動状態のオブジェクトに帰属
するUID40401を用いる如き転換を実施すること
を試みるならば、不活動状態のオブジェクト障害が生じ
る。KOSは、オブジェクト管理プロセスと呼ばれる特
殊なKOSプロセスがオブジェクトを活性化するまで、
JP10114からの転換を試みたプロセス610を取
除くことによってこの障害を処理する。オブジェクトが
活性化された後、プロセス610はJP10114に戻
ってUID40401からAON41304への転換を
完了することができる。 活動状態のオブジェクトを管
理するKOSの部分は、活動状態オブジェクト管理プロ
セス(AOM)と呼ばれる。AOMの各部は手順602
であり、その各部はマイクロコード・ルーチンである。
AOMの高水準言語の構成要素は、プロセス610によ
ってのみ生じ得る。KOSのオブジェクト管理のプロセ
ス610は活動状態のオブジェクト管理に含まれる諸機
能のほとんどを実施する。
オブジェクト活性化と呼ばれる。UIDオフセット・ア
ドレス41308は、そのUID40401が帰属する
オブジェクトが活動状態にならなければ、AONオフセ
ット・アドレス41309に転換することはできない。
もしプロセス610が不活動状態のオブジェクトに帰属
するUID40401を用いる如き転換を実施すること
を試みるならば、不活動状態のオブジェクト障害が生じ
る。KOSは、オブジェクト管理プロセスと呼ばれる特
殊なKOSプロセスがオブジェクトを活性化するまで、
JP10114からの転換を試みたプロセス610を取
除くことによってこの障害を処理する。オブジェクトが
活性化された後、プロセス610はJP10114に戻
ってUID40401からAON41304への転換を
完了することができる。 活動状態のオブジェクトを管
理するKOSの部分は、活動状態オブジェクト管理プロ
セス(AOM)と呼ばれる。AOMの各部は手順602
であり、その各部はマイクロコード・ルーチンである。
AOMの高水準言語の構成要素は、プロセス610によ
ってのみ生じ得る。KOSのオブジェクト管理のプロセ
ス610は活動状態のオブジェクト管理に含まれる諸機
能のほとんどを実施する。
【1210】a.a.UID40401からAON41
304への転換 一般に、CS10110においては、MEM10112
およびED10124に記憶されるアドレスはUIDオ
フセット・アドレスとして記憶される。FU10120
がMEM10112における場合に転換することができ
るアドレスの唯一の形態はAONオフセットの形態であ
る。その結果、あるアドレスがMEM10112からF
U10120のレジスタにロードされる毎に、このアド
レスはUIDオフセット・アドレスからAONオフセッ
ト・アドレスに転換しなければならない。あるアドレス
がFU10120のレジスタから再びメモリーに対して
移動される毎に、逆方向の転換が実施されなければなら
ない。
304への転換 一般に、CS10110においては、MEM10112
およびED10124に記憶されるアドレスはUIDオ
フセット・アドレスとして記憶される。FU10120
がMEM10112における場合に転換することができ
るアドレスの唯一の形態はAONオフセットの形態であ
る。その結果、あるアドレスがMEM10112からF
U10120のレジスタにロードされる毎に、このアド
レスはUIDオフセット・アドレスからAONオフセッ
ト・アドレスに転換しなければならない。あるアドレス
がFU10120のレジスタから再びメモリーに対して
移動される毎に、逆方向の転換が実施されなければなら
ない。
【1211】このような転換は如何なる時でも生じ得
る。例えば、実行中の仮想プロセッサ612は、この仮
想プロセッサ612によって実行中のプロセス610が
間接的なメモリー照合を実施する時にこのように転換を
実施する。間接的なメモリー照合は、最初に1つのポイ
ンタを取出し、即ちその値が他のデータ項目のアドレス
であるデータ項目を取出し、次いでこのポインタに含ま
れるアドレスを用いてこのデータ項目自体を取出す照合
である。CS10110においては、ポインタはUID
オフセット・アドレスを表わす。仮想プロセッサ612
は、このポインタをMEM10112から取出し、これ
をFU10120のレジスタに置き、このポインタによ
り表わされたUID40401をこれと関連するAON
41304に転換し、その結果のAONオフセット・ア
ドレスを用いてこのアドレスにより指定される場合にお
けるデータをアクセスすることによって、間接メモリー
照合を実施する。
る。例えば、実行中の仮想プロセッサ612は、この仮
想プロセッサ612によって実行中のプロセス610が
間接的なメモリー照合を実施する時にこのように転換を
実施する。間接的なメモリー照合は、最初に1つのポイ
ンタを取出し、即ちその値が他のデータ項目のアドレス
であるデータ項目を取出し、次いでこのポインタに含ま
れるアドレスを用いてこのデータ項目自体を取出す照合
である。CS10110においては、ポインタはUID
オフセット・アドレスを表わす。仮想プロセッサ612
は、このポインタをMEM10112から取出し、これ
をFU10120のレジスタに置き、このポインタによ
り表わされたUID40401をこれと関連するAON
41304に転換し、その結果のAONオフセット・ア
ドレスを用いてこのアドレスにより指定される場合にお
けるデータをアクセスすることによって、間接メモリー
照合を実施する。
【1212】しかし、ほとんどのこのような転換は、仮
想プロセッサ612の状態が保管もしくは復元される時
に生じる。例えば、1つのプロセス610の仮想プロセ
ッサ612がJP10114から取出され、別のプロセ
ス610の仮想プロセッサ612がJP10114に対
し束縛される時、JP10114から取出されつつある
仮想プロセッサ612の状態はメモリーに記憶され、ま
たJP10114に束縛された仮想プロセッサ612の
状態はJP10114のレジスタに移動される。唯一の
UIDオフセット・アドレスがメモリー内に記憶される
ため、JP10114から取出されつつある仮想プロセ
ッサ612の状態における全てのAONオフセット・ア
ドレスがUIDオフセット・アドレスに転換されねばな
らない。同様に、JP10114に対して束縛されつつ
ある仮想プロセッサ612の状態におけるUIDオフセ
ット・アドレスの全てが、これらがFU10120のレ
ジスタにロードできる前にAONオフセット・アドレス
に転換されなければならない。
想プロセッサ612の状態が保管もしくは復元される時
に生じる。例えば、1つのプロセス610の仮想プロセ
ッサ612がJP10114から取出され、別のプロセ
ス610の仮想プロセッサ612がJP10114に対
し束縛される時、JP10114から取出されつつある
仮想プロセッサ612の状態はメモリーに記憶され、ま
たJP10114に束縛された仮想プロセッサ612の
状態はJP10114のレジスタに移動される。唯一の
UIDオフセット・アドレスがメモリー内に記憶される
ため、JP10114から取出されつつある仮想プロセ
ッサ612の状態における全てのAONオフセット・ア
ドレスがUIDオフセット・アドレスに転換されねばな
らない。同様に、JP10114に対して束縛されつつ
ある仮想プロセッサ612の状態におけるUIDオフセ
ット・アドレスの全てが、これらがFU10120のレ
ジスタにロードできる前にAONオフセット・アドレス
に転換されなければならない。
【1213】C.アドレス制御システム オブジェクトに対する序論において述べたように、プロ
セス610があるオブジェクトにおいてデータまたはS
INをアクセスする毎に、KOSアクセス制御システム
は、プロセス610が試みつつあるアクセスの種類を実
施する権利をプロセス610のその時の主題が有するか
どうかを検査する。もしプロセス610のその時の主題
が適正なアクセスを行なわなければ、アクセス制御シス
テムはプロセス610が実施を試みつつあったメモリー
操作を打切る。以下の論議は、主題から始め、次いで主
題のテンプレートに進み、最後にアクセス検査の加速の
ため使用される手段に至るアクセス制御システムの構成
の詳細について述べる。
セス610があるオブジェクトにおいてデータまたはS
INをアクセスする毎に、KOSアクセス制御システム
は、プロセス610が試みつつあるアクセスの種類を実
施する権利をプロセス610のその時の主題が有するか
どうかを検査する。もしプロセス610のその時の主題
が適正なアクセスを行なわなければ、アクセス制御シス
テムはプロセス610が実施を試みつつあったメモリー
操作を打切る。以下の論議は、主題から始め、次いで主
題のテンプレートに進み、最後にアクセス検査の加速の
ため使用される手段に至るアクセス制御システムの構成
の詳細について述べる。
【1214】a.主題 プロセス610の主題はプロセス610の状態の一部で
あり、プロセスオブジェクトと呼ばれるオブジェクトに
おけるプロセス610に帰属する他の状態と共に保有さ
れる。プロセスオブジェクトは、オブジェクトの論議に
続くプロセス610の詳細な論議において詳しく取扱わ
れる。主題が前述の如く4つの構成要素、即ち主体の構
成要素、プロセスの構成要素、領域の構成要素およびタ
ッグの構成要素を有するが、CS10110の本実施例
におけるアクセス制御システムは最初の3つの構成要素
にのみ諸数値を割当てアクセスの検査時にはタッグの構
成要素は無視する。
あり、プロセスオブジェクトと呼ばれるオブジェクトに
おけるプロセス610に帰属する他の状態と共に保有さ
れる。プロセスオブジェクトは、オブジェクトの論議に
続くプロセス610の詳細な論議において詳しく取扱わ
れる。主題が前述の如く4つの構成要素、即ち主体の構
成要素、プロセスの構成要素、領域の構成要素およびタ
ッグの構成要素を有するが、CS10110の本実施例
におけるアクセス制御システムは最初の3つの構成要素
にのみ諸数値を割当てアクセスの検査時にはタッグの構
成要素は無視する。
【1215】本実施例においては、プロセス610の主
題の構成要素を構成するUID40401は、UID4
0401により表わされるエンテティに関する情報を含
むオブジェクトのUID40401である。主体の構成
要素のUID40401は、主体オブジェクトと呼ばれ
るオブジェクトを表わす。主体オブジェクトは、プロセ
ス610が検査されたユーザについての情報を保有す
る。例えばこの情報は、ユーザがCS10110の資源
に対してどんなアクセス権を有したかに関連し、あるい
はCS10110のユーザの使用の記録を保有する。プ
ロセスの構成要素のUID40401はプロセスオブジ
ェクトを表わすが、領域構成要素のUID40401は
領域オブジェクトと呼ばれるオブジェクトを表わす。こ
の領域オブジェクトは、その主題が領域オブジェクトの
UID40401をその領域の構成要素として有するど
のプロセス610に対してもアクセス可能でなければな
らない情報を保有する。CS10110の他の実施例
は、主題のタッグ構成要素を使用することになる。これ
らの実施例においては、タッグの構成要素のUID40
401は、このタッグ構成要素のUIDにより表わされ
る主題のグループを構成する主題のリスト如き情報を少
なくとも保持するタッグオブジェクトのUID4040
1である。
題の構成要素を構成するUID40401は、UID4
0401により表わされるエンテティに関する情報を含
むオブジェクトのUID40401である。主体の構成
要素のUID40401は、主体オブジェクトと呼ばれ
るオブジェクトを表わす。主体オブジェクトは、プロセ
ス610が検査されたユーザについての情報を保有す
る。例えばこの情報は、ユーザがCS10110の資源
に対してどんなアクセス権を有したかに関連し、あるい
はCS10110のユーザの使用の記録を保有する。プ
ロセスの構成要素のUID40401はプロセスオブジ
ェクトを表わすが、領域構成要素のUID40401は
領域オブジェクトと呼ばれるオブジェクトを表わす。こ
の領域オブジェクトは、その主題が領域オブジェクトの
UID40401をその領域の構成要素として有するど
のプロセス610に対してもアクセス可能でなければな
らない情報を保有する。CS10110の他の実施例
は、主題のタッグ構成要素を使用することになる。これ
らの実施例においては、タッグの構成要素のUID40
401は、このタッグ構成要素のUIDにより表わされ
る主題のグループを構成する主題のリスト如き情報を少
なくとも保持するタッグオブジェクトのUID4040
1である。
【1216】b.領域 前述の如く、主題の領域構成要素は、アクセス要求がな
される時そのコードが実行中である手順オブジェクト6
08またはETMに帰属する実行属性の領域である。主
題の領域構成要素は、このように、主題が帰属するプロ
セス610にそのACLがDOEの属性と整合する領域
構成要素を含む主題テンプレートを有するACLEを有
するオブジェクトのグループに対する潜在的なアクセス
を与える。このグループのオブジェクトは、手順オブジ
ェクト608またはETMのDOEの属性によって規定
される領域である。プロセス610が手順オブジェクト
608または与えられたDOE属性を有するETMから
の手順602を実行する時、プロセス610はこのDO
Eの属性によって規定される領域において実行されると
言われる。以上のことから推論されるように、異なる手
順オブジェクト608またはETMは同じDOE属性を
有し得、またオブジェクトはこれらを多くの異なる領域
の構成部とするACLEを有することができる。
される時そのコードが実行中である手順オブジェクト6
08またはETMに帰属する実行属性の領域である。主
題の領域構成要素は、このように、主題が帰属するプロ
セス610にそのACLがDOEの属性と整合する領域
構成要素を含む主題テンプレートを有するACLEを有
するオブジェクトのグループに対する潜在的なアクセス
を与える。このグループのオブジェクトは、手順オブジ
ェクト608またはETMのDOEの属性によって規定
される領域である。プロセス610が手順オブジェクト
608または与えられたDOE属性を有するETMから
の手順602を実行する時、プロセス610はこのDO
Eの属性によって規定される領域において実行されると
言われる。以上のことから推論されるように、異なる手
順オブジェクト608またはETMは同じDOE属性を
有し得、またオブジェクトはこれらを多くの異なる領域
の構成部とするACLEを有することができる。
【1217】手順オブジェクト608のあるグループと
オブジェクトの別のグループ間の関係の確立に際して、
ある領域はCS10110を使用するプログラマがある
与えられたオブジェクトが読出され、実行され、あるい
はある組の手順602によってのみ修正されること保証
することを可能にする。このように、領域はCS101
10において保護されたサブシステムを構成するために
使用することができる。このような保護が施されたサブ
システムの一例はKOS自体であり、KOSテーブルを
含むCS10110内のオブジェクトは全てその領域テ
ンプレート要素がKOS領域を表わすDOEのみと整合
するACLを有する。このDOEを有する手順オブジェ
クト608およびETMのみがKOS手順602を含む
ものであり、また従ってKOS手順602のみがKOS
テーブルの操作が可能である。
オブジェクトの別のグループ間の関係の確立に際して、
ある領域はCS10110を使用するプログラマがある
与えられたオブジェクトが読出され、実行され、あるい
はある組の手順602によってのみ修正されること保証
することを可能にする。このように、領域はCS101
10において保護されたサブシステムを構成するために
使用することができる。このような保護が施されたサブ
システムの一例はKOS自体であり、KOSテーブルを
含むCS10110内のオブジェクトは全てその領域テ
ンプレート要素がKOS領域を表わすDOEのみと整合
するACLを有する。このDOEを有する手順オブジェ
クト608およびETMのみがKOS手順602を含む
ものであり、また従ってKOS手順602のみがKOS
テーブルの操作が可能である。
【1218】1つのオブジェクトが1つ以上の領域に帰
属するため、プログラマは領域を用いてアクセスの階層
を確立することができる。例えば、もし第1の領域にお
けるあるオブジェクトが第1の領域と第2の領域の双方
に帰属し、また第2の領域のオブジェクトの全てがまた
第1の領域に帰属するならば、そのDOEが第1の領域
を規定する手順オブジェクト608に含まれるプロセス
610 2は、これもまた第2の領域に帰属するものを
含む第1の領域における如何なるオブジェクトでもアク
セス可能であるが、そのDOEが第2の領域を規定する
手順オブジェクト608からの手順602は第2の領域
におけるオブジェクトのみをアクセス可能であるのであ
る。
属するため、プログラマは領域を用いてアクセスの階層
を確立することができる。例えば、もし第1の領域にお
けるあるオブジェクトが第1の領域と第2の領域の双方
に帰属し、また第2の領域のオブジェクトの全てがまた
第1の領域に帰属するならば、そのDOEが第1の領域
を規定する手順オブジェクト608に含まれるプロセス
610 2は、これもまた第2の領域に帰属するものを
含む第1の領域における如何なるオブジェクトでもアク
セス可能であるが、そのDOEが第2の領域を規定する
手順オブジェクト608からの手順602は第2の領域
におけるオブジェクトのみをアクセス可能であるのであ
る。
【1219】c.アクセス制御リスト 前述の如く、アクセス制御システムは、1つのオブジェ
クトに対するアクセスを行なうプロセス610に帰属す
る主題とプロセス610が欲するアクセスの種類を比較
して、このアクセスが適正なものかどうかを判定する。
ACLの以下の論議は最初に主題のテンプレートを取扱
い、次いでPACLおよびEACLを取扱う。
クトに対するアクセスを行なうプロセス610に帰属す
る主題とプロセス610が欲するアクセスの種類を比較
して、このアクセスが適正なものかどうかを判定する。
ACLの以下の論議は最初に主題のテンプレートを取扱
い、次いでPACLおよびEACLを取扱う。
【1220】1.主題のテンプレート(図416) 図416は、主題テンプレート、PACLエントリ(P
ACLE)およびEACLエントリ(EACLE)を示
している。最初に主題のテンプレートについて見れば、
主題テンプレート41601は4つの構成要素、即ち主
テンプレート41606と、プロセス・テンプレート4
1607と、領域テンプレート41609と、タッグ・
テンプレート41611とからなる。各テンプレートは
2つのフィールド、即ちフレーバ・フィールド4160
3とUIDフィールド41605とを有する。フレーバ
・フィールド41603は、これが帰属するテンプレー
トがアクセスを試みるプロセス610に対する主題の対
応する構成要素を整合する方法を示す。フレーバ・フィ
ールド41603は3つの値の内の1つを有しそれがど
れであれまたどのグループであれこれと整合する。もし
フレーバ・フィールド41603がいずれとも整合する
値を有するならば、どの主題の構成要素のUID404
01でもテンプレートと整合し、アクセス制御システム
はUIDフィールド41605の検査は行なわない。も
しフレーバ・フィールド41603が値整合1を有する
ならば、対応する主題の構成要素はUIDフィールド4
1605に含まれるものと同じUID40401を持た
ねばならない。もしフレーバ・フィールド41603が
最終的に値整合グループを有するならば、UIDフィー
ルド41605は、与えられた主題構成要素が整合する
主題構成要素のグループについての情報を含むオブジェ
クトのUID40401を含む。
ACLE)およびEACLエントリ(EACLE)を示
している。最初に主題のテンプレートについて見れば、
主題テンプレート41601は4つの構成要素、即ち主
テンプレート41606と、プロセス・テンプレート4
1607と、領域テンプレート41609と、タッグ・
テンプレート41611とからなる。各テンプレートは
2つのフィールド、即ちフレーバ・フィールド4160
3とUIDフィールド41605とを有する。フレーバ
・フィールド41603は、これが帰属するテンプレー
トがアクセスを試みるプロセス610に対する主題の対
応する構成要素を整合する方法を示す。フレーバ・フィ
ールド41603は3つの値の内の1つを有しそれがど
れであれまたどのグループであれこれと整合する。もし
フレーバ・フィールド41603がいずれとも整合する
値を有するならば、どの主題の構成要素のUID404
01でもテンプレートと整合し、アクセス制御システム
はUIDフィールド41605の検査は行なわない。も
しフレーバ・フィールド41603が値整合1を有する
ならば、対応する主題の構成要素はUIDフィールド4
1605に含まれるものと同じUID40401を持た
ねばならない。もしフレーバ・フィールド41603が
最終的に値整合グループを有するならば、UIDフィー
ルド41605は、与えられた主題構成要素が整合する
主題構成要素のグループについての情報を含むオブジェ
クトのUID40401を含む。
【1221】2.根源アクセス制御リスト(PACL) PACLは図416に示されるようにPACL4161
3からなる。各PACLE41613は2つの部分、即
ち主題テンプレート41601とアクセス・モード・ビ
ット・フィールド41615とを有する。アクセス・モ
ード・ビット・フィールド41615における値は、1
1種類のアクセスを規定する。この11種類は2つのグ
ループ、即ち根源データ・アクセスと根源非データ・ア
クセスに該当する。根源データ・アクセスはオブジェク
トの内容40406に主題が行なうことができることを
制御し、根源非データ・アクセスは主題が属性4040
4に行なうことができることを制御する。
3からなる。各PACLE41613は2つの部分、即
ち主題テンプレート41601とアクセス・モード・ビ
ット・フィールド41615とを有する。アクセス・モ
ード・ビット・フィールド41615における値は、1
1種類のアクセスを規定する。この11種類は2つのグ
ループ、即ち根源データ・アクセスと根源非データ・ア
クセスに該当する。根源データ・アクセスはオブジェク
トの内容40406に主題が行なうことができることを
制御し、根源非データ・アクセスは主題が属性4040
4に行なうことができることを制御する。
【1222】3種類の根源データ・アクセス、即ち読出
しアクセス、書込みアクセスおよび実行アクセスが存在
する。もしある主題が読出しアクセスを行なうならば、
これはオブジェクトに含まれるデータを検査可能であ
り、もし主題が書込みアクセスを行なうならば、オブジ
ェクトに含まれるデータの変更が可能であり、もしこれ
が実行アクセスを行なうならばオブジェクトにおけるデ
ータを手順602として処理してこれを実行することを
試みることが可能である。主題はこのような種類のアク
セスあるいはこれらの種類の如何なる組合せも行なわな
い。1つのオブジェクトに対する照合毎に、KOSはこ
の照合を行なう主題が所要の根源データ・アクセスを行
なうかどうかを検査する。
しアクセス、書込みアクセスおよび実行アクセスが存在
する。もしある主題が読出しアクセスを行なうならば、
これはオブジェクトに含まれるデータを検査可能であ
り、もし主題が書込みアクセスを行なうならば、オブジ
ェクトに含まれるデータの変更が可能であり、もしこれ
が実行アクセスを行なうならばオブジェクトにおけるデ
ータを手順602として処理してこれを実行することを
試みることが可能である。主題はこのような種類のアク
セスあるいはこれらの種類の如何なる組合せも行なわな
い。1つのオブジェクトに対する照合毎に、KOSはこ
の照合を行なう主題が所要の根源データ・アクセスを行
なうかどうかを検査する。
【1223】あるオブジェクトに対する根源非データ・
アクセスは、オブジェクトの属性40404の設定また
は読出しのためのみに必要となり、またこれら操作が行
なわれる時のみ検査される。非データ・アクセスの種類
は属性40404の種類と対応する。即ち、 属性 アクセスの種類 オブジェクトの属性 オブジェクトの属性の取得 オブジェクトの属性の設定 根源の制御 根源属性の取得 属性 根源制御属性の設定 拡張制御属性 拡張制御属性の取得 拡張制御属性の設定 ETMアクセス ETMとして使用 ETOの形成 オブジェクトの属性に対するアクセス権は主題が前に述
べたオブジェクト属性を取得してこれを設定することを
可能にする。根源および拡張制御属性に対するアクセス
権は、主題が夫々1つのオブジェクトのPACLおよび
EACLを取得してこれを設定することを可能にする。
アクセスは、オブジェクトの属性40404の設定また
は読出しのためのみに必要となり、またこれら操作が行
なわれる時のみ検査される。非データ・アクセスの種類
は属性40404の種類と対応する。即ち、 属性 アクセスの種類 オブジェクトの属性 オブジェクトの属性の取得 オブジェクトの属性の設定 根源の制御 根源属性の取得 属性 根源制御属性の設定 拡張制御属性 拡張制御属性の取得 拡張制御属性の設定 ETMアクセス ETMとして使用 ETOの形成 オブジェクトの属性に対するアクセス権は主題が前に述
べたオブジェクト属性を取得してこれを設定することを
可能にする。根源および拡張制御属性に対するアクセス
権は、主題が夫々1つのオブジェクトのPACLおよび
EACLを取得してこれを設定することを可能にする。
【1224】オブジェクトはそのPACLにおいてどん
な数のPACLE41613でも持つことができる。あ
るオブジェクトのPACLにおける最初の5つのPAC
LE41613はオブジェクトに対するLAUDE40
906の固定PACLEフィールド41237に含ま
れ、残りはLAUDE40906のPACLオフセット
・フィールド41233において指定された場合におけ
るLAUD40903に記憶される。
な数のPACLE41613でも持つことができる。あ
るオブジェクトのPACLにおける最初の5つのPAC
LE41613はオブジェクトに対するLAUDE40
906の固定PACLEフィールド41237に含ま
れ、残りはLAUDE40906のPACLオフセット
・フィールド41233において指定された場合におけ
るLAUD40903に記憶される。
【1225】3.APAM10918および機密保護カ
ッシェ10234 根源非データ・アクセス権は、ユーザがこのようなアク
セス権を要求するKOSルーチンを生じる時のみ検査さ
れ、拡張アクセス権はユーザがこのような桁送りを要求
する時のみ検査される。一方、根源データ・アクセス権
は、仮想プロセッサ612がプロセス610の実行中に
メモリー照合を行なう毎に検査される。従って、根源デ
ータ・アクセス権検査のKOS構成は速度および効率に
重点を有する。この構成に対しては2つの部分、即ちM
EM10112におけるAPAM10918と、JP1
0114における機密保護カッシェ10234が存在す
る。APAM10918はKOSマイクロコードにとっ
て既知であるMEM10112の場所に存在する。AP
AM10918は、活動状態のオブジェクトに帰属しか
つその主題テンプレート41601が1つのオブジェク
トの主題に整合するPACLE41613からコピーさ
れた根源データ・アクセス情報を保有する。機密保護カ
ッシェ10234は更に、その仮想プロセッサ612が
その時JP10114に対し束縛されるプロセス610
の活動状態の主題と、プロセス610により照合される
活動状態のオブジェクトに対するAPAM10918に
おける情報のコピーを保有する。CS10110におけ
る根源データ・アクセス検査は機密保護カッシェ102
34から開始し、もしこの情報が機密保護カッシェ10
234に含まれなければAPAM10918に進行し、
またもしここに含まれなければ、最終的にはオブジェク
トのPACLに至る。以下の論議はAPAM10918
から始める。
ッシェ10234 根源非データ・アクセス権は、ユーザがこのようなアク
セス権を要求するKOSルーチンを生じる時のみ検査さ
れ、拡張アクセス権はユーザがこのような桁送りを要求
する時のみ検査される。一方、根源データ・アクセス権
は、仮想プロセッサ612がプロセス610の実行中に
メモリー照合を行なう毎に検査される。従って、根源デ
ータ・アクセス権検査のKOS構成は速度および効率に
重点を有する。この構成に対しては2つの部分、即ちM
EM10112におけるAPAM10918と、JP1
0114における機密保護カッシェ10234が存在す
る。APAM10918はKOSマイクロコードにとっ
て既知であるMEM10112の場所に存在する。AP
AM10918は、活動状態のオブジェクトに帰属しか
つその主題テンプレート41601が1つのオブジェク
トの主題に整合するPACLE41613からコピーさ
れた根源データ・アクセス情報を保有する。機密保護カ
ッシェ10234は更に、その仮想プロセッサ612が
その時JP10114に対し束縛されるプロセス610
の活動状態の主題と、プロセス610により照合される
活動状態のオブジェクトに対するAPAM10918に
おける情報のコピーを保有する。CS10110におけ
る根源データ・アクセス検査は機密保護カッシェ102
34から開始し、もしこの情報が機密保護カッシェ10
234に含まれなければAPAM10918に進行し、
またもしここに含まれなければ、最終的にはオブジェク
トのPACLに至る。以下の論議はAPAM10918
から始める。
【1226】図421はAPAM10918を示す。A
PAM10918は二次元のアレイとして構成される。
このアレイの行の索引はAON41304であり、その
列の索引はASNである。CS10110の各AON4
1304に対しては1つの行があり、各ASNに対して
は1つの列がある。図421においては、唯1行と1列
が示されている。AON41304jにより表わされる
オブジェクトに対するAPAM10918におけるどの
根源データ・アクセス情報も行42104に含まれ、列
42105はASNkにより表わされる主題に対するA
PAM10918におけるどんな根源データ・アクセス
情報でも保有する。APAMエントリ(APAME)4
2106は行42104および列42105の交点に存
在し、このためその主題テンプレート41601がAS
Nkにより表わされる主題と整合するAON41304
jによって表わされるオブジェクトに帰属する前記PA
CLE41613からの根源データ・アクセス情報を保
有する。
PAM10918は二次元のアレイとして構成される。
このアレイの行の索引はAON41304であり、その
列の索引はASNである。CS10110の各AON4
1304に対しては1つの行があり、各ASNに対して
は1つの列がある。図421においては、唯1行と1列
が示されている。AON41304jにより表わされる
オブジェクトに対するAPAM10918におけるどの
根源データ・アクセス情報も行42104に含まれ、列
42105はASNkにより表わされる主題に対するA
PAM10918におけるどんな根源データ・アクセス
情報でも保有する。APAMエントリ(APAME)4
2106は行42104および列42105の交点に存
在し、このためその主題テンプレート41601がAS
Nkにより表わされる主題と整合するAON41304
jによって表わされるオブジェクトに帰属する前記PA
CLE41613からの根源データ・アクセス情報を保
有する。
【1227】APAME42106の展開図がAPAM
10918の表示の下方に示されている。APAME4
2106は4つの1ビット・フィールドを有する。この
ビットは、APAME42106の列指標により示され
る主題がAPAME42106の行指標により示される
オブジェクトに対して行なう根源データ・アクセスの種
類を表わす。 −フィールド42107は有効ビットである。もしこの
有効ビットがセットされると、APAME42106は
列により示される主題と行により示されるオブジェクト
に対するどんな根源データ・アクセス情報でも保有す
る。APAME42106における残りのフィールドは
単に有効ビット42107がセットされるだけで有意義
となる。 −フィールド42109は実行ビットである。もしこれ
がセットされると、APAME42106の主題はAP
AME42106のオブジェクトに対する実行アクセス
を行なう。 −フィールド42111は読出しビットである。もしこ
れがセットされると、APAME42106の主題はA
PAM42106のオブジェクトに対する読出しアクセ
スを行なう。 −フィールド42113は書込みビットである。もしこ
れがセットされると、APAME42106の主題はA
PAME42106のオブジェクトに対する書込みアク
セスを行なう。
10918の表示の下方に示されている。APAME4
2106は4つの1ビット・フィールドを有する。この
ビットは、APAME42106の列指標により示され
る主題がAPAME42106の行指標により示される
オブジェクトに対して行なう根源データ・アクセスの種
類を表わす。 −フィールド42107は有効ビットである。もしこの
有効ビットがセットされると、APAME42106は
列により示される主題と行により示されるオブジェクト
に対するどんな根源データ・アクセス情報でも保有す
る。APAME42106における残りのフィールドは
単に有効ビット42107がセットされるだけで有意義
となる。 −フィールド42109は実行ビットである。もしこれ
がセットされると、APAME42106の主題はAP
AME42106のオブジェクトに対する実行アクセス
を行なう。 −フィールド42111は読出しビットである。もしこ
れがセットされると、APAME42106の主題はA
PAM42106のオブジェクトに対する読出しアクセ
スを行なう。 −フィールド42113は書込みビットである。もしこ
れがセットされると、APAME42106の主題はA
PAME42106のオブジェクトに対する書込みアク
セスを行なう。
【1228】フィールド42109乃至42113にお
けるビットのどんな組合せでもセットすることができ
る。もしこれらのフィールドの全てが0にセットされる
と、APAME42106はこれが表わす主題がこれが
表わすオブジェクトに対するアクセスを行なわないこと
を示す。
けるビットのどんな組合せでもセットすることができ
る。もしこれらのフィールドの全てが0にセットされる
と、APAME42106はこれが表わす主題がこれが
表わすオブジェクトに対するアクセスを行なわないこと
を示す。
【1229】ASNにより表わされる主題が初めてAO
N41304により表わされるオブジェクトを照合する
と、KOSはASNおよびAONに対してAPAME4
2106をセットする。APAME42106がセット
されるまで、有効ビット42107は0にセットされ
る。APAME42106がセットされると、有効ビッ
ト42107は1にセットされ、フィールド42109
乃至42113は、その主題テンプレート41601が
主題と整合するオブジェクトのPACLE41613に
おける根源データ・アクセス情報に従ってセットされ
る。あるオブジェクトが非活動状態におかれる時、オブ
ジェクトのAON41304に帰属する行における全て
のAPAME42106における有効ビット42107
は0にセットされ、同様に、主題が非活動状態におかれ
る時、主題のASNに帰属する列における全てのAPA
ME42106における有効ビット42107は0にセ
ットされる。
N41304により表わされるオブジェクトを照合する
と、KOSはASNおよびAONに対してAPAME4
2106をセットする。APAME42106がセット
されるまで、有効ビット42107は0にセットされ
る。APAME42106がセットされると、有効ビッ
ト42107は1にセットされ、フィールド42109
乃至42113は、その主題テンプレート41601が
主題と整合するオブジェクトのPACLE41613に
おける根源データ・アクセス情報に従ってセットされ
る。あるオブジェクトが非活動状態におかれる時、オブ
ジェクトのAON41304に帰属する行における全て
のAPAME42106における有効ビット42107
は0にセットされ、同様に、主題が非活動状態におかれ
る時、主題のASNに帰属する列における全てのAPA
ME42106における有効ビット42107は0にセ
ットされる。
【1230】4.機密保護カッシェ10234および機
密保護検査(図422) 機密保護情報の加速における最終段はJP10114に
おける機密保護カッシェ10234である。機密保護カ
ッシェ10234が機能する方法の詳細がハードウェア
の論議において示されるが、本論においては、機密保護
カッシェ10234がアクセス桁送りを行なう方法、機
密保護カッシェ10234とAPAM10918とAO
T10712間の関係、およびKOSの保護カッシェ・
マイクロコードが機密保護カッシェ10234を保持す
る方法について論議される。
密保護検査(図422) 機密保護情報の加速における最終段はJP10114に
おける機密保護カッシェ10234である。機密保護カ
ッシェ10234が機能する方法の詳細がハードウェア
の論議において示されるが、本論においては、機密保護
カッシェ10234がアクセス桁送りを行なう方法、機
密保護カッシェ10234とAPAM10918とAO
T10712間の関係、およびKOSの保護カッシェ・
マイクロコードが機密保護カッシェ10234を保持す
る方法について論議される。
【1231】図422は、機密保護カッシェ10234
と、AOT10712と、APAM10918と、機密
保護カッシェ10234を保持するKOSマイクロコー
ド42207のブロック図である。JP10144は論
理記述子27116を用いてメモリー照合を行なう毎
に、同時に論理記述子27116と、機密保護カッシェ
10234とATU10228に対してメモリー操作の
種類を示す信号42208を表わす。機密保護カッシェ
10234における保護カッシェ・エントリ42215
は、根源データ・アクセス情報と、その仮想プロセッサ
612がその時JP10114に束縛されるプロセス6
10のその時の主題によって前に照合されたオブジェク
トに対する長さ情報を保有する。メモリーの照合毎に機
密保護カッシェ10234はMEM10112に対して
有効/無効信号42205を送出する。もし機密保護カ
ッシェ10234が論理記述子27116のAONフィ
ールド27111に含まれるAON41304に対する
エントリ42215を持たないか、保護カッシェ・エン
トリ42215が主題プロセス610により要求される
タイプのアクセスを持たないことを示すか、あるいは論
理記述子27116のOFFフィールド27113およ
びLENフィールド27115の和がオブジェクトのそ
の時のサイズを越えるならば、機密保護カッシェ102
34が無効信号42205を送出する。この信号はME
M10112をしてメモリー照合の打切りを生じさせ
る。さもなければ、機密保護カッシェ10234が無効
信号42205を送出し、MEM10112がメモリー
照合を実行する。
と、AOT10712と、APAM10918と、機密
保護カッシェ10234を保持するKOSマイクロコー
ド42207のブロック図である。JP10144は論
理記述子27116を用いてメモリー照合を行なう毎
に、同時に論理記述子27116と、機密保護カッシェ
10234とATU10228に対してメモリー操作の
種類を示す信号42208を表わす。機密保護カッシェ
10234における保護カッシェ・エントリ42215
は、根源データ・アクセス情報と、その仮想プロセッサ
612がその時JP10114に束縛されるプロセス6
10のその時の主題によって前に照合されたオブジェク
トに対する長さ情報を保有する。メモリーの照合毎に機
密保護カッシェ10234はMEM10112に対して
有効/無効信号42205を送出する。もし機密保護カ
ッシェ10234が論理記述子27116のAONフィ
ールド27111に含まれるAON41304に対する
エントリ42215を持たないか、保護カッシェ・エン
トリ42215が主題プロセス610により要求される
タイプのアクセスを持たないことを示すか、あるいは論
理記述子27116のOFFフィールド27113およ
びLENフィールド27115の和がオブジェクトのそ
の時のサイズを越えるならば、機密保護カッシェ102
34が無効信号42205を送出する。この信号はME
M10112をしてメモリー照合の打切りを生じさせ
る。さもなければ、機密保護カッシェ10234が無効
信号42205を送出し、MEM10112がメモリー
照合を実行する。
【1232】機密保護カッシェ10234が無効信号4
2205を送出する時、これはDST20256に対す
る照合を行なうため使用した論理記述子27116と、
SCR27018に対するメモリー指令と、もしこれが
書込み操作であればDAT20258に対するDTをラ
ッチし、同時に2つの事象信号の内の1つをKOSマイ
クロコードに対して送出する。照合を実施中のプロセス
610が適正なアクセス権を持たないか、あるいは照合
されたデータがオブジェクトの終りを越えて拡張する時
に、違法アクセス事象信号42208が生じる。違法ア
クセス事象信号42208は、KOSアクセス制御シス
テムの手順602に対するマイクロコード対ソフトウェ
ア呼出し42217(呼出しの論議において説明する)
を実施するKOSマイクロコード42215を生じDS
T20256、SCR27018、プロセス610のA
SN(レジスタGR10360に含まれる)、およびも
し必要ならばDAT20258の内容を手順602に対
して送る。これらの手順602はEOSを保護機能の侵
害について通知し、この時EOSはこれに対処する。
2205を送出する時、これはDST20256に対す
る照合を行なうため使用した論理記述子27116と、
SCR27018に対するメモリー指令と、もしこれが
書込み操作であればDAT20258に対するDTをラ
ッチし、同時に2つの事象信号の内の1つをKOSマイ
クロコードに対して送出する。照合を実施中のプロセス
610が適正なアクセス権を持たないか、あるいは照合
されたデータがオブジェクトの終りを越えて拡張する時
に、違法アクセス事象信号42208が生じる。違法ア
クセス事象信号42208は、KOSアクセス制御シス
テムの手順602に対するマイクロコード対ソフトウェ
ア呼出し42217(呼出しの論議において説明する)
を実施するKOSマイクロコード42215を生じDS
T20256、SCR27018、プロセス610のA
SN(レジスタGR10360に含まれる)、およびも
し必要ならばDAT20258の内容を手順602に対
して送る。これらの手順602はEOSを保護機能の侵
害について通知し、この時EOSはこれに対処する。
【1233】機密保護カッシェ10234においてAO
N41304に対する保護カッシェ・エントリ4221
5が存在しない時、カッシェ・ミス事象信号42206
が生じる。カッシェ・ミス事象信号42206はKOS
マイクロコード42207を生じ、これは、AOT10
712およびAPAM10918から得た情報からの未
着の保護カッシェ・エントリ42215を構成する。も
しAPAM10918がその時の主題のASNおよび照
合中のオブジェクトのAONに対するエントリを含まな
ければ、保護カッシェ・ミス・マイクロコード4220
7は、オブジェクトに対するLAUDE40906にな
るKOSアクセス制御システムの手順602に対するマ
イクロコード対ソフトウェア呼出しを実施して、その主
題テンプレート41601がAPAM10918に対す
る照合を試みる主題と整合するオブジェクトに帰属する
PACLE41613からの所要の根源データ・アクセ
ス情報をコピーする。この時KOSアクセス制御システ
ムの手順602はそれ自体が戻るカッシェ・ミス・マイ
クロコード42207に戻る。オフセット・フィールド
41107が事象信号によって生成されたため、戻しは
JP10114をして保護カッシェ・ミスを生じたメモ
リー照合を再び検査する。もし機密保護カッシェ102
34が最後の保護カッシェ・ミスの結果としてラッチさ
れたならば、このミスは反復せず、もし所要の情報がA
PAM10918に存在しなかったため機密保護カッシ
ェ10234はロードされなければ、このミスは反復し
ないが、情報が前のミスの結果APAM10918に置
かれたため、KOSマイクロコード42207がこの時
機密保護カッシェ10234におけるKOSマイクロコ
ード42215を構成する。KOSマイクロコード42
207が戻る時、メモリーの照合が再び試みられるが、
この時機密保護カッシェ10234は情報を含みミスは
反復しない。
N41304に対する保護カッシェ・エントリ4221
5が存在しない時、カッシェ・ミス事象信号42206
が生じる。カッシェ・ミス事象信号42206はKOS
マイクロコード42207を生じ、これは、AOT10
712およびAPAM10918から得た情報からの未
着の保護カッシェ・エントリ42215を構成する。も
しAPAM10918がその時の主題のASNおよび照
合中のオブジェクトのAONに対するエントリを含まな
ければ、保護カッシェ・ミス・マイクロコード4220
7は、オブジェクトに対するLAUDE40906にな
るKOSアクセス制御システムの手順602に対するマ
イクロコード対ソフトウェア呼出しを実施して、その主
題テンプレート41601がAPAM10918に対す
る照合を試みる主題と整合するオブジェクトに帰属する
PACLE41613からの所要の根源データ・アクセ
ス情報をコピーする。この時KOSアクセス制御システ
ムの手順602はそれ自体が戻るカッシェ・ミス・マイ
クロコード42207に戻る。オフセット・フィールド
41107が事象信号によって生成されたため、戻しは
JP10114をして保護カッシェ・ミスを生じたメモ
リー照合を再び検査する。もし機密保護カッシェ102
34が最後の保護カッシェ・ミスの結果としてラッチさ
れたならば、このミスは反復せず、もし所要の情報がA
PAM10918に存在しなかったため機密保護カッシ
ェ10234はロードされなければ、このミスは反復し
ないが、情報が前のミスの結果APAM10918に置
かれたため、KOSマイクロコード42207がこの時
機密保護カッシェ10234におけるKOSマイクロコ
ード42215を構成する。KOSマイクロコード42
207が戻る時、メモリーの照合が再び試みられるが、
この時機密保護カッシェ10234は情報を含みミスは
反復しない。
【1234】KOSマイクロコード42207は新たな
保護カッシェ・エントリ42215を生じ、これを下記
の如く機密保護カッシェ10234にロードする。即
ち、ミスを生じたメモリー照合が実行される時DST2
0256にラッチされた論理記述子274116からの
AON41304と、GR10360に含まれたその時
の主題のASNを用いて、カッシェ・ミス・マイクロコ
ードは、ASNにより表わされる主題とAON4130
4により表わされたオブジェクトに対するAPAME4
2106を見出し、APAME42106の内容をJP
Dバス10142に対するソースとして作用するJP1
0114のレジスタに対してコピーする。これはまたオ
ブジェクトに対するAOTE41306を見出すためA
ON41304を使用し、サイズ・フィールド4151
9の内容をJPDバス10142に対するソースである
別のJP10114に対してコピーする。これは次に、
連続するマイクロ命令において実行される3つの特殊な
マイクロ指令を用いて保護カッシェ・エントリ4221
5をラッチする。最初のマイクロ指令は保護カッシェ・
エントリ42215のTS24010をDST2025
6にラッチされた論理記述子27116のAON413
04でラッチし、第2のマイクロ指令はオブジェクトの
サイズを機密保護カッシェ10234のエクステント・
フィールドにロードし、また第3のマイクロ指令は同じ
方法でAPAME42106の指令をロードする。
保護カッシェ・エントリ42215を生じ、これを下記
の如く機密保護カッシェ10234にロードする。即
ち、ミスを生じたメモリー照合が実行される時DST2
0256にラッチされた論理記述子274116からの
AON41304と、GR10360に含まれたその時
の主題のASNを用いて、カッシェ・ミス・マイクロコ
ードは、ASNにより表わされる主題とAON4130
4により表わされたオブジェクトに対するAPAME4
2106を見出し、APAME42106の内容をJP
Dバス10142に対するソースとして作用するJP1
0114のレジスタに対してコピーする。これはまたオ
ブジェクトに対するAOTE41306を見出すためA
ON41304を使用し、サイズ・フィールド4151
9の内容をJPDバス10142に対するソースである
別のJP10114に対してコピーする。これは次に、
連続するマイクロ命令において実行される3つの特殊な
マイクロ指令を用いて保護カッシェ・エントリ4221
5をラッチする。最初のマイクロ指令は保護カッシェ・
エントリ42215のTS24010をDST2025
6にラッチされた論理記述子27116のAON413
04でラッチし、第2のマイクロ指令はオブジェクトの
サイズを機密保護カッシェ10234のエクステント・
フィールドにロードし、また第3のマイクロ指令は同じ
方法でAPAME42106の指令をロードする。
【1235】別のマイクロ指令は機密保護カッシェ10
234における全てのエントリ42215を無効化す
る。フラッシングと呼ばれるこの操作は、1つのオブジ
ェクトが非活動状態にされる時、またはその時の主題が
代る時に実施される。その時の主題は、仮想プロセッサ
612がJP10114との束縛から解除される時は常
に、また呼出し側の手順602または戻し中の手順60
2が実行する領域と異なる領域において実行する手順6
02に対する呼出しまたはこれからの戻しを実施する時
は常に変化する。呼出しの場合、および仮想プロセッサ
612の束縛解除の場合、カッシェのフラッシュはKO
S呼出しによって実施されてマイクロコードを指名しオ
ブジェクトの非活性化の場合には、これはカッシェ・フ
ラッシュ・マイクロコードを生じる特殊なKOSSIN
を用いてKOS手順により実施されるのである。
234における全てのエントリ42215を無効化す
る。フラッシングと呼ばれるこの操作は、1つのオブジ
ェクトが非活動状態にされる時、またはその時の主題が
代る時に実施される。その時の主題は、仮想プロセッサ
612がJP10114との束縛から解除される時は常
に、また呼出し側の手順602または戻し中の手順60
2が実行する領域と異なる領域において実行する手順6
02に対する呼出しまたはこれからの戻しを実施する時
は常に変化する。呼出しの場合、および仮想プロセッサ
612の束縛解除の場合、カッシェのフラッシュはKO
S呼出しによって実施されてマイクロコードを指名しオ
ブジェクトの非活性化の場合には、これはカッシェ・フ
ラッシュ・マイクロコードを生じる特殊なKOSSIN
を用いてKOS手順により実施されるのである。
【1236】D.プロセス 1.プロセス610および仮想プロセッサ612の同期 プロセス610と、これが束縛される仮想プロセッサ6
12が同時にCS10110に関して実行することがで
きるため、KOSは相互に依存するプロセス610を同
期させるための装置を提供しなければならない。例え
ば、もしプロセス610Bがある操作を実施し終るまで
プロセス610Aが進行できなければ、Bの実行が完了
するまでAの実行を延期するための機構が存在しなけれ
ばならない。一般に、次の4種類の同期処置が必要とな
る。即ち、 −1つのプロセス610は停止して、あるタスクが進行
する前にこのタスクを完了する別のプロセス610を待
機することができねばならない。 −プロセス610は別のプロセス610にあるメッセー
ジを送り、これが進行する前に返答を待機しなければな
らない。 −プロセス610があるデータ・ベースを共有する時、
1つのプロセス610は、最初のプロセス610がこの
データ・ベースを用いて完了するまでこのデータ・ベー
スから他のプロセス610を実行することができねばな
らない。 −1つのプロセス610は、別のプロセス610に割込
む、即ち第2のプロセス610をしてある動作を実施さ
せることができねばならない。
12が同時にCS10110に関して実行することがで
きるため、KOSは相互に依存するプロセス610を同
期させるための装置を提供しなければならない。例え
ば、もしプロセス610Bがある操作を実施し終るまで
プロセス610Aが進行できなければ、Bの実行が完了
するまでAの実行を延期するための機構が存在しなけれ
ばならない。一般に、次の4種類の同期処置が必要とな
る。即ち、 −1つのプロセス610は停止して、あるタスクが進行
する前にこのタスクを完了する別のプロセス610を待
機することができねばならない。 −プロセス610は別のプロセス610にあるメッセー
ジを送り、これが進行する前に返答を待機しなければな
らない。 −プロセス610があるデータ・ベースを共有する時、
1つのプロセス610は、最初のプロセス610がこの
データ・ベースを用いて完了するまでこのデータ・ベー
スから他のプロセス610を実行することができねばな
らない。 −1つのプロセス610は、別のプロセス610に割込
む、即ち第2のプロセス610をしてある動作を実施さ
せることができねばならない。
【1237】KOSは各種の同期操作のための内部機構
を有し、また更にEOSに対する同期機構を供給する。
KOSは仮想プロセッサ612とKOSのプロセッサ6
10を同期させる内部機構を使用し、EOSは他の全て
のプロセス610を同期させるためKOSによって供給
される機構を使用する。この内部機構は下記の如くであ
る。即ち、 −事象カウンタ、待機エントリおよび待機テーブル。以
下において詳細に説明するように、事象カウンタと待機
エントリはある操作を完了するため1つのプロセス61
0を停止させて別のプロセス610を待機させる。事象
カウンタおよび待機エントリはまたプロセスの割込みを
構成するためにも使用される。待機エントリは待機テー
ブルに構成される。 −メッセージのキュー。メッセージ・キューは1つのプ
ロセス610があるメッセージを他のプロセス610に
送って回答を待つことを可能にする。メッセージ・キュ
ーは事象カウンタおよびキュー・データ構造により構成
されている。 −ロック。ロックは1つのプロセス610があるデータ
・ベースまたはコードのあるセグメントからの他のプロ
セス610を実行することを可能にする。ロックは、事
象カウンタおよびシーケンサと呼ばれる素子から構成さ
れる。
を有し、また更にEOSに対する同期機構を供給する。
KOSは仮想プロセッサ612とKOSのプロセッサ6
10を同期させる内部機構を使用し、EOSは他の全て
のプロセス610を同期させるためKOSによって供給
される機構を使用する。この内部機構は下記の如くであ
る。即ち、 −事象カウンタ、待機エントリおよび待機テーブル。以
下において詳細に説明するように、事象カウンタと待機
エントリはある操作を完了するため1つのプロセス61
0を停止させて別のプロセス610を待機させる。事象
カウンタおよび待機エントリはまたプロセスの割込みを
構成するためにも使用される。待機エントリは待機テー
ブルに構成される。 −メッセージのキュー。メッセージ・キューは1つのプ
ロセス610があるメッセージを他のプロセス610に
送って回答を待つことを可能にする。メッセージ・キュ
ーは事象カウンタおよびキュー・データ構造により構成
されている。 −ロック。ロックは1つのプロセス610があるデータ
・ベースまたはコードのあるセグメントからの他のプロ
セス610を実行することを可能にする。ロックは、事
象カウンタおよびシーケンサと呼ばれる素子から構成さ
れる。
【1238】KOSは事象カウンタと、待機エントリ
と、メッセージ・キューをEOSにより使用可能にす
る。これはロックを生じることなくシーケンサを生じそ
の結果EOSはそれ自体のロックを構成することができ
る。以下の論議は、事象カウンタ、待機エントリ、メッ
セージ・キュー、シーケンサおよびロックの論理的特性
を規定しかつこれについて説明する。本実施例における
それらの構成については、プロセス610と仮想プロセ
ッサ612の構成に沿って記述する。
と、メッセージ・キューをEOSにより使用可能にす
る。これはロックを生じることなくシーケンサを生じそ
の結果EOSはそれ自体のロックを構成することができ
る。以下の論議は、事象カウンタ、待機エントリ、メッ
セージ・キュー、シーケンサおよびロックの論理的特性
を規定しかつこれについて説明する。本実施例における
それらの構成については、プロセス610と仮想プロセ
ッサ612の構成に沿って記述する。
【1239】a.事象カウンタ440801、待機エン
トリ440804および待機テーブル(図448,図4
49) 事象カウンタ、待機エントリおよび待機テーブルはKO
Sの同期システムの基本的な構成要素である。図448
は、事象カウンタおよび待機エントリを示している。図
449は本実施例の待機テーブルであるプロセス事象テ
ーブル44705の簡単な図を示している。最初に図4
48について見れば、事象カウンタ44801は増加の
みが可能な値を保有するメモリーの領域である。本実施
例の1つにおいては、ページ誤りではないKOSシステ
ムに対する事象カウンタ44801は常にMEM101
12に存在し、他の事象カウンタ44801は、あるプ
ロセス610がこれらを照合せず、従ってVMMシステ
ムとしてこれらをMEM10112にロードさせなけれ
ばED10124に記憶される。事象カウンタ4480
1に含まれる値は事象カウンタ値44802と呼ばれ
る。本実施例においては、事象カウンタ44801は6
4ビットのデータを保有し、その内60ビットが事象カ
ウンタ値44801を構成する。事象カウンタ4480
1は変数と呼ばれ、あるいは事象カウンタ44801の
場所を保有する128ビットのUIDポインタと呼ばれ
る。このUIDポインタは事象カウンタ44803と呼
ばれる。
トリ440804および待機テーブル(図448,図4
49) 事象カウンタ、待機エントリおよび待機テーブルはKO
Sの同期システムの基本的な構成要素である。図448
は、事象カウンタおよび待機エントリを示している。図
449は本実施例の待機テーブルであるプロセス事象テ
ーブル44705の簡単な図を示している。最初に図4
48について見れば、事象カウンタ44801は増加の
みが可能な値を保有するメモリーの領域である。本実施
例の1つにおいては、ページ誤りではないKOSシステ
ムに対する事象カウンタ44801は常にMEM101
12に存在し、他の事象カウンタ44801は、あるプ
ロセス610がこれらを照合せず、従ってVMMシステ
ムとしてこれらをMEM10112にロードさせなけれ
ばED10124に記憶される。事象カウンタ4480
1に含まれる値は事象カウンタ値44802と呼ばれ
る。本実施例においては、事象カウンタ44801は6
4ビットのデータを保有し、その内60ビットが事象カ
ウンタ値44801を構成する。事象カウンタ4480
1は変数と呼ばれ、あるいは事象カウンタ44801の
場所を保有する128ビットのUIDポインタと呼ばれ
る。このUIDポインタは事象カウンタ44803と呼
ばれる。
【1240】待機エントリ44804は待機テーブルに
おけるエントリの一構成要素である。本実施例において
は、2つの待機テーブル、即ちプロセス事象テーブル4
4705および仮想プロセッサ待機テーブル(VPA
T)45401が存在する。VPAT45401は常に
MEM10112に存在する。既に述べたように、図4
49はPET44705を示す。PET44705とV
PAT45401の双方については後で詳細に説明す
る。各待機エントリ44804は、事象カウンタ名前4
4803と、事象カウンタ値44802と、プロセス6
10または仮想プロセッサ612を識別するバック・リ
ンク44805とを含む。このように、待機エントリ4
4804は、事象カウンタ44801と、事象カウンタ
値44802と、プロセス610または仮想プロセッサ
612間の関係を確保する。
おけるエントリの一構成要素である。本実施例において
は、2つの待機テーブル、即ちプロセス事象テーブル4
4705および仮想プロセッサ待機テーブル(VPA
T)45401が存在する。VPAT45401は常に
MEM10112に存在する。既に述べたように、図4
49はPET44705を示す。PET44705とV
PAT45401の双方については後で詳細に説明す
る。各待機エントリ44804は、事象カウンタ名前4
4803と、事象カウンタ値44802と、プロセス6
10または仮想プロセッサ612を識別するバック・リ
ンク44805とを含む。このように、待機エントリ4
4804は、事象カウンタ44801と、事象カウンタ
値44802と、プロセス610または仮想プロセッサ
612間の関係を確保する。
【1241】次に図449について見れば、本実施例に
おいては、ユーザのプロセス610に対する全ての待機
エントリ44804はPET44705に保有される。
PET44705はまた他の情報も保有する。図449
は、待機エントリ44804を示すPET44705の
部分のみを示している。PET44705は特定の事象
カウンタ44801に帰属する待機エントリ44804
の迅速な位置決めを可能にするよう構成されている。P
ETエントリ(PPTE)44909は、これがPET
44705におけるリストに組合されることを可能にす
るリンクを含んでいる。PET44705には4つの種
類のリストが存在する。即ち、 −事象カウンタ・リスト:これらのリストは、その事象
カウンタ名前44803が1つの値に対してハッシュを
行なう事象カウンタ44801に対する全てのPPTE
44909をリンクする。 −待機リスト:これらのリストは、あるプロセス610
が待機中である事象カウンタ44801に対する全ての
PPTE44909をリンクする。 −割込みリスト:これらのリストは、あるプロセス61
0に対するある割込みを惹起させる事象カウンタ448
01に対する全てのPPTE44909をリンクする。 −自由リスト:前記リストの1つにおいて使用されない
PPTE44909が自由リストに存在する。
おいては、ユーザのプロセス610に対する全ての待機
エントリ44804はPET44705に保有される。
PET44705はまた他の情報も保有する。図449
は、待機エントリ44804を示すPET44705の
部分のみを示している。PET44705は特定の事象
カウンタ44801に帰属する待機エントリ44804
の迅速な位置決めを可能にするよう構成されている。P
ETエントリ(PPTE)44909は、これがPET
44705におけるリストに組合されることを可能にす
るリンクを含んでいる。PET44705には4つの種
類のリストが存在する。即ち、 −事象カウンタ・リスト:これらのリストは、その事象
カウンタ名前44803が1つの値に対してハッシュを
行なう事象カウンタ44801に対する全てのPPTE
44909をリンクする。 −待機リスト:これらのリストは、あるプロセス610
が待機中である事象カウンタ44801に対する全ての
PPTE44909をリンクする。 −割込みリスト:これらのリストは、あるプロセス61
0に対するある割込みを惹起させる事象カウンタ448
01に対する全てのPPTE44909をリンクする。 −自由リスト:前記リストの1つにおいて使用されない
PPTE44909が自由リストに存在する。
【1242】ある待機リストまたはある割込みリストに
存在する各PPTE44909もまたある事象カウンタ
・リストに存在する。
存在する各PPTE44909もまたある事象カウンタ
・リストに存在する。
【1243】最初に事象カウンタ・リストについて述べ
ればある事象カウンタ・リストにおける全てのPPTE
44909は1つの値に対してハッシュを行なう事象カ
ウンタ名前44803を保有する。この値はハッシュ機
能44901により生成され、次いでPETハッシュ・
テーブル(PETHT)44903における指標として
使用される。PETHT44903におけるこのエント
リは、事象カウンタ・リストのヘッドであるこのPPT
E44909のPET44705において指標を含む。
PETEリスト44904はこのような1つの事象カウ
ンタ・リストを表わす。このように事象カウンタ名前4
4803が与えられるとKOSは事象カウンタ4480
1に帰属する全ての待機エントリ44804を迅速に見
出すことができる。
ればある事象カウンタ・リストにおける全てのPPTE
44909は1つの値に対してハッシュを行なう事象カ
ウンタ名前44803を保有する。この値はハッシュ機
能44901により生成され、次いでPETハッシュ・
テーブル(PETHT)44903における指標として
使用される。PETHT44903におけるこのエント
リは、事象カウンタ・リストのヘッドであるこのPPT
E44909のPET44705において指標を含む。
PETEリスト44904はこのような1つの事象カウ
ンタ・リストを表わす。このように事象カウンタ名前4
4803が与えられるとKOSは事象カウンタ4480
1に帰属する全ての待機エントリ44804を迅速に見
出すことができる。
【1244】本実施例においては、事象カウンタ448
01の構成よび待機エントリ44804を含むテーブル
は、プロセス610とこのプロセス610が束縛される
仮想プロセッサ612の双方を生じる。後で説明するよ
うに、プロセス610に帰属する多くの事象カウンタ4
4801および待機エントリ44804は、プロセスの
仮想プロセッサ612に帰属する少数の事象カウンタ4
4801と待機エントリ44804に対して多重化され
る。仮想プロセッサ612に帰属する事象カウンタ44
801に対する待機エントリ44804はVPAT45
401に含まれる。
01の構成よび待機エントリ44804を含むテーブル
は、プロセス610とこのプロセス610が束縛される
仮想プロセッサ612の双方を生じる。後で説明するよ
うに、プロセス610に帰属する多くの事象カウンタ4
4801および待機エントリ44804は、プロセスの
仮想プロセッサ612に帰属する少数の事象カウンタ4
4801と待機エントリ44804に対して多重化され
る。仮想プロセッサ612に帰属する事象カウンタ44
801に対する待機エントリ44804はVPAT45
401に含まれる。
【1245】b.事象カウンタ44801および待機エ
ントリ44804の同期操作 KOSにより提供されるプロセス610の同期操作の最
も簡単な形態は、事象カウンタ44801と待機エント
リ44804のみを使用する。連携動作はこのように生
じる。即ち、プロセス610AはKOSに待機操作を実
施することを要求し、即ち1つ以上の待機エントリ44
804を確保すること、およびこの待機エントリの1つ
が満たされるまでプロセス610Aを延期させることを
要求する。待機操作の要素においては、プロセス610
Aはこれがどんな事象カウンタ44801を待機中であ
るか、またこれらの事象カウンタ44801が満たされ
るべきその事象カウンタ値44802に対してどんな事
象カウンタ値44802を持たなければならないかを規
定する。KOSが待機エントリ44804を確保した
後、これはプロセス610Aを延期する。プロセス61
0Aが延期させられる間、他のプロセス610がKOS
にプロセス610Aの待機エントリ44804において
規定された事象カウンタ44801に関する拡張操作を
実施することを要求する。プロセス610が事象カウン
タ44801に関する拡張操作を要求する毎に、KOS
は事象カウンタ44801を増進させて事象カウンタ4
4801の事象カウンタ44801を検査する。最後に
は、事象カウンタ44801はプロセス610の待機エ
ントリ44804の1つを満たし、即ちプロセス610
Aに対するその待機エントリ44804に規定された事
象カウンタ値44802と等しいかあるいはこれより大
きな値に達する。この時点において、KOSはプロセス
610Aが実行を再開することを許容する。プロセス6
10Aが実行を再開する時、これはその待機エントリ4
4804の全てを削除するのである。
ントリ44804の同期操作 KOSにより提供されるプロセス610の同期操作の最
も簡単な形態は、事象カウンタ44801と待機エント
リ44804のみを使用する。連携動作はこのように生
じる。即ち、プロセス610AはKOSに待機操作を実
施することを要求し、即ち1つ以上の待機エントリ44
804を確保すること、およびこの待機エントリの1つ
が満たされるまでプロセス610Aを延期させることを
要求する。待機操作の要素においては、プロセス610
Aはこれがどんな事象カウンタ44801を待機中であ
るか、またこれらの事象カウンタ44801が満たされ
るべきその事象カウンタ値44802に対してどんな事
象カウンタ値44802を持たなければならないかを規
定する。KOSが待機エントリ44804を確保した
後、これはプロセス610Aを延期する。プロセス61
0Aが延期させられる間、他のプロセス610がKOS
にプロセス610Aの待機エントリ44804において
規定された事象カウンタ44801に関する拡張操作を
実施することを要求する。プロセス610が事象カウン
タ44801に関する拡張操作を要求する毎に、KOS
は事象カウンタ44801を増進させて事象カウンタ4
4801の事象カウンタ44801を検査する。最後に
は、事象カウンタ44801はプロセス610の待機エ
ントリ44804の1つを満たし、即ちプロセス610
Aに対するその待機エントリ44804に規定された事
象カウンタ値44802と等しいかあるいはこれより大
きな値に達する。この時点において、KOSはプロセス
610Aが実行を再開することを許容する。プロセス6
10Aが実行を再開する時、これはその待機エントリ4
4804の全てを削除するのである。
【1246】E.仮想プロセッサ612(図453) 前述の如く、仮想プロセッサ612はプロセス610が
MEM10112に対するアクセスを行なう手段として
論理的に規定することができる。物理的には、仮想プロ
セッサは、仮想プロセッサ612をJP10114に対
して束縛しまたこれらプロセッサをJP10114から
解除するKOSマイクロコードがこの束縛および解除操
作の実施を要求する情報を保有するMEM10112の
領域である。図453は仮想プロセッサ612を示す。
仮想プロセッサ612に帰属するMEM10112の領
域は仮想プロセッサ612の仮想プロセッサの状態ブロ
ック(VPSB)614である。CS10110におけ
る各仮想プロセッサ612は1つのVPSB614を有
する。これと共に、VPSB614はVPSBアレイ4
5301を構成する。仮想プロセッサの管理システム内
部においては、各仮想プロセッサ612はVPSBアレ
イ45301における仮想プロセッサ612のVPSB
614の指標であるそのVPSBアレイ45301によ
り既知である。仮想プロセッサ612はマイクロVPリ
スト(MVPL)45309に含まれるリストによって
管理される。各仮想プロセッサ612はMVPL453
09におけるエントリ(MVPLE)45321を有
し、また仮想プロセッサ612が状態を変化する時、仮
想プロセッサ管理マイクロコードはこれをMVPL45
309における1つのリストから別のリストに移動す
る。
MEM10112に対するアクセスを行なう手段として
論理的に規定することができる。物理的には、仮想プロ
セッサは、仮想プロセッサ612をJP10114に対
して束縛しまたこれらプロセッサをJP10114から
解除するKOSマイクロコードがこの束縛および解除操
作の実施を要求する情報を保有するMEM10112の
領域である。図453は仮想プロセッサ612を示す。
仮想プロセッサ612に帰属するMEM10112の領
域は仮想プロセッサ612の仮想プロセッサの状態ブロ
ック(VPSB)614である。CS10110におけ
る各仮想プロセッサ612は1つのVPSB614を有
する。これと共に、VPSB614はVPSBアレイ4
5301を構成する。仮想プロセッサの管理システム内
部においては、各仮想プロセッサ612はVPSBアレ
イ45301における仮想プロセッサ612のVPSB
614の指標であるそのVPSBアレイ45301によ
り既知である。仮想プロセッサ612はマイクロVPリ
スト(MVPL)45309に含まれるリストによって
管理される。各仮想プロセッサ612はMVPL453
09におけるエントリ(MVPLE)45321を有
し、また仮想プロセッサ612が状態を変化する時、仮
想プロセッサ管理マイクロコードはこれをMVPL45
309における1つのリストから別のリストに移動す
る。
【1247】VPSB614は2つの種類の情報を保有
する。即ち、VPSB614の仮想プロセッサ612に
束縛されるプロセス610と帰属する手順オブジェクト
901からの情報と、仮想プロセッサ612の管理のた
め仮想プロセッサ管理システムにより使用される情報で
ある。手順オブジェクト901からの最も重要な情報は
下記の如きものである。即ち、 −プロセス610の主なプロセスUID40401、お
よび −プロセス610のスタックオブジェクト44703の
ためのAON41304。(VPSB614は、プロセ
ス610が仮想プロセッサ612に束縛される限りスタ
ックオブジェクト44703に帰属するAON4130
4が変化しないことをKOSが保証するため、AON4
1304を使用する。) プロセス610のSSオブジェクト10336のAON
41304が与えられると、仮想プロセッサ管理システ
ムは、プロセス610の仮想プロセッサ612がJP1
0114に束縛される時JP10114に帰属するレジ
スタに移動されるプロセス610の状態の部分を見出す
ことができる。同様に、仮想プロセッサ612がJP1
0114から解除される時仮想プロセッサ管理システム
はJP10114の内容をSS10336における適正
な場所に移動することができる。
する。即ち、VPSB614の仮想プロセッサ612に
束縛されるプロセス610と帰属する手順オブジェクト
901からの情報と、仮想プロセッサ612の管理のた
め仮想プロセッサ管理システムにより使用される情報で
ある。手順オブジェクト901からの最も重要な情報は
下記の如きものである。即ち、 −プロセス610の主なプロセスUID40401、お
よび −プロセス610のスタックオブジェクト44703の
ためのAON41304。(VPSB614は、プロセ
ス610が仮想プロセッサ612に束縛される限りスタ
ックオブジェクト44703に帰属するAON4130
4が変化しないことをKOSが保証するため、AON4
1304を使用する。) プロセス610のSSオブジェクト10336のAON
41304が与えられると、仮想プロセッサ管理システ
ムは、プロセス610の仮想プロセッサ612がJP1
0114に束縛される時JP10114に帰属するレジ
スタに移動されるプロセス610の状態の部分を見出す
ことができる。同様に、仮想プロセッサ612がJP1
0114から解除される時仮想プロセッサ管理システム
はJP10114の内容をSS10336における適正
な場所に移動することができる。
【1248】a.仮想プロセッサの管理(図453) EOSは仮想プロセッサ612に関する6つの操作を実
施可能である。即ち、 −要求VP操作はEOSがKOSから仮想プロセッサ6
12を要求することを許容する。 −解放VP操作はEOSが仮想プロセッサ612をKO
Sに戻すことを許容する。 −束縛操作はプロセス610を仮想プロセッサ612に
束縛する。 −解除操作はプロセス610の仮想プロセッサ612か
ら解除する。 −実行操作はKOSがプロセス610の仮想プロセッサ
612をJP10114に束縛することを許容する。 −停止操作はKOSがプロセス610の仮想プロセッサ
612をJP10114に対し束縛することを阻止す
る。上記の操作リストから判るように、EOSはJP1
0114に対する仮想プロセッサ612の実際の束縛に
対する直接的な影響を持たない。この操作は、ディスパ
ッチャと呼ばれるKOSマイクロコードの一構成要素に
よって実施される。ディスパッチャのマイクロコードは
次の4つの事柄の1つが生じる時は常に実行される。即
ち、 −その仮想プロセッサ612がその時JP10114に
対して束縛されるプロセス610が待機操作を実行する
こと。 −その仮想プロセッサ612がその時JP10114に
対して束縛されるプロセス610が、他のあるプロセス
610に対する事象カウンタ44801を満たす拡張操
作を実行すること。 −INTTMR25410またはEGGTMR2541
2が桁あふれを生じて、ディスパッチャ・マイクロコー
ドを生じる事象信号を生じること。 −IOJPバス10132が活動状態になって、ディス
パッチャ・マイクロコードを生じる事象信号を生じるこ
と。IOS10116は、IOJPバス10132がJ
P10114に対するMEM10112に対してデータ
をロードする時IOJPバス10132を活動状態にさ
せる。
施可能である。即ち、 −要求VP操作はEOSがKOSから仮想プロセッサ6
12を要求することを許容する。 −解放VP操作はEOSが仮想プロセッサ612をKO
Sに戻すことを許容する。 −束縛操作はプロセス610を仮想プロセッサ612に
束縛する。 −解除操作はプロセス610の仮想プロセッサ612か
ら解除する。 −実行操作はKOSがプロセス610の仮想プロセッサ
612をJP10114に束縛することを許容する。 −停止操作はKOSがプロセス610の仮想プロセッサ
612をJP10114に対し束縛することを阻止す
る。上記の操作リストから判るように、EOSはJP1
0114に対する仮想プロセッサ612の実際の束縛に
対する直接的な影響を持たない。この操作は、ディスパ
ッチャと呼ばれるKOSマイクロコードの一構成要素に
よって実施される。ディスパッチャのマイクロコードは
次の4つの事柄の1つが生じる時は常に実行される。即
ち、 −その仮想プロセッサ612がその時JP10114に
対して束縛されるプロセス610が待機操作を実行する
こと。 −その仮想プロセッサ612がその時JP10114に
対して束縛されるプロセス610が、他のあるプロセス
610に対する事象カウンタ44801を満たす拡張操
作を実行すること。 −INTTMR25410またはEGGTMR2541
2が桁あふれを生じて、ディスパッチャ・マイクロコー
ドを生じる事象信号を生じること。 −IOJPバス10132が活動状態になって、ディス
パッチャ・マイクロコードを生じる事象信号を生じるこ
と。IOS10116は、IOJPバス10132がJ
P10114に対するMEM10112に対してデータ
をロードする時IOJPバス10132を活動状態にさ
せる。
【1249】ディスパッチャ・マイクロコードはこれら
の事象の1つにより生じる時、MVPL45309にお
けるリストを検査してどの仮想プロセッサ612が次に
実行するかを判定する。本論のオブジェクトにおいて
は、2つのリスト、即ち実行中のリストおよび妥当なリ
ストのみが重要である。本実施例においては、実行中の
MVPLE45321が先行する実行中のリストが1つ
のMVPLE45321、即ちその時JP10114に
対して束縛される仮想プロセッサ612を表わすものの
みを含む。多重JP10114の実施例においては、実
行中のリストは1つ以上のMVPLE45321を持つ
ことができる。妥当リスト・ヘッド45313が先行す
る妥当リストはJP10114に対して束縛することが
できる仮想プロセッサ612を表わすMVPLE453
21を保有する。妥当リストにおけるMVPLE453
21はEOSにより優先順位が割当てられたプロセス6
10により指令される。KOSディスパッチャ・マイク
ロコードが生じる時は常に、その仮想プロセッサ612
のMVPLE45321が実行リストにあるプロセス6
10の優先順位を、その仮想プロセッサ612のMVP
LE45321が妥当リストの先頭にあるプロセス61
0の優先順位と比較する。もし後者のプロセス610が
高い優先順位を持つならば、KOSディスパッチャ・マ
イクロコードは、前者のプロセス610の仮想プロセッ
サ612に帰属するMVPLE45321を妥当リスト
に置き、また後者のプロセス610の仮想プロセッサ6
12に帰属するMVPLE45321を実行リストに置
く。次にディスパッチャ・マイクロコードは前者のプロ
セス610に帰属するJP10114における状態を前
者のプロセス610のSS10336に移動することに
より、また後者のプロセス610に帰属するJP101
14の状態を後者のプロセス610のSS10336か
らJP10114に移動することによってプロセス61
0をスワップする。
の事象の1つにより生じる時、MVPL45309にお
けるリストを検査してどの仮想プロセッサ612が次に
実行するかを判定する。本論のオブジェクトにおいて
は、2つのリスト、即ち実行中のリストおよび妥当なリ
ストのみが重要である。本実施例においては、実行中の
MVPLE45321が先行する実行中のリストが1つ
のMVPLE45321、即ちその時JP10114に
対して束縛される仮想プロセッサ612を表わすものの
みを含む。多重JP10114の実施例においては、実
行中のリストは1つ以上のMVPLE45321を持つ
ことができる。妥当リスト・ヘッド45313が先行す
る妥当リストはJP10114に対して束縛することが
できる仮想プロセッサ612を表わすMVPLE453
21を保有する。妥当リストにおけるMVPLE453
21はEOSにより優先順位が割当てられたプロセス6
10により指令される。KOSディスパッチャ・マイク
ロコードが生じる時は常に、その仮想プロセッサ612
のMVPLE45321が実行リストにあるプロセス6
10の優先順位を、その仮想プロセッサ612のMVP
LE45321が妥当リストの先頭にあるプロセス61
0の優先順位と比較する。もし後者のプロセス610が
高い優先順位を持つならば、KOSディスパッチャ・マ
イクロコードは、前者のプロセス610の仮想プロセッ
サ612に帰属するMVPLE45321を妥当リスト
に置き、また後者のプロセス610の仮想プロセッサ6
12に帰属するMVPLE45321を実行リストに置
く。次にディスパッチャ・マイクロコードは前者のプロ
セス610に帰属するJP10114における状態を前
者のプロセス610のSS10336に移動することに
より、また後者のプロセス610に帰属するJP101
14の状態を後者のプロセス610のSS10336か
らJP10114に移動することによってプロセス61
0をスワップする。
【1250】b.仮想プロセッサ612および同期操作
(図454) 同期操作があるプロセス610に関して実施される時、
この操作の結果の1つは仮想プロセッサ612に関する
同期操作である。例えば、プロセス610に対する待機
エントリ44804を満たす拡張操作は、プロセス61
0の仮想プロセッサ612に対する第2の待機エントリ
44804を満たす拡張操作を生じる。同様に、仮想プ
ロセッサ612に関して実施された同期操作は、その結
果仮想プロセッサ612のプロセス610に関する同期
操作を行なうことができる。例えば、もし仮想プロセッ
サ612がファイル入出力を生じるある操作を実施する
ならば、仮想プロセッサ612のプロセス610は入出
力操作の完了を待機しなければならない。
(図454) 同期操作があるプロセス610に関して実施される時、
この操作の結果の1つは仮想プロセッサ612に関する
同期操作である。例えば、プロセス610に対する待機
エントリ44804を満たす拡張操作は、プロセス61
0の仮想プロセッサ612に対する第2の待機エントリ
44804を満たす拡張操作を生じる。同様に、仮想プ
ロセッサ612に関して実施された同期操作は、その結
果仮想プロセッサ612のプロセス610に関する同期
操作を行なうことができる。例えば、もし仮想プロセッ
サ612がファイル入出力を生じるある操作を実施する
ならば、仮想プロセッサ612のプロセス610は入出
力操作の完了を待機しなければならない。
【1251】図454は、これにより処理レベル同期操
作が仮想プロセッサ・レベルの同期操作を惹起しかつそ
の逆の結果も生じる手段を示している。本論は最初に、
処理レベルの同期操作を仮想プロセッサ612に対して
転送する構成要素、およびこれらの操作が行なわれる方
法について記述する。次いで、仮想プロセッサ・レベル
の同期操作をプロセス610に対して転送する構成要素
およびこれら構成要素の作用について記述する。
作が仮想プロセッサ・レベルの同期操作を惹起しかつそ
の逆の結果も生じる手段を示している。本論は最初に、
処理レベルの同期操作を仮想プロセッサ612に対して
転送する構成要素、およびこれらの操作が行なわれる方
法について記述する。次いで、仮想プロセッサ・レベル
の同期操作をプロセス610に対して転送する構成要素
およびこれら構成要素の作用について記述する。
【1252】第1の組の構成要素はVPSBA4530
1とVPAT45401からなる。VPSBA4530
1は本例においては2つのVPSB614を有するもの
として示されるが、その1つはあるユーザ・プロセス6
10にされた仮想プロセッサ612に帰属するものであ
り、もう1つはKOSプロセス管理プロセス610に束
縛されたある仮想プロセッサ612に帰属するものであ
る。VPAT45401は待機エントリ44804の仮
想プロセッサ・レベル・テーブルである。各待機エント
リ44804が1つのVPATエントリ(VPATE)
45403に含まれる。1つのプロセス610に束縛さ
れる各仮想プロセッサ612はVPAT45401にお
ける4つのVPATE45403の1つのVPATチャ
ンク45402を有し、このため如何なる時も4つまで
の事象カウンタ44801を待機することができる。仮
想プロセッサ612のVPATチャンク45402の場
所は、仮想プロセッサ612のVPSB614に保持さ
れる。ある拡張操作が仮想プロセッサ612に帰属する
待機エントリ44804のどれかを満たす時、仮想プロ
セッサ612のVPATチャンク45402の待機エン
トリ44804における全てが削除される。PET44
705におけるように、ある事象カウンタ44801を
待機中の待機エントリ44804を含むVPATE45
403は1つのリストにおいて一緒にリンクされる。
1とVPAT45401からなる。VPSBA4530
1は本例においては2つのVPSB614を有するもの
として示されるが、その1つはあるユーザ・プロセス6
10にされた仮想プロセッサ612に帰属するものであ
り、もう1つはKOSプロセス管理プロセス610に束
縛されたある仮想プロセッサ612に帰属するものであ
る。VPAT45401は待機エントリ44804の仮
想プロセッサ・レベル・テーブルである。各待機エント
リ44804が1つのVPATエントリ(VPATE)
45403に含まれる。1つのプロセス610に束縛さ
れる各仮想プロセッサ612はVPAT45401にお
ける4つのVPATE45403の1つのVPATチャ
ンク45402を有し、このため如何なる時も4つまで
の事象カウンタ44801を待機することができる。仮
想プロセッサ612のVPATチャンク45402の場
所は、仮想プロセッサ612のVPSB614に保持さ
れる。ある拡張操作が仮想プロセッサ612に帰属する
待機エントリ44804のどれかを満たす時、仮想プロ
セッサ612のVPATチャンク45402の待機エン
トリ44804における全てが削除される。PET44
705におけるように、ある事象カウンタ44801を
待機中の待機エントリ44804を含むVPATE45
403は1つのリストにおいて一緒にリンクされる。
【1253】ユーザのプロセス610に対して束縛され
た仮想プロセッサ612に対するVPATE45403
はユーザプロセス610の専用事象カウンタ45405
に対する待機エントリ44804を含むことができる。
専用事象カウンタ45405はプロセス610の手順オ
ブジェクト901に含まれる。これは、プロセス610
に帰属するPETリストに関するPPTE44909に
おける待機エントリ44804が満たされる毎に拡張さ
れる。これらの構成要素は下記の如く作用する。即ち、
KOSがプロセス610に関して1つの待機操作を実施
する時、これはPET44705とVPAT45401
の双方において待機エントリ44804を行ない、プロ
セス610の仮想プロセッサ612をMVPL4530
9における延期されたリストに置く。前述の如く、PE
T44705における待機エントリ44804は、待機
エントリ44804を生じた待機操作に指定された事象
カウンタ44801を待機する。VPAT45401に
おける待機エントリ44804はプロセス610の専用
事象カウンタ45405を待機する。PET44705
におけるプロセス610に帰属する待機エントリ448
04が満たされる毎に、プロセス610の専用事象カウ
ンタ45405が増進させられる。専用事象カウンタ4
5405の増進はVPAT45401におけるプロセス
610のプロセス610に対する事象カウンタ4480
1を満たし、その結果、KOSは仮想プロセッサ612
のVPATE45403を削除してMVPL45309
における仮想プロセッサ612のMVPLE45321
を延期されたリストから妥当リストに移動する。
た仮想プロセッサ612に対するVPATE45403
はユーザプロセス610の専用事象カウンタ45405
に対する待機エントリ44804を含むことができる。
専用事象カウンタ45405はプロセス610の手順オ
ブジェクト901に含まれる。これは、プロセス610
に帰属するPETリストに関するPPTE44909に
おける待機エントリ44804が満たされる毎に拡張さ
れる。これらの構成要素は下記の如く作用する。即ち、
KOSがプロセス610に関して1つの待機操作を実施
する時、これはPET44705とVPAT45401
の双方において待機エントリ44804を行ない、プロ
セス610の仮想プロセッサ612をMVPL4530
9における延期されたリストに置く。前述の如く、PE
T44705における待機エントリ44804は、待機
エントリ44804を生じた待機操作に指定された事象
カウンタ44801を待機する。VPAT45401に
おける待機エントリ44804はプロセス610の専用
事象カウンタ45405を待機する。PET44705
におけるプロセス610に帰属する待機エントリ448
04が満たされる毎に、プロセス610の専用事象カウ
ンタ45405が増進させられる。専用事象カウンタ4
5405の増進はVPAT45401におけるプロセス
610のプロセス610に対する事象カウンタ4480
1を満たし、その結果、KOSは仮想プロセッサ612
のVPATE45403を削除してMVPL45309
における仮想プロセッサ612のMVPLE45321
を延期されたリストから妥当リストに移動する。
【1254】仮想プロセッサ612が同期操作をプロセ
ス610に対して転送することを可能にする構成要素は
下記の如くである。即ち、対外信号オブジェクト(OS
O)45409と、多重化された対外信号事象カウンタ
45407と、PET44705である。OSO454
09は、ユーザのプロセス610が待機中の諸操作を実
施する時、KOSFU10120マイクロコードが増進
させる事象カウンタ44801を保有する。OSO45
409における事象カウンタ44801はPET447
05における事象カウンタ44801によって待機され
る。KOSFU10120マイクロコードがOSO45
409における事象カウンタ44801を増進させる度
に、これはまた多重化された対外信号事象カウンタ45
407を増進する。これは、KOSプロセス610に束
縛された仮想プロセッサ612に帰属するVPAT45
401における待機エントリ44804によって待機さ
れる。KOSプロセス管理プロセス610に束縛された
仮想プロセッサ612が再びJP10114に束縛され
る時、KOSプロセス管理プロセス610はOSO45
423における事象カウンタ44801に帰属する全て
のPPTE44909を検査する。もし事象カウンタ4
4801における事象カウンタ44801の増進がPP
TE44909のプロセス610を満たすならば、この
プロセス610の専用事象カウンタ45405は前述の
如く増進され、プロセス610は再び実行することがで
きる。
ス610に対して転送することを可能にする構成要素は
下記の如くである。即ち、対外信号オブジェクト(OS
O)45409と、多重化された対外信号事象カウンタ
45407と、PET44705である。OSO454
09は、ユーザのプロセス610が待機中の諸操作を実
施する時、KOSFU10120マイクロコードが増進
させる事象カウンタ44801を保有する。OSO45
409における事象カウンタ44801はPET447
05における事象カウンタ44801によって待機され
る。KOSFU10120マイクロコードがOSO45
409における事象カウンタ44801を増進させる度
に、これはまた多重化された対外信号事象カウンタ45
407を増進する。これは、KOSプロセス610に束
縛された仮想プロセッサ612に帰属するVPAT45
401における待機エントリ44804によって待機さ
れる。KOSプロセス管理プロセス610に束縛された
仮想プロセッサ612が再びJP10114に束縛され
る時、KOSプロセス管理プロセス610はOSO45
423における事象カウンタ44801に帰属する全て
のPPTE44909を検査する。もし事象カウンタ4
4801における事象カウンタ44801の増進がPP
TE44909のプロセス610を満たすならば、この
プロセス610の専用事象カウンタ45405は前述の
如く増進され、プロセス610は再び実行することがで
きる。
【1255】ユーザ入出力操作は、構成要素が如何にし
て一緒に作用するかを示している。各ユーザ入出力チャ
ネルがOSO45409における1つの事象カウンタ4
4801を有する。あるプロセス610が1つのチャネ
ルにおけるあるユーザ入出力操作を実施する時、EOS
入出力ルーチンが、OSO45409におけるこのチャ
ネルの事象カウンタ44801に対するプロセス610
に帰属するPET44705のリストにおいて1つの待
機エントリ44804を確立する。入出力操作が完了す
ると、IOS10116はMEM10112においてJ
P10114に対するメッセージを置いてIOJPバス
10132を活動状態にする。IOJPバス10132
の活動状態は、KOSマイクロコードを生じるある事象
信号を生じる。このマイクロコードはIOS10116
からのメッセージを検査してどのチャネルが呼出される
かを判定し、次いでOSO45409および多重化され
た対外信号事象カウンタ45407におけるこのチャネ
ルに対する事象カウンタ44801を増進させる。この
対外信号事象カウンタ45407はVPAT45401
におけるプロセス管理プロセス610の仮想プロセッサ
612に対する待機エントリ44804を満たし、プロ
セス管理プロセス610は実行を開始する。プロセス管
理プロセス610はOSO45409を検査して、プロ
セス管理プロセス610が最後に実行してからOSO4
5409におけるどの事象カウンタ44801が増進さ
れるかを判定し、またこれがこのような事象カウンタ4
4801を見出す時、これはこの事象カウンタ4480
1に対するPET44705における事象カウンタ・チ
ェーンを検査する。もしこれがこの増進操作が事象カウ
ンタ・チェーンにおける待機エントリ44804を満た
したことを見出すならば、これは待機エントリ4480
4に規定されるプロセス610に帰属する専用事象カウ
ンタ45405を増進させ、これにより前述の如くこの
プロセス610に実行を再開させるのである。
て一緒に作用するかを示している。各ユーザ入出力チャ
ネルがOSO45409における1つの事象カウンタ4
4801を有する。あるプロセス610が1つのチャネ
ルにおけるあるユーザ入出力操作を実施する時、EOS
入出力ルーチンが、OSO45409におけるこのチャ
ネルの事象カウンタ44801に対するプロセス610
に帰属するPET44705のリストにおいて1つの待
機エントリ44804を確立する。入出力操作が完了す
ると、IOS10116はMEM10112においてJ
P10114に対するメッセージを置いてIOJPバス
10132を活動状態にする。IOJPバス10132
の活動状態は、KOSマイクロコードを生じるある事象
信号を生じる。このマイクロコードはIOS10116
からのメッセージを検査してどのチャネルが呼出される
かを判定し、次いでOSO45409および多重化され
た対外信号事象カウンタ45407におけるこのチャネ
ルに対する事象カウンタ44801を増進させる。この
対外信号事象カウンタ45407はVPAT45401
におけるプロセス管理プロセス610の仮想プロセッサ
612に対する待機エントリ44804を満たし、プロ
セス管理プロセス610は実行を開始する。プロセス管
理プロセス610はOSO45409を検査して、プロ
セス管理プロセス610が最後に実行してからOSO4
5409におけるどの事象カウンタ44801が増進さ
れるかを判定し、またこれがこのような事象カウンタ4
4801を見出す時、これはこの事象カウンタ4480
1に対するPET44705における事象カウンタ・チ
ェーンを検査する。もしこれがこの増進操作が事象カウ
ンタ・チェーンにおける待機エントリ44804を満た
したことを見出すならば、これは待機エントリ4480
4に規定されるプロセス610に帰属する専用事象カウ
ンタ45405を増進させ、これにより前述の如くこの
プロセス610に実行を再開させるのである。
【1256】F.プロセス610のスタック操作 CS10110に対する説明の本項においては、プロセ
ス610のMAS502およびSS504が操作される
方法について記述する。前述の如く、CS10110に
おいては、プロセス610のMAS502およびSS5
04がいくつかのオブジェクトに含まれている。本実施
例においては、5つのオブジェクトが存在する。即ち、
1つはマクロスタック(MAS)(MASオブジェクト
10328乃至10324)の各定義域に対するもの、
1つは機密保護スタック(SS)(SSオブジェクト1
1336)に対するものである。他の実施例において
は、プロセス610のMAS502はユーザ規定の定義
域に対するオブジェクトを保有し得る。あるプロセス6
10のMAS502およびSS504が多くのオブジェ
クトに含まれるが、これらは単一の論理スタックとして
機能する。いくつかのオブジェクトへの分割は2つの事
柄、即ち、手順602により照合される1つのオブジェ
クトが手順602の実行領域を有することを要求する機
密保護システムの定義域構成要素と、マイクロ機械の状
態とKOSによってのみ操作することができる状態に対
するユーザ・プログラムに対しアクセス不能なある場所
に対する要求である。
ス610のMAS502およびSS504が操作される
方法について記述する。前述の如く、CS10110に
おいては、プロセス610のMAS502およびSS5
04がいくつかのオブジェクトに含まれている。本実施
例においては、5つのオブジェクトが存在する。即ち、
1つはマクロスタック(MAS)(MASオブジェクト
10328乃至10324)の各定義域に対するもの、
1つは機密保護スタック(SS)(SSオブジェクト1
1336)に対するものである。他の実施例において
は、プロセス610のMAS502はユーザ規定の定義
域に対するオブジェクトを保有し得る。あるプロセス6
10のMAS502およびSS504が多くのオブジェ
クトに含まれるが、これらは単一の論理スタックとして
機能する。いくつかのオブジェクトへの分割は2つの事
柄、即ち、手順602により照合される1つのオブジェ
クトが手順602の実行領域を有することを要求する機
密保護システムの定義域構成要素と、マイクロ機械の状
態とKOSによってのみ操作することができる状態に対
するユーザ・プログラムに対しアクセス不能なある場所
に対する要求である。
【1257】スタック操作は、下記の情況の下に生じ
る。即ち、 −手順602が生じるか、あるいは戻しSINが実行さ
れる時。手順602の呼出しは1つの呼出しSINによ
って行なわれる。呼出しは、呼出された手順602にお
ける最初のSINに対する制御の転送を生じ、戻しSI
Nは呼出しSINに続く呼出し手順602におけるSI
Nに対して戻す制御の返送を生じる。 −非局所GO−TOのSINが実行される時。この非局
所GO−TOは前にプロセス610により呼出されかつ
その呼出しが未だ終了していないある手順602におけ
る任意の位置に対する制御の転送を生じる。 −ある条件が生じる時。即ち、あるプログラムにおける
あるステートメントの実行が実行プロセス610を前に
確保されたハンドラ手順602の実行を要求する状態に
置く時。 −あるプロセス610が割込みされる時、プロセス61
0に対するある割込みエントリ45718が満たされる
時。
る。即ち、 −手順602が生じるか、あるいは戻しSINが実行さ
れる時。手順602の呼出しは1つの呼出しSINによ
って行なわれる。呼出しは、呼出された手順602にお
ける最初のSINに対する制御の転送を生じ、戻しSI
Nは呼出しSINに続く呼出し手順602におけるSI
Nに対して戻す制御の返送を生じる。 −非局所GO−TOのSINが実行される時。この非局
所GO−TOは前にプロセス610により呼出されかつ
その呼出しが未だ終了していないある手順602におけ
る任意の位置に対する制御の転送を生じる。 −ある条件が生じる時。即ち、あるプログラムにおける
あるステートメントの実行が実行プロセス610を前に
確保されたハンドラ手順602の実行を要求する状態に
置く時。 −あるプロセス610が割込みされる時、プロセス61
0に対するある割込みエントリ45718が満たされる
時。
【1258】スタック操作において呼出された機構のほ
とんどは呼出しおよび戻しにおいて使用され、従ってこ
れらの操作は詳細に処理され、他の操作は呼出しおよび
戻しとは異なるもののみである。本論は最初に呼出しお
よび戻し操作について紹介し、次いでスタックについて
詳細に説明し、最後に呼出しおよび戻しその他の操作に
ついて詳細に分析する。
とんどは呼出しおよび戻しにおいて使用され、従ってこ
れらの操作は詳細に処理され、他の操作は呼出しおよび
戻しとは異なるもののみである。本論は最初に呼出しお
よび戻し操作について紹介し、次いでスタックについて
詳細に説明し、最後に呼出しおよび戻しその他の操作に
ついて詳細に分析する。
【1259】1.呼出しおよび戻しの概要 あるプロセス610が1つのプログラムを実行する時、
これは呼出しおよび戻しSINを実行する。ある呼出し
SINは1つの手順602の呼出しを開始し、ある戻し
SINはこの呼出しを終了する。一般に、1つの呼出し
SINは下記の事柄を行なう。即ち、 −これは、呼出しSINを含む手順602のプロセス6
10の実行の状態を保管する。この状態に含まれている
のは、呼出しSINが完了した後手順602の実行を継
続するため必要な情報である。この状態の部分は手順6
02のマクロ状態呼出しと呼ばれる。 −これは、手順602と呼ばれる実行を開始することを
プロセス610が要求する状態を生じる。 −これは、呼出された手順602のコードにおける最初
のSINに制御を転送する。戻しSIN操作はその反対
を行なう。即ち、これは呼出された手順602の状態を
解放し、この保管された呼出し側の手順602の状態を
復元し、呼出しSINに続く呼出し側の手順602にお
けるSINに対して制御を転送する。ある手順602の
呼出しは、制御を手順602に転送する呼出しSINの
実行から、呼出しSINを含んだ手順602に対して再
び制御を返送する戻しSINの実行まで継続する。1つ
のプロセス610によるある手順602のある呼出しに
帰属する状態は、手順602の呼出し状態と呼ばれる。
これは呼出しおよび戻しSINを実行する。ある呼出し
SINは1つの手順602の呼出しを開始し、ある戻し
SINはこの呼出しを終了する。一般に、1つの呼出し
SINは下記の事柄を行なう。即ち、 −これは、呼出しSINを含む手順602のプロセス6
10の実行の状態を保管する。この状態に含まれている
のは、呼出しSINが完了した後手順602の実行を継
続するため必要な情報である。この状態の部分は手順6
02のマクロ状態呼出しと呼ばれる。 −これは、手順602と呼ばれる実行を開始することを
プロセス610が要求する状態を生じる。 −これは、呼出された手順602のコードにおける最初
のSINに制御を転送する。戻しSIN操作はその反対
を行なう。即ち、これは呼出された手順602の状態を
解放し、この保管された呼出し側の手順602の状態を
復元し、呼出しSINに続く呼出し側の手順602にお
けるSINに対して制御を転送する。ある手順602の
呼出しは、制御を手順602に転送する呼出しSINの
実行から、呼出しSINを含んだ手順602に対して再
び制御を返送する戻しSINの実行まで継続する。1つ
のプロセス610によるある手順602のある呼出しに
帰属する状態は、手順602の呼出し状態と呼ばれる。
【1260】呼出しおよび戻し操作が多く異なる方法で
構成することができるが、これら操作をスタックを用い
て構成することが有利である。ある呼出しがある手順6
02に対する呼出し状態を生じる時、この呼出し状態プ
ロセス610のスタックの最上位に対して加えられる。
1つの手順602の呼出し状態を含む1つのスタックの
領域はフレームと呼ばれる。ある呼出された手順602
は別の手順602を読出すことができるため、また更に
別の手順602を読出すことができるため、スタックは
多数のフレームを持つことができ、各フレームはプロセ
ス610による手順602の呼出しから生じる呼出し状
態を含み、各フレームはこれが提供する呼出しが続く限
り継続する。呼出された手順602がその呼出し側に戻
る時、これが実行するフレームは解放され、呼出し側は
そのフレームについての実行を再開する。その時1つの
プロセス610により実行中の手順602は、このよう
に常にプロセス610のMAS502の最上位のフレー
ムに関して実行するのである。
構成することができるが、これら操作をスタックを用い
て構成することが有利である。ある呼出しがある手順6
02に対する呼出し状態を生じる時、この呼出し状態プ
ロセス610のスタックの最上位に対して加えられる。
1つの手順602の呼出し状態を含む1つのスタックの
領域はフレームと呼ばれる。ある呼出された手順602
は別の手順602を読出すことができるため、また更に
別の手順602を読出すことができるため、スタックは
多数のフレームを持つことができ、各フレームはプロセ
ス610による手順602の呼出しから生じる呼出し状
態を含み、各フレームはこれが提供する呼出しが続く限
り継続する。呼出された手順602がその呼出し側に戻
る時、これが実行するフレームは解放され、呼出し側は
そのフレームについての実行を再開する。その時1つの
プロセス610により実行中の手順602は、このよう
に常にプロセス610のMAS502の最上位のフレー
ムに関して実行するのである。
【1261】CS10110における呼出しおよび戻し
は、プロセス610の状態の保存のためスタックを使用
する他のコンピュータ・システムにおける場所と同様な
論理的挙動を示す。1つのプロセス610が1つの呼出
しSINを実行する時、このSINはマクロ状態として
ABPのその時の値と、呼出し側の手順602の実行が
継続すべきSINの場所と、手順602のS言語に対す
るSインタプリタを保有するSインタプリタオブジェク
トに帰属する呼出し側の手順602の名前テーブル10
350とUID40401に対するポインタの如き情報
を保管する。この時呼出しSINは呼出された手順60
2に対するスタック・フレームを形成し、適正なABP
値と、呼出された手順602の名前テーブル10350
の場所と、そのSインタプリタオブジェクトに帰属する
UID40401を取得し、新たに形成されたスタック
・フレームに関する新たに生じた手順602の実行を開
始する。この戻しSIN操作は、スタック・フレームを
削除し、呼出しSINの間保管されたマクロ状態からA
BP値および名前インタプリタ情報を取得し、次いで制
御を呼出し側の手順602の実行が継続すべきSINに
対して転送する。
は、プロセス610の状態の保存のためスタックを使用
する他のコンピュータ・システムにおける場所と同様な
論理的挙動を示す。1つのプロセス610が1つの呼出
しSINを実行する時、このSINはマクロ状態として
ABPのその時の値と、呼出し側の手順602の実行が
継続すべきSINの場所と、手順602のS言語に対す
るSインタプリタを保有するSインタプリタオブジェク
トに帰属する呼出し側の手順602の名前テーブル10
350とUID40401に対するポインタの如き情報
を保管する。この時呼出しSINは呼出された手順60
2に対するスタック・フレームを形成し、適正なABP
値と、呼出された手順602の名前テーブル10350
の場所と、そのSインタプリタオブジェクトに帰属する
UID40401を取得し、新たに形成されたスタック
・フレームに関する新たに生じた手順602の実行を開
始する。この戻しSIN操作は、スタック・フレームを
削除し、呼出しSINの間保管されたマクロ状態からA
BP値および名前インタプリタ情報を取得し、次いで制
御を呼出し側の手順602の実行が継続すべきSINに
対して転送する。
【1262】しかし、呼出しおよび戻し操作が構成され
る方法はCS10110のアクセス制御システムにより
大きく影響を受ける。広義において、CS10110に
は2つの種類の呼出しおよび戻し操作がある。即ち、K
OSにより仲介されるものと、そうでないものである。
以下の論議においては、前者の種類の呼出しおよび戻し
操作は仲介された呼出しおよび戻し操作と呼び、また後
者は近隣呼出しおよび戻し操作と呼ばれる。CS101
10により実行されるほとんどの呼出しおよび戻し操作
は近隣呼出しおよび戻しであり、仲介呼出しおよび戻し
は、典型的にはユーザ手順602がEOS手順602を
呼出し、更にこれらがKOS手順602を呼出す時に実
行される。仲介呼出しは、CS10110のこれらの諸
機器を誤使用から保護しながらCS10110の機器を
ユーザプロセス610から使用可能にし、従って一般に
現在の技術におけるシステム呼出しと同じオブジェクト
に役立つものである。以下の論議において判るように、
仲介呼出しは、近隣呼出しに勝るCS10110のオー
バーヘッドを必要とするが、余分のオーバーヘッドは本
技術におけるシステム呼出しによって一般的に必要とさ
れるものよりは少ない。
る方法はCS10110のアクセス制御システムにより
大きく影響を受ける。広義において、CS10110に
は2つの種類の呼出しおよび戻し操作がある。即ち、K
OSにより仲介されるものと、そうでないものである。
以下の論議においては、前者の種類の呼出しおよび戻し
操作は仲介された呼出しおよび戻し操作と呼び、また後
者は近隣呼出しおよび戻し操作と呼ばれる。CS101
10により実行されるほとんどの呼出しおよび戻し操作
は近隣呼出しおよび戻しであり、仲介呼出しおよび戻し
は、典型的にはユーザ手順602がEOS手順602を
呼出し、更にこれらがKOS手順602を呼出す時に実
行される。仲介呼出しは、CS10110のこれらの諸
機器を誤使用から保護しながらCS10110の機器を
ユーザプロセス610から使用可能にし、従って一般に
現在の技術におけるシステム呼出しと同じオブジェクト
に役立つものである。以下の論議において判るように、
仲介呼出しは、近隣呼出しに勝るCS10110のオー
バーヘッドを必要とするが、余分のオーバーヘッドは本
技術におけるシステム呼出しによって一般的に必要とさ
れるものよりは少ない。
【1263】仲介呼出しおよび戻しはSインタプリタ、
名前空間およびKOSマイクロコードを生じる。Sイン
タプリタおよび名前空間マイクロコードは呼出しに関与
する名前を解釈し、また単にSインタプリタに対してア
クセス可能なマクロ状態の部分を修正するのみである。
残るマクロ状態は、呼出しSINの過程において生じる
KOSマイクロルーチンによって修正される。仲介呼出
し操作は、プロセス610の主題が呼出し操作の発生時
に実行アクセスを行なうオブジェクトに含まれるどんな
手順602に対しても行なうことができる。仲介呼出し
および戻し操作は、以下の情況において行なわれなけれ
ばならない。即ち、 −呼出された手順602は呼出し側の手順602により
使用されるものからの異なる手順環境記述子(PED)
30303を有する。このような呼出しは交差PED呼
出しと呼ばれる。 −呼出された手順602が呼出し側の手順602からの
異なる手順オブジェクト608に存在する時。このよう
な呼出し操作は交差手順オブジェクト呼出しと呼ばれ
る。 −呼出された手順602の手順オブジェクト608が呼
出し側の手順602の手順オブジェクト608の領域と
異なる実行(DOE)属性の領域を有し、従ってその呼
出し状態を呼出し側の手順602により使用されるもの
と異なるMASオブジェクトにその呼出し状態を置かね
ばならない時。このような呼出し操作は交差領域呼出し
と呼ばれる。
名前空間およびKOSマイクロコードを生じる。Sイン
タプリタおよび名前空間マイクロコードは呼出しに関与
する名前を解釈し、また単にSインタプリタに対してア
クセス可能なマクロ状態の部分を修正するのみである。
残るマクロ状態は、呼出しSINの過程において生じる
KOSマイクロルーチンによって修正される。仲介呼出
し操作は、プロセス610の主題が呼出し操作の発生時
に実行アクセスを行なうオブジェクトに含まれるどんな
手順602に対しても行なうことができる。仲介呼出し
および戻し操作は、以下の情況において行なわれなけれ
ばならない。即ち、 −呼出された手順602は呼出し側の手順602により
使用されるものからの異なる手順環境記述子(PED)
30303を有する。このような呼出しは交差PED呼
出しと呼ばれる。 −呼出された手順602が呼出し側の手順602からの
異なる手順オブジェクト608に存在する時。このよう
な呼出し操作は交差手順オブジェクト呼出しと呼ばれ
る。 −呼出された手順602の手順オブジェクト608が呼
出し側の手順602の手順オブジェクト608の領域と
異なる実行(DOE)属性の領域を有し、従ってその呼
出し状態を呼出し側の手順602により使用されるもの
と異なるMASオブジェクトにその呼出し状態を置かね
ばならない時。このような呼出し操作は交差領域呼出し
と呼ばれる。
【1264】前述の全ての呼出し操作において、この呼
出しの完了のため必要とされる情報はSインタプリタに
対しては使用できず、その結果KOS仲介操作が呼出し
の完了のため要求される。近隣呼出しおよび戻し操作は
単に2つのマクロ状態の構成要素、即ちその時のSIN
に対するポインタおよびFPのABPしか修正しない。
これらの構成要素の双方は、呼出された手順602が同
じPED30303を有する限りSインタプリタに対し
て使用可能であり、即ち同じ名前テーブル10350お
よびSインタプリタまたは呼出し側の手順602を使用
し、また呼出し側の手順602と同じシラブル・サイズ
を有する名前を有する。この呼出しおよび戻しSINは
各S言語に特有のものであるが、これらはその一般的な
挙動において相互に相似する。以下の論議は専らこの一
般的な挙動について述べ、仲介呼出しおよび戻し操作を
中心とする。この論議は最初に1つのプロセス610に
帰属するMAS502およびSS504、および呼出し
および戻し操作に含まれる手順オブジェクト608の各
部について述べ、次いで呼出しおよび戻し操作の構成に
ついて述べる。
出しの完了のため必要とされる情報はSインタプリタに
対しては使用できず、その結果KOS仲介操作が呼出し
の完了のため要求される。近隣呼出しおよび戻し操作は
単に2つのマクロ状態の構成要素、即ちその時のSIN
に対するポインタおよびFPのABPしか修正しない。
これらの構成要素の双方は、呼出された手順602が同
じPED30303を有する限りSインタプリタに対し
て使用可能であり、即ち同じ名前テーブル10350お
よびSインタプリタまたは呼出し側の手順602を使用
し、また呼出し側の手順602と同じシラブル・サイズ
を有する名前を有する。この呼出しおよび戻しSINは
各S言語に特有のものであるが、これらはその一般的な
挙動において相互に相似する。以下の論議は専らこの一
般的な挙動について述べ、仲介呼出しおよび戻し操作を
中心とする。この論議は最初に1つのプロセス610に
帰属するMAS502およびSS504、および呼出し
および戻し操作に含まれる手順オブジェクト608の各
部について述べ、次いで呼出しおよび戻し操作の構成に
ついて述べる。
【1265】2.マクロスタック(MAS)502(図
467) 図467は、プロセス610のMAS502に帰属する
オブジェクトの概略を示す。同図の説明の後には、MA
Sオブジェクトの各部の詳細な説明を含む他の図面の説
明が続く。
467) 図467は、プロセス610のMAS502に帰属する
オブジェクトの概略を示す。同図の説明の後には、MA
Sオブジェクトの各部の詳細な説明を含む他の図面の説
明が続く。
【1266】最小規模において、MASオブジェクト4
6703は、これを構成する他の素子に対して留保され
た未使用の記憶装置46727と共にKOS MASヘ
ッダ10410を構成する。もしプロセス610が、そ
のDOEがMASオブジェクト46703に対するアク
セスを要求するものである手順オブジェクト608にお
いて含まれた手順602の呼出しから未だ戻らなけれ
ば、MASオブジェクト46703は更に1つのスタッ
ク・ベース46703および少なくとも1つのMASフ
レーム46709を更に構成する。
6703は、これを構成する他の素子に対して留保され
た未使用の記憶装置46727と共にKOS MASヘ
ッダ10410を構成する。もしプロセス610が、そ
のDOEがMASオブジェクト46703に対するアク
セスを要求するものである手順オブジェクト608にお
いて含まれた手順602の呼出しから未だ戻らなけれ
ば、MASオブジェクト46703は更に1つのスタッ
ク・ベース46703および少なくとも1つのMASフ
レーム46709を更に構成する。
【1267】各46709はMASオブジェクト467
03により要求されるDOE属性を有する手順オブジェ
クト608において含まれる手順602の1つの仲介さ
れた呼出しを表わし、また更にこの手順602の手順オ
ブジェクト608を共有する手順602の近隣呼出しを
表わすことができる。最上位のMASフレーム4670
9は、MASオブジェクト46703により要求される
DOE属性を有する手順602の呼出しの最も新しいグ
ループを表わし、また最下位のMASフレーム4670
9はこれからプロセス610が未だ戻らない呼出しの最
も早いグループを表わす。他の領域の実行を含む手順6
02の呼出しのためのフレームは、他のMASオブジェ
クト46703に含まれる。以下において詳細に説明す
るように、異なるMASオブジェクト46703におけ
るMASフレーム46709はポインタによりリンクさ
れる。
03により要求されるDOE属性を有する手順オブジェ
クト608において含まれる手順602の1つの仲介さ
れた呼出しを表わし、また更にこの手順602の手順オ
ブジェクト608を共有する手順602の近隣呼出しを
表わすことができる。最上位のMASフレーム4670
9は、MASオブジェクト46703により要求される
DOE属性を有する手順602の呼出しの最も新しいグ
ループを表わし、また最下位のMASフレーム4670
9はこれからプロセス610が未だ戻らない呼出しの最
も早いグループを表わす。他の領域の実行を含む手順6
02の呼出しのためのフレームは、他のMASオブジェ
クト46703に含まれる。以下において詳細に説明す
るように、異なるMASオブジェクト46703におけ
るMASフレーム46709はポインタによりリンクさ
れる。
【1268】MAS領域スタック・ベース46703は
2つの主な部分、即ちMASオブジェクト46703を
操作するKOSマイクロコードにより使用される情報を
含むKOS MASヘッダ10410と、MASオブジ
ェクト46703の領域に関する情報と、静的情報即ち
MASオブジェクト46703に関するMASフレーム
46709を有する手順602により使用される呼出し
より長く持続する情報を保有する領域毎の情報を有す
る。MASフレーム46709もまた2つの主な部分、
即ちMASフレーム46709の操作のためKOSによ
り使用される情報を含むKOSフレーム・ヘッダ104
14と、その呼出しがMASフレーム46709により
表わされる手順602のグループを実行する時、Sイン
タプリタから使用可能な情報を保有するSインタプリタ
部分46713とを有する。
2つの主な部分、即ちMASオブジェクト46703を
操作するKOSマイクロコードにより使用される情報を
含むKOS MASヘッダ10410と、MASオブジ
ェクト46703の領域に関する情報と、静的情報即ち
MASオブジェクト46703に関するMASフレーム
46709を有する手順602により使用される呼出し
より長く持続する情報を保有する領域毎の情報を有す
る。MASフレーム46709もまた2つの主な部分、
即ちMASフレーム46709の操作のためKOSによ
り使用される情報を含むKOSフレーム・ヘッダ104
14と、その呼出しがMASフレーム46709により
表わされる手順602のグループを実行する時、Sイン
タプリタから使用可能な情報を保有するSインタプリタ
部分46713とを有する。
【1269】読出しおよび戻し操作を行なう時、前記S
インタプリタおよびKOSマイクロコードはMASオブ
ジェクト46703における場所に対するポインタのグ
ループを使用する。これらのポインタは下記のものから
なる。即ち、 −MASオブジェクトUID46715、MASオブジ
ェクト46703のUID40401である。 −MASオブジェクト46703における最初のMAS
フレーム46709に帰属するKOSフレーム・ヘッダ
10414の始めを見出す最初のフレーム・オフセット
(FFO)46719。 −MASオブジェクト46703における最上位のKO
Sフレーム・ヘッダ10414の始めを見出すフレーム
・ヘッダ・ポインタ(FHP)460702。 −スタック最上位オフセット(STO)46704、即
ち未使用の記憶装置47727における最初のビットを
表示するMASオブジェクトUID46715からの3
2ビットのオフセット。ここで判るように、これら全て
のポインタがKOS MASヘッダ46705における
フィールドに含まれる。
インタプリタおよびKOSマイクロコードはMASオブ
ジェクト46703における場所に対するポインタのグ
ループを使用する。これらのポインタは下記のものから
なる。即ち、 −MASオブジェクトUID46715、MASオブジ
ェクト46703のUID40401である。 −MASオブジェクト46703における最初のMAS
フレーム46709に帰属するKOSフレーム・ヘッダ
10414の始めを見出す最初のフレーム・オフセット
(FFO)46719。 −MASオブジェクト46703における最上位のKO
Sフレーム・ヘッダ10414の始めを見出すフレーム
・ヘッダ・ポインタ(FHP)460702。 −スタック最上位オフセット(STO)46704、即
ち未使用の記憶装置47727における最初のビットを
表示するMASオブジェクトUID46715からの3
2ビットのオフセット。ここで判るように、これら全て
のポインタがKOS MASヘッダ46705における
フィールドに含まれる。
【1270】a.a.MASベース10410(図46
8) 図468は、MAS領域KOS MASヘッダ1041
0の詳細を示す図である。最初に同図に含まれるKOS
MASヘッダ46705の詳細図について説明する
と、以下の如きフィールドが含まれる。即ち、 −KOS MASヘッダ46705のフォーマットに関
する情報を含むフォーマット情報フィールド4680
1。 −フラッグ・フィールド46803。これらのフラッグ
の内、唯1つ、即ち領域の活動状態フラッグ46804
が本論において重要である。このフラッグは、MASオ
ブジェクト46703が帰属するプロセス610が、そ
の呼出し記録がKOS MASヘッダ46705が帰属
するMASオブジェクト46703に保有される最上位
のMASフレーム46709を構成する手順602の呼
出し操作を実行中である時、「真の」状態にセットされ
る。 −FFOフィールド46805。全てのKOS MAS
ヘッダ46705およびMASフレーム46709は、
MASオブジェクト46703における前および後のヘ
ッダを見出すオフセットを含むフィールドを有する。1
つのKOS MASヘッダ46705においては、前の
ヘッダは部分せず、このフィールドは0にセットされ
る。 −FFOフィールド46805。このフィールドは以降
のヘッダを見出す。KOS MASヘッダ46705に
おいては、次のヘッダがMASオブジェクト46703
における最初のフレーム・ヘッダであるため、このフィ
ールドはFFO46719を含む。 −STOフィールド46807。このフィールドはST
Oオフセット46704を含む。 −プロセスIDフィールド46809。即ち、MASオ
ブジェクト46703が帰属するプロセス610に対す
る手順オブジェクト901に帰属するUID4040
1。 −領域環境情報ポインタ・フィールド46811。この
フィールドに含まれるポインタは領域固有情報を含む領
域を見出す。本実施例においては、この領域はKOS
MASヘッダ10410の一部であるが、しかし他の実
施例においてはこれは別のオブジェクトに保有すること
ができる。 −信号側ポインタ・フィールド46813。このフィー
ルドに含まれるポインタは、あるプロセス610がMA
Sオブジェクト46703が帰属する領域において実行
中このプロセス610の実行が1つの条件を生じさせる
時にKOSが生じる1つの手順602を見出す。 −AATポインタ・フィールド。フィールド30211
におけるこのポインタがMASオブジェクト46703
に対するAAT30201を見出す。AAT30201
については第3章に詳細に説明した。 −フレーム・ラベル・シーケンサ・フィールド4681
9。このフィールドはシーケンサ45102を含む。シ
ーケンサ45102は、非論理的GO−TO命令が実行
される時MASフレーム46709を見出すため使用さ
れるラベルを生成するために使用される。
8) 図468は、MAS領域KOS MASヘッダ1041
0の詳細を示す図である。最初に同図に含まれるKOS
MASヘッダ46705の詳細図について説明する
と、以下の如きフィールドが含まれる。即ち、 −KOS MASヘッダ46705のフォーマットに関
する情報を含むフォーマット情報フィールド4680
1。 −フラッグ・フィールド46803。これらのフラッグ
の内、唯1つ、即ち領域の活動状態フラッグ46804
が本論において重要である。このフラッグは、MASオ
ブジェクト46703が帰属するプロセス610が、そ
の呼出し記録がKOS MASヘッダ46705が帰属
するMASオブジェクト46703に保有される最上位
のMASフレーム46709を構成する手順602の呼
出し操作を実行中である時、「真の」状態にセットされ
る。 −FFOフィールド46805。全てのKOS MAS
ヘッダ46705およびMASフレーム46709は、
MASオブジェクト46703における前および後のヘ
ッダを見出すオフセットを含むフィールドを有する。1
つのKOS MASヘッダ46705においては、前の
ヘッダは部分せず、このフィールドは0にセットされ
る。 −FFOフィールド46805。このフィールドは以降
のヘッダを見出す。KOS MASヘッダ46705に
おいては、次のヘッダがMASオブジェクト46703
における最初のフレーム・ヘッダであるため、このフィ
ールドはFFO46719を含む。 −STOフィールド46807。このフィールドはST
Oオフセット46704を含む。 −プロセスIDフィールド46809。即ち、MASオ
ブジェクト46703が帰属するプロセス610に対す
る手順オブジェクト901に帰属するUID4040
1。 −領域環境情報ポインタ・フィールド46811。この
フィールドに含まれるポインタは領域固有情報を含む領
域を見出す。本実施例においては、この領域はKOS
MASヘッダ10410の一部であるが、しかし他の実
施例においてはこれは別のオブジェクトに保有すること
ができる。 −信号側ポインタ・フィールド46813。このフィー
ルドに含まれるポインタは、あるプロセス610がMA
Sオブジェクト46703が帰属する領域において実行
中このプロセス610の実行が1つの条件を生じさせる
時にKOSが生じる1つの手順602を見出す。 −AATポインタ・フィールド。フィールド30211
におけるこのポインタがMASオブジェクト46703
に対するAAT30201を見出す。AAT30201
については第3章に詳細に説明した。 −フレーム・ラベル・シーケンサ・フィールド4681
9。このフィールドはシーケンサ45102を含む。シ
ーケンサ45102は、非論理的GO−TO命令が実行
される時MASフレーム46709を見出すため使用さ
れるラベルを生成するために使用される。
【1271】次に、領域環境情報ポインタ・フィールド
46811により見出される領域環境情報46821の
詳細な点については、下記のフィールドが存在する。即
ち、 −KOSフォーマット情報フィールド46823。 −下記のフラッグを含むフラッグ・フィールド4682
5。即ち、 −プロセス610がMASオブジェクト46703が帰
属する領域に対して継続中の割込みを行なう時「真」の
状態にセットされた継続割込みフラッグ46827。 −プロセス610がもはやMASオブジェクト4670
3が帰属するものと等しい実行の領域を有する手順60
2を実行できない時「真」の状態にセットされた領域デ
ット・フラッグ46829。 −エントリ・フラッグ46833に関する呼出し検査、
および出口フラッグ46835に関する呼出し検査。前
者のフラッグは、手順602が領域のMASオブジェク
ト46703に関する実行を許容される前に領域のデー
タ・ベースを検査する手順602をKOSが呼出すべき
時「真」の状態にセットされ、後者は、KOSがそのD
OEとして領域を有する手順602からの出口において
このような手順602を呼出すべき時「真」の状態にセ
ットされる。 −領域に対して誤ったクリーンアップ・ハンドラが存在
する時、誤りハンドラの非空白フラッグ46835がセ
ットされる。クリーンアップ・ハンドラについては以下
において説明する。 −割込みマスク・フィールド46839は、MASオブ
ジェクト46703の領域におけるプロセス610に対
してセットされた割込みのどれが満たされるかを判定す
る。 −領域UIDフィールド46841はMASオブジェク
ト46703が帰属する領域に対するUID40401
を保有する。 −フィールド46843乃至46849は、手順602
に対するポインタまたは手順602に対するポインタの
テーブルである。このように見出された手順602は、
MAS502が操作される時生じる情況を取扱う。これ
らのフィールドの使用は、その使用を要求する諸操作の
説明が進に伴なって明らかになろう。
46811により見出される領域環境情報46821の
詳細な点については、下記のフィールドが存在する。即
ち、 −KOSフォーマット情報フィールド46823。 −下記のフラッグを含むフラッグ・フィールド4682
5。即ち、 −プロセス610がMASオブジェクト46703が帰
属する領域に対して継続中の割込みを行なう時「真」の
状態にセットされた継続割込みフラッグ46827。 −プロセス610がもはやMASオブジェクト4670
3が帰属するものと等しい実行の領域を有する手順60
2を実行できない時「真」の状態にセットされた領域デ
ット・フラッグ46829。 −エントリ・フラッグ46833に関する呼出し検査、
および出口フラッグ46835に関する呼出し検査。前
者のフラッグは、手順602が領域のMASオブジェク
ト46703に関する実行を許容される前に領域のデー
タ・ベースを検査する手順602をKOSが呼出すべき
時「真」の状態にセットされ、後者は、KOSがそのD
OEとして領域を有する手順602からの出口において
このような手順602を呼出すべき時「真」の状態にセ
ットされる。 −領域に対して誤ったクリーンアップ・ハンドラが存在
する時、誤りハンドラの非空白フラッグ46835がセ
ットされる。クリーンアップ・ハンドラについては以下
において説明する。 −割込みマスク・フィールド46839は、MASオブ
ジェクト46703の領域におけるプロセス610に対
してセットされた割込みのどれが満たされるかを判定す
る。 −領域UIDフィールド46841はMASオブジェク
ト46703が帰属する領域に対するUID40401
を保有する。 −フィールド46843乃至46849は、手順602
に対するポインタまたは手順602に対するポインタの
テーブルである。このように見出された手順602は、
MAS502が操作される時生じる情況を取扱う。これ
らのフィールドの使用は、その使用を要求する諸操作の
説明が進に伴なって明らかになろう。
【1272】b.b.領域毎のデータ領域46853
(図468) 領域毎のデータ領域46853が、MASオブジェクト
46703の領域において実行中の手順602の呼出し
に帰属するMASフレーム46709において保持でき
ないがこれらの要素に対して使用可能でなければならな
いデータを含む。領域毎のデータ領域46853は2つ
の構成要素、即ち記憶領域46854とAAT3020
1を有する。記憶領域46854はMASオブジェクト
46703に関する読出しを含む手順602により使用
される静的データと、このような手順602によって使
用されるSインタプリタにより使用されるデータとを保
有する。関連するアドレス・テーブル(AAT)302
01は記憶領域46854におけるデータを見出すため
使用される。AAT30201の詳細な論議は第3章に
含まれる。
(図468) 領域毎のデータ領域46853が、MASオブジェクト
46703の領域において実行中の手順602の呼出し
に帰属するMASフレーム46709において保持でき
ないがこれらの要素に対して使用可能でなければならな
いデータを含む。領域毎のデータ領域46853は2つ
の構成要素、即ち記憶領域46854とAAT3020
1を有する。記憶領域46854はMASオブジェクト
46703に関する読出しを含む手順602により使用
される静的データと、このような手順602によって使
用されるSインタプリタにより使用されるデータとを保
有する。関連するアドレス・テーブル(AAT)302
01は記憶領域46854におけるデータを見出すため
使用される。AAT30201の詳細な論議は第3章に
含まれる。
【1273】記憶領域46854においては2種類のデ
ータ、静的データおよびSインタプリタ・データが記憶
される。
ータ、静的データおよびSインタプリタ・データが記憶
される。
【1274】静的データは静的データ・ブロック468
63に記憶される。静的データ・ブロック46863は
2つの部分、即ち連係ポインタ46865および静的デ
ータ記憶域46867からなる。連係ポインタ4686
5は静的データ記憶域46867には含まれない静的デ
ータ、例えばプロセス610よりは長く持続しないデー
タに対するポインタであり、静的データ記憶域4686
7が帰属する手順602が生じる外部手順602に対す
るポインタである。静的データ記憶域46867は、手
順602を実行するプロセス610よりも長く持続しな
い手順602により使用される静的データに対する記憶
域を含む。
63に記憶される。静的データ・ブロック46863は
2つの部分、即ち連係ポインタ46865および静的デ
ータ記憶域46867からなる。連係ポインタ4686
5は静的データ記憶域46867には含まれない静的デ
ータ、例えばプロセス610よりは長く持続しないデー
タに対するポインタであり、静的データ記憶域4686
7が帰属する手順602が生じる外部手順602に対す
るポインタである。静的データ記憶域46867は、手
順602を実行するプロセス610よりも長く持続しな
い手順602により使用される静的データに対する記憶
域を含む。
【1275】Sインタプリタ・データは、MASオブジ
ェクト46703に関して実行中の手順602によって
使用されるSインタプリタにより必要とされるデータで
ある。Sインタプリタ・データは、静的データ・ブロッ
ク46864と同様にAAT30201を介して見出さ
れるSインタプリタ環境ブロック(SEB)46864
に記憶される。静的データ・ブロック46864の内容
はSインタプリタに依存する。
ェクト46703に関して実行中の手順602によって
使用されるSインタプリタにより必要とされるデータで
ある。Sインタプリタ・データは、静的データ・ブロッ
ク46864と同様にAAT30201を介して見出さ
れるSインタプリタ環境ブロック(SEB)46864
に記憶される。静的データ・ブロック46864の内容
はSインタプリタに依存する。
【1276】c.c.MASフレーム46709の詳細
について(図469) 図469はMASオブジェクト46703における典型
的なフレームを示している。各MASフレーム4670
9は、そのDOEの属性がMASオブジェクト4670
3に関する実行のため必要なものである手順オブジェク
ト608において含まれる手順602の仲介された呼出
しにより生じる仲介フレーム46947を保有する。仲
介フレーム46947は、手順602の隣接呼出しによ
り生じる隣接フレーム46945が続く。仲介フレーム
46947は2つの部分、即ちKOSマイクロコードに
より操作されるKOSフレーム・ヘッダ10414と、
Sインタプリタおよび名前空間マイクロコードにより操
作されるSインタプリタ部分とを有する。隣接フレーム
46945はKOSフレーム・ヘッダ10414は持た
ない。図469を詳細に照合すれば明らかになるよう
に、本実施例における仲介フレーム46947はマクロ
状態を含まない。本実施例においては、これらのフレー
ムに対するマクロ状態はSS10336に書込んで保持
されるが、別の実施例においては、マクロ状態は仲介フ
レーム46947において記憶することができる。隣接
フレーム46945は、隣接呼出しにより操作すること
ができるマクロ状態の部分を含み、このマクロ状態の場
所は隣接呼出しSINに依存する。
について(図469) 図469はMASオブジェクト46703における典型
的なフレームを示している。各MASフレーム4670
9は、そのDOEの属性がMASオブジェクト4670
3に関する実行のため必要なものである手順オブジェク
ト608において含まれる手順602の仲介された呼出
しにより生じる仲介フレーム46947を保有する。仲
介フレーム46947は、手順602の隣接呼出しによ
り生じる隣接フレーム46945が続く。仲介フレーム
46947は2つの部分、即ちKOSマイクロコードに
より操作されるKOSフレーム・ヘッダ10414と、
Sインタプリタおよび名前空間マイクロコードにより操
作されるSインタプリタ部分とを有する。隣接フレーム
46945はKOSフレーム・ヘッダ10414は持た
ない。図469を詳細に照合すれば明らかになるよう
に、本実施例における仲介フレーム46947はマクロ
状態を含まない。本実施例においては、これらのフレー
ムに対するマクロ状態はSS10336に書込んで保持
されるが、別の実施例においては、マクロ状態は仲介フ
レーム46947において記憶することができる。隣接
フレーム46945は、隣接呼出しにより操作すること
ができるマクロ状態の部分を含み、このマクロ状態の場
所は隣接呼出しSINに依存する。
【1277】次に、KOSフレーム・ヘッダ10414
について述べれば、下記の如きフィールドが存在する。
即ち、 −MASフレーム46709のフォーマットに関する情
報を含むKOSフォーマット情報フィールド4690
1。 −フラッグ・フィールド46902。このフィールドは
下記のフラッグを含む。即ち、 −交差領域呼出しフラッグ46903の結果。このフラ
ッグは、もしこのMASフレーム46709に先行する
MASフレーム46709が別のMASオブジェクト4
6703に存在するならば真である。 −シグナラであることの照会フラッグ46905。この
フラッグは、もしMASフレーム46709がシグナラ
の手順602の呼出しによって生じたならば、真にな
る。 −戻らないフラッグ46907。このフラッグは、もし
プロセス610がこのMASフレーム46709が生成
された呼出しに対して戻るべきでないならば、真とな
る。 −フラッグ46909乃至46915は、処理中の条件
において使用された種々のリストおよび非局所GO−T
OがMASフレーム46709に存在するかどうかを表
示する。 −前のフレーム・オフセット・フィールド46917
と、次のフレーム・オフセット・フィールド46919
と、フレーム最上位オフセット・フィールド46921
は、MASオブジェクト46703における前のMAS
フレーム46709に対するKOSフレーム・ヘッダ1
0414が開始する場所と、MASオブジェクト467
03における次のMASフレーム46709に対するヘ
ッダが開始する場所と、MASフレーム46709の最
上位を越える最初のビットの場所を夫々提供するオフセ
ットである。 −フィールド46923乃至46927は、MASフレ
ーム46709のSインタプリタ部分46713におけ
るリストを見出すオフセットである。KOSは諸条件お
よび非局所GO−TOを処理するこのようなリストを確
保する。それらの使用については夫々の見出しにおいて
詳細に説明する。 −フィールド46929乃至46933は、呼出しがM
ASフレーム46709により示される手順602に関
する情報を含む。フィールド46929は手順602に
より要求されるアーギュメント番号を含み、フィールド
46933は手順602のPED30303に対する解
を有するポインタを保有する。これら両方のフィールド
は主としてデバッギングのために使用される。 −動的バック・ポインタ・フィールド46931は、M
ASフレーム46709が異なるMASオブジェクト4
6703に含まれる時プロセス610のMAS502に
帰属する前のMASフレーム46709に対する解を有
するポインタを含む。この場合、フラッグ46903は
真にセットされる。前のMASフレーム46709が同
じMASオブジェクト46703に含まれる時、動的バ
ック・ポインタ・フィールド46931はある空白UI
D40401を含むポインタを含み、交差領域呼出しフ
ラッグ46903は偽にセットされる。 −フレーム・ラベル・フィールド46935は、制御を
MASフレーム46709により表わされる呼出しに対
して制御を転送する非局所GO−TOが確保される時に
生じるフレームラベルに対するものである。このラベル
は、KOS MASヘッダ10410におけるフレーム
・ラベル・シーケンサ46819によって生成される。
MASフレーム46709におけるSインタプリタ部分
46713は、Sインタプリタの制御下にあるMASフ
レーム46709の各部からなる。Sインタプリタ部分
46713は更に2つの主なサブデビジョン、即ち仲介
フレーム46947と隣接フレーム46945からな
る。仲介フレーム46947と隣接フレーム46945
のSインタプリタ部分46949の正確な形態は、問題
となるフレームを生成した呼出しSINに依存する。し
かし、全ての隣接フレーム46945と仲介フレーム4
6947のSインタプリタ部分46949は、連係ポイ
ンタ10416とこのフレームにおける局所データをセ
ットするための同じアーギュメントを有する。連係ポイ
ンタ10416は、呼出しにおいて使用された実際のア
ーギュメントの場合に対するポインタであり、また局所
記憶装置10420は呼出しの間のみ存在するデータを
含む。全ての仲介フレーム46947および隣接フレー
ム46945において、連係ポインタ10416は局所
記憶装置10420に先行する。更に、仲介フレーム4
6947または隣接フレーム46945がプロセス61
0のMASの最上位のフレームである時、即ちプロセス
610がこのフレームに関して実行中、FPは常に局所
記憶装置10420の始めを指示し、連係ポインタ10
416の始めは常にFPからの既知の変位状態にある。
連係ポインタ10416に対する照合は、従ってFPか
らの負のオフセットとして表わすことができ、また局所
記憶装置10420に対する照合は正のオフセットとし
て表わすことができるのである。
について述べれば、下記の如きフィールドが存在する。
即ち、 −MASフレーム46709のフォーマットに関する情
報を含むKOSフォーマット情報フィールド4690
1。 −フラッグ・フィールド46902。このフィールドは
下記のフラッグを含む。即ち、 −交差領域呼出しフラッグ46903の結果。このフラ
ッグは、もしこのMASフレーム46709に先行する
MASフレーム46709が別のMASオブジェクト4
6703に存在するならば真である。 −シグナラであることの照会フラッグ46905。この
フラッグは、もしMASフレーム46709がシグナラ
の手順602の呼出しによって生じたならば、真にな
る。 −戻らないフラッグ46907。このフラッグは、もし
プロセス610がこのMASフレーム46709が生成
された呼出しに対して戻るべきでないならば、真とな
る。 −フラッグ46909乃至46915は、処理中の条件
において使用された種々のリストおよび非局所GO−T
OがMASフレーム46709に存在するかどうかを表
示する。 −前のフレーム・オフセット・フィールド46917
と、次のフレーム・オフセット・フィールド46919
と、フレーム最上位オフセット・フィールド46921
は、MASオブジェクト46703における前のMAS
フレーム46709に対するKOSフレーム・ヘッダ1
0414が開始する場所と、MASオブジェクト467
03における次のMASフレーム46709に対するヘ
ッダが開始する場所と、MASフレーム46709の最
上位を越える最初のビットの場所を夫々提供するオフセ
ットである。 −フィールド46923乃至46927は、MASフレ
ーム46709のSインタプリタ部分46713におけ
るリストを見出すオフセットである。KOSは諸条件お
よび非局所GO−TOを処理するこのようなリストを確
保する。それらの使用については夫々の見出しにおいて
詳細に説明する。 −フィールド46929乃至46933は、呼出しがM
ASフレーム46709により示される手順602に関
する情報を含む。フィールド46929は手順602に
より要求されるアーギュメント番号を含み、フィールド
46933は手順602のPED30303に対する解
を有するポインタを保有する。これら両方のフィールド
は主としてデバッギングのために使用される。 −動的バック・ポインタ・フィールド46931は、M
ASフレーム46709が異なるMASオブジェクト4
6703に含まれる時プロセス610のMAS502に
帰属する前のMASフレーム46709に対する解を有
するポインタを含む。この場合、フラッグ46903は
真にセットされる。前のMASフレーム46709が同
じMASオブジェクト46703に含まれる時、動的バ
ック・ポインタ・フィールド46931はある空白UI
D40401を含むポインタを含み、交差領域呼出しフ
ラッグ46903は偽にセットされる。 −フレーム・ラベル・フィールド46935は、制御を
MASフレーム46709により表わされる呼出しに対
して制御を転送する非局所GO−TOが確保される時に
生じるフレームラベルに対するものである。このラベル
は、KOS MASヘッダ10410におけるフレーム
・ラベル・シーケンサ46819によって生成される。
MASフレーム46709におけるSインタプリタ部分
46713は、Sインタプリタの制御下にあるMASフ
レーム46709の各部からなる。Sインタプリタ部分
46713は更に2つの主なサブデビジョン、即ち仲介
フレーム46947と隣接フレーム46945からな
る。仲介フレーム46947と隣接フレーム46945
のSインタプリタ部分46949の正確な形態は、問題
となるフレームを生成した呼出しSINに依存する。し
かし、全ての隣接フレーム46945と仲介フレーム4
6947のSインタプリタ部分46949は、連係ポイ
ンタ10416とこのフレームにおける局所データをセ
ットするための同じアーギュメントを有する。連係ポイ
ンタ10416は、呼出しにおいて使用された実際のア
ーギュメントの場合に対するポインタであり、また局所
記憶装置10420は呼出しの間のみ存在するデータを
含む。全ての仲介フレーム46947および隣接フレー
ム46945において、連係ポインタ10416は局所
記憶装置10420に先行する。更に、仲介フレーム4
6947または隣接フレーム46945がプロセス61
0のMASの最上位のフレームである時、即ちプロセス
610がこのフレームに関して実行中、FPは常に局所
記憶装置10420の始めを指示し、連係ポインタ10
416の始めは常にFPからの既知の変位状態にある。
連係ポインタ10416に対する照合は、従ってFPか
らの負のオフセットとして表わすことができ、また局所
記憶装置10420に対する照合は正のオフセットとし
て表わすことができるのである。
【1278】更に、Sインタプリタ部分46713は、
非仲介呼出しに対するSインタプリタ・フレームと同様
に非局所GO−TOおよび諸条件を実行するためKOS
により使用される情報のリストを含むことができる。こ
のKOSにより使用される情報リストは、リスト領域4
6943に含まれる。リスト領域46943の正確な場
所は、その呼出しが仲介フレーム46947により表わ
される手順602に対するSINおよび名前テーブルを
生成するコンパイラにより判定される。手順602のソ
ース・テキストがリスト領域46943における記憶を
要求するステートメントを含む時、このコンパイラは局
所記憶装置10420に所要の記憶量を配するSINを
生成する。KOSルーチンはこの時リスト領域4694
3にリスト形成し、リストの種類に応じてリスト領域4
6923、または46925、または46927にリス
トのヘッドのオフセットを配する。これらのリストおよ
びその用途については後で詳細に説明する。
非仲介呼出しに対するSインタプリタ・フレームと同様
に非局所GO−TOおよび諸条件を実行するためKOS
により使用される情報のリストを含むことができる。こ
のKOSにより使用される情報リストは、リスト領域4
6943に含まれる。リスト領域46943の正確な場
所は、その呼出しが仲介フレーム46947により表わ
される手順602に対するSINおよび名前テーブルを
生成するコンパイラにより判定される。手順602のソ
ース・テキストがリスト領域46943における記憶を
要求するステートメントを含む時、このコンパイラは局
所記憶装置10420に所要の記憶量を配するSINを
生成する。KOSルーチンはこの時リスト領域4694
3にリスト形成し、リストの種類に応じてリスト領域4
6923、または46925、または46927にリス
トのヘッドのオフセットを配する。これらのリストおよ
びその用途については後で詳細に説明する。
【1279】3.SS504(図470) 図470はプロセス610に帰属するSS504の概略
を示している。SS504はSSオブジェクト1033
6に保持される。SS10336はKOSマイクロコー
ドのルーチンによってのみ操作される。Sインタプリタ
または名前空間マイクロコード、あるいはプロセス61
0によって実行されつつある手順602のいずれもSS
10336に保有される情報をアクセスすることができ
ない。
を示している。SS504はSSオブジェクト1033
6に保持される。SS10336はKOSマイクロコー
ドのルーチンによってのみ操作される。Sインタプリタ
または名前空間マイクロコード、あるいはプロセス61
0によって実行されつつある手順602のいずれもSS
10336に保有される情報をアクセスすることができ
ない。
【1280】SS10336は2つの主な構成要素、即
ちSSベース47001およびSSフレーム47003
からなる。最初にSSフレーム47003の全般的な構
造について見れば、あるプロセス610が仲介呼出しを
実行する度にKOSマイクロコードはプロセス610に
帰属するSS10336において新たなSSフレーム4
7003を形成し、またプロセス610が仲介戻し操作
を実行する度にKOSマイクロコードはSS10336
からその時の最上位のSSフレーム47003を除外す
る。このように、プロセス610の503に関する各仲
介フレーム46947毎に1つのプロセス610に帰属
するSS10336に関する1つのSSフレーム470
03が存在するのである。
ちSSベース47001およびSSフレーム47003
からなる。最初にSSフレーム47003の全般的な構
造について見れば、あるプロセス610が仲介呼出しを
実行する度にKOSマイクロコードはプロセス610に
帰属するSS10336において新たなSSフレーム4
7003を形成し、またプロセス610が仲介戻し操作
を実行する度にKOSマイクロコードはSS10336
からその時の最上位のSSフレーム47003を除外す
る。このように、プロセス610の503に関する各仲
介フレーム46947毎に1つのプロセス610に帰属
するSS10336に関する1つのSSフレーム470
03が存在するのである。
【1281】SSフレーム47003は2種類のフレー
ム、即ち通常のフレーム10510および交差領域フレ
ーム47039を有する。交差領域フレーム47039
はプロセス610が交差領域呼出しを実行する時は常に
形成され、他の全ての仲介呼出しの場合は、通常のフレ
ーム10510が形成される。交差領域フレーム470
39はSSフレーム47003を1つの領域における呼
出しのシーケンスに帰属するSSフレーム47003の
グループ47037に分割する。グループ47003に
おける最初のSSフレーム47003は領域に入った呼
出しに対する交差領域フレーム47039であり、SS
フレーム47003の残部はこの領域における一連の呼
出しに対する通常のフレーム10510である。これら
のグループのSSフレーム47003は1つのMASオ
ブジェクト46703に仲介されたフレーム46947
のグループと対応する。
ム、即ち通常のフレーム10510および交差領域フレ
ーム47039を有する。交差領域フレーム47039
はプロセス610が交差領域呼出しを実行する時は常に
形成され、他の全ての仲介呼出しの場合は、通常のフレ
ーム10510が形成される。交差領域フレーム470
39はSSフレーム47003を1つの領域における呼
出しのシーケンスに帰属するSSフレーム47003の
グループ47037に分割する。グループ47003に
おける最初のSSフレーム47003は領域に入った呼
出しに対する交差領域フレーム47039であり、SS
フレーム47003の残部はこの領域における一連の呼
出しに対する通常のフレーム10510である。これら
のグループのSSフレーム47003は1つのMASオ
ブジェクト46703に仲介されたフレーム46947
のグループと対応する。
【1282】a.a.SSベース47001(図47
1) SSベース47001は4つの主な部分、即ち機密保護
スタック10512、プロセス・マイクロ状態4701
7、JP10114に対する記憶領域47033および
初期化フレーム・ヘッダ47035からなる。機密保護
スタック10512は下記の情報を含んでいる。即ち、 −SSベース47001およびフィールド47009は
フラッグおよびフォーマット情報を含み、これらのフィ
ールドの正確な内容は本論においては重要ではない。 −前のフレームオフセット値フィールド47011はS
S10336におけるヘッダにおける標準的なフィール
ドであり、本例においては前のフレームが存在しないた
めこれは0に記憶される。 −機密保護スタックの第1のオフセット・フィールド4
7013はSS10336における第1の交差領域フレ
ーム47039のオフセット、即ち初期化フレーム・ヘ
ッダ47035を含む。 −プロセスUIDフィールド47015はSS1033
6が帰属するプロセス610のUID40401を含
む。 −交差領域フレーム・フィールド47016の番号はS
S10336における交差領域フレーム47039の番
号を含む。
1) SSベース47001は4つの主な部分、即ち機密保護
スタック10512、プロセス・マイクロ状態4701
7、JP10114に対する記憶領域47033および
初期化フレーム・ヘッダ47035からなる。機密保護
スタック10512は下記の情報を含んでいる。即ち、 −SSベース47001およびフィールド47009は
フラッグおよびフォーマット情報を含み、これらのフィ
ールドの正確な内容は本論においては重要ではない。 −前のフレームオフセット値フィールド47011はS
S10336におけるヘッダにおける標準的なフィール
ドであり、本例においては前のフレームが存在しないた
めこれは0に記憶される。 −機密保護スタックの第1のオフセット・フィールド4
7013はSS10336における第1の交差領域フレ
ーム47039のオフセット、即ち初期化フレーム・ヘ
ッダ47035を含む。 −プロセスUIDフィールド47015はSS1033
6が帰属するプロセス610のUID40401を含
む。 −交差領域フレーム・フィールド47016の番号はS
S10336における交差領域フレーム47039の番
号を含む。
【1283】プロセス・マイクロ状態47017は、S
S10336が帰属するプロセス610を実行する時K
OSマイクロコードによって使用される情報を含む。フ
レーム47019,47012および47022はSS
10336における場所のオフセットを含む。フレーム
47019はSS10336における第1の自由ビット
の場所であるSSTOの値を含み、フレーム47021
はSS10336における最上位フレームの場所である
SSFOの値を含み、最後に47022はSS1033
6の最上位の交差領域フレーム47039の場所である
XDFOを含んでいる。
S10336が帰属するプロセス610を実行する時K
OSマイクロコードによって使用される情報を含む。フ
レーム47019,47012および47022はSS
10336における場所のオフセットを含む。フレーム
47019はSS10336における第1の自由ビット
の場所であるSSTOの値を含み、フレーム47021
はSS10336における最上位フレームの場所である
SSFOの値を含み、最後に47022はSS1033
6の最上位の交差領域フレーム47039の場所である
XDFOを含んでいる。
【1284】プロセス・マイクロ状態47017におけ
る問題の他のフレームは、下記のものからなる。即ち、
記憶域フィールド47023におけるオフセットはSS
10336の記憶領域47033における場所のオフセ
ットを含み、領域番号フィールド47025はその時プ
ロセス610により実行されつつある手順の602のD
OEに対する領域数を含んでいる。領域UIDおよび領
域番号間の関係については領域の論議において説明す
る。VPATオフセット・フィールド47027は、プ
ロセス610が束縛される仮想プロセッサ612に帰属
するVPATチャンク45402のVPAT45401
におけるオフセットを保有する。SINポインタフィー
ルド47029は領域番号フィールド47025より規
定される領域に帰属するシグナラ(処理中の状態におい
て使用される手順602)に対する解明されたポインタ
を保有し、追跡情報フィールド47031は後で述べる
この領域の追跡テーブルに対する解明されたポインタを
保有する。
る問題の他のフレームは、下記のものからなる。即ち、
記憶域フィールド47023におけるオフセットはSS
10336の記憶領域47033における場所のオフセ
ットを含み、領域番号フィールド47025はその時プ
ロセス610により実行されつつある手順の602のD
OEに対する領域数を含んでいる。領域UIDおよび領
域番号間の関係については領域の論議において説明す
る。VPATオフセット・フィールド47027は、プ
ロセス610が束縛される仮想プロセッサ612に帰属
するVPATチャンク45402のVPAT45401
におけるオフセットを保有する。SINポインタフィー
ルド47029は領域番号フィールド47025より規
定される領域に帰属するシグナラ(処理中の状態におい
て使用される手順602)に対する解明されたポインタ
を保有し、追跡情報フィールド47031は後で述べる
この領域の追跡テーブルに対する解明されたポインタを
保有する。
【1285】JP10114のレジスタ内容47033
に対する記憶域は、仮想プロセッサ612がJP101
14から取り出される時に使用される。この状態が生じ
ると、仮想プロセッサ612がJP10114に対する
場所が解除されるため、あるいはCS10110が停止
されるため、またはCS10110が障害を生じたため
に、仮想プロセッサ612に対して特定の情報を保有す
るJP10114レジスタの内容は記憶領域47033
にコピーされる。仮想プロセッサ612がJP1011
4に対して戻される時、これらのレジスタの内容は再び
これがやってきたJP10114のレジスタにロードさ
れる。
に対する記憶域は、仮想プロセッサ612がJP101
14から取り出される時に使用される。この状態が生じ
ると、仮想プロセッサ612がJP10114に対する
場所が解除されるため、あるいはCS10110が停止
されるため、またはCS10110が障害を生じたため
に、仮想プロセッサ612に対して特定の情報を保有す
るJP10114レジスタの内容は記憶領域47033
にコピーされる。仮想プロセッサ612がJP1011
4に対して戻される時、これらのレジスタの内容は再び
これがやってきたJP10114のレジスタにロードさ
れる。
【1286】最終に、初期化フレーム・ヘッダ4703
5はSS10336の生成において使用されたダミー・
フレーム・ヘッダとなる。
5はSS10336の生成において使用されたダミー・
フレーム・ヘッダとなる。
【1287】b.b.SSフレーム47003(図47
1) 交差領域フレーム47039および通常のフレーム10
510の論議から始めると、図471はこれらの構造を
詳細に示している。通常のフレーム10510は3つの
主な部分、即ち通常のSSフレーム・ヘッダ10514
と、マイクロ状態10516と、マイクロ状態1052
0からなる。通常のSSフレーム・ヘッダ10514
は、通常のSSフレーム・ヘッダ10514が帰属する
通常のフレーム10510を操作するためKOSマイク
ロコードにより使用される情報を保有する。マクロ状態
10516は、呼出しの実行を再開するため必要なフレ
ームの仲介された呼出しおよび他の情報に対するABP
の値を含む。マイクロ状態10520はFU10120
およびFU10122のレジスタからのマイクロ機械状
態を保有する。このマイクロ機械状態の量は情況に依存
するが、本例においては、あるマイクロ機械状態が全て
の仲介呼出しと同時に保管され、更に、もしあるプロセ
ス610があるマイクロコード対ソフトウェア呼出しを
実行するならば、この呼出しの時点で存在するマイクロ
機械状態が保管され、最後に最上位のSSフレーム47
003に帰属するマイクロ状態10520は、FU10
120のGRF10354またはEU10122のレジ
スタおよびスタック機構10216の容量を越える時こ
れから転送された情報を保有することができる。マイク
ロ状態10520のこの点に関する詳細に関しては、第
2章におけるFU10120のマイクロ機械の論述を参
照されたい。SS10336の論議は、通常のSSフレ
ームヘッダ10514およびマイクロ状態05163に
関して詳細を尽くすことにする。
1) 交差領域フレーム47039および通常のフレーム10
510の論議から始めると、図471はこれらの構造を
詳細に示している。通常のフレーム10510は3つの
主な部分、即ち通常のSSフレーム・ヘッダ10514
と、マイクロ状態10516と、マイクロ状態1052
0からなる。通常のSSフレーム・ヘッダ10514
は、通常のSSフレーム・ヘッダ10514が帰属する
通常のフレーム10510を操作するためKOSマイク
ロコードにより使用される情報を保有する。マクロ状態
10516は、呼出しの実行を再開するため必要なフレ
ームの仲介された呼出しおよび他の情報に対するABP
の値を含む。マイクロ状態10520はFU10120
およびFU10122のレジスタからのマイクロ機械状
態を保有する。このマイクロ機械状態の量は情況に依存
するが、本例においては、あるマイクロ機械状態が全て
の仲介呼出しと同時に保管され、更に、もしあるプロセ
ス610があるマイクロコード対ソフトウェア呼出しを
実行するならば、この呼出しの時点で存在するマイクロ
機械状態が保管され、最後に最上位のSSフレーム47
003に帰属するマイクロ状態10520は、FU10
120のGRF10354またはEU10122のレジ
スタおよびスタック機構10216の容量を越える時こ
れから転送された情報を保有することができる。マイク
ロ状態10520のこの点に関する詳細に関しては、第
2章におけるFU10120のマイクロ機械の論述を参
照されたい。SS10336の論議は、通常のSSフレ
ームヘッダ10514およびマイクロ状態05163に
関して詳細を尽くすことにする。
【1288】a.a.a.通常のSSフレーム・ヘッダ
10514(図471) −通常のSSフレームヘッダ10514のフォーマット
を識別するフォーマット情報47103。 −本論において問題となる1つのフラッグを含むフラッ
グ・フィールド470105、即ちフレーム・タイプ・
フラッグ470107。即ち、通常のフレーム1051
0においてはこのフィールドは「障害」に記憶される。 −オフセット・フィールド47109乃至47113。
即ちオフセット・フィールド47109は前の交差領域
フレーム47039または通常のフレーム10510の
オフセットを含み、フィールド47111は以降の交差
領域フレーム47039または通常のフレーム1051
0のオフセットを含み、フィールド47113は次の交
差領域フレーム47039に先行する最後の交差領域フ
レーム47039または通常のフレーム10510のオ
フセットを含んでいる。 −フィールド47117は、交差領域フレーム4703
9または通常のフレーム10510による仲介呼出しの
表示が実行中である領域に対するその時の領域番号を保
有する。 −フィールド47119は先行する交差領域フレーム4
7039のオフセットを保有する。 −フィールド47121はマイクロ状態10520にお
ける重要な場所に対するオフセットを保有する。
10514(図471) −通常のSSフレームヘッダ10514のフォーマット
を識別するフォーマット情報47103。 −本論において問題となる1つのフラッグを含むフラッ
グ・フィールド470105、即ちフレーム・タイプ・
フラッグ470107。即ち、通常のフレーム1051
0においてはこのフィールドは「障害」に記憶される。 −オフセット・フィールド47109乃至47113。
即ちオフセット・フィールド47109は前の交差領域
フレーム47039または通常のフレーム10510の
オフセットを含み、フィールド47111は以降の交差
領域フレーム47039または通常のフレーム1051
0のオフセットを含み、フィールド47113は次の交
差領域フレーム47039に先行する最後の交差領域フ
レーム47039または通常のフレーム10510のオ
フセットを含んでいる。 −フィールド47117は、交差領域フレーム4703
9または通常のフレーム10510による仲介呼出しの
表示が実行中である領域に対するその時の領域番号を保
有する。 −フィールド47119は先行する交差領域フレーム4
7039のオフセットを保有する。 −フィールド47121はマイクロ状態10520にお
ける重要な場所に対するオフセットを保有する。
【1289】b.b.b.マイクロ状態の詳細な構造
(図471) 次のフィールドはマクロ状態10516において重要で
ある。即ち、 −シラブル・サイズ・フィールド47125はKの値、
即ち呼出しが実行中である手順602に帰属するSIN
における名前のサイズを保有する。 −名前テーブル・フィールド47127の終りは、呼出
しが実行中である手順602に帰属する名前テーブル1
0350における最後の名前の場所を保有する。 −フィールド47129乃至47143は、呼出しによ
り実行中の手順602を含む手順オブジェクト901に
おける場所に対するポインタ、および手順602により
使用中のデータを含む場所に対する解明されたポインタ
である。フィールド47129は手順602のPED3
0303に対するポインタを保有し、もし手順602が
外部手順602であれば、フィールド47131はゲー
ト10340における手順602のエントリに対するポ
インタを保有し、フィールド47135は呼出に対する
FPのUIDオフセット値を保有し、フィールド471
35は手順602のSインタプリタにより使用されるS
EB46864に対するポインタを保有する。フィール
ド47137はSDPのUIDオフセット値を含み、フ
ィールド47139はPBPのそれを含む。SIPフィ
ールド47141は手順602のSインタプリタオブジ
ェクトに対するポインタを含み、また最後にNTPは手
順602のMT10350に対するポインタである。 −フィールド47145は、SSフレーム47003が
帰属する仲介された呼出しからの戻りと同時に実行され
るべきSINに対するPCを保有している。
(図471) 次のフィールドはマクロ状態10516において重要で
ある。即ち、 −シラブル・サイズ・フィールド47125はKの値、
即ち呼出しが実行中である手順602に帰属するSIN
における名前のサイズを保有する。 −名前テーブル・フィールド47127の終りは、呼出
しが実行中である手順602に帰属する名前テーブル1
0350における最後の名前の場所を保有する。 −フィールド47129乃至47143は、呼出しによ
り実行中の手順602を含む手順オブジェクト901に
おける場所に対するポインタ、および手順602により
使用中のデータを含む場所に対する解明されたポインタ
である。フィールド47129は手順602のPED3
0303に対するポインタを保有し、もし手順602が
外部手順602であれば、フィールド47131はゲー
ト10340における手順602のエントリに対するポ
インタを保有し、フィールド47135は呼出に対する
FPのUIDオフセット値を保有し、フィールド471
35は手順602のSインタプリタにより使用されるS
EB46864に対するポインタを保有する。フィール
ド47137はSDPのUIDオフセット値を含み、フ
ィールド47139はPBPのそれを含む。SIPフィ
ールド47141は手順602のSインタプリタオブジ
ェクトに対するポインタを含み、また最後にNTPは手
順602のMT10350に対するポインタである。 −フィールド47145は、SSフレーム47003が
帰属する仲介された呼出しからの戻りと同時に実行され
るべきSINに対するPCを保有している。
【1290】c.c.c.交差領域SSフレーム470
39(図471) 交差領域SSフレーム47039は2つの観点において
通常のフレーム10510とは異なり、即ちこれらは別
の構成要素である交差領域状態10513を有し、また
領域フレーム・ヘッダ47157におけるフィールドは
通常のSSフレームヘッダ10514におけるものとは
異なる意味を有する。
39(図471) 交差領域SSフレーム47039は2つの観点において
通常のフレーム10510とは異なり、即ちこれらは別
の構成要素である交差領域状態10513を有し、また
領域フレーム・ヘッダ47157におけるフィールドは
通常のSSフレームヘッダ10514におけるものとは
異なる意味を有する。
【1291】交差領域状態10513は、その呼出しが
終了した手順602のものとは異なる手順602のそれ
とはそのDOEが異なる手順602に対する戻り操作が
適正な領域に戻りつつあることを検査するため、KOS
呼出しマイクロコードが使用する情報を保有する。交差
領域状態10513における問題のフィールドはGOT
Oタッグ47155を含み、これが新たな領域のMAS
オブジェクト46703における第1の自由ビットの場
所を与え、これは新たなMASオブジェクト46703
における最上位の仲介フレーム・ヘッダ46709の場
所を保有する。
終了した手順602のものとは異なる手順602のそれ
とはそのDOEが異なる手順602に対する戻り操作が
適正な領域に戻りつつあることを検査するため、KOS
呼出しマイクロコードが使用する情報を保有する。交差
領域状態10513における問題のフィールドはGOT
Oタッグ47155を含み、これが新たな領域のMAS
オブジェクト46703における第1の自由ビットの場
所を与え、これは新たなMASオブジェクト46703
における最上位の仲介フレーム・ヘッダ46709の場
所を保有する。
【1292】交差領域フレーム・ヘッダ47157は、
通常のSSフレーム・ヘッダ471010における3つ
のフィールドが存在する。これらのフィールドはフラッ
グ・フィールド47107であり、これは交差領域フレ
ーム・ヘッダ47157においては常に真の値、即ち先
行する交差領域フレーム・オフセット・フィールド47
161を有し、SS10336における先行する交差領
域フレーム47039のオフセットを保有し、また次の
交差領域フレーム47039の場所を含む次の交差領域
フレーム・オフセット・フィールド47159を含む。
この2つの最後のフィールドは、通常のSSフレームヘ
ッダ10514において夫々フィールド47111およ
びオフセット・フィールド47109と同じ場所を占め
る。
通常のSSフレーム・ヘッダ471010における3つ
のフィールドが存在する。これらのフィールドはフラッ
グ・フィールド47107であり、これは交差領域フレ
ーム・ヘッダ47157においては常に真の値、即ち先
行する交差領域フレーム・オフセット・フィールド47
161を有し、SS10336における先行する交差領
域フレーム47039のオフセットを保有し、また次の
交差領域フレーム47039の場所を含む次の交差領域
フレーム・オフセット・フィールド47159を含む。
この2つの最後のフィールドは、通常のSSフレームヘ
ッダ10514において夫々フィールド47111およ
びオフセット・フィールド47109と同じ場所を占め
る。
【1293】SSフレーム47003の以上の説明から
判るように、本実施例におけるSS10336は次の3
種類の情報を保有している。即ち、マクロ状態、交差領
域状態およびマイクロ状態である。他の実施例において
は、SS10336における情報は、別個のスタック構
造、例えば別個のマイクロ状態において記憶することが
でき、また交差領域スタック即ちMASオブジェクト4
6703にその時記憶される情報はSS10336に記
憶され、あるいはその逆となる。
判るように、本実施例におけるSS10336は次の3
種類の情報を保有している。即ち、マクロ状態、交差領
域状態およびマイクロ状態である。他の実施例において
は、SS10336における情報は、別個のスタック構
造、例えば別個のマイクロ状態において記憶することが
でき、また交差領域スタック即ちMASオブジェクト4
6703にその時記憶される情報はSS10336に記
憶され、あるいはその逆となる。
【1294】4.呼出しおよび戻し操作に関する手順オ
ブジェクト608の各部(図472) どのプロセス610がそのMASオブジェクト4670
3およびSS10336に関して新たなフレームの構成
および関与する手順602に対する制御の転送を要求す
るかの情報は、呼出された手順602の手順オブジェク
ト608に保有される。図472は、ある呼出しにおい
て使用される情報を示す手順オブジェクト608の概要
図である。図472は図103および図303に含まれ
る情報を拡張し、これらの図面に示されるフィールドは
本文に使用した名称および番号を有する。
ブジェクト608の各部(図472) どのプロセス610がそのMASオブジェクト4670
3およびSS10336に関して新たなフレームの構成
および関与する手順602に対する制御の転送を要求す
るかの情報は、呼出された手順602の手順オブジェク
ト608に保有される。図472は、ある呼出しにおい
て使用される情報を示す手順オブジェクト608の概要
図である。図472は図103および図303に含まれ
る情報を拡張し、これらの図面に示されるフィールドは
本文に使用した名称および番号を有する。
【1295】手順オブジェクトヘッダ10336から始
めると、この領域は呼出しにおいて使用される情報の2
つの項目を保有する。即ち、手順オブジェクト608に
おけるアーギュメントの場所を与えるフィールド472
01におけるオフセットと、手順オブジェクト608に
おけるゲート番号を指定するフィールド47203にお
ける値である。ゲートは外部手順602、即ち、他の手
順オブジェクト608に含まれる手順602により生成
可能な手順602の呼出しを可能にする。手順オブジェ
クト608のゲートは、外部のエントリ記述子領域10
340に含まれている。2種類のゲートが存在する。即
ち、手順オブジェクト608に含まれる手順602に対
するもの、および他の手順オブジェクト608に含まれ
る手順オブジェクト608を介して呼出し可能な手順6
02に対するものである。手順オブジェクト608に含
まれる手順602に対するゲート局所ゲート47205
と呼ばれる。局所ゲート47205は、手順602に対
するエントリ記述子47227の手順オブジェクト60
8におけるオフセットを保有する内部エントリ・オフセ
ット(IEO)フィールド47207を保有する。もし
手順602が手順オブジェクト472に保有されなけれ
ば、そのゲートはリンク・ゲート47206である。リ
ンク・ゲート47206はバインダ領域ポインタ(BA
P)フィールド47208を保有する。BAPフィール
ド47208は、更に別の手順オブジェクト608にお
けるあるゲートに対するポインタを保有するバインダ領
域30323におけるある領域の場所を保有する。バイ
ンダ領域30323におけるポインタは解明可能であ
り、あるいは解明不可能である。もし手順602がこの
手順オブジェクト608に含まれるならば、ゲートは局
所ゲート47205であり、さもなければ、これは別の
リンク・ゲート47206である。
めると、この領域は呼出しにおいて使用される情報の2
つの項目を保有する。即ち、手順オブジェクト608に
おけるアーギュメントの場所を与えるフィールド472
01におけるオフセットと、手順オブジェクト608に
おけるゲート番号を指定するフィールド47203にお
ける値である。ゲートは外部手順602、即ち、他の手
順オブジェクト608に含まれる手順602により生成
可能な手順602の呼出しを可能にする。手順オブジェ
クト608のゲートは、外部のエントリ記述子領域10
340に含まれている。2種類のゲートが存在する。即
ち、手順オブジェクト608に含まれる手順602に対
するもの、および他の手順オブジェクト608に含まれ
る手順オブジェクト608を介して呼出し可能な手順6
02に対するものである。手順オブジェクト608に含
まれる手順602に対するゲート局所ゲート47205
と呼ばれる。局所ゲート47205は、手順602に対
するエントリ記述子47227の手順オブジェクト60
8におけるオフセットを保有する内部エントリ・オフセ
ット(IEO)フィールド47207を保有する。もし
手順602が手順オブジェクト472に保有されなけれ
ば、そのゲートはリンク・ゲート47206である。リ
ンク・ゲート47206はバインダ領域ポインタ(BA
P)フィールド47208を保有する。BAPフィール
ド47208は、更に別の手順オブジェクト608にお
けるあるゲートに対するポインタを保有するバインダ領
域30323におけるある領域の場所を保有する。バイ
ンダ領域30323におけるポインタは解明可能であ
り、あるいは解明不可能である。もし手順602がこの
手順オブジェクト608に含まれるならば、ゲートは局
所ゲート47205であり、さもなければ、これは別の
リンク・ゲート47206である。
【1296】手順環境記述子(PEDS)10348
は、手順オブジェクト608に含まれる手順602に対
するPED30303を保有する。手順602に対する
マクロ状態のほとんどはそのPED30303に見出す
ことができる。PED30303は既に説明したが、理
解を容易にするため、ここでその内容を述べよう。即
ち、 −Kフィールド30305は手順602の名前のサイズ
を保有する。 −最も大きな名前(LN)フィールド30307は、S
S10336で始まるiを保有し、この領域は呼出しに
おいて使用される2つの項目の情報を含む。即ち、手順
オブジェクト608においてアーギュメント情報アレイ
10352の場所を与えるフィールド47201におけ
るオフセットと、手順オブジェクト608におけるゲー
トのこれを指定するフィールド47203における値で
ある。ゲートは外部の手順602の呼出しを可能にす
る。即ち、他の手順オブジェクトに含まれる手順602
により呼出すことができる手順602は静的データ・ブ
ロック46863に入る。このように、手順602の呼
出しのためには、SDP ABPはSDPPフィールド
30313を介して得られる。即ち、 −PBPフィールド30315は、その時のPCが計算
されるポインタである。手順602を生じる時、この値
はPBP ABPとなる。 −Sインタプリタ環境プロトタイプ・ポインタ(SEP
P)フィールド30316はSEBプロトタイプ・フィ
ールド30317の場所を保有する。手順602が生じ
る時、フィールド30316は、SDPPフィールド3
0313が呼出しの静的データを見出すのと同じ方法で
AAT30201をしてSEB46864を見出す。
は、手順オブジェクト608に含まれる手順602に対
するPED30303を保有する。手順602に対する
マクロ状態のほとんどはそのPED30303に見出す
ことができる。PED30303は既に説明したが、理
解を容易にするため、ここでその内容を述べよう。即
ち、 −Kフィールド30305は手順602の名前のサイズ
を保有する。 −最も大きな名前(LN)フィールド30307は、S
S10336で始まるiを保有し、この領域は呼出しに
おいて使用される2つの項目の情報を含む。即ち、手順
オブジェクト608においてアーギュメント情報アレイ
10352の場所を与えるフィールド47201におけ
るオフセットと、手順オブジェクト608におけるゲー
トのこれを指定するフィールド47203における値で
ある。ゲートは外部の手順602の呼出しを可能にす
る。即ち、他の手順オブジェクトに含まれる手順602
により呼出すことができる手順602は静的データ・ブ
ロック46863に入る。このように、手順602の呼
出しのためには、SDP ABPはSDPPフィールド
30313を介して得られる。即ち、 −PBPフィールド30315は、その時のPCが計算
されるポインタである。手順602を生じる時、この値
はPBP ABPとなる。 −Sインタプリタ環境プロトタイプ・ポインタ(SEP
P)フィールド30316はSEBプロトタイプ・フィ
ールド30317の場所を保有する。手順602が生じ
る時、フィールド30316は、SDPPフィールド3
0313が呼出しの静的データを見出すのと同じ方法で
AAT30201をしてSEB46864を見出す。
【1297】手順602のPED30303はその内部
のエントリ記述子47227から見出すことができる。
PED30303はいくつかの手順602によって共有
することができる。
のエントリ記述子47227から見出すことができる。
PED30303はいくつかの手順602によって共有
することができる。
【1298】勿論、この場合には共有されたPED30
303に含まれる値はこれを共有する全ての手順602
に対するものと同じである。後で詳細に説明するよう
に、本実施例においては、もし呼出し側の手順602が
1つのPED30303と共有しなければ、呼出しは仲
介されなければならない。呼出し側の手順602は、こ
れを1つのPED30303を共有する手順602のみ
に対する隣接呼出しを行なうことができる。
303に含まれる値はこれを共有する全ての手順602
に対するものと同じである。後で詳細に説明するよう
に、本実施例においては、もし呼出し側の手順602が
1つのPED30303と共有しなければ、呼出しは仲
介されなければならない。呼出し側の手順602は、こ
れを1つのPED30303を共有する手順602のみ
に対する隣接呼出しを行なうことができる。
【1299】問題となる手順オブジェクト608の次の
部分は内部エントリ記述子10342である。手順オブ
ジェクト608に含まれる各手順602は1つのエント
リ記述子47227を有する。エントリ記述子4722
7は4つの重要なフィールドを含む。即ち、 −PBPオフセット・フィールド47229は、手順6
02のコードにおける最初のSINが見出されるPBP
からのオフセットを保有する。 −フラッグ・フィールド47230は、手順602が呼
出される時形成されるフラッグを保有する。4つのフラ
ッグが重要である。即ち、 −アーギュメント情報アレイ存在フラッグ47235。
これはもし手順602がアーギュメント情報アレイ10
352におけるエントリを有するならば「真」にセット
される。 −SEBフラッグ47237は、もしSEPP4722
5が非空白状態であれば、即ち手順602がそのSイン
タプリタに対するSEB46864を有するならば、
「真」にセットされる。 −形成しないアクセス・フラッグ47239は、もしK
OS呼出しマイクロコードが手順602の生成のため使
用された実際のアーギュメントに関する機密保護検査を
実施しなければ、「真」にセットされる。 −PEDオフセット・フィールド47231は、手順オ
ブジェクト608の始めから手順602のPED303
03のオフセットを保有する。 −フレーム・サイズ・フィールド47233は、手順6
02の呼出しのためのMASフレーム46709の局所
記憶部分10420の最初のサイズを保有する。
部分は内部エントリ記述子10342である。手順オブ
ジェクト608に含まれる各手順602は1つのエント
リ記述子47227を有する。エントリ記述子4722
7は4つの重要なフィールドを含む。即ち、 −PBPオフセット・フィールド47229は、手順6
02のコードにおける最初のSINが見出されるPBP
からのオフセットを保有する。 −フラッグ・フィールド47230は、手順602が呼
出される時形成されるフラッグを保有する。4つのフラ
ッグが重要である。即ち、 −アーギュメント情報アレイ存在フラッグ47235。
これはもし手順602がアーギュメント情報アレイ10
352におけるエントリを有するならば「真」にセット
される。 −SEBフラッグ47237は、もしSEPP4722
5が非空白状態であれば、即ち手順602がそのSイン
タプリタに対するSEB46864を有するならば、
「真」にセットされる。 −形成しないアクセス・フラッグ47239は、もしK
OS呼出しマイクロコードが手順602の生成のため使
用された実際のアーギュメントに関する機密保護検査を
実施しなければ、「真」にセットされる。 −PEDオフセット・フィールド47231は、手順オ
ブジェクト608の始めから手順602のPED303
03のオフセットを保有する。 −フレーム・サイズ・フィールド47233は、手順6
02の呼出しのためのMASフレーム46709の局所
記憶部分10420の最初のサイズを保有する。
【1300】呼出しのための重要な他の領域はSEBプ
ロトタイプ領域47241、静的データ領域プロトタイ
プ30317、バインダ領域30323およびアーギュ
メント情報アレイ10352である。SEBプロトタイ
プ領域47241およびPBPフィールド30315
は、夫々手順602に対するSEB46864と静的デ
ータ・ブロック46863の形成に使用される情報を保
有する。これらの領域はMAS毎のオブジェクト467
03に基づいて形成される。あるプロセス610がある
領域において1つの手順602を最初に実行する時、手
順602に対して必要な静的データ・ブロック4686
4および静的データ・ブロック46863は、領域に帰
属するMASオブジェクト46703またはMASオブ
ジェクト46703からアクセス可能な別のオブジェク
トのいずれかにおいて形成される。従って、静的データ
・ブロック46864と静的データ・ブロック4686
3はMASオブジェクト46703が存在する限り維持
する。
ロトタイプ領域47241、静的データ領域プロトタイ
プ30317、バインダ領域30323およびアーギュ
メント情報アレイ10352である。SEBプロトタイ
プ領域47241およびPBPフィールド30315
は、夫々手順602に対するSEB46864と静的デ
ータ・ブロック46863の形成に使用される情報を保
有する。これらの領域はMAS毎のオブジェクト467
03に基づいて形成される。あるプロセス610がある
領域において1つの手順602を最初に実行する時、手
順602に対して必要な静的データ・ブロック4686
4および静的データ・ブロック46863は、領域に帰
属するMASオブジェクト46703またはMASオブ
ジェクト46703からアクセス可能な別のオブジェク
トのいずれかにおいて形成される。従って、静的データ
・ブロック46864と静的データ・ブロック4686
3はMASオブジェクト46703が存在する限り維持
する。
【1301】SDPR30317は2種類の情報を保有
する。即ち、静的データ・リンク30319と静的デー
タ初期化情報30321である。SDPR30317
9はバインダ領域30323における場合を保有し、こ
の領域は更にデータの場所または外部の手順602を生
じるため解明可能なポインタを保有する。静的データ・
ブロック46863がある手順602に対して形成され
る時、バインダ領域30323における情報が用いられ
て連係ポインタ46865を形成する。静的データ初期
化情報30321は、静的データ記憶域46867にお
いて静的データを形成してこれを初期化するため必要な
情報を保有する。
する。即ち、静的データ・リンク30319と静的デー
タ初期化情報30321である。SDPR30317
9はバインダ領域30323における場合を保有し、こ
の領域は更にデータの場所または外部の手順602を生
じるため解明可能なポインタを保有する。静的データ・
ブロック46863がある手順602に対して形成され
る時、バインダ領域30323における情報が用いられ
て連係ポインタ46865を形成する。静的データ初期
化情報30321は、静的データ記憶域46867にお
いて静的データを形成してこれを初期化するため必要な
情報を保有する。
【1302】リンク・ゲート47206およびSDPR
30317 9の論議において記述したように、バイン
ダ領域30323は、データおよび外部手順602の場
所を生じるため第3章に記述した如く解明可能なポイン
タを保有する。
30317 9の論議において記述したように、バイン
ダ領域30323は、データおよび外部手順602の場
所を生じるため第3章に記述した如く解明可能なポイン
タを保有する。
【1303】アーギュメント情報アレイ(AIA)10
352は、手順602を生じる主題が手順602におけ
るアーギュメントの使用を可能にする呼出しにおいて使
用された実際のアーギュメントに対してアクセスを行な
うかどうかを形成するためKOS呼出しマイクロコード
により使用される情報を保有する。この所謂「トロイの
木馬検査」は、ある呼出しがある主題の領域の構成要素
を変化させ得るため必要である。このように、あるデー
タ項目に対するある特定の種類のアクセスを欠く主題
は、再び、そのDOEが呼出し側の主題自体が欠くアク
セス権をこれに与える1つの手順602に対するアーギ
ュメントとしてデータ項目を送ることによって前記アク
セスを得ることができる。
352は、手順602を生じる主題が手順602におけ
るアーギュメントの使用を可能にする呼出しにおいて使
用された実際のアーギュメントに対してアクセスを行な
うかどうかを形成するためKOS呼出しマイクロコード
により使用される情報を保有する。この所謂「トロイの
木馬検査」は、ある呼出しがある主題の領域の構成要素
を変化させ得るため必要である。このように、あるデー
タ項目に対するある特定の種類のアクセスを欠く主題
は、再び、そのDOEが呼出し側の主題自体が欠くアク
セス権をこれに与える1つの手順602に対するアーギ
ュメントとしてデータ項目を送ることによって前記アク
セスを得ることができる。
【1304】手順オブジェクト608における各局所ゲ
ート47205はアーギュメント情報アレイ10352
において1つの要素を有する。これらのアーギュメント
情報アレイ要素(AIAE)60845の各々は下記の
ものを示すフィールドを有する。即ち、 −フィールド47247において局所ゲート47205
が帰属する手順602を生じるため必要なアーギュメン
トの最小数。 −フィールド47249において手順602の呼出しに
使用することができるアーギュメントの最大数。 −呼出し側の主題が、フィールド47251において手
順602を読出すため実際のアーギュメントに対して呼
出し側の主題が持たねばならないアクセス権。
ート47205はアーギュメント情報アレイ10352
において1つの要素を有する。これらのアーギュメント
情報アレイ要素(AIAE)60845の各々は下記の
ものを示すフィールドを有する。即ち、 −フィールド47247において局所ゲート47205
が帰属する手順602を生じるため必要なアーギュメン
トの最小数。 −フィールド47249において手順602の呼出しに
使用することができるアーギュメントの最大数。 −呼出し側の主題が、フィールド47251において手
順602を読出すため実際のアーギュメントに対して呼
出し側の主題が持たねばならないアクセス権。
【1305】フィールド47251はそれ自体、手順6
02の呼出しのため使用する実際のアーギュメントに対
して呼出し側の主題が持たねばならないアクセスの種類
を指定するアレイである。手順602に対する正規の各
アーギュメントはアクセス・モード・アレイ・エントリ
(AMAE)47255を有する。AMAE47255
の順序は、手順602の正規のアーギュメントの順序と
対応する。最初の正規のアーギュメントは第1のAMA
E47255、第2のAMAE47255、第3のAM
AE47255等を有する。AMAE47253は4ビ
ットの長さである。AMAE47253には2つの形態
がある。即ち、根源アクセス形態47255と拡張アク
セス形態47257である。前者の形態においては、最
も左のビットが0に記憶されている。残る3つのビット
は読出し、書込みおよび実行アクセスを指定する。もし
あるビットがonであるならば、呼出しを実施する主題
は、AMAE47253に対応する正規のアーギュメン
トに対して実際に使用されるデータ項目を保有するオブ
ジェクトに対して根源アクセスの種類を持たねばならな
い。拡張アクセス形態47257においては、最も左の
ビットは1に記憶され、残りのビットは手順602に対
して必要な拡張アクセスを表わすよう定義される。これ
らのビットの定義は手順602毎に変化する。
02の呼出しのため使用する実際のアーギュメントに対
して呼出し側の主題が持たねばならないアクセスの種類
を指定するアレイである。手順602に対する正規の各
アーギュメントはアクセス・モード・アレイ・エントリ
(AMAE)47255を有する。AMAE47255
の順序は、手順602の正規のアーギュメントの順序と
対応する。最初の正規のアーギュメントは第1のAMA
E47255、第2のAMAE47255、第3のAM
AE47255等を有する。AMAE47253は4ビ
ットの長さである。AMAE47253には2つの形態
がある。即ち、根源アクセス形態47255と拡張アク
セス形態47257である。前者の形態においては、最
も左のビットが0に記憶されている。残る3つのビット
は読出し、書込みおよび実行アクセスを指定する。もし
あるビットがonであるならば、呼出しを実施する主題
は、AMAE47253に対応する正規のアーギュメン
トに対して実際に使用されるデータ項目を保有するオブ
ジェクトに対して根源アクセスの種類を持たねばならな
い。拡張アクセス形態47257においては、最も左の
ビットは1に記憶され、残りのビットは手順602に対
して必要な拡張アクセスを表わすよう定義される。これ
らのビットの定義は手順602毎に変化する。
【1306】5.仲介呼出しの実行 呼出しに関与させられるMASオブジェクト46703
と、SSオブジェクト10336と、手順オブジェクト
608の各部について記述したが、本論は仲介呼出し操
作について記述する。最初に、仲介呼出しSINの概説
を行ない、次に本実施例における仲介呼出しの構成につ
いて、簡単な仲介呼出しから始め、交差手順オブジェク
ト呼出しおよび交差領域呼出しに続く。本論はソフトウ
ェア対マイクロコード呼出しの記述で終る。
と、SSオブジェクト10336と、手順オブジェクト
608の各部について記述したが、本論は仲介呼出し操
作について記述する。最初に、仲介呼出しSINの概説
を行ない、次に本実施例における仲介呼出しの構成につ
いて、簡単な仲介呼出しから始め、交差手順オブジェク
ト呼出しおよび交差領域呼出しに続く。本論はソフトウ
ェア対マイクロコード呼出しの記述で終る。
【1307】a.a.仲介呼出しSIN 仲介呼出しSINの正確な形態はS言語に特定される
が、全ての仲介呼出しSINは4つの情報項目を含まね
ばならない。即ち、 −操作のためのSOP −SINにより生成されるべき手順602に対するポイ
ンタに対し評価する名前。 −呼出しに用いた実際のアーギュメント番号を規定する
リテラル値(定数)。
が、全ての仲介呼出しSINは4つの情報項目を含まね
ばならない。即ち、 −操作のためのSOP −SINにより生成されるべき手順602に対するポイ
ンタに対し評価する名前。 −呼出しに用いた実際のアーギュメント番号を規定する
リテラル値(定数)。
【1308】呼出しにおいて使用される実際のアーギュ
メントに対するポインタに対して評価する名前リスト。
もし手順602がアーギュメントを要求しなければ、前
記リテラル値は0となり、また実際のアーギュメントを
表わす名前のリストは空になろう。
メントに対するポインタに対して評価する名前リスト。
もし手順602がアーギュメントを要求しなければ、前
記リテラル値は0となり、また実際のアーギュメントを
表わす名前のリストは空になろう。
【1309】本実施例においては、呼出された手順60
2が呼出し側の手順602とは異なるPED30303
を有する時は常に、仲介呼出しおよび戻しSINが使用
される。この場合、呼出しはFPおよびPC以外のマク
ロ状態を保管して再計算しなければならず、KOS呼出
しマイクロコードによる仲介を必要とする。KOS呼出
しマイクロコードが呼出しを仲介する方法は、呼出しが
簡単な仲介呼出しか、または交差手順オブジェクト呼出
しか、または交差領域呼出しかに依存する。
2が呼出し側の手順602とは異なるPED30303
を有する時は常に、仲介呼出しおよび戻しSINが使用
される。この場合、呼出しはFPおよびPC以外のマク
ロ状態を保管して再計算しなければならず、KOS呼出
しマイクロコードによる仲介を必要とする。KOS呼出
しマイクロコードが呼出しを仲介する方法は、呼出しが
簡単な仲介呼出しか、または交差手順オブジェクト呼出
しか、または交差領域呼出しかに依存する。
【1310】b.b.簡単な仲介呼出し(図270,図
468,図469,図470,図471,図472) 仲介呼出し制御SINが実行される時、Sインタプリタ
・マイクロコードは最初に呼出された手順602の場所
を表わす名前を評価する。名前は局所ゲート47205
に対するポインタ、または別の手順オブジェクト609
においてはゲート4707に対するポインタ、または本
手順オブジェクト608においてはエントリ記述子47
227に対するポインタに対して評価することができ
る。名前が評価される時、Sインタプリタ呼出しマイク
ロコードは評価された名前をアーギュメントとして使用
してKOS呼出しマイクロコードを呼出す。このマイク
ロコードは最初に、その時の呼出しのSSフレーム47
003において今まで空白の状態で残されたマクロ状態
10516において充満状態となる。このマイクロコー
ドは、仲介呼出しを実行中のプロセス610の仮想プロ
セッサ612がJP10114に対し束縛される間、こ
れらのフィールドが維持されるFU10120において
レジスタからこれらフィールドに対する値を得る。
468,図469,図470,図471,図472) 仲介呼出し制御SINが実行される時、Sインタプリタ
・マイクロコードは最初に呼出された手順602の場所
を表わす名前を評価する。名前は局所ゲート47205
に対するポインタ、または別の手順オブジェクト609
においてはゲート4707に対するポインタ、または本
手順オブジェクト608においてはエントリ記述子47
227に対するポインタに対して評価することができ
る。名前が評価される時、Sインタプリタ呼出しマイク
ロコードは評価された名前をアーギュメントとして使用
してKOS呼出しマイクロコードを呼出す。このマイク
ロコードは最初に、その時の呼出しのSSフレーム47
003において今まで空白の状態で残されたマクロ状態
10516において充満状態となる。このマイクロコー
ドは、仲介呼出しを実行中のプロセス610の仮想プロ
セッサ612がJP10114に対し束縛される間、こ
れらのフィールドが維持されるFU10120において
レジスタからこれらフィールドに対する値を得る。
【1311】KOS呼出しマイクロコードがSインタプ
リタ呼出しマイクロコードから受取ったかどうかを判定
する次のステップは外部手順に対するポインタである。
この判定を行なうため、KOS呼出しマイクロコード
は、ポインタのAON41304の呼出しを行なう手順
602に対する手順オブジェクト608のAONと比較
する。もしこれらが異なれば、この呼出しは以下に述べ
る交差手順オブジェクト呼出しである。簡単な仲介呼出
しの場合は、フォーマット・フィールドはこの場所がエ
ントリ記述子47227であることを表示する。KOS
呼出しマイクロコードは、エントリ記述子47227の
場所を保管しかつその時のMASオブジェクト4670
3に関して新たな仲介フレーム46947および呼出さ
れた手順602に対するSS10336に関する新たな
通常のフレーム10510を増大させることによって継
続する。KOS呼出しマイクロコードがこれを行なう
時、これはKOSフレーム・ヘッダ10414における
フィールド46917と46919、および通常のSS
フレーム・ヘッダ10514におけるフィールド471
09と47111を、MASオブジェクト46703お
よびSSオブジェクト10336に対するフレームの付
加によって必要とされる値にセットする。
リタ呼出しマイクロコードから受取ったかどうかを判定
する次のステップは外部手順に対するポインタである。
この判定を行なうため、KOS呼出しマイクロコード
は、ポインタのAON41304の呼出しを行なう手順
602に対する手順オブジェクト608のAONと比較
する。もしこれらが異なれば、この呼出しは以下に述べ
る交差手順オブジェクト呼出しである。簡単な仲介呼出
しの場合は、フォーマット・フィールドはこの場所がエ
ントリ記述子47227であることを表示する。KOS
呼出しマイクロコードは、エントリ記述子47227の
場所を保管しかつその時のMASオブジェクト4670
3に関して新たな仲介フレーム46947および呼出さ
れた手順602に対するSS10336に関する新たな
通常のフレーム10510を増大させることによって継
続する。KOS呼出しマイクロコードがこれを行なう
時、これはKOSフレーム・ヘッダ10414における
フィールド46917と46919、および通常のSS
フレーム・ヘッダ10514におけるフィールド471
09と47111を、MASオブジェクト46703お
よびSSオブジェクト10336に対するフレームの付
加によって必要とされる値にセットする。
【1312】新たな仲介フレーム46947はこの時呼
出しにおいて使用される実際のアーギュメントに対する
連係ポインタ10416に対する用意があり、そのため
KOS呼出しマイクロコードはSインタプリタ呼出しマ
イクロコードに戻り、これによりSINを分析してアー
ギュメント数を規定するリテラル値を得、このリテラル
値を保管する。次にSインタプリタ呼出しマイクロコー
ドは各アーギュメント名前を分析し、これを評価し、か
つその関係を連係ポインタ10416に置く。連係ポイ
ンタ10416が完了した時、Sインタプリタ呼出しマ
イクロコードはこの新たなFPの場所を連係ポインタ1
0416の最上位の場所から計算して、FPに対して留
保されたFU10120のレジスタにおける場所に対す
るポインタを置く。この時、Sインタプリタ呼出しマイ
クロコードもまたスタック最上位オフセット・フィール
ド46807にスタックの最上位の新たな場所を置くの
である。
出しにおいて使用される実際のアーギュメントに対する
連係ポインタ10416に対する用意があり、そのため
KOS呼出しマイクロコードはSインタプリタ呼出しマ
イクロコードに戻り、これによりSINを分析してアー
ギュメント数を規定するリテラル値を得、このリテラル
値を保管する。次にSインタプリタ呼出しマイクロコー
ドは各アーギュメント名前を分析し、これを評価し、か
つその関係を連係ポインタ10416に置く。連係ポイ
ンタ10416が完了した時、Sインタプリタ呼出しマ
イクロコードはこの新たなFPの場所を連係ポインタ1
0416の最上位の場所から計算して、FPに対して留
保されたFU10120のレジスタにおける場所に対す
るポインタを置く。この時、Sインタプリタ呼出しマイ
クロコードもまたスタック最上位オフセット・フィール
ド46807にスタックの最上位の新たな場所を置くの
である。
【1313】次に、Sインタプリタ呼出しマイクロコー
ドはKOS呼出しマイクロコードを呼出して、MASフ
レーム・フレーム46929においてアーギュメント番
号を指定するリテラル値を置き、FHP46702の新
たな値を計算し、これをその値に対して留保されたFU
10120のレジスタに置き、最終に呼出された手順6
02のエントリ記述子47227とPED30303か
ら呼出された手順602を実行するため必要な状態を得
る。前述の如く、Sインタプリタ呼出しマイクロコード
はエントリ記述子47227の場所を保管している。こ
の場所を用いて、KOS呼出しマイクロコードはフィー
ルド47233からの局所データに必要な記憶域のサイ
ズを得て、その記憶量を新たなMASフレーム4670
9に加算する。次に、KOS呼出しマイクロコードはP
EDオフセット・フィールド47231を用いて手順6
02に対するPED30303を見出す。PED303
03は手順602に関する必要な情報の残りを保有し、
KOS呼出しマイクロコードはPED30303の場所
をPEDポインタ・フィールド46933にコピーし、
次いでKフィールド30305と、LNフィールド30
307と、SDPR30317とPBPフィールド30
315の値をFU10120における関連するレジスタ
にコピーする。次に、第3章に説明したように、KOS
呼出しマイクロコードはSIPフィールド30309に
おけるポインタをあるダイアレクト番号に翻訳し、これ
をFU10120のレジスタRDIAL24212に置
き、これと同時に、SDPR303173 3における
ポインタを解明することによりSDPを駆動し、またS
DPR30317 6におけるポインタを解明すること
により静的データ・ブロック46864に対するポイン
タを駆動する。これらの操作を実施して、KOS呼出し
マイクロコードはSインタプリタ要求しマイクロコード
に戻り、これにより新たなPCを得ることにより、即ち
取出すべき次のSINが呼出された手順602の最初の
SINとなるようにFU10120における命令ストリ
ームリーダ27001におけるレジスタをリセットする
ことにより呼出しを完了する。Sインタプリタ呼出しマ
イクロコードは、PBPから呼出された手順602の最
初のSINのオフセットを含むエントリ記述子4722
7におけるフィールド47229からPCを変更するた
め必要な情報を得る。
ドはKOS呼出しマイクロコードを呼出して、MASフ
レーム・フレーム46929においてアーギュメント番
号を指定するリテラル値を置き、FHP46702の新
たな値を計算し、これをその値に対して留保されたFU
10120のレジスタに置き、最終に呼出された手順6
02のエントリ記述子47227とPED30303か
ら呼出された手順602を実行するため必要な状態を得
る。前述の如く、Sインタプリタ呼出しマイクロコード
はエントリ記述子47227の場所を保管している。こ
の場所を用いて、KOS呼出しマイクロコードはフィー
ルド47233からの局所データに必要な記憶域のサイ
ズを得て、その記憶量を新たなMASフレーム4670
9に加算する。次に、KOS呼出しマイクロコードはP
EDオフセット・フィールド47231を用いて手順6
02に対するPED30303を見出す。PED303
03は手順602に関する必要な情報の残りを保有し、
KOS呼出しマイクロコードはPED30303の場所
をPEDポインタ・フィールド46933にコピーし、
次いでKフィールド30305と、LNフィールド30
307と、SDPR30317とPBPフィールド30
315の値をFU10120における関連するレジスタ
にコピーする。次に、第3章に説明したように、KOS
呼出しマイクロコードはSIPフィールド30309に
おけるポインタをあるダイアレクト番号に翻訳し、これ
をFU10120のレジスタRDIAL24212に置
き、これと同時に、SDPR303173 3における
ポインタを解明することによりSDPを駆動し、またS
DPR30317 6におけるポインタを解明すること
により静的データ・ブロック46864に対するポイン
タを駆動する。これらの操作を実施して、KOS呼出し
マイクロコードはSインタプリタ要求しマイクロコード
に戻り、これにより新たなPCを得ることにより、即ち
取出すべき次のSINが呼出された手順602の最初の
SINとなるようにFU10120における命令ストリ
ームリーダ27001におけるレジスタをリセットする
ことにより呼出しを完了する。Sインタプリタ呼出しマ
イクロコードは、PBPから呼出された手順602の最
初のSINのオフセットを含むエントリ記述子4722
7におけるフィールド47229からPCを変更するた
め必要な情報を得る。
【1314】本実施例においては、仲介された呼出しS
INにより生成されたあるFU10120の状態は、手
順602の呼出し期間中504に保持される。保管され
た状態は、もし呼出された手順602が実行を開始する
前に呼出しが失敗するならば、プロセス610が仲介呼
出しを再び試みることを許容する。仲介戻しSINが実
行される時、これはCALL SINTから保持された
状態に関する実行を再開する。仲介された戻しは呼出し
よりも遥かに簡単である。この呼出しを実施した呼出し
の実行を再開するため必要な情報の全てが呼出し側のS
Sフレーム47003におけるマクロ状態10516に
保持されるため、戻し操作はその時のMASオブジェク
ト46703およびSS10336から呼出された呼出
しフレームをポップし、マクロ状態10516の471
23を呼出し側のSSフレーム47003から適正なF
U10120のレジスタに対してコピーし、SIP値4
7141をダイアレクト番号に翻訳し、呼出し操作の実
行を再開する。このポップ操作は、ポインタがこの時新
たな最上位のフレームにおける相当場所を指示するよう
に、元の最上位フレームにおける場所を指示したMAS
オブジェクト46703およびSS10336における
ポインタを更新以外は一切生じない。
INにより生成されたあるFU10120の状態は、手
順602の呼出し期間中504に保持される。保管され
た状態は、もし呼出された手順602が実行を開始する
前に呼出しが失敗するならば、プロセス610が仲介呼
出しを再び試みることを許容する。仲介戻しSINが実
行される時、これはCALL SINTから保持された
状態に関する実行を再開する。仲介された戻しは呼出し
よりも遥かに簡単である。この呼出しを実施した呼出し
の実行を再開するため必要な情報の全てが呼出し側のS
Sフレーム47003におけるマクロ状態10516に
保持されるため、戻し操作はその時のMASオブジェク
ト46703およびSS10336から呼出された呼出
しフレームをポップし、マクロ状態10516の471
23を呼出し側のSSフレーム47003から適正なF
U10120のレジスタに対してコピーし、SIP値4
7141をダイアレクト番号に翻訳し、呼出し操作の実
行を再開する。このポップ操作は、ポインタがこの時新
たな最上位のフレームにおける相当場所を指示するよう
に、元の最上位フレームにおける場所を指示したMAS
オブジェクト46703およびSS10336における
ポインタを更新以外は一切生じない。
【1315】c.c.SEB46864を要求する手順
602の呼出し(図270,図468,図469,図4
70,図471,図472) もし手順602が静的データ・ブロック46864を要
求するならば、この事実は手順602のエントリ記述子
47227におけるフラッグ・フィールド47237に
より表示される。このような手順602に対するPED
30303はSEPPフィールド47225を含み、そ
の値は解明不能なポインタである。手順602およびS
EPPフィールド47225に対して静的データ・ブロ
ック46864が形成される方法は、SEP即ち静的デ
ータ・ブロック46864の場所を含むポインタに転換
され、SS10336における呼出しマクロ状態の一部
として保管され、静的データ・ブロック46863が形
成される方法に類似し、SEPPフィールド47225
5に含まれる解明不能なポインタがSDPに転換され
る。静的データ・ブロック46864を要求するある手
順602が最初にMASオブジェクト46703に関し
て呼出される時、静的データ・ブロック46864は手
順602に対して形成され、SEPPフィールド472
25 5における解明不能なポインタと静的データ・ブ
ロック46864の場所を関連させるAATE4685
7が生成される。この場所は、MASオブジェクト46
703に関して手順が実行中のSEPの値である。手順
602の以降の呼出しと同時に、AATE46857は
SEPPフィールド47225におけるこの値をSEP
に転送するよう作用する。
602の呼出し(図270,図468,図469,図4
70,図471,図472) もし手順602が静的データ・ブロック46864を要
求するならば、この事実は手順602のエントリ記述子
47227におけるフラッグ・フィールド47237に
より表示される。このような手順602に対するPED
30303はSEPPフィールド47225を含み、そ
の値は解明不能なポインタである。手順602およびS
EPPフィールド47225に対して静的データ・ブロ
ック46864が形成される方法は、SEP即ち静的デ
ータ・ブロック46864の場所を含むポインタに転換
され、SS10336における呼出しマクロ状態の一部
として保管され、静的データ・ブロック46863が形
成される方法に類似し、SEPPフィールド47225
5に含まれる解明不能なポインタがSDPに転換され
る。静的データ・ブロック46864を要求するある手
順602が最初にMASオブジェクト46703に関し
て呼出される時、静的データ・ブロック46864は手
順602に対して形成され、SEPPフィールド472
25 5における解明不能なポインタと静的データ・ブ
ロック46864の場所を関連させるAATE4685
7が生成される。この場所は、MASオブジェクト46
703に関して手順が実行中のSEPの値である。手順
602の以降の呼出しと同時に、AATE46857は
SEPPフィールド47225におけるこの値をSEP
に転送するよう作用する。
【1316】d.d.交差手順オブジェクト呼出し(図
270,図468,図469,図470,図471,図
472) 外部手順602を呼出す仲介呼出しは交差手順オブジェ
クト呼出しと呼ばれる。前述の如く、KOS呼出しマイ
クロコードは、常にある仲介呼出しSINにおける呼出
された手順602を表わす名前がこの呼出しが外部の手
順602に対することをあるゲートの場所に対して解く
ことを前提とする。新たに呼出された外部手順602が
呼出し側の手順602と同じDOEを有する限り、交差
手順オブジェクト呼出しは、呼出された手順602のエ
ントリ記述子47227が見出される方法においてのみ
簡単な仲介呼出しと異なる。一旦KOS呼出しマイクロ
コードが前述の如く、仲介呼出しが交差手順オブジェク
ト呼出しであると判定すると、これは次に交差領域呼出
しであるかどうかを判定する。そのためには、KOS呼
出しマイクロコードは呼出された手順602の手順オブ
ジェクト608のDOE属性をその時の主題の領域構成
要素と比較する。KOS呼出しマイクロコードは手順オ
ブジェクト608のAON41304を用いてそのAO
TE41306のフィールド41521から手順オブジ
ェクト608のDOEを得、またこれはあるFU101
20のレジスタに記憶されたその時の主題に対するAS
Nを用いて、10914からのその時の主題の領域構成
要素を得る。もしこのDOEとその時の領域構成要素が
異なるならば、この呼出しは以下に述べる交差領域呼出
しであり、さもなければ、この呼出しはその手順オブジ
ェクト608における呼出された手順602に対する評
価された名前により指定されるゲート47205または
47206を見出す。もしこのゲートが局所ゲート47
205であれば、この呼出しはエントリ記述子オフセッ
ト・フィールド47207を用いて呼出された手順60
2に帰属するエントリ記述子47227を見出し、次い
で簡単な仲介呼出しの議論において説明した如く進行す
る。
270,図468,図469,図470,図471,図
472) 外部手順602を呼出す仲介呼出しは交差手順オブジェ
クト呼出しと呼ばれる。前述の如く、KOS呼出しマイ
クロコードは、常にある仲介呼出しSINにおける呼出
された手順602を表わす名前がこの呼出しが外部の手
順602に対することをあるゲートの場所に対して解く
ことを前提とする。新たに呼出された外部手順602が
呼出し側の手順602と同じDOEを有する限り、交差
手順オブジェクト呼出しは、呼出された手順602のエ
ントリ記述子47227が見出される方法においてのみ
簡単な仲介呼出しと異なる。一旦KOS呼出しマイクロ
コードが前述の如く、仲介呼出しが交差手順オブジェク
ト呼出しであると判定すると、これは次に交差領域呼出
しであるかどうかを判定する。そのためには、KOS呼
出しマイクロコードは呼出された手順602の手順オブ
ジェクト608のDOE属性をその時の主題の領域構成
要素と比較する。KOS呼出しマイクロコードは手順オ
ブジェクト608のAON41304を用いてそのAO
TE41306のフィールド41521から手順オブジ
ェクト608のDOEを得、またこれはあるFU101
20のレジスタに記憶されたその時の主題に対するAS
Nを用いて、10914からのその時の主題の領域構成
要素を得る。もしこのDOEとその時の領域構成要素が
異なるならば、この呼出しは以下に述べる交差領域呼出
しであり、さもなければ、この呼出しはその手順オブジ
ェクト608における呼出された手順602に対する評
価された名前により指定されるゲート47205または
47206を見出す。もしこのゲートが局所ゲート47
205であれば、この呼出しはエントリ記述子オフセッ
ト・フィールド47207を用いて呼出された手順60
2に帰属するエントリ記述子47227を見出し、次い
で簡単な仲介呼出しの議論において説明した如く進行す
る。
【1317】もしゲートがリンク・ゲート47206な
らば、KOS呼出しマイクロコードは47245からリ
ンク・ゲート47206と対応するポインタを得、これ
を解いて別な局所ゲート47205またはリンク・ゲー
ト47206に対するポインタを得るが、これは以上に
説明した外部手順602の呼出しの反復のためKOS呼
出しマイクロコードが使用する。この反復操作は、新た
に見出されたゲートが局所ゲート47205であるまで
継続し、これと同時に呼出しは前述の如く簡単な仲介呼
出しに進行する。
らば、KOS呼出しマイクロコードは47245からリ
ンク・ゲート47206と対応するポインタを得、これ
を解いて別な局所ゲート47205またはリンク・ゲー
ト47206に対するポインタを得るが、これは以上に
説明した外部手順602の呼出しの反復のためKOS呼
出しマイクロコードが使用する。この反復操作は、新た
に見出されたゲートが局所ゲート47205であるまで
継続し、これと同時に呼出しは前述の如く簡単な仲介呼
出しに進行する。
【1318】e.e.交差領域呼出し(図270,図4
08,図418,図468,図469,図470,図4
71,図472) もし呼出された手順602の手順オブジェクト608が
呼出し側の手順602の手順オブジェクト608のDO
E属性と異なるDOE属性を有するならば、この呼出し
は交差領域呼出しである。KOS呼出しマイクロコード
が仲介呼出しが交差領域呼出しであることを判定する手
段については前に説明したが、もしこの呼出しが交差領
域呼出しであれば、KOS呼出しマイクロコードは、呼
出しがなされる領域に対するMASオブジェクト467
03を消勢し、トロイの木馬論議を実施し、主題切換
え、SS10336に交差領域フレーム47039と置
き、新たなMASオブジェクト46703に関して仲介
フレーム46947を行なって簡単な仲介呼出しの論議
において説明したように継続できる前に、新たな領域に
対するMASオブジェクト46703を見出してこれを
活性化しなければならない。
08,図418,図468,図469,図470,図4
71,図472) もし呼出された手順602の手順オブジェクト608が
呼出し側の手順602の手順オブジェクト608のDO
E属性と異なるDOE属性を有するならば、この呼出し
は交差領域呼出しである。KOS呼出しマイクロコード
が仲介呼出しが交差領域呼出しであることを判定する手
段については前に説明したが、もしこの呼出しが交差領
域呼出しであれば、KOS呼出しマイクロコードは、呼
出しがなされる領域に対するMASオブジェクト467
03を消勢し、トロイの木馬論議を実施し、主題切換
え、SS10336に交差領域フレーム47039と置
き、新たなMASオブジェクト46703に関して仲介
フレーム46947を行なって簡単な仲介呼出しの論議
において説明したように継続できる前に、新たな領域に
対するMASオブジェクト46703を見出してこれを
活性化しなければならない。
【1319】交差領域呼出しマイクロコードは最初に、
領域活動状態フラッグ46804を誤りにセットするこ
とによってその時のMASオブジェクト46703を活
性化する。次のステップは、トロイの木馬アーギュメン
トの検査である。トロイの木馬アーギュメント検査を行
なうため、交差領域呼出し操作は交差領域呼出しにおい
て使用される実際のアーギュメントに対するポインタを
持たねばならない。その結果、交差領域呼出し操作は最
初に非交差領域呼出しの如く継続し、元のMASオブジ
ェクト46703に関する仲介フレーム・ヘッダ104
14を形成し、Sインタプリタ・マイクロコードに戻
し、これが実際のアーギュメントの名前を評価し、連係
ポインタ10416のポインタを仲介フレーム・ヘッダ
10414に置く。しかし、この呼出しを実施する呼出
しに対するマクロ状態は、KOSフレーム・ヘッダ10
414と連係ポインタ10416が元のMASオブジェ
クト46703に置かれる前にSS10336に置かれ
ている。その結果、呼出し側の手順602は戻りの後実
行を再開する時、これは交差領域呼出しマイクロコード
により構成されるものより先行するMASフレーム46
709と同時に再開することになる。
領域活動状態フラッグ46804を誤りにセットするこ
とによってその時のMASオブジェクト46703を活
性化する。次のステップは、トロイの木馬アーギュメン
トの検査である。トロイの木馬アーギュメント検査を行
なうため、交差領域呼出し操作は交差領域呼出しにおい
て使用される実際のアーギュメントに対するポインタを
持たねばならない。その結果、交差領域呼出し操作は最
初に非交差領域呼出しの如く継続し、元のMASオブジ
ェクト46703に関する仲介フレーム・ヘッダ104
14を形成し、Sインタプリタ・マイクロコードに戻
し、これが実際のアーギュメントの名前を評価し、連係
ポインタ10416のポインタを仲介フレーム・ヘッダ
10414に置く。しかし、この呼出しを実施する呼出
しに対するマクロ状態は、KOSフレーム・ヘッダ10
414と連係ポインタ10416が元のMASオブジェ
クト46703に置かれる前にSS10336に置かれ
ている。その結果、呼出し側の手順602は戻りの後実
行を再開する時、これは交差領域呼出しマイクロコード
により構成されるものより先行するMASフレーム46
709と同時に再開することになる。
【1320】一旦実際のアーギュメントに対するポイン
タが使用可能となると、交差領域呼出しマイクロコード
はトロイの木馬検査を実施する。手順オブジェクト60
8の論議において述べまた図472において示したよう
に、この検査の実施に必要な情報はアーギュメント情報
アレイ10352に含まれる。手順オブジェクト608
における各論理ゲート47205はAIAE47245
を有する。論理ゲート47205の手順における正規の
各アーギュメントAIAE47245のフィールド47
251におけるエントリを有し、また前者のアーギュメ
ントのAMAE47253は、正規のアーギュメントの
実際のアーギュメントに対してどんな種類のアクセスが
呼出された手順602において要求されるかを表示す
る。
タが使用可能となると、交差領域呼出しマイクロコード
はトロイの木馬検査を実施する。手順オブジェクト60
8の論議において述べまた図472において示したよう
に、この検査の実施に必要な情報はアーギュメント情報
アレイ10352に含まれる。手順オブジェクト608
における各論理ゲート47205はAIAE47245
を有する。論理ゲート47205の手順における正規の
各アーギュメントAIAE47245のフィールド47
251におけるエントリを有し、また前者のアーギュメ
ントのAMAE47253は、正規のアーギュメントの
実際のアーギュメントに対してどんな種類のアクセスが
呼出された手順602において要求されるかを表示す
る。
【1321】フィールドAIA OFF47201は手
順オブジェクト608におけるアーギュメント情報アレ
イ10352の場所を含んでおり、この情報および手順
オブジェクト608における論理ゲート47205のオ
フセットを用いて、交差領域呼出しマイクロコードが論
理ゲート47205に対するAIAE47245を見出
す。AIAE47245における最初の2つのフィール
ドは、呼出しにおける最小数のアーギュメントおよび最
大数のアーギュメントを含む。交差領域呼出しマイクロ
コードは、実際のアーギュメントがこれらの値の間に該
当するかどうかを検査する。もしそうであれば、交差領
域呼出しマイクロコードはアクセスが許された個々のア
ーギュメントの桁送りを開始する。各アーギュメントの
ポインタ毎に、交差領域呼出しマイクロコードはLAR
マイクロコードを呼出してポインタのUIDに対するそ
の時のAON41304を得、プロセス610のその時
の主題(即ち、呼出し側の主題)に対するAON413
04とASNを用いて、アーギュメントのAIAEが根
源アクセス(47255)または拡張アクセス(472
57)を夫々規定するかどうかに従ってAPAM109
18とANPAT10920のいずれかにおけるエント
リを見出す。もしAPAM10918またはANPAT
10920からの情報がプロセス610のその時の主題
が呼出された手順602において要求される方法におけ
るアーギュメントにアクセスする権利を有することを確
認するならば、「トロイの木馬」マイクロコードは次の
アーギュメントに行く。もしその時の主題が全てのアー
ギュメントに対して必要なアクセスを行なうならば、ト
ロイの木馬検査は成功し、また交差領域呼出し操作は継
続する。さもなければ、この検査は失敗し、以下に述べ
るように、交差領域呼出し操作はマイクロコード対ソフ
トウェア呼出し操作を実施する。
順オブジェクト608におけるアーギュメント情報アレ
イ10352の場所を含んでおり、この情報および手順
オブジェクト608における論理ゲート47205のオ
フセットを用いて、交差領域呼出しマイクロコードが論
理ゲート47205に対するAIAE47245を見出
す。AIAE47245における最初の2つのフィール
ドは、呼出しにおける最小数のアーギュメントおよび最
大数のアーギュメントを含む。交差領域呼出しマイクロ
コードは、実際のアーギュメントがこれらの値の間に該
当するかどうかを検査する。もしそうであれば、交差領
域呼出しマイクロコードはアクセスが許された個々のア
ーギュメントの桁送りを開始する。各アーギュメントの
ポインタ毎に、交差領域呼出しマイクロコードはLAR
マイクロコードを呼出してポインタのUIDに対するそ
の時のAON41304を得、プロセス610のその時
の主題(即ち、呼出し側の主題)に対するAON413
04とASNを用いて、アーギュメントのAIAEが根
源アクセス(47255)または拡張アクセス(472
57)を夫々規定するかどうかに従ってAPAM109
18とANPAT10920のいずれかにおけるエント
リを見出す。もしAPAM10918またはANPAT
10920からの情報がプロセス610のその時の主題
が呼出された手順602において要求される方法におけ
るアーギュメントにアクセスする権利を有することを確
認するならば、「トロイの木馬」マイクロコードは次の
アーギュメントに行く。もしその時の主題が全てのアー
ギュメントに対して必要なアクセスを行なうならば、ト
ロイの木馬検査は成功し、また交差領域呼出し操作は継
続する。さもなければ、この検査は失敗し、以下に述べ
るように、交差領域呼出し操作はマイクロコード対ソフ
トウェア呼出し操作を実施する。
【1322】次に、交差領域呼出しマイクロコードはS
S10336に交差領域状態10513を置く。SS1
0336の論議において説明したように、交差領域状態
10513は前のMASオブジェクト46703に関す
る呼出し側のフレームへ戻るため必要な情報を含む。こ
れが終ると、交差領域呼出しマイクロコードは主題を変
更する。その時の主題のASNを用いて、交差領域呼出
しマイクロコードはAST10914からその時の主題
を得て、呼出された手順602の手順オブジェクト60
8に対する属性41225を含む主題の領域構成要素を
置換し、AST10914を用いてこのように得た新た
な主題を新たなASNに翻訳する。このASNは次に適
当なFU10120のレジスタに置かれる。
S10336に交差領域状態10513を置く。SS1
0336の論議において説明したように、交差領域状態
10513は前のMASオブジェクト46703に関す
る呼出し側のフレームへ戻るため必要な情報を含む。こ
れが終ると、交差領域呼出しマイクロコードは主題を変
更する。その時の主題のASNを用いて、交差領域呼出
しマイクロコードはAST10914からその時の主題
を得て、呼出された手順602の手順オブジェクト60
8に対する属性41225を含む主題の領域構成要素を
置換し、AST10914を用いてこのように得た新た
な主題を新たなASNに翻訳する。このASNは次に適
当なFU10120のレジスタに置かれる。
【1323】主題が変更された後、交差領域呼出しマイ
クロコードは領域テーブル41801を用いて呼出され
た手順602のDOEを領域番号に翻訳する。交差領域
呼出しマイクロコードは次に、交差領域呼出しを行なう
プロセス610に帰属する仮想プロセッサ612に対す
るVPSB614におけるMAS AON46211の
アレイに対する指標として領域番号を使用する。領域と
対応するエントリは、この領域に対するMASオブジェ
クト46703のAON41304を含む。
クロコードは領域テーブル41801を用いて呼出され
た手順602のDOEを領域番号に翻訳する。交差領域
呼出しマイクロコードは次に、交差領域呼出しを行なう
プロセス610に帰属する仮想プロセッサ612に対す
るVPSB614におけるMAS AON46211の
アレイに対する指標として領域番号を使用する。領域と
対応するエントリは、この領域に対するMASオブジェ
クト46703のAON41304を含む。
【1324】適正なMASオブジェクト46703を見
出して、交差領域呼出しマイクロコードは新たな領域の
MASオブジェクト46703に帰属するKOS MA
Sヘッダ10410におけるSTOフィールド4680
7を用いて、最後のMASフレーム46709の最上位
を見出す。これは次に、FU10120のあるレジスタ
における前の呼出しにおいて使用された46702の値
を保管し、仲介フレーム・ヘッダ10414をMASオ
ブジェクト46703の最上位に加算し、新たな仲介フ
レーム・ヘッダ10414を指示する新たなFHP46
702を計算する。次に、KOS交差領域呼出しマイク
ロコードはFHP46702の元の値をSS10336
のFHP値フィールド47151に、またSTO467
09の元の値(前のMASオブジェクト46703に関
する最後の完全なMASフレーム46709の最上位を
指示する)を交差領域状態10513のフィールド47
153に置き、下記の如く仲介KOSフレーム・ヘッダ
10414に充填し、交差領域呼出しフィールド469
03の結果は真にセットされ、前のフレーム・オフセッ
ト・フィールド46903は0にセットされ、動的バッ
ク・ポインタ・フィールド46931はFHP4670
2の保管された値にセットされる。このように、動的バ
ック・ポインタ・フィールド46931は前のMASオ
ブジェクト46703に関する最上位の仲介フレーム4
6947のヘッダを指示する。残るフィールドの値は、
交差領域呼出し操作が前のMASオブジェクト4670
3において形成した仲介KOSフレーム・ヘッダ104
14からコピーされる。
出して、交差領域呼出しマイクロコードは新たな領域の
MASオブジェクト46703に帰属するKOS MA
Sヘッダ10410におけるSTOフィールド4680
7を用いて、最後のMASフレーム46709の最上位
を見出す。これは次に、FU10120のあるレジスタ
における前の呼出しにおいて使用された46702の値
を保管し、仲介フレーム・ヘッダ10414をMASオ
ブジェクト46703の最上位に加算し、新たな仲介フ
レーム・ヘッダ10414を指示する新たなFHP46
702を計算する。次に、KOS交差領域呼出しマイク
ロコードはFHP46702の元の値をSS10336
のFHP値フィールド47151に、またSTO467
09の元の値(前のMASオブジェクト46703に関
する最後の完全なMASフレーム46709の最上位を
指示する)を交差領域状態10513のフィールド47
153に置き、下記の如く仲介KOSフレーム・ヘッダ
10414に充填し、交差領域呼出しフィールド469
03の結果は真にセットされ、前のフレーム・オフセッ
ト・フィールド46903は0にセットされ、動的バッ
ク・ポインタ・フィールド46931はFHP4670
2の保管された値にセットされる。このように、動的バ
ック・ポインタ・フィールド46931は前のMASオ
ブジェクト46703に関する最上位の仲介フレーム4
6947のヘッダを指示する。残るフィールドの値は、
交差領域呼出し操作が前のMASオブジェクト4670
3において形成した仲介KOSフレーム・ヘッダ104
14からコピーされる。
【1325】次に、交差領域呼出しマイクロコードは、
前のMASオブジェクト46703の最上位から新たな
仲介フレーム46947に対して正規のアーギュメント
に対するアーギュメント・ポインタをコピーしてFPを
計算する。交差領域呼出しマイクロコードはSインタプ
リタ呼出しマイクロコードに戻すことにより完了し、こ
れにより簡単な仲介呼出しについて説明したように呼出
し操作を完了する。
前のMASオブジェクト46703の最上位から新たな
仲介フレーム46947に対して正規のアーギュメント
に対するアーギュメント・ポインタをコピーしてFPを
計算する。交差領域呼出しマイクロコードはSインタプ
リタ呼出しマイクロコードに戻すことにより完了し、こ
れにより簡単な仲介呼出しについて説明したように呼出
し操作を完了する。
【1326】新たなMASオブジェクト46703に対
する転送において関与する仕事を除き、交差領域戻し操
作は仲介呼出しからの他の戻し操作と類似する。交差領
域状態10513のフィールド47151からの元のF
HP46701と、交差領域状態のフィールド4715
3から元のSTO46704はFU10120のレジス
タに置かれる。次に、終了しつつある呼出しに帰属する
フレームは、SS10336から、また呼出された手順
602の領域に帰属するMASオブジェクト46703
からポップされ、MASオブジェクト46703は領域
活動状態フラッグ46804を誤りにセットすることに
よって不活性化される。次に、KOS交差領域戻しマイ
クロコードは元のFHP46701と元のSTO467
04を用いて、戻りの過程にあるMASオブジェクト4
6703およびこのMASオブジェクト46703にあ
る最上位の仲介フレーム46947を見出す。戻りの過
程にあるMASオブジェクト46703は活性化され、
最後に戻しの過程にある呼出しに帰属するマクロ状態1
0516の内容反復的FU10120の適当なレジスタ
に置かれて、呼出し操作の実行が再開する。
する転送において関与する仕事を除き、交差領域戻し操
作は仲介呼出しからの他の戻し操作と類似する。交差領
域状態10513のフィールド47151からの元のF
HP46701と、交差領域状態のフィールド4715
3から元のSTO46704はFU10120のレジス
タに置かれる。次に、終了しつつある呼出しに帰属する
フレームは、SS10336から、また呼出された手順
602の領域に帰属するMASオブジェクト46703
からポップされ、MASオブジェクト46703は領域
活動状態フラッグ46804を誤りにセットすることに
よって不活性化される。次に、KOS交差領域戻しマイ
クロコードは元のFHP46701と元のSTO467
04を用いて、戻りの過程にあるMASオブジェクト4
6703およびこのMASオブジェクト46703にあ
る最上位の仲介フレーム46947を見出す。戻りの過
程にあるMASオブジェクト46703は活性化され、
最後に戻しの過程にある呼出しに帰属するマクロ状態1
0516の内容反復的FU10120の適当なレジスタ
に置かれて、呼出し操作の実行が再開する。
【1327】f.f.失敗した交差領域呼出し操作(図
270,図468,図469,図470,図471,図
472) 以上述べたように、交差領域呼出し操作は、呼出し側の
呼出し操作が呼出しを開始する時から呼出された手順6
02が実行を開始する時の間のいくつかの時点において
失敗を生じ得る。失敗と同時に、交差領域呼出しマイク
ロコードはマイクロコード対ソフトウェア呼出しを実施
する。この呼出しにより生じたKOS手順602は交差
領域呼出し操作の失敗の理由を処置して交差領域呼出し
操作を再開することができる。このことは、CS101
10における交差領域呼出しの構成がFU10120の
十分な状態を保管して、交差領域呼出し操作を実行中の
プロセス610が呼出し操作および交差領域呼出し操作
が開始した仲介呼出しSINに戻ることを許容するため
可能である。失敗と同時に、呼出しのMASフレーム4
6709は交差領域状態10513におけるフィールド
47153とフィールド47151の値から見出すこと
ができ、また仲介呼出しSINはFU10120の状態
に保管された情報を用いることによって見出すことがで
きる。
270,図468,図469,図470,図471,図
472) 以上述べたように、交差領域呼出し操作は、呼出し側の
呼出し操作が呼出しを開始する時から呼出された手順6
02が実行を開始する時の間のいくつかの時点において
失敗を生じ得る。失敗と同時に、交差領域呼出しマイク
ロコードはマイクロコード対ソフトウェア呼出しを実施
する。この呼出しにより生じたKOS手順602は交差
領域呼出し操作の失敗の理由を処置して交差領域呼出し
操作を再開することができる。このことは、CS101
10における交差領域呼出しの構成がFU10120の
十分な状態を保管して、交差領域呼出し操作を実行中の
プロセス610が呼出し操作および交差領域呼出し操作
が開始した仲介呼出しSINに戻ることを許容するため
可能である。失敗と同時に、呼出しのMASフレーム4
6709は交差領域状態10513におけるフィールド
47153とフィールド47151の値から見出すこと
ができ、また仲介呼出しSINはFU10120の状態
に保管された情報を用いることによって見出すことがで
きる。
【1328】6.隣接呼出し操作(図468,図46
9,図472) 前述の如く、隣接呼出しを介して呼出された手順602
は呼出し側の手順602と同じPED30303を持た
ねばならない。PED30303の一部でない唯一のマ
クロ状態値はPCおよびFPであり、従って、隣接呼出
し操作は、呼出しを実施する呼出し操作のPCおよびF
Pを保管してこれらの値を新たな呼出し操作のため計算
するだけで良い。更に、前の呼出し操作の隣接フレーム
46947の最上位を見出すことを容易にするため、隣
接呼出し操作はSTO46704を保管する。隣接戻し
操作は、この保管された値を単に復元するだけである。
PED30303からコピーされあるいはこれを介して
得たマクロ状態値は呼出し操作のシーケンスの間は変化
せず、従ってSS10336において保管する必要はな
い。隣接呼出し操作はSSフレーム47003を持たな
い。
9,図472) 前述の如く、隣接呼出しを介して呼出された手順602
は呼出し側の手順602と同じPED30303を持た
ねばならない。PED30303の一部でない唯一のマ
クロ状態値はPCおよびFPであり、従って、隣接呼出
し操作は、呼出しを実施する呼出し操作のPCおよびF
Pを保管してこれらの値を新たな呼出し操作のため計算
するだけで良い。更に、前の呼出し操作の隣接フレーム
46947の最上位を見出すことを容易にするため、隣
接呼出し操作はSTO46704を保管する。隣接戻し
操作は、この保管された値を単に復元するだけである。
PED30303からコピーされあるいはこれを介して
得たマクロ状態値は呼出し操作のシーケンスの間は変化
せず、従ってSS10336において保管する必要はな
い。隣接呼出し操作はSSフレーム47003を持たな
い。
【1329】本発明は、その主旨または特有の特性から
逸脱することなく更に他の特定の形態において実施する
ことができる。このため、本文に示した実施態様はあら
ゆる観点から例示的なものであって限定的なものと考え
るべきではなく、本発明の範囲は本文の記述によらずに
頭書の特許請求の範囲に示され、特許請求の範囲の相当
する意味ならびに範囲内に含まれる全ての変更は従って
本発明に包含されるものとする。
逸脱することなく更に他の特定の形態において実施する
ことができる。このため、本文に示した実施態様はあら
ゆる観点から例示的なものであって限定的なものと考え
るべきではなく、本発明の範囲は本文の記述によらずに
頭書の特許請求の範囲に示され、特許請求の範囲の相当
する意味ならびに範囲内に含まれる全ての変更は従って
本発明に包含されるものとする。
【図1】本発明の概略説明図。
【図2】本発明の概略説明図。
【図3】本発明の概略説明図。
【図4】本発明の概略説明図。
【図5】本発明の概略説明図。
【図6】本発明の概略説明図。
【図7】本発明の概略説明図。
【図8】本発明の概略説明図。
【図9】本発明の概略説明図。
【図10】本発明の概略説明図。
【図11】本発明の概略説明図。
【図12】本発明の概略説明図。
【図13】本発明の概略説明図。
【図14】本発明の概略説明図。
【図15】本発明の概略説明図。
【図16】本発明の概略説明図。
【図17】本発明の全体的構造および作用の説明図。
【図18】本発明の全体的構造および作用の説明図。
【図19】本発明の全体的構造および作用の説明図。
【図20】本発明の全体的構造および作用の説明図。
【図21】本発明の全体的構造および作用の説明図。
【図22】本発明の全体的構造および作用の説明図。
【図23】本発明の全体的構造および作用の説明図。
【図24】本発明の全体的構造および作用の説明図。
【図25】本発明の全体的構造および作用の説明図。
【図26】主要サブシステムの説明図。
【図27】主要サブシステムの説明図。
【図28】主要サブシステムの説明図。
【図29】主要サブシステムの説明図。
【図30】主要サブシステムの説明図。
【図31】主要サブシステムの説明図。
【図32】主要サブシステムの説明図。
【図33】主要サブシステムの説明図。
【図34】主要サブシステムの説明図。
【図35】主要サブシステムの説明図。
【図36】主要サブシステムの説明図。
【図37】主要サブシステムの説明図。
【図38】主要サブシステムの説明図。
【図39】主要サブシステムの説明図。
【図40】主要サブシステムの説明図。
【図41】主要サブシステムの説明図。
【図42】主要サブシステムの説明図。
【図43】主要サブシステムの説明図。
【図44】主要サブシステムの説明図。
【図45】主要サブシステムの説明図。
【図46】主要サブシステムの説明図。
【図47】主要サブシステムの説明図。
【図48】主要サブシステムの説明図。
【図49】主要サブシステムの説明図。
【図50】主要サブシステムの説明図。
【図51】主要サブシステムの説明図。
【図52】主要サブシステムの説明図。
【図53】主要サブシステムの説明図。
【図54】主要サブシステムの説明図。
【図55】主要サブシステムの説明図。
【図56】主要サブシステムの説明図。
【図57】主要サブシステムの説明図。
【図58】主要サブシステムの説明図。
【図59】主要サブシステムの説明図。
【図60】主要サブシステムの説明図。
【図61】主要サブシステムの説明図。
【図62】主要サブシステムの説明図。
【図63】主要サブシステムの説明図。
【図64】主要サブシステムの説明図。
【図65】主要サブシステムの説明図。
【図66】名前空間、Sインタプリタおよびポインタの
説明図。
説明図。
【図67】名前空間、Sインタプリタおよびポインタの
説明図。
説明図。
【図68】名前空間、Sインタプリタおよびポインタの
説明図。
説明図。
【図69】名前空間、Sインタプリタおよびポインタの
説明図。
説明図。
【図70】名前空間、Sインタプリタおよびポインタの
説明図。
説明図。
【図71】名前空間、Sインタプリタおよびポインタの
説明図。
説明図。
【図72】中心的オペレーティング・システムの説明
図。
図。
【図73】中心的オペレーティング・システムの説明
図。
図。
【図74】中心的オペレーティング・システムの説明
図。
図。
【図75】中心的オペレーティング・システムの説明
図。
図。
【図76】中心的オペレーティング・システムの説明
図。
図。
【図77】中心的オペレーティング・システムの説明
図。
図。
【図78】中心的オペレーティング・システムの説明
図。
図。
【図79】中心的オペレーティング・システムの説明
図。
図。
【図80】中心的オペレーティング・システムの説明
図。
図。
【図81】中心的オペレーティング・システムの説明
図。
図。
【図82】中心的オペレーティング・システムの説明
図。
図。
【図83】中心的オペレーティング・システムの説明
図。
図。
【図84】中心的オペレーティング・システムの説明
図。
図。
【図85】中心的オペレーティング・システムの説明
図。
図。
【図86】中心的オペレーティング・システムの説明
図。
図。
【図87】中心的オペレーティング・システムの説明
図。
図。
【図88】中心的オペレーティング・システムの説明
図。
図。
【図89】中心的オペレーティング・システムの説明
図。
図。
【図90】中心的オペレーティング・システムの説明
図。
図。
【図91】中心的オペレーティング・システムの説明
図。
図。
【図92】中心的オペレーティング・システムの説明
図。
図。
【図93】中心的オペレーティング・システムの説明
図。
図。
【図94】中心的オペレーティング・システムの説明
図。
図。
101:コンピュータ・システム(CS)、112:メ
モリー(MEM)、114:ジョブ・プロセッサ(J
P)、116:入出力システム(IOS)、120:取
出し装置(FU)、122:実行装置(EU)、12
9:MIOバス、130:IOMバス、131:IOM
Cバス、132:IOJPバス、140:MODバス、
142:JPDバス、146:PDバス、148:FU
Eバス、402:ユーザ言語命令、404:機械語命
令、406:マイクロコード命令、408:機械のハー
ドウェア、410:機械語スタック機構、412:ユー
ザ言語命令、414:SOP、416:マイクロコード
命令、418:CS101ハードウェア、420:MA
S、422:マイクロコード・スタック機構、424:
MIS、426:MOS、428:SINマイクロコー
ド、430:モニター・マイクロコード、502:MA
S、504:SS、506:GRF、508:汎用レジ
スタ、510:mCS、514:SOPスタック、60
2:手順、604:ユーザ手順オブジェクト、606:
静的データ領域、610:プロセス、612:仮想プロ
セッサ、614:VPSB、701:ユーザ、702:
コンパイラ、703:バインダ、704:EOS、70
5:S言語インタプリタ・マイクロコード、706:K
OSソフトウェア、708:KOSアーキテクチャ・イ
ンターフェース、709:ユーザ・インターフェース、
710:KOS・マイクロコード、711:インターフ
ェース、713:書込み可能制御ストア、715:名前
インタプリタ・マイクロコード、901:手順オブジェ
クト、902:スタックオブジェクト、1001:呼出
しマイクロコード、1002:PC装置、1004:レ
ジスタ、1006:手順オブジェクト、1008:マイ
クロスタックオブジェクト、1010:機密保護スタッ
クオブジェクト、1014:FUレジスタ、1011
0:コンピュータ・システム(CS)、10112:M
EM、10114:JP、10116:IOS、101
20:取出し装置(FIU)、10122:実行装置
(EU)、10124:2次記憶装置、10142:J
PDバス、10144:MODバス、10210:プロ
セス構造、10220:アドレス指定装置、1026
6:名前カッシェ装置(NC)、10228:アドレス
翻訳装置(ATU)、10234:カッシェ保護装置
(PC)、10350:NT、10358:戻り制御ワ
ード・スタック、10410:MASベース、1051
4:通常のフレーム・ヘッダ、10516:マイクロス
タック、10918:APAM、11010:FUSD
T、11012:Sインタプリタ・テーブル、2021
0:記述子プロセッサ(DESP)、20212:メモ
リー・インターフェース、20214:取出し装置制御
(FUCTL)、20216:AONプロセッサ、20
218:オフセット・プロセッサ(OFFP)、202
20:長さプロセッサ、20224:名前バス、202
28:OFFSETバス、20232:AONGRF、
20234:OFFGRF、20236:LENGR
F、20238:オフセット・セレクタ(OFFSE
L)、20240:オフセット・マルチプレクサ(OF
FMUX)、20242:OFFALU、20244:
OFFAFUSA、20246:BIAS、2024
8:AONセレクタ、20252:長さALU、202
54:NT、20256:記述子トラップ、2025
8:データ・トラップ、20262:取出し装置、20
264:取出し装置、20266:タスク指名テーブ
ル、20268:命令コード・レジスタ、27003:
SOPデコーダ、27015:名前翻訳装置、2701
7:メモリー照合装置、27019:機密保護装置、2
7021:CPC、20272:IPC、20274:
EPC、20284:事象ロジック、20288:アド
レス・ゼネレータ、20294:状態ロジック、202
96:タイマー、20310:制御ロジック、2031
2:入出力装置、20314:乗算ロジック、2031
6:指数ロジック、20318:乗算制御装置、203
20:テスト兼インターフェース・ロジック、2032
2:オペランド・バッファ、20324:最終結果出力
マルチプレクサ、20340:次のアドレス・ゼネレー
タ、20342:指令キュー、20344:Sインタプ
リタ・テーブル、20346:マイクロコード制御復号
レジスタ、20410:データ移動器、20412:入
出力制御プロセッサ、20440:入力データ・バッフ
ァ、20442:出力データ・バッファ、20444:
優先順位分解兼制御装置、20910:IOポート、2
1010:JOポート、21110:JIポート、23
812:OFFMUXR、23814:FEXT、23
816:OFFMUXFS、23818:OFFSCA
LE、23820:OFFIESENC、23822:
OFFMUXOS、24310:次のアドレス・ゼネレ
ータ、25514:事象制御記憶装置、25516:指
令キュー事象アドレス制御記憶装置、27021:DB
バス、40401:UID、40903:LAUD、4
1304:AON、44801:事象カウンタ、440
84:待機記入兼待機テーブル、46853:データ領
域、46709:MASフレーム、47001:SSベ
ース、47003:装置フレーム、47039:交差領
域装置フレーム。
モリー(MEM)、114:ジョブ・プロセッサ(J
P)、116:入出力システム(IOS)、120:取
出し装置(FU)、122:実行装置(EU)、12
9:MIOバス、130:IOMバス、131:IOM
Cバス、132:IOJPバス、140:MODバス、
142:JPDバス、146:PDバス、148:FU
Eバス、402:ユーザ言語命令、404:機械語命
令、406:マイクロコード命令、408:機械のハー
ドウェア、410:機械語スタック機構、412:ユー
ザ言語命令、414:SOP、416:マイクロコード
命令、418:CS101ハードウェア、420:MA
S、422:マイクロコード・スタック機構、424:
MIS、426:MOS、428:SINマイクロコー
ド、430:モニター・マイクロコード、502:MA
S、504:SS、506:GRF、508:汎用レジ
スタ、510:mCS、514:SOPスタック、60
2:手順、604:ユーザ手順オブジェクト、606:
静的データ領域、610:プロセス、612:仮想プロ
セッサ、614:VPSB、701:ユーザ、702:
コンパイラ、703:バインダ、704:EOS、70
5:S言語インタプリタ・マイクロコード、706:K
OSソフトウェア、708:KOSアーキテクチャ・イ
ンターフェース、709:ユーザ・インターフェース、
710:KOS・マイクロコード、711:インターフ
ェース、713:書込み可能制御ストア、715:名前
インタプリタ・マイクロコード、901:手順オブジェ
クト、902:スタックオブジェクト、1001:呼出
しマイクロコード、1002:PC装置、1004:レ
ジスタ、1006:手順オブジェクト、1008:マイ
クロスタックオブジェクト、1010:機密保護スタッ
クオブジェクト、1014:FUレジスタ、1011
0:コンピュータ・システム(CS)、10112:M
EM、10114:JP、10116:IOS、101
20:取出し装置(FIU)、10122:実行装置
(EU)、10124:2次記憶装置、10142:J
PDバス、10144:MODバス、10210:プロ
セス構造、10220:アドレス指定装置、1026
6:名前カッシェ装置(NC)、10228:アドレス
翻訳装置(ATU)、10234:カッシェ保護装置
(PC)、10350:NT、10358:戻り制御ワ
ード・スタック、10410:MASベース、1051
4:通常のフレーム・ヘッダ、10516:マイクロス
タック、10918:APAM、11010:FUSD
T、11012:Sインタプリタ・テーブル、2021
0:記述子プロセッサ(DESP)、20212:メモ
リー・インターフェース、20214:取出し装置制御
(FUCTL)、20216:AONプロセッサ、20
218:オフセット・プロセッサ(OFFP)、202
20:長さプロセッサ、20224:名前バス、202
28:OFFSETバス、20232:AONGRF、
20234:OFFGRF、20236:LENGR
F、20238:オフセット・セレクタ(OFFSE
L)、20240:オフセット・マルチプレクサ(OF
FMUX)、20242:OFFALU、20244:
OFFAFUSA、20246:BIAS、2024
8:AONセレクタ、20252:長さALU、202
54:NT、20256:記述子トラップ、2025
8:データ・トラップ、20262:取出し装置、20
264:取出し装置、20266:タスク指名テーブ
ル、20268:命令コード・レジスタ、27003:
SOPデコーダ、27015:名前翻訳装置、2701
7:メモリー照合装置、27019:機密保護装置、2
7021:CPC、20272:IPC、20274:
EPC、20284:事象ロジック、20288:アド
レス・ゼネレータ、20294:状態ロジック、202
96:タイマー、20310:制御ロジック、2031
2:入出力装置、20314:乗算ロジック、2031
6:指数ロジック、20318:乗算制御装置、203
20:テスト兼インターフェース・ロジック、2032
2:オペランド・バッファ、20324:最終結果出力
マルチプレクサ、20340:次のアドレス・ゼネレー
タ、20342:指令キュー、20344:Sインタプ
リタ・テーブル、20346:マイクロコード制御復号
レジスタ、20410:データ移動器、20412:入
出力制御プロセッサ、20440:入力データ・バッフ
ァ、20442:出力データ・バッファ、20444:
優先順位分解兼制御装置、20910:IOポート、2
1010:JOポート、21110:JIポート、23
812:OFFMUXR、23814:FEXT、23
816:OFFMUXFS、23818:OFFSCA
LE、23820:OFFIESENC、23822:
OFFMUXOS、24310:次のアドレス・ゼネレ
ータ、25514:事象制御記憶装置、25516:指
令キュー事象アドレス制御記憶装置、27021:DB
バス、40401:UID、40903:LAUD、4
1304:AON、44801:事象カウンタ、440
84:待機記入兼待機テーブル、46853:データ領
域、46709:MASフレーム、47001:SSベ
ース、47003:装置フレーム、47039:交差領
域装置フレーム。
───────────────────────────────────────────────────── フロントページの続き (31)優先権主張番号 266408 (32)優先日 1981年5月22日 (33)優先権主張国 米国(US) (31)優先権主張番号 266409 (32)優先日 1981年5月22日 (33)優先権主張国 米国(US) (31)優先権主張番号 266413 (32)優先日 1981年5月22日 (33)優先権主張国 米国(US) (31)優先権主張番号 266414 (32)優先日 1981年5月22日 (33)優先権主張国 米国(US) (31)優先権主張番号 266415 (32)優先日 1981年5月22日 (33)優先権主張国 米国(US) (31)優先権主張番号 266421 (32)優先日 1981年5月22日 (33)優先権主張国 米国(US) (31)優先権主張番号 266424 (32)優先日 1981年5月22日 (33)優先権主張国 米国(US) (31)優先権主張番号 266521 (32)優先日 1981年5月22日 (33)優先権主張国 米国(US) (31)優先権主張番号 266524 (32)優先日 1981年5月22日 (33)優先権主張国 米国(US) (31)優先権主張番号 266532 (32)優先日 1981年5月22日 (33)優先権主張国 米国(US) (31)優先権主張番号 266539 (32)優先日 1981年5月22日 (33)優先権主張国 米国(US) (72)発明者 ブレット・エル・バッチマン アメリカ合衆国マサチューセッツ州02116, ボストン,ウエスト・キャントン・ストリ ート 214,スウィート 4 (72)発明者 リチャード・エイ・ベルガード アメリカ合衆国カリフォルニア州95070, サラトガ,グレンモント・ドライブ 21250 (72)発明者 デービッド・エッチ・バーンスタイン アメリカ合衆国マサチューセッツ州01721, アシュランド,ベイ・コロニー・ドライブ 41 (72)発明者 リチャード・グレン・ブラット アメリカ合衆国マサチューセッツ州01778, ウエイランド,ブルック・トレイル・ロー ド 9 (72)発明者 ジェラルド・エフ・クランシー アメリカ合衆国カリフォルニア州95070, サラトガ,ジャカランダ・センター 13069 (72)発明者 エドワード・エス・ガブリン アメリカ合衆国マサチューセッツ州01773, リンカーン,ビーバー・ポンド・ロード, アールエフディー 4 (72)発明者 ロナルド・ハンス・グルナー アメリカ合衆国ノースカロライナ州27514, キャリー,ダブリン・ウッド・ドライブ 112 (72)発明者 ローレンス・エッチ・カッツ アメリカ合衆国オレゴン州97045,オレゴ ン・シティ,サウス・フォーレスト・リッ ジ・ロード 10943 (72)発明者 クレイグ・ジェームズ・マンディ アメリカ合衆国ノースカロライナ州27511, キャリー,キャッスルウッド・ドライブ 136 (72)発明者 マイケル・エス・リッチモンド アメリカ合衆国ノースカロライナ州27312, ピッツボロー,フェアリントン・ポスト・ ボックス 51 (72)発明者 スチーブン・アイ・シュレイマー アメリカ合衆国ノースカロライナ州27514, チャペル・ヒル,エレン・プレイス 1208 (72)発明者 スチーブン・ジェイ・ウォラッチ アメリカ合衆国カリフォルニア州95070, サラトガ,グリーン・メドー・レイン 12436 (72)発明者 ウォルター・エイ・ウォラッチ・ジュニア ー アメリカ合衆国ノースカロライナ州27607, ラレイ,メッドフィールド・ロード 1336 (72)発明者 ダグラス・エム・ウェールズ アメリカ合衆国ノースカロライナ州27514, チャペル・ヒル,ロビン・ロード 106 (72)発明者 トーマス・エム・ジョーンズ アメリカ合衆国ノースカロライナ州27514, チャペル・ヒル,リード・ロード 300 (72)発明者 ジョン・エフ・ピラット アメリカ合衆国ノースカロライナ州27609, ラレイ,レーベンハースト・ドライブ 1308 (72)発明者 デービッド・エル・ハウズマン アメリカ合衆国ノースカロライナ州27511, キャリー,セルウィン・レイン 1213 (72)発明者 デービッド・エイ・ファーバー アメリカ合衆国ノースカロライナ州27707, ダーハム,レイクウッド・アベニュー 1700
Claims (3)
- 【請求項1】 記憶装置内における記憶場所を特定する
アドレスを含むメモリーコマンドに応答してデータ項目
を記憶しかつ供給する記憶装置と、一連のデータ項目の
処理を実行しながら、処理中のデータ項目の命令に応答
してデータ項目を供給しかつ受け取り、また前記メモリ
ーコマンドを供給する為に、前記記憶装置に接続されて
いる処理装置とを含むデジタル計算機システムにおい
て、前記データ項目は、更に前記アドレスの内の特定さ
れたアドレスを指示するポインタを含み、該ポインタ
は、前記特定されたアドレスが得られるべき前記データ
項目を含む未決定のポインタを含み、前記未決定のポイ
ンタを前記特定されたアドレスに決定する手段であっ
て、(1) 前記未決定のポインタの正規の未決定ポイン
タと、(2) 任意の前記正規の未決定ポインタを受け取
り、前記含まれるデータ項目を用いて前記特定されたア
ドレスを得るための、前記一連のデータ項目の内のポイ
ンタ決定シーケンスと、(3) 前記各ポインタを前記特
定されたアドレスに変換するために前記ポインタに応答
する、前記処理装置に含まれる、ポインタ変換手段と、
(4) 任意の前記シーケンスの実行を開始しかつ終了す
るために、前記処理装置の動作に応答する、前記処理装
置に含まれる、コール・リターン操作実行手段と、を設
け、該コール・リターン操作実行手段は、前記受け取っ
た未決定のポインタを前記ポインタ決定シーケンスに供
給することによって、前記ポインタ変換手段が前記正規
の未決定のポインタを受け取ったとき、前記ポインタ変
換手段に応答して前記処理装置に前記ポインタ決定シー
ケンスを実行させ、前記ポインタ決定シーケンスから返
った前記特定されたアドレスを前記ポインタ変換手段へ
供給することを特徴とする、デジタル計算機システム。 - 【請求項2】 記憶装置内における記憶場所を特定する
アドレスを含むメモリーコマンドに応答してデータ項目
を記憶しかつ供給する記憶装置と、処理中のデータ項目
の一連の命令に応答してデータ項目を供給しかつ受け取
り、また前記メモリーコマンドを供給する為に、前記記
憶装置に接続されている処理装置とを含むデジタル計算
機システムにおいて、 前記データ項目は、前記アドレスの内の特定されたアド
レスを指示するとともに前記特定されたアドレスが得ら
れるべき前記データ項目を各々含む正規の未決定ポイン
タを含み、 前記処理装置は、任意の前記シーケンスの実行を開始し
かつ終了するように前記処理装置を強制するために、前
記処理装置の動作に応答する、コール・リターン操作実
行手段を含み、 前記正規の未決定ポインタを前記特定されたアドレスに
決定する方法であって、(1) 前記処理装置内に任意の
前記正規の未決定ポインタを受け取り、(2) 前記受け
取った正規の未決定ポインタを前記コール・リターン操
作実行手段に供給し、(3) 前記コール・リターン操作
実行手段に、前記受け取った正規の未決定ポインタに含
まれるデータ項目を用いて前記受け取った正規の未決定
ポインタに対する特定されたアドレスを得て該特定され
たアドレスを返すための、前記一連のシーケンスの内の
ポインタ決定シーケンスの実行を開始させ、(4) 前記
特定されたアドレスを前記コール・リターン操作実行手
段から受け取る、ステップからなる方法。 - 【請求項3】 記憶装置内における記憶場所を特定する
アドレスを含むメモリーコマンドに応答してデータ項目
を記憶しかつ供給する記憶装置と、処理中のデータ項目
の一連の命令に応答してデータ項目を供給しかつ受け取
り、また前記メモリーコマンドを供給する為に、前記記
憶装置に接続されている処理装置とを含むデジタル計算
機システムにおいて、 前記データ項目は、前記アドレスの内の特定されたアド
レスを指示するとともに前記特定されたアドレスが得ら
れるべき前記データ項目を各々含む関連する未決定ポイ
ンタを含み、 前記処理装置は、任意の前記シーケンスの実行を開始し
かつ終了するように前記処理装置を強制するために、前
記処理装置の動作に応答する、コール・リターン操作実
行手段を含み、 前記関連する未決定ポインタを前記特定されたアドレス
に決定する方法であって、(1) 前記処理装置内に任意
の前記関連する未決定ポインタを受け取り、(2) 前記
受け取った関連する未決定ポインタを用いて、前記受け
取った関連する未決定ポインタによって前記受け取った
関連する未決定ポインタと前記特定されたアドレスとを
関連づける前記データ項目の関連アドレステーブル内の
エントリーを位置決めし、(3) 前記受け取った関連す
る未決定ポインタに対する前記関連アドレステーブルエ
ントリーから、特定されたアドレスを得る、ステップか
らなる方法。
Applications Claiming Priority (28)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US26640981A | 1981-05-22 | 1981-05-22 | |
| US26640481A | 1981-05-22 | 1981-05-22 | |
| US26642481A | 1981-05-22 | 1981-05-22 | |
| US26652481A | 1981-05-22 | 1981-05-22 | |
| US26653281A | 1981-05-22 | 1981-05-22 | |
| US26642181A | 1981-05-22 | 1981-05-22 | |
| US26653981A | 1981-05-22 | 1981-05-22 | |
| US26641581A | 1981-05-22 | 1981-05-22 | |
| US266532 | 1981-05-22 | ||
| US266414 | 1981-05-22 | ||
| US06/266,408 US4498131A (en) | 1981-05-22 | 1981-05-22 | Data processing system having addressing mechanisms for processing object-based information and a protection scheme for determining access rights to such information |
| US06/266,403 US4493023A (en) | 1981-05-22 | 1981-05-22 | Digital data processing system having unique addressing means and means for identifying and accessing operands |
| US266413 | 1981-05-22 | ||
| US06/266,413 US4498132A (en) | 1981-05-22 | 1981-05-22 | Data processing system using object-based information and a protection scheme for determining access rights to such information and using multilevel microcode techniques |
| US266403 | 1981-05-22 | ||
| US266404 | 1981-05-22 | ||
| US266539 | 1981-05-22 | ||
| US06/266,401 US4532586A (en) | 1981-05-22 | 1981-05-22 | Digital data processing system with tripartite description-based addressing multi-level microcode control, and multi-level stacks |
| US266424 | 1981-05-22 | ||
| US06/266,521 US4517642A (en) | 1981-05-22 | 1981-05-22 | Digital computer system having unique means of referring to operands and ability to execute a plurality of internal languages |
| US266415 | 1981-05-22 | ||
| US266421 | 1981-05-22 | ||
| US06/266,414 US4513368A (en) | 1981-05-22 | 1981-05-22 | Digital data processing system having object-based logical memory addressing and self-structuring modular memory |
| US266408 | 1981-05-22 | ||
| US266524 | 1981-05-22 | ||
| US266409 | 1981-05-22 | ||
| US266521 | 1981-05-22 | ||
| US266401 | 1994-06-27 |
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP6083891A Division JPH06324948A (ja) | 1981-05-22 | 1994-03-30 | デジタル計算機システム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH08278917A true JPH08278917A (ja) | 1996-10-22 |
Family
ID=27585105
Family Applications (5)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP57085095A Expired - Lifetime JPH0746316B2 (ja) | 1981-05-22 | 1982-05-21 | デイジタル・デ−タ処理システム |
| JP6083891A Pending JPH06324948A (ja) | 1981-05-22 | 1994-03-30 | デジタル計算機システム |
| JP7266761A Pending JPH08263284A (ja) | 1981-05-22 | 1995-09-14 | デジタル計算機システム |
| JP7266762A Pending JPH08278917A (ja) | 1981-05-22 | 1995-09-14 | デジタル計算機システム及びポインター決定方法 |
| JP7266763A Pending JPH08263305A (ja) | 1981-05-22 | 1995-09-14 | 多重プログラムデータ処理システム |
Family Applications Before (3)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP57085095A Expired - Lifetime JPH0746316B2 (ja) | 1981-05-22 | 1982-05-21 | デイジタル・デ−タ処理システム |
| JP6083891A Pending JPH06324948A (ja) | 1981-05-22 | 1994-03-30 | デジタル計算機システム |
| JP7266761A Pending JPH08263284A (ja) | 1981-05-22 | 1995-09-14 | デジタル計算機システム |
Family Applications After (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP7266763A Pending JPH08263305A (ja) | 1981-05-22 | 1995-09-14 | 多重プログラムデータ処理システム |
Country Status (4)
| Country | Link |
|---|---|
| EP (2) | EP0300516B1 (ja) |
| JP (5) | JPH0746316B2 (ja) |
| AU (1) | AU556499B2 (ja) |
| DE (2) | DE3280152D1 (ja) |
Families Citing this family (98)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| AU556499B2 (en) * | 1981-05-22 | 1986-11-06 | Data General Corporation | Data processing system |
| GB9009703D0 (en) * | 1990-04-30 | 1990-06-20 | Hewlett Packard Co | Computer log-on device |
| US5280614A (en) * | 1990-08-21 | 1994-01-18 | International Business Machines Corporation | Apparatus and method for controlling access to data using domains |
| CA2285096C (en) * | 1991-11-12 | 2000-05-09 | Ibm Canada Limited-Ibm Canada Limitee | Logical mapping of data objects using data spaces |
| JPH08263438A (ja) | 1994-11-23 | 1996-10-11 | Xerox Corp | ディジタルワークの配給及び使用制御システム並びにディジタルワークへのアクセス制御方法 |
| US5629980A (en) † | 1994-11-23 | 1997-05-13 | Xerox Corporation | System for controlling the distribution and use of digital works |
| US6963859B2 (en) | 1994-11-23 | 2005-11-08 | Contentguard Holdings, Inc. | Content rendering repository |
| US6466947B2 (en) | 1998-03-20 | 2002-10-15 | Sun Microsystems, Inc. | Apparatus and method for dynamically verifying information in a distributed system |
| US6463446B1 (en) | 1998-02-26 | 2002-10-08 | Sun Microsystems, Inc. | Method and apparatus for transporting behavior in an event-based distributed system |
| US6393497B1 (en) | 1998-03-20 | 2002-05-21 | Sun Microsystems, Inc. | Downloadable smart proxies for performing processing associated with a remote procedure call in a distributed system |
| US6438614B2 (en) | 1998-02-26 | 2002-08-20 | Sun Microsystems, Inc. | Polymorphic token based control |
| US6421704B1 (en) | 1998-03-20 | 2002-07-16 | Sun Microsystems, Inc. | Method, apparatus, and product for leasing of group membership in a distributed system |
| US6282652B1 (en) | 1998-02-26 | 2001-08-28 | Sun Microsystems, Inc. | System for separately designating security requirements for methods invoked on a computer |
| US6446070B1 (en) | 1998-02-26 | 2002-09-03 | Sun Microsystems, Inc. | Method and apparatus for dynamic distributed computing over a network |
| US6138238A (en) | 1997-12-11 | 2000-10-24 | Sun Microsystems, Inc. | Stack-based access control using code and executor identifiers |
| US6598094B1 (en) | 1998-03-20 | 2003-07-22 | Sun Microsystems, Inc. | Method and apparatus for determining status of remote objects in a distributed system |
| US6272559B1 (en) | 1997-10-15 | 2001-08-07 | Sun Microsystems, Inc. | Deferred reconstruction of objects and remote loading for event notification in a distributed system |
| US6247026B1 (en) | 1996-10-11 | 2001-06-12 | Sun Microsystems, Inc. | Method, apparatus, and product for leasing of delegation certificates in a distributed system |
| US6487607B1 (en) | 1998-02-26 | 2002-11-26 | Sun Microsystems, Inc. | Methods and apparatus for remote method invocation |
| US6560656B1 (en) | 1998-02-26 | 2003-05-06 | Sun Microsystems, Inc. | Apparatus and method for providing downloadable code for use in communicating with a device in a distributed system |
| US6237024B1 (en) | 1998-03-20 | 2001-05-22 | Sun Microsystem, Inc. | Method and apparatus for the suspension and continuation of remote processes |
| US6938263B2 (en) | 1996-04-23 | 2005-08-30 | Sun Microsystems, Inc. | System and method for facilitating dynamic loading of “stub” information to enable a program operating in one address space to invoke processing of a remote method or procedure in another address space |
| US6182083B1 (en) | 1997-11-17 | 2001-01-30 | Sun Microsystems, Inc. | Method and system for multi-entry and multi-template matching in a database |
| US6185611B1 (en) | 1998-03-20 | 2001-02-06 | Sun Microsystem, Inc. | Dynamic lookup service in a distributed system |
| US6226746B1 (en) | 1998-03-20 | 2001-05-01 | Sun Microsystems, Inc. | Stack-based system and method to combine security requirements of methods |
| FR2752125B1 (fr) * | 1996-08-01 | 1998-09-11 | Bull Sa | Distribution de tickets dans un systeme informatique multinodal |
| US6728737B2 (en) | 1996-10-11 | 2004-04-27 | Sun Microsystems, Inc. | Method and system for leasing storage |
| US5832529A (en) | 1996-10-11 | 1998-11-03 | Sun Microsystems, Inc. | Methods, apparatus, and product for distributed garbage collection |
| US6237009B1 (en) | 1996-10-11 | 2001-05-22 | Sun Microsystems, Inc. | Lease renewal service |
| US6233684B1 (en) | 1997-02-28 | 2001-05-15 | Contenaguard Holdings, Inc. | System for controlling the distribution and use of rendered digital works through watermaking |
| US6253256B1 (en) | 1997-10-15 | 2001-06-26 | Sun Microsystems, Inc. | Deferred reconstruction of objects and remote loading in a distributed system |
| US6957427B1 (en) | 1997-10-15 | 2005-10-18 | Sun Microsystems, Inc. | Remote object activation in a distributed system |
| US6604127B2 (en) | 1998-03-20 | 2003-08-05 | Brian T. Murphy | Dynamic lookup service in distributed system |
| EP1058883A2 (en) | 1998-02-26 | 2000-12-13 | Sun Microsystems, Inc. | Method and system for deterministic hashes to identify remote methods |
| US6901518B1 (en) | 1999-04-08 | 2005-05-31 | Sun Microsystems, Inc. | Method and system for establishing trust in downloaded proxy code |
| US6862594B1 (en) | 2000-05-09 | 2005-03-01 | Sun Microsystems, Inc. | Method and apparatus to discover services using flexible search criteria |
| US6970869B1 (en) | 2000-05-09 | 2005-11-29 | Sun Microsystems, Inc. | Method and apparatus to discover services and negotiate capabilities |
| US7016966B1 (en) | 2000-05-09 | 2006-03-21 | Sun Microsystems, Inc. | Generating results gates in a distributed computing environment |
| US7370091B1 (en) | 2000-05-09 | 2008-05-06 | Sun Microsystems, Inc. | Method and apparatus for obtaining space advertisements |
| US7243356B1 (en) | 2000-05-09 | 2007-07-10 | Sun Microsystems, Inc. | Remote method invocation with secure messaging in a distributed computing environment |
| US7200848B1 (en) | 2000-05-09 | 2007-04-03 | Sun Microsystems, Inc. | Migrating processes using data representation language representations of the processes in a distributed computing environment |
| US7072967B1 (en) | 2000-05-09 | 2006-07-04 | Sun Microsystems, Inc. | Efficient construction of message endpoints |
| US8082491B1 (en) | 2000-05-09 | 2011-12-20 | Oracle America, Inc. | Dynamic displays in a distributed computing environment |
| US7188251B1 (en) | 2000-05-09 | 2007-03-06 | Sun Microsystems, Inc. | System and method for secure message-based leasing of resources in a distributed computing environment |
| US6973493B1 (en) | 2000-05-09 | 2005-12-06 | Sun Microsystems, Inc. | Mechanism and apparatus for security of newly spawned repository spaces in a distributed computing environment |
| US7010573B1 (en) | 2000-05-09 | 2006-03-07 | Sun Microsystems, Inc. | Message gates using a shared transport in a distributed computing environment |
| US7395333B1 (en) | 2000-05-09 | 2008-07-01 | Sun Microsystems, Inc. | Method and apparatus to obtain negotiated service advertisement |
| US7065574B1 (en) | 2000-05-09 | 2006-06-20 | Sun Microsystems, Inc. | Messaging system using pairs of message gates in a distributed computing environment |
| US6950875B1 (en) | 2000-05-09 | 2005-09-27 | Sun Microsystems, Inc. | Message conductors in a distributed computing environment |
| US7260543B1 (en) | 2000-05-09 | 2007-08-21 | Sun Microsystems, Inc. | Automatic lease renewal with message gates in a distributed computing environment |
| US6898618B1 (en) | 2000-05-09 | 2005-05-24 | Sun Microsystems, Inc. | Client-specified display services in a distributed computing environment |
| US6917976B1 (en) | 2000-05-09 | 2005-07-12 | Sun Microsystems, Inc. | Message-based leasing of resources in a distributed computing environment |
| US7577834B1 (en) | 2000-05-09 | 2009-08-18 | Sun Microsystems, Inc. | Message authentication using message gates in a distributed computing environment |
| US6918084B1 (en) | 2000-05-09 | 2005-07-12 | Sun Microsystems, Inc. | Spawning new repository spaces using information provided in advertisement schema messages |
| US6868447B1 (en) | 2000-05-09 | 2005-03-15 | Sun Microsystems, Inc. | Mechanism and apparatus for returning results of services in a distributed computing environment |
| US6850979B1 (en) | 2000-05-09 | 2005-02-01 | Sun Microsystems, Inc. | Message gates in a distributed computing environment |
| US7080078B1 (en) | 2000-05-09 | 2006-07-18 | Sun Microsystems, Inc. | Mechanism and apparatus for URI-addressable repositories of service advertisements and other content in a distributed computing environment |
| US6934755B1 (en) | 2000-06-02 | 2005-08-23 | Sun Microsystems, Inc. | System and method for migrating processes on a network |
| US6957237B1 (en) | 2000-06-02 | 2005-10-18 | Sun Microsystems, Inc. | Database store for a virtual heap |
| US6865657B1 (en) | 2000-06-02 | 2005-03-08 | Sun Microsystems, Inc. | Garbage collector for a virtual heap |
| US6941410B1 (en) | 2000-06-02 | 2005-09-06 | Sun Microsystems, Inc. | Virtual heap for a virtual machine |
| US7743259B2 (en) | 2000-08-28 | 2010-06-22 | Contentguard Holdings, Inc. | System and method for digital rights management using a standard rendering engine |
| US7237125B2 (en) | 2000-08-28 | 2007-06-26 | Contentguard Holdings, Inc. | Method and apparatus for automatically deploying security components in a content distribution system |
| US7343324B2 (en) | 2000-11-03 | 2008-03-11 | Contentguard Holdings Inc. | Method, system, and computer readable medium for automatically publishing content |
| US6912294B2 (en) | 2000-12-29 | 2005-06-28 | Contentguard Holdings, Inc. | Multi-stage watermarking process and system |
| US7296275B2 (en) | 2001-01-04 | 2007-11-13 | Sun Microsystems, Inc. | Method and system for passing objects in a distributed system using serialization contexts |
| US7774279B2 (en) | 2001-05-31 | 2010-08-10 | Contentguard Holdings, Inc. | Rights offering and granting |
| US8069116B2 (en) | 2001-01-17 | 2011-11-29 | Contentguard Holdings, Inc. | System and method for supplying and managing usage rights associated with an item repository |
| US7028009B2 (en) | 2001-01-17 | 2006-04-11 | Contentguardiholdings, Inc. | Method and apparatus for distributing enforceable property rights |
| US8001053B2 (en) | 2001-05-31 | 2011-08-16 | Contentguard Holdings, Inc. | System and method for rights offering and granting using shared state variables |
| US8099364B2 (en) | 2001-05-31 | 2012-01-17 | Contentguard Holdings, Inc. | Digital rights management of content when content is a future live event |
| US7725401B2 (en) | 2001-05-31 | 2010-05-25 | Contentguard Holdings, Inc. | Method and apparatus for establishing usage rights for digital content to be created in the future |
| US6876984B2 (en) | 2001-05-31 | 2005-04-05 | Contentguard Holdings, Inc. | Method and apparatus for establishing usage rights for digital content to be created in the future |
| US8275709B2 (en) | 2001-05-31 | 2012-09-25 | Contentguard Holdings, Inc. | Digital rights management of content when content is a future live event |
| US6895503B2 (en) | 2001-05-31 | 2005-05-17 | Contentguard Holdings, Inc. | Method and apparatus for hierarchical assignment of rights to documents and documents having such rights |
| US8275716B2 (en) | 2001-05-31 | 2012-09-25 | Contentguard Holdings, Inc. | Method and system for subscription digital rights management |
| US7774280B2 (en) | 2001-06-07 | 2010-08-10 | Contentguard Holdings, Inc. | System and method for managing transfer of rights using shared state variables |
| EP1340134A4 (en) | 2001-06-07 | 2004-07-28 | Contentguard Holdings Inc | METHOD AND DEVICE FOR SUPPORTING MULTIPLE TRUST ZONES IN A MANAGEMENT SYSTEM FOR DIGITAL RIGHTS |
| US7756969B1 (en) | 2001-09-07 | 2010-07-13 | Oracle America, Inc. | Dynamic provisioning of identification services in a distributed system |
| US7660887B2 (en) | 2001-09-07 | 2010-02-09 | Sun Microsystems, Inc. | Systems and methods for providing dynamic quality of service for a distributed system |
| US7840488B2 (en) | 2001-11-20 | 2010-11-23 | Contentguard Holdings, Inc. | System and method for granting access to an item or permission to use an item based on configurable conditions |
| JP4714414B2 (ja) | 2001-11-20 | 2011-06-29 | コンテントガード ホールディングズ インコーポレイテッド | 拡張可能な権利表記処理システム |
| US7974923B2 (en) | 2001-11-20 | 2011-07-05 | Contentguard Holdings, Inc. | Extensible rights expression processing system |
| US7805371B2 (en) | 2002-03-14 | 2010-09-28 | Contentguard Holdings, Inc. | Rights expression profile system and method |
| WO2003079269A1 (en) | 2002-03-14 | 2003-09-25 | Contentguard Holdings, Inc. | Rights expression profile system and method using templates and profiles |
| WO2003094076A1 (en) | 2002-04-29 | 2003-11-13 | Contentguard Holdings, Inc. | Rights management system using legality expression language |
| US7685642B2 (en) | 2003-06-26 | 2010-03-23 | Contentguard Holdings, Inc. | System and method for controlling rights expressions by stakeholders of an item |
| US7792874B1 (en) | 2004-01-30 | 2010-09-07 | Oracle America, Inc. | Dynamic provisioning for filtering and consolidating events |
| US8660961B2 (en) | 2004-11-18 | 2014-02-25 | Contentguard Holdings, Inc. | Method, system, and device for license-centric content consumption |
| US7720767B2 (en) | 2005-10-24 | 2010-05-18 | Contentguard Holdings, Inc. | Method and system to support dynamic rights and resources sharing |
| JP4616369B2 (ja) | 2008-06-17 | 2011-01-19 | シャープ株式会社 | 太陽電池モジュール |
| WO2013099022A1 (ja) * | 2011-12-28 | 2013-07-04 | 富士通株式会社 | データ処理装置、送信装置、スケジューリング方法、送信制御方法、スケジューリングプログラム、および送信制御プログラム |
| EP3573039B1 (en) * | 2017-01-20 | 2021-08-18 | Nippon Telegraph and Telephone Corporation | Secure computing system, secure computing device, secure computing method, and program |
| CN110955143B (zh) * | 2019-11-27 | 2021-11-05 | 清华大学 | 一种一阶惯性纯滞后过程的复合控制方法 |
| CN112054741B (zh) * | 2020-08-06 | 2022-06-03 | 深圳市杉川机器人有限公司 | 电机控制方法、装置、终端设备及存储介质 |
| CN112347003B (zh) * | 2020-11-26 | 2024-05-14 | 北京泽石科技有限公司 | 一种高效的闪存颗粒微码控制方法 |
| KR102308990B1 (ko) * | 2021-07-20 | 2021-10-06 | (주) 에이블리 | 반도체 테스트 패턴 발생 장치 및 방법 |
| CN116501594B (zh) * | 2023-06-27 | 2023-09-08 | 上海燧原科技有限公司 | 系统建模评估方法、装置、电子设备及存储介质 |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5468135A (en) * | 1977-11-11 | 1979-06-01 | Fujitsu Ltd | Input and output control system |
| JPS5475253A (en) * | 1977-11-29 | 1979-06-15 | Fujitsu Ltd | Information process system |
| JPS54111733A (en) * | 1978-02-21 | 1979-09-01 | Nec Corp | Multiplex processor system |
| JPS5532155A (en) * | 1978-08-29 | 1980-03-06 | Fujitsu Ltd | Data processor |
| JPS55112651A (en) * | 1979-02-21 | 1980-08-30 | Fujitsu Ltd | Virtual computer system |
| AU556499B2 (en) * | 1981-05-22 | 1986-11-06 | Data General Corporation | Data processing system |
-
1982
- 1982-02-04 AU AU80178/82A patent/AU556499B2/en not_active Ceased
- 1982-05-21 JP JP57085095A patent/JPH0746316B2/ja not_active Expired - Lifetime
- 1982-05-21 DE DE8282302596T patent/DE3280152D1/de not_active Expired - Fee Related
- 1982-05-21 EP EP88200921A patent/EP0300516B1/en not_active Expired - Lifetime
- 1982-05-21 EP EP82302596A patent/EP0067556B1/en not_active Expired - Lifetime
- 1982-05-21 DE DE88200921T patent/DE3280446T2/de not_active Expired - Fee Related
-
1994
- 1994-03-30 JP JP6083891A patent/JPH06324948A/ja active Pending
-
1995
- 1995-09-14 JP JP7266761A patent/JPH08263284A/ja active Pending
- 1995-09-14 JP JP7266762A patent/JPH08278917A/ja active Pending
- 1995-09-14 JP JP7266763A patent/JPH08263305A/ja active Pending
Also Published As
| Publication number | Publication date |
|---|---|
| EP0067556A2 (en) | 1982-12-22 |
| AU556499B2 (en) | 1986-11-06 |
| EP0300516A3 (en) | 1989-04-26 |
| EP0067556B1 (en) | 1990-04-18 |
| JPH08263284A (ja) | 1996-10-11 |
| DE3280446T2 (de) | 1994-05-11 |
| DE3280446D1 (de) | 1994-01-05 |
| EP0300516A2 (en) | 1989-01-25 |
| EP0300516B1 (en) | 1993-11-24 |
| DE3280152D1 (de) | 1990-05-23 |
| JPH0746316B2 (ja) | 1995-05-17 |
| JPH08263305A (ja) | 1996-10-11 |
| AU8017882A (en) | 1982-11-25 |
| EP0067556A3 (en) | 1986-01-15 |
| JPH06324948A (ja) | 1994-11-25 |
| JPS57197652A (en) | 1982-12-03 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH08278917A (ja) | デジタル計算機システム及びポインター決定方法 | |
| US4445177A (en) | Digital data processing system utilizing a unique arithmetic logic unit for handling uniquely identifiable addresses for operands and instructions | |
| US4525780A (en) | Data processing system having a memory using object-based information and a protection scheme for determining access rights to such information | |
| US4455602A (en) | Digital data processing system having an I/O means using unique address providing and access priority control techniques | |
| US4493027A (en) | Method of performing a call operation in a digital data processing system having microcode call and return operations | |
| AU593570B2 (en) | Digital data processing system | |
| Hedayati et al. | Hodor:{Intra-Process} isolation for {High-Throughput} data plane libraries | |
| Massalin | Synthesis: an efficient implementation of fundamental operating system services | |
| JP5427742B2 (ja) | コンピュータのメモリを参照する方法およびコンピュータ | |
| KR100190252B1 (ko) | 고속 프로세서에서의 브랜치 처리 방법 및 장치 | |
| CN102906699B (zh) | 用于串行化处理的诊断指令的处理方法及计算机系统 | |
| CA1323940C (en) | Preprocessing implied specifiers in a pipelined processor | |
| CN108334400B (zh) | 为安全飞地管理存储器 | |
| JP2012530960A (ja) | 無制限トランザクショナルメモリ(utm)システムの最適化 | |
| JPS5911943B2 (ja) | デ−タ処理装置の為のトラツプ機構 | |
| TW201723809A (zh) | 移動前綴指令 | |
| CN106462437A (zh) | 用于管理计算机中的多个线程的控制区 | |
| Cox et al. | Xv6, a simple Unix-like teaching operating system | |
| EP0047238B1 (en) | Data processing system | |
| EP0290111B1 (en) | Digital data processing system | |
| JP6023765B2 (ja) | 無制限トランザクショナルメモリ(utm)システムの最適化 | |
| von Tessin | The clustered multikernel: an approach to formal verification of multiprocessor operating-system kernels. | |
| JP5520326B2 (ja) | コンピュータのメモリを参照する方法およびコンピュータ | |
| EP0290110A2 (en) | Digital data processing system | |
| JP6318440B2 (ja) | 無制限トランザクショナルメモリ(utm)システムの最適化 |