JP2541767B2 - スマ―ト・バス制御ユニット - Google Patents

スマ―ト・バス制御ユニット

Info

Publication number
JP2541767B2
JP2541767B2 JP5259699A JP25969993A JP2541767B2 JP 2541767 B2 JP2541767 B2 JP 2541767B2 JP 5259699 A JP5259699 A JP 5259699A JP 25969993 A JP25969993 A JP 25969993A JP 2541767 B2 JP2541767 B2 JP 2541767B2
Authority
JP
Japan
Prior art keywords
bus
data
input
micro channel
output
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP5259699A
Other languages
English (en)
Other versions
JPH06208548A (ja
Inventor
アラン・ロバート・クラーク
シバラマ・クリシュナ・コダクーラ
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 JPH06208548A publication Critical patent/JPH06208548A/ja
Application granted granted Critical
Publication of JP2541767B2 publication Critical patent/JP2541767B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • 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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は一般にデータ処理システ
ム・アーキテクチャに関し、特に第1のデータ・プロセ
ッサの入出力バスを第2のデータ・プロセッサの入出力
バスに対し、データが両方のプロセッサ間で双方向に転
送されるように結合するプログラマブル入出力バス・ア
ダプタに関する。本発明は2つのデータ・プロセッサが
2種類の実質的に異なるコンピュータ・アーキテクチャ
により構成される状況に適用される。
【0002】
【従来の技術】パーソナル・コンピュータが実業界及び
自然科学分野において受入れられるにつれて、データ処
理システム間の連結性ニーズが増大しつつある。しかし
ながら、現存のデータ処理システムは、複数のコンピュ
ータ・アーキテクチャのいずれかに従い編成されてい
る。これらのコンピュータ・アーキテクチャは、しばし
ば相互に非互換であり、こうした2つの非互換のシステ
ム間の直接接続は意味のある結果を生まない。従って、
非互換のアーキテクチャを有する2つのデータ・プロセ
ッサ間のインタフェースを提供する目的で、様々な従来
システムが開発されてきた。
【0003】2つのデータ・プロセッサ間のインタフェ
ースを提供するために一般的に使用される1つの技術
は、一方のプロセッサから他方のプロセッサへのデータ
のフローをバッファリングするバッファ記憶機構を使用
する。バッファ記憶機構は双方向データ・フローを提供
する。一方のプロセッサから他方のプロセッサへのデー
タ・ブロック転送が望まれる場合、ブロックはまず第1
のプロセッサからバッファ記憶機構に転送される。次
に、データ・ブロックがバッファ記憶機構から第2のデ
ータ・プロセッサに読出される。ここで到来する全ての
データは、バッファが読出される以前にバッファ記憶機
構内に存在しなければならないため、前述の2つのデー
タ転送は同時には発生しない。これらの従来のバッファ
リング技術は、しばしば"蓄積交換(store and forwar
d)"或いは"メールボックス(mailbox)"と呼ばれる。
【0004】別の従来システムは、第1のアーキテクチ
ャを有するマスタ・コンピュータ・システムと第2のア
ーキテクチャを有するスレーブ要素との間のデータ転送
装置を提供する。こうしたシステムはBergerらによる米
国特許第5043877号 "Architecture Converter f
or Slave Elements"(1991年8月27日出願)に開
示されており、本発明においても参照される。この装置
は、第1のアーキテクチャに対応する信号を、第2のア
ーキテクチャに対応する信号に変換する変換回路を含
む。この変換回路はまた、第2のアーキテクチャに対応
する信号を、第1のアーキテクチャに対応する信号に変
換する機能も有している。
【0005】上記Bergerによるシステムは、拡張工業標
準アーキテクチャ(EISA:Extended Industry Stan
dard Architecture )バスを使用するマスタ・コンピュ
ータ・システムを使用して設計される。スレーブ要素
は、IBMから提供されるマイクロチャネルとして知ら
れるアーキテクチャを使用する。マイクロチャネルはI
BMの登録商標である。マイクロチャネル・コンピュー
タは、EISAタイプのバス・アーキテクチャとは直接
的に互換性のない32ビットのデータ転送形式を提供す
る。
【0006】EISA/マイクロチャネル変換システム
は、一般的には満足するものであるが、装置がEISA
及びマイクロチャネル・アーキテクチャにもとづき動作
するように設計される。更に、このシステムは第1のア
ーキテクチャのマスタ要素と、第2のアーキテクチャの
スレーブ要素を使用することが望まれる状況に適用され
る。マスタ/スレーブ・システム・トポロジは、EIS
A/マイクロチャネル以外のアーキテクチャの組合わせ
においては、最適なオペレーション効率を提供しない。
【0007】別の従来システムは、周辺装置をマイクロ
チャネル・タイプ・アーキテクチャ・バス・システムに
接続することを促進するように設計される集積回路チッ
プを提供する。このシステムはPlevaらによる米国特許
第4991085号"PersonalComputer Bus Interface
Chip with Multi-Function Address RelocationPins"
(1991年2月5日出願)に開示されている。全ての
機能に共通のマイクロチャネル信号及びプロトコル信号
が、単一のインタフェース・チップ上に含まれるよう
に、集積回路が区分化されたインタフェースを提供す
る。
【0008】マイクロチャネル・システムは、IBM
ATシステム・アーキテクチャなどの他のタイプのシス
テム上で使用される非コード化メモリ入出力信号とは異
なり、コード化サイクル・コマンドを使用する。IBM
ATシステム・アーキテクチャは、パーソナル・コン
ピュータの広範に使用可能なクラスにおける業界標準に
発展した。パーソナル・コンピュータに関わる多くの基
本的な周辺装置が、非コード化コマンド信号を要求す
る。これらの装置をマイクロチャネル・タイプのバスに
接続するために、周辺装置により使用され認識されるコ
マンドを提供するための、バス・ステータス信号をデコ
ードする論理が提供されなければならない。
【0009】集積回路チップは単純な周辺装置をマイク
ロチャネル・バスに接続するための有用なインタフェー
スを提供するが、チップは完全に異なるシステム・アー
キテクチャを有する2つの完全に集積化されたデータ処
理システムを接続することが望まれるシステム・アプリ
ケーションに対応して設計されていない。こうしたアプ
リケーションはこの集積回路チップの機能を超越する。
【0010】周辺装置及びホスト・コンピュータ用に設
計される別の従来システムの例が、Estrada らによる米
国特許第4855905号(1989年8月8日出願)
に述べられている。Estrada による装置は、記憶プログ
ラム命令のシーケンスを実行するデータ処理要素を含む
入出力制御装置である。記憶プログラム命令は、特定の
入出力装置とホスト・コンピュータとの間のデータ転送
を制御する。しかしながら、上記Pleva特許に関連して
前述された時と類似の理由により、Estradaによる装置
は、異なるバス・アーキテクチャを使用する2つの完全
に集積化されたデータ処理システムを接続することが望
まれる状況には適応しない。
【0011】2つの異なるデータ処理システムを相互接
続するための1つの技術が、Anthony、Jr.らによる米
国特許第4709328号"Composite DataProcessing
System Using Multiple Standalone Processing Syste
m"(1987年11月24日出願)に述べられている。
このAnthony のシステムでは、各個々のデータ処理シス
テムのアドレス空間内の共用デュアル・ポート・メモリ
領域を使用することにより、データ処理システムを単一
の複合システムに相互接続する。各データ処理システム
が他のシステムを制御可能なように、仮想チャネルが割
込み生成用に使用される。各データ処理システムはスタ
ンドアロン・プログラムを実行する機能を有する。
【0012】上記Anthony による装置は、ホスト・プロ
セッサに結合されるチャネル・バスを含む。チャネル・
バスは、入出力データ及びコマンドをホスト・プロセッ
サと入出力ハードウェア・アダプタにより制御される複
数の入出力装置との間で転送するために、複数の入出力
ハードウェア・アダプタに接続されるように適応され
る。仮想チャネル・アダプタはホスト・プロセッサから
チャネル活動化信号を受信し、チャネル活動化信号に応
答して制御信号を生成する。
【0013】上記Anthony による装置の目的は、比較的
複雑な事務用タイプのホスト・コンピュータ・システム
を、基本パーソナル・コンピュータ補助システムに接続
するための技術を提供する。こうしたパーソナル・コン
ピュータ・システムは、しばしば、PC、XT、及びA
Tシステムとして一般に知られる3つの比較的単純な入
出力バス構造の1つを使用する。このようにパーソナル
・コンピュータは、ホスト・コンピュータのための複数
の機能を実行するために使用可能である。しかしなが
ら、上記Anthony によるシステムは、比較的複雑な非同
期のバス構成を使用するマイクロチャネル・システムに
関連しては、好適には適応しない。
【0014】マイクロチャネル・システムは重要な性能
的利点を提供し、従来のPC、AT、及びXTシステム
に比較した場合、特に特定のタイプのシステム・アプリ
ケーションに好適である。マイクロチャネル環境などの
比較的複雑なアーキテクチャに適応可能であり、2つの
異なるデータ処理システムを相互接続するための技術が
望まれる。
【0015】現存のマイクロチャネル処理システムは、
命令を実行するプレーナ・プロセッサをメモリ装置と一
緒に含む。マイクロチャネル通信リンクは、プレーナ・
プロセッサと、SCSIバス或いはローカル・エリア・
ネットワーク・ポートなどの1個或いは複数の通信ポー
トとの間のインタフェースを提供する。1個或いは複数
のマイクロチャネル入出力アダプタは、マイクロチャネ
ル通信リンクと関連して使用される。
【0016】マイクロチャネル環境に適用可能な現存の
技術は、最適な効率及び速度を提供しない。これは多く
のタスクが、マイクロチャネル・プレーナ・プロセッサ
に委託されていることによる。これらのタスクには、I
BM System S/390の入出力チャネル及び
制御ユニット・エミュレーションが含まれる。プレーナ
・プロセッサによるこれらのタスクの実行は、マイクロ
チャネル・システム性能を大幅に低下させる。
【0017】
【発明が解決しようとする課題】従って、プロセッサ間
のインタフェースを提供する改良されたシステムが必要
とされる。このインタフェースは2つのプロセッサ間に
おいて、現存のシステム・トポロジに比較して、より高
速なデータ転送レートを提供しなければならない。ま
た、多重、並行、独立なプロセッサ間オペレーションを
可能とする改良されたインタフェース機構が望まれる。
このインタフェースは、マイクロチャネルのプレーナ・
プロセッサがより効率的に使用されるように、チャネル
及び制御ユニットをエミュレートする機能を含まねばな
らない。
【0018】
【課題を解決するための手段】本発明によれば、入出力
制御機能を実施する新たな改良されたスマート・バス制
御ユニットが提供される。本発明は2つのデータ処理シ
ステムの関係において使用される。第1のデータ処理シ
ステムは、マイクロチャネル・アーキテクチャ及びマイ
クロチャネル・バスを使用する。入出力装置をマイクロ
チャネル・バスに接続するために、1個或いは複数のマ
イクロチャネル入出力アダプタがマイクロチャネル・バ
スに接続される。第2のデータ処理システムは、マイク
ロチャネル・システムと非互換のアーキテクチャを有す
るバスを含む。
【0019】本発明のスマート・バス制御ユニットは、
第1のデータ処理システムを第2のデータ処理システム
にインタフェースするためのインタフェース手段を含
む。このインタフェース手段は、マイクロチャネル・バ
スを第2のデータ処理システムのバスに接続する。ま
た、スマート・バス制御ユニットが1個或いは複数のマ
イクロチャネル入出力アダプタを直接アクセスすること
を可能とする、アクセス手段が提供される。このアクセ
ス手段は、複数のマイクロチャネル入出力アダプタ・コ
ンポーネントに直接アクセスすることのできるマイクロ
プロセッサを含む。このように、マイクロチャネル・ア
ーキテクチャを使用するデータ処理システムが、他のタ
イプのデータ処理システムと共に使用される。こうした
他のタイプのシステムには、IBM System/3
90などが含まれる。
【0020】本発明の実施例では、スマート・バス制御
ユニットが、少なくとも1個の入出力アダプタを含むマ
イクロチャネル・バスのオペレーションを制御する制御
手段を含む。この制御手段は、アクセス手段に含まれる
マイクロプロセッサ装置により実行されるマイクロコー
ド命令を含む。マイクロコード命令は、入出力アダプタ
或いはマイクロチャネル・バスに関する、少なくとも1
つの入出力機能を提供する。マイクロコードは、スマー
ト・バス制御ユニットに1個または複数のチャネル機能
を独立に実行させることにより、独立型のバス制御ユニ
ット・オペレーションを提供する。このようにアダプタ
・アクセス手段は、複数の入出力アダプタ間で効率的な
データ転送を提供する。
【0021】本発明の別の実施例では、RISCタイプ
のマイクロプロセッサ装置を使用する。単一の専用の制
御カードがマイクロチャネル入出力アダプタとして使用
される。こうした制御カードは、マイクロチャネル・プ
レーナ・データ・プロセッサに対して、追加設置される
入出力アダプタをサポートする能力を提供する。これら
の入出力アダプタは、マイクロチャネル・システムなど
の第1のデータ処理システム107の入出力バス機能を
オペレートする手段を含む。アクセス手段は、マイクロ
チャネル・バス・マスタ・アクセス装置及び以前に構築
されたサブシステム制御ブロック(以降では"SCB(S
ubsystem Control Block)" と呼ぶ)プロトコルを使用
して動作する。スマート・バス制御ユニットはマイクロ
チャネルSCBアーキテクチャをサポートして、アダプ
タ間におけるピア・ツー・ピア(peer-to-peer)通信を
可能とする。
【0022】バス・マスタ・アクセス装置或いはインタ
フェース手段は、カスタム集積回路チップ・セットを含
んでもよい。本発明はまた、ESAアドレス指定モード
をサポートするアドレス指定手段を含む。32ビットの
データ・ストリームが提供される場合、最大40メガバ
イト/秒のデータ転送レートがマイクロチャネル上にお
いて可能となる。
【0023】
【実施例】図1は本発明のスマート・バス制御ユニット
112の動作環境を表すハードウェア・ブロック図であ
る。スマート・バス制御ユニット112は、第1のデー
タ処理システム107と第2のデータ処理システム10
1との間のインタフェースとして機能する。第1のデー
タ処理システム107はマイクロチャネル・アーキテク
チャを使用し、マイクロチャネル103及びマイクロチ
ャネル105を含む。マイクロチャネル・システムの基
本動作は、当業者にはよく知られている。マイクロチャ
ネルはIBMの登録商標である。第2のデータ処理シス
テム101は、マイクロチャネル・プロトコルと非互換
なアーキテクチャを使用する。
【0024】第1のデータ処理システム107の各マイ
クロチャネル103、105は、マイクロチャネル・バ
スを含む。例えばマイクロチャネル103はマイクロチ
ャネル・バス#1(参照番号118)を使用し、マイク
ロチャネル105はマイクロチャネル・バス#2(参照
番号120)を使用する。各マイクロチャネル・バス1
18、120は、プレーナ・プロセッサ122及び1個
または複数の入出力アダプタ128に接続される。プレ
ーナ・プロセッサ122はメモリ126で示される電子
メモリを提供される。各入出力アダプタ128は入出力
装置130、131、132を接続するように設計され
る。
【0025】第2のデータ処理システム101は中央処
理ユニット(CPU)102、及びメモリ・ユニット1
04を含む。CPU102は入出力バス#1(参照番号
106)、入出力バス#2(参照番号108)及び入出
力バス#3(参照番号110)などで示される1個また
は複数の入出力バスに接続される。入出力バス#1、#
2及び#3(それぞれ106、108及び110)は、
マイクロチャネル・アーキテクチャと物理的及び論理的
に非互換なプロトコルを使用する。
【0026】本発明の実施例では、第2のデータ処理シ
ステム101はIBM S/390システムであり、入
出力バス#1、#2及び#3は、S/390システムの
オペレーションに一致して体系化される情報を伝達す
る。IBM S/390システムの基本的な全てのオペ
レーションが、当業者には一般に知られている。
【0027】本発明のスマート・バス制御ユニット11
2(図1)は、第1及び第2のデータ処理システム10
7、101間における通信を可能とする。IBM S/
390 入出力バス#1(106)、#2(108)ま
たは#3(110)と、マイクロチャネル・バス118
または120との間の直接接続は可能ではない。これは
S/390バスが、マイクロチャネル・バスと異なるラ
イン数を有することによる。更にIBM S/390シ
ステムは、アドレス情報、転送長及びデータを受渡す選
択サイクル及びデータ・サイクルの概念に従う。従っ
て、一方のデータ処理システム(すなわち第1のデータ
処理システム107)から他方のデータ処理システム
(すなわち第2のデータ処理システム101)へデータ
を転送する以前に、データを再フォーマット或いは再編
成することが必要となる。
【0028】マイクロチャネル103、105入出力技
術の最近の発展により、IBM S/390システム1
01とマイクロチャネル103、105システムとをイ
ンタフェースするために、スマート・バス制御ユニット
112を使用することは、特に有利である。マイクロチ
ャネル103、105をIBM S/390データ処理
システム101に結合することにより、比較的コンパク
トで低コストな集積データ処理システムが提供される。
スマート・バス制御ユニット112は、IBMS/39
0コンピュータの現在体系化されている全てのアドレス
指定モードをサポートする一方で、S/390入出力命
令の処理を可能とする。
【0029】スマート・バス制御ユニット112は、マ
イクロチャネル103或いはマイクロチャネル105な
どの第1のデータ処理システム107と、第2のデータ
処理システム101とをインタフェースするためのイン
タフェース手段を含む。各スマートバス制御ユニット1
12は、入出力バス#1(106)、入出力バス#2
(108)、或いは入出力バス#3(110)などの入
出力バスに接続される。各スマートバス制御ユニット1
12は、マイクロチャネル・バス#1(参照番号11
8)或いはマイクロチャネル・バス#2(参照番号12
0)などのマイクロチャネル・バスを介して、マイクロ
チャネル103、105とインタフェースする。入出力
バス#1(106)、入出力バス#2(108)、入出
力バス#3(110)、マイクロチャネル・バス#1
(参照番号118)及びマイクロチャネル・バス#2
(参照番号120)の各々は、アドレス情報、制御情
報、及びデータを転送するための複数のラインを含む。
【0030】スマート・バス制御ユニット112は、マ
イクロチャネル118を介して1個または複数のマイク
ロチャネル入出力アダプタ128をアクセスするための
アクセス手段を含む。このアクセス手段は、複数のマイ
クロチャネル入出力アダプタ128コンポーネントを直
接アクセス可能なマイクロプロセッサを含む。このよう
に、マイクロチャネル103或いは105などのマイク
ロチャネル・アーキテクチャを使用するデータ処理シス
テムが、IBM S/390などの他のタイプのデータ
処理システムと共に使用される。
【0031】スマート・バス制御ユニット112は、少
なくとも1個の入出力アダプタ128及びマイクロチャ
ネル・バス118または120を制御する制御手段を含
む。この制御手段は、アクセス手段に含まれるマイクロ
プロセッサ206装置により実行されるマイクロコード
命令を含む。マイクロコード命令は、入出力アダプタ1
28或いはマイクロチャネル・バス118または120
の少なくとも1個の入出力機能の性能を提供する。
【0032】マイクロコードは、スマート・バス制御ユ
ニット112が1個または複数のチャネル機能を独立に
実行することを可能とすることにより、独立型のバス制
御ユニット112オペレーションを提供する。全てのI
BM S/390チャネル機能は、スマート・バス制御
ユニット112に関連して実行されるマイクロコードに
より達成される。独立で並行なプレーナ・プロセッサ1
22オペレーションが可能となり、マイクロチャネル1
03、105のトラフィックを最小化し、マイクロチャ
ネル103、105が比較的高効率に動作する。マイク
ロコードは1つの共通のハードウェア・プラットフォー
ム上で構成され、マイクロコードにより実行される機能
は、スマート・バス制御ユニット112とプレーナ・プ
ロセッサ122との間に割当てられる。マイクロコード
は比較的柔軟であり、今後開発される予定のIBM S
/390制御ユニットの他のタイプのエミュレーション
を可能とする。このように、アダプタ・アクセス手段は
複数の入出力アダプタ128間における効率的なデータ
転送を提供する。
【0033】本発明の別の実施例は、RISCタイプの
マイクロプロセッサ装置を使用する。スマート・バス制
御ユニット112は、単一の専用の制御カード上に製作
される。こうした制御カードの使用は、マイクロチャネ
ル・プレーナ・データ・プロセッサ122に、複数の入
出力アダプタ128の設置をサポートする能力を提供す
る。スマート・バス制御ユニット112は、例えばIB
M S/390などのデータ処理システムの入出力バス
106、108、110機能をエミュレートするエミュ
レーション手段を含む。スマート・バス制御ユニット1
12のアクセス手段は、マイクロチャネル・バス・マス
タ・アクセス装置と、以前に体系化されているサブシス
テム制御ブロック(以降"SCB"と呼ぶ)プロトコルを
使用して動作する。スマート・バス制御ユニット112
はマイクロチャネルSCBアーキテクチャをサポートす
ることにより、入出力アダプタ128間、或いは同一の
マイクロチャネル103、105上に存在する他のスマ
ート・バス制御ユニット112間におけるピア・ツー・
ピア通信を可能とする。
【0034】バス・マスタ・アクセス装置或いはインタ
フェース手段は、カスタム集積回路チップ・セットを含
む。本発明はまたIBM S/390 ESAアドレス
指定モードをサポートするアドレス指定手段を含む。3
2ビットのデータ・ストリームが提供され、最大40メ
ガバイト/秒のデータ転送レートがマイクロチャネル上
で可能となる。
【0035】図2は図1のスマート・バス制御ユニット
112のハードウェア・ブロック図である。スマート・
バス制御ユニット112は第1のバス・インタフェース
202、第2のバス・インタフェース204、マイクロ
プロセッサ206、及びメモリ208を含む。
【0036】本発明の実施例では、第1のデータ処理シ
ステム107、バス・インタフェース202は、インテ
ル社のマイクロチャネル・バス・マスタ・チップ・セッ
ト(部品番号82325)を使用して実施される。第2
のバス・インタフェース204はIBM S/390シ
ステムとインタフェースするように設計される。マイク
ロプロセッサ206は、インテルI80960CAマイ
クロプロセッサ集積回路などのRISCプロセッサであ
る。メモリ208はEPROMメモリ210、フラッシ
ュ・メモリ212、ダイナミック・ランダム・アクセス
・メモリ(DRAM)214、及びスタティック・ラン
ダム・アクセス・メモリ(SRAM)216を含む。
【0037】第1のバス・インタフェース202は64
バイト容量のローカル・レジスタ245、及びデータ転
送用のDMAチャネル(DMAC)247を含む。DM
AC247は32ビットのシステム・アドレス・レジス
タ(CSAR)249、24ビットのバイト・カウント
・レジスタ(CBCR)251、24ビットのローカル
・アドレス・レジスタ(CLAR)253、24ビット
のリンク式リスト・ポインタ(CLLP)255、8ビ
ット制御レジスタ(CCR)257、8ビット・ステー
タス・レジスタ(CSR)259、及び割込みマスク・
レジスタ(IMR)261を含む。第1のバス・インタ
フェース202はまたDMAP機能901を含む。DM
AP機能901はシステム・アドレス・レジスタ(PS
AR)903、データ・レジスタ(DATA)905、
制御レジスタ(PCR)907、及びステータス・レジ
スタ(PSR)909を含む。DMAC247機能及び
DMAP901機能の目的は、図6乃至図14に関連し
て詳細に述べられる。
【0038】第2のバス・インタフェース204は、第
2のデータ処理システム101とマイクロチャネル10
3、105(図1)との間における全てのS/390メ
ッセージ及びデータ転送のための移送機構を提供する。
第2のバス・インタフェース204は、2個の内部64
バイト・ピンポン・バッファ241、243、及び高優
先DMAポート301を含む。全てのメッセージ及びデ
ータ転送は、スマート・バス制御ユニット112により
実行される。第2のデータ処理システム101からのデ
ータ転送は、スマート・バス制御ユニットのDRAM2
14またはSRAM216(図2)に向けられる。これ
らのデータ転送は、別のスマート・バス制御ユニット1
12、入出力アダプタ128、或いはプレーナ・メモリ
126などの別のマイクロチャネル103、105装置
(図1)への、またはそれらからの直接転送のために、
第1のバス・インタフェース202へ直接経路指定され
ても良い。第2のバス・インタフェース204は、現在
体系化されている全てのS/390、EA、及びESA
アドレス指定モードに対応して構成可能である。
【0039】図2を参照すると、スマート・バス制御ユ
ニット112は、データをマイクロチャネル・バス#1
(参照番号118)、S/390入出力バス#1(参照
番号106)、マイクロプロセッサ206、及びメモリ
208との間で転送するための複数のバスを使用する。
例えば、マイクロプロセッサ206は第1のバス・イン
タフェース202及び第2のバス・インタフェース20
4に対し、第1の32ビット・バス(参照番号22
2)、第1のトランシーバ224、第2の32ビット・
バス(参照番号226)、第2のトランシーバ228、
及び16ビット・バス(参照番号230)を介して接続
される。第1及び第2のデータ処理システム・バス、イ
ンタフェース202、204は、16ビット・バス(参
照番号230)を介して一緒に接続される。
【0040】マイクロプロセッサ206から第2のバス
・インタフェース204に至る第2のパス234は、第
2のレシーバ228を通過することなく、第2の32ビ
ット・バス(参照番号226)から第2のバス・インタ
フェース204へ直接通じる。マイクロプロセッサ20
6は、第1の32ビット・バス(参照番号222)及び
8ビット・バス(参照番号232)を介して、フラッシ
ュ・メモリ212及びEPROMメモリ210をアクセ
スする。DRAM214及びSRAM216は、第2の
32ビット・バス(参照番号226)を介してアクセス
される。
【0041】S/390入出力バス#1(参照番号10
6)はIBM S/390データ処理システムなどの第
2のデータ処理システム101(図1)と、第2のバス
・インタフェース204(図2)との間の物理接続を提
供する。本発明は、第2のデータ処理システム101と
第2のバス・インタフェース204との間で、双方向に
メッセージまたはデータを独立に受渡す機能を含む。更
に第2のバス・インタフェース204には、エラー情報
を記憶し、第2のデータ処理システム101へ転送する
機能、及び第2のデータ処理システム101によりセッ
トされる汎用バス制御のための機能が含まれる。
【0042】メッセージまたはブロック・データ転送の
発信元及び宛先は、転送の方向により一般に示される。
ダウン・オペレーションは、第2のデータ処理システム
101から第2のバス・インタフェース204への転送
を差す。ダウン・メッセージは、第2のデータ処理シス
テム101により生成されて、第2のバス・インタフェ
ース204内のローカル記憶内にフェッチされるメッセ
ージとして定義される。アップ・メッセージは、第2の
バス・インタフェース204から第2のデータ処理シス
テム101へ転送されるメッセージを示す。アップ方向
のデータ・ブロック転送は、第2のデータ処理システム
101に方向付けされる。ダウン方向のデータ・ブロッ
ク転送は、第2のデータ処理システム101から第2の
バス・インタフェース204に方向付けされる。
【0043】S/390入出力バス#1(参照番号10
6)は次の機能を可能とする。(1)ダウン・メッセー
ジを第2のデータ処理システム101(図1)のメモリ
・ユニット104から、第2のバス・インタフェース2
04の内部ダウン・メッセージ配列に送信する。(2)
第2のバス・インタフェース204から第2のデータ処
理システム101(図1)内の内部キューに向かうアッ
プ・メッセージを受信する。(3)第2のデータ処理シ
ステムのメモリ・ユニット104(図1)から第2のバ
ス・インタフェース204の内部ピンポン配列241、
243(図2)へ、フェッチ・オペレーションを実行す
る。(4)メモリ・ユニット104(図1)及び第2の
バス・インタフェース204の内部ピンポン配列24
1、243へのデータ転送を記憶する。(5)第2のデ
ータ処理システム101(図1)へセンス情報を送信す
る。及び(6)第2のデータ処理システム101から制
御情報を送信する。
【0044】第1の32ビット・バス(参照番号22
2)、第1のトランシーバ224、第2の32ビット・
バス(参照番号226)、第2のトランシーバ228、
16ビット・バス(参照番号230)、第2のパス23
4、及び8ビット・バス(参照番号232)は、共にロ
ーカル・プロセッサ・バスを構成する。ローカル・プロ
セッサ・バスは、マイクロプロセッサ206及び第1の
バス・インタフェース202がマスタとして機能するよ
うに動作する。メモリ208及び第2のバス・インタフ
ェース204はスレーブ装置として機能する。
【0045】マイクロプロセッサ206はローカル・プ
ロセッサ・バスを介してDRAM214をアクセスし、
機能的及び診断的マイクロコード・オペレーションを実
行する。マイクロプロセッサ206はまた、ローカル・
プロセッサ・バスを介して、フラッシュ・メモリ212
及びEPROM210をアクセスする。第2のバス・イ
ンタフェース204の内部ピンポン・バッファ241、
243はローカル・プロセッサ・バスを介して、マイク
ロプロセッサ206によりアクセスされる。ローカル・
プロセッサ・バスはまた、マイクロプロセッサ206に
対し、第1のバス・インタフェース202のローカル・
レジスタ245へのアクセスを提供する。マイクロチャ
ネル・バス#1(118)によるDRAM214のアク
セスは、ローカル・プロセッサ・バスを介して発生す
る。第1のバス・インタフェース202はローカル・プ
ロセッサ・バスを介して、リンク・リストをフェッチす
る。16ビット・バス230は、第2のバス・インタフ
ェース204の内部ピンポン・バッファ241、243
とマイクロチャネル・バス#1(118)との間の入出
力データ転送用に使用される。従って、この16ビット
・バス230はバイパス・バスと呼ばれる。
【0046】第1のバス・インタフェース202は、マ
イクロチャネル・バス#1(118)と物理的にインタ
フェースする。このバス・インタフェース202は、マ
イクロチャネル・バス#1(118)上で使用される信
号バス及びデータ・バスの各々に対応する機能を提供す
る。様々なデータ・オペレーションがマイクロチャネル
・バス#1(118)上で発生する。これらには、初期
システム・セットアップの間における、第2のバス・イ
ンタフェース204のレジスタへのアクセスなどが含ま
れる。マイクロチャネル・バス#1(118)はマスタ
及びスレーブの両方のオペレーションを実行することが
できる。例えば、マスタ・オペレーションは第1のバス
・インタフェース202により開始される。スレーブ・
オペレーションは、DRAM214及びSRAM216
をアクセスするために、プレーナ・プロセッサ122ま
たは別のマイクロチャネル103、105を使用して実
行される。
【0047】スマート・バス制御ユニット112(図
1)は、記憶オペレーションまたはメッセージ・オペレ
ーションを実行するようにプログラムされる。記憶オペ
レーションは、IBM S/390記憶またはIBM
S/390フェッチとしてプログラムされる。これらは
第2のバス・インタフェース204内の同一の機能を使
用する。オペレーションがメッセージ記憶(アップ・メ
ッセージ)か、メッセージ・フェッチ(ダウン・メッセ
ージ)かに依存して、メッセージ・オペレーションは別
の制御機能を使用する。これはダウン・メッセージが、
第2のバス・インタフェース204に対する内部オペレ
ーションであるという事実に起因し、これにより第2の
データ処理システム101は、スマート・バス制御ユニ
ット112のステータス或いはセット制御に関する情報
を獲得する。通常のアップ及びダウン・メッセージは外
部オペレーションであり、ローカル・マイクロプロセッ
サ206からのサービスを要求する。
【0048】記憶処理オペレーションは、第2のバス・
インタフェース204のDMA優先ポート301(図
3)などのDMAポート、及び第1のバス・インタフェ
ース202により提供されるDMAC247(図2)を
使用して実行される。バス・インタフェース204は、
データ転送を制御する3つのデータ制御ブロックを提供
する。これらのブロックには、DMA優先ポート301
に関連して使用されるデータ制御ブロック(図3)、及
びピンポン・バッファ241及び243(図2)に関連
して使用される2つの制御ブロックが含まれる。これら
3つのデータ制御ブロックは、図3に関連して後述され
るデータ構造を使用する。
【0049】図3はS/390入出力バス#1(図2の
106)と、マイクロプロセッサ206及びメモリ20
8の少なくとも一方との間を、第2のバス・インタフェ
ース204を介して転送されるデータ制御ブロックのデ
ータ構造を表す。第2のバス・インタフェース204は
高優先DMAポート301を含む。このポート301
は、制御ユニットのDRAM214またはSRAM21
6(図2)と、第2のデータ処理システムのメモリ・ユ
ニット104(図1)との間の、最大64バイトの任意
のデータ転送に使用される。
【0050】図3を参照すると、いくつかのデータ・フ
ィールドを含むデータ制御ブロック303が示される。
S/390開始アドレス・フィールド305は、特定の
データ記憶オペレーションに対応するS/390開始ア
ドレスを含む。S/390開始アドレスは、メモリ・ユ
ニット104(図4)内のロケーションに対応する。デ
ータ制御ブロック303(図3)は更に、バイト・カウ
ント・フィールド307、コマンド・フィールド30
9、アドレス限界許可(LM ENB)フィールド31
3、アドレス限界フィールド315、アダプタ・ステー
タス・フィールド319、転送ステータス・フィールド
317、キー・フィールド321、及びIOPフィール
ド325を含む。これらのフィールドの使用について
は、図4乃至図6を参照しながら以降で詳しく述べられ
る。
【0051】図4及び図5は、S/390(第2のデー
タ処理システム101)からスマート・バス制御ユニッ
ト112への転送を説明する流れ図である。このタイプ
の転送は、第2のデータ処理システムのメモリ・ユニッ
ト104(図1)と、第2のバス・インタフェース20
4内の優先データ・ポート301との間で行われること
を述べておく。優先データ・ポート301が使用される
ため、プログラムされる各転送は64バイトに制限され
る。しかしながら、任意の優先ポート301のオペレー
ションは、第2のデータ処理システム101と第1のデ
ータ処理システム107との間の、ピンポン・バッファ
241、243及び第1のバス・インタフェース202
を介する転送を中断する。
【0052】プログラムはブロック401(図4)で開
始され、マイクロプロセッサ206(図2)は転送の方
向を決定する。転送がアップ方向(記憶オペレーショ
ン)の場合、マイクロプロセッサは転送されるデータを
第2のバス・インタフェース内の優先バッファに書込ま
ねばならない(ブロック403)。マイクロプロセッサ
は次に優先制御ブロック(PCB:priority control b
lock)を、S/390記憶キー、S/390開始記憶ア
ドレス、バイト・カウント、アドレス限界チェック情
報、及びコマンドの初期値により初期化する(ブロック
405)。一度PCBがプログラムされると、マイクロ
プロセッサは"go"ビットをPCBコマンド・フィールド
に書込む(ブロック407)。この時点で、第2のバス
・インタフェースが転送の実行を開始する。これは全て
ハードウェアがPCBの内容を読出し、適切な選択サイ
クル・データを形成し、最大16データ・サイクルを率
いる選択サイクルを転送することにより達成される。転
送が完了すると、ハードウェアは制御ブロックを最終S
/390アドレス、バイト・カウント、及び転送及びア
ダプタのステータスで更新する。ハードウェアはまた転
送を開始するために、プログラムにより以前にセットさ
れた"go"ビットをリセットし、許可されれば割込みをマ
イクロプロセッサに送信する。この間、マイクロプロセ
ッサは"go"ビットをポーリングするか、割込みを受信す
るまで他の処理を実行する。マイクロプロセッサは転送
が完了したことを認識すると、制御装置ステータス及び
転送ステータスを読出し、転送の結果を判断する(ブロ
ック411)。ステータスがエラーを示す場合(ブロッ
ク415)、プログラムはエラー回復処理を実行して、
オペレーションを再試行し、ハードウェアが動作不能で
あることを示すメッセージをサービス・システムに送信
する。通常ステータスが受信されて、転送がダウン転送
(すなわちフェッチ・オペレーション)の場合、マイク
ロプロセッサは優先バッファから受信データを読出す
(ブロック419)。
【0053】スマート・バス制御ユニット112(図
1)は、第2のデータ処理システムのメモリ・ユニット
104(図1)と、マイクロチャネル・メモリ126
(図1)または入出力アダプタ・メモリとの間のデータ
転送を提供する。これらのデータ転送はS/390入出
力バス#1(図1の106)、入出力バス#2(10
8)或いは入出力バス#3(110)を使用する。バイ
パス・バス(図2の230)及びマイクロチャネル(1
03または105)もまた使用される。
【0054】第2のバス・インタフェース204は2つ
のデータ制御ブロック303(図3)を使用して、第2
のデータ処理システムのメモリ・ユニット104(図
1)と、第2のバス・インタフェース204内の2つの
内部ピンポン・バッファ241、243(図2)との間
のDMAオペレーションを実行する。スマート・バス制
御ユニットのマイクロプロセッサ206は、これらのデ
ータ制御ブロック303(図3)の1つを初期化する一
方、他のデータ制御ブロック303は第2のバス・イン
タフェース204(図2)により処理される。第2のバ
ス・インタフェース204は、以前のオペレーションの
完了後、データ転送要求を実行する。以前のオペレーシ
ョンの完了は、バイト・カウント・フィールド307
(図3)の値が0となることにより示される。
【0055】2つのピンポン・バッファ241、243
は、S/390入出力バス#1(図1の106)、入出
力バス#2(108)或いは入出力バス#3(11
0)、及びバイパス・バス230(図2)上で転送をオ
ーバラップする。ピンポン・バッファ241、243と
第1のバス・インタフェース202のローカル・レジス
タ245(図2)との間のデータは、第1のバス・イン
タフェース202により提供されるDMAチャネル(D
MAC)247を使用して、バイパス・バス230上を
転送される。第2のバス・インタフェース204は、第
1のバス・インタフェース202にとっては、暗黙的に
アドレス指定される装置のように見える。
【0056】図6はバイパス・バス230(図2)を横
断して、ピンポン・バッファ241、243とローカル
・レジスタ245との間をデータ転送される信号を表
す。バイパス・バス信号は、第1のバス・インタフェー
ス222及び第2のバス・インタフェース204と共
に、第1のパス・インタフェース202のDMACレジ
スタ247にプログラムされるDMAオペレーションを
実行するための物理リンクを提供する。DMA要求(D
MA REQ)信号501(図6)が、第1のバス・イ
ンタフェース202からのデータ転送を要求するため
に、第2のバス・インタフェース204(図2)により
アサートされる(すなわち第1の論理状態が第2の論理
状態に変化する)。DMA応答(DMA ACK)信号
503(図6)が、DMA要求信号501(図6)の受
信を通知するために、第1のバス・インタフェース20
2(図2)によりアサートされる。DMA応答信号50
3は、DMAレディ(DMA RDY)信号505がア
サートされるまで、アサートされた状態(例えばハイ論
理状態)を保持する。DMAレディ信号505がアサー
トされると、DMA応答信号503がニゲート(negat
e)される(すなわち第1の論理状態に戻される)。
【0057】DMAレディ信号505は、第2のバス・
インタフェース204(図4)からの読出しサイクルの
間、データが有効なことを示すために使用される。DM
Aレディ信号505(図6)はまた、第2のバス・イン
タフェース204(図2)への書込みサイクルの間に、
データが受付けられていることを示すために使用され
る。単一の転送では、DMA要求信号501(図6)は
DMA応答信号503がアサートされた後、且つDMA
レディ信号505がアサートされる以前に、ニゲートさ
れなければならない。DMAレディ信号505がアサー
トされた後にDMA要求信号501がアサート状態を維
持している場合、この状態はバースト要求の存在を暗示
するために使用される。
【0058】DMAC247(図2)オペレーションは
プログラム制御の2つのモードのいずれかにより開始さ
れる。直接プログラム制御モードでは、マイクロプロセ
ッサ206(図2)が全てのDMACレジスタ(CSA
R249、CBCR251、CLAR253、CLLP
255、CCR257、及びCSR259)に書込む。
マイクロプロセッサは次にSTART DMACコマン
ドを第1のバス・インタフェース202に発する。直接
プログラム制御モードでは、CCR257レジスタのリ
ンク式リスト連鎖ビットが0にセットされなければなら
ない。第1のバス・インタフェース202はCLLP2
55レジスタの内容を無視する。DMACオペレーショ
ンの終了時、DMA BUSYステータス及び転送終了
ステータスがCSR259レジスタ内でリセットされ
る。要求がIMRレジスタ261によりマスクされてい
ない場合、DMAC終了割込みがマイクロプロセッサ2
06に要求される。
【0059】DMAC247オペレーションの第2のプ
ログラム制御モードは、リンク式リスト・モードと呼ば
れる。リンク式リスト・モードのオペレーション・シー
ケンスが図7の流れ図で示される。ブロック601で、
マイクロプロセッサ206(図2)は、制御ユニット・
メモリ208のDRAM214またはSRAM216に
存在する制御ブロック内に、1回或いは何回かの転送に
対応するリンク式リスト・パラメータを構成する。制御
ブロックはマイクロチャネル・アドレス、マイクロプロ
セッサ・アドレス、リンク式リスト・ポインタ、及びバ
イト・カウントを含むDMA転送情報を含む。
【0060】1つのリンク式リスト制御ブロックが、別
のリンク式リスト制御ブロックを指示することも可能で
ある。ブロック603で、プログラムは任意の制御ブロ
ックを次のリンク・リストに連鎖することが望まれるか
を判断テストする。そうである時、プログラムはブロッ
ク605で、リンク式リストのCCR257(図2)フ
ィールドのLLCビットをセットし、プログラム制御は
ブロック601に戻る。ブロック603が否定される
と、ブロック607に移行し、マイクロプロセッサ20
6はDMAC開始信号を発する。DMAC開始信号の受
信時、ブロック609で、第1のバス・インタフェース
202は第1のリンク式制御ブロックをフェッチし、そ
れぞれのレジスタにDMA転送情報をロードし、転送を
実行する。
【0061】ブロック609のDMA転送の後、プログ
ラムはDMACオペレーションが成功したかどうかを判
断するための2つのテストを実行する。第1のテストは
ブロック611で実行されて、DMA転送が成功したか
どうかを判断する。成功しなかった場合、エラー・ステ
ータス・ビットがブロック613でセットされ、プログ
ラムは終了する。DMA転送が成功した場合、ブロック
611からの肯定分岐はブロック615に至り、ここで
LLCビットが1であるかがテストされる。最後のDM
Aオペレーションの完了は、LLCビット値が0により
示される。LLCが1の場合、プログラム制御はブロッ
ク609にループして戻る。LLCが1でない場合、完
了良好ステータス・ビットがブロック617でセットさ
れて、プログラムは終了する。
【0062】リンク式リスト・モードの使用は、S/3
90メモリ・ユニット104(図1)の1つの連続空間
から、マイクロチャネル・メモリ126のいくつかの不
連続セクションへのデータ転送を可能とする。第1のバ
ス・インタフェース202のDMAC247(図2)
は、境界制限無しにデータをマイクロチャネル・メモリ
126(図1)の任意のバイト・アドレスに転送するこ
とができる。データ転送に関する唯一の制限は、転送長
が4バイトよりも大きく、且つ16メガバイトよりも小
さくなければならないことである。
【0063】マイクロプロセッサ206(図2)は、D
MACオペレーションが進行中に停止されない。マイク
ロプロセッサ206はDMACオペレーションが実行中
に、メモリ208または第2のバス・インタフェース2
04を同時にアクセスすることができる。第1のバス・
インタフェース202レジスタ(CSAR249、CB
CR251、CLAR253、CLLP255、CCR
257、及びCSR259及びIMR261)に対する
マイクロプロセッサ206の同時アクセスもまた許可さ
れる。マイクロプロセッサ206は、バイパス・バス2
30上における現行のDMAサイクルの完了を判断する
ために、第1のバス・インタフェース202レジスタを
ポーリングすることができる。
【0064】図8乃至図11は、第2のデータ処理シス
テム101(図1)のフェッチ・オペレーションに対応
するオペレーション・シーケンスを示す流れ図である。
このオペレーションはデータを、メモリ・ユニット10
4とマイクロチャネル・メモリ126との間で転送す
る。本発明の実施例では、メモリ・ユニット104はI
BM S/390記憶装置である。プログラム制御はブ
ロック701で開始され、マイクロプロセッサ206
(図2)はデータ制御ブロック303(図3)のキー・
フィールド321、S/390開始アドレス・フィール
ド305、及びバイト・カウント・フィールド307
を、実行される転送に対応して初期化する。コマンド・
フィールド309は"フェッチ"オペレーションを指定す
るようにセットされる。
【0065】次にブロック703で、マイクロプロセッ
サ206(図2)はアダプタ・ステータス・フィールド
317(図3)に書込み、第2のバス・インタフェース
204(図2)に対し、GO/−DEビットをアサート
することによりデータ転送を開始するように通知する。
プログラム制御はブロック705に移行し、第2のバス
・インタフェース204(図2)がS/390入出力バ
ス#1(106)上において記憶オペレーションを開始
する。記憶オペレーションは最大16データ・サイクル
を率いる選択サイクルで開始される。
【0066】初期S/390転送の間、ブロック707
は初期化処理を実行し、マイクロプロセッサ206(図
2)はDMAC247を次のように初期化する。CSA
R249レジスタは、データが記憶されるマイクロチャ
ネル・メモリ126(図1)アドレスにセットされる。
CBCR251(図2)レジスタは、データの転送長に
セットされ、これは16メガバイト以下、且つ4バイト
より大きくなければならない。要求が有ればCLLP2
55レジスタがスマート・バス制御ユニット・メモリ2
08(図2)内のリンク式リスト・アドレスにセットさ
れる。CCR257レジスタは転送モードにセットされ
る。このモードは暗黙的オペレーション・モードであ
り、これはバイパス・バス230とマイクロチャネル・
バス#1(118)またはマイクロチャネル・バス#2
(120)のいずれか一方との間の転送を指定する。
【0067】ブロック709で、マイクロプロセッサ2
06(図2)はDMAC開始コマンドを第1のバス・イ
ンタフェース202に発する。第2のバス・インタフェ
ース204はブロック711で、DMA要求信号を第1
のバス・インタフェース202に送信する。DMA要求
信号は、全パケット或いは部分的パケットがピンポン・
バッファ241または243(図2)に到達すると、直
ちに生成される。
【0068】ブロック715で、第1のバス・インタフ
ェース202(図2)はDMA応答信号を第2のバス・
インタフェース204に対してアサートし、第2のバス
・インタフェース204にデータを送信するように要求
する。第2のバス・インタフェース204は次にDMA
レディ信号と共に、データをピンポン・バッファ24
1、243(図2)からバイパス・バス230上に転送
する(ブロック717)。第1のバス・インタフェース
202はローカル・レジスタ245(図2)が充填され
ると、直ちにマイクロチャネル・バス#1(図1の11
8)を調停する(ブロック719)。
【0069】マスタ権を獲得後、第1のバス・インタフ
ェース202(図2)はマイクロチャネル・バス#1
(図1の118)上に最大4バイト/サイクルの増分で
データを転送する(図10のブロック721)。第1の
バス・インタフェース202(図2)は、ローカル・レ
ジスタ245のデータを、マイクロチャネル・バス#1
(118)上に、スレーブ装置の応答レートで転送して
空にする(ブロック723)。
【0070】ブロック719からブロック723の実行
の間、別のパケットのデータがピンポン・バッファ24
1、243(図2)に到来する。こうしたデータ・パケ
ットの到来時、第2のバス・インタフェース204はD
MA要求信号をアサートすることにより、別のDMAオ
ペレーションを開始する(ブロック725)。ブロック
726で、ブロック719からブロック723で実行さ
れるマイクロチャネル転送オペレーションの完了後、第
1のバス・インタフェース202はDMA応答信号によ
りこの要求に応答する。ブロック727で、転送カウン
トが消滅したかがテストされる。転送カウントが消滅し
ていない場合、プログラムはブロック719にループし
て戻る。転送カウントが消滅している場合、プログラム
制御は図11のブロック729に移行し、第2のバス・
インタフェース204(図2)はマイクロプロセッサ2
06に対して割込みを発生する。割込みはデータ転送が
完了したことを示す役割をする。マイクロプロセッサ2
06はブロック731で、必要に応じて、転送ステータ
ス・フィールド317またはアダプタ・ステータス・フ
ィールド319を読出し、完了ステータスを確認する。
【0071】図12乃至図14は、第2のデータ処理シ
ステム101(図1)の記憶オペレーションに対応する
オペレーション・シーケンスを示す流れ図である。この
オペレーションは、マイクロチャネル・メモリ126と
メモリ・ユニット104との間でデータを転送する。本
発明の実施例では、メモリ・ユニット104はIBMS
/390記憶装置である。プログラム制御はブロック8
01で開始され、マイクロプロセッサ206(図2)は
DMAC247レジスタを次に示す値により初期化す
る。CSAR249レジスタは、データが読出されるマ
イクロチャネル・メモリ126(図1)アドレスにセッ
トされる。CBCR251(図2)レジスタは、データ
の転送長にセットされ、これは16メガバイト以下、且
つ4バイトより大きくなければならない。要求が有れば
CLLP255レジスタがスマート・バス制御ユニット
・メモリ208(図2)内のリンク式リスト・アドレス
にセットされる。CCR257レジスタは転送モードを
指定するようにセットされ、これはバイパス・バス23
0とマイクロチャネル・バス#1(図1及び図2の11
8)またはマイクロチャネル・バス#2(図1の12
0)のいずれか一方との間の転送を暗黙的に指定する。
【0072】ブロック803で、DMAC開始コマンド
が第1のバス・インタフェース202(図2)に発せら
れる。第1のバス・インタフェース202はブロック8
05でマイクロチャネル・バス#1(118)を調停す
る。マスタ権を獲得後、第1のバス・インタフェース2
02(図2)はマイクロチャネル・メモリ208からロ
ーカル・レジスタ245への充填を開始する(ブロック
807)。ブロック805及びブロック807の実行の
間、マイクロプロセッサ206(図2)はデータ制御ブ
ロック303のキー・フィールド321、S/390開
始アドレス・フィールド305、及びバイト・カウント
・フィールド307を、実行される転送に対応して初期
化する(ブロック809)。図13のブロック811
で、コマンド・フィールド309は"記憶"オペレーショ
ンを指定するようにセットされる。
【0073】次にブロック813で、マイクロプロセッ
サ206(図2)はアダプタ・ステータス・フィールド
317(図3)に書込み、第2のバス・インタフェース
204(図2)に対し、GO/−DEビットをアサート
することによりデータ転送を開始するように通知する。
プログラム制御はブロック815に移行し、第2のバス
・インタフェース204(図2)がDMA要求信号を第
1のバス・インタフェース202に送信し、次にブロッ
ク817で、プログラムは第1のバス・インタフェース
202(図2)からのDMA応答信号を待機する。
【0074】ブロック819で、第1のバス・インタフ
ェース202(図2)はローカル・レジスタ245が充
填されると直ちにDMA応答信号をアサートする。第2
のバス・インタフェース204は、DMAレディ信号を
出力して、ピンポン・バッファ241または243への
ロードを開始する(図14のブロック821)。次にブ
ロック823で、第1のバス・インタフェース202
(図2)がマイクロチャネル・バス#1(図1の11
8)を調停する。このステップは、残余バイト・カウン
トが0でなければ、ローカル・レジスタ245(図2)
の内容が転送された直後に実行される。
【0075】ブロック823の間、第2のバス・インタ
フェース204(図2)は、ピンポン・バッファ241
または243からS/390入出力バス106にデータ
を転送する(ブロック825)。ブロック823及び8
25の実行と同時に、ブロック827はDMA要求信号
を第1のバス・インタフェース202(図2)に送信す
る。プログラム制御は次にブロック829に移行し、バ
イト・カウント・フィールド307(図3)が0である
かがテストされる。このフィールドが0でない場合、プ
ログラムは図13のブロック819にループして戻る。
バイト・カウント・フィールド307(図3)が0の場
合、プログラム制御はブロック831に移行し、第2の
バス・インタフェース204(図2)がデータ転送の完
了を示す割込みをマイクロプロセッサ206に送信す
る。ブロック833で、マイクロプロセッサ206(図
2)は必要に応じて、転送ステータス・フィールド31
7またはアダプタ・ステータス・フィールド319(図
3)を読出し、完了ステータスを確認する。
【0076】本発明のスマート・バス制御ユニット11
2(図2)は、制御ユニット・メモリ208とマイクロ
チャネル・メモリ126(図1)または入出力アダプタ
・メモリとの間で転送が可能である。これらの転送は2
つのステップにより実行される。最初に、データがロー
カル・プロセッサ・バスから第1のバス・インタフェー
ス202(図2)に転送される。ローカル・プロセッサ
・バスはトランシーバ224及び228、バス222、
226、230、232及び234を含む。次にデータ
は、第1のバス・インタフェース202(図2)からマ
イクロチャネル・バス#1(118)に転送される。こ
れらの転送は3つの技術の内のいずれかを使用して達成
される。すなわち、それらは(1)第1のバス・インタ
フェース202内のDMAP901機能(図2)、
(2)第1のバス・インタフェース202内のDMAC
247明示モード機能、(3)制御ユニット・メモリ2
08をメモリ・スレーブとしてアクセスするマイクロチ
ャネル103、105(図1)である。DMAC247
明示モード機能については、S390記憶装置(メモリ
・ユニット104)とマイクロチャネル・メモリ126
(図1)との間のデータ転送に関連して前述された。し
かしながら、第1のバス・インタフェースはローカル・
プロセッサ・バス上でマスタ権を調停し、制御ユニット
・メモリ208との間でデータを転送する。
【0077】DMAP機能901によるデータ転送につ
いて次に示す。図2を参照すると、DMAP機能901
はシステム・アドレス・レジスタ(PSAR)903、
データ・レジスタ(DATA)905、制御レジスタ
(PCR)907、及びステータス・レジスタ(PS
R)909を含む。マイクロプロセッサ206(図2)
は、PSARレジスタ903、DATAレジスタ90
5、及びPCRレジスタ07を書込みプログラムするこ
とにより、最大4バイトのデータをマイクロチャネルと
の間で直接転送することができる。マイクロプロセッサ
206はDMAP開始コマンドを発する。第1のバス制
御ユニット202は、次にマイクロチャネル103、1
05(図1)の制御を獲得して、最大4バイトのデータ
をDATAレジスタ905(図2)、或いはチャネル・
バス118、120(図1)またはマイクロチャネル・
メモリ126空間との間で転送する。これらの転送相手
はPSARレジスタ903及びPCRレジスタ907の
値により決定される
【0078】DMAP901書込み転送初期化の間、D
ATAレジスタ905は、PSARレジスタ903にロ
ードされるマイクロチャネル103、105アドレス及
びPCRレジスタ907にロードされる転送カウント値
により、位置合わせされなければならない。DMAP9
01読出しサイクルの間、第1のバス・インタフェース
202は、ワード配列方式で、PSARレジスタ903
の最下位2ビットにより示される開始バイト・アドレ
ス、及びPCRレジスタ907の転送カウントに依存し
て、最大4バイトの読出しデータをアクセスする(すな
わちアドレス0から最大4バイト、アドレス1から最大
3バイトなど)。
【0079】データ転送が終了すると、第1のバス・イ
ンタフェース202はPSRレジスタ909に終了ステ
ータスをセットする。終了割込みステータスもこの時セ
ットされてもよい。DMAP901転送の終了は、第1
のバス・インタフェース202割込み要求をサービスす
ることにより、或いはPSR909のDMAPビジー・
ビットをポーリングすることにより、確認される。
【0080】マイクロチャネル103、105(図1)
は制御ユニット・メモリ208(図2)をメモリ・スレ
ーブとしてアクセスできる。メモリ208はマイクロチ
ャネル・メモリ126(図1)アドレス空間にマップさ
れる。第1のバス・インタフェース202(図2)は、
マイクロチャネル103、105(図1)がメモリ12
6をアクセスする時、CHREADY信号をアサートす
る。第1のバス・インタフェース202(図2)は、H
OLD及びHOLDAプロトコルを使用して、ローカル
・プロセッサ・バスを調停する。第1のバス・インタフ
ェース202はマスタ権を獲得すると、転送オペレーシ
ョンを完了し、マイクロチャネル103、105サイク
ルを終了するためにCHREADY信号をニゲートす
る。第1のバス・インタフェース202(図2)が16
ビット・スレーブとしてマイクロチャネル103、10
5(図1)に応答するため、これらのアクセス・オペレ
ーションは常に2バイト長である。
【0081】
【発明の効果】以上説明したように、本発明によれば、
非常に高速なデータ転送レート、及び多重同時独立のプ
ロセッサ間オペレーションを可能とする改良されたイン
タフェース機構が提供される。更に本発明は、マイクロ
チャネルのプレーナ・プロセッサがより効率的に使用可
能なチャネル及び制御ユニットのエミュレーション機能
を提供する。
【図面の簡単な説明】
【図1】本発明のスマート・バス制御ユニットの動作環
境を表すハードウェア・ブロック図である。
【図2】図1のスマート・バス制御ユニットのハードウ
ェア・ブロック図である。
【図3】図1のスマート・バス制御ユニットにより実行
される記憶オペレーションに使用されるデータ構造を示
すブロック図である。
【図4】本発明による、IBM S/390データ処理
システムとマイクロチャネル・システムとの間のデータ
記憶転送機能の動作シーケンスを表す流れ図である。
【図5】本発明による、IBM S/390データ処理
システムとマイクロチャネル・システムとの間のデータ
記憶転送機能の動作シーケンスを表す流れ図である。
【図6】本発明のバイパス・バス上のDMAシーケンス
を示すタイミング図である。
【図7】図2に示されるDMACのリンク式リスト・モ
ードの動作シーケンスを示す流れ図である。
【図8】本発明によるフェッチ・オペレーションに対応
してコンピュータにより実行される処理の流れ図であ
る。
【図9】本発明によるフェッチ・オペレーションに対応
してコンピュータにより実行される処理の流れ図であ
る。
【図10】本発明によるフェッチ・オペレーションに対
応してコンピュータにより実行される処理の流れ図であ
る。
【図11】本発明によるフェッチ・オペレーションに対
応してコンピュータにより実行される処理の流れ図であ
る。
【図12】本発明による記憶オペレーションに対応して
コンピュータにより実行される処理の流れ図である。
【図13】本発明による記憶オペレーションに対応して
コンピュータにより実行される処理の流れ図である。
【図14】本発明による記憶オペレーションに対応して
コンピュータにより実行される処理の流れ図である。
【符号の説明】
101 第2のデータ処理システム 102 中央処理ユニット(CPU) 103、105 マイクロチャネル 104 メモリ・ユニット 106 入出力バス#1 107 第1のデータ処理システム 108 入出力バス#2 110 入出力バス#3 118 マイクロチャネル・バス#1 120 マイクロチャネル・バス#2 122 プレーナ・プロセッサ 126 メモリ 128 入出力アダプタ 130、131、132 入出力装置 202 第1のバス・インタフェース 204 第2のバス・インタフェース 206 ローカル・マイクロプロセッサ 210 EPROMメモリ 212 フラッシュ・メモリ 214 ダイナミック・ランダム・アクセス・メモリ
(DRAM) 216 スタティック・ランダム・アクセス・メモリ
(SRAM) 222 第1の32ビット・バス 224 第1のトランシーバ 226 第2の32ビット・バス 228 第2のトランシーバ 230 16ビット・バス 232 8ビット・バス 234 第2のパス 241、243 内部ピンポン・バッファ 245 ローカル・レジスタ 247 DMAチャネル 249 CSAR 251 バイト・カウント・レジスタ(CBCR) 253 ローカル・アドレス・レジスタ(CLAR) 255 24ビットのリンク式リスト・ポインタ(CL
LP) 257 8ビット制御レジスタ(CCR) 259 8ビット・ステータス・レジスタ(CSR) 261 割込みマスク・レジスタ(IMR) 301 高優先DMAポート 307 バイト・カウント・フィールド 309 コマンド・フィールド 313 アドレス限界許可(LM ENB)フィールド 315 アドレス限界フィールド 317 転送ステータス・フィールド 319 アダプタ・ステータス・フィールド 321 キー・フィールド 325 IOPフィールド 501 DMA要求(DMA REQ)信号 503 DMA応答(DMA ACK)信号 505 DMAレディ(DMA RDY)信号
フロントページの続き (72)発明者 シバラマ・クリシュナ・コダクーラ アメリカ合衆国13850、ニューヨーク州 ベスタル、フラー・ホロー・ロード 4100

Claims (9)

    (57)【特許請求の範囲】
  1. 【請求項1】入出力制御機能を実行するバス制御システ
    ムであって、 データを記憶する第1のメモリ手段、命令を実行する第
    1のプロセッサ手段、及び各々が第1の入出力バス・プ
    ロトコルを有する第1のコンピュータ・アーキテクチャ
    に対応する第1の信号セットを使用することにより、デ
    ータ、制御情報、及びアドレス情報の少なくともいずれ
    かの通信パスを提供する複数のチャネルを含む、データ
    転送用の第1の入出力バスを含む第1のデータ処理シス
    テムと、 データを記憶する第2のメモリ手段、命令を実行する第
    2のプロセッサ手段、及び各々が第2の入出力バス・プ
    ロトコルを有する第2のコンピュータ・アーキテクチャ
    に対応する上記第1の信号セットとは同一でない第2の
    信号セットを使用することにより、データ、制御情報、
    及びアドレス情報の少なくともいずれかの通信パスを提
    供する複数のチャネルを含むデータ転送用の第2の入出
    力バスを含む第2のデータ処理システムと、 少なくとも1個の入出力装置と、 上記第1の入出力バス及び上記少なくとも1個の入出力
    装置への接続に適応する、各々が上記入出力装置と上記
    第1の入出力バスとの間の通信を提供する通信手段を含
    む複数の入出力アダプタと、 上記第1の入出力バスと通信するための第1の通信ポー
    ト、上記第2の入出力バスと通信するための第2の通信
    ポート、上記第1の信号セットを上記第2の信号セット
    に変換するための第1の信号変換手段、及び上記第2の
    信号セットを上記第1の信号セットに変換するための第
    2の信号変換手段を含む、上記第1のデータ処理システ
    ムと上記第2のデータ処理システムとをインタフェース
    するインタフェース手段を含むスマート・バス制御ユニ
    ットと、 を含むバス制御システム。
  2. 【請求項2】上記第1の信号変換手段が上記第2の信号
    変換手段と同時に動作する、請求項1記載のバス制御シ
    ステム。
  3. 【請求項3】上記スマート・バス制御ユニットが上記複
    数の入出力アダプタの少なくとも1個をアクセスするア
    クセス手段を含む、請求項1記載のバス制御システム。
  4. 【請求項4】上記アクセス手段が上記入出力アダプタの
    上記通信手段に接続されるマイクロプロセッサを含む、
    請求項3記載のバス制御システム。
  5. 【請求項5】上記スマート・バス制御ユニットが上記複
    数の入出力アダプタの少なくとも1個及び上記第1の入
    出力バスのオペレーションを制御する制御手段を含む、
    請求項4記載のバス制御システム。
  6. 【請求項6】上記アクセス手段が上記マイクロプロセッ
    サ装置により実行されるマイクロコード命令を含むマイ
    クロプロセッサ制御手段を含む、請求項4記載のバス制
    御システム。
  7. 【請求項7】上記マイクロコード命令が、データ、制御
    情報及びアドレス情報の少なくともいずれかの転送を指
    定する、上記入出力アダプタの少なくとも1個及び上記
    第1の入出力バスに関する入出力機能を提供する、請求
    項6記載のバス制御システム。
  8. 【請求項8】上記アクセス手段が上記複数の入出力アダ
    プタの間でデータ、制御情報及びアドレス情報の少なく
    ともいずれかを転送するように、上記マイクロコード命
    令が上記複数のチャネル上の複数の上記入出力機能を同
    時に実行するためのチャネル・マルチプレクス手段を含
    む、請求項7記載のバス制御システム。
  9. 【請求項9】上記マイクロプロセッサがRISCマイク
    ロプロセッサ装置を含む、請求項4記載のバス制御シス
    テム。
JP5259699A 1992-11-12 1993-10-18 スマ―ト・バス制御ユニット Expired - Lifetime JP2541767B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US97536792A 1992-11-12 1992-11-12
US975367 1992-11-12

Publications (2)

Publication Number Publication Date
JPH06208548A JPH06208548A (ja) 1994-07-26
JP2541767B2 true JP2541767B2 (ja) 1996-10-09

Family

ID=25522953

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5259699A Expired - Lifetime JP2541767B2 (ja) 1992-11-12 1993-10-18 スマ―ト・バス制御ユニット

Country Status (2)

Country Link
US (1) US5581741A (ja)
JP (1) JP2541767B2 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5850513A (en) * 1996-01-05 1998-12-15 Unisys Corporation Processor path emulation system providing fast readout and verification of main memory by maintenance controller interface to maintenance subsystem
US5991546A (en) * 1996-09-17 1999-11-23 Cmd Technology, Inc. System and method for interfacing manually controllable input devices to a universal computer bus system
US5964852A (en) * 1996-11-08 1999-10-12 Rockwell International Corporation Programmable data port interface adapter
DE19708755A1 (de) 1997-03-04 1998-09-17 Michael Tasler Flexible Schnittstelle
US6473803B1 (en) 1997-06-02 2002-10-29 Unisys Corporation Virtual LAN interface for high-speed communications between heterogeneous computer systems
US6289388B1 (en) 1997-06-02 2001-09-11 Unisys Corporation System for communicating heterogeneous computers that are coupled through an I/O interconnection subsystem and have distinct network addresses, via a single network interface card
US6427179B1 (en) * 1997-10-01 2002-07-30 Globespanvirata, Inc. System and method for protocol conversion in a communications system
US6233619B1 (en) 1998-07-31 2001-05-15 Unisys Corporation Virtual transport layer interface and messaging subsystem for high-speed communications between heterogeneous computer systems
US6324599B1 (en) * 1999-01-11 2001-11-27 Oak Technology Computer system and method for tracking DMA transferred data within a read-ahead local buffer without interrupting the host processor
US6757744B1 (en) 1999-05-12 2004-06-29 Unisys Corporation Distributed transport communications manager with messaging subsystem for high-speed communications between heterogeneous computer systems
US6360290B1 (en) 1999-06-23 2002-03-19 United Technologies Corporation Commercial standard digital bus interface circuit
US6629166B1 (en) * 2000-06-29 2003-09-30 Intel Corporation Methods and systems for efficient connection of I/O devices to a channel-based switched fabric
DE10110778A1 (de) * 2001-03-07 2002-09-12 Philips Corp Intellectual Pty Integrierter Schaltkreis
US8312117B1 (en) 2001-11-15 2012-11-13 Unisys Corporation Dialog recovery in a distributed computer system
FR2875026A1 (fr) * 2004-09-03 2006-03-10 St Microelectronics Sa Dispositif programmable d'interface de commande
US20070147115A1 (en) * 2005-12-28 2007-06-28 Fong-Long Lin Unified memory and controller
US7519754B2 (en) * 2005-12-28 2009-04-14 Silicon Storage Technology, Inc. Hard disk drive cache memory and playback device
US20140013028A1 (en) * 2012-07-09 2014-01-09 Hamilton Sundstrand Corporation Hardware flash memory wear monitoring

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3940743A (en) * 1973-11-05 1976-02-24 Digital Equipment Corporation Interconnecting unit for independently operable data processing systems
US4309754A (en) * 1979-07-30 1982-01-05 International Business Machines Corp. Data interface mechanism for interfacing bit-parallel data buses of different bit width
US4586159A (en) * 1983-11-21 1986-04-29 The United States Of America As Represented By The Secretary Of The Navy Digital bus adaptor
US4716527A (en) * 1984-12-10 1987-12-29 Ing. C. Olivetti Bus converter
US4709328A (en) * 1985-06-17 1987-11-24 International Business Machines Corporation Composite data-processing system using multiple standalone processing systems
US4855905A (en) * 1987-04-29 1989-08-08 International Business Machines Corporation Multiprotocol I/O communications controller unit including emulated I/O controllers and tables translation of common commands and device addresses
US5029074A (en) * 1987-06-29 1991-07-02 Digital Equipment Corporation Bus adapter unit for digital processing system
US4864496A (en) * 1987-09-04 1989-09-05 Digital Equipment Corporation Bus adapter module for interconnecting busses in a multibus computer system
US4991085A (en) * 1988-04-13 1991-02-05 Chips And Technologies, Inc. Personal computer bus interface chip with multi-function address relocation pins
US5083259A (en) * 1988-12-07 1992-01-21 Xycom, Inc. Computer bus interconnection device
US5129062A (en) * 1990-03-01 1992-07-07 Loral Aerospace Corp. VMEbus-UCDP interface module
US5043877A (en) * 1990-10-12 1991-08-27 International Business Machines Corp. Architecture converter for slave elements
US5191653A (en) * 1990-12-28 1993-03-02 Apple Computer, Inc. Io adapter for system and io buses having different protocols and speeds

Also Published As

Publication number Publication date
JPH06208548A (ja) 1994-07-26
US5581741A (en) 1996-12-03

Similar Documents

Publication Publication Date Title
JP2541767B2 (ja) スマ―ト・バス制御ユニット
JP3497834B2 (ja) ルートリピータ、usb通信システム、usb通信制御方法
US6397316B2 (en) System for reducing bus overhead for communication with a network interface
US7058748B1 (en) ATA device control via a packet-based interface
TWI452469B (zh) 周邊元件互連高速(PCIe)大容量儲存裝置、包含該PCIe大容量儲存裝置之系統及用於操作該PCIe大容量儲存裝置之方法
US7506077B2 (en) Unified controller having host and device functionality
US5918028A (en) Apparatus and method for smart host bus adapter for personal computer cards
US5802318A (en) Universal serial bus keyboard system
US5878272A (en) Computer system having two DMA circuits assigned to the same address space
JPH07191936A (ja) マルチプル・バス・インターフェース・アダプタ
US7191262B2 (en) High-throughput UART interfaces
US6567881B1 (en) Method and apparatus for bridging a digital signal processor to a PCI bus
US6105080A (en) Host adapter DMA controller with automated host reply capability
US6078742A (en) Hardware emulation
JP4444101B2 (ja) バスシステム、バスシステム内で用いるためのステーション、及びバスインタフェース
JPH09160866A (ja) バス・インタフェース論理システム及び同期方法
WO1998043173A1 (fr) Systeme d'emulation et processeur de donnees
US6622191B1 (en) Computer system
US20030200374A1 (en) Microcomputer system having upper bus and lower bus and controlling data access in network
JP4432388B2 (ja) 入出力制御装置
CN116701275B (zh) 终端设备扩展设备、方法、装置及总线标准设备
JP4930554B2 (ja) 入出力制御装置
CA2282166C (en) Method and apparatus for bridging a digital signal processor to a pci bus
Liang et al. PCIe/NIC
US7532625B2 (en) Block transfer for WLAN device control