JPH0743697B2 - ディジタルコンピュータシステム - Google Patents

ディジタルコンピュータシステム

Info

Publication number
JPH0743697B2
JPH0743697B2 JP63095374A JP9537488A JPH0743697B2 JP H0743697 B2 JPH0743697 B2 JP H0743697B2 JP 63095374 A JP63095374 A JP 63095374A JP 9537488 A JP9537488 A JP 9537488A JP H0743697 B2 JPH0743697 B2 JP H0743697B2
Authority
JP
Japan
Prior art keywords
bus
scsi
device controller
data
port
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
JP63095374A
Other languages
English (en)
Other versions
JPS63279358A (ja
Inventor
リー バーニック ディヴィッド
キン チャン ケニス
ミン チャン ウィン
フォン ダン イー
マン ホアン デューク
ハッサイン ズベイア
イーガンティアス イズワンディ ジェフリー
エドワード コーピ ジェイムズ
ウィリアム サナー マーティン
アーリン ズワガーマン ジェイ
ゲアリー シルヴァーマン スティーヴン
エマーソン スミス ジェイムズ
Original Assignee
タンデム コンピューターズ インコーポレーテッド
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 タンデム コンピューターズ インコーポレーテッド filed Critical タンデム コンピューターズ インコーポレーテッド
Publication of JPS63279358A publication Critical patent/JPS63279358A/ja
Publication of JPH0743697B2 publication Critical patent/JPH0743697B2/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/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
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/122Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware performs an I/O function other than control of data transfer
    • 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/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Bus Control (AREA)
  • Hardware Redundancy (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、一般に、多重プロセッサを基礎とするコンピ
ュータシステム内の複数のディジタルプロセッサと別々
の速度で動作するディスク駆動装置及びテープ駆動装置
のような周辺装置との間の通信にかかり、更に詳細に
は、小形コンピュータシステムインタフェース(SCSI)
式装置に接続された2つの独立に動作するポートと周辺
装置との間の通信のためのディジタルコンピュータシス
テム、これに用いるデバイスコントローラ、並びにデバ
イスコントローラ内のデータ及び指令の転送の制御方法
に関する。
〔従来の技術〕
若干種のディジタルコンピュータシステムにおいてはコ
ンピュータ動作を行なうための複数の独立プロセッサが
用いられている。その例としては、故障許容式モジュー
ル形の並列処理システムがある。これらプロセッサは、
本明細書においてはホストプロセッサと呼ぶが、周辺装
置として知られている他の装置とのディジタルデータ交
換(入力及び出力)を必要とする。
一般に、データは、バスコントローラの監視の下でシス
テムバスを介して交換される。周辺装置と交換し合わさ
れる情報は、一般に、デバイスコントローラと呼ばれる
入/出力サブシステムの監視の下にある。
米国特許第4,228,496号に開示されている多重プロセッ
サを基礎とする故障許容式演算システムの一例において
は、高速の本質的に同期的に通信されるデータの、比較
的低速の本質的に非同期の周辺装置との交換を容易なら
しめるデバイスコントローラが設けられている。このデ
バイスコントローラは、1つのホストプロセッサの故障
があってもシステムの動作が損なわれることのないよう
に構成されている。米国特許第4,228,496号の内容は、
本明細書において参照として説明する。即ち、本発明
は、この米国特許に開示のデバイスコントローラに対す
る改良を含んでいる。
米国特許第4,228,496号におけるデバイスコントローラ
は、ホストプロセッサ内で実行中のプログラムとの混信
を最少限化するために、ホストプロセッサに関する限
り、比較的高いデータ速度でデータの交換を取扱うこと
を意図して構成されている。このデバイスコントローラ
は割込み被動システムであり、データ転送中には周辺装
置に専用となっているホストプロセッサの負荷を軽減す
るために、データ転送が完了したときにのみ入出力プロ
グラム割込み(IO割込み)を提供する。このデバイスコ
ントローラは多重ポートを有し、その各々は他の全ての
ポートとは論理的及び機械的に独立であり、従って、各
デバイスコントローラを、少なくとも2つの異なるホス
トプロセッサにアクセスするように接続することができ
る。
米国特許第4,228,496号に開示のデバイスコントローラ
は、そのタスクを遂行するために、入出力動作に専用の
マイクロプロセッサ(I/O MPU)を用いている。このI/O
MPUはデバイスコントローラの内部の入出力バス構造
(デバイスコントローラ構造)を制御し、この構造上
で、要求中の全てのホストプロセッサ及び応答中の全て
の周辺装置からのデータ、並びに、それ自体の動作及び
指令制御のみのためのデータが運ばれる。ホストプロセ
ッサがI/O MPUに、データ転送の型、要求された周辺装
置、データブロックのサイズ、優先順位等について報知
するのはこの内部バス構造を通じて行なうのである。デ
バイスコントローラの動作の「所有権」が発効するのも
このI/O MPU及びデバイスコントローラを通じてなされ
る。
〔発明が解決しようとする課題〕
前記の米国特許にかかるデバイスコントローラについて
の経験によれば、いくつかの欠点のあることが判明し
た。例えば、一つの欠点はこのデバイスコントローラ自
体内にある。即ち、専用マイクロプロセッサによる入出
力機能の独立的制御という利点があるが、かかる構成に
おいてはホストプロセッサの貴重な時間の最も効率的な
利用がなされない。最も高速のマイクロプロセッサで
も、指令(例えば入出力リクエスト)を翻訳するのに一
定時間を必要とし、そのために、多重プロセッサシステ
ムの比較的複雑な環境内のデバイスコントローラバス構
造及びシステムバスの両方に対する時間の最も効率的な
利用がなされないということが認められている。
また、米国特許第4,228,496号のデバイスコントローラ
においては、このデバイスコントローラは、該デバイス
コントローラの諸ポート間で選択する切替機構を介して
一時に一つのホストプロセッサのみに「唯一の所有権」
を許容するように構成されている。従来は、唯2つのポ
ート及び唯1つの所有権ラッチしかなく、前記ラッチ
は、第1のポートまたは第2のポートのいずれかに、従
って唯1つのチャネル入出力バスに所有権を許容する。
従って、理論的にはデバイスコントローラを介して周辺
装置へ至る多重通路があるが、1つだけのポートが使用
されておってデータ交換の過程中にあるときには、唯1
つのホストプロセッサがデバイスコントローラを介して
任意の周辺装置にアクセスすることができるだけであ
る。デバイスコントローラへの他のホストプロセッサか
らのアクセスは、前記デバイスコントローラの所有権を
有するホストプロセッサを介してその後になさざるを得
ない。これは、いくつかの周辺装置が単一のデバイスコ
ントローラを介して接続されており、そしていくつかの
ホストプロセッサがこれら周辺装置にアクセスしたいと
望む場合に、重大な欠点となる。
米国特許第4,228,496号に開示の発明にかかるデバイス
コントローラにおける他の欠点は、このデバイスコント
ローラを多数の周辺装置と、または標準として広く認め
られている選択された形式の相互接続構造を有する周辺
装置と接続する能力が制限されているということであ
る。周辺装置の形式が多くなるにつれて、各々がその独
自の要件及び特性を有している各形式またはブランドの
周辺装置に対する専用のインタフェースを作ることが容
易でなくなってきている。このことは、かつては数十万
ドルの価格であったシステムが、僅かその数分の一の価
格の後発システムによって取って代わられつつあるとい
う、益々広がりつつある「最低価格」のコンピュータ市
場において特にその通りである。その一つの理由は標準
化であり、これにより、規模が経済的となる。
しかし、故障許容式演算システムを、その利点ととも
に、種々の標準的入出力インタフェースまたはバスと併
合させるということは従来からほとんどなされていな
い。一つの併合式周辺装置入出力インタフェースとして
はSCSIバスがあり、これは、現在、多くの個人用コンピ
ュータに対して広く用いられている。その結果、多くの
廉価であってしかも高品質の周辺装置が現在市販されて
いる。
現在強く要望されているのは前記の如き欠点のないデバ
イスコントローラである。
従って、本発明の目的は、前記従来の欠点のないように
改良したデバイスコントローラを提供することにある。
本発明の他の目的は、かかるデバイスコントローラを備
えた改良されたディジタルコンピュータシステムを提供
することにある。本発明の更に他の目的は、ディジタル
コンピュータシステムに使用の際のデバイスコントロー
ラ内のデータ及び指令の転送を制御するための改良され
た方法を提供することにある。
〔課題を解決するための手段〕
本発明によれば、少なくとも第1のホストプロセッサ及
び第2のホストプロセッサと、前記第1のホストプロセ
ッサに接続された第1の入出力チャネルバスと、前記第
2のホストプロセッサに接続された第2の入出力チャネ
ルバスと、プロセッサ間バスとを含んでおり、前記第1
及び第2のホストプロセッサの各々は前記プロセッサ間
バスによって互いに接続されているディジタルコンピュ
ータシステムにおいて、第1のデバイスコントローラを
備え、前記第1のデバイスコントローラは、前記第1の
入出力チャネルバスに接続された第1のポートコントロ
ーラ及び前記第2の入出力チャネルバスに接続された第
2のポートコントローラと、第1のSCSIバスに接続され
た第1の周辺装置コントローラ及び第2のSCSIバスに接
続された第2の周辺装置コントローラとを有し、第2の
デバイスコントローラを備え、前記第2のデバイスコン
トローラは、前記第1の入出力チャネルバスに接続され
た第3のポートコントローラ及び前記第2の入出力チャ
ネルバスに接続された第4のポートコントローラと、前
記第1のSCSIバスに接続された第3の周辺装置コントロ
ーラ及び前記第2のSCSIバスに接続された第4の周辺装
置コントローラとを有し、前記第1、第2、第3及び第
4のポートコントローラはそれぞれ関連の前記デバイス
コントローラの共有の所有権を前記第1及び第2のホス
トプロセッサに許諾する所有権ラッチを有し、それによ
り前記第1、第2、第3及び第4のポートコントローラ
はそれぞれ前記第1又は第2のホストプロセッサの一方
と前記第1及び第2のSCSIバスに接続された任意の周辺
装置のうちの一つとの間に少なくとも2つのデータ通路
を提供する、ことを特徴とするディジタルコンピュータ
システムが提供される。
以下、本発明を図面について詳細に説明する。
〔実施例〕
第1図を参照して本発明の実施例について説明する。第
1図において、以後はホストプロセッサ33−0及び33−
1(総称的に番号33で示す)と呼ぶいくつかのホストモ
ジュールは、双対プロセッサ間バス(IPB)35、即ちX
バス(IPB−X)及びYバス(IPB−Y)によって接続さ
れている。各バスはバスコントローラ37によって制御さ
れる。各ホストプロセッサ33には入出力(I/O)チャネ
ル109−0及び109−1(総称的に109で示す)が設けら
れており、該チャネルはチャネルI/O(CIO)バス39−0
及び39−1(総称的に39で示す)に接続されている。
第1図においてはまた、複数のデバイスコントローラ41
−0及び41−1(総称的に41で示す)が本発明に従って
接続されている。各ホストプロセッサ33のCIOバス39
は、好ましくは、各デバイスコントローラ41の少なくと
も1つのポートに接続されている。詳述すると、第1の
CIOバス39−0は各デバイスコントローラ41−0及び41
−1の第1の周辺ポートコントローラ(PPC−0)43−
0に接続され、第2のCIOバス39−1は各デバイスコン
トローラ41−0及び41−1の第2の周辺ポートコントロ
ーラ(PPC−1)43−1に接続されている。
デバイスコントローラ41には、小形コンピュータシステ
ムインタフェース(SCSI)として知られている標準構成
の2つの周辺装置バス111−0及び111−1(総称的に11
1で示す)のためのプロトコルコントローラ(SPC)44−
0及び44−1(総称的に44で示す)が設けられている。
図においては、これらをSCSI−0111−0及びSCSI−1 11
1−1として示してある。SCSI規格は、米国規格協会の
出版物であるANSI規格X3.131−1986に記載されており、
その構成部品が、SCSIバスの機能を実行するために市販
されている。例えば、本発明の一実施例において、SCSI
インタフェースは、富士通社で製造され、米国、カリフ
ォルニア州、サンタクララ市の富士通アメリカ社から市
販されているMB87030型チップによって実行される。
SCSIバス111の主機能は、テープ駆動装置49(内部SCSI
コントローラつき)及びディスク駆動装置(内部SCSIコ
ントローラつき)のような標準SCSI周辺装置のためのポ
ート接続を提供することである。前記SCSIバスは、1つ
よりも多くのデバイスコントローラをこれに接続するこ
とのできる型のものである。(例えば、デバイスコント
ローラを含む8つまでの装置を1つのSCSIバスに接続す
ることができる。)従って、第1のデバイスコントロー
ラ41−0及び第2のデバイスコントローラ41−1の両方
が第1のSCSIバス111−0に接続され、第1のSCSIバス1
11−0には第1のセットのSCSI周辺装置45及び49が接続
される。更に、第1のデバイスコントローラ41−0及び
第2のデバイスコントローラ41−1はまた第2のSCSIバ
ス111−1に接続され、第2のSCSIバス111−1には第2
のセットのSCSI周辺装置45が接続される。このように、
各CIOバス39は各SCSI装置45または49に対して少なくと
も2つの通路を有し、各ホストプロセッサは各SCSI装置
45または49に対して少なくとも4つの通路を有す(その
うちの2つの通路はIPB35を介して他のホストプロセッ
サを通る)。この構成により、全体的のコンピュータシ
ステムの信頼性がかなり高められ、そして、例えば、他
のSCSI装置へのアクセスに悪影響を与えることなしに1
つのデバイスコントローラを一時的に取り外すことがで
きる。
他の特徴として、デバイスコントローラ41はまた、非同
期(ASYNC)端子47、及びANSIプロトロル規格X.25また
はX.21に合致するリンクを含むパケット通信リンク347
のためのホストプロセッサ33への、またはこれからのア
クセスを可能ならしめる。
第1図に示す構成及びコンピュータアーキテクチャは、
本明細書において参照として説明する米国特許第4,228,
496号に開示されている構造とは異なり且つこれに対す
る改良点を有する新規な型のシステムである。
次に第2図について説明すると、図は本発明実施例のデ
バイスコントローラ41のブロック線図を示すものであ
る。即ち、データバッファ(DB)バス100及びマイクロ
プロセッサ(MPU)バス102が、第1のバススイッチ(DB
BS)104によって互いに接続されて組合せとなって設け
られている。本例においては、DBバス100は、その動作
クロック速度がMPUバス102よりもかなり異なった速度で
ある同期バスであり、DBBS104は、種々のクロック速度
で動作するバス相互間のデータ及び指令の適時的転送を
確保するためにDBバス100とMPUバス102との間のデータ
及び指令の転送を緩衝するバススイッチである。
DBバス100には、データバッファ直接メモリアクセスコ
ントローラ(DB DMA)106、第1のPPC43−0、第2のP
PC43−1、SPC44、及びDBバス100上で転送される全ての
データ型情報を一時的に記憶するための高速読出し/書
込みランダムアクセスメモリ(DBMEM)108が接続されて
いる。
MPUバス102には、マイクロプロセッサ(MPU)119(モト
ローラ社製の、またはそのライセンスの下で製造された
68010型マイクロプロセッサのような)、容量16KBの電
子式消去可能読出し専用メモリ(EEROM)110のような命
令メモリ、容量512KBのランダムアクセスメモリ(MEM)
112、例えば日立社製の68450型DMA装置(パート番号HD6
8450)のような普通の直接メモリアクセスコントローラ
(DMA)114、X.25ビット向けパケットプロトコル及びX.
21バイト向けパケットプロトコルを支持する標準の直列
通信チップ装置(SCC)116(ツィロッグ(Zilog)Z8030
型直列通信チップのような)、並びにシネテックス社製
のシネテイックス2861型チップのような少なくとも1つ
の標準の双対汎用非同期受信/送信器(DUART)118−1
及び118−2(総称的に118で示す)が接続されている。
SCC116及びDUART118の外部構成は装置依存性であり、従
ってこれ以上の説明は不要である。
DMA114を用い、データを、MPUバス上で、SCC116またはD
UART118及びMEM112へ、またはこれから転送する。前記D
MAはMPU119と緊密に協働する。大きなデータブロックを
移動させ、そして伝送の終りにMPU119に対して割込み信
号を発生するようにDMA114チャネルをプログラムするこ
とができる。
SPC44は、SCSIバス111−0及び111−1に対する2つの
ポート144−0及び144−1を有す。SCSIバスは多重化さ
れている。また、後述するように、SPCバス120が、SPC
構成の一部としてSPCバススイッチ122とともに設けられ
ており、該スイッチは双方向指令を提供し、MPUバス102
とSPCバス120との間の接続を制御する。
デバイスコントローラ41は、割込み回線(簡明化のため
に図示せず)上に複数の割込みを発生し、またはこれに
応答する。割込みは、PPC43(43−0及び43−1の総
称)を通る入出力チャネルにより、SPC44を通る入出力
装置により、DB DMA106またはDMA114からのDMAチャネル
により、SCC116及びDUART118のような通信インタフェー
スにより、タイムアウトにより、及びハードウェアエラ
ーによって発生される。重要なのは、ホストプロセッサ
からのEIOに応答してPPC43によって発生される割込みで
ある。
第3図について説明すると、DB DMA106は極めて速い状
態のマシンであり、その機能は、DBバス100へのアクセ
スを制御することである。DB DMA106は、SPC44を介して
PPC43と周辺装置との間のDBバス100上のデータ転送に対
する時間を割当てるためにダイナミックアービトレーシ
ョンとして知られている手法を用いる。このために、DB
DMA106は、MPU119の制御の下で行なわれるデータ転送
機能及びデバイスコントローラ管理機能の2つのチャネ
ルの間でDBバス100(第2図)上に時間を割当てるため
のアービトレーションロジックを有し、その全てはDBバ
ス100の使用を必要とする。DB DMA106は双対チャネル装
置であり、2つのチャネルのデータに対する並行支持、
データの各フレームに対して割込みサイクルを繰返すと
いう必要なしにデータの連続フレームの連鎖を支持する
ように再プログラムされること、及び単一のタスクに対
して両方のチャネルを用いることによって標準速度の2
倍の速度でのデータ転送を支持するように再プログラム
されることが可能である。
第3図、第4図及び第6図について説明すると、アービ
トレーションロジックは次の諸リクエストに応答する。
即ち、チャネル0に対するリクエスト(REQO*)(
は理論低レベル(LOW)が真(TRUE)であるということ
を示す)、チャネル1に対するリクエスト(REQ1*)、
及びMPU119に対するバスリクエスト(BREQ*)に応答す
る。DB DMAは少なくとも次の諸割込みを発生する。即
ち、チャネル0の肯定応答可用度(ACK0*)、チャネル
1の肯定応答可用度(ACK1*)、及びBREQ*に応答して許
諾されるバス使用度(BGNT*)を発生する。これら割込
みの各々の相対タイミングの例を、システムクロック
(SYSCLK)及び2チャネル・データ転送(XFR0及びXFR
1)について第6図に示す。第6図は、全てのリクエス
ト信号が同時に主張された場合のDB DMA106の動作を示
すものである。先ず、3ウェイ・コンフリクトを示し、
次いでチャネル相互間の2ウェイ・コンフリクトを示
す。単一のチャネルを介するデータ転送が生ずることの
できるのは、利用可能時間の2分の1よりも多くはな
い。しかし、アービトレーションロジック200を介するD
B DMA106は、転送されるべきデータまたは処理されるべ
き指令が存在しているならば、むだとなるクロックサイ
クルが事実上なくなるという制御をDBバス100に対して
行なう。DMAリクエストからDMA肯定応答までの最大待ち
時間(第6図における210)は、DBバス100のいずれのチ
ャネルに対しても2クロックサイクルである。(バスリ
クエストに対する待ち時間はチャネル上の負荷に応じて
定まる。例えばタイムアウトとなる場合もある。全ての
チャネルリクエストはMPU119によって発生されるので、
極端の場合には、待ち時間が、未解決チャネルリクエス
トの待ち行列をなくするのに必要な時間以下となる可能
性がある。) 再び第3図及び第4図について説明すると、アービトレ
ーションロジックは、3つの実質的に同じ状態マシン、
即ち、チャネル0状態マシン(CH0 SM)202、チャネル
1状態マシン(CH1 SM)204、及びバス要求/バス許諾
状態マシン(BREQ/BGNT SM)206と通信している。状態
マシン202、204、206の各々は、第4図に示すように各
々が4つの状態S0、S1、S2、S3を有しているという点
で、実質的に同じである。状態S0は停止状態であり、状
態S1は、停止状態中になされる全てのリクエスト(REQ
0、REQ1、BREQ)の後に続く肯定応答状態であり、状態
2はデータ転送状態であり、状態3はエラー状態であ
る。どれか1つまたは両方のデータ転送チャネルが非活
動であり(CH0 SM202及び/又はCH1 SM204が停止状態S0
になっている)、そしてBREQ*信号が主張されると、DB
バス100は1転送期間にわたってMPU119に対して放棄さ
れる(例えば、第6図のBXFRの212)。状態マシン202、
204、206のうちのどれかが停止状態S0になっていると、
リクエスト信号(REQ*)によって状態S1への遷移が生ず
る。状態マシンが状態S1になっていると、DB DMA106
は、DB MEM108によって使用されるべきアドレス、及び
その次のアドレスのためのアドレスパリティを計算しつ
つある。状態S1は肯定応答状態であり、要求中の素子に
対する肯定応答の発生の後に続く或るシーケンスの信号
を状態マシンが期待するということを意味する。詳述す
ると、状態S1の後に続いて、リクエスト信号(REQ*)の
引き続きの主張及びデータの転送が期待される。さもな
いと、エラー状態が支持される(状態S3)。全てのデー
タ転送が完了し、そしてリクエスト信号が取り下げられ
る(REQ*主張解除)まで、状態マシンは状態S1と状態S2
との間を遷移する。状態S1にあるときにREQ*が主張解除
されると、状態マシンはエラー状態S3へ遷移する。この
マシンは、リセット信号の主張まで、「エラー」状態に
留まっている。エラー状態においてリセット(Rese
t*)信号が主張されると、状態マシンは停止状態S0へリ
ストアされる。状態S2が呼出されると、データ転送が生
ずる。この故に、データ転送状態(DXFR)というその呼
称がある。リクエスト信号(REQ*)が主張解除のままに
なっていると、状態マシンは状態S1へ戻る。リセット信
号(RESET*)が主張される前に新たなリクエスト信号が
主張されないと、状態マシンは停止状態S0へ戻る。しか
し、状態S2においてリクエスト信号REQ*が主張解除され
ると、状態マシンはまた停止状態S0へ戻る。
データ転送のためのチャネル(CH0及びCH1にそれぞれ関
係する第6図のXFR0及びXFR1)の各々は互いに独立に動
作する。しかし、いうまでもなく、同じバスサイクル中
には、SPC44を介する同じ周辺装置と同じ要求ポートPPC
−0 43−0またはPPC−1 43−1との間でデータを転送
することはできない。全ての正常のデータ転送は、DB D
MAのメモリアドレス出力(MADRS)224(第5図)によっ
て指示されたDB MEM108内の記憶場所へ書込まれ、また
はこれから読出される。
第5図について説明すると、図はDB DMA106のアーキテ
クチャを示す線図である。このアーキテクチャの重要な
特徴は高速加算器であり、詳述すると、チャネルアドレ
ス発生のための加算及び減算の各動作を1クロック周期
以内で行なうことのできる2レベル形キャリルックアヘ
ッド(CLA)加算器である。チャネル0アドレスレジス
タ(CH0−ADRS−REG)216及びチャネル1アドレスレジ
スタ(CH1−ADRS−REG)218の内容が、CLA加算器214へ
の1つの入力として、アドレスマルチプレクサ(ADRS M
UX)220を介して提供される。被加数アドレス(ADRS AU
GEND)222がCLA加算器214への他の出力として提供さ
れ、その出力はDB MEM108内のメモリアドレス(MADRS)
であり、DBバス100上のデータがこれに書込まれ、また
はこれから読出される。
DB DMA106は、優先データの連続的転送のために、ブロ
ック内の関連データを指示の標準のデータ転送速度で連
鎖することができる。これは、通常はMPU119(第2図)
によって行なわれ、データの各フレームに対して割込み
サイクルを繰返すことが必要となる機能である。しか
し、この目的のために、本発明にかかるDB DMA106を代
りに用いる。その結果、デバイスコントローラ41の、選
択されたデータ転送動作の速度がかなり向上する。
第5図について説明すると、マスタ制御レジスタ(CH0
−CHAIN−PTR−REG)260、チャネル0制御レジスタ(CH
0−CTRL−REG)262、及びチャネル1制御レジスタ(CH1
−CTRL−REG)264が接続され、データ入出力ポート268
からレジスタバス266を介して入力データを受取り、ま
た、レジスタマルチプレクサ(MUX)270を介してレジス
タバス266及びデータ入出力ポート268へ出力を提供する
ようになっている。次に動作モード及びアーキテクチャ
について説明すると、チャネル0チェーンポインタレジ
スタ(CH0−CHAIN−PTR−REG)226は、チャネル0アド
レスレジスタ(CH0−ADRS−REG)216に接続されている
チャネル0アドレスマルチプレクサ(CH0−ADRS−MUX)
228に接続されており、チャネル1チェーンポインタレ
ジスタ(CH1−CHAIN−PTR−REG)230は、チャネル1ア
ドレスレジスタ(CH1−ADRS−REG)218に接続されたチ
ャネル1アドレスマルチプレクサ(CH1−ADRS−MUX)23
2に接続されている。連鎖状態は、適当する指令語をチ
ャネル制御レジスタ262に入れることによってイネーブ
ルされる。連鎖がイネーブルされると、イネーブル済み
チャネルのそれぞれのチャネルアドレスレジスタ216及
び218が対応のチャネルチェインポインタレジスタ226ま
たは230からロードされ、これにより、連鎖順序づけが
開始される。連鎖順序づけは、チェインパラメータがメ
モリから取出されるまで継続し、その後、正規のチャネ
ル動作が再開する。他のチャネル上の正常の機能を支持
しながら動作を連鎖するためにDB DMA106のチャネルを
再プログラムするという能力は、この分野における既知
の技術にはなかったものである。
各転送の完了を検査するために、比較器250が設けられ
ており、アドレスMUX220を介する能動チャネルアドレス
レジスタ216または218の内容を、エンドアドレスマルチ
プレクサ(END−ADRS−MUX)258を介する対応のエンド
ポインタレジスタ(CH0−END−PTR−REGまたはCH1−END
−PTR−REG)254または256の内容と比較するようになっ
ている。比較器250の出力は等値(Equal value)または
非等値(NOT Equal value)のいずれかであり、これを
用いてデータ転送を制御する。
本発明の他の特徴として、この装置が正しく動作してい
るということを確認するためにアドレスパリティ予測を
用いる。詳述すると、次にスケジュールされているアド
レスのアドレスパリティを予測して実際のパリティと比
較し、データが、実際に、正しい記憶場所へ及びこれか
ら順々に転送されつつあるということを確認する。この
目的で、普通のパリティ発生器270が設けられており、
その入力としてCLA加算器214の出力を有している。ま
た、パリティ予測器272が設けられており、その入力と
して、アドレスマルチプレクサ220の出力端子を介する
チャネルアドレスレジスタ216または218の出力を有し、
他のその入力として、レジスタバス266を通ってマルチ
プレクサ270を介する対応のチャネル制御レジスタ262及
び264の選択された制御ビットを有す。パリティ発生器2
70及びパリティ予測器272の出力端子は比較器274に接続
されている。チャネル制御レジスタ262、264は、転送の
型に関する情報及び各チャネルに対するアドレスインク
リメントを有している。チャネルアドレスレジスタ21
6、218は各チャネルの現在アドレスを有している。パリ
ティ予測器272は、アドレスインクリメント及び現在ア
ドレスを結合して予測パリティを得るようにするための
手段を具備している。従って、比較器274の出力は、現
在パリティ、及び先行アドレスから予測されたパリティ
であるかどうかを指示するものである。不等はエラー状
態である。
第7図は本発明の実施例の2つの周辺ポートコントロー
ラ(PPC)43−0及び43−1のブロック線図である。本
発明においては、独立作動式PPCラッチ300(300−0及
び300−1を総称)が各PPC43に付属または内蔵されてい
る(PPC−0はPPCラッチ300−0を有し、PPC−1はPPC
ラッチ300−1を有す)。各PPCラッチ300は独立に動作
する。従って、2つの入出力チャネルは所有権セットを
同時に持つことができる。第7図に示す実施例において
は、各PPC 43−0、43−1は、データバッファ303−
0、303−1に接続されたポートチップ302−0、302−
1を有し、これにより、CIO 39−0、39−1上に送り出
されたEIOは割込みを生じさせ、PPCラッチ300−0、300
−1をセットする。ポートチップ302−0、302−1はま
た、CIO 39−0、39−1とDBバス100との間に制限され
たデータ緩衝を提供する。各PPC43は、EIO受信及びデー
タ緩衝のために下記のレジスタを有す。
バッファ−A(Buffer−A):データバッファ、 バッファ−B(Buffer−B):データバッファ、 バッファ−C(Buffer−C):データバッファ、 RAC:再接続シーケンスの読出しアドレス及び指令語の記
憶のためのレジスタ、 RIC:割込みシーケンスの読出し割込み要因語の記憶のた
めのレジスタ、 RIST:割込みシーケンスの読出し割込み状態語の記憶の
ためのレジスタ、 LAC:EIOシーケンスのロードアドレス及び指令語の記憶
のためのレジスタ、 LPRM:EIOシーケンスのロードパラメータ語の記憶のため
のレジスタ、 状態:PPC内の状態信号へのMPU119によるアクセスを提供
する3つのレジスタ、 フラグ制御:MPU119がPPC内で種々のフラグをセット及び
クリアすることを可能ならしめるレジスタ、 バースト長:単一の再接続パースト内の語の最大数(最
大128)を制御するレジスタ。
DB DMA106は、読出しアクセス及び書込みアクセスのた
めの3つのバッファA、B及びCに対する直接アクセス
を有す。これらバッファは、双方向待ち行列として構成
された語巾レジスタである。これらレジスタは、DBバス
100からCIO39までの転送入中、システムクロック(SYS
−CLK)(ホストプロセッサに付属)によってクロック
される。出転送中、これらはCIO39チャネルハンドシェ
ークSVOによってクロックされる(CIO39についてのこれ
以上の説明については米国特許第4,228,496号を参照さ
れたい)。2つの3ビット循環シフトレジスタをポイン
タとして用いる。第1のポインタはSYS−CLKによってク
ロックされ、シフトはDB DMA106(第6図)からのDMA−
ACK信号によってイネーブルされる。第2のポインタはS
VOによってクロックされ、シフトはCIO39を介するIN TB
US指令またはOUT TBUS指令によってイネーブルされる。
これら2つのポインタは、データをロードまたはアンロ
ードされるべき次のレジスタ(バッファA、Bまたは
C)のトラックを保持する。2ビット同期カウンタがバ
ッファA、B及びC内の語数のトラックを保持する。こ
の同期カウントは、いつDMA−REQ*信号を主張しなけれ
ばならないかを決定するのに用いられ、また、状態レジ
スタを介してMPU119に利用可能である。
停止状態においては、PPCラッチ300は「ポートオウン」
信号(PPCラッチ300−0によるP0−OWN*及びPPCラッチ3
00−1によるP1−OWN*)を主張しない。しかし、適当す
る信号がPPCチップ302(302−0及び302−1の総称)に
よって受信されると、「所有権取り」割込み信号が、PP
Cチップ302により、信号線304を介してPPCラッチ300に
対して主張される(Takeown*)。各PPCポート41は、比
較器306及び適当するスイッチ308を介して正しく識別さ
れる。アドレス指定されたPPCラッチ300は、MPU119に対
する割込みとしてポート所有権(P0−OWN*及びP1−OW
N*)を主張する。その後、MPU119のタスクとして、EIO
を翻訳し、前記ポートのうちのどれが、DBバス100のど
のデータチャネルを持つべきか、及びDBバス100の2つ
のデータチャネルCH0及びCH1を指定済みポートの一方ま
たは双方へ割当てるようにDB DMA108を構成すべきかを
指定する。PPCラッチ300を介する二重所有権及びDB DMA
106の二重チャネル動作があるので、デバイスコントロ
ーラは、共通タイムフレーム内で、そしてCIOバス39が
関係する限りでは同時に、周辺装置への及びこれからの
全てのプロトコル及びデータ転送を取扱うことができ
る。各PPCは本質的に同時の動作が可能である。同時動
作においては、第1のPPC43−0は積極的にデータ及び
指令を転送することができ、一方、第2のPPC43−1も
積極的に情報を転送することができる。しかし、かかる
転送は指令に限定される。
これは全て、MPU119を介する直接データ転送なしに行な
われる。これは、この分野に知られている他のデバイス
コントローラ、即ち、所望のデータ転送の型に従って再
構成することのできるデバイスコントローラとはかなり
異なる。
EIOを受信する過程において、DB DMA106はMPU119へのバ
スアクセスを許容することが必要である。このために、
MPU119は、PPC43によって放り出される適切な割込みに
応答し、バススイッチ104を介してDM DMA106へBRQT信号
を送る。
第11図について説明すると、図はバススイッチ104の一
実施例を示すものである。バススイッチ104はスリース
テートバッファ(TSB)400、遅延手段402及びラッチ404
を具備している。スリーステートバッファ400の出力イ
ネーブル端子はDB DMA106(使用中のチャネルと同期す
るクロック線)から遅延手段402を介して制御される。
前記遅延手段の機能は、より高い速度のDB DMAバス100
へ転送されるべきMPUバス102からの順次続くデータブロ
ック相互間の混信を最少限化するために、先行のデータ
転送の後に十分な時間が経過した後に、スリーステート
バッファ400をイネーブルすることである。遅延手段402
は、一般に、20nsの遅延、従って、200nsクロックにお
いて動作するデータ転送相互間の20nsのウィンドーを提
供する。バススイッチ104は、更に、より高速のDBバス1
00からデータを受取るように接続されたラッチ404を具
備している。前記ラッチは、受信したデータを、より遅
いMPUバス102による使用のためにラッチするように働
く。ラッチ404もスリーステート装置であり、その出力
イネーブル端子はMPU119の制御の下にある。即ち、MPU1
19は、ラッチ404内容をいつ読出すかを決定するからで
ある。重要なこととして、バススイッチ104の動作制御
はDB DMA106内に存在するのであり、詳述すると、アー
ビトレーションロジック200及びBREQ/BGNT状態マシンの
バス要求/バス許諾プロトコルの一部であり、MPU119、
及びMPUバス102に接続される他の全の素子と通信するよ
うになっている。(例えば大部分のデータ転送は、6845
0型DMA114の制御の下でメモリ112を介するものであ
る。)MPU119と協力するバススイッチ104の動作を次の
例について説明する。
MPU119へのEIOの転送は、PPC43からバススイッチ104を
介してMPU119へ至るのである。PPC43が割込みをMPU119
へ発し、該MPUはDB DMA106に対してバス要求を開始す
る。次いで、DB DMA106はMPU119に対してバス許諾を発
する。次いで、MPU119は、PPC43からDBバス100及びバス
スイッチ104を介してEIOを捕獲する。次いで、MPU119は
指令構造を翻訳し、一方、DB DMA106はDBバス100上の他
のデータ転送を制御する。MPU119がEIOの翻訳を完了す
ると、該MPUは、再び、DBバスのバスサイクルを要求し
てDB DMA106にアクセスし、データ転送のポート及び形
式についてこれに命令する。バス許諾が与えられると、
MPU119はバススイッチ104を介してDB DMA106のレジスタ
に命令を転送する。
周期的バスが、バッファ及びラッチを具備するバススイ
ッチによって接続されるという本発明の多重バスアーキ
テクチャの一つの顕著な利点は、相異なる速度の装置を
極めて簡単にインタフェースさせ、そして必要に応じて
変更することもできるということである。例えば、より
速いマイクロプロセッサチップをMPU119の位置に置き換
えたい場合には、これは、構成部材を交換してMPUバス
クロック速度を上げるという比較的簡単な仕事となる。
DBバス100の速度及び動作は影響を受けない。
EIO及び関係のベクトルによって指示されるデータ転送
に対してSPC44を構成するために、MPU119はSPCバススイ
ッチ122及びSPCバス120を介してSPC44にアクセスする。
第8図について説明すると、図は本発明にかかるSPC44
を示すものである。SPC44はSCSIプロトコルコントロー
ラチップ(SPCチップ)402の回りに作られており、この
チップは例えば富士通社製のMB87030型である。SPCチッ
プ402は、DBバス100に間接的に、及びSPCバス120に直接
に接続されている。DBバス100とSPCチップ402との間に
はDBバス100上のバイトアセンブリレジスタ404及びパリ
ティレジスタ406が接続されており、前記バイトアセン
ブリレジスタは、回線403を介して通過させられるべきS
PCチップ402に対するデータバイトを組立て、前記パリ
ティレジスタは、SPCチップ402によって期待されるパリ
ティとの互換性を提供するためにバイトアセンブリレジ
スタ404内のデータに対する奇数パリティを生成させ
る。
SPCバススイッチ122はラッチ410及びバッファ412を具備
している。前記スイッチはMPUバス102とSPCバス120との
間に接続され、双方向指令を提供し、及びMPUバス102と
SPCバス120との間の接続を制御する。SPCバススイッチ1
22は、MPU119からラッチ410及びバッファ412へ至る割込
み線408上の信号によってイネーブルされる。
SPCチップ402は1つのSCSIポートしか有していないか
ら、本発明においては2つのSCSIバス111−0及び111−
1を接続するための方策を行なうことが必要である。そ
れで、SPC402はマルチプレクサの組418に対して1組の
ドライバ線414及びレシーバ線416を設ける。図示の実施
例においては、SPCチップ402自体に対するマルチプレク
サの組418は、SCSI−0バス111−0及びSCSI−1バス11
1−1に対してそれぞれイネーブルドライバとして働く
第1及び第2の組の二重入力オープンコレクタ出力NAND
ゲート420−0及び420−1、並びに、SCSI−0バス111
−0及びSCSI−1バス111−1に対してそれぞれスリー
ステートレシーバとして働く対応の第1及び第2の組の
インバータ422−0及び422−1を具備している。また、
第3及び第4のインバータの組424−0及び424−1が、
それぞれのSCSIバス111−0及び111−1からのレシーバ
として接続され、且つSCSI割込みロジック手段426に接
続されている。このSCSI割込みロジック手段は、SPCバ
ス120に接続され、且つ割込み線428を有し、この割込み
線はMPU119に接続されている。更に、バスセレクトレジ
スタ430が、SPCバス120上に設けられており、イネーブ
ルバス0線(EN0)432及びイネーブルバス1線(EN1)4
34を有している。イネーブルバス0線432は、SCSI−0
バス111−0に付属のドライバ420−0及びレシーバ422
−0に接続され、エネーブルバス1線434は、SCSI−1
バス111−1に付属のドライバ420−1及びレシーバ422
−1に接続されている。
SPC44は、SPCチップ402に通ずるSPCバス120を介してMPU
119からのプログラミング指令に応答することができ、
バスセレクトレジスタ手段430を介するMPU119からの指
令によって選択されるSCSIバス111−0または111−1の
いずれかから、またはこれへ、DBバス100へ、またはこ
れから、データ(読出し及び書込み)を通過させること
ができ、または、SCSIバス111−0または111−1のいず
れかの上にある周辺装置からの信号に応答するSCSI割込
みロジック手段からの割込み線428を介してMPU119に割
込むことができる。従って、デバイスコントローラ41
は、2つまたはそれ以上の並行指令中、同じ動作サイク
ル内で、選択可能SCSIバス上で、多重チャネルから多重
装置への多重アクセスを可能ならしめる。
SPCチップ402への、またはこれからのDBバス100上の奇
数バイト転送を容易ならしめるために、バイトアセンブ
リレジスタ404は、MPU119により、DBバス100を介して、
ワードモードでの読出し及び書込みが可能である。これ
は、8ビット装置(SPCチップ402)と高速16ビットバス
(DBバス100)との間のデータ転送を容易ならしめる。
詳述すると、SPCチップ402からのINモード転送中、DBバ
ス100に対する第1のバイトはバイトアセンブリレジス
タ404の最上位のバイト側に記憶され、第2のバイトが
レディとなると、前記第1のバイトはバイトアセンブリ
レジスタ404からDBバス100の最上位のバイト側へ送ら
れ、且つ一方、最下位のバイトは、スリーステートドラ
イバ405を介して、DBバス100の最下位のバイト側へ送ら
れる。SPCチップ402へのOUTモードの転送中、DBバス100
の最上位のバイトがスリーステートドライバ407を介し
てSPCへ直接転送されると、DBバス100の最下位のバイト
はバイトアセンブリレジスタ404の最下位のバイト側へ
転送される。SPCチップ402へ転送されるその次のバイト
はバイトアセンブリレジスタ404からの最下位のバイト
である。
SCSI割込みロジック手段426は、2つのSCSIバス111の各
々からの割込みと漠然と呼ばれる3つの状態を制御し、
これにより、6つの可能な条件の下で、MPU119へ、割込
み線428上で割込み提供するロジック装置である、前記
の状態とは、(1)SCSIバスがリセットされた、(2)
SCSIバスがフリーであった、(3)デバイスコントロー
ラがSCSIバス上で再選択されつつある。という状態であ
る。全数6つの条件は、該条件のうちのどれか一つによ
って割込みが割込み線428を介してMPU119へ発せられる
ように、論理和処理される。
割込みを生じさせる前記6つの条件は、6つの回線によ
り、MPU119から、SCSI割込みロジック手段426内のレジ
スタに接続された読出し/書込み/制御ポート429へ、
個々にイネーブル、読出し及びクリアされる。また、マ
スタ割込みイネーブルが、第7の回線を介して、読出し
/書込み/制御ポート429へ提供される。これら割込み
は、両方のSCSIバス111を、レシーバ424−0及び424−
1により、SPCチップ402及びマルチプレクサ418とは独
立に、モニタする。割込み線428がイネーブルされてな
くとも、割込みレジスタの状態をMPU119によりSPC120を
介してポーリングすることができる。
MPU119を用いてSPC44のプログラミングを行なう。詳述
すると、MPU119は、リクエストの順序でSPC44に通信さ
れるメモリ(MEM)112内のポート及び個々の装置に対す
命令の待ち行列をセットアップする。MPU119は、データ
を転送する前にシークを必要とする一つの装置の読出し
のようないくつかのタスクを同時に取扱うことができ
る。MPU119は、第1の装置に対するシークの完了を待ち
ながら他の装置に対する他の装置のタスクの命令待ち行
列を実行し始めることができる。このようにして、MPU1
19の処理力はより効率的に用いられる。
第9図について説明すると、図は本発明にかかるソフト
ウェア構造900の一実施例を示すブロック線図である。
ソフトウェア構造900は、機能に従い、監視、デバイス
ドライバ及び入出力タスクを含むモジュールに分割され
る。ソフトウェア構造900は、カーネル910またはオペレ
ーティングシステム、周辺ポート制御ドライバモジュー
ル(PPCドライバ)912、PPCドライバと、タスク916及び
密接に関係するユーティリティ(必ずしもこれに限定さ
れない)を含む他の全てのタスクとの間に論理的に接続
されたポートタスク914、テープタスク918、パケット通
信(X.25プロトコルを使用)(X.25)タスク920、非同
期通信(ASYNC)タスク922、及び遠隔保守インタフェー
ス(RMI)タスク924を具備する。
ディスクタスク916及びテープタスク918はSCSI周辺制御
(SPC)ドライバ926に論理的に接続されている。X.25タ
スク920は直列通信制御(SCC)ドライバ928に論理的に
接続されている。ASYNCタスク922はASYNCドライバ930に
論理的に接続されている。RMIタスクは保守・診断バス
(MDB)ドライバ932に接続されている。本発明の理解の
ためには特定のドライバまたはタスクについての細部を
理解する必要はないから、選択されたドライバまたはタ
スクのみについて以下に説明する。当業者にとっては次
のことを知っていれば十分である。即ち、遠隔保守が、
装置制御を提供するMDBドライバを介して保守・診断バ
スに提供されるということ、SCCドライバ928が、X.25ビ
ット向きパケットプロトコル及びX.21バイト向きパケッ
トプロトコルの両方を支持するツイロッグZ8030型直列
通信チップのような標準のSCCチップを制御するという
こと、及びASYNCドライバ930が、シネティックス2861型
チップのような標準の双対汎用非同期受信・送信器(DU
ART)を制御するということを知っていれば十分であ
る。
カーネル910は、マイクロプロセッサの68000ファミリに
対する市販の標準のオペレーティングシステムである。
(この68000ファミリはモトロラ社により、またはその
ライセンスの下で製造されている。)カーネル910の一
例としては、米国、カリフォルニア州、クパーティノ市
のタンデム・コンピュータ社製のタンデムブランドのコ
ンピュータシステムに用いられるT8120型共通カーネル
ソフトウェアモジュールがある。
第10図を参照し、一例として、PPCドライバ912を介する
一つのホストプロセッサ(第1図)、及び付属の一つの
ポート(第1図)、及びSPCドライバ926を介してアクセ
スされるSCSIバス(第1図)上の周辺装置(第1図)、
及び付属のハードウェアの間の通信について説明する。
前記ドライバの機能は、ポートタスク914と係合するた
めにホストプロセッサ(第1図)によって発せられるハ
ードウェア発生割込み(入出力実行指令に付属する割込
みのような)(EIO)に応答することであり、これによ
り、メッセージ(EIOに付属のメッセージを含む)をデ
ィスクタスク916のような他のタスクへ送り、該他のタ
スク916に命令して、例えば「データ読出し」または
「データ書込み」サブルーチンを呼出すというような所
望の動作を行なわせ、これにより、SPCドライバ926のよ
うなドライバを介して周辺装置(図示せず)に通信す
る。これに応答し、読出しまたは書込みのタスクが行な
われると、本実施例においては、周辺装置(図示せず)
が他のハードウェア割込みを発生し、該割込みはSPCド
ライバ926に受取られて翻訳され、指令が完了したとい
うことを示す信号が発生される。この信号CMD COMPLETE
またはその等価信号はディスクタスク916へ通信され、
該タスクはメッセージをポートタスクへ送って再接続ま
たは割込みを発生させる。次いで、前記ポートタスクは
PPCドライバ912に対してサブルーチン呼出しを行ない、
ホストプロセッサに対する再接続または割込みを発生さ
せる。
このように、ホストプロセッサとデバイスコントローラ
との間の通信は、デバイスコントローラの制御の下で周
辺装置に対してアドレス指令されたEIOによるのであ
り、前記デバイスコントローラは再接続バーストまたは
割込みによってホストプロセッサに応答する。
ポートタスク914及び関係のソフトウェアは次の重要な
特性を有す。
即ち、ポートタスク914は、これが受取るEIOリクエスト
メッセージを、コントローラアドレスに基ずいてデバイ
スタスク916へ送る。ホストプロセッサ33が同じコント
ローラアドレスに対して多重EIOを発するならば、ポー
トタスク914は多重メッセージを同じデバイスタスクへ
送る。
ポートタスク914はEIOを再接続または割込みと関係させ
ない。再接続及び割込みに対する全ての決定はデバイス
タスクによってなされる。
ポートタスク914は所有権の概念を有していない。所有
権の概念が必要となると、これはホストプロセッサによ
って提供される。デバイスコントローラ自体に関する限
りでは、該デバイスコントローラを両方のチャネルが同
時に所有することができる。従って、いずれかのチャネ
ルからの同じコントローラアドレスを有する全てのEIO
は同じデバイスタスクへ向けられる。
ポートタスク914はデバイスタスクから各データブロッ
クのアドレスを受取り、次いで該データブロックを、送
信または受信されるべきバーストに分ける。データブロ
ックのアドレスがメモリ(MEM)112内にある場合には、
DB MEM108内の2つの予約データバッファ256の一方を用
いることによってデータをMEM112とDB MEM108との間で
移動させてデータを一方のバッファ内に移動させ、且つ
同時に、他方のバッファ上のPPCを介してホストプロセ
ッサに再接続する。
ポートタスク914は再接続及び割込みのリクエストを調
時する。PPC43の完了が間に合わない場合には、ポート
タスク914はPPC43をリセットし、エラー状態とともにデ
バイスタスクへ戻す。
テイクオーンEIO、キルEIO及びチャネルリセットのよう
な事象は状態として再接続、割込み及び状態読出しへ報
告され、メッセージまたは同報通信としてデバイスタス
クへは送られない。チャネルリセットはデバイスコント
ローラ41をその停止状態へリセットさせる。テイクオー
ンEIOはアクションを必要としないが、転送がアボート
されたということを指示する。
ポートユーセジは下記の制約内で動作する。
即ち、EIOは常にいずれかのポートから受け入れられ
る。
ホストプロセッサ割込みは、ポートが再接続状態になっ
ていないときにのみ発せられる。
ホストプロセッサの主メモリに対するデータは、DMAデ
ータバッファ(DMA DB MEM)108内の記憶スペースに応
じて送信または受信される。
本発明において使用されるデバイスタスク及びドライバ
のリスティングの一例を本明細書に添付の付録Aに掲げ
てある。しかし、本発明の動作は、以上の説明から当業
者には明らかに解る。
以上、本発明をその実施例について説明した。本発明の
他の態様も、以上の開示に照らして、当業者には明らか
に解る。従って、本発明の範囲は特許請求の範囲に記載
の如くである。
【図面の簡単な説明】
第1図は、本発明の一実施例に従って構成され、小形コ
ンピュータシステムインタフェースバスに接続された周
辺装置を共用する複数の双対ポートデバイスコントロー
ラを含むマルチプロセッサシステムのブロック線図、第
2図は、直接メモリアクセスコントローラ、データバッ
ファバス、マイクロプロセッサバス、バススイッチ及び
2つのSCSIバスを示す本発明デバイスコントローラの一
実施例の略ブロック線図、第3図は双対チャネルDMAコ
ントローラの一実施例の略ブロック線図、第4図は双対
チャネルDMAコントローラの一実施例の動作を示す略状
態線図、第5図は双対チャネルDMAコントローラの一実
施例のアーキテクチャのブロック線図、第6図は双対チ
ャネルDMAコントローラの一実施例の動作の型を示すタ
イミング線図、第7図は本発明の一実施例にかかる2つ
の周辺ポートコントローラの一実施例のブロック線図、
第8図は本発明にかかる小形コンピュータシステムイン
タフェースコントローラの一実施例のブロック線図、第
9図は本発明にかかるソフトウェア間関係の一実施例を
示すブロック線図、第10図は本発明にかかるソフトウェ
ア間呼出しプロトコルの一実施例を示すブロック線図、
第11図は本発明の一実施例におけるバススイッチのブロ
ック線図である。 33−0,33−1……ホストプロセッサ、35……双対プロセ
ッサ間バス、37……バスコントローラ、39−0,39−1…
…チャネル入出力バス、41−0,41−1……デバイスコン
トローラ、43−0,43−1……周辺ポートコントローラ、
44−0,44−1……プロトコルコントローラ(SPC)、100
……データバッファバス、102……マイクロプロセッ
サ、104……バススイッチ、106……データバッファ直接
メモリアクセスコントローラ、108……読出し/書込み
ランダムアクセスメモリ、109−0,109−1……入出力チ
ャネル、110……命令メモリ、111−0,111−1……周辺
装置バス、112……ランダムアクセスメモリ、114……直
接メモリアクセスコントローラ、116……直列通信チッ
プ装置、118−1,118−2……双対汎用非同期受信/送信
器、119……マクロプロセッサ、120……SPCバス、122…
…SPCバススイッチ、144−0,144−1……ポート。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ケニス キン チャン アメリカ合衆国 カリフォルニア州 95133 サン ホセ フォックスリッジ ウェイ 828 (72)発明者 ウィン ミン チャン アメリカ合衆国 カリフォルニア州 94536 フリーモント マーガンサー ド ライヴ 4080 (72)発明者 イー フォン ダン アメリカ合衆国 カリフォルニア州 95148 サン ホセ アメリカス ドライ ヴ 3368 (72)発明者 デューク マン ホアン アメリカ合衆国 カリフォルニア州 95135 サン ホセ シルヴァー エステ ーツ 3055 (72)発明者 ズベイア ハッサイン アメリカ合衆国 カリフォルニア州 95148 サン ホセ ローリングサイド ドライヴ 3533 (72)発明者 ジェフリー イーガンティアス イズワン ディ アメリカ合衆国 カリフォルニア州 94087 サニーヴェイル スーザン ウェ イ 1082 (72)発明者 ジェイムズ エドワード コーピ アメリカ合衆国 カリフォルニア州 95051 サンタ クララ プルーネリッジ アベニュー 3725 (72)発明者 マーティン ウィリアム サナー アメリカ合衆国 カリフォルニア州 95030 ロス ガトス シャロン コート 107 (72)発明者 ジェイ アーリン ズワガーマン アメリカ合衆国 カリフォルニア州 95070 サラトガ レキシントン コート 13654 (72)発明者 スティーヴン ゲアリー シルヴァーマン アメリカ合衆国 カリフォルニア州 95051 サンタ クララ 19イー ホーム スティード ロード 3131 (72)発明者 ジェイムズ エマーソン スミス アメリカ合衆国 カリフォルニア州 94086 サニーヴェイル ヴァスケーズ アベニュー 387 (56)参考文献 特開 昭60−100256(JP,A) 特開 昭54−129941(JP,A)

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】少なくとも第1のホストプロセッサ及び第
    2のホストプロセッサと、前記第1のホストプロセッサ
    に接続された第1の入出力チャネルバスと、前記第2の
    ホストプロセッサに接続された第2の入出力チャネルバ
    スと、プロセッサ間バスとを含んでおり、前記第1及び
    第2のホストプロセッサの各々は前記プロセッサ間バス
    によって互いに接続されているディジタルコンピュータ
    システムにおいて、 第1のデバイスコントローラを備え、前記第1のデバイ
    スコントローラは、前記第1の入出力チャネルバスに接
    続された第1のポートコントローラ及び前記第2の入出
    力チャネルバスに接続された第2のポートコントローラ
    と、第1のSCSIバスに接続された第1の周辺装置コント
    ローラ及び第2のSCSIバスに接続された第2の周辺装置
    コントローラとを有し、 第2のデバイスコントローラを備え、前記第2のデバイ
    スコントローラは、前記第1の入出力チャネルバスに接
    続された第3のポートコントローラ及び前記第2の入出
    力チャネルバスに接続された第4のポートコントローラ
    と、前記第1のSCSIバスに接続された第3の周辺装置コ
    ントローラ及び前記第2のSCSIバスに接続された第4の
    周辺装置コントローラとを有し、 前記第1、第2、第3及び第4のポートコントローラは
    それぞれ関連の前記デバイスコントローラの共有の所有
    権を前記第1及び第2のホストプロセッサに許諾する所
    有権ラッチを有し、それにより前記第1、第2、第3及
    び第4のポートコントローラはそれぞれ前記第1又は第
    2のホストプロセッサの一方と前記第1及び第2のSCSI
    バスに接続された任意の周辺装置のうちの一つとの間に
    少なくとも2つのデータ通路を提供する、 ことを特徴とするディジタルコンピュータシステム。
JP63095374A 1987-04-17 1988-04-18 ディジタルコンピュータシステム Expired - Lifetime JPH0743697B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US040513 1987-04-17
US07/040,513 US4821170A (en) 1987-04-17 1987-04-17 Input/output system for multiprocessors
US40513 2001-12-28

Publications (2)

Publication Number Publication Date
JPS63279358A JPS63279358A (ja) 1988-11-16
JPH0743697B2 true JPH0743697B2 (ja) 1995-05-15

Family

ID=21911380

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63095374A Expired - Lifetime JPH0743697B2 (ja) 1987-04-17 1988-04-18 ディジタルコンピュータシステム

Country Status (5)

Country Link
US (1) US4821170A (ja)
EP (1) EP0287301B1 (ja)
JP (1) JPH0743697B2 (ja)
AU (1) AU607206B2 (ja)
DE (1) DE3852904T2 (ja)

Families Citing this family (72)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5151999A (en) * 1986-03-31 1992-09-29 Wang Laboratories, Inc. Serial communications controller for transfer of successive data frames with storage of supplemental data and word counts
US4855899A (en) * 1987-04-13 1989-08-08 Prime Computer, Inc. Multiple I/O bus virtual broadcast of programmed I/O instructions
DE3779313D1 (de) * 1987-08-20 1992-06-25 Ibm Schnittstellenmechanismus fuer informationsuebertragungssteuerung zwischen zwei vorrichtungen.
US4999771A (en) * 1987-08-31 1991-03-12 Control Data Corporation Communications network
US5185877A (en) * 1987-09-04 1993-02-09 Digital Equipment Corporation Protocol for transfer of DMA data
US4864532A (en) * 1987-09-21 1989-09-05 Unisys Corporation Small computer systems interface--data link processor
JPH0769882B2 (ja) * 1988-05-11 1995-07-31 富士通株式会社 クロスコール機能を有する入出力制御システム及びそのシステムにおける動的構成変更方法
US5230067A (en) * 1988-05-11 1993-07-20 Digital Equipment Corporation Bus control circuit for latching and maintaining data independently of timing event on the bus until new data is driven onto
CA1320767C (en) * 1988-05-11 1993-07-27 Robert C. Frame Atomic sequence for phase transitions
US5016160A (en) * 1988-12-15 1991-05-14 International Business Machines Corporation Computer system having efficient data transfer operations
DE68929288T2 (de) * 1988-12-19 2001-11-15 Nec Corp Datenübertragungsvorrichtung
EP0375909B1 (en) * 1988-12-30 1995-08-30 International Business Machines Corporation Multiple I/O channel
US5303351A (en) * 1988-12-30 1994-04-12 International Business Machines Corporation Error recovery in a multiple 170 channel computer system
US5081609A (en) * 1989-01-10 1992-01-14 Bull Hn Information Systems Inc. Multiprocessor controller having time shared control store
DE3917715A1 (de) * 1989-05-31 1990-12-06 Teldix Gmbh Rechnersystem
US5175822A (en) * 1989-06-19 1992-12-29 International Business Machines Corporation Apparatus and method for assigning addresses to scsi supported peripheral devices
US5347637A (en) * 1989-08-08 1994-09-13 Cray Research, Inc. Modular input/output system for supercomputers
US5418933A (en) * 1990-02-20 1995-05-23 Sharp Kabushiki Kaisha Bidirectional tri-state data bus buffer control circuit for delaying direction switching at I/O pins of semiconductor integrated circuit
FR2659460B1 (fr) * 1990-03-08 1992-05-22 Bull Sa Sous-systeme peripherique de memoire de masse.
US5758109A (en) * 1990-03-19 1998-05-26 Thomas A. Gafford Repeater/switch for distributed arbitration digital data buses
US5289589A (en) * 1990-09-10 1994-02-22 International Business Machines Corporation Automated storage library having redundant SCSI bus system
JPH0823859B2 (ja) * 1990-09-28 1996-03-06 インターナショナル・ビジネス・マシーンズ・コーポレイション データ処理システム
US5471639A (en) * 1990-10-24 1995-11-28 At&T Global Information Solutions Company Apparatus for arbitrating for a high speed direct memory access bus
US5182800A (en) * 1990-11-16 1993-01-26 International Business Machines Corporation Direct memory access controller with adaptive pipelining and bus control features
JP2770936B2 (ja) * 1990-12-18 1998-07-02 インターナショナル・ビジネス・マシーンズ・コーポレイション 通信ネットワークおよび通信チャンネルをつくる方法
US5655147A (en) * 1991-02-28 1997-08-05 Adaptec, Inc. SCSI host adapter integrated circuit utilizing a sequencer circuit to control at least one non-data SCSI phase without use of any processor
IL100127A0 (en) * 1991-03-11 1992-08-18 Future Domain Corp Scsi controller
JP3187525B2 (ja) * 1991-05-17 2001-07-11 ヒュンダイ エレクトロニクス アメリカ バス接続装置
US5586302A (en) * 1991-06-06 1996-12-17 International Business Machines Corporation Personal computer system having storage controller with memory write control
US5313610A (en) * 1991-07-03 1994-05-17 Picker International, Inc. Direct memory access control device for use with a single n-bit bus with MOF the n-bits reserved for control signals and (n-m) bits reserved for data addresses
US5257391A (en) * 1991-08-16 1993-10-26 Ncr Corporation Disk controller having host interface and bus switches for selecting buffer and drive busses respectively based on configuration control signals
DE4227346C2 (de) * 1991-08-19 1999-09-09 Sequent Computer Systems Inc Gerät zur Datenübertragung zwischen mehreren, mit einem SCSI-Bus verbundenen Einheiten
US5272396B2 (en) * 1991-09-05 1996-11-26 Unitrode Corp Controllable bus terminator with voltage regulation
US5388217A (en) * 1991-12-13 1995-02-07 Cray Research, Inc. Distributing system for multi-processor input and output using channel adapters
US5724549A (en) * 1992-04-06 1998-03-03 Cyrix Corporation Cache coherency without bus master arbitration signals
US5506964A (en) * 1992-04-16 1996-04-09 International Business Machines Corporation System with multiple interface logic circuits including arbitration logic for individually linking multiple processing systems to at least one remote sub-system
US5659690A (en) * 1992-10-15 1997-08-19 Adaptec, Inc. Programmably configurable host adapter integrated circuit including a RISC processor
US5535414A (en) * 1992-11-13 1996-07-09 International Business Machines Corporation Secondary data transfer mechanism between coprocessor and memory in multi-processor computer system
US5588112A (en) * 1992-12-30 1996-12-24 Digital Equipment Corporation DMA controller for memory scrubbing
US5495584A (en) * 1993-03-09 1996-02-27 Dell Usa, L.P. SCSI bus concatenator/splitter
US5598538A (en) * 1993-08-16 1997-01-28 Tektronix, Inc. SCSI multiplexer for coupling a computer local bus to a shared peripheral global bus
JP3237736B2 (ja) * 1993-09-07 2001-12-10 ヒュンダイ エレクトロニクス アメリカ データ記憶装置のマトリックス構造
US5422580A (en) * 1993-10-14 1995-06-06 Aps Technologies Switchable active termination for SCSI peripheral devices
US5572698A (en) * 1994-04-18 1996-11-05 Rolm Company System and method for allocating memory resources where the category of a memory resource determines where on a circular stack a pointer to the memory resource is placed
US5907684A (en) * 1994-06-17 1999-05-25 International Business Machines Corporation Independent channel coupled to be shared by multiple physical processing nodes with each node characterized as having its own memory, CPU and operating system image
JP3474646B2 (ja) * 1994-09-01 2003-12-08 富士通株式会社 入出力制御装置及び入出力制御方法
US5729719A (en) * 1994-09-07 1998-03-17 Adaptec, Inc. Synchronization circuit for clocked signals of similar frequencies
US5619726A (en) * 1994-10-11 1997-04-08 Intel Corporation Apparatus and method for performing arbitration and data transfer over multiple buses
ATE169134T1 (de) * 1994-11-17 1998-08-15 Siemens Nixdorf Inf Syst Peripherie-einheit mit erhöhter verfügbarkeit
US5613076A (en) * 1994-11-30 1997-03-18 Unisys Corporation System and method for providing uniform access to a SCSI bus by altering the arbitration phase associated with the SCSI bus
JP3072014B2 (ja) * 1995-02-10 2000-07-31 富士通株式会社 記憶装置
US5864712A (en) * 1995-03-17 1999-01-26 Lsi Logic Corporation Method and apparatus for controlling (N+I) I/O channels with (N) data managers in a homogenous software programmable environment
EP0732659B1 (en) * 1995-03-17 2001-08-08 LSI Logic Corporation Controlling (n+i) I/O channels with (n) data managers in a homogeneous software programming environment
US5710892A (en) * 1995-07-19 1998-01-20 International Business Machines Corporation System and method for asynchronous dual bus conversion using double state machines
US5745763A (en) * 1995-09-29 1998-04-28 International Business Machines Corporation Method and apparatus for device driver funnelling
US5884100A (en) * 1996-06-06 1999-03-16 Sun Microsystems, Inc. Low-latency, high-throughput, integrated cache coherent I/O system for a single-chip processor
US5966547A (en) * 1997-01-10 1999-10-12 Lsi Logic Corporation System for fast posting to shared queues in multi-processor environments utilizing interrupt state checking
US5922057A (en) * 1997-01-10 1999-07-13 Lsi Logic Corporation Method for multiprocessor system of controlling a dynamically expandable shared queue in which ownership of a queue entry by a processor is indicated by a semaphore
US6341301B1 (en) 1997-01-10 2002-01-22 Lsi Logic Corporation Exclusive multiple queue handling using a common processing algorithm
TW406229B (en) 1997-11-06 2000-09-21 Hitachi Ltd Data process system and microcomputer
FR2776400B1 (fr) * 1998-03-18 2000-04-28 Bull Sa Sous-systeme de disques a multiples interfaces configurables
US6182167B1 (en) 1998-10-22 2001-01-30 International Business Machines Corporation Automatic sharing of SCSI multiport device with standard command protocol in conjunction with offline signaling
US6594541B1 (en) * 2000-01-10 2003-07-15 Siemens Aktiengesellschaft Universal motion control
GB2372115A (en) * 2001-02-08 2002-08-14 Mitel Semiconductor Ltd Direct memory access controller
US6954819B2 (en) * 2002-01-09 2005-10-11 Storcase Technology, Inc. Peripheral bus switch to maintain continuous peripheral bus interconnect system operation
US6928524B2 (en) * 2002-12-05 2005-08-09 International Business Machines Corporation Data processing system with naked cache line write operations
US7523235B2 (en) * 2003-06-11 2009-04-21 Lsi Corporation Serial Advanced Technology Attachment (SATA) switch
CN100334562C (zh) * 2003-07-10 2007-08-29 联发科技股份有限公司 动态调整微处理器模拟装置的操作时钟脉冲的相关方法
US20060259164A1 (en) * 2005-05-16 2006-11-16 Texas Instruments Incorporated Event and stall selection
US7788538B2 (en) * 2005-05-16 2010-08-31 Texas Instruments Incorporated Event and stall selection
US8356200B2 (en) * 2008-09-26 2013-01-15 Apple Inc. Negotiation between multiple processing units for switch mitigation
US8249049B2 (en) * 2009-03-17 2012-08-21 Cisco Technology, Inc. Clock synchronization

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4228496A (en) * 1976-09-07 1980-10-14 Tandem Computers Incorporated Multiprocessor system
JPS54129941A (en) * 1978-03-31 1979-10-08 Fujitsu Ltd Cross-call control system
DE3276916D1 (en) * 1981-09-18 1987-09-10 Rovsing As Christian Multiprocessor computer system
US4453215A (en) * 1981-10-01 1984-06-05 Stratus Computer, Inc. Central processing apparatus for fault-tolerant computing
US4480307A (en) * 1982-01-04 1984-10-30 Intel Corporation Interface for use between a memory and components of a module switching apparatus
US4590554A (en) * 1982-11-23 1986-05-20 Parallel Computers Systems, Inc. Backup fault tolerant computer system

Also Published As

Publication number Publication date
AU1459688A (en) 1988-10-20
DE3852904D1 (de) 1995-03-16
DE3852904T2 (de) 1995-06-29
US4821170A (en) 1989-04-11
EP0287301A2 (en) 1988-10-19
EP0287301B1 (en) 1995-02-01
EP0287301A3 (en) 1990-07-18
JPS63279358A (ja) 1988-11-16
AU607206B2 (en) 1991-02-28

Similar Documents

Publication Publication Date Title
JPH0743697B2 (ja) ディジタルコンピュータシステム
US6449709B1 (en) Fast stack save and restore system and method
US5706514A (en) Distributed execution of mode mismatched commands in multiprocessor computer systems
JP2593146B2 (ja) データハブ
US5524268A (en) Flexible processor-driven control of SCSI buses utilizing tags appended to data bytes to determine SCSI-protocol phases
US6085278A (en) Communications interface adapter for a computer system including posting of system interrupt status
US4935868A (en) Multiple port bus interface controller with slave bus
US6701405B1 (en) DMA handshake protocol
US4796176A (en) Interrupt handling in a multiprocessor computing system
KR0160193B1 (ko) 직접메모리접근 제어장치
EP0426184A2 (en) Bus master command protocol
JPH071495B2 (ja) データ処理システム
US5890012A (en) System for programming peripheral with address and direction information and sending the information through data bus or control line when DMA controller asserts data knowledge line
KR930009063B1 (ko) 가상메모리 데이타 전송능력을 가진 고속도 버스 및 데이타 전송방법
JPH0426740B2 (ja)
JP2539058B2 (ja) デ―タプロセッサ
EP0522582B1 (en) Memory sharing for communication between processors
US5933613A (en) Computer system and inter-bus control circuit
US6490638B1 (en) General purpose bus with programmable timing
EP0139254A2 (en) Apparatus and method for direct memory to peripheral and peripheral to memory data transfer
US5517624A (en) Multiplexed communication protocol between central and distributed peripherals in multiprocessor computer systems
JPH10283304A (ja) 割り込み要求を処理する方法及びシステム
JP2000298652A (ja) マルチプロセッサ
US6112272A (en) Non-invasive bus master back-off circuit and method for systems having a plurality of bus masters
WO2001025941A1 (en) Multiprocessor computer systems with command fifo buffer at each target device

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term