JP2584957B2 - ホスト指示結合式の装置 - Google Patents

ホスト指示結合式の装置

Info

Publication number
JP2584957B2
JP2584957B2 JP6508372A JP50837294A JP2584957B2 JP 2584957 B2 JP2584957 B2 JP 2584957B2 JP 6508372 A JP6508372 A JP 6508372A JP 50837294 A JP50837294 A JP 50837294A JP 2584957 B2 JP2584957 B2 JP 2584957B2
Authority
JP
Japan
Prior art keywords
host
data
logic
frame
threshold value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP6508372A
Other languages
English (en)
Other versions
JPH07507173A (ja
Inventor
ブライアン ピーターセン
ライ チン ロ
ダブリュー ポール シアー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
3 KOMU CORP
Original Assignee
3 KOMU 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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=25486742&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JP2584957(B2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 3 KOMU CORP filed Critical 3 KOMU CORP
Publication of JPH07507173A publication Critical patent/JPH07507173A/ja
Application granted granted Critical
Publication of JP2584957B2 publication Critical patent/JP2584957B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • 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
    • 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/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • 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/9047Buffering arrangements including multiple buffers, e.g. buffer pools
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9063Intermediate storage in different physical parts of a node or terminal
    • H04L49/9068Intermediate storage in different physical parts of a node or terminal in the network interface card

Landscapes

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

Description

【発明の詳細な説明】 クロスレファレンス 本発明は、発明時及び現在共に同じ譲受人により所有
された1992年7月28日出願の「ホスト指示最適化のネッ
トワークアダプタ(NETWORK ADAPTER WITH HOST INDICA
TION OPTIMIZATION)」と題する出願中の米国特許出願
第07/920,898号に関連したものである。
発明の分野 本発明は、ソース装置から行先装置へデータブロック
を転送することに係り、より詳細には、ホストプロセッ
サへ指示を結合転送することに係る。
先行技術の説明 一般に、ホストシステムにおいてソース装置からデー
タバスを経て行先装置へデータブロックが転送されると
きは、少なくとも2つの指示信号が発生される。ソース
装置は、転送の状態を記述する指示信号をホストプロセ
ッサへ発生する。第1の指示信号は、ソース装置がシス
テムメモリのような行先装置へデータのブロックを転送
する準備ができたときにホストプロセッサへ割り込み信
号を生じるように発生される。ホストプロセッサは、次
いで、この割り込み信号に応答してそのシステムパラメ
ータをセーブし、そしてその割り込みサービスルーチン
に入る。しかしながら、ホストプロセッサのシステムパ
ラメータをセーブして割り込みサービスルーチンに入る
ことは、システムの性能を低下させる。ホストプロセッ
サは、この動作状態の間に他の機能を実行できないだけ
でなく、システムパラメータをセーブするのに比較的長
時間を要する。例えば、システムパラメータをOS/2オペ
レーティングシステムにセーブするには、約30マイクロ
秒を要する。
ホストプロセッサの割り込みサービスルーチンの間に
は、データバス上のどの装置が割り込みを発生したかそ
してどんなサービスが要求されるかについて判断がなさ
れる。データのブロックを行先装置へ転送する必要のあ
るソース装置によって割り込みが発生された場合には、
ホストプロセッサは、行先装置への転送を開始する。ホ
ストプロセッサは、次いで、割り込みサービスルーチン
を出て、その手前の動作状態を続ける。
ソース装置によって発生される第2の指示信号は、デ
ータブロックの転送が完了したときに生じる。この第2
の指示信号もホストプロセッサへの第2の割り込みを発
生する。この場合も、ホストプロセッサがその割り込み
サービスルーチンに2回目に入りそして割り込みの原因
を判断して割り込みに応じることにより、システム性能
が低速化する。
一般に、単一のデータブロックが転送されるときに2
つの指示信号がホストプロセッサへ2つの割り込み信号
を発生し、各割り込み信号はシステム性能を低下させ
る。第1の割り込みは、データブロックが転送準備でき
たときに発生され、そして第2の割り込みは、データブ
ロックの転送が完了したときに発生される。
更に、1つのデータブロックの転送により発生される
割り込みは、第2のデータブロックを得るために発生さ
れる割り込みに対して時間的に比較的接近して生じる。
第1データブロックの転送完了指示により発生される第
2の割り込みは、転送準備指示により発生される第2デ
ータブロックの第1割り込みの直前に生じることがあ
る。比較的短い時間内に生じる両方の割り込みは、ホス
トコンピュータが割り込みサービスルーチンに立て続け
に入るようにさせる。
それ故、単一の割り込みにおける第2データブロック
の転送準備と、第1データブロックの転送完了との両方
に対しホストプロセッサへの指示信号を結合する装置を
提供することが望まれる。指示信号の結合は、データブ
ロックの転送中にホストプロセッサへ発生される割り込
みの数を減少し、最適なホストシステム性能、特に、ホ
ストプロセッサ性能を得られるようにする。
発明の要旨 本発明は、データブロックの転送の指示を結合するた
めのソース装置を提供する。この装置は、バッファメモ
リと、データブロックをバッファメモリから行先装置へ
転送する手段とを備えている。第1データブロックの転
送終了付近で第1信号を発生する手段と、第2データブ
ロックの転送開始付近で第2信号を発生する手段とが含
まれる。更に、第2信号の予想される発生に対して第1
信号を遅延するための手段が設けられる。
本発明の別の特徴において、第2信号を発生する手段
は、バッファメモリに接続されたカウンタであって、バ
ッファメモリによって受け取られるデータの量をカウン
トするためのカウンタを備えている。このカウンタを、
第1の変更可能な記憶位置にある準備スレッシュホール
ド値と比較する手段は、カウンタと、準備スレッシュホ
ールド値を含む第1の変更可能な記憶位置との比較に応
答して、第2信号を発生する。
本発明の別の特徴によれば、第1信号を遅延する手段
は、転送完了遅延スレッシュホールド値を含む第2の変
更可能な記憶位置とを備えている。カウンタ及び第2の
変更可能な記憶位置には加算器が接続され、この加算器
は、カウンタ及び第2の変更可能な記憶位置の値の和を
出力する。加算器の出力と第1の変更可能な記憶位置と
に比較器が接続され、準備スレッシュホールド値を含む
第1の変更可能な記憶位置とカウンタの比較に応答して
第1信号を発生する。
本発明の更に別の特徴においては、ネットワークトラ
ンシーバからデータフレームを転送する装置がソース装
置であり、これは、ネットワークと、行先装置を含むホ
ストシステムとに接続される。この装置は、データフレ
ームを記憶するためのバッファメモリと、ネットワーク
トランシーバからデータフレームを受け取るためのネッ
トワークインターフェイスロジックとを備えている。受
信スレッシュホールドロジックは、データフレームの一
部分を受け取るのに応答して早期受信指示信号を発生す
る。更に、バッファメモリからホストシステムへデータ
フレームを転送するためのホストインターフェイスロジ
ックが設けられると共に、ホストシステムへのデータフ
レームの転送に応答して転送完了指示信号を発生するた
めの転送完了ロジックも設けられる。又、転送完了指示
信号をある時間遅延する指示結合ロジックも含まれる。
本発明の別の特徴によれば、ネットワークトランシー
バからバッファメモリへのデータフレームを受け取りそ
してバッファメモリからホストシステムへデータフレー
ムを転送するためのネットワークアダプタが設けられ
る。ホストシステムは、ホストプロセッサ及びホストメ
モリを備えている。ホストプロセッサは割り込みに応答
しそしてある時間中ネットワークアダプタにサービスす
る。ネットワークアダプタは、ネットワークトランシー
バからバッファメモリへのデータフレームを受け取るた
めのネットワークインターフェイスロジックを備えてい
る。受信スレッシュホールドロジックは、ある量のデー
タフレームの受信に応答して、早期受信指示信号を発生
する。受信スレッシュホールドロジックは、バッファメ
モリから受け取られるデータの量をカウントするために
バッファメモリに接続されたカウンタと、受信スレッシ
ュホールド値を含む第1の変更可能な記憶手段とを備え
ている。カウンタを変更可能な記憶位置における受信ス
レッシュホールド値と比較しそしてカウンタと変更可能
な記憶位置との比較に応答して指示信号を発生するため
の手段が設けられる。又、バッファメモリからホストシ
ステムへデータフレームを転送するためのホストインタ
ーフェイスロジックも含まれる。転送完了ロジックは、
ホストシステムからのデータフレームの転送に応答して
転送完了指示信号を発生する。制御手段は、転送完了指
示信号に応答してホストプロセッサへ割り込み信号を発
生する。又、制御手段は、早期受信及び転送完了指示信
号を表す状態情報をポスト処理し、これらはホストプロ
セッサにより読み取られる。更に、指示結合ロジック
は、ホストプロセッサがネットワークアダプタにサービ
スする時間中に早期受信指示信号が生じるように転送完
了指示信号を遅延する。
本発明の他の特徴及び効果は、添付図面を参照した以
下の詳細な説明及び請求の範囲から当業者に容易に明ら
かとなろう。
図面の簡単な説明 図1は、ホストシステムにおいて指示結合ロジックを
もつソース装置を示した図である。
図2は、本発明によるネットワークアダプタ構成を示
す図である。
図3は、本発明によるホスト指示最適化のための指示
結合ロジック及びスレッシュホールドロジックをもつネ
ットワークアダプタの機能ブロック図である。
図4は、本発明によるネットワークインターフェイス
アダプタのブロック図である。
図5は、図4に示すインターフェイスコントローラチ
ップの機能ブロック図である。
図6は、本発明によりホストメモリスペースからアダ
プタメモリを経てネットワークへ至るデータの流れを示
す回路図である。
図7は、本発明によるデータ転送に使用されるホスト
システムアドレススペースのマップを示す図である。
図8は、ホストシステムアドレススペースとは独立し
たアダプタメモリのメモリマップである。
図9aないしbは、本発明の1つの特徴による送信及び
転送記述子データ構造体を示す図である。
図10は、送信記述子リングバッファ及び送信データバ
ッファと、本発明による送信動作中に使用されるポイン
タとの管理を示す図である。
図11aないし11eは、送信記述子リングバッファ及び送
信データバッファに対するポインタの管理を概略的に示
す図である。
図12は、受信リングバッファ及び送信記述子バッファ
の動作を、これらバッファを管理するためにホスト及び
ネットワークインターフェイスによって発生されるポイ
ンタと共に示した発見的な図である。
図13aないしbは、代表的なスレッシュホールド値を
もつ典型的なデータフレームフォーマットである。
図14は、残り長さスレッシュホールドロジックに対す
るデータ長さの選択を示す論理流れ図である。
図15は、図5の受信DMAブロックにおける受信指示機
能の受信指示機能ブロック図である。
図16aないしbは、図15の残り長さスレッシュホール
ド及びルックアヘッド(見越し)スレッシュホールドレ
ジスタの構成を示す図である。
図17は、図15に示す受信完了制御ブロックの受信完了
制御状態マシン図である。
図18は、図15の長さフィールドレジスタの長さフィー
ルドレジスタ構成を示す図である。
図19は、図15に示す早期受信制御ブロックの早期受信
制御状態マシン図である。
図20は、典型的な指示を伴う受信フレーム及び転送フ
レームタイムラインを示す図である。
図21は、図5のアップロードDMAブロックにおけるア
ップロード指示機能のアップロード指示制御状態マシン
図である。
図22aないしdは、種々の条件のもとで転送完了信号
のタイミングシーケンスを示す図である。
図23は、図5のアップロードDMAブロックにおけるア
ップロード指示機能の転送完了スレッシュホールドレジ
スタの構成を示す図である。
図24は、図5のアップロードDMAブロックにおけるア
ップロード指示機能の転送遅延合致レジスタの構成を示
す図である。
図25は、図5のアップロードDMAブロックにおけるア
ップロード指示機能の転送指示遅延レジスタの構成を示
す図である。
図26は、図5のアップロードDMAブロックにおけるア
ップロード指示機能の転送スレッシュホールド合致構成
を示す図である。
好ましい実施例の詳細な説明 添付図面を参照し、本発明の好ましい実施例を詳細に
説明する。図1は、指示結合ロジックを含むソース装置
をもつホストシステムを示している。図2ないし5は本
発明によるネットワークアダプタの実施を示している。
図13ないし19は受信スレッシュホールドロジックを示し
ている。図20ないし26は指示結合ロジックを説明するも
のである。
図1は、指示結合ロジック10aをもつソース装置3を
示している。このソース装置3は、ホストプロセッサ5
及び行先装置7と共にバス4に接続される。図1は、第
1のデータブロック(DB)が行先装置7へ転送されてい
る一方、第2DBの一部分がソース装置3において転送の
準備ができている動作状態を示している。この実施例に
おいて、第2DBないしN番目のDBは、ソース装置3の外
側に示されている。しかしながら、他の実施例では、デ
ータブロックはソース装置3内に存在し、行先装置7へ
転送する前に準備される必要がある。図1の現在状態に
おいては、第1DBが転送を完了したという指示信号は、
第2DBの一部分が転送の準備ができたという指示と結合
され、ホストプロセッサ5への単一の割り込みを生じ
る。
図2は、本発明によるネットワークアダプタ構成を示
す。指示結合ロジック10aをもつネットワークアダプタ3
aがネットワーク2及びホストシステム1に接続され
る。ネットワークアダプタ3aは、ネットワーク2とホス
トシステム1との間でデータフレームを転送する役目を
果たす。好ましい実施例では、ネットワーク2はイーサ
ネットネットワークである。ホストシステムは、EISAバ
スのようなホストバスを含む。ホストシステムバス4
は、ホストシステムアドレススペースを画成するアドレ
スラインを含む。典型的に、EISAバスの場合は、約4ギ
ガバイトのホストシステムアドレススペースを確立する
32本のアドレスラインがある。ホストシステムは、更
に、ホストバス4に接続されたホストメモリ6、ホスト
プロセッサ5及び他のホスト装置7aを備えている。典型
的に、ホストバス4上の装置、例えば、ネットワークア
ダプタ3aは、ホストバス4に割り込みを発生することに
よりホストプロセッサ5からのサービスを要求する。ホ
ストプロセッサ5は、次いで、そのシステムパラメータ
をセーブして、どの装置が割り込みを生じたかそしてど
んなサービスが要求されたかを決定しなければならな
い。ネットワークアダプタ3a又はバス4上の他の装置に
よって発生された割り込みにホストプロセッサが応じな
ければならないときにはホストシステムの性能が低下さ
れる。
ネットワークアダプタ3aの指示結合ロジック10aは、
ホストプロセッサ5へと発生された割り込みの数を減少
するように構成される。指示結合ロジック10aは、転送
完了指示信号をいつ発生すべきかを決定し、この信号
が、受信されるべき次のデータフレームの準備指示信号
の発生の若干前に発生されるようにする。それ故、ホス
トプロセッサ5は、第1フレームの転送完了指示により
生じた割り込みサービスルーチン中に次のフレームの早
期受信指示に応じることができる。ホストプロセッサが
単一割り込みサービスルーチン中に2つの指示に応じる
ことができることにより、割り込みの数を2分の1に減
少することができ、これはデータフレーム転送中のホス
トシステム性能を相当に高める。
図3は、スレッシュホールドロジック10及び指示結合
ロジック10aをもつネットワークアダプタ3aの機能ブロ
ック図であって、種々の転送経路を示している。ネット
ワークアダプタ3aは、ネットワーク2を横切ってデータ
フレームを送信及び受信するトランシーバ12を含んでい
る。ネットワークインターフェイスロジック11は、ネッ
トワークバッファ9とトランシーバ12との間でデータフ
レームの転送を果たす。同様に、ネットワークアダプタ
3aは、ネットワークバッファ9とホストシステム1との
間でデータフレームを転送する役割を果たすホストイン
ターフェイスロジック8を備えている。スレッシュホー
ルドロジック10は、スレッシュホールド値を含む変更可
能な記憶位置(図示せず)を含んでいる。このスレッシ
ュホールド値は、早期指示信号が発生されてホストイン
ターフェイスロジック8がホストプロセッサ5へ割り込
みを送るようにさせる前にバッファ9へ又はバッファ9
から転送されるデータフレームの量を表す。ホストプロ
セッサ5は、ホストインターフェイスロジック8を経
て、スレッシュホールド値を含む変更可能な記憶位置へ
アクセスする。
又、スレッシュホールドロジックは、指示が発生され
る時間をホストプロセッサ5の以前の応答に基づいてホ
ストプロセッサ5が動的に変更するための手段も備えて
いる。ホストプロセッサは、割り込みに応答するとき
に、ネットワークアダプタの状態情報を検討して、ホス
トプロセッサ5が割り込みに応じるのが早過ぎるか遅過
ぎるかを決定する。次いで、ホストプロセッサ5は、指
示信号の最適な発生を得るように変更可能な記憶位置に
おけるスレッシュホールド値を変更することができる。
I.システムの概要 図4は、本発明のネットワークインターフェイスアダ
プタをもつホストシステム1の回路図である。ネットワ
ークインターフェイスコントローラは、1つの好ましい
システムにおいては公知のVERILOG設計ツールを用いて
以下の機能を実行するよう構成されたアプリケーション
指向の集積回路として実施されるネットワークインター
フェイスプロセッサ14を備えている。VERILOG設計ツー
ルは、カリフォルニア州サンノセのカデンス社から入手
できるものである。ネットワークインターフェイスプロ
セッサ14は適当なバッファを経てバス13に接続される。
又、ネットワークインターフェイスプロセッサ14は、ラ
ンダムアクセスメモリ15、BIOS ROM16、INFO EEPROM1
7、テストポート18、エンコード/デコードチップ19、
及びネットワークトランシーバ20に接続されている。ネ
ットワークトランシーバ20は、次いで、ネットワーク媒
体に接続される。
大部分の機能は、ネットワークインターフェイスプロ
セッサ14において実施される。好ましい実施例におい
て、ホストシステムによりバス13を横切ってアクセスで
きる全てのレジスタは、プロセッサ14又はRAM15のいず
れかに存在する。RAM15に存在する場合には、それらの
アスセスがネットワークインターフェイスプロセッサ14
によって管理される。
RAM15は、ネットワークインターフェイスコントロー
ラにおける一次リソースである。このリソースは、ネッ
トワークインターフェイスの送信及び受信動作に使用さ
れるホストアドレススペース以外のバッファメモリを構
成する。このRAM15の編成及び利用に関する詳細は、以
下に述べる。
BIOS ROM16は、初期化の間にネットワークインター
フェイスプロセッサ14を介してホストシステムの基本的
入力/出力コードに対する拡張を与えるものである。BI
OS ROM16のアドレス及びBIOS ROM16からのデータは、
各々バス21及び22を横切ってネットワークインターフェ
イスプロセッサ14へ接続され、これらのバスはRAM15に
よっても共有される。
INFO EEPROM17は、ドライバ、診断及びネットワーク
管理ソフトウェアにより使用される重要なアダプタ指向
のデータを記憶する。このデータは製造プロセス中に記
憶される。インターフェイスコントローラの初期化中
に、EEPROM17の内容は、動作中に使用するためにRAM15
の予め指定されたエリアにロードされる。
インターフェイスプロセッサ16に接続されるのは、ナ
ショナルセミコンダクタの8391マンチェスタエンコード
/デコードチップのようなエンコード/デコードチップ
19である。AUIコネクタに接続される信号は、ボードの
外部のトランシーバを使用できるようにするために設け
られている。
好ましいシステムにおけるトランシーバ20は、シンイ
ーサネット(coax/BNC)トランシーバ又は10BeatT(タ
イプ3/RJ45)トランシーバのいずれかを備えている。ト
ランシーバ20のための制御信号は、エンコーダ/デコー
ダチップ14の変換ロジックを用いてネットワークインタ
ーフェイスコントローラ14に発生される。
好ましいシステムでは、製造及びテスト中に使用する
ためにテストポート18が設けられる。
II.コントローラ機能ユニット 図5は、機能的ブロック及びデータ路を含む図4のネ
ットワークインターフェイスプロセッサ14のブロック図
である。種々のデータ流路の制御と共に行わねばならな
い多数の接続がある(図示せず)。図示されたインター
フェイスは、RAMインターフェイス50、ホストバスイン
ターフェイス51及びトランシーバインターフェイス52を
備えている。バスインターフェイス51は、EISAバスに対
して実施され、バス上のマスター又はスレーブとしてし
ばしば動作する。図5に示す実施例の各機能ユニット
は、以下で説明する。
A.EISAスレーブインターフェイス54 EISAスレーブインターフェイス54は、ネットワークイ
ンターフェイスコントローラにより管理されるレジスタ
及びバッファをアクセスするためのEISAホストバスの経
路を形成する。モジュールは、コントローラのための構
成レジスタを含み、信号をルート指定する目的でEISAバ
スの生のデコードを実行する。EISAスレーブインターフ
ェイス54は、コントローラ全体にわたって分散された個
々のレジスタのアドレス動作には割り込まない。
動作に際し、EISAスレーブインターフェイスは、EISA
アドレスバスを連続的に監視し、構成レジスタ、メモリ
マップネットワークレジスタ又はアダプタのBIOS ROM
がいつアクセスされるかを決定する。
更に、EISAバスにより開始された各メモリスレーブサ
イクルごとに、EISAスレーブインターフェイスは、サイ
クルアービタ56へのサイクル要求をポスト処理する。サ
イクルアービタは、要求が許可されるまでホストシステ
ムに待機状態を課する。
又、EISAスレーブインターフェイスは、ネットワーク
コントローラの残り部分に対し一般的な32ビットインタ
ーフェイスも形成する。このインターフェイスの一般的
な性質は、チップの残り部分の再設計を要求することな
く、マイクロチャンネルのような他のバス形式に設計を
容易に適応できるようにする。
EISAアドレスバスのビット14−2はラッチされ、他の
モジュールへ通される。アドレスの最下位2ビットは、
データ転送サイクル全体にわたって有効である4バイト
ネーブルによって要求される。4つのビットバイトレー
ンがスレーブチャンネルを構成する。データバスは、実
際には、一対の無指向性バスであり、その1つは好まし
いシステムの書き込みに対するものでありそしてもう1
つは読み取りに対するものである。データ書き込みバス
は、スレーブインターフェイスを通してEISAデータバス
への接続を要求する全てのモジュールへマルチドロップ
形態で配線される。読み取りバスは、RAMインターフェ
イスモジュール50においてマルチプレクスされマスクさ
れる。EISAバスによる書き込み要求は、サイクルアービ
タ56によって確認されるまで保持することができる。1
つのサイクルが保持されたときは、EISAバスが待機状態
から解放され、一方そのサイクルがアービタにおいて完
了する。EISAバスにより第2のサイクルが発生されるが
第1のサイクルが依然として保留中である場合には、EI
SAバスは保留中の書き込みが実行されるまで待機状態で
オフに保たれる。この特定の実施例では、EISA読み取り
のパイプライン動作はサポートされない。
又、EISAスレーブインターフェイスは、EEPROM17への
インターフェイスも構成する。このインターフェイス
は、EEPROM17の内容をアダプタメモリへリセット後に転
送するように動作する。
EISAスレーブインターフェイスモジュール54には、EI
SAバス仕様に合致するアダプタの構成に主として関連し
た多数のレジスタが存在する。これらのレジスタは、ア
ダプタのメモリのベースアドレス、割り込みレベル、ト
ランシーバのタイプの選択、及びBIOS ROMイネーブル
を設定するといったことを行う。又、構成レジスタは、
アダプタのタイプを識別しそしてアダプタを全体的にデ
ィスエイブルする確実な手段をホストに与えるものであ
る。
B.EISAマスターインターフェース55 EISAマスターインターフェース55は、アップロードDM
A57及びダウンロードDMA58からの要求を取り扱い、EISA
バスを横切るバスマスター動作を実行する。EISAマスタ
ーインターフェース55は、保留中のアップロード要求と
ダウンロード要求との間を自律的に仲裁する。というの
は、バースト転送を実行する間に混合読み取り及び書き
込みを許さないEISAバスが好ましい実施例のDMA動作に
よって使用されるからである。
バスマスター転送は、常に、アップロードDMA57又は
ダウンロードDMA58によって開始される。これらの転送
は、転送完了時にDMAモジュールによって終了される
か、又はEISAバス上の別の任意装置による先取りの際に
EISAマスターインターフェイスによって終了される。
従って、EISAマスターインターフェイス55の機能は、
アップロードDMA57及びダウンロードDMA58の一方又は両
方から転送要求が保留になっているときにEISAバスへの
アスセスを仲裁することである。EISAマスターインター
フェイス55は、バス上のアドレススレーブと第1転送を
確立するに必要な信号処理を実行する。又、EISAバス定
義との適合性を確保する。
又、このモジュールは、アダプタモジュールロジック
59によりイネーブルされたときに、真のモジュールセグ
メント:オフセットアドレスを20ビットリニアアドレス
に変換する。
C.マスター/スレーブユニオンモジュール53 マスター/スレーブユニオンモジュール53は、EISAマ
スターインターフェイス55及びEISAスレーブインターフ
ェイス54がEISAバスへの接続を共有するようにさせる。
このユニオンモジュール53は、主として、一連の2:1マ
ルチプレクサで構成される。
D.割り込みコントローラモジュール60 又、コントローラは、割り込みコントローラモジュー
ル60も備えている。この割り込みコントローラモジュー
ル60は、マスキング及びイネーブル/ディスエイブルメ
カニズムを含む種々の割り込み及び指示機能を実施す
る。コントローラ内の種々のモジュールによって割り込
み信号が発生されそして割り込みコントローラモジュー
ル60へルート指定される。次いで、割り込みコントロー
ラモジュール60は、割り込み信号を種々のイネーブル及
びマスクに通した後にそれらをオアしてその結果をホス
トバスに送る。
割り込みコントローラモジュール60は、割り込みにふ
さわしい事象を検出せず、又、ホストへ通される割り込
みも確認しない。これは、割り込み取扱機能に使用され
る多数のASIC常駐レジスタを備えている。
E.アダプタモードモジュール59 アダプタモードモジュール59は、コントローラの種々
の基本的な動作モードを設定したり、コントローラの種
々の条件の状態を報告したりすることを含む多数の機能
を与える。又、アダプタのモジュール59は、ホストシス
テムによる診断に使用するウインドウレジスタのベース
アドレスを確立する。更に、アダプタモードモジュール
59は、アダプタのためのリセット機能を発生する。又、
このモジュールは、コントローラ内の種々のモジュール
及びホストシステムへ通信するために装置により実施さ
れる媒体アクセスコントローラを識別するMAC IDレジ
スタを形成する。
F.サイクルアービタモジュール56 サイクルアービタモジュール56は、要求を発する種々
の装置の中でRAMインターフェース50を経てアダプタのR
AM常駐及びASIC常駐のレジスタへアクセスを分配すると
いう役割を果たす。又、これは、優先順位機構に応答し
てオーバーラン又はアンダーラン状態を被る危険性が最
も高いモジュールによるRAMへのアクセスを適宜許すよ
うに働く。
G.マルチキャスト比較器モジュール61 図5に示すコントローラは、マルチキャスト比較器モ
ジュール61も備えている。アダプタモードモジュール59
によりイネーブルされたときに、マルチキャスト比較器
モジュール61は、受信したフレームの行先アドレスフィ
ールドとマルチキャストアドレステーブルの内容とのビ
ットごとの比較を実行する。マルチキャストアドレステ
ーブルはホストにおいて確立されそしてRAM15に記憶さ
れる。この比較中の不一致で、個々のアドレスにも放送
アドレスの一致にも関連していない不一致は、到来する
フレームの拒絶を生じる。
従って、マルチキャスト比較器モジュール61は、イー
サネット受信器モジュール62及び受信DMAモジュール63
の働きを監視して、新たなフレームをいつ受け取るかを
判断する。イーサネット受信器62によって受け取られて
受信器の並列インターフェイス64に与えられる各バイト
は、マルチキャスト比較器モジュール61によりシャドー
処理される。これらのバイトは、次いで、マルチキャス
ト比較器61によりアクセスできるマルチキャストアドレ
ステーブルにおける有効エントリーに対して比較され
る。
マルチキャスト比較器61は、マルチキャストアドレス
テーブルの内容を確立したり維持したりしない。しかし
ながら、このモジュールは、テーブルへのホストアクセ
スを検出し、RAMインターフェイスモジュール50へ適当
なレダイレクションオフセットを供給する。
H.統計学的コントローラモジュール65 好ましいシステムは、統計学的コントローラモジュー
ル65も備えている。このモジュールは、コントローラ内
の種々の他のモジュール、特に、イーサネット送信器モ
ジュール66及びイーサネット受信器モジュール62の働き
を監視し、そして該当する事象が生じたときにRAM15に
維持された統計値を更新する。
I.ダウンロードRAMモジュール58 ダウンロードRAMモジュール58は、データのバスマス
ターダウンロードのための要求をホストシステムからア
ダプタメモリへ発行する役目を果たす。このデータは、
次いで、アダプタのオンボード送信データバッファ内に
蓄積され、直ちに送信されるか又は将来送信される。
以下に述べるように、バッファ記述子が定義されそし
て送信データバッファの1つが使用できるようになるや
否や、ダウンロードDMAモジュールは、ダウンロードバ
スマスター動作のための要求をEISAマスターインターフ
ェイス55へ送る。ダウンロードDMAモジュール58は、要
求されたパッキング及びアンパッキングを含むバイト整
列を実行し、ホスト及びアダプタの各スターとアドレス
により指示されるデータを整列させる。
又、ダウンロードDMAモジュール58は、アダプタのRAM
内に送信記述子リングバッファを維持するためのロジッ
クも含んでいる。ダウンロードDMAモジュール58は、ダ
ウンロード動作の完了を指示するために適当なモードで
割り込みを発生する。又、ダウンロードDMAモジュール5
8は、送信を開始すべきときを送信DMAモジュール67に知
らせる。ダウンロードDMA動作に含まれる種々のレジス
タは、本発明のデータバッファプロセスにそれらが直接
含まれるときに以下で詳細に説明する。
J.送信DMAモジュール67 送信DMAモジュール67は、以下に述べるように、ダウ
ンロードDMAロジック58によって指令されたときに、送
信記述子バッファ、送信データバッファ又はその両方か
らバイトをフェッチするように動作する。フェッチされ
たバイトは、イーサネット送信モジュール66へ順次に送
られる。
従って、送信DMAモジュール67は、送信記述子リング
バッファの内容を読み取って、即時データの程度及び送
信されるべき全フレームの長さを決定する。指定された
フレームがネットワークの仕様に一致せず、例えば802.
3の最小値より短く、そしてアダプタがイネーブルされ
る場合には、このモジュールは、不定データの追加バイ
トをイーサネット送信モジュール66へパッドとして供給
する。
CSMA/CDネットワークにおける衝突再試行は、送信DMA
モジュール67によって取り扱われる。イーサネット送信
器66によって衝突が指示されたときには、送信DMAモジ
ュール67は、バッファのフレーム記述子を再解読するこ
とにより同じフレームを再送信する。
イネーブルされた場合及び送信完了を満たすときに
は、送信完了割り込みが発生され、送信DMAモジュール6
7の割り込みコントローラ60により処理される。
又、送信DMAモジュール67は、送信の完了時にアダプ
タの送信記述子リングバッファに適当なフレーム状態を
記憶する。
又、送信DMAモジュール67は、送信に使用できるデー
タの不足が生じたときにアンダーラン状態を検出する。
この場合も、送信DMAモジュール67の動作に含まれる
レジスタは、以下で詳細に説明する。
K.イーサネット送信モジュール66 イーサネット送信モジュール66は、802.3の標準ネッ
トワークに対して本質的に実施されるものである。この
モジュールは、送信DMAモジュール67からの並列データ
バイトを受け入れ、802.3のアクセスルールを適用し、
そしてシリアルデータを外部エンコーダ/デコーダチッ
プへ供給する。
L.イーサネット受信モジュール62 同様に、イーサネット受信モジュール62は、本質的な
802.3の実施である。このモジュールは、外部エンコー
ダ/デコーダからのシリアルデータを受け入れ、802.3
のルールをデータに適用し、そして受信DMAモジュール6
3により使用するようにデータをパラレル形態で与え
る。従って、イーサネット送信器66及びイーサネット受
信器は、標準CSMA/CD機能を実行する。
M.受信DMAモジュール63 受信DMAモジュール63は、送信DMAモジュール67に対し
相補的に機能するものである。このモジュールは、イー
サネット受信器62におけるパラレルデータバイトを受け
入れそしてそれらをアダプタの受信リングバッファに蓄
積する。
受信DMAモジュール63は、イーサネット受信器からの
バイトを、アダプタのRAMに記憶する前に32ビットワー
ドに組み立てる役割を果たす。フレーム受信の完了時
に、フレームの状態及び長さが、ホストシステムにより
使用されるように受信リングバッファ内に蓄積される。
又、受信DMAモジュール63は、以下で詳細に述べるよ
うに、アダプタのRAM内に受信バッファリングを確立し
そして維持する役目を果たす。更に、以下に述べるよう
にホストが受信データを観察できるようにする「LOOKBU
F」レジスタの配置は、受信DMAモジュール63によって取
り扱われる。
又、受信DMAモジュール63は、適当な状態のもとで割
り込み指示を取り扱う。
N.アップロードDMAモジュール57 アップロードDMAモジュール57は、受信バッファからR
MAインターフェイス50を経てホストシステムへのデータ
転送を実行する。従って、受信リングバッファは、受信
DMAモジュール63によって管理され、そしてアップロー
ドDMA57によって解読される。実際のバスマスター転送
は、EISAマスターインターフェイスモジュール55によっ
て実行される。
アップロードDMAモジュール67は、受信DMAモジュール
63により受信リングバッファに蓄積されたデータ構造体
であって、受信フレームの位置及び長さを含むデータ構
造体を解読する。又、ホストシステムにより定義された
転送記述子を読み取り、いかに多くのフレームバイトを
転送すべきかそしてホストフレーム内のどこにフレーム
を転送すべきかを決定する。
アップロードDMAモジュール57は、ホストにより蓄積
される有効な転送要求に応答してEISAマスターインター
フェイスモジュール55からバスマスターサイクルを要求
する。
又、アップロードDMAモジュール57は、受信DMAモジュ
ール63とアップロードDMAモジュール57との間のインタ
ーロックを使用して、ホストシステムへの転送率を減少
し、フレームの「先取り(getting ahead)」が受信DMA
モジュール63を経て受け取られるのを防止する。最後
に、このモジュールは、ホストにより使用するために転
送の完了を指示する割り込みを発生する。この手順に含
まれる種々のレジスタは、以下に説明する。
O.RAMインターフェイスモジュール50 RAMインターフェイスモジュール50は、RAMをアドレス
する際に含まれる種々の機能のためのマルチプレクサ及
びマスクを形成する。このモジュールは種々のアドレス
及びデータソースをマルチプレクスし、RAMアクセスサ
イクルに対するパラメータを形成する。このモジュール
50は、コントローラの種々の他のモジュールから、ホス
トシステムにより読み取ることのできるデータを収集す
る役目を果たす。更に、このモジュールは、未使用の上
位ビットを強制的にゼロにするようにデータにマスクを
適用すると共に、マルチサイクル読み取りのためにデー
タワードをラッチする。
P.JTAGモジュール 図示されていないが、コントローラには、1990年5月
21日付けのIEEE規格1149.1、1990年に規定された状態マ
シンを実施するJTAGモジュールも含まれる。このモジュ
ールは、製造中に使用するためのASICピンの走査テスト
を行う。
III.送信及び受信データ流及び構造 本発明によるアダプタの発見的データ流の図であっ
て、ホストインターフェイス、アダプタメモリ、及びネ
ットワークインターフェイスのデータ流を送信及び受信
に対して強調したものである。
上記したように、ホストシステムは、ホストバス上の
アドレスにより定義されたホストメモリスペース(一般
に100)を含む。このホストメモリスペースの予め指定
されたブロック101は、アダプタインターフェイスアド
レスに対して別にセットされる。アダプタは、そのイン
ターフェイスアドレスブロック101内のホストバスを横
切るアクセスに応答するホストインターフェイスロジッ
ク102を備えている。又、アダプタには、ホスト独立メ
モリ103もある。ホストインターフェイスロジックは、
アドレスの指定ブロック101と独立メモリとの間の転送
データを操作する。又、アダプタは、アダプタメモリに
接続されたネットワークインターフェイスロジック104
を備えている。このネットワークインターフェイスロジ
ックは、独立メモリ103及びネットワークトランシーバ1
2内におけるバッファからのデータの転送を管理する。
ネットワークトランシーバ12は、次いで、データをネッ
トワーク媒体106に供給する。
ホストインターフェースロジックは、送信プロセスに
使用される送信記述子ロジック及びダウンロードDMAロ
ジック(一般に107)と、受信プロセスに使用されるビ
ューロジック、転送記述子ロジック及びアップロードDM
Aロジック(一般に108)とを備えている。これらのモジ
ュールは、基本的に、ホストシステムによるアダプタイ
ンターフェイスアドレスブロック101への書き込みに応
答して独立メモリ103とホストとの間のデータの通信を
管理する。これは、送信及び受信動作のためのアドレス
変換又はバッファ管理機能についてホストの軽減を図
る。
ネットワークインターフェイスロジック104は、送信D
MAロジック(一般に109)と、受信DMAロジック(一般に
110)とを備えている。送信DMAロジック109は、以下に
述べるように、アダプタメモリ103に記憶された記述子
に応答して、独立アダプタメモリ103からネットワーク
トランシーバ12へデータを移動する。同様に、受信DMA
ロジック110は、トランシーバ12から独立アダプタメモ
リ103へデータを移動する役割を果たす。従って、ネッ
トワーク媒体106からのデータの全ての通信は、ホスト
独立メモリ103へ直接接続される。ホスト独立メモリ103
からの通信は、ホストメモリスペースのメモリマップ領
域に応答してホストインターフェイスロジック102を介
して制御され、ネットワークと通信するに必要なプロト
コルソフトウェアを相当に簡単化する。
図7は、アダプタインターフェイスホストアドレスブ
ロック101の簡単なマップである。このブロック内のア
ドレスは、ホストにとっては、好ましいシステムにおけ
るホストアドレススペースの連続する8Kブロックのメモ
リマップレジスタのように見える。
EISA実施例の場合には、ブロック101の「レジスタ」
即ちマップ領域はダブルワードアドレス境界に配置され
ており、従って、アドレスは4の倍数となる。「レジス
タ」の多くは、メモリスペースの多数のダブルワード
(509程度の)を占有する。
「レジスタ」は、ホストアドレススペースの任意に指
定されたブロックに対してマップされたメモリである
が、ホストシステムによりこれらレジスタに対して行わ
れる読み取りも書き込みもアダプタメモリを実際には直
接アクセスしない。むしろ、メモリマップスペースへの
アクセスは、ホストシステムに透過的なホストインター
フェイスロジック104によって解読される。従って、ア
ダプタ内のメモリは、ホストアドレススペース及びホス
ト管理とは独立している。図6は、これらレジスタをア
クセスするのに使用されるアダプタインターフェイスホ
ストアドレススペースの全体的なマッピングを示す。こ
れらレジスタは、主として、オフセット0010(16進)に
おける送信エリアレジスタ(XMIT AREA)と、オフセッ
ト0800(16進)における転送エリアレジスタ(XFERARE
A)と、オフセット100C(16進)におけるルックバッフ
ァ(LOOKBUF)とを備えている。種々の状態、統計値、
情報及び指示のレジスタはエリアの残り全体に分散され
る。
XMIT AREAレジスタは、ホストにより送信記述子をア
ダプタへ書き込むのに使用される。送信記述子は、以下
で詳細に述べるが、フレームとしてコンパイルされて送
信されるべきデータを識別するデータを含み、そして即
時データを含んでもよい。オフセット0010(16進)にお
けるXMIT AREAは約2Kバイトのサイズである。このデー
タは、以下に述べるように独立したアダプタメモリにお
ける送信記述子リングにマップされる。
アダプタインターフェイスのホストアドレスブロック
におけるオフセット0800(16進)のXMIT AREAは、約1K
バイトのバッファであり、これを通して転送記述子がア
ダプタの独立メモリに書き込まれる。オフセット100C
(16進)におけるLOOKBUFエリアは、ホスト独立アダプ
タメモリ内の受信リングバッファヘリードオンリウイン
ドウを与える約2Kバイトのバッファである。
図8は、アダプタのホスト独立メモリのマップであ
る。このメモリは、オフセット0における約3Kバイトの
送信データバッファと、オフセットOC00(16進)におけ
る約5Kバイトの送信記述子リングと、オフセット2000
(16進)における約22Kバイトの受信バッファリング
と、オフセット7800(16進)における約1Kバイトの送信
記述子エリアとに編成され、これは独立メモリに設けら
れる。最後の3つのメモリエリアは、アダプタにより使
用するためのアダプタ情報、ネットワーク統計情報、及
びマルチキャストアドレステーブルを含む。
好ましいシステムにおいて、アダプタは、送信バッフ
ァ、受信バッファ、制御構造、並びに種々の状態及び統
計学的レジスタとして、32KバイトのスタティックRAMを
使用する。図8に定められたアダプタメモリの多数の領
域は、定義されたデータ構造を与える。
A.送信データバッファ 送信データバッファは上記のように3Kバイトを占有す
る。この領域は2つの1.5Kバッファに分割される。バス
マスター転送によりアダプタへダウンロードされるデー
タのみがこれらバッファに記憶される。コントローラ
は、送信のためのフレームをカプセル化するときに、送
信データバッファの内容と、送信記述子の即時データ部
分との両方を使用する。アダプタは、メモリのベースに
最も近いバッファをパワーアップデフォールトとして選
択した後にバッファの使用を自動的に交替する。
送信バッファは、ダウンロードDMAロジック及び送信D
MAロジックによって共有される。送信DMAロジックは、
バッファ0からバッファ1に切り換わりそして再び自由
に戻る。唯一の制約は、送信開始スレッシュホールドレ
ジスタにより定められた送信データの利用性である。送
信DMAモジュールは送信を完了したときに1つのバッフ
ァから他のバッファへ切り換わる。バッファの切り換え
は、送信が首尾良くいったかどうかに関わりなく且つバ
スマスターダウンロードデータが手前の送信に使用され
たかどうかに関わりなく行われる。
ダウンロードDMAモジュールは、切り換わろうとして
いるバッファが送信DMAモジュールによって使用されて
いない場合にのみ、1つのバッファから他のバッファへ
切り換わることができる。ダウンロードDMAは、以下に
述べるように、送信記述子の処理を完了するたびに、手
前の記述子においていずれかのバスマスター動作が呼び
出されたかどうかに関わりなく、1つのバッファから別
のバッファへ切り換えようと試みる。しかしながら、送
信DMAモジュールによって使用中となっているバッファ
には切り換わらない。
B.送信記述子 送信記述子は、送信保留中であるフレームを定義し、
そして送信されたフレームの状態を保持する。これらの
記述子は、可変長さのものであり、上記した5Kバイトの
リングバッファに逐次の形態で配列される。記述子の最
初のエントリーはダブルワード境界に整列しなければな
らない。図9aは、送信記述子のデータ構造を示してい
る。
送信記述子領域へのエントリーの内容のかさは、ホス
トプロセッサにより図7のXMIT AREAを経て送られたデ
ータから逐語的にコピーされる。しかしながら、XMIT
PROT ID及びXMIT FRAME STATUSレジスタのフォーマ
ット要求に適合しそしてフレーム送信及びバッファ管理
に充分な情報を供給するためには、1つの値を再配置し
なければならないと共に、多数を自動的に蓄積しなけれ
ばならない。
XMIT AREAへのホストプロセッサの書き込みは、アダ
プタにより自動的にオフセットされ、書き込まれる第1
の値(XMIT PROT ID及びXMIT REQ HANDLE)は、リ
ング中の次に使用できるデータ構造体における第5番目
の32ビットワード位置(オフセット10(16進))で終了
となる。これは、XMIT REQ HANDLE値が、ホストによ
りMACID値に対して指定された位置に書き込まれること
を意味する。XMIT REQ HANDLE値がアダプタのRAMに書
き込まれた直後に、アダプタは、第5番目の32ビットワ
ード位置の最下位16ビットの内容を第4番目の32ビット
ワード位置の最上位16ビットにコピーしなければならな
い。XMIT REQ HANDLEをコピーした後に、アダプター
は、MACIDレジスタからMACID値を検索し、そしてXMIT
REQ HANDLEにより空にされた位置へこれを書き込む。
その後、フレーム送信の後に、第4番目の32ビット位置
(オフセットC(16進))の最下位16ビットが送信フレ
ームの状態で更新される。
NEXT DESORIPTOR POINTER(次の記述子ポインタ)
エントリーは、XMIT BUFFER COUNT及びXMIT IMMEDLE
N値がアダプタに書き込まれたある時間の後に、アダプ
タによって更新される。XMIT AREAレジスタに書き込ま
れるデータは、正確な位置へ正確な順序で書き込まれね
ばならないので、これら2つの値の書き込みは容易に検
出することができ、そしてRAMからの値を検索する必要
なく次の記述子のスタートを決定するために必要とされ
る記述子サイズ計算に使用することができる。
更に、最後のXMIT DATA LEN値がアダプタに書き込
まれると、フレーム長さを計算してそしてデータ構造体
のFRAME LENGTH位置に蓄積することができる。この値
も、ホストによって直ちに使用するためにコントローラ
チップのXMIT FRAME LENGTHレジスタへコピーされ
る。
次の多数のパラグラフは、送信記述子データ構造体の
フィールドの各々を定義する。
NEXT DESCRIPTOR POINTER値は、次の記述子の第1
のワードを指す。この値は、ホストがXMIT QUEUE STA
TUS(送信待ち行列状態)を読み取った後に直ちに更新
される。定義されるNEXT DESCRIPTOR POINTERは、指
された位置が有効な記述子を含むことを必ずしも意味し
ない。これは、単に、いったん定義されると、次の有効
な記述子が見つかる場所を指示する。
FRAME LENGTH(フレーム長さ)フィールドは、アダ
プタによって計算されそして更新される。フレームの長
さは、XMIT DATA LEN値及びXMIT IMMED LEN値の全
てを加算することにより計算される。それにより得られ
る和は、送信フレーム内のバイトの合計数である。この
和が802.3の最小フレーム長さより短い場合には、この
和が最小フレーム長さ値にセットされる。この和は、送
信記述子のFRAME LENGTHラインに書き込まれ、そしてX
MIT FRAME LENGTHレジスタを経てホストへ得られるよ
うにされる。
XMIT FAILURE(送信欠陥)フィールドは、送信完了
後にイーサネット送信器から収集された状態ビットで形
成されるエラーコードを含む。このフィールドは、ホス
トアクセスに対しXMIT FAILUREレジスタへマップされ
る。
XMIT REQ HANDLE(送信要求取扱)値は、送信DMAコ
ントローラにより解読され、関連フレームに対する送信
の試みの完了時に指示を発生すべきかどうかを決定す
る。このフィールドが非ゼロの場合には、指示が発生さ
れる。又、送信記述子リングにおけるフレームのエント
リーは、ホストが送信状態を検査する機会をもつまで維
持される。XMIT REQ HANDLE、XMIT STATUS、XMIT P
ROT ID及びMACIDフィールドは、全て、指示が発生され
たときにホストに使用できるようにされる。XMIT REQ
HANDLEがゼロである場合には、ホストに何も通知する
ことなく送信後に送信記述子待ち行列エントリーが捨て
られる。ゼロのXMIT REQ HANDLEに関わりなく、送信
アンダーラン状態が送られる。
XMIT STATUSフィールドは、関連フレームに対する送
信状態を含んでいる。このフィールドの内容は、送信の
試みの直後に更新される。返送コードは、XMIT STATUS
レジスタの定義において定められる。
このフィールドのXMIT PROT ID値は、送信完了時に
ホストにより使用されてフレームに課せられる特定プロ
トコルを識別するために待ち行列内に単に維持される。
多数のプロトコルを同時に働かせることができる。XMIT
PROT ID及びXMIT REQ HANDLEの両方は、アダプタ
を通るフレームを独特に識別する。
MACIDは、XMIT PORT IDと同様に、送信完了時に使
用するために待ち行列内に維持される。しかしながら、
ホストは、この値をXMIT AREAレジスタを経てアダプタ
へ書き込まない。むしろ、ホストは、この値をいったん
MACIDレジスタに記憶し、次いで、XMIT REQ HANDLEが
その最終位置へコピーされた後にアダプターに基づいて
この値を記述子データ構造体へ蓄積する。
XMIT BUFFER COUNTフィールドの内容は、ホストに
より書き込みを介してXMIT AREAへ供給される。このフ
ィールドは、送信フレームを形成するのに使用されるホ
ストメモリ内のバッファの数を指定する。各バッファ
は、2つの送信データバッファの1つが使用できるよう
になるや否やホストメモリからアダプタの送信データバ
ッファへリストされた順序で転送される。XMIT BLFFER
COUNTがゼロである場合には、このフレームに対して
バスマスター動作は行われない。
ホストからXMIT AREAへの書き込みにより定められた
XMIT IMMED LENフィールドは、ホストによって供給さ
れる「即時」データバイトの数を指定する。このフィー
ルドがゼロである場合には、次の32ビットワード位置が
第1のホストデータバッファ記述子を含み、全フレーム
がバスマスターサイクルによりアダプタへ転送される。
XMIT IMMED LEN値は、必ずしも4の倍数である必要は
ない。第1のホストデータバッファ記述子の位置は、次
のように定められる。
DESCRIPTOR OFFSET=((XMIT IMMED LEN+3)&
fffc(16進))+18(16進) 可変長さのIMMEDIATE DATAフィールドは、XMIT ARE
Aへのメモリ書き込みを用いてホストによりアダプタへ
蓄積された即時データを含む。このフィールドは、長さ
が0から1514バイトまで変化する。即時データは、送信
中にアダプタにより前部分と送信バッファデータ(もし
あれば)との間で送信フレームに挿入される。一般に、
即時データは、行先及びソースアドレスと、プロトコル
指向のヘッダデータとで構成される。しかしながら、送
信フレーム全体を即時データと考えるのが合理的であ
る。これは、送信フレームの残り部分をフェッチするた
めにアダプタがバスマスター動作を実行することを不要
にする。XMIT IMMED LENがゼロである場合には、この
フィールドがスキップされ、フレーム全体は、ホストメ
モリの常駐データバッファに存在すると仮定される。XM
IT IMMED LENが整数のダブルワードを指定しない場合
には、ホストは4の倍数に最も近い値に丸めを行い、そ
の数のバイトまで書き込む。XMIT IMMED LENを越える
余分なバイトは無視され、送信フレームの一部分として
含まれない。
ホストデータバッファ記述子当り2つあるエントリー
のうちの一方であるXMIT DATA LENフィールドは、関
連ホストバッファにおけるバイトの数を定める。この値
は4の倍数である必要がない。
32ビットのXMIT DATA PTR値は、関連ホストデータ
バッファの物理的なスタートアドレスである。この値
は、4の倍数である必要がない。
C.受信バッファ 受信バッファは、可変長さ受信フレームの22Kバイト
リングである。各フレームの前には、フレームのサイズ
及び状態と、リングバッファにおける次のフレームのヘ
ッダの位置とを定めるヘッダがある。
リングにおける受信フレームエントリの開始は、いず
れの32ビットワード境界で始めることもできる。
32ビットのNEXT RCV PTR値は、リングにおける次の
エントリーのNEXT RCV PTR値のアドレスを含む。この
値は、現在の関連フレームの受信完了時に有効となる。
NEXT RCV PTRにより指されたバッファは、必ずしも有
効なフレームを含まなくてもよい。これは、リング内の
有効エントリーの始めと終わりを決定するリング維持ポ
インタによって決定されねばならない。
RCV FRAME STATUSワードは、関連フレームの状態に
関する種々のエラーコードを含む。RCV FRAME STATUS
は、フレーム受信の直後に更新される。このエントリー
の内容は、RCV FRAME STATUSレジスタを経てホストに
使用できるようにされる。
RCV FRAME SIZEエントリーの上位16ビットワード
は、アダプタのMACID値によって占有される。この値
は、RCV FRAME SIZE値がポスト処理されるのと同時
に、MACIDレジスタから検索されて受信バッファデータ
構造体のこのワードに蓄積される。
受信したフレームの長さは、フレームを受信した直後
にRCV FRAME SIZEレジスタに蓄積される。このエント
リーの内容はRCV FRAME SIZEレジスタを経てホストへ
使用できるようになる。
RECEIVE DATAフィールドは、長さが1から1514バイ
トまで変化する。行先アドレスで始まる受信フレーム
は、フレームが受信されるにつれてこのフィールドに記
憶される。
D.転送記述子 アダプタは、1つの好ましい実施例において、一度に
1つのそして1つのみの転送記述子を受け入れる。第1
の記述子が処理されている間に第2の記述子をダウンロ
ードする試みは、要求を受け入れるためのリソースが不
充分であることを指示するXFER QUEUE SATUSレジスタ
からの返送コードを生じさせる。LOOKBUFを経て現在目
に見えるフレームのみが、XFER AREAレジスタ内の転送
仕様による作用を受ける。
転送記述子は、図9bのフォーマットを用いてアダプタ
RAMに記憶される。TD OFFSETワードは、転送が開始さ
れる受信フレームに対するオフセットを定義する。この
値は、4の倍数である必要はない。ホストが既に検査し
た(LOOKBUFを経て)データは、ホストに転送される必
要がない。それ故、TD OFFSETフィールドへ書き込まれ
る非ゼロ値は、バスマスター回路がそのスタートアドレ
スを転送の開始前にTD OFFSETバイトだけオフセットさ
せるようにする。この値は、ゼロ(フレームの開始から
の転送)から1514までの範囲である。
長さ/ポインタ対の数は、TD BUFFER COUNTフィー
ルドに定義される。127程度のエントリーが許される。
これを越えると、XFER AREAバッファの排出が確保され
る。この値は非ゼロでなければならない。
TD DATA LENフィールドは、受信データが転送され
るホスト受信バッファのサイズを含む。アダプタは、32
ビットワードのみの転送に限定されない。1514バイトの
最大フレーム長さより多くを転送しようとする試みは、
アダプタがフレームの終わりを読み取った際に転送を終
了するようにさせる。
32ビットTD DATA PTR値は、ホストの受信バッファ
の第1バイトの物理アドレスである。この値は4の倍数
である必要はない。
受信フレームがアップロードされるところのホストの
データバッファの物理アドレスは、XFER AREAにおける
32ビットTD DATA PTR値としてアダプタへ書き込まれ
る。アダプタは、この値を受信バッファ内の第1バイト
に対するポインタとして使用する。アダプタによってこ
のポインタの値に課せられる制約はない。バッファデー
タのバイト、ワード及びダブルワード整列が全てサポー
トされる。
E.アダプタ情報、ネットワーク統計情報、マルチキャス
トアドレステーブル アダプタRAMメモリにおけるアダプタ情報、ネットワ
ーク統計学的情報及びマルチキャストアドレステーブル
は、当業者に明らかなように、本発明の送信及び受信動
作対象に直接関連したものではないアダプタによる種々
の機能に対して使用される。
IV.送信プロセス 図10は、アダプタの独立メモリにおいて送信データバ
ッファ及び送信記述子リングバッファを管理するのに使
用されるネットワークインターフェイスロジック及びホ
ストインターフェイスロジックを示している。ホストイ
ンターフェイス側では、このロジックは、ホスト記述子
ロジック150及びダウンロードDMAロジック151を含む。
ホスト記述子ロジック150及びダウンロードDMAロジック
151は、送信「レジスタ」を経てホストアドレススペー
スへ接続され、これら送信レジスタは、XMIT AREAレジ
スタ、XMIT COMPLATE THRESHレジスタ、XMIT FAILUR
Eレジスタ、XMIT FRAME LENGTHレジスタ、XMIT FRAM
E STATUSレジスタ、XMIT PROT IDレジスタ、XMIT Q
UEUE STATUSレジスタ、及びXMIT START THRESHレジ
スタを含む。これらレジスタの詳細については、以下に
述べる。
図9aに示された記述子は、XMIT AREAアドレスブロッ
クへのホスト書き込みによりアダプタのホスト独立RAM
の送信記述子エリアに記憶される。3つの異なるプロセ
スが記述子待ち行列におけるエントリーに作用する。ホ
ストは送信記述子を最初に形成するように書き込み、バ
スマスターはホストメモリから送信データバッファへバ
ッファデータを移動するようにダウンロードしそしてネ
ットワークを経て記述されたフレームを送信する。最初
の2つのプロセスはダウンロードDMAロジック151及びホ
スト記述子ロジック150内で生じる。送信は送信DMAロジ
ック155によって行われる。アダプタ動作の進行中に、
送信記述子リングバッファ152における記述子の数及び
状態が、ホスト書き込み、ダウンロード及び送信プロセ
スの相対的な速度に基づいて変化する。
ダウンロードDMAロジック151内の2つの変数は、送信
記述子待ち行列の状態を記述する助けとなる。ZERO DO
WNLOADS PENDINGはダウンロードのためにダウンロード
DMAロジック151により処理されるべき完全なフレーム記
述子がまだないことを指示する。ZERO FRAMES RESIDE
NT変数は、ダウンロードプロセスにより既に処理された
がまだ送信されない記述子がないことを指示する。
送信メカニズムを構成する3つのプロセスの各々は、
記述子待ち行列に対するポインタのそれ自身の組を維持
する。
ホスト記述子ロジック150は、アダプタメモリの送信
記述子リングバッファ152に対するポインタを発生し、
これらは、送信記述子リングバッファ152に記述子を書
き込むためのホストアクセスの現在位置を識別する。こ
れらポインタは、現在ホスト記述子ポインタCHD及びホ
スト書き込みポインタHWが指定される。現在ホスト記述
子ポインタCHDは、現在書き込まれているか又はホスト
により書き込まれると予想される記述子のベースアドレ
スを指す。ホスト書き込みポインタHWは、ホストが次に
書き込むと予想される現在記述子(CHDポインタにより
指される)内の位置を指す。即ち、HWポインタは、ホス
トが現在記述子を完成するために書き込みするところの
XMIT AREAアドレスブロック内のオフセットを予想す
る。
ダウンロードDMAロジック151は、3つのポインタと、
バッファ選択信号を発生する一方、ホストシステムから
送信データバッファXMIT DATA BUF0 153及びXMIT D
ATA BUF1 154へのダウンロードを管理する。ダウンロ
ードDMAロジック151により発生されるポインタは、バス
マスターダウンロードDMAロジック151により現在処理さ
れている記述子のベースアドレスを指す現在ダウンロー
ド記述子ポインタCDDを含む。ダウンロードDMAロジック
により発生される第2ポインタは、ダウンロードプロセ
スがデータを書き込むところの現在送信データバッファ
(XMIT DATA BUF0又はXMIT DATA BUF1のいずれか)
内の位置を指すダウンロードデータポインタDDを含む。
ダウンロードDMAロジック151によって発生される第3ポ
インタは、現在ダウンロードバッファCDBポインタを含
む。CDBポインタは、CDDにより指された送信記述子内の
バッファ記述子であって、現在ダウンロードプロセスの
ホストメモリ対象におけるバッファの仕様が存在すると
ころのバッファ記述子を指す。
又、ダウンロードDMAロジックは、信号BUF1/0により
発見的に示されたようにバスマスター動作においてダウ
ンロードDMAロジックがデータを転送するところの現在
送信データバッファ153及び154を選択する。
送信DMAロジック155は送信プロセスに対し3つのポイ
ンタを発生する。これらのポインタは、送信ロジック15
5により現在処理されている送信記述子リングバッファ1
52における記述子のベースアドレスを指す現在送信記述
子CXDポインタを含む。送信読み取りXRポインタは、送
信されるべきデータを送信プロセスが読み取るところの
現在記述子又は現在送信データバッファ(153又は154)
内の位置を指示する。
XMIT TAILポインタ(XT)は、待ち行列の後端を指
す。このXTポインタは、送信を完了しているがそれらの
状態情報がホストシステムによりまだ読み取られていな
いフレームがあるときに、送信記述子リングバッファ15
2においてCXDポインタより古い記述子を指す。
好ましいシステムは、送信完了の指示をホストへ発生
することに関して2つのモードで動作する。前記パラグ
ラフでは、XMIT COMPLETE ON DOWNLOAD変数が偽であ
るときのホスト書き込み、バスマスターダウンロード及
び送信プロセスに関連したデータ構造が説明され、送信
が完了するか又はXMIT COMPLETE THRESH(以下に述べ
る)を満たすときに指示が発生された。XMIT COMPLETE
ON DOWNLOADが真であるときには、ダウンロードDMA
ロジック151は、状態が読み取られていないフレームを
追跡するという役割も果たす。このモードにおいては、
ホストは、フレームのダウンロード時にフレームの送信
完了指示を受け取る。従って、ホストが指示に応答でき
る前にフレームを送信できることが考えられる。この状
態はXMIT TAILポインタが記述子リングバッファにおい
てもはや最も古い有用なエントリーを定義できないよう
にする。それ故、フレーム状態プロセスが必要となる。
フレーム状態ポインタFSは、この動作モードにおいて
は、ホストによって状態がまだ読み取られていない最も
古い記述子のベースアドレスを指す。PSポインタは送信
プロセスに関連しているので、図10の送信DMAロジック1
55に発見的に示されている。しかしながら、好ましいシ
ステムでは、ダウンロードDMAロジック151に論理的に接
続されている。
送信DMAは、信号BUF0/1により発見的に示されたよう
に、現在送信フレームが構成されるところの現在送信デ
ータバッファ153又は154を選択する。
アダプタへのインターフェイスは、ホストにより、予
め指定されたアドレスブロックにおける1組のレジスタ
であるかのように見える。送信に含まれる顕著な「レジ
スタ」については以下で説明する。
A.XMIT AREA このレジスタの目的は、ホストのメモリシステムにお
いてフレームの残り部分(もしあれば)がどこに存在す
るかを定める即時データ及びデータ構造をホストがアダ
プタへ供給するためのメカニズムを形成することであ
る。アダプタは、記述されているフレームを最終的に送
信できるときに使用するためにこの情報を送信記述子リ
ング152に記憶する。
アダプタは、データが書き込まれるアドレスと、それ
が書き込まれる順序とを使用して、データが何を表すか
を決定する。データは、図7について上記した構造及び
順序を用いてアダプタへ書き込まれねばならない。
バスマスターのダウンロードは、記述子がXMIT AREA
へ書き込まれそしてXMIT QUEUE STATUS(以下に述べ
る)がホストによって読み取られた後に開始される。
ホストは、XMIT AREAへの送信記述子バッファ構造の
転送を完了すると、XMIT FRAME LENGTHを読み取り、
ホストが送信フレームに含まれるべく指定したバイトの
数を決定する。次いで、XMIT QUEUE STATUSを読み取
ってCHDポインタを進ませ、別のフレームをこのレジス
タに書き込めるようにしなければならない。XMIT QUEU
E STATUSを読み取った後に、XMIT AREAが再び書き込
まれるまで、XMIT FRAME LENGTHの内容が不定とな
る。
ネットワークにおける実際のフレーム送信は、次の2
つの条件が満たされたときに開始される。即ち、(1)
XMIT START THRESH(以下に述べる)条件が満たさ
れ、即ちXMIT START THRESHがゼロである場合又は全
フレームがアダプタのRAMにコピーされたとき、及び
(2)既に待ち行列に入れられた送信要求がないとき。
XMIT START THRESHバイトより多い即時データがXMIT
AREAに書き込まれる場合には、XMIT QUEUE STATUS
が読み取られる前にネットワーク送信を開始できる。
アダプタがXMIT AREAリソースから動作する一方、ホ
ストがデータをXMIT AREAへ書き込む場合には、ホスト
は、XMIT QUEUE STATUSを読み取るときに6の値が返
送される。メモリの「終りを外れた(off the end)」
ところで終了する書き込みは、アダプタにおいて既に待
ち行列に入れられているデータに対して悪影響を与えな
い。
送信フレームの行先及びソースアドレスは、ホストに
より各送信フレームのたびにアダプタに明確に供給され
ねばならない。この情報は、即時データの一部分として
与えることができるし、又は即時データがない場合に
は、記述子において指定された第1データバッファの最
初の14バイトとして与えることができる。
本質的に、ホストは、XMIT AREAレジスタ又はダウン
ロードDMA動作によりフレーム開始のデリミタとフレー
ムチェックシーケンス(CRC)との間にフレームの各バ
イトを与える。
一般に、データは指定の順序でXMIT AREAに書き込ま
れねばならないが、1つの例外が存在する。XMIT BUFF
ER COUNT/XMIT IMMED LENは、これらのフィールドに
対する初期値が書き込まれた後であって且つバッファ記
述子エントリーが書き込まれる前に再書き込みされても
よい。
次のような制約が適用される。
1.XMIT BUFFER COUNT/XMIT IMMED LENを再書き込む
するときには、XMIT IMMED LENの新たな値は、XMIT
AREAに既に書き込まれた即時データバイトの数よりも小
さい値を指定することができない。それより大きい数は
指定できる。それより大きい数の場合には、残りの即時
データバイト(及びバッファ記述子)は新たなXMIT BU
FFER COUNT/XMIT IMMED LEN値が書き込まれた後に、
書き込まれねばならない。
2.XMIT BUFFER COUNT/XMIT IMMED LENを再書き込み
するときには、たとえ値の1つが同じままであっても、
完全な32ビットの量を再書き込みしなければならない。
XMIT IMMED LENを再書き込みする能力は、ホストシス
テムにおいて1つの受信アダプタから別の送信アダプタ
へのデータの直接的な移動を容易にするために含まれて
いる。動作シーケンスは、次の通りである。
1.受信アダプタは、ホストに早期受信指示を与える。
2.ホストは、受信フレームを第2のアダプタに送信しな
ければならないと決定したときに、第2アダプタに対す
るXMIT AREAに、全て即時のデータフレームである最大
長さを指定する送信記述子を設定する。
3.次いで、ホストは、転送されるデータの行先として送
信アダプタを指定するバスマスター転送を受信アダプタ
に設定する。データが1つのアダプタに受け取られると
きには、それらが受信アダプタにより他のXMIT AREAへ
とバスマスター処理される。
4.フレーム受信が終了すると、ホストは、フレームの長
さを決定し、そしてその値を送信アダプタのXMIT IMME
D LENフィールドへ書き込む。
B.XMIT COMPLETE THRESH XMIT COMPLETE THRESHは、送信完了の早期指示を与
える(読み取り/書き込み、4バイト、1つの32ビット
ワード)。
XMIT COMPLETE THRESHレジスタは、XMIT COMPLETE
指示をアダプタが発行する前にアダプタへ送信されるか
又はダウンロードされる(アダプタのモードに基づい
て)ように保たれる送信バイトの数を指定するのに使用
される。このレジスタではビット10ないし0のみが実施
される。最大フレーム長さより大きな値は、この機能が
適切に動作するのを妨げる。この機能をディスエイブル
する方法は、レジスタをゼロにセットすることである。
XMIT FRAME LENGTH(以下に示す)の値は、送信フレ
ームの終わりがどこであるかを決定するのに使用され
る。
このスレッシュホールド値があまりに高くセットされ
た場合には、アダプタが有効な送信状態指示を与えるこ
とができる前にホストが指示に応答することになる。XM
IT FRAME STATUSがff(16進)を返送する場合は、指
示を若干遅延するようにXMIT COMPLETE THRESHを調整
しなければならない。これは、XMIT COMPLETE THRESH
レジスタの値を減少することにより達成される。このレ
ジスタの機能は、フレームの最初の60バイトの送信中に
ディスエイブルされる。このレジスタはリセット中に0
にクリアされる。
C.XMIT FAILURE XMIT FAILUREは、送信欠陥の原因を返送する(読み
取りのみ、4バイト、1つの32ビットワード)。
このレジスタは、待ち行列に入れられたフレームを送
信するための試み(1つ又は複数)の欠陥の原因を返送
する。非ゼロ値は、フレームが送信の試みの間に1つ以
上のエラーに遭遇したことを指示する。
このレジスタのビットは、次のように定義される。
ビット0 DMAアンダーラン ビット1 キャリアの方向を失う ビット2 最大衝突 ビット3 シーケンステスト不合格 このレジスタは、フレームを送信する試みが成功する
か失敗するかに関わりなく有効データを含む。失敗がな
かった場合には、このレジスタは、0(16進)の値を含
む。このレジスタの内容は、フレームが送信を完了した
(XMIT FRAME STATUSの下位バイトがff(16進)に等
しくない)後であって且つXMIT PROT IDが読み取られ
る前に有効となる。
データのアンダーランが生じた場合は、アダプタは、
CRCエラーを送信中にフレームに強制的に入れ、フレー
ムが不良フレームとして受け取られて行先装置によって
廃棄されるよう確保する。
D.XMIT FRAME LENGTH XMIT FRAME LENGTHは、送信されるべきバイトの数
を返送する(読み取りのみ、4バイト、1つの32ビット
ワード)。
XMIT FRAME LENGTHレジスタは、CDXポインタにより
識別された現在送信フレーム記述子によって送信するた
めに待ち行列に入れられたバイトの総数を返送する。こ
の値は、即時データバイトの数と、このフレームに対し
てアダプタにダウンロードされた全てのバッファ長さの
フィールドとの合計である。このレジスタにより返送さ
れる値は、フレームの長さが60バイト未満であるときに
アダプタにより行われるフレームのパッドの影響を反映
しない。
XMIT FRAME LENGTHレジスタは、ホストが最後のバ
イトをXMIT AREAに書き込んだ直後に有効となり、XMIT
QUEUE STATUSの読み取り後にXMIT AREAに最初に書
き込まれるまで有効に保たれる。
E.XMIT FRAME STATUS XMIT FRAME STATUSは、送信の試みの結果を返送す
る(読み取りのみ、4バイト、1つの32ビットワー
ド)。
このレジスタの最下位16ビットは、待ち行列に入れら
れたフレームを送信するための試み(1つ又は複数)の
状態を返送する。最上位16ビットは、フレームに対して
XMIT REQ HANDLEを返送する。返送が首尾よくいった
場合には、XXXXOOOO(16進)の値(XXXXはこの特定のフ
レームに対するXMIT REQ HANDLEである)が返送さ
れ、一方、送信が失敗した場合には、XXXXOOOa(16進)
が返送される。アダプタが衝突後に送信を再試みするプ
ロセス中である場合はXXXXOOfe(16進)が返送される。
送信がまだ進行中である場合には、XMIT FRAME STATU
SがXXXXOOff(16進)を返送する。
フレームが首尾良く返送されなかった場合には、返送
欠陥の特定の原因がXMIT FAILUREに得られる。XMIT P
ROT IDを読み取ると、XMIT FRAME STATUSは、次に返
送されるフレームがもしあればその状態へ進められる。
XMIT FRAME STATUSが読み取られたときに「再試み」
状態の値が返送される場合には、XMIT FRAME STATUS
を読み取ると、XMIT COMPLETE指示がクリアされる。
F.XMIT PROT ID XMIT PROT IDは、送信フレームのプロトコルIDを返
送する(読み取りのみ、4バイト、1つの32ビットワー
ド)。
アダプタが、待ち行列に入れられたフレームを送信す
る試みを完了し、そしてその状態をポスト処理するや否
や、XMIT PROT IDは、フレームを識別する方法として
ホストにより読み取ることができる。ここで返送される
値は、XMIT AREAを介してフレームを待ち行列に入れる
間にXMIT PROT IDフィールドに書き込まれたものと同
じ値である。
このレジスタを読み取ると、XMIT FRAME STATUSか
ら「再試み」状態値が読み取られるときを除いて、XMIT
COMPLETE指示がクリアされる。「再試み」が読み取ら
れた場合には、XMIT FRAME STATUSを読み取ると、XMI
T COMPLETEがクリアされる。
XMIT PROT ID値は、32ビットレジスタの上位16ビッ
トに存在する。このレジスタの最下位16ビットは、MACI
Dレジスタに書き込まれたMACID値を返送する。ダブルワ
ードの読み取りは、両方の値を同時に返送する。
送信に対して多数のフレームを待ち行列に入れること
ができるので、多数の送信結果を待ち行列に入れること
ができる。XMIT PROT IDの両方のワードを読み取る
と、XMIT FRAME STATUS、XMIT FAILURE及びXMIT PR
OT IDの完了状態は、送信を完了した次のフレームがも
しあればその状態へ進められる。
G.XMIT QUEUE STATUS XMIT QUEUE STATUSは、送信フレームを待ち行列に
入れる結果を返送する(読み取りのみ、4バイト、1つ
の32ビットワード)。
XMIT QUEUE STATUSレジスタの読み取りは、XMIT A
REAを経て送信フレームを待ち行列に入れるためのホス
トの試みの状態を返送する。
2(16進)−成功:送信要求が首尾良く待ち行列に入
れられた場合に、この値は、XMIT QUEUE STATUSが読
み取られたときに返送される。
6(16進)−リソースから:アダプタが待ち行列記憶
RAMから動作する場合には、6(16進)の状態が返送さ
れる。
7(16進)−フレームの長過ぎ:単一フレームにおい
て返信されるべきバイトの全数が最大フレーム長さを越
える場合には、レジスタが7(16進)を返送する。
a(16進)−順序違反:XMIT AREAに書き込まれるデ
ータが順序づれして書き込まれた場合には、このエラー
コードが返送される。
ff(16進)−アダプタ準備できず:XMIT AREAへの書
き込み完了後にXMIT QUEUE STATUSがあまりに早く読
み取られた場合は、待ち行列プロセスが完了する前に状
態の値を読み取る可能性がある。
又、このレジスタを読み取ると、別の送信が待ち行列
に入れられるようにXMIT AREAが進められる。このレジ
スタは、全てのデータがXMIT AREAに書き込まれた後で
あって且つ次の送信要求がXMIT AREAに書き込まれる前
に読み取られねばならない。
エラーコード(6(16進)、7(16進)、a(16進)
或いはff(16進))がXMIT QUEUE STATUSによって返
送される場合には、フレームが待ち行列に入れられてお
らず、ホストは、別の時間にこれを待ち行列に入れるよ
うに試みなければならない。当然、フレームが長過ぎる
ものとしてフラグが立てられた場合には、別の待ち行列
試みを行えるまでにこれを多数のフレームに分割しなけ
ればならない。
成功を指示するコード(2(16進))が返送される場
合は、ホストは、付加的なフレームを待ち行列に入れる
試みをするように直ちに進められる。待ち行列に入れる
ことのできるフレームの数は、この目的のために割り当
てられたアダプタにおけるRAMの量と、各フレームに含
まれる即時データの量とによって左右される。
ホストが、長過ぎるフレームを待ち行列に入れるよう
試み、そして使用できるTRANSMIT DESCRIPTOR自由スペ
ースを越える場合には、最初に生じるエラーが優先権を
得てホストへ返送される。
H.XMIT START THRESH XMIT START THRESHは、送信の早期開始を与える
(読み取り/書き込み、4バイト、1つの32ビットワー
ド)。
XMIT START THRESHレジスタは、送信を開始する前
にアダプタに存在しなければならない送信バイトの数を
指定するのに使用される。このレジスタではビット10な
いし0のみが実施される。最大フレーム長さより大きな
値は、この機能が適切に作用するのを阻止する。この機
能をディスエイブルする方法は、レジスタをゼロにセッ
トすることである。バイトは、送信フレームの行先フィ
ールドの最初のバイトで始めてカウントされる。
使用できると考えられているバイトの数は、ホストに
よりXMIT AREAに書き込まれる即時データと、バスマス
ターDMA動作を用いてアダプタの送信データバッファに
転送されるバイトとの和である。送信要求は、XMIT ST
ART THRESH送信フレームバイトが即時データから使用
できるようになった直後か、又はアダプタがアダプタ上
のXMIT START THRESH−XMIT IMMED LENバイトをバ
スマスターとしたときにポスト処理される。
アダプタに存在するバイト数は、全フレームサイズが
XMIT START THRESH未満でない限り、送信を開始する
ためのXMIT START THRESHの値に等しいか又はそれよ
り大きくなければならない。この場合に、全フレームが
アダプタへコピーされたときにフレームが送信を開始す
る。フレームの実際の送信は、その手前の保留中の送信
フレーム及びネットワークトラフィックに対する猶予分
だけ遅延されてもよい。このレジスタは、リセット中に
ゼロにセットされる。
I.送信リングの管理 図11Aないし11Eは送信動作に使用されるポインタの進
行を示す。図11Aないし11Eには、一般的に200で示す送
信記述子リングと、送信データバッファ201−0及び201
−1の一部分が示されている。又、上記のように省略さ
れたポインタも示されている。
図11Aにおいて、ホスト記述子ロジックは、第1記述
子を送信記述子リング200へ書き込む。従って、CXDポイ
ンタは、第1記述子のベースアドレスを指し、HWポイン
タは、ホストが記述子の次のダブルワードを書き込むと
予想されるところのベースアドレスからのオフセットを
指す。又、CDD、CDBを含むダウンロードポインタは、ダ
ウンロード動作が開始されなかったときに第1記述子の
ベースアドレスを指す。同様に、送信記述子CXD及びXR
は、同じベースアドレスを指す。更に、リングTXのテイ
ルは開始記述子を指す。ダウンロードデータポインタDD
は、第1バッファ、例えば、バッファ0の最上部を指
す。
図11Bに示すように、第1記述子は書き込みを完了し
そしてダウンロードプロセスを開始しており、そしてホ
ストは第2記述子の書き込みを開始している。従って、
ホスト記述子ロジックポインタCHDは、次の記述子のベ
ースアドレスを指し、そしてHWポインタは、次のバイト
の予想されるアドレスを指す。ダウンロードポインタCD
Dは、第1記述子ベースアドレスを指す。ダウンDMAロジ
ックは、ホストから送信データバッファへバッファを転
送するプロセスにあると仮定される。従って、CDBポイ
ンタは、第1記述子におけるダウンロードバッファの記
述子を指し、そしてDDポインタは、データがダウンロー
ドされる送信データバッファ内のオフセットを指す。ス
レッシュホールドに到達していないので、送信動作はま
だ開始されていない。従って、送信ポインタ及びテイル
ポインタは、依然として、第1記述子を指す。
図11Cにおいて、ホスト記述子ロジックは第3記述子
において機能し、ダウンロードロジックは第2記述子に
おいて機能し、そして送信ロジックは第1記述子におい
て機能する。ホスト記述子ロジックのポインタCXD及びX
Rは、第1記述子において機能する。CXDポインタは第1
記述子のベースアドレスを指しそしてXRポインタは送信
DMAロジックにより送信するために読み取られている即
時データを指す。
送信読み取りポインタXRは、即時データの読み取りを
完了し、次いで、図11Bに示すように第1記述子を処理
するときにダウンロードDMAロジックにより満たされた
送信データへ移動する。
送信テイルポインタXTは、依然、第1記述子のベース
アドレスを指す。
ダウンロードロジックは第2記述子において機能す
る。従って、CDDポインタは第2記述子のベースアドレ
スを指し、CDBポインタは第2記述子内のバッファ記述
子を指し、そしてDDポインタはダウンロードDMAロジッ
クがホストからデータを転送するところの第2送信デー
タバッファ内のオフセットを指す。
図11Cにおいて、ホストは第3記述子をXMIT AREAレ
ジスタに書き込んでいる。従って、CHDポインタは第3
記述子のベースアドレスを指し、そしてHWポインタは次
のバイトがホストによって書き込まれると予想されるオ
フセットを指す。
図11Dにおいて、プロセスは、ホストが第4の記述子
へ書き込みをするように移動している。従って、CHDポ
インタは、第4記述子のベースアドレスを指し、そして
HWポインタは、XMIT AREAレジスタへの次の書き込みの
予想アドレスを指す。
ダウンロードロジックは第3記述子において機能す
る。従って、CDDポインタは第3記述子のベースアドレ
スを指し、CDBポインタは第3記述子内のバッファ記述
子を指し、そしてダウンロードデータDDポインタはダウ
ンロードが生じるところの第1データバッファの位置を
指す。この動作は、第1記述子の送信がダウンロードロ
ジックにより使用するように第1データバッファを解放
したと仮定する。
送信ロジックは第2記述子において機能する。従って
CXDポインタは第2記述子のベースアドレスを指し、そ
してXRポインタは、送信ロジックによってデータが読み
取られるところの送信データバッファの位置を指す。第
1記述子の状態をまだ読み取るべきであるので、送信テ
イルXTポインタは、依然として、第1記述子のベースア
ドレスを指している。
図11Eにおいて、第4記述子の書き込みは完了した
が、ホストが新たな記述子の書き込みを一時的に停止す
るようにプロセスが進行したと仮定する。この場合に、
CHDポインタ及びHWポインタは第5記述子のベースアド
レスを指し、ホストによる更に別の動作を待機する。ダ
ウンロードプロセスはまだ第3記述子のダウンロードを
完了しなければならないと仮定する。従って、現在CDD
ポインタは第3記述子のベースアドレスを指し、そして
CDBポインタは第3記述子内のバッファ記述子を指す。D
Dポインタは、ダウンロードプロセスがデータをダウン
ロードするところの送信データバッファの位置を指す。
図11Eにおいても、第2記述子により識別されたフレ
ームの送信が完了し、そして送信ロジックは、第3記述
子に対するダウンロード動作が完了するか又は送信ロジ
ックが送信を開始できるに充分なデータをダウンロード
するのを待機していると仮定する。従って、CXD及びXR
ポインタは、第3記述子のベースアドレスを指す。
このプロセスは、アダプタにより取り扱われる記述子
の自動リングラップアラウンドで続けられる。又、アン
ダーラン状態が監視され、適当なエラー信号がアダプタ
により指示される。
V.受信プロセス 図12は、ホストインターフェイスロジック及び受信機
能に含まれるネットワークインターフェイスロジックの
発見的な図である。ホストインターフェイスロジック
は、アップロードDMAロジック300とビューロジック301
を含む。アップロードDMAロジック300は、以下に述べる
XFERアドレスブロックを経てホストとインターフェイス
する。ビューロジック301は、LOOKBUF及び以下に述べる
関連アドレスブロックを介してホストとインターフェイ
スする。
ネットワークインターフェイスロジックは、受信DMA
ロジック302を備えている。ホストインターフェイスロ
ジック及びネットワークインターフェイスロジックの両
方は、ホスト独立アダプタメモリにおける受信リングバ
ッファエリア303とインターフェイスする。又、アップ
ロードDMAロジック300は、ホスト独立アダプタメモリ内
の転送記述子エリア304とインターフェイスする。
又、このロジックは、受信バッファリングを維持する
役割を果たす。従って、複数のポインタが含まれる。ア
ップロードDMAロジックは、アップロードされているフ
レームのベースアドレス(リングのテイルアドレスでも
ある)を指す受信テイルポインタRTを発生する。ビュー
ロジックは、アダプタメモリにおけるLOOKBUFのベース
アドレス又はビューロジック301により観察されるフレ
ームを指す現在フレームポインタCFを発生する。
受信DMAロジック302は、受信されているフレームのベ
ースアドレスを指す現在受信ポインタCRと、現在フレー
ムのデータが書き込まれる位置を指す受信書き込みポイ
ンタRWとを発生する。又、受信DMAロジック302は、状態
送信中に次の受信フレームのスタート位置を指す次の受
信ポインタNRを発生する。
当該ホストアドレスマップを理解することにより受信
プロセスを理解することができよう。
A.LOOKBUF LOOKBUFレジスタは、受信したフレームを検査及び/
又は転送するためにホストによって使用される(読み取
りのみ、2036バイト、509の32ビットワード)。
ホストは、LOOKBUFレジスタを使用し、受信したフレ
ームの全ての部分を検査することができる。読み取り
は、いかなる巾で且ついかなる順序であってもよい。LO
OKBUFは、ホストのアドレスバスの最下位11のアドレス
ビットを用いて、アクセスされるバイトを選択する。ホ
ストは、フレームの一部分を検査し、そしてアップロー
ドDMAロジック300のバスマスター能力を使用して、フレ
ームの残り部分を転送することができる。或いは又、ホ
ストはフレームを検査すると共に、メモリ移動命令を用
いてその内容をホストメモリへ転送することができる。
受信したフレームは、常に、行先アドレスフィールド
がレジスタのバイト0で開始するようにLOOKBUF内で整
列される。ホストは、現在フレームの端を越えて読み取
ったデータについては何も行えない。次の受信フレーム
は、そこでは保証されない。ホストは、RCV DONEへの
書き込みを使用して、LOOKBUFを次の受信フレームバッ
ファへ進めねばならない。
B.RCV BYTES AVAIL RCV BYTES AVAILは、LOOKBUFにおける有効バイトの
数を返送する(読み取りのみ、4バイト、1つの32ビッ
トワード)。
このレジスタは、現在フレームに対して受け取ったバ
イトの数の継続カウントを与える。このレジスタがカウ
ントする最大値は、レジスタRCV MAX AVAIL(これ以
上説明しない)の値によって制限される。
バイトとして読むときは、このレジスタは、ビット7
ないし0が読み取られたときにビット10ないし8の値を
記憶する。これは、このダイナミックレジスタの読みの
完全性を確保する。
C.RCV DONE RCV DONEは、LOOKBUFが次のフレームへ進めるように
する(書き込みのみ、4バイト、32ビットワード)。
このレジスタの最下位バイトへ任意の値を書き込む
と、LOOKBUFを次の受信フレム(もしあれば)へ進ませ
る。RCV BYTES AVAIL、RCV FRAME SIZE及びRCV FR
AME STATUSは全て同様に更新される。
RCV DONEが書き込まれたときにLOOKBUFに存在したフ
レームはLOOKBUFに復帰することができない。アダプタ
は、RCV DONEが最終的に書き込まれるまで内部の受信
バッファ及びLOOKBUFの両方にフレームを保存する。RCV
DONEがいったん書き込まれると、LOOKBUFのデータは
もはや見えないが、XFER AREAへ書き込むことにより開
始されたデータ転送は首尾よく完了する。受信したフレ
ームのデータは、データ転送が完了するまで保存され
る。
D.RCV FRAME SIZE RCV FRAME SIZEは、現在受信フレームのサイズを返
送する(読み取りのみ、4バイト、1つの32ビートワー
ド)。
RCV FRAME SIZEは、現在受信フレームのサイズ(バ
イト単位)を下位16ビットで返送しそしてMACID値を上
位16ビットで返送する。
長さの値はポスト処理されず、それ故、アダプタがフ
レームの受信を完了するまで無効である。アダプタがフ
レーム受信中である間に、レジスタは、XXXX0000(16
進)を返送する。但し、XXXXは、MACIDレジスタに書き
込まれるMACID値である。
この長さ値は、ホストがRCV DONEへ書き込むまで有
効のままである。RCV DONEが発生されると、このレジ
スタの最下位16ビットは0(16進)へ復帰する。長さ値
は、行先アドレスフィールドの第1バイトからデータフ
ィールドの最終バイトまでの全てのバイトをカウントす
ることによって計算される。
全フレーム受信される前にホストへの指示が発生され
た場合には、受信したフレームの最終状態に関わりなく
フレーム受信完了時にこのレジスタにおいてフレームの
サイズがポスト処理される。フレームがエラーなく受信
されたかどうかを決定するためには、RCV FRAME STAT
USレジスタを検査しなければならない。このレジスタ
は、エラーを伴って受け取られるフレームに対し誤った
値を含むことがある(例えば、OVERSIZED FRAME)。
E.RCV FRAME STATUS RCV FRAME STATUSは現在受信フレームの状態を返送
する(読み取りのみ、4バイト、1つの32ビットワー
ド)。
RCV FRAME STATUSは、現在受信フレームの状態を返
送する。この状態はポスト処理されず、それ故、アダプ
タがフレームの受信を完了するまで無効である。
このレジスタのビットは、次のように定められる。
ビット0 DMAオーバーラン ビット1 整列エラー ビット2 不良CRC ビット3 RUNT FRAME ビット4 オーバーサイズフレーム このレジスタの内容は、受信プロセスの完了直後に有
効となり、ホストがRCV DONEへ書き込みするまで有効
状態に保たれる。アダプタがフレームデータをそれが受
け取られるときにホストへ転送するように構成されそし
てフレームがエラーを伴って受け取られた場合には、ア
ダプタはバスマスターDMAシーケンスを中止し、転送の
完了に関わりなくエラーコードをホストへ返送する。ホ
ストは、そのとき、RCV FRAME STATUSを読み取り、実
際にフレームに欠陥があったかどうか判断する。
受信欠陥の場合、及びアダプタが不良フレームを受け
取るように構成されるか又は受信中にフレームを転送す
るようにイネーブルされる場合には、ホストは、アダプ
タの受信バッファを解放するようにRCV DONEに書き込
まねばならない。
アダプタがEARLY RCV指示を発生するか、又はLENGTH
LEFT THRESHレジスタがRCV COMPLETE指示を生じさ
せる場合には、アダプタはフレームを受信し、そしてた
とえアダプタが不良フレームを受け取るように構成され
ていなくてもフレームがエラーを伴って受信されたかど
うかに関わりなく受信状態をポスト処理する。この場合
に、受信を確認しそしてフレームを廃棄するために、RC
V DONEへの書き込みを行わねばならない。
このレジスタの読み取りは、RCV COMPLETEを確認す
る。
F.XFER AREA XFER AREAレジスタは、受信したフレームを転送する
ためのバッファポインタをアダプタに供給するのに使わ
れる(書き込みのみ、1024バイト、256の32ビットワー
ド)。
このレジスタの目的は、ホストメモリシステム内のど
こに「現在」受信フレームを転送すべきかをアダプタに
知らせる。これは、1組以上のポインタをこのレジスタ
に書き込むことによって行われる。
XFER AREAは、ホストアドレスバスの最下位11ビット
を使用して各パラメータの機能を決定する書き込み専用
のレジスタである。図7の構造を用いて転送仕様をXFER
AREAへ書き込まねばならない。
実際のデータ転送は、XFER QUEUE STATUSからの読
み取りによって開始される。アダプタがRAMから動作せ
ずに転送要求を受け入れることができる場合には、アダ
プタは、ホストメモリへのデータの転送を開始する。ア
ダプタが転送待ち行列バッファにおいてメモリから動作
する場合は、XFER AREへの付加的な書き込みが無視さ
れる。ホストは拒絶された転送要求を再送しなければな
らない。
「現在」受信フレームは、LOOKBUFを経てホストに現
在使用できる受信フレームとして定義される。受信フレ
ームは、ネットワークから受け取ったのと同じ順序で取
り扱われる。
受信したフレームは、ホストによっていったん捨てら
れると、検査されることもないし、それに対する転送が
設定されることもない。
受信したフレームは、RCV DONEへ書き込むことによ
り廃棄される。この書き込みが生じるまで、現在フレー
ムはLOOKBUFに保持され、無制限の回数でホストへ転送
される。いったん廃棄されると、フレームは検査も転送
もされない。廃棄は、転送が進行中でない限り直ちに生
じる。転送が進行中の場合には、その転送が完了するま
でフレームの廃棄は生じない。
G.XFER COMPLETE THRESH XFER COMPLETE THRESHは、転送に残されたバイトに
基づいて早期転送完了指示を与える(読み取り/書き込
み、4バイト、1つの32ビットワード)。
XFER COMPLETE THRESHレジスタは、XFER COMPLETE
指示をホストへ発生する前にアダプタによりホストへ転
送しなければならないフレームの端からのバイト数を指
定するのに使用される。転送されるべく残っているバイ
ト数がXFER COMPLETE THRESHの値以下であるときに
は、XFER COMPLETE指示がセットされる(マスクされな
い場合に)。このレジスタではビット10ないし0のみが
実施される。しかしながら、最大フレーム長さより大き
な値は、この機能が適切に動作しないよう防止する。こ
の機能をディスエイブルする好ましい方法は、レジスタ
を0にセットすることである。
XFER COMPLETE THRESH条件を満たす一方、転送され
ているフレームが依然として受信されている場合には、
フレームが受信されるまで、XFER COMPLETEが抑制され
る。このようにXFER COMPLETEが抑制される場合には、
LENGTH LEFT THRESHがこのレジスタの値をオーバーラ
イドし、これを用いて早期XFER COMPLETE指示が発生さ
れる。
転送が開始されたときにフレームが完全に受け取られ
た場合には、転送の長さが実際のフレーム長さより小さ
く、XFER AREAを経て転送されるように要求されたバイ
トの数より小さい。転送が開始されたときにフレームが
まだ受信されている場合には、その長さフィールドの値
+14であると仮定する。長さフィールドの値が1500より
大きいが、8137(16進)(即ち、特殊フレーム形式識別
子)に等しくない場合には、フレーム長さが1500バイト
であると仮定する。最後に、長さフィールドが8137(16
進)を含む場合は、受信フレームのバイト17及び18がフ
レームの長さ値を含むと仮定する。この仮定した長さ
は、実際のフレームサイズ及び転送要求されたバイト数
より小さいものに対してフレームが完全に受信されたと
きに変更される。
この値は、送信完了指示にあまり早く応答する頻度
と、それが遅れて又は適時に到着する頻度とをホストが
決定したときにホストにより同調することができる。ホ
ストがあまりに早く応答する場合には、XFER STATUSが
aff(16進)を返送し、状態が不定であって転送が不充
分に完了したことを指示する。このレジスタは、リセッ
ト中に0にセットされる。
H.XFER STATUS XFER STATUSは、受信フレーム転送の状態を返送する
(読み取りのみ、4バイト、1つの32ビットワード)。
このレジスタを読み取ると、受信フレーム転送試みの
状態が返送される。考えられる返送値は、成功の場合に
0(16進)、失敗の場合にa(16進)そして未知の場合
にff(16進)である。XFER STATUSは、転送が進行中で
ある間にff(16進)にセットされる。ホストバスにおい
て過剰な待機状態に遭遇するか又は受信フレームの欠陥
があることにより転送の失敗が生じる。このレジスタを
読み取ると、INDICATION REASON(指示理由)レジスタ
におけるXFER COMPLETEが確認(リセット)される。
VI.受信指示 本発明の1つの実施例において、ネットワークアダプ
タは、2つの形式の受信スレッシュホールドロジックを
有する。受信スレッシュホールドロジックは、ネットワ
ークから受信するデータの量に基づいて早期指示信号を
発生する。第1の受信スレッシュホールドロジック即ち
ルックアヘッド(見越し)スレッシュホールドロジック
は、データフレームのいかに多くのバイトを受信したか
に基づいて早期指示信号を発生する。第2の受信スレッ
シュホールド指示ロジック即ちレングスレフト(残り長
さ)スレッシュホールドロジックは、データフレームの
いかに多くのバイトが受信されるべく残っているかに基
づいて早期指示信号を発生する。
図13a及びbは、典型的なイーサネットデータフレー
ムを示す。図13から明らかなように、データフレーム
は、前部フィールドと、行先アドレスフィールドと、ソ
ースアドレスフィールドと、長さ/タイプフィールド
と、データフィールドと、繰り返し冗長度チェック(CR
C)フィールドとを備えている。前部は交互に1と0を
含む64ビットの同期パターンであって、2つの連続する
1で終わる。行先アドレスフィールドは、データフレー
ムが送信されるステーションを指定する48ビットを含
む。ソースアドレスフィールドは、データフレームを送
信するステーションの独特のアドレスを含む48ビットを
備えている。長さ/タイプフィールドは、データフレー
ムに関連した高レベルプロトコル又は後に続くデータフ
ィールドの長さのいずれかを識別する16ビットフィール
ドを含む。データフィールドは、32ビットの繰り返し冗
長チェックコードを含む。データフレーム間の最小間隔
は、9.6μSである。CRCフィールドは、行先フィールド
と、ソースフィールドと、タイプ/長さフィールドと、
データフィールドをカバーする。
図13aは、データフレームの受信中に、ルックアヘッ
ドスレッシュホールドロジックが早期受信指示を発生す
る状態を示すグラフである。図13aから明らかなよう
に、ルックアヘッドスレッシュホールドロジックは、早
期受信指示を発生する前にフレームのいかに多くのバイ
トが受信されたかを決定する。ルックアヘッドスレッシ
ュホールドロジックは、早期指示信号を発生する前に受
信されるべきバイトのルックアヘッドスレッシュホール
ド数を含む変更可能な記憶位置を備えている。ルックア
ヘッドスレッシュホールドに対して選択される値は、ヘ
ッダフィールドを読み取るのに必要なバイトの数よりも
大きくなければならない。更に、ルックアヘッドスレッ
シュホールドに対して選択される値は、フレーム全体を
受信し易いように選択しなければならない。イーサネッ
トネットワークにおいては、衝突なく全フレームが受信
される確率は、フレームの最初の60バイトを受信した後
に適度に高いものとなる。
或いは又、残り長さスレッシュホールドロジックは、
データフレームのいかに多くのバイトが受信されるべく
残っているかに基づいてホストへ早期指示信号を発生す
る。図13bは、データフレームの受信に対する受信完了
信号の発生の関係を示すグラフである。ルックアヘッド
スレッシュホールドロジックは、データフレームにおい
て受信したバイト数をカウントしそしてそれをルックア
ヘッドスレッシュホールド値と比較することにより実施
できるが、残り長さスレッシュホールドロジックは、ス
レッシュホールド値との比較を行う前にデータフレーム
の長さを定めねばならないので更に複雑である。残り長
さスレッシュホールドロジックは、受信した各データフ
レームごとに残り長さスレッシュホールド値に達したか
どうかをリアルタイムで判断するためにデータフレーム
の長さを決定しなければならない。
図14は、残り長さスレッシュホールドロジックがデー
タフレームの長さをリアルタイムベースでいかに決定す
るかを示す論理流れ線図である。データフレームの長さ
/タイプフィールドを受け取ると、論理ブロック200
は、長さ/タイプフィールドが長さ値を含むかタイプ値
を含むかを判断する。長さ/タイプフィールドの値が15
00以下である場合には、残り長さスレッシュホールドロ
ジックは、論理ブロック201に示すように、その値をデ
ータフィールドの長さとして使用する。或いは又、長さ
/タイプフィールドの値が1500より大きい場合には、ロ
ジックは、論理ブロック202においてその値がタイプ識
別子であるかどうか判断する。タイプ識別子が8137(16
進)に等しい場合には、スレッシュホールドロジック
は、論理ブロック203へ進み、データフレームがNetWare
(登録商標)であると判断する。このフレームは、デー
タフィールドの長さを含むためにバイト17及び18を使用
する。さもなくば、スレッシュホールドロジックは、論
理ブロック204へ進み、データフィールドが1500バイト
であると仮定する。
ホストは、手前のホスト応答に基づいて早期受信指示
が発生されたときにルックアヘッド及び残り長さスレッ
シュホールド値を変更することにより動的に同調するこ
とができる。この同調は、更に、ホストプロセッサの割
り込み待ち時間を減少する。ホスト、及び特に、ホスト
ドライバは、ネットワークアダプタの状態レジスタを検
査することにより割り込みの発生が早過ぎるか遅過ぎる
か判断しなければならない。次いで、ホストプロセッサ
は、スレッシュホールドレジスタへ書き込みすることに
より受信スレッシュホールドロジックにおいてスレッシ
ュホールド値を増加又は減少することができる。
2進指数加速追跡方法は、ネットワークアダプタの早
期指示の発生を同調するためにホストプロセッサによっ
て使用される。受信スレッシュホールドロジックを動的
に同調するための好ましいアルゴリズムは、次の通りで
ある。
1.待ち時間デフォールトの使用 DOSシステムの場合には、15μSの初期割り込み待ち
時間デフォールトが使用され、一方、OS/2システムの場
合には30μSが使用される。次いで、割り込み待ち時間
として予想されるマイクロ秒の数値が、バイト時間に変
換される。その換算係数は、アダプタのモード、ネット
ワークデータレート及びホストシステムバスレートによ
って決まる。
2.割り込み発生が早いか遅いかの決定 割り込みサービスルーチンに入る際に、ネットワーク
アダプタのFRAME STATUSレジスタは、フレームの受信
が実際に完了したかどうかを判断するように検査しなけ
ればならない。FRAME STATUSレジスタは、割り込みの
発生が早過ぎるか遅過ぎるかを指示する。
3.待ち時間デルタの決定 現在の割り込みと手前の割り込みが事象の同じ側(両
方とも早いか又は両方とも遅い)で生じた場合には、待
ち時間デルタが2倍にされる(2を乗算)。現在の割り
込みが事象の反対側で生じた(早い・対・遅い)場合に
は、デルタが1にリセットされ、その符号を変化させ
る。例えば、現在デルタが+64である場合には、新たな
デルタが−1であり、現在デルタが負の32である場合に
は、新たなデルタが+1である。これは、アルゴリズム
がマークをオーバシュートする場合に、停止しそして逆
方向に加速を開始するよう確保する。
4.スレッシュホールド値の更新 最終的に、待ち時間デルタは、スレッシュホールド値
を含む変更可能な記憶位置の内容に加えられる。次い
で、アルゴリズムはステップ2に復帰する。
上記アルゴリズムは、以下に示す他のスレッシュホー
ルドロジック実施例の同調にも使用できる。
A.ルックアヘッド及び残り長さスレッシュホールドロジ
ック ここに示す実施例において、受信指示ロジックは、図
5の受信DMAブロック63において実施される。他の機能
ブロックの中で、受信DMAブロック63は図15に示す受信
指示機能を含む。図15の受信指示機能ブロック図は、ル
ックアヘッド及び残り長さスレッシュホールドロジック
を含む。
受信指示機能の主たる機能論理ブロックは、受信完了
制御ブロック210と、長さフィールドレジスタ212と、残
り長さスレッシュホールドカウンタ216と、残り長さス
レッシュホールドレジスタ221と、ルックアヘッドスレ
ッシュホールドレジスタ223と、早期受信制御ブロック2
25とを備えている。
受信完了制御ブロック210は、種々の入力信号に基づ
いてRCV COMPLETE(受信完了)を出力する。入力信号
は、RCV DONE REG WR(受信実行レジスタ書き込
み)、XFER INDICATE DELAYEN(転送指示遅延イネー
ブル)、XFER COMPLETE(転送完了)、RCV FRAME ST
ATUS RD(受信状態読み取り)、DISCARD CURRENT(現
在廃棄)、XFER QUEUE STATUS RD(転送待行列状態
読み取り)、CUR FRAME IS CUR REC(現在フレーム
は現在受信)、CLOCK(クロック)、RECEIVE DMA RES
ET(受信DMAリセット)、LENGTH LEFT THRESH EN
(残り長さスレッシュホールドイネーブル)及びLENGTH
LEFT THRESH MET(残り長さスレッシュホールド適
合)を含む。
LENGTH LEFT THRESH MET及びLENGTH LEFT THRES
H ENの値は、残り長さスレッシュホールドロジックに
基づくものである。END OF RCV(受信の終わり)及び
RCV DMA RESETは、オアゲート211への入力である。オ
アゲート211の出力は、長さフィールドレジスタ212をセ
ットするのに使用される。長さフィールドレジスタ212
は、所与のデータフレームにおけるLENGTH FIELD VAL
UE(長さフィールド値)を調整して、Q出力からCONDIT
IONED LENGTH FIELD(調整された長さフィールド)
〔10:0〕を出力するのに使用される。LENGTH FIELD
(長さフィールド)〔15:0〕は、長さフィールドレジス
タ212のD入力であり、LENGTH FIELD WR(長さフィー
ルド書き込み)がレジスタをクロックする。
RCV DMA RESETは、レジスタ214、レジスタ220及び
残り長さスレッシュホールドカウンタ216をリセットす
るのに使用される。レジスタ214及び220は、残り長さス
レッシュホールドカウンタ216と共に、CLOCK信号により
同期される。レジスタ214のD入力にはRECEIVING信号が
入力される。レジスタ214のQ出力は、このRECEIVING信
号と共にアンドゲート215へ入力される。アンドゲート2
15の出力は、残り長さスレッシュホールドカウンタ216
のPE入力を駆動する。RCV FRAME LENGTH〔3:0〕の値
は、論理ブロック219により15と比較され、該ブロック
はレジスタ220のJ入力を駆動する。レジスタ220のQ出
力は、RCV READ BARと共にアンドゲート217へ入力さ
れる。アンドゲート217の出力は、次いで、残り長さス
レッシュホールドカウンタ216のCE入力を駆動する。
残り長さスレッシュホールドレジスタ221は、残り長
さスレッシュホールド値を含む。RCV DMA RESETは、
レジスタ221をリセットし、LENGTH LEFT THRESH WRH
I(残り長さスレッシュホールド書き込み高)及びLENGT
H LEFT THRESH WRLO(残り長さスレッシュホールド
書き込み低)がレジスタ221をクロックする。HOST WRI
TE DATA(ホスト書き込みデータ)〔10:0〕は、残り長
さスレッシュホールドレジスタ221へスレッシュホール
ド値を書き込む。次いで、LENGTH LEFT THRESH REGI
STER(残り長さスレッシュホールドレジスタ)値が、そ
のQ出力から残り長さスレッシュホールドカウンタ216
のD入力及び論理ブロック218へ出力される。残り長さ
スレッシュホールドレジスタ221のQ出力が1以上であ
る場合には、LENGTH LEFT THRESH ENが論理ブロック
218から受信完了制御ブロック210へとアサートされる。
残り長さスレッシュホールドカウンタ216は、データ
フレームから受け取ったバイト数をそのQ出力から比較
器213のB入力へ出力する。次いで、比較器213は、残り
長さスレッシュホールドカウンタ216の出力が条件LENGT
H FIELD〔10:0〕値に等しいか又はこれより大きいとき
に、LENGTH LEFT THRESH METを受信完了制御ブロッ
ク210へ出力する。
早期受信制御ブロック225は、その入力に基づいてEAR
LY RCV(早期受信)をアサートする。早期受信制御ブ
ロック225の入力は、CUR FRAME IS CUR RCV、END
OF RECEIVE、RCV DMA RESET、CLOCK、RCV BYTES A
VAIL RD、LOOK AHEAD THRESH EN及びLOOK AHEAD
THRESH METである。
ルックアヘッドスレッシュホールドレジスタ223は、
残り長さスレッシュホールドレジスタ221と同様に、ス
レッシュホールド値を含む。ルックアヘッドスレッシュ
ホールドレジスタ223は、RCV DMA RESETによりセット
され、そのD入力にはHOST WRITE DATA(ホスト書き
込みデータ)〔10:0〕が送られ、そしてLOOK AHEAD T
HRESH WRHI及びLOOK AHEAD THRESH WRLOがルックア
ヘッドスレッシュホールドレジスタ223をクロックす
る。ルックアヘッドスレッシュホールドレジスタ223の
Q出力は、RCV FRAME LENGTH〔10:0〕と共に比較器22
4へ送られる。比較器224は、RCV FRAME LENGTH〔10:
0〕がルックアヘッドスレッシュホールドレジスタ223の
Q出力以上であるときに、LOOK AHEAD THRESH METを
アサートする。ルックアヘッドスレッシュホールドレジ
スタ223のQ出力は、論理ブロック222へ入力され、これ
は、ルックアヘッドスレッシュホールドレジスタのQ出
力が1以上である場合にLOOK AHEAD THRESH ENを早
期受信制御ブロック225へアサートする。
図16a及び16bは、図15の残り長さスレッシュホールド
レジスタ221及びルックアヘッドスレッシュホールドレ
ジスタ223のレジスタ構成を示す。これらのD型フリッ
プ−フロップレジスタは、各々、残り長さスレッシュホ
ールド値及びルックアヘッドスレッシュホールド値を記
憶する。
図16aの上部のレジスタ221aは、LENGTH LEFT THRES
H WRHIの立上り縁においてホストによりD入力に書き
込まれた上位3ビットのHOST WRITE DATA〔10:8〕を
記憶する。下部のレジスタ221bは、LENGTH LEFT THRE
SH WRLOの立上り縁においてホストによりD入力に書き
込まれた下位8ビットのHOST WRITE DATA〔7:0〕を記
憶する。これらレジスタは、R入力のRECEIVE DMA RE
SETによってリセットされる。LENGTH LEFT THRESHの
値は、Q出力から読み取られ、その上位3ビットのLENG
TH LEFT THRESH〔10:8〕はレジスタ221aから読み取ら
れそして下位8ビットのLENGTH LEFT THRESH〔7:0〕
はレジスタ221bから読み取られる。
同様に、図16bにおいて、ルックアヘッドスレッシュ
ホールドレジスタ223は、ルックアヘッドスレッシュホ
ールド値を記憶する。図16bの上部のレジスタ223aは、L
OOK AHEAD THRESH WRHIの立上り縁においてホストに
よってD入力に書き込まれた上位3ビットのHOST WRIT
E DATA〔10:8〕を記憶する。下部のレジスタ223bは、L
OOK AHEAD THRESH WRLOの立上り縁においてホストに
よりD入力に書き込まれた下位8ビットのHOST WRITE
DATA〔7:0〕を記憶する。これらレジスタは、R入力
のRECEIVE DMA RESETによりリセットされる。LOOK A
HEAD THRESHの値は、Q出力から読み取られ、その上位
3ビットのLOOK AHEAD THRESH〔10:8〕はレジスタ223
aから読み取られそして下位8ビットのLOOK AHEAD TH
RESH〔7:0〕はレジスタ223bから読み取られる。
図17は、図15の受信完了制御ブロックの受信完了制御
状態マシンの図である。RECEIVE DMA RESET信号は、
初期化状態224へ移行できるようにする。初期化の後
に、スレッシュホールド状態が真になるか又は受信バッ
ファに完了フレームがあるようになるまで待機する。XF
ER INDICATE DELAY ENが非ゼロであるか、又はホス
トがXFER QUEUE STATUSを読み取ることによりフレー
ム転送を開始する場合には、LENGTH LEFT THRESH状態
に交差するか又は受信バッファに完全受信フレームがあ
るときに、状態マシンは待機状態225へ進む。RCV COMP
LETEをアサートする前に、待機状態225において、XFER
COMPLETEを待機しなければならないが、ホストがRCV
DONEに書き込むことにより早期受信データに基づいて
フレームを廃棄したい場合には、状態マシンは、初期化
状態224へ戻り、そしてRCV COMPLETEはクリア状態227
において抑制される。
或いは又、XFER INDICATE DELAYがゼロでありそし
てホストがXFER QUEUE STATUSを読み取ることにより
転送を開始しなかった場合には、状態マシンは直接的に
セット状態226に入り、XFER COMPLETEを待機せずにRCV
COMPLETEをアサートする。
セットされた後に、RCV COMPLETEは、RCV FRAME S
TATUSを読み取るか又はRCV DONEに書き込むことにより
ホストが指示を確認したときにクリア状態227によって
クリアされる。DISCARD CURRENTがアサートされて、現
在フレームポインタ〔14:2〕が次のフレームの開始部へ
進められることを指示するときには、状態マシンが初期
化状態224へ戻る。
図18は、図15の長さフィールドレジスタの回路図であ
る。この長さフィールドレジスタ212は、LENGTH LEFT
THRESHOLD METを決定するのに使用されるCONDITIONE
D LENGTH FIELD〔10:0〕を記憶する。記憶される値
は、46の下限及び1500の上限に制約される。LENGTH FI
ELD〔15:0〕の値は、マルチプレクサ212cの出力を選択
するのに使用される論理ブロック212a及び212bの出力に
より限定される。マルチプレクサ212cのS1及びS0入力
は、出力されるCONDITIONED LENGTH FIELD〔10:0〕を
決定する。論理ブロック212aの出力は、LENGTH FIELD
〔15:0〕が1500より大きい場合にセットされる。LENGTH
FIELD〔15:0〕が46より小さい場合には、S1が論理ブ
ロック212bによってセットされる。CONDITIONED LENGT
H FIELD〔10:0〕は、レジスタ212cのO入力に書き込ま
れる。その値が46より小さい場合には、46の値がレジス
タ212dのD入力に書き込まれ、そしてその値が1500より
大きい場合には、1500の値がレジスタ212dのD入力に書
き込まれる。D型レジスタ212dは、P入力においてLENG
TH FIELD PRESETによりリセットされる。212dレジス
タへの書き込みは、LENGTH FIELD WRによって同期さ
れる。
図19は、図15の早期受信制御ブロックの早期受信制御
状態マシンの図である。RECEIVE DMA RESET信号は、
初期化状態228へ移行できるようにし、EARLY RCVがク
リアされる。LOOK AHEAD THRESH EN、LOOK AHEAD
THRESH MET及びCUR FRAME IS CUR RCVがアサート
されたときには、セット状態229においてEARLY RCVが
セットされる。LOOK AHEAD THRESH ENは、LOOK AHE
AD THRESHが非ゼロであるときにアサートされ、そして
LOOK AHEAD THRESH METは、首尾良く受信されるバイ
トの数がLOOK AHEAD THRESHにセットされたスレッシ
ュホールド以上であるときにアサートされる。クリア状
態230において、ホストがRCV BYTES AVAILを読み取る
ときに、EARLY RCVがクリアされる。状態マシンは、LA
TCHED END OF RECEIVEが観察されるまでクリア状態2
30に留まる。
VII.指示結合ロジック 早期受信割り込みを発生する受信スレッシュホールド
ロジックと同様に、完全なデータフレームがアダプタバ
ッファメモリからホストメモリへ転送されるときに、転
送完了割り込みが発生される。しかしながら、指示結合
ロジックは、早期受信割り込みの予想される発生より若
干前に通常の転送完了割り込みが生じるようにこれを遅
延させる。
図20はネットワークアダプタによるフレームの受信及
び転送を示している。図20は、受信フレーム240aと転送
フレーム240bのオーバーラップを示している。明らかな
ように、通常の転送完了割り込みは、転送フレーム240b
の終わりに発生される。しかしながら、早期受信指示ロ
ジックをもつネットワークアダプタは、通常の転送完了
割り込みの若干後に割り込みを発生する。両方の割り込
みは比較的短い時間内に発生され、ネットワークアダプ
タ/ホストプロセッサの性能を低下させる。割り込みの
量を低減するために、フレーム240bの通常の転送完了割
り込みは、フレーム242aの早期受信割り込みの予想され
る発生の前まで遅延される。フレーム240bの転送完了割
り込みのこの遅延は、ホストプロセッサが1つの割り込
みサービスルーチンにおいて2つの指示に応じられるよ
うにする。ホストプロセッサは、遅延された転送完了割
り込みによって生じた割り込みサービスルーチンに入
り、そこから出るまでに、ネットワークアダプタの状態
レジスタを検査して、早期受信指示を読み取ると共に、
早期受信指示に応じる。従って、指示結合ロジックは、
ネットワークアダプタからホストシステムへの多数のフ
レーム転送中にホストプロセッサへの割り込みの数を相
当に減少することができる。
図5のアップロードDMAブロックのアップロード指示
機能ブロックは、指示結合ロジックを含んでいる。ある
条件が満たされた後に、アップロード指示機能は、XFER
COMPLETEをアサートし、そしてXFER INDICATION RE
ASONにおいて状態情報をポスト処理する。XFER COMPLE
TEがアサートされたときには、XFER INDICATION REAS
ONの状態が有効となり、ホストがXFER LENGTHを読み取
るまで有効状態に保たれる。XFER INDICATION REASON
のビットは、XFER COMPLETEが発生されたときを記述し
た状態情報をポスト処理する。アップロード指示機能
は、ホストプロセッサがXFER LENGTHを読み取ることに
より指示を確認したときにXFER COMPLETEをデアサート
する。アップロード指示ブロックは、ホストがアクセス
できる3つのレジスタ、即ちXFER INDICATION REASO
N、XFER COMPLETE THRESH及びXFER INDICATE DELAY
を含んでいる。ホストは、これら3つのレジスタ全部に
読み取りアクセスし、そしてXFER COMPLETE THRESH及
びXFER INDICATE DELAYに書き込みアクセスする。XFE
R COMPLETEは、転送完了前、転送完了後、又は受信さ
れているフレームの早期受信指示が予想されるときにア
サートされるようにプログラムすることができる。
XFER COMPLETEは、図21に示す状態マシンにより制御
される。UPLOAD DMA RESETは、アップロード指示ブロ
ックが初期化状態304に入るようにさせる。XFER COMPL
ETE、XFER INDICATION REASON及びXFER INDICATE D
ELAY ENは、初期化状態304においてクリアされる。状
態マシンは、TRANSFERRINGがアサートされた際にWAIT
FOR XFER THRESH MET(転送スレッシュホールドに合
致するのを待機)状態305へ移行する。XFER INDICATIO
N DELAYの値がゼロであり、そしてXFER THRESH MET
がアサートされたときに転送されているフレームが受信
されない場合には、セット状態309へ移行することによ
りXFER COMPLETEがアサートされる。転送されている現
在フレームが、受信されている現在フレームである場合
には、タイマー状態306へ移行することにより次の受信
フレームが予想されるときまでXFER COMPLETEのアサー
ションが遅延される。最小のIFS(フレーム間スペー
ス)を仮定すれば、1つの受信フレームの終わりから次
の受信フレームの開始までの時間は、次の式によって決
定される。
9.6μs(IFS)+6.4μs(前部)+0.8μs(行先アド
レスフィールドの第1バイト)+0.8μs(同期)=17.
6μs RECEIVINGのアサーションにより予想時に新たなフレ
ームが受信されない場合には、17.6μs後にセット状態
309によってXFER COMPLETEがアサートされる。RECEIVI
NGは、RECEIVE DMAによってフレームが受信されたとき
にアサートされる。RECEIVINGのアサーションを用いて
フレームの開始が指示され、RECEIVINGのデアサーショ
ンを用いてフレームの終了が指示される。RECEIVINGが
アサートされない場合には、新たな受信フレームの行先
アドレスがアドレス一致の待機状態307においてチェッ
クされるまで更に遅延される。行先アドレスが一致せ
ず、そしてREJECT FRAME(フレーム拒絶)がアサート
されるためにフレームが受信されようとしない場合に
は、セット状態309によってXFER COMPLETEがアサート
される。さもなくば、DELAYED MULTICAST COMPARE D
ONE(遅延マルチキャスト比較終了)がアサートされた
ときにWAIT FOR XFER DELAY MET(転送遅延合致の
待機)状態308が生じる。DELAYED MULTICAST COMPARE
DONEは、MULTICAST COMPARE DONEを1クロックサイ
クルだけ遅延させたものである。REJECT FRAMEは、MUL
TICAST COMPARE DONEを1クロックだけ遅らせ、従っ
て、DELAY MULTICAST COMPARE DONEがアサートされ
たときに有効となる。最終的に、XFER DELAY METがア
サートされたときに、状態マシンはセット状態309へ移
行する。
図22aないしdは、XFER COMPLETEをアサートできる
ときの異なるシーケンスを示すタイミング図である。図
22aは、早期転送完了指示のアサーションを示すタイミ
ング図である。データフレームがホストシステムへ転送
される間に、XFER COMPLETE指示は、XFER COMPLETE
METがアサートされるときにアサートされ、そしてXFER
LENGTH RDのデアサート時にデアサートされる。
図22bは、新たなフレームが受信されないときのXFER
COMPLETE指示のアサーションを示している。XFER CO
MPLETEのアサーションは、新たなフレームの予想される
発生まで17.6マイクロ秒だけ遅延され、そしてXFER LE
NGTH RDのデアサート時にデアサートされる。
図22cは、正しいアドレス一致をもたないフレームが
受信されたときの遅延転送完了指示を示している。17.6
マイクロ秒後に、ネットワークアダプタは新たなフレー
ムを受け取り、そしてその新たなフレームがネットワー
クアダプタ行先アドレスを有するかどうか判断する。受
信されている現在フレームがネットワークアダプタ行先
アドレスに一致しない場合には、DELAYED MULTICAST
COMPARE DONE及びREJECT FRAMEのアサート時に、XFER
COMPLETEがアサートされる。XFER LENGTH RDがデア
サートされると、XFER COMPLETEはデアサートされる。
図22dは、XFER DELAY METがアサートされた後の遅
延されたXFER COMPLETE指示を示している。受信されて
いる現在フレームがネットワークアダプダ行先アドレス
を有する場合には、XFER COMPLETEは、XFER DELAY M
ETのアサート時に生じ、そしてXFER LENGTH RDのデア
サート時にデアサートされる。
図23は、アップロード指示ブロックの転送完了スレッ
シュホールドレジスタの回路図である。XFER COMPLETE
THRESHはレジスタ315及び316に記憶され、ホストは読
み取りアクセス及び書き込みアクセスの両方を有する。
転送完了スレッシュホールド値の上位3ビットは、レジ
スタ315のD入力のHOST WRITE DATA〔10:8〕によって
書き込まれる。XFER COMPLETE THRESH WRHIのストロ
ーブは、入力をクロックする。XFER COMPLETE THRESH
〔10:8〕は、レジスタ15のQ出力に出力される。転送完
了スレッシュホールド値の下位8ビットは、レジスタ31
6のD入力のHOST WR DATA〔7:0〕によって書き込まれ
る。XFER COMPLETE THRESH WRLOのストローブは、入
力をクロックする。レジスタ316のQ出力には、XFER C
OMPLETE THRESH〔7:0〕が出力される。レジスタ315及
び316は、UPLOAD DMA RESETにより初期化中にゼロに
リセットされる。
レジスタ315及び316の転送完了スレッシュホールド値
は、ホストが315及び316の両方に書き込んだときに有効
となる。315又は316の片方しか書き込まれない場合に
は、XFER COMPLETE THRESH VALIDがデアサートさ
れ、スレッシュホールド値が無効であると示される。
これはレジスタ310及び313により行われる。XFER CO
MPLETE THRESH WRLOはレジスタ310のJ入力に入力さ
れる一方、XFER COMPLETE THRESH WRHIはレジスタ31
3のJ入力に入力される。レジスタ310及び313のK入力
はアンドゲート311及び314から受け取られる。アンドゲ
ート311には、XFER COMPLETE THRESH WRHI、XFER C
OMPLETE THRESH WRLO及びXFER THRESH HI BYTE V
ALIDが入力される。更に、アンドゲート314には、XFER
COMPLETE THRESH WRHI、XFER COMPLETE THRESH
WRLO及びXFER THRESH LO BYTE VALIDが入力され
る。レジスタ310及び313は、CLOCK信号により同期され
る。レジスタ310及び313のQ出力であるXFER THRESH
LO BYTE VALID及びXFER THRESH HI BYTE VALIDは
各々アンドゲート312へ入力され、これは、XFER COMPL
ETE THRESH VALIDを出力する。
図24は、アップロード指示ブロックのXFER DELAY M
ETレジスタの回路図である。XFER DELAY METは、CUR
BYTE COUNT〔10:0〕において受け取られたバイトの
数とXFER INDICATE DELAY〔10:0〕の値との和がLOOK
AHEAD THRESH〔10:0〕の値以上であるときにアサー
トされる。CUR BYTE COUNT〔10:0〕及びXFER INDICA
TE DELAY〔10:0〕は各々加算器317のa及びb入力に入
れられる。その和は、比較器318のa入力に入れられ、
そのb入力にはLOOK AHEAD THRESH〔10:0〕が入れら
れる。比較器318の出力は、XFER DELAY RD、CYCLE D
ONE、XFER DELAY MET ENABLE及びCLOCKと共にアンド
ゲート320へ入力される。アンドゲート319には、XFER
LENGTH RD及びXFER DELAY METのフィードバックが入
力される。アンドゲート319及び320は、次いで、オアゲ
ート321へ入力される。オアゲート321の出力はレジスタ
322のD入力に入力される。レジスタ322のQ出力からXF
ER DELAY METが出力され、UPLOAD DMA RESETは、CL
OCK信号と同期してレジスタをリセットする。XFER IND
ICATE DELAY〔10:0〕、CUR BYTE COUNT〔10:0〕及び
LOOK AHEAD THESH〔10:0〕の値は、CYCLE DONEがア
サートされたときにCLOCKの立上り縁においてのみ変化
し得る。レジスタ322への入力が有効となるよう確保す
るために、CYCLE DONEのアサート時に、XFER INDICAT
E DELAY〔10:0〕及びCUR BYTE COUNT〔10:0〕がLOOK
AHEAD THRESH〔10:0〕以上であるときに、XFER DEL
AY METがセットされる。XFER LENGTH RDがアサート
されたときには、XFER DELAY METがリセットされる。
図25はアップロード指示ブロックの転送指示遅延レジ
スタの回路図であり、これは、図23の転送完了スレッシ
ュホールドレジスタと本質的に同じ構造を有している。
XFER INDICATE DELAYがレジスタ328及び329に記憶さ
れ、ホストは、読み取りアクセス及び書き込みアクセス
の両方を有する。このレジスタは、初期化中に、UPLOAD
DMA RESETによりゼロにリセットされる。このレジス
タの値は、ホストがレジスタ328及び329の下位及び上位
の両方のバイトに書き込んだときに有効となる。下位バ
イト又は上位バイトの一方しか書き込まれない場合に
は、XFER INDICATE DELAY VALIDがデアサートされ、
スレッシュホールド値が無効であることを指示する。
これは、レジスタ323及び326により行われる。レジス
タ323のJ入力にはXFER INDICATE DELAY WRLOが入力
される一方、レジスタ326のJ入力にはXFER INDICATE
DELAY WRHIが入力される。レジスタ323及び326のK
入力は、アンドゲート324及び327から受け取られる。ア
ンドゲート324には、XFER INDICATE DELAY WRHI、XF
ER INDICATE DELAY WRLO及びXFER DELAY HI BYTE
VALIDが入力される。アンドゲート327には、XFER IN
DICATE DELAY WRHI、XFER INDICATE DELAY WRLO及
びXFER DELAY LO BYTE VALIDが入力される。レジス
タ323及び326は、CLOCK信号によって同期される。レジ
スタ323及び326のQ出力であるXFER DELAY LO BYTE
VALID及びXFER DELAY HI BYTE VALIDは各々アン
ドゲート325に入力され、これは、XFER DELAY LO BY
TE VALID及びXFER DELAY HI BYTE VALIDの両方が
セットされた場合に、XFER INDICATE DELAY VALIDを
出力する。
図26は、アップロード指示ブロックの転送スレッシュ
ホールド合致機構を示している。図26は、XFER THRESH
MET(転送スレッシュホールド合致)がいかに発生さ
れるかを示している。転送されるべく残されているバイ
トの数がXFER COMPLETE THRESHの値以下であるときに
XFER COMPLETE THRESHOLDに合致する。転送されるべ
く残されているバイトの数は、転送されたバイト数を受
信フレーム長さから減算することによるか、又は転送さ
れるべきLAST TD DATA LENに残されているバイト数
により、それらのいずれか小さい方で決定される。転送
されているフレームがまだ受信されている場合には、転
送されるべく残されているバイトの数が残りの長さスレ
ッシュホールドの値以下であるときにスレッシュホール
ドに合致する。この場合には、残っているバイトの数
は、長さフィールドの値を、既に転送されたバイト数か
ら減算することにより決定される。
転送完了スレッシュホールド状態を計算するのに使用
される入力は、CLOCK信号の異なる立上り縁において変
化するが、CYCLE DONEがアサートされたときのクロッ
クサイクルにおいてのみ変化する。それ故、演算及びマ
ルチプレクスの組合せロジックにより起因する遅延を受
け入れるためには、CYCLE DONEがアサートされたとき
にのみフリップ−フロップレジスタの入力がラッチされ
る。
特に、レジスタ330及び332は、アンドゲート331と共
に、LENGTH FIELD VALID(長さフィールド有効)をア
サートするのに使用される。レジスタ330及び332は、UP
LOAD DMA RESETによってセットされる。レジスタ330
のJ入力には、LENGTH FIELD WR(長さフィールド書
き込み)が入力される。レジスタ330及び332は、CLOCK
信号によって同期される。レジスタ330及び332のK入力
には、TRANSFER LENGTH RD(転送長さ読み取り)が入
力される。レジスタ330のQ出力は、CYCLE DONE信号と
共に、アンドゲート331へ入力される。アンドゲート331
の出力は、レジスタ332のJ入力に入力され、レジスタ3
32のQ出力は、LENGTH FIELD VALIDをアサートし、こ
れは、マルチプレクサ335のS0に入力される。
RCV FRAME SIZE〔10:0〕は、比較器333に入力さ
れ、これは、RCV FRAME SIZE〔10:0〕が0より大きい
ときにマルチプレクサ335のS1をアサートする。論理ブ
ロック334によりCONDITIONED LENGTH FIELD〔10:0〕
に定数14が加算され、この論理ブロックは、次いで、マ
ルチプレクサ335の入力3を駆動する。マルチプレクサ3
35の入力2には1514が入力され、そしてその0,1には、R
CV FRAME SIZE〔10:0〕が入力される。マルチプレク
サ335のY出力は、FRAME LENGTH〔10:0〕であり、これ
は減算器336に入力される。FRAME LENGTH〔10:0〕は、
次いで、TRANSFER LENGTH〔10:0〕から減算される。そ
の差は、比較器337の入力及びマルチプレクサ339の1入
力に出力される。LAST TD DATA LENは、マルチプレ
クサ338がY出力からどの値を出力するかを選択する。U
PLOAD BYTE COUNT〔10:0〕はマルチプレクサ338の1
入力であり、該マルチプレクサの0入力は7FF(16進)
である。マルチプレクサ338の出力は、比較器337のb入
力及びマルチプレクサ339の0入力に送られる。比較器3
37の出力は、マルチプレクサ339の入力を選択する。
BYTES MEMAIN(残りのバイト)〔10:0〕は、マルチ
プレクサ339のY出力であり、比較器341の入力へ入力さ
れる。CUR FRAME IS CUR RCVは、マルチプレクサ34
0のどの入力が選択されるかを選択する。LENGTH LEFT
THRESH〔10:0〕は、1入力に入力され、その0入力に
はXFER COMPLETE THRESH〔10:0〕が入力される。マル
チプレクサ340のY出力は比較器341のb入力に入力され
る。比較器341の出力は、BYTE REMAIN〔10:0〕がLENGT
H LEFT THRESH〔10:0〕又はXFER COMPLETE THRESH
〔10:0〕以上である限り駆動される。比較器341の出力
は、XFER LENGTH RD及びCYCLE DONEと共にアンドゲ
ート343へ入力される。アンドゲート342及び343の出力
はオアゲート344に入力される。オアゲート344の出力
は、レジスタ345のD入力に入力され、該レジスタは、U
PLOAD DMA RESETによってセットされそしてCLOCK信号
により同期がとられる。レジスタ345は、Q出力にXFER
THRESH METを出力し、この信号はアンドゲート342へ
フィードバックされる。
VIII.結論 かくて、本発明は、指示信号を結合することによりデ
ータブロック転送中にホストシステムへの割り込みの数
を減少する。指示の結合は、指示結合ロジックによって
行われ、該ロジックは、1つのデータブロックの転送の
転送完了割り込みを、転送されるべき第2のデータブロ
ックにより発生される準備指示の予想される発生の若干
前に生じるように遅延させるものである。次いで、ホス
トプロセッサの割り込みサービスルーチンは、第2の割
り込みを発生する必要なしに、その準備指示及び転送完
了割り込みに応じることができる。
好ましい実施例においては、ネットワークアダプタの
受信スレッシュホールドロジックは、早期受信指示を発
生する前に、通信ネットワークからネットワークアダプ
タへいかに多くのデータフレームが受信されたかを決定
するように実施される。更に、受信スレッシュホールド
ロジックは、ルックアヘッドスレッシュホールドロジッ
ク及び残り長さスレッシュホールドロジックを含む。ル
ックアヘッドスレッシュホールドロジックは、ルックア
ヘッドスレッシュホールドレジスタのルックアヘッドス
レッシュホールド量のデータがネットワークアダプタに
よって受信されたときに早期受信指示を発生する。ルッ
クアヘッド値は、受信されたデータの量を表す。
ネットワークアダプタは、XFER COMPLETE(転送完
了)を、早期受信指示の予想される発生よりも若干前に
生じるように遅延する指示結合ロジックを備えている。
この指示結合ロジックは、転送スレッシュホールドレジ
スタの転送スレッシュホールド量に合致するか、現在ネ
ットワークアダプタフレームが受信されるか、又は転送
指示遅延に合致するかに基づいて、XFER COMPLETEを発
生する。
上記の指示信号は、更に、ホストプロセッサが指示信
号のタイミングを動的に同調できるようにすることによ
り最適化される。ホストプロセッサは、スレッシュホー
ルドレジスタへの書き込みアクセスを有し、ネットワー
クアダプタによるポスト処理状態情報に基づいてスレッ
シュホールドレジスタのスレッシュホールド値を変更す
る。ポスト処理された状態情報は、ホストプロセッサ
が、指示により発生された割り込みに対し早過ぎる応答
をするか遅過ぎる応答をするかを決定できるようにす
る。
本発明の好ましい実施例についての以上の説明は、本
発明を単に図示して説明するためのものに過ぎない。本
発明は、ここに述べた厳密な形態のみに限定されるもの
ではない。当業者であれば、多数の種々の変更や修正が
明らかであろう。上記の実施例は、本発明の原理及びそ
の実際の応用を最も良く説明するために選択されたもの
であり、従って、当業者であれば、意図される特定の用
途に適するように本発明を種々実施しそして種々変更し
得ることが理解されよう。本発明の範囲は、以下の請求
の範囲及びその等効物のみによって限定されるものとす
る。
フロントページの続き (72)発明者 シアー ダブリュー ポール アメリカ合衆国 カリフォルニア州 サ ニーヴェイル ガーデニア ウェイ 1054

Claims (28)

    (57)【特許請求の範囲】
  1. 【請求項1】行先装置へのデータブロックの転送の指示
    を結合する装置において、 バッファメモリと、 第1及び第2のデータブロックを含むデータブロックを
    上記バッファメモリから行先装置へ転送するための手段
    と、 前記第1データブロックの転送の終了付近に第1信号を
    発生する手段と、 上記第2データブロックの転送の開始付近に第2信号を
    発生する手段と、 上記第1信号を上記第2信号の予想される発生まで遅延
    するための手段と、 を備えたことを特徴とする装置。
  2. 【請求項2】上記装置はホストシステムへ接続され、そ
    して更に、 上記第1信号に応答してホストシステムへ割り込み信号
    を発生しそしてホストシステムにより使用されることの
    ある状態情報をポスト処理するための制御手段を備えた
    請求項1に記載の装置。
  3. 【請求項3】上記ホストシステムは、上記割り込み信号
    に応答するホストプロセッサを備え、そして上記第1信
    号及び第2信号は、上記ホストプロセッサが上記割り込
    み信号に応答した後に状態情報に含まれる請求項2に記
    載の装置。
  4. 【請求項4】第2信号を発生する上記手段は、 上記バッファメモリに接続されて、バッファメモリによ
    り受け取られるデータの量をカウントするためのカウン
    タと、 準備スレッシュホールド値を含む第1の変更可能な記憶
    位置と、 上記カウンタを上記変更可能な記憶位置における準備ス
    レッシュホールド値と比較し、そして上記カウンタと、
    準備スレッシュホールド値を含む上記第1の変更可能な
    記憶位置との比較に応答して第2信号を発生する手段と
    を備えた請求項1に記載の装置。
  5. 【請求項5】第1指示信号を遅延する上記手段は、 転送完了遅延スレッシュホールド値を含む第2の変更可
    能な記憶位置と、 上記カウンタと、転送完了遅延スレッシュホールド値を
    含む第2の変更可能な記憶位置とに接続され、カウンタ
    の値とこの第2の変更可能な記憶位置の値との和を出力
    するための加算器と、 上記加算器の出力と、準備スレッシュホールド値を含む
    第1の変更可能な記憶位置とに接続され、カウンタと、
    準備スレッシュホールド値を含む第1の変更可能な記憶
    位置との比較に応答して第1信号を発生するための比較
    器とを備えた請求項1に記載の装置。
  6. 【請求項6】ネットワークに接続されたネットワークト
    ランシーバからホストシステムへデータフレームを転送
    する装置において、 データフレームを記憶するためのバッファメモリと、 ネットワークトランシーバからバッファメモリへのデー
    タフレームを受け取るネットワークインターフェイスロ
    ジックと、 上記データフレームの一部分を受信するのに応答して早
    期受信指示信号を発生するための受信スレッシュホール
    ドロジックと、 バッファメモリからホストシステムへデータフレームを
    転送するためのホストインターフェイスロジックと、 ホストシステムへのデータフレームの転送に応答して転
    送完了指示信号を発生するための転送完了ロジックと、 転送完了指示信号をある時間中遅延するための指示結合
    ロジックと、 を備えたことを特徴とする装置。
  7. 【請求項7】上記ある時間は、フレーム間の間隔時間中
    であってデータフレームを受け取る前である請求項6に
    記載の装置。
  8. 【請求項8】上記ホストインターフェイスロジックは、 ホストシステムからバッファメモリへ転送記述子をマッ
    プするための転送記述子ロジックを備え、これら転送記
    述子は、バッファメモリのデータフレームが記憶される
    べきホストメモリ内の位置を識別し、そして 更に、上記バッファメモリの転送記述子に応答してバッ
    ファメモリからホストメモリへデータフレームを転送す
    るためのアップロードロジックを備えた請求項6に記載
    の装置。
  9. 【請求項9】転送完了指示信号に応答してホストシステ
    ムへ割り込み信号を発生しそしてホストシステムにより
    使用されることのある状態情報をポスト処理するための
    制御手段を更に備えた請求項6に記載の装置。
  10. 【請求項10】上記バッファメモリは、ホストアクセス
    スペースとは独立したバッファを備えている請求項6に
    記載の装置。
  11. 【請求項11】上記受信スレッシュホールドロジック
    は、 上記バッファメモリに接続されて、バッファメモリによ
    り受け取られるデータの量をカウントするためのカウン
    タと、 受信スレッシュホールド値を含む第1の変更可能な記憶
    位置と、 上記カウンタを上記変更可能な記憶位置における受信ス
    レッシュホールド値と比較し、そして上記カウンタと、
    受信スレッシュホールド値を含む上記第1の変更可能な
    記憶位置との比較に応答して早期受信指示信号を発生す
    る手段とを備えた請求項6に記載の装置。
  12. 【請求項12】上記データフレームは、行先アドレスを
    含むヘッダフィールドと、それに続くデータフィールド
    とを含み、そして上記受信スレッシュホールド値は、ヘ
    ッダフィールドの開始に対するデータの量を表すルック
    アヘッドスレッシュホールド値である請求項11に記載の
    装置。
  13. 【請求項13】上記時間は、行先アドレスの受信中であ
    る請求項12に記載の装置。
  14. 【請求項14】上記時間は、データのルックアヘッドス
    レッシュホールド値が受け取られる前である請求項12に
    記載の装置。
  15. 【請求項15】上記指示結合ロジックは、 転送完了遅延スレッシュホールド値を含む第2の変更可
    能な記憶位置と、 上記カウンタと、転送完了遅延スレッシュホールド値を
    含む第2の変更可能な記憶位置とに接続され、カウンタ
    の値とこの第2の変更可能な記憶位置の値との和を出力
    するための加算器と、 上記加算器の出力と、ルックアヘッドスレッシュホール
    ド値を含む第1の変更可能な記憶位置とに接続され、カ
    ウンタと、ルックアヘッドスレッシュホールド値を含む
    第1の変更可能な記憶位置との比較に応答して転送完了
    指示信号を発生するための比較器とを備えた請求項6に
    記載の装置。
  16. 【請求項16】ネットワーク通信媒体からデータフレー
    ムを受け取るための装置であって、この装置はネットワ
    ーク通信媒体及びホストシステムに接続され、ホストシ
    ステムは、割り込みサービスルーチン及びホストメモリ
    をもつホストプロセッサを含み、上記装置は、 データフレームを記憶するためのバッファメモリと、 ネットワーク通信媒体からバッファメモリへのデータフ
    レームを受け取るネットワークインターフェイスロジッ
    クと、 上記データフレームの一部分を受信するのに応答して早
    期受信指示信号を発生するための受信スレッシュホール
    ドロジックと、 バッファメモリからホストシステムへデータフレームを
    転送するためのホストインターフェイスロジックと、 ホストシステムへのデータフレームの転送に応答して転
    送完了指示信号を発生するための転送完了ロジックと、 上記早期受信又は転送完了指示信号に応答して上記ホス
    トプロセッサへ割り込み信号を発生し、そして割り込み
    サービスルーチン中にホストプロセッサにより読み取ら
    れることのある早期受信及び転送完了指示信号を表す状
    態情報をポスト処理するための制御手段と、 転送完了指示信号の発生をある時間中遅延するための指
    示結合ロジックと、 を備えたことを特徴とする装置。
  17. 【請求項17】上記受信スレッシュホールドロジック
    は、 上記バッファメモリに接続されて、バッファメモリによ
    り受け取られるデータの量をカウントするためのカウン
    タと、 受信スレッシュホールド値を含む第1の変更可能な記憶
    位置と、 上記カウンタを上記変更可能な記憶位置における受信ス
    レッシュホールド値と比較し、そして上記カウンタと、
    受信スレッシュホールド値を含む上記変更可能な記憶位
    置との比較に応答して指示信号を発生する手段とを備え
    た請求項16に記載の装置。
  18. 【請求項18】上記データフレームは、行先アドレスを
    含むヘッダフィールドと、それに続くデータフィールド
    とを含み、そして上記受信スレッシュホールド値は、ヘ
    ッダフィールドの開始に対するデータの量を表すルック
    アヘッドスレッシュホールド値である請求項17に記載の
    装置。
  19. 【請求項19】上記時間は、フレーム間の間隔時間中で
    あって、データフレームを受け取る前である請求項18に
    記載の装置。
  20. 【請求項20】上記時間は、行先アドレスの受信中であ
    る請求項18に記載の装置。
  21. 【請求項21】上記時間は、データのルックアヘッドス
    レッシュホールド値を受け取る前である請求項18に記載
    の装置。
  22. 【請求項22】上記指示結合ロジックは、 転送完了遅延スレッシュホールド値を含む第2の変更可
    能な記憶位置と、 上記カウンタと、転送完了遅延スレッシュホールド値を
    含む第2の変更可能な記憶位置とに接続され、カウンタ
    の値とこの第2の変更可能な記憶位置の値との和を出力
    するための加算器と、 上記加算器の出力と、ルックアヘッドスレッシュホール
    ド値を含む第1の変更可能な記憶位置とに接続され、カ
    ウンタと、ルックアヘッドスレッシュホールド値を含む
    第1の変更可能な記憶位置との比較に応答して転送完了
    指示信号を発生するための比較器とを備えた請求項17に
    記載の装置。
  23. 【請求項23】ネットワークに接続されたネットワーク
    トランシーバからバッファメモリへのデータフレームを
    受け取りそしてバッファメモリからホストプロセッサ及
    びホストメモリを含むホストシステムへデータフレーム
    を転送するためのネットワークアダプタであって、この
    ネットワークアダプタは、データフレームの転送に応答
    してホストプロセッサへ割り込み信号を発生し、ホスト
    プロセッサは割り込みに応答して、ある時間中にネット
    ワークアダプタにサービスし、上記ネットワークアダプ
    タは、 ネットワークトランシーバからバッファメモリへのデー
    タフレームを受け取るネットワークインターフェイスロ
    ジックと、 ある量のデータフレームを受信するのに応答して早期受
    信指示信号を発生するための受信スレッシュホールドロ
    ジックとを備え、該受信スレッシュホールドロジック
    は、 上記バッファメモリに接続されて、バッファメモリによ
    り受け取られたデータの量をカウントするカウンタと、 受信スレッシュホールド値を含む第1の変更可能な記憶
    位置と、 上記カウンタを上記変更可能な記憶位置における受信ス
    レッシュホールド値と比較し、そして上記カウンタと、
    受信スレッシュホールド値を含む上記変更可能な記憶位
    置との比較に応答して指示信号を発生する手段とを含ん
    でおり、 更に、バッファメモリからホストシステムへデータフレ
    ームを転送するためのホストインターフェイスロジック
    と、 ホストシステムへのデータフレームの転送に応答して転
    送完了指示信号を発生するための転送完了ロジックと、 上記転送完了指示信号に応答して上記ホストプロセッサ
    へ割り込み信号を発生し、そしてホストプロセッサによ
    り読み取られることのある早期受信及び転送完了指示信
    号を表す状態情報をポスト処理するための制御手段と、 ホストプロセッサがネットワークアダプタにサービスす
    る時間中に早期受信指示が生じるように転送完了指示信
    号を遅延するための指示結合ロジックと、 を備えたことを特徴とするネットワークアダプタ。
  24. 【請求項24】上記データフレームは、行先アドレスを
    含むヘッダフィールドと、それに続くデータフィールド
    とを含み、そして上記受信スレッシュホールド値は、ヘ
    ッダフィールドの開始に対するデータの量を表すルック
    アヘッドスレッシュホールド値である請求項23に記載の
    ネットワークアダプタ。
  25. 【請求項25】上記転送完了指示信号は、データフレー
    ムの受信後に発生される請求項24に記載のネットワーク
    アダプタ。
  26. 【請求項26】上記転送完了指示信号は、行先アドレス
    の受信後に発生される請求項24に記載のネットワークア
    ダプタ。
  27. 【請求項27】上記転送完了指示信号は、データのルッ
    クアヘッドスレッシュホールド値が受け取られる前に発
    生される請求項26に記載のネットワークアダプタ。
  28. 【請求項28】上記指示結合ロジックは、 転送完了遅延スレッシュホールド値を含む第2の変更可
    能な記憶位置と、 第2のカウンタと、転送完了遅延スレッシュホールド値
    を含む第2の変更可能な記憶位置とに接続され、カウン
    タの値とこの変更可能な記憶位置の値との和を出力する
    ための加算器と、 上記加算器の出力と、ルックアヘッドスレッシュホール
    ド値を含む第1の変更可能な記憶位置とに接続され、第
    2のカウンタと、ルックアヘッドスレッシュホールド値
    を含む変更可能な記憶位置との比較に応答して転送完了
    指示信号を発生するための比較器とを備えた請求項24に
    記載のネットワークアダプタ。
JP6508372A 1992-09-18 1993-09-17 ホスト指示結合式の装置 Expired - Lifetime JP2584957B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/947,773 US5319752A (en) 1992-09-18 1992-09-18 Device with host indication combination
US947,773 1992-09-18

Publications (2)

Publication Number Publication Date
JPH07507173A JPH07507173A (ja) 1995-08-03
JP2584957B2 true JP2584957B2 (ja) 1997-02-26

Family

ID=25486742

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6508372A Expired - Lifetime JP2584957B2 (ja) 1992-09-18 1993-09-17 ホスト指示結合式の装置

Country Status (8)

Country Link
US (1) US5319752A (ja)
EP (1) EP0660955B1 (ja)
JP (1) JP2584957B2 (ja)
KR (1) KR100186928B1 (ja)
AU (1) AU674341B2 (ja)
CA (1) CA2143951C (ja)
DE (1) DE69329684T2 (ja)
WO (1) WO1994007201A1 (ja)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5412782A (en) 1992-07-02 1995-05-02 3Com Corporation Programmed I/O ethernet adapter with early interrupts for accelerating data transfer
US5659690A (en) * 1992-10-15 1997-08-19 Adaptec, Inc. Programmably configurable host adapter integrated circuit including a RISC processor
US5530874A (en) * 1993-02-02 1996-06-25 3Com Corporation Network adapter with an indication signal mask and an interrupt signal mask
US5623669A (en) * 1993-07-21 1997-04-22 International Business Machines Corporation High speed online copy of partitioned data
JP3746785B2 (ja) * 1993-07-28 2006-02-15 3コム コーポレイション 多重ネットワーク・アドレスを備えたネットワーク・ステーション
SG47794A1 (en) * 1993-09-30 1998-04-17 Intel Corp Buffer memory management for a computer network node
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
US6131176A (en) * 1994-06-07 2000-10-10 Unisys Corporation On-the-fly data integrity transfer system handling mixed block sizes
WO1996013925A1 (en) * 1994-10-31 1996-05-09 Alcatel N.V. Communications protocol
US5774745A (en) * 1995-03-31 1998-06-30 Cirrus Logic, Inc. Method and apparatus for writing and reading entries in an event status queue of a host memory
US5708814A (en) * 1995-11-21 1998-01-13 Microsoft Corporation Method and apparatus for reducing the rate of interrupts by generating a single interrupt for a group of events
US5881063A (en) * 1996-04-08 1999-03-09 Ford Motor Company Half-message based multiplex communication interface circuit which uses a main microcontroller to detect a match in addresses and generate a qualified signal
US6154794A (en) * 1996-09-08 2000-11-28 Silicon Graphics, Inc. Upstream situated apparatus and method within a computer system for controlling data flow to a downstream situated input/output unit
US5951644A (en) * 1996-12-24 1999-09-14 Apple Computer, Inc. System for predicting and managing network performance by managing and monitoring resourse utilization and connection of network
US5943479A (en) * 1997-01-02 1999-08-24 Digital Equipment Corporation Method for reducing the rate of interrupts in a high speed I/O controller
GB9704368D0 (en) * 1997-03-03 1997-04-23 Madge Networks Ltd Interface device and method
US6012121A (en) * 1997-04-08 2000-01-04 International Business Machines Corporation Apparatus for flexible control of interrupts in multiprocessor systems
US6256660B1 (en) * 1997-04-08 2001-07-03 International Business Machines Corporation Method and program product for allowing application programs to avoid unnecessary packet arrival interrupts
US6167032A (en) * 1997-11-07 2000-12-26 International Business Machines Corporation System and method for avoiding host transmit underruns in a communication network
US6061768A (en) * 1997-12-18 2000-05-09 Advanced Micro Devices, Inc. Apparatus and method in a network interface device for storing tracking information indicating stored data status between contending memory controllers
US6105079A (en) * 1997-12-18 2000-08-15 Advanced Micro Devices, Inc. Apparatus and method in a network interface device for selectively supplying long bit information related to a data frame to a buffer memory and a read controller for initiation of data transfers
US6529986B1 (en) * 1999-01-26 2003-03-04 3Com Corporation Interrupt optimization using storage time for peripheral component events
US6192440B1 (en) * 1999-01-26 2001-02-20 3Com Corporation System and method for dynamically selecting interrupt storage time threshold parameters
US6189066B1 (en) * 1999-01-26 2001-02-13 3Com Corporation System and method for dynamically selecting interrupt time interval threshold parameters
US6351785B1 (en) * 1999-01-26 2002-02-26 3Com Corporation Interrupt optimization using varying quantity threshold
US6574694B1 (en) * 1999-01-26 2003-06-03 3Com Corporation Interrupt optimization using time between succeeding peripheral component events
US6189067B1 (en) * 1999-01-26 2001-02-13 3Com Corporation System and method for dynamically selecting interrupt quantity threshold parameters
US6434651B1 (en) * 1999-03-01 2002-08-13 Sun Microsystems, Inc. Method and apparatus for suppressing interrupts in a high-speed network environment
US6467008B1 (en) 1999-03-01 2002-10-15 Sun Microsystems, Inc. Method and apparatus for indicating an interrupt in a network interface
US6311284B1 (en) * 1999-03-15 2001-10-30 Advanced Micro Devices, Inc. Using an independent clock to coordinate access to registers by a peripheral device and a host system
EP1912124B8 (en) * 1999-10-14 2013-01-09 Bluearc UK Limited Apparatus and system for implementation of service functions
US6631434B1 (en) * 1999-11-15 2003-10-07 Hewlett-Packard Development Company, L.P. Dynamic early indication system for a computer
US6629290B1 (en) * 1999-12-29 2003-09-30 Advanced Micro Devices, Inc. Method and apparatus for automatic transmit verification
US7861104B2 (en) * 2001-08-24 2010-12-28 Broadcom Corporation Methods and apparatus for collapsing interrupts
US20030219232A1 (en) * 2001-10-01 2003-11-27 Shu Lin System and method for identifying data on a storage medium
WO2003055247A2 (en) * 2001-12-13 2003-07-03 Matsushita Electric Industrial Co., Ltd. Communications device, method and program for receiving process execution, and computer-readable recording medium having same program recorded thereon
KR20040017656A (ko) * 2002-08-23 2004-02-27 삼성전자주식회사 적은 수의 인터럽트를 이용하여 데이터를 처리하는인터페이스 카드 및 인터럽트 발생 방법
CN101432762B (zh) * 2006-04-26 2012-05-09 松下电器产业株式会社 信号传送方法、发送接收装置和通信系统
US20140114653A1 (en) * 2011-05-06 2014-04-24 Nokia Corporation Pitch estimator
US9146776B1 (en) 2011-08-16 2015-09-29 Marvell International Ltd. Systems and methods for controlling flow of message signaled interrupts
US9128920B2 (en) * 2011-11-30 2015-09-08 Marvell World Trade Ltd. Interrupt handling systems and methods for PCIE bridges with multiple buses
US9043457B2 (en) 2012-10-25 2015-05-26 Qualcomm Incorporated Dynamic adjustment of an interrupt latency threshold and a resource supporting a processor in a portable computing device
US9224958B2 (en) 2013-07-19 2015-12-29 Universal Display Corporation Organic electroluminescent materials and devices
DE212018000159U1 (de) * 2017-02-17 2019-10-02 Marvell World Trade Ltd. Systeme für einen Fehlerprotokollierungsmechanismus an Steuerungsbereichsnetzwerkbussen
US10007695B1 (en) * 2017-05-22 2018-06-26 Dropbox, Inc. Replication lag-constrained deletion of data in a large-scale distributed data storage system

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3789365A (en) * 1971-06-03 1974-01-29 Bunker Ramo Processor interrupt system
JPS58134554A (ja) * 1982-02-03 1983-08-10 Nec Corp 伝送路監視装置
US4866666A (en) * 1984-10-29 1989-09-12 Francisco Michael H Method for maintaining data integrity during information transmission by generating indicia representing total number of binary 1's and 0's of the data
US4680581A (en) * 1985-03-28 1987-07-14 Honeywell Inc. Local area network special function frames
US5101402A (en) * 1988-05-24 1992-03-31 Digital Equipment Corporation Apparatus and method for realtime monitoring of network sessions in a local area network
US5103446A (en) * 1990-11-09 1992-04-07 Moses Computers, Inc. Local area network adaptive throughput control for instantaneously matching data transfer rates between personal computer nodes

Also Published As

Publication number Publication date
DE69329684D1 (de) 2000-12-21
DE69329684T2 (de) 2001-06-21
KR100186928B1 (ko) 1999-05-15
CA2143951A1 (en) 1994-03-31
US5319752A (en) 1994-06-07
EP0660955A1 (en) 1995-07-05
AU4930093A (en) 1994-04-12
AU674341B2 (en) 1996-12-19
EP0660955B1 (en) 2000-11-15
CA2143951C (en) 2001-01-02
EP0660955A4 (en) 1995-05-17
KR950703766A (ko) 1995-09-20
WO1994007201A1 (en) 1994-03-31
JPH07507173A (ja) 1995-08-03

Similar Documents

Publication Publication Date Title
JP2584957B2 (ja) ホスト指示結合式の装置
US5307459A (en) Network adapter with host indication optimization
US5276684A (en) High performance I/O processor
KR0161101B1 (ko) 호스트 인터럽트 및 지시운용을 가지는 네트워크 어댑터
JP3863912B2 (ja) データ伝送の自動開始装置
CA2119152C (en) Network interface with host independent buffer management
JP3336816B2 (ja) マルチメディア通信装置及び方法
JP3436543B2 (ja) インターフェースシステム
JP3340738B2 (ja) 並行パケットバスに関する方法及び装置
EP0498201A2 (en) Generic high bandwidth adapter architecture
JPH04314157A (ja) 通信装置