JPH0865334A - マルチメディア通信装置及び方法 - Google Patents

マルチメディア通信装置及び方法

Info

Publication number
JPH0865334A
JPH0865334A JP7138045A JP13804595A JPH0865334A JP H0865334 A JPH0865334 A JP H0865334A JP 7138045 A JP7138045 A JP 7138045A JP 13804595 A JP13804595 A JP 13804595A JP H0865334 A JPH0865334 A JP H0865334A
Authority
JP
Japan
Prior art keywords
queue
data
bus
engine
controller
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
JP7138045A
Other languages
English (en)
Other versions
JP3336816B2 (ja
Inventor
Michael J Graziano
ミカエル・ジェイ・グラチアーノ
Jon F Hauris
ジョン・エフ・ハウリス
Daniel L Stanley
ダニエル・エル・スタンレイ
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 JPH0865334A publication Critical patent/JPH0865334A/ja
Application granted granted Critical
Publication of JP3336816B2 publication Critical patent/JP3336816B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • 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/9031Wraparound memory, e.g. overrun or underrun detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9057Arrangements for supporting packet reassembly or resequencing
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9084Reactions to storage capacity overflow
    • H04L49/9089Reactions to storage capacity overflow replacing packets in a storage arrangement, e.g. pushout
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/42Loop networks
    • H04L12/427Loop networks with decentralised control
    • H04L12/433Loop networks with decentralised control with asynchronous transmission, e.g. token ring, register insertion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • H04L2012/6432Topology
    • H04L2012/6435Bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • H04L2012/6445Admission control
    • H04L2012/6448Medium Access Control [MAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • H04L2012/6489Buffer Management, Threshold setting, Scheduling, Shaping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Small-Scale Networks (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)

Abstract

(57)【要約】 【目的】2つのインターフェース、即ち、ネットワーク
及びホスト・バス・システムの間でパケット・データ及
び等時性データを同時に受信及び送信する通信アダプタ
を提供する。 【構成】そのアダプタは、FDDI−RAMバッファ内
に構成された受信及び送信待ち行列に等時性データ及び
パケット・データを記憶する。コントローラはその待ち
行列への及びその待ち行列からのデータの転送を管理す
る。ローカル・バスはシステムと相互作用して、それら
待ち行列からシステム又はネットワークにデータを転送
するためのそのシステムにおけるアドレスのデスクリプ
タを与える。コントローラは、それら待ち行列とシステ
ム又はネットワークとの間でデータを転送するための可
変的閾値を与えるようプログラム可能である。システム
・インターフェース・ユニットはシステムへの又はシス
テムからのデータの転送を処理し、データが待ち行列を
バイパスして直接にシステム又はネットワークをアクセ
スすることを可能にする。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、マルチメディア通信に
関するものである。詳しく云えば、本発明は、1つのシ
ステムを横切ってリアル・タイム・マルチメディア情報
を通信するための装置及び方法に関するものである。特
に、本発明は、ホスト・バス・システムとマルチメディ
ア・ワークステーションを含むネットワークとを相互接
続するマルチメディア通信アダプタのためのアーキテク
チャに関するものである。
【0002】
【従来の技術】1つのシステムを横切ってリアル・タイ
ム・マルチメディア情報を通信する場合の問題点は、多
数のマルチメディア及びパケット・データ・ストリーム
を供給しそしてホスト・ベースのシステムとローカル・
エリア・ネットワーク(LAN)に接続されたワークス
テーションとの間でそれをリアル・タイムで流れさせる
システムとネットワークとの接続である。そのシステム
とネットワークとの間のこの機能を与える接続は、一般
には、通信アダプタと呼ばれ、よく知られている。通信
アダプタは、多数の現在の一般的な問題に対する高パフ
ォーマンスの解決方法を提供するように構成されなけれ
ばならない。
【0003】1つの問題点は、ネットワークとホスト・
バス・システムとの間で、両方向に、パケット・データ
及び等時性データを同時に且つ独立的に転送することで
ある。
【0004】もう1つの問題点は、ホスト・バス・シス
テムとネットワークとの間で、両方向に、その装置に記
憶することなくデータを直接に転送することである。
【0005】もう1つの問題点は、システムとアダプタ
との間のダイレクト・メモリ・アクセス・オペレーショ
ンの非効率的な実行である。
【0006】もう1つの問題点は、システムに送信され
るべきデータ及びシステムから受信されるべきデータの
ロケーションを表す送信デスクリプタ及び受信デスクリ
プタの同時的且つ独立的実行の欠如である。
【0007】もう1つの問題点は、アダプタのパフォー
マンスを低下させるシステム帯域幅の非効率的な使用で
ある。
【0008】もう1つの問題点はデータ転送コマンドの
シンプレックス実行である。
【0009】もう1つの問題点は、アダプタにおける多
数の低帯域幅等時性データ及びパケット・データの効率
的な同時処理である。
【0010】上記の問題点を処理及び解決するアダプタ
は、産業界、政府機関、及び教育界におけるマルチメデ
ィア通信の発展を促進するであろう。
【0011】
【発明が解決しようとする課題】本発明の目的は、待ち
行列ストラクチャを使用して、ネットワークとホスト・
バス・システムとの間で多数の低帯域幅チャネルの効率
的な同時処理を可能にするマルチメディアのための通信
装置及び通信方法を提供することにある。
【0012】もう1つの目的は、メディア接続バス及び
ホスト接続バスに対するアクセス・リクエストを制御す
る待ち行列ストラクチャのためのプログラム可能なデー
タ閾値を持った通信装置を提供することにある。
【0013】もう1つの目的は、制御可能な多数の待ち
行列を独立のデスクリプタ・リストと共に使用して、同
時的な多数のリアル・タイム及びマルチメディア・スト
リームを処理するマルチフロー・アダプタを提供するこ
とにある。
【0014】もう1つの目的は、バック・エンドにおけ
る任意の数のバスに対するインターフェースであり且つ
フロント・エンドにおける任意の数のLAN又はWAN
への接続及びインターフェースを行うアダプタを提供す
ることにある。
【0015】もう1つの目的は、ネットワークとホスト
・バス・システムとの間でリアル・タイム/マルチメデ
ィア及びパケット・データを転送する方法を提供するこ
とにある。
【0016】もう1つの目的は、ネットワーク及びホス
ト・バス・システムの間でいずれかの方向に転送された
マルチメディア又はパケット・データを記憶するための
アダプタにおける待ち行列ストラクチャを制御する方法
を提供することにある。
【0017】
【課題を解決するための手段】本発明の特徴は、パケッ
ト及び等時性データの多数のストリームがシステムを横
切って流れることを可能にするアダプタである。
【0018】本発明のもう1つの特徴は、システム及び
ネットワークの間でいずれの方向においてもアダプタで
バッファすることなくデータの直接転送を容易にするア
ダプタである。
【0019】本発明のもう1つの特徴は、ローカル・メ
モリにシステム・アドレス・マッピングを施すアダプ
タ、及びコマンド・システム・エレメントに対して使用
可能なそのシステムにおける別個の独立したダイレクト
・メモリ・アクセス・エンジンである。
【0020】本発明のもう1つの特徴は、ネットワーク
とホスト・バス・システムとの間の両方向におけるデー
タの流れをアダプタにおいて制御するためのデスクリプ
タ・ポインタ及びリストを生成し、使用することであ
る。
【0021】本発明のこれらの目的及び特徴は、1つの
形式ではマイクロチャネルでよいシステムとローカル・
エリア・ネットワークに接続されたワークステーション
との間で等時性データ及びパケット・データを受信及び
送信するための手段を含む通信装置及び通信方法によっ
て達成される。その装置には、メディア・アクセス制御
(MAC)装置への入力に対する等時性データ又はパケ
ット・データとしてすべてのバイトをタグしながら、ワ
ークステーションからの直列データ・ストリームをバイ
ト・ストリームに変換するためのネットワークに接続さ
れたフィジカル・レイア手段が含まれる。MACは、受
信デスティネーション及びソース・アドレスとコントロ
ーラのローカル・バス・メモリ部分に記憶された内部ア
ドレスとを比較する。
【0022】MACが受領したデータは、FDDI−R
AMバッファ(FRB)に記憶するためのデータを作成
する別々の等時性受信エンジン又はパケット受信エンジ
ンに与えられる。FRBデータは、プログラム可能レジ
スタを使用して、待ち行列マネージャによって待ち行列
に与えられる。FRB受信待ち行列に記憶されたデータ
は、閾値レベルが達成されるまで保持される。閾値レベ
ルは、待ち行列マネージャによってプログラム可能であ
る。閾値レベルが達成された時にシステム・インターフ
ェース・ユニットが活動化され、ローカル・プロセッサ
によって与えられたデスクリプタに基づいて、そのシス
テムにおけるアドレスにデータを転送する。システム・
インターフェース・ユニットは、ネットワークとシステ
ムとの間における多数の待ち行列からのデータの多重転
送を可能にする。ローカル・プロセッサはデスクリプタ
の使用を追跡し、必要に応じて追加のデスクリプタをシ
ステムにリクエストする。
【0023】ホスト・バス・システムは、FRBにおけ
る送信待ち行列へのシステム・インターフェース・ユニ
ットを介してネットワークに同時に転送することができ
る。システムは、MAC記憶装置がフルになるまでMA
Cにデータを直接送信することも可能である。そして、
それがフルになった時、データがFRB送信待ち行列に
記憶される。閾値に達した時、データが送信待ち行列か
ら転送され、MAC装置はローカル・エリア・ネットワ
ークへのアクセスを得る。フィジカル・レイア装置は、
ワークステーションによる使用のために、ローカル・ネ
ットワークへの入力としてデータをバイト形式から直列
形式に変換する。本発明は、複数パイプのリアル・タイ
ム・マルチメディア及びパケット・ストリームがネット
ワークとシステムとの間で両方向に転送されるのを可能
にする。
【0024】
【実施例】本発明の実施例を次の目次に従って説明す
る。
【0025】1.アダプタ概要 図1は、FDDIリング112とマイクロチャネルの形
を取り得るホスト・バス・システム114との間でパケ
ット・データ又は等時性データを受信及び送信するため
のシステムにおけるアダプタ110を示す。そのアダプ
タは、ANSIX3T9.5標準によって定義されたフ
ィジカル・レイアを使用し且つハイブリッド・モード・
オペレーションに必要な機能をも与えるフィジカル・イ
ンターフェース・レイア116を含む。そのインターフ
ェース・レイア116は直列ビット・ストリームをFD
DIリングから、すべてのバイトがパケット又は等時性
データとしてタグされた場合のメディア・アクセス・コ
ントローラ(MAC)118に対する80ナノ秒バイト
・ストリームに変換する。そのインターフェース・レイ
ア116は、コントローラ122に含まれた等時性メモ
リ・アクセス制御リクエスト・バス120から80ナノ
秒バイト・ストリームを受信するためのリクエスト・バ
ス120にも接続される。
【0026】メディア・アクセス・コントローラ(MA
C)118はANSI X3T9.5標準で定義された機
能を実施する。MAC118からの受信された各バイト
は、パケット・メモリ・アクセス指示バス124を介し
てコントローラ122によって受信される。それらデー
タ・バイトと共に、MAC118は、イベントの発生
時、例えば、指示バス124上の制御されたフレーム、
受信したデスティネーション・アドレスにおける一致等
の発生時にアサートされるシーケンス信号及びフラッグ
のセットを供給する。MAC118はパケット・データ
の送信も制御するが、送信が生じる前に、リング112
においてトークンが捕捉されなければならない。先ず、
コントローラ122は、バス120に接続されたリクエ
スト・バス126における非ゼロ値をアサートすること
によってトークンの捕捉をリクエストする。トークンが
捕捉されたことをMACがコントローラ122に信号す
る時、コントローラ122は、バス126を介してパケ
ット・フレームを送信し始める。MACは、バス117
を介してそれが受信するデータを反復するか、或いはバ
ス126上に出力されたデータを送信する。
【0027】コントローラ122は、FDDIリング1
12及びシステム・インターフェース・ユニット(SI
U)128との間のデータ・フローを制御し、そして、
必要な場合には、FDDI−RAMバッファ(FRB)
130においてデータをバッファすることもできる。ロ
ーカル・バス・インターフェース132はローカル・プ
ロセッサ134に接続される。そのローカル・プロセッ
サは、コントローラ122又はFRB130のアクセス
・レジスタにおいて割込みを行う。FRB130へのパ
スは、2つの理由の理由のために設けられる。第1に、
プロセッサ134は、診断ルーチンを向上させる部分と
してそれの機能性を検証するために、FRB134を書
込及び読み取ることができる。第2に、プロセッサ13
4はネットワーク・プロトコル・フレームをFRB13
0に記憶することができ、そしてそれが望ましい場合に
は、それらフレームをリング112に送信するようコン
トローラにリクエストする。コントローラ122は、リ
ング112とインターフェースしてベーシック・モード
又はハイブリッド・モードで動作するように設計されて
いる。コントローラ122には、パケット・メディア・
アクセス制御(P−MAC)リクエスト・エンジン13
6及びP−MAC指示エンジン138と、等時性メモリ
・アクセス制御(I−MAC)リクエスト・エンジン1
40及びI−MAC指示エンジン142が含まれる。
【0028】指示エンジン138は、MAC118から
受信したすべてのパケット・データの処理を扱う。指示
エンジン142は、MAC118から受信したすべての
等時性データを処理する。インターフェース116に送
られたデータは、リクエスト・エンジン136及び14
0の外で扱われる。ベーシック・モードでは、指示バス
123から入力されたすべてのデータがリクエスト・バ
ス120上に反復される。コントローラ122は、等時
性データ又はパケット・データがバイト・モジュール1
18及びインターフェース116に又はそれらから転送
される時、最小量のバッファリングを行う。コントロー
ラ122は、FRB130をパスすることによってシス
テム・インターフェース・ユニット128並びにP−M
ACエンジン及びI−MACエンジンとの間でデータを
直接に転送する機能を有する。殆どの部分に対して、パ
ケット・データ及び等時性データは循環式のFIFO
(先入れ/先出し)レジスタとして動作するFRB13
0における待ち行列に入れられる(図5参照)。FRB
130は、コントローラの帯域幅要件に合致するに必要
な高速アクセスを行う高速スタティックRAMによって
実施される。コントローラは、FRB130における1
6個の待ち行列に対する読取り及び書込みポインタ(8
個の読取りポインタ及び8個の書込みポインタ)を管理
する。
【0029】そのコントローラにおける各待ち行列に対
して閾値レジスタが設けられ、それらはローカル・プロ
セッサ134によってプログラムされる。特定の待ち行
列に対する閾値に達した時、コントローラは、SIU1
28によって周期的にポーリングされるそのコントロー
ラ/システム・インターフェースのステータス・レジス
タ(図示されていない)において関連のビット(その待
ち行列に対する)をセットする。SIU128がFRB
130におけるどの待ち行列をそれがアクセスしたいの
かをそのSIUが決定してしまうと、それはコントロー
ラ/システム・インターフェース127上に待ち行列番
号を発生する。データがその待ち行列に転送され、FR
B130は満たされるか又はエンプティになる。ローカ
ル・バス・コントローラ135は、アドレス/データ及
び制御(選択、アドレス・ラッチ、データ・イネーブル
等)をローカル・バス・インターフェース132に与え
ることによってコントローラ122のレジスタへのアク
セスを得る。ローカル・バス・インターフェース132
はそのアドレスをデコードし、着信データを書込みオペ
レーションのための正しいレジスタ及びコントローラ1
22に経路指定する。インターフェース132は、読取
りオペレーションにおいても、所望のレジスタからロー
カル・バスにデータを経路指定する。ダイナミックRA
M(DRAM)及びROM137がプロセッサ134と
関連する。そのダイナミックRAMはプログラム及びデ
ータ記憶装置として使用される。ROMは診断、初期設
定、及び重要製品データのために設けられる。
【0030】 2.フィジカル・レイア・インターフェース 項1で述べた機能に加えて、インターフェース・レイア
116(図1参照)はクロック回復及び125MHzシ
リアル・リング・データの4b/5bエンコーディング
/デコーディングを行う。そのインターフェース・レイ
アの例が図2に示される。その図は、ナショナル・セミ
コンダクタ社のFDDIデータ・ハンドブック、199
1年版、2−39ページから取られたものである。
【0031】 3.メディア・アクセスコントローラ(MAC) 項1で述べた機能に加えて、MACはタイム・トークン
・プロトコル、ステーション・アドレス・マッチング等
を含むFDDI−1メディア・アクセス制御機能を与え
る。インターフェース・レイア116(図1参照)によ
ってパケット・バイトとしてタグされたすべてのバイト
がそのMACによって処理される。更に、転送されるべ
きすべてのパケット・バイトがその割り当てられたマス
タ・サイクル・パケット・スロットにMACにより挿入
される。MACはソース・アドレス・スタッフを供給す
る。MACの例が図3に示される。それは、ナショナル
・セミコンダクタ社のFDDIデータ・ハンドブック、
1991年版、2−133ページから取られたものであ
る。
【0032】4.コントローラ概要 図4を参照すると、コントローラ122は8個の主要コ
ンポーネント、即ち、FRBインターフェース210、
ローカル・バス・インターフェース133、コントロー
ラ/システム・インターフェース127、P−MAC指
示エンジン138、I−MAC指示エンジン142、P
−MACリクエスト・エンジン136、I−MACリク
エスト・エンジン140、及び待ち行列マネージャ21
2より成る。コントローラ122は、システム128又
はインターフェース116及びMAC118へのデータ
又はそれらからのデータをFRB130に対するインタ
ーフェース210に与える。そのコントローラは、循環
式FIFOレジスタとして動作する8個の受信待ち行列
214及び8個の送信待ち行列216にデータを発生す
ることによって受信データ及び送信データを管理する。
各待ち行列に対して、オペレーションが開始する前にロ
ーカル・プロセッサ134によってプログラムされなけ
ればならない一組のレジスタが存在する。これらのレジ
スタはベース・ポインタ、待ち行列サイズ、閾値、並び
に読取り及び書込みポインタであり、すべてパラメータ
RAM218に位置指定される。
【0033】そのコントローラは一組のレジスタ220
を含み、それらレジスタの1つはストップ/リセット・
モードにセット可能なモード・レジスタ(図8参照)で
ある。ストップ・モードでは、P−MAC指示バス12
4、P−MACリクエスト・バス126、I−MAC指
示バス120、I−MACリクエスト・バス123、イ
ンターフェース127がディスエーブルされ、アイドル
・モードに凍結される。ローカル・プロセッサ134
(図1)はなお診断目的のためにFRB130を読み取
る/書き込むための機能を有し、オペレーション用のコ
ントローラのレジスタを構成することができる。一旦プ
ログラムされると、ローカル・プロセッサ134はモー
ド・ビットをノーマル・モードにセットする。ノーマル
・モードにおいて、オペレーションが開始し、P−MA
Cインターフェース124において認識されたすべての
フレーム制御バイトが直ちにP−MACレジスタ220
にコピーされる。同様に、レジスタ222における有効
なステアリング・マップ・エントリに基づいて等時性バ
イトが受信及び送信される。インターフェース127に
おいて、コントローラ122はいずれのリクエスト(何
れかの待ち行列に対する読取り又は書込み)にも応答す
る。
【0034】P−MACインターフェースは、80ナノ
秒のバイト・ストリームが各方向に転送される別々の指
示(受信)バス124及びリクエスト(送信)バス12
6を有する。そのバイト・ストリームと共に、MAC1
18(図1参照)は一組のシーケンス・フラッグ及び制
御信号をP−MACに与える。図5に示されるように、
I−MACセクションは、FDDIリング・モードから
独立して動作するP−MACと直列に接続される。着信
バイトがP−MACに対して意図されているかどうかを
識別するバイト・ストリームと共にストローブ信号が与
えられる。そのストローブ信号がデアサートされる時、
P−MACはすべての着信バイトを無視する。P−MA
Cに対して意図されたバイトに関して、P−MACはフ
レームをコピーするよう又はコピーしないよう意志決定
を行うために、シーケンス信号によって修飾されたフラ
ッグを見つける。コピーの基準は、異なるフィールドを
持ったフレームに対しては異なることがある。出力側で
は、リクエスト・インターフェースはバイト・ストリー
ムをサービス機会(即ち、トークンが捕捉された)にお
けるリング112(図1参照)に出力する。
【0035】MAC118は、タグ・ビット(パケット
又は等時性としてそれらバイトを識別する)を有する反
復した物理的指示バス又はI−MAC140、142に
入力されたコントローラからのMACリクエスト・バイ
ト・ストリームである1つのバイト・ストリームを、そ
れの物理的リクエスト・バス124を介して出力する。
等時性としてタグされていないすべての着信バイトはI
−MACの出力にラップされ、それの物理的リクエスト
・バス120を介してインターフェース装置116に送
信される。従って、I−MACインターフェースも80
ナノ秒のバイト・ストリームを各方向に転送される。
【0036】I−MACは、ハイブリッド・モードで動
作する時、ハイブリッド・リング・サイクルと同期して
ステアリング・テーブル222をアクセスする。ハイブ
リッド・リング・サイクルにおける各バイトに対して、
I−MACステアリング・テーブルにおけるエントリは
置かれるべき着信等時性バイトに対する待ち行列及び物
理的リクエスト・バスを介してインターフェース116
に送信するためにその等時性バイトが読み取られるべき
待ち行列を識別する。コントローラは、サイクル・ヘッ
ダの開始時にスタータ・デリミッタ・フィールドを検出
することによってFDDIとの同期状態に入る。
【0037】P−MAC指示エンジン138は8ワード
循環式FIFO219及び、とりわけ、フレームをコピ
ーするか或いはコピーしないかを決定する配線された標
準的ゲート・アレイの形の判断ブロックより成る。P−
MACコピー基準レジスタ(図11)は、種々のフレー
ム・タイプをFRB130にコピーするための基準をプ
ログラムするためにソフトウエアによって使用される。
P−MAC指示エンジン138が決定したパケットはコ
ピーされ、待ち行列マネージャ212の制御の下でFR
B130に書き込まれなければならない。そこで、フレ
ーム制御フィールドのコードが同期、非同期/MAC、
又はステーション管理を表したかどうかに基づいて、パ
ケット・フレームが待ち行列0、1、又は2の中に入れ
られる。4つのフレーム・タイプが認識され、そして別
々の待ち行列、即ち、同期(待ち行列0)、非同期/M
AC(待ち行列1)、及びSMTフレーム(待ち行列
2)にコピーされる。やがて、FRBにおける外部待ち
行列は、閾値(これはバイトがFRBに書き込まれた時
に待ち行列マネージャによって維持される)到達する
か、或いはフレームの終わりが到達する。いずれの場合
も、待ち行列状態レジスタにおけるその待ち行列に対応
したビットがセットされる。インターフェース127は
このレジスタを周期的にポーリングし、その後のサイク
ルにおいて、その待ち行列を読み取る。
【0038】P−MACリクエスト・エンジン136
も、8ワード・バッファ及びそれらフレーム・タイプの
1つ、即ち、非同期或いは同期、において送信するため
に使用される配線した標準的ゲート・アレイより成る。
システム・インターフェース・ユニット128から最初
に送信された非同期フレーム及び同期フレームは、待ち
行列マネージャ212の制御の下に、P−MAC送信F
IFO220の中に直接に入れられる。その後のバイト
はFRB130に置かれ、やがて、その待ち行列に対す
るフレームの終わり(EOF)又は閾値が到達する。そ
の時点で、待ち行列マネージャはトークンを捕捉するよ
うP−MACリクエスト・バス126に命令する。待ち
行列0及び1は、同期(待ち行列0)フレーム及び非同
期/SMT(待ち行列1)フレームを送信するために使
用される。更に、P−MAC送信FIFOは、サービス
機会における同期帯域幅の量を制御するために使用され
る同期帯域幅割振りカウンタ(図14)を与える。P−
MAC送信エンジン136は、同期帯域幅割振りカウン
タによって定義された時間制限内にバッファされた同期
フレームをすべて送信する。それら同期フレームが送信
されている間、システム・インターフェース・ユニット
(SIU)128のすべての非同期フレームが、FRB
130に書き込まれたその後のバイトと共にP−MAC
のFIFO220にフロント・ロードされる。
【0039】すべての同期トラフィックが送られるか或
いは同期帯域幅割振りカウンタが完了してしまうと、コ
ントローラは非同期トラフィックを送信し始める。MA
C118に維持されたトークン・ホルダ・タイマ(図示
されてない)は完了しない。一旦コントローラが送信を
開始してしまうと、同期又は非同期フレームとも、すべ
て、カウンタ又はタイマがその後完了したかどうかに関
係なく、いつも終了する。
【0040】I−MAC指示エンジン142は、配線さ
れた標準的ゲート・アレイであり、それは、その中で
も、そのステーションを宛先とする着信等時性バイトを
コピーする。前述のように、I−MACは、先ず、FD
DIマスタ・サイクルと同期しなければならない。これ
は、制御バイトとしてタグされたすべての着信バイトを
サイクル・ヘッダのスタータ・デリミッタと比較するこ
とによって行われる。1560バイト・ステアリング・
マップ222は、一旦検出されると、リングに受信/送
信されるべき広帯域チャネルにおける各バイトに先立っ
て読み取られる。ステアリング・マップは、FDDI−
2サイクルにおける各バイト・スロットの1対1エント
リである。各エントリは、バイトがその時間の間にリン
グに受信/送信されるべき待ち行列を含む。無効エント
リは、受信又は送信されるべきものが何もないことを表
す。広帯域チャネルは種々の方法で構成可能である。例
えば、等時性の広帯域チャネルでは、バイトは種々の待
ち行列から受信/送信可能である。I−MAC指示エン
ジン142は、2レベルのバッファリングを行うことに
よってこれを償っている。第1のレベルでは、各待ち行
列に対して受信された各バイトから4バイト・ワードが
構成される。第2レベルのバッファリングは、そのワー
ドに対する待ち行列番号と共に第1レベルからステージ
されて形成されたワードのプールである。それらワード
は、8ワード深層FIFO223にロードされる。待ち
行列マネージャは、そのFIFOからインターフェース
127(バッファリングがその待ち行列にとって利用可
能である場合)又はFRB130にそのワードを転送す
る。
【0041】I−MACリクエスト・エンジン140
は、配線された標準的ゲート・アレイである。それは、
とりわけ、リングへの等時性データの送信を処理する。
そのI−MACリクエスト・エンジンは、フルでないバ
ッファを有する待ち行列を待ち行列マネージャ212に
表示する。待ち行列マネージャは、等時性トラフィック
に対して使用される待ち行列が送信のために作動可能で
あることを表すように待ち行列ステータス・レジスタ・
ビットをセットする。初期ワードはI−MACリクエス
ト・エンジン140の中に直接に入れられ、そしてI−
MACリクエストにおけるその待ち行列に対するバッフ
ァがフルになるか、或いはその待ち行列マネージャがそ
の待ち行列に対するデータをFRBの中に配置した時だ
け、その後のワードはFRBに書き込まれる。
【0042】待ち行列マネージャ212は、各アクティ
ブな送信待ち行列に対するバッファをすべてフルに保と
うとする。エンジン142に対する場合と同様に、I−
MACリクエスト・エンジン140に対する2レベルの
バッファリングが行われる。第1レベルには、各待ち行
列のワードがあり、そしてステアリング・マップが読み
取られる時、その待ち行列に対するステアリング・マッ
プ内に有効なエントリがある場合、適当なバイトがリン
グに送信される。I−MACリクエスト・エンジン14
0はリングに送信されるべきバイトを維持し、一旦、特
定な待ち行列に対するワードのバイトすべてが送信され
てしまうと、第2レベルのバッファリングから新しいバ
イトが取り出される。第2レベルのバッファリングで
は、各待ち行列に対して2ワードのバッファリングが行
われる。リクエスト・エンジン140は、どの待ち行列
がワードを必要としているかに関して待ち行列マネージ
ャ212に知らせ続ける。待ち行列マネージャは、すべ
てのアクティブな待ち行列に対してそれらバッファをす
べてフルに維持しようとする。
【0043】待ち行列マネージャ212は、配線された
標準的ゲート・アレイであり、とりわけ、P−MACリ
クエスト・エンジン136、P−MAC指示エンジン1
38、I−MAC指示エンジン142、I−MACリク
エスト・エンジン140、コントローラ・インターフェ
ース127、及びローカル・バス・インターフェース1
32のようなそのコントローラにおける他のセクション
すべてからのリクエストをサービスする。リクエスト
は、内部バスの1つを介して他のセクションからワード
を受信し或いは他のセクションにワードを送信するよう
待ち行列マネージャに依頼するそれらセクションの1つ
を表す。即ち、待ち行列マネージャは内部バスの使用を
制御し(マルチプレクサ制御装置を駆動する)、各サー
ビス時に、影響ある待ち行列のステータスを維持する。
待ち行列マネージャは、閾値及びすべての待ち行列に対
する読取りポインタ及び書込みポインタが存在する場合
にもパラメータを維持する。同時リクエストは優先順位
付けされ、逐次に処理される。待ち行列マネージャは、
2つのリクエストが同じバスに対して競合しない場合、
それらリクエストを同じサイクルにおいてサービスする
というインテリジェントを有する。
【0044】更に、待ち行列マネージャは、FRB13
0にワードを書き込む代わりバッファ・スペースが使用
可能である時、システム・インターフェース・ユニット
128、P−MACセクション136及び138をフロ
ント・ロードするように適応する。例えば、P−MAC
は、受信パケット・ワードをP−MACのFIFO21
9から取るようにエンジン138がリクエストすること
を表す(それは、このステーションを宛先とするパケッ
ト・フレームを受信する時に屡々生じるであろう)。そ
れが唯一のリクエストである場合、待ち行列マネージャ
はP−MACのFIFOからそのワードを読み出し、コ
ントローラ/システム・インターフェース127を関連
の待ち行列に直接にロードする(バッファ・スペースが
使用可能である場合)か、或いはそのワードをFRBに
書き込むようFRBに指示する。そのワードをFRBに
書き込まなければならない場合、パラメータRAM21
8は、そのワードが書き込まれるべきロケーションを得
るために読み取られる。一旦そのオペレーションが終了
すると、書込みポインタは更新され、パラメータRAM
に書き戻される。
【0045】コントローラ/システム・インターフェー
ス127は、50MHzで動作する同期インターフェー
スである。システム・インターフェース・ユニット12
8は、FRB待ち行列におけるステータスをリクエスト
するマスタ装置である。一旦特定の待ち行列が閾値に達
すると、ステータス・レジスタにおける対応したビット
がセットされ、システム・インターフェース・ユニット
128は、そのインターフェース上に待ち行列番号を置
くことによって、それがどの待ち行列にデータを送信し
たいか或いはどの待ち行列からデータを受信したいかを
決定する。インターフェース127を介した各ワードの
送信はリクエスト/応答方式を使用して行われる。
【0046】ローカル・バス・インターフェース132
は、コントローラの内部レジスタを構成するために、商
業的に入手可能なマイクロプロセッサであるローカル・
プロセッサ134を設けられる。更に、そのローカル・
プロセッサは、望ましい場合には、立ち上げ中の診断ル
ーチンの一部分として、FDDIのRAMバッファをア
クセスすることができる。そのローカル・プロセッサ
は、ネットワーク・プロトコル・フレームを連続的に送
信することをコントローラに望む時、それらフレームを
FRBにも配置することができる。
【0047】4.1 コントローラ・レジスタ そのコントローラでは、5つのレジスタ・セット、即
ち、制御レジスタ、イベント・レジスタ、待ち行列及び
パラメータRAMレジスタ、IMACマップ・ステアリ
ング・レジスタ、及びFRBアクセス・レジスタが使用
される。制御レジスタは、モード・レジスタ、待ち行列
イネーブル/ディスエーブル・レジスタ、P−MACコ
ピー基準レジスタ、I−MACフロー制御レジスタ、パ
リティ制御レジスタ、及び同期的帯域幅割振りレジスタ
が使用される。
【0048】図8には、モード・レジスタが示される。
コントローラ122を動作させるために、モード・レジ
スタにおいて2ビットがセットされる。4つのモード、
即ち、ストップ/リセット・モード、ビーコン・モー
ド、ボイド・モード、及びノーマル・モードが利用可能
である。ストップ/リセット・モードでは、P−MAC
及びコントローラ・インターフェース127はストップ
・モードにあり、データを転送することはできない。ビ
ーコン・モードは、トークンを捕捉することなく、コン
トローラに、FRBにある指示されたビーコン・フレー
ムを送信させる。ボイド・モードは、トークンが捕捉さ
れた後、コントローラに、FRBにあるボイド・フレー
ムを送信させる。ノーマル・モードは、P−MAC、I
−MAC、及びシステム・インターフェース・ユニット
が等時性フレーム及びパケットMACフレームを処理し
始めるのを可能にする。
【0049】図9には、待ち行列ステータス・レジスタ
が示される。そのレジスタは、各受信及び送信待ち行列
がエンプティであるか又はフルであるかをソフトウエア
が知ることを可能にする。
【0050】図10には、待ち行列イネーブル/ディス
エーブル・レジスタが示され、それは、ソフトウエアが
8個の受信待ち行列又は8個の送信待ち行列をすべて個
々にイネーブル/ディスエーブルすることを可能にす
る。各ビットは、それがセットされた時、使用するため
の特定の待ち行列をイネーブルする。即ち、ビット0乃
至7は受信待ち行列0乃至7のイネーブルを制御する。
同様に、ビット8乃至15は、送信待ち行列0乃至7を
イネーブル/ディスエーブルするために使用される。
【0051】図11には、P−MACコピー基準レジス
タが示され、それはP−MAC指示バスにおけるMA
C、SMT、SNYC、及びASYNCフレームのコピ
ー基準をプログラムするために使用される。各フレーム
・タイプに対して2ビットが使用される。MACフレー
ムに対するコピー基準が無差別という基準にセットされ
ない時、コントローラは、ボイド及びトークンを除くす
べてのMACフレームをコピーする。無差別モードで
は、トークン以外のすべてのフレームがコピーされる。
【0052】図12には、I−MACフロー制御レジス
タが示され、それはI−MAC待ち行列に適用するだけ
である。このレジスタのビット0乃至7は、等時性待ち
行列に対する閾値に到達した時、或いは等時性待ち行列
が送信してエンプティになった時、送信されるフロー制
御バイトを指定する。
【0053】下流のステーションの受信終了時に、これ
は、形成されるワードがアップステージされるようにす
る。又、これは、その待ち行列に対するそれ以上のバイ
トの受信を終わらせる。受信は、制御バイトが、最早、
次のFDDI−2サイクルの開始時でしか受信されない
時に再開される。受信されつつある制御バイトがフロー
制御バイトに等しくない場合、プログラム可能なダミー
・バイトがその待ち行列にロードされる。これは、早期
デリミッタ/リミッタ開始が受信される場合の「同期外
れ」問題を処理するために使用される。FDDI−2サ
イクルの終了まで、ダミー・バイトはロードされる。
【0054】図13には、パリティ制御レジスタが示さ
れ、それは、パリティ・チェック/生成をイネーブル/
ディスエーブルするために及びすべてのインターフェー
スにおける偶数/奇数パリティ選択を与えるために使用
される。リセット後、このレジスタは、すべてのインタ
ーフェースにおいて奇数パリティがイネーブルされた場
合にセットされる。このレジスタは、立ち上げ時の診断
モードにおいて又はパリティ・エラーを分離するための
デバッグ・セッションにおいて、ソフトウエアがすべて
のインターフェースにおけるパリティ回路の機能性を検
証することを可能にする。
【0055】図14には、同期帯域幅割当て論理レジス
タが示され、それは、21ビット保持レジスタ及び21
ビット・カウンタより成り、同期的フレーム送信のため
に利用可能な帯域幅の量を指定するために使用される。
そのカウンタは、トークンが捕捉された後にイネーブル
され、そして同期フレームの各バイトが送信された後に
インクリメントする。それは、他のすべてのフレーム・
タイプに対してはインクリメントされない。MAC11
8がトークンを捕捉しない場合、このレジスタに対する
書込みは保持レジスタ及び21ビット・カウンタをロー
ドする。そうでない場合、保持レジスタだけがロードさ
れる。このレジスタにおけるビットは80ナノ秒の時間
を意味し、その時間は、1バイトがリングに送信された
ことも表す。FDDI標準は、同期帯域幅のデフォルト
最大量が165ミリ秒であることを指定し、従って、保
持レジスタ及びカウンタに対して21ビットを必要とす
る。このレジスタは、カウンタがインクリメントされる
ので、及び帯域幅が終了した時にオーバフローが生じる
ので、このレジスタは2の補数値をロードされなければ
ならない。そのステーションがそれの割振られた帯域幅
以上の帯域幅を使用した場合、割込みが発生される。コ
ントローラが現在の送信を完了した場合、カウンタはデ
ィスエーブルされ、そして一旦トークンがリリースされ
ると、そのカウンタは保持レジスタにおける値を再ロー
ドされる。
【0056】イベント・レジスタは、割込み信号の発生
に関わるイベント又は一連のイベントの発生を記録す
る。この割込み信号の発生は、2つ又は3つのレベル階
層がある。第1レベル階層には、グローバル割込み制御
装置として働くマスタ割込みマスク・レジスタ(図15
参照)からのグローバル・ディスエーブル割込みがあ
り、そしてそれが1にセットされた時、割込み信号がア
サートされないようにする。これは、生じ得るすべての
エラーを割込みレジスタが記録しないようにするもので
はない。第2レベル階層には、マスタ割込みマスク・レ
ジスタのマスク・ビット(ビット0乃至7)がある。こ
れらビットの1つがセットされ、そしてマスタ割込みレ
ジスタにおける対応したビットが「1」にセットされる
場合、エラーがマスタ割込みレジスタに捕捉されている
が、割込み信号はアサートされないであろう。第3レベ
ルの階層は、次のようなレジスタ(図示されてない)、
即ち、受信/送信エラー・レジスタ、送信アンダーラン
・エラー・レジスタ、受信オーバーラン・エラー・レジ
スタ、パリティ・エラー/マスク・レジスタ、及びシス
テム・インターフェース・エラー/マスク・レジスタに
おける個々のエラーに対応したマスクである。マスク・
ビットが「1」にセットされる場合、対応するエラーは
マスタ割込みレジスタにおいてビットをセットしないで
あろうし、割込み信号を発生しないであろう。しかし、
エラーはその特定のエラーに対するエラー・レジスタに
おいて捕捉されるであろう。
【0057】パラメータRAM218は、読取り専用レ
ジスタであり且つ各待ち行列のステータス(読取り及び
書込み)を与える待ち行列ステータス・レジスタ(すべ
て図示されていない)を含む。それらレジスタは、待ち
行列エンプティ・ステータス・レジスタ、待ち行列フル
・ステータス・レジスタ、待ち行列閾値ステータス・レ
ジスタ、待ち行列ポインタ・ラップ・ステータス・レジ
スタ、及びオールモスト・フル・ステータス・レジスタ
を含む。待ち行列エンプティ・ステータス・レジスタ
は、各受信及び送信待ち行列がエンプティであるか或い
はエンプティでないかをソフトウエアが知ることを可能
にする。このレジスタは読取り専用であり、ソフトウエ
アは、待ち行列がそれをディスエーブルする前にエンプ
ティであるかどうかを知るためにこのレジスタを読み取
ることができる。パラメータRAMレジスタは標準的な
RAMで構成される。
【0058】待ち行列フル・ステータス・レジスタは、
各待ち行列に対してフル/非フル・ステータスの表示を
ソフトウエアに与える。このレジスタは読取り専用であ
る。個々のビットは、サイズ及びベース・ポインタが特
定の待ち行列にロードされる時にリセットされ、第2乃
至最終ワードがその待ち行列に書き込まれてしまった
時、FRBに対するステータス・ビット更新中にセット
され、そして2つ以上のワードに対する空きがある時に
はリセットされる。
【0059】待ち行列閾値ステータス・レジスタは、ど
の送信又は受信待ち行列が閾値以上にあるかをソフトウ
エアが知ることを可能にする。各ステータス・ビット更
新時に、関連の待ち行列に対するビットは、その待ち行
列における計算されたワード数が待ち行列の閾値パラメ
ータに等しいか或いはそれよりも大きい場合にセットさ
れ、そうでない場合にはリセットされるであろう。この
レジスタは、電源投入後に、或いはソフトウエアがサイ
ズ及びベース・ポインタをセットした時にリセットされ
る。送信閾値待ち行列ステータス・ビットは、トークン
捕捉及びリングへのフレーム送信スタートを開始させる
ために、P−MAC送信によって、フレーム・カウンタ
と共に使用される。送信閾値待ち行列ステータス・ビッ
トは、リングへの待ち行列の送信を開始させるために、
I−MACによって使用される。受信閾値待ち行列ステ
ータス・ビットは、コントローラがシステムへの転送に
十分な数のワードをバッファしたことをSIUに知らせ
る受信待ち行列ステータス・レジスタ・ビットをセット
するために、待ち行列マネージャによって使用される。
【0060】待ち行列ポインタ・ラップ・ステータス・
レジスタは、どの待ち行列がラップされたかを、即ち、
読取りポインタが書込みポインタよりも大きい時をソフ
トウエアが知ることを可能にする。そのビットは、待ち
行列の書込みポインタが待ち行列のベース・ポインタ・
パラメータによって更新される時にセットされる。この
ビットは、その待ち行列におけるワード数を計算する場
合、コントローラの待ち行列マネージャ・ハードウエア
によって使用される。待ち行列オールモスト・フル・ス
テータス・レジスタは、送信待ち行列0−7に対するビ
ット0−7を有する。待ち行列が65ワードよりも少な
いワードに対する余白を有する場合、待ち行列ステータ
ス・ビット更新時にビットがセットされる。アクセスさ
れようとしている送信待ち行列が殆どフルである場合、
これらビットの内容は、送信オペレーション時にシステ
ム・インターフェース・ユニット(SIU)に肯定応答
するために使用される。待ち行列が64ワードよりも多
くのワードに対する余白を有する場合、待ち行列ステー
タス・ビット更新行うためにソフトウエアがサイズ及び
ベース・ポインタをセットする時、これらビットが電源
投入によってリセットされる。
【0061】図16において、I−MACステアリング
・マップ・テーブル222(図4参照)は、各等時性バ
イトの受信/送信待ち行列番号をI−MAC受信及び送
信インターフェースに与える。FDDI−2マスタ・サ
イクルの各バイトはステアリング・マップにおいて1対
1でマップされ、そしてサイクリック・グループがリン
グから受信される時、それらサイクリック・グループを
処理する。ステアリング・マップは、サイクル・ヘッダ
及び等時性メインテナンス・チャネルを含む専用のパケ
ット・グループ・バイトのマッピングを含む。そのマッ
プは1560個の受信/送信エントリを有する。各ステ
アリング・マップ・エントリは、送信待ち行列番号を与
える4ビット及び受信待ち行列番号を与える4ビット有
し、図17に示されるI−MACステアリング・マップ
・レジスタをアドレスする。
【0062】ステアリング・マップは、等時性バイトを
5つの等時性受信待ち行列(待ち行列番号3乃至7)の
うちのどれか及び7つの等時性待ち行列(待ち行列番号
0及び2乃至7)のうちのどれかにマップすることがで
きる(図6参照)。等時性待ち行列に経路指定する待ち
行列番号は、ステアリング・マップに対する唯一の有効
なエントリである。他の値は非活動的なエントリを表
し、従って、I−MACエンジンにおける受信又は送信
経路指定は対応したサイクル・バイトを与えられない。
【0063】 4.2 パケットMAC(P−MAC)エンジン 図4に戻ると、P−MACインターフェース124、1
26は、そのシステムにおいて受信又は送信されたパケ
ット・フレーム・データをすべて扱う。P−MAC指示
エンジン138はシステム・データを受信し、リクエス
ト・エンジン136はデータを送信する。これらインタ
ーフェースの各々は、メディア・アクセス制御(MA
C)プロトコルを処理するMAC118と通信する。P
−MACインターフェース・バッファ219、220
は、データを送信及び受信し、送信オペレーションを制
御し、受信オペレーションを監視する。送信時には、P
−MACは、トークンを捕捉しそして送信を開始するよ
うMAC118に指示する。受信ポートは受信データ及
びステータス信号の両方を入力する。ステータス信号及
び着信データは、フレームが受信バッファにコピーされ
るべきかどうか及びそのフレームがエラーなしにコピー
されたかどうかを決定するために、そのインターフェー
スによって変換されなければならない。
【0064】図18を参照すると、P−MACはMAC
からバス124を介して80ナノ秒バイト・ストリーム
を受信する。バス・インターフェース124は、8ビッ
ト・データ・バス、パリティ・ビット、CRPIDSス
トローブ信号、及びシーケンス信号及びフラッグ信号の
セットより成る。一旦フレーム制御バイトがバス124
において認識されると、8ビットのデータが40バイト
循環式FIFO502に入力される。フレームの終りま
でバイトをコピーし続けることをコミットしそしてその
フレームをFRB130に書き込むようP−MACが意
志決定したバイトが受信されそしてバッファされる時、
追加のバイトが受信される。P−MACの受信装置は、
コントローラがFRBにコピーする4つのフレーム・タ
イプ(MAC、SMSMT、ASYNC、及びSYN
C)の1つに対してP−MAC基準レジスタのプログラ
ミングに基づいてパケットをコピーするよう或いはコピ
ーしないよう意志決定する。
【0065】FIFO502は、4データ・バイト、4
パリティ・ビット、及びファイル終り(EOF)表示の
ための4ビットより成る40ビット・ワードを形成する
ために使用される。そこで、その40ビット・ワードは
コントローラの内部バスに出力され、その後、待ち行列
マネージャ212の制御の下にFRBに書き込まれる
(図4参照)。CRPIDSストローブはいつもベーシ
ック・モードでアサートされ、ハイブリッド・モードで
は、データがP−MAC用である時にアサートされるだ
けである。CRPIDSストローブがデアサート(de
−assert)された場合、すべてのバイトが循環式
FIFO502に書き込まれるわけではない。P−MA
Cインターフェース124は受信した各バイトに対する
パリティをチェックし、受信したパリティ・ビットを4
ビット・パリティ・フィールドにロードする。生成され
たパリティ・ビットは受信されたパリティ・ビットと比
較され、不一致が生じ且つローカル・プロセッサがそれ
をパリティ・チェックできない場合にだけP−MACパ
リティ・エラーが報告され、そしてCRPIDSがアサ
ートされる。循環式FIFO502を管理するために、
3バイトのポインタ、即ち、書込みポインタ、読取りポ
インタ、及びコミット・ポインタが基準レジスタ504
において使用される。
【0066】P−MACは、コントローラに含まれたモ
ード・レジスタにおける2つのモード・ビットからデコ
ードされる「ストップ」モード信号も受信する。リセッ
ト後、モード・ビットは「ストップド」モードにセット
される。このモードでは、P−MAC受信装置はフレー
ム制御バイトを認識せず、P−MACバス124から如
何なるデータも受信しない。そのステート・マシーンは
停止され、アイドル・マシーンに凍結される。ローカル
・プロセッサ134(図1参照)は、コントローラのレ
ジスタの構成を完了した後、モード・ビットをノーマル
・モードにセットする。ストップド・モード信号が真で
ない場合、P−MACインターフェースはコントローラ
がノーマル・モードにあると見なす。ノーマル・モード
はP−MAC受信装置がフレーム制御バイトを認識する
ことを可能にし、従って、フレームを受信及びコピーし
始める。
【0067】FIFO502は5バイトの幅及び8ワー
ドの深さであり、40バイト・バッファを形成する。従
って、P−MACバス124における受信したバイト・
ストリームは、それがFRBに書き込まれる前に、40
ビット・ワード、即ち、4データ・バイト、及び1タグ
・バイトに形成される。タグは形成される各4バイト・
ワードに対する付属の第5バイトであり、それら4バイ
トの各々に対するパリティの4ビット、それら4バイト
のうちのどれだけが有効バイトであるかを表す2ビッ
ト、及びフレームの最後のワードを表すためのフレーム
の終り(EOF)ビットを含み、そのフレームの終りビ
ットとして1ビットが反転される。特定のワードに書き
込まれたバイトの数を記録するめに、2ビット・カウン
タ506が使用される。従って、「00」のカウント値
は、現ワードの一部分として1バイトがFIFOに書き
込まれたことを表し、「01」のカウント値は2バイト
が書き込まれたことを表す。この2ビット・カウンタ
は、フレームの終りを表すEOFビット及びその40ビ
ット・ワードにおける有効バイトの数を表すタグ・フィ
ールドの一部分として使用される。それは、1つの着信
バイトを、40ビット・ワードより成る適当な4バイト
・フィールドに入れるために使用される。
【0068】MAC118が終了デリミッタ信号をアサ
ートする時にそのフレームの終りが到達する。P−MA
CはFIFOロジック・ストリップであり、それらスト
リップは、終了デリミッタ前の最後の4バイトであるフ
レーム・チェック・シーケンスである。P−MAC受信
ロジックは、その内部FIFOに書き込む前に、4バイ
トのデータをバッファすることによってこれを行う。フ
レーム・チェック・シーケンスは、デリミッタ信号が受
信される時に4バイト・バッファに置かれ、そして廃棄
されるであろう。フレームの終りワード・フレームと呼
ばれる受信パケット・フレームに対する最後の40ビッ
トはステータス・バイトを含んでいる。ステータス・バ
イトはそのフレームの最後のバイトであり、P−MAC
受信装置の制御ロジックによって発生される。終了デリ
ミッタ信号は、フレーム・ステータスがそのフレームの
最後のワードにおける唯一の有効バイトとなるように書
込みポインタをインクリメントする。フレーム・ステー
タスは、いつも、このワードの最下位バイトである。
【0069】FIFO502は、そのFIFOがフルに
なった時、アドレスが元に戻るという循環式FIFOと
して実施される。FIFOを管理するために、3つのポ
インタ、即ち、読取りポインタ(RP)508、書込み
ポインタ(WP)512、及びコミット・ポインタ(C
P)510が使用される。初期設定時に、すべてのポイ
ンタが等しくなり、ゼロにセットされる。ノーマル・オ
ペレーション時には、P−MACフレームが完全に受信
されそしてFIFOから送信されてしまった時、それら
3つのポインタは等しくなり、8個のワードのうちの1
つを指す。フレーム制御バイトがデータ・バス上にある
ことを表す信号をMAC118がアサートする時、P−
MAC受信装置は、フレーム制御バイトと各ワードがF
IFOに書き込まれた時にインクリメントされる書込み
ポインタを持った後続のバイトとを受信する。それら後
続のバイトは、そのフレームのデスティネーション及び
ソース・アドレス部分である。MAC118は、受信さ
れたソース又はデスティネーション・アドレスがこのス
テーションにあることを表すためにフラッグをアサート
する。これらのフラッグによって、このフレームをコミ
ットするように、即ち、そのフレームの残りをコピーし
続けるように決定を行うことが可能である。P−MAC
は、コピー基準、フレーム・タイプ、その待ち行列がイ
ネーブルされること、モード・レジスタにおけるスキッ
プしたビット、及びそのフレームが有効なタイプのもの
であること、即ち、トークン・フレームでないことに基
づいたフレームに続く。
【0070】フレームをコピーしないという決定が行わ
れた場合、書込みポインタはコミット・ポインタに等し
くセットされる。従って、FIFOに書き込まれたいく
つかのバイトは次のオカレンスの上に上書きされる。さ
もないと、そのフレームはコピーされ、コミット・ポイ
ンタは書込みポインタに等しくセットされる。受信され
たバイトから新しい各ワードが形成される時、コミット
・ポインタ及び書込みポインタの両方ともインクリメン
トされる。現フレームの書込みは、線514上に終了イ
ベントが生じるまで継続する。終了イベントは、後述の
ように、MACから受信したいくつかの信号の1つによ
って生じさせられる。
【0071】4.3 P−MAC送信 図19を参照すると、送信FIFO602は、FRBイ
ンターフェース131のためのインターフェース127
から40ビット・ワードを受信する40バイト(8個の
5バイト・ワード)RAMである。FIFO602は、
それぞれが4ワードより成る2つの独立した待ち行列と
して編成され、それの1つは同期フレームを有し、他の
1つは非同期SMT/MACを有する。各待ち行列は、
フレームの残り部分を含む大きい外部待ち行列のフロン
ト・エンドをFRBにおいて保持する。それら待ち行列
は、前述の読取り及び書込みポインタ、リード・ポイン
タ508、及び書込みポインタ512を使用して、循環
式FIFOとして管理される。読取りポインタ及び書込
みポインタは、その待ち行列がエンプティである時には
等しい。書込みポインタがFIFOの最上部に達した
時、それらポインタは循環態様で回転するようそれはそ
のFIFOの最下部にリセットする。FRBにおける待
ち行列の最上部及び最下部は、更に、パラメータRAM
218(図4参照)におけるベース及びリミット・ポイ
ンタをプログラムすることによって定義される。送信イ
ンターフェースはアンダーラン状態、即ち、送信アンダ
ーラン・エラー・レジスタにおいてエラーが捕捉された
時にファイルの終り状態がパケット・フレームにおいて
発生せず且つ読取りポインタが書込みポインタに等しい
時を認識する。
【0072】システム・インターフェース・ユニット1
28は、コントローラ・インターフェース127を介し
てコントローラにパケット・フレーム(ASYNC又は
SYNC)を送信する。P−MAC送信FIFO602
がワードをFRBにロードすることなくエンプティであ
る場合、これらのパケットのフロント・エンドはそのF
IFO602に直接にロードされ、そしてMAC128
からの後続のワードはFRBに書き込まれる。待ち行列
マネージャ212(図4参照)は、パケットが書き込ま
れる待ち行列に対する書込みポインタ及び閾値を維持
し、そして生ずべきフラッグの終りを捜す。待ち行列マ
ネージャによって2つのフレーム・カウンタ、即ち、同
期フレーム用のフレーム・カウンタと非同期フレーム用
のフレーム・カウンタが維持され、同期フレームに対す
るフラッグの終りの受信は、非同期フレーム状態に対す
るものと同様に、最後の同期フレーム・カウンタをイン
クリメントする。P−MAC送信は、同期フレームの最
終バイトが送信されてしまった時にそのことを待ち行列
マネージャに知らせ、この結果、待ち行列マネージャ
は、非同期フレームに対するものと同様に同期フレーム
に対するフレーム・カウントをデクリメントする。非ゼ
ロ・フレーム・カウント又は到達した閾値は、トークン
を捕捉しそしてこれらフレームを送信するようP−MA
C送信装置にリクエストするために、待ち行列マネージ
ャによって、非同期フレーム及び同期フレームの両方に
対して使用される。
【0073】P−MACは、非同期フレームの前に同期
フレームが送信された場合、それら送信されたフレーム
を優先順位付けする。FIFOがフルでない時にフレー
ムが送信される時、P−MAC送信装置は、それがワー
ドを必要としていることを待ち行列マネージャにリクエ
ストする。待ち行列マネージャは、そのフレームの残り
の部分を含むFRBにおける待ち行列からワードを読み
取ること及びそれらを送信FIFOに書き込むことによ
って、そのFIFOをフルに保とうとする。各バイトが
MAC118に送信される時、そのワードに対するタグ
・ビットはファイルの終り状態を調べられる。ファイル
の終り状態が生じなかった場合、P−MAC送信装置
は、各ワードが送信されてしまった後、FIFOからバ
イトをエンプティにしそして読取りポインタをインクリ
メントし続ける。最後に、ファイル終りワードがP−M
AC送信装置によって送信される。その送信装置はタグ
・ビットによって表されたバイトの数しか出力しない。
マルチプレクサ143は最後のバイトまでステップさ
れ、そしてそれが送信される時、ファイルの終りは、最
後のバイトを表すMACにコントローラによってアサー
トされる。そのフレームの最後のバイトがいつ送信され
るのかを、P−MACは待ち行列マネージャに信号す
る。待ち行列マネージャは、各フレーム・タイプに対す
る完全にバッファされたフレームの数を記録する。この
数は、フレームの最終バイトが送信された時にデクリメ
ントされ、ファイルの終りバイトがFRBの中にロード
された時にインクリメントされる。
【0074】少なくとも1つの完全なフレームがFRB
にバッファされると、或いはFRBにおける閾値が横切
られると、P−MAC送信装置はMACにサービス機会
をリクエストする。同期フレームは非同期フレームより
も高い優先順位を有し、送信は同期トラフィック及び非
同期トラフィックの間でバウンドすることができる。例
えば、その送信装置は、同期フレームがシステム・イン
ターフェース・ユニットからFRBへの送信を終了して
いる時でも非同期フレームの送信の途中であることがあ
る。P−MAC送信装置は、一旦現在の非同期フレーム
が終了すると、サービスしている同期フレームにそれが
切り替わることを望む時にMACをリクエストする。P
−MAC送信装置は、たとえ追加の非同期フレームがバ
ッファされても、同期フレームにおいてサービスするよ
うに切り替わる。同期帯域幅カウンタが完了していない
限り、同期フレーム及び読取り可能な任意の追加フレー
ムがMACに送信される。MAC送信装置は、同期フレ
ームが送信されている間、非同期トラフィックに対する
リクエストをアサートし、そしてトークン保持タイマが
完了していない場合、MACは非同期フレームが送信さ
れるのを可能にするであろう。
【0075】非同期フレームは、トークンがMACによ
って捕捉された後、送信されるべき非同期フレームが存
在せず且つトークン保持タイマが完了していない場合の
み送信される。同期フレームは、非同期帯域幅カウンタ
が完了していない限り、送信されることを保証される。
非同期帯域幅割振りカウンタは、ローカル・プロセッサ
によってプログラムされなければならない。このカウン
タは、同期フレーム送信にとって利用可能な帯域幅の量
を指定する。このカウンタは、トークンがリリースされ
ると、保持レジスタにおける値を再ロードされる。同期
帯域幅カウンタは21ビットであり、そのカウンタはサ
ービス機会の開始時にイネーブルされる。即ち、トーク
ンは捕捉されており、同期フレームを送信している間に
インクリメントされるだけである。
【0076】4.4 I−MACエンジン(I−MA
C) 図20を参照すると、受信側において、制御バイトとし
てタグされたすべての着信バイトがスタータ・デリミッ
タ対と比較器701において比較される。その比較は、
バス121におけるFDDI−2サイクルとステアリン
グ・マップ・テーブル704との同期化のためである。
着信バイトは5*27のビット・レジスタ・アレイ70
2にコピーされ、レジスタ704におけるステアリング
・マップ・テーブル・エントリに従ってリクエスト・バ
ス120において反復される。このレジスタは、5つの
3バイト・レジスタ(各等時性受信待ち行列に対して1
つ)として編成され、4バイト・ワードを形成するため
に使用される。一旦1つのワードのうちの4番目のバイ
トが受信されると、そのワード全体が、8個の4バイト
・ワードFIFO706として編成されたバッファリン
グの次のステージに、関連の待ち行列番号と共に送られ
る。
【0077】待ち行列マネージャ212(図5参照)
は、レジスタ706の第1ワードをFRB又はコントロ
ーラ・レジスタ127に転送する。フロー制御モードが
その受信装置において選択される場合にプログラム可能
フロー制御バイト以外の制御バイトが指示バス121上
で検出される時、プログラム可能受信ダミー・バイト7
08が等時性データ・バイトの代りにロードされる。モ
ード・レジスタ(図8参照)においてダミー・バイト・
モードが選択される時、同じフィールドを宛先とする現
在のサイクルのその後の等時性バイトすべてがそのダミ
ー・バイトによって置換される。通常、次のサイクルの
始めにおける受信を仮定する。最終的には、受信フロー
制御モードが選択された時に受信フロー制御バイト71
6が指示バス121において検出される時、その待ち行
列に対して構成されるワードが第2レベルのバッファリ
ングにアップステージされる。
【0078】送信側において、待ち行列マネージャは4
バイト・ワードを38個の4バイト・レジスタ・アレイ
718に書き込む。このアレイは、7個の4ワードFI
FO(各等時性送信待ち行列に対して1つ)として編成
される。これらのFIFOをフルに保つために、待ち行
列マネージャへのリクエストが行われる。そこで、この
アレイからバイトが読み取られそして、ステアリング・
マップ・テーブル704によって表されるように、リク
エスト・バス120を介して送信される。1つのワード
におけるすべてのバイトが送信されてしまった時、対応
するFIFO読取りポインタ720は更新される。又、
バイトが全く送信されなかった時、指示バスにおける現
在のバイトが反復される。更に、待ち行列がエンプティ
であるか或いはそれの閾値と達していない時、プログラ
ム可能フロー制御バイトが送信される。最後に、受信バ
イト上で又は送信バイト上でパリティ・エラーが検出さ
れた時、パリティ・エラー制御バイト722がリクエス
ト・バス120を介して送信される。
【0079】フロー制御バイト710は、待ち行列が動
作中であるか或いはエンプティである時、等時性データ
・バイトの代わりに送信されるプログラム可能なバイト
である。そのフロー制御バイトは、いつも制御ビットと
共に送信される。一旦そのフロー制御バイトが待ち行列
から送信されてしまうと、データがその待ち行列に到達
するまで、ステアリング・マップによって示されるよう
に、同じフロー制御バイトがその同じ待ち行列に対して
送信される。閾値バイト或いはデータがその待ち行列に
到達した直後のFDDI−2サイクルにおいて、通常の
送信が再開される。
【0080】受信ステーションにおいて、フロー制御バ
イト・モードが選択されなかった場合、着信するフロー
制御バイトが検出された時に特別のアクションは取られ
ない。それは何らかの制御バイトとして扱われる。即
ち、制御バイト受信割込みが生じ、ダミー・バイトが受
信される。しかし、フロー制御バイトがモード・レジス
タにおいて検出される時、受信されるべき等時性バイト
の代わりになる受信ステーションのフロー制御バイトと
同じであるとして着信バイトが認識された場合、その待
ち行列に対して形成されつつある現在のワードは第2レ
ベルのバッファリングにアップステージされ、インター
フェース・レジスタ127における対応した待ち行列読
取りビットがセットされる。同じ待ち行列を宛先とする
その後のフロー制御バイトは受信されない。新しいデー
タが到達した時、その待ち行列に対する等時性バイトの
ノーマル受信が再開する。
【0081】フロー制御バイトの送信及び受信は待ち行
列毎に行うことが可能である。しかし、フロー制御バイ
トの値は所与のステーションのすべての待ち行列に共通
である。最終的には、フロー制御バイト・モードが生じ
るためには、送信ステーション及び受信ステーションの
両方とも同じフロー制御バイト値を持たなければならな
い。
【0082】等時性としてタグされた制御バイトであっ
てフロー制御バイト以外の制御バイトが等時性データ・
バイトの代わりに受信された時、ダミー・バイト708
がデータ・バイトの代わりにロードされる。ダミー・バ
イトによる等時性データ・バイトの置換は、ダミー・バ
イト・モードがモードレジスタにおいて選択された場
合、同じ待ち行列において進行している現サイクルの等
時性バイトすべてに拡張可能である。
【0083】ダミー・バイト・モードが選択された時、
所与の待ち行列の等時性バイトがダミー・バイトによっ
て置換されている場合、すべての同じ待ち行列を宛先と
し同じFDDI−2から生じたその後のすべての等時性
バイトがダミー・サイクルによって置換される。次のF
DDI−2サイクル境界において、その待ち行列に対す
る等時性データ・バイトのノーマル受信が再開される。
【0084】ステアリング・マップ・テーブル704
は、適当な待ち行列への或いは適当待ち行列からのバイ
ト経路指定を遂行するに必要な待ち行列番号を両方のI
−MACエンジン(指示及びリクエスト・エンジン)に
与える。ステアリング・マップ・テーブルは、すべての
ヘッダ・バイトを含むFDDI−2サイクルの各バイト
のマッピングを行おうとする。そのステーションを宛先
とするバイトがない場合、非アクティブ・エントリが与
えられる。
【0085】ステアリング・マップ・テーブルにおける
進行はFDDI−2サイクルと完全に同期している。ス
テアリング・マップRAMは、新たなバイトが受信され
る度にインクリメントされるカウンタ(図示されてな
い)によってアドレスされる。そのカウンタは、テーブ
ルの終りに到達した時にステアリング・マップの始めを
指すようにリセットされる。
【0086】ステアリング・マップ・テーブルに対する
読取りオペレーションは、送信待ち行列及び受信待ち行
列の両方に待ち行列番号を与える。従って、指示エンジ
ン及びリクエスト・エンジンの両方に経路指定情報を与
えるためには、ステアリング・マップ・テーブルは1回
だけアクセスされる必要があるだけである。
【0087】4.5 待ち行列マネージャ 図4に戻ると、待ち行列マネージャ212は、パラメー
タRAM218を管理し且つコントローラ内の1つの機
能的アイランドから他の機能的アイランドへの転送、又
はFRBから或いはFRBへのワード転送を遂行するそ
のコントローラ内の内部制御ロジックである。待ち行列
マネージャは、機能的アイランド(P−MAC指示及び
リクエスト・エンジン、I−MAC指示及びリクエスト
・エンジン、コントローラ・インターフェース、又はロ
ーカル・バス)のうちの何れかからのリクエストによっ
て駆動され、そしてそれが1つ又は複数個のリクエスト
を受信した時、それは、どのリクエストがサービスされ
るかを決定するためにアービトレーション・サイクルに
入る。リクエストは、他の機能的アイランドのうちのど
れかに又はFRBに書き込まれた或いはそれらから読み
取られた40ビット・ワードを有する何れかの又はすべ
てのアイランドからの表示である。待ち行列マネージャ
はすべての待ち行列マネージャのステータスを維持し、
そして一旦それがリクエストのサービスを終了すると、
その待ち行列に対するパラメータRAMを更新する。
【0088】パラメータRAM218は、4つの独立し
た汎用レジスタ・アレイを使用して実施される。その場
合、各アレイは16ワード*16ビットのものである。
各アレイは、各受信及び送信待ち行列に対して維持され
た4つのパラメータ(ベース・ポインタ、待ち行列サイ
ズ、閾値、読取り及び書込みポインタ)の1つを含む。
第1アレイは、それら待ち行列すべてに対する16ベー
ス及びサイズ・パラメータを含む。ローカル・バス・ア
ドレスの下位桁3ビットは4つのアレイのうちの1つを
選択する。ローカル・バス・アドレスのビット3乃至6
は、16ワード/待ち行列の1つを選択するために使用
される。
【0089】パラメータRAMは、パワー・オン・リセ
ット後にソフトウエアによって構成されなければならな
い。ベース/サイズは、各受信及び送信待ち行列に対し
てFRBを独立したブロックにセグメント化するため
に、ソフトウエアによって使用される。ベース・ポイン
タへの書込みの結果、その待ち行列に対する読取り及び
書込みポインタがベース・ポインタ値をロードされる。
【0090】待ち行列マネージャは、そのコントローラ
内の機能的アイランドのうちのどれか又はすべてにおい
て生じるリクエスト又はイベントに応答する。これらの
リクエストは次のようなものである。 (a)P−MAC受信FIFOから読み取られるべきワ
ード。このワードはチップ・インターフェースに転送さ
れるか或いはFRBに書き込まれるべきものである。 (b)I−MAC受信FIFOから読み取られ、そして
チップ・インターフェースに転送され或いはFRBに書
き込まれるべきワード。 (c)P−MACリクエストFIFOにロードされるべ
きワード。パケット・フレームは送信されながらカウン
トされる。待ち行列マネージャは、どの待ち行列がその
フレームのソースであるかを知っており、チップ・イン
ターフェース又はFRBからそのワードを検索する。P
−MACリクエストFIFOは、FIFOがフルでない
限りこのリクエストを発生し、ファイルの終りの発生時
又はトークンのリリース時にそれを終了させる。 (d)I−MACリクエストFIFOにロードされるべ
きワード。8個の送信待ち行列の各々に対して1つのリ
クエストがあり、P−MACの場合のように、待ち行列
がフルでない限り、各アクティブ待ち行列に対して1つ
のワードがリクエストされる。 (e)インターフェースから読み取られるべきワード。
このワードは、P−MAC/I−MACリクエスト・イ
ンターフェースにロードされるか又はFRBに書き込ま
れる。 (f)内部レジスタの1つを読み取る/書き込むため
の、又はFRBを読み取る/書き込むためのローカル・
バス・レジスタ。
【0091】上記リクエストのいずれも、個々に或いは
任意の組合せで同時に生じることが可能である。待ち行
列マネージャは、次のように、最高の優先順位で始まる
優先順位を付けをこれらリクエストに行う。 1.P−MAC送信 2.I−MAC送信 3.I−MAC受信 4.P−MAC受信 5.SIU送信 6.SIU受信 7.ローカル・バス
【0092】待ち行列マネージャはすべての待ち行列の
ステータスを保持する。各送信待ち行列に対して、次の
ようなステータスが維持される。 待ち行列エンプティ 待ち行列フル オールモスト・フル(1待ち行列に64ワード以下) 閾値到達
【0093】各受信待ち行列に対して、次のようなステ
ータスが維持される。 待ち行列エンプティ 待ち行列フル 閾値到達
【0094】各待ち行列のステータスは、FRBに対す
る各サービス時に更新される。FRBにおける待ち行列
は、待ち行列マネージャの制御の下に循環式FIFOと
して動作する。待ち行列マネージャは、フルである待ち
行列への書込み及びエンプティである待ち行列からの読
取りを行わない。各リクエストはFRBへのアクセスを
必要とし、その結果、4つのパラメータ(ベース/サイ
ズ、閾値、読取り及び書込みポインタ)すべてがその待
ち行列に対するパラメータRAMから読み取られる。
【0095】4.6 待ち行列管理/プログラミング 図5を参照すると、FDDI−RAMバッファにおける
待ち行列214及び216はコントローラ122によっ
て管理される。そのコントローラは、各待ち行列に対し
て各インターフェース127、132等において内部バ
ッファリングを有し、内部ターゲット・バッファがスペ
ースを有し且つその待ち行列に対するFRBにデータが
書き込まれなかった場合、各インターフェースにおける
バッファ相互間の「チップを横切る」接続を行うための
インテリジェンスも有する。コントローラで行われる内
部バッファリングは次のものから成る。即ち、インター
フェース127における16個のワード(2ワード/待
ち行列)。インターフェース124における同期トラフ
ィックに対する4ワードFIFO及び非同期トラフィッ
クに対する他の4ワードFIFO。インターフェース1
24における4ワード/待ち行列の場合の合計28ワー
ド。第1レベルのバッファリングにおける1ワード/待
ち行列の場合の13ワード、及び第1レベルからの形成
されたワードより成る第2レベルのバッファリングにお
ける8ワード。
【0096】ソフトウエアが使用したい待ち行列は、パ
ラメータRAMにおけるレジスタを使用して構成され
る。各待ち行列に対して5つのパラメータが(ベース・
ポインタ、待ち行列サイズ、閾値、読取り及び書込みポ
インタ)プログラム可能である。一旦構成されると、待
ち行列は、それが待ち行列イネーブル/ディスエーブル
・レジスタにおける適当なビットをセットすることによ
ってイネーブルされた後、データを送信及び受信するで
あろう。
【0097】待ち行列の用途は図6及び図7に要約され
る。図6における表は受信待ち行列214の用途を表
す。受信待ち行列0乃至2はパケット・データを受信す
る。受信待ち行列3乃至7は等時性リング・データを受
信する。
【0098】図7における表は送信待ち行列214の用
途を表す。待ち行列0を除いてすべての送信待ち行列は
一定の用途を有する。
【0099】待ち行列0は、等時性データ又は同期パケ
ット・フレーム・データを送信するために使用される。
待ち行列マネージャ212(図2参照)は2つの送信フ
レーム・カウンタ、即ち、待ち行列0に対するものと待
ち行列1に対するもう1つのものとを有する。これらカ
ウンタは、リングへの待ち行列待機送信においてバッフ
ァされたパケット・フレームの数をカウントする。パケ
ットが待ち行列内に入れられる時、適当なカウンタがイ
ンクリメントされる。フレーム・カウンタが少なくとも
1つのパケットを含む限り、待ち行列マネージャは、ト
ークンを捕捉するようP−MACリクエストに指示す
る。パケットが送信される時、適当なカウンタがデクリ
メントされる。各カウンタは253の最大値までカウン
トし、しかる後、ロールオーバする。
【00100】4.7 閾値処理 1つの待ち行列に対する閾値パラメータは、アクション
が取られる前の待ち行列にバッファされたデータの量を
定義する。待ち行列が閾値に達する又は超えることに起
因してコントローラが取るアクションは、受信待ち行列
及び送信待ち行列の間では異なっており、パケット待ち
行列及び等時性待ち行列の間でも異なっている。
【00101】等時性送信待ち行列に対しては、待ち行
列が送信を始める前の「閾値/閾値以上」だけが意味を
持つ。閾値は、リングに送信し始める前にバッファされ
なければならないデータの量を定義する。一旦閾値に到
達すると、次のマスタ・サイクルにおいて送信が始ま
る。しかる後、待ち行列がエンプティになるまで、閾値
は待ち行列のオペレーションに影響を与えない。
【00102】受信待ち行列(等時性又はパケット)に
対する閾値は、SIUステータス・レジスタにおける特
定の待ち行列と関連したビットがセットされてその待ち
行列が「作動可能」であることを表す前に、その待ち行
列にバッファされたデータの量を指定する。SIUはス
テータス・レジスタを周期的にポーリングし、そのセッ
トされたビットを有する待ち行列からデータを読み始め
るであろう。そのビットは、最後のワードがその待ち行
列から転送された後にしかリセットされない。パケット
受信待ち行列に対して、制御インターフェース・ステー
タス・レジスタにおけるビットは、フレームの終りが受
信された時にもセットされる。従って、閾値パラメータ
よりも小さいパケットは、そうでない場合よりも長く待
ち行列に「スティック」されない又は留まらないであろ
う。等時性待ち行列に対して、SIUステータス・レジ
スタにおけるビットは、フロー制御バイトが受信される
時にもセットされる。送信待ち行列と関連したコントロ
ーラ・インターフェース・ステータス・レジスタにおけ
るビットは閾値によって影響されず、待ち行列が殆どフ
ルになった時を除いていつも「作動可能」である。
【0103】パケット送信待ち行列に対する閾値パラメ
ータは、MACがトークンを捕捉することをコントロー
ラがリクエストする前に送信待ち行列(0又は1)にお
いてバッファされたデータの量を指定する。コントロー
ラは、フレームの終りがMACから受信された時にもト
ークンの捕捉をリクエストする。従って、閾値パラメー
タよりも小さいパケット・フレームが送信のために作動
可能である場合、トークン捕捉リクエストがMACに発
生される。
【0104】ソフトウエアは、送信待ち行列を除くすべ
ての値或いは閾値を自由に選択できる。概して、閾値は
0<=閾値<=待ち行列サイズ における任意の値を
選択可能である。パケット待ち行列に対して、閾値は選
択可能である。この場合には、ソフトウエアは、閾値の
ために完全なフレームの受信において使用されるであろ
う。ソフトウエアは、パケット・フレームがいつも待ち
行列サイズよりも小さいことが確実でなければならな
い。パケット・フレームのための選択された閾値を等時
性待ち行列に対して使用してはならない。それは、オー
バーランが生じるためである。ソフトウエアが待ち行列
サイズに非常に近いか或いはそれに等しい閾値を選択す
る場合、オーバーランが非常に起り易い。すべての送信
待ち行列に対して、コントローラは「オールモスト・フ
ル」ステータスを維持し、待ち行列はその待ち行列にお
いて65ワード以下の空きしかない時に「オールモスト
・フル」である。コントローラは、システム・インター
フェース・ユニットがオールモスト・フルである待ち行
列に送信する時に「オールモスト・フル」信号に肯定応
答する。閾値に達する前に、送信待ち行列が「オールモ
スト・フル」状態に達することは可能であり、潜在的に
は、これはその待ち行列をこの状態にスティックしたま
まにするであろう。このため、閾値は次の関係、即ち、 閾値0<=閾値<=(待ち行列サイズ−64) を使用して選択されなければならない。
【0105】最小閾値はソフトウエアによって注意深く
選択されなければならない。ゼロ閾値は「即時」閾値と
呼ばれる。ソフトウエアが特定の待ち行列に対する閾値
パラメータにゼロをロードする時、その特定の待ち行列
に対する閾値ビットが待ち行列閾値レジスタ(図示され
てない)にセットされる。受信待ち行列に対して、シス
テム・インターフェース・ユニット・ステータス・レジ
スタにおける関連ビットは、その第1ワードが受信され
るまでセットされない。コントローラは、ワードがFR
Bに書き込まれる前に満たされる内部バッファを有す
る。従って、ゼロの閾値の場合、ターゲット内部バッフ
ァに置かれた第1ワードはシステム・インターフェース
待ち行列ステータス・ビットをセットする。ゼロの閾値
は、FRBにおいて待ち行列を必要としないことを意味
する。待ち行列がイネーブルされる時、FRBにおける
待ち行列は、たとえそれが使用されなくても、256ワ
ードを最小サイズとして構成されなければならない。ア
ンダー・ランが生じる任意のパケット送信待ち行列に対
してゼロの閾値を使用してはならない。閾値の目的は、
アンダー・ランを防ぐように、リング112に送信する
前の十分なデータをバッファすることである。
【0106】送信待ち行列に対しては、最小閾値サイズ
に対する推薦値は4であり、それは、実際には、8ワー
ドをバッファする。或アプリケーションでは、等時性送
信待ち行列に対する閾値としてゼロが使用される。その
閾値が1よりも大きいか又は1に等しい場合、その内部
バッファにバッファされる量は、閾値に達したかどうか
に影響されない。これは、実際にバッファされる量が内
部バッファリングの量として閾値パラメータにプログラ
ムされる量に対するものであり、送信及び受信に対して
異なることを意味する。受信待ち行列に対しては、その
量はいつも2以上である。受信待ち行列に対する2とい
うプログラム閾値は、閾値に達するためには4ワードが
バッファされることを意味する。送信待ち行列に対して
は、その量は4以上であり、それは、2という閾値が、
閾値に達するために6ワードをバッファすることを必要
とする、ということを意味する。実用のためには、等時
性送信閾値に対して即時閾値が選択される時、閾値に達
するためには1ワードではなく2ワードがバッファされ
る。
【0107】5.FDDI−RAMバッファ(FRB)
及びインターフェース 図21は、FDDI−RAMバッファ130及びインタ
ーフェース210を示す。そのバッファ130は、3個
の64K*16のスタティックRAMでもって実現され
た64K*48メモリである。そのバッファは、バッフ
ァリングが必要な時には8個の受信待ち行列及び8個の
送信待ち行列(図6参照)に対する一時的な記憶装置で
ある。コントローラ及びFRBの間の信号IOバス21
0は、40ビット・データ線(32ビット・データ、4
ビット・パリティ、及び4ビット・タグ)、チップ選択
(CFCS)、読取り/書込み(NCFWE)線、出力
イネーブル(NCFOE)線、16ビット・アドレス線
の合計59個の信号線より成る。
【0108】図22は、FRBへのデータ及びFRBか
らのデータの編成を示す。40データ・ビットは4デー
タ・バイト、4パリティ・ビット、及び4タグ・ビット
に分割される。スタティックRAMによって与えられる
48ビットのうちの40ビットだけが使用される。通
常、各バイトに対して奇数パリティが使用される。しか
し、ソフトウエアは、必要に応じて又は診断目的で、偶
数パリティに切り換えることもできる。タグ・ビット
は、所与のアドレスにおける有効バイトの数及びフレー
ムの最終バイトを表す。
【0109】5.1 FDDI−RAMバッファ(FR
B)レジスタ FRBへのアクセスは4つのFRBアクセス・レジスタ
によって行われる。これらレジスタは、FRBアドレス
・レジスタ、FRBアッパー・ワード・レジスタ、FR
Bロア・ワード・レジスタ、及びFRBタグ/パリティ
・レジスタである。
【0110】図23において、FRBレジスタは、デー
タ・レジスタ及びFRBをアクセスするためのアドレス
・レジスタを与える。FRBは、ビーコン・フレーム及
びボイド・フレームを記憶するために、ローカル・バス
によっていつでもアクセス可能である。
【0111】FRBアドレス・レジスタは、FRBの6
4Kワード・アドレス空間におけるメモリ・ロケーショ
ンを指定する40ビット・レジスタである。各FRBア
クセスの後、コントローラ・ハードウエアは、FRBに
おける次のロケーションを指すようにこのレジスタを自
動インクリメントする。
【0112】FRBロア・ワード・レジスタはFRBに
おける40ビット・ワードのうちの下位16ビット・ワ
ードを保持する。FRBアッパー・ワード・レジスタは
FRBにおける40ビット・ワードのうちの上位16ビ
ット・ワードを保持する。FRBパリティ/タグ・レジ
スタは、FRBにおいて32ビット・データ・ワードの
4ビット・パリティ及び4ビット・タグを保持し、FR
Bからの読取り及びFRBへの書込みを開始させるため
に及びそのオペレーションの終了を信号するために使用
される2ビット・コマンド・インターフェースも含む。
4ビット・タグはアッパー・バイトの下位4ビットにあ
り、4ビット・パリティはロア・バイトの下位ビットに
ある。
【0113】5.2 FRBインターフェース コントローラにおけるFDDI−RAMバッファ・イン
ターフェース210が図24に示される。コントローラ
は、FDDI−RAMバッファ130へのアクセスを制
御する。そのインターフェースは待ち行列マネージャか
らのアドレス、読取り/書込み等のような制御情報を受
領し、FDDI−RAMバッファにおける待ち行列をア
クセスする。そのインターフェースは、FDDI−RA
Mバッファ・スタティックRAMに対する書込みイネー
ブル信号及び出力イネーブル信号を駆動する他に、待機
モードにある間、スタティックRAM装置の低電力消費
を利用するために、スタティックRAMチップ選択も駆
動する。最後に、パリティ生成及びチェックが読取りオ
ペレーション時及び書込みオペレーション時の両方で行
われる。
【0114】図24は、FRBメモリ・インターフェー
スの内部信号及び外部信号の両方を示す。内部信号は制
御のために使用され、外部信号はFRBへのアクセスの
ために使用される。FRBインターフェース・コントロ
ーラ410は、待ち行列マネージャ212によって制御
される。待ち行列マネージャは、読取り/書込み(R/
W)線412を作動することによってリクエストを開始
させ、データをアドレスし及び書き込み、そしてコント
ローラ410にコマンド信号をアサートする。インター
フェース・コントローラは、そのインターフェースがビ
ジーであり、新しいコマンドを送ってはいけないことを
待ち行列マネージャに信号するためにコマンド禁止フラ
ッグ416をアサートする。データ読取り肯定応答線4
18は、読取りオペレーションが終了したこと及びデー
タが次のクロック・サイクルにおいて有効であることを
表す。
【0115】図25、図26、図27、及び図28はそ
のインターフェースのタイミング図を与える。
【0116】5.3 FRB読取り/書込みオペレーシ
ョン 読取り/書込みオペレーションは、待ち行列マネージャ
からのリクエスト時に開始される。インターフェース・
コントローラはコマンド線を通してリクエストのタイプ
を認識する。R/W線は次の表で示すようにエンコード
される。 コマンド R/W 意味 0 − リクエストなし 1 0 書込みオペレーション 1 1 読取りオペレーション
【0117】R/W線は、コマンド線がアサートされた
場合にだけ有効である。インターフェース・コントロー
ラは、リクエストが導入されない限りアイドル状態に留
まる。アイドル状態にある間、NCFCS線は高レベル
に駆動され、スタティックRAM装置電力消費を少なく
する。
【0118】図25乃至図28のタイミング図に示され
るように、読取りオペレーションは、3クロック・サイ
クル、即ち、60ナノ秒を取る。書込みリクエストは、
2クロック・サイクル、即ち、40ナノ秒を取る。しか
し、書込みリクエストが読取りオペレーションに直接に
後続する場合、図26に示されるように、それらドライ
バを切り替えさせるために書込みサイクルの開始時に、
20ナノ秒の余分なクロック・サイクルが必要である。
【0119】読取りオペレーションの間、CFWE信号
は高レベルに保たれる。状態R1で始まるアドレスは有
効である。状態R1の時に、スタティックRAMドライ
バは、前のオペレーションが書込みであった場合にイン
ターフェース・ドライバが高インピーダンス状態に進む
ことを可能にするようディスエーブルされる。この信号
NCFOEは、メモリ・バッファをイネーブルするため
に状態R2の時に低レベルになる。そこで、データは状
態R3の時に有効となり、この状態の終了時にラッチさ
れる。35ナノ秒アクセス・タイムのスタティックRA
Mにとって、データの合計アクセス・タイムは最大4
9.6ナノ秒である。NCFOEは、書込みオペレーシ
ョンに入るためにアイドル状態時に高レベルにされる。
【0120】メモリへの書込みアクセスの間、NCFO
E信号は、メモリ出力バッファを高インピーダンス状態
に保つために論理的高レベルにある。アドレス及びデー
タはW1の時に有効である。そこで、NCFWE信号は
W1の中央で降下し、W2の時に高レベルに進む。
【0121】6. ローカル・バス・インターフェース ローカル・バス132は、コントローラ122のアドレ
ス空間へのアクセスを行う。図29は、ローカル・バス
における重要な装置を示す。コントローラ122は、バ
ス・マスタとしてローカル・プロセッサ134或いはシ
ステム・インターフェース・ユニット128を持ったロ
ーカル・バス上のスレーブである。コントローラ・アド
レス空間はメモリ・マップされ、図23と関連して説明
した4つのFRBアクセス・レジスタを含むFDDI−
RAMバッファ(図21参照)を有する。
【0122】図29において、そのインターフェース
は、アドレス・ラッチがアクティブであるアドレス及び
データ・バス(CLAD)802より成り、それは、コ
ントローラのアドレス可能空間のレジスタのうちのどれ
かを選択するために使用される16ビットのアドレスを
保持する。データ・イネーブル(CLDEN)812が
アクティブである時、コントローラは、ローカル・バス
読取りのためにはそのバス上にデータを置き、ローカル
・バス書込みのためにはそのバスからデータを受けるで
あろう。データ・パリティ・ビット(CLPAR)80
4は、ローカル・バス読取りを行う16ビット・データ
・バス上の奇数バイト・パリティを表す。アドレス・ラ
ッチ・イネーブル(CLALE)806は、アドレス・
データ・バスからのアドレスをラッチするために使用さ
れるアクティブな高レベル信号である。アドレス・ステ
ータス(CLAS)808は、アドレス・ステータスを
表し且つアドレス・サイクル(Ta)時にアサートされ
るアクティブな低レベル信号である。
【0123】書込み/読取り信号(CLWR)810
は、オペレーションが書込みであるか又は読取りである
かを表す。それは、書込みに対して高レベルであり、読
取りに対して低レベルである。チップ選択信号(CLC
S)813は、コントローラがローカル・バス・コント
ローラ134のアドレス・デコード・ロジックを介して
ローカル・プロセッサにより選択されたことを表し、ア
クティブな低レベルである。この信号は、アドレス状態
時にアサートされ、データ状態を通してアクティブのま
まである。コントローラ割込み信号(CLINT)81
4はコントローラからローカル・プロセッサへの割込み
線である。それは割込み条件が生じた時にアサートさ
れ、そしてその状態はマスクされず、アクティブな高レ
ベルとなる。作動可能信号(CLRDY)816は、現
在のバス・サイクルを終了させるローカル・プロセッサ
134に対する肯定応答である。書込み時に、コントロ
ーラがアドレス・データ信号バスからのデータをラッチ
した時、その信号816はアサートされる。読取り時
に、その付勢された信号は、データがアドレス・データ
信号バスにおいて駆動された時にアサートされ、そして
アクティブとなるデータ・イネーブル812に対するチ
ップ選択信号813にアサートされる。この信号がアド
レス状態(Ta)に続いて又はデータ状態(Td)の後
にアサートされない場合、プロセッサは待機状態(T
w)をアサートするであろう。
【0124】ローカル・バス・インターフェースは4つ
のFRDレジスタを介してFRBへのアクセスを行う。
それらレジスタは、FRBアドレス・レジスタ、FRB
アッパー・ワード・レジスタ、FRBロア・ワード・レ
ジスタ、及びFRBパリティ/タグ・レジスタである。
【0125】ローカル・バス・アクセスにおけるマスタ
は、データをFRBアクセス・レジスタに書き込むこと
及びコマンドをFRBパリティ/タグ・レジスタ(図1
3参照)に発生することによってFRBメモリをアクセ
スする。FRBアクセス・レジスタは、FRBコマンド
がFRBパリティ/タグ・レジスタにおいて発生される
前に書き込まれなければならない。一旦コマンドによっ
てセットされると、ローカル・バス・インターフェース
は、データ転送の方向(書込み/読取り)に基づいてF
RBオペレーションを開始させる。そのオペレーション
が書込みである場合、FRBインターフェースは、FR
Bアクセス・レジスタからアドレス及びデータ情報を収
集し、そしてメモリへの書込みを行うであろう。そのオ
ペレーションが読取りである場合、FRBインターフェ
ースはFRBアクセス・レジスタから情報を収集し、F
RBメモリからの読取りを行い、そしてメモリから読み
取られたデータを3つのFRBデータ・レジスタに書き
込むであろう。そのオペレーションが終了した時、ロー
カル・バス・インターフェースは、オペレーションが終
了したこと及びそのローカル・バス・インターフェース
が次のオペレーションのために作動可能であることを表
すFRBパリティ/タグ・レジスタのビット15をクリ
アする。
【0126】ローカル・データ・バスは待ち行列パラメ
ータRAM218(図4参照)に接続される。待ち行列
パラメータRAMは、8個の受信待ち行列及び8個の送
信待ち行列を管理するために使用されるポインタ・パラ
メータを含む。これらのエントリはローカル・バスを介
して読取り可能であり且つ書込み可能である。8個の受
信待ち行列及び8個の送信待ち行列の各々に対して、待
ち行列パラメータRAMは4つのパラメータを記憶す
る。各パラメータは2バイト幅であり、そしてそれらは
ベース・ポインタ/サイズ・パラメータ、閾値ポイン
タ、読取りポインタ、及び書込みポインタである。
【0127】ローカル・プロセッサ134は、ローカル
・バス132を介してI−MACステアリングマップ
(図11参照)を初期設定する。そのI−MACステア
リング・マップは、等時性バイトを書き込み又は読み取
るべき待ち行列をI−MAC送信装置又は受信装置に表
示する。そのマップは1560バイトより成る。即ち、
それは、FDDI−2マスタ・サイクルの各データ・バ
イトの1対1マップである。そのマップの各バイト・エ
ントリは、送信待ち行列の待ち行列番号及びチャネル・
データに対する受信待ち行列の待ち行列番号を記憶す
る。
【0128】ステアリング・マップは、16ビット・レ
ジスタによってコントローラのアドレス空間にマップさ
れ、そしてローカル・バスによって直接にアクセス可能
である。それらの2バイト・エントリは、相互に並んで
そのアドレス空間に記憶される。ローカル・バスにおけ
るマスクがステアリング・マップをアクセスする時、ロ
ーカル・バス・インターフェースはステアリング・マッ
プ・アドレス空間におけるロケーションにバス・アドレ
スをマップするであろう。データを送信又は受信する
時、コントローラはステアリング・マップにより指定さ
れた待ち行列における各バイトを検索し又はその待ち行
列に各バイトを記憶するであろう。データは8個の送信
待ち行列のうちのどれからも検索可能であり、8個の受
信待ち行列のうちのどれにも記憶可能である。
【0129】ローカル・バスから直接にアクセス可能で
あるコントローラ・レジスタは、制御レジスタ、イベン
ト・レジスタ、待ち行列及びパラメータRAMレジス
タ、I−MACステアリング・マップ・レジスタ、及び
FRBアクセス・レジスタを含む。これらレジスタのう
ちのどれかをアクセスするために、ローカル・バス・マ
スタは所望のアドレスを選択し、ローカル・バス・イン
ターフェースは対応するレジスタをデコード及び選択
し、或いはそれにマップする。コントローラに対するロ
ーカル・バス・オペレーションはいつも16ビット転送
である。
【0130】図8乃至図14と関連して説明した制御レ
ジスタは、モード・レジスタ、待ち行列イネーブル/デ
ィスエーブル・レジスタ、P−MACコピー基準レジス
タ、I−MACフロー制御レジスタ、パリティ制御レジ
スタ、及び同期帯域幅割振りレジスタを含む。
【0131】モード・レジスタはコントローラに対する
主要なオペレーション・パラメータ及びオペレーション
のモード設定する。モード・ミックスは4つのモード、
即ち、ストップ・モード、ビーコン・モード、ボイド・
モード、及びノーマル・モードのうちの1つにコントロ
ーラを設定する。パワー・オンの後、コントローラはス
トップ・モードにされ、このモードはすべての待ち行列
をディスエーブルする。このモードでは、ソフトウエア
は、オペレーションを開始させる前に、望ましいように
コントローラ・レジスタを構成する。コントローラは、
オペレーションの過程で特殊なエラーが認識された時に
ストップ・モードに置される。
【0132】6.1 ローカル・バス・インターフェー
ス・オペレーション 図30はコントローラ・ローカル・バス・インターフェ
ースにおける単一ワード読取り及び書込みオペレーショ
ンに対するタイミングを示す。ローカル・バス・インタ
ーフェースは非同期インターフェースであるので、それ
は50MHzクロックを使用する代わりにバス・マスタ
からの40MHzクロックを使用することを拒むもので
はない。
【0133】7.コントローラ/システム・インターフ
ェース・オペレーション 図31を参照すると、インターフェース127は、コン
トローラ122とシステム・インターフェース・ユニッ
ト(SIU)128との間の同期高速度データ転送路を
与える。このインターフェースを介して、システム・イ
ンターフェースユニット128はコントローラ122に
おける待ち行列ステータス・レジスタ110をアクセス
し、8個の受信待ち行列及び8個の送信待ち行列のうち
のどれがサービスされるべく作動可能であるかを識別す
る。
【0134】SIU128はこのインターフェースのマ
スタである。待ち行列ステータス・レジスタを読み取り
そして待ち行列サービス・リクエストを優先順位付けた
後、SIUは、受信/送信待ち行列番号線904におけ
る待ち行列番号と共にシステム・リクエスト線902上
にリクエストをセットすることによって、受信待ち行列
からの又は送信待ち行列へのデータ転送を開始させる。
コントローラは、それがそのデータ転送を完了させるよ
う作動可能である時、肯定応答線906における肯定応
答でもって応答する。インターフェース線を終了させる
のは、双方向データ・バス線908双方向データ・バス
・パリティ線910及び双方向タグ線912である。
【0135】バス・サイクルは、システム・インターフ
ェース・ユニット128がリクエストを発生することに
よって開始され、そしてコントローラ及びSIUの間の
データ・ワードの転送によって、又はコントローラ・エ
ラー肯定応答によって終了させられる。図32は送信及
び受信タイミングの一例を示す。4つのバス状態は次の
ようになる。
【00136】状態0(S0): 状態0はリクエスト
状態である。チップからの送信リクエスト、受信リクエ
スト、又は待ち行列ステータス読取りリクエストがアク
ティブになる時、コントローラは状態1(S1)に進
む。リクエストが全く与えられない場合、バス状態はS
0として残る。 状態1(S1): 状態1はアービトレーション状態で
ある。コントローラ・インターフェース制御ロジック
は、チップがアサートしたリクエストをそれがサービス
するよう作動可能であるかどうかを決定する。そこで、
コントローラの次のサイクルは状態2(S2)に進む。 状態2(S2): 状態2は肯定応答状態である。状態
2は反復可能な唯一のバス状態である。肯定応答状態
は、コントローラが肯定応答線906を「11」(アイ
ドル)以外の値に駆動することによって終了させられ
る。次のサイクルでは、コントローラは状態3に進む。
何れのリクエストに対しても、データ/パリティ/タグ
線は、最後のS2サイクルの間及び状態S2を通して有
効となるであろう。 状態3(S3): 状態3はデータ状態である。データ
は、コントローラによって送信リクエストに対して読み
取られる。データは、システム・インターフェースによ
って受信又はQSRリクエストに対して読み取られる。
次のサイクルでは、バスは状態0に戻る。
【0137】システム・インターフェース待ち行列ステ
ータス読取りオペレーションがリクエストされる場合、
インターフェース・コントローラは32ビット・ステー
タス・レジスタをパリティと共にインターフェース・デ
ータ・バス上に置く。ステータス・レジスタは、図33
に示されるように、データ転送バス・サイクルに対する
待ち行列の可用度を表すために各受信待ち行列及び送信
待ち行列に対するビットを含む。レジスタ・ビットは次
のように使用される。即ち、 予約済:予約済はゼロとして読まれる。 送信待ち行列:送信待ち行列ビットは、対応する待ち行
列がデータ転送のために作動可能である時を表す。ビッ
ト16は送信待ち行列0を表し、一方、ビット23は送
信待ち行列7を表す。「0」は待ち行列が作動可能でな
いことを表す。「1」は待ち行列が作動可能であること
を表す。送信待ち行列の待ち行列作動可能ビットは、待
ち行列が少なくとも65個以上のワードに対する空きを
有し且つ待ち行列がイネーブルされる時にセットされ
る。 受信待ち行列:受信待ち行列ビットは、対応する待ち行
列がデータ転送のために作動可能であることを示す。ビ
ット0は受信した待ち行列0を表し、一方、ビット7は
受信した待ち行列7を表す。ゼロ・ビットは作動可能で
ない待ち行列を表す。
【0138】受信待ち行列の待ち行列作動可能ビット
は、その待ち行列に対するFRBにおけるデータの量が
閾値を超える時、或いはその待ち行列内にファイルの終
りがある時にセットされる。閾値がゼロである場合、そ
の待ち行列作動可能ビットは、FRB又はシステム・イ
ンターフェース受信バッファにその待ち行列に対する何
らかのデータがある時、或いはその待ち行列にファイル
の終りがある時にセットされるであろう。待ち行列作動
可能ビットは、受信待ち行列肯定応答において最後のワ
ードに関連する転送時にクリアされる。このビットは、
待ち行列がイネーブルされる場合にアサートされるだけ
であろう。
【0139】7.1 システム・インターフェース・ユ
ニット(SIU)ロジック システム・インターフェース・ユニット・ロジックの編
成が図32に示される。そのシステム・インターフェー
ス・ユニット・ロジックは、受信バッファ914におい
て各受信待ち行列のためにバッファする2つのワードを
与える。待ち行列マネージャは、それらバッファをいつ
もフルに保とうとするであろうし、各待ち行列のフロン
ト・エンドをロードし続けさせようとするであろう。送
信側にとっては、単一ワードのバッファリングは送信レ
ジスタ916において行われる。待ち行列マネージャ
は、このラッチをデータ転送のためにエンプティに且つ
作動可能に保つであろう。システム・インターフェース
・ユニット・ロジックは、送信データ・ワードが利用可
能であることを待ち行列マネージャに表示し、待ち行列
マネージャは送信レジスタ916から送信ワードを読み
取り、そしてそのレジスタをクリアして、他の送信オペ
レーションが処理可能であることをチップ・インターフ
ェースに知らせるためにアサート及び肯定応答する。
【0140】システム・インターフェース・ユニット・
ロジックは、受信データが受信バッファ914からその
チップに転送される時、線918において新しい受信デ
ータのリクエストを待ち行列マネージャに発生するであ
ろう。これらリクエストは受信リクエストFIFO92
0に記憶されるであろう。待ち行列マネージャは一時に
1つずつリクエストをサービスし、FIFOから各リク
エストをクリアするであろう。待ち行列マネージャは、
インターフェース・リクエストに応答してデータを受信
バッファ914に書き込むであろう。待ち行列マネージ
ャは、未決のインターフェース・リクエストがなくても
受信バッファにデータを書き込むことが可能である。
【0141】インターフェース・オブジェクトは、線9
22を介してローカル・バス・ロジックにエラーをレポ
ートするであろう。これらのエラーは、パリティ・エラ
ー、エンプティ待ち行列の読取り、フル待ち行列の書込
み、ディスエーブルした待ち行列の書込み、及び受信リ
クエストFIFOのオーバーフローを含む。ローカル・
バスは、コントローラが動作しているモード(ノーマル
/ストップ/リセット)、各受信待ち行列のモード(ノ
ーマル/即時)、パリティ選択のモード(奇数/偶
数)、及びパリティ・イネーブル/ディスエーブルのモ
ードに関する情報をインターフェース・ロジックに供給
する。
【0142】8.システム・インターフェース概要 図35において、システム・インターフェース・ユニッ
ト128は、共用メモリ・バッファ310、DMAエン
ジン312、スレーブ送信ポート314、送信エンジン
316、及び受信エンジン318より成る。そのシステ
ム・インターフェース・ユニットは、ローカル・バス1
32に接続されたローカル・バス・インターフェース1
33に接続される。更に、システム・インターフェース
・ユニットはコントローラ・インターフェースに接続さ
れ、又マイクロ・チャネル14に接続されたマイクロ・
チャネル・インターフェース320にも接続される。イ
ンターフェース・レジスタ322はシステム・バスとロ
ーカル・バスとの間の制御情報の転送を処理する。
【0143】8.1 DMAエンジン DMAエンジン312は、64バイトの内部のFIFO
レジスタを通したシステム114及びローカル・バス1
32の間のデータの転送を制御する配線された標準的ゲ
ート・アレイである。DMAエンジンは、データ転送の
ためにマイクロチャネル・インターフェース320にバ
ス・マスタ・リクエストを発生する。ローカル・プロセ
ッサ134(図1参照)は、リンク・デスクリプタ・リ
ストのチェーンを通してDMAとインターフェースす
る。システム・インターフェース・ユニット128(図
1参照)は、ローカル・バス・メモリ135におけるデ
スクリプタ・リストを位置指定するDMAエンジン・デ
スクリプタ・ポインタを含む。システム・インターフェ
ース・ユニットは、ステータスを返送する書込みビット
1バイト・ステータス・レジスタも含む。
【0144】8.2 DMAデスクリプタ 図36に示されたシステム・インターフェース・ユニッ
ト128におけるDMAエンジン・デスクリプタ・ポイ
ンタはローカル・バス・メモリにおけるリンクされたデ
スクリプタのチェーンを位置指定する。デスクリプタを
アクセスする時、そのシステム・インターフェース・ユ
ニットは、20ビット・アドレスを形成するためにロー
カル・バス・ベース・レジスタを使用するであろう。そ
のアドレスの下位16ビットはエンジン・イネーブル
(EEN)ビットである。DMAエンジンは、イネーブ
ルされると、デスクリプタを有効なものと見なして最初
のデスクリプタを内部記憶装置にフェッチするであろ
う。各デスクリプタを処理した後、DMAエンジンはリ
ンク・ポインタをそのアドレスにロードし、そしてゼロ
のリンク・ポインタに遭遇するまで、そのチェーンにお
ける次のデスクリプタをフェッチするであろう。リンク
・ポインタがゼロであるデスクリプタを処理した後、D
MAエンジンはデスクリプタ・チェーンの終りビットを
セットし、EENビットをディスエーブルするであろ
う。従って、そのアドレスは、デスクリプタを処理中に
エラーが生じた場合にチェーン内の処理された最後のデ
スクリプタを指し、DMAエンジンはステータス・レジ
スタにおいてそのエラーをログし、EENビットをディ
スエーブルする。であろうローカル・プロセッサは、E
ENビットをディスエーブルすることによってそのエン
ジンを異常終了させることができる。DMAエンジンが
すべての活動を終了させた後、それはエンジン異常終了
ビットをセットするであろう。
【0145】DMAエンジン・デスクリプタは、ローカ
ル・プロセッサ及びローカル・メモリによって初期設定
される14バイトの制御ブロックである。この制御ブロ
ックは、マイクロチャネルとローカル・バスとの間のデ
ータの転送のためのソース及びデスティネーションをD
MAエンジンに表示する。一般には、DMAエンジン
は、デスクリプタのバイト・カウント・フィールドがゼ
ロになるまでデータを転送するであろう。それは、その
チェーンにおける次のデスクリプタまで移動しそして継
続するであろう。
【0146】DMAエンジン・デスクリプタは、図36
に示されるように、制御ワード・バイト・カウント、マ
イクロチャネル(MC)アドレス、ローカル・バス(L
B)アドレス、及びリンク・ポインタを含む。そのデス
クリプタにおける各ビットの機能は次のようになる。 (a)ARB(アービトレーション・レベル選択) このビットは、マイクロチャネルへのアクセスのため
に、どのアービトレーション・レベルが使用されるかを
決定する。 0:一次アービトレーション・レベル 1:二次アービトレーション・レベル (b)MIO(メモリ/IO選択) このビットは、デスクリプタにおけるアドレスがマイク
ロチャネル・メモリ又はI/Oアドレスのどちらを表す
かを決定する。 0:I/Oアドレス 1:メモリ・アドレス (c)IAP(処理後の割込み) このビットは、このデスクリプタを処理した後、システ
ム・インターフェース・ユニットがDMASTATレジ
スタのDPRビットをセットすべきであることを表す。 0:処理後の割込みなし 1:処理後の割込みあり
【0147】(d)DIR(転送方向) このビットは、データ転送の方向、即ち、マイクロチャ
ネルからローカル・バスへ或いはローカル・バスからマ
イクロチャネルへの方向を表す。 0:マイクロチャネルからローカル・バスへ 1:ローカル・バスからマイクロチャネルへ (e)NAI(アドレス・インクリメントなし) このビットは、マイクロチャネル・アドレスのインクリ
メント動作を制御する。 0:マイクロチャネル・アドレスのインクリメントあり 1:マイクロチャネル・アドレスのインクリメントなし (f)BYTE COUNT(バイト・カウント) このフィールドは、転送されるべきバイトの数を表す。 (g)MC LOW ADDRESS(マイクロチャネ
ル下位アドレス) このフィールドは、マイクロチャネル・アドレスの下位
16ビットを表す。 (h)MC HIGH ADDRESS(マイクロシャ
ネル上位アドレス) このフィールドは、マイクロチャネル・アドレスの上位
16ビットを表す。 (i)LB LOW ADDRESS(ローカル・バス
下位アドレス) このフィールドは、ローカル・バス・アドレスの下位1
6ビットを表す。 (j)LB HIGH ADDRESS(ローカル・バ
ス上位アドレス) このフィールドは、ローカル・バス・アドレスの上位1
6ビットを表す。 (k)LINK POINTER(リンク・ポインタ) このフィールドはチェーンにおける次のデスクリプタに
対するローカル・バス・アドレスの下位16ビットを表
す。ゼロのリンク・ポインタは、チェーンの終りを表
す。
【0148】システム・インターフェースは、DMAエ
ンジン・ステータスをレポートするための1バイトのス
テータス・レジスタ(DMASTAT)を含む。そのス
テータス・レジスタ(DMASTAT)にビットがセッ
トされる時、ローカル・バスに対する割込みがマスクさ
れてない場合、その割込みが発生される。DMAエンジ
ンは、エラー状態、エンジン異常停止、デスクリプタ処
理済み、又はデスクリプタ・チェーンの終りを表すため
のビットをDMASTATにセットするであろう。
【0149】8.3 DMAエンジン・オペレーション DMAエンジン・オペレーションは次のようになる。即
ち、 (a)DMAエンジン・デスクリプタをフェッチする ローカル・プロセッサがDMAエンジン・デスクリプタ
・ポインタ(DMADP)のEENビットを介してDM
Aエンジンをイネーブルする時、DMAエンジンは、第
1デスクリプタを内部記憶装置にフェッチするようロー
カル・バス・インターフェースにリクエストを発生す
る。
【0150】(b)サービス・リクエストを発生する 一旦デスクリプタがフェッチされると、DMAエンジン
は、マイクロチャネル・インターフェース及びローカル
・バス・インターフェースに、そのデスクリプタから決
定されたソース及びデスティネーションとしてそれらイ
ンターフェースを識別するバス・マスタ・リクエスト発
生するであろう。そこで、ソース・インターフェースは
FIFOレジスタ322をロードし始めるであろう。デ
スティネーション・インターフェースは、レジスタ32
2がハーフ・フルになった時、そのレジスタをアンロー
ドするであろう。
【0151】(c)FIFOがフルになる FIFOレジスタ322がフルになった時、ソース・イ
ンターフェースは、そこにデータをロードすることを停
止するであろう。ソース・インターフェースは、FIF
Oがハーフ・フルに達した時に再びデータをロードし始
めるであろう。
【0152】(d)デスクリプタのバイト・カウントが
完了する デスクリプタ・バイト・カウントが完了したことをソー
ス・インターフェースがDMAエンジンに表示する時、
デスティネーション・インターフェースがFIFOレジ
スタをエンプティにすることをDMAエンジンがリクエ
ストするであろう。一旦FIFOがエンプティにされる
と、デスクリプタにおけるIAPビットがセットされる
場合、DMAエンジンはDMASTATにおけるDPR
ビットをセットするであろう。デスクリプタのリンク・
ポインタ・フィールドがゼロでない場合、DMAエンジ
ンはリンク・ポインタをDMADPにロードし、次のデ
スクリプタをフェッチするであろう。一旦新しいデスク
リプタがフェッチされると、DMAエンジンはバス・マ
スタ・リクエストをマイクロチャネル及びローカル・バ
ス・インターフェースに発生するであろう。
【0153】(e)リンク・ポインタがゼロである ゼロのリンク・ポインタによってデスクリプタに対する
データを処理した後、DMAエンジンはDMADPのE
ENビットをディスエーブルし、DMASTATにおけ
るEDCビットをセットする。
【0154】(f)ローカル・プロセッサが異常終了コ
マンドを発生する。 ローカル・プロセッサは、EENビットをディスエーブ
ルすることによってそのエンジンに対する活動を終了さ
せることができる。DMAエンジンはすべての活動を終
了させ、DMASTATにおける待ち行列異常終了ビッ
トをセットするであろう。
【0155】(g)エラー状態の遭遇 データ転送中にエラー状態が遭遇する場合、DMAエン
ジンはすべての活動を終了させ、DMADPにおけるE
ENビットをディスエーブルするであろう。そこで、D
MAエンジンは、DMASTATにおいてエラー状態を
表示するであろう。受信エンジン318は、マイクロチ
ャネルによって管理された8個の受信待ち行列(図6参
照)の1つからマイクロチャネル又はローカル・バスへ
のデータの転送を制御する。データは、3つの128バ
イトFIFOを通して内部的にバッファされる。受信エ
ンジンは、データ転送のためのバス・マスタ・リクエス
トをマイクロチャネル・インターフェースに発生する。
それは、データ転送のためのバス・マスタ・リクエスト
をローカル・バス・インターフェースにも発生する。受
信エンジンは、コントローラ・インターフェースによっ
て得られたコントローラ待ち行列ステータスをモニタ
し、待ち行列サービス・リクエストを返信する。
【0156】ローカル・プロセッサは、リンクしたデス
クリプタ・リストの8個のチェーン(1受信待ち行列当
たり1つ)を通して受信エンジンをインターフェースす
る。システム・インターフェースは、ローカル・バス・
メモリにおけるデスクリプタ・リストを位置指定する8
個の受信デスクリプタ・ポインタ(RDP)を有する。
又、システム・インターフェースは、ステータスを各待
ち行列に戻す8個の1バイト・ステータス・レジスタ
(RQSTAT)も有する。
【0157】8.4 受信エンジン 受信エンジン318は、8個の受信待ち行列214(図
5参照)の1つからシステム又はローカル・バス132
へのデータの転送を制御する配線された標準的ゲート・
アレイである。データは、3つの128バイトFIFO
(図示されていない)を通して内部的にバッファされ
る。受信エンジンは、データ転送のためのバス・マスタ
・リクエストをSIUへ発生する。又、それは、データ
転送及びデスクリプタ・フェッチのためのバス・マスタ
・リクエストをローカル・バス・インターフェースに発
生する。受信エンジンは、コントローラ・インターフェ
ースによって得られたコントローラ待ち行列ステータス
をモニタし、待ち行列サービス・リクエストを戻す。ロ
ーカル・プロセッサは、リンク・デスクリプタ・リスト
の8個のチェーン(各受信待ち行列当たり1つ)を通し
て受信エンジンとインターフェースする。SIUは、ロ
ーカル・バス・メモリ137におけるデスクリプタ・リ
ストを位置指定する8個の受信デスクリプタ・ポインタ
を有する。又、SIUは、各待ち行列に対してステータ
スを戻す8個の1バイト・ステータス・レジスタ(RQ
STAT)を有する。
【0158】8.5 受信デスクリプタ システム・インターフェースは、8個の受信待ち行列の
各々に対して1つずつの、図37に示された8個の受信
デスクリプタ・ポインタ(RDP)を有する。それらポ
インタは、ローカル・バス・メモリにおけるリンクした
デスクリプタのチェーンを位置指定する。デスクリプタ
をアクセスする時、システム・インターフェースは、適
当なRDP及びローカル・バス・アドレス・レジスタ
(LBASE)を使用して20ビット・アドレスを形成
するであろう。
【0159】RDPの最下位ビットは「待ち行列イネー
ブル・ビット(QEN)」である。イネーブルされた
時、受信エンジンはその待ち行列に対するデスクリプタ
を有効なものと見なし、第1のものを内部記憶装置にフ
ェッチするであろう。各デスクリプタを処理した後、ゼ
ロのリンク・ポインタが遭遇するまで、受信エンジンは
リンク・ポインタ・フィールドをRDPにロードし、そ
のチェーンにおける次のデスクリプタをフェッチするで
あろう。ゼロのリンク・ポインタの時のデスクリプタを
処理した後、受信エンジンは、適当なステータス・レジ
スタ(RQSTAT)のデスクリプタ・チェーンの終り
ビットをセットし、対応するRDPのQENビットをデ
ィスエーブルするであろう。従って、RDPはそのチェ
ーンにおける処理された最後のデスクリプタを指す。デ
スクリプタを処理している間にエラー状態が生じた場
合、受信エンジンはそのエラーを適当なRQSTATに
ログし、対応するRDPのQENビットをディスエーブ
ルするであろう。
【0160】ローカル・プロセッサは、適当なRDPの
QENビットをディスエーブルすることによって待ち行
列に対する活動を異常終了させることができる。受信エ
ンジンがすべての活動を終了させた後、それは対応する
RQSTATの待ち行列異常終了ビットをセットするで
あろう。
【0161】図37に示されるように、受信されたデス
クリプタは、ローカル・プロセッサ及びローカル・バス
・メモリによって初期設定される10バイトの制御ブロ
ックである。この制御ブロックは、受信されたデータに
対する宛先を受信エンジンに表示する。一般的には、受
信エンジンは、デスクリプタのバイト・カウント・フィ
ールドがゼロになるまで又はフレームの終りが到達する
まで、データをその宛先まで転送するであろう。バイト
・カウントがゼロになった時、受信エンジンは、そのチ
ェーンにおける次のデスクリプタまで移動して継続す
る。フレームの終りが到達する時、受信エンジンは、先
ず、制御ワード及びデスクリプタのバイト・カウント・
フィールドを更新し、しかる後、そのチェーンにおける
次のデスクリプタに進む。制御ワード及びバイト・カウ
ント・フィールドの更新は、制御ワードのデスクリプタ
・イネーブル(DUE)ビットによってディスエーブル
可能である。
【0162】受信デスクリプタは、制御ワード、バイト
・カウント、下位アドレス、上位アドレス、リンク・ポ
インタを含み、それらのビットは次のような機能を有す
る。即ち、 (a)ARB(アービトレーション・レベル選択) このビットは、マイクロチャネルへのアクセスのため
に、どのアービトレーション・レベルが使用されるのか
を決定する。 0:1次アービトレーション・レベル 1:2次アービトレーション・レベル (b)MIO(メモリ/IO選択) このビットは、デスクリプタにおけるアドレスがマイク
ロチャネル・メモリ・アドレスを表すのか又はI/Oア
ドレスを表すのかを決定する。 0:I/Oアドレス 1:メモリ・アドレス (c)H/L(ホスト/ローカル・アドレス) このビットは、デスクリプタにおけるアドレスがマイク
ロ・チャネル・アドレスを表すのか又はローカル・バス
・アドレスを表すのかを決定する。 0:ホスト・アドレス 1:ローカル・アドレス
【0163】(d)IAP(処理後の割込み) このビットは、システム・インターフェースがデスクリ
プタを処理した後に適当なRQSTATレジスタのRD
Pビットをセットすべきことを表す。 0:処理後の割込みなし 1:処理後の割込みあり (e)IEF(フレームの終りの場合の割込み) このビットは、フレームの終りが到達した場合、このデ
スクリプタを処理した後、システム・インターフェース
が適当なRQSTATレジスタのEOFビットをセット
すべきことを表す。 0:フレームの終りの場合の割込みなし 1:フレームの終りの場合の割込みあり (f)DUE(デスクリプタ更新イネーブル) このビットは、フレームの終りに到達した時、デスクリ
プタの制御ワード及びバイト・カウント・フィールドを
更新するようシステム・インターフェースをイネーブル
する。 0:EOF時のデスクリプタの更新なし 1:EOF時のデスクリプタの更新あり (g)NAI(アドレス・インクリメントなし) このビットはマイクロチャネル・アドレスのインクリメ
ントを制御する。 0:マイクロチャネル・アドレスのインクリメントあり 1:マイクロチャネル・アドレスのインクリメントなし
【0164】(h)EOF(フレームの終り) システム・インターフェースは、フレームの終りが到達
したことを表すようにデスクリプタのこのフィールドを
更新するであろう。 0:フレームの終りなし 1:フレームの終りあり (i)STATUS(ステータス) システム・インターフェースは、結合によってフレーム
の終りに付加されたフレーム・ステータス・バイトをデ
スクリプタのこのフィールドに送るであろう。そのステ
ータス・バイトは、フレーム異常終了表示と共にE、
A、及びCビットに関する情報を含んでいる。 (j)BYTE COUNT(バイト・カウント) このフィールドは、表示されたアドレスにおけるデータ
にとって利用可能なバイトの数を表す。システム・イン
ターフェースは、転送された実際のバイトを表すため
に、フレームの終りが到達した時にこのフィールドを更
新するであろう。 (k)LOW ADDRESS(下位アドレス) このフィールドは、マイクロチャネル・アドレス又はロ
ーカル・バス・アドレスの下位16ビットを表す。 (l)HIGH ADDRESS(上位アドレス) このフィールドは、マイクロチャネル・アドレスの上位
16ビット又はローカル・バス・アドレスの上位4ビッ
トを表す。 (m)LINK POINTER(リンク・ポインタ) このフィールドは、チェーンにおける次のデスクリプタ
に対するローカル・バス・アドレスの下位16ビットを
表す。ゼロのリンク・ポインタはチェーンの終りを表
す。
【0165】8.6 受信オペレーション 受信エンジン・オペレーションは次のようになる。 (a)受信デスクリプタをフェッチする ローカル・プロセッサ134がRDPのQENビットを
介して受信待ち行列をイネーブルする時、受信エンジン
は、第1デスクリプタを内部記憶装置にフェッチするた
めにローカル・バス・インターフェースにリクエストを
発生するであろう。多数の待ち行列がイネーブルされる
場合、それらリクエストは、RQ0が最高の優先順位を
持ち及びRQ7が最低の優先順位を持つように優先順位
付けされる。
【0166】(b)コントローラが待ち行列作動可能を
信号する コントローラ・インターフェースは、そのコントローラ
の内部ステータス・レジスタを周期的にポーリングし、
受信エンジンにステータスを送る。待ち行列がサービス
のために作動可能であり且つ有効なデスクリプタがその
待ち行列に対してフェッチされていることをそのステー
タスが表す時、受信エンジンは、3つの内部FIFOの
1つにその待ち行列を割り当てるであろう。多数の待ち
行列が同時に割り当てのために作動可能となる場合、F
IFO割当ては、RQが最高の優先順位を持ち及びRQ
7が最低の優先順位を持つという優先順位に基づいて行
われる。3つのFIFOすべてがビジーのサービス待ち
行列である場合、次のFIFOが利用可能になった時に
割当てが行われる。
【0167】(c)サービス・リクエストを発生する FIFOに待ち行列を割り当てた後、受信エンジンは、
そのFIFO及び待ち行列に対するコントローラ・イン
ターフェースにサービス・リクエストを発生するであろ
う。そこで、コントローラ・インターフェースは、指示
された待ち行列からのデータでもってFIFOを満たし
始めるであろう。又、受信エンジンは、デスクリプタが
要求するところに従ってシステム・インターフェースに
又はローカル・バス・インターフェースにバス・マスタ
・リクエストを発生する。システム・インターフェース
又はローカル・バス・インターフェースは、一旦FIF
Oがハーフ・フルになると、そのFIFOのアンローデ
ィングを始めるであろう。
【0168】(d)FIFOがフルになる FIFOがフルになる時、コントローラ・インターフェ
ースは、待ち行列に対してデータをリクエストすること
を停止するであろう。コントローラ・インターフェース
は、少なくとも4バイトがFIFOにおいて利用可能で
ある時、この待ち行列に対するリクエストを行うであろ
う。
【0169】(e)コントローラが待ち行列のエンプテ
ィ状態を信号する 待ち行列がエンプティになったことをコントローラが表
す時、コントローラ・インターフェースは、この待ち行
列からのデータをリクエストすることを停止し、受信エ
ンジンにエンプティ状態を知らせるであろう。そこで、
受信エンジンは、そのエンプティ状態をシステム・イン
ターフェース又はローカル・バス・インターフェースに
表示することにより、記憶されたデータの量に関係な
く、適当なインターフェースがそのFIFOを直ちにア
ンロードできるようにする。一旦FIFOがアンロード
されると、受信エンジンはそれを他の待ち行列に自由に
割り当てることができる。
【0170】(f)フレームの終りに到達する フレームの終り(EOF)に到達したことをコントロー
ラが表す時、コントローラ・インターフェースは、この
待ち行列からのデータをリクエストすることを停止しそ
して受信エンジンにEOF状態を知らせるであろう。そ
こで、受信エンジンは、そのEOF状態をシステム・イ
ンターフェース又はローカル・バス・インターフェース
に表示することにより、記憶されたデータの量に関係な
く、適当なインターフェースがそのFIFOを直ちにア
ンロードできるようにする。一旦FIFOがアンロード
されそしてデスクリプタ更新イネーブル(DUE)ビッ
トがセットされると、受信エンジンは、デスクリプタ書
込みリクエストをローカル・バス・インターフェースに
発生することによって、デスクリプタの制御ワード及び
バイト・カウント・フィールドが更新されるようにす
る。制御ワードは、セットされたEOFビットでもって
更新される。セットされたステータス・フィールドは、
コントローラによってフレームの終りに付加されたフレ
ーム・ステータス・バイトにおいて表示される。実際の
バイトがこのデスクリプタに転送された時、バイト・カ
ウント・フィールドは更新される。デスクリプタが更新
された後、受信エンジンは、フレームの終りの場合の割
込み(IEF)ビットがセットされた場合、適当なRQ
STATにEOFビットをセットするであろう。又、受
信エンジンは、処理後の割込み(IAP)ビットがセッ
トされた場合、RQSTATのRDPビットをセットす
るであろう。デスクリプタのリンクしたポインタ・フィ
ールドがゼロでない場合、受信エンジンはリンク・ポイ
ンタを適当なRDPにロードし、次のデスクリプタをフ
ェッチするであろう。そこで、FIFOは、他の待ち行
列に割り当てるために利用可能となる。
【0171】(g)デスクリプタ・バイト・カウントが
完了する デスクリプタ・バイト・カウントが完了したことをシス
テム又はローカル・バス・インターフェースが表示する
時、受信エンジンは、デスクリプタにおけるIAPビッ
トがセットされた場合に抵当なRQSTATにおけるR
DPビットをセットするであろう。そのデスクリプタの
リンク・ポインタ・フィールドがゼロでない場合、受信
エンジンはリンク・ポインタを適当なRDPにロード
し、次のデスクリプタをフェッチするであろう。一旦新
しいデスクリプタがフェッチされてしまうと、受信エン
ジンは、そのデスクリプタによって指示されたようにシ
ステム又はローカル・バス・インターフェースにバス・
マスタ・リクエストを発生するであろう。
【0172】(h)リンク・ポインタがゼロである ゼロのリンク・ポインタを持ったデスクリプタに対する
データを処理した後、受信エンジンは、適当な待ち行列
のQENDビットをディスエーブルし、対応するRQS
TATにおいてデスクリプタ・チェーンの終り(ED
C)ビットをセットするであろう。フレームの終り又は
待ち行列エンプティ境界が到達しなかった場合、FIF
Oがその待ち行列に割り当てられたままであることは不
可能である。ローカル・プロセッサは、内部SIU資源
を浪費しないような時を得た方法でデスクリプタを設け
ることを保証する。
【0173】(i)ローカル・プロセッサが異常終了コ
マンドを発生する ローカルプロセッサは、適当なRDPのQENビットを
ディスエーブルすることによって待ち行列に対する活動
を異常終了させることができる。受信エンジンは、その
待ち行列に対するすべての活動を停止させ、対応するR
QSTATにおいて待ち行列異常終了ビットをセットす
る。
【0174】(j)エラー状態に遭遇する 待ち行列に対するデータを転送している時にエラー状態
に遭遇した場合、受信待ち行列はその待ち行列に対する
すべての活動を停止させ、適当なRDPにおいてQEN
ビットをディスエーブルする。受信エンジンは、対応す
るRQSTATにおいてエラー状態を表示するであろ
う。
【0175】8.7 送信エンジン 送信エンジン316は、システム又はローカル・バスか
らコントローラにより管理される4つの送信待ち行列2
16(図5参照)の1つへのデータの転送を制御する配
線された標準的ゲート・アレイである。コントローラは
合計8個の送信待ち行列を有するけれども、送信エンジ
ンは最初の4個の待ち行列へのアクセスしか持たない。
データは、128バイトのFIFO(図示されていな
い)を通して内部的にバッファされる。送信エンジン
は、データ転送のためのバス・マスタ・リクエストをシ
ステム・インターフェース・ユニット(SIU)に発生
する。又、それは、デスクリプタ・フェッチにおけるデ
ータ転送のためのバス・マスタ・リクエストをローカル
・バス・インターフェースに発生する。送信エンジン
は、コントローラ・インターフェースによって得られた
コントローラ待ち行列ステータスをモニタし、待ち行列
サービス・リクエストを戻す。ローカル・プロセッサ
は、リンクしたデスクリプタ・リストの4つのチェーン
(各送信待ち行列当たり1つ)を通して送信エンジンと
インターフェースする。SIUは、ローカル・バス・メ
モリ137におけるデスクリプタ・リストを位置指定す
るために4つの送信デスクリプタ・ポインタ(TDP)
を含む。又、そのSIUは、各待ち行列に対してステー
タスを戻される4つの1バイト・ステータス・レジスタ
を含む。
【0176】8.8 送信デスクリプタ コントローラは、4つの送信待ち行列の各々に対して1
つずつの合計4つのデスクリプタ・ポインタを有する。
それらポインタは、ローカル・バス・メモリにおけるリ
ンク・デスクリプタのチェーンを位置指定するものであ
る。デスクリプタをアクセスする時、SIUは、20ビ
ット・アドレスを形成するために、適当なTDP及びロ
ーカル・バス・アドレス・レジスタのベース・フィール
ドを使用するであろう。そのベース・フィールドは4つ
の上位ビットを形成し、一方、TDPは下位16ビット
を形成する。
【0177】TDPの最下位ビットは待ち行列イネーブ
ル・ビット(QEN)である。イネーブルされる時、送
信エンジンは、その待ち行列に対するデスクリプタを有
効なものと見なし、第1のデスクリプタを内部記憶装置
にフェッチするであろう。各デスクリプタを処理した
後、送信エンジンは、ゼロのリンク・ポインタに遭遇す
るまで、リンク・ポインタ・フィールドをTDPにロー
ドし、そのチェーンにおける次のデスクリプタをフェッ
チするであろう。送信エンジンは、リンク・ポインタが
ゼロであるデスクリプタを処理した後、適当なTQST
ATのデスクリプタ・チェーンの終りビットを送信し、
対応するTDPのQENビットをディスエーブルするで
あろう。従って、TDPはそのチェーンにおける最後の
デスクリプタ・プロセスを指す。デスクリプタを処理し
ている間にエラー状態が生じた場合、送信エンジンはそ
のエラーを適当なTQSTATにおいてログし、対応す
るTDPのQENビットをディスエーブルする。ローカ
ル・プロセッサは、適当なTDPのQENビットをディ
スエーブルすることによって待ち行列に対する活動を異
常終了させることができる。送信エンジンがすべての活
動を停止した後、それは、対応するTQSTATの待ち
行列異常終了ビットをセットするであろう。
【0178】送信デスクリプタが図38に示される。そ
のデスクリプタは、ローカル・プロセッサによって初期
設定される10バイトの制御ブロックである。その制御
ブロックは、送信データのためのソースを送信エンジン
に示す。送信エンジンは、バイト・カウント・フィール
ドがゼロになるまでそのソースからデータを転送するで
あろう。そのカウントがゼロになる時、送信エンジンは
次のデスクリプタに移り、継続する。送信デスクリプタ
は、以下のように、制御ワード、バイト・カウント、下
位アドレス、上位アドレス、及びリンク・ポインタを含
む。
【0179】(a)ARB(アービトレーション・レベ
ル選択) このビットは、マイクロチャネルへのアクセスのため
に、どのアービトレーション・レベルが使用されるのか
を決定する。 0:1次アービトレーション・レベル 1:2次アービトレーション・レベル (b)MIO(メモリ/IO選択) このビットは、デスクリプタにおけるアドレスがマイク
ロチャネル・メモリ・アドレスを表すのか又はI/Oア
ドレスを表すのかを決定する。 0:I/Oアドレス 1:メモリ・アドレス (c)H/L(ホスト/ローカル・アドレス) このビットは、デスクリプタにおけるアドレスがマイク
ロ・チャネル・アドレスを表すのか又はローカル・バス
・アドレスを表すのかを決定する。 0:ホスト・アドレス 1:ローカル・アドレス (d)IAP(処理後の割込み) このビットは、システム・インターフェースがデスクリ
プタを処理した後に適当なRQSTATレジスタのRD
Pビットをセットすべきことを表す。 0:処理後の割込みなし 1:処理後の割込みあり
【0180】(e)EOF(フレームの終り) 0:フレームの終りなし 1:フレームの終りあり (f)NAI(アドレス・インクリメントなし) このビットはマイクロチャネル・アドレスのインクリメ
ントを制御する。 0:マイクロチャネル・アドレスのインクリメントあり 1:マイクロチャネル・アドレスのインクリメントなし (g)BYTE COUNT(バイト・カウント) このフィールドは、表示されたアドレスにおけるデータ
にとって利用可能なバイトの数を表す。 (h)LOW ADDRESS(下位アドレス) このフィールドは、マイクロチャネル・アドレス又はロ
ーカル・バス・アドレスの下位16ビットを表す。 (i)HIGH ADDRESS(上位アドレス) このフィールドは、マイクロチャネル・アドレスの上位
16ビット又はローカル・バス・アドレスの上位4ビッ
トを表す。 (j)LINK POINTER(リンク・ポインタ) このフィールドは、チェーンにおける次のデスクリプタ
に対するローカル・バス・アドレスの下位16ビットを
表す。ゼロのリンク・ポインタはチェーンの終りを表
す。
【0181】8.9 送信オペレーション 送信エンジンのオペレーションは次のようになる。 (a)送信デスクリプタをフェッチする ローカル・プロセッサがTDPのQENを介して送信待
ち行列をイネーブルする時、送信エンジンは、第1デス
クリプタを内部記憶装置にフェッチするためにリクエス
トをローカル・バス・インターフェースに発生するであ
ろう。複数個の待ち行列がイネーブルされる場合、TQ
0が最高の優先順位を持ちそしてTQ3が最低の優先順
位を持つようにリクエストが優先順位付けされる。
【0182】(b)コントローラが待ち行列作動可能を
信号する コントローラ・インターフェースは、コントローラの内
部ステータス・レジスタを周期的にポーリングし、ステ
ータスを送信エンジンに送る。待ち行列がデータのため
に作動可能であり、有効なデスクリプタがその待ち行列
のためにフェッチされたことをステータスが表す時、送
信エンジンはその待ち行列を内部FIFO(図示されて
いない)に割り当てるであろう。複数個の待ち行列が同
時に割当てのために作動可能になる場合、TQ0が最高
の優先順位を持ち且つTQ3が最低の優先順位を持つも
のとして、FIFO割当てが周期的に行われる。FIF
Oが他の待ち行列をサービスすることによってビジーで
ある場合、FIFOが利用可能になった時、割り振りが
行われる。
【0183】(c)サービス・リクエストを発生する 待ち行列をFIFOに割り当てた後、送信エンジンは、
デスクリプタによる要求に従ってシステム・インターフ
ェース又はローカル・バス・インターフェースにバス・
マスタ・リクエストを発生するであろう。そこで、シス
テム・インターフェース又はローカル・バス・インター
フェースはFIFOにロードし始めるであろう。送信エ
ンジンは待ち行列に対してサービス・リクエストをコン
トローラ・インターフェースに発生するであろう。そこ
で、一旦4バイトが利用可能になると、コントローラ・
インターフェースは、FIFOをアンロードし始めるで
あろう。
【0184】(d)FIFOがフルになる FIFOがフルになる時、ソース・インターフェース
(システム又はローカル・バス)はデータをそれにロー
ドすることを停止するであろう。FIFOがハーフ・フ
ルに達する時、ソース・インターフェースは再びデータ
をロードし始めるであろう。
【0185】(e)コントローラはオールモスト・フル
を待ち行列に信号する コントローラ・インターフェースはコントローラから送
信エンジンに待ち行列のオールモスト・フル表示を送る
であろう。そこで、送信エンジンはオールモスト・フル
状態をシステム・インターフェース又はローカル・バス
・インターフェースに表示することによって、適当なイ
ンターフェースが直ちにFIFOをロードすることを停
止できるようにする。一旦FIFOがコントローラ・イ
ンターフェースによってアンロードされてしまうと、送
信エンジンは、それを他の待ち行列に自由に割り当てる
ことができる。
【0186】(f)フレーム・デスクリプタの終り デスクリプタ・バイト・カウントが完了したこと及びデ
スクリプタにおけるEOFビットがセットされたことを
システム・インターフェース又はローカル・バス・イン
ターフェースが表す時、送信エンジンは、コントローラ
・インターフェースにフレームの終りを示すことによっ
て、それがデータの最後のバイトにEOFタグ・ビット
をセットすることができるようにする。FIFOがアン
ロードされてしまった後、送信エンジンは、そのデスク
リプタにおけるIAPビットがセットされる場合、適当
なTQSTATにTDPビットをセットするであろう。
デスクリプタのリンク・ポインタ・フィールドがゼロで
ない場合、送信エンジンは適当なTDPにリンク・ポイ
ンタをロードし、次のデスクリプタをフェッチするであ
ろう。そこで、FIFOは、他の待ち行列に割り当てる
ために利用可能となる。
【0187】(g)デスクリプタ・バイト・カウントが
完了する デスクリプタ・バイト・カウントが完了したこと及びそ
のデスクリプタにおけるEOFビットがセットされてい
ないことをシステム・インターフェース又はローカル・
バス・インターフェースが表す時、送信エンジンは、そ
のデスクリプタにおけるIAPビットがセットされた場
合、適当なTQSTATにおけるTDPビットをセット
するであろう。デスクリプタのリンク・ポインタ・フィ
ールドがゼロでない場合、送信エンジンは適当なTDP
にリンク・ポインタをロードし、次のデスクリプタをフ
ェッチするであろう。一旦新しいデスクリプタがフェッ
チされてしまうと、送信エンジンは、デスクリプタによ
る指示に従って、システム・インターフェース又はロー
カル・バス・インターフェースにバス・マスタ・リクエ
ストを発生するであろう。
【0188】(h)リンク・ポインタがゼロである リンク・ポインタがゼロである場合のデスクリプタに対
するデータを処理した後、送信エンジンは、適当な待ち
行列のQENビットをディスエーブルし、対応するTQ
STATにEDCビットをセットするであろう。そこ
で、FIFOは、他の待ち行列に割り当てるために利用
可能になる。
【0189】(i)ローカル・プロセッサが異常終了コ
マンドを発生する ローカル・プロセッサは、適当なTDPのQENビット
をディスエーブルすることによって待ち行列に対する活
動を異常終了することができる。送信エンジンは、その
待ち行列に対するすべての活動を停止させ、対応するT
QSTATに待ち行列異常終了ビットをセットするであ
ろう。
【0190】(j)エラー状態がなくなる 待ち行列に対してデータを転送する時にエラー状態が遭
遇した場合、送信エンジンはその待ち行列に対するすべ
ての活動を停止させ、適当なTDPにおけるQENビッ
トをディスエーブルする。そこで、送信エンジンは、対
応するTQSTATにおいてエラー状態を表示するであ
ろう。
【0191】8.10 スレーブ送信ポート スレーブ送信ポート314は、システムのコントローラ
・メモリ空間によって管理された8個の待ち行列216
(図5参照)をマップする配線された標準的ゲート・ア
レイである。これは、そのシステムにおける装置がバス
・スレーブとしてSIUにより待ち行列に直接に書き込
むことを可能にする。データは128バイトFIFO
(図示されていない)を通して内部的にバッファされ
る。スレーブ送信ポートはシステム・インターフェース
からのデータ転送リクエストに応答し、適当な待ち行列
に対するリクエストをコントローラ・インターフェース
に発生する。ローカル・プロセッサは、スレーブ送信ポ
ート・イネーブル・レジスタ(図示されていない)を介
してシステムに対する待ち行列の各々をマップすること
を選択的に可能にする機能を有する。ローカル・プロセ
ッサは、送信エンジンによりサービスされる待ち行列が
スレーブ送信ポートにマップされないようにする。スレ
ーブ送信ポートは8Kバイトのシステム・メモリ空間
(図示されていない)を占める。それは、8個の送信待
ち行列の各々に直接にマップする8個の1Kバイト・ブ
ロックから成る。
【0192】8.11 スレーブ送信ポート・オペレー
ション スレーブ送信ポート・オペレーションは次のようにな
る。 (a)システムがスレーブ送信ポートをアクセスする SIUは、待ち行列に対するスレーブ送信ポートへの初
期リクエストに応答してそれが作動可能でないことをシ
ステムに示すであろう。そこで、スレーブ送信ポート
は、それが作動可能であることをシステムに知らせる前
に、確実に、前の待ち行列に対するすべてのデータがF
IFOからコントローラに転送されてしまうようにする
であろう。そこで、SIUはシステム・バスからのデー
タをFIFOにロードすることができる。SIUは、そ
の後のアクセスが同じ待ち行列に対するものである限
り、チャネル作動可能をデアサートしないであろう。S
IUは、少なくとも32バイトがFIFOにおいて利用
可能である場合、64ビット・100ナノ秒のストリー
ミング・データ・デバイスとして、スレーブ送信ポート
へのアクセスに応答するであろう。そうでない場合、S
IUは32ビット基本転送デバイスとして応答するであ
ろう。
【0193】(b)FIFOをアンロードする コントローラ・インターフェースは、1バイトが得られ
る限り、FIFOからコントローラにデータを転送する
であろう。データは、システム・アドレスによって示さ
れた待ち行列に送られる。 (c)FIFOがフルになる FIFOがフルになる時、SIUはスレーブ送信ポート
へのアクセスに応答して作動可能なチャネルをデアサー
トする。SIUは、FIFOにおいて4バイトが利用可
能になる限り、作動可能なチャネルをアサートするであ
ろう。 (d)コントローラが待ち行列のオールモスト・フルを
信号する コントローラからの待ち行列のオールモスト・フル表示
は、スレーブ送信ポートに関する転送に対しては無視さ
れる。 (e)コントローラが待ち行列のフルを信号する コントローラからの待ち行列のフル表示は、スレーブ送
信ポートに関する転送に対しては無視される。 (f)システムからのデータ・パリティ・エラー システムからのデータにおいて検出されたパリティ・エ
ラーの結果、データは無視され、チャネル・チェックが
アサートされる。 (g)スレーブ送信ポートへの読取りアクセス SIUのコントローラは、システムからスレーブ送信ポ
ートのアドレス空間へのすべての読取りアクセスに応答
するわけではない。 (h)ディスエーブル待ち行列へのアクセス SIUは、スレーブ送信ポート・イネーブル・レジスタ
(図示されていない)を介したイネーブルされてない待
ち行列への如何なるアクセスにも応答しないであろう。
【0194】8.12 共用メモリ・ウインドウ 共用メモリ・ウインドウ(SMW)310は、システム
のメモリ空間に対してローカル・バス・メモリ137の
領域をマップする配線された標準的ゲート・アレイであ
る。これは、システム上のデバイスがローカル・ビジー
・メモリを読み取り及び書き込むことを可能にする。シ
ステムからSMWへのアクセスは、SIUをローカル・
バスのバス・マスタにならせてデータを転送させるであ
ろう。このデータは、64バイトのFIFO(図示され
ていない)を通して内部的にバッファされる。SMWは
SIUからのアクセスに応答し、ローカル・バス・イン
ターフェースにバス・マスタ・リクエストを発生する。
SMWは、システム・アドレス空間の下位4バイト内の
どこにでも位置指定可能であり、8Kバイト又は16K
バイトのサイズで選択可能である。SMWはそれのサイ
ズに従った境界で位置指定されなければならない。
【0195】8.13 システム書込みアクセス SMWからのシステム書込みアクセスは次のようにな
る。 (a)システムが非順次書込みを表す 非順次書込みは、システム・アドレスが前のオペレーシ
ョンからのアドレスに順次に続かないSMWへのすべて
の書込みアクセス又はSMWからの読取りに続くすべて
の書込みアクセスである。SIUは非順次書込みアドレ
スに応答して、それが作動可能でないことをシステムに
表示するであろう。そこで、SMWは、前の書込みから
のすべてのデータがFIFOからローカル・バスに転送
されてしまうこと、又はそれが作動可能であることをシ
ステムに表示する前に、すべての読取りデータがFIF
Oからフラッシュされてしまうことを確実にする。そこ
でSIUはバスからのデータをFIFOにロードするこ
とができる。コントローラは、その後のアクセスが順次
的なものである限り、作動可能なチャネルを再びデアサ
ートしないであろう。SIUは、少なくとも32バイト
がFIFOにおいて利用可能である場合、64ビット・
100ナノ秒のストリーミング・データ・デバイスとし
てSMWへの書込みアクセスに応答するであろう。
【0196】(b)FIFOをアンロードする ローカル・バス・インターフェースは、1つのバイトが
得られる限り、FIFOからローカルバスにデータを転
送するであろう。データは、共用のメモリ・ウインドウ
・ベース・フィールド及びシステム・アドレスから送ら
れたオフセット・フィールドによって形成されたアドレ
スに送られる。
【0197】(c)FIFOがフルになる FIFOがフルになる時、システム・インターフェース
・ユニットは共用メモリ・ウインドウへの書込みアクセ
スに応答してチャネル作動可能信号をデアサートする。
システム・インターフェース・ユニットは、FIFOに
おいて4バイトが利用可能になると直ちにチャネル作動
可能をアサートするであろう。
【0198】(d)システムからのデータ・パリティ・
エラー システムからのデータにおける検出されたパリティ・エ
ラーの結果、データは無視され、チャネル・チェックは
アサートされる。
【0199】8.14 システム読取りアクセス SMWからのシステム読取りアクセスは次のようにな
る。 (a)システムが非順次読取りを開始する 非順次読取りは、システム・アドレスが前のオペレーシ
ョンからのアドレス順次に続かない共用メモリへの読取
りアクセス、或いはシステム共用メモリ・ウインドウへ
の書込みに続く読取りアクセスである。システム・イン
ターフェース・ユニットは非順次読取りアクセスに応答
して、それが作動可能でないことをシステムに表示する
であろう。そこで、共用メモリ・ウインドウは、ローカ
ル・バス・インターフェースに読取りリクエストを発生
する前に、前の書込みからのすべてのデータがFIFO
からローカル・バスに転送されていること、又はすべて
の読取りデータがFIFOからフラッシュされているこ
とを確実にするであろう。そこで、ローカル・バス・イ
ンターフェースはFIFOをロードし始めるであろう。
データを得るために使用されるアドレスは、共用メモリ
・ウインドウ・ベース・フィールド・アドレス及びシス
テム・アドレスから送られたオフセット・フィールドで
ある。一旦FIFOにおいて4バイトが得られると、シ
ステム・インターフェース・ユニットは、それが作動可
能であることをシステムに表示するであろう。システム
・インターフェース・ユニットは、その後のアクセスが
順次的であり且つ少なくとも4バイトのデータがFIF
Oに存在する限り、作動可能でないチャネルをデアサー
トしないであろう。システム・インターフェース・ユニ
ットは、32ビットの基本的な転送装置として共用メモ
リ・ウインドウへのアクセスに応答するであろう。
【0200】(b)FIFOがフルになる FIFOがフルになる時、ローカル・バス・インターフ
ェースはデータをロードすることを停止するであろう。
ローカル・バス・インターフェースは、FIFOがハー
フ・エンプティになる時、再びそのFIFOを満たし始
めるであろう。
【0201】(c)ローカル・バスからのデータ・パリ
ティ・エラー 共用メモリ・ウインドウへの読取りアクセスに対して、
ローカル・バス・インターフェースは、ローカル・バス
から得られたデータに関するパリティをチェックしない
であろう。むしろ、それはシステムへのデータに関する
パリティを送るであろう。
【0202】9.アダプタ・オペレーション 9.1 受信オペレーション 受信オペレーションは次のようなステップより成る。図
39及び図5を参照すると、オペレーション1000
は、ネットワーク・インターフェース層116への入力
としてLANからの直列パケット・データ及び等時性デ
ータを与える。そのネットワーク・インターフェース層
によって遂行されるオペレーション1002は直列デー
タ・ストリームを80ナノ秒データ・ストリームに変換
し、標準的なLANプロトコル仕様に従ってすべてのバ
イトを等時性データ又はパケット・データとしてタグ付
けする。そのバイト幅のストリームはMAC118に直
接的に、及びI−MAC指示エンジン142に間接的に
与えられる。
【0203】オペレーション1004において、MAC
118はLANプロトコル仕様に従ってプロトコル・デ
ータ・ユニットの始め及び終りを決定し、アドレス比較
が行われ、そしてプログラム可能な基準に基づいて、デ
ータはストリップされ、コピーされ、又は反復される。
コピーされるべきデータはP−MAC指示エンジン13
2に与えられ、そして反復される。反復されたデータ及
び等時性データはI−MAC指示エンジン142に与え
られる。
【0204】オペレーション1006"(後述する)と
同時に生じ得るオペレーション1006'において、P
−MAC指示エンジンは、ステージングのためにそのタ
グされたパケット・データをローカルFIFO218に
記憶し、しかる後、そのパケット・データをシステム・
インターフェースに又はFDDI−RAMバッファ13
0に対するメモリ・インターフェース210に直接に送
信する。
【0205】オペレーション1006' と同時に生じ得
るオペレーション1006" は、I−MAC指示エンジ
ン142においてその等時性データを処理する。そのエ
ンジンはステアリング・マップ222を使用し、関連し
た待ち行列番号を持ったFIFO223におけるデータ
をコピーし、そのバイト・ストリームからのデータと予
めプログラムされた待ち行列番号とを関連付けるための
値をタグ付けする。バイト・ストリームにおける関連の
バイトに対する有効な待ち行列番号がそのステアリング
・マップに存在する場合、そのデータは、ステージング
のためにFIFO223にコピーされる。待ち行列マネ
ージャは、ステージングFIFOの4バイト・ワードを
FRB130において記憶するために、メモリ・インタ
ーフェース・バス210に、又はシステム・インターフ
ェース・ユニット128に転送する。
【0206】オペレーション1008は、待ち行列マネ
ージャの制御の下に、パケット・データを受信待ち行列
0乃至2に、及び等時性データをI−MAC指示エンジ
ンから受信待ち行列3乃至7に転送する。パラメータR
AM218は、各待ち行列に対応したFRBアドレスを
決定するために待ち行列マネージャによって利用され
る。一旦待ち行列がパラメータRAMを介してプログラ
ムされると、それが待ち行列イネーブル/ディスエーブ
ル・レジスタにおける適当なビットをセットすることに
よってイネーブルされた後、それはデータ転送を生じさ
せるであろう。閾値レジスタは、転送アクションが取ら
れる前に待ち行列においてバッファされるデータの量を
定義する。コントローラ/システム・インターフェース
は、待ち行列がSIU及びコントローラの間のデータ転
送をサポートするように作動可能である時を示すために
使用される待ち行列ステータス・レジスタを含む。シス
テム・インターフェースはそのステータス・レジスタを
周期的にポーリングし、そしてセットされたビットを有
する待ち行列からのデータを転送し始める。待ち行列ス
テータス・レジスタ・ビットは、最後のワードがその待
ち行列から送信された後にリセットされる。
【0207】SIU128によって行われるオペレーシ
ョン1010は、コントローラの待ち行列ステータス・
レジスタをアクセスして8個の受信待ち行列のうちのど
れがサービスされるべく作動可能であるかを識別する。
【0208】システム・インターフェース127は、デ
ータがSIUからホスト・バス・システムに転送された
時、新しい受信データに対するリクエストを待ち行列マ
ネージャに発生するであろう。待ち行列マネージャは、
各待ち行列に対するリクエストを一時に1つずつサービ
スするであろう。
【0209】オペレーション1012はシステム・イン
ターフェース・ユニット128によって遂行され、ホス
ト・バス・システム又はローカル・バスに入力するため
のデータを受信FIFOから転送する。受信エンジン2
18は、受信待ち行列の1つからシステム・バス114
又はローカル・バス132へのデータの転送を制御す
る。FDDIプロトコル・フレーム・データが、ホスト
・バス・システムへの他のデータをすべて処理するため
にローカル処理バスに送られる。受信エンジンは、デー
タ転送帯域幅に対するリクエストをシステム・バス・ア
ービトレーション・ユニット(図示されていない)に発
生する。それはローカル・バス・コントローラへのリク
エストも発生する。システム・インターフェースは、ロ
ーカル・バス・メモリ137におけるリンクした受信デ
スクリプタのチェーンを位置指定するポインタを各受信
待ち行列に対して1つずつ含んでいる。受信デスクリプ
タは、ローカル・メモリにおいてローカル・プロセッサ
により初期設定される制御ブロックである。その制御ブ
ロックは、システム・バス・アドレス空間又はローカル
・メモリ・アドレス空間における受信データに対する宛
先を定義する。受信エンジンは、デスクリプタにおいて
定義されたバイト・カウントがゼロになるまで、又はフ
レームの終り(パケット待ち行列)が到達するまで、デ
ータをその宛先に転送するであろう。
【0210】9.2 送信オペレーション 図40及び図5を参照すると、オペレーション1100
は、システム・バス又はローカル・バスから、そのコン
トローラによって管理されるFRBにおける4つの送信
待ち行列の1つへのデータの転送を制御する。そのコン
トローラはFRBにおける合計8個の送信待ち行列を管
理するけれども、送信エンジン316だけが最初の4個
へのアクセスを有する。送信エンジン316はデータ転
送のためのバス・マスタ・リクエストをシステム・バス
・アービトレーション・ユニットに発生する。それは、
要求された場合、データ転送のためのリクエストをロー
カル・バスにも発生する。ローカル・プロセッサが送信
待ち行列をイネーブルする時、SIU送信エンジンは、
第1デスクリプタを内部記憶装置にフェッチするための
リクエストをローカル・バス・インターフェースに発生
するであろう。待ち行列がデータのために作動可能であ
り且つその待ち行列に対する有効なデスクリプタがフェ
ッチされていることをコントローラ待ち行列ステータス
・レジスタが示す時、送信エンジンは、オペレーション
1101において、その待ち行列を内部FIFOに割り
当てるであろう。その待ち行列をFIFOに割り当てた
後、送信エンジンは、デスクリプタによる要求に従っ
て、システム又はローカル・バスにリクエストを発生す
るであろう。
【0211】システム・バス又はローカル・バスは、送
信デスクリプタによって定義されるように、FIFOを
ロードし始めるであろう。そこで、システム・バス・ロ
ジック又はローカル・バス・ロジックはそのFIFOを
ロードし始めるであろう。送信エンジンは、その待ち行
列に対するリクエストもコントローラ・インターフェー
スに発生するであろう。コントローラ・インターフェー
スは、一旦4バイトが利用可能となると、FIFOをア
ンロードし始めるであろう。FRBにおける待ち行列記
憶装置がオールモスト・フルである(2つ以上の送信エ
ンジンFIFOデータ値を保持することができない)
時、送信エンジンは送信待ち行列へのFIFOデータを
エンプティにし、そして他の待ち行列が作動可能である
場合、そのような他の待ち行列にそのFIFOを割り当
てるであろう。コントローラは待ち行列ステータスをモ
ニタし、待ち行列ステータス・レジスタを介してオール
モスト・フル状態をレポートする。
【0212】オペレーション1102" は、システム・
インターフェースがそのインターフェースをバス・スレ
ーブとして待ち行列に直接に関連付けることを可能にす
る。スレーブ送信ポート(図35参照)は、システム・
インターフェースからのデータ転送リクエストに応答
し、適当な待ち行列に対するサービス・リクエストをシ
ステム・インターフェースに発生する。ローカル・プロ
セッサは、スレーブ送信ポート・イネーブル・レジスタ
を介してシステムにそれら待ち行列の各々をマッピング
することを選択的に可能にする機能を持っている。ロー
カル・プロセッサは、送信エンジンによってサービスさ
れる待ち行列がスレーブ送信ポートにマッピングされな
いようにする。
【0213】システム・インターフェースは、スレーブ
送信ポートにマップされた待ち行列に対する初期システ
ム・バス・リクエストに応答して、そのデバイスが転送
に対して作動可能でないことをシステム・バスに表示す
る。スレーブ送信ポートは待ち行列に応答して、それが
作動可能でないことをマイクロチャネルに表示する。そ
こで、スレーブ送信ポートは、それが作動可能であるこ
とをシステムに表示する前に、前の待ち行列に対するす
べてのデータがスレーブ送信ポートFIFOからコント
ローラに転送されてしまうようにするであろう。そこ
で、スレーブ送信ポートFIFOはバスからのデータを
ロード可能になる。システム・インターフェースは、F
IFOにおいて1バイトが得られる限り、そのFIFO
からコントローラにデータを転送するであろう。データ
は、システム・アドレスによって示された特殊な待ち行
列にマップされる。スレーブ送信ポートFIFOがオペ
レーション中にフルになる場合、追加の転送に対する空
きが存在する限りシステム・バスは作動可能でなく保持
される。
【0214】オペレーション1104において、コント
ローラ・インターフェース127は、送信データ・ワー
ドが得られることを待ち行列マネージャに表示する。待
ち行列マネージャは、コントローラ送信レジスタから送
信ワードを読み取り、肯定応答をアサートしてレジスタ
をクリアし、他の送信オペレーションが処理可能である
ことをSIUに知らせるであろう。システム・インター
フェースは、P−MAC又はI−MAC送信FIFOが
エンプティの場合には、FRBにワードをロードするこ
となくそのFIFOに直接にパケット・フレームを送信
する。そのインターフェースからの後続ワードは適当な
インターフェースにおけるFRBに書き込まれる。待ち
行列マネージャは、データがFRBに書き込まれつつあ
る各待ち行列に対して書込みポインタ及び閾値を維持
し、パケット待ち行列において生ずべきフレームの終り
を捜す。2つのパケット・フレーム・カウンタは待ち行
列マネージャに維持され、同期フレームに対するフレー
ムの終りの受信は、非同期フレーム・カウンタに対する
場合と同様に、同期フレーム・カウンタをインクリメン
トする。P−MAC送信は、同期フレームの最後のワー
ドが送信されてしまった時を待ち行列マネージャに知ら
せる。この結果、待ち行列マネージャは、非同期フレー
ムに対する場合と同様に、同期フレームに対するフレー
ム・カウンタをデクリメントする。
【0215】オペレーション1106' において、P−
MAC送信装置は、FRBにおいて少なくとも1つの完
全なフレームがバッファされている限り、MACに対す
るサービス機会をリクエストする。同期フレームは、非
同期フレームよりも高い優先順位を有する。非同期フレ
ームが送信されている間に同期フレームが使用可能とな
る場合、現在の非同期フレームが終了すると、P−MA
C送信装置は、非同期フレームにサービスを切り換える
ようMACにリクエストする。P−MAC送信装置は、
たとえ追加の非同期フレームがバッファされても、同期
フレームのサービスに切り替わる。使用可能な同期フレ
ームは、同期帯域幅カウンタがゼロにならない限りその
MACに送られる。最後の同期フレームが送信される
間、P−MAC送信装置は、非同期トラフィックに対す
るリクエストをアサートする。MACトークン保持タイ
マがゼロにならない場合、非同期フレームは送信される
であろう。
【0216】オペレーション1106" において、コン
トローラ・インターフェースは、ステアリング・マップ
・エントリ及び待ち行列閾値に基づいて何れかの等時性
送信待ち行列から等時性バイトを書き込む。ステアリン
グ・マップ・エントリは、それらバイトを送信すべき多
数の待ち行列を与える。そのバイトに対するステアリン
グ・マップ・テーブル・エントリがアクティブであり、
待ち行列がイネーブルされ、且つ閾値が到達している場
合、データ・バイトが送信されるだけである。ステアリ
ング・マップ送信エントリが非アクティブであるか或い
は待ち行列がディスエーブルされる場合、I−MACリ
クエスト・エンジンは指示インターフェース上に存在す
るバイトを反復する。I−MACリクエスト・インター
フェースは、待ち行列がエンプティである時、或いは送
信状態が真である場合にその閾値に交わっていない時、
プログラム可能なフロー制御を送信する。待ち行列がア
ンダーランされるかディスエーブルされた後、待ち行列
閾値到達の直後の次のFDDI−2サイクル時に、バイ
ト送信が再開される。即時閾値が使用される場合、I−
MACインターフェース・リクエスト・エンジンは、次
のFDDI−2サイクルにおける送信前にそのFIFO
内での少なくとも2つのワードのバッファリングを待
つ。
【0217】オペレーション1108では、物理的イン
ターフェース層はMACからパケット・データ及び等時
性データを順次に受容する。層ブロックはそのデータを
エンコードし、そしてFDDIシステムへの送信のため
にそのデータをバイト形式から直列形式にエンコードす
る。これは送信オペレーションを終了させ、アダプタは
送信開始オペレーションに戻る。
【0218】DMAオペレーション(項8.13)及び
SMWオペレーション(項8.12)と関連して、受信
及び送信オペレーションと関連した制御オペレーション
を開示した。同様に、項8.13及び8.14において、
それぞれ、システム読取り及び書込みアクセスを開示し
た。
【0219】FDDI−1/2システムに関して本発明
のオペレーションを開示したけれども、本発明が、トー
クン・リング、イーサネット、ISOイーサネット、及
びATMのような他のシステムに対しても利用可能であ
る。
【0220】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0221】(1)ネットワーク及びシステム・バスの
間でリアル・タイム/マルチメディア及びパケット・デ
ータを転送するための通信装置にして、前記ネットワー
ク及びシステム・バスの間で前記マルチメディア及びパ
ケット・データを受信及び送信するためのコントローラ
手段と、前記コントローラ手段の制御の下で、前記シス
テム・バス又はネットワークに転送するためのマルチメ
ディア及びパケット・データを待ち行列に記憶するため
の記憶手段と、前記コントローラ及びシステム・バスの
間にあり、前記マルチメディア及びパケット・データを
前記システム・バス又はネットワークに、或いは前記シ
ステム・バス又はネットワークから同時に転送するため
のインターフェース手段と、前記インターフェース手段
によって前記システム・バスに又は前記システム・バス
から転送されたマルチメディア又はパケット・データの
アドレスを供給し及び制御するための制御手段と、を含
む通信装置。 (2)前記コントローラ手段は、前記システム・バス及
びネットワークの間で両方向にパケット・データ及び等
時性データをそれぞれ転送するためのP−MACエンジ
ン及びI−MACエンジンを含むことを特徴とする上記
(1)に記載の通信装置。 (3)前記インターフェース手段は、前記システム・バ
ス及びネットワークの間で前記記憶手段をバイパスして
どちらかの方向にデータを転送するように適応すること
を特徴とする上記(1)に記載の通信装置。 (4)前記記憶手段、インターフェース手段、及び制御
手段の間のデータ転送を管理するための待ち行列マネー
ジャを含むことを特徴とする上記(1)に記載の通信装
置。 (5)レジスタ手段、パラメータRAM、及びステアリ
ング・マップ手段を含み、前記レジスタ手段は前記制御
手段を管理し及び動作させるために使用されるパラメー
タを含むこと、前記パラメータRAMは前記待ち行列及
び記憶手段における閾値を維持するために使用されるパ
ラメータを含むこと、及び前記ステアリング・マップ手
段は前記制御手段における待ち行列への又は待ち行列か
らの等時性データの送信を管理するための手段を前記コ
ントローラ手段に与えることを特徴とする上記(4)に
記載の通信装置。 (6)前記インターフェース手段は、ダイレクト・メモ
リ・アクセス(DMA)エンジン、共用メモリ・バッフ
ァ、送信エンジン、受信エンジン、及びスレーブ送信ポ
ートを含み、前記DMAエンジンは前記システム・バス
及び制御手段の間のデータの転送を制御すること、前記
共用メモリ・バッファは前記システム・バスにおけるメ
モリ空間を前記制御手段におけるメモリ空間にマップす
ること、前記送信エンジンは前記システム・バス又は制
御手段から前記記憶手段における選択された待ち行列へ
のデータの転送を制御すること、前記受信エンジンは前
記記憶手段における選択された待ち行列から前記システ
ム・バス又は制御手段へのデータの転送を制御するこ
と、及び前記スレーブ送信ポートは前記コントローラ手
段を使用することなく前記システム・バスから前記記憶
手段の選択された待ち行列に直接にデータを書き込むた
めに前記システム・バスに接続されたメモリ空間に前記
選択された待ち行列をマップすること、を特徴とする上
記(1)に記載の通信装置。 (7)前記記憶手段は、前記ネットワークから前記シス
テム・バスに又は前記システム・バスから前記ネットワ
ークに転送されたデータを記憶するための送信待ち行列
及び受信待ち行列を含むことを特徴とする上記(1)に
記載のシステム。 (8)前記制御手段は、プロセッサに接続されたローカ
ル・バス、ローカル・バス制御手段、及びローカル記憶
装置を含み、前記ローカル・バスは、前記コントローラ
手段、記憶手段、及びインターフェース手段をインター
フェースすること、前記プロセッサは、前記システム・
バスからデスクリプタを獲得してそれを制御すること、
前記デスクリプタは、前記システム・メモリに転送され
たデータを記憶するためのシステム・メモリにおけるア
ドレス又は前記システム・メモリから前記ネットワーク
にデータを転送するための前記システム・メモリにおけ
るアドレスを表すこと、前記ローカル・バス制御手段
は、前記システム・バス及びネットワークの間でデータ
を転送するための前記コントローラ手段に含まれたレジ
スタを構成すること、及び前記ローカル記憶装置は、前
記プロセッサのためのプログラム及びデータを記憶する
こと、を特徴とする上記(1)に記載の通信装置。 (9)前記パラメータRAMは、前記コントローラ手段
によるアクションが取られる前に待ち行列にバッファさ
れるデータの量を定義する閾値レジスタを含むことを特
徴とする上記(5)に記載の通信装置。 (10)待ち行列において閾値が到達する時、送信待ち
行列及び受信待ち行列に対して異なるアクションが前記
コントローラ手段によって取られることを特徴とする上
記(9)に記載の通信装置。 (11)前記データはパケット・データ又は等時性デー
タであることを特徴とする上記(10)に記載の通信装
置。 (12)0<=閾値<=待ち行列サイズ となるように
待ち行列に対する閾値が選択されることを特徴とする上
記(11)に記載の通信装置。 (13)システム・メモリに接続されたシステム・バス
を含むデータ処理システムにおいてネットワーク及び前
記システム・バスの間でリアル・タイム/マルチメディ
ア及びパケット・データを転送するための通信装置にし
て、前記ネットワーク及びシステム・バスの間でリアル
・タイム・パケット・データ及び等時性データを同時に
受信及び送信するコントローラと、システム・バス及び
ネットワークの間で何れかの方向に送信されたパケット
・データ及び等時性データを同時にバッファするため
に、予め選択された数の受信待ち行列及び送信待ち行列
に構成可能な記憶手段と、前記システム・バスへのパケ
ット・データ及び等時性データの転送を開始させるため
のインターフェース手段と、前記システム・メモリにお
いてパケット・データ及び等時性データを書き込み又は
読み取るためのアドレスのデスクリプタ・リストを与え
るために前記コントローラ及びインターフェース手段を
インターフェースする制御手段と、を含む通信装置。 (14)前記インターフェース手段及びコントローラに
接続されたローカル・バス・インターフェース手段を含
み、前記ローカル・バス・インターフェース手段は、メ
モリ・マップされたレジスタを通した前記記憶手段への
読取り/書込みアクセス、ローカル・プロセッサが前記
コントローラのオペレーションを構成し且つ制御するこ
と可能にする前記コントローラの内部レジスタへのアク
セス、及び前記ローカル・プロセッサへの割込みの発生
又はエラー状態の発生を行うことを特徴とする上記(1
3)に記載の通信装置。 (15)前記コントローラは、等時性データを等時性の
送信待ち行列又は受信待ち行列にマップするためのステ
アリング・マップ・テーブルを含むことを特徴とする上
記(14)に記載の通信装置。 (16)前記インターフェース手段は、バス・スレーブ
として作用する時、前記システムがデータを前記待ち行
列に直接に書き込むことを可能にするスレーブ送信ポー
トを含むことを特徴とする上記(15)に記載の通信装
置。 (17)前記インターフェース手段は、デスクリプタ・
リストをローカル・バス・メモリに転送するために前記
システム・メモリを前記ローカル・バス・メモリにマッ
プする共用メモリを含むことを特徴とする上記(15)
に記載の通信装置。 (18)ネットワーク及びシステム・バスの間でリアル
・タイム/マルチメディア及びパケット・データを同時
に転送する方法にして、P−MAC指示エンジンにおけ
るパケット・データ及びI−MAC指示エンジンにおけ
る等時性データを記憶するステップと、前記記憶された
データを記憶手段における受信待ち行列に転送するステ
ップにして、前記等時性データ及びパケット・データは
パラメータRAMによって構成された異なる待ち行列セ
ットに記憶されることと、プログラム可能な閾値レジス
タを使用して前記待ち行列から前記システム・バスにデ
ータを送信するための閾値を定義するステップにして、
前記閾値は前記システム・バスへの転送の前に待ち行列
にバッファされたデータの量を定義することと、前記シ
ステム・バスへのデータの転送のために利用可能な待ち
行列を識別するために待ち行列ステータス・レジスタを
アクセスするステップと、受信エンジンを使用して前記
待ち行列から前記システム・バス又はローカル・バスに
データを転送するステップにして、前記ローカル・バス
は前記データの記憶のためにシステム・メモリにおける
ロケーションのデスクリプタ識別を行うことと、を含む
方法。 (19)システム・バス及びネットワークの間でリアル
・タイム/マルチメディア・パケット・データを同時に
転送するための方法にして、送信エンジンを使用して前
記システム・バスからFDDI−RAMバッファにおけ
る記憶待ち行列にデータを転送するステップにして、前
記送信エンジンは転送されるべきデータのアドレスを表
すデスクリプタをフェッチするためにローカル・バス・
インターフェースにリクエストを発生することと、パケ
ット・フレームとして前記待ち行列に記憶されたデータ
をP−MAC送信エンジンに転送するステップにして、
前記P−MAC送信エンジンはフレームが送信されてし
まったことを最後のバイトでもって待ち行列マネージャ
に知らせることと、等時性データとして前記待ち行列に
記憶されたデータをI−MACエンジンに転送するステ
ップにして、前記データは該データに対するステアリン
グ・マップ・テーブル・エントリがアクティブであり且
つ前記待ち行列がイネーブルされる場合に転送されるだ
けであることと、トークンが捕捉された時、前記ネット
ワークに前記等時性データを送信するステップと、トー
クン保持タイマが完了しない限り、バッファされたパケ
ット・データを前記ネットワークに送信するステップ
と、を含む方法。 (20)コントローラ、記憶待ち行列、ローカル・プロ
セッサ、及びローカル・プロセッサ・バスを含むアダプ
タからホスト・バス・システムへのデータの転送を、受
信エンジンを使用して制御する方法にして、前記待ち行
列にデータを記憶するステップと、データ転送に対する
前記受信エンジンによるリクエストを前記システムに発
生するステップと、データ転送及びデータを記憶するた
めの前記システムにおけるアドレスのデスクリプタ・リ
ストに対するリクエストをローカル・バス・インターフ
ェースに発生するステップと、前記受信エンジンによっ
て一時的記憶バッファを、満たされた待ち行列に割り当
てるステップと、前記受信エンジンからの信号に従っ
て、前記コントローラによって前記一時的記憶バッファ
を前記待ち行列からのデータでもって満たすステップ
と、前記デスクリプタ・リストにおいて指定された前記
一時的記憶バッファにおけるアドレスをエンプティにす
るよう前記受信エンジンによって前記システムに信号す
るステップと、を含む方法。 (21)コントローラ、記憶待ち行列、ローカル・プロ
セッサ、及びローカル・プロセッサ・バスを含むアダプ
タからホスト・バス・システムへのデータの転送を、送
信エンジンを使用して制御する方法にして、前記システ
ムからのデータの転送のためにデスクリプタ・リストを
フェッチするためのリクエストを前記送信エンジンによ
ってローカル・バス・インターフェースに発生するステ
ップと、前記送信エンジンによって待ち行列を一時的記
憶バッファに割り当てるステップと、前記一時的記憶バ
ッファを満たし始めさせるために、前記送信エンジンに
よって前記システム又はローカル・バスにリクエストを
発生するステップと、前記一時的記憶バッファをアンロ
ードし且つ前記記憶待ち行列を満たし始めさせるため
に、前記送信エンジンによって前記コントローラにリク
エストを発生するステップと、前記待ち行列が殆どフル
である時、前記コントローラによって送信エンジンに信
号するステップと、前記一時的記憶バッファを満たすこ
とを停止させるために前記送信エンジンによって前記シ
ステム又はローカル・バスに信号するステップと、を含
む方法。 (22)待ち行列に直接に書き込むためのリクエスト
を、前記システムに結合されたデータ装置によってスレ
ーブ送信ポートに発生するステップと、システム・デー
タを記憶するように記憶待ち行列を割り当てるためのリ
クエストを前記スレーブ送信ポートによって前記コント
ローラに発生するステップと、前記システムによって前
記スレーブ送信ポートにおける記憶バッファをロードす
るステップと、システム・アドレスによって表された待
ち行列に対する記憶バッファを前記コントローラによっ
てエンプティにするステップと、を含むことを特徴とす
る上記(21)に記載の方法。 (23)システムと、ローカル・プロセッサ、ローカル
・プロセッサ・メモリ及びローカル・バスを含むアダプ
タとの間のデータの転送をDMAエンジンを使用して制
御する方法にして、前記ローカル・プロセッサによって
前記DMAエンジンをイネーブルするステップと、前記
システムとローカル・バスとの間のデータの転送のため
にソースとデスティネーションとを表す前記ローカル・
メモリからバイト・カウント・フィールドを含む第1デ
スクリプタをフェッチするためのリクエストを前記DM
Aエンジンによって前記ローカル・バス・インターフェ
ースに発生するステップと、前記ソースがFIFOバッ
ファをロードし且つ前記デスティネーションが前記FI
FOバッファをアンロードするためのリクエストを、前
記第1デスクリプタを使用して、前記DMAエンジンに
より前記システム及びローカル・バス・インターフェー
スに発生するステップと、前記デスクリプタ・バイト・
カウントがゼロになる時、前記デスティネーションが前
記DMAによって前記FIFOバッファをエンプティに
するというリクエストを発生するステップと、前記第1
デスクリプタにリンクされた次のデスクリプタを前記D
MAエンジンによってフェッチするステップと、前記ソ
ースが前記FIFOバッファをロードし且つ前記デステ
ィネーションが次のデスクリプタを使用して前記FIF
Oバッファをアンロードするためのリクエストを前記D
MAエンジンにより前記システム及びローカル・バス・
インターフェースに発生するステップと、を含む方法。
【0222】
【発明の効果】本発明によれば、待ち行列ストラクチャ
を使用してネットワークとホスト・バス・システムとの
間の多数の低帯域幅チャネルの効果的な同時処理を可能
にするマルチメディアのための通信装置及び方法が得ら
れる。
【図面の簡単な説明】
【図1】本発明のアーキテクチャを組み込んだマルチメ
ディア通信アダプタのブロック図である。
【図2】図1に示された物理的なインターフェース層の
ブロック図である。
【図3】図1に含まれた媒体アクセス制御(MAC)の
ブロック図である。
【図4】図1に含まれたコントローラのブロック図であ
る。
【図5】図1に示されたアダプタのデータ・フロー、ポ
インタ、及びデスクリプタを示すブロック図である。
【図6】図5に示された受信待ち行列を記述した表であ
る。
【図7】図6に示された送信待ち行列を記述した表であ
る。
【図8】図4のコントローラに含まれたモード・レジス
タを表す図である。
【図9】図4のコントローラに含まれた待ち行列ステー
タス・レジスタを表す図である。
【図10】図4のコントローラに含まれた待ち行列イネ
ーブル/ディスエーブル・レジスタを表す図である。
【図11】図4のコントローラに含まれたP−MACコ
ピー基準レジスタを表す図である。
【図12】図4のコントローラに含まれたI−MACフ
ロー/ダミー・バイト・レジスタを表す図である。
【図13】図4のコントローラに含まれたFRB/FI
FOパリティ/タグ・レジスタを表す図である。
【図14】図4のコントローラに含まれた同期帯域幅割
当てレジスタを表す図である。
【図15】図4のコントローラに含まれたマスタ割込み
レジスタを表す図である。
【図16】I−MACステアリング・マップ・レジスタ
を表す図である。
【図17】図16のI−MACステアリング・マップ・
レジスタにおけるエントリを表す図である。
【図18】図4に含まれたP−MAC受信装置のブロッ
ク図である。
【図19】図4に含まれたP−MAC送信装置のブロッ
ク図である。
【図20】図4に含まれたI−MAC指示及びリクエス
トエンジンのブロック図である。
【図21】図1に含まれたFDDI−RAMバッファ
(FRB)インターフェースのブロック図である。
【図22】図21のバッファにおけるデータ・ビット編
成を表す図である。
【図23】図21のFRBアクセス・レジスタを表す図
である。
【図24】図21のFDDI−RAMメモリ・インター
フェースのブロック図である。
【図25】図21のFRBのための読取り及び書込みオ
ペレーションのタイミング図である。
【図26】図21のFRBのための読取り及び書込みオ
ペレーションのタイミング図である。
【図27】図21のFRBのための読取り及び書込みオ
ペレーションのタイミング図である。
【図28】図21のFRBのための読取り及び書込みオ
ペレーションのタイミング図である。
【図29】図4に含まれたローカル・バス・インターフ
ェース信号のブロック図である。
【図30】図29のローカル・バス・インターフェース
のための読取り及び書込みタイミング図である。
【図31】図4に含まれたシステム/コントローラ・イ
ンターフェース信号のブロック図である。
【図32】図31のインターフェースに対するタイミン
グ図である。
【図33】システム待ち行列ステータス・レジスタを表
す図である。
【図34】図31のインターフェースのブロック図であ
る。
【図35】図4に含まれたシステム・コントローラ・イ
ンターフェース・ユニットのブロック図である。
【図36】図35におけるDMAエンジンによって使用
されるデスクリプタを表す図である。
【図37】図35の受信エンジンにおいて使用されるデ
スクリプタを表す図である。
【図38】図35の送信エンジンにおいて使用されるデ
スクリプタを表す図である。
【図39】本発明によって遂行される受信オペレーショ
ンの流れ図である。
【図40】本発明によって遂行される送信オペレーショ
ンの流れ図である。
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 H04L 12/40 12/42 H04L 11/00 330 (72)発明者 ジョン・エフ・ハウリス アメリカ合衆国バージニア州、マナサス、 トリニティ・レーン 10103 (72)発明者 ダニエル・エル・スタンレイ アメリカ合衆国バージニア州、マナサス、 ブルックビュー・コート 827

Claims (23)

    【特許請求の範囲】
  1. 【請求項1】ネットワーク及びシステム・バスの間でリ
    アル・タイム/マルチメディア及びパケット・データを
    転送するための通信装置にして、 前記ネットワーク及びシステム・バスの間で前記マルチ
    メディア及びパケット・データを受信及び送信するため
    のコントローラ手段と、 前記コントローラ手段の制御の下で、前記システム・バ
    ス又はネットワークに転送するためのマルチメディア及
    びパケット・データを待ち行列に記憶するための記憶手
    段と、 前記コントローラ及びシステム・バスの間にあり、前記
    マルチメディア及びパケット・データを前記システム・
    バス又はネットワークに、或いは前記システム・バス又
    はネットワークから同時に転送するためのインターフェ
    ース手段と、 前記インターフェース手段によって前記システム・バス
    に又は前記システム・バスから転送されたマルチメディ
    ア又はパケット・データのアドレスを供給し及び制御す
    るための制御手段と、 を含む通信装置。
  2. 【請求項2】前記コントローラ手段は、前記システム・
    バス及びネットワークの間で両方向にパケット・データ
    及び等時性データをそれぞれ転送するためのP−MAC
    エンジン及びI−MACエンジンを含むことを特徴とす
    る請求項1に記載の通信装置。
  3. 【請求項3】前記インターフェース手段は、前記システ
    ム・バス及びネットワークの間で前記記憶手段をバイパ
    スしてどちらかの方向にデータを転送するように適応す
    ることを特徴とする請求項1に記載の通信装置。
  4. 【請求項4】前記記憶手段、インターフェース手段、及
    び制御手段の間のデータ転送を管理するための待ち行列
    マネージャを含むことを特徴とする請求項1に記載の通
    信装置。
  5. 【請求項5】レジスタ手段、パラメータRAM、及びス
    テアリング・マップ手段を含み、 前記レジスタ手段は前記制御手段を管理し及び動作させ
    るために使用されるパラメータを含むこと、 前記パラメータRAMは前記待ち行列及び記憶手段にお
    ける閾値を維持するために使用されるパラメータを含む
    こと、及び前記ステアリング・マップ手段は前記制御手
    段における待ち行列への又は待ち行列からの等時性デー
    タの送信を管理するための手段を前記コントローラ手段
    に与えることを特徴とする請求項4に記載の通信装置。
  6. 【請求項6】前記インターフェース手段は、ダイレクト
    ・メモリ・アクセス(DMA)エンジン、共用メモリ・
    バッファ、送信エンジン、受信エンジン、及びスレーブ
    送信ポートを含み、 前記DMAエンジンは前記システム・バス及び制御手段
    の間のデータの転送を制御すること、 前記共用メモリ・バッファは前記システム・バスにおけ
    るメモリ空間を前記制御手段におけるメモリ空間にマッ
    プすること、 前記送信エンジンは前記システム・バス又は制御手段か
    ら前記記憶手段における選択された待ち行列へのデータ
    の転送を制御すること、 前記受信エンジンは前記記憶手段における選択された待
    ち行列から前記システム・バス又は制御手段へのデータ
    の転送を制御すること、及び前記スレーブ送信ポートは
    前記コントローラ手段を使用することなく前記システム
    ・バスから前記記憶手段の選択された待ち行列に直接に
    データを書き込むために前記システム・バスに接続され
    たメモリ空間に前記選択された待ち行列をマップするこ
    と、 を特徴とする請求項1に記載の通信装置。
  7. 【請求項7】前記記憶手段は、前記ネットワークから前
    記システム・バスに又は前記システム・バスから前記ネ
    ットワークに転送されたデータを記憶するための送信待
    ち行列及び受信待ち行列を含むことを特徴とする請求項
    1に記載のシステム。
  8. 【請求項8】前記制御手段は、プロセッサに接続された
    ローカル・バス、ローカル・バス制御手段、及びローカ
    ル記憶装置を含み、 前記ローカル・バスは、前記コントローラ手段、記憶手
    段、及びインターフェース手段をインターフェースする
    こと、 前記プロセッサは、前記システム・バスからデスクリプ
    タを獲得してそれを制御すること、 前記デスクリプタは、前記システム・メモリに転送され
    たデータを記憶するためのシステム・メモリにおけるア
    ドレス又は前記システム・メモリから前記ネットワーク
    にデータを転送するための前記システム・メモリにおけ
    るアドレスを表すこと、 前記ローカル・バス制御手段は、前記システム・バス及
    びネットワークの間でデータを転送するための前記コン
    トローラ手段に含まれたレジスタを構成すること、及び
    前記ローカル記憶装置は、前記プロセッサのためのプロ
    グラム及びデータを記憶すること、 を特徴とする請求項1に記載の通信装置。
  9. 【請求項9】前記パラメータRAMは、前記コントロー
    ラ手段によるアクションが取られる前に待ち行列にバッ
    ファされるデータの量を定義する閾値レジスタを含むこ
    とを特徴とする請求項5に記載の通信装置。
  10. 【請求項10】待ち行列において閾値が到達する時、送
    信待ち行列及び受信待ち行列に対して異なるアクション
    が前記コントローラ手段によって取られることを特徴と
    する請求項9に記載の通信装置。
  11. 【請求項11】前記データはパケット・データ又は等時
    性データであることを特徴とする請求項10に記載の通
    信装置。
  12. 【請求項12】0<=閾値<=待ち行列サイズ となる
    ように待ち行列に対する閾値が選択されることを特徴と
    する請求項11に記載の通信装置。
  13. 【請求項13】システム・メモリに接続されたシステム
    ・バスを含むデータ処理システムにおいてネットワーク
    及び前記システム・バスの間でリアル・タイム/マルチ
    メディア及びパケット・データを転送するための通信装
    置にして、 前記ネットワーク及びシステム・バスの間でリアル・タ
    イム・パケット・データ及び等時性データを同時に受信
    及び送信するコントローラと、 システム・バス及びネットワークの間で何れかの方向に
    送信されたパケット・データ及び等時性データを同時に
    バッファするために、予め選択された数の受信待ち行列
    及び送信待ち行列に構成可能な記憶手段と、 前記システム・バスへのパケット・データ及び等時性デ
    ータの転送を開始させるためのインターフェース手段
    と、 前記システム・メモリにおいてパケット・データ及び等
    時性データを書き込み又は読み取るためのアドレスのデ
    スクリプタ・リストを与えるために前記コントローラ及
    びインターフェース手段をインターフェースする制御手
    段と、 を含む通信装置。
  14. 【請求項14】前記インターフェース手段及びコントロ
    ーラに接続されたローカル・バス・インターフェース手
    段を含み、 前記ローカル・バス・インターフェース手段は、メモリ
    ・マップされたレジスタを通した前記記憶手段への読取
    り/書込みアクセス、ローカル・プロセッサが前記コン
    トローラのオペレーションを構成し且つ制御すること可
    能にする前記コントローラの内部レジスタへのアクセ
    ス、及び前記ローカル・プロセッサへの割込みの発生又
    はエラー状態の発生を行うことを特徴とする請求項13
    に記載の通信装置。
  15. 【請求項15】前記コントローラは、等時性データを等
    時性の送信待ち行列又は受信待ち行列にマップするため
    のステアリング・マップ・テーブルを含むことを特徴と
    する請求項14に記載の通信装置。
  16. 【請求項16】前記インターフェース手段は、バス・ス
    レーブとして作用する時、前記システムがデータを前記
    待ち行列に直接に書き込むことを可能にするスレーブ送
    信ポートを含むことを特徴とする請求項15に記載の通
    信装置。
  17. 【請求項17】前記インターフェース手段は、デスクリ
    プタ・リストをローカル・バス・メモリに転送するため
    に前記システム・メモリを前記ローカル・バス・メモリ
    にマップする共用メモリを含むことを特徴とする請求項
    15に記載の通信装置。
  18. 【請求項18】ネットワーク及びシステム・バスの間で
    リアル・タイム/マルチメディア及びパケット・データ
    を同時に転送する方法にして、 P−MAC指示エンジンにおけるパケット・データ及び
    I−MAC指示エンジンにおける等時性データを記憶す
    るステップと、 前記記憶されたデータを記憶手段における受信待ち行列
    に転送するステップにして、前記等時性データ及びパケ
    ット・データはパラメータRAMによって構成された異
    なる待ち行列セットに記憶されることと、 プログラム可能な閾値レジスタを使用して前記待ち行列
    から前記システム・バスにデータを送信するための閾値
    を定義するステップにして、前記閾値は前記システム・
    バスへの転送の前に待ち行列にバッファされたデータの
    量を定義することと、 前記システム・バスへのデータの転送のために利用可能
    な待ち行列を識別するために待ち行列ステータス・レジ
    スタをアクセスするステップと、 受信エンジンを使用して前記待ち行列から前記システム
    ・バス又はローカル・バスにデータを転送するステップ
    にして、前記ローカル・バスは前記データの記憶のため
    にシステム・メモリにおけるロケーションのデスクリプ
    タ識別を行うことと、 を含む方法。
  19. 【請求項19】システム・バス及びネットワークの間で
    リアル・タイム/マルチメディア・パケット・データを
    同時に転送するための方法にして、 送信エンジンを使用して前記システム・バスからFDD
    I−RAMバッファにおける記憶待ち行列にデータを転
    送するステップにして、前記送信エンジンは転送される
    べきデータのアドレスを表すデスクリプタをフェッチす
    るためにローカル・バス・インターフェースにリクエス
    トを発生することと、 パケット・フレームとして前記待ち行列に記憶されたデ
    ータをP−MAC送信エンジンに転送するステップにし
    て、前記P−MAC送信エンジンはフレームが送信され
    てしまったことを最後のバイトでもって待ち行列マネー
    ジャに知らせることと、 等時性データとして前記待ち行列に記憶されたデータを
    I−MACエンジンに転送するステップにして、前記デ
    ータは該データに対するステアリング・マップ・テーブ
    ル・エントリがアクティブであり且つ前記待ち行列がイ
    ネーブルされる場合に転送されるだけであることと、 トークンが捕捉された時、前記ネットワークに前記等時
    性データを送信するステップと、 トークン保持タイマが完了しない限り、バッファされた
    パケット・データを前記ネットワークに送信するステッ
    プと、 を含む方法。
  20. 【請求項20】コントローラ、記憶待ち行列、ローカル
    ・プロセッサ、及びローカル・プロセッサ・バスを含む
    アダプタからホスト・バス・システムへのデータの転送
    を、受信エンジンを使用して制御する方法にして、 前記待ち行列にデータを記憶するステップと、 データ転送に対する前記受信エンジンによるリクエスト
    を前記システムに発生するステップと、 データ転送及びデータを記憶するための前記システムに
    おけるアドレスのデスクリプタ・リストに対するリクエ
    ストをローカル・バス・インターフェースに発生するス
    テップと、 前記受信エンジンによって一時的記憶バッファを、満た
    された待ち行列に割り当てるステップと、 前記受信エンジンからの信号に従って、前記コントロー
    ラによって前記一時的記憶バッファを前記待ち行列から
    のデータでもって満たすステップと、 前記デスクリプタ・リストにおいて指定された前記一時
    的記憶バッファにおけるアドレスをエンプティにするよ
    う前記受信エンジンによって前記システムに信号するス
    テップと、 を含む方法。
  21. 【請求項21】コントローラ、記憶待ち行列、ローカル
    ・プロセッサ、及びローカル・プロセッサ・バスを含む
    アダプタからホスト・バス・システムへのデータの転送
    を、送信エンジンを使用して制御する方法にして、 前記システムからのデータの転送のためにデスクリプタ
    ・リストをフェッチするためのリクエストを前記送信エ
    ンジンによってローカル・バス・インターフェースに発
    生するステップと、 前記送信エンジンによって待ち行列を一時的記憶バッフ
    ァに割り当てるステップと、 前記一時的記憶バッファを満たし始めさせるために、前
    記送信エンジンによって前記システム又はローカル・バ
    スにリクエストを発生するステップと、 前記一時的記憶バッファをアンロードし且つ前記記憶待
    ち行列を満たし始めさせるために、前記送信エンジンに
    よって前記コントローラにリクエストを発生するステッ
    プと、 前記待ち行列が殆どフルである時、前記コントローラに
    よって送信エンジンに信号するステップと、 前記一時的記憶バッファを満たすことを停止させるため
    に前記送信エンジンによって前記システム又はローカル
    ・バスに信号するステップと、 を含む方法。
  22. 【請求項22】待ち行列に直接に書き込むためのリクエ
    ストを、前記システムに結合されたデータ装置によって
    スレーブ送信ポートに発生するステップと、 システム・データを記憶するように記憶待ち行列を割り
    当てるためのリクエストを前記スレーブ送信ポートによ
    って前記コントローラに発生するステップと、 前記システムによって前記スレーブ送信ポートにおける
    記憶バッファをロードするステップと、 システム・アドレスによって表された待ち行列に対する
    記憶バッファを前記コントローラによってエンプティに
    するステップと、 を含むことを特徴とする請求項21に記載の方法。
  23. 【請求項23】システムと、ローカル・プロセッサ、ロ
    ーカル・プロセッサ・メモリ及びローカル・バスを含む
    アダプタとの間のデータの転送をDMAエンジンを使用
    して制御する方法にして、 前記ローカル・プロセッサによって前記DMAエンジン
    をイネーブルするステップと、 前記システムとローカル・バスとの間のデータの転送の
    ためにソースとデスティネーションとを表す前記ローカ
    ル・メモリからバイト・カウント・フィールドを含む第
    1デスクリプタをフェッチするためのリクエストを前記
    DMAエンジンによって前記ローカル・バス・インター
    フェースに発生するステップと、 前記ソースがFIFOバッファをロードし且つ前記デス
    ティネーションが前記FIFOバッファをアンロードす
    るためのリクエストを、前記第1デスクリプタを使用し
    て、前記DMAエンジンにより前記システム及びローカ
    ル・バス・インターフェースに発生するステップと、 前記デスクリプタ・バイト・カウントがゼロになる時、
    前記デスティネーションが前記DMAによって前記FI
    FOバッファをエンプティにするというリクエストを発
    生するステップと、 前記第1デスクリプタにリンクされた次のデスクリプタ
    を前記DMAエンジンによってフェッチするステップ
    と、 前記ソースが前記FIFOバッファをロードし且つ前記
    デスティネーションが次のデスクリプタを使用して前記
    FIFOバッファをアンロードするためのリクエストを
    前記DMAエンジンにより前記システム及びローカル・
    バス・インターフェースに発生するステップと、 を含む方法。
JP13804595A 1994-07-29 1995-06-05 マルチメディア通信装置及び方法 Expired - Fee Related JP3336816B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/282,376 US5687316A (en) 1994-07-29 1994-07-29 Communication apparatus and methods having P-MAC, I-MAC engines and buffer bypass for simultaneously transmitting multimedia and packet data
US282376 1994-07-29

Publications (2)

Publication Number Publication Date
JPH0865334A true JPH0865334A (ja) 1996-03-08
JP3336816B2 JP3336816B2 (ja) 2002-10-21

Family

ID=23081241

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13804595A Expired - Fee Related JP3336816B2 (ja) 1994-07-29 1995-06-05 マルチメディア通信装置及び方法

Country Status (3)

Country Link
US (3) US5687316A (ja)
EP (1) EP0695070A3 (ja)
JP (1) JP3336816B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8341351B2 (en) 2007-07-27 2012-12-25 Sony Corporation Data reception system with determination whether total amount of data stored in first storage area exceeds threshold

Families Citing this family (194)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE515252C2 (sv) * 1994-08-18 2001-07-02 Telia Ab Anordning för bredbandig datatjänstöverföring i telekommunikationssystem
US5793953A (en) * 1995-07-07 1998-08-11 Sun Microsystems, Inc. Method and apparatus for allowing packet data to be separated over multiple bus targets
US7577782B2 (en) 1996-02-02 2009-08-18 Sony Corporation Application programming interface for data transfer and bus management over a bus structure
US5991520A (en) 1996-02-02 1999-11-23 Sony Corporation Application programming interface for managing and automating data transfer operations between applications over a bus structure
US6631435B1 (en) * 1996-02-02 2003-10-07 Sony Corporation Application programming interface for data transfer and bus management over a bus structure
US6519268B1 (en) 1996-03-07 2003-02-11 Sony Corporation Asynchronous data pipe for automatically managing asynchronous data transfers between an application and a bus structure
US6233637B1 (en) 1996-03-07 2001-05-15 Sony Corporation Isochronous data pipe for managing and manipulating a high-speed stream of isochronous data flowing between an application and a bus structure
US5850571A (en) * 1996-04-22 1998-12-15 National Instruments Corporation System and method for converting read cycles into write cycles for improved system performance
US5809035A (en) * 1996-07-09 1998-09-15 Shomitisystems Method and apparatus to apply prioritization policy in electronic systems
EP0825506B1 (en) 1996-08-20 2013-03-06 Invensys Systems, Inc. Methods and apparatus for remote process control
US6038620A (en) * 1996-09-09 2000-03-14 International Business Machines Corporation Method and system for optimal high speed match in a high performance controller which ensures an input/output interface stays ahead of a host interface
US5999980A (en) * 1996-09-12 1999-12-07 Cabletron Systems, Inc. Apparatus and method for setting a congestion indicate bit in an backwards RM cell on an ATM network
US5941952A (en) * 1996-09-12 1999-08-24 Cabletron Systems, Inc. Apparatus and method for transferring data from a transmit buffer memory at a particular rate
US5966546A (en) 1996-09-12 1999-10-12 Cabletron Systems, Inc. Method and apparatus for performing TX raw cell status report frequency and interrupt frequency mitigation in a network node
US5970229A (en) * 1996-09-12 1999-10-19 Cabletron Systems, Inc. Apparatus and method for performing look-ahead scheduling of DMA transfers of data from a host memory to a transmit buffer memory
US5995995A (en) * 1996-09-12 1999-11-30 Cabletron Systems, Inc. Apparatus and method for scheduling virtual circuit data for DMA from a host memory to a transmit buffer memory
US5922046A (en) * 1996-09-12 1999-07-13 Cabletron Systems, Inc. Method and apparatus for avoiding control reads in a network node
US6308248B1 (en) * 1996-12-31 2001-10-23 Compaq Computer Corporation Method and system for allocating memory space using mapping controller, page table and frame numbers
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
US5918055A (en) * 1997-02-06 1999-06-29 The Regents Of The University Of California Apparatus and method for managing digital resources by passing digital resource tokens between queues
US5961605A (en) 1997-02-06 1999-10-05 Gte Laboratories Incorporated Method and apparatus for acknowledging TCP data packets
US6061358A (en) * 1997-02-13 2000-05-09 Mcdata Corporation Data communication system utilizing a scalable, non-blocking, high bandwidth central memory controller and method
US6101329A (en) * 1997-02-18 2000-08-08 Lsi Logic Corporation System for comparing counter blocks and flag registers to determine whether FIFO buffer can send or receive data
US5845152A (en) * 1997-03-19 1998-12-01 Apple Computer, Inc. Method for transmission of isochronous data with two cycle look ahead
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
US6012121A (en) * 1997-04-08 2000-01-04 International Business Machines Corporation Apparatus for flexible control of interrupts in multiprocessor systems
JP3927647B2 (ja) * 1997-04-21 2007-06-13 キヤノン株式会社 情報処理装置、情報処理方法及び情報処理システム
US5920564A (en) * 1997-04-30 1999-07-06 International Business Machines Corporation Method and apparatus for direct memory access on transmit complete
US6154793A (en) * 1997-04-30 2000-11-28 Zilog, Inc. DMA with dynamically assigned channels, flexible block boundary notification and recording, type code checking and updating, commands, and status reporting
US6049842A (en) * 1997-05-01 2000-04-11 International Business Machines Corporation Efficient data transfer mechanism for input/output devices
US6393483B1 (en) * 1997-06-30 2002-05-21 Adaptec, Inc. Method and apparatus for network interface card load balancing and port aggregation
US6128669A (en) * 1997-09-30 2000-10-03 Compaq Computer Corporation System having a bridge with distributed burst engine to decouple input/output task from a processor
US5978858A (en) * 1997-09-30 1999-11-02 Compaq Computer Corporation Packet protocol and distributed burst engine
US7133940B2 (en) * 1997-10-14 2006-11-07 Alacritech, Inc. Network interface device employing a DMA command queue
US6137804A (en) * 1997-12-02 2000-10-24 International Business Machines Corporation System and method for automatic retry of transmit, independent of a host processor, after an underrun occurs in a LAN
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
DE19803686A1 (de) * 1998-01-30 1999-08-05 Siemens Ag Verfahren und Vorrichtung zur Kommunikation gleichberechtigter Stationen eines ringförmigen, seriellen Lichtwellenleiter-Busses
US6081847A (en) * 1998-02-27 2000-06-27 Lsi Logic Corporation System and method for efficient initialization of a ring network
US6298407B1 (en) * 1998-03-04 2001-10-02 Intel Corporation Trigger points for performance optimization in bus-to-bus bridges
US5991818A (en) * 1998-04-27 1999-11-23 Giga Net, Inc. System and method for transferring information representative of conditions at a receiving device for a virtual circuit in a computer network
JPH11312143A (ja) * 1998-04-28 1999-11-09 Clarion Co Ltd 情報処理装置及び方法、カーオーディオシステム及びその制御方法並びに情報処理用プログラムを記録した記録媒体
US6691183B1 (en) 1998-05-20 2004-02-10 Invensys Systems, Inc. Second transfer logic causing a first transfer logic to check a data ready bit prior to each of multibit transfer of a continous transfer operation
US6438102B1 (en) 1998-06-03 2002-08-20 Cisco Technology, Inc. Method and apparatus for providing asynchronous memory functions for bi-directional traffic in a switch platform
US6483850B1 (en) * 1998-06-03 2002-11-19 Cisco Technology, Inc. Method and apparatus for routing cells having different formats among service modules of a switch platform
US6067300A (en) * 1998-06-11 2000-05-23 Cabletron Systems, Inc. Method and apparatus for optimizing the transfer of data packets between local area networks
US6529518B1 (en) * 1998-06-11 2003-03-04 Sun Microsystems, Inc. Method and apparatus for providing a network interface
US6532019B1 (en) 1998-06-17 2003-03-11 Advanced Micro Devices, Inc. Input/output integrated circuit hub incorporating a RAMDAC
US6199132B1 (en) * 1998-06-17 2001-03-06 Advanced Micro Devices, Inc. Communication link with isochronous and asynchronous priority modes
US6593937B2 (en) * 1998-06-18 2003-07-15 Sony Corporation Method of and apparatus for handling high bandwidth on-screen-display graphics data over a distributed IEEE 1394 network utilizing an isochronous data transmission format
US6101613A (en) * 1998-07-06 2000-08-08 Intel Corporation Architecture providing isochronous access to memory in a system
US6516361B2 (en) 1998-09-17 2003-02-04 Sony Corporation Method of and apparatus for capturing and processing continuous media-based data streams transmitted over an IEEE 1394 serial bus
US6304553B1 (en) 1998-09-18 2001-10-16 Lsi Logic Corporation Method and apparatus for processing data packets
US6167471A (en) 1998-10-14 2000-12-26 Sony Corporation Method of and apparatus for dispatching a processing element to a program location based on channel number of received data
US6269413B1 (en) * 1998-10-30 2001-07-31 Hewlett Packard Company System with multiple dynamically-sized logical FIFOs sharing single memory and with read/write pointers independently selectable and simultaneously responsive to respective read/write FIFO selections
US6304936B1 (en) * 1998-10-30 2001-10-16 Hewlett-Packard Company One-to-many bus bridge using independently and simultaneously selectable logical FIFOS
US6105099A (en) * 1998-11-30 2000-08-15 International Business Machines Corporation Method for synchronizing use of dual and solo locking for two competing processors responsive to membership changes
CA2255418C (en) * 1998-12-07 2003-01-21 Pmc-Sierra Ltd. Ring interface and ring network bus flow control system
US20060174052A1 (en) * 2005-02-02 2006-08-03 Nobukazu Kondo Integrated circuit and information processing device
US6366970B1 (en) * 1999-04-01 2002-04-02 Ravisent Technologies, Inc. Optimal handling and manipulation of high-speed streaming media in a computing device
US6421745B1 (en) 1999-04-12 2002-07-16 Sony Corporation Asynchronous connections with scattering page tables for transmitting data from a producer device to a consumer device over an IEEE 1394 serial data bus
WO2000065781A1 (en) 1999-04-23 2000-11-02 Sony Electronics Inc. Method of and apparatus for implementing and sending an asynchronous control mechanism packet
US6567859B1 (en) * 1999-04-27 2003-05-20 3Com Corporation Device for translating medium access control dependent descriptors for a high performance network
US6247069B1 (en) 1999-05-12 2001-06-12 Sony Corporation Automatically configuring storage array including a plurality of media storage devices for storing and providing data within a network of devices
US6859846B2 (en) 1999-05-12 2005-02-22 Sony Corporation Method of distributed recording whereby the need to transition to a second recording device from a first recording device is broadcast by the first recording device
US6754885B1 (en) 1999-05-17 2004-06-22 Invensys Systems, Inc. Methods and apparatus for controlling object appearance in a process control configuration system
WO2000070531A2 (en) 1999-05-17 2000-11-23 The Foxboro Company Methods and apparatus for control configuration
US7089530B1 (en) 1999-05-17 2006-08-08 Invensys Systems, Inc. Process control configuration system with connection validation and configuration
US6574232B1 (en) * 1999-05-26 2003-06-03 3Com Corporation Crossbar switch utilizing broadcast buffer and associated broadcast buffer management unit
US6788980B1 (en) * 1999-06-11 2004-09-07 Invensys Systems, Inc. Methods and apparatus for control using control devices that provide a virtual machine environment and that communicate via an IP network
US6501995B1 (en) 1999-06-30 2002-12-31 The Foxboro Company Process control system and method with improved distribution, installation and validation of components
US6510352B1 (en) 1999-07-29 2003-01-21 The Foxboro Company Methods and apparatus for object-based process control
TW430763B (en) * 1999-09-10 2001-04-21 Via Tech Inc Signal control method of first in first out
US6721859B1 (en) 1999-10-21 2004-04-13 Sony Corporation Multi-protocol media storage device implementing protocols optimized for storing and retrieving both asynchronous and isochronous data
US6711181B1 (en) 1999-11-17 2004-03-23 Sony Corporation System and method for packet parsing and data reconstruction in an IEEE 1394-1995 serial bus network
US6523108B1 (en) 1999-11-23 2003-02-18 Sony Corporation Method of and apparatus for extracting a string of bits from a binary bit string and depositing a string of bits onto a binary bit string
US6473660B1 (en) 1999-12-03 2002-10-29 The Foxboro Company Process control system and method with automatic fault avoidance
US6434676B1 (en) * 1999-12-21 2002-08-13 Intel Corporation FIFO with random re-read support and its application
US6718417B1 (en) 1999-12-23 2004-04-06 Intel Corporation Physical layer and data link interface with flexible bus width
US7257079B1 (en) 1999-12-23 2007-08-14 Intel Corporation Physical layer and data link interface with adaptive speed
US6782001B1 (en) 1999-12-23 2004-08-24 Intel Corporation Physical layer and data link interface with reset/sync sharing
US6795881B1 (en) * 1999-12-23 2004-09-21 Intel Corporation Physical layer and data link interface with ethernet pre-negotiation
US6920110B2 (en) * 2001-02-14 2005-07-19 Microsoft Corporation System and method for transferring data over a network
US7437428B1 (en) * 2000-02-16 2008-10-14 Microsoft Corporation System and method for transferring data over a network
US6779128B1 (en) 2000-02-18 2004-08-17 Invensys Systems, Inc. Fault-tolerant data transfer
US6622183B1 (en) * 2000-03-21 2003-09-16 Lsi Logic Corporation Data transmission buffer having frame counter feedback for re-transmitting aborted data frames
US7006515B1 (en) * 2000-04-07 2006-02-28 Omneon Video Networks Isochronous queue and buffer management
US6842459B1 (en) 2000-04-19 2005-01-11 Serconet Ltd. Network combining wired and non-wired segments
US7720821B1 (en) 2000-06-30 2010-05-18 Sony Corporation Method of and apparatus for writing and reading time sensitive data within a storage device
US7168069B1 (en) 2000-07-12 2007-01-23 Stmicroelectronics, Inc. Dynamic generation of multimedia code for image processing
US6594712B1 (en) * 2000-10-20 2003-07-15 Banderacom, Inc. Inifiniband channel adapter for performing direct DMA between PCI bus and inifiniband link
US6904475B1 (en) 2000-11-06 2005-06-07 Sony Corporation Programmable first-in first-out (FIFO) memory buffer for concurrent data stream handling
GB2382899B (en) * 2000-12-29 2003-12-17 Zarlink Semiconductor Ltd A data queue system
US7401126B2 (en) * 2001-03-23 2008-07-15 Neteffect, Inc. Transaction switch and network interface adapter incorporating same
US7124292B2 (en) 2001-05-21 2006-10-17 Sony Corporation Automatically configuring storage array including a plurality of media storage devices for storing and providing data within a network of devices
US7065581B2 (en) * 2001-06-27 2006-06-20 International Business Machines Corporation Method and apparatus for an improved bulk read socket call
KR100419196B1 (ko) * 2001-07-06 2004-02-19 삼성전자주식회사 필드버스 인터페이스 보드
US6754732B1 (en) * 2001-08-03 2004-06-22 Intervoice Limited Partnership System and method for efficient data transfer management
US7020724B2 (en) * 2001-09-28 2006-03-28 Intel Corporation Enhanced power reduction capabilities for streaming direct memory access engine
US20030167347A1 (en) * 2002-02-11 2003-09-04 Combs James Lee Home network printer adapter
US20030217054A1 (en) * 2002-04-15 2003-11-20 Bachman George E. Methods and apparatus for process, factory-floor, environmental, computer aided manufacturing-based or other control system with real-time data distribution
US7543087B2 (en) 2002-04-22 2009-06-02 Alacritech, Inc. Freeing transmit memory on a network interface device prior to receiving an acknowledgement that transmit data has been received by a remote device
JP2004070570A (ja) * 2002-08-05 2004-03-04 Seiko Epson Corp データ転送制御システム、電子機器、プログラム及びデータ転送制御方法
JP3599053B2 (ja) * 2003-02-25 2004-12-08 セイコーエプソン株式会社 データ転送制御システム、電子機器、及びデータ転送制御方法
US7630304B2 (en) * 2003-06-12 2009-12-08 Hewlett-Packard Development Company, L.P. Method of overflow recovery of I2C packets on an I2C router
US20050038946A1 (en) * 2003-08-12 2005-02-17 Tadpole Computer, Inc. System and method using a high speed interface in a system having co-processors
US7433364B2 (en) * 2003-12-24 2008-10-07 Intel Corporation Method for optimizing queuing performance
US7761923B2 (en) 2004-03-01 2010-07-20 Invensys Systems, Inc. Process control methods and apparatus for intrusion detection, protection and network hardening
KR100584365B1 (ko) * 2004-05-14 2006-05-26 삼성전자주식회사 동기화 이더넷에서의 데이터 프레임 구성 방법 및 그에따른 데이터 처리 방법
DE102004038213A1 (de) * 2004-08-05 2006-03-16 Robert Bosch Gmbh Verfahren und Vorrichtung zum Zugriff auf Daten eines Botschaftsspeichers eines Kommunikationsbausteins
JP4847036B2 (ja) * 2005-03-30 2011-12-28 キヤノン株式会社 バスアクセスを調停する制御装置およびデータ処理装置の制御方法
US8458280B2 (en) * 2005-04-08 2013-06-04 Intel-Ne, Inc. Apparatus and method for packet transmission over a high speed network supporting remote direct memory access operations
JP5008270B2 (ja) * 2005-04-13 2012-08-22 ソニー株式会社 情報処理装置、および情報処理方法
US7555005B2 (en) * 2005-04-14 2009-06-30 Texas Instruments Incorporated Area efficient implementation of the consecutive access counter
US7549014B1 (en) * 2005-04-22 2009-06-16 Network Appliance, Inc. Method and apparatus for coalesced multi-block read
US7496695B2 (en) 2005-09-29 2009-02-24 P.A. Semi, Inc. Unified DMA
US7889762B2 (en) * 2006-01-19 2011-02-15 Intel-Ne, Inc. Apparatus and method for in-line insertion and removal of markers
US7782905B2 (en) * 2006-01-19 2010-08-24 Intel-Ne, Inc. Apparatus and method for stateless CRC calculation
US7849232B2 (en) 2006-02-17 2010-12-07 Intel-Ne, Inc. Method and apparatus for using a single multi-function adapter with different operating systems
US8078743B2 (en) * 2006-02-17 2011-12-13 Intel-Ne, Inc. Pipelined processing of RDMA-type network transactions
US8316156B2 (en) * 2006-02-17 2012-11-20 Intel-Ne, Inc. Method and apparatus for interfacing device drivers to single multi-function adapter
WO2007123753A2 (en) 2006-03-30 2007-11-01 Invensys Systems, Inc. Digital data processing apparatus and methods for improving plant performance
WO2008001309A2 (en) * 2006-06-26 2008-01-03 Visible Assets, Inc. Low-frequency tag system and method
US20080082708A1 (en) * 2006-09-29 2008-04-03 Kar Leong Wong Token hold off for chipset communication
US8325633B2 (en) * 2007-04-26 2012-12-04 International Business Machines Corporation Remote direct memory access
US7889657B2 (en) * 2007-05-04 2011-02-15 International Business Machines Corporation Signaling completion of a message transfer from an origin compute node to a target compute node
US7948999B2 (en) * 2007-05-04 2011-05-24 International Business Machines Corporation Signaling completion of a message transfer from an origin compute node to a target compute node
US7890670B2 (en) * 2007-05-09 2011-02-15 International Business Machines Corporation Direct memory access transfer completion notification
US8037213B2 (en) 2007-05-30 2011-10-11 International Business Machines Corporation Replenishing data descriptors in a DMA injection FIFO buffer
US8112566B2 (en) * 2007-06-06 2012-02-07 Intel Corporation Methods and apparatuses for processing I/O requests of data storage devices
US8051232B2 (en) * 2007-06-25 2011-11-01 Intel Corporation Data storage device performance optimization methods and apparatuses
US8230433B2 (en) 2007-06-26 2012-07-24 International Business Machines Corporation Shared performance monitor in a multiprocessor system
US8032892B2 (en) * 2007-06-26 2011-10-04 International Business Machines Corporation Message passing with a limited number of DMA byte counters
US8509255B2 (en) * 2007-06-26 2013-08-13 International Business Machines Corporation Hardware packet pacing using a DMA in a parallel computer
US7886084B2 (en) 2007-06-26 2011-02-08 International Business Machines Corporation Optimized collectives using a DMA on a parallel computer
US8108738B2 (en) 2007-06-26 2012-01-31 International Business Machines Corporation Data eye monitor method and apparatus
US7802025B2 (en) 2007-06-26 2010-09-21 International Business Machines Corporation DMA engine for repeating communication patterns
US8103832B2 (en) * 2007-06-26 2012-01-24 International Business Machines Corporation Method and apparatus of prefetching streams of varying prefetch depth
US8010875B2 (en) 2007-06-26 2011-08-30 International Business Machines Corporation Error correcting code with chip kill capability and power saving enhancement
US8458282B2 (en) 2007-06-26 2013-06-04 International Business Machines Corporation Extended write combining using a write continuation hint flag
US7877551B2 (en) * 2007-06-26 2011-01-25 International Business Machines Corporation Programmable partitioning for high-performance coherence domains in a multiprocessor system
US8140925B2 (en) 2007-06-26 2012-03-20 International Business Machines Corporation Method and apparatus to debug an integrated circuit chip via synchronous clock stop and scan
US7827391B2 (en) 2007-06-26 2010-11-02 International Business Machines Corporation Method and apparatus for single-stepping coherence events in a multiprocessor system under software control
US7984448B2 (en) * 2007-06-26 2011-07-19 International Business Machines Corporation Mechanism to support generic collective communication across a variety of programming models
US8468416B2 (en) 2007-06-26 2013-06-18 International Business Machines Corporation Combined group ECC protection and subgroup parity protection
US7793038B2 (en) 2007-06-26 2010-09-07 International Business Machines Corporation System and method for programmable bank selection for banked memory subsystems
US8756350B2 (en) 2007-06-26 2014-06-17 International Business Machines Corporation Method and apparatus for efficiently tracking queue entries relative to a timestamp
US8478834B2 (en) * 2007-07-12 2013-07-02 International Business Machines Corporation Low latency, high bandwidth data communications between compute nodes in a parallel computer
US8018951B2 (en) 2007-07-12 2011-09-13 International Business Machines Corporation Pacing a data transfer operation between compute nodes on a parallel computer
US20090031001A1 (en) * 2007-07-27 2009-01-29 Archer Charles J Repeating Direct Memory Access Data Transfer Operations for Compute Nodes in a Parallel Computer
US8959172B2 (en) * 2007-07-27 2015-02-17 International Business Machines Corporation Self-pacing direct memory access data transfer operations for compute nodes in a parallel computer
US7890597B2 (en) 2007-07-27 2011-02-15 International Business Machines Corporation Direct memory access transfer completion notification
US9225545B2 (en) * 2008-04-01 2015-12-29 International Business Machines Corporation Determining a path for network traffic between nodes in a parallel computer
US9009350B2 (en) * 2008-04-01 2015-04-14 International Business Machines Corporation Determining a path for network traffic between nodes in a parallel computer
US20090248910A1 (en) * 2008-04-01 2009-10-01 Apple Inc. Central dma with arbitrary processing functions
US8140922B2 (en) * 2008-05-20 2012-03-20 International Business Machines Corporation Method for correlating an error message from a PCI express endpoint
CN104407518B (zh) 2008-06-20 2017-05-31 因文西斯系统公司 对用于过程控制的实际和仿真设施进行交互的系统和方法
US8224885B1 (en) 2009-01-26 2012-07-17 Teradici Corporation Method and system for remote computing session management
JP2010244164A (ja) * 2009-04-02 2010-10-28 Renesas Electronics Corp Dmaコントローラ、情報処理装置、及びdma管理方法
US8463964B2 (en) 2009-05-29 2013-06-11 Invensys Systems, Inc. Methods and apparatus for control configuration with enhanced change-tracking
US8127060B2 (en) 2009-05-29 2012-02-28 Invensys Systems, Inc Methods and apparatus for control configuration with control objects that are fieldbus protocol-aware
US8544026B2 (en) * 2010-02-09 2013-09-24 International Business Machines Corporation Processing data communications messages with input/output control blocks
US20110246688A1 (en) * 2010-04-01 2011-10-06 Irwin Vaz Memory arbitration to ensure low latency for high priority memory requests
US8949453B2 (en) 2010-11-30 2015-02-03 International Business Machines Corporation Data communications in a parallel active messaging interface of a parallel computer
US8949328B2 (en) 2011-07-13 2015-02-03 International Business Machines Corporation Performing collective operations in a distributed processing system
US9727501B2 (en) * 2011-10-31 2017-08-08 Brocade Communications Systems, Inc. SAN fabric online path diagnostics
US8935329B2 (en) 2012-01-11 2015-01-13 International Business Machines Corporation Managing message transmission and reception
US8930962B2 (en) 2012-02-22 2015-01-06 International Business Machines Corporation Processing unexpected messages at a compute node of a parallel computer
JP6232604B2 (ja) * 2014-02-10 2017-11-22 サイレックス・テクノロジー株式会社 デバイスサーバとその制御方法
US9830289B2 (en) 2014-09-16 2017-11-28 Apple Inc. Methods and apparatus for aggregating packet transfer over a virtual bus interface
US9971397B2 (en) 2014-10-08 2018-05-15 Apple Inc. Methods and apparatus for managing power with an inter-processor communication link between independently operable processors
US10042794B2 (en) 2015-06-12 2018-08-07 Apple Inc. Methods and apparatus for synchronizing uplink and downlink transactions on an inter-device communication link
US10085214B2 (en) 2016-01-27 2018-09-25 Apple Inc. Apparatus and methods for wake-limiting with an inter-device communication link
US10191852B2 (en) 2016-02-29 2019-01-29 Apple Inc. Methods and apparatus for locking at least a portion of a shared memory resource
US10198364B2 (en) 2016-03-31 2019-02-05 Apple Inc. Memory access protection apparatus and methods for memory mapped access between independently operable processors
US10775871B2 (en) 2016-11-10 2020-09-15 Apple Inc. Methods and apparatus for providing individualized power control for peripheral sub-systems
US10591976B2 (en) 2016-11-10 2020-03-17 Apple Inc. Methods and apparatus for providing peripheral sub-system stability
US10346226B2 (en) 2017-08-07 2019-07-09 Time Warner Cable Enterprises Llc Methods and apparatus for transmitting time sensitive data over a tunneled bus interface
US10331612B1 (en) 2018-01-09 2019-06-25 Apple Inc. Methods and apparatus for reduced-latency data transmission with an inter-processor communication link between independently operable processors
US11792307B2 (en) 2018-03-28 2023-10-17 Apple Inc. Methods and apparatus for single entity buffer pool management
US10430352B1 (en) 2018-05-18 2019-10-01 Apple Inc. Methods and apparatus for reduced overhead data transfer with a shared ring buffer
US10585699B2 (en) 2018-07-30 2020-03-10 Apple Inc. Methods and apparatus for verifying completion of groups of data transactions between processors
US10719376B2 (en) 2018-08-24 2020-07-21 Apple Inc. Methods and apparatus for multiplexing data flows via a single data structure
US10846224B2 (en) 2018-08-24 2020-11-24 Apple Inc. Methods and apparatus for control of a jointly shared memory-mapped region
US10789110B2 (en) 2018-09-28 2020-09-29 Apple Inc. Methods and apparatus for correcting out-of-order data transactions between processors
US10838450B2 (en) 2018-09-28 2020-11-17 Apple Inc. Methods and apparatus for synchronization of time between independently operable processors
US11829303B2 (en) 2019-09-26 2023-11-28 Apple Inc. Methods and apparatus for device driver operation in non-kernel space
US11558348B2 (en) 2019-09-26 2023-01-17 Apple Inc. Methods and apparatus for emerging use case support in user space networking
US11606302B2 (en) 2020-06-12 2023-03-14 Apple Inc. Methods and apparatus for flow-based batching and processing
US11775359B2 (en) 2020-09-11 2023-10-03 Apple Inc. Methods and apparatuses for cross-layer processing
US11954540B2 (en) 2020-09-14 2024-04-09 Apple Inc. Methods and apparatus for thread-level execution in non-kernel space
US11799986B2 (en) 2020-09-22 2023-10-24 Apple Inc. Methods and apparatus for thread level execution in non-kernel space
US11606316B2 (en) * 2020-11-20 2023-03-14 Qualcomm Incorporated System and method for modem stabilization when waiting for AP-driven link recovery
US11876719B2 (en) 2021-07-26 2024-01-16 Apple Inc. Systems and methods for managing transmission control protocol (TCP) acknowledgements
US11882051B2 (en) 2021-07-26 2024-01-23 Apple Inc. Systems and methods for managing transmission control protocol (TCP) acknowledgements

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4507760A (en) * 1982-08-13 1985-03-26 At&T Bell Laboratories First-in, first-out (FIFO) memory configuration for queue storage
US4682284A (en) * 1984-12-06 1987-07-21 American Telephone & Telegraph Co., At&T Bell Lab. Queue administration method and apparatus
US4698802A (en) * 1986-03-07 1987-10-06 American Telephone And Telegraph Company And At&T Information Systems Inc. Combined circuit and packet switching system
JP2761872B2 (ja) * 1987-03-20 1998-06-04 株式会社日立製作所 多元情報交換方法及びそのための装置
US4807111A (en) * 1987-06-19 1989-02-21 International Business Machines Corporation Dynamic queueing method
US4816996A (en) * 1987-07-24 1989-03-28 Motorola, Inc. Queued serial peripheral interface for use in a data processing system
US5001704A (en) * 1988-02-09 1991-03-19 Mcdonnell Douglas Corporation Multipurpose bus interface
US4914652A (en) * 1988-08-01 1990-04-03 Advanced Micro Devices, Inc. Method for transfer of data between a media access controller and buffer memory in a token ring network
US4951280A (en) * 1988-12-09 1990-08-21 Advanced Micro Devices, Inc. Method and apparatus for configuring data paths within a supernet station
US5043938A (en) * 1988-12-29 1991-08-27 Intel Corporation Node controller for a local area network
JP2535615B2 (ja) * 1989-08-14 1996-09-18 株式会社東芝 デ―タ同期伝送方式
EP0453863A2 (en) * 1990-04-27 1991-10-30 National Semiconductor Corporation Methods and apparatus for implementing a media access control/host system interface
US5136582A (en) * 1990-05-29 1992-08-04 Advanced Micro Devices, Inc. Memory management system and method for network controller
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
US5247626A (en) * 1990-05-29 1993-09-21 Advanced Micro Devices, Inc. Fddi controller having flexible buffer management
US5454093A (en) * 1991-02-25 1995-09-26 International Business Machines Corporation Buffer bypass for quick data access
US5229993A (en) * 1991-02-25 1993-07-20 Old Dominion University Control of access through local carrier sensing for high data rate networks and control of access of synchronous messages through circulating reservation packets
EP0551191B1 (en) * 1992-01-09 2000-04-12 Cabletron Systems, Inc. Apparatus and method for transferring data to and from host system
US5299313A (en) * 1992-07-28 1994-03-29 3Com Corporation Network interface with host independent buffer management
US5448702A (en) * 1993-03-02 1995-09-05 International Business Machines Corporation Adapters with descriptor queue management capability
US5465250A (en) * 1993-06-24 1995-11-07 National Semiconductor Corporation Hybrid loopback for FDDI-II slave stations
US5440557A (en) * 1993-12-21 1995-08-08 National Semiconductor Corporation Apparatus and methods for providing an interface between FDDI-II rings
US5577213A (en) * 1994-06-03 1996-11-19 At&T Global Information Solutions Company Multi-device adapter card for computer

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8341351B2 (en) 2007-07-27 2012-12-25 Sony Corporation Data reception system with determination whether total amount of data stored in first storage area exceeds threshold

Also Published As

Publication number Publication date
JP3336816B2 (ja) 2002-10-21
US5687316A (en) 1997-11-11
EP0695070A3 (en) 1999-01-07
EP0695070A2 (en) 1996-01-31
US5708779A (en) 1998-01-13
US5758075A (en) 1998-05-26

Similar Documents

Publication Publication Date Title
JP3336816B2 (ja) マルチメディア通信装置及び方法
US5732094A (en) Method for automatic initiation of data transmission
US5299313A (en) Network interface with host independent buffer management
JP2584957B2 (ja) ホスト指示結合式の装置
USRE38821E1 (en) Switching ethernet controller
EP0682791B1 (en) Network adapter with host interrupt and indication management
US5367643A (en) Generic high bandwidth adapter having data packet memory configured in three level hierarchy for temporary storage of variable length data packets
US5307459A (en) Network adapter with host indication optimization
US5151895A (en) Terminal server architecture
JPH04229350A (ja) 媒体アクセス制御/ホストシステムインターフェースを実施するための方法及び装置
JP2000200241A (ja) 共用メモリ内にバッファ構造を形成する方法及びネットワ―ク装置
JPH04230557A (ja) 直接メモリアクセス・コントローラ
JP2000194655A (ja) 記述子リング内の記述子をアップデ―トすることによるデ―タの転送制御方法及びシステム
US6763405B2 (en) Process for interfacing a microprocessor with a packet based device and respective system

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees