JP2730896B2 - データ処理装置 - Google Patents
データ処理装置Info
- Publication number
- JP2730896B2 JP2730896B2 JP62259415A JP25941587A JP2730896B2 JP 2730896 B2 JP2730896 B2 JP 2730896B2 JP 62259415 A JP62259415 A JP 62259415A JP 25941587 A JP25941587 A JP 25941587A JP 2730896 B2 JP2730896 B2 JP 2730896B2
- Authority
- JP
- Japan
- Prior art keywords
- domain
- instruction
- state
- signal
- program
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45579—I/O management, e.g. providing access to device drivers or storage
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Vehicle Body Suspensions (AREA)
- Measuring Pulse, Heart Rate, Blood Pressure Or Blood Flow (AREA)
- Monitoring And Testing Of Nuclear Reactors (AREA)
Description
【発明の詳細な説明】
本発明は、システム制御プログラムを履行する論理プ
ロセッサと共に起るデータ処理装置に関する。各論理プ
ロセッサは記憶スペースを含むドメインを割当てられ、
またデータ処理装置内の機器に関係づけられる。本発明
は、特定滴にはドメイン記憶スペースへのアクセスに関
する。 近代的な高速データ処理装置は複数のユーザー環境に
適応される。単一の装置を複数のユーザー環境に適応さ
せる1つの方策は、各ユーザーに1台の論理プロセッサ
を割当てることを含む。論理プロセッサはあたかもデー
タ処理装置の全機器にアクセスするかの如く挙動する
が、システム制御が特定された記憶スペースのドメイン
及び関連ハードウェアへの論理プロセッサのアクセスを
制限する。このようにすると単一装置内の種々の論理プ
ロセッサが記憶装置内において重複することはない。し
かし、ユーザーインターフエイスを簡略化するために、
論理プロセッサの制限されたアクセスはそのプロセッサ
に対して透明である。従って、装置内を走る命令及びア
ドレスはそれらが実行される或はデータにアクセスする
のに用いられる特定のドメインを特定することはない。 ドメインは、主記憶装置、チャンネル、操作員機器及
び命令を実行する論理プロセッサからなる処理環境であ
る。好ましい実施例においては、ドメインは付活される
と、IBMシステム/370動作原理、或はIBMシステム/370拡
張アーキテクチャ動作原理に述べられている機器を有す
る。これらのリソースはシステム制御プログラムによっ
て制御され、一括してプログラムのドメインと呼ばれ
る。 システム制御プログラムが装置内を引次ぐと、そのド
メインは必要な記憶の量、チャンネル及び論理プロセッ
サの数を割当てるマクロコードによって付活される。シ
ステム制御プログラム及びドメインを割当てるマクロコ
ードは、制御ステートと呼ばれるマシンステートで動作
する。制御ステートは、システムアドレスを用いてアド
レスされるシステム記憶装置と呼ばれる主記憶装置専用
である。 論理プロセッサ内を走るドメインプログラムとして知
られるプログラムは、ユーザーステートと呼ばれるマシ
ンステートで動作する。あるドメインに割当てられた主
記憶装置はドメイン記憶装置と呼ばれ、ドメイン記憶装
置アクセスはドメインアドレスを使用する。 時には、制御ステートで走っているプログラムに関し
てドメイン記憶装置内に記憶されているデータにアクセ
スする必要がある。これは、例えば後述するエミュレー
ション中に発生する。 データ処理装置はマシン命令として知られる1組の命
令を履行するように設計されている。マシンのアーキテ
クチャが定義された後、マシンセット内の命令以外の命
令を履行させたいことが屡々ある。これは、システム記
憶装置内に、新らしい命令をエミュレートするように制
御ステートで起ることができる命令のエミュレーション
プログラムを記憶させることによって達成される。 エミュレートされる命令が論理プロセッサによって検
出されると、制御ステートへの分岐が行われ命令はエミ
ュレートされる。 制御ステートへ分岐すると、制御ステートで走らされ
るエミュレーションルーチンに適用するプログラム例外
に関する試験を行う必要がある。これらの試験にはエミ
ュレーションプログラム内に数線のコードを必要とする
ので、エミュレートされた命令の性能を減ずることにな
る。 また、若干の命令をエミュレートするめには、制御ス
テートで走っているシステム記憶装置内のエミュレーシ
ョンプログラムがドメイン記憶装置内に記憶されている
オペランド或は他のデータにアクセスする必要がある。 上述のように、論理プロセッサが発生する命令及びア
ドレスは、特定のアドレスをドメインアドレスとして処
理するのか、或はシステムアドレスとして処理するのか
を特定しない。 エミュレーション中にこのドメインクロスを得るため
に、先行技術においては制御ステートで動作してドメイ
ン記憶装置へのアクセスを行わせるエミュレーション用
の特別命令を特定していた。しかし特別命令の履行は、
ドメインクロッシングアクセスを履行できる限られた数
の命令にしか過ぎず、履行はコスト高であった。 本発明は、現存する命令フォーマットを用いてドメイ
ン記憶装置アクセスとシステム記憶装置アクセスとを区
別する黙示的ドメインアドレス法と呼ぶ新らしい技術を
提供する。 一面において、本発明によるデータ処理装置は、ドメ
イン記憶スペースを有するユーザードメインとエミュレ
ーション記憶スペースを有するエミュレーションドメイ
ンとを有し、命令のシーケンスを処理する。命令のシー
ケンスは、ユーザードメイン内の1つの命令を含み、こ
の命令はエミュレーションドメイン内の命令のエミュレ
ーションプログラムを呼出す。装置は、命令のシーケン
スを受けるように接続された複数のフィールドを含む命
令レジスタを具えている。命令レジスタの少なくとも1
フィールドは、命令の実行に使用されるオペランドに関
するアドレス情報の位置を識別する。エミュレートされ
る命令を受けるように接続されているデコード手段は命
令をデコードして制御コードを発生する。制御コード
は、エミュレーションドメイン内の命令のプログラムを
呼出す分岐信号、及びエミュレーションドメイン内の命
令のプログラムの実行に際してユーザードメイン記憶ス
ペースにアクセスする必要があるか否かを指示するドメ
インアクセス制御信号を含む。 分岐信号に応答して、エミュレーションドメインから
の命令のプログラムは順次に命令レジスタへ供給され
る。ドメインアクセス制御信号及び命令レジスタ内の1
フィールドによって識別された位置に応答して、このシ
ーケンス内の各命令毎に、ユーザードメインへのアクセ
スが必要であるか否かを指示するユーザードメインアク
セス信号が発生される。 命令レジスタと通信しているデータ処理装置内のアド
レス手段は、記憶手段内に記憶されているオペランドに
関するアドレスを供給する。ユーザードメインアクセス
制御信号及びオペランドアドレスを受けるように接続さ
れている記憶手段は、ユーザードメイン及びエミュレー
ションドメインからのオペランドをアドレスによって識
別された位置に記憶する。これらのアドレスは、制御ス
テート中は通常は記憶手段においてエミュレーションド
メインアドレスとして解釈される。しかし、本発明によ
れば、ユーザードメインアクセス信号に応答して、アド
レスをユーザードメインアドレスと解釈する手段が含ま
れている。 以上に概要を説明した本発明によるデータ処理装置
は、別の面において、エミュレーションプログラムへエ
ントリーした時のプログラム例外に関する試験を、制御
ステートへの分岐時に迅速に遂行する。デコード手段は
エミュレートされる命令に応答して、分岐信号及び分岐
試験信号を含む制御コードを発生する。分岐信号に応答
する手段は装置のプログラム制御を第2のステート即ち
エミュレーションステートへ分岐させ、命令をエミュレ
ートする高速プログラムへ進ませる。分岐試験信号を受
ける手段は、エミュレーションステートへ分岐した時に
進んだ高速プログラムは別として、エミュレーションス
テートへ分岐した時にプログラム例外のための試験を行
う。プログラム例外が検出されると、プログラム例外を
処理する別の命令のプログラムへ更に分岐し、特別な処
理が行れれる。以上のようにして、エミュレーションプ
ログラムへのエントリが迅速に発生し、エミュレーショ
ンは効率的に進行する。プログラム例外を検出した時だ
けエミュレーションプログラムへはより厄介なエントリ
が必要となる。 黙示的ドメインアドレス法を用いると、制御ステート
において命令のエミュレーション中にドメイン記憶装置
へのアクセスを使用することが可能な命令セットは、本
質的に、システム記憶装置へアクセス可能な全ての命令
を含むように拡張される。プログラム例外に関する高速
試験を付加したことによって、エミュレーション性能は
極めて高められる。 以下に添付図面を参照して好ましい実施例を詳述す
る。先ず、第1図を参照して本発明のデータ処理システ
ム環境を説明する。次で第2図を参照して本発明の装置
の、エミュレーションプログラムへエントリ中に動作す
る部分を説明する。第3図においてはエミュレーション
プログラムの動作中に動作する本発明の一部を説明し、
最後に第4図乃至第7図に基いて本発明の要素の詳細動
作を説明する。 I.システムの概要 第1図は本発明を実施するデータ処理装置を示す。こ
のデータ処理装置は、命令及びオペランドを処理する命
令ユニット/実行ユニット10、命令及びオペランドを命
令ユニット/実行ユニット10へ供給しまた命令及びオペ
ランドを主記憶装置12から引出すキャッシュ記憶ユニッ
ト11を含む。 命令ユニット/実行ユニット10はライン17を通して制
御信号及びアドレスをキャッシュ記憶ユニット11へ供給
する。制御信号の1つは、ドメインアクセス或はシステ
ムアクセスが必要か否かを指示する。データはバス18を
通して命令ユニット/実行ユニット10に戻される。 同様に、キャッシュ記憶ユニット11はアドレス及び制
御情報をシステムアドレスに移行されている主記憶装置
12へライン19を通して送る。データはバス20を介して主
記憶装置12とキャッシュ記憶ユニット11との間に供給さ
れる。 命令ユニット/実行ユニット10の各ユーザーには、ド
メイン記憶装置を含むデータ処理装置内のドメインが割
当てられる。即ち、第1図の主記憶装置12は、ドメイン
1記憶装置13、ドメイン2記憶装置14、及びドメイン3
記憶装置15を有するように示されている。更に、データ
処理装置は、マシンリソース及びシステム記憶装置16と
して知られる主記憶装置の一部へのアクセスを有する制
御ステートで動作する。ドメイン記憶装置とシステム記
憶装置とは、個々のドメインへ割当てられたアドレスス
ペースによって区別される。しかし、あるドメイン内で
動作している論理プロセッサは、処理中にそのプロセッ
サが使用可能なアドレスに拘束されることはない。そう
ではなく、論理プロセッサがイニシャライズされた時、
キャッシュ記憶ユニットはドメイン記憶装置に対する要
求を認知するように、且つ命令ユニット/実行ユニット
10から供給されるアドレスをドメインアドレススペース
内へ移行するように設定される。 第1図には、装置の特定ユーザーが使用するための入
力/出力機器、チャンネル、ダイレクトアクセス記憶装
置、及び個々のドメインに割当てられている他のリソー
スは示されていない。これらの機器は総合的なデータ処
理装置環境内に含まれているものであるが、本発明にと
って重要ではない。 本発明は、前述の本発明の背景で説明したように、命
令のエミュレーションの特定の応用を有する。マシンセ
ット内に含まれない命令は、システム記憶装置内のエミ
ュレーションプログラムへ分岐することによって実行さ
れ、これはユーザーステートを一時的に離れて制御ステ
ートに入ることによって実行される。制御ステートにお
いては、制御ステートにおいて利用可能なマシンリソー
スはシステムドメインとして考えることができる。シス
テムドメインはシステム記憶装置を含む。しかし、実シ
ステムアドレスが制御ステートで走るプログラムによっ
て使用されるので、キャッシュ記憶ユニット11は、ユー
ザーステートにおいて行われるように、アドレスが移行
されることはない。 エミュレーション中、装置が制御ステートで動作して
いる場合、履行される命令のオペランドを記憶している
ドメイン記憶装置へのアクセスが屡々必要である。従っ
て、記憶ユニット11は、ドメイン記憶装置アクセスが行
われるドメインアドレススペースへのアドレスの適切な
移行を行い得る時点を告知しなければならない。更に、
データアクセスに必要な他の記憶ユニットパラメータは
ドメイン記憶装置へのアクセスを容易ならしめるように
処理される。 A.エミュレーション制御ステートへのエントリ 第2図は、エミュレーションプログラムへのエントリ
中に動作する本発明による命令ユニットの一部を示す。
命令のシーケンスは、Dサイクル命令レジスタ201、命
令の実行に際して使用されるオペランドのアドレスを発
生する手段202、Aサイクル実効アドレスレジスタ203、
Bサイクルオペランドアドレスレジスタ204、Xサイク
ルレジスタ205、Wサイクルレジスタ206、及び複数の制
御レジスタ207を含むパイプライン200を通して供給され
る。 ライン208に印加される命令に応答して制御ストアア
ドレスが手段209内で発生し、ライン210を通して制御ス
トア211に供給される。制御ストア211は命令をデュード
して制御コードを発生する手段である。エミュレートす
べき命令を受けると制御コード212がアドレスされる。
制御コード212の一部はライン213に供給されて、エミュ
レーションが遂行されることを指示する。ライン213上
のコードは制御ストアアドレス発生手段209へ供給され
る分岐アドレスを発生する手段214に印加される。続く
サイクル中に分岐アドレスがライン210を通して制御ス
トア211に供給され、高速援助モードFAMとして知られる
エミュレーションモードへエントリするための制御コー
ドが発生される。 次に、エミュレーションプログラム中に使用ささるべ
きデータアクセス制御を識別するコードがライン215に
供給される。データアクセス制御コードDACはライン215
を通してレジスタ216へ供給される。命令ユニットパイ
プライン200の流れの中で、DACレジスタ216の内容はセ
レクタ217で選択され、加算器218を通してAサイクル実
効アドレスレジスタ203へ送られる。DACはパイプライン
200を下ってオペランドアドレスレジスタ204、オペラン
ド語レジスタ205、結果レジスタ206を通り、DAC制御レ
ジスタ219(DACR)内に記憶され、エミュレーションプ
ログラム中に利用される、DACコードの特性の詳細に関
しては後述する。 制御レジスタ207は、ドメインCPUステータスレジスタ
220(DCPUS)及びプログラムステータス語レジスタ221
(PSW)をも含む。ドメインCPUステータスレジスタ220
はライン222を通してプログラムステータス語(この好
ましい実施例においては高位部分)をXサイクルオペラ
ンド語レジスタ内へ読込むことによってロードされる。
プログラムステータス語はオペランド語レジスタ205か
らWサイクル結果レジスタ206に供給される。更にそこ
からドメインCPUステータスレジスタ220へ印加される。
レジスタ220内のこのドメインCPUステータスコードは、
後述するようにエミュレーションプログラムの実行中に
も利用される。プログラムステータス語レジスタ221の
内容は、ロードPSWの如き若干のマシン命令の実行中に
ロードされる。 本発明によれば、エミュレーションプログラムの高速
エントリを容易ならしめるために、若干の高速エントリ
試験223が実行される。高速エントリ試験は、ライン224
を通して制御コード212の一部を高速エントリ試験回路2
23へ供給することによって識別される。もし高速エント
リ試験223に失敗すれば、ライン225を通して手段214に
信号が供給され、分岐アドレスを発生させて制御ストア
アドレス発生手段209を新しい制御ストア位置に分岐さ
せ、「通常エントリ」と呼ばれる実行モード内のエミュ
レーションルーチンを処理する。高速エントリ試験回路
223に関しては第6図及び第7図を参照して後述する。 命令の実行に使用されるオペランドのアドレスを発生す
る手段202は、複数の汎用レジスタ226、加算器218、セ
レクタ217及び命令プラットホーム201を含む。命令プラ
ットホームは、Dφ、D1、D2、D3及びD4で図示されてい
るように複数のフィールドに分割されている。少なくと
も1つの命令フィールドは、後述の命令のフォーマット
に依存して、ライン227を通して供給され、複数の汎用
レジスタ226から1つの汎用レジスタ内に位置している
アドレス情報を選択させ、加算器218へのベースアドレ
スとして供給させる。従って、命令プラットホーム201
内の少なくとも1つの命令フィールドは、その命令の実
行に使用されるオペランドのベースアドレスの位置を識
別する情報を含む。 更に、命令の第2フィールドがライン228に供給さ
れ、セレクタ217を通して加算器218への第2の入力とし
て印加される。ライン228を通して供給される命令の第
2フィールドと汎用レジスタ226から供給されるベース
アドレスとを加算すると、Aサイクル実効アドレスレジ
スタ203へ供給されるオペランドのアドレスが得られ
る。 実効アドレスレジスタ203から、アドレスは記憶ユニ
ットへ供給されてデータが引出され、このデータは記憶
ユニットからXサイクルオペランド語レジスタへ供給さ
れる。 第2図は制御レジスタ207のローディング及びエミュ
レーションプログラムへ分岐させるイベントのシーケン
スを示している。制御レジスタ207は、レジスタ203から
供給されるアドレスの解釈のために記憶ユニットへ供給
されるインターフェイス信号の発生に使用される(後
述)。 B.エミュレーション中の動作 第3図は、エミュレーションプログラムの走行中に本
発明によって影響される命令ユニット及び記憶ユニット
の一部を示す。第3図並びに第2図に示す命令ユニット
の部分は、命令プラットホーム301(第2図の201)、デ
ータアクセス制御コードレジスタ319(第2図の219)、
ドメインCPUステータスレジスタ320(第2図の220)、
及びプログラムステータス語レジスタ321(第2図の22
1)を含む。命令の実行に用いられるアドレスを発生す
る手段302は、汎用レジスタ326、加算器318、及び命令
プラットホーム301を含む。少なくとも1つの命令フィ
ールドがライン327に供給されて汎用レジスタ326の選択
を制御し、加算器318へベースアドレスを供給される。
命令プラットホーム301の少なくとも1つの他のフィー
ルドがライン328から加算器318に供給され、ベースアド
レスに加算されてオペランドアドレスが発生し、実効ア
ドレスレジスタ303へ供給される。実効アドレスレジス
タ303内のアドレスはライン330を通して全体を331で示
す記憶ユニットへ供給される。更にこのアドレスは命令
ユニットパイプラインを通してBサイクルオペランドア
ドレスレジスタ304へも供給される。命令ユニットパイ
プラインの残余部分に関しての説明は省略する。 命令プラットホーム301内のある命令は、ライン381を
通して複数の命令フィールドを命令デコード手段332へ
供給する。更に、制御ストア211(第2図)からの制御
ストアタグがライン329を通して命令デコード手段332へ
供給される。手段332における命令のデコードに応答し
てライン333に制御信号が発生し、これらの信号は命令
ユニット/記憶ユニットインターフエイス論理回路334
へ供給される。命令ユニット/記憶ユニットインターフ
エイス論理回路334の詳細は第5図を参照して後述す
る。 また、あるオペランドのベースアドレスを保持してい
る汎用レジスタを識別する命令フィールドは、ドメイン
記憶装置アクセス検出論理回路335へも供給される。こ
のドメイン記憶装置アクセス検出回路335の詳細は第4
図を参照して後述する。この回路335はライン338上にド
メイン記憶装置アクセス信号を発生して命令ユニット/
記憶ユニットインターフエイス論理回路334へ供給す
る。 命令ユニット/記憶ユニットインターフエイス理論回
路334は、更に、ライン339を通してドメインアクセス制
御レジスタ319から他の制御信号も受けている。またド
メインCPUステータスレジスタ320はライン340を通して
インターフエイス論理回路334へ制御信号を供給し、プ
ログラムステータス語レジスタ321はライン341を通して
インターフエイス論理回路334へ制御信号を供給してい
る。 インターフエイス論理回路334は制御信号を発生して
記憶ユニット331へ供給する。これらの制御信号は、実
効アドレスレジスタ303からライン330を通して供給され
るアドレスに応答してデータを取出すのに用いられる。
これらの制御信号はライン342上のアドレスモード信
号、ライン343上のシステムアクセス信号、ライン344上
の仮想アドレス信号、ライン345上の二次アドレススペ
ース信号、ライン346上のキーチェック禁止信号、及び
ライン347上の低アドレス保護禁止信号を含む。 ライン342上のアドレスモード信号は、24ビット或は3
1ビットの何れのアドレスが供給されているのかを決定
することによって、ライン330上に供給されるアドレス
のモードを制御する。 ライン343上のシステムアクセス信号は、記憶ユニッ
トがライン330上のアドレスをシステムアドレス、或は
ドメインアドレスの何れかとして応答する態様を制御す
る。システム制御プログラムがセットアップされると、
記憶ユニットのレジスタ348内にシステム記憶装置内の
ドメイン限界を限定するパラメータがロードされる。シ
ステム制御ステートに割当てられているアドレスもレジ
スタ349内にシステム限界として記憶される。システム
限界及びドメイン限界は、ライン343上のシステムアク
セス信号によって制御されているセレクタ350に供給さ
れ、システム限界或はドメイン限界の何れかが選択され
る。ライン330上のアドレスはコンパレータ351におい
て、選択されたシステム限界或はドメイン限界と比較さ
れ、アクセスのための有効アドレスが供給されたか否か
が決定される。もしこのアドレスが有効アドレスでなけ
れば、アドレス例外信号がライン352上に発生する。 システムアクセス信号は、キャッシュ内のアドレスに
対して遂行される移行の種類を決定するのにも用いられ
る。ドメインアドレスは仮想アドレス或は実アドレスの
何れであってもよい。もし仮想アドレスであれば、移行
には移行ルックアサイドバッファ353が使用される。ま
たもし実アドレスであればドメインベース調整機構354
が用いられてドメイン内のシステムアドレスへのアドレ
スが調整される。もしそれがドメインアクセスでなけれ
ば移行或はドメインベース調整は不要である。 従って355に示すように移行のモードを制御するため
に、ライン344上の仮想アドレス信号とライン343上のシ
ステムアクセス信号の組合せが使用されるのである。 IBM/370アーキテクチャに特定されているようなデュ
アルアドレススペース命令に対しては、ライン345上の
二次アドレススペース信号が一次及び二次記憶装置への
アクセスを制御する。一次及び二次アドレススペースの
位置はそれぞれ制御レジスタ1 356及び制御レジスタ7 3
57内に特定されている。ライン345上の二次アドレスス
ペース信号はセレクタ358を制御してダイナミックアド
レス移行回路359へ適切な識別名を供給される。 ライン346上のキーチェック禁止信号は、タグアクセ
スキー及びユーザー記憶装置キーがそれぞれレジスタ36
1及び362内に記憶されている値によって指示されるもの
と整合しない時の、ライン360上の保護例外信号の発生
を、禁止する。 ライン347上の低アドレス保護信号は、低アドレス保
護検出回路364が低アドレス領域内にライン330からのア
ドレスを検出した時ライン363上に保護例外信号を発生
するのを、禁止する。 図から明白なように、記憶ユニットはライン330から
アドレスを受け、複数の制御信号に応答してそれを処理
する。オペランドを取出すために記憶ユニットにアドレ
スを供給する各命令毎に、ライン343上のシステムアク
セス信号はシステムアドレスが供給されているのか、或
はドメインアドレスが供給されているのかを特定する。
しかし、上述のように、命令プラットホーム301はシス
テム或はドメインアクセスが行われていることを特定す
るフィールド或はビットを含んでいない。本発明によれ
ば、ドメインアクセス制御レジスタ319内に記憶されて
いるエミュレーションプログラムへエントリすると制御
コードを発生して黙示的ドメインアドレッシングを可能
ならしめる手段が設けられている。ドメイン記憶装置ア
クセス検出論理回路335は、オペランドアドレスの発生
に使用される汎用レジスタを特定する命令からのフィー
ルドの内容と、汎用レジスタの予め選択された範囲とを
比較して、ある命令のためにドメインアクセスが必要か
否かを決定する。ドメイン記憶装置アクセス検出論理回
路335もライン336を通して命令デコード手段332から、
詳細を後述する命令フォーマットを識別する若干の制御
信号を受ける。ドメインアクセス制御信号はライン338
を通して命令ユニット/記憶ユニットインターフエイス
論理回路334に供給され、ライン343上にシステムアクセ
ス信号を発生させる。 更に、本発明によれば、ドメインアクセス制御レジス
タ319は他の信号をも記憶しており、これらの信号はド
メインCPUステータスレジスタ320内に記憶されている制
御信号と組合ってプログラムステータス語レジスタ321
からインターフエイス論理回路334へ供給される信号を
無効ならしめる。これらの制御信号は、制御ステートで
動作中のエミュレーションプログラムからドメインアド
レスにアクセス中に、ライン342上にアドレスモード信
号、ライン345上に二次アドレス信号、ライン346上にキ
ーチェック禁止信号、及びライン347上に低アドレス保
護禁止信号を発生させる。本明細書に記載されている特
色を以下に説明する。 C.黙示的ドメインアドレッシング 「黙示的ドメインアドレッシング」を用いると、「制
御ステート」からドメイン記憶装置にアクセスするのに
使用できる命令セットは、システム記憶装置にアクセス
可能な本質的に全ての命令を含むまでに拡張される。シ
ステム汎用レジスタGPR326の特定範囲は(それらをベー
スアドレスを提供するように用いた場合には)、随意的
に、暗黙のドメインアドレッシングを生じさせることが
できる。これらのレジスタを「ドメインアドレッシング
ベースレジスタ」、略としてDABRと名付ける。 「黙示的ドメインアドレッシング」はDACR319内の「D
ABR付活制御」ビットを介して付活される。「黙示的ド
メインアドレッシング」が付活され、「ドメインアドレ
ッシングベースレジスタ」がオペランドのアドレスに用
いられている場合には、常に「システムアドレッシン
グ」を使用する或は常に「ドメインアドレッシング」を
使用すると明確に特定されている基準を除いて、「シス
テムアドレッシング」に代って「ドメインアドレッシン
グ」が用いられる。 D.ドメインアドレッシングベースレジスタ (DABR) システムGPR2−7は「ドメインアドレッシングベース
レジスタ」(DABR)と名付けられている。これらは、
「黙示的ドメインアドレッシング」が付活され且つこれ
らがある命令の特定レジスタフィールド(単数或は複
数)に特定されている場合を除いて、他のシステムGPR
と同じように動作する。この場合、以下のケースにおけ
る関連オペランドに対して「ドメインアドレッシング」
ルールが適用される(実効アドレス計算及び主記憶装置
へのアドレスの両方或は何れか一方を遂行する際に): −仮想アドレスである命令オペランド。 −理論アドレスである命令オペランド。 −実アドレスである命令オペランド。 以下のケースに対しては「黙示的ドメインアドレッシ
ング」は決して適用されない。 −命令アドレス。 −PSWのアドレス、割込みコード、及び割込み中に使用
される関連情報。 −ベースアドレスにオフセットとしてハードウェアによ
って加算されるアドレス。この場合ベースアドレスはア
ドレッシングの型を決定する。 −アドレスとして使用されないオペランドアドレスのフ
ォーメーション。 次表は、関連するシステムGPRがDABRとして活動時
に、「制御ステート」における各命令フォーマット毎の
レジスタフィールド(各オペランドによってアドレスす
るDABRを指定する)を示す。 DABRとして使用されるベースレジスタ:E.ドメインアクセス制御 「ドメインアクセス制御」は各記憶装置オペランド毎
に黙示的ドメインアドレッシングを付活する。DABRの2
範囲を付与するために2ビットが限定される。しかし、
これは各DABR毎に1制御ビットを付与するように一般化
できる。 各制御ビットは、DABRの特定のセットに対して黙示的
ドメインアドレッシングが使用されるか否かに依存し
て、独立的にセット可能である。ドメインアクセス制御
ビットはエミュレートされる命令の制御語内に限定さ
れ、制御ステートマシン命令によって扱うことができ
る。 高速援助モードFAMにおいては、現行PSWのフィールド
は無効にされる。プログラム実行は実効PSWによって制
御される。動作はECモード及び多くの割込みが不能化さ
れたスーパーバイザステートにある。システム記憶装置
アクセスに対して31ビットの実アドレッシングが使用さ
れ、プログラムイベント記録(PER)は不能化される。
システム記憶装置アクセス用PSWキー(システムキー)
は、ドメインが付活されるとマクロコードによってセッ
トされる。 FAM中のドメイン記憶装置アクセスを制御する実効PSW
は、「ドメインCPUステータス」(DCPUS)と呼ばれる。
FAM中のDCPUSは、エミュレートされる命令に対して有効
であったPSWである。このPSWはFAMエントリルーチンの
一部として捕捉され、システムレジスタ内に配置され
る。これはユーザー制御モードを特定し; −制御レジスタ9、10及び11によって制御されるドメイ
ン基準に対するPER −oダイナミックアドレス移行 oアドレッシングモード oドメインキー oアドレススペース制御 に関係づけられたドメインアドレッシングを制御す
る。FAMにおいては、DCPUSは制御ステートに限定された
命令を用いて変更することができる。これは新しいPSW
をロードするのと同等である。 「ドメインアクセス制御」は、ドメイン記憶装置アク
セスに伴うPSW内の種々のビットを扱うことができる。
この便益を「ドメインアクセス制御」と呼ぶ。「ドメイ
ンアクセス制御」は、DCPUS及び制御レジスタ(この制
御がなければドメインアドレッシングを制御する)の両
方或は何れか一方の若干のフィールド、並びに黙示的ド
メインアドレッシングに用いられる「ドメインアクセス
ベースレジスタ」(DABR)の付活を制御するために供給
されるビットに対する無効作用を特定する。これによっ
てエミュレーションルーチンはドメインPSWを変更する
ことなくこれらの機能を処理する能力を持つ。これは、
エミュレーションに必要な多数の命令を減少させること
になり、エミュレーションルーチンの効率を改善する。
「ドメインアクセス制御」は「ドメインアクセス制御レ
ジスタ」(DACR)内に収容されている。DACRはFAMエン
トリ中にエミュレートされた命令の制御語からロードさ
れ、制御ステートマシン命令によってエミュレーション
ルーチン内において変更可能である。 1=保留 S=二次アドレッシング無効;移行を受けるドメインア
ドレッシング記憶装置基準のために二次仮想アドレッシ
ングを使用せよ(実効DCPUSのSビットを無効さとする
…………1として処理する)。 もし実効DCPUSがBCモードを特定していれば、この制
御のセッティングは無視される。 P=ドメイン一次アドレッシング無効:移行を受ける
ドメインアドレッシング記憶装置基準のために一次仮想
アドレッシングを使用せよ(実効DCPUSのSビットを無
効とする………0として処理する)。 もし実効DCPUSがBCモードを特定していれば、この制
御のセッティングは無視される。 R=ドメインPER記憶装置変更無効:ドメインアドレ
ッシング記憶装置基準のためにPER記憶装置・変更・イ
ベント試験を抑圧せよ(CR9ビット2を無効とする……
…0として処理する)。 T=ドメイン移行無効:論理的ドメインアドレッシン
グ記憶装置基準のために移行を抑圧せよ(実効DCPUSの
Tビットを無効とする………0として処理する)。 A=ドメインアドレッシングモード無効:ドメインア
ドレスのために31ビット実効アドレッシング発生ルール
を使用せよ。(実効DCPUSの(A)を無効とする………
1として処理する)。この制御は実効DCPUSがBCモード
或はECモードを特定しているか否かに拘わらず効果を生
ずる。 C=DABR付活制御1:システムGPR4−7をDABRとする暗
黙ドメインアドレッシングを付活せよ。 D=DABR付活制御2:システムGPR2−3をDABRとするた
め暗黙ドメインアドレッシングを付活せよ。 注:ビットC及びDが共に1であってよい。この場合指
定されたシステムGPRの両組はDABRとして活動する。 L=ドメイン低アドレス保護無効:ドメインアドレッ
シング記憶装置基準のために低アドレス保護を抑圧せよ
(CROビット3を無効とする……0として処理する)。 K=ドメインキー保護無効:ドメインアドレッシング
記憶装置基準のためにキー保護を抑圧せよ(実効DCPUS
キーフィールドを無効とする、ビット8−11…………0
として処理する)。 次表は「ドメインアクセス制御」の作用を要約したも
のである。 1.無効制御は以下の如く動作する。 あるビットがオンの時、FAM中のCPUによる全てのドメ
インアドレッシングの対応部分が無効になる。なるビッ
トがオフの時、それに対応する無効作用は破棄され、ド
メインアドレッシングは通常の如く進行する(DCPUS、
制御レジスタ等の制御の下に)。 2.DABR付活制御は、ドメインアドレッシングルールを適
用するか否かを決定する際のDABRの使用を制御する。 もしあるビットがオフであれば、システムGPRの関連
セットは他のシステムGPRと同等に動作する。もしある
ビットがオンであれば、システムGPRの関連セットはDAB
Rとして活動する。これらのシステムGPRの1つを論理ア
ドレッシング或は実アドレッシングのためのベースとし
て使用する時には、ドメインアドレッシングルールを適
用させられる。 II.黙示的ドメインアドレッシング実施例 ドメイン記憶装置アクセス論理回路335の論理図を第
4図に示す。この論理回路は、現行の記憶装置アクセス
が「ドメイン記憶装置アクセス」(DSA)であるか否か
を確定する。 命令OPCODEフィールドDφ(2バイトOPCODEにおいて
はDφ、D1、D2)は論理回路432において命令フォーマ
ットの型にデコードされる。ライン440、441及び442上
の信号によってそれぞれ示されているように、RR、RRE
及びSSフォーマットだけがデコードされる。他の全ての
フォーマットは同一位置にそれらのDABRを有している。
命令デコーディングによって、記憶装置アクセスが第1
記憶装置オペランドを含むか否かの確立も行われる。こ
れは、SSフォーマット命令(記憶装置オペランドが2つ
存在し、各オペランドがそれ自体の独特なDABRを有す
る)のような場合に重要である。若干のRRフォーマット
命令も2つの記憶装置オペランドを有している。ライン
444上の「OAR1アクセス」なる語は、第1記憶装置オペ
ランドがアクセスされつつあるとを示す。即ち、SSフォ
ーマットに対するB1と、RRフォーマットに対するR1であ
る。他の全てのフォーマットは1つの記憶装置オペラン
ドしか有していないから、「OAR1アクセス」はB1或はB2
オペランドの何れかに適用される。 他の3つの機能信号が命令デコード手段432から供給
される。即ち、 1)ライン443上のDFIST信号。これは命令アルゴリズム
の第1の流れ即ちシーケンスを表わす。 2)ライン445上のユーザー信号。これはプロセッサが
ユーザーステートにある(即ちFAM或は制御ステートで
はない)ことを表わす。 3)ライン446上のDSA不能化信号。これは、例えばシス
テムアドレスを必要とする分岐命令のような若干の命令
の型に対してドメイン記憶装置アクセスを禁止するデコ
ードである。 ライン447上のドメインアクセス制御レジスタビット2
8及びライン448上の同じくビット29はそれぞれシステム
GPR4−7及び2−3をDABRとする暗黙のドメインアドレ
ッシングを付活する。 第4図は、第3図に番号335で示したドメイン記憶装
置アクセス論理回路の実施例の論理図である。命令プラ
ットホームは、前述のように複数のプロセッサDφ−D4
に細分されている。命令のフォーマットに依存して、特
定フィールドが汎用レジスタからのベースアドレスへの
アクセスに使用される。即ち、D1、D2或はD3フィールド
の何れかを汎用レジスタの特定に使用できる。従ってド
メイン記憶装置アクセス論理回路は、D1フィールドを比
較してそれが4乃至7の範囲内にあるレジスタを特定し
ているか否かを決定する手段449、及びD1フィールドが
2乃至3の範囲内にあるかを決定する手段450を含む。
これらの手段はライン451を通してD1フィールドの内容
を受けるように接続されている。 D2フィールドの内容はライン452を通して手段453に供
給されてD2が4乃至7の範囲内にあるか否かが検出さ
れ、また手段454に供給されてD2乃至3の範囲内にある
か否かが検出される。 D3フィールドはライン455を通して手段456に供給され
てD3が4乃至7の範囲内にあるか否かが決定され、また
手段457に供給されてD3が2乃至3の範囲内にあるか否
かが決定される。明らかに、ドメインアクセスベースレ
ジスタのために用いられる汎用レジスタの範囲は随意で
あり、ユーザーに適合する任意の範囲から選択可能であ
る。 ドメインアクセス制御レジスタ419からのビット28及
び29の値に依存して、範囲4乃至7、或は2乃至3の何
れか、或は両者がドメインアドレスベースレジスタ範囲
として特定される。即ち、ANDゲート458はライン447か
らのビット28及び手段449の出力を入力として受け、範
囲4乃至7内のドメインアクセスベースレジスタがフィ
ールドD1によって特定されている時に真出力を発生す
る。 ANDゲート459は入力として手段450の出力とライン448
上のドメインアクセス制御レジスタからのビット29とを
受け、範囲2乃至3内のドメインアドレスベースレジス
タがフィールドD1によって特定されている時に真出力を
発生する。同様に、ANDゲート460は手段453の出力とラ
イン447からのビット28とを入力として受け、ANDゲート
462は手段456の出力とライン447を通してドメインアク
セス制御レジスタからのビット28とを受ける。ANDゲー
ト460及び462の出力は範囲4乃至7内のドメインアドレ
スベースレジスタがそれぞれフィールドD2或はD3によっ
て特定されている時に真となる。 ANDゲート461及び463はそれぞれ手段454及び456の出
力と、ライン448を通してドメインアクセス制御レジス
タからのビット29とを入力して受けている。ANDゲート4
61及び463の出力は、範囲2乃至3内のドメインアドレ
スベースレジスタがそれぞれフィールドD2或はD3内に特
定されている時に真となる。 ANDゲート458及び459の出力はライン471に供給され、
フィールドD1においてドメインアドレスベースレジスタ
を特定する命令フォーマットからのドメインアクセスを
指示する。ANDゲート461及び460の出力はライン472に供
給され、フィールドD2に関してドメインアドレスベース
レジスタを特定する命令フォーマットによるドメインア
クセスを指示する。ANDゲート462及び463の出力はライ
ン473に供給され、フィールドD3に対してドメインアド
レスベースレジスタを特定する命令フォーマットからの
ドメイン記憶装置アクセスを指示する。 ANDゲート464は入力としてライン440上のRRフォーマ
ット信号、ライン471上のD1フィールドドメインアクセ
ス信号、及びライン444上のOAR1アクセス信号(OAR1)
を受け、ライン474上のRRフォーマットの第1オペラン
ドへのドメインアクセスに対して真出力を発生する。 ANDゲート465は入力としてライン440上のRRフォーマ
ット信号、ライン444上のOAR1アクセス信号の否定、及
びライン472上のD2フィールドドメインアクセス信号を
受ける。ゲート465はライン474上に、D2フィールドから
のドメインアクセスを特定するRRフォーマット命令に対
して、且つライン444上の信号によって表わされる第1
オペランドアクセスが否定された時に真の出力を発生す
る。 ANDゲート466は、PREフォーマット内の命令が、フィ
ールドD2からのドメインアドレスに関するオペランドア
ドレスレジスタからの第1のアクセスに対して且つ命令
の第1の流れが否定された時にライン474上に真の出力
を発生する。 ANDゲート467は、フィールドD3からドメインアクセス
が要求された時に命令の第1の流れの中のSSフォーマッ
トの命令に対して真の出力を発生する。この出力はライ
ン475に供給される。 ANDゲート468は、SSフォーマットの命令が供給された
時に、且つそれが第1のアドレスではなく、またフィー
ルドD3から特定されたドメインアドレスレジスタに関す
る第1の流れではないと真の出力を発生する。 ANDゲート469は、SSフォーマットの命令が第1の流れ
ではなく且つライン476との信号が真である時にSSフォ
ーマットの命令に対してライン474上に出力を発生す
る。 ANDゲート470は、あるドメインアドレスベースレジス
タがフィールドD3から特定された時、第1のOAR1アクセ
ス中に、RR、RRE及びSS以外の全ての命令フォーマット
に対してライン474上に真の信号を発生する。 ANDゲート467の出力はライン475を通してドメイント
リガラッチ477に供給され、ラッチ477はライン476上に
信号を供給してANDゲート469の出力を制御する。 ライン474及び475上の信号はORゲート478に供給さ
れ、ORゲート478はライン479上に出力を発生する。AND
ゲート480はライン479上の信号、ライン445上のユーザ
ー信号の否定、及びライン446上のDSA不能化信号の否定
に応答して、ライン499上にドメイン記憶装置アクセス
制御信号を発生する。 ドメイン記憶装置アクセス制御信号(DSA)の設計式
は以下の通りである。 は制御ステート、特にFAMに対してドメインアドレッシ
ングを許容するものである。 RRフォーマットに関して、第1記憶装置オペランド
(OAR1アクセス)は命令のR1フィールドをDABRとして使
用する。このフィールドはD1命令プラットホームフィー
ルド内に含まれる。項“D1=4:7"はR1フィールドが4と
7との間の値を有していることを表わし、DACRビット28
と論理積されてドメイン記憶装置アクセスを付活する。
同様に、“D1=2:3"項はR1フィールドが2或は3の値を
有していることを表わし、DACRビット29と論理積されて
DSAを付活する。 RRフォーマット命令の第2記憶装置オペランド に関する「ドメイン記憶装置アクセス」を付活するため
にR2アドレス(D2命令プラットホームフィールド内)は
D2=4:7項とDACRビット28との論理積或はD2=2:3項とDA
CRビット29との論理積を有するDABRとして使用される。 PREフォーマット命令に対しては、R2フィールドは第
1命令サイクル(DFIST)内のD2命令プラットホームフ
ィールドへ移動される。従ってこのサイクルにおいては
PREフォーマットに関する記憶装置要求は供給すること
ができない。第1サイクル の後、“OAR1アクセス”で表わされる記憶装置オペラン
ドアクセスはD2フィールドをDABRとして使用する。従っ
てD2=4:7及びDACRビット28或はD2=2:3及びDACRビット
29が「ドメイン記憶装置アクセス」を生じさせる。 SSフォーマット命令に関し:第1記憶装置オペランド
(OAR1アクセス)は第1命令流(DFIST)内にアクセス
することができる。B1フィールドは命令プラットホーム
のD3フィールド内に含まれる。従ってD3=4:7がDACRビ
ット28と論理積されるか、或はD3=2:3がDACRビット29
と論理積されて「ドメイン記憶装置アクセス」を付活す
る。 第1命令流が終了すると、D3フィールドはB2データで
更新され、B1データフィールドは失われる。「ドメイン
トリガ」と呼ばれるトリガは、もし「ドメイン記憶装置
アクセス」状態が活動であれば、このサイクルにおいて
セットされる。「ドメイントリガ」は によってセットされる。次で、第1記憶装置アクセス
(OAR1アクセス)が発生すると、「ドメイントリガ」が
オンであれば「ドメイン記憶装置アクセス」が得られ
る。第2オペランド に関しては、B2フィールドが命令プラットホームのD3フ
ィールド内へ移動させられる。従って、第1命令流 の後は、「ドメイン記憶装置アクセス」は、D3=4:7とD
ACRビット28との論理積か、或はD3=2:3とDACRビット29
との論理積が活動の時に指示されることになる。 他の全ての命令フォーマットに対しては、1つの記憶
装置オペランドだけしか存在せず、これは命令のB1或は
B2フィールドの何れかであってよい。これは命令プラッ
トホームのD3フィールド内に存在している。従って、こ
れらのフォーマット に対しては、記憶装置アクセス(OAR1アクセス)が活動
の時にD3=4:7とDACRビット28との論理積、或はD3=2:3
とDACRビット29との論理積によって付活される。 III.ドメインアクセス制御回路例 「ドメインアクセス制御」は記憶ユニットへの種々の
制御信号を取扱う。制御ビットは、FAMエントリルーチ
ンの開始時にエミュレートされる命令の制御語から「ド
メインアクセス制御レジスタ」(DACR)内へロードされ
る。このレジスタはFAM中に「ロードDACR」によって変
更することができる。これらの制御は基本的には、FAM
エントリの開始時に効力を有しているドメイン或はユー
ザーPSWである「ドメインCPUステータス」(DCPUS)を
無効にする。 DCPUSはシステムレジスタ16内にロードされる。「ド
メインアクセス制御」によって影響を受けるアクセス信
号は以下の通りである。 −システム(ドメイン) −仮想(実) −アドレスモード −アドレススペース −キーチェック禁止 −低アドレス保護禁止 −PER記憶 各信号を用いて表わされる理論式は完全理論式の部分
集合であり、論理のドメイン記憶装置アクセス部分にの
み関係する。若干の式には特別例外のケースが存在し、
「−強制」項で示される。この項は、実質的にDAC無効
を無効にすることができる。「ドメインアクセス制御」
論理回路を第5図に示す。 第5図に示すように、命令プラットホーム501はライ
ン527を通して命令の一部を命令デコード手段532(第3
図の命令デコード手段332に対応する)に供給する。命
令デコード手段532はライン533上にシステム強制信号、
ユーザー強制信号、実強制信号及び一次強制信号を発生
し、これらの信号は命令ユニット/記憶ユニットインタ
ーフエイス論理回路534(第3図のブロック334に対応)
に供給される。 更に、ドメインCPUステータスレジスタ520はライン54
0を通して制御信号をインターフエイス論理回路534に供
給する。ドメインアクセス制御レジスタ519はライン541
を通してインターフエイス論理回路534に制御信号を供
給する。ドメイン記憶装置アクセス検出論理回路535は
ライン538上のドメイン記憶装置アクセス信号DSAを発生
してインターフエイス論理回路534へ供給する。 インターフエイス論理回路534の出力は、ライン543上
にシステムアクセス信号、ライン544上の仮想信号、ラ
イン542上のアドレスモード信号、ライン545上の二次ア
ドレススペース信号、ライン546上のキーチェック禁止
信号、ライン547上の低アドレス保護禁止信号、及びラ
イン548上のプログラムイベント記録信号(PER)を含
む。 ANDゲート510及び511はライン543上にシステムアクセ
ス信号を発生する論理回路を形成している。 ANDゲート510は、入力としてユーザー信号の否定、DS
A信号の否定、及びユーザー強制信号の否定を受ける。 ANDゲート511はユーザー強制信号の否定とシステム強
制信号とを受けている。従ってライン543上のシステム
アクセス信号は、システム強制信号が真で、ユーザー強
制信号が真でない場合に真となる。更に、もしドメイン
記憶装置アクセス信号が真ではなく且つユーザー信号が
真でなければ、ユーザー強制信号が真でない時にシステ
ムアクセス信号が発生する。 ライン544上の仮想信号はANDゲート512の出力から供
給される。ANDゲート512の入力は、ユーザー信号の否
定、ドメイン記憶装置アクセス信号、ドメインCPUステ
ータスビットアT、ドメインアクセス制御レジスタのビ
ットTの否定、及び実強制信号の否定を含む。 ライン542上のアドレスモード信号は、ANDゲート513
或はANDゲート514の出力が真の時に31ビットアクセスを
表わす。ANDゲート513への入力は、DSA信号、ドメインC
PUステータス信号からのビットA、及びユーザー信号の
否定を含む。ANDゲート514の入力はDSA信号、ドメイン
アクセス制御レジスタのビットA、及びユーザー信号の
否定を含む。 ライン545上の二次アドレススペース信号は、ANDゲー
ト515或はANDゲート516の出力が真の時に真となる。ADN
ゲート515への入力は、ドメインCPUステータスレジスタ
のビットE、ドメインアクセス制御レジスタのビット
S、ドメイン記憶装置アクセス信号、一次強制信号の否
定、及びユーザー信号の否定を含む。ANDゲート516への
入力は、ユーザー信号の否定、一次強制信号の否定及び
ドメイン記憶装置アクセス信号を含む。更に、ドメイン
CPUステータス信号のビットPの否定及びANDゲート521
の出力の否定も含まれる。ANDゲート521への入力はドメ
インCPUステータスレジスタのビットE及びドメインア
クセス制御レジスタのビットPを含む。 ライン546上のキーチェック禁止信号はANDゲート517
の出力である。ANDゲート517の入力は、ユーザー信号の
否定、ドメイン記憶装置アクセス信号、及びドメインア
クセス制御レジスタのビットKを含む。 ライン547上の低アドレス保護禁止信号はANDゲート51
8の出力から供給される。ANDゲート518への入力は、ユ
ーザー信号の否定、ドメイン記憶装置アクセス信号、及
びドメインアクセス制御レジスタのビットLを含む。 ライン548上のプログラムイベント記録信号はANDゲー
ト549の出力から供給される。ANDゲート549への入力
は、ユーザー信号の否定、ドメイン記憶装置アクセス信
号、ドメインCPUステータスレジスタのビットR、及び
ドメインアクセス制御レジスタのビットRの否定を含
む。 ドメインアクセス制御信号(DACR)及びドメインCPU
ステータスレジスタ(DCPUS)によって影響を受ける記
憶ユニットからの制御信号を以下に要約説明する。 A.システムアクセス信号 ライン543上のこの信号は、システムアドレスを有す
るシステムアドレススペースへのアクセスを表わす。こ
の信号はドメイン記憶装置アクセスに対して不能化され
なければならない。 FAMにおいては、DSA信号はシステムアクセスを不能化
する。必要なシステムアクセスを特定する「システム強
制」項はDSA項を無効ならしめ、「ユーザー強制」項は
システムアクセスを不能化する。強制項は相互に排他的
である。 B.仮想アクセス信号 ライン544上のこの信号は現行の記憶装置アクセスが
ダイナミックアドレス移行を必要とするであろうことを
表わす。 FAMにおけるドメイン記憶装置アクセスに対しては、
仮想信号はDCPUSのTビットの制御下にある。しかし、D
ACRのTビットはDCPUSのTビットを無効ならしめて仮想
アクセスを不能化する。実強制項も、実記憶装置にアク
セスするのに必要な特定オペランドに対して仮想アクセ
スを不能化する。 C.アドレスモードアクセス信号 ライン542上のこのビットは、活動すると31ビット記
憶装置アクセスを表わし、そうでない場合には24ビット
のアドレスを黙示する。 FAMにおけるドメイン記憶装置アクセスに関し:もしD
CPUSのAビット或はDACRのAビットが活動であれば、31
ビットのアドレッシングが活動となる。 D.二次アドレススペース信号 ライン545のこの信号は、活動した時に二次アドレス
スペースを指示し、それ以外は一次アドレススペースが
黙示される。 FAMにおけるドメイン記憶装置アクセスに関し:この
アクセススペース信号は、オペランド記憶装置アクセス
が与えられた命令に対して一次スペースアクセスを要求
(一次強制)しない限り、ドメインがECモード(DCPUS
−EC)であり且つDACRのSビットが活動である時に活動
となる。また、オペランド記憶装置アクセスが一次スペ
ースアクセスを要求しない限り、DCPUSのPビットがオ
フで且つDACRのPビットか或はDCPUSのECビットの何れ
かがオフであっても、アドレススペースは活動となる。 E.キーチェック禁止信号 ライン546上のこの信号が付活されると、記憶ユニッ
ト内の保護キーチェックを禁止する。 FAMにおけるドメイン記憶装置アクセスに関し:DACRの
Kビットが活動である時、保護キーチェックが禁止され
る。 F.低アドレス保護禁止信号 ライン547上のこの信号が活動であると、記憶装置ユ
ニット内の低アドレス保護(LAP)が禁止される。 FAMにおけるドメイン記憶装置アクセスに関し:DACRの
Lビットが活動の時には低アドレス保護が禁止される。 G.記憶装置プログラムイベント記録(PER)信号 ライン548上のこの信号は記憶ユニットへのインター
フエイス信号ではないが、FAM中のドメイン記憶装置ア
クセスによって影響を受ける。実際には、PERはシステ
ムアドレスに対して禁止されるから、FAM中に発生し得
る記憶装置PERイベントのみがドメイン記憶装置アクセ
スのためのものとなる。 FMA中のドメイン記憶装置アクセスに関し:記憶装置P
ERはDCPUSのPビットの制御の下にある。しかし、DACR
のRビットがDCPUSのRビットを無効ならしめて記憶装
置PERを不能化する。 IV.FAMエントリ試験回路例 第6図及び第7図は、第2図のブロック223によって
示されているFAMエントリ試験回路の実施例を示す。 命令エミュレーションルーチンは(プログラム例外は
殆んど発生しないけれども)通常の命令実行の一部とし
てプログラム例外に対して試験しなければならない。こ
れらのルーチンの効率を改善するために、本明細書では
エミュレーションエントリルーチンの一部としてプログ
ラム例外試験を行うハードウェア技術を説明する。これ
らの試験は −スーパーバイザステートが、エミュレーションされた
命令に対してFAMへのエントリ中にPSWによって特定され
ているか否か、 −エミュレートされた命令のオペランドが必要な整列試
験に合致するか否か、 −FAMエントリ命令が実行命令の標的であったか否か を指示する手段を提供する。 各試験は他の何れの試験の結果にも無関係に遂行され
る。遂行される試験はエミュレートされる命令の制御語
内に特定される。もしFAMエントリ試験に失敗すれば、
特定システム汎用レジスタ(システムGPR3)内の関連ビ
ットがセットされ、FAMへのエントリモードは高速エン
トリから通常エントリへ変更される。この場合、エミュ
レーションルーチンのスタートへの分岐の代りに、FAM
エントリルーチンは代替としての共通ルーチン(プログ
ラム例外及び特別なケースに便益がある)へ分岐する。 第6図に示すように、FAMエントリ試験論理回路623
は、ライン624を通して制御ストアからFAMエントリ試験
を指示するコードを受ける。スーパーバイザステート試
験信号はスーパーバイザ試験制御回路630へ供給され
る。スーパーバイザ試験制御回路は、エミュレートされ
る命令に関するプログラムステータス語のビット15(プ
ログラムステートがオンであるか否かを決定する)を読
む。もしオンであれば、試験の失敗がライン631上の信
号によって示される。ライン631上の信号は制御ストア
分岐論理回路214に供給されて、通常エントリへの分岐
に例外状態を処理させる。 更に、FAMエントリ試験は整列試験も遂行する。第1
オペランドを含む命令に対して、第1オペランドの整列
のための制御論理回路632が可能化される。命令パイプ
ラインの流れの中で、オペランドのアドレスがBサイク
ルオペランドアドレスレジスタ(第2図の204)に到達
すると、ビット29乃至31が読出され、ブロック633内に
おいて整列試験が遂行される。もし第1オペランドの整
列試験が失敗すれば、ライン631に信号が供給されて制
御ストアを通常エントリに強制する。同様に、第2オペ
ランドの整列は制御634への整列を通して可能化され
る。第2オペランドのアドレスがBサイクルオペランド
アドレスレジスタに到達すると、ビット29乃至31が読取
られ論理回路635において試験が遂行される。もし試験
が失敗すれば、ライン631上に信号が発生する。 最後に、実行試験の標的は、高速エミュレーションへ
のエントリ時に、命令がIBM/370動作原理によって特定
されているような実行命令に服している通常動作中にセ
ットされる実行モードトリガをチェックすることによっ
て遂行される。もしエントリ中に実行モードトリガがオ
ンであればライン631上に信号が供給されて制御ストア
を通常エントリへ強制する。 第7図は、第6図に示す高速エントリ試験のための試
験論理回路例の詳細を示す図である。 制御ストアからの命令制御語は、スーパーバイザ試験
付活ビット701、4ビット整列試験コード(整列1、ビ
ットφ;整列1、ビット1;整列2、ビットφ;及び整列
2、ビット1を含む)を含む。更に、OPコードが命令ユ
ニット内のデコーダ704においてデコードされると、実
行命令が供給された時に実行モードトリガ705がセット
される。 スーパーバイザ試験論理回路は、制御語701からのス
ーパーバイザ試験付活ビットとプログラムステータス語
からのビット15とを入力として受けているANDゲート706
を含む。もし両ビットが印加されれば、スーパーバイザ
試験が失敗したことを表す信号がライン707に発生す
る。 整列試験は入力として、制御ストアのブロック702か
ら整列1、ビットφ及びビット1を受け、また制御スト
アのブロック703から整列2、ビットφ及びビット1を
受け、これらはセレクト708へ供給される。セレクタ
は、第1オペランドアドレスの流れの間は整列1制御語
を、また第2オペランドアドレスの流れの間は整列2制
御語を選択する整列制御論理回路によって制御される。
制御ストアからの整列試験制御信号は、後掲の表に特定
されているようにデコーダ709においてデコードされ
る。 もし値がφφであればライン710を通して信号がANDゲ
ート711に供給される。ANDゲート711の出力は、遂行す
べき整列試験が存在せず、従って試験が通過したことを
表わす。 もし選択されたコードがφ1であれば、ライン712を
通して信号がANDゲート713の一方の入力に供給される。
ANDゲート713の他方の入力はオペランドアドレスレジス
タのビット31の否定であり、半語整列に関するチェック
が遂行される。 もしデコーダ709への選択された値が1φであれば、
ライン714へ信号が供給されてANDゲート715への1入力
として印加される。ANDゲート715の他の入力はオペラン
ドアドレスレジスタからのビット30及び31を含む。従っ
てANDゲート715の出力は全語整列チェックの結果であ
る。 もし選択されたコードの値が11であれば、ライン716
上に信号が発生し、ANDゲート717への1入力として供給
される。ANDゲート717の他の入力は、オペランドアドレ
スレジスタのビット29、30及び31が含まれる。従って二
重の語整列チェックが遂行される。 もし、ゲート711、713、715、717の何れかの出力によ
って示されるように整列試験を通過すれば、信号が発生
する。 ANDゲート719、720及び721は整列試験失敗トリガ722
をセットするように組合わされている。整列試験失敗ト
リガの値はライン707に供給されて整列試験が失敗した
ことを表わす。ANDゲート719への入力は、整列試験制御
回路からの第1オペランドの試験を表わすオペランド1
試験制御信号と、ライン718からの整列試験通過信号の
否定とを含む。 ANDゲート720への入力は、ライン718上の整列試験通
過信号の否定と、整列試験制御回路からのオペランド2
試験制御信号とを含む。 ANDゲート721への入力は、整列試験制御回路からのオ
ペランド2試験制御信号と整列試験失敗トリガ722の出
力とを含む。ANDゲート719乃至721の何れかの出力が真
になると、整列試験失敗トリガ722がセットされる。ラ
イン707上の信号はORゲート723に供給されるので、もし
何れかの試験に失敗すれば高速エントリ論理回路(第2
図の214へ信号が供給されて高速エミュレーションへの
エントリが不能化され、通常のエントリが要求される。 更に、各試験の失敗は、ビットをシステム汎用レジス
タ724内に記憶させることによって表示される。 A.スーパーバイザ試験 ある命令に対してこの機能が選択され、その命令がユ
ーザーステートで実行されている時、もし現行のPSW
(プログラムステータス語)がオンであれば: −FAMへの高速エントリの代りに通常エントリが発生
し、 −システムGPR3(1)が「1」にセットされる。 スーパーバイザ試験は、エミュレートされる命令の制
御語内のあるビットによって付活される。このビット
は、プログラムステート中にエミュレートされつつある
特権命令を表わすPSWビット15と論理積され、スーパー
バイザ試験を失敗せしめる。高速エントリは不能化さ
れ、通常エントリが可能化される。マクロコードは、エ
ミュレートされた命令を実行するのではなく、通常エン
トリルーチンを通る環境に従って命令をエミュレートす
る。マクロコードは、ハードウェア/マクロコードがス
ーパーバイザ試験の結果をシステムGPR3のビット1内に
記憶しているので、スーパーバイザ試験に失敗したこと
を知る。 B.整列試験 特定の命令の特定のオペランドに関する整列試験に対
してあるモデルを設けることができる。もしこの機能が
ある命令オペランドに対して利用可能であり、また選択
されたものとすれば、制御ストアフィールドによって特
定される2ビットのコードが整列試験の型を決定して命
令オペランドに対して実行される。考え得るコードの値
と試験の型は以下の通りである。 値 試 験 φφ 無チェック φ1 半語整列チェック 1φ 全語整列チェック 11 二重の語整列チェック もし高速エントリ命令が整列試験に失敗すれば、 −FAMへの高速エントリの代りに通常エントリが発生
し、 −システムGPR3(φ)は1にセットされる。 1或は2命令オペランドに対する整列試験は、エミュ
レートされる命令の制御語内のオペランド当り2ビット
によって付活される。記憶装置オペランドアドレスの関
連低位3ビットが利用可能である場合には、適切な付活
ビットが選択される。オペランド1整列試験は、RR及び
SSフォーマットを除く全ての命令に使用される。オペラ
ンド2整列試験は、エミュレートされるRR或はSSフォー
マット命令の第2記憶装置オペランドに対して使用され
る。選択された2ビットの付活コードはデコードされ、
試験される関連オペランドアドレスレジスタ(OAR)の
ビット(S)と共にゲートされる。φφコードは整列試
験を行わないことを表す。φ1コードはオペランドアド
レスビット31(OPR31)を試験する。もしそれが1であ
れば試験は失敗である。値1φはオペランドアドレスビ
ット30及び31を試験する。もし何れかのビットが1であ
れば整列試験は失敗である。最後に、11コードはオペラ
ンドアドレスビット29、30及び31を試験する。もし何れ
かのビットが1であれば整列試験は失敗である。 エミュレートされる記憶装置オペランドを2つ有する
命令の場合には、第2オペランドアドレスが試験されて
いる間(もし付活されていれば)、第1の試験の結果は
「整列試験失敗」トリガ内に保持される。もし何れかの
オペランドが整列試験に失敗すれば、高速エントリは不
能化され、通常エントリが行われる。マクロコードは、
命令を実行するのではなく、通常エントリルーチンを通
る環境に従って命令をエミュレートする。整列試験が失
敗するとシステムGPR3のビットφがセットされる。 C.実行試験の標的 GPR3(2)は、もしFAMエントリ命令が「実行」命令
の標的であった場合には、1にセットされる。もし1に
セットされていなければFAMエントリ命令がFAMへの高速
エントリを生じさせていても、セットされるとエントリ
モードは通常に切替えられる。 マクロコードは、命令をエミュレートする時、その命
令が実行命令の標的であるか否かを知らなければならな
い。実行命令の通常処理中に、ハードウェアは「実行モ
ード」トリガをセットして当該命令が実行の標的である
ことを表示する。もしこのトリガがFAMエントリ中にオ
ンであれば、高速エントリは不能化され、通常エントリ
が行われ、そしてシステムGPR3のビット2はセットされ
る。 V.まとめ 既存のマシン命令を用いる新規な命令のファームウェ
アエミュレーションは、現存するマシンハードウェアを
変形することなく新しい機能或は特色を導入する効果的
方策を提供する。これらの機能或は特色は、マクロコー
ド或はハードウェア制御点よりも高いレベルで実現さ
れ、より大きい融通性を与える。このクラスのファーム
ウェアはマクロコードと呼ばれ、命令エミュレーション
は高速援助と呼ばれる。 本発明は、 1)多くエミュレーションルーチン試験を遂行するハー
ドウェア援助機構を提供し、それによって各エミュレー
ションルーチンにおける実行のサイクル数を減少させ
る、 2)プログラム記憶装置へのアクセスを取扱うことが可
能な制御技術を限定し、それによって各エミュレーショ
ンルーチンに必要な命令の数を減少させる、 3)プログラム記憶装置並びにエミュレーション記憶装
置への記憶装置アクセスを行う能力を有する任意のマシ
ン命令を作成するための機構を提供し、それによって各
エミュレーションルーチンに必要な命令の数を減少させ
る ことによって、命令エミュレーションルーチンを改善す
る。 以上に特定の実施例に基いて本発明を説明した。当業
者ならば、上述の実施例には多くの変化及び変形を施し
得ること、及びこれらは本発明の思想の中に入るもので
あることが理解されよう。本発明の範囲は特許請求の範
囲のみによって限定される。
ロセッサと共に起るデータ処理装置に関する。各論理プ
ロセッサは記憶スペースを含むドメインを割当てられ、
またデータ処理装置内の機器に関係づけられる。本発明
は、特定滴にはドメイン記憶スペースへのアクセスに関
する。 近代的な高速データ処理装置は複数のユーザー環境に
適応される。単一の装置を複数のユーザー環境に適応さ
せる1つの方策は、各ユーザーに1台の論理プロセッサ
を割当てることを含む。論理プロセッサはあたかもデー
タ処理装置の全機器にアクセスするかの如く挙動する
が、システム制御が特定された記憶スペースのドメイン
及び関連ハードウェアへの論理プロセッサのアクセスを
制限する。このようにすると単一装置内の種々の論理プ
ロセッサが記憶装置内において重複することはない。し
かし、ユーザーインターフエイスを簡略化するために、
論理プロセッサの制限されたアクセスはそのプロセッサ
に対して透明である。従って、装置内を走る命令及びア
ドレスはそれらが実行される或はデータにアクセスする
のに用いられる特定のドメインを特定することはない。 ドメインは、主記憶装置、チャンネル、操作員機器及
び命令を実行する論理プロセッサからなる処理環境であ
る。好ましい実施例においては、ドメインは付活される
と、IBMシステム/370動作原理、或はIBMシステム/370拡
張アーキテクチャ動作原理に述べられている機器を有す
る。これらのリソースはシステム制御プログラムによっ
て制御され、一括してプログラムのドメインと呼ばれ
る。 システム制御プログラムが装置内を引次ぐと、そのド
メインは必要な記憶の量、チャンネル及び論理プロセッ
サの数を割当てるマクロコードによって付活される。シ
ステム制御プログラム及びドメインを割当てるマクロコ
ードは、制御ステートと呼ばれるマシンステートで動作
する。制御ステートは、システムアドレスを用いてアド
レスされるシステム記憶装置と呼ばれる主記憶装置専用
である。 論理プロセッサ内を走るドメインプログラムとして知
られるプログラムは、ユーザーステートと呼ばれるマシ
ンステートで動作する。あるドメインに割当てられた主
記憶装置はドメイン記憶装置と呼ばれ、ドメイン記憶装
置アクセスはドメインアドレスを使用する。 時には、制御ステートで走っているプログラムに関し
てドメイン記憶装置内に記憶されているデータにアクセ
スする必要がある。これは、例えば後述するエミュレー
ション中に発生する。 データ処理装置はマシン命令として知られる1組の命
令を履行するように設計されている。マシンのアーキテ
クチャが定義された後、マシンセット内の命令以外の命
令を履行させたいことが屡々ある。これは、システム記
憶装置内に、新らしい命令をエミュレートするように制
御ステートで起ることができる命令のエミュレーション
プログラムを記憶させることによって達成される。 エミュレートされる命令が論理プロセッサによって検
出されると、制御ステートへの分岐が行われ命令はエミ
ュレートされる。 制御ステートへ分岐すると、制御ステートで走らされ
るエミュレーションルーチンに適用するプログラム例外
に関する試験を行う必要がある。これらの試験にはエミ
ュレーションプログラム内に数線のコードを必要とする
ので、エミュレートされた命令の性能を減ずることにな
る。 また、若干の命令をエミュレートするめには、制御ス
テートで走っているシステム記憶装置内のエミュレーシ
ョンプログラムがドメイン記憶装置内に記憶されている
オペランド或は他のデータにアクセスする必要がある。 上述のように、論理プロセッサが発生する命令及びア
ドレスは、特定のアドレスをドメインアドレスとして処
理するのか、或はシステムアドレスとして処理するのか
を特定しない。 エミュレーション中にこのドメインクロスを得るため
に、先行技術においては制御ステートで動作してドメイ
ン記憶装置へのアクセスを行わせるエミュレーション用
の特別命令を特定していた。しかし特別命令の履行は、
ドメインクロッシングアクセスを履行できる限られた数
の命令にしか過ぎず、履行はコスト高であった。 本発明は、現存する命令フォーマットを用いてドメイ
ン記憶装置アクセスとシステム記憶装置アクセスとを区
別する黙示的ドメインアドレス法と呼ぶ新らしい技術を
提供する。 一面において、本発明によるデータ処理装置は、ドメ
イン記憶スペースを有するユーザードメインとエミュレ
ーション記憶スペースを有するエミュレーションドメイ
ンとを有し、命令のシーケンスを処理する。命令のシー
ケンスは、ユーザードメイン内の1つの命令を含み、こ
の命令はエミュレーションドメイン内の命令のエミュレ
ーションプログラムを呼出す。装置は、命令のシーケン
スを受けるように接続された複数のフィールドを含む命
令レジスタを具えている。命令レジスタの少なくとも1
フィールドは、命令の実行に使用されるオペランドに関
するアドレス情報の位置を識別する。エミュレートされ
る命令を受けるように接続されているデコード手段は命
令をデコードして制御コードを発生する。制御コード
は、エミュレーションドメイン内の命令のプログラムを
呼出す分岐信号、及びエミュレーションドメイン内の命
令のプログラムの実行に際してユーザードメイン記憶ス
ペースにアクセスする必要があるか否かを指示するドメ
インアクセス制御信号を含む。 分岐信号に応答して、エミュレーションドメインから
の命令のプログラムは順次に命令レジスタへ供給され
る。ドメインアクセス制御信号及び命令レジスタ内の1
フィールドによって識別された位置に応答して、このシ
ーケンス内の各命令毎に、ユーザードメインへのアクセ
スが必要であるか否かを指示するユーザードメインアク
セス信号が発生される。 命令レジスタと通信しているデータ処理装置内のアド
レス手段は、記憶手段内に記憶されているオペランドに
関するアドレスを供給する。ユーザードメインアクセス
制御信号及びオペランドアドレスを受けるように接続さ
れている記憶手段は、ユーザードメイン及びエミュレー
ションドメインからのオペランドをアドレスによって識
別された位置に記憶する。これらのアドレスは、制御ス
テート中は通常は記憶手段においてエミュレーションド
メインアドレスとして解釈される。しかし、本発明によ
れば、ユーザードメインアクセス信号に応答して、アド
レスをユーザードメインアドレスと解釈する手段が含ま
れている。 以上に概要を説明した本発明によるデータ処理装置
は、別の面において、エミュレーションプログラムへエ
ントリーした時のプログラム例外に関する試験を、制御
ステートへの分岐時に迅速に遂行する。デコード手段は
エミュレートされる命令に応答して、分岐信号及び分岐
試験信号を含む制御コードを発生する。分岐信号に応答
する手段は装置のプログラム制御を第2のステート即ち
エミュレーションステートへ分岐させ、命令をエミュレ
ートする高速プログラムへ進ませる。分岐試験信号を受
ける手段は、エミュレーションステートへ分岐した時に
進んだ高速プログラムは別として、エミュレーションス
テートへ分岐した時にプログラム例外のための試験を行
う。プログラム例外が検出されると、プログラム例外を
処理する別の命令のプログラムへ更に分岐し、特別な処
理が行れれる。以上のようにして、エミュレーションプ
ログラムへのエントリが迅速に発生し、エミュレーショ
ンは効率的に進行する。プログラム例外を検出した時だ
けエミュレーションプログラムへはより厄介なエントリ
が必要となる。 黙示的ドメインアドレス法を用いると、制御ステート
において命令のエミュレーション中にドメイン記憶装置
へのアクセスを使用することが可能な命令セットは、本
質的に、システム記憶装置へアクセス可能な全ての命令
を含むように拡張される。プログラム例外に関する高速
試験を付加したことによって、エミュレーション性能は
極めて高められる。 以下に添付図面を参照して好ましい実施例を詳述す
る。先ず、第1図を参照して本発明のデータ処理システ
ム環境を説明する。次で第2図を参照して本発明の装置
の、エミュレーションプログラムへエントリ中に動作す
る部分を説明する。第3図においてはエミュレーション
プログラムの動作中に動作する本発明の一部を説明し、
最後に第4図乃至第7図に基いて本発明の要素の詳細動
作を説明する。 I.システムの概要 第1図は本発明を実施するデータ処理装置を示す。こ
のデータ処理装置は、命令及びオペランドを処理する命
令ユニット/実行ユニット10、命令及びオペランドを命
令ユニット/実行ユニット10へ供給しまた命令及びオペ
ランドを主記憶装置12から引出すキャッシュ記憶ユニッ
ト11を含む。 命令ユニット/実行ユニット10はライン17を通して制
御信号及びアドレスをキャッシュ記憶ユニット11へ供給
する。制御信号の1つは、ドメインアクセス或はシステ
ムアクセスが必要か否かを指示する。データはバス18を
通して命令ユニット/実行ユニット10に戻される。 同様に、キャッシュ記憶ユニット11はアドレス及び制
御情報をシステムアドレスに移行されている主記憶装置
12へライン19を通して送る。データはバス20を介して主
記憶装置12とキャッシュ記憶ユニット11との間に供給さ
れる。 命令ユニット/実行ユニット10の各ユーザーには、ド
メイン記憶装置を含むデータ処理装置内のドメインが割
当てられる。即ち、第1図の主記憶装置12は、ドメイン
1記憶装置13、ドメイン2記憶装置14、及びドメイン3
記憶装置15を有するように示されている。更に、データ
処理装置は、マシンリソース及びシステム記憶装置16と
して知られる主記憶装置の一部へのアクセスを有する制
御ステートで動作する。ドメイン記憶装置とシステム記
憶装置とは、個々のドメインへ割当てられたアドレスス
ペースによって区別される。しかし、あるドメイン内で
動作している論理プロセッサは、処理中にそのプロセッ
サが使用可能なアドレスに拘束されることはない。そう
ではなく、論理プロセッサがイニシャライズされた時、
キャッシュ記憶ユニットはドメイン記憶装置に対する要
求を認知するように、且つ命令ユニット/実行ユニット
10から供給されるアドレスをドメインアドレススペース
内へ移行するように設定される。 第1図には、装置の特定ユーザーが使用するための入
力/出力機器、チャンネル、ダイレクトアクセス記憶装
置、及び個々のドメインに割当てられている他のリソー
スは示されていない。これらの機器は総合的なデータ処
理装置環境内に含まれているものであるが、本発明にと
って重要ではない。 本発明は、前述の本発明の背景で説明したように、命
令のエミュレーションの特定の応用を有する。マシンセ
ット内に含まれない命令は、システム記憶装置内のエミ
ュレーションプログラムへ分岐することによって実行さ
れ、これはユーザーステートを一時的に離れて制御ステ
ートに入ることによって実行される。制御ステートにお
いては、制御ステートにおいて利用可能なマシンリソー
スはシステムドメインとして考えることができる。シス
テムドメインはシステム記憶装置を含む。しかし、実シ
ステムアドレスが制御ステートで走るプログラムによっ
て使用されるので、キャッシュ記憶ユニット11は、ユー
ザーステートにおいて行われるように、アドレスが移行
されることはない。 エミュレーション中、装置が制御ステートで動作して
いる場合、履行される命令のオペランドを記憶している
ドメイン記憶装置へのアクセスが屡々必要である。従っ
て、記憶ユニット11は、ドメイン記憶装置アクセスが行
われるドメインアドレススペースへのアドレスの適切な
移行を行い得る時点を告知しなければならない。更に、
データアクセスに必要な他の記憶ユニットパラメータは
ドメイン記憶装置へのアクセスを容易ならしめるように
処理される。 A.エミュレーション制御ステートへのエントリ 第2図は、エミュレーションプログラムへのエントリ
中に動作する本発明による命令ユニットの一部を示す。
命令のシーケンスは、Dサイクル命令レジスタ201、命
令の実行に際して使用されるオペランドのアドレスを発
生する手段202、Aサイクル実効アドレスレジスタ203、
Bサイクルオペランドアドレスレジスタ204、Xサイク
ルレジスタ205、Wサイクルレジスタ206、及び複数の制
御レジスタ207を含むパイプライン200を通して供給され
る。 ライン208に印加される命令に応答して制御ストアア
ドレスが手段209内で発生し、ライン210を通して制御ス
トア211に供給される。制御ストア211は命令をデュード
して制御コードを発生する手段である。エミュレートす
べき命令を受けると制御コード212がアドレスされる。
制御コード212の一部はライン213に供給されて、エミュ
レーションが遂行されることを指示する。ライン213上
のコードは制御ストアアドレス発生手段209へ供給され
る分岐アドレスを発生する手段214に印加される。続く
サイクル中に分岐アドレスがライン210を通して制御ス
トア211に供給され、高速援助モードFAMとして知られる
エミュレーションモードへエントリするための制御コー
ドが発生される。 次に、エミュレーションプログラム中に使用ささるべ
きデータアクセス制御を識別するコードがライン215に
供給される。データアクセス制御コードDACはライン215
を通してレジスタ216へ供給される。命令ユニットパイ
プライン200の流れの中で、DACレジスタ216の内容はセ
レクタ217で選択され、加算器218を通してAサイクル実
効アドレスレジスタ203へ送られる。DACはパイプライン
200を下ってオペランドアドレスレジスタ204、オペラン
ド語レジスタ205、結果レジスタ206を通り、DAC制御レ
ジスタ219(DACR)内に記憶され、エミュレーションプ
ログラム中に利用される、DACコードの特性の詳細に関
しては後述する。 制御レジスタ207は、ドメインCPUステータスレジスタ
220(DCPUS)及びプログラムステータス語レジスタ221
(PSW)をも含む。ドメインCPUステータスレジスタ220
はライン222を通してプログラムステータス語(この好
ましい実施例においては高位部分)をXサイクルオペラ
ンド語レジスタ内へ読込むことによってロードされる。
プログラムステータス語はオペランド語レジスタ205か
らWサイクル結果レジスタ206に供給される。更にそこ
からドメインCPUステータスレジスタ220へ印加される。
レジスタ220内のこのドメインCPUステータスコードは、
後述するようにエミュレーションプログラムの実行中に
も利用される。プログラムステータス語レジスタ221の
内容は、ロードPSWの如き若干のマシン命令の実行中に
ロードされる。 本発明によれば、エミュレーションプログラムの高速
エントリを容易ならしめるために、若干の高速エントリ
試験223が実行される。高速エントリ試験は、ライン224
を通して制御コード212の一部を高速エントリ試験回路2
23へ供給することによって識別される。もし高速エント
リ試験223に失敗すれば、ライン225を通して手段214に
信号が供給され、分岐アドレスを発生させて制御ストア
アドレス発生手段209を新しい制御ストア位置に分岐さ
せ、「通常エントリ」と呼ばれる実行モード内のエミュ
レーションルーチンを処理する。高速エントリ試験回路
223に関しては第6図及び第7図を参照して後述する。 命令の実行に使用されるオペランドのアドレスを発生す
る手段202は、複数の汎用レジスタ226、加算器218、セ
レクタ217及び命令プラットホーム201を含む。命令プラ
ットホームは、Dφ、D1、D2、D3及びD4で図示されてい
るように複数のフィールドに分割されている。少なくと
も1つの命令フィールドは、後述の命令のフォーマット
に依存して、ライン227を通して供給され、複数の汎用
レジスタ226から1つの汎用レジスタ内に位置している
アドレス情報を選択させ、加算器218へのベースアドレ
スとして供給させる。従って、命令プラットホーム201
内の少なくとも1つの命令フィールドは、その命令の実
行に使用されるオペランドのベースアドレスの位置を識
別する情報を含む。 更に、命令の第2フィールドがライン228に供給さ
れ、セレクタ217を通して加算器218への第2の入力とし
て印加される。ライン228を通して供給される命令の第
2フィールドと汎用レジスタ226から供給されるベース
アドレスとを加算すると、Aサイクル実効アドレスレジ
スタ203へ供給されるオペランドのアドレスが得られ
る。 実効アドレスレジスタ203から、アドレスは記憶ユニ
ットへ供給されてデータが引出され、このデータは記憶
ユニットからXサイクルオペランド語レジスタへ供給さ
れる。 第2図は制御レジスタ207のローディング及びエミュ
レーションプログラムへ分岐させるイベントのシーケン
スを示している。制御レジスタ207は、レジスタ203から
供給されるアドレスの解釈のために記憶ユニットへ供給
されるインターフェイス信号の発生に使用される(後
述)。 B.エミュレーション中の動作 第3図は、エミュレーションプログラムの走行中に本
発明によって影響される命令ユニット及び記憶ユニット
の一部を示す。第3図並びに第2図に示す命令ユニット
の部分は、命令プラットホーム301(第2図の201)、デ
ータアクセス制御コードレジスタ319(第2図の219)、
ドメインCPUステータスレジスタ320(第2図の220)、
及びプログラムステータス語レジスタ321(第2図の22
1)を含む。命令の実行に用いられるアドレスを発生す
る手段302は、汎用レジスタ326、加算器318、及び命令
プラットホーム301を含む。少なくとも1つの命令フィ
ールドがライン327に供給されて汎用レジスタ326の選択
を制御し、加算器318へベースアドレスを供給される。
命令プラットホーム301の少なくとも1つの他のフィー
ルドがライン328から加算器318に供給され、ベースアド
レスに加算されてオペランドアドレスが発生し、実効ア
ドレスレジスタ303へ供給される。実効アドレスレジス
タ303内のアドレスはライン330を通して全体を331で示
す記憶ユニットへ供給される。更にこのアドレスは命令
ユニットパイプラインを通してBサイクルオペランドア
ドレスレジスタ304へも供給される。命令ユニットパイ
プラインの残余部分に関しての説明は省略する。 命令プラットホーム301内のある命令は、ライン381を
通して複数の命令フィールドを命令デコード手段332へ
供給する。更に、制御ストア211(第2図)からの制御
ストアタグがライン329を通して命令デコード手段332へ
供給される。手段332における命令のデコードに応答し
てライン333に制御信号が発生し、これらの信号は命令
ユニット/記憶ユニットインターフエイス論理回路334
へ供給される。命令ユニット/記憶ユニットインターフ
エイス論理回路334の詳細は第5図を参照して後述す
る。 また、あるオペランドのベースアドレスを保持してい
る汎用レジスタを識別する命令フィールドは、ドメイン
記憶装置アクセス検出論理回路335へも供給される。こ
のドメイン記憶装置アクセス検出回路335の詳細は第4
図を参照して後述する。この回路335はライン338上にド
メイン記憶装置アクセス信号を発生して命令ユニット/
記憶ユニットインターフエイス論理回路334へ供給す
る。 命令ユニット/記憶ユニットインターフエイス理論回
路334は、更に、ライン339を通してドメインアクセス制
御レジスタ319から他の制御信号も受けている。またド
メインCPUステータスレジスタ320はライン340を通して
インターフエイス論理回路334へ制御信号を供給し、プ
ログラムステータス語レジスタ321はライン341を通して
インターフエイス論理回路334へ制御信号を供給してい
る。 インターフエイス論理回路334は制御信号を発生して
記憶ユニット331へ供給する。これらの制御信号は、実
効アドレスレジスタ303からライン330を通して供給され
るアドレスに応答してデータを取出すのに用いられる。
これらの制御信号はライン342上のアドレスモード信
号、ライン343上のシステムアクセス信号、ライン344上
の仮想アドレス信号、ライン345上の二次アドレススペ
ース信号、ライン346上のキーチェック禁止信号、及び
ライン347上の低アドレス保護禁止信号を含む。 ライン342上のアドレスモード信号は、24ビット或は3
1ビットの何れのアドレスが供給されているのかを決定
することによって、ライン330上に供給されるアドレス
のモードを制御する。 ライン343上のシステムアクセス信号は、記憶ユニッ
トがライン330上のアドレスをシステムアドレス、或は
ドメインアドレスの何れかとして応答する態様を制御す
る。システム制御プログラムがセットアップされると、
記憶ユニットのレジスタ348内にシステム記憶装置内の
ドメイン限界を限定するパラメータがロードされる。シ
ステム制御ステートに割当てられているアドレスもレジ
スタ349内にシステム限界として記憶される。システム
限界及びドメイン限界は、ライン343上のシステムアク
セス信号によって制御されているセレクタ350に供給さ
れ、システム限界或はドメイン限界の何れかが選択され
る。ライン330上のアドレスはコンパレータ351におい
て、選択されたシステム限界或はドメイン限界と比較さ
れ、アクセスのための有効アドレスが供給されたか否か
が決定される。もしこのアドレスが有効アドレスでなけ
れば、アドレス例外信号がライン352上に発生する。 システムアクセス信号は、キャッシュ内のアドレスに
対して遂行される移行の種類を決定するのにも用いられ
る。ドメインアドレスは仮想アドレス或は実アドレスの
何れであってもよい。もし仮想アドレスであれば、移行
には移行ルックアサイドバッファ353が使用される。ま
たもし実アドレスであればドメインベース調整機構354
が用いられてドメイン内のシステムアドレスへのアドレ
スが調整される。もしそれがドメインアクセスでなけれ
ば移行或はドメインベース調整は不要である。 従って355に示すように移行のモードを制御するため
に、ライン344上の仮想アドレス信号とライン343上のシ
ステムアクセス信号の組合せが使用されるのである。 IBM/370アーキテクチャに特定されているようなデュ
アルアドレススペース命令に対しては、ライン345上の
二次アドレススペース信号が一次及び二次記憶装置への
アクセスを制御する。一次及び二次アドレススペースの
位置はそれぞれ制御レジスタ1 356及び制御レジスタ7 3
57内に特定されている。ライン345上の二次アドレスス
ペース信号はセレクタ358を制御してダイナミックアド
レス移行回路359へ適切な識別名を供給される。 ライン346上のキーチェック禁止信号は、タグアクセ
スキー及びユーザー記憶装置キーがそれぞれレジスタ36
1及び362内に記憶されている値によって指示されるもの
と整合しない時の、ライン360上の保護例外信号の発生
を、禁止する。 ライン347上の低アドレス保護信号は、低アドレス保
護検出回路364が低アドレス領域内にライン330からのア
ドレスを検出した時ライン363上に保護例外信号を発生
するのを、禁止する。 図から明白なように、記憶ユニットはライン330から
アドレスを受け、複数の制御信号に応答してそれを処理
する。オペランドを取出すために記憶ユニットにアドレ
スを供給する各命令毎に、ライン343上のシステムアク
セス信号はシステムアドレスが供給されているのか、或
はドメインアドレスが供給されているのかを特定する。
しかし、上述のように、命令プラットホーム301はシス
テム或はドメインアクセスが行われていることを特定す
るフィールド或はビットを含んでいない。本発明によれ
ば、ドメインアクセス制御レジスタ319内に記憶されて
いるエミュレーションプログラムへエントリすると制御
コードを発生して黙示的ドメインアドレッシングを可能
ならしめる手段が設けられている。ドメイン記憶装置ア
クセス検出論理回路335は、オペランドアドレスの発生
に使用される汎用レジスタを特定する命令からのフィー
ルドの内容と、汎用レジスタの予め選択された範囲とを
比較して、ある命令のためにドメインアクセスが必要か
否かを決定する。ドメイン記憶装置アクセス検出論理回
路335もライン336を通して命令デコード手段332から、
詳細を後述する命令フォーマットを識別する若干の制御
信号を受ける。ドメインアクセス制御信号はライン338
を通して命令ユニット/記憶ユニットインターフエイス
論理回路334に供給され、ライン343上にシステムアクセ
ス信号を発生させる。 更に、本発明によれば、ドメインアクセス制御レジス
タ319は他の信号をも記憶しており、これらの信号はド
メインCPUステータスレジスタ320内に記憶されている制
御信号と組合ってプログラムステータス語レジスタ321
からインターフエイス論理回路334へ供給される信号を
無効ならしめる。これらの制御信号は、制御ステートで
動作中のエミュレーションプログラムからドメインアド
レスにアクセス中に、ライン342上にアドレスモード信
号、ライン345上に二次アドレス信号、ライン346上にキ
ーチェック禁止信号、及びライン347上に低アドレス保
護禁止信号を発生させる。本明細書に記載されている特
色を以下に説明する。 C.黙示的ドメインアドレッシング 「黙示的ドメインアドレッシング」を用いると、「制
御ステート」からドメイン記憶装置にアクセスするのに
使用できる命令セットは、システム記憶装置にアクセス
可能な本質的に全ての命令を含むまでに拡張される。シ
ステム汎用レジスタGPR326の特定範囲は(それらをベー
スアドレスを提供するように用いた場合には)、随意的
に、暗黙のドメインアドレッシングを生じさせることが
できる。これらのレジスタを「ドメインアドレッシング
ベースレジスタ」、略としてDABRと名付ける。 「黙示的ドメインアドレッシング」はDACR319内の「D
ABR付活制御」ビットを介して付活される。「黙示的ド
メインアドレッシング」が付活され、「ドメインアドレ
ッシングベースレジスタ」がオペランドのアドレスに用
いられている場合には、常に「システムアドレッシン
グ」を使用する或は常に「ドメインアドレッシング」を
使用すると明確に特定されている基準を除いて、「シス
テムアドレッシング」に代って「ドメインアドレッシン
グ」が用いられる。 D.ドメインアドレッシングベースレジスタ (DABR) システムGPR2−7は「ドメインアドレッシングベース
レジスタ」(DABR)と名付けられている。これらは、
「黙示的ドメインアドレッシング」が付活され且つこれ
らがある命令の特定レジスタフィールド(単数或は複
数)に特定されている場合を除いて、他のシステムGPR
と同じように動作する。この場合、以下のケースにおけ
る関連オペランドに対して「ドメインアドレッシング」
ルールが適用される(実効アドレス計算及び主記憶装置
へのアドレスの両方或は何れか一方を遂行する際に): −仮想アドレスである命令オペランド。 −理論アドレスである命令オペランド。 −実アドレスである命令オペランド。 以下のケースに対しては「黙示的ドメインアドレッシ
ング」は決して適用されない。 −命令アドレス。 −PSWのアドレス、割込みコード、及び割込み中に使用
される関連情報。 −ベースアドレスにオフセットとしてハードウェアによ
って加算されるアドレス。この場合ベースアドレスはア
ドレッシングの型を決定する。 −アドレスとして使用されないオペランドアドレスのフ
ォーメーション。 次表は、関連するシステムGPRがDABRとして活動時
に、「制御ステート」における各命令フォーマット毎の
レジスタフィールド(各オペランドによってアドレスす
るDABRを指定する)を示す。 DABRとして使用されるベースレジスタ:E.ドメインアクセス制御 「ドメインアクセス制御」は各記憶装置オペランド毎
に黙示的ドメインアドレッシングを付活する。DABRの2
範囲を付与するために2ビットが限定される。しかし、
これは各DABR毎に1制御ビットを付与するように一般化
できる。 各制御ビットは、DABRの特定のセットに対して黙示的
ドメインアドレッシングが使用されるか否かに依存し
て、独立的にセット可能である。ドメインアクセス制御
ビットはエミュレートされる命令の制御語内に限定さ
れ、制御ステートマシン命令によって扱うことができ
る。 高速援助モードFAMにおいては、現行PSWのフィールド
は無効にされる。プログラム実行は実効PSWによって制
御される。動作はECモード及び多くの割込みが不能化さ
れたスーパーバイザステートにある。システム記憶装置
アクセスに対して31ビットの実アドレッシングが使用さ
れ、プログラムイベント記録(PER)は不能化される。
システム記憶装置アクセス用PSWキー(システムキー)
は、ドメインが付活されるとマクロコードによってセッ
トされる。 FAM中のドメイン記憶装置アクセスを制御する実効PSW
は、「ドメインCPUステータス」(DCPUS)と呼ばれる。
FAM中のDCPUSは、エミュレートされる命令に対して有効
であったPSWである。このPSWはFAMエントリルーチンの
一部として捕捉され、システムレジスタ内に配置され
る。これはユーザー制御モードを特定し; −制御レジスタ9、10及び11によって制御されるドメイ
ン基準に対するPER −oダイナミックアドレス移行 oアドレッシングモード oドメインキー oアドレススペース制御 に関係づけられたドメインアドレッシングを制御す
る。FAMにおいては、DCPUSは制御ステートに限定された
命令を用いて変更することができる。これは新しいPSW
をロードするのと同等である。 「ドメインアクセス制御」は、ドメイン記憶装置アク
セスに伴うPSW内の種々のビットを扱うことができる。
この便益を「ドメインアクセス制御」と呼ぶ。「ドメイ
ンアクセス制御」は、DCPUS及び制御レジスタ(この制
御がなければドメインアドレッシングを制御する)の両
方或は何れか一方の若干のフィールド、並びに黙示的ド
メインアドレッシングに用いられる「ドメインアクセス
ベースレジスタ」(DABR)の付活を制御するために供給
されるビットに対する無効作用を特定する。これによっ
てエミュレーションルーチンはドメインPSWを変更する
ことなくこれらの機能を処理する能力を持つ。これは、
エミュレーションに必要な多数の命令を減少させること
になり、エミュレーションルーチンの効率を改善する。
「ドメインアクセス制御」は「ドメインアクセス制御レ
ジスタ」(DACR)内に収容されている。DACRはFAMエン
トリ中にエミュレートされた命令の制御語からロードさ
れ、制御ステートマシン命令によってエミュレーション
ルーチン内において変更可能である。 1=保留 S=二次アドレッシング無効;移行を受けるドメインア
ドレッシング記憶装置基準のために二次仮想アドレッシ
ングを使用せよ(実効DCPUSのSビットを無効さとする
…………1として処理する)。 もし実効DCPUSがBCモードを特定していれば、この制
御のセッティングは無視される。 P=ドメイン一次アドレッシング無効:移行を受ける
ドメインアドレッシング記憶装置基準のために一次仮想
アドレッシングを使用せよ(実効DCPUSのSビットを無
効とする………0として処理する)。 もし実効DCPUSがBCモードを特定していれば、この制
御のセッティングは無視される。 R=ドメインPER記憶装置変更無効:ドメインアドレ
ッシング記憶装置基準のためにPER記憶装置・変更・イ
ベント試験を抑圧せよ(CR9ビット2を無効とする……
…0として処理する)。 T=ドメイン移行無効:論理的ドメインアドレッシン
グ記憶装置基準のために移行を抑圧せよ(実効DCPUSの
Tビットを無効とする………0として処理する)。 A=ドメインアドレッシングモード無効:ドメインア
ドレスのために31ビット実効アドレッシング発生ルール
を使用せよ。(実効DCPUSの(A)を無効とする………
1として処理する)。この制御は実効DCPUSがBCモード
或はECモードを特定しているか否かに拘わらず効果を生
ずる。 C=DABR付活制御1:システムGPR4−7をDABRとする暗
黙ドメインアドレッシングを付活せよ。 D=DABR付活制御2:システムGPR2−3をDABRとするた
め暗黙ドメインアドレッシングを付活せよ。 注:ビットC及びDが共に1であってよい。この場合指
定されたシステムGPRの両組はDABRとして活動する。 L=ドメイン低アドレス保護無効:ドメインアドレッ
シング記憶装置基準のために低アドレス保護を抑圧せよ
(CROビット3を無効とする……0として処理する)。 K=ドメインキー保護無効:ドメインアドレッシング
記憶装置基準のためにキー保護を抑圧せよ(実効DCPUS
キーフィールドを無効とする、ビット8−11…………0
として処理する)。 次表は「ドメインアクセス制御」の作用を要約したも
のである。 1.無効制御は以下の如く動作する。 あるビットがオンの時、FAM中のCPUによる全てのドメ
インアドレッシングの対応部分が無効になる。なるビッ
トがオフの時、それに対応する無効作用は破棄され、ド
メインアドレッシングは通常の如く進行する(DCPUS、
制御レジスタ等の制御の下に)。 2.DABR付活制御は、ドメインアドレッシングルールを適
用するか否かを決定する際のDABRの使用を制御する。 もしあるビットがオフであれば、システムGPRの関連
セットは他のシステムGPRと同等に動作する。もしある
ビットがオンであれば、システムGPRの関連セットはDAB
Rとして活動する。これらのシステムGPRの1つを論理ア
ドレッシング或は実アドレッシングのためのベースとし
て使用する時には、ドメインアドレッシングルールを適
用させられる。 II.黙示的ドメインアドレッシング実施例 ドメイン記憶装置アクセス論理回路335の論理図を第
4図に示す。この論理回路は、現行の記憶装置アクセス
が「ドメイン記憶装置アクセス」(DSA)であるか否か
を確定する。 命令OPCODEフィールドDφ(2バイトOPCODEにおいて
はDφ、D1、D2)は論理回路432において命令フォーマ
ットの型にデコードされる。ライン440、441及び442上
の信号によってそれぞれ示されているように、RR、RRE
及びSSフォーマットだけがデコードされる。他の全ての
フォーマットは同一位置にそれらのDABRを有している。
命令デコーディングによって、記憶装置アクセスが第1
記憶装置オペランドを含むか否かの確立も行われる。こ
れは、SSフォーマット命令(記憶装置オペランドが2つ
存在し、各オペランドがそれ自体の独特なDABRを有す
る)のような場合に重要である。若干のRRフォーマット
命令も2つの記憶装置オペランドを有している。ライン
444上の「OAR1アクセス」なる語は、第1記憶装置オペ
ランドがアクセスされつつあるとを示す。即ち、SSフォ
ーマットに対するB1と、RRフォーマットに対するR1であ
る。他の全てのフォーマットは1つの記憶装置オペラン
ドしか有していないから、「OAR1アクセス」はB1或はB2
オペランドの何れかに適用される。 他の3つの機能信号が命令デコード手段432から供給
される。即ち、 1)ライン443上のDFIST信号。これは命令アルゴリズム
の第1の流れ即ちシーケンスを表わす。 2)ライン445上のユーザー信号。これはプロセッサが
ユーザーステートにある(即ちFAM或は制御ステートで
はない)ことを表わす。 3)ライン446上のDSA不能化信号。これは、例えばシス
テムアドレスを必要とする分岐命令のような若干の命令
の型に対してドメイン記憶装置アクセスを禁止するデコ
ードである。 ライン447上のドメインアクセス制御レジスタビット2
8及びライン448上の同じくビット29はそれぞれシステム
GPR4−7及び2−3をDABRとする暗黙のドメインアドレ
ッシングを付活する。 第4図は、第3図に番号335で示したドメイン記憶装
置アクセス論理回路の実施例の論理図である。命令プラ
ットホームは、前述のように複数のプロセッサDφ−D4
に細分されている。命令のフォーマットに依存して、特
定フィールドが汎用レジスタからのベースアドレスへの
アクセスに使用される。即ち、D1、D2或はD3フィールド
の何れかを汎用レジスタの特定に使用できる。従ってド
メイン記憶装置アクセス論理回路は、D1フィールドを比
較してそれが4乃至7の範囲内にあるレジスタを特定し
ているか否かを決定する手段449、及びD1フィールドが
2乃至3の範囲内にあるかを決定する手段450を含む。
これらの手段はライン451を通してD1フィールドの内容
を受けるように接続されている。 D2フィールドの内容はライン452を通して手段453に供
給されてD2が4乃至7の範囲内にあるか否かが検出さ
れ、また手段454に供給されてD2乃至3の範囲内にある
か否かが検出される。 D3フィールドはライン455を通して手段456に供給され
てD3が4乃至7の範囲内にあるか否かが決定され、また
手段457に供給されてD3が2乃至3の範囲内にあるか否
かが決定される。明らかに、ドメインアクセスベースレ
ジスタのために用いられる汎用レジスタの範囲は随意で
あり、ユーザーに適合する任意の範囲から選択可能であ
る。 ドメインアクセス制御レジスタ419からのビット28及
び29の値に依存して、範囲4乃至7、或は2乃至3の何
れか、或は両者がドメインアドレスベースレジスタ範囲
として特定される。即ち、ANDゲート458はライン447か
らのビット28及び手段449の出力を入力として受け、範
囲4乃至7内のドメインアクセスベースレジスタがフィ
ールドD1によって特定されている時に真出力を発生す
る。 ANDゲート459は入力として手段450の出力とライン448
上のドメインアクセス制御レジスタからのビット29とを
受け、範囲2乃至3内のドメインアドレスベースレジス
タがフィールドD1によって特定されている時に真出力を
発生する。同様に、ANDゲート460は手段453の出力とラ
イン447からのビット28とを入力として受け、ANDゲート
462は手段456の出力とライン447を通してドメインアク
セス制御レジスタからのビット28とを受ける。ANDゲー
ト460及び462の出力は範囲4乃至7内のドメインアドレ
スベースレジスタがそれぞれフィールドD2或はD3によっ
て特定されている時に真となる。 ANDゲート461及び463はそれぞれ手段454及び456の出
力と、ライン448を通してドメインアクセス制御レジス
タからのビット29とを入力して受けている。ANDゲート4
61及び463の出力は、範囲2乃至3内のドメインアドレ
スベースレジスタがそれぞれフィールドD2或はD3内に特
定されている時に真となる。 ANDゲート458及び459の出力はライン471に供給され、
フィールドD1においてドメインアドレスベースレジスタ
を特定する命令フォーマットからのドメインアクセスを
指示する。ANDゲート461及び460の出力はライン472に供
給され、フィールドD2に関してドメインアドレスベース
レジスタを特定する命令フォーマットによるドメインア
クセスを指示する。ANDゲート462及び463の出力はライ
ン473に供給され、フィールドD3に対してドメインアド
レスベースレジスタを特定する命令フォーマットからの
ドメイン記憶装置アクセスを指示する。 ANDゲート464は入力としてライン440上のRRフォーマ
ット信号、ライン471上のD1フィールドドメインアクセ
ス信号、及びライン444上のOAR1アクセス信号(OAR1)
を受け、ライン474上のRRフォーマットの第1オペラン
ドへのドメインアクセスに対して真出力を発生する。 ANDゲート465は入力としてライン440上のRRフォーマ
ット信号、ライン444上のOAR1アクセス信号の否定、及
びライン472上のD2フィールドドメインアクセス信号を
受ける。ゲート465はライン474上に、D2フィールドから
のドメインアクセスを特定するRRフォーマット命令に対
して、且つライン444上の信号によって表わされる第1
オペランドアクセスが否定された時に真の出力を発生す
る。 ANDゲート466は、PREフォーマット内の命令が、フィ
ールドD2からのドメインアドレスに関するオペランドア
ドレスレジスタからの第1のアクセスに対して且つ命令
の第1の流れが否定された時にライン474上に真の出力
を発生する。 ANDゲート467は、フィールドD3からドメインアクセス
が要求された時に命令の第1の流れの中のSSフォーマッ
トの命令に対して真の出力を発生する。この出力はライ
ン475に供給される。 ANDゲート468は、SSフォーマットの命令が供給された
時に、且つそれが第1のアドレスではなく、またフィー
ルドD3から特定されたドメインアドレスレジスタに関す
る第1の流れではないと真の出力を発生する。 ANDゲート469は、SSフォーマットの命令が第1の流れ
ではなく且つライン476との信号が真である時にSSフォ
ーマットの命令に対してライン474上に出力を発生す
る。 ANDゲート470は、あるドメインアドレスベースレジス
タがフィールドD3から特定された時、第1のOAR1アクセ
ス中に、RR、RRE及びSS以外の全ての命令フォーマット
に対してライン474上に真の信号を発生する。 ANDゲート467の出力はライン475を通してドメイント
リガラッチ477に供給され、ラッチ477はライン476上に
信号を供給してANDゲート469の出力を制御する。 ライン474及び475上の信号はORゲート478に供給さ
れ、ORゲート478はライン479上に出力を発生する。AND
ゲート480はライン479上の信号、ライン445上のユーザ
ー信号の否定、及びライン446上のDSA不能化信号の否定
に応答して、ライン499上にドメイン記憶装置アクセス
制御信号を発生する。 ドメイン記憶装置アクセス制御信号(DSA)の設計式
は以下の通りである。 は制御ステート、特にFAMに対してドメインアドレッシ
ングを許容するものである。 RRフォーマットに関して、第1記憶装置オペランド
(OAR1アクセス)は命令のR1フィールドをDABRとして使
用する。このフィールドはD1命令プラットホームフィー
ルド内に含まれる。項“D1=4:7"はR1フィールドが4と
7との間の値を有していることを表わし、DACRビット28
と論理積されてドメイン記憶装置アクセスを付活する。
同様に、“D1=2:3"項はR1フィールドが2或は3の値を
有していることを表わし、DACRビット29と論理積されて
DSAを付活する。 RRフォーマット命令の第2記憶装置オペランド に関する「ドメイン記憶装置アクセス」を付活するため
にR2アドレス(D2命令プラットホームフィールド内)は
D2=4:7項とDACRビット28との論理積或はD2=2:3項とDA
CRビット29との論理積を有するDABRとして使用される。 PREフォーマット命令に対しては、R2フィールドは第
1命令サイクル(DFIST)内のD2命令プラットホームフ
ィールドへ移動される。従ってこのサイクルにおいては
PREフォーマットに関する記憶装置要求は供給すること
ができない。第1サイクル の後、“OAR1アクセス”で表わされる記憶装置オペラン
ドアクセスはD2フィールドをDABRとして使用する。従っ
てD2=4:7及びDACRビット28或はD2=2:3及びDACRビット
29が「ドメイン記憶装置アクセス」を生じさせる。 SSフォーマット命令に関し:第1記憶装置オペランド
(OAR1アクセス)は第1命令流(DFIST)内にアクセス
することができる。B1フィールドは命令プラットホーム
のD3フィールド内に含まれる。従ってD3=4:7がDACRビ
ット28と論理積されるか、或はD3=2:3がDACRビット29
と論理積されて「ドメイン記憶装置アクセス」を付活す
る。 第1命令流が終了すると、D3フィールドはB2データで
更新され、B1データフィールドは失われる。「ドメイン
トリガ」と呼ばれるトリガは、もし「ドメイン記憶装置
アクセス」状態が活動であれば、このサイクルにおいて
セットされる。「ドメイントリガ」は によってセットされる。次で、第1記憶装置アクセス
(OAR1アクセス)が発生すると、「ドメイントリガ」が
オンであれば「ドメイン記憶装置アクセス」が得られ
る。第2オペランド に関しては、B2フィールドが命令プラットホームのD3フ
ィールド内へ移動させられる。従って、第1命令流 の後は、「ドメイン記憶装置アクセス」は、D3=4:7とD
ACRビット28との論理積か、或はD3=2:3とDACRビット29
との論理積が活動の時に指示されることになる。 他の全ての命令フォーマットに対しては、1つの記憶
装置オペランドだけしか存在せず、これは命令のB1或は
B2フィールドの何れかであってよい。これは命令プラッ
トホームのD3フィールド内に存在している。従って、こ
れらのフォーマット に対しては、記憶装置アクセス(OAR1アクセス)が活動
の時にD3=4:7とDACRビット28との論理積、或はD3=2:3
とDACRビット29との論理積によって付活される。 III.ドメインアクセス制御回路例 「ドメインアクセス制御」は記憶ユニットへの種々の
制御信号を取扱う。制御ビットは、FAMエントリルーチ
ンの開始時にエミュレートされる命令の制御語から「ド
メインアクセス制御レジスタ」(DACR)内へロードされ
る。このレジスタはFAM中に「ロードDACR」によって変
更することができる。これらの制御は基本的には、FAM
エントリの開始時に効力を有しているドメイン或はユー
ザーPSWである「ドメインCPUステータス」(DCPUS)を
無効にする。 DCPUSはシステムレジスタ16内にロードされる。「ド
メインアクセス制御」によって影響を受けるアクセス信
号は以下の通りである。 −システム(ドメイン) −仮想(実) −アドレスモード −アドレススペース −キーチェック禁止 −低アドレス保護禁止 −PER記憶 各信号を用いて表わされる理論式は完全理論式の部分
集合であり、論理のドメイン記憶装置アクセス部分にの
み関係する。若干の式には特別例外のケースが存在し、
「−強制」項で示される。この項は、実質的にDAC無効
を無効にすることができる。「ドメインアクセス制御」
論理回路を第5図に示す。 第5図に示すように、命令プラットホーム501はライ
ン527を通して命令の一部を命令デコード手段532(第3
図の命令デコード手段332に対応する)に供給する。命
令デコード手段532はライン533上にシステム強制信号、
ユーザー強制信号、実強制信号及び一次強制信号を発生
し、これらの信号は命令ユニット/記憶ユニットインタ
ーフエイス論理回路534(第3図のブロック334に対応)
に供給される。 更に、ドメインCPUステータスレジスタ520はライン54
0を通して制御信号をインターフエイス論理回路534に供
給する。ドメインアクセス制御レジスタ519はライン541
を通してインターフエイス論理回路534に制御信号を供
給する。ドメイン記憶装置アクセス検出論理回路535は
ライン538上のドメイン記憶装置アクセス信号DSAを発生
してインターフエイス論理回路534へ供給する。 インターフエイス論理回路534の出力は、ライン543上
にシステムアクセス信号、ライン544上の仮想信号、ラ
イン542上のアドレスモード信号、ライン545上の二次ア
ドレススペース信号、ライン546上のキーチェック禁止
信号、ライン547上の低アドレス保護禁止信号、及びラ
イン548上のプログラムイベント記録信号(PER)を含
む。 ANDゲート510及び511はライン543上にシステムアクセ
ス信号を発生する論理回路を形成している。 ANDゲート510は、入力としてユーザー信号の否定、DS
A信号の否定、及びユーザー強制信号の否定を受ける。 ANDゲート511はユーザー強制信号の否定とシステム強
制信号とを受けている。従ってライン543上のシステム
アクセス信号は、システム強制信号が真で、ユーザー強
制信号が真でない場合に真となる。更に、もしドメイン
記憶装置アクセス信号が真ではなく且つユーザー信号が
真でなければ、ユーザー強制信号が真でない時にシステ
ムアクセス信号が発生する。 ライン544上の仮想信号はANDゲート512の出力から供
給される。ANDゲート512の入力は、ユーザー信号の否
定、ドメイン記憶装置アクセス信号、ドメインCPUステ
ータスビットアT、ドメインアクセス制御レジスタのビ
ットTの否定、及び実強制信号の否定を含む。 ライン542上のアドレスモード信号は、ANDゲート513
或はANDゲート514の出力が真の時に31ビットアクセスを
表わす。ANDゲート513への入力は、DSA信号、ドメインC
PUステータス信号からのビットA、及びユーザー信号の
否定を含む。ANDゲート514の入力はDSA信号、ドメイン
アクセス制御レジスタのビットA、及びユーザー信号の
否定を含む。 ライン545上の二次アドレススペース信号は、ANDゲー
ト515或はANDゲート516の出力が真の時に真となる。ADN
ゲート515への入力は、ドメインCPUステータスレジスタ
のビットE、ドメインアクセス制御レジスタのビット
S、ドメイン記憶装置アクセス信号、一次強制信号の否
定、及びユーザー信号の否定を含む。ANDゲート516への
入力は、ユーザー信号の否定、一次強制信号の否定及び
ドメイン記憶装置アクセス信号を含む。更に、ドメイン
CPUステータス信号のビットPの否定及びANDゲート521
の出力の否定も含まれる。ANDゲート521への入力はドメ
インCPUステータスレジスタのビットE及びドメインア
クセス制御レジスタのビットPを含む。 ライン546上のキーチェック禁止信号はANDゲート517
の出力である。ANDゲート517の入力は、ユーザー信号の
否定、ドメイン記憶装置アクセス信号、及びドメインア
クセス制御レジスタのビットKを含む。 ライン547上の低アドレス保護禁止信号はANDゲート51
8の出力から供給される。ANDゲート518への入力は、ユ
ーザー信号の否定、ドメイン記憶装置アクセス信号、及
びドメインアクセス制御レジスタのビットLを含む。 ライン548上のプログラムイベント記録信号はANDゲー
ト549の出力から供給される。ANDゲート549への入力
は、ユーザー信号の否定、ドメイン記憶装置アクセス信
号、ドメインCPUステータスレジスタのビットR、及び
ドメインアクセス制御レジスタのビットRの否定を含
む。 ドメインアクセス制御信号(DACR)及びドメインCPU
ステータスレジスタ(DCPUS)によって影響を受ける記
憶ユニットからの制御信号を以下に要約説明する。 A.システムアクセス信号 ライン543上のこの信号は、システムアドレスを有す
るシステムアドレススペースへのアクセスを表わす。こ
の信号はドメイン記憶装置アクセスに対して不能化され
なければならない。 FAMにおいては、DSA信号はシステムアクセスを不能化
する。必要なシステムアクセスを特定する「システム強
制」項はDSA項を無効ならしめ、「ユーザー強制」項は
システムアクセスを不能化する。強制項は相互に排他的
である。 B.仮想アクセス信号 ライン544上のこの信号は現行の記憶装置アクセスが
ダイナミックアドレス移行を必要とするであろうことを
表わす。 FAMにおけるドメイン記憶装置アクセスに対しては、
仮想信号はDCPUSのTビットの制御下にある。しかし、D
ACRのTビットはDCPUSのTビットを無効ならしめて仮想
アクセスを不能化する。実強制項も、実記憶装置にアク
セスするのに必要な特定オペランドに対して仮想アクセ
スを不能化する。 C.アドレスモードアクセス信号 ライン542上のこのビットは、活動すると31ビット記
憶装置アクセスを表わし、そうでない場合には24ビット
のアドレスを黙示する。 FAMにおけるドメイン記憶装置アクセスに関し:もしD
CPUSのAビット或はDACRのAビットが活動であれば、31
ビットのアドレッシングが活動となる。 D.二次アドレススペース信号 ライン545のこの信号は、活動した時に二次アドレス
スペースを指示し、それ以外は一次アドレススペースが
黙示される。 FAMにおけるドメイン記憶装置アクセスに関し:この
アクセススペース信号は、オペランド記憶装置アクセス
が与えられた命令に対して一次スペースアクセスを要求
(一次強制)しない限り、ドメインがECモード(DCPUS
−EC)であり且つDACRのSビットが活動である時に活動
となる。また、オペランド記憶装置アクセスが一次スペ
ースアクセスを要求しない限り、DCPUSのPビットがオ
フで且つDACRのPビットか或はDCPUSのECビットの何れ
かがオフであっても、アドレススペースは活動となる。 E.キーチェック禁止信号 ライン546上のこの信号が付活されると、記憶ユニッ
ト内の保護キーチェックを禁止する。 FAMにおけるドメイン記憶装置アクセスに関し:DACRの
Kビットが活動である時、保護キーチェックが禁止され
る。 F.低アドレス保護禁止信号 ライン547上のこの信号が活動であると、記憶装置ユ
ニット内の低アドレス保護(LAP)が禁止される。 FAMにおけるドメイン記憶装置アクセスに関し:DACRの
Lビットが活動の時には低アドレス保護が禁止される。 G.記憶装置プログラムイベント記録(PER)信号 ライン548上のこの信号は記憶ユニットへのインター
フエイス信号ではないが、FAM中のドメイン記憶装置ア
クセスによって影響を受ける。実際には、PERはシステ
ムアドレスに対して禁止されるから、FAM中に発生し得
る記憶装置PERイベントのみがドメイン記憶装置アクセ
スのためのものとなる。 FMA中のドメイン記憶装置アクセスに関し:記憶装置P
ERはDCPUSのPビットの制御の下にある。しかし、DACR
のRビットがDCPUSのRビットを無効ならしめて記憶装
置PERを不能化する。 IV.FAMエントリ試験回路例 第6図及び第7図は、第2図のブロック223によって
示されているFAMエントリ試験回路の実施例を示す。 命令エミュレーションルーチンは(プログラム例外は
殆んど発生しないけれども)通常の命令実行の一部とし
てプログラム例外に対して試験しなければならない。こ
れらのルーチンの効率を改善するために、本明細書では
エミュレーションエントリルーチンの一部としてプログ
ラム例外試験を行うハードウェア技術を説明する。これ
らの試験は −スーパーバイザステートが、エミュレーションされた
命令に対してFAMへのエントリ中にPSWによって特定され
ているか否か、 −エミュレートされた命令のオペランドが必要な整列試
験に合致するか否か、 −FAMエントリ命令が実行命令の標的であったか否か を指示する手段を提供する。 各試験は他の何れの試験の結果にも無関係に遂行され
る。遂行される試験はエミュレートされる命令の制御語
内に特定される。もしFAMエントリ試験に失敗すれば、
特定システム汎用レジスタ(システムGPR3)内の関連ビ
ットがセットされ、FAMへのエントリモードは高速エン
トリから通常エントリへ変更される。この場合、エミュ
レーションルーチンのスタートへの分岐の代りに、FAM
エントリルーチンは代替としての共通ルーチン(プログ
ラム例外及び特別なケースに便益がある)へ分岐する。 第6図に示すように、FAMエントリ試験論理回路623
は、ライン624を通して制御ストアからFAMエントリ試験
を指示するコードを受ける。スーパーバイザステート試
験信号はスーパーバイザ試験制御回路630へ供給され
る。スーパーバイザ試験制御回路は、エミュレートされ
る命令に関するプログラムステータス語のビット15(プ
ログラムステートがオンであるか否かを決定する)を読
む。もしオンであれば、試験の失敗がライン631上の信
号によって示される。ライン631上の信号は制御ストア
分岐論理回路214に供給されて、通常エントリへの分岐
に例外状態を処理させる。 更に、FAMエントリ試験は整列試験も遂行する。第1
オペランドを含む命令に対して、第1オペランドの整列
のための制御論理回路632が可能化される。命令パイプ
ラインの流れの中で、オペランドのアドレスがBサイク
ルオペランドアドレスレジスタ(第2図の204)に到達
すると、ビット29乃至31が読出され、ブロック633内に
おいて整列試験が遂行される。もし第1オペランドの整
列試験が失敗すれば、ライン631に信号が供給されて制
御ストアを通常エントリに強制する。同様に、第2オペ
ランドの整列は制御634への整列を通して可能化され
る。第2オペランドのアドレスがBサイクルオペランド
アドレスレジスタに到達すると、ビット29乃至31が読取
られ論理回路635において試験が遂行される。もし試験
が失敗すれば、ライン631上に信号が発生する。 最後に、実行試験の標的は、高速エミュレーションへ
のエントリ時に、命令がIBM/370動作原理によって特定
されているような実行命令に服している通常動作中にセ
ットされる実行モードトリガをチェックすることによっ
て遂行される。もしエントリ中に実行モードトリガがオ
ンであればライン631上に信号が供給されて制御ストア
を通常エントリへ強制する。 第7図は、第6図に示す高速エントリ試験のための試
験論理回路例の詳細を示す図である。 制御ストアからの命令制御語は、スーパーバイザ試験
付活ビット701、4ビット整列試験コード(整列1、ビ
ットφ;整列1、ビット1;整列2、ビットφ;及び整列
2、ビット1を含む)を含む。更に、OPコードが命令ユ
ニット内のデコーダ704においてデコードされると、実
行命令が供給された時に実行モードトリガ705がセット
される。 スーパーバイザ試験論理回路は、制御語701からのス
ーパーバイザ試験付活ビットとプログラムステータス語
からのビット15とを入力として受けているANDゲート706
を含む。もし両ビットが印加されれば、スーパーバイザ
試験が失敗したことを表す信号がライン707に発生す
る。 整列試験は入力として、制御ストアのブロック702か
ら整列1、ビットφ及びビット1を受け、また制御スト
アのブロック703から整列2、ビットφ及びビット1を
受け、これらはセレクト708へ供給される。セレクタ
は、第1オペランドアドレスの流れの間は整列1制御語
を、また第2オペランドアドレスの流れの間は整列2制
御語を選択する整列制御論理回路によって制御される。
制御ストアからの整列試験制御信号は、後掲の表に特定
されているようにデコーダ709においてデコードされ
る。 もし値がφφであればライン710を通して信号がANDゲ
ート711に供給される。ANDゲート711の出力は、遂行す
べき整列試験が存在せず、従って試験が通過したことを
表わす。 もし選択されたコードがφ1であれば、ライン712を
通して信号がANDゲート713の一方の入力に供給される。
ANDゲート713の他方の入力はオペランドアドレスレジス
タのビット31の否定であり、半語整列に関するチェック
が遂行される。 もしデコーダ709への選択された値が1φであれば、
ライン714へ信号が供給されてANDゲート715への1入力
として印加される。ANDゲート715の他の入力はオペラン
ドアドレスレジスタからのビット30及び31を含む。従っ
てANDゲート715の出力は全語整列チェックの結果であ
る。 もし選択されたコードの値が11であれば、ライン716
上に信号が発生し、ANDゲート717への1入力として供給
される。ANDゲート717の他の入力は、オペランドアドレ
スレジスタのビット29、30及び31が含まれる。従って二
重の語整列チェックが遂行される。 もし、ゲート711、713、715、717の何れかの出力によ
って示されるように整列試験を通過すれば、信号が発生
する。 ANDゲート719、720及び721は整列試験失敗トリガ722
をセットするように組合わされている。整列試験失敗ト
リガの値はライン707に供給されて整列試験が失敗した
ことを表わす。ANDゲート719への入力は、整列試験制御
回路からの第1オペランドの試験を表わすオペランド1
試験制御信号と、ライン718からの整列試験通過信号の
否定とを含む。 ANDゲート720への入力は、ライン718上の整列試験通
過信号の否定と、整列試験制御回路からのオペランド2
試験制御信号とを含む。 ANDゲート721への入力は、整列試験制御回路からのオ
ペランド2試験制御信号と整列試験失敗トリガ722の出
力とを含む。ANDゲート719乃至721の何れかの出力が真
になると、整列試験失敗トリガ722がセットされる。ラ
イン707上の信号はORゲート723に供給されるので、もし
何れかの試験に失敗すれば高速エントリ論理回路(第2
図の214へ信号が供給されて高速エミュレーションへの
エントリが不能化され、通常のエントリが要求される。 更に、各試験の失敗は、ビットをシステム汎用レジス
タ724内に記憶させることによって表示される。 A.スーパーバイザ試験 ある命令に対してこの機能が選択され、その命令がユ
ーザーステートで実行されている時、もし現行のPSW
(プログラムステータス語)がオンであれば: −FAMへの高速エントリの代りに通常エントリが発生
し、 −システムGPR3(1)が「1」にセットされる。 スーパーバイザ試験は、エミュレートされる命令の制
御語内のあるビットによって付活される。このビット
は、プログラムステート中にエミュレートされつつある
特権命令を表わすPSWビット15と論理積され、スーパー
バイザ試験を失敗せしめる。高速エントリは不能化さ
れ、通常エントリが可能化される。マクロコードは、エ
ミュレートされた命令を実行するのではなく、通常エン
トリルーチンを通る環境に従って命令をエミュレートす
る。マクロコードは、ハードウェア/マクロコードがス
ーパーバイザ試験の結果をシステムGPR3のビット1内に
記憶しているので、スーパーバイザ試験に失敗したこと
を知る。 B.整列試験 特定の命令の特定のオペランドに関する整列試験に対
してあるモデルを設けることができる。もしこの機能が
ある命令オペランドに対して利用可能であり、また選択
されたものとすれば、制御ストアフィールドによって特
定される2ビットのコードが整列試験の型を決定して命
令オペランドに対して実行される。考え得るコードの値
と試験の型は以下の通りである。 値 試 験 φφ 無チェック φ1 半語整列チェック 1φ 全語整列チェック 11 二重の語整列チェック もし高速エントリ命令が整列試験に失敗すれば、 −FAMへの高速エントリの代りに通常エントリが発生
し、 −システムGPR3(φ)は1にセットされる。 1或は2命令オペランドに対する整列試験は、エミュ
レートされる命令の制御語内のオペランド当り2ビット
によって付活される。記憶装置オペランドアドレスの関
連低位3ビットが利用可能である場合には、適切な付活
ビットが選択される。オペランド1整列試験は、RR及び
SSフォーマットを除く全ての命令に使用される。オペラ
ンド2整列試験は、エミュレートされるRR或はSSフォー
マット命令の第2記憶装置オペランドに対して使用され
る。選択された2ビットの付活コードはデコードされ、
試験される関連オペランドアドレスレジスタ(OAR)の
ビット(S)と共にゲートされる。φφコードは整列試
験を行わないことを表す。φ1コードはオペランドアド
レスビット31(OPR31)を試験する。もしそれが1であ
れば試験は失敗である。値1φはオペランドアドレスビ
ット30及び31を試験する。もし何れかのビットが1であ
れば整列試験は失敗である。最後に、11コードはオペラ
ンドアドレスビット29、30及び31を試験する。もし何れ
かのビットが1であれば整列試験は失敗である。 エミュレートされる記憶装置オペランドを2つ有する
命令の場合には、第2オペランドアドレスが試験されて
いる間(もし付活されていれば)、第1の試験の結果は
「整列試験失敗」トリガ内に保持される。もし何れかの
オペランドが整列試験に失敗すれば、高速エントリは不
能化され、通常エントリが行われる。マクロコードは、
命令を実行するのではなく、通常エントリルーチンを通
る環境に従って命令をエミュレートする。整列試験が失
敗するとシステムGPR3のビットφがセットされる。 C.実行試験の標的 GPR3(2)は、もしFAMエントリ命令が「実行」命令
の標的であった場合には、1にセットされる。もし1に
セットされていなければFAMエントリ命令がFAMへの高速
エントリを生じさせていても、セットされるとエントリ
モードは通常に切替えられる。 マクロコードは、命令をエミュレートする時、その命
令が実行命令の標的であるか否かを知らなければならな
い。実行命令の通常処理中に、ハードウェアは「実行モ
ード」トリガをセットして当該命令が実行の標的である
ことを表示する。もしこのトリガがFAMエントリ中にオ
ンであれば、高速エントリは不能化され、通常エントリ
が行われ、そしてシステムGPR3のビット2はセットされ
る。 V.まとめ 既存のマシン命令を用いる新規な命令のファームウェ
アエミュレーションは、現存するマシンハードウェアを
変形することなく新しい機能或は特色を導入する効果的
方策を提供する。これらの機能或は特色は、マクロコー
ド或はハードウェア制御点よりも高いレベルで実現さ
れ、より大きい融通性を与える。このクラスのファーム
ウェアはマクロコードと呼ばれ、命令エミュレーション
は高速援助と呼ばれる。 本発明は、 1)多くエミュレーションルーチン試験を遂行するハー
ドウェア援助機構を提供し、それによって各エミュレー
ションルーチンにおける実行のサイクル数を減少させ
る、 2)プログラム記憶装置へのアクセスを取扱うことが可
能な制御技術を限定し、それによって各エミュレーショ
ンルーチンに必要な命令の数を減少させる、 3)プログラム記憶装置並びにエミュレーション記憶装
置への記憶装置アクセスを行う能力を有する任意のマシ
ン命令を作成するための機構を提供し、それによって各
エミュレーションルーチンに必要な命令の数を減少させ
る ことによって、命令エミュレーションルーチンを改善す
る。 以上に特定の実施例に基いて本発明を説明した。当業
者ならば、上述の実施例には多くの変化及び変形を施し
得ること、及びこれらは本発明の思想の中に入るもので
あることが理解されよう。本発明の範囲は特許請求の範
囲のみによって限定される。
【図面の簡単な説明】
第1図は、本発明を実施するデータ処理装置の概要ブロ
ックダイヤグラムであり、 第2図は、エミュレーションプログラムへのエントリ中
のデータの流れを示す概要ブロックダイヤグラムであ
り、 第3図は、記憶装置アクセス中のデータの流れを示す概
要ブロックダイヤグラムであり、 第4図は、黙示的ドメイン記憶装置アクセスの論理回路
例のより詳細な図であり、 第5図は、ドメイン記憶装置アクセス中の命令ユニット
・記憶ユニットインターフエイスの論理図であり、 第6図は、エミュレーションプログラムへのエントリ中
に遂行される試験を示す概要図であり、 第7図は、エミュレーションプログラムへのエントリ中
に遂行される試験回路例の論理図である。 10……命令ユニット/実行ユニット、11……キャッシュ
記憶ユニット、12……主記憶装置、13、14、15……ドメ
イン記憶装置、16……システム記憶装置、18、20……バ
ス、200……パイプライン、201、301、401、501……D
サイクル命令レジスタ(プラットホーム)、202……オ
ペランド発生手段、203、303……Aサイクル実効アドレ
スレジスタ、204、304……Bサイクルオペランドアドレ
スレジスタ、205……Xサイクルレジスタ(オペランド
語レジスタ)、206……Wサイクルレジスタ(結果レジ
スタ)、207……制御レジスタ群、209……制御ストアア
ドレス発生手段、211……制御ストア、212……制御コー
ド、214……分岐アドレス発生手段、216……レジスタ、
217……セレクタ、218、318……加算器、219、319、41
9、519……DACレジスタ(DACR)、220、320、520……ド
メインCPUステータスレジスタ(DCPUS)、221、321……
プログラムステータス語レジスタ(PSW)、223……高速
エントリ試験回路、226、326……汎用レジスタ、331…
…記憶ユニット、332、432、532……命令デコード手
段、334、534……命令ユニット/記憶ユニットインター
フエイス論理回路、335、535……ドメイン記憶装置アク
セス検出論理回路、348、349……レジスタ、350……セ
レクタ、351……コンパレータ、353……移行ルックアサ
イドバッファ、354……ドメインベース調整機構、356、
357……制御レジスタ、358……セレクタ、361、362……
レジスタ、364……低アドレス保護検出回路、449、45
0、453、454、456、457……範囲検出手段、630……スー
パーバイザ制御回路、632……整列1制御回路、633……
整列1試験回路、634……整列2制御回路、635……整列
2試験回路、701……スーパーバイザ試験付活ビット、7
02、703……制御ストアのブロック、704……デコーダ、
705……実行モードトリガ、708……セレクタ、709……
デコーダ、722……整列試験失敗トリガ、724……汎用レ
ジスタ。
ックダイヤグラムであり、 第2図は、エミュレーションプログラムへのエントリ中
のデータの流れを示す概要ブロックダイヤグラムであ
り、 第3図は、記憶装置アクセス中のデータの流れを示す概
要ブロックダイヤグラムであり、 第4図は、黙示的ドメイン記憶装置アクセスの論理回路
例のより詳細な図であり、 第5図は、ドメイン記憶装置アクセス中の命令ユニット
・記憶ユニットインターフエイスの論理図であり、 第6図は、エミュレーションプログラムへのエントリ中
に遂行される試験を示す概要図であり、 第7図は、エミュレーションプログラムへのエントリ中
に遂行される試験回路例の論理図である。 10……命令ユニット/実行ユニット、11……キャッシュ
記憶ユニット、12……主記憶装置、13、14、15……ドメ
イン記憶装置、16……システム記憶装置、18、20……バ
ス、200……パイプライン、201、301、401、501……D
サイクル命令レジスタ(プラットホーム)、202……オ
ペランド発生手段、203、303……Aサイクル実効アドレ
スレジスタ、204、304……Bサイクルオペランドアドレ
スレジスタ、205……Xサイクルレジスタ(オペランド
語レジスタ)、206……Wサイクルレジスタ(結果レジ
スタ)、207……制御レジスタ群、209……制御ストアア
ドレス発生手段、211……制御ストア、212……制御コー
ド、214……分岐アドレス発生手段、216……レジスタ、
217……セレクタ、218、318……加算器、219、319、41
9、519……DACレジスタ(DACR)、220、320、520……ド
メインCPUステータスレジスタ(DCPUS)、221、321……
プログラムステータス語レジスタ(PSW)、223……高速
エントリ試験回路、226、326……汎用レジスタ、331…
…記憶ユニット、332、432、532……命令デコード手
段、334、534……命令ユニット/記憶ユニットインター
フエイス論理回路、335、535……ドメイン記憶装置アク
セス検出論理回路、348、349……レジスタ、350……セ
レクタ、351……コンパレータ、353……移行ルックアサ
イドバッファ、354……ドメインベース調整機構、356、
357……制御レジスタ、358……セレクタ、361、362……
レジスタ、364……低アドレス保護検出回路、449、45
0、453、454、456、457……範囲検出手段、630……スー
パーバイザ制御回路、632……整列1制御回路、633……
整列1試験回路、634……整列2制御回路、635……整列
2試験回路、701……スーパーバイザ試験付活ビット、7
02、703……制御ストアのブロック、704……デコーダ、
705……実行モードトリガ、708……セレクタ、709……
デコーダ、722……整列試験失敗トリガ、724……汎用レ
ジスタ。
─────────────────────────────────────────────────────
フロントページの続き
(72)発明者 アーノ エス クラッカウアー
アメリカ合衆国 カリフォルニア州
95120 サン ホセ オリーヴ ブラン
チ レーン 1122
(72)発明者 リチャード ジェイ トビアス
アメリカ合衆国 カリフォルニア州
94301 パロ アルト ハミルトン ア
ベニュー 1370
(72)発明者 アレン ジェイ ジミスロースキ
アメリカ合衆国 カリフォルニア州
94086 サニーベイル 19 ホーレンベ
ック 1616
(56)参考文献 特開 昭56−33736(JP,A)
特開 昭55−76447(JP,A)
Claims (1)
- (57)【特許請求の範囲】 1.プログラム制御の下に、第1のドメイン記憶スペー
スを含む装置内の機器のドメインを有する第1のステー
ト、或は第2のドメイン記憶スペースを含む装置内の機
器の第2のドメインを有する第2のステートの何れかの
ステートにおいて動作可能であって、通常は第1のステ
ートにおいて、第2のドメイン内の命令のプログラムを
実行する第2のステートへの分岐をもたらす命令を含む
命令のシーケンスを処理しているデータ処理装置であっ
て: 第1及び第2のステートにおいて命令を受けるように接
続され、複数のフィールドの中の少なくとも1つのフィ
ールドが1つのオペランドのアドレス情報の位置を識別
する命令レジスタ; 第1のステートにおいて命令に応答してその命令をデコ
ードし、分岐信号及びドメインアクセス付活信号を含む
制御コードを発生するデコード手段; 分岐信号を受けるように接続され、該信号に応答して装
置のプログラム制御を第2のステートへ分岐せしめ、第
2のドメイン内の命令のプログラムへ進入せしめる手
段; ドメインアクセス付活信号及び命令のプログラム内の各
命令内の1つのフォールドに応答して第1のドメインア
クセス信号を発生するインターフェイス手段; 命令レジスタと通信してオペランドのアドレスを供給す
るアドレッシング手段;及び 第1のドメインアクセス信号及びアドレスを受けるよう
に接続され、オペランドを第1及び第2のドメイン記憶
スペースからのアドレスによって識別される位置に記憶
し、第1のドメインアクセス信号に応答して第2のステ
ート内の命令の処理中にアドレスを第1のドメイン記憶
スペースへ移行させる手段を含む記憶装置手段を具備す
る装置。 2.1つのフォールドによって識別される位置はシステ
ム汎用レジスタであり;第1のドメインアクセス信号を
発生する手段は、 この1つのフィールドによって識別される汎用レジスタ
が予め選択された汎用レジスタの範囲内に入るか否かを
決定する手段 を含む特許請求の範囲(1)項記載の装置。 3.第1のステートはユーザードメイン記憶スペースへ
のアクセスを有するユーザーステートであり、第2のス
テートはシステム記憶スペースへのアクセスを有する制
御ステートである特許請求の範囲(1)項記載の装置。 4.第2のドメイン内の命令のプログラムは、第1のス
テートにおける命令の実行をエミュレートする特許請求
の範囲(1)項記載の装置。 5.記憶装置手段へのアクセスを制御するためのプログ
ラムステータス語を発生する手段を含み;制御コードは
ドメインアクセス制御信号をも含み;装置は 第2のステートへ分岐した時にドメインアクセス制御信
号を受けるように接続され、第2のステートにおける命
令のプログラムの実行中ドメインアクセス付活信号及び
ドメインアクセス制御信号を保持するドメインアクセス
制御レジスタ手段; 第2のステートへの分岐を生じさせる第1のステートに
おける命令に対するプログラムステート語からのステー
タス表示を受けるように接続され、第2のステートにお
ける命令のプログラムの実行中そのステータスを保持す
るドメインステータスレジスタ手段 をも含み;また インターフェイス手段はドメインアクセス制御レジスタ
手段、ドメインステータスレジスタ手段、及び記憶装置
手段とも通信し、ステータス表示及びドメインアクセス
制御信号に応答して第2のステートにおける命令のプロ
グラムの実行中記憶装置アクセス制御信号を発生する特
許請求の範囲(1)項記載の装置。 6.制御コードは分岐試験信号をも含み;装置は 分岐試験信号を受けるように接続され、第2のステート
へ分岐した時にプログラム例外に関する試験を遂行する
手段;及び プログラム例外に応答して命令の代替プログラムへ分岐
せしめる手段 をも含む特許請求の範囲(1)項記載の装置。 7.プログラム制御の下に、第1のドメイン記憶スペー
スを含む装置内の機器の第1のドメインを有する第1の
ステート、或は第2のドメイン記憶スペースを含む装置
内の機器の第2のドメインを有する第2のステートの何
れかのステートにおいて動作可能であって、通常は第1
のステートにおいて、第2のドメイン内の命令のプログ
ラムを実行する第2のステートへの分岐をもたらす命令
を含む命令のシーケンスを処理しているデータ処理装置
であって: 第1及び第2のステートにおいて命令を受けるように接
続され、複数のフィールドの中の少なくとも1つのフィ
ールドが1つのオペランドのアドレス情報の位置を識別
する命令レジスタ; 第1のステートにおいて命令に応答してその命令をデコ
ードし、分岐信号及びドメインアクセス制御信号を含む
制御コードを発生するデコード手段; 分岐信号を受けるように接続され、該信号に応答して装
置のプログラム制御を第2のステートへ分岐せしめ、エ
ミュレーションプログラムへ進入せしめる手段; 第2のステートへ分岐した時にドメインアクセス制御信
号を受けるように接続され、第2のステートにおける命
令のプログラムの実行中ドメインアクセス制御信号を保
持するドメインアクセス制御レジスタ手段; 命令レジスタと通信してオペランドのアドレスを供給す
るアドレッシング手段; アドレスを受けるように接続され、オペランドを第1及
び第2のドメイン記憶スペースからのアドレスによって
識別される位置に記憶し、アクセス制御信号に応答して
アドレスを移行させる手段を含む記憶装置手段;及び ドメインアクセス制御レジスタ手段、命令レジスタ、及
び記憶装置手段と通信し、ドメインアクセス制御信号及
び命令の1つのフィールドに応答して命令のプログラム
の実行中アクセス制御信号を発生するインターフェイス
手段 を具備する装置。 8.1つのフィールドによって識別される位置はシステ
ム汎用レジスタであり;インターフェイス手段は、 この1つのフィールドによって識別される汎用レジスタ
が予め選択された汎用レジスタの範囲内に入るか否かを
決定する手段 を含む特許請求の範囲(7)項記載の装置。 9.第1のステートはユーザードメイン記憶スペースへ
のアクセスを有するユーザーステートであり、第2のス
テートはシステム記憶スペースへのアクセスを有する制
御ステートである特許請求の範囲(7)項記載の装置。 10.第2のドメイン内の命令のプログラムは、第1の
ステートにおける命令の実行をエミュレートする特許請
求の範囲(7)項記載の装置。 11.記憶装置手段へのアクセスを制御するためのプロ
グラムステータス語を発生する手段を含み;更に 第2のステートへの分岐を生じさせる第1のステートに
おける命令に対するプログラムステータス語からのステ
ータス表示を受けるように接続され、第2のステートに
おける命令のプログラムの実行中そのステータス表示を
記憶するドメインステータスレジスタ手段 をも含み;また更に インターフェイス手段はドメインステータスレジスタ手
段とも通信し、ステータス表示に応答して記憶装置アク
セス制御信号を発生する特許請求の範囲(7)項記載の
装置。 12.制御コードは分岐試験信号をも含み;装置は 分岐試験信号を受けるように接続され、第2のステート
へ分岐した時にプログラム例外に関する試験を遂行する
手段;及び プログラム例外に応答して命令の代替プログラムへ分岐
せしめる手段 をも含む特許請求の範囲(7)項記載の装置。 13.プログラム制御の下に、ドメイン記憶スペースを
含む装置内の機器のユーザードメインを有するユーザー
ステート、或はシステム記憶スペースを有する制御ステ
ートの何れかのステートにおいて動作可能であり;これ
らの記憶スペースへのアクセスを制御するための命令の
実行に応答してプログラムステータス語を発生する手段
を有し;通常はユーザーステートにおいて、システム記
憶スペース内の命令のエミュレーションプログラムを実
行する制御ステートへの分岐をもたらす命令を含む命令
のシーケンスを処理しているデータ処理装置であって: ユーザーステート及び制御ステートにおいて命令を受け
るように接続され、複数のフィールドの中の少なくとも
1つのフィールドが1つのオペランドのアドレス情報の
位置を識別する命令レジスタ; ユーザーステートにおいて命令に応答してその命令をデ
コードし、分岐信号及びドメインアクセス制御信号を含
む制御コードを発生するデコード手段; 分岐信号を受けるように接続されていて該信号に応答し
て装置のプログラム制御を制御ステートへ分岐せしめ、
エミュレーションプログラムへ進入せしめる手段; 制御ステートへ分岐した時にドメインアクセス制御信号
を受けるように接続され、エミュレーションプログラム
の実行中ドメインアクセス制御信号を保持するドメイン
アクセス制御レジスタ手段; 制御ステートにおいてエミュレートされつつあるユーザ
ーステートにおける命令に対するプログラムステータス
語からのステータス表示を受けるように接続され、エミ
ュレーションプログラムの実行中ステータス表示を保持
するドメインステータスレジスタ手段; 命令レジスタと通信してオペランドのアドレスを供給す
るアドレッシング手段; アクセス制御信号及びアドレスを受けるように接続さ
れ、オペランドをユーザードメイン記憶スペース及びシ
ステム記憶スペースからのアドレスによって識別される
位置に記憶し、アクセス制御信号に応答してアドレスを
移行させる手段を含む記憶装置手段;及び ドメインアクセス制御レジスタ手段、ドメインステータ
スレジスタ手段、及び記憶装置手段と通信し、ステータ
ス表示及びドメインアクセス制御信号に応答して命令の
エミュレーションプログラムの実行中アクセス制御信号
を発生するインターフェイス手段 を具備する装置。 14.インターフェイス手段は、 命令レジスタの1つのフィールド及びドメインアクセス
制御信号の少なくとも一部分に応答してユーザードメイ
ンアクセス信号を発生する手段;及び アドレスを移行させる手段と通信し、ユーザードメイン
アクセス信号に応答してアドレスをユーザードメインア
ドレスとして解釈する手段をも含む特許請求の範囲(1
3)項記載の装置。 15.1つのフィールドによって識別される位置はシス
テム汎用レジスタであり、ユーザードメインアクセス信
号を発生する手段は、 この1つのフィールドによって識別される汎用レジスタ
が予め選択された汎用レジスタの範囲内に入るか否かを
決定する手段 を含む特許請求の範囲(14)項記載の装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US918491 | 1986-10-14 | ||
US06/918,491 US4785392A (en) | 1986-10-14 | 1986-10-14 | Addressing multiple storage spaces |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS63191233A JPS63191233A (ja) | 1988-08-08 |
JP2730896B2 true JP2730896B2 (ja) | 1998-03-25 |
Family
ID=25440469
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP62259415A Expired - Lifetime JP2730896B2 (ja) | 1986-10-14 | 1987-10-14 | データ処理装置 |
Country Status (10)
Country | Link |
---|---|
US (1) | US4785392A (ja) |
EP (1) | EP0264216B1 (ja) |
JP (1) | JP2730896B2 (ja) |
KR (1) | KR940009097B1 (ja) |
AU (1) | AU600040B2 (ja) |
CA (1) | CA1271262A (ja) |
DE (1) | DE3750806T2 (ja) |
DK (1) | DK171728B1 (ja) |
NO (1) | NO174943C (ja) |
NZ (1) | NZ221667A (ja) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5210832A (en) * | 1986-10-14 | 1993-05-11 | Amdahl Corporation | Multiple domain emulation system with separate domain facilities which tests for emulated instruction exceptions before completion of operand fetch cycle |
US5123101A (en) * | 1986-11-12 | 1992-06-16 | Xerox Corporation | Multiple address space mapping technique for shared memory wherein a processor operates a fault handling routine upon a translator miss |
JPS6488844A (en) * | 1987-09-30 | 1989-04-03 | Takeshi Sakamura | Data processor |
US5008811A (en) * | 1988-02-10 | 1991-04-16 | International Business Machines Corp. | Control mechanism for zero-origin data spaces |
US5187793A (en) * | 1989-01-09 | 1993-02-16 | Intel Corporation | Processor with hierarchal memory and using meta-instructions for software control of loading, unloading and execution of machine instructions stored in the cache |
EP0510429A3 (en) * | 1991-04-24 | 1993-12-01 | Ibm | Millicode register management system |
US5226164A (en) * | 1991-04-24 | 1993-07-06 | International Business Machines Corporation | Millicode register management and pipeline reset |
FR2678401A1 (fr) * | 1991-06-28 | 1992-12-31 | Philips Electronique Lab | Dispositif de traitement de l'information plus particulierement adapte a un langage chaine, du type forth notamment. |
US5584042A (en) * | 1993-06-01 | 1996-12-10 | International Business Machines Corporation | Dynamic I/O data address relocation facility |
JPH06348584A (ja) * | 1993-06-01 | 1994-12-22 | Internatl Business Mach Corp <Ibm> | データ処理システム |
US5574887A (en) * | 1993-09-20 | 1996-11-12 | Apple Computer, Inc. | Apparatus and method for emulation routine pointer prefetch |
US5408622A (en) * | 1993-09-23 | 1995-04-18 | Apple Computer, Inc. | Apparatus and method for emulation routine control transfer via host jump instruction creation and insertion |
US5577231A (en) * | 1994-12-06 | 1996-11-19 | International Business Machines Corporation | Storage access authorization controls in a computer system using dynamic translation of large addresses |
US6093213A (en) * | 1995-10-06 | 2000-07-25 | Advanced Micro Devices, Inc. | Flexible implementation of a system management mode (SMM) in a processor |
US6385712B1 (en) * | 1999-10-25 | 2002-05-07 | Ati International Srl | Method and apparatus for segregation of virtual address space |
US7694302B1 (en) | 2001-04-05 | 2010-04-06 | Network Appliance, Inc. | Symmetric multiprocessor synchronization using migrating scheduling domains |
US7373640B1 (en) | 2003-07-31 | 2008-05-13 | Network Appliance, Inc. | Technique for dynamically restricting thread concurrency without rewriting thread code |
US8171480B2 (en) * | 2004-01-27 | 2012-05-01 | Network Appliance, Inc. | Method and apparatus for allocating shared resources to process domains according to current processor utilization in a shared resource processor |
US8347293B2 (en) * | 2005-10-20 | 2013-01-01 | Network Appliance, Inc. | Mutual exclusion domains to perform file system processes on stripes |
US8055886B2 (en) * | 2007-07-12 | 2011-11-08 | Texas Instruments Incorporated | Processor micro-architecture for compute, save or restore multiple registers and responsive to first instruction for repeated issue of second instruction |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5576447A (en) * | 1978-12-01 | 1980-06-09 | Fujitsu Ltd | Address control system for software simulation |
JPS5911944B2 (ja) * | 1979-08-25 | 1984-03-19 | 富士通株式会社 | 仮想計算機のシミュレ−ション方式 |
US4503501A (en) * | 1981-11-27 | 1985-03-05 | Storage Technology Corporation | Adaptive domain partitioning of cache memory space |
JPS6057438A (ja) * | 1983-09-08 | 1985-04-03 | Hitachi Ltd | 仮想計算機システム制御装置 |
AU571377B2 (en) * | 1985-11-13 | 1988-04-14 | Fujitsu Limited | Main storage access control system |
-
1986
- 1986-10-14 US US06/918,491 patent/US4785392A/en not_active Expired - Lifetime
-
1987
- 1987-09-03 NZ NZ221667A patent/NZ221667A/xx unknown
- 1987-10-01 NO NO874135A patent/NO174943C/no not_active IP Right Cessation
- 1987-10-05 DE DE3750806T patent/DE3750806T2/de not_active Expired - Fee Related
- 1987-10-05 EP EP87308809A patent/EP0264216B1/en not_active Expired - Lifetime
- 1987-10-13 AU AU79713/87A patent/AU600040B2/en not_active Ceased
- 1987-10-13 KR KR1019870011353A patent/KR940009097B1/ko not_active IP Right Cessation
- 1987-10-13 CA CA000549122A patent/CA1271262A/en not_active Expired - Lifetime
- 1987-10-14 JP JP62259415A patent/JP2730896B2/ja not_active Expired - Lifetime
- 1987-10-14 DK DK537987A patent/DK171728B1/da not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
EP0264216A2 (en) | 1988-04-20 |
DK171728B1 (da) | 1997-04-14 |
KR880005517A (ko) | 1988-06-29 |
NO174943C (no) | 1994-08-03 |
NO174943B (no) | 1994-04-25 |
JPS63191233A (ja) | 1988-08-08 |
DK537987D0 (da) | 1987-10-14 |
EP0264216A3 (en) | 1991-10-23 |
NZ221667A (en) | 1989-05-29 |
NO874135D0 (no) | 1987-10-01 |
DK537987A (da) | 1988-04-15 |
EP0264216B1 (en) | 1994-11-30 |
CA1271262A (en) | 1990-07-03 |
NO874135L (no) | 1988-04-15 |
AU7971387A (en) | 1988-04-21 |
DE3750806T2 (de) | 1995-06-22 |
DE3750806D1 (de) | 1995-01-12 |
AU600040B2 (en) | 1990-08-02 |
KR940009097B1 (ko) | 1994-09-29 |
US4785392A (en) | 1988-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2730896B2 (ja) | データ処理装置 | |
US5210832A (en) | Multiple domain emulation system with separate domain facilities which tests for emulated instruction exceptions before completion of operand fetch cycle | |
TWI407366B (zh) | 具有微代碼之微處理器、在微處理器中儲存資料的方法、以及使用於計算裝置之電腦程式產品 | |
US6009261A (en) | Preprocessing of stored target routines for emulating incompatible instructions on a target processor | |
US7793286B2 (en) | Methods and systems to manage machine state in virtual machine operations | |
US4814975A (en) | Virtual machine system and method for controlling machines of different architectures | |
JP4295111B2 (ja) | メモリ管理システム及び線形アドレスに基づいたメモリアクセスセキュリティ付与方法 | |
JPS6022377B2 (ja) | アドレス制御方式 | |
US20040230749A1 (en) | Invalidating storage, clearing buffer entries, and an instruction therefor | |
US20120042144A1 (en) | Memory access control | |
AU662945B2 (en) | Controlling the initiation of logical systems in a data processing system with logical processor facility | |
EP0619898A1 (en) | Computer system with two levels of guests | |
EP0550286A2 (en) | 2-Level multi-processor synchronization protocol | |
US5280592A (en) | Domain interlock | |
US9086906B2 (en) | Apparatus and method for guest and root register sharing in a virtual machine | |
JPS5820066B2 (ja) | ハ−ドウエア バ−チヤライザ | |
EP3948548A1 (en) | Processor having multiple operating modes | |
JPH07120318B2 (ja) | アクセス及び欠陥論理信号を用いて主メモリユニットを保護する装置及び方法 | |
US6108761A (en) | Method of and apparatus for saving time performing certain transfer instructions | |
JPH06332803A (ja) | 仮想計算機システムにおけるtlb制御方法 | |
EP0264215A2 (en) | Fast entry to emulation | |
JPH0754468B2 (ja) | 仮想計算機システム | |
JPH06332692A (ja) | 特殊動作モードを持った演算制御装置 | |
JP3140028B2 (ja) | サブルーチンの引数の受け渡し方式 | |
JP3125790B2 (ja) | アドレス変換装置 |