JPH0374760A - データ処理システム - Google Patents

データ処理システム

Info

Publication number
JPH0374760A
JPH0374760A JP2125648A JP12564890A JPH0374760A JP H0374760 A JPH0374760 A JP H0374760A JP 2125648 A JP2125648 A JP 2125648A JP 12564890 A JP12564890 A JP 12564890A JP H0374760 A JPH0374760 A JP H0374760A
Authority
JP
Japan
Prior art keywords
processor
interrupt
data
operating system
path
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.)
Granted
Application number
JP2125648A
Other languages
English (en)
Other versions
JP2618071B2 (ja
Inventor
Jr John M Dinwiddie
ジヨン・モンロウ・デインウイデイー、ジユニア
Lonnie E Grice
ロニイ・エドワード・グリース
John M Loffredo
ジヨン・マリオ・ローフレード
Kenneth R Sanderson
ケネス・ラツセル・サンダーソン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH0374760A publication Critical patent/JPH0374760A/ja
Application granted granted Critical
Publication of JP2618071B2 publication Critical patent/JP2618071B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1641Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1675Temporal synchronisation or re-synchronisation of redundant processing components
    • G06F11/1679Temporal synchronisation or re-synchronisation of redundant processing components at clock signal level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1608Error detection by comparing the output signals of redundant hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/74Masking faults in memories by using spares or by reconfiguring using duplex memories, i.e. using dual copies

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Hardware Redundancy (AREA)
  • Multi Processors (AREA)
  • Bus Control (AREA)
  • Communication Control (AREA)
  • Selective Calling Equipment (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Computer And Data Communications (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 以下の順序で本発明を説明する。
A、産業上の利用分野 B、従来の技術 C0発明が解決しようとするB題 り、課題を解決するための手段 と、実施例 El、序論 E2.フォールト・トレラント環境において通常非フォ
ールト・トレラントであるプロセ・νすを動作させるこ
と E3.別のプロセッサからあるプロセッサへのコマンド
及びデータを禁止するために、そのプロセッサを関連ハ
ードウェアから切り放すこヒE4.オペレーティング・
システムに対して透過的なシステムに対して割り込みを
与えることE5.興なる仮想記憶オペレーティング・シ
ステムを実行する2つまたはそれ以上のプロセッサの間
で実記憶を共用すること E8.単一システム・イメージ E7.*約 E8.序論−従来のシステム/88 E9.HSDIネットワークを介して相互接続されたフ
ォールト・トリラントS/3フ0モジユール Elo、2重化プロセッサ対ユニット2L 23の一般
的説明 El 1.S/370及びS/88プロセツサ要素の結
合(第11及び第1 Of!iり E12.プロセッサ間インターフェース89E12A、
I10アダプタ154 E12B、I10アダプタ・チャネル0及びチャネル1
パス(第18図) E 12C,パス制御ユニット168−一般的な説明(
第16及び第17図) E12D、i!!!メモリ・アクセス・コントローラ0
9 E 12と、パス制御ユニット156−詳細な説明(第
19A乃至第19cI!l!lと第20図)El3.S
/370プロセツサ要素PE85E14.プロセッサ・
パス17o(第11及び30図)とプロセッサ・パス・
コマンド E16.S/370記憶管理ユニット8ヱE18.S/
370  I10サボ−)(J37@) El7.8/370  I10動作、ファームウェアの
概要 E18.システム・マイクロコード・デザインE19.
パス制ffK1ユニット(BCU)の動作E20.S/
370  I10開始シーケンス・フロー、概要及び詳
細説明 E21.S/370 1/○データ転送シーケンス・フ
ロー 一般的説明 E22.カウント、キー 及びデータ・フォーマット・
エミュレーシコン(第46Aないしに図) E23.S/88とS/370による実記憶18の共有 E24.S/370によって開始される5788割り込
みのための初期化!l#I E25.S/88オペレーテイング・システムを変更す
ることなく空きを獲得すること E26.S/88オペレーテイング・システムを変更す
ることなく記憶を獲得(STEAL)すること E27.フォールト・トレラント・ハードウェア同期化 10発明の効果 A、産業上の利用分野 本発明は、プロセッサ装置に対する割り込み要求のサー
ビスに関し、より詳細には、該プロセッサ装置上で走っ
ているオペレーティング・システムに対して異種である
、すなわちそのオペレーティング・システムにはその装
置からの要求にサービスするルーチンが設けられていな
いような装置からの割り込み要求のサービスに関するも
のである。
B、従来の技術 現在の大抵のデータ処理システム・プログラムは、監視
状態またはユーザー状態という2つの(あるいはもっと
多くの)状態のうちの1つめ状態で実行される。アプリ
ケーション・プログラムは、ユーザー状態で実行され、
割り込み要求のサービスなどの機能は、監視状態で走る
オペレーティング・システム・ルーチンによって実行さ
れる。
アプリケーション・プログラムは、I10ボートを接続
するための命令を含み、次にそのポートをオープンし、
R取、書込または制御の形でI10要求を発行する。そ
の時、プロセッサは、タスク切り換えを行うことになる
。オペレーティング・システムが、I10完了を通知す
る割り込みを受け取る時、オペレーティング・システム
は次に、この情報を準備完了キューに入れ、システム資
源の優先順位でソートする。
オペレーティング・システムは、自己使用のために全て
の割り込みベクタを留保し、従って、オペレーティング
・システムに対して異種のプロセッサなどの別のマシン
からのI 10!!!求を通知する外部割り込みなどの
新しい機能に対してとの割り込みベクタも可屈ではない
多くの場合、可屈な割り込みベクタの大部分は実際には
未使用であり、これらは、「非初期化」または「疑似」
割り込みのための共通エラー・ハンドラに対するベクタ
リングを引き起こすようにセット・アップされている、
というのがオペレーティング・システムでの一般的な慣
用である。
C1発明が解決しようヒする課題 この発明の主要な目的は、プロセッサが動作するオペレ
ーティング・システムに対して異種の装置からの、その
プロセッサに対する割り込み要求にサービスするための
方法及び手段を提供することにある。
00課題を解決するための手段 この目的を達成するために、異種装置からの割り込み要
求を処理するための特殊な割り込みルーチンが、そのプ
ロセッサ上で走るように適合されたアプリケーション・
プログラム・ルーチンの形で与えられる。割り込み要求
が異種装置から受け取られる時、そのプロセッサを含む
論理手段が正常オペレーティング・システム割り込みハ
ンドラの選択を禁止して、その代わりに、割り込み要求
が受け取られたことをオペレーティング・システムに気
づかせることなく、特殊な割り込みルーチンのうちの1
つを選択する。その異種割り込み要求は次に、オペレー
ティング・システム・サービスを使用することなく、選
択された特殊割り込みルーチンによってサービスされる
と、実施例 El、序論 本発明を実現するための好適な実施例は、フォールト・
トレラント・システムを有する。
フォールト・トレラント・システムは、典型的には、フ
ォールト・トレラント動作のためのボトム・アップから
設計されたものである。それにおいては、プロセッサ、
記憶、I10装置及びオペレーティング・システムが特
別にフォールト・トレラント環境のために仕立てられて
いる。しかし、顧客ベースの広がりと、その攻ベレーテ
ィング・システムの成熟度と、商用ユーザー・プログラ
ムの数と範囲は、インターナショナル・ビジネス・マシ
ーンズ・コーポレーションによって販売されているシス
テム370(S/370)などのいくつかの製造メーカ
ーの際立って古いメインフレーム・システムはどには大
きくない。
命日のフォールト・トレラント・データ処理システムの
あるものは、旧来の非フォールト・トレラント・メイン
フレーム上で可屈でない、またはメインフレーム・オペ
レーティング・システムによってサポートされない多く
の先進機能を提供する。これらの機能としては、分散処
理ネットワークに亙る単一のシステム・イメージや、プ
ロセッサ及びI10コントローラをホットプラグする(
Klオンによりカードを除去しまたは導入する)#IA
力や、瞬間的にエラーを検出して故障を分離し、コンピ
ュータ・ユーザに対する割り込みなしで故障素子のサー
ビスから電気的に除去する機能や、素子の故障から生じ
る動的再構成またはシステムが連続的に動作している間
にシステムに対して追加の装置を加えることがある。
そのようなフォールト・トレラント・システムの1つの
例として、インターナショナル・ビジネス・マシーンズ
・コーポレーションによって販売されているシステム8
8 (S/88)がある。本発明の好適な形態の統合部
分を形成するのが、このIBM  S/88の1つのモ
デル及びIBMS/370の1つのモデルである。
上述の機能をS/370環境及びアーキテクチャに組み
込もうとすることは、典型的には、オペレーティング・
システム及びアプリケーション・プログラムの大幅な書
き直しと、スクラッチから開発された新しいハードウェ
アを要する。しかし、VM、VSと、lX370なビの
オペレーティング・システムの書き直しは、まさに途方
もない作業であって、膨大な数のプログラマと、相当の
期間を要するというのが多数の者が考えるところである
。IBM  S/370*たはMVSなどの複雑なオペ
レーティング・システムが虚無するには通常5年以上か
かる。現時点まで、大抵のシステム故障は、オペレーテ
ィング・システム・エラーの結果である。また、ユーザ
ーがオペレーティング・システムの使用に収益を見出す
ようになるには多くの年月を要する。不幸にも、あるオ
ペレーティング・システムが満量虚無し大きいユーザー
・ベースを形成してしまうと、そのコードを、フォール
ト・トレランス、動的再構成、単一システム・イメージ
などの新しい機能を導入するように変更することは容易
な努力ではない。
成熟したオペレーティング・システムを新しいマシン・
アーキテクチャに移植することの複雑性と費用のため、
設計者は通常、新しいオペレーティング・システムを開
発しようと決心することになるが、これはユーザーの社
会によって容易に受け入れられないことがある。産熱し
たオペレーティング・システムを、新しく開発されたオ
ペレーティング・システムによって例示される新しい認
識を組み込むように変更することは非現実的であるこヒ
が分かっているが、この新しG)オペレーティング・シ
ステムは実質的なユーザー・ベースを決して形成するこ
とが出来ないかもしれず、はとんどの問題が解決される
前に多年のフィールドでの使用を経ることになろう。
従って、本発明は、オペレーティング・システムをあま
り書き直すことなく、通常非フォールト=トレラントで
ある処理システム及びオペレーティング・システムのた
めに、フォールト・トレラント環境及びアーキテクチャ
を提供することを意図している。好適な実施例では、I
BMシステム788の1つのモデルが、IBM  S/
370の1つのモデルに接続される。
異なるプロセッサ及びオペレーティング・システムを結
合するための現在の方法として、ある種の通信コントロ
ーラを各システムに追加し、オペレーティング・システ
ムにデバイス・ドライバ°を付加し、データを輸送する
ためにシステム・ネットワーク・アーキテクチャ(SN
A)またはO6Iなどのある種の通信コードを使用する
ことを通じての方法がある。通常、ネットワーク中の端
点コンピュータの閏のデータ通信を達成するためには、
それらの端点がめいめい、交換されるべきデータに対す
るサービスの一貫したセットを理解し適用することが必
要である。
それらの設計上の複雑さを低減するために、はとんどの
ネットワークは、めいめいの層またはレベルが1つ下の
層またはレベル上に構成されてなる一連の層またはレベ
ルとして構成されている。
層の数、各層の名称、及び各層の機能は、ネットワーク
によって異なる。しかし、あらゆるネットワークにおい
て、各層の目的は、上位のサービスに対してサービスを
提供し、以てそれら上位の層を、提供されるサービスが
実際に実現される様式の詳細情報から遮蔽することにあ
る。1つのマシン上の層nは、別のマシン上の層nと会
話をやりとりする。この会話で使用される規則と会話は
、層nプロトコルヒして集合的に知られている。異なる
マシン上の対応層を肴するエンティティは、対等(pe
er)プロセスと呼ばれ、そのプロトコルを使用して通
信するヒ言われるのがこの対等プロセスである。
実際上、1つのマシン上の層nから別のマシンの層nに
l[!!転送されるデータはない(最下位または物理層
の場合は例外)。すなわち、興なるまたは相違するシス
テム上で動作するアプリケーション・プログラムの直接
的結合はあり得ない。
そうではなくて、各層は、最下位層に達するまでデータ
及び制御情報をその直ぐ下の層に渡すのである。最下位
層では、より上位の層によって使用される仮想通信とは
対照的に、別のマシンとの物理的通信が存在する。
これらのサービスのセットの定義は上述の複数の興なる
ネットワーク中に存在し、より最近は、興なるベンダか
らのシステムの相互接続を容易ならしめるためのプロト
コルの提供に興味が集まっている。これらのプロトコル
の開発の1つの構成として、ISOの7層08I(解放
システム相互接続)モデルによって定義される枠組みが
ある。
このモデルの各層は、その下の層からサービスを要求し
つつその上の層に対してネットワーク・サービスを与え
る役目を果たす。各層で与えられるサービスは、それら
をネットワーク中の各ステーションによって矛盾なく適
用することができるように良好に定義されている。これ
は、興なるペンダの装置の相互接続を可能ならしめると
いうことである。あるノード内の層から層へのサービス
の実現は、その実現構成に特有であり、あるステーショ
ン内で与えられたサービスに基づきベンダ差別化を可能
ならしめる。
そのようなプロトコルの構造化されたセットを実現する
全体の目的は、データの端点から端点への転送を実現す
ることにある、ということに留意することは重要である
。O3Iモデル内の主な区分けは、ユーザー・ノードが
、ソース側アブリケーシッン・プログラムから受信側ア
プリケーション・プログラムへのデータの引き渡しに関
与していると考えてみるならよりよく理解されよう。こ
のデータを引き渡すために、O8Iプロトコルは、各レ
ベルのデータに働きかけ、ネットワークに対してフレー
ムを供給する。それらのフレームは次に、ビットのセッ
トとして物理媒体に与えられ、それはその物理媒体を通
じて伝送される。それらは次に、受取りステーション側
のアプリケーション・プログラムにデータを提供するた
めに、逆の手続を受ける。
興なるプロセッサ及びオペレーティング・システムを結
合するための現在の方法として、ある種の通信コントロ
ーラを各システムに追加し、オベレーティング・システ
ムにデバイス・ドライバを付加し、データを輸送するた
めにシステム・ネットワーク・アーキテクチャ(SNA
)またはO8工などのある種の通信コードを使用するこ
とを通じての方法がある。第3図は、ローカル・エリア
・ネットワーク(LAN)による2つのコンピュータ・
システムの標準的な相互接続を示すものである。特に、
IBM  システム78日アーキテクチャに接続された
IBM  S/370アーキテクチヤが示されている。
ここで、めいめいの場合、アプリケーション・プログラ
ムが、プロセッサを制御しI10チャネルまたはパスに
アクセスするために、オペレーティング・システムとの
インターフェースを通じて動作することが見て取れよう
。各アーキテクチャ装置は、データを交換するための通
信コントローラをもっている。通信するためには、デー
タが対応するアプリケーション・プログラムの間で交換
されることを可能ならしめるように多層プロトコルを利
用しなくてはならない。
データを交換するための別の方法として、コプロセッサ
がシステム・パス上にあってシステム・パスを調停し、
そのIloをホスト・プロセッサとして使用するような
、コプロセッサによる方法がある。このコプロセッサに
よる方法の欠点は、同種でない(相違する)ホストI1
0をサポートするために必要なコードの書き直しの量で
ある。別の欠点として、コプロセッサとホスト・オペレ
ーティング・システムの間で切り換えを行うためにユー
ザーが両方のシステム・アーキテクチャに慣れ親しまな
くてはならず、すなわちユーザー・フレンドリでない環
境である、ということがある。
従来技術のフォールト・トレラント・コンピュータ・シ
ステムは、処理装置と、ランダム・アクセス・メモリ装
置と、周辺制wJ装置と、幾つかのモジュール単位間の
すべての情報転送を与える単一パス構造を含むプロセッ
サ・モジュールを有する。各プロセッサ・モジュール内
のシステム・パス構造は、重複相手(duplicat
e partner)パスを有し、プロセッサ・モジュ
ール内の各@能ユニットもまた重複相手ユニットをもつ
。このパス構造は、モジュールのユニットに対する動作
電力と、主クロックからのシステム・タイミング信号を
与える。
第2図は、機能ブロック図の形式でプロセッサ・モジュ
ールのプロセッサ・ユニットの構造を示すものである。
共通の交換カード上に取り付けられ同期して同一の動作
を実行する対になった同一のプロセッサを使用すること
によって、処理エラーを検出するための比較を行うこと
ができる。
各カードは通常、同一の構造の、相手となる冗長ユニッ
トをもつ。
このコンピュータ・システムは、全体のプロセッサ・モ
ジュール内の各機能ユニットのレベルで故障検出を行う
。エラー検出器は、各ユニット内のハードウェア動作を
監視し、ユニット間の情報転送をチエツクする。エラー
の検出によって、プロセッサ・モジュールがそのエラー
を引き起こしたユニットを分離し、そのユニットが別の
ユニットに情報を伝送するのを禁止し、モジュールは、
その故障ユニットの相手側のユニットを使用することに
よって動作を継続する。
どれかのユニットで故障が検出されると、そのユニット
は分離され、それが誤った情報を別のユニットに転送す
ることができないように、切り放し状MA (off−
1ine)に置かれる。この今や切りはなされたユニッ
トの相手は動作を継続し、以てモジュール全体が動作を
継続するのを可能ならしめる。ユーザーは、その切りは
なされたユニットにサービスする保守要求の表示を除け
ば、そのような故障検出及び切り放し状況への@移に気
付くことはめったにない。このカード配室は、除去及び
交換を容易ならしめる。
メモリ・ユニットにはまた、システム・パスをチエツク
するタスクが割当てられる。このために、そのユニット
は、アドレス信号をテストし、そのパス構造上のデータ
信号をテストするパリティ・チエッカをもつ。どのパス
が故障であるかを決定すると、メモリ・ユニットは、モ
ジュールの他のユニットに、非故障バスにのみ従うよう
に通知する。プロセッサ・モジュールの電源ユニットは
、2つのt渾を使用し、そのめいめいが、組となった対
のユニットのうちの1つのユニットに対してのみ電力を
与える。そして、障害供給電圧が検出されると、それに
よって影響を受けるユニットからパス構造に至るすべて
の出力線がアース電位にクランプされ、以て電力の障害
がパス構造に対する障害情報の伝送を引き起こすのを防
止する。
第1図は、機能ブロック図の形式で、データの直接交換
を可能ならしめるためのフォールト・トレラント構造の
様式の、対S/370プロセツサと対5788プロセツ
サの相互接続を示す図である。従来技術の5788構造
(第4図)に対するwa性は意図的なものであるが、本
発明の好適な実施例を確立するのは、ハードウェアとソ
フトウェアの前方の手段による独特の相互接続である。
このとき、S/370プロセツサが、S/88タイプ比
較論理以外に記憶制御論理及びパス・インターフェース
にも接続されていることが見て取れよう。後述するが、
その比較論理は、S/88プロセツサの比較論理と同様
に機能する。さらに、S/370プロセツサはシステム
・バスを介して対応するS/88プロセツサに直接接続
されている。S/88プロセツサの場合と同様に、57
370プロセツサは対に接続され、その対は、フィール
ド交換可能で、ホットプラグ可能な回路カード上に取り
付けられるように意図されている。いくつかのドライバ
の相互接続の詳細は、後で詳細に説明する。
この好適な実施例は、S/370オペレーテイング・シ
ステムの制御の下で同一のS/370命令を同時に実行
するために複数のS/370プロセツサを相互接続する
。これらは、対応する5788プロセツサ、l10N置
及び主記憶に接続され、それらはすべて、5788オペ
レーテイング・システムの制御の下で同一のS/88命
令を同時に実行する。また、後述するが、S/88プロ
セツサが結合されていない間にS/370プロセツサか
らのS/370  I10コマンド及びデータをS/8
8プロセツサに渡し、S/88プロセツサがI 101
N置及び主記憶に再結合されたときに後でS/88プロ
セツサによって処理するためにS/88によって使用可
能な形式にそのコマンド及びデータを変換するために、
S/88プロセツサをそのI10!Il!及び記憶から
非同期的に切り放すための手段も含まれている。
E2.フォールト・トレラント環境において通常井フォ
ールト・トレラントであるプロセッサを動作させること 前記にリストしたフォールト・トレラ゛ント機能は、1
つのS/370オペレーテイング・システムの制御の下
で同一のS/370命令を同時に実行する第1の対ヒし
てS/370プロセツサなとの通常非フォールト・トレ
ラントであるプロセッサを結合することによって好適な
実施例で達成される。また、一方または青方のプロセッ
サ中のエラーを瞬間的に検出するために、一方のプロセ
ッサ中のさまざまな信号の状態を他方のプロセッサ中の
それらと比較するための手段も設けられている。
さらに、第1の対と同時に同一のS/370命令を実行
し第2の対のS/370中のエラーを検出するための、
比較手段をもつ第2の対のS/370プロセツサが設け
られている。各S/370プロセツサは、第1及びそれ
の相手の第2のプロセッサと、S/88  I10装置
と、5788主記憶をもつ5788データ処理システム
なとのフォールト・トレラント・システムの個別の57
88プロセツサに結合されている。各S/88プロセツ
サは、それをI10装置及び主記憶に結合するためのハ
ードウェアを接続されてなる。
個別のS/370及びS/88プロセツサはそれぞれ、
パス制御ユニットを含む手段に↓°ってそのプロセッサ
・バスを互いに接続されてなる。各パスtelImユニ
ットは、個別の5788プロセツサをそれの関連へ−ド
ウェアから非同期的に切り放し、(1)S/370プロ
セツサからのS/370コマンド及びデータを5788
プロセツサに転送しく2)そのS/370コマンド及び
データを、S/88プロセツサによって実行可能なコマ
ンド及び使用可能なデータに変換するためにS/88プ
ロセツサをパス制御ユニットに結合するために、個々の
5788プロセツサ上で走るアプリケーション・プログ
ラムと対話する手段を含む。
5788データ処理システムはその後、S/88オペレ
ーテイング・システムの制御の下でそのコマンド及びデ
ータを処理する。S/88データ処理システムはまた、
S/370プロセツサ対のどちらか1つ、または個々の
S/88プロセッサ甘合対におけるエラー信号に応答し
、その結合対をサービスから除去して他方のS/370
及びS/88対によってフォールト・トレラント動作の
継続を可能ならしめる。このta戊により、S/370
プログラムは、<I10100ためのS/88システム
の援助により)、S/370及びS/88オペレーテイ
ング・システムにあまり変更を加えることなくS/88
の有利な機能を以てフォールト・トレラント(FT)環
境でS/370プロセツサによって実行される。
さらに、S/88プロセツサの記憶管理は、S/88主
記憶中の専用領域を、S/88オペレーテイング・シス
テムの知識なく重複化されたS/370プロセツサ対及
びそのオペレーティング・システムに割当てるように制
御される。その重複化されたS/370プロセツサ対の
プロセッサは、S/370命令及びデータをその専用記
憶領域からフェッチし記憶するために、記憶管理装置及
びS/88パス・インターフェースを介してS/88の
共通パス構造に個別に結合される。
この好適な実施例は、S/370オペレーテイング・シ
ステムまたはS/370アプリケーシヨンを書き直すこ
となくS/370ハードウエア中でフォールト・トレラ
ンスを実現するための方法と手段を提供する。そして、
フォールト・トレランスをサポートするようにプロセッ
サをカスタム設計することなく、完全なS/370  
CPUハードウェア冗長性及び同期が与えられる。S/
370オペレーテイング・システム及びフォールト・ト
レラント・オペレーティング・システム(どちらも仮想
メモリ・システムである)は、どちらのオペレーティン
グ・システムをもあまり書き直す必要なく同時に走る。
この好適な実施例においては、対等プロセッサ対の間に
はハードウェア/マイクロコード・インターフェースが
与えられ、各プロセッサは異なるオペレーティング・シ
ステムを実行する。一方のプロセッサは、IBMオペレ
ーティング・システム(例えばVM、VSと、lX37
0など)を実行する、マイクロコード制御されるIBM
  S/370エンジンであり、好適な実施例の第2の
プロセッサは、S/88VO8(仮想オペレーティング
・システム)を実行する、ハードウェア・フォールト・
トレラント環境を制御することのできるオペレーティン
グ・システム(例えばIBMシステム/88)を実行す
るハードウェア・フォールト・トレラント・エンジンで
ある。
プロセッサ対の間のハードウェア/マイクロコード・イ
ンターフェースは、その2つのオペレーティング・シス
テムが、ユーザーによって単一のシステム環境として知
覚される環境に共存することを可能ならしめる。このハ
ードウェア/マイクロコード資源(メモリ、システム・
パス、ディスクI10、テープ、通信1/○端末、を源
及び筐体)は、各オペレーティング・システムがそのシ
ステム機能の部分を処理する間に互いに独立に作用する
。尚、メモリという用語と記憶という用語は、ここでは
同じように使用される。FTプロセッサとオペレーティ
ング・システムは、エラー検出/分離及び回復と、動的
再構成と、I10100管理する。非フォールト・トレ
ラント(NFT)プロセッサは、FTプロセッサを意識
することなく本来の命令を実行する。FTプロセッサは
、NFTプロセッサには、多重I′10チャネルのよう
に見える。
ハードウェア/マイクロコード・インターフェースは、
百方の仮想メモリ・プロセッサが共通のフォールト・ト
レラント・メモリを共有するのを可能ならしめる。各N
FTプロセッサには、FTプロセッサのメモリ割り振り
テーブルからの連続的な記憶ブロックが割当てられる。
NFTプロセッサの動的アドレス変換機能は、FTプロ
セッサによって割り振られた記憶のブロックを制御する
。NFTプロセッサは、オフセット・レジスタの使用を
通じて、そのメモリがアドレス・ゼロでスタートするこ
とを認識する。そして、NFTプロセッサをその記憶境
界に維持するために限界チエツクが実行される。FTプ
ロセッサは、NF前記憶及びNFTアドレス空間の内及
び外のデータのDMA  I10ブロックにアクセスす
ることができるが、NFTプロセッサは、その割当てら
れたアドレス空間の外の記憶にアクセスすることは禁止
されている。NF前記憶サイズは、構成テーブルを変更
することによって変えることができる。
E3.別のプロセッサからあるプロセッサへのコマンド
及びデータを禁止するために、そのプロセッサを関連ハ
ードウェアから切り放すこと既存のプロセッサ及びオペ
レーティング・システムに新しい装置を追加するには、
一般的に、パスまたはチャネルを介してハードウェアを
取り付け、オペレーティング・システムのために新しい
デバイス・ドライバ・ソフトウェアを書くことが必要で
ある。本発明の改善された「切り放し」機能は、一方の
プロセッサをパスまたはチャネルに接続することなく、
またパスの占有権を巡って調停することなく、2つの興
なるプロセッサが互いに通信することが可能となる。そ
れらのプロセッサは、オペレーティング・システムをあ
まり変更することなく、デバイス・ドライバを追加する
必要なく、通信する。本発明の機能は、2つの相違する
プロセッサが組み合わされた時、たとえめいめいのプロ
セッサが自分本来のオペレーティング・システムを実行
していても、ユーザーには単一のシステムのイメージを
与える。
この機能は、より最近になって開発されたオペレーティ
ング・システムによって提示される特殊な機能を、成熟
したオペレーティング・システムのユーザーの見解及び
信頼性と結合する方法及び手段を提供する。この機能は
、2つのシステム(ハードウェア及びソフトウェア)を
結合して新しい第3のシステムを形成する。この分野の
当業者には、この好適な実施例がS/88システムに結
合されたS/370システムを示しているけれども、任
意の2つの異なるシステムを結合することができること
を理解するであろう。この概念の設計基準は、信頼性を
維持するために成熟したオペレ−ティング・システムに
ははヒんビあるいは全く変更を加えないこと、及びコー
ドの開発期間のためより最近になって開発されたオペレ
ーティング・システムに対するインパクトが最初である
ことである。
この機能は、2つの相違するオペレーティング・システ
ムをそれら固有の特徴を維持しつつ両方の特徴をもつ第
3のシステムに結合する方法に関与する。この発明の好
適な形式は、主に直接メモリ・アクセス・コントローラ
(DMAC,)として機能するシステムの閏の結合論理
を必要とする。この機能の主要な百的は、フォールト・
トレラント・プロセッサ(例えば好適な実施例では57
88)中で走りフォールト・トレラント・オペレーティ
ング・システム上にあるアプリケーション・プログラム
に、異種プロセッサ(例えば好適な実施例ではS/37
0)及びそのオペレーティング・システムからデータ及
びコマンドを獲得する方法炙与えることにある。侵入(
すなわち、監視プログラム対ユーザー状態、メモリ・マ
ツプ・チェツキングなと)を防止するために、どのプロ
セッサにもハードウェアとソフトウェアの両方の幼生機
構が存在する。典型的には、オペレーティング・システ
ムは、割り込み、DMAチャネル、I10装置及びコン
トローラなとのすべてのシステム資源を制御する傾向が
ある。それゆえ、異なる2つのアーキテクチャを結合し
、この機能を徹底的に設計してしまうことなくこれらの
マシンの間でコマンド及びデータを転送することを、多
くの人々は、膨大な作業であり、現実的でないと考えて
いる。
第2図は、この好適な実施例の環境でS788プロセッ
サに結合されたS/370プロセツサを図式的に示して
いる。第1図に示すS/370プロセツサと対照的に、
メモリは5788パス・インターフェース論理によって
置き換えられ、S/370チヤネル・プロセッサは、パ
ス・アダプタ及びパス制御ユニットによって置き換えら
れている。注目すべきであるのは、2重の破線で示す5
7370バス制御ユニツトとS/88プロセツサの間の
相互接続である。
この特徴は、プロセッサ結合論理を、大抵の装置が接続
されるシステム・パスまたはチャネルではなく、S/8
8フオールト・トレラント・プロセッサの仮想アドレス
・パス、データ・パス、制御パス及び割り込みパス構造
に接続することにある。有効アドレスがフォールト・ト
レラント・プロセッサの仮想アドレス・パス上にあるこ
とを示すストローブ線は、アドレス信号が活動化された
後の数ナノ秒活動化される。パス・アダプタ及びパス制
御ユニットをもつ結合論理は、ストローブ信号があられ
れる前に5788アプリケーシヨン・プログラムによっ
て、予め選択されたアドレス範囲が提供されているかど
うかを決定する。もしこのアドレス範囲が検出されたな
ら、アドレス・ストローブ信号は、フォールト・トレラ
ント・プロセッサ・ハードウェアへ行くことをブロック
される。この信号がブロックされることは、フォールト
・トレラント・ハードウェア及びオペレーティング・シ
ステムが、マシン・サイクルが生じたことを知るのを防
止する。このハードウェア中のフォールト・トレラント
・チエツク論理は、このサイクルの間に分離され、この
期間に起こったいかなる活動をも完全に見逃・すことに
なる。そして、そのプロセッサ・パス上のすべてのキャ
ッシュ、仮想アドレス・マツピング論理及び浮動小数点
プロセッサは、マシン・サイクル°が発生したことを認
識しないことになる。すなわち、すべてのS/88CP
Ue!A能は「凍結」サレ、S/88プロセツサによる
アドレス・ストローブ信号の確認を待つ。
フォールト・トレラント・プロセッサ論理からノブロッ
クされたアドレス・ストローブ信号は、結合論理に送ら
れる。これによりS/88フオールト・トレラント・プ
ロセッサに、フォールト・トレラント特殊アプリケーシ
ョン・プログラムとそれに接続されたS/370プロセ
ツサの間のインターフェースである結合論理に対する完
全な制御が与えられる。アドレス・ストローブ信号と仮
想アドレスは、結合論理の要素である論理記憶、レジス
タ及びDMACを選択するために使用される。第S図は
、適切なレベルにあり適切なアトしスに対応していると
決定される、S/370バス制御論理からの割り込みの
検出の結果を図式的に示すものである。それゆえ、その
最も広い側面においては、切り放し機構は、その関連ハ
ードウェアからプロセッサを切断し、データをそのエン
ティティとともに有効に転送するためにプロセッサを異
種エンティティに接続する。
結合論理は、入来S/370コマンドをキューし、S/
370との間で行来するデータを記憶するために使用さ
れる局所記憶をもつ。データ及びコマンドは、結合論理
中の多!iDMAチャネルによって局所記憶へと移動さ
れる。フォールト・トレラント・アプリケーション・プ
ログラムは、DMACを初期化してDMACからの割り
込みにサービスし、DMACは、コマンドが到来した時
またはデータのブロックが送信あるいは受信された時、
アプリケーション・プログラムに通知する働きを行う。
動作を完了するためには、結合論理は、フォールト・ト
レラント・プロセッサの両側が同期状態にあることを保
証するために、プロセッサのクロック端の前に、データ
・ストローブ承認線に信号を返さなくてはならない。
アプリケーション・プログラムは、スタートI10、テ
ストI10などのS/370タイプのコマンドを受け取
る。アプリケーション・ブdグラムは次に、各S/37
0  I10コマンドをフォールト・トレラントI10
コマンドに変換して通常のフォールト・トレラントI1
0コマンド・シーケンスを初期化する。
これはオペレーティング・システムの周辺でアプリケー
ション・プログラムに対してデータのブロックを入手す
る新規な方法であると考える。それはまた、通常はオペ
レーティング・システムによって実行される機能である
割り込みをアプリケーションが処理することを可能なら
しめる方法でもある。このアプリケーション・プログラ
ムは、フォールト・トレラント・プロセッサをその通常
プロセッサ機能からI10コントローラ機能に随意に切
り換えることができ、それは1サイクル・ベースで単に
それが選択する仮想アドレスによって行なわれる。
このように、興種の命令及びメモリ・アドレシング・ア
ーキテクチャをもつ2つのデータ処理システムが、他方
のシステムが一方のシステムの存在に気付くことなく一
方のシステムが他方のシステムの仮想メモリ空間の任意
の部分に効率的にアクセスすることを可能ならしめるよ
うに緊密に結合される。その他方のシステム中の特殊な
コードは、バス上に特殊アドレスを配置することによっ
てハードウェアを介して一方のシステムと通信する。ハ
ードウェアは、そのアドレスが特殊なものかどうかを判
断する。そしてもしそうなら、ストローブが別のシステ
ムの回路によって感知されるのをブロックされ、別のシ
ステムのCPUが特殊なハードウェアと、両方のシステ
ムにアクセス可能なメモリ空間を制御することができる
ように方向転換される。
その他方のシステムは、必要時、初期化及び構成タスク
などのために、一方のシステムを完全に制御することが
できる。その一方のシステムは、いかようにしてもその
他方のシステムを制御することができないが、その他方
のシステムに対して、次のようにしてサービスの要求を
出すことができる。
すなわち、その一方のシステムは、工10゛コマンドま
たはデータを共通にアクセス可能なメモリ空間中の1つ
のシステム・フォーマットでステージし、特殊なハード
ウェアを使用して、その他方のシステムに対して、特殊
なアプリケーション・プログラムを呼び出して活動化さ
せる特殊なレベルで割り込みを与える。
その他方のシステムは、ステージされた情報を含むメモ
リ空間へと指向され、そのフォーマットを別のシステム
の固有の形式に変換するようにそれを処理する。次に、
アプリケーション・プログラムは、その変換されたコマ
ンド及びデータ上で本来のI10動作を実行するように
その他方のシステムの本来のオペレーティング・システ
ムを指令する。このように、上述のすべてのことは両方
のシステムの本来のオペレーティング・システムに対し
て完全に透過的であって、南方のシステムの本来のオペ
レーティング・システムにあまり変更をくわえることな
く起こるのである。
E4.オペレーティング・システムに対して透過的なシ
ステムに対して割り込みを与えること現在の大抵のプロ
グラムは、2つくまたはそれ以上)の状態、すなわち、
監視状態またはユーザー状態のうちの1つの状態で実行
する。アプリケーション・プログラムはユーザー状態で
実行し、割り込みなとの機能は監視状態で走る。
アプリケーションはI10ボートに接続し、そのポート
をオープンし、読取、書込または制御の形式のI10要
求を発行する。その時点で、プロセッサは、タスク切り
換えを行うことになる。オペレーティング・システムが
、I10完了を通知する割り込みを受け取る時、オペレ
ーティング・システムはこの情報を読取キューに入れそ
れをシステム資源の優先順位によってソートする。
オペレーティング・システムはすべての割り込みベクタ
を自己使用のため留保し、よっていかなる割り込みベク
タも、他のマシンからのI 10!求を通知する外部割
り込みなどの新しい機能には商用でない。
好適な実施例のS/88においては、商用な割り込みベ
クタの大部分は実際には未使用であり、これらは、オペ
レーティング・システムにおいて慣用である「非初期化
」または「疑似」割り込みのための共通エラー・ハンド
ラに対するベクタリングをもたらすためのセットアツプ
である。本発明の好適な実施例は、これらの、さもなく
ば未使用であるところのベクタのサブセットを、S/3
70結合論理割り込みのための特殊な割り込みハンドラ
に対する適切なベクタと交換する。この変更された57
88オペレーテイング・システムは、次に、適所に新規
に構成されたベクタによる使用のために再構成(reb
ound)される。
好適な実施例のシステム/88は、8つの割り込みレベ
ルをもち、レベル4を除くすべてのレベルで自動ベクタ
(autovector )を使用する。本発明のこの
実施例は、これらの自動ベクタ・レベルのうちの1つ、
すなわち最高レベルの次のレベルであるレベル6を使用
する。このレベル6は、通常、システム/88によって
A/C電力擾乱割り込みのために使用される。
システム/370をシステム788に結合する論理は、
その割り込み要求をA/CIE力擾乱の割り込みとOR
することによってレベルeに対する割り込みを提供する
。システム初期化の間に、論理割り込みを接合するため
の特殊な割り込みハンドラに対する適切なベクタ番号が
、S/88オペレーテイング・システムに対して透過的
であるアプリケージ璽ン・プログラムによって、結合論
理中に(例えばDMACレジスタ中に)ロードされる。
なんらかの割り込みがシステム788によって受け取ら
れる時、その割り込みは、その割り込みを処理し最初の
割り込みハンドラ命令をフェッチするためのハードウェ
ア及び5788プロセツサの内部命令のみを使用して割
り込み承認(IACK)サイクルを初期化する。そのと
き、プログラム命令の実行は必要とされない。しかし、
ベクタ番号もまた取得され透過的な様式で与えられな(
てはならない。このことは、好適な実施例では、レベル
6の割り込みが結合論理によって提供されるときS/8
8を(A/C電力擾乱のための割り込み提供機構を含む
)その関連ハードウェアから切り放し、S/370− 
S/88結合論理に5788プロセツサを結合すること
によって達成される。
より詳しくは、5788プロセツサはその出力に@能コ
ードと割り込みレベルを設定し、IACKサイクルの開
始時点でアドレス・ストローブ(AS)及びデータ・ス
トローブ(DS)をも立ち上げ(assert)る。ア
ドレス・ストローブは、もし結合論理割り込み提供信号
が活動状態にあるなら、AC電力擾乱割り込み機構を含
むS/88ハードウエアからブロックされ、適切なベク
タ番号を読みだすためにASが結合論理に送られ、その
適切なベクタ番号は、データ・ストローブによってS/
88プロセツサ中にゲートされる。データ・ストローブ
はS/88ハードウエアからブロックされるので、マシ
ン・サイクルCIACK)は、結合論理割り込みベクタ
番号を取得することに関連してS/88オペレーテイン
グ・システムに対して透過的である。
もし結合論理割り込み信号がIACKサイクルの開始時
点で活動状態でなかったなら、通常のS/88レベル6
割り込みが行なわれるこヒになる。
E5.興なる仮想記憶オペレーティング・システムを実
行する2つまたはそれ以上のプロセッサの間で実記憶を
共用すること この機能は、フォールト・トレラント・システムを、フ
ォールト・トレラント記憶をサポートするためのコード
、すなわちホットプラギングを介しての記憶ボートの除
去及び挿入と、こわれたデータの瞬間的検出と、もし適
当ならその回復をサポートするためのコードをもたない
異種プロセッサ及びオペレーティング・システムに結合
する。
この機能は、めいめいが興なる仮想オペレーティング・
システムを実行する2つまたはそれ以上のプロセッサが
両方のオペレーティング・システムに対して透過的であ
るような様式で単一の実記憶を共有し、これら複数のプ
ロセッサの間のデータ転送を行うことができるように1
つのプロセッサが、別のプロセッサの記憶にアクセスす
ることができるような手段と方法を提供する。
この機能は、ユーザーには2つに見えるオペレーティン
グ・システム環境を結合して、ユ−ザーに単一のオペレ
ーティング・システムのように見えるようにする。各オ
ペレーティング・システムは、通常自己の実記憶空間全
体を制御する仮想オペレーティング・システムである。
この発明は、共通システム・バスを介して両方のプロセ
ッサによって共有される実記憶空間を1つだけもつ。そ
して、どちらのオペレーティング・システムも実質的に
書き直されるこヒはなく、どちらのオペレーティング・
システムも他方のオペレーティング・システムが存在し
、あるいは実記憶が共有されているこヒを知らない。こ
の機能は、第1のオペレーティング・システムの記憶割
り振りキューを検索するために第1のプロセッサ上で走
るアプリケーション・プログラムを使用する。そして、
第2のオペレーティング・システムの必要条件を満足す
るに十分な連続的な記憶空間が見出されると、この記憶
空間は、ポインタを操作するこヒによって、第1のオペ
レーティング・システムの記憶割り振りテーブルから除
去される。第1のオペレーティング・システムは、もし
アプリケーション・プログラムが第1のオペレーティン
グ・システムに記憶を返さないなら、この除去された記
憶の使用権(例えば、再割り振りする能力)をもつ。
第1のオペレーティング・システムは、Iloの立場か
らは第2のオペレーティング・システムに対して従属し
ており、第2のオペレーティング・システムに対して1
/○コントローラヒして応答する。
第1のオペレーティング・システムは、全てのシステム
資源の支配者であり、好適な実施例ではハードウェア・
フォールト・トレラント・オペレーティング・システム
である。第1のオペ1メーテイング・システムは、初期
的には(第2のオペレーティング・システムのために「
盗まれた」記憶を例外として)記憶を割り振り且つ割り
振り解除し、全ての関連ハードウェア障害及び回復を処
理する。その目的は、オペ1ノーテイング・システムに
大幅な変更を加えることなく2つのオペレーティング・
システムを結合することである。各オペレーティング・
システムは、自分がすべてのシステム記憶を制御してい
るヒ信じなくてはならない。なぜなら、それが両方のプ
ロセッサによって使用されつつある単一の資源だからで
ある。
システムにiE[が投入されたとき、第1のオペレーテ
ィング・システムヒそのプロセッサは、システムの制御
を引き受け、ハードウェアが第2のプロセッサをリセッ
ト状態に保持する。第1のオペレーティング・システム
はシステムをブートし、どれだけの量の実記憶があるか
を決定する。
オペレーティング・システムは結局はすべての記憶を4
KB (4096バイト)ブロックに構成し、可用な各
ブロックを記憶割り振りキュー中にリストする。キュー
中にリストされた各4KBブロツクは、可用な次の4K
Bブロツクを指し示す。第1のシステムによって使用さ
れる記憶は、除去されるか、キューの先頭から4KBブ
ロツクとして追加されるかのどちらかである。そしてブ
ロック・ポインタは適宜v4節される。ユーザーがオペ
レーティング・システムからメモリ空間を要求する時、
その要求は、キューから実メモリの必要な数の4KBブ
ロツクを割当てることによって満足される。その記憶が
最早必要でなくなったヒき、ブロックはキューに戻され
る。
次に、第1のオペレーティング・システムが、システム
を構成する、モジュール・スタートアップと呼ばれる一
連のa能を実行する。このモジュール・スタートアップ
によって実行されるアプリケーション・プログラムは、
第1のオペレーティング・システムから記憶を捕捉しそ
れを第2のオペレーティング・システムに割り振るため
に使用される新しいアプリケーションである。このプロ
グラムは、記憶割り振りリスト全体を走査し記憶の4K
Bブロツクの連続的なストリングを見出す。このアプリ
ケーション・プログラムは次に、そのキューの一部のポ
インタをブロックの千の連続的なストリングに対応する
ように変更し、以て第1のオペレーティング・システム
のメモ(J割り振りリストから記憶の連続的なブロック
を除去する。好適な実施例においては、除去された第1
の4KBブロツクに先行する4KBブロツクのポインタ
が、その除去されたブロックの連続的なストリングの直
ぐ次に続< 4KBブロツクを指し示すように変更され
る。
二の時点で第1のオペレーティング・システムは、もし
システムが再ブートされずアプリケーション・プログラ
ムが記憶ポインタを返しもしないならこの実メモリ空間
のこヒを知らずそれの制御も有さない。それはあたかも
第1のオペレーティング・システムが、それ自体上で走
るプロセスに割り振られ、再割り振り可能でない実記憶
のセグメントを考慮しているかのようである、というの
は、ブロックはテーブルから除去され、ユーザーに単に
割当てられているのではないからである。
除去されたアドレス空間は次に、第2のオペレーティン
グ・システムへと向けられる。第1のオペレーティング
・システムから取得された第2のオペレーティング・シ
ステムに与えられたアドレス・ブロックを、!’52の
オペレーティング・システムに対してアドレス・ゼロか
ら始まるように見せるハードウェア・オフセット論理が
存在する。fs2のオペレーティング・システムは次に
、あたかも自己の実記憶であるかのように、第1のオペ
レーティング・システムから取得した記憶を制御し、自
己の仮想記憶マネジャを通じてその記憶を制御する。す
なわち、第2のシステムによって発行された仮想アドレ
スを、その割当てられた実記憶アドレス空間内の実アド
レスに変換する。
第1のオペレーティング・システムは、第2のプロセッ
サの記憶空間にI10データを出入することができるが
、第2のプロセッサのプロセッサが追加記憶空間につい
て知らないため、第2のプロセッサは、その割り振られ
た空間から読み書きすることができない。もし第2のオ
ペレーティング・システム中でオペレーティング・シス
テムの誤動作か生じると、ハードウェア・トラップが、
!2のオペレーティング・システムが第1のオペレーテ
ィング・システムの空間に不用意に書き込みを行うのを
防止することになる。
第2のオペレーティング・システムに割り振られた記憶
空間の量は、ユーザーによって、モジュール・スタート
アップ・プログラム中のテーブルに定義される。もしユ
ーザーが、第2のプロセッサが16メガバイトをもつよ
うに望むなら、ユーザーはそのことをモジュール・スタ
ートアップ・テーブル中に定義し、アプリケージ3ン・
プログラムがそれだけの空間を第1のオペレーティング
・システムから獲得することになる。特殊5vC(サー
ビス・コール)により、アプリケーション・プログラム
が、ポインタを変更することができるように、第1のオ
ペレーティング・システムの監視領域にアクセスするこ
とが可能ならしめられる。
両方のオペレーティング・システムが同一の記憶を共有
することが望ましい理由は、その記憶が第1のプロセッ
サ上でフォールト・トレラントであり、第2のプロセッ
サが第1のプロセッサからのフォールト・トレラント記
憶及びIloを使用することが許されるからである。第
2のプロセッサは、ハードウェアのうちのあるものを複
製し、アドレス、データ及び制御線のうちのあるものを
比較することによってフォールト・トレラントとなされ
る。これらの技術を使用することによって、第2のプロ
セッサは、フォールト・トレラント能力をもたないにも
かかわらず、事実上、フォールト・・トレラント・マシ
ンとなる。また、各異種プロセッサ毎に設けられた個別
の実記憶を用いることにより、第2のタイプのプロセッ
サ及びオペレーティング・システムを2つ以上、第1の
タイプのオペレーティング・システムに結合することが
できる。
好適な実施例では、第1のオペレーティング・システム
は、フォールト・トレラントS/88のオペレーティン
グ・システムであり、第2のオペレーティング・システ
ムは、S/370のオペレーティング・システムのうち
の1つであり、第1及び第2のプロセッサはそれぞれS
/88及びS/370プロセツサである。この機能は、
通常非フォールト・トレラントであるシステムをして、
フォールト・トレラント・システムによって維持される
フォールト・トレラント記憶を使用することを可能なら
しめるのみならず、非フォールト・トレラント・システ
ムをして、(1)フォールト・トレラント・システムに
よって維持されるフォールト・トレラント1101置に
対するアクセスを共有し、(2)チャネル対チャネル結
合の対した遅延を生じることなくより効率的な様式でシ
ステム間のデータ交換を可能ならしめるのである。
E6.単一システム・イメージ 単一システム・イメージという用語は、ユーザーの遠隔
データ及び*源(例えば、プリンタ、ハードファイルな
ど)に対するアクセスが、1−ザーにヒって、そのユー
ザーのキーボードに接続されているローカル端末のデー
タ及び資源に対するアクセスと同一に見えるようなコン
ピュータ・ネットワークを特徴づけるために使用される
。このとき、ユーザーは、オブジェクトのネットワーク
中の位置を知る必要なく単に名前でデータ・ファイルま
たは資源にアクセスすることができる。
ここで、「誘導された(derived)単一システム
・イメージ」という概念が新しい用語として導入され、
これは、単一システム・イメージをもつネットワークに
直接接続するための設備は欠くけれとも、効果的な単一
システム・イメージによってそれにia核i絖するため
にネットワークのハードウェア及びソフトウェア資源を
利用するネットワークのコンピュータ要素に適用するこ
ヒを意図している。
説明の便宜上、「誘導された単一システム・イメージ」
の効果を生じさせるための、コンピュータ・システムの
直接接続は、そのシステム及びネットワークの要素の間
のさまざまな程度の□結合によって有効化することがで
きる。ここで使用する「緩い結合」という用語は、ネッ
トワークの一部である、誘導されたコンピュータと「本
来の」コンピュータのI10チャネルを介して有効化さ
れたM&である。「緊密結合」とは、誘導されたコンピ
ュータと「本来の」コンピュータのおのおのをして、直
接的に(すなわち、既存のI10チャネルを使用するこ
となく)互いに通信することを可能ならしめる特殊なハ
ードウェアを通じて確立される、それらの関係を記述す
るために使用される。
いま考慮する、「透過的緊密結合」と称する特殊なタイ
プの緊密結合は、各コンピュータ(誘導されたコンピュ
ータヒ「本来の」コンピュータ)のおのおのをして、め
いめいのコンピュータのオペレーティング・システムが
利用を意識することがないような様式で、他方のコンピ
ュータの資源を利用することを可能ならしめる結合ハー
ドウェアの適用に関与するものである。透過的緊密結合
は、結合ネットワークにおいてコスト及び性能上の利点
を達成するためのベースを形成する。
結合ハードウェアのコストは、設計の複雑さにも拘らず
、さもなければ必要とされるであろうところのオペレー
ティング・システム・ソフトウェアの大幅な変更を回避
することによって実減される節約による埋め合わせ以上
のものである。性能上の利点は、結合インターフェース
における直接結合及び帯域干渉の低減によるより迅速な
接続から生じてくる。
「ネットワーク」という用語は、ここでは、ある特殊な
プロトコルに従い多くの相違するマシン・タイプのもの
が接続されるような大規模な国際遠隔通信/衛星接続の
構成である、現在より一般的なネットワークの概念より
も限定的である。
ここではむしろ、「ネットワーク」は、システム788
の接続された複合体、または単一システム・イメージの
特徴をもつ別のプロセッサの接続された複合体に当ては
まるように使用される。
ここで考慮する単一システム・イメージの概念を説明す
るためにいくつかの注意深く定義された用語が使用され
、この発明の次のような特殊な実施例を説明の根拠とし
て使用することにする。
(a)高速データ相互接続(HSDI)とは、個別のハ
ードウェア・ユニット間のデータ転送のためのハードウ
ェア・サブシステム(及びケープル)のことをいう。
(b)リンクとは、完全に、別のソフトウェア・オブジ
ェクトに対する多重部分ポインタからなり、別名のキャ
ラクタを大部分もつソフトウェアmtまたはオブジェク
トのことをいう。
(e)モジュールとは、筐体、電源、CPU、メモリ及
びI10装置のそれぞれを少なく1とも1つもつ自立的
処理装置のことをいう。モジュールは、追加の周辺装置
を取り囲んでより大型の単一モジュールを形成するよう
に複数の厘体をボルトで繋ぎあわせることによって拡張
することができる。Iloには外部的なものもあって(
端末、プリンタ)、ケーブルに1って筺体に接続される
それらは、単一モジュールの一部と見なされる。
モジュールはCPU複合体を1つだけもつ。
(d)CPU複合体とは、同一の筐体内にある1つまた
はそれ以上の単一または双対プロセッサ・ボードのこと
であって、単一のCPUとして動作するようにオペレー
ティング・システム・ソフトウェアによって管理され制
御される。導入されるプロセッサ・ボードの実際の数に
関係なく、とのユーザー・プログラムまたはアプリケー
ション・、プログラムは、あたかも−個のCPUが存在
するかのように書かれ実行される。処理作業量は、可屈
なCPUボードの間でおおまかには共用され、複数のタ
スクを並行して実行することもできるが、各アプリケー
ション・プログラムに与えられるのは「単一CPUイメ
ージ」である。
(d)オブジェクトとは、階層的な名称によって一意的
に識別するこヒができるシステム(ディスク、テープ)
中に記憶される(実行可能プログラム)データの集まり
のことである。リンクは別のリンクに対する、一意的に
名付けられたポインタであり、よってオブジェクト自体
であると考えられる。I10ポートは、特殊1/○装置
(データ・ソースまたはターゲット)を指し示す、一意
的に名付けられたソフトウェア構成であり、よってやは
りオブジェクトである。オペレーティング・システムは
、オブジェクト名の重複を効率的に防止する。
「単一システム・イメージ」という用語は、従来の文献
で一貫的に使用されている訳ではないので、ここでは「
誘導された単一システム・イメージ」について詳細に説
明することにする。「単一システム・イメージ」ヒいう
用語を定義し記述するこヒにおいて、「イメージ」とは
、システム及び環境に対するアプリケーション・プログ
ラムの視点のこ・とを言うものとする。この文脈での「
システム」とは、アプリケーションのプログラマが命令
を指向するところのハードウェア(cPU複合体)及び
ソフトウェア(オペレーティング・システムヒそのユー
ティリイ)の結合を意味する。
「環境」ヒは、オペレーティング・システムに対するサ
ービス要求を通じて、オペレーティング・システムによ
ってアクセス可能であり従ってプログラマによってll
lff按的にアクセス可能であるすべての170装置及
びその他の接続された設備を意味する。
真に単一の、オペレーティング・システムをもつ自立的
コンピュータは、プログラマに対して単一システム・イ
メージを提供しなくてはならない。プログラマが眺める
この「イメージ」が変わり始めるのは、I10装置及び
分散処理を共有するために複数のシステムを互いに結合
することを要望するときだけである。すなわち、遠隔通
信線(ケーブルの場合さえも)を介しての2つのマシン
の通常の相互接続は、拡張された機能を利用するために
、プログラマに、2つの環境を理解しその処理を習得す
ることを強いるのである。
一般的に、別の環境の設備にアクセスするためには、プ
ログラマは、自分のローカルのオペレーティング・シス
テムに、別のオペレーティング・システムに対する必要
条件を通信するように要求し、これらの必要条件を詳細
に記述しなくしはならない。
プログラマは次に、任意の長さの遅延の後、(m切な順
序で)要求の結果を非同期的に受け取る能力をもたなく
てはならない。複数メツセージの処理と制御及びマシン
間のデータ転送は、雨方のマシンに相当な処理オーバー
ヘッドをもたらし、そのような双対システム環境ではプ
ログラマにとってやっかいで、非能率で困難な状況にな
るこヒがある。また、そのように慣用的に接続されたマ
シンの数が増大するにつれて、プログラマにとっての複
雑度は激増する。
システム788のもとのデザインは、この状況を簡単化
し、プログラマに対して単一システム・イメージを与え
るための手段、すなわち、各モジュール間のH8DI接
続、及び各モジュール内のH6DI[動ソフトウェアを
含んでいた。このとき、例えば2モジユール・システム
においては、2つのオペレーティング・システムの各々
がシステム全体について「知り」、他方のオペレーティ
ング・システムの動的な介在なくH8DIを亙る設備に
アクセスすることができる。通信オーバーヘッドの低減
も相当である。
さまざまなサイズとモデル・タイプの多数のモジュール
を)(SDIを介して!IRし、プログラマにとって〈
拡張可能な〉環境のように見えるシステム複合体を形成
することができる。そして、プログラマの製作物、すな
わちアプリケーション・プログラムは、このシステム複
合体のディスクに記憶し、複合体中の任意のCPUで実
行し、複合体の実質的に任意の端末から制御あるいはモ
ニタし、データを複合体の任意のI10装置の間で転送
することができ、しかもそれにはいかなる特殊なプログ
ラミング的配慮は要さず、従来の方法よりも実行効率が
改善されている、という次第である。
オペレーティング・システム及びそのさまざまの機能と
設備は、本来的に分散環境を想定し、ユーザーが、さま
ざまなエンティティ(ユティリティ、アプリケーション
、データ、言語プロセッサなど)が存在する場所に係わ
ったりそれに制御を及ぼす必要がないような環境内で動
作するような方法で書かれている。このことの全てを可
能ならしめるための重要な点は、各オブジェクトが固有
な名前をもつなくてはならない、という強制された規則
である。この規則は、最も基本的な名前修飾子がモジュ
ール名であり、それ自体が複合体内で固有でなくてはな
らないので、システム複合体全体に容易に拡張される。
それゆえ、複合体全体でとれかのオブジェクトを見付け
だすのは、それに正しく名前をつけるのと同じ位に簡単
である。オフへジエクトに名前を付けることは、リンク
を与えることによってプログラマのために簡易化され、
それにより、非常に短い別名ポインタが、極めて長く複
雑な名前をもつオブジェクトの名前に置き換えられるこ
とが可能となる。
この相互接続された5788モジユール内で「誘導され
た単一システム・イメージ」の概念を達成するために、
複数のS/370プロセツサが、5788プロセツサに
対して、S/370ユーザーのために、S/88単一シ
ステム・イメージの少なくともある1IWiJt−提供
するように結合される。S/370プロセツサ及びオペ
レーティング・システムは、これらの機能を与えない。
S/88モジユール内には、1つまたはそれ以上のS/
370プロセツサが与えられる。S/88プロセツサは
、各S/370プロセツサに一意的に結合される。見て
取れるように、各57370プロセツサは重複化され、
フォールト・トレラント動作のために5788ソフトウ
エアによって制御される。S/88とS/370プロセ
ツサのこの一意的な直接結合は、好適には前述の切り放
し及び割り込み機構によって行なわれ、S/88及びS
/370オペレーテイング・システムの両方に対して透
過的であるプロセッサの間でデータ転送を行う。そして
、どちらのオペレーティング・システムも、他方のプロ
セッサまたはオペレーティング・システムの存在に気づ
かない。
各S/370プロセツサは、S/370主記憶、及びエ
ミュレートされたS/370 110チヤネルとI10
装置を完全に提供するために、フォールト・トリラント
5フ88システムを使用する。このS/370は、S/
88の一部でない主記憶、チャネル、またはI10装置
をもたず、これらの設備は全て設計によりフォールト・
トレラントである。
システム構成時に、各S/370プロセツサには、S/
88スプールからの主記憶の1乃至16メガバイトの専
用連続ブロックが割当てられる。
このブロックは、S/88オペレーテイング・システム
が不意にすらもアクセスすることができないように、5
788の構成テーブルから除去される。フォールト・ト
レラント・ハードウェア・レジスタは、各S/370の
ための記憶ポインタを保持し、以てS/370は、割当
てられた以外の主記憶にアクセスするすべがない。その
wIxjp、は、S/370によって完全に慣用的な単
一システムの視点が与えられ、メモリのフォールト・ト
レラントな側面は、完全に透過的である。S/8S中の
アプリケーション・プログラム(EXEC370)は、
実際のS/88装置及びS/88オペレーテイング・シ
ステム・コールを使用してS/370チヤネル及びI1
0装置をエミュレートする。それはアプリケーション・
プログラムであるので5788複合体の単一システム・
イメージをもち、以てこの視点は、57370の「疑似
チャネル」全体に拡張される。
その逆の観点、すなわちS/370オペレーテイング・
システムの観点(拡張によるアプリケーション・プログ
ラム)からは、全てのI10動作が行なわれる窓(チャ
ネル)を視覚化してみることができる。すなわち、窓は
性質は変わらず1、すなわちS/370プログラマは変
わる必要がないが、その窓が拡大される視点は、「単一
システム・イメージ」属性を有している。そうして、わ
ずかな概念的なステップが、5788によって管理され
るものである、単一のデータベースを効率的に管理する
多数のS/370を描き出すのである。
この接続技術の結論は、比較的簡単で迅速な各S/37
0の動的再構成である。チャネル「む」は双方向であり
、S/88制御プログラムEXEC370は、その反対
側にある。EXEC370は、S/370 CP Uを
停止し、再初期化し、再構成し、再開させる完全な能力
をもつ。こうして、単一システム・イメージ属性(S/
88  Ilo及びオペレーティング・システム)を所
有する別の設備を使用したS/370 110R備の透
過的なエミュ1ノーシコンによって、この属性は拡張さ
れS/370に供される。
S/370には、それゆえ、オブジェクト位置型属性が
与えられている。そのユーザーは、S/88オペレーテ
イング・システム・ディレクトリにおいて割当てられた
名前である、その名前によってデータ・ファイルまたは
他の資源にアクセスするこヒができる。ユーザーは、S
/370及びS/88モジユールの複合体におけるデー
タ・ファイルの位置について知る必要はない。
1つのモジュール中のS/370処理装置によって発行
されたS/370  I10コマンドは、同一または他
の接続されたモジュール中にあるデータ・ファイルなビ
にアクセスするために、同一モジュール中のS/370
処理装置に緊密に結合された関連S/88処理装置によ
って(あるいは、モジュール9に相互接続され、マルチ
プロセッシングをサポートする5788仮想オペレーテ
イング・システムの同一のコピーによって制御される別
のS/88処理装置によって)処理される。そのコマン
ドは、アクセスされたファイルを、要求側57370処
理装置に戻すか、例えば別のファイルと組合せるために
それらを別のモジュールへと送る。
E7.!!!約 このようにして、2つの仮想オペレーティング・システ
ム(S/370  VM、VSと、またはlX370及
びS/88 0S)の機能が1つの物理的システムに組
み合わされる。S/88プロセツサはS/88 0Sを
走らせ、そのシステムのフォールト・トレラント的側面
を処理する。
それと同時に、1つまたはそれ以上のS/370プロセ
ツサがS/88ラツクに差し込まれ、各S/370プロ
セツサ毎に、S/88 0Sによって、1乃至16メガ
バイトの連続的なメモリが割り振られる。各S/370
仮想オペレーテイング・システムは、そのメモリ位置が
アドレス0で開始すると考え、そのメモリを、通常のS
/370動的メモリ割り振り及びベージング技術を用い
て管理する。S/370は、S/370がS/88メモ
リ空間にアクセスするの@:防止するために限界チエツ
クされる。S/88は、S/88がI10データをS/
370  I10バッファに移動しなくてはならないの
で、S/370アドレス空間にアクセスしなくてはなら
ない。S/88オペレーテイング・システムは、全ての
ハードウェア及びI10装置に対して支配権をもつ。単
一システム環境において対等プロセッサ対は、どちらの
オペレーティング・システムをもあまり書き直すことな
く、めいめいのオペレーティング・システムを実行する
E8.序論−従来のシステム/88 本発明の実施例は、(VM、VSと、lX370などの
S/370オペレーテイング・システムのどれかの制御
の下でS/370命令を実行する)IBMシステム/3
70 (S/370)が、単一システム・イメージのシ
ステム/88!!1!能と、ホットプラグ可能性と、瞬
間的エラー検出と、I10負荷分散と、故障分離及び動
的再構成可能性をもつS/370処理装置のフォールト
・トレラント動作を可能ならしめるような方法で、(S
/88システム命令を、フォールト・トレラント環境で
、S/88オペレーテイング・システムの制御の下でフ
ォールト・トレラント的に実行する)IBMシステム/
88 (S/88)処理装置に緊密に結合されてなる好
適な形式に関して説明される。
インターナシコナル・ビジネス・マシーンズ・コーポレ
ーションによって販売されているIBMシステム/88
は、1988f−に発行された、IBM System
 Digest第2版、及び他の入手Mf能なS/88
刊行物に説明されている。モジュール10(第6A図)
を含むシステム/88のコンビ二−タ・システムは、高
信頼性オンライン・システム処理を必要とする顧客の要
請を満たす工うに設計された高可用性システムである。
システム788は、2重化されたハードウェア・アーキ
テクチャを、フォールト・トレラント・システムを提供
するように、複雑なオペレーティング・システム・ソフ
トウェアと結合する。システム788はまた、システム
/88高速データ相互接続(H8DI)(第8B図)を
通じた多重システム/88モジユール10a、10b、
10e、及びシステム/88ネツトワークを通じた(第
ee図)モジスール10d乃至10gの接続によって垂
直方向の拡張を与える。
システム/88は、要素の故障が発生した時それがとこ
かを検出し、そのような故障によってもたらされるエラ
ー及び中断がシステムに導入されるのを防止するように
設計されている。フォールト・トレランスはシステム7
88ハードウエア設計の一部であるので、アプリケージ
3ン・プ゛ログラムの開発者によるプログラミングを必
要としない。すなわち、フォールト・トレランスは、ソ
フトウェアのオーバーヘッドまたは性能の低下をもたら
すことなく認識される。システム788は、プロセッサ
、直接アクセス記憶装置(DASD)、ディスク、メモ
リ及びコントローラなとの主要な構成要素を複写(21
化)することに1ってフォールト・トレランスを遺戒す
る。もし2重化された要素が故障すると、その21化さ
れた相手が自動的に処理を継続し、システムは末端ユー
ザーに対して可屈的であり続ける。システム/88及び
そのソフトウェア製品は、拡張の容易性と、ユーザー間
の資源の共有と、複雑な必要条件に対する解決を与えつ
つ、末端ユーザーに対して単一システム・イメージを維
持するのである。
単一システム・イメージは、ネットワークまたはLAN
によって相互接続され、めいめいが自分のファイルとI
loをもつ多くのプロセッサからなり、ユーザーに対し
て、単一マシンにログオンしているかのごとき印象を与
える分散処理環境である。オペレーティング・システム
は、ユーザーをして、ディレクトリを変更するだけで、
1つのマシンから別のマシンへ移行することを可能なら
しめる。
適切な計画により、システム/88が走っている間に、
末端ユーザーに対する単一システム・イメージを保った
ままで、システム/88の処理容量を拡張することがで
きる。システム/88HSD1を使用して複数の処理モ
ジュールをシステムに結合し、システム/88ネツトワ
ークを使用して複数のシステムをネットワークに結合す
ることにより、水平方向の拡張が達成される。
システム/88処理モジユールは、第6A図に示すよう
に、完全な、単独コンピュータである。
システム788システムは、単一モジュールであるか、
または、第6B図に示すようにIBMH8DIを用いた
、ローカル・ネットワークである。遠隔伝送設備を使用
したシステム788ネツトワークは、ユーザーに対して
単一システム・イメージを形成するように複数のシステ
ムを相互接続するために使用される設備である。長距離
ネットワークを形成するために、通信回線によって、2
つまたはそれ以上のシステムを相互接続することができ
る。この接続は、直接ケーブル、リースされた電話回線
、またはX、25ネツトワークを通じて行うことができ
る。システム788ネツトワークは、遠隔資源に対する
参照を検出し、ユーザーには完全に透過的に、モジュー
ルとシステムの間でメツセージを経路指示する。
ホットプラグ可能性とは、システム動作を中断させるこ
となく多くのハードウェア交換を可能ならしめるもので
ある。システム78日は、故障した要素をサービスから
外し、2重化した一方の側によってサービスを続け、全
くオペレータの介入なく、故障要素上で表示装置を点灯
させる。すると、処理が続いている間に、顧客またはサ
ービス要員が、故障した2重化ボードを除去し交換する
ことができる。このとき、顧客に対する恩恵として、タ
イムリーに修理できることと、保守コストが低いことが
ある。
システム788は、フォールト・)・レランド、連続動
作マシンではあるけれども、マシン動作を停止させる必
要がある時もある。そのような例ヒしては、システム/
88オペレーテイング・システムのアップグ1ノード、
ハードウェア構成の変更(主記憶の追加)、またはある
種のサービス手続がある。
2重化されたシステム/88の要素とシステム788ソ
フトウエアは、データの完全性を維持することを支援す
る。システム/88は、故障または故障時点の過渡エラ
ーを検出し、それをアプリケーション・プログラムまた
はデータに伝搬しないようにする。データは汚染から保
護され、システムの完全性が維持される。各要素は、自
己のエラー検出論理及び診断手段をもっている。このエ
ラー検出論理は、各マシン・サイクルの並列動作の結果
を比較する。
もしシステムが要素誤動作を検出したなら、その要素は
自動的にサービスがら除去される。そして、故障要素が
内部診断によってチエツクされている間に、処理は、2
重化した他方の側で統けられる。この故障検出!I能は
、処理が2重化した他方の側で続けられる間に、サービ
スから除去された故障要素上で自動的に診断ルーチンを
走らせる。もしその診断によりある要素の交換の必要あ
り、との決定がなされたなら、システム788は、その
問題を報告するために、自動的にサポート・センターを
呼び出すことができる。すると、顧客は、迅速な修理と
、低い保守コストがら恩恵を受ける訳である。
システム/88は一般的には、米国特許第446321
6号、同第4697084号、同第4854867号及
び同第4816990号に基づく。米国特許第4463
215号の一部が本願の第71!i1及び第8図に図式
的に示されている。
第7r:IA及び第8図のコンピュータ・システムは、
処理装置12と、ランダム・アクセス記憶装置1eと、
周mvJim装置20.24.32と、モジュールの複
数の装置の間の全ての情報を与える単一のパス構造をも
つプロセッサ・モジュールを有する。各プロセッサ・モ
ジュール内のパス構造は1.2重化対バスA、Bをもち
、各!l#11ユニット12.16,20.24.32
も同一の相手ユニットをもつ。非同期周辺装置によって
動作する制御装置以外の各ユニットは、通常、その相手
ユニットと、ステップをロックされて同期的に動作する
ゆ例えば、プロセッサ・モジュールの2つのメモリ・ユ
ニット16.18は通常、ともに2つの対パスA、Bを
駆動し、ヒもにパス構造30によって完全に同期して駆
動される。
コンピュータ・システムは、プロセッサ・モジュール内
の各機能レベルで故障検出を行う。この機能を達成する
ために、エラー検出器が各ユニット内のハードウェア動
作を監視し、ユニット間の情報転送をチエツクする。エ
ラーの検出により、プロセッサ・モジュールが、エラー
を生じたパスまたはユニットが別のユニットに情報を転
送しないようにエラーを生じたパスまたはユニットを分
離し、そのモジュールは動作を継続する。その継続され
る動作は、故障のパスまたはユニットの相手側のパスま
たはユニットを使用する。エラーの検出が情報の転送に
先行する場合、継続される動作は、その転送を、故障が
ない場合にその転送が行なわれるであろう時間と同一の
時間にその転送を行うことができる。エラー検出が情報
転送と同時である時には、継続される動作は、転送壱反
復することができる。
コンピュータ・システムは、上述の故障検出及び回復動
作を迅速に、すなわち1動作サイクル以内に行うことが
できる。コンピュータ・システムは、有効性があやしい
データ転送を、高々単一情報転送分もつだけであるので
、全体のデータ有効性を保証するためには転送を反復し
さえすればよい。
プロセッサ・モジュールは、フォールト・トレラント動
作を与えるために、相当なハードウェア冗長性をもって
いるけれども、2重化ユニットをもっていないモジュー
ルでも、やはり完全に動作する。
この機能的ユニット冗長性は、とれかのユニットで故障
が生じた時、モジュールが動作を41続するのを可能な
らしめる。一般的に、プロセッサ・モジュールは、故障
が検出されない限り、選択された同期性を以て、連続的
に動作する。そして、どれかのユニットで故障が検出さ
れると、そのユニットは、モジュールの他のユニットに
情報を転送するこヒができないように、分離され、切り
放される。切り放されたユニットの相手は、通常、実質
的に中断なく動作を継続する。
フォールト・トレラント動作を与えるための、モジュー
ル内の機能ユニットの双対2!!化に加えて、プロセッ
サ・モジュール内の各ユニットは、一般的に、データ転
送に関連するハードウェアの複製をもつ。この機能ユニ
ット内の複製の目的は、別のユニットとは独立に、その
ユニット内で障害をテストするこヒにある。エラー検出
構造などの、モジュール内の別の構造は、一般的には2
重化されない。
プロセッサ・モジュールの全てのユニットにサービスを
行う共通パス構造は、好適には、前述の2レベルの複製
と、Aパスと、Aパスを複製するBパスと、Xパスを形
成する341の導体をもつ。A及びBパスのおのおのは
、同一のセットのサイクル定義、アドレス、データ、パ
リティ及び、ユニットの間のエラー情報の転送を警告す
るために比較することのできる他の信号を流す。2重化
されていないXパスの導体は、一般的には、タイミング
、エラー状態、及び電力などの、モジュール全体の信号
及び他の動作信号を流す。追加的なCパスは、相手のユ
ニットとの間のローカル通信のために設けられている。
プロセッサ・モジュールは、ユニットの2!!化部分の
動作を比較し、パリティ及び他のエラー・チエツク・コ
ードを使用することなどの、各機能ユニット内の技術の
結合と、供給電圧などの動作パラメータの監視によって
、故障を検出する。各中央処理装置は2つの冗長処理部
分をもち、もし比較結果が無効を示すなら、その処理ユ
ニットを、パス構造へ情報を転送しないように分離する
。このことは、プロセッサ・モジュールの他の機能ユニ
ットを、問題の処理装置から生じ得る障害情報から分離
することになる。各処理装置は、複製されない仮想メモ
リ動作を実行するための段ももつ。この段では、処理装
置は寧ろ、障害を検出するためのパリティ技術を採用す
る。
ランダム・アクセス・メモリ装置1Bは、2つの非冗長
メモリ区画によって配列され、そのおのおのは、メモリ
・ワードの異なるバイトの記憶毎に配列され、ている。
この装置は、エラー訂正コードによって、各メモリ区画
、及び2つの区画の複合体の両方で障害を検出する。こ
こでも、エラー検出器は、そのメモリ・ユニットを、潜
在的にエラーの可能性がある情報がパス構造、ひいては
別のユニットに転送されないように無効化する。
メモリ・ユニット16にはまた、2重化されたパス導体
、すなわちパスA及びバスBをチエツクする、というタ
スクが割当てられている。このため、ユニットは、アド
レス信号をテストし、パス構造上のデータ信号をテスト
するパリティ・チエッカをもっている。さらに、コンパ
レータが、パスA上の全ての信号を、Bバス上の全ての
データと比較する。このようにしてどちらかのパスが故
障していることを検出すると、メモリ・ユニットは、X
パスによって、モジュールの他のユニットに、故障して
いない側のパスにのみ従うように通知する。
プロセッサ・モジュールのための周辺制御ユニットは、
共通パス構造との接続のためのパス・インターフェース
区画と、「駆動」及び「チエツク」ヒ称される2重化制
御区画と、ユニットがサービスを行う周辺入出力装置と
を採用する。また、ディスク・メモリ62a、62bを
動作させるためのディスク制御ユニット20.22と、
通信パネル50を通じて、端末、プリンタ及びモデムを
もつ通信装置を動作するための通信制御ユニット24.
26と、1つのプロセッサ・モジュールを、多重プロセ
ッサ・システム中の他のプロセッサと相互接続するため
のH8DI制御ユニット32.34が存在する。各側で
、パス・インターフェース区画が、AパスまたはBパス
の駆動及びチエツク制御区画に人力信号を供給し、パス
構造のある入力信号の論理エラーをテストし、駆動及び
チエツク・チャネルからの信号出力の同一性をチエツク
する。各周辺制御ユニット中の駆動制御区画は、そのユ
ニットにサービスする■10装置に適切な、制御、アド
レス、状況及びデータ操作機能を与える。そのユニット
のデータ制御区画は、駆動制御区画をチエツクする、と
いう目的のためには実質的に同一である。各制御ユニッ
トの周辺インターフェース区画は、制御ユニットと、周
辺装置の間を通過する信号にエラーがないかどうかをテ
ストするためのパリティ及びコンパレータ装置の組み合
わせをもつ。
通信制御ユニット24などの、同期的I10装置により
動作する周辺制御ユニットは、その相手ユニット24と
、ステップをロックされた同期状態で動作する。しかし
、対のディスク制御ユニット20.22は、異なる非同
期ディスク・メモリにより動作するので、その同期は限
定的である。
対のディスク制御ユニット20.22は、同時に書きこ
み動作を行うが、ディスク・メモリが互いに非同期的に
動作する限りにおいて、厳密な同期にはない。制御ユニ
ット32及びその相手もまた、典型的には、限定された
程度の同期で動作する。
モジュールのためのtgユニットは、2つのバルク電源
を使用し、そのおのおのは、対のユニットの一方のユニ
ットにのみ動作電力を提供する。
このように、1つのバルク電源が、パス構造の1つの2
重化部分と、2つの対メモリ・ユニットの1つと、周辺
制御ユニットの多対の1つのユニットに給電する。バル
ク電源はまた、プロセッサ・モジュールh非2重化ユニ
ットにも電力を与える。このモジュールの各ユニットは
、1つのバルク電源から動作電力を受取り、そのユニッ
トが必要とする動作電圧を発生する電力供給段をもつ。
この電力供給段は、さらに、供給電圧を監視する。そし
て、障害的な供給電圧を検出すると、その電力段は、そ
のユニットからパス構造への全ての出力線をアース電位
にクランプする信号を発生する。この動作は、任意のユ
ニットにおける電力障害が、パス構造への障害的な情報
の伝送をもたらすのを防止する。
プロセッサ・モジュールのうちには、実際の情報転送の
前にエラー検出タイミング・フェーズを含む動作サイク
ルによって各情報転送を実行するものがある。この動作
を行うユニット、例えば、周辺装置のための制御ユニッ
トは、このようにして、障害が検出される際の情報転送
を禁止する。
しかし、このモジュールは、中断または遅延なく動作を
継続することができ、*禁止相手ユニットから情報転送
を行う。
一般的には、動作時間がより重要である中央処理装置と
メモリ・ユニットとを少なくとも含む、プロセッサ・モ
ジュールの他のユニットは、各情報転送を、その転送に
関連するエラー検出ヒ同時に実行する。そして、障害が
検出されると、そのユニットは直ちに、別の処理ユニッ
トに直ぐ前の情報転送を無視するように報知する信号を
発生する。プロセッサ・モジュールは、その障害状態を
報告したユニットの相手からその情報転送を反復するこ
とができる。この動作方法は、各情報転送が、エラー訂
正のための遅延を生じることなく実行される、ヒいう点
で、最大の動作速度をもたらすものである。遅延は、障
害が検出される比較的わずかの例でのみ生じる。また、
複数のユニットがアクセスを要求している時に、とのユ
ニットがシステム・バスに対するアクセスを獲得するの
かを決定するためのパス調停手段が設けられている。
E9.H3DIネットワークを介して相互接続されたフ
ォールト・トレラントS/370モジユール 第7図は、前述の従来技術モジュール10における、S
/370及びS/882重化プロセッサ12.14の相
互接続を示す。これらは、モジュール10の2!!化S
/8B、:lニット12.14にt1!換えられた時、
新規且つ独特の57370モジユール9を形成する。そ
のような独特のモジュール9が、モジュール10のため
の、第6B及び6C図に示すのと同様の様式でS/88
 ・HSDIとネットワークによって相互接続されてい
る時、それらは、フォールト・トレランスと、単一シス
テム・イメージと、ホットプラグ可能性と、同一モジュ
ール内の複数5788処理装置間でのI10負荷共有な
どのS/88の機能をもつ(S/88複合体でなくて)
S/370複合体を形成する。
特に、独自モジュール9の相手ユニット21.23中の
S/370プロセツサは、個々のS/370オペレーテ
イング・システムの制御の下で57370命令を実行し
、相互接続された5788プロセツサは、S/88アプ
リケーシヨン・プログラムヒ連結した5788オペレー
テイング・システムの制御の下で、個別のS/88記憶
及びS/88記憶辺装置と連結したS/370  I1
0100全てを実行する。
さらに、この新規なモジュール9内には、モジュール9
内でのS/3701数プロセツサ環境を可能ならしめる
ために、S/370− S/88プロセツサ対二ニツト
25及び27と、29及び31を収容することができる
。さらに、対ユニット21.23と、26,27と、2
9.31内のS/370プロセツサは、各組対毎に興な
るS/370オペレーテイング・システムの下で動作す
ることができる。
EIO02重化プロセッサ対ユニット21.23の一般
的説明 !Pi8(!lは、S/370及びS/88プロセツサ
をユニット21内で相互接続するための好適な形式を示
す図である。
ユニット21の下部分は、各プロセッサ要素の対60,
82において単一のプロセッサ要素を除けば、前述の米
国特許第4453216号のプロセッサ12と実質的に
同一の中央プロセッサ12をもつ。米国特許第4453
215号においては、それぞれがユーザー・コードとオ
ペレーティング・システム・コードとを実行するために
、参照番号60及び62のところに双対プロセッサが設
けられている。
本発明では、その両方の!!能が、単一のマイクロプロ
セッサ、好適にはモトローラMC68020マイクロプ
ロセツサによって実行される。尚、MC68020マイ
クロプロセツサは、モトローラ社発行の、著作権198
9.1988、MC680201Jsers  Man
nual、第3版に説明されている。
このように、各プロセッサ要素(PE)80及び62は
、好適にはモトローラMC88020マイクロプロセツ
サである。マルチプレクサ(MPLX)61,63がプ
ロセッサ要素60.62を、米国特許第4453215
号に詳述されるような方法で、アドレス/データ/制御
A及びBバスとトランシーバ12eによってパス構造3
0に接続する。また、要素60.62のためにローカル
制御84.66と仮想記憶マツプ12eが設けられてい
る。コンパレータ(比較)12rは、パス30とプロセ
ラサス素60,62の間を行来する制御、データ及びア
ドレス線上の信号を比較することによって、エラーをも
たらす障害をチエツクする。その信号の不一致は、コン
パレータ12fから共通制御回路86へ至るエラー信号
を引き起こし、共通制御回路86は、バス構造30のX
パス上にエラー信号を送出し、処理ユニット12を切り
放すためにトランシーバ12e中のドライバ(図示しな
い)を無効化する。クランプ回路89.90は、ユニッ
ト12の電力障害に応答して、ユニット12からの全て
の出力線をアースにクランプする。これらの要素は、米
国特許第4453216号に詳述されている。
第8図の上方部分は、S/370プロセツサ要素85.
87の対を5788パス構造、及びS/88プロセツサ
要素60.62に接続する好適な形式を示す図である。
プロセッサ要素86.87は、マルチプレクサ71.7
3及びトランシーバ13を介して、要素60.62がバ
ス構造30に挾絖されているのと論理的に同様の様式で
バス構造30に接続されている。
コンパレータ(比較回路)15(第32A及び32B図
に詳述〉と、クランプ回1177及び79と、共通制御
75が設けられ、制御回路86は、プロセッサ要素60
.62のS/88割り込み機構に結合されている。S/
370プロセツサ85.87とその関連ハードウェアは
、エラー処理と回復を行うために5788を使用する。
このため、共通制御回路75は、共通制御量f%86が
、比較回路15によって検出されたエラーを処理するこ
とを可能ならしめるために、$196を介して共通制御
回路86に結合される。この結合線9E5はまた、共通
制御75及び86が、ビちらかのプロセッサ対にエラー
が生じた場合に、その両方のプロセッサを切り放すこと
を可能ならしめる。
ユニット21中のS/370プロセツサ装置の好適なm
或は、中央処理(プロセッサ)要素85.87と、記憶
管理ユニット81.83と、プロセッサ間(例えばS/
370とS/88)インターフェース89.91をもつ
。記憶管理ユニット81.83は、マルチプレクサ71
.73と、トランシーバ13と、バス構造30を介して
、プロセッサ要素85.87をS/88主記憶16に結
合する。
インターフェース89.91は、S/370プロセッサ
要素86,87をそれぞれ、S/88プロセツサ要素6
2.60のプロセッサ・パスに結合する。
相手のプロセッサ・二ニット23は、プロセッサ・ユニ
ット21と同一である。上記説明に関連して、ユニット
21中の2つのプロセッサ要素60.62及び、ユニッ
ト23中の対応する2つの要素(図示しない)は全て、
同一のS/88オペレーテイング・システムの制御の下
で、同一の命令を同時に実行するために、通常ロックス
テップ的に動作する。
同様に、ユニット21中の2つのプロセッサ要素85.
87及び、ユニット23中の対応する2つの要素(図示
しない)も、同一のS/370オペレーテイング・シス
テムの制御の下で、同一の命令を同時に実行するために
、互いにロックステップ的に動作する。
ユニット21または23にエラーが生じた場合、そのユ
ニットは、別のユニットによるフォールト・トランシー
バの継続を可能ならしめるために、サービスから除去さ
れる。
さて、S/370処理ユニツトのある特定の実現構成に
ついて以下説明するけれども、インターナシ璽ナル・ビ
ジネス・マシーンズ・コーポレ−シランから発行され入
手可能な、IBM System/370Princi
ples ofOperation (発行番号GA2
2−7000−10.111版、1987年9月〉に記
述されている必要条件と互換な別の実現構成を使用して
もよいことが理解されよう。
第9A及び第9BY:J!Jは、第8図のプロセッサ・
ユニット21のS/370及びS/88構處要素の物理
的パッケージングの一形態を示す図である。対の処理要
素85.87を含むS/3705!素が1つのボード1
01上に取り付けられ、対の処理要素80.62を含む
S/88要素が別のボード102上に取り付けられる。
2つのボード101及び102は、サンドイッチ対10
3を形成するように互いに剛性的に接着され、モジュー
ル9の背面パネル(rIA示しない)の2つのスロット
に挿入するように適合され、慣用的な背面パネル結線技
術によって、ボード101及び102上の要素が、第8
I51I及び米国特許!4463216号に示されてい
るように、互いに且つパス構造30に接続される。
S/370プロセツサの、S/88プロセツサに対する
直接結合を説明する前に、S/370プロセツサをして
、<1)S/8’B主記憶の一部を使用し、<2)S/
88仮想記憶空間のあるものを利用するS/88とコマ
ンド及びデータを交換することを可能ならしめる機構に
ついて簡単に説明しておくことは、本発明の理解を助け
るであろう。これらの機構については後でも詳細に説明
する。
第10図は、1つのモジュール9の記憶管理ユニット1
05による、実記憶16に対するS/88仮想記憶のマ
ツピングの好適な形式を示す図である。仮想記憶空間1
06は、S/88オペレーテイング・システム空間10
7と、ユーザー・アプリケーション空間108とに分割
される。そのスペース内で、gx域109(アドレス0
07E0000から007EFFFF)は、各S/37
0プロセツサ要素を、ユニット21などのプロセッサ・
ユニット中のS/88プロセツサ要素に結合するために
使用されるハードウェア及びコードのために予約されて
いる。アドレス空間109は、通常のシステム動作の閏
S/88オペレーティング・システムに対して透過的に
なされている。この空間109の用途については後で詳
細に説明する。
システム初期化の間に、記憶管理ユニット105は、S
/88主記憶装置16内に、ユニット21及び23なと
の岨(partnered)ユニット中の4つのS/3
70プロセツサ要素からなる各セット毎に、S/370
主記憶領域を割当てる。こうして、組みユニット21.
23と、25.27と、29.31のそれぞれに、3つ
のS/370主記憶領域162.163及び164が設
けられる。
組みのユニット内のS/88プロセツサ要素は、米国特
許第4453215号に示すような様式で、記憶装置1
eの残りの部分にアクセスする。
S/370記憶領域162乃至184は、後述するよう
に、5788オペレーテイング・システムが、これらの
領域が「盗られて」おり、S/88空間に戻されないな
ら記憶管理ユニットによって再割当て可能でない、とい
うことを知ることがないような様式で、割当てられる。
S/370システムは仮想システムであるので、それは
アドレス変換を介して主記憶vA域にアクセスする。組
の主記憶装置18も、同一のS/370主記憶領域(図
示しない)を必要とする。各S/370プロセツサ要素
は、その個別のS/370主記憶領域にのみアクセスす
ることができ、それがS/88主記憶にアクセスしよう
とする試みであるならエラー信号を発生する。5788
プロセツサはしかし、S/88プロセツサ要素がそれの
S/370プロセツサ要素のためのI10コントローラ
として動作するときに、S/370  I10100間
に、S/370プロセツサ要素のS/370主記憶領域
にアクセス(またはアクセスを導く〉ことができる。
El 1.S/370及びS/88プロセツサ要素の結
合 第8図は、ユニット21.23のおのおので2つずつの
組みとなった、プロセッサ要素85なビの4つのS/3
70プロセツサ要素と、ユニット21.23のおのおの
で2つずつの組みとなった、プロセッサ要素68などの
4つのプロセッサ要素S/88が与えられ、それらが、
全ての57370プロセツサ要素が同時に同一のS/3
70命令を実行し、全てのS/88プロセツサ要素が同
時に同一の5788命令を実行するように結合される様
子を図式的に示している。このように、4つのS/37
0プロセツサは全て、プログラム実行に関する限り、1
つのS/370プロセツサ・ユニットとして動作する。
同様に、4つのS/88プロセツサ要素は全て、1つの
5788プロセツサ・ユニットとして働く。
それゆえ、説明を容易にするために、要素の多重複製に
ついて説明が必要である場合を除き、゛以下の説明は、
主として1つのS/370プロセツサ要素85及び1つ
の5788プロセツサ要素e2と、それに関連するハー
ドウェア及びプログラム・コードに言及するものとする
同様に、例えばマルチプレクサ61.63.71.73
及びトランシーバ12e111による、パス構造30に
対するプロセッサ要素の結合も、説明の便宜上、実質的
に記載から省くこヒとする。この結合に関しては、第3
2図を参照されたい。
それゆえ、第11図は、プロセッサ・パス170と、S
/370記憶管理ユニツト81を含む第1の経路によっ
て、システム・パス30及びS/88記憶16にプロセ
ッサ要素8Sが結合された様子を示している。プロセッ
サ要素85は、プロセッサ要素間インターフェース89
を含む第2の経路によって、プロセッサ要素S2のプロ
セッサ・パス161に結合されているものとして示され
ている。プロセッサ要素8Sは、記憶16中の、割当て
られたS/370主記憶領域162がらデータ及び命令
をフェッチ(及び記憶)するためのS/370プログラ
ム実行の間に第1の経路を使用する。また、プロセッサ
要素62は、インターフェース89を含む第2のis上
で、プロセッサ要素85のためのS/370  I10
動作を実行する。
好適な実施例においては、S/370チツプ・セット1
50(第11図)は、プロセッサ要素85と、クロック
152と、ディレクトリ・ルックアサイド・テーブル<
DLAT)341をもつキャッシュ・コントローラ16
3と、パス・アダプタ154と、オプシゴンの浮動小数
点コプロセッサ151と、S/370アーキテクチヤを
サポートするマイクロコードのセットを記憶するための
制御記憶171のための個別の機能チップを含む。この
S/370チツプは、インターナシ首ナル・ビジネス・
マシーンズ・コーポレーションによって販売されている
、(VSE/SP、VM/SP、IX/370などの)
既存のS/370オペレーテイング・システムのどれか
によって動作されるように適合することができる。
キャッシュ・コントローラ153は、記憶制御インター
フェース(STCT)166とともに、S/370記憶
管理ユニツト81を形成する。パス・アダプタ164及
びパス制御ユニット(BCU)15Bは、プロセッサ要
素インターフェース89のためのプロセッサ要素を含む
ゆ 好適な実施例においては、プロセッサ要素85などのS
/370CPUは、32ビツト・データ・フローと、3
2ビツト算術/論理ユニツト(ALU)と、3つのボー
ト・データ・ローカル記憶中の32ビツト・レジ、スタ
と、8バイトS/370命令バツフアをもつ32ビツト
・マイクロプロセッサである。S/370命令は、ハー
ドウェア中で実行されるかまたは、マイクロ命令によっ
て解釈される。チップ153は、S/370プログラム
命令及びデータと、関連記憶制御機能のためのキャッシ
ュ記憶を与える。チップ153は、プロセッサ要素85
がそのプログラム命令を実行するときに、プロセッサ要
素85から発行される全ての記憶要求を処理する。チッ
プ163はまた、I10データの転送時に、パス・アダ
プタ164からの要求をも処理する。
パス・アダプタ154及びBCU156は、入出力動作
の間に、内部S/370プロセツサ・パス170をS/
88プロセツサ・パス181に直接に(あるいは緊密に
)相互接続するための論理及び制御を与える。BCU1
56は、プロセッサ要素85及び62のプロセッサ・パ
スを互いに直接結合するための主要な機構である。後述
するように、プロセッサ要素85及び62の間でデータ
及びコマンドを転送するために、プロセッサ要素62が
その関連システム・ハードウェアから「切り放された」
とき、S/88プロセツサ要素(PE)62と対話する
のがこのハードウェア機構である。
クロック・チップ152(第121g)は、クロック信
号発生のための集中化論理を使用し、別のチップ8S、
151.163及び154のおのおのに適切なりロック
信号を供給する。クロック162は一方、S/370プ
ロセツサgl!素8SとS/88プロセツサ要素e2の
両方を同期させるために、システム788パス30から
のクロック賃号によって制御される。
プロセッサ結合/切り放しハードウェア以外に、2つの
興なるS/370及びS/88ハードウエア・アーキテ
クチャを組合せる統合部分は、非フォールト・トレラン
ト・ハードウェアを、フォールト・トレラント・パス構
造30に前以て同期的に接続する手段である。好適な実
施例では、このインターフェースは、S/370キヤツ
シユ・コントローラ153及びS/88システム・パス
30と通信しなくてはならない5TCI論理156によ
って処理される。さらに、非フォールト・トレラント・
ハードウェアは、互いにm手ユニットをもってロックス
テップで走る能力をもつ「チエツク」及び「駆動」論理
を形成するように、第8図に示すようにボード上で複製
されなくてはならない。このように、ボード101及び
102上のシステム要素からなる「単一の」CPUは、
その2重化された相手ユニットとロックステップで走ら
なくてはならない。最適な性能及びan性を維持しつつ
上述の必要条件を実現するためのタスクは、興なるクロ
ック啄の同期化を要する。
好適な実施例では、S/88システム・クロック38(
第7rs)が、共通パス構造30に接続された全ての装
置によって受け取られ、2つのS/88クロツク・サイ
クルがパス30のサイクル毎に決定される。このシステ
ム・クロック38は、そのパス上の同期的通信を保証し
、個々のプロセッサまたはコントローラによって、その
システム・クロックに基づき内部クロック周波数渾壱作
處するために使用される。S/370ハードウエアは、
S/370クロツク・チップ152への発aS入力を利
用し、S/370クロツク・チップ152は、それぞれ
別のS/370チツプ85.1、Sl、153.154
.155に対する固有のクロックの組を発生する。この
クロック・チップ152は、動作温度、製造偏差などの
さまざまなパラメータに基づく本来的な遅延を有する。
この通電偏差は、冗長チエツク及び駆動論理の閏のロッ
クステップ同期を維持することと、5TC1155及び
パス構造30の間の完全バイブラインを維持することの
両方において許容できない。
第12C及び第19C図に示すように、好適な実施例は
、ボード101をして、S/370プロセツサ・サイク
ルを、S/88パス30サイクルと同期させつつ、リセ
ット後(すなわち、電源投入なと)ロックステップで走
らせることを可能ならしめるように、冗長クロック同期
論理16B(及び、その相手のS/370プロセツサ・
スニットのための冗長クロック同期論理(図示しない)
)を利用する。S/88クロツク38からのクロック信
号は、パス構造30を介して、S/88とS/370の
同期のためと、システム・パス30を介しての主記憶へ
のアクセスのために、同期論理158とSTCI論理1
55に供給される。
この同期化は、先ず、S/370クロツク・チップ15
2への所望のS/370発振器入力周波数を達成するた
めに、5788クロツクを乗算することによって達成さ
れる。この場合、それはS/88及びS/370クロツ
ク・サイクルの2倍である。第2に、S/370サイク
ルの開始を表す41169上のフィードバック・パルス
が、それ自体はS/88半サイクル周期に等しい、57
370発振器人カクロツク周期の前端及び後端を表すS
/88クロツクによってサンプルされる。
次に、線159上のサンプルされたS/370クロツク
・フィードバック・パルスがサンプルされる窓から外れ
、または5788クロツクの開始に重なるリセットの場
合、S/370発振器入力が1つのS/370サイク、
ルについて否定される。
このことは、この実施例では、次のS/370クロツク
・フィードバック・パルス(11E59上)のサンプリ
ングが、そ゛の所望の窓内に収まることを保証するよう
に、現在のS/370クロツクを拡張する働きを行う。
第32図に詳細に示す(例えば参照番号402a乃至4
02g)全ての比較論理16(第8図)は、チエツク及
び駆動ハードウェアの同期を可能ならしめるために、こ
の期間は無視される。
それゆえ、S/370プロセツサ・サイクルは、S/8
8クロツク周期の開始の5788半サイクル周期内に開
始するこヒが保証される。パス構造30及びS/370
キヤツシユ・コントローラ153の間の全ての転送タイ
ミングは、1IIt悪でもこの半サイクルの遅延しか呈
さない。さらに、比較論理15は、S/88クロツクで
サンプルされる線によってのみ供給され、以て「破断」
論理403の、随伴S/88プロセツサ・ボード102
との同期を保証する。よって、チエツク及び駆動S/3
70ハードウエアは実際はその個々のクロック発生論理
における遅延偏差によってわずかに同期から外れるかも
しれないが、そのクロックの前後端はパス構造30に共
通な現在のS/88クロツク38に相対的にロックステ
ップ的に走ることになり、遅延が5788クロツク・サ
イクルの開始後半サイクル以上になることは決してない
、同期論理168は、半サイクル周期を超えるドリフト
がないことを保証するために、線159上のS/370
クロツク・フィードバックを連続的にモニタする。この
実施例においては、任意のシステム・リセッ1−の間に
両端を同期させるには最大エバス30サイクルが必要で
ある。しかし、1つのクロック端をしてそのS/370
クロツクを「延長、させる、リセットからの全体の遅延
における何らかのドリフトは、ボード「破断」状態、す
なわち、障害をもたらすことになる。
第12図は、第11図の#l虚をより詳細に示すもので
ある。ここでは、S/370制御記!171がプロセッ
サ要素85に接続されているものとして示されている。
この好適な実施例における制御記憶171は、プロセッ
サ要素85内のプログラム命令の実行及びI10動作を
制御するマイクロ命令を記憶するための113KBのラ
ンダム・アクセス・メモリからなる。制御記憶171は
、主記憶装置le内のS/370!用記憶182の一部
である内部オブジェクト領1t(IOA)187(第2
8図)からの要求に応じてロードされた過渡的マイクロ
コードを保持するためのパッファヒして使用されるf3
4Bブロック186をも含む。
この図では、プロセッサ要素62のパス構造161が仮
想アドレス・パス161A及びデータ・パス181Dに
分割されているものとして示されている。プロセッサ要
素62は、浮動小数点プロセッサ172と、キャッシュ
173と、ここではETIOとして参照されている結合
マイクロコードを記憶するために使用されるマイクロコ
ード記憶装置174とを含むハードウェアを接続されて
なる。後で説明するように、キャッシュ173中に記憶
されるマイクロコード及びアプリケーション・プログラ
ムは、プロセッサ要素8SのためのI10動作を実行す
るべくプロセッサ要素62及びBCU論理15Gを制御
するために使用される。
プロセッサ要素62はまた、アドレス変換機構175を
有する。書込パイプ176は、システム/88動作の高
速化のために次のサイクルの間にシステム・パス30に
対するデータの適用のために、1書込サイクルの間に一
時的にデータを記憶する。米国特許第4463216号
に記述されているタイプのシステム/88パス論理17
7は、米国特許第4463216号に概略的に説明され
でいるような様式で変換機構175と書込パイプ176
をシステム・パス30に結合する。また、同様のシステ
ム/88バス論理ユニツト178が、記憶制御インター
フェース155をシステム・パス30に結合する。
バッファ180と、プログラム可能読取専用メモリ18
1と、記憶182及びレジスタ・セット183が、シス
テム788及びシステム/370の初期化の間に使用す
るために、プロセッサ要素62に結合されている。FR
OMI 81は、電源投入シーケンスからシステムをブ
ートするために必要なテスト・コードとI DCODE
をもつ。PROMI 81は、S/88のための同期化
コードをもつ。レジスタ183は、システム状況及び制
御レジスタをもつ。
S/370チツプのうちの2つは同一の物理ボード上に
取り付けられ、同期され、ボード自体のチエツクを行う
ために、ロックステップでプログラムを実行する。ST
Cパス157及びチャネル0.1バスは、S/370プ
ロセツサが別のフィールド交換可能ユニットにエラーを
伝搬することがないように、潜在的な障害をモニタされ
る。
インターフェース89のBCU158及びアダプタ15
4は、どのオペレーティング・システムもシステムを完
全には制御しないように、各プロセッサ(プロセッサ要
素S2及び85)が他方のプロセッサに対して適当な制
御をもつことを可能ならしめる。各プロセッサの機能は
、インターフェース89及び、各プロセッサで走るマイ
クロコードによって制御される。
E12.プロセッサ間インターフェース89E12A、
I10アダプタ154 アダプタ154(第13図)は、その出力チャネル0.
1を介して、S/370プロセツサ85をBC0156
へインターフェースする。そのチャネルは、非同期2バ
イト幅データ・パス250.261の対をもつ。パス2
60,261は、一対の64バイト・バッファ259.
260を介して、プロセッサ・パス170中の同期4バ
イト櫂データ経路に結合されている。データは、パス2
51を介してBCU166からアダプタ154(及びS
/370主記憶162〉へ、そしてパス250を介して
アダプタ154からBCU15Bへ転送される。
アダプタ154は、次のようなレジスタを有する。
(1)ベース・レジスタ110は、ベース・アドレスと
、キュー及びメイルボックス・アドレッシングのために
使用されるキュー長さを含む。
(2)読取ポインタ(RPNTR)レジスタ111及び
書込ポインタ<WPNTR)レジスタ112は、ベース
・アドレスから、それぞれ読取及び書込のためにアクセ
スすべき次のエントリへのオフセットを含む。その値は
、コマンドまたはアドレスがパス170を介してキャッ
シュ制御163に転送されるべきときに、コマンドとと
もにパス送信レジスタ(BSR)116中にロードされ
ることになる。
(3)状況レジスタ(IO3R)、118は、全ての、
プロセッサ装置からECUへの、及びBCUからプロセ
ッサ装置への要求と、インバウンド・メツセージ・キュ
ーの状況と、BCUインターフェースの状況を含む。
(4)もし例外イネーブル・レジスタ(ER)119中
のビットが1であり対応するl03Rビツトが1である
なら、プロセッサ要素86中に例外が立ち上げられる。
(6)制御ワード・レジスタ(cW)120は、いくつ
かのl08Rビツトのセット/リセットを制御する。
(6)アドレス・チエツク境界レジスタ(ACBR)1
21は、内部オブジェクト領域<l0A)187の開始
ページ・アト1ノスを保持する。
(7)アドレス・キー・レジスタ(ADDR/KEY)
122,123は通常、記憶162中のある位置にアク
セスするために、アドレス/データ・パス250及び2
51を介してBCU16Bによってロードされる。これ
らのレジスタは、ステトのために、プロセッサ要素85
によってロードすることができる。
(8)コマンド・レジスタ(cMDo、1)124.1
25には通常、BCUI 66によっr、コマンド及び
バイト・カウントがロードされる。これらのレジスタは
、ステトのために、プロセッサ要素85によってロード
することができる。
アダプタ154は、プロセッサ要素8SとBCol 6
6の間のインターフェースである。論理的には、アダプ
タ154は、BCU158に対して次のようなサービス
を提供する。
−S/370主記憶162に対するアクセス−3/37
0主記憶11B2中のメイルボックス及びメツセージ・
キューに対するアクセス−プロセッサ要素8SとBCU
168の間の要求/応答機構 BCU16Bは、そのIOA領域187(第28図)を
含む、記憶182の全体にアクセスを有する。アダプタ
154は、アダプタ154からプロセッサ・パス170
を介して、キー、コマンド及び記憶162アドレス・デ
ータを受け取った後キー・チエツクがキャッシュ・コン
トローラ153によって実行されている間に、IOA領
域187とユーザー1![*166の間のアドレス境界
チエツク<ACBチエツク)を行う。もし記憶すべきデ
ータのアドレスされた線がキャッシュに保持されている
なら、そのデータはキャッシュに記憶される。そうでな
いなら、コントローラ153はそのデータを主記憶16
2に転送する。データ・フェッチのためにも、それと同
一の機構がキャッシュ・コントローラ153中で使用さ
れる。
プロセッサ要素(PE)85及びBCU166の閏のI
10コマンド及びメツセージの転送は、第28図に示す
予定の記憶162位置(メイルボックス領域188及び
インバウンド・メツセージ・キュー189)を通じて行
なわれる。
BCU158は、ISバイトのメイルボックス領域18
8からI10コマンドをフェッチする。
メイルボックス領域へのアクセスのためのアドレスは次
のようにして計算される。
ベース・アドレス中メツセージ・キュー長さ+メイルボ
ックス中のオフセット 最初の2つの項は、アダプタ154中のベース・レジス
タ110によって供給され、最後の項は、BCU156
によって供給される。キュー長さは、ベース・レジスタ
110中の2つのビットによって、1.2.4または8
KB (すなわち、64乃至512エントリ)にセット
される。 そのベースは、ベース・レジスタ110中で
、バッファ・サイズの2倍(すなわち、2乃至16KB
)にセットされる。
インバウンド・メツセージ・キュー189は、BCU1
54を介して受け取った全てのメツセージを、時系列順
に記憶する。各エントリは、16バイト長である。
レジスタ111.112中の読取ポインタ(RPNTR
)及び書込ポインタ(WPNTR)は、BCU158に
よって、キュー189に対してエントリを読み出し、ま
たは書き込むために使用される。プロセッサ要素85は
、センス動作によって読取ポインタにアクセスする。そ
して、レジスタ110中のベース・アドレス+WPNT
Rが、書き込むべき次のキュー・エントリを指し示し、
レジスタ110中のベース・アドレス+RPNTRが、
読み取るべき次のキュー・エントリを指し示す。
これらのポインタは、各キュー動作毎に更新される。
WPNTR+ 16−WPNTR(Imき込み後)RP
NTR+16コRPNTR(読取り後)次の状態は、ポ
インタの比較から生じる。
RPNTR=WPNTR(キューが空)RPNTR=W
PNTR+16  (キューが一杯、もしBCtl16
Bがキューに対する書き込みを要求するなら、バッファ
使用不可能(BNA)信号が状況パスを介してBCUに
送られる)メイルボックス領域188に記憶されたデー
タの有効性は、次のような機構によってプロセッサ要素
85からBCU166へ、あるいはその逆へ報知される
線268a (第1e図)上のプロセッサ装置からBC
Uへの要求は、制御マイクロ命令を用いてプロセッサ要
素8Sによってセットされる。その要求は、BCU15
Bに、メイルボックス188から命令をフェッチし、そ
れを実行するように伝える。その要求は、その命令の実
行後は、BCUによってリセットされる。その要求の状
態は、プロセッサ要素85によってセンスすることがで
きる。
BCIJ166は、プロセッサ要素8Sによって開始さ
れた命令の実行の間または任意の時点で問題が生じた時
に、要求を作成する。それは、もし選択的にマスクされ
ないなら、プロセッサ要素85中に例外を引き起こす。
アダプタ154は、非同期アダプタ・チャネル0.1の
転送速度を、同期プロセッサ・パス1゛70に一致させ
る。それゆえ、BCU156は、BCU156との間の
データ転送のためにアダプタ154中、にある64バイ
ト・データ・バッファ259.260によってサポート
される。そのアレイは、チャネル0.1と、プロセッサ
・パス170に対する4バイト・ボートをもつ。
同期レジスタ113及び114は、BCU156及びバ
ッファ・アレイ260,259の間のデータ転送をバッ
ファする。パス送信及び受信レジスタ115及び11B
は、それぞれ、プロセッサ・パス170との間で受信さ
れ、または転送されたデータを記憶する。
記憶動作(110データ記憶、キュー動作)は、チャネ
ル1バスを介してアダプタ154に、コマンド/バイト
・カウント、保護キー及び記憶アドレスを送るBCU1
6Bにぶって開始される。そのコマンド/バイト・カウ
ントは、コマンド・パス252(第13図)上で受け取
られ、コマンド・レジスタ125に格納される。キー及
びアドレス・データは、アドレス/データ・パス251
 (第13図〉を介してBCU156から受け収られ、
キー/アドレス・レジスタ123中に格納される。アレ
イ書込及び読取アドレス・ポインタは、レジスタ128
中の開始アドレスにセットされる。パス251上のデー
タ転送の回数(−度に2バイト)は、バイト・カウント
によって決定される。1回の記憶動作によって、64バ
イトまでのデータを転送することができる。ある記憶動
作内の任意のバイトの記憶アドレスは、64バイト境界
ヒ交差してはならない。
そのコマンド/アドレスには、パス251上のデータ・
サイクルが続く。全てのデータは、64バイト・バッフ
ァ260中に集められる。最後のデータがBCIJ15
6から受信された後、アダプタ154は最初に2つのデ
ータ・バッファ259.260のための内部優先権チエ
ツク(図示しない)を実行し、次にプロセッサ・パス1
70上の支配権(図示しない)を要求し、そこでアダプ
タ154は、最も高い要求優先権をもっことになる。
どちらの場合にも、バッファ259.260は、内部優
先権制御が最初にバッファ259に対してパス170を
許可すると同時に、そしてバッファに対する調停サイク
ルなしで転送を要求し、すなわち読取が書込に対して優
先権をもっこヒになる。
パスの支配権が許可されたとき、コマンド/バイト・カ
ウント、保護キー及び開始アドレスがキャッシュ・コン
トローラ153に転送される。
コマンド転送サイクルの後には、データ転送サイクルが
続く。
キャッシュ・コントローラ153は、保護キー・チエツ
クを実行する。キー違反は、パス170状況でアダプタ
154に報告される。キャッシュ・コントローラ及び主
記憶162によって検出される他のチエツク状況は、別
のチエツク状況として報告される。アダプタ154によ
って検出されるキー違反及び状況は、状況転送サイクル
中でBCU156に送られることになる。
BCU168によって報告され得る2つの可能なアダプ
タ154状況がある。どちらのチエツク状況の場合にも
、記憶182に対するアクセスは抑止される。
BC1J156から受け取った多生記憶アドレスは、そ
のアクセスが、l0A187に対するものか、または記
憶162のカスタマ領域165に対するものかを決定す
るために、ACBレジスタ中に保持されているアドレス
と比較される。B(,0166から各コマンドとともに
受け取った「カスタマ」ビットが、その主記憶アクセス
がIOA領域187とカスタマ領域165のどちらに意
図されているのかを決定し、不正なアクセスをチエツク
する。
以下で説明するバッファ利用不能(BNA)条件は、キ
ュー動作に対してのみ報告される。
読取動作<I10読取、メイルボックス読取)は、格納
動作と実質的に同一の動作でBCU156によって開始
される。コマンド/バイト・カウントと、保護キーと、
アドレスがBCU 166から受け取られると直ぐに、
アダプタ154内部優先権チエツクが実行され、プロセ
ッサ・パス170支配権が要求される。もしパス支配権
が許されると、コマンド/バイト・カウントと、保護キ
ーと、主記憶開始アドレスが読取サイクルを開始するた
めにキャッシュ・コン)・ローラ153に転送される。
アダプタ154は先ず、要求されたデータをそのバッフ
ァ269にロードし、次にパス250を介してのBCU
要求上により、それをBCU156にロードする。
動作を記憶するための状況及び報告機構は、読取動作に
も適用される。
プロセッサ要素(PE)85は、パス170を介するセ
ンス(読取)及び制御(書込)動作により、アダプタ1
64中のほとんどのレジスタにアクセスするこヒができ
る。
センス動作の場合、コマンドは、アダプタ154に転送
され、レジスタ129にラッチされる。
次のサイクルで、センス・マルチプレクサ126がコマ
ンドに従い選択され、そのコマンドは、次のパス170
サイクルで有効な期待されるデータを取得するために、
B5R116中にロードされる。
センスすべきレジスタ上の内部パリティ・エラーが検出
されたとき、アダプタ154は良好なパリティをもつデ
ータをプロセッサ要素85に送り返すが、キー/状況パ
ス上にはチエツク状況を立てる。この機能は、特殊セン
ス・コード点でテストすることができる。
制御動作の場合、パス170コマンドの後データが絖き
、そのデータは次のサイクルでターゲット・レジスタに
ロードされる。
もしセンスまたはl!IIIfm動作のためのコマンド
・サイクルにおいて、または制御動作のためのデータ・
サイクルにおいて、パリティ・エラーがパス170上で
検出されたなら、アダプタ154はクロックの停止を強
制する。
ベース・レジスタ110は、キュー及びメイルボックス
・アドレッシングのために使用されるベース・アドレス
と、キュー長さコードを含む。
キューは、ベース・アドレスで開始し、メイルボックス
領域は、ベース中キュー長さで開始する。
RPNTR及びWPNTRレジスタ111及び112は
、それぞれ、ベース・アドレスから読取及び書込のため
にアクセスすべき次のキュー・エントリに対するオフセ
ットを与える。
センスされた時、読取ポインタと書込ポインタは、アダ
プタ154中のセンス・マルチプレクサ126によって
ベース・アドレスと連結される。
それゆえ、センス動作によって返されるワードは、アク
セスすべき次のキュー・エントリの完全なアドレスであ
る。
I10状況レジスタは、次に示すビット(及び、ここに
は説明しないその他のビット)を含む。
チエツク(ビット0〉−もしCHSR<0゜24〉中に
何らかのチエツク状態があり、対応するC)IERビッ
トが1なら、1にセットされる。
チエツクは、ATTN−REQを引き起こす。もしMO
DE−REQ< 1 >= 1なら、信号CLOCK 
 5TOP  DIANAが活動的になる。
BNA送信(ビット8)−バッファ利用不可能(BNA
)ビットは、BCU15Bがインバウンド・メツセージ
をキューに格納しようと試み、キューが一杯、すなわち
RPNTRがWPNTR+16に等しいとき1にセット
される。このビットは、CWレジスタ120のビットS
に1を書くことによってしかりセットすることはできな
い。
キュー空でない(ビット7)−このビットは、RPNT
RがWPNTRに等しくないなら1にセットされる。こ
れは、プロセッサ85に、新しいメツセージが受け取ら
れたことを通知するために使用される手段である。
BCUからプロセッサ装置への要求(ビット10及び1
4)−これは、チャネル0及び1の「BCUからプロセ
ッサ装置への要求−線256c上の信号を介してBCU
158によってセットされる。プロセッサ要素85によ
るビット10及び14のリセットは、チャネル0及び1
の!2S8d上に、BClJからプロセッサ装置への肯
定応答を発生させる。
プロセッサ装置からBCUへの要求(ビット11)−チ
ャネルOのCWレジスタ120のビットエ1と、チャネ
ル1のCWレジスタ120のビット15をセットするこ
ヒによってプロセッサ要素8Sによって線256a上で
セットされる。また、線256b上のプロセッサ装置か
らBCUへの肯定応答信号によってリセットされる。
BCU電力損失〈ビット13)−二のビットは、BCL
Iが電力を失い、または「w、源投入リセット」が生じ
た時、BCU166によってセットされる。それは、C
Wレジスタ120の「リセットBCU電力損失」ビット
に「1」が書かれ、BCIJが最早電力損失状態にない
とき、0にリセットされる。
調停許容(ビット29)−このビットは、アダプタ・モ
ード・レジスタのビット3が活動的でないなら、チャネ
ル・パス信号「調停許容」を活動化させる。
BCUIS6から受け取ったコマンド/アドレス信号の
一部であるカスタマ・アクセス・ビットは、その記憶ア
クセスかIOAまたはカスタマ領域のどちらにあるのか
を決定する。もしカスタマ・アクセス・ビットがO゛で
あるなら、その記憶アクセスのページ・アドレスは、I
OA領域187内になくてはならない。これらのアクセ
スにはキー・チエツクは行なわれず、従って、アダプタ
・ハードウェアは、そのキーをゼロに強制する(すべて
のキー・エントリと一致する)。
もしもしカスタマ・アクセス・ビットが 1°であるな
ら、その記憶アクセスのページ・アドレスは、カスタマ
記憶11i1165内になくてはならない。そうでない
なら、そのアクセスに対してACBチエツク条件が立ち
上げられる。
プロセッサ要素8Sは、アダプタ154レジスタを読取
(センス)しまたは書き込む(制WJ)ためにメツセー
ジ・コマンドを使用する。
これらのコマンドのフォーマットは次のとおりである。
ビットO−0−7C”コマンド・タイプ8−11  S
RC瓢!j!求元バス・ユニット・アドレス 12−16  DSTS受雪バス・ユニット・アドレス 1B−23MSG=コマンド・サイク ルで伝送すべきデータ 24−27  REGI冨制御のレジスタ番号 28−31  REG2−センスのレジスタ番号 プロセッサ装置とBCUの間のインターフェースのため
のDSTフィールドは、X“8゛である。
アダプタ154はSRC及びMSGフィールドをデコー
ドしない。ヒいうのは、そこにはコマンド実行のための
情報が含まれていないからである。
#J II及ヒセンス動作ノ閏、REGI及びREG2
ビットはそれぞれ、読み書きすべきアダプタ154中の
レジスタを決定する。
E12B、I10アダプタ・チャネル0及びチャネル1
バス(第16図) I10アダプタ・チャネルO及びチャネル1パスは、I
10アダプタ154からパス制御ユニット156への高
速相互接続であるゆ チャネル0は、次のものを有する。
アドレス/データ・パス250(ビット0−16、  
PO,Pi) コマンド/状況パス249(ピッ)O−3゜P) タグ・アップ(BCUがらバッファへ)線26a タグ・ダウン(バッファからBCUへ)4126b プロセッサ装置からECUへの要*1i266aBCI
Jからプロセッサ装置への肯定応答!126b チャネル1は、アドレス/データ・パス251と、コマ
ンド/状況パス252と、タグ・アップ及びタグ・ダウ
ン1g 262 e及び262dを有する。
チャネル0は、S/370記憶162(及びプロセッサ
要素85〉がらBCU156へのデータ転送に使用され
、チャネル1は、BCU158から記憶l52(及びプ
ロセッサ要素85〉へのデータ転送に使用される。
チャネJL/ −ハx 249.260,251及び2
52は、実質的には64バイトまでのデータをめいめい
が記憶することができる制御論理をもつ一対のデータ・
バッファであるI10アダプタ154に由来する。これ
らのバスは、BC1J156で終端する。I10アダプ
タ154は、lワード・フォーマット(32ビツト)を
もつ内部プロセッサ・バス170と、半ワード(16ビ
ツト〉フォーマットをもつより低速のバス249乃至2
52との間の速度一致手段として働く。
各チャネルは、2バイト輻(半ワード)データ・バス<
260,261)と、半バイト幅(4ビツト)コマンド
/状況パス(249,252)という2つの部分に構成
されている。そして、タグ信号が、要求/応答、及び特
殊信号を介して動作を制御するための手段を与える。
各チャネル上のデータ転送は、(2バイト・バスを介し
て4バイトを転送するために)常に2サイクルで行なわ
れる。論理的には、全てのデータ転送は、S/370主
記憶162及び、BCU158を含むI10サブシステ
ムの間の転送である。BCU156はマスターであって
、すなわち、プロセッサ要素8Sが一旦転送の必要性を
知らせると、いかなる転送であれそれを開始させる。
コマンド/状況バス(249,262)は、選択サイク
ルの間に、転送方向(フェッチ/記憶)、及び転送すべ
きデータの量を決定するために使用される。アドレス/
データ・バス<2150゜2S1)は、選択サイクルの
間に主記憶アドレスを転送し、実際の転送サイクルの間
にデータを引き渡す働きをする。アドレス/データ・パ
スはまた、「メイルボックス」及び「メツセージ・キュ
ー」として知られる記憶162中の特定領w&188.
189を指示するためにも使用される。これらの領域は
、プロセッサ要素85をして、BCUl 56とある情
報を交換することを可能ならしめる。
フェッチ動作(記憶162からの)の間に、その状況は
、コマンド/状況パス249上で、バス250上の2バ
イトのデータとともに転送される。この状況は、なんら
かのアドレス・チエツク、キー・チエツクなとであり、
あるいは動作の成功を示すためにゼロである。
もし記憶動作(記憶162への)が実行されるなら、全
てのデータが主記憶162に渡された後、状況サイクル
が続く。
第14A及び第14B図は、フェッチ及び記憶のそれぞ
れのサブサイクル1及びサブサイクル2の間のバス部分
の論理的用途を示す。ここで、aaa、 、 、   
 データ・フィールド中の第1の(8:側の)バイトの
アドレス A:     1=アドレス・チエツクB;1=バッフ
ァが回層でない C:    カスタマ記憶(166)アクセスの場合1
で、マイクロコードvA域アクセス(IOA  187
)の場合0 ddd、、、    記憶との間の4バイト・データe
rr、 、、    バイト単位でのフィールド長マイ
ナス1(10進0. 83) kkkk    &!憶キー(10進0.  16)に
     1=キーチエツク ooooo:    32バイト・メールボックス領域
内のオフセット pp     優先度(0,3,3が最高)考慮せず ///;   バスが浮動(未定義) イン    インバウンド(BCtlからバッファへ〉 アウト   アウトバウンド(バッファからBCUへ) データ転送動作のために次のタグ線が使用される。
(1)バス・アダプタ154からBCU 166への、
プロセッサ装置がらBCUへの要求線256aは、プロ
セッサ要素85によってI10100必要性を示すため
に使用される。−旦セットされると、その信号は、BC
U158によってリセットされるまでアクティブのまま
である。
(2)BCU156からアダプタ164へのタグ・アッ
プIK 262 aは、アダプタ154からアウトバウ
ンド・データを要求し、または入力データがバス上で可
屈であることを示すために使用される。タグ・アップ1
liL262cも同様に機能する。
(3)バス・アダプタ154がらBCU 156への、
ダウン線262bは、もし存在するならは、BCU15
8へのデータの一時的な欠乏を示すために使用される。
タグ・ダウンの下降端は、すると、そのバス上のアウト
バウンド・データの可用性を示すために使用される。タ
グ・ダウン線262dも同様に機能する。
(4)BCU166からアダプタ154への、BCUか
らプロセッサ装置肯定応答!!256 bは、プロセッ
サ装置からBCUへの要求信号をリセットするために使
用される。このリセットは、I10メイルボックス動作
が完了されたときに実行される。
プロセッサ要素85が開始I10命令(SIO)を命令
ストリーム中で検出した時、プロセッサ要素85は、I
10サブシステム、すなわちBCU168に、「プロセ
ッサ装置からBCUへの要求」線256a@活動化させ
ることによって、I10100必要性を警告する。この
タグは、BC1J156をして、この動作がフェッチま
たは記憶のどちらであるのか、何バイトが転送されるの
か、などを見出すために記憶162内の「メイルボック
ス」18日を調べさせる。メイルボックスは実際には、
関連I10100チャネル5IO1CUA、CAW及び
コマンド・ワード(cCW)を含む。
記憶動作は、一般的には、BCtl16Bがプロセッサ
要素85にデータを送るような動作である。このデータ
は、選択サイクルで送られるコマンド、キーまたはアド
レスであるか、主記憶162中に記憶すべき実I10デ
ータである。どちらの場合も、事象のシーケンスは同一
である。
第15Aないし100図は、データ及び状況情報が、ア
ダプタ154及びBCU16B中の32ビツト・バッフ
ァ/レジスタにゲート・インされ、またはゲート・アウ
トされる様子、及びその情報の高位(左側)及び低位(
右側)ビットがアダプタ164の18ビツト・チャネル
に配置される様子を図式的に示すものである。
第25及び26図は、BCU166及びアダプタ154
の間のデータ転送のための特定の信号セットを示す。
記憶動作(第16A図)の間のBCUクロック・サイク
ルの開始により、BCU156は、第1のサイクルのた
めのデータをバス251上に配置する。もしこれが主記
憶データ動作のための選択サイクルなら、コマンド、バ
イト・カウント、アクセス・キー、及び主記憶アドレス
の第1バイトがそれぞれ、コマンド/状況バス252及
びアドレス/データ・バス251上にそれぞれ配置され
る。もしこれが、メイルボックス・ルックアップのため
の選択サイクルであるなら、コマンドが、固定位置にあ
るメイルボックスを示すため、主記憶アドレスは配置さ
れない。その第1のサブサイクルは、2サブサイクル期
間に亙ってバス上で有効状態に維持される。
選択サイクルの間にパス251上にデータを配置したI
 BCUクロック・サイクルの後、BCU156が「タ
グ・アップ」信号線を立ち上げる。
タグ・アップ線262aは、アダプタ154をして、そ
の最初の2バイトをレジスタ113の左部分に記憶させ
る。次のクロック・サイクルの開始により、BCU16
6は、レジスタ113のあと半分にデータを格納するた
めに、アドレス/データ・パス251上に次のサブサイ
クルのためのデータ(第2の2バイト)を配置する。こ
のデータは、主記憶アドレスの残りの部分であるかまた
は、(もしメイルボックス・ルックアップ選択サイクル
に属するなら)オフセットであるか、である。BClJ
 156は、3BC1Jクロツク・サイクルの間第2の
2バイトを保持し、「タグ・アップ」信号を下降させる
フェッチ動作は、一般的には、BCU166が、主記憶
データ空間162、主記憶162中のマイクロコード領
域、またはメイルボックスあるいはメツセージ・キュー
からデータを求めるような動作である。いかなる場合に
も、アダプタ154の論理に、実行しなくてはならない
動作を命令するためには、選択サイクルがそのようなフ
ェッチ・サイクルに先行しなくてはならない。選択へサ
イクルは、コマンド/状況パス249上のコマンドが「
フェッチ」コマンドであることを除いては、パス252
を使用する記憶記憶動作と同様の様式でパス249上に
コマンド/キー/アドレスを配置することによって実行
される。
(選択サイクルの完了後)次のサイクルの開始により、
BCU166が「タグ・アップ」信号を立ち上げ、それ
を3BCUクロツク・サイクル維持する(第16B図)
。タグ・アップは、バッファからデータを要求する。す
ると、もしそのバッファがデータを渡すことができるの
なら、データはlサイクル後に回層となる。その動作は
、半同期的であるので、BCU16Bは、データの最初
の2バイトが2サイクルの間有効に維持され、次に1サ
イクル切り換え時間があって、その後2バイトのデータ
をBCU168へとゲートすることができる。
しかし、アダプタ164が、「タグ・アップ」立上りの
瞬間回層なデータをもっていないような状況が存在する
。これは、典型的には、「初期」データ・フェッチにお
いて生じ、そのとき、フェッチ要求がキャッシュ・コン
トローラ153及び記憶コントローラ165を介して処
理され、アダプタ154に戻されるまでいくらか時間が
かかるような新しいアドレスからデータがフェッチされ
る。主記憶162における再試行も同様の一時的な遅延
を引き起こすことがある。
アダプタ154がデータを引き渡すことができないとき
(第16CI!IIII)、アダプタ154は、「タグ
・アップ」が検出されると直ぐに「タグ・ダウン」線を
立ち上げる。BCU156は、′「タグ・アップ」を立
ち上げた後5サイクル以内に「タグ・ダウン」線をサン
プルしなくてはならない。
アダプタ154は、第1のデータ・ワード(4バイト〉
が回層ヒなるまで「タグ・ダウン」を維持する。その瞬
間、アダプタ154は、第1の2バイトをパス260上
に配置し、「タグ・ダウン」を下降させる。「タグ・ダ
ウン」信号の下降端は、BCtJの論理253をトリガ
する。
BCU166は、「タグ・ダウン」の下降に統く2サイ
クルの間その第1のバイトが有効であり、そのあと第2
の2バイトが回層であると仮定する。選択サイクルの間
にセット・アップされるカウントに応じて、−度に2バ
イトずつ、60バイトまでのバイトがそれに続くことが
できる。
選択サイクルで指令された全てのメイルボックス・デー
タが受け取られた時、BCU158は、その動作を開始
させた線256a上の、プロセ・νす装置からBCUへ
の要求をリセットするために、アダプタ154に対して
線256b上の「BCUからプロセッサ装置への肯定応
答」信号を立ち上げる。
プロセッサ要素85とBCU166の間の大抵のデ畔タ
ー転送は、アダプタ164中のベース・レジスタ110
に記憶されたベース・アドレスヒキュー長を使用して、
予定の記憶位置188.189を通じて行なわれる。イ
ンバウンド・メツセージ・キュー189は、BCU16
61.:よッテ送られた全てのメツセージを時系列順に
記憶する。
E 12C,パス制御ユニット158−一般的な説明(
第16及び第17図) パス制御ユニット(BCU)16Bは、S/370プロ
セツサ85及び、S/370  I10命令を実行する
ために利用される関連S/88プロセツサ62との間の
主要な結合ハードウェアである。
BCtJ16Bは、プロセッサ62に対して割り込みを
与え、プロセッサ62をその関連ハードウェアから非同
期的に切り放し、プロセッサ62をBCU16Bに対し
て結合することを、S/88オペレーテイング・システ
ムに対して透過的に実行するために、S/88プロセツ
サ62上で走っているアプリケージ3ン・プログラム(
EXEC370)及びマイクロコード(ET I O)
と対話する手段を有している。その通過的割り込み及び
切り放し機構は、所望のS/370 I10動作を実行
するべくS/88プロセツサ62によって使用可能な形
式にコマンド及びデータを変換するために、S/370
 1/○コマンド及びデータをS/370プロセツサ8
5からS/88プロセツサ62へ効率的に転送するため
にS/370及びS/88プロセツサのWL接転送を可
能ならしめるために利用される。
EXEC370及びETIOはともに、マイクロコード
またはアプリケーション・プログラム的どちらかであっ
て、記憶174またはキャッシュ173のどちらかに記
憶されていることが見て取れよう。
BCU156(第1S図)は、パス制御ユニット・イン
ターフェース論理及びレジスタ205と、直接メモリ・
アクセス・コントローラ(DMAC)209と、ローカ
ル記憶210を含む。
ローカル・アドレス及びデータ・バス247.223は
、記憶210を、ドライバ/レシーバ回路217.21
8を介してプロセッサ要素62アドレス、データ・バス
181a、161dに結合し、インターフェース論理2
05に結合する。DMAC209は、ラッチ233を介
してアドレス・バス247に結合され、ドライバ/レシ
ーバ234を介してデータ・データ・バス223に結合
されている。
DMAC209は、好適な実施例では、以下で説明され
ている88450DMAコントローラである。
DMAC209は、それぞれが特定の機能に専用である
、要求及び肯定応答経路によって、インターフェース論
理’205(第17図)に結合された4つのチャネル0
乃至3をもつ。チャネルOは、S/370記憶162中
のメイルボックス領域188(第28図)からローカル
記憶210へS/370 110コマンドを転送する(
メイルボックス読取)。チャネル1は、記憶162から
記憶210へS/370データを転送する(S/370
  I10書込)。チャネル2は、記憶210から記憶
162ヘデータを転送する(S/370110読取)。
チャネル3は、記憶210から記憶162中のメツセー
ジ・キュー領域189(第28r:A)に高優先度57
88メツセージを転送する(Qメツセージ書込み)。
パス・アダプタ154は、2つのチャネルO及び1をも
つ。アダプタ・チャネルOは、DMACチャネル0.1
のメイルボックス読取及びS/370 110書込(す
なわち、S/370からBcuiseへのデータの流れ
)を扱う。アダプタ”−F−ヤネル14t、DMAC2
,3のS/37゜I10読取及びQメツセージ書込機能
(すなわち、BCU166からS/370へのデータの
流れ)を扱う。
E12D、直接メモリ・アクセス・コントローラ09 DMAC209は、好適には、モトローラ社が発行して
いるM88000F認識ily Reference 
Manual、 FR88に/D、 1988に記載さ
れているタイプ<MC88450)である。DMAC2
09は、プロセッサからの最小の介入で、データのブロ
ックを迅速且つ効率的な方法で移動することによって、
(この実施例のM68020プロセッサなどの)モトロ
ーラM68000ファミリ・マイクロプロセッサの性能
及びアーチテクキャ的な能力を補うように設計されてい
る。DMAC209は、メモリからメモリ、メモリから
装置、装置からメモリのデータ転送を実行する。
このDMACは、プログラム可能な優先順位をもつ独立
な4つのDMAチャネルをもち、24ビツト・アドレス
と18ビツト・データ・パスをもつ非同期M88000
パス構造を使用する。それは、明示的にも暗示的にもア
ドレスすることができる。
参照番号209なとのDMACの主要な目的は、ソフト
ウェア制御下にあるマイクロプロセッサが扱うよりも通
常はるかに高速でデータを転送することにある。l[I
!メモリ・アクセス(DMA)という用語は、マイクロ
プロセッサが行うのと同様にしてシステム中のメモリに
周辺装置がアクセスする能力のことである。この実施例
におけるそのメモリとは、ローカル記憶210のことで
ある。DMA動作は、システム・プロセッサが実行する
必要がある別の動作と並行的に行うことができ、以て全
体のシステム性能を著しく高めるのである。
DMAC209は、データのブロックを、ローカル・パ
ス223の限界に近付く速度で移動する。データのブロ
ックは、記憶中の特定アドレスで始まるバイト、ワード
または長ワード・オペランドの列からなり、転送カウン
トによって決定されるブロック長をもつ。単一チャネル
動作には、記憶210との間の複数ブロックのデータの
転送が関与することができる。
DMAC209に係わるとの動作も、プロセッサ要素6
2によるチャネル初期化、データ転送及びブロックの終
了、という同一の基本的ステップの後に続くことになる
。初期化フェーズでは、プロセッサ62がDMACのレ
ジスタに、制御情報と、アドレス・ポインタと、転送カ
ウントをロートし、チャネルを開始させる。転送フェー
ズの間、DMAC209はオペランド転送のための要求
を受け入れて、その転送のためのアドレシングとパス制
御を与える。終了フェーズは、動作の完了後行なわれ、
そのとき、DMACは状況レジスタC3R中に動作の状
況を表示する。データ転送の全てのフェーズの間、DM
AC209は次の3つの動作モードのうちの1つにある
<1)IDLE (遊休)−これは、DMAC209が
、外部装置によってリセットされ、システム・プロセッ
サ82による初期化、または周辺装置からのオペランド
転送要求を待っている時に想定する状態である。
(2)MPU−これは、DMACがシステム中の別のパ
ス・マスク(通常、主システム・プロセッサ62)によ
ってチップ選択されたとき入る状態である。このモード
では、チャネル動作をチエツクし、あるいはブロック転
送の状況をチエツクするために、DMAC内部レジスタ
が読み書きされる。
<3)DM−これは、DMAC209が、オペランド転
送を実行するためにパス・マスタとして動作していると
きに入る状態である。
DMACは、暗示的アドレスまたは明示的アドレス・デ
ータ転送を実行することができる。明示的転送の場合、
データはソースから内部DMAC保持レジスタに転送さ
れ、次のパス・サイクルで保持レジスタから宛先へと移
動される。暗示的データ転送は、内部的DMACバッフ
ァ動作なしでソースから宛先へ直接データが転送される
ので、1パス・サイクルしか要さない。
さて、(A)単一ブロック転送、(B)連続動作、(c
)連鎖動作、という3つのタイプのチャネル動作が存在
する。単一ブロックのデータを転送するときには、メモ
リ・アドレス・レジスタMAR及び装置アドレス・レジ
スタDARは、ユーザーによって、転送のソース及び宛
先を指定するように初期化される。さらにまた、ブロッ
クの、転送されるオペランドの数をカウントするために
、メモリ転送カウント・レジスタも初期化される。
2つの連鎖モードとして、アレイ連鎖と、連列アレイ連
鎖がある。アレイ連鎖モードは、メモリ・アドレス及び
転送カウントからなる、記憶210中の連続的アレイか
ら動作する。ベース・アドレス・レジスタBAR及びベ
ース転送カウントレジスタBTCは、そのアレイの開始
アドレスと、アレイ・エントリの数をそれぞれ指し示す
ように初期化される。そして、各ブロックの転送が完了
するにつれて、次のエントリがアレイからフェッチされ
て、ベース転送カウントがデクリメントされ、ベース・
アドレスは、次の新しいアレイ・エントリを指し示すよ
うにインクリメントされる。ベース転送カウントがゼロ
に達したとき、フェッチされたばかりのエントリがその
アレイで定義される最後のブロックである。
件列アレイ連鎮モードは、アレイ連鎖モードに類似する
が、メモリ・アレイ中の各エントリがやけりアレイ中の
次のエントリを指し示す点で興なる。このことは、非連
続メモリ・アレイを許容する。最後のエントリは、ゼロ
にセットされたリンク・アドレスを含む。ベース転送カ
ウント・レジスタC8Rは、このモードでは不要である
。ベース・アドレス・レジスタBARは、そのアレイの
最初のエントリのアドレスに初期化される。連結アドレ
スは、ベース・アドレスを、各ブロック転送の開始時点
で更新するために使用される。この連鎖モードは、ア1
ノイを順次的な順序に再構成する必要なくアレイ・エン
トリを容易に移動しまたは挿入することを可能ならしめ
る。また、アレイ中のエントリの数は、DMAC209
中で指定する必要はない。このアドレシング・モードは
、この実施例では、DMAC209に工って、以下詳述
する方法でリンク・リストから自由ワーク・キュー・ブ
ロック(WQB)にアクセスするために使用される。
DMAC209は、DMA動作の完了、またはPCL線
67a乃至67dを使用する装置の要求時なとのいくつ
かの事象発生に対応してプロセッサ要素62に割り込み
をかけることになる。DMAC209は、プロセッサ要
素62ベクタ割り込み構造で使用するために、8個のチ
ップ上ベクタ・レジスタに割り込みベクタを保持する。
、2つの割り込みベクタ、すなわち、正常割り込みベク
タ(NIV)及びエラー割り込みベクタ(EIV)はど
のチャネルにも利用可能である。
各チャネルは、0.1.2または3の優先レベルを与え
られており、すなわち、チャネル0.1.2.3はそれ
ぞれ優先レベル0.2.2.1を割当てられている(優
先レベルOが最高である)。
要求は、装置によって外部的に発生されるか、DMAC
209の自動要求機構によって内部的に発生される。自
動要求は、チャネルが常に要求保留の場合は最大mrx
で発生され、あるいはDMA活動に回層なパス帯域の一
部を選択することによって決定される限定された速度で
発生される。外部要求は、各チャネルに関連する要求信
号によって発生されるバースト要求またはサイクル・ス
チール要求のどちらかである。
DMAC209は4つのチャネルに1つの汎用制御レジ
スタC8を加えたもののめいめいごとに、17個のレジ
スタ(第18図)をもち、それらは全てソフトウェアの
制御下にある。
DMAC209レジスタは、ソース及び宛先アドレス及
び機能コードと、転送カウントと、オペランド・サイズ
と、装置ポート・サイズと、チャネル優先順位と、連続
アドレス及び転送カウントと、周辺制御線の機能なとの
データ転送についての情報を含む。1つのレジスタC8
Rがまた、チャネル活動、周辺入力、及びDMA転送の
間に生じたかもしれないさまざまな事象についての状況
及びエラー情報を与える。−膜制御レジスタC8は、限
定された自動要求DMA6作で使用すべきパス利用係数
を選択する。
入力及び出力信号は、機能的には、以下で説明する群に
構成される(第19ArsA参照)。
アドレス/データ・パス(A8−A23.DO−DIS
)は、16ビツト・パスであって、DMAモードの動作
の間にアドレス出力を与えるように時間的に多重化され
、(プロセッサ要素62書込みまたはDMAC読取の間
に)外部装置からデータを入力し、(プロセッサ要素6
2読取またはDMAC書込みの間に)外部装置にデータ
を出力するための両方向データ・パスとして使用される
。これは3状態バスであって、マルチプレクス線OWN
及びDDIRによって制御される外部ラッチ及びバッフ
ァ233,234を使用してデマルチプレクスされる。
パス247の下位アドレス・パスl1A1乃至A7は、
MPUモードにおいてDMAC内部レジスタにアクセス
し、且つDMAモードにおいて下位7アドレス出力を与
えるために使用される。
機能コード線FCO乃至Fe2は、3状態出力であって
、DMAモードにおいて、ユーザーによって決定するこ
とができる個別のアドレス空間を与えるようにアドレス
・パス247上の値をさらに修飾するために使用される
。これらの線上に配置される値は、DMAパス・サイク
ルの間に使用されるアドレスを与えるレジスタに応じて
、内部機能コード・レジスタMFC,DFC,RFCの
うちの1つから持って来られる。
非同期パス制W線は、次の制御信号、すなわち、選択ア
ドレス・ストローブ、読取/書込、上方及び下方データ
・ストローブ、及びデータ転送肯定応答を使用して非同
期データ転送を制御する。
選択入力11296は、MPUパス・サイクルのために
DMAC209を選択するために使用される。その線が
立ち上げられた時、A1乃至A7上のアドレス及びデー
タ・ストローブ(あるいは8ビツト・パスを使用した時
のAO)は、その転送に関与するこヒになる内部DMA
Cレジスタを選択する。選択は、アドレス・デコード信
号をア)ぐレス及びデータ・ストローブで修飾すること
によって発生されるべきである。
1!27Ob上ノアドし/C−ストローブ(AS)は、
DMAモードで、有効アドレスがアドレス・パス161
上にあることを示すために出力として使用される両方向
信号である。MPUまたはIDLEDMAモードそれは
(もしDMACがパスの使用を要求しそれを許可されて
いたなら)DMACが何時パスの制御を得ることができ
るかを決定するために入力として使用される。
読取/書込は、パス・サイクルの間にデータ転送の方向
を示すために使用される両方向信号(図示しない)であ
る。MPUモードでは、その高レベルが、転送がDMA
C209からデータ・パス223へ向かっていることを
示し、低レベルが、データ・パスからDMAC209へ
の転送を示す。DMAモードでは、゛高レベルは、アド
レスされたメモリ210かもデータ・パス223への転
送を示し、低レベルが、データ・パス223からアドレ
スされたメモリ210への転送を示す。
上方及び下方データ・ストローブ両方向Ii(図示しな
い)は、パス上でデータが有効である時と、D8−15
またはDo−7のうちパスのどの部分が転送に関与すべ
きかを示す。
データ転送肯定応答(DTACK)両方向線265は、
非同期パス・サイクルを終了してもよいことを知らせる
ために使用される。MPUモードでは、この出力は、D
MAC209がプロセッサ要素62からデータを受け入
れ、またはプロセッサ要素62のためにパス上にデータ
を配置したことを示す。DMAモードでは、この入力2
65は、パス・サイクルを終了すべき時を決定するため
にDMACによってモニタされる。DMAC209が否
定される状態にととまっている限り、DMACはパス・
サイクルに待ちサイクルを挿入し、DMAC209が立
ち上がった時、パス・サイクルは終了される(但し、P
CL267がレディ信号として使用されるときは例外で
あって、その場合、画信号は、サイクルが完了する前に
立ち上げられなくてはならない)。
線OWN及びDDIR上の多重制御信号は、パス248
上のアドレス及びデータ情報を分離し、あるDMACパ
ス・サイクルの間にデータ・バス223の上半分と下半
分の間でデータを転送するべく外部マルチプレウス/デ
マルチプレクス装置233.234を制御するために使
用される。0WN線は、DMAC209がパスを制御し
つつあることを示す出力である。それは、外部アドレス
・ドライバと、制御信号バッファとをターン・オンさせ
るために使用される。
パス要求(BR)線269は、ローカル・パス223.
247の制御を要求するためにDMACによって立ち上
げられる出力である。
パス許可(BG)!268は、DMAC209に、現在
のパス・サイクルが完了すると直ぐにパス支配権を引き
受けてよいことを知らせるために、外部パス・アービタ
16によって立ち上げられる人力である。
線258a及び258b上の2つの割り込み制御信号I
RQ及びIACKは、割り込み論理212を介して、プ
ロセッサ要素62との割り込み要求/を定応答ハンドシ
ェーク・シーケンスを形成する。、11258b上の割
り込み肯定応答(IACK)は、プロセッサ要素62が
DMAC209から割り込みを受け取ったことを通知す
るために、論理216を介してプロセッサ要素B2によ
って立ち上げられる。IACKの立ち上げに応答して、
DMAC209は、適正な割り込みハンドラ・ルーチン
のアドレスをフェッチするために、プロセッサ要素62
によって使用されることになるパス223のDo−D7
上のベクタを配置する。
装置制御線は、DMAC209と、4つのDMACチャ
ネルに結合された装置の間のインターフェースを実行す
る。3つの線の4つの組が単一のDMACチャネルとそ
の周辺装置に専用となっており、残りの線は全てのチャ
ネルによって共有される大域的信号である。
線263a乃至263d上の要求(REQO乃至REQ
3)入力は、主記憶162と記憶210の間のオペラン
ド転送を要求するために論理253によって立ち上げら
れ°る。
線264a乃至264d上の肯定応答<ACKO乃至A
CH3)出力は、その前の転送要求に応答してオペラン
ドが転送されつつあることを知らせるためにDMAC2
09によって立ち上げられる。
周辺制御:ii (PCLO乃至PCL3)267a乃
至257dは、レディ、取り消し、再ロード、状況、割
り込み、またはイネーブル・クロック入力として、ある
いは開始パルス出力として機能するようにセットされる
、インターフェース論理2S3及びDMAC209の間
の双方向線である。
データ転送完了(DTC)267は、DMACパス・サ
イクルの間に、そのデータが成功裡に転送されたことを
示すためにDMAC209によって立ち上げられる出力
である。
完了(DONE)。この双方向信号は、DMACパス・
サイクルの間に、転送されつつあるデータがそのブロッ
クの最後の項目であることを示すために、DMAC20
9または周辺装置によらて立ち上げられる。DMACは
、メモリ転送カウント・レジスタがゼロにデクリメント
されるときのパス・サイクルの間にこの信号を出す。
E12と、パス制御ユニット166−詳細な説明(第1
9A乃至第19CQl第20511)(A)高速データ
転送のためのインターフェース・レジスタ 第19A乃至第19C図では、説明の便宜上、BC1J
インターフェース論理205(第16図)がさまざまな
機能ユニットに分けられている。このため、論理205
は、アダプタ154とBC1J156の間のデータ転送
の速度と性能を高めるためローカル・データ・パス22
3とアダプタ・チャネル0.1との間に介在された複数
のインターフェース・レジスタをもつ。インターフェー
ス205のハードウェア論理253は、DMAC209
と、アドレス・デコード及び調停論理216と、アドレ
ス・ストローブ論理215とヒもに、BC1J166の
動作を制御する。
インターフェース・レジスタは、アダプタ154とBC
U166の間のデータ転送の状況を保持するために、チ
ャネルO及び1コマンド状況パス249.252に結合
されたチャネルO読取状況レジスタ229及びチャネル
1書込状況レジスタ230を有する。
チャネル0及び1コマンド・レジスタ214.225は
、BCU166からアダプタ164.57370へのデ
ータ転送コマンドを一時的に保持する。
チャネル0.1アドレス/データ・し、ラスタ219.
227は、S/370  I10データ転送の間に、ア
ダプタ164に転送するためのS/370アドレスを保
持する。レジスタ227はまた、アダプタ154に対す
るデータ転送(アドレス転送毎に64バイトまで〉の成
功したI10データ・ワード(4バイトまで)をも保持
する。
チャネルO読取バッファは、BC1Jメイルボックス読
取及びS/370 I10書込動作の間に、アダプタ1
54から転送されたデータを受け取る。
チャネル01183M読取/書込セレクト・アップ・バ
イト・カウンタ220.222及びBSM読取/#1込
境界カウンタ221.224は、BCU156からアダ
プタ154へのデータの転送のためのバイト・カウント
を保持する。その両カウンタは、データ転送によるS/
37064バイト・アドレスの交差を防止するために各
チャネル毎に必要である。後で詳細に説明するけれども
、カウンタ220.221は、初期的にはl10111
ft’のために転送されるべき全体のバイト・カウント
<4KBまで)を記憶し、最後のブロック(64バイト
)転送の場合にのみ、すなわち最後のコマンド/データ
転送動作の場合に、S/370開始アドレスを部分的に
形成するようにレジスタ214,225にカウント値を
転送するために使用される。境界カウンタ221.22
4は、とれかの単一のコマンド・データ転送動作の場合
に、BCU16Bによって境界交差が検出されたとき、
またはバイト・カウントが64バイトよりモ大@ イと
き、S/370アドレスを(部分的に)与えるために使
用される。
カウンタ220.221.222及び224は、チャネ
ルOまたは1上での各データ転送の後に適宜デクリメン
トされる。
キュー・カウンタ254は、アダプタ154を介するS
/370記憶への(16バイトまでの)メツセージ転送
のために、同様の機能を与える。
上記インターフェース・レジスタを選択するためのアド
レスは、記憶210アドレス空間(第23C図)に記憶
され、よく知られた方法でパス247上のアドレスをデ
コードすることにより選択される。
アダプタ154から論理2S3に至る、プロセッサから
BCUへの要求a 258 a上の信号は、BC1J1
56に、S/370メイルボツクス読取要求がレディで
あることを通知する。この信号は、メイルボックス情報
がローカル記憶210に格納されてしまうまで、線25
6b上のBCUPU肯定応答信号によってリセットされ
ない。
タグ・アップ及びタグ・ダウン線262a乃至262d
は、アダプタ・チャネル0.1上で、BCU158とア
ダプタ154の間のデータをストローブするために使用
される。
BC1J論理263ヒDMAC209の間には、ハンド
シェーク信号が与えられる。BCU論理は、各DMAチ
ャネルに1つづつ、1263a乃至263d上にサービ
ス要求を行う。DMACは、線264a乃至264d上
の肯定応答信号で応える。選択270、データ転送応答
265、周辺制#1i267a乃至257d、データ転
送完了267などの他の線は、DMAC209に関連し
て既に説明済みである。
(B)BCU切り放し及び割り込み論理215゜216
(第20及び第21図) 前に、フォールト・トレラント動作及び単一システム・
イメージ環境などの5788システムの固有の特徴の多
くをS/370システムのために用意するようにS/3
70及びS/88プロセツサの緊密結合を達成するには
2つの機能が重要であると述べた。これらの機能ヒは、
ここでは、S/88プロセツサの、その関連ハードウェ
アからの切り放し、及び固有の割り込み機構である。そ
の阿11mは、S/88オペレーテイング・システムに
透過的な様式で働く。BCU15Bには、切り放し及び
割り込み論理215.216が設けられている。
「切り放し」論理は、各命令実行サイクルの間、578
8プロセツサアドレス・バス161Aに印加される仮想
アドレスをデコードする。もしBCU156及びその記
憶210に割当てられた、予め選択されたS/88仮想
アドレスのブロックの1つが検出されたなら、S/88
プロセツサ62からのアドレス・ストローブ(AS)信
号が、関連S/88ハードウエアに対してではなく、B
CU166に対してゲートされる。この動作は、S/8
8オペレーテイング・システム及びハードウェアが、マ
シン・サイクルが生じていることを知ることを禁止し、
すなわち、その動作は、S/88には透過的である。
しかし、S/88プロセツサ62は、このマシン・サイ
クルの間BCU156を制御するように結合され、AS
信号及び予め選択されたアドレスは、S/370 11
0動作に関連する機能を実行するために、BCIJ15
6中のさまざまな叉素を選択し制御するために使用され
る。
5788プロセツサ62上で走る特殊アプリケーション
・コード(EXEC370)は、BCU156に、通信
を行わせる動作を実行するように指令するために、これ
らの予め選択した仮想アドレスをS/88バス161A
上に配置することによって、S/370プロセツサ8S
との通信を開始する。
BCU166中のDMAC209及び他の論理は、この
特殊アプリケーション・コードを動作に呼び出す特殊レ
ベル(6)で5788に割り込みを与える。各割り込み
の提供は、S/88オペレーテイング・システムに対し
て透過的である。
これらの割り込みに応答する割り込みハンドラ・ルーチ
ンのいくつかによって実行されるタイプの機能について
、S/370  I10100ファームウェアの概要の
一例を参照して簡単に説明する。
さて、多重相手ユニットをもつモジュールにおいて、対
のユニット・ベースで、DMAC209を介してS/8
8に対するS/370割り込みを扱うための機構及びS
/88オペレーテイング・システムの変更について説明
する。
ここで、1つの相手ユニットが、双対ローカル記憶、D
MAC1及びカスタム論理を含む双対57370プロセ
ツサをもつ変更された双対S/88プロセツサ・ボード
とサンドイッチ状に接続されていることを想起されたい
。この双対サンドイッチ・ボードの同一の要素は、障害
検出のため完全に同期して(ロックステップ的に)並列
に動作する。
このサンドイッチ構造全体は、通常、同一の相手サンド
イッチ構造をもち、そして、その相手がロックステップ
的に動作するので、単一のフォールト・トレラン:・の
実態であるかのように見える。この2重に複製されたハ
ードウェアを、第21図に示すように、単一の動作ユニ
ットと考えても以下の説明では差し支えなかろう。
好適な実施例では、単一のモジュール筺体中に8個まで
の動作ユニット295乃至295−8が存在することが
でき、それらは、S/88オペレーテイング・システム
の単一コピーの制御の下で、主記憶と、I10機能と、
電源とを共有する。、:Lニット295(及び他のユニ
ット295−2と295−8)は、第7図のボード21
.23なとの組ボードの対に対応する。!!要なことは
、この多重CPIJI戒において、S/88プロセツサ
・ユニット62乃至62−8が、S/88のワークロー
ドを共有するマルチプロセッサとして動作するが、S/
370ユニット85乃至86−8は個別且つ独立に動作
して、相互に通信しないことである。各S/370ユニ
ツトは、それ本来のオペレーティング・システムの制御
のもとで動作し、(S/370であれS/88であれ)
I[体内の他のCPUについては関知しない。
多重処理環境及び5788アーキテクチヤのため、通常
の5788システムの割り込みの処理は、CPUユニッ
ト62乃至62−8で共有される。簡略化された図式に
おいては、<Ilo、タイマ、プログラム・トラップな
どからの)各割り込みは、全てのS/370プロセツサ
・ユニットに対して並列に共通パス30上に提供され、
1つのユニットがそれにサービスする責任を負い、別の
ユニットをしてそれを無視させることになる。
サービスを与えているユニットがどれであるかに拘らず
、ハンドラ・コードのためにオペレーティング・システ
ム内には(ベクタ毎に)単一のエントリ点が存在し、割
り込みの後処理は、(単一の)オペレーティング・シス
テムによって決定され処理される。
多重S/370構成においては、全ての正常S/88割
り込みが上述のように動作し、5788ハンドラ・コー
ドは変更されない。また、DMAC209乃至209−
8の割り込み提供を可能ならしめるわずかなハードウェ
アの変更は、通常のS/88割り込み機構及びソフトウ
ェアに対して完全に透過的である。
必要条件として、DMA0割り込みが、DMAC,BC
IJ及びS/370が接続されるS/88プロセツサ6
2によってのみ処理されなくさはならなす、以て複数の
S/370ユニット85乃至85−8は、互いに干渉す
ることができないようになっていなくてはならない、と
いうことがある。このため、DMACIRQ!1125
8aは、S/88プロセツサ62に直接接続され、DM
AC209はS/88プロセツサ62に接続されて、通
常の5788割り込み要求線のようには共通S/88パ
ス30上にはあられれない。S/370サポートのため
に、S/88から奪われたタイム・スライスの間に、所
与の5788プロセツサ62が、!接接続されたS/3
70に対して専用となる。
主要S/88ベクタ・テーブル内の8つのユーザー・ベ
クタ位置は、DMACによる使用のために予約され、こ
れらのベクタは、5788オペレーテイング・システム
に追加された8つのDMA0割り込みハンドラのハード
・コードされたアドレスである。これらの8つの割り込
みハンドラは、関連S/370プロセツサのために全て
のDMACによって提供される割り込みを処理するため
に全てのS/88プロセツサによって使用される。
各DMAC209は、単一の割り込み要求(IRQ)出
力信号と、8個の内部ベクタ・レジスタ(チャネル毎に
2個であって、正常動作とDMAC@出エラーにつき1
個ずつ)をもつ。そして初期化時(後述)に、これらの
ベクタ・レジスタは、上述の8個の予約主要ベクタ・テ
ーブルに対応するようにプログラムされる。このように
して、DMACは、IRQを提供する時に8個のハンド
ラ・ルーチンのうちの1つを要求することができる。こ
れらのハンドラは、「隠蔽された」ローカル記憶210
のアドレス範囲内にある仮想アドレスを与えることによ
って、DMAC,BCUハードウェア、キュー リンク
・リスト、及び全ての制御パラメータにアクセスする。
このハードウェア・デザインは、共通仮想アドレス切り
放し「窓」が複数のS/370ユニツトで共有されてい
ても、各S/88 S/37082が、自己の記憶21
0にアクセスできることを保証する。すなわち、S/8
8仮想アドレス空間007EXXXXは、21.23な
どの各組ユニットが第10図に示すような専用S/88
eJ理記憶をもっていても全てのS/88−8/370
マイクロプロセツサによって使用される。
多重S/370m戒においては、全てのDMAC209
乃至209−8は、これらの8個のベクタ・レジスタに
関しては同様にプログラムされ、それらは全て主要ベク
タ・テーブルと、ハンドラ・ルーチンとを共用する。そ
して、記憶210などに対するめいめいのアクセス時に
、分化及び切り放しが生じる。DMACIRQの、その
S/88プロセツサS2へのハード接続による提供は、
その切り放しと相俟って、S/370プロセツサの分離
及び完全性と、S/88動作との非干渉性を保証する。
そして、「遺失JS/88CPU時間を除き、これらの
割り込みのサービスはS/88オペレーテイング・シス
テムに透過的である。
こうして、この割り込み設計構成の全体は、異なる割り
込みサービス思想を使用する多重処理環境から個々のプ
ロセッサ機能を奪うことによって、多重S/370ユニ
ツトの分離及び保護を行ないながらS/370DMAC
割り込みの間欠的「要求時専用」サービスを、多重処理
システム動作に実質的に影響を与えることなく、また多
重処理オペレーティング・システムを実質的に変更する
ことなく達成するのである。
各DMAC割り込み機構を詳細に説明するために、ここ
で第19A及び第20図を参照する。選択ベクタをもつ
DMAC209などの周辺装置がS/88プロセツサ6
2に割り込み要求を提供する時、単一IRQ!258a
がその装置によってアクティブとなされる。このIRQ
、IKは、S/88プロセツサ・アーキテクチャによっ
て記述されているような様式でエンコーディング回路2
93に結線され、以て、特定優先レベル6で入カピンI
PLO乃至IPL2を介してS/88プロセツサ62に
エンコードされた割り込み要求を提供する。
プロセッサ62は、内部状況レジスタに保持されている
優先順位マスク・ビットを使用して、割り込みにサービ
スすることができる時を効率的に決定する。そして、レ
ディであるとき、プロセッサ62は、特殊な「割り込み
肯定応答(IACK)サイクル」を開始する。
内部的にプロセッサ62によって制御されるIACKサ
イクルにおいては、サイクルのタイプと、サービスされ
ている優先レベルを識別するために、アドレス・パス1
61A上に、固有のアドレス構成が提供される。これは
また、効率的にも、割り込み装置からのベクタ番号の要
求でもある。要求を出す全ての装置は、サービスされて
いる優先レベルを自己の優先レベルと比較し、一致する
優先レベルをもつ装置が、プロセッサ62が読むために
、1バイトのベクタ番号をそのデータ・パス161Dに
ゲートする。
ベクタ番号が一旦得られると、プロセッサ62は、監視
スタック上に基本的内部状況をセーブし、次に、使用す
べき例外ベクタのアドレスを発生する。このことは、装
置のベクタ番号に内部的に4を掛け、この結果を内部ベ
クタ・ベース・レジスタの内容に加えることによって達
成され、以て例外ベクタのメモリ・アドレスが与えられ
る。
このベクタは、割り込みハンドラ・コードのための新し
いプログラム・カウンタ値である。
この新しいカウンタ値を使用して最初の命令がフェッチ
され、通常の命令デコーディング及び実行が、監視状態
で、プロセッサ62状況レジスタをこの現在の優先レベ
ルにセットすることにより再開される。
最初の割り込みハンドラ命令をフェッチすることを通じ
てのIACKサイクルの開始からの上述のステップは、
ハードウェア及びプロセッサ62の内部動作の組合せに
よって行なわれ、プログラム命令実行を必要としない。
その正味の効果は、より高い優先順位割り込みハンドラ
を実行するために、前取て走っている(より低い優先順
位の)プログラムの透過的優先使用である。
好適な実施例におけるDMAC209割り込みは、優先
しベルSに結び付けられ、プロセッサ62アーキテクチ
ヤに完全に従う。DMAC209は内部的にプログラム
された8(!Iのベクタ番号をもち、8つの個別のハン
ドラ・ルーチンが使用される。
デコード及び調停論理(第19A図)とA S tM御
論理215は、S/88プロセッサ62切り放し機能を
与えること以外に、IACKサイクルの間にこの割り込
み機能を制御する。
これらの詳細なハードウェア!!!能を、第19A図の
論理215及び216を詳細に示す第20図を参照して
説明する。プロセッサ要素(PE)(32からのアドレ
ス・ストローブ1!270は、制御論理215の1つの
入力に結合される。論理21Sは、一対のデコード回路
280.281をもつ。回路280の出力282は、論
理215に結合され、回路280の出力282もまた、
ANDゲート291及び287を介して論理215に結
合される。通常、命令実行の間に、デコード回路280
.281が線270上のストローブ信号(AS)!、P
 E 82 ニ接続されたS/88ハ−ドウエアに対す
る正常アドレス・ストローブである線270aに論理2
15を介して通過させる。
しかし、S/88プロセツサ62によって実行される命
令が、アドレス・パス161A上に、”007E”(こ
れは、PE62をそのS/88ハードウエアから切り放
し、PE62をS/370 110動作に関連する機能
のためにBCU 156に結合することを意味する)に
等しい、1G進上位4桁をもつ仮想アドレスを印加する
なら、デコード論理280は、線270a上のAS信号
をブロックするために線282上に信号を配置し、線2
70 b ヲ介LI:BCU158&CASを送る。デ
コード論理280はまた、線FCO−2上の適当な機能
コードを検出するように設計するこヒもできるが、それ
は単なる設計事項である。第22.23及び24図は、
パス161A上のアドレス信号と、線270上のアドレ
ス・ストローブとの間の遅延を示している。これは、A
SII号が立ち上げられる時点より前に線270a上の
ASをブロックすることを可能ならしめる。尚、そのア
ドレス・パスに印加されるS/88仮想アドレスの特殊
なグループ以外の手段を、PE62をその関連S/88
ハードウエアから切り放し、PE62をBCU156に
結合することを示す条件をデコードするために使用する
こともできることが理解されよう。
線282上のブロッキング信号は、調停論理285に至
るtIa190上ノP E 62 C1−力JL/ −
ハx要求信号を発生するために、OR回路284に印加
される。論理285は、DMAC209がまだi1!2
89上に要求を配置していない場合にのみPE82に対
する要求を許可する。PE62バス許可線191は、D
MAC要求がない場合にのみ活動化される。、1119
1上のPE62パス許可信号は、BCU156によるP
E62動作の準備のためにドライバ217及びドライバ
/レシーバ218を介してローカル・パス247.22
3にPEe2パス181A、Dを結合するために論理2
53を介してイネーブルlI286a、、b(第19A
図)を立ち上げる。データ及びコマンドは、プロセッサ
・パス161A、Dが、PE62によって実行されつつ
ある命令の制御の下でローカル・パス247.223に
結合されている間に、PE62とBC1J166の要素
の間で転送することができる。アプリケーション・プロ
グラムEXEC370及びETIOファームウェアがそ
のような命令を含む。
もしDMAC要求が41289上にあるなら、論理28
5はDMAC209に線190上のPE62要求に対す
る優先権を与え、線268上のDMACパス許可信号が
DMAC209に戻され、ローカル・パス247.22
3が、高速インターフェース・レジスタを介してローカ
ル記憶210とアダプタ・チャネル0、lの間に接続さ
れるか、またはBCU16BによるDMAC動作の準備
のためにDMAC209及びローカル記憶210の間に
接続される。
それゆえ、アドレス007EXXXXが論理280によ
ってデコードされるとき、論理215.216がS/8
8プロセツサ62を関連ハードウェア(例えば176.
176.177)から切り放し、それをBCU156に
結合することが見て取れよう。この切り放しは、578
8オペレーテイング・システムには透過的である。
同様に、デコード論理281 (及び関連ハードウェア
)は、アドレス・ストローブASを線270aからブロ
ックし、PE62に対するDMAC209割り込みシー
ケンスの間に調停論理285に対するローカル・パス要
求を開始する。
より詳しくは、DMAC209が割り込み信号を線25
8a上に配置するとき、その割り込み信号は、OR回路
292a及び292と、S/88割り込み優先順位論理
293のレベル6人カと、線IPLO−2を介してPE
82に印加される。
PE62は、割り込み肯定応答サイクルで応答する。(
割り込みレベルを含む)予定の論理ビットが出力FCO
〜2及びアドレス・パス161A(ビットA1−3、A
l6−19)上に配置され、それらのビットは、線28
3上に出力を発生するために論理281によってデコー
ドされる。
この出力及び、11258C上の割り込み信号がAND
ゲート291をして線287に信号を印加せしめ、以て
論理215をして、線270bを介してBCU論理25
3にASを印加させる。
、it!287上のこの信号は、A S ’jh線2下
270aブロックし、OR回路284を介してlit 
90上に、調停論理285に対するPE62バス要求を
配置する。アドレス・ストローブ(AS)Itは、S/
88ハードウエアに至るのをブロックされるので、この
割り込みは、5788オペレーテイング・システムには
透過的である。
特殊なIACKビットが上述のようにパス161A及び
FC○−2上で受け取られるとき、41270a上のア
ドレス・ストローブ信号をブロックし、OR回路284
及び線190を介して調停論理285上にPE62要求
を配置するために、デコード論理281が!283上に
出力信号を発生t6゜もLA!289上+、:DMA(
1!求がなイナら、A、 N Dゲート294−1に対
する。11191上でPE132パモ Dゲート294はDMAC209に対する線258b上
でI ACKI号を発生する。これにより、DMAC2
09に、その割り込みベクタを提供するように警告され
る。DMACは次に、ローカル・パス上にベクタを配置
して論理2!53に対する!266上でrDTAcJを
立ち上げる。論理263 ハ、a270b上のAs(t
1号に応答t、r、DMAC209からPE62に適切
なベクタを読み込むべく回路217.218を介してロ
ーカル・パス248及び223にプロセッサ・バス16
1A及びDを結合するために線286a、28eb上の
イネーブルg!号を立ち上げる。DMAC209は、ド
ライバ・レシーバ234及びローカル・データ・パス2
23のビット23−16を介して、そのデータ・パス2
48(第19A図〉の最下位バイトからの割り込みベク
タを5788プロセツサ・データ・パス161Dに提供
する。
DMAC209によって発行されるベクタ番号は、S/
88インターフエース・マイクロコードETIO中の8
つの割り込みハンドラのうちの1つにジャンプするため
にS/88プロセツサ62によって使用される。
It266上のDTACK、及び論理263は、一対の
OR回路288を介してPE62サイクルを終了させる
ために、線286a、b上のDSACKを活動化する。
、!286a、bは、PE62の最終的なり5ACK入
力266e、fを形成するために、標準のs/88DS
ACKi112813c。
dとORされる。
統合サービス機能(第49図)から1li6Ei2を介
してOR回路292aに印加される割り込み要求は、D
MAC割り込み要求に関連して前記に説明した動作と同
様の動作のシーケンスを引き起こす。また、一対のAN
Dゲート294−2及び294−3 (!1!520図
)が、第49図の論理白64.585と、ローカル・デ
ータ・パス223を介するBCU1f56からS/88
プロセツサ装置62への適切なベクタ番号の転送を開始
するために線268dSe上のIACK線を立ち上げる
ゆ尚、論理にわずかな変更を加えることによって、(S
/88レベル6割り込み要求がDMACまたはBCIJ
割り込み要求と並行していると@)S788レベル6割
り込み要求に、DMACまたはBCU割り込み要求に対
する優先を与えることができることが理解されよう。し
かし、現在、電力障害を2次割り込みaヒして認識する
ことは、非常に適切である。
(c)BCUアドレス・マツピング ローカル記憶210 (第41C図〉は固定サイズであ
って、S/88 P E 62仮想アドレス空間にマツ
プされている。ローカル記憶210は、3つの目的を差
別化するために次の3つのアドレス範囲に分けられてい
る。
<1)S/88PE82がローカル・データ・バッファ
に対して直接読み書きを行ない、リンク・リストを含む
構造を制御し、 <2)S/88PE62がBCU15Bとの間でコマン
ド、読取状況を読み′!af!!シ、コマンドは特定ア
ドレスからデコードされ、 (3) S/ 88 P E 82 ht (初期化及
ヒ正常動作の両方のために’)DMACレジスタに読み
書きし、レジスタ番号が特定のアドレスからデコードさ
れる。
ローカル記憶アドレス空間は次のものを有する。
(1)データ・バッファ及び制御構造(64にバイトで
あって、612バイト以下が物理記憶210中にリンク
・リストを含む)。
(2)BCUコマンド領域(特定アドレスからデコード
された266バイト・コマンド)。
(3)DMACアクセス領域(特定アドレスからデコー
ドされた256バイト・レジスタ番号)。
ローカル・アドレス・デコード及びパス調停ユニット2
16は、このローカル記憶空間内の全てのアドレスを検
出する。DMAC209は、それと同時に、上記領域<
1)内のアドレスを提供していてもよい。DMACは上
記(2)または(3)の領域をアドレスしてはならず、
このことは初期化マイクロコードによって保証される。
BC1J166は、ローカル・パス上のゑでのアドレス
をモニタし、制御タグを介して、上記範囲(2)乃至(
3)内のアドレスをもつ動作を、ローカル記憶210で
はなく適正なユニット(BCUまたはDMAC)へと再
指向させる。このようにして、上記範囲(2)乃至(3
)によって表されるローカル記憶210のアドレス領域
は、存在するけれども、そこに記憶するためには決して
使用されない。
好適な実施例では、第4のタイプの動作もまた、ローカ
ル・アドレス・デコード及びパス調停ユニット215に
よって処理され(。
すなわち、S/88プロセツサ62は、S/88プロセ
ツサ62に対するDMAC209割り込みを承認し、前
述のMC68020アーキテクチヤに従って各割り込み
を完了させる。
この特殊動作は、その(アーキテクチャ的な特殊)デコ
ードがローカル記憶210の範囲内のアドレスでない、
という相違点により、5788PE62が提供するアド
レス及び機能コードによって検出される。
それゆえ、ローカル・パス調停ユニット216は、この
場合のための特殊デコーダをもち、DMACに、その予
めプログラムされた割り込みベクタを提供するように通
知する。その動作は、さもなければ、DMACレジスタ
を読み取るS/88プロセツサ62と同様である。
アドレス・パス247は、高位桁が1e進007Eにデ
・コードするヒきPE62によって選択される。
残り、の4つの16進桁は、次のように割当てられる6
4KBのローカル記憶アドレス範囲を与える。
I10装置      アドレス・デコード(またはコ
マンド) DMACレジスタ選択 007EOOOO−007EO
OFF (上記領域3) BCUリセット    007EO100(上記領域2
) BSM書込セレクト・ 007EO104アツプ   
     (上記領域2)98M読取セレクト・ 00
7E0108アツプ        (上記領域2)B
CU状況読取    007EOI QC(上記領域2
) ローカル記憶選択   007EO200−007EF
FFF (上記領域1) 次に示すデ・−夕が、選択されたDMACメモリ転送カ
ウント・レジスタと、後のBSM読取/書込選択コマン
ドで使用すべきBCL’156のために、S/8Bプロ
セツサ62によってローカル・データ・パス223上に
配置される。
31    23    15    7   000
00 oqbb bhbb bbbb rspp kk
kk CLXX XXXXビット31−16 <000
0 oqbb bbbb bbbb) : DMACメ
モリ転送カウンタ中にセットされるバイト転送カウント 26瓢高位バイト・カウント・ビットく最大バイト・カ
ウント(4096のみ)の場合1)25−16=下位バ
イト・カウント・ビット。
ビット26−18は、実際のバイト・カウントの1/4
−t−あられす(ダブル・ワード転送)。
BCIJ 156は、後のBSM1!取/書込セレクト
・アップ゛コマンドのために次のようにしてデータを捉
える。
34−27=BCUによって無視される。
26*高位バイト・カウント・ビット。このビットは、
最大バイト・カウントが転送されつつあるときのみ1に
等しい。
26−14=4096パーr’トを[送する<バイト・
カウント1〉を転送するためには、レジスタ220また
は222アダプタに対する転送パイ・ト・カウント(最
大4096バイト)は、1111 1111 1111
というカウントを美する。それゆえ、ECU15Bは、
(64バイト・ブロックで)バイト・オフセット・ビッ
ト15−14とともにそれを提供する前に一度、ダブル
ワード境界ビット28−16をデクリメントする。
15−14−下位バイト・カウント・ビット。これらの
ビットは、ダブルワード境界からの(パス・アダプタ条
件の場合)バイト・オフセット引く1をあられす。これ
らのビットは、ダブルバイトのみを転送するので、DM
AC209またはBCUIEi6によっては使用されな
い。それらは、S/370  BSM182に提供する
ためにパス・アダプタ164によって渡されるまでBC
U156中にラッチされている。
13−12−レジスタ219または227に対するアダ
プタ・パス・チャネル優先順位。
11−08−レジスタ219または227に対する記憶
キー 07寓レジスタ219または227に対するカスタマ/
IOA空間ビット 06−S/88プロセツサは、1つの追加ローカル記憶
アクセスが必要であることを示すために、BSM書込み
セレクト・アップのためにこのビットを活動化させるこ
とになる。このことは、出発ローカル記憶アドレスがダ
ブルワード境界上にない場合に生じる。全てのBCUア
クセスはダブルワード境界で開始しなくてはならないの
で、最初のアクセスは指定された開始アドレスのバイト
と、そのバブルワード・アドレスに含まれる先行バイト
とを含むことになる。その先行バイトは捨てられる。
05−00富予約済み 次に示すのは、DMACメモリ転送カウント・レジスタ
のためにS/88プロセツサ62によって、及び後のキ
ュー・セレクト・アップ・コマンドのためにBCU16
6によって、ローカル・パス223上に配置されるもの
である。
000000000000 bbbb 0000 kk
kk oxxx xxxxバイト転送カウント(ビット
3l−18)は、DMACチャネル3メモリ転送カウン
ト・レジスタMTCにセットされる。
BCU158は、後のキュー・セクレト・アップ・コマ
ンドのために次のようにしてデータを捉える。
3 l−20−BCUによって無視される。
19−18富レジスタ220または222に対するバイ
ト・カウント(最大64バイト)15−12−BCtJ
によって無視される。
11−08−レジスタ227に対する記憶キー07種レ
ジスタ227に対するカスタマ/IOA空間ビット 06−Oo−BCUによって無視される。
(D)ローカル・パス及びデータ・パス動作全てのロー
カル・パス動作は、S/88プロセツサ62のたはDM
AC209からのパ、ス要求を介して開始される。57
88プロセツサ620−カル・バス動作には次のものが
ある。
読取/書込ローカル記憶(32ビツト)読取/書込DM
ACレジスタ(8,16,32ビツト) DMACに対する割り込み肯定応答サイクル(8ピット
割り込みベクタ読取) BCtJ状況読取(32ビツトBCtl読取)プログラ
ムされたBCLIリセット DMAC2090−カル・パス動作には次のものかある
リンク・リスト・ロード(16ビツト)DMAC動作(
32ピツト) ローカル記憶アドレスのみを与える ローカル・パス要求を与える 割り込み 4チヤネルのためにプロセッサ要素62に通常割り込み
ベクタを与える(8ビツト) 不正DMAC動作及び他のDMAC検出エラーのために
エラー割り込みベクタを与える(8ビツト) B C’U l 5 Bローカル・パス動作には次のも
のがある。
DMA動作の間に読取/書込データ(32ピツト)を与
える。
DMAC209に対するデータ要求を開始する。
DMAC,l1PCL0 267aを介して、読取メイ
ルボックス割り込み要求を開始する。
S/88プロセツサ82が、有効ローカル・パス・デコ
ード<007EXXXX)または、DMAC指示割り込
み肯定応答サイクルでそのアドレス・パスを活動化する
ときはいつでも、BCUI5e論理が次のことを実行す
る。
5788に対するアドレス・ストローブ線をブロックす
る。
競合、論理216に対するパス要求を活動化する。
もしローカル・パスが使用状態にないなら、5788プ
ロセツサ・アドレス・パス161A及びデータ・パス1
61Dが、ドライバ・レシーバ217.218を介して
ローカル・パス247.223に結合される。そして、
読取、書込またはIACK動作が実行される。
DSACKaL266aSbは、そのサイクルを閉じる
ために、BCU論理によって活動化される。
全てのローカル記憶及びBCU指示コマンドの場合32
ビツトDSACK 全てのDMAC指示コマンドの場合16ビツト5ACK IACKサイクルの場合16ビツトDSACKDMAC
209からのDMACパス要求(BR)1269は、D
MAC*たはリンク・リスト・ロード・シーケンスの場
合に活動化される。
このこヒが生じると、ECU166は次のことを実行す
る。
もし口゛−カル・パスが使用されていないなら、(DM
AC読収/読込/書込リンク・リスト・ロードの間に”
)DMACアドレスがローカル・アドレス・バス247
にゲートされる。BCU166論理は、DMACレジス
タからのデータ(ローカル記憶210に対するDMAC
書込み)をローカル・データ・パス223にロードする
。ローカル記憶210は、そのデータ(DMACI取立
たはリンク・リスト・ロード)をローカル・パス223
にロードする。そして、読取/書込動作が実行される。
(E)ローカル記憶210との間のS/88プロセツサ
62及びDMAC209アドレシング5788プロセツ
サ62からローカル記憶210へのアドレス・ビット割
当ては次のようである。すなわち、下位ビット0.1 
(及び、図示しないがPE62の5IZO11)が、転
送すべきバイトの数とパス割当て<1−4)を決定する
ビ・シト2−ISは、まとめて、記憶空間210のため
のアドレス・ビットである。
リンク・リスト・モードにおいては、DMACアドレス
・ビットA2がローカル記憶210に対する下位アドレ
ス・ビット(ダブルワード境界)ヒして使用される。D
MAC209は、ワード指向(16ピツト)装置(AI
はその下位アドレス・ビットである)であり、また、ロ
ーカル・アドレス210はダブルワード(32ピツト)
によってアクセスされるので、DMAC209が連続的
ローカル記憶位置からその内部リンク・リストへデータ
を読み込むことを可能ならしめるために、ハードウェア
中になんらかの手段が与えられる。このことは、A2を
下位アドレス・ビットとして使用して、記憶210中で
2度ダブルワード位置を読み取ることによって達成され
る。ビットA1は、ローカル・パスから高/低ワードを
選択するために使用される。ローカル記憶210に対す
るアドレス・ビット・シフトは、ハードウェア中で、D
MAC機能コード・ビットによって達成される。DMA
C209からの”7”以外の任意の機能コードは、アド
レス・ピットA1’5−AO2をローカル記憶210に
提供させる。この構成は、DMAC209のためのロー
カル記憶リンク・リスト・データを、記憶210中の連
続的位置に記憶することを可能ならしめる。
ローカル記憶読取/書込モードにおいては、DMACビ
ットA1は、ローカル記憶210に対する下位アドレス
めビットとして使用される。ひの読取データは、アダプ
タ・パス・チャネル1書込バツフア228から記憶21
0に供給される。
データは、記憶210からアダプタ・パス・チャネル1
書込バツフア228に書き込まれる。DMACは16ビ
ツト装置であるので、その下位アドレス・ビットは、ワ
ード境界をあられすように意図されている。しかし、各
DMAC209作は、ダブルワードにアクセスする。ワ
ード・アクセス・アドレシング機構を用いてダブルワー
ド・アクセスに対処するためには、アドレス・シフトが
必要である。
ローカル記憶210に対するアドレス・ビット・シフト
は、DMAC機能コード・ビットを介してハードウェア
中で達成される。DMAC209からの「7」という機
能コードは、アドレス・ビットA14−AOIのローカ
ル記憶210への提供をもたらす。正確な動作を可能な
らしめるために、DMACに*iのバイト・カウントの
1774(実際のワード・カウントの1/2)がロード
される。DMAC書込み動作のために、全てのDMAC
動作が通常ダブルワード・アクセスであるけれども、D
MAC209からのtJDs及びLDS線(図示しない
)を制御することによって、ワード書込を許容するため
の手段が存在する。UDS及びLDS信号は、高位(D
31−D 16)及び下位(DI5−Do)部分ローカ
ル記憶21Oのアクセスを引き起こす。
PE2からDMAC209へのモードでは、5788プ
ロセツサPE2は、DMAC動作の内部制御をセットア
ツプするために、4つのDMACチャネルO−3のめい
めいのDMACレジスタに書込を行うことになる。PE
82はまた、全てのDMACレジスタを読み取る能力を
もつ。DMAC209は、2つの線DSACKO,DS
ACK1をもち、8.16.32ビツトのポート・サイ
ズを許容するパス266上にワード<18ビツト)DS
ACKを戻す。このことはまた、DMAC209が、D
MACロードを適切に実行するために必要なだけの数の
サイクルを用いることを可能ならしめる。
5788プロセツサ5IZO1SIZI (図示しない
)及びAO線は、DMAC209に対してUDS(上方
データ・ストローブ)及びLDS(下方データ・ストロ
ーブ)1人力を発生するために使用される。このことは
、前述のDMACに関連する刊行物に詳細に説明されて
いるように、DMAC209中のバイト幅レジスタをア
クセスするために必要である。LDS線は、アドレス・
パス161Dの、NOT  5IZOと、5IDOと、
AOの論理ORから発生される。UDS線は、AOの論
理NOTから発生される。5IZO線は、ワード幅レジ
スタがアクセスされつつある時に(NOT  S I 
20)下位バイトにアクセスするために使用される。5
IZ1線は、ワード幅レジスタが「3バイトが残るJS
/88プロセッサ動作を介してアクセスされている時に
、下位バイトにアクセスするために使用される。このこ
とは、S/88プロセツサがダブルワード(32ビツト
)読取/書込動作を奇数バイト境界上でDMACに対し
て実行しているヒきのみ生じる。
ビットAOは、2バイト・レジスタ中で、上位または下
位バイトを選択するために使用される。
ビットAO,AXは、4パイl−DMACレジスタ中で
バイトを選択するために使用される。PE62アドレス
・パス161DのビットAS、A7は、4つのDMAC
チャネルのうちの1つを選択する。
(F)BClJ  BSM読収読書/書込バイトウンタ
動作 BCU166は、各アダプタ・パス250.251に亙
って4KBまでのデータを転送するDMAC209から
の単一コマンドを受け取ることができる。しかし、各パ
スは、1回のデータ転送動作毎に64バイトのブロック
しか処理することができない。プロトコル必要条件を満
たすためにハードウェアが従わなくてはならない別のア
ダプタ・パスの制約がある。以下に、これを達成するB
CU16Bのハードウェアについて詳細に説明する。
BC1J166は、アダプタ・パスBSM11I取及び
BSM書込動作のために使用される2つのフルワード(
11ピヅト)カウンタ220.222と、2つの境界(
4ビツト)カウンタ221.224を含む。境界カウン
タ221.224は、64バイト境界交差が何らかの単
一コマンド/データ転送動作についてBCU158によ
って検出されるか、またはバイト・カウントが64バイ
トよりも大きいとき、パス・アダプタに対する開始アド
レスをあられす。そのバイト境界の内容は、最後のブロ
ック転送以外の全ての場合に、パス・アダプタに提供さ
れる。フルワード・カウンタの内容は、最後のブロック
転送(最後のコマンド/データ転送動作)の場合にのみ
提供される。
S/88プロセツサ62は、レジスタ222または22
0に対する転送のため、ローカル・パス223(第46
F図)上に、バイト・カウント、キー、及び優先順位ビ
ットを配置する。rビット(カウント・ビット1〉は、
ワード(2バイト)境界をあられし、Sビット(カウン
ト・ビットO)はバイト境界をあられす。フルワード・
カウンタ・ビットは、2KB−1ダブルワード転送能力
をあられす。すべての転送は、ダブルワードを単位とし
て行うので、ビット2が下位デクリメント・ビットであ
る。r及びSビットは、BCUによってラッチされ、最
終の64B転送でパス・アダプタ154に提供される。
以下のパス・アダプタ制約条件、及びローカル・パス2
23上ではダブルワード転送のみが行なわれるという事
実のため、バイト及びワード・カウント・ビットを扱う
ことが必要になってくる。このことは、奇数バイト/ワ
ードをS/370  PE84に転送することを可能な
らしめ、また、ダブルワード境界にない開始アドレスに
も対処するものである。パス・アダプタ154に提供さ
れるバイト・カウントは、64バイト以上であることは
できない。そのカウントは、バイト数−1で与えられな
くてはならない。いかなるブロック転送も64バイト境
界に交差してはならない。
バイト・カウントが64バイトに等しいかそれよりも小
さく、境界交差がなく、開始アドレスがダブルワード境
界上にないとき、ダブルワード・カウントに対する追加
的な調節が必要となることがある。
64バイト境界交差が存在する時、カウント値に拘らず
、少なくとも2つのアダプタ・パス・コマンド/データ
転送動作が必要である。S/88プロセツサは、前述の
係数の検査に基づき、ダブルワード・カウントと、r 
N、8及びiビットを予備計算し、またバイト転送総カ
ウントを予備計算する。r及びSビットは、最後のコマ
ンド/データ転送動作までパス・アダプタ154に提供
されない。
S/88PE62がローカル・パス223(第45F図
)上にカウントを配置する時、DMAC209はビット
31−16を捉え、BC1J166はビット26−6を
捉える。BCU156はレジスタ220または222中
にビット26−14を格納する。ビット28−16は、
ダブルワード・カウント・フィールドをあられす。カウ
ンタ220または222は、ダブルワード境界上(ビッ
ト2)でデクリメントされる。S/88プロセツサPE
62は、ローカル・アドレス・パス247上に88M読
取/書込セレクト・アップ・コマンドを配置し、ローカ
ル・データ・パス223上にBSM開始アドレスを配置
する。
DMAC209は、32ビツトに接続された16ビツト
装置である。それは、全てのチャネル中のDMA動作の
間にワード(2バイト)を転送するようにプログラムさ
れており、各内部メモリ・アドレス・レジスタ214は
、各転送毎に1ワード(2バイト)f!けインクリメン
トする。しかし、各転送は実際には32ビツトであるた
め、ダブルワード(4バイト)インクリメントが必要で
ある。これを達成するために、S/88プロセツサPE
62は常に、MARを(記憶210中の)所望の開始ア
ドレスの半分にセットする。BCU156は次に、それ
をローカル・パス223に提供する前にMARからのア
ドレスを2倍することによって補償し、以て、記憶21
0にあられれる正しいアドレス順序付けがもたらされる
BCtJ156は、次のことを実行する。
(1)境界カウンタ221または224が、ローカル・
データ・パス223の反転ビット2−5からロードされ
、それと同時に、88Mアドレス・レジスタ228また
は231がロードされる。
(2)ダブルワード境界(ビット2)上で、フルワード
・カウンタ220または222をデクリメントする。
(3)ダブルワード境界(ビット2)上で、88Mアド
レス・レジスタ228または231をインクリメントす
る。
64バイト以上が残り、またはデータのブロック転送の
間に境界交差が生じた時、BCU156が、境界カウン
タ221または224と、88Mアドレス・レジスタ2
31または228ピツト1、O(反転)からコマンド/
状況パス249または231に、BSM読収読書/書込
コマンドイト・カウントをロードする。そして次に、読
取/書込動作が実行される。、BCU166は、ダブル
ワード境界上で、境界カウント・レジスタ221または
224とフルワード・カウント・レジスタ220または
222をデクリメントし、さらに、88Mアドレス・レ
ジスタ231または228をダブルワード境界上でイン
クリメントする。BCU156は、88Mアドレス・レ
ジスタ231または228のビット6−2=0000と
なったとき、すなわち、64バイト境界で停止する。境
界カウンタ・ビットはこのヒき1111であるべきであ
る。
64バイトまたはされ以下が残り、データのブロック転
送の間に境界交差がないなら、BCU 156はカウン
タ220または222のビット5−2及び、r、 sビ
ットから、アダプタ・パス・コマンド/状況パス249
上に、BSMifi取/書込コマンド・バイト・カウン
トをロードする。BCU156は次に、読取/書込動作
を実行し、その間に、BC1J166は、ダブルワード
境界上でレジスタ220または222をデクリメントし
、ダブルワード境界上で88Mアドレス・レジスタ23
1または228をインクリメントし、レジスタ220ま
たは222のビット12−2が全てlであるとき停止す
る。境界交差は、カウント・レジスタ220または22
2のビット2−5をその境界レジスタ221または22
4ヒ比較することによって検出される。もしカウント・
レジスタ220.222の値が境界レジスタ221.2
24の値よりも大きいなら、境界交差が検出されている
(G) BCtJ 156/アダプタ154ハンドシエ
ーク・シーケンス 第25図のタイミング・チャートはローカル記憶210
中のワーク・キュー・バッファに対する2回の32ビツ
ト・ワードの転送を行う読取メイルボックス・コマンド
及び記憶読取コマンドのための、BC1J156ヒアダ
プタ154の間のハンドシェーク・シーケンスを示して
いる。
メイルボックス読取または記憶読取コマンドがパス29
0上で発行されるとき(第19A図)、S/370記憶
162から適切なデータをフェッチするために、左ゲー
ト(GT  LT)及び右ゲート(GT  RT)とい
う一対の信号が順次的に、アダプタ154に対して、レ
ジスタ214及び219(第19BIg)中のコマンド
及びアドレスの右及び左部分をゲートする。タグ・アッ
プ・コマンドは、線262a上で立ち上げられ、それに
周期的なレジスタ・データ信号が続く。タグ・ダウンは
、フェッチされたデータがバッファ2S9中に格納され
るまで線262b上で立ち上げられている。次の周期的
クロック左及びクロック右信号が立ち上がるとき、フェ
ッチされた最初のワードの左及び右部分がパス250を
介してバッファ226中にゲートされる。
パス要求は、DMACチャネル0または1の場合、線2
63aまたはb上で立ち上げられる。DMACは、i%
I269を介してローカル・パスの制御を巡って調停す
る。この要求が論理216によって許可されたとき1,
1i126S上にパス許可が立ち上げられる。DMAC
209は、!284aまたは264b上で肯定応答信号
を立ち上げ、そのことは、DMAC209が選択された
ローカル記憶アドレスをローカル・アドレス・パス24
7上に配置する間にBCUをしてバッファ226中のデ
ータをローカル・パス223にゲートさせる。
DMAC209は次に、線267上にDTCを発行して
論理253に線210a上′の記憶選択信号を立ち上げ
させる。パス223上のデータは、ローカル記憶210
中の適当なバッファに配置される。
継起する周期的タグ・アップ、クロック左及び右、DM
A!!!求が、継起するデータ・ワードをバッファ22
6にゲートする。そして、これらのワードは、DMAC
209が、調停論理216を介してローカル・パス24
7.223に対するアクセスを得て肯定応答及びDTC
信号を発生するとき、記憶210中の適当なバッファに
転送される。
第2e図は、キュー・セレクト・アップ及び記憶書込み
コマンドのためのハンドシェーキング・シーケンスを示
す。そのどちらかのコマンドがパス290上で発行され
た時、ゲート左及び右信号が(前取てレジスタ225及
び227に記憶されていた)コマン′ド及びアドレスを
アダプタ154に転送する。周期的データ信号に続くタ
グ・アップ・コマンドが1li1262 a上で立ち上
げられる。
そして、DMAff求がl11263cまたはd上で立
ち上げられる。DMAC209は、1!269及び論理
218を介して、ローカルパス247.223を求めて
調停する。その要求が線268を介して許可された時、
DMAC209は線264cまたはd上で肯定応答を立
ち上げ、そのあと最初のデータ・ワードを記憶210か
らレジスタ227へ転送するための線267上のDTC
が続く。次の周期的ゲート左及び右信号は、その最初の
データ・ワードをレジスタ227からアダプタ154の
バッファ260に転送する。
Ia263cまたはd上の継起するDMAC要求信号と
、DMAC肯定応答及びDTC信号は、DMAC209
がローカル・パス247.223の制御を求めて調停す
るとき、継起するデータ・ワードをレジスタ227に転
送する。そして、継起する周期的ゲート左及び右信号が
レジスタ227からバッファ260に各データ・ワード
を転送する。
E13.S/370プロセツサ要素PE8E5好適な実
施例におけるPE86などの各プロセッサ要素は、S/
370命令の処理のための基本的機能を含み、また次の
ような機構を有する。
基本的32ビツト・データ・フロー 32ビツト算術/論理ユニツト(ALU)3032ビツ
ト・シフト・ユニット307 48レジスタ(めいめい32′ビツト)データ・ローカ
ル記憶 3ポート・アドレス可能性を宥する3038バイトS/
370命令バッファ309時間機構(cPtJタイマ、
コンパレータなと)315 PE86の好適な実施例の簡略化されたデータ・フロー
が第27図に示されている。このとき、従来技術でよく
知られている多くのS/370プロセツサ構虚が存在す
ることを理解されたい。好適な実施例の各プロセッサ要
素8Sの好適な態様は、S/370アーキテクチヤの命
令を実行することができるプロセッサである。そのプロ
セッサは、命令及びデータをプロセッサ・パス170上
で記憶1Bの実記憶領域1eからフエツチする。この双
方向パス170は、PE8EiとS/370チツプ・セ
ット150の別のユニットとの間の汎用的な接続である
。PE86はマスターヒして動作するが、システムでは
最も低い優先順位をもつ。そのdI!令は、ハードウェ
アによって、及びマイクロ・モードにある時ひのプロセ
ッサが実行するマイクロ命令によって実行される。
PE86は、4つの主要な機能グループを有する。
一送信及び受信レジスタ300,301と、オペランド
及び命令記憶のためのアドレス・レジスタ302からな
る「パス・グループ」 −データ・ローカル記憶<DLS)303、A及びBオ
ペランド・レジスタ304,305、ALLHO8,シ
フト・ユニット307からなる「゛算術/Wk理グルー
プ」 一制御記憶アドレス・レジスタ(c8AR)308、S
/370命令バツフア(I−バッファ)309、OPレ
ジスタ3101とトラップ及び例外制御を有するサイク
ル・カウンタ311からなる「動作デコーダ・グループ
」 一期間タイマ31S1日付クロック、クロック・コンパ
レータ、及びCPUタイマからなる、小さい、比較的独
立のユニット315である「タイマ・グループ」 以下の記載は、これらの論理グループの用途を記述する
ものである。
ニーバッファ309は、S/370命令を、デコーダに
対して可能な限り高速で専用にする。OPコードを含む
最初の半ワードが、S/370I−フェーズを開始する
ために動作レジスタ310を介してデコーダ312に供
給される。第2及び第3半ワード(もしあるなら)は、
アドレス計算のためにALUに供給される。ニーバッフ
ァ309は、S/370シーケンスの開始前に、レジス
タ313中の強制された動作(FOP)を介してIPL
、LOAD  PSW、またはPSWスワップによって
ロードされるダブルワード・レジスタである。
ニーバッファ309は、命令が動作レジスタ310(及
びアドレス計算のためにALU308)に供給されると
きに1ワードずつ再充填され、成功する各分岐の間に完
全に再充填される。動作デコーダ312はどの動作を実
行すべきかを選択する。そのデコーダには動作及びマイ
クロコード動作レジスタ310かも供給される。モード
・ビットは、どのデコーダ(強制動作の場合とれでもな
い)がデコードするための制御を得るかを決定する。
ニーバッファ309は、動作レジスタ310に供給され
、それと並行して制vIJ記憶171中のOPコードを
アドレスするためにC8AR308にも供給される。こ
のテーブル中の各エントリは、2つの目的を果たす。す
なわち、まず、マイクロコード・ルーチンが存在するか
どうかを示し、そのルーチンの最初の命令をアドレスす
る。マイクロコード・ルーチンは、可変フィールド長命
令、及びハードウェアによって直接実行されない他の命
令などのより複雑な命令の実行のために存在している。
マイクロ命令中の特殊機能コードは、はとんとか1eビ
ツトのマイクロ命令を使用して32ビツト・データを制
御することが可能となるように、サポートするハードウ
ェアを活動化させる。
全ての処理は、次のようにして38パイプラインで行な
われる。
一第1の段は、OPレジスタ310に命令を読み込む。
一第2の段は、データまたはアドレスを、A/Bレジス
タ304.306と、パス送信レジスタ300に読み込
む。OPレジスタ310は、その内容を、第3の段を制
御するOPデコーダ312に渡すことによって、別の第
1の段のために解放される。
一第3の段は、必要に応じて、ALU、シフト、または
パス動作を実行する。DLS書込み動作もまた第3の段
で実行される。
デコーダを複数のグループ(図示しない)で、すなわち
1つは特にALtJ*用、別のものはパス・グループ専
用、というように実現することによって効率的な処理が
さらに増強される。A/Bレジスタ入力及びALU出力
におけるバイト選択可能マルチプレクサ(図示しない)
がさらに動作を増強する。このように、1サイクルにの
みめいめいのパイプライン段を占有するS/370RR
命令が存在する。
内部制御のために、強制動作レジスタ(FOP)313
が使用される。それらのレジスタは、トラップ及び例外
条件から入力を取得して、デコーダ312を別のモード
へと強制する。典型的な動作は、■−バッファ・ロード
、トラップ・レベルへの転移、及び例外ルーチンの開始
である。
各動作レジスタ310は、自己のサイクル・カウンタ3
11をもつ。マイクロコード・カウンタは、いくつかの
強制動作(FOP)によって共有される。算術動作及び
大抵のマイクロ命令は1サイクルしか必要としない。プ
ロセッサ・バス動作を実行するマイクロ命令は、2サイ
クルを要する。
データ・ローカル記憶303は、2つが出力ボートであ
り、1つが入力ボートである3つのボートを介してアク
セス可能な48個のフルワード(4バイト)レジスタを
もつ。どのレジスタも入力のためレジスタ314を介し
てアドレスすることができ、それと同じレジスタまたは
2つの興なるレジスタを、出力のために同時にアドレス
することができる。この3とおりのアドレシングは、オ
ペランド・フェッチが処理と重なることを可能ならしめ
る。コンパレータ論理及びデータ・ゲート(図示しない
)により、書込み動作のためにアドレスしたばかりのレ
ジスタを同一のサイクル中で入力のためにも同様に使用
するこヒができる。これにより、パイプライン動作が容
易ならしめられる。
ALU306は、好適には、2つのフルワード・オペラ
ンド上で真または反転形式でAND。
OR,XOR及びADDを実行することができるフルワ
ード論理ユニットである。10進加算もまたサポートさ
れている。パリティ予測及び発生と、高速キャリー伝搬
機能も含まれている。セーブ・レジスタ320は、割り
算をサポートする。
状況論理321は、分岐判断及び符号評価のためのさま
ざまな条件を発生及び記憶する。
制御記憶アドレス・レジスタ(cSAR)308は、制
御記憶171中のマイクロ命令及びテーブルをアドレス
する。C8AR308に対する入力は、関連修飾子から
の更新されたアドレスであるか、成功裡の分岐からの分
岐ターゲット・アドレスであるか、テーブル・ルック・
アップのための強制されたアドレスである。テーブル・
ルック・アップは、各S/370命令の開始時点、及び
いくつかの強制された動作では絶対必要である。C5A
R308は、OPコード・テーブル(第29図)にアク
セスするためのアドレスとしてOPコード・パターンを
取得する。このOPコード・テーブルの出力が、動作レ
ジスタ310からの直接デコーディングであり得る実行
の形式を決定する。もし間接的実行が必要なら、適当な
マイクロ・ルーチンをアドレスするために、OPコード
・テーブル出力がC5ARにフィード・バックされる。
記憶アドレス・レジスタ302は、24ビツト・アドレ
スとして設計されている。関連修飾子323が、フェッ
チされるデータ・ブロックのサイズに従いアドレスを更
新する。命令は、I−バッファ309が空にされている
ときに1ワード(4バイト)のインクリメ、ントで前版
てフェッチされる。記憶アドレス・レジスタ302に対
する入力は、命令オペランド・アドレス・レジスタ32
4から到来する。それはまた、高速化のため、命令アド
レス・レジスタ324と並列的にセットされる。
CPUデータ・フローは、−度に3つまでのS/370
命令の重なった処理を許容する。57370命令は、ハ
ードウェアで実行され、またはマイクロ命令によって解
釈される。好適な実施例の基本的サイクル時間は80n
sである。命令処理は、1回または複数回の8003ス
テツプで実行される。高速乗算機構PE151は、2進
及び浮動小数点乗算を高速化する。11制御記憶171
からのマイクロ命令は、ハードウェア中で完全に実現す
るには複雑過ぎまた費用がかかり過ぎるS/370命令
の実行にのみ採用される。そのマイクロ命令は、もし必
要なら、命令毎に60nsのレートで供給される。マイ
クロ命令セットは、S/370命令の解釈につき最適化
されている。マイクロ命令は、半ワード・フォーマット
をもち、2つのオペランドにアクセスすることができる
。制御記憶171に含まれていないマイクロコードは、
S/370メモリ162の予約領域(第28図及び第2
9図参照)であるIOA領域187に保持されている。
このマイクロコードは、例外のための性能をあまり要求
されないコードや、あまり頻繁に実行されないS/37
0命令などを含む。これらのマイクロルーチンは、!!
求に応じて、制御記憶171のRAM部分中の64Bバ
ツフアにフェッチされる。PE85が制御記憶171に
実現されているよりも大きいアドレスに遭遇するときは
何時でも、PE86は、キャッシュ・コントローラ15
3及び記憶コントローラ・インク中フェース155に対
する64Bブロツク。フェッチ動作を開始する。ユニッ
ト153.1!55は、10A187から64Bブロツ
クをフェッチし、それをPE86に送り、PE85は、
それをバッファ186に記憶する。マイクロ命令は、実
行のためにPE85によってバッファ18Bからフェッ
チされる。全てのマイクロコードは、初期マイクロコー
ド・ロード(IML)時にメモリにロードされる。シス
テムは、S/88からメモリへのマイクロコード・ロー
ドを容易ならしめるためのIMLサポートを与える。
S/370命令及びユーザー・データは、8KB高速キ
ヤツシユ340(第31図)からフェッチされる。デー
タは、フルワード単位でキャッシュ340に読取〆書込
される。キャッシュとのフルワード読取/書込に必要な
時間は、120nSである。キャッシュ340には、必
要性が生じた時に、メモリ162から自動的に64バイ
ト・ブロックが補給される。PE85は、プロセッサ・
パス・コマンドを介してキャッシュ340と通信する。
PE86によって与えられる仮想アドレスは、ディレク
トリ・ルック・アサイド・テーブル(I)LAT)34
1中の対応予備変換ページ・アドレスをルック・アップ
するために使用される。PE85中のデータ・ローカル
記憶303は、16個の汎用レジスタと、4個の浮動小
数点レジスタと、24個のワーク・レジスタをもつ。
全てのレジスタは、3つの個別アドレス可能ポートを介
して個々にアドレスすることができる。こうして、記憶
303は、ALU中に2つのオペランドを並列的に供給
することができ、同時に、その80nsサイクル内にA
LU308*たはキャッシュ340からフルワードを受
け入れることができる。このヒき、慣用的なデータ・ロ
ーカル記憶のように直列化はないので、算術及び論理動
作は、次の命令のための準備によって重なった様式で実
行することができる。
CPtJは、S/370傘令のための8バイト命令バツ
フア(I−バッファ)309を維持する。
二のバッファは、成功裡のS/370分岐命令によって
初期化される。PE86は、キャッシュ340からのS
/370命令ストリームからダブルワードのデータをフ
ェッチし、それをニーバッファ309にロードする。そ
の最初のフルワードが1−バッファ309にロードされ
た時、PE85は、命令実行を再び開始する。■−バッ
ファ・データは、S/370命令の実行と同時にキャッ
シュ340からフェッチされる。@S/370命令実行
の最初のサイクルは非キャッシュ・サイクルであるので
、CPUは、キャッシュ340からI−バッファ309
にフルワードを予めフェッチするためにこのサイクルを
利用する。
第2の非キャッシュ・サイクルは、効率的アドレス計算
の間にインデクシングを必要とし、またはマイクロ命令
によって実行されるS/370命令により利用可能であ
る。これらの場合、S/370命令フエツチは、S/3
70命令の実行と完全に重なることができる。
好適な実施例においては、S/370チツプ・セット1
50は、送信チップの割り込みラッチをリセットするこ
とによって肯定応答を行うために、割り込みを受け取る
チップを必要とする割り込み機構を介して通信する。
システムが(例えばBCUを介して)アダプタ154の
状況レジスタ(STR)(後述)中の1つのまたはそれ
以上のビットをセット(活動化)するときはいつでも、
システムはN  ATTN−REQIJ御線をも活動化
しなくてはならない。このことは、現在のS/370命
令が実行されたときプロセッサ要素85中に例外を引き
起こし、以てプロセッサ要素8Sに状況レジスタに注目
するように強制する。次に例外ハンドラがSTR内容を
センスし、1割り込みタイプ」を問い合わせ、適当なシ
ステム・マイクロルーチンをタスク指名する。プロセッ
サ要素85がSTR中のビットを活動化した時、システ
ムはそれに従って反応しなくてはならない。基本的には
2つのタイプの割り込み要求がある。
(1)システム要求(SYSREQ)は(BCU156
を介しての)S/370プロセツサ要素8Sに対する要
求である。システムはその賞求を指定するためにSTR
中に割り込みタイプをセットする。このことは、プロセ
ッサ要素85中に例外を引き起こし、プロセッサ要素8
Sは、例外ハンドラに制御!−渡す。例外ハンドラは、
適当なマイクロルーチンをタスク指名し、そのマイクロ
ルーチンは、STR中の適当な割、り込みタイプをリセ
ットし、その割り込みタイプによって決定される機能を
実行し、次のS/370命令を開始するためにアダプタ
154に対してPROCBusコマンドを発行すること
になる。
(2)転送要求は、システムまたはPE85によって呼
び出され、システム・インターフェース上の追加的なデ
ータ転送に関与することがある。このため、STR中に
は2つの割り込みラッチが設けられ、1つはプロセッサ
通15!!求(PCR)であり、もう1つは、システム
通11g!、求(SCR)である。PCRはPE85に
よってセットされシステムによってリセットされ、SC
Rはシステムによってセットされ、PE85によってリ
セットされる。
高速データ転送動作のために、2つの追加的レジスタの
存在が想定され、それは、PE86によってセットされ
、システムによって読取られるBRレジスタ115(第
13図)と、システムによってリセットされPE8Sに
よって読取られるBSレジスタ116である。
次に示すのは、PE85からシステムへの転送要求の一
例である。すなわち、PE85はシステムに対して転送
すべきデータをレジスタ115にセットし、PCR1ラ
ッチをオンにセットする。
システムはそのデータをレジスタ115から読取り、P
CRラッチをリセットする。
プロセッサ8Sは、PCRラッチがリセットされている
かどうかを見出すためにPCRラッチをセンスすること
ができる。PE86は、上記シーケンスを反復すること
によって更なるデータを転送することができる。
システムは、次のように同様の様式でPE85にデータ
を転送することができる。システムはPE86に送信す
べきデータをレジスタ116にセットし、SCRラッチ
をオンにセットする。PE86は割り込まれ、STRを
感知し、SCRラッチ・オンを見出し、レジスタ116
からデータを読取り、SCRラッチをリセットする。シ
ステムは、リセットされているかどうかを調べるためS
CRラッチを照会することができる。
(3)システムは、上記シーケンスを反復することによ
ってPE85に更なるデータを転送することができる。
データはまた、IOA記憶領域187を介して交換する
ことができる。PE85及びアダプタ154のために、
l0A187に記憶/フェッチを行うためのPROCB
USコマンドが存在する。
PE85は、l0A187に割当てられた1組のバッフ
ァをもち、その中へとPE86が、システムによってフ
ェッチされるべきデータをセットする。それに対応して
、システムは、l0A187に割当てられた別の1岨の
バッファをもち、その中へ、PE85によってフェッチ
されるべきデータをシステムがセットする。割り込みタ
イプ10ASYS/l0APtJは、5YSREQ中で
、互いにデータがIOAバッファ中にセットされたこと
を示すために使用される。
使用するシステムによって、ある主のマシン・チエツク
及び内部割り込み条件が立ち上げられる。システムは、
5YSREQ*たはXFERREQ通信要求を発行する
ことによってPHに割り込み条件を通信する。PE85
は、次の機能を実行する。
(A)レジスタSTRをセンスしてその内容を問い合わ
せる。
(B)pステム提供マイクロルーチンを呼び出す。シス
テム割り込み要求ハンドラが、特定の割り込み処理を実
行する。適当な時点で、マイクロルーチンが、対応する
5YSREにlたーはXFERREQをリセットするた
めにアダプタ154にPROCRUSコマンドを発行す
る。最後に、PE85はS/370マイクロコードに制
御を返す。
(c)PE84は適当なS/370割り込みクラスのた
めにPSWスワップを実行し、NSI!!能を実行する
I10割り込み要求は、STR中のI10ピットをセッ
トすることによってシステムによって発生される。現在
のS/370命令が完了する度毎に、例外ハンドラが呼
び出される。このルーチンでは、PE86がI10割り
込み要求を認識するためにSTRを呼び出す。PE86
はSTRビットをリセットし、PE85に対して内部の
割り込み要求ラッチをセットする。このラッチは、現在
のPSWのI10マスクでマスクされる。もしこのマス
クがlで、より高い優先順位割り込み要求が保留状態で
ないなら、例外ハンドラが、I10割り込み要求を保有
する、システム提供110割り込み要求ハンドラにI#
制御を渡す。
E14.プロセッサ・パス170(第11及び30I!
Iiりとプロセッサ・パス・コマンドプロセッサ・バス
170は、全てのS/370チツプ・セット要素の閏の
共通接続である。論理的には、以下にリストする全ての
線はこのパスに属する。
(1)プロセッサ・パス1!(0−31+4パリテイ)
は、一般的には、1サイクル中のアドレスとともにコマ
ンドを転送し、次に次のサイクルで関連データを転送す
るために使用され゛る。パス使用の許可は、好適にはパ
ス・アダプタ154中にあるアービタによって与えられ
る。PE86は最も低い優先順位をもつ。パス許可PE
85を介して許可が与えられた時、PE85は次のサイ
クルで、適当なパス線上に4つの項目を配置する。記憶
アクセス動作のために、コマンドがプロセッサ・パスl
[o−7上に配置され、アドレスがプロセッサ・パス1
18−31上に配置され、アクセス・キーがキー状況パ
ス上に配置され、それと同時に「Nコマンド有効」パス
が立ち上げられる。
(2)キー/状況パス(0−4+パリティ)は、記憶に
アクセス・キーを送ることと、状況レポートを取り戻す
、という2つの目的のために使用される。このとき、S
/370PSWアクセス・キーの4ビツトと、PSW制
御モデル・ビット(BiたはEC)と動的アドレス変換
ビットのANDの結果を表す第5のビットが転送される
返された状況は、良好な動作の場合、ゼロであるべきで
ある。その非ゼロ状況は、大抵の場合PE85中のトラ
ップを引き起こす。アドレスされたパス・ユニット中の
制御ラッチをセットする「メツセージ」タイプコマンド
の場合、状況は期待されない。
(3)Nパス・ビジー線は、動作を、開始したそのサイ
クル中に完了することができない時にビジー表示を与え
る。Nパス・ビジーは、完了するのに2サイクル以上を
要する全てのコマンドの場合、Nコマンド有効信号と同
時に有効化される。
コマンドの実行に2サイクル以上かかる場合にNパス・
ビジーを活動レベルに引き上げるのは、アドレスされた
パス・ユニットの役目である。Nパス・ビジーはまた、
アドレスされたパス・ユニットが対のサイクルの次のコ
マンドを受け入れることができないときにも、活動レベ
ルに引き上げられる。この規則には例外があって、もし
PE85がBSMアレイ主記憶162に記憶動作コマン
ドを発行するなら、PE85はNパス・ビジーを3サイ
クルの間活動化する。一般的には、Nパス・ビジーは、
コマンドの実行が続くよりも少なくとも1サイクル分活
動レベルにあることになる。
(4)メモリ管理ユニット(MMU)ビジー信号は、キ
ャッシュ・コントローラ153から発生される。それは
、PE86に、実行に2サイクル以上かかる、全ての記
憶動作の場合の状況及びデータの到来を示すために使用
される。
フェッチ動作は、主として、次のサイクルまたはされ以
降にデータを渡す。もしデータまたは状況が次のサイク
ルで渡されるなら、MMUビジー信号は、ダウン・レベ
ル(0)で不活性のままととまる。MMUビジーは、1
に立上り、データ及び状況が実際にパス上に配置される
サイクルで0に戻る。
記憶動作の間、PE86は(記憶動作の開始後)、次の
サイクルでキー状況パス上の状況を期待する。もしその
状況を次のサイクルで渡すことができるのなら、MMU
ビジーは不活性(0)のままとどまり、そうでないなら
、MMUビジーは、1に立ち上がって、状況が渡される
サイクルでOに戻る。
(6)IMIss  IND上のキャッシュ・ミス表示
子は、キャッシュ・コントローラ153によって、DL
ATミス、キー・ミス、またはアドレシング違反をPE
86に示すために使用される。
その表示は、その状況上でも回層である情報の複写であ
る。その線は、状況がキー状況パス上に与えられている
サイクルでは有効であるが、ミス表示線は、数ナノ秒前
に活動化される。ミス表示は、次のサイクルで、PE8
5を介してトラップを強制する。
(6)總パス許可PE85上の信号は、PE86に対し
てパスを使用する許可を与える。その信号は、アービタ
で発生する。PE8Sはその後、所望の動作のためのコ
マンドとアドレスを、許可信号が活動的になりNパス・
ビジーが活動的でないサイクルに続くサイクル中でパス
上に配置する。
(7)用途:iiN  ATT  REQ上の注意要求
信号は、「センス」動作を実行するようにPE85に要
求するため□に、(パス・アダプタ154なとの)別の
パス・ユニットから発生する。PE85は、現在進行中
の動作(例えば命令実行)が完了すると直ぐにその要求
に応じる。
(8)IIINコマンド有効上のコマンド有効信号は、
PE86によって、プロセッサ・パス0−31上のビッ
ト・パターン及び(全てのパリティ線を含む)キー状況
バス縁0−4が有効であることを示すために使用される
。その線は、パス許可PE85が活動的になりNパス・
ビジーが非活動性になるサイクルに続くサイクルで活動
性(ダウン・レベル〉になる。
(9)itアドレス・デクリメントは、PE86によっ
て、開始アドレスから下降位置(例えば、データ転送を
処理する10進データに必要とされる)まで進む記憶ア
クセス動作のために使用される。この信号は、Nコマン
ド有効が活動化されるのと同一のサイクルで活動化する
ことができる。
(10)線コマンド・キャンセル上のコマンド・キャン
セル信号は、PE85によって、記憶に対する既に開始
されているフェッチをキャンセルするために使用される
。このことは、PE85が、要求されたデータの即時的
な使用を禁止する条件を検出する時にNコマンド有効が
活動的になったあヒのサイクルで生じ得る。
好適な実施例では、よく知られたタイプの5つのグルー
プのコマンドがある。
すなわち、I10記憶、M M U !!1作、メツセ
ージ交換、及び浮動小数点である。
パス171の制御を要求するパス・ユニット(PE86
、アダプタ154またはキャッシュ・コントローラl5
3)は、パス上にそのコマンドをセットする。CPU記
憶及びI10記憶コマンドの場合、パス・ユニットはま
た、キー状況パス上のアクセス・キー及び動的アドレス
変換ピット会もセットする。そのコマンドの完了後、状
況がその同一バス上で、要求側バス・ユニットに戻され
る。
アダプタ154は、CPU記憶コマンド及びI10記憶
コマンドを発行するが、PE85は、CPU記憶コマン
ドしか発行することができない。
これらのコマンド・グループは、次のとおりである。
動作    CPUメモリ・ コマンド (1)S/370主記憶参照 (a)フェッチ キャッシュ キャッシュカラ ヒツト   のフェッチ キャッシュ メモリからの ミス    キャッシュ・ ラインの再 ロード(キャス ト・アウトを I10メモリ・ コマンド キャッシュから のフェッチ 含む)及び キャッシュから のフェッチ cb;gti   キャッシュへの キャッシュへのキ
ャッシュ 記憶      記憶 ヒツト キャッシュ メモリからの  メモリへの記憶ミス  
  キャッシュ・ ラインの再 ロード(キャス ト・アウトを 含む)及び キャッシュから のフェッチ (2)内部オブジェクト領域(IOA)参照あるCPI
Jメモリ・コマンドは、IOA記憶アドレス・チエツク
へのアクセスを許容する。
110記憶コマンドは、S/370主記憶アドレスをチ
エツクすることなく、キャッシュ・コントローラ153
中で実行される。このチエツクは、5TCI  165
中で実行される。CPU記憶コマンドは、実行のためコ
ントローラ163へと指向され、1バイト・コマンド・
フィールドと、3バイト実または仮想アドレス・フィー
ルドをもつ。これらのコマンド・フィールド・ビットは
、次のとおりである。
コマンド・ビット 意味 0−1工10    CPUメモリ・コマンド2=1 
     フェッチ動作 2=0      記憶動作 3=1      キャッシュ・バイパス、アドレス・
チエツクなし 3冨0      アドレス・チエツクつき−S/37
0アドレス比較 −ACBチエツク 4=I       DLATアクセスなし一キー制御
保護チエツクなし 一参照及びチエツク・ビット 処理なし 4猛ODLATアクセス −キー制御保護チエツク 一参照及びチエツク・ビット 処理 5−′7富nnn   バイト長カウント000=1 
 バイト 001=2  バイト 010=3  バイト 011=4  バイト 100=8  バイト 1 cj 1 =84バイト 110−84バイト・ フェッチI (BSM から低速) 111冨64バイト・ フェッチ1 (アダプタ から低速) CPU記憶コマンドの例は、次のとおりである。
(1)実アドレスをもつ記憶162に対する64バイト
までのフェッチ*たは記憶を行うための、実Nバイト・
フエ’yチ(10111nnn)/記憶(10011n
nn) (2)実アドレスをもつキャッシュに対する4バイトま
での読取/書込を行うための、キャッシュ実Nバイト・
フェッチ<101010nn)/!a憶(100010
nn> (3)実アドレス<100000nn)@もッIOAに
対する4バイトまでの読取/書込を行うための、キャッ
シュ実Nバイト・フェッチ(101011nn)/記憶
(100011nn)(4)仮想アドレスをもつキャッ
シュに対する4バイトまでの読取/書込を行うための、
キャッシュ仮想Nバイト・フェッチ<101000nn
)/記憶(100000nn) I10記憶コマンドは、アダプタi64によって初期化
され、キャッシュ・コントローラ163へと向けられる
。それらは、長さ1乃至64バイトのデータ・ストリン
グをアドレス降順に転送する。その32ビツト・コマン
ド・フォーマットは、3つの下位バイトに実アドレスを
含み、その高位バイトは、最高位ビット”0”をもち、
次の高位ビットがフェッチまたは記憶動作を決定し、残
りの6ビツトがデータ転送の長さ(1乃至64バイト)
を決定する。データ・ストリングは、パス上で位置整列
を要することがある最初及び最後の転送を除いてはワー
ド境界上に転送される。
MMUコマンドは、キャッシュ・コントローラ153と
、DLAT、ACB、ディレクトリを含むそのレジスタ
を制(即するために使用される。
メツセージ・コマンドは、パス151に接続されたバス
・ユニットの間でメツセージを転送するために使用され
る。
ELS、S/370記憶管理ユニツト81(1)キャッ
シュ・コントローラ153キヤツシユ・コントローラl
53(第31図)は、キャッシュ記憶340と、アドレ
シング及び比較論理347.348と、フェッチ整列器
343と、高速アドレス変換のためのディレクトリ・ル
ックアサイド・テーブル(DLAT)341を有する。
キャッシュ・コントローラ153は、プロセッサ・バス
170かも仮想アドレス及び記憶コマンドを受け入れ、
それがキャッシュ記憶340を介する要求を満足するこ
とができないとき、マルチプレクサ349及びSTCパ
ス157を介してフェッチ及び記憶コマンドを記憶制御
インターフェース155(第11図)に転送する。
DLAT314は、仮想ページ・アドレスの実ページ・
アドレスへの高速変換を行う。それの2×32エントリ
は、64個の予め変換されたページ・アドレスを保持す
る。DLAT341は、2路セツト連想的アドレシング
・スキームを使用してアクセスされる。その仮想ページ
・サイズは、好適には4KBである。DLATミスの場
合、PE85が割り込まれ、S/370主記憶182中
のセグメント及びページ・テーブル(図示しない)を使
用してよく知られた方法でマイクロプログラムによって
仮想アドレス変換が行なわれる。
DLAT341は、次に、記憶からフェッチされキャッ
シュ中に配置された情報の新しい仮想及び実ページ・ア
ドレスを反映するように更新される。記憶キーのコピー
がS/370キー記憶からフェッチされてDLATエン
トリ中に入れられる。
キャッシュ・ディレクトリ342をもつ8KBキヤツシ
ユ340は、プロセッサ性能を著しく改善する高速バッ
ファを与える。データ及びディレクトリ・アレイは、4
つの区画に区分される。
キャッシュ中の各区画は、266X8Bで構成されてい
る。キャッシュ340からデータをフェッチする場合、
DLAT341と、キャッシュ・ディレクトリ342と
、キャッシュ340を同時にアドレスするために、仮想
アドレス中のバイト・オフセットが使用される。キー制
御保護チエツクは、選択されたDLATエントリ中の記
憶キーを使用して比較回路345によって実行される。
4×8Bのデータがキャッシュ340の出力340aに
ラッチ・アップされる。そして、もし要求されたデータ
がキャッシュ340中にあるなら、適当なデータをフェ
ッチ整列器343中にゲートするために、晩期選択信号
が使用される。
記憶動作の場合、バイト単位の部分記憶が実行される。
キャッシュ・ミスの場合、キャッシュ・コントローラ1
53は要求された64Bキヤツシユ・ラインをバースト
・モードでフェッチするためにBSMコマンドを自動的
にセット・アップする。もし新しいキャッシュ・ライン
によって置換すべきキャッシュ・ラインが、ロードされ
て以来変更されていたなら、新しいキャッシュ・ライン
がロードされる前に、記憶162に対するキャッシュ・
ライン・キャストアウト動作が開始される。I10デー
タは、キャッシュ・ライン・キャストアウト及びロード
動作を決して引き起こさない。記憶162からフェッチ
すべきI10データは、主記憶162とキャッシュ記憶
340の両方の機構にアクセスすることによって検索さ
れる。そして、キャッシュ・ヒツトが生じると、メモリ
動作がキャンセルされて、キャッシュ記憶がデータを供
給する。もしI10データがキャッシュ中にないなら、
それはメモリから直接フェッチされるけれビも、キャッ
シュ・ラインは宣き換えられない。
記憶中に格納すべきI10データは、もしアドレスされ
たラインが既にキャッシュ中にあるならキャッシュ34
0中に入れられ、そうでないなら直接記憶162中に入
れられる。
4KBキー記憶344は、16MBメモリのための記憶
キーを保持する。そのキー記憶し、4に×8に構成され
たアレイである。各バイトは、1つの記憶キーを保持す
る。各DLATエントリは、その4KBブロツク・アド
レスに関連付けられた記憶キーのコげ−を保持する。そ
のことは、反復的にページにアクセスする間のキー記憶
に対するアクセスの回数を著しく低減させる。記憶キー
割当てにおける変更は、キー記憶と、キャッシュ記憶に
おけるコピーの両方に影響を与える。
レシーバ回路355を介してプロセッサ・パス170か
らキャッシュ・コントローラ163が受け取ったコマン
ド、データ及びアト1ノスは、コマンド、データ及びア
ドレス・レジスタ3601.351及び352にそれぞ
れ格納される。アドレス・レジスタ347は、関連する
S/370プロセツサ要素PE86のための有効アドレ
スの範囲を記憶する。比較論理348は、受信したアド
レスの有効性を検証する。S/370アドレス比較論理
348は、PE85及びI10パス・アダプタ154の
岡方からのアドレスを処理する。
アドレス比較境界(ACB)レジスタ353比較機能は
、カスタマ領域を意図しているS/370主記憶参照が
IOAをアドレスしないことを保証する。ACBレジス
タ353は、S/370に!h憶162中の予約l0A
I!![域と、非予約領域の間の分割(境界)線を記憶
する。S/370記憶に対するめいめいのアクセスは、
比較論理354か受信アドレスをACB値と比較する動
作をもたらす。
(2)STCI 166 (第32A及び32B図)(
A)序論 記憶制御インターフェース(STCI)166は、S/
370チツプ・セット150を、パス論理178及びシ
ステム・パス30. (第1図)を介して、S/882
重化フォールト・トレラント記憶16.18に接続する
。記憶制御インターフェース(STCI)166は、コ
マンド毎の1乃至64バイトからのデータ転送を決定す
る全てのプロセッサ及びI10記憶/フェッチ・コマン
ドをサポートする。全てのFCC,リフレッシュ、メモ
リ初期化及び構成、再試行なとは、s/88プロセッサ
62及び記憶16.18によって処理される。5TC1
156の詳細なデータ・フローが第32A及び32Br
lAに示されている。
5TC1166は、記憶管理ヱニット83中の相手5T
C1165a(図示しない)と、相手ユニット23(第
8図中の)対応STCX対とともに、各5TCI中の論
理408(第23B図)などの調停によって、システム
・パス構造3oの制御を求めて調停する。5TC116
5は第7図から見て取れるようにモジュール9のI10
コントローラ及び他のCPU26.27及び29.31
に対抗して調停するのみならず、110機能または慣用
的S/88Iafmのためにパスの制御を要求し得る関
連S/88プロセツサ62(及びそのプロセッサの対及
び第8図のCPU21.23中の相手プロセッサ)に対
抗して調停しなくてはならない。
しかし、調停論理は、それ以外の点では、今から説明す
るプロセッサ及びI10ボードのモジュール・バックパ
ネル・スロット位置に主として基づき、前述の米国特許
第4463215号に記載されているものとほぼ類似し
ている。調停フェーズの間に、パス・マスクとなる能力
をもちパス・サイクルを開始する準備ができているプロ
セッサ・モジュール9のとのユニットも、パス構造の使
用を求めて調停する。そのユニットは、パス・サイクル
要求信号を立ち上げ、それと同時に調停ネットワークに
よって、やはりパス・すオクル要求を主張しているより
高い優先順位のユニットがないかどうかをチエツクする
。調停フェーズの間にパス構造に対するアクセスを得る
ことに成功したユニットまたは対ユニットがパス・マス
タヒ称され、次のクロック・フェーズで転送サイクルを
開始させる。各メモリ・ユニット16,18は、決して
マスクとはならず、調停はしない。サイクルの決定フェ
ーズの間に、そのサイクルのパス・マスクであると判断
されたユニットが、サイクル決定または機能信号のセッ
トを発生することによりサイクルのタイプを決定する。
パス・マスクはまた、アドレス信号を出して、アドレス
・パリティ線上にそのアドレス及び機能信号のための偶
パリティを配置する。プロセッサ・モジュールの全ての
ユニットは、その内部動作状態に拘らず、機能及びアド
レス信号を運ぶパス導体上の信号を常に受け取るけれど
も、周辺制御ユニットは、パリティ信号を受け取ること
なく動作することができる。決定されているサイクルは
、もしパス待機信号がその時点で出されたなら取り消さ
れる。
応答フェーズの間に、ビジーであるシステムのアドレス
されたユニットは、そのサイクルを取り消すためにパス
・ビジー信号を発生することができる。例えば、メモリ
・ユニットは、ビジーである時か、リフレッシュ・サイ
クルの間にアドレスされたならパス・ビジー信号を発生
することができる。応答フェーズの間に発生されたパス
・エラー信号は、そのエラーがサイクルの決定フェーズ
の間にアドレスとともにあったかもしれないのでそのサ
イクルを取り消すことになる。データは、読取と書込の
前方のサイクルについて、データ転送サイクルの間にパ
スA及びB上で転送される。このこヒにより、システム
が、データ線の使用を求める再調停を依頼したり、ソー
ス・ユニットまたは宛先ユニットに関連するタグ・デー
タをもつ必要なくパス構造上で読取サイクルと書込サイ
クルの混合をパイプラインすることができる。
フルワード転送は、UDS及びLDS (上下のデータ
・ストローブ)信号の両方を出すことによって達成され
る。半ワードまたはバイト転送は、これらのストローブ
信号のうちの1つだけを出すことによって達成される転
送ヒして定穂される。
書込転送は、単にどのストローブ信号も出さないように
することによって、パス・マスクによってそのサイクル
の初期に取り消すことができる。、読取られるスレーブ
・ユニットは、データとともにストローブ信号を出さな
くてはならない。ストローブ信号は、パス・データ・パ
リティの計算に含まれる。
データ転送フェーズの間に検出されたエラーは、そのエ
ラーを検出するユニットに、最初のデータ後サイクルで
ある次のタイミング・フェーズでパス・エラー信号を出
させる。周辺制御ユニットは、データを使用する前にエ
ラーが生じたかどうかを調べるために待機する。しがし
、システムの中央処理ユニット21及び主要メモリ・ユ
ニット16は、受け取るや否やそのデータを使用し、エ
ラーの場合、事実上バックアップして、正しいデータを
待つ。データ後サイクルの間のパス・エラー信号の発生
は、転送フェーズをして、転送サイクルの次の第6のフ
ェーズを繰り返させる。このことは、この第2のデータ
後、すなわち第6のフェーズの間にパス構造上にデータ
を伝送したであろうところのサイクルを取り消すことに
なる。
示されているシステムの動作の正常パックプレーン・モ
ードは、全てのユニットが服従両(Obey  Bot
h)モードにある時であり、そのときAバスとBバスの
両方にエラーがないように見える。例えば、Aパス上の
エラーに応答して、全てのユニットが同期的に服従B(
ObeyB’)モードに切り替わる。モジュール9は、
5788中央処理ユニツト上で走る監視ソフトウェアに
よって動作の服従両モードに戻る。
動作の服従B及び服従A(ObeyA)モードの両方に
おいて、AパスとBバスの両方がシステム・ユニットに
よって駆動され、全てのユニットは依然として完全エラ
ー・チエツクを実行する。服従両モードの動作との違い
は、ユニットが、データを反復させる必要なく、またサ
イクルを打ち切ることなく、服従していない1つのバス
上の更なるエラーを単にログするということだけである
。しかし、服従バス上のバス・エラー信号は、上述のよ
うにして処理され、全てのユニットをしてもう一方のバ
スに服従するようにスイッチさせる。
(B)システム・バス・フェーズ 第33図は、モジュール9のための、バス構造30上の
4つのパイプラインされた多重フェーズ転送サイクルを
もつ上述の動作を示す図である。
波形56a及び56bは、第33図の一番上にラベルさ
れている1乃至21と番号付けされた21個の連続的タ
イミング・フェーズのために、Xバス46にクロック3
8が印加するS/88マスター・クロック及びマスター
同期信号を示す。波形58bで表される、バス構造上の
調停信号は、図示されている21のサイクルのおのおの
において、#1.#2、#3..  #21のサイクル
番号で記されている新しいサイクルを求める調停を開始
するために、各タイミング・フェーズの開始時点で変化
する。第33図は、波形58bでサイクル決定信号を表
す。各サイクル毎のサイクル決定信号は、そのサイクル
のための調停信号よりも1クロツク・サイクル後に発生
する。第33図はさらに、ビジー 待機、データ、Aパ
ス・エラー、及びBパス・エラー信号を示している。第
33図の最下行は、システムが動作するパックブレーン
・モードをあられし、異なるモードの間の転移を示す。
第33図をさらに参照すると、タイミング・フェーズ番
号1の間に、モジュール9は、サイクル#1のためのサ
イクル調停信号を発生する。指定されているように、シ
ステムは、服従両モードで動作している。フェーズ1の
サイクル調停の間に決定されたバス・マスク・ユニット
が、サイクル決定信号波形58b上の指標#1で指定さ
れるように、タイミング・フェーズ2の間に実行すべき
サイクルを決定する。また、タイミング・フェーズ2で
も、第2のサイクル、すなわちサンクル井2を求める調
停が実行される。
タイミング・フェーズ3の間にはサイクル#1に対して
はバス構造上に応答信号がなく、このことは、このサイ
クルが、タイミング・フェーズ4の間に生じ、データ波
形68b上で記号#1で指定されているデータ転送を行
う準備ができていることを示す。また、タイミング・フ
ェーズ3の間に、サイクル決定のサイクル決定が実行さ
れ、更なるサイクル井3の調停が実行される。
タイミング・フェーズ4では、サイクル#1のデータ転
送が行なわれ、サイクル決定の決定が実行される。また
、波形68fで示されるように、バスAエラーがこのタ
イミング・フェーズの間に出される。このエラー信号は
、サイクル井2を取り消し、そのモジュール中の全ての
ユニットを服従Bモードにスイッチする。タイミング・
フェーズ4のバスAエラー信号は、前のタイミング・フ
ェーズ3において、システムの少なくとも1つのユニッ
トがAパス42からの信号に関連してエラーを検出した
ことを示す。そのエラーは、タイミング・フェーズ3の
間の波形58のデータの欠如によって示されるように、
バス構造上にデータがないときに生じたものであり、そ
れゆえ、データ転送を繰り返す必要はない。
タイミング・フェーズ5の間に、服従Bモードで動作す
るシステムによって第5のサイクルが調停され、サイク
ル#4の機能が調停され、バス構造上には、サイクル性
3のための応答が存在しない。従って、そのサイクルは
、タイミ;・グ・フェーズ6の間にデータ転送へヒ進t
、またタイミング・フェーズ6で、波形58(Aて示′
tユっにバス待機が出され、これはサイクル#4ヒ関連
する。その効果は、そのサイクルを別のタイミング・フ
ェーズの間延長し、サイクル#5を取り消すこヒである
新しいす、イクル#7は、タイミ〉グ・フェーズ10で
調停され、その決定動作がサイクル刊6のために進行す
る。タイミング・フェーズ8では、サイクル#4のため
のデータが転送のためにデータ・バスに印加される。ま
た、タイミング・)ニーズ8で、ビジー・バス信号か出
され、この信号は、サイクル#Sの応答の一部であって
、そのサイクルを取り消す。
別のバス・エラーが出されるまでに、タイミング・フェ
ーズ9中の調停及び決定動作がそのパターンに続く。シ
ステムは既に服従Bモードで動作しており、従って、こ
の信号に応答して単にエラーをログするだけである。
タイミング・フェーズ10中で出されタイミング・フェ
ーズ11へと続くバス待機信号は、サイクをJ#8をさ
らに2期間フェーズ延長し、従って、そのサイクルのた
めのデータが、指定されているように、タイミング・フ
ェーズ13で転送される。これらのフェーズの間に出さ
れたパス待機信号はまた、示されているように、サイク
ル#9及び#10を取り消しする。待機信号によるサイ
クル#8の延長におけるフェーズ10.11、または1
2の間に出されたビジー信号は、サイクル#8を取り消
すことになる。尚、サイクル#7のたるのデータ転送は
、タイミング・フェーズ10において、このタイミング
・フェーズの間の待機及びビジー導体上の信号とは独立
に行なわれる。
タイミング・フェーズ11.12及び14の間に生じる
更なるバスAエラー信号もまた、システムに対して、ロ
グする以外の影響を及ぼさない。
というのは、システムは既に服従Bモードで動作してい
るからである。タイミンク・フェース14の間に出され
た待l!!11号は、サイクル井13を打ち消す、また
、それは、サイクル井12を延長し、しかし、サイクル
井12は、タイミング・フェーズ14の間に出されるビ
ジー信号によって打ち消される。サイクル井11のため
のデータは、タイミング・フェーズ14の間に通常シー
ケンスで転送される。更に、サイクル井14のデータ転
送は、タイミング・フェーズ17で行なわれる。
タイミング・フェーズ19では、タイミング・フェーズ
18のサイクル#15データ転送に直ぐ続いて、バスB
エラーが出される。このエラー信号は、サイクル#17
を取り消し、これは応答フェーズにあり、サイクル井1
5のためのデータ転送の反復を開始する。その反復転送
は、サイクル井20の間に行なわれる。さらに、このエ
ラー信号は、モジュールを服従Aモードに切り換える。
パス待機信号は、バス・マスクによってアドレスされた
スレーブ・ユニットによってのみ駆動され、データ転送
には影響を与えるように用意されていないことに留意さ
れたい。5TC1155は決してスレーブ・ユニットに
はならず、メモリのみにアドレスし、I10デバイスに
はアドレスしないから、この線は、5TCI 155に
よっては利用されない。
システム・バス論理178(第19C図)は、5TC1
155からS/88メモリ・ボード16.18へのリン
クを与え、調停論理408(第32B図)を含む。バス
30のために前記に定義したのと同一の基本的バス転送
サイクルが論理178によって使用される。すなわち: (1)調停フェーズ−このフェーズは、どのサイクルで
もバス・コントローラがバスの支配権を巡って争うにつ
れて進行する。典型的には、調停の優先順位は、調停装
置のパックパネル・スロットIDに基づく。5TCIデ
ザインの好適な形式の場合、調停優先順位は、単一CP
UのスロットIDに基づき、一方、優先順位を割当てる
ための各CPU (PE86及びその対のユニット)上
ノFIFO殆ど満杯/殆と空(AFE)フラグ及び半満
杯(HF)フラグ、11409は、多重CPU実装構戒
構成ける実タスク要求に基づく。
(2)サイクル決定ブエーズーこのフェーズは、以前の
サイクル中のパス許可に続く。それは、16.32また
は64ビツト読取/書込転送を、記憶18に対する27
ビツト開始物理アドレスとヒもに指定するための、パス
30のパスFNコードA及びB上の4ビツト機能コード
を含む。
記憶16は、好適な実施例では258MBである。全て
の記憶アクセスは、アドレス・ビット0が使用されない
ように16.32または64ビツト境界上にある。より
正確には、バイト及びラード・アクセスは、バスFNコ
ード定義と連結して第14図にtlDsおよびLDS信
号によって示されている。
(3)サイクル応答フェーズ−このフェーズは、5TC
1166を、再調停し前のサイクル決定フェーズを再発
行するように強制することになるメモリからの、バス3
0上のパス・エラーまたはパス・ビジー条件を含み得る
(4)データ・フェーズ−(サイクル応答フェーズを過
ぎて)記憶要求が一旦受け入れられると、サイクル応答
フェーズに続く (サイクル決定)ニーズの2サイクル
後)サイクルでデータめフェーズが生じる。読取または
書込の125ns内に16.32または64ビツトのデ
ータを転送することができる。
(5)後データ・フェーズ−データが最初に転送された
2サイクル後システム・バス30上で(STC1151
5またはメモリ16から)データの反復を強制するパス
・エラーがないかどうかをチエツクするために必要であ
る。A及びBパスは同一のデータを運ぶので、後データ
・フェーズの間はAまたはBバス・エラーが生じてもよ
い。
パス30を求めて調停するS/88プロセツサ62と、
パス30を求めて調停する5TC1155の間の重要な
相違点を次に説明する。典型的には、S/88プロセツ
サ62は、任意の時点で5つのフェーズのうちの1つで
動作する。しかし、5TC1165のフェッチ及び記憶
パイプライン能力のため、STC工は同時にSつまでの
フェーズ全てで動作することができる。例えば、64バ
イト読取動作の間に、5TC1156は、もしエラーが
ないならSつの全てのフェーズで動作することがでtl
、5TCIは、連続する5つのサイクルの各々でパス3
0の調停制御を許可される。このこヒは、特にモジュー
ル9の単一プロセッサ・バージョンで、システム性能を
向上させる。
(c)STCil能 STCI機能のいくつかを以下説明する。
(1)FIF0400−4個<64X9ビツト)先入れ
先出し高速RAMが、4回までの64バイト記憶コマン
ドをユニット155がビジーになる前に保持することを
可能ならしめるバッファを形成する。それはまた、全て
のデータのための入来パリティを出力まで保持する。S
/370クロツク152は、コマンド及びデータをP 
I FO400中にクロックする。そして、S/88ク
ロツク38がF I FO400からコマンド及びデー
タをクロックする。PIFO400の好適な実施例は、
CypressSemiconductor Corp
、によって1988年1月IS日に発行された製品情報
マニュアルの5乃至34ページに詳細に記載されている
CY7C409である。
1/&界標準のハンドシェーク信号以外に、殆ど満杯/
殆ビ空<AFE)及び半分満杯(HF)フラグが与えら
れる。AFEは、FIFOが殆ど満杯または殆ど空のと
きAFEが高レベルとなる。そうでなければAFEは低
レベルである。HFは、FIFOの半分が満杯のとき高
レベルとなり、さもなければ低レベルである。
メモリは、入力率II完了<IR)制御信号が高レベル
の時シフトイン(SI)11号の制御の下でその入力に
9ビツトの並列ワードを受領する。そのデータは、出力
準備完了(OR)制御信号が高レベルの時、シフトアウ
ト(So)信号の制御の下で記憶されたのと同じ順序で
出力される。もしFIFOが満杯(IR低レベル)であ
るなら、SI大入力パルスが無視され、もしFIFOが
空(ORが低レベル)ならSO大入力パルスが無視され
る。
より広いワードのための並列拡張は、個々のFIFOの
IR及びOR出力をそれぞれ、論理的にA′NDするこ
とによって実現される。そのAND演算は、全てのFI
FOがそれ以上のデータを受け入れる用意がある<IR
高レベル)か、またはデータを出力する用意があるCO
R高レベル〉ことを保証し、以て装置の間の伝搬遅延時
間の偏差を保証する。
読取及び書込動作は、完全に、非同期的であって、以て
FIFOを、動作クロック周波数またはクロック位相が
相当に興なる2つのディジタル装置の間のバッファとし
て使用することを可能ならしめる。F I FO400
は、読取ポインタと、書込ポインタと、既知のハンドシ
ェーキング(Sl/I R,5o10R)4号と、AF
E及びHFフラグを発生するちめに必要な制御論理を含
む、FIFOが空の場合、5TCI論理はSOを高レベ
ルに保持し、以て、ワードが書かれた時、それが出力へ
直挾伝えられる(ripple)。そのOR信号は、1
内部サイクルの問直レベルで、次に再び低レベルに下が
る。もし更なるワードがFIFOに書かれるなら、それ
らは最初のワードに足並を揃え、SOが低れべるに引き
下げられるまで出力上には現れないことになる。
データは物理的にはメモリを伝搬しない。データを移動
する代わりに読取及び書込ポインタがインクリメントさ
れる。書込ポインタをインクリメントしSI大入力ら空
のFIFOのOR出′カへ信号を伝搬するために必要な
時間(フォールスルー時間)*たは、読取ポインタをイ
ンクリメントし80人力から満杯のFIFOのIR出力
へ信号を伝搬するために必要な時間(バブルスルー時間
)がデータをF I FO400を通じて渡すことがで
きる速度を決定する。
電源投入時に、FIFOは、マスター・リセット信号に
よってリセットされる。このことは、装置を空条件に入
らしめ、それはOR1号が低レベルであると同時にIR
償号が高レベルであることによって通知される。この条
件では、データ出力(Doo−008)は低レベルであ
る。AFEフラグは高レベルであって、HFフラグは低
レベルである。
空位置の可用性は、入力レディ(IR)11号の高レベ
ル状態によって示される。IRが高レベルであるとき、
シフトイン(SI)ピン上の低レベルから高レベルへの
遷移は、人力上のデータのFIFO400へのロードを
引き起こす。IRIr号は次に低レベルになり、そのデ
ータがサンプルされたことを示す。SI信号の高レベル
から低レベルへの遷移は、もしFIFO400が殆ど満
杯であるか殆ど空であるなら、IR1r号の低レベルか
らへの遷移と、AFEフラグの低レベルから高レベルへ
の遷移を示す。
PIFO400の出力におけるデータの可用性は、出力
レディ(OR)11号の高レベル状態によって示される
。FIFOがリセットされた後、全てのデータ出力(0
00−DO8)は低レベルになる。FIFOが空である
限り、0RII号は低レベルにとどまり、それに印加さ
れた全てのシフトアウト(SO)パルスは無視されるこ
とになる。
データがFIFOにシフトして入れられた後、0R1t
号は高レベルになる。
2つのフラグ、AFE及びHFは、どれだけのワードが
FIFO中に格納されているかを記述する。AFEは、
8gA*たはそれ以下、あるいは56個またはそれ以上
のワードがFIFOに存在するとき高レベルとなる。さ
もなければ、AFEは低レベルである。HFは、32個
またはそれ以上のワードがFIFOに格納されていると
き高レベルとなり、さもなければHFフラグは低レベル
である。フラグm移は、SI及びSOの下降端に関連し
て生じる。
(2)SBI論理−8/370プロセツサ85をしてS
/88記憶16に対する読取/書込を開始す−ることを
可能ならしめるシステム788バス・インターフェース
(SBI)論j!i 7s。これは、16.32または
64ビツト転送を開始するべくパス30にアクセスする
ために、毎サイクル調停するための論理408をもつ。
論理178インターフエース線及び調停論理408は好
適には、ここで変更しているm所を除いては米国特許第
44Ei3215号に記述されているタイプのものと同
様である。
(3)フォールト・トレランス−FIFOバッファ40
0を含む全てのSTCI論理は、S/370プロセツサ
・ボード上で自己チエツクを行うために、2重化されて
いる。単一の論理は、比較論理402a乃至gと、破断
論理403と、クロック発生論理(図示しない)のみで
ある。このように、5TC1166は、第81!1の記
憶管理ユニット83の一部である実質的に同一の対の5
TC1156a (図示しない)をもつ。
比較論理402a乃至gは、第8図の比較論理15を形
成し、破断論理403は、第8図の共通制御論理7Sを
形成する。好適な実施例では、S/370比較チエツク
は、パス構造30を介してのエラー・データの分散から
保護するために対の5TCI 1 !56.155aで
のみ実行される。しかし、S/370マシン・チエツク
及びパリティ・エラーは、パス460を介して論理40
3に供給される。BCUパス247.223上のいくつ
かのエラーは、S/88比較回路12r(第8図)によ
って取り上げられる。
(4)アドレス・チエツク−8/88記憶16中に有効
物理S/370ユーザー・アドレスを生成するためにベ
ース・オフセット(第1O図)を使用する間に、各S/
370プロセッサ記憶空間162などのサイズが違反さ
れないことを保証するために、メモリ・マツプされた2
つのレジスタ404.405 (MEMベース及びME
Mサイズ)が与えられる。
(5)同期的動作−3/370クロツク152は、パス
30及び同期化ユニット1!58(M:1.9C図)を
介して、S/88クロツク38く第7図)から導出され
、S/88クロツク38の開始からのS/370発振器
人力周期内のクロック間の同期をもたらす。このことは
、連続読取(例えば64バイト読取コマンド)をメモリ
162からS/370チツプ・セットへと待機状態をは
さむことなくバイブラインさせる(システム・パス30
上で5TC1155に許可された連続的サイクルを想定
して)ことを可能ならしめる。
(6)STCパス・インターフェース−全ての標準的S
/370フエツチ/記憶コマンドは、そのコマンド・キ
ャンセリングとヒもに実行される。
パリティ・エラーまたはECCエラーは、57370オ
ペレーテイング・システムに報告されずに、再試行(F
CCまたはパス・パリティ・エラー)として処理される
か、破壊される(内部ボード・パリティ・エラー)、6
4バイト線境界交差は、アドレスの巻き込みをもたらす
111図に一示tよう!、=、5TC1165は、S/
370動的(仮想)アドレス変換を処理し、8KB命令
/データ・キャッシュと64エントリDLAT341 
(ディレクトリ・ルックアサイド・テーブル)を利用す
るキャッシュ・コントローラ・ユニット153を介して
S/370プロセツサ85にインターフェースする。こ
うして、全ての実/仮想I10またはプロセッサ転送は
、ユニット153によってSTCバス167上に発行さ
れる「実」アドレスをもたらす。典型的には、パス・ア
ダプタ154またはS / 370プロセツサ85が「
実」記憶動作を行う時、ユニット163は、5TC16
7上で発行された後でコマンドのキャンセルをもたらし
得るキャッシュ・ヒツトの場合を除いては、単にプロセ
ッサ・パス170からSTCバス157への移行段とし
て働くだけである。
次に、41本のSTCパスバス第32A図及び第301
1!l)について簡単に説明する。STCデータ/アド
レス/コマンド・パス406は、32本の双方向データ
・パス線に加えてバイト毎の奇数パリティをもつ。この
パスは、1サイクルでコマンド及びアドレスを、記憶動
作の後の各サイクル上で32ビツトまでのデータを運ぶ
ために使用される。STC″4I効線は、5TC115
6に対して、コマンド/アドレスが同一サイクル中のS
TCパスバス有効であることを知らせるために、ユニッ
ト153によって使用される。STCキャンセル線は、
5TC1155に対して前に発行したコマンドをキャン
セルするためにユニット153によって駆動される。S
TCビジー$1440は。
rsTc有効」が発行された1サイクル後、5TCIが
ビジーであって新しいコマンドを受け入れることができ
ないことをユニット153知らせるために、5TCI 
156によって駆動される。STCビジー線440は、
ユニット166が新しいコマンドを受け取ることができ
る1サイクル前に解放される。
線433上のSTCデータ無効は、データがフェッチで
戻されるのと同じサイクル中でユニツ)−153に対し
てデータ転送を無効化するために5TC115Sによっ
て発行される。ユニット153は、もしその線が活動化
されているならそのデータ・サイクルを無視する。この
線は、高速ECCZ ラ−7!l’ ハス30上で発生
シ、5TCIIE55.155aの対論理の間でデータ
の不一致が生じ、あるいはパス30tF&取サイクルの
間に不正なパリティが検出されたとき、データと一致し
て送られる。
STCデータ転送!441は、後のサイクル中のSTC
バス157上のデータ転送を通知するためにユニット1
63に対して5TC1165によって駆動される。記憶
の場合、8441は、ユニット153が次のサイクルで
次の32ビツト・ワードを供給すべきことを指示する。
フェッチの場合、線441は、ユニット153に、もし
次のサイクルでSTCデータ無効によって拒否されない
なら次のサイクルが有効なデータを含むであろうことを
知らせる。5TC1155デザインは、上述の全ての状
態が1つのS/37OCPU内で同時にアクティブであ
ることを可能ならしめるように完全にパイプラインされ
ている。このようにして、連続的にパスが許可されエラ
ーがないと想定すると、5TC1155は、32ビツト
、62.6nsSTCパス157上へ<125nsシヌ
チム・パス3oサイクル毎の)64ビツト読取を利用し
て待機状態なく、フェッチ上のパイプラインされたデー
タを維持することができる。
システム/88インターフエース410は、5TC11
65中で、BCUローカル仮想アトしス空間内のMEM
サイズ・レジスタ405及びMEMベース・レジスタ4
04に対するアクセスをサポートするために使用される
。また、「破断」403及び「パス割り込み要求(IR
Q)Jエラーは、パス30上の低優先順位保守割り込み
を単一CPUとして駆動するために、S/88プロセツ
サ・ボード上のエラーと結合される。
パスIRQエラーは、それらのエラーが、通常、同一ま
たは相手ボードによって異なることが検出されたパス3
oからの非保**号のため、「破断」エラーが切断する
ようにはパス3oをボードがら切断しない、という点で
破断エラーとは興なる。これらのエラーは、ボードが服
従両モードにあるときのみアクティブとなる。
さらに、11411.412.413上の「服従A」、
「服従B」及び「21化」信号は、S/370プロセツ
サ内で再び実現されるのではなくてS/88プロセツサ
・ボード論理から駆動される。服従A/服従B11号は
、チエツク及び駆動側データ入力マルチブレフサのため
の入力マルチプレクサ71,73を制御し、パス・エラ
ー条件中でゲートするために使用される。線413上の
2重化口号は、ボードが対になっていることを知らせる
ために使用される(すなわち、対のボードが連続的スロ
ットにあるときそれらが一緒に調停することを保証する
ためにパス調停論理408中で使用される)。
服従A及びB(1号は、十服従A1−服従A、十服従B
1−服従Bを提供するために反転される。
十服従A、−服従Al1号は、レジスタ428及び42
9にそれぞれ印加される。レジスタ428及び429は
、パス構造30のA及びBパスにそれぞれ結合される。
S/88クロック信号(図示しない)は、3つのモード
A、B及び両について、A及びBパスからのデータをレ
ジスタ428及び429にクロックする。レジスタ42
8中のデータは、バスが服従Aまたは服従Bモードで動
作しているときパス436,436にゲート・アウトさ
れ、レジスタ429は、服従Bモードの間のみバス43
5.428上にゲートアウトされる。同様に、第34図
で見て取れるように、5TC1155aのレジスタ42
8aの内容は、服従B*たは服従阿モードの間に同様に
ゲートアウトされる。レジスタ429aの内容は、服従
Aモードの間にゲートアウトされる。レジスタ428.
429及び428a、429aの出力をORすることに
よりめいめいのデータ入力マルチプレクサ機能71.7
3(第311)が実行される。
レジスタ40!5,404中のMEMサイズ/MEMベ
ース値は、BCUローカル・アドレス空間によって、S
/88プロセッサ62仮想アドレス空間中にメモリ・マ
ツプされる。それらは、所与のS/370CPU空間が
一旦与えられると、S/88ブート処理の間にセットし
なくてはならない。それらは、STCI記憶/フェッチ
動作が進行中でない限りS/88によって変更すること
ができる。
レジスタ404.405は、ローカル・アドレス(00
7EOI FC)を介して第19A図のアドレス・デコ
ード論理216によってアクセスされ、次のデータを含
む。すなわち、PAビビッ20−23及びPAビビッ2
0−27であって、それらはそれぞれ、S/370記憶
162サイズ(MEMサイズ)と記憶ベース・アドレス
<MEMベース)に等しく、 MEMサイズ=S/370から記憶領域162に割当て
られた主記憶のメガバイト(1乃至16) MEMベース=紀憶領域162に割当てられた記憶16
の物理的アドレス空間のアドレス・ゼロからのオフセッ
トのメガバイト PA=S/88の変換された仮想アドレス(すなわち物
理アドレス) 論理216がアドレス007EOIFCをデコードする
時、そのサイズ及びアドレス・ビットは、そのパス16
1Dを介してプロセッサ62によってレジスタ405.
404中にセットされる。この動作の閏、論理216は
、プロセッサS2をその関連ハードウェアから切り放し
、以てレジスタ404.405のローディングが578
8オペレーテイング・システムに対して透過的となる。
さらに、S/370オペレーテイング・システムは、S
/370記憶162にアクセスする際に、それらの存在
または用途に気づかない。
132A、B及び30図はまた、記憶制御インターフェ
ース155によって使用される信号I10線をもあられ
している。更にこれは、STCパス157に加えて、5
788システム・パス30と、S/88プロセツサ62
と、S/88CPUボード102上の論理415にイン
ターフェースするために必買な全での線を含む。説明の
便宜上、第8r:Hのトランシーバ13は第32A、B
図には示されていない。
(D)データ記憶動作 キャッシュ・コントローラ153からの記憶コマンド上
で、5TCI 155はそのコマンドをアドレス/デー
タ・バス406(これはSTCバス157の一部である
)のビットO−7上にクロックにより乗せ、それを、S
TC有効有効ビット上にコマンド・バッファ416に格
納し、またバッファ417に格納する。、STCビジー
は、そのユニット156がビジーであることを示すため
に論理401によって次のサイクルの間に線440上で
立ち上げられることになる。ところで、バス406上の
24ビツト実アドレスもまた、アドレス・レジスタ41
7中ヘクロツクされる。
P I FO400が満杯でなく、コマンド中に指定さ
れている全データ転送長く64バイトまで〉を受け入れ
ることができる(FIFOオーバーフローなし)限り、
STCデータ転送が論理401によって立ち上げられ、
このコマンドのための全てのデータ転送が完了するまで
各サイクルでアクティブにとどまることになる。記憶時
、STCデータ転送は、キャンセルが発行されていない
ことが確認されるまで(STC有効後の2サイクルまで
)発行されない(そしてこれにより、そのコマンドはF
IFOにシストされない)eしかし、この期間、論理4
01はレジスタ417からレジスタ442に24ビツト
・アドレスをシフトし、そのデータの最初の4ビツトが
ユニット153からレジスタ417にシフトされる。さ
らに、FIFOHF及びAFEフラグ409が、コマン
ド・バッファ41Gからデコードされたバイト転送長に
比較される。FIFOフラグは、バッファ・フラグの4
つの範囲のうちの使用されている1つを示す。もし、最
悪の場合のバッファ深さに追加された時、バイト転送長
にコマンド・ワード・データの4バイトを加えた値がF
IF064ワード容量を超えるなら(それはFIFOフ
ラグによって示される)、全てのSTCデータ転送活動
は、このオーバーフロー条件が消滅するまで保留される
。このことは、フラグ状況の変化を引き起こす工うにF
IFOから十分なワードがシフトアウトされるや否や起
こる。
もしキャンセルが生じず、FIFOオーバーフローも存
在しないなら、ブロック401からデコードされ、マル
チプレクサ447を介してレジスタ442からの24ビ
ツト・アドレスと組み合わされたコマンドが、FIFO
400に格納される。アドレス・レジスタ417からの
その後の32ビツト・データ・ブロックは、−旦最初の
記憶コマンドがFIFOにシフトされると、連続サイク
ルでレジスタ442を介してFIFO400に格納され
る。ゲート423は、パス30上への16ビツト転送の
ため、下位16ビツトを上位16ビツト上へマルチプし
クスするために使用される。
Sビットは、記憶をフェッチとは区別するために使用さ
れ、C/Aビットは、#83S図から見て取れるように
、FIFO中でコマンド・ワードヒデータ・ワードを区
別するために使用される。パリティは、FIFOを通じ
て維持される。
FIFO入力及び出力は、異なるようにクロックされる
。データは、S/370クロツクによってF I FO
400ヘシフトされ、その間S/88クロックによって
シフトアウトされる。そのタイミングは、FIFOが空
のときのFIFOの最悪の場合のフォールスルー時間(
Sons)に対処するようにセットされる。FIFOコ
マンドは、第35図に示されており、ここで、 S冨(1=記憶、2=フエツチ) C/A=<1=コマンド/アドレス、0エデータ) PO1冨バイト0.1偶パリテイ P23=バイト2.3偶パリテイ LDW=下位データ・ワード選択(上位ワード上でマル
チプレクスされた下位データ・ワード、この場合、PO
1=P23) 64B  0VFL=奇数アドレス配置のための16ワ
ード転送超過追加的な32ビツト・データ転送サイクル
を要する 32B、18B、8B、4B富重み付けされたバイト転
送カウント TRLI、Q+ r後端」ワード中の有効バイトのエン
コード(最後の32ビツト転送)FIFO400の入出
力の両側上のブロック401における個々のシーケンサ
が、FIFOから出入する転送を追跡する。出力シーケ
ンサは、実際に、現在のフェッチまたは記憶コマンドの
ために保留であるパス30データ転送の数を追跡する。
コマンド・ワードが一旦FIFO出力に到達すると、C
/Aビッビッ1が論理401でデコードされ、以前のコ
マンドが未了で保留状態にない限り、F I FO40
0からのs/370実アドレスが論理422及び423
を介してベース・レジスタ404と組み合わされ、それ
は次に、転送カウントが出力シーケンサにロードされて
いる間に、アドレス・バッファ420中に開始「物理」
アドレスとしてロードされる。また、調停論理408が
調停を開始するようにセットされる。
論理408中のサイクル制御論理は、フェッチと記憶の
両方の動作につき、全てのアクティブ5TC11615
バス・フェーズを追跡することになる。パス30状況、
m!(すなわち、パス・ビジーパス・エラー)とともに
、この論理は、通常のパス30フェーズ動作を処理し、
またキャンセルされるサイクル決定またはデータ・フェ
ーズをもたらすエラー条件を処理するために、5TC1
155内で使用される。
物理アドレスはまず、論理422でF I FO400
からのS/37024ビツト実アドレスの上位4ピツト
をレジスタ405中のS/370記憶サイズ値と比較す
ることによって形成される。もしS/370アドレス・
ビットがS/370プロセツサ85のために割当てられ
たサイズ領域を超えないなら、その上位4ピツトは次に
論理423によ、ってレジスタ404中のS/370記
憶ベース値に加えられ、バッファ420中の下位ビット
19−1に連結されて、S/37011ff域162へ
の開始5788アドレスとして使用される物理的27ビ
ツト・ワード・アドレスとなる。さもなければ、ソフト
・プログラム・チエツクが報告される。何らかの64バ
イト・アドレス境界交差は、開始アドレス、への巻返し
をもたらすことになる。
アドレスU/Dレジスタ421は、外出物理アドレスの
ピッ、トロ −2を保持するために使用される。それは
出力シーケンサと同期してクロックされ、正常にインク
リメントされている間に、サイクル応答フェーズのバス
・ビジーまたはバス・エラー条件に応答する時、デクリ
メントすることができる。出力シーケンサが一旦ロード
されると、関連する論理が、パス・エラー及びバス・ビ
ジー条件に応答する間に、論理408を介してのバス調
停許可に基づき記憶サイクルを開始する。適当なS/8
81!I能コードが5788記憶コマンドに対応して論
理401により発生され、そのm能コードは、調停要求
が許可された時バス構造30のA、Bパスに対して印加
するためにレジスタ443に配置される。
出力シーケンサは、通常、各許可毎に、パス30に対す
る32°ビツト転送の場合1だけ、64ビツト転送の場
合2だけデクリメントされ、それはゼロに到達してそれ
以上のバイトが現在のコマンドによって転送されないよ
うになるまで続く。
サイクル決定フェーズと重なるサイクル応答フェーズの
間のパス・ビジーまたはバス・エラーの場合(背中合せ
の許可)、出力シーケンサはキャンセルされた32ビツ
ト転送について1.64ビツト転送(フェッチのみ)に
っき2だけインクリメントされることになる。
同時に、アドレスU/Dカウンタ421がミキャンセル
された32ビツト転送の場合lだけ、64ビツト転送の
場合(フェッチのみ)2だけデクリメントされる。
データ・アウト・レジスタ425は、外出データをバッ
ファするために使用される。データ・アウト保持レジス
タ426は、後のパス・エラー(AまたはBパス)のた
めにデータを再駆動する必要がある場合に必要である。
この場合、(高位アドレスまでの)・後のデータは、そ
のデータ転送は初期転送の後2サイクル繰り返さなくて
はならないのでパス・エラーに関連する以前のサイクル
・データよりも前に受け入れ記憶16.18に格納する
ことができる(記憶とは異なり、フェッチされたデータ
は、シーケンスから外れて受けてることはできない)。
ところで、バス調停m理408は、全ての転送が開始さ
れパス3o上に受け入れられるまでサイクルを求めて連
続的に調停する。バス30及び記憶16.18に対する
調停とデータ転送は、上記(B)章で説明したのと同様
である。
最後に、このFIFOデザインは、ビジーになる前に6
4ワードまでの転送(はぼ4グループの64バイト記憶
転送)を許容する。記憶の場合、FIFOが満杯でなく
その記憶に関連するコマンド及びデータを受け入れるこ
とができる限り、FIFOには完了まで連続的にロード
が行なわれる。結局、各記憶コマンドが実行された後に
STCビジーが下降され、これを以てユニット153が
解放され、S/370プロセツサ85をして実行の継続
が可能ならしめられる。ユニット153における高いキ
ャッシュ・ヒツト率を仮定すると、FIFO中のほぼ4
回の64バイト記憶または32回の1乃至4バイト記憶
に等価なものをバッファすることにより性能が相当に改
善される。
さて、5TC1156が5TCI対155.155aの
「駆動側」であり、5TC1156aが「エラー・チエ
ツク側」であると仮定する。それゆえ、第32B図に示
すように、5TC1165のみがパス構造30上に信号
(制御、アドレス、データ)を駆動する。信号がパスA
及びBの両方に意図されている場合、5TC1165駆
動線は(第32B図には示さないトランシーバ13を通
じて)L)両方のパスに結合されるものとして示される
。5TC1166aにおいては、対応する線は、パス構
造30には結合されず、端に比較論理402a乃至gに
結合される。
比較論理402gは、バッファ420からのアドレス・
ビット27−6と、アドレスU/Dカウンタ421から
のアドレス・ビット5−2と、パリティ発生器論理44
5からの変更されたアドレス・ビット1及びパリティ・
ビットと、レジスタ443からの機能コードを、5TC
1156aからの対応するビットと比較する。そして、
不一致の場合、論理402gが破断論理403と、パス
・エラーA及びB線に対してエラー信号を印加する。
論理402eは、データ・アウト・レジスタ捲25から
のデータ・アウト・ビット@ ST CI 55aから
の対応するビットと比較し、論理403と、パス・エラ
ーA及びB線に対して不一致信号を印加する。論理40
2dは、FIFO論理401からのビットを5TC11
65aからの対応するビットと比較する。ANDゲート
446は、STCビジー信号が、11440上でアクテ
ィブである閏にSTC有効信号が立ち上げられ゛たなら
、論理403に対してエラー信号を与える。
(E)データ・フェッチ動作 フェッチ・コマンドは、上述のレジスタ416.417
.442とFIFO400を通じて、記憶コマンドと同
一の経路に従う、、1つの相違点は、パス30を介して
記憶162がらレジスタ428または429にデータが
受領されたことが知られるまで、STCデータ転送信号
がSTCバス論理408上で立ち上げられない、という
ことである。フェッチ・コマンド及びSTC有効コマン
ドが受領されてレジスタ416に格納される。そのコマ
ンドと内部記憶アドレスは、レジスタ417に格納され
る。STCビジーが除去されるまでキャッシュ・コント
ローラ153が別のコマンドを送るのを防ぐために、次
のSTCバス・サイクルの間にSTCビジー信号を発行
する。
次に、フェッチ・コマンドが受領された時、キャッシュ
・コントローラ153がフェッチされたデータが受領さ
れるのを待っているので、フェッチされたコマンドが完
全に実行されるまでSTCビジー信号が論理401によ
って維持される(記憶サイクルの間に、全ての記憶デー
タがコントローラ153から転送されるや否やSTCビ
ジーが除去されている)。フェッチ・コマンド・サイク
ルの間に、STCビジーは、F I FO400中のと
れか及び全ての記憶コマンドが実行されるまで維持され
なくてはならず、次にフェッチ・コマンドが実行される
。5TC11!56に対する次のコマンドの転送を許容
するためにSTCビジーを除去することができるのはよ
うやくそれがらである。
レジスタ416.417にコマンドを記憶することに続
くサイクルにおいては、コマンド及びアドレスがレジス
タ442に転送され、次にPIF0400に転送される
S/370フエツチ・コマンドがP I FO400の
最後の段に受領された (そして、上述のように出力レ
ディが高レベルになった)時、C/A及び他のコマンド
・ビットが論理401でデコ・−ドされる。調停サイク
ル要求が許可された時、デコードされたS/370コマ
ンド・ビットに対応するS/88機能コードが、パス構
造30に対する印加のためレジスタ443に配置される
許可及びその後のサイクル決定フェーズと、サイクル応
答フェーズに続いて、サイクル応答フェーズの間にパス
・ビジーまたはパス・エラーが報告されなかったと仮定
すると、5TC1155はデータ・フェーズに入る。最
初の32ビットは、DP、UDS、LDSとともに、記
憶1Gとその相手の領域182中の適当な位置からの構
造30のA、Bバス上で受領され、S/88クロツクの
パス30サイクルの後半の開始により、レジスタ428
.429中にそれぞれラッチされる。
服従前モードまたは服従Aモードがアクティブであると
仮定すると、データは次のS/88クロツク・サイクル
(次のパス30サイクルの開始〉でレジスタ428から
バッファ430ヘゲートされる。64ビツト転送の場合
、第2の32ビツトが、以前のデータのバッファ430
への転送と同時にレジスタ428及び429にラッチさ
れる。
パリティ発生器431は、バッファ430に記憶されて
いるデータ・ワードに奇パリティを追加する。これらの
データ及びパリティ・ビットは、受領さOたtJDsS
LDSl及びDPビビッとともに、パス436及び43
6を介して論理402Cに印加される。論理402Cは
、これらのビットを、対の5TC1156a中で発生さ
れた対応ビットと比較する。バッファ430はここで、
第1のデータ・ワードとパリティとを、STCパス15
7のパス406を介してキャッシュ・コントローラ16
3に転送するために次のSTCパス・サイクルの間に駆
動すべきバッファ432上にゲートする。バッファ43
2は、S/88クロツクの活動化の後同期化されるS/
370クロツクによって刻時される。S/88とS/3
70の両方のクロックに対して同一の62.6ns周期
が決定されているので、このことは、パス30からST
Cパスへの連続的な読取のパイプライン化を可能ならし
める。こうして、好適な実施例では、2つの5TC11
5!5サイクルが125nsの各パス30サイクルの間
に実行される。
5TC1166に対する順次的な許可を仮定すると、第
2のデータ・フェーズが上述の第1のデータ・フェーズ
に続くことになる(パス・エラーがないものとする)。
64ビツト・データ転送を想定すると、データはこのと
き、バッファ428(服従Bモードの場合バッファ42
9)からバッファ430へとクロックされるデータと同
時にレジスタ428及び429へとクロックされること
になる。よって、好適な実施例においてパイプラインさ
れたデータ・フローを維持するために、連続的な64ビ
ツト転送がとのようにして利用され得るかが理解されよ
う。
データ・フェーズの間に高速FCCエラーまたはデータ
ネ一致またはパリティ・エラーが発生した場合、STC
アドレス/データ・パス408上のデータと同時に、論
理402CによってSTC無効が線433上に発行され
る。さらに、もし後のデータが、データが無効化された
サイクルの後のサイクルで到着するなら、そのデータ・
サイクルに続いて、A及びBバスの両方で、5TCIS
BI論理によってパス・エラー条件が強制される。この
ことは、2サイクル後に(すなわちパス・エラーが報告
されてから1サイクル後に)データが再駆動され、以て
フェッチされたデータを順序に従って転送することによ
ってSTCパスバスデータの完全性と機能性を維持する
ことを保証する。A及びBパス上の駆動パス・エラーは
、「真の」パス・エラーに対するFCCエラー条件を報
告するメモリ16に等価であり、以てシステム・パス3
0上の全てのコントローラに沿うパス服従論理中に変化
を引き起こさないようにする。
同様に、パス435.436を介する入来データとチエ
ツク・パリティを比較するために使用される論理402
Cはまた、レジスタ428または429を介するシステ
ム・パス30からの「巡回」データ比較を実行すること
によって、論理402Eにおけるデータ出力比較の結果
を検証するために記憶動作に関して使用することができ
る。
このことは、ボード101上でトランシーバ13の問題
をより迅速に識別することを支援し、もし不一致が存在
し、パス・エラーが次のパス・サイクルで報告されない
なら記憶上にボード破断論理403をセットすることに
なる。さらに、フェッチ及び記憶動作の場合の有効な不
一致に関して障害条件を発生することになる全ての比較
出力402a乃至gは、論理403で破断条件を発生す
ることになる。破断の初期設定は、A及びBバスの岡方
でパス・エラー信号を発生し、以て前のサイクルにおけ
るサイクル決定フェーズを取り消す間に前のサイクルに
おけるデータ転送を反復することを保証する。
記憶の場合とは興なり、フェッチの場合、そのユニット
がSTCビジー11440を降下させて別のコマンドを
受領することができるようになる前に、FIFOに前取
て存在する全てのコマンド及び現在のフェッチが実行さ
れなくてはならない。
キャッシュ・コントローラ153は、別の記憶コマンド
を発行することができるようになる前に、フェッチ・コ
マンドのためのデータを受領しなくてはならない。
可屈な読取/書込サイクル・タイプの定義が第36A乃
至り図に示されており、そこでは、UU!上位ワードの
上位バイト UM=中間ワードの上位バイト LM−中間ワードの下位バイト LL−下位ワードの下位バイト MEM16=16ビツト・メモリ・サイクルMEM32
=32ビット・メモリ・サイクルMEM84=64ビッ
ト・メモリ・サイクルLW−長ワード(32ビツト) UDS=上方データ・ストローブ LDS−下方データ・ストローブ 64ビツト書込は、装置155の好適な実施例ではハー
ドウェアを最小限に抑えることを主眼としているので可
屈ではない、64X38FIFOは、S/370からの
32ビツト記憶転送をサポートするに十分である。32
ビツト書込しか使用しないことによる性能上の制約とし
て、インターリーブされた記憶16中の各S/88メモ
リ・ボード「葉体」は32ビツト長(64ビツトに8E
CCビツトを追加したもの)であるので、各葉体は、−
旦書込に関してアクセスされると、3つの追加的<12
5ns)サイクルの間ビジーにとどまる。このことは、
連続的な書込において、5サイクル(626ns)毎に
一度だけしか同一の葉体にアクセスすることができない
ことを意味する。全てのS/370の32ビツト書込は
連続的アドレスに対して決定されるので、このことは、
同一の64ビツト境界内の連続的転送が5サイクル<8
26ns)毎よりも速く発行することができず、一方、
興なる64ビツト境界上の連続的転送はく調停に勝つと
仮定すると)、順次的な125nsサイクルで発行する
ことができることを意味する。
64ビツト読取サイクルはサポートされ、この場合、連
続的な読取が同一の葉体にアクセスしない限り、それら
は連続的サイクルで実行することができる。さもなけれ
ば、それらは、2サイクル(250ns)毎に実行する
ことができる。各32ビツトは、62.6ns毎に64
ビツト読取についてパス30から受け取ることができる
ので(倒木ば、126nsのパス・サイクル毎に2回)
、STCパス及びパス30の時間は、受領された後シス
テム・パス30からSTCバス167ヘデータをパイプ
ラインさせることができるように一致している。サイク
ルを適切に同期化し、各データ・バイトのパリティ発生
を可能ならしめるために、レジスタ428及び429に
よりバッファの2つの追加のレベル(バッファ430及
び432)が使用される。
各27ビツト・アドレス及び4ビット機能コードは、パ
ス30サイクル決定フエーズの間に、随伴パリティ・ビ
ットとともに送られる。、32ビツト・データはまた、
パス30データ・フェーズの間に、関連するパリティ・
ビットをもつ。パス30上の基本的126nsサイクル
は、正常の16及び32ビツト転送のみならず、125
ns!内の64ビツト読取転送をも許容する。オプショ
ンとして、5TC1166中の連続的64ビツト書込転
送をサポートするために、追加的ハードウェアを使用す
ることができる。
E18.S/370  l10fポート(fs375!
l) 第371!Iは、S/370 110機能をサポートす
るために使用することができる5788ハードウエア及
びアプリケーション・コードの概要を図式的に示す図で
ある。ハードウェア装置は、6O!、602.615乃
至619.621及び623乃至626である。ソフト
ウェア(ファームウェア)ルーチンは、603乃至61
4と、620.622及び626である。
次にこれらの要素の機能について説明する。ブロック6
06は、ブロック606乃至ブロック614からなるS
/88アプリケーシヨン・コードのための主要制御であ
(。この機能の組は、EXEC370として知られ、S
/370外部装置、サービス、構成、オペレータのコン
ソールなどのエミュレーシ9ン及びサポートに関連する
全ての5788アプリケーシヨン・コード機能を実行す
る。
ブロック603は、S/370マイクロプロセツサで走
るマイクロコードである。それはS/370CCW機能
をサポートする。ブロック603ヒブロツク606の間
のプロトコルは、それらの間で互いにS/370  I
10100開始及び千の完了と、S/370  I10
装置及びチャネル状況情報に関連して要求及び応答を通
信することを可能ならしめる。そのプロトコルはまた、
ブロック606が、ブロック603に特定のS/370
CCWJ機能を実行するように要求する、:とを可能な
らしめる。ブロックEi O6はS/37C’記憶であ
り、それはブロック(“、03とプロ・ンク60Gの両
方に電接アクセス可能である。ブロック606は、57
88データ・ファイルであるブロック602に含まれて
いるデータを介して適切なS/370構戒を実行する。
ブロック804は、S/881i末装置を通じIS/3
70オペレータのパネルを与える別個の動作タスクであ
る。このタスクは、S/370処理の論理機能を妨害す
るこヒなく任意の時点で開始または停止することができ
る。ブロック607は、EXEC370の一甲であって
1.S/:ボッ0処理とブロック604の間のインター
フニー、1工ミユレーシヨン機能を提供する。
ブロック801は、特にBCUI!5Bをき45;/3
70のデパックの目的のため書かれた3 、=′:37
0オブジェクト・;l−ドを含むS/8B−?−・夕「
バッチ゛ファイル」のセットである。ブロック604に
よって与えられ、これらの「バッチ・ファイル」のうち
の1つのブロック605を選択しそれへのロードを行う
デバッグ・パネルが存在する。
ブロック608−1は、S/370チヤネルをエミュレ
ートする役目を担うコードからなる。これは、S/37
0CCWのフェッチと、ブロック605との間のデータ
の移動と、ブロック603に対するS/370  I1
0割り込み情報の報告と、適正な制御ユニット・コード
・エミュレータの選択を実行する。2つ以上のS/37
0チヤネル(例えば808−2)が存在するけれども、
同一のコードが使用される。
ブロック609−1は、S/370制御ユニツトエミユ
レータ・コードである。システム/370は、多くの異
なるタイプの制御装置、すなわち、DASDコントロー
ラ、テープ・コントローラ、通信コントローラをもつ。
S/370コントロ一ラ機能は、ブロック809−1と
、ブロック810乃至614の間で区画されている。プ
ロ・シクロ09−1の主要な目的はアドレス分離機能で
あるが、別の制御ユニット特定機能もブロック609−
1に存在していてもよい。それゆえ、このタイプのブロ
ック(例えばブロック809−2)は2つ以上、すなわ
ちDASDコントローラ・エミュレータ、通信コントロ
ーラ・エミュレータなどが存在するが、サポートされて
いるそれらの3/370制御ユニツトと一対一対応が存
在する訳ではない。
ブロック610は、S/370コンソー・ルをエミュレ
ートするために必要なコードをあられすラブロック61
1は、S/370端宋をエミュレートするために必要な
コードをあられす。ブロック612は、S/370リー
ダをエミュレートするために必要なコードをあられす。
これは9.標111!PXMリーダの後でパターン化さ
れる仮想入力装置である。これは、典型的にはテープま
たはディスケットである別のソースがら発生された順次
ファイルに入力に対処する。
ブロック613は、S/370プリンタをエミュレート
するために必要なコードをあられすゆ実際のS/88プ
リンタを駆動することもでき、あるいは後でスプール・
プリントするためにS/370データをS/88フアイ
ルに書くこともできる。ブロック614は、S/’37
0ディスクを工ξLレートするために必要なコードをあ
られす。2つの興なるフォーマット、すなわち、カウン
ト、キー及びデータと、固定ブロックが2つの異なるコ
ードのセットによってサポートされている。
ブロック615は、典型的にはS/88コンソール出力
装置である、5788端末をあられす。S/88コンソ
ールは、S/370に対して3278または3279端
末として見える二忌になるディスク上のログに対してメ
ツセージをログすることに加えて、S/88オペレータ
・メツセージとS/370オペレータ・メツセージの買
方を表示する。
ブロック616は、S/88端末をあられす。
ブロック617は、S/88デイスク上の順次データ・
ファイルをあられす。ブロック618は、S/88デイ
スク上の5788プリンタまたは順次データ・ファイル
をあられす。ブロック619は、S/88デイスク上の
S/88データ・ファイルをあられす。ブロック620
は、S/88テープ装置上に取り付けられたシステム7
370テープを読取り、それがもとのS/370テープ
上にあられれるようにブロック617中へとフォーマッ
トするコードである。ブロック621は、S/370で
書かれたテープを取り付けられてなるS/88テープ・
ドライブをあられす。
ブロック622は、パーソナル・コンピュータからS/
88に入力されたファイルを読取り、それがS/370
システム上に生成されたときにもヒもとあられれるよう
にブロック617にフォーマットするコードである。
ブロック623は、S/88及びS/370との間でデ
ータを送受信するように構成されたパーソナル・コンピ
ュータである。ブロック624は、S/370システム
である。ブロック625は、S/88スプール・プリン
タをあられす。ブロック626は、S/88フアイルを
エミュレートされたシステム/370DASD装置にフ
ォーマットするコードである。これは、ファイルを、S
/370  DASDによってサポートされる所望のも
のにフォーマットする5788の個別に走るタスクであ
る。
E17.S/370 110動作、ファームウェアの概
要 システム/370  Iloの簡略化された概要を説明
する。S/370アーキテクチヤは、いくつかのタイプ
のl10m令と、プログラムがテスト可能な条件コード
(cC)スキームと、プログラム割り込み機構を提供す
る。概念的には、I10命令は「I10チャネル」に向
けられ、これは別のCPU処理と並列的にI10100
作來を指令及び制御し、I10命令が(条件コードを介
して)実行するとき、またはI10100(プログラム
割り込みにより〉完了されたとき、CPUに対して状況
を報告する。
S/370命令と、条件コードと、割り込みと、I10
装置(DASD1テープ、端末なと)は、緊密に設計さ
れている。しかし、I10チャネルは、デザインの幅を
与えるように疎に設計され、多くの興なる実現構成が存
在する。
フォールト・トレラント・システム/370の全体の概
要は従って、S/370CPU (カスタマイズされた
ファームウェアをもつチップセット)と、S/88CP
Uとオペレーティング・システムのタイムスライスから
なる「疑似110チヤネル」に、S/370  I10
装置エミュレーションと、システム複合体の全体的制御
の両方を与える特殊ファームウェアとアプリケーション
・レベル・ソフトウェア(EXEC370)を追加した
ものである。この複合体のS/88部分は、フォールト
・トレラントCPU、O8,l10IN置、電諒/パッ
ケージ、バス及びメモリを与え、S/370CPUは、
ハードウェア冗長性及び追加された比較論理を通じてフ
ォールト・トレラントになされる。
必要なカスタム・ファームウェア(すなわちマイクロコ
ード)は、次の2つのグループに分けられる。
a、S/88プロセツサ上で走るS/88BCtJフア
ームウエア(ETIO)−これは、BCU/DMACC
−ドウェア、DMA0割り込みサービス、及び状況とエ
ラー処理の初期化及び制御のためのサービス・ルーチン
である。
b、S/370 (プロセッサ85)マイクロコード−
これは、I10命令、110割り込み処理、及びリセッ
トの呼び出し、IPL、停止などのいくつかの特殊処理
である。
さまざまなファームウェア動作の文脈を理解するための
補助として、次のような典型的I10動作、すなわちエ
ミュレートされたS/370 3278表示端末に対す
る80バイト・メツセージのS/37011込みにおい
て生じる次のような簡略化された事象のシーケンスを考
慮してみよう。
この例の場合、初期化は既に完了しており、S/370
とS/88は正常に動作しており、別のS/370  
I10動作は進行中でないと仮定して第43図及び第1
9Aないし0図を参照する。
PE62とBCU 156の要素の間のデータ/コマン
ド転送のおのおのは、第20図にv5還して説明される
「切り放し」機構を使用して実行される。第43mのフ
ローチャートは、この典型的な開始I10動作を図式的
に示している。
A、S/370プロセツサ85が開始I10命令に遭遇
する(チップセット150中の全てのI10命令は、好
適な実施例ではマイクロコード化されている)。
B、SIOのためのカスタム・ファームウェアが呼び出
される。それはいくつかのパラメータを(S/370主
記憶中のIOA領域中の)固定メイルボックス位置18
8中に移動し、BC015eに対してサービス要求(プ
ロセッサからBCUへの要求)を送り、応答を待つ。
C,BCUC−ドウェアがその要求を検出し、S/37
0  IOA固定位置からISバイト・メイルボックス
を読み取るための命令を発生し、次にBCUからプロセ
ッサへの肯定応答(「要求がサービスされたことを意味
する」)によりその要求をリセットすることによってそ
の要求に応える。
D、S/370プロセツサ85においては、Sl○命令
を終了させ次の順次的命令で処理を統けるためにSIO
ファームウェアが解放される。
と、事象Cの結果として、事10ヒ同時に、S/370
ハードウエアがパス170を介して、アダプタ154中
のBCIJCンターフェース・バッファ259に18バ
イトのメイルボックス・データを転送する。
F、データが(4バイト・ブロック中に)バッファされ
るにつれて、ローカル記憶210中のワーク・キュー・
ブロック(WQB)に(4バイト・ブロック中の〉メイ
ルボックス・データを転送するように、BCUC−ドウ
ェアが反復的にDMAC209(チャネルO)に通知す
る。
G、16バイト転送が完了しへ時、DMAC209は、
S/88プロセツサ62に割り込み(第43図の通知)
を提供し、次のリンク・リスト項目をロードすることに
よって将来のメイルボックス動作に備える。この割り込
みは、プロセッサ62に対する8つのDMA割り込みの
うちの1つ、すなわち°「正常JDMACチャネル0割
り込みである。
H,S/88が(マスクによる遅延にさらされ得る)D
MA0割り込みを受け入れる時、(ETIO中のカスタ
ム・ファームウェア・サービスが実行する。これは、D
MAC209状況をチエツクし、リンク・リストに対す
る参照によって先程受領したばかりのワーク・キュー・
ブロックを見出し、EXEC370アプリケーション・
プログラムに渡すためにそのブロックをキューに入れる
1、EXEC370はワーク・キューをチエツクし、そ
のワーク・キュー・ブロックをキューがら出し、ワーク
・キュー・ブロック中にデータ要求を構成し、3278
#末に送るべき80バイトのデータを得るために、ファ
ームウェア・ルーチンを呼び出す。
J6フアームウエアは、DMAC209(チャネル1)
を用意して開始し、次に、アダプタ164、パス170
、及び記憶コントローラ155を介して特定のS/37
0メモリ位置からの80バイトの読み出しを開始するた
めにBCUハードウェアにコマンドを送る。
K、BCU166、アダプタ154及びDMAC209
は、ワーク・キュー・ブロックに80バイトを転送し、
DMAC209はS/88に割り込みを提供する。この
ことは、上記F、及びG、の動作に類似している。この
割り込み、すなわち「正常J DMACチャネル1割り
込みは、前述の8つのDMA0割り込みのうちの1つで
ある。
L、ファームウェア割り込みサービス・ルーチンが再び
DMAC状況をチエツクし、EXEC370のためにワ
ーク・キュー・ブロック・ポインタをキューに入れる。
M、EXEC370が必要なデータ会話を行ない、その
データを、S/88オペレーテイング・システムのサー
ビスを使用してエミュレートされた3278端末にデー
タを書き込む。いくらか時間が経って、EXEC370
は、その動作の終了(正常またはエラー〉の通知を受け
取る。EXEC370は次に、ワーク・キュー・ブロッ
ク中に、状況を含む適当なS/370割り込みメツセー
ジを構築し、それをS/370メツセージ・キューに入
れるためにファームウェア・ルーチンを呼び出す。
N、ファームウェアは、DMAC(チャネル3)を用意
して開始させ、16バイトをS/370メツセージ・キ
ューに書き込むためにECUハードウェアにコマンドを
送る。このことは、この場合、アダプタ164がその動
作の終了時点でS/370プロセツサ85においてマイ
クロコード・レベルの例外割り込みを発生する(また、
マスキング遅延にもさらされる)ことを除き、反対方向
のメイルボックス読取と同様である。
DMAC2094;!また、上11aG。及びに、 ト
q様に、S/88プロセツサ62に割り込みをかける(
第4311!lの「通知」〉。この割り込み、すなわち
「正常JDMACチャネル3割り込みは、8つのDMA
0割り込みのうちの1つである。
0.5/370プロセツサ85において、カスタム・フ
ァームウェアがその例外を処理し、チャネル・マスクに
ついて遅延の可能性をチエツクしなくてはならない。そ
して、割り込みを、実行中のプロゲラ・ムに提供するこ
とができないようにマスクされているなら、実質的なデ
ータがメツセージ・キュー4IX域189から保留割り
込みキューへと移動され、そのチャネルが次に割り込み
をイネーブルされた時に別のファームウェア・ハンドラ
がそれをサービスする。もしマスクされていないなら、
このファームウェアはS/370の文脈を即時にそのプ
ログラムの割り込みルーチンに切り換える。
この改良されたフォールト・トレラント・システムの広
い視点は、接続されたスレーブI10プロセッサとして
の5788の役割の概念化につながる。これは、S/3
70のためのI10ハンドラまたは疑似チャネルである
。しかし、実際的には、プロセッサ間の基本的な通信は
全て、(デザイン上の理由で)S/88から初期化され
なくてはならない。また、5788は、EXEC370
を介してS/370メモリ及びマイクロコードの全てに
アクセスすることができるけれども、その逆は真ではな
く、S/370プロセツサ86は偶然にさえ、S/88
記憶に全くアクセスするこヒができない。このように、
S/88に対するスレーブとしてのS/370がS/3
70のより真実に近い姿であるが、その内部イメージは
S/370  Iloをもつ通常の単独S/370であ
る。S/370はS/88が現存していることを「知ら
ない」。
しかし、S/370プログラムは5788とは非同期的
に走り妨害されてはならないので、57370  I1
0命令は動作を開始することができなくてはならず、こ
の機能は、S/370が、S/88(通常I10命令で
ある)を待つ最高優先順位メツセージをもつという単一
の意味をもつPU−BCU要求線256aによって提供
される。
このサービス要求の優先順位の性質は、自動メイルボッ
クス・スキーム及び、DMACチャネル0のリンク・リ
スト・プログラミングのための理由である。
DMAC209は、BCUハードウェア・デザインの統
合部分である。それは、S/88フアームウエアによっ
て初期化され、また基本的には制御され、データ転送は
、チャネル毎に1つずつの4つの要求REQ人力1i1
263a乃至dを駆動するBCUによってタイミング制
御される。さらに、外部BCU論理は、各メイルボック
ス転送が完了する時チャネル0PCL@2i57aを活
動化し、以てDMAC209に、S/88プロセツサ6
2に対する割り込み要求を提供させる。
S/370とS/88の間には、次の4つの基本的デー
タ転送動作がある。
(1)メイルボックス読取 これは、サイズが16パイトで、アダプタ154チヤネ
ルが0′?′、DMAC20,9チヤネルがOで、DM
AC#J作タイプが、連続なリンク・リストである。
(2)データ読取 これは、サイズが1乃至4096バイトで、アダプタ1
54チヤネルがOで、DMAC209チヤネルが1で、
DMAC動作タイプが、スタ・−ト・ストップ優先使用
可能である。
(3)データ書込 これは、サイズが1乃至4096バイト′で、アダプタ
154チヤネルが1で、DMAC209チヤネルが2で
、DMAC動作タイプが、スタート・ストップ優先使用
可能である。
(4)メツセージ・キュー書込 これは、サイズが16バイトで、アダプタ154チヤネ
ルが1で、D !vf A C209チヤネルが3で、
DMAC動作タイプが、スタート・ストップである。
DMAC209の初期化及びプログラミングは、完全に
標準的であり、好適にはMC68450アーキテクチヤ
に合致するものである。要約すると、 4チヤネル全て−ワード(16ビツト)転送サイズ、賓
求線が転送を制御、記憶210中のメモリ・アドレスが
カウント・アップする、装置(BCUデータ・バッファ
・レジスタ)アドレスはカウントしない、割り込みイネ
ーブル済み、ホールドなしのサイクル・スチール、肯定
応答/暗示的アドレス/単一アドレシング・モードを有
する装置、16ビツト装置ボート、PCL−状況入力上
記に追加してさらに、 チャネルO:!装置からメモリ(記憶210〉転送、リ
ンクされたれたアレイ・チエイニング、PCL=割り込
みによる状況入力 チャネル1:装置からメモリ(記憶210)転送、チエ
イニングなし チャネル2及び3:メモリ(記憶210)から装置への
転送、チエイニングなし DMACは、装置が16ビツト・データをもつと「考慮
」するが、外部論理は、32ピツト転送をもたらす。D
MAC209のチャネルOで使用されるリンクされたア
レイ・チエイニング・モードは、リンクされたリストが
存在するこ?を意味し、それは、ETIO初期化ルーチ
ンによってセット・アップされる。チャネル0が一旦開
始されると、それは、エラー条件によるか、またはリン
クされたリストの最後の有効エントリにi!遇すること
によってのみ停止する。正常動作では、S/88に対す
る割り込みはDMAC209がメイルボックス読取を完
了する度毎に生じ、ファームウェアがリンクされたリス
トをリアルタイムでモニタして供給する。こうして、リ
ストの最後のエントリには決して到達するこヒがなく、
チャネル0は連続的に走る(アイドルする)。
各DMACチャネルには2つの割り込みベクタ・レジス
タNIV、EIV (第18図〉が設けられ、1つは正
常の動作終了のためのものであり、もう1つは検出され
たエラーによって強制された終了のためのものである。
この実施例は、マイクロコード記憶174中に8つの個
別のETNO割り込みルーチンをもつ、全部で8つのベ
クタを使用する1、さらに、チャネル0の正常割り込み
は、2つの可能的意味、すなわち、PCLによっぐ引き
起こされた「メイルボックス受信」、及び上り一般的で
ないr゛ノ、ノク・リストの終了によるチrネルの仔止
」を意味する。割り込みハンドラは、DMAC状況リス
トをテストすることによってこれらJl、m別する。
S / 88フアームウエアはまた、初期化と、上述の
3つの基本的データ転送の開始と、データ読取と、デー
タ書込と、メツセージ・キュー書込ヒいうEXEC37
0のための4つのサービス・エントリを提供する。
ETIO初期化エントリは、通常、電孫投人の直ぐ後で
呼び出されるが、エラー回復試行のための再初期化のた
めにも使用するこヒができる。それは、BCUハードウ
ェアとDMAC209をリセットし、構成及び制御値で
以て4つの全てのチャネル中のDMACレジスタをプロ
グラムする。それはまた、必要なリンク・リスト及びチ
ャネル0を開始して、DMAC209をして最初のリン
ク・リスト・パラメータを自動ロードさせ次に線263
a上のBCUハードウェアからの要求m移を待たせる。
別の3つのサービス・エントリは、DMACチャネル1
 (データ読取)、2くデータ書込)、及び3(メッセ
・−ジ・キュー書込)を開始させるために呼び出される
。呼び出しプログラム(EXEC370)は、データ・
アドレス、カウントなどをプリセットされているワーク
・キュー・ブロックに対するポインタを提供する。これ
らのルーチンは、DM、AC209及びBCUハードウ
ェアを即時に開始させるか、または、もしDMACチャ
ネルがビジーなら動作をキューに入れる(!1!541
 E図に示す個別の「作業保留」キュ・−がこれら3つ
のチャネルのめいめいのために保持されている)。要求
されたサービスが一旦開始され、またはキューに入れら
れると、制御は呼び出し側プログラムに戻され、割り込
みハンドラは、完了まで動作を続ける。
5788カスタム・ファームウェアの第3の、小さいけ
れども極めて重要な領域は、カスタム・ハンドラに対す
るものであるがS/88オペレーテイング・システムに
は透過的でる8つのDMA0割り込みに介入してベクタ
するための、S/88オペレーテイング・システムの変
更部分である。それには、レベル6(通常、電孫障書の
ヒき自動ベクタされる)ヒしてオペレーティング・シス
テム中・の標準アーキテクチャのMC68020のベク
タ・テーブルに変更を加え、オペレーティング・システ
ム中にそのカスタム割り込みハンドラを配置することに
関与する。これは好適な実施例であるが、割り込みのた
めの初期化ルーチンに関連する章で後で説明するように
、論理パス223上にベクタを配置するための論理壱B
CU156中に与え、以てベクタ変更の必要性を解消す
るこヒもできる。
好適な実施例のS/88フアームウエアは全てMC68
020アセンブラ言語で書かれ、よって、マイクロコー
ドとは適切に呼ぶことができない。それは、その機能の
性質から、ファームウェアであると考えられるつ S/370プロセツサ85のために必要なカスタマイズ
されたファームウェアには4つのカテゴリがある。
(1)S/88111似チヤネルに至るマイクロコード
化されたI10命令 <2)I10命令を含む、5788から入来する非同期
メツセージの処理 (3)全ての(エミュレートされた)S/370  I
10装置の構成データ及び状況の維持(4)ユーザー・
マニュアル動作のサブセットの実現 この特殊ファームウェアは全てS/370マイクロコー
ドで書かれ、それは可能な限り既存の機能サブルーチン
を使用している。
S/370には10個のI10タイプ命令が存在し、こ
れは、第44Aないし1図を参照してより詳細に説明す
る。
CLRCH−チャネル・クリア(チャネルのみの動作) CLRIO−I10クリア HDV−装置停止 HIO−110停止 RIO−I10再開 5IO−I10Wi始 5IOF−I10高速開始 5TIDC−チャネルID記憶(チャネルのみの動f?
) TCH−チャネル・テスト(チャネルのみの動fr−) TIO−I10テスト これらの命令のおのおのは、S/370アーキテクチヤ
との整合性を維持しつつメイルホックスミmを介してS
/88中のEXEC370に全ての実質的な情報を渡す
ように、マイクロコードで実現される。
アダプタ154中のいくつかの興なるハードウェア条件
は、S/370プロセツサ85中のマイクロコード・レ
ベルの「強制された例外」のいくつかの可能な原因の1
つである、「アダプタ注意」要求の活動化をもたらす。
マイクロコードによるこの例外のサービスは、(もしプ
ロセッサ86が待機状態にあるなら即時に)S/370
命令の間で生じる。「アダプタ注意」の最も頻度が高く
共通の原因は、PE8i5が、I10疑似チャネルS/
88からS/370主記憶のIOA区画の固定メツセー
ジ・キュー領域189へのメツセージを受け取ることで
ある。
既存のS/370マイクロコ一ド例外ハンドラは、「ア
ダプタ注意」の場合のために変更される。コードは、要
求の原因を決定するためにアダプタ154状況をテスト
し、「キュー非空」 (これは、メツセージが受け取ら
れたことを意味する)処理のみをカスタマイズし、別の
原因は、処理のために既存の非変更コードに戻る。
受信されたメツセージの決定されるカテゴリは、次のと
おりである。
0000  NOP:  動作しない。
0001  RESET:  既存のS/370プログ
ラム・リセット・ルーチンを呼び出す。
0002  CLEARRESET:  @存のS/3
70クリア・リセット・ルーチンを呼び出す。
0003  HALT:  S/370プログラム実行
を停止し、I 5TEPモードをターン・オンする。
0004 5TEP二 命令ステ・ンプ、1つの命令を
実行し、停止する。
0005  RtlN:  l5TEPモードをリセッ
トし、プログラムの実行を再開する。
0008  LPSW;  メツセージ内に与えられた
PSWを使用して、S/370「ロードPSW」機能を
実行する。停止状態を離れる。
0007 8M5G:  ローカル<l0A)INN状
状況テーブル中、1つまたはそれ以上の構成された装置
のために、状況メツセージ−状況ビットを更新する。
0008 1M5G:  割り込みメツセージ−チャネ
ル・マスク状況に応じて、S/370 170割り込み
をキューに入れるかまたは、S/370  I10割り
込みを直ちに提供する。
上記メツセージ・タイプ0001−0006は、(エミ
ュレートされた”)S/370システム・コンソールで
のユーザー人力から生じた状態111j御のためのS/
370マニュアル動作である。
それらは、エラー回復または同期のために必要に応じて
、EXEC370によって!液強制することもできる。
メツセージ・タイプ0007は、S/370に、電源損
失、オン/オフライン変更、装置検出エラーなどのl1
0iJI置の状況の非同期的変化を通知するために使用
される。それはまた、S/88からS/370への汎用
通信用に拡張することもできる。メツセージ・タイプ0
008は、正常終了、またはエラー終了条件のどちらで
あるかについて、11011の終了状況を57370に
報告するための手段である。これは常に、S/370に
おいて、最終的なプログラム割り込み及び装置テーブル
変更をもたらすことになる。
次に、ETIO及びEXEC37011[:、インター
フェースと、プロトコルと、命令フローについて説明す
る。
E18.システム・マイクロコード・デザイン(1)序
論 第38図は、本発明の好適な実施例のマイクロコード・
デザインを説明する図である。S/370プロセツサ装
置86内で走るコードは、制御記憶171中に保持され
、PE86によって実行される時にS/370命令を解
釈する。I10開始、割り込み処理、オペレータ機能、
マシン・チエツク、及び初期マイクロプログラム・ロー
ド/プログラム・ロード(IML/I PL)のための
マイクロコード化された命令は、特に、図に示されてい
るようにS/88マイクロフードとインターフェースす
るようにデザインされている。そのインタ−フェースは
、ローカル記憶210と、S/370キヤツシユ340
と、プロセッサ85及び62の両方に対して割り込み能
力をもつS/370実記憶空間162とをもつインター
フェース論理81の共通ハードウェア設備を有する。S
78日コードにおいては、S/370マイクロコード・
ドライバがCCW変換と、割り込みハンドラと、エラー
・ハンドラと、IML/IPLと、S/88アプリケー
シヨン・インターフェース(EXEC/370)及びS
/88オペレーテイング・システムと対話する同期化コ
ードを含む。
フォールト・トレラント・プロセッサ62は、システム
のための全てのIlo、診断、障害分離、IPL/IM
L及び同期化を実行する。このシステムは、ユーザーの
観点からは、S/370プログラムが実行している唯一
のプログラムであるため、コプロセッサ・システムのよ
うにはみえない。システム管理者は、S/8Bフオール
ト・トレラント・オペレーティング・システムを通じて
システム属性を制御することができる。S/88オペレ
ーテイング・システムの主要な機能は、多11370チ
ャネル外観をもつI10変換である。
全てのエラー及び回復S能と、動的資源割当て機能は、
S/88オペレーテイング・システムによって処理され
る。S/370オペレーテイング・システムによって以
前処理されていたマシン・チエツク及びオペレータ機能
は、命や5788オペレーテイング・システムに渡され
、従って、その機能は、フォールト・トレラント様式で
処理することができる。
第39図は、この例では開始I10コマンドである、S
/370  I10コマンドの実行をあられす。S/3
70命令、(PE86からPE62への)結合ハードウ
ェア、(PE62上で実行される〉結合マイクロコード
ETIO,及びS/88プログラムEXEC370によ
って行なわれる動作が簡単に示され、そのI&終スステ
ップ、S/88プロセツサPE62上のS/370  
Iloの実行である。
第40図は、EXEC370に関連するシステムの要素
及び機能と、SIO実行の間に使用されるマイクロコー
ドを、制御フロー データ・フロー、信号及びハードウ
ェア/コード区画とともに示す簡略化された概要図であ
る二 <2)ETIO/EXEC370プログラム・インター
フェース(第41A乃至H図と第42図)この章では、
次の用語が使用される。
EXEC370−S/370外部装置、サービス、構成
、オペレータのコンソールのエミュレーション及びサポ
ートに関連してPE82上で走り、マイクロコード記t
l 174に記憶される全てのS/88ソフトウエア。
使用頻度が小さいEXEC370コードは、キャッシュ
173に記憶することができる。
S/370マイクロコード−8/370プロセッサ動作
をサポートするS/370プロセツサ85で走り記憶1
71に記憶されるマイクロコード ETIO−記憶174に保持されるEXEC370とB
C1J168の間のマイクロコード・インターフェース
S/370  PE86マイクロコード及びEXEC3
70は、第41A図の「プロトコル」を介して互いに通
信する。PE86マイクロコードは、Iloなどの機能
の実行を要求するEXEC370に対してメツセージを
送り、EXEC370は、110機能の完1を示すメツ
セージと、I10装置及びチャネル状況変更に関するメ
ツセージと、PE85マイクロコードに、特定のCPT
J機能を実行するように要求するメツセージを送る。こ
れら・のメツセージ(詳細は後述〉は、キャッシュ・コ
ントローラ153、アダプタ154、BCU166、及
びDMAC209などをもつハードウェアを介してPE
85マイクロコードとEXEC370の間で伝送される
。このメツセージ伝送サービスは、E’!”10によっ
て、EXEC370に対して可屈となされる。
ETIOとEXEC370の間のイン ターフェース、及びPE85及びEXEC370の間の
インターフェースについて次に説明する。
EXEC370,5788によって実行されるS/37
0外部サポート・ソフトウェア、及びPE62上で走る
BCUマイクロコード・ドライバ<ET I O)の間
のインターフェース(第41BrsJ)は、記憶210
上に在駐する一組のキュー及びバッファと、1つの事象
IDと、E X B U S Y変数と、サブルーチン
呼び出しシーケンスからなる。サブルーチン呼び出しイ
ンターフェースは、S/88とS/370の間のデータ
転送動作を開始し、S/88再ブ一ト時にDMAC20
9とBCU156を初期化する。キュー・インターフェ
ースは、作業項目を、処理することができるようになる
まで追跡するために使用され、事象IDインターフェー
ス(S/88に対する割り込み)は、作業がキューに追
加された時にEXEC370に通知する。
記憶210において、第41C図に示すように16個の
4KBブロツクが存在する。その14個(500−0乃
至500−13)は、4KBブロツク・バッファとして
使用される。残りの2つは、32個の256バイト・ブ
ロック501−○乃至501−31に分割される。4つ
のブロック501−0乃至501−3は、ハードウェア
通信のために使用され、5ol−4はキュー及び他のE
XEC370及びETIOに対する共通変数として使用
される。残りの27個は、ワーク・キュー・バッファ(
WQB)501−5乃至601−31として使用される
。ブロック501−0及び501−1に等価なアドレス
空間において、BCU’166コマンド(P E 62
によって実行される)には256バイトが割当てられ、
DMACレジスタ・アドレスには、BCU1156の動
作に関連して説明したようにPE62によってアクセス
するために、256バイトが割当てられている。27個
のワーク・キュー・バッファのおのおのは、1つの特定
タスクまたはサービス要求に関連するデータを保持する
。26個のWQBは、PE85のマイクロコードによっ
て開始された要求にサービスするために使用される。残
りのWQB(EXWQB)601−31は、5788に
よって発起され、PE8Sマイクロコードに送られる要
求にサービスするために予約されている。各WQBは、
ベース・アドレスと、DMAC209に記憶されるオフ
セット値によってアドレスされる。
各WQB <第41図〉は、16バイトのメイル・ブロ
ック505と、16バイト・パラメータ・ブロック50
6と、224バイト装置特定作業領域507を含む。メ
イル・ブロック505は、EXEC370及びPE85
マイクロコードの間で渡されるデータを含む。その内容
は、ET■0インターフェースに亙って透過的である。
パラメータ・ブロック506は、ETIOとEXEC3
70の間で渡され、通常、ローカル記憶210と主記憶
182の間の転送に関連するパラメータを含む。作業領
域507は、EXEC370によって所有される。それ
は、要求された動作の進行と、現在のS/370装置状
況と、可能なユーザー・データと、S/88装置のタイ
プと、他のEXEC370制御ブロックに対するポイン
タと、エラー生起情報などに関するデータを含む。
メイル・ブロック606は、PE86マイクロコードと
EXEC370の間で渡されるS/370 11011
@を含む次の4つのフィールドを有する。
OP −このフィールドは、EXEC370またはPE
86マイクロコードからの要求を含む。
CUA  −16ビツト・チャネル・ユニット・アドレ
ス CAW  −関連I10命令が発行された時の、S/3
70記憶162中の16進位置48の32ビツトS/3
70チヤネル・アドレス・ワードCCW  −上記CA
WによってアドレスされるS/370チヤネル・コマン
ド・ワード。EXEC370が割り込み表示を返す時、
このフィールドは、C8W、S/370チヤネル状況ワ
ードを含む。
パラメータ・ブロック506は、データ転送がEXEC
370によって記憶210と主記憶162の間で要求さ
れる時に使用される16個のパラメータを含む。
<1 ) req−ET I O要求フィールド二  
〇動作なし 1 メイル・ブロックの内容を記憶1B2のPE86メ
ツセージ・キューに書込み、次に線256a上にBCU
からPUへの要求を発行する。
2  S/370メモリからデータを読取る。
3 データをS/370メモリに書き込む。
(2) ret −’req」フィールドによってなさ
れた要求の結果。このフィールドは、EXEC370に
よって初期的にはゼロに保証される。もしゼロでない値
が戻るなら、ETIOはある種のタイプのエラーを表示
している。
(3)カウント−転送されるべきバイトの数(4)S/
370アドレス−データが始まるS/370記憶中の位
置。これは必ずしもCCWアドレス・フィールドではな
い。
(5)キー−二の16ビツト・フィールドは、次のよう
なビット・パターンを含む。
ppkkkklo 00000000 ここで、pp(優先順位)=OOで、kkkk=適正な
8/370記憶保護キーである。
バッファ・アドレス−データ領域が始まる記憶210中
の位置。これは4にバッファまたはWQBの中にあって
よい。EXEC370は、次のような関係を保証する。
(S/370アドレス MOD  4)= (バッファ
・アトIノス MOD  4) EXEC370は、WQBを維持するためにキューを使
用する。このキュー通信領域501−4は、256バイ
ト長であって、記憶210中のオフセット400(18
進)に存在する。第41E図は、WQBに対するポイン
タ・エントリを保持するためにWQBに対するETIO
とEXEC370の間で決定されたキューを示す。
FREEQ610  現在使用されていないWQBに対
するポインタを保持する。
WORKQ’(ワークキュー)511  EXEC37
0によってサービスされるのを待つWQBに対するポイ
ンタを保持する。
S/371Q512  EXEC370からPE85へ
のメツセージ転送を待つWQBに対するポインタを保持
する。
S/372Q513  キャッシュ・コントローラ15
3からS/88へのデータ転送を待つWQBへのポイン
タを保持する。
S/373Q514  S/88からキャッシュ・コン
トローラ153へのデータ転送を待つWQBへのポイン
タを保持する。
588Q515  ETIOサービスが完了した後のW
QBに対するポインタを保持する。
第41E図は、キューを通るWQBの経路を示す。全て
のキューは、5788再ブートの間に、EXEC370
によって初期化される。空のWQBは、FREEQ上に
保持される。ETIOは、リンク・リスト516を埋め
るための必要に応じて、FREEQからそれらを除去す
る。DMAC209は、リンク・リスト516を介して
、記憶162からのメイルボックス領域188からのS
/370メイルボツクス・エントリを、空WQBのメイ
ル・ブロック領域に配置する。埋められたリンク・リス
ト上のWQBは、ETIOによってワークキュー511
上に移動される。ETIOが1つの(またはそれ以上の
)VVQBをワークキュー511上に移動しEXEC3
70がビジーでない時、ETIOはEXEC370に事
象IDを通知する。EXEC370は、それがサービス
を要求する前にワーク・キューがらWQBを除去する。
その要求の処理の間に、データはキャッシュ・コントロ
ーラ153ヒパツフア(WQBまたはブロック・バッフ
ァ)との間で転送する必要があることがあり、あるいは
、メツセージをPE86マイクロコードに送る必要があ
ることがある。ETIOは、このサービスをEXEC3
70に提供する。EXEC370は、適正なりC1J1
68動作を開始するETIOを呼び出し、あるいは、も
しハードウェア資源がビジーであるなら、WQBを適切
なS/370Q上に配置する。3つのサービス(S/3
70に対するメツセージの送11、S/370に対する
データの転送、及びS/370からのデータの転送)は
、固有のキュー512、S13及び514をもつ、WQ
Bは、EXEC370スレッド上にある間にETIOコ
ードによってS/370キユーの1つの上に追加される
。I10サービスが完了した時、ETIO割り込みルー
チンはS/88Q516上にWQBを配置し、もしEX
EC370がビジーでないなら、そのEX370事象I
Dを通知する。
第42図は、キューを通じてのWQBの移動と、EXE
C370、インターフェース・ハードウェア89及びS
/370マイクロコードの間のインターフェースとをあ
られすものである。もとの作業要求が完全に完了した時
、すなわちデータ転送が完了した時、10割り込みが(
もしあるなら)PE86に送られ、EXEC370がW
QBにFREEQを戻t。E X E C370ハ、先
fS88Q516をチエツクし、次にワークキュー51
1をチエツクすることにより次のタスクを取得する。そ
してもしその両方が空なら、EXEC370はEXBU
SY変数をゼロにセットし、EX370事象が通知され
るのを待つ。EXEC370は、それが通知された時に
、処理を開始する前にピXBUSYを1にセットする。
全てのキューと、EX370事象IDと、EXBUSY
変数は、第41F図に示すように、記憶210のキュー
共通領域501−4に在駐する。
各キューは、第41GISに示すように、その性質上環
状であって、2つのインデックス・タイプのポインタ、
充満インデックス517と空インデックス518をもつ
。充満インデックス517は、満杯の次のキュー・エン
トリを指し示し、空インデックス518は、空の次のエ
ントリを指し示す。8つのキューは全て32個のエント
リをもちWQBは27個しかないので、6つのキューは
全て決してオーバーフローすることがない。
各キューは、次のものも含む。
qid   このキューを識別する。
QSIZEこのキュー中のエントリの数(n)Q(i)
  このキュー中のWQBを指し示すアドレス・エント
リ ハードウェア通信領域は、1024バイトを含む、BC
U通信領域は、アドレス空間の512バイトを使用する
。リンク・リスト516は、480バイトまでを使用す
る。32バイトは、別のハードウェア通信要しのために
予約されている。
リンク・リスト616(第41H図)は、DMAC20
9によって、記憶162のメイルボックス領11188
からメイル・ブロック項目を搬入するために使用される
。FREEQ510からのWQBは、リンク・リスト5
16中のエントリを埋めるために使用される。各リンク
・リスト・エントリは、10バイトを有し、データを入
れるべき記憶210中のWQBのアドレスと、転送すべ
きデータのバイト・カウント(16)と、リスト中の次
のリンク・エントリのアドレスを識別する。
DMAC209(チャネル0)は、次のゼロ・リンク・
アドレスをもつリンク・リスト・エントリに到達したと
きにS/88に割り込む。DMAC209(チャネルO
)のリスト中の現在の位置は、いかなる時でもソフトウ
ェアに可屈である。
その割り込みエンtす・ポイントに加えて、ETIOは
、外部呼び出し可能な2つのエントリ・ポイントをもつ
。すなわち、 etio init etio(wbn) E X E C370ハ、E X E C370カ初期
化している間に、S/88再ブート毎にetio 1n
itを呼び出す。キューは既に初期化されており、事象
IDフィールドは有効である。、、PE86マイクロコ
ードは、まだ動作していないが、それはIML(初期マ
イクロプログラム・ロード)の途中であるかもしれない
EXEC370は、データまたはメツセージをS/37
0との間で転送してもらうことを要望する場合は常に、
etio(wbn)を呼び出す。
パラメータvbnは、サービス要求を含むWQBを識別
する2バイト整数ワーク・キュー・バッファ番号である
。wbnは、インデックス値であり、0から27の範囲
にある。サービス要求は、パラメータ・ブロック中のr
eqフィールドによって識別される。reqフィールド
値は、次のとおりである:1台このメイル・ブロックの
内容を記憶162中のS/370メツセージ・キュー1
89に書込み、次にBCUからPtJへの要求を発行す
る、2=S/370G6H162から指定された記憶2
10領域へデータを書込む、3 = S/370記憶か
ら指定された記憶210領域へデータを書き込む。
サブルーチンETIOは、もし要求されたIloIaf
mを即時に開始することができないなら、このWQB@
S/3701QSS/3702Q、S/3703Q上に
キューする。ETIO割り込みルーチンは、前の動作が
終了した時、適当なS/370Qから次のWQBを出す
もしreqフィールドが1を含むなら、PE85には、
メイル・ブロック・エントリが記憶162のS/370
メツセージ・キュー領域189にあるようになるまで(
例えば割り込みによって)通知されるべきでない。
もしS/370メツセージ・キュー189が満杯なら、
パラメータ・ブロックのretフィールド中のエラーが
EXEC370に対する問題を識別することになる。も
し必要なら、EXEC370は、バックアップ・キュー
・サポートを提供することができる。
(3)EXEC370、S/370マイクロコード・プ
ロトコル EXEC370及びS/370マイクロコードの間の通
信には、S/370記憶162毎のエントリをもつ装置
状況テーブル(DST)が必要である。、EXEC37
0及びS/370マイクロコードは、やりとりされる1
6バイト・メツセージ(第41D図のメイル・ブロック
505を参照)を介して互いに通信する。各側のレシー
バのために、FIFOIIIでメツセージを保持するキ
ューがある。また、通知機構(PUがらBCU。
及びBCUからP Uりもある。メイル・ブロック50
6においては、16ピツトS/370 0Pコード・フ
ィールド「OP」が、EXEC370またはS/370
マイクロコードからの要求または応答を含む。16ビツ
ト・チャネル・ユニット−7ドレス(cUA)は、S/
370  I10命令のオペランド・アドレスである。
CAWは、そのI10命令が発行された時のS/370
記憶162中の16進位置48の32ピツト内容であり
、記憶キーを含む。8バイトCCWは、上記CAWによ
ってアドレスされる。EXEC370が割り込み表示を
返す時、このフィールドはそのC8Wを含む。PE86
は、’I10割り込みを引き起こす時S/37016進
位置40にそのC8wを記憶する。CUAフィールドは
不変のままである。
「動作」メツセージは、部分的または完全にEXEC3
70によッテ処理され6ベ!Is/370命令に遭遇す
る時はいつでも、S/370マイクロコードによってE
XEC370に送られる。
「動作」メツセージは、第41D図のメイル・ブロック
605に関連する上述の情報を含む。
S/370に送られるEXEC370メツセージは次の
ものを含む。
1、rリセット」メツセージ(OPPI3は、5737
0マイクロコードにS/370リセツトの処理を要求す
る。
2.「クリア・リセット」メツセージ(OP −2〉は
、S/370リセツト及びクリア記憶を要求する。
3、「停止」メツセージは、S/370に、S/370
命令のフェッチを停止し、更なるdII令を待つことを
要求する。「停止」メツセージは、OPフィールド婁3
を含む。
4、「ステップ」メツセージ(OP■4)は、ROMA
N  S/370マイクロコードに、1つのS/370
命令をフェッチ及び実行し「停止」モードに入るべきこ
とを要求する。
5、「ラン」メツセージ(OP−5)は、S/370マ
イクロコードに、S/370命令をフェッチし実行する
その正常モードに入るように!!求する。
8、LPSWメツセージ(OP諺6)は、S/370マ
イクロコードに、LPSW<ロード・プログラム状況ワ
ード)メツセージのアドレス・フィールドに指定された
アドレスを使用してS/370リセツトm令を実行する
ように要求する。
7.9M5Gメツセージ(OP冨7)は、1つまたはそ
れ以上の構成されたS/370  I10装置の変更の
状況を表示する。
8.1OINTRメツセージ(OP=8)は、l101
&作の完了を示す。もしそのチャネルがマスクされてい
ないなら、S/370マイクロコードがI10割り込み
を開始することになる。もしそのチャネルがマスクされ
ているなら、S/370マイクロコードは、そのC3W
を装置状況テーブルにセーブし、装置状況を01 (c
SW記憶済み)にセットする。l0INTRメツセージ
はまた、CUA及びNC(DST  CtJA中に配置
される)次フィールドを含む。
キャッシュ・コントローラ153からの2つのメツセー
ジ、「フェッチ」及び「記憶」は、メツセージというよ
りも寧ろ論理機能である。それは、CNT及び「アドレ
ス」フィールドのための奇数または偶数値を可能ならし
めるために必要である。
それらのフィールドは、 BtJF−2バイト: 記憶210中のバッファ・アド
レス CNT−2バイト: バイト・カウントADDR−4バ
イト:  S/370記憶アドレス・ワード/キー S/370マイクロコードは、各アドレス可能S/37
0装置の状況についての情報を含むテーブルを維持する
。その情報の主要な部分は、次のものである。
装置条件−これは、Tl01SIOなどの後トを許容す
る。
装置次−I10割り込みを収得するときに使用されるべ
き次の条件 装置C3W−マスクされた370  I10割り込みの
ために維持される 370装置じつき、DST (c1lA)の次の4つの
興なる装置条件が可能である。
00 装置レディ 01 装置レディでない、C8W記憶済み10 装置ビ
ジー 11 装置動作しない S/370装置上のI10100完了時点で、C5W(
チャネル状況ワード)がチャネルによってCPUに送ら
れる。もしそのチャネルがマスク・オフされているなら
、CPUはそのC3VI受け入れない。
この実施例では、もしチャネルがマスクされているなら
、S/370マイクロコードがCSWをセーブして、D
ST (cUA)条件を01にセットする。後のC8W
またはSIOは、セーブされたC8Wの記憶と、条件コ
ード<CSW記憶済み)のCRへの配置をもたらす、S
/370マイクロコードが初期化されるとき、S/37
0マイクロコードは、全ての装置が動作するとは想定し
ない。5788は、サポートすべ@各装置毎に「オンラ
イン・メツセージ」を送ることになる。
その装置は、そのCUA (制御ユニット・アドレスに
よって識別される。
(4)S/370マイクロコードとEXEC370の間
の命令フロー PE85がS/370プログラム命令ストリングを実行
する時、これは時としてI10命令に遭遇し、そのI1
0命令はこの実施例ではS/88プロセツサ62及び関
連ハードウェア、ファームウェア、及びソフトウェアに
よって実行される。
第44A乃至り図(及び第43図)は、これらのS/3
70  I10実行命令のために利用されるマイクロコ
ード・シーケンス・フローである。Bcuisec及び
アダプタ154)は、S/88ハードウエアによる最終
的なS/370 110命令の実行を有効化するための
主要ハードウェア結合機構である。BCU166内で、
DMAC209は、動作及びデータの流れを導くための
主要な「交通巡査」の役割を果たす。DMAC209の
チャネルOは、S/370かもI10コマンドを受け取
り、チャネル1はS/370からのデータ・フローを処
理し、チャネル2はS/370へのデータ・フローを処
理し、チャネル3はS/370に対して割り込み(及び
他の)メツセージを送る。BCU166中のローカル記
憶210は、S/370ヒS/88の間の通信領域を形
成する。
ローカル・パス223/247は、S/88プロセツサ
62をDMAC209とローカル記憶210に結合する
。ローカル・バス223/247は、DMAC209と
記憶210ヒを、BCUI56及びアダプタ154中の
高速ハードウェアを介してS/370に結合する。
S/370  I10命令は、S/370内の処理のた
めS/370マイクロコード・ルーチンにディスパッチ
され、S/88アプリケージ冨ン・プログラムEXEC
370は(その関連5788ETIOマイクロコードと
ともに)最終のI10実行を行う。アダプタ154とB
CU156は、S/370とS/88の間のハードウェ
ア接続を形成する。開始I10マイクロコード・ルーチ
ンは、各装置の状況を追跡するテーブルDSTをもち、
例えばもし既にSIOを発生し、それがビジーであり、
割り込みを受け取っているなら、それは現在回層である
。この情報は、条件コードCC中に含まれる。
その章は、さまざまなS/370  I10100ため
の命令フローを記述する。この章で使用される特定の処
理及び用語は、この章の最後に意識されている。動作は
次のとおりである。
(1)チャネル・クリア(第44A図)−この命令は、
アドレスされたチャネルにおけるI10システム・リセ
ットを引き起こし、システム°リセットがアドレスされ
たチャネル上の全ての装置に通知される。S/370マ
イクロコードは、そのチャネル上にどの装置が実際にあ
るかは知らず、従って、そのチャネル上の全てのエント
リについてCC−3をセットする。その後、EXEC3
70は、そのチャネル上の構成を再定義するために5M
5Gを送ることになる。
クリアされるべきチャネルは、命令アドレスのビット1
6乃至23によってアドレスされる。S/370マイク
ロコードがディスバッチから制御を受け取る時、それは
チャネル・アドレスをチエツクすることによって始まる
。するとそのチャネル・アドレスは、有効か無効かのど
ちらかである。もしそのチャネル・アドレスが無効であ
るなら、条件レジスタ(cR)が3にセットされ、S/
370が次の順次命令に戻る。チャネル・アドレス有効
の場合、S/370マイクロコードがEXEC370に
クリア・チャネル・メツセージを送る。それは次に、こ
のチャネルを探して全ての装置状況テーブル(DST)
エントリを走査する。全ての条件コード・フィールドは
、可屈でないことを意味する3にセットされ、見出され
た保留割り込みテーブル(P I T)エントリは、自
由PITリストに解放される。S/370マイクロコー
ドは次に、条件レジスタを0にセットし、次の順次命令
に至る。ところで、EXEC370は、クリア・チャネ
ル・メツセージを受け取る時、アドレスされたチャネル
上の全ての装置に対してI10システム・リセットを実
行する。EXEC370は次に、どの装置が線につなが
ってぃるかを確認して、そのチャネル上の構成を再定義
するためにS/370マイクロコードに状況メツセージ
を送る。S/370マイクロコードが状況メツセージを
受け取る時、S/370マイクロコードは、状況メツセ
ージ中でアドレスされた各装置の装置状況テーブルにお
ける条件コードを変更する。
(2)I10クリア(第44B図)−この命令は、アド
レスされたCUAのためのIMSG (割り込みメツセ
ージ)がEXEC370によって返されるまで、PE8
6におけるS/370命令処理を中断する。
S/370マイクロコードがディスバッチがら制御を受
け取る時、S/370マイクロコードは、命令の上端ア
ドレスから制御ユニット・アドレスC1JAを取得する
。その制御ユニット・アドレスを使用して、S/370
マイクロコードはこの装置の正しい装置状況テーブルを
見出す。S/370マイクロコードは、条件コードCC
の値をチエツクする。このとき、3つの選択肢がある。
すなわち、<A)CCがゼロまたは3に等しい、(B)
CCが2に等しいかまたはCCが1に等しく且つ次の条
件NCが2に等しい、(c)CCが2に等しいがまたは
CCが1に等しい。
第1の選択肢の場合、CCはゼロまたは3に等しく、S
/370マイクロコードは単に条件レジスタをCCの値
にセットし、次の順次命令に至る。
もしCCが1に等しいなら、保留割り込みテーブル(P
 I T)に保留割り込みが存在する。この場合、S/
370マイクロコードは、保留割り込みテーブル・エン
トリに行き、NCの値をチエツクする。
CCが2または1に等しくNCが2に等しい場合、S 
/ 3704:i E X E C370!、: り!
J 7 I / Oメツセージを送る。S/370は肯
定応答を待ち、その装置に関連する保留割り込みエント
りをクリアする。ところで、EXEC370がクリアI
10メツセージを受け取る時、EXEC370はアドレ
スされた装置のその選択的なリセットを実行し、その装
置のための制御状況ワードを構築し、割り込みメツセー
ジをS/370マイクロコードに戻す。S/370マイ
クロコードが割り込みメツセージを受け取る時、S/3
70マイクロコードは、PITエントリを生成し、その
メツセージからのNC及びC8Wに記入する。
この時点で、CCが2または1に等しいというls3の
選択肢を見てみる。この点には、2つの経路のうちの1
つによって到達される。その第1の経路は、装置がビジ
ーであるが、または装置が保留割り込みを送ったがビジ
ーにとどまっている、というものである。第2の経路は
、装置が保留割り込みをもつが、最早ビジーでない、と
いう場合である。どちらの経路の場合にも、CCは2ま
たは1に等しくなる。S/370マイクロコードはその
割り込みをポツプし、C8WをS/370記憶に配置し
、条件レジスタを1にセットして次の順次命令に戻る。
<3)II装停止(第44CI!II) −S/370
マイクロコードが装置停止命令のためにディスパッチか
ら制御を受け取る時、S/370マイクロコードは、ア
ドレスされた装置状況テーブル・エントリのための条件
コードをチエツクする。このヒt!、3つの選択肢があ
り、それは、条件コードが0または2に等しいことと、
条件コードが1に等しいこと、と、条件コードが3に等
しいことである。第1の選択肢の場合、条件コードが0
または2に等しく、S/370マイクロコードがEXE
C370に装置停止メツセージを送る。S/370マイ
クロコードは次に、S/370記憶w中の16個の状況
ビットをゼロにし、条件レジスタを1にセットし、次の
順次命令に戻る。ところで、EXEC370が装置停止
メツセージを受け取る時、EXEC370はアドレスさ
れた装置上で適当なII能を実行し、正常割り込みメツ
セージを戻す。CC−1のとき、S/370マイクロコ
ードはPITテーブルからの割り込みをポツプし、C3
WJI:S/370記憶中の適切な位置に配置し、条件
レジスタをlにセットして次の順次位置に行く。第3の
選択肢の場合、CCは3に等しく、S7370マイクロ
コードは単に条件レジスタを3に等しくなるようにセッ
トして次の順次命令に至る。
(4)I10停止(第44C図)−説明のこのレベルで
は、I10停止の機能は、装置停止の機能と同一である
(6)I10再rM(第44D図)−S/370システ
ム上では、RIO命令は単に、命令を受け入れる前に、
そのチャネルが動作するかどうかを調べるためにチエツ
クするだけである。S/370マイクロコードは、別の
I10命令の場合と同様に、特定のCUAかどうかにつ
いてcCをチエツクしなくてはならない、CAWは参照
されず、CCWはこの命令の場合フェッチされない。
S/370マイクロコードがI10+!を令再開のため
にディスバッチから制御を受け取る時、57370マイ
クロコードはアドレスされた装置状況エントリにつき条
件コードをチエツクする。CCが0,1または2に等し
い場合、S/370マイクロコードは、条件コードを2
にセットし、条件[ノジスタを0にセットし、次の順次
命令に至る。
ところで、EXEC370がI10再開メツセージを受
け取る時、EXEC370は制御ユニット°アドレスを
調べ、前に中断されていたIlo・動作を継続する。第
2の選択肢の場合、CCは3に等しく、S/370マイ
クロコードは単に条件レジスタを3にセットして次の順
次命令に行く。
<6)I10開始(第44EI])−S/370マイク
ロコードが工10開始動作のためにディスバッチから制
御を受け取る時、S/370マイクロコードは、装置状
況テーブル・エントリを見付けるためにil)御ユニッ
ト・アト1ノスを使用する。
S/370マイクロコー1シは次に、条件コ・−ドをチ
エツクし、このとき4つの選択肢がある。すなわち、C
Cが0に等しい、ccが1に等しい、CCが2に等しい
、及びCCが3に等しい、である。CCが0に等しい場
合、装置はレディであり、57370マイクロコードは
EXEC370にI10開始メツセージを送り、CCを
、ビジーを意味する2に等しくセットし、条件レジスタ
を、受領されたことを意味する0にセットし、次の順次
命令に戻る。ところで、EXEC370が170開始メ
ツセージを受け取る時、EXEC370は特定装置を見
付けるために制御ユニットアドレスを使用し、その装置
上で正常I10動作を開始する。第2の選択肢の場合、
CCは1に等しく、S/370マイクロコードが割り込
みをポツプして、そのC′SWをS/370記憶中に配
置し、C6Wビジー・ピットを「オン」にセットし、条
件Iノジスタを1にセットし、次の順次命令に至る。第
3の選択肢の場合、CCは2に等しく、S/370マイ
クロコードはC8W及びS/370記憶位置40Xを全
てゼロにセットし、C8Wビジー・ビットをターン・オ
ンし、条件レジスタを1に等しくセットし、次の条件命
令に行く。第4の選択肢の場合、CCは3に等しく、5
7370マイクロコードは単に、条件レジスタを3(こ
れは装置が動作しないことを意味する)にセットし、次
の順次命令に行く。
(7)I10高速解放開始(第44F図>−S/370
マイクロコードがディスバッチがら工/○高速解放開始
命令を受け取った時、S/370マイクロコードは、ア
ドレスされたDSTエントリがあるかどうか条件コード
わチエツクする。このとき、CCが0.1または2に等
しい、ということと、CCが3に等しい、ということの
2つの選択肢がある。第1の選択肢の場合、CCがOl
lまたは2に等しく、S/370マイクロコードはEX
EC370にI10高速解放開始メツセージを送り、C
Cを2に等しくセットし、条件レジスタをOセットし、
次の順次命令に行く。ところで、EXEC370がI 
10il![i速解放開始メツセージを受け取る時、も
し可能ならI10命令を開始し、さもなければ、S/3
70マイクロコードによって受領された時正常割り込み
として働く遅延された条件コードを含むCSWをもつ割
り込みメツセージを返す。第2の選択肢の場合、条件コ
ードは3に等しく、S/370マイクロコードは単に条
件レジスタを3にセットして次の順次命令に行く。
(8)I10テスト(第44G図’)−S/370マイ
クロコードがI10テストのための制御をディスバッチ
から受け取る時、S/370マイクロコードは条件コー
ドねチエツクする。このとき、CCが0または3に等し
い、CCがlに等しい、及びCCが2に等しい、という
3つの選択肢がある。CCが0または3に等しい場合、
マイクロコードは条件レジスタをCC値に等しくセット
し、次の順次命令に行く。第2の選択肢の場合、CCは
1に等しく、マイクロコードは割り込みをポツプしてC
8WをS/370記憶中に配置し、条件レジスタを、C
8W記憶済みを意味する1にセットして次の順次命令に
至る。第3の選択肢の場合、CCは2に等しく、マイク
ロコードはS/370記憶中のCSWw域(40X)を
ゼロにし、条件レジスタを1に等しくセットし、次の順
次命令に行く。
(9)チャネルID記憶(第44)1図)−57370
マイクロコードがディスバッチからチャネルID記憶の
ための制御を受け取る時、S/37Oマイクロコードは
チャネル・アドレスをチエツクする。このとき、チャネ
ル・アドレス有効及びチャネル・アドレス無効という2
つの選択肢がある。チャネル・アドレス有効の場合、マ
イクロコードはS/370記憶位置を、16進A8から
16進20000000にセットする。マイクロコード
は次に、条件レジスタをOにセットし、次の順次命令に
行く。
(10)チャネル・テスト(第441図>−57370
マイクロコードがチャネル。テストのための制御をディ
スバッチから受け取る時、S/370マイクロコードは
チャネル・アドレスをチエツクする。この場合、2つの
主要な選択肢と、3つのあまり主要でない選択肢がある
ことに留意されたい。第1の主要選択肢、すなわちチャ
ネル・アドレス無効の場合、マイクロコードは条件レジ
スタを3にセットし、次のj順次命令に行く。
ft52の主要選択肢、すなわちチャネル・アドレス有
効の場合、マイクロコードはさらにこのチャネルがある
がどうが全てのDSTエントリをチエツクする。第1の
主要でない選択肢の場合は、マイクロコードが、この装
置が保留割り込みをもつこヒを意味するCC−1を有す
る特定装置のためのDSTエントリを発見した時に生じ
る。この場合、マイクロコードは条件レジスタを1に等
しくセットし、次の順次命令に行く。もしマイクロコー
ドがこのチャネルのためのDSTエントリのリストの底
に到達するなら、マイクロコードはCC=1のエントリ
を見出さなかったということであり、次にCC=2の少
なくとも1つのエントリがを在するかどうかを調べるた
めのチエツクを行う。もしそうなら、これが第2の主要
でない選択肢であり、この場合、マイクロコードは条件
レジスタを2に等しくセットして次の順次命令に行く。
さもなければ、第3の主要でない選択肢が生じて、条件
レジスタを0に等しくセットして次の順次命令に行く。
(11)1次及び2次割り込み(第44J及び44KI
!!l)−1次及び2次割り込みという用語は、S/3
70の用語である。1次割り込みは、I10100ら生
じるC6W中に少なくとも1つのチャネル終了(cE)
状況ビットを含む。2次割り込みは、そのI10100
ための装置終了(DE)を含む第2の割り込みであるか
または、サービスを戻水する装置によって開始される非
同期割り込みである。
この説明のこのレベルでは、1次及び2次割り込みの間
には!!興がないので、1次割り込みについてのみ説明
する。第44J図及び第44に図の間の、I10マスク
された割り込みと、I10イネーブルされた割り込みの
間の差異は、Iloがマスクされているかどうか、とい
うことである。
すなわち、S/370プロセツサが、チャネルからやっ
てくる割り込みを受け入れるかどうか、ということであ
る。もし割り込みがS/370プロセツサによって受け
入れられないなら、チャネルはその割り込みをスタック
し、それは、S/370プロセツサがイネーブルされる
時間まで保留割り込みと呼ばれる。EXEC370が特
定の装置動作をエミュレートしている間に割り込み条件
が生じた時、EXEC370はCSWを構築してそれを
メツセージ中に格納し、そのメツセージはS/370マ
イクロコードに送られる。マイクロコードがその割り込
みメツセージを受け取る時、マイクロコードは、Ilo
がマスクされているか、あるいはイネーブルさているか
どうかを見出すためにS/370マスクをチエツクする
。そして、もしそのIloがマスクされている(第44
J図)なら、マイクロコードはその割り込みをスタック
する。割り込み処理をスタックすることの説明は、以下
で与える。S/370マイクロコードがマスクをチエツ
クしIloがイネーブルされているなら(第44に図)
、割り込みをかける装置のDSTSツエントリ中件コー
ド・フィールドが、割り込みメツセージ中の次の条件(
NC)に等しくセットされ、そのメツセージからのCS
WがS/370記憶に入れられ、マイクロコードが11
0割り込みの実行を引き起こす。
(12)S/370 110マスク事#1(第44L図
)−もしEXEC370がS/370マイクロコードに
割り込みメツセージを送る時Iloがマスクされている
なら、割り込みは保留割り込みテーブル(PIT)エン
トリ中にスタックされる。そして、後の時点で、I10
割り込みのイネーブルをもたらすS/370事象が生じ
ることになる。このことは、ロードPSW命令、セット
・システム・マスク命令、またはマスクがIloをイネ
ーブルする何らかの割り込みである。PSWシステム・
マスクが、以前にマスクされた工10をイネーブルする
ように変更された時の任意の時点で、S/370マイク
ロコードはそれらのチャネルのために保留である割り込
みがないかどうかをチエツクする。そしてもし見付から
ないなら、マイクロコードは単に次の順次命令へと脱出
する。しかしもし1つ見付かったら、マイクロコードは
その割り込みをデープルからポツプして出し、S/37
0記憶中にC6Wを配置して110割り込みを実行する
以下に示すのは、直ぐ上で参照された処理の説明を与え
るものであるゆ (1)スタックされた割り込み− スタ・ツクされた割
り込みヒいう用語は、S/370 110がマスク・オ
フされた時S/370マイクロコードによって受け取ら
れる割り込みメツセージと結合して使用される。割り込
みは、いわゆる保留割り込みテーブルまたはPIT中の
装置状況領域中にスタックされる。PITエントリは、
割り込みを引き起こすS/3701!置をあられすDS
Tエントリに対してFIFO順に連鎖される。割り込み
をスタックすることは、自由リストからPITエントリ
を取得し、それをこのDSTエントリのためにPITリ
ストの終端に連鎖し、そのC8WをPITエントリの状
況フィールド中に配置し、PITエントリのNCフィー
ルドにNC値を配置し、DSTのCCWフィールドを「
1」にセ・ン卜することからなる。CCを「1」にセッ
トすることは、この装置に保留割り込みが存在すること
を示す。
(2)割り込みポツプ−割り込みをポツプするコヒハ、
DST/PITエントリの最上部のPITエントリ@連
鎖から外し、DST条件コードを、PITエントリのN
Cフィールドで見出された値にセットし、S/370 
 CSWを含むPITエントリの状況フィールドをセー
ブし、PITエントリを自由リストに戻すことからなる
(3)EXEC370へのメツセージ送M(第43図)
−これは、この説明では、例)して参照されるものであ
る。この時点でオプションCCが0に等しい場合、S/
370マイクロコードは、EXEC370にメツセージ
を送る必要があると決定している。そのメツセージは特
に、I 101jl始メツセージである。このメツセー
ジまたは57370マイクロコードが送る他のメツセー
ジに対して、手続きは同一である。S/370マイクロ
コードは、記憶162中のメイルボックス・エントリ中
のデータ・フィールドにそのメツセージの内容を記入す
る。S/370マイクロコードは次に、PυからBCU
への要求を発行し、それはBCU論理253によって受
領される。S/370マイクロコードは次に、肯定応答
の戻りを待つ。
ところで、BCU論理は、PUからBCUへの表示を受
け取る時、メイルボックスからBC1J記憶210ヘデ
ータを転送するために、記憶アクセス及びDMA動作を
開始する。DMAが完了した時、BCULtS/370
マイクロコードに肯定応答信号を返し、S/370マイ
クロコードは次にその次の順次命令を進める。それと同
時に、DMAC論理がシステム88に割り込みをかける
。ソフトウェア・ルーチンが制御を受け取り、動作の有
効性をチエツクし、EXEC370に通知を送り、EX
EC370は次にワーク・キューがらメツセージを取り
出す。
(4)S/370マイクロコードに対するメツセージの
送信−EXEC370がS/370マイクロコードに送
るメツセージには、いくつかの異なるタイプがある。S
/370  I10マスク事象(第44L図)は、その
ような割り込みメツセージの例である。EXEC370
は、BCU論理とインターフェースするETIOマイク
ロコードを呼び出す。ETIOはBCU記憶210がら
S/370記憶へメツセージを転送するDMA動作8開
始する。DMAが完了した時、BCUからPUへのメツ
セージがS/370マイクロコードへ送られ、割り込み
がシステム88に送られ、このことはETIOインター
フェース・ルーチンの、EXEC370への通知の送信
を引き起こす。
E19.バス制御ユニット(BCIJ)の動作(1)序
論 前述のシステム要素及びその機能の一部を簡単に要約し
てみよう。すなわち、BC1J166はS/370チツ
プ・セットISOと、5788PE62とモジュール1
0中の関連システム及びI10素子からなるI10サブ
システムの間のインターフェースm能を実行する。S/
370チツプ・セット150とI10サブシステムは、
バス・アダプタ154を介して通信する。S/88主記
憶16内のS/370記憶領域162は、場合によって
は基本的記憶モジュール(BSM)162と呼ばれるこ
とがある。BCU156とバス・アダプタ164とを結
合する2組のアダプタ・バス・インターフェース線24
9.250(チャネルO)及び25ヱ、252 (チャ
ネル1)がある。
BCL1156は、64KBローカル記憶210と、直
接アクセス・コントローラ(DMAC)209と、32
ビツト・ローカル・アドレス・バス247と、32ビツ
ト・ローカル・データ・バス223及びインターフェー
ス論理205を有する。
前記に詳細に説明したように、DMAC209は、4つ
のデータ転送チャネルをもつ。
チャネルO−メイルボックス・コマンドがPE85から
BCU156へ転送される。メツセージは、S/370
配憶1j[域162かラローカル記憶210へ読み出さ
れる。
チャネル1 −  S/370PE85のデータ書込。
データは、ローカル記憶210への転送のために、S/
370記憶領域162から読み取られる。
チャネル2 −  S/370PE83のデータ読取。
データは、ローカル記憶210からS/370記憶領域
162に転送される。
チャネル3 −  BCU156からS/370PE8
5への高優先順位メツセージ転送。メツセージは、ロー
カル記憶210からS/370記憶g域182に転送さ
れる。
DMAC209は、バス・アダプタ154とローカル記
憶210の間でダブル・ワード(32ビツト)を転送す
る。それは、I10データ転送が完了した時にI10サ
ブシステム(S/88PE62)に割り込みをかける。
ローカル記憶210は、DMAC209を介する自動メ
イルボックス・ロードのためのIlo及びメツセージ・
データ・バッファWQBと、リンク・リスト・データを
もつ。
BCU論理205は、ローカル・バス調停ユニット21
8を有し、そこにおいて、S/8 F3 PE62とD
MAC209が、ローカル・バス、すなわち、データ・
バス223及びアドレス・バス247に対するアクセス
を求めて競合する。PE62「パス要求」線190は、
以下のアドレス(第41C図参照〉がアドレス・デコー
ド及び調停ユニット216によって検出される時はいつ
でもアクティブとなる。すなわち、 ローカル記憶アドレス;プログラムされたBCUリセッ
ト、83M書込セレクト・アップ、83M書込セレクト
・アップ、及びBCU状況読取を含む、BCUによって
指示されたコマンド;ローカル・バス割り込み肯定応答
サイクル;及びDMACによって指示された読取または
書込レジスタ・コマンドである。
D M A Cハス’l求!269は、DMACシーケ
ンス(ローカル記憶210の読取または書込)、または
リンク・リスト・ロード・シーケンスくローカル記憶か
らの読取)のためにローカル・パス223.247の制
御を得たいと望む時にアクティブとなる。バス許可線2
68は、ローカル・パスの制御が論理216によってD
MAC209に与えられた時に立ち上げられる。i1!
191は、制御がPE82に与えられているなら立ち上
げられる。
BCU論理205は、バス・アダプタ154と110サ
ブシステムの間のDMAC209転送タイミングを制御
し、4KBまでのI10転送の、チャネル0及び1上の
バス・アダプタ154のための64バイト・ブロック転
送への変換を行う。
BCU論理205は、ブロック転送の際の64バイト境
界交差を検出する。もしこれが生じると、そのブロック
は、2回の個別の転送に分割される。BCU166がそ
の第1の転送のための64バイト境界までのワードの数
を計算する。これは、パス・アダプタ154に対する開
始アドレスとともに提供される。残りのワードは、新し
いアドレスとともに、後のコマンド(BSM読取/BS
M書込)によってバス・アダプタ154に提供されるこ
とになる。BCU論理はまた、高優先順位メツセージま
たはメイルボックス読取要求が生じる時、I10データ
転送(64バイト境界上)の優先使用を与える。高優先
順位メツセージ及びメイルボックス読取要求は、BCU
15f3上で同時に処理することができる。rBSM読
取」及びrBSM書込」は、BCU25S中で同時に処
理することができる。
BC1J156は次のような4つのI10動作を実行す
る。
メイルボックス読取動作:これは、「PUからBCU要
求、、+!258aを介して、S/370I10命令マ
イクロコードによって開始される。
メイルボックス188は、S/370  BSMI62
中にある。それは、I10サブシステム(I10開始な
ど)によって実行されることになるI10コマンドを記
憶するために使用される。それはまた、I10サブシス
テムがPE85から受領する状況または他の情報をも含
む。「メイルボックス・セレクト・アップ」コマンドは
、rpuからBCU選択線」21Oがアダプタ・パス・
チャネルO上で活動化される時にBC1J16Bによっ
て開始される。S/370  I10書込動作(アダプ
タ・バス・チャネル0)は、もし「PUからBCtlへ
の要求」がS/370PE8!5によって活動化される
なら、64バイト境界上で優先使用される。
S/370 110読取及び書込動作:これは、アダプ
タ・バス・チャネルO及び1上での、S/370記憶1
62とI10装置の間のデータ転送(最大4KBブロツ
ク)を用意する。全てのデータ転送は、rBSMセレク
ト・アップ」アダプタ・パス・コマンドを介して、I1
0サブシステムによって開始される。
高優先順位メツセージ転送: I10サブシステムから
S/370に渡される高い優先順位の性質の、割り込み
、状況、エラーなどのメツセージ。全ての転送は、「キ
ュー・セレクト・アップ」コマンドを介して、BCU1
56から開始される。もし、高優先順位メツセージ要求
が生じるなら、S/370  l10i取動作(アダプ
タ・パス・チャネル1〉が64バイト境界上で優先使用
されることになる。
E20.S/370  I10開始シーケンス・)ロー
、概要及び詳細説明 「I10開始命+SIO」、「チャネル・アドレス・ワ
ードCA W J及び「チャネル制御ワードCCWJが
、S/370記憶162中の予定の「メイルボックス」
位置中に記憶される。この情報は、BCUインターフェ
ース論理205及びパス・アダプタ154を介してロー
カル記憶210に渡される。
第18図に示されているDMACチャネル0レジスタは
、メイルボックス読取動作のために使用される。それら
は、S/88PE62によって、「リンク・アレイ連鎖
モード」で動作するようにプログラムされることになる
。PE82は、ローカル記憶21O(第41HrsA)
中の一連の「リンク・リスト(テーブル)」をセットア
ツプすることによって、このモードを初期化する。それ
は次に、第1の「最先にリンクされたリスト・アドレス
」をDMACチャネル0ベース・アドレス・レジスタ(
32ビ°ツト)BARにセットすることになる。このア
ドレスは、リンクされたリスト・データの記憶210中
の最初の位置を指し示すことになる。
DMAC’PCLJ  C8辺制御線)257aは、P
E62によって、PCLili257aが活動化される
時はいつでも、DMAC209をしてそのIRQ割り込
み人力線258を活動化させるようにプログラムされる
ことになる。’PCLJ線257aは、アダプタ・バッ
ファ259を介する主記憶162からローカル記憶21
0へのメイルボックス・データ転送の完了に続いて活動
化されることになる。その割り込みは、S/8Bプロセ
ツサPE62に、メイルボックス・ロードが丁度完了し
たことを通知する。
リンク・リスト・データ(第41H図)は、次のものか
らなる。すなわち、データ・ブロックの開始記憶アドレ
スと、記憶転送カウントと、次のテーブル・エントリに
対するリンク・アドレスである。そのテーブル中の最後
のリンク・アドレスは、ゼロとなる。
5788プロセツサPE62は、DMACチャネルOベ
ース・アドレス・レジスタ中の最上リスト・アドレスを
セットする。
S/88プロセツサPE62は、チャネル0チヤネル制
御レジスタCCHのビット7(開始ビット)中にrl、
を書き込むことによってDMAC209を活動化するこ
とになる。DMAC209は次に、次のようにしてその
チャネル0レジスタ中に最初のリンク・リストを読み込
む。
メモリ・アドレス・レジスタMAR中への記憶210の
データ・ブロックWQBの開始アドレスメモリ転送カウ
ント・レジスタ214に対する転送カウント(メイルボ
ックス・データのバイト) 次のデータ・ブロック・アドレス・レジスタ214への
リンク・アドレス より詳しく述べると、命令実行の間に、S/370PE
85がrI10開始」命令をデコードし、S/370メ
モリ162中に含まれる順次的「メイルボックス」位置
に、「I10開始」コマンドと、チャネル・アドレス・
ワードと、第1のチャネル制御ワードを配置する。メイ
ルボックスの開始アドレス(ベース中キュー長)は、初
期化時点で、パス・アダプタ154のベース・レジスタ
に格納される。
S/370PE86は、ビット11をアクティブにする
ことにぶって、プロセッサ・パスを介して’ L D 
 OS CW J制御OPを発行する。このことは、パ
ス・プロセッサ154中の制御ワ・−ド中の「PUから
BCUへの要求」ビットをオンにセットする。もし、I
10データ転送の間に「PUからBCtl要求」が生じ
たなら、BC1J166はメイルボックス・ロードを行
わせるために、64バイト境界上でI10転送を優先使
用するこヒになる。
BCU166は次に、パス290上で、第45AZに示
すフォーマットで「メイルボックス読取セレクト・アッ
プ」コマンドを発生し、これを、チャネル0コマンド・
レジスタ214に記憶する。尚、第45A図で、ビット
0,1はコマンド・ビットであり、ビット2乃至7は、
バイト・カウントである。メイルボックス・アドレス・
ビットは、第46Br:fAに示すフォーマットでパス
290を介してレジスタ219中に記憶される。
尚、第45B図で、ビット7は記憶162中の工0A1
j[域を識別し、ビット24乃至26はBCUチャネル
番号であり、ビット27乃至31は、メイルボックス・
オフセットである。
BCU158が、レジスタ214及び219に値を格納
することによって、コマンド/状況パス249及びアド
レス/データ・パス260を活動化した後、BCU16
13は、パス・アダプタからのデータを待つ。BCU’
15f3は、「タグ・ダウン」a1262bをサンプリ
ングすることによってこれを行う。「タグ・ダウン」が
パス・アダプタ154によって非活動化される時(デー
タ・レディ)、メイルボックス・データの最初の4バイ
トは2つのチャネル0サブサイクルを介してチャネルO
R取バッファ226中にラッチされる。
BCU論理253は次に、DMAC209のチャネル0
上の「要求J 1m 283 aを立ち上げる。DMA
C209は次に、ローカル・パス調停回路216に対す
る。!269に、「パス要求」(BR)を立ち上げる。
もしローカル・パスが5788プロセツサ62によって
使用されていないなら、DMAC209に対するパス許
可線(BG)を介してパス・アクセスが許可される。D
・MAC209は次に、MARからアドレス・パス24
7に対して(記憶210中の)WQBローカル・メイル
ボックスの開始アドレスを転送し、’ACKOJ  (
DMACチャネルO肯定応答)線264aを立ち上げる
。’ACKOJ信号は、バッファ228から、データ・
パス223を介しての、記憶210中のWQBのローカ
ル・メイルボックス部分に対するデータの転送を開始す
る。
’DTACKJ線266が、DMAC209に、動作が
完了したことを知らせるために活動化される。
BCUクロック信号(第25図)は、バッファ259か
らレジスタ226へのメイルボックス・データの転送を
続ける。BCU16Bは、各ローカル記憶210/DM
AC209シーケンス(32ビツト)のための2つのア
ダプタ・パス(「タグ・アップ」/「タグ・ダウン」)
シーケンスを実行する。
DMACサイクルが完了した時(DTACKアクティブ
)、DMAC209はBCU論理253に対して「デー
タ転送完了J  (DTC)線267を立ち上げ、BC
U論理253は次に、レジスタ226かもWQBメイル
ボックスへの第2の4バイトの読取を行うために112
63 a上にDMAC209に対する別の「要求」を発
行する。DMACサイクルは、メイルボックス・データ
の全体(16バイト)が転送されてしまう(40−カル
・パス・サイクル)まで、反復される。「PCL J 
II 257 aは、次に、BCU論理253によって
DMAC209に対して活動化される。このこヒは、D
MAC209からS/88プロセッサ優先順位エンコー
ダ/割り込み論理212に対するrI RQJ線268
の活動化を引き起こす、PE62は次に、メイルボック
ス要求を処理する。
DMAC209がリンク・リストからのそのチャネル0
レジスタ・ロードを完了する時、DMAC209は次の
メイルボックスパロードを開始するために、BCU論理
263からのチャネル0’REQJ線263a上の信号
を待つ。−旦開始されると、DMACチャネルOは非決
定的にアクティブにとどまり、S/88プロセツサS2
が環状リンク・リストを制御し、BCU156が、’R
EQJ 11263aを非活動性に維持することによっ
てデータ転送を保留する。もし「リストの終了」条件に
よってチャネル0が停止すると、S/88プロセツサは
終了割り込みを受け取って適当な時チャネルOを再開始
する。
E21.S/370  I10データ転送シーケンス・
フロー、一般的説明 全てのI10読取及び書込転送は、アダプタ・パス・ア
ーキテクチャによるrBSM読取セレクト・アップ」及
びrBSM書込セレクト・アップ」コマンドを介してS
/88プロセツサ62を源とする。S/370CCWコ
マンド及び開始アドレス(S/370メモリ162中の
)は、「■10開始」のためにCCWから導出される。
データは、5788プロセツサ62によって、各I10
装置と、ローカル記憶210中のローカル・バッファの
間で移動される。
ローカル記憶210は、5788プロセツサ62によっ
て管理されるI10書込動作のための記憶ブロックのキ
ューを含む。そのキューが少なくとも1つのエントリを
含む時、I10書込動作を送出する準備ができている。
これらのブロックのうちの選択された1つのための開始
アドレスは、書込動作の開始の前に、5788プロセツ
サ62によってDMAC209中のDMAチャネル1レ
ジスタ中に記憶される。DMAチャネル1レジスタは、
ローカル記憶210を介するS/370110書込動作
(Il書込対するS/370記憶162の書込)のため
に予約されている。アダプタ・データ・バッファ269
 (64バイト)は、メイルボックス読取及びS/37
0  I10書込動作<S/370メモリ182からロ
ーカル記憶210へのデータ転送)のために予約されて
いる。このバッファは、チャネル1アダプタ・パス24
9.260に関連づけられている。バッファ260 (
84バイト)は、(S/370に対する)メツセージ書
込及びS/370  I10読取動作(ローカル記憶2
10からS/370メモリ162へのデータ転送〉のた
めに予約されている。このバッファは、チャネル1アダ
プタ・パス251.252と関連付けられている。、S
/88プロセツサ62は、DMACチャネル1及び2の
メモリ・アドレス・レジスタの高位ワードをゼロに初期
化する。このことは、ローカル記憶210が16ピツト
以上のアドレスを必要としないので、これらのレジスタ
が動作シーケンスの間にロードされた時に、余分のパス
・サイクルを節約するものである。
(A)I10書込動作(S/370記憶162からロー
カル記憶210へ) S788プロセツサS2は、第45C図に示すように(
パス161a、ドライバ217、パス247及びラッチ
233を介して)DMACアドレス及びデータ・パス2
48上に情報を配置することにより、DMACチャネル
1メモリ・アドレス・IノジスタMAR中にローカル・
バッファ開始アドレスをセットする。尚、第45C図で
、ピッ1−31−08=007EOO= rDMACレ
ジスタ選択」コマンドであり、ビット07−07−00
=Dチヤネル1メモリ・アドレス・レジスタ(低)選択
である。S/88は、パス上の最上位及び最下位ビット
をそれぞれ「31」及び「0」として識別子、これはS
/370プロトコルとは逆であることに留意されたい。
第45D図(MAR用)に示されている内容は、データ
・パス223上に配置され、ここで、ビット3l−16
=I10書込のための記憶210中のローカル・バッフ
ァの開始アドレスである。その高位データ・パス・ビッ
ト<31−16)は、チャネル1メモリ・アドレス・レ
ジスタの低位(15−00)部分にロードされる。MA
Rの高位ビット(31−16)は、初期化の間に0にセ
ットされている。DMAC209は、S/88プロセツ
サCPUに対して、BCU論理2S3を介する16ピツ
ト・ボート’DSACKJ信号Al266a、bで応答
する。5788プロセツサ62は、ローカル・アドレス
・パス247上に、BCUデータ(バイト・カウント、
記憶キー アダプタ・パス優先順位及びカスタマ/IO
A空間データ)及びDMACチャネル1メモリ転送カウ
ント・データを配置する。第45E図は、アドレス・パ
ス上のコマンドを示し、ここで、31−08=0074
00= rDMACレジスタ選択」コマンド、 07−00=BCU選択及びDMACチャネルIMTC
選択 バイト・カウント、cccvvから導出された〉記憶キ
ー、アダプタ・パス優先順位、及びカスタマ/IOA空
間ピットは、S/88プロセツサ62によって第46F
図に示すフォーマットでデータ・バス223上に配置さ
れ、ここで、そのビット指定は次のとおりである。
31−27=予約 26=高位バイト・カウント。このビットは、最大バイ
ト・カウント(4にバイト)が転送されつつあるときの
み1となる。
26−16=DMACチャネルIMTCレジスタにロー
ドされるバイト・カウント 26−14モBCUレジスタ22.0ことロードされる
バイト・カウント(最大4096)。そのカウントの少
なくとも一部は、バイト・カウント動作において後で説
明するようにレジスタ221にロードされる。バス・ア
ダプタ164は、4096バイト(バイト・カウント−
1)t−転送するために1111 1111 1111
というカウントを必要とする。それゆえ、BCL115
8は、それを、(64バイト・ブロック中の)バイト・
オフセット・ビット15−14とともにバス・アダプタ
154に提供する前に一度、ダブル・ワード境界ビット
をデクリメントする。
15−14=  下位バイト・カウント・ビットBCU
166゜これらのビットは、ダブル・バイト境界からの
バイト・オフセット−1(バス・アダプタ条件のため)
をあられす。これらのビットは、DMAC209または
BCt1156によっては使用されない。というのは、
それらはダブル・ワードしか転送しないからである。そ
れらは、S/370  BSM162に提供するために
、バス・アダプタ154に渡される。
13−12−  アダプタ・バス・チャネル優先順位 07冨 カスタマ/IOA空間ピット 08=  S/8Bプロセツサは、1つの追加的ローカ
ル記憶が必要であることを示すためにこのビット(1)
を活動化する。このことは、開始S/370紀憶アドレ
スがダブルワード(32ビツト)境界上にない時に生じ
る。全てのBCUアドレスはダブルワード境界上で開始
しなくてはならないので、最初のアクセスは指定された
開始アドレスにあるバイトを含み、先行するバイトがそ
のダブルワード・アドレスに含まれる。先行バイトは棄
却される。
O5−00冨 予約済み DMAC209は、そのデータ・バスの高位ワード(す
なわち、バイト・カウント)を、チャネルIMTCレジ
スタにロードすることになる。
BCUは、次のようにデータ・バス内容を把捉する。
ビット26−14 −  BSM読取セレクト・アップ
・カウンタ220に対して ビット13−06 − アダプタ・バス・チャネルOA
/Dレジスタ219に対して(但し再配列されて) 1つのS/88プロセツサ・マシン・サイクル中でダブ
ルワード転送が生じる時、そのアドレスはダブルワード
境界上になくてはならない。DMACチャネルIMTC
のアドレスは、ダブルワード境界上にないので(ビット
07−00=  01001010)、BCU156及
びDMAC209に1つのS/88プロセツサ・コマン
ドをロードするためには次の動作が行なわれ°る。すな
わち、BCU166はアドレス・ビット1を反転してそ
れを別のレジスタ選択ビットとともにDMAC209に
提供する。このことは、チャネル1のためのDMAC2
09を適切に選択する(アドレス・ビット07−00冨
01001010)ことを可能ならしめる。このことは
、チャネル2I10読取動作のためのMTCレジスタの
選択にも当てはまる。DMAC209は、BC1J論理
253に対して、!!266上のrDTAcKJ信号で
応答する。BCU論理253は、’DTACKJ信号を
、S/88プロセツサ62に対する、8288a、b上
の32ビツト・ポートrDSACK」応答に変換する。
その転送バイト・カウントは、残りのデータ・バス・デ
ータとともに、後のrBsM読取セレクト・アップ」コ
マンドの間にバス・アダプタ154に提供される。BS
M読取境界カウンタ221またはBSMm取セレクトア
ップ・バイト・カウンタ220は、チャネルO読取コマ
ンド・レジスタ214中にロードされることになる。
S/88プロセツサ62は次に、第46G図に示すフォ
ーマットでデータ・パス223上で「BSMM取セレク
トアップ」コマンドを発生し、そのとき、ビット3 l
−00−007EO108−rBSM読取セレクトアッ
プ」コマンドである。
S/88プロセツサ82はまた、データ・パス223上
に第46H図でしめずフォーマットでBSM開始アドレ
スを配置し、ここでビット23−0−記憶162中の開
始アドレスである。
パス223上のBSM開始アドレスは、アドレス・レジ
スタ219とBSMm取アドレス・レジスタ231上に
記憶される。それは、後で、S/370記憶162に提
供するためにパス・アダプタ164に送られる。BCl
Jl;8は次に、S/88プロセツサ62に対する「D
SACKj1s2Sea、dを活動化する。この時点で
、S/88プロセツサは解放され、最早この動作に関与
しない。
BCU16Bは、パス290を介してレジスタ214に
rBSMセレクト・アップ」 (読取)コマンドを配置
し、第461111に示すようにコマンド/状況パス2
49上にそれを配置する。第451図で、ビットは、 0−1−  rBSM、セレクト・アップ」コマンド 
 (13’! 取 ) 2−7瓢 フィールド長−1(fi大64バイト)その
フィールド長は、前取てレジスタ220または221か
らレジスタ214に転送されていたものである。レジス
タ219は、第46JI]に示すフォーマットでパス2
50上にアドレス情報を配置する。そこで、 0−3冨 記憶キー 4=1 6−6=  優先順位(プロセッサ・パス170に対す
るパス・アダプタ154の) 7藁 1=カスタマ領域アクセス 0雪マイクロコード領域アクセス 8−31−  記憶163中のデータ・フィールド中の
最初のバイトのアドレス BCU論理253は次に、そのコマンドと、フィールド
長データを、コマンド・レジスタ124(第13図)に
ラッチし、キー・アドレス・データをレジスタ122に
ラッチするためにパス・アダプタ164に対するタグ・
°アップ線262aを立ち上げる。パス・アダプタ15
4は、もしデータが有効でないならBCU論理253に
対するタグ・ダウンを立ち上げる。BCU論理253は
、タグ・ダウンが降下するまで待つ。パス・アダプタ1
54は、第46K及び第45L図に示すように、アダプ
タ・パスBSMセレクト・アップ・コマンドをプロセッ
サ・パスI10メモリ・コマンドに変換する。このとき
、プロセッサ・アドレス/データ・パス170上のビッ
トは次のことをあられす。
O諺0−110メモリ・コマンド 1冨1藁フ工ツチ動作゛ 2−7冒フイールド長 8−31冨実バイト・アドレス また、プロセッサ・キー/状況パス・ビットは次のこと
をあられす。
0−3冨 記憶キー 4諺0雪動的変換なし アドレスされたデータがS/370メモリ162から返
されたとき、それはパス・アダプタ・データ、バッファ
259(チャネル0)でラッチされる。そのパス・アダ
プタ154は次に、アダプタ・パス・チャネルO上のタ
グ・ダウン線262bを非活動化する。この条件は、B
CU156に、2バイト(16ビツト)のデータをラッ
チするように報知し、その直後にクロック左及びクロッ
ク右信号を介してのチャネルO読取バッファ22B <
4バイト)中の別の2バイトが統<、BC1J168L
E次に、DMAC209に対スルソノ’REQIJ線2
83b (DMACチャネル1要求)を活動化する。D
MAC209は、ローカル・パス・サイクルを実行する
ために、BCUローカル・パス調停論理216に対する
線269上に’BCLJ  REQJを発行する。
線268上のパス許可信号がBCU調停論理から返され
た時、DMAC209がローカル記憶210に対するチ
ャネルO読取バッファ259動作を開始する。DMAC
209はBCU論理253に対するl1284b上にA
CKI  (DMAチャネル1肯定応答)を返し、パス
248、ラッチ233、アドレス・パス247及びマル
チプレクサ232を介して記憶210アドレシング回路
に対してDMACチャネル1レジスタ248中のローカ
ル記憶アドレスをゲートすることによってそのことを行
う。BCU論理253は、MARレジスタによって指定
されたアドレスにおいて記憶210に記憶するためにバ
ッファ22Gからデータ・パス223へ第1のデータ(
4バイト)をゲートするために線264b上のACK 
1信号と、1121 Oa上のRAMyA択信号を使用
する。DTACKがBCU論理253によって、1!2
8s上に戻されたとき、DMAC209は、13267
上でDTC(データ転送完了)を立ち上げる。
B Ctl 1 ′564J、L、ジスタ220.MT
C中に保持されているバイト・カウントをデクリメント
し、チャネルIMARをインクリメントし、パス・アダ
プタ154から受信される64バイトまでのデータのダ
ブルワード毎にアドレス・レジスタ231をデクリメン
トする。上述のシーケンスはBCUコマンドの4バイト
毎に(64まで)反復される。もし転送バイト・カウン
トが64よりも大きいなら、BCU156は次の64バ
イトをフェッチするためにレジスタ231.219を介
してパス・アダプタ154に新しいBSM*始アドレア
ドレスする。レジスタ231は上述のように4バイト転
送毎にデクリメントされており、従って、適切な次の開
始アドレスをもつ。パス・アダプタ154は、そのコマ
ンドによってgI求される(4KBまでの)データ転送
全体が完了するまで各開始アドレス毎に64バイトのデ
ータをバッファする。
BCtl156は、もしパス・アダプタ259が空なら
DMAC209を(REQを立ち上げないことによって
)アイドル状態にととめ、次の有効データ・ワードが受
信されるまで、タグ・ダウンの状態がバッファ269中
の有効データの可用性を反映する。REQ/ACKサイ
クルは、バイト・カウントがゼロになるまで続き、その
時点でDMAC209がS/88プロセツサ62に対す
る。126s上でIRQを立ち上げる。このことは、S
/88プロセツサ62に、適切な処理のためS/370
記憶162から読取られたデータを含むローカル記憶バ
ッファを読取るように報知する。
CB)I10読取動作(ローカル記憶210からS/3
70記憶162) I1011動ffは(EXEC370のlblwJの下
で)少なくとも1つのエントリか記憶210中のI 1
0a!取キユー中に存在する時キック・オフされる。S
/88プロセツサ62はもしそれがDMAC209によ
って使用されていないならローカル・パスの制御を獲得
する。S/88プロセツサ62は、第46M図に示すフ
ォーマットで情報をパス247上に配置することによっ
てDMACチャネル2メモリ・アドレス・レジスタ(M
AR)にローカル・バッファ110読取開始アドレスを
セットする。ここで、 31−08冨007EOO冨DMACレジスタ選択コマ
ンド 07−07−0O−Dチャネル2メモリ・アドレス・レ
ジスタ(低位)1!択 また、第46NGに示すように(記憶210中のバッフ
ァの)Wi始アドレスをデータ・パス223上に配置す
る。このとき、ビットは、31−16−  ローカル・
パッファエ10読取データの開始アドレス 15−00−  予約済み 高位データ・パス・ビット31−18は、チャネル2メ
モリ・アドレス・レジスタの低位(15−00)ビット
中にロードされる。MARの高位ビット<3l−16)
は、初期化の間に0にセットされている。DMAC20
9は線286a%b上でDSACK信号に変換される線
285上のDTACK信号によってS/88プロセツサ
82に応答する。S/88プロセツサ62は次に、選択
されたローカル記憶I10読取バッファの開始アドレス
を使用して、5788プログラム制御を使用してI10
コントローラ20または24などからローカル記憶21
0に(4KBまでの)データを移動する。
データ転送が完了した時、S/88プロセツサ62は第
460図に示すフォーマットでアドレス・パス247上
にDMACチャネル2メモリ転送カウント選択を配置す
る。このとき、ビットは、 31−08雪 007EOO=DMACレジスタ選択・
コマンド 07−00品 BCU及びDMACチャネル2MTC選
択 バイト・カウント、(cCWから得られた)記憶キー、
アダプタ・パス優先順位、及びカスタマ/■○A空間ビ
ットはミ 5788プロセツサ62によって第45P図
に示すフォーマットでデータ・パス223上に配置され
る。
このとき、 31−27冨 予約 26= 高位バイト・カウント・ビット。二のビットは
、最大バイト・カウントが転送されつつある間のみ1と
なる。
28−18=  DMACチャネル2MTCレジスタの
バイト・カウント 26−14=  BCU156にロードされるバイト・
カウント(最大4098)。パス・アダプタ154は、
4096バイトを転送するために1111 1111 
1111というカウント(バイト・カウント−1)を要
する。それゆえ、ECUは、(64バイト・ブロック中
の)バイト・オフセット・ビット16−14とともにそ
れをパス・アダプタ154に提供する前に一度、ダブル
ワード境界ビット26−16をデクリメントする。
l5−14=  下位バイト・カウント・ビット。
これらのビットは、ダブルワード(32ピツ)・)境界
からのバイト・オフセット−1(パス・アダプタのため
に)をあられす。これらのビットは、DMAC209ま
たはBCU158がダブルワードしか転送しないので、
それらによっては使用されない。それらのビットは、S
/370  BSM162に対して提供するために、パ
ス・アダプタ154に渡される。
13−12=  アダプタ・パス・チャネル優先順位 11−08−  記憶キー 07− カスタマ/IOA空間ビット 08−00−  予約 DMAC209は、データ・パス223の(バイト・カ
ウント)をチャネル2MTCレジスタにロードする。B
CU156は、上記コマンドがアドレス・パス247上
にあられれた時にデータ・パス内容を捕獲する。ビット
28−16はBSM書込セレクト・アップ・バイト・カ
ウンタ222中に格納され、ビット13−07は、アダ
プタ・パス・チャネル1アドレス・レジスタ227の高
位バイトに格納される。DMAC209は、線2e5上
のDTACKfttにJ: I)BCU論理253に応
答する。論理253は、DTACK信号を、5788プ
ロセツサS2に対する32ビツト・ポー)−DSACK
応答に変換する。転送バイト・カウントは、残りのデー
タ・パス・カウントとともに、後のBSM書込セレクト
・アップ・コマンドの間にパス・アダプタ154に提供
される。33M書込境界カウンタ224(1!後の転送
以外の全て)またはBSM書込バイト・カウンタ(最後
の転送)中のカウントは、アダプタ・チャネル1書込コ
マンド・レジスタ2225にロードされる。
5788プロセツサ62は次に、第45Q図に示すフォ
ーマットでローカル・アドレス・パス247上に88M
セレクト・アップ・コマンドを発生し、このとき、ビッ
トは、 3l−00=  007E○1104=BS書込セレク
ト・アップ・コマンド 5788プロセツサはまた、83M開始アドレスを第4
5R図に示すフォーマットでデータ・バス223上に配
置し、このとき、ビットは、31−24=  予約 23−00−  BSM開始アドレス データ・バス223上のBSM開始アドレスは、チャネ
ル1アドレス・レジスタ227及びBSM書込アドレス
・レジスタ228の下位バイトによって捕獲される。そ
れは後で(後述するように)S/370記憶162に提
供するためにバス・アダプタ164に送られる。BCl
J 156は次に、S/88プロセツサ62に対するD
SACK11266a、b (32ピツト・ボート)を
活動化する。この時点で、5788プロセツサ62は解
放され、最早このJ@作に関与しない。
BCU論理253はBSMセレクト・アップ・コマンド
を発行してピット「01」をバス290を介してコマン
ド・レジスタ225の高位バイトにゲートし、レジスタ
225のコマンド及びフィールド長を第45S図に示す
フォーマットでバス252上に配置する。ここで、 0−1=  BSMセレクト・アップ・コマンド(書込
) 2−7エ フィールド長−1(最大64バイト)レジス
タ227の内容は、第45T図に示すフォーマットでア
ドレス/データ251上に(2サブサイクルで)配置さ
れる。ここで、ピットは、 0−3藁 記憶キー 4=  1 5−6= 優先順位(プロセッサ・バスに対スルバス・
アダプタの) 7瓢 1=カスタマ領域アクセス ○=マイクロコード領域アクセス 8−31=  データ・フィールドの第1のバイトのS
/370アドレス そのコマンドと、フィールド長は、アダプタ154のレ
ジスタ125に格納される。キー/アドレス・データは
、5YNCレジスタ113を介してアダプタIS4のレ
ジスタ123に格納される。BCU論理253はDMA
Cチャネル2に対する:!283C上でREQ2(m号
を活動化する。
DMAC209は、ダブフレワードのデータを言己憶2
10からアドレス・レジスタ227に転送するために、
バス248、ラッチ233、バス247、マルチプレク
サ232を介してMARから記憶210へI10バッフ
ァ開始アドレスを送る。
ACK2 (DMACチャネル2肯定応答)がアドレス
・レジスタ227上で立ち上げられる。このことは、ア
ダプタ154に対する線282 a上のタグ・アップを
もたらす。
アダプタ154は次に、レジスタ113を介する2つの
サブサイクルでレジスター227からバス・アダプタ・
バッファ260にダブルワードのデータを転送する。各
ダブルワードのデータを転送するために、REQ/AC
K信号の書込みシーケンスとそれに続くタグ・アップ・
コマンドが反復される。BCU156は、バス・アダプ
タIS4に64バイトまで提供される各ダブルワード(
32ビツト)@にレジスタ222.224中のバイト・
カウントと、DMACチャネル2のレジスタ228とM
TC中のアドレスをデクリメントする。
もし転送バイト・カウントが64より大きいなら、(書
込み動作に関連して前述したように)BCU156が次
の64バイトのために新しい開始アドレスを提供するこ
となる。このシーケンスは、レジスタ222(最大4K
B)中のバイト・カウントがゼロになるまで繰り返され
る。
バス・アダプタ・バッファ260が満杯であるとき、B
ClJ 156は、バス・アダプタがタグ・ダウン線2
62Cを介して可用性の表示を与えるまで書込みシーケ
ンスを中断する。
バス・アダプタ154は、アダプタ・バスBSMセレク
ト・アップ・コマンドを、プロセッサ・バス170及び
キー/状況バス上で、第45LJ及び第45V図に示す
フォーマットでS/370プロセツサ・バスI10メモ
リ・コマンドに変換する。ここで、プロセッサ・バス・
ピットにおいて、 0=  0=I10メモリ・コマンド 1= 0−記憶動作 2−7冨 フィールド長 8−31冨実バイト・アドレス キー/状況バス・ピットにおいて、 0−3= 記憶キー 4= 非動的変換 全てのデータが転送された時(バイト・カウント品0)
 、DMAC209はS/88プロセッサ優先順位エン
コーダ212に対する割り込みB258aを活動化する
(c)S/370高優先順位メツセージ転送シーケンス
・フロー 全ての高優先順位データは、110サブシステム(S/
88プロセツサ62)から発生する。DMACチャネル
3は、データ転送(1sバイト)を実行するために57
88プロセツサ62によってセットアツプされる。BC
U156は、データ通信(キュー・セレクト・アップ・
コマンド)のためにアダプタ・パス・チャネル1を使用
することになる。
BCUI 56156は、S/88プロセツサPE62
がチャネル3中のレジスタMTCに対してDMACメモ
リ転送カウント・ロードを実行する時、高優先順位メツ
セージ要求を検出する。この結果、BCtl166はチ
ャネル1のアダプタ・パス262上でS/370 P 
E 85に対するキュー・セレクト・アップ・コマンド
を発生する。もしその要求が検出された時S/370 
 I10読取データ転送(アダプタ・パス・チャネル1
)が進行中なら、BCU158は、その要求を受け入れ
る前に現在の84バイト・ブロック転送が完了するまで
待つ。
もしアダプタ・パス・チャネル1上にI10活動が存在
しないなら、その要求は即時に処理されることになる。
この高優先順位メツセージ転送について次に詳細に説明
する。PE82は、もしそれがDMAC209によって
使用されていないなら、ローカル・パス223.247
の制御を獲得する。PE62は次に、プログラム制御に
よって、ローカル記憶210中にメツセージ・データを
記憶する。
PE82は、第45W図に示すフォーマットでローカル
・アドレス・パス247上に情報を配置することにより
、DMACチャネル3メモリ・アドレス・レジスタMA
Rにローカル・バッファ・メツセージ開始アドレスをセ
ットする。ここで、31−01−08=007EOO=
Dアドレス選択コマンド 07−07−00=Dチヤネル3メモリ・アドレス・レ
ジスタ(低)11択 メモリ・アドレス・レジスタとして意図されているロー
カル・バッファ・メツセージの開始アドレスは、第45
XI]に示すフォーマットでデータ・パス223上に配
置される。ここで、3l−18=  記憶210中のロ
ーカル・バッファ・メツセージ・データの開始アドレス
15−00=  予約 高位データ・パス(ビット3l−16)は、DMACチ
ャネル3メモリ・アドレス・レジスタMARの低位(ビ
ット15−0)部分にロードされることになる。MAR
の高位ビット(31−16)は、初期化の間にゼロにセ
ットされている。
DMAC209は、5788プロセツサ82に対して、
線286a上でBCU論理253を介して16ビツト・
ポートDSACKII号に変換される、1128s上の
DTACK(1号で以て応答する。
5788プロセツサ62は次に、第45Y図で示すフォ
ーマットでローカル・アドレス・パス247上にコマン
ドを配置する。ここで、3l−08=  007EOO
=DMACレジスタ選択コマンド 07−00そ BCU及びDMACチャネル3MTC選
択 バイト・カウント、記憶キー及びカスタマ/工OA空間
ビットは、第45Z図に示すフォーマットで5788プ
ロセツサ62によってデータ・パス上に配置されること
になる。ここで、31−20雪 予約 19−16=  転送バイト・カウント・ビット。
これらのビットは、DMAC209及びBCUI56に
ロードされる。それらは、DMAC209及びBCU1
58に対するダブルワード・カウントをあられす(最大
64バイト)。
15−12瓢 ゼロ 1i−os−記憶キー 07= カスタマ/IOA空間ビット 06−00に 予約 DMAC209は、データ・バス223の高位ワード(
バイト・カウント)を、チャネル3メモリ転送カウント
・レジスタ225中にロードする。BCU166は、こ
の特定のコマンドが、ビット19−16をキュー・セレ
クト・アップ・カウンタ264に格納しビット11−0
7をチャネル1アドレス・レジスタ227に格納するこ
とによってアト1ノス・パス247上にあられれるとき
、そのデータ・パス内容を獲得する。
DMAC209は、PE62に対して、4!286a、
b上の32ビツト・ボートDSACK応答にDTACK
信号を変換する論理263に対するDTACK信号で応
答する。この動作は、BCU166に、ローカル記憶2
10からS/370BSM162に対する高優先順位メ
ツセージ転送を開始するように報知する。その転送バイ
ト・カウントは、第452図に記す追加的なデータとと
もに、BCUによって発生されたキュー・セレクト・ア
ップ・コマンドの間にパス・アダプタ154に提供され
る。キュー選択カウンタ264は、チャネル1書込コマ
ンド・レジスタ225のビット4−7にロードされる。
BCU156は、バス290を介してレジスタ225に
キュー・セレクト・アップ・コマンドを配置し、レジス
タ225中のデータは、第46AA図に示すフォーマッ
トでアダプタ・バス252(チャネル1)上に配置され
る。ここで、 0−1−  キュー・セレクト・・アップ・コマンド(
書込〉 2−7戦 フィールド長−1<1−8バイト)レジスタ
227を介してアドレス/データ・パス251上に配置
される情報は、第45AB図に示されており、ここで、 0−3冨 記憶キー 4−6冨 ゼロ 7雪 1雪カスタマ領戚アクセス 0冨マイクロコード領域アクセス 8−31台 無関係 バス262及び251じようのデータは、それぞれ、ア
ダプタ・レジスタ125及び123にロードされる。B
CU論理253は次に、REQんせ263d (DMA
チャネル要求)を付勢する。DMAC209は(MAR
からの)I10バッファ開始アドレスをローカル・パス
上に配置し、ACK (DMACチャネル3肯定応答)
14!264dを立ち上げる。BCtJ15Bは次に、
ローカル記憶210中のアドレスされたI10バッファ
中のデータの最初の4バイトを、5YNCレジスタ11
3を介する2サブサイクルでアダプタ・バッファ260
に転送する。それに続く4バイトは、バス・アダプタ1
54に対するタグ・アップ・コマンドと、DMACに対
するREQ/ACK線283d、264dによって指令
されるシーケンスによって転送される。BCU156は
、パス・アダプタ154に提供される各ダブルワード(
32ビツト)毎に、そのバイト・カウントをデクリメン
トする。
バス・アダプタ154は、記憶162の領域189にメ
ツセージを送るために、キュー・セレクト・アップ・コ
マンドをS/370プロセツサ・バスI10メモリ・コ
マンドに変換する。そのフォーマットは、第46AC図
に示されており、ここで、PROCBusビッビッは、 0=  0=I10メモリ・コマンド 1= 0冨記憶動作 2−7− フィールド長(最大64バイト)8−31=
  (アダプタ・レジスタ110.112からの)実バ
イト・アドレス プロセッサ85キー/状況パスは、第45AD図に示す
フォーマットをもち、ここで、0−3富 記憶キー 4− 動的変換なし そのメツセージ・データが全てバス゛アダプタ154(
バイト・カウント=O)に転送された時、DMAC20
9はS/88プロセッサ優先順位エンコーダ212に対
する割り込み線209t−活動化する。DMAC209
は、そのデータ・パス248の最下位バイトから、ロー
カル・デ−タ・バス223のドライバ・レシーバ234
及びビット23−16を介して5788プロセツサ・デ
ータ・バス161Dのビット23−16に割り込みベク
タを提供する。、DMAC209は、PE62に、16
ビツトDSACKを返す。
(D)BCU状況コマンド 読取りC1J状況コマンドは、BCU156の現在の状
況を読取るために5788プロセツサ62によって発行
することができる。そのコマンドは、第45AE図に示
すフォーマットで、S/88プロセツサ62によってア
ドレス・パス247じ上うに配置される。すなわち、 3l−00=  O○7401 QC−読取りCU状況
コマンド BCU156は、第45F図に示す状況をデータ・パス
上に配置し、DSACK <32ビツト・ボート)をパ
ス266PE62上に配置する。第45 A”F図に示
すビットは次のことをあられす。
3l−29=  アダプタ・パス・チャネル0状況−キ
ーチエツク、アドレス・チエツク2B=  1=最後の
データ・サイクル○=他の全てのデータ・サイクル 27−26=  アダプタ・パス・チャネル1状況−キ
ーチエツク、アドレス・チエツク25=  バッファが
可屈でない(キュー・セレクト・アップ・コマンド) 24=  1=最後のデータ・サイクルO=他の全ての
データ・サイクル 23= アダプタ・パス・チャネル0タグ・ダウン 22= アダプタ・パス・チャネル1タグ・ダウン 21=  BSM読取同期チエツク 20=  BSM読取セレクト・アップ要求/保留ラッ
チ 19=  BSM書込セレク)・・アップ要求/保留ラ
ッチ 18= キュー・セレクト・アップ要求/保留ラッチ 17= 読取メイルボックス進行中 16=  BSM読取進行中 16=  BSM書込進行中 14= キュー・セレクト・アップ進行中B−CO状況
ピッl1−21(BS読取同期チエツク)は、5788
プロセツサ62によって読取られた後、リセットされる
ことになる。このビットは、BSM動作が完了した時パ
ス・アダプタ154及びBCU166バイト・カウント
が一致しないことを示す。それゆえ、再同期を要するエ
ラーが検出される。
BSM書込動作の場合、パス・アダプタ154は、全て
のデータが受信されたことを示すために、タグ・ダウン
262bを活動化する。タグ・ダウン262bは次に、
パス・アダプタ154によって非活動化され、その時点
で状況表示子がBCU156に提供されBCU156に
よって獲得される。もしタグ・ダウンが100μ秒以内
に非活動化されないなら、BCU156はパス・アダプ
タ154に対するキャンセル線(図示しない)を活動化
する。このことは次に、パス・アダプタ154のBCU
l 56からの切り放しをもたらす。タグ・ダウン26
2bはまた、コマンド/状況バス252を介してはBC
U156に報告することがでないエラーを示すためにパ
ス・アダプタ154によって使用される。
(E)プログラムされたBCUリセットPE62によっ
て発行されるプログラムされたBCUリセットは、BC
U156に対する電源投入時リセットと同一の機能を果
たす。それは、BCUの任意の以上条件をリセットする
ために、任意の時点で発行することができる。しかし、
このコマンドを実行するためには、ハードウェアによっ
てローカル・パス・サイクル(007EXXXX)が認
識されなくてはならない。
このコマンドは、第45AG図で示すフォーマットでS
/88プロセツサによってローカル・アドレス・パス2
47上に配置され、ここで、3l−00=  007E
O○0O−BCUリセットコマンド そのデータ・パス内容は、BCU158によって無視さ
れることになる。BCU168はS/88プロセツサ6
2に対して、線266a、b上でDSACK (32ビ
ツト・ポート)を返すことになる。
E22.カウント、キー 及びデータ・フォーマット・
エミュレーション(第48Aないしに図) S788上でのS/370DASDのエミュレーション
について、S/370 110プログラムをS/88プ
ロセツサ及びI10装置によって実行することができる
ような好適な様式を示す例によって説明しよう、S/3
70は、オブジェクト・システムと呼ばれ、S/88は
ターゲット・システムと呼ばれる。オブジェクト・シス
テムのためのDASD (直接アクセス記憶装置)デー
タは、エミュレーション・フォーマットでターゲット・
システムによって維持される。S/370プロセツサで
走るS/370コードは、オブジェクト・システム・ソ
フトウェアと呼ばれる。以下の説明は3つの部分に分け
られる。
(1)オブジェクト・システム−ここでは、既存のS/
370直接アクセス記憶製品によって使用されるカウン
ト、キー、及び記録フォーマット・の簡単な説明を与え
る。
(2)ターゲット・システム−ここでは、DASDプロ
グラム・インターフェース・モデルを説明する。
(3)エミュレーション・フォーマット−ここでは、使
用されるエミュレーション・フォーマットへのオブジェ
クト・システム・フィールドのマツピングを説明する。
(4)エミュ1ノージョン機能−ここでは、エミュレー
ション機能へのオブジェクト・システム機能のマツピン
グを説明する。
(1)オブジェクト・システム DASD物理的媒体は、シリンダと、トラックに区画さ
れる。そのめいめいの数及び容量は、DASDのタイプ
及びモデルで異なる。各シリンダは、2バイトのシリン
ダ番号(cC)によってプログラムがアドレス可能であ
り、シリンダ内の個々のトラックは、めいめいが2バイ
トのヘッド番号(HH)によってアドレス可能な個別の
読取/書込ヘッドによってアクセスされる。トラックの
物理的位置は、そのシリンダ及び与えられ、それゆえ、
4バイト・トラック・アドレス(cCHH)によって指
定される。各トラックは、ホーム・アドレスと、トラッ
ク記述子(レコードO)と、1つまたはそれ以上のデー
タ・レコードを有する。各レコードのサイズはプログラ
ム可能である。そして、ホーム・アドレス及びレコード
・サイズがトラック上に書かれる時、そのトラックはフ
ォーマットされたと称される。全てのトラックは、その
トラック・インデックスから次のトラック・インデック
スへとフォーマットされる。第46AIIは、そのよう
な1つのトラックを示す。
物理的媒体上に記録された情報の基本的単位は、8つの
ビットからなるデータ・バイトである。データ・バイト
のグループが領域を構威し、装置は、それらの領域の間
にギャップを書き込むことによってこれらの領域を分割
する。各レコードは2つの(カウント、データ)または
3つのくカウント、キー データ)領域からなり、−方
、ホームアドレスは、1つt2けの領域からなる。オブ
ジェクト・システム・レコードを構成する3つの領域は
、カウント、キー(オプションン、及びデータである。
カウント領域は、次のようなフィールドを含む。
F フラグ 1バイト トラック条件、論理レコード・
トラック・オーバーフローをあられす。
CCHHトラック・アドレス 2バイト トラックが物
理的に位置するシリンダ及びヘッド番号を示す。
Rレコード番号 1バイト トラック上のレコードの順
次番号を示す。
KL  キー長 1バイト キー領域中のバイト数を示
す。
DL  データ長 2バイト データ領域中のバイト数
をあられす。
ECCエラー・コード 2バイト エラー検出/訂正コ
ードとして使用される。
キー領域は、次のようなフィールドを含む。
(もしKL=0なら、この領域及びそのギャップは、省
略される’t KEY  キー KLバイトユーザー・
データ FCCエラー・コード 2バイト エラー検出/訂正コ
ードとして使用される。
データ領域は、次のようなフィールドを含む。
DATA  データ DLバイト ユーザー・データ FCCエラー・コード 2バイト エラー検出/訂正コ
ードとして使用される。
各トラックの最初の領域は、ホーム・アドレスである。
それは、次のフィールドを含む。
F フラグ 1バイトトラック条件を示す。
CCH)l  トラック・アドレス 2バイト トラッ
クが物理的に位置するシリンダ及びヘッド番号を示す。
FCCエラー・コード 2バイト エラー検出/訂正コ
ードとして使用される。
レコード0(トラック記述子)は常に、水−・ム・アド
レスに続く最初のレコードである。好適なプログラミン
グ・システムにおいては、レコー・ドOCCHHフィー
ルドは、そのトラックが欠陥としてフラグされた場合の
化1iF I−ラックを決定する。キー長は、レコード
Oの場合通常ゼロである。キー領域はオプションであっ
て、もし存在するなら、1乃至266バイトを含むこヒ
ができる。レコードの数は、フォーマット書込CCWコ
マンドが、カウント、キー及びデータ領域を書込時に決
定される。レコードがフォーマットされた後、ユーザー
・データ領域はそのトラックの隣接レコードを破壊する
ことなく読取り、または再書込することができる。もし
レコードが再フォ−マツトされたなら、そのトラック上
のそれに続くレコードが破壊される。
(2)ターゲット・システム DASD (第46B図)は、1から順次的に番号付け
された4096ブロツクのデータを含むファイルの形式
でS/88マイクロコードに提供される。エミュレーシ
ョン機構は、オブジェクト・システム・フォーマット及
び機能を、使用可能なターゲット・システム・フォーマ
ット及び機能の組合せにマツプする。
(3)エミュレーション・フォーマットオブジェクト・
システムにおけるDASDの物理的パラメータは、タイ
プとモデルによって異なる。DASタイプとモデルは、
さまざまなパラメータとともに、ターゲット・システム
・ファイル(第48C図)の最初のデータ・ブロック(
情報)に維持される。このファイルの残りは、エミュレ
ートされたオブジェクト・トラック・データ(第46C
図)を含む。各トラック毎に必要とされるターゲット・
システム・データ・ブロックの数は、最初のデータ・ブ
ロックに維持されているパラメータである。、CCHH
=OOOOで始まる、オブジエクト・システム中の各ト
ラックは、ターゲット・システム・ファイル中に順次的
に維持される。その開始ブロック番号は、CCHHと、
情報ブロック中に維持されるオブジェクト・ディスク・
サイズが与えられると計算することができる。
エミュレートされた各トラックく第46D図)は、現在
そのトラック上に存在するレコードのディレクトリと、
ディレクトリ・ヘッダと、各レコードのユーザー・デー
タ(キー、データ)を含む。そのディレクトリは、特定
のレコードのためのデータを探し出し、レコードまたは
キー上の検索動作を実行し、トラック上の最後のレコー
ドにアクセスし、トラック・オーバーフローを処理する
ために使用される。
オブジェクト・システム・データは、維持、暗示的に保
持、及び維持しない、という3つの様式の1つでエミュ
レーション環境で処理される。
全てのギャップは不要であって、維持されない、FCC
は、データの完全性がターゲット・システムによって維
持されるので、作成されずまた維持されない。ターゲッ
ト・システムによって提供されるプログラム・モデルが
全ての障害的物理表面領域を除去するので、オブジェク
ト・システム中の代替トラックが障害のない様式で実現
される。このことは、トラック条件を示すフラグ・バイ
ト(F)が維持されず、オブジェクト・システム・ソフ
トウェアによって書かれるフラグ・バイトが有効性のた
めチエツクされ棄却されることを意味する。
オブジェクト・システム・ソフトウェアによって渡され
るCCH)? <1−ラック・アドレス)は、ターゲッ
ト・システムDASDファイル中のエミュレートされた
トラックの位置を計算するために使用される。それは、
後述するトラック・ヘッダ中に維持されるが、エミュレ
ートされたトラックのカウント及びホーム・アドレスを
通じて増加しない。ホーム・アドレスは、明示的領域と
しては維持されない。やはりオブジェクト・システム・
ソフトウェアによって渡されるレコード番号(R)は、
暗示的に維持され、明示データとしては現れない。
各レコードの、ユーザー・データ、オプシ曹ンのキー及
びデータ・フィールドは、トラック・ディレクトリ(第
48D図)の直ぐ後に続くエミュレートされたトラック
に順次的な様式で維持される。
オブジェクト・システム・データの残り(F(論理レコ
ード・トラック・オーバーフロー)、KL及びDL)は
、トラック・ディレクトリに維持される(@46 E図
)。ディレクトリ・エントリは、Fと、KLと、DLと
、レコード毎のユーザー・データ(キー及びデータ)に
対するポインタルを含む。第46E図は、ヘッダと、デ
ィレクトリ及びユーザー・データ構成上、エミュレート
されたトラックのり二ゲット・システム4 K Bブロ
ックに対するマツピングを示す。ポインタpO−p2は
、ユーザー・データ・レコード0−2の開始アドレス<
4KBブロツク内の)を指し示す。
(4)エミュレーションa能 この章は、オブジェクト・システムのDASDCCWコ
マンドのいくつかを与える点での、上述のエミュレーシ
ョン・フォーマットの使用に関連するものである。第4
8F乃至KrIAは、包括的に、読取及び書込動作の間
に、オブジェクト・システム・ソフトウェアによって転
送されるデータを表す。ホーム・アドレスに関連するC
CV動作の場合、第46F図のF及びCCHHが計算さ
れ、あるいはチエツクされるが、エミュレートされたト
ラックにはなにも書かれない。
レコードOに係わるCCW動作の場合(第46G図)、
CCHH及びRフィールドがチエツクされるが何も書か
れない。KL及びDLフィールドは、適切なディレクト
リ・エントリヒの間で転送される。レコード・ゼロは、
ユーザー・データ領域中へのオフセット・ゼロにある。
カウントに関与するCCWIII作は常にヘッドをトラ
ック中の次のレコードへと向き付ける(第46H図)。
キー及びデータに係わるCCW動作の場合、ユーザー・
データの位置及びサイズがディレクトリ中に見出される
(第46111)。カウント、キー及びデータに関与す
るCCW動作は読取/書込ヘッドをトラック中の次のレ
コードへと向き付ける(第48H図)。多重カウント、
キー及びデータに係わるCCW動作の場合、処理は、次
のディレクトリ・エントリで始まり、最後の有効ディレ
クトリ・エントリまで続く (第46に図)。
E23.S/88ヒS/370による実記憶16の共有 (1)序論 さて、1つのまたはそれ以上のS/370プロセツサの
ための実(物理的)記憶16における1つのまたはそれ
以上の領域の「査収」と、記憶1eの管理及びマッド”
ングについて詳細に説明する。
関連する図は次のとおりである。
第10図は、S/88仮想記憶106及び物理記憶16
と、S/370プロセツサ21.23と、25.27と
、29.31のためのS/370物理的記憶領域182
−164の割り振りについて概念的に示す図である。
847図は、S/88T#l理記憶18からS/88領
域を獲得する方法を動的に示している。
第48A乃至に図は、マツピングかS/370記憶領域
の獲得を許容するように制御される5788記憶管理に
おいて使用されるような既知の仮2/ソフトウェア・マ
ツピングを示している。
記憶16は、4KBページ及び、各4KBページ毎に1
つの複数の記憶マツプ・エントリ(m me〉に分割さ
れ、合弁して記憶16全体をマツプするmmeアレイ(
第48A図)に含まれる。使用のため割癲てられていな
いエントリは、各エントリ(第48A図)においてリス
ト中の前及び次のエントリの物理記憶ページ(ポインタ
)を含めることによって「自由リスト」に結び付けられ
る。5788オペレーテイング・システムのソフトウェ
ア・ポインタは常に、自由リストの開始点を指し示す。
物理記憶ページは、この自由リストの開始からさまざま
なプロセスに割当てられ、自由リストに戻されるページ
は、好適には自由リストの開始点に配置される。その「
前及び次の」ページ番号及び自由リストの開始に対する
ソフトウェア・ポインタは、適切にj!祈される。
システム788がブートされる時、これらのエントリは
、連続的なアドレス順に自由リストに配置され、この時
点火はわずかな数のページしか使用には割当てられない
。それゆえ、自由リストから割当てに利用可能な記憶1
6の大きい連@領域が存在する。それゆえ、ブート時点
で、記憶領域(例えば162,163.164)はS/
370プロセツサから「査収」しなくてはならない。そ
の後、ページが必要に応じて自由リストから割当てられ
自由リストに戻されるにつれて、自由リスト上の大きい
連続ブロックは、細分化されて最早利用可能ではなくな
る。もし連続的なS/370領域を作成しようとする試
みがなされたとしたら、全てのプロセスを停止し、十分
な連続領域が商用となるまでさまざまなプロセスに既に
割当てられている記憶ブロックを再割当てするために複
雑なルーチンを実行する必要がある。
後述するアプリケーション・プログラムEXEC370
におけるサービス・ルーチンが、S/88オペレーテイ
ング・システムからS/370記憶領域を「盗む」ため
の機能を与える。
(2)S/88記憶18のマツピング しかし、先ず最初に、第48A乃至に図を参照して、5
788主記憶16の管理/マツピングの好適な態様につ
いて説明する。第48A図は、プロセスの仮想アドレス
空間を維持するために5788オペレーチイング・シス
テムによってセット・アップされるソフトウェア構造の
簡単な概要図である。そのソフトウェア構造は、次のよ
うな要素からなる。
pte−処理テーブル・エントリ(プロセスをあられす
) pmb−プロセス・マツプ・ブロック。互いに連鎖され
ると、それらは、この処理の仮想アドレス空間のための
、apteに対する(pmeの)ポインタを含むことに
なる。
pmbp−チエインの最初のpmbに対するpte中の
ポインタ pme −pmbに含まれる(apteを指し示す)プ
ロセス・マツプ・エントリ mtoe−物理的記憶マツプ・エンドす。mmemレア
レイ中まれると、システム、すなわち記憶16中の物理
記憶の4KBページ毎に1つのmmeが存在する。
apte−アクティブ・ページ・テーブル・エン)・す
。aptブロック中に含まれると、システムの各固有仮
想ページ毎に1つのapteが存在する。
Vpn−プロセスの仮想アドレス空間内の仮想ページ番
号 pat−プロセス管理テーブル。システムの各プロセス
(pte)に対してptn t、中にポインタptep
が存在する。
ptep −1つのプロセスに対するプロセス・テーブ
ル・エントリ・ポインタ 第48A図の記憶マツプ構造は、記憶管理ユニット10
6(第10及び47図)によって使用される。これは、
1つまたはそれ以上のrnr11eアレイ(第48C図
)からなり、好適な実施例では、512個の順序付けら
れたI+1[118を含む。各vneは、1つの4KB
の実記憶をあられし、それゆえ、mmeアレイは、61
2X4KB冨2MBの連続的記憶をあられす。
第47図の記憶マツプ・アレイは、概念的には、連続的
順序で配列されたmmeアレイの全てのをあられしてい
る。
IIlmeは、通常、3つのリストのうちの1つに連糸
される。
1)使用済みリスト、プロセスに割当てられたI2)リ
フレーム・リスト、自由リストに返却されるべきmme 3)自由リスト、プロセスに割当て可能な[11ωe、
 mmeが1つのリストから別のリストに移動される時
、それらのポインタは適切に更新される。
もしそれらがリスト上にないなら、それらは、恒久的に
結び付けられたページをあられすかまたは、過渡的状態
にある。記憶管理ユニット105によって使用されるm
meデータ構造は、第48B図で示す3つのリスト・ポ
インタを含み、二二で、 フラグは、 連結済み  ページが連結されている I101行中 ディスクI10が今進行中書込み   
このフレームのための最後の(または現在の)Iloが
ディスクに対する書込みであることを示す ′!!に絖済み ページが、ハードウェア・レジスタ中
にPTW (物理的テーブル・ワード〉をもつ 変更済み 変更ビットのf&終参照 未使用(2) クリーンアップ取り戻し クリーンアップするように通
知 未使用(1) 解放取り戻し このページをクリーンし、解放するよう
に通知 ページ・フォールト このページ上でpfが待っている 次のnme  次のmmeに対するppn (物理的ペ
ージ番号) 前のmLlIe  前のmmeに対するppnアドレス
 メモリ中にある間の、ディスク・アドレス aptep  このページのためのapteに対するポ
インタ 「次の」及び「前のJ l1lIn8フイールドが、連
鎖リスト(f用済み、リフレーム、自由リスト)を作成
するために使用される。
5788の物理的記憶がS/370記憶領域のために捕
獲されるとき後述のように変更されるのが、次のmme
及び酊のmmeに対する物理的ページである。好適な実
施例では、各mmeアレイ(第48CIりが128個の
ポインタのアレイであり、そのめいめいがmmeアレイ
の仮想アドレスである。
最初のn@のポインタは、全てのmaneアレイの順序
リストである。残りの128−n個のポインタは、N、
 U L Lである。このことは、128X、2MB=
266MBの実記憶を追跡する能力を与える。これらの
各ポインタは、物理ページ番号(ppn)と呼ばれる、
物理アドレスの16個の高位ビットをもち、特定の1Q
Il11eに対するポインタとして使用される。ppn
の7つの高位ビットは、m[[Ieアレイを1択し、p
pnの9つの下位ビットがそのアレイ内のmmeを選択
する。物理アドレスの12(ilの下位ビットは、記憶
16の実(物理)ページへのオフセットである。
メモリ・マツプ情報構造(第48D図)は、マツプのた
めに使用されるメモリを追跡するために使用され、ここ
で、 ma+eマツプ1nfop−I  Ml、初のmmeマ
ツプ情報構造に対するポインタ 次の+nmeマツプ1nfop次の+na+eマツプ情
報構造に対するポインタ nページ このマツプによって使用される4にページの
実メモリの番号(最大16) ページ毎(IS〉 その構造の残りは、ページ毎の情報
のアレイである。
ppn  このページのためのtntneに対する物理
的ページ番号 アクティブ・ページ・テーブル・エントリ(apte)
は、仮想記憶を追跡するために使用される。apte構
造(第48E図)は、仮想記憶の所有者と、ページの仮
想アドレスと、ページ・フォールトである場合のディス
ク・アドレスの実メモリ・アドレスを示す。
もし2つの以上のプロセスが同一の仮想空間を共有して
いるなら、その全てのプロセスは、apteトレーラ(
第48G図)によって識別され、各仮想ページ毎のap
teがそのトレーラを指し示す。
apte構造は、次のものを含む。
アドレスにいて、 実アドレス (フラグrQmeが1に割当てられている
) 4にページ ディスク・アドレス (フラグnveが0に割当てられ
ている) もしこのapteが自由リスト上にあるなら次の自由a
pteのアドレス フラグについて、 プロセス毎に 他のプロセスと共有されていない仮想ペ
ージ フォークされたページ プロセス毎に、ページがフォー
クされている cacaelJ当て済み ページが記憶をもつ待機 割
当てられ、このページを待つ I10エラー ページ上でI10エラーが生じた apte!放 I10完了時にこのapteを解放CP
Uタイプ・パッチ ブート時にページがバッチされた 悪いアドレス、再割当て エラーが、新しいアドレスを
強制した カウント このページを共有するプロセスの数vpag
e  仮想ページ番号。vpnは、27ビツトの仮想ア
ドレスのうちの最上の16ビツトからなる。
process ptr  各プロセス毎のpteのア
ドレス(もし共有された仮想メモリでないなら)または
aptトレーラのアドレス(もし共有されたメモリなら
)。
各apt9は、12バイト長であり、各アクティブ・ペ
ージ・テーブル(apt)ブロック(第48F図)中に
は256個のエントリが含まれている。
ブロック内のapteの相対的位置は、意味がない。
全ての未使用apteは、自由aptepリスト上に連
鎖される。もし追加的なapteが必要であり、リスト
がNULLであるなら、新しいaptブロックが結びあ
わされたヒープ中で割当てられる。
aptl・レーラ(第48G図)は、共有されたプログ
ラム領域のために使用され、結びあわされたシステム・
ヒープ中で割当てられ、EITE(実行可能イメージ・
テーブル・エントリ)*たはapteによって指し示さ
れる。プログラム毎に(領域毎に1つ)4つのトレーラ
が存在する。トレーラは、システムをして、六−ジが除
去されるときそのページを指し示す全てのPTWを見出
させるものである。
apt トレーラ構造は、次のものを有する。
n procs  このトレーラを使用しているプロセ
スの番号 Vベース この領域の第1の仮想ページ(領域ベースv
pn ) nページ 領域中のページの数 ユーザー トレーラ・ユーザーのビットマツプpp 1
nfo(o:nnp) この構造の残りの部分は、プロ
セス毎のアレイ情報である。
nppアレイのサイズ n ptws この時点で接続されているPTWの数a
ptep このページのAPTEに対するポインタプロ
セス・テーブル・エントリ(pte)  (第48H図
)は、プロセスを管理するために必要な情報を含む。そ
れは、そのプロセスの仮想アドレス空間についてのlf
@を含む。各ページ・エントリは、次のものを含む。
最初のpa+bポインタ このプロセスのpmbのリス
ト中の最初のpa+bに対するポインタマツプ・ルート
・テーブル物理アドレス 物理マツプの物理アドレス マツプ・ルート・ポインタ物理アドレス 物理マツプの
仮想アドレス マツプ・ル・−ト・ポインタvirt  仮想マツプ・
イメージ pdrポインタ プロセス・データ領域毎のアドレス プロセス・マツプ・ブロック構造(第48I図)は、プ
ロセスの仮想空間を実メモリ空間にマツプするために使
用され、次のものを含む。
nextp  このプロセスの次のpmbに対するポイ
ンタ ベースvpnベース仮想ページ番号、このp鴫すの最初
の仮想ページ番号(6個の下位ビットは、ゼロヒなる) マツプ・アドレス マツプの物理アドレスptne  
プロセス・マツプ・エントリ0−63、この構造の残り
の部分′は、ページ毎のアレイの情報である。このアレ
イへのインデックスは、vpnの下位6ビツトである。
フラグについて、 1IIeUi未使用(1)での使用 使用済みページの
コピーがメモリ中にある。
フェンス このページは、フェンス・ページである。
接続済み 入来した時このページを接続する書込み時コ
ピー 書き込まれた時フビーバッチ済 ページは、バッ
チされたコード・ページである。
ufence  ユーザー・フェンス・ページさらに、 aptep  このページのAPTEに対するポインタ
プロセス管理テーブル(第48J図)は、スケジューラ
によって使用される情報を含み、それには、システム中
の全てのプロセスに対するポインタptepのリストと
、システムで可屈なページの数と、関与するページの数
を含む。
第48KQの物理テーブル・ワード(ptw)は次のも
のを含む。
ael  ptwアクセス・コード ppn  所望するページの物理ページ番号ac2  
ptvアクセス・コード U   このptwは、使用されている(3)スタート
アップ手続き システム/88は、システムをパワーオンし、スタート
アップ・ファイルに含まれるプログラム及びデータ・モ
ジュールをブートするスタートアップ手続きを含む。
自動スタートアップ時、プログラム可能読み取り専用記
憶(FROM)181 (第12図)がS/88及’2
/S/370素子上で診断及び自己テストを走らせる。
このタスクの完了時、FROMI81がマスター・ディ
スク(図示しない)から5788オペレーテイング・シ
ステムをロードするユティリティ・プログラムを読む。
モジュール・スタートアップ・コードは、全てのm或さ
れた装置及びディスクを初期化し、システム・カレンダ
・クロックから内部クロックをセットする。このファイ
ルは、モジュールをスタートアップするための手続きの
一部としてオペレーティング・システムが実行するコマ
ンドを含む。この手続きは、次の機能を含む。
そのモジュールに接続されたボード、ディスク及び装置
の構成を指定するテーブル・ファイルを読み取ること、 そのシステム内のモジュールを識別すること、さまざま
なシステム・サービス・ルーチンを開始させること。
このモジュール゛ファイルは、新しいシステムを構成す
るに十分なデータを供給し、カスタマによって、その必
要条件に適合するように変更することができる。S/8
8主記憶16からS/370領tha162−164を
捕獲するために、モジュール・スタートアップ・コード
・コマンド・ファイル中にはあるステートメントが挿入
される。例えば、3つのS/370プロセツサ21.2
3と、25,27と、29.31及び、該プロセッサの
ためのS/370記憶領域162.163と164をも
つ第10図のm或を想定すると、モジュール・スタート
アップ・コード・コマンド・ファイル中には次のような
ステートメントが挿入される。
S/370プロセツサ$ I VM8メガバイト・スタ
ート S/370プロセツサ井2AIX4メガバイト・スター
ト S/370プoセツ+$3VSE 16メガハイト・ス
タート <4)S/370サービス・ルーチン 各S/370スタート・コマンドは、特定の#1、#2
または#3プロセッサのために、記憶16から実記憶空
間のブロックを「盗む」ためにソフトウェア・ルーチン
を実行させる。次に、適当なS/370オペレーテイン
グ・システムが、「盗まバた」実記憶空間中にIPLさ
れる。ソフトウェア・ルーチンの機能は、5788記憶
から記憶領域を獲得し、それらの領域を適当な時点で置
き換えることである二これらの機能を実行するために、
5つのサブルーチンが使用される。
A) このサブルーチン、S/370記憶置換は、S/
88オペレーテイング・システム・テーブルから物理記
憶のブロックを抽出する。このブロックのベース・アド
レスは、メガバイト境界上にあり、そのサイズは、メガ
バイト単位の整′Ei[である。
用法: declare S/370 displace−st
or entry(binary(15)。
binary(t5)。
binary(15))、1 call S/370 displace、−5tar
(nブロック* ppn+エラーコード); 引数−nブロック(入力)所望の連続メガバイトの数 ppn (出力〉ブロック中の実記憶の最初の下位また
は高位4にページの物理ページ番号o 1)9nの下位
8ビツトはゼロとなり、そのブロックのベース実アドレ
スは、 4096 *ppnとなる。
エラーコード(出力) 空き不十分−少なくともIMBを配置するために利用可
能な十分な連続自由ブロックがない。
過小供与−配置されたMBの数が必要量より小さい。
B) サブルーチンS/370記憶置換は、S/88オ
ペレーテイング・システム・テーブルに、物理記憶のブ
ロックを返す。
用法: declare S/370 replace−sto
r entry(binary (15L binary (15L binary (16) ) ; call S/370 replace、−5tar(
nブロック、ppnlエラーコード); 引数−nブロック(入力) 返されている連続メガバイトの数 ppn(入力) ブロックのベースの物理ベー” il 号o ppnの
8つの最下位ピットはゼロでなくてはならない。
エラーコード(出力) 自由接続不可−vO8に記憶を返そうと試みる前に、S
/370記憶クローズを使用しなくてはならない。
C)サブルーチンS/370記憶オープンは、以前に配
置された物理記憶の一部、または全てを呼び出し側の仮
想アドレス空間に接続し、その仮想ページ番号が返され
る。おのおののpte及びpmeが形成され、仮想から
実へのマツピングが確立される。そのアクセス・コード
は、「読取/書込」であり、記憶が接続される。
用法: declare S/370−open−stor e
ntry(binary(15)。
binary(15)。
binary(15)。
binary(15)) ; call S/370−open−star(nブロッ
ク。
ppn+ van。
エラーコード); 引数: nブロック(入力) 要求される連続的メガバイトの数 ppn (出力) その領域の最初の4にページの物理ページ番号。ppn
の下位8ビツトはゼロとなる。
vpn(出力) その領域の最初の4にページの仮想ページ番号。ppn
の下位8ビツトはゼロとなり、仮想アドレスは、409
6*vpnとなる。
エラーコード(出力) 返されるエラーコード D)サブルーチンS/370記憶クローズは、以前にオ
ープンされた物理記憶の一部、または全てを呼び出し側
の仮想アドレス空間から切り放す。
適切なapte及びpmeがS/88オペレーテイング
・システムに返され:おのおののpte及びp[oeが
形成され、仮想から実へのマツピングがフォールトされ
る。物理記憶はS/370配置記憶ルーチンに戻される
用法: declare S/370−close−star 
entry(binary(15)。
binary(15)。
binary(15)): call S/370−close−stop(nブロ
ック。
vpn。
エラーコード); 引数: nブロック(入力) 戻される連続的メガバイトの数 vpn (入力) 戻される領域の最初の4にページの仮想ページ番号。
エラーコード(出力〉 返されるエラーコード E)空取得は、5TART  370ルーチンによって
呼ばれるサブルーチンである。それは、上記4つのプロ
グラムを実行することができるように、5TART  
370プログラムをS/88監視モードにおく。5TA
RT  37.0が一旦監視モードにあると、S/88
オペレーテイング・システムから記憶のブロックを除去
し、記憶を各57370プロセツサに再割当てするため
に、ベクタ・ポインタを変更することができる。
このサブルーチンは、メモリ割当てを変更し、S/88
プロセツサの割り込みレベル6のマニュアル・ベクタを
変えるために使用される。カスタマは、システム・セキ
ュリティ上の理由から、この呼び出しに対する知識、ま
たはアクセスを与えられない。
用法: declare  S/373gain−freedo
m  entry(binary(15)。
binary(15)); call  S/370Jreedom(give−t
ake。
エラーコード); 引数 give−take (入力) 値Oは呼び出し側を、アプリケーション・ユーザー状態
に戻し、別の値は呼び出し側を、監視状態にセットする
エラーコード(出力) 戻されたエラー・コード 上述のサブルーチンの機能は、次のとおりである。
S/370置換記憶 1)空を獲得し、mrneアレイ自由リストをロックす
る。
2)隣接自由mmeの最大のストリングを探して自由リ
ストを検索する。
3)両端をMB境界に丸め、ス)・リング中の4KBブ
ロツクの数である、nblkを計算。
4)もしnblk > nブロックなら、nblkをn
ブロック(必要な4KBの数)にセットし、ベースpp
n境界を変更。
5)自由リストからmmeの選択したストリングを外す
6)システム商用カウントからnページを弓く。
7 ) mmeアレイ自由リストをロック解除し、空き
を供給。
8 ) ppn=ベースppn もしnblk、 < nブロックならrc=エラーもし
nブロック <=Q ならrc=エラーもしエラーなし
ならre冨O 8/370記憶置換 1)全てのエントリが接続されている訳ではないことを
チエツクし、フラグをゼロにセットし、mtne +、
適切に連鎖させる。もし問題が生じたらエラーを返す。
2)空きを獲得し、auneアレイ自由リストをロック
する。
3 ) mmeを繋ぎあわせぞための良好な位置を求め
て自由リストを検索する。
a・ベースppnの隣の最初の候補 す、リストの最後の第2の候補 4)ブロックの全体を自由リスト上に繋ぎあわせる。
5)システム商用カウント中にnpageを追加する。
6 ) mmeアレイ自由リストをロック解除し、空き
を供給する。
S/370記憶オープン 1)このプロセスのテーブル・エントリを見出し、pm
p境界上のその仮想記憶中に、MBのnブロックに十分
な大きさの穴を見付ける。その要求にサービスするのに
十分な配置されたm+neがあることを確認する。もし
問題があるならエラーを返す。
2)もし必要なら、prQb及びaptsのために、接
続された空間を割り振る。
3)構造全体をセットアツプする: mme連結及び接続済み mme、 aptep−>apte pme、 qptep−>apte 全てのフラグが適切にセットされた apte、 ptep−>pte 4)新しく構成されたpmbチエインをタスクのpmb
チエインに結び付ける。
記憶クローズ 1)このプロセスのテーブル・エントリを見出し、$o
pe’n−n−5toraによって構成されたpmbを
見出す。もし何も見付からないなら戻る。
2)これらのpmbをプロセスのpmbチエインから切
り放す。
3)各apte毎に、実記憶マツピングをフォールトす
るためにsetup−ptwを呼び出す。
4)O8に対して、pmbとapteのための連繋され
た空間を返す。
5 ) mmeを、記憶配置ルーチンに戻す。
空き獲得 1 ) give、−take引数のアドレスを取得2
)もし空きを放棄するなら、ステップ7へ行く。
以下のステップは、空きを獲得する。
3)O8に、監視状態にある間に呼び出し側に戻らせる
トラップ13を実行。
4)ユーザー・スタック・アドレスを取得して、システ
ム・スタック・ポインタとスワップS)ニー砂−・スタ
ック・ポインタ中でシステム・スタック・アドレスをセ
ーブ 6)ユーザー・スタック上で監視モードにある呼び出し
側に戻る。
以下のステップは、空きを放棄するものである。
7)セーブされたシステム・スタック・アドレスを戻し
、システム・スタック・ポインタヘスワップする。
8)ユーザー・スタック・ポインタ中でシステム・スタ
ック・アドレスを置換 9)トラップ・ハンドラがステップ11へ戻るようにス
タックを変更 10)トラップ・ハンドラへ戻る。
11)トラップ・ハンドラがO8へ戻る。
12)ユーザ・スタック上でユーザー状態にある呼び出
し側に戻る。
(6) comeの選択されたストリングを自由リスト
から外すこと FIR8T  MMEは、連鎖から外されるべきストリ
ング中の最初のl!1Illeに関連し、ベースppn
は、そのppn(物理ページ番号)を含み、LASTM
MEは、そのストリングの最後の+11meに関連する
。もしFIRST  MMEが自由リストの先頭にある
ならくその以前のmtneフィールドは、ゼロに等しい
)、自由リスト・ポインタは、LAST  MMEの次
のmmeフィールドに等しくセットされる。こうして、
LAST  MMEに絖< modeは今や自由リスト
の先頭にある。さもなければ、FIRST  MMEの
以前のnoteの次のm1110フイールドがLAST
  MMEの次のnmeフィールドに等しくセットされ
る。もしLAST  MMEに統(mme(その次のt
oo18フィールドはゼロではない)が存在するなら、
LAST  MMEに続< m+oeの以前(1) r
nmenm−ルドがFIRST  MMEのprev 
nunsフィールドに等しくセットされる。
(6)STCIに対す′る記憶ベース及びサイズの書込
み S/88 0Sから記憶が「取得」された後、それは、
構成ファイルに記述された必要条件に従いS/370プ
ロセツサ間で区画される。構成アレイは、S/370プ
ロセツサのためのベースp。
n及びnブロックを含む5788カーネル記憶中に構築
される。nブロックという用語は、記憶の連−統帥なメ
ガバイトを意味する。それは、取得された(連鎖されて
いない) moeの数を256で割った値に等しい。各
S/370プロセツサのためのEXEC370タスクが
その個々のS/88プロセツサ中で開始される時、その
タスクは、5TC1ワードをアセンブルするために、対
応するベースppn及びnブロックを使用する。このワ
ードは次に、(ローカル記憶210アドレス空間中の)
仮想アドレス007EOIFCに書き込まれ、5788
オペレーテイング・システムに透過的な5TCIレジス
タ404及び405(第32B図)の初期化を引き起こ
す。
第19A図及び第20図に関連して以前に説明した切り
放し機構21G及びBCUインターフェース論理253
は、レジスタ404及び405を初期化するために使用
される。
しかし、好適な実施例では、第32B図に示すように、
レジスタ404.405は、CB、CUクロール・デー
タ・パス223に接続されるのではなくて)WL接57
88プロセッサ・データ・バス161Dに接続される。
論理216のデコード論理280は、S/88ハードウ
エアからASをブロックしD’S A CKをプロセッ
サ62に戻すために上記仮想アドレスをデコードする。
レジスタ404.405は、STCI選択線458を介
して論理253からイネーブルされる。5TCIワード
のビット27−20は、5TCIrベース」アドレスを
形威し、ビット23−20は、57370記憶「サイズ
」値を形成する。ビット19−0はゼロである。
E24.S/370によって開始されるS/88割り込
みのための初期化機能 5788オペレーテイング・システムの知識なくS/8
8中に在社するS/370割り込みハンドラ・マイクロ
コードにS/370割り込みを指向するためのさまざま
なシナリオがある。以下その3つを説明する。
第1の方法は、S/370割り込みハンドラをS/88
オペレーテイング・システム第1レヘル割り込みハンド
ラに、そのオブジェクト・モジュールの一部としてアセ
ンブルされるように挿入することによって、S/88オ
ペレーテイングシステム・カーネルを変更するものであ
る。割り込みベクタのテーブルは、割り込みハンドラ・
アセンブ°す・ソース中に含まれ、そのベクタは、ソー
ス中で、S/370mり込みハンドラ・コードを指し示
すように変更される。
この方法は、次のようなS/88アーキテクチヤの方法
とは著しく興なる。
1)割り込みする各装置は、S/88オペレーテイング
・システムに対して、その装置と、そのバス塩と、ボー
ド・アドレスを識別するファイル中に記入されなくては
ならない。
2)第1レベルの割り込みハンドラが割り込みを受領す
る時、それは、適当なフォーマットされたスタックをセ
ットアツプし、全てのマシン状況とレジスタをセーブし
、割り込みの有効性を検証し、その割り込みを、開発者
が特別に書いた装置割り込みコードを呼び出す「第2レ
ベルの」割り込みハンドラに渡す。
3)その割り込みコードが完了した時、その割り込みコ
ードは回復環境を扱うオペレーティング・システム割り
込みハンドラに制御を渡す。
上記第1の方法は、これを全て回避する。57370割
り込みベクタをS/370割り込みルーチンを指し示す
ようにアセンブリすることによって、5788オペレー
テイング・システムによって実行される通常の割り込み
処理の全てを回避し、装置ファイルを介してS/370
を識別する必要はないのである。これは実際は、ハード
ウェアの代わりにコードが修正されているので、ソフト
ウェア切り放しである。この第1の方法は、所望の割り
込み機能を達′戒するためには最も迅速で最も安価な方
法である。しかし、この方法は、5788オペレーテイ
ング・システムのその後のリリース毎に追加的なメンテ
ナンスを要することになる。少なくともそれは、カーネ
ルの結び付けを必要とし、もし割り込みハンドラが変更
されたならS/370コードは再挿入され、割り込みハ
ンドラは再アセンブルされなくてはならない。
第1の方法は、システム・ブート後のオペレーティング
・システム割り込みハンドラの変更に関連する。第20
図のハードウェア割り込み機構の説明に関連して使用さ
れることが意図されているのがこの方法である。
この第2の方法は、S/370割り込みコードを578
8オペレーテイング・システム仮想アドレス空間に(好
適な実施例では007EOOOOの直後に)配置するこ
とと、オペレーティング・システム・カーネル割り込み
ハンドラ中の適当な割り込みベクタの変更を要する。こ
の作業は、オペレーティング・システムが初期化された
後S/370初期化ルーチンによって行なわれる(同時
に、S/370初期化ルーチンが記憶を「取得」する。
初期化ルーチンは、5788オペレーテイング・システ
ム・カーネル記憶領域を変更しているので、それは、前
記説明で記憶を「取得」するために示された様式で「空
きを獲得」する必要がある。この第2の方法は、S/8
8オペレーテイング・システム・カーネルが新しくリリ
ースされる毎にメンテナンス修正を行う必要はない。し
かし、S/370割り込みは、5788オペレーテイン
グ・システムが立ち上がって走る後でなければ機能しな
い。
第3の方法は、割り込みベクタ内容のハードウェア提供
であり、これは、S/88オペレーテイング・システム
・カーネルの変更が必要でない、すなわち、ベクタ・テ
ーブルで変更がなされないため好適な代替方法である。
この第3の方法は、S/370割り込みルーチンを既知
の読み取り専用記憶<ROS)アドレスとしてS/88
オペレーテイング・システム仮想アドレスまたはBCU
ローカル記憶中に配置することを要する。その割り込み
ルーチン・アドレスは、S/370ハードウエアに対し
て、好適にはROS中で専用でなくてはならない。この
方法を説明するために次のようなシナリオを提示してみ
る。
1)S/370 (例えば、BCU158中のDMAC
209)が割り込み要求を活動化する。
2)S/88プロセツサ・ユニット62が割り込み肯定
応答、データ・ストローブ、及びアト1ノス・ストロー
ブを活動化する。
3)BCUがデータ・パス223上に割り込みベクタ番
号(これは、分かりやすくするため全てゼロでもよいし
、ROSベクタ空間中へのオフセットでもよい)を配置
し、データ・ストローブ肯定応答を活動化する。このベ
クタ番号は、有効パリティの場合を除き、プロセッサ6
2に対しては影響を及ぼさない。
4)結局、プロセッサ62は4バイト割り込みベクタを
入手するために記憶読取サイクルを実行することになる
5)BClJは、(仮想アドレスによって)この特定記
憶アクセスを認識し、プロセッサ62を記憶のアクセス
から切り放し、(S/370  ROSからゲートされ
だ)自己の4バイト割り込みベクタを提供する。l、S
/370  ROSは、D M A、 Cに対して複数
の、必要な数だけのベクタと、ROSボード同期化など
を含む。
この方法は、S/370ハードウエアを同期化するなど
の目的でボード同期化の間の切り放しを可能ならしめる
が、追加のハードウェアを必要とする。
E25.S/88オペレーテイング・システムを変更す
ることなく空きを獲得す゛ることアプリケ−シコン・プ
ログラムが空きを獲得する、すなわち監視状態を得る方
法を記述する「S/370サービス・ルーチン開始」に
おける方法が上記で与えられた。これは、S/88オペ
レーテイング・システム・カーネルに追加すべき特殊に
OSサービス・コール「トラップ13命令」ルーチンを
書き込むことに関与する。
このトラップ13割り込みルーチンは、そのトラップ命
令の直ぐ後に続く位置でトラップを発行するプログラム
を「呼び出す」だけのものである。トラップ割り込みル
ーチンは、監視状態にあるので、そのプログラムは、監
視状態に変わることになる。アプリケーション・プログ
ラム状態を再び得るには、アプリケーション・プログラ
ムは、割り込みスタック戻りアドレスを変更してトラッ
プ13コールから、変更された割り込みスタック・アド
レスを使用して割り込みから脱出するトラップ13割り
込みコードへと戻る。この方法は、5788オペレーテ
イング・システムに割り込みルーチンを追加することに
係わる。
第2の方法は、当該O8の変更を行わない。特殊レジス
タ(図示しない)がBCU制御記憶アドレス空間中に決
定され、それは、アプリケーション・プログラムによ3
て書き込まれた時に、上記割り込みを実現するための第
3の方法を使用して新しいBCU割り込みを引き起こす
。アプリケーション割り込みルーチンは、BC1J!I
t取専用記憶(図示しない)に在社させられ、トラップ
13コードと同様に機能する。前に説明した空き獲得ル
ーチンは、トラップ13傘令を発行する代わりにBC1
J特殊レジスタに書込みを行うことを除けば、全く同一
に機能する。
E26.S/88オペレーテイング・システムを変更す
ることなく記憶を獲得(STEAL)すること この第2の空き獲得実現構成を利用することによって、
「記憶の獲得」は、S/88ソース・コードの再アセン
ブリやS/88オペレーテイング・システム・カーネル
の結合を必要としない。
自由リストの先頭のアドレスは、アプリケーション・プ
ログラムに可屈である。
さて、第49図及び第50r:IAを参照して、単一化
された及び組のユニット21.23のt源投入及び同期
化について説明する(S/88プロセツサ・ユニットは
、S/370プロセツサ・ユニットのためのサービス・
プロセッサの役目を果たす)。
(1)序論 この章は、第49図及び第50図を参照して、第7図の
組みユニット21.23などの同期についてその状態を
決定し、制御しその環境をセットするハードウェア・レ
ジスタ、ラッチ、及び論理を手短に説明するものである
さらに、単一化された及び組のユニットの初期化、同期
化及び再初期化を達成するためのマイクロコード機能に
ついて説明する。先ず、単一化および組の環境の両方に
おいて、実質的に5788プロセツサ・ユニットの初期
化及び同期化なく機能するS/88(好適な実施例)に
注目する。この動作方法は、手短にだけ説明する。さら
に、米国特許第4453215号の関連部分の説明につ
いてもここで繰り返す。
エラー・チエツクは、ユニット21の各S/88プロセ
ツサ要素60.62(第8図)がAパス42及びBパス
44を駆動するのと同時に実行される。この同時的動作
は、パス構造を駆動する前にエラー・チエツクを実現す
るプロセッサ・モジュール9中のI10ユニットと対照
的である。
プロセッサ・ユニット21は、システムのスルーブツト
にはいかなる動作の遅延も望ましくないようにタイミン
グが十分に重要であるため、このように動作する。プロ
セッサ・ユニットがバス構造を駆動している期間のチエ
ツク論理によって知らせられたエラーは、そのユニット
をして、システム・クロックの次のフェーズの間に、A
パス・エラー信号及びBパス・エラー信号の両方をXパ
ス4s上に駆動させる。
その同一の時間フェーズの間に、l1IIF中央処理装
置(例えば参照番号21)は、レベルl保守割り込みを
Xパス4S上に駆動し、それを、相手中央処理装置(例
えば、参照番号23)が受け取る。その時間フェーズの
終りに、障害装置は切り放され、相手装置からの問い合
わせに応答する以外はパス構造上にさらに信号を駆動す
ることができなくなる。この自動的切り放し動作は、A
パスまたはBバス上のアドレスまたはデータのどちらか
でエラーが検出された期間に、制御ユニットを通じてメ
モリ・ユニット18.18とR−送装置のどちらになさ
れるものであれ、読取または書込サイクルの取り消しを
保証する。さらに、その間−の動作サイクルの間のデー
タ転送は、相手障害中央処理装置のみを使用して反復さ
れる。
より詳しく述べると、比較器12f’は、処理区画12
aがAバス42から受け取る入力データを、処理区画1
2bがBバス上で受け取る入力データと比較する。それ
はまた、処理区画12aがトランシーバに印加する機能
、アドレス及びデータ信号(パリティを含む)を、処理
区画12bが発生する対応信号と比較する。区画12a
のタイミング及び制御信号は、区画12bからの対応信
号と比較される。内部制御信号のこの比較は、プロセッ
サ要素60.62の内部動作をチエツクし、障害の迅速
な検出を可能ならしめ、プロセッサ・ユニットの診断及
び保守に有用である。
比較器12fに対する1つまたはそれ以上の対応入力信
号が異なる任意の時点で、比較器は、制御段8Gに印加
される比較エラー信号を発生する。そのエラーは、デー
タ入来エラー データ外出エラー、機能エラーまたはア
ドレス・エラーの結果である。それはまた、異なるタイ
ミングまたは制御信号に起因するサイクル・エラーまた
は制御エラーでもあり得る。パリティ・チエツク回路に
よるエラーの検出は、制御段86に印加されるパリティ
・エラー信号を発生する。制vs段8Sはその比較無効
信号に応答して、次のクロック・フェーズ(N+1)で
プロセッサ・エラー信号を発生する。この動作に対する
1つの例外は、比較無効信号が読取動作の間の入力デー
タ信号の無効比較による場合に生じる。その場合、制御
段86は、次のタイミング・フェーズに関してパス・エ
ラー信号が発生されない場合にのみプロセッサ・エラー
信号を発生する。パス・エラー信号は、バス構造30に
おける障害条件を示し、それゆえ、入力データの無効比
較が、処理区画12aまたは12bではなく、パス構造
30のAバスまたはBパス部分の障害の結果であったこ
とを識別するものである。
プロセッサ・エラー信号の1つの機能は、論理回路をデ
ィスエーブルし以てユニット21の処理区画12中の全
ての動作を実質的に停止することにある。さらに、モジ
ュール9中の全ての二ニットに、I前のフェーズの間に
パス上に配置された情報を無視するように、例えば、C
Pt1バス転送を無視するように通知するために、Aパ
ス・エラー信号とBパス・エラー信号がXパス46に印
加される。Xバス46には、相手のプロセッサ・ユニッ
ト23に、モジュール中のあるユニットか障害発生エラ
ーを検出したことを通知するために、レベル1割り込み
信号が印加される。
フェーズ(N+2)の開始時点で、依然として障害信号
に応答する設86は、能動的なパス・マスク状況を終了
させる。この動作は、パス・エラー信号の終了によって
達成される。処理区画12がマスク状態から切り替わっ
た時、それは、トランシーバ中の全てのパス・ドライバ
をディスエーブルする。S/370トランシーバ13も
また、トランシーバf2eのドライバがディスエーブル
されるときはいつでも共通制御75を介してディスエー
ブルされる。
同様に、プロセッサ・エラー信号がユニット21の制御
!に1段75によって発生される時、制御設86を介す
るトランシーバ12eと、トランシーバ13もまたディ
スエーブルされる。
こうして、プロセッサ・ユニット21.23は、マスク
状態にあるときのみ、ドライバに印加されるバス・イネ
ーブル信号を発生するための必要に応じて、バス構造を
駆動することができる。
プロセッサ・エラー信号は迅速に、すなわち、次のタイ
ミング・フェーズの終了時点で、マスク状況をターンオ
フする。ユニット21の処理区画12がプロセッサ・エ
ラー信号を発生する場合、相手ユニット23の5788
処理区画は、実質的に割り込みなしで動作を統ける。プ
ロ妊ツサ、・エラー信号が書込動作の間に発生した時、
相手処理ユニット23はそのデータ転送を繰り返す。読
取動作の間にプロセッサ゛・エラーが生じた場合、相手
二ニットはメモリが後のタイミング・フェーズでバス構
造に印加する反復されたデータを読み込む。
さらに、相手ユニット23は、診断ルーチンを開始する
ために、低優先順位割り込みであるレベル1割り込みに
応答する。プロセッサ・エラーの原因が過渡的な現象で
あるように見える場合、すなわち、診断ルーチンが何ら
かの障害またはエラー条件を識別しないとき、プロセッ
サ・ユニット21は保守することなく動作へと復元する
ことができる。好適な実施例では、過渡的な障害の発生
は&l!録され、もしそれが任意に定めた回数繰り返す
なら、そのプロセッサ・ユニットはさらに診断すること
なくサービスまたは動作から電気的に離隔される。
ユニット21.23の各処理区画12は、2つの組みユ
ニットをロジクステップ同期させるために、典型的には
プロセッサ状況及び制御aSSにある論理回路を含む。
区画12は、マスク状況への遷移でロックステップ同期
化を達成する。各区画12は、信号をバス構造に駆動す
るためにはマスク状態になくてはならない。各FROM
l 81に記憶された初期化シーケンスは典型的には組
み区画を同期化させ、どちらの処理区画も初期的にはマ
スク状態にない、すなわちターン・オンされていないよ
うにすることを保証するための命令を含む。
ユニット21.23の処理区画は、初期化シーケンスで
は初期的には同期しておらず、一方がマスク状態を達成
する前の多重フェーズ・サイクルの間に、他方のユニッ
トがマスク状態を達成する。マスク状態を獲得する一方
のユニットは、他方のユニットを選択した時点でマスク
状態に持ってくるために、他方のユニットの動作のさら
なる初期化を制御する。
ユニット21の処理区画12が初期化されるとき、それ
は内部エラー・チエツク信号を打ち消し、以てパリティ
無効信号または比較無効信号がプロセッサ・ホールド信
号を発生するのを防止する。そのかわりに、区画12は
典型的にはFROM181に記憶されているテスト・ル
ーチンを実行する。こめテスト・ルーチンは、プロセッ
サ・エラー信号をもたらし得るあらゆる条件に対処する
ものである。めいめいの可能的な障害条件が生成される
とき、処理区画は、対応する**報告信号が実際に発生
されたかどうかを調べるためにテストする。以て、エラ
ー・チエツク信号が存在しないことは、そのプロセッサ
・ユニットがマスク状態を達成することを禁止し、その
結果、この論理実行ルーチンの間に発生された障害がそ
のプロセッサ・ユニットを停止させず、パス構造30に
報告されない。FROMI、81中のテスト・ルーチン
は、エラー・チエツク信号を確認して、そのプロセッサ
をして、このチエツク・ルーチンの成功裡の完了のとき
のみマスク状態をとることを可能ならしめる。
S/370プロセツ゛す・ユニット(好適な実施例)は
、典型的には、各チップ中のさまざまの要素及び論理に
対する「裏口」のアクセスを介しての初期化及びサービ
ス・プロセッサ機能に対処するハードウェアをもつ。こ
れらはよく知られているので、簡単に説明するにヒとめ
る。
同様に、自己テスト及び初期化のためのプログラム・ル
ーチンもよく知られており、詳細な説明の要はあるまい
。この章で強調されるのは、S/370またはS/88
オペレーテイング・システムに変更を気づかせることな
く典型的なS/370自己テスト及び初期化が5788
を介して達成されるところの機構である。S/370の
ための自己テスト初期化ルーチン(STIR)は、好適
な実施例では、組みユニットのS/370処理要素を同
期化させるためのルーチンとともにFROM181(第
19C図)中に配置される。それゆえ、S/88は、S
/370サービス・プロセッサとして機能する。PRO
MI 81中のS/88コードの記憶マツプされたI1
0割り振りは、あるS/88状況または別のレジスタ内
容がS/370コードの実現に必要である場合に与えら
れる。
このコードが同期化−へと向かう様式は、1次(または
マスター)相手プロセッサ・ユニット21など(3!!
正に動作しているもの)内のレジスタ・セットの記憶マ
ツプ・コピーを、2次(またはスレーブ)相手プロセッ
サ・ユニット23など(まだ適正に動作していないもの
)内のしジスタ・セットに転送することである。
同期化機構のためのS/88からS/370への結合経
路の詳細を説明する前に、第7図のモジュール9の構造
及び環境について簡単に言及しておく。S/88オペレ
ーテイング・システムの、フォールト・トレランス及び
単一システム・イメージなとの特徴は、S/88及びS
/370の何方の構造に与えられる。モジュール9は、
参照番号21なとの単一化されたS/370プロセツサ
・ユニットまたは参照番号21.23などの岨のS/3
70プロセツサ・ユニット対からなる。参照番号12、
ま゛たは12.14なとの単一または組の5788ユニ
ツトは、S/88プログラムのみを実行するためにモジ
ュール中に含めることができる。
各S/370処理ユニツトは、第7図に示すように、参
照番号85.87なとのS/370プロセツサ要素の対
と、参照番号62.64なビのS/88プロセツサ要素
対を含み、それらのプロセッサ要素対が単一の論理処理
ユニット21してロックステップで動作する。組みのユ
ニットは、完全にフォールト・トレラントで自己チエツ
ク論理処理ユニットを与えるように互いにロックステッ
プで動作する冗長デザインを形成する。
対のS/370プロセッサ要素85,87のおのおのは
、部分的に、参照番号150(第11図)のようなS/
370チツプ・セットである。
S/370チツプ・セットとその関連ハードウェアは、
S/88パス構造30との結合のため参照番号101 
(第9A図)のような5788スイタルのボードに取り
付けられる。この章では、参照番号21のような1つの
処理ユニット中のS/370チツプ・セット対は、S/
370エンテイテイと呼ばれ、参照番号60,82など
の対応5788プロセツサ要素とその関連ハードウェア
は、S/88エンテイテイと呼ばれる。S/370エン
テイテイは、S/370アプリケーシヨン・プログラム
を実行し、必要に応じて、S/88とS/370のビち
らのオペレーティング・システムも互いに気づかないよ
うに、S/88  l101!置及びプログラムを利用
するS/370コード動作を実行するために5788エ
ンテイテイを訪れる。
E27.フォールト・トレラント・ハードウェア同期化 S/88−5/370処理ユニツトのより固有且つ!要
な特徴の1つは現在処理中の相手23による参照番号2
1なとの任意の処理ユニットの自己決定同期化である。
各ユニットのS/88エンテイテイは、新しいまたはエ
ラーを生成する相手の同期化のための能力及び責任をも
つ。あるユニットの5788エソテイテイがこの責任を
もつとき、それは「マスター」と呼ばれる。そして、同
期化を受ける相手は、「スレーブ」と呼ばれる。
5788ハードウエア/フアームウエア構造は、何時同
期化が必要とされ、何がどれを同期化するのかを決定す
る。相互接続されたS/88−S/370ハードウエア
/フアームウエアは、このインテリジェンス機能を同期
化の決定の際にS788の主導に従うために利用する。
すなわち、任意の時点で、S/88は、S/8B’(ス
レーブ)エンティティが相手(マスター)との同期化を
必要とすることを決定し、その同期化はS/88スレー
ブ・エンティティが「キックオフ」された後の適当な点
へ進行するように許可され、次に、その実行は対応する
S/370エンテイテイに向き付けられる。S/370
エンテイテイは、S/370マスタ状態を抽出しその状
態を両方のS/370@手に復元するためにFROMI
 81からのコードを実行するS/88  PEによっ
て同期化される。
組みユニットのどちらか1つは、初期WL孫再導入新し
い相手の登場、または既存の2つの組みをして同期化を
喪失さ゛せるようなエラー条件からの回復(どの場合も
メンテナンス割り込みを強制する)によって必要性が生
じた場合、処理ユニットの同期化において、マスターま
たはスレーブのどちらかの役割を占めることができる。
どの場合にも、5788スレーブ・エンティティは、そ
の状況を認識して、同期化のための5788マスター・
エンティティに依存する。
S/88マスター及びスレーブ・エンティティは、メン
テナンス割り込みが生じた時点でのめいめいの状態の結
果としての個々の役割を占める。
全ての処理ユニットのS/88エンテイテイは、デフオ
ールドのマスクが確立されるまでスレーブであるとめい
めいが仮定しつつその割り込みを検出及び処理する。マ
スターは次に、ホールド・スレーブをロックステップで
キックオフし、めいめいは(割り込みからもとった時点
で)、マスターの優先使用環境を再開する。
同様に、5788エンテイテイは、プロセッサを残余の
論理から切り放し、S/370相手対内で同一の優先使
用された状態を確立するためにS/370  SP!!
能をエミュレートするべくそれらのプロセッサを使用し
、次に正常の実行環境を再確立し、S/370の相手が
ロックステップで実行を開始することを可能ならしめる
同期化を必要としない状況として、参照番号21の単一
ユニットなどの単一の処理ユニットが電源投入される場
合がある。
同期化を要する状況としては、2重化処理ユニット(例
えば21.23)がIE詠投入される場合、相手23が
正常に処理している間にユニット21が挿入される場合
、及び処理ユニット21などがその相手23中に比較障
害を検出し、回復を試みる場合がある。
S/88エンテイテイは、同期化を確立するための適当
なハードウェア設備をもつ。S/370処理区画は、ス
レーブ・エンティティをしてマスク・エンティティの全
く同じ状態に初期化されることを可能ならしめるに十分
なハードウェア及びソフトウェアをもつ。これは、読取
/書込状況レジスタ、読取可能モード・レジスタ、停止
可能クロック及びカウント・リングなどの構成を有する
。ユニット21中の正常動作S/370エンテイテイが
相手ユニット23中の対応S/370エンテイテイと同
期させられるべき時、相手のS/370エンテイテイを
その正常動作エンティティと同じ状態にすることが必要
である。この処理は、好適な実施例では、5788プロ
セツサ60.62からのキュー・セレクト・アップ。メ
ツセージを(FROMI 81中のS/370初期化及
び同期化マイクロコードの制御の下で)S7370プロ
セツサ85.87に送ることによって簡略化することが
できる。このメツセージは、ユーザー・アプリケーショ
ンが、同期化の間に、オペレーティング・システムを介
してBCU166などに対して更なるサービス要求を呼
び出すことを停止する。これはまた、全ての未完了I1
0100実行の完了を可能ならしめる。
このことは、正常動作S/370エンテイテイを、「キ
ックオフ」の時点で両方のS/370エンテイテイによ
る使用のために記憶162にコピーされた状態にもって
くる。この時点で、57370プロセツサ、S/370
キヤツシユ、DLAT及びS/370パス・アダプタ中
の全てのレジスタ、カウンタ、ポインタ及びバッファが
順序づけられたスタック中の記憶C182)にコピーさ
れる。゛その同期化処理が開始されたとき、4つの全て
の物理プロセッサは、文脈を共通スタックから4つの全
てのプロセッサにロードすることによって復元されたS
/370文脈をもっことになる。両プロセッサには、そ
のレジスタ、カウンタ及びバッファに同一の値がロード
され、次にロックステップまたは完全同期によりプログ
ラム実行を開始することになる。
S/370処理エンテイテイは、同期化のためにさまざ
まなレジスタ及びキャッシュにアクセスするための2つ
の方法を与える。その1つは、BCUローカル・データ
・バス223をバス・アダプタ154のチャネル0,1
に結合するレジスタ560.561を用いた、通常の、
ユーザーによってプログラムされた読取/書込方法であ
る。もう一方は、直列「裏口」集積サポート機能(Is
F)/ffi用サポート・インターフェース(USl)
 540.541の技法である。S/370チツプセツ
ト・サービス・プロセッサの直列インターフェース/プ
ロト:)Jl/ (I SF/US I )をエミュレ
ートすることによって、S/88エンテイテイの同期化
機構がS/370エンテイテイに接続された任意且つ全
ての機構にアクセスすることができる。1つまたはそれ
以上のS/370エンテイテイの同期化が必要であると
き、両方の方法が採用される。通常の経路は、それが存
在し、US:I経路が他方のために使用されているとき
使用される。
同期化及び初期化処理のこの部分(例えば57370エ
ンテイテイのための処理)が、S/370エンテイテイ
の存在も、それに後続されているにとも知らないS/8
8オペレーテイング・システムに対して透過的でなくて
はならない、ヒいうことに留意することは!要である。
この透過性は、S/370  I10動作に関連して前
記に説明したのヒはぼ同様の様式で達成される。すなわ
ち、第20図に関連して説明されたアドレス・デコード
論理280は、データが5788プロセツサ62と第4
9図の論理の間で転送されるべきとき毎にアドレス00
7EXXX)lセンスする。
このアドレスが論理280によってデコードされるとき
、それは、S/88プロセツサ・バス16IA、161
Dを、前記回路217.218を介してローカル・アド
レス及びデータ・バス247.223に結合する。レジ
スタ・アドレス・デコード論理562は、プロセッサ6
2とのデータ転送のために、論理回路649.650ま
たはレジスタ560,561のうち・の1つを選択すべ
く、バス247上のアドレスの下位ビットをデコードす
る。
さらに、線562.683上の割り込みは、OR回路2
92aを介して第20図の5788割り込み論理212
に指向される。その割り込み要求信号は、データがプロ
セッサ62への転送のためにS/370チツプのうちの
1つから論理549で受領されるとき、線562上で活
動化される。
、lR562上の割り込み要求は、論理650からS/
370チツプへのデータ転送の完了をプロセッサ62に
通知する。線562上の割り込み要求は、プロセッサ6
2に、プロセッサ62への転送のためにS/370チツ
プからのデータが論理549によって受け取られたこと
を通知する。その割り込みi求は、I ACKI号;6
tAli258 d 2258e上にそれぞれあられれ
るときに、!562及び563上に保持される。3つの
割り込みのベクタ番号は、第20図からのIACK信号
26’8d及び258eによってそれぞれ付勢されたと
き、論理684.666から得られる。そのベクタ番号
は、個別の割り込みハンドラ・ルーチンにアクセスする
ために処理ユニット62によって使用される。
S/370集積サポ一ト機構(I 5F)540(第4
9図)は、チップセット160上の論理に対して「裏口
」入口を与える。このISFは、チップ85及び151
−154上に集積されたユニット・サポート・インター
フェース(USI)に!!@された51iAのサポート
・バス541からなる。チップ85上のUSI542の
一部が第49図に示されている。
サポート・バス541は、次のような5つの線との直列
インターフェースをあられす。
ビット・アウト(データからチップ・セットへの)Aa
543 ビット、イン(チップ・セットからデータへの)&l5
44 アドレス・モード(制(&ll)線545シフト・ゲー
ト(制御)線646 セット・パルス(制御)$!!547 アドレス・モード、11546は、ビット・イン/ビッ
ト・アウト!543、E544上のアドレス・ビット(
高レベル)またはデータ・ビット(低レベル)の1列転
送(シフト)を通知する。ビット・イン及びビット・ア
ウト、1643.544は、チップ内部のシフト・レジ
スタ648などと、論理549.550中の外部シフト
・レジスタの閏の相互接続である。内部レジスタ548
と2つの外部レジスタ549.550のうちの1っヒの
間でシフトされるビットの数は、シフト・パルス・ゲー
ト線548に印加されるパルスの数によって決定される
セット・パルスは、チップにシフトされたばがりのアド
レスまたはデータ・パターンに基づき、チップ内部活動
を同期させるために使用される。
セット・パルスは、例えばレジスタ648中のチップ側
の情報の可用性を知らせるために、シフトの終了後活動
化される。このことは、この[1に基づく活動が、この
瞬間から開始できることを意味する。
次の例は、動作を説明するものである。特定のアドレス
・パターンにスタート機能が割当てられてなる。このア
ドレスは、各チップのレジスタ548などにシフト・イ
ンされる。“全てのアドレス・ビットが転送された時、
チップの1つのS/88・デコード551がそのアドレ
スを検出する。そのアドレス・デコードとセット・パル
スが、ゲートS62の出力におけるチップ内部スタート
・パルスを形成する。USIのチップ特定部分は、特定
チップ・デザインから得た制御及びデータ・チエインを
含む。シフト動作にって影響されない記憶要素の現在の
状況を保持するために、USI活動の開始の前に機能ク
ロックは停止されなくてはならない。予備的な必要性に
応じたクロック停止を必要とするUSIアクセスは、「
静的」であると定義する。動的アクセスまたは機能とは
、チップが動作している間に実行することができる動作
である。
セット・パルスは、チップ内部タイミングに対して機能
を同期化するために使用される。これらの機能は、アド
レス・モードIIL(アドレスまたはデータ・モード)
によって追加的にゲートされる、5ERDESレジスタ
中のアドレス・パターンまたはデータ・パターンからデ
コードされる。
それらの機能ヒは次のものである。
5ERDESへのチップ状況セット 5ERDESへのモード・レジスタ・セット5ERDE
Sからのモード・レジスタ・ロードサポート転送要求ラ
ッチ(SPR)セットプロセッサ制御al!求ラッチ(
PCR)リセット個々のチップをサポートするために必
要に応じた追加の動的機能 S/370チツプセツト内のさまざまなアドレス可能エ
ンティティに対して「裏口」アクセスを与える、ISF
の5ill直列パス541は、各チップのユニット・サ
ポート・インターフェース(USり、例えば、チップ8
5のUSI542に結合される。USI542は、8ビ
ツト・アドレス、レジスタ586と、8ピットi列/並
列化器(SERDES)648を提供する。USIアド
レス・レジスタ566は、5ERDES648が実際の
送受信機構である間に、チップのアドレスと、そのチッ
プ内のターゲット・エンティティのアドレスを受け取る
。USIはまた、シフトイン/シフトアウト機構のため
の同期化論理を与える。
S/370チツプ・セット150内の各チップは、4ピ
ツト(高位)ISF/USIアドレスを割当てられ、例
えばPE8Sと、キャッシュ・コントローラ153と、
パス・アダプタ154と、浮動小数点コプロセッサ16
1と、5TC1155は、それ(’れ2.4.6,8、
A及びBの16通値を割当てられてなる。ISF/US
Iアドレスの下位4ビツトは、下位4ピツトによってア
ドレスされる内部チップ・エンティティ (例えばレジ
スタ、機能またはチエイン)を決定する。
通信スキームは、コマンドと、ソース・チップと、宛先
チップと、そのチップ内のデータ及びターゲット・エン
ティティを識別するフィールドからなるシフト・チエイ
ン(機能チエインとも呼ばれる)からなる。シフト・チ
エインは、次のとおりである。
ビットO−7−機能/コード 8−11− ソース(制御)ユニット 12−15 − ターゲット(センス/制御)ユニット 18−23 − メツセージ/データ 24−27 − 制御(書込み)レジスタ2B−31−
センス(読取)レジスタ これらの機能チエインは、ISF/USIの直列的1!
、′Itと、そのチエインが論理549.550に及び
5ERDESレジスタ548などにシフトイン/シフト
アウトされなくてはならないという事実により、シフト
・チエインと呼ばれる。
機能チエインのコマンド°フィールドは、読取/センス
・コマンド(Fe2)の書込/制御コマンド(E 61
 )を含むことができる。機能チエインの例は次のとお
りである。
E602XX10=プロセッサ8Sのモード・レジスタ
に対する書込 ここで、E6−コマンド冨書込 ○=テストのためのPE62ソー ス・アドレス 2=PE85宛先 XX=メツセージ(データ) 1=制御されたレジスタ(モード・ レジスタ) 0−センス・レジスタ(コマンドが 「書込」であるのでなし) ここで述べている同期化を遺戒するための技法は、FR
OM181に記憶されている5788プログラム・コー
ドを使用する。そのコードは、上記4つの状況のおのお
のに関連する決定を行ない、それに従ってフラグをセッ
トする。同期化ルーチンは次に、適当な同期化または初
期化を実行するために、コードの経路を制御するように
それらのフラグを使用する。2つの例を示すと次のとお
りである。
特定のS/88ボード上のメモリが1を源障害によって
データを汚染され、その相手から初期化されるべきかど
うかの決定 特定のS/88ボードがデフオールド・マスク処理ユニ
ット(DMPU)の役割を有するべきかどうかの決定 以下の説明は、同期化機構の2つの異なる実現構成を示
すものである。その1つは、ハードウェア支援的であり
、より高速の「迅速な」処理を可能ならしめる。それは
もちろん、S/370エンテイテイ中に少なくとも1つ
の追加的な制御回路を必要とし、ある5788制御回路
をS/370「インターフェース」に物理的にさらすこ
とによって、定義された能力を超えて拡張することがで
きる。この「インターフェース」は、実際上、5788
回路の5788回路に対する「寄生的追加」である。
ここで定義されるもう1つの実現構成はマイクロコード
のみであって、S/370サービス・プロセッサのエミ
ュレーションにおいて5788プロセツサ・エンティテ
ィによってS/370同期化を扱うことを可能ならしめ
るものである。この技術は、性能及び迅速性が重要でな
いヒきに使用することができる。
(3)単一プロセッサ・ユニット21が電源投入された
(ハードウェア構成) この状況は、次の2つの条件のうちの1つによってもた
らされ得る。
1)このユニットが、を源投入またはブートの結果とし
て線につながった。
2)このユニットが、ti障害回復の結果として線につ
ながった。
どちらの場合にも、コード経路は同一である。
ユニット21のS/88エンテイテイは、その自己テス
トの°部分を実行し、初期化ルーチン(STIR)が、
関連記憶16の内容が汚染されてしまったかどうか(電
源故障状態)を決定しようと試みる。もしそうなら、5
TIRは、5TIR経路上の正常電力へと戻る。さもな
ければ、DMPUであり得る相手または共存処理ユニッ
トをもつかどうかを決定しようと試みる。もしそれがな
いなら、5TIRはDMPU責任範囲を受け持って別の
処理ユニットを同期化しようと試みる。
ユニット21のS/370エンテイテイは、単に、S/
88エンテイテイの主導に従う。このことは、S/88
  PROM181中にあるコードを実行し、正常自己
テストを完了し、次にこれが初期電源投入と電源障害回
復のどちらであるかを決定するS/88プロセツサ62
によって遠戚される。もしそれが電源投入なら、S/3
70エンテイテイは、正常の初期化を続け、次にそれが
DMPUであると仮定し、同期信号を発行しようと試み
る。その信号は、S/88プロセツサ62に対してレベ
ル6割り込みを強制するS/3701#理によってトラ
ップされる。割り込み6は、S788S788PRO(
第19A図)中のS/370同期化マイクロコードにベ
クタされる(これは、S/88アドレス空間にマツプさ
れる)。
ところで、1孫投入ブートから、S/370 PE85
は自己の5TIRを実行し、次にその同期点で実行を中
断している。この期間、S/370クロツク152もま
た、自身を初期化している。
5788レベル6割り込みサービス・サブルーチン(I
SS)(すなわち、S/370同期化マイクロコード)
は、57370サービス・プロセッサをエミュレートす
るために第44図のISF/USIを使用する。このS
Pエミュレータは、57370制御記憶171のIML
機能を呼び出すために機能ストリングを発行するが、実
際のコード転送は生じない(マイクロコードは、S/8
8PROMI 81中にある)。IMLの次のステップ
は、S/370エンテイテイ(プロセッサ8S及び87
)に同期を同報通信して、処理ユニット21をして実行
へともってくることである。IsSの@終ステップは、
割り込みから戻り、以て処理ユニットをしてIPLされ
た状態の実行を開始させることである。
S/88処理ユニツト「module−start−u
p、 cm Jの実行の一部として、エミュレートされ
たサービス・プロセッサrIPLボタン押圧」機能スト
リングがIPL機能を実行するためにS/370処理ユ
ニツトに送られ、以てディスクからS/370主記憶を
ロードする。IPLの最終ステップは、次に、位置Oに
よって指定されたアドレスに制御を渡すことである。
(B)マイクロコードのみの実現 ユニット21のS/88エンテイテイは、その自己テス
ト及び初期化ルーチン(ST I R)を実行し、次に
これが初期t*投人(I PO)と(電源障害回復(P
FR)のどちらであるかを決定することになる。もしこ
れがIPOであるなら、そのコードは、ユニット21が
単一のエンティティであると決定してオペレーティング
・システムのロード及びその「スタートアップ」ルーチ
ンの実行を進める。
もしこれがPFRであるなら、コードはその関連記憶の
完全性が損なわれているかどうかを決定する。もしそう
なら、コードはこれがIPOであるかのごとく進行する
。もしその内容が無事であることがメモリについて分か
ったなら、PFRコードは通常の再スタート・タスクを
進める。
上記どの場合も、同期化すべき相手が接続されていない
ので、同期化機能が「ダミー」動作となる。
(4)2重化された処理ユニット21.23が電源投入
される° −ハードウェア実現構成この状況は、次の2
つの条件のうちどちらかまた両方によってもたらされ得
る。
1)これらのユニットが、電源投入またはブートの結果
として線につながった。
2)これらのユニットが、電源障害回復の結果として線
につながった。
どちらの場合にも、コード経路は同一である。
ユニット21.23の5788エンティティは、そめ自
己テストの部分を実行し、初期化ルーチン(ST I 
R)が、関連記憶16の内容が破壊されてしまったかど
うかく電源故障状Iりを決定しようと試みる。もしそう
なら、5TIRは、5TIR経路上の正常電力へと戻る
。さもなければ、DMPUであり得る相手または共存処
理ユニットをもつかどうか、またはDMPUでないかど
うかをを決定しようと試みる。もしそうなら、5TIR
はDMPU責任範囲を受け持って別の処理ユニットを同
期化しようと試みる。もしそれがDMPUでないなら、
同期点へ進み、同期を待つ。
ユニット21のS/370エンテイテイは、単に、S/
88エンテイテイの主導に従う。S/88  PROM
181中にあるコードを実行するS/88エンテイテイ
は、正常自己テストを完了し、次にこれが初期vl孫投
入とtg障害回復のどちらであるかを決定する。もしそ
れが電源投入なら、S/370エンテイテイは、正常の
初期化を続け、次に同期化点へ進む。もしそれがw、源
障害回復であるなら、キャッシュが、有効であるかどう
か決定するために検査される。もしそうなら、それは、
相手のキャッシュが無効であると分かった場合に、相手
のメモリを更新する必要があるかもしれない。もし自己
のキャッシュが無効であるなら、それは、有効キャッシ
ュ内容で更新するために相手ユニットに依存しなくては
ならない。もしどちらのユニットも有効メモリを保証す
ることができないなら、それらは、対として正常it電
源投入び初期化を継続しなくてはならない。処理ユニッ
トのS/88エンテイテイが同期点に近付くにつれ、各
S/88エーンテイテイは、DMPU処理責任を引き受
けなくてはならないかどうかを決定する。もしS/88
エンテイテイがそれがDMPUであることを見出したな
ら、5788エンテイテイは、同期信号を発行しようと
試みる。
同期化信号は、S/37C1理370によってトラップ
されてS/88エンテイテイに対してレベル6割り込み
を強制する。この割り込みは、FROMI 81中のS
/370同期化マイクロコード(これは、5788アド
レス空間)にベクタされる。ところで、電源投入ブート
から、S/370(例えばPE86,87)は自己の5
TIRを実行し、次にその同期点で実行を中断している
もしこれが、電源障害回復であるなら、S/370エン
テイテイは、メモリの完全性及び同期化を保証するため
にどの程度初期化ルーチンに遡らなくてはならないかを
決定するS/88エンテイテイの処理と同様の処理を通
過する。この間に、S/370クロツク152は、自己
を初期化している。
S/370プロセツサによるS/88同期化パルスのト
ラップのための好適な機構の簡単な説明を、第20図、
第49図、及び第50図を参照して行う。
5788プロセツサは、$1570 (第50図)上に
5YNCOUT信号を発行する、ユニット23のプロセ
ッサの5788対のうちの1つによって同期化を3!虚
する。もし相手ユニットが初期化され自己テストを完了
し、破断されていないと決定されているなら、それは、
破断線571上に、5YNC0UT(it号をAND反
転ゲート573を通じてゲートするように回路572に
よって反転される信号レベルをもつ。
もとのシステム88(例えばモジュール10)において
は、同期化信号が、K577及びインバータ574を介
してユニット14の駆動S/88プロセツサの5YNC
INta580に印加された。それはまた、ユニット1
2.14の4つの全てのS/88プロセツサの「キック
オフ」を開始するために、Cパス及びインバータ576
を介してユニット12のチエツク側S/88プロセツサ
の5YNCIN!676に印加される。
改良されたS/370−3/88 (参照番号21.2
3など)ユニットにおいては、回路573の出力577
は、S/88プロセツサのキックオフを防止するために
5YNClN11580及び575から切り放される。
そのかわりに、出力577は、相手ユニッ121  (
第49tl)のBCU15s中のフリップフロップ58
2をセットするために線581を介して接続される。そ
れはまた、ユニット21中の相手側BCU (IIm示
しない)中の対応するフリップフロップをもセットする
以下の説明は、ユニット21中の単一のS/370及び
それの関連ハードウェアに関するものであるが、両方の
S/370エンテイテイが同様の様式で動作しているこ
とを理解されたい。
フリップフロップ582は、11683、OR回路29
2a及び292(第20図参照)、割り込み論理293
、及び線IPO−2を介してS/88プロセツサS2に
レベル6割り込み信号を印加する。この動作は、S/3
70によるS/88同期信号の「トラッピング」と呼ば
れる。
さて、ユニット21のS/370エンテイテイか自己テ
ストと初期化ルーチン(ST I R)を成功裡に実行
し、キックオフの用意ができていると仮定する。
他のDMAC及びBCUレベル6割り込みに関連して第
20図で説明したように、5788プロセツサe2は、
lX682上ノ同期化(SYNC)信号に応答して割り
込み肯定応答サイクルを開始する。プロセッサ62から
の肯定応答′及び優先順位レベル信号は、論理281中
でデコードされ、論理BCUパス要求がデコード論理2
81の出力283と、ゲート291と、11287と、
OR回路284を介してa190上にもたらされる。
バス・サイクルが4i191上でプロセッサ62に対し
て許可された時、それは、(SYNC11683、AS
、Ia270、及ヒテコード線283とヒもに)AND
ゲート294−4をしてIACK線258fに対して信
号を印加するようにイネーブルする。この信号は、BC
Uローカル・バス223と、ドライバ・レシーバ218
と、プロセッサ・パス161Dを介して5788プロセ
ツサ62に対して適当なベクタ番号を印加するためにベ
クタ・ビット論理584(第49図)に印加される。線
258f上の信号もまたフリップフロップ582をリセ
ットする。
S/370STIR機能が仮定のように既に完了してい
るなら、S/88プロセツサ62は、S/370同期化
のために割り込みルーチンの最初の命令にアクセスする
ためにプロセッサ62によって次に使用されるベクタ番
号を得るために読取サイクルを実行する。
同期化ルーチンの最後の命令は1.l1588(第50
図)に同期化信号を印加する同期化コマンドを発生する
この信号は、相手ユニット21.23のS/88(及び
S/370)プロセッサを、ロックステップで「キック
オフ」するために、同期化線580及び575に印加さ
れる。
5788処理ユニツト’ module−start−
up、 cm」の実・行の一部として、エミュレートさ
れたサービス・プロセッサ’ I P Lボタン押圧」
機能ストリングがユニット21.23中のS/370エ
ンテイテイに送られる。DASDアクセスなとの全IM
Lmiを実行するのではなくて、この工MLはS/88
主記憶からのI/’O処理とロードを迂回する。EXE
C370コードは既に、DASDからIPLコードをフ
ェッチしそれをS/88主記憶に配置して、IPLを待
っている。IPLの最終ステップは、次に、位置0によ
って指定されたアドレスにwI御を渡すことである。
(B)マイクロコードのみの実現構成 初期電源投入(IPO)の結果、または電源障害回復(
PFR)の結果ヒして電源投入されたPUボード。
最初に、IPOの場合を考えてみる。
IPOによってS/88ti11!良好信号が確証され
た結果、メンテナンス割り込みがS/88 P ROM
181コードを呼び出す。このコードは、ユニット2工
のS/8日エンティティを同期させて、やはりFROM
181中にあるS/370STIRを呼び出す。S/3
70STIRは、これがIPOであるので、S/88及
びそのオペレーティング・システムの機能が必要である
時に、初期化し同期化させるために十分な機能がロード
されていない、と決定する。その結果、S/370は、
さらなる動作をすることなく、オペレーティング・シス
テムのロードへと進むS/88 P R○M181へと
戻る。オペレーティング・システム初期化の一部として
、「スタートアップ」モジュールが呼び出される。この
モジュールもまた、PROM181中にあるS/370
 ST I Rヲffび出す。このとき:5TIRは、
必要な機能が利用可能であると決定し、初期マイクロコ
ード・ロード(IML)自体を同期化するためにそれら
を利用する。
第2に、PFRの場合、 5788電源良好信号がIPOにぶって確証された結果
、メンテナンス割り込みがS/88 P ROM181
コードを呼び出す。このコードは、ユニット21の57
88エンテイテイを同期させ、やはりFROMI 81
中にあるS/370STIRを呼び出す。S/370 
ST 1.Rハ、これがPFRであるので、必要な機能
が利用可能であると決定してS/370エンテイテイま
たはユニット21の同期及び初期化に進む。
(5)一方のユニット21が正常に処理している間に相
手23が挿入された (A)ハードウェア実現構成 新しいボードの挿入時に、レベル6割り込みが現在のユ
ニット21のS/88エンテイテイに通知される。その
新しい処理ユニットが5TIRを走らせているとき、現
在の処理ユニットは、レベル6割り込みを認識すること
になる。そのレベル6割り込みは、優先使用されたタス
ク環境を保管する処理に向かい、以て新しい処理ユニッ
トがつながっているかどうか判断し、そうである時、割
り込みから戻る。割り込みからの戻りa能の結果、2つ
のユニットがロックステップされた同期へと降りてきて
、優先使用されたタスクを再開する。
CB)マイクロコードのみの実現構成 新しいボードが挿入された結果として、メンテナンス割
り込みがS/88PROM181コードを呼び出す。こ
のコードは、ユニット21のS/88エンテイテイを再
同期化させ、次に、やはりPROM181中にあるS/
370STIRを呼ヒ出ス。S/370STIRは、コ
レカP F Rニ類似しているので、必要な機能は利用
可能であると決定して、ユニット21のS/370エン
テイテイの同期化及び初期化に進む。
(6)相手が比較障害を検出する (A)ハードウェア実現構成 故障の処理ユニットは、正常動作処理ユニットが強制さ
れたレベル6割り込み1とよって割り込まれる間に5T
IHに強制されることになる。レベル6割り込みサービ
ス・サブルーチンは、優先使用されたタスク環境の保存
へと赴き、新しい処理ユニットがつながっているかどう
か決定し、そうであるとき割り込みから戻る。割り込み
からの戻りの機能として、その2つのユニットは、ロッ
クステップされた同期化へと降りてきて優先使用された
タスクを再開する。障害処理ユニットがその5TIRか
ら正しく脱出することに失敗すると(例えば1度、また
は予め選択された回W!l)、正常動作処理ユニットが
、適当な時間の後、障害処理ユニットの5788部分と
そのさまざまな状況報告機能に「破断」をセットする。
CB)マイクロコードのみの実現構成 比較障害検出とボードの結果、メンテナンス割り込みは
S/88PROM181コードを呼び出す。このコード
は、ユニット21のS/88エンテイテイを再同期化し
、次に、やはりPROM181中にあるS/370ST
IRG呼び出す。
S/370STIRは、これがPFRに類似しているこ
とから、必要にS能が利用可能であると判断してユニッ
ト21のS/370エンテイテイの同期化及び初期化に
進む。さらなる比較もまた、それと同じ動作の反復−を
もたらす。予定の回数の反復の後、そのボードは永久的
に断線され、障害が報告される。
別の実施例 別の(非S/88 )フォールト・トレラント・システ
ムにおける使用 好適な実施例においては、ハードウェア・フォールト・
トレランスは、少なくとも3つの特徴をもつものとして
示される。すなわち、システムの別の要素に対してデー
タ・エラーの伝搬を生じることなく、現場で交換可能な
故障ユニットを、瞬間的に電気的に分離することと、必
要に応じてまたは要素が故障した時に要素を除去しまた
は追加するために動的再構成コードが与えられているこ
と、及びシステムの無駄なくサブシステムまたは現場で
交換可能な故障ユニットから電力を取り去ることができ
るという能力、すなわち、ホットプラグ可能性である。
そして、ユーザーは、SUaまたは性能の低下を感じる
ことはないのである。
この改良は、上記の厳密な必要条件のあるものを欠く異
なるソフトウェア・フォールト・トレラ。
ント・システムで使用すSこともできることを理解され
たい。
本願発明を適用することがてきるけれども上記の厳密な
必要条件のあるものを欠く異なる別のシステムが米国特
許ff14356550号に示されている。その米国特
許の第1図において、3つのサブシステムが互いに非同
期的に動作し8.2il化されたバスに結合されている
。そして、もし1つのサブシステムが故障したら、残り
の2つがプ。ダラム実行を続ける。全てのエラーは、本
発明ノ好適な実施例のように瞬間的ではなく、プログラ
ム中のチエツク・ポイントで決定される。
該米国特許のサブシステムとは興なる、S/370プロ
セツサなどのプロセッサは、5788に関連してここで
示したのと同様の様式でそのサブシステムに接続するこ
とができる。そして、本発明のアドレス・ストローブ(
AS)iiに関連して説明したのと同様の様式で該米国
特許のサブシステム中の選択線を使用()且つ制御する
ことにより、そのサブシステムのプロセッサを、それら
を寄生的な接続異種プロセッサのI10コントローラと
しての使用を可能ならしめるために切り放すことができ
る。
<2)S/88  I10コントローラと57370主
記憶の間のl接データ転送 好適な実施例では、キャッシュ340を(全ての有効I
10データを記憶する記憶162ではなく)ある有効I
10データの排他的記憶のために使用することができる
と仮定する(このことは、現在の典型的キャッシュ・シ
ステムにおいてそうである)。記憶162が全ての有効
I10データを記憶すると仮定されている第51図の実
施例では、I10データ転送を、 ディスク・コントロ
ーラ20なとのS/88  I10装置と、S/370
記憶182の間でより効率的な動作のために直接行うこ
とができる。
しかし、この代替実施例では、BCU 156は依然と
してS/370  I10コマンドをS/88に変換す
るために使用されなくてはならない。
そのコマンドに関連付けられたシステム370記憶アド
レスは、そのコマンドがS/88コマンドに変換されつ
つある間に、EXEC370によって5788物理的ア
ドルスに変更されなくてはならない。
記憶162からI 10!装置へのデータ転送の間に、
1つの方法は、I10動作を開始する前に記憶162に
対して、I10動作に関連するキャッシュの区画を先ず
フラッシュすることである。
I10装置から記憶162へのデータ変換の間に、I1
0動作に関連するキャッシュの区画は、I10動作を実
行する前に無効化される。
もしデータ変換が必要なら、S/88プロセツサ62内
でEXEC370によって使用されるのと同様のルーチ
ンによってそのI!l能をI10装置コントローラ中で
実行することができる。
データ変換はまた、ASCCIがらEBCDEC変換な
どのS/88 0S中の変換ルーチンを呼び出すEXE
C370アプリケーション・プロダラムによって実行し
てもよい。
(3)直接接続された対の両プロセッサの切り放し 第52図は、直!l結合されたプロセッサの対の前方が
、好ましくは、それらのプロセッサの間で、それらのオ
ペレーティング・システムに透過的な様式でコマンドま
たはデータを転送するために好適な実施例のS/88プ
ロセツサS2に関連して説明されたのと同様な様式で、
関連ハードウェアから切り放される代替実施例のための
デ−タ・フロー・を示す図である。
2つのプロセッサ840,641は、プロセッサ・パス
842.643と、ドライバ・レシーバ回路644.6
45と、共通ローカル記憶ユニット646を介して互い
に結合される。プロセッサ840及び841は、アーチ
テクチャとオペレーティング・システ、ムが同じでもよ
く異なっていてもよい。各プロセッサ640及び841
は、個別のオペレーティング・システムの制御の下での
プログラムの通常処理のための主記憶及び工/○装置を
含む自己専用のハードウェア(図示しない)をもってい
てもよい。どちらのオペレーティング・システムも、互
いのオペレーティング・システムに関連付けられている
プロセッサの存在も、それに結合されていることも知ら
ない。
この代替実施例のプロセッサ640がしかし、プロセッ
サ641にコマンドまたはデータを送るためにアプリケ
ーション・プログラムによって制御される時、プロセッ
サ640は好適には、回路644をして、プロセッサ6
40かも記憶646ヘコマンド及びデータを転送するた
めに、ローカル・パス8S2@介してパス642をロー
カル記憶646へ結合させるために論理848 ニヨっ
てデコードされる予定のアドレスをプロセッサ・アドレ
ス・パス647上に配置する。そのアドレスのデコード
はまた、転送をプロセッサ640のオペレーティング・
システムに対して透過的にするためにプロセッサ640
をその関連ハードウェアから切り放させる。
切り放し制御論理649は、プロセッサ641のための
I10コマンドまたはI10コマンドがローカル記憶8
46に転送された時、プロセッサ641に割り込みをか
ける。プロセッサ641は(そのアプリケーション・プ
ログラム割り込みハンドラを介して)そのハードウェア
がら切り放され、記憶846から、そのオペ1ノーテイ
ング・システムに透過的な様式でその主記憶(図示しな
い)にコマンドまたはデータを読み込む。もしコマンド
またはデータが変換を必要とするなら、プロセッサ64
1は、その必要な変換を実行するために記憶−860中
のエミュレーション・マイクロコードを利用する。プロ
セッサ641は次に、そのオペレーティング・システム
の制御の下で、変換されたコマンドを処理する。
尚、プロセッサ840及び641の「切り放し」が、各
プロセーツサのハードウェアに対する「再結合」が許可
される前に、記憶646との間のコマンドまたはデータ
の実質的なセグメントの連続的な転送を許可することが
できるものであることを認識されたい。このようにして
、1!i″S且っ効率的なデータ転送が速成される。
コマンドまたはデータは、プロセッサ841からプロセ
ッサ640へI!j様にして逆方向に転送され得る。コ
マンドまたはデータは、記憶651中にあるエミュレー
ション・マイクロコードによって必要とされるところで
変換することができ、変換されたコマンドは、そのオペ
レーティング・システムの制御の下でプロセッサ640
中で処理することができる。
この代替実施例は、ある!要な現点において前記好適な
実施例とは異なる。すなわち、データ転送を「開始する
」プロセッサが、「受信側」プロセッサへデータを転送
するためにそのハードウェアから切り放されるというこ
とである。この。とは、110機能(別のプロセッサへ
のコマンドまたはデータの転送)が実行されるべきとき
好適な実施例のEXEC370/ETIOに類似するア
プリケーション・プログラムに制御を渡すための追加機
能を要する。
オペレーティング・システムからアプリケーション・プ
ログラムへある170機能のための制御を転送すること
を行うための手段は、そのシステムの特性に依存する。
例えば、好適な実施例では、S/370は工10開始命
令を実行し、これはS/370プロセツサをその関連ハ
ードウェアから「切り放す」ことなく通常の様式でオペ
レーティング・システムによって処理される。
第52図の好適な実施例では、例えば、S/370プロ
セツサ640がコマンドまたはデータをプロセッサ64
0に送るとき、I10開始命令でなく選択された無効O
Pコードを使用することができる。選択されたOPコー
ドのハードウェアまたはマイクロコード・デコードは、
記憶646を介してのプロセッサ641による情報転送
のためにS/370をそのハードウェアから「切り放す
」特殊なアプリケーション・プログラムに制御を渡す。
記憶646に対して一方のプロセッサによって転送され
たデータの別のプロセッサによる上書きを防止するため
に、プロセッサ640は記憶646のある特定区画にの
み書込を行うように制御することができ、そうしてプロ
セッサ641は、その区画からしか読取を行わないよう
に制御される。プロセッサ641は記憶646の第2の
区画にのみ書込を行うことしか許可されず、プロセッサ
640は、その第2の区画からのみ読取を許可される。
プロセッサ640及び641は、それぞれ第2及び第1
の区画への書込を禁止される。
切り放し及び割り込み機構は、前記好適な実施例のS/
88プロセツサ62に関連して説明した両プロセッサ6
40及び641のオペレーティング・システムに透過的
に動作する。
エミュレーション機構は、前記好適な実施例でEXEC
370に関連して説明した様式で(ローカル記憶のマイ
クロコードによるのではなく〉アプリケーション・プロ
グラムによって実行することができる。
プロセッサ640.641の間でデータを転送するため
に割り込み機構でなくポーリング技術を使用することも
できるが、そのような技術は非効率的°であろう。
また、どちらかのプロセッサ640及び641が他方の
プロセッサのためのI10動作を実行することができる
ので、どちらのプロセッサも、他方のプロセッサのI1
0環境特性のうちのあるものを獲得することができる。
さらに、一方のブロセ・シサのあるアプリケーション・
プログラムは、どちらのプロセッサ・システムのオペレ
ーティング・システムのサービスも使用することなく、
第2のプロセッサ中の同様の、または異なるアプリケー
ション・プログラムと通信することができる。
尚、ここでは、「アプリケーション・プログラムまたは
コード」という用語が、データ処理技術分野の熟練した
当業者によって理解されているような慣用的な意味で使
用されている。すなわち、それは、典型的には、次のよ
うな点でオペレーティング・システムと異なっている。
1)アプリケーション・プログラムは、オペレーティン
グ・システムの上方に位置し、典型的には、読取、書込
、Ilo“制御、時間遅延なとのサービスのために、オ
ペレーティング・システムを呼び出さなくてはならない
2)アプリケーション、・コードは、ユーザーによって
開始され、オペレーティング・システム・サービスによ
ってロードされる。
3)オペレーティング・システムは、アプリケーション
・プログラムの記憶のページ・イン及びアウトを制御す
る。
4)オペレーティング・システムは、主記憶をアプリケ
ーション・プログラムに割り振る。しがし、その上うな
「アプリケーション」コードは、今では実行のための追
加機能を与えられている。
また、「異種」ヒいう用語は、オペレーティング・シス
テムに知られていない装置を定義するために使用されて
いる。というのは、これは、オペレーティング・システ
ムの構成テーブル中では定義されておらず、従って、オ
ペレーティング・システムはその装置に対するサービス
・ドライバをもたず、その装置を制御することができな
いからである。しかし、オペレーティング・システム・
上で走る特殊なアプリケーション・プログラムがその装
置を認識し、その装置上に特殊な制御を行うこヒができ
る。
さらに、「透過的」ヒいう用語は、オペレーティング・
システムが、そのオペレーティング・システム上で走っ
ているプロセッサに接続された異種装置に気づかない、
または、そのプロセッサによって処置が行なわれ、オペ
レーティング・システムがそのような動作を拒絶しない
ようにそれらの動作がそのオペレーティング・システム
から分iIl!されている、という意味で使用される。
F1発明の詳細 な説明したように、この発明によれば、プロセッサが動
作するオペレーティング・システムに対して異種の装置
からの、そのプロセッサに対する割り込み要求にサービ
スするための方法及び手段が提供される。
【図面の簡単な説明】
第1図は、S/370プロセツサのS/88プロセツサ
への接続を図式的に示す図、 第2図は、S/88システムに接続されたS/370シ
ステムを図式的に示す図、 第3図は、通信回線、を利用した標準的な相互接続コン
ピュータ・システムを図式的に示す図、第4図は、フォ
ールト・トレラント環境におけるS/88プロセツサの
相互接続を図式的に示す図、 第5図は、S/37 QとS/88の間でデータ交換を
行うための、S/88プロセツサの切り放しを図式的に
示す図、 第6A、6B及び6C図は、HSDIによって相互接続
された従来のIBM  システム788を図式的に示す
図、 第7図は、S/88と゛の接続によってフォールト・ト
レラントとなされ、S/370オペレーテイング・シス
テムの制御の下でS/370アプリケーシヨン・プログ
ラムを実行するS/370プロセツサを提供する本発明
の構成を図式的に示す図、 第8図は、S / 3.70とS/88の接続構成をよ
り詳細に説明するブロック図、 第9A及び第9B図は、2つのボード上にS/370と
S/88のユニットを物理的にパッケージした様子を示
す図、 第10図は、S/370プロセツサ・ユニットに提供さ
れた5788主記憶の区画を概念的に示す図、 第11図は、S/370プロセツサの、S/88への接
続を図る要素を示す図、 第12図は、第11図及びS/88のさまざまな要素を
より詳細に示す図、 第13図は、S/370パス・アダプタを図式%式% 第14A、14B図と、第15A乃至15C図は、S/
370バス・アダプタの出力チャネルの信号のタイミン
グと移動を示す図、 第16図は、S/370及びS/88プロセツサの間の
直接相互接続を図式的に示す図、第17図は、S/37
0パス・アダプタと、第16図の相互接続の間のデータ
・フローを図式的に示す図、 第18図は、4つのチャネルのうちの1つのDMACレ
ジスタを示す、Oil、 第19図は、第19A、19B、及び19C図の組合せ
を示す図、 第19A、19B、及び19C図は、S/370プロセ
ツサをS/88プロセツサ及び主記憶に櫂互接続するバ
ス制御ユニットの詳細なブロック図、 第20図は、5788プロセツサをその関連ハードウェ
アから切り放す論理と、異種S/370プロセツサから
S/88プロセツサへの割り込み要求を処理する論理の
好適な形式のブロック図、 第21図は、本発明の教示に従う、相互接続された複数
のS/370−S/88プロセツサをもつモジュールの
ための、既存の5788割り込み構造の変更を示す図、 第22.23及び24図は、S/88プロセツサの好適
な形式の読取−1書込及び割つ込み肯定応答サイクルの
タイミング図、 第25及び26図は、メイルボックス読取コマンド、キ
ュー・セレクト・アップ・コマンド、BSMi取コマン
ド及びBSM書込コマンドの間のアダプタ・バス・チャ
ネル0.1のハンドシェーク・タイミング図を示す図、 第27図は、S/370中央処理要素の好適な形式のブ
ロック図、 第28及び29図は、S/370主記憶及び制御記憶の
ある領域を示す図、 第30図は、S/370中央処理要素と、I10アダプ
タと、キャッシュ・コントローラと、記憶制御インター
フェースと、5788プロセツサ・バス及びプロセッサ
の間のインターフェース・バスを示す図、 第31図は、S/370キ゛ヤツシユ・コントローラの
好適な形式を示すブロック図、第32図は、第32A及
び32B図の組合せを示す図、 第32A及び32B図は、記憶制御インターフェースの
好適な形式を示すブロック図、第33図は、バス上のユ
ニット間のデータ転送のための5788システム・バス
・フェーズを示すタイミング図、 第34図は、対の記憶制御インターフェースの「データ
・イン」レジスタを示す部分的な図、第35rsJは、
第32B図ノF I FO中に記憶すれるコマンド及び
データ・ワードのフォーマットを示す図、 第38A乃至り図は、記憶制御インターフェース中で実
行されるS/370プロセツサ及びアダプタからの記憶
及びフェッチ・コマンドを示す図、 第37図は、プログラマの観点からの、本発明のシステ
ムの全体図を示すブロック図、第38.39及び40図
は、S/370及びS/88インターフエースと、S/
370  I10コマンド実行と、と、XEC370ソ
フトウエア及びS/370  I/○ドライバの区画の
ためのマイクロコード・デザインの好適な形式を図式的
に示す図、 第41A及び41BTyJは、EXEC370ソフトウ
ェアとS/370マイクロコードの間、及びETIOマ
イクロコードとEXEC370ソフト、ウェアの間のイ
ンターフェース及びプロトコルを概念的に示す図、 第4IC乃至418図は、BCtJローカル記憶の内容
を示す図、 第42図は、EXEC370、ETIO,S/370マ
イクロコード及びS/370−S/88結合ハードウェ
アの間のプロトコルに関連する、リンク・リスト及びキ
ューを通じてのワーク・キュー・バッファの動作を示す
図、 第43図は;典型的なS/370  I10開始命令の
実行を概念的に示す図、 第44A乃至44L図は、S/370マイクロコードと
EXEC370がS/370  I10命令を実行する
ために互いに通信するときのそれらの制御/データ・フ
ローを図式的に示す図、第45A乃至4SAG図は、B
CU内のデータ転送動作の間のBCU中のローカル・ア
ドレス及びデータ・バス上のデータ、コマンド及び状況
情報を示す図、 第46A乃至46に図は、S/88がS/370  I
10命令に応答してS/370フオーマツトでS/88
デイスク上に情報を記憶及びフェッチするディスク・エ
ミュレーション処理を示す図、 第47図は、1つの57370記憶領域を組み込むため
に一部が除去される、S/88記憶マツプ・エントリと
ともに第10図のメモリ・マツピングを示す図、 第48A乃至48 K r:EJハ、S/88物W8a
i内にS/370記憶領域を作成するために、システム
・スタートアップ及び再構成ルーチンの間に新しく与え
られたサブルーチンと対話することができるS/88の
ための仮想/物理的記憶管理の好適な形式を示す図、 第49及び50図は、S/370− S/88プロセツ
サ対と組みのユニットを同期化させるために使用される
論理のうちのあるものを示す部分的ブロック図、 第51及び52図は、本発明の他の実施例を示す図であ
る。 出順人 インターナショナル・ビジネス・マシーンズ・
コーポレーション 通信線またはLAN 従来技術 第3図 S/3707−キテクチヤ S/86フーキテクチヤ 1112図 システム・バス 515707−キテクチヤ S/88アーキテクチヤ システム/88モジユール M6^図 H3O+を介して相互接続されたモジュール(従来技術
〉1116B図 1117図 1118図 バス・アダプタ lll5図 記慣 第15A図 scuクロ・ンク                 
           1+タグ・アップecuアウト
                         
 □タグ・アップtバフファ・イン データ・バッファ・アウト        L−R−−
一〜コーjlllI6図 1@19AIm チャネル0 0MACレジスタ チャネル5 1111913図 第2011 バイト及びワードm取サイクル・タイミング(32ビツ
ト・データ傭ポート) 第22図 FCO−Fe2 D24−D3+ P2 P5 DT6−D23         0P3      
     0P3バイト及びワード書込サイクル・タイ
ミング〔る2ビツト・データ・ポート) 11123図 劃り込み1f定応答 S/370プロセツサ85 第60図 第28図 S/370制御記憶 キャッシュ制御N54 第SaW コマンド−アドレス−ワード 2 ll3 IFIFOフ n  Σ 確コ εぞ Iliぞぞぞ・ミ ぞ・ご・Σ ・トど ・ご昏
の 幽−+++  lNNM  M(イ) 寸第410
図 $4’lF図 第1NG図 @、i 5w 111144A図 $44C@ ■ CC−0,1,OR2 1N44011 1144Ei+ cc+m+: 第44G図 第44F@ S C^有効 第44H図 +CR<−5 111144に園 LM冑、um、m9込み富た幡 10@イネ一ブAt&口のV!JO龜神第44LIm 図面の浄書(内容に変更なし) 図面の浄書(内容に変更なし) 1 42S 615 +17 5788デイスク・ブロック 第46C図 読取/書込 ホーム吻アドレス レコード・ゼロ トラック中の最初のレコード 第460!1i1 11+46All S7570デイスク・エミュレーシ1ン・カウント・キ
ー・データ・フォーマットディレクトリ カウント、キー及びデータ・エミュレーシ1ノ・フォー
マット第46E図 第46H図 jIg46 図 Ip146jIIiil 第46に図 アドレス!!鵠 I想/実ソフトウェア・マツビンヴ 11148Agl メモリ・マツプ・エントリ 第a8EIIl 第480IllI アクティブ・ページ・テーブル・エントリ@48Eil
l アクティブ・ページ・テーブル・ブロックM4BF図 アクティブ・ページ・テーブル・トレーラ第48G8i
1+ プロセス萱環テーブル IFI48J図 物塩テーブル・ワード @48KII プロセス・テーブル・エントリ 111148H図 プロセス・マツプ・ブロック 1114111図

Claims (22)

    【特許請求の範囲】
  1. (1)プロセツサと、処理システムからの割り込み要求
    を複数の優先順位レベルで処理するためのルーチンを含
    むオペレーティング・システムを有するデータ処理シス
    テムにおいて、 (a)上記オペレーティング・システムに対して異種で
    あって、上記優先順位レベルのうちの1つで上記プロセ
    ッサに対する追加的な割り込み要求を開始するための手
    段を含むデータ処理装置であって、上記ルーチンは、該
    データ処理装置からの割り込み要求にサービスすること
    ができないものであるデータ処理装置と、 (b)上記処理システム中にあって、上記データ処理装
    置からの割り込み要求にサービスするための追加的な割
    り込みハンドラ・ルーチンを含むアプリケーション・プ
    ログラム手段と、 (c)上記データ処理装置からの割り込み要求の開始に
    よって有効になり、上記プロセッサを、上記オペレーテ
    ィング・システムによって認識することができない様式
    で、上記追加的な割り込みハンドラ・ルーチンへと上記
    プロセッサを指向する手段を具備する、 データ処理システム。
  2. (2)上記システムは、その後、上記プロセッサ上で上
    記オペレーティング・システムによる拒絶なく上記追加
    的な割り込みハンドラ・ルーチンを実行するように有効
    化される請求項1のデータ処理システム。
  3. (3) (a)第1のプロセッサとそれに接続されたハードウェ
    アを含み、複数の優先順位レベルで該ハードウェアから
    の全ての割り込み要求を処理するためのルーチンを含む
    第1のオペレーティング・システムで動作する第1のシ
    ステムと、 (b)上記第1のオペレーティング・システムに対して
    異種であり、上記優先順位レベルの1つで、上記第1の
    プロセッサに対して割り込み要求を開始するための手段
    を含む第2のシステムであって、上記第1のオペレーテ
    ィング・システムは、該第2のシステムからの割り込み
    要求にサービスすることができないようなものである第
    2のシステムと、 (c)上記第1のシステム中にあって、上記第2のシス
    テムからの割り込み要求にサービスするための追加的な
    割り込みハンドラ・ルーチンを含むアプリケーション・
    プログラム手段と、 (d)上記優先順位レベルの1つ上での上記第2のシス
    テムからの割り込み要求の開始によって有効になり、上
    記プロセッサを、上記オペレーティング・システムによ
    って認識することができない様式で、上記追加的な割り
    込みハンドラ・ルーチンへと上記第1のプロセッサを指
    向する手段を具備する、 データ処理システム。
  4. (4)上記システムは、その後、上記第1のプロセッサ
    上で上記第1のオペレーティング・システムによる拒絶
    なく上記追加的な割り込みハンドラ・ルーチンを実行す
    るように有効化される請求項3のデータ処理システム。
  5. (5)上記第2のシステムからの割り込み要求によって
    有効化され、上記ハードウェアから上記優先順位レベル
    の1つへの同時的な割り込み要求による、上記第1のオ
    ペレーティング・システムへのアクセスを禁止する手段
    をさらに含む、 請求項3のデータ処理システム。
  6. (6)第1のプロセッサと、主記憶及びI/O装置をも
    つ関連ハードウェアを有し、該主記憶及びI/O装置は
    、複数の優先順位レベル上で該ハードウェアからのシス
    テム割り込み要求を処理するためのルーチンを含む第1
    のオペレーティング・システムの下で動作し、該第1の
    プロセッサは、受領した各割り込み要求の処理を開始す
    るために割り込み肯定応答サイクルを実行する手段を含
    み、さらに、該割り込み肯定応答サイクルの間に有効化
    され、上記第1のプロセッサを、その割り込み信号が発
    生した優先順位レベルに割当てられた選択された割り込
    みハンドラ・ルーチンに指向する指向手段を有するデー
    タ処理装置において、 (a)異なるオペレーティング・システムの下で動作す
    る第2のプロセッサを含み、さらに上記選択された割り
    込み優先順位レベル上で上記第1のプロセッサに対する
    割り込み要求を開始するための手段を含む第2のシステ
    ムであって、上記第1のオペレーティング・システムは
    、該第2のシステムからの割り込み要求にサービスする
    ためのルーチンをもたないものである、第2のシステム
    と、 (b)上記第2のシステムからの割り込み要求の受領に
    付随して実行される割り込み肯定応答サイクルの間に有
    効となり、上記指向手段を無効にすべく上記第1のプロ
    セッサをその関連ハードウェアから切り放すための手段
    と、 (c)上記第1のシステム中にあって、上記第2のシス
    テムからの割り込み要求にサービスするための追加的割
    り込みハンドラ・ルーチンを含むアプリケーション・プ
    ログラム手段と、 (d)上記第1のプロセッサが切り放されている間に有
    効化され、上記第2のシステムからの割り込み要求にサ
    ービスする際に使用するために上記追加的割り込みハン
    ドラ・ルーチンを選択するように上記第1のプロセッサ
    に指令するための手段とを具備する、 データ処理装置。
  7. (7)上記システムは、その後、上記第1のプロセッサ
    上で上記第1のオペレーティング・システムによる拒絶
    なく上記追加的な割り込みハンドラ・ルーチンを実行す
    るように有効化される請求項6のデータ処理装置。
  8. (8)上記第2のシステムからの割り込み要求の受領と
    、上記追加的割り込みハンドラ・ルーチンの選択は、上
    記第1のオペレーティング・システムによって認識でき
    ないものである請求項6のデータ処理装置。
  9. (9)上記第1のプロセッサが各割り込み肯定応答サイ
    クルの間に予定のビット・パターンを発生し、上記切り
    放すための手段が、上記第2のシステムからの割り込み
    要求の受領の際に発生された予定のビット・パターンに
    応答して制御信号を発生するための論理手段と、該制御
    信号に応答して該割り込み肯定応答サイクルを上記ハー
    ドウェアと上記オペレーティング・システムに対して認
    識できないようにするために、上記第1のプロセッサを
    その関連ハードウェアから切り放す論理手段を有するも
    のである請求項6のデータ処理装置。
  10. (10)上記指令するための手段が、上記割り込み肯定
    応答サイクルの間に上記制御信号に応答して予定のベク
    タ値を上記第2のシステムから上記第1のプロセッサに
    転送するための手段と、上記第1のプロセッサを含み、
    該受領したベクタ値に従い上記追加的割り込みハンドラ
    ・ルーチンの最初の命令にアクセスするように動作する
    手段を有する請求項9のデータ処理装置。
  11. (11)プロセッサと、その関連ハードウェアをもち、
    それらは、複数のレベルで該ハードウェアからの割り込
    み要求を処理するためのルーチンを含むオペレーティン
    グ・システムの下で動作するものであるデータ処理シス
    テムにおいて、該オペレーティング・システムにとって
    異種であるデータ処理装置からの割り込み要求を受け取
    り処理するための方法であって、 (a)システム初期化の間に上記システム中のアプリケ
    ーシヨン・プログラム内に追加的割り込みハンドラを設
    ける段階と、 (b)上記データ処理装置から割り込み要求信号を開始
    する段階と、 (c)上記割り込み要求信号を、上記複数のレベルのう
    ちの選択した1つのレベル上で上記プロセッサに結合す
    る段階と、 (d)その外部的割り込み信号の受領に付随して、上記
    オペレーティング・システムにとって認識できない様式
    で上記異種の割り込みハンドラに分岐する段階を有する
    、 データ処理方法。
  12. (12)割り込み信号が上記選択された1つの割り込み
    レベルに同時に結合されている間に、上記ハードウェア
    から上記選択された1つの割り込みレベルに結合された
    割り込み要求に付随する上記オペレーティング・システ
    ム・ルーチンへの分岐を禁止する段階をさらに有する請
    求項11のデータ処理方法。
  13. (13)プロセッサと、その関連ハードウェアをもち、
    それらは、複数の優先順位レベルで該ハードウェアから
    の割り込み要求を処理するためのルーチンを含むオペレ
    ーティング・システムの制御下で動作するものであるデ
    ータ処理システムにおいて、該オペレーティング・シス
    テムにとって異種であるデータ処理装置からの割り込み
    要求を受け取り処理するための方法であって、 (a)システム初期化の間に、上記データ処理装置から
    の割り込み要求を処理するための追加的割り込みハンド
    ラを与える段階と、 (b)システム初期化の間に、上記追加的割り込みハン
    ドラを指し示すベクタ・アドレスを、上記オペレーティ
    ング・システムに認識できない様式で上記オペレーティ
    ング・システムのベクタ・テーブルに入力する段階と、 (c)上記データ処理装置からの割り込み要求を、上記
    優先順位レベルのうちの選択された1つのレベル上で上
    記プロセッサに結合する段階と、(d)上記データ処理
    装置からの上記割り込み要求の受領に付随して上記ハー
    ドウェアから上記プロセッサを切り放す段階と、 (e)切り放されている間に、上記プロセッサによって
    上記ベクタ・アドレスにアクセスするために、上記オペ
    レーティング・システムに認識できない様式で上記デー
    タ処理装置から上記プロセッサにアドレス・データを転
    送する段階と、 (f)上記ベクタ・アドレスにアクセスし、上記ベクタ
    ・アドレスによって指し示される上記追加的割り込みハ
    ンドラに分岐する段階を有する、データ処理方法。
  14. (14)、上記データ処理装置からの割り込み要求が上
    記選択された1つの割り込みレベルに同時に結合されて
    いる間に、上記ハードウェアから上記選択された1つの
    割り込みレベルに結合された割り込み要求に付随する上
    記オペレーティング・システム・ルーチンへの分岐を禁
    止する段階をさらに有する請求項13のデータ処理方法
  15. (15)プロセッサと、その関連ハードウェアをもち、
    それらは、複数の優先順位レベル上で該ハードウェアか
    らの割り込み要求にサービスするためのルーチンを含む
    オペレーティング・システムの下で動作し、さらに、該
    オペレーティング・システムにとって異種であり、該複
    数の優先順位レベルのうちの1つのレベル上で割り込み
    要求を開始するための手段を含むデータ処理装置をもち
    、該ルーチンは、これらの割り込み要求にサービスでき
    ないものであるタイプのデータ処理システムにおいて、 上記異種のデータ処理装置からの上記割り込み要求を処
    理するための機構が、 (a)上記プロセッサ上で走るように適合され、上記異
    種装置からの割り込み要求にサービスするための追加的
    ルーチンを含むアプリケーション・プログラム手段と、 (b)上記異種装置からの割り込み要求の開始により有
    効化され、上記プロセッサを、上記オペレーティング・
    システムによって認識することができない様式で上記追
    加的ルーチンに指向するための手段を具備する、 データ処理システム。
  16. (16)上記プロセッサがその後、上記追加的割り込み
    ハンドラ・ルーチンを実行するように有効化される請求
    項15のデータ処理システム。
  17. (17)上記異種装置からの割り込み要求の開始により
    有効化されて、上記1つの優先順位レベル上での上記ハ
    ードウェアからの割り込み要求による上記オペレーティ
    ング・システム・ルーチンに対するアクセスを禁止する
    ための手段をさらに含む請求項16のデータ処理システ
    ム。
  18. (18)プロセッサと、その関連ハードウェアをもち、
    それらは、複数の優先順位レベル上で該ハードウェアか
    らの割り込み要求にサービスするためのルーチンを含む
    オペレーティング・システムの下で動作し、さらに、該
    オペレーティング・システムにとって異種であり、該複
    数の優先順位レベルのうちの1つのレベル上で割り込み
    要求を開始するための手段を含むデータ処理装置をもち
    、該ルーチンは、これらの割り込み要求にサービスでき
    ないものであるタイプのデータ処理システムにおいて、 上記異種のデータ処理装置からの上記割り込み要求を処
    理するための機構が、 (a)上記プロセッサ上で走るように適合され、上記異
    種装置からの割り込み要求にサービスするための追加的
    ルーチンを含むアプリケーション・プログラム手段と、 (b)上記異種装置からの割り込み要求の開始により有
    効化され、上記プロセッサを、そのハードウェア及びオ
    ペレーティング・システムから分離して動作させるため
    の手段と、(c)上記プロセッサを含み、分離して動作
    されている間に、上記オペレーティング・システムによ
    って認識できない様式で上記追加的ルーチンにアクセス
    するための手段を具備する、 データ処理システム。
  19. (19)上記プロセッサがその後、上記追加的割り込み
    ハンドラ・ルーチンを実行するように有効化される請求
    項18のデータ処理システム。
  20. (20)上記異種装置からの割り込み要求の開始により
    有効化されて、上記1つの優先順位レベル上での上記ハ
    ードウェアからの割り込み要求による上記オペレーティ
    ング・システム・ルーチンに対するアクセスを禁止する
    ための手段をさらに含む請求項19のデータ処理システ
    ム。
  21. (21)(a)第1の仮想オペレーティング・システム
    の制御の下でプログラムを実行するための第1の処理装
    置及びその関連ハードウェアと、 (b)第2の仮想オペレーティング・システムの制御の
    下でプログラムを実行するための第2の処理装置及びそ
    の関連ハードウェアと、 (c)上記めいめいのオペレーティング・システムが個
    々の関連ハードウェアからの割り込み要求を処理するた
    めの個々のルーチンを含むことと、 (d)各処理装置及びその関連ハードウェアが他方の処
    理装置のオペレーティング・システムに対して異種であ
    って、他方の処理装置に対して追加的割り込み要求を開
    始するための手段を含み、該他方の処理装置に対する追
    加的割り込み要求は該他方のオペレーティング・システ
    ムによってはサービスすることができないことと、 (e)情報転送のために上記処理装置を他方の処理装置
    に直接結合するための手段と、 (f)各処理装置上で走るように適合され、他方の処理
    装置からの上記追加的割り込み要求にサービスするため
    の追加的割り込みハンドラ・ルーチンを含む個別のアプ
    リケーション・プログラム手段と、 (g)どちらかの処理装置からの追加的割り込み要求の
    開始によって有効化され、上記他方の処理装置の上記オ
    ペレーティング・システム・ルーチンのサービスの使用
    によって上記追加的割り込み要求にサービスするために
    、上記他方の処理装置をその個々の追加的割り込みハン
    ドラ・ルーチンに指向するための手段とを具備する、 データ処理システム。
  22. (22)各処理装置に接続され、受領した追加的割り込
    み要求のサービス時に有効化される、その処理装置上で
    走る個々のアプリケーション・プログラムを含み、その
    処理装置をその関連ハードウェアから非同期的に切り放
    してその処理装置を上記直接結合するための手段と、 その処理装置が切り放されている間に各処理装置及びそ
    の関連アプリケーション・プログラムによって制御され
    、その処理装置と上記直接結合するための手段の間で情
    報を交換し、以て情報が各処理装置間で直接交換できる
    ようにする手段をさらに有する、 請求項21のデータ処理システム。
JP2125648A 1989-05-17 1990-05-17 データ処理システム Expired - Lifetime JP2618071B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US353117 1989-05-17
US07/353,117 US5369767A (en) 1989-05-17 1989-05-17 Servicing interrupt requests in a data processing system without using the services of an operating system

Publications (2)

Publication Number Publication Date
JPH0374760A true JPH0374760A (ja) 1991-03-29
JP2618071B2 JP2618071B2 (ja) 1997-06-11

Family

ID=23387833

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2125648A Expired - Lifetime JP2618071B2 (ja) 1989-05-17 1990-05-17 データ処理システム

Country Status (8)

Country Link
US (1) US5369767A (ja)
EP (1) EP0398696B1 (ja)
JP (1) JP2618071B2 (ja)
AT (1) ATE155907T1 (ja)
BR (1) BR9002281A (ja)
CA (1) CA2009529C (ja)
DE (1) DE69031093T2 (ja)
SG (1) SG43767A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0644195A (ja) * 1992-03-30 1994-02-18 Internatl Business Mach Corp <Ibm> 結合式データ処理システム用の方法および装置
US9860315B2 (en) 1998-09-10 2018-01-02 International Business Machines Corporation Controlling the state of duplexing of coupling facility structures

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5561821A (en) * 1993-10-29 1996-10-01 Advanced Micro Devices System for performing I/O access and memory access by driving address of DMA configuration registers and memory address stored therein respectively on local bus
US6016531A (en) * 1995-05-26 2000-01-18 International Business Machines Corporation Apparatus for performing real time caching utilizing an execution quantization timer and an interrupt controller
US5734910A (en) * 1995-12-22 1998-03-31 International Business Machines Corporation Integrating multi-modal synchronous interrupt handlers for computer system
US6298355B1 (en) * 1996-09-20 2001-10-02 Hitachi, Ltd. Computer system
US5862308A (en) * 1996-12-03 1999-01-19 Bull Hn Information Systems Inc. Fault intercept and resolution process independent of operating system
US5926833A (en) * 1997-03-24 1999-07-20 International Business Machines Corporation Method and system allowing direct data access to a shared data storage subsystem by heterogeneous computing systems
JPH10340128A (ja) * 1997-06-10 1998-12-22 Hitachi Ltd データ処理装置及び移動体通信端末装置
JP3097648B2 (ja) 1998-02-04 2000-10-10 日本電気株式会社 情報処理装置及び情報処理方法
AU2079301A (en) * 1999-12-10 2001-06-18 Honeywell International, Inc. Two layer operating system and method for avionics software applications
US20020144010A1 (en) * 2000-05-09 2002-10-03 Honeywell International Inc. Communication handling in integrated modular avionics
US7054883B2 (en) * 2003-12-01 2006-05-30 Emc Corporation Virtual ordered writes for multiple storage devices
DE112004002315B4 (de) * 2003-12-01 2016-11-10 Emc Corp. Virtuell geordnete Schreibeinträge für Vielfach-Speichervorrichtungen
US7228456B2 (en) * 2003-12-01 2007-06-05 Emc Corporation Data recovery for virtual ordered writes for multiple storage devices
US7857701B2 (en) 2004-03-12 2010-12-28 Microsoft Corporation Silent sign-in for offline games
US7426656B2 (en) * 2004-03-30 2008-09-16 Hewlett-Packard Development Company, L.P. Method and system executing user programs on non-deterministic processors
US20060020852A1 (en) * 2004-03-30 2006-01-26 Bernick David L Method and system of servicing asynchronous interrupts in multiple processors executing a user program
US20050240806A1 (en) * 2004-03-30 2005-10-27 Hewlett-Packard Development Company, L.P. Diagnostic memory dump method in a redundant processor
JP4315057B2 (ja) * 2004-06-02 2009-08-19 ソニー株式会社 情報処理装置および情報処理方法、並びに、プログラム
US8074109B1 (en) * 2006-11-14 2011-12-06 Unisys Corporation Third-party voting to select a master processor within a multi-processor computer
EP2345278B1 (en) * 2008-08-21 2012-10-03 Telefonaktiebolaget L M Ericsson (publ) Reestablishment of the interface between mme and node b using a backoff time
CN102508731B (zh) * 2011-09-29 2013-06-12 中国航天科技集团公司第五研究院第五一三研究所 基于rs编译码的操作系统的容错启动方法
US10437591B2 (en) * 2013-02-26 2019-10-08 Qualcomm Incorporated Executing an operating system on processors having different instruction set architectures
US9058260B2 (en) * 2013-04-04 2015-06-16 International Business Machines Corporation Transient condition management utilizing a posted error detection processing protocol
JP6232945B2 (ja) * 2013-11-07 2017-11-22 株式会社リコー 画像処理装置
US9355203B2 (en) 2014-03-04 2016-05-31 International Business Machines Corporation Shared channel masks in on-product test compression system
US20160162199A1 (en) * 2014-12-05 2016-06-09 Samsung Electronics Co., Ltd. Multi-processor communication system sharing physical memory and communication method thereof
US10037150B2 (en) * 2016-07-15 2018-07-31 Advanced Micro Devices, Inc. Memory controller with virtual controller mode
US11977456B2 (en) * 2016-11-23 2024-05-07 2236008 Ontario Inc. File system framework
CN112154408A (zh) * 2018-04-12 2020-12-29 美光科技公司 重放受保护存储器块命令队列
JP7295780B2 (ja) * 2019-11-05 2023-06-21 ルネサスエレクトロニクス株式会社 半導体装置及びその動作方法
CN113986790B (zh) * 2021-02-25 2022-11-01 楚赟精工科技(上海)有限公司 数据采集高速处理系统及方法
CN113094158B (zh) * 2021-03-15 2024-07-02 国政通科技有限公司 服务的驱动调用方法、调用装置、电子设备及存储介质

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4004277A (en) * 1974-05-29 1977-01-18 Gavril Bruce D Switching system for non-symmetrical sharing of computer peripheral equipment
US4228496A (en) * 1976-09-07 1980-10-14 Tandem Computers Incorporated Multiprocessor system
US4099234A (en) * 1976-11-15 1978-07-04 Honeywell Information Systems Inc. Input/output processing system utilizing locked processors
JPS547252A (en) * 1977-06-20 1979-01-19 Hitachi Ltd Program control system
US4296466A (en) * 1978-01-23 1981-10-20 Data General Corporation Data processing system including a separate input/output processor with micro-interrupt request apparatus
US4315321A (en) * 1978-06-16 1982-02-09 The Kardios Systems Corporation Method and apparatus for enhancing the capabilities of a computing system
US4244019A (en) * 1978-06-29 1981-01-06 Amdahl Corporation Data processing system including a program-executing secondary system controlling a program-executing primary system
US4316244A (en) * 1978-11-08 1982-02-16 Data General Corporation Memory apparatus for digital computer system
US4245344A (en) * 1979-04-02 1981-01-13 Rockwell International Corporation Processing system with dual buses
US4325116A (en) * 1979-08-21 1982-04-13 International Business Machines Corporation Parallel storage access by multiprocessors
US4354225A (en) * 1979-10-11 1982-10-12 Nanodata Computer Corporation Intelligent main store for data processing systems
JPS5833972B2 (ja) * 1979-11-12 1983-07-23 富士通株式会社 計算機システム間通信方式
US4400775A (en) * 1980-02-28 1983-08-23 Tokyo Shibaura Denki Kabushiki Kaisha Shared system for shared information at main memory level in computer complex
US4368514A (en) * 1980-04-25 1983-01-11 Timeplex, Inc. Multi-processor system
US4412281A (en) * 1980-07-11 1983-10-25 Raytheon Company Distributed signal processing system
ZA821999B (en) * 1981-03-31 1983-05-25 British Telecomm Computor or processor control systems
US4533996A (en) * 1982-02-23 1985-08-06 International Business Machines Corporation Peripheral systems accommodation of guest operating systems
EP0077153B1 (en) * 1981-10-01 1987-03-04 Stratus Computer, Inc. Digital data processor with fault-tolerant bus protocol
JPS58102380A (ja) * 1981-12-11 1983-06-17 Hitachi Ltd 仮想記憶管理方法
JPS5955565A (ja) * 1982-09-24 1984-03-30 Fujitsu Ltd マルチフア−ムウエア方式
US4679166A (en) * 1983-01-17 1987-07-07 Tandy Corporation Co-processor combination
JPS6017539A (ja) * 1983-07-11 1985-01-29 Hitachi Ltd エミユレ−シヨン方式
US4591975A (en) * 1983-07-18 1986-05-27 Data General Corporation Data processing system having dual processors
US4564903A (en) * 1983-10-05 1986-01-14 International Business Machines Corporation Partitioned multiprocessor programming system
US4727480A (en) * 1984-07-09 1988-02-23 Wang Laboratories, Inc. Emulation of a data processing system
US4677546A (en) * 1984-08-17 1987-06-30 Signetics Guarded regions for controlling memory access
US4674038A (en) * 1984-12-28 1987-06-16 International Business Machines Corporation Recovery of guest virtual machines after failure of a host real machine
US4695945A (en) * 1985-02-28 1987-09-22 International Business Machines Corporation Processor I/O and interrupt filters allowing a co-processor to run software unknown to the main processor
JPS61206043A (ja) * 1985-03-11 1986-09-12 Hitachi Ltd 仮想計算機システムにおける割込制御方法
US4722048A (en) * 1985-04-03 1988-01-26 Honeywell Bull Inc. Microcomputer system with independent operating systems
US4707803A (en) * 1985-06-17 1987-11-17 International Business Machines Corporation Emulator for computer system input-output adapters
US4747040A (en) * 1985-10-09 1988-05-24 American Telephone & Telegraph Company Dual operating system computer
JPS62184544A (ja) * 1986-02-10 1987-08-12 Nec Corp 仮想計算機システム
US4912628A (en) * 1988-03-15 1990-03-27 International Business Machines Corp. Suspending and resuming processing of tasks running in a virtual machine data processing system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0644195A (ja) * 1992-03-30 1994-02-18 Internatl Business Mach Corp <Ibm> 結合式データ処理システム用の方法および装置
US9860315B2 (en) 1998-09-10 2018-01-02 International Business Machines Corporation Controlling the state of duplexing of coupling facility structures
US10491675B2 (en) 2001-10-01 2019-11-26 International Business Machines Corporation Controlling the state of duplexing of coupling facility structures

Also Published As

Publication number Publication date
DE69031093D1 (de) 1997-08-28
CA2009529A1 (en) 1990-11-17
JP2618071B2 (ja) 1997-06-11
BR9002281A (pt) 1991-08-06
DE69031093T2 (de) 1998-01-15
CA2009529C (en) 1994-07-12
ATE155907T1 (de) 1997-08-15
EP0398696B1 (en) 1997-07-23
US5369767A (en) 1994-11-29
EP0398696A3 (en) 1994-01-05
EP0398696A2 (en) 1990-11-22
SG43767A1 (en) 1997-11-14

Similar Documents

Publication Publication Date Title
JP2618075B2 (ja) データ処理システム
JPH0374760A (ja) データ処理システム
JP2618073B2 (ja) データ処理方法とシステム
JP2618072B2 (ja) 情報処理システム
JP2618070B2 (ja) データ処理システム
EP0398694B1 (en) Fault tolerant data processing system
US5369749A (en) Method and apparatus for the direct transfer of information between application programs running on distinct processors without utilizing the services of one or both operating systems
KR920008439B1 (ko) 데이타 처리 시스템과 데이타 처리 시스템에 시스템 특성을 추가로 제공하는 방법 및 그 기구
JP2618074B2 (ja) コンピュータ・システム
JP3141948B2 (ja) 計算機システム