JPH04336729A - 汎用アダプタ - Google Patents

汎用アダプタ

Info

Publication number
JPH04336729A
JPH04336729A JP4017502A JP1750292A JPH04336729A JP H04336729 A JPH04336729 A JP H04336729A JP 4017502 A JP4017502 A JP 4017502A JP 1750292 A JP1750292 A JP 1750292A JP H04336729 A JPH04336729 A JP H04336729A
Authority
JP
Japan
Prior art keywords
packet
adapter
bus
data
queue
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
JP4017502A
Other languages
English (en)
Other versions
JP2518986B2 (ja
Inventor
Paul Chang
ポール・チャン
Gary S Delp
ギャリー・スコット・デルプ
Hanafy El-Sayed Meleis
ハナフィー・エル=サイード・メレイス
Rafael M Montalvo
ラファエル・マンティラ・モンタルヴォ
David I Seidman
デーヴィッド・イズリアル・セイドマン
Ahmed N Tantawy
アハメド・ナスレッディン・タンタウィ
Dominick A Zumbo
ドミニク・アンソニー・ズンボ
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 JPH04336729A publication Critical patent/JPH04336729A/ja
Application granted granted Critical
Publication of JP2518986B2 publication Critical patent/JP2518986B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9026Single buffer per packet
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • G06F13/128Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine for dedicated transfers to a network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/387Information transfer, e.g. on bus using universal interface adapter for adaptation of different data processing systems to different peripheral devices, e.g. protocol converters for incompatible systems, open system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/901Buffering arrangements using storage descriptor, e.g. read or write pointers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9021Plurality of buffers per packet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9047Buffering arrangements including multiple buffers, e.g. buffer pools
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • H04L49/205Quality of Service based
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3027Output queuing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/351Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、一般に、ある媒体上の
データフローを別の媒体に互換性のあるデータフローに
変換する、ハードウェア/ソフトウェア構成に関する。 特に、本発明の包括高帯域幅アダプタは、システム・バ
ス、交換網、伝送媒体、および種々のローカル・エリア
・ネットワーク(LAN)間のデータ・インターフェー
スを提供する。
【0002】
【従来の技術】従来技術では、通信アダプタ技術は、使
用可能な伝送技術に速度優位を享有してきた。伝送技術
の最近の進歩によってこの平衡が破られ、連絡機構の能
力が上回るようになった。通信速度が計算速度に接近し
あるいはそれを上回ったため、代替の通信アーキテクチ
ャを探究することが必要である。この探究は、新しいプ
ロトコルと、既存のプロトコルの最適実施という2つの
領域に集中していた。
【0003】伝送技術の進歩によって、はるかに高いデ
ータ転送速度のみならず、はるかに低いエラー率も実現
されるようになった。既存の通信プロトコルは、高い媒
体エラー率と、計算速度よりもはるかに低いデータ転送
速度を前提に設計されていた。低速の伝送媒体の過度の
使用を避けるため、エラー回復能力を提供することに重
点が置かれていた。基本的な前提が次第に実態に合わな
くなってくるにつれて、既存の通信プロトコルが、ます
ます新しい伝送媒体にとって不適切になってきた。伝送
能力とプロトコルの不整合に寄与しているもう1つの要
因は、既存の多くの通信プロトコルが「汎用プロセッサ
/ソフトウェア」実施のために設計されていたことによ
るものである。これらのプロトコルの「ソフトウェア向
き」の手法は、通信プロトコルのプロセッサを、データ
伝送のネックにした。
【0004】既存の通信プロトコルのこれらの既存の設
計欠陥を是正するため、新規で高速の取るに足らないプ
ロトコルがいくつか提案されている。既存の通信プロト
コルと比較して、これらのプロトコルは、高いデータ・
スループットに重点を置き、複雑なエラー回復方式には
重点を置いていない。さらに、これら新規の取るに足ら
ないプロトコルは、VLSIハードウェアの実施を念頭
において設計されている。
【0005】前述の設計欠陥に加えて、既存の通信プロ
トコルのデータ・スループットは、現在の多くのプロト
コル実施の他の欠陥によってさらに妨げられている。こ
の実施の欠陥は、最悪の場合の(またはすべてにペナル
ティーを課す)すべてのパケットは同等に扱われるべき
であると特定する設計原理である。この取扱いは、パケ
ットのふるまいを考慮していない。順序通りでエラーの
ないパケットも、順序通りでないパケットや変造パケッ
トとほとんど同じソフトウェア経路を通過する。エラー
率が高く、かつ通信待ち時間に対するソフトウェア経路
長の影響力が最小であるため、この設計原理は低伝送速
度、高減衰ネットワークで正当化される。しかしながら
、現在の伝送技術の非常に低いエラー率によって、良好
なふるまいのパケットの確率は非常に増大し、潜在的な
パケット到着率が大きく増加している。したがって、プ
ロトコルの実施は調整されなければならない。
【0006】この領域での活動は、主に、現在のプロト
コルの実施を、良好なふるまいのパケットを優遇し、悪
いふるまいのパケットだけにペナルティーを課すように
修正するものであった。実施方式はまた、パケット動作
のパイプライン化と、ハードウェア機能支援を含む。
【0007】このスループット問題は、高速通信アダプ
タの場合、さらに下記の制約のために、さらに複雑にな
る。
【0008】既存のプロトコルおよび実施との互換性。 高速通信アダプタは、新しい通信技術をサポートし、か
つ、既存の通信技術に対する下方互換性を提供すること
が期待される。下方互換性は、既存の通信プロトコルの
サポートのみならず、おそらくは既存のプロトコルが実
施される方法またはアーキテクチャのサポートをも意味
する。
【0009】確立されたシステム・バスまたはチャネル
あるいはその両方に対する互換性。しばしば、通信アダ
プタは、ホスト・システムに対する通信フロント・エン
ドとして動作する。これは、アダプタ・パケット・デー
タの大部分が、既定のシステム・バスまたは入出力チャ
ネルを介して、接続されたホスト・システムとの間を行
き来することを意味する。末端間の性能の見地から、ア
ダプタとそれに接続されたホスト・システムの間のデー
タ転送は、2つの末端ノード間の通信経路の他の部分よ
りも重要ではないとしても、同程度には重要である。高
速通信アダプタは、永年にわたって確立された一系列の
システム・バスおよび入出力チャネル上の高速データ転
送をサポートし、なおかつこれらのバスおよびチャネル
のアーキテクチャ規則を順守できることを期待される。
【0010】
【課題を解決するための手段】したがって、本発明の主
目的は、将来の一系列の通信アダプタをサポートする潜
在能力を有する新規なアーキテクチャを提供することで
ある。これらのアダプタは、既存の制約を満足でき、か
つ、ホストの負荷が軽減され、高いデータ・スループッ
トを提供できるべきである。前述のアダプタ・アーキテ
クチャは、そのアダプタ・ポートがシステム・バス、入
出力チャネル、交換網または通信ネットワークのいずれ
に接続されるかに無関係に、アダプタ・ポートに均一の
インターフェースを提供するため、包括的である。
【0011】さらに、このアダプタ・アーキテクチャは
、高速プロトコル用のいくつかの重要な設計原理を実施
するため、高いデータ転送速度をサポートできる。この
設計原理とは、繰り返される通信機能に対するハードウ
ェアによる援助、バッファ、パケットおよび待ち行列の
管理のためのハードウェアによる援助、および異常な悪
いふるまいのパケット処理に対する手段を備えた良好な
ふるまいのパケットに対する最適設計である。
【0012】このアダプタ・アーキテクチャの非常に重
要な特徴は、実施しやすいことである。包括高帯域幅ア
ダプタ・アーキテクチャの実施が、既存の内部VLSI
技術で実行できることを確実にするために、このアーキ
テクチャの定義処理過程の間注意深く考慮が払われる。
【0013】本発明の他の目的は、データ通信がしばし
ばデータ・パケットの形をとる事実を認識する包括高帯
域幅アーキテクチャを提供することであり、したがって
この包括高帯域幅アダプタは、アーキテクチャ上のプリ
ミティブとしてのデータ・パケットの操作をサポートす
る。このアーキテクチャの機能目標には、下記のことが
含まれる。包括高帯域幅アダプタへの、またはそれを介
する、またはそれからの、パケットの高速移送の提供。 バッファおよび待ち行列の管理とデータ移動へのハード
ウェア支援。  複数の優先順位レベルと複数の種類の
サービスのサポート。広範囲のバスおよび伝送技術に対
する、均一なバッファ/パケット/待ち行列/サーバ管
理方式の提供。高持続スループットのサポート。高水準
ソフトウェア・インターフェースの提供のため、通信に
対する非常に低いホスト負荷の可能性。多重並行プロト
コル・スタックのサポート。新しいパケットに基づいた
伝送技術の迅速なプロトタイプ化の提供。
【0014】この包括高帯域幅アダプタは、さまざまな
システム相互接続に対するサポートを提供するように構
成されている。可能な相互接続のいくつかには、下記の
ものが含まれる。 マイクロ・チャネル  800Mbps(ストリーミン
グ・モード) クロスバー交換機  −−  非常に低い待ち時間  
240Mbps/ポート 直列入出力チャネル    200MbpsSPDバス
    80Mbps370チャネルOEMI    
24Mbps
【0015】この包括高帯域幅アダプタの
構造は、パケット向きの伝送技術が非常に容易にサポー
トすることができるような構造である。下記の伝送技術
は、この包括高帯域幅アダプタに簡単に組み込まれ、あ
るいは近い将来に組み込まれるだろう。 ハードウェア・データ・リンク制御    400Mb
psFDDI−−ANSI標準ファイバ・トークン・リ
ング  100Mbps DS3(クリア・チャネルT3)    45Mbps
トークン・リング    16/4Mbpsイーサネッ
ト    10Mbps
【0016】この包括高帯域幅アダプタは、いくつかの
プロトコルのサポートのための並列機構を提供する。リ
ンク、ネットワークおよびトランスポート・レベルのプ
ロトコルの方針を実施するために、オンボード・プロセ
ッサが使用可能である。この包括高帯域幅アダプタによ
るサポートの候補であるプロトコルのリストを下記に示
す。 APPN/SNA APPC TCP/IP ISO/TPおよびISO/IP 広帯域ISDN VTAMサポートの一部
【0017】前述の教示によれば、本発明は、データが
可変長のデータ・ストリーム・パケットによって運ばれ
るバス、チャネル、プロセッサ、交換網およびまたは通
信ネットワーク間のデータ通信のための統一アーキテク
チャを提供する包括高帯域幅アダプタに関する。各パケ
ットは、情報交換を調停するのに使用される通信プロト
コルによって必要とされるヘッダ制御情報部と、おそら
くは、通信されるべきデータのためのデータ部を含む。 この包括高帯域幅アダプタは、データ・パケットのヘッ
ダ制御情報部を処理するためのプロセッサを含むプロセ
ッサ・サブシステムを備えている。このプロセッサは、
パケット・メモリ(PM)に記憶されたデータ・パケッ
トにアクセスすることができる。このパケット・メモリ
は、1つまたは複数の包括アダプタ入出力ポートに到着
するデータ・パケットを記憶し、複数のバッファに分割
されている。各データ・パケットは、その長さによって
必要とされるように1つまたは複数のバッファに記憶さ
れる。包括アダプタ・マネジャ(GAM)は、バッファ
のデータ・パケットを編成し、プロセッサ・サブシステ
ムによる処理または包括アダプタ入出力ポート間の転送
のためにデータ・パケットを待ち行列に編成することに
より、パケット・メモリのデータ構造の実施を含む一般
的アダプタ管理機能を実行し同期させるために設けられ
る。各一般的アダプタ入出力ポートは、データ・パケッ
トが入出力ポートで受信された時、そのデータ・パケッ
トがアダプタ・パケット・メモリに転送され、処理のた
め待ち行列に登録されるようにパケット・メモリ間での
データ・パケットの転送のために設けられているパケッ
ト・メモリ・インターフェースに関連している。
【0018】より詳細に説明すると、包括アダプタ・バ
ス(GAB)が、プロセッサ・サブシステム、パケット
・メモリ、包括アダプタ・マネジャ、および包括アダプ
タ入出力ポートを一緒に接続するために設けられている
。このプロセッサ・サブシステムは、通信コードとコー
ド即値制御データとを含むローカル・メモリを含み、ロ
ーカル・バスは、プロセッサとローカル・メモリを相互
に接続する。プロセッサ・サブシステムはさらに、ハー
ドウェア・タイマ、割込みコントローラ、ローカル・メ
モリ・コントローラのようなプロセッサ動作に必要とさ
れる補助回路を含む。プロセッサ・サブシステムおよび
アドレス・バスから包括アダプタ・バスの分離は、通信
コードが、パケット・データの移動と並列に主として処
理されることができるように設けられている。必要な時
には、アイソレータの使用によりこれらのバスを接続す
る手段が設けられている。第2のアイソレータは、GA
Mとそのローカル・メモリへの選択的アクセスのために
設けられている。
【0019】この包括アダプタ・マネジャはまた、デー
タ構造が記憶され、バッファのデータ・パケットを編成
し、このパケットを待ち行列に編成するのに使用される
ローカル・メモリと、包括アダプタ・マネジャをローカ
ル・メモリに結合するローカル・バスを含んでいる。こ
の包括アダプタ・マネジャは、さらに、バッファ、パケ
ット・メモリのパケットおよび待ち行列を必要とするデ
ータ構造を実施するための包括アダプタ・マネジャ・カ
ーネルと、最高バス優先順位を用いてまたはラウンド・
ロビン方式に基づいてバス要求元にバス制御を許可する
ための包括アダプタ・バスのためのアービタと、パリテ
ィ検査のため、およびバス要求元にバス制御が許可され
た後バス・サイクル時間長の検査のために包括アダプタ
・バスを監視するモニタを含む。
【0020】パケット・メモリ・コントローラ(PMC
)は、GABエンティティとPM間でインターフェース
する。これは、RAMとの間でエラー訂正を提供し、ま
たGABとの間でパリティを供給する。単一サイクルお
よび高速ページ・モード・サイクルのアクセスが与えら
れる。DRAMが使用される場合、PMCは、メモリ・
リフレッシュ・サイクルを提供する。
【0021】各パケット・メモリ・インターフェース(
PMI)は、到着するデータ・パケットをパケット・メ
モリに記憶するためおよびパケット・メモリからデータ
・パケットを読み出して、その関連する入出力ポートに
渡すために包括アダプタ・マネジャからバッファを得る
ための手段を含む。各パケット・メモリ・インターフェ
ースは、さらに、異なるデータ伝送速度を有する入出力
ポートに接続装置を相互接続できるようにする、速度適
合/ステージング・バッファを含む。
【0022】状況通知装置は、そのそれぞれの待ち行列
セットを形成する待ち行列群のうちの少なくとも1つの
待ち行列におけるデータ・パケットの存在を、パケット
・メモリ・インターフェースに通知するために使用され
る。これは、1つの状況レジスタからなり、その各ビッ
トが、1つの待ち行列に対応していて、その待ち行列が
空であるか否かを指示する。この状況レジスタの状態変
化は、包括アダプタ・バスを介してすべてのパケット・
メモリ・インターフェースに同報通信される。
【0023】包括アダプタ・マネジャは、パケットを待
ち行列に編成する。各待ち行列は、所定の優先レベルを
有し同一の論理入出力ポートに宛てられるデータ・パケ
ット、またはプロセッサ・サブシステムによって同様に
処理されるべきデータ・パケットのリンク・リストを含
む。包括アダプタ・マネジャは、各入出力ポートのため
の待ち行列セットを規定する。この待ち行列セットは、
所定の待ち行列セット動作のための1つのオペランドと
して一括して扱われることができる待ち行列群からなる
。パケット・メモリは、プロセッサのための複数の待ち
行列と、パケット・メモリ・インターフェースのための
複数の出力待ち行列を含む。データ・パケットは通常、
パケット・メモリから送信された後に出力待ち行列から
捨てられるが、データ・パケットまたはデータ・パケッ
ト群は循環式として指定されることができ、その場合は
、そのデータ・パケットまたはデータ・パケット群は、
送信後も捨てられず、再び待ち行列に入れられる。
【0024】さらに、同一のヘッダ制御情報部をいくつ
かのデータ・パケットに付加する時のように、バッファ
は複数のデータ・パケットにリンクされることができる
。また、データ・パケットのデータ部を使用する最後の
データ・パケットが送信されるまで、データ・パケット
のデータ部は、そのデータ部を複製または削除すること
なく、異なるヘッダ制御情報部にリンクされることもで
きる。
【0025】各入出力ポートは、入力データ・パケット
の内容を検査し、そのデータ・パケットが登録されるべ
き適当な待ち行列を決定する。この特徴によって、包括
高帯域幅アダプタは、多重状態パケット交換システムと
して使用されることができる。
【0026】入力データ・パケットが、データ・パケッ
ト源に通知する必要なしに、代替待ち行列にリンクされ
るように、元の待ち行列に新しいベース・アドレスを割
り当てることにより、待ち行列登録元の待ち行列から代
替待ち行列へ切り替えるように待ち行列再構成機構が設
けられている。
【0027】各パケット・メモリ・インターフェースが
、新パケット・メモリ・インターフェースの待ち行列セ
ット・ベース・アドレスを旧パケット・メモリ・インタ
ーフェースのセット・ベース・アドレスにセットさせる
ことによって、待ち行列のサービスを代行できる待ち行
列再構成機構が設けられる。また、旧待ち行列の第1パ
ケットを新待ち行列に移動させることによって、他のパ
ケット・メモリ・インターフェースでサービスされるよ
うに待ち行列が大量に移動される待ち行列再構成機構が
設けられる。
【0028】前述の教示によれば、本発明は、マネジャ
のメモリ内の指定されたアドレスを規定する現サービス
要求と共に、各サービス・ユーザがマネジャに現サービ
ス要求を送るサービス・ユーザのための包括高帯域幅ア
ダプタを提供する。マネジャは、予想されるサービス要
求に対する応答を前以って準備し、そのメモリ内の指定
されたアドレスにこの応答を記憶する。現要求に応答し
て、マネジャは、前以って準備し、指定されたアドレス
に記憶しておいた応答を送る。一般に、マネジャは、現
サービス要求に応じて、将来に予想されるサービス要求
に対する応答を前以って準備し、この応答をメモリ内の
指定されたアドレスに記憶する。より詳述すれば、アド
レスを指定するサービス要求が、アドレス・バスを介し
て包括アダプタ・マネジャに送られ、それに応答してマ
ネジャが、そのアドレスによって指定されるメモリ位置
に前以って記憶しておいた応答を送り返す。一般に、マ
ネジャは、データ・バスを介して要求元装置に現応答が
送られるのと同時に、将来の応答が準備され記憶される
ように、将来予想されるサービス要求に対する応答を準
備し、それをローカル・メモリ内の指定された位置に記
憶しておく。
【0029】将来の可能な応答は、包括アダプタ・マネ
ジャ内の論理回路によって準備される。この論理回路は
、前景論理回路と背景論理回路を含む。この背景論理回
路は、次フリー・バッファ・ポインタと次フリー・パケ
ット・ポインタを準備することによって、プリミティブ
の形で受信されるサービス要求より一歩先んじるように
動作し、これら2つのポインタをレジスタに記憶する。 このレジスタは、前景論理回路からアクセスして、パケ
ット・メモリ・インターフェースによる現要求に対して
タイムリーな応答を生成することが可能である。サービ
ス・ユーザは、同一の同期バス・サイクルでメモリ内の
指定されたアドレスのデータを読み出す読出し動作によ
って、現要求を送る。
【0030】
【実施例】
1.0  概要 この包括高帯域幅アダプタは、高速通信アダプタ用に設
計された、統一的アーキテクチャを実施する。これは、
バス、チャネルおよび通信ネットワークを相互接続する
ための開発のプラットホームを提供する。各アダプタの
最大構成は制限されているが、各アダプタ上のポートに
接続された交換網を使用する複数のアダプタを相互接続
することにより、任意の大きさのシステムが構成される
ことができる。
【0031】本章では、アダプタの通信環境に関する概
要を示し、アダプタの主要構成要素を紹介する。
【0032】1.1  アダプタの通信環境この包括高
帯域幅アダプタは、広範囲のトラフィックを搬送できる
通信ネットワーク環境に常駐するように設計されている
。このトラフィックは、時間クリティカルな緊急トラフ
ィックおよび帯域幅クリティカルな同期トラフィックか
ら、時間にクリティカルでない非同期の背景トラフィッ
クまでに及ぶ。この統合ネットワークは、同種であるか
または、高帯域バック・ボーン・ネットワークを介して
相互接続されたいくつかの異なる種類のローカル・エリ
ア・ネットワークからなる。ネットワーク接続装置は、
端末やプリンタのような簡単な装置から、メインフレー
ム・ホストやネットワーク・コントローラのようなイン
テリジェント装置までに及ぶ。このような環境でのネッ
トワーク相互接続は、同種のローカル・エリア・ネット
ワークを接続する簡単なブリッジ装置に基づくかまたは
2つの異種ネットワークを接続するのみならず、別々に
管理されるドメインの相互接続に必要なプロトコル変換
とネットワーク経路指定をも提供する複雑な高水準ゲー
トウェイに基づくかである。
【0033】このネットワークを流れるトラフィックは
、その種類とは無関係に、パケットと呼ばれるデータ・
ストリーム・セグメントの形で運ばれる。2つのネット
ワーク・ノードがネットワークを介して情報を交換した
い時、その情報をパケットで送る。最適のパケット・サ
イズを決定する主要因の1つは、ネットワーク伝送媒体
のビット・エラー率である。同軸ケーブルおよび光ファ
イバー・リンクでは、エラー率が低いので、パケット・
サイズは数キロバイト程度の大きさにできる。パケット
・サイズに影響するもう1つの要因は、末端ノードで走
行するアプリケーションの待ち時間要件である。待ち時
間要件が小さければ小さいほど、パケットが短くなる。
【0034】一般に各パケットは、2つの構成要素、す
なわち制御情報とデータを含む。このデータは、2つの
通信端ノード上で走行するユーザ・レベルのアプリケー
ションによって供給される。しばしばヘッダと呼ばれる
この制御情報は、情報交換を調停するのに使用される通
信プロトコルによって必要とされる。ヘッダ情報は、パ
ケットがアプリケーション・プロセスに渡される前に、
通信プロトコル・プロセッサによって解釈される。ヘッ
ダは、データが所期の宛先に正しく届いたことを確認す
るために対等プロトコル要素間で交換される実際に符号
化されたメッセージである。しばしば、通信プロトコル
は、到着したエラーを有するパケットを再送信する責任
をも負う。
【0035】パケットは、その宛先に到着する前に、い
くつかの中間ネットワーク・ノードを通して伝送される
。中間ノードでは、パケットは、ネットワーク・レベル
のプロトコル・エンティティに到達する前に、いくつか
のソフトウェア・レイヤとハードウェア・レイヤによっ
て影響を及ぼされる。パケット内の制御情報によって、
中間ノード内のネットワーク・レイヤのエンティティは
、このパケットがどの出力リンクに経路指定されるべき
かが決定できる。一旦、この経路指定が決定されると、
このパケットは、おそらく同一のソフトウェア・レイヤ
とハードウェア・レイヤを、再度逆方向に流れる。 パケットがレイヤの境界で滞ることがないようにするた
めに、ネットワーク・ノード内のソフトウェアおよびハ
ードウェアは、所期のパケット到達速度でパケットを処
理できなければならない。
【0036】この包括高帯域幅アダプタは、上述の通信
環境用に設計されている。パケットがアダプタ・ポート
の1つで受信されると、このアダプタ・ポートは、受信
パケットをアダプタ・パケット・メモリに移動し、アダ
プタのプロセッサによる処理のためこのパケットを待ち
行列に登録する。プロセッサは、使用可能であると、ア
ダプタ・パケット・メモリ内のパケットを処理する。こ
のプロセッサは、パケット制御情報とプログラム式通信
レイヤ機能に基づいて、パケットがその最終宛先に到達
したか否かを判定することができる。パケットがその最
終宛先に到達したならば、プロセッサは、システム・バ
スまたはシステム入出力チャネルに接続されたアダプタ
・ポートに、処理されたパケットを転送する。パケット
がその最終宛先に到達していないならば、プロセッサは
、次にこのパケットがどのリンクまたはネットワークに
経路指定すべきかを決定し、目標のネットワーク・リン
クに接続された出力アダプタ・ポートにこのパケットを
転送する。どちらの場合でも、他のアダプタ・ポートの
1つに、送出の準備ができているパケットがあることが
通知される。通知されたアダプタ・ポートは、このパケ
ットをアダプタ・パケット・メモリから移動させ、パケ
ット伝送を制御する。
【0037】1.2  アダプタ構成要素図1に示され
るように、この包括高帯域幅アダプタは、高性能の包括
アダプタ・バス(GAB)12によって互いに結合され
る4つの主要構成要素を有する。これらの構成要素を以
下に示す。 1.プロセッサ・サブシステム(P)142.パケット
・メモリ(PM)およびコントローラ163.包括アダ
プタ・マネジャ(GAM)184.パケット・メモリ・
インターフェース(PMI)を有するアダプタ・ポート
20
【0038】1.2.1  プロセッサ・サブシステム
(P)14 このアダプタは、通信コードを走行させパケット待ち行
列を処理するのに使用されるローカル・プロセッサ・サ
ブシステム14を含む。このプロセッサ・サブシステム
には、下記のものが含まれる。 通信コードと即値制御データが常駐するプロセッサ・ロ
ーカル・メモリ22 プロセッサ・システムをGABに接続するアイソレータ
24 このプロセッサをGAMローカル・バスに接続するもう
1つのアイソレータ26 いくつかのハードウェア・タイマ、割込みコントローラ
、ローカル・メモリ・コントローラを含むプロセッサの
動作に不可欠な補助回路28
【0039】アイソレータを利用することによって、プ
ロセッサは、アダプタ・カード内のメモリにアクセスで
きる。このアダプタ内には、少なくとも3つの別々のメ
モリ・ブロック、すなわち、パケット・メモリ16、G
AMローカル・メモリ30、およびプロセッサ・ローカ
ル・メモリ22がある。さらに、アダプタ内のポートの
それぞれが、そのポートのPMI20を介してアクセス
可能なメモリを有する。この機構は、PMI機能の1つ
であり、後述の「パケット・メモリ・インターフェース
  −  PMI」で説明する。
【0040】このプロセッサ・ローカル・メモリ22は
、コードとコード即値制御データを記憶するのに使用さ
れる。プロセッサ・ローカル・メモリの一部は、電源投
入時自己診断コードとIPL(初期プログラム・ロード
)を記憶するのに使用される不揮発性メモリである。 アダプタが電源投入されると、プロセッサは、不揮発性
メモリからその実行を開始し、IPLコードを走行させ
て、通信コードをプロセッサのローカル・ランダム・ア
クセス・メモリにロードする。プログラム・ロードが完
了されると、IPLコードは、プロセッサに、新たにロ
ードされた通信コードからその実行を続行させるように
する。プロセッサ・サブシステムはまた、割込みコント
ローラ、いくつかのハードウェア・タイマ、ローカル・
メモリ・コントローラのような補助回路28も含む。こ
れらの補助回路は、プロセッサ機能を首尾よく実行する
のに不可欠である。P補助回路の詳細は、後述の「プロ
セッサ・サブシステム」を参照されたい。
【0041】アダプタ・アーキテクチャの指導原理は、
Pがパケット内のヘッダ情報だけを見ればよく、パケッ
トのユーザ・データ部をPのローカル・メモリ内に持ち
込む必要がないことである。PMIは、この原理をサポ
ートして、パケットのデータ部分に関する検査合計情報
を供給するハードウェアを含んでいる。PMIの検査合
計サポートについては、後述の「パケット・メモリ・イ
ンターフェース  −PMI」を参照されたい。
【0042】1.2.2  パケット・メモリ(PM)
およびコントローラ16 個々の各アダプタ・ポートに到達したパケットは、PM
16に記憶されて処理を待つ。このPM16は、GAB
12に接続され、高速ランダム・アクセス・メモリから
構成される。PM内のメモリには、16メガバイトとい
う実施上の制限がある。前述の実施では、このメモリは
256バイト・バッファの組に分割されている。パケッ
トは、PM内の1つまたは複数のバッファに記憶され、
Pによって削除またはアダプタ・ポートの1つに経路指
定されることができる。パケットは、PMI20構成要
素を介して、PMに送られ、PMから検索される。PM
バッファ空間の管理は、GAM18の責任である。
【0043】パケット・メモリ・コントローラは、PM
16に対してGAB12へのインターフェース機能を提
供する。これは、パリティ生成や応答生成のようなGA
Bの要件からPMを分離する。パケット・メモリ・コン
トローラの詳細については、後述の「パケット・メモリ
(PM)およびコントローラ16」を参照されたい。
【0044】1.2.3  アダプタ・ポートとパケッ
ト・メモリ・インターフェース  −  PMI20こ
のアダプタ内の個々のポートごとに、PMI20がある
。1つのアダプタ内にいくつかのPMIが存在でき、1
アダプタ内に4つまでのポートが存在できる。PMIは
、GABに接続され、パケットをPM16に出し入れす
るための機構を提供する。例えば、PMIに接続された
マイクロチャネル・インターフェースは、通信ネットワ
ークにパケットを引き渡すための経路をPS/2システ
ムに提供する。アダプタのネットワーク接続は、GAB
12に接続されたPMIを介して行われる。主なPMI
機能は、到達するパケットをPMに記憶するため、GA
M18からバッファを獲得することである。PMIはま
た、PMからパケットを読み出し、それらをフロント・
エンドに送ることもできる。このPMIは、個々のアダ
プタ・ポートと包括高帯域幅アダプタの残り部分間の唯
一のインターフェースである。PMI機能の詳細につい
ては、後述の「パケット・メモリ・インターフェース 
 −  PMI」を参照されたい。
【0045】1.2.4  包括アダプタ・バス  −
  GAB12 このGAB12は、すべての主要なアダプタ構成要素を
互いに接続する。すべてのバス信号がバス・クロックに
同期されているため、GABは、物理信号インターフェ
ース・レベルの同期バスである。しかしながら、このバ
スの動作は非同期式であり、コマンド/応答方式で作動
する。バス・コマンドに対する応答は、任意のバス・サ
イクルに戻されることができる。このバス速度は、最も
クリティカルなアダプタ性能パラメータの1つであり、
アダプタ・スループット要件に合致する必要がある。ア
ダプタ・アーキテクチャの目標の1つは、この高性能バ
ス上での干渉を減少させることである。
【0046】バス信号の定義とバス動作のタイミングの
詳細については、後述の「包括アダプタ・バス(GAB
)」を参照されたい。
【0047】1.2.5  包括アダプタ・マネジャ 
 −  GAM18 このGAM18は、アダプタ管理機能を実行するいくつ
かの機能構成要素を含む。これらの構成要素は、GAM
カーネル、GABのためのアービタ、GABのためのモ
ニタ、およびGAMローカル・メモリ30である。
【0048】1.2.5.1  GAMカーネルGAM
カーネルは、PMのデータ構造を実施し、すべてのデー
タ管理機能を実行する。GAMによって操作される3つ
の主要データ構造がある。すなわち、図2のバッファ3
2、パケット34および待ち行列36である。これらの
3つのデータ構造に基づいて、GAMは、パケット・ト
ラフィック制御、バッファ/パケット管理、および入出
力待ち行列スケジューリングのようないくつかの重要な
機能を実行する。
【0049】PまたはPMI20は、パケットを受信す
るためにバッファ空間を必要とする時、GAM18に対
してバッファ要求を行う。GAMは、PまたはPMIか
ら連続して要求されたバッファ32を互いに結合して、
パケット34を形成する。パケットは、さらに待ち行列
36に編成される。アダプタ内の各PMIは、入力用と
出力用の複数の待ち行列が割り当てられる。パケットが
PM16内に移動された後、PMIは、そのパケットを
特定の待ち行列に入れるようGAMに指令する。最終的
にGAMは、処理すべきパケットがあることを、P上で
走行中のコードに通知する。P上で走行中のコードが、
パケットを待ち行列から外し、それを処理し、次いで出
力待ち行列に登録する。
【0050】この動作は、Pによるポーリングに基づい
て行うこともできる。GAMは、すべての待ち行列登録
動作を処理し、出力待ち行列の状況をPMIに通知する
。GAMに、パケット解放を要求することもでき、その
場合は、その特定のパケットに属するすべてのバッファ
が、フリー・バッファ・プールに返される。
【0051】GAMカーネル機能の詳細については、後
述の「包括アダプタ・マネジャ(GAM)18」を参照
されたい。待ち行列スケジューリングの方針および機構
の詳細については、後述の「待ち行列のスケジューリン
グと通知」を参照されたい。
【0052】1.2.5.2  GABアービタP14
およびPMI20はすべて、GAB12を使用して通信
する。GABアービタは、最高のバス優先順位を有する
バス要求元に、バス制御を許可する。この包括高帯域幅
アダプタに採用されるバス優先順位方式は、事前プログ
ラム式デフォルト優先順位方式とラウンドロビン均等優
先順位方式の組合せである。アダプタ内の5つの潜在的
バス要求元、すなわちPと4つのPMIのうちから1つ
を選択して、常に最高のバス優先順位を有するようにす
ることができる。残りの4つの潜在的バス要求元は、ラ
ウンドロビン方式でバス優先順位を共有する。アダプタ
の電源投入時には、Pがデフォルトの優先順位が最高の
バス要求元である。しかしながら、Pは、GAM18に
要求を発行することによって、いつでも任意のPMIが
優先順位が最高のバス要求元になるように変更すること
ができる。GAB要求/許可処理とバス優先順位方式の
詳細については、後述の「包括アダプタ・バス(GAB
)」を参照されたい。
【0053】1.2.5.3  GABモニタバス調停
機能とバッファ管理機能の実行に加えて、GAM18は
、GAB12用のバス・モニタとしても働き、下記のバ
ス監視機能を実行する。 パリティ検査  −  GAMは、常にバスを監視する
。GAB上でバス動作がある時、GAMは、アドレス・
バス・パリティとデータ・バス・パリティの両方を検査
する。パリティ・エラーが検出された場合、GAMは、
GAB上のバス・エラー信号を活動化して、アダプタの
残り部分にそのエラーについて知らせる。 バス・サイクル長検査  −  GAMは、バス要求元
にバス制御を許可した後、直ちにカウンタを起動する。 このカウンタは、BCLKと呼ばれるGABバス・クロ
ックによってクロックされる。現バス・マスタがバス制
御を解放する前にこのカウンタが所定の限界に達した場
合には、やはりバス・エラー信号がGAMによって活動
化される。バス・サイクルの限界は、GAMの内部レジ
スタへの書込みにより、P14によってプログラミング
可能である。
【0054】バス・エラーが発生した時、GAMは、バ
ス・アクセス・アドレス、現バス・マスタ、およびバス
・エラーの原因を、その内部記憶域に記録する。この情
報は、後でエラー分離と回復の目的で、Pによって検索
可能である。GAMバス監視機能の詳細については、後
述の「包括アダプタ・マネジャ(GAM)18」を参照
されたい。
【0055】1.2.5.4  GAMローカル・メモ
リ30 バッファ32をパケット34に編成し、パケットを待ち
行列36に編成するためにGAM18によって使用され
るデータ構造は、GAMローカル・メモリ30に記憶さ
れる。GAMは、GAMローカル・バス38を介してこ
のメモリにアクセスし、したがって、GAMは、GAB
12を介する同時パケット転送を妨げない。このGAM
ローカル・メモリ30はまた、アイソレータ26を経て
またはGABに対するGAMプリミティブ要求を使って
、P14によってアクセスされる。GAMプリミティブ
の詳細な説明については、後述の「GAM18のプリミ
ティブ」を参照されたい。
【0056】GAMローカル・メモリは、16ビット幅
であり、好ましくはスタティックRAMで実施される。 PM内のメモリの1メガバイトごとに、少なくとも8K
×16ビットのGAMローカル・メモリが必要である。
【0057】2.0  アダプタのアーキテクチャ上の
特徴とデータフロー 包括高帯域幅アダプタのアーキテクチャは、図1に示さ
れている。高いスループットと包括使用可能性の要件を
満足するために、このアダプタ・アーキテクチャは、下
記の特徴を有する。 最小の干渉  −  このアダプタ内に、最大3つの主
要な異なる同時データフローが、互いに干渉することな
く存在できる。これら3つのデータフローは、以下の通
りである。 1.PMI20とPM16間のパケット・データ移動2
.GAM18とGAMローカル・メモリ30の間でのG
AM動作 3.PM16とプロセッサ・ローカル・メモリ22間で
のP14の動作さらに、各通信アダプタ・ポート内部に
は他のフローが無数にある。
【0058】並列動作  −  パケット動作は、下記
の2つのレベルで並列に走行する。パケット受信中に、
P14が前以って受信されたパケットを処理している間
に、GAM18とPMI20は、追加の入力パケットを
PM16に移動することができる。パケット送信中、P
がPM内の次の入力パケットの処理を進めている間に、
GAMとPMIが、PMから出力パケットを移動するこ
とができる。第2の並列性のレベルは、GAM18とP
MI20間のバッファ・レベルで発生する。PMIが、
パケット移動を開始すると、フリー・バッファに対して
GAM要求を行う。GAMが、このバッファ要求をPM
Iから受信すると、同一GABバス・サイクルに、PM
Iに新バッファ・ポインタを供給する。PMIが、この
新バッファ・ポインタを受信後、直ちにそのパケット移
動を開始することができる。同時に、GAMは、その動
作を背景で続行して、現要求を完了し、次の要求に対す
る応答を準備する。
【0059】機能的成長の可能性と広範囲の自己診断能
力  −  このアダプタ・アーキテクチャの主要な設
計原理の1つは、アダプタ内の他のハードウェア部分に
よって行われる任意のパケット・メモリ機能を、必要な
らばプロセッサが実行できるようにすることである。こ
の原理は、Pがアダプタ内のすべてのメモリにアクセス
できなければならないことを示唆している。この原理の
意味は、2つある。 機能的成長の可能性  −  Pは、任意のメモリ内の
任意のデータを変更でき、任意のデータ・バスに対して
マスタとして働くことができるため、例えばパケット暗
号化、データ・カプセル化、物理アドレス変換を必要と
されるどんな新しいパケット・メモリ管理機能も実施す
ることができる。このアーキテクチャは、アダプタ・ハ
ードウェアとコードの間のモジュール式の柔軟なインタ
ーフェースのみならず、より重要なことに、機能的成長
の可能性をも提供する。 広範囲の自己診断能力  −  このアーキテクチャを
用いると、Pが、アダプタ内の他のどのハードウェア部
分によって行われたどんな機能をも再実行し、その結果
をハードウェアによる結果と比較することができる。P
は、あるデータ記憶位置に故意にエラーを挿入し、アダ
プタ・ハードウェアの、このエラーを検出しそれから回
復する能力を検査することができる。これによって、ア
ダプタ自己診断能力の重要な部分がコードで実施できる
ようになり、アダプタの潜在的な信頼性、可用性および
保守容易性の要件が満たされる。自己診断コードは、電
源投入時自己診断用に不揮発性メモリ装置に記憶するこ
とも、またオンライン問題決定のためのRAMロード可
能なフォーマットで記憶することもできる。
【0060】2.1  アダプタのデータフローこの包
括高帯域幅アダプタの内部には、3本の異なる内部デー
タ・バス、すなわち、GAB12、Pローカル・バス4
0およびGAMローカル・バス38がある。これら3つ
の異なる内部バスのうちの1本を使用して、任意の2つ
のアダプタ構成要素間でデータが交換されることができ
る。1本の内部バス上で同時に行えるデータ交換は、1
つだけである。しかしながら、この3本の異なる内部ア
ダプタ・バスは、同時にデータ交換に携わることができ
る、すなわち、GAB上でのパケット移動と、Pローカ
ル・バス上でのP処理と、GAMローカル・バス上での
GAM処理が、同時に行える。
【0061】以下の数段で、アダプタ内部で可能な6つ
のデータフローすべての簡単な説明を行う。 パケット移動 原点  −  PMI20 宛先  −  PM16 走行  −  GAB12上 説明  −  パケット移動は、パケットの受信中およ
び送信中に、PMとの間でパケットを移動するために、
PMIが使用する。パケット移動の速度は、アダプタの
性能にとってクリティカルであり、最大正味アダプタ・
データ・スループット要件の少なくとも2倍の総合スル
ープットをサポートできなければならない。GABは、
ストリーム・モード動作をサポートして、このタイミン
グ要件を満足する。
【0062】GAM18のプリミティブと応答原点  
−  P14またはPMI20宛先  −  GAM1
8 走行  −  GAB12上 説明  −  GAMプリミティブは、PまたはPMI
が、パケットの待ち行列登録/解除やフリー・バッファ
割当てのようなパケット・メモリ管理機能の実行をGA
Mに要求する時に呼び込まれる。GAMプリミティブの
要求と応答の情報は、MM/IO(メモリ・マップ式/
入出力)バス動作のために、GABのアドレス線とデー
タ線の上で実行される。GAM内の処理は、単一スレッ
ド式である。すなわち、一旦GAMがPまたはPMIか
ら要求を受理すると、GAMが現要求を完了するまで、
他の要求は受理されない。GAM応答は、同期式でも非
同期式でもよい。同期応答とは、要求と同じGABサイ
クル中に、要求元が応答を受け取れることを意味する。 非同期応答とは、ある要求に対するGAM応答が、単一
のバス・サイクル中には入手できず、要求元は、後で、
取り決められたバス・サイクル中に、専用の応答レジス
タから応答を検索しなければならないことを意味する。
【0063】GAM18のローカル動作原点  −  
GAM18またはP14宛先  −  GAMローカル
・メモリ30走行  −  GAMローカル・バス38
上説明  −  GAMローカル・メモリは、GAMが
そのパケット・メモリ管理機能を実行するのに不可欠な
すべてのデータ構造を記憶するのに使用される。GAM
がPおよびPMIからの要求を処理するためには、GA
Mは、GAMローカル・メモリからの読取りとGAMロ
ーカル・メモリへの書込みを行えなければならない。さ
らに、このアダプタ・アーキテクチャでは、広範囲の自
己診断能力と将来のGAM機能の強化をもたらすために
、PがGAMローカル・メモリにアクセスすることも可
能である。
【0064】P14直接制御メッセージ原点  −  
P14 宛先  −  PMI20およびアダプタ・ポート走行
  −  GAB12上 説明  −  P直接制御メッセージは、PMIとアダ
プタ・ポート内部ハードウェアを制御しプログラミング
するために、Pが使用する。直接制御メッセージは、G
AB上のMM/IOバス動作として実行される。直接制
御メッセージの適用例には、PMI内部状態レジスタの
読み書きと、アダプタ・ポート内部フロント・エンド制
御レジスタの読み書きが含まれる。
【0065】P14ローカル動作 原点  −  P14 宛先  −  プロセッサ・ローカル・メモリ22走行
  −  Pローカル・バス40上説明  −  Pロ
ーカル動作には、P命令の取出しと、即値制御データの
読み書きが含まれる。Pローカル・バス・タイミングは
、遊休状態の導入なしに、所期のメモリ・アクセス時間
とPのMIPS(毎秒100万命令)速度をサポートで
きなければならない。ローカル・メモリ・データの読み
書き動作は、Pの内部で走行する通信コードによって実
行される。
【0066】P14パケット処理 原点  −  P14 宛先  −  PM16 走行  −  GAB12上 説明  −  アダプタ・ポートがパケットを受信する
時、PMIは、そのパケット・データをパケット・ヘッ
ダ制御情報と共にPMに記憶する。このパケット・ヘッ
ダ制御情報は、P内の通信コードがその様々なプロトコ
ル・レイヤ機能を実行するのに不可欠である。Pは、P
Mからデータを読み出し、PMにデータを書き込む必要
がある。このデータフローは、GAB上の一連のストリ
ーム・モード・バス動作として実現される。
【0067】3.0  パケット・メモリ(PM)およ
びコントローラ16 この包括高帯域幅アダプタでは、PM16が、入力パケ
ットと出力パケットのためのバッファ記憶域として使用
される。アダプタ・ポートの1つでパケットが受信され
る時、関連するポートのPMI20が、そのパケットを
PMに記憶する。その後、P14内の通信コードが、そ
のプロトコル・レイヤ機能に従って、PM内の受信パケ
ットのヘッダ情報を処理する。パケットがPによって処
理された後に、別のアダプタ・ポート上のPMIが、そ
のパケットをPMから移し、パケット送信を開始する。 ただし、あるPMI内でパケットを受信し、そのパケッ
トをPMに記憶し、その後、P処理を行わずにそのパケ
ットを別のPMIを介して直ちに送信することも可能で
ある。
【0068】3.1  PM16の編成PM16は、こ
の包括高帯域幅アダプタがパケットを記憶するのに使用
する。このメモリは、パケット記憶専用である。この包
括高帯域幅アダプタ内のPMのサイズには、16メガバ
イトという実施上の制限がある。PMは、メモリ・バッ
ファに編成される。今説明している実施態様の各バッフ
ァは、256の連続バイトであり、各バッファは、バッ
ファ境界から始まる(各バッファの開始アドレスの下位
8ビットが、すべて0である)。PM内のすべてのメモ
リ・バッファは、GAMによって管理される。GAMの
詳細については、後述の「包括アダプタ・マネジャ(G
AM)18」を参照されたい。
【0069】PMの速度は、アダプタ性能にとって非常
に重要である。PMのアクセス時間は、遅延の導入なし
に、所期のGAB12のバス・サイクル・タイムをサポ
ートできなければならない。
【0070】3.2  PM16のサイズPM16のサ
イズは、下記の要因に基づいて決定する。 コスト カード面積 パケット・サイズ 活動状態の論理リンク・ステーション数論理リンク・ス
テーションのウィンドウ・サイズ往復タイマや再送信タ
イマのような他のリンク・ステーション属性 所望の性能レベル その他
【0071】3.3  パケット・メモリ(PM)およ
びコントローラ16 PM16は、スタティックRAM(SRAM)またはダ
イナミックRAM(DRAM)のいずれかで実施される
ことができる。このPMがSRAMで実施される場合、
信号インターフェース以外の主要な機能は、メモリ・コ
ントローラによって実行される必要がない。一方、この
PMがDRAMで実施されるならば、メモリ・コントロ
ーラは、下記の機能を実行する必要がある。 ダイナミック・メモリ・リフレッシュ ECC生成/訂正/検査 行アドレスと列アドレスの制御選択 GAB上でのパリティ生成 その他
【0072】3.4  PM16のデータ保全性保護P
M16がSRAMで実施される場合、メモリ内容のデー
タ保全性は、パリティ・メモリ・ビットによって保護さ
れなければならない。PM書込み動作時、パリティ・メ
モリ・ビットは、GABデータ・パリティ・ビットによ
りセットされる。PM読出し動作時、パリティ・メモリ
・ビットの内容は、GABデータ・パリティ線上を伝播
される。メモリ内容の改ざんがある場合には、GAM内
のバス・モニタが、パリティ・エラーを検出し、バス・
エラー信号線を立てる。
【0073】PMがDRAMで実施される場合、データ
保全性は、7ビットECCコードによって保護されなけ
ればならない。この7ビットECCコードは、1ビット
のエラーを訂正し、2ビットのエラーを検出することが
できる。PM書込み動作時、PMコントローラは、7つ
のECCビットを生成し、これらのビットをPMに記憶
する。PM読出し動作時、PMコントローラはECC検
査を実行する。1ビットのECCエラーがある場合、メ
モリ・コントローラは、その1ビット・エラーを訂正し
、読出し動作を継続する。しかしながら、このメモリ・
コントローラは、Pに対してマスク可能割込みを生成し
て、エラー状況を指示する。2ビットECCエラーがあ
る場合、メモリ・コントローラは、自ら内部的に「ロッ
ク」され、それ以降のPM読出し/書込み動作に応答で
きなくなる。これが起こると、次のバス・サイクルでP
Mをアドレスするバス・マスタは、そのコマンド/要求
から応答を受け取らない。ある設定時間の後に、GAM
内のバス・マスタは、「無応答」状態を検出し、GAB
上にバス・エラー信号を生成する。「包括アダプタ・マ
ネジャ(GAM)18」で後述するように、GAMが、
バス・エラー中のアクセス・アドレスを記録する。 この情報から、Pがバス・エラーの原因を突き止めるこ
とができる。
【0074】4.0  包括アダプタ・マネジャ(GA
M)18 ここと後述の「待ち行列のスケジューリングと通知」で
は、GAM18によって提供される機能と特徴ならびに
そのインターフェースおよび内部データ構造の詳細な説
明を提供する。GAMの待ち行列スケジューリング機能
の特有な性質のため、ここではそれについては説明しな
い。その代わり、後述の「待ち行列のスケジューリング
と通知」を丸々使って、待ち行列スケジューリングの詳
細について説明する。
【0075】4.1  GAM18の主な機能バッファ
32の管理 パケット34の管理 待ち行列36のスケジューリング 事象の制御 トラフィックの制御 P14およびPMI20のインターフェースマルチキャ
スト・パケット機能のサポート多重インタリーブ式現パ
ケット送受信 包括アダプタ・バス・アービタ 包括アダプタ・バス・モニタ
【0076】4.2  GAM18の設計目標P14お
よびPMI20のハードウェアに均一なインターフェー
スを提供する P通信コードに均一なインターフェースを提供するPお
よびPMIの設計をパケット・メモリ内部制御ブロック
構造から要約する 繰り返し機能に関するPコード・オーバーヘッドを削減
する 将来の機能拡張のための包括なプラットホームを提供す
る GABデータ移動に対する干渉を最小にするアダプタ・
スループットと応答時間性能の目標をサポートする マルチキャスト・パケット・サポートのような通信機能
実施をサポートする
【0077】4.3  GAM18の性能目標応答時間 GAM応答時間の定義は、GAM要求の受取りからGA
M応答までの時間間隔である。下記の時間クリティカル
なGAM要求に対する応答は、要求が行われるのと同じ
GABバス・サイクルに準備される。 パケット受信要求(REQ_RX) フリー・バッファ要求(REQ_BUF)次送信バッフ
ァ要求(NXT_BUF)
【0078】スループット GAMに対する最悪の場合のスループット要件は、アダ
プタによって受信された一連の短パケット(256バイ
ト以下)の場合である。短パケットを受信するためには
、GAMは、次の2つの要求を処理する必要がある。 パケット受信要求(REQ_RX) パケット受信後待ち行列登録(ENQ_PKT/R)ア
ダプタのネックとなるGAMなしに最悪の場合のデータ
フローを維持するため、これら2つの要求に対する全処
理時間は、短パケットの送信時間より短くする。
【0079】4.4  バッファ32、パケット34、
および待ち行列36 ここでは、包括高帯域幅アダプタ内のバッファ32、パ
ケット34、および待ち行列36の意味を定義し、これ
ら相互の関係と、GAMがどのようにしてこれらを互い
に論理的に接続するかを説明する。バッファは、PM内
で割当て可能な最小の論理メモリ・エンティティである
。パケットは、互いに論理的に接続されたバッファ群で
ある。パケット群は互いに論理的にリンクして、待ち行
列が形成される。
【0080】4.4.1  バッファ32とバッファ・
テーブル・エントリ(BTE) 「パケット・メモリ(PM)およびコントローラ16」
で前述したように、包括高帯域幅アダプタ内のPM16
は、多数のバッファ32に分割されている。各バッファ
は、バッファ境界で開始する256の連続するバイトで
あると規定される。PM内の各バッファごとに、GAM
ローカル・メモリ30に規定されている対応する1つの
バッファ・テーブル・エントリ(BTE)がある。BT
Eは4バイト長であり、その最初の2バイトに、「次バ
ッファ・ポインタ」を含む。アダプタの初期設定中に、
すべてのバッファはフリー・バッファに初期設定され、
フリー・バッファ・プール内のすべてのフリー・バッフ
ァは、BTE内の次バッファ・ポインタによって互いに
リンクされ、フリー・バッファ・リストを形成する。こ
の場合、フリー・バッファのBTE内の次バッファ・ポ
インタは、リスト内の次のフリー・バッファを指示する
。フリー・バッファは、パケット・データを記憶するた
めP14またはPMI20によって割り当てられると、
パケット・バッファになる。パケット・バッファのBT
E内の次バッファ・ポインタは、このパケット・バッフ
ァが、あるパケット内の最終バッファでなければ、同一
パケット内の次のパケット・バッファを指示する。 この場合、最終パケット・バッファのBTE内の次パケ
ット・ポインタは、0にセットされる。BTEとバッフ
ァの関係は、1対1で順序通り対応する。すなわち、B
TE#1はバッファ#1を表わし、BTE#2はバッフ
ァ#2を表わし、以下同様である。しかしながら、BT
E#0とそのアドレスは、GAMによる内部使用のため
に予約されており、したがって、PM内のバッファ#0
は、通常方法で使用されない。
【0081】次バッファ・ポインタに加えて、各BTE
は、1バイトのバッファ・オフセットと、1バイトのバ
ッファ・バイト・カウント情報を含む。これら2つのバ
イト情報は、このバッファがフリー・バッファである時
は、意味をもたない。このバッファがパケット・バッフ
ァである時は、これらの2つのバイト情報は、有効なパ
ケット・データがそのパケット内のどこから開始するか
と、そのバッファ内で有効なデータのバイト数を示す。
【0082】4.4.2  パケット34とパケット・
テーブル・エントリ(PTE) パケット34は、接続されたネットワークまたはシステ
ムから包括高帯域幅アダプタに出し入れするデータの単
位である。パケットは、どのような長さであってもよい
。パケットがPM16に記憶されるべきとき、順序通り
に記憶される必要はない。その代り、PM内のパケット
は、バッファ群として記憶され、グループ内のバッファ
数は、パケットの長さによって決まる。このグループ内
のバッファは、順序通りである必要はない。GAMでは
、パケット・バッファは、BTE内の「次バッファ・ポ
インタ」を介して互いに結合される。一旦パケットがP
Mに記憶されると、これはGAM18によって1単位と
して処理される。この単位を表わすために、GAMは、
そのローカル・メモリ内に、PMの各パケットごとに1
つのパケット・テーブル・エントリ(PTE)を有する
。したがって、GAMから見ると、PMのパケットは、
PTE+互いに結合されたいくつかの関連するBTEで
ある。GAM内のPTE数は、GAMローカル・メモリ
のサイズによって決定される。各PTEは、16バイト
長であり、パケット状態、最初パケット・バッファ、最
終パケット・バッファのような情報を含む。
【0083】4.4.3  待ち行列36と待ち行列制
御ブロック(QCB) 包括高帯域幅アダプタ内の待ち行列36は、順序通り記
憶されたパケットのリストである。待ち行列は、待ち行
列の先頭と待ち行列の末尾を有する。パケットは、待ち
行列の先頭(緊急トラフィックの場合)または待ち行列
の末尾(同期および非同期トラフィックの場合)のいず
れかから待ち行列登録されることができるが、パケット
は、待ち行列の先頭からのみ待ち行列解除されることが
できる。パケットの待ち行列登録と解除の動作を制御す
るため、GAM18は、アダプタ内で規定された待ち行
列ごとに1つの待ち行列制御ブロック(QCB)を有す
る。各QCB内には、その待ち行列内の最初のパケット
を指す待ち行列先頭ポインタと、その待ち行列内の最後
のパケットを指す待ち行列末尾ポインタがある。
【0084】4.4.4  バッファ32、パケット3
4および待ち行列36の関係 図2は、GAMから見たバッファ32、パケット34お
よび待ち行列36の論理的関係を示し、バッファのパケ
ットの編成と待ち行列へのパケットの編成を示す図であ
る。
【0085】4.5  GAM18のプリミティブここ
では、GAM18によってサポートされるすべてのプリ
ミティブのリストを提供する。GAM内で規定される各
プリミティブごとに別々の項で説明する。各項では、ま
ず要求フォーマットについて説明し、次に機能説明とプ
リミティブの応答を示す。GAMプリミティブの要求と
応答は、GAB12のMM/IO動作として実行される
ので、要求と応答のフォーマットは、GABのデータ線
とアドレス線を使用して説明する。GABバス信号の詳
細については、後述の「包括アダプタ・バス(GAB)
」を参照されたい。
【0086】注意:GAMは、GABアービタとしても
動作するため、要求を受け取った時どのバス・マスタが
プリミティブを発行したかを正確に知っているので、ど
のバス・マスタがプリミティブを発行したかを要求フォ
ーマット中で指定する必要はない。
【0087】4.5.1  REQ_RX  −  受
信要求要求フォーマット: 要求コード  −  4ビット、A22−A19:  
B’0000’ 要求識別  −  3ビット、A18−A16(前述の
「多重インタリーブ式並行パケット送受信」参照)予約
済み(および0)  −  A15−A02機能  −
  このプリミティブがパケットとバッファの空間をG
AMから要求するためにPまたはPMIによって呼び出
される2つの可能なシナリオがある。 パケット受信:あるアダプタ・ポートをアドレス指定す
る入力パケットがあると、そのポート上のPMIは、パ
ケット受信をセットアップするためにこのプリミティブ
をGAMに発行する。 新規パケット生成:多くの状況は、Pの通信コードは、
「コマンド」または「肯定応答」の目的で、アダプタ内
で新規パケットを生成し、新規に生成されたパケットを
ネットワークに送信する必要がある。この状況が生じる
と、このPは、パケット受信の場合にPMIが行うのと
同様に、このプリミティブを発行して、新規パケットの
生成をセットアップすることができる。この要求を受け
取ると、GAMは、最初の使用可能なPTEと、フリー
・バッファ・プール内の最初のフリー・バッファを割り
当て、割り当てられたフリー・バッファ・ポインタを、
GAM応答に含めて渡す。PまたはPMIは、このバッ
ファ・ポインタを受け取った時、直ちにパケット・デー
タ移動を開始することができる。 GAB  MM/IO読出し動作として発行される要求
応答フォーマット: パケット・ポインタ  −  16ビット、D31−D
16(D31−D16がすべて0の場合、この要求は拒
否された) バッファ・ポインタ  −  16ビット、D15−D
00(D15−D00がすべて0ならば、要求が拒否さ
れた)
【0088】4.5.2  REQ_TX  −  送
信要求要求フォーマット:要求コード  −  4ビッ
ト、A22−A19:  B’0001’ 要求識別  −  3ビット、A18−A16待ち行列
識別  −  8ビット、A09−A02予約済み(お
よび0)  −  A25、A15−A10機能  −
  PMIは、出力待ち行列にサービスする準備ができ
ると、パケット送信を開始するためにREQ_TXプリ
ミティブを発行する。この要求を受け取ると、GAMは
、その待ち行列(待ち行列の識別は、要求の一部として
渡される)の先頭を見つけ、最初のバッファのオフセッ
ト、最初のバッファのカウントおよび最初のバッファの
ポインタを、応答に含めて返す。 GAB  MM/IO読出し動作として発行される要求
応答フォーマット: バッファ・オフセット  −  8ビット、D31−D
24バイト・カウント  −  8ビット、D23−D
16バッファ・ポインタ  −  16ビット、D15
−D00(D15−D00がすべて0ならば、要求が拒
否されたか、パケット内にこれ以上バッファがない)

0089】4.5.3  REQ_BUF  −  バ
ッファ要求 要求フォーマット: 要求コード  −  4ビット、A22−A19:  
B’0010’ 要求識別  −  3ビット、A18−A16予約済み
(および0)  −  A15−A02機能  −  
パケット受信中または新規パケット生成中に、PMIま
たはPが、より多くのデータ・バッファ空間の割当てを
要求するためにこのプリミティブを発行する。この要求
を受け取った時、GAMは、フリー・バッファ・プール
の最初のフリー・バッファを割り当て、割り当てられた
フリー・バッファ・ポインタを応答に含めて渡す。この
PまたはPMIがこの応答を受け取ると、それは、割り
当てられたバッファにパケット・データを移動すること
ができる。 GAB  MM/IO読出し動作として発行される要求
応答フォーマット: 予約済み  −  D31−D16 バッファ・ポインタ  −  16ビット、D15−D
00(D15−D00がすべて0ならば、要求が拒否さ
れた)
【0090】4.5.4  NXT_BUF  −  
次送信バッファ要求 要求フォーマット: 要求コード  −  4ビット、A22−A19:  
B’0011’ 要求識別  −  3ビット、A18−A16予約済み
(および0)  −  A15−A02機能  −  
パケット送信中に、PMIが、送信パケットの次のバッ
ファ・ポインタをGAMから要求するためにこのプリミ
ティブを発行する。この要求を受け取ると、このGAM
は、現送信パケットの次のバッファ・ポインタを探し、
そのバッファ・ポインタ、バッファ・オフセットおよび
そのバッファのバイト・カウントを、応答に含めてPM
Iに渡す。このPMIがこの応答を受け取ると、PMI
は、送信のためのPMからのパケット移動をセットアッ
プすることができる。 GAB  MM/IO読出し動作として発行される要求
応答フォーマット: バッファ・オフセット  −  8ビット、D31−D
24バイト・カウント  −  8ビット、D23−D
16バッファ・ポインタ  −  16ビット、D15
−D00(D15−D00がすべて0ならば、要求が拒
否された)
【0091】4.5.5  ENQ_PKT/R  −
  パケットの待ち行列登録/受信 要求フォーマット: 要求コード  −  4ビット、A22−A19:  
B’0100’ 要求識別  −  3ビット、A18−A16トラフィ
ック・タイプ  −  2ビット、A15−A14(後
述の「トラフィック・タイプと制御」参照)A15−A
14  =  B’00’  :  非同期トラフィッ
ク A15−A14  =  B’01’  :  同期ト
ラフィック A15−A14  =  B’10’  :  緊急ト
ラフィック A15−A14  =  B’11’  :  未使用
パケット・タイプ  −  2ビット、A11−A10
(後述の「パケット・タイプ」参照) A15−A14  =  B’00’  :  未使用
A11−A10  =  B’01’  :  タイプ
1パケット A11−A10  =  B’10’  :  タイプ
2パケット A11−A10  =  B’11’  :  タイプ
3パケット 待ち行列識別  −  8ビット、A09−A02最初
バッファ・オフセット  −  8ビット、D31−D
24 最終バッファ・カウント  −  8ビット、D23−
D16 次バッファ・ポインタ  −  16ビット、D15−
D00 このフィールドは、通常のパケット受信中は0にセット
される。マルチキャスト・パケット・サポート状況では
、このフィールドは、元のマルチキャスト・パケットに
最初のバッファのポインタを含む。詳細については、後
述の「マルチキャスト・パケット機能のサポート」を参
照されたい。 予約済みおよび0  −  A13−A12機能  −
  このプリミティブは、パケット受信後または新規パ
ケット生成の完了後にパケットを待ち行列に登録するよ
う要求するために、PまたはPMIによって呼び出され
る。このGAMは、このパケットが緊急トラフィックな
らば、待ち行列の先頭にそのパケットを登録する。そう
でないならば、このパケットは、待ち行列の末尾に登録
される。 GAB  MM/IO書込み動作として発行される要求
応答  −  なし
【0092】4.5.6  ENQ_PKT/N  −
  パケットの待ち行列登録/通常 要求フォーマット: 要求コード  −  4ビット、A22−A19:  
B’0101’ 待ち行列識別  −  8ビット、A09−A02パケ
ット識別  −  16ビット、D15−D00予約済
みおよび0  −  A18−A10、D31−D16 機能  −  このプリミティブは、パケットが待ち行
列に登録されるよう要求するために、Pによって呼び出
される。このGAMは、パケットのトラフィック・タイ
プ(そのパケットが最初に待ち行列に登録された時に指
定される)が緊急であるならば、このパケットを待ち行
列の先頭から登録する。そうでないならば、このパケッ
トは待ち行列の末尾に登録される。 GAB  MM/IO書込み動作として発行される要求
応答  −  なし
【0093】4.5.7  DEQ_PKT  −  
パケットの待ち行列解除 要求フォーマット: 要求コード  −  4ビット、A22−A19:  
B’0110’ 待ち行列識別  −  8ビット、A09−A02予約
済み(0)  −  A18−A10機能  −  こ
のプリミティブは、パケットを待ち行列から解除するよ
う要求するために、Pによって呼び出される。待ち行列
の識別は、要求の一部として渡される。 GAB  MM/IO読出し動作として発行される要求
応答フォーマット: パケット・ポインタ  −  16ビット、D31−D
16(D31−D16がすべて0ならば、要求が拒否さ
れた) 第1バッファ・ポインタ  −  16ビット、D15
−D00(D15−D00がすべて0ならば、要求が拒
否された)
【0094】4.5.8  REL_PKT  −  
パケットの解放 要求フォーマット: 要求コード  −  4ビット、A22−A19:  
B’0111’ パケット識別  −  16ビット、D15−D00予
約済みおよび0  −  A18−A02、D31−D
15 機能  −  このプリミティブは、パケットをフリー
・バッファ・プールに戻されるよう要求するために、P
によって呼び出される。パケット・ポインタが要求の一
部として渡される。このGAMがこの要求を受け取ると
、GAMは、このパケットとフリー・プールに関連され
る全バッファを解放する。GAB  MM/IO書込み
動作として発行される要求 応答  −  なし
【0095】4.5.9  FLUSH  −  パケ
ットのフラッシュ 要求フォーマット: 要求コード  −  4ビット、A22−A19:  
B’1000’ 要求識別  −  3ビット、A18−A16予約済み
および0  −  A15−A02機能  −  この
プリミティブは、現パケットをフラッシュするために、
PまたはPMIによって呼び出される。 パケット受信中または新規パケット生成中、PMIまた
はPが何らかの理由で進行中の動作を完了できないと決
定するならば、そのPMIまたはPは、その処理を終了
させるためにこのプリミティブを発行することができる
。GAMが、この要求を受け取ると、割り当てられたす
べてのバッファを解放し、バッファをフリー・バッファ
・プールに返し、PTEをフリー・パケット・プールに
返す。GAB  MM/IO書込み動作として発行され
る 要求応答  −  なし
【0096】4.5.10  END_TX  −  
送信終了 要求フォーマット: 要求コード  −  4ビット、A22−A19:  
B’1001’ 要求識別  −  3ビット、A18−A16予約済み
および0  −  A15−A02機能  −  この
プリミティブは、パケット送信中にパケット移動の終了
を知らせるために、PMIによって呼び出される。GA
Mがこのプリミティブを受け取ると、GAMが送信パケ
ットを処理する方法には、そのパケットのタイプに応じ
ていくつかの異なる方法がある(後述の「パケット・タ
イプ」参照) GAB  MM/IO書込み動作として発行される要求
応答  −  なし
【0097】4.5.11  ENQ_ENT  − 
 事象の待ち行列登録 要求フォーマット: 要求コード  −  4ビット、A22−A19:  
B’1010’ 予約済みおよび0  −  A18−A02事象データ
  −  32ビット、D31−D00機能  −  
このプリミティブは、ある事象をGAM事象FIFOに
置くために、PMIまたはPによって呼び出される。こ
のGAMがこの要求を受け取ると、GAMは、4バイト
の事象データをその内部メモリに置き、必要ならばPを
「起こ」してその事象を処理させる。(後述の「事象の
制御」参照) GAB  MM/IO書込み動作として発行される要求
応答  −  なし
【0098】4.5.12  DEQ_ENT  − 
 事象の待ち行列解除 要求フォーマット: 要求コード  −  4ビット、A22−A19:  
B’1011’ 予約済みおよび0  −  A18−A02機能  −
  このプリミティブは、事象データをGAMから検索
するために、Pによって呼び出される。このGAMがこ
の要求を受け取ると、GAMは、その内部の事象FIF
Oから事象データの最初の4バイトを検索し、処理のた
め、この情報をPに渡す。 GAB  MM/IO読出し動作として発行される要求
応答フォーマット: 事象データ  −  32ビット、D31−D00(事
象がないならば、D31−D00はすべて0である)

0099】4.5.13  RD_RSR  応答状況
レジスタの読出し 要求フォーマット: 要求コード  −  4ビット、A22−A19:  
B’1100’ 予約済みおよび0  −  A18−A02機能  −
  このプリミティブは、以前のGAM要求に対する応
答を検索するために、PまたはPMIによって呼び出さ
れる。GAM応答の詳細については、後述の「GAM応
答  −  同期式と非同期式の対比」を参照されたい
。 GAB  MM/IO読出し動作として発行される要求
応答フォーマット: 応答状況レジスタ  −  32ビット、D31−D0
【0100】4.5.14  RD_QSR  − 
 待ち行列状況レジスタの読出し 要求フォーマット: 要求コード  −  4ビット、A22−A19:  
B’1101’ オフセット  −  3ビット、A04−A02予約済
みおよび0  −  A18−A05機能  −  こ
のプリミティブは、サービスする待ち行列セットのビッ
ト・マップを検索するために、このPまたはPMIによ
って呼び出される。待ち行列セットと待ち行列状況レジ
スタの詳細については、後述の「待ち行列のスケジュー
リングと通知」を参照されたい。この入力パラメータ、
すなわちオフセットは、待ち行列状況レジスタのどの3
2ビットを所望するかを指示するために使用される。例
えば、オフセット=0ならば、待ち行列#0ないし待ち
行列#31に対する待ち行列状況レジスタは、応答に含
めて返され、オフセット=1ならば、待ち行列#32な
いし待ち行列#63が返され、以下同様である。 GAB  MM/IO読出し動作として発行される要求
応答フォーマット: 待ち行列状況レジスタ  −  32ビット、D31−
D00
【0101】4.5.15  RD_GAM  −  
GAM内容の読出し 要求フォーマット: 要求コード  −  4ビット、A22−A19:  
B’1110’ アドレス  −  18ビット、A25、A18−A0
2機能  −  このプリミティブは、GAM内部のメ
モリおよびレジスタを読み出すために、このPによって
呼び出される。 GAB  MM/IO読出し動作として発行される要求
応答フォーマット: 予約済み  −  16ビット、D31−D15GAM
内容  −  16ビット、D15−D00
【0102
】4.5.16  WT_GAM  −  GAM内容
の書込み 要求フォーマット: 要求コード  −  4ビット、A22−A19:  
B’1111’ アドレス  −  18ビット、A25、A18−A0
2データ  −  16ビット、D15−D00予約済
みおよび0  −  D31−D16機能  −  こ
のプリミティブは、GAM内部のメモリとレジスタに書
き込むために、Pによって呼び出される。 このプリミティブの要求元は、Pである。そうでなけれ
ば、いかなるデータも書込まれない。 GAB  MM/IO書込み動作として発行される要求
応答  −  なし
【0103】4.6  GAM応答  −  同期式対
非同期式 いくつかのGAM要求は、応答を返すためにGAMを必
要とするものと、必要としないものとある。応答を必要
とする要求の場合、このGAMは、応答を同期式に返す
か、非同期式に返すかを選択する。同期式または非同期
式の応答に対する規定が提示されることができる前に、
GAM動作に関する以下の基本的理解を確立しておかな
ければならない。
【0104】GAMの活動はすべて単一スレッド式であ
る。すなわち、一旦要求がこのGAMによって受入れら
れると、このGAMは、現要求に対するサービスを完了
するまで、他の要求を受入れない。要求をサービスする
ために、GAMが一連の動作を実行する必要がある。こ
の一連の動作は、2つの段階に分けられることができる
。第1の動作段階は、「クリティカル段階」であり、短
い時間間に応答を生成して要求元に返すのに必要とされ
るすべての本質的動作を含む。第2の動作段階は、「背
景段階」であり、サービスを完了するのに必要とされる
残りの動作を含む。
【0105】GAMがGAM要求に対する同期式応答を
生成するには、下記の条件が満足されなければならない
。この要求は、応答を必要とする。この応答は、要求元
がその処理を継続するために決定的である。要求とそれ
に関連する入力パラメータは、21ビットのアドレス線
と4ビットのバイト・イネーブル線に含まれることがで
きる(アドレス・バスのビット24とビット23は、G
AM要求に対しては値が固定されており、要求を伝える
のに使用できない)。これらの条件が満たされるならば
、要求元は、「読出し」動作を介してその要求を行い、
同一GABバス・サイクルにデータ・バスから応答を検
索することができる。「クリティカル段階」動作の持続
時間は、所定の時間期間以内である。この時間は、実施
態様に依存する。
【0106】これらの条件が満たされないならば、応答
は非同期式でなければならない。非同期応答の場合、要
求元は、GAMプリミティブRD_RSR(応答状態レ
ジスタの読出し)を発行して、後に(GAMが要求に対
するサービスを完了した時)応答を検索しなければなら
ない。このGAMは、内部にいくつかの応答状況レジス
タを保持しており、その1つはP用、それ以外はPMI
用である。
【0107】同期式応答は、下記の特徴を有する。同期
式応答に対応する要求は、“読出し”GABバス動作を
通して発行された。この応答は、要求と同じGABバス
・サイクル内にデータ・バスに返されることができる。
【0108】同期式応答を伴うGAM要求には、下記の
ものが含まれる。 REQ_RX REQ_BUF REQ_TX NXT_BUF DEQ_PKT DEQ_ENT RD_QSR RD_RSR RD_GAM WT_GAM
【0109】現在、非同期応答を必要とするGAM要求
はない。
【0110】4.7  パケット・タイプこの包括高帯
域幅アダプタ内でサポートされるパケットには、タイプ
1、タイプ2およびタイプ3の3つの異なるタイプがあ
る。これら3タイプのパケットは、パケット送信の終了
時を除き、GAMからほとんど同じ扱いを受ける。
【0111】タイプ1のパケットの場合、パケット送信
の終了(END_TX)時に、GAMは、自動的にその
パケットとフリー・プールに関連する全バッファを解放
する。タイプ1のパケットをサポートする意図は、接続
のないパケットに対するPのオーバーヘッドを減少させ
ることである。
【0112】タイプ2のパケットの場合、パケット送信
の終了(END_TX)時に、パケット・バッファは、
自動的にフリー・バッファ・プールに戻されない。この
GAMがREL_PKT要求を受け取ると、これが発生
するだけである。これが発生すると、パケット送信の完
了後に、パケットとそれに関連する全バッファが、フリ
ー・プールに返される。
【0113】タイプ3のパケットの場合、パケット送信
の終了(END_TX)時に、GAMが、自動的にその
パケットを現パケット待ち行列の末尾に登録する。タイ
プ3のパケットをサポートする意図は、FDDIネット
ワークのクレーム・パケットやビーコン・パケットのよ
うな繰返しのある循環パケットに関連するPのオーバー
ヘッドを減少させることである。
【0114】4.8  トラフィック・タイプと制御こ
の包括高帯域幅アダプタは、緊急、同期、および非同期
の3タイプの通信トラフィックをサポートする。同期ト
ラフィックをサポートするために、このアダプタは同期
トラフィックの帯域幅と記憶域を保証できなければなら
ない。同期式帯域幅を保証するためにこのアダプタが採
用する方針は、アダプタに流れ込む非同期トラフィック
を制限することである。この方針は、下記のように働く
【0115】「パケット・メモリ(PM)およびコント
ローラ16」で前述したように、このアダプタのPMは
、バッファに編成される。アダプタ初期設定中に、すべ
てのバッファはフリー・バッファであるように初期設定
される。同期トラフィックのパケットは、必要なだけ幾
らでもフリー・バッファを使用できる。一方、非同期ト
ラフィックのパケットは、指定された数までのフリー・
バッファしか使用できない。この数がPによってプログ
ラミング可能である非同期バッファ閾値である。この方
針は、GAMによって、下記のように実施される。PM
Iが入力パケットを受信するか、または、Pが新規パケ
ットを生成する必要があると、PMIまたはPは、GA
MプリミティブREQ_RXまたはREQ_BUFを発
行して、GAMからフリー・バッファを要求する。使用
可能なフリー・バッファがある場合、GAMは、最初の
フリー・バッファをバッファの要求元に与える。使用可
能なフリー・バッファがない場合、このバッファ要求は
拒否され、PMIまたはPは、零バッファ・ポインタを
受け取る。この状況では、このPMIまたはこのPが、
直ちにデータ送信をフラッシュするかまたはブロックす
るかのいずれかを行う。GAMはまた、内部フリー・バ
ッファ・カウンタを保持する。このカウンタは、現在そ
のアダプタ内で使用可能なフリー・バッファの総数を指
示する。初期設定中に、フリー・バッファ・カウンタが
、そのアダプタ内のバッファの総数に等しいようにセッ
トされる。プリミティブREQ_RXまたはREQ_B
UFが受け取られるごとに、このカウンタは1だけ減分
される。パケットが解放されるごとに、このカウンタは
そのパケット・バッファのカウントだけ増分される。こ
のカウンタが、またこのPによってプログラム可能であ
る所定のフリー・バッファ閾値以下になった場合、GA
Mは、BELOWと呼ばれるGABバス信号線を付勢し
、「閾値以下のフリー・バッファ」を指示する。これが
発生する時、PとPMIは、「短パケット受信方針」を
採用するか、あるいはバッファの混雑が解消されるまで
、一時的にそれ以上のパケット受信を拒否する(後述の
「バッファの混雑の解消」を参照されたい)PMIまた
はPが、必要なすべてのバッファをGAMから受け取り
、PMへのパケット・データ転送を完了するならば、そ
のPMIまたはPが、GAMプリミティブENQ_PK
T/Rを発行して、そのパケットを目標の待ち行列に置
く。GAMは、ENQ_PKT/R要求を受け取ると、
このパケットを目標の待ち行列に登録する。 待ち行列登録されたパケットのトラフィック・タイプが
同期式ならば、これ以上の処理は実行されない。一方、
それが非同期トラフィックならば、GAMは、そのパケ
ットのバッファ・カウントを、GAMの他のバッファ・
カウンタ、すなわち非同期バッファ・カウンタに入れて
累計する。非同期バッファ・カウンタが閾値を超えるな
らば、GAMは、「閾値以上の非同期バッファ」を示す
ABABVと呼ばれる他のGABバス信号線を付勢し、
PとすべてのPMIにこの状況について通知する。これ
が発生する時には、このPとPMIは、それ以上の入力
非同期式データ転送を拒否する。
【0116】緊急トラフィックのパケットは、バッファ
割当てによって、GAMによって同期トラフィックのパ
ケットと同じ扱いを受ける。しかしながら、GAMは、
緊急トラフィックを伴うENQ_PKT(ENQ_PK
T/RまたはENQ_PKT/N)プリミティブを受け
取ると、このパケットを、対応する待ち行列の末尾では
なく先頭に登録する。このようにして、緊急トラフィッ
クは、速い応答時間を受け取る。
【0117】アーキテクチャの留意点  −  バッフ
ァの混雑の解消 このアダプタがバッファ混雑状況に陥ると、GABバス
信号線、BELOWが付勢される。そのバッファ混雑が
、過大な量の入力トラフィックに起因するならば、アダ
プタ・リンク・レイヤ・ソフトウェアは、「ローカル・
ビジー」パケットを遠隔ステーションに送り、パケット
送信の停止を要求することを選択できる。そのバッファ
混雑が、過大な量の肯定応答済みでない送信パケットに
起因するならば、アダプタ・コードは、「ローカル・ビ
ジー」の指示を遠隔ステーションに送った後に、パケッ
ト・ポーリング・ビット(デマンド・ポーリング)をオ
ンにすることによって、肯定応答を明示的に送信請求す
ることができる。遠隔ステーションは、このデマンド・
ポーリング信号を受け取ると、明示的に肯定応答パケッ
トを送って、そのパケットの受信を確認しなければなら
ない。これらの明示的な肯定応答パケットは、ほとんど
の公知のリンク・レイヤ・プロトコルでは、短パケット
になる傾向がある。これらの肯定応答パケットがアダプ
タ内に到達した時、PMIは、これらのパケットをPM
に移してPによって処理するため、短パケット受信方針
を実施する(すなわち、短パケットだけを受信する)必
要がある。
【0118】GAMプリミティブFLUSH(パケット
のフラッシュ)は、バッファ混雑状況中に短パケット受
信方針を実施するため、PMIによって使用されること
ができる。そのアダプタ・ポートをアドレス指定する入
力パケットがあると、そのアダプタ・ポート内のPMI
は、GAMに対してREQ_RXプリミティブを発行し
、フリー・バッファ・ポインタを受け取る。フリー・バ
ッファ・ポインタを受け取った後、PMIは、割り当て
られたフリー・バッファ内へ所定のバッファ・オフセッ
トから順に受信パケットの移動を開始できる。パケット
・データの移動が割り当てられたバッファの末尾に達す
る前に、入力パケットの受信が完了する(すなわち、受
信パケット長は、バッファ・サイズである256バイト
とバッファ・オフセットの差よりも小さい)ならば、P
MIは、ENQ_PKT/Rプリミティブを発行して、
この受信短パケットをPMに待ち行列登録することがで
きる。一方、PMIがバッファ境界に達すると、入力パ
ケットで受信される必要がある多くのデータがあるなら
ば、この入力パケットは短パケットと見なされない。こ
の状況では、PMIは、GAMにFLUSHプリミティ
ブを発行してこの入力パケットを捨てることができるか
または、次のパケット用にこのバッファを再使用するこ
とができる。
【0119】短パケット受信方針、デマンド・ポーリン
グ、およびローカル・ビジー指示を組み合わせることに
よって、多くのアプリケーションでバッファ混雑は解消
されることができる。
【0120】4.9  マルチキャスト・パケット機能
のサポート この包括高帯域幅アダプタは、多くの通信プロトコルで
使用されるマルチキャスト・パケットをサポートしなけ
ればならない。例えば、このアダプタが、データ・リン
ク・レイヤをサポートするならば、グローバルSAP(
サービス・アクセス・ポイント)パケットまたはグルー
プSAPパケットを処理できなければならない。このア
ダプタは、グローバル/グループSAPパケットを受信
すると、いくつかの異なる接続されたホスト・システム
上で走行するかもしれない複数の異なるアプリケーショ
ン・レイヤ・プログラムにこのパケットを送らなければ
ならない。他の一例として、このアダプタがネットワー
ク経路指定機構であるように構成されるならば、このア
ダプタが、経路指定の同報通信パケットを受信すると、
元のマルチキャスト・パケット源以外のすべての接続さ
れたネットワークに、このパケットを送る。
【0121】この包括高帯域幅アダプタがこのマルチキ
ャスト・パケット機能をサポートできる2つの可能な手
法がある。その一方は「逐次」式であり、他方は「並列
」式である。 逐次式の場合 Pがマルチキャスト・パケットを受信すると、ループを
セットアップし、所期の宛先#1へのパケット送信を開
始することができる。宛先#1へのパケット送信が完了
すると、このPは、次に、所期の宛先#2へパケットを
送信する。この処理は、所期のすべての宛先へのパケッ
ト送信が完了されるまで繰り返される。この手法の欠点
は、低速であり、引渡し時間に大きなばらつきがあり、
大量のP処理サイクルを消費することである。 並列式の場合 Pがマルチキャスト・パケットを受信すると、いくつか
の元のパケットのコピーを作成し、複製パケットを、所
期のすべての宛先に同時に送信する。この手法は、応答
時間が高速であり、引渡し時間のばらつきが小さく、潜
在的にはるかに少ないP処理しか必要としない。しかし
ながら、パケットの複製は、ハードウェアのサポートな
しで非常に高コストになり得る。PとGAMが相互作用
して、アダプタ内でマルチキャスト・パケット機能をサ
ポートする方式を以下に示す。PがGAMからマルチキ
ャスト・パケットを待ち行列解除すると、REQ_RX
とREQ_BUFを発行して、Pが生成する必要のある
各複製パケット用のパケットとバッファ・ポインタをG
AMから獲得する。PがGAMからバッファ・ポインタ
(各複製パケット用)を受け取ると、パケット・ヘッダ
を書き込み、元のマルチキャスト・パケットの第1バッ
ファの内容を、GAMから受け取ったばかりのバッファ
にコピーする。その後、Pは、ENQ_PKT/Rを発
行して、複製パケットを宛先の出力待ち行列に登録する
ことができる。しかしながら、PがENQ_PKT/R
を発行すると、複製パケット内の第1バッファを元のマ
ルチキャスト・パケットの残りのバッファ(第2バッフ
ァから始まる)に結合する方法をGAMがわかるように
、元のマルチキャスト・パケット内の第1バッファ・ポ
インタに関する情報をGAMに知らせる必要がある(後
述の「ENQ_PKT/R−  パケットの待ち行列登
録/受信」を参照されたい)。すべての複製パケットが
生成され、出力待ち行列に登録されるまで、上記の処理
が繰り返される。その後、このPが、元のマルチキャス
ト・パケットを処分するためにとり得る下記のシナリオ
を有する。このアダプタが、パケット送信の順序が保証
できるようにこのアダプタが構成されているならば、こ
のPは、単に、最後に出力される複製パケットとして元
のパケットを待ち行列登録する。一方、パケットの順序
を保証できないようにこのアダプタが構成されるならば
、このPは、各複製パケットをタイプ1のパケット(パ
ケット送信の終了時に自動的に解放される)として待ち
行列登録し、元のマルチキャスト・パケットは待ち行列
登録しないように選択することができる。すべての複製
パケットが待ち行列登録された後にPが行うのは、待機
タイマをセットアップし、タイマを満了させることであ
る。タイマが満了すると、このPは元のマルチキャスト
・パケットを解放する。この方式の欠点は、待機タイマ
の設定が短かすぎる場合に、最後の少数の複製パケット
の送信の前に元のマルチキャスト・パケットが解放され
得ることである。この状況が発生すると、最後の少数の
複製パケットのデータ保全性は保証できない。このアダ
プタが、パケット順序を保証できないような構成であり
、なおPがパケット・データの保全性を保証しようとす
るならば、Pは、各複製パケットをタイプ2のパケット
(パケット送信の終了時に自動的に解放されない)とし
て待ち行列登録し、元のマルチキャスト・パケットは待
ち行列登録しないように選択することができる。すべて
の複製パケットが待ち行列登録された後に、このPは、
各複製パケットの状況を周期的にポーリングすることが
できる。複製パケットはタイプ2のパケットとして待ち
行列登録されたので、GAMがタイプ2のパケットに対
してその送信後に行うのは、パケット状態を「専用」に
変更することだけである。Pは、GAMプリミティブ、
RD_GAMを使用して各複製パケットのパケット状態
を検査する。すべての複製パケットの状態が「専用」に
変更後に、Pは、元のマルチキャスト・パケットをすべ
ての複製パケットと共に解放することができる。
【0122】図3は、GAMのマルチキャスト・パケッ
トの構造を示す図である。元のマルチキャスト・パケッ
トは、第1のバッファ(BUF#1)、第2のバッファ
(BUF#2)、第3のバッファ(BUF#3)、以下
同様にして最後にマルチキャスト・パケット内の最終バ
ッファ(BUF#L)が指示するPTE#Mから構成さ
れる。第1の複製パケットは、それ自身の第1のバッフ
ァ(BUF#D1)を指し、次に、元のマルチキャスト
・パケットの第2のバッファ(BUF#2)を指示する
PTE#D1から構成される。第2の複製パケットは、
PTE  D2、BUF  D2から構成され、BUF
  D2のBTEがBUF  2を指示する。そして最
後に、最終の複製パケットは、PTE  DN、BUF
  DNから構成され、BUF  DNのBTEがBU
F  2を指示する。
【0123】4.10  多重インタリーブ式同時パケ
ット送受信 Pまたはアダプタ・ポートが、多重インタリーブ式同時
パケットを同時に送信または受信する必要があるアプリ
ケーションがある。例えば、P内で同時に走行するいく
つかのデータ・リンク・レイヤ・スレッドがあり、複数
のリンク・レイヤ・スレッドが、同時に応答パケットの
生成に従事することができる。タイム・スパンという観
点から見ると、このことは、複数の新規パケット生成処
理が、P内でインタリーブされることを意味する。他の
例として、アダプタ・ポートの設計は、それがサービス
する各出力待ち行列ごとに1つのパケット送信(REQ
_TX)を必要とし、さらには、伝送待ち時間を減少す
るために、各送信パケットからそれ自体の内部バッファ
へ、データの一部を先取りする。このアダプタ・ポート
が、(ネットワーク・プロトコルによって)送信するこ
とを許されると、送出するパケットに関する決定を素早
く行い、そのパケットの送信を直ちに開始することがで
きる。
【0124】アダプタ内部でPと各PMIに対する多重
インタリーブ式同時パケット送受信をサポートするため
に、「要求識別」と呼ばれる1つの情報を、GAMとP
の間またはGAMとPMIの間で交換されなければなら
ない。PまたはPMIが、パケットを受信する準備がで
きると要求識別を生成し、REQ_RXプリミティブの
一部としてこの情報をGAMに渡す必要がある。このパ
ケットの受信に対する後続のバッファ割当て(REQ_
BUF)も、この情報を有する必要がある。この要求識
別から、GAMが、同一のパケットに属するすべてのバ
ッファを互いに結合できる。このようにして、Pまたは
PMIが、正しい要求識別をGAMに供給できる限り、
多重インタリーブ式パケットはこのPまたはPMIによ
って受信されることができる。
【0125】この機構はまた、多重インタリーブ式パケ
ット送信のために使用されることができ、要求識別は、
GAMとPMIの間を流れる各REQ_TX、NXT_
BUFおよびEND_TXプリミティブ内で次々に渡す
ことが必要である。
【0126】このアーキテクチャは現在、Pおよび各P
MI内での送信と受信のパケットの最大数を、8(すな
わち、PとPMIのそれぞれについて、8つの同時に送
信されるパケットと8つの同時に受信されるパケット)
と規定している。
【0127】4.11  GAM状態機械  −  パ
ケットのライフ・サイクル ここでは、GAM状態機械の核心であるパケットのライ
フ・サイクルについて説明する(図4を参照されたい)
。GAM状態機械に、パケットが存在できる5つの主な
状態と2つの副状態がある。これらの状態を以下に示す
。 4.11.1.フリー・パケット 状態の説明 あるパケットが「フリー・パケット」状態であると、そ
のパケットはGAMだけに属する。GAMに属するすべ
てのフリー・パケットは、互いに結合され、フリー・パ
ケット・ポインタによって指定される。アダプタ初期設
定中に、すべてのアダプタ・パケットはフリー・パケッ
ト状態に初期設定される。 状態エントリー RESET信号によって任意の状態からT50:REL
_PKT要求によって「待機パケット」状態から T40:REL_PKT要求によって「専用パケット」
状態から T60:FLUSH要求によって「受信ビジー・パケッ
ト」状態から T10:タイプ1のパケットのみの場合、END_TX
要求によって「送信ビジー・パケット」状態からT30
:END_TX要求によって「解放済みビジー・パケッ
ト」状態から状態遷移 T06:REQ_RX要求によって「受信ビジー・パケ
ット」状態へ 4.11.2.送信ビジー・パケット 状態説明 あるパケットが「送信ビジー・パケット」状態であると
、それは、PMIがそのパケットの所有権を有し、現在
そのパケットのデータをPMから移動する作業中である
ことを意味する。このパケット移動が完了すると、この
PMIは、作業完了の指示としてGAMに対してEND
_TX要求を発生することが期待される。パケットが、
パケット移動のためにPMIによって現在使用中である
と、パケット状態を変更しない。一方、パケット送信中
に「送信ビジー・パケット」状態のPからENQ_PK
T/N要求またはREL_PKT要求を受け取るならば
、GAMは、要求元をスピードダウンさせずに直ちにそ
の要求にサービスしなければならない。このスピードア
ップを容易にするために、2つの副状態をGAM状態機
械内で生成して、パケット送信中にPからの送信ビジー
・パケットに対するENQ_PKT/N要求とREL_
PKT要求を処理する。詳細については、「解放済みビ
ジー・パケット」状態と「待機ビジー・パケット」状態
の説明を参照されたい。 状態エントリー T51:REQ_TX要求によって「待ち行列されたパ
ケット」状態(および待ち行列の先頭)から状態遷移 T12:パケット送信中(すなわち、REQ_TX後)
にPからのENQ_PKT/N要求によって「ビジーお
よび待ち行列されたパケット」状態へ T13:パケット送信中(すなわち、REQ_TX後)
にPからのREL_PKT要求によって「ビジーおよび
解放済みパケット」状態へ T15:タイプ3のパケットの場合、パケット送信後の
END_TX要求によって「待ち行列されたパケット」
状態へ T14:タイプ2のパケットのみ、END_TX要求に
よって「専用パケット」状態へ T10:タイプ1パケットのみ、END_TX要求によ
って「フリー・パケット」状態へ 4.11.3.ビジーおよび待ち行列されたパケット状
態説明 「ビジーおよび待ち行列されたパケット」状態は、「送
信ビジー・パケット」の説明に記載のスピードアップを
実現するために設計された2つの送信ビジー・パケット
副状態の1つである。パケット送信中に「送信ビジー・
パケット」状態のPからENQ_PKT/N要求を受け
取ると、GAMは、そのパケットの状態を「送信ビジー
」から「待機ビジー」に変更し、パケット移動の完了を
待たずに、要求された待ち行列にそのパケットを登録す
る。後にこのPMIは、パケット移動の完了を示すため
にEND_TX要求を発生することが期待される。GA
Mは、PMIからEND_TX要求を受け取ると、その
パケットの状態を「ビジーおよび待ち行列」から「待ち
行列」に変更するのみである。 状態エントリー T12:パケット送信中(すなわち、REQ_TX後)
にPからのENQ_PKT/N要求によって「送信ビジ
ー・パケット」状態から 状態遷移 T25:END_TX要求によって「待ち行列されたパ
ケット」状態へ 4.11.4.ビジーおよび解放パケット状態説明 「ビジーおよび解放パケット」状態は、「送信ビジー・
パケット」の説明に記載のスピードアップを実現するた
めに設計されたもう1つの「送信ビジー・パケット」副
状態である。パケット送信中に「送信ビジー・パケット
」状態のPからREL_PKT要求を受け取ると、PM
Iはこのパケットを処理するため、GAMは、そのパケ
ットを直ちに解放できない。その代わりにGAMは、そ
のパケットの状態を「送信ビジー」から「ビジーおよび
解放」に変更する。後に、パケット移動が完了すると、
GAMは、PMIからEND_TX要求を受け取る。こ
のEND_TX要求を受け取った時だけ、GAMはパケ
ット「解放」動作を行う。すなわち、そのパケットの状
態を「ビジーおよび解放」から「フリー」に変更し、そ
のパケットとフリー・プールに関連するすべてのバッフ
ァを解放する。 状態エントリー T13:パケット送信中(すなわち、REQ_TX後)
PからのREL_PKT要求によって「送信ビジー・パ
ケット」状態から 状態遷移 T30:END_TX要求によって「フリー・パケット
」状態へ 4.11.5.専用パケット 状態説明 パケットが「専用パケット」状態であると、このパケッ
トは、Pに属するが、どの待ち行列にも登録されない。 状態エントリー T54:DEQ_PKT要求によって「待ち行列された
パケット」状態から T14:タイプ2パケットのみ、END_TX要求によ
って「送信ビジー・パケット」状態から状態遷移 T45:ENQ_PKT/N要求によって「待ち行列さ
れたパケット」状態へ T40:REL_PKT要求によって「フリー・パケッ
ト」状態へ 4.11.6.待ち行列されたパケット状態説明 パケットが「待ち行列されたパケット」状態であると、
このパケットは、待ち行列に登録される。 状態エントリー T45:ENQ_PKT/N要求によって「専用パケッ
ト」状態から T65:パケット受信中ENQ_PKT/R要求によっ
て「受信ビジー・パケット」状態から T15:タイプ3パケットのみ、パケット送信後にEN
D_TX要求によって「送信ビジー・パケット」状態か
ら T25:ENQ_TX要求によって「待機ビジー・パケ
ット」状態から 状態遷移 T54:DEQ_PKT要求によって「専用パケット」
状態へ T50:REL_PKT要求によって「フリー・パケッ
ト」状態へ T51:REQ_TX要求によって「送信ビジー・パケ
ット」状態へ 4.11.7.受信ビジー・パケット 状態説明 パケットが「受信ビジー・パケット」状態であると、そ
れは、PMIまたはPが、そのパケットの所有権を有し
、現在このパケット・データをPMへ移動する作業中で
あることを意味する。このパケット移動が完了した時、
このPまたはPMIは、作業完了の指示としてGAMに
対してENQ_PKT/R要求を生成するように期待さ
れる。 状態エントリー T06:REQ_RX要求によって「フリー・パケット
」状態から 状態遷移 T65:「待機パケット」状態へ、ENQ_PKT/R
要求によって T60:「フリー・パケット」状態へ、FLUSH要求
によって
【0128】4.12  事象制御 Pと通信されるためにデータの小さいセグメントの交換
を必要とするアダプタ・ポートの事象が発生すると、こ
のポートに関連するPMIは、GAMに対してENQ_
ENTプリミティブを発行する。GAMは、ENQ_E
NT要求を受け取ると、その待ち行列登録要求内の4バ
イトの事象データを、事象処理専用のGAMFIFO内
の次の使用可能なエントリに記憶する。この事象FIF
OがこのENQ_ENT動作の結果として半分満たされ
るならば、「事象FIFO1/2フル」、EF_HFと
呼ばれるGAB信号が付勢される。このEF_HF信号
は、Pに対する割込みを生成するためにPサブシステム
によって使用される。
【0129】割込み方式またはポーリング方式のいずれ
かによって、このPは通知を受けることができ、その後
、Pは、事象を処理する準備ができているときは常に、
GAMのFIFOから事象データを読み出されることが
できる。このPは、このFIFOが空になるか、あるい
は他の優先順位のより高い作業を行うかのいずれかにな
るまで、その事象処理を継続する。
【0130】4.13  包括アダプタ・バス・アービ
タすべてのバッファ、パケット、および待ち行列のサポ
ート機能に加えて、GAMは、GABアービタとしても
働く。このGAMは、GAB調停ロジックをサポートす
るための論理を含む。GAB優先順位方式とバス要求/
許可処理の詳細については、後述の「包括アダプタ・バ
ス(GAB)」を参照されたい。
【0131】4.14  包括アダプタ・バス・モニタ
アダプタ内部のデータ保全性を確実にするため、1バイ
トあたり1ビットの奇数パリティ方式は、GAB内のデ
ータおよびアドレスの両方に使用される。GAMは、G
ABバス動作ごとに、そのバス動作にどの2つのアダプ
タ構成要素が関係するかとは無関係に、パリティを検査
する。
【0132】「包括アダプタ・バス(GAB)」で後述
するように、GAB上のバス動作は、非優先的である。 バス使用の公平をはかるため、アダプタには、各GAB
バス・マスタが各バス動作ごとにバスを支配できる時間
に制限を課すだけではなく、バス・マスタのうちの1つ
が作動しない時にも公平を実現することができる機構が
必要である。
【0133】これらの2つの要件のため、このGAMは
、これらのGAB監視機能を実行するアダプタ内の論理
構成要素である。以下に、どのようにしてGAMがGA
B監視機能をサポートできるかを示す。 パリティ検査について バス上で動作があるごとに、GAMは、データとアドレ
スの両方のパリティを検査する。GAMがパリティ・エ
ラーを検出した場合、バス・エラー(−BERR)と呼
ばれるGAB上の信号が、GAMによって付勢される。 バスの公平について バスがバス・マスタに許可されるごとに、GAMは、カ
ウンタを起動してバス・サイクルをカウントする。バス
・マスタが、所定のバス・サイクル数後にもバスを解放
しないならば、GAMは、バス・エラー信号を付勢する
(パリティ・エラー状況の場合と同様)。GAM内のバ
ス・サイクルの限界は、WT_GAMプリミティブを使
用することによって、Pによってプログラミングされる
ことができる。
【0134】バス・エラー信号が付勢されると、GAM
自体を含むすべてのアダプタ構成要素は、進行中のすべ
ての処理を打ち切る。バス・エラー信号が付勢化される
と同時に、GAMは、バス・アドレス、バス・マスタお
よびそのバス・エラーの原因を、その内部記憶に記録す
る。この情報は、エラー分離と回復が所望されるならば
、後に、Pによって(RD_GAMプリミティブを使用
して)検索されることができる。
【0135】5.0  待ち行列のスケジューリングと
通知 この包括高帯域幅アダプタは、パケット待ち行列および
サーバに論理的に編成される。このパケット待ち行列は
、PMIおよびPからパケットを受理し、保持し、そこ
へ解放する。このPMIとPは、待ち行列サーバとして
作動する。
【0136】この包括高帯域幅アダプタには、アダプタ
の他の部品と通信するPMIモジュール(PMI0ない
しPMIN)がある。各PMIモジュールは、それ自体
の1組の出力待ち行列を有する。これらの出力待ち行列
は、アダプタ初期設定中にPによって割り当てられ、相
互に排他的である必要はない。すなわち、アダプタの1
つの出力待ち行列は、2つの異なるPMIに属すること
ができ、2つの待ち行列サーバによって同時にサービス
されることができる。さらに、各PMIは、入力パケッ
トの待ち行列登録と、その出力待ち行列のサービスを同
時に行うことができる。すなわち、1つのPMIが、パ
ケットの送信と受信を混合することができ、GAMはこ
の全二重能力をサポートできる。
【0137】この包括高帯域幅アダプタ内のPはまた、
入力待ち行列と称する1組の待ち行列をも有する。PM
Iと同様に、このGAMはまた、P内の全二重能力をサ
ポートする。すなわち、このPは、パケットの待ち行列
登録と、その入力待ち行列のサービスを同時に行うこと
ができる。
【0138】パケットが到達すると、まず、PMIは、
到達するパケットをPの入力待ち行列に登録する。次に
、このPが、パケットを待ち行列解除し、処理し、PM
Iの出力待ち行列に登録する。最後に、このPMIは、
処理済みのパケットをその出力待ち行列から解除する。
【0139】PMIが、他のPMIの出力待ち行列にパ
ケットを直接登録することも可能である。この場合、P
処理は存在せず、PMは一時記憶として使用される。
【0140】このアダプタ内の各待ち行列は、空または
非空の2つの状態のうちの1つをとり得る。すべてのパ
ケット待ち行列は、GAMの内部記憶に記憶され、GA
Mによって管理される。
【0141】ここでは、待ち行列のスケジューリングと
通知の機構について説明する。しかしながら、待ち行列
サービス方針の実施は、アプリケーションに依存するの
で、ここでは待ち行列サービス方針については議論しな
い。
【0142】5.1 待ち行列状況の通知機構待ち行列
サーバの資源を最も効率的に使用するため、GAMは、
待ち行列セットの状況に関してサーバに通知する機構を
使用しなければならない。PMI(専用の状態機械)と
P(汎用プロセッサ)の性質が異なるので、GAMは、
異なる待ち行列サーバに対して異なる通知機構を適用す
る。
【0143】出力待ち行列の場合 サーバ  −  PMI サーバの性質  −  専用 PMIによって実行される最も重要な機能の1つは、P
Mとの間での高速のパケット・データの移動であり、P
MIは、この機能専用である。 サーバの目標  −  高速のサービス応答時間各PM
Iは、出力待ち行列専用のサーバであるので、その主目
標は、アダプタ待ち時間を少なくするため、できる限り
速く出力待ち行列内の出力パケットを処理することであ
る。 通知機構  −  待ち行列の状態が変化されるときは
常に、GAMは、GABバス信号線上にQSRC(待ち
行列状況レジスタ変化)と呼ばれる「パルス」を生成し
、GABバス上にその待ち行列アドレスの最上位ビット
を渡す。この待ち行列アドレス情報は、3つのGABバ
ス線、QA0、QA1およびQA2によって運ばれる。 待ち行列状況の表示  −  待ち行列状況レジスタこ
のGAMは、待ち行列状況レジスタを内部で維持する。 この待ち行列状況レジスタの長さは、アダプタ内の待ち
行列の数に等しく、各待ち行列に対して1ビットである
。このレジスタ内の1ビットが「オン」であると、対応
する待ち行列内に少なくとも1つのパケットがあり、サ
ービスを待っていることを意味する。このビットが「オ
フ」ならば、この待ち行列は空である。待ち行列の状況
が変化されるたびに、このGAMは、バス信号線QSR
C上にパルスを生成し、その待ち行列のアドレス情報を
、QA0、QA1およびQA2上に置く。このQA0、
QA1およびQA2は、アドレス線として使用されて、
どの待ち行列が状況を変化させたかを指示する。 QA0、QA1およびQA2がすべて0ならば、このア
ダプタ内の最初の32個の待ち行列のうちの1つが状況
を変化させたことを指示する。QA0、QA1、QA2
がそれぞれ0、0、1に等しいならば、このアダプタ内
の第2の32個の待ち行列のうちの1つが状況を変化さ
せたことを指示する。 通知後のサーバの反応  −PMIは、QSRC線上で
パルスを感知すると、バス上の待ち行列アドレス情報と
、それ自身の待ち行列セットの識別と比較することがで
きる。この情報が一致するならば、対応するPMIは、
GAMプリミティブRD_QSR(待ち行列状況レジス
タの読出し)を発行して、どの待ち行列が処理するため
のパケットを有するかを判定し、他のGAMプリミティ
ブREQ_TXを発行することによってその待ち行列パ
ケット処理を開始することができる。
【0144】入力待ち行列の場合 サーバ  −  Pサーバの性質  −  非専用すべ
てのアダプタ入力待ち行列にサービスするのに加えて、
このPは、通信コードを実行させ、通信機能を実行する
必要がある。このPは、それ自体を入力待ち行列のサー
ビスに完全に専用化することはできない。サーバの目標
  −  高速のサービス応答時間とPの資源の効率的
な使用とのバランスP資源が高価であること、およびP
に対する割込みに関連するオーバーヘッドのために、ア
ダプタ入力待ち行列に入力パケットが到達するごとにP
に割込みをかけることは、望ましくない。一方、入力待
ち行列内の各入力パケットは、高速のパケット応答時間
に対してPからの即時注目に値する。これらの2つの要
件のバランスをとるため、このGAMは、2つのパラメ
ータ、経過時間とパケット・カウントに基づく入力待ち
行列サーバ通知機構を実施する。パケット・カウントは
、「現在すべての入力待ち行列のパケットの総数」であ
り、経過時間は、「入力待ち行列に少なくとも1つのパ
ケットが存在した最後のリセットからの経過時間」と規
定される。通知機構  −  QSRC/QA0−QA
2、または、下記の状況の1つが発生する時にPに対し
てGAMによって発生される割込み タイマ満了  −  経過時間が所定のタイムアウト値
に達する。この予め規定されたタイムアウト値は、GA
MプリミティブWT_GAMでPによってプログラミン
グされることができる。 閾値超過  −  パケット・カウントが所定のパケッ
ト閾値を超える。この予め規定された閾値はまた、GA
MプリミティブWT_GAMでPによってプログラミン
グされることができる。 待ち行列状況の表示  −  待ち行列状況レジスタ出
力待ち行列状況の表示と同一。 通知後のサーバの反応  −このPが、GAMからの割
込みを受け取ると、その割込み抑制ビットをオンにして
待ち行列状況レジスタを読み出すことができる。待ち行
列状況レジスタの情報に基づいて、このPは、それ自身
の待ち行列サービス方針を実施できる。このPは、待ち
行列識別を伴うDEQ_PKT要求をGAMに発行する
ことによって、待ち行列のサービスを開始できる。この
GAMは、DEQ_PKT要求を受け取ると、要求され
た待ち行列の第1パケットを待ち行列解除し、パケット
・カウントを1だけ減分し、それに応じて待ち行列状況
レジスタを更新する。このPが、GAMからパケット識
別を受け取ると(DEQ_PKT要求の後)、そのプロ
グラム式通信レイヤ機能に従って、このパケットを処理
し始めることができる。このパケット処理が完了すると
、このPは、すべての入力待ち行列が空になるか、ある
いは他の優先順位のより高い要求のために処理を中断し
なければならないかのいずれかになるまで、再度待ち行
列状況レジスタを読み出し、上記の処理を繰り返すこと
ができる。このPが、待ち行列のサービスを完了(また
は終了)すると、GAMからの次の待ち行列通知を許す
ために、その割込み抑制ビットをオフにする。
【0145】5.2  データフロー/制御フローの例
ここでは、新規パケットがPMI1で受信された時点か
らパケットがPMI2を介して送出される時点まで、ス
テップ・バイ・ステップ事象シーケンスが説明される。
【0146】1.  PMI1が、GAMからバッファ
を要求する。使用可能なバッファがないならば、PMI
1は、この転送をフラッシュする(その間に、GAMが
、PM内の割り当てられたバッファをすべて解放する)
【0147】バッファが使用可能であるならば、バッフ
ァが満杯になるまで、PMI1はPMにデータを記憶す
る。バッファが満杯になった瞬間に、PMI1は、GA
Mから他の新規バッファを要求する。全パケットがPM
に記憶されるまで、この処理が継続する。その間にフリ
ー・バッファ・カウンタが閾値以下に低下するならば、
このGAMは、BELOWと呼ばれるバス信号線を付勢
して、PとすべてのPMIにこの状況について知らせる
。この信号を受け取ると、PMIは、バッファ混雑が解
消されるまで、そのパケット受信を一時的に保持するこ
とができる。
【0148】2.  PMI1が、GAMにパケット待
ち行列登録要求を送る。この要求により、非同期バッフ
ァ・カウンタが閾値を超えるならば、GAMは、バス信
号線ABABV(非同期バッファの閾値超過)を付勢す
る。この状況では、PMIは、任意の後続の非同期パケ
ット転送を拒否するように選択することができる。
【0149】3.  このパケットが入力待ち行列に登
録された場合、このGAMは、まず入力待ち行列パケッ
ト・カウントを1だけ増分し、次に、これがすべての入
力待ち行列中で唯一のパケットであるか否かを検査する
。 これが入力待ち行列内の第1パケットである場合、GA
Mは、直ちに入力待ち行列タイマを起動する。
【0150】4.  この入力待ち行列タイマが満了す
るか、あるいは入力待ち行列パケット・カウントが閾値
限界を超えるならば、GAMはPに対して割り込みを発
生する。
【0151】5.  Pが通知を受けると、まずその割
込み抑制ビットをオンにし、その後待ち行列状況レジス
タを読み出す。このPは、どの待ち行列が非空かをしら
べ、待ち行列の優先順位に従って、行うべき作業をスケ
ジューリングする。Pが入力パケットを待ち行列解除す
るごとに、GAMは入力待ち行列タイマを再起動する。
【0152】6.  Pは、優先順位が最高の非空の待
ち行列から、その待ち行列が空になるまでパケットを待
ち行列解除する。その待ち行列が空になった瞬間に、P
は、その次の高優先順位の非空の待ち行列からのパケッ
トを待ち行列解除するように進む。
【0153】新規パケットが到達し、パケット・カウン
トが閾値を超えるか、あるいはタイマが満了するならば
、GAMが再度Pに通知する。
【0154】7.  このPはまた、パケット処理中に
、新規出力パケットを発生するために、GAMからバッ
ファを要求することもできる。
【0155】このPは、パケットを処理した後に、PM
I2によってサービスされる待ち行列にそれらのパケッ
トを登録するよう要求する。GAMが、この待ち行列登
録要求を受け取ると、それに応じて待ち行列状況レジス
タを更新する。この待ち行列登録の結果、出力待ち行列
の状態が空から非空に変化した場合、このGAMは、Q
SRC線上にパルスを生成し、QA0、QA1およびQ
A2上にその待ち行列のアドレス情報を置くことによっ
て、すべてのPMIに通知する。
【0156】8.  PMI2は、QSRC上でパルス
を受け取ると、待ち行列状況レジスタを読み出し、どの
待ち行列が非空であるかをしらべることができる。PM
I2は、それ自体のサービス方針と待ち行列状況レジス
タ内の情報に従って、出力待ち行列にサービスを開始す
ることができる。
【0157】6.0  包括アダプタ・バス(GAB)
このGABは、そのバス信号がすべてBCLKと呼ばれ
るバス・クロックに同期されるため同期バスである。し
かしながら、このバス動作は、バス「コマンド」に対す
る「応答」が任意のBCLKサイクルのエッジで返され
ることができるので、非同期式である。GAB上でのデ
ータ移動は、コマンド/応答ハンドシェーク機構を使用
するデータ・バスとアドレス・バス上での信号交換によ
って達成される。典型的な読出し/書込みバス動作は、
バス・スレーブが応答を返せる速さに応じて、2つまた
はそれ以上のBCLKサイクルを要する。高速データ移
動をサポートするため、「ストリーム・モード」(−S
M)と呼ばれる信号はGAB内で規定され、「ストリー
ム・モード」動作をサポートする能力をバス・マスタに
対して指示するためにバス・スレーブによって使用され
る。ストリーム・モードがGAB上で確立されていると
、さらに32ビットずつデータ移動を完了するのに、1
BCLKクロックずつ余分に要するだけである。さらに
、このストリーム・モード信号は、パイプライン式読出
し動作を可能にするために低速のバス・マスタによって
使用されることができる。
【0158】データ移動信号の他に、GABは、下記の
機能をサポートするため、他のバス信号を含む。 バス・マスタ権の要求/許可の処理 割込み要求 バス・エラーの指示 待ち行列状況変化の指示 バス・スレーブ応答有効の指示 GAMビジーの指示 パケット・メモリ・バッファ状況の指示
【0159】6
.1  バス信号 バス・クロック:BCLK 単一源 バス・クロック発生論理回路によって駆動BCLKで同
期化される他のすべてのバス信号
【0160】データ・
バス:D00〜D313状態 正論理 高終端 書込みサイクル中にバス・マスタによって駆動読出しサ
イクル中にバス・スレーブによって駆動D00が最下位
ビット、D31が最上位ビット
【0161】データ・パ
リティ:PD0〜PD3奇数パリティ 3状態 正論理 高終端 D00−D07の場合、PD0 D08−D15の場合、PD1 D16−D23の場合、PD2 D24−D31の場合、PD3
【0162】アドレス・バス:A02〜A253状態 正論理 高終端 常にバス・マスタによって駆動 A02が最下位ビット、A25が最上位ビット    
アドレス空間分割の実施:       A25  A24  A23      
0      0      −      プロセッ
サ・アドレス空間      0      1   
   0      未使用アドレス空間      
0      1      1      GAMア
ドレッシング空間      1      0   
   −      パケット・メモリ・アドレス空間
      1      1      0    
  アダプタ・ポート・アドレス空間      1 
     1      1      GAMアドレ
ッシング空間
【0163】アドレス・パリティ:PA0
〜PA2奇数パリティ 3状態 正論理 高終端 A02−A09の場合、PA0 A10−A17の場合、PA1 A18−A25の場合、PA2
【0164】バイト・イネーブル:BE0〜BE3  
これらの4本の線は、アドレス指定された位置にある個
々のバイトの選択を制御するためにバス・マスタによっ
て使用される。BE0が最下位バイトの選択を制御し、
BE3が最上位バイトの選択を制御する。これら4つの
選択ビットで、このバス・マスタは、選択された位置の
バイト幅、半ワード幅(16ビット)およびワード幅(
32ビット)のアドレス指定を有することができる。 3状態 “ハイ”に付勢 高終端 バス・マスタによって駆動 個々のバイト選択用
【0165】バイト・イネーブル・パリティ:BEPB
E0−BE3の場合奇数パリティ 3状態 正論理 高終端
【0166】コマンド:−CMD 3状態 “ロー”に付勢 高終端 バス・マスタによって駆動 読出し動作の場合:−CMDが立っているBCLKサイ
クルの間、アドレス・バスが有効である書込み動作の場
合:−CMDが立っているBCLKサイクルの間、デー
タ・バスとアドレス・バスの両方が有効である
【0167】読出し/−書込み:R/−W3状態 書込みサイクルの場合は“ロー”、読出しサイクルの場
合は“ハイ” 高終端 バス・マスタによって駆動 −CMDが立っているBCLKサイクルの間、有効であ
【0168】応答:−RESP 3状態 “ロー”に付勢 高終端 バス・スレーブによって駆動 バス動作完了の肯定応答 読出し動作の場合:−RESPが立っているBCLKサ
イクルの間、データ・バスが有効である
【0169】バ
ス要求:−BR0〜−BRN  これらの要求線は、バ
ス・マスタ権争奪のためにバス・マスタによって使用さ
れる。−BRNはP用の要求線であり、−BR0はPM
I0用、−BR1はPMI1用、以下同様である。 直接駆動 “ロー”に付勢 高終端 バス・マスタによって駆動 バス・アービタ(GAM内)によって受け取られるバス
・マスタ権の争奪用
【0170】バス許可:−BG0〜−BGNこれらのバ
ス許可線は、バス争奪者にバス・マスタ権を許可するた
めに、バス・アービタによって使用される。 −BGNはP用のバス許可線であり、−BG0がPMI
0用、−BG1がPMI1用、以下同様である。このバ
ス・マスタがバス争奪に勝ち、バス・アービタからバス
・マスタ権を受け取ると、このバス・マスタは、次のサ
イクルで動作を開始することができる。 直接駆動 “ロー”に付勢 高終端 バス・アービタによって駆動 バス・マスタによって受け取られる バス・マスタ権の許可用
【0171】バス・ビジー:−BUSYこの信号は、バ
ス・ビジー状態を指示するためにバス・マスタによって
使用される。あるバス・マスタがバス争奪に勝ち、バス
・アービタからバス許可を受け取ると、そのバス・マス
タは、−BUSY信号をアクティブにすることによって
動作を開始できる。現バス・マスタが、その動作を完了
すると、−BUSY信号を解放して、バス・マスタ権の
終了を示すことができる。この時、バス・アービタは、
他のバス争奪者に、次のバス・マスタ権を許可すること
ができる。 3状態 “ロー”に付勢 高終端 バス・マスタによって駆動 バス・ビジー状況用
【0172】バス・エラー:−BERRこの信号は、現
バス動作にエラー(GAMによって検出される)が存在
することを指示するためのものである。 直接駆動 “ロー”に付勢 高終端GAMによって駆動 バス・エラー状態の指示用
【0173】待ち行列状況レジスタの変化とアドレス:
QSRC、QA0〜QA2 これらの状況線は、待ち行列のサーバであるPおよびP
MIに、それらの待ち行列状況レジスタに変化があるこ
とを通知するためにGAMによって使用される。待ち行
列状況レジスタの1つに変化があるときは常に、GAM
が、1バス・サイクルの間QSRC線を立て、変化した
待ち行列のアドレスをQA0〜QA2に渡す。 直接駆動 付勢されると、待ち行列状況レジスタが変化するGAM
によって駆動 QA0が最下位ビット、QA2が最上位ビット待ち行列
のサーバすなわちPおよびPMIによって受け取られる 待ち行列状況レジスタの変化の指示用
【0174】割込み要求:−INT0〜−INTN+1
これらの割込み要求線は、Pの注意を要求するために、
割込み元であるGAM、PMIおよびPMメモリ・コン
トローラによって使用される。割込み元がPのアテンシ
ョンを必要とする時は、その割込み元がその割込み信号
線をハイにし、その割込み信号線は、割込みの理由がP
によってクリアされるまで、ハイにとどまる。−INT
N+1はPMメモリ・コントローラからの割込み要求線
であり、−INTNはGAMからの割込み要求線、−I
NT0はPMI0からの割込み要求線、−INT1はP
MI1からの割込み要求線、以下同様である。 直接駆動 “ロー”に付勢 高終端 割込み元すなわちGAM、PMI、PMコントローラに
よって駆動 Pによって受け取られる
【0175】ストリーム・モード:−SMこの信号は、
バス・スレーブがストリーム・モード動作の準備ができ
ていることをバス・マスタに指示するために、バス・ス
レーブによって使用される。 3状態 “ロー”に付勢 高終端バス・スレーブによって駆動 ストリーム・モード動作用
【0176】応答有効:−RV0〜−RVN−1これら
の信号線は、任意選択であり、低速のアダプタ・ポート
に対する直接制御動作をサポートするように設計されて
いる。バス・マスタが低速のポートをアクセスすると、
−RESPが返されるまでに時間を要する。その間、G
ABはアイドルで、いかなる他のバス動作を行うことは
できない。この応答レディ線によって、ポートの論理回
路は、下記の機構を実施する選択権を有する。バス・マ
スタがアダプタ・ポートをアドレスすると、このアダプ
タ・ポートは、要求をラッチし、直ちに−RESPを返
すことができる。次に、そのアダプタ・ポートは、その
ポートの内部論理回路で、前のバス・サイクルでラッチ
される要求された動作を実行できる。要求された動作が
完了し、この応答の準備ができると、このアダプタ・ポ
ートは、バス上でこの応答レディ線を立てることができ
る。この応答レディ線が付勢されていると、前のバス・
マスタは、他のバス動作を実行して応答を読むことを選
択する場合、それを行うことができる。−RV0はPM
I0用の応答レディ線、−RV1はPMI1用の応答レ
ディ線であり、以下同様である。 直接駆動 “ロー”に付勢 高終端 PMIによって駆動
【0177】フリー・バッファ・ロー:BELOWフリ
ー・バッファ・プールが所定の閾値以下に低下した時に
、このGAMは、指示としてこの状況線を付勢する。こ
の線は、PMIまたはPによって監視される。この線が
アクティブであると、PMIは、長い入力パケットを放
棄するように選択する。 直接駆動 “ハイ”に付勢 GAMによって駆動 PMIまたはPによって監視 ロー・フリー・バッファ・プール指示用
【0178】前
記非同期バッファ:ABABV非同期トラフィック用に
割り当てられたバッファの数が閾値に達すると、このG
AMは、指示としてこの線を立てる。この線は、PMI
またはPによって監視される。 この線がアクティブであると、PMIは、入力非同期パ
ケットを放棄するように選択する。 直接駆動 “ハイ”に付勢 GAMによって駆動 PMIまたはPによって監視 高非同期バッファの指示用
【0179】事象FIFO1/2満杯:EF_HFGA
M内の事象FIFOが半分満たされると常に、このGA
Mは、指示としてこの線を立てる。この線は、できるだ
け早く事象を処理するための指示として、Pによって使
用される。 直接駆動 “ハイ”に付勢 GAMによって駆動 Pによって監視 事象FIFO1/2フルの指示用
【0180】リセット:RESET これは、アダプタのマスタ・リセットである。この線が
付勢されると、すべてのアダプタ構成要素はリセットさ
れる。この線は、電源投入時のリセットとPによって付
勢される。この信号の持続時間は、20マイクロ秒また
はそれ以上であることが保証される。 直接駆動 “ハイ”に付勢 電源投入時リセットまたはPによって駆動全アダプタ構
成要素によって監視 アダプタのマスタ・リセット
【0181】GAMビジー:−GBUSYこの状況線は
、GAMの内部状態を、バス上の他の構成要素すなわち
PとPMIに示すために、GAMによって使用される。 付勢されると(ロー)、この信号は、GAMが現在GA
M動作に従事し、さらなるGAM要求を受入れることが
できないことを示す。GAMからのサービスを必要とす
るバス・マスタは、この線を監視する。GAM動作を要
求するバス・マスタは、この線が付勢されていないとバ
ス要求のみ行うことができる。バス・マスタのうちの1
つがバス争奪に勝ち、バス許可を受けると、そのバス・
マスタは、バス上にGAM要求をすることができ、その
バス・サイクルが完了すると、バスを解放する。このG
AMは、GAM要求を受け取った瞬間に、−GBUSY
を付勢する。バス争奪に勝てなくて、なおGAMのサー
ビスを必要とするバス・マスタは、−GBUSYがアク
ティブになるのを知った瞬間に、バスを求める要求を(
要求線を付勢しないことによって)取り消す。GAMは
、要求されたGAM動作を完了し、(必要ならば)その
状況レジスタを非同期要求状況にすると、このビジー線
を付勢しない。−GBUSYが消勢される瞬間に、なお
GAMのサービスを必要とするこれらのバス・マスタは
、再びそのバス要求を行うことができる。 直接駆動 “ロー”に付勢 GAMによって駆動 PおよびPMIによって監視
【0182】6.2  バスの争奪と許可の処理このP
またはPMIの1つが、GABにアクセスする必要があ
ると、そのPまたはPMIは、まずバス所有権を獲得し
なければならない。この包括高帯域幅アダプタのそれぞ
れの潜在的バス・マスタは、バス・アービタに対して個
別のバス要求線を有し、このバス・アービタは、それぞ
れの潜在的バス・マスタに対して個別のバス許可線を有
する。各バス・サイクル中に、このバス・アービタは、
立てられているバス要求線からバス獲得者を選択する。 各バス・マスタは、バス許可線とバス・ビジー線の両方
を監視する。要求しているバス・マスタが、バス・ビジ
ー線が立っていないサイクル中に許可を受け取ったなら
ば、そのバス・マスタは、バス・ビジーを立てることに
よって、バス所有権を得ることができる。また、このバ
ス・アービタは、バス・ビジー線を監視し、バス争奪サ
イクルごとにバス・マスタ権獲得者を記録する。 この情報は、ラウンドロビン式バス優先順位方式(後述
の「GABバス優先順位方式」)を実施するのに使用さ
れ、バス・エラー発生時にはログ情報(前述の「包括ア
ダプタ・バス・モニタ」)として使用される。
【0183】6.3  GABバス優先順位方式このG
ABで採用されたバス優先順位方式は、予めプログラム
された優先順位と、ラウンドロビン式の公平さを兼ね備
えている。アダプタ初期設定中に、このPは、可能なG
ABバス・マスタのうちのどれが常に最高のバス優先順
位を有するかを決定でき、他のバス・マスタは、循環の
原則に基づきラウンドロビン方式でバス優先順位を共有
する。デフォルトの優先順位が最高のバス・マスタは、
アダプタの電源投入後はPである。しかしながら、この
Pは、GAMに対してプリミティブWT_GAMを発行
することによって、優先順位が最高のバス・マスタを任
意のPMIに変更することができる。
【0184】ラウンドロビン式優先順位方式は、次のよ
うに働く。優先順位が最高のバス・マスタが選択された
後に、他の4つのバス・マスタのそれぞれは、0から3
までの順序番号を割り当てられる。ラウンドロビンのバ
ス・マスタXが、現バス・サイクルでのバス争奪に勝っ
た場合、次のバス・サイクルに対するバス優先順位(最
高から最低への順)は、選択された優先順位が最高のバ
ス・マスタ、バス・マスタ(X+1)  mod  N
、バス・マスタ(X+2)  mod  N、バス・マ
スタ(X+3)  mod  N、...、バス・マス
タXになる。 ただし、modNは、Nによる剰余を表わす。一方、選
択された優先順位が最高のバス・マスタが現バス・サイ
クルでのバス争奪に勝った場合は、次のバス・サイクル
に対する優先順位は変更されない。
【0185】6.4  バス動作方式とサイクル制限バ
ス・マスタがバス所有権を獲得すると、そのバス・マス
タは、バス・ビジー信号−BUSYを立て、そのバス動
作を開始する。−BUSYが立てられた瞬間とバス所有
権が任意に解放される(−BUSYが付勢されない)瞬
間の時限中、このバス・マスタは全バスを所有し、いか
なる他のバス・マスタ動作も許可されない。この種のバ
ス動作は、非優先式と呼ばれる。この非優先方式を用い
る場合、バス所有権ごとに許可されるBCLKサイクル
数は他のバス・マスタの欠乏を避ける制限を有する。 このアーキテクチャは、所有権ごとに許可される最大の
BCLKサイクル数を規定しない。各個々の実施はこの
時間の制限を規定しなければならない。この制限は、G
AMプリミティブWT_GAMを使用するPによってプ
ログラミング可能である。
【0186】この包括高帯域幅アダプタ内の任意のGA
Bバス・マスタは、制限に達する前に自発的にバス所有
権を解放する。この制限に達して、バス・ビジー(−B
USY)がなおアクティブならば、GAMがバス・エラ
ー(−BERR)を立てる。バス・エラー信号が立って
いると、このアダプタの全構成要素は進行中の処理を打
ち切り、Pはマスク不能割込みを受け取る。
【0187】6.5  バス動作とサイクル・タイミン
グ以下、バス信号の相互作用と、異なるバス動作のタイ
ミングを説明する。
【0188】6.5.1  信号の読出し/書込み動作
図5は、1つの読出し動作と1つの書込み動作の信号の
相互作用を示す図である。 1.  バス要求  −  バス・マスタがバスを要求
する2.  バス許可  −  1サイクル後に、GA
Mがバス所有権を許可する 3.  動作開始  −  バス許可後1サイクル、バ
ス・マスタが、バス・ビジー線を立て、コマンド線を立
て有効アドレスをバス上に置くことによって、読出し動
作を開始する。 4.  応答レディ  −  コマンド線とアドレス線
が、1サイクルだけ、バス上で有効状態のままである。 次のサイクル間に、バス・スレーブが、要求を完了し、
応答線を立て、バス上に有効データを置く。 5.  バス解放  −  応答線とデータ線が、1サ
イクルだけ、バス上で有効状態のままである。この例で
は、バス・マスタは、これ以上の要求を有しておらず、
バス・ビジー線を消勢することによってバスを解放する
。 6.  他の動作の開始  −  バス要求およびバス
許可処理他のサイクル後、バス・マスタが、再度バス所
有権を受け取る。バス・マスタは、バス・ビジー線、コ
マンド線、および書込み制御線を付勢し、その後、有効
データと有効アドレスをバス上に置く。 7.  消勢されたコマンド  −  すべてのバス・
マスタによって制御される信号が、1バス・サイクル後
に消勢される。 8.  応答レディ  −  バス・スレーブが、この
書込み要求を完了し、応答線を立てる。 9.  バス解放  −  動作が完了する。バス・マ
スタがバスを解放する。
【0189】6.5.2  ストリーム・モードの読出
し動作 図6は、ストリーム・モードの読出し動作中の信号の相
互作用を示す図である。 1.  動作開始  −  バス所有権を獲得した後、
バス・マスタが、コマンド線を立て、有効アドレスをバ
ス上に置く。 2.  ストリーム・モード・レディ  −  バス・
スレーブが、最初の応答を供給する前1サイクル、スト
リーム・モード線を立てて、ストリーム・モード動作を
サポートできることを指示する。 3.  他の動作の開始  −  バス・マスタが、再
度コマンド線を立てることによって、第2の読出し動作
を開始する。 4.  応答レディ  −  バス・スレーブが、第2
の読出し動作に対する応答を生成する。 5.  確立されたストリーム・モード動作  −  
コマンド線と応答線は共に、ストリーム・モード動作中
、“ロー”にとどまる。データは、バス・スレーブから
バス・マスタへ、1サイクルにつき32ビットの割合で
流れる。 6.  コマンド除去  −  バス・マスタが、その
要求をすべて完了し、コマンド線を除去する。 7.  応答除去  −  コマンド線除去後1サイク
ル、バス・スレーブが応答を除去する。 8.  バス解放  −  応答が除去されたサイクル
の終了で、バス・マスタがバスを解放する。 9.  ストリーム・モード除去  −  コマンドが
除去された後に、バス・スレーブがストリーム・モード
線を除去する。
【0190】6.5.3  ストリーム・モードの書込
み動作 図7は、ストリーム・モードの書込み動作中の信号の相
互作用を示す図である。 1.  動作開始  −  バス所有権の獲得後、バス
・マスタが、コマンド線を立て、データとアドレスの両
方をバス上に置くことによって、その書込み動作を開始
する。 2.  応答レディ  −  第1の応答を供給する前
1サイクル、バス・スレーブが、「ストリーム・モード
」線を立てて、ストリーム・モード動作をサポートでき
ることを示す。 3.  ストリーム・モード動作開始  −  バス・
マスタが、再度コマンド線を立てることによって、第2
の書込み動作を開始する。 4.  確立されたストリーム・モード動作  −  
バス・スレーブが、第2の書込み動作に対して応答を発
生し、ストリーム・モード動作を確立する。 5.  ストリーム・モード動作中断  −  バス・
スレーブが、これ以上ストリーム・モード動作をサポー
トしないと決定するならば、そのバス・スレーブは、ス
トリーム・モード線を除去できる。6.  コマンド除
去  −  ストリーム・モード線が除去後1サイクル
、バス・マスタが、コマンド線を消勢する。 7.  応答除去  −  コマンド線が除去後1サイ
クル、バス・スレーブが、応答線を除去する。 8.  他の動作の開始  −  バス・マスタが、ス
トリーム・モードの中断後に、再度コマンド線を立てて
、次のバス動作を開始する。 9.  応答レディ  −  バス・スレーブが、最後
のバス動作に対して応答を発生する。 10.バス解放  −  バス・マスタが、その動作の
すべてを完了し、バスを解放する。
【0191】6.5.4  ストリーム・モードのパイ
プライン式読出し動作 図8は、ストリーム・モードのパイプライン式読出し動
作の信号の相互作用を示す図である。(これは、低速の
バス・スレーブが、ストリーム・モード信号を使って、
その読出し動作をパイプライン化できる方法を示す図で
ある) 1.  バス要求  −  バス・マスタが、バス所有
権を要求する。 2.  バス許可  −  1サイクル後に、GAMが
、バス所有権を許可する。 3.  動作開始  −  バス許可後の1サイクル後
に、バス・マスタが、バス・ビジーを立て、コマンド線
を立て有効アドレスをバス上に置くことによって、読出
し動作を開始する。 4.  付勢されたストリーム・モード  −  バス
・スレーブは、応答を十分高速に発生できないとしても
、ストリーム・モード線を立てて、次のアドレスを要求
することができる。 5.  パイプライン動作の開始  −  ストリーム
・モード線が立てられた後1サイクル、バス・スレーブ
が、前のバス動作に対して応答を発生する。同時に、バ
ス・マスタが、コマンド線を立て、次の読出し動作を開
始する。 6.  パイプライン動作の続行  −  バス・スレ
ーブが、ストリーム・モード線をトグルし、パイプライ
ン動作を継続する。 7.  最終応答レディ  −  バス・スレーブが、
最後のバス動作に対して応答を発生する。 8.  バス解放  −  バス・マスタが、すべての
読出し動作を完了し、バスを解放する。
【0192】7.0  パケット・メモリ・インターフ
ェース  −  PMI 各包括高帯域幅アダプタは、最大N個のアダプタ・ポー
トを有することができる。これらのポートは、パケット
・メモリ内の待ち行列およびPとの相互作用により、互
いに通信する。各ポートとシステムの残り部分との通信
は、そのポートに関連するパケット・メモリ・インター
フェース(PMI)によって管理される。このパケット
・メモリは、GAMと個々のPMIの相互作用によって
、パケットに連結されるバッファ群として編成される。 通信フロント・エンドからの入力されたデータ・ストリ
ームまたはパケットは、GAMから得られたバッファの
アドレスを使用して、PMIによってPMに記憶される
。出力データは、PMIによってPMから読み出され、
パケットの形で通信フロント・エンドに提示される。
【0193】PMIは、特定の通信フロント・エンド(
伝送線インターフェース、LANインターフェース、交
換網接続、またはシステム・バス接続機構)と包括高帯
域幅アダプタ・システムの残り部分間の変換器である。 このPMIは、様々な相互接続をサポートするようにカ
ストマイズされることができる通信フロント・エンドに
包括インターフェースを提供するGABに均一なインタ
ーフェースを提示する。このインターフェースの包括部
分は、ここで説明される。特定の実施態様は、他の文献
に記載されている。
【0194】7.1  PMIの包括機能PMIは、通
信ポートの「フロント・エンド」を、包括アダプタ・バ
ス(GAB)の特定の要件から分離するために存在する
。PMIがこの分離をサポートするために実行する機能
には、下記のものが含まれる。GABのマスタ状況を獲
得するための調停信号を含む、GAB信号を駆動し受け
取る。パケットを組み立て、最大8つの並列パケットを
多重化するためのコントローラとして働く。8つという
数は、任意であり、小さな数(資源が提供される場合、
0か1、または相対的に無限の数の資源インスタンスの
いずれかが存在すべきであるとするアーキテクチャ原理
に反する)であるように思えるかもしれないが、多くの
アプリケーションでは8で十分である。 これら8本の「サブチャネル」の使用に関する議論は、
特定の実施態様の説明に出ている。8本のサブチャネル
だけを提供することの主な利点は、制御情報とデータ・
ステージング・バッファの両方を、単一のPMIチップ
に含めることができる点である。このPMIがサービス
する出力待ち行列セット用の低待ち時間ステージング・
バッファとして働く。PMIは、待ち行列セットの各待
ち行列ごとに完全なパケットを記憶するのではなく、G
AB調停の待ち時間なしに伝送帯域幅の可用性に応答す
るのに十分なだけ、各待ち行列からのパケットを記憶す
る。1つの実施態様では、せいぜい64バイトがいつで
も任意のパケットのためにPMIに記憶される。この緩
衝記憶は、GAB上でバースト・モード転送を利用する
能力を与える。小形のステージング・バッファはこのバ
ッファを介する待ち時間が小さいことを保証する。パケ
ットをPMに記憶し、GAMと相互作用することにより
、入力パケットを待ち行列登録する。パケット・タイプ
とソース情報をPM内の待ち行列IDに変換するために
マッピング情報を維持する。これは、制限された能力で
ある。マッピングされたセットの中には、16程度の入
力待ち行列が存在できる。特定のマッピング機能は、通
信フロント・エンドで実施される。GAMプリミティブ
要求を発行する。PMデータ・バッファ移動を実行する
。このPMIは、GABマスタとして働き、GABの使
用を調停し、GAMとの以前の通信に基づいたアドレス
を発生する。GABエラー、P非同期要求、およびPM
Iの通信フロント・エンドからの要求に基づいた、GA
B割込みを発生する。GABの使用を求めるそれ自体の
要求を調停するために、信号「GAMビジー」を監視す
る。このPMIは、GAMが現在ビジーならば、GAM
と通信するためにGABの使用を要求しない。パケット
用のバッファ空間がある時に限ってパケットが入力に送
信されることを保証するために、信号「上位非同期バッ
ファ」(ABABV)および「下位フリー・バッファ」
(BELOW)を監視する。待ち行列状況レジスタ変化
線を監視する。各PMIは、このPMIがサービスして
いる待ち行列に対して待ち行列状況レジスタ部のシャド
ウ・コピーを維持する。GAMは、待ち行列状況レジス
タを更新すると、信号QSRCでこの事象を指示する。 信号QSRCが立ち、QA線がPMIの内部レジスタの
Queue−Id(待ち行列ID)に一致するならば、
PMIは、待ち行列レジスタの読出し要求を開始して、
そのシャドウ・コピーを更新する。他のGABマスタの
要求を復号しそれに応答する。ほとんどの場合、これら
はPからの要求である。このPMIは、バス・スレーブ
として働く。すなわち、内部レジスタへの読出し要求ま
たは書込み要求に応答するか、あるいはその通信フロン
ト・エンドの制御レジスタへの経路を提供する。入力ト
ラフィックと出力トラフィック上で任意のバイト位置合
せの調節を実行する。入力トラフィックと出力トラフィ
ック上で任意のデータ・フィルタリング機能を随意に実
行する。他のポート、PM、GAM、およびPメモリと
直接通信するために通信フロント・エンドへの経路を随
意に提供する。
【0195】7.2  PMIの概要 PMIのブロック図は図9に示される。図からわかるよ
うに、このPMIは、GABと包括通信フロント・エン
ド・インターフェース間の変換器として働く。この変換
の議論は、6つの部分に分かれる。手短な概説の後に、
出力データ経路、入力データ経路、同期レジスタ・イン
ターフェース、非同期レジスタ・インターフェース、お
よび割込み機構について、それぞれ詳細に検討する。
【0196】2つのデュアルポート式メモリが、柔軟性
をもたらし、PM間に流れるパケット・データ用のステ
ージング・バッファを提供する。これらのデータ・バッ
ファはそれぞれ、その入力に、アドレス生成/バイト位
置合せ論理回路を有する。専用データ・フィルタの可能
性は、データ・バッファの出力の一方または両方に存在
する。出力データ・バッファの入力のバイト位置合せ論
理回路は、PM内の任意のバイト上で位置合せされたパ
ケットの転送を可能にする。入力データ・バッファの入
力のバイト位置合せ論理回路は、ネットワーク・インタ
ーフェースまたはローカル・バス・インターフェースの
いずれかからのワード内Pのバイトの任意の位置合せを
可能にする。データ・フィルタは、このアーキテクチャ
の任意選択部分である。1例として、検査合計モジュー
ルは、入力データ・バッファの出力に結合されることが
できる。このモジュールは、TCPおよびISO/TP
クラス4の検査合計を生成し検査するためにPによって
使用されるように情報を提供できる。データ・フィルタ
・モジュール使用の他の例は、FDDIサポート・チッ
プにある。出力データ経路は、FDDIのフレーム検査
合計シーケンス発生器をインラインで有し、既存のFD
DIチップで全二重FDDI動作を可能にすることがで
きる。
【0197】このレジスタとカウンタは、パケット・メ
モリに対してアドレスの生成、GAM要求の構築、およ
びP要求の処理に使用される。
【0198】7.3  PMIバスの活動PMIは、バ
ス・マスタおよびバス・スレーブの両方として作動する
。このPがPMIと相互作用すると、PMIは、Pに対
してスレーブとして作動する。これらの活動は、PMI
のバス・サブシステムで最高の優先順位を取る。
【0199】唯一のバス・サブシステムの優先順位2の
タスクは、PMIがGAMに事象を書込むことである。 これは、PMIの装置特定部の要求時に起る。32ビッ
ト・ワードは、その後、このデータをPのために待ち行
列登録するGAMに書き込まれる。
【0200】3番目に高い優先順位を有する活動は、P
MIがそのシャドウ待ち行列状況レジスタを更新するこ
とである。GAMは、待ち行列状況ビットを更新すると
、状況更新線を使用して、PMIに信号を送る。この更
新が、このPMIのサービスしている待ち行列に対応す
るならば、このPMIは、シャドウ待ち行列状況更新サ
イクルを開始する。
【0201】このPMIは、その時間のほとんどを、最
低の優先順位活動としてデータ転送機能の実行に費やす
。このPMIは、入出力の転送のスケジューリングを、
ラウンドロビン方式で行う。GAMとPMIの間の入出
力データ転送の相互作用の詳細は、前述の「包括アダプ
タ・マネジャ(GAM)18」および「待ち行列のスケ
ジューリングと通知」で説明した。
【0202】下記のテーブルは、PMIのバス活動を要
約したものである。活動は、優先順位の順にリストした
。□を付記した活動は、GAMがビジー中試みられない
。 優先順位1  −−  バス・スレーブ活動Pによるレ
ジスタ書込み Pによるレジスタ読出し Pによる非同期データ書込み Pによる非同期データ要求の開始 Pによる非同期データ読出し Pによる同期書込み Pによる同期読取り □優先順位2  −−  PMIによるGAMへの事象
の書込み □優先順位3  −−  PMIによるシャドウ・レジ
スタの更新 優先順位4  −−  入出力パケット・データ転送(
ラウンドロビン) 入力 □受信要求 □バッファ要求 PMへのパケット・データの書込み PMへのフィルタ・データの書込み □パケットの待ち行列登録 □パケットのフラッシュ 出力 □送信要求 □次バッファ PMからの読出し □送信終了
【0203】7.3.1  PMI  −−  GAB
アドレス応答 GABのアドレス空間は、4つの主要部分、すなわち、
プロセッサ・メモリ、パケット・メモリ・アドレッシン
グ、GAMアドレッシングおよびPMIアドレッシング
に分割される。このPMIアドレッシングは、順番にP
MI−IDによりいくつかの範囲に分割される。各PM
Iは、そのPMI−IDレジスタを使用して、異なるア
ドレス範囲に反応する。各PMIのアドレス空間は、4
つの範囲に分割され、通信フロント・エンドの同期イン
ターフェースと非同期インターフェースにそれぞれ1つ
、包括内部レジスタと装置固有のPMI内部レジスタに
それぞれ1つが割り当てられる。図10に、この分割を
示す。
【0204】7.3.2  PMI  −−  GAB
インターフェース信号 GAB(包括アダプタ・バス)に対するPMIの接続は
、下記にリストする信号からなる並列接続である。まず
、リストについて若干の一般的説明を行う。このリスト
の各エントリのフォーマットは次の通りである。 1  名前  −−  (I)  このエントリは、単
一入力信号の例である。 [この信号群のピン数][信号名]  −−  ([I
=入力/O=出力]) 信号の説明。 その名前の最初の文字としてハイフン(−)を有する信
号は、“ロー”にされているものと仮定する。 (I)のラベルが付けられたすべてのピンは、PMIへ
の入力である。 (O)のラベルが付けられたすべてのピンは、PMIか
らの出力である。 (I/O)のラベルが付けられたすべてのピンは、バス
・サイクルに応じて入力または出力のいずれかになるこ
とができる。それは、PMIがそのサイクル中にバス・
マスタとして働くかそれともバス・スレーブとして働く
か、およびそのサイクルが読出しサイクルかそれとも書
込みサイクルかによって決まる。以下の記述では、この
信号が入力になる時、それが出力になる時、およびPM
Iがこのピンを3状態(高インピーダンス)にした時を
説明する。 (O/T)のラベルが付けられたすべてのピンは、出力
または高インピーダンスである。これらは、駆動される
が監視されないピンである。
【0205】PMI/GABインターフェースのピンを
以下に示す。
【0206】1  BCLK  −−  (I)  こ
のGABは、同期バスであり、その状態遷移のすべてが
、BCLKの立下りエッジで発生する。信号は、BCL
Kが“ハイ”の間は安定していると仮定される。
【0207】1  −BR  −−  (O)  ポー
ト−PMIは、そのバス要求線(−BR)を“ロー”に
駆動することによって、PMバスの使用を要求する。各
潜在的バス・マスタに、それぞれ別々の−BR線がある
【0208】1  −BG  −−  (I)  バス
調停論理回路は、BCLKサイクルごとに、すべてのバ
ス要求に応答する。各−BR信号に対応する別々のバス
許可(−BG)信号がある。ポート−PMIへの−BG
入力は、そのポート−PMIがバス・マスタになれるか
否かを決定するために、ポート−PMIによって次の信
号(−BUSY)と共に使用される。(このポート−P
MIの)−BGが立っており、かつ−BUSYが立って
いないと、このポート−PMIはバスへのアクセス権を
有する。
【0209】1  −BUSY  −−  (I/O)
  ポート−PMIは、バスへのアクセス権を得ると、
この信号を“ロー”に駆動する。このPMIは、このバ
スの使用終了時に、1サイクルの間−BUSY線を高に
駆動する。そのサイクルの終了時に、ポート−PMIは
、その−BUSYピンを3状態にする。
【0210】1  −CMD  −−  (I/O) 
 この信号は、ポート−PMIがバス・マスタ権を獲得
し、スレーブに対するバス要求の開始を望むと、PMI
によって駆動される。この信号は、このPMIがバス・
マスタでないと、潜在的スレーブ・サイクルの開始を決
定するために監視される。
【0211】1  R/−W  −−  (I/O) 
 マスタの時に駆動される。“ハイ”に駆動されると、
そのサイクルは読出しサイクルである。“ロー”に駆動
されると、このサイクルは書込みサイクルである。
【0212】1  −RESP  −−  (I/O)
  ポート−PMIは、バス・コマンド上でのアドレス
一致を検出すると、この要求に応答する。この信号のタ
イミングについては、バス・プロトコルの節を参照され
たい。この信号は、スレーブ・モードの出力で、ポート
−PMIがバス・マスタ権を有している間は入力である
。このPMIが、パリティ・エラーまたはバス・エラー
・サイクルを検出するならば、この信号を駆動しない。
【0213】1  −SM  −−  (I/O)  
この信号は、ポート−PMIがバス・スレーブであると
、“ハイ”に駆動される(立っていない)。このPMI
は、スレーブのストリーム・モードへの移行を提供しな
い。しかしながら、この信号は、パケット・データ転送
中にこのPM信号を駆動するので、ポート−PMIがバ
ス・マスタの間、監視される。
【0214】3  SLOT−ID[0:2]  (I
)  これらの入力は、ハードワイヤ接続されたピンで
ある。 ポート−PMI構成用に使用されると、これらのピンは
、Command−Id(コマンドID)レジスタとQ
ueue−Idレジスタのデフォルトの内容を供給する
。SLOT−IDの3ビットは、電源投入時リセットお
よびソフトウェア・リセットの際にこれらのレジスタに
ロードされる。
【0215】24  ADDR[02:25]  −−
  (I/O)  これらのピンは、ポート−PMIが
バス・マスタ権を有すると、そのポート−PMIによっ
て出力として駆動される。これらのピンは、−CMDが
立っているバス・サイクル中のみ有効である。このポー
ト−PMIは、バス・マスタでないと、これらのピンを
監視する。バス・コマンドが、(ADDR[25]=1
  &&  ADDR[24]=1&&  ADDR[
23]=0  &&  ADDR[20:22]=PM
I−ID[0:2])のアドレスを有する場合には、そ
のポート−PMIは、このバス・サイクルの間、スレー
ブになる。
【0216】3  PA[0:2]  −−  (O/
T)  このアドレス・パリティ線は、ポート−PMI
がバス・マスタの時、そのポート−PMIによって出力
として駆動される。これらの線では奇数パリティを使用
する。PA[0]がADDR[02:09]を保護し、
PA[1]がADDR[10:16]を保護し、PA[
2]がADDR[17:25]を保護する。
【0217】4  BE[0:3]  −−  (I/
O)  このバイト・イネーブル(BE)信号は、ポー
ト−PMIがバス・マスタの時、そのポート−PMIに
よって駆動される。このPMIによって開始されたメモ
リ読取りサイクル中、すべての転送が32ビットの読出
しであるのでこの4つの信号がすべて駆動される。メモ
リへの書込みサイクルを部分的書込みにするという選択
肢があるが、ポート−PMIのバッファリングは、部分
ワード書込みの必要を除く。このため、すべてのPMI
マスタの書込みサイクル中に、すべての4本のバイト・
イネーブル線が駆動される。
【0218】1  BEP  −−  (O/T)  
このバイト・イネーブル・パリティ(BEP)線は、ポ
ート−PMIがバス・マスタの時、BE[0:3]の奇
数パリティで駆動される。
【0219】1  −BERR  −−  (I)  
このバス・エラー線は、GAMバス・エラー・モニタに
よって駆動される。任意のバス・サイクル中に−BER
Rが立てられるならば、現バス・サイクルがあれば打ち
切られ、BERRORビットは内部のSTATUS(状
況)レジスタ内にセットされる。このビットは、STA
TUSレジスタに書き込むことによってクリアされるこ
とができる。BERRORビットが立っていると常に、
PMIと通信フロント・エンド間でいかなるデータ移動
も行われず、通信フロント・エンドによって試みられる
転送は、打ち切られるかまたはフラッシュされる。ポー
ト−PMIが、バス・エラーのためにバス・トランザク
ションを打ち切ると、BABORTビットは内部のST
ATUSレジスタ内にセットされる。
【0220】32  DATA[00:31]  −−
  (I/O)  このGABのデータ・ピンは、ポー
ト−PMIがバス・マスタであり、サイクルが書込みサ
イクルであると駆動される。これらのピンは、−CMD
が立っているクロック・サイクル中のみ有効である。ポ
ート−PMIは、他のバス・マスタによって開始された
読取りサイクルに応答するバス・スレーブとして作動す
ると、−RESPONSEを駆動するクロック・サイク
ル中、GAB上のデータ・ピンを駆動する。
【0221】4  PD[0:3]  −−  (O/
T)  このGABデータ・パリティ・ピンは、GAB
データ・ピンが駆動されると常に、ポート−PMIによ
って駆動される。データ・パリティは奇数である。PD
[0]がDATA[00:07]を保護し、PD[1]
がDATA[08:15]を保護し、PD[2]がDA
TA[16:23]を保護し、PD[3]がDATA[
24:31]を保護する。
【0222】1  −GBUSY  −−  (I) 
 このGAMビジー(−GBUSY)信号は、GABを
要求するか否か、およびどのタイプのサイクルを開始す
るかを決定するために、PMIによって使用される。ポ
ート−PMIは、−GBUSYが立っている間は、新規
のGAB相互作用バス・サイクルを開始する試みはない
【0223】1  QSRC  −−  (I)  こ
の待ち行列状況レジスタ変化(QSRC)ピンは、ポー
ト−PMIの一部分によって監視される。この信号は、
待ち行列の状況が変化すると、GAMによって駆動され
る。
【0224】3  QA[0:2]  −−  (I)
  この待ち行列アドレス(QA)線も、GAMが待ち
行列状況ビットを更新すると、GAMによって駆動され
る。このポート−PMIは、QAビットとその内部のQ
ueue−Idレジスタとを比較する。QSRCが立っ
ている時にこれら2つの3ビットの値が一致するならば
、ポート−PMIは、Update_Shadow_Q
ueue_Status_Register(シャドウ
待ち行列状況レジスタ更新)サイクルを開始する。
【0225】1  −RV  −−  (O)  他の
バス・マスタが、あるポートのPMIの非同期インター
フェースからの読出しを開始すると、この読出しのアド
レスは、そのポート−PMIの非同期インターフェース
・アドレス・バッファに記憶され、そのポートのフロン
ト・エンドが、この非同期要求の通知を受ける。このフ
ロント・エンドが、その要求に解答するため、対応する
データを非同期インターフェース・データ・バッファに
書込むと、このポート−PMIは、応答有効(−RV)
を立てる。この指示は、他のバス・マスタが非同期イン
ターフェース・データ・バッファの内容を読み出すと、
クリアされる。より一般的には、−RVは、非同期イン
ターフェース・データ・バッファに書込まれるとセット
され、非同期インターフェース・データ・バッファから
読出されるとクリアされる。
【0226】1  −INT  −−  (O)  こ
のポート−PMIの割込み要求信号は、INTERRU
PT_MASK(割込みマスク)レジスタ内のビット群
とSTATUSレジスタ内のビット群の論理積の各ビッ
トの論理和から駆動される。
【0227】1  ABABV  −−  (I)  
この入力は、GAMによって駆動され、(立っていると
)非同期パケットが、PM内でそれらに割り当てられた
よりも大きな空間を占有することを指示する。この条件
が真であると、ポート−PMIは、Full_Flus
h(満杯フラッシュ)状況ビットの値に応じて、Asy
nchronous_Queue_Mask(非同期待
ち行列マスク)ビットがセットされている待ち行列に記
憶されているパケットをフラッシュするか、あるいはそ
の記憶を停止するかのいずれかである。
【0228】1  BELOW  −−  (I)  
この入力は、GAMによって駆動され、(立っている時
には)同期パケットが、PM内でそれらに割り当てられ
たよりも大きな空間を占有することを指示する。この条
件が真であると、ポート−PMIは、Full_Flu
sh状況ビットの値に応じて、Synchronous
_Queue_Mask(同期待ち行列マスク)ビット
がセットされている待ち行列に記憶されているはずのパ
ケットをフラッシュするか、あるいはその記憶を停止す
るかのいずれかである。
【0229】1  RESET  −−  (I)  
このピンは、ポート−PMIに、走行中の任意のトラン
ザクションを打ち切らせ、それ自体を電源投入時の状態
に完全にリセットさせる。すべての内部の状態機械はそ
のリセット状態に移行し、すべてのレジスタにはそのデ
フォルト値がロードされる。割込みマスク・レジスタは
クリアされ、STATUSレジスタのRESETビット
はセットされる。
【0230】7.4  PMI通信フロント・エンド・
インターフェース PMIの特定の実施態様は相違するけれども、PMIの
バッファリングと通信フロント・エンドの間のインター
フェースは、包括な形をとる。図11に示すこのインタ
ーフェースには、下記のための信号が含まれる。通信フ
ロント・エンドからPMにパケット・データを移動する
。PMから外部へ、通信フロント・エンドを介してパケ
ット・データを移動する。同期式と非同期式の両方のタ
イミング方式を使用して、通信フロント・エンド制御デ
ータを読み出し書き込みをする。通信フロント・エンド
からPに割込みを渡す。非同期事象データをGAMに書
き込む。
【0231】包括インターフェースのこれらの部分は、
下記の信号とレジスタから構成される。これらの説明は
、可能なインターフェース機能の全範囲を示す。特定の
通信フロント・エンドが、PMIの全ケイパブリティを
必要としないならば、信号と機能のフルセットを提供す
る必要はない。
【0232】入力パケット・データ  −−  パケッ
ト・データは、PMIを介して、8つの別々の制御チャ
ネルのどれかに到達する。制御チャネルは、PMへのパ
ケットの経路指定を処理する。パケットが完全に受信さ
れた後、このPMIは、このパケットをPMの待ち行列
に登録する。下記の信号は、通信フロント・エンドから
PMIへのパケット・データの転送を管理するのに使用
される。
【0233】32  IDATA[00:3]  −−
  (I)  この入力データは、パリティによって保
護される。これにより余分に4つの信号が追加される。 入力データ経路は、論理的には4バイト幅であるが、物
理的には1、2または4バイト幅でよい。ワード内のこ
れらのバイトの順序は、ハードウェア制御下で変更され
る(バイト順序レジスタの説明を参照されたい)。
【0234】4  IDATAP[0:3]  −− 
 (I)  この入力データ・パリティは、対応するデ
ータ・バイトと共に、記憶されPMバスに渡される。
【0235】1  ID_READY  −−  (O
)  この入力データ・レディ信号は、バッファリング
空間の可用性を通信フロント・エンドに通知するのに使
用される。GAM信号ABABVおよびBELOWはこ
の信号を発生するため監視される。データを転送するに
は、この信号が立っていなければならない。このレディ
信号は、ID_CIDの変化後1サイクル、対応するチ
ャネルに対して正しく立てられる。
【0236】1  ID_CLOCK  −−  (I
)  通信フロント・エンドのコントローラが、この入
力データ・クロックを供給する。このクロックは、デー
タをPMIの内部バッファにラッチするためにPMIに
よって使用される。
【0237】3  ID_CID[0:2]  −− 
 (I)  この入力データ・チャネル識別子は、どの
論理チャネルが現データ・バーストを経路指定すべきか
を通信するのに使用される。パケットを多重化するため
には、各並列パケットは、異なる論理チャネルの制御下
になければならない。
【0238】1  ID_QSELV  −−  (I
)  この入力データ待ち行列選択子有効信号の説明に
ついては、下記を参照されたい。
【0239】8  ID_QSEL[0:7]  −−
  (I)  この入力データ待ち行列セレクタは、I
D_QSELV信号が立っているサイクル中読み出され
る。待ち行列セレクタは、入力待ち行列マップをインデ
クシングして、現チャネル上の現パケットを、完了時に
どの待ち行列に記憶すべきであるかを決定するのに使用
される。GAM内には256の待ち行列があり、可能な
ID_QSEL信号の組合せは256通りあるけれども
、1対1のマッピングは不要である。しばしば、ID_
QID信号の多くの組合せが、同じ待ち行列にマッピン
グされる。このPは、アダプタのIPL時にマッピング
・レジスタをセットアップする。入力待ち行列マップは
、電源投入時リセット中に0にされる。このアーキテク
チャのいくつかの実施態様では、8本未満のセレクタ線
を使用する。
【0240】1  ID_LAST  −−  (I)
  この入力データの最終信号は、現在転送中のワード
が、あるパケットの最後のワードであることを指示する
【0241】4  ID_BV[0:3]  −−  
(I)  この入力データ・バイト有効信号は、通信フ
ロント・エンドがワード位置合せされていないパケット
を供給する場合に使用されることができる。このPMI
は、PMの隣接する記憶位置を利用するためにワードを
再パックする。
【0242】1  ID_FLUSH  −−  (I
)  現パケットが記憶されるべきでないと通信フロン
ト・エンドが決定するならば、その通信フロント・エン
ドは、ID_FLUSH信号を立てることができる。こ
れによって現パケットの記憶が停止され、PMメモリが
使用されるならば、このPMIは、GAMのパケット・
フラッシュ・コマンドを使用するそのメモリを解放する
【0243】1  ID_ABORT  −−  (O
)  PMIは、パケット・コロンの受信中に何らかの
エラー(GABエラー、PMバッファ不足、またはパリ
ティ・エラー)を検出するならば、ID_ABORT信
号を立て、そのパケットをフラッシュする。通信フロン
ト・エンドは、その入力チャネル上でID_LASTを
立て、その後、次の新しいパケットを用いて、そのチャ
ネル上で伝送を再開すべきである。
【0244】図12は、入力チャネルとそれらが供給す
る待ち行列の関係を概略的に示す図である。パケットは
、PMIがそのパケット用の待ち行列識別子を伴うEN
Q_PKTコマンドをGAMに送るまで、PMに待ち行
列登録されない。各チャネルは、異なるパケットのデー
タフローを制御している。
【0245】出力パケット・データ。入力データ経路が
、個々のパケットを処理するための制御チャネルとパケ
ットのグループを保持するための待ち行列を有するのと
全く同様に、出力データ経路も、待ち行列とチャネルを
使用する。各PMIは、待ち行列群にサービスして、そ
れらのグループからパケットを取り除き、その内部の制
御チャネルを使用してこれらのパケットから通信フロン
ト・エンドへデータを転送する。
【0246】このPMIは、待ち行列をチャネルと関連
づけ、制御チャネルへデータを先取りして、通信フロン
ト・エンドが、最小の待ち時間で使用可能であるパケッ
ト・データを有する。最も簡単な形では、チャネルに対
する待ち行列の関連は、1対1マッピングである。こう
することにより、通信フロント・エンドが、待ち行列か
らのパケットの順序付けに対して完全な制御を有するこ
とができる。より複雑な形のマッピングも、このアーキ
テクチャ内で潜在的に使用可能である。
【0247】PMIの待ち行列状況レジスタは、このP
MIがサービスしている待ち行列の1つの待ち行列状況
がGAMで変化すると、更新される。GAMが、QSR
C信号を使ってこの変化を指示し、その後このPMIは
そのシャドウ・コピーを更新する。更新されたセットは
、潜在的には待ち行列セット全体と同じ大きさ(256
)である。実際の実施態様では、多分、その個数を量子
化された32個の待ち行列の範囲に制限して、その範囲
の待ち行列の待ち行列状況が、GAMからの1回のバス
読出しで更新されるようにする。
【0248】待ち行列状況レジスタが出力制御チャネル
の数よりも大きいと仮定すると、待ち行列をチャネルに
割り当てるためにマッピングが必要である。PMIの特
定の実施態様では、所望のどのようなマッピングを使用
してもよい。この包括アーキテクチャでは、各制御チャ
ネルが、ラウンドロビン方式または修正優先順位方式の
いずれかでその複数の待ち行列にサービスする任意のマ
ッピングが可能である。修正優先順位方式は、あるチャ
ネルがサービスしている待ち行列に登録される最初のパ
ケットが、そのチャネルに先取りされるというものであ
る。このチャネルが空き状態であると、チャネルは、優
先順位が最高の待ち行列から次のパケットを取る。これ
は、特別優先のない優先順位である。
【0249】出力制御チャネルへの待ち行列のマッピン
グの例は、図13に示されている。この例では、待ち行
列(ベース+)0がチャネル0によってサービスされ、
待ち行列(ベース+)1がチャネル1とチャネル2によ
ってサービスされ、待ち行列2と待ち行列4〜N−1は
サービスされず(他のPMIのサービスを受けてもよい
)、待ち行列(ベース+)3がチャネル3とチャネル4
によってサービスされ、待ち行列Nがチャネル5、6お
よび7によってサービスされることに留意されたい。
【0250】待ち行列からチャネルへの1対1マッピン
グを使用することにより、通信フロント・エンドは、所
望の場合、特別優先を伴う優先順位を実施できる。
【0251】下記の信号が、出力パケット・データの実
際の転送に使用される。
【0252】8  OCSR[0:7]  −−  (
O)  この出力チャネル状況レジスタは、実際に通信
フロント・エンド用の関連情報を有するレジスタである
。FIFOステージング・バッファがその待ち行列のた
めに少なくとも半分満たされている時か、あるいは最終
バイトを受信されているがチャネルから送信されないと
、このチャネル状況ビットはチャネルのためにセットさ
れる。この状況情報は、フロント・エンドに対する割込
みなしに実際にデータを供給できる待ち行列に反映する
ため、シャドウ待ち行列状況レジスタよりむしろ通信フ
ロント・エンドによって使用される。
【0253】32  ODATA[00:31]  −
−  (O)  これは、出力データ・バスである。こ
れは、論理的には32ビット幅であり、各クロック・サ
イクルごとに新規の32ビット・ワードが供給されるこ
とができるが、実施されるバスは、パリティを含むこと
ができ、実施されるインターフェースは、同じ8本(9
本)または16本(18本)の信号線上で順番に多重化
されるバイトを有する。このデータは、このインターフ
ェースからOD_CLOCKによってクロック・アウト
され、OD_READY線が立っている時は常に、有効
である。
【0254】4  ODATAP[0:3]  −− 
 (O)  出力データは、パリティに  よって保護
される。このパリティは、データがステージングFIF
Oに挿入される際にPMバスで検査されるが、データが
PMIから出力される際には検査されない。
【0255】1  OD_CLOCK  −−  (I
)  前述したように、OD_CLOCKは、包括PM
Iから通信フロント・エンド制御論理回路へデータを移
動させる。新規データが使用可能ならば、そのデータが
、OD_DATAレジスタに移動され、次のクロック・
サイクル中、OD_READY線が立てられる。
【0256】3  OD_CR[0:2]  −−  
(I)  この出力データ・チャネル要求は、通信フロ
ント・エンド論理回路が次のデータ・バーストをそこか
ら受け取りたいチャネルを指示する。
【0257】1  OD_READY  −−  (O
)  前述したように、OD_DATAレジスタの出力
で有効データがあると、OD_READY信号が立てら
れる。この信号は、OD_CR信号の変化後1クロック
・サイクルに立てられる。
【0258】1  OD_LAST  −−  (O)
  この最終出力データは、パケット・データの最終バ
イトの転送中に立てられる。
【0259】4  OD_BV[0:3]  −−  
(O)  この出力データ・バイトの有効は、32ビッ
トにパディングされていないパケットを有する32ビッ
トまたは16ビットのインターフェース上で有用である
。この信号は、現出力データ・バイトのどれが有効であ
るかを指示する。
【0260】1  OD_FLUSH  −−  (O
)  パケット転送中にGABエラーが発生するならば
、このPMIは、OD_FLUSH信号を立て、現パケ
ットの送信を停止する。このPMIは、Pによってリセ
ットされるまで、それ以上パケットを送信しない。
【0261】1  OD_ABORT  −−  (I
)  パケットを送信できないことを通信フロント・エ
ンドが検出するならば、その通信フロント・エンドは、
この出力打切り信号を立てることができる。このPMI
は、パケットの送信を停止し、出力打切り状況ビットを
セットし、このチャネルをロックする。このPMIは、
このパケットの待ち行列解除を行わない。これはPによ
って行わなければならない。
【0262】同期レジスタ・インターフェース。応答の
待ち時間がバス・サイクルの上限以下であることを通信
フロント・エンドが保証することができると同期レジス
タ・インターフェースが使用される。応答が上限に近く
なる時でさえ、すなわち転送データがほとんどない時、
あるいは待ち時間が不確定であることがわかっている時
さえ、非同期インターフェースが使用される追加の設計
理由がある。この同期インターフェースは、通信フロン
ト・エンド・レジスタに非常に簡単なソフトウェア・イ
ンターフェースを提供する。このPは、単にこのレジス
タに読み出しまたは書き込む。
【0263】16  SYNC_ADDR[00:15
]  −−  (O)  この同期アドレスは、GAB
アドレス・バス・ビット[02:17]から構成される
。これらのビットは、通信フロント・エンド論理回路に
使用可能である。
【0264】32  SYNC_ODATA[00:3
1]  −−  (O)  この同期出力データは、G
ABデータ・バス・ビット[00:31]から構成され
る。これらのビットは、通信フロント・エンド論理回路
に使用可能である。
【0265】32  SYNC_IDATA[00:3
1]  −−  (I)  この同期入力データは、通
信フロント・エンド論理回路から戻される。このPMI
は、GABのDATA線[00:31]上でこのデータ
を多重化し、ラッチし、駆動する。いくつかの実施態様
では、駆動されるデータ線が32本未満のことがあり得
る。これらの実施態様では、このPMIは、残りのデー
タ線を0でパディングする。
【0266】1  SYNC_REQ  −−  (O
)  このPMIは、その同期インターフェースに対す
るバス要求を認識すると、この同期要求を発生する。
【0267】1  SYNC_RESP  −−  (
I)  通信フロント・エンドは、同期データが有効で
あると、この同期応答信号を発生する。同期データは、
全同期応答クロック・サイクル中有効でなければならな
い。同期読出しサイクル中、この同期応答信号は、同期
データがもはや必要でないことを指示する。
【0268】1  SYNC_RW  −−  (O)
  この同期読出し/書込み信号は、GABのR/−W
信号のシャドウである。
【0269】非同期レジスタ・インターフェース。前述
したように、非同期インターフェースは、応答の待ち時
間が未知の時に使用される。内部の応答有効レジスタは
、Pサポート装置との通信に使用される。非同期要求が
Pによって行われると、応答有効レジスタがリセットさ
れ、通信フロント・エンド論理回路が、保留中の非同期
要求があるとの通知を受ける。非同期データは、Asy
nchronous_Data(非同期データ)レジス
タのPに使用可能である。非同期転送に使用される信号
を以下に示す。
【0270】16  ASYNC_ADDR[00:1
5]  −−  (O)  この非同期アドレスは、G
ABアドレス・バス・ビット[02:17]からラッチ
される。これらのビットは、次のGAB非同期要求がこ
のPMIに宛てられるまで、通信フロント・エンド論理
回路に使用可能である。
【0271】32  ASYNC_ODATA[00:
31]  −−  (O)  この非同期出力データ・
ラッチは、GABデータ・バス・ビット[00:31]
から構成される。非同期の書込み時には、これらのビッ
トは、次のGAB非同期要求がこのPMIに宛てられる
まで、通信フロント・エンド論理回路に使用可能である
【0272】1  ASYNC_REQ  −−  (
O)  このPMIは、その非同期インターフェースに
対するバス要求を認識すると、この非同期要求を発生す
る。この信号は、通信フロント・エンドが、ASYNC
_RESPを立てることによってこの要求を読み出した
ことを示すまでラッチされる。
【0273】1  ASYNC_RW  −−  (O
)  この非同期読出し/書込み信号は、非同期要求を
開始したサイクルからラッチされるGABのR/−W信
号のシャドウである。
【0274】32  ASYNC_IDATA[00:
31]  −−  (I)  この非同期入力データは
、通信フロント・エンド論理回路から戻される。このP
MIは、このデータをラッチし、このPMIに宛てられ
る次のGAB非同期読出しサイクル中、このデータをG
ABのDATA線[00:31]上に駆動する。
【0275】1  ASYNC_RESP  −−  
(I)  通信フロント・エンドは、非同期入力データ
が有効であると、この非同期応答信号を発生する。非同
期データは、全非同期応答クロック・サイクル中有効で
なければならない。通信フロント・エンドがこの信号を
立てると、PMIが応答有効信号をセットする。このP
MIは、このPMIに宛てられる次のGAB非同期読出
しサイクル中、「応答有効」信号をリセットする。
【0276】事象インターフェース。通信フロント・エ
ンドは、その後GAMに転送されなければならない事象
データを、非同期に生成する機会を有する。事象データ
用の通信フロント・エンド・インターフェースは、かな
り簡単である。32ビットのラッチが、保留中の事象デ
ータを保持する。単一ビットのラッチが、事象ラッチが
空であるか満杯であるかを指示する。特定の通信フロン
ト・エンドは、事象伝送用の別々のインターフェースを
提供してもよく、また事象インターフェースは、レジス
タ・インターフェースの一部であってよい。事象インタ
ーフェース内で使用される信号を以下に示す。
【0277】29  EVENT_DATA[00:2
8]  −−  (I)  事象データ・ラッチは、P
MIが事象データをGAMに書き込むことができるまで
、その事象データを保持する。GAMに書きこまれた事
象データの3つの高位ビットは、PMI−IDレジスタ
から取られる。これによって、事象待ち行列のプロセッ
サが、事象データの送出元を識別することができる。
【0278】1  −WR_EVENT  −−  (
I)  通信フロント・エンドがこの事象書込み信号を
立てる時、事象データは事象データ・レジスタにストロ
ーブされ、事象保留レジスタがセットされる。
【0279】1  EVENT_PENDING  −
−  (O)  事象保留レジスタは、データが事象デ
ータ・レジスタにストローブされるとセットされ、PM
IがそのデータをGAMに書き込むことができるとリセ
ットされる。この通信フロント・エンドは、この出力を
使用して、通信フロント・エンドによる事象レジスタの
使用をゲーティングする。
【0280】割込みインターフェース。状況マスク・レ
ジスタでマスクされない状況ビットは、PMIからの割
込み線を駆動する。通信フロント・エンドは、状況ビッ
トを直接駆動することができる。
【0281】1  FE_INT  −−  (O) 
 前述したように、このフロント・エンド割込み信号は
、状況レジスタで立っているビットが、FRONT_E
ND_INTERRUPT_MASK(フロント・エン
ド割込みマスク)で立っているビットに対応する時は常
に立てられる。
【0282】レジスタFRONT_END_INTER
RUPT_MASK  −−  (I)このフロント・
エンド割込みマスクは、Pまたはフロント・エンド論理
回路によってセットされることができる。通信フロント
・エンド論理回路は、下記のレジスタ・インターフェー
スを使用して、このレジスタをセットする。
【0283】1  CFE_INT  −−  (I)
  通信フロント・エンド(CFE)は、PMI割込み
状況レジスタに反映された単一の信号を発生し、割込み
マスク・レジスタの設定に応じて、通信フロント・エン
ドまたはPのいずれかに割込みを発生させるように使用
される。 「PMI割込み状況レジスタ」で、この機構について説
明する。
【0284】16  CFE_STATUS[00:1
5]  −−  (I)  通信フロント・エンドは、
PMI割込み状況レジスタに反映される状況信号群をも
発生し、割込みマスク・レジスタの設定に応じて、通信
フロント・エンドまたはPのいずれかに割込みを発生さ
せるように使用される。同様に「PMI割込み状況レジ
スタ」で、この機構について説明する。
【0285】レジスタ・インターフェース。通信フロン
ト・エンドは、Pにアクセス可能であるPMIのどのレ
ジスタに対しても、読出しまたは書込みを行う。レジス
タに対するアクセスは、PからのLOCK(ロック)信
号と通信フロント・エンドからの原子的信号を使って、
インターロックされる。包括レジスタとそれらの機能の
リストは、下記に述べる。
【0286】9  REG_ADDR[0:8]  −
−  (I)  このレジスタ・アドレス線は、読出し
または書込まれるようにこのレジスタを選択するために
使用される。
【0287】1  REG_RW  −−  (I) 
 “ハイ”状態は読出し要求を示し、“ロー”状態は書
込み要求を示す。
【0288】1  REG_REQ  −−  (I)
  通信フロント・エンドは、レジスタ動作を開始する
ため、この信号を立てる。
【0289】1  REG_ACK  −−  (O)
  このPMIは、データがレジスタに読み出されたか
またはデータがレジスタからの読出しに使用可能である
かのいずれかを指示するためにこの信号を立てる。
【0290】32  REG_IDATA[00:31
]  −−  (I)  このレジスタ入力データは、
これらの線から読み出される。必要とされるビット数だ
けが読み出される。
【0291】32  REG_ODATA[00:31
]  −−  (O)  このレジスタ・データは、こ
れらの線から読み出されることができる。レジスタにあ
るビット数だけが有効である。
【0292】1  REG_LOCK  −−  (I
)  この信号は、読取り/修正/書込みサイクルが通
信フロント・エンドで生じることを示す。この信号は、
通信フロント・エンド・プロセッサがPMIの内部レジ
スタの値を原子的に修正しようとする時に、この通信フ
ロント・エンド・プロセッサによって駆動されるべきで
ある。同様の信号が、Pによって発生される(GAB信
号LOCK)。PMIロック状態機械は、読取り/修正
/書込みレジスタ・サイクルが原子的であることを保証
する。これにより、PMIレジスタを使って、通信フロ
ント・エンドと包括高帯域幅アダプタ・システムのP間
での信頼性のある通信を行うことができる。
【0293】7.5  PMIの内部レジスタ包括PM
Iは、ここで説明する所定のレジスタ・セットを有する
。PMIの装置特有の実施態様が、追加のレジスタを有
し、ここで説明したレジスタの多くは、適用できないこ
ともある。
【0294】7.5.1  PMI割込み状況レジスタ
用途:この割込みレジスタは、ある事象が発生したか、
または通信フロント・エンドまたはPのいずれかが知っ
ているべき状態が存在するかのいずれかを通信フロント
・エンドまたはPに通知するために使用される。このレ
ジスタは、実際割込み信号を発生するためにGAB割込
みマスク・レジスタおよびCFE割込みマスク・レジス
タと共に使用される。 長さ:32ビット。 タイプ:読取り/部分書込み(個々のビットの説明を参
照されたい。) 説明: ビット0    RESPONSE_VALID  非
同期データ・レジスタが有効データを含むことを示す。 非同期データ・レジスタを読み出すと、このビットがク
リアされる。 ビット1    FRONT_END_INTERRU
PT  通信フロント・エンドが割込みを発生している
ことを示す。通信フロント・エンドはこのビットをクリ
アしなければならない。 ビット2    BERROR  このPMIが、リセ
ットされずにバス・エラーを監視したことを示す。これ
の副作用は、PMIがパケット・データを全く転送しな
いことである。このビットは、直接クリアされなければ
ならない。 ビット3    BABORT  パリティ・エラーま
たはタイミング・エラーのため、このPMIが、バス・
トランザクションを打ち切らなければならなくなったこ
とを示す。このビットは、直接クリアしなければならな
い。 ビット4    RESET  このビットがセットさ
れると、PMIは、電源投入時リセットを実行し、その
後、このビットをクリアする。 ビット5    OD_ABORT  PMIが、リセ
ットされずに出力データ打切りを受け取ったことを示す
。このビットは、直接クリアされなければならない。 ビット6    ID_ABORT  このPMIが、
バッファ空間の不足のため、通信フロント・エンドに対
して入力データ打切りを発生しなければならなくなった
ことを示す。このビットは、直接クリアされなければな
らない。 ビット7    OD_FLUSH  このPMIが、
バス・エラー状態のため、通信フロント・エンドに対し
て出力データ・フラッシュを発生しなければならなくな
ったことを示す。このビットは、直接クリアされなけれ
ばならない。 ビット8    ID_FLUSH  このPMIが、
通信フロント・エンドから入力データ・フラッシュを受
け取ったことを示す。このビットは、直接クリアされな
ければならない。 ビット9    EVENT_REGISTER_FU
LL  事象レジスタに何かが書き込まれていることを
示す。 これは、そのレジスタ内に現在有効なものが何かあるこ
とを意味するものではない。これは、このビットがリセ
ットされた最後に、通信フロント・エンドが事象を発生
したか否かを判定するために使用されることができる。 このビットは、直接クリアされなければならない。 ビット10  GAB_INT  これがセットされて
いる時、GABのPに対して割込みを発生することがで
きる。このビットによって割込みを発生するためには、
このGAB割込みマスクがこのビットをイネーブルしな
ければならない。 ビット11  CFE_INT  これがセットされて
いる時、通信フロント・エンドに対して割込みを発生す
ることができる。このビットによって割込みを発生する
ためには、CFE割込みマスクがこのビットをイネーブ
ルしなければならない。 ビット12:15  予備  読出し時には無視される
べきであり、割込み状況レジスタに書き込む時には前の
値に復元しなければならない。Pのビット・セット動作
とビット・クリア動作を使用することで、これを行うこ
とができる。 ビット16:31  CFE_Specific  特
定の通信フロント・エンドによって特定される。これら
のビットは、割込みを発生するために使用される状況ビ
ットである。これらの状況ビットの説明は、前述した。 電源投入時リセット値:  通信フロント・エンドによ
り、16進数‘00000000’であるべきである。
【0295】7.5.2  GAB割込みマスク用途:
Pに対して発生される割込みを制限する。 長さ:32ビット。 タイプ:読出し/書込み 説明:このレジスタは、割込み状況レジスタと共に使用
され、どの割込み状況ビットが実際にPに割り込むかを
決定する。マスク・レジスタのビットと状況レジスタの
ビットは共にPに対して割込みを発生されるように、セ
ットされなければならない。 電源投入時リセット値:16進数‘0000  000
0’
【0296】7.5.3  CFE_Interrup
t_Mask 用途:通信フロント・エンドに対して発生される割込み
を制限する。 長さ:32ビット。 タイプ:読出し/書込み 説明:このレジスタは、割込み状況レジスタと共に使用
され、どの割込み状況ビットが実際に通信フロント・エ
ンドに割り込むかを決定する。マスク・レジスタのビッ
トと状況レジスタのビットは共に割込みがこのCFEに
発生されるようにセットされなければならない。 電源投入時リセット値:16進数‘0000  000
0’
【0297】7.5.4  Queue−Id用途:こ
のPMIのシャドウ待ち行列状況レジスタのベース・ア
ドレスを決定する。 長さ:3ビット。 タイプ:読出し/書込み 説明:このレジスタの設定は、GAMによって発生され
るQA[0:2]信号を監視するために使用される。待
ち行列状況レジスタ変化信号が立っており、このレジス
タとQA信号が一致すると、このPMIは、Queue
−Idレジスタを使用して要求アドレスを発生すること
により、シャドウ待ち行列状況レジスタの更新サイクル
を開始する。 電源投入時リセット値:SLOT_ID[0:2]
【0
298】7.5.5  PMI−ID用途:どのバス・
アドレスのスレーブとして働くか決定するのに使用され
る。 長さ:3ビット。 タイプ:読出し/書込み 説明:このレジスタを使用して、PMIは他のPMIと
置換されることができる。このレジスタは、GAMトラ
ンザクションの要求元のアドレスを発生するために使用
される。 電源投入時リセット値:SLOT_ID[0:2]
【0
299】7.5.6  Queue_MAP_Inbo
und[0:255] 用途:通信フロント・エンドの機能待ち行列アドレッシ
ングとGABの物理待ち行列アドレス間のマッピング。 長さ:256×10ビット。 タイプ:読出し/書込み 説明:各エントリは、10ビット長である。ビット[0
:7]は、待ち行列のアドレスであり、ビット8は、セ
ットされるとこれが非同期待ち行列であることを指示し
、ビット9は、セットされるとこれが同期待ち行列であ
ることを指示する。 電源投入時リセット値:全テーブルに対して16進数‘
000’
【0300】7.5.7  Bus_Burst_Le
ngth 用途:バス・バーストのワードの数を制限する。 長さ:8ビット。 タイプ:読出し/書込み 説明:これは、各バス・マスタ・サイクルの開始時にセ
ットされるダウン・カウンタの初期値として使用される
。各ワードが転送されると、このカウンタが減分される
。このカウンタが0に達すると、このサイクルが終了す
る。電源投入時リセット値:8
【0301】7.5.8  Bus_Burst_Ti
me 用途:このPMIがバス・マスタ権を保持しようとする
バス・サイクル数を制限する。 長さ:8ビット。 タイプ:読出し/書込み 説明:これは、各バス・マスタ・サイクルの開始時にセ
ットされるダウン・カウンタの初期値として使用される
。このカウンタは、各バス・クロック・サイクルごとに
減分される。このカウンタが0に達すると、このサイク
ルが終了する。 電源投入時リセット値:16
【0302】7.5.9  Shadow_Queue
_Status_Register(シャドウ待ち行列
状況レジスタ) 用途:どの待ち行列がパケットを有しているかをPMI
に伝える。 長さ:32ビット。 タイプ:読出し/書込み 説明:このレジスタは、GAMに記憶されるデータから
、PMIによって自動的にロードされる。 電源投入時リセット値:16進数‘0000  000
0’
【0303】7.5.10  Staged_Chan
nel_Status_Register用途:このレ
ジスタは、どのチャネルが出力転送されるのかの準備が
できているデータを有するかを決定するために、通信フ
ロント・エンドによって使用される。 長さ:8ビット。 タイプ:読出し/書込み 説明:各ビットは、対応するチャネルが少なくとも半分
満たされているか否かを示す。 電源投入時リセット値:16進数‘00’
【0304】
7.5.11  非同期インターフェース・アドレス・
バッファ 用途:非同期要求のアドレスを保持するレジスタ。 長さ:16ビット。 タイプ:読出し/書込み 説明: 電源投入時リセット値:16進数‘0000’
【030
5】7.5.12  非同期インターフェース・データ
・バッファ 用途:非同期インターフェースの一部である、両方向デ
ータ・バッファ。 長さ:32ビット。 タイプ:読出し/書込み 説明: 電源投入時リセット値:16進数‘0000  000
0’
【0306】7.5.13  入力バイト順序用途:3
2ビット・ワードがPMに向かって入力に移動する際の
、32ビット・ワードのバイト順序を決定するのに使用
される。 長さ:16ビット。 タイプ:読出し/書込み 説明:各4ビットが、対応するバイトのソースを決定す
る。電源投入時リセット値は、再順序付けされない。 電源投入時リセット値:16進数‘8421’
【030
7】7.5.14  出力バイト順序用途:32ビット
・ワードが通信フロント・エンドに向かって出力に移動
する際に、32ビット・ワードのバイト順序を決定する
のに使用される。 長さ:16ビット。 タイプ:読出し/書込み 説明:各4ビットが、対応するバイトのソースを決定す
る。電源投入時リセット値は、再順序付けされない。 電源投入時リセット値:16進数‘8421’
【030
8】7.5.15  入力メモリ・ベース・アドレス 用途:パケット記憶またはPローカル記憶へのアクセス
のためにPMIによるアドレスの生成のために、GAM
をバイパスするのに使用される。 長さ:24ビット。 タイプ:読出し/書込み 説明:入力メモリ転送カウント・レジスタに非ゼロのカ
ウントがあるならば、このレジスタは、チャネル0で受
信されるデータの記憶アドレスを発生するのに使用され
る。このレジスタ値は、各使用後に増分される。 電源投入時リセット値:16進数‘00  0000’
【0309】7.5.16  入力メモリ転送カウント
用途:パケット記憶またはPローカル記憶へのアクセス
のためにPMIによるアドレスの生成のために、GAM
をバイパスするのに使用される。 長さ:16ビット。 タイプ:読出し/書込み 説明:このカウント・レジスタは、入力メモリ・ベース
・アドレス・レジスタによって発生される増分式アドレ
スにチャネル0から転送するワード(32ビット)数を
決定するために使用される。このカウント・レジスタは
、各使用後に減分される。このカウントが0であると、
チャネル0は通常動作する。 電源投入時リセット値:16進数‘0000’
【031
0】7.5.17  出力メモリ・ベース・アドレス 用途:データ送信のためPMIによるアドレス発生のた
めに、GAMをバイパスするのに使用される。 長さ:24ビット。 タイプ:読出し/書込み 説明:出力メモリ転送カウント・レジスタに非ゼロのカ
ウントがあるならば、このレジスタは、チャネル0で送
信されるべきデータの記憶アドレスを発生するのに使用
される。このレジスタ値は、各使用後に増分される。 電源投入時リセット値:16進数‘00  0000’
【0311】7.5.18  出力メモリ転送カウント
用途:データ送信のためPMIによるアドレス発生のた
めに、GAMをバイパスするのに使用される。 長さ:16ビット。 タイプ:読出し/書込み 説明:このカウント・レジスタは、出力メモリ・ベース
・アドレス・レジスタによって発生される増分式アドレ
スからチャネル0に転送されるワード(32ビット)数
を決定するために使用される。このカウント・レジスタ
は、各使用後に減分される。このカウントが0であると
、チャネル0は正常動作する。 電源投入時リセット値:16進数‘0000’
【031
2】7.6  PMIのエラー動作とリセット動作 これらの動作は、前述の通りである。電源投入時リセッ
ト(POR)時には、IDレジスタ群が再ロードされる
。エラー時には、バス・サイクルが打ち切られ、通信フ
ロント・エンドの動作が打ち切られる。このPは、BE
RRORビットをクリアすることによって、PMIを再
起動する必要がある。この通信フロント・エンド・レジ
スタ・インターフェースは、作動したままである。これ
によって、PMIのもう一方の側のプロセッサがPMI
をリセットできるようになり、ネットワークIPL動作
が可能になる。
【0313】8.0  プロセッサ・サブシステム一実
施態様では、この包括高帯域幅アダプタのプロセッサ・
サブシステム(P)は、インテルの80386プロセッ
サを中心に構築される。この80386は、マルチタス
ク動作のサポート、メモリ管理、パイプライン式アーキ
テクチャ、アドレス変換キャッシュおよび高速バス・イ
ンターフェースが組み込まれている32ビットの高性能
プロセッサである。これは、最大4ギガバイトの物理メ
モリ(32本のアドレス線)にアクセスすることができ
る。
【0314】80386のほかに、実施されるプロセッ
サ・サブシステムは、下記の構成要素からなる。 ローカルRAMとRAMコントローラ ROS/EEROS P補助論理回路 包括アダプタ・バス・アイソレータ GAMローカル・バス・アイソレータ
【0315】8.1  ローカルRAMとRAMコント
ローラ プロセッサのローカルRAMは、このPのオペレーティ
ング・システム・ソフトウェア、通信コード、およびコ
ード即値制御データのための記憶を提供する。ローカル
RAMは、スタティックRAM(SRAM)またはダイ
ナミックRAM(DRAM)のいずれかで実施されるこ
とができる。このローカルRAMがSRAMで実施され
るならば、いかなる機能もRAMコントローラによって
実行される必要がない。一方、DRAMが使用されるな
らば、RAMコントローラが下記の機能を実行する必要
がある。 ダイナミック・メモリ・リフレッシュ ECC生成/訂正/検査 行アドレスと列アドレスの制御選択 Pの命令キャッシュ・バッファ(必要ならば)ローカル
RAMのサイズは、アダプタ構成とコード記憶要件に基
づいて決定される。
【0316】8.2  ROS/EEROSこの包括高
帯域幅アダプタが電源投入されると、アダプタのPが、
電源投入時手順を開始する。この電源投入時手順は、最
終的にアダプタを、「電源投入」状態から、ハードウェ
ア・エラーが検出されない場合には「作動」状態に、1
つまたは複数のハードウェア・エラーが検出された場合
には「エラー回復」状態にする一連の処理である。アダ
プタの電源投入時手順は、下記の処理を含んでいる。 電源投入時自己試験を実行する Pのサブシステムを初期設定する このPMを初期設定する このGAMを初期設定する PMIおよびアダプタ・ポートを初期設定する付属ホス
トとの接続を確立する 付属ネットワーク・サーバとの接続を確立するアダプタ
構成を報告する アダプタ・オペレーティング・コードのロードを開始す
る アダプタ・オペレーティング・コードを初期設定する検
出されたアダプタ・エラー(存在するなら)を報告する
【0317】アダプタの電源投入時手順に不可欠なすべ
てのPコードは、不揮発性メモリすなわちROSまたは
EEROSに記憶されてなければならない。さらに、R
OSまたはEEROSはまた、48ビットLANアドレ
ス、アダプタの部品番号およびアダプタの通し番号のよ
うな基本的なアダプタ必須情報を記憶するためにも使用
されることができる。
【0318】この不揮発性記憶の実際のサイズは、異な
るアダプタ初期設定要件に対して変えることができる。 しかしながら、このROSまたはEEROSは、最高位
のPのアドレス空間に配置されなければならない。なぜ
ならば、電源投入時リセットの間、この80386は、
その実行を16進アドレス‘FFFFFFF0’から開
始するからである。
【0319】8.3  Pの補助論理回路ローカルRA
MおよびROS/EEROSに加えて、このPは、その
動作要件をサポートするため、下記の補助回路を有する
必要がある。
【0320】ソフトウェア・プログラム可能タイマPの
補助回路でサポートされる必要がある2つのソフトウェ
ア・プログラム可能タイマがある。
【0321】ソフトウェア・タイマ・ティックこのタイ
マ・ティックは、タスクをスケジューリングし、通信コ
ードにタイマ・サービスを提供するために、アダプタの
オペレーティング・システム・コードによって使用され
る基本時間単位である。このティック間隔は、アダプタ
のオペレーティング・システム・コードによってプログ
ラム可能であり、タイマが満了すると、マスク可能割込
みがPに対して発生され、その後、タイマは自動的に再
起動される。
【0322】このタイマは、100マイクロ秒の細分を
サポートできる。電源投入時リセット中、このタイマは
0にセットされ、アダプタ・コードによって最初に初期
設定されるまで、いかなる割込みも発生しない。
【0323】ソフトウェア監視タイマ このタイマは、Pによってプログラム可能であり、アダ
プタ電源投入時手順中に予め規定された値にセットされ
る。このタイマは、満了前に周期的にPコードによって
リセットされることが期待される。このタイマが満了す
るならば、マスク不能割込みがPに対して発生され、可
能なハング状態からこのコードを解放する。
【0324】このタイマは、1ミリ秒の細分をサポート
できる。電源投入時リセット中、このタイマは0にセッ
トされ、アダプタ・コードによって最初に初期設定され
るまで、いかなる割込みも発生しない。
【0325】ハードウェア監視タイマ ハードウェア監視タイマは、可能なハング状態からアダ
プタを解放するようにされている。この監視タイマは、
80386の−ADS(アドレス状況)信号がアクティ
ブになった時に起動し、80386の−READY信号
がアクティブになった時に停止する。アダプタのハード
ウェア・エラーがあるか、または、アダプタ・コードが
存在しない位置をアドレス指定しようとすると、−RE
ADY信号が決してアクティブにならず、このハードウ
ェア監視タイマは満了する。このタイマが満了すると、
マスク不能割込みがPに対して直ちに発生される。ハー
ドウェア監視タイマのタイマの細分性は、1マイクロ秒
程度とする。このタイマは、プログラム可能間隔を有す
る状態で実施される。電源投入時リセット中、このタイ
マは一定間隔にデフォルトされ、この間隔は、後でアダ
プタ・コードによって変更されることができる。このタ
イマの典型的な大きさは、10マイクロ秒程度である。
【0326】汎用タイム・クロック 上述のタイマ・サポートすべてに加えて、1マイクロ秒
の細分を有する汎用タイマ・クロックも必要である。P
の補助回路には、32ビットのクロック・カウンタがあ
る。Pによって読み出し書き込みができるこのクロック
・カウンタは、1マイクロ秒ごとに1ずつ増分する。こ
のクロック・カウンタが、36億マイクロ秒の値に達す
ると、自動的に0にリセットされる。このクロック・カ
ウンタが、自動的にリセットされると、Pの補助回路の
他のカウンタ(時間カウンタ)を1ずつ増分させる。こ
のクロック・カウンタと時間カウンタは、性能評価、事
象追跡、プログラム追跡、パケット追跡のようなアプリ
ケーションのための汎用タイム・スタンプを発生するた
めにPによって使用されることができる。
【0327】割込みコントローラ Pの割込みコントローラは、下記の割込み元をサポート
しなければならない。 ソフトウェア・タイマ・ティック割込みソフトウェア監
視タイマ割込み ハードウェア監視タイマ割込み PMI0〜PMIN−1の事象割込み(GAB信号:−
INT0〜−INTN−1) PMI0〜PMI3の応答有効割込み(GAB信号:−
RV0〜−RVN−1) GAM入力パケット閾値割込み(GAB信号:−INT
N) フリー・バッファの下位割込み(GAB信号:BELO
W) 非同期バッファの上位割込み(GAB信号:ABABV
) 事象FIFO1/2満杯割込み(GAB信号:EF_H
F) 待ち行列アドレスが一致した待ち行列状況レジスタ変化
割込み(GAB信号:QSRC、QA0〜QA2)1ビ
ット・パケット・メモリECCエラー割込み(GAB信
号:−INTN+1) 1ビットPローカル・メモリECCエラー割込み2ビッ
トPローカル・メモリECCエラー割込みさらに、Pの
割込みコントローラは、下記の動作要件をもサポートす
る。 割込み状況レジスタ  −  割込みが発生するとどの
割込み元が活動化されたかを指示する32ビットの割込
み状況レジスタ。このレジスタは、このPによって読出
し可能で、このPは、このレジスタに‘0’を書込むこ
とによってこれをクリアすることができる。 プログラム可能割込み優先順位  −  この割込みコ
ントローラは、Pが各割込み元の優先順位をプログラム
できるようにする。 プログラム可能割込みマスク  −  このPはまた、
そう選択した場合、ある優先順位より下のどんな割込み
もマスクできる能力をもつことができる。 プログラム可能割込み元フォーマット  −  割込み
元には、“ハイ”に付勢されるものと“ロー”に付勢さ
れるものとがあり、エッジ・センシティブのものとレベ
ル・センシティブのものがある。この割込みコントロー
ラは、これら4つの割込みフォーマットの異なる組合せ
をサポートでき、またPが各割込み元のフォーマットを
個々に選択できるようにする。
【0328】Pアドレス・デコーダ Pアドレス・デコーダによって実行される機能は、Pの
アクセス要求を復号し、目標スレーブに対して適当な制
御信号を発生することである。
【0329】パリティ生成 PからのどのGABアクセスに対しても、奇数パリティ
はアドレス・バス上で生成されなければならない。この
アクセスが書込み動作であるならば、奇数パリティはま
たデータ・バス上で生成しなければならない。このアク
セスが読出し動作ならば、いかなるデータ・パリティも
生成されない。パリティは、バス・モニタ(GAM)に
よって検査される。パリティ・エラーが検出されるなら
ば、バス・モニタはバス・エラーを発生し、進行中処理
は直ちに打ち切られる(詳細については、後述の「GA
Bアイソレータ」を参照されたい)。
【0330】8.4  GABアイソレータこのPのG
ABアイソレータは、386のローカル・バスとGAB
の間の信号分離を提供するのみならず、下記の機能も提
供する。
【0331】PMキャッシュ・バッファ・コントローラ
GAB争奪を減らし、Pのパケット・ヘッダの処理をス
ピードアップするために、1つまたは複数のスヌープ式
キャッシュ・バッファの32バイト・バンクが必要とさ
れる。このスヌープ式キャッシュ・バッファは、下記の
ように作動する。
【0332】1.Pがパケット・メモリに対して最初の
読出し要求をすると、32バイトのデータがそのパケッ
ト・メモリから読み出されるか、またはその読出し要求
のアドレスが32バイト境界に達するかのいずれかまで
、キャッシュ・バッファ・コントローラはパケット・メ
モリに対して読出し要求のバーストを行う。その後、こ
のパケット・メモリから読み出されたデータは、キャッ
シュ・バッファに記憶される。
【0333】2.それ以降、Pがパケット・メモリ・ア
クセス要求を行うごとに、キャッシュ・バッファ・コン
トローラは、アクセス・アドレスを検査して、キャッシ
ュ・ヒットがあるか否かを調べる。キャッシュ・ヒット
があり、このアクセス要求が読出し要求であるならば、
キャッシュ・バッファ・コントローラは、キャッシュ・
バッファに記憶されたデータをこのPに直ちに戻す。キ
ャッシュ・ヒットがあり、このアクセス要求が書込み要
求ならば、キャッシュ・バッファ・コントローラは、新
規データをキャ    ッシュ・バッファに書き込み、
キャッシュを「ダーティ」としてマークする。一方、こ
のPのアクセス要求がキャッシュ・ミスが生じるならば
、キャッシュ・バッファ・コントローラは、まずそのキ
ャッシュ・バッファが「ダーティ」であるか否かを検査
する。キャッシュ・バッファが「ダーティ」であるなら
ば、キャッシュ・バッファ・コントローラは、キャッシ
ュ・バッファのすべてのデータをパケット・メモリに書
き戻し、その後、キャッシュ・バッファをフラッシュし
、新しいキャッシュ・サイクルを開始する。
【0334】GABバス・エラー・ハンドラ「包括アダ
プタ・マネジャ(GAM)」で前述したように、GAB
バス・エラーは、いつでも下記の場合発生することがで
きる。 バス・パリティ・エラーがある バス・マスタ権あたりのバス・サイクル数が限界を超え
る 特定の実施態様によって決定される他の条件
【0335
】バス・エラー信号が立てられた時、このアダプタのG
AMと全PMIは、直ちにいかなる進行中の処理も打ち
切る。バス・エラー・ハンドラは、Pに対してマスク不
能割込みも生成する。GABバス・エラー割込みがこの
Pによって受け取られると、Pは、直ちにそのパケット
処理を放棄し、ホストにそのエラーを報告し、エラー回
復手順(実施により必要ならば)を開始する。
【0336】8.5  GAMローカル・バス・アイソ
レータ PのGAMローカル・バス・アイソレータによって実行
される機能には、下記の2つがある。 386のローカル・バスとGAMローカル・バスの間の
信号分離 GAMローカル・バス争奪の調停
【図面の簡単な説明】
【図1】本発明による包括高帯域幅アダプタの主構成要
素を示す概略ブロック図である。
【図2】包括高帯域幅アダプタ・アーキテクチャのバッ
ファ/パケット/待ち行列の関係を示し、バッファのパ
ケットへの編成と、パケットの待ち行列への編成を示す
図である。
【図3】包括高帯域幅アダプタ・マネジャのマルチキャ
スト・パケットの構造を示す図である。
【図4】包括高帯域幅アダプタ・マネジャ状態機械でパ
ケットが存在することができる主状態を示す図である。
【図5】単一読出し動作および単一書込み動作の信号の
相互作用を示す図である。
【図6】ストリーム・モードの読出し動作中の信号の相
互作用を示す図である。
【図7】ストリーム・モードの書込み動作中の信号の相
互作用を示す図である。
【図8】ストリーム・モードのパイプライン式読出し動
作の信号の相互作用を示し、低速のバス・スレーブが、
ストリーム・モード信号を使用して、その読出し動作を
パイプライン化する方法を示す図である。
【図9】パケット・メモリ・インターフェースの包括部
分の概略ブロック図である。
【図10】包括アダプタ・バスのアドレス空間の割当て
を示す図である。
【図11】パケット・メモリ通信フロント・エンド・イ
ンターフェースの包括形態を示す図である。
【図12】通信フロント・エンドからパケット・メモリ
を介するデータ経路を示し、入力チャネルとそれから供
給を受ける待ち行列の関係を概略的に示す図である。
【図13】パケット・メモリ・インターフェースによる
、待ち行列を出力制御チャネルにマッピングするパケッ
ト・メモリ・インターフェースの例を示す図である。
【符号の説明】
12  高性能包括アダプタ・バス(GAB)14  
プロセッサ(P) 16  パケット・メモリ(PM) 18  包括アダプタ・マネジャ(GAM)20  パ
ケット・メモリ・インターフェース(PMI)22  
プロセッサ・ローカル・メモリ24  アイソレータ 26  アイソレータ 28  補助回路 30  GAMローカル・メモリ 32  バッファ 34  パケット 36  待ち行列 38  GAMローカル・バス 40  Pローカル・バス

Claims (32)

    【特許請求の範囲】
  1. 【請求項1】各パケットが、情報交換の調停に使用され
    る通信プロトコルによって必要とされるヘッダ制御情報
    部と、通信されるべきデータのためのデータ部とを含み
    、バス、チャネル、プロセッサ、交換網および通信ネッ
    トワーク間で、データが可変長のデータ・ストリーム・
    パケットによって運ばれるデータ通信のための統一アー
    キテクチャを提供する通信アダプタにおいて、データ・
    パケットのヘッダ制御情報部分を処理するためのプロセ
    ッサを含み、パケット・メモリ手段に記憶されたデータ
    ・パケットにアクセスすることができるプロセッサ・サ
    ブシステムと、複数のバッファに分割されており、各デ
    ータ・パケットがデータ・パケットの長さによって必要
    とされるように1つまたは複数のバッファに記憶され、
    1つまたは複数の包括アダプタ入出力ポートに到達する
    データ・パケットを記憶するためのパケット・メモリ手
    段と、バッファでデータ・パケットを編成することによ
    って、前記パケット・メモリ手段にデータ構造を実施す
    ることと、前記プロセッサ・サブシステムによる処理の
    ため、または包括アダプタ入出力ポートとの間での転送
    のために、データ・パケットを待ち行列に編成すること
    とを含む包括アダプタ管理機能を実行し同期させるため
    の包括アダプタ・マネジャ手段と、データ・パケットが
    入出力ポートで受信されると、このデータ・パケットが
    アダプタ・パケット・メモリ手段に転送され、処理のた
    め待ち行列登録されるように、前記パケット・メモリ手
    段間でデータ・パケットの転送を行うパケット・メモリ
    ・インターフェースに関連されている各入出力ポートを
    有する少なくとも1つの包括アダプタ入出力ポートとを
    備えた、通信アダプタ。
  2. 【請求項2】さらに、前記プロセッサ・サブシステム、
    前記パケット・メモリ手段、前記包括アダプタ・マネジ
    ャ手段および前記少なくとも1つの包括アダプタ入出力
    ポートを互いに結合するための包括アダプタ・バスを含
    むことを特徴とする請求項1記載の通信アダプタ。
  3. 【請求項3】前記プロセッサ・サブシステムは、さらに
    、通信コードとコード即値制御データとを含むプロセッ
    サ・ローカル・メモリ手段と、前記プロセッサと前記プ
    ロセッサ・ローカル・メモリ手段とを相互接続するロー
    カル・プロセッサ・サブシステム・バスを含むことを特
    徴とする請求項1記載の通信アダプタ。
  4. 【請求項4】前記プロセッサ・サブシステムは、さらに
    、ハードウェア・タイマ、割込みコントローラおよびロ
    ーカル・メモリ・コントローラを含むプロセッサ動作に
    必要な補助回路を含むことを特徴とする請求項3記載の
    通信アダプタ。
  5. 【請求項5】前記プロセッサ・サブシステムは、さらに
    、プロセッサを前記包括アダプタ・バスに接続するため
    の第1のアイソレータと、プロセッサを前記包括アダプ
    タ・マネジャ手段に接続するための第2のアイソレータ
    とを含むことを特徴とする請求項2記載の通信アダプタ
  6. 【請求項6】前記包括アダプタ・マネジャ手段は、さら
    に、バッファでパケットを編成し、パケットを待ち行列
    に編成するのに使用されるデータ構造を包括アダプタ・
    マネジャ手段が記憶するローカル・メモリ手段と、包括
    アダプタ・マネジャ手段を前記包括アダプタ・マネジャ
    ・ローカル・メモリ手段に結合するローカル・バスを含
    むことを特徴とする請求項1記載の通信アダプタ。
  7. 【請求項7】前記包括アダプタ・マネジャ手段は、さら
    に、バッファ、パケットおよび待ち行列を伴うデータ構
    造を前記パケット・メモリ手段で実施するための包括ア
    ダプタ・マネジャ・カーネルと、バス優先順位を用いて
    またはラウンド・ロビン方式に基づいてバス要求元にバ
    ス制御を許可するための前記包括アダプタのためのアー
    ビタと、パリティ検査のため、およびバス要求元にバス
    制御が許可された後でバス・サイクル時間長の検査のた
    めに包括アダプタ・バスを監視するための前記包括アダ
    プタ・バス用のモニタを含むことを特徴とする請求項6
    記載の通信アダプタ。
  8. 【請求項8】前記パケット・メモリ手段は、前記包括ア
    ダプタ・バスとのインターフェースを行い、パリティ生
    成や応答発生のような包括アダプタの要件からパケット
    ・メモリ手段を分離するためのパケット・メモリ・コン
    トローラを含むことを特徴とする請求項2記載の通信ア
    ダプタ。
  9. 【請求項9】各パケット・メモリ・インターフェースは
    、到達するデータ・パケットを前記パケット・メモリ手
    段に記憶するため、また前記パケット・メモリ手段から
    データ・パケットを読み出して包括アダプタ入出力ポー
    トに渡すために、前記包括アダプタ・マネジャ手段から
    のバッファの獲得を行うことを特徴とする請求項1記載
    の通信アダプタ。
  10. 【請求項10】各パケット・メモリ・インターフェース
    は、異なるデータ伝送速度を有する入出力ポートに接続
    装置を相互接続できるようにする速度一致ステージング
    ・バッファを含むことを特徴とする請求項1記載の通信
    アダプタ。
  11. 【請求項11】状況通知装置は、それぞれの待ち行列セ
    ットを形成し、状況レジスタからなる少なくとも1つの
    待ち行列のデータ・パケットの存在を、前記パケット・
    メモリ・インターフェースに通知するために使用され、
    前記状況レジスタ内の各ビットは、1つの待ち行列に対
    応していて、その待ち行列が空であるか否かを示し、状
    況レジスタの状態変化が、前記包括アダプタ・バスを介
    してすべてのパケット・メモリ・インターフェースに同
    報通信されることを特徴とする請求項1記載の通信アダ
    プタ。
  12. 【請求項12】前記パケット・メモリ手段の前記複数の
    バッファは、1つまたは複数のバッファ・プールを含み
    、各プールは、同一の一定サイズのバッファを含むこと
    を特徴とする請求項1記載の通信アダプタ。
  13. 【請求項13】前記包括アダプタ・マネジャ手段は待ち
    行列を編成し、各待ち行列は、所定の優先順位を有し同
    一の入出力ポートに宛てられるデータ・パケット、また
    は前記プロセッサ・サブシステムによって同様に処理さ
    れるデータ・パケットの結合リストを含むことを特徴と
    する請求項1記載の通信アダプタ。
  14. 【請求項14】前記包括アダプタ・マネジャ手段は、所
    定の待ち行列セット動作のために1つのオペランドとし
    て一括して取扱われることができる待ち行列群を含む各
    入出力ポートのための待ち行列セットを規定することを
    特徴とする請求項1記載の通信アダプタ。
  15. 【請求項15】前記パケット・メモリ手段は、プロセッ
    サ手段のための複数の待ち行列と、パケット・メモリ・
    インターフェースのための複数の出力待ち行列を含むこ
    とを特徴とする請求項1記載の通信アダプタ。
  16. 【請求項16】データ・パケットは、通常前記パケット
    ・メモリ手段からの送信後出力待ち行列から捨てられる
    が、データ・パケットまたはデータ・パケット群は循環
    式として指定されることができ、その場合は、データ・
    パケットまたはデータ・パケットのグループが、送信後
    も捨てられず、再び待ち行列に登録されることを特徴と
    する請求項15記載の通信アダプタ。
  17. 【請求項17】バッファは同一のヘッダ制御情報部をい
    くつかのデータ・パケットに付加する時のように、複数
    のデータ・パケットに結合されることができることを特
    徴とする請求項1記載の通信アダプタ。
  18. 【請求項18】前記包括アダプタ・バスは、同期して作
    動することを特徴とする請求項2記載の通信アダプタ。
  19. 【請求項19】前記パケット・メモリ手段は3レベル階
    層として編成され、待ち行列セットを第1のレベルとし
    、各待ち行列セットを構成するデータ・パケットの結合
    リストを第2のレベルとし、各データ・パケットを構成
    するバッファのリストを第3のレベルとすることを特徴
    とする請求項1記載の通信アダプタ。
  20. 【請求項20】データ・パケットのデータ部はデータ部
    を使用する最後のデータ・パケットが送信されるまで、
    このデータ部を複製または消去することなく異なるヘッ
    ダ制御情報部に結合されることができることを特徴とす
    る請求項1記載の通信アダプタ。
  21. 【請求項21】各入出力ポートは、入力データ・パケッ
    トの内容を調べ、そのデータ・パケットが登録されるべ
    き適当な待ち行列を決定する手段を含むことを特徴とす
    る請求項1記載の通信アダプタ。
  22. 【請求項22】前記調べて、決定する手段により、包括
    高帯域幅アダプタが、多重条件データ・パケット交換シ
    ステムとして使用可能になることを特徴とする請求項2
    1記載の通信アダプタ。
  23. 【請求項23】データ・パケットの供給元に通知する必
    要なしに、入力データ・パケットが代替待ち行列に結合
    されるように、元の待ち行列に新規ベース・アドレスを
    割り当てることにより、元の待ち行列から代替待ち行列
    に待ち行列を切り替えるために、待ち行列再構成機構が
    設けられることを特徴とする請求項1記載の通信アダプ
    タ。
  24. 【請求項24】新パケット・メモリ・インターフェース
    の待ち行列セット・ベース・アドレスを、旧パケット・
    メモリ・インターフェースのセット・ベース・アドレス
    にセットさせることによって、各パケット・メモリ・イ
    ンターフェースが待ち行列のサービスを引き継ぐことが
    できる待ち行列再構成機構が設けられることを特徴とす
    る請求項1記載の通信アダプタ。
  25. 【請求項25】待ち行列が旧待ち行列の第1パケットを
    新待ち行列に移動することによって、他のパケット・メ
    モリ・インターフェースでサービスされるようにまとめ
    て移動される待ち行列再構成機構が設けられることを特
    徴とする請求項1記載の通信アダプタ。
  26. 【請求項26】予想されるサービス要求に対して将来の
    応答を準備し、この応答をメモリの特定アドレスに記憶
    するためのマネジャ手段と、メモリの特定アドレスを規
    定する現サービス要求をマネジャ手段に送る手段を含む
    少なくとも1つのサービス・ユーザとを備え、前記マネ
    ジャ手段は、予め準備され、特定アドレスに記憶された
    、現要求に対して応答を送る手段を含み、サービス・ユ
    ーザに現応答が送られるのと同時に、将来の応答が準備
    され記憶されるように、現サービス要求に応じて、将来
    に予想されるサービス要求に対して将来の可能な応答を
    準備することを特徴とする通信アダプタ。
  27. 【請求項27】前記マネジャ手段は、特定アドレスに将
    来の可能な応答を記憶するためのマネジャ・メモリ手段
    と、サービス要求を包括アダプタ・マネジャに送るため
    のバスを含むことを特徴とする請求項26記載の通信ア
    ダプタ。
  28. 【請求項28】前記サービス・ユーザは、パケット・メ
    モリ・インターフェースを含むことを特徴とする請求項
    26記載の通信アダプタ。
  29. 【請求項29】前記将来の可能な応答を準備する手段は
    、前記包括アダプタ・マネジャに論理回路手段を含むこ
    とを特徴とする請求項28記載の通信アダプタ。
  30. 【請求項30】前記論理回路手段は、前景論理回路と背
    景論理回路を備え、前記背景論理回路は、次フリー・バ
    ッファ・ポインタおよび次フリー・パケット・ポインタ
    を準備することによって、受け取られたサービス要求よ
    り一歩先んじるように動作し、これら2つのポインタを
    レジスタに記憶し、このレジスタは、前記前景論理回路
    にアクセス可能で、パケット・メモリ・インターフェー
    スによる現要求に対してタイムリーな応答を発生するこ
    とを特徴とする請求項29記載の通信アダプタ。
  31. 【請求項31】サービス・ユーザは、同一の同期バス・
    サイクルでメモリの特定アドレスのデータを読み出す読
    出し動作によって現要求を送ることを特徴とする請求項
    26記載の通信アダプタ。
  32. 【請求項32】同一の同期バス・サイクルで実行される
    サービス要求は、受信要求、送信要求、バッファ要求、
    次バッファのような要求を含むことを特徴とする請求項
    31記載の通信アダプタ。
JP4017502A 1991-02-06 1992-02-03 汎用アダプタ Expired - Lifetime JP2518986B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US651894 1991-02-06
US07/651,894 US5367643A (en) 1991-02-06 1991-02-06 Generic high bandwidth adapter having data packet memory configured in three level hierarchy for temporary storage of variable length data packets

Publications (2)

Publication Number Publication Date
JPH04336729A true JPH04336729A (ja) 1992-11-24
JP2518986B2 JP2518986B2 (ja) 1996-07-31

Family

ID=24614670

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4017502A Expired - Lifetime JP2518986B2 (ja) 1991-02-06 1992-02-03 汎用アダプタ

Country Status (4)

Country Link
US (2) US5367643A (ja)
EP (1) EP0498201A3 (ja)
JP (1) JP2518986B2 (ja)
BR (1) BR9200413A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009238236A (ja) * 2002-07-09 2009-10-15 Intel Corp パケット処理に対応する構成可能なマルチポートのマルチプロトコルのネットワークインタフェース

Families Citing this family (238)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5367643A (en) * 1991-02-06 1994-11-22 International Business Machines Corporation Generic high bandwidth adapter having data packet memory configured in three level hierarchy for temporary storage of variable length data packets
US5469542A (en) * 1991-07-22 1995-11-21 International Business Machines Corporation Serial diagnostic interface bus for multiprocessor systems
DE4223600C2 (de) * 1992-07-17 1994-10-13 Ibm Mehrprozessor-Computersystem und Verfahren zum Übertragen von Steuerinformationen und Dateninformation zwischen wenigstens zwei Prozessoreinheiten eines Computersystems
US7509270B1 (en) 1992-12-09 2009-03-24 Discovery Communications, Inc. Electronic Book having electronic commerce features
US7835989B1 (en) 1992-12-09 2010-11-16 Discovery Communications, Inc. Electronic book alternative delivery systems
US8073695B1 (en) 1992-12-09 2011-12-06 Adrea, LLC Electronic book with voice emulation features
WO1994014284A1 (en) 1992-12-09 1994-06-23 Discovery Communications, Inc. Reprogrammable terminal for suggesting programs offered on a television program delivery system
US7849393B1 (en) 1992-12-09 2010-12-07 Discovery Communications, Inc. Electronic book connection to world watch live
DE4323405A1 (de) * 1993-07-13 1995-01-19 Sel Alcatel Ag Zugangskontrollverfahren für einen Pufferspeicher sowie Vorrichtung zum Zwischenspeichern von Datenpaketen und Vermittlungsstelle mit einer solchen Vorrichtung
US5551052A (en) * 1993-08-02 1996-08-27 Xerox Corporation Data bus protocol for high speed chip to chip data transfer
DE4328862A1 (de) * 1993-08-27 1995-03-02 Sel Alcatel Ag Verfahren und Vorrichtung zum Zwischenspeichern von Datenpaketen sowie Vermittlungsstelle mit einer solchen Vorrichtung
US5528763A (en) * 1993-09-14 1996-06-18 International Business Machines Corporation System for admitting cells of packets from communication network into buffer of attachment of communication adapter
US5600820A (en) * 1993-12-01 1997-02-04 Bell Communications Research, Inc. Method for partitioning memory in a high speed network based on the type of service
US8095949B1 (en) 1993-12-02 2012-01-10 Adrea, LLC Electronic book with restricted access features
US7861166B1 (en) 1993-12-02 2010-12-28 Discovery Patent Holding, Llc Resizing document pages to fit available hardware screens
US7865567B1 (en) * 1993-12-02 2011-01-04 Discovery Patent Holdings, Llc Virtual on-demand electronic book
US9053640B1 (en) 1993-12-02 2015-06-09 Adrea, LLC Interactive electronic book
US5640504A (en) * 1994-01-24 1997-06-17 Advanced Computer Applications, Inc. Distributed computing network
US5544325A (en) * 1994-03-21 1996-08-06 International Business Machines Corporation System and method for generating messages for use in transaction networks
US5983275A (en) * 1994-05-04 1999-11-09 Cirrus Logic, Inc. Apparatus for and method of providing interrupts to a host processor in a frame receiving system
FR2720210B1 (fr) * 1994-05-20 1996-07-19 Sextant Avionique Procédé et dispositif de transmission de données asynchrone au moyen d'un bus synchrone.
JP3172387B2 (ja) * 1994-06-01 2001-06-04 インターナショナル・ビジネス・マシーンズ・コーポレ−ション 入出力通信サブシステム及び方法
US5521913A (en) * 1994-09-12 1996-05-28 Amber Wave Systems, Inc. Distributed processing ethernet switch with adaptive cut-through switching
US5781551A (en) * 1994-09-15 1998-07-14 Texas Instruments Incorporated Computer communications system with tree architecture and communications method
US5613096A (en) * 1994-11-04 1997-03-18 Canon Information Systems, Inc. Network protocol sensor
US5541919A (en) * 1994-12-19 1996-07-30 Motorola, Inc. Multimedia multiplexing device and method using dynamic packet segmentation
US5630059A (en) * 1995-02-06 1997-05-13 International Business Machines Corporation Expedited message transfer in a multi-nodal data processing system
US5682553A (en) * 1995-04-14 1997-10-28 Mitsubishi Electric Information Technology Center America, Inc. Host computer and network interface using a two-dimensional per-application list of application level free buffers
GB9509484D0 (en) * 1995-05-10 1995-07-05 Gen Datacomm Adv Res Atm network switch
US5644733A (en) * 1995-05-18 1997-07-01 Unisys Corporation Dual coupled partitionable networks providing arbitration logic for managed access to commonly shared busses
US5841979A (en) * 1995-05-25 1998-11-24 Information Highway Media Corp. Enhanced delivery of audio data
US6549942B1 (en) * 1995-05-25 2003-04-15 Audiohighway.Com Enhanced delivery of audio data for portable playback
US5752078A (en) * 1995-07-10 1998-05-12 International Business Machines Corporation System for minimizing latency data reception and handling data packet error if detected while transferring data packet from adapter memory to host memory
US5742840A (en) * 1995-08-16 1998-04-21 Microunity Systems Engineering, Inc. General purpose, multiple precision parallel operation, programmable media processor
US5671365A (en) * 1995-10-20 1997-09-23 Symbios Logic Inc. I/O system for reducing main processor overhead in initiating I/O requests and servicing I/O completion events
JP3545858B2 (ja) * 1995-12-01 2004-07-21 株式会社東芝 ネットワーク間接続装置及び情報検索装置
US5870631A (en) * 1995-12-15 1999-02-09 International Business Machines Corporation System for operating system software providing input buffer for receiving variable-length bit stream with a header containing synchronization data recognized by universal serial controller
US5875329A (en) * 1995-12-22 1999-02-23 International Business Machines Corp. Intelligent batching of distributed messages
US5793983A (en) * 1996-01-22 1998-08-11 International Business Machines Corp. Input/output channel interface which automatically deallocates failed subchannel and re-segments data block for transmitting over a reassigned subchannel
US5907717A (en) * 1996-02-23 1999-05-25 Lsi Logic Corporation Cross-connected memory system for allocating pool buffers in each frame buffer and providing addresses thereof
US6222822B1 (en) * 1996-04-23 2001-04-24 Cisco Systems, Incorporated Method for optimizing a digital transmission network operation through transient error monitoring and control and system for implementing said method
US5781745A (en) * 1996-05-20 1998-07-14 3Com Corporation High speed communication bus
US5758087A (en) * 1996-06-14 1998-05-26 International Business Machines Corporation Apparatus and method for predicted response generation
US6683876B1 (en) * 1996-09-23 2004-01-27 Silicon Graphics, Inc. Packet switched router architecture for providing multiple simultaneous communications
US6366958B1 (en) 1996-10-21 2002-04-02 International Business Machines Corporation NETBIOS protocol support for a DCE RPC mechanism
USRE39501E1 (en) 1996-10-31 2007-03-06 Nvidia Corporation Multiple network protocol encoder/decoder and data processor
US5995605A (en) * 1996-12-06 1999-11-30 Ameritech Corporation Method and network for providing access to an information network
US5905876A (en) * 1996-12-16 1999-05-18 Intel Corporation Queue ordering for memory and I/O transactions in a multiple concurrent transaction computer system
US6493347B2 (en) * 1996-12-16 2002-12-10 Juniper Networks, Inc. Memory organization in a switching device
US5850556A (en) * 1996-12-26 1998-12-15 Cypress Semiconductor Corp. Interruptible state machine
US5949799A (en) * 1996-12-27 1999-09-07 Cypress Semiconductor Corp. Minimum-latency data mover with auto-segmentation and reassembly
US6260073B1 (en) * 1996-12-30 2001-07-10 Compaq Computer Corporation Network switch including a switch manager for periodically polling the network ports to determine their status and controlling the flow of data between ports
US6233246B1 (en) 1996-12-30 2001-05-15 Compaq Computer Corporation Network switch with statistics read accesses
US5961605A (en) 1997-02-06 1999-10-05 Gte Laboratories Incorporated Method and apparatus for acknowledging TCP data packets
US6230245B1 (en) 1997-02-11 2001-05-08 Micron Technology, Inc. Method and apparatus for generating a variable sequence of memory device command signals
US5892922A (en) * 1997-02-28 1999-04-06 3Com Corporation Virtual local area network memory access system
US6175894B1 (en) 1997-03-05 2001-01-16 Micron Technology, Inc. Memory device command buffer apparatus and method and memory devices and computer systems using same
US6101192A (en) * 1997-04-25 2000-08-08 Advanced Micro Devices, Inc. Network router with partitioned memory for optimized data storage and retrieval
US6098123A (en) * 1997-05-08 2000-08-01 International Business Machines Corporation Method and apparatus for dynamic allocation of bandwidth to/from network adapter memory amongst active input/output ports
US5923898A (en) * 1997-05-14 1999-07-13 International Business Machines Corporation System for executing I/O request when an I/O request queue entry matches a snoop table entry or executing snoop when not matched
US6473803B1 (en) 1997-06-02 2002-10-29 Unisys Corporation Virtual LAN interface for high-speed communications between heterogeneous computer systems
US6289388B1 (en) 1997-06-02 2001-09-11 Unisys Corporation System for communicating heterogeneous computers that are coupled through an I/O interconnection subsystem and have distinct network addresses, via a single network interface card
US6073181A (en) * 1997-06-03 2000-06-06 International Business Machines Corporation Multi-buffer error detection for an open data-link interface LAN adapter
US5996043A (en) 1997-06-13 1999-11-30 Micron Technology, Inc. Two step memory device command buffer apparatus and method and memory devices and computer systems using same
US6484244B1 (en) 1997-06-17 2002-11-19 Micron Technology, Inc. Method and system for storing and processing multiple memory commands
US6094435A (en) * 1997-06-30 2000-07-25 Sun Microsystems, Inc. System and method for a quality of service in a multi-layer network element
KR100251712B1 (ko) 1997-07-11 2000-04-15 윤종용 전전자교환기에서 엑스.25 프로토콜 통신을 위한 엑스.25망정합장치
US5982997A (en) * 1997-08-14 1999-11-09 International Business Machines Inc. Data stream protocol for immediate job switching
US6018515A (en) * 1997-08-19 2000-01-25 Ericsson Messaging Systems Inc. Message buffering for prioritized message transmission and congestion management
US6088370A (en) 1997-09-22 2000-07-11 Intel Corporation Fast 16 bit, split transaction I/O bus
US6108736A (en) * 1997-09-22 2000-08-22 Intel Corporation System and method of flow control for a high speed bus
US7107371B1 (en) 1997-09-22 2006-09-12 Intel Corporation Method and apparatus for providing and embedding control information in a bus system
US6198724B1 (en) 1997-10-02 2001-03-06 Vertex Networks, Inc. ATM cell scheduling method and apparatus
US6115749A (en) * 1997-10-14 2000-09-05 Lucent Technologies Inc. System and method for using a window mechanism to control multicast data congestion
US6101420A (en) * 1997-10-24 2000-08-08 Compaq Computer Corporation Method and apparatus for disambiguating change-to-dirty commands in a switch based multi-processing system with coarse directories
US6088777A (en) * 1997-11-12 2000-07-11 Ericsson Messaging Systems, Inc. Memory system and method for dynamically allocating a memory divided into plural classes with different block sizes to store variable length messages
US6202119B1 (en) 1997-12-19 2001-03-13 Micron Technology, Inc. Method and system for processing pipelined memory commands
US5974465A (en) * 1998-01-21 1999-10-26 3Com Corporation Method and apparatus for prioritizing the enqueueing of outbound data packets in a network device
US6247077B1 (en) 1998-02-06 2001-06-12 Ncr Corporation Highly-scalable parallel processing computer system architecture
US6105122A (en) * 1998-02-06 2000-08-15 Ncr Corporation I/O protocol for highly configurable multi-node processing system
US6178486B1 (en) * 1998-02-19 2001-01-23 Quantum Corporation Time allocation shared memory arbitration for disk drive controller
WO1999043002A2 (en) * 1998-02-24 1999-08-26 Seagate Technology Llc Preserving loop fairness with dynamic half-duplex
MXPA00008628A (es) * 1998-03-16 2003-07-14 Schneider Automation Sistema de comunicacion para un sistema de control sobre el ethernet y los ip networks.
US6088745A (en) * 1998-03-17 2000-07-11 Xylan Corporation Logical output queues linking buffers allocated using free lists of pointer groups of multiple contiguous address space
US6272551B1 (en) * 1998-04-08 2001-08-07 Intel Corporation Network adapter for transmitting network packets between a host device and a power line network
US6714553B1 (en) 1998-04-15 2004-03-30 Top Layer Networks, Inc. System and process for flexible queuing of data packets in network switching
US6182174B1 (en) * 1998-04-13 2001-01-30 International Business Machines Corporation Memory card interface method using multiplexed storage protect key to indicate command acceptance
US6160812A (en) * 1998-05-04 2000-12-12 Cabletron Systems, Inc. Method and apparatus for supplying requests to a scheduler in an input buffered multiport switch
US6175905B1 (en) 1998-07-30 2001-01-16 Micron Technology, Inc. Method and system for bypassing pipelines in a pipelined memory command generator
US6233619B1 (en) 1998-07-31 2001-05-15 Unisys Corporation Virtual transport layer interface and messaging subsystem for high-speed communications between heterogeneous computer systems
US6182228B1 (en) 1998-08-17 2001-01-30 International Business Machines Corporation System and method for very fast IP packet filtering
US6178488B1 (en) 1998-08-27 2001-01-23 Micron Technology, Inc. Method and apparatus for processing pipelined memory commands
US6341302B1 (en) * 1998-09-24 2002-01-22 Compaq Information Technologies Group, Lp Efficient inter-task queue protocol
US10511573B2 (en) 1998-10-30 2019-12-17 Virnetx, Inc. Agile network protocol for secure communications using secure domain names
US6502135B1 (en) 1998-10-30 2002-12-31 Science Applications International Corporation Agile network protocol for secure communications with assured system availability
US7418504B2 (en) 1998-10-30 2008-08-26 Virnetx, Inc. Agile network protocol for secure communications using secure domain names
US7188180B2 (en) 1998-10-30 2007-03-06 Vimetx, Inc. Method for establishing secure communication link between computers of virtual private network
CA2349520C (en) 1998-10-30 2011-05-17 Science Applications International Corporation An agile network protocol for secure communications with assured system availability
US6272563B1 (en) 1998-11-03 2001-08-07 Intel Corporation Method and apparatus for communicating routing and attribute information for a transaction between hubs in a computer system
US6175884B1 (en) 1998-11-03 2001-01-16 Intel Corporation Efficient communication of transaction types using separate and orthogonal attribute fields in packet headers transferred between hubs in a computer system
US6549938B1 (en) * 1998-12-10 2003-04-15 Nokia Corporation System and method for prioritizing multicast packets in a network service class utilizing a priority-based quality of service
US6178531B1 (en) 1998-12-18 2001-01-23 Ncr Corporation Method and apparatus for remotely testing token ring local area networks
US6636883B1 (en) * 1999-02-22 2003-10-21 International Business Machines Corporation Mechanism for passing information between queuing and de-queuing processes
JP3995131B2 (ja) * 1999-05-11 2007-10-24 シャープ株式会社 データ出力回路
US6757744B1 (en) 1999-05-12 2004-06-29 Unisys Corporation Distributed transport communications manager with messaging subsystem for high-speed communications between heterogeneous computer systems
US6591316B1 (en) * 1999-05-20 2003-07-08 Marconi Communications, Inc. Avoiding fragmentation loss in high speed burst oriented packet memory interface
US6378051B1 (en) * 1999-06-14 2002-04-23 Maxtor Corporation Interrupt signal prioritized shared buffer memory access system and method
WO2001005123A1 (en) * 1999-07-13 2001-01-18 Alteon Web Systems, Inc. Apparatus and method to minimize incoming data loss
WO2001013583A2 (en) 1999-08-16 2001-02-22 Iready Corporation Internet jack
US6650650B1 (en) * 1999-09-16 2003-11-18 Ut Starcom, Inc. Method and apparatus for transmitting voice data over network structures
US6912586B1 (en) * 1999-11-12 2005-06-28 International Business Machines Corporation Apparatus for journaling during software deployment and method therefor
US6412002B1 (en) 1999-11-15 2002-06-25 Ncr Corporation Method and apparatus for selecting nodes in configuring massively parallel systems
US6519697B1 (en) 1999-11-15 2003-02-11 Ncr Corporation Method and apparatus for coordinating the configuration of massively parallel systems
US6745240B1 (en) 1999-11-15 2004-06-01 Ncr Corporation Method and apparatus for configuring massively parallel systems
US6418526B1 (en) 1999-11-15 2002-07-09 Ncr Corporation Method and apparatus for synchronizing nodes in massively parallel systems
US6704782B1 (en) 1999-12-09 2004-03-09 International Business Machines Corporation System and methods for real time progress monitoring in a computer network
US6615274B1 (en) 1999-12-09 2003-09-02 International Business Machines Corporation Computer network control systems and methods
US6604237B1 (en) 1999-12-14 2003-08-05 International Business Machines Corporation Apparatus for journaling during software deployment and method therefor
US6588011B1 (en) 1999-12-14 2003-07-01 International Business Machines Corporation Apparatus for automatically generating restore process during software depolyment and method therefor
US7191208B1 (en) 1999-12-14 2007-03-13 International Business Machines Corporation Methods of selectively distributing data in a computer network and systems using the same
US6584518B1 (en) 2000-01-07 2003-06-24 International Business Machines Corporation Cycle saving technique for managing linked lists
US6832265B1 (en) * 2000-01-07 2004-12-14 Cisco Technology, Inc. Methods and apparatus for moving data elements within a data communications device
US7155516B2 (en) * 2000-02-08 2006-12-26 Mips Technologies, Inc. Method and apparatus for overflowing data packets to a software-controlled memory when they do not fit into a hardware-controlled memory
US7502876B1 (en) 2000-06-23 2009-03-10 Mips Technologies, Inc. Background memory manager that determines if data structures fits in memory with memory state transactions map
US7139901B2 (en) * 2000-02-08 2006-11-21 Mips Technologies, Inc. Extended instruction set for packet processing applications
US7076630B2 (en) * 2000-02-08 2006-07-11 Mips Tech Inc Method and apparatus for allocating and de-allocating consecutive blocks of memory in background memo management
US7058064B2 (en) * 2000-02-08 2006-06-06 Mips Technologies, Inc. Queueing system for processors in packet routing operations
US7032226B1 (en) * 2000-06-30 2006-04-18 Mips Technologies, Inc. Methods and apparatus for managing a buffer of events in the background
US20010052053A1 (en) * 2000-02-08 2001-12-13 Mario Nemirovsky Stream processing unit for a multi-streaming processor
US7165257B2 (en) * 2000-02-08 2007-01-16 Mips Technologies, Inc. Context selection and activation mechanism for activating one of a group of inactive contexts in a processor core for servicing interrupts
US7042887B2 (en) * 2000-02-08 2006-05-09 Mips Technologies, Inc. Method and apparatus for non-speculative pre-fetch operation in data packet processing
US7058065B2 (en) 2000-02-08 2006-06-06 Mips Tech Inc Method and apparatus for preventing undesirable packet download with pending read/write operations in data packet processing
US7649901B2 (en) * 2000-02-08 2010-01-19 Mips Technologies, Inc. Method and apparatus for optimizing selection of available contexts for packet processing in multi-stream packet processing
US7082552B2 (en) * 2000-02-08 2006-07-25 Mips Tech Inc Functional validation of a packet management unit
US7065096B2 (en) * 2000-06-23 2006-06-20 Mips Technologies, Inc. Method for allocating memory space for limited packet head and/or tail growth
AT408382B (de) * 2000-03-02 2001-11-26 Fts Computertechnik Gmbh Rechnerknotenarchitektur mit dediziertem middleware computer
EP1266294B1 (en) * 2000-03-21 2006-06-21 Siemens Energy & Automation, Inc. A communication interface system, method and apparatus
US7065580B1 (en) * 2000-03-31 2006-06-20 Sun Microsystems, Inc. Method and apparatus for a pipelined network
AU2001261078A1 (en) * 2000-04-26 2001-11-07 Venice Technologies, Inc. Methods and systems for securing computer software
US20020010765A1 (en) * 2000-07-21 2002-01-24 John Border Method and system for prioritizing traffic in a network
US6775719B1 (en) 2000-09-28 2004-08-10 Intel Corporation Host-fabric adapter and method of connecting a host system to a channel-based switched fabric in a data network
US6831916B1 (en) 2000-09-28 2004-12-14 Balaji Parthasarathy Host-fabric adapter and method of connecting a host system to a channel-based switched fabric in a data network
US7181541B1 (en) 2000-09-29 2007-02-20 Intel Corporation Host-fabric adapter having hardware assist architecture and method of connecting a host system to a channel-based switched fabric in a data network
US7107359B1 (en) 2000-10-30 2006-09-12 Intel Corporation Host-fabric adapter having hardware assist architecture and method of connecting a host system to a channel-based switched fabric in a data network
US7039717B2 (en) * 2000-11-10 2006-05-02 Nvidia Corporation Internet modem streaming socket method
US7095744B2 (en) * 2000-11-22 2006-08-22 Dune Networks Method and system for switching variable sized packets
US20100223295A1 (en) * 2000-12-06 2010-09-02 Io Informatics, Inc. Applied Semantic Knowledgebases and Applications Thereof
US6988109B2 (en) * 2000-12-06 2006-01-17 Io Informatics, Inc. System, method, software architecture, and business model for an intelligent object based information technology platform
US20020071450A1 (en) * 2000-12-08 2002-06-13 Gasbarro Dominic J. Host-fabric adapter having bandwidth-optimizing, area-minimal, vertical sliced memory architecture and method of connecting a host system to a channel-based switched fabric in a data network
US6643747B2 (en) * 2000-12-27 2003-11-04 Intel Corporation Processing requests to efficiently access a limited bandwidth storage area
US7379475B2 (en) * 2002-01-25 2008-05-27 Nvidia Corporation Communications processor
GB2377519B (en) * 2001-02-14 2005-06-15 Clearspeed Technology Ltd Lookup engine
US7324509B2 (en) * 2001-03-02 2008-01-29 Broadcom Corporation Efficient optimization algorithm in memory utilization for network applications
US8218555B2 (en) * 2001-04-24 2012-07-10 Nvidia Corporation Gigabit ethernet adapter
US7287649B2 (en) 2001-05-18 2007-10-30 Broadcom Corporation System on a chip for packet processing
JP4511174B2 (ja) * 2001-08-31 2010-07-28 アダプテック・インコーポレイテッド Tcp/ipを使用した高速度データ送信システムおよび方法
US6868466B2 (en) * 2001-09-27 2005-03-15 Intel Corporation Apparatus and method for packet ingress interrupt moderation
US7362751B2 (en) * 2001-10-03 2008-04-22 Topside Research, Llc Variable length switch fabric
US6723359B2 (en) * 2001-10-18 2004-04-20 Firmenich Sa Spray-dried compositions and method for their preparation
US20030081599A1 (en) * 2001-10-30 2003-05-01 Chui-Tsang Wu System and method for data transmission control
US8312117B1 (en) 2001-11-15 2012-11-13 Unisys Corporation Dialog recovery in a distributed computer system
US7480239B1 (en) 2001-11-27 2009-01-20 Cisco Technology, Inc. Method and apparatus for true priority based connection establishment within a PNNI ATM network
US7158964B2 (en) 2001-12-12 2007-01-02 Intel Corporation Queue management
US7107413B2 (en) * 2001-12-17 2006-09-12 Intel Corporation Write queue descriptor count instruction for high speed queuing
US7269179B2 (en) * 2001-12-18 2007-09-11 Intel Corporation Control mechanisms for enqueue and dequeue operations in a pipelined network processor
US7895239B2 (en) * 2002-01-04 2011-02-22 Intel Corporation Queue arrays in network devices
US7181573B2 (en) * 2002-01-07 2007-02-20 Intel Corporation Queue array caching in network devices
US20030135575A1 (en) * 2002-01-14 2003-07-17 Richard Marejka Self-monitoring and trending service system with cascaded pipeline linking numerous client systems
US7996507B2 (en) * 2002-01-16 2011-08-09 International Business Machines Corporation Intelligent system control agent for managing jobs on a network by managing a plurality of queues on a client
US7177963B2 (en) * 2002-02-01 2007-02-13 Broadcom Corporation System and method for low-overhead monitoring of transmit queue empty status
US7149226B2 (en) * 2002-02-01 2006-12-12 Intel Corporation Processing data packets
US7352741B2 (en) 2002-02-21 2008-04-01 Sun Microsystems, Inc. Method and apparatus for speculative arbitration
US6836808B2 (en) * 2002-02-25 2004-12-28 International Business Machines Corporation Pipelined packet processing
US7535913B2 (en) * 2002-03-06 2009-05-19 Nvidia Corporation Gigabit ethernet adapter supporting the iSCSI and IPSEC protocols
US7161954B2 (en) * 2002-05-28 2007-01-09 International Business Machines Corporation Technique for controlling selection of a write adapter from multiple adapters connected to a high speed switch
US7177322B2 (en) 2002-05-28 2007-02-13 International Business Machines Corporation Technique for controlling selection of a peek adapter or a read adapter from multiple adapters connected to a high speed switch
US7065628B2 (en) * 2002-05-29 2006-06-20 Intel Corporation Increasing memory access efficiency for packet applications
US7243184B1 (en) * 2002-06-14 2007-07-10 Juniper Networks, Inc. Maintaining packet order using hash-based linked-list queues
US6948104B2 (en) * 2002-06-26 2005-09-20 Microsoft Corporation System and method for transparent electronic data transfer using error correction to facilitate bandwidth-efficient data recovery
US20040019882A1 (en) * 2002-07-26 2004-01-29 Haydt Robert J. Scalable data communication model
DE10246732A1 (de) * 2002-10-07 2004-04-15 OCé PRINTING SYSTEMS GMBH Verfahren und Vorrichtung zum Synchronisieren von Aktionen, die über ein lokales, mehrere Mikrokontroller aufweisendes Datennetz gesteuert werden, sowie Verfahren und Vorrichtung zum Senden von Nachrichten über ein solches Datennetzwerk
US7782885B1 (en) * 2002-12-10 2010-08-24 Cisco Technology, Inc. System and method for queue management using queue sets
US20050259807A1 (en) * 2003-02-28 2005-11-24 Pita Madoch Method and network for providing access to an information network
US7286526B2 (en) * 2003-03-14 2007-10-23 International Business Machines Corporation Uniform management of mixed network systems
US7586938B2 (en) * 2003-10-24 2009-09-08 Microsoft Corporation Methods and systems for self-describing multicasting of multimedia presentations
US7617332B2 (en) * 2003-05-01 2009-11-10 International Business Machines Corporation Method and apparatus for implementing packet command instructions for network processing
US7701949B1 (en) * 2003-06-24 2010-04-20 Cisco Technology, Inc. System and method for switching high priority traffic with low latency
ATE435452T1 (de) * 2003-07-10 2009-07-15 Computer Ass Think Inc System und verfahren zum puffern von daten variabler länge
US7532574B1 (en) 2003-10-02 2009-05-12 Cisco Technology, Inc. Method and apparatus for improved priority based connection establishment within a PNNI ATM network
US7260631B1 (en) 2003-12-19 2007-08-21 Nvidia Corporation System and method for receiving iSCSI protocol data units
US7624198B1 (en) 2003-12-19 2009-11-24 Nvidia Corporation Sequence tagging system and method for transport offload engine data lists
US8549170B2 (en) * 2003-12-19 2013-10-01 Nvidia Corporation Retransmission system and method for a transport offload engine
US8176545B1 (en) 2003-12-19 2012-05-08 Nvidia Corporation Integrated policy checking system and method
US7899913B2 (en) * 2003-12-19 2011-03-01 Nvidia Corporation Connection management system and method for a transport offload engine
US8065439B1 (en) 2003-12-19 2011-11-22 Nvidia Corporation System and method for using metadata in the context of a transport offload engine
US7249306B2 (en) * 2004-02-20 2007-07-24 Nvidia Corporation System and method for generating 128-bit cyclic redundancy check values with 32-bit granularity
US7206872B2 (en) * 2004-02-20 2007-04-17 Nvidia Corporation System and method for insertion of markers into a data stream
US7698413B1 (en) 2004-04-12 2010-04-13 Nvidia Corporation Method and apparatus for accessing and maintaining socket control information for high speed network connections
US8665719B2 (en) * 2004-05-03 2014-03-04 Alcatel Lucent Variable packet-size backplanes for switching and routing systems
US7957379B2 (en) * 2004-10-19 2011-06-07 Nvidia Corporation System and method for processing RX packets in high speed network applications using an RX FIFO buffer
JP4791733B2 (ja) * 2005-01-14 2011-10-12 株式会社東芝 半導体集積回路装置
US7548513B2 (en) * 2005-02-17 2009-06-16 Intel Corporation Techniques to provide recovery receive queues for flooded queues
US20060193318A1 (en) * 2005-02-28 2006-08-31 Sriram Narasimhan Method and apparatus for processing inbound and outbound quanta of data
US7693145B2 (en) * 2005-02-28 2010-04-06 Hewlett-Packard Development Company, L.P. Method and apparatus for direct reception of inbound data
US8073042B1 (en) 2005-04-13 2011-12-06 Cypress Semiconductor Corporation Recursive range controller
CN101727429B (zh) * 2005-04-21 2012-11-14 提琴存储器公司 一种互连系统
US20070038834A1 (en) * 2005-07-25 2007-02-15 Rolf Fritz Method and System for Managing the Sending of Data Packets Over a Data Path
US20070053349A1 (en) * 2005-09-02 2007-03-08 Bryan Rittmeyer Network interface accessing multiple sized memory segments
US8176179B2 (en) * 2006-04-03 2012-05-08 Secure64 Software Corporation Method and system for data-structure management
US7987462B2 (en) * 2006-11-16 2011-07-26 International Business Machines Corporation Method for automatic throttling of work producers
US7865674B2 (en) 2007-08-31 2011-01-04 International Business Machines Corporation System for enhancing the memory bandwidth available through a memory module
US7899983B2 (en) 2007-08-31 2011-03-01 International Business Machines Corporation Buffered memory module supporting double the memory device data width in the same physical space as a conventional memory module
US8082482B2 (en) 2007-08-31 2011-12-20 International Business Machines Corporation System for performing error correction operations in a memory hub device of a memory module
US7861014B2 (en) 2007-08-31 2010-12-28 International Business Machines Corporation System for supporting partial cache line read operations to a memory module to reduce read data traffic on a memory channel
US7584308B2 (en) * 2007-08-31 2009-09-01 International Business Machines Corporation System for supporting partial cache line write operations to a memory module to reduce write data traffic on a memory channel
US7818497B2 (en) 2007-08-31 2010-10-19 International Business Machines Corporation Buffered memory module supporting two independent memory channels
US8086936B2 (en) 2007-08-31 2011-12-27 International Business Machines Corporation Performing error correction at a memory device level that is transparent to a memory channel
US7840748B2 (en) 2007-08-31 2010-11-23 International Business Machines Corporation Buffered memory module with multiple memory device data interface ports supporting double the memory capacity
US8019919B2 (en) 2007-09-05 2011-09-13 International Business Machines Corporation Method for enhancing the memory bandwidth available through a memory module
US7558887B2 (en) * 2007-09-05 2009-07-07 International Business Machines Corporation Method for supporting partial cache line read and write operations to a memory module to reduce read and write data traffic on a memory channel
WO2009035091A1 (ja) * 2007-09-14 2009-03-19 Nec Corporation クロック同期システム、その方法及びそのプログラム
US7930469B2 (en) 2008-01-24 2011-04-19 International Business Machines Corporation System to provide memory system power reduction without reducing overall memory system performance
US7770077B2 (en) 2008-01-24 2010-08-03 International Business Machines Corporation Using cache that is embedded in a memory hub to replace failed memory cells in a memory subsystem
US7925824B2 (en) 2008-01-24 2011-04-12 International Business Machines Corporation System to reduce latency by running a memory channel frequency fully asynchronous from a memory device frequency
US7925826B2 (en) 2008-01-24 2011-04-12 International Business Machines Corporation System to increase the overall bandwidth of a memory channel by allowing the memory channel to operate at a frequency independent from a memory device frequency
US7930470B2 (en) 2008-01-24 2011-04-19 International Business Machines Corporation System to enable a memory hub device to manage thermal conditions at a memory device level transparent to a memory controller
US7925825B2 (en) 2008-01-24 2011-04-12 International Business Machines Corporation System to support a full asynchronous interface within a memory hub device
US8140936B2 (en) 2008-01-24 2012-03-20 International Business Machines Corporation System for a combined error correction code and cyclic redundancy check code for a memory channel
US8443411B2 (en) * 2008-11-26 2013-05-14 At&T Intellectual Property I, Lp System and method to distribute video-on-demand content
US20110129201A1 (en) * 2009-11-30 2011-06-02 International Business Machines Corporation Customized playback of broadcast media
KR101877595B1 (ko) * 2013-10-28 2018-07-12 주식회사 케이티 서비스에 따른 트래픽 처리를 이용한 QoS 제어 방법
US9961019B2 (en) * 2014-12-22 2018-05-01 Intel Corporation Adaptively switched network-on-chip
CN106372011B (zh) * 2015-07-24 2020-10-30 爱思开海力士有限公司 用于pcie ssd控制器的高性能主机队列监控器
KR102690393B1 (ko) * 2016-08-09 2024-08-02 삼성전자주식회사 스토리지 시스템의 동작 방법 및 호스트의 동작 방법
US10367752B2 (en) * 2016-11-18 2019-07-30 International Business Machines Corporation Data packet management in a memory constrained environment
US20180341494A1 (en) * 2017-05-26 2018-11-29 Intel Corporation Accelerating network security monitoring
CN112286488B (zh) * 2020-09-17 2023-06-16 昆明理工大学 一种基于数据包效用值的缓存替换方法
CN118381775A (zh) * 2024-06-24 2024-07-23 山东云海国创云计算装备产业创新中心有限公司 数据包的重排方法、装置、设备、芯片及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01181355A (ja) * 1988-01-14 1989-07-19 Fujitsu Ltd ネットワーク通信方式

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4371924A (en) * 1979-11-09 1983-02-01 Rockwell International Corp. Computer system apparatus for prefetching data requested by a peripheral device from memory
US4621362A (en) * 1984-06-04 1986-11-04 International Business Machines Corp. Routing architecture for a multi-ring local area network
FI873258A (fi) * 1986-07-28 1988-01-29 Honeywell Bull Kontrollanordning foer styrning av multipla lokala naetverk.
US4715030A (en) * 1986-08-04 1987-12-22 General Electric Company Local area network bridge
JPH01132246A (ja) * 1987-08-31 1989-05-24 Toshiba Corp トラヒックの片寄りを無くすことができるデータ伝送システム
US5086426A (en) * 1987-12-23 1992-02-04 Hitachi, Ltd. Communication network system having a plurality of different protocal LAN's
US4947390A (en) * 1989-03-22 1990-08-07 Hewlett-Packard Company Method for data transfer through a bridge to a network requiring source route information
CA2011935A1 (en) * 1989-04-07 1990-10-07 Desiree A. Awiszio Dual-path computer interconnect system with four-ported packet memory control
US5187780A (en) * 1989-04-07 1993-02-16 Digital Equipment Corporation Dual-path computer interconnect system with zone manager for packet memory
US5058109A (en) * 1989-06-28 1991-10-15 Digital Equipment Corporation Exclusionary network adapter apparatus and related method
US5088090A (en) * 1990-01-31 1992-02-11 Rad Network Devices Ltd. Routing system to interconnect local area networks
US5247626A (en) * 1990-05-29 1993-09-21 Advanced Micro Devices, Inc. Fddi controller having flexible buffer management
US5043981A (en) * 1990-05-29 1991-08-27 Advanced Micro Devices, Inc. Method of and system for transferring multiple priority queues into multiple logical FIFOs using a single physical FIFO
US5153884A (en) * 1990-08-15 1992-10-06 Allen-Bradley Company, Inc. Intelligent network interface circuit
US5367643A (en) * 1991-02-06 1994-11-22 International Business Machines Corporation Generic high bandwidth adapter having data packet memory configured in three level hierarchy for temporary storage of variable length data packets

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01181355A (ja) * 1988-01-14 1989-07-19 Fujitsu Ltd ネットワーク通信方式

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009238236A (ja) * 2002-07-09 2009-10-15 Intel Corp パケット処理に対応する構成可能なマルチポートのマルチプロトコルのネットワークインタフェース

Also Published As

Publication number Publication date
BR9200413A (pt) 1992-10-13
EP0498201A3 (en) 1996-09-11
US5367643A (en) 1994-11-22
EP0498201A2 (en) 1992-08-12
US5634015A (en) 1997-05-27
JP2518986B2 (ja) 1996-07-31

Similar Documents

Publication Publication Date Title
JPH04336729A (ja) 汎用アダプタ
JP3452590B2 (ja) システムメモリからネットワークへのパケットに配列されるデータのフローを制御するネットワークアダプタおよびデータのフローを制御する方法
JP3361824B2 (ja) 複数個のプロセッサとシステムメモリ手段とを含むネットワークアダプタのための装置、ネットワーク制御装置、制御方法
US7676597B2 (en) Handling multiple network transport service levels with hardware and software arbitration
JP3448067B2 (ja) ネットワークアダプタのためのネットワークコントローラ
US6947425B1 (en) Multi-threaded sequenced transmit software for packet forwarding device
US5546543A (en) Method for assigning priority to receive and transmit requests in response to occupancy of receive and transmit buffers when transmission and reception are in progress
US5511166A (en) Method and apparatus for receive frame sorting in a media access control/host system interface unit
US5758075A (en) Multimedia communication apparatus and methods
US5247626A (en) Fddi controller having flexible buffer management
JP2539614B2 (ja) ポインタアドレスを発生するための装置および方法
US6976095B1 (en) Port blocking technique for maintaining receive packet ordering for a multiple ethernet port switch
JPH08298536A (ja) フレーム時間監視システム
US5119374A (en) Method of and system for implementing multiple levels of asynchronous priority in FDDI networks
US5347514A (en) Processor-based smart packet memory interface
WO2006036124A1 (en) Improved handling of atm data
US6667983B1 (en) Scaleable priority arbiter for arbitrating between multiple FIFO entry points of a network interface card
US7480706B1 (en) Multi-threaded round-robin receive for fast network port
JPH05227253A (ja) 効率的な論理プロトコルを使用した共用メモリと通信アダプタ間のメッセージ交換方法
EP0459756A2 (en) Fiber distributed data interface network