JPH07282025A - クロック回路 - Google Patents

クロック回路

Info

Publication number
JPH07282025A
JPH07282025A JP7013992A JP1399295A JPH07282025A JP H07282025 A JPH07282025 A JP H07282025A JP 7013992 A JP7013992 A JP 7013992A JP 1399295 A JP1399295 A JP 1399295A JP H07282025 A JPH07282025 A JP H07282025A
Authority
JP
Japan
Prior art keywords
main processor
adapter
data
bus
fifo
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP7013992A
Other languages
English (en)
Other versions
JP2802043B2 (ja
Inventor
Carl A Bender
カール・エイ・ベンダー
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

Abstract

(57)【要約】 【目的】 メインプロセッサ・メモリとパケット交換機
構との間にデータを転送するための装置。 【構成】 上記装置は、(1)メインプロセッサ・メモリ
に結合された第1バスと、(2)第1バスと第2のバスと
の間に結合され、第1バスに接続された第1ポートと第
2バスに接続された第2ポート、第2バスに結合された
通信プロセサ、第2バスに結合されたメモリとを持つ双
方向FIFOバッファと、(3)メインプロセッサとFI
FOバッファとの間にデータを転送するための、第1バ
スとFIFOバッファとの間に結合された第1のDMA
エンジンと、(4)FIFOバッファと第2バスとの間に
データを転送するために両者の間に結合された第2のD
MAエンジンと、(5)第2バスとパケット交換機構とを
インターフェースさせるために両者の間に結合されたパ
ケット交換インターフェースとを含む。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、高性能パケット交換機
構とメインプロセッサとの間の通信リンクを提供する装
置に関し、具体的には、メインプロセッサのファースト
・イン・ファースト・アウト(FIFO)バッファ管理
方法の改良、エラー検出回路、および、クロック・エラ
ー検出回路の改良に関する。
【0002】
【従来の技術】並列処理システムにおいては、そのシス
テム性能は、プロセッサ性能と通信性能とに依存する。
通信性能は非常に重要なものであるが、それは2つの要
素に分けられる。すなわち、待ち時間とバンド幅であ
る。効率的な通信サブシステムをつくるためには、両方
の要素が最適化されなければならない。
【0003】従来のシステムにおいては、メインプロセ
ッサ(たとえば、IBM RISC System/6000または同様のシ
ステム)と高性能交換機構との間に、たとえばアダプタ
のような装置が使われてきた。しかし、これらのアダプ
タは、データが比較的遅いバスを移動するときに、メイ
ンプロセッサが常に関わる必要があった。したがって、
データの転送が行われているときには、メインプロセッ
サは他のタスクを実行することができなかった。これ
は、メインプロセッサの性能を最適化できないという問
題がある。
【0004】前記の問題を解決するために、アダプタに
コプロセッサ機構を用いている従来のシステムがある
が、ここでの問題は、メインプロセッサとコプロセッサ
機構との間の比較的遅いバスに、余計なトラフィックが
流れることであった。そのため、そのバスで使用可能な
サイクルのすべてをアプリケーション・データを移動す
るのに使うことができなかった。これは、システムの通
信効率を下げる。
【0005】さらに、従来のシステムは比較的遅いバス
を使って、メインプロセッサからコプロセッサへ、およ
びその逆の方向に、通信タスクのためのポリングを行っ
ており、このため、メインプロセッサの性能を落とし、
貴重なバンド幅を使い、これにより、バス上でアプリケ
ーション・データとコンテンションを起こし、メッセー
ジの待ち時間が増え、メッセージのバンド幅が減り、シ
ステム全体の効率を下げることにつながっていた。これ
は、通信効率を下げる。
【0006】さらに、従来のアダプタはスレーブモード
でだけ使用でき、アダプタがデータ転送を始めることは
できなかった。すなわち、メインプロセッサがマスター
でなければならず、上述したように、データ転送のすべ
てのプロセスに常に関わらなければならないという問題
があった。
【0007】もう一つの問題は、データの経路、および
その整合性をチェックすることに関わる問題である。メ
ッセージ通過プロトコルを使用している並列処理システ
ムでは、情報パケットは並列処理システムの中のプロセ
ッサの間を通過する。これらのデータパケットは、通
常、経路情報を含むヘッダを持ち、このヘッダにより、
パケットは、ネットワーク基本構造(以下ファブリック
ともいう)を通って、ソース・プロセッサから宛先プロ
セッサに送られる。あるシステムでは、経路情報はネッ
トワーク・ファブリックの中で消耗し(たとえば、パケ
ットがデータ経路を進むうちにデータ・ビットが落とさ
れ)、メッセージ・パケットがあて先に着いたときに
は、もはや経路情報がないということさえある。経路デ
ータが壊されれば、ネットワークはエラーを検出するこ
とは出来ず、パケットは間違ったあて先に着き、その結
果、データの整合性が失われる。
【0008】もう1つの問題は、アダプタのクロックが
故障したときに、従来のアダプタはメインプロセッサを
制限なくハングアップさせてしまうという問題があっ
た。
【0009】さらに、従来のアダプタは固定された手段
を使って通信タスクを実行するので、アダプタが効率よ
く動作していないとわかっても変更することが困難であ
った。
【0010】
【発明が解決しようとする課題】本発明の目的は、高性
能交換機構との通信の完了を待つことからメインプロセ
ッサを解放するアダプタを提供し、このアダプタがもっ
ぱらデータ転送のタスクを実行している間、メインプロ
セッサが他のタスクが行えるようにすることである。
【0011】本発明のもう1つの目的は、データ転送の
オペレーションにおいてマスターとしてもスレーブとし
ても動作できるアダプタをメインプロセッサと高性能交
換機構の間に提供することである。
【0012】本発明のもう一つの目的は、メインプロセ
ッサからアダプタへのコマンドと、アダプタからメイン
プロセッサへの応答とを待ち行列に入れる(以下キュー
またはキューイングという)方法を提供し、比較的遅い
バスを通るポリングが起こらないようにすることであ
る。
【0013】本発明のもう一つの目的は、転送されたデ
ータの整合性を確実にできる方法と構造を提供すること
である。
【0014】本発明のもう一つの目的は、メインプロセ
ッサとアダプタとの間の相互作用を制御する際の融通性
が向上できる方法と構造を提供することである。
【0015】本発明のもう一つの目的は、経路データが
失われたときでも、経路を間違えたパケットを確実に検
出する方法と構造を提供することである。
【0016】本発明のもう一つの目的は、クロックのエ
ラーを検出する回路を提供し、クロックが故障した場合
でも、メインプロセッサのハングアップが防止できるよ
うにすることである。
【0017】
【課題を解決するための手段】本発明の第1の側面とし
て、メインプロセッサおよびそのメモリと、パケット交
換機構との間のデータ転送のためのアダプタを提供す
る。このアダプタは、メインプロセッサとそのメモリに
結合された第1のバスと、第1のバスと第2のバスとの
間に結合され、第1のバスに接続された第1のポート、
および、第2のバスに接続された第2のポートを持つ、
双方向ファースト・イン・ファースト・アウト(以下F
IFOと略す)・バッファと、第2のバスに結合された
通信プロセッサと、第2のバスに結合されたメモリと、
メインプロセッサとFIFOバッファとの間でデータを
転送するために第1のバスとFIFOバッファとの間に
結合された第1のダイレクトメモリアクセス(以下DM
Aと略す)エンジンと、FIFOバッファと第2のバス
との間でデータを転送するためにFIFOバッファと第
2のバスとの間に結合された第2のDMAエンジンと、
第2のバスと交換機構との間に結合され第2のバスを交
換機構にインターフェースさせ、通信プロトコルにした
がいパケットがメインプロセッサのメモリと交換機構と
の間に伝送され、第1および第2のDMAエンジンが相
互に独立にパケット・データを転送できるようにするた
めのパケット交換インターフェースとを含む。
【0018】本発明の第2の側面として、アダプタによ
って配布機構に結合されたメインプロセッサのFIFO
バッファのデータを管理する方法を提供する。メインプ
ロセッサは第1のバスと、それに結合されたメインメモ
リを持つ。アダプタは通信コプロセッサ、第2のバス、
それに結合されたローカルメモリ、および、メインメモ
リとローカルメモリとの間のDMA転送を実行するため
のDMA手段を含む。この方法は、メインメモリとロー
カルメモリの両方にストアされる1組のパケットFIF
Oを提供するステップを含み、パケットFIFOの各々
は、それぞれと関連するヘッド・ポインタとテイル・ポ
インタとを持ち、メインメモリ・パケットFIFO、お
よびローカルメモリ・パケットFIFOの一方が送り出
しFIFOとなり、メインメモリ・パケットFIFOあ
るいはローカルメモリ・パケットFIFOの他方が受け
取りFIFOとなる。この方法は、さらに、送り出しF
IFOから受け取りFIFOにパケットデータのDMA
転送を実行するステップを含み、DMA転送は、受け取
りFIFOで使用されるヘッド・ポインタとテイル・ポ
インタ情報を含み、これにより、ヘッド・ポインタおよ
びテイル・ポインタ情報を求めて第1および第2のバス
を通るポリングをせずに、パケットデータのDMA転送
をいつ開始しいつ終了するかを判断できるようにする。
【0019】本発明の第3の側面として、メインプロセ
ッサのチャネルと交換機構との間に結合されたアダプタ
で使用されるクロックエラー検出回路を含む。クロック
エラー検出回路は、アダプタの外の外部クロック・ソー
スを持ち、このクロック・ソースは前記アダプタと結合
された出力を持ち、あらかじめ定められた形(たとえ
ば、矩形)の波形を発生する。また、クロックエラー検
出回路は、アダプタの中にカウンタ機構を持ち、このカ
ウンタ機構は、波形があらかじめ定められたレベル(た
とえば、「高い」)、あらかじめ定められた波形を持ち
外部ソースに依存しないローカルに発生した波形を持つ
かを検出するためにクロック・ソースの出力に接続され
た第1の入力と、波形が第2のあらかじめ定められたレ
ベル(たとえば、「低い」)であるかを検出するために
クロック・ソースの出力に接続された第2の入力と、外
部クロック・ソースに依存しないであらかじめ定められ
た形(たとえば、矩形)のローカルに発生された波形に
よってクロックされ、初期値から終末値までカウントを
はじめるために第1と第2の入力に接続されたカウンタ
と、クロック信号の遷移が欠けるとカウント機構が終末
値に達するように、カウンタの周波数をあらかじめ定め
られた形を持つ波形の周波数よりも大きくし、カウンタ
が終末値に達するまでカウントしたのに応ずる出力とを
含む。さらに、クロックエラー検出装置は、アダプタを
リセットするために、カウント機構の前記の出力に結合
されたリセット・デバイスと、アダプタのリセット・コ
ンディションをメインプロセッサに伝達し、クロック信
号の遷移が欠けてもメインプロセッサがハングアップ状
態に放置されないようにするための、リセット・デバイ
スとメインプロセッサとの間に結合されたリセット伝達
手段とを有する。
【0020】本発明は第4の側面として、改良されたエ
ラー検出回路を提供する。改良されたエラー検出回路
は、パリティー・データを含むメッセージ・データを送
るためのメインプロセッサと、メッセージ・データを受
け取るためのメッセージ受け取りデバイスと、メインプ
ロセッサからメッセージ・データを受け取りメッセージ
・データをアダプタに送るための、メインプロセッサと
メッセージ受け取りデバイスとの間に結合されたアダプ
タと、アダプタからメッセージ受け取りデバイスに送ら
れたメッセージ・データの終わりにつけて送られ、メッ
セージ受け取りデバイスによって受け取られたメッセー
ジ・データのエラーを検出するためのサイクリック・リ
ダンダンシー・チェック(Cyclic Redundancy Check)
(以下CRCと略す)・コードを発生させるアダプタの
中のCRC発生装置と、メインプロセッサによってアダ
プタに送られたパリティー・データを検出するためにC
RC発生装置に結合されたパリティー検出装置とを含
む。パリティー検出装置は、パリティー・エラーが検出
されたときに、CRC発生装置によりCRCコードの中
にエラーを発生させる手段を含み、これにより、パリテ
ィー検出装置がパリティー・エラーを検出したときに、
アダプタによってメッセージ受け取りデバイスに送られ
たメッセージ・データの終わりのCRCコードがエラー
を含むようにする。
【0021】
【実施例】図1および図2に、本発明によるアダプタ1
を示す。アダプタ1は、メインプロセッサ・ノード2
(たとえば、IBM RISC System/6000)と、高性能交換
機構3との間の通信を実行する通信デバイスである。ア
ダプタは、マイクロチャネル・バスのノードにインター
フェースすることができる。(マイクロチャネル・バス
の記述については、IBM "Personal System/2 Hardware
Technical Reference- Architectures", Part No. 84F8
933, Part No. 68X2330、および、"IBM MicroChannel A
rchitecture"を参照されたい。) 図2は、アダプタ20およびその構成要素を詳細に示
す。アダプタ・カードにより、メインプロセッサは高性
能交換機構を通して通信できる。アダプタを介しての通
信の開始はアダプタあるいはプロセッサ・ノードのどち
らからでもできる。アダプタ・カードはマイクロチャネ
ル・インターフェース21を持ち、これにより、メイン
プロセッサのマイクロチャネルがアダプタにインターフ
ェースする。メインプロセッサはメインメモリ記憶装置
2aを持ち、メインメモリ記憶装置はその中にFIFO
記憶装置2bを持つ。
【0022】アダプタは、ストリーミング・マスター、
あるいは、ノンストリーミング・スレーブとして機能す
る。具体的には、アダプタは、80MB/sのピークバ
ンド幅を持つマイクロチャネル・ストリーミング・マス
ターである。アダプタは10MHz転送クロックを使っ
て8または4バイトのストリーミングをサポートする。
アダプタは、ノンストリーミング・マイクロチャネル・
スレーブとしても機能することができる。クロック速度
は高性能交換機構と同期する40MHzが望ましい。
【0023】カードは、マイクロチャネル・インターフ
ェース21の他に、マイクロプロセッサ22(たとえ
ば、64ビットデータ・バスあるいは同様のものを持つ
ものが望ましい)を含む。マイクロプロセッサは通信コ
プロセッサとして使われる。
【0024】エラー修正を施した十分量(たとえば8メ
ガバイト)のDRAM23も、マイクロプロセッサ22
に結合されている。DRAM23はマイクロプロセッサ
のプログラム記憶装置であり、プロトコル・データ構造
を保持する。DRAM23はアダプタとメインプロセッ
サとの間のメッセージ通過エリアとしても使われる。以
下に述べるように、DRAMはコプロセッサおよびマイ
クロチャネルからアドレス可能である。
【0025】少くとも2つのDMAエンジンあるいは同
様のもの(たとえば、左側のDMAエンジン24と右側
のDMAエンジン25)があり、メインプロセッサと多
重チャネルとの間にダイレクト・メモリ・アクセスを提
供する。
【0026】さらに、双方向FIFOバッファ26(た
とえば、少なくとも4kBの容量が望ましい)が、マイ
クロチャネル・インターフェース21に結合されてい
る。双方向FIFOはDMAエンジン24および25に
よって制御され(図2の点線で示すように)、第1およ
び第2のポート26aおよび26b(AポートおよびB
ポート)を含む。さらに、以下に述べるように、FIF
O26は内部レジスタ26c(たとえば、「メールボッ
クス」)を持っており、これにより、FIFOバッファ
をバイパスすることができる。
【0027】メモリと交換機構管理装置(Memory and S
witch Management Unit)(以下MSMUと略す)27と
して知られるスタンダード・セルのASICが、複数の
レジスタを備え、マイクロプロセッサ22、双方向FI
FO、高性能交換機構、および、DRAM23に結合さ
れ、DRAM23のDRAMコントローラとしてはたら
く。MSMU27はマイクロプロセッサのためのDRA
Mコントローラであり、マイクロプロセッサ・バスを高
性能交換機構にインターフェースさせる。MSMUにつ
いては、米国特許出願第08/025,019号「メッセージパケ
ット・トラスミッタ」に記載がある。
【0028】MSMUは、マイクロプロセッサによっ
て、あるいは、メールボックスを介してメインプロセッ
サによってアクセスされる。DMAエンジン24および
25が、2つのアダプタ・バス28および29のそれぞ
れの上にストリーミング・データ転送を提供する。左側
では、左側のDMAエンジン24がマイクロチャネルと
双方向FIFOバッファ26の間の転送を行い、右側で
は、右側のDMAエンジン25が双方向FIFOバッフ
ァとマイクロプロセッサ・バスの間の転送を行う。
【0029】双方向FIFOバッファ26が、比較的速
い160M byte/sのマイクロプロセッサ・バス28とよ
り遅いマイクロチャネル・バス29の結合を解き、両方
のバスが同時に併行して使用できるようにしている。こ
れによって、マイクロプロセッサが計算を実行している
間に、マイクロチャネル上にデータを転送することがで
きる。マイクロチャネルに比べてマイクロプロセッサ・
バスが相対的に高速度であるので、マイクロプロセッサ
の計算は、高性能交換機構への/からのデータ転送とタ
イムマルチプレックスして、行うことができる。メイン
プロセッサはデータの転送を待っている間に、他の処理
を行うことができるので、従来の装置に比べて重要な利
点を提供する。
【0030】上述したように、また以下に述べるよう
に、アダプタはマイクロチャネル・スレーブとしてメイ
ンプロセッサによってアクセスされ、また、マイクロチ
ャネル・マスターとしてメインプロセッサのメモリをア
クセスすることができる。カードがマイクロチャネルの
アドレスを復号するとき、マイクロチャネル・マスター
がサイクル(たとえば、マイクロチャネル・サイクル)
を求めてバスを使えるようにするために、マイクロプロ
セッサはバスからはずされる。その後、コントロールは
マイクロプロセッサに戻される。ハードウェアがアクセ
スのチェックを行い、メインプロセッサ上のユーザ領域
のアプリケーションから、アダプタ上のシステムデータ
を保護する。
【0031】マイクロチャネルを介してメインプロセッ
サにさらにアクセス可能なものには、カード上で構成可
能なレジスタ(たとえば、スタート/ストップ・マイク
ロプロセッサ、リセット・カードは、カードが復号する
マイクロチャネル・アドレスを確立する)がある。
【0032】電源を立ち上げたときに、メインプロセッ
サはメールボックスを介してマイクロプロセッサ・コー
ドをアダプタDRAMにロードし、構成可能なレジスタ
を介してマイクロプロセッサの動作を開始させる。右側
のDMAエンジンまたはメインプロセッサがマイクロプ
ロセッサ・バスの使用を必要とするとき、プロセッサは
自動的にバスからはずされ、アクセスが完了したときに
バスに戻る。このオペレーションは、メインプロセッサ
とマイクロプロセッサに関係なく行われる。
【0033】マイクロプロセッサはマイクロチャネルへ
の割り込みをかけ、また、マイクロチャネルからの割り
込みを受け取ることができる。典型的には、割り込みは
例外報告のために使われる。上述したように、また以下
に述べるように、メインプロセッサとコプロセッサとの
間の通常のメッセージ通過はメモリの中で行われる。
【0034】アダプタは、マイクロチャネル・マスター
として、高性能交換機構からマイクロチャネルに、およ
び、マイクロチャネルから高性能交換機構に、データを
ストリームさせることができる。アダプタは、また、デ
ータをマイクロチャネルからDRAMに、またその逆に
ストリームすることができ、マイクロプロセッサはマイ
クロチャネル・データをロードしストアすることができ
る。コプロセッサは、DMAポートとして知られるアダ
プタ上の或る範囲のアドレスに書き込みをすることによ
ってすべてのDMA転送を開始し、後でポートを読み込
んで結果を見ることができる。
【0035】左側のDMAエンジンはユニークな「ヘッ
ダ」アーキテクチャを介してマイクロプロセッサによっ
て制御される。このヘッダはFIFOキューを通り(し
たがって双方向FIFO26には、いちどきに複数のキ
ューができることがある)、左側のDMAエンジンが前
のヘッダの処理を終えるとバッファから次のヘッダを引
っ張り出してマイクロチャネル・マスター・オペレーシ
ョンを開始する。ヘッダは左側のDMAエンジンのフェ
ッチまたはストア・オペレーションのためである。スト
ア・オペレーションのデータは、FIFOの中のヘッダ
のすぐ後に続く。したがって、制御とデータ情報は同じ
経路を通る。以下に述べるように、左側と右側にかかる
ブリッジが、両方のバスの上でのマスターおよびスレー
ブとしてはたらく。たとえば、上述した左側のDMAエ
ンジンは、マイクロチャネル上のマスターになり、デー
タをマイクロチャネルからフェッチしたり、マイクロチ
ャネルにデータをストアするはたらきをする。
【0036】左側のDMAエンジンは、また、スレーブ
サイクルをとるためにマイクロチャネルを監視する(左
側のDMAエンジンはマイクロチャネルに対してスレー
ブである)。スレーブサイクル(または、プロセッサ入
出力)は、左側のDMAエンジンと右側のDMAエンジ
ンのマスター・オペレーションに割り込むことができ、
それによって、プロセッサ入出力が迅速に且つ原子的
(単位オペレーション)で行える。メインプロセッサ
は、アダプタとの通信をするために進行中のDMAオペ
レーションの完了を待つ必要がなく、プロセッサ入出力
が行われたことが確認できる。スレーブサイクルの復号
においては、左側のDMAエンジンが右側のDMAエン
ジンに割り込み、両方がマイクロプロセッサ・アドレス
空間への原子的プロセッサ入出力が行えるようにする。
左側のDMAエンジンは、プロセッサ入出力が完了する
前に右側のDMAエンジンの肯定応答を待つ。
【0037】さらに、右側のDMAは、いくつかのマイ
クロプロセッサ・スレーブ制御ポートによって制御され
る。たとえば、図2に示すように、「FIFO」ポート
26bが提供されている。マイクロプロセッサがFIF
Oポート26bに対して読み込み/書き込みを行うと
き、ブリッジがマイクロプロセッサ・バス・スレーブの
役目を果たす。マイクロプロセッサ22はいくつかの機
能を実行するためにFIFOポートを使う。これらの機
能には以下が含まれる。すなわち、ストアをするために
ヘッダを左側のDMAエンジンに送り、右側DMAを開
始してストアするべきデータをFIFOに入れる(ブリ
ッジはバス・マスターになり、マイクロプロセッサ・ア
ドレス空間の中のどこにでもまたどこからでもパイプラ
イン・サイクルを実行する)、左側のDMAエンジンに
ヘッダを送ってフェッチを行わせる、右側DMAを開始
して、左側のDMAエンジンがフェッチしたデータをマ
イクロプロセッサ・アドレス空間の中のどこかに移動さ
せる、右側DMAを開始せずにストアをするのために左
側のDMAエンジンにヘッダを送る、さらに、FIFO
にあるいはFIFOから直接データを読み込み/書き込
みする。
【0038】マイクロプロセッサは、DMAポートとよ
ばれるアダプタ・アドレスの範囲の1つに書き込みを行
うことによってDMA転送を開始する。DMAポートの
アドレスの選択と、ポートに書き込まれた最初のワード
(DMAヘッダとして知られる)の内容により、DMA
アクティビティを制御する手段がマイクロプロセッサに
提供される。基本的に、DMAポートのアドレスの選択
により右側のDMAエンジン25が制御され、双方向F
IFO26の中を通るヘッダのデータにより左側のDM
Aエンジン24が制御される。
【0039】ポートアドレスは、次に述べるように構成
される。アドレスの1つのフィールドは、すべてのポー
トアドレスに対して同じである。これらのビットによ
り、右側のDMAエンジン25にDMAポートがアドレ
スされていることが示される。もう1つのフィールドが
マイクロプロセッサ・バス上の転送が始まるアドレスを
指定する。さらに1つのアドレス・ビットが制御ビット
の役をし、そのビットがゼロのとき、右側のDMAエン
ジン25がディスエーブルされる。このビットの目的に
ついては以下に述べる。
【0040】DMAヘッダは、左側と右側のDMAエン
ジン24と25両方に有用な情報(たとえば、転送され
るワード数)と、左側のDMAエンジン24のみに使わ
れる情報を持つ。この情報は、転送が始まるマイクロチ
ャネル・アドレスを含む。
【0041】以下に記すように、マイクロプロセッサは
DMAに書き込みを開始する(たとえば、アダプタ・メ
モリまたは交換機構からメインプロセッサ・メモリ2a
へのデータの転送)を開始する。DMAポートへのマイ
クロプロセッサの書き込みは、明示的ではないが、デー
タのソースがメモリか交換機構かを示す。ヘッダが、双
方向FIFO26に書かれる。その後、右側のDMAエ
ンジン25は、プロセッサをバスからはずし、アダプタ
・メモリまたは高性能交換機構から、データを双方向F
IFO26に転送する。転送が終わった後、バスのコン
トロールはマイクロプロセッサに戻される。その後、D
MAヘッダが双方向FIFO26の頭に届いたときに、
ヘッダは左側のDMAエンジン24によってフェッチさ
れる。左側のDMAエンジン24は双方向FIFO26
からマイクロチャネルへのデータ転送を要求された回数
実行し、ヘッダを捨てる。
【0042】アダプタは、DMA書き込みの別のモード
もサポートする。このモードでは、右側のDMAが開始
される前に、DMAヘッダは双方向FIFOに書かれな
いで捨てられる。このモードは、マイクロプロセッサ
が、マイクロプロセッサ・レジスタからのデータと交換
機構からのデータを含むブロックを、メインメモリ2a
の連続した場所に書くときに使われる。ヘッダのないモ
ードを使い、2つか3つの前記のブロックが、単一の左
側のDMAを使ってマイクロチャネルを通して転送され
る。
【0043】マイクロプロセッサは、DMA読み込み、
すなわち、メインプロセッサ・メモリ2aからアダプタ
・メモリ(たとえば、DRAM23または交換機構)へ
の読み込みを、2段階のプロセスとして行う。
【0044】最初のステップで、マイクロプロセッサ
は、読み込みを指定するDMAヘッダを書く。マイクロ
プロセッサは、右側のDMAをエネーブルするアドレス
のビットが明らかに示されていない、いくつかのDMA
ポートアドレスのどこにでも書くことができる。これら
のアドレスのどこにでも書き込むことの結果は、DMA
ヘッダを、右側のDMAオペレーションを実行しない
で、双方向FIFO26の中に入れることである。その
後で、ヘッダが双方向FIFOの頭に届いたときに、ヘ
ッダは左側のDMAエンジンによってフェッチされる。
左側のDMAエンジン24は、プロセッサ・メモリから
双方向FIFO26へのデータ転送を要求された回数実
行する。
【0045】DMA読み込みオペレーションの2番目の
ステップでは、マイクロプロセッサは再び読み込みを指
定しているDMAヘッダを書く。しかし、今回は、ヘッ
ダは、右側DMAがエネーブルされているポート・アド
レスに書かれる。これにより、右側DMAエンジン25
はプロセッサをバスからはずし、要求されたバイト数を
双方向FIFO26からアダプタ・メモリ(MSMU)
27または交換機構の中に転送する。転送が終わった
後、バスのコントロールはマイクロプロセッサ22に戻
る。ヘッダは捨てられ、双方向FIFOに入れられな
い。
【0046】右側のDMAが必要である場合、マイクロ
プロセッサが右側DMAを開始したならば、開始された
DMA転送が終了するまで、マイクロプロセッサがバス
上で別のアクションが実行できないように右側エンジン
のタイミングを設計する必要がある。
【0047】上述したように、DMAヘッダはマイクロ
プロセッサ22からの命令を左側DMAエンジン24に
運ぶ。この手法は、マイクロプロセッサが、左側のDM
Aエンジン24を直接的にではなくFIFO26を介し
て制御するものであるが、左側のポートが直接制御され
る従来のアプローチに比べていくつかの利点がある。た
とえば、FIFOにデータとともにコマンドを入れるこ
とにより、DMAの制御と転送されるデータとを自動的
に同期させることができる。さらに、双方向FIFOに
より、マイクロプロセッサ22が左側のエンジン24か
らの一連のDMAコマンドをFIFOの容量だけキュー
に入れることができ、左側が完了するのを待つ必要がな
くなる。これにより、プロセッサ・メモリへの/からの
データ転送と併行して通信処理を行うことができる。
【0048】プロセッサ・ノードの中のハードウェア
は、左側のDMAエンジン24によって実行されるマイ
クロチャネルの読み込みおよび書き込みを、プロセッサ
のメインメモリの読み込みおよび書き込みにマッピング
する。
【0049】アダプタ・カードがパワーオン、または、
リセットの後に最初に初期化され、左側のDMAエンジ
ン24がそのFIFOポートを調べてそこに表れる最初
のデータがマイクロチャネル上でデータ転送を実行する
べきDMAヘッダであるかを解読しているときには、左
側のエンジンは最初マイクロチャネルがマスターである
と仮定しなくてはならないが、これは比較的長い仲裁プ
ロセスを必要とする。アダプタは、この仲裁の遅れの影
響を最小にするよういくつかのアクションをとる。まず
第1に、双方向FIFOにヘッダがあることにより、左
側のエンジンは、それがいまマスターでないとき、仲裁
プロセスを開始する。この仲裁プロセスは、ヘッダがF
IFOから読み込まれる前に開始される。したがって、
仲裁プロセスは、FIFOアクセス時間とオーバーラッ
プされる。仲裁による遅れを最小にするための第2の手
法として、左側のエンジンは、データあるいはヘッダが
双方向FIFOに残っている限り、マイクロチャネルの
マスターであることを続ける。双方向FIFOが空であ
るか、そのバスのルールによりマスターであることを辞
めなければならないときに限り、左側のエンジンはマス
ターであることを放棄する。
【0050】双方向FIFOの中のアイテムのどれがヘ
ッダでありどれがデータであるかの曖昧さは決してな
い。書き込みDMAの場合、ヘッダの後にメインプロセ
ッサに書かれるデータが続き、さらに転送の長さを指定
することにより、ヘッダは、ヘッダに続いて双方向FI
FO26に何ワードのデータがあるかを示す。左側のエ
ンジン24は、双方向FIFO26から指定されたデー
タ量を転送した後、双方向FIFOの中の次のアイテム
を新たなヘッダとして解釈する。同様に、読み込みDM
Aをリクエストしているヘッダは、単独でありデータを
伴わない。読み込みDMAのリクエストを処理した後、
左側エンジン24は、FIFOの中の次のアイテムを新
たなヘッダとして解釈する。
【0051】マイクロプロセッサ22は、そのアクティ
ビティをメインプロセッサのアクティビティとコーディ
ネートさせるために、そのDMAのプロセスを監視でき
なければならない。このオペレーションのための手段
は、アダプタにある2つのカウンタ、DMAペンディン
グとDMAリプライによって提供される。
【0052】DMAペンディングは、双方向FIFOの
中にいくつの書き込みリクエストが完了を待ってキュー
されているかを示す。この数は、完全なDMA書き込み
要求(たとえば、ヘッダに続いてデータの量がヘッダに
指定されていること)が双方向FIFOに入ったときに
増分される。この数は、左側のDMAエンジンが書き込
みを完了(たとえば、左側のDMAエンジンがヘッダで
指定されたデータの最後の転送を実行した後)する度に
減分される。
【0053】DMAリプライは、完了した読み込みリク
エストがいくつFIFOにキューされてメモリまたは交
換機構に転送されるのを待っているかを示す。この数
は、マイクロチャネル読み込みデータのリクエストが完
了(たとえば、DMAヘッダでリクエストされたデータ
がすべてFIFOに入れられた後)する度に増分され
る。DMAリプライは決して減分されない。マイクロプ
ロセッサは、最後にこの数をチェックしたときから、ど
れだけDMAリプライ数が増えたかを判断する。マイク
ロプロセッサは、DMAペンディングが減るのを観察す
ることによって、書き込みがマイクロチャネルに転送さ
れていることがわかる。DMAリプライが増えるのを観
察することによって、マイクロプロセッサは、マイクロ
チャネルから読み込みリクエストが戻ってくるのがわか
る。
【0054】このブリッジによって、マイクロプロセッ
サは、右側DMAエンジンおよび左側DMAエンジンで
どのようにDMAが実行されるかを制御できるようにな
るだけでなく、マイクロチャネル・アドレス空間への、
または、同アドレス空間からの、プロセッサ入出力がで
きるようになる。本発明の大きな利点の1つは、アダプ
タ・カード上およびメインプロセッサの中で動作中のソ
フトウェアが、通信タスクを分割し効率よいプロトコル
を作成することができる融通性が持てるようになること
である。
【0055】メインプロセッサは、アダプタおよび交換
機構インターフェースを含むアダプタの構成要素との通
信を、アダプタ上のバス・トランジション機構を介して
開始することができる。バス・トランジションは、或る
範囲のマイクロチャネルのアドレスを、アダプタのマイ
クロプロセッサ・バス上のアドレスのサブセットの中に
マッピングする。このマッピングにより、メインプロセ
ッサは、マイクロプロセッサがアクセスできるアダプタ
・カードのDMAを除くすべての資源にアクセスできる
ようになる。
【0056】図2で簡単に述べたように、マイクロチャ
ネルからマイクロプロセッサ・バスへのデータ経路は、
FIFOチップの中にあるバイパス・レジスタ、すなわ
ち、「メールボックス」を使ってFIFOをバイパスす
る。したがって、これらのアクセスは、待つことなく、
同期して起こる。双方向FIFOにおける制御信号が、
FIFO経路またはメールボックス経路のどちらが使わ
れるかを判断する。メインプロセッサがマイクロプロセ
ッサ・バスにアクセスする必要があるとき、バスがマイ
クロプロセッサ、または、右側のDMAによって使用さ
れている場合がある。このとき、アダプタ・ロジックに
より、読み込みによりデータがメールボックスの中に転
送されるか、書き込みによりデータがメールボックスか
ら転送されるまで、バスからマイクロプロセッサをはず
すか、DMAを中断させる。
【0057】マイクロチャネルのデータバスの幅が4バ
イトであるのにたいし、マイクロプロセッサのデータバ
スの幅が8バイトであるので、書き込みのときマイクロ
チャネルのデータはマイクロプロセッサ・バス上に多重
分割され、読み込みのときマイクロプロセッサ・バスの
データはマイクロチャネルに多重化される。マイクロチ
ャネルがマイクロプロセッサ・バスの上部4バイトか下
部4バイトかを持っているかは、マイクロチャネルのア
ドレスビットの3番目の最下位のビットA<2>によっ
て決められる。A< 2 >が高い場合は、マイクロチャネ
ルは上部4バイトと通信し、A<2>が低い場合は、下
部4バイトと通信する。
【0058】アダプタは、データの多重化または多重分
離を実行するために2つの代替手段を提供する。これら
の代替手段はモード32とモード64と呼ばれ、マイク
ロプロセッサ・バス上で実行されるアクセスの数が違
う。モード32では、1回のマイクロチャネル・アクセ
ス毎に、マイクロプロセッサ・バスで1回アクセスが起
こる。モード64では、マイクロチャネル・アクセスが
2回起こる毎に、マイクロプロセッサ・アクセスが1回
起こる。
【0059】モード64は、データが、1つのバスから
別のバスに送り出される前にメールボックス・レジスタ
の中に累積されていることを示す。モード32は、アダ
プタ・メモリへのアクセス、および、カードの上のほと
んどのレジスタへのアクセスに便利である。モード32
は、交換機構のインターフェース・ロジックの内部の8
バイト幅のFIFOへの読み込みと書き込みには動作し
ないので、これらのアクセスには、モード64が使われ
なければならない。モード64では、アダプタへのメイ
ンプロセッサのアクセスは、最初にアクセスする8バイ
トのマイクロチャネルのアドレスに2番めのアドレスを
つなげたペアとして実行することが必要である。モード
32とモード64の間の選択は、メインプロセッサがカ
ードのために使うマイクロチャネル・アドレスに基づい
て、メインプロセッサによって動的に行われる。
【0060】メインプロセッサ2は、カード上の、マイ
クロプロセッサ22がアクセスできないコンフィギュレ
ーション・レジスタにもアクセスできる。これらのレジ
スタは、アダプタを初期化し、アダプタにマイクロチャ
ネルのアドレス可能性を与え、マイクロチャネルに関連
した他の機構要素(たとえば、パリティー、マイクロチ
ャネル・ストリーミング)を選択的にエネーブルあるい
はディスエーブルするために使われる。
【0061】メインプロセッサのメインメモリの中のF
IFOの管理について述べる。図2および図4ないし図
7に示すように、メインシステム(たとえば、RISC Sys
tem/6000プロセッサ)の記憶装置にストアされているパ
ケットFIFOの組(セット)2b1と2b2に対する
DMAオペレーションを使って、交換パケットがアダプ
タに、および、アダプタから移動する。FIFOの1組
はカーネルのためにあり、もう1組はユーザのためにあ
る。
【0062】各パケットFIFOセット中の1つのFI
FOは出ていくパケットのためにあり、各パケットFI
FOセットの中の2番めのFIFOは入ってくるパケッ
トのためである。これらの2つのFIFOの管理は、メ
インプロセッサ2とマイクロプロセッサ22(以下では
コプロセッサとよぶ場合がある)との間に新たな方法で
分散されており、これにより、多大な利点が得られる。
【0063】概略説明すると、出ていく側のメインプロ
セッサは出ていく側のFIFOにパケットを移動し、コ
プロセッサにはそのメモリにメッセージを入れることに
よって伝え、コプロセッサはそのハードウェアを使って
パケットをMSMUに移動する。
【0064】メインプロセッサ2に入ってくるパケット
を見て、コプロセッサ22はパケットが入ってきたこと
を認識し、パケットのヘッダを調べ、パケットをどこに
移動するかを決め、そのハードウェアを使ってパケット
を移動する。コプロセッサのメモリ23には、送出しF
IFOと同じ制御情報(たとえば、パケットの長さ)が
入っている。
【0065】上述したように、通信コプロセッサとメイ
ンプロセッサとは、相対的に遅いバスで切り離されてい
る。各プロセッサはそれ自身の速いローカルバスの上に
それ自身のローカルメモリーを持っているが、前記の遅
いバスを通して、他のプロセッサのメモリにアクセスす
ることもできる。遅いバスの上の使用可能なサイクルの
ほとんどすべてをアプリケーション・データの移動に使
用できるように、その遅いバスに不必要なトラフィック
が通ることを避けるために、本発明は、遅いバスを通る
ポリング(これはメインプロセッサの性能を下げ、貴重
なバンド幅を使用する)を避けるFIFO管理方式を使
い、それによって、システム全体の効率を上げる。
【0066】本発明では、メインプロセッサのFIFO
のそれぞれが、各FIFOに関連するヘッドとテイルの
ポインタを持っている。データがFIFOに入るときテ
イル・ポインタが増分され、データがFIFOから取り
出されるときヘッド・ポインタが増分される。本発明の
設計では、両方のFIFOとも、アプリケーションがも
っとも容易に使用できるメインプロセッサのメモリの中
にストアされている。しかし、本発明では、ヘッドおよ
びテイルのポインタの両方を、従来の方式のようにメイ
ンプロセッサのメモリの中にストアするのではなく、ヘ
ッド・ポインタとテイル・ポインタをメインプロセッサ
のメモリとコプロセッサのメモリに分散し、この制御情
報を遅いバスを通してポリングするのを避ける。
【0067】一般には、出て行くFIFOの場合、テイ
ル・ポインタはコプロセッサのローカルメモリにストア
され、ヘッド・ポインタはメインメモリのローカルメモ
リにストアされる。また、メインプロセッサはテイル・
ポインタの保存コピーを持ち(テイル・ポインタをアッ
プデートするのはメインプロセッサだけであるので)、
コプロセッサはヘッド・ポインタの保存コピーを持つ
(ヘッド・ポインタをアップデートするのはコプロセッ
サだけである)。
【0068】FIFOキューは、入る場所が何カ所かあ
る円形のキューにたとえることができ、キューの中のデ
ータの量によって、FIFOのヘッドが1つの場所を指
し、テイルが別の場所を指す。情報がキュー(すなわち
FIFO)に入ればテイルが増分され、情報がキューか
ら取り出されるときヘッドが増分される。ヘッドおよび
テイルに関するすべての演算はFIFOのサイズのモジ
ュラスである。
【0069】メインプロセッサがパケットを送る用意が
できているとき(たとえば、パケットがパケットのフレ
ームのかたちを整えてFIFOに入ること)、メインプ
ロセッサ2によるデータ送り出しオペレーションのため
に、メインプロセッサは、先ず、そのローカルメモリの
中のヘッド・ポインタをポリングし、それを保存されて
いるテイル・ポインタの値と比較し、出て行くFIFO
にスペースがあるかどうかを判断する(たとえば、テイ
ル・ポインタ(+2)がヘッド・ポインタに等しくない
かどうかをチェックする)。出て行くFIFOにスペー
スがある場合、メインプロセッサ2はパケットをFIF
Oに書き込み、アップデートされたテイル・ポインタを
コプロセッサのローカルメモリに書く。コプロセッサ
は、ヘッド・ポインタの保存された値を持っている。コ
プロセッサは、保存しているヘッド・ポインタの値と、
そのローカルメモリにストアされているテイル・ポイン
タの値とを比較することにより、出て行くパケットをポ
リングする。入ってくるパケットに対しては、テイル・
ポインタがメインプロセッサのローカルメモリにストア
され、ヘッド・ポインタがコプロセッサのローカルメモ
リにストアされ、入ってくるパケットを受け取るオペレ
ーションは、送り出すオペレーションと対称的である。
【0070】従来の標準的な具体化では、ヘッド・ポイ
ンタとテイル・ポインタの両方ともメインプロセッサの
ローカルメモリにストアされるので、コプロセッサによ
るポリングは遅いバスを通って行われ、それにより、バ
スの上でアプリケーション・データとコンテンションを
起こし、ポリング遅延の増加によるメッセージ待ち時間
が増える。そのような問題は本発明の構造と方法によっ
て避けることができる。
【0071】FIFO送り出しオペレーションについて
述べる。コプロセッサは、「送出しヘッド」の保存され
たコピーを持ち、メインプロセッサのメモリの中で「送
出しヘッド」をアップデートするときに、保存されたコ
ピーを定期的にアップデートする。さらに、各パケット
には、長さとともに、データの前に、ロジカル・ノード
番号およびルート番号を含むダブルワードがあり、それ
により、双方向FIFO26の中でコプロセッサDMA
がパケットを転送するとき、最初の項目が、コプロセッ
サが読み出してレジスタに入れるノード番号とルート番
号であるようにしている。このデータを使って、コプロ
セッサDMAがテーブルをルックアップしてキー、ウィ
ンドウ(これはカーネルとユーザに関連し、これによ
り、アダプタはどのFIFOにデータを入れるかがわか
る)、および、このパケットのあて先の実の(物理的
な)ノード番号を見つける。
【0072】キーはあて先に送られ、データが正しいソ
ースから来たことが確かめられる。ロジカル・ノード番
号は実ノード番号に翻訳され、次に、ルートを決定する
第2の翻訳が行われる。
【0073】したがって、ユーザがどんなタスク・ナン
バーを指定しても、ノードとルート情報により、データ
が正しいあて先(ノード)に届くことが確かめられ、間
違ったタスク番号が指定された場合には、無効というマ
ークが付けられる。したがって、ユーザは公認されたア
ドレスをアクセスすることができるだけであり、ノード
は偽のデータ受け取ることからプロテクトされる。
【0074】メインプロセッサによる「送り出しデー
タ」オペレーションのためには、メインプロセッサ2
は、先ず保存コピーの「送り出しテイル」(+2)がそ
れ自身のメモリにストアされ、コプロセッサによってア
ップデートされている「送り出しヘッド」に等しくない
(たとえば、FIFOがいっぱいでない)ことをチェッ
クして判断する。もし等しければ、ポリングが内部的
(ローカル)に起こり(たとえば、メインプロセッサが
「送り出しヘッド」を読んで、それを保存されている
「送り出しテイル」と比較する。メインプロセッサは外
に出て遅いマイクロチャネルを通す必要がないので、こ
のポリングはローカルに行われる)、「送り出しテイ
ル」が「送り出しヘッド」に等しくなくなる、したがっ
てFIFOがいっぱいでなくなるまで続けられる。コプ
ロセッサがFIFOからデータを取り出すと、メインプ
ロセッサは直ちに(たとえば、1つのトランズアクショ
ン以内に)FIFOには空きがあるとわかり、したがっ
て、ポリングは非常に速く行われ、DMAとの干渉がな
い。
【0075】その後、メインプロセッサは、メインプロ
セッサのメインメモリのFIFOの中に(FIFOの
「送り出しテイル」の位置に)データを移動する。さら
に、ロジカル・ノードとルートがFIFOスロットの中
に移動される。その後、メインプロセッサは、コプロセ
ッサーのメモリ23の中で長さをアップデートし、「送
り出しテイル」(メインプロセッサの保存コピーとコプ
ロセッサのメモリの中のものと両方)をアップデートす
る。
【0076】コプロセッサが「送り出し」オペレーショ
ンを行うためには、コプロセッサ22はそれ自身のメモ
リの中の「送り出しテイル」をチェックするためのポリ
ングを始め、それにより、受け入れるFIFOが空でな
いかを判断する。したがって、コプロセッサは、保存さ
れた「送り出しテイル」(+1)が「送り出しヘッド」
に等しいかを判断する。等しい場合には、ポリングは
「送り出しテイル」(+1)が「送り出しヘッド」に等
しくなくなるまで続けられる。コプロセッサはそれ自身
の「送り出しヘッド」(および、DMAオペレーション
によってメインプロセッサ2の「送り出しヘッド」も)
アップデートする。これにより、メインプロセッサが
「送り出しヘッド」をアップデートする必要がないの
で、このプロセスははるかに効率の良いものになる。
【0077】その後(送り出すべきデータがあると判断
されたとき)、コプロセッサ22はDMAの中のデータ
の長さ(データの長さはメインプロセッサによってDR
AMに入れられている)を読み、DMA読み込みリクエ
スト(DMAヘッダ)をアダプタ上のDMAポート26
bに書き、左側のDMAエンジン24にメインプロセッ
サにある出ていくFIFOからパケットをフェッチし、
そのパケットを双方向FIFOに移動するように指示す
るDMA読み取りリクエストを開始する。次に、コプロ
セッサは、データが双方向FIFOに着くのを待つ。デ
ータが着き次第、コプロセッサは双方向FIFOからロ
ジカル・ノードを読み、翻訳(たとえば、ノード、キ
ー、ウィンドウ)を実行し、MSMUヘッダ(ノード、
キー、ウィンドウ、および、長さ)を書く。コプロセッ
サは右側のDMAを開始させ、データを双方向FIFO
26からMSMU27に移動させる。その後、コプロセ
ッサは「送り出しヘッド」の自身の保存コピーを増分
し、メインプロセッサのメモリの中の「送り出しヘッ
ド」を移動しアップデート(DMA経由)する。
【0078】本発明の利点の1つは、実施例のアダプタ
を用いることにより、システムがポリングを行っている
間、すべてのポリングが、たとえばメインプロセッサあ
るいはコプロセッサによってローカルに行われるので、
バスが影響を受けず、且つ、データの転送に主に使用さ
れるバスを通さなくてもよいということである。したが
って、本発明により、データ転送が最適化される。さら
に、「送り出しヘッド」と「送り出しテイル」はメイン
メモリの中の位置を指すものであるが、コプロセッサは
メインメモリに戻ってデータがどこにあるかを探す必要
がない。
【0079】受け取りを行うFIFOオペレーションに
ついて述べる。受け取るFIFOオペレーションには、
「受け取りテイル」と「受け取りヘッド」が使われる。
【0080】コプロセッサが受け取るオペレーションを
実行するには、先ず、パケットがMSMUに着き、コプ
ロセッサの上で受け取るオペレーションが始まる。コプ
ロセッサの保存された「受け取りテイル」がコプロセッ
サのメモリ23の中の「受け取りヘッド」と比較される
(たとえば、受け取りFIFOのチェックが行われ
る)。保存された「受け取りテイル」(+2)が「受け
取りヘッド」に等しいときにポリングがローカルに行わ
れ、双方が一致しなくなるまでポリングが続けられる。
その後、コプロセッサ22はパケット・ヘッダを読み、
パケット・ヘッダはウィンドウ番号とキー(およびキー
の区画の識別)についてチェックされ、タスクのソース
が正しく、コプロセッサがノードと交信できるかが判断
される。キー(およびキーの区画の識別)、入ってきた
パケットのウィンドウ番号、および、あて先のウィンド
ウ番号との間に一致がない場合には、パケットは捨てら
れ、正しくないパケットが受領されたことが記録され
る。ウィンドウは、メインプロセッサのメインメモリの
中の2組のパケットFIFOの間を区別するために使わ
れる。
【0081】一致がある場合には、コプロセッサは、長
さ(コプロセッサの中)とデータに対するDMA書き込
みリクエストを始めることによって、パケットをメイン
プロセッサまで移動し、右側DMAエンジンによるMS
MU27から双方向FIFO26へのデータ転送を始め
る(このオペレーションは、先に簡単に述べた別の方
法、すなわち、長さとデータの移動をコプロセッサが部
分的に行い、残りをDMAエンジンが行う方法によって
も効率よく行うことができる)。これによって、マイク
ロチャネルを通るバスの使用が最適化できる。
【0082】また、たとえば、パケットが双方向FIF
O26に着くのと同時に併行して、受け取りFIFO
(メインプロセッサのメモリの中の)をチェックして、
それがいっぱいでないことが確かめられる。したがっ
て、保存された「受け取りテイル」(+2)が「受け取
りヘッド」と比較されて双方が等しくないことが確かめ
られる。受け取りFIFOがいっぱいである場合には、
コプロセッサでローカルにポリングが始まる。ポリング
が行われている間、メインプロセッサはアダプタを通し
て新たな「受け取りヘッド」を送り、コプロセッサ22
の中の「受け取りヘッド」をアップデートすることがで
きる。
【0083】データが受け取りFIFOに送られた後
で、コプロセッサのキャッシュの中の「受け取りテイ
ル」がアップデート/増分され、DMAを介して「受け
取りテイル」がメインプロセッサ2まで転送される。
「ヘッド」と「テイル」はメインプロセッサのメモリ2
aの中のFIFOを指し、コプロセッサは、どのパケッ
トがメインプロセッサ・メモリに入っているかを制御し
ている。メインプロセッサは、どのパケットがメインプ
ロセッサ・メモリ(FIFO)から取り出されたかを制
御する。メインプロセッサは、FIFOがパケット全体
を受け取り、パケットを読んでもよい状態にあると伝え
られるまで、読もうとはしない。したがって、パケット
があるかどうかを知るために、マイクロチャネルを通し
てポリングをする必要はなく、ローカル・ポリングを行
いローカルメモリ(たとえば、コプロセッサのメモリ、
または、メインメモリ)を見るだけでよい。
【0084】前記の送り出しおよび受け取りのオペレー
ションは、理解を簡単にするために、連続する順次的な
オペレーションとして記述したが、双方向FIFOを使
用する送り出しと受け取りオペレーションは同時併行し
て行うことができ、前記のオペレーションには、自由裁
量的なインターリーブがある。すなわち、本発明の構造
により、送り出しオペレーションの中途で別のパケット
を受け取ることが可能になり、その逆もまた可能であ
る。
【0085】メインプロセッサによる受け取りオペレー
ションについて述べる。メインプロセッサが受け取りオ
ペレーションを実行するには、メインプロセッサはその
「受け取りテイル」を保存された(たとえば、メインプ
ロセッサのキャッシュにストアされている)「受け取り
ヘッド」と比較する。「受け取りテイル」(+1)が保
存された「受け取りヘッド」に等しくない場合には、プ
ロセスは以下に記すように続く。そうでない場合には、
「受け取りテイル」(+1)が保存された「受け取りヘ
ッド」に等しくなくなるまでローカル・ポリングが実行
される。その後、メインプロセッサはデータの長さ(長
さデータはコプロセッサのメモリにストアされている)
を読み、データはFIFOから除去される。メインプロ
セッサは、そのキャッシュの中およびコプロセッサのメ
モリの中にある「受け取りヘッド」を増分/アップデー
トする。
【0086】本発明によって可能になる上述のオペレー
ションの主な利点は、メインプロセッサもコプロセッサ
22も、遅いバスを通してポリングを行う必要がないこ
とである。そのかわりに、それぞれのメモリの中でのロ
ーカル・ポリングが行われる。これにより、より効率の
良いシステムが得られるという利点がある。
【0087】エラー検出について述べる。データ・パリ
ティーとCRCコード生成とをユニークな方法で組み合
わせることにより、高性能交換機構を通してマイクロチ
ャネルからの信頼性の高いデータ経路が提供される。
【0088】図8に示すように、アダプタによりマイク
ロチャネル・アドレスとデータにパリティー生成とチェ
ックを行う機構50を含む、パリティー生成/チェック
構造を提供する。パリティーは以下に記すように生成さ
れチェックされる。単一のビットにより、スレーブとマ
スターの、アドレスとデータのすべてのパリティー・チ
ェックのエネーブル/ディスエーブルを行う。パリティ
ーはマイクロプロセッサ22、あるいは、MSMU27
によってサポートされていない。これらのチップがデー
タの源になるとき、パリティーは、それらのチップのデ
ータ・バス上で生成され、データのあて先でマイクロチ
ャネル・パリティー・チェック回路51によってチェッ
クされる。マイクロチャネルがパリティーを生成すると
きは、パリティーはマイクロプロセッサのデータ・バス
の直前でチェックされる。双方向FIFO26はパリテ
ィー・チェックされたデータ経路の部分をなす。メイン
プロセッサのマイクロチャネル・アーキテクチャで指定
されているように、アドレス・パリティーはスレーブ・
アクセスのための復号時にチェックされ、パリティーが
正しくない場合にはカードはマイクロチャネルにリスポ
ンスを返さない(CD SFDBKはインアクティブの
ままである)。また、マイクロプロセッサ・バスの上で
サイクルは始まらない。
【0089】マイクロチャネルの仕様書で規定されてい
るように、マイクロチャネルのスレーブの書き込みで
は、エネーブルがアクティブになっているバイトだけが
チェックされる。マスター・アクセスに関しては、マイ
クロチャネルのアドレス・パリティーは、データ・パリ
ティーと同様に、マイクロプロセッサのバス上で生成さ
れ、あて先で、マイクロチャネル上のメインプロセッサ
のパリティー回路よってチェックされる。マイクロチャ
ネル・バス上のアドレス(たとえば、右側のDMAエン
ジン25によって生成されたアドレス)は、マイクロプ
ロセッサ22あるいはMSMU27によってチェックさ
れない。
【0090】アダプタはMSMUメッセージ・パケット
のそれぞれにCRCコードを生成しチェックを行う。こ
れは、パケット・ヘッダ、ルートワード(ノード標識)
およびメッセージ本体をカバーすることが望ましい。
【0091】アダプタのCRC(たとえば、エラー検出
アルゴリズム)は、FIFO Bのデータ・バス上のデ
ータを監視し、CRCコード(16ビットが望ましい)
を生成する。アダプタ・カードは、マイクロチャネルか
らFIFO Bバスを含むまでのデータに対してパリテ
ィー・チェックを行い、FIFO Bバスから出て高性
能交換機構を通るデータに対してCRCチェックを行
う。これにより、マイクロチャネルから高性能交換機
構、および、その逆の方向の両方向のデータに対して完
全なエラー検出が行われる。
【0092】CRCロジック51は2つのアクセス可能
なレジスタを持つ。これはたとえば、アダプタの初期化
のときにコードによってセットされるノード標識レジス
タと、パケット・ヘッダが送られるか受け取られるかす
る前の時点でプリセットされるCRCチェック・レジス
タである。1つの具体例として、エラー検出は以下のよ
うに行われるのが望ましい。
【0093】MSMUのパケット送り出しでは、マイク
ロプロセッサ22は4バイトのパケット・ヘッダをMS
MUヘッダ・レジスタに書き、さらに、あて先ノード標
識をダブルワードの上位部に入れる。このノード標識は
MSMU27によって無視されるがCRCチェック生成
で使われる。
【0094】次に、マイクロプロセッサ22はルートを
MSMUデータ・レジスタに書く。このダブルワードは
CRCロジック51によって無視される。マイクロプロ
セッサはメッセージ・パケット本体のMSMUデータ・
レジスタへの書き込みを開始する。メッセージ本体はマ
イクロプロセッサあるいはDMAによって直接書くか、
あるいは、マイクロプロセッサとDMAの双方を組み合
わせて書くことができる。CRCは、CRCチェック・
レジスタに転送されたすべてのメッセージ・データをコ
ード化する。次に、マイクロプロセッサはCRCチェッ
ク・レジスタを読み、チェックビットをMSMUのトレ
イラー・レジスタのバイト0とバイト1に書く。この2
つのバイトはパケットの最後のバイトでなければならな
い。
【0095】MSMUのパケットの受け取りでは、マイ
クロプロセッサは4バイトのパケット・ヘッダをMSM
Uヘッダ・レジスタから読む。CRCロジックは、その
ノード標識レジスタをCRCチェックのためのダブルワ
ードの上位部分に挿入する。受け取るカードのノード標
識レジスタが、パケットを送るとき使用したあて先ノー
ド標識と一致しない場合、CRCエラーが起こる。これ
は、たとえば、ルートのビットが落ち、パケットが間違
ったノードに着いたときに起こる。
【0096】次に、マイクロプロセッサ22は、メッセ
ージ・パケット本体をMSMUデータ・レジスタから読
み込むことを開始する。メッセージ本体はマイクロプロ
セッサ、あるいは、DMAによって直接読まれるか、あ
るいは、マイクロプロセッサとDMAの双方を組み合わ
せて読むことができる。CRC51は転送されたすべて
のメッセージ・データをチェックする。
【0097】次に、マイクロプロセッサは、MSMUト
レイラー・レジスタからトレイラーを読む。マイクロプ
ロセッサはCRCチェック・レジスタを読んで、受け取
られたものにエラーがあるかチェックする。エラーが検
出された場合は、パケットは捨てるべきである。
【0098】アダプタ・カードのパリティー・エラーに
関しては、アダプタがパリティー・エラーを検出する
と、次のCRCチェック・レジスタを読むまでCRCレ
ジスタは或る固定値を持たされる。これにより、送り出
しが進行しトレイラーの読み込みの間に送り出し側のノ
ードがパリティー・エラーを検出したときに、受け取る
側のノードにCRCエラーが起こることが保証される。
受け取るノードがCRCエラーを検出し、トレイラーC
RCが送り出しの際にパリティー・エラーが検出された
ときに送られた固定値であった場合には、送り出す側の
ノードがパリティー・エラーを持っていたと考えられ
る。この場合を除いては、通常、CRCコードがトレイ
ラーCRCを見なくてはならない理由がない。
【0099】勿論、本発明の原理の範囲で他の方法を使
っても同じ結果を得ることができるので、前記の実施例
は1つの例にすぎない。
【0100】さらに、図9に、クロックが失われたこと
を検出し、それにより、プロセッサ・ノードのハングア
ップを防ぐ機構を提供する装置を示す。
【0101】一般的に、アダプタ(および、本システム
および高性能交換機構で使用されている複数のアダプタ
のすべて)のクロックは、交換機構を通ってメインプロ
セッサに行くデータの同期をとるために単一のソース・
クロックによって提供されている。ソース・クロックが
失われた場合、カードがマイクロチャネルをハングアッ
プさせ、その結果、ノードの全体がハングアップする。
図9に示すように、本発明によるクロック検出回路は、
1対のカウンタ61と62を動かす発振器をつくるロジ
ックを用いる。これらのカウンタは、ソース・クロック
が生成するあらかじめ定められた波形(たとえば、矩
形)を持ち、波形の高い状態と低い状態によって交互に
リセットされる。クロックが失われると、少なくとも1
つのカウンタが最終カウントに達し、それにより、カー
ドの残余の部分がリセット状態になる。これにより、マ
イクロチャネルのバスのエラーが起こり、これをソフト
ウェアが検出し、次に、プログラマブル・オプション・
セレクト(Programmable Option Select(以下POSと
略す))を使ってカードを調べに行き、クロックが失わ
れていることがわかる。
【0102】本発明のクロック検出回路では、クロック
は外部ソースからデータとともに入ってくる。クロック
が割り込まれることもあり、その場合は、メインプロセ
ッサのハングアップが制限なく続く可能性がある。いく
つかの解決シナリオが考えられるが、従来のシステムで
はすべて難問であった。このような状況は防がねばなら
ず、本発明のクロック回路により、その種の状況を未然
に防ぐことができるようになる。
【0103】アダプタがスレーブとしてはたらくマイク
ロチャネル転送については上で述べた。スレーブ・モー
ドのとき、すなわち、アダプタがメインプロセッサに対
してスレーブとしてはたらくときは、メインプロセッサ
が、アドレスをマイクロチャネル・バスに入れることに
よって読み込みあるいは書き込みのオペレーションを開
始する。前記のマイクロチャネルの仕様書で規定された
一連のハンドシェイク信号の交換が行われてデータ転送
が実行される。クロックがない場合、転送は始まっても
決して終了せず、それにより、マイクロチャネルがハン
グアップし、したがって、メインプロセッサは(適切な
ハンドシェイクが起こらず)いつまでも終了しない。
【0104】本発明では、アダプタにクロックがない場
合、アダプタはリセットされ(したがって、サイクルが
スタートすることがない)、メインプロセッサはハング
アップしない。
【0105】同様に、オペレーションがトランズアクシ
ョン・サイクルのまんなかにあり、そのときクロックが
故障した場合、カードはリセットし、トランズアクショ
ンは直ちに終了させられる。メインプロセッサはこのよ
うな状態をエラーであると認識し、エラーをログに記録
し回復処理に進む(たとえば、POSレジスタを見て、
クロックが失われていることがわかる)。
【0106】メインプロセッサは、スレーブとマスター
との間で行われるすべてのマイクロチャネルとのオペレ
ーションを指示するハンドシェイク信号を通して、トラ
ンズアクション・サイクルが終了するのがわかる。これ
らの信号は転送のためのクロックに依存せず、カードが
リセットするときには、それぞれのデフォールト状態に
駆動される。
【0107】上述したように、本発明の特徴の1つは、
アダプタがメインプロセッサに対してマスターとしても
スレーブとしても動作できることである。アダプタがマ
スターとして動作するとき、クロックが故障すると、ア
ダプタがリセットするときにハンドシェイク信号をそれ
ぞれのデフォールト状態(たとえば、バスがハングアッ
プしない状態)に駆動することによってサイクルが直ち
に終了する。メインプロセッサは、サイクルが異常状態
で終了したことを認識し、エラーを記録し、回復処理に
進む。
【0108】図9に、それぞれが、外部クロックに依存
せずローカル・クロックによってクロックされ、外部ク
ロックによってリセットされる第1のカウンタと第2の
カウンタを含むクロック回路を示す。第1および第2の
カウンタのそれぞれの終末カウント信号がORゲート6
3に結合されている。第1および第2のカウンタ61と
62の終末カウント値は、それぞれ、外部クロック・ソ
ースよりも大きい周波数にセットされる。第1カウンタ
61は低いリセットを持ち、第2カウンタ62は高いリ
セットを持つ。外部クロックはカードのリセットに結合
されている。外部クロックが「高く」機能不全を起こし
た場合は第1カウンタが終末カウントに達し、外部クロ
ックが「低く」機能不全を起こした場合は第2カウンタ
が終末カウントに達する。この機構を備えているのは、
外部クロックがどのように機能不全を起こすかがわから
ず、2つのカウンタ61と62があることによって、両
方の状態に対応できるようにしている。同じ理由で、外
部クロックが正常に動作している場合は、カウンタが終
末カウント値にカウントを上げるよりも速く外部クロッ
クが両カウンタをリセットする。両カウンタが終末カウ
ント値に達する場合は、外部クロックが非常に遅く動作
しているか、あるいは、完全に止まっている場合であ
る。
【0109】ORゲート63の出力側はリセット・コン
ディションをアダプタに送るためのリセット伝達手段6
4に結合され、これにより、クロックが故障してもマイ
クロチャネルがハングアップ状態に放置されないように
し、さらにORゲート63の出力は、カード状態をログ
するための手段にも結合されている。このようにして、
カードをリセットするためと、POSレジスタに入力す
るためのドライバが提供されている。より具体的には、
POSレジスタの中の「リセット」ビットおよびその中
の「クロック」ビットがセットされる。
【0110】このようにして、第1または第2のカウン
タが終末カウントに達した場合、カードはリセットさ
れ、POSレジスタには「ノークロック」が記録され
る。アダプタがリセットされる場合、スレーブ・アクセ
スは、POSに「ノークロック」を記録することを除い
て、行うことができない。さらに、アダプタがリセット
されているので、マスター・アクセスも開始されない。
進行中のスレーブ・アクセスもマスター・アクセスも直
ちに止められる。メインプロセッサ2がPOSへアクセ
スするにはクロックを必要としないので、メインプロセ
ッサは、クロックが故障し、クロックに何が起こったか
を判断するために、POSレジスタをアクセスすること
ができる。
【0111】本発明によって提供される構造により、メ
インプロセッサはハングアップすることがない。さら
に、本発明は、本構造がバス上のコンディションを変え
ることができるという新規な構造を有するものである。
【0112】まとめとして、本発明の構成に関して以下
の事項を開示する。 (1)メインプロセッサのチャネルと交換機構との間に
結合されたアダプタに使用するクロック回路であって、
前記アダプタに結合された出力を持ち、第1の状態と第
2の状態を持つクロック信号を発生する、前記交換機構
の中のスイッチ・クロックと、前記の第1の状態から前
記の第2の状態に前記のクロック信号が遷移するのを検
出する、前記スイッチ・クロックの出力に接続された第
1の入力と、前記の第2の状態から前記の第1の状態に
前記のクロック信号が遷移するのを検出する、前記のス
イッチ・クロックの前記出力に接続された第2の入力
と、前記クロック信号の遷移の1つを検出するのに応じ
て初期値から終末値にカウントをはじめる、前記の第1
および第2の入力に接続されたカウンタと、クロック信
号の遷移が欠けると前記カウンタが前記終末値に達する
ように前記カウンタの周波数を前記クロック信号の周波
数より大きくし、前記カウンタが前記終末値に達するの
に応じてリセット信号を発生させる出力と、を有する前
記アダプタの中のカウンタ機構と、前記カウンタ機構の
前記出力に結合し、前記リセット信号に応じて前記アダ
プタをリセットするためのリセット手段と、前記リセッ
ト手段と前記メインプロセッサのチャネルとの間に結合
され、クロック信号の遷移が欠けた場合でも前記チャネ
ルがハングアップ・コンディションに放置されないよう
にするために、前記アダプタの前記リセット・コンディ
ションを前記チャネルに伝達するためのリセット伝達手
段と、を有するクロック回路。
【0113】
【発明の効果】本発明により、メインプロセッサが高性
能交換機構との通信を待つことから解放できるアダプタ
が提供され、これにより、アダプタが主にデータ転送タ
スクを実行している間、メインプロセッサは他のタスク
を実行することができる。さらに、アダプタは、データ
転送オペレーションにおいて、スレーブとしてもマスタ
ーとしてもはたらくことができる。さらに本発明は、ア
ダプタによって高性能交換機構の多重チャネルに結合さ
れているメインプロセッサのFIFOを管理する方法を
提供し、これにより、相対的に遅いバスを通るポリング
を不用にし、相対的に速いバスはデータ転送オペレーシ
ョンに使用できるようにしている。さらに、転送された
データの整合性を確実にするためにCRCとパリティー
・チェックをオーバラップさせた方法と構造を提供して
いる。また、本発明により、クロック・エラー検出の改
良された回路が提供され、これにより、データ転送オペ
レーション中にクロックが故障しても、メインプロセッ
サのハングアップが防げる。
【図面の簡単な説明】
【図1】プロセッサと高性能交換機構との間のアダプタ
の全体的な位置づけを図式的に示す図である。
【図2】アダプタとその構造を示す図である。
【図3】メインメモリにパケットFIFOを含む、本発
明によるシステムを示す図である。
【図4】本発明による、コプロセッサとメインプロセッ
サによる送り出しと受け取りオペレーション、および、
メインプロセッサのパケットFIFOの管理のフローチ
ャートを示す(図5、6、7に続く)。
【図5】図4に示したフローチャートの続きを示す。
【図6】図4と5に示したフローチャートの続きを示
す。
【図7】図4、5、6に示したフローチャートの続きを
示す。
【図8】本発明のアダプタにより転送されたデータの整
合性を確実にするための構造、具体的には、パリティー
・エラーとCRCエラーを検出するための構造を示す図
である。
【図9】本発明で使用するクロック回路を示す図であ
る。
【符号の説明】
1、20 アダプタ 2 メインプロセッサ・ノード 3 高性能交換機構 21 マイクロチャネル・インターフェース 22 マイクロプロセッサ 2a メインメモリ記憶装置 2b FIFO記憶装置 2b1、2b2 パケットFIFO 23 DRAM 24 左側のDMAエンジン 25 右側のDMAエンジン 26 双方向FIFOバッファ 26a 第1ポート 26b 第2ポート 26c 内部レジスタ(または「メールボック
ス」) 27 MSMU(メモリおよび交換機構管理
装置) 28 マイクロプロセッサ・バス 29 マイクロチャネル・バス 50 パリティー生成/チェック機構 51 マイクロチャネル・パリティー・チェ
ック回路 61、62 一対のカウンタ 63 ORゲート 64 リセット伝達手段
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 H04L 7/00 G 29/14 // H04L 12/56 H04Q 3/545 9466−5K H04L 11/20 102 A

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 メインプロセッサのチャネルと交換機構
    との間に結合されたアダプタに使用するクロック回路で
    あって、 前記アダプタに結合された出力を持ち、第1の状態と第
    2の状態を持つクロック信号を発生する、前記交換機構
    の中のスイッチ・クロックと、 前記の第1の状態から前記の第2の状態に前記のクロッ
    ク信号が遷移するのを検出する、前記スイッチ・クロッ
    クの出力に接続された第1の入力と、前記の第2の状態
    から前記の第1の状態に前記のクロック信号が遷移する
    のを検出する、前記のスイッチ・クロックの前記出力に
    接続された第2の入力と、前記クロック信号の遷移の1
    つを検出するのに応じて初期値から終末値にカウントを
    はじめる、前記の第1および第2の入力に接続されたカ
    ウンタと、クロック信号の遷移が欠けると前記カウンタ
    が前記終末値に達するように前記カウンタの周波数を前
    記クロック信号の周波数より大きくし、前記カウンタが
    前記終末値に達するのに応じてリセット信号を発生させ
    る出力と、を有する前記アダプタの中のカウンタ機構
    と、 前記カウンタ機構の前記出力に結合し、前記リセット信
    号に応じて前記アダプタをリセットするためのリセット
    手段と、 前記リセット手段と前記メインプロセッサのチャネルと
    の間に結合され、クロック信号の遷移が欠けた場合でも
    前記チャネルがハングアップ・コンディションに放置さ
    れないようにするために、前記アダプタの前記リセット
    ・コンディションを前記チャネルに伝達するためのリセ
    ット伝達手段と、 を有するクロック回路。
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 true JPH07282025A (ja) 1995-10-27
JP2802043B2 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)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006018514A (ja) * 2004-06-30 2006-01-19 Fujitsu Ltd 演算装置、演算装置の制御方法、プログラム及びコンピュータ読取り可能記録媒体
JP2013502015A (ja) * 2009-08-13 2013-01-17 クゥアルコム・インコーポレイテッド 効率的なデータ処理のための装置および方法
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

Families Citing this family (44)

* 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
US7472207B2 (en) * 2001-10-09 2008-12-30 Aftg-Tg, L.L.C. Optimized-incrementing, time-gap defect detection apparatus and method
US6691181B2 (en) * 2001-10-09 2004-02-10 Phillip M. Adams Programmatic time-gap defect detection apparatus and method
US7824348B2 (en) 2004-09-16 2010-11-02 Guided Therapy Systems, L.L.C. System and method for variable depth ultrasound treatment
US8444562B2 (en) 2004-10-06 2013-05-21 Guided Therapy Systems, Llc System and method for treating muscle, tendon, ligament and cartilage tissue
US20120165668A1 (en) 2010-08-02 2012-06-28 Guided Therapy Systems, Llc Systems and methods for treating acute and/or chronic injuries in soft tissue
US8535228B2 (en) 2004-10-06 2013-09-17 Guided Therapy Systems, Llc Method and system for noninvasive face lifts and deep tissue tightening
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
US11235179B2 (en) 2004-10-06 2022-02-01 Guided Therapy Systems, Llc Energy based skin gland treatment
US11883688B2 (en) 2004-10-06 2024-01-30 Guided Therapy Systems, Llc Energy based fat reduction
US20060111744A1 (en) 2004-10-13 2006-05-25 Guided Therapy Systems, L.L.C. Method and system for treatment of sweat glands
US8133180B2 (en) 2004-10-06 2012-03-13 Guided Therapy Systems, L.L.C. Method and system for treating cellulite
KR20120088861A (ko) * 2004-10-06 2012-08-08 가이디드 테라피 시스템스, 엘.엘.씨. 사람 피부 표층조직의 제어된 열치료 시스템
US9694212B2 (en) 2004-10-06 2017-07-04 Guided Therapy Systems, Llc Method and system for ultrasound treatment of skin
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
US8663112B2 (en) 2004-10-06 2014-03-04 Guided Therapy Systems, Llc Methods and systems for fat reduction and/or cellulite treatment
US7758524B2 (en) * 2004-10-06 2010-07-20 Guided Therapy Systems, L.L.C. Method and system for ultra-high frequency ultrasound treatment
US20060079868A1 (en) * 2004-10-07 2006-04-13 Guided Therapy Systems, L.L.C. Method and system for treatment of blood vessel disorders
US11207548B2 (en) 2004-10-07 2021-12-28 Guided Therapy Systems, L.L.C. Ultrasound probe for treating skin laxity
US11724133B2 (en) 2004-10-07 2023-08-15 Guided Therapy Systems, Llc Ultrasound probe for treatment of skin
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
ES2579765T3 (es) * 2006-09-19 2016-08-16 Guided Therapy Systems, L.L.C. Sistema para el tratamiento de tejido muscular, tendinoso, ligamentoso y cartilaginoso
TWI526233B (zh) 2007-05-07 2016-03-21 指導治療系統股份有限公司 利用聲波能量調製藥劑輸送及效能之系統
US20150174388A1 (en) 2007-05-07 2015-06-25 Guided Therapy Systems, Llc Methods and Systems for Ultrasound Assisted Delivery of a Medicant to Tissue
CA3206234A1 (en) 2008-06-06 2009-12-10 Ulthera, Inc. A system and method for cosmetic treatment and imaging
US20110041128A1 (en) * 2009-08-13 2011-02-17 Mathias Kohlenz Apparatus and Method for Distributed Data Processing
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
US9510802B2 (en) 2012-09-21 2016-12-06 Guided Therapy Systems, Llc Reflective ultrasound technology for dermatological treatments
CN204017181U (zh) 2013-03-08 2014-12-17 奥赛拉公司 美学成像与处理系统、多焦点处理系统和执行美容过程的系统
WO2014146022A2 (en) 2013-03-15 2014-09-18 Guided Therapy Systems Llc Ultrasound treatment device and methods of use
US9589637B1 (en) 2013-12-18 2017-03-07 Nxp Usa, Inc. Storage element with storage and clock tree monitoring circuit and methods therefor
WO2015160708A1 (en) 2014-04-18 2015-10-22 Ulthera, Inc. Band transducer ultrasound therapy
PL3405294T3 (pl) 2016-01-18 2023-05-08 Ulthera, Inc. Kompaktowe urządzenie ultradźwiękowe posiadające pierścieniowy zestaw ultradźwiękowy obwodowo połączony elektrycznie z elastyczną płytką drukowaną
IL293809B2 (en) 2016-08-16 2023-09-01 Ulthera Inc Systems and methods for cosmetic treatment of the skin using ultrasound
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

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6037815A (ja) * 1983-08-09 1985-02-27 Nec Corp クロツク検出回路
JPH0346854A (ja) * 1989-07-14 1991-02-28 Iwatsu Electric Co Ltd 電話機

Family Cites Families (17)

* 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 ウォッチドッグ・タイマ回路
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
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6037815A (ja) * 1983-08-09 1985-02-27 Nec Corp クロツク検出回路
JPH0346854A (ja) * 1989-07-14 1991-02-28 Iwatsu Electric Co Ltd 電話機

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006018514A (ja) * 2004-06-30 2006-01-19 Fujitsu Ltd 演算装置、演算装置の制御方法、プログラム及びコンピュータ読取り可能記録媒体
JP2013502015A (ja) * 2009-08-13 2013-01-17 クゥアルコム・インコーポレイテッド 効率的なデータ処理のための装置および方法
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

Also Published As

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

Similar Documents

Publication Publication Date Title
JPH07282025A (ja) クロック回路
US5664223A (en) System for independently transferring data using two independently controlled DMA engines coupled between a FIFO buffer and two separate buses respectively
US5448558A (en) Method and apparatus for managing packet FIFOS
US7363396B2 (en) Supercharge message exchanger
US5276684A (en) High performance I/O processor
US6065087A (en) Architecture for a high-performance network/bus multiplexer interconnecting a network and a bus that transport data using multiple protocols
KR970000274B1 (ko) 컴퓨터 시스템 및 그의 데이타 전송을 제어하는 방법
US20040151177A1 (en) Device to receive, buffer, and transmit packets of data in a packet switching network
EP0185609A2 (en) Coherent interface with wraparound receive and transmit memories
JPH118636A (ja) ファイバチャネルスイッチングシステム及びその方法
US6061274A (en) Methods and apparatus for message transfer in computer storage system
JPS5833972B2 (ja) 計算機システム間通信方式
JPH0775016B2 (ja) データ処理システム及びデータ通信バス・システム
US20090175290A1 (en) Flexray communications module, flexray communications controller, and method for transmitting messages between a flexray communications link and a flexray participant
JPH1083372A (ja) 遠隔メモリ間でデータを移動する回路、およびそのような回路を含む計算機
WO2001067713A1 (en) A packet format independent computer network controller
US7043612B2 (en) Compute node to mesh interface for highly scalable parallel processing system and method of exchanging data
JPH0816419A (ja) メッセージ・データ・エラー検出システム
JP3141948B2 (ja) 計算機システム
JPH0675796A (ja) パリティエラー記録装置
JP3450392B2 (ja) インタフェース装置及び周辺機器
JPH06131246A (ja) 共有メモリの非同期アクセス方式
JPH0524545B2 (ja)
JPS61177560A (ja) 高速の並列バス構造およびデ−タ転送方法