JPH07123260B2 - 非同期式マイクロ・チャネル・バスからのデータを捕捉し検証するための回路および方法 - Google Patents

非同期式マイクロ・チャネル・バスからのデータを捕捉し検証するための回路および方法

Info

Publication number
JPH07123260B2
JPH07123260B2 JP4222648A JP22264892A JPH07123260B2 JP H07123260 B2 JPH07123260 B2 JP H07123260B2 JP 4222648 A JP4222648 A JP 4222648A JP 22264892 A JP22264892 A JP 22264892A JP H07123260 B2 JPH07123260 B2 JP H07123260B2
Authority
JP
Japan
Prior art keywords
data
signal
mic
queue
bus
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
JP4222648A
Other languages
English (en)
Other versions
JPH05227247A (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 JPH05227247A publication Critical patent/JPH05227247A/ja
Publication of JPH07123260B2 publication Critical patent/JPH07123260B2/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/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4208Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus
    • G06F13/4217Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus with synchronous protocol
    • 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
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/221Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test buses, lines or interfaces, e.g. stuck-at or open line faults

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Small-Scale Networks (AREA)
  • Communication Control (AREA)
  • Debugging And Monitoring (AREA)
  • Information Transfer Systems (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、非同期式のバスと同期
式のVLSIチップとの間に設けられるインターフェー
スに係り、更に詳細に説明すれば、「レベル・センシテ
ィブ・スキャン・デザイン(LSSD)」と呼ばれる電
圧感応型回路設計手法に準拠する同期的態様でマイクロ
・チャネル上のデータを捕捉し且つ検証するように、か
かる非同期式のマイクロ・チャネル・バスと同期式のV
LSIチップとの間に設けられるインターフェースに係
る。
【0002】
【従来の技術】LSSD回路は、集積回路チップの寸法
と複雑さが増大するにつれて、その使用が魅力的になっ
てきた。VLSI回路の密度の向上に伴って、改良され
た試験方法と、試験性(testability)を強化するよう
に設計され構成された回路がもたらされた。LSSD回
路は、試験性に関連する多くの魅力的な特徴を有する
が、入力信号に対する応答に限界がある。LSSDで
は、入力信号のレベルが、ハイであれ、ローであれ、ク
ロッキング時に受取り側ラッチがとる状態を指示する。
信号の遷移またはエッジは、LSSD設計では重要でな
い。というのは、すべての信号が、システムの同期クロ
ックに対して安定だからである。1クロック・サイクル
内の任意の時刻に変化し得る非同期信号を用いる場合、
データのセットアップ時間およびホールド時間の仕様に
違反することがあり、したがって、ラッチ内で発振また
は準安定状態が発生し得る。準安定状態とは、クロック
がオフになる時にラッチが状態を変化させつつあり、1
でも0でもない状態である。この問題は、LSSD設計
に固有のものではない。他の刻時式論理設計も、それ自
体のデータ・セットアップ時刻およびデータ・ホールド
時刻の仕様を有する。
【0003】マイクロ・チャネルは、現在PS/2およ
び他のロー・エンド・プロセッサ・システムに使用され
ている複雑な非同期バスである。マイクロ・チャネル
は、32ビットのアドレス・バス、32ビットのデータ
・バス、調停バス、および様々な制御信号を含んでい
る。これらの制御信号は、ある程度まではアドレス・バ
スまたはデータ・バスあるいはその両方を検証するため
のものである。エッジ・トリガ式TTLを用いたMSI
(中規模集積回路)の環境では、これらの制御信号は、
確実にバスをラッチするのに有用となり得る。しかしな
がら、LSSDの規則とガイドラインに従わなければな
らないチップ設計では、これらの制御信号を非同期式に
使用すると、クロッキングとタイミングの状況が困難に
なり得る。これらのタイミング状況は、非同期式のクロ
ッキングと状態機械を広範囲に利用する時には、さらに
複雑になり得る。したがって、LSSDに準拠するチッ
プ設計を非同期信号にインターフェースするには、受け
取った非同期信号を処理する前に、これらの信号を受取
り側のシステム・クロックと同期させる必要がある。
【0004】
【発明が解決しようとする課題】本発明の目的は、非同
期データを捕捉し、これらのデータを、刻時式論理設計
で使用可能な同期データに変換することである。
【0005】本発明のもう1つの目的は、最小限の非同
期式クロッキングを用いて非同期データを検証すること
である。
【0006】本発明のもう1つの目的は、変換後の同期
化されたデータの状態を決定し、このデータを検証する
ことである。
【0007】
【課題を解決するための手段】上記その他の目的と特徴
は、3段のマイクロ・チャネル・インターフェース状態
機械および論理機構によって達成される。第1段では、
非同期バスから制御信号とデータ信号を捕捉し、これら
の信号を、インターフェース・チップの内部クロックに
同期した信号に変換する。このインターフェースの第2
段は、同期式の状態機械であり、第1段で生成された同
期信号を利用して、非同期バスの現状態を決定する。こ
のインターフェースの第3段では、同期式状態機械と制
御信号/データ信号捕捉論理機構によって生成されたデ
ータを使用して、同期式にデータを検証する。これによ
って、非同期式の論理またはタイミングをこれ以上使用
せずに、非同期バスからのデータをさらに処理できるよ
うになる。
【0008】本発明の好ましい実施例では、これは、マ
イクロ・チャネル・インターフェース制御チップ(MI
C)内で実施される。MICは、マイクロ・チャネル・
バスと、ローカル・データ・バスと称する専用データ・
バスと、ローカル・プロセッサ・バスと称する汎用マイ
クロプロセッサ・バスの、3本のバス間の高性能インタ
ーフェースである。MICの目的は、これら3本のバス
上でプロトコルを変換することであり、これらの間の迅
速で効率的なデータ機能および制御機能が可能となる。
本発明は、マイクロ・チャネル上の装置にデータを移動
できるようになる前に、またはマイクロ・チャネル上の
装置によって非同期データが送られた後に、前処理、追
加処理またはデータ管理機能が必要な、高速の入出力ア
ダプタまたは処理アダプタ上で使用することを意図した
ものである。
【0009】
【実施例】下記の定義は、以下の説明を理解するのに役
立つものである。 用語 定義 バイト 1本のバスに含まれる8本の信号線のグループ。 バス関与装置 あるバスのデータ転送またはデータ要求に関与する装置。 中央ステアリング マイクロ・チャネルのデータ・バス幅の互換性を維持し制御 論理ブロック するに当たって装置を援助する責任を負うシステム論理回路 のグループ。 装置 バス上に情報を駆動し、バスから情報を受け取り、情報を解 釈し、指定された機能を実行する、またはこれらのうち任意 の動作を行う論理回路のブロック。 入出力スレーブ バスの入出力アドレス空間内でアドレス可能なスレーブ装置 。マスタ スレーブとの間でデータ転送を行う目的で、バスの制御を 獲 得する装置。 メモリ・スレーブ バスのアドレス可能空間内にメモリを含むスレーブ装置。 ノード 装置。 待ち行列 記憶されたデータのシーケンス、または処理を待っている待 ち行列エントリ。 待ち行列エントリ 後で処理する予定のタスク、制御、または情報データを定義 する、4バイト、8バイト、または16バイトの記憶された データ。 待ち行列読取りポ 次に処理する待ち行列エントリの現在の順次位置を指すポイ インタ(QRP) ンタ。 待ち行列書込みポ 待ち行列エントリを付加することのできる待ち行列中の現在 インタ(QWP) の順次位置を指すポインタ。 資源 情報交換のためにそれ自体が装置にアクセス可能になる、論 理回路のブロックまたは装置。 セマフォ 現在の状況を示すフラグまたは標識。 スレーブ マスタの制御下で動作中にデータを提供する、または受け取 る装置。 ステアリング あるバスに含まれるバイトを、そのバス内の別のバイトに向 けること。 システム・コント マイクロ・チャネル調停、装置選択、システム・メモリ・リ ローラ フレッシュ、独自機能、およびシステム・プロセッサとのイ ンターフェースの責任を負うシステム論理回路のグループ。 転送 2装置間での情報交換。 ワード バスに含まれる16個の信号のグループ。2バイト。
【0010】図1は、370アーキテクチャに準拠する
IBMメインフレームなどのメインフレーム100を示
す。メインフレーム100は、直列バス106によって
ワークステーション101、102およびパーソナル・
コンピュータ103、104に接続されている。好まし
い実施例では、このメインフレームは、3090やES
/9000(TM)など370アーキテクチャに準拠するI
BMメインフレームであり、ワークステーション10
1、102は、IBM RISC System/6000(T
M)であり、パーソナル・コンピュータは、IBM PS
/2(TM)ファミリーのコンピュータである。ワークステ
ーション101、102およびパーソナル・コンピュー
タは、システム・プロセッサ・ユニット、ROM、RA
M、1本または複数のシステム・バス、キーボード、マ
ウス、ディスプレイなど、周知の構成要素からなる。R
ISC System/6000に関する詳しい情報は、IBM R
ISCSystem/6000 POWERstation and POWERserver Hardwa
re Technical Reference -General Information Manual
(SA23-2643)、IBM RISC System/6000 POWERstation an
d POWERserver Hardware Technical Reference - Optio
ns and Devices (SA23-2646)、IBM RISC System/6000 H
ardware Technical Reference - 7012 POWERstation an
d POWERserver (SA23-2660)、IBM RISC System/6000 Ha
rdware Technical Reference - 7013 and 7016 POWERst
ation and POWERserver (SA23-2644)およびIBM RISC Sy
stem/6000 Hardware Technical Reference - 7015 POWE
Rserver (SA23-2645)にある。PS/2ファミリーに関
する情報は、Technical Reference Manual Personal Sy
stem Model 50, 60 Systems, Part No. 68X2224, Order
No. S68X-2224とTechnical Reference Manual Persona
l Systems (Model 80), Part No. 68X2256, Order No.
S68X-2256にある。直列バス・アーキテクチャの説明
は、Serial I/O Architecture: PKD081102、1989年
2月29日にある。RISC System/6000とPS
/2は、いずれもシステム・バスとしてマイクロ・チャ
ネル・バスが組み込んである。マイクロ・チャネルは、
32ビットのアドレス・バス、32ビットのデータ・バ
ス、調停バス、および様々な制御信号を含んでいる。マ
イクロ・チャネルに関するより詳しい情報は、Micro Ch
annel on Low-End Parallel BusArchitecture, Family
2: LEPB-ADS-0002-00-4-U7とPersonal System/2 - Hard
ware Interface Technical Reference Architectures,
Part No. 84F9808, OrderNo. X84F-9808-00にある。上
記の参考文献は、いずれもIBMコーポレイションから
入手できる。
【0011】ワークステーション101、102および
パーソナル・コンピュータ103、104はすべて、マ
イクロ・チャネル−直列バス・アダプタ(MCSB)カ
ード108を介して直列バス106とインターフェース
する。図2は、MCSBカード108の様々な構成要素
の機能ブロック図である。直列バス106は、直列イン
ターフェース113に接続され、マイクロ・チャネル・
バス110(以下、単にMC110とする)は、マイク
ロ・チャネル・インターフェース・コントローラ(MI
C)112に接続されている。MIC112は、マイク
ロ・チャネルと、ローカル・プロセッサ・バス(LP
B)115と称する汎用マイクロプロセッサ・バスと、
ローカル・データ・バス(LDB)117と称する専用
バスの、3本のバスの間の高性能インターフェースであ
る。MIC112の目的は、これら3本のバス上でプロ
トコルを変換することであり、これらの間の迅速で効率
的なデータ転送および制御転送が可能になる。MIC1
12は、マイクロ・チャネル上の装置にデータを移動で
きるようになる前に、またはマイクロ・チャネル上の装
置によってデータが送られた後に、前処理、追加処理ま
たはデータ管理機能が必要な、高速の入出力アダプタま
たは処理アダプタ上で使用することを意図したものであ
る。
【0012】直列インターフェース113は、直列入出
力回路を表し、光デジタル信号変換、クロック回復同期
化、直列並列変換、光復号と光符号化、およびクロック
変換の各機能を含んでいる。MIC112と直列インタ
ーフェース113は、LPB115およびLDB117
によって結合される。ローカル・プロセッサ119は、
INTEL 80960(TM)プロセッサであることが好
ましく、MCSBカード108に処理能力を与える。ロ
ーカル・プロセッサ119は、プログラマブル読取り専
用メモリ(PROM)120(同一チップまたは別チッ
プ)も含んでいる。ローカル・プロセッサ記憶機構(L
PS)121も、LPB115に結合され、INTEL
80960プログラム用の記憶域ならびにMIC11
2の論理用の記憶域を提供する。PROM120は、L
PB115に結合された装置用の自己診断・初期設定コ
ードを含む。プリンタ、モデム、ビデオ・モニタなどの
他の装置122を、LPB115に結合することができ
る。LDB117は、MIC112と直列インターフェ
ース113間で、処理機能用ではなく、データ用に使用
される。MIC112と直列インターフェース113
は、ローカル・データ記憶機構(LDS)123を共用
する。LDS123は、最初に直列バス106またはM
C110のいずれかから来るデータ用のバッファを提供
する。たとえば、幾つかのデータが、最初にMC110
から来ることがあり、MIC112は、そのデータをL
DS123に記憶する。その後、MIC112は、デー
タが存在する旨をローカル・プロセッサ119に通知
し、ローカル・プロセッサ119は、直列インターフェ
ース113を起動して、このマイクロ・チャネル・デー
タをLDS123から直列バス106に移す。
【0013】マイクロ・チャネル−直列バス・アダプタ
・カードの好ましい実施例の1つが、関連米国特許出願
第693834号に記載されている。本発明に関連する
特許出願として、MIC112の機能を記載したフィー
ルズ(J.S. Fields, Jr.)他による米国特許出願第75
7476号の"Micro Channel Interface Controller"、
待ち行列マネージャの機能を記載したローズ(G.L. Rou
se)他による米国特許出願第755468号の"QueuePo
inter Manager"、およびガスリー(G.L. Guthrie)他に
よる米国特許出願第755474号の"1-Bit Token Rin
g ArbitrationArchitecture"がある。
【0014】下記に、MIC112がサポートする、強
調される特徴または機能の要約を示す。
【0015】 ・ マイクロ・チャネル・インターフェースの特徴 − マスタおよびスレーブ能力 − 10MHzのストリーミング・データ転送速度 − 16/32/64ビットのストリーミング・データ
転送幅 − バス・ステアリング − バースト能力 − プログラマブルなメモリ空間と入出力空間の利用 − 4GBのメモリ・アドレス能力 − 64KBの入出力アドレス能力 − 対等能力 − 公正さ(fairness機能) − アドレス・パリティとデータ・パリティ − 最高8つの割込み − 主要製品データへのアクセス ・ローカル・プロセッサ・バス・インターフェースの特
徴 − Intel 80C186/80960KB互換バ
ス。具体的な実施態様に応じて、マイクロプロセッサと
の適当なインターフェースを確保するために、何らかの
外部MSI論理機構が必要になることがある。 − マスタおよびスレーブ能力 − ハードウェア待ち行列管理能力 − 1MBのメモリ・アドレス能力 − アドレス・パリティとデータ・パリティ ・ローカル・データ・バス・インターフェースの特徴 − 100MB毎秒のバースト転送速度 − マスタ能力 − 1MBのアドレス能力 − プログラマブル読取り待機状態 − 時分割式バス調停 − アドレス・パリティとデータ・パリティ ・広範囲のエラー検出・記録 ・自己試験能力 ・内部循環(wrap)能力 ・64バイトのデータ緩衝
【0016】マイクロ・チャネル・インターフェース・
コントローラ(MIC)の概要 MIC112を用いると、MC110とLDB117と
LPB115の間でデータ転送を行うことが可能にな
る。MC110の高速度に対応するために、MIC11
2は、全体的なスループット性能を向上させる内部バッ
ファ145を備える。
【0017】図3では、MIC112が、複数の機能ユ
ニットに分割されている。これらの機能ユニットはそれ
ぞれ、1つまたは複数の他の機能ユニットと何らかの形
で相互作用する特殊動作またはタスクの実行専用であ
る。これらのユニットはそれぞれ、その動作を実行する
ために特に設計された、低水準の制御論理回路またはデ
ータ論理回路を含む。これらのユニットがあいまって、
MIC112に、MC110とLDB117とLPB1
15の間の相互接続をもたらす。
【0018】マイクロ・チャネル(MC)インターフェ
ース130は、MIC112をMCバス110に接続す
るのに必要な、適切なタイミング、制御およびデータ・
インターフェースを実施する責任を負う。MCインター
フェース130は、アドレス信号、データ信号、調停信
号、パリティ信号、割込み信号およびMIC112内の
他のユニットとの制御ハンドシェーク用信号の、同期、
解釈および制御を行う論理回路を含んでいる。MCイン
ターフェース130を用いると、基本転送モードとスト
リーム・データ・モードという2つのMCモードの動作
が可能になる。
【0019】基本転送モードは、MC110の省略時プ
ロトコルを定義するモードである。ほとんどのMC互換
装置は、このモードで動作を実行する能力を有する。こ
のモードで動作している間は、MIC112を、下記の
MCバス装置タイプによって定義することができる。 ・インテリジェント・バス・コントローラ ・入出力スレーブ ・メモリ・スレーブ ・セットアップ・スレーブ
【0020】インテリジェント・バス・コントローラと
して動作している時、MIC112は、MCマスタであ
ると見なされる。MIC112がMCマスタになるの
は、コマンド転送が開始された時だけである。入出力ス
レーブ、メモリ・スレーブまたはセットアップ・スレー
ブとして動作している時は、MIC112は、MCスレ
ーブであると見なされる。MIC112がMCスレーブ
になるのは、MCマスタとして活動している別の装置に
よって開始された時だけである。
【0021】ストリーム・データ・モードでは、MIC
112は、他のストリーム・データ・モードのMC装置
との高速データ転送に参加できるようになる。ストリー
ム・データ・モードでは、大きなブロックのデータを転
送するためのさらなる性能の向上と、クロック同期式デ
ータ転送のための自動速度マッチングが提供される。ス
トリーム・データ・モードにある間、MIC112は、
下記のMCタイプのうちの1つとして動作する。 ・ストリーミング・データ・マスタ ・ストリーミング・データ・スレーブ
【0022】MIC112がストリーミング・データ・
マスタとして動作するのは、コマンド式転送(commande
d transfer)によって開始された時だけであり、ストリ
ーミング・データ・スレーブとして動作するのは、スト
リーミング・データ・マスタとして活動している別の装
置によって開始された時である。MCデータ・インター
フェース131とMCアドレス・インターフェース13
2は、MCインターフェースの一部であり、それぞれデ
ータとアドレス情報を制御する。MCインターフェース
130には、マイクロ・チャネル(MC)インターフェ
ース制御論理機構134(図5)も含まれる。マイクロ
・チャネル・インターフェース制御論理機構134に
は、マイクロ・チャネルのコマンド信号とストローブ信
号の捕捉に使用されるコード、同期式状態機械およびデ
ータ検証コードが含まれる。
【0023】LPBインターフェース133は、MIC
112をLPB115に接続するのに必要な、適当なタ
イミング、制御およびデータ・インターフェースを実施
する責任を負う。LPBインターフェース133は、ア
ドレス信号、データ信号、調停信号、割込み信号、パリ
ティ信号、エラー信号および制御ハンドシェーク用信号
を制御する論理回路を含んでいる。MIC112は、L
PB115上でマスタまたはスレーブとして動作でき
る。LPBマスタ動作は、コマンド式転送の実行と完了
に必要なタスク、MC装置、報告可能エラー、または事
前取出し自由ブロック・バッファの維持によって開始す
ることができる。LPBスレーブ動作は、LDB117
へのアクセスを要求するLPB115上の装置、MIC
の待ち行列管理機能、またはエラー・レジスタおよびM
IC112内部の制御レジスタと初期設定レジスタによ
って制御される。
【0024】LDBインターフェース135は、MIC
112をLDB117に接続するのに必要な、適当なタ
イミング、制御およびデータ・インターフェースを実施
する責任を負う。LDBインターフェース135は、ア
ドレス信号、データ信号、調停信号、パリティ信号、エ
ラー信号および制御信号を制御する論理回路を含んでい
る。好ましい実施例では、LPB115およびMC11
0とは異なり、LDB117上で、MIC112はLD
Bマスタとしてのみ動作する。LDBマスタ動作は、コ
マンド式転送、MC装置、またはLPB装置によって開
始することができる。ただし、マスタでない時には、M
IC112は、LDB117を監視し、可能なプロトコ
ル・エラーまたはパリティ・エラーを検査することがで
きる。LDBインターフェース135は、データ信号を
処理できるLDBデータ・インターフェース136と、
アドレス信号を処理できるLDBアドレス・インターフ
ェース137に分割できる。
【0025】マスタ実行ユニット139は、MIC11
2内の他のユニット間のすべてのコマンド式転送活動を
制御し調整する責任を負う。マスタ実行ユニットが実行
できる動作とタスクの詳細のリストを以下に示す。 ・保留中のコマンド式転送があるかどうか、待ち行列マ
ネージャ(QM)143を監視する。 ・LPBインターフェース133を用いて、MICコマ
ンド・ワード(MCW)とMIC制御ブロック(MC
B)の取出しを調整する。 ・マイクロ・チャネル・アドレス・ジェネレータ(MA
G)155、ローカル・アドレス・ジェネレータ、およ
び出力データ・バッファ(ODB)149の初期設定と
ロードを制御する。 ・MCインターフェース130が他のMC装置から自由
ブロックをいつ取り出すかを制御する。 ・MCインターフェース130とLDBインターフェー
ス135の間のデータ転送を調整する。 ・MCインターフェース130を用いて待ち行列書込み
動作を調整して、他のMC装置に完了状況を通知する。 ・コマンド式転送の完了状況と発生した可能性のあるエ
ラーとを示す、MIC状況ワード(MSW)の通知を制
御する。
【0026】エラー・コントローラ(EC)141は、
可能なエラー状況またはエラー状態があるかどうか、M
ICの内部活動を監視する。エラーが発生した場合、E
C141は、LPBインターフェース133を用いて送
信非請求状況ワード(USW)の通知を調整する責任を
負う。
【0027】待ち行列マネージャ(QM)143は、保
留中のコマンド・ワード、状況ワードまたは自由ブロッ
クの現位置を示すハードウェア・ポインタと、新しいコ
マンド・ワード、状況ワードまたは自由ブロックを入れ
ることのできる現位置とを制御する責任を負う。これら
のポインタを維持するに当たっては、コマンド・ワー
ド、状況ワードまたは自由ブロックの待ち行列を、FI
FO方式で記憶して、後で検索することができる。QM
143はまた、MIC112、またはローカル・プロセ
ッサ119、他の装置122のいずれかに、待ち行列が
保留中のデータを含んでいるか否かを示す責任を負う。
QM143は、LPS121内にある16個の待ち行列
用のポインタを管理する能力と、各待ち行列に割当て可
能な割込みを制御する能力を有する。QM143はま
た、エラーがあるかどうかポインタ活動を監視し、後で
検索できるようにこれらのエラーをLPBインターフェ
ース133に報告する。
【0028】MIC112は、6つの内部バッファ14
5のグループを含んでいる。これらのバッファは、速度
のマッチングと、MCインターフェース130、LPB
インターフェース133およびLDBインターフェース
135の間のデータ転送の調整に使用される。
【0029】出力データ・バッファ(ODB)149
は、16×36ビットの1ポートFIFOであり、64
バイトのデータとバイト・パリティを保持できる。OD
B149の目的は、LDBインターフェース135から
MCインターフェース130へのMCマスタ・データを
緩衝するか、またはLDB循環動作を行うために、LD
Bインターフェース135から入力データ・バッファ
(IDB)150へのMCマスタ・データを緩衝するこ
とである。ODB149のロードとアンロードは、マス
タ実行ユニット139の案内の下で、LDBインターフ
ェース135とMCインターフェース130によって制
御される。
【0030】入力データ・バッファ(IDB)150
は、16×36ビットの2ポートFIFOであり、64
バイトのデータとバイト・データ・パリティを保持でき
る。IDB150の目的は、MICのLDBインターフ
ェース135との間でのすべてのMCスレーブ動作およ
びMCマスタ読取り動作中ならびにLDB循環動作中に
データ転送を緩衝することである。
【0031】入力アドレス・バッファ(IAB)151
は、16×23ビットの2ポートFIFOである。IA
B151の目的は、IDB150に記憶されたデータに
関連するアドレスと制御信号を緩衝することである。I
AB151に緩衝されるアドレスは、スレーブ・アドレ
ス・ジェネレータ(SAG)154またはローカル・ア
ドレス・ジェネレータ(LAG)156のいずれかから
ロードすることができる。
【0032】待ち行列読取りバッファ(QRB)146
は、8×16ビットの2ポートFIFOである。QRB
146の目的は、MC装置が要求する最大16バイトの
待ち行列データおよびパリティを緩衝することである。
LPBインターフェース133は、MC110から要求
が行われた時、QM143の管理下でQRB146の書
込みを制御する。QRB146を読み取れるのは、MI
C112がMCスレーブの時だけである。QRB146
に対する読取りアクセスは、MICのMCインターフェ
ース130によってセマフォと制御レジスタを使って制
御される。
【0033】事前取出し自由ブロック・バッファ(FB
B)147は、8×18ビットの2ポートFIFOであ
る。FBB147の目的は、MC装置による高速アクセ
スのために4つの4バイト自由ブロック・エントリを維
持することである。これらの自由ブロック・エントリ
は、LDB117上の使用可能メモリ・ブロックにアク
セスするのに必要な、開始物理MCメモリ・アドレスを
含んでいる。MC装置がFBB147から自由ブロック
・エントリを除去した時、MIC112は、MICのL
PBインターフェース133から別のFBエントリを取
り出すことができる。好ましい実施例では、FBB14
7を読み取れるのは、MIC112がMCスレーブの時
だけである。
【0034】待ち行列書込みバッファ(QWB)148
は、16×25ビットの2ポートFIFOである。QW
B148の目的は、データ、パリティおよび制御を緩衝
することであり、これは、QM143によって管理され
るLPB115上の待ち行列用に設計されている。最高
32バイトの待ち行列データが緩衝できる。好ましい実
施例では、QWB148に書き込めるのは、MIC11
2がMCスレーブの時だけである。QWB148への書
込みアクセスは、MCインターフェース130によって
セマフォと制御レジスタを使って制御される。QWB1
48への読取りアクセスは、MICのLPBインターフ
ェース133とQM143によって制御される。
【0035】MIC112は、3つのアドレス・ジェネ
レータ153を含んでいる。これらのアドレス・ジェネ
レータは、MCインターフェース130とLDBインタ
ーフェース135の間でのデータ転送に関するアドレッ
シング要件のほとんどを提供する。
【0036】スレーブ・アドレス・ジェネレータ(SA
G)154は、MCストリーミング・データ・スレーブ
動作中およびLDB循環動作中に使用される。その目的
は、MCインターフェース130が受け取りつつあるデ
ータに相関するIAB151にアドレスを供給すること
である。これらのアドレスは、その後、MICのLDB
インターフェース135によって使用される。SAG1
54は、最高1MBのデータをアドレスできる。
【0037】マイクロチャネル・アドレス・ジェネレー
タ(MAG)155は、コマンド式転送動作中に使用さ
れる。MAG155は、MCインターフェース130
に、MCマスタ動作に必要なアドレスを供給する。MA
G155は、4GBのデータにアクセスする能力を有す
るが、単一のコマンド式転送の間には、64KBのアド
レス範囲内のアドレスしか増分できない。また、MAG
155は、LDB循環動作中にSAG154に初期アド
レスを供給する。
【0038】ローカル・アドレス・ジェネレータ(LA
G)156は、コマンド式転送中にLDBインターフェ
ース135を宛先または供給源とするデータをアドレス
するために使用される。LAG156は、1MBのデー
タにアクセスできるが、単一のコマンド式転送の間に
は、64KBのアドレス範囲内のアドレスしか増分でき
ない。
【0039】自己試験インターフェース(STI)15
7は、診断動作とデバッグ動作のための直列インターフ
ェースを提供する。STI157は、MIC112内の
走査文字列、レジスタおよびクロック制御に対する制御
とアクセスを提供する。STI157は、直接にまたは
外部入出力信号を介してアクセスできる。
【0040】外部信号入出力ピン、電源ピンおよび接地
ピンの定義、プロトコル、電気的特性および物理的要件
を以下に記載する。本明細書で使用する論理レベルの記
述には、正論理を使用する。論理信号線は、すべてTT
L互換である。MIC112の外部入出力ピンの機能を
以下で定義する。図4に、MIC112とインターフェ
ースする外部信号の要約を示す。
【0041】MCインターフェース 本節では、MIC112をMC110とインターフェー
スするのに使用される信号入出力を定義する。マスタと
スレーブに対する言及は、すべてマイクロ・チャネル動
作に関するものである。
【0042】+A(0:31)i +Address Bus(アドレス・バス)ビット0
〜31。これらの信号線は、MC110に接続されたメ
モリ・スレーブおよび入出力スレーブをアドレスし、ま
たスレーブ動作用のMIC112を選択するのに使用さ
れる。この32本のアドレス線を用いると、最大4GB
のメモリにアクセスすることができる。入出力動作に
は、下位16本のアドレス・ビットだけが使用され、こ
れら16本の線は、すべて入出力スレーブによって復号
しなければならない。
【0043】+APAR(0:3)i +Address Parity(アドレス・パリテ
ィ)ビット0〜3。これらの線は、読取り動作および書
込み動作中のMC110のすべてのアドレス・ビットの
奇バイト・パリティを表す。マスタが、各アドレス・バ
イトのパリティ・ビットを生成し、受取り側のスレーブ
が、アドレスの保全性を確保するためパリティ検査を実
行する。+APAR(0)iは+A(0:7)iのパリ
ティを表し、+APAR(1)iは+A(8:15)i
のパリティを表し、+APAR(2)iは+A(16:
23)iのパリティを表し、+APAR(3)iは+A
(24:31)iのパリティを表す。これらの信号は、
64ビット・ストリーミング・データ転送中にも使用さ
れ、アドレス・バス上のデータの奇バイト・パリティを
表す。
【0044】−APAREN −Address Parity Enable(アド
レス・パリティ・イネーブル)。この信号は、マスタに
よって生成され、アドレス・パリティ信号線が有効であ
ることをスレーブに示す。この信号がマスタによって駆
動されるのは、マスタがMC110上にアドレスを置く
時である。64ビット・ストリーミング・データ・モー
ド中に、この信号は、データを供給しつつある装置によ
って供給される。
【0045】+D(0:31)i +Data Bus(データ・バス)ビット0〜31。
これらの線は、マスタまたはスレーブとの間でのデータ
の送受に使用される。読取りサイクル中、データは、−
CMDの立上りの後、−CMDの立下りの前に有効にな
り、−CMDの立上りの後まで有効になっていなければ
ならない。しかし、書込みサイクル中には、データは、
−CMDが活動状態になる前と、−CMDが活動状態で
ある期間全体を通じて有効である。
【0046】+DPAR(0:3)i +Data Parity(データ・パリティ)ビット
0〜3。これらの信号は、データ・バス+D(0:3
1)i上の奇バイト・パリティを表す。パリティ・ビッ
トは、データ・バスの1バイト毎に1ビット生成され
る。+DPAR(0)iは+D(0:7)iのパリティ
を表し、+DPAR(1)iは+D(8:15)iのパ
リティを表し、+DPAR(2)iは+D(16:2
3)iのパリティを表し、+DPAR(3)iは+D
(24:31)iのパリティを表す。
【0047】−DPAREN −Data Parity Enable(データ・パ
リティ・イネーブル)。この信号は、データを供給する
装置によって生成され、データ・パリティ信号線が有効
であることを示す。
【0048】−ADL −Address Decode Latch(アドレ
ス復号ラッチ)。この信号は、スレーブが有効アドレス
と状況ビットをラッチするのに便利な機構として、マス
タによって駆動される。スレーブは、−ADLの立下り
を用いて、情報をラッチできる。
【0049】−CD SFDBK −Card Selected Feedback(カ
ード選択フィードバック)。この信号は、マスタによる
MIC112選択の肯定応答として、MIC112によ
って駆動される。この信号は、MIC112がセットア
ップ・スレーブとして選択された時には駆動されない。
この信号は、−CD DS16信号と−CD DS32
信号を生成するのにも使用できる。
【0050】−SFDBKRTN −Selected Feedback Return
(選択フィードバック返送)。この信号は、システム論
理機構によって駆動され、マスタによって指定されたア
ドレスにスレーブが存在することを示す肯定応答をスレ
ーブからマスタに返す。
【0051】−DS 16 RTN −Data Size 16 Return(データ・
サイズ16返送)。この信号は、システム論理機構によ
って駆動され、アドレスされた位置に16ビット・デー
タ・ポートが存在することをマスタに示す。
【0052】−DS 32 RTN −Data Size 32 Return(データ・
サイズ32返送)。この信号は、システム論理機構によ
って駆動され、アドレスされた位置に32ビット・デー
タ・ポートが存在することをマスタに示す。
【0053】−BE(0:3)i −Byte Enable(バイト・イネーブル)ビッ
ト0〜3。これらの線は、データ転送中に使用され、M
C110上でどのデータ・バイトが有効となるかを示
す。−BE(0)iは+D(0:7)iをイネーブル
し、−BE(1)iは+D(8:15)iをイネーブル
し、−BE(2)iは+D(16:23)iをイネーブ
ルし、−BE(0)iは+D(24:31)iをイネー
ブルする。これらの信号は、8ビットまたは16ビット
のマイクロ・チャネル基本転送動作には無効である。
【0054】+MADE 24 +Memory Address Decode En
able 24(メモリ・アドレス復号イネーブル2
4)。この信号は、MC110上の未拡張(24ビッ
ト)アドレスの使用を指示する。活動状態(ハイ)の
時、アドレスとあいまって、16MB以下の未拡張アド
レス空間がMC110上にあることを示す。非活動状態
(ロー)の時は、アドレスとあいまって、16MBを超
える拡張アドレス空間がMC110上にあることを示
す。この信号は、アドレス空間のサイズとは無関係に、
すべてのマスタによって駆動され、すべてのメモリ・ス
レーブによって復号される。
【0055】MIC112がMCマスタである時、この
信号は、MAG155の上位バイトによって決定され
る。上位バイトが"00000000"に等しい場合、+
MADE24は、活動状態でハイになる。
【0056】−SBHE −System Byte High Enable
(システム・バイト上位イネーブル)。この信号は、1
6ビットのMCスレーブと通信する時に、データの上位
バイトがイネーブルされるか否かを示す。
【0057】+M/−IO +Memory(メモリ)/−I/O Cycle(入
出力サイクル)。この信号は、MCメモリ・サイクルを
MC入出力サイクルから区別する。
【0058】−S0、−S1 −Status(状況)ビット0〜1。これらの信号
は、MCサイクルの始まりを示し、MCサイクルのタイ
プを定義する。
【0059】−CMD −Command(コマンド)。この信号は、MC11
0上でデータがいつ有効になるかを定義するのに使用さ
れる。この信号の立下りが、あるMCサイクルの終わり
を示す。
【0060】+CD CHRDY +Card Channel Ready(カード・チ
ャネル動作可能)。この信号は、バス動作を完了するた
めのスレーブ追加時間を許可する。読取り動作中にこの
信号を活動化する時、スレーブは、指定された時間内に
データがバス上で有効になることを保証する。また、バ
スからデータを記憶するのにより多くの時間が必要な場
合、スレーブは書込み動作中にこの信号を使用すること
ができる。
【0061】+CHRDYRTN +Channel Ready Return(チャネ
ル動作可能返送)。この信号は、システム論理機構によ
って駆動され、スレーブからマスタに受け取った+CD
CHRDY信号を返す。
【0062】−SDEN −Streaming Data Enable(スト
リーミング・データ・イネーブル)。この信号は、MI
C112が、ストリーミング・データ能力を有するMC
スレーブとして選択された時、外部MSIドライバをイ
ネーブルするのに使用される。
【0063】−MSDR −Multiplexed Streaming Da
ta Request(多重化ストリーミング・データ
要求)。この信号は、MCスレーブまたは、MCスレー
ブとして選択された時のMIC112が、8バイト・ス
トリーミング・データ転送を実行する能力を有するか否
かを示す。
【0064】−SDR(0:1) −Streaming Data Request(ス
トリーミング・データ要求)ビット0〜1。これらの信
号は、ストリーミング・データ・モード中の性能特性に
関する情報を提供する。この情報は、マスタとしてのM
IC112によって、ストリーミング・データ転送中の
スレーブ装置の最大クロッキング速度を決定するために
使用される。
【0065】−SD STB −Streaming Data Strobe(スト
リーミング・データ・ストローブ)。この信号は、スト
リーミング・データ転送中にデータがいつ有効になるか
を決定する。この信号の最大クロック速度は、−SDR
(0:1)線と+SD CLK入力信号によって決定さ
れる。
【0066】+ARBI(0:3)i +Arbitration Input(調停入力)ビ
ット0〜3。これらの信号線は、MC調停バス上に提示
される調停レベルを受け取るのに使用される。最低の優
先順位のARBバス・レベルは、16進値"F"を有し、
最高の優先順位のARBバス・レベルは、16進値"0"
を有する。"F"のARBレベルは、省略時MCマスタ用
に使用すべきである。
【0067】+ARBO(0:3)i +Arbitration Output(調停出力)
ビット0〜3。これらの信号線は、MIC112がMC
110の使用について調停を行う時に使用される。
【0068】+ARB/−GNT +Arbitration(調停)/−Grant(承
認)。この信号は、MC110上で調停サイクルがいつ
開始し終了するかを定義する。
【0069】−BURST −Burst(バースト)。この信号は、1ブロックの
データを転送する時に、調停中のバス関与装置によって
駆動され、MC110の延長使用をシステム・コントロ
ーラに示す。このタイプのデータ転送を、バースト・サ
イクルと称する。この信号は、すべてのバス関与装置に
よって共用され、MC110を承認された関与装置だけ
が、この信号を活動化することができる。
【0070】−PREEMPT −Preempt(優先使用)。この信号は、調停を介
してMC110の使用を要求するため、調停中のバス関
与装置によって駆動される。バス要求を有する任意のバ
ス関与装置が、−PREEMPTを活動状態にし、調停
サイクルを発生させる。要求を行っているバス関与装置
は、MC110を承認されると、−PREEMPTを消
去する。
【0071】−IRQ(0:3) −Interrupt Request(割込み要求)
ビット0〜3。これらの信号は、入出力スレーブがアテ
ンションを必要としていることを、システム・プロセッ
サに通知するのに使用される。
【0072】+IRQ_SEL/SS1_OUT +Interrupt Request Select
(割込み要求選択)/Scan String 1 O
utput(走査文字列1出力)。この信号は、4つの
MC IRQ信号のどの組が活動状態にできるかを制御
するために、外部論理機構が使用できる。その場合、こ
の信号は、MIC112に、8つのMCIRQへのアク
セスを有効に与えることができる。この信号は、POS
レジスタ・フィールド内でセットされる。さらに、この
信号は、LSSD試験モード中に、走査文字列1の出力
として定義される。
【0073】−CD SETUP −Card Setup(カード・セットアップ)。こ
の信号は、システム構成中に装置を1つづつ選択するの
に使用される。この信号が活動状態の時、構成データと
装置IDにアクセスできる。
【0074】−CHCK −Channel Check(チャネル・チェッ
ク)。この信号は、例外状態、すなわち、パリティ・エ
ラーなどがMC110上で発生した旨の高優先順位の割
込みをシステム・コントローラに示すのに使用される。
POSレジスタ内の1フィールドが、この信号が同期式
であるか非同期式であるかを定義する。
【0075】+M/−S +Master operation(マスタ動作)/
−Slave operation(スレーブ動作)。
この信号は、MIC112が関与している現マイクロ・
チャネル動作を示す。この信号は、外部マイクロ・チャ
ネル・ドライバおよび外部マイクロ・チャネル・レシー
バの方向付けとイネーブルを制御するのに使用すること
ができる。
【0076】+DO/−I +Data Output Operation(デー
タ出力動作)/−Input operation(入
力動作)。この信号は、+D(0:31)iと+DPA
R(0:3)iの方向を示すのに使用される。
【0077】+AO/−I +Address Output Operation
(アドレス出力動作)/−Input operati
on(入力動作)。この信号は、+A(0:31)iと
+APAR(0:3)iの方向を示すのに使用される。
【0078】−DLOE −Data Low Output Enable(デ
ータ下位出力イネーブル)。この信号は、MCデータ・
バスの下位2バイトが活動状態であるか否かを示すのに
使用される。
【0079】ローカル・プロセッサ・バス・インターフ
ェース 本節では、MIC112をLPB115とインターフェ
ースするのに使用する信号入出力を定義する。マスタと
スレーブに対する言及は、すべてローカル・プロセッサ
・バス動作に関するものである。
【0080】+ADDR/DATA(0:19)i +Address(アドレス)/Data bus(デ
ータ・バス)ビット0〜19。このバスは、LPS12
1をアドレスし、読み取り、書き込むのに使用される。
このバスは、最高1MBのアドレッシングを提供する。
【0081】+A/D PAR(0:2)i +Address(アドレス)/Data Parit
y(データ・パリティ)ビット0〜2。これらの線は、
+ADDR/DATA(0:19)iの奇パリティを供
給する。+A/D PAR(0)iは、アドレスが存在
する時、最上位4ビットの奇パリティを供給する。+A
/D PAR(1)iは、+ADDR/DATA(4:
11)iの奇パリティを供給する。+A/D PAR
(2)iは、+ADDR/DATA(12:19)iの
奇パリティを供給する。
【0082】−ALE −Address Latch Enable(アドレ
ス・ラッチ・イネーブル)。この信号は、+ADDR/
DATA(0:19)上のアドレスを外部からラッチす
るのに使用される。
【0083】+R/W +Read(読取り)/Write(書込み)。この信
号は、LPB115上の動作とデータの方向を示すのに
使用される。
【0084】−DAVと+RDY −Data Valid(データ有効)と+Ready
(動作可能)。この2つの信号は、+ADDR/DAT
A(0:19)iバス上のデータが、有効であるか否
か、または受諾されたか否かを決定するのに必要なハン
ドシェークを、MIC112に供給する。
【0085】+M/−IO +Memory(メモリ)/−Input/Outpu
t(入出力)。この信号は、LPB115上のメモリま
たは入出力空間へのアクセスを決定するのに使用され
る。
【0086】−BHE −Byte High Enable(バイト上位イネ
ーブル)。この信号は、2バイト・ワードの上位バイト
がいつ活動状態になるのかを決定する。
【0087】−LPB ERR −Local Processor Bus Erro
r(ローカル・プロセッサ・バス・エラー)。この信号
は、LPB115上でエラー状態が発生していることを
MIC112に示す。この信号は、受取り専用の信号で
あり、その目的は、デッドロック状態すなわち動作不能
状態になっている可能性のあるMICのLPBマスタ・
アクセスを終了させることである。
【0088】−LPM/SS4_IN −Local Processor Master(ロ
ーカル・プロセッサ・マスタ)/Scan Strin
g 4 Input(走査文字列4入力)。この信号
は、現ユーザがマイクロプロセッサか、それとも別のL
PB装置122であるかを示す。この信号の目的は、L
PBスレーブ動作中に必要な正しいタイミングとハンド
シェークを決定する際にMIC112を助けることであ
る。さらに、この信号は、LSSD試験モード中に、走
査文字列4の入力として定義される。
【0089】−BUS REQ/SS3_OUT −Bus Request(バス要求)/Scan S
tring 3 Output(走査文字列3出力)。
この信号は、MIC112が、LPBマスタ動作のため
にLPB115をいつ必要とするかを示す。さらに、こ
の信号は、LSSD試験モード中に、走査文字列3の出
力として定義される。
【0090】−BUS GNT/SS3_IN −Bus Grant(バス承認)/Scan Str
ing 3 Input(走査文字列3入力)。この信
号は、MIC112が、いつLPB115の所有権を獲
得しており、LPBマスタ動作を実行できるかを示す。
さらに、この信号は、LSSD試験モード中に、走査文
字列3の入力として定義される。
【0091】−CSEL −Chip Select(チップ選択)。この信号
は、初期設定レジスタとLDB117へのアクセスとを
必要とする制御されたLPBメモリ・スレーブ動作のた
めにMIC112をイネーブルするのに使用される。
【0092】−INT(0:3) −Interrupt(割込み)ビット0〜3。これら
の信号は、EC141またはQM143によって、LP
B装置によるサービスまたはアテンションを要求するの
に使用される。
【0093】ローカル・データ・バス・インターフェー
ス 本節では、MIC112をLDB117とインターフェ
ースするのに使用される信号入出力を定義する。前述の
ように、好ましい実施例では、MIC112は、LDB
117上でマスタ動作だけを行う。
【0094】+ADDR(0:9)i +Address(アドレス)ビット0〜9。このバス
は、LDBをアドレスするのに使用され、1MBのデー
タにアクセスできる。このバスは、多重化されたアドレ
ス・バスであって、8ビットの上位アドレスと10ビッ
トの下位アドレスを提供する能力を備える。上位アドレ
スと下位アドレスがあいまって、256個の4KBペー
ジング・アドレス方式をもたらす。アドレスがいつ上位
アドレスとして定義されるかを示すため、−HALE信
号を使用する。
【0095】+APAR(0:1)i +Address Parity(アドレス・パリテ
ィ)ビット0〜1。これらの信号は、+ADDR(0:
9)iの奇パリティを示す。+APAR(0)iは+A
DDR(0:1)iの奇パリティを示し、+APAR
(1)iは+ADDR(2:9)iの奇パリティを示
す。
【0096】+DATA(0:31)i +Data(データ)ビット0〜31。このバスは、L
DB117上でのデータを読み書きするのに使用され
る。
【0097】+DPAR(0:3)i +Data Parity(データ・パリティ)ビット
0〜3。これらの信号は、+DATA(0:31)iバ
スの各バイトの奇パリティを示す。
【0098】+R/−W +Read(読取り)/−Write(書込み)。この
信号は、データがLDB117に書き込まれるのか、そ
れともそこから読み取られるのかを示す。この信号が有
効になるのは、上位アドレスまたは下位アドレスのいず
れかが有効な時である。
【0099】−BE(0:3)i −Byte Enable(バイト・イネーブル)ビッ
ト0〜3。これらの信号は、+DATA(0:31)i
のどのバイトが有効なデータを含むかを示す。−BE
(0)iは+D(0:7)iをイネーブルし、−BE
(1)iは+D(8:15)iをイネーブルし、−BE
(2)iは+D(16:23)iをイネーブルし、−B
E(3)iは+D(24:31)iをイネーブルする。
また、これらの信号は、+ADDR(0:9)iが、L
DBアドレスの最下位10ビットを含むことを示す。
【0100】−RARBO/SS2_OUT −Ring Arbitration Out(リング
調停アウト)/Scan String 2 Outp
ut(走査文字列2出力)。この信号は、LDB調停ト
ークンをLDB117上の次の装置に渡すのに使用され
る。さらに、この信号は、LSSD試験モード中に、走
査文字列2の出力として定義される。
【0101】−RARBI/SS2_IN −Ring Arbitration In(リング調
停イン)/ScanString 2 Input(走
査文字列2入力)。この信号は、LDB調停トークンを
受け取るのに使用される。さらに、この信号は、LSS
D試験モード中に、走査文字列2の入力として定義され
る。
【0102】−LDB ERR −Local Data Bus Error(ローカ
ル・データ・バス・エラー)。この信号は、LDB11
7上でエラーが発生したか否かを示す。−LDB ER
Rが1サイクルを超える間活動状態の時、リング調停ト
ークンの現所有者は、LDB117上での転送を終了
し、そのトークンを取り消さなければならない。この信
号が1サイクルの間だけ活動状態の時は、パリティ・エ
ラーが検出されており、リングは動作状態に保たれる。
【0103】−HALE −High Address Latch Enabl
e(上位アドレス・ラッチ・イネーブル)。この信号
は、1MBのLDBアクセスの最上位8ビットとして+
ADDR(2:9)iを検証するのに使用される。
【0104】−ROB −Request On Bus(バス要求)。この信
号は、LDBトークンの所有者に、別のLDB装置12
2がLDB117の使用を希望していることを知らせる
のに使用される。この信号は、下記のTHTタイマおよ
びTRTタイマをイネーブルする。
【0105】自己試験インターフェース STI157は、外部診断装置によって制御されるMI
Cの自己試験能力へのアクセスを提供する。
【0106】+A/B CLK +A Clock(クロック)とB Clock(クロ
ック)。この2つのクロックは、MICのSTI157
によって使用される。この2つのクロックの動作周波数
は、最大6.25MHzになる。これらの信号はまた、
LSSD試験モード用のScan A(走査A)クロッ
クおよびSystem B(システムB)クロックを定
義する。
【0107】+DIN/SS1_IN +Data In(データ・イン)/Scan Str
ing 1 Input(走査文字列1入力)。この信
号は、MICのSTIに直列入力情報を提供する。さら
に、この信号は、LSSD試験モード中に、走査文字列
1の入力を定義する。
【0108】+MODE +Mode(モード)。この信号は、STIが命令/状
況モードと走査モードのどちらで動作しているのかを決
定する。
【0109】−SEL −Select(選択)。この信号は、STI動作をイ
ネーブルするのに使用される。
【0110】+DOUT/SS4_OUT +Data Out(データ・アウト)/Scan S
tring 4 Output(走査文字列4入力)。
この信号は、STIからの直列出力情報を供給する。さ
らに、この信号は、LSSD試験モード中に、走査文字
列4の出力を定義する。
【0111】その他 +SYS CLK +System Clocks(システム・クロッ
ク)。この2本の線は、MIC112に必要なシステム
・クロックを供給する。これらのクロックの動作周波数
は、25MHzである。両方の信号が、同等のクロック
を受け取る。これらの信号はまた、LSSD試験モード
中に、LSSD BクロックおよびLSSDCクロック
を定義する。
【0112】+SD CLK +Streaming Data Clocks(スト
リーミング・データ・クロック)。この2本の線は、M
ICのストリーミング・データ・マスタ転送に必要なク
ロックを供給する。両方の信号が、同等のクロックを受
け取る。これらの信号はまた、LSSD試験モード中
に、LSSD BクロックおよびLSSDCクロックを
定義する。
【0113】−DI −Drive Inhibit(駆動禁止)。この信号
は、すべてのMIC信号ドライバを強制的にトライステ
ート状態にする。この信号は、LSSD試験モード以外
に使用してはならない。動作モード中に、この信号を"
1"レベルにプルアップしなければならない。
【0114】+TI +Test Inhibit(試験禁止)。この信号
は、MIC112をLSSD試験モードにセットする。
すべてのMIC内部レジスタは、LSSD試験モード中
にシステム・クロックを受け取る。動作モード中に、こ
の信号は"0"レベルになっていなければならない。
【0115】+CI +Clock Isolate(クロック分離)。この
信号は、STI Aクロック信号を走査クロックとして
使用するか、それとも動作クロックとして使用するかを
定義する。動作モード中に、この信号は"0"レベルにな
っていなければならない。
【0116】+SG +Scan Gate(走査ゲート)。この信号は、L
SSD試験モード中のコンポーネント状態(シフトまた
はコンポーネントのいずれか)を定義する。動作モード
中に、この信号は"0"レベルになっていなければならな
い。
【0117】+SYS RESET +System Reset(システム・リセット)。
この信号は、MC装置をリセットまたは初期設定するた
めに、システム・コントローラによって駆動することが
できる。この信号は、MC +CHRESETとも称す
る。電源投入シーケンス中に、この信号は、指定最小時
間の1マイクロ秒の間活動状態になっていなければなら
ない。この信号は、アダプタ・レベル・リセットと論理
和をとることができる。
【0118】マイクロ・チャネル・インターフェース MCの調停、基本転送、ストリーミング・データ、シス
テム構成およびステアリング用のプロトコルを以下で説
明する。
【0119】調停(アービトレーション) 調停(アービトレーション)とは、複数のバス要求を解
決して、要求元のうちで最も高い優先順位を有するもの
にバスの使用を許可することである。マイクロ・チャネ
ルの調停方式は、マルチ・ドロップ(ドットOR)機構
として動作する。このタイプの調停方式は、1調停サイ
クル内で、4本の信号線だけを使用しながら最大16の
関与装置に対処することができる。何らかの外部ドライ
バからの援助を伴う+ARBI(0:3)iと+ARB
O(0:3)iは、MC110上での調停に必要な4つ
の信号を含んでいる。
【0120】MIC112は、−PREEMPT信号を
活動化することによってサービスを要求する。システ
ム、現バス所有者がそのバス活動を完了した時に、+A
RB/GNTを立ち上がらせることによって応答する。
現バス所有者は、−PREEMPT信号が活動化されて
から7.5マイクロ秒以内に、MC110の制御を解放
しなければならない。システムが+ARB/GNTを活
動化した時、最も高い優先順位を有する装置が、MC1
10の制御を得る。バス所有者は、−BURST信号を
使って、MC110の制御を長時間維持することができ
る。公正性(fairness機能)がイネーブルされている場
合、MIC112がMC110を再要求できるのは、他
のすべてのMC装置が、最初の要求のサービスを受けた
後に限られる。
【0121】基本転送 基本転送モードは、MC装置間の情報交換の省略時モー
ドである。基本転送が始まるのは、MCマスタ(通常は
バス所有者)が、状況線(−S0と−S1)と+M/I
O信号をアサートして、MC上で実行すべき動作のタイ
プを示した時である。MCマスタはまた、その転送タイ
プに必要な場合、+A(0:31)i、+APAR
(0:3)i、APAREN、MADE24、TR3
2、SBHEおよび−BE(0:3)iをアサートす
る。アドレス・バスが安定になると、−ADLがアサー
トされる。
【0122】MC上のすべての装置は、MCマスタによ
ってアサートされた信号を監視する。ある装置が所定の
範囲内のアドレスを検出した時、その装置は、MCスレ
ーブになる。次に、MCスレーブは、その選択の肯定応
答として、−DS16、DS32および−CD SFD
BK信号をアサートする。これらの肯定応答信号は、M
Cマスタが−DS16 RTN、DS32 RTNおよ
び−SFDBKRTNとして受け取り、MCスレーブの
タイプと、そのMCスレーブが転送の準備ができている
か否かとを示す。
【0123】書込み動作中には、+D(0:31)iと
+DPAR(0:3)iが、−CMD信号でアサートさ
れる。読取り動作中には、+CHRDYが活動状態にな
って、MCスレーブがMCマスタにデータを送る準備が
できるまで、+D(0:31)i上のデータは有効にな
らない。
【0124】MCスレーブは、+CD CHRDY信号
をアサートすることによって、200ナノ秒を超えて基
本転送サイクルを延長することができる。MCマスタは
また、−BURST信号をアサートすることによって、
MCの所有権を維持できる。基本転送モードとMCマス
タによるMC110の所有権が終了するのは、−BUR
STと−CMDが非活動状態になった時である。
【0125】ストリーミング・データ ストリーミング・データ・モードの開始は、基本転送モ
ードと同様である。MCマスタは、MCスレーブが応答
する範囲の、単一のアドレス(通常は開始アドレス)を
供給する。16ビットまたは32ビット用のアドレス
は、4バイトのアドレス境界に整列される。64ビット
転送用のアドレスは、8バイトのアドレス境界に整列さ
れる。
【0126】選択されたMCスレーブがMCマスタに肯
定応答を送る時、3つの追加信号をMCマスタに送っ
て、MCスレーブのストリーミング・データ・モードの
能力を示す。これらの信号のうちの2つ、−SDR
(0:1)は、MCスレーブがストリーミング・データ
・モードで動作できる最高速度を決定する。第3の信
号、−MSDRは、MCスレーブが64ビット・ストリ
ーミング・データ・モードでデータを転送する能力を有
することを示す。その後、−CMD信号がアサートさ
れ、ストリーミング・データ・モードが終了するまで活
動状態に保たれる。−SDSTBと+CD CHRDY
は、ストリーミング・データ転送中にデータがいつ有効
かを示すのに使用される。
【0127】ストリーミング・データ・モード転送は、
ストリーミング・データ・マスタまたはストリーミング
・データ・スレーブのいずれかによって終了させること
ができる。ストリーミング・データ・マスタは、−S
0、−S1信号を非活動化することによって、転送の終
了を開始でき、ストリーミング・データ・スレーブは、
−SDR(0:1)/−MSDR信号を非活動化して応
答する。この終了が完了するのは、ストリーミング・デ
ータ・マスタが−CMDを非活動化した時である。スト
リーミング・データ・スレーブは、−SDR(0:1)
/−MSDR信号を非活動化することによって、転送の
終了を開始できる。この終了が完了するのは、ストリー
ミング・データ・マスタが−S0、−S1および−CM
Dを非活動化した時である。−SDR(0:1)は、−
CMDが非活動化された後、トライステートになる。
【0128】システム構成 システム構成プロトコルは、MIC112または他の任
意のMC装置を用いて、POSレジスタの初期設定と読
取りを行うのに使用される。システム構成の間、選択さ
れたMC装置は、セットアップ・スレーブになる。シス
テム構成プロトコルは、下記の変更を除いて基本転送モ
ードに類似している。 ・MC装置は、アドレス・バスの復号または調停によら
ず、−CD SETUP信号を使って選択される。 ・最下位3アドレス・ビットだけが使用または復号され
る。 ・入出力読取り/書込み動作だけが実行される。 ・選択された装置は、肯定応答として−CD SFDB
Kをアサートしない。 ・すべての転送は、単一バイト(8ビット)転送であ
り、データ・バスの最下位バイトでのみ行われる。 ・1つの構成サイクルは、300ナノ秒である。 ・パリティは、サポートされない。
【0129】MCステアリング バス幅の互換性と柔軟性を維持するために、MIC11
2は、複数のバス幅構成で動作できる。LDB117と
MC110の間でのデータ移動を伴う転送は、その転送
に関与する他のMC装置に応じて、64ビット、32ビ
ット、16ビットまたは8ビットの能力を有する。LP
S121内に置かれた待ち行列への書込みまたはそこか
らの読取りを伴う転送は、32ビット、16ビットまた
は8ビットの能力を有する。POSレジスタ転送は、バ
イト境界上のみである。MC装置間の転送では、可能な
時には必ず、それらの装置の最大のバス幅能力を利用す
る。MIC112は、マスタとして動作している時、ス
テアリングを制御する。MIC112は、ストリーミン
グ・データ・マスタの方がバス幅が狭い状態でストリー
ミング・データ・スレーブとして動作している時、ステ
アリングを制御する。ストリーミング・データ転送が開
始された後は、現ストリーミング・データ転送が終了す
るまで、新規のストリーミング構成は不可能である。表
1に、有効なMCマスタ転送中のMICのステアリング
の責任を示す。
【0130】 表1 MICマスタ信号 スレーブ信号 +A( -BE( DS16 DS32 SBHE 29:31)i 0:3)i RTN RTN MSDR 転送タイプ/解説 --------------------------------------------------------------- 0 000 1111 0 0 0 64ヒ゛ット・スレ-フ゛への8ハ゛イト転送 # 0 X00 1110 X X X 全スレ-フ゛への1ハ゛イト転送 0 X00 0000 1 1 1 8ヒ゛ット・スレ-フ゛への1ハ゛イト転送 0 X00 0000 0 1 1 16ヒ゛ット・スレ-フ゛への2ハ゛イト転送 * 0 X00 0000 0 0 X 32/64ヒ゛ット・スレ-フ゛への4ハ゛イト転送* 0 X01 1101 X X X 全スレ-フ゛への1ハ゛イト転送 1 X10 1011 X X X 全スレ-フ゛への1ハ゛イト転送 0 X10 0011 0 X X 16/32/64スレ-フ゛への2ハ゛イト転送 0 X11 0111 X X X 全スレ-フ゛への1ハ゛イト転送 --------------------------------------------------------------- 注意:上記の転送は、特記のない場合、すべて基本転送
モードで実行される。 # − ストリーミング・データ動作のみ可能。 * − 基本転送動作とストリーミング・データ動作の
両方が可能。
【0131】割込み MIC112は、4つのプログラマブルMC割込みを発
する能力を有し、最高8つまでの拡張可能性を有する。
これらの割込みは、待ち行列がMC110上の装置用ま
たはシステム・プロセッサによる使用のためのジョブま
たはコマンド/状況ワードを含むこと、あるいはエラー
が発生したことを、システム・プロセッサに知らせるの
に使用される。各割込みを、最高4つの待ち行列が共用
することができる。複数の待ち行列がある割込みを共用
する時、他のMC装置またはシステム・プロセッサがそ
の割込みを引き起こした待ち行列を決定するのを援助す
るために、1つの読取り可能レジスタが使用可能であ
る。1つの割込みを、1つの待ち行列だけに割り当てる
こともできる。
【0132】エラー MIC112は、マイクロ・チャネル・チェック能力を
提供する。チャネル・チェックが活動状態になるのは、
MIC112がMCスレーブ書込みの際にパリティ・エ
ラーを検出した時である。チャネル・チェックは、エラ
ーの検出に対して同期式としても非同期式としてもよ
い。MICの省略時設定は、同期式である。
【0133】同期式チャネル・チェックを用いると、現
MCマスタがMIC112によって検出されたパリティ
・エラーの通知を即座に受け取れるようになる。MCマ
スタが進行中の転送を完了すると、チャネル・チェック
信号は非活動状態になる。
【0134】非同期式チャネル・チェックは、MCマス
タが現サイクルを完了した後も、チャネル・チェック信
号が活動状態に留まる点を除いて、同期式チャネル・チ
ェックに類似している。
【0135】いずれの場合でも、POSレジスタ内のチ
ャネル・チェック・ビットは、システムがそれをリセッ
トしない限り、活動状態のままである。チャネル・チェ
ック状態のリセットは、システム構成プロトコルを使用
して行われる。
【0136】マイクロ・チャネル・インターフェース状
態機械 チップ設計を簡単にするために、MC110上でデータ
を捕捉し検証する同期式の方法を、最小限の非同期式ク
ロッキングと共に使用することができる。非同期式論理
の使用を最小限にすることによって、非同期式設計に伴
う危険が減少する。MCの制御信号とバスが同期化され
ると、状態機械インターフェースは、データの状態と、
MC110上でデータがいつ有効になるかを決定できる
ようになる。この作業は、以下に述べる3つの領域の論
理設計、すなわち制御信号とデータ信号の捕捉と同期
化、インターフェース状態機械、およびデータ検証復号
論理を使用して達成できる。
【0137】図5は、MCインターフェース130の多
少詳細なブロック図である。前述したように、MCイン
ターフェース130には、MCデータ・インターフェー
ス131、MCアドレス・インターフェース132、お
よびMCインターフェース制御論理機構134が含まれ
る。制御信号およびデータ信号の捕捉/同期化論理機構
170は、主にMCインターフェース制御論理機構13
4内に置かれるが、MC110からのデータ信号の捕捉
専用の論理機構は、MCデータ・インターフェース13
1内に置かれ、MC110からのアドレス信号の捕捉専
用の論理機構は、MCアドレス・インターフェース13
2内に置かれる。インターフェース状態機械172も、
MCインターフェース制御論理機構134の一部であ
り、これは、制御信号およびデータ信号の捕捉/同期化
論理機構170からの同期信号を使用して、MC110
の状態を評価する同期式の手段を導出する。最後に、デ
ータ検証復号論理機構174は、捕捉/同期化論理機構
170とインターフェース状態機械172から信号を得
て、MC110から捕捉された、非同期にラッチされた
データ信号とアドレス信号が、同期式に有効なデータを
表すか否かを判定する。
【0138】非同期のMCデータ信号と制御信号を捕捉
するために、LSSDガイドラインに整合する技法を使
用する。これらの技法には、狭バス・ストローブの捕
捉、サンプリング、および同期化が含まれる。LSSD
回路は、米国特許第3761695号明細書、米国特許
第3783254号明細書および米国特許第45801
37号明細書に一般的に記載されている規則に従う。さ
らに、同期式および非同期式のクロッキング用のラッチ
回路を開示した米国特許第4580137号明細書に
も、LSSDラッチ設計の様々な態様の極めて完全な総
括が含まれている。他のLSSD互換回路を使用して、
MCの制御信号とデータ信号を捕捉することも可能であ
るが、以下の説明に出てくる図面では、MCの制御信号
とデータ信号を捕捉するための、本発明者の知る限り最
適の論理回路を図示する。
【0139】図6ないし図10を迅速に参照できるよう
に、これらの図面に示された信号の定義を、以下の表2
に示す。
【0140】 表2 信号名 信号の定義 -------------------------------- −CMD データがMC上でいつ有効になるかを示すのに使用されるMC信 号。 +CMDA 活動状態のハイ・レベルが−CMD信号上でいつ捕捉されたかを 示すチップ内部信号。 +CMDB 活動状態のロー・レベルが−CMD信号上でいつ捕捉されたかを 示すチップ内部信号。 +C /+B 内部システム・クロックと内部LSSDクロック。+Cは、レジ スタのL1部分を制御し、+Bは、レジスタのL2部分を制御す る。 +T1 / +T2 内部LSSDクロック。これらのクロックは、非LSSD動作中 は活動状態に保たれる。+T1はレジスタのL1(ラッチ1)部 分を制御し、+T2はレジスタのL2(ラッチ2)部分を制御す る。 SD_STB ストリーミング・データ(SD)転送中のデータをクロックする のに使用されるMC信号。この信号は、MCマスタによって送ら れ、選択されたMCスレーブ装置によって受け取られる。 +STRA 活動状態のハイ・レベルが−SD_STB信号上でいつ捕捉され たかを示すチップ内部信号。 +STRB 活動状態のロー・レベルが−SD_STB信号上でいつ捕捉され たかを示すチップ内部信号。 S0/−S1 バス状況を示すのに使用されるMC信号。 −S0/−S1_I 非同期式にラッチされた内部入力状況。 −ADL MCアドレスをラッチし検証するのに使用されるMC信号。 +LSSD_TEST_EN この信号は、LSSD動作がいつ活動状態であるかを示し、デー タ・レジスタ用の適当なクロックを選択する。 +D(0:31)/P バイト・パリティ付きのMC32ビット・データ・バス。 +D(0:31)/P_I 非同期式にラッチされた内部入力データ・バス(バイト・パリテ ィ付き)。 +D(0:31)/P_O 同期内部出力データ・バス(バイト・パリティ付き)。 +A(0:31)/P バイト・パリティ付きのMC32ビット・アドレス・バス。 +A(0:31)/P_I 非同期式にラッチされた内部アドレス・バス(バイト・パリティ 付き)。このバスは、ストリーミング・データ動作にのみ有効。 +MASTER_RDY MCマスタとして活動しているチップが、MC上にデータ・ワー ドを書き込み始める準備がいつできたかを示す信号。 +SLAVE_RDY MCスレーブとして活動しているチップが、MC上に読取りデー タ・ワードを置き始める準備がいつできたかを示す信号。 +MC_MASTER チップがいつMCマスタであるかを示す信号。 +MC_SLAVE チップがMCスレーブとしていつ選択されたかを示す信号。 +RDY_RTN 選択されたMCスレーブの動作可能状態を示す信号。この信号は 、 MCマスタが受け取る。 +RDY_RTN_A 非同期式にラッチされた+RDY_RTN信号。データ・バスの 検証のため、内部で使用される。 +RDY_RTN_S 同期式にサンプリングされ、ラッチされた+RDY_RTN信号 。 動作可能状態を判定するため、内部で使用される。 +64_SD_EN 64ビット・ストリーミング・データ転送がいつ進行中であるか を示す信号。
【0141】図6を参照すると、マイクロ・チャネル上
でデータがいつ有効になるのかを示すマイクロ・チャネ
ル信号である非同期データ有効信号−CMDを捕捉する
ための論理回路が示されている。2つの同期内部信号
が、この論理回路によって生成される。アクティブ・ハ
イ・レベル信号が−CMD信号上に存在したことを示す
+CMDAと、アクティブ・ロー・レベル信号が−CM
D信号上に存在したことを示す+CMDBである。+C
MDA信号と+CMDB信号は、どちらもMC110か
らの状態機械信号中で使用される。
【0142】図6の上半分のブロック180の、+CM
DA信号を生成する回路要素は、+CMDB信号を生成
する下半分のブロック182の回路要素と基本的に同等
である。ただし、MC110からの−CMD信号は、ブ
ロック182によって受け取られる前に反転される。図
の回路は、MIC112の内部クロックの1システム・
クロック・サイクルより狭い信号を捕捉するのに有用で
ある。
【0143】図6で、レジスタ183とレジスタ18
4、ならびにレジスタ185とレジスタ186は、一連
の2つのラッチであり、第1のラッチが、非同期信号と
第1クロック信号を受け取り、第2のラッチが、第1ラ
ッチの出力と第2クロック信号を受け取る。このように
して、非同期信号が第1ラッチ内でサンプリングされ、
準安定状態が安定化するのを待って、第1ラッチからの
値を第2ラッチ内にセットする。第2ラッチは、LSS
Dチップ内で使用可能な同期信号を保持する。−CMD
信号の幅が、MIC112の内部クロック信号+Cおよ
び+Bよりも広い場合、同期信号+CMDAおよび+C
MDBを供給するには、レジスタ184とレジスタ18
6だけが必要である。しかしながら、−CMD信号の方
が狭くなる可能性が高いので、−CMD信号とその反転
信号を捕捉し、レジスタ184およびレジスタ186に
よって同期化できるようになるまでそれらの信号を保持
するには、内部試験クロック+T1および+T2によっ
てクロックされるレジスタ183およびレジスタ185
と、それらに付随するAND、ORおよびフィードバッ
ク・ループが必要である。
【0144】図7は、MC110から非同期のストリー
ミング・データ信号−SD_STBを捕捉するための論
理回路を示す図である。−SD_STBは、MIC11
2へのストリーミング・データ転送中にデータをクロッ
クするのに使用される。ここでは、2つの同期信号が生
成される。すなわち、活動状態のハイ・レベルが−SD
_STB信号内でいつ捕捉されたかを示すチップ内部信
号である+STRAと、活動状態のロー・レベルが−S
D_STB信号内でいつ捕捉されたかを示す信号である
+STRBである。+STRAは、ブロック190のレ
ジスタ193およびレジスタ194によって生成され、
+STRBは、ブロック192のレジスタ195および
レジスタ196によって生成される。この論理回路は、
図6に示した−CMD信号用の論理回路と基本的に同等
である。
【0145】図8は、マイクロ・チャネル・バス状況用
の内部信号−SO/−S1_Iと、MIC112がマイ
クロ・チャネル・スレーブとして選択されていることを
示す内部信号+MC_SLAVEを生成するための論理
回路を示す図である。これらの信号用の論理回路はどち
らも、MC110からの−ADL信号を、マルチプレク
サ200を介してレジスタ202内で第2「クロック」
信号として使用し、その結果、信号が非同期式にラッチ
される。この技法を使用するのは、−ADL信号と−S
O/−S1信号を同期させる時間がないからである。レ
ジスタ202は、実際の論理回路を単純化して表したも
ので、−SO/−S1とスレーブ復号信号を捕捉するた
めに、別々のレジスタが2つ使用され、これらのレジス
タは、どちらもが2つのラッチからなり、第1のラッチ
は、試験クロッキングを使用してデータをサンプリング
して準安定状態が安定するのを待ち、第2のラッチは非
同期の−ADL信号を「クロック」信号として使用す
る。スレーブ復号論理回路204は、MCアドレス・バ
ス、+M/IOと状況信号を使用して、その装置が現M
Cマスタによって選択されているか否かを判定する。+
LSSD_TEST_EN信号と+Bクロック信号は、
この論理回路上でのLSSD試験操作に使用される。
【0146】図9は、MC110から非同期のデータ信
号、アドレス信号および+RDY_RTN信号を捕捉す
るための論理回路を示す。−SD_STB信号と−CM
D信号が、マルチプレクサ210を介してレジスタ21
2に渡され、レジスタ212は、MIC112内で使用
可能な、非同期式にラッチされたデータ信号、アドレス
信号および+RDY_RTN信号を生成する。図8のレ
ジスタ202と同様に、レジスタ212は、MC110
からの3つの非同期信号に使用される3つの別々のレジ
スタを単純化して表したものである。また、この論理回
路は、レジスタ214を用い、内部クロック+Cおよび
+Bを使用して、+RDY_RTNに対応する同期信号
を生成する。内部クロック+Cおよび+Bと+LSSD
_TEST_EN信号は、LSSD動作に従ってこの論
理回路を試験できるように、マルチプレクサ210の入
力に接続される。
【0147】図10は、MIC112からMC110へ
のデータ信号とアドレス信号を捕捉するための論理回路
を示す。データとアドレスは、レジスタ230に捕捉さ
れる。レジスタ230は、図10に示した残りのクロッ
ク復号論理によってクロックされる。マルチプレクサ2
20、224および226は、レジスタ222、228
および230に、動作クロッキングとLSSD試験クロ
ッキングのどちらかを選択する能力を提供する。SD_
STBによって動作可能にクロックされるレジスタ22
2および228は、3つの付随するXORゲートとあい
まって、最終的にデータとレジスタをレジスタ230内
およびMC110上にクロックするのに必要な適当なク
ロッキング制御とタイミングを供給する。MC110上
でのアイドル時間中、−CMDは、レジスタ222およ
び228にリセットを供給し、その結果、この制御論理
回路は、既知の状態にセットされ、次のデータ転送を待
つ。+64_SD_ENと+RDY_RTNを受ける付
随ORゲートは、64ビット・ストリーミング・データ
転送中の追加的制御と、16ビットまたは32ビットの
ストリーミング・データ転送中のデータの歩調合せを提
供する。これらの転送タイプは、マイクロ・チャネル・
アーキテクチャの文書に詳細に説明されている。最後
に、ANDゲートとORゲートは、マルチプレクサ22
0に入力を供給し、+MC_MASTERが、MCマス
タ動作中とMCスレーブ動作中に別々の動作可能制御
(+MASTER_RDYと+SLAVE_RDY)を
選択できるようにし、これによって、データとアドレス
をレジスタ230内に捕捉するのに必要なクロック復号
を完了させる。
【0148】適当なMC110の信号と内部信号が生成
されると、MC110の現状態を、同期式の状態機械設
計を使用して決定することができる。図11は、MCの
インターフェース状態機械172を示す。このインター
フェース状態機械172を迅速に参照するために、表3
に状態遷移方程式を示す。状態の定義を、表4に示す。
【0149】
【外1】
【0150】 表4 状態の定義 状態0 =¶ このチップは、現在MC上で活動状態で
ない。 状態1 =¶ MCの−CMDが、活動状態のローにな
っており、チップは、基本転送またはストリーミング・
データ転送のいずれかを使用してMCからデータを受け
取ろうとしている。 状態3 =¶ MCの−CMDと−SD_STBが、活
動状態のローになっており、チップは、ストリーミング
・データ転送を使用してMCからデータを受け取ろうと
している。 状態4 =¶ MCの−SD_STBが、非活動状態の
ハイになっており、チップは、ラッチすべき有効なデー
タを待っている。 状態5 =¶ MCの−CMDが、活動状態のローにな
っており、チップは、MC上に有効なデータを提示しよ
うとしているか、あるいは既に提示済みである。MCの
+RDY_RTN信号は、非活動状態のローであって、
動作不能状態を示している。 状態6 =¶ MCの−CMDが、活動状態のローにな
っており、チップは、MC上に有効なデータを提示しよ
うとしているか、あるいは既に提示済みである。MCの
+RDY_RTN信号は、活動状態のハイであって、動
作可能状態を示している。 状態7 =¶ MCの−CMDと−SD_STBが、活
動状態のローになっており、有効なデータが、ストリー
ミング・データ転送のためMC上に提示されている。 状態8 =¶ −SD_STBが、非活動状態のハイに
なっており、チップは、クロックすべき次の有効なデー
タを待っている。
【0151】インターフェース状態機械172は、状態
0で開始する。状態0は、MIC112がMC110上
で活動状態ではないことを意味する。
【0152】表3の式bが成立する場合、この状態機械
は、状態0から状態1に移行する。これは、MC110
上の−CMD信号が活動状態のローになっており、チッ
プが基本転送またはストリーミング・データ転送のいず
れかを使用してMC110からデータを受け取ろうとし
ていることを意味する。−CMD信号は、MC110上
でデータがいつ有効になるかを示すのに使用される。一
方、表3の式cが成立する場合は、この状態機械は、状
態3に移行する。これは、−CMD信号と−SD_ST
B信号の両方が、活動状態のローになっており、MIC
112が、ストリーミング・データ転送を使用してMC
110からデータを受け取ろうとしていることを意味す
る。−ST_STB信号は、ストリーミング・データ転
送中にデータをクロックするのに使用されるMC110
の信号である。この信号は、マスタによってMC110
上に送られ、スレーブ装置によってMC110上で受け
取られる。一方、式dが成立する場合は、この状態機械
は、状態0から状態5に移行する。これは、−CMD
が、活動状態のローになっており、チップが、MC11
0上に有効なデータを提示しようとしているか、あるい
は既に提示済みであることを意味する。また、+RDY
_RTN信号は、活動状態でローの状態であり、MC1
10が動作不能状態であることを示している。
【0153】表3の式eが成立する場合、この状態機械
は、状態0から状態6に移行する。これは、−CMD信
号が活動状態のローになっており、チップがMC110
上に有効なデータを提示しようとしているか、あるいは
既に提示済みであり、+RDY_RTN信号が活動状態
のハイであって、MC110がデータ転送の準備ができ
ていることを示すことを意味する。式fが成立する場合
は、この状態機械は、状態0から状態7に移行する。状
態7では、−CMD信号と−ST_STB信号が活動状
態のローになっており、ストリーミング・データ転送の
ためにMIC112によってデータがMC110上に提
示される。
【0154】状態3から状態4に移行するのは、表3の
式kが成立する場合である。状態4では、−ST_ST
B信号が、活動状態のハイになっており、チップは、ラ
ッチすべき有効なデータを待っている。状態7から状態
8に移行するのは、表3の式wが成立する時である。状
態8では、−ST_STB信号が、活動状態のハイにな
っており、チップは、MC110上にクロックすべき次
の有効なデータを待っている。他の遷移と安定点は、表
3の式と図11によって記述される。たとえば、式aが
成立する限り、この状態機械は、状態0に留まる。これ
は、MIC112がMC110上で活動状態でないこと
を意味する。この状態機械は、この状態機械の8つの状
態のそれぞれに対応するレジスタや関連する論理回路な
どの標準構成要素とともに使用される。この状態機械で
は、状態1、状態3および状態4は、MIC112がM
C110からデータを受け取っているデータ状態を定義
し、状態5、状態6、状態7および状態8は、MIC1
12がMC110上にデータを送っているデータ状態を
定義する。
【0155】最後に、この状態機械を復号すると、デー
タ検証を同期に実施できる。これによって、これ以上非
同期式のタイミング論理回路を使用せずに、データの処
理を行えるようになる。復号の方程式と定義を以下にリ
ストする。 BTDAV = g & +RDY_RTN_A SDDAV = [ m / l ] & [ +RDY_RTN_A / +64_SD_EN ] SDGND = f / r / u / [y & (+RDY_RTN_A / +64_SD_EN)
]
【0156】BTDAV信号は、このチップが、MC基
本転送サイクル中に有効なデータを受け取りラッチした
ことを示す信号である。この信号が活動状態の時、+D
(0:31)/P_Iバスが有効である。SDDAV信
号は、このチップが、ストリーミング・データ・サイク
ル中に有効なデータを受け取り、ラッチしたことを示す
信号である。この信号が活動状態の時、+D(0:3
1)/P_Iと+A(0:31)/P_Iが有効であ
る。SDGND信号は、ストリーミング・データ転送中
に、有効なデータが転送されMC上で受け取られたこと
を示す信号である。次のクロック・サイクルに、新しい
データを+D(0:31)/P_Oバスと+A(0:3
1)/P_Oバスに提示し、取り出すことができる。
【0157】上述したように、捕捉論理機構、状態機械
および復号論理回路があいまって、マイクロ・チャネル
とインターフェースし、マイクロ・チャネルの状態を決
定し、LSSDの規則と要件を満足する、信頼性のある
方法を提供することができる。さらに、チップの内部設
計は、チップ内での非同期式の論理回路と制御の使用が
最小限であるため、簡単になる。
【0158】マイクロ・チャネルのタイミング マイクロ・チャネルの基本転送、ストリーミング・デー
タ、調停およびパリティ・タイミング機能のタイミング
図は、IBM CorporationによるPersonal System/2 - Har
dware Interface Technical Reference - Architectur
e, Order No. 84F9808, Form No., S84F-9808-00に示さ
れている。
【0159】ローカル・プロセッサ・バス・インターフ
ェース MIC112は、−BUS REQ信号を活動化するこ
とによって、LPB115の調停を行う。−BUS G
NT信号が活動状態(ロー)になったことをMIC11
2が検出すると、MIC112がマスタになり、−BU
S REQを活動状態に保ち続ける。
【0160】MIC112は、いったんマスタになる
と、−BUS GNTが非活動状態になったこと、また
はMIC112がもはやバスを必要としないことを検出
するまで、所有権を解放しない。MIC112が、バス
の所有権を放棄すべきことを検出すると、−BUS R
EQが非活動状態(ハイ)になる。これは、現在、MI
C112が最後のアクセスを実行中であることを示す。
【0161】MIC112は、その−BUS REQを
非活動状態にすると、−BUS GNTが非活動状態に
なったのを検出するまで、LPB115を要求しない。
これによって、MICが−BUS REQを非活動状態
にした時刻に対する、外部LPB調停論理機構が−BU
S GNTを非活動状態にする時刻の制約がなくなる。
【0162】マスタ動作 MIC112は、LPB115の所有権を取得すると、
LPBマスタになる。MIC112は、マスタとしてL
PBに対するデータの読み書きを行うことができる。L
PBマスタとしてのMIC112は、必ずワード(2バ
イト)・アクセスを行う。
【0163】MIC112は、+ADDR/DATA
(0:19)i上にアドレスを供給することによってマ
スタ動作を開始する。このアドレスは、その後−ALE
信号によってラッチされる。アドレスがラッチされる
と、+ADDR/DATA(0:19)iバスがデータ
の転送に使用できるようになる。+M/−IO信号は、
そのアドレスがLPB115のメモリ空間内にあるか、
それとも入出力空間内にあるかを決定する。+R/W信
号は、+ADDR/DATA(0:19)i上でデータ
が流れる方向を決定する。データ転送には、+ADDR
/DATA(0:19)iの下位16ビットだけを利用
する。+ADDR/DATA(0:19)iの奇パリテ
ィが、+A/D PAR(0:2)i上で生成され受け
取られる。
【0164】−DAV信号と+RDY信号は、データ転
送中のハンドシェークと検証に使用される。−DAV
は、LPBマスタから供給され、+ADDR/DATA
(0:19)i上に有効なデータが存在する時に活動状
態になる。+RDYは、LPBスレーブから供給され、
LPB装置が、書込み中にデータを受け取る、または読
取り中にデータを送る準備ができているか否かをMIC
に知らせるのに使用される。
【0165】LPBスレーブ動作 MIC112がLPBスレーブになるのは、−CSEL
が活動状態である時、または所定のアドレスが復号され
た時である。MIC112がスレーブの時、ローカル・
プロセッサ119と他の装置122は、初期設定レジス
タなどの追加資源にアクセスし、LDB117に直接ア
クセスし、待ち行列プリンタにアクセスする能力を有す
る。−ALEと+R/Wは、LPB装置によって制御さ
れる入力になる。−DAVは、有効なデータをいつ書き
込むか、またはマスタが読取りデータを受け入れる準備
がいつできたかを示す入力になる。+RDYは、LPB
装置に対する書込みデータまたは読取りデータを検証す
る、MIC112からの出力になる。初期設定および制
御レジスタに対するMICスレーブのアクセスは、ワー
ド(2バイト)境界上になければならない。LDBウィ
ンドウ・アクセスは、1バイト境界上または2バイト境
界上にあってよい。
【0166】割込み MIC112は、4つのプログラム式割込み−INT
(0:3)を供給する。これらの割込みは、MIC11
2が管理している待ち行列がジョブを含むこと、または
エラーが発生したことを、ローカル・プロセッサ119
と他の装置122に知らせる。MIC112は、待ち行
列内のジョブの状況を示す読取り可能レジスタを提供す
る。割込みは、待ち行列からすべてのジョブを除去する
か、あるいはエラー状態をクリアすることによってクリ
アされる。
【0167】エラー MIC112によってLPB115上で検出されたエラ
ーはすべて、割込みによって示される。エラー割込み
は、USWが待ち行列に通知されることによって生成で
き、待ち行列エラーが発生した場合には、待ち行列エラ
ー・レジスタを介して生成することができる。
【0168】LPB Err信号は、MIC112をハ
ング状態からクリアするのに使用される。MIC112
がLPBマスタであり、スレーブ装置が動作可能状態で
応答しない場合には、MIC112が現在の転送を終了
できるようにするために、LPB Errを使用しなけ
ればならない。LPB Err信号が活動状態になった
場合は、USWが通知される。MIC112は、LPB
Err信号を受け取るだけであって、この信号を駆動
することは絶対にない。
【0169】ローカル・プロセッサ・バス・タイミング 図12ないし図15は、スレーブ動作とマスタ動作のL
PBタイミングを示す。LPBタイミング図を示す図1
2ないし図15では、下記の規約を使用した。
【0170】第1に、データを、システム・クロックの
立上りに関してスキューし、MIC112がデータの送
受にどのエッジを使用するかを示した。MIC112が
信号を駆動する時には、クロックの立上りのわずか後に
データが変化するように示してある。MIC112が信
号を受け取る時には、データは、MIC112がクロッ
キングに使用する立上りの付近で安定しているように示
してある。第2に、各タイミング図の右端に、何がその
信号を駆動しているのかを示した(M=マスタ、S=ス
レーブ、A=調停論理機構、m=MIC112がマスタ
の時には、MIC112によって駆動されず、外部から
制御される)。第3に、破線は、その信号が、駆動され
ていない時にプルアップによってハイに保持されている
ことを表す。第4に、常に有効な−ALEを除いて、ア
クセス中にMIC112に送られるどの信号も、破線が
表れるサイクル中は、何でもよい状態にある。そのアク
セス中にMIC112が制御する信号は、活動状態に保
つためにプルアップする必要があるかもしれない(すな
わち、+RDY)。第4に、図の最上部の":"は、MI
C112のクロッキング・エッジを表す。
【0171】ローカル・データ・バス・インターフェー
ス 図2と図3を参照すると、LDBインターフェース13
5は、LDS123と、LDB117に接続されたすべ
ての装置の間の高速データ転送を処理するように設計さ
れた100MBインターフェースである。データ・バス
は、4ビットの奇バイト・パリティを伴う32ビットの
データを保持する。アドレス・バスは、10ビットのア
ドレスと2ビットの奇パリティを保持する。アドレス・
バス137は、8ビットの上位アドレス(HA)と、そ
れに続く10ビットの下位アドレスと4バイトのイネー
ブルからなるページ・アドレス方式を使用することによ
って、1MBのアドレス範囲へのアクセスを可能にす
る。
【0172】LDB117上での調停は、1ビット・ト
ークン・リング・プロトコルを使用することによって行
われる。このプロトコルは、複数のLDB装置、LDB
装置間のプログラム式時分割、バス所有権の受け渡し中
の最小限の待ち時間、パリティ・エラーとプロトコル・
エラーの検出、およびエラー回復が可能である。また、
LDB_Err(L)と称するエラー信号と、LDB_
ROBと称する要求信号も含まれる。
【0173】図16と図17を参照すると、LDB11
7上で使用される1ビット・トークン・リング・プロト
コルには、いくつかの信号が使用される。図16は、2
チップ・リングを示す図である。図16で概略的に示し
たチップ1 240はMIC112であり、チップ2
242は直列インターフェース113である。図17に
示すように、このプロトコル接続は、同数の入出力信号
接続を有するマルチチップ・リング用に拡張して、LD
B117に結合された他の装置124および125が、
LDBマスタとして活動できるようにすることができ
る。
【0174】LDB117上で複数ユーザに対処するた
めに、RARBIとRARBOがその上でトークンが回
転されるリング244を形成し、一方、ROB(L)2
48とLDB_Err(L)246は、ハードワイヤ接
続されたドットOR機能を形成して接続されるように、
プロトコル信号が結合される。典型的なトークン・リン
グとは異なり、本発明のリング244は、調停だけに使
用される。LDB117専用の線は、リング244用に
使用される線や、ROB(L)248およびLDB_E
rr(L)246信号から分離される。
【0175】正論理を使用して、入出力信号の活動レベ
ルを定義する。RARBI(L)(リング調停イン)信
号は、そのリング上の別のユーザからトークンを渡され
る時にそのトークンを受け取るのに使用される、チップ
への入力である。RARBO(L)(リング調停アウ
ト)信号は、リング上の次の装置にトークンを送るのに
使用される、チップからの出力である。RARBI信号
とRARBO信号は、どちらもリング244上で渡され
る。好ましい実施例では、トークンは、1サイクルのア
クティブ・ロー・パルスとして表れる。LDB_Err
(L)246は、LDB117上にエラーが存在するこ
とを示す双方向信号である。好ましい実施例では、その
ドライバ形式は、チップの外部にプルアップ抵抗を有す
るオープン・コレクタである。この信号は、そのリング
上でエラーが検出されたことを、すべてのリング関与装
置に示すためのものである。エラーの重大度は、LDB
_Err(L)246が活動状態に保持されるサイクル
の数によって示すことが好ましい。LDB_Err
(L)は、アクティブ・ロー(ローで活動状態)であ
る。
【0176】ROB(L)248(バス所有要求)信号
も、双方向である。好ましい実施例では、そのドライバ
形式は、チップの外部にプルアップ抵抗を有するオープ
ン・コレクタである。この信号の目的は、別の装置がそ
のバスを使用するために待っていることを、トークンを
保持している現装置に通知することである。現在トーク
ンを保持している装置は、ROB(L)信号を使用し
て、トークンをどれだけ保持できるかを示す内部カウン
タをイネーブルする。他のすべての装置は、LDB11
7上のROB(L)線を使用して、トークンがそのリン
グに沿って1回転するまでに要する時間を示す内部カウ
ンタをイネーブルする。
【0177】リングの要素であるチップ1 240とチ
ップ2 242は、それぞれ2つのタイマを含むことが
できる。これら2つのタイマは、プログラム式バス調停
の待ち時間を考慮に入れたものである。これらのタイマ
の速度と実施態様は、設計者、システム環境またはチッ
プのクロック速度によって決定できる。トークン保持タ
イマ(THT)は、ある装置が調停トークンを保持でき
る最大の時間を定義する。トークン回転タイマ(TR
T)は、トークンを解放してから取り戻すまでの間の最
大時間を定義する。
【0178】TRTは、次式に示すように定義できる。 TRT(X) ¶= Q + 2N -THT(X) + (THT(1) + ... THT(N)) ただし、 N ≧ 1 Q = 環境によって決定される遅延時間定数。 2N = Nはこの1ビット・トークン・リング内のチップの
数。乗数の2は、トークン経路内の1装置毎に2つのレ
ジスタ、すなわちTokInとTokOutがあること
を表す。 X = 設計されているチップ。
【0179】ROB(L)線を使用して、各チップは、
そのTHTタイマとTRTタイマを増分するためにイネ
ーブルすることができる。ROB(L)信号が活動状態
にならない場合、THTタイマがイネーブルされないの
で、そのバスにアクセスしているチップが、必要な長さ
の時間だけそのトークンを保持することができる。RO
B(L)線が活動状態になると、トークンを保持してい
るチップは、そのTHTタイマが満了するまでに、その
トークンを解放しなければならない。
【0180】共用バス資源に対して潜在的に高い要求を
有するバス関与装置だけが、トークン保持タイマを必要
とする。このタイマは、LDB117を短時間しか保持
しないチップには不要である。また、リング244上で
のトークン喪失状態を検出するためにトークン回転タイ
マを必要とするリング・メンバは、1つだけである。
【0181】すべてのバス・メンバがLDB117への
アクセスの調停に参加するので、公正性(fairness機
能)は、本来的に実現される。さらに、別のプロセッサ
が資源を要求しない限り、プロセッサが制御を放棄する
必要がないので、ROB(L)248は、LDB117
の効率改善を助ける一方で、またバス独占を防止する。
【0182】リング状態機械は、4つの基本状態、すな
わち、リング・ダウン(RD)状態、アイドル(Id)
状態、トークン・マスタ(TM)状態およびエラー検出
(ED)状態からなる。各LDBリング装置は、図18
に示した状態遷移に従う。LDBリング状態機械は、初
期スタートアップ、調停およびエラー回復を制御する。
図19は、MIC112がリング状態機械をLDB制御
信号にインターフェースするのに使用する境界論理を示
す。すべてのリング装置は、リングがダウンした時の適
切なトークン除去を保証するため、RARBIからRA
RBOまでに2サイクルの遅延を有する。以下の図面中
の信号の活動レベルは、信号名末尾の"(H)"または"
(L)"で示される。信号の活動状態と非活動状態は、
上線の有無(なしは活動状態、ありは非活動状態)で表
される。
【0183】図20は、2つのタイマ、トークン保持タ
イマ(THT)とトークン回転タイマ(TRT)用の論
理回路の実施態様を示す。各バス・メンバはROB
(L)信号を受け取った後にバスの制御をどれだけ維持
できるかを決定するためTHTを有さなければならな
い。このリング上でのトークン喪失状態を検出するた
め、少なくとも1つのバス・メンバがTRTを有さなけ
ればならない。CurrentCnt信号には、THT
の反転信号またはTRTの反転信号がロードされる。こ
の信号は、イネーブルされると、すべてのビットが1に
なるまでカウントアップした後に、キャリー・アウトを
生成する。図から判るように、マルチプレクサへの信号
は、上記の各状態と、状態機械および図18および図1
9の関連する論理回路によって生成される他の信号とに
よって制御される。
【0184】システム・リセットは、すべての装置をリ
ング・ダウン状態に初期設定するのに必要である。リン
グのスタートアップの前に、各装置は、そのTRT値と
THT値を初期設定されなければならない。LDB11
7のすべてのメンバが初期設定された後、リング上の1
チップをリング・マスタにしなければならない。リング
・マスタは、リングがダウンしており、LDB117の
エラー状態がすべてクリアされている時に、新しいトー
クンを開始する責任を負う。トークンがリング上に開始
されると、それが完全に1回転するまで、各装置がその
トークンの受け渡しを行う。この初期の回転によって、
すべてのチップがアイドル状態になる。LDBリング上
を回転するトークンは、複数存在してはならない。好ま
しい実施例では、MIC112がリング・マスタとな
る。
【0185】アイドル状態になった後、装置は、トーク
ンの捕捉によってLDB117の所有権を得るため、R
OB(L)線を自由に活動化することができる。ある装
置がトークンを検出した後、その装置は、トークン・マ
スタ状態に移行しなければならない。アイドル状態で待
機中にTRTが満了した場合、その装置は、エラー信号
を活動化し、エラー検出状態に移行しなければならな
い。
【0186】各装置は、トークン・マスタ状態に入る
と、そのトークンを次の装置に渡すか、または保持する
ことができる。トークンを保持する場合、その装置は、
LDS123に自由にアクセスできる。トークン・マス
タ状態の間、装置は、ROB(L)信号が活動状態にな
るのを検出した時には必ず、そのTHTを増分しなけれ
ばならない。このタイマが満了すると、トークン・マス
タは、そのアクセスを完了し、トークンを解放し、アイ
ドル状態に戻らなければならない。
【0187】LDBリング装置は、LDBプロトコル内
にエラーが存在していることを検出した時、エラー検出
状態に入る。この遷移を引き起こす2つの基本的な条件
は、トークン喪失すなわちTRTの満了、あるいはリン
グ上での第2トークンの検出である。これらの条件のい
ずれかが存在する場合、その装置は、少なくとも2つの
連続するサイクルの間、LDB_Err(L)を活動化
しなければならない。これによって、すべてのLDB装
置が、リング・ダウン状態に移る。
【0188】すべてのリング装置は、少なくとも2つの
連続するサイクルの間、LDB_Err(L)信号が活
動状態になったのを検出すると、リング・ダウン状態に
入る。この状態では、各装置は、このバス・エラー線が
まだ活動状態である間に受け取ったトークンを捨てる。
このバス・エラー線が非活動状態になると、リング・マ
スタとしてイネーブルされた装置は、トークンを再開始
して、リング・バックアップを開始しなければならな
い。
【0189】エラー回復を処理中のローカル・プロセッ
サは、ダウンした後のリングの再開を制御する能力を有
する。このプロセッサが、エラーがクリアされた後にリ
ングを自動的に再開させたい場合、そのリング内の1装
置をリング・マスタとして初期設定された状態に残さな
ければならない。このプロセッサが、自動的再開を行い
たくない場合には、まず、初期スタートアップのリング
・マスタとして1装置を活動化し、その後、リング・マ
スタとしてその装置を非活動化しなければならない。
【0190】エラーを検出すると、装置は、バス・エラ
ー線を活動化することによって、エラーが発生したこと
を他のリング装置に通知することができる。LDB_E
rr(L)信号を活動化した装置以外の装置は、このバ
ス・エラー信号が活動状態になっている連続するサイク
ルの数を検出することによって、そのエラーの重大度を
判定できる。LDB上で定義されるエラーには、1)回
復不能、2)回復可能の2つの範疇がある。
【0191】回復不能エラーとは、トークン喪失やリン
グ上での2つのトークンの検出などのプロトコル・エラ
ーに起因する、リングをダウンさせた後に再開する必要
のあるエラーである。回復不能エラー状態が検出される
のは、バス・エラー線が、少なくとも2つの連続サイク
ルの間、活動状態になる時である。回復不能エラーの例
には、トークン喪失が含まれる。トークンがリング上の
次の装置に渡されると、TRT値がカウンタにロードさ
れる。ROB(L)信号が活動状態の時に、このカウン
タがイネーブルされる。TRTカウンタが満了する時刻
までにこのトークンが返されない場合には、この装置
は、少なくとも2サイクルの間LDB_Err(L)信
号を活動化して、回復不能エラーを知らせる。もう1つ
の回復不能エラーは、ある装置が2つのトークンを発見
した時である。ある装置がトークンを保持している間に
第2のトークンが検出された場合、その装置は、少なく
とも2サイクルの間LDB_Err(L)信号を活動化
して、回復不能エラーを知らせる。
【0192】回復可能エラーとは、リング上のプロトコ
ルに損傷を与えておらず、したがって、バスをダウンさ
せた後に再開する必要のないエラーである。回復可能エ
ラーは、アイドル状態にあって、現トークン・マスタの
LDBデータ転送を監視している装置によって検出され
る。
【0193】MIC112は、2つのタイプの回復可能
エラーが発生したかどうか他の装置を監視する。これら
のエラーは、読取り動作の際のアドレス・パリティ・エ
ラーと、HALEが活動状態になっている間にバイト・
イネーブル(BE(0:3))が活動状態になることで
ある。MIC112は、アイドル状態にある間にトーク
ン・マスタから回復可能エラーを検出するたびに、LD
B_Err(L)信号を活動化する。その結果、トーク
ン・マスタが、これらのエラーのいずれかを有するアク
セスの実行を継続する場合、MIC112が、少なくと
も2つの連続サイクルの間、LDB_Err(L)信号
を活動化することになる。
【0194】1サイクルの間活動状態のLDB_Err
(L)を検出すると、トークン・マスタは、そのトーク
ンを継続するか、それとも次の装置にそのトークンを解
放するか選択することができる。トークン・マスタが、
2つの連続するサイクルの間活動状態のLDB_Err
(L)を検出した場合、トークン・マスタは、そのLD
Bアクセスを終了し、リング・ダウン状態に入らなけれ
ばならない。
【0195】ROB(L)信号の目的は、第2のリング
装置がLDB117またはLDS123にアクセスする
ために待機中であるか否かを、現トークン・マスタに示
すことである。この信号は、トークン・マスタのTHT
をイネーブルするためにトークン・マスタが使用し、装
置のTRT信号をイネーブルするためにアイドル状態の
装置が使用する。
【0196】ある装置が、どのサイクルでROB(L)
線を活動化または非活動化するかについては、何の制約
もない。というのは、この信号はリング状態機械中を移
動するからであり、実際にこの信号は、永久的にアース
に結合することができる。もちろん、こうすると、バス
の最も効率的な使用が実現されなくなる。というのは、
他の装置がバスを必要としていない時にも、装置がトー
クンの放棄を強制されることがあるからである。
【0197】以下のガイドラインを使って、ROB
(L)を活動化し、LDSを最も効率的に利用すること
ができる。また、好ましい実施例でMIC112が使用
する規則もある。ある装置が、LDB117が必要であ
るが、トークンが現在レジスタ内のその境界内(Tok
In(L))にないと判定すると、その装置は、次のサ
イクルにROB(L)を活動状態に駆動する。トークン
が、現在レジスタの境界内にあった場合は、その装置
は、そのトークンを捕捉するが、ROB(L)を活動状
態に駆動することはしない。現在ROB(L)を活動化
している装置が、レジスタの境界内(TokIn
(L))でトークンを受け取ると、その装置は、次のサ
イクルでROB(L)の駆動を停止する。ROB(L)
信号は、第2の装置のために活動状態に留まることがで
きる。トークン・マスタ状態にある装置が、THT満了
のためにトークンの解放を強制されると、その装置は、
トークンを再度取得したい場合、トークンがその境界ア
ウト・レジスタに入った(RARBOが活動状態になっ
た)後のサイクルで、ROB(L)信号を活動化させる
ことができる。
【0198】図21のLDBスタート・アップは、MI
C112が別の装置を有するLDB117上のリングを
リング・ダウン状態からスタートアップするタイミング
を示す。この例では、MIC112は、リング・マスタ
であり、バスが立ち上がるや否や、LDBアクセスを実
行する。任意の装置がLDB117へのアクセス権を取
得するためにトークンを取得する前に、トークンが1回
転しなければならないことに留意されたい。
【0199】LDB_Err線が少なくとも2つの連続
サイクルの間活動状態になる時、旧トークンを検出し、
リング・ダウン状態でそのトークンをいったん捨てるこ
とは、各装置の責任である。各装置が、はぎ取られた旧
トークンと、リングを立ち上げる新トークンを区別でき
るように、各装置は、各装置が旧トークンを捨てるこの
時間ウィンドウに従わなければならない。リング・ダウ
ン状態の間にトークンをはぎ取るためのウィンドウは、
図19のTake_Tokenの式で定義される。
【0200】リング・マスタがリング上に新トークンを
注入できる最も早い時点は、図19のInj_Toke
n(L)の式に含まれている。1つの装置が、リング・
マスタになる能力を有することが好ましい。複数の装置
がトークン発行能力を有する場合、ソフトウェアがリン
グ244を誤って2つのリング・マスタを有するように
初期設定すると、2つのトークンがバス上に置かれる可
能性がある。この状態は、検出されるはずであるが、そ
の検出は、おそらくは、2つの装置が共にLDB117
の駆動を試みた後になる。
【0201】LDBデータ転送 あるLDB装置が、トークン・マスタになることによっ
てLDB117の所有権を取得すると、そのLDB装置
は、その所有権を放棄するまで、LDS123との間で
自由にデータを転送できる。LDB117上の各装置
は、信号ADDR(0:9)、APAR(0:1)、D
ATA(0:31)、DPAR(0:3)、−HAL
E、+R/Wおよび−BE(0:3)を使用して、LD
Sにアクセスできる。
【0202】LDB117上でのアドレッシングには、
ADDR(0:9)を介して送られる8ビットの上位ア
ドレス(HA)と10ビットの下位アドレス(LA)を
使用する、1MBまでのアドレッシングが可能なページ
ング方式を使用する。HAを送る必要があるのは、新し
い4MBセグメントにアクセスしようとする時だけであ
る。
【0203】装置がADDR(0:9)バス上にHAを
置く時には、HALE(L)は活動状態でなければなら
ず、R/−Wは有効でなければならず、バイト・イネー
ブルBE(0:3)(L)は非活動状態でなければなら
ず、データ・バスはトライステートでなければならず、
HAの最下位8ビットだけを使用する場合でも、アドレ
スの10ビットがすべて、良好なパリティで駆動されな
ければならない。
【0204】装置がこのインターフェース上にLAを置
く時には、HALE(L)は非活動状態でなければなら
ず、R/−Wは有効でなければならず、BE(0:3)
(L)のうちの少なくとも1ビットが活動状態でなけれ
ばならず、書込みの場合にはDATA(0:31)が良
好なパリティを有する書込みデータを保持しなければな
らず、アドレスの10ビットがすべて、良好なパリティ
で駆動されなければならない。
【0205】LDB装置が、互いのアクセスに干渉せず
にLDSの所有権を交換できるようにするには、図22
に示すように、トークンが捕捉され解放されるサイクル
と、LDBのアドレス信号、データ信号および制御信号
が駆動され解放されるサイクルとの間に下記の関係が存
在しなければならない。この関係は、所有権の交換中
に、LDB117上で1デッド・サイクルをもたらす。
【0206】LDBマスタとしてLDB117を効率的
に利用し、別の装置との所有権の交換中のバス待ち時間
を最小にすることによって、MIC112は、最大のL
DB帯域幅を維持するようになる。LDB117上のす
べての装置は、LDB117の最大帯域幅を維持するた
めに、MIC112のタイミング関係に従うことが推奨
される。指定された、トークン検出に対する相対的なタ
イミングと、HA(上位アドレス)を置くための規則と
に従うと、LDB117の所有権を渡す際の待ち時間が
最小になるが、その一方で、LDB117の共用される
すべての信号に対して、交換中に1デッド・サイクルが
必ず発生する。MIC112は、次のサイクルでインタ
ーフェース上にLA(下位アドレス)を置く準備をする
時に、THTとROB(L)の状態を検査することによ
って、その最後のアクセスを決定する。 ・ MIC112は、LDS123を即座に必要とする
のでない限り、トークンが次の装置に伝播するのを妨げ
ない。 ・ MIC112が、LDS123にアクセスするため
にトークンを取得する必要がある場合、MIC112
は、トークンを検出した次のサイクルで、インターフェ
ース上でそのHAを駆動する。 ・ MIC112がLDBマスタの時、MIC112
は、次の装置に所有権を渡す際のバス待ち時間が最小に
なるように、最後のバス動作に対してトークンを解放す
る。 ・ MIC112がマスタであり、最後の動作が書込み
の時は、MIC112は、図24に示すように、最後の
書込みLAがインターフェース上に置かれるのと同じサ
イクルに、トークンをインターフェース上に置く。 ・ MIC112がマスタであり、最後の動作が読取り
であり、MIC112が0待機状態用にプログラミング
されている時は、MIC112は、図23に示すよう
に、最後の読取りLAがインターフェース上に置かれる
サイクルの1サイクル後に、トークンをインターフェー
ス上に置く。 ・ MIC112がマスタであり、最後の動作が読取り
であり、MIC112が1待機状態用にプログラミング
されている時は、MIC112は、最後の読取りLAが
インターフェース上に置かれるサイクルの1サイクル後
に、トークンをインターフェース上に置く。 MIC112がLDBマスタである時は、MIC112
は、HALE(L)とBE(0:3)(L)をトライス
テートにする前に、これらを非活動状態(ハイ)に駆動
することが好ましい。これは、モジュール上のプルアッ
プ抵抗が、1サイクルの間これらの信号を非活動状態に
プルバックする必要がなくなり、MICがこれらを解放
した後にこれらを非活動状態に保つだけでよくなること
を意味する。
【0207】R/−W信号がハイの状態でHAが駆動さ
れた後、BE(0:3)のうちの少なくとも1つが活動
状態で、R/−W線がハイの状態でLAが送られる時、
LDBマスタの読取りアクセスがトリガされる。マスタ
は、一連の読取りLAを送ることによって、読取りをパ
イプライン化することができる。
【0208】MIC112は、0待機状態または1待機
状態でLDB117の読取りを実行するように設計され
ている。このため、MIC112は、異なるアクセス・
タイムのRAMを使用する様々な応用例に使用できる。
MIC112が実行する待機状態の数は、MICのLP
Bメモリ・レジスタx1006(DBW、ビット13)
に書き込むことによって、初期設定中にセットしなけれ
ばならない。MIC112が0待機状態用にプログラミ
ングされている場合、MIC112は、1つの25MH
zサイクルの間そのLAをインターフェース上に置き、
その2サイクル後に、読取りデータがLPBインターフ
ェース133上に現れると期待する。MIC112が1
待機状態用にプログラミングされている場合は、MIC
112は、2つの25MHzサイクルの間そのLAをイ
ンターフェース上に置き、その読取りアクセスの最初の
LAがインターフェースに現れてから3サイクル後に、
読取りデータがLPBインターフェース133上に現れ
ると期待する。0待機状態の読取りでも1待機状態の読
取りでも、MIC112は、読取り動作をパイプライン
化する。図23に、0待機状態の場合のMIC112の
LDB読取り動作のタイミングを示す。MIC112が
0待機状態でLDB読取りを実行する時、 ・ 最初のHAは、MIC112がアクセス開始時にト
ークン(RARBI(L)=L)をクロック・インした
後のサイクルに置かれる。 ・HAの次のサイクルから、必ず、1つまたは複数のL
Aの列が続く。 ・MIC112が異なる4KBセグメントにアクセスす
ることが必要になるたびに、LAの列の間に1つのHA
を挿入することができる。 ・MIC112は、MIC112のトークン保持タイマ
が満了するか、またはLDS123にアクセスする必要
がなくなった時、トークンを解放する。 ・読取りの場合、MIC112は、最後のアドレスを駆
動したサイクルの1サイクル後に、トークンを次の装置
に解放する(RARBO(L)=L)。 ・MIC112は、HALE(L)とBE(0:3)
(L)をトライステートとする前に、必ずこれらの信号
を非活動状態に駆動する。こうすると、これらの信号を
非活動状態に保持するために、モジュール上で低速のプ
ルアップが使用できるようになる。
【0209】R/−W信号がローの状態でHAが駆動さ
れた後は、BE(0:3)のうちの少なくとも1つが活
動状態、R/−Wがローの状態でLAが送られる時、L
DBマスタの書込みアクセスがトリガされる。書込みデ
ータとLAは、両方が同時にインターフェース上になけ
ればならない。読取りについて上述した0待機状態およ
び1待機状態の機能は、書込みのタイミングには影響を
与えない。読取りの場合と同様に、マスタは、書込みL
Aの列を書込みデータと共にパイプライン化することが
できる。
【0210】図24は、LDB書込み動作のMICのタ
イミング図である。図から判るように、MIC112が
LDB書込みを実行する時、 ・ 最初のHAは、MICがアクセス開始時にトークン
(RARBI(L)=L)をクロック・インした後のサ
イクルに置かれる。 ・HAの次のサイクルから、必ず、1つまたは複数のL
Aの列が続く。 ・MIC112が異なる4KBセグメントにアクセスす
ることが必要になるたびに、LAの列の間に1つのHA
を挿入することができる。 ・MIC112は、MIC112のトークン保持タイマ
が満了するか、またはLDS123にアクセスする必要
がなくなった時、トークンを解放する。 ・書込みの場合、MIC112は、最後のアドレスを駆
動したサイクルに、トークンを次の装置に解放する(R
ARBO(L)=L)。 ・MIC112は、HALE(L)とBE(0:3)
(L)をトライステート化する前に、これらの信号を非
活動状態に駆動する。こうすると、これらの信号を非活
動状態に保持するために、モジュール上で低速のプルア
ップが使用できるようになる。
【0211】LDBマスタは、所有権を有している間
に、読取りアクセスから書込みアクセスに切り替えるこ
とができる。切り替えるには、図25に示すように、最
後の読取りLAが現れてから少なくとも4サイクル後
に、このマスタの書込みLAをインターフェース上に置
かなければならない。こうすることによって、マスタが
その書込みデータを駆動する前に、読取りデータを受け
取るのに十分な時間が得られる。やはり、図25に示す
ように、新しいHAが、最初の書込みLAの前に送られ
ている。この新しいHAの送出は任意選択であるが、こ
のマスタは読取りデータの受取りを待つ必要があるの
で、これによって追加の待ち時間が発生することはな
い。
【0212】マスタは、単一のトークン保持期間中に、
書込みアクセスに続いて読取りアクセスを行うことがで
きる。書込みLAとそれに対応する書込みデータは同時
にバス上に置かれるので、マスタは、その次のサイクル
で読取りLAを置くことができる。一部の代替LDSメ
モリ設計では、書込みLAの後に読取りLAを続ける
と、方向切替えの間に瞬間的にメモリとMSI書込みレ
ジスタ・パイプラインの両方が駆動される結果になるこ
とがある。このため、MIC112は、新HAが旧HA
と同じ場合でも、書込みから読取りに切り替える時に
は、書込みLAの後に新しい読取りHAとLAを続ける
ことが好ましい。新HAのこの送出は、旧HAが新HA
と一致する時は、1サイクルを要するだけである。
【0213】図25に、MIC112が、LDBバス上
で、読取りから書込みに切り替え、また書込みから読取
りに切り替える時のLDBタイミングを示す。MIC1
12が、LDB117上で、読取りから書込みに切り替
え、または書込みから読取りに切り替える時、 ・新HAが旧HAと同じ場合でも、MIC112がアク
セスの方向を切り替える時は、必ず1つのHAを挿入す
る。 ・書込みから読取りに切り替える前に、MIC112
は、トークン保持タイマを検査して、バスを反転する時
間があることを確認する。読取りから書込みに切り替え
る時には、追加の待ち時間が発生しないので、この方向
に切り替える時は、トークン保持タイマは通常通り検査
される。 ・MIC112は、それが最後に実行したアクセスが読
取りであるか書込みであるかに基づいて、トークンを解
放する(RARBO(L)=L)。 ・MIC112は、HALE(L)とBE(0:3)
(L)をトライステート化する前に、必ずこれらの信号
を非活動状態に駆動する。こうすると、これらの信号を
非活動状態に保持するために、モジュール上で低速のプ
ルアップが使用できるようになる。
【0214】LDB117のアーキテクチャは、エラー
が検出されたことをリング上のすべての装置に通知する
のに使用できるエラー線をサポートする。この線は、次
の2タイプのいずれかのエラーが発生した時に活動化さ
れなければならない。1)LDB_Err線が少なくと
も2サイクルの間活動状態になっている時に検出され
る、回復不能エラー。2)LDB_Err線が1サイク
ルの間だけ活動状態になっている時に検出される、回復
可能エラー。
【0215】MIC112は、LDB117のマスタで
ある時、元のトークンを捕捉した後に第2のトークンが
検出されたか否かを判定することによって、2つのトー
クンが存在する状態があるかどうか検査する。この状態
を検出すると、MIC112は、エラー待ち行列上にU
SWを置くまで、LDB_Err線を(少なくとも2サ
イクルの間)活動化する。
【0216】LDB117のマスタとしてのMIC11
2はまた、LPB115からアクセス可能なプログラマ
ブル・ビットを有する。このビットは、MIC112に
よる回復可能エラーの検査をイネーブルしあるいはディ
スエーブルする。このプログラマブル・ビットは、その
書込みデータがそのMICの境界レジスタ内にある時、
MIC112にマスタとして、そのデータに対するパリ
ティ検査を行わせる。読取りの場合、MIC112は、
それが受け取った読取りデータのパリティを、エラー線
の状態と共に検査する。読取りデータがインターフェー
ス上にあるのと同じサイクルに、LDB_Err線が活
動状態であったことをMIC112が検出した場合、こ
の読取りデータに関連する読取りアドレスにエラーが検
出された。
【0217】MIC112が、1待機状態のLDB読取
りにセットアップされている場合、MIC112は、読
取りデータが有効であったサイクルまたはその前のサイ
クルにLDB_Err線が活動状態であった時、アドレ
ス・エラーが発生したことを検出する。これが可能なの
は、読取りの下位アドレスが、2サイクルの間バス上に
存在するからである。
【0218】MIC112は、バス・マスタでない時、
アイドル状態の時にバス・モニタ・モードに入る。この
モードでは、MIC112は、トークン喪失状態がある
かどうか検査する。この状態は、TRTタイマの満了時
に検出され、その結果、MIC112がエラー待ち行列
上にUSWを置くまで少なくとも2サイクルの間LDB
_Err線を活動化することによって、MIC112が
LDB117をダウンさせる。MIC112はマスタと
して、回復可能エラーの検査に使用されるのと同じプロ
グラマブル・ビットを使用する。表5に、バス・モニタ
・モード時MIC112によって検出される回復可能エ
ラーと、その結果実行される処置をリストする。
【0219】 表5 ------------------------------------------------------------------------ バス・モニタ (アイドル状態)として MICが検出する回復 可能エラー MICの処置 ------------------------------------------------------------------------ 読取りでLAのAPE アドレスがインターフェース上に現れてから2サイク ル後に活動状態になるように、エラー線を1サイクル の間活動化する。 USWをエラー待ち行列上に置く。 読取りでHAのAPE 新HAが検出されるか、または全BEが非活動状態に なる(マスタ終了)まで、HAに続く各LAについて 、 前の場合の説明と同様にエラー線を活動化する。 USWをエラー待ち行列上に置く。 読取りでDPE エラー線は活動化されない。 書込みでLAまたはHA エラー線は活動化されない。 のAPE USWをエラー待ち行列上に置く。 書込みでDPE エラー線は活動化されない。 USWをエラー待ち行列上に置く。 読取りで−HALEが活 最初のLA読取りデータと整列するように、1サイク 動状態の間に少なくとも ルの間エラー線を活動化する。 1つのBE(0:3)が 活動状態 書込みで−HALEが活 エラー線は活動化されない。 動状態の間に少なくとも USWをエラー待ち行列上に置く。 1つのBE(0:3)が 活動状態 ------------------------------------------------------------------------ HA − 上位アドレス、HALEが活動状態の時モニタによって検出され る LA − 下位アドレス、−BE(0:3)のどれかが活動状態の時モニタ によって検出される APE − アドレス・パリティ・エラー DPE − データ・パリティ・エラー ------------------------------------------------------------------------
【0220】MIC112に対するソフトウェア・イン
ターフェースとプログラミング・インターフェースを、
表6と表7にリストする。表6は、MIC112による
プログラミング、制御および実行が可能なバス・マスタ
動作のリストである。表7は、MIC112のプログラ
ミング・インターフェースへのアクセスが許可される、
MC110上またはLDB117上のスレーブ動作のリ
ストである。
【0221】 表6 ------------------------------------------------------------------------ MIC動作 バス動作 転送経路 ------------------------------------------------------------------------ LDBデータ書込み MCメモリ書込み MC IDB LDB LDBデータ読取り MCメモリ読取り LDB IDB MC QRCレジスタ書込み MC入出力書込み MC QRCレジスタ QRCレジスタ読取り MC入出力読取り QRCレジスタ MC QWCレジスタ書込み MC入出力書込み MC QWCレジスタ QWCレジスタ読取り MC入出力読取り QWCレジスタ MC QDレジスタ書込み MC入出力書込み MC QWB LPB QDレジスタ読取り MC入出力読取り LPB QWB MC FBL読取り MC入出力読取り FEB MC JPレジスタ読取り MC入出力読取り JPレジスタ MC POSレジスタ書込み MC入出力書込み MC POSレジスタ POSレジスタ読取り MC入出力読取り POSレジスタ MC ------------------------------------------------------------------------ 制御レジスタ読取り LPBメモリ読取り 制御レジスタ LPB 制御レジスタ書込み LPBメモリ書込み LPB 制御レジスタ 待ち行列初期設定読取り LPBメモリ読取り QM LPB 待ち行列初期設定書込み LPBメモリ書込み LPB QM 待ち行列制御読取り LPB入出力読取り QM LPB 待ち行列制御書込み LPB入出力書込み LPB QM LDBデータ読取り LPBメモリ読取り LDB LPB LDBデータ書込み LPBメモリ書込み LPB LDB ------------------------------------------------------------------------ STI/走査読取り STI読取り STI 外部装置 STI/走査書込み STI書込み 外部装置 STI ------------------------------------------------------------------------
【0222】 表7 ------------------------------------------------------------------------ MIC動作 バス動作 転送経路 ------------------------------------------------------------------------ メモリ・データ書込み MCメモリ書込み ODB MC メモリ・データ読取り MCメモリ読取り MC IDB LDB 入出力データ書込み MC入出力書込み ODB MC 入出力データ読取り MC入出力読取り MC IDB LDB QWCレジスタ書込み MC入出力書込み マスタ実行 MC QWCレジスタ読取り MC入出力読取り MC マスタ実行 QDレジスタ書込み MC入出力書込み マスタ実行 MC FBLフェッチ MC入出力読取り MC マスタ実行 ------------------------------------------------------------------------ メモリ・データ書込み LPBメモリ書込み MIC LPB メモリ・データ読取り LPBメモリ読取り LPB MIC ------------------------------------------------------------------------ メモリ・データ書込み LDB書込み MIC LDB メモリ・データ読取り LDB読取り LDB MIC ------------------------------------------------------------------------
【0223】コマンド式転送 コマンド式転送は、MC110、LPB115またはL
DB117のいずれかで実行されるマスタ動作である。
本節では、表7に記載の動作について詳細に述べる。M
IC112は、CPUの介入なしにデータ転送を制御す
るのに十分な知能を含んでいる。
【0224】MCコマンド式転送 MC110上のコマンド式転送は、MIC112コマン
ド・ワード(MCW)を使って開始される。MCWは、
MIC112が管理している待ち行列の1つに置かれ
る。待ち行列#Dは、MCW専用のMICコマンド待ち
行列(MCQ)として定義される。図26に示すよう
に、MCQにエントリが含まれる時には、ステップ30
0で、MIC内のQMユニットが、マスタ実行ユニット
に割り込んで、MCWを取り出す。MCWは、このコマ
ンド式転送を開始する原始LPB装置と(ステップ30
1)、MIC制御ブロック(MCB)を見つけるための
LPBメモリ・アドレスとを定義する。MCBは、コマ
ンド式転送用のフラグ(ステップ302)、原始アドレ
ス(ステップ303)および目標アドレス情報(ステッ
プ304)を定義する。このMCBによって定義される
コマンド式転送が完了した後は、その転送の状況を、L
PB115上に存在する待ち行列に(ステップ30
6)、または別のMC装置上に存在する待ち行列に(ス
テップ305)、あるいはその両方に通知することがで
きる。LPB115上に存在する待ち行列に通知される
状況を、MIC状況ワード(MSW)と称する。MSW
は、ステップ307で、コマンド式転送中に発生したす
べてのエラーと、その転送に使用されたMCBを定義す
る。別のMC装置上に存在する待ち行列に通知される状
況を、マイクロ・チャネル通知コマンド(MPC)と称
する。MPCは、その転送の原始装置、フラグおよび目
標アドレスを定義する。
【0225】表7は、マスタ実行動作または上述のコマ
ンド式転送動作の高水準の流れ図を示す。フラグ(下記
の「MIC制御ブロック」で詳細に説明する)が、この
流れ図の方向を定義する。図27(コマンド式転送)
は、MCコマンド式転送中のMCW310、MCB31
2、MSW318、MPC316、遠隔MIC自由ブロ
ック・レジスタ314の間の関係を示す。
【0226】MICコマンド・ワード MCWは、4バイトの情報からなり、MCQ内に存在す
る。MCQは、待ち行列#Dとして定義され、最高1K
のMCWを保持できる。図28は、MCW内のフィール
ドを示す。以下の節で、各フィールドとその機能につい
て説明する。
【0227】MIC制御ブロック MIC112は、16バイトの固定長MIC制御ブロッ
ク(MCB)をサポートする。MCBは、MCWによっ
て定義されるLPBメモリ・アドレス空間内に存在しな
ければならない。図29ないし図32に、MCBを詳細
に示す。一般に、MCBの実行は、MCBの第1ワード
に含まれるフラグによって支配される。図33に、MC
Bフラグの有効な組合せを示す。
【0228】MCBの注意点 以下に、MCBフィールドを利用する上での注意点をリ
ストする。 1.原始アドレス・フィールドと目標アドレス・フィー
ルドは、NOP="1"またはFMT="1"の時を除い
て、4バイト境界上で定義しなければならない。4バイ
ト境界とは、原始アドレス・フィールドと目標アドレス
・フィールドの最下位2ビットが、"00"に等しくなら
なければならないことを意味する。 2.バイト・カウント・フィールドは、1、2、3また
は4×nに等しくなければならない。ただし、0≦n≦
16Kである。 3.0のバイト・カウント値は、64KBの転送を表
す。 4.バイト・カウント値は、原始アドレスとバイト・カ
ウント・フィールドの和または目標アドレスとバイト・
カウント・フィールドの和が、64KBアドレス境界に
またがらないように選択しなければならない。アドレス
の下位16ビットだけが増分できるので、バイト・カウ
ントを加算した結果16ビットのアドレスにリップル・
キャリーが生じる場合、上位ビットは変更されず、アド
レスは循環する。 5.MPCを受け取るMC装置が、別のMIC112で
ある場合、MPC QIDは、"D"と等しくなってはな
らない。
【0229】MIC状況ワード MIC112は、コマンド式転送の完了後に、状況を作
成する能力を有する。MCB内のPCIビットがセット
されているか、あるいはコマンド式転送中にエラーが発
生した場合、MIC112は、MCWのRQIDフィー
ルドによって示される待ち行列に8バイトのMSWを通
知する。受取り側の待ち行列は、バイト・カウントが8
バイトとして定義されていなければならない。MSW
は、コマンド動作中に発生した可能性のあるエラーの報
告を提供する。連鎖式動作中にエラーが発生した場合、
そのチェーンが打ち切られ、エラーを発生したMCBの
アドレスを示す状況が作成される。図34に、MSWの
フィールドを示す。
【0230】マイクロ・チャネル通知コマンド MIC112は、コマンド式転送の完了後に、状況を作
成し、MC装置に通知する能力を有する。MCBのPS
Tビットがセットされている場合、MIC112は、別
のMC装置上に存在する待ち行列に状況を通知する。こ
の別のMC装置は、MPCメッセージとプロトコルを受
け取り、理解し、解釈できる別のMIC112またはM
C装置でよい。通知される待ち行列は、MCBのMPC
QIDフィールドによって決定される。通知される状
況を、マイクロ・チャネル通知コマンド(MPC)と称
する。MPCには、原始ID、目標アドレス、およびコ
マンド式転送中に移動されたデータに関するバイト・カ
ウントを示す8バイトのデータが含まれる。図35に、
MPCとそのフィールドの定義を示す。
【0231】LPBコマンド式転送 LPB115上のコマンド式転送は、マスタ実行ユニッ
ト、QRB、QWB、FBBから、またはMIC112
内の報告可能エラーから開始することができる。マスタ
実行ユニットは、LPB115を使用して、MCWとM
CBを取り出し、あるいはMSWを通知する。QRB
は、LPB115を使用して、待ち行列読取り動作の一
環としてMC装置が要求している待ち行列エントリを取
り出す。QWBは、LPB115を使用して、待ち行列
書込み動作によってMC110からロードされたエント
リを待ち行列に書き込む。FBBは、LPB115を使
用して、MC110上の装置によって除去されたFBエ
ントリを満たす。また、LPB115を用いると、MI
C112が、MIC112によって管理される待ち行列
に非請求エラーを通知できるようになる。
【0232】LDBコマンド式転送 LDB117上でのMIC112の動作は、すべてコマ
ンド式転送である。これらの転送は、マスタ実行ユニッ
ト、IDBまたはLPBインターフェースによって開始
することができる。LDB117上での動作は、すべて
単純な読取りと書込みである。MIC112は、LDB
117上にプログラマブル・レジスタを有していない。
【0233】装置開始転送 装置によって開始される転送は、MC110上またはL
PB115上で実行されるスレーブ動作である。本節で
は、表6に示された動作について詳細に述べる。
【0234】MIC112を用いると、MC110また
はLPB115から、LDB、待ち行列および制御レジ
スタへのアクセスが可能になる。これらのアクセスは、
MC110上またはLPB115上に存在するメモリ・
アドレス空間または入出力アドレス空間内で実行され
る。MIC112は、MC110またはLPBのアドレ
スを復号し、選択されたアドレスに関するスレーブ動作
を実行する。
【0235】LDBアクセス MIC112は、MC110またはLPB115からL
DB117への直接アクセスをサポートする。どちらの
場合でも、MIC112は、所定の範囲内のアドレスを
探しMC110またはLPB115を監視することによ
って、LDB117へのアクセスを許可する。説明を簡
単にするために、LDBアドレスを示す図面では、アド
レスの全バイトを示す。MIC112は、バイト・アド
レス可能性をこの形では実施せず、アドレスの下位2ビ
ットが駆動されず、その代わりに4つのバイト・イネー
ブル、BE(0:3)を使って、LDB117アクセス
中の全バイト・アドレス可能性を実現する。MIC11
2は、一時に10ビットまでのLDBアドレスしか駆動
させないので、LDBアドレスは、上位アドレスと下位
アドレスの2つの部分に分割または多重化される。上位
アドレスには、全LDBアドレスの上位8ビットが含ま
れる。下位アドレスには、アドレスの下位10ビットが
含まれる。バイト・イネーブルBE(0:3)は、完全
な1MBのLDBアドレスに必要な残りのバイトの制御
を供給する。
【0236】MCからのアクセス MC110がLDB117にアクセスするために、所定
のアドレス範囲がMCメモリ空間内で割り当てられる。
このアドレスの範囲は、基底アドレスとオフセットの和
によって定義される。LDB MC基底アドレスは、L
DB MCメモリ・基底アドレス・レジスタによって定
義される。LDB MCメモリ・基底アドレス・レジス
タは、POSレジスタ3とPOSレジスタ4のサブアド
レス"0101"にある。LDB MCメモリ・基底アド
レス・レジスタをオフセットと共に用いると、LDBメ
モリ空間に対する任意のMC装置の直接アクセスが可能
になる。MC110からアクセス可能なメモリ空間の量
は、POSレジスタ3のサブアドレス"0000"のLD
Bサイズ・フィールドによって決定される。LDBサイ
ズ・フィールドは、MIC112が復号するオフセット
の限界を定める。LDBメモリ空間は、128KB、2
56KB、512KBまたは1MBとして定義できる。
LDB MCメモリ・基底アドレス・レジスタとLDB
サイズ・フィールドの詳細については、後述の「MIC
プログラマブル・オプション選択(POS)レジスタ」
の欄を参照されたい。図36に、LDB117アクセス
のMCメモリ・マップ、およびMC110とLDB11
7の間のバイト・アドレスの関係を示す。注:LDB1
17アクセスでは、MCの+M/−IO信号は、"1"で
なければならない。
【0237】LPBからのLDBアクセス LPB115では、LDB117にアクセスするには、
ページング式の方法が必要である。このページング方法
では、アクセスしようとするLDB117内の256個
の4KBウィンドウのうちの1つを定義するセグメント
・レジスタを、LPB装置がロードする必要がある。L
DBアクセス・セグメント・レジスタは、LPBメモリ
・アドレス"X1000"に定義されている。このセグメ
ントが初期設定されると、LPBメモリ・アドレス空間
内のオフセット・アドレス"X0000"〜"X0FFF"
が、4Kウィンドウ内の1点を定義する。図37に、L
DBアクセスのLPBメモリ・マップ、およびLPB1
15とLDB117の間のバイト・アドレスの関係を示
す。
【0238】待ち行列 MIC112は、LPSの64KBセグメント内に記憶
される16個の4KB待ち行列を管理するためのハード
ウェア・サポートを提供する。MICの待ち行列管理に
は、待ち行列読取りポインタ、待ち行列書込みポイン
タ、待ち行列状況、待ち行列エントリ・サイズ、および
イネーブルされた各待ち行列に割り当てられる割込みレ
ベルの維持が含まれる。待ち行列の維持情報と制御は、
すべてMICの待ち行列マネージャ(QM)内に含まれ
る。この待ち行列維持情報へのアクセスは、直接式と制
御付きの2つの異なる形で行える。待ち行列自体へのア
クセスは、LPB115またはMC110のいずれかか
らも行える。
【0239】直接QMアクセス すべての待ち行列維持情報に対する直接アクセスは、L
PBメモリ空間からだけ行われる。直接アクセスを用い
ると、ローカル・プロセッサ(LP)が、待ち行列維持
情報を初期設定し操作することができるようになる。待
ち行列維持情報を保持するために、MIC112内で、
16個の待ち行列のそれぞれに1個の4バイト・レジス
タが必要である。これらのレジスタを、待ち行列初期設
定レジスタ(QIR)と称する。QIRのLPBアドレ
ス位置は、下記によって決定される。 QIR LPBメモリ・アドレス =XXXX:QIR
セグメント:待ち行列番号:QIRバイト ただし、 XXXX = 何でもよい。 QIRセグメント = "0001000100" 待ち行列番号 = "0000"〜"1111" QIRバイト = "00"〜"11"
【0240】図38に、直接アクセスによってアクセス
可能なQIRの相対LPBメモリ位置を示す。図39
に、直接アクセスによってアクセス可能なQIRの4バ
イト総称配置を詳細に示す。
【0241】制御付きQMアクセス 待ち行列維持情報に対する制御付きアクセスは、LPB
入出力空間からだけ行われる。制御付きアクセスは、動
作モード中に使用され、任意のLPB装置が、QIR内
に含まれる待ち行列維持情報の一部にアクセスできるよ
うにするものである。このデータを用いて、LPB装置
は、任意の待ち行列の位置と状況または現在活動状態の
待ち行列エントリを決定でき、任意の待ち行列に対して
待ち行列エントリを追加または削除できる。さらに、M
IC112は、制御付きアクセスを使用して、ポインタ
や割込み状況などの待ち行列維持情報を更新する。制御
付きアクセスを介してアクセス可能な待ち行列維持情報
は、QIR内で使用可能な同じ情報のサブセットであ
る。この情報のサブセットは、待ち行列ポインタ・レジ
スタ(QPR)と称する2つの2バイト・レジスタ内に
保持される。LPB装置は、待ち行列エントリを待ち行
列に追加するのかそれとも削除するのかに応じて、これ
らの2バイト・レジスタの一方だけにアクセスすればよ
い。図40に、制御付きアクセスを介して任意のLPB
装置にとって使用可能なQPRの、相対LPB入出力空
間位置を示す。図41に、制御付きアクセスを介してア
クセス可能なQPRの1つの総称配置を示す。
【0242】LPBからの待ち行列アクセス LPB115からは、LPB入出力空間内のQPRを使
って、LPBメモリ空間内の待ち行列に間接的にアクセ
スできる。LPB装置は、要求される待ち行列に対応す
る2つの待ち行列ポインタの一方をMIC112から得
ることによって、待ち行列に直接アクセスする。待ち行
列エントリを待ち行列から削除しようとする場合は、Q
PRが、MIC112から読み取られる。待ち行列エン
トリを待ち行列に追加しようとする場合は、QWPが、
MIC112から読み取られる。待ち行列ポインタに
は、アクセスしようとする待ち行列の物理LPBメモリ
・アドレスの一部が含まれる。物理アドレスの残りの部
分は、待ち行列番号とLPB待ち行列セグメントから獲
得できる。図42に、待ち行列と、LPSおよびLPB
メモリ・アドレス内の待ち行列の相対アドレスを示す。
LPBメモリ・アドレスは、Q Seg(待ち行列セグ
メント)320、Q Num(待ち行列番号)322、
Q Pointer(待ち行列ポインタ)324および
QE byte(QEバイト)326からなり、20ビ
ットのワードを形成する。最下位2ビットは、状況ビッ
トとして使用される。
【0243】LPB待ち行列アクセス・プロトコル 図43と図44は、LPBの待ち行列読取りアクセスと
待ち行列書込みアクセスの制御プロトコルの流れ図であ
る。これらの流れ図には、MICの待ち行列管理サポー
トを利用するすべてのLPB装置が必要とするステップ
が示されている。また、MIC112は、LPB装置で
もあり、待ち行列のアクセスに必要なこれらのステップ
を実施するように設計されている。
【0244】待ち行列読取り動作を図43に示す。ステ
ップ340では、読取り動作開始の第1ステップとし
て、待ち行列読取りポインタをMCI LPB入出力空
間から受け取る。次のステップ342で、ポインタ状況
を検証する。ポインタ状況は、LPBメモリ・アドレス
の最下位2ビットを見ることによって決定される。エラ
ーが示された場合、ステップ343で、MICが、待ち
行列エラーをローカル・プロセッサに報告する。待ち行
列が使用可能でない場合は、その待ち行列は別のLPB
装置によって使用されているので、再試行を行う。待ち
行列が使用可能な場合は、ステップ344で、LPB物
理メモリ・アドレスを構築する。LPBメモリ・アドレ
スは、待ち行列セグメントに待ち行列番号と待ち行列ポ
インタを連結し、その後に状況ビットを付加したものに
等しい。アドレスが判ると、その待ち行列が当初どうセ
ットアップされたかに応じて、4、8または16バイト
の増分でデータを読み取る。データを読み取ると、ステ
ップ348で、新しい読取りポインタがMIC112に
書き込まれ、新しい待ち行列ポインタ値が返される。M
IC112は、CPU読取りを用いて待ち行列ポインタ
を検証して、待ち行列読取りポインタが正常かどうか調
べる。正常な場合は、ステップ352で、MIC112
が、待ち行列読取りポインタを更新し維持する。エラー
と判定された場合は、ステップ354で、待ち行列エラ
ーが、MIC112によってローカル・プロセッサに報
告され、待ち行列ポインタは元の値に復元される。
【0245】同様にして、待ち行列書込みが実行され
る。これを図44に示す。ステップ360で、待ち行列
書込みポインタを、MICローカル・プロセッサ・バス
から読み取る。ステップ362で、状況ビットを検査し
て、そのポインタが使用可能であることを検証する。エ
ラーが検出された時は、ステップ363で、MIC11
2が、待ち行列エラーの報告をローカル・プロセッサに
送る。待ち行列が使用可能になると、ステップ364
で、LPB物理メモリ・アドレスを構築する。このメモ
リ・アドレスは、待ち行列セグメントと待ち行列番号と
待ち行列ポインタに状況ビットを結合したものに等し
い。アドレスが判ると、その待ち行列が当初どうセット
アップされたかに応じて、4、8または16バイトの増
分でデータを書き込む。データを書き込むと、ステップ
368で、新しい書込みポインタがMIC入出力空間に
書き込まれ、新しい待ち行列ポインタ値が返される。M
IC112は、待ち行列ポインタを検証して、待ち行列
書込みポインタが正常かどうか調べる。正常な場合は、
ステップ372で、MIC112が、待ち行列書込みポ
インタを更新し維持する。エラーと判定された場合は、
ステップ374で、待ち行列エラーが、MIC112に
よってローカル・プロセッサに報告され、待ち行列ポイ
ンタは元の値に復元される。待ち行列データ・エントリ
の転送は、分割できない割込み可能なメモリ動作を用い
て実行されるので、データの書込みは、他の共用メモリ
・バス・ユーザのアクセス待ち時間が最小になるように
行われる。これとは対照的に、純粋にハードウェアによ
る解決策では、待ち行列エントリ・データの転送が、分
割できないメモリ動作を用いて行われるので、他のバス
・ユーザのメモリ・アクセス待ち時間が増加する。
【0246】本発明は、完全にソフトウェアで管理され
る待ち行列構造に比べて、下記の利点を有する。まず、
本発明の待ち行列ポインタ・マネージャは、ソフトウェ
アによって待ち行列書込みポインタと待ち行列読取りポ
インタを更新し検証する必要がなくなるので、待ち行列
動作ごとの性能が向上する。また、本発明の待ち行列ポ
インタ・マネージャは、ソフトウェアによって待ち行列
のオーバーフロー、アンダーフローその他のエラー状態
を判定する必要がなくなる。本発明の待ち行列ポインタ
・マネージャは、ソフトウェアによって待ち行列割込み
をセットしクリアする必要がなくなる。これら3つの機
能は、待ち行列マネージャ内の性能低下に関して最もク
リティカルである。さらに、本発明ではハードウェアを
用いて必要なポインタ・アレイを提供するので、待ち行
列ポインタ・マネージャは、内部CPU資源または外部
メモリ資源の使用を軽減する。必要なソフトウェア・コ
ード記憶域はごくわずかであり、これによってポインタ
処理のオーバーヘッドが減少する。この待ち行列ポイン
タ・マネージャは、複数の処理エンティティが所与の待
ち行列を読み書きできる、組込み式の共通待ち行列能力
を提供する。純粋にソフトウェアによる解決策の場合、
共通待ち行列能力には、複数のユーザが干渉し合わずに
ポインタにアクセスできるようにするために、テスト機
能とセット機能を有するポインタ・アレイが共用メモリ
内に常駐することが必要である。これには、かなりのソ
フトウェア処理が必要であり、待ち行列動作の性能が低
下する。
【0247】MCからの待ち行列アクセス すべてのMC装置ならびにMIC112は、LPS内に
常駐する待ち行列へのアクセス権を有する。MC110
の場合、待ち行列は、MC入出力アドレス空間内に常駐
する2つの制御レジスタと1つのデータ・レジスタを介
して間接的にアクセスされる。これらのレジスタは、制
御レジスタMC入出力基底アドレスに指定されたアドレ
スから始まるものとして定義される。制御レジスタMC
入出力基底アドレス・レジスタの詳細については、「M
ICプログラマブル・オプション選択(POS)レジス
タ」を参照されたい。この2つの制御レジスタは、待ち
行列読取り制御(QRC)レジスタおよび待ち行列書込
み制御(QWC)レジスタとして定義される。データ・
レジスタは、待ち行列データ(QD)レジスタとして定
義される。図45に、MC入出力アドレス空間内のこれ
らのレジスタを示す。
【0248】待ち行列読取り制御レジスタ QRCレジスタ(QRCR)は、MIC112に、MC
装置がどの待ち行列を読み取りたいかを知らせるのに使
用される。また、QRCレジスタは、MC装置に、待ち
行列読取り要求の現状況と、待ち行列読取りバッファ
(QRB)の状況を知らせる。QRBは、LPS内の要
求された待ち行列から受け取ったデータを緩衝するのに
使用される。図46に、QRCレジスタの詳細と、QR
Cレジスタのフィールドの定義を示す。
【0249】待ち行列書込み制御レジスタ QWCレジスタ(QWCR)は、MIC112に、MC
装置がどの待ち行列を書き込みたいか、ならびに待ち行
列バイト・カウントを知らせるのに使用される。また、
QWCレジスタは、待ち行列書込みバッファ(QWB)
の状況を示すのに使用される。QWBは、LPS内の要
求された待ち行列宛の、MC110から受け取ったデー
タを保持するのに使用される。図47に、QWCレジス
タの詳細と、QWCレジスタのフィールドの定義を示
す。
【0250】待ち行列データ・レジスタ QDレジスタ(QDR)は、QRBとQWBにアクセス
するのに使用される。QDレジスタが読み取られる時、
QRBからのデータが削除される。QDレジスタが書き
込まれる時、MC110からのデータがQWBに追加さ
れる。待ち行列データ・レジスタは、MIC制御レジス
タMC入出力基底アドレス+"01000"から始まり、
MIC制御レジスタMC入出力基底アドレス+"010
11"で終るMC入出力アドレスに定義される。QDレ
ジスタに対しては、4、8または16バイトのバイト・
カウントが有効である。実際の入出力アドレス空間は、
4バイトだけなので、MC基本転送モードでの8バイト
または16バイトの読取りまたは書込みは、2回または
4回の4バイト転送を実行することによって行える。M
Cストリーミング・データ・モードを使用すると、この
作業が1回の転送動作で行える。
【0251】MC待ち行列アクセス・プロトコル 図48と図49に、MCの待ち行列読取りアクセスと待
ち行列書込みアクセスの制御プロトコル・フローを示
す。これらの流れ図には、MIC待ち行列管理サポート
を利用するすべてのMC装置に必要な基本ステップが示
されている。MIC112は、MC装置でもあり、MP
C通知動作を実行する際に待ち行列にアクセスするのに
必要なこれらのステップを実施するように設計されてい
る。
【0252】MC/待ち行列アクセスの手順と制約 本節では、MC待ち行列アクセス手順を詳細に記述す
る。さらに、MC待ち行列アクセス実行の基本ステップ
に対する変形ならびに具体的な注意点を記述する。
【0253】MC待ち行列読取り動作プロトコル、方
法"A" 以下に、すべてのシステムに推奨される待ち行列読取り
手順を記述する。 Step 1. RD QRCR. If AVL="0" then goto Step 1. If AVL="1" then MICが自動的にAVL="0"にセットする AND (続行する場合はgoto Step2 OR 取り消す場合はgoto Step 5) Step 2. WR QRCR (Q#="有効な待ち行列番号", STAT="XX",ACK="0",AVL="X") MICが自動的に待ち行列データのフェッチを始める AND (続行する場合はgoto Step 3 OR 取り消す場合はgoto Step 5) Step 3. RD QRCR If STAT="00" (待ち行列読取りデータ準備完了) then (続行する場合はgoto Step 4 OR 取り消す場合はgoto Step 5) If STAT="01" (待ち行列読取りデータ準備未完了) then (続行する場合はgoto Step 3 OR 取り消す場合はgoto Step 5) If STAT="10" (待ち行列読取りエラー) then 続行する場合はgoto Step 5 注意:STAT="11" はありえない。 Step 4. RD QDR (データは、QRCR内のQ#が示す待ち行列から 読み取られる) If 必要とされるすべてのバイトが読み取られた then MICが自動的にAVL="1"にセットする AND goto Step 1. OR If 読み取られなかったバイトがある then (続行する場合はgoto Step 4 OR 取り消す場合はgoto Step 5). Step 5. WR QRCR (Q#="X",STAT="XX",ACK="1",AVL="X") then AVL="1" AND goto Step 1. 注意: STAT="00"の時、MICは、マイクロ・チャネ
ル上にNOT READY状態を挿入せずに、MCマス
タに、要求された待ち行列データの読取りを許可する。 注意: MCマスタは、読取り中の待ち行列について示
されたバイト・カウントより多いバイト数の読取りを絶
対に行ってはならない。示されたバイト・カウントを超
えると、マイクロ・チャネル上にUSWまたはNOT
READY状態あるいはその両方が発生する。
【0254】MC待ち行列読取り動作プロトコル、方
法"B" 以下に、1つのバス・マスタだけが待ち行列読取り動作
の実行を許可されるシステムで待ち行列読取りを完了す
るための推奨される手順を記述する。 Step 2. WR QRCR (Q#="有効な待ち行列番号", STAT="XX",ACK="0",AVL="X") MICが自動的に待ち行列データの取出しを始める AND (続行する場合はgoto Step 3 OR 取り消す場合はgoto Step 5) Step 3. RD QRCR If STAT="00" (待ち行列読取りデータ準備完了) then (続行する場合はgoto Step 4 OR 取り消す場合はgoto Step 5) If STAT="01" (待ち行列読取りデータ準備未完了) then (続行する場合はgoto Step 3 OR 取り消す場合はgoto Step 5) If STAT="10" (待ち行列読取りエラー) then 取り消す場合はgoto Step 5 注意:STAT="11"はありえない。 Step 4. RD QDR (データは、QRCR内のQ#が示す待ち行列から 読み取られる) If 必要とされるすべてのバイトが読み取られた then MICが自動的にAVL="1"にセットする AND goto Step 2. OR If 読み取られなかったバイトがある then (続行する場合はgoto Step 4 OR 取り消す場合はgoto Step 5). Step 5. WR QRCR (Q#="X",STAT="XX",ACK="1",AVL="X") then AVL="1" AND goto Step 2.
【0255】MC待ち行列読取り動作プロトコル、方
法"C" 以下に、待ち行列読取りセマフォまたは状況フラグを使
用せずに待ち行列読取りを完了するための手順を記述す
る。 注意: 方法"C"は、待ち行列読取りのための推奨され
る手順ではない。この方法は、下記のいずれかが成り立
つ場合には使用してはならない。 1.システムに、待ち行列読取り動作を実行できるマス
タが複数含まれる。 2.システムのマイクロ・チャネルNOT READY
タイムアウト(3.5マイクロ秒)に違反してはならな
い。 3.システムが、深刻な関連なしにマイクロ・チャネル
NOT READYタイムアウトから回復できない。 4.システムまたはアダプタは、次節で説明するエラー
状態b)に起因するUSWをマスクできない。 注意: 方法"C"を使用する際のNOT READY時
間の見積りは、MIC、アダプタ、システム・ハードウ
ェア環境およびシステム・ソフトウェア環境の詳細な分
析によってのみ決定可能である。この情報のうち1つで
も入手不能または不確定なものがある場合には、方法"
C"は推奨されない。 Step 2. WR QRCR (Q#="有効な待ち行列番号", STAT="XX",ACK="0",AVL="X") MICが自動的に待ち行列データの取出しを開始する AND (続行する場合はgoto Step 4 OR 取り消す場合はgoto Step 5) Step 4. RD QDR (データは、QRCR内のQ#が示す待ち行列から 読み取られる) If 必要とされるすべてのバイトが読み取られた then goto Step 2 OR If 読み取られなかったバイトがある then (続行する場合はgoto Step 4 OR 取り消す場合はgoto Step 5). Step 5. WR QRCR (Q#="X",STAT="XX",ACK="1",AVL="X") then AVL="1" AND goto Step 2.
【0256】MC待ち行列読取り動作のエラー状態と警
告 MIC112は、下記のいずれかの状態が発生する場合
にUSWを生成する。 1.ステップ2の完了後、ステップ4またはステップ5
のいずれかが完了する前の任意の時点で、ステップ2が
実行される。 注意: このエラーが発生する場合、QRCRは更新さ
れない。 2.ステップ4で読み取られるバイト数が、その待ち行
列用に取り出されるバイト数より多い。 3.ステップ4が、ステップ2の前に実行される。 4.STAT="01"またはSTAT="10"の時にステップ4が実行
される。 5.STAT="10"の時を除いて、ステップ2の後でステッ
プ5が実行される。 注意: 上記のいずれかのエラーが発生する場合、MI
Cは、チャネル・チェック状態を生成しない。その代わ
りに、エラー待ち行列にUSWを通知することによっ
て、LPB割込みを活動状態にする。その後、エラー回
復手順の決定は、アダプタまたはシステムに委ねられ
る。 注意: ステップ2の前にステップ4を実行すると、マ
イクロ・チャネル上でNOT READY状態が発生す
る。この状態は、マスタがそのサイクルを打ち切ること
によってのみクリア可能である。これは、マイクロ・チ
ャネル・タイムアウト状態またはチャネル・チェック状
態を引き起こす可能性がある。 注意: ステップ2の後に、ステップ3を完了せずにス
テップ4を実行すると、マイクロ・チャネル上にNOT
READY状態が発生(STAT="01")した後に、下記
のいずれかの状態が発生する場合がある。 a) STAT="00"の場合、ステップ4が正常に完了する。
またはb) STAT="10"の場合、マスタがそのサイクルを
打ち切ることによってクリアされるまで、NOT RE
ADY状態が継続する。これは、マイクロ・チャネル・
タイムアウト状態またはチャネル・チェック状態を引き
起こす可能性がある。 注意: 方法"A"、方法"B"および方法"C"は、1つの
システムで一緒に使用してはならない。 注意: 報告される可能性のある追加のエラーについて
は、LPB115上で定義される待ち行列エラー・レジ
スタを参照されたい。STAT="10"を引き起こすエ
ラーは、待ち行列エラー・レジスタで定義される。
【0257】待ち行列書込み動作プロトコル、方法"A" 以下に、すべてのシステムに推奨される待ち行列書込み
手順を記述する。 Step 1. RD QWCR If AVL="0" then goto Step 1. If AVL="1" then MICが自動的にAVL="0"をセットする AND 続行しQWCRを更新する場合goto Step 2 OR 続行するがQWCRを更新しない場合goto Step 3 OR 取り消す場合はgoto Step 4). Step 2. WR QWCR (Q#="有効な待ち行列番号", QBC="有効な待ち行列バイト・カウント",ACK="0",AVL="X") 続行する場合はGoto Step 3 OR 取り消す場合はgoto Step 4. Step 3. WR QDR (データは、QWCR内のQ#が示す待ち行列に QWCR内のQBCが示すバイト数だけ書き込まれる) If すべての有効バイトが書き込まれた then 別の待ち行列書込み動作用の空間が使用可能になった時にMICが 自動的にAVL="1"をセットする AND goto Step 1. OR If 書き込まれていない有効バイトがある then (続行する場合はgoto Step 3 OR 取り消す場合はgoto Step 4). Step 4. WR QWCR (Q#="X",QBC="X",ACK="1",AVL="X") then MICが自動的にこの待ち行列動作を終了させ、別の待ち行 列 書込み動作用の空間が使用可能になった時にAVL="1"をセットす る AND goto Step 1. 注意: AVL="1"は、MIC112が、マイクロ・
チャネル上にNOT READY状態を挿入せずに、
4、8または16バイトの待ち行列書込み動作を実行で
きることを示す。 注意: 方法"A"を使用する際は、MCマスタは、QW
CRのQBCフィールドに示されるバイト・カウントよ
り多いバイト数の書込みを絶対に行ってはならない。そ
こに示されるバイト・カウントを超えると、マイクロ・
チャネル上にUSWまたはNOT READY状態ある
いはその両方が発生する可能性がある。
【0258】MC待ち行列書込み動作プロトコル、方
法"B" 以下に、待ち行列書込みセマフォを使用せずに待ち行列
書込みを完了するための手順を記述する。 注意: 方法"B"は、待ち行列書込みのための推奨され
る方法ではない。 この方法は、下記のいずれかが成り立つ場合には使用し
てはならない。 1.システムに、待ち行列書込み動作を実行できるマス
タが複数含まれる。 2.システムのマイクロ・チャネルNOT READY
タイムアウト(3.5マイクロ秒)に違反してはならな
い。 3.システムが、深刻な関連なしにマイクロ・チャネル
NOT READYタイムアウトから回復できない。 注意: 方法"B"を使用する際のNOT READY時
間の見積りは、MIC112、アダプタ、システム・ハ
ードウェア環境およびシステム・ソフトウェア環境の詳
細な分析によってのみ決定可能である。この情報のうち
1つでも入手不能または不確定なものがある場合には、
方法"B"は推奨されない。 Step 0. If QWCRを変更する必要がある then goto Step 2 OR If QWCRを変更する必要がない then goto Step 3. Step 2. WR QWCR (Q#="有効な待ち行列番号", QBC="有効な待ち行列バイト・カウント",ACK="0",AVL="X") 続行する場合はgoto Step 3 OR 取り消す場合はgoto Step 4. Step 3. WR QDR (データは、QWCR内のQ#が示す待ち行列に 書き込まれる) If すべての有効バイトが書き込まれた then goto Step 0 OR If 書き込まれていない有効バイトがある then (続行する場合はgoto Step 3 OR 取り消す場合はgoto Step 4). Step 4. WR QWCR (Q#="X",QBC="X",ACK="1",AVL="X") then MICが自動的に現待ち行列動作を終了させる AND goto Step 0.
【0259】MC待ち行列書込み動作のエラー状態と警
告 MIC112は、下記のいずれかの状態が発生する場合
にUSWを生成する。 1.(ステップ2の完了後またはステップ3の完了後)
かつ(ステップ3またはステップ4のいずれかの完了
前)の任意の時点で、ステップ2が実行される。 注意: このエラーが発生する場合、QWCRは更新さ
れない。 2.ステップ3で書き込まれるバイト数がQBCより多
く、かつステップ1がステップ3の前に実行される。 注意: このエラーは、方法"A"の場合にかぎって有効
であり、MC基本転送モードで実行される場合には発生
しない可能性がある。 3.待ち行列書込みバッファが、待ち行列オーバーフロ
ー状態を経験した。 注意: これはあり得ないはずである。 注意: 上記のいずれかのエラーが発生する場合、MI
C112は、チャネル・チェック状態を生成しない。そ
の代わりに、エラー待ち行列にUSWを通知することに
よって、LPB割込みを活動状態にする。その後、エラ
ー回復手順の決定は、アダプタまたはシステムに委ねら
れる。 注意: ステップ1を実行せずにステップ3を実行する
と、マイクロ・チャネル上にNOT READY状態が
発生する可能性がある。この状態は、3.5マイクロ秒
以上になり得る。その場合、マイクロ・チャネル・タイ
ムアウト状態またはチャネル・チェック状態が発生する
可能性がある。 注意: ステップ3の開始後、ステップ3が完了する前
にステップ4を実行すると、MIC112はその待ち行
列書込み動作を打ち切り、QWCR内で定義されたQ#
の待ち行列エラーが、ローカル・プロセッサに示され
る。 注意: 方法"A"および方法"B"は、1つのシステムで
一緒に使用してはならない。 注意: 報告される可能性のある追加のエラーについて
は、LPB115上に定義される待ち行列エラー・レジ
スタを参照されたい。
【0260】MICからの待ち行列アクセス MIC112は、待ち行列マネージャ機能への直接アク
セス権を有する。これを用いると、MIC112が、M
C110またはLPB115の調停を行わずに待ち行列
にアクセスできるようになる。MIC112内の優先順
位方式が、LPB115またはMC110によって要求
される待ち行列ポインタの競合を解決する。
【0261】特殊待ち行列と特殊レジスタ QM機能のほかに、MIC112は、3つの特殊待ち行
列と特殊レジスタをサポートする。この3つの待ち行列
は、下記の通りである。 待ち行列"D" MICコマンド待ち行列。この待ち行列
は、MICコマンド式転送を開始するのに使用されるM
CWを記憶する。 待ち行列"E" 非請求状況ワード待ち行列。この待ち行
列は、エラーの結果としてMIC112が生成したUS
Wを記憶する。 待ち行列"F" 自由ブロック・リスト待ち行列。この待
ち行列は、LDB117内で使用可能なメモリ・ブロッ
クの開始ポインタを記憶する。
【0262】特殊レジスタは、ジョブ保留レジスタ(J
PR)と称する。このレジスタは、16個の使用可能な
待ち行列のうちのどれに、保留中の待ち行列エントリま
たはジョブが含まれるかを決定するために、LPB11
5またはMC装置が使用する。
【0263】MICコマンド待ち行列 MIC112は、MICコマンド待ち行列(MCQ)す
なわち待ち行列"D"の状況を自動的に監視する。この待
ち行列に待ち行列エントリが追加される場合、MIC1
12は、コマンド式転送を開始する。コマンド式転送の
詳細については、「コマンド式転送」を参照されたい。
MCQは、1KまでのMCWを保持できる。
【0264】自由ブロック・リスト MIC112は、LDS自由ブロック・リスト(FB
L)として定義される特殊待ち行列を管理する。この待
ち行列には、LDB117内の1つの範囲またはブロッ
クの開始アドレスを表す4バイトのエントリが含まれ
る。最高1KのLDSブロックを、定義して使用するこ
とができる。これらのブロックのサイズは、FBL待ち
行列内で定義されるアドレスと使用可能なメモリ空間に
応じて変わる。 注意: LDB117内では、1MBのデータしかアク
セスできないので、4バイトの自由ブロック・エントリ
のうち最下位20ビットだけが有効である。
【0265】FBLは、他の待ち行列と同じように制御
される。FBLには、初期設定中に、LDS内のブロッ
クの開始物理アドレスと等価な4バイト待ち行列エント
リをロードすることができる。FBLに対しては、割込
みを割り当てる必要はない。
【0266】LPB待ち行列読取り動作、MC待ち行列
読取り動作またはMC自由ブロック・レジスタの読取り
のいずれかによって、自由ブロックをFBLから除去す
ることができる。除去された後は、そのブロックを利用
し管理するのは、除去を行った装置の責任である。
【0267】ブロックの使用がそれ以上不要になった時
は、LPB待ち行列書込み動作またはMC待ち行列書込
み動作のいずれかによって、そのブロックをFBLに追
加することができる。これによって、その後、そのブロ
ックを、他の装置が使用できるようになる。 注意: MIC112は、自動的にブロックをFBLに
返すことはしない。FBLへのブロックの返却を開始す
るのは、ローカル・プロセッサまたはシステム・プロセ
ッサの責任である。
【0268】MC自由ブロック・リスト・レジスタ この待ち行列へのアクセスを必要とするMC装置の性能
を向上させるために、MIC112は、FBLから4つ
の4バイト・エントリを事前取出しする。これを行う
と、MC装置が、MC入出力アドレス空間内の自由ブロ
ックに迅速にアクセスできるようになる。この4つの4
バイト・エントリは、MC装置によって読み取られるま
で、一時的に事前取出し自由ブロック・バッファ内に記
憶される。4バイトの事前取出し自由ブロックは、MI
C CR MC入出力基底アドレス+"01100"のM
C入出力アドレスから始まるMC自由ブロック・リスト
・レジスタから読み取ることができる。図50に、MC
入出力アドレス空間用のこのレジスタを示す。
【0269】MC FBLレジスタは、すべてのMC装
置にFBLへのアクセス権を与える。FBLレジスタ
は、LDB117内のブロックに対する開始MCメモリ
・アドレスを表す4バイト・アドレスを供給する。この
レジスタを読み取ると、事前取出し自由ブロック・バッ
ファから4バイトの自由ブロック・エントリの1つが削
除され、その結果、MIC112は、自動的に別の自由
ブロックの事前取出しを開始する。
【0270】自由ブロック・リストのうち20ビットだ
けが有効なので、MIC112は、有効な32ビットM
Cメモリ・アドレスを構築しなければならない。上位1
2ビットは、POS3およびPOS4のサブアドレス"
0101"にあるLDB MCメモリ・基底アドレス・
レジスタから取り出す。下位20ビットは、自由ブロッ
ク・リストから取り出す。
【0271】さらに、MIC112は、MC装置に状況
ビットを供給する。この状況ビットは、その自由ブロッ
ク・エントリが有効であるか否かを示す。また、この状
況ビットは、FB取出しの再試行が必要であるか、ある
いは転送の終了が必要であるか判定するのにも使用され
る。 注意: FBLエントリの最下位2ビットは、FB状況
を表すために使用されてきた。これを行う場合には、F
BRを介してMC110から読み取られるすべての自由
ブロックが、4バイト・アドレス境界上にあることが必
要になる。 注意: MC FBRは、読取り専用レジスタである。
【0272】ジョブ保留レジスタ ジョブ保留レジスタ(JPR)は、ある待ち行列に待ち
行列エントリが含まれるか否かを示すのに使用される。
待ち行列がハードウェア割込みを共用する時、JPRを
使って、割込みを発生している待ち行列を決定すること
ができる。JPRは、16ビット幅であり、待ち行列毎
に1ビットが含まれる。JPRは、LPB115または
MC110からアクセス可能である。JPRは、LPB
入出力アドレス="1140"とMC入出力アドレス="
CR MC入出力基底アドレス:10000"に置かれ
る。注意:LPM="0"の時は、JPRは、LPB11
5からしか書き込めない。
【0273】制御レジスタ、状況レジスタおよび初期設
定レジスタ MIC112を用いると、LPB115上とMC110
上の装置が、必要な初期設定レジスタ、制御レジスタお
よび状況レジスタにアクセスできるようになる。LPB
動作に関連するレジスタは、LPBのメモリ空間と入出
力アドレス空間に含まれる。MC動作に関連するレジス
タは、MC POSレジスタ内に含まれる。
【0274】LPB115 LPB装置は、一部のMIC制御レジスタならびに状況
レジスタおよび初期設定レジスタへのアクセス権を有す
ることができる。制御レジスタは、LPBメモリ空間内
で定義され、アドレス"1002"〜"100F"およびア
ドレス"1100"〜"1146"に常駐する。注意:これ
らの制御レジスタにアクセスするには、−CSELが活
動状態でなければならない。
【0275】1つの状況レジスタは、LPB入出力空間
を介してLPB装置にとって使用可能である。このレジ
スタは、発生した可能性のある待ち行列エラーを示す。
このレジスタは、待ち行列エラー・レジスタ(QER)
と称し、LPB入出力アドレス"1142"にある。QE
Rは、LPM="0"の時に限って書込み可能である。
【0276】MICプログラマブル・オプション選択
(POS)レジスタ MIC112は、ハードウェア・スイッチおよびジャン
パに代わるソフトウェア・プログラム式システム構成レ
ジスタを提供する。これらのレジスタは、プログラマブ
ル・オプション選択(POS)レジスタと称する。PO
Sレジスタは、MIC112とシステム・プロセッサの
構成データおよび識別データを提供する。これらのレジ
スタには、システムのパワー・オン・リセット(PO
R)直後に構成情報がロードされる。システム構成プロ
トコルを使用して、POSレジスタにアクセスする。P
OSレジスタは、POS入出力アドレスXXX0〜XX
X7に置かれる8つのバイトからなる。POSレジスタ
のいくつかが、必要な情報を含む。
【0277】POSレジスタは、サブアドレス機能の使
用をもサポートする。サブアドレス機能を用いると、追
加のレジスタにアクセスできるようになる。これらの追
加レジスタには、プログラマブルLDSサイズ、LDS
へのアクセス用のMCメモリ・スレーブ・アドレス、割
込み割当て、タイマ、および待ち行列と状況へのアクセ
ス用のMC入出力スレーブ・アドレスが含まれる。サブ
アドレス機能は、適当なMC識別に必要な必須製品デー
タ(VPD)にアクセスするのにも使用される。
【0278】アダプタADFファイルが、すべてのPO
Sレジスタの初期値を供給する。システム・セットアッ
プ手順が、ADFファイルからの値を不揮発性システム
・メモリにロードする責任を負う。システムは、キーワ
ードの衝突検査の責任も負う。システムのPORセット
アップ手順中に、アダプタのPOSレジスタ用の値が、
不揮発性RAMから読み取られ、そのアダプタに書き込
まれる。 注意: 1.現在のPS/2セットアップ・ソフトウェアは、P
OSサブアドレス機能にアクセスするまたはこれを利用
する能力を有さない。その代わりに、アダプタのプログ
ラマが、これらのレジスタを、装置ドライバ内に組み込
むか、あるいは独立した実行可能プログラムとしてロー
ドしなければならない。 2.MIC112がPOSレジスタを含む何らかのMC
活動に応答できるようになる前に、LPがGOビットを
セットしなければならない。GOビットは、システムP
OSから1ミリ秒以内にセットしなければならない。さ
もなければ、MIC112が、MC110上でNOT
READY状態を示す。 3.MIC112に対するシステム・リセット命令また
はSTRリセット命令は、省略時状態を含むすべてのP
OSレジスタの内容を、省略時状態に戻す。
【0279】POS 0、POS 1およびVPDの初
期設定 POSレジスタ0、POSレジスタ1およびVPDに必
要な情報は、LPS内に置かれる。VPD LPB基底
アドレス・レジスタが、POSレジスタ0、POSレジ
スタ1およびVPD用の値を見つけるための開始アドレ
スを定義する。この基底アドレス・レジスタは、システ
ム・セットアップ・ソフトウェアがこれらのレジスタに
アクセスする前に初期設定しなければならない。
【0280】システム・セットアップ手順でPOSレジ
スタ0、POSレジスタ1またはVPDレジスタを読み
取る時は、MIC112が、VPD基底アドレスを使用
してLPSから必要なデータを取り出す。この動作に
は、MICがLPB115を調停し、LPBマスタにな
ることが必要である。アダプタの設計は、MIC112
が、MC110仕様に従って1ミリ秒以内にこのデータ
にアクセスできることを保証するものでなければならな
い。
【0281】試験性インターフェース STIは、MIC112に対する直列試験インターフェ
ースとして使用される。STIを用いると、MICの自
己試験/走査制御論理機構にアクセスできるようにな
る。レジスタと機能に対するアクセス権と制御を有する
と、MIC112の試験とデバッグが改善される。ST
Iは、下記の2つの異なる動作の実行を可能にする。 1.命令/状況動作 2.走査動作
【0282】これらのモードを用いると、自己試験を実
行する能力が与えられる。自己試験は、MICチップ自
体の状態または健全さを判定するのに使用できる。
【0283】自己試験 自己試験では、内部走査論理機構、クロック制御論理機
構、ランダム・パターン・ジェネレータ(RPG)およ
び多重入力シグネチャ・レジスタ(MISR)を使用す
ることによって、MICの内部論理機構のかなりの部分
が検証される。RPG内で既知の開始値を使用すること
によって、MICチップ自体の状態または健全さを反映
するシグネチャが、MISR内で生成できる。
【0284】以上、部分的にハードウェアで実施される
待ち行列管理機能を提供し、ソフトウェア管理式待ち行
列構造に比べて性能の向上した、比較的安価な待ち行列
化機構をもたらす待ち行列ポインタ・マネージャについ
て述べた。
【図面の簡単な説明】
【図1】パーソナル・コンピュータ、ワークステーショ
ンおよびメイン・フレームのローカル・エリア・ネット
ワークを示す図である。
【図2】ローカル・データ・バスとローカル・プロセッ
サ・バスを介してマイクロ・チャネル・バスを外部光フ
ァイバ・バスに結合する、本発明によるインターフェー
スのブロック図である。
【図3】マイクロ・チャネル・インターフェース・チッ
プのブロック図である。
【図4】本発明の好ましい実施例のマイクロ・チャネル
・インターフェース・チップの外部入出力ピンを示す図
である。
【図5】本発明によるマイクロ・チャネル・インターフ
ェースのブロック図である。
【図6】本発明のマイクロ・チャネル・インターフェー
スの制御信号/データ信号捕捉/同期化ブロック内の論
理回路を示す図である。
【図7】本発明のマイクロ・チャネル・インターフェー
スの制御信号/データ信号捕捉/同期化ブロック内の論
理回路を示す図である。
【図8】本発明のマイクロ・チャネル・インターフェー
スの制御信号/データ信号捕捉/同期化ブロック内の論
理回路を示す図である。
【図9】本発明のマイクロ・チャネル・インターフェー
スの制御信号/データ信号捕捉/同期化ブロック内の論
理回路を示す図である。
【図10】本発明のマイクロ・チャネル・インターフェ
ースの制御信号/データ信号捕捉/同期化ブロック内の
論理回路を示す図である。
【図11】本発明のマイクロ・チャネル・インターフェ
ース状態機械を示す図である。
【図12】2ワードがローカル・プロセッサ・バスに書
き込まれる際のタイミング図である。
【図13】2ワードがローカル・プロセッサ・バスから
読み取られる際のタイミング図である。
【図14】2つの25MHz待機状態を有するスレーブ
・タイミング・モードにあるマイクロ・チャネル・イン
ターフェース・チップ内で読取り動作が行われる際のタ
イミング図である。
【図15】2つの25MHz待機状態を有するスレーブ
・タイミング・モードにあるマイクロ・チャネル・イン
ターフェース・チップ内で書込み動作が行われる際のタ
イミング図である。
【図16】2チップ・リング用のプロトコル信号接続の
ブロック図である。
【図17】多重チップ・リング用のプロトコル信号接続
のブロック図である。
【図18】ローカル・データ・バス・リング状態機械の
ブロック図である。
【図19】ローカル・データ・バス・プロトコル境界論
理機構のブロック図である。
【図20】ローカル・データ・バス上のタイマであるT
RT論理回路とTHT論理回路のブロック図である。
【図21】マイクロ・チャネル・インターフェース・チ
ップへの即時アクセスを伴うローカル・バス・スタート
アップのタイミング図である。
【図22】ローカル・データ・バス信号の駆動のタイミ
ング図である。
【図23】マイクロ・チャネル・インターフェース・チ
ップによる待機状態なしの5ワード読取りを示す、ロー
カル・データ・バスのタイミング図である。
【図24】マイクロ・チャネル・インターフェース・チ
ップによる待機状態5ワード書込みを示す、ローカル・
データ・バスのタイミング図である。
【図25】マイクロ・チャネル・インターフェース・チ
ップによる、2ワード読取り、2ワード書込み、1ワー
ド読取りを示す、ローカル・データ・バスのタイミング
図である。
【図26】マスタ実行処理の流れ図である。
【図27】マイクロ・チャネル・インターフェース・チ
ップのコマンド・ワード、制御ブロック、状況ワードお
よび通知コマンドの関係を示すブロック図である。
【図28】マイクロ・チャネル・インターフェース・チ
ップのコマンド・ワード内のフィールドを示す図であ
る。
【図29】マイクロ・チャネル・インターフェース・チ
ップの制御ブロック内のフィールドを示す図である。
【図30】マイクロ・チャネル・インターフェース・チ
ップの制御ブロック内のフィールドを示す図である。
【図31】マイクロ・チャネル・インターフェース・チ
ップの制御ブロック内のフィールドを示す図である。
【図32】マイクロ・チャネル・インターフェース・チ
ップの制御ブロック内のフィールドを示す図である。
【図33】好ましい実施例のマイクロ・チャネル・イン
ターフェース・チップ制御ブロックのフラグの有効な組
合せを示す図である。
【図34】マイクロ・チャネル・インターフェース・チ
ップの状況ワードのフィールドを示す図である。
【図35】マイクロ・チャネル・インターフェース・チ
ップの通知コマンドのフィールドを示す図である。
【図36】マイクロ・チャネルとローカル・データ・バ
スのアクセス・メモリ・マップの対比を示す図である。
【図37】ローカル・データ・バスに対するローカル・
プロセッサ・バスのアクセスのメモリ・マップを示す図
である。
【図38】待ち行列初期設定レジスタを示す、ローカル
・プロセッサ・バスのメモリ・マップを示す図である。
【図39】本発明による待ち行列初期設定レジスタのフ
ィールドを示す図である。
【図40】待ち行列ポインタ・レジスタを示す、ローカ
ル・プロセッサ・バスの入出力マップを示す図である。
【図41】待ち行列ポインタ・レジスタの好ましい配置
を示す図である。
【図42】ローカル・プロセッサ・バス内の待ち行列の
相対アドレスを示す図である。
【図43】ローカル・プロセッサ・バスの待ち行列読取
り動作プロトコル・フローの流れ図である。
【図44】ローカル・プロセッサ・バスの待ち行列書込
み動作プロトコル・フローの流れ図である。
【図45】それぞれのマイクロ・チャネル入出力アドレ
スに対してマッピングされる、待ち行列読取り制御レジ
スタ、待ち行列書込み制御レジスタおよび待ち行列デー
タ・レジスタを示す図である。
【図46】待ち行列読取り制御レジスタを示す図であ
る。
【図47】待ち行列書込み制御レジスタを示す図であ
る。
【図48】マイクロ・チャネルの待ち行列読取り動作プ
ロトコル・フローを示す流れ図である。
【図49】マイクロ・チャネルの待ち行列書込み動作プ
ロトコル・フローを示す流れ図である。
【図50】マイクロ・チャネル入出力マップに対してマ
ッピングされる、自由ブロック・リストとジョブ保留レ
ジスタを示す図である。
【符号の説明】
110 マイクロ・チャネル(MC) 112 マイクロ・チャネル・インターフェース・コン
トローラ(MIC) 115 ローカル・プロセッサ・バス(LPB) 117 ローカル・データ・バス(LDB) 119 ローカル・プロセッサ 121 ローカル・プロセッサ記憶機構(LPS) 123 ローカル・データ記憶機構(LDS) 130 マイクロ・チャネル・(MC)インターフェー
ス 131 MCデータ・インターフェース 132 MCアドレス・インターフェース 133 LPBインターフェース 134 マイクロ・チャネル(MC)インターフェース
制御論理機構 135 LDBインターフェース 136 LDBデータ・インターフェース 143 待ち行列マネージャ(QM) 146 待ち行列読取りバッファ(QRB) 148 待ち行列書込みバッファ(QWB) 157 自己試験インターフェース(STI) 170 制御信号/データ信号捕捉/同期化論理ブロッ
ク 172 インターフェース状態機械 244 リング

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】次の各構成要素から成る、レベル・センシ
    ティブ・スキャン・デザインの規則に従って設計された
    同期式チップ上で使用するために非同期式マイクロ・チ
    ャネル・バスからのデータを捕捉し検証するための回
    路。 (イ)前記レベル・センシティブ・スキャン・デザイン
    の規則を満足するように互いに位相がずれている少なく
    とも2つの内部クロック信号を使用して、非同期データ
    有効信号を同期データ有効信号に変換する手段。 (ロ)前記少なくとも2つの内部クロック信号を使用し
    て、非同期ストリーミング・データ信号を同期ストリー
    ミング・データ信号に変換する手段。 (ハ)前記非同期データ有効信号及び前記非同期ストリ
    ーミング・データ信号をクロック信号として使用して、
    非同期データ信号を非同期的にラッチされたデータ信号
    に変換する手段。 (ニ)前記非同期データ有効信号及び前記非同期ストリ
    ーミング・データ信号をクロック信号として使用して、
    非同期アドレス信号を非同期的にラッチされたアドレス
    信号に変換する手段。 (ホ)前記同期データ有効信号及び前記非同期ストリー
    ミング・データ信号を使用して、前記マイクロ・チャネ
    ル・バスの現状態を表す複数の同期信号を生成する状態
    機械。 (ヘ)前記状態機械によって生成された前記同期信号の
    うち少なくとも1つに応答して、前記非同期的にラッチ
    されたデータ信号を検証する手段。 (ト)前記状態機械によって生成された前記同期信号の
    うち少なくとも1つを使用して、前記非同期的にラッチ
    されたアドレス信号を検証する手段。
  2. 【請求項2】次の各ステップから成る、レベル・センシ
    ティブ・スキャン・デザインの規則に従って設計された
    同期式チップ上で使用するために非同期式マイクロ・チ
    ャネル・バスからのデータを捕捉し検証するための方
    法。 (イ)前記レベル・センシティブ・スキャン・デザイン
    の規則を満足するように互いに位相がずれている少なく
    とも2つの内部クロック信号に応答して、非同期データ
    有効信号を同期データ有効信号に変換するステップ。 (ロ)前記少なくとも2つの内部クロック信号に応答し
    て、非同期ストリーミング・データ信号を同期ストリー
    ミング・データ信号に変換するステップ。 (ハ)前記非同期データ有効信号及び前記非同期ストリ
    ーミング・データ信号をクロック信号として使用して、
    非同期データ信号を非同期的にラッチされたデータ信号
    に変換するステップ。 (ニ)前記非同期データ有効信号及び前記非同期ストリ
    ーミング・データ信号をクロック信号として使用して、
    非同期アドレス信号を非同期的にラッチされたアドレス
    信号に変換するステップ。 (ホ)前記同期データ有効信号及び前記非同期ストリー
    ミング・データ信号を使用して、前記マイクロ・チャネ
    ル・バスの現状態を表す複数の同期信号を生成するステ
    ップ。 (ヘ)前記マイクロ・チャネル・バスの現状態を表す前
    記複数の同期信号のうち少なくとも1つを使用して、前
    記非同期的にラッチされたデータ信号を検証するステッ
    プ。 (ト)前記マイクロ・チャネル・バスの現状態を表す前
    記複数の同期信号のうち少なくとも1つを使用して、前
    記非同期的にラッチされたアドレス信号を検証するステ
    ップ。
JP4222648A 1991-09-05 1992-08-21 非同期式マイクロ・チャネル・バスからのデータを捕捉し検証するための回路および方法 Expired - Lifetime JPH07123260B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/755,476 US5418930A (en) 1991-09-05 1991-09-05 Circuit for interfacing asynchronous to synchronous communications
US755476 1991-09-05

Publications (2)

Publication Number Publication Date
JPH05227247A JPH05227247A (ja) 1993-09-03
JPH07123260B2 true JPH07123260B2 (ja) 1995-12-25

Family

ID=25039311

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4222648A Expired - Lifetime JPH07123260B2 (ja) 1991-09-05 1992-08-21 非同期式マイクロ・チャネル・バスからのデータを捕捉し検証するための回路および方法

Country Status (3)

Country Link
US (1) US5418930A (ja)
EP (1) EP0530846A3 (ja)
JP (1) JPH07123260B2 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2289778B (en) * 1994-05-17 1998-12-16 Advanced Risc Mach Ltd Data processing
JP3454294B2 (ja) * 1994-06-20 2003-10-06 インターナショナル・ビジネス・マシーンズ・コーポレーション マルチプル・バス情報処理システム及びブリッジ回路
GB2311195B (en) 1996-03-13 2000-03-15 Madge Networks Ltd Methods and apparatus for synchronizing a clock
US5898895A (en) * 1996-10-10 1999-04-27 Unisys Corporation System and method for controlling data transmission rates between circuits in different clock domains via selectable acknowledge signal timing
US6014729A (en) * 1997-09-29 2000-01-11 Firstpass, Inc. Shared memory arbitration apparatus and method
US6246733B1 (en) 1998-05-20 2001-06-12 International Business Machines Corporation Synchronous interface for asynchronous data detection channels
AU2002344288A1 (en) * 2001-05-25 2002-12-09 Annapolis Micro Systems, Inc. Method and apparatus for modeling dataflow systems and realization to hardware
JP3853188B2 (ja) * 2001-10-04 2006-12-06 Necエレクトロニクス株式会社 非同期バスインターフェイス装置
US6950959B2 (en) * 2002-02-12 2005-09-27 Fulcrum Microystems Inc. Techniques for facilitating conversion between asynchronous and synchronous domains
US7747936B2 (en) * 2004-03-02 2010-06-29 Stmicroelectronics Sa Device for protection against error injection into an asynchronous logic block of an elementary logic module
US7257788B2 (en) * 2004-11-08 2007-08-14 International Business Machines Corporation Method and apparatus for converting globally clock-gated circuits to locally clock-gated circuits
US9520180B1 (en) 2014-03-11 2016-12-13 Hypres, Inc. System and method for cryogenic hybrid technology computing and memory

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4435759A (en) * 1981-06-15 1984-03-06 International Business Machines Corporation Hardware monitor for obtaining processor software/hardware interrelationships
US4627070A (en) * 1981-09-16 1986-12-02 Fmc Corporation Asynchronous data bus system
US4631666A (en) * 1982-10-25 1986-12-23 Burroughs Corporation Data transfer network for variable protocol management
US4593282A (en) * 1983-04-14 1986-06-03 At&T Information Systems Inc. Network protocol for integrating synchronous and asynchronous traffic on a common serial data bus
US4665518A (en) * 1984-02-13 1987-05-12 Fmc Corporation Synchronous/asynchronous communication system
US4805194A (en) * 1985-10-17 1989-02-14 Ampex Corporation Serial data communication system
US4737971A (en) * 1986-04-07 1988-04-12 American Telephone And Telegraph Company Synchronization detection circuit
US4962474A (en) * 1987-11-17 1990-10-09 International Business Machines Corporation LSSD edge detection logic for asynchronous data interface
US4992930A (en) * 1988-05-09 1991-02-12 Bull Hn Information Systems Inc. Synchronous cache memory system incorporating tie-breaker apparatus for maintaining cache coherency using a duplicate directory
US5079696A (en) * 1989-09-11 1992-01-07 Sun Microsystems, Inc. Apparatus for read handshake in high-speed asynchronous bus interface
US5220651A (en) * 1989-10-11 1993-06-15 Micral, Inc. Cpu-bus controller for accomplishing transfer operations between a controller and devices coupled to an input/output bus
US5191657A (en) * 1989-11-09 1993-03-02 Ast Research, Inc. Microcomputer architecture utilizing an asynchronous bus between microprocessor and industry standard synchronous bus
US5054020A (en) * 1990-04-11 1991-10-01 Digital Access Corporation Apparatus for high speed data communication with asynchronous/synchronous and synchronous/asynchronous data conversion

Also Published As

Publication number Publication date
EP0530846A3 (en) 1994-09-28
JPH05227247A (ja) 1993-09-03
EP0530846A2 (en) 1993-03-10
US5418930A (en) 1995-05-23

Similar Documents

Publication Publication Date Title
US5459839A (en) System and method for managing queue read and write pointers
US6085278A (en) Communications interface adapter for a computer system including posting of system interrupt status
US5379386A (en) Micro channel interface controller
US5919254A (en) Method and apparatus for switching between source-synchronous and common clock data transfer modes in a multiple processing system
EP1046111B1 (en) Data transferring in source-synchronous and common clock protocols
JPH0771103B2 (ja) データ通信ネットワークおよびトークン・リング調停方法
KR100245818B1 (ko) 트랜잭션 및 수신지 id를 가진 공유 버스 시스템
US6353867B1 (en) Virtual component on-chip interface
US5455916A (en) Method for performing inter-unit data transfer operations among a plurality of input/output bus interface units coupled to a common asynchronous bus
US5867675A (en) Apparatus and method for combining data streams with programmable wait states
US5001624A (en) Processor controlled DMA controller for transferring instruction and data from memory to coprocessor
JP2571673B2 (ja) 多重化バスを有する情報処理システムでバック・ツー・バック・データ転送を提供する方法および装置
EP0364849A2 (en) Bus for a data processing system
JP2744865B2 (ja) シリアルチャネルアダプタ
JPH0696030A (ja) マルチプロセッサのための拡張プロセッサバッファインターフェース
WO1994016388A1 (en) System and method for controlling the input and output of data between a host processor and an i/o device
KR19990022324A (ko) 주변 소자 상호연결 버스상의 버스트 전송 시스템및 방법
US5199106A (en) Input output interface controller connecting a synchronous bus to an asynchronous bus and methods for performing operations on the bus
JPH07123260B2 (ja) 非同期式マイクロ・チャネル・バスからのデータを捕捉し検証するための回路および方法
EP0775960A2 (en) Bus interface logic system
US5796963A (en) System and method for converting VXI bus cycles to PCI burst cycles
US5809260A (en) Burst mode data transmission retry of previously aborted block transfer of data
US6519670B1 (en) Method and system for optimizing a host bus that directly interfaces to a 16-bit PCMCIA host bus adapter
JP3602435B2 (ja) 制御チップセット間におけるデータトランザクション方法
US6202117B1 (en) Host adapter integrated circuit having autoaccess pause