JP2654369B2 - プロセッサ・チャネル及び交換機構の間に設けられたアダプタ装置 - Google Patents
プロセッサ・チャネル及び交換機構の間に設けられたアダプタ装置Info
- Publication number
- JP2654369B2 JP2654369B2 JP7014599A JP1459995A JP2654369B2 JP 2654369 B2 JP2654369 B2 JP 2654369B2 JP 7014599 A JP7014599 A JP 7014599A JP 1459995 A JP1459995 A JP 1459995A JP 2654369 B2 JP2654369 B2 JP 2654369B2
- Authority
- JP
- Japan
- Prior art keywords
- main processor
- data
- bus
- dma
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling 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)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
- Small-Scale Networks (AREA)
- Multi Processors (AREA)
Description
ォーマンス・パケット交換機構とメイン・プロセッサと
の間にコミュニケーション・リンクを与えるための装
置、そのメイン・プロセッサにおけるファーストイン・
ファーストアウト(先入れ先出し)バッファを管理する
方法、その装置のエラー検出回路、及びその装置のため
の改良されたクロック障害検出回路に関するものであ
る。
ォーマンスは、プロセッサ・パフォーマンス及びコミュ
ニケーション・パフォーマンスに依存する。コミュニケ
ーション・パフォーマンスは最大の重要事であり、それ
は2つの要素、即ち、待ち時間及び帯域幅に分けられ
る。効率的なコミュニケーション・サブシステムを作る
ためには、両方の要素とも最適化されなければならな
い。
サ(例えば、RISCシステム/6000プロセッサ
等)と高パフォーマンス交換(HPS)機構との間にア
ダプタのような装置が使用されていた。しかし、これら
アダプタは、比較的遅いバスを介するすべてのデータ転
送に、メイン・プロセッサが関与する必要がある。従っ
て、データ転送が生じている間、メイン・プロセッサ
は、他のタスクを遂行することができなかった。これは
問題であり、メイン・プロセッサの最適化を可能にする
ものではない。
グ機構がアダプタ上で使用される標準的なシステムで
は、メイン・プロセッサとそのコプロセシング機構との
間の比較的遅いバスを介して不必要なトラフィックが行
われていたので、そのバスにおける利用可能なすべての
サイクルがアプリケーション・データを移動させるため
に使用されるわけではないという1つの関連問題があっ
た。これは、システムのコミュニケーション効率を下げ
ていた。
いバスを介して(例えば、メイン・プロセッサからコプ
ロセシング機構に、及びその逆に)ポーリングを(コミ
ュニケーション・タスクのために)使用していた。それ
は、メイン・プロセッサを速度低下させ且つ貴重な帯域
幅を利用し、それによって、そのシステム全体の効率を
低下させ、データ・バスにおいてアプリケーション・デ
ータとの競合を生じさせ、メッセージ待ち時間を増加さ
せ、そしてメッセージ帯域幅を減少させる。これがコミ
ュニケーション効率を低下させている。
でしか動作可能でなかった。即ち、それは、データ転送
を開始させることができなかった。メイン・プロセッサ
はマスタ(例えば、イニシエータ)でなければならず、
従って、前述のように、データ転送プロセス全体を通し
て一体的に関与しなければならないので、これは問題で
ある。
って、整合性)をチェックすることである。メッセージ
・パッシング・プロトコルを使用する並列システムで
は、情報のパケットがそのシステムにおけるプロセッサ
相互間で送られる。これらデータ・パケットは、通常、
ソース・プロセッサからネットワーク・ファブリックを
通して宛先プロセッサにパケットを案内する経路指定情
報を含んだヘッダを有する。或システムでは、メッセー
ジ・パケットがその宛先に到達する時に経路指定情報が
最早存在しないように、その経路指定情報がネットワー
ク・ファブリックによって消滅させられる(例えば、デ
ータ・ビットは、データ・パスに沿って進行しながら
「ドロップ・オフ」される)。経路指定データが脱落す
る場合、ネットワークはエラーを検出できず、パケット
は間違った宛先プロセッサへ経路指定され、その結果、
データの整合性エラーを生じることになる。
障害を起こした場合、メイン・プロセッサを無期限にハ
ングアップすることがあるということがもう1つの問題
であった。
ことがわかっても変更することが困難な固定した手段を
使用して、コミュニケーション・タスクを遂行する。
プタが主としてデータ転送タスクを行っている間にメイ
ン・プロセッサが他のタスクを遂行することができるよ
うに、プロセッサが高パフォーマンス交換機構とのコミ
ュニケーションを待つ必要がないようにしたアダプタを
提供することにある。
ペレーションにおいてスレーブとして及びマスタとして
働くことができるアダプタをメイン・プロセッサと高パ
フォーマンス交換機構との間に提供することにある。
スを介したポーリングが生じないように、メイン・プロ
セッサからアダプタへのコマンドを及びアダプタからメ
イン・プロセッサへの応答を待ち行列させる方法を提供
することにある。
ータの整合性を確実にするための方法及び装置を提供す
ることにある。
セッサとアダプタとの間の相互作用を制御する場合の融
通性を高めるための方法及び装置を提供することにあ
る。
タが存在しない場合でも、経路指定誤りのあるパケット
が検出されることを確実にするための方法及び装置を提
供することにある。
害を生じた場合にメイン・プロセッサのハングアップが
起こらないようにするクロック障害検出回路を提供する
ことにある。
は、メイン・プロセッサ及びそれのメモリとパケット交
換機構との間でデータを転送するためのアダプタが提供
される。そのアダプタは、メイン・プロセッサ及びそれ
のメモリに接続された第1バスと、その第1バスと第2
バスとの間に接続され且つ第1バスに接続された第1ポ
ート及び第2バスに接続された第2ポートを有する両方
向ファーストイン・ファーストアウト(FIFO)バッ
ファと、第2バスに接続されたコミュニケーション・プ
ロセッサと、第2バスに動作関係に接続されたメモリ
と、メイン・プロセッサとFIFOバッファとの間に接
続され且つメイン・プロセッサとFIFOバッファとの
間でデータを転送するための第1ダイレクト・メモリ・
アクセス(DMA)エンジンと、FIFOバッファと第
2バスとの間に接続され且つFIFOバッファと第2バ
スとの間でデータを転送するための第2ダイレクト・メ
モリ・アクセス(DMA)エンジンと、第2バス及び交
換機構の間に動作関係に接続され且つ第2バスをその交
換機構にインターフェースするためのパケット交換機構
インターフェースとを含む。この場合、パケットは、コ
ミュニケーション・プロトコルに従って、メイン・プロ
セッサのメモリとその交換機構との間でコミュニケーシ
ョンされる。又、第1及び第2DMAエンジンは、パケ
ットのためのデータを相互に独立して転送する。
分散機構に接続されたメイン・プロセッサのファースト
イン・ファーストアウト(FIFO)バッファのデータ
を管理する方法を提供する。メイン・プロセッサは、第
1バス及びそれに接続されたメイン・メモリを有し、ア
ダプタはコミュニケーション・コプロセッサ、第2バス
及びそれに接続されたローカル・メモリ、及びメイン・
メモリとローカル・メモリとの間でダイレクト・メモリ
・アクセス(DMA)転送を行うためのDMA装置を含
む。その方法は、メイン・メモリ及びローカル・メモリ
の両方に記憶された一組のパケットFIFOを設けるス
テップを含んでいる。それらパケットFIFOの各々
は、ヘッド・ポインタ及びそれと関連したテイル・ポイ
ンタを有する。メイン・メモリ・パケットFIFO及び
ローカル・メモリ・パケットFIFOのどちらかが送信
FIFOであり、メイン・メモリ・パケットFIFO又
はローカル・メモリ・パケットFIFOの他方が受信F
IFOである。その方法は、更に、送信FIFOから受
信FIFOにパケット・データのDMA転送を遂行する
ステップを含む。そのDMA転送は、パケット・データ
のDMA転送を開始及び終了させる時を決定するために
受信FIFOにおいて使用されるべきヘッド・ポインタ
情報及びテイル・ポインタ情報を含み、従って、ヘッド
・ポインタ情報及びテイル・ポインタ情報のために第1
及び第2バスの何れかを介してポーリングする必要がな
い。
サのチャネル及び交換機構の間に接続されたアダプタに
よる使用のためのクロック障害検出回路を含む。そのク
ロック障害検出回路は、アダプタの外部にあってそのア
ダプタに接続された出力を有し且つ所定の形状を持った
波(例えば、矩形波)を発生するクロック・ソース、及
びそのアダプタにおけるカウンタ機構を含む。そのカウ
ンタ機構は、クロック・ソースの出力に接続され、その
波が所定のレベル(例えば、「高」レベル)を有するか
どうかを感知するための第1入力(なお、ローカル的に
発生された波は所定の形状を有し、外部ソースには無関
係である)と、クロック・ソースの出力に接続され、そ
の波が第2の所定レベル(例えば、「低」レベル)を有
するかどうかを感知するための第2入力と、外部ソース
には無関係の所定の形状を持ったローカル的に発生され
た波(例えば、矩形波)によってクロックされ且つ第1
及び第2入力に接続され、初期値から最終値までのカウ
ンティングを開始するためのカウンタとを含む。そのカ
ウンタの周波数は、欠落したクロック信号遷移がそのカ
ウンタを最終値に到達させるように、その所定の形状を
持った波の周波数よりも大きい。更に、クロック障害検
出回路は、カウンタ機構の出力に動作関係に接続され、
そのアダプタをリセットするためのリセット装置、及び
そのリセット装置とメイン・プロセッサとの間に動作関
係に接続され、クロック信号遷移が損なわれた場合にメ
イン・プロセッサがハング状態のままになるのを回避す
るように、アダプタのリセット状態をメイン・プロセッ
サに送信するためのリセット送信装置を含む。
れたエラー検出回路を提供する。その回路は、パリティ
・データを含むメッセージ・データを送るためのメイン
・プロセッサと、メッセージ・データを受け取るための
メッセージ受信装置と、メイン・プロセッサとメッセー
ジ受信装置との間に接続され、メイン・プロセッサから
メッセージ・データを受信し、メッセージ受信装置にメ
ッセージ・データを送信するためのアダプタと、アダプ
タからメッセージ受信装置に送られたメッセージ・デー
タの終わりに送信されるべき巡回冗長検査(CRC)コ
ードを生成するためのそのアダプタにおけるCRC生成
器(CRCコードは、メッセージ受信装置によって受信
されたメッセージ・データにおけるエラーを検出するた
めのものである)と、CRC生成器に接続され、メイン
・プロセッサによってアダプタに送られたパリティ・デ
ータを検出するためのパリティ検出器とを含む。パリテ
ィ検出器は、そのパリティ検出器がパリティ・エラーを
検出した時、アダプタによってメッセージ受信装置に送
られたメッセージ・データの終わりにあるCRCコード
がエラーを含むように、パリティ・エラーが検出された
時、CRC生成器にCRCコードにおけるエラーを発生
させるための手段を含む。
ると、本発明によるアダプタ1が示される。アダプタ1
は、メイン・プロセッサ・ノード2(例えば、好ましく
は、本願の出願人によって製造されたRISCシステム
/6000(IBM社の商標)というコード名の機械)
と高パフォーマンス・交換機構(HPS)3(例えば、
本願の出願人が専有するパケット交換)の間のコミュニ
ケーションを実行するためのコミュニケーション装置で
ある。そのアダプタは、マイクロチャネル・バスのノー
ドにインターフェース可能である。
ード20及びそれの構成要素を更に詳細に示す。そのア
ダプタ・カードは、メイン・プロセッサがHPSを介し
てコミュニケーションすることを可能にする。そのアダ
プタとのコミュニケーションは、アダプタ・ノード又は
プロセッサ・ノードによって開始される。そのアダプタ
・カードは、メイン・プロセッサのマイクロチャネルを
そのアダプタにインターフェースするマイクロチャネル
・インターフェース21を含む。メイン・プロセッサ
は、ファーストイン・ファーストアウト記憶装置2bを
内蔵するメイン・メモリ記憶装置2aを含む。
て、又は非ストリーミング・スレーブとして働くことが
できる。特に、そのアダプタは、80MB/sのピーク
帯域幅を持ったマイクロチャネル・ストリーミング・マ
スタである。それは、10MHz転送クロックを使用し
て8バイト・ストリーミング又は4バイト・ストリーミ
ングをサポートする。クロック速度は、好ましくは、H
PSと同期した40MHzである。
の他に、そのアダプタ・カードはマイクロプロセッサ2
2(例えば、好ましくは、64ビット・データ・バス等
を有する)を含む。そのマイクロプロセッサは、コミュ
ニケーション・コプロセッサとして使用される。
ー訂正された動的ランダム・アクセス・メモリ(DRA
M)23が、そのマイクロプロセッサ22に動作関係に
接続されて設けられる。DRAM23はマイクロプロセ
ッサのプログラム記憶装置であり、プロトコル・データ
構造を保持する。それは、アダプタとメイン・プロセッ
サとの間のメッセージ・パッシング領域としても使用可
能である。更に詳細に後述するように、それは、コプロ
セッサ及びマイクロチャネルの両方によってアドレス可
能である。
のダイレクト・メモリ・アクセスを与えるために、少な
くとも2つのダイレクト・メモリ・アクセス(DMA)
エンジン(例えば、「左側」DMAエンジン24及び
「右側」DMAエンジン25)等がある。
・ファーストアウト(FIFO)バッファ26(例え
ば、好ましくは、少なくとも4kBの容量を有する)が
マイクロチャネル・インターフェース21に接続され
る。両方向FIFOバッファ26はDMAエンジン24
及び25によって(図2では、破線によって示されるよ
うに)制御可能であり、そしてそれは第1ポート26a
及び第2ポート26b(例えば、Aポート及びBポー
ト)を含む。更に、詳しく後述するように、両方向FI
FOバッファ26は、そのFIFOバッファをバイパス
する内部レジスタ(例えば、「メールボックス」)26
cを有する。
27として知られている標準的セルのASIC(特定用
途向け集積回路)は複数個のレジスタを含み、マイクロ
プロセッサ22、両方向FIFOバッファ26、HP
S、及びDRAM23と動作関係に接続され、DRAM
23のためのDRAMコントローラとして働く。MSM
U27はマイクロプロセッサ22のためのDRAMコン
トローラでもあり、それはマイクロプロセッサをHPS
にインターフェースする。
又はメイン・プロセッサによって、メールボックスを介
してアクセス可能である。DMAエンジン24、25は
2つのアダプタ・バス28、29の各々を介してストリ
ーミング・データの転送を行う。左側に関して、左側D
MAエンジン24がマイクロチャネル・インターフェー
ス21及び両方向FIFOバッファ26の間で転送す
る。右側に関しては、右側DMAエンジン25が両方向
FIFOバッファ26及びマイクロプロセッサ22の間
で転送する。
バイト/sマイクロプロセッサ・バス28(例えば、比
較的速いバス)を遅いマイクロチャネル・バス29から
切り離して両方のバスの同時使用を可能にする。これ
は、マイクロプロセッサが計算を行っている間にデータ
がマイクロチャネルを介して転送されるのを可能にす
る。マイクロチャネルに比べてマイクロプロセッサ・バ
スが高速度であることは、マイクロプロセッサによる計
算がHPSとのデータ転送と時間多重化されることを可
能にする。これは、メイン・プロセッサが転送待ちの間
に他の処理を自由に行えるので、通常のシステムに比べ
て大きな利点を与えるものである。
うに、アダプタは、マイクロチャネル・スレーブとして
メイン・プロセッサによってアクセス可能であり、或い
はマイクロチャネル・マスタとしてメイン・プロセッサ
のメモリをアクセス可能である。アダプタ・カードがマ
イクロチャネル・アドレスをデコードする時、マイクロ
プロセッサは、マイクロチャネル・マスタが1サイクル
(例えば、1マイクロチャネル・サイクル)の間それの
バスを使用し得るようにそのバスを切り離す。しかる
後、コントロールはマイクロプロセッサに戻る。メイン
・プロセッサにおけるユーザ・スペース・アプリケーシ
ョンからアダプタにおけるシステム・データを保護する
ために、ハードウエアがアクセス・チェックを行う。
プロセッサにアクセス可能なものとして、カード構成可
能なレジスタ(例えば、そのカードがデコードするマイ
クロチャネル・アドレスを設定するスタート/ストップ
・マイクロプロセッサ、リセット・カード)がある。
ール・ボックス26cを介してアダプタDRAM23に
マイクロプロセッサ・コードをロードし、構成可能なレ
ジスタを介してマイクロプロセッサの動作を開始させ
る。右側DMAエンジン25又はメイン・プロセッサが
マイクロプロセッサ・バスの使用を必要とする時、その
プロセッサは自動的にそのバスを切り離し、そしてアク
セスが完了した時にそのバスに戻される。このオペレー
ションは、メイン・プロセッサ及びマイクロプロセッサ
には透明である。
への割込みを駆動すること及びマイクロチャネルからの
割込を受けることが可能である。典型的には、割込は例
外報告のために使用される。前述のように、及び更に詳
しく後述するように、メイン・プロセッサとコプロセッ
サとの間の正常なメッセージ・パッシングがメモリで行
われる。
タは、HPSからマイクロチャネルに、及びマイクロチ
ャネルからHPSに、データを流すことができる。それ
は、マイクロチャネルからDRAMにも、及びその逆に
もデータを流すことができ、マイクロプロセッサは、マ
イクロチャネル・データをロード及びストアすることが
できる。コプロセッサはすべてのDMA転送を開始さ
せ、DMAポートとして知られたそのアダプタにおける
或アドレス範囲に書込みを行い、その後、その結果を見
るためにそれらポートを読み出す。
特の「ヘッダ」アーキテクチャを通してマイクロプロセ
ッサにより制御される。このヘッダはファーストイン・
ファーストアウト(FIFO)待ち行列を通して移動
し、従って、一時にいくつものヘッダが待ち行列するこ
とが可能な両方向FIFOバッファ26に移動する。そ
して、LHSが前のヘッダを終了する時、それはそのバ
ッファから次のヘッダを引き出し、マイクロチャネル・
マスタ・オペレーションを開始させる。それらヘッダ
は、LHSフェッチ又はストア・オペレーションのため
のものでもある。ストア・オペレーションのためのデー
タが、FIFOバッファでは、そのヘッダのすぐ後に続
く。従って、制御及びデータ情報が同じパスを移動す
る。簡単に云えば、更に詳しく後述するように、LHS
/RHSブリッジは両方のバスではマスタ及びスレーブ
として作用する。例えば、LHSは、前述のように、マ
イクロチャネルではマスタであり、マイクロチャネルか
らデータをフェッチすること、又はマイクロチャネルに
データをストアすることができる。
間、マイクロチャネルをモニタする(LHSはマイクロ
チャネルに対するスレーブである)。スレーブ・サイク
ル(又は、PIO、即ち、プロセッサI/O)は、LH
Sマスタ・オペレーション及びRHSマスタ・オペレー
ションの両方に割込を行うことができ、それによって、
PIOが素早く克つ自動的に(例えば、単一のユニタリ
・オペレーションで)生じるのを可能にする。メイン・
プロセッサは、進行中のDMAオペレーションがアダプ
タとのコミュニケーションを終了するのを待つ必要がな
く、PIOが有効になったことを保証される。スレーブ
・サイクルのデコードの時、LHSがRHSに割込を行
い、両方がマイクロプロセッサ・アドレス・スペースへ
のアトミックPIOを実施するようにする。LHSは、
PIOが終了するのを可能にする前に、RHS肯定応答
を待つ。
ロプロセッサ・スレーブ制御ポートによって制御され
る。例えば、FIFOポート26b(図2に示される)
が設けられる。マイクロプロセッサがFIFOポート2
6bに対して読み取り又は書込みを行う時、そのブリッ
ジはマイクロプロセッサ・バス・スレーブとして働く。
マイクロプロセッサ22は、ストアを行うために及びス
トアされるべきデータをFIFOバッファに入れるよう
RHS−DMAを開始させる(ブリッジがバス・マスタ
になり、マイクロプロセッサ・アドレス・スペースにお
ける何処かへの又は何処かからのパイプライン・サイク
ルを実行する)ためにLHSにヘッダを送ること、フェ
ッチを行うためにLHSにヘッダを送ること、マイクロ
プロセッサ・アドレス・スペースにおける何処かにLH
Sでフェッチされたデータを移動させるためにRHS−
DMAを開始させること、RHS−DMAを開始させる
ことなくストアを行うようLHSにヘッダを送ること、
及びFIFOバッファから直接にデータを読み取ること
又はFIFOバッファに直接にデータを書き込むことを
含む。
て知られた或範囲のアダプタ・アドレスの1つに書き込
むことによってDMA転送を開始する。DMAポート・
アドレスの選択項目及びDMAヘッダとして知られたそ
のポートに書き込まれた第1ワードの内容が、DMA活
動を制御するための手段と共にそのマイクロプロセッサ
に与えられる。本質的には、DMAポート・アドレスの
選択は右側DMAエンジン25を制御し、両方向FIF
Oバッファ26を通して移動するそのヘッダにおけるデ
ータは左側DMAエンジン24を制御する。
る。そのアドレスの1つのフィールドはすべてのポート
・アドレスに対して同じである。これらのビットは、D
MAポートがアドレスされつつあることを右側DMAエ
ンジン25に表示する。もう1つのフィールドは、転送
が始まるべきマイクロプロセッサ・バスを介してアドレ
スを指定する。追加のアドレス・ビットが、それがゼロ
である時に右側DMAエンジン25を不能にする制御ビ
ットとして働く。このビットの目的については、更に詳
しく後述することにする。
及び右側DMAエンジン25の両方に有用な情報(例え
ば、転送されるべきワードの数)及び左側DMAエンジ
ン24によってのみ使用される情報を含んでいる。この
情報は、転送が始まるべきマイクロチャネル・アドレス
を含む。
MA書込(例えば、アダプタ・メモリ又は交換機構から
メイン・プロセッサ・メモリ2aへのデータ転送)を開
始する。マイクロプロセッサはDMAポートに書込みを
行い、データのソースがメモリであるか或いは交換機構
であるかを暗黙的に表示する。ヘッダは両方向FIFO
バッファ26に書き込まれる。しかる後、右側DMAエ
ンジン25はプロセッサをバスから切り離し、アダプタ
・メモリ又はHPSから両方向FIFOバッファ26に
データを転送する。その転送に続いて、バスのコントロ
ールがマイクロプロセッサに戻される。その後、DMA
ヘッダが両方向FIFOバッファの頭に到達する時、そ
れは左側DMAエンジン24によってフェッチされる。
その左側DMAエンジン24は、両方向FIFOバッフ
ァ26からマイクロチャネルへのリクエストされた数の
データ転送を遂行し、そのヘッダを廃棄する。
モードをサポートする。このモードでは、右側DMAエ
ンジン25が開始する前に、DMAヘッダは両方向FI
FOバッファに書き込まれずに廃棄される。このモード
は、マイクロプロセッサがマイクロプロセッサ・レジス
タからのデータ及び交換機構からのデータを含むブロッ
クをメイン・メモリ2aにおける連続ロケーションに書
き込みたい時に使用される。「ヘッダレス」モードを使
用すると、2つ又はそれ以上のそのようなブロックが単
一の左側DMAエンジン24を使って、マイクロチャネ
ルを介して転送される。
ば、メイン・プロセッサ・メモリ2aからアダプタ・メ
モリ(例えば、DRAM23又は交換機構)へのデータ
転送)を2ステップ・プロセスとして遂行する。
ッサは読取りを指定したDMAヘッダを書き込む。それ
は、いくつかのDMAポート・アドレスのうちのどれか
に書込みを行うことができ、その場合、右側DMAエン
ジンをイネーブルするそのアドレスのビットが無効にさ
れる。これらアドレスのうちのどれかへの書込の結果、
右側DMAオペレーションを遂行することなくDMAヘ
ッダが両方向FIFOバッファ26に置かれる。その
後、ヘッダが両方向FIFOバッファの頭に到達する
時、それは左側DMAエンジン24によってフェッチさ
れる。左側DMAエンジン24は、プロセッサ・メモリ
から両方向FIFOバッファ26へのリクエストされた
数のデータ転送を遂行する。
ップでは、マイクロプロセッサは、読取りを指定するD
MAヘッダを再び書き込む。しかし、この時、ヘッダは
イネーブルされた右側DMAエンジン25によってポー
ト・アドレスに書き込まれる。これは、右側DMAエン
ジン25に、プロセッサをバスから切り離させ、リクエ
ストされた数のバイトをFIFOバッファ26からアダ
プタ・メモリ(MSMU)27又は交換機構へ転送させ
る。その転送に続いて、バスのコントロールはマイクロ
プロセッサ22に戻される。そのヘッダは廃棄され、両
方向FIFOバッファには置かれない。
一旦マイクロプロセッサが右側DMAエンジンを開始さ
せると、それが開始させたDMA転送が完了してしまう
まで、それがそのバスにおける他のアクションを遂行で
きないように、右側DMAエンジンのタイミングが設計
される。
ロセッサ22から左側DMAエンジン24に命令を搬送
する。マイクロプロセッサが左側DMAエンジン24
を、直接ではなく,FIFOバッファ26を介して制御
するという方法は、左側ポートが直接に制御される通常
の方法に比べていくつかの利点を有する。例えば、デー
タと共にコマンドをFIFOバッファに置くことは、転
送されるべきデータとDMA制御を自動的に同期させ
る。更に、その両方向FIFOバッファは、マイクロプ
ロセッサ22が、左側DMAエンジン24からの一連の
コマンドをそのFIFOバッファの容量まで、その左側
DMAエンジン24の終了を待つことなく、待ち行列化
することを可能にする。これは、コミュニケーション処
理がプロセッサ・メモリへの及びプロセッサ・メモリか
らのデータ転送と同時に生じることを可能にするもので
ある。
は、プロセッサのメイン・メモリを読取り及び書込むた
めに左側DMAエンジン24によって行われるマイクロ
チャネル読取り及び書込をマップする。
ードが初期設定される時、左側DMAエンジン24は、
それのFIFOポートを連続的にチェックしてそこに現
れる最初のデータをDMAヘッダとして判断し、その左
側DMAエンジンがマイクロチャネル「マスタシップ」
(比較的長いアービトレーション・プロセスを要する)
を取らなければならないデータ転送をマイクロチャネル
において遂行する。アダプタは、このアービトレーショ
ン遅延の影響を最小にするためにいくつかのアクション
を取る。先ず、両方向FIFOバッファにヘッダが存在
することによって、左側DMAエンジンは、それがその
時マスタシップを持っていない場合、アービトレーショ
ン・プロセスを開始させられる。このアービトレーショ
ンは、ヘッダがそのFIFOバッファから読み取られる
前でも開始する。従って、FIFOアクセスとオーバラ
ップする。アービトレーションによる遅延を最小にする
ための第2の技法として、何らかのデータ又はヘッダが
両方向FIFOバッファに残っている限り、左側DMA
エンジン24はマイクロチャネルのマスタシップを保持
する。それは、両方向FIFOバッファが空である場
合、又はそのバスのルールによりそれがマスタシップを
開放させられる場合しかそのマスタシップを開放しな
い。
がヘッダであるか及びどれがデータであるかに関する曖
昧さはない。DMA書込みの場合、ヘッダの後に、メイ
ン・プロセッサに書き込まれるべきデータが続く。ヘッ
ダは、転送の長さを指定することによって、両方向FI
FOバッファ26において如何に多くのデータ・ワード
がヘッダに後続するかも表す。左側DMAエンジン24
が両方向FIFOバッファ26からその指定された量の
データを転送してしまった後、それは、両方向FIFO
バッファにおける次の項目を新しいヘッダとして判断す
る。同様に、DMA読取りをリクエストするヘッダは単
独である。DMA読取りリクエストを処理した後、左側
DMAエンジン24は、次のFIFO項目を新しいヘッ
ダとして判断する。
セッサ2の活動とそれの活動とを調整するために、それ
のDMAのプロセスをモニタできなければならない。こ
のオペレーションのための手段は、そのアダプタでは、
DMA未決及びDMA応答という2つのカウンタによっ
て与えられる。
ストが完了を待って両方向FIFOバッファ26におい
て待ち行列しているかを表す。そのカウントは、1つの
完全なDMA書込みリクエストが両方向FIFOバッフ
ァに入った時(例えば、ヘッダの後に、そのヘッダで指
定された量のデータが続いた時)、インクレメントされ
る。そのカウントは、左側DMAエンジン24が書込み
を完了した時(例えば、左側DMAエンジンがヘッダに
より指定されたデータの最後の転送を遂行した後)、デ
クレメントされる。
りリクエストがメモリ又は交換機構への転送を待ってF
IFOバッファで待ち行列しているかを表す。それは、
マイクロチャネル・データ読取りのリクエストが完了し
た時(例えば、DMAヘッダにおいてリクエストされた
すべてのデータがFIFOバッファの中に入れられてし
まった後)、インクレメントされる。DMA応答は、デ
クレメントされることがない。マイクロプロセッサは、
DMA応答のカウントがそのカウントの最後のチェック
以後にどのくらい増加したかを決定する。DMA未決の
デクレメントを監視しながら、マイクロプロセッサは、
書込みがマイクロチャネルに移されたことによってそれ
を知る。DMA応答のインクレメントを監視しながら、
マイクロプロセッサは、それの読取りリクエストがマイ
クロチャネルから戻ったことを知る。
てDMAを実行する方法に関してコントロールをマイク
ロプロセッサに与えるのみならず、マイクロチャネルの
アドレス・スペースへの又はマイクロチャネルのアドレ
ス・スペースからのPIOに対する機能をマイクロプロ
セッサに与える。本発明の主要な利点の1つは、それ
が、コミュニケーション・タスクを分割して効率的なプ
ロトコルの開発を可能にするという大きな融通性を、ア
ダプタ・カード上で及びメイン・プロセッサにおいて走
るソフトウエアに与える、ということである。
構インターフェースを含むそれの機構とのコミュニケー
ションを、アダプタ上のバス遷移機構を通して開始させ
ることができる。バス遷移は、或範囲のマイクロチャネ
ル・アドレスを、アダプタのマイクロプロセッサ・バス
におけるサブセットのアドレスにマップする。このマッ
ピングは、DMAを除いたそのマイクロプロセッサにア
クセス可能なすべてのカード資源へのアクセスをメイン
・プロセッサに与える。
・バスへのデータ・パスは、FIFOバッファのチップ
内のバイパス・レジスタ又は「メールボックス」26c
(簡単に前述し、図2に示した)を使用して、FIFO
バッファをバイパスする。従って、これらのアクセスは
管理されない。それらは同時に生じる。両方向FIFO
バッファにおける制御信号は、そのFIFOバッファ・
パス又はメールボックス・パスが使用されるべきかどう
かを決定する。メイン・プロセッサがマイクロプロセッ
サ・バスへのアクセスを得る必要がある時、そのバス
は、マイクロプロセッサにより又は右側DMAエンジン
25により使用中であってもよい。データが、読取り時
にはメールボックスに又は書込み時にはメールボックス
から転送されてしまうまで、アダプタ・ロジックがマイ
クロプロセッサをバスから外すか、又はDMAを一時停
止する。
イト幅であり、一方、マイクロチャネルのデータ・バス
は4バイト幅であるので、書込み時には、マイクロチャ
ネルのデータはマイクロチャネル・バス上にデマルチプ
レクスされなければならず、一方、読取り時には、マイ
クロプロセッサ・バスのデータはマイクロチャネル上に
マルチプレクスされなければならない。マイクロチャネ
ルがマイクロプロセッサ・バスの上位4バイトを持つか
又は下位4バイトを持つかは3番目に下位のマイクロチ
ャネル・アドレス・ビットA<2>によって決定され
る。A<2>が「高」レベルである時には、マイクロチ
ャネルは上位4バイトとコミュニケートし、それが
「低」レベルである時には、マイクロチャネルは下位4
バイトとコミュニケートする。
及びデマルチプレクシングを遂行するための代替え手段
を提供する。モード32及びモード64と呼ばれるこれ
ら代替え手段は、マイクロプロセッサ・バスにおいて行
われるアクセスの数が異なっている。モード32では、
各マイクロチャネル・アクセスに対して1つのアクセス
がマイクロプロセッサ・バスにおいて生じる。一方、モ
ード64では、各2つのマイクロチャネル・アクセスに
対して1つのマイクロプロセッサ・アクセスが生じる。
方のバスに送られる前に、そのデータがメールボックス
・レジスタにおいて累積されことを意味する。モード3
2は、アダプタ・メモリへのアクセス及びアダプタ・カ
ード上の殆どのレジスタへのアクセスに都合がよい。そ
れは、交換機構・インターフェース・ロジック内の8バ
イト幅FIFOバッファに対する読取り及び書込みがで
きず、これらのアクセスに対しては、モード64が使用
されなければならない。モード64は、メイン・プロセ
ッサが、8バイト位置合わせされた第1アクセスのマイ
クロチャネル・アドレス及び第1アドレスに後続した第
2アドレスでもってアダプタ・アクセスを対で行うこと
を必要とする。モード32とモード64との間の選択
は、メイン・プロセッサがそのアダプタ・カードに対し
て使用するマイクロチャネル・アドレスに基づいて、メ
イン・プロセッサにより動的に行われる。
ッサ22にアクセスし得ないそのカード上の構成レジス
タをアクセスすることもできる。これらのレジスタは、
アダプタを初期設定するために、それにマイクロチャネ
ル・アドレス機能を与えるために、並びにパリティ及び
マイクロチャネル・ストリーミングのような他の各種マ
イクロチャネル関連機能を選択的にイネーブル又はディ
スエーブルするために使用される。
の管理を見ると、及び図2、図4乃至図7を参照する
と、メイン・システム(例えば、RISCシステム/6
000プロセッサ)の記憶装置に記憶されたパケットF
IFOのセット2b1,2b2におけるDMAオペレー
ションを使用して、交換パケットがアダプタに又はアダ
プタから移動される。FIFOの1つのセットはカーネ
ルのためのものであり、FIFOのもう1つのセットは
ユーザのためのものである。
のFIFOは出力パケットのためのものであり、各パケ
ットFIFOのセットにおける第2のFIFOは入力パ
ケットのためのものである。これら2つのFIFOの管
理は、メイン・プロセッサ2とマイクロプロセッサ22
(以下では、代わりに、コプロセッサとも呼ぶ)の間に
新規な方法で分配され、意外に優れた利点を示す。
レベルでパケットをその出力FIFOへ移動させ、メッ
セージをそのメモリに入れることによってコプロセッサ
に知らせるであろう。コプロセッサはそれのハードウエ
アを使用してそのパケットをMSMUへ移動させるであ
ろう。
関しては、コプロセッサは、パケットが到来したことを
認識し、そのパケットのヘッダを見つけ、それを何処に
移動すべきかを決定し、それのハードウエアを使用して
そのパケットを移動させる。コプロセッサのメモリ23
には、FIFO送信をミラーする制御情報(例えば、パ
ケットの長さ)がある。
ロセッサ及びメイン・プロセッサは比較的低速のバスに
よって分離されている。各プロセッサは、それ自身の高
速ローカル・バス上にそれ自身のローカル・メモリを有
するが、低速バスを介した他のプロセッサのメモリへの
アクセスも有する。低速のバスを介した不必要なトラフ
ィックを回避して高速のバスにおける利用可能な殆どす
べてのサイクルがアプリケーション・データを移動する
ために使用されるよう、本発明は、低速のバスを介した
ポーリング(メイン・プロセッサを減速させ、貴重な対
域幅を利用する)を回避したFIFO管理方式を使用
し、それによって、システム全体の効率を高める。
FOはそれと関連したヘッド・ポインタ及びテイル・ポ
インタを有する。データがFIFOに置かれる時、テイ
ル・ポインタがインクレメントされる。データがFIF
Oから取り出される時、ヘッド・ポインタがインクレメ
ントされる。本願の設計では、両方のポインタとも、ア
プリケーションによって最も容易に使用されるメイン・
プロセッサのメモリに記憶される。しかし、常套手段の
ようにヘッド・ポインタ及びテイル・ポインタの両方を
メイン・プロセッサのメモリに記憶するのではなく、む
しろ、メイン・プロセッサのメモリ及びコプロセッサの
メモリにヘッド・ポインタ及びテイル・ポインタを分布
させて、低速のバスを介した制御情報に関するポーリン
グを回避するように設計してもよい。
・ポインタはコプロセッサのローカル・メモリに記憶さ
れ、ヘッド・ポインタはメイン・プロセッサのローカル
・メモリに記憶される。又、メイン・プロセッサは、そ
れがテイル・ポインタのキャッシュされたコピーを更新
する唯一のプロセッサであるので、そのキャッシュされ
たコピーを保持する。コプロセッサは、それがヘッド・
ポインタのキャッシュされたコピーを更新する唯一のプ
ロセッサであるので、そのキャッシュされたコピーを保
持する。
置を有する循環式待ち行列と同じようにしてもよい。そ
の場合、その待ち行列におけるデータの量に従って、F
IFOのヘッド・ポインタが或位置を指すと、テイル・
ポインタは他の位置を指す。情報がその待ち行列(FI
FO)内に入れられると、テイル・ポインタはインクレ
メントされる。一方、情報がその待ち行列から取り出さ
れる時、ヘッド・ポインタがインクレメントされる。ヘ
ッド・ポインタ及びテイル・ポインタに関するすべての
演算は、FIFOのサイズを法とするものである。
ペレーションに関しては、そのメイン・プロセッサがパ
ケットを送る準備ができた(例えば、パケットがFIF
Oにおけるエントリであり、パケット・フレームの形に
編成される)時、それは、先ず、それのローカル・メモ
リにおけるヘッド・ポインタをポーリングし、そしてテ
イル・ポインタのキャッシュされた値とそれを比較し
て、出力FIFO内にスペースがあるかどうかを決定す
る(例えば、テイル・ポインタ(+2)がヘッド・ポイ
ンタに等しくないかどうかを知るためにチェックす
る)。出力FIFO内にスペースがある場合、メイン・
プロセッサ2はパケットをそのFIFOに書き込み、更
新されたテイル・ポインタをコプロセッサのローカル・
メモリに書き込む。コプロセッサは、ヘッド・ポインタ
のキャッシュされた値を有する。コプロセッサは、出力
パケットをポーリングし、ヘッド・ポインタのキャッシ
ュされた値とそれのローカル・メモリに記憶されたテイ
ル・ポインタの値とを比較する。入力パケットに対して
は、テイル・ポインタはメイン・プロセッサのローカル
・メモリに記憶され、ヘッド・ポインタはコプロセッサ
のローカル・メモリに記憶され、そしてパケットを受信
するオペレーションは送信オペレーションと対称的にな
る。
両方がメイン・プロセッサのローカル・メモリに記憶さ
れる標準的な実施方法では、コプロセッサによるポーリ
ングは低速のバスを介するものとなり、それによって、
そのバスにおけるアプリケーション・データとの競合を
生じさせ、ポーリング遅延の増加によりメッセージ待ち
時間を増加させる。そのような問題は、本発明による装
置及び方法によって回避される。
ーを有し、それがメイン・プロセッサのメモリにおける
「送信ヘッド」を更新する時にそれを周期的に更新す
る。更に、各パケットにおいて、論理的ノード番号及び
経路番号を含むダブルワードがその長さと共にデータに
先行し、従って、コプロセッサがそのパケットをDMA
転送する時、両方向FIFOバッファ26における第1
の項目はそのノード番号及び経路番号であり、コプロセ
ッサはそれをレジスタから呼び出し又はレジスタに記憶
する。それは、キー、ウインドウ(カーネル及びユーザ
に関連し、従って、データをどのFIFOに入れるべき
かをアダプタが知ることを可能にする)、及びこのパケ
ットの宛先の実(物理的)ノード番号を見つけるべくテ
ーブルをルック・アップするためにこのデータを使用す
る。
確認するために、キーが宛先に送られる。論理的ノード
番号が実ノード番号に変換され、しかる後、経路を決定
するために第2の変換がある。
指定したかに関係なく、ノード及び経路情報は、データ
が正しい宛先(ノード)に到達すること及び間違ったタ
スク番号が指定された場合に無効をマークされることを
保証する。従って、ユーザは認められたアドレスだけを
アクセスすることができ、ノードは擬似データを受け取
らないように保護される。
レーションに対して、メイン・プロセッサ2は、先ず、
「送信テイル」(+2)のキャッシュされたコピーがそ
れ自身に記憶された「送信ヘッド」に等しくなく、コプ
ロセッサによって更新された(例えば、FIFOが満杯
でない)かどうかを決定するためのチェックをする。そ
れらが等しい場合、「送信テイル」が「送信ヘッド」に
等しくなくなるまで、従って、FIFOが満杯でなくな
るまで、ポーリングが内部的に生じる(例えば、ローカ
ル的には、メイン・プロセッサは「送信ヘッド」を読取
り、それをそれのキャッシュされた「送信テイル」に比
較する。メイン・プロセッサは低速のマイクロチャネル
・バスを介して送信する必要はない)。コプロセッサが
FIFOからデータを取り出す時、メイン・プロセッサ
は、FIFOに余地があることを直ちに(1トランザク
ション内で)知るであろう。従って、ポーリングは非常
に速いであろうし、DMAとの干渉はない。
イン・プロセッサのメイン・メモリにおけるFIFOに
(FIFOの「送信テイル」位置に)データを移動す
る。更に、論理的コード及び経路がFIFOスロットの
中に移動させられる。しかる後、メイン・プロセッサは
コプロセッサのメモリ23における長さを更新し、「送
信テイル」(それのキャッシュされたコピー及びコプロ
セッサのメモリ・バージョンの両方)を更新する。
対しては、コプロセッサ22は、それのメモリにおける
コプロセッサの「送信テイル」のチェックをポーリング
でもって開始し、それによって、受信FIFOが空でな
いかどうかを決定する。従って、コプロセッサは、キャ
ッシュされた「送信テイル」(+1)が「送信ヘッド」
に等しいかどうかを決定する。それが等しい場合、「送
信テイル」(+1)が「送信ヘッド」に等しくなくなる
までポーリングが続く。コプロセッサはそれ自身の「送
信ヘッド」(及びDMAオペレーションによるメイン・
プロセッサ2の「送信ヘッド」)を更新する。それは、
メイン・プロセッサが「送信ヘッド」を更新する必要が
ないので、プロセスをずっと効率的にする。
が一旦決定されてしまうと)、コプロセッサ22はデー
タ長(DRAMにあり、その長さはメイン・プロセッサ
2によってDRAMに入れられる)を読み取り、そして
DMA読取りリクエストを開始させるためにアダプタに
おけるDMAポート26bにDMA読取りリクエストを
書き込む。そのDMA読取りリクエストは、メイン・プ
ロセッサの出力FIFOからパケットをフェッチするよ
うにそしてそのパケットを両方向FIFOバッファ26
へ移動させるように左側DMAエンジン24に要求する
ものである。そこで、コプロセッサ22は、データが両
方向FIFOバッファ26に到達するのを待つ。データ
が到達すると、直ちに、コプロセッサは、両方向FIF
Oバッファ26から論理的ノードを受け取って変換(例
えば、ノード、キー、及びウインドウ)を遂行し、MS
MUヘッダ(ノード、キー、ウインドウ、及び長さ)を
書き込む。コプロセッサは右側DMAエンジンを開始さ
せて、両方向FIFOバッファ26からMSMU27に
データを移動させる。しかる後、コプロセッサは、「送
信ヘッド」のそれ自身のキャッシュされたコピーをイン
クレメントし、メイン・プロセッサ2のメモリにおける
「送信ヘッド」を移動又は更新する(DMAを介し
て)。
ダプタによって、システムがポーリングを行っている
間、そのポーリングのすべてがローカル的に(例えば、
メイン・プロセッサ又はコプロセッサによって)行われ
るためにバスが影響されることがなく、従って、主とし
てデータの転送のために使用されるバスを使用する必要
をなくしたことである。従って、そのようなデータ転送
は本発明によって最適化される。更に、データが何処に
あるかを見つけるために、コプロセッサがメイン・メモ
リまで戻る必要はないけれども、「送信ヘッド」及び
「送信テイル」はメイン・メモリにおける位置を参照す
る。
ル」及び「受信ヘッド」が利用される。
は、先ず、パケットがMSMU27に到達し、従って、
受信オペレーションがコプロセッサ22において始ま
る。そのコプロセッサのキャッシュされた「受信テイ
ル」がコプロセッサのメモリ23における「受信ヘッ
ド」に比較される(例えば、FIFO受信に関するチェ
ックが行われる)。そのキャッシュされた「受信テイ
ル」(+2)が「受信ヘッド」に等しい場合、それら2
つが一致しなくなるまで、ポーリングがローカル的に行
われる。しかる後、コプロセッサ22はパケット・ヘッ
ダを読み取り、そしてそのパケット・ヘッダはウインド
ウ番号及びキー(及びキー・パーティション識別)に関
してチェックされ、タスク/ソースが有効であるかどう
か及びコプロセッサがノードに送話できるかどうかを決
定する。その着信パケットのキー(及びキー・パーティ
ション識別)とウインドウ番号との間に一致がある場
合、パケットは廃棄され、無効受信がログされる。ウイ
ンドウは、メイン・プロセッサのメイン・メモリにおけ
る2セットのパケットFIFO相互間を区別するために
使用される。
がある場合、コプロセッサは、長さ(コプロセッサにお
ける)及びデータに対するDMA書込みリクエストを開
始させることによってパケットをメイン・プロセッサま
で移動させ、MSMU27からFIFOバッファ26へ
右側DMAエンジン25のデータ転送を開始する。(こ
のオペレーションは、長さ及びデータがコプロセッサに
より部分的に移動され、そして残りがそのDMAエンジ
ンによって移動されるという簡単に前述した代替えモー
ドにおいて有利に遂行される)。これは、マイクロチャ
ネルを通るバスの更なる最適化を可能にする。
26におけるパケットの到着と同時に)、受信FIFO
が満杯でないことを保証するためにその受信FIFOの
チェック(メイン・プロセッサのメモリにおける)があ
る。従って、キャッシュされた「受信テイル」(+2)
は「受信ヘッド」(例えば、それらが等しくない)に、
それらが等しくないことを保証するために、比較され
る。それが満杯である場合、コプロセッサにおいてロー
カル・ポーリングが生じる。ポーリングが生じている
間、メイン・プロセッサはアダプタを介して新しい「受
信ヘッド」を送り、それによって、コプロセッサ22に
おける「受信ヘッド」を更新する。
ロセッサのキャッシュにおける「受信テイル」は更新又
はインクレメントされ、そしてその「受信テイル」はD
MAを介してメイン・プロセッサ2まで転送される。
「ヘッド」及び「テイル」はメイン・プロセッサに目盛
り2aにおけるそのFIFOを参照し、コプロセッサ
は、どのようなパケットがメイン・プロセッサにメモリ
に置かれるかを制御する。メイン・プロセッサは、どの
ようなパケットがメイン・プロセッサのメモリ(FIF
O)から取り出されるかを制御する。メイン・プロセッ
サは、それがパケット全体を受信してしまいそしてその
パケットが読み取りのために利用可能であることを知ら
されるまで、そのパケットを読み取ろうとしないであろ
う。従って、パケットが存在するかどうかを知るために
マイクロチャネルを通してポーリングをする必要はない
が、代わりにローカル・ポーリングだけを行い、ローカ
ル・メモリ(例えば、コプロセッサのローカル・メモ
リ、又はメイン・プロセッサのローカル・メモリ)を調
べる。
に理解できるようそれらを順次的に説明したけれども、
両方向FIFOバッファを使用する送信及び受信オペレ
ーションは同時に遂行可能であり、上記オペレーション
の任意のインタリーブがある。実際に、本発明の装置
は、送信オペレーションの途中で他のパケットを受信す
ること及びその逆を行うことを可能にする。
ション メイン・プロセッサの受信オペレーションに対しては、
メイン・プロセッサはそれの「受信テイル」をそれのキ
ャッシュされた「受信ヘッド」(例えば、メイン・プロ
セッサのキャッシュに記憶されている)に比較する。
「受信ヘッド」(+1)がそのキャッシュされた「受信
ヘッド」に等しくない場合、プロセスは下記のように継
続する。そうでない場合、即ち、それらが等しい場合、
その「受信テイル」(+1)がそのキャッシュされた
「受信ヘッド」に等しくなくなるまで、ローカル・ポー
リングが行われる。しかる後、メイン・プロセッサはデ
ータの長さ(コプロセッサのメモリに記憶されている長
さデータ)を読み取り、そしてそのデータはFIFOか
ら除去される。メイン・プロセッサは、それのキャッシ
ュ及びコプロセッサのメモリにおける「受信ヘッド」を
インクレメント又は更新する。
て可能にされたような)オペレーションの主要な利点
は、メイン・プロセッサ2もコプロセッサ22も低速の
バスを通してポーリングを行う必要がないということで
ある。その代わりに、それら自身のメモリにおいて、ロ
ーカル・ポーリング(例えば、内部的に見つけるポーリ
ング)が生じる。これは、結果として、更に効率的なシ
ステムが生じるという利点がある。
は、マイクロチャネルからHPSを介する高い信頼性の
データ・パスを与える。
チャネル・アドレス及びデータに関するパリティ生成/
チェック・装置を提供する。それはパリティ生成/チェ
ック機構50を含むものである。パリティは、以下に示
されるように生成され、チェックされる。単一のビット
が、スレーブ及びマスタ、アドレス、及びデータのパリ
ティ・チェックをイネーブル及びディスエーブルする。
パリティは、マイクロプロセッサ22又はMSMU27
によってはサポートされない。これらのチップがデータ
のソースである時、それらのデータ・バス上でパリティ
が生成され、その宛先において、マイクロチャネルのパ
リティ・チェック回路51によりチェックされる。マイ
クロチャネルがパリティを生成する時、それはマイクロ
プロセッサのデータ・バスの直前でチェックされる。両
方向FIFOバッファ26はそのパリティ・チェックさ
れるデータ・バスの一部分である。アドレス・パリティ
はスレーブ・アクセスのデコード時にチェックされ、そ
してメイン・プロセッサのマイクロチャネル・アーキテ
クチャによって指定されるように、パリティが誤ってい
る場合、そのカードはマイクロチャネル上に応答を戻さ
ない(CD SFDBKは非アクティブのままであ
る)。又、マイクロプロセッサ・バスにおけるサイクル
は始まらない。
合、アクティブであるイネーブルを持ったバイトだけが
チェックされる。それはマイクロチャネルの仕様に指示
されている。マスタ・アクセスのためには、マイクロチ
ャネル・アドレス・パリティが、データ・パリティのよ
うに、マイクロプロセッサ・バス上で生成され、マイク
ロチャネルにおけるメイン・プロセッサのパリティ回路
によりその宛先でチェックされる。マイクロプロセッサ
・バスにおけるアドレス(右側DMAエンジン25によ
って発生されたアドレスのような)はマイクロプロセッ
サ22又はMSMU27によってチェックされない。
ト上にCRCコードを生成し且つチェックする。好まし
くは、これは、パケット・ヘッダ、経路指定ワード(ノ
ードID)、及びメッセージ本体をカバーするものを含
む。
ルゴリズム)はFIFO−Bデータ・バス上のデータを
モニタし、CRCコード(例えば、好ましくは、16ビ
ット)を生成する。そのアダプタは、マイクロチャネル
からFIFO−Bバスまでの及びFIFO−Bバスを含
むデータに関してパリティ・チェックを行い、FIFO
−BバスからHPS介して出力されるデータに関してC
RCチェックを行う。これは、マイクロチャネルからH
PSまでの(両方向における)データに関する完全なエ
ラー検出を与える。
なレジスタ(例えば、アダプタ初期設定時にコードによ
ってセットされたノードIDレジスタ及びパケット・ヘ
ッダが送信され又は受信される前の時間にプリセットさ
れるCRCチェック・レジスタ)を含む。1つの実施例
では、エラー検出は、次のように行われるのが好まし
い。
セッサ22は、4バイトのパケット・ヘッダをMSMU
ヘッダ・レジスタに書き込み、更に、宛先ノードIDを
ダブルワードの上位桁部分に入れるであろう。このノー
ドIDはMSMU27によって無視されるであろうが、
CRCチェック生成には使用されるであろう。
Uデータ・レジスタに経路を書き込むであろう。このダ
ブルワードはCRCロジック51によって無視されるで
あろう。マイクロプロセッサは、MSMUデータ・レジ
スタへのメッセージ・パケット本体の書込みを開始する
であろう。メッセージ本体は、DMAされたマイクロプ
ロセッサによって、又はマイクロプロセッサとDMAと
の組合せによって、直接に書込み可能である。CRC
は、CRCチェック・レジスタに転送されたすべてのメ
ッセージ・データをエンコードするであろう。そこで、
マイクロプロセッサはCRCチェック・レジスタを読み
取り、そしてMSMUトレーラ・レジスタのバイト0及
び1にチェック・ビットを書き込むであろう。これらは
そのパケットにおける最後のバイトでなければならな
い。
セッサはMSMUヘッダ・レジスタから4バイトのパケ
ット・ヘッダを読み取るであろう。CRCロジックは、
CRCチェックのために、それのノードIDレジスタを
そのダブルワードの上位桁部分に挿入するであろう。受
信カードのノードIDレジスタがパケットの受信時に使
用される宛先ノードIDに一致しない場合、CRC障害
が生じるであろう。これは、例えば、経路指定ビットが
欠落し、パケットが間違ったノードで終わる場合に起こ
るであろう。
MUデータ・レジスタからのメッセージ・パケット本体
の読取りを開始するであろう。メッセージ本体は、DM
Aされたマイクロプロセッサによって、又はマイクロプ
ロセッサとDMAとの組合せによって、直接に読取り可
能である。CRC51は、転送されたすべてのメッセー
ジ・データをチェックする。
レーラ・レジスタからトレーラを読取る。マイクロプロ
セッサは、受信時のエラーに関してチェックするために
CRCチェック・レジスタを読み取る。エラーが検出さ
れた場合、パケットは廃棄されなければならない。
しては、アダプタがパリティ・エラーを検出した場合、
CRCレジスタは、次のCRCチェック・レジスタの読
取りまで、一定値に強制されるであろう。これは、送信
が進行中であり且つトレーラが読み取られた時に送信ノ
ードがパリティ・エラーを検出した場合、受信ノードに
おけるCRCエラーを保証する。受信ノードがCRCエ
ラーを検出し且つトレーラCRCが一定値(送信時のパ
リティ・エラーが検出された時に送られた)であった場
合、送信ノードがパリティ・エラーを生じたということ
が最もあり得ることである。このケースを除いて、通常
は、そのコードがトレーラCRCを見つける理由がな
い。
使用して同じ効果が達成可能であり、従って、上記の実
施例は単なる例示的なものである。
置は、クロックの脱落を検出し、それによってプロセッ
サ・ノードのハングアップを防ぐ機構を提供する。
及びHPSにおいて使用される複数個のアダプタすべ
て)のためのクロックは、交換機構に跨るデータとメイ
ン・プロセッサとの同期化のために単一のソースによっ
て与えられる。ソース・クロックが失われた場合、その
カードはマイクロチャネルをハングアップし、その結
果、ノード全体をハングアップする。図9に示されるよ
うに、本発明によるクロック検出回路は、1対のカウン
タ61、62を走らせる発振器を作るためにロジックを
使用する。これらのカウンタは、所定の形状を持ったソ
ース・クロック発生の波形(例えば、その波形は矩形の
形状を持つ)の高レベル状態及び低レベル状態によって
交互にリセットされる。喪失クロックは、それらカウン
タのうちの少なくとも1つが、そのカードの残り部分を
リセット状態に保持させる最終的なカウントに達するこ
とを可能にする。これは、ソフトウエアが検出し得るマ
イクロチャネル・バス・エラーを生じさせ、そしてその
カードを調べて(プログラム式オプション選択(PO
S)レジスタを使用して)そのクロックの喪失を知るこ
とができる。
に見ると、クロックはデータと共に外部ソースから到来
する。クロックが中断すること(その場合、メイン・プ
ロセッサは無期限にハングアップすることがある)は起
こり得ることである。いくつものシナリオが考えられ、
それらは通常のシステムにおいて問題となっていた。そ
のような状態は回避されなければならず、そのような状
態の防止は本発明のクロック回路によって積極的に与え
られる。
ャネル転送を上述した。そのスレーブ・モード(例え
ば、そのアダプタがメイン・プロセッサに対するスレー
ブとして働く)では、メイン・プロセッサはマイクロチ
ャネル・バス上にアドレスを置くことによって読取り又
は書込みオペレーションを開始する。そこで、一連のハ
ンドシェーキング信号(前述のマイクロチャネル仕様に
おいて定義され、本願においても組み込まれるような)
を交換することによって、データ転送が行われる。クロ
ックが存在しない場合、転送は開始可能であるが、それ
は終了せず、それによって、マイクロチャネルをハング
し、従って、メイン・プロセッサ(適切なハンドシェー
キングが生じないであろう)は終了しないであろう。
クが存在しない場合、そのアダプタはリセットされ(そ
れによって、サイクルを開始させない)、従ってメイン
・プロセッサはハングアップしないであろう。
途中にあり且つクロックが障害を生じた場合、トランザ
クションが直ちに終了するように、そのカードはリセッ
トされる。メイン・プロセッサはそのような状態をエラ
ーであると認識し、そのエラーをログして回復に進む
(例えば、クロックがないことを表すPOSレジスタを
調べる)。
との間のすべてのマイクロチャネル・オペレーションを
指令するハンドシェーキング信号を通してトランザクシ
ョン・サイクルの終了を知る。これらの信号は、伝送に
対してはクロックに依存せず、カードがリセットされる
時にそれらのデフォルト状態に駆動される。
は、アダプタがメイン・プロセッサに関して、マスタと
して、又はスレーブとして動作し得ることである。マス
タとしてアダプタが動作する時にクロックが障害を生じ
た場合、ハンドシェーキング信号をそれらのデフォルト
状態(例えば、バスのハングアップはない)に駆動する
ことによってそのサイクルは直ちに終了する(その時、
アダプタはリセットされる)。メイン・プロセッサは、
そのサイクルが異常に終了したことを認識し、そのエラ
ーをログして回復に進む。
細に示され、それは、それぞれが外部クロックから独立
したローカル・クロックによってクロックされ且つ外部
クロックによってリセットされる第1及び第2のカウン
タ61及び62を含んでいる。それら第1及び第2カウ
ンタの各々の最終カウント信号はORゲート63に結合
される。第1及び第2カウンタ61、62の最終カウン
ト値は、それぞれ、外部のクロック・ソースよりも大き
い周波数にセットされる。第1カウンタ61は低レベル
のリセットを有し、一方、第2カウンタ62は高レベル
のリセットを有する。外部クロックはそのカードのリセ
ットに接続される。外部クロックが高レベル誤動作を生
じた場合、第1カウンタは最終カウントに達するであろ
うし、外部クロックが低レベル誤動作を生じた場合、第
2カウンタが最終カウントに達するであろう。どのよう
にして外部クロックが誤動作を生じたかがわからないの
で、この装置が与えられる。2つのカウンタ61、62
を設けることは、両方の状況に備えるためである。同じ
理由で、外部クロックが適正に動作している場合、それ
は、カウンタがそれらの最終カウント値までカウントす
るよりも速くそれらカウンタをリセットしようとするで
あろう。カウンタがそれらの最終カウント値に到達する
場合、クロックは非常にゆっくりと動作するか、或いは
完全に停止してしまう。
ード状態をログするための装置にリセット状態を伝送す
るためのリセット伝送装置64に接続され、それによっ
て、マイクロチャネルは、クロックが障害を生じた場合
にハング状態のままにされることはない。従って、カー
ドをリセットするための及びPOSレジスタへの入力の
ためのドライバが設けられる。更に、詳しく言えば、P
OSレジスタにおける「リセット」ビット及びそれにお
ける「クロック」ビットがセットされる。
最終的な切換カウントに達した場合、そのカードはリセ
ットされ、「クロックなし」がPOSレジスタに記録さ
れるであろう。アダプタがリセットされる場合、POS
レジスタにおける「クロックなし」の記録を除くと、ス
レーブ・アクセスは許可されない。更に、アダプタはリ
セットされるので、開始されるマスタ・アクセスはない
であろう。進行中のすべてのスレーブ・アクセス又はマ
スタ・アクセスは直ちに終了させられる。メイン・プロ
セッサ2によるPOSアクセスはクロックを必要とせ
ず、従って、クロックに何が起こったかをそのクロック
が決定できない場合でも、メイン・プロセッサはPOS
レジスタをアクセスすることができる。
ッサはハングアップされないし、この状態は本発明の装
置によって積極的に与えられる。更に、本発明の装置
は、その装置がバスにおける状態を変化するという点で
新規且つ独特である。
つメイン・プロセッサが高パフォーマンス交換機構との
コミュニケーションを待つ必要をなくするアダプタが提
供される。従って、メイン・プロセッサは、アダプタが
主としてデータ転送タスクを遂行する間、他のタスクを
遂行することができる。更に、アダプタは、データ転送
オペレーションにおいてスレーブとして及びマスタとし
て働くことができる。更に、本発明は、アダプタによっ
て高パフォーマンス交換機構の二重チャネルに接続され
たメイン・プロセッサのFIFOを管理する方法を提供
する。従って、比較的低速のバスを介したポーリングは
起こらず、比較的高速のバスがデータ転送オペレーショ
ンのために維持される。更に、転送されたデータの整合
性を保証するための方法及び装置が提供される。その方
法及び装置では、オーバラップしたCRC及びパリティ
・チェックが与えられる。更に、本発明は、データ転送
オペレーション中にクロック障害が生じた場合、メイン
・プロセッサのハングアップを防止する改良されたクロ
ック・エラー検出回路を提供する。
の事項を開示する。
重チャネルとの間でデータを転送するアダプタ装置であ
って、メイン・プロセッサ・チャネルに接続された第1
バスと、前記第1バスと前記二重チャネルとの間に接続
され、前記第1バスに接続された第1ポート及び前記二
重チャネルに接続された第2ポートを有する両方向ファ
ーストイン・ファーストアウト(FIFO)バッファ
と、前記FIFOバッファの第2ポート及び前記二重チ
ャネルに接続され、前記メイン・プロセッサからのメッ
セージ及び前記メイン・プロセッサへのメッセージをパ
ケット化及びパケット解除し及びコミュニケーション・
プロトコルを実行するマイクロプロセッサと、前記マイ
クロプロセッサに接続された第2バスと、前記第2バス
と動作関係に接続された動的ランダム・アクセス・メモ
リ(DRAM)と、前記第1バスと前記FIFOバッフ
ァとの間に接続され、前記メイン・プロセッサと前記F
IFOバッファとの間でデータを転送する第1ダイレク
ト・メモリ・アクセス(DMA)エンジンと、前記FI
FOバッファと前記第2バスとの間に接続され、前記F
IFOバッファと前記DRAMとの間でデータを転送す
る第2ダイレクト・メモリ・アクセス(DMA)エンジ
ンと、前記マイクロプロセッサと前記二重チャネルとの
間に動作関係に接続され、前記第2バスを前記二重チャ
ネルにインタフェースするメモリ交換管理装置(MSM
U)と、を含み、前記コミュニケーション・プロトコル
に従って前記マイクロプロセッサと前記二重チャネルと
の間でメッセージがコミュニケートされること、及び前
記第2DMAエンジンにより行われたDMA転送に関係
なく、前記メッセージに対するデータのDMA転送が前
記第1DMAエンジンによって行われること、を特徴と
するアダプタ装置。
タスクを行っている間でも、メイン・プロセッサは交換
機構とのコミュニケーションを待つことなく他のタスク
を遂行することができる。
におけるアダプタの全体的な位置関係を概略的に示す。
Oを含む本発明のシステムを示す。
信及び受信オペレーション、及びメイン・プロセッサお
けるパケットFIFOの管理の流れ図の一部分を示す。
信及び受信オペレーション、及びメイン・プロセッサお
けるパケットFIFOの管理の流れ図の一部分を示す。
信及び受信オペレーション、及びメイン・プロセッサお
けるパケットFIFOの管理の流れ図の一部分を示す。
信及び受信オペレーション、及びメイン・プロセッサお
けるパケットFIFOの管理の流れ図の一部分を示す。
タの整合性を保証するための装置及びパリティ/CRC
エラー検出を遂行するための装置を示す。
Claims (1)
- 【請求項1】メイン・プロセッサのチャネルと二重チャ
ネルとの間でデータを転送するアダプタ装置であって、 メイン・プロセッサ・チャネルに接続された第1バス
と、 前記第1バスと前記二重チャネルとの間に接続され、前
記第1バスに接続された第1ポート及び前記二重チャネ
ルに接続された第2ポートを有する両方向ファーストイ
ン・ファーストアウト(FIFO)バッファと、 前記FIFOバッファの第2ポート及び前記二重チャネ
ルに接続され、前記メイン・プロセッサからのメッセー
ジ及び前記メイン・プロセッサへのメッセージをパケッ
ト化及びパケット解除し及びコミュニケーション・プロ
トコルを実行するマイクロプロセッサと、 前記マイクロプロセッサに接続された第2バスと、 前記第2バスと動作関係に接続された動的ランダム・ア
クセス・メモリ(DRAM)と、 前記第1バスと前記FIFOバッファとの間に接続さ
れ、前記メイン・プロセッサと前記FIFOバッファと
の間でデータを転送する第1ダイレクト・メモリ・アク
セス(DMA)エンジンと、 前記FIFOバッファと前記第2バスとの間に接続さ
れ、前記FIFOバッファと前記DRAMとの間でデー
タを転送する第2ダイレクト・メモリ・アクセス(DM
A)エンジンと、 前記マイクロプロセッサと前記二重チャネルとの間に動
作関係に接続され、前記第2バスを前記二重チャネルに
インタフェースするメモリ交換管理装置(MSMU)
と、 を含み、 前記コミュニケーション・プロトコルに従って前記マイ
クロプロセッサと前記二重チャネルとの間でメッセージ
がコミュニケートされること、及び前記第2DMAエン
ジンにより行われたDMA転送に関係なく、前記メッセ
ージに対するデータのDMA転送が前記第1DMAエン
ジンによって行われること、 を特徴とするアダプタ装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US223144 | 1994-04-05 | ||
US08/223,144 US5664223A (en) | 1994-04-05 | 1994-04-05 | System for independently transferring data using two independently controlled DMA engines coupled between a FIFO buffer and two separate buses respectively |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH07288535A JPH07288535A (ja) | 1995-10-31 |
JP2654369B2 true JP2654369B2 (ja) | 1997-09-17 |
Family
ID=22835229
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP7014599A Expired - Lifetime JP2654369B2 (ja) | 1994-04-05 | 1995-01-31 | プロセッサ・チャネル及び交換機構の間に設けられたアダプタ装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US5664223A (ja) |
EP (1) | EP0676701A1 (ja) |
JP (1) | JP2654369B2 (ja) |
Families Citing this family (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5829010A (en) * | 1996-05-31 | 1998-10-27 | Sun Microsystems, Inc. | Apparatus and method to efficiently abort and restart a primary memory access |
US6308248B1 (en) * | 1996-12-31 | 2001-10-23 | Compaq Computer Corporation | Method and system for allocating memory space using mapping controller, page table and frame numbers |
JP3602293B2 (ja) * | 1997-04-22 | 2004-12-15 | 株式会社ソニー・コンピュータエンタテインメント | データ転送方法及び装置 |
US5978858A (en) * | 1997-09-30 | 1999-11-02 | Compaq Computer Corporation | Packet protocol and distributed burst engine |
US6128669A (en) * | 1997-09-30 | 2000-10-03 | Compaq Computer Corporation | System having a bridge with distributed burst engine to decouple input/output task from a processor |
US6192428B1 (en) * | 1998-02-13 | 2001-02-20 | Intel Corporation | Method/apparatus for dynamically changing FIFO draining priority through asynchronous or isochronous DMA engines in response to packet type and predetermined high watermark being reached |
US6038630A (en) * | 1998-03-24 | 2000-03-14 | International Business Machines Corporation | Shared access control device for integrated system with multiple functional units accessing external structures over multiple data buses |
US6240492B1 (en) | 1998-05-22 | 2001-05-29 | International Business Machines Corporation | Memory interface for functional unit of integrated system allowing access to dedicated memory and shared memory, and speculative generation of lookahead fetch requests |
US6418494B1 (en) | 1998-10-30 | 2002-07-09 | Cybex Computer Products Corporation | Split computer architecture to separate user and processor while retaining original user interface |
WO2000026797A1 (en) * | 1998-10-30 | 2000-05-11 | Cybex Computer Products Corporation | Split computer |
US6351784B1 (en) | 1998-12-28 | 2002-02-26 | International Business Machines Corp. | System for determining whether a subsequent transaction may be allowed or must be allowed or must not be allowed to bypass a preceding transaction |
US6347349B1 (en) | 1998-12-28 | 2002-02-12 | International Business Machines Corp. | System for determining whether a subsequent transaction may be allowed or must be allowed or must not be allowed to bypass a preceding transaction |
JP2000347987A (ja) * | 1999-06-07 | 2000-12-15 | Matsushita Electric Ind Co Ltd | Dma転送装置 |
US6757762B1 (en) * | 1999-10-29 | 2004-06-29 | Unisys Corporation | Multi-mode processor bus bridge |
US6725216B2 (en) * | 2001-08-10 | 2004-04-20 | International Businesss Machines Corporation | Partitioning search key thereby distributing table across multiple non-contiguous memory segments, memory banks or memory modules |
US6721310B2 (en) * | 2001-11-02 | 2004-04-13 | Transwitch Corporation | Multiport non-blocking high capacity ATM and packet switch |
WO2003042811A1 (en) * | 2001-11-13 | 2003-05-22 | Koninklijke Philips Electronics N.V. | Efficient fifo communication using semaphores |
EP1514172B1 (en) * | 2002-06-07 | 2006-04-05 | Koninklijke Philips Electronics N.V. | Spacecake coprocessor communication |
US7321623B2 (en) | 2002-10-01 | 2008-01-22 | Avocent Corporation | Video compression system |
US6954810B2 (en) * | 2003-06-30 | 2005-10-11 | Lsi Logic Corporation | Transparent switch |
US6977656B1 (en) | 2003-07-28 | 2005-12-20 | Neomagic Corp. | Two-layer display-refresh and video-overlay arbitration of both DRAM and SRAM memories |
US9560371B2 (en) | 2003-07-30 | 2017-01-31 | Avocent Corporation | Video compression system |
US7296101B2 (en) * | 2004-02-17 | 2007-11-13 | Intel Corporation | Method and system for using a patch module to process non-posted request cycles and to control completions returned to requesting device |
US7457461B2 (en) | 2004-06-25 | 2008-11-25 | Avocent Corporation | Video compression noise immunity |
CN100354842C (zh) * | 2005-02-23 | 2007-12-12 | 华为技术有限公司 | 一种直接存储器存取装置及单通道双向数据交互实现方法 |
US7783820B2 (en) * | 2005-12-30 | 2010-08-24 | Avocent Corporation | Packet-switched split computer having disassociated peripheral controller and plural data buses |
WO2007096712A1 (en) * | 2006-02-20 | 2007-08-30 | Freescale Semiconductor, Inc. | A method and device for exchanging data using a virtual fifo data structure |
MY149291A (en) | 2006-04-28 | 2013-08-30 | Avocent Corp | Dvc delta commands |
US20090132747A1 (en) * | 2007-11-19 | 2009-05-21 | International Business Machines Corporation | Structure for universal peripheral processor system for soc environments on an integrated circuit |
US20100161909A1 (en) * | 2008-12-18 | 2010-06-24 | Lsi Corporation | Systems and Methods for Quota Management in a Memory Appliance |
US20100161879A1 (en) * | 2008-12-18 | 2010-06-24 | Lsi Corporation | Efficient and Secure Main Memory Sharing Across Multiple Processors |
US20100161929A1 (en) * | 2008-12-18 | 2010-06-24 | Lsi Corporation | Flexible Memory Appliance and Methods for Using Such |
JP6379905B2 (ja) * | 2014-09-16 | 2018-08-29 | 富士通株式会社 | 制御装置および制御方法 |
US9857975B2 (en) | 2015-06-26 | 2018-01-02 | International Business Machines Corporation | Non-volatile memory drive partitions within microcontrollers |
US10235176B2 (en) | 2015-12-17 | 2019-03-19 | The Charles Stark Draper Laboratory, Inc. | Techniques for metadata processing |
TW201935306A (zh) | 2018-02-02 | 2019-09-01 | 美商多佛微系統公司 | 用於安全初始化的策略連結及/或載入之系統和方法 |
US11150910B2 (en) | 2018-02-02 | 2021-10-19 | The Charles Stark Draper Laboratory, Inc. | Systems and methods for policy execution processing |
US11797398B2 (en) | 2018-04-30 | 2023-10-24 | Dover Microsystems, Inc. | Systems and methods for checking safety properties |
TW202022678A (zh) | 2018-11-06 | 2020-06-16 | 美商多佛微系統公司 | 用於停滯主處理器的系統和方法 |
US11841956B2 (en) | 2018-12-18 | 2023-12-12 | Dover Microsystems, Inc. | Systems and methods for data lifecycle protection |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4514808A (en) * | 1978-04-28 | 1985-04-30 | Tokyo Shibaura Denki Kabushiki Kaisha | Data transfer system for a data processing system provided with direct memory access units |
US4750107A (en) * | 1985-01-07 | 1988-06-07 | Unisys Corporation | Printer-tape data link processor with DMA slave controller which automatically switches between dual output control data chomels |
CA1257400A (en) * | 1985-05-21 | 1989-07-11 | Akihiro Sera | Input/output control system |
JP2745521B2 (ja) * | 1988-02-23 | 1998-04-28 | 株式会社日立製作所 | フレーム送信方法 |
US5047927A (en) * | 1988-10-28 | 1991-09-10 | National Semiconductor Corporation | Memory management in packet data mode systems |
JPH077955B2 (ja) * | 1989-05-13 | 1995-01-30 | 株式会社東芝 | データ通信制御装置 |
US5161156A (en) * | 1990-02-02 | 1992-11-03 | International Business Machines Corporation | Multiprocessing packet switching connection system having provision for error correction and recovery |
US5136582A (en) * | 1990-05-29 | 1992-08-04 | Advanced Micro Devices, Inc. | Memory management system and method for network controller |
US5379381A (en) * | 1991-08-12 | 1995-01-03 | Stratus Computer, Inc. | System using separate transfer circuits for performing different transfer operations respectively and scanning I/O devices status upon absence of both operations |
AU4400793A (en) * | 1992-06-12 | 1994-01-04 | Dow Chemical Company, The | Intelligent process control communication system and method |
US5420984A (en) * | 1992-06-30 | 1995-05-30 | Genroco, Inc. | Apparatus and method for rapid switching between control of first and second DMA circuitry to effect rapid switching beween DMA communications |
-
1994
- 1994-04-05 US US08/223,144 patent/US5664223A/en not_active Expired - Fee Related
-
1995
- 1995-01-31 JP JP7014599A patent/JP2654369B2/ja not_active Expired - Lifetime
- 1995-02-01 EP EP95101350A patent/EP0676701A1/en not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
EP0676701A1 (en) | 1995-10-11 |
JPH07288535A (ja) | 1995-10-31 |
US5664223A (en) | 1997-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2654369B2 (ja) | プロセッサ・チャネル及び交換機構の間に設けられたアダプタ装置 | |
JP2802043B2 (ja) | クロック故障検出回路 | |
US5448558A (en) | Method and apparatus for managing packet FIFOS | |
JP5537919B2 (ja) | データ転送のためのシステムおよび方法 | |
US6145016A (en) | System for transferring frame data by transferring the descriptor index data to identify a specified amount of data to be transferred stored in the host computer | |
US6049889A (en) | High performance recoverable communication method and apparatus for write-only networks | |
US6795850B2 (en) | System and method for sharing memory among multiple storage device controllers | |
EP0422103B1 (en) | I/o bus to system bus interface | |
EP1032880B1 (en) | Method and apparatus for switching between source-synchronous and common clock data transfer modes in a multiple agent processing system | |
US6061274A (en) | Methods and apparatus for message transfer in computer storage system | |
JPH06309252A (ja) | 相互接続インタフェース | |
JP2005513594A (ja) | 直接メモリアクセス(dma)転送バッファプロセッサ | |
KR20010056536A (ko) | 이중포트 구조로 이루어진 다수의 트랜잭션 버퍼를 구비한캐쉬 제어기 | |
JP2688171B2 (ja) | 通信アダプタ並びにデータ転送システムおよび方法 | |
US7043612B2 (en) | Compute node to mesh interface for highly scalable parallel processing system and method of exchanging data | |
JP3600536B2 (ja) | 書き込みデータの破壊を制限する方法及びシステムとpciバス・システム | |
JP2000029826A (ja) | 多重レベルキャッシングを有する3ポ―トfifoデ―タバッファ | |
JP3372948B2 (ja) | 高速アクティブ・バス | |
JP2004318628A (ja) | 演算処理装置 | |
US6434592B1 (en) | Method for accessing a network using programmed I/O in a paged, multi-tasking computer | |
EP0676697A1 (en) | Message data error detection circuit | |
JPH0324634A (ja) | 二重系システム装置 | |
JPH0675796A (ja) | パリティエラー記録装置 | |
JP3450392B2 (ja) | インタフェース装置及び周辺機器 | |
JPH064437A (ja) | エラー表示機能付きファーストインファーストアウトバッファ及びそれを使用した読出し装置の制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20041201 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Effective date: 20050301 Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Effective date: 20050309 Free format text: JAPANESE INTERMEDIATE CODE: A61 |
|
R150 | Certificate of patent (=grant) or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Year of fee payment: 3 Free format text: PAYMENT UNTIL: 20080318 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Year of fee payment: 4 Free format text: PAYMENT UNTIL: 20090318 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Year of fee payment: 5 Free format text: PAYMENT UNTIL: 20100318 |
|
LAPS | Cancellation because of no payment of annual fees |