JP2802043B2 - クロック故障検出回路 - Google Patents

クロック故障検出回路

Info

Publication number
JP2802043B2
JP2802043B2 JP7013992A JP1399295A JP2802043B2 JP 2802043 B2 JP2802043 B2 JP 2802043B2 JP 7013992 A JP7013992 A JP 7013992A JP 1399295 A JP1399295 A JP 1399295A JP 2802043 B2 JP2802043 B2 JP 2802043B2
Authority
JP
Japan
Prior art keywords
adapter
data
dma
main processor
microprocessor
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
JP7013992A
Other languages
English (en)
Other versions
JPH07282025A (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 JPH07282025A publication Critical patent/JPH07282025A/ja
Application granted granted Critical
Publication of JP2802043B2 publication Critical patent/JP2802043B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Multi Processors (AREA)
  • Exchange Systems With Centralized Control (AREA)
  • Maintenance And Management Of Digital Transmission (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Bus Control (AREA)
  • Communication Control (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、主プロセッサのチャネ
ルと高性能パケット交換機構(以下「交換機構」と略
記)との間に結合されたアダプタ用のクロック故障検出
回路に係る。
【0002】
【従来の技術】並列処理システムの性能は、プロセッサ
性能と通信性能とに依存する。通信性能は、非常に重要
であって、これを待ち時間とバンド幅の2つの要素に分
けて検討することができる。効率的な通信サブシステム
を構築するには、これらの両要素を最適化しなければな
らない。
【0003】従来のシステムでは、主プロセッサと交換
機構との間に、アダプタのような装置が使用されてき
た。しかし、これらのアダプタは、比較的遅いバスを介
する全てのデータ転送について、主プロセッサが介入す
ることを必要としていた。従って、データの転送が行わ
れている間、主プロセッサは、他のタスクを実行するこ
とができなかった。この結果、主プロセッサの性能を最
適化できないという問題が生ずる。
【0004】この問題を解決するために、アダプタ内に
コプロセッサを使用するという従来のシステムが存在す
るが、かかるシステムでは、主プロセッサとコプロセッ
サとの間の比較的遅いバス上に不要なトラフィックが流
れるために、当該バス上で使用可能な全てのサイクル
を、アプリケーション・データの転送に使用することが
できなかった。この結果、かかるシステムの通信効率が
低下していた。
【0005】さらに、従来のシステムは、比較的遅いバ
スを使用して、(主プロセッサとコプロセッサ機構との
間の通信タスクについて)ポーリングを行っているため
に、主プロセッサの性能を低下させるだけでなく、シス
テム全体の効率を低下させ、バス上のアプリケーション
・データとの競合を生じさせ、メッセージの待ち時間を
増加させ、メッセージのバンド幅を減少させていた。こ
の結果、通信効率が低下していた。
【0006】さらに、従来のアダプタは、スレーブ・モ
ードでだけ動作可能であって、データ転送を開始するこ
とができなかった。このことが問題であるのは、主プロ
セッサがマスタ(例えば、イニシエータ)として機能し
なければならず、このため、データ転送のプロセス全体
を通して十分に介入しなければならないからである。
【0007】他の問題は、データの経路指定(従って、
完全性)を検査することに係る。メッセージ受け渡しプ
ロトコルを使用している並列処理システムでは、データ
・パケットは、当該システム内のプロセッサ相互間で受
け渡しされる。一般に、これらのデータ・パケットは、
ヘッダ内に保持されている経路指定情報に従って、ソー
ス・プロセッサから、ネットワーク・ファブリック(ネ
ットワーク基本構造)を通して、宛先プロセッサに送信
される。或るシステムでは、かかる経路指定情報は、ネ
ットワーク・ファブリックによって消費され(例えば、
パケットがデータ経路に沿って進行するうちにデータ・
ビットが消失され)るから、メッセージ・パケットがそ
の宛先に到着したときには、もはや経路指定情報が存在
しないということさえある。もし、経路指定情報が壊れ
ると、ネットワークはエラーを検出することはできず、
このため、各パケットが間違った宛先に経路指定され
て、データの完全性が失われることになる。
【0008】本発明に特に関連する他の問題は、アダプ
タのクロックが故障すると、主プロセッサを無期限にハ
ングアップさせてしまうことがある、というものであ
る。
【0009】
【発明が解決しようとする課題】従って、本発明の目的
は、クロックが故障したときでも、主プロセッサのハン
グアップを防止できるようなクロック故障検出回路を提
供することである。
【0010】
【課題を解決するための手段】本発明に従って、主プロ
セッサのチャネルに結合されたアダプタ用のクロック故
障検出回路が提供される(詳細については、図9及びそ
の説明を参照)。このクロック故障検出回路は、 (a)交換機構内に設けられ、アダプタに結合された出
力を有し、第1の状態及び第2の状態を有する外部クロ
ック信号を生成するスイッチ・クロックと、 (b)アダプタ内に設けられたカウント機構とを備え、
このカウント機構は、外部クロック信号が第1の状態か
ら第2の状態に遷移するのを検出するように、スイッチ
・クロックの出力に接続された第1の入力を有し、第2
の状態への遷移を検出するのに応答して、初期値から終
了値までのカウント動作を開始し、終了値に達するのに
応答してリセット信号を生成するための出力を有する第
1のカウンタと、外部クロック信号が第2の状態から第
1の状態に遷移するのを検出するように、スイッチ・ク
ロックの出力に接続された第2の入力を有し、第1の状
態への遷移を検出するのに応答して、初期値から終了値
までのカウント動作を開始し、終了値に達するのに応答
してリセット信号を生成するための出力を有する第2の
カウンタとを含み、これら第1及び第2のカウンタの周
波数は、外部クロック信号の一の遷移が消失するときに
カウンタが終了値に達することができるように、外部ク
ロック信号の周波数よりも大きくされており、 (c)さらに、第1及び第2のカウンタの出力に結合さ
れ、リセット信号に応答してアダプタをリセットするた
めのリセット手段と、 (d)リセット手段とチャネルとの間に結合され、外部
クロック信号の一の遷移が消失するときにチャネルがハ
ングアップ状態に放置されないように、アダプタのリセ
ット状態をチャネルに伝達するためのリセット伝達手段
とを備えている。
【0011】
【実施例】図1には、本発明に従ったアダプタ1が示さ
れている。アダプタ1は、主プロセッサ2(例えば、I
BM社の RISC System/6000 )と、交換機構3との間の
通信を実行する通信装置である。アダプタ1は、マイク
ロチャネル・バスのノードにインタフェースすることが
できる(マイクロチャネル・バスの記述については、I
BM社の "Personal System/2 Hardware Technical Ref
erence - Architectures", Part No. 84F8933, Part N
o. 68X2330 及び "IBM Micro Channel Architecture"
を参照されたい)。
【0012】図2には、アダプタ20の構成が詳細に示
されている。アダプタ20は、主プロセッサ2が交換機
構3と通信することを可能にする。アダプタ20との通
信は、アダプタ20又は主プロセッサ2の何れによって
も開始することができる。アダプタ20上のマイクロチ
ャネル・インタフェース21は、主プロセッサ2のマイ
クロチャネルを、アダプタ20にインタフェースする。
主プロセッサ2内の主メモリ2aは、その内部にFIF
Oキュー2bを含んでいる。
【0013】アダプタ20は、ストリーミング・マスタ
又はノンストリーミング・スレーブとして機能すること
ができる。具体的には、アダプタ20は、80MB/s
のピーク・バンド幅を有するマイクロチャネル上のスト
リーミング・マスタである。アダプタ20は、10MH
zの転送クロックを使用して、8又は4バイトのストリ
ーミングをサポートする。また、アダプタ20は、マイ
クロチャネル上のノンストリーミング・スレーブとして
も機能することができる。クロック速度は、交換機構3
と同期する40MHzが望ましい。
【0014】アダプタ20上のマイクロプロセッサ22
は、通信コプロセッサとして使用されるために、以下で
は「コプロセッサ」と呼ばれることもある。
【0015】マイクロプロセッサ22には、エラー訂正
機能を有する十分な容量(例えば、8MB)のDRAM
23が結合されている。DRAM23は、マイクロプロ
セッサ22のプログラム記憶装置であり、プロトコル・
データ構造を保持している。DRAM23は、アダプタ
20と主プロセッサ2との間のメッセージ受け渡しエリ
アとしても使用することができる。後述のように、DR
AM23は、マイクロプロセッサ22及びマイクロチャ
ネルの両方からアドレス可能である。
【0016】主プロセッサ2と交換機構3の二重通信路
との間で直接メモリ・アクセス(以下「DMA」と略
記)機能を提供するために、少くとも左側(LHS)D
MAエンジン24及び右側(RHS)DMAエンジン2
5が設けられている。
【0017】双方向性のFIFOバッファ(以下「FI
FOバッファ」と略記)26は、少なくとも4kBの容
量を有することが望ましく、マイクロチャネル・インタ
フェース21に結合されている。FIFOバッファ26
は、(図2の点線で示すように)左側DMAエンジン2
4及び右側DMAエンジン25によって制御可能であ
り、第1のポート26a及び第2のポート26bを含ん
でいる。さらに、FIFOバッファ26は、「メール・
ボックス」と呼ばれる内部レジスタ26cを有してお
り、これを使用してFIFOバッファ26をバイパスす
ることができる。
【0018】メモリ兼交換機構管理ユニット(以下「M
SMU」と略記)27と呼ばれる標準セルのASIC
は、複数のレジスタを含み、マイクロプロセッサ22、
FIFOバッファ26、交換機構3及びDRAM23に
結合されていて、DRAM23用のDRAMコントロー
ラとして機能する。また、MSMU27は、マイクロプ
ロセッサ22用のDRAMコントローラであって、マイ
クロプロセッサ・バス28を交換機構3にインタフェー
スする。MSMU27については、1993年3月2日
に出願された米国特許出願第08/025019号に記
述されている。
【0019】MSMU27は、マイクロプロセッサ22
又は(メール・ボックス26cを介して)主プロセッサ
2によってアクセス可能である。左側DMAエンジン2
4及び右側DMAエンジン25は、マイクロプロセッサ
・バス28及びマイクロチャネル・バス29の各々を介
して、ストリーミング・データ転送を提供する。即ち、
左側(LHS)では、左側DMAエンジン24がマイク
ロチャネル・バス29とFIFOバッファ26との間の
転送を行うのに対し、右側(RHS)では、右側DMA
エンジン25がFIFOバッファ26とマイクロプロセ
ッサ・バス28との間の転送を行う。
【0020】FIFOバッファ26は、比較的速い16
0MB/sのマイクロプロセッサ・バス28を比較的遅
いマイクロチャネル・バス29から分離して、これらの
バスを同時に使用できるようにしている。この結果、マ
イクロプロセッサ22が計算を行っている間、マイクロ
チャネル・バス29を介してデータを転送することがで
きる。マイクロプロセッサ・バス28は、マイクロチャ
ネル・バス29よりも高速であるので、マイクロプロセ
ッサ22による計算と、交換機構3とのデータ転送を時
間的に多重化することができる。かくて、主プロセッサ
2は、かかるデータ転送を待機している間に、他の処理
を行うことができるので、従来のシステムに比べて重要
な利点が得られる。
【0021】以下で詳述するように、アダプタ20は、
マイクロチャネルのスレーブとして主プロセッサ2によ
ってアクセスされ、またマイクロチャネルのマスタとし
て主メモリ2aをアクセスすることができる。アダプタ
20が一のマイクロチャネル・アドレスを復号する際、
マイクロチャネルのマスタが一のサイクル(例えば、一
のマイクロチャネル・サイクル)の間にマイクロプロセ
ッサ・バス28を使用することができるように、マイク
ロプロセッサ22はそのバス28から切断される。その
後、制御はマイクロプロセッサ22に戻される。アダプ
タ20上のシステム・データを、主プロセッサ2上のユ
ーザ領域のアプリケーションから保護するために、ハー
ドウェアがアクセス検査を提供する。
【0022】マイクロチャネルを介して主プロセッサ2
がアクセス可能なものには、アダプタ20上の構成レジ
スタ(例えば、マイクロプロセッサ22の開始/停止、
アダプタ20のリセット、アダプタ20が復号するマイ
クロチャネル・アドレスを設定するためのもの)があ
る。
【0023】電源オン時に、主プロセッサ2は、マイク
ロプロセッサ・コードをメール・ボックス26cを介し
てアダプタ20上のDRAM23にロードした後、構成
レジスタを介してマイクロプロセッサ22の動作を開始
させる。右側DMAエンジン25又は主プロセッサ2が
マイクロプロセッサ・バス28の使用を必要とする場
合、マイクロプロセッサ22はそのバス28から自動的
に切断され、アクセスが完了したときにバス28に戻さ
れる。この動作は、主プロセッサ2及びマイクロプロセ
ッサ22に対し透明である。
【0024】マイクロプロセッサ22は、マイクロチャ
ネルへの割り込みを駆動し、またマイクロチャネルから
の割り込みを受け取ることができる。一般に、これらの
割り込みは、例外報告のために使用される。以下で詳述
するように、主プロセッサ2とマイクロプロセッサ22
との間の通常のメッセージ受け渡しは、DRAM23内
で行われる。
【0025】アダプタ20は、マイクロチャネル・マス
タとして、マイクロチャネルと交換機構3との間で、デ
ータをストリームすることができる。また、アダプタ2
0は、マイクロチャネルとDRAM23との間で、デー
タをストリームすることができる。これに対し、マイク
ロプロセッサ22は、マイクロチャネル・データをロー
ド及び格納することができる。マイクロプロセッサ22
は、DMAポートと呼ばれるアダプタ20上の或る範囲
のアドレスへの書き込みによって全てのDMA転送を開
始し、その結果を調べるために、これらのポートを後で
読み取ることができる。
【0026】左側DMAエンジン24は、特定の「ヘッ
ダ」アーキテクチャを通して、マイクロプロセッサ22
によって制御される。このヘッダがFIFOキューを通
して進行し(従って、FIFOバッファ26内には、或
る時点で複数のヘッダが待ち行列化されていることがあ
る)、そして左側DMAエンジン24が以前のヘッダの
処理を終了するとき、左側DMAエンジン24は、FI
FOバッファ26から次のヘッダを取り出してマイクロ
チャネルのマスタ動作を開始する。これらのヘッダは、
左側DMAエンジン24による取り出し又は格納用のも
のとすることができる。格納動作用のデータは、FIF
Oバッファ26内にあるそのヘッダの直後に続く。かく
て、制御情報及びデータ情報は、同じ経路を進行する。
以下で詳述するように、LHS/RHSブリッジが、バ
ス28及び29のマスタ及びスレーブとして機能する。
例えば、左側DMAエンジン24は、マイクロチャネル
・マスタになり、データをマイクロチャネルと授受する
ように機能することができる。
【0027】また、左側DMAエンジン24は、スレー
ブ・サイクルについてマイクロチャネルを監視する(左
側DMAエンジン24は、マイクロチャネルのスレーブ
である)。スレーブ・サイクル(又はプログラム式入出
力)は、左側DMAエンジン24及び右側DMAエンジ
ン25のマスタ動作に割り込むことができ、その場合
は、プログラム式入出力を迅速に且つ原子的に行うこと
ができる。主プロセッサ2は、アダプタ20と通信する
ために、進行中のDMA動作が終了するのを待機する必
要がないから、プログラム式入出力を確実に行わせるこ
とができる。一のスレーブ・サイクルの復号時には、左
側DMAエンジン24が右側DMAエンジン25に割り
込んで、両者がマイクロプロセッサ22のアドレス空間
を対象として原子的なプログラム式入出力を実行する。
左側DMAエンジン24は、このプログラム式入出力が
終了するのを許容する前に、右側DMAエンジン25の
肯定応答を待機する。
【0028】さらに、右側DMAエンジン25は、マイ
クロプロセッサ・バス28のスレーブを制御するための
幾つかのポートによって制御される。例えば、図2に示
すように、FIFOポート26bが設けられている。マ
イクロプロセッサ22がFIFOポート26bを対象と
して読み取り/書き込みを行うとき、LHS/RHSブ
リッジは、マイクロプロセッサ・バス28のスレーブと
して機能する。マイクロプロセッサ22は、以下の幾つ
かの機能を実行するためにFIFOポート26bを使用
する。即ち、(1)一の格納を行うために、ヘッダを左
側DMAエンジン24に送信するとともに、右側のDM
Aを開始して格納すべきデータをFIFOバッファ26
内に置き(この場合、LHS/RHSブリッジはバス・
マスタになり、マイクロプロセッサ22のアドレス空間
内の任意の位置を対象としてパイプライン・サイクルを
実行する)、(2)一の取り出しを行うために、左側D
MAエンジン24にヘッダを送信し、(3)左側DMA
エンジン24が取り出したデータをマイクロプロセッサ
22のアドレス空間内の任意の位置に移動させるため
に、右側のDMAを開始し、(4)右側のDMAを開始
することなく格納を行うために、左側DMAエンジン2
4にヘッダを送信し、(5)FIFOバッファ26との
間でデータの直接的な読み取り/書き込みを行う。
【0029】マイクロプロセッサ22は、DMAポート
と呼ばれるアダプタ20上の或る範囲のアドレスの1つ
に書き込みを行うことによって、DMA転送を開始す
る。DMAポート・アドレスの選択と、このポートに書
き込まれる最初のワード(DMAヘッダと呼ばれる)の
内容に応じて、DMA活動を制御するための手段がマイ
クロプロセッサ22に与えられる。基本的には、DMA
ポート・アドレスの選択が、右側DMAエンジン25を
制御するのに対し、FIFOバッファ26を通して進行
するヘッダ内のデータは、左側DMAエンジン24を制
御する。
【0030】DMAポート・アドレスは、次のように構
成される。即ち、このアドレスの1つのフィールドは、
全てのDMAポート・アドレスについて同じである。こ
れらのビットは、右側DMAエンジン25に対し、一の
DMAポートがアドレスされていることを指示する。他
のフィールドは、転送が開始すべきマイクロプロセッサ
・バス28上のアドレスを指定する。さらに、1つの追
加アドレス・ビットが制御ビットとして機能し、そのビ
ットがゼロのとき、右側DMAエンジン25をディスエ
ーブルする。このビットの目的については、以下で詳述
する。
【0031】DMAヘッダは、左側エンジン24及び右
側DMAエンジン25の両方に有用な情報(例えば、転
送すべきワードの数)と、左側DMAエンジン24のみ
によって使用される情報を保持している。この情報は、
転送が開始すべきマイクロチャネル・アドレスを含んで
いる。
【0032】後述するように、マイクロプロセッサ22
は、DMA書き込み(例えば、アダプタ20上のDRA
M23又は交換機構3から主メモリ2aへのデータ転
送)を開始する。一のDMAポートを対象とするマイク
ロプロセッサ22の書き込みは、かかるデータのソース
がDRAM23又は交換機構3の何れであるかを暗示す
る。そのヘッダは、FIFOバッファ26内に書き込ま
れる。その後、右側DMAエンジン25は、マイクロプ
ロセッサ22をそのバス28から切断し、アダプタ20
上のDRAM23又は交換機構3からのデータをFIF
Oバッファ26に転送する。この転送の後に、バス28
の制御はマイクロプロセッサ22に戻される。その後、
DMAヘッダがFIFOバッファ26のヘッドに到達し
たときに、このDMAヘッダは左側DMAエンジン24
によって取り出される。左側DMAエンジン24は、F
IFOバッファ26からマイクロチャネルへのデータ転
送を要求された回数だけ実行した後に、このDMAヘッ
ダを廃棄する。
【0033】アダプタ20は、DMA書き込み用の追加
のモードもサポートする。このモードでは、右側のDM
Aが開始する前に、DMAヘッダは、FIFOバッファ
26内に書き込まれないで廃棄される。このモードが使
用されるのは、マイクロプロセッサ22が、その内部レ
ジスタからのデータ及び交換機構3からのデータを含む
諸ブロックを、主メモリ2a内の連続的な位置に書き込
むことを望んでいる場合である。「ヘッダのない」モー
ドを使用すると、2つ又は3つの前記ブロックが、単一
の左側のDMAを使用しつつ、マイクロチャネルを介し
て転送される。
【0034】マイクロプロセッサ22は、DMA読み取
り(例えば、主メモリ2aからアダプタ20上のDRA
M23又は交換機構3への読み取り)を、2ステップ・
プロセスとして行う。
【0035】最初のステップにおいて、マイクロプロセ
ッサ22は、読み取りを指定するDMAヘッダを書き込
む。この場合、マイクロプロセッサ22は、幾つかのD
MAポート・アドレスのうち任意のものに書き込みを行
うことができる(但し、このアドレスにおいて、右側D
MAエンジン25をイネーブルするようなビットがアサ
ートされていないことを条件とする)。これらのアドレ
スのうち任意のものへ書き込みを行う結果として、この
DMAヘッダは、右側のDMA動作を行うことなく、F
IFOバッファ26内に置かれることになる。その後、
このDMAヘッダがFIFOバッファ26のヘッドに到
達すると、このDMAヘッダは左側DMAエンジン24
によって取り出される。左側DMAエンジン24は、主
メモリ2aからFIFOバッファ26へのデータ転送を
要求された回数だけ実行する。
【0036】DMA読み取り動作の2番目のステップに
おいて、マイクロプロセッサ22は、読み取りを指定し
ているDMAヘッダを再び書き込む。しかし、今回は、
このDMAヘッダは、右側のDMAをイネーブルするよ
うなポート・アドレスに書き込まれる。この結果、右側
DMAエンジン25は、マイクロプロセッサ22をその
バス28から切断し、要求された数のバイトをFIFO
バッファ26からアダプタ20上のDRAM23又は交
換機構3に転送する。この転送の後、バス28の制御は
マイクロプロセッサ22に戻される。このDMAヘッダ
は廃棄され、FIFOバッファ26内には置かれない。
【0037】もし、右側のDMAが必要とされていれ
ば、右側DMAエンジン25のタイミングを次のように
設計する必要がある。即ち、マイクロプロセッサ22が
右側のDMAを開始させた場合、その開始されたDMA
転送が完了するまで、マイクロプロセッサ22が、バス
28上で別のアクションを実行できないようにしなけれ
ばならない、ということである。
【0038】前述のように、DMAヘッダは、マイクロ
プロセッサ22からの命令を左側DMAエンジン24に
伝達する。この手法(即ち、マイクロプロセッサ22
が、左側DMAエンジン24を直接的にではなく、FI
FOバッファ26を介して間接的に制御するという手
法)は、左側のポートを直接的に制御するという従来の
手法に比較して、幾つかの利点を有している。例えば、
FIFOバッファ26内にデータとともに諸コマンドを
置くと、DMA制御を転送すべきデータと自動的に同期
させることができる。さらに、マイクロプロセッサ22
は、左側が完了するのを待機することなく、左側DMA
エンジン24からの一連のDMAコマンドをFIFOバ
ッファ26の容量の限度まで待ち行列化することができ
る。この結果、主メモリ2aとのデータ転送と並行し
て、通信処理を行うことができる。
【0039】主プロセッサ22内のハードウェアは、左
側DMAエンジン24によって実行されるマイクロチャ
ネルの読み取り及び書き込みを、主メモリ2aの読み取
り及び書き込みにマッピングする。
【0040】アダプタ20が電源オン又はリセットの後
に最初に初期化され、そして左側DMAエンジン24
が、そのFIFOポート26aを連続的に検査して、そ
こに表れる最初のデータがマイクロチャネル上でデータ
転送を実行すべきDMAヘッダであるものと解釈する場
合、左側DMAエンジン24は、最初にマイクロチャネ
ルの「制御権」(mastership)を呈さなければならない
が、これは比較的長い仲裁プロセスを必要とする。アダ
プタ20は、この仲裁の遅れの影響を最小にするように
幾つかのアクションを取る。第1に、FIFOバッファ
26内に一のヘッダが存在すると、左側DMAエンジン
24は、現に制御権を有していないことを条件として、
仲裁プロセスを開始するようにされる。この仲裁プロセ
スは、当該ヘッダがFIFOバッファ26から読み込ま
れる前でさえ開始される。かくて、仲裁プロセスは、F
IFOバッファ26のアクセス時間と重複される。仲裁
に起因する遅れを最小にするための第2のアクションと
して、左側DMAエンジン24は、任意のデータ又はヘ
ッダがFIFOバッファ26内に残っている限り、マイ
クロチャネルの制御権を維持する。左側DMAエンジン
24がこの制御権を放棄するのは、FIFOバッファ2
6が空であるか、又はそのバスの規則が制御権の放棄を
強制する場合だけである。
【0041】FIFOバッファ26内のどの項目がヘッ
ダでありどの項目がデータであるかという点について
は、曖昧さは存在しない。即ち、書き込みDMAの場
合、ヘッダの後には主プロセッサ2に書き込むべきデー
タが続き、そしてこのヘッダは、転送の長さを指定する
ことにより、ヘッダに続いてFIFOバッファ26内に
何ワードのデータが存在するかを指示するからである。
左側DMAエンジン24は、FIFOバッファ26から
指定された量のデータを転送した後、FIFOバッファ
26内の次の項目を新しいヘッダとして解釈する。同様
に、読み取りDMAを要求するヘッダは、単独でありデ
ータを伴わない。読み取りDMAの要求を処理した後、
左側DMAエンジン24は、FIFOバッファ26内の
次の項目を新しいヘッダとして解釈する。
【0042】マイクロプロセッサ22は、その活動を主
プロセッサ2の活動と調整するために、そのDMAのプ
ロセスを監視しなければならない。この動作のための手
段は、アダプタ20上の2つのカウンタ、即ち「DMA
保留中カウンタ」及び「DMA応答カウンタ」によって
提供される。
【0043】DMA保留中カウンタは、FIFOバッフ
ァ26内に幾つの書き込み要求が完了を待機して待ち行
列化されているかを指示する。このカウントは、完全な
一のDMA書き込み要求(例えば、ヘッダ及びこのヘッ
ダ内に指定されているデータの量)がFIFOバッファ
26内に置かれるときに増分される。他方、このカウン
トは、左側DMAエンジン24が一の書き込みを完了す
る度に(例えば、左側DMAエンジン24が一のヘッダ
によって指定されたデータの最後の転送を実行した後
に)減分される。
【0044】DMA応答カウンタは、幾つの完了した読
み取り要求がFIFOバッファ26内で待ち行列化され
てDRAM23又は交換機構3への転送を待機している
かを指示する。このカウントは、マイクロチャネル・デ
ータを対象とする一の読み取り要求が完了する度に(例
えば、DMAヘッダ内で要求された全てのデータがFI
FOバッファ26内に置かれた後に)増分される。DM
A応答カウンタは、決して減分されない。なぜなら、マ
イクロプロセッサ22は、最後にこのカウントを検査し
たときから、このカウントがどれだけ増えたかを決定す
るからである。マイクロプロセッサ22は、DMA保留
中カウンタの減分状況を観察して、書き込みデータがマ
イクロチャネルに転送されつつあることを確認する。他
方、マイクロプロセッサ22は、DMA応答カウンタの
増分状況を観察して、マイクロチャネルから読み取りデ
ータが戻って来つつあることを確認する。
【0045】LHS/RHSブリッジは、マイクロプロ
セッサ22に対し、右側及び左側でDMA転送をどのよ
うに実行するかを制御する能力を提供するだけでなく、
マイクロチャネル・アドレス空間を対象とするプログラ
ム式入出力を実行する能力をも提供する。本発明の主要
な利点の1つは、アダプタ20及び主プロセッサ2で動
作中のソフトウェアに対し、通信タスクを分割して効率
的なプロトコルを開発可能にするという高度な融通性を
与えることである。
【0046】主プロセッサ2は、アダプタ20及び交換
機構インタフェースを含むその機能手段との通信を、ア
ダプタ20上のバス・トランジション機構を介して開始
することができる。このバス・トランジション機構は、
或る範囲のマイクロチャネル・アドレスを、マイクロプ
ロセッサ・バス28のアドレスのサブセットにマッピン
グする。このマッピングにより、主プロセッサ2は、マ
イクロプロセッサ22がアクセス可能なアダプタ20上
の全ての資源(DMAを除く)にアクセスできるように
なる。
【0047】前述のように、マイクロチャネル・バス2
9からマイクロプロセッサ・バス28へのデータ経路
は、FIFOバッファ26内にあるメール・ボックス
(バイパス・レジスタ)26cを使用して、FIFOバ
ッファ26をバイパスする。かくて、これらのアクセス
は、同期的に生ずることになる。FIFOバッファ26
における制御信号が、FIFO経路又はメール・ボック
ス経路の何れを使用すべきかを決定する。主プロセッサ
2がマイクロプロセッサ・バス28へのアクセスを獲得
することを必要とする場合、このバス28がマイクロプ
ロセッサ22又は右側のDMAによって現に使用されて
いることがある。かかる状況では、アダプタ20の論理
は、データがメール・ボックス26c内に転送されてし
まうか(読み取り時)、又はデータがメール・ボックス
26cから転送されてしまうまで(書き込み時)、この
バス28からマイクロプロセッサ22を切断するか、又
はDMAを中断させる。
【0048】マイクロチャネル・バス29の幅が4バイ
トであるのに対し、マイクロプロセッサ・バス28の幅
は8バイトであるので、書き込み中は、マイクロチャネ
ル・バス29のデータをマイクロプロセッサ・バス28
上に逆多重化(demultiplexing)し、読み取り中は、マ
イクロプロセッサ・バス28のデータをマイクロチャネ
ル・バス29上に多重化しなければならない。マイクロ
チャネル・バス29がマイクロプロセッサ・バス28の
上位4バイト又は下位4バイトの何れと通信関係にある
かは、マイクロチャネル・アドレス・ビットの最下位か
ら3番目のビットA<2>によって決定される。A<2
>が高いと、マイクロチャネル・ハ゛ス29は上位4ハ゛イトと通信し、A<2>が
低いと、下位4ハ゛イトと通信する。
【0049】アダプタ20は、データの多重化又は逆多
重化を実行するために2つの代替手段を提供する。これ
らの代替手段は、「モード32」及び「モード64」と
呼ばれ、マイクロプロセッサ・バス28上で実行される
アクセスの数が互いに異なっている。モード32では、
各マイクロチャネル・アクセスごとに、バス28上で1
回のアクセスが生ずる。他方、モード64では、2回の
マイクロチャネル・アクセスごとに、バス28上で1回
のアクセスが生ずる。
【0050】モード64は、一方のバスから他方のバス
に送信される前のデータが、メール・ボックス26c内
に累積されていることを暗示する。モード32は、アダ
プタ20上のDRAM23及びその殆どの内部レジスタ
へのアクセスに便利である。モード32は、交換機構イ
ンタフェース論理の内部にある8バイト幅のFIFOバ
ッファを対象とする読み取り及び書き込みを行うことが
できないので、これらのアクセスについては、モード6
4を使用しなければならない。モード64は、アダプタ
20を対象とする主プロセッサ2のアクセスが、8バイ
ト境界に整列された第1のマイクロチャネル・アドレス
と、これに連続する第2のマイクロチャネル・アドレス
とのペアで実行されることを必要とする。モード32と
モード64との間の選択は、主プロセッサ2がアダプタ
20のために使用するマイクロチャネル・アドレスに基
づいて、主プロセッサ2によって動的に行われる。
【0051】また、主プロセッサ2は、マイクロプロセ
ッサ22がアクセス不能な、アダプタ20上の構成レジ
スタをアクセスすることができる。かかる構成レジスタ
は、アダプタ20を初期化し、アダプタ20に対しマイ
クロチャネルのアドレス可能性を与え、マイクロチャネ
ルに関連する他の機能手段(例えば、パリティ及びマイ
クロチャネルのストリーミング)を選択的にイネーブル
又はディスエーブルするために使用される。
【0052】主メモリ内のFIFOキューの管理 ここでは、主メモリ2a内のFIFOキュー2bの管理
について述べる。図2ないし図7に示すように、主メモ
リ2a内に格納されている2セットのパケットFIFO
キュー(以下「パケットFIFO」又は「FIFO」と
略記)2b1及び2b2についてのDMA動作を使用し
て、交換パケットがアダプタ20との間で移動される。
1セットのパケットFIFOはカーネル用のものであ
り、他のセットのパケットFIFOはユーザ用のもので
ある。
【0053】各セットのパケットFIFOのうち、第1
のFIFOはパケット発信用のものであり、第2のFI
FOはパケット着信用のものである。これらの2つのF
IFOの管理手段は、主プロセッサ2及びマイクロプロ
セッサ22(以下「コプロセッサ」と呼ばれることがあ
る)の間に新規な態様で分散され、これにより優れた利
点が得られる。
【0054】高いレベルで説明すると、送信元の主プロ
セッサ2は、その発信用FIFO内にパケットを移動
し、コプロセッサ22のDRAM23に一のメッセージ
を置いてコプロセッサ22にその旨を通知し、コプロセ
ッサ22は、そのハードウェアを使用してこのパケット
をMSMU27に移動させる。
【0055】主プロセッサ2への着信パケットについて
説明すると、コプロセッサ22は、このパケットが着信
したことを認識し、このパケットのヘッダを調べて、こ
のパケットの移動先を決定し、そのハードウェアを使用
してこのパケットを移動させる。コプロセッサ22上の
DRAM23には、発信用FIFOを反映する制御情報
(例えば、パケットの長さ)が置かれている。
【0056】前述のように、コプロセッサ22と主プロ
セッサ2とは、比較的遅いバス(例えば、マイクロチャ
ネル・バス29)によって分離されている。各プロセッ
サは、それ自体の速い局所バス上にそれ自体の局所メモ
リを有しているが、前記遅いバスを介して、他のプロセ
ッサのメモリをアクセスすることができる。前記遅いバ
スの使用可能なサイクルの殆ど全てをアプリケーション
・データの移動に使用できるように、当該遅いバス上の
不要なトラフィックを避けるために、本発明は、前記遅
いバスを介して行われるポーリング(これは主プロセッ
サ2の性能を低下させるだけでなく、貴重なバンド幅を
利用する)を使用しないFIFO管理方式を採用して、
システム全体の効率を向上させるようにしている。
【0057】本発明に従って、主メモリ2a内にある各
FIFOは、当該FIFOに関連する一のヘッド・ポイ
ンタ及び一のテイル・ポインタを有している。データが
このFIFOに置かれるとき、そのテイル・ポインタが
増分され、他方、このFIFOからデータが取り出され
るとき、そのヘッド・ポインタが増分される。本発明の
設計では、2セットのFIFOとも、アプリケーション
が最も容易に使用することができる主メモリ2a内に格
納されている。しかし、本発明では、ヘッド・ポインタ
及びテイル・ポインタの両方とも、従来のように主メモ
リ2a内に格納するのではなく、ヘッド・ポインタ及び
テイル・ポインタを、主メモリ2a及びコプロセッサ2
2上のDRAM23にそれぞれ分散して格納させること
により、この制御情報を遅いバスを通してポーリングす
るのを回避するようにしている。
【0058】一般に、発信用FIFOの場合、そのテイ
ル・ポインタは、コプロセッサ22の局所メモリ(例え
ば、DRAM23)内に格納され、そのヘッド・ポイン
タは、主プロセッサ2の局所メモリ(例えば、主メモリ
2a)内に格納される。また、主プロセッサ2は、これ
がテイル・ポインタを更新する唯1つのプロセッサであ
るために、テイル・ポインタのキャッシュ・コピーを保
持し、コプロセッサ22は、これがヘッド・ポインタを
更新する唯1つのプロセッサであるために、ヘッド・ポ
インタのキャッシュ・コピーを保持する。
【0059】このFIFOキューは、複数の入力位置を
有するとともに、キュー内のデータの量に依存して、F
IFOのヘッドが1つの位置を指定し、テイルが他の位
置を指定する処の、円形のキューに喩えることができ
る。情報がこのキュー(FIFO)内に置かれると、そ
のテイルが増分され、情報がこのキューから取り出され
ると、そのヘッドが増分される。ヘッド及びテイルに関
する全ての演算は、FIFOのサイズのモジュラスであ
る。
【0060】主プロセッサ2によるデータ送信動作につ
いて説明すると、主プロセッサ2が一のパケットを送信
する準備を完了している場合(例えば、一のパケットが
発信用FIFO内のエントリであって、パケット・フレ
ームに編成されている場合)、主プロセッサ2は、先
ず、その局所メモリ内のヘッド・ポインタをポールし、
それをテイル・ポインタのキャッシュ値と比較して、発
信用FIFO内に空きがあるか否かを決定する(例え
ば、テイル・ポインタ(+2)がヘッド・ポインタと等
しくないか否かを検査する)。もし、発信用FIFO内
に空きがあれば、主プロセッサ2は、このパケットを発
信用FIFOに書き込み、更新されたテイル・ポインタ
をコプロセッサ22の局所メモリに書き込む。コプロセ
ッサ22は、ヘッド・ポインタのキャッシュ値を保持し
ている。コプロセッサ22は、発信パケットをポールす
るために、ヘッド・ポインタのキャッシュ値と、その局
所メモリ内に格納されているテイル・ポインタとを比較
する。着信用FIFOについては、そのテイル・ポイン
タは、主プロセッサ2の局所メモリ(例えば、主メモリ
2a)内に格納され、そのヘッド・ポインタは、コプロ
セッサ22の局所メモリ(例えば、DRAM23)内に
格納され、そして着信パケットの受信動作は、発信パケ
ットの送信動作と対称的である。
【0061】従来の標準的な実現形態では、ヘッド・ポ
インタ及びテイル・ポインタが両方とも主プロセッサ2
の局所メモリ内に格納されていたので、コプロセッサ2
2によるポーリングは比較的遅いバスを介して行われる
ことになり、このため、当該遅いバス上でアプリケーシ
ョン・データとの競合が生じたり、ポーリング遅延の増
加に起因するメッセージ待ち時間が増大する、という問
題があった。かかる問題は、本発明の構造及び方法によ
って解決することができる。
【0062】FIFOの送信動作 コプロセッサ22は、「送信ヘッド」のキャッシュ・コ
ピーを保持しており、これが主メモリ2a内の「送信ヘ
ッド」を更新するときに、そのキャッシュ・コピーを定
期的に更新する。さらに、各パケットには、その長さと
ともに、データの前に、論理ノード番号及び経路番号を
含むダブルワードがあるから、コプロセッサ22上のD
MAエンジンがこのパケットを転送する場合、FIFO
バッファ26内の最初の項目は、このノード番号及び経
路番号となる。コプロセッサ22は、このデータを読み
取り、一のレジスタ内に置くとともに、このデータを使
用して、一のテーブルを探索することにより、キー、ウ
ィンドウ(これはカーネル及びユーザに関連しており、
アダプタ20がデータを置くべき特定のFIFOを識別
可能にする)及びこのパケットの宛先の実(物理)ノー
ド番号を見つける。
【0063】キーは宛先に送信され、そこで当該データ
が正しいソースから到来したことを検証するために使用
される。論理ノード番号は実ノード番号に変換され、次
に、経路を決定するための第2の変換が行われる。
【0064】従って、ユーザがどんなタスク番号を指定
しても、ノード番号及び経路番号の情報は、データが正
しい宛先(ノード)に到着することを保証するか、又は
間違ったタスク番号が指定されている場合には、無効と
マークされる。従って、ユーザは、承認されたアドレス
だけをアクセスできるに過ぎないから、ノードは不正デ
ータを受信することから保護される。
【0065】主プロセッサ2によるデータの「送信」動
作について説明すると、主プロセッサ2は、先ず、「送
信テイル」のキャッシュ・コピー(+2)が、それ自体
の局所メモリ内に格納され且つコプロセッサ22によっ
て更新されている「送信ヘッド」と等しくない(例え
ば、発信用FIFOが一杯でない)か否かを決定する。
もし等しければ、「送信テイル」が「送信ヘッド」に等
しくなくなるまで、従って発信用FIFOが一杯でない
ことが明らかになるまで、ポーリングが内部的に行われ
る(例えば、主プロセッサ2は、「送信ヘッド」を局所
的に読み取り、これを「送信テイル」のキャッシュ・コ
ピーと比較する。主プロセッサ2は、その外部にある比
較的遅いマイクロチャネル・バス29を使用する必要が
ないので、このポーリングは局所的に行われる)。コプ
ロセッサ22が発信用FIFOからデータを取り出す
と、主プロセッサ2は、直ちに(例えば、1トランザク
ション以内に)発信用FIFOには空きがあることを知
るから、ポーリングは非常に速やかに行われ、DMAと
の干渉がない。
【0066】その後、主プロセッサ2は、主メモリ2a
内にある発信用FIFOの「送信テイル」の位置に、デ
ータを移動させる。さらに、論理ノード及び経路が、こ
の発信用FIFOスロット内に移動される。その後、主
プロセッサ2は、コプロセッサ22の局所メモリ内にあ
る長さを更新し、「送信テイル」(そのキャッシュ・コ
ピー及びコプロセッサ22の局所メモリ内にあるバージ
ョンの両方)を更新する。
【0067】コプロセッサ22による「送信」動作につ
いて説明すると、コプロセッサ22は、ポーリングを開
始して、その局所メモリ内にある「送信テイル」を検査
して、発信用FIFOが空でないかを否か決定する。従
って、コプロセッサ22は、キャッシュされた「送信テ
イル」(+1)が「送信ヘッド」と等しいか否かを決定
する。もし等しければ、「送信テイル」(+1)が「送
信ヘッド」に等しくなくなるまで、ポーリングが継続さ
れる。コプロセッサ22は、それ自体の「送信ヘッド」
(及びDMA動作によって主プロセッサ2の「送信ヘッ
ド」)を更新する。このようにすると、主プロセッサ2
は「送信ヘッド」を更新する必要がないので、このプロ
セスは著しく効率の良いものになる。
【0068】その後(送信すべきデータがあると決定さ
れた場合)、コプロセッサ22は、その局所メモリ内の
データの長さ(例えば、この長さは主プロセッサ2によ
ってDRAM23内に置かれている)を読み取り、一の
DMA読み取り要求(DMAヘッダ)をアダプタ20上
のDMAポートに書き込んで、一のDMA読み取り要求
を開始することにより、左側DMAエンジン24に対
し、主プロセッサ2の発信用FIFOからパケットを取
り出し且つこのパケットをFIFOバッファ26に移動
させるように通知する。次に、コプロセッサ22は、デ
ータがFIFOバッファ26内に到着するのを待機す
る。データが到着すると、コプロセッサ22は、直ちに
FIFOバッファ26から論理ノード番号を読み取り、
変換(例えば、ノード、キー、ウィンドウ)を実行する
とともに、一のMSMUヘッダ(ノード、キー、ウィン
ドウ及び長さ)を書き込む。コプロセッサ22は、右側
DMAエンジン25を開始させて、データをFIFOバ
ッファ26からMSMU27に移動させる。その後、コ
プロセッサ22は、「送信ヘッド」のキャッシュ・コピ
ーを増分し、(DMAを介して)主メモリ2a内の「送
信ヘッド」を移動/更新する。
【0069】本発明の重要な特徴の1つは、アダプタ2
0を使用すると、全てのポーリングが(例えば、主プロ
セッサ2又はコプロセッサ22によって)局所的に行わ
れるので、システムがポーリングを行っている間に、バ
スが影響を受けない、ということにある。かくて、本発
明によれば、主としてデータ転送のために使用されるバ
スを、ポーリングのために使用しなくてもよいから、デ
ータ転送が最適化されることになる。さらに、「送信ヘ
ッド」及び「送信テイル」は、主メモリ2a内の位置を
指定するものであるが、コプロセッサ22は、主メモリ
2aまで戻ってデータがどこにあるかを探す必要がな
い。
【0070】FIFOの受信動作 FIFOの受信動作には、一の「受信テイル」及び一の
「受信ヘッド」が使用される。
【0071】先ず、一のパケットがMSMU27に到着
すると、一の受信動作がコプロセッサ22上で開始す
る。コプロセッサ22内のキャッシュされた「受信テイ
ル」が、コプロセッサ22の局所メモリ内にある「受信
ヘッド」と比較される(例えば、着信用FIFOの検査
が行われる)。もし、キャッシュされた「受信テイル」
(+2)が「受信ヘッド」に等しければ、双方が一致し
なくなるまで、ポーリングが局所的に行われる。その
後、コプロセッサ22が読み取ったパケット・ヘッダ
を、ウィンドウ番号並びにキー(及びキー区画識別子)
について検査することにより、タスク/ソースが正しい
か否か、コプロセッサ22がそのノードと交信できるか
否かが決定される。もし、着信パケットのキー(及びキ
ー区画識別子)並びにウインドウ番号と宛先のそれとの
間に一致がなければ、このパケットは廃棄され、不正な
受信が記録される。このウィンドウは、主メモリ2a内
にある2セットのパケットFIFOを区別するために使
用される。
【0072】他方、一致があれば、コプロセッサ22
は、このパケットを主プロセッサ2まで移動させるため
に、(コプロセッサ22内の)長さ及びデータに対する
一のDMA書き込み要求を開始して、右側DMAエンジ
ン25によるMSMU27からFIFOバッファ26ま
でのデータ転送を開始する(この動作は、先に簡述した
代替方法、即ち、長さ及びデータが、コプロセッサ22
及びDMAエンジンの残余部分によって部分的に移動さ
れる、という方法によって有利に行うことができる)。
このようにすると、マイクロチャネル・バス29の一層
の最適化を行うことができる。
【0073】例えば、このパケットがFIFOバッファ
26に到着するのと同時に、(主メモリ2a内にある)
着信用FIFOを検査して、それが一杯でないことが確
認される。従って、キャッシュされた「受信テイル」
(+2)が「受信ヘッド」と比較されて、双方が等しく
ないことが確認される。もし、着信用FIFOが一杯で
あれば、コプロセッサ22において局所的なポーリング
が行われる。ポーリングが行われている間、主プロセッ
サ2は、アダプタ20を通して新しい「受信ヘッド」を
送信することにより、コプロセッサ22内の「受信ヘッ
ド」を更新することができる。
【0074】このデータが着信用FIFOに送信された
後、コプロセッサ22のキャッシュ内にある「受信テイ
ル」が更新/増分され、この「受信テイル」がDMAを
介して主プロセッサ2まで転送される。かかる「受信ヘ
ッド」及び「受信テイル」は、主メモリ2a内の着信用
FIFOを参照し、そしてコプロセッサ22は、どのパ
ケットが主メモリ2a内に置かれるかを制御している。
主プロセッサ2は、どのパケットが主メモリ2a(FI
FO)から取り出されるかを制御する。主プロセッサ2
は、着信用FIFOが一のパケットを全体として受信し
且つこのパケットが読み取りのために利用可能であると
いう通知を与えられるまで、このパケットを読み取らな
い。従って、一のパケットが存在するか否かを見出すた
めに、マイクロチャネルを通してポーリングをする必要
はないが、その代わりに、局所的なポーリングを行って
局所メモリ(例えば、コプロセッサ22のDRAM23
又は主プロセッサ2内の主メモリ2a)を調べるだけで
よい。
【0075】前記の送信及び受信動作は、理解を簡単に
するために、順次的な動作として記述したが、FIFO
バッファ26を使用する送信及び受信動作は、並列的に
行うことができ、従ってこれらの動作のインターリーブ
が介在することがある。実際、本発明の構造では、一の
送信動作の中途で別のパケットを受信することが可能に
なり、その逆も同様である。
【0076】主プロセッサ2の受信動作 主プロセッサ2の受信動作について、主プロセッサ2
は、その「受信テイル」をキャッシュされた「受信ヘッ
ド」(例えば、主プロセッサ2のキャッシュ内に格納さ
れている)と比較する。もし、「受信テイル」(+1)
がキャッシュされた「受信ヘッド」に等しくなければ、
プロセスは後述のように続く。さもなければ、「受信テ
イル」(+1)がキャッシュされた「受信ヘッド」に等
しくなくなるまで、局所的なポーリングが行われる。そ
の後、主プロセッサ2は、データの長さ(この長さデー
タはコプロセッサ22の局所メモリ内に格納されてい
る)を読み取り、データが着信用FIFOから除去され
る。主プロセッサ2は、そのキャッシュ内及びコプロセ
ッサ22の局所メモリ内にある「受信ヘッド」を増分/
更新する。
【0077】本発明によって可能になる前述の動作の主
な利点は、主プロセッサ2もコプロセッサ22も、比較
的遅いマイクロチャネル・バス29を通してポーリング
を行う必要がないことである。その代わりに、それぞれ
のメモリ内で局所的なポーリング(例えば、内部的に調
べること)が行われる。これにより、一層効率の良いシ
ステムが得られるという利点がある。
【0078】エラー検出 データ・パリティ及び巡回冗長検査(以下「CRC」と
略記)コード生成の独特の組み合わせは、交換機構3と
マイクロチャネルとの間に高信頼性のデータ経路を提供
する。
【0079】図8を参照するに、アダプタ20は、マイ
クロチャネル上のパリティ生成/検査回路50を含んで
いる。パリティは、後述のように生成及び検査される。
単一のビットが、スレーブ及びマスタの、アドレス及び
データに関する全てのパリティ検査をイネーブル/ディ
スエーブルする。パリティは、マイクロプロセッサ22
又はMSMU27によってサポートされていない。マイ
クロプロセッサ22又はMSMU27がデータのソース
になる場合、パリティは、それらのデータ・バス上で生
成され、その宛先のパリティ生成/検査回路50によっ
て検査される。マイクロチャネルがパリティを生成する
とき、そのパリティは、マイクロプロセッサ22のデー
タ・バスの直前で検査される。FIFOバッファ26
は、パリティ検査されたデータ経路の一部を構成する。
アドレス・パリティは、スレーブ・アクセスの場合は復
号時に検査され、そして主プロセッサ2のマイクロチャ
ネル・アーキテクチャで指定されているように、パリテ
ィが正しくなければ、アダプタ20はマイクロチャネル
に応答を返さない(CD SFDBKは非活動のままで
ある)。また、マイクロプロセッサ・バス28上では、
如何なるサイクルも開始されない。
【0080】マイクロチャネルの仕様書で規定されてい
るように、マイクロチャネルのスレーブの書き込み時に
は、イネーブル信号が活動的になっているバイトだけが
検査される。マスタ・アクセスに関しては、データ・パ
リティと同様に、マイクロチャネルのアドレス・パリテ
ィが、マイクロプロセッサ・バス28上で生成され、そ
して宛先において、マイクロチャネル上の主プロセッサ
2のパリティ検査回路によって検査される。マイクロプ
ロセッサ・バス28上のアドレス(例えば、右側DMA
エンジン25によって生成されたアドレス)は、マイク
ロプロセッサ22又はMSMU27によって検査されな
い。
【0081】アダプタ20は、MSMU27の各メッセ
ージ・パケットについてCRCコードを生成し且つその
検査を行う。CRCコードは、パケット・ヘッダ、経路
指定情報(ノード識別子)及びメッセージ本体をカバー
することが望ましい。
【0082】アダプタ20のCRC(例えば、エラー検
出アルゴリズム)は、FIFO Bのデータ・バス上の
データを監視して、CRCコード(16ビットが望まし
い)を生成する。アダプタ20は、マイクロチャネルか
らFIFO Bバスまでのデータについてパリティ検査
を行い、FIFO Bバスから交換機構3までのデータ
についてCRC検査を行う。これにより、マイクロチャ
ネルと交換機構3との間で授受される(両方向の)デー
タに対して完全なエラー検出が行われる。
【0083】CRC生成/検査回路51は、2つのアク
セス可能なレジスタ(例えば、アダプタ20の初期化の
ときにコードによってセットされるノード識別子レジス
タ、及び一のパケット・ヘッダが送信又は受信される前
の時点でプリセットされるCRC検査レジスタ)を含ん
でいる。1つの実施例では、エラー検出を次のように行
うのが望ましい。
【0084】MSMU27のパケット送信時には、マイ
クロプロセッサ22は、4バイトのパケット・ヘッダを
MSMU27のヘッダ・レジスタに書き込み、さらに、
宛先のノード識別子をダブルワードの上位部に置く。こ
のノード識別子は、MSMU27によって無視される
が、CRC生成/検査回路51で使用される。
【0085】次に、マイクロプロセッサ22は、経路指
定情報をMSMU27のデータ・レジスタに書き込む。
このダブルワードはCRC生成/検査回路51によって
無視される。マイクロプロセッサ22は、メッセージ・
パケット本体をMSMU27のデータ・レジスタへ書き
込む動作を開始する。このメッセージ本体は、マイクロ
プロセッサ22又はDMAによって直接書き込まれる
か、或いはマイクロプロセッサ22及びDMAの組み合
わせによって書き込まれる。CRC生成/検査回路51
は、CRC検査レジスタに転送される全てのメッセージ
・データをコード化する。次に、マイクロプロセッサ2
2は、CRC検査レジスタを読み取り、検査ビットをM
SMU27のトレーラ・レジスタのバイト0及び1に書
き込む。これらの2つのバイトは、このパケット内の最
後のバイトでなければならない。
【0086】MSMU27のパケット受信時には、マイ
クロプロセッサ22は、4バイトのパケット・ヘッダを
MSMU27のヘッダ・レジスタから読み取る。CRC
生成/検査回路51は、そのノード識別子レジスタの内
容を、CRC検査用のダブルワードの上位部に挿入す
る。もし、受信中のアダプタ20のノード識別子レジス
タが、パケットを送信するときに使用された宛先ノード
識別子と一致しなければ、CRCエラーが生ずる。この
ことが生ずるのは、例えば、経路指定情報が消失し、こ
のパケットが間違ったノードに到着するような場合であ
る。
【0087】次に、マイクロプロセッサ22は、メッセ
ージ・パケット本体をMSMU27のデータ・レジスタ
から読み取る動作を開始する。メッセージ本体は、マイ
クロプロセッサ又はDMAによって直接読まれるか、或
いはマイクロプロセッサ22及びDMAの組み合わせに
よって読み取られる。CRC生成/検査回路51は、転
送された全てのメッセージ・データを検査する。
【0088】次に、マイクロプロセッサ22は、MSM
U27のトレーラ・レジスタからトレーラを読み取る。
マイクロプロセッサ22は、CRC検査レジスタを読み
取って、受信されたものにエラーがあるか否かを検査す
る。エラーが検出された場合は、パケットは廃棄すべき
である。
【0089】アダプタ20のパリティ・エラーについて
は、アダプタ20がパリティ・エラーを検出すると、C
RCレジスタは、CRC検査レジスタの次の読み取りま
で、或る固定値に強制される。このようにすると、送信
が進行中であり且つトレーラの読み取りの間に送信ノー
ドがパリティ・エラーを検出したときに、受信ノード上
にCRCエラーが生ずることが保証される。もし、受信
ノードがCRCエラーを検出し、そしてトレーラCRC
が送信の際にパリティ・エラーが検出されたときに送信
された固定値であれば、送信ノードは、パリティ・エラ
ーを有していた蓋然性が高いことになる。この場合を除
き、通常は、CRCコードがトレーラCRCを調べる必
要はない。
【0090】勿論、本発明の範囲で他の方法を使用して
も同じ結果を得ることができるので、前記の実施例は代
表的なものであるに過ぎない。
【0091】さらに、図9を参照すると、そこには、ク
ロックの消失を検出して、主プロセッサ2のハングアッ
プを防止するように構成された本発明のクロック故障検
出回路が示されている。
【0092】一般に、アダプタ20(並びに、本システ
ム及び交換機構3で使用される複数のアダプタの全て)
のためのクロックは、交換機構3を通って主プロセッサ
2に至るデータの同期を取るために、単一のソース・ク
ロックによって提供されている。もし、このソース・ク
ロックが失われることになれば、アダプタ20は、マイ
クロチャネルをハングアップさせ、その結果として、こ
のノードの全体をハングアップさせることがある。図9
に示されているように、本発明のクロック故障検出回路
は、1対のカウンタ61及び62を走行させる一の発振
器を構築するための論理を使用している。これらのカウ
ンタ61及び62は、ソース・クロックが生成する予定
の波形(例えば、矩形)の高いレベル及び低いレベルに
より交互にリセットされる。一のクロックが消失する
と、少なくとも1つのカウンタが最終カウントに達し
て、アダプタ20の残余部分がリセット状態に維持され
る。この結果、マイクロチャネル・バス29のエラーが
生ぜられ、これをソフトウェアが検出し、次にプログラ
マブル・オプション・セレクト(POS)レジスタを使
用してアダプタ20を調べることにより、クロックが消
失しているか否かを確認することができる。
【0093】本発明のクロック故障検出回路を一層詳細
に説明すると、クロックは、外部ソースからデータとと
もに到来する。クロックが停止されることもあり、その
場合には、主プロセッサ2が無期限にハングアップする
ことがある。幾つかのシナリオが考えられるが、従来の
システムでは全て難問であった。本発明のクロック故障
検出回路によれば、かかる状態を未然に防止することが
できるようになる。
【0094】アダプタ20がスレーブとして機能するマ
イクロチャネル転送については、既に説明した。このス
レーブ・モードでは(例えば、アダプタ20が主プロセ
ッサ2に対してスレーブとして機能する場合)、主プロ
セッサ2が、一のアドレスをマイクロチャネル・バス2
9上に置くことによって、読み取り又は書き込み動作を
開始する。次に、(前記マイクロチャネルの仕様書で規
定されている)一連のハンドシェイク信号の交換が行わ
れて、データ転送が実行される。もし、クロックが存在
しなければ、データ転送は、開始可能であっても決して
終了しないから、マイクロチャネルがハングアップし
て、主プロセッサ2も(適正なハンドシェイクが生じな
いために)決して終了しないことになる。
【0095】本発明によれば、もし、アダプタ20上に
クロックがなければ、アダプタ20がリセットされる
(従って、サイクルが開始することを許容しない)か
ら、主プロセッサ2はハングアップしないのである。
【0096】同様に、もし、動作が一のトランザクショ
ン・サイクルの真ん中にあり、そのときクロックが故障
すれば、アダプタ20がリセットされて、そのトランザ
クションが直ちに終了させられる。主プロセッサ2はこ
のような状態をエラーであると認識し、かかるエラーを
記録するとともに、回復処理に進む(例えば、クロック
が存在しないことを指示するPOSレジスタを調べ
る)。
【0097】主プロセッサ2は、スレーブとマスタとの
間で行われる全てのマイクロチャネル動作を指示するハ
ンドシェイク信号を通して、このトランザクション・サ
イクルの終了を知ることができる。これらのハンドシェ
イク信号は、伝送用クロックに依存せず、アダプタ20
がリセットするときに、それぞれのデフォルト状態に駆
動することができる。
【0098】前述のように、本発明の特徴の1つは、ア
ダプタ20が主プロセッサ2に対してマスタとしてもス
レーブとしても動作可能であることである。アダプタ2
0がマスタとして動作するとき、クロックが故障する
と、アダプタ20がリセットされる際にハンドシェイク
信号をそれぞれのデフォルト状態(例えば、バスがハン
グアップしない状態)に駆動することによって、サイク
ルが直ちに終了される。主プロセッサ2は、このサイク
ルが異常状態に起因して終了されたことを認識し、かか
るエラーを記録するとともに、回復処理に進む。
【0099】図9を参照するに、本発明のクロック故障
検出回路は、第1及び第2のカウンタ61、62を含
み、その各々は、外部クロックから独立した内部(局
所)クロックによってクロックされ、そして外部クロッ
クによってリセットされる。第1及び第2のカウンタ6
1、62の各々の終了カウント信号は、ORゲート63
に結合されている。第1及び第2のカウンタ61、62
の各々の終了カウント値は、外部クロック・ソースより
も大きい周波数にそれぞれセットされている。第1のカ
ウンタ61が低いリセット・レベルを有するのに対し、
第2のカウンタ62は高いリセット・レベルを有する。
外部クロックは、アダプタ20のリセットに結合されて
いる。もし、外部クロックが誤動作して「高い」レベル
になれば、第1のカウンタ61が終了カウント値に達す
る。他方、外部クロックが誤動作して「低い」レベルに
なれば、第2のカウンタ62が終了カウント値に達す
る。この機構が設けられているのは、外部クロックがど
のように誤動作するのかが未知であり、2つのカウンタ
61、62を設けると、両方の状況に対応できるからで
ある。同じ理由で、もし、外部クロックが正常に動作し
ていれば、第1及び第2のカウンタ61、62がそれぞ
れの終了カウント値までカウントするよりも前に、外部
クロックが両カウンタをリセットする。もし、両カウン
タがそれぞれの終了カウント値に達するのであれば、外
部クロックは、非常に遅く動作しているか、又は完全に
停止しているかの何れかである。
【0100】ORゲート63の出力は、クロックが故障
しても、マイクロチャネルがハングアップ状態に放置さ
れないように、リセット状態をアダプタ20に伝達する
ためのリセット伝達手段64に結合され、さらにORゲ
ート63の出力は、アダプタ20の状態を記録するため
の手段にも結合されている。かくて、アダプタ20をリ
セットするためと、POSレジスタに入力するためのド
ライバが提供されている。具体的には、POSレジスタ
内の「リセット」ビット及び「クロック」ビットがセッ
トされる。
【0101】かくて、第1のカウンタ61又は第2のカ
ウンタ62が終了カウント値に達すると、アダプタ20
がリセットされ、POSレジスタ内に「ノー・クロッ
ク」が記録される。もし、アダプタ20がリセットされ
るのであれば、POSレジスタ内に「ノー・クロック」
を記録することを除いて、如何なるスレーブ・アクセス
も行うことができない。さらに、アダプタ20がリセッ
トされているので、如何なるマスタ・アクセスも開始さ
れない。進行中の任意のスレーブ又はマスタ・アクセス
も直ちに終了される。主プロセッサ2によるPOSレジ
スタのアクセスは、クロックを必要としないから、主プ
ロセッサ2は、クロックが故障した場合でも、POSレ
ジスタをアクセスしてクロックに何が起こったかを決定
することができる。
【0102】かくて、本発明によれば、主プロセッサ2
はハングアップすることがない。さらに、本発明は、バ
ス上の状態を変えることができるという点で新規な構造
を有するものである。
【0103】
【発明の効果】以上のように、本発明のクロック故障検
出回路によれば、データ転送中にクロックが故障したと
きでも、主プロセッサの無期限のハングアップ状態を防
止することができる。
【図面の簡単な説明】
【図1】プロセッサと交換機構との間に設けられたアダ
プタの全体的な配置関係を示す図である。
【図2】アダプタの構造を一層詳細に示す図である。
【図3】主メモリ内に複数セットのパケットFIFOを
含む、本発明のシステムを示す図である。
【図4】本発明のコプロセッサ及び主プロセッサによっ
て行われる送信動作及び受信動作と、主プロセッサのパ
ケットFIFOの管理を示すフローチャートである。
【図5】本発明のコプロセッサ及び主プロセッサによっ
て行われる送信動作及び受信動作と、主プロセッサのパ
ケットFIFOの管理を示すフローチャートである。
【図6】本発明のコプロセッサ及び主プロセッサによっ
て行われる送信動作及び受信動作と、主プロセッサのパ
ケットFIFOの管理を示すフローチャートである。
【図7】本発明のコプロセッサ及び主プロセッサによっ
て行われる送信動作及び受信動作と、主プロセッサのパ
ケットFIFOの管理を示すフローチャートである。
【図8】本発明のアダプタにより転送されるデータの完
全性を保証するための構造、具体的には、パリティ・エ
ラー及びCRCエラーを検出するための構造を示す図で
ある。
【図9】本発明のクロック故障検出回路を示す図であ
る。
【符号の説明】
1、20 アダプタ 2 主プロセッサ 3 高性能パケット交換機構 21 マイクロチャネル・インタフェース 29 マイクロチャネル・バス 63 ORゲート 64 リセット伝達手段
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭60−37815(JP,A) 特開 平4−324568(JP,A) 特公 平3−46854(JP,B2) 欧州公開133574(EP,A2) (58)調査した分野(Int.Cl.6,DB名) G06F 15/16

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】 主プロセッサのチャネルと交換機構との
    間に結合されたアダプタ用のクロック故障検出回路であ
    って、 (a)前記交換機構内に設けられ、前記アダプタに結合
    された出力を有し、第1の状態及び第2の状態を有する
    外部クロック信号を生成するスイッチ・クロックと、 (b)前記アダプタ内に設けられたカウント機構とを備
    え、 前記カウント機構は、 前記外部クロック信号が前記第1の状態から前記第2の
    状態に遷移するのを検出するように、前記スイッチ・ク
    ロックの前記出力に接続された第1の入力を有し、前記
    第2の状態への遷移を検出するのに応答して、初期値か
    ら終了値までのカウント動作を開始し、該終了値に達す
    るのに応答してリセット信号を生成するための出力を有
    する第1のカウンタと、 前記外部クロック信号が前記第2の状態から前記第1の
    状態に遷移するのを検出するように、前記スイッチ・ク
    ロックの前記出力に接続された第2の入力を有し、前記
    第1の状態への遷移を検出するのに応答して、初期値か
    ら終了値までのカウント動作を開始し、該終了値に達す
    るのに応答してリセット信号を生成するための出力を有
    する第2のカウンタとを含み、 前記第1及び第2のカウンタの周波数は、前記外部クロ
    ック信号の一の遷移が消失するときに前記カウンタが前
    記終了値に達することができるように、前記外部クロッ
    ク信号の周波数よりも大きくされており、 (c)さらに、前記第1及び第2のカウンタの前記出力
    に結合され、前記リセット信号に応答して前記アダプタ
    をリセットするためのリセット手段と、 (d)前記リセット手段と前記チャネルとの間に結合さ
    れ、前記外部クロック信号の一の遷移が消失するときに
    前記チャネルがハングアップ状態に放置されないよう
    に、前記アダプタのリセット状態を前記チャネルに伝達
    するためのリセット伝達手段とを備えたことを特徴とす
    る、前記クロック故障検出回路。
JP7013992A 1994-04-05 1995-01-31 クロック故障検出回路 Expired - Lifetime JP2802043B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/222,813 US5471488A (en) 1994-04-05 1994-04-05 Clock fault detection circuit
US222813 1998-12-30

Publications (2)

Publication Number Publication Date
JPH07282025A JPH07282025A (ja) 1995-10-27
JP2802043B2 true JP2802043B2 (ja) 1998-09-21

Family

ID=22833804

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7013992A Expired - Lifetime JP2802043B2 (ja) 1994-04-05 1995-01-31 クロック故障検出回路

Country Status (4)

Country Link
US (1) US5471488A (ja)
EP (1) EP0676695B1 (ja)
JP (1) JP2802043B2 (ja)
DE (1) DE69505871T2 (ja)

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6050943A (en) * 1997-10-14 2000-04-18 Guided Therapy Systems, Inc. Imaging, therapy, and temperature monitoring ultrasonic system
US6029253A (en) * 1997-10-30 2000-02-22 Micron Electronics, Inc. Method for synchronizing data with a bi-directional buffer
US6055597A (en) * 1997-10-30 2000-04-25 Micron Electronics, Inc. Bi-directional synchronizing buffer system
US5884101A (en) * 1998-04-17 1999-03-16 I-Cube, Inc. Apparatus for detecting data buffer faults
US6718282B1 (en) * 1999-10-20 2004-04-06 Cisco Technology, Inc. Fault tolerant client-server environment
US6629257B1 (en) * 2000-08-31 2003-09-30 Hewlett-Packard Development Company, L.P. System and method to automatically reset and initialize a clocking subsystem with reset signaling technique
US7914453B2 (en) * 2000-12-28 2011-03-29 Ardent Sound, Inc. Visual imaging system for ultrasonic probe
US6691181B2 (en) * 2001-10-09 2004-02-10 Phillip M. Adams Programmatic time-gap defect detection apparatus and method
US7472207B2 (en) * 2001-10-09 2008-12-30 Aftg-Tg, L.L.C. Optimized-incrementing, time-gap defect detection apparatus and method
JP4547198B2 (ja) * 2004-06-30 2010-09-22 富士通株式会社 演算装置、演算装置の制御方法、プログラム及びコンピュータ読取り可能記録媒体
US7824348B2 (en) 2004-09-16 2010-11-02 Guided Therapy Systems, L.L.C. System and method for variable depth ultrasound treatment
US8535228B2 (en) 2004-10-06 2013-09-17 Guided Therapy Systems, Llc Method and system for noninvasive face lifts and deep tissue tightening
US8444562B2 (en) 2004-10-06 2013-05-21 Guided Therapy Systems, Llc System and method for treating muscle, tendon, ligament and cartilage tissue
US10864385B2 (en) 2004-09-24 2020-12-15 Guided Therapy Systems, Llc Rejuvenating skin by heating tissue for cosmetic treatment of the face and body
US20060111744A1 (en) * 2004-10-13 2006-05-25 Guided Therapy Systems, L.L.C. Method and system for treatment of sweat glands
US9827449B2 (en) 2004-10-06 2017-11-28 Guided Therapy Systems, L.L.C. Systems for treating skin laxity
US8690779B2 (en) 2004-10-06 2014-04-08 Guided Therapy Systems, Llc Noninvasive aesthetic treatment for tightening tissue
US11883688B2 (en) 2004-10-06 2024-01-30 Guided Therapy Systems, Llc Energy based fat reduction
US9694212B2 (en) 2004-10-06 2017-07-04 Guided Therapy Systems, Llc Method and system for ultrasound treatment of skin
US7758524B2 (en) * 2004-10-06 2010-07-20 Guided Therapy Systems, L.L.C. Method and system for ultra-high frequency ultrasound treatment
US11235179B2 (en) 2004-10-06 2022-02-01 Guided Therapy Systems, Llc Energy based skin gland treatment
US8133180B2 (en) 2004-10-06 2012-03-13 Guided Therapy Systems, L.L.C. Method and system for treating cellulite
KR101142108B1 (ko) * 2004-10-06 2012-05-08 가이디드 테라피 시스템스, 엘.엘.씨. 피부 표층조직의 제어된 열치료 시스템
US11724133B2 (en) 2004-10-07 2023-08-15 Guided Therapy Systems, Llc Ultrasound probe for treatment of skin
US11207548B2 (en) 2004-10-07 2021-12-28 Guided Therapy Systems, L.L.C. Ultrasound probe for treating skin laxity
US20060079868A1 (en) * 2004-10-07 2006-04-13 Guided Therapy Systems, L.L.C. Method and system for treatment of blood vessel disorders
JP4695188B2 (ja) * 2005-04-25 2011-06-08 アーデント サウンド, インコーポレイテッド コンピュータ周辺機器の安全性を向上させるための方法および装置
FR2891069B1 (fr) * 2005-09-16 2007-11-09 Thales Sa Procede de controle du bon fonctionnement d'un calculateur
WO2008036773A1 (en) * 2006-09-19 2008-03-27 Guided Therapy Systems, Llc Method and system for treating muscle, tendon, ligament and cartilage tissue
US20150174388A1 (en) 2007-05-07 2015-06-25 Guided Therapy Systems, Llc Methods and Systems for Ultrasound Assisted Delivery of a Medicant to Tissue
US9216276B2 (en) 2007-05-07 2015-12-22 Guided Therapy Systems, Llc Methods and systems for modulating medicants using acoustic energy
ES2927873T3 (es) 2008-06-06 2022-11-11 Ulthera Inc Sistema y procedimiento para tratamiento cosmético y formación de imágenes
CA2748362A1 (en) 2008-12-24 2010-07-01 Michael H. Slayton Methods and systems for fat reduction and/or cellulite treatment
US20110041128A1 (en) * 2009-08-13 2011-02-17 Mathias Kohlenz Apparatus and Method for Distributed Data Processing
US8762532B2 (en) * 2009-08-13 2014-06-24 Qualcomm Incorporated Apparatus and method for efficient memory allocation
US8788782B2 (en) 2009-08-13 2014-07-22 Qualcomm Incorporated Apparatus and method for memory management and efficient data processing
US9038073B2 (en) * 2009-08-13 2015-05-19 Qualcomm Incorporated Data mover moving data to accelerator for processing and returning result data based on instruction received from a processor utilizing software and hardware interrupts
US8715186B2 (en) * 2009-11-24 2014-05-06 Guided Therapy Systems, Llc Methods and systems for generating thermal bubbles for improved ultrasound imaging and therapy
EP2600937B8 (en) 2010-08-02 2024-03-06 Guided Therapy Systems, L.L.C. Systems for treating acute and/or chronic injuries in soft tissue
US9510802B2 (en) 2012-09-21 2016-12-06 Guided Therapy Systems, Llc Reflective ultrasound technology for dermatological treatments
CN104027893B (zh) 2013-03-08 2021-08-31 奥赛拉公司 用于多焦点超声治疗的装置和方法
WO2014146022A2 (en) 2013-03-15 2014-09-18 Guided Therapy Systems Llc Ultrasound treatment device and methods of use
EP3084648B1 (en) 2013-12-18 2019-06-12 NXP USA, Inc. Storage element with monitoring circuit and corresponding method
BR112016023889B1 (pt) 2014-04-18 2023-02-07 Ulthera, Inc Sistema de transdução de ultrassom para ultrassom de focagem linear
DK3405294T3 (da) 2016-01-18 2023-03-13 Ulthera Inc Kompakt ultralydsanordning med ringformet ultralydsmatrice med periferisk elektrisk tilslutning til fleksibel printplade
EP3981466B9 (en) 2016-08-16 2023-10-04 Ulthera, Inc. Systems and methods for cosmetic ultrasound treatment of skin
US10691519B2 (en) * 2016-09-15 2020-06-23 International Business Machines Corporation Hang detection and recovery
WO2019164836A1 (en) 2018-02-20 2019-08-29 Ulthera, Inc. Systems and methods for combined cosmetic treatment of cellulite with ultrasound

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5435728B2 (ja) * 1973-09-18 1979-11-05
US3942125A (en) * 1975-01-08 1976-03-02 Gte Automatic Electric Laboratories Incorporated Digital repetition rate check circuit
US4229816A (en) * 1979-05-29 1980-10-21 Redcom Laboratories, Inc. Timing signal generation and distribution system for TDM telecommunications systems
US4920540A (en) * 1987-02-25 1990-04-24 Stratus Computer, Inc. Fault-tolerant digital timing apparatus and method
JPS59114652A (ja) * 1982-12-21 1984-07-02 Nissan Motor Co Ltd ウォッチドッグ・タイマ回路
JPS6037815A (ja) * 1983-08-09 1985-02-27 Nec Corp クロツク検出回路
US4686677A (en) * 1985-08-02 1987-08-11 Unisys Corporation Apparatus and method for detecting time-related faults
US4691126A (en) * 1985-08-29 1987-09-01 Sperry Corporation Redundant synchronous clock system
US4800564A (en) * 1986-09-29 1989-01-24 International Business Machines Corporation High performance clock system error detection and fault isolation
US5020024A (en) * 1987-01-16 1991-05-28 Stratus Computer, Inc. Method and apparatus for detecting selected absence of digital logic synchronism
GB2205019A (en) * 1987-05-20 1988-11-23 Planet Technology Ltd Electronic alarm unit
US4864574A (en) * 1988-02-04 1989-09-05 Rockwell International Corporation Injection lock clock detection apparatus
US5081629A (en) * 1989-05-08 1992-01-14 Unisys Corporation Fault isolation for multiphase clock signals supplied to dual modules which are checked by comparison using residue code generators
JPH0346854A (ja) * 1989-07-14 1991-02-28 Iwatsu Electric Co Ltd 電話機
US4972414A (en) * 1989-11-13 1990-11-20 International Business Machines Corporation Method and apparatus for detecting oscillator stuck faults in a level sensitive scan design (LSSD) system
US5180935A (en) * 1990-11-09 1993-01-19 Motorola, Inc. Digital timing discriminator
US5313476A (en) * 1991-06-28 1994-05-17 International Business Machines Corporation Clock security ring
US5377187A (en) * 1991-09-03 1994-12-27 Motorola, Inc. Addressing method and apparatus for a data conveyance modular network
US5301171A (en) * 1993-06-01 1994-04-05 Honeywell Inc. Cross-monitored pair of clocks for processor fail-safe operation

Also Published As

Publication number Publication date
JPH07282025A (ja) 1995-10-27
EP0676695A2 (en) 1995-10-11
EP0676695A3 (en) 1996-02-28
EP0676695B1 (en) 1998-11-11
DE69505871T2 (de) 1999-07-01
DE69505871D1 (de) 1998-12-17
US5471488A (en) 1995-11-28

Similar Documents

Publication Publication Date Title
JP2802043B2 (ja) クロック故障検出回路
JP2654369B2 (ja) プロセッサ・チャネル及び交換機構の間に設けられたアダプタ装置
US5448558A (en) Method and apparatus for managing packet FIFOS
JP4499420B2 (ja) スーパーチャージメッセージ交換装置
KR100555394B1 (ko) Ngio/infiniband 어플리케이션용 리모트 키검증을 위한 방법 및 메커니즘
US6061274A (en) Methods and apparatus for message transfer in computer storage system
US6675253B1 (en) Dynamic routing of data across multiple data paths from a source controller to a destination controller
JP3689345B2 (ja) 別個のデータ転送部、およびバス調停機能を備えたメッセージ・ネットワークを有するデータ記憶システム
JP3210880B2 (ja) 遠隔メモリ間でデータを移動する回路、およびそのような回路を含む計算機
JP3288712B2 (ja) コンテキストデータ検索用のリンクキャッシュ
US20040044877A1 (en) Computer node to mesh interface for highly scalable parallel processing system
US7043612B2 (en) Compute node to mesh interface for highly scalable parallel processing system and method of exchanging data
JPH11502341A (ja) プロセッサ間のデータ伝送用のリンクプロトコル
EP0676697A1 (en) Message data error detection circuit
JP3141948B2 (ja) 計算機システム
JPH0661074B2 (ja) アクセス制御装置、バスの遊休時間を最小化する方法、dma制御装置、及びdmaデータ転送方法
EP1506488A1 (en) Data transfer unit with support for multiple coherency granules
JP3450392B2 (ja) インタフェース装置及び周辺機器
JPH06131246A (ja) 共有メモリの非同期アクセス方式
JPH11120018A (ja) ストアバッファ制御方式