JPS5853369B2 - 表によるエミユレ−シヨン装置 - Google Patents
表によるエミユレ−シヨン装置Info
- Publication number
- JPS5853369B2 JPS5853369B2 JP49148236A JP14823674A JPS5853369B2 JP S5853369 B2 JPS5853369 B2 JP S5853369B2 JP 49148236 A JP49148236 A JP 49148236A JP 14823674 A JP14823674 A JP 14823674A JP S5853369 B2 JPS5853369 B2 JP S5853369B2
- Authority
- JP
- Japan
- Prior art keywords
- register
- control
- microinstruction
- target system
- instruction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/105—Program control for peripheral devices where the program performs an input/output emulation function
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- 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)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Debugging And Monitoring (AREA)
- Executing Machine-Instructions (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Description
【発明の詳細な説明】
本発明は変換装置に関し、とくに各種の目標システムを
エミュレートする装置に関するものである。
エミュレートする装置に関するものである。
一般に、旧いデータ処理装置をアーキテクチュアル特性
が著しく異なる新しい装置と交換するときには、旧い装
置による遂行の目的でプログラムしたジョブの相当量を
新しい装置によって遂行しなげればならない。
が著しく異なる新しい装置と交換するときには、旧い装
置による遂行の目的でプログラムしたジョブの相当量を
新しい装置によって遂行しなげればならない。
新しい装置がこのようなジョブを遂行するものを援助す
るために各種の公知技術が使われている。
るために各種の公知技術が使われている。
その技術の一例は、各命令を、旧い装置の機械語から新
しい装置すなわちホストシステム(h4)st sys
tem)の命令書式に翻訳するものである。
しい装置すなわちホストシステム(h4)st sys
tem)の命令書式に翻訳するものである。
この例は、ジエイムズ・ピー、ゲイヤー等を発明者とす
る米国特許出願第228776号「周辺装置の割当て、
有効性検査、及び割当て有効時の再配置のための方法及
び装置」に開示されている。
る米国特許出願第228776号「周辺装置の割当て、
有効性検査、及び割当て有効時の再配置のための方法及
び装置」に開示されている。
他の技術は、シミュレーション及びエミュレーションを
使う。
使う。
これらの技術は、ニス・ジー・タッカの「大システムの
エミュレータョわすル論文、エム・マコーマツク、ティ
ー・シャンスマン、ケー・ウオマツクのJIBMシステ
ム/360モデル30における1401互換性フイーチ
ヤ」なる論文、及びアール・アイ・ベンジャミンの「R
CA301に対するスペクトラフ0/45エミユレータ
」なる論文に開示されており、これらFA文は「Com
municati□ns of the ACM J
と題する刊行物の1965年12月号恍掲載されてい
る。
エミュレータョわすル論文、エム・マコーマツク、ティ
ー・シャンスマン、ケー・ウオマツクのJIBMシステ
ム/360モデル30における1401互換性フイーチ
ヤ」なる論文、及びアール・アイ・ベンジャミンの「R
CA301に対するスペクトラフ0/45エミユレータ
」なる論文に開示されており、これらFA文は「Com
municati□ns of the ACM J
と題する刊行物の1965年12月号恍掲載されてい
る。
さらに、AFIPS犬会論文集会論文集1971年38
巻れたゲリー・アール・アルフレッドの「システム37
0、O8及びDO8におけるインテグレーテッドエミュ
レーション」なる論文もこの技術を開示する。
巻れたゲリー・アール・アルフレッドの「システム37
0、O8及びDO8におけるインテグレーテッドエミュ
レーション」なる論文もこの技術を開示する。
エミュレータが行う最も重要な機能は、目標システム(
target system)の入出力(Ilo)命令
を効率よく実行することである。
target system)の入出力(Ilo)命令
を効率よく実行することである。
一般に、従来技術のシステムは、目標システムのI 1
0機能をエミュレートするために特殊化された方法を使
う。
0機能をエミュレートするために特殊化された方法を使
う。
そのため、このようなシステムは、異なったI10条件
をもつ多数の目標システムの目標機械操作をエミュレー
トすることができない。
をもつ多数の目標システムの目標機械操作をエミュレー
トすることができない。
したがって、従来装置によって異なるシステムの諸要件
に対処しようとすると、各システムのI10構造体(5
tructure)をエミュレートするために必要な操
作をするのに大量のソフトウェアとオーバヘッド(ov
erhead)の増大が必要になる。
に対処しようとすると、各システムのI10構造体(5
tructure)をエミュレートするために必要な操
作をするのに大量のソフトウェアとオーバヘッド(ov
erhead)の増大が必要になる。
したがって、本発明の目的は、多数の異なった目標シス
テムの入出力構造体をエミュレートする装置を提供する
にある。
テムの入出力構造体をエミュレートする装置を提供する
にある。
本発明の他の目的は、システムのサポート・ソフトウェ
アが行う操作の数を少なくしたエミュレータ・システム
を提供するにある。
アが行う操作の数を少なくしたエミュレータ・システム
を提供するにある。
本発明のさらに他の目的は、多種多様な入出カシステム
の要求事項を、最少限の複雑性と最大限Q速度と効率を
もってエミュレートする装置を提供するにある。
の要求事項を、最少限の複雑性と最大限Q速度と効率を
もってエミュレートする装置を提供するにある。
以上の目的を達成するため、本発明によるマイクロプロ
グラムしたデータ処理装置は、ファームウェア機能(f
acilities)又はマイクロプログラミング機及
び装置の主記憶域に含まれる複数個の表を有する。
グラムしたデータ処理装置は、ファームウェア機能(f
acilities)又はマイクロプログラミング機及
び装置の主記憶域に含まれる複数個の表を有する。
これらの表東目標システムにおける入出力命令の遂行の
ためにプログラムによる指定が必要とされるリソース(
resources )に対応する多数のクラス(C1
ass)に編成される0′れらの表は、一定の態様で、
マイクロプログラミング機能の制御下にアクセスされる
。
ためにプログラムによる指定が必要とされるリソース(
resources )に対応する多数のクラス(C1
ass)に編成される0′れらの表は、一定の態様で、
マイクロプログラミング機能の制御下にアクセスされる
。
第1の表は、パー(per )・システムを基準として
複数個の項目(entry )を含むようにコード化さ
れ、各項目は、目標システム・プログラムによって指定
され得る各チャンネル・リソースに対するものである。
複数個の項目(entry )を含むようにコード化さ
れ、各項目は、目標システム・プログラムによって指定
され得る各チャンネル・リソースに対するものである。
周知のように、「チャンネル」は、主記憶域とシステム
の周辺装置との間のインターフェイスを横断するデータ
通路である。
の周辺装置との間のインターフェイスを横断するデータ
通路である。
エミュレートされるべき目標システムは、任意数の読出
し書込みチャンネルを内蔵して使用しI10100「同
時」処理することができる。
し書込みチャンネルを内蔵して使用しI10100「同
時」処理することができる。
通常は、I10100行われるべきときには常に、プロ
グラマによって割当てられた読出−書込チャンネルを指
定するコードが命令に含まれることが必要とされ、指定
された周辺装置と主記憶域との間に通路が完成される。
グラマによって割当てられた読出−書込チャンネルを指
定するコードが命令に含まれることが必要とされ、指定
された周辺装置と主記憶域との間に通路が完成される。
このようなチャンネル割当ての詳細については、ウォル
ター・アール・レゾイン及びルイス・ジー・オリアリの
米国特許第3369221号を参照されたー 好ましい実施例においては、パー・システムを基準とし
た編成した第2の表を装置に含め、目標システムに存在
しかつ目的システムの入出力命令による指定を必要とさ
れる他の形式のリソースを指定するようにコード化され
た複数個の項目をこの第2の表に含める。
ター・アール・レゾイン及びルイス・ジー・オリアリの
米国特許第3369221号を参照されたー 好ましい実施例においては、パー・システムを基準とし
た編成した第2の表を装置に含め、目標システムに存在
しかつ目的システムの入出力命令による指定を必要とさ
れる他の形式のリソースを指定するようにコード化され
た複数個の項目をこの第2の表に含める。
この表は、目標システムに存在することがある各セクタ
に対して−っの項目をもつ。
に対して−っの項目をもつ。
問題となる目標システムにおける「セクタ」は、与えら
れた数の周辺装置を共通に接続する転送路を対応する。
れた数の周辺装置を共通に接続する転送路を対応する。
上記のレゾ/特許は、「単一」セクタのシステムを開示
する。
する。
本発明によれば、目標システムのセクタは、一定の最大
文字転送率(すなわち、毎秒500000字)をもつ。
文字転送率(すなわち、毎秒500000字)をもつ。
各セクタには「タイム・スロット(time 5lot
)Jと呼ばれる一定数の記憶サイクル(すなわち、6)
が割当てられる。
)Jと呼ばれる一定数の記憶サイクル(すなわち、6)
が割当てられる。
目的システムにおいては、異なる読出−書込チャンネル
に対して連続した記憶サイクルが提供され、与えられた
セクタに接続された周辺装置と主記憶域との間の文字の
伝送が割当てられたチャンネルを介して行われる。
に対して連続した記憶サイクルが提供され、与えられた
セクタに接続された周辺装置と主記憶域との間の文字の
伝送が割当てられたチャンネルを介して行われる。
ある種の目標システム、たとえば上記特許のシステムの
各読出−書込チャンネルは、特定のタイム・スロットと
永久的に関連する。
各読出−書込チャンネルは、特定のタイム・スロットと
永久的に関連する。
この形式のシステムで、与えられたチャンネルの転送率
を向上させるには、いくつかのチャンネルを「インタロ
ック」シてこれらのインタロックされたチャンネルに対
して提供されたすべてのサイクルを単一の転送操作にお
いて使えるようにする。
を向上させるには、いくつかのチャンネルを「インタロ
ック」シてこれらのインタロックされたチャンネルに対
して提供されたすべてのサイクルを単一の転送操作にお
いて使えるようにする。
このインクロックの操作は、データ転送操作を開始させ
るプログラム命令によって行われる。
るプログラム命令によって行われる。
第30fflEパー・セクタ基準によって編成される。
この表は、目標プログラムがセクタに対して指定し得る
各周辺制御ユニット(PCU)・アドレス(すなわち、
16まで)を示すようにコード化された複数個の項目を
もつ。
各周辺制御ユニット(PCU)・アドレス(すなわち、
16まで)を示すようにコード化された複数個の項目を
もつ。
目標システムにおいては、PCUはアドレス可能な装置
であり、一つの周辺装置をセクタを介して中央プロセッ
サに相互接続する。
であり、一つの周辺装置をセクタを介して中央プロセッ
サに相互接続する。
目標プログラムの命令が与えられたPCUに対して指定
することができる装置の数は第4の表の中に記される。
することができる装置の数は第4の表の中に記される。
この表は、PCU基準で編成され、目標プログラムが与
えられたPCUに対して指定し得る装置アドレス・コー
ドのすべてを指定するようにコード化された項目を含む
。
えられたPCUに対して指定し得る装置アドレス・コー
ドのすべてを指定するようにコード化された項目を含む
。
本発明によれば、マイクロプログラム制御記憶域の制御
下にあるシステムが各I10命令の処理中に動作して一
定の順序で必要に応じ四つの表の内容へ自動的にアクセ
スし、エミュレートされている特定の目標システムの特
性を定義する情報内容に対して、目標プログラムI10
命令の各種部分を検証し有効化する。
下にあるシステムが各I10命令の処理中に動作して一
定の順序で必要に応じ四つの表の内容へ自動的にアクセ
スし、エミュレートされている特定の目標システムの特
性を定義する情報内容に対して、目標プログラムI10
命令の各種部分を検証し有効化する。
各表は、システムが各順次操作に対する適正な表に順次
アクセスすることができるようにする情報を含んでいる
。
アクセスすることができるようにする情報を含んでいる
。
I10命令が遂行不能であるか遂行すべきでない旨の最
初の表示であったときは、マイクロプログラム制御のも
とにあるシステムはトラップ(trap) サレ、シス
テムに含まれるエミュレーション・ソフトウェアに合図
をし、そのソフトウェアに対し状態情報を送る。
初の表示であったときは、マイクロプログラム制御のも
とにあるシステムはトラップ(trap) サレ、シス
テムに含まれるエミュレーション・ソフトウェアに合図
をし、そのソフトウェアに対し状態情報を送る。
さらに重要なことに、J10命令が実行可能である旨の
感知がされたときには、システムは多数のコードのうち
の一つをソフトウェアに送り、一定数のソフトウェア・
ルーチンのうちのどれを引用して、ホスト装置のI10
機能を使う命令の遂行をすべきであるがを示す。
感知がされたときには、システムは多数のコードのうち
の一つをソフトウェアに送り、一定数のソフトウェア・
ルーチンのうちのどれを引用して、ホスト装置のI10
機能を使う命令の遂行をすべきであるがを示す。
こうして、このシステムは、異なった各種目標システム
に対処するに必要なソフトウェア・ルーチンの数を低減
する。
に対処するに必要なソフトウェア・ルーチンの数を低減
する。
さらに、表に含まれた情報を使う本発明のエミュレーシ
ョン装置は、ある種の入出力制御命令を完全に遂行する
ことができるのであって、たとえば、先行データ転送操
作の完了及びこの操作中における中断(1nterru
ption)機能の状態に関連したある種のリソース(
たとえば、HWC又は周辺制御ユニットなど)の利用可
能性を試験する命令などである。
ョン装置は、ある種の入出力制御命令を完全に遂行する
ことができるのであって、たとえば、先行データ転送操
作の完了及びこの操作中における中断(1nterru
ption)機能の状態に関連したある種のリソース(
たとえば、HWC又は周辺制御ユニットなど)の利用可
能性を試験する命令などである。
命令の連続的遂行がシステムの処理時の損失を生ずるよ
うな制御命令の形式の場合には、エミュレータはデータ
転送命令の場合と同様な態様でシステムに対して信号を
送る。
うな制御命令の形式の場合には、エミュレータはデータ
転送命令の場合と同様な態様でシステムに対して信号を
送る。
本発明によれば、表の異なったクラスにいれる項目を一
定の態様で適当にコード化し、特定プログラムの論理が
影響されない限りにおいて、目標プログラムによって加
えられた「インターロック」又は抑制のあるものを解放
することができる。
定の態様で適当にコード化し、特定プログラムの論理が
影響されない限りにおいて、目標プログラムによって加
えられた「インターロック」又は抑制のあるものを解放
することができる。
すなわち、目標システム・プログラムは、プログラムを
正しく作動させるためにはインターロックを要求しない
。
正しく作動させるためにはインターロックを要求しない
。
こうして、エミュレータは、目標システムに存在するあ
る種の制限に依存しないところの目標システム・プログ
ラムの一層効率的に遂行することができる。
る種の制限に依存しないところの目標システム・プログ
ラムの一層効率的に遂行することができる。
したがって、このエミュレータは、目標システム・プロ
グラムの正しい動作に必要なインターロックのみを実行
する。
グラムの正しい動作に必要なインターロックのみを実行
する。
このことにより、システム・オーバヘッドを低減する。
本発明の編成及び動作における特徴を、添附図を参照し
て説明するが、本発明は図示実施例に限定されるもので
はない。
て説明するが、本発明は図示実施例に限定されるもので
はない。
第1図において、本発明によるシステムは複数個のサブ
システム100−1ないし100−4を含む。
システム100−1ないし100−4を含む。
図示したサブシステムは、中央処理ユニット・サブシス
テム1001、入出力コントローラ・サブシステム10
0−2、周辺サブシステム100−3、主記憶装置サブ
システム10()−4、及び記憶装置インターフェイス
・ユニット・サブシステム100−5に対応する。
テム1001、入出力コントローラ・サブシステム10
0−2、周辺サブシステム100−3、主記憶装置サブ
システム10()−4、及び記憶装置インターフェイス
・ユニット・サブシステム100−5に対応する。
中央処理ユニット・サブシステム1oo−iは、データ
管理ユニット(DMU)101−L命令フェッチ・ユニ
ット(IFU)101−3、算術・論理ユニット(AL
U)101−6、制御記憶インターフェイス・アタツク
(CIA)101−4、及び制御記憶域ユニット(C3
U)101−5を含み、これらはすべて第1図のように
配置される。
管理ユニット(DMU)101−L命令フェッチ・ユニ
ット(IFU)101−3、算術・論理ユニット(AL
U)101−6、制御記憶インターフェイス・アタツク
(CIA)101−4、及び制御記憶域ユニット(C3
U)101−5を含み、これらはすべて第1図のように
配置される。
CPUサブシステムは、このシステムに対する演算を行
いこれらの演算は、制御記憶域101−5に貯えられた
マイクロ命令の制御下に行われる。
いこれらの演算は、制御記憶域101−5に貯えられた
マイクロ命令の制御下に行われる。
好ましい実施例においては、これらの命令は、CPUサ
ブシステム100の外部にある公知の制御記憶域ローダ
により制御記憶域10L−5にロードされる。
ブシステム100の外部にある公知の制御記憶域ローダ
により制御記憶域10L−5にロードされる。
ClA10l−jNL処理演算に必要な制御記憶域10
1−5のシーケンスの指示に要する論理回路を含む。
1−5のシーケンスの指示に要する論理回路を含む。
たとえば、ClA101−4は、内部及び外部の両条件
を示す信号にもとづいて、所要のアドレス修正、アドレ
ス発生、試験、分岐等の機能をはたす。
を示す信号にもとづいて、所要のアドレス修正、アドレ
ス発生、試験、分岐等の機能をはたす。
ALUlol−6は、本質的には演算である各種操作を
行ない、これには語及びバイトの両者のデータ処理機能
が含まれる。
行ない、これには語及びバイトの両者のデータ処理機能
が含まれる。
さらにALUはローカル記憶域ユニット(LSU)10
1−7を内蔵し、このユニットは小さなスクラッチ・パ
ッド記憶装置及び従来設計の論理回路を含み、これらは
、各種の演算及びデータ処理操作中に発生する被演算子
及び部分的な結果ならびに制御情報を貯える。
1−7を内蔵し、このユニットは小さなスクラッチ・パ
ッド記憶装置及び従来設計の論理回路を含み、これらは
、各種の演算及びデータ処理操作中に発生する被演算子
及び部分的な結果ならびに制御情報を貯える。
ALUlol−6に結合されたアドレス制御ユニット(
ACU)101−2は、記憶装置サブシステム内に貯え
られた情報の引用に対するアドレスの発生装置をもつ。
ACU)101−2は、記憶装置サブシステム内に貯え
られた情報の引用に対するアドレスの発生装置をもつ。
さらにACUlol−2は、あらかじめ命令をフェッチ
する回路を含むIFUlol−3に結合され、現在遂行
中の命令の完了前に利用可能な命令を保持する。
する回路を含むIFUlol−3に結合され、現在遂行
中の命令の完了前に利用可能な命令を保持する。
図示のように、DMUlol−1は、CPUサンシステ
ム及び/又は緩衝記憶装置1012の間のインターフェ
イスを与える。
ム及び/又は緩衝記憶装置1012の間のインターフェ
イスを与える。
DMUは、次の記憶サイクル中に検索すべき情報が主記
憶装置サブシステムのどの部に含まれているかを指定し
、かつ、そノ清報を適時にCPUサブシステムへ転送す
るように動作する回路を含む。
憶装置サブシステムのどの部に含まれているかを指定し
、かつ、そノ清報を適時にCPUサブシステムへ転送す
るように動作する回路を含む。
主記憶域インターフェイス・ユニット・サブシステム1
00−3は、緩衝記憶装置103−2、緩衝記憶名簿1
03−3、及び主記憶域シーケンサ(5equence
r ) 103−1をもつ。
00−3は、緩衝記憶装置103−2、緩衝記憶名簿1
03−3、及び主記憶域シーケンサ(5equence
r ) 103−1をもつ。
緩衝記憶装置103−2は、CPUサブシステムによっ
て次に使われるべき情報の一時記憶をするとともに、処
理操作中に頻繁に使われる情報の一時記憶をする。
て次に使われるべき情報の一時記憶をするとともに、処
理操作中に頻繁に使われる情報の一時記憶をする。
緩衝記憶名簿103−3は、演算によって呼び出される
情報が緩衝記憶装置103−2の中に貯えられている場
合にアドレスを発生する回路を含む。
情報が緩衝記憶装置103−2の中に貯えられている場
合にアドレスを発生する回路を含む。
主記憶シーケンサi 03−1は、主記憶域サブシステ
ム100−4の各種モジュールと図示の各種サブシステ
ム(すなわち、l0C100−2及びCPU100−1
)との間のインターフェイスを与える。
ム100−4の各種モジュールと図示の各種サブシステ
ム(すなわち、l0C100−2及びCPU100−1
)との間のインターフェイスを与える。
記憶域インタフェイス・ユニット・サブシステムの主記
憶シーケンサに結合された主記憶域サブシステム100
−4は、好ましい実施例例の場合四つの記憶モジュール
1041ないし1044を含む。
憶シーケンサに結合された主記憶域サブシステム100
−4は、好ましい実施例例の場合四つの記憶モジュール
1041ないし1044を含む。
これらのモジュールは、主記憶シーケンサの制御下にお
いて、インターリーブ操作モードを含む各種の異なった
モードで動作する。
いて、インターリーブ操作モードを含む各種の異なった
モードで動作する。
これらのモジュールは、現在のタスクの遂行中にシステ
ムの処理部分によって要求される情報に対する記憶域を
与える。
ムの処理部分によって要求される情報に対する記憶域を
与える。
主記憶シーケンサのさらに詳細については、ジョン・エ
ル・カーリイ等の発明に係り1972年10月5日出願
の「記憶装置シーケンサ」と題する米国特許願第295
331号を参照されたい。
ル・カーリイ等の発明に係り1972年10月5日出願
の「記憶装置シーケンサ」と題する米国特許願第295
331号を参照されたい。
第1図に示すように、l0C100−2は周辺サブシス
テムi o o−sに結合される。
テムi o o−sに結合される。
このサブシステムは、これに接続された多数の周辺装置
(たとえば、磁気テープ駆動装置、ディスクなどのマス
記憶ユニット、プリンタ、カード読取器、カードさん孔
器などのユニット・レコード装置等)の動作を制御する
複数個の「周辺プロセッサ」を含む。
(たとえば、磁気テープ駆動装置、ディスクなどのマス
記憶ユニット、プリンタ、カード読取器、カードさん孔
器などのユニット・レコード装置等)の動作を制御する
複数個の「周辺プロセッサ」を含む。
説明の都合上、「周辺プロセッサ」その他の用語につい
ては、最後にまとめて説明する。
ては、最後にまとめて説明する。
IOCは、周辺サブシステムと主記憶域サブシステムと
の間の情報転送を制御する。
の間の情報転送を制御する。
たとえば、IOCは16個までの周辺サブシステムを取
扱うことが可能であり、各周辺サブシステムは上記のよ
うに、磁気テープ、ディスク、カード読取器、さん孔装
置、プリンタなどのコンブルメント(com pie
m ent)を管理する。
扱うことが可能であり、各周辺サブシステムは上記のよ
うに、磁気テープ、ディスク、カード読取器、さん孔装
置、プリンタなどのコンブルメント(com pie
m ent)を管理する。
IOCは、主記憶域サブシステムとの間にインターフェ
イスをもち、主記憶域と周辺サブシステムとの間のデー
タの転送をし、かつ、主記憶から「チャンネル・プログ
ラム」と呼ばれる関連命令群をフェッチしてCPUサブ
システムの動作を中断させることなくこれらの命令を遂
行する。
イスをもち、主記憶域と周辺サブシステムとの間のデー
タの転送をし、かつ、主記憶から「チャンネル・プログ
ラム」と呼ばれる関連命令群をフェッチしてCPUサブ
システムの動作を中断させることなくこれらの命令を遂
行する。
さらに、IOCは、CPUサブシステムとのインターフ
ェイスをもち、周辺サブシステム状態情報を評価及び/
又は動作のためにCPUへ送り、「チャンネル・プログ
ラム」の遂行開始のためにCPUの要求に応答し、さら
に、チャンネル・プログラムの遂行が完了したときにC
PUに対して通報する。
ェイスをもち、周辺サブシステム状態情報を評価及び/
又は動作のためにCPUへ送り、「チャンネル・プログ
ラム」の遂行開始のためにCPUの要求に応答し、さら
に、チャンネル・プログラムの遂行が完了したときにC
PUに対して通報する。
本発明の好ましい実施例においては、入出力操作は基本
的には、特定の入出力操作を遂行するための命令及びア
ドレス情報の完全なセットをもつチャンネル・プログラ
ムの制御下で行われる。
的には、特定の入出力操作を遂行するための命令及びア
ドレス情報の完全なセットをもつチャンネル・プログラ
ムの制御下で行われる。
IOCは、チャンネル・プログラムの遂行に必要なハー
ドウェア/ファームウェア (firmware )の両者を含む。
ドウェア/ファームウェア (firmware )の両者を含む。
IOCによるプログラムの遂行は、複数のチャンネルを
通してなされる。
通してなされる。
「チャンネル」は、I10操作遂行の目的のためのCP
Uから周辺装置にいたるアクセス路である。
Uから周辺装置にいたるアクセス路である。
チャンネルは、IOC機能、IOCと周辺装置との間の
物理的チャンネル、及び与えられたI10100遂行に
必要な周辺サブシステムにおける機能を含む。
物理的チャンネル、及び与えられたI10100遂行に
必要な周辺サブシステムにおける機能を含む。
好ましい実施例では、周辺プロセッサは225個までの
論理チャンネルを取扱う。
論理チャンネルを取扱う。
第1図に示すように、IOCサブシステムは、記憶管理
ユニツHO2−1,サービス・コードユニット102−
2、及び複数個のチャンネル制御ユニットを含む。
ユニツHO2−1,サービス・コードユニット102−
2、及び複数個のチャンネル制御ユニットを含む。
IOCは16個までの周辺サブシステムに対処すること
ができるから、対応した数のチャンネル制御ユニットを
もつ。
ができるから、対応した数のチャンネル制御ユニットを
もつ。
上記のように、I10100、チャンネル・プログラム
によって指定される。
によって指定される。
チャンネル・プログラムの開始は1周辺プロセッサによ
って周辺装置に関連した「論理チャンネル」上でなされ
る。
って周辺装置に関連した「論理チャンネル」上でなされ
る。
I OCF各論理チャンネル及びそれと関連したチャン
ネルプログラムの状態に関するすべての情報を保持する
。
ネルプログラムの状態に関するすべての情報を保持する
。
チャンネル・プログラムは中央処理操作と同時に遂行さ
れ、それによってマルチ処理及びマルチプログラミング
の機能を与える。
れ、それによってマルチ処理及びマルチプログラミング
の機能を与える。
本発明における入出力操作のための構成は、公知設計の
ものとみなしてもよい。
ものとみなしてもよい。
I10操作遂行のためのチャンネルの使用に関する詳細
説明は、1971にパン・ノストランド・ラインホルト
社から出版されたヘンリイ・カツツアン著「コンピュー
タ編成とシステム/3701と題する書物を参照された
鶏 第1図の各部分の説明にはいる前に、第1a図を参照し
て、主記憶域1040編戊を編戒説明する。
説明は、1971にパン・ノストランド・ラインホルト
社から出版されたヘンリイ・カツツアン著「コンピュー
タ編成とシステム/3701と題する書物を参照された
鶏 第1図の各部分の説明にはいる前に、第1a図を参照し
て、主記憶域1040編戊を編戒説明する。
主記憶域−第1a図
主記憶域のアドレス・スペースの下端に対応する区域は
、システムのハードウェア及びファームウェアによる使
用のために予約される。
、システムのハードウェア及びファームウェアによる使
用のために予約される。
この区域の上の境界すなわち上限は、システムのソフト
ウェアに対してアクセス可能な「境界アドレス・レジス
タ(BAR)Jの内容によって指定される。
ウェアに対してアクセス可能な「境界アドレス・レジス
タ(BAR)Jの内容によって指定される。
一般に、BARの内容は、システム初期化のときに一定
値に指定される。
値に指定される。
BARの内容によって指定されたアドレス以降の区域又
はスペースは、通常はIOCによって使われる表を含み
、これが特定のサブシステム編成及びCPU操作の制御
用ファームウェア命令を定義する。
はスペースは、通常はIOCによって使われる表を含み
、これが特定のサブシステム編成及びCPU操作の制御
用ファームウェア命令を定義する。
第1a図に示すように記憶域は複数個のセグメントに区
分され、これらのセグメントはオペレーティング・シス
テムのソフトウェアによって定義される与えられたプロ
セスによってアクセスすることができる。
分され、これらのセグメントはオペレーティング・シス
テムのソフトウェアによって定義される与えられたプロ
セスによってアクセスすることができる。
この主記憶域の特徴は、セグメント化された仮想メモリ
である点にあり、その中におけるプログラムのアドレス
は、それが存在するセグメントの名前及びそのセグメン
ト内の変位によって表わされるデータである。
である点にあり、その中におけるプログラムのアドレス
は、それが存在するセグメントの名前及びそのセグメン
ト内の変位によって表わされるデータである。
セグメントには保護「リング」が関連し、これをセグメ
ントの内容をアクセスから保護する。
ントの内容をアクセスから保護する。
また、セグメントが属する保護「リング」は、セグメン
トに関連したデータの一部である。
トに関連したデータの一部である。
仮想メモリ及びプログラム保護の実際の詳細については
、ハネイウエル情報システム社の1972年版権の「マ
ルチプル仮想メモリ」と題する刊行物を参照されたい。
、ハネイウエル情報システム社の1972年版権の「マ
ルチプル仮想メモリ」と題する刊行物を参照されたい。
第1a図に示す主記憶エミュレータ情報及びデータ構造
体は、複数個のセグメント(AからDまで)を含む。
体は、複数個のセグメント(AからDまで)を含む。
セグメン)Aは、目標システムの制御記憶域の像を貯え
るようにコード化される。
るようにコード化される。
したがって、このセグメントは、処理レジスタ(たとえ
ば、読出−書込カウンタ、始動及び現在の科学的レジス
タ、作業レジスタなど)を含む。
ば、読出−書込カウンタ、始動及び現在の科学的レジス
タ、作業レジスタなど)を含む。
セグメントAのこのシステムに対する識別は、ベース・
アドレス・レジスタ3 (BR3)の内容によってなさ
れる。
アドレス・レジスタ3 (BR3)の内容によってなさ
れる。
セグメントBは、本発明にしたがって編成された入出力
衣を含む。
衣を含む。
このセグメントは、ベース・アドレス・レジスタ4(B
R4)の内容によってアクセスされる。
R4)の内容によってアクセスされる。
目標システムの主記憶域はセグメン)Cに割当てられる
、このセグメントはベース・アドレス・レジスタ2(B
R2)の内容によってエミュレーション・システムに対
し識別される。
、このセグメントはベース・アドレス・レジスタ2(B
R2)の内容によってエミュレーション・システムに対
し識別される。
セグメントの大きさは、エミュレートされるべき目標シ
ステムの記憶域の大きさに等しくされる。
ステムの記憶域の大きさに等しくされる。
絶対アドレスM又は文字を与えられたときに、その文字
は、BR2の内容をMによってインデキシングすること
によって位置決めされる。
は、BR2の内容をMによってインデキシングすること
によって位置決めされる。
好ましい実施例においては、主記憶域に含まれる情報の
書式は、目標システムによって使われる情報の書式に対
応する。
書式は、目標システムによって使われる情報の書式に対
応する。
すなわち、両システムとも8ビツトを含む「文字」を使
い、6個のデータ・ビット及び2個の句読ビット(すな
わち、語マーク・ビットとなるビット1、及び項目マー
ク・ビットとなるビット0)を各文字に使う。
い、6個のデータ・ビット及び2個の句読ビット(すな
わち、語マーク・ビットとなるビット1、及び項目マー
ク・ビットとなるビット0)を各文字に使う。
ホスト・システムにおける情報表示の唯一の相違点G′
!、右から左へ1ないし8とするのではなく左から右え
Oないし7とビット番号をつげることである。
!、右から左へ1ないし8とするのではなく左から右え
Oないし7とビット番号をつげることである。
セグメントDは、このシステムのハードウェア又はファ
ームウェアによっては行われない機能を取扱うための表
及びルーチンをもつ。
ームウェアによっては行われない機能を取扱うための表
及びルーチンをもつ。
たとえばソフトウェア部分のエミュレーション・サポー
ト・パッケージ(ESP)&’!、目標システムの入出
力命令の翻訳と遂行をするように動作する。
ト・パッケージ(ESP)&’!、目標システムの入出
力命令の翻訳と遂行をするように動作する。
また、それは、目標システム・アーキテクチャの各種ハ
ードウェア部分および従来は目標システムによって行わ
れたある種の操作をシミュレートする。
ードウェア部分および従来は目標システムによって行わ
れたある種の操作をシミュレートする。
もちろん、入出力操作の実際の遂行Q転 ホスト。
システムのI10構造体を介して進行する。
たとえば、セグメン)Dに含まれる諸表G′!、目標シ
ステムによって使われる周辺アドレスであって、エミレ
ートされている特定編成に対するI10システムに対応
するものを含む。
ステムによって使われる周辺アドレスであって、エミレ
ートされている特定編成に対するI10システムに対応
するものを含む。
他1表は、特定転送の状態、その制御ユニット/装置ア
ドレス、及び目標システムのすべての読出/書込チャン
ネルの状態を記録するために使われる。
ドレス、及び目標システムのすべての読出/書込チャン
ネルの状態を記録するために使われる。
第1a図には図示してないが、プロセス制御ブロック(
PCB)を含むセグメンI・又はセグメントの一部が主
記憶域内にある。
PCB)を含むセグメンI・又はセグメントの一部が主
記憶域内にある。
PCBは、与えられたプロセスを動作又は操作させるに
必要な関連情報を含む。
必要な関連情報を含む。
PCB内に含まれる情報の形式を第1b図に示す。
この図から明らかなように、この情報は、第1図のシス
テムを可能化して特定の目標システムをエミュレートす
るに必要なすべてのものである。
テムを可能化して特定の目標システムをエミュレートす
るに必要なすべてのものである。
PCBの内容を、本発明との関連において以下に説明す
る。
る。
CPUサブシステムの詳細説明
さて、第1図のCPUサブシステムの各部でエミュレー
ションに使われるものを詳細に説明する。
ションに使われるものを詳細に説明する。
制御記憶インターフェイス・アダプタ(CIA)及び制
御記憶域ユニツ)(C8U)、第2a図好ましい実施例
のC8Uの制御記憶配列2051は、固定節と可変節と
の両者をもつ。
御記憶域ユニツ)(C8U)、第2a図好ましい実施例
のC8Uの制御記憶配列2051は、固定節と可変節と
の両者をもつ。
固定節は、プログラム可能な読出専用記憶装置(FRO
M)を使って構成することが可能であり、記憶域の可変
部分は、集積回路の読出/書込記憶装置をもつ。
M)を使って構成することが可能であり、記憶域の可変
部分は、集積回路の読出/書込記憶装置をもつ。
記憶域の全体がアドレス・レジスタKSを介してアドレ
ス可能であり、その上方部分は可変であってこのシステ
ムを各種の異なるモードで制御する可能性を与える。
ス可能であり、その上方部分は可変であってこのシステ
ムを各種の異なるモードで制御する可能性を与える。
このモードの一つは、多数の目標システムの動作のエミ
ュレーションに使ワレる。
ュレーションに使ワレる。
他のものは、システムの故障部分の診断をする診断機能
を含む。
を含む。
図示実施例では、制御記憶域配列は、7K(K=102
4ビット)のサイズをもち、各制御記憶語の幅は84ビ
ツトである。
4ビット)のサイズをもち、各制御記憶語の幅は84ビ
ツトである。
制御記憶域配列(東その節に区分される。
すなわち、マイクロ診断にIK;エミュレーションに2
に;固有(native)モード操作に4にである。
に;固有(native)モード操作に4にである。
与えられた節を有する制御記憶域の語位置が連続でも不
連続でもよいことは明らかである。
連続でもよいことは明らかである。
マイクロ診断に使われる1には、エミュレーション及び
固有モード操作に使われる部分と同様に動的に可変であ
る。
固有モード操作に使われる部分と同様に動的に可変であ
る。
制御記憶域の残余部分は固であり不変である。
制御記憶域配列の構成は、コスト、速度、融通性その他
の要因の関数として変化し得るものである。
の要因の関数として変化し得るものである。
読出専用の記憶装置の詳細については、1971年の秋
期合同コンピュタ−会議で公表されたケネス・ジエイ・
サーバー、ロハート・オー・ベルブの「LsI記憶技術
を使った汎用論理モジュール」と題する論文を参照され
たい。
期合同コンピュタ−会議で公表されたケネス・ジエイ・
サーバー、ロハート・オー・ベルブの「LsI記憶技術
を使った汎用論理モジュール」と題する論文を参照され
たい。
上記の各制御記憶語は、第5図に示すように、長さ24
ビツトであり、複数個(6)のフィールドに分かれてい
る。
ビツトであり、複数個(6)のフィールドに分かれてい
る。
第1フイールドは、モフィールドと名付けられ、実行す
べき分岐の形式を識別する分岐制御フィールドである。
べき分岐の形式を識別する分岐制御フィールドである。
第2a図から明らかなように、EOないしElによって
8種類までの異なる分岐コードが指定される。
8種類までの異なる分岐コードが指定される。
CIAの選択回路204−1ないし204−7GLマイ
クロ命令語のA、B、C,D及びLフィールドを使って
分岐アドレスを発生する。
クロ命令語のA、B、C,D及びLフィールドを使って
分岐アドレスを発生する。
たとえば、Eフィールドがすべてゼロとしてコードされ
たときは、C及びDを試験フィールドとして使う条件つ
き(又は、試験が指定されない場合は無条件)でC及び
Dを試験フィールドとして使う1ないし4通りの’d操
作を指定する。
たときは、C及びDを試験フィールドとして使う条件つ
き(又は、試験が指定されない場合は無条件)でC及び
Dを試験フィールドとして使う1ないし4通りの’d操
作を指定する。
A及びBフィールドの値に等しいベース・アドレスへ分
岐される。
岐される。
C及びDフィールドによって指定された条件の試験から
回路204−1及び204−3が発生する結果に基いて
この値が修正される。
回路204−1及び204−3が発生する結果に基いて
この値が修正される。
各試験フィールドは、6ビツトの長さをもち、フィール
ドごとに64種類の異なる試験をすることができる。
ドごとに64種類の異なる試験をすることができる。
C及びDフィールドによって指定された条件の試験の結
果によって回路204−1及び204−3は2進1及び
制御アドレス・レジスタビット11゜12にそれぞれセ
ットされる。
果によって回路204−1及び204−3は2進1及び
制御アドレス・レジスタビット11゜12にそれぞれセ
ットされる。
制御記憶域アドレス・ビット13は、ビットLの状態に
等しくセットされる。
等しくセットされる。
分岐制御フィールドEがコード「1」にセットされたと
きには、B、C1及びDフィールドを使う64通りの分
岐が試験機能として可能になる。
きには、B、C1及びDフィールドを使う64通りの分
岐が試験機能として可能になる。
試験機能を試験するときに、Bフィールドは試験マイク
(mask )として使われる(すなわち、試験機能は
JANDJ操作においてB試験フィールドと結合される
)。
(mask )として使われる(すなわち、試験機能は
JANDJ操作においてB試験フィールドと結合される
)。
Eフィールドがコード「2」をもつようにコートイヒさ
れたときは、中断リターン操作が指定されるのであるが
、この操作は本発明には関係しないので、これ以上の説
明は省略する。
れたときは、中断リターン操作が指定されるのであるが
、この操作は本発明には関係しないので、これ以上の説
明は省略する。
Eフィールドが3を含むようにコード化されているとき
は、これによって、マイクロプログラム・サブルーチン
操作からのリターンが開始され、このリターンを完成さ
せるためその後に分岐操作がさらに続く。
は、これによって、マイクロプログラム・サブルーチン
操作からのリターンが開始され、このリターンを完成さ
せるためその後に分岐操作がさらに続く。
この操作においては、KRリターン・レジスタ204−
12のアドレス内容が次の制御アドレスとして使われる
。
12のアドレス内容が次の制御アドレスとして使われる
。
リターン・レジスタ204−12は、通常は、図示の増
分回路によって制御記憶域アドレス・レジスタKSのア
ドレス内容プラス1に対応する値にロードされている。
分回路によって制御記憶域アドレス・レジスタKSのア
ドレス内容プラス1に対応する値にロードされている。
Eフィールドが4としてコード化されているときは、こ
れはインフレメンタ204−11によるKSレジスタ2
04−9の内容の1だけの増分を許容する。
れはインフレメンタ204−11によるKSレジスタ2
04−9の内容の1だけの増分を許容する。
このことは、条件つき又はリターン分岐操作の後でだけ
行われる。
行われる。
また、図示してないが、一定の外部条件圀芯答してアド
レス・レジスタKSを所定値にする手段を設ける。
レス・レジスタKSを所定値にする手段を設ける。
第5図から明らかなように、制御記憶成語はフィールド
Kをもつ。
Kをもつ。
このフィールドは、14ビツト・フィールドであり、そ
の6ビツトは定数の指定に使われ、次の4ビツトは他の
定数又はステアリング(steering)・フィール
ドに使われ、最後の4ビツトは定数に対するステアリン
グ・フィールドとして使われる。
の6ビツトは定数の指定に使われ、次の4ビツトは他の
定数又はステアリング(steering)・フィール
ドに使われ、最後の4ビツトは定数に対するステアリン
グ・フィールドとして使われる。
QA−QBフィールドは8ビツトをもち、その最初の4
ビツトは第1母線(すなわち、QA母線に加えるべき情
報を指定し、次の4ビツトは他の母線(すなわち、QB
母線)に加えるべき情報を制御する。
ビツトは第1母線(すなわち、QA母線に加えるべき情
報を指定し、次の4ビツトは他の母線(すなわち、QB
母線)に加えるべき情報を制御する。
両母線は二方向性であり、CPUの各種ユニットを、デ
ータ及び制御情報の伝送及び受取りの目的のために接続
する。
ータ及び制御情報の伝送及び受取りの目的のために接続
する。
分岐操作がないときは、操作サイクル中の制御記憶域は
KSアドレス・レジスタ204−9の内容によってアド
レスされ、アドレスされた位置の内容は、複数個のデー
タ・ラッチ205−2へ読出される。
KSアドレス・レジスタ204−9の内容によってアド
レスされ、アドレスされた位置の内容は、複数個のデー
タ・ラッチ205−2へ読出される。
したがって、これらのラッチからの出力の一部(すなわ
ち、ビット26−79)は、CPUサブシステムの各ユ
ニット内に含まれる記憶レジスタ(図示せず)へ分配さ
れ伝達される。
ち、ビット26−79)は、CPUサブシステムの各ユ
ニット内に含まれる記憶レジスタ(図示せず)へ分配さ
れ伝達される。
これらの各ユニットは、プログラム可能な読取専用記憶
装置(FROM)の形式をとるデコーデング論理回路(
図示せず)を含み、これがそれぞれに対応するユニット
に対して所要のサブコマンド制御信号を発生する。
装置(FROM)の形式をとるデコーデング論理回路(
図示せず)を含み、これがそれぞれに対応するユニット
に対して所要のサブコマンド制御信号を発生する。
こうして、各ユニットはそのl’−PROMJから与え
られるflaM号を組合わせ、当該ユニット内で発生す
る他の信号と組合わせるようにこれらの信号を分割して
、各種操作の遂行上必要なものとすることができる。
られるflaM号を組合わせ、当該ユニット内で発生す
る他の信号と組合わせるようにこれらの信号を分割して
、各種操作の遂行上必要なものとすることができる。
デコーダ回路205−4は、一定のフィールド(たとえ
ば、分岐フィールド)をデコードし、シーケンシング操
作に必要な信号を発生する。
ば、分岐フィールド)をデコードし、シーケンシング操
作に必要な信号を発生する。
また第2a図から明らかなように、制御記憶域ユニット
はローカル・レジスタKN205−6をもち、このレジ
スタはレジスタKW205−8を介して制御記憶域配列
205−1に結合される。
はローカル・レジスタKN205−6をもち、このレジ
スタはレジスタKW205−8を介して制御記憶域配列
205−1に結合される。
この配置は、記憶サイクル操作中に読出された情報を被
アドレス位置へ書きもどすことを可能にするものである
。
アドレス位置へ書きもどすことを可能にするものである
。
このレジスタの大きさのために、読出された情報の制御
記憶域配列への書もどしは一時に12ビツトづつ行われ
る。
記憶域配列への書もどしは一時に12ビツトづつ行われ
る。
算術・論理ユニット−第2b−2d図
第1C図にフロック図で示すこのユニットは、CpUに
対して要求されるすべての算術論理操作を行う。
対して要求されるすべての算術論理操作を行う。
このユニットは第2b図に示す語ALU206−1を含
み、これは、1対の被演算子レジスタ206−3及び2
06−5に貯えられた長さ4バイトの1対の被演算子に
対して算術及び論理演算を行う。
み、これは、1対の被演算子レジスタ206−3及び2
06−5に貯えられた長さ4バイトの1対の被演算子に
対して算術及び論理演算を行う。
被演算子レジスタ206−3及び206−5の内容は、
従来設計(DM択回路206−7及び206−9を介し
て加えられる。
従来設計(DM択回路206−7及び206−9を介し
て加えられる。
語加算器206−1が発生する出力信号は、レジスタ2
06−3及びレジスタLYに加えられる。
06−3及びレジスタLYに加えられる。
デコーダ回路206−2がACレジスタをゼロに対して
試験する。
試験する。
1対のレジスタ206−11及び206−12が補助レ
ジスタとして働き、図示のように諸エレメント及び母線
に結合される。
ジスタとして働き、図示のように諸エレメント及び母線
に結合される。
AFレジスタ206−12はまた、三段階カウンタ20
616からの制御信号に応答してAGレジスタ206、
−88からのデータ信号をSFSセレクタ回路206−
14を介して受取る。
616からの制御信号に応答してAGレジスタ206、
−88からのデータ信号をSFSセレクタ回路206−
14を介して受取る。
SEカウンタ206−16は、増加分/減少分回路20
61Bを介して1づつ増加又は減少される。
61Bを介して1づつ増加又は減少される。
このカウンタは、バイト加算器及びCIAユニットに含
まれるレジスタからロードされる。
まれるレジスタからロードされる。
また、ALUは、A I op コード・レジスタ2
06−20、デコーダ回路206−22、及び図示のよ
うに配置されたモート11]御レジスタ206−24を
含む。
06−20、デコーダ回路206−22、及び図示のよ
うに配置されたモート11]御レジスタ206−24を
含む。
レジスタ206−24の内容は、加算器を条件づげて、
命令のOPコードによって指定された操作を行わせる。
命令のOPコードによって指定された操作を行わせる。
また、ALUは、論理回路の形式であり得る64ビツト
・シフタ206−30をもち、この論理回路の一例は、
ジエイムズ・ブラウンの発明に係り1973年1月2日
に出願された「シフティング装置」と題する米国特許願
第320011号に開示されている。
・シフタ206−30をもち、この論理回路の一例は、
ジエイムズ・ブラウンの発明に係り1973年1月2日
に出願された「シフティング装置」と題する米国特許願
第320011号に開示されている。
シフタ206−30は、AC及びAEレジスタ206−
3及び206−11に結合され、8ビット制御レジスタ
206−32によって制御される。
3及び206−11に結合され、8ビット制御レジスタ
206−32によって制御される。
レジスタ206−32は図示ソースから直接にロードさ
れるか、又は、セレクタ回路206−34を介して間接
的にロードされる。
れるか、又は、セレクタ回路206−34を介して間接
的にロードされる。
第1C図から明らかなように、ALUは8ビツト(バイ
ト)加算器206−50をもち、第2C図はその詳細を
示す。
ト)加算器206−50をもち、第2C図はその詳細を
示す。
本発明の目的には、公知設計の加算器206−50を使
ってもよい。
ってもよい。
加算器206−50は、一時に1バイトづつ被演X子に
演算を加え、目標システムによって要求されるこれらの
演算をするデコーディング論理回路を含む。
演算を加え、目標システムによって要求されるこれらの
演算をするデコーディング論理回路を含む。
さらに、この加算器は、小数点修正回路20672、ゼ
ロ結果デコーダ回路206−74、出力フリップフロッ
プ206−75、及び出力セレクタ回路206−76を
もつ。
ロ結果デコーダ回路206−74、出力フリップフロッ
プ206−75、及び出力セレクタ回路206−76を
もつ。
また、加算器206−50は、第2C図に示すように共
通母線QA及びQBに接続されかつ相互に結合された複
数個の記憶レジスタをもつ。
通母線QA及びQBに接続されかつ相互に結合された複
数個の記憶レジスタをもつ。
図から明らかなように、レジスタ206−58は、共通
データ/制御母線QBに結合され、かつ、回路206−
78を介してソータLSM 、AA、ARBに結合され
る。
データ/制御母線QBに結合され、かつ、回路206−
78を介してソータLSM 、AA、ARBに結合され
る。
ソースLSMは、第1図のローカル記憶ユニット101
−7の中に含まれる第2d図のスクラッチ・パッド記憶
装置に対応する。
−7の中に含まれる第2d図のスクラッチ・パッド記憶
装置に対応する。
すでに述べたように、この記憶装置は、ALUに対する
一時記憶、および特定命令の処理に関係する制御情報と
アドレス情報の一時記憶をする。
一時記憶、および特定命令の処理に関係する制御情報と
アドレス情報の一時記憶をする。
ローカル記憶装置内の一所の記憶位置によって形成され
る各種使用を第3及び4図に示す。
る各種使用を第3及び4図に示す。
ソースAA及びARBは、それぞれレジスタ206−5
2及びバイト加算器206−50に対応する。
2及びバイト加算器206−50に対応する。
レジスタ206−52は、両母線QA及びQB、ならび
にセレクタ回路206−65を介してACレジスタ20
6−3に結合される。
にセレクタ回路206−65を介してACレジスタ20
6−3に結合される。
第2b図から明らかなように、AA及びABレジスタ2
06−52及び206−54はA及びB被演算子レジス
タとして作用し、これらはそれぞれAAS及びABSセ
レクタ回路206−56及び206−58を介してバイ
ト加算器206−50に結合される。
06−52及び206−54はA及びB被演算子レジス
タとして作用し、これらはそれぞれAAS及びABSセ
レクタ回路206−56及び206−58を介してバイ
ト加算器206−50に結合される。
モード制御レジスタ206−57は直接に加算器206
−50と結合され、このレジスタの内容は、このレジス
タにロードされた定数によって指定された演算をするよ
うに加算器を条件づげる。
−50と結合され、このレジスタの内容は、このレジス
タにロードされた定数によって指定された演算をするよ
うに加算器を条件づげる。
レジスタ206−52は、語加算器のADレジスタに貯
えられた4バイトのうちの指定された一つを受取る。
えられた4バイトのうちの指定された一つを受取る。
選ばれる特定バイトは、増加分/減少分回路206−6
1を含むSDカウンタ206−60の内容によって定義
される。
1を含むSDカウンタ206−60の内容によって定義
される。
このカウンタの内容は、ABレジスタ20658へ次に
ロードされるべきバイトの一つを指定する指針(poi
nter )として作用する。
ロードされるべきバイトの一つを指定する指針(poi
nter )として作用する。
同様にして、増加分/減少分回路206−63を含むS
Cカウンタ206−62は、語加算器のACレジスタ2
06−3からAAレジスタ206−52へロードすべき
バイトを示す指針として作用する。
Cカウンタ206−62は、語加算器のACレジスタ2
06−3からAAレジスタ206−52へロードすべき
バイトを示す指針として作用する。
すなわち、SD及びSCカウンタは、それぞれセレクタ
回路206−65及び206−66を条件づげして、A
A及びAB被演算子レジスタをAC及びADレジスタか
らロードする。
回路206−65及び206−66を条件づげして、A
A及びAB被演算子レジスタをAC及びADレジスタか
らロードする。
また、AB及びAAレジスタ206−58及び206−
52は、ゲート回路206−78及び206−80を介
してロードしてもよい。
52は、ゲート回路206−78及び206−80を介
してロードしてもよい。
セレクタ回路206−65及び206−66は、1対の
制御レジスタ206−82及び20614をロードする
こともできる。
制御レジスタ206−82及び20614をロードする
こともできる。
これらのレジスタは、処理される命令の一定のバリアン
ト制御文字(たとえばOPコード及びC1文字)に対す
る一時記憶を与える。
ト制御文字(たとえばOPコード及びC1文字)に対す
る一時記憶を与える。
デコーダ回路206−86はレジスタ206−84に結
合され、C1文字のデコードをする。
合され、C1文字のデコードをする。
記憶レジスタにはさらにレジスタ206−88が含まれ
、このレジスタは一定のマスキング操作を行い、このレ
ジスタにはセレクタ回路20690を介して信号がロー
ドされ、セレクタ回路206−54を介して206−5
0へ信号を加える。
、このレジスタは一定のマスキング操作を行い、このレ
ジスタにはセレクタ回路20690を介して信号がロー
ドされ、セレクタ回路206−54を介して206−5
0へ信号を加える。
レジスタ206−88はまた、3段階減少カウンタ20
6−92のロードのためにも使われる。
6−92のロードのためにも使われる。
このカウンタは、エミュレータによって処理されの制御
文字の数の追跡に使われる。
文字の数の追跡に使われる。
このカウンタはまた、カウンタ減少分(decreme
nts )がゼロになったときに信号を発するデコーダ
回路206−94を含む。
nts )がゼロになったときに信号を発するデコーダ
回路206−94を含む。
バイト加算器206−50はさらに、ホスト・システム
が制御及び記憶のために使用する複数個の7リツプフロ
ツプを含む。
が制御及び記憶のために使用する複数個の7リツプフロ
ツプを含む。
このフリップフロップの一例は、ファームウェアによっ
てセット及びリセットすることができるエミュレーショ
ン・モード・フリップフロップ206−80である。
てセット及びリセットすることができるエミュレーショ
ン・モード・フリップフロップ206−80である。
他のフリップフロップには第2a図の制御記憶試験回路
に結合された複数個の制御フリップフロップCFDない
しCF7が含まれる。
に結合された複数個の制御フリップフロップCFDない
しCF7が含まれる。
ローカル記憶ユニツ)−JE2d図
第2d図は、第1及び1e図のALUのローカル記憶ユ
ニットの詳細を示す。
ニットの詳細を示す。
第2d図から明らかなように、このユニットはアドレス
可能な幅32のスクラッチ・パッド記憶装置207−1
をもつ。
可能な幅32のスクラッチ・パッド記憶装置207−1
をもつ。
この記憶装置は、図示のように256個の記憶位置をも
つ。
つ。
これは、LRレジスタ207−2を介してアドレスする
ことが可能であり、このレジスタは、その入力をQA母
線から及び図示のレジスタ207−4及びゲート回路2
07−3を介してEWレジスタ206−84から受取る
。
ことが可能であり、このレジスタは、その入力をQA母
線から及び図示のレジスタ207−4及びゲート回路2
07−3を介してEWレジスタ206−84から受取る
。
LRレジスタ207−2はまた、増加分/減少分回路2
07−5を含む。
07−5を含む。
動作サイクル中は、アドレスされた位置の内容が出力レ
ジスタ207−9へ読出され、図示のレジスタ及び母線
に加えられる。
ジスタ207−9へ読出され、図示のレジスタ及び母線
に加えられる。
上記のように、第3図は記憶装置207−1の構成を示
す。
す。
同図において、最初の16個の記憶位tは、PCBのゼ
ネラル・レジスタGROないし、GR15に対応する情
報を記憶するように割当てられる。
ネラル・レジスタGROないし、GR15に対応する情
報を記憶するように割当てられる。
以下に説明するように、これらの位置を第4図の書式の
ように配置された情報を含むようにコード化したときは
、これらの位置はESPの呼出しに使われる。
ように配置された情報を含むようにコード化したときは
、これらの位置はESPの呼出しに使われる。
30から3Fまでの位置は作業位置としてはたらき、以
下に説明するようにI10表から得られた情報を記憶す
る。
下に説明するようにI10表から得られた情報を記憶す
る。
他の位置は本発明には関係しないのでその説明を省略す
る。
る。
アドレス制御ユニット−第2e図
第2e図は、16ビツト幅のアソシェーク(assoc
iator ) 又は内容アドレス可能な記憶装置20
2−1を使って主記憶域セグメントの実効又は絶対アド
レスを発生する回路を示す。
iator ) 又は内容アドレス可能な記憶装置20
2−1を使って主記憶域セグメントの実効又は絶対アド
レスを発生する回路を示す。
記憶装置202−1は、エンコーダ202−3に結合さ
れ、このエンコーダは16ビツト幅のアソシエータ緩衝
記憶装置202−5の16位置のうちの対応する一つの
内容を引用するために使われる。
れ、このエンコーダは16ビツト幅のアソシエータ緩衝
記憶装置202−5の16位置のうちの対応する一つの
内容を引用するために使われる。
情報は、レジスタ202−4を介して緩衝装置に書込ま
れる。
れる。
UASアソシエータ202−1はまた、レジスタ202
−9からセグメント番号情報を受取る入力レジスタ20
2−7に結合される。
−9からセグメント番号情報を受取る入力レジスタ20
2−7に結合される。
以下に説明するように、上記装置は、主記憶域を引用す
るための絶対アドレス情報を発生する。
るための絶対アドレス情報を発生する。
この特定の配置は、ジエームズ・エル・ブラウン等の発
明に係り1972年8月24日に出願された「内容アド
レス可能な記憶装置を使うアドレス・デベロップメント
法」なる米国特許願第283617号に開示されている
。
明に係り1972年8月24日に出願された「内容アド
レス可能な記憶装置を使うアドレス・デベロップメント
法」なる米国特許願第283617号に開示されている
。
さらに詳しく説明すると、アドレス・アソシエータ20
2−1は、アソシエータ緩衝器202−5に貯えられた
16個までのセグメント・デスクリプタのセグメント番
号rSTN/5TEJをもつ。
2−1は、アソシエータ緩衝器202−5に貯えられた
16個までのセグメント・デスクリプタのセグメント番
号rSTN/5TEJをもつ。
アンシエータの16個の記憶位置はそれぞれ、12個の
データ・ビットと、4個の検査及び制御ビットをもつ。
データ・ビットと、4個の検査及び制御ビットをもつ。
絶対アドレスの作成(development )
中は、所要セグメントの番号をUSレジスタ202−7
にロードする。
中は、所要セグメントの番号をUSレジスタ202−7
にロードする。
このレジスタはアドレス・レジスタとして作用し、その
内容を並列的にアンシエータ202−1の16位置に加
える。
内容を並列的にアンシエータ202−1の16位置に加
える。
真比較(truecompavison )が検出され
たときには、エンコーダ202−4がアソシエータ20
2−1の出力によって条件づげされて4ビツト・コード
を発生し、これが、その特定番号に関連したセグメント
・デスクリプタを含む16位置のうちの適正位置を選択
する。
たときには、エンコーダ202−4がアソシエータ20
2−1の出力によって条件づげされて4ビツト・コード
を発生し、これが、その特定番号に関連したセグメント
・デスクリプタを含む16位置のうちの適正位置を選択
する。
真比較が存在しない場合には、その番号に対するデスク
リプタを主記憶域からQA母線を介してフェッチしなげ
ればならない。
リプタを主記憶域からQA母線を介してフェッチしなげ
ればならない。
フェッチされたデスクリプタは、レジスタ202−4を
介してアソシェーク緩衝器202−5に書込まれ、それ
に関連したヒツト・ビット(bit bit )
がセットされる。
介してアソシェーク緩衝器202−5に書込まれ、それ
に関連したヒツト・ビット(bit bit )
がセットされる。
第2e図から明らかなように、ACUIOI−2はまた
一つのユニット・レジスタ・ファイル(URF)202
−20をもち、とのURFは複数個の32ビット幅ベー
ス・アドレス・レジスタ位置BRO−BR7および作業
レジスタ位置UW4ないしUW7をもち、これらの位置
はすべてレジスタ202−24,202−26、及び2
02−30の内容によりセレクタ回路202−22を介
してアドレスされる。
一つのユニット・レジスタ・ファイル(URF)202
−20をもち、とのURFは複数個の32ビット幅ベー
ス・アドレス・レジスタ位置BRO−BR7および作業
レジスタ位置UW4ないしUW7をもち、これらの位置
はすべてレジスタ202−24,202−26、及び2
02−30の内容によりセレクタ回路202−22を介
してアドレスされる。
これらのレジスタのうちのあるものは、図示のようにQ
A及びQB母線を介して加えられる命令又はアイクロ命
令等から誘かれるベース・レジスタ・了ドレスを常時も
っている。
A及びQB母線を介して加えられる命令又はアイクロ命
令等から誘かれるベース・レジスタ・了ドレスを常時も
っている。
URFは論理回路を使って構成され、一時に一つ以上の
レジスタの内容を読出すことができるように構成される
。
レジスタの内容を読出すことができるように構成される
。
レジスタ202−24は、増加分回路202−28をも
つ。
つ。
書込操作サイクル中に、制御記憶域によって発生される
制御信号によってセレクタ回路202−22が条件づげ
られて、レジスタ202−24,202−26、及び2
02−30の内容を選択し、情報を書込むべき位置を指
定する。
制御信号によってセレクタ回路202−22が条件づげ
られて、レジスタ202−24,202−26、及び2
02−30の内容を選択し、情報を書込むべき位置を指
定する。
とくに、レジスタ202−24及び202−26のおの
おののアドレス内容は、最初の8位置のうちの一つの選
択のため使われる。
おののアドレス内容は、最初の8位置のうちの一つの選
択のため使われる。
レジスタ202−30の内容は、12個のレジスタ位置
のうちの一つを選ぶために使われる。
のうちの一つを選ぶために使われる。
制御記憶域からの信号がないときは、レジスタ202−
30をアドレス信号のソースとして選ぶ。
30をアドレス信号のソースとして選ぶ。
レジスタ202−24及び202−26は一定の制御信
号に応答して選ばれる。
号に応答して選ばれる。
読出し操作サイクル中は、セレクタ回路202−32が
動作して、レジスタ202−24及び202−26の一
方のアドレス内容又は図示していないレジスタからの定
数を出力セレクタ回路202−40に加え、最初の8位
置のうちの一つを選んで読出す。
動作して、レジスタ202−24及び202−26の一
方のアドレス内容又は図示していないレジスタからの定
数を出力セレクタ回路202−40に加え、最初の8位
置のうちの一つを選んで読出す。
ここでも、制御信号が回路202−32によって選ばれ
るべき特定レジスタを指定する。
るべき特定レジスタを指定する。
母線QA、QB、セレクタ回路202−36、バイト・
アドレス・レジスタ202−48、又は増加分/減少分
回路202−46を介して加えられたデータは、データ
・セレクタ回路202−34を介して被アドレス位置に
書込まれる。
アドレス・レジスタ202−48、又は増加分/減少分
回路202−46を介して加えられたデータは、データ
・セレクタ回路202−34を介して被アドレス位置に
書込まれる。
制御記憶域及びエミュレータ・モード(UEMU)フリ
ップフロップ202−49からの信号に応答して、セレ
クタ制御ユニッ)202−47のゲート回路は、セレク
タ回路34を条件づげする信号を発生し、QB母線から
選ばれたビット適当なソースからのビットと組合わせて
、指定された文字モードによる正しい書式とする。
ップフロップ202−49からの信号に応答して、セレ
クタ制御ユニッ)202−47のゲート回路は、セレク
タ回路34を条件づげする信号を発生し、QB母線から
選ばれたビット適当なソースからのビットと組合わせて
、指定された文字モードによる正しい書式とする。
ACUエミュレータ・モード・フリップ70ツブは、セ
レクタ回路制御を条件づげて、目標システム命令の処理
のために指定された文字モードに対する信号を発生する
。
レクタ回路制御を条件づげて、目標システム命令の処理
のために指定された文字モードに対する信号を発生する
。
このフリップフロップは、以下に説明するように最初は
ファームウェアによって切換えられる。
ファームウェアによって切換えられる。
制御増加分/減少分(U I D ) 7 !Jツブフ
ロップ202−4の状態は、回路202−46が増加す
べきか又は減少すべきかを決める。
ロップ202−4の状態は、回路202−46が増加す
べきか又は減少すべきかを決める。
さらに、増加分/減少分回路202−46は、被アドレ
ス位置からの信号をセレクタ回路202−36を介して
受取り、レジスタ202−48からの信号も受取る。
ス位置からの信号をセレクタ回路202−36を介して
受取り、レジスタ202−48からの信号も受取る。
回路202−46は、公知の加算−減算回路によって構
成することができる。
成することができる。
レジスタ202−42及び202−44が制御記憶ラッ
チ回路から直接にロードされたときは、これらがそれぞ
れセレクタ回路202−36及び202−38を条件づ
げして、最後の8個のレジスタ位置のうちの一つを選び
読出す。
チ回路から直接にロードされたときは、これらがそれぞ
れセレクタ回路202−36及び202−38を条件づ
げして、最後の8個のレジスタ位置のうちの一つを選び
読出す。
セレクタ回路202−36は、信号を、QA及びQB母
線ならびに増加分/減少分回路202−46に加える。
線ならびに増加分/減少分回路202−46に加える。
セレクタ回路202−38は加算器回路20250に信
号を加え、この加算器回路は出力レジスタ202−52
及びセレクタ回路202−34に結合され、他方、セレ
クタ回路40は他にも図示入力をもつベースずれ(of
fset ) レジスタ20 :?−54に結合され
る。
号を加え、この加算器回路は出力レジスタ202−52
及びセレクタ回路202−34に結合され、他方、セレ
クタ回路40は他にも図示入力をもつベースずれ(of
fset ) レジスタ20 :?−54に結合され
る。
絶対アドレスの発生中は、ベース・レジスタ・アドレス
のセグメント番号rsEGjがUBSセレクタ回路20
2−40を介してUSレジスタ202−7にロードされ
るとともに、ベース・レジスタ・アドレスの「ずれ」値
がUNレジスタ202−54にロードされる。
のセグメント番号rsEGjがUBSセレクタ回路20
2−40を介してUSレジスタ202−7にロードされ
るとともに、ベース・レジスタ・アドレスの「ずれ」値
がUNレジスタ202−54にロードされる。
UNレジスタ202−54の内容はその後加算器20.
2−50に加えられ、ここでその内容は、処理中の命令
のアドレス部から得られた変位(displaceme
nt )値と加算される。
2−50に加えられ、ここでその内容は、処理中の命令
のアドレス部から得られた変位(displaceme
nt )値と加算される。
加算器202−50によって作うレタ和は、UWBデー
タ・セレクタ回路202−34を介して作業レジスタの
一つ(すなわち、UW2)にロードされ、その後の引用
を待つ。
タ・セレクタ回路202−34を介して作業レジスタの
一つ(すなわち、UW2)にロードされ、その後の引用
を待つ。
アソシエータ202−1を間合せることにより、USレ
ジスタ202−7のアドレスが緩衝器202−5に貯え
られたか否かを判断する。
ジスタ202−7のアドレスが緩衝器202−5に貯え
られたか否かを判断する。
そうであるときは、緩衝器202−5に貯られたセグメ
ント・ベース・アンドレスをUNレジスタ202−54
にロードする。
ント・ベース・アンドレスをUNレジスタ202−54
にロードする。
そのセグメントに対するずれ値及び変位値を含む作業レ
ジスタ記憶位置は、セレクタ回路202−38を介して
加算器50に加えられ、セグメント・ベース・アドレス
に加算される。
ジスタ記憶位置は、セレクタ回路202−38を介して
加算器50に加えられ、セグメント・ベース・アドレス
に加算される。
この和は絶対アドレスを構成し、UAレジスタ202−
52にロードされて主記憶域のアドレスをする。
52にロードされて主記憶域のアドレスをする。
また、絶対アドレスをさらに引用するためユニット・レ
ジスタ・ファイルの作業レジスタ位置(たとえば、UW
2)に貯えてもよい。
ジスタ・ファイルの作業レジスタ位置(たとえば、UW
2)に貯えてもよい。
上記エレメントのいくつかを構成する方法(たとえば、
セレクタ回路、加算器回路、増加分/減少分回路、スク
ラッチ・パッド記憶装置など)の詳細については、19
72年に印刷されたテキサス・インスツルメント社の「
設計技師のための集積回路カタログ」を参照されたい。
セレクタ回路、加算器回路、増加分/減少分回路、スク
ラッチ・パッド記憶装置など)の詳細については、19
72年に印刷されたテキサス・インスツルメント社の「
設計技師のための集積回路カタログ」を参照されたい。
以上説明した加算器回路を所要形式の増加分/減少分操
作のために使用できることはいうまでもない。
作のために使用できることはいうまでもない。
I10表−第6図
本発明の動作説明にはいる前に、第6図を参照して、本
発明によるI10表の編成を説明する。
発明によるI10表の編成を説明する。
第6図から明らかなように、この実施例では6クラスの
表を使う。
表を使う。
すなわち、読出/書込チャンネル表;セクタ表;終了表
;周辺制御ユニット表;PCU延長表;および装置表と
装置延長表である。
;周辺制御ユニット表;PCU延長表;および装置表と
装置延長表である。
読出/書込チャンネル表
読出/書込チャンネル(RWC)表は、パー・エミュレ
ーテツド目標システム基準で編成される。
ーテツド目標システム基準で編成される。
すなわち、エミュレートされるシステムごとに一つづつ
この表がつくられる。
この表がつくられる。
ベース・アドレス・レジスタ4 (BH3)の内容が、
RWC表の始点すなわちベースを指定する。
RWC表の始点すなわちベースを指定する。
各表は、256バイトのアドレス・スペースをもつ。
これらのバイトは640項目に分けられ、各項目は、目
標システム・プログラムによって指定され得る各読出/
書込チャンネル・コードに対するものである。
標システム・プログラムによって指定され得る各読出/
書込チャンネル・コードに対するものである。
各項目は、第7a図に示すようにコード化される。
同図において、各項目は、6ビツトのタイム・スロット
・マスク・フィールド、6ビツトのカウンタ・コード・
フィールド、一つの延長■10ビット(EXT)、3ビ
ツトのセクタ・コード・フィールド、及び16ビツトの
RWCビズイ・マスク・フィールドをもつ。
・マスク・フィールド、6ビツトのカウンタ・コード・
フィールド、一つの延長■10ビット(EXT)、3ビ
ツトのセクタ・コード・フィールド、及び16ビツトの
RWCビズイ・マスク・フィールドをもつ。
第7a図はまた、特定の目標システムに対して指定され
たRWCフィールド項目の一例を示す。
たRWCフィールド項目の一例を示す。
同図から明らかなように、一つのエミュレートされた目
標システムにおいて最大六つのタイム・スロット(すな
わち、タイムスロット1,1aかう3aまで)を使うこ
とができる。
標システムにおいて最大六つのタイム・スロット(すな
わち、タイムスロット1,1aかう3aまで)を使うこ
とができる。
この例では、RWCコードによって二つのタイム・スロ
ットが要求され、これは目標システムにおける毎秒16
7文字(CPS)のデータ伝送速度に対応する。
ットが要求され、これは目標システムにおける毎秒16
7文字(CPS)のデータ伝送速度に対応する。
しかし、このフィールドは、どのタイム・スロットがビ
ズイであるかを表示しない。
ズイであるかを表示しない。
カウンタ・コードは、データ転送命令により被指定RW
Cコードでアドレス記憶のために使われている現在位置
カウンタの入道法で表わしたアドレスに対応する。
Cコードでアドレス記憶のために使われている現在位置
カウンタの入道法で表わしたアドレスに対応する。
図示例では、カウンタ・コード・アドレスは22(入道
法)である。
法)である。
通常このコードは人通00から人通27までの範囲の値
をもつ。
をもつ。
エミュレートされた編成に対して不適式
(illegal )な読出/書込チャンネル・コード
は、カウンタ・コード項目によりその旨を指摘される。
は、カウンタ・コード項目によりその旨を指摘される。
人通OOのコードに対するRWC項目及び目標システム
において不適式なRWCコードに対応するすべてのRW
C項目に対しては、カウンタ・コード・フィールが高位
ビット1でコード化(すなわち、IXXXXX)される
。
において不適式なRWCコードに対応するすべてのRW
C項目に対しては、カウンタ・コード・フィールが高位
ビット1でコード化(すなわち、IXXXXX)される
。
このカウンタ・コードは、特殊態様で取扱われる。
エミレータがデータ転送読出/書込命令の処理中に高位
ビット10カウンタ・コードを検出したときは常に、以
下に説明する仕様メツセージを発生する。
ビット10カウンタ・コードを検出したときは常に、以
下に説明する仕様メツセージを発生する。
rEXTjビットがゼロであることは、延長I / 0
機能が使われておらず、フェッチされた項目が命令処理
に使われていることを意味する。
機能が使われておらず、フェッチされた項目が命令処理
に使われていることを意味する。
このビットが二進1にセットされていることは、延長工
10目標システム・インディケータの状態に応して、被
指定RWCコードの代りに「実効」RWCコードの使用
を使うことが必要である旨の表示である。
10目標システム・インディケータの状態に応して、被
指定RWCコードの代りに「実効」RWCコードの使用
を使うことが必要である旨の表示である。
このインディケータが二進1(すなわちオン)である場
合には、現在の項目における情報が使われる。
合には、現在の項目における情報が使われる。
このインディケータが二進ゼロである場合には、代替項
目の情報がフェッチされて使われる。
目の情報がフェッチされて使われる。
このような機能をもたない目標システムに対しては、こ
のビットは常に二進上口にセットされる。
のビットは常に二進上口にセットされる。
この特徴によって得られる機能の詳細については、上記
プログラミング・マニュアルに説明されている。
プログラミング・マニュアルに説明されている。
セクタ・フィールドのビット13−15が示すように、
このRWCコードに関連した物理的セクタはセクタ2で
ある。
このRWCコードに関連した物理的セクタはセクタ2で
ある。
データ転送を必要とせずしかもC1制御文字のみを含む
制御形式のI10命令の場合には、セクタ・コード・ビ
ット1315は、以下に説明するように正しいタイム・
スロット状態項目を7エツチするために使われる。
制御形式のI10命令の場合には、セクタ・コード・ビ
ット1315は、以下に説明するように正しいタイム・
スロット状態項目を7エツチするために使われる。
このような場合には、読出/書込チャンネルの試験とは
セクタ・タイム・スロットの試験を意味する。
セクタ・タイム・スロットの試験を意味する。
その理由は、セクタ、タイム・スロット、及び目標シス
テムにおける被選択RWCO間には一定の関係があるか
らである。
テムにおける被選択RWCO間には一定の関係があるか
らである。
しかし、データ転送を必要とする命令(たとえばPDT
命令)の場合には、セクタ・コード・ビットは使われな
い。
命令)の場合には、セクタ・コード・ビットは使われな
い。
16ビツトのRWCビズイ・マスク・フィールドは、ビ
ズイとする必要がある読出/書込チャンネル(すなわち
、データ転送命令のために利用可能にしなげればならな
いもの)又は試験すべきもの(すなわち、制御命令)を
表示するために使われる。
ズイとする必要がある読出/書込チャンネル(すなわち
、データ転送命令のために利用可能にしなげればならな
いもの)又は試験すべきもの(すなわち、制御命令)を
表示するために使われる。
第7a図に示すように、目標システムは。図示した最大
16個までの読出/書込チャンネルをもつことができる
。
16個までの読出/書込チャンネルをもつことができる
。
文字rAJは、一次チヤンネルに対して、補助チャンネ
ルを定義する。
ルを定義する。
ある種の目標システムでは、読出/書込チャンネルとタ
イム・スロットとの間に一定の関係がある。
イム・スロットとの間に一定の関係がある。
一つ以上のタイム・スロットを必要とする高転送速度を
得るためには、読出/書込チャンネルが「インターロッ
ク」されるが、このことは、命令遂行のために一つ以上
のチャンネル、したがってカウンタが要求されることを
意味する。
得るためには、読出/書込チャンネルが「インターロッ
ク」されるが、このことは、命令遂行のために一つ以上
のチャンネル、したがってカウンタが要求されることを
意味する。
図示実施例では、167 cpsの速度に対して二つの
タイム・スロットが要求されるのであるから、読出/書
込チャンネルも二つ要求される。
タイム・スロットが要求されるのであるから、読出/書
込チャンネルも二つ要求される。
したがって、RWCビズイ・マスク・フィールドは、読
出/書込チャンネル5及び5aを指定するようにコード
化される。
出/書込チャンネル5及び5aを指定するようにコード
化される。
特殊項目
コード化態様が特殊である二通りのRWC表項目がある
。
。
これらは、入道00アドレス及び人通77アドレスによ
って指定される位置に貯えられる項目に対応する。
って指定される位置に貯えられる項目に対応する。
位置(OO)8におけるRWC表項目は常にカウンタ・
コード・フィールドに(1xxxxx)をもつ。
コード・フィールドに(1xxxxx)をもつ。
すでに説明したように、エミュレータは、データ転送の
場合にこのコードを不適式として取扱う。
場合にこのコードを不適式として取扱う。
しかし、制御I10命令の場合には、エミュレータは、
以下に説明するように一部の操作をバイパスし、その命
令の処理を完了する。
以下に説明するように一部の操作をバイパスし、その命
令の処理を完了する。
位置(77)8の位置におけるRWC表項目も1×××
××なるカウンタ・コード・フィールドをもち、エミュ
レータはデータ転送命令処理の場合に、上記のように特
殊メンセージを発生する。
××なるカウンタ・コード・フィールドをもち、エミュ
レータはデータ転送命令処理の場合に、上記のように特
殊メンセージを発生する。
しかし。制御I10命令の場合には、エミュレータは以
下に説明するように分岐を強制される。
下に説明するように分岐を強制される。
この表項目の表項目のRWCビズイ・マスク・フィール
ドは。
ドは。
エミュレートされている目標システムの中のどの読出/
書込チャンネルが現在割当てられている(すなわち、ビ
ズイである)かを表示するために使われる。
書込チャンネルが現在割当てられている(すなわち、ビ
ズイである)かを表示するために使われる。
このフィールドは、データ転送命令が開始又は終了した
ときは常にESPによってアップデートされる。
ときは常にESPによってアップデートされる。
以下に説明するように、(OO)8又は(77)8でな
い適式のデータ転送命令又は制御命令の適式RWCコー
ドについてrRWCビズイ試験をするときには、エミュ
レータはこのフィールドにアクセスはするがその内容は
絶対に変えない。
い適式のデータ転送命令又は制御命令の適式RWCコー
ドについてrRWCビズイ試験をするときには、エミュ
レータはこのフィールドにアクセスはするがその内容は
絶対に変えない。
セクタ族
第6図はさらにセクタ族を示す。
エミレートされる目標システムごとに図示のセクタ族が
一つづつ存在する。
一つづつ存在する。
セクタ族は、32バイトのアドレススペースをもち、こ
れらは第6図に示すように、RWC表に割当てられた最
後のバイトの次に続く。
れらは第6図に示すように、RWC表に割当てられた最
後のバイトの次に続く。
セクタ表項目は、第1b図に示すようにコード化される
。
。
第7b図から明らかなように、セクタ表項目はタイム・
スロット状態フィールド(ビット0−5)をもち、これ
は、セクタ上のどのタイム・スロットが現在使われてい
るか(すなわち、すべてのセクタ・タイム・スロットか
「ビズイ」状態にあるか)を表示するようにコード化さ
れる。
スロット状態フィールド(ビット0−5)をもち、これ
は、セクタ上のどのタイム・スロットが現在使われてい
るか(すなわち、すべてのセクタ・タイム・スロットか
「ビズイ」状態にあるか)を表示するようにコード化さ
れる。
7ビツトのフィールド(すなわち、ビット6−12)が
、エミュレータ・ソフトウェア(ESP)による使用の
ために予約される。
、エミュレータ・ソフトウェア(ESP)による使用の
ために予約される。
セクタ族はまた、3ビツトの状態フィールド(すなわち
、ビット13−15)をもち、そのうちビット13が二
進1であることは、特定目標システムに対してセクタが
存在しない(すなわち、非存在)旨を表示する。
、ビット13−15)をもち、そのうちビット13が二
進1であることは、特定目標システムに対してセクタが
存在しない(すなわち、非存在)旨を表示する。
状態フィールドのビット14及び15は、将来の使用の
ために予約される。
ために予約される。
セクタ項目の最後のフィールド(すなわち、ピッN6−
31)は、16ビツトの変位フィールドであり、これは
、ベース・レジスタ4の内容によって指定又は指示され
た位置を基準としてそのセクタに対する周辺制御ユニツ
)(PCU)のベース位置を定義する。
31)は、16ビツトの変位フィールドであり、これは
、ベース・レジスタ4の内容によって指定又は指示され
た位置を基準としてそのセクタに対する周辺制御ユニツ
)(PCU)のベース位置を定義する。
セクタ族における独独な項目が、次のようにして定めた
3ビツト・フィールドに対応するセクタ・コードを用い
、セクタ・コードの4倍の値と2561oとの和の値を
ベース・アドレス・レジスタ4の内容に加算することに
よって定義される。
3ビツト・フィールドに対応するセクタ・コードを用い
、セクタ・コードの4倍の値と2561oとの和の値を
ベース・アドレス・レジスタ4の内容に加算することに
よって定義される。
すなわち、(a)第1バリアント文字c1が命令に存在
する唯一のパリアン1文字であるときは、そのCI文字
が引用されたRWC項目がらセクタ・コードをとる(制
御入出力命令のみ−PCB);(b)命令にバリアント
文字C1及びC2が存在するときは、C2バリアント文
字の高位3ビツトをとってセクタ・コードを形成し、が
っ、高位ビットを二進ゼロにセットする;(C)命令が
バリアント文字C1とバリアント文字C2ありまたはな
しのイスケープ・コード文字とを有するときは、CE文
字の下位3ビツトをとってセクタ・コードを形成する。
する唯一のパリアン1文字であるときは、そのCI文字
が引用されたRWC項目がらセクタ・コードをとる(制
御入出力命令のみ−PCB);(b)命令にバリアント
文字C1及びC2が存在するときは、C2バリアント文
字の高位3ビツトをとってセクタ・コードを形成し、が
っ、高位ビットを二進ゼロにセットする;(C)命令が
バリアント文字C1とバリアント文字C2ありまたはな
しのイスケープ・コード文字とを有するときは、CE文
字の下位3ビツトをとってセクタ・コードを形成する。
このことは、第11図を参照して以下に詳細に説明する
。
。
周辺制御ユニット表
第6図に示す3番目の表は、周辺制御ユニット(PCU
)である。
)である。
エミュレートされる各目標システムのセクタごとに一つ
づつPCU表がある。
づつPCU表がある。
また、目標システム・プログラムによって指定され得る
各PCUアドレスごとに一つづつ表項目がある。
各PCUアドレスごとに一つづつ表項目がある。
したがって、各表には、それぞれ4バイトからなる16
の項目がある。
の項目がある。
PCUの書式を第7C図に示す。
第7c図から明らかなように、項目は、PCUの形式、
PCUの存在、及びそのビズイ/中断状態に関する情報
を含む。
PCUの存在、及びそのビズイ/中断状態に関する情報
を含む。
すなわち、ゼロのコードは、そのPCUアドレス・コー
ドに対しては周辺制御ユニットが存在しないことを表わ
す。
ドに対しては周辺制御ユニットが存在しないことを表わ
す。
最初の4ビツトが、0001とコード化されていること
は、目標システムのプリンタ制御ユニットがエミュレー
トされている旨を示す。
は、目標システムのプリンタ制御ユニットがエミュレー
トされている旨を示す。
これらのビットが0010とコード化されているときは
、目標システムのタイマ又はクロックがエミュレートさ
れていることが示される。
、目標システムのタイマ又はクロックがエミュレートさ
れていることが示される。
同様にして、olllとコード化されているときは、そ
の値は目標システムの磁気テープ制御ユニットがエミュ
レートされていることを示し、1000ないし1111
とコード化されているときは、これらの値はエミュレー
トされている周辺制御ユニットが特殊ユニットとして扱
われるべき旨の表示に使われる。
の値は目標システムの磁気テープ制御ユニットがエミュ
レートされていることを示し、1000ないし1111
とコード化されているときは、これらの値はエミュレー
トされている周辺制御ユニットが特殊ユニットとして扱
われるべき旨の表示に使われる。
以下に説明するように、特殊ユニットが検出されると、
エミュレータはただちにそのESPに対する命令をトラ
ップ(trap )し、その後の処理に備える。
エミュレータはただちにそのESPに対する命令をトラ
ップ(trap )し、その後の処理に備える。
ビット4が二進1であることは、周辺制御ユニットカ一
時的に利用不能であるかアドレス不能である旨を示す。
時的に利用不能であるかアドレス不能である旨を示す。
このビットが二進1であるときは、ビット7に対応する
PCUビズイ・ビット(CB)もまた二進1にセットさ
れる。
PCUビズイ・ビット(CB)もまた二進1にセットさ
れる。
ビット5は、NO状態ビットであり、このビットが二進
0にセットされていることは、この項目のビット4及び
ピッ) 7−15にNO状態が存在する旨、ならびにビ
ット10−15が代替C2(alternate C2
) −1−ドをもつ旨を表わし、この代替C2コードは
所要情報があるPCU表項目(同一セクタ上の)を表示
する。
0にセットされていることは、この項目のビット4及び
ピッ) 7−15にNO状態が存在する旨、ならびにビ
ット10−15が代替C2(alternate C2
) −1−ドをもつ旨を表わし、この代替C2コードは
所要情報があるPCU表項目(同一セクタ上の)を表示
する。
この場合には、ビット4及び7−11はソフトウェアの
ために予約される。
ために予約される。
ビット5が2進Oにセットされているときは、ビット4
及び7−15が状態をもつ。
及び7−15が状態をもつ。
あらゆる場合に、装置表フィールド及びPCU形式フィ
ールドの変位置は有効であり、ビット6は二進1にセッ
トされる。
ールドの変位置は有効であり、ビット6は二進1にセッ
トされる。
ビット7が二進1にセットされていることは、エミュレ
ートされている目標システムのPCUがビズイである旨
を表わす。
ートされている目標システムのPCUがビズイである旨
を表わす。
ビット8及び9はソフトウェアのために予約され、ビッ
ト10ないし15は、ビット5の状態に応じて代替CP
U又は中断状態を指定する。
ト10ないし15は、ビット5の状態に応じて代替CP
U又は中断状態を指定する。
すなわち、NSビット5が二進1であるときは、このフ
ィールドが、命令によって指定されたセクタに対する別
の又は代替C2を含む。
ィールドが、命令によって指定されたセクタに対する別
の又は代替C2を含む。
この代替C2コードは、命令のC2コードと同様に処理
され、意味のある状態情報を含む表項のアドレスを得る
。
され、意味のある状態情報を含む表項のアドレスを得る
。
この構成をとる理由は、一つ以上のPCUアドレスを使
う目標システム周辺制御ユニットをエミュレートし得る
ようにするためで、それは、一つ以上の装置が取付けら
れているが一時には一つのI10操作しかサポート又は
制御できない(たとえば、非同時操作の磁気テープ・コ
ントローラ、カード読取器、パンチ・コントローラなど
)からである。
う目標システム周辺制御ユニットをエミュレートし得る
ようにするためで、それは、一つ以上の装置が取付けら
れているが一時には一つのI10操作しかサポート又は
制御できない(たとえば、非同時操作の磁気テープ・コ
ントローラ、カード読取器、パンチ・コントローラなど
)からである。
すなわち、一つのPCUコードでアドレスされる二つの
PCU表項目があり、それらが、以下に詳細に説明する
ように、二つの項目に関連した操作をインターロックす
る共通ビズイ状態ビットをシェアする。
PCU表項目があり、それらが、以下に詳細に説明する
ように、二つの項目に関連した操作をインターロックす
る共通ビズイ状態ビットをシェアする。
ビット5が二進Oにセットされている場合には、そのフ
ィールドは次のように定義される中断状態をもつ。
ィールドは次のように定義される中断状態をもつ。
すなわち、ビット10及び11はソフトウェアの使用の
ために予約される;ビット12は制御ユニット中断ビッ
トであり、このビットがセットされていることは、問題
にされている目標システムのPCUに対して制御ユニッ
ト中断機能がセットされていることを示す;ビット13
は制御ユニット許容ビットであり、このビットが二進■
にセットされていることは、目標システムのPCUに対
してPCU許容中断機能がオンにされている(すなわち
、中断が許容される)旨を示す;ピッチ14は装置中断
ビットであり、このビットが二進1にセットされている
ことは、目標システムのPCUに対して装置中断機能が
オンしている(すなわち装置中断機能が貯えられている
)旨を示す;ビット15は装置中断許容ビットであり、
このビットが二進1にセットされていることは、エミュ
レートされた制御ユニットにおいて装置中断許容機能が
オンされている(すなわち、装置中断が許容されている
)旨を示す;ビット16ないし31は変位ビットであり
、これは、ベース・アドレス・レジスタ4の内容によっ
て指定された位置を基準としてPCUに対する装置表の
ベース位置を定義する。
ために予約される;ビット12は制御ユニット中断ビッ
トであり、このビットがセットされていることは、問題
にされている目標システムのPCUに対して制御ユニッ
ト中断機能がセットされていることを示す;ビット13
は制御ユニット許容ビットであり、このビットが二進■
にセットされていることは、目標システムのPCUに対
してPCU許容中断機能がオンにされている(すなわち
、中断が許容される)旨を示す;ピッチ14は装置中断
ビットであり、このビットが二進1にセットされている
ことは、目標システムのPCUに対して装置中断機能が
オンしている(すなわち装置中断機能が貯えられている
)旨を示す;ビット15は装置中断許容ビットであり、
このビットが二進1にセットされていることは、エミュ
レートされた制御ユニットにおいて装置中断許容機能が
オンされている(すなわち、装置中断が許容されている
)旨を示す;ビット16ないし31は変位ビットであり
、これは、ベース・アドレス・レジスタ4の内容によっ
て指定された位置を基準としてPCUに対する装置表の
ベース位置を定義する。
周辺制御ユニット延長表
第6図に示すように、周辺制御ユニット延長表に対応す
る次の表を、以下に説明する装置表の直上におくことが
できる。
る次の表を、以下に説明する装置表の直上におくことが
できる。
周辺制御ユニット延長表には2種類あり、その一つは目
標システム・マス記憶周辺制御ユニットに対するもので
あり、その他方はエミュレートされている磁気テープ周
辺制御ユニットに対するものである。
標システム・マス記憶周辺制御ユニットに対するもので
あり、その他方はエミュレートされている磁気テープ周
辺制御ユニットに対するものである。
一般に、表は、目標システム中の直接的な対応部分なし
にホスト・システムが使う状態情報の記憶を与えるか、
又は目標システム中に存在するがホスト・システム中に
直接的な対応部分をもたない情報の記憶を与える。
にホスト・システムが使う状態情報の記憶を与えるか、
又は目標システム中に存在するがホスト・システム中に
直接的な対応部分をもたない情報の記憶を与える。
第7d図は、マス記憶周辺制御ユニット延長表の書式を
示す。
示す。
エミュレートされている各目標システムのマス記憶周辺
制御ユニットごとに、一つづつのこのような表が存在す
る。
制御ユニットごとに、一つづつのこのような表が存在す
る。
第1d図がら明らかなように、各表は四つの隣接した語
をもち、第6図から明らかなように、関連装置表の語「
ゼロ」と隣接してこれに先行する四つの主記憶成語をし
める。
をもち、第6図から明らかなように、関連装置表の語「
ゼロ」と隣接してこれに先行する四つの主記憶成語をし
める。
他の表と異なり、延長表の大きさは、コントローラの形
式の関数として変化する。
式の関数として変化する。
第6図から明らかなように、これらの表は表の固定部分
のベースから始まり、アドレスは所要の大きさとなるに
必要な限度まで逆方向に進む。
のベースから始まり、アドレスは所要の大きさとなるに
必要な限度まで逆方向に進む。
各目標システム・マス記憶PCU延長表は10文字のア
ドレス・レジスタをもち、これがレコード・アドレス及
び状態表示の指定をする情報を貯える。
ドレス・レジスタをもち、これがレコード・アドレス及
び状態表示の指定をする情報を貯える。
アドレス・レジスタに貯えられたこの情報は、10個の
隣接バイト上に「マツプ(map)」され、各バイトの
下位6ビツトのみがこの目的のために使われる。
隣接バイト上に「マツプ(map)」され、各バイトの
下位6ビツトのみがこの目的のために使われる。
エミュレータ・ソフトウェアESPは、ロード・アドレ
ス・レジスタPDT命令と呼ばれる特殊命令に応答して
、この区域にロートスる。
ス・レジスタPDT命令と呼ばれる特殊命令に応答して
、この区域にロートスる。
その後、エミュレータ・ソフトウェアは、第7d図に示
す書式のこの情報を入出力命令ノ一部としてマス記憶プ
ロセッサへ転送スル。
す書式のこの情報を入出力命令ノ一部としてマス記憶プ
ロセッサへ転送スル。
第7d図に示すように、この区域は次の情報を含む。
すなわち、(a)後続の読出/書込PDT命令によって
アクセスされるべき装置の目標システム論理アドレスを
指定する6ビツトのフィールドであって、装置フィール
ドとして識別される;(b)後続の読出/書込命令によ
ってアクセスされるべき装置群を指定する6ビツトのマ
ガジン・フィールド(装置アドレスは、被アドレス・マ
ガジン内の一つの装置を引用する);(c)装置及びマ
ガジン・フィールドによって指定された装置上のシリン
ダの二進アドレスを指定する12ビツトのシリンダ・フ
ィールド;(d)後続の読出/書込PDT命令によって
アクセスされるべきトラックの二進アドレスを指定する
12ビツトのトラック・フィールド;ならびに(e)後
続のサーチ形PDT命令によりサーチされるべきレコー
ドの二進アドレスを指定する12ビツトのレコード・フ
ィールドである。
アクセスされるべき装置の目標システム論理アドレスを
指定する6ビツトのフィールドであって、装置フィール
ドとして識別される;(b)後続の読出/書込命令によ
ってアクセスされるべき装置群を指定する6ビツトのマ
ガジン・フィールド(装置アドレスは、被アドレス・マ
ガジン内の一つの装置を引用する);(c)装置及びマ
ガジン・フィールドによって指定された装置上のシリン
ダの二進アドレスを指定する12ビツトのシリンダ・フ
ィールド;(d)後続の読出/書込PDT命令によって
アクセスされるべきトラックの二進アドレスを指定する
12ビツトのトラック・フィールド;ならびに(e)後
続のサーチ形PDT命令によりサーチされるべきレコー
ドの二進アドレスを指定する12ビツトのレコード・フ
ィールドである。
第7d図から明らかなように、この情報には二つの状態
フィールドS1及びS2が含まれ、それぞれ次の状態情
報を含むように指定された12ビツトからなる。
フィールドS1及びS2が含まれ、それぞれ次の状態情
報を含むように指定された12ビツトからなる。
すなわち、ビット2は装置不能ビットであり、このビッ
トが二進1にセットされているときは、アドレス・レジ
スタによって指定された装置が動作不能であることが示
される。
トが二進1にセットされているときは、アドレス・レジ
スタによって指定された装置が動作不能であることが示
される。
このビットをセットするための条件には、装置がオフ・
ラインであること、装置におけるハードウェア故障が検
出されたこと、又は装置指定が誤りであることが含まれ
る。
ラインであること、装置におけるハードウェア故障が検
出されたこと、又は装置指定が誤りであることが含まれ
る。
ビット3は装置誤りビットであり、二進1にセットされ
たこのビットは、アドレス・レジスタによって指定され
た装置に対して装置誤り条件が存在することを表示する
。
たこのビットは、アドレス・レジスタによって指定され
た装置に対して装置誤り条件が存在することを表示する
。
装置誤り条件が存在するのは、シーク(5eek )操
作などの制御命令がマス記憶装置の読出/書込ヘッドを
問題の装置に対するシリンダ・アドレス限界外のシリン
ダ・アドレスへ送ろうと試みたときである。
作などの制御命令がマス記憶装置の読出/書込ヘッドを
問題の装置に対するシリンダ・アドレス限界外のシリン
ダ・アドレスへ送ろうと試みたときである。
ビット4は保護違反ビットであり、二進1にセットされ
たこのビットは、制御ユニット・ファイル保護スイッチ
及び/又は被アクセス・レコードのヘッダ・フラグ文字
によって許された書込許容条件に違反するサーチ及び書
込命令が検出されたことを意味する。
たこのビットは、制御ユニット・ファイル保護スイッチ
及び/又は被アクセス・レコードのヘッダ・フラグ文字
によって許された書込許容条件に違反するサーチ及び書
込命令が検出されたことを意味する。
ビット5は読出誤りビットであり、二進1にセットされ
たこのビットは、この特定装置について実行された先行
読出命令に読出誤りが検出されたことを示す。
たこのビットは、この特定装置について実行された先行
読出命令に読出誤りが検出されたことを示す。
ビット6は命令不全ビットであり、二進1セツトされた
このビットは、命令がなんらかの理由により不完全であ
ったことを示す。
このビットは、命令がなんらかの理由により不完全であ
ったことを示す。
ピッl−7はトラック・リンキング・レコード(TRR
)であり、二進1にセットされたこのビットは、サーチ
及び読出/書込命令によって最後に引出されたレコード
がトラック・リンキング・レコードであったことを示す
。
)であり、二進1にセットされたこのビットは、サーチ
及び読出/書込命令によって最後に引出されたレコード
がトラック・リンキング・レコードであったことを示す
。
ビット10は書式違反ビットであり、二進1にセットさ
れたこのビットは、なんらかの不適式書式条件が存在す
ることを示す。
れたこのビットは、なんらかの不適式書式条件が存在す
ることを示す。
ビット11はトラック溢れビットであり、二進1にセッ
トされたこのビットは、読出/書込命令がトラックのイ
ンデックス部分を引用しようと試みたことを示し、ビッ
ト12ないし15はファイル保護ビットであり、第7d
図に示した事項を指定する。
トされたこのビットは、読出/書込命令がトラックのイ
ンデックス部分を引用しようと試みたことを示し、ビッ
ト12ないし15はファイル保護ビットであり、第7d
図に示した事項を指定する。
さらに、PCU延長表は16個のゼネラル状態ビットを
もち、エミュレータ・ソフトウェアはこれらのビットを
使って、エミュレートされている目標システムに存在す
るある種の制御スイッチ(たとえば、書込許容スイッチ
)をシミュレートし、かつ、各種の目標システムのイン
ジケータを貯える。
もち、エミュレータ・ソフトウェアはこれらのビットを
使って、エミュレートされている目標システムに存在す
るある種の制御スイッチ(たとえば、書込許容スイッチ
)をシミュレートし、かつ、各種の目標システムのイン
ジケータを貯える。
装置衣
第6図に示した表にはさらに装置衣が含まれ、エミュレ
ートされたシステムにおける目標システムPCUごとに
一つづつの装置衣がある。
ートされたシステムにおける目標システムPCUごとに
一つづつの装置衣がある。
装置衣の各項目は4バイトの情報をもち、目標システム
・プログラムによって特定形式のPCUへ指定され得る
適式装置アドレスごとに表の項目が設けられる。
・プログラムによって特定形式のPCUへ指定され得る
適式装置アドレスごとに表の項目が設けられる。
装置表項目の一般的書式を第7e図に示す。同図から明
らかなように、装置表項目は16ビツトの状態フィール
ドをもち、そのうちビット0ないし7はエミュレータの
ファームウェア及びソフトウェアの両者によってアクセ
スされ、ビット8ないし15はエミュレータ・ソフトウ
ェアによる使用のため予約され装置に特有である。
らかなように、装置表項目は16ビツトの状態フィール
ドをもち、そのうちビット0ないし7はエミュレータの
ファームウェア及びソフトウェアの両者によってアクセ
スされ、ビット8ないし15はエミュレータ・ソフトウ
ェアによる使用のため予約され装置に特有である。
すなわち、ビット0は目標システム装置ビズイ・ビット
であり、二進1にセットされたこのビットは、問題の装
置がビズイであることを示す。
であり、二進1にセットされたこのビットは、問題の装
置がビズイであることを示す。
換言すれば、その装置は現在操作の遂行過程にあるため
、新しい周辺操作を開始するためには一時的に利用不能
であることを意味する。
、新しい周辺操作を開始するためには一時的に利用不能
であることを意味する。
また、二進1にセットされたこのビットは、装置誤りの
条件を表示することもある。
条件を表示することもある。
ビット1ないし6は「例外」試験ビット(XT1ないし
XT6)であり、これらは特殊態様で装置に割当てられ
使用される。
XT6)であり、これらは特殊態様で装置に割当てられ
使用される。
ビット7は装置トラップ・ビットであり、二進1にセッ
トされたこのビットはエミュレータ・ファームウェアが
この装置に対してアドレスされた命令を後のプロセスの
ためのエミュレータ・ソフトウェアに対してトラップす
べきことを表示する。
トされたこのビットはエミュレータ・ファームウェアが
この装置に対してアドレスされた命令を後のプロセスの
ためのエミュレータ・ソフトウェアに対してトラップす
べきことを表示する。
換言すれば、トラップ・コールがエミュレータ・ソフト
ウェア(ESP )に対してなされる。
ウェア(ESP )に対してなされる。
ビット8ないし15は装置特有ビットであり、ビット1
6ないし31は変位フィールドを構成し、このフィール
ドは、ベース・アドレス・レジスタ4のアドレス内容を
基準としてその装置に対する装置延長表のベース位置を
定義する。
6ないし31は変位フィールドを構成し、このフィール
ドは、ベース・アドレス・レジスタ4のアドレス内容を
基準としてその装置に対する装置延長表のベース位置を
定義する。
第7f図はマス記憶装置表項目に対する特定書式を示す
。
。
この書式は次のように定義される。すなわち、ビット0
が二進1にセットされたときは、データ転送、シーク操
作、又は利用不能のためその装置がビズイであることを
示す。
が二進1にセットされたときは、データ転送、シーク操
作、又は利用不能のためその装置がビズイであることを
示す。
ビット1は使用されず、ビット2は装置不能ビットであ
り、二進1にセットされたこのビットは、アドレス・レ
ジスタによって指定された装置が動作不能である旨を示
す。
り、二進1にセットされたこのビットは、アドレス・レ
ジスタによって指定された装置が動作不能である旨を示
す。
目標システムのマス記憶装置が動作不能と認められるの
は次のときである。
は次のときである。
すなわち、装置がオフ・ラインのとき;装置内にハード
ウェア故障が検出されたとき;又は装置が不正確にシス
テムに対して「パッチ」されもしくは「ダイヤル」され
たときである。
ウェア故障が検出されたとき;又は装置が不正確にシス
テムに対して「パッチ」されもしくは「ダイヤル」され
たときである。
ビット3は装置誤りビットであり、二進1にセットされ
たこのビットは、アドレス・レジスタによって指定され
た装置に対して装置誤り条件が存在することを示す。
たこのビットは、アドレス・レジスタによって指定され
た装置に対して装置誤り条件が存在することを示す。
すでに述べたように、マス記憶装置に装置誤り条件が存
在するのは、シーク命令が読出/書込ヘッドをシリンダ
・アドレス限界外のシリンダ・アドレスへ装置流めしよ
うとしたときである。
在するのは、シーク命令が読出/書込ヘッドをシリンダ
・アドレス限界外のシリンダ・アドレスへ装置流めしよ
うとしたときである。
ビット4はバリアント・トラップ・ビットであり、二進
1にセットされたこのビットは、一定の目標システムI
10制御命令(周辺制御及び分岐命令)の不適式又は非
指定バリアントがエミュレータ・ファームウェアによっ
てトラップされ、かつ、エミュレータ・ソフトウェアに
対してコールがなされるべき旨を表示する。
1にセットされたこのビットは、一定の目標システムI
10制御命令(周辺制御及び分岐命令)の不適式又は非
指定バリアントがエミュレータ・ファームウェアによっ
てトラップされ、かつ、エミュレータ・ソフトウェアに
対してコールがなされるべき旨を表示する。
ビット5は一般例外ビットであり、二進1にセットされ
たこのビットは、アドレス・レジスタ内に指定された装
置に向けられた最後のデータ転送命令の中に例外条件(
たとえば、DI。
たこのビットは、アドレス・レジスタ内に指定された装
置に向けられた最後のデータ転送命令の中に例外条件(
たとえば、DI。
DE、IIなどのビットによって定義されるもの)が検
出された旨を表示する。
出された旨を表示する。
ビット6は「トラック・リンキング」レコード・ビット
であり、二進1にセットされたこのビットは、サーチさ
れかつ読出/書込された最後のレコードがトランク・リ
ンキング・レコードであった旨を表示する。
であり、二進1にセットされたこのビットは、サーチさ
れかつ読出/書込された最後のレコードがトランク・リ
ンキング・レコードであった旨を表示する。
ビット7はトラップ・ビットであり、マス記憶装置の場
合には常に二進ゼロにセットされる。
合には常に二進ゼロにセットされる。
ビット8はダイヤルド・アウト・ビットであり、二進1
にセットされたこのビットは、装置が選択されなかった
か又は目標システムのパネル・スイッチに「ダイヤル・
イン」された旨を表示する。
にセットされたこのビットは、装置が選択されなかった
か又は目標システムのパネル・スイッチに「ダイヤル・
イン」された旨を表示する。
ビット9は利用不能ビットであり、このビットは、エミ
ュレータ・ソフトウェアが、問題の装置は周辺オペレー
ショナル(operational )を遂行している
か否か又はそれが動作不能のためビズイであるか否か(
ビット0及び9がこの判断をするために使われる)を判
断するために使う。
ュレータ・ソフトウェアが、問題の装置は周辺オペレー
ショナル(operational )を遂行している
か否か又はそれが動作不能のためビズイであるか否か(
ビット0及び9がこの判断をするために使われる)を判
断するために使う。
ビット10ないし15はソフトウェアの使用のために予
約され、ビット16ないし31は変位フィールドを構成
し、このフィールドは、ベース・アドレス・レジスタ4
の内容を基準としてその装置に対する関連装置延長衣の
変位をもつ。
約され、ビット16ないし31は変位フィールドを構成
し、このフィールドは、ベース・アドレス・レジスタ4
の内容を基準としてその装置に対する関連装置延長衣の
変位をもつ。
終了及び装置延長表
第6図に示す最後の2種類の表は、終了表と装置延長表
に対応する。
に対応する。
終了表は、終了項目指針衣(TEPT)を介してアクセ
スされる。
スされる。
TEP表は、論理装置番号(LDNS)Oないし127
を表わす128個の2バイト項目をもつ。
を表わす128個の2バイト項目をもつ。
各項目は、存在しないLDNに対応する「空」であると
、又はエミュレータに割当てられない装置に対応するか
若しくはインデックス値を含むものであり、そのインデ
ックス値は、ベース・レジスタ4の値に加算されたとき
にそのLDHに関連した終了表項目の始点を指示する。
、又はエミュレータに割当てられない装置に対応するか
若しくはインデックス値を含むものであり、そのインデ
ックス値は、ベース・レジスタ4の値に加算されたとき
にそのLDHに関連した終了表項目の始点を指示する。
論理装置番号(名前)は、取付けられたホスト・システ
ム装置ごとに割当てられた16ビツトの二進数である。
ム装置ごとに割当てられた16ビツトの二進数である。
この数は、問題の装置に対して「チャンネル・プログラ
ム」が構成されたときに、エミュレータ・ソフトウェア
によってIlo「制御ブロック」内へその後ロードされ
る。
ム」が構成されたときに、エミュレータ・ソフトウェア
によってIlo「制御ブロック」内へその後ロードされ
る。
終了表項目の内容を第7h図に示す。
図から明らかなように、この項目は、RWC指針として
働く16ビツトのフィールドをもつ。
働く16ビツトのフィールドをもつ。
このフィールドに貯えられた値にベース・レジスタ4を
加算すると、現在の命令に関連したRWC/PCU表の
RWC項目が指示される。
加算すると、現在の命令に関連したRWC/PCU表の
RWC項目が指示される。
これは、「ビズイ」とされるべきRWCを含むどのI1
0命令に対してモ目標システム「プロセス」によってア
ップテートされる。
0命令に対してモ目標システム「プロセス」によってア
ップテートされる。
終了表項目に含まれる第2フイールドは16ビツトのP
CU指針フィールドである。
CU指針フィールドである。
このフィールドに含まれる値にベース・レジスタ4の内
容を加算すると、この装置に対するPCU項目のアドレ
スが与えられる。
容を加算すると、この装置に対するPCU項目のアドレ
スが与えられる。
語1に含まれるフィールドに16ビツトのPCU延長指
針フィールドがある。
針フィールドがある。
このフィールドの値にベース・レジスタ4の内容を加算
すると、この装置に対するPCU延長項目のアドレスが
与えられる。
すると、この装置に対するPCU延長項目のアドレスが
与えられる。
語1の他のフィールドは装置表指針である。
この表に含まれた値は、この装置に対する目標システム
状態を有する装置表項目を指示する。
状態を有する装置表項目を指示する。
語2の第1フイールドは、16ビツトの目標システム論
理名フィールドである。
理名フィールドである。
このフィールドは目標システム名を「XNJO形で表わ
したものであり、ここにXはセクタ及びPCUを表わす
アルファ文字であり、Nは装置を表わす数字コードであ
る。
したものであり、ここにXはセクタ及びPCUを表わす
アルファ文字であり、Nは装置を表わす数字コードであ
る。
この項目の語3及び語4は、装置形式/サブ形式/装置
番号フィールドである。
番号フィールドである。
これらのフィールドは、長さ5文字であエミュレートさ
れた外部名を表わす。
れた外部名を表わす。
また、語4は、目標システム・セクタ・コードを識別す
る3ビツトのセクタ・コード・フィールドをもつ。
る3ビツトのセクタ・コード・フィールドをもつ。
最後に、語4は、エミュレーテイング装置の状態を表わ
す装置準備完了ビットをもつ。
す装置準備完了ビットをもつ。
第7g図は、第6図のマス記憶延長衣に対応する形式の
延長衣における項目の形式を示す。
延長衣における項目の形式を示す。
一般に、装置延長表は上記PCU延長延長間様な目的の
ために使われる。
ために使われる。
第7g図において、マス記憶装置延長衣は23語をもち
、これらの語はアドレス情報1.制御情報、詳細な装置
状態情報、及びI10メツセージ情報等の形式における
各種情報を含む。
、これらの語はアドレス情報1.制御情報、詳細な装置
状態情報、及びI10メツセージ情報等の形式における
各種情報を含む。
この表は本発明に関係する範囲でのみ説明し、説明を完
全にする目的のみのために図示した。
全にする目的のみのために図示した。
もちろん、装置延長表に貯えられる情報は装置の機能に
よって変わる。
よって変わる。
好ましい実施例の動作の説明
第1ないしIh図及び第11図、ならびに第8aないし
81図、第9aないし9h図及び第10図のフロー・チ
ャートを参照して、本発明によるエミュレータ・システ
ムの動作、とくに目標システムに含まれる入出力周辺デ
ータ転送(PDT)命令の処理の動作についてまず説明
する。
81図、第9aないし9h図及び第10図のフロー・チ
ャートを参照して、本発明によるエミュレータ・システ
ムの動作、とくに目標システムに含まれる入出力周辺デ
ータ転送(PDT)命令の処理の動作についてまず説明
する。
すでに指摘したように、目標システムにおいてこの命令
が実行されるときには、データ文字が主記憶域の区域と
周辺装置との間で転送される。
が実行されるときには、データ文字が主記憶域の区域と
周辺装置との間で転送される。
第8a図に示すように、まず最初に命令がフェッチ又は
抽出される。
抽出される。
実際には、処理においである程度の「ルック・アヘッド
」をするために、第1c図のIFUがあらかじめ命令を
フェッチする。
」をするために、第1c図のIFUがあらかじめ命令を
フェッチする。
フェッチされた命令は命令緩衝器203−1に貯えられ
たのち、QA及びQB母線に加えられる。
たのち、QA及びQB母線に加えられる。
第8a図に示すように、OPコード・アドレスは主記憶
域のゼネラル・レジスタ7に貯えられる。
域のゼネラル・レジスタ7に貯えられる。
さらに、ACUlol−2が所要の絶対アドレスを算出
し、これを第2b図の語ALUのACレジスタ206−
3に貯える。
し、これを第2b図の語ALUのACレジスタ206−
3に貯える。
命令緩衝器203−1に含まれるバリアント文字は、第
2C図のEVCレジスタ20282に対応するALUの
適当なALUに貯えられる。
2C図のEVCレジスタ20282に対応するALUの
適当なALUに貯えられる。
このとき、第2a図の制御記憶域はその命令のOPコー
ドのビットにもとすいて分岐し、第8a及び10図に示
すように主ルーチンにはいる。
ドのビットにもとすいて分岐し、第8a及び10図に示
すように主ルーチンにはいる。
第6及び11図に示すように、目標システムのI10命
令は各種の異なる書式をとり得る。
令は各種の異なる書式をとり得る。
一般に、目標システムのPDT命令は、一つのOPコー
ド文字、Aアドレス文字、及び多数の制御文字CIない
しCNからなる書式をとる。
ド文字、Aアドレス文字、及び多数の制御文字CIない
しCNからなる書式をとる。
上記のプログラミング・マニュアル及びレチン等の特許
に記載されているように、PDT命令は、周辺装置とそ
の左端位置なAアドレスと称する目標システムの主記憶
域との間でデータ文字の転送をする。
に記載されているように、PDT命令は、周辺装置とそ
の左端位置なAアドレスと称する目標システムの主記憶
域との間でデータ文字の転送をする。
IFUlol −3が命令をフェッチするときにはまず
命令のOPコード文字、Aアドレス文字、及び第1制御
又はバリアント文字(すなわち、CI文字)をフェッチ
する。
命令のOPコード文字、Aアドレス文字、及び第1制御
又はバリアント文字(すなわち、CI文字)をフェッチ
する。
Aアドレスに含まれる文字の数は、プログラムが選んだ
文字モードによって定まる(プログラミング・マニュア
ルを参照されたい)IFUlol−3は、それが最初の
バリアント文字を抽出又はフェッチした後にその操作を
終了するように構成される。
文字モードによって定まる(プログラミング・マニュア
ルを参照されたい)IFUlol−3は、それが最初の
バリアント文字を抽出又はフェッチした後にその操作を
終了するように構成される。
すなわち、IFUlol−3は書式検査回路(図示せず
)をもち、これが、第1バリアント文字の抽出完了時に
PDT命令OPコード文字に応答して命令抽出を終了さ
せる。
)をもち、これが、第1バリアント文字の抽出完了時に
PDT命令OPコード文字に応答して命令抽出を終了さ
せる。
換言すれば、IFUは、目標システム命令自体がOPコ
ード、Aアドレス、及び第1バリアント文字のみからな
るものとみなす。
ード、Aアドレス、及び第1バリアント文字のみからな
るものとみなす。
さきに制御記憶域を、マイクロ命令が読出され復号され
る特定点へ分岐させた特定OPコードは各種のCPUユ
ニットをエミュレーションに対して準備する。
る特定点へ分岐させた特定OPコードは各種のCPUユ
ニットをエミュレーションに対して準備する。
たたえば、デコードされたマイクロ命令は、バイト加算
器206−50及びACUlol−2のエミュレーショ
ン・モード・フリップフロップ及びACU制御フリップ
フロップ202−49をそれぞれ二進1にセットするサ
ブ命令信号を発生する。
器206−50及びACUlol−2のエミュレーショ
ン・モード・フリップフロップ及びACU制御フリップ
フロップ202−49をそれぞれ二進1にセットするサ
ブ命令信号を発生する。
二進1にセットされたエミュレーション・モード(EM
M)フリップフロップは、IFUlol−3を、所要の
検査及び例外の処理をするように条件づげし、例外発生
時にCPUが目標システムをエミュレートしていた旨の
表示をする状態情報を貯えることを呵能化する。
M)フリップフロップは、IFUlol−3を、所要の
検査及び例外の処理をするように条件づげし、例外発生
時にCPUが目標システムをエミュレートしていた旨の
表示をする状態情報を貯えることを呵能化する。
二進1にセットされたACU制御フリップフロップは、
ACUIOI−2を条件づげすることにより、目標シス
テムの文字操作モードに適合した書式でデータをURF
にロードするようにデータ・セレクタ回路202−34
を条件づげする。
ACUIOI−2を条件づげすることにより、目標シス
テムの文字操作モードに適合した書式でデータをURF
にロードするようにデータ・セレクタ回路202−34
を条件づげする。
第8a図から明らかなように、抽出ののち、エミュレー
タのソフトウェアESPは、CPUユニット内の各種レ
ジスタを、目標システムのプログラム遂行開始時に通常
とる値に初期化する。
タのソフトウェアESPは、CPUユニット内の各種レ
ジスタを、目標システムのプログラム遂行開始時に通常
とる値に初期化する。
たとえば、第4図のプロセス制御ブロックPCBは、エ
ミュレータ・ファームウェアによって使われる各種セグ
メントを指示する値をベース・アドレス・レジスタBR
OないしBH3にもつ。
ミュレータ・ファームウェアによって使われる各種セグ
メントを指示する値をベース・アドレス・レジスタBR
OないしBH3にもつ。
すでに述べたように、レジスタBR2は目標システム主
記憶装置の始点を指示し、レジスタBR3は目標システ
ム制御記憶域の始点を指示し、レジスタBR4はI10
表の開始を指示する。
記憶装置の始点を指示し、レジスタBR3は目標システ
ム制御記憶域の始点を指示し、レジスタBR4はI10
表の開始を指示する。
すでに述べたように1、これらの表は、エミュレータの
ソフトウェアESPに供給された目標システムI10編
成を定義する情報にもちすいてESPによりあらかじめ
ロードされた情報をもつ。
ソフトウェアESPに供給された目標システムI10編
成を定義する情報にもちすいてESPによりあらかじめ
ロードされた情報をもつ。
これらの操作は、初期化の段階で行われる。
さらに、このエミュレータ・ソフトウェアは、第1b図
のPCBから誘かれる情報を第2e図のURFの各種レ
ジスタにロードする。
のPCBから誘かれる情報を第2e図のURFの各種レ
ジスタにロードする。
これらの値は、リロケーション・レジスタ(BRO)、
インデックス・レジスタ、バリケート・レジスタ、シー
ケンス・カウンタ(UWl)、AC及びBCレジスタ(
UWI及びUW6)に貯えられたものに相当する。
インデックス・レジスタ、バリケート・レジスタ、シー
ケンス・カウンタ(UWl)、AC及びBCレジスタ(
UWI及びUW6)に貯えられたものに相当する。
これらの値は、I10命令をプロセスする間に、主記憶
域から情報をフェッチするために使われる。
域から情報をフェッチするために使われる。
これらのレジスタに含まれる値は、アンプデートされ、
LSU1017のLSMに貯えられる。
LSU1017のLSMに貯えられる。
したがって、抽出の終了時においてCPUは、命令のO
Pコード、Aアドレス文字、及び第1バリアント文字抽
出のために主記憶域へ転送されたシーケンス・カウンタ
値を使って、すべての目標システム・シーケンスの処理
に共通なファームウェア・シーケンスを遂行し終り、命
令の実効アドレスの計算を終り、PDT命令のOPコー
ド文字の試験を終って命令の遂行方法を見出している。
Pコード、Aアドレス文字、及び第1バリアント文字抽
出のために主記憶域へ転送されたシーケンス・カウンタ
値を使って、すべての目標システム・シーケンスの処理
に共通なファームウェア・シーケンスを遂行し終り、命
令の実効アドレスの計算を終り、PDT命令のOPコー
ド文字の試験を終って命令の遂行方法を見出している。
シーケンス・カウンタ及びACカウンタはアップデート
され、命令の取出しならびに作業ACアドレスのインデ
ックス及び形成に使われる。
され、命令の取出しならびに作業ACアドレスのインデ
ックス及び形成に使われる。
CPUが実際に命令の処理を開始しているので、各種L
SMレジスタ位置の内容のアップデートはPDT命令の
実際の遂行が開始されるまでは行われない。
SMレジスタ位置の内容のアップデートはPDT命令の
実際の遂行が開始されるまでは行われない。
抽出段階では、CPUは、I10表を指示するベース・
アドレス・レジスタ4を引用しない。
アドレス・レジスタ4を引用しない。
しかし、UPUは、主記憶域からI10命令を7エツチ
するためにベース・アドレス・レジスタ2の内容を使う
。
するためにベース・アドレス・レジスタ2の内容を使う
。
フェッチして第1c図のIFUlol−3に貯えられた
6ビツトのOPコード文字は、第2a図の分岐試験論理
回路を条件づげするために使われる。
6ビツトのOPコード文字は、第2a図の分岐試験論理
回路を条件づげするために使われる。
すなわち、このOPコードのビットは64通りの分岐試
験回路に加えられ、この回路は制御記憶域配列中に含ま
れるマイク命令のシーケンスから第1マイクロ命令を選
び、この形式の命令をエミュレートする。
験回路に加えられ、この回路は制御記憶域配列中に含ま
れるマイク命令のシーケンスから第1マイクロ命令を選
び、この形式の命令をエミュレートする。
第8a図から明らかなように、 「ファームウェア」は
まず、スターティング・アドレス検査(SAC)などの
一定の検査をする。
まず、スターティング・アドレス検査(SAC)などの
一定の検査をする。
この検査は、記憶保護が有効であるときに、アドレス違
反の有無を判断する。
反の有無を判断する。
アドレス違反がないときは、ファームウェアはついで初
期化ルーチンに進み、ここでエミュレータのソフトウェ
アESPの「呼出」に使われるレジスタのうちのあるも
のをクリアし、目標システム命令の所要の処理を完了す
る。
期化ルーチンに進み、ここでエミュレータのソフトウェ
アESPの「呼出」に使われるレジスタのうちのあるも
のをクリアし、目標システム命令の所要の処理を完了す
る。
このことは通常は、第2d図のLSMの各種レジスタ位
置の内容をゼロにクリアすることを含む。
置の内容をゼロにクリアすることを含む。
その後、ファームウェアはマイクロ命令102−104
を介して、語ALU206−1のACレジスタ206−
3に貯えられたOPコード文字を第2c図のLSMのロ
ーカル・レジスタ207−9にロードし、ついで記憶位
置GRCに書き込ませる。
を介して、語ALU206−1のACレジスタ206−
3に貯えられたOPコード文字を第2c図のLSMのロ
ーカル・レジスタ207−9にロードし、ついで記憶位
置GRCに書き込ませる。
すなわち、第10図に示すように、PDT−OPコード
値「36」が第2C図のAGレジスタ20618に転送
される。
値「36」が第2C図のAGレジスタ20618に転送
される。
そこから、この値は、SFSセレクタ・回路206−1
4を介して第2b図のAPレジスタ206−12にコー
ドされる。
4を介して第2b図のAPレジスタ206−12にコー
ドされる。
OPコード文字は、QA母線に加えられローカル・レジ
スタ207−9に貯えられ、そのご、アドレス・レジス
タ207−2の内容によって指定された位置GRCに書
込まれる。
スタ207−9に貯えられ、そのご、アドレス・レジス
タ207−2の内容によって指定された位置GRCに書
込まれる。
RWC試験ルーチン
第8a及び10図に示すように、ファームウェアはその
後、第8b図のRWC状態試験ルーチンにはいる。
後、第8b図のRWC状態試験ルーチンにはいる。
このルーチンの詳細を第9a図に示す。同図は、C1バ
リアント文字を「インデックスf直jとして使い、RW
C表に貯えられた適当な項目を引用するために行われる
処理を示す。
リアント文字を「インデックスf直jとして使い、RW
C表に貯えられた適当な項目を引用するために行われる
処理を示す。
まず、マイクロ命令100−102の遂行により、6ビ
ツトのC1バリアント文字が8ビツト文字(C18)に
変換される。
ツトのC1バリアント文字が8ビツト文字(C18)に
変換される。
ついで、この値を、以下に「ベース値」と呼ぶI10表
の絶対スターティング・アドレスに加算する。
の絶対スターティング・アドレスに加算する。
すなわち、マイクロ命令103はまず、CI文字をAF
レジスタからQA母線を介してACへ転送する。
レジスタからQA母線を介してACへ転送する。
次に、I10表に対するずれ値がURF(BR2)の位
置#2からフェッチされてUNレジスタ202−54に
貯えられ、同時にセグメント番号(STN、5TE)が
USレジスタ202−7へ転送される。
置#2からフェッチされてUNレジスタ202−54に
貯えられ、同時にセグメント番号(STN、5TE)が
USレジスタ202−7へ転送される。
マイクロ命令104は、ずれ値をURFの作業位置UW
5に書込ませ、かつ、シフトされたC1文字をACレジ
スタ206−3にロードさせる。
5に書込ませ、かつ、シフトされたC1文字をACレジ
スタ206−3にロードさせる。
また、位置UW5はセレクタ回路202−38によって
選択され、緩衝器202−5からのセグメント・ベース
はUNレジスタ202−54にロードされる。
選択され、緩衝器202−5からのセグメント・ベース
はUNレジスタ202−54にロードされる。
マイクロ命令105は、加算器202−50によって作
られたベース+ずれの和を、セレクタ回路202−34
を介して作業位置UW5に書込む。
られたベース+ずれの和を、セレクタ回路202−34
を介して作業位置UW5に書込む。
ここに、作業位置UW5は、計算された「ベース値」を
もつことになる。
もつことになる。
また、このベース値は、USBセレクタ回路203−3
8によって加算器に加えられ、シフトされたC1文字は
QA母線を介してUNレジスタ202−54にロードさ
れる。
8によって加算器に加えられ、シフトされたC1文字は
QA母線を介してUNレジスタ202−54にロードさ
れる。
UBO加算器202−50によってつくられた和は出力
レジスタ202−52にロードされ、この値は、CI文
字によって指定される特定RWC表項目をフェッチする
ために使われる。
レジスタ202−52にロードされ、この値は、CI文
字によって指定される特定RWC表項目をフェッチする
ために使われる。
マイクロ命令106は信号MMCOPを発生し、この信
号は主記憶インターフェイス回路に対して記憶操作サイ
クルを開始し被指定位置の内容のフェッチを開始すべき
旨の合図をする。
号は主記憶インターフェイス回路に対して記憶操作サイ
クルを開始し被指定位置の内容のフェッチを開始すべき
旨の合図をする。
主記憶域からフェッチされた内容は4バイト項目を構成
し、この項目は第1C図のDNレジスタ201−1にロ
ードされたのち語用算器206iに加えられる。
し、この項目は第1C図のDNレジスタ201−1にロ
ードされたのち語用算器206iに加えられる。
マイクロ命令108は、シフト206−30をセットし
て左え4ビツト位置だけシフトする。
て左え4ビツト位置だけシフトする。
DNレジスタ201iのRWC項目内容は、次にACレ
ジスタ206−3にロードされ、LSMの位置30に書
込まれる。
ジスタ206−3にロードされ、LSMの位置30に書
込まれる。
第8b及び9a図に示すように、ファームウェアはその
後RWCカウンタ・コードの試験に進み、それが適式で
あるか否か判断する。
後RWCカウンタ・コードの試験に進み、それが適式で
あるか否か判断する。
これは、高位ビットの状態を試験することにより完了す
る。
る。
そのビットが二進1にセットされているときは、そのR
WCカウンタ・コードは特定の目標システムで使用する
には不適式である。
WCカウンタ・コードは特定の目標システムで使用する
には不適式である。
この場合には、制御記憶域がAGレジスタ206−88
に一定のコード(すなわち、「11111」)を強制的
にいれる。
に一定のコード(すなわち、「11111」)を強制的
にいれる。
このコードは、ESPに対してRWCカウンタ・コード
が不適式である旨の合図をするサービス・クラス番号(
SCN)コードである。
が不適式である旨の合図をするサービス・クラス番号(
SCN)コードである。
全部1のSCNコードは後に第4図に示す位置GR12
の一部に書込まれる。
の一部に書込まれる。
また、他の情報も含まれ、ESPが次の命令を順次処理
できるようにされた。
できるようにされた。
たとえば、シーケンス・カウンタSCがセットされて次
の命令のオペレーション・コードのアドレスカ表示され
位置GROのバリアント部分はI10命令のC1バリア
ント文字をもち、位置GR12はその命令のOPコード
文字をもつ。
の命令のオペレーション・コードのアドレスカ表示され
位置GROのバリアント部分はI10命令のC1バリア
ント文字をもち、位置GR12はその命令のOPコード
文字をもつ。
他の位置は、ESPによって最初にそこヘロードされた
情報(たとえばINA、INB、INC,BCl及びA
C部分など)をもつ。
情報(たとえばINA、INB、INC,BCl及びA
C部分など)をもつ。
さらに他の位置は、I10命令がさらに処理されたとき
に、附加的情報をもつように修正される。
に、附加的情報をもつように修正される。
以下に説明するように、これらの操作はI10サービス
・ルーチンによって遂行される。
・ルーチンによって遂行される。
上記の試験を、第9a図を参照して詳細に考察する。
RWC表からフェッチされACレジスタに貯えられた情
報は、第7a図に示す書式をもつ。
報は、第7a図に示す書式をもつ。
マイクロ命令110ないし112に応答して、ACレジ
スタの内容は左にシフトされることによって並べられ(
aligned ) 、これによりRWC項目のビット
6ないし11の選択と、ADレジスタ206−5からA
Bレジスタ206−58への試験用転送が可能になる。
スタの内容は左にシフトされることによって並べられ(
aligned ) 、これによりRWC項目のビット
6ないし11の選択と、ADレジスタ206−5からA
Bレジスタ206−58への試験用転送が可能になる。
また図示のように、マイクロ命令112が完了したとき
のACレジスタ206−3は、左へ2だけシフトされた
セクタ・コードビット13ないし15をもつ。
のACレジスタ206−3は、左へ2だけシフトされた
セクタ・コードビット13ないし15をもつ。
マイクロ命令113の遂行は、ADレジスタ206−5
からのEXTビット12をSDSセレクタ・回路206
−66を介してABレジスタ206−58のビット位置
7ヘロードさせる信号を発生する。
からのEXTビット12をSDSセレクタ・回路206
−66を介してABレジスタ206−58のビット位置
7ヘロードさせる信号を発生する。
同時に、SDカウンタ206−60の内容が回路206
−61によって1だけ増やされる。
−61によって1だけ増やされる。
さらに、LSMの位置GRCがアドレスされ、その内容
がLYローカル・レジスタ207−9内へ読出される。
がLYローカル・レジスタ207−9内へ読出される。
第3及び4図から明らかなように、GRC位置は、SC
Nコード・フィールドを含む記憶位置GR12に対応す
る。
Nコード・フィールドを含む記憶位置GR12に対応す
る。
また、マイクロ命令113は、セクタ・コードをADレ
ジスタ206−5へ転送させる。
ジスタ206−5へ転送させる。
マイクロ命令114の遂行はバイト加算器206−50
をして論理積(logical product )操
を行わせ、その操作において、ABレジスタ206−5
8の各種ビット位置をマスクし、一定のビット位置の状
態の試験を可能にする。
をして論理積(logical product )操
を行わせ、その操作において、ABレジスタ206−5
8の各種ビット位置をマスクし、一定のビット位置の状
態の試験を可能にする。
カウンタ・コードの第1ビツトに対応するABレジスタ
206−58のビット位置2の状態が、マイクロ命令1
14によって試験される。
206−58のビット位置2の状態が、マイクロ命令1
14によって試験される。
この試験の結果は、制御記憶域を次のマイクロ命令へ進
ませるか又はマイクロ命令134へ分岐させる。
ませるか又はマイクロ命令134へ分岐させる。
試験が積極的(positive )であるときは、制
御記憶域はマイクロ命令134へ分岐し、この命令はR
WCカウンタ・コードが不適式である旨の合図をする。
御記憶域はマイクロ命令134へ分岐し、この命令はR
WCカウンタ・コードが不適式である旨の合図をする。
マイクロ命令134の遂行は、すべて1であるコードを
AGレジスタ206−88内へ強lIJし、これがその
後LSMの位置GRCに書込まれる。
AGレジスタ206−88内へ強lIJし、これがその
後LSMの位置GRCに書込まれる。
第9a図に示すように、マイクロ命令115が次に実行
され、ADレジスタ206−5のセクタ・コード内容が
SDSセレクタ回路206−66を介してABレジスタ
206−58ヘロードされる。
され、ADレジスタ206−5のセクタ・コード内容が
SDSセレクタ回路206−66を介してABレジスタ
206−58ヘロードされる。
また、このマイクロ命令は、一定の定数コードを制御記
憶域からAGレジスタ206−68へ強制し、ABレジ
スタ206−58のビットをマスクしてEXTビットを
有するビット位置7の内容を試験する。
憶域からAGレジスタ206−68へ強制し、ABレジ
スタ206−58のビットをマスクしてEXTビットを
有するビット位置7の内容を試験する。
マイクロ命令116は、バイト加算器結果母線からセク
タ・コード・ビットをAGレジスタ206−88にロー
ドし、同時に、AFレジスタ206−12をゼロにクリ
アする。
タ・コード・ビットをAGレジスタ206−88にロー
ドし、同時に、AFレジスタ206−12をゼロにクリ
アする。
また、このマイクロ命令は、制御記憶試験回路をして、
RWC項目のEXTビット12の状態に基いて二通り分
岐操作を行わせる。
RWC項目のEXTビット12の状態に基いて二通り分
岐操作を行わせる。
すでに述べたように、これらのEXTビットは、エミュ
レートされている特定の目標システムが延長I10能力
(capability)を有するか否かを表示する。
レートされている特定の目標システムが延長I10能力
(capability)を有するか否かを表示する。
このことは、I10命令によって定義されたセクタ・コ
ードが、そのまま特定セクタを指定するコードに翻訳す
ることは許されないことを意味する。
ードが、そのまま特定セクタを指定するコードに翻訳す
ることは許されないことを意味する。
したがって、EXTビット12の状態は、RWCコード
が延長I10能力によって影響されるか否かを定める。
が延長I10能力によって影響されるか否かを定める。
延長I10ビットは、目標システムに関連した状態イン
ジケータの状態を表わすものと理解すべきである。
ジケータの状態を表わすものと理解すべきである。
目標システムにおいて、このインジケータはプログラム
制御下にオン及びオフに切換えられる。
制御下にオン及びオフに切換えられる。
EXTビットが二進ゼロであるときは、RWCコードは
以下に説明するように異なったRWCコードとして扱わ
れる。
以下に説明するように異なったRWCコードとして扱わ
れる。
しかし、EXTビット12が二進1であるときは、それ
は、さきにフェッチされたRWC表項目の内容を使って
異なった態様で扱われる。
は、さきにフェッチされたRWC表項目の内容を使って
異なった態様で扱われる。
詳しく説明すれわ、延長I10ビット12が二進0であ
るときには、制御記憶域がマイクロ命令132へ分岐し
、ついで、これに続くマイクロ命令133が、EVCレ
ジスタ0682に貯えられた01文字の高位ビットを二
進1にセットする。
るときには、制御記憶域がマイクロ命令132へ分岐し
、ついで、これに続くマイクロ命令133が、EVCレ
ジスタ0682に貯えられた01文字の高位ビットを二
進1にセットする。
第8b及び9a図に示すように、御制記憶域はその後マ
イクロ命令100にリターンして、修正したCIガバリ
ント文字を使いRWC表へのインデキシングを再開する
。
イクロ命令100にリターンして、修正したCIガバリ
ント文字を使いRWC表へのインデキシングを再開する
。
RWC表からフェッチした項目も第7a図に示す書式を
もつ。
もつ。
しかし、このような項目のコード態様は、エミュレート
されている特定形式の目標システムの要求にしたがって
変わる。
されている特定形式の目標システムの要求にしたがって
変わる。
たとえば、このコード態様は異なるタイム・スロット・
マスク・コードなどを指定する。
マスク・コードなどを指定する。
有効なRWC項目が処理され、かつ、EXTビット12
が試験されたものと仮定すると、制御記憶域はここにマ
イクロ命令117の実行へ進む。
が試験されたものと仮定すると、制御記憶域はここにマ
イクロ命令117の実行へ進む。
第9a図に示すように1.この命令は、AGレジスタ2
06−88のセクタ・コード内容を、SFSセレクタ回
路20614を介してAFレジスタ206−12へロー
ドする。
06−88のセクタ・コード内容を、SFSセレクタ回
路20614を介してAFレジスタ206−12へロー
ドする。
この命令はまた、制御記憶域から「01」なる定数をA
Gレジスタ20618ヘロードさせ、かつ、回路206
18をしてSEカウンタ206−16を1だけ減少させ
る。
Gレジスタ20618ヘロードさせ、かつ、回路206
18をしてSEカウンタ206−16を1だけ減少させ
る。
マイクロ命令118に応答して、AGレジスタ206−
88の定数内容がAFレジスタ206−12にロードさ
れ、ここに後者のレジスタは左へ二階シフトされたセク
タ・コードと数値256との和に相当する値を貯えるこ
とになる。
88の定数内容がAFレジスタ206−12にロードさ
れ、ここに後者のレジスタは左へ二階シフトされたセク
タ・コードと数値256との和に相当する値を貯えるこ
とになる。
回路208i8はSEカウンタ206−16をlだげ増
加させ、制御記憶域からの定数がAGレジスタ2061
8にロードされ、第6図のRWC表の位置778から目
標システムRWCビズイ状態情報がフェッチされる。
加させ、制御記憶域からの定数がAGレジスタ2061
8にロードされ、第6図のRWC表の位置778から目
標システムRWCビズイ状態情報がフェッチされる。
マイクロ命令119に応答して、その表からのセクタ・
ビットが第2b図のURF Jセクタ・コード」位置U
W2に一時的に貯えられる。
ビットが第2b図のURF Jセクタ・コード」位置U
W2に一時的に貯えられる。
マイクロ命令120の遂行により、AGレジスタ206
−88の内容がAFレジスタ20612にロードされ、
マイクロ命令121は、AFレジスタ206−12から
のアドレスをさらにUNレジスタ202−54へ転送す
る。
−88の内容がAFレジスタ20612にロードされ、
マイクロ命令121は、AFレジスタ206−12から
のアドレスをさらにUNレジスタ202−54へ転送す
る。
また、LSMのアドレス・レジスタはアドレス位置30
にセットされる。
にセットされる。
マイクロ命令122は、I10表の「ベース値」をUR
F202−20の作業位置UW5から加算器202−5
0ヘロードする。
F202−20の作業位置UW5から加算器202−5
0ヘロードする。
位置778に対応する算定アドレスが、記憶装置信号M
MCOPとともに主記憶装置へ送られる。
MCOPとともに主記憶装置へ送られる。
同一サイクル中に、位置30からのRWC項目がACレ
ジスタ206−3にロードされる。
ジスタ206−3にロードされる。
上記のように、RWC表の位置778は、処理中の目標
システムのRWCビズイ状態をもつ。
システムのRWCビズイ状態をもつ。
第6図に示すように、位置778の下位ビットは、すべ
ての目標システムRWCが現在ビズイ状態にあることを
示す値を貯え、これらのビットはエミュレートされてい
る第7a図のRWCビズイ・マスク・フィールドに対応
する。
ての目標システムRWCが現在ビズイ状態にあることを
示す値を貯え、これらのビットはエミュレートされてい
る第7a図のRWCビズイ・マスク・フィールドに対応
する。
これに対して、RWC項目のRWCビズイ・マスク・フ
ィールドは、特定I10操を実行するためにこの特定命
令が使用しようとする特定RWCを表わす。
ィールドは、特定I10操を実行するためにこの特定命
令が使用しようとする特定RWCを表わす。
これら二つの値を使うファームウェアは、I10操作が
特定の目標システムについて実行可能であるか否か試験
する。
特定の目標システムについて実行可能であるか否か試験
する。
第8b図に示すように、この試験は、RWCコードに対
するRWC表項目(RWCビズイ・マスク)からの下位
16ビツトとI10表の位置778からフェッチされた
比較可能な16ビツトとについて論理AND演算をする
ことによって実行される。
するRWC表項目(RWCビズイ・マスク)からの下位
16ビツトとI10表の位置778からフェッチされた
比較可能な16ビツトとについて論理AND演算をする
ことによって実行される。
それは次いで、論理AND演算の結果がゼロであるか否
か試験する。
か試験する。
それがゼロであるときは、特定操作が実行可能であるこ
とが意味され、処理が進行する。
とが意味され、処理が進行する。
第9a図は、マイクロ命令123ないし129が上記試
験を実行することを示す。
験を実行することを示す。
マイクロ命令123は、ACレジスタ206−3のビッ
ト位置口ないし15をクリアし、語用算器206−1を
セットして論理積演算を実行する。
ト位置口ないし15をクリアし、語用算器206−1を
セットして論理積演算を実行する。
マイクロ命令124を実行することにより、ACレジス
タの内容をADレジスタ206−5に転送し、これが、
位置778かもフェッチされた状態情報を第1C図のD
Nレジスタ202−1からACレジスタ206−3ヘロ
ードすることを許容する。
タの内容をADレジスタ206−5に転送し、これが、
位置778かもフェッチされた状態情報を第1C図のD
Nレジスタ202−1からACレジスタ206−3ヘロ
ードすることを許容する。
ビット位置0ないし15が再び0にクリアされ、語用算
器206−1の演算結果がACレジスタ206一3にロ
ードされ、制御記憶域の試験回路がマイクロ命令129
に応答してその加算器出力をゼロについて試験する。
器206−1の演算結果がACレジスタ206一3にロ
ードされ、制御記憶域の試験回路がマイクロ命令129
に応答してその加算器出力をゼロについて試験する。
第8b及び第9a図に示すように、加算器出力がゼロで
あるときには、制御記憶域はマイクロ命令130を実行
したのち、第8a及び10図に示す主ルーチンへリター
ンする。
あるときには、制御記憶域はマイクロ命令130を実行
したのち、第8a及び10図に示す主ルーチンへリター
ンする。
1ビツトの存在により加算器出力がゼロでないときは、
その操作で使用しようとしている特定RWCがすでに「
ビズイ」であることが意味される。
その操作で使用しようとしている特定RWCがすでに「
ビズイ」であることが意味される。
ここに留意すべきことに、この命令がプロセス開始後目
標システムによって発せられた最初の入出力命令であっ
た場合には、RWCビズイ状態フィールドはすべてゼロ
をもつ、このことを仮定すると、第1人出力命令は、試
験結果が積極的になる。
標システムによって発せられた最初の入出力命令であっ
た場合には、RWCビズイ状態フィールドはすべてゼロ
をもつ、このことを仮定すると、第1人出力命令は、試
験結果が積極的になる。
この当該命令が被発生第1人出力命令でなく、かつ、要
求されたRWCが実際にビズイである場合には、制御記
憶域はマイクロ命令131にアクセスし、このマイク命
令の操作によりCF1制御制御フリップフロセフ進1状
態に強制する(第2b図参照)。
求されたRWCが実際にビズイである場合には、制御記
憶域はマイクロ命令131にアクセスし、このマイク命
令の操作によりCF1制御制御フリップフロセフ進1状
態に強制する(第2b図参照)。
図示実施例では、フェッチされたRWC項目が第7a図
に示すようにコード化されたものと仮定している。
に示すようにコード化されたものと仮定している。
このことは、I10操作に対してRWC5及び5aの両
者が必要とされることを意味する。
者が必要とされることを意味する。
位f778 のRWCマスク・フィールドの対応ビット
位置が両者とも二進ゼロをもたない限り、要求されたR
WCはビズイとみなされる。
位置が両者とも二進ゼロをもたない限り、要求されたR
WCはビズイとみなされる。
RWCのインターロックに対する制限要求が解除可能で
ある場合には、その項目のRWCマスク・フィールドが
変更され、一つのRWCのみを指定(たとえば、RWC
5のみ)を指定する。
ある場合には、その項目のRWCマスク・フィールドが
変更され、一つのRWCのみを指定(たとえば、RWC
5のみ)を指定する。
ビット25における二進1を二進ゼロに変えることを含
むこの変更は、オペレーティング・システムによって行
われるか、又は、システム制御卓からの命令などにより
プログラマによって行われる。
むこの変更は、オペレーティング・システムによって行
われるか、又は、システム制御卓からの命令などにより
プログラマによって行われる。
したがって、両フィールドの論理積演算が行われるとき
には、ゼロ結果を得る条件としてはRWC5だけがビズ
イでなげれば足りる。
には、ゼロ結果を得る条件としてはRWC5だけがビズ
イでなげれば足りる。
セクタ試験ルーチン
第8b図及び第10図に示すように、制御記憶域は、上
記試験を実行したのち、第8a図の主フローにリターン
してセクタ試験を実行する。
記試験を実行したのち、第8a図の主フローにリターン
してセクタ試験を実行する。
この試験の実行のためには、ファームウェアは、I10
操作がなされるべきセクタを定めなげればならない。
操作がなされるべきセクタを定めなげればならない。
第6及び11図に示すように、セクタの定義は、命令の
書式により、C1文字(制御I10命令のみ)、C2文
字、又はイスケープ・コード(CE)文字によってなさ
れる。
書式により、C1文字(制御I10命令のみ)、C2文
字、又はイスケープ・コード(CE)文字によってなさ
れる。
これはPDT命令であるから、特定の文字書式を定める
(すなわち、C2文字であるかCE文字であるが)ため
には、次の命令御制又はバリアント文字をフェッチしな
げればならない。
(すなわち、C2文字であるかCE文字であるが)ため
には、次の命令御制又はバリアント文字をフェッチしな
げればならない。
まず1、LSMのシーケンス・カウンタ位置の内容がP
DT命令の後続部分(すなわち、4バイト)をフェッチ
するために使われ、次のバリアント文字に対応する特定
バイトがSDSセレクタ回路206−66によって選択
され、ABレジスタ206−58に貯えられる。
DT命令の後続部分(すなわち、4バイト)をフェッチ
するために使われ、次のバリアント文字に対応する特定
バイトがSDSセレクタ回路206−66によって選択
され、ABレジスタ206−58に貯えられる。
そのと、この文字がAGレジスタ206−88へ転送さ
れて所要試験を行う。
れて所要試験を行う。
第8b及び9b図を参照して上記処理を詳細に検討する
に、マイクロ命令105及び106の実行により、I1
0命令の後続4バイトが、シーケンス・カウンタ・アド
レス内容(SC)の使用により、フェッチされるべき目
標システム主記憶区域に貯えられる。
に、マイクロ命令105及び106の実行により、I1
0命令の後続4バイトが、シーケンス・カウンタ・アド
レス内容(SC)の使用により、フェッチされるべき目
標システム主記憶区域に貯えられる。
すなわち、UTレジスタ2029からUSレジスタ20
2−7に加えられた主記憶域セグメント番号が、第2e
図のUABアンシアチブ記憶装置202−5に貯えられ
たそのセクタのベース番号値をUNレジスタ202−5
4にロードさせる。
2−7に加えられた主記憶域セグメント番号が、第2e
図のUABアンシアチブ記憶装置202−5に貯えられ
たそのセクタのベース番号値をUNレジスタ202−5
4にロードさせる。
また、現在のマイクロ命令t1のアドレスが、信号KR
FSIOに応答して第2a図の制御記憶域のリターン分
岐レジスタ204−12にロードされ、そのご制御記憶
域は第8g及び90図後続バリアント・ルーチンをフェ
ッチするために分岐する。
FSIOに応答して第2a図の制御記憶域のリターン分
岐レジスタ204−12にロードされ、そのご制御記憶
域は第8g及び90図後続バリアント・ルーチンをフェ
ッチするために分岐する。
マイクロ命令101ないし105は記憶装置アドレスを
発生する操作の実行をする。
発生する操作の実行をする。
たとえば、UBD加算器20250が発生したアドレス
をUAレジスタ20252経由で主記憶装置へ送る。
をUAレジスタ20252経由で主記憶装置へ送る。
また、作業位置UW3の内容がSEカウンタ206−1
6にロードされ、シーケンス・カウンタ・アドレスが作
業位置UW1に貯えられる。
6にロードされ、シーケンス・カウンタ・アドレスが作
業位置UW1に貯えられる。
主記憶域からフェッチしたバイトが、ADレジスタ20
6−5にロードされ、ついでLSMの作業位置34に書
込まれる。
6−5にロードされ、ついでLSMの作業位置34に書
込まれる。
第1バリアント文字(すなわち、C2又はCE文字)が
検討用に選ばれ、AB及びEWレジスタ206−58及
び206−84にロードされる。
検討用に選ばれ、AB及びEWレジスタ206−58及
び206−84にロードされる。
また、マイクロ信号105は信号CESRIOを発生し
、この信号がリターン分岐レジスタ20412のアドレ
ス内容をアドレス・レジスタ204−9にロードする。
、この信号がリターン分岐レジスタ20412のアドレ
ス内容をアドレス・レジスタ204−9にロードする。
これにより、制御記憶は第9b図のセクタ試験ルーチン
へリターンする。
へリターンする。
マイクロ命令101の遂行により、定数18がAGレジ
スタ206−88に送入され、SEカウンタ206−1
6はゼロに強制される。
スタ206−88に送入され、SEカウンタ206−1
6はゼロに強制される。
シフタは左へ6桁シフトするようにセットされる。
マイクロ命令106は、第2a図の分岐試験回路をして
ABレジスタ206−58の語マーク・ビット1の状態
に応じて二通り分岐を行わせる。
ABレジスタ206−58の語マーク・ビット1の状態
に応じて二通り分岐を行わせる。
これはPDT命令であるから、命令が不完全であるとき
はバリアント文字に語マークがない(すなわち、C2又
はCE文字が要求される)。
はバリアント文字に語マークがない(すなわち、C2又
はCE文字が要求される)。
しかし、バリアント文字が語マークをもつ場合には、制
御記憶域は第10図の主ルーチンにおける一連のマイク
ロ命令を実行し、その後の命令の処理を流産(abor
t )させ、エミュレータをして周辺仕様誤り(PSE
)を以下に説明する態様で発生させる。
御記憶域は第10図の主ルーチンにおける一連のマイク
ロ命令を実行し、その後の命令の処理を流産(abor
t )させ、エミュレータをして周辺仕様誤り(PSE
)を以下に説明する態様で発生させる。
語マークがないと仮定すると、エミュレータはABレジ
スタ206−58に貯えられたバリアント文字の高位ビ
ットの値の試験を開始し、バリアント文字がCE文字で
あるかC2文字であるかを判断する。
スタ206−58に貯えられたバリアント文字の高位ビ
ットの値の試験を開始し、バリアント文字がCE文字で
あるかC2文字であるかを判断する。
さらに詳細には、マイクロ命令103は第9b図に示す
ように、AGレジスタ206−88のセクタ・コード内
容をAFレジスタ206−12にロードし、つぎに、定
数をAGレジスタ20618にロードする。
ように、AGレジスタ206−88のセクタ・コード内
容をAFレジスタ206−12にロードし、つぎに、定
数をAGレジスタ20618にロードする。
このマイクロ命令はまた、SEカウンタ206−16を
1だけ減少させる。
1だけ減少させる。
マイクロ命令103はビット4の状態を試験し、高位デ
ジットの値が1.3.5、又は7のいずれであるかを判
断する。
ジットの値が1.3.5、又は7のいずれであるかを判
断する。
ビット4が二進1であるときは、制御記憶域はマイクロ
命令204へ分岐し、高位デジットの値が1.5又は3
.7のいずれであるかをそのマイクロ命令によって試験
する。
命令204へ分岐し、高位デジットの値が1.5又は3
.7のいずれであるかをそのマイクロ命令によって試験
する。
第8c及び9b図に示すように、入道値が1又は5であ
るときは、その文字はCE文字である。
るときは、その文字はCE文字である。
ここに、パリアット文字の下位ビット(すなわち、下位
デジット)は、第80及び11図に示すようにセクタ・
コードを定義する。
デジット)は、第80及び11図に示すようにセクタ・
コードを定義する。
下位3ピツトが値4をもつときは、セクタ・コード2が
使われる。
使われる。
さらに、高位デジットが1又は5の値をもたないときは
、その文字はC2文字である。
、その文字はC2文字である。
ここに、バリアント文字の高位3ビツト(すなわち、高
位デジット)はセクタ・コードを定義する(第80及び
11図参照)。
位デジット)はセクタ・コードを定義する(第80及び
11図参照)。
さらに詳しくは、マイクロ命令205.300−305
はイスケープ文字(CE文字)の処理に必要な操作を実
行する。
はイスケープ文字(CE文字)の処理に必要な操作を実
行する。
マイクロ命令505゜1os−1ioはC2文字の処理
に必要な操作を実行する。
に必要な操作を実行する。
第9b図を参照してこれらの操作の細部を説明する。
語マークがないから、マイク命令103が実行され、A
Gレジスタ20618に貯えられたセクタ・コード定数
×8を取出し、回路206−14を介してそれをAFレ
ジスタ206i2にロードする。
Gレジスタ20618に貯えられたセクタ・コード定数
×8を取出し、回路206−14を介してそれをAFレ
ジスタ206i2にロードする。
このマイクロ命令はまた、AGレジスタ206−88の
内容を2に強制し、かつ、SEカウンタ206−16を
1だけ減少させる。
内容を2に強制し、かつ、SEカウンタ206−16を
1だけ減少させる。
またこのマイクロ命令は、制御記憶域をして、ABレジ
スタ206−58のビット4の状態に基いて二通り分岐
を実行させる。
スタ206−58のビット4の状態に基いて二通り分岐
を実行させる。
上述のように、セクタ・コードが1.3.5又は7の値
をもつときは、マイクロ命令204,205,505が
実行され、セクタ・コードの値が1.5又3.7である
か否か判断される。
をもつときは、マイクロ命令204,205,505が
実行され、セクタ・コードの値が1.5又3.7である
か否か判断される。
第9b図に示すように、マイクロ命令204は、AGレ
ジスタ206−88のセクタ・コードをAFレジスタ2
06−12にロードし、AGレジスタ20618へ定数
27を強制送入する。
ジスタ206−88のセクタ・コードをAFレジスタ2
06−12にロードし、AGレジスタ20618へ定数
27を強制送入する。
これにより、ABレジスタ206−58のビット3の試
験が許容され、高位デジットの値が1又は5又は3又は
7であるか否か判断される。
験が許容され、高位デジットの値が1又は5又は3又は
7であるか否か判断される。
このデジットが1又は5の値をもつときは、それはイス
ケープ・コードであり、制御記憶域はマイクロ命令20
5を実行し、マイクロ命令300ないし302を含むシ
ーケンスが開始され、イスケープ・コードの低位ビット
が値4であるか否か試験する。
ケープ・コードであり、制御記憶域はマイクロ命令20
5を実行し、マイクロ命令300ないし302を含むシ
ーケンスが開始され、イスケープ・コードの低位ビット
が値4であるか否か試験する。
そうであるときは、制御記憶域はマイクロ命令403に
分岐し、AGレジスタ206−88にコード2を強制送
入する。
分岐し、AGレジスタ206−88にコード2を強制送
入する。
この値がセクタ・コードとして使われる。
低位デジットが値4をもたないときは、制御記憶域のシ
ーケンスはマイクロ命令303へ進み、AGレジスタ2
06−88の低位デジット内容を取出しこれをAFレジ
スタ20612にロードする。
ーケンスはマイクロ命令303へ進み、AGレジスタ2
06−88の低位デジット内容を取出しこれをAFレジ
スタ20612にロードする。
このAFレジスタの内容はつぎに、マイクロ命令304
に応答上てAEレジスタ20611へ転送される。
に応答上てAEレジスタ20611へ転送される。
また、UTレジスタ2029のセグメント番号内容がU
Sレジスタ202γに貯えられ、URFのベース・レジ
スタ位置BROの内容がUNレジスタ201−54へ読
出される。
Sレジスタ202γに貯えられ、URFのベース・レジ
スタ位置BROの内容がUNレジスタ201−54へ読
出される。
マイクロ命令305はAEレジスタの内容を左へ8だけ
シフトし、マイクロ命令30Aは、そのシフトされた内
容をACレジスタ206−3へ転送する。
シフトし、マイクロ命令30Aは、そのシフトされた内
容をACレジスタ206−3へ転送する。
また、UABアソシアチブ記憶装置202−5に貯えら
れたベース・アドレスはUNレジスタ202−54へ読
出され、UBO加算器202−50の演算結果はURF
202−20の作業位置UW7に書込まれる。
れたベース・アドレスはUNレジスタ202−54へ読
出され、UBO加算器202−50の演算結果はURF
202−20の作業位置UW7に書込まれる。
作業位置UW1の内容がアドレスされ、USBセレクタ
回路202−38へ加えられる。
回路202−38へ加えられる。
マイクロ命令306は、ACレジスタ206−3のアッ
プデート済セクタアドレス内容を作業位置UW2に書込
む(すなわち、セクタ・コードをアンプデートする)。
プデート済セクタアドレス内容を作業位置UW2に書込
む(すなわち、セクタ・コードをアンプデートする)。
第9c図に示すように、これらの内容は、左へ4だけシ
フトされたセクタ・コードと256の値との和を含む。
フトされたセクタ・コードと256の値との和を含む。
セクタ試験ルーチンは再び後続バリアント・ツェナ・ル
ーチンにはいり、残余の制御文字を含むI10命令の後
続部分をフェッチする(第11図参照)。
ーチンにはいり、残余の制御文字を含むI10命令の後
続部分をフェッチする(第11図参照)。
また第80及び9b図に示すように、エミュレータは後
続バリアント文字を試験し、それが語マークをもつか否
か判断する(すなわち、ABレジスタ206−58のビ
ット1の状態の試験をするマイクロ命令308を実行す
る)。
続バリアント文字を試験し、それが語マークをもつか否
か判断する(すなわち、ABレジスタ206−58のビ
ット1の状態の試験をするマイクロ命令308を実行す
る)。
そうである場合には、これもまた不完全命令であり、エ
ミュレータはそれを上記と同一態様で処理する。
ミュレータはそれを上記と同一態様で処理する。
語マークが存在しないことを仮定して、制御記憶域は、
以下に説明するようにC2文字のI10ビットの状態を
試験する一連のマイクロ命令を実行する。
以下に説明するようにC2文字のI10ビットの状態を
試験する一連のマイクロ命令を実行する。
第6,8c、及び11図から明らかなように、セクタ・
コードの高位ビットが1又は5以外の値をもつときは、
C2文字のビット4及び5(すなわち、第11図のC2
文字のビット3及び4)が目標システムにおけるセクタ
を指定する。
コードの高位ビットが1又は5以外の値をもつときは、
C2文字のビット4及び5(すなわち、第11図のC2
文字のビット3及び4)が目標システムにおけるセクタ
を指定する。
第9b図で、マイクロ命令105は、シフタ20630
をして、ACレジスタ206−3へ転送されたセクタ・
コード・ビットを右へシフトさせ、ついでSEカウンタ
を1だけ増加させる。
をして、ACレジスタ206−3へ転送されたセクタ・
コード・ビットを右へシフトさせ、ついでSEカウンタ
を1だけ増加させる。
マイクロ命令106は、シフトされた結果をACレジス
タ206−3にロードし、シフタ206−30を左へ2
だけシフトするようにセットし、ACUモード・フリッ
プフロップを二進1にセットし、かつ、AFレジスタ2
06−12をゼロにクリアする。
タ206−3にロードし、シフタ206−30を左へ2
だけシフトするようにセットし、ACUモード・フリッ
プフロップを二進1にセットし、かつ、AFレジスタ2
06−12をゼロにクリアする。
バイト加算器206−50の演算結果はAGレジスタ2
0618へ転送されるが、この結果はPCUC−コード
中定のビット(すなわち、第6図のC2ビット6.3,
2,1、および第11図のC2ビット2,5,6,7)
に対応する。
0618へ転送されるが、この結果はPCUC−コード
中定のビット(すなわち、第6図のC2ビット6.3,
2,1、および第11図のC2ビット2,5,6,7)
に対応する。
マイクロ命令101は、アップデートされたセクタ・ア
ドレス情報をURF202−20の作業位置UW2へ書
込む。
ドレス情報をURF202−20の作業位置UW2へ書
込む。
また、それは、AGレジスタ206−88からのPCU
ビットをAFレジスタ206−12にロードする。
ビットをAFレジスタ206−12にロードする。
マイクロ命令107はまた、転送方向を定義するC2文
字のI10ビットを含むABレジスタ206−58の状
態ビット2の試験をする。
字のI10ビットを含むABレジスタ206−58の状
態ビット2の試験をする。
このビットが二進1であることは装置からデータを読出
すべきことを表わし、制御記憶域はマイクロ命令208
へ分岐し、このマイクロ命令がACレジスタ206−3
へPCUビットを転送しかつCFOフリップフロップを
二進1状態にセットする。
すべきことを表わし、制御記憶域はマイクロ命令208
へ分岐し、このマイクロ命令がACレジスタ206−3
へPCUビットを転送しかつCFOフリップフロップを
二進1状態にセットする。
また、作業位置UW1のシーケンス・カウンタ・アドレ
ス内容が1だけ増やされ、適正なアドレス書式で作業位
置1へ書きもどされる。
ス内容が1だけ増やされ、適正なアドレス書式で作業位
置1へ書きもどされる。
I10ビットが二進ゼロにセットされているときは、制
御記憶域がマイクロ命令108を、CFOフリップフロ
ップを二進1にセットすることを除き同様な操作によっ
て実行する。
御記憶域がマイクロ命令108を、CFOフリップフロ
ップを二進1にセットすることを除き同様な操作によっ
て実行する。
そこで、制御記憶域はマイクロ命令109及び110を
読出す。
読出す。
マイクロ命令109は、シフタ206−30の内容をA
Cレジスタ206−3へ転送し、作業位置2の内容をU
Nレジスタ20254へ読出す。
Cレジスタ206−3へ転送し、作業位置2の内容をU
Nレジスタ20254へ読出す。
マイクロ命令110は、左へ2だけシフトされたPCU
コードをもつAC内容をURF202−20の作業位置
30に書込む。
コードをもつAC内容をURF202−20の作業位置
30に書込む。
また、CF4フリップフロップは二進1にセットされる
。
。
第9b図に示すように、マイクロ命令309ないし31
1に応答して上記と同様な一連の操作が行われ、その結
果、マイクロ命令110に応答してPCUコード・ビッ
トがURF202−20の作業位置3に書込まれる。
1に応答して上記と同様な一連の操作が行われ、その結
果、マイクロ命令110に応答してPCUコード・ビッ
トがURF202−20の作業位置3に書込まれる。
第80及び9b図から明らかなように、バリアント文字
のセクタ・コード・ビットの試験を完了したのち、マイ
クロ命令111で始まるファームウェアは、さきにとり
出したセクタ・コードを使ってセクタ族へインデックさ
れる。
のセクタ・コード・ビットの試験を完了したのち、マイ
クロ命令111で始まるファームウェアは、さきにとり
出したセクタ・コードを使ってセクタ族へインデックさ
れる。
マイクロ命令111は、I10表セグメント情報をもつ
作業位置UW5の内容をUSBセレクタ回路202−3
8に加える。
作業位置UW5の内容をUSBセレクタ回路202−3
8に加える。
マイクロ命令112は、さきにフェッチされたRWC表
項目を含む作業位置30の内容を読出すようにLSMを
条件づげする。
項目を含む作業位置30の内容を読出すようにLSMを
条件づげする。
マイクロ命令113はRWC表項目内容をADレジスタ
206−5へ読出させ、マイクロ命令120を実行する
ときは、シフ)206−30の内容を左へ13だけシフ
トするようにそのシフタの条件づげがされ、かつ、DN
レジスタ2011のセクタ表項目内容が冷加算器206
iのAC及びAEレジスタ206−3及び20671に
ロードされる。
206−5へ読出させ、マイクロ命令120を実行する
ときは、シフ)206−30の内容を左へ13だけシフ
トするようにそのシフタの条件づげがされ、かつ、DN
レジスタ2011のセクタ表項目内容が冷加算器206
iのAC及びAEレジスタ206−3及び20671に
ロードされる。
その後、マイクロ命令121の実行により、セクタ族の
シフトされたビットがAEレジスタ206−11にロー
ドされる。
シフトされたビットがAEレジスタ206−11にロー
ドされる。
第6図のセクタ族からフェッチされたセクタ表項目は第
7b図に示す書式をもつ。
7b図に示す書式をもつ。
この項目のタイム・スロット状態ビット0ないし5は、
SCSセレクタ回路206−55を介してバイト加算器
206−50のAAレジスタ206−52にロードされ
る。
SCSセレクタ回路206−55を介してバイト加算器
206−50のAAレジスタ206−52にロードされ
る。
さきにABレジスタ206−58に貯えられたRWC項
目のビット0ないし5に対応するタイム・スロット・マ
スク・ビットは、SDSセレクタ回路206−66を介
してABレジスタ206−58にロードされる。
目のビット0ないし5に対応するタイム・スロット・マ
スク・ビットは、SDSセレクタ回路206−66を介
してABレジスタ206−58にロードされる。
つぎに、マイクロ命令122は、バイト加算器206−
50の演算結果をAGレジスタ206−88に貯え、か
つ、フェッチされたセクタ表項目を貯えるように作業位
置31のアドレシングをするようにLSMの条件づげを
する。
50の演算結果をAGレジスタ206−88に貯え、か
つ、フェッチされたセクタ表項目を貯えるように作業位
置31のアドレシングをするようにLSMの条件づげを
する。
マイクロ命令123は、作業位置GRCの内容の読出を
するようにLSMを条件づげし、かつ、SEカウンタ2
06−16をゼロに強制する。
するようにLSMを条件づげし、かつ、SEカウンタ2
06−16をゼロに強制する。
またこのマイクロ命令は、AEレジスタ206110ビ
ット位置0の状態を試験して、指定された特定セクタが
目標システム内に存在するか否か検証する。
ット位置0の状態を試験して、指定された特定セクタが
目標システム内に存在するか否か検証する。
このビット位置は、さきにAEレジスタにロードされ左
へ13桁シフトされたセクタ表項目のビット13を貯え
ている。
へ13桁シフトされたセクタ表項目のビット13を貯え
ている。
第9b図から明らかなように、ビット13が二進1にセ
ットされているときには、制御記憶域はマイクロ命令2
24に分岐される。
ットされているときには、制御記憶域はマイクロ命令2
24に分岐される。
マイクロ命令224は、一定の定数(すなわち、PSE
I )をAGレジスタ206−88へ強制する。
I )をAGレジスタ206−88へ強制する。
この定数のコードは、PDT命令が存在しないセクタを
指定しているからその命令がその代表する目標システム
に対しては不適式である旨の表示をESPに対してする
。
指定しているからその命令がその代表する目標システム
に対しては不適式である旨の表示をESPに対してする
。
このコードは、LSMの位置GRCのSCNフィールド
に書込まれる。
に書込まれる。
また、カウンタ20616が1だげ減少し、かつ、作業
位置UW3の内容がゼロにクリアされる。
位置UW3の内容がゼロにクリアされる。
そのご、ファームウェアは命令の処理を終了し、I10
サービス・ルーチンにはいる。
サービス・ルーチンにはいる。
ビット13がセクタの存在を表わす二進ゼロであると仮
定すると、制御記憶域は、タイム・スロット・ビズイ試
験の結果を試験するマイクロ命令124へ進む。
定すると、制御記憶域は、タイム・スロット・ビズイ試
験の結果を試験するマイクロ命令124へ進む。
この試験も、RWCビズイ試験と同一態様で行われる。
すなわち、バイト加算器206−50が、セクタ表項目
からのタイム・スロット状態及びさきにフェッチされた
RWC表項目からのタイム・スロット・マスク・ビット
について論理積演算を行う。
からのタイム・スロット状態及びさきにフェッチされた
RWC表項目からのタイム・スロット・マスク・ビット
について論理積演算を行う。
マイクロ命令124は、この論理積演算の結果を試験し
、バイト加算器206−50が全ゼロ結果を算出しない
(すなわち、フリップフロップ206−75を二進1に
セットする)ときには、制御記憶域がサブ命令125へ
進む。
、バイト加算器206−50が全ゼロ結果を算出しない
(すなわち、フリップフロップ206−75を二進1に
セットする)ときには、制御記憶域がサブ命令125へ
進む。
このマイクロ命令は制御CFIフリップフロップの状態
を二進1にセットし、目標システム・プログラムからの
命令の実行にはタイム・スロットが不足している(すな
わち、タイム・スロットがビズイである)旨の表示をす
る。
を二進1にセットし、目標システム・プログラムからの
命令の実行にはタイム・スロットが不足している(すな
わち、タイム・スロットがビズイである)旨の表示をす
る。
マイクロ命令125はまた、SEカウンタ206−16
をゼロにクリアし、制御記憶域は第8a図の主ルーチン
へリターンする。
をゼロにクリアし、制御記憶域は第8a図の主ルーチン
へリターンする。
十分なタイム・スロットがあると仮定すると、制御記憶
域は、SEカウンタ206−16をゼロにセットするマ
イクロ命令225へ分岐したのち、CF1フリップフロ
ップをセットすることな(主ルーチンへリターンする。
域は、SEカウンタ206−16をゼロにセットするマ
イクロ命令225へ分岐したのち、CF1フリップフロ
ップをセットすることな(主ルーチンへリターンする。
上記の例において、毎秒16に文字の速度に対しては二
つのタイム・スロットが必要である。
つのタイム・スロットが必要である。
このことは、必要な二つの被指定タイム・スロットが利
用可能であるとしてタイム・スロット・状態フィールド
に表示されなげればならない(すなわち、このフィール
ドがこれらのタイム・スロット位置にゼロをもたなけれ
ばならない)ことを意味する。
用可能であるとしてタイム・スロット・状態フィールド
に表示されなげればならない(すなわち、このフィール
ドがこれらのタイム・スロット位置にゼロをもたなけれ
ばならない)ことを意味する。
セクタ2又は2人のタイム・スロットがビズイである旨
の表示がされると、エミュレータは命令が実行不能であ
る旨の合図をする。
の表示がされると、エミュレータは命令が実行不能であ
る旨の合図をする。
上記と同様な態様で、プログラムが要求するセクタ・ト
ラフィック限界を解除するため、タイム・スロット・マ
スクの内容を変更することができる。
ラフィック限界を解除するため、タイム・スロット・マ
スクの内容を変更することができる。
たとえば、タムス・ロット・マスクによって−i求され
たセクタ・トラフィック限界をまもることがプログラム
の適正な実行のために必要ではない旨の判断がなされた
のち、これらの限界はマスクにゼロを入れることによっ
て除かれる。
たセクタ・トラフィック限界をまもることがプログラム
の適正な実行のために必要ではない旨の判断がなされた
のち、これらの限界はマスクにゼロを入れることによっ
て除かれる。
したがって、エミュレータがセクタ表項目にアクセスし
、かつタイム・スロット・状態ビットに対して全ゼロの
論理積演算をするときに、その結果は常に利用可能なタ
イム・スロットがある旨を表示する。
、かつタイム・スロット・状態ビットに対して全ゼロの
論理積演算をするときに、その結果は常に利用可能なタ
イム・スロットがある旨を表示する。
したがって、セクタのタイム・スロット・トラフィック
限界は除去される。
限界は除去される。
さらに上記例において、第8a図から明らかなように主
ルーチンはまず制御フリップフロップ(すなわち、CF
4 )の一つの状態を試験しく第10図のマイクロ命令
106参照)、命令においてPCUが実際に定義された
か否か及びその処理を進めるべきか否かの判断をする。
ルーチンはまず制御フリップフロップ(すなわち、CF
4 )の一つの状態を試験しく第10図のマイクロ命令
106参照)、命令においてPCUが実際に定義された
か否か及びその処理を進めるべきか否かの判断をする。
すでに、「進行JCE4CF4フリップフロップ1にセ
ットされた(すなわち、第8a図においてP=1)と仮
定しているから、制御記憶域はPCU状態ルーチンには
いる。
ットされた(すなわち、第8a図においてP=1)と仮
定しているから、制御記憶域はPCU状態ルーチンには
いる。
第8a図から明らかなように、CF4フリップフロップ
が二進1にスイッチされなかった場合には、制御記憶域
は、LSMの作業位置GRCのSCNフィールドに一定
のコード(PSE3)をセットしてPCUが指定されな
かった旨の表示をする(第4図参照)マイクロ命令(た
とえば、第10図のマイクロ命令106−108)を引
用する。
が二進1にスイッチされなかった場合には、制御記憶域
は、LSMの作業位置GRCのSCNフィールドに一定
のコード(PSE3)をセットしてPCUが指定されな
かった旨の表示をする(第4図参照)マイクロ命令(た
とえば、第10図のマイクロ命令106−108)を引
用する。
そのご、エミュレータはI10サービス・ルチンを介し
てPOT命令の処理を終了する。
てPOT命令の処理を終了する。
PCU状態フェッチ・ルーチン
PCU状態フェッチ・ルーチンは、上記と同様な操作を
行わせて、その結果、特定セクタに関連したPCU表か
らPCU表項目をフェッチする。
行わせて、その結果、特定セクタに関連したPCU表か
らPCU表項目をフェッチする。
セクタ表は8項目を許容するが、与えられた目標システ
ムに対しては最大6セクタ(すなわち、セクタ1.2A
、2B、2C,2D、及び3)しか実在しない。
ムに対しては最大6セクタ(すなわち、セクタ1.2A
、2B、2C,2D、及び3)しか実在しない。
第8d図に示すように、PCU状態フェッチ・ルーチン
は、02文字から得られるPCUコードを使うPCU表
にインデックスされる。
は、02文字から得られるPCUコードを使うPCU表
にインデックスされる。
各種操作の詳細を第9d図に示す。19d図から明らか
なように、呼出しルーチン(すなわち、第10図の主ル
ーチン)は、マイクロ命令100を実行することにより
、セクタ表項目をもつ作業位置31の内容を読出すよう
にLSMを条件づげする。
なように、呼出しルーチン(すなわち、第10図の主ル
ーチン)は、マイクロ命令100を実行することにより
、セクタ表項目をもつ作業位置31の内容を読出すよう
にLSMを条件づげする。
また、このマイクロ命令は、CF4フリップフロップを
二進ゼロにスイッチする。
二進ゼロにスイッチする。
つぎに、制御記憶域はPCU状態フェッチ・ルーチンの
マイク命令100を読出し、このマイクロ命令の実行に
より、作業位置31のセクタ内容をACレジスタ206
−3へ転送する。
マイク命令100を読出し、このマイクロ命令の実行に
より、作業位置31のセクタ内容をACレジスタ206
−3へ転送する。
マイクロ命令101は、URF202−20の作業位置
UW3の内容(すなわち、4xPCUの値)をUNレジ
スタ202−54へ読出す。
UW3の内容(すなわち、4xPCUの値)をUNレジ
スタ202−54へ読出す。
マイクロ命令102は、ACレジスタ206−3の最初
の16ビツトをゼロに強制し、かつ、作業位置UW7を
アドレスしてUW3からの値を貯えるようにURF20
2−20を条件づげる。
の16ビツトをゼロに強制し、かつ、作業位置UW7を
アドレスしてUW3からの値を貯えるようにURF20
2−20を条件づげる。
また、作業位置UW5にある各種のベース+ずれ値をU
SBセレクタ202−38に加える。
SBセレクタ202−38に加える。
マイクロ命令103の実行により、ACCレジスフ20
−3に貯えられたセクタ表項目の変位置をUNレジスタ
202−54(すなわち第7b図に示すビット16から
31)へ転送する。
−3に貯えられたセクタ表項目の変位置をUNレジスタ
202−54(すなわち第7b図に示すビット16から
31)へ転送する。
このマイクロ命令はまた、バイト加算器206−50を
論理積演算をするようにセントし、かつ、AAセレクタ
回路206−54をゼロに強制(たとえば、セレクタ・
フリップフロップをリセット)スル。
論理積演算をするようにセントし、かつ、AAセレクタ
回路206−54をゼロに強制(たとえば、セレクタ・
フリップフロップをリセット)スル。
マイクロ命令104は、UBD加算器が演算したインデ
ック・アドレス和(すなわち、4XPCU升変位)をU
Aレジスク202−52にロードして、主記憶装置を記
憶制御信号UMGO8Oにしたがって前進させる。
ック・アドレス和(すなわち、4XPCU升変位)をU
Aレジスク202−52にロードして、主記憶装置を記
憶制御信号UMGO8Oにしたがって前進させる。
また、USBセレクタ回路202−38は作業位置UW
7の内容を読出すようにセントされ、シフタ206−3
0は左へ5桁シフトするようにセントされる。
7の内容を読出すようにセントされ、シフタ206−3
0は左へ5桁シフトするようにセントされる。
次に、マイクロ命令105の実行により、URF202
−20を、UBD202−50の演算によるインデック
ス値を作業位置UW7へ転送させるように条件づけする
。
−20を、UBD202−50の演算によるインデック
ス値を作業位置UW7へ転送させるように条件づけする
。
次に、セレクタ回路202−38は、読出のための作業
位置UW3のPCUコード内容を選択するようにセット
され、SCカウンタ内容はゼロへ強制される。
位置UW3のPCUコード内容を選択するようにセット
され、SCカウンタ内容はゼロへ強制される。
マイクロ命令106の実行により、LSM207−1の
LYローカル・レジスタ207−9に作業位置UW7の
インデックス内容をロードし、演算したインデックス値
を位置GR14に書込む。
LYローカル・レジスタ207−9に作業位置UW7の
インデックス内容をロードし、演算したインデックス値
を位置GR14に書込む。
このマイクロ命令はまた、SCカウンタ206−62の
ゼロ内容をSD指針レジスタ206−62のゼロ内容を
SD指針レジスタ206−60へ転送し、かつ、CF4
フリップフロップの状態を試験してこのマイクロ命令シ
ーケンスにおいてこれが第1回であるか否か判断する。
ゼロ内容をSD指針レジスタ206−62のゼロ内容を
SD指針レジスタ206−60へ転送し、かつ、CF4
フリップフロップの状態を試験してこのマイクロ命令シ
ーケンスにおいてこれが第1回であるか否か判断する。
CF4フリップフロップが二進ゼロであるから、制御記
憶域はマイクロ命命101を読出し、このマイクロ命令
の実行により、作業位置7のインデックス内容をフェッ
チし、これをACレジスタ206−3へ転送する。
憶域はマイクロ命命101を読出し、このマイクロ命令
の実行により、作業位置7のインデックス内容をフェッ
チし、これをACレジスタ206−3へ転送する。
さらに、シフタ206−30は右へ2桁シフトするよう
にセットされる。
にセットされる。
マイクロ命令108はシフトされた内容を取ったのち、
これをACレジスタ206−3に返し、同時にマイクロ
命令109はACレジスタ206−3の内容をADレジ
スタ206−5へ転送し、SD指針レジスタ206−6
0を2だけ減少させる。
これをACレジスタ206−3に返し、同時にマイクロ
命令109はACレジスタ206−3の内容をADレジ
スタ206−5へ転送し、SD指針レジスタ206−6
0を2だけ減少させる。
次に、マイクロ命令110の実行により、SDSセレク
タ回路206−62をセントし、SD指針レジスタによ
って指定された文字内容(すなわち、インデックス値の
低位バイト)をADレジスタ206−5からABレジス
タ206−58に加える。
タ回路206−62をセントし、SD指針レジスタによ
って指定された文字内容(すなわち、インデックス値の
低位バイト)をADレジスタ206−5からABレジス
タ206−58に加える。
また、LSMは位置GR2をアドレスするように条件づ
けされる。
けされる。
マイクロ命令111の実行により、ABレジスタ206
−58のPCUコード内容をAGレジスタ206−88
へ転送し、被アドレスLSM位置の内容をAFレジスタ
206−12へ転送する。
−58のPCUコード内容をAGレジスタ206−88
へ転送し、被アドレスLSM位置の内容をAFレジスタ
206−12へ転送する。
また、SEレジスタ206−16はゼロへ強制される。
マイクロ命令112はAGレジスタ206−88のPC
U内容をAFレジスタ206−12へ転送し、かつシフ
タ206−30を左へ5桁シフトするようにセットする
。
U内容をAFレジスタ206−12へ転送し、かつシフ
タ206−30を左へ5桁シフトするようにセットする
。
そのと、マイクロ命令113は、AFレジスタ206−
12のシフト済PCU内容をLSM207−1のLYロ
ーカル・レジスタ207−9に転送し、これを位置GR
2に貯える。
12のシフト済PCU内容をLSM207−1のLYロ
ーカル・レジスタ207−9に転送し、これを位置GR
2に貯える。
また、SC及びSDレジスタ206−62及び206−
60がゼロへ強制される。
60がゼロへ強制される。
これにより、PCU、IDコードを位置GR2の高位バ
イト位置へのロード(第4図参照)が完了する。
イト位置へのロード(第4図参照)が完了する。
主記憶域からフェッチされDNレジスタ201−1にロ
ードされたPCU表項目はまた、AClAD、及びAE
レジスタ206−3,206−5、及び206−11へ
、マイクロ命令114に応答してロードされる。
ードされたPCU表項目はまた、AClAD、及びAE
レジスタ206−3,206−5、及び206−11へ
、マイクロ命令114に応答してロードされる。
さらに、マイクロ命令114は、定数「3f」をAGレ
ジスタ206−88内へ強制し、かつSDレジスタ20
6−60を2だけ増加させる。
ジスタ206−88内へ強制し、かつSDレジスタ20
6−60を2だけ増加させる。
次に、マイクロ命令115は、シフタ206−30の内
容をACレジスタ2063へ転送する。
容をACレジスタ2063へ転送する。
それはまた、PCU表項目の高位バイトを、SDSセレ
クタ回路206−66経由でABレジスタ206−58
にロードする。
クタ回路206−66経由でABレジスタ206−58
にロードする。
ジッタ206−30は左へ30シフトするようにセント
され、SEレジスタ206−16はゼロにクリアされる
。
され、SEレジスタ206−16はゼロにクリアされる
。
マイクロ命令116は、バイト加算器206−50の演
算結果をAGレジスタ206−88にロードし、かつ、
シフト済の内容をACレジスタ206−3に貯える。
算結果をAGレジスタ206−88にロードし、かつ、
シフト済の内容をACレジスタ206−3に貯える。
SCレジスタの内容は回路206−63を介して1だげ
減少され、AFレジスタ206−12はクリアされる。
減少され、AFレジスタ206−12はクリアされる。
また、LSM207−1は作業位置W32の内容をアド
レスするように条件づげられる。
レスするように条件づげられる。
最後に、CF4フリップフロップの状態が試験され、そ
れが二進ゼロであるから、制御記憶域は次にマイクロ命
令117を読出す。
れが二進ゼロであるから、制御記憶域は次にマイクロ命
令117を読出す。
マイクロ命令117の実行により、AGレジスタ206
−88の内容をAFレジスタ206−12へ転送し、か
つ、SDレジスタ206−60をゼロに強制する。
−88の内容をAFレジスタ206−12へ転送し、か
つ、SDレジスタ206−60をゼロに強制する。
AEレジスタ206−11に貯えられたPCU表項目は
QB母線を介してLYレジスタ207−9にロードされ
、ついで作業位置32に書込まれる。
QB母線を介してLYレジスタ207−9にロードされ
、ついで作業位置32に書込まれる。
マイクロ命令117はまた、ACレジスタ206−3の
内容をADレジスタ206−5にロードし、かつ、その
ACレジスタ内容をゼロに対して試験する。
内容をADレジスタ206−5にロードし、かつ、その
ACレジスタ内容をゼロに対して試験する。
これは第8e図に示すようにして行われ、PCU表へイ
ンデックスするために代替(alternate )
C2−y−ドを使うべきか否か判断する。
ンデックスするために代替(alternate )
C2−y−ドを使うべきか否か判断する。
NS状態ビット5(第7c図参照)が二進1にセットさ
れている場合には、結果はゼロに等しく、制御記憶域は
マイクロ命令418へ分岐しこのマイクロ命令の実施に
・より、PCU表項目の代替C2コード・ピントを適当
に配列して、PCU表内へインデックスする。
れている場合には、結果はゼロに等しく、制御記憶域は
マイクロ命令418へ分岐しこのマイクロ命令の実施に
・より、PCU表項目の代替C2コード・ピントを適当
に配列して、PCU表内へインデックスする。
第9d図に示すように、マイクロ命令419及び420
を実行しその後、代替C2コードは上記操作の反覆によ
り表の中へインデックスするために使われる。
を実行しその後、代替C2コードは上記操作の反覆によ
り表の中へインデックスするために使われる。
ACコードがゼロに等しくなくて代替コードが指定され
ていない場合には、制御記憶域はマイクロ命令118を
フェッチする。
ていない場合には、制御記憶域はマイクロ命令118を
フェッチする。
このマイクロ命令ハ、ADレジスタ206−5の貯えら
れたPCUコード・ビットを、SDSセレクタ回路経由
でABレジスタ206−58にロードする。
れたPCUコード・ビットを、SDSセレクタ回路経由
でABレジスタ206−58にロードする。
また、作業位置UW3がゼロにクリアされる。
その後、PCU状態フェッチ・ルーチンは、第8a図の
主ルーチンへリターンする。
主ルーチンへリターンする。
マイクロ命令217ないし223は、PCU状態フェッ
チ・ルーチンを初回に通過した後に代替C2コードを処
理するときに実行され、マイクロ命令115ないし11
8が実行する操作と同様な操作を実行する。
チ・ルーチンを初回に通過した後に代替C2コードを処
理するときに実行され、マイクロ命令115ないし11
8が実行する操作と同様な操作を実行する。
すでに述べたように、代替PCUコートハ、目標システ
ムを単一レベルの同時性 (simultaneity )に制限するために使わ
れる。
ムを単一レベルの同時性 (simultaneity )に制限するために使わ
れる。
正常にラン(run )するプログラムが単一レベルの
同時性の存在を要求しない場合には、この制限は解除さ
れる。
同時性の存在を要求しない場合には、この制限は解除さ
れる。
このことは、PCU表の項目中の一定のビットのコーデ
ィングを適当に変更することにより、各PCUアドレス
がそれ自身のビズイ状態及び中断ビットをもち二つの同
時操作をサポートできるようにして実現される。
ィングを適当に変更することにより、各PCUアドレス
がそれ自身のビズイ状態及び中断ビットをもち二つの同
時操作をサポートできるようにして実現される。
たとえば、ある種の目的システムは、読取アドレスと書
込アドレスの二つのアドレスに割当てられたカード読取
器/パンチを使う。
込アドレスの二つのアドレスに割当てられたカード読取
器/パンチを使う。
しが七、両装置は共通の制御ユニットをシェアするから
、両操作を同時にすることはできない(すなわち、単一
レベルの同時性)。
、両操作を同時にすることはできない(すなわち、単一
レベルの同時性)。
この装置を利用してプログラムの適正ランを確保するあ
る種のインターロックが得られるように目標システム・
プログラムが書かれている場合には、与えられた代替P
CUコード装置は、ホスト・システムにおけるエミュレ
ータによって達成しなげればならない。
る種のインターロックが得られるように目標システム・
プログラムが書かれている場合には、与えられた代替P
CUコード装置は、ホスト・システムにおけるエミュレ
ータによって達成しなげればならない。
したがって、この場合には、PCU表項目のNSビット
5は二進1にセントされる。
5は二進1にセントされる。
これは、共通ビズイ・ビットを試験して命令が実行可能
であるか否か判断することを必要とする。
であるか否か判断することを必要とする。
目標システム・プログラムにとってこの制限を課するこ
とが重要でない場合には、これを解除することができる
。
とが重要でない場合には、これを解除することができる
。
その解除のためには、代替PCUコード(すなわち、ビ
ット1〇二15)を使う特定項目の内容を変更する。
ット1〇二15)を使う特定項目の内容を変更する。
すなわち、その項目のNSビット5を二進ゼロにセント
する。
する。
これは、すべてのビズイ状態及び中断状態ビットがいま
やその項目に対して利用可能/有効になったことを意味
する。
やその項目に対して利用可能/有効になったことを意味
する。
ESPは、操作が実行されるたびごとに、適正な項目の
ビズイ・ビット7の状態をアンプデートする。
ビズイ・ビット7の状態をアンプデートする。
したがって、エミュレータは、カード・パンチ操作とイ
ンターロックされたカード読取操作はエミュレートしな
い。
ンターロックされたカード読取操作はエミュレートしな
い。
もちろん、目標システムからみれば、項目のこの変更は
、それぞれ個別状態インジケータをもち各装置に対応す
る二つの個別制御ユニットを含めることに相当する。
、それぞれ個別状態インジケータをもち各装置に対応す
る二つの個別制御ユニットを含めることに相当する。
目標システムの他の種類の装置について加えられる同様
な制限を解除するために、同様な変更をなし得ることは
明らかである。
な制限を解除するために、同様な変更をなし得ることは
明らかである。
第10図から明らかなように、上記試験ののち、主ルー
チンは、位置GRCの内容及びABレジスタ206−5
8に貯えられたコードの十六進法値にもとづいてrNJ
通り分岐をする分岐試験回路の内容を読出すようにLS
M207−1の条件づげをするマイクロ命令の実行をす
る。
チンは、位置GRCの内容及びABレジスタ206−5
8に貯えられたコードの十六進法値にもとづいてrNJ
通り分岐をする分岐試験回路の内容を読出すようにLS
M207−1の条件づげをするマイクロ命令の実行をす
る。
すなわち、ABレジスタ206−58のビット2ないし
5を使い、制御記憶域分岐試験論理回路の条件づげをし
て、PDT命令の処理を完遂するためrNJ個のマイク
ロ命令の一つを選択する。
5を使い、制御記憶域分岐試験論理回路の条件づげをし
て、PDT命令の処理を完遂するためrNJ個のマイク
ロ命令の一つを選択する。
第8a図から明らかなように、装置の形式に応じて、作
業位置GRCのSCNフィールドに特定コードを貯えさ
せるマイクロ命令が実行される(第4図参照)。
業位置GRCのSCNフィールドに特定コードを貯えさ
せるマイクロ命令が実行される(第4図参照)。
第10図から同様にして明らかなように、装置が存在し
ない(すなわち、ゼロの十六進法値をもつ)場合には、
コードrPSE2J(すなわち、11111010)を
AGレジスタ206−88に強制送入してPDTIJ″
−PCUを指定しなかった旨の表示をするマイクロ命令
2200を実行する。
ない(すなわち、ゼロの十六進法値をもつ)場合には、
コードrPSE2J(すなわち、11111010)を
AGレジスタ206−88に強制送入してPDTIJ″
−PCUを指定しなかった旨の表示をするマイクロ命令
2200を実行する。
その後、エミュレータは、第8b図のI10サービス・
ルーチンを介してESPを呼出す。
ルーチンを介してESPを呼出す。
十六進法コードaないしfが特殊ケース・ユニットを表
示するように指定されている場合には、第10図に示し
たマイクロ命令であって、制御フリソプフロッゾCF−
1ないしCF−3の状態表示をAGレジスタ206−8
8に貯えてLSM207−1の位置GRC(すなわち、
11000.STI。
示するように指定されている場合には、第10図に示し
たマイクロ命令であって、制御フリソプフロッゾCF−
1ないしCF−3の状態表示をAGレジスタ206−8
8に貯えてLSM207−1の位置GRC(すなわち、
11000.STI。
Sr1,5T3)に書込むマイクロ命令が実行される。
一例として、PCUがマス記憶装置であると仮定すると
、第10図のマイクロ命令2205が実行され、これが
コード9B(M)をAGレジスタ216−88にセット
する。
、第10図のマイクロ命令2205が実行され、これが
コード9B(M)をAGレジスタ216−88にセット
する。
また、CF5フリップフロップが二進1にセットされ、
SFレジスタ206−16が1だけ減少する。
SFレジスタ206−16が1だけ減少する。
主ルーチンのマイクロ命令100及び101が次に実行
され、これらがコード済AGレジスタの内容をAFレジ
スタ206−12へ転送し、かつ、その内容をLSMの
SCNコード・フィールド位置GRCに書込む(第4図
参照)。
され、これらがコード済AGレジスタの内容をAFレジ
スタ206−12へ転送し、かつ、その内容をLSMの
SCNコード・フィールド位置GRCに書込む(第4図
参照)。
次に、主ルーチンは、第8f図の制御ユニット・ビズイ
試験ルーチンにはいる。
試験ルーチンにはいる。
制御ユニット・ビズイ試験ルーチン
制御ユニット・ビズイ試験ルーチンは、PCU表項目の
ビズイ状態ビット7の状態を試験する(第7c図参)も
ので、第8f及び9e図に開示される。
ビズイ状態ビット7の状態を試験する(第7c図参)も
ので、第8f及び9e図に開示される。
第9e図において、マイクロ命令100の実行により、
位置32からPCU表項目内容が読出されるようにLS
Mを条件づげする。
位置32からPCU表項目内容が読出されるようにLS
Mを条件づげする。
マイクロ命令101の実行により、位置32の内容をQ
A母線経由でACレジスタ206−3へ転送し、かつ、
シフタ206−30を左へ6桁シフタするように条件づ
げする。
A母線経由でACレジスタ206−3へ転送し、かつ、
シフタ206−30を左へ6桁シフタするように条件づ
げする。
マイクロ命令102の実行により、シフタの内容をAC
レジスタ206−3にロードする。
レジスタ206−3にロードする。
マイクロ命令103及び104をマイクロ命令105と
共に実行することにより、ACレジスタ206−3のビ
ット位置1の状態にもとづ(分岐を実行する。
共に実行することにより、ACレジスタ206−3のビ
ット位置1の状態にもとづ(分岐を実行する。
このビット位置は、PCU表項目のビット1を貯える。
ビット7が二進1にセントされているときは、装置制御
ユニットがビズイであることが表示され、制御記憶域は
マイクロ命令205へ分岐する。
ユニットがビズイであることが表示され、制御記憶域は
マイクロ命令205へ分岐する。
このマイクロ命令は、CF2フリップフロップを二進1
にセットし、ついで制御記憶域を主ルーチンへリターン
させる。
にセットし、ついで制御記憶域を主ルーチンへリターン
させる。
装置制御ユニットがビズイでない(すなわち、ピノ)
7=O)のときは、制御記憶域はマイクロ命令105を
引用したのち主ルーチンへリターンする。
7=O)のときは、制御記憶域はマイクロ命令105を
引用したのち主ルーチンへリターンする。
装置PCUがビズイでないと仮定すると、第8a及び1
0図から明らかなように、エミュレータは、第8g図の
フェッチ後続バリアント・ルーチンにはいる。
0図から明らかなように、エミュレータは、第8g図の
フェッチ後続バリアント・ルーチンにはいる。
上記のようにこのルーチンは、シーケンス・カウンタ位
置に貯えられたアドレスを使って被処理I10命令の後
続部分をフェッチする。
置に貯えられたアドレスを使って被処理I10命令の後
続部分をフェッチする。
それはまた、第8g図に示すように語マークに対する試
験をする。
験をする。
語マークに出合わない場合には、シーケンス・カウンタ
及び非処理パリアン1文字数のカウントが増やされ、バ
リアント文字を位置GR5に貯えたのち主ルーチンはリ
ターンする。
及び非処理パリアン1文字数のカウントが増やされ、バ
リアント文字を位置GR5に貯えたのち主ルーチンはリ
ターンする。
第9c図を参照して上記操作を詳細に検討するに、マイ
クロ命令100−105は、上記態様でPDT命令の後
続部分をフェッチする。
クロ命令100−105は、上記態様でPDT命令の後
続部分をフェッチする。
マイクロ命令106の実行により、バリアント文字をL
SM207−1の位置34に貯え、ABレジスタ206
−58からの後続文字(たとえば、C3文字)をAGレ
ジスタ206−88にロードする。
SM207−1の位置34に貯え、ABレジスタ206
−58からの後続文字(たとえば、C3文字)をAGレ
ジスタ206−88にロードする。
次のサイクル中に、AIレジスタ206−20及びAB
レジスタ206−58のビット位置6(すなわち、PD
TのOPコード)及びビット位置1(語マーク・ビット
)をマイクロ命令101によって試験し、語マークの存
否を判断する。
レジスタ206−58のビット位置6(すなわち、PD
TのOPコード)及びビット位置1(語マーク・ビット
)をマイクロ命令101によって試験し、語マークの存
否を判断する。
両ビットが二進1である場合には、制御記憶はマイクロ
命令408に分岐する。
命令408に分岐する。
このマイクロ命令の実行により、一定のコード(すなわ
ち、11111101)をrPsE5Jと呼ばれるAG
レジスタ206−88にロードし、命令が不十分なC3
バリアント文字列(すなわち、この種類の装置に要求さ
れる03文字の欠如)をもつことを表示する。
ち、11111101)をrPsE5Jと呼ばれるAG
レジスタ206−88にロードし、命令が不十分なC3
バリアント文字列(すなわち、この種類の装置に要求さ
れる03文字の欠如)をもつことを表示する。
また、LSM位置34の内容が読出され、QA母線を介
してAFレジスタ206−12にロードされ、SFレジ
スタ206−16が1だけ減少する。
してAFレジスタ206−12にロードされ、SFレジ
スタ206−16が1だけ減少する。
制御記憶域が第10図の主ルーチンへリターンしたのち
、マイクロ命令107及び108を実行し、その後I1
0サービス・ルーチンを実行する。
、マイクロ命令107及び108を実行し、その後I1
0サービス・ルーチンを実行する。
これにより、AGレジスタ206−88に貯えられたコ
ードがSFSセレクタ回路206−14を介してAFレ
ジスタ206−12にロードされ、ついでLSM207
−1の位置GRCに書込まれる。
ードがSFSセレクタ回路206−14を介してAFレ
ジスタ206−12にロードされ、ついでLSM207
−1の位置GRCに書込まれる。
語マークがない場合には、制御記憶域はマイクロ命令2
08を実行することにより、CF7フリップフロップを
二進1に強制し、シーケンス・カシフタのカウントを1
だけ増やし、その増やした値をURF202−20の位
置UWIヘリターンする。
08を実行することにより、CF7フリップフロップを
二進1に強制し、シーケンス・カシフタのカウントを1
だけ増やし、その増やした値をURF202−20の位
置UWIヘリターンする。
第1回目のシーケンス通過のときには、マイクロ命令1
01が制御記憶域をマイクロ命令209ヘシーケンスさ
せる(すなわち、さきに二進lにセットされたCF7フ
リツプフロツプを考慮しない)。
01が制御記憶域をマイクロ命令209ヘシーケンスさ
せる(すなわち、さきに二進lにセットされたCF7フ
リツプフロツプを考慮しない)。
このマイクロ命令の実行により、AFレジスタ206−
12がゼロにクリアされ、作業位置UW3が有するカウ
ント値が増やされるマイクロ命令20A及び210の実
行により、C3バリアント文字がSFSセレクタ回路2
06−14を介゛してAFレジスタ206−12にロー
ドされ、C3文字がLSMの位置33に書込まれる。
12がゼロにクリアされ、作業位置UW3が有するカウ
ント値が増やされるマイクロ命令20A及び210の実
行により、C3バリアント文字がSFSセレクタ回路2
06−14を介゛してAFレジスタ206−12にロー
ドされ、C3文字がLSMの位置33に書込まれる。
また、この操作サイクル中にEXカウンタ206−12
の内容が1だけ減少し、制御記憶域は主ルーチンへリタ
ーンする。
の内容が1だけ減少し、制御記憶域は主ルーチンへリタ
ーンする。
第8a及び10図から明らかなように、C3バリアント
文字は特定値(すなわち、数値4)に対して試験され、
命令が実際のデータ転送を要求しているか否かの判断、
又は主記憶域のアドレス・レジスタがデータ転送命令に
よって指定されたAアドレスをもつおり(第7d図参照
)実際の■10転送を要求しないようなロード又はスト
ア・アドレス・レジスタ操作を指定しているか否かの判
断をする。
文字は特定値(すなわち、数値4)に対して試験され、
命令が実際のデータ転送を要求しているか否かの判断、
又は主記憶域のアドレス・レジスタがデータ転送命令に
よって指定されたAアドレスをもつおり(第7d図参照
)実際の■10転送を要求しないようなロード又はスト
ア・アドレス・レジスタ操作を指定しているか否かの判
断をする。
目標システムにおいては、アドレス・レジスタが主記憶
域に位置しておらず制御ユニットに位置しているから、
このようなアドレス情報の転送には命令が必要である。
域に位置しておらず制御ユニットに位置しているから、
このようなアドレス情報の転送には命令が必要である。
03文字はコード4をもたず、あらかじめロードされた
装置及びマガジン情報を含むアドレス・レジスタの内容
は第7d図に示すような情報を含むPCU延長表からフ
ェッチされるものと仮定する。
装置及びマガジン情報を含むアドレス・レジスタの内容
は第7d図に示すような情報を含むPCU延長表からフ
ェッチされるものと仮定する。
上記操作をさらに詳細に検討する。
第10図から明らかなように、マイクロ命令103ない
し108はASレジスタ206−57を介してバイト加
算器回路206−50を条件づげし、二進減算を実行さ
せて、C3文字が数値「04」をもつか否か判断する。
し108はASレジスタ206−57を介してバイト加
算器回路206−50を条件づげし、二進減算を実行さ
せて、C3文字が数値「04」をもつか否か判断する。
またこのマイクロ命令は、冷加算器を二進減算をするよ
うに条件づげし、LSMの位置32からフェッチされた
PCU表からアドレスを誘導するようにするが、これは
第6図のマス記憶PcU延長表の第3語位置からマガジ
ン及ヒ装置コード・アドレスを7エツチするのに使われ
たものである。
うに条件づげし、LSMの位置32からフェッチされた
PCU表からアドレスを誘導するようにするが、これは
第6図のマス記憶PcU延長表の第3語位置からマガジ
ン及ヒ装置コード・アドレスを7エツチするのに使われ
たものである。
この表の詳細を第7d図に示す。マイクロ命令108の
実行により、バイト加算器の減算結果を試験し、それが
ゼロである(すなわちC3=04)ときには、制御記憶
域はマイクロ命令2100へ分岐する。
実行により、バイト加算器の減算結果を試験し、それが
ゼロである(すなわちC3=04)ときには、制御記憶
域はマイクロ命令2100へ分岐する。
この例では、それがゼロでないと仮定し、制御記憶域は
マイクロ命令109を実行することにより、PCU表ア
ドレスをUNレジスタ202−54へ転送し、SCレジ
スタ206−62をゼロに強制する。
マイクロ命令109を実行することにより、PCU表ア
ドレスをUNレジスタ202−54へ転送し、SCレジ
スタ206−62をゼロに強制する。
マイクロ命令110は、USD加算器202−50をし
て、作業位置Uw5に貯えられたベース値をUNレジス
タ202−54の内容に加算する。
て、作業位置Uw5に貯えられたベース値をUNレジス
タ202−54の内容に加算する。
その結果をUAレジスタ202−52にロードし、かつ
、主記憶域へ送る。
、主記憶域へ送る。
また、SDレジスタ202−60をゼロにクリアする。
マイクロ命令111の実行により、冷加算器206−1
に論理積演算を行わせ、SCレジスタ206−62に2
だけの増分を与える。
に論理積演算を行わせ、SCレジスタ206−62に2
だけの増分を与える。
マイクロ命令112はシフタな左へ13桁シフトするよ
うに条件づげし、マイクロ命令113の実行により、主
記憶域からフェッチしたPCU延長表項目なAD及びA
Cレジスタ206−5及び206−3にロードし、さら
に定数「07」をAGレジスタ206−88へ強制送入
する。
うに条件づげし、マイクロ命令113の実行により、主
記憶域からフェッチしたPCU延長表項目なAD及びA
Cレジスタ206−5及び206−3にロードし、さら
に定数「07」をAGレジスタ206−88へ強制送入
する。
マイクロ命令114がACレジスタ206−3のビット
位置16−31をゼロにクリアしたのち、マイクロ命令
11.5の実行により、装置コードをもつバイトをSD
Sセレクタ回路206−66経由でABレジスタ206
−58へロードする。
位置16−31をゼロにクリアしたのち、マイクロ命令
11.5の実行により、装置コードをもつバイトをSD
Sセレクタ回路206−66経由でABレジスタ206
−58へロードする。
それはまた、シフタ206−30を右へ10桁シフトす
るように条件づげし、かつシフトされた内容をACレジ
スタ206−3にロードする。
るように条件づげし、かつシフトされた内容をACレジ
スタ206−3にロードする。
マイクロ命令116の実行により、バイト加算器回路2
06−50の演算結果(すなわち、000DDD)をA
Bレジスタ206−58にロードし、シフトされた内容
をACレジスタ206−3にロードし、バイト加算器2
06−50を論理和演算をするように条件づげし、SD
レジスタ206−60の内容に増分2を加える。
06−50の演算結果(すなわち、000DDD)をA
Bレジスタ206−58にロードし、シフトされた内容
をACレジスタ206−3にロードし、バイト加算器2
06−50を論理和演算をするように条件づげし、SD
レジスタ206−60の内容に増分2を加える。
マイクロ命令117の実行により、SCレジスタ206
−162が指定するバイトを、SCSセレクタ回路20
6−65経由でACレジスタ206−3からAAレジス
タ206−52にロードする。
−162が指定するバイトを、SCSセレクタ回路20
6−65経由でACレジスタ206−3からAAレジス
タ206−52にロードする。
またこのとき、ACレジスタ206−3のシフト済内容
がQA母線経由でADレジスタ2o6−sにロードされ
、セレクタ・フリップフロップは二進1にセットされる
。
がQA母線経由でADレジスタ2o6−sにロードされ
、セレクタ・フリップフロップは二進1にセットされる
。
加算器回路20&−50がAB及びAAレジスタ206
−58及び206−52の内容について行った論理和演
算の結果(すなわち、MMMDDD)がAGレジスタ2
06−88にロードされる。
−58及び206−52の内容について行った論理和演
算の結果(すなわち、MMMDDD)がAGレジスタ2
06−88にロードされる。
また、バイト加算器206−50は論理積演算をするよ
うに条件づげされ、AFレジスタ206−12はゼロに
クリアされ、セレクタフリップフロップは二進ゼロ状態
にリセットされる。
うに条件づげされ、AFレジスタ206−12はゼロに
クリアされ、セレクタフリップフロップは二進ゼロ状態
にリセットされる。
これによって、主ルーチンのこの部分が完了し、次に制
御記憶域は第81図のマガジン試験ルーチンにはいる。
御記憶域は第81図のマガジン試験ルーチンにはいる。
マガジン試験ルーチン
第9e図に詳細に示すこのルーチンは、適正な装置コー
ドの発生のために使われる。
ドの発生のために使われる。
第9h図を参照するに、マイクロ命令100の実行によ
り、AGレジスタ206−88の内容がAFレジスタ2
06−12にロードされ、ADレジスタ206−5の内
容がABレジスタ206−58にロードされる。
り、AGレジスタ206−88の内容がAFレジスタ2
06−12にロードされ、ADレジスタ206−5の内
容がABレジスタ206−58にロードされる。
また、マイクロ命令100は、定数38をAGレジスタ
206−88に強制送入する。
206−88に強制送入する。
マイクロ命令101の実行により、バイト加算器回路2
06−50の演算結果をAGレジスタ206−88ヘリ
ターンし、シフタ206−30を左へ二度シフトするよ
うにセットする。
06−50の演算結果をAGレジスタ206−88ヘリ
ターンし、シフタ206−30を左へ二度シフトするよ
うにセットする。
またそれは、AFレジスタ206−12の内容をACレ
ジスタ206−3にロードし、AFレジスタ206−1
1をゼロにクリアする。
ジスタ206−3にロードし、AFレジスタ206−1
1をゼロにクリアする。
マイクロ命令102の実行により、シフト済装置コード
・ビットをACレジスタ206−3にロードし、LSM
207−1が位置36をアドレスするように条件づげを
し、AFレジスタ206−12からのマス記憶装置コー
ドをその中に書込む(第4図参照)。
・ビットをACレジスタ206−3にロードし、LSM
207−1が位置36をアドレスするように条件づげを
し、AFレジスタ206−12からのマス記憶装置コー
ドをその中に書込む(第4図参照)。
マイクロ命令103の実行により、QA母線を介してA
Cレジスタ206−3の内容なADレジスタ206−5
にロードし、LSM207−1が位置GRCをアドレス
するように条件づげする。
Cレジスタ206−3の内容なADレジスタ206−5
にロードし、LSM207−1が位置GRCをアドレス
するように条件づげする。
またそれは、SFレジスタ206−16をゼロに強制し
、かつ、制御記憶域回路をして、バイト加算器206−
50の演算結果(すなわち、フリップフロップ206−
75の状態)に応じて分岐を実行させるように条件づげ
する。
、かつ、制御記憶域回路をして、バイト加算器206−
50の演算結果(すなわち、フリップフロップ206−
75の状態)に応じて分岐を実行させるように条件づげ
する。
バイト加算器の演算結果がゼロでないときは、制御記憶
域はマイクロ命令200へ分岐し、このマイクロ命令は
、LSMの位置GRCに書込まれるべき一定のコード(
すなわち、PSE4が指定した 「11111100J)をAGレジスタ206−88に
強制送入するように作用する(第4図参照)。
域はマイクロ命令200へ分岐し、このマイクロ命令は
、LSMの位置GRCに書込まれるべき一定のコード(
すなわち、PSE4が指定した 「11111100J)をAGレジスタ206−88に
強制送入するように作用する(第4図参照)。
また、SEレジスタ206−16は1だげ減少する。
PSE4コードは、マス記憶装置に対する不適式なマガ
ジン・コードの使用を表わす。
ジン・コードの使用を表わす。
しかし、実際にその位置に書込まれる前に、CF5フリ
ップフロップの状態がマイクロ命令200によって試験
される。
ップフロップの状態がマイクロ命令200によって試験
される。
このフリップフロップは二進1にセットされている(第
8a図参照)から、制御記憶域はマイクロ命令104へ
分岐し、第9h図に示す主ルーチンへリターンする。
8a図参照)から、制御記憶域はマイクロ命令104へ
分岐し、第9h図に示す主ルーチンへリターンする。
CF5フリップフロップが二進1にセットされていない
ときは、制御記憶域はマイクロ命令201へ分岐し、こ
れにより、AGレジスタ206−88に貯えられたPS
E4コードがAFレジスタ206−14へ転送される。
ときは、制御記憶域はマイクロ命令201へ分岐し、こ
れにより、AGレジスタ206−88に貯えられたPS
E4コードがAFレジスタ206−14へ転送される。
制御記憶域は第10図のマイクロ命令108を実行する
ことにより、PSE4コードを位置GRCに書込む。
ことにより、PSE4コードを位置GRCに書込む。
そのと、ファームウェアは、サービス呼出ルーチンへ進
む。
む。
このマス記憶装置コードは適式であると仮定しているか
ら、そのと、主ルーチンは第10図のマイクロ命令11
9を実行したのち第8f図の装置状態フェッチ・ルーチ
ンにはいる。
ら、そのと、主ルーチンは第10図のマイクロ命令11
9を実行したのち第8f図の装置状態フェッチ・ルーチ
ンにはいる。
装置状態フェッチ・ルーチン
第8j図に示すように、このルーチンは、LSM207
−1の位置W32に貯えられたPCU表項目から得られ
る被指定装置コードと変位値とに基いて装置表へのイン
デックスをするために使われる。
−1の位置W32に貯えられたPCU表項目から得られ
る被指定装置コードと変位値とに基いて装置表へのイン
デックスをするために使われる。
このルーチンの詳細を第9f図に示す。
同図を参照するに、マイクロ命令100の実行により、
位置W32のPCU内容(第7C図参照)がQA母線を
介してACレジスタ206−3にロードされ、ADレジ
スタ206−5からの被指定装置コードを語用算器20
6−1に加える。
位置W32のPCU内容(第7C図参照)がQA母線を
介してACレジスタ206−3にロードされ、ADレジ
スタ206−5からの被指定装置コードを語用算器20
6−1に加える。
マイクロ命令101の実行により、ACレジスタ206
−3の下位16ビツトをクリアし、マイクロ命令102
は加算器206−1の演算結果をACレジスタ206−
3にロードする。
−3の下位16ビツトをクリアし、マイクロ命令102
は加算器206−1の演算結果をACレジスタ206−
3にロードする。
マイクロ命令103は、それが実行されたときに、AC
レジスタ206−3の内容なUNレジスタ202−54
及びLYレジスタ207−9にロードする。
レジスタ206−3の内容なUNレジスタ202−54
及びLYレジスタ207−9にロードする。
さらに、装置プラス変位インデックス値内容がLSM2
07−1の位置GR15に書込まれる(第4図参照)。
07−1の位置GR15に書込まれる(第4図参照)。
マイクロ命令104は、それが実行されたときに、作業
位置UW5のベース値内容をUSBセレクタ回路202
−38に加え、加算器回路202−50が算定したイン
デックス値に加算する。
位置UW5のベース値内容をUSBセレクタ回路202
−38に加え、加算器回路202−50が算定したイン
デックス値に加算する。
また、その結果はUAレジスタ202−52にロードさ
れ、信号UMGO8Oを二進1に強制することにより主
記憶域サイクルが開始される。
れ、信号UMGO8Oを二進1に強制することにより主
記憶域サイクルが開始される。
マイクロ命令106は、シフタ206−30が左へ7桁
シフトするように条件づげをし、マイクロ命令107は
、それが実行されたときに、第6図の装置表からフェッ
チした項目をACレジスタ206−3及びADレジスタ
206−5にロードする。
シフトするように条件づげをし、マイクロ命令107は
、それが実行されたときに、第6図の装置表からフェッ
チした項目をACレジスタ206−3及びADレジスタ
206−5にロードする。
また、このサイクル中に、装置表項目がLSM207−
1の位置W37に書込まれる。
1の位置W37に書込まれる。
装置状態フェッチ・ルーチンはそのご主ルーチンへリタ
ーンする。
ーンする。
第8a及び10図から明らかなように、制御記憶域カマ
イクロ命令103は実行することにより、一定の定数(
80)がAGレジスタ206−88へ強制送入され、シ
フタ206−30の内容をACレジスタ206−3にロ
ードし、ADレジスタ206−5からの状態ビット(第
7f図参照)をSDSセレクタ回路206−66経由で
ABレジスタ206−58にロードする。
イクロ命令103は実行することにより、一定の定数(
80)がAGレジスタ206−88へ強制送入され、シ
フタ206−30の内容をACレジスタ206−3にロ
ードし、ADレジスタ206−5からの状態ビット(第
7f図参照)をSDSセレクタ回路206−66経由で
ABレジスタ206−58にロードする。
ついで、エミュレータは、第8h図の装置トラップ及び
状態ルーチンにはいる。
状態ルーチンにはいる。
装置トラップ及び状態試験ルーチン
このルーチンは、被指定装置がビズイであるか否かの判
断をするための試験をし、このルーチンが実行する操作
の詳細は第9g図に示される。
断をするための試験をし、このルーチンが実行する操作
の詳細は第9g図に示される。
同図において、マイクロ命令100を実行することによ
り、バイト加算器206−50の演算結果をACレジス
タ206−88にロードし、マイクロ命令101は、L
SM207−1の位置GRCをアドレスさせるとともに
、SEレジスタ206−16をゼロに強制する。
り、バイト加算器206−50の演算結果をACレジス
タ206−88にロードし、マイクロ命令101は、L
SM207−1の位置GRCをアドレスさせるとともに
、SEレジスタ206−16をゼロに強制する。
また、マイクロ命令101は分岐試験回路を条件づげし
て、ACレジスタ206−3のビット位置0の状態を試
験する。
て、ACレジスタ206−3のビット位置0の状態を試
験する。
これは、装置項目のビット7の状態を試験するが、この
ビットは、この装置ヘアドレスされた命令がESPのそ
の後の処理のために「トラップ」されることか要求され
ない限り、常時二進0である。
ビットは、この装置ヘアドレスされた命令がESPのそ
の後の処理のために「トラップ」されることか要求され
ない限り、常時二進0である。
このビットが二進1であるときは、制御記憶域はマイク
ロ命令202へ分岐し、このマイクロ命令の実行により
、一定のコード(すなわち、DTと名付げられる110
01000)がAGレジスタ206−88に強制送入さ
れ、位置GRCの内容がAFレジスタ206−12へ転
送され、SEレジスタ206−16が1だけ減少する。
ロ命令202へ分岐し、このマイクロ命令の実行により
、一定のコード(すなわち、DTと名付げられる110
01000)がAGレジスタ206−88に強制送入さ
れ、位置GRCの内容がAFレジスタ206−12へ転
送され、SEレジスタ206−16が1だけ減少する。
ファームウェアは第10図の主ルーチンへリターンし、
ここで、AFレジスタ206−12の内容を位置GRC
に書込むマイクロ命令101を実行する。
ここで、AFレジスタ206−12の内容を位置GRC
に書込むマイクロ命令101を実行する。
装置トラップ・ビット1がゼロであると仮定すると、制
御記憶域はマイクロ命令102の実行により、CF’6
フリツプフロソプを二進ゼロへ強制し、分岐試験回路を
条件づげして、バイト加算器回路206−50の演算結
果を回路206−75経由で試験する。
御記憶域はマイクロ命令102の実行により、CF’6
フリツプフロソプを二進ゼロへ強制し、分岐試験回路を
条件づげして、バイト加算器回路206−50の演算結
果を回路206−75経由で試験する。
すなわち、装置項目のビットロないし1(第1f図参照
)を、AGレジスタ206−88に貯えられた定数80
でマスクすることにより、ビズイ・ビットであるピント
0の状態を試験する。
)を、AGレジスタ206−88に貯えられた定数80
でマスクすることにより、ビズイ・ビットであるピント
0の状態を試験する。
バイト加算器回路206−50が、これらのピント(す
なわち、あらかじめ条件づげされた)について論理積演
算を行い、その結果がゼロであることは装置がビズイで
ない旨の表示である。
なわち、あらかじめ条件づげされた)について論理積演
算を行い、その結果がゼロであることは装置がビズイで
ない旨の表示である。
それがビズイでないときは、制御記憶域はマイクロ命令
203へ分岐し、第10図の主ルーチンへ後後する。
203へ分岐し、第10図の主ルーチンへ後後する。
装置がビズイであるときは、制御記憶域は、CF3及び
CF6フリツプフロソプを二進1に強制するマイクロ命
令103を実行したのち、主ルーチンへリターンする。
CF6フリツプフロソプを二進1に強制するマイクロ命
令103を実行したのち、主ルーチンへリターンする。
第10図から明らかなように、制御記憶域は、マイクロ
命令104及び105の実行をすることにより、LSM
207−1を条件づげして位置GRCの内容をAGレジ
スタ206−12に読出し、SEレジスタ206−16
を1だけ減少させ、かつ、AGレジスタ206−88に
定数をロードする。
命令104及び105の実行をすることにより、LSM
207−1を条件づげして位置GRCの内容をAGレジ
スタ206−12に読出し、SEレジスタ206−16
を1だけ減少させ、かつ、AGレジスタ206−88に
定数をロードする。
マイクロ命令105はまた、分岐試験回路をして、CF
I−37リツプフロツプの状態を試験させる。
I−37リツプフロツプの状態を試験させる。
これらのフリップフロップがすべて二進ゼロであるとき
は、I10命令が実行可能である旨が示されているので
あり、制御記憶域はマイクロ命令206に分岐し、I1
0サービ呼出ルーチヘ直接にリターンする。
は、I10命令が実行可能である旨が示されているので
あり、制御記憶域はマイクロ命令206に分岐し、I1
0サービ呼出ルーチヘ直接にリターンする。
これらのフリップフロップのいずれか一つがゼロでない
ときは、ファームラエアはマイクロ命令106及び10
7の実行により、AGレジスタ206−88の内容及び
CFI−3フリツプフロツプの状態表示ピントをLSM
209−1を位置GRCのSCNフィールド部分におけ
る一定のビット位置ヘロートスる(第4図参照)。
ときは、ファームラエアはマイクロ命令106及び10
7の実行により、AGレジスタ206−88の内容及び
CFI−3フリツプフロツプの状態表示ピントをLSM
209−1を位置GRCのSCNフィールド部分におけ
る一定のビット位置ヘロートスる(第4図参照)。
第4図に示すように、CFI−CF3フリップフロップ
の状態表示はSCNフィールドのビート5−7に記憶さ
れる。
の状態表示はSCNフィールドのビート5−7に記憶さ
れる。
エミュレータがRWCBと呼ばれるビット5を二進1に
セットすると、これはESPに対してRWCがビズイで
ある旨の合図となる。
セットすると、これはESPに対してRWCがビズイで
ある旨の合図となる。
PCURと呼ばれるビット6が二進1にセットされたと
き、これはESPに対するPCUがビズイである旨の合
図又は制御I10命令の場合には中断間合せ(1nte
rrupt(luer3’ )に対する積極的応答の存
在の合図になる。
き、これはESPに対するPCUがビズイである旨の合
図又は制御I10命令の場合には中断間合せ(1nte
rrupt(luer3’ )に対する積極的応答の存
在の合図になる。
最後に、I)EVRと呼ばれるビット7が二進1にセッ
トされたときは、ESPに対する、装置がビズイである
旨の合図又は制御I10命令の場合には装置関連間合せ
に対する積極的応答の存在の合図になる。
トされたときは、ESPに対する、装置がビズイである
旨の合図又は制御I10命令の場合には装置関連間合せ
に対する積極的応答の存在の合図になる。
I10サービス呼出ルーチン
ファームウェアがI10命令の処理を完了すると同時に
、それは第8d図のI10サービス・ルーチンにはいる
。
、それは第8d図のI10サービス・ルーチンにはいる
。
このルーチンの使用により、PDT命令の残りのバリア
ント制御文字をフェッチし、かつ、適正な情報をLSM
207−1の対応位置にロードする。
ント制御文字をフェッチし、かつ、適正な情報をLSM
207−1の対応位置にロードする。
第8d図に示すように、このルーチンは、上記態様で残
りのバリアント文字をフェッチしそれをLSM207〜
1の適正位置ヘロードする機をもつフェッチ後続バリア
ント・ルーチン(第4図参照)ヘリターンする。
りのバリアント文字をフェッチしそれをLSM207〜
1の適正位置ヘロードする機をもつフェッチ後続バリア
ント・ルーチン(第4図参照)ヘリターンする。
ファームウェアが、すべてのバリアント文字が目標シス
テム主記憶装置からフェッチされきった旨の合図である
語マークを検出したときには、残りのマイクロ命令の実
行により、処理されたPDT命令の関連部分を第4及び
8d図にさきに示したLSMの諸位置にロードする。
テム主記憶装置からフェッチされきった旨の合図である
語マークを検出したときには、残りのマイクロ命令の実
行により、処理されたPDT命令の関連部分を第4及び
8d図にさきに示したLSMの諸位置にロードする。
これにより、PDT命令の処理が完了し、ファームウェ
アは、一定位置から始まる制御記憶域アクセス・マイク
ロ命令を有するESPに対して合図する。
アは、一定位置から始まる制御記憶域アクセス・マイク
ロ命令を有するESPに対して合図する。
これらのマイクロ命令は、それらが実行されたときに、
システムをエミュレーション・モードにしたところの命
令ニ続(固有(native 冶金をフェッチする。
システムをエミュレーション・モードにしたところの命
令ニ続(固有(native 冶金をフェッチする。
またこのとき、そのモードに関連したフリップフロップ
がリセツトされる。
がリセツトされる。
ファームウェアを、目標システムの命令実行中でないと
きにシステムが使つ制御記憶域部分ヘリターンさせるこ
とにより、これらの操作に関連した装置の活動化及び不
活動化に要する操作の実行の必要性を除去できる。
きにシステムが使つ制御記憶域部分ヘリターンさせるこ
とにより、これらの操作に関連した装置の活動化及び不
活動化に要する操作の実行の必要性を除去できる。
周辺制御及び分岐命令
一例として、次にフェッチされた命令が同一目標システ
ム・ノログラムからのものであるとする。
ム・ノログラムからのものであるとする。
通常、この命令は、データ転送操作の完了時の検出に使
われる周辺制御及び分岐(PCB)命令という形式のも
のである。
われる周辺制御及び分岐(PCB)命令という形式のも
のである。
現在の例では、ESPは上記のように完了したPDT命
令を発したと仮定しているから、PDT命令が要求する
リソースは使用すなわち「ビズイ」である。
令を発したと仮定しているから、PDT命令が要求する
リソースは使用すなわち「ビズイ」である。
ここでESPは、PDTが指定する諸操作の完了を試験
し被割当リソースの利用可能化をするPCB命令をフェ
ッチする。
し被割当リソースの利用可能化をするPCB命令をフェ
ッチする。
PCB命令は、第6及び11図に示した書式のすべてを
とることができる。
とることができる。
したがって、PDT命令と異なり、PCB命令は単一制
御バリアント文字(すなわち、01文字)のみを含む書
式をとり得る。
御バリアント文字(すなわち、01文字)のみを含む書
式をとり得る。
この例では、PCB命令が上記書式をもつと仮定する。
簡単に言って、PCB命令は目標システムにおいて各種
の操作を開始させることができるのであって、その操作
には、厳密に機械的周辺装置操作を含む非データ伝送操
作、試験及び分岐操作、モード変更操作、及び周辺中断
操作が含まれる。
の操作を開始させることができるのであって、その操作
には、厳密に機械的周辺装置操作を含む非データ伝送操
作、試験及び分岐操作、モード変更操作、及び周辺中断
操作が含まれる。
試験及び分岐操作は、PCU及び/又は読出/書込チャ
ンネルの状態を試験する。
ンネルの状態を試験する。
被試験条件(たとえば、PCU/RWCがビズイ)が存
在するときは、PCB命令のAアドレスが指定する位置
へのプログラム分岐が命令に対してなされる。
在するときは、PCB命令のAアドレスが指定する位置
へのプログラム分岐が命令に対してなされる。
C1制御文字が、状態試験なすべき読出/書込チャンネ
ル又はチャンネル群を指定する。
ル又はチャンネル群を指定する。
RWC試験が要求されていないときは、CI文字はすべ
てゼロをもつようにコード化される。
てゼロをもつようにコード化される。
C2文字が存在するときは、この文字は試験すべきPC
Uのアドレスを指定し、それはPDT命令に対すると同
様にコード化される。
Uのアドレスを指定し、それはPDT命令に対すると同
様にコード化される。
C3−Cn文字が存在するときは、これらの文字は制御
及び試験操作を指定する。
及び試験操作を指定する。
PCB命令の使用に関する詳しく情報については、上記
プログラミング・マニュアルを参照されたい。
プログラミング・マニュアルを参照されたい。
PCB命令が、被処理中のPCB命令のAアドレスと同
一のAアドレスをもつと仮定する。
一のAアドレスをもつと仮定する。
したがって、PCB命令が目標システムにおいて被指定
状態の試験のために使われた場合において、試験結果が
積極的でありかつ目標システムによって再度実行された
ときは、それは自分自身へ分岐する。
状態の試験のために使われた場合において、試験結果が
積極的でありかつ目標システムによって再度実行された
ときは、それは自分自身へ分岐する。
PCB命令の反覆実行がなされるのは、後続命令がフェ
ッチされる(たとえば、リソースを要する)前に目標シ
ステムが特定処理の完了を要求するときである。
ッチされる(たとえば、リソースを要する)前に目標シ
ステムが特定処理の完了を要求するときである。
これに反して、本発明による構成は、ホスト・システム
が同一命令の反覆実施のエミュレートすることを阻止す
る。
が同一命令の反覆実施のエミュレートすることを阻止す
る。
これにより、システム・リソースを他の処理に対して利
用可能にする。
用可能にする。
このことを達成するため、試験結果が積極的であるとき
は、エミュレータのファームウェアをして、被指定試験
完了後に、アドレス検査を行わせる。
は、エミュレータのファームウェアをして、被指定試験
完了後に、アドレス検査を行わせる。
それは、命令が分岐すべき先のアドレスを検査し、これ
を命令自体に含まれるアドレスと比較スる。
を命令自体に含まれるアドレスと比較スる。
これらのアドレスが同一であるときは、命令が自己に対
して分岐している旨の合図をし、エミュレータのファー
ムウェアはESPに対して一定の呼出をし、ホスト・シ
ステムを他のタスクの実行に対して解除する。
して分岐している旨の合図をし、エミュレータのファー
ムウェアはESPに対して一定の呼出をし、ホスト・シ
ステムを他のタスクの実行に対して解除する。
PCBが行った試験の結果が命令は自己に対して分岐し
てい旨を表示しているときは、エミュレータのファーム
ウェアが所要の関連情報を貯えかつ後続命令をフェッチ
するための正しいアドレスを与える。
てい旨を表示しているときは、エミュレータのファーム
ウェアが所要の関連情報を貯えかつ後続命令をフェッチ
するための正しいアドレスを与える。
同様にして、試験結果カ消極的であるときは、エミュレ
ータI)7アームウエアはPCB命令に続く命令を7エ
ツチするようにリターンする。
ータI)7アームウエアはPCB命令に続く命令を7エ
ツチするようにリターンする。
PCB命令の処理中にエミュレータが行う操作を第12
a及び12b図に示す。
a及び12b図に示す。
説明を簡単にするため、pCB命令はRWCビズイ試験
を指定し、したがって01文字のみをもつと仮定する。
を指定し、したがって01文字のみをもつと仮定する。
第12a図に示すように、PCB命令は、PDT命令と
同じ態様で抽出され初期処理される。
同じ態様で抽出され初期処理される。
次に、エミュレータはRWCコードを試験してその値が
ゼロか77かを判断する。
ゼロか77かを判断する。
これらの試験は、PDT命令のRWCコードの初期試験
のようなものと考えられる。
のようなものと考えられる。
たとえば、EVCレジスタ06−82に貯えられたCI
文字が、PCB命令の抽出後に、AC,AA、及びEW
レジスタ206−3.206−52、及び206−84
にロードされる。
文字が、PCB命令の抽出後に、AC,AA、及びEW
レジスタ206−3.206−52、及び206−84
にロードされる。
その後、分岐試験回路がEWレジスタ及びACレジスタ
の内容を、それぞれ数値778及びOOに対して試験す
る。
の内容を、それぞれ数値778及びOOに対して試験す
る。
内容の値がゼロであるときは、PCB命令が、C2文字
によって指定されるPCUについて試験をすべき旨(す
なわち、RWCがビズイでない旨)が示される。
によって指定されるPCUについて試験をすべき旨(す
なわち、RWCがビズイでない旨)が示される。
この場合には、エミュレータのファームウェアは、第8
b図のRWC試験ルーチンを除外してセクタ・試験ルー
チン及び被指定試験完了のための他のルーチンに進むよ
うに要求される。
b図のRWC試験ルーチンを除外してセクタ・試験ルー
チン及び被指定試験完了のための他のルーチンに進むよ
うに要求される。
RWCコードの値が778であるときにも、エミュレー
タのファームウェアはセクタ・試験ルーチンへ直接進む
が、まずCIフリップフロップを二進1にセントするマ
イクロ命令を実行する。
タのファームウェアはセクタ・試験ルーチンへ直接進む
が、まずCIフリップフロップを二進1にセントするマ
イクロ命令を実行する。
これにより、ESPに対してRWCビズイの合図をする
。
。
RWCコードがゼロ又は778の値をもたないときは、
エミュレータのファームウェアは第8b図のRWC試験
ルーチンにはいる。
エミュレータのファームウェアは第8b図のRWC試験
ルーチンにはいる。
このルーチンは、P D T 命令に関してファームウ
ェアが実行すべき上記操作を行う。
ェアが実行すべき上記操作を行う。
このとき、第6図のRWC表からフェッチされたセクタ
・ビットが、RWC項目から、位置指示セクタ・コード
に貯えられる。
・ビットが、RWC項目から、位置指示セクタ・コード
に貯えられる。
PD’l’命令に関して説明したように、この値は、特
定書式に従って、C2又はCE制御文字内に含まれる値
に応じて変化する。
定書式に従って、C2又はCE制御文字内に含まれる値
に応じて変化する。
しかし、この例では、被処理PCB命令が01制御文字
のみを有するので、この値は不変である。
のみを有するので、この値は不変である。
第12a図に示すように、エミュレータは次いで第8c
図に示すセクタ試験ルーチンにはいる。
図に示すセクタ試験ルーチンにはいる。
同図を参照するに、このPCB命令の書式は一つのC1
文字のみを有するから、次に7エツチされる文字は語マ
ークである。
文字のみを有するから、次に7エツチされる文字は語マ
ークである。
したがって、語マーク試験は積極的になり、被指定位置
に貯えられたセクタ・コードの値はセクタ・コード表へ
のインデックスのために使われる(すなわち、セクタと
RWCとの間に一定の関係がある。
に貯えられたセクタ・コードの値はセクタ・コード表へ
のインデックスのために使われる(すなわち、セクタと
RWCとの間に一定の関係がある。
)セクタ表項目をフェッチしたのち、PDT命令につい
て行われたと同一の操作が行われる。
て行われたと同一の操作が行われる。
第8c図から明らかなように、この命令は一つのC1文
字しかもたないから、エミュレータはPビット(すなわ
ち、CF4フリップフロップ)を二進1にセントしない
。
字しかもたないから、エミュレータはPビット(すなわ
ち、CF4フリップフロップ)を二進1にセントしない
。
セクタ試験完了ののち、エミュレータは、マイクロ命令
によってCF4フリップフロップ(すなわち、Pビット
)の状態を試験したうえで、主ル−チンへリターンする
。
によってCF4フリップフロップ(すなわち、Pビット
)の状態を試験したうえで、主ル−チンへリターンする
。
それが二進ゼロであるから、エミュレータは第12b図
の完成ルーチンへ分岐する。
の完成ルーチンへ分岐する。
第12b図を参照するに、このルーチンは、フリップフ
ロップCF1−CF3をゼロに対して試験する。
ロップCF1−CF3をゼロに対して試験する。
これらのフリップフロップがすべてゼロであるときは、
それはデータ転送が完了したことを意味する。
それはデータ転送が完了したことを意味する。
エミュレータは、次の命令の抽出を開始する。
したがって、エミュレータが、第6図のI10表に含ま
れる情報を使って、リソースの利用可能性の判断につい
て完全な試験をすることができることは明らかである。
れる情報を使って、リソースの利用可能性の判断につい
て完全な試験をすることができることは明らかである。
リソースが利用可能であってデータ転送操が完了してい
る旨の判断がされると、エミュレータは後続命令の抽出
を開始する。
る旨の判断がされると、エミュレータは後続命令の抽出
を開始する。
この場合RWCである被指定リソースがビズイであると
きは、フリップフロップCF1−CF’3の一つが二進
1にセットされる←すなわち、CF2フリツプフ□ツブ
)。
きは、フリップフロップCF1−CF’3の一つが二進
1にセットされる←すなわち、CF2フリツプフ□ツブ
)。
このことは、エミュレータが、位置GR2に貯えられ実
行中のPCB命令のAアドレスを表わすシーケンス・ア
ドレス内容と位置GR7に貯えられたPCB命令におけ
る被指定Aアドレスとの比較をするマイクロ命令の実行
をすることによって行われる。
行中のPCB命令のAアドレスを表わすシーケンス・ア
ドレス内容と位置GR7に貯えられたPCB命令におけ
る被指定Aアドレスとの比較をするマイクロ命令の実行
をすることによって行われる。
この試験は、PCB命令が自己へ分岐する必要の有無を
判断する。
判断する。
両アドレスが等しい場合には、エミュレータは、Lと呼
ばれる一定のコード及びフリップフロップCF1ないし
CF3の状態を位置GRCのSCNコード・フィールド
に貯える(第4図)。
ばれる一定のコード及びフリップフロップCF1ないし
CF3の状態を位置GRCのSCNコード・フィールド
に貯える(第4図)。
これは、ESPに対して、特定I10操作が完了するま
で同−PCB命令が繰返される旨の合図をする。
で同−PCB命令が繰返される旨の合図をする。
このとき、ホスト・システムは、利用可能な時間を他の
プログラム処理のために使う。
プログラム処理のために使う。
両アドレスが等しくないときは、エミュレータは、LS
Mのシーケンス・カウンタ位置におけるアドレス内容を
LSM207−1のBC位置にロードし、かつ、Aカウ
ンタ位置のアドレス内容をLSMのシーケンス・カウン
タ位置にロードする。
Mのシーケンス・カウンタ位置におけるアドレス内容を
LSM207−1のBC位置にロードし、かつ、Aカウ
ンタ位置のアドレス内容をLSMのシーケンス・カウン
タ位置にロードする。
これにより、分岐操作が行われる。
つぎに、IFUlol−3は、第12b図に示すように
、分岐アドレスが指定する命令をフェッチする。
、分岐アドレスが指定する命令をフェッチする。
以上の説明から明らかなように、本発明による構成は、
各種システム条件を指定する各種I10命令中の任意数
の命令を迅速に処理することができる。
各種システム条件を指定する各種I10命令中の任意数
の命令を迅速に処理することができる。
さらに、本発明によるエミュレーション・システムは、
処理過程の最もはやい時点において、目標システムのI
10命令が有効に実行できるか否かを迅速に判断する。
処理過程の最もはやい時点において、目標システムのI
10命令が有効に実行できるか否かを迅速に判断する。
そうでないと判断されたときには、ただちにESPを呼
出し、その命令が有効でないと判断された理由を示す状
態情報ヘリターンするI10命令が実行可能であると判
断された場合においては、エミュレータは、エミュレー
タのソフトウェアであるESPがホスト・システム中の
利用可能な諸機能を使ってI10命令の処理に必要な諸
操作を迅速に行えるような情報を提供する。
出し、その命令が有効でないと判断された理由を示す状
態情報ヘリターンするI10命令が実行可能であると判
断された場合においては、エミュレータは、エミュレー
タのソフトウェアであるESPがホスト・システム中の
利用可能な諸機能を使ってI10命令の処理に必要な諸
操作を迅速に行えるような情報を提供する。
以上のほか、本発明によるエミュレーション装置は、多
数の表に含まれる情報を使い、目標システム・プログラ
ムの入出力制御命令の各種のものを完全に実施すること
ができる。
数の表に含まれる情報を使い、目標システム・プログラ
ムの入出力制御命令の各種のものを完全に実施すること
ができる。
また、本発明によるエミュレーション装置は、制御命令
の継続的実行がシステム処理時間の損失を招く場合には
その旨の合図をする。
の継続的実行がシステム処理時間の損失を招く場合には
その旨の合図をする。
これにより、ホスト・システム全体の性能を向上させる
ことができる。
ことができる。
さらに、本発明によれば、目標システムの命令の処理中
に引用される諸表に含まれる各種項目のコード化を適当
にすることにより、目標システム・プログラムによって
加えられるある種のインターロック及び制限を緩和させ
ることができる。
に引用される諸表に含まれる各種項目のコード化を適当
にすることにより、目標システム・プログラムによって
加えられるある種のインターロック及び制限を緩和させ
ることができる。
こうして、本発明によるエミュレーション装置は、適正
な命令実行のために目標システムに存在する一部の制限
の影響を受けるような目標システム・プログラムを、一
層効率よく実行することができる。
な命令実行のために目標システムに存在する一部の制限
の影響を受けるような目標システム・プログラムを、一
層効率よく実行することができる。
この構成により、システム・オーバヘッドを大幅に低減
することができる。
することができる。
当業者には、このほかの利点も明らかである。
当業者の技準水準を考慮したうえで説明の繁雑化を避け
るため、ブロック図によって本発明を説明した。
るため、ブロック図によって本発明を説明した。
フリップフロップ回路、シフト・レジスタなどのエレメ
ント及び部品は、上記刊行物の記載その他当業者の技術
水準によって任意に選択できるものである。
ント及び部品は、上記刊行物の記載その他当業者の技術
水準によって任意に選択できるものである。
個個のマイクロ命令に対する抽出コード・パターンにつ
いては説しなかったが、当業者は各種コーディグ形式か
ら適当なものを任意に選択できる。
いては説しなかったが、当業者は各種コーディグ形式か
ら適当なものを任意に選択できる。
この目的のためのコーディングの詳細については、19
70年版権のプレンティス・ホール社出版のニス・ニス
・ハツソン著「マイクロプログラミングの原理と実際」
と題する書籍を参照されたい。
70年版権のプレンティス・ホール社出版のニス・ニス
・ハツソン著「マイクロプログラミングの原理と実際」
と題する書籍を参照されたい。
上記説明に用いた用語について、次に簡単に補足する。
用語の説明
絶対アドレス:主記憶装置におけるノ・−ドウエアバイ
トの物理的アドレス アドレス・デベロップメントニ多数のアドレス・エレメ
ントに操作を加え、主記憶装置における位置の引用に使
われる絶対アドレスを計算するハードウェア機能 アドレシング:多数の仮想、論理、及び物理的手段のう
ちのいずれかにより対象を位置決めすること アドレス・スペース:あるフロセスに対応して区分され
た論理アドレスのセットであって、そのプロセスの実行
中にCPUが絶対アドレスに変換することを許容される
もの アドレス・スペース語:セグメント表 語配列を指示する一つのプロセス制御ブロックにおける
二つの語のうちの一つ。
トの物理的アドレス アドレス・デベロップメントニ多数のアドレス・エレメ
ントに操作を加え、主記憶装置における位置の引用に使
われる絶対アドレスを計算するハードウェア機能 アドレシング:多数の仮想、論理、及び物理的手段のう
ちのいずれかにより対象を位置決めすること アドレス・スペース:あるフロセスに対応して区分され
た論理アドレスのセットであって、そのプロセスの実行
中にCPUが絶対アドレスに変換することを許容される
もの アドレス・スペース語:セグメント表 語配列を指示する一つのプロセス制御ブロックにおける
二つの語のうちの一つ。
セグメント表語配列は、そのプロセスに関連したセグメ
ント表を定義する。
ント表を定義する。
アドレス−シラブル: CPUハードウェアによって認
識された論理アドレスであって、通常は命令の被演算子
である。
識された論理アドレスであって、通常は命令の被演算子
である。
ベース・レジスタ:セグメント・アドレシングにおける
一次エレメント−であって、各アドレス・シラブルにお
ける番号によって引用される。
一次エレメント−であって、各アドレス・シラブルにお
ける番号によって引用される。
境界アドレス・レジスタ:ソフトウェアにアクセスでき
る最低メモリ・アドレスを定義する可視ハードウェア・
レジスタ CPU(中央プロセッサ・ユニット):命令の通訳及び
遂行を制御する回路を含む計算機の一部分 チヤンネル:プロセッサ・サツシステムと周辺サブシス
テムとの間の通信手段。
る最低メモリ・アドレスを定義する可視ハードウェア・
レジスタ CPU(中央プロセッサ・ユニット):命令の通訳及び
遂行を制御する回路を含む計算機の一部分 チヤンネル:プロセッサ・サツシステムと周辺サブシス
テムとの間の通信手段。
物理的チャンネルと論理チャンネルとの二つがある。
物理的チャンネルはIOCとCPUとの間のノh−ドウ
エア接続である。
エア接続である。
論理チャンネルは、主記憶装置ト単−周辺装置との間の
ソフトウェア通信経路である。
ソフトウェア通信経路である。
チャンネル・コマン)l(CCE):
チャンネル・プログラムにおける命令
チャンネル・コマンド語:CCEのエレメントm=つの
チャンネル・コマンド語が一つのCCEを構成する。
チャンネル・コマンド語が一つのCCEを構成する。
チャンネル・プログラム二周辺装置によって遂行される
べき特定のI10操作を行わせる命令の列 互換性フィーチャ(CF):フォラ(foe)・エミュ
レーションを与えるためホス) (host )システ
ムに含まれるロードウェア/ファームウェア 実効アドレス:セグメント表番号、セグメント表の項目
(entry ) 、及びセグメント相対アドレスから
なる論理アドレスであり、物理的アドレスに対する語。
べき特定のI10操作を行わせる命令の列 互換性フィーチャ(CF):フォラ(foe)・エミュ
レーションを与えるためホス) (host )システ
ムに含まれるロードウェア/ファームウェア 実効アドレス:セグメント表番号、セグメント表の項目
(entry ) 、及びセグメント相対アドレスから
なる論理アドレスであり、物理的アドレスに対する語。
これらのエレメントは、引用されているセグメントを最
終的に指示する特定セグメント・デスクリプタに至る道
を示す。
終的に指示する特定セグメント・デスクリプタに至る道
を示す。
エミュレータ・サポート・パッケージ(ESP):エミ
ュレーションを与えるために必要なソフトウェア装置。
ュレーションを与えるために必要なソフトウェア装置。
ESPは、互換性フィーチャ(CF)とサポート制御プ
ログラム(SCP)との間のインターフェイスである。
ログラム(SCP)との間のインターフェイスである。
エミュレータ:ハードウェア/ファームウェア/ソフト
ウェアの組合せ。
ウェアの組合せ。
エミュレータは、(1)互換性フィーチャ(CF)
(2) エミュレーション・サポート・パンケージ、
及び (3)周辺変換パッケージ を含む。
及び (3)周辺変換パッケージ を含む。
ファームウエア二制御記憶域などのハードウェア・ユニ
ットであって、マイクロプログラムを記憶し、かつ、マ
イクロプログラムされた制御の一形式を形成する。
ットであって、マイクロプログラムを記憶し、かつ、マ
イクロプログラムされた制御の一形式を形成する。
ゼネラル・レジスタ:プロセスの遂行に使われる32ビ
ツト・レジスタであって、一般に2進又はビット列デー
タを保持する。
ツト・レジスタであって、一般に2進又はビット列デー
タを保持する。
ある種のゼネラル・レジスタはインデクシングに使われ
る。
る。
インデックス:このシステムによって維持され操作され
るデータ構造体。
るデータ構造体。
使用者にとってこの構造体が可視となるのは、使用者が
利用可能とするため又は位置決めのため特定のレコード
発生に対して示すキーとしてだけである。
利用可能とするため又は位置決めのため特定のレコード
発生に対して示すキーとしてだけである。
インデクシング:符号付きの算術値によるアドレスの修
正 インデックス(変位)値:インデックス(変位)値とは
、情報項目をアドレスするためにベース・レジスタに対
して引用される被計算アドレス値(通常は互換性フィー
チャによって計算されインデックス・レジスタに格納さ
れる)である。
正 インデックス(変位)値:インデックス(変位)値とは
、情報項目をアドレスするためにベース・レジスタに対
して引用される被計算アドレス値(通常は互換性フィー
チャによって計算されインデックス・レジスタに格納さ
れる)である。
インデックス・レジスタ:インデクシングのために使わ
れるゼネラル・レジスタである。
れるゼネラル・レジスタである。
インテグレーテッド・エミュレーション:シミュレータ
がこのシステム内に一体的に組込まれ、オペレーティン
グ・システムのもとで可能なかぎりシステム使用者ジョ
ブとしての外見をとり作動をする。
がこのシステム内に一体的に組込まれ、オペレーティン
グ・システムのもとで可能なかぎりシステム使用者ジョ
ブとしての外見をとり作動をする。
インターリーブ:メモリ・アクセス時間を短縮するため
にメモリ・モジュールに順次アクセスすること I10コントローラ:特定のI10サブシステムに対す
る基本的制御を与えるユニット I10プロセス:主として周辺記憶装置又はI10装置
と主記憶装置との間のデータの移動を取扱う同期可能な
システム・プロセス 論理チャンネル二チャンネルの項を見よ 主記憶装置:そこからの命令遂行ができるか又はそこか
らレジスタへ直接にデータをロードすることができるア
ドレス可能なすべての記憶装置磁気テープ・コントロー
ラ:磁気テープ装置を制御し、かつ操作する周辺サブシ
ステムのエレメント(周辺プロセッサ/制御ユニット参
照)マス記憶コントローラ:マス記憶装置を制御し、か
つ操作する周辺サブシステムのエレメント(周辺プロセ
ッサ/制御ユニット参照) 記憶管理:物理的記憶装置の割当て、再割当て、及びデ
ィスアロケーションに対する操作システム装置 マイクロプログラム:プロセッサの制御機能を実践する
ために使われるマシン・コードのセットマルチプレック
ス:時分割によることを通常とする記憶装置などのバー
ド・リソースをシェアすること オフセット:アドレスーデベロツフメントにおいて、セ
グメントの被アドレス部が始まるそのセグメント始点の
あとのバイト数 オペレーティング・システム:使用者ソフトウェアの効
果的サポートをするように設計されたベーシック・ソフ
トウェアのシステム 周辺プロセッサ/制御ユニット二チャンネルプログラム
を遂行しI10操作を行うところのマイクロプログラム
された孤立プロセッサ 周辺変換パッケージ:ESPとホスト周辺サブシステム
・ハードウェア/ファームウェア・サポート装置とによ
って遂行される入出力変換アルゴリズム 周辺サブシステム・インターフェイス:フリースタンデ
ィングの周辺制御ユニットとI10制御ユニットとの間
における伝送と制御に使われる標準的インターフェイス 物理的チャンネル:チャンネルの項を見よ物理的データ
構造体:媒体に物理的に記録された状態におけるデータ
編成の完全な定義 物理的I10:記憶装置と周辺又は端末装置との間のデ
ータ転送を開始させかつ制御するところのオペレーティ
ング・シースチの一部分 物理的記憶領域:データを貯えるために使われるハード
ウェア。
にメモリ・モジュールに順次アクセスすること I10コントローラ:特定のI10サブシステムに対す
る基本的制御を与えるユニット I10プロセス:主として周辺記憶装置又はI10装置
と主記憶装置との間のデータの移動を取扱う同期可能な
システム・プロセス 論理チャンネル二チャンネルの項を見よ 主記憶装置:そこからの命令遂行ができるか又はそこか
らレジスタへ直接にデータをロードすることができるア
ドレス可能なすべての記憶装置磁気テープ・コントロー
ラ:磁気テープ装置を制御し、かつ操作する周辺サブシ
ステムのエレメント(周辺プロセッサ/制御ユニット参
照)マス記憶コントローラ:マス記憶装置を制御し、か
つ操作する周辺サブシステムのエレメント(周辺プロセ
ッサ/制御ユニット参照) 記憶管理:物理的記憶装置の割当て、再割当て、及びデ
ィスアロケーションに対する操作システム装置 マイクロプログラム:プロセッサの制御機能を実践する
ために使われるマシン・コードのセットマルチプレック
ス:時分割によることを通常とする記憶装置などのバー
ド・リソースをシェアすること オフセット:アドレスーデベロツフメントにおいて、セ
グメントの被アドレス部が始まるそのセグメント始点の
あとのバイト数 オペレーティング・システム:使用者ソフトウェアの効
果的サポートをするように設計されたベーシック・ソフ
トウェアのシステム 周辺プロセッサ/制御ユニット二チャンネルプログラム
を遂行しI10操作を行うところのマイクロプログラム
された孤立プロセッサ 周辺変換パッケージ:ESPとホスト周辺サブシステム
・ハードウェア/ファームウェア・サポート装置とによ
って遂行される入出力変換アルゴリズム 周辺サブシステム・インターフェイス:フリースタンデ
ィングの周辺制御ユニットとI10制御ユニットとの間
における伝送と制御に使われる標準的インターフェイス 物理的チャンネル:チャンネルの項を見よ物理的データ
構造体:媒体に物理的に記録された状態におけるデータ
編成の完全な定義 物理的I10:記憶装置と周辺又は端末装置との間のデ
ータ転送を開始させかつ制御するところのオペレーティ
ング・シースチの一部分 物理的記憶領域:データを貯えるために使われるハード
ウェア。
各種の記録媒体及び記録/読出し用ハードウェアから1
よる。
よる。
プロセス制御ブロック:任意の与えられた時刻における
プロセスの状態を指定するに必要な情報を含むデータ構
造体(バードウニで定義され、認識できるもの) プロセッサ:ストアト・プログラムに応答してデータを
受取り、これに操作を加え、結果を出し、その演算順序
を制御することができる機能。
プロセスの状態を指定するに必要な情報を含むデータ構
造体(バードウニで定義され、認識できるもの) プロセッサ:ストアト・プログラムに応答してデータを
受取り、これに操作を加え、結果を出し、その演算順序
を制御することができる機能。
中央プロセッサをたんにプロツセと呼ぶことがあり、ま
た、中央プロセッサ、周辺プロセッサ、ハードウェア/
ソフトウェア・プロセッサに対する総称(generi
c )として使われる。
た、中央プロセッサ、周辺プロセッサ、ハードウェア/
ソフトウェア・プロセッサに対する総称(generi
c )として使われる。
プログラム:問題を解くに必要な手続き及び関連情報の
仕様 プログラムの遂行ニブログラム仕様にしたがってするプ
ロセスの活動 相対アドレス:ある対象の他の対象に対する増加分/減
少分位置 リング:あるセグメントに対するプロセスの読出し、書
込み、及びアクセスの遂行を匍飯するところのセグメン
トの保護属性 セグメント:連続した主記憶装置の領域であってユニッ
トとして取扱われるもの セグメント化:主記憶装置を、単一の線形記憶領域では
なくセグメントと呼ばれる論理的グループに分けること セグメント・ベース:セグメントの今の原点。
仕様 プログラムの遂行ニブログラム仕様にしたがってするプ
ロセスの活動 相対アドレス:ある対象の他の対象に対する増加分/減
少分位置 リング:あるセグメントに対するプロセスの読出し、書
込み、及びアクセスの遂行を匍飯するところのセグメン
トの保護属性 セグメント:連続した主記憶装置の領域であってユニッ
トとして取扱われるもの セグメント化:主記憶装置を、単一の線形記憶領域では
なくセグメントと呼ばれる論理的グループに分けること セグメント・ベース:セグメントの今の原点。
これは、セグメント・デスクリプタ語のフイールドの一
つである セグメント・デスクリプタ:セグメントの特性を定義す
るか又はセグメント・デスクリプタな指示するところの
セグメント表の項目 セグメント化したアドレス:実効アドレスの項を見よ。
つである セグメント・デスクリプタ:セグメントの特性を定義す
るか又はセグメント・デスクリプタな指示するところの
セグメント表の項目 セグメント化したアドレス:実効アドレスの項を見よ。
セグメント番号:%定のセグメントの標識であって、セ
グメント表の 番号(プロセスの各種セグメント
表及 一つを選ぶ)のセびその選ばれた表
グメント表項目からなる。
グメント表の 番号(プロセスの各種セグメント
表及 一つを選ぶ)のセびその選ばれた表
グメント表項目からなる。
スタンド・アロン(互換性)・モード:非インテグレー
テッド形式のエミュレーションであって、これによれば
、ホスト環境が、エミュレートされた目標システムとし
て排他的に機能する。
テッド形式のエミュレーションであって、これによれば
、ホスト環境が、エミュレートされた目標システムとし
て排他的に機能する。
システム・スケジューラ(5cheduler )は仮
定されず、一つのシステムから他のシステムへ切換える
には、再初期化が必要とされる。
定されず、一つのシステムから他のシステムへ切換える
には、再初期化が必要とされる。
サポート制御プログラム:ESPが、特殊システム・モ
ジュールとともにプロセス・グループとして動作するよ
うに設計されていることを含むプログラム 以上図示説明した好ましい実施例について、本発明の技
術的範囲を離れることなく各種変更を加え得ることは当
業者には明らかである。
ジュールとともにプロセス・グループとして動作するよ
うに設計されていることを含むプログラム 以上図示説明した好ましい実施例について、本発明の技
術的範囲を離れることなく各種変更を加え得ることは当
業者には明らかである。
第1図は本発明による装置のブロック図:第1aないし
10図は上記ブロック図の各部の説明図;第2aないし
20図は各ユニットの説明図;第3図はロー力記憶装置
の説明図;第4及び5図は書式の説明図;第6図はI1
0表の説明図:第7aないし7h図は書式の説明図;第
8aないし8j図、第9aないし9h図、第10及び1
1図、ならびに第12a及び12b図はフロー・チャー
トである。 100−1・・・・・・中央処理ユニット、100−2
・・・・・・入出力コントローラ、100−3・・・・
・・周辺サブミ′ステム、100−4・・・・・・主記
憶装置サブシステム、1oo−s・・・・・・記憶装置
インタフェイス・ジブシステム、101−1・・・・・
・データ管理・ユニット、101−2・・・・・・アド
レ制御ユニット、101−3・・・・・・命令フェッチ
・ユニット、101−4・・・・・・制御記憶インター
フェイス・アダプタ、101−5・・・・・・制御記憶
ユニット、101−6・・・・・・算術・論理ユニット
、101−7・・・・・・ローカル記憶ユニット、10
2−1・・・・・・記憶管理ユニット、102−2・・
・・・・サービス・コード・ユニ7)、103−1・・
・・・・主記憶シーケンサ、103−2・・・・・・緩
衝記憶装置、103−3・・・・・・緩衝記憶名簿、1
04−1ないし104−4・・・・・・記憶モジール、
105−1及び105−2・・・・・・周辺プロセッサ
装置。
10図は上記ブロック図の各部の説明図;第2aないし
20図は各ユニットの説明図;第3図はロー力記憶装置
の説明図;第4及び5図は書式の説明図;第6図はI1
0表の説明図:第7aないし7h図は書式の説明図;第
8aないし8j図、第9aないし9h図、第10及び1
1図、ならびに第12a及び12b図はフロー・チャー
トである。 100−1・・・・・・中央処理ユニット、100−2
・・・・・・入出力コントローラ、100−3・・・・
・・周辺サブミ′ステム、100−4・・・・・・主記
憶装置サブシステム、1oo−s・・・・・・記憶装置
インタフェイス・ジブシステム、101−1・・・・・
・データ管理・ユニット、101−2・・・・・・アド
レ制御ユニット、101−3・・・・・・命令フェッチ
・ユニット、101−4・・・・・・制御記憶インター
フェイス・アダプタ、101−5・・・・・・制御記憶
ユニット、101−6・・・・・・算術・論理ユニット
、101−7・・・・・・ローカル記憶ユニット、10
2−1・・・・・・記憶管理ユニット、102−2・・
・・・・サービス・コード・ユニ7)、103−1・・
・・・・主記憶シーケンサ、103−2・・・・・・緩
衝記憶装置、103−3・・・・・・緩衝記憶名簿、1
04−1ないし104−4・・・・・・記憶モジール、
105−1及び105−2・・・・・・周辺プロセッサ
装置。
Claims (1)
- 【特許請求の範囲】 1 複数の書式のうちの任意の一つにコード化された複
数の命令を含む目標システム・プログラムの命令を処理
しかつ実行するホスト・データ処理システムにおいて、
該ホスト・システムは、固有モード及びエミュレーショ
ン・モードの両方において動作する装置を含み、かつ げ)複数の部分を有する第1記憶装置であって、各部分
は複数のアドレス可能な記憶位置を含み、上記複数部分
の内の第1部分は上記目標システム・プログラムを貯え
るように配置し、上記目標システム・プログラムはOP
コード文字と及び複数の制御文字をもつ少なくとも一つ
の入出力命令を含み、上記複数の部分の内の第2部分は
複数の表を貯え、上記各表は所定数のピットを夫々有す
る多数のエントリを含み、該多数のエントリハ多数の異
なったクラスの内の一つのクラスの目標システム資源の
数に対応する数の複数のエントリであり、上記目標シス
テム資源は、上記ホスト、システムに存在しておらずか
つ入出力命令を実行するように通常動作する多数の目標
システムの任意の一つに含まれるプログラム可能な編成
の資源の異なった構成を指定する上記入出力命令を実行
するために要求されること、 (ロ)上記第1記憶装置に結合され、上記入出力命令の
実行時にその命令の上記制御文字内の所定の文字を記憶
する複数の記憶レジスタと、?−) 上記複数のレジ
スタに結合された算術及び論理装置と、 に)複数のマイクロプログラム・シーケンスを含む制御
記憶装置であって、各マイクロプログラム・シーケンス
は複数のマイクロ命令を含み、該マイクロ命令は、上記
ホスト・システムが上記命令を実行するため上記目標シ
ステムの一つのシステムの動作をエミュレートスる上記
エミュレーション・モードにおいて動作するように条件
づげられているとき、デコードされて上記第1記憶装置
と、上記複数のレジスターと、及び上記算術及び論理装
置の間における情報バイトの伝送の制御をする制御信号
を発生すること、及び(ホ)上記算術及び論理装置と、
上記複数のレジスタと及び上記制御記憶装置とに結合さ
れており与えられる信号の状態を試験する分岐及び試験
装置であって、上記制御記憶装置は、所定のシーケンス
で上記複数のマイクロプログラム・シーケンスのおのお
のを参照するように作動して、上記レジスタに記憶され
た上記制御文字の異なったものを使うアドレス信号を発
生するように上記算術及び論理装置を条件づげるための
信号を発生することにより上記複数の表の夫々のエント
リをフェッチし、上記各シーケンスは、上記分岐及び試
験装置による上記エントリの対応するものの所定ビット
の試験のため上記算術及び論理装置を条件づげるための
信号を発生し、それによって上記ホスト・システムによ
り上記命令の実行が要求されるとき上記1つの入出力命
令のコード化によって指定された上記目標システム資源
の異なったものの有効性及び利用可能性を検証しそして
最小時間内において命令の実行が生じ得るかどうか決定
すること、 から成るホスト・データ処理システム。 2 複数の異なった書式の任意の一つにコード化された
異なった形式の入出力命令を含む目標システム・プログ
ラムの命令を処理しかつ実行するデータ処理システムに
おいて、該システムが、情報の受取り及び伝送をするよ
うに相互接続された複数のレジスタと、該複数のレジス
タへ結合された算術及び論理ユニットと、及び上記シス
テム内の情報の伝送を制御するマイクロプログラム制御
装置と、を含んでおり、上記システムが、エミュレーシ
ョン動作モードで動作するとき、 (イ)アドレス可能な複数の部分を含む主記憶であって
、上記目標システム・プログラムが該複数の部分の内の
第1部分に記憶され、上記目標システム・プログラムは
少なくとも一つの形式の入出力命令を含んでおり、該入
出力命令は、上記処理システムが通常動作モードのとき
上記処理システムが実行できない動作を指定するOPコ
ート文字と、第1アドレス・フィールドに対応する第1
グループのアドレス文字と、及び上記目標システム・プ
ログラムを実行するように編成された目標システムの複
数のチャンネル資源の少くとも一つを指定するようにコ
ード化された少くとも一つの第1制御文字と、を含むよ
うにコード化されること、及び (ロ)上記複数の部分の内の第2部分は複数の表を含み
、各表は所定のベース参照アドレスによって位置決め可
能であり、かつ各表は、上記異なった形式の入出力命令
の実行のために要求されるとき上記プログラムによって
指定できる複数の異なったタイプの内の1つのタイプの
各資源の状態を定義するようにコード化された複数のエ
ントリを含むこと、 を含み、上記マイクロプログラム制御装置が、(−f)
複数のマイクロプログラム・シーケンスを記憶する制御
記憶であって、各マイクロプログラム・シーケンスは、
上記主記憶の上記第2部分の一つの表と、上記複数のレ
ジスタと、及び上記算術及び論理装置との間の情報エン
トリの伝送を制御することにより、上記複数の異なった
タイプの内の任意のタイプの資源の有効性と利用可能性
を検証すること、 (ロ)上記制御装置へ結合されており、かつ上記算術及
び論理装置と及び上記複数のレジスタの所定のものから
信号を受取るように結合された分岐及び試験制御装置と
、 ←→ 上記制御記憶は、制御及び分岐動作を指定するよ
うにコード化された上記oPコード文字に応答して上記
分岐及び試験制御装置により初めに条件づけられて第1
の主ルーチンへ分岐し、上記第1主ルーチンは、上記:
*I脚記憶を条件つげして所定のシーケンスで上記ルー
チンの異なったものを参照させる信号を発生することに
より上記命令による試験のため指定された資源が上記目
標システムにおいて有効でありかつ割当て可能であるか
どうかを決定し、上記主ルーチンはこのルーチン内の指
定された点においてマイクロ命令シーケンスを含み、該
マイクロ命令シーケンスは、上記マイクロプログラム制
御装置を条件づげして、上記指定された資源がビジーで
あるとき上記命令の上記第1アドレス・フィールドに関
しアドレス検査を実行させかつ上記資源が利用可能にな
るまで上記命令のoPコード文字によって指定された上
記動作に関する上記目標システム・プログラム内の他の
要求を検出するための信号を発生して、上記システムを
他の動作に対し解放すること、 から成ること、を特徴とするデータ処理システム。 3 目標システム・プログラムを記憶する一つの部分を
含む複数の部分を有する主記憶と、複数の母線によって
相互接続された複数のレジスタと、上記レジスタの内の
ある一定のレジスタから信号を受取るように接続された
算術及び論理装置と、及び内蔵した制御記憶に含まれる
復号化マイクロ命令によるエミュレーション動作モード
において上記主記憶と、上記レジスタと、及び上記算術
及び論理装置の間のデータ伝送を制御するマイクロプロ
グラム制御システムと、からなるデータ処理システムに
より、複数の異なった書式の内の任意の一つを有する目
標システム・プログラムの入出力命令であって夫々複数
の文字を含むそのような入出力命令のエミュレーション
を行う方法において (イ)上記データ処理システムに物理的に存在してはい
ないが上記目標システム・プログラムの入出力命令によ
り有効に指定できる複数の異なったクラスのうちの一つ
のクラスにおける各資源の状態を定義するようにコード
化された複数のエントリをそれぞれ含む複数の表を上記
主記憶の第2部分に記憶する段階であって、上記各入出
力命令は上記目標システム命令を実行するため要求され
る資源を指定する複数の制御文字を含むこと、 (l:I)上記複数の表の一つにおける上記複数のエン
トりのうちの異なったエントリにアクセスするための信
号を夫々発生する複数のマイクロ命令シーケンスを、上
記クラスの内の所定の一つのクラスの資源の有効性及び
利用可能性の状態を検証するために、上記制御記憶に記
憶する段階と、 (/→ 上記入出力命令の夫々によって指定される資源
の割当てに関する有効性と利用可能性を決定するため、
上記マイクロ命令シーケンスを所定のシーケンスで実行
して、上記匍」御文字のうちの対応するものを使って上
記複数の表の異なったものの上記エントリのうちの所定
のものにアクセスする段階と、 (−)上記資源の第1のものが無効もしくは割当てには
利用不能であるとき又は上記マイクロ命令シーケンスの
実行の完了時を検出するとき、上記マイクロ命令シーケ
ンスの実行を終了させる段階と、及び (イ)要求されるフログラム援助を表示するメツセージ
であって、実行される入出力命令の書式と及び検査され
た資源の状態とを定める情報を含む所定の呼出しメツセ
ージを発生する段階と、からなるエミュレーション74
゜ 4 目標システム・プログラムから成る複数の命令を記
憶する一つの部分を含む複数の部分を有する主記憶と、
複数の母線によって相互接続される複数のレジスタ、上
記レジスタの中の一定レジスタから信号を受取るように
接続された算術及び論理装置と、及び内蔵した制御記憶
に含まれる復号化マイクロ命令によりエミュレーション
動作モードにおいて上記主記憶と、上記レジスタと、及
び上記算術及び論理装置の間のデータ伝送を制御するマ
イクロプログラム制御システムと、からなるデータ処理
システムにより、複数の異なった書式のうちの任意の一
つを有する目標システム・プログラム内に含まれた入出
力命令であって夫々複数の制御文字を含むそのような入
出力命令のエミュレーションを行う方法において、 (イ)上記データ処理システムに物理的に存在してはい
ないが上記目標システム・プログラムの命令により有効
に指定できかつ上記目標システム命令の実行のため要求
される複数の異なったクラスのうちの一つのクラスにお
ける資源の状態を定義するようにコード化された複数の
エントリをそれぞれ含む複数の表を上記主記憶の第2部
分に記憶する段階と、 (ロ)上記複数の表〇一つにおける複数のエントリのう
ちの異なるエントリにアクセスするため夫夫コード化さ
れた複数のマイクロ命令シーケンスを、あるクラスの資
源の有効性及び利用可能性の状態を検証するために、上
記制御記憶に記憶する段階と、 (−ウ 上記マイクロ命令シーケンスのうちのあるも
のを所定シーケンスで実行して、上記制御文字のうちの
対応するものを使用する上記エントリのうちの所定のエ
ントリにアクセスし、上記入出力命令によって指定され
た資源の夫々状態を試験する段階と、及び に)上記入出力命令によって指定された上記資源がビジ
ーでないことを検出したときに、上記目標システム・プ
ログラムにおける上記複数の命令の次の命令を実行する
ように上記データ処理システムを条件づげする段階と、 かうするエミュレーション方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US430322 | 1974-01-02 | ||
| US05/430,322 US3955180A (en) | 1974-01-02 | 1974-01-02 | Table driven emulation system |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS5099656A JPS5099656A (ja) | 1975-08-07 |
| JPS5853369B2 true JPS5853369B2 (ja) | 1983-11-29 |
Family
ID=23707026
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP49148236A Expired JPS5853369B2 (ja) | 1974-01-02 | 1974-12-25 | 表によるエミユレ−シヨン装置 |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US3955180A (ja) |
| JP (1) | JPS5853369B2 (ja) |
| CA (1) | CA1026466A (ja) |
| DE (1) | DE2500006A1 (ja) |
| FR (1) | FR2295485A1 (ja) |
| GB (1) | GB1497601A (ja) |
Families Citing this family (66)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4106091A (en) * | 1975-02-18 | 1978-08-08 | Motorola, Inc. | Interrupt status indication logic for polled interrupt digital system |
| US4042914A (en) * | 1976-05-17 | 1977-08-16 | Honeywell Information Systems Inc. | Microprogrammed control of foreign processor control functions |
| US4156927A (en) * | 1976-08-11 | 1979-05-29 | Texas Instruments Incorporated | Digital processor system with direct access memory |
| US4079453A (en) * | 1976-08-20 | 1978-03-14 | Honeywell Information Systems Inc. | Method and apparatus to test address formulation in an advanced computer system |
| US4092715A (en) * | 1976-09-22 | 1978-05-30 | Honeywell Information Systems Inc. | Input-output unit having extended addressing capability |
| US4122519A (en) * | 1976-12-14 | 1978-10-24 | Allen-Bradley Company | Data handling module for programmable controller |
| US4261033A (en) * | 1977-01-19 | 1981-04-07 | Honeywell Information Systems Inc. | Communications processor employing line-dedicated memory tables for supervising data transfers |
| US4156907A (en) * | 1977-03-02 | 1979-05-29 | Burroughs Corporation | Data communications subsystem |
| US4155118A (en) * | 1977-09-20 | 1979-05-15 | Burroughs Corporation | Organization for an integrated circuit calculator/controller |
| JPS54122043A (en) * | 1978-03-15 | 1979-09-21 | Toshiba Corp | Electronic computer |
| GB2030741B (en) * | 1978-10-02 | 1982-11-17 | Ibm | Data processing terminal with addressable characterising store |
| JPS5576447A (en) * | 1978-12-01 | 1980-06-09 | Fujitsu Ltd | Address control system for software simulation |
| US4253145A (en) * | 1978-12-26 | 1981-02-24 | Honeywell Information Systems Inc. | Hardware virtualizer for supporting recursive virtual computer systems on a host computer system |
| US4377852A (en) * | 1980-03-31 | 1983-03-22 | Texas Instruments Incorporated | Terminal emulator |
| US4370709A (en) * | 1980-08-01 | 1983-01-25 | Tracor, Inc. | Computer emulator with three segment microcode memory and two separate microcontrollers for operand derivation and execution phases |
| US4574349A (en) * | 1981-03-30 | 1986-03-04 | International Business Machines Corp. | Apparatus for addressing a larger number of instruction addressable central processor registers than can be identified by a program instruction |
| US4575814A (en) * | 1982-05-26 | 1986-03-11 | Westinghouse Electric Corp. | Programmable interface memory |
| JPS5941064A (ja) * | 1982-08-31 | 1984-03-07 | Nec Corp | プロログ処理装置 |
| US4509122A (en) * | 1982-11-18 | 1985-04-02 | International Business Machines Corporation | Method for controlling the file transfer capability of an interactive text processing system that is emulating a host processing system terminal |
| JPS6017539A (ja) * | 1983-07-11 | 1985-01-29 | Hitachi Ltd | エミユレ−シヨン方式 |
| US4727480A (en) * | 1984-07-09 | 1988-02-23 | Wang Laboratories, Inc. | Emulation of a data processing system |
| EP0168054B1 (en) * | 1984-07-11 | 1991-10-09 | Hitachi, Ltd. | Method and system for data driven information processing |
| US4984151A (en) * | 1985-03-01 | 1991-01-08 | Advanced Micro Devices, Inc. | Flexible, next-address generation microprogram sequencer |
| JP2826309B2 (ja) * | 1985-11-20 | 1998-11-18 | 日本電気株式会社 | 情報処理装置 |
| US4875186A (en) * | 1986-02-28 | 1989-10-17 | Prime Computer, Inc. | Peripheral emulation apparatus |
| US4920481A (en) * | 1986-04-28 | 1990-04-24 | Xerox Corporation | Emulation with display update trapping |
| US5088033A (en) * | 1986-04-28 | 1992-02-11 | Xerox Corporation | Data processing system emulation in a window with a coprocessor and I/O emulation |
| 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 |
| US4833594A (en) * | 1986-12-22 | 1989-05-23 | International Business Machines | Method of tailoring an operating system |
| DE3852975T2 (de) * | 1987-06-09 | 1995-06-01 | Hitachi Maxell | Datenverarbeitungsanlage mit Anpassung der Ein-/Ausgabe-Funktionen. |
| US5121489A (en) * | 1988-08-02 | 1992-06-09 | International Business Machines Corporation | Tracing method for identifying program execution paths using a trace points bit map with one-to-one correspondence with embedded trace points |
| US5128810A (en) * | 1988-08-02 | 1992-07-07 | Cray Research, Inc. | Single disk emulation interface for an array of synchronous spindle disk drives |
| US5283791A (en) * | 1988-08-02 | 1994-02-01 | Cray Research Systems, Inc. | Error recovery method and apparatus for high performance disk drives |
| US5067073A (en) * | 1988-08-02 | 1991-11-19 | International Business Machines Corporation | Embedded tracing method for identifying program executed paths |
| US5218689A (en) * | 1988-08-16 | 1993-06-08 | Cray Research, Inc. | Single disk emulation interface for an array of asynchronously operating disk drives |
| US5036484A (en) * | 1988-11-23 | 1991-07-30 | International Business Machines Corporation | Personal computer/host emulation system for handling host data with personal computer application programs at personal computers |
| US5109353A (en) | 1988-12-02 | 1992-04-28 | Quickturn Systems, Incorporated | Apparatus for emulation of electronic hardware system |
| DE69024086T2 (de) | 1989-04-13 | 1996-06-20 | Sundisk Corp | EEprom-System mit Blocklöschung |
| US5093776A (en) * | 1989-06-15 | 1992-03-03 | Wang Laboratories, Inc. | Information processing system emulation apparatus and method |
| JPH03147013A (ja) * | 1989-11-01 | 1991-06-24 | Casio Comput Co Ltd | データ更新装置 |
| US5121483A (en) * | 1990-05-21 | 1992-06-09 | International Business Machines Corporation | Virtual drives in an automated storage library |
| US5652869A (en) * | 1991-03-07 | 1997-07-29 | Digital Equipment Corporation | System for executing and debugging multiple codes in a multi-architecture environment using jacketing means for jacketing the cross-domain calls |
| US5333298A (en) * | 1991-08-08 | 1994-07-26 | Honeywell Inc. | System for making data available to an outside software package by utilizing a data file which contains source and destination information |
| US5680583A (en) * | 1994-02-16 | 1997-10-21 | Arkos Design, Inc. | Method and apparatus for a trace buffer in an emulation system |
| US5920712A (en) * | 1994-05-13 | 1999-07-06 | Quickturn Design Systems, Inc. | Emulation system having multiple emulator clock cycles per emulated clock cycle |
| US5632028A (en) * | 1995-03-03 | 1997-05-20 | Hal Computer Systems, Inc. | Hardware support for fast software emulation of unimplemented instructions |
| US5819065A (en) * | 1995-06-28 | 1998-10-06 | Quickturn Design Systems, Inc. | System and method for emulating memory |
| US5923865A (en) * | 1995-06-28 | 1999-07-13 | Quickturn Design Systems, Inc. | Emulation system having multiple emulated clock cycles per emulator clock cycle and improved signal routing |
| US5799169A (en) * | 1995-10-02 | 1998-08-25 | Chromatic Research, Inc. | Emulated registers |
| US5920713A (en) * | 1995-10-06 | 1999-07-06 | Advanced Micro Devices, Inc. | Instruction decoder including two-way emulation code branching |
| US5758061A (en) * | 1995-12-15 | 1998-05-26 | Plum; Thomas S. | Computer software testing method and apparatus |
| US5822564A (en) * | 1996-06-03 | 1998-10-13 | Quickturn Design Systems, Inc. | Checkpointing in an emulation system |
| US5892939A (en) * | 1996-10-07 | 1999-04-06 | Honeywell Inc. | Emulator for visual display object files and method of operation thereof |
| US5918048A (en) * | 1997-03-17 | 1999-06-29 | International Business Machines Corporation | Booting an operating system using soft read-only storage (ROS) for firmware emulation |
| US5875336A (en) * | 1997-03-31 | 1999-02-23 | International Business Machines Corporation | Method and system for translating a non-native bytecode to a set of codes native to a processor within a computer system |
| US5960191A (en) * | 1997-05-30 | 1999-09-28 | Quickturn Design Systems, Inc. | Emulation system with time-multiplexed interconnect |
| US5970240A (en) * | 1997-06-25 | 1999-10-19 | Quickturn Design Systems, Inc. | Method and apparatus for configurable memory emulation |
| US6128698A (en) * | 1997-08-04 | 2000-10-03 | Exabyte Corporation | Tape drive emulator for removable disk drive |
| US6389503B1 (en) | 1997-08-04 | 2002-05-14 | Exabyte Corporation | Tape drive emulation by removable disk drive and media formatted therefor |
| US6259781B1 (en) * | 1997-08-06 | 2001-07-10 | Siemens Information And Communication Networks, Inc. | Generic distributed protocol converter |
| US6324639B1 (en) * | 1998-03-30 | 2001-11-27 | Matsushita Electric Industrial Co., Ltd. | Instruction converting apparatus using parallel execution code |
| CA2236640A1 (en) * | 1998-05-04 | 1999-11-04 | Claudio Gambetti | Emulation system including emulator generator |
| GB2367651B (en) * | 2000-10-05 | 2004-12-29 | Advanced Risc Mach Ltd | Hardware instruction translation within a processor pipeline |
| GB2367653B (en) * | 2000-10-05 | 2004-10-20 | Advanced Risc Mach Ltd | Restarting translated instructions |
| US7913237B2 (en) * | 2003-08-26 | 2011-03-22 | Ensequence, Inc. | Compile-time code validation based on configurable virtual machine |
| US20090159709A1 (en) | 2007-12-24 | 2009-06-25 | Dynamics Inc. | Advanced dynamic credit cards |
Family Cites Families (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3369221A (en) * | 1964-05-04 | 1968-02-13 | Honeywell Inc | Information handling apparatus |
| US3480914A (en) * | 1967-01-03 | 1969-11-25 | Ibm | Control mechanism for a multi-processor computing system |
| US3631405A (en) * | 1969-11-12 | 1971-12-28 | Honeywell Inc | Sharing of microprograms between processors |
| US3675214A (en) * | 1970-07-17 | 1972-07-04 | Interdata Inc | Processor servicing external devices, real and simulated |
| US3721961A (en) * | 1971-08-11 | 1973-03-20 | Ibm | Data processing subsystems |
| US3748649A (en) * | 1972-02-29 | 1973-07-24 | Bell Telephone Labor Inc | Translator memory decoding arrangement for a microprogram controlled processor |
| US3766532A (en) * | 1972-04-28 | 1973-10-16 | Nanodata Corp | Data processing system having two levels of program control |
| US3859636A (en) * | 1973-03-22 | 1975-01-07 | Bell Telephone Labor Inc | Microprogram controlled data processor for executing microprogram instructions from microprogram memory or main memory |
-
1974
- 1974-01-02 US US05/430,322 patent/US3955180A/en not_active Expired - Lifetime
- 1974-12-23 CA CA216,689A patent/CA1026466A/en not_active Expired
- 1974-12-25 JP JP49148236A patent/JPS5853369B2/ja not_active Expired
- 1974-12-31 FR FR7443448A patent/FR2295485A1/fr active Granted
-
1975
- 1975-01-02 GB GB80/75A patent/GB1497601A/en not_active Expired
- 1975-01-02 DE DE19752500006 patent/DE2500006A1/de not_active Withdrawn
Also Published As
| Publication number | Publication date |
|---|---|
| US3955180A (en) | 1976-05-04 |
| JPS5099656A (ja) | 1975-08-07 |
| CA1026466A (en) | 1978-02-14 |
| FR2295485B1 (ja) | 1979-06-15 |
| FR2295485A1 (fr) | 1976-07-16 |
| DE2500006A1 (de) | 1975-07-10 |
| GB1497601A (en) | 1978-01-12 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPS5853369B2 (ja) | 表によるエミユレ−シヨン装置 | |
| US4031517A (en) | Emulation of target system interrupts through the use of counters | |
| US4395758A (en) | Accelerator processor for a data processing system | |
| US4205370A (en) | Trace method and apparatus for use in a data processing system | |
| US4084235A (en) | Emulation apparatus | |
| CA1196108A (en) | Special instruction processing unit for data processing system | |
| US4297743A (en) | Call and stack mechanism for procedures executing in different rings | |
| US3970999A (en) | Memory expansion apparatus | |
| US3840861A (en) | Data processing system having an instruction pipeline for concurrently processing a plurality of instructions | |
| US3631405A (en) | Sharing of microprograms between processors | |
| EP0092610A2 (en) | Methods for partitioning mainframe instruction sets to implement microprocessor based emulation thereof | |
| JPS5911943B2 (ja) | デ−タ処理装置の為のトラツプ機構 | |
| JPS5931734B2 (ja) | 特別のオペランド指定子を持つた命令を実行する中央処理装置 | |
| US4943915A (en) | Apparatus and method for synchronization of a coprocessor unit in a pipelined central processing unit | |
| Rauscher et al. | Microprogramming: A tutorial and survey of recent developments | |
| EP0106664B1 (en) | Central execution pipeline unit | |
| Dasgupta | Computer design and description languages | |
| US3728689A (en) | Program branching and register addressing procedures and apparatus | |
| Rosin | The significance of microprogramming | |
| JP2006313561A (ja) | データ処理装置 | |
| JPS61256455A (ja) | 情報処理システム | |
| EP0013291B1 (en) | Instruction fetch control system in a computer | |
| US5644761A (en) | Basic operations synchronization and local mode controller in a VLSI central processor | |
| JPS5931733B2 (ja) | 可変長さの命令を実行する中央処理装置 | |
| Fuller | PDP-11 40E microprogramming reference manual |