JPH1074175A - 受信データパケットへのチャンネル番号割当て方法ならびにdmaチャンネル受信パケット比較器回路 - Google Patents

受信データパケットへのチャンネル番号割当て方法ならびにdmaチャンネル受信パケット比較器回路

Info

Publication number
JPH1074175A
JPH1074175A JP11112697A JP11112697A JPH1074175A JP H1074175 A JPH1074175 A JP H1074175A JP 11112697 A JP11112697 A JP 11112697A JP 11112697 A JP11112697 A JP 11112697A JP H1074175 A JPH1074175 A JP H1074175A
Authority
JP
Japan
Prior art keywords
data
packet
dma
logic
channel
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.)
Pending
Application number
JP11112697A
Other languages
English (en)
Inventor
Richard T Baker
ティー.ベイカー リチャード
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.)
Texas Instruments Inc
Original Assignee
Texas Instruments Inc
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 Texas Instruments Inc filed Critical Texas Instruments Inc
Publication of JPH1074175A publication Critical patent/JPH1074175A/ja
Pending legal-status Critical Current

Links

Classifications

    • 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/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40123Interconnection of computers and peripherals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • 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/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40058Isochronous transmission
    • 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/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40071Packet processing; Packet format
    • 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/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40117Interconnection of audio or video/imaging devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • H04L47/626Queue scheduling characterised by scheduling criteria for service slots or service orders channel conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/901Buffering arrangements using storage descriptor, e.g. read or write pointers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9063Intermediate storage in different physical parts of a node or terminal
    • H04L49/9078Intermediate storage in different physical parts of a node or terminal using an external memory or storage device
    • 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
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/4104Peripherals receiving signals from specially adapted client devices
    • H04N21/4135Peripherals receiving signals from specially adapted client devices external recorder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/4143Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance embedded in a Personal Computer [PC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/4223Cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4342Demultiplexing isochronously with video sync, e.g. according to bit-parallel or bit-serial interface formats, as SDI
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/4363Adapting the video or multiplex stream to a specific local network, e.g. a IEEE 1394 or Bluetooth® network
    • H04N21/43632Adapting the video or multiplex stream to a specific local network, e.g. a IEEE 1394 or Bluetooth® network involving a wired protocol, e.g. IEEE 1394
    • 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/40Bus networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/12Protocol engines

Abstract

(57)【要約】 【課題】 パーソナルコンピュータ内部の受信データパ
ケットに、優先順位に基づいてチャンネル番号を割り付
けるための方法ならびに装置を提供する。 【解決手段】 受信データパケットの少なくとも一部分
を、予めプログラムで変更可能なように定めておいた一
致データセットと比較し、それらの間に予め定めていた
対応が生じた場合は、一致データが指定するデータチャ
ンネルに前記のデータパケットを接続し、もしも複数の
データパケットが同時に1つのデータチャンネルに割り
当てられた場合は、優先順位選択回路でそれらの中で最
も高い優先順位を持つデータパケットにそのデータチャ
ンネルを割り当てる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は一般的には電子機器
の分野に関し、更に詳細には周辺機器とパーソナルコン
ピュータとの間の通信を行うための改善されたインタフ
ェース機構に関し、また更に詳細には受信されたデータ
パケットに対して予め定められた優先順位に従ってチャ
ンネル番号を割り付ける方法、装置ならびにシステムに
関する。
【0002】
【従来の技術】多くのマルチメディアアプリケーション
に関して処理装置速度だけが重要なのではなくて、入出
力帯域幅もまたパーソナルコンピュータ上でのアプリケ
ーションを制限する重大な要因である。この制限を解消
するために、IEEE1394標準では高性能マルチメ
ディア接続を、キャムコーダ(camcorder )、テレビ、
ステレオ、CD交換機、セットトップボックス(set-to
p boxes )、ミキシングコンソールならびにミュージッ
クキーボード、同様に従来からのパーソナルコンピュー
タ機器との間で可能にしている。”ファイヤワイヤ(Fi
reWire)”標準として知られているIEEE1394は
携帯型ならびにデスクトップコンピュータ環境でのバス
インタフェース標準を提供している。このIEEE13
94標準は消費者とコンピュータ市場とを繋ぐ重要なリ
ンク技術として機能しており、高度通信プロトコルで駆
動されるシリアルバスを記述している。IEEE139
4シリアルバスは廉価なシステムコストで、一方高性能
周辺機器バスに必要なデータ転送速度を提供するように
設計されている。
【0003】電気電子技術者協会(IEEE)ならびに
その会員コンピュータ会社によって策定されたIEEE
1394標準はシリアルバスインタフェースであって、
低価格、高速ディジタルデータ転送ならびに通信を可能
とする。装置間の転送速度は最大400メガビット毎秒
(mbps)にまで達し、非同期および等時間間隔デー
タ転送モードの両方を介して実現できる。IEEE13
94標準インタフェースはそれ自体ビデオアプリケーシ
ョンに適しているが、それは等時間間隔時分割システム
で動作しているからである。例えば、仮にシステムが1
フレームを1/15秒毎に出力するように構成されてい
たとすると、少なくとも1フレームが出力される全ての
パケットの中に存在するはずである。この結果ビデオが
滑らかに見えることになる。この理由によりIEEE1
394標準インタフェースは、これもまた等時間間隔モ
ードで動作する非同期転送モード(ATM: asynchrono
ustransfer mode)の様な技術と高い互換性を有する。
【0004】IEEE1394標準の利点はデータの実
時間転送にあり、これはマルチメディアアプリケーショ
ンの相互接続として理想的な利点を提供する。小型で耐
久性がありしかもフレキシブルなケーブルおよびケーブ
ル接続器を使用することにより、IEEE1394標準
は価格の節約を実現しある種のケーブル仕様に対する要
求を不要とする。IEEE1394標準は汎用入出力相
互接続を提供し、これは入出力ポートを統合する一方で
プリント回路基板のスペースを合併整理する。更に、I
EEE1394標準はピア・ツウ・ピア通信構造を提供
し、これは周辺機器がホスト装置に負荷を課することな
く互いに直接通信することを可能とする。
【0005】IEEE1394標準は高速シリアルバス
を提供し、これはヘッダを含むパケット化されたデータ
を使用する。ヘッダはルーティング情報を含む。更に、
パケット化されたデータはペイロードデータを含む。媒
体の物理特性は長距離伝送用に設計される必要はない。
IEEE1394標準は、机上バスで動作するローカル
エリアネットワークの様な短距離用に設計されている。
その距離はしばしば単なる机上というよりは長くなる
が、IEEE1394標準はローカルエリアネットワー
ク動作で使用されることは意図していない。従って、基
本的にIEEE1394標準は、ワークステーション、
家庭用コンピュータ、テレビ、VCR、キャムコーダの
様な装置に、オーディオ、ビデオ、文字の様な種々の媒
体型式がアクセスするためのシリアルバスおよびパラレ
ルバスを置き換えるための高速相互接続を提供する。
【0006】IEEE1394標準に基づくインタフェ
ース装置の通信に関する要求を満足させるために、与え
られたパケットが特定のノードで受信されることを識別
する必要がある。IEEE1394標準はこれをプログ
ラム可能な形式で実行する。確実に希望するパケットの
みが周辺機器からパーソナルコンピュータへ転送される
ようにするためには、希望するパケットのみが解放され
パーソナルコンピュータへ転送される必要がある。既存
の技術ではプログラム可能、フレキシブルかつ適応性の
ある方式で精細にパケットを選択することは出来ない。
更に、既存の1394バス用インタフェース機器はパケ
ットヘッダ内の予約演算コードまたは転送コード(tcod
es)をプログラム可能な方式で取り扱うことは出来な
い。既存のIEEE1394バス用インタフェース機器
のいずれも、一致データパターンの1つから最も高い優
先順位のチャンネルを選択することは出来ない。更に、
既存のシステムのいずれもデータパターンを一致データ
パターンと一致させ、そしてそのデータパターンに特定
のチャンネルを割り当てるということは出来ない。そし
て更に既存のインタフェース機器は、希望するパターン
を複数セット指定し、与えられたデータパターンと一致
を取って与えられたデータチャンネルの1つを割り付け
る方法を提供することは出来ない。
【0007】
【発明が解決しようとする課題】従って、与えられたパ
ケットを例えばIEEE1394標準インタフェースの
様な通信インタフェース内の特定ノードで受信させるよ
うに識別することが必要である。
【0008】与えられたパケットをプログラム可能な方
式で、特定ノードで受信させるように識別する方法なら
びにシステムが必要である。
【0009】ある種のパケットを取り除いたり排他的に
選択して、指定されたDMAチャンネルに割り当てられ
たデータパケットの精細な選択を可能とする方法ならび
にシステムが必要である。更に、この要求はプログラム
可能、フレキシブルそして適応性があり、特にIEEE
1394標準に適用できる方法ならびにシステムで満た
されねばならない。
【0010】データパケットヘッダ内の予約演算コード
または転送コードを処理する方法ならびにシステムが必
要である。
【0011】更に、希望するヘッダデータパターンに一
致するものの1つから最も高い優先順位のチャンネルを
選択する事の出来る方法ならびにシステムが必要であ
る。データパケット内のデータパターンの一致を取り、
そのデータパケットに特定チャンネルを割り付ける方法
が必要である。
【0012】更に別の、与えられたデータパターンと一
致を取り指定のデータチャンネルを割り付けるための、
希望するデータパターンを複数セット指定する方法なら
びにシステムが必要である。
【0013】本発明によれば、データパケットをデータ
通信チャンネルに割り付けるための方法が提供されてお
り、これは従来開発されたデータパケットをデータ通信
DMAチャンネルに割り付けるための方法ならびにシス
テムに関連する欠点ならびに問題を基本的に取り除くか
または軽減するものである。
【0014】本発明のひとつの特徴として、データパケ
ットをデータ通信チャンネルに割り当てるための方法な
らびにシステムが提供されており、これはデータパケッ
ト比較回路内のデータパケットの少なくとも一部を受信
する手順を含む。この方法ならびにシステムはデータパ
ケットの少なくとも一部を予め定められた一致データセ
ットと比較する。データパケットの一部ならびに一致デ
ータセットはプログラム的に変更可能なデータフィール
ドを含み、これは少なくともひとつのデータ通信または
DMAチャンネルに対応する。予め定められている対応
がデータパケットの部分と一致データセットとの間で一
致した場合この方法ならびにシステムはそのデータパケ
ットをデータ通信またはDMAチャンネルに誘導する。
指定されたチャンネルに割り当てるべきデータパケット
が複数生じた場合は、この方法はまた比較されたデータ
パケットとその他の同様に比較されたデータパケットと
を共に優先順位符号化回路で受信する手順をも含む。こ
の方法は比較されたデータパケットと比較された同様の
データパケットの少なくともひとつを、少なくともひと
つのデータ通信チャンネルに比較されたデータパケット
および比較された同様のデータパケットとの各々に関連
する予め定められた優先順位データ値に基づいて誘導す
る。
【0015】本発明の技術的特長は、特定のデータパケ
ットをどの特定DMA通信チャンネルへ送るかを決定す
るための、プログラム可能、フレキシブルかつ適応性の
ある方法を提供する事にある。
【0016】本発明の別の技術的特長は、或るデータパ
ケットを特定のデータチャンネルから選択及び排除する
ための、プログラム可能、フレキシブルかつ適応性のあ
る方法を提供する事にある。
【0017】本発明の更に別の技術的特長は、データパ
ケットヘッダ内の演算コードまたは転送コードならびに
その他のコードを用いて、与えられたデータパケットの
割り付け及び優先順位の決定を、プログラム可能、フレ
キシブルかつ適応性のある方法で行うための便利な機構
または方法を提供することである。
【0018】本発明の更に別の技術的特長は、どのデー
タパケットがどのデータ通信チャンネルに行くかの優先
順位付けを高速に、効率的にまた実際的に行う方法を提
供することである。
【0019】本発明の別の技術的特長は、特定の一致デ
ータセットに一致するデータパケットが特定のデータ通
信またはDMAチャンネルへ行くように指定する方法を
提供することである。
【0020】本発明の更に別の技術的特長は、複数の一
致データセットに対応するデータパケットの複数の型式
を単一のデータ通信またはDMAチャンネルへ行くよう
に割り付ける方法を提供することである。
【0021】本発明及びその特長は添付図面を参照して
行う以下の説明より更に完全な理解が得られるであろ
う。添付図面に於いて同一の参照番号は同一の事象を示
す。
【0022】
【発明の実施の形態】本発明の提出された実施例は添付
図面に図示されており、ここで同一番号は種々の図面に
渡って同一の対応する部品を参照する。
【0023】図1はパーソナルコンピュータ環境10を
概念的に図示しており、これは点線の箱12で示される
パーソナルコンピュータ12と点線の箱14で示される
関連の周辺機器とを含む。パーソナルコンピュータ12
の内部には種々のバス及びノードが存在しパーソナルコ
ンピュータの動作を制御する。例えば、インタフェース
バス16は3ポート物理層インタフェース18と本発明
によるインタフェース機器20との間の通信を支援す
る。シリアルEPROM22はPCIインタフェース機
器20の動作を支援する。PCIインタフェース機器2
0は更にPCIバス24と補助ポートローカルバス26
とのインタフェースを行う。またPCIバス24を経由
してローカルバス28ならびにPCI取り扱い機器3
0,32も通信を行っている。PCIホストブリッジ3
4はローカルバス28とPCIバス24との間のホスト
ブリッジ機能を実行する。補助ポートローカルバス26
はフラッシュPROM(またはRPL ROM)36、
直接メモリアクセス(DMA)チャンネル制御静的RA
M(SRAM)38、使用者定義機能(AUX)40、
およびビデオ入出力用ズームビデオ(ZV)ポート42
と通信を行う。ホストローカルバス28はホストCPU
44およびローカルメモリ46と通信を行う。
【0024】物理層インタフェース18と通信を行う周
辺機器14には、CD ROM装置48、レーザプリン
タ50、デスクトップカメラ52、そしてビデオケーブ
ルセットトップボックス56とのインタフェースを行う
ディジタルビデオカセットレコーダ(VCR)54が考
えられる。
【0025】図1に於いて、PCIインタフェースAS
IC20は、PCIバス24をサポートする環境で動作
する機器と例えばIEEE1394−1995標準環境
が確立する高速入出力周辺機器環境で動作する機器との
間の、データパケット送信制御の基本機能を実行する。
本実施例のPCIインタフェースASIC20はIEE
E標準1394−1995ならびにPCI仕様版2.0
に適合する。更にPCIインタフェースASIC20は
サイクルマスタの機能を、特にIEEE1394−19
95環境に於いて実行し、喪失されたサイクル開始メッ
セージ検出能力を有する。PCIインタフェースASI
C20は32ビット周期的冗長検査(CRC)信号をI
EEE1394標準パケット送信用に生成し、同様に3
2ビットCRC検査をIEEE1394パケット受信時
に実行する。PCIインタフェースASIC20はPC
IインタフェースASIC20と物理層インタフェース
18との間の等時間間隔バリアをサポートする。更に、
PCIインタフェースASIC20はIEEE1394
標準送信速度100、200および400mbpsをサ
ポートし、同様に3サイズのプログラム可能FIFO
(例えば、非同期送信、等時間間隔送信、そして一般受
信)をサポートする。
【0026】以下に説明するように、PCIインタフェ
ースASIC20はプログラム可能チャンネルアドレス
比較器ロジックを受信した入力データパケットに対して
実施し、それらに対してDMAチャンネルを割り当て
る。本発明は、少なくとも1つの実施例に於いて5つの
スキャッタ・ギャザ(scatter-gather)DMAチャンネ
ルを提供し、ここで各々のチャンネルのデータパケット
操作が、(1)非同期パケット送信、(2)等時間間隔
パケット送信、(3)非同期パケット受信、そして
(4)等時間間隔パケット受信機能をサポートするよう
にプログラムされる。
【0027】PCIインタフェースASIC20はま
た、DMA操作をサポートするためのPCIマスタバス
機能と、また同様に内部レジスタへの読み取りおよび書
き込みアクセスを行うためのPCIスレーブ機能をも提
供する。32ビットPCIアドレスデータ経路を実現す
るために、PCIインタフェースASIC20はPCI
アドレスデータパリティ検査のみならず、割り込み事象
へのソフトウェア制御も提供する。PCIインタフェー
スASIC20は、外部ロジックへの専用経路を実現す
るためのプログラム可能外部ローカルバスを提供する。
更に加えて、PCIインタフェースASIC20は8ビ
ットまたは16ビットインタフェースを、ズームビデオ
(ZV)ポートに提供し、ビデオデータを直接外部モー
ションビデオメモリ搬送機に転送する。
【0028】図2はブロック図58を提示し、これは本
発明のPCIインタフェースASIC20の機能分割を
示す。PCIインタフェースASIC20内のロジック
はPCIバスロジック60を含み、これはシリアルEP
ROM22との通信を行うためのシリアルEPROMイ
ンタフェース62を含む。PCIマスタロジック64お
よびPCIスレーブロジック66、同様にPCI構成制
御ならびに状態レジスタ68はPCIバス24との通信
に必要なロジックを提供する。ローカルバスインタフェ
ースロジック70は補助ポートローカルバス26とのイ
ンタフェースに必要な制御ロジックを提供する。
【0029】PCIインタフェースASIC20内のD
MAロジック72は、DMAエンジン74およびDMA
制御ならびに状態レジスタ76を含み、PCIバスロジ
ック60とFIFOロジック78との間の動作と通信と
を制御する。FIFOロジック78は汎用受信FIFO
80、非同期送信FIFO82、等時間間隔送信FIF
O84、ポインタアドレス写像ロジック86、およびF
IFO制御ならびに状態レジスタ88を含む。
【0030】リンク層制御ロジック90は制御ならびに
状態レジスタ92を含み、これはリンク層制御ロジック
90内の全ての機能の制御を行いかつ状態のレポートを
行う。パケット送信制御ロジック98およびパケット受
信制御ロジック102はロジック、サイクルタイマ94
およびサイクルモニタ96と共に働く。物理リンクイン
タフェースロジック104はパラレル/シリアル変換な
らびにシリアル/パラレル変換機能を含む。
【0031】図2に於いて、PCIバスロジック60は
PCIインタフェースASIC20とPCIバス24と
のインタフェースロジックを実行する。PCIスレーブ
ロジック66は外部PCI取り扱い機器に対してスレー
ブインタフェース制御ロジックへの読み取りおよび書き
込み機能を提供して、PCIインタフェース20制御な
らびに状態レジスタ68、76、88、92を評価でき
るようにしているが、これらはアプリケーションソフト
ウェアがPCIインタフェースASIC20を制御しそ
の動作状況を監視する際に要求されるものである。PC
Iマスタロジック64はDMAロジック72に対してマ
スタ機器としてPCIバス24上でのデータ送信を開始
する機能を提供する。PCI構成制御ならびに状態レジ
スタ68は、PCIインタフェースASIC20の構成
およびプログラミングを行うためのパーソナルコンピュ
ータシステム12アプリケーションソフトウェアで使用
可能である。これはPCIが要求する制御および基本レ
ジスタを含み、同様にPCIインタフェースASIC2
0用の割り込み制御および状態信号ならびにその他の制
御ならびに状態レジスタをも含む。ローカルバスインタ
フェースロジック70はRAM,ROM、補助機能、ズ
ームビデオポート、および4つのGPIOインタフェー
スとインタフェースしかつ制御するための補助ポートを
含む。更に、シリアルEPROMインタフェース62
は、PCIが必要とするある種の構成データと一定のシ
ステム制御レジスタ情報とを電源投入後に提供する。
【0032】シリアルEPROMインタフェース62は
PCIインタフェースASIC20とシリアルEPRO
M22(図1)との間の通信を提供する。電源投入時、
シリアルEPROMインタフェース62はPCI構成レ
ジスタ68の僅かな部分をシリアルEPROM22から
初期化する。シリアルEPROM状態機械がシリアルE
PROM22にアクセスしている間、全てのPCIスレ
ーブアクセス入力は再試行状態で終了される。
【0033】シリアルEPROM22はまたPCI構成
制御ならびに状態レジスタ68用の構成データをも含
む。この情報はホストCPU44で読み取りおよび書き
込みが行われるが、これはシリアルEPROM22用制
御レジスタを通して2線式シリアルバスプロトコルをエ
ミュレートしている。この2線式シリアルバスはホスト
CPU44から、シリアルEPROM22出力可能化ビ
ットを”1”の値に設定するように操作され、続いて2
線式シリアルバスプロトコルをエミュレートするために
データおよびクロックビットにアクセスする。PCI構
成制御ならびに状態レジスタ68はタイマビットを含
み、これは2線式シリアルバスプロトコル事象のタイミ
ングを取るための時間基準を提供する。
【0034】PCIマスタロジック64はPCIインタ
フェースASIC20がPCIバス24をマスタ機器と
して操作するために必要な制御を実行する。このロジッ
クはメモリ読み取り、メモリ書き込み、メモリ読み取り
線、メモリ書き込み線、および書き込み無効命令操作を
可能とする。メモリ読み取り機能に関して、PCIイン
タフェースASIC20のDMA読み取り操作の結果、
PCIバス上にメモリ読み取り線命令によるメモリ読み
取りが行われる。メモリ書き込み操作に関して、PCI
インタフェースASIC20DMA書き込み操作の結果
PCIメモリ書き込みが行われるか、PCIバス上にメ
モリ書き込み線命令またはメモリ書き込み無効命令が出
される。
【0035】PCIスレーブロジック66はPCIイン
タフェースASIC20がPCIバスをスレーブ機器と
して操作するために必要な制御ロジックを実行する。可
能化されるとPCIスレーブ機能66は68に含まれる
基本アドレスレジスタで指定されるPCIメモリアドレ
ス範囲での、メモリ読み取りまたは書き込み命令に応答
する。PCIスレーブロジック66は、その他の制御レ
ジスタ内のスレーブバーストビットで可能化された際
に、スレーブバースト転送を実行する。PCIスレーブ
ロジック66はその他の制御レジスタ内の制御ビットで
可能化された際に、宛先指定書き込み操作を実行する。
【0036】PCI構成制御ならびに状態レジスタ68
はシステムおよびアプリケーションソフトウェアに対し
て、PCIインタフェースASIC20のPCI演算構
成を実行する機能を提供する。
【0037】ローカルバスインタフェースロジック70
は、共通ロジックを共有する特殊入出力ポートグループ
を提供する。これらのポートはPCIバス24またはD
MAエンジン74のいずれからもアクセス可能である。
これらのポート上の外部機器はマスタ機器として機能す
ることは出来ない。これらのポートはPCIインタフェ
ースASIC20を外部機器またはインタフェースに接
続し、この様な機器との間に自動データ転送を行うこと
を可能としている。ズームビデオバスインタフェースを
除く全てのローカルバスインタフェースは、ローカルク
ロックに同期しており、これはPCIクロックから提供
されるものである。ZVポートクロックはPCIクロッ
ク、IEEE1394クロック、または外部クロックに
基づいてプログラムされている。
【0038】ローカルバスインタフェースロジック70
は共有ローカルアドレスバスを提供し、これは本発明で
は16ビットアドレスバス、共有8ビットまたは16ビ
ット読み取りまたは書き込みデータバスであり、プログ
ラム可能待ち状態および準備完了条件を具備したもので
ある。ローカルバスアドレスおよびデータバスはRO
M,RAM,AUX,およびズームポート機能の中で共
有されている。ZV出力ポートは水平同期、垂直同期デ
ータ有効、およびZV−PIXEL.CLR.を提供す
る。ローカルバスインタフェースロジック70用のその
他の入出力は4つの汎用I/O(GPIO)ピンを含
み、これはプログラム可能方向および極性機能を実現す
る。ローカルバスインタフェースロジック70の本実施
例に於けるその他の信号としては、ローカルバスクロッ
ク出力、リセット出力、割り込み入力、そして外部準備
完了入力が含まれる。PCI構成制御ならびに状態レジ
スタ68はローカルバスインタフェースロジック70の
動作を構成する上で必要な制御命令ならびに情報を提供
する。
【0039】PCIインタフェースASIC20はリモ
ートプログラムロード(RPL)読み取り専用メモリ
(ROM)を含み、これはパーソナルコンピュータ12
に対して付属のRPL ROMからブートコードを読み
取る機能を提供する。これによりたとえシステムが特定
のIEEE1394ブートコードを電源リセット時に喪
失していたとしても、システムをIEEE1394機器
からブートすることが可能となる。更に、ROMインタ
フェースを汎用化してRPL ROMにアクセスするだ
けではないその他の機能を提供するようにも出来る。ロ
ーカルバスインタフェースロジック70はPCIスレー
ブおよび内部DMAが、フラッシュPROM36、SR
AM38ならびにその他の図1に示されるRAM相当機
器の様な機器へ読み取り/書き込みアクセスすることを
サポートする。ROMへのアクセスはPCI構成制御な
らびに状態レジスタ68で制御され、ROM基本アドレ
スレジスタの最下位ビットに1を書き込むことにより可
能化される。ROMインタフェースは8ビットまたは1
6ビット幅データのいずれかで、指定された数の待ち状
態または同様機能として構成できる。ROMオプション
は電源リセット時にシリアルEPROM22経由で構成
されPCIスレーブアクセス経由で入力される。
【0040】RAMインタフェースはPCI構成制御な
らびに状態レジスタ68内の第二PCIメモリに基づく
レジスタを通してアクセスされる。このメモリはDMA
制御構造またはデータバッファまたは、ディジタル信号
処理装置の様なその他の機能への共有メモリインタフェ
ースとして使用できる。RAMインタフェースは8ビッ
トまたは16ビット幅データのいずれかで、指定された
数の待ち状態または外部準備完了調歩として構成でき
る。
【0041】補助インタフェースは汎用入出力ポートで
あって、これはPCI構成制御ならびに状態レジスタ6
8内の第三PCIメモリベースアドレスレジスタを通し
てアクセスされる。このポートは圧縮/伸長(decompre
ssion )ロジックまたはビデオプロセッサ/フレームバ
ッファの様な外部専用資源への高速データ経路を実現す
るために使用される。もしもZVポートが可能化されて
いると、AUXアドレス空間の1つのポートがそのZV
ポートに写像される。それ以外の場合は、この空間は提
出された実施例の補助アドレスベースの一部として利用
可能である。本実施例に於いて補助インタフェースは8
ビットまたは16ビット幅データのいずれかで、指定さ
れた数の待ち状態または外部準備完了調歩として構成で
きる。
【0042】FIFOロジックは提出された実施例では
単一の256x33でクロックを掛けられた二重ポート
RAMの回りに設計されており、3つの論理FIFOに
分割されている。各々のFIFOは0から256ワード
のサイズでプログラムされている。与えられたFIFO
サイズの組み合わせに対して、3つのFIFOサイズの
合計は256ワード以下でなければならない。
【0043】汎用受信FIFO(GRF)80は読み取
りおよび書き込みポインタ対を含み、FIFO二重ポー
トRAMへアクセスする際に使用される。各々のポイン
タは0からそのfifo_size_value 引く1の範囲で計数
する。各々のポインタに対するFIFO RAMアドレ
ス指定範囲は、オフセット値を生成するロジックによっ
て設定される。そのオフセットをポインタの値に加算し
て、RAMアドレスの唯一無二の範囲に写像されるよう
にする。動作中のDMAチャンネルは読み取りポインタ
を使用して、RAMのPCI側から非同期または等時間
間隔パケットを読み取り、それらをホストメモリの中に
書き込む。書き込みポインタはIEEE1394受信機
で使用され、IEEE1394バス上に受信された、非
同期または等時間間隔パケットをFIFO RAMのリ
ンク側に書き込む。2つのポインタはFIFO RAM
の両側で同期化ロジックを通して通信されるが、これは
FIFO二重ポートRAMの両側が異なるクロック領域
に存在するからである。
【0044】非同期送信FIFO82はFIFO二重ポ
ートRAMへアクセスするための読み取りおよび書き込
みポインタ対を含む。各々のポインタは0からそのfifo
_size_value 引く1の範囲で計数する。各々のポイン
タに対するFIFO RAMアドレス指定範囲は、オフ
セット値を生成するロジックによって設定される。その
オフセットをポインタの値に加算して、アドレスの唯一
無二の範囲に写像されるようにする。動作中のDMAチ
ャンネルは書き込みポインタを使用して、ホストメモリ
から非同期パケットを読み取り、それをRAMのPCI
側の中に書き込む。読み取りポインタはIEEE139
4送信機で使用され、これは読み取りポインタを用いて
非同期パケットをFIFO RAMのリンク側から読み
取り、それをIEEE1394バス上に送信する。二つ
のポインタはFIFO RAMの両側で同期化ロジック
を通して通信されるが、これはFIFO二重ポートRA
Mの両側が異なるクロック領域に存在するからである。
【0045】等時間間隔送信FIFO84はFIFO二
重ポートRAMへアクセスするための読み取りおよび書
き込みポインタ対を含む。各々のポインタは0からその
fifo_size_value 引く1の範囲で計数する。各々のポ
インタに対するFIFO RAMアドレス指定範囲は、
オフセット値を生成するロジックによって設定される。
そのオフセットをポインタの値に加算して、アドレスの
唯一無二の範囲に写像されるようにする。動作中のDM
Aチャンネルは書き込みポインタを使用して、ホストメ
モリから等時間間隔パケットを読み取り、それをFIF
O RAMのPCI側の中に書き込む。IEEE139
4送信機は読み取りポインタを用いて等時間間隔パケッ
トをFIFO RAMのリンク側から読み取り、それを
IEEE1394バス上に送信する。読み取りおよび書
き込みポインタはFIFO RAMの両側で同期化ロジ
ックを通して通信されるが、これはFIFO二重ポート
RAMの両側が異なるクロック領域に存在するからであ
る。
【0046】ポインタ二重ポートアドレス写像ロジック
86はFIFOサイズレジスタから3つのサイズ値を使
用して、各々のFIFO読み取り書き込みポインタ対を
FIFO二重ポートRAM内の唯一無二のアドレス範囲
に写像する。ポインタアドレス写像機能は下記の表に示
される式に基づいて生成される。
【表1】
【0047】FIFO制御ならびに状態レジスタ88は
FIFOロジック78の制御ならびに状態レジスタセッ
トを実行する。FIFO制御ならびに状態レジスタ88
は各々の論理FIFOのサイズを設定するためのFIF
Oサイズレジスタを含む。このレジスタは3つのサイズ
のパラメータを具備し、等時間間隔送信FIFO84、
非同期送信FIFO82および汎用受信FIFO80の
サイズをプログラムする。このレジスタはPCIスレー
ブ66読み取りまたは書き込み操作を介してアクセスさ
れる。PCI側FIFOポインタ書き込み読み取りポー
トはソフトウェア用のPCIスレーブ66書き込み読み
取りポートを具備し、これはPCI側ポインタの現在値
を取り込んだりまたはそこに値を書き込むためのもので
ある。リンク側FIFOポインタ書き込み読み取りポー
トはソフトウェア用のPCIスレーブ読み取りポートを
具備し、これはリンク側ポインタの現在値を取り込んだ
りまたはそこに値を書き込むためのものである。汎用受
信FIFOポップ・プッシュポートは32ビットスレー
ブ書き込みを受信し、GRF80の先頭にプッシュされ
るデータクウォドレット(data quadlet)とする。この
ポートからの32ビットスレーブ読み取りは、GRF8
0の先頭からデータクウォドレットをポップオフさせ
る。非同期送信FIFOポップ・プッシュポートはこの
ポートへの32ビットスレーブ書き込みを受信し、非同
期送信FIFOの先頭へプッシュされるデータクウォド
レットとする。このポートからの32ビットスレーブ読
み取りは、非同期送信FIFO82の先頭からデータク
ウォドレットをポップオフさせる。等時間間隔送信FI
FOポップ・プッシュポートはこのポートへの32ビッ
トスレーブ書き込みを受信し、等時間間隔送信FIFO
84の先頭へプッシュされるデータクウォドレットとす
る。このポートからの32ビットスレーブ読み取りは、
等時間間隔送信FIFO84の先頭からデータクウォド
レットをポップオフさせる。FIFO制御トークン状態
読み取りポートはスレーブ読み取りを具備し、先にアク
セスされた3つのFIFOの1つからポップされた最後
のデータクウォドレットのビット33の値を戻す。FI
FO診断テストならびに制御レジスタはソフトウェア用
PCIスレーブ読み取り書き込みポートを具備し、診断
テストおよびその動作を制御するためのFIFOロジッ
クを構築する。また、送信FIFO閾値レジスタはソフ
トウェア用PCIスレーブ読み取り書き込みポートを具
備し、非同期および等時間間隔送信FIFO用の送信閾
値を設定する。
【0048】CRCロジック100は種々の機能を実施
するロジックを実行し、これらには送信機ロジックで生
成されたパケットデータストリームのヘッダ部分上での
32ビット自動DIN CRCエラーコードの生成が含
まれる。送信機はこのコードをヘッダ後部のデータスト
リームの中に挿入する。データペイロードを有するデー
タパケットに関しては、CRCロジック100は32ビ
ット自動DIN CRCエラーコードを、送信機ロジッ
クで生成されたパケットストリームのデータペイロード
部分の上に生成する。送信機はこのコードをパケットス
トリームの終わりに挿入する。CRCロジック100は
32ビット自動DIN CRCエラーコードを入力され
るパケットデータストリームのヘッダ部分の上に生成す
る。もしも計算されたコードがパケットと共に送られた
ヘッダCRCコードに等しい場合は、受信機はヘッダが
正しいと判断する。更に、CRCロジック100は32
ビット自動DIN CRCエラーコードを入力されるパ
ケットデータストリームのペイロード部分の上に生成す
る。もしも計算されたコードがパケットと共に送られた
データCRCコードに等しい場合は、受信機はデータペ
イロードが正しいと判断する。
【0049】1394リンク層ロジック90はIEEE
1394リンク層制御ロジック(LLC)をIEEE1
394−1995標準で規定された通りに実行する。こ
の機能はIEEE1394パケットデータのFIFOロ
ジック78とその他のIEEE1394バス上の機器と
の間での送受信を制御する。
【0050】1394リンク層制御ならびに状態レジス
タ92はアプリケーションソフトウェアで要求される、
LLCの動作を制御しその動作を監視するための、制御
ならびに状態レジスタロジックを実行する。1394バ
ス番号・ノード番号レジスタはアプリケーションソフト
ウェアがバスならびにノード番号をプログラムするため
のインタフェースを提供する。1394リンク層制御レ
ジスタはアプリケーションソフトウェアがLLCの動作
モードを制御するためのインタフェースを提供する。1
394リンク層割り込み状態レジスタはアプリケーショ
ンソフトウェアがLLCで生成された割り込み原因を解
読するためのインタフェースと、この割り込み状態を解
消するための機構とを提供する。1394リンク層割り
込み可能化レジスタはアプリケーションソフトウェアが
割り込み状態レジスタ内の状態ビットを選択的に可能化
してLLC割り込みを生成したり、またはLLC割り込
みを生成することを不能化するためのインタフェースを
提供する。1394サイクルタイマレジスタはアプリケ
ーションソフトウェアがサイクルタイマに初期値をプロ
グラムしたりまたはその現在値を読み込むためのインタ
フェースを提供する。LLCがサイクルマスタとして動
作しているときは、このタイマはパケットの送信を開始
する周期を125マイクロ秒毎に時間決めするために使
用される。1394物理層アクセスレジスタはアプリケ
ーションソフトウェアが物理層インタフェース18制御
ならびに状態レジスタへのデータの書き込みまたはそこ
からのデータの読み取りを行うためのインタフェースを
提供する。
【0051】1394診断テスト制御レジスタはアプリ
ケーションソフトウェアが1394LLCロジックの診
断テストを実施するためのインタフェースを提供する。
1394リンク層制御ならびに状態レジスタ92はま
た、DMAチャンネル4−0ワード0受信パケット比較
値レジスタを含む。各々のレジスタにはDMAチャンネ
ル比較器ロジック機能が割り当てられている。DMAチ
ャンネル比較器は比較値レジスタ内で選択された組のビ
ット位置と、入力パケットの第一データクウォドレット
(ワード0)の対応するビット位置との一致を取る。一
致を取るビット位置はワード0受信パケット比較マスク
レジスタ内に含まれるマスク値で指定される。DMAチ
ャンネル4−0ワード0受信パケット比較マスクレジス
タは、対応するDMAチャンネル比較器に割り当てられ
る。DMAチャンネル比較ロジックはこのレジスタ内の
マスク値を使用して、ワード0内のビット位置を選択
し、これがワード0受信比較値レジスタ内の対応するビ
ット位置に対して一致が取られる。DMAチャンネル4
−0ワード1受信パケット比較値レジスタはDMAチャ
ンネル比較器ロジック機能に割り当てられる。DMAチ
ャンネル比較器は比較値レジスタ内で選択された組のビ
ット位置と、入力パケットの第二データクウォドレット
(ワード1)の対応するビット位置との一致を取る。一
致を取るビット位置はワード1受信パケット比較マスク
レジスタ内に含まれるマスク値で指定される。またDM
Aチャンネル4−0ワード1受信パケット比較マスクレ
ジスタは対応するDMAチャンネル比較器に割り当てら
れる。DMAチャンネル比較ロジックはこのレジスタ内
のマスク値を使用してワード1内のビット位置を選択
し、これがワード1受信比較値レジスタ内の対応するビ
ット位置と一致が取られる。
【0052】更に、1394リンク層制御ならびに状態
レジスタ92は、ビジー再試行計数レジスタを含み、そ
の内容は1394送信機が送り先ノードからビジー肯定
確認が受信された際に、非同期パケット送信を再試行す
べき回数を指定している。このレジスタはアプリケーシ
ョンソフトウェアからPCIスレーブアクセスによって
読み書きされる。ビジー再試行時間間隔レジスタは、ビ
ジー肯定確認信号が各々の試行に対して受信された際に
送信機が後続の再試行との間で遅延すべき時間間隔を含
む。このレジスタはアプリケーションソフトウェアから
PCIスレーブアクセス経由で読み書きされる。また、
状態機械ベクトルレジスタがあって、これはソフトウェ
アに対してLLCに組み込まれている各々の状態機械の
状態ベクトルを監視する機能を与える。更に、FIFO
エラー計数器はパケット送信中に非同期および等時間間
隔送信FIFO82,84で生じる未達(under-run )
とパケット受信中にGRF80で生じる超過(over-ru
n)とを計数する。
【0053】パケット受信機制御ロジック102は入力
されるIEEE1394パケットを受信するために必要
なロジックを実行する。受信機制御ロジックはIEEE
1394−1995で規定された詳細な機能要求に合致
している。これらはバスおよびノードIDレジスタそし
て/またはDMAチャンネル受信パケット比較器を使用
して入力された非同期または等時間間隔パケットを受信
すべきかの判断を行うための下記の機能を含む。CRC
ロジック機能はヘッダCRCをチェックして入力パケッ
トが正しく受信されているかの確認を行う。もしもパケ
ットがペイロードを有する場合、データCRCがチェッ
クされそのパケットがアドレス指定およびCRCチェッ
クを通過すると、受信されたパケットはGRF80の中
にロードされる。パケット受信機制御ロジック102は
非同期受信パケット上に肯定確認を生成する。
【0054】周期タイマロジック96は周期タイマ機能
を実施するためのロジックを実行する。周期タイマロジ
ック96はIEEE1394−1995標準で規定され
ている周期タイマ機能の要求に合致する。周期タイマは
周期計数器と周期オフセットタイマとを含む。オフセッ
トタイマは自由計時、または選択信号ピン上で低から高
へ再ロードされるか、または受信機からの再ロード値を
取るかであるが、これは1394LLC制御ならびに状
態レジスタ92内の周期マスタおよび周期ソースビット
の状態に基づいて選ばれる。周期タイマは等時間間隔デ
ータ転送を支援するように使用される。周期時間は32
ビット幅である。本実施例に於いて、低位12ビットは
3072を法とする計数器(modulo 3072 counte
r) として計数し、これは24.576MHzクロック
周期、または(40.69ナノ秒)毎に更新される。次
の高位の13ビットは8khz(または125マイクロ
秒)を計数し、最高位7ビットは秒単位で計数する。
【0055】周期監視ロジック94は周期監視機能を実
施するためのロジックを実行する。周期監視ロジック9
4は等時間間隔データ転送を支援し、LLC動作を監視
して等時間間隔動作のスケジュールを取り扱う。周期監
視ロジック94が周期開始パケットを受信するかまたは
送信すると、周期監視ロジック94はこれらの事象の発
生を、周期開始または周期受信割り込みを生成すること
により表示する。周期監視ロジック94はまた周期開始
パケットの喪失も検出し、周期喪失割り込みを生成す
る。等時間間隔周期が完了すると、周期監視ロジック9
4は周期完了割り込みを発する。周期監視ロジック94
は送信機に信号を発して周期開始パケットを送らせる
が、これは周期マスタ可能化ビットが1394LLC制
御ならびに状態レジスタ92内で発せられた時である。
【0056】1394パケット送信制御ロジックはIE
EE1394パケットを非同期送信FIFO82または
等時間間隔送信FIFO84のいずれかから、物理リン
クインタフェースロジック104へIEEE1394バ
ス上を送信させるための動きを制御するためのロジック
を実行する。送信制御ロジック98はIEEE1394
−1995標準の中で規定された機能要求に合致する。
パケット送信制御ロジック98は送信パケット形式にフ
ォーマットする。
【0057】1394パケット送信制御ロジック98は
クウォドレットを非同期送信FIFO82から引き出
し、これらを正しく32ビットパラレル1394非同期
パケットストリームにフォーマットする。制御ロジック
98は等時間間隔送信FIFO84から引き出し、これ
らを正しく32ビットパラレル1394等時間間隔パケ
ットストリームにフォーマットする。CRCロジックを
用いてパケットのヘッダおよびペイロード部分用のCR
Cコードを計算し、制御ロジック98はCRCコードを
パケットストリームの時間スロットの中に送信されるパ
ケットの形式からの要求に従って挿入する。1394パ
ケット送信制御ロジック98はパラレルパケットストリ
ームを物理リンクインタフェースロジックに入力し、物
理インタフェースに送信するためにパラレルからシリア
ルデータストリームフォーマットに変換する。
【0058】1394パケット送信制御ロジック98
は、LLCが周期マスタとして動作するようにプログラ
ムされている時には、周期開始パケットを送信する。1
394パケット送信制御ロジック98は1394送信バ
ス要求を物理インタフェースに送信する。物理インタフ
ェース層はバスに対して調停を行い、バスの許可が受信
されると送信を開始するために送信機に対して指示を送
る。1394パケット送信制御ロジック98は、ビジー
確認が非同期送信パケットへの応答として戻された時
に、再試行送信をIEEE1394−1995標準で規
定されている単相再試行Xプロトコルを使用して実行す
る。更に、1394パケット送信制御ロジック98はパ
ケット送信速度を設定する。
【0059】物理リンクインタフェースロジック104
はPCIインタフェースASIC20を物理層チップに
インタフェースさせるロジックを実行する。物理リンク
インタフェースロジック104はIEEE1394−1
995標準内のリンク物理インタフェース仕様の要求に
合致している。この機能はPCIインタフェースASI
C20に物理層サービスへのアクセスを提供する。物理
リンクインタフェースロジック104は送信機からのパ
ケット速度コードを使用し、生成させるシリアルデータ
ストリームの数を選択する。速度コードが100mbp
sに設定されている場合はパラレルデータストリーム
は、各々が50mbpsで送信する2本のシリアルデー
タストリームに変換される。速度コードが200mbp
sに設定されている場合はパラレルデータストリーム
は、各々が50mbpsで送信する4本のシリアルデー
タストリームに変換される。物理リンクインタフェース
ロジック104は物理インタフェースが受信する速度表
示を使用して、物理インタフェースからの入力シリアル
データストリームを受信制御ロジックへの入力のパラレ
ルデータストリームに変換する。いかなる入力パケット
に対しても、物理インタフェースはパケットが100m
bpsで受信された場合はPCIインタフェースASI
C20への2本のシリアルデータストリームを生成し、
もしも200mbpsで受信された場合は4本のシリア
ルデータストリームを生成する。シリアルデータストリ
ームは各々50MHzでクロックがかけられている。物
理リンクインタフェースロジック104は物理インタフ
ェースからのシリアル状態応答を受信し、それらをパラ
レル形式に変換する。状態応答は物理インタフェース割
り込み表示そして/または戻りデータを物理インタフェ
ースレジスタ読み取りアクセス要求に応答して搬送す
る。物理リンクインタフェースロジック104はシリア
ル肯定確認パケットを検出しかつ受信し、これらをパラ
レルフォーマットに変換する。更に、物理リンクインタ
フェースロジック104は送信機パケット送信要求また
は物理インタフェースレジスタ読み取り書き込みアクセ
ス要求を受領し、これらを物理インタフェースへの送信
用にシリアル要求ストリームにフォーマットする。更
に、物理リンクインタフェースロジック104はオプシ
ョンとして物理インタフェースとPCI−LYNX機器
との間の電気的等時間間隔バリアとして動作する。
【0060】DMAロジック72はPCIマスタロジッ
ク64を使用してPCIバス24を獲得し、マスタ機器
として機能する。DMAロジック72はDMAエンジン
74を含み、これは優先順位時間多重分割されている共
通状態機械を含む。DMAエンジンはまた、割り当てら
れた優先順位レベルに基づいてチャンネルを動作させる
ための調停ロジックをも含む。更に、DMA制御ならび
に状態レジスタ76は各々のDMAチャンネルに対して
PCIスレーブ66と共にデータ経路制御を提供し、こ
れらのレジスタへPCIインタフェースASIC20か
らのアクセスを行う。
【0061】DMAエンジン74は状態機械ロジックを
実行し、PCLから制御パラメータおよびデータバッフ
ァポインタを取り込む。状態機械ロジックまたはパケッ
ト処理装置はこれらのパラメータを使用して、データバ
ッファ相互間のデータ転送を制御する。
【0062】図3は1394パケット受信ロジック10
2内に含まれるヘッダ比較ロジックを図示し、これは3
2ビットパケットデータストリーム106を物理リンク
インタフェースロジック104から受信する。32ビッ
トパケットデータストリーム106はIEEE1394
パケット受信機ロジック102と、参照番号110で示
されているヘッダ比較ロジックとに入る。またPCIス
レーブ66は32ビット読み取り/書き込みアクセスを
番号110に含まれる比較器制御レジスタに提供する。
線117はDMAチャンネル0に対するヘッダ比較一致
出力を示す。線119はDMAチャンネル1に対するヘ
ッダ比較一致を示す。線121はDMAチャンネル2に
対するヘッダ比較一致を示す。線123はDMAチャン
ネル3に対するヘッダ比較一致を示す。これらの出力の
各々は優先順位符号化器128ならびに論理OR回路1
29に入る。優先順位符号化器128は、DMAチャン
ネル出力130を生成し、これは1394受信機ロジッ
ク102に入る。論理OR回路129は受信機制御ロジ
ックに比較器一致信号を提供し、0は一致が無いことを
示し、または1は一致があることを線132に示し、こ
れは1394受信機ロジック102に入る。
【0063】DMAエンジン74は五つ(5)またはそ
れ以上の独立したDMAチャンネルをとして描かれてお
り、これらは全て同時に動作する。実際に実施する場合
は1つの主制御状態機械を使用し、時間に対してDMA
チャンネルの間を多重分割する。優先順位監視等時間間
隔ロジックは連続的に全てのチャンネルの現在の内容を
調査し、状態機械に対して実行が保留されている動作を
有するチャンネルに最高位の優先順位を割り当てる。
【0064】図4は図3で説明した一般的概念を更に詳
細に図示したものである。図4に於いて、受信データ1
06は、ワードWD0,WD1を有するヘッダデータ1
08を含む。ワードWD0,WD1はロジック110の
N個のDMAチャンネルヘッダ比較ブロックの各々に具
備されている(例えば、図3の4つのチャンネル0〜
3)。ロジック110内の各DMAチャンネルに対する
DMAヘッダ比較レジスタは回路内での命令を含み、こ
れは108に於けるヘッダWD0と選択レジスタ内容1
20および制御値ロジック122との合致を比較する。
同様に、109に於けるWD1は図に示されるように比
較命令を用いてレジスタ124の内容および選択レジス
タ126の内容と比較される。DMAヘッダ比較レジス
タおよびロジックの出力はチャンネル選択[0]からチ
ャンネル選択[N−1]として表される。図4は更に、
優先順位符号化器128がチャンネル選択出力を受信し
てチャンネル番号をDMAチャンネル選択線130に生
成し、アドレス合致出力132を出力する様子を図示し
ている。図3ならびに添付の文章が説明するように、D
MAチャンネル選択出力130およびアドレス合致出力
132はIEEE1394パケット受信機ロジック10
2に流れている。
【0065】DMAヘッダ比較レジスタおよびロジック
110ならびに優先順位符号化器128は、入力された
パケットが受領されてGRF80にロードされるべきも
のであるかを判断するのに必要なロジックを実行する。
図3は4つのDMAチャンネルを示しており、5つまた
はそれ以上のDMAチャンネルも本発明の範囲内であ
る。各DMAヘッダ比較レジスタおよびロジック110
は1つのDMAチャンネルを担当するように割り当てら
れている。1つの比較器はWD0フィールド選択レジス
タ122、WD1選択レジスタ126、WD0比較値レ
ジスタ120、WD1比較値レジスタ124および比較
等時間間隔ロジックを含む。2つのフィールド選択マス
クレジスタは入力パケットのWD0およびWD1内のビ
ットフィールドを特定し、これは予想される値と比較器
ロジックによって合致される。2つの比較値レジスタは
予想されるビットパターンを特定し、これは入力パケッ
トのワード0およびワード1内の選択されたビットフィ
ールドに対して合致される。優先順位符号化器128は
DMAチャンネル合致表示を各DMAヘッダ比較レジス
タおよびロジック110から収集し、入力パケットを特
定のDMAチャンネルに写像するためのビットコードを
生成する。OR論理回路129はDMAヘッダ比較レジ
スタおよびロジック110からの選択表示を組み合わせ
て、IEEE1394受信機ロジック102に対して単
一の比較器合致表示を生成する。IEEE1394受信
機ロジックはDMAチャンネル番号、そして比較器合致
表示を使用して入力パケットをGRF80に受け入れる
べきかの判断を行う。
【0066】本実施例に於いて、DMAパケット処理装
置は全てが同時に実行される独立のDMAチャンネルと
して動作する。実際に実現する場合は1つの主制御状態
機械を用い、これが複数のDMAチャンネル(例えば、
5つのDMAチャンネル)の間で多重時間分割する。優
先順位監視等時間間隔(superisochronous)ロジック
は、全チャンネルの現在の内容を連続的に調べそのチャ
ンネルに対して保留中の機能の中の最高位の優先順位を
割り当てて、状態機械が実行するようにする。DMAチ
ャンネルはリセットの後静的状態に初期化し、この状態
でパケット制御リスト開始アドレスレジスタに書き込ま
れるべき有効PCLポインタ、ならびにDMA制御レジ
スタに設定されるべきチャンネル可能化およびリンクビ
ットを待っている。有効PCLポインタはパケット制御
リスト開始アドレスレジスタのビット零の状態で判断さ
れる。1は無効アドレスを示し、0は有効アドレスを示
す。続いてDMAはパケット制御リスト開始アドレスレ
ジスタで指し示されるアドレスに行き、新たなアドレス
を取ってきて、有効の場合はこれを現PCLアドレスと
して実行を開始する。
【0067】もしもこのアドレスが無効の場合は、リン
クビットがDMA制御レジスタ内で消去され、DMA停
止割り込みが、このチャンネルに対して割り込み状態レ
ジスタ内の関連する状態と共に生成され、チャンネルは
動作停止状態となる。この機構はPCLメモリ構造上の
健全性チェックを提供し、同様に次のアドレスリンクが
喪失された場合にチャンネルPCL実行を継続する比較
的簡単な方法を提供する。有効な次PCLアドレスが検
出されると、DMAはDMA制御レジスタ内にBUSY
ビットを立てPCLオフセット部の第一制御ワードを取
ってくる。続いてその命令が受信か、送信か、PCLと
ローカルバスのどちら向きであるか、または補助命令で
あるかの判断をするためのチェックが行われる。優先順
位符号化器128から、どのDMAチャンネルが合致し
ているかに依存して、合致を有する最高位の優先順位を
持つチャンネルが、選択されるべき特定のDMAチャン
ネルを同定する。
【0068】図5は本実施例に基づく、指定されたDM
Aチャンネルヘッダ比較ロジック120の動作の更に詳
細を示す。例えば、ワードWD0,WD1を含む受信デ
ータはヘッダ比較ロジック120に入る。これはワード
WD0のコードセグメント134を含み、これは行き先
ID比較ロジック136に送られる。WD0の一部13
8は転送コード比較ロジック140へ送られる。WD0
の一部142は比較ロジック144に送られ、WD0ビ
ット15:6および3:0が比較される。更に比較ロジ
ック146はWD1の一部148として示されているビ
ット31:16を受信する。行き先ID比較ロジック1
36からの比較ロジック出力、転送コード比較ロジック
140、WD0ビット3:0とWD0ビット15:6に
作用する比較ロジック144、同様にWD1ビット3
1:16に対する比較ロジック146出力はAND機能
150へ入力される。AND機能150の出力はチャン
ネル選択出力[x]であり、これはチャンネル選択
[0]からチャンネル選択[N−1]であって、先に説
明したように優先順位符号化器128はこれを受信して
DMAチャンネル選択信号130とアドレス合致信号1
32とを生成する。
【0069】図6、7、8および9はDMAチャンネル
ヘッダ比較ロジック120へ送られる受信データビット
の詳細を示す。特に図6は非同期ヘッダ162の[7:
4]を含む転送コード160を示す。同様に転送コード
ビット164は等時間間隔ヘッダ166のビット[7:
4]を形成する。指定されたDMAチャンネルに於い
て、合致データの組168はヘッダWD0162に対応
するWD0合致データヘッダ170とヘッダ166に対
応する選択合致データ組172とを含む。図6に示すよ
うに、[7:4]比較ビット174は比較選択WD01
72の[7:4]ビット176で変更されて、受信ヘッ
ダWD0ビット[7:4]に対する合致結果を判定す
る。この比較等時間間隔の出力は、その他の部分比較等
時間間隔結果とANDが取られ、特定DMAチャンネル
に対する合致値117を決定する。
【0070】図6は特定フィールドに関する、考えられ
るターゲットデータ値配列を示す。本発明は受信データ
を一度に1つのフィールドで取り込み、比較ワードと選
択ワードとを設定して特定の結果を受け取るために考え
られる方法を示すように試行する。特に、図6は転送コ
ード160フィールドに関する同時比較を示す。転送コ
ード160または転送コード164の1つは演算コード
を提供し、これは受信データバス16および1394シ
リアルデータ上のデータ型式を、等時間間隔または非同
期データとして識別する。図6に示す例では、転送コー
ドは同一フィールドに存在する。この同時比較は非同期
ヘッダおよび等時間間隔ヘッダの両方に同様に働く。等
時間間隔および非同期ヘッダを復号するのに異なる方法
もあるであろう。それらは図示される様なものであって
も良いし、または互いに統合することも可能である。実
際のコーディングは様々であろうが、その動作は最終的
に比較するかしないかと言う点で同様である。
【0071】図7は非同期ヘッダ162の[3:0]ビ
ット178および[15:8]ビット180、同様に等
時間間隔ヘッダ166の[3:0]同期ビット182お
よび[15:8]チャンネルビット184を強調してい
る。ヘッダWD0の[3:0]ビット、一次ビット17
8または同期ビット182のいずれかは、172で示す
比較選択WD0の[3:0]ビット188で修正され
た、170で示すWD0の[3:0]ビット186と比
較される。更に170で示すヘッダWD0の[15:
7]ビット、非同期ヘッダ162の[15:7]ビット
180または等時間間隔ヘッダ166の[15:7]ビ
ット184のいずれかは、172で示す比較選択WD0
の[15:7]ビットで修正された、170で示す比較
WD0の[15:7]ビット190と比較される。図7
で生じるこれらの合致判定の結果は回路110の比較ロ
ジック144のWD0ビット[3:0]および[15:
7]に相当する。
【0072】図8は更に別の同時比較を示し、DMAチ
ャンネル比較ロジック110の行き先ID比較ロジック
136に対応している。非同期ヘッダ162は行き先I
Dビット[31:15]を含み、これは参照番号200
で表されている。これらの同一ビット位置、166で示
すヘッダWD0の[31:16]ビットはデータ長ビッ
ト[31:16]を含み、これは等時間間隔データパケ
ットに対する参照番号202で表されている。同様に、
個々のリンク層制御レジスタ92のビット[31:1
6]、ここでは参照番号204で示されているものは、
ノード番号とバス番号データとを含む。図8は162で
示す非同期受信ヘッダWD0、または166で示す等時
間間隔受信ヘッダWD0が、データセット172ビット
208に従って変更されたデータセット170ビット2
06の[31:16]ビットと合致するかの同時比較を
図示している。合致データセット210は行き先IDセ
ットビット212としてビット[15:11]を含む。
図8で実行される同時比較に基づいて、DMAチャンネ
ル番号がロジックブロック146の中で導き出され、こ
れはDMAチャンネル比較ロジック110のAND機能
150へ送られる。
【0073】非同期ヘッダWD0の上位ビット[31:
16]に、IEEE1394標準が行き先識別子を取り
扱う方法であるため、特別な意味を持たせることが可能
である。例えば、IEEE1394符号化はブロードキ
ャスト形式のメッセージを異なるヘッダに指定する。受
信機ヘッダに関しては、比較ワード0とビット選択ワー
ド0とがあって、これによって特定の受信ヘッダワード
を選択することが可能である。加えて、比較選択ワード
1[15:11]212内の各ビットは、個別に特定行
き先ID同時比較式を選択する。
【0074】図9は非同期ヘッダ162を示し、これは
発信元IDビット[31:16]を220に含む。等時
間間隔ヘッダ166内のこれらのビット位置222は変
数データの一部である。WD1比較ロジック146内
で、DMAチャンネル120は、226で示す比較選択
ワード1ビット[31:16]に基づいて変更された合
致データセット170のビット16〜31を220また
は222で示すヘッダWD1ビット[31:16]と比
較する。
【0075】図10はレジスタ書き込み回路250を示
し、任意の個数のデータレジスタビットを一回のレジス
タ書き込み操作で書き込むためのものである。回路25
0は任意の個数の同様な回路の内の1つを図示する。各
回路は任意の数のデータビットの内の1つの特定ビット
を制御する。レジスタ書き込み回路250に於いて、汎
用I/O(GPIO)書き込みデータ入力252はデー
タフリップフロップ254に接続されている。データフ
リップフロップ254はまたクロック信号256および
AND機能260からの書き込み可能入力258も受信
する。AND機能260はGPIOアドレス了承信号2
62、書き込み標準信号264およびGPIOアドレス
ビット入力266を入力とする。AND機能260はデ
ータフリップフロップ254の書き込み可能ビット26
8に書き込み可能出力258を供給する。個々の指定さ
れたアドレスビット266がa1のフリップフロップ2
54のみにそれぞれのGPIO書き込みデータ252が
書き込まれる。
【0076】レジスタ書き込み回路250はレジスタ内
で変更しなければならないビットのみへの書き込みを可
能とし、残りのビットの前回値は保存する。レジスタ書
き込み回路250はまた、ソフトウェアが重要なビット
を、読み出し、指定、または特定の動作に関係しないレ
ジスタビットに操作することなく変更出来るようにして
いる。
【0077】レジスタのアドレスが存在する場合、そこ
に対して書き込み可能ビット258、1から4のGPI
Oがアドレスフィールドに基づいて書き込まれる。[G
PIO]アドレス番号入力266内のAxはこの書き込
みの基本となるアドレスビットを表し、このビットに対
して書き込みを行うか否かの判断を行う。書き込みスト
ローブ264はこれが書き込み操作であることを告げ
る。GPIOアドレス了承262は全レジスタに対して
の基本的なアドレス復号信号である。フリップフロップ
250への書き込み可能入力258はAND機能の出力
である。書き込み可能がアクティブの時、入力書き込み
データ252がフリップフロップ254に書き込まれ、
フリップフロップ出力270に出現する。
【0078】図11はアドレスフィールド272を示
し、これはGPIOレジスタアドレスビット274およ
び個別ビット選択フィールド276アドレスビットA
0,A1,A2,およびA3を含み、これはアドレスフ
ィールド272内の関連するビットの値、0または1に
基づく。アドレスフィールド272の最後の二つのビッ
ト278は通常零の値と考えられる。アドレス272の
中で最下位の2ビットは零値と仮定されているが、これ
はバスアーキテクチャの要請である。次のA0,A1,
A2,およびA3と指定されている4ビットは、個別に
または異なる組み合わせで4ビットのアドレス指定を可
能としている。より高位または最上位ビットは、この個
別の機能に対して特定または割り当てられている個別の
アドレスである。従って固定のビットパターンの組み合
わせが存在し、与えられたGPIOアドレス値のアドレ
ス指定をして、特定のアドレスを選択する。その結果0
000から1111まで(すなわち、16の異なる可能
な組み合わせ)のアドレスの全配列がアドレス指定出来
る。
【0079】DMA優先順位選択器は、PCIデータ移
動に対して最も緊急の必要性を有するチャンネルの内容
を起動するための責任がある。DMAは主状態機械(d
ma_fsm.v)として構成されており、これは選択
されたチャンネルの状態を実行する。選択されたチャン
ネルは同時に任意のひとつの点の格納された条件の番号
を有する。これらの格納された条件はそのコンテクスト
と呼ばれる。チャンネルのコンテクストの一部は、主状
態機械で実行されているその現在の状態である。
【0080】状態機械はいくつかの空回り状態を有し、
この状態ではチャンネルの実行を継続できるある種の条
件が成立するまで待たなければならない。1つの明らか
な場合は、有効PCLアドレスがロードされるまで、チ
ャンネル可能ビットが設定されるまで、またリンクビッ
トが設定されるまでチャンネルがアイドルまたは待機す
る時である。別の場合は、受信チャンネルが受信FIF
O内のデータを待つ時である。もしも1つのチャンネル
が受信データを待っていて、別のチャンネルは送信FI
FOにデータ転送の準備が出来ている場合は、われわれ
はその転送を行わせる必要がある。この種のシナリオは
多くの事例で生じる。
【0081】これらの空回り状態の一つは”機会の窓”
を表し、ここでは別のチャンネルの処理が実行される。
優先順位選択器はこれらの考えられる全ての空回り状態
を監視し、どの状態およびチャンネルがその時点で最高
位の優先順位を有するかを選択する。
【0082】図12は環境300内で処理されるDMA
命令の一例を示す。図12に於いて、PCIレジスタ書
き込みデータ302はマルチプレクサ304に入力され
る。マルチプレクサ304にはまたDMAレジスタ書き
込みデータ306も入力される。適切なデータ源が、実
行される操作に基づいて308で選択される。マルチプ
レクサ304の出力はDMAレジスタ310に入力さ
れ、図では例としてチャンネル0からチャンネル5まで
の6チャンネルを含むように図示されている。各々のチ
ャンネルに関して、DMAフィールドは前回アドレスま
たは暫定フィールド312、現PCIアドレスフィール
ド314、データバッファアドレス316、状態32
0、命令322、現状態324、準備完了ビット326
を含む。DMAレジスタ書き込み調停選択回路328は
またDMAレジスタ310への入力を提供しており、こ
れはPCIスレーブ信号330、PCIマスタ信号33
2、DMAPCIマスタ周期入力334およびスレーブ
終了入力336に応答する。DMAチャンネル調停器3
40はロックチャンネル入力342を受信し、マルチプ
レクサ346への入力を提供する。スレーブレジスタ読
み込みアドレス入力348はマルチプレクサ344の動
作を制御する。DMAレジスタ読み取りデータ出力35
0はDMAレジスタデータをPCIインタフェースに戻
す。マルチプレクサ346はその出力をDMA状態機械
次回状態ロジック352に提供する。DMA状態機械次
回状態値354は状態レジスタおよびその他の出力レジ
スタにマルチプレクサ304を経由して戻って書き込ま
れる。DMA命令処理環境300からの出力はFIFO
読み取り、書き込み、および選択信号356ならびに多
数の信号を含む。
【0083】DMAチャンネル調停器340はどのチャ
ンネルが実行されるべきかを制御する。この調停はFI
FO358からの例えば”FIFO動作中チャンネルが
データを要求”および”FIFO動作中チャンネル”同
様にどのFIFOがデータ転送準備完了状態でまたどの
チャンネルが可能化されていて動作中であるかの信号に
基づいて行われる。
【0084】DMAレジスタ310は制御と状態レジス
タの設定とを実行して、各DMAチャンネルの制御と状
態の監視とを行う。DMAレジスタ310は各DMAチ
ャンネルの多数の機能をサポートする。例えば、前回パ
ケット制御リスト開始アドレス/暫定レジスタ312は
非同期転送中に待ち行列を処理するとDMAエンジン7
4で更新されるレジスタを提供する。これはまた補助命
令がデータをロードおよびストアする際の一時待避レジ
スタとしても使用される。パケット制御リスト開始アド
レスレジスタ314はアプリケーションソフトウェアに
よって初期化され、PCLチェイン内の最初の(ダミ
ー)PCLの開始点を指定する。DMAエンジン74は
このPCLにロードされた次アドレスを使用して最初の
実PCLにリンクする。パケット制御リスト開始アドレ
スレジスタ314は、PCLが処理されると動作中のD
MAチャンネルによって更新される。DMAバッファ開
始アドレスレジスタ316には、動作中のDMAチャン
ネルがPCLを処理する際にPCLから取り込まれたデ
ータバッファポインタがロードされる。DMA状態レジ
スタ320はこのPCL中に転送されたビット数の進行
中の計数値を格納し、また転送の完了状態を含む。PC
Lの処理が完了した後、動作中DMAチャンネルはこの
レジスタの状態情報をPCL内のオフセット0×Cの場
所に書き戻す。
【0085】DMA制御レジスタ322は制御ビットを
含み、アプリケーションソフトウェアがDMAチャンネ
ルの動作を可能化または不能化して、リンクを張るため
にPCLの次アドレスを再取り込み出来るようにしてい
る。DMA制御レジスタ322はデータバッファ転送制
御、転送ビット計数値、およびPCLから取り込まれた
命令を格納する。DMA準備完了レジスタ326の最下
位ビットはDMAチャンネルがXMT,RCV,LOA
D,STORE,STORE0またはSTORE1命令
の実行を継続する前に準備完了状態まで待機させること
ができる。この準備完了状態はPCLの制御ワード(1
つまたは複数)で選択される。DMA準備完了レジスタ
326の最下位ビットはBRANCH命令の実行中に、
DMAチャンネルの条件付き分岐を可能とする。この条
件はPCLの制御ワード(1つまたは複数)で選択され
る。現DMA状態レジスタ324はDMAチャンネルの
状態ベクトルを格納する。このレジスタはDMAチャン
ネルの動作時間中に更新され、チャンネルが停止する直
前に生成された最後の状態ベクトルを保持する。
【0086】DMAレジスタ310はまた受信パケット
計数値レジスタ(図示せず)を含むことも可能であり、
これは現在受信されているパケット計数値を含む。DM
Aエンジン74はこのレジスタにGRF80トークンワ
ード内を通過した受信パケット計数値をロードする。こ
の計数値はそのデータがPCIバス24に転送される毎
に減数される。また、DMAグローバルレジスタ(図示
せず)を含むことも可能であり、これは状態機械が非同
期転送パケットの実行を追跡する際に使用する、状態フ
ラグを含む。このDMAグローバルレジスタはキャッシ
ュラインサイズレジスタと共に使用される下限ビットを
格納し、PCIマスタが要求するバーストサイズを決定
する。
【0087】図21はセクション135で静止状態にリ
セットされた後DMAチャンネルが初期化される様子を
示す。各DMAレジスタ310は有効PCLポインタが
パケット制御リスト開始アドレスレジスタ314に書き
込まれるまで待機し、チャンネル可能化およびリンクビ
ットがDMA制御レジスタ内に設定される。有効PCL
ポインタは現パケット制御リスト(PCL)アドレスレ
ジスタの第0ビットで判断される。値が1の場合は無効
アドレスを表し、値が0の場合は有効アドレスを表す。
次にDMAは現PCLアドレスレジスタ開始アドレスレ
ジスタで指定されたアドレスへ行き、次PCLアドレス
を取り込んで、もしも有効であればこれを現PCLアド
レスとして実行を開始する。もしもこのアドレスが無効
の場合は、DMA制御レジスタ内のリンクビットが消去
されて、DMA停止割り込みがこのチャンネルに対して
生成され、同時に割り込み状態レジスタ内にも関連する
状態が生成され、このチャンネルは停止される。この機
構はPCLメモリ構造の健全性チェックを提供すると同
時に、次アドレスリンクが喪失した場合(すなわち無効
状態)に比較的簡単にチャンネルPCL実行を継続する
方法を提供する。DMAエンジン74が有効な次PCL
アドレスを検出すると、DMAエンジン74はDMA制
御ならびに状態レジスタ76内部にBSYビットを設定
し、適切なPCLのワードを取り込む。次にチェックを
実施して、その命令が受信、転送、PCIとローカルバ
スとの間のどちら向きであるか、または補助命令かの判
断を行う。
【0088】図21は続いてセクション137でDMA
エンジン74がGRF80内の等時間間隔および非同期
データの受信操作をする様子を図示している。DMAエ
ンジン74は待機状態が存在するか否かを見るためのチ
ェックを実行する。待機状態がもはや存在しない場合、
処理装置はデータ移送フェーズに入る。ここで、DMA
エンジン74はループに入り、現在転送計数値が零とな
っているかのチェックを行う。その場合は、これがPC
Lバッファリストの最終データバッファであるかを確認
するためのチェックが行われる。もしもこれが最終バッ
ファでしかも特殊制御トークンワードをGRF80内に
書き込む事によるパケット境界の表示が、リンク層制御
ロジック90によってなされていない場合は、エラーが
発生するがこれはバッファが保持できるより多くのパケ
ットデータが転送されることになるためである。この場
合、PKT ERRビットがDMA制御ならびに状態レ
ジスタ76にセットされDMAエンジン74は残りのデ
ータをパケット境界まで流し込む。もしも現在転送計数
値が零まで減数されていて、PCLリスト内に別のバッ
ファが存在する場合は、DMAエンジン74は新たなバ
ッファアドレスと転送計数値とを獲得し転送を実行す
る。
【0089】データをGRF80からPCIインタフェ
ースロジック70へ移動させる一方で、DMAエンジン
74はGRF80が十分なデータを持つまで待って、P
CIバスマスタに転送実行要求を行う。この転送閾値に
達するのは、1つまたは2つの条件が合致する場合であ
る。DMAエンジン74は受信FIFO内のビット数
が”高水位マーク”に達した際にPCIマスタに転送要
求を行う。この高水位マークはキャッシュラインレジス
タ以上かまたはDMAグローバルレジスタの下位境界フ
ィールドに等しい。
【0090】DMAはパケットのデータサイズの情報を
リンクから得るが、これはパケットが最初にGRF80
の中にリンク層制御ロジック90によって書き込まれた
時である。この転送計数値を用いてGRF80内のデー
タがパケット内の残りのデータであるかを判断し、もし
もそうであってそのサイズが高水位マークよりも小さい
場合は、その転送計数値がこの残り部分に等しいPCI
マスタロジック64の転送を要求する。DMAエンジン
74がデータを転送する一方で、DMA制御ならびに状
態レジスタ76内のデータバッファ開始アドレスレジス
タおよびデータバッファ転送長ビットが、転送の現在状
態を反映するように更新される。
【0091】図22および図23のセクション139が
示すように、リンク層制御ロジック90がパケットの最
後に遭遇すると、これは特殊制御トークンワードをGR
F80に書き込み、パケットの終わりを記す。この制御
ワードに組み込まれているのは状態ビットであって、こ
れはバス上でのパケットの完了状態を表示する。DMA
エンジン74はこのパケットの終了印を用いてGRF8
0からPCIバス24へのデータ転送を終了する。もし
もパケットの終了印が、IEEE1394ビジー肯定確
認信号が存在することを示している場合は、DMAエン
ジン74はPCLの最初のバッファアドレスと転送計数
値とを再獲得しパケットの全体の転送を開始する。ビジ
ー肯定確認状態がパケットの終了印から表示されていな
い場合は、DMA制御ならびに状態レジスタ76はパケ
ットの終了印の中にリンク層制御ロジック90から通過
された肯定確認状態がロードされ、パケット完了ビット
がセットされる。次にパケット完了状態がPCL状態ワ
ード内メモリに書き込まれ、割り込み信号が発せられて
割り込み状態レジスタ内の対応するビット内にラッチさ
れる。もしも命令が受信および更新命令であった場合
は、残りの転送計数値および次バッファアドレスが適切
なPCLオフセットに書き込まれる。
【0092】図13は表360を図示し、DMAチャン
ネル調停回路340の動作を示している。表360はも
しもチャンネルがIEEE標準1394バス上で現在動
作中の場合は、そのチャンネルはDMAチャンネル実行
スケジュールの中で最上位の優先順位を持つことを示し
ている。そうでない場合は、チャンネル優先順位はチャ
ンネル番号順であり、0が最も高い優先順位を持つ。”
無視”値には値”X”が362部分に割り当てられてい
る。これはその他の値がどうであっても、現在動作中の
チャンネルが最も高い優先順位であることを意味してい
る。すなわちチャンネルは早い者勝ちでスケジュールさ
れる。
【0093】DMA命令処理の動作を下記の例で示す。
DMAが現在チャンネル3で動作していると仮定する。
従って、チャンネル3に対する全てのレジスタはDMA
内のマルチプレクサ346経由で選択されている。DM
Aはレジスタの個々のスライスを選択してDMA状態機
械上の現在状態および次状態ロジックに出現させる。
【0094】図14は本発明のパーソナルコンピュータ
環境12の簡略化された図を示し、これは自動ブート機
能370を含む。PCIインタフェースASIC20の
ピン370は自動ブートPCIインタフェースASIC
20への直接入力を提供する。結果としてPCIインタ
フェースASIC20は参照番号30のPCI機器#
1、参照番号31のPCI機器#2に対してPCIバス
24を通してホスト機器として動作する。PCIインタ
フェースASIC20に対する自律動作命令はRPL
ROM36およびSRAM38を使用するはずである。
更に、インタフェースバス16を通してPCIインタフ
ェースASIC20は物理層インタフェース18と通信
を行う。
【0095】自動ブートピン370が動作中(すなわち
持ち上げられている時)、本発明の自動ブートモードが
選択される。自動ブートモードは多くの特徴を可能と
し、これはPCIインタフェースASIC20を自律的
に機能させる。自律動作は次の機能を含む、電源リセッ
ト後、DMAチャンネル0を使用して最初のパケット制
御リストのアドレスを取り込む。また、電源リセット
後、自動ブートモードはDMAマスタが外部RPL R
OMにアクセスすることが出来るようにする。更に、電
源リセット後、自動ブートモードはDMAマスタが内部
リンクレジスタにアクセス出来るようにする。
【0096】一度PCIバス24上でマスタとして可能
化されると、PCIインタフェースASIC20はPC
I構成、入力/出力、およびメモリ読み取りおよび書き
込み命令をPCIバス24に発して、パケット制御リス
トを制御する際の適切なアドレス範囲を特定する。自動
ブートモードの動作中、外部PCIアドレス空間は30
ビットに制限される。最上位の2つのアドレスビットの
値は常に0である。内部的にこれら2ビットはPCI命
令を選択するために使用される。
【0097】自動ブートピン370の状態は診断目的
で、その他の制御レジスタ内の特別ビットから読むこと
ができる。選択された自動ブートモードおよび外部RO
Mを用いて、本発明はPCIインタフェースASIC2
0をローカル処理装置として動作させ、全ての内部PC
IインタフェースASIC20レジスタをセットアップ
し、PCIバス24上のその他の機器を初期化しそして
その他の複数のPCLを構築して連結することが可能で
ある。種々のDMAチャンネルはこれらのPCLを実行
してIEEE1394バス上でデータ転送を行わせるこ
とが可能である。
【0098】外部ローカルバスRAMをPCIインタフ
ェースASIC20に追加することにより、PCIスレ
ーブメモリがPCIバス24上の機器に具備され、制御
情報の獲得が行え、またデータ転送用のローカルメモリ
を持つことができる。PCLプログラムは機器制御/デ
ータをIEEE1394経由でその他のシステムに転送
することが出来る。従って、本発明の自動ブートモード
を採用している環境は、PCIインタフェース環境を管
理する適切な処理装置を利用できない周辺機器で使用す
ることができる。
【0099】図14の回路は外部ピン経由でチップに対
して別の動作モードを提供する。その効果はメモリマッ
プの一部を可能化および事前指定して電源投入時にDM
Aエンジン74がアクセス可能な資源を十分に確保し、
全ての要求された機能が十分に有効に働くようにするこ
とである。また、その効果はDMAエンジン74の動作
を変更して、DMA機械が特定モードの時に機械が動作
停止となる代わりに専用のROMから新たな命令を要求
するようにすることである。
【0100】DMAエンジン74が動作中となり、命令
を得るために或るアドレスを獲得する。これによりPC
IインタフェースASIC20が単独独立モードで動作
することが可能となる。これはまたPCIメモリ命令、
およびPCIインタフェースASIC20からの全ての
入力/出力命令の生成を可能とする。
【0101】自動ブートピン370を使用することによ
り、本発明はROMおよびRAMに基づくアドレスレジ
スタのアクセスおよび初期化を可能化することにより、
電源投入メモリマップの再構成を可能とする。これによ
りDMA機械が電源投入後に読み取りおよび書き込みア
クセス出来るようになる。更に、本発明は自動ブートモ
ードが選択された際のDMAエンジン74の挙動を変更
する。これにより電源投入時に専用ROMアドレスから
新たな命令を獲得することが出来るようになる。初期ア
クセスアドレスは本実施例ではまさに0である。本発明
は更に通常の環境では要求されないバス命令およびプロ
トコルを生成する方法をも提供する。
【0102】DMAエンジン74は自動ブートオプショ
ンが選択された際に、RPL ROM36から命令を獲
得して実行することができる。これにより、DMAエン
ジン74が外部PCIバス上のマスタ機器として動作す
るために要求される命令を生成して、この外部バス上の
その他のPCI機器を構成し、初期化しそして管理でき
るようになる。
【0103】図15の表380は、自動ブート入力37
0が作動された際の、内部PCIアドレスバス[31:
30]ビットのPCIバス上の命令への写像を示す。例
えば、ビット31の値が0でビット30が任意の値の
時、PCIメモリ命令が動作される。その後、アドレス
ビット31の値が1となり、アドレスビット30の値が
0となると、PCI入出力命令が生じる。アドレスビッ
ト31の値が1で、かつアドレスビット30の値が1の
場合、PCI構成命令がPCIインタフェースASIC
20へ送られる。
【0104】図16は、本発明のひとつの特徴に基づく
ローカルバスインタフェースブロック390の図を示
す。ローカルバスインタフェースブロック390はロー
カルバス構成レジスタ392、ZV機械396と通信を
行うズームビデオ(ZV)復号インタフェースブロック
394とを含む。パック/アンパック状態機械398は
アドレス/データ/ビット可能化保持レジスタ398を
含む。ローカルバスインタフェースブロック390はま
たローカルバスインタフェース状態機械400とスレー
ブ肯定確認割り込みブロック402とを含む。
【0105】図2のZVポートは、IEEE1394標
準バスからPCIインタフェースASIC20上の外部
機器へデータを転送するための出力専用ポートである。
正しくプログラムされると、ZVインタフェースロジッ
クはIEEE1394ディジタルカメラパケットを受信
し、そのペイロードを外部ZV適合機器に適切な制御信
号と共に転送するための方法を提供する。
【0106】ZV復号回路394は第三PCIメモリ準
拠アドレスレジスタの副セット経由でアクセスされる。
ZV復号回路394が可能化されると、補助アドレスの
0xF000と0xFFFFの間がZVポートに写像さ
れる。ZVポートは6つの利用可能クロック源395の
内のひとつがZV画素クロックとして選択された際に可
能化される。もしも6つのクロックのいずれも選択され
ない場合は、ZVポートは不能化され、補助インタフェ
ースは全アドレス空間を要求する。ZVポートが不能化
されると、全てのZV関連出力はデータバスを除き中立
状態となり、データバスは補助、RAMおよびROMア
クセス中に駆動される。
【0107】ZVポートで、IEEE1394等時間間
隔パケットヘッダ同期フィールドが0x1に等しいと検
出されると垂直同期信号が生成される。本実施例に於い
て、データビット24は重要な同期フィールドデータを
含む。この垂直同期ビットを検出すると、垂直同期出力
が生成される。フレームの残り部分に関しては、ビデオ
データをズームポートに転送する際に特別のアドレスが
アクセスされる毎に水平同期出力が生成される。パケッ
ト制御リストを適切にプログラムすることにより、全て
のIEEE1394ディジタルカメラパケットがZVポ
ートを経由して転送出来る。
【0108】図17は本発明の同期検出回路405のひ
とつの実施例を示し、これは垂直同期検出信号407と
水平同期検出信号409を生成するためのものである。
PCIスレーブアドレスビット[15:0]の値が0x
F000と仮定され、スレーブデータビット28がバイ
ナリ値の1と仮定される時には、比較回路411および
413は信号をANDゲート415に送る。これは垂直
同期検出信号を線407上に生成する。同様に、スレー
ブアドレスビット[15:0]が0XF004を比較回
路417に送ると、水平同期検出信号が線409上に出
現する。
【0109】図18は本発明に基づくパケットズームポ
ートアドレスマップ410用の1つのビデオ走査線を示
す。ズームポートアドレスマップ410はアドレス0X
F000で始まる等時間間隔パケットヘッダ412と、
参照番号414から424で詳細に示されるアドレス0
XF004で始まり0XFFFFで終了する等時間間隔
パケットデータ空間を含む。各々の等時間間隔パケット
はズームポートアドレス空間に、アドレス0XF000
に転送されるヘッダクウォドレットと共に転送され、第
一データペイロードクウォドレット428はアドレス0
XF004に転送され、パケット内の残りのクウォドレ
ットは順番通りのアドレスにパケットペイロードデータ
の終わりが、パケットNクウォドレット長の場合はアド
レス(0XF000+(N−1)))に達するまで転送
される。
【0110】図18は本発明が、ソフトウェアの支援を
受けずにハードウェアが管理するウィンドウの中にビデ
オ画像表示を自律的に表示出来ることを示している。本
発明は生データをIEEE1394バス上に送出し、ズ
ームポートの中にビデオ制御器チップに入力データとし
て入るのと互換性のあるフォーマットで流し込むことを
可能としている。これは水平および垂直フレーム同期を
維持しながら自律的にデータを表示することを可能とし
ている。
【0111】動作中、ズームビデオポートはあるアドレ
ス空間の中に写像されている。ヘッダはフレーム同期情
報または信号を含む。正しい制御構造を構築することに
より、ヘッダパケットデータを、ロジックがあるフィー
ルドを探すアドレスに基づく特定アドレスに転送する。
IEEEP1394ディジタルカメラ仕様に適合するソ
ニーカメラの場合、等時間間隔ヘッダ同期フィールド内
のビットはビデオフレームの開始位置を示す。この特定
の等時間間隔ヘッダ同期フィールドビットを復号する事
により、垂直同期信号が生成される。この情報を使用し
てズームポートデータのズームポートへの受信の同期を
取ることができる。
【0112】これを実現するのに2つの場合がある、1
つは水平同期、そしてもう1つは垂直同期である。垂直
同期に関しては、復号に際して特定アドレスと特定等時
間間隔ヘッダ同期ビットが必要である。水平同期は別の
特定アドレスを復号することにより生成される。
【0113】本発明のビデオズーム機能は水平または垂
直同期信号の様な制御情報を、符号化されたビデオの様
な組込型制御情報を含むパケット化されたデータから、
自律的に抽出する機能を提供する。同時比較ロジック4
11および413は、特定データ値で指定された行き先
アドレスへの転送を検出する。
【0114】本発明はまたパケットデータの異なるセグ
メントに対して適切な行き先を指定するための、ソフト
ウェアまたはハードウェア制御構造を提供する。DMA
アーキテクチャは、特定のパケットを異なる行き先アド
レスに異なる長さに分解して収集または配送することが
可能としている。従って、本発明はヘッダフィールドを
特定のアドレスに書き込みまた、データフィールドを別
のアドレスに書き込む事が出来る。この特徴を利用して
本発明はPCIインタフェース機器のどの部分がどのア
ドレスを見るかを制御出来る。
【0115】本発明は更にプログラム可能計数器を提供
し、これは特定アドレス位置そして/またはデータパタ
ーンへの多重アクセスを行う基本制御信号を生成するた
めに使用される。これは計数器を使用することで水平走
査線毎にまたは水平同期の間に多重パケットを与えると
いうオプションが生じる。従って、垂直同期の直後に水
平同期信号が生成される。これはシステムが特定アドレ
スを通過する回数を計数する事を可能とする。システム
は例えばそのアドレスを4回繰り返した後にのみ別の水
平同期信号を生成するように出来る。これにより特定の
カメラ、解像度などに従って4つのパケットを水平走査
線にまとめることが可能となる。
【0116】図19は、単一ビデオパケットを複数のビ
デオ走査線にズームポートアドレスマップ410を用い
て写像する手順を示す。ズームポートアドレスマップ4
10は等時間間隔パケットヘッダ412を含み、これは
等時間間隔パケットデータ414に隣接している。メモ
リ空間416から424は図17で説明したものと同様
である。ズームビデオ等時間間隔パケット440はヘッ
ダクウォドレット0を含み、これは等時間間隔ヘッダ同
期フィールド内にフレーム開始ビットを含むはずであ
る。クウォドレット1は第一ビデオデータペイロードク
ウォドレットであり、これはビデオ走査Aの開始部分を
含む。水平同期信号はこのクウォドレットをアドレス0
XF004に書き込むことにより生成される。同様に、
データクウォドレット442をアドレス0XF004に
書き込むことは水平同期を生成することによりビデオ走
査A+1の開始部分を示す。0XF000から開始され
[0XF000+(N−1)]まで続くデータの書き込
みは、ズームビデオポートを通って出力される実際のデ
ータ、すなわちズームデータである。ヘッダは取りはず
されるのでデータフィールドの一部とはならない。
【0117】従って、この場合垂直同期と水平同期とを
ビデオフレームの第一パケットに対して生成する。後続
のパケットはビデオフレームヘッダの残りの部分を埋め
る後続の走査線を意味するが、これらのヘッダは同期フ
ィールドは含まない。データの流れは全てのパケットに
対して同一であり、各々そこにヘッダが存在する点0X
F000から開始され、もしも同期ビットがヘッダ内に
存在しない場合、垂直同期ビットは設定されない。もし
もF004に書き込まれた時には水平同期が生成され
る。これは走査線の開始を生成し、これにより残りのデ
ータが走査線の一部として流れ出る。
【0118】更に多重の走査線がパケット毎に存在する
状況もある。これを取り扱うために、パケット制御リス
トが使用される。
【0119】本発明のDMAエンジン74はパケット制
御リストまたはPCLと呼ばれるデータ構造により制御
される。PCLは命令情報を含み、これをDMAは必要
に応じてメモリから取り出す。これらの命令はDMAに
対してデータの発信元と行き先、ならびにどれだけのバ
イト量が転送されるかを告げる。いくつかの命令はデー
タの塊をIEEE1394転送FIFOとPCIバス2
4との間、または汎用受信FIFO80とPCIバス2
4との間で移動させる。別の命令はデータをPCIバス
24と補助ポートローカルバス26との間で移動させ
る。その他の命令は二次機能であって補助命令と呼ばれ
る。これらの補助命令はDMAが任意のPCIアドレス
に対して指定されたデータのクウォドレットをのぞき見
たり手を入れたり出来るようにし、またPCLを使用し
た条件付き分岐を可能としたりする。意図している使用
目的は、DMAが特別なデータの移動制御を実行したり
また、PCLを自動ブートシーケンスで構築できる単独
独立処理装置として機能出来るようにする事である。こ
の機能の全範囲が系統立てられているわけでは無く、D
MAのこれ以外の使用方法もこれから展開されるであろ
う。
【0120】本発明のアプリケーションソフトウェアは
DMAチャンネルの動作を、ホストメモリの中に存在す
るPCLデータ構造を用いてプログラムする。アプリケ
ーションソフトウェアはPCLの構築およびメモリの記
憶装置への配置の任を負う。PCLはメモリ配列の連続
した組として組織され、これは命令、制御パラメータ、
およびデータバッファポインタを含み、これらはDMA
チャンネルが1つのIEEE1394データパケットの
転送する時、またはデータをPCIバス24と補助ポー
トローカルバス26との間で移動するとき、または1つ
または複数の補助命令を実行する際に要求されるもので
ある。PCLから要求されるメモリ配列の総数は、今回
の実現例では一般的に32クウォドレットに制限されて
いる。
【0121】最低限の要求として、PCL開始アドレス
はクウォドレットの境界部に並べられている。DMAの
性能を最適とするために、PCL開始アドレスはキャッ
シュライン境界上のラインであることが推奨されてい
る。データバッファポインタは任意のバイト境界に配列
する事ができる。DMA性能を最適とするために、本発
明ではデータバッファポインタをキャッシュライン境界
上に配列している。もしもこれが不可能な場合は、デー
タバッファポインタをクウォドレットの境界上に配列す
るのが次善の方法である。PCLで指定されるデータバ
ッファサイズの合計は、IEEE1394ビット速度が
100mbpsの場合はおよそ1キロビット、またはI
EEE1394ビット速度が200mbpsの場合はお
よそ2キロビットに制限される。
【0122】本実施例に於いて、動作中DMAチャンネ
ルは命令および制御パラメータをPCLから取り込み、
これらを用いてチャンネル自体を構築して転送命令を実
行する。
【0123】アプリケーションソフトウェアプログラム
で、DMAチャンネルが複数のIEEE1394データ
パケットを転送することを、複数のパケット制御リスト
をPCLリスト待ち行列の中で連鎖することにより可能
とする。本発明はこの待ち行列を各PCLの次アドレス
フィールドを、次PCLのメモリ内の開始アドレスを指
示するようにセットすることで構成している。待ち行列
の最後のPCLはDMA処理を停止させるか、待ち行列
の先頭に戻るかまたは新たな待ち行列を指示するように
プログラム出来る。補助命令を含むPCLはPCL待ち
行列内の何処にでも組み込むことが出来るが、両方を同
時には出来ない。PCL待ち行列は、受信および送信ま
た補助命令を混在させることが可能である;しかしなが
ら非同期転送命令は別の非同期転送命令の次に無ければ
ならず、これはパイプライン構造の転送を行うためと、
またパケットの再試行の可能性があるためである。一
方、非同期転送命令内の”状態待ち”ビットを設定する
ことにより、この要求は排除される。
【0124】図20は本発明の実施例に基づき、複数の
パケット制御リストのリンクされたリストの例を図示す
る。図20に於いて、PCI待ち行列450は開始アド
レス452から始まる。開始アドレス452から処理の
流れはダミーパケット制御リスト454に入る。ダミー
パケット制御リスト454は処理の流れを転送命令パケ
ット制御リスト456に送る。転送命令パケット制御リ
スト0に於いて、データバッファ計数命令およびデータ
バッファアドレス情報は例えばデータバッファ460、
データバッファ462、データバッファ464まで行
き、この例では14個のデータバッファが使用される。
【0125】参照番号456が示す、転送命令パケット
制御リスト0は、次リストアドレス466を含み、これ
は参照番号470で示す補助命令パケット制御リスト1
へ接続される。参照番号470で示す、補助命令パケッ
ト制御リスト1はロード命令472、発信元アドレスを
474に、またストア命令および位置を476に含む。
ロード命令472はデータレジスタ478に接続され、
これはDMAレジスタ480を供給する。ストア1命令
476は入力をメモり位置482に提供する。参照番号
470で示す、補助命令パケット制御リスト1はまた、
条件成立時の行き先アドレス484をも含み、これは条
件に応じてPCI工程制御を、参照番号486で示す転
送命令パケット制御リスト2に送る。参照番号486で
示す転送命令パケット制御リスト2は次リストアドレス
488を含み、これは参照番号490で示されるように
別のPCLへ接続するためのものであり、一方データ計
数およびデータバッファアドレス492は、データバッ
ファ494に接続され、以下は同様に接続される。条件
成立時の行き先アドレス484がPCI待ち行列の処理
の流れを制御している場合には、次リストアドレス46
8は参照番号486で示す、転送命令パケット制御リス
ト2に接続される。この情報は次に次リストアドレスか
ら、参照番号490で示されるように別のPCIに送ら
れ、データバッファ0アドレスおよび計数命令情報はデ
ータバッファ1に送られる、以下同様である。
【0126】典型的にホストCPU44が動作する場合
は、パケット制御リストとダミーの次PCLアドレスを
構築するためにメモリを配列するが、これは前回PCL
が存在しないからである。ダミーの次PCLアドレスは
メモリ位置を提供し、これは第一完全PCL、すなわち
PCL0の開始ポインタである。次にホスト処理装置は
必要なPCLのリストを構築し、データ転送または補助
命令のいずれかの型式、例えば実際に処理装置相当の命
令を行う補助命令の操作を実施させる。
【0127】次PCLアドレス内の空間は、エラーアド
レス、予約位置、および状態を含む。次の対は制御状
態、転送計数値である。そのひとつ置いて次はデータバ
ッファアドレスである。これら2つの長ワードは1つの
命令または1つのデータバッファへのデータ転送を構成
する。転送例はメモリ内のデータバッファ位置を指示す
るバッファアドレスであって、この場所へそのデータが
転送されるかまたはそこから転送される。もしもデータ
が連続して転送される場合には、本実施例では連続デー
タ転送のための大きな制御ループを形成できるようにし
ている。
【0128】図21から図30および以下の説明で本発
明の、PCIとポートローカルバスとの間の、受信、送
信、または補助操作の動作を説明する。受信操作に於い
て、図21が示すようにGRF80内の等時間間隔およ
び非同期データに対して、処理の流れは待ち状態が存在
しているか否をチェックすることから開始される。図2
7に示すように等時間間隔送信に関して、もしもチャン
ネル可能化が1に等しい場合、送信機能は準備完了であ
り、周期開始ビットは了承となって待ち状態は存在しな
い。待ち状態はデータバッファ制御ワード零の待ち選択
器ビットによって判定される。待ち状態が存在しなくな
ると、処理装置はデータ移送フェーズに入る。ここでル
ープに入り、現転送計数値が零となっているかの確認が
行われる。もしも零となっていたら、それがPCLバッ
ファリストの最後のデータバッファであるかのチェック
が行われる。もしもそのデータバッファが最後のデータ
バッファであり、リンク層制御器が特別の制御トークン
ワードをGRF FIFOの中に書き込むことによって
なされる、パケット境界の表示がなされていない場合
は、エラーが生じるが、それはバッファが保持出来る以
上のパケットデータが転送されようとしているためであ
る。この場合パケットエラービットがDMA状態レジス
タ内にセットされ、DMAは残りのデータをパケット境
界まで押し流す。もしも現転送計数値が零まで減数され
たと判断され、PCLリスト内に別のバッファが存在す
る場合は、DMAは新たなバッファアドレスと転送計数
値とを獲得し、転送を継続する。
【0129】PCIインタフェース内の受信FIFOか
らデータを移動する一方で、DMAはPCIバスマスタ
に対して転送の実行要求を行う前にFIFOが十分なデ
ータを持つまで待機する。この転送閾値には1つまたは
2つの条件が合致すると到達する。DMAは受信FIF
O内のバイト数が”高水位マーク”に達すると必ずPC
Iマスタの転送を要求する。この高水位マークはキャッ
シュラインサイズレジスタの上限値またはDMAグロー
バルレジスタの下限境界フィールドに等しい。DMAは
パケットのデータサイズの情報を、そのパケットが最初
に長さ層制御器によってFIFOの中に書き込まれた時
に、リンクから取得する。それはこの転送計数値を用い
てFIFO内のデータがパケット内の残っているデータ
かを判断し、もしもそうであり、そのサイズが高水位マ
ーク未満の場合は、その転送計数値がこの残りに等しい
PCIマスタに対して転送を要求する。DMAがデータ
を転送する間、DMA制御レジスタ内の転送長ビットに
バッファリングされたデータ内のデータバッファ開始ア
ドレスレジスタは、転送の現在状況を反映するように更
新される。
【0130】リンク層制御器がパケットの終端に達する
と、これは特別な制御トークンワードをFIFO内に書
き込んでパケットの終わりを記す。この制御ワードの中
に組み込まれているのは、バス上でそのパケットの完了
状態を表す状態ビットである。DMAはこのパケット終
了マーカーを用いてFIFOからPCIバスへのデータ
の転送を終了させる。パケット終了マーカーがIEEE
1394ビジー肯定確認を表している場合は、DMAは
PCLの第一バッファアドレスと転送計数値とを再獲得
し、パケットの転送を再度開始する。パケット終了マー
カーからビジー状態が表示され無い場合は、DMA状態
レジスタにはリンク層制御器からパケット終了マーカー
の中に送られた肯定確認状態がロードされ、パケットの
完了がセットされる。次にこれはPCL状態ワード内の
メモリに、このPCLへ転送されたビットの数と一緒に
書き込まれる。もしもINTビットがPCL内のデータ
バッファ制御/バイト計数命令に対してセットされる
と、割り込み信号が発せられて割り込み状態レジスタ内
の対応するDMA PCLビットの中にラッチされる。
もしも命令が受信および更新命令の場合は、残りの転送
計数値と次バッファアドレスとがPCLに書き込まれ
る。次にDMAは別のPCLが現PCLにリンクされて
いるか否かを、現PCLの次リストアドレスフィールド
を取り込む事によって判断する。リンクされているPC
Lが存在する場合は、DMAはそのリンクされているP
CLを現PCLとして実行を継続する。現PCLに別の
PCLがリンクされていない場合は、DMA停止割り込
みがこのチャンネルに対して関連する状態と共に割り込
み状態レジスタ内に生成され、そのチャンネルはアイド
リング状態となる。
【0131】DMA非同期転送操作に関して、図24か
ら図26に示すように非同期転送は、有効PCLポイン
タがパケット制御リスト開始アドレスレジスタに書き込
まれ、チャンネル可能化およびリンクビットがセットさ
れた後に判断される。非同期パケット処理装置の最終的
な目的は、リンク層制御器によってFIFOからIEE
E1394バスに転送される現パケットより1パケット
多く、残すことである。DMAの観点から見ると、バス
上のこのパケットは前回パケットである。リンク層制御
器から報告される全ての状態は、この前回パケットに関
するものと考えられる;しかしながら、”状態待ち”ビ
ットをPCL内の”データバッファ/バイト計数/命
令”の中にセットすることにより、このパイプライン操
作が防止される。DMAは前回パケット制御リスト開始
アドレスのアドレスを、前回パケット制御リスト開始ア
ドレス/暫定レジスタ内に保持する。”前回PCL有
効”と呼ばれるフラグがDMAによってDMAグローバ
ルレジスタ内に保持され、それが格納されていた有効ア
ドレスであるかの記録をとる。非同期チャンネルでの転
送操作は待ち状態が存在するかを確認しながら遂行され
る。待ち状態はPCL内の”データバッファ制御/バイ
ト計数/命令”の待ち選択ビットにより判断される。”
再試行”と呼ばれるフラグがDMAによってDMAグロ
ーバルレジスタ内に保持される。DMAはこのフラグを
使用して、再試行中にはこれらの待ち状態が無視される
よう、待ち状態が評価されるように追跡する。
【0132】待ち状態が存在しなくなると、DMAはパ
ケットの先頭を表す制御トークンをFIFOに書き込
み、データ移送フェーズに入る。ここでループに入っ
て、現転送計数値がチェックされそれが零に達している
かの確認が行われる。もしもそうである場合は、これが
PCLバッファリストの最終データバッファであるかを
確認するためのチェックが行われる。もしもPCL内に
別のバッファが存在する場合は、DMAは新たなバッフ
ァアドレスと転送計数値とを獲得し、転送を遂行する。
データを非同期転送FIFOの中にPCIインタフェー
スから移送する一方で、DMAはPCIバスマスタが読
み取り転送を実行するように要求する前に、FIFOが
十分な空きを持つまで待機する。DMAはDMA受信操
作に関して定義された高水位マークと等しいビット計数
値を備えたPCIマスタの転送を要求する。DMAがデ
ータを転送する間、DMA制御レジスタ内のデータバッ
ファ開始アドレスレジスタおよびデータバッファ転送リ
ンクビットは転送の現在状態を反映するように更新され
る。
【0133】バッファからデータの最終ビットが非同期
転送FIFOへ転送され、そのバッファが制御/バイト
計数PCLワード内の最終バッファビットで示されるよ
うに、PCLリストの最後である時には、DMAはパケ
ットの終端に達したことを知る。もしも前回パケットア
ドレスが有効であれば、DMAは状態のチェックを全パ
ケットが転送FIFOの中に詰め込まれるまで遅らせ
る。この場合、状態待ちビットがセットされない限り、
戻り状態は常に前回パケットに対するものである。もし
も唯1つのパケットのみが転送されるのであれば、前回
および現在パケットは同一である。もしも前回パケット
アドレスが有効の場合は、DMAはパケット計数器を確
認する。パケットがIEEE1394バスにリンク層制
御器によって転送が完了し、このパケットの状態が有効
の時は、リンク層制御器はパケット計数器を減数する。
DMAはパケット計数器が零となって前回パケットに対
して有効状態が適用出来ることを示すまで、空転して待
機する。もしも状態が前回パケットが再試行されるべき
事を示す場合は、DMAはFIFOの押し流し要求をリ
ンク層制御器に対して行い、リンク層制御器が再試行表
示を取り除くことでFIFOの押し流しが完了したこと
を示すまで待機する。次にDMAは前回パケットに”戻
って”全体の転送を開始する。再試行が発生しない場合
は、DMAはDMA状態レジスタをリンク層制御器から
送られてきた肯定確認状態で更新し、パケットの完了を
セットし、次に完了状態を前回PCL状態ワード内のメ
モリに、前回PCLとは関係しないはずの現在動作中の
PCLに対して転送されるビット数と共に書き込む。も
しも割り込みビットがPCLの中にセットされると、割
り込み信号が発せられて対応する割り込み状態レジスタ
ビットの中にラッチされる。
【0134】状態のチェックが終わると、DMAは特別
制御トークンを転送FIFOに書き込み、パケットの終
了を記す。パケット計数値は1に減数されてリンク層制
御器に対してパケットの終了がDMAによって書き込ま
れたことを示す。現PCLアドレスが前回PCLアドレ
スとして保存され、前回パケット制御リスト開始アドレ
スレジスタおよび”前回有効”フラグがDMAグローバ
ルレジスタの中にセットされる。次にDMAは別のPC
Lが現PCLにリンクされているか否かを、次リストア
ドレス値を取り込むことによって判断する。もしもそれ
が有効な場合は、DMAはこれを現PCLアドレスとし
実行を継続する。もしもそれが有効でないかまたは、状
態待ちビットがセットされている場合は、DMAは現パ
ケットがリンク層制御器によって転送されるまで待機す
る。パケット計数器が零に減数することで示されるよう
に、有効状態が認められる場合は、DMAはパケットが
IEEE1394ビジー状態で示されるように再試行さ
れるべきかを確認するためのチェックを行う。もしもそ
うである場合は、FIFOは先に説明したように押し流
され転送が再度試みられる。
【0135】もしもリンク層制御器で示されるように転
送時間切れ、再試行超過、またはFIFO未達が存在し
た場合は、パケットエラービットがDMA状態レジスタ
に肯定確認状態と共に送られる。この状態はPCL内で
更新される。転送時間切れまたは再試行超過の場合は、
対象ノードがもはや応答しないとすることが可能であろ
う。DMAはこの状況を、この特定ノードへのデータの
ストリームを形成するPCLをスキップ出来るようにす
ることで解消する。ソフトウェアはPCLの次PCLス
トリームの入口を転送データの次ストリーム(すなわち
別の1394ノードへの次非同期転送)に対する第一P
CLに指定することでセットできる。もしも次PCLス
トリームアドレスが有効な場合は、DMAはこのPCL
で実行を継続する。もしもこのアドレスが有効で無い場
合は、DMAチャンネルは次PCLアドレスが無効であ
ると印される場合に遭遇したときと同様、アイドリング
状態に入る。もしもこの次ストリーム内容が使用されな
い場合は、この値は次リストアドレスと同じ値にセット
されるべきである。もしもDMAが停止すると、DMA
停止割り込み状態を通知し次PCLストリーム導入が無
効となるため、次PCLストリームの再書き込みが必要
となる、それはDMAが次ストリーム取得状態にあり、
DMAが次リストアドレスを無視するためである。従っ
て、常に”次リストアドレス”および”次PCLストリ
ーム”を同一アドレスにセットすることが、もしも次ス
トリーム内容が使用されない場合には必要であって、そ
れは次PCLストリーム導入を実施する全ての非同期転
送チャンネルが、エラーのために宙ぶらりんになること
を防止するためである。
【0136】図28、29は上記の非同期および等時間
間隔転送操作で説明したのと同様の流れ図を示すが、D
MAエンジン74の補助操作に適用されるものである。
【0137】図30に示すように、PCIからローカル
バスへ、またローカルバスからPCIへの転送操作は、
PCIバスとローカルバスとの間のデータ転送を制御す
る。PCIアドレスおよび転送されるビット数は、転送
の様なその他の転送命令と同様、PCL内のPCLデー
タバッファ制御/ビット計数/命令ワードから導かれ
る。違いは転送の行き先または発信元がFIFOではな
くローカルバスであることである。そのローカルバスア
ドレスはAUX_ADRレジスタ(ハードウェアレジス
タ定義参照)から生成される。
【0138】PCIとLOCAL間操作は待ち状態が存
在するか否かを確認するチェックを行うことで遂行され
る。待ち状態はPCLオフセット0×18のbuf0c
tl/bit_cnt/cmdの待ち選択ビットにより
判断される。待ち状態がもはや存在していない場合は、
DMAはループに入りここで現転送計数値が零に達した
かを確認するためのチェックが行われる。もしもそうで
ある場合は、チェックを行ってこれがPCLバッファリ
ストの最終データバッファであるかを確認する。PCL
リスト内に別のバッファが存在する場合は、DMAは新
たなバッファアドレスと転送計数値とを獲得し転送を遂
行する。DMAがデータを転送する一方で、DMA制御
レジスタ内のデータバッファ開始アドレスレジスタおよ
びデータバッファ転送長ビットは転送の現在状態を反映
するように更新される。
【0139】バッファからのデータの最終ビットがロー
カルバスとバッファとの間で転送され、しかもそのバッ
ファが制御/ビット計数PCLワードの最終バッファビ
ットで示されるようにPCLリストの最後である場合、
DMAは転送の終端に達したことを知る。DMAはDM
A状態レジスタを0x0001の状態で更新し、PKT
CMPがセットされ、そしてPCLのオフセット0x
Cの所のPCL状態ワードに転送されたバイト数と共に
書き込まれる。INTビットがPCLオフセット0x1
8のbuf0ctl/bit_cnt/cmdにセット
されると、割り込み信号が発せられて、割り込み状態レ
ジスタ内の対応する(DMA_PCL[x])ビット内
にラッチされる。
【0140】次にDMAは現PCLに別のPCLがリン
クされているか否かの判断を、次リストアドレス(PC
Lオフセット0x00)を取り込むことで行う。もしも
それが有効であると、ビット0=0によって表示されて
いる場合は、DMAはこれを現PCLアドレスとして、
図に示すように実行を継続する。もしも別のPCLが現
PCLにリンクされていない場合は、ビット0=1によ
って表示され、リンクおよびビジービットがDMA制御
レジスタ内で消去され、DMA停止割り込みがこのチャ
ンネルに対して関連する状態(DMA_HLT[x])
と共に割り込み状態レジスタ内に生成され、そのチャン
ネルはアイドリング状態となる。
【0141】図31、32はFIFO高レベル機能ブロ
ック図500を示し、GRF80、非同期送信FIFO
82、および等時間間隔送信FIFO84に関するFI
FO操作を説明している。本発明のFIFOロジックは
リンク側クロック領域502とPCI側クロック領域5
04とを含む。PCI側クロック領域504、FIFO
制御ならびに状態レジスタ88は実時間でPCIバスイ
ンタフェースロジックにより書き込まれる。また、FI
FO制御器状態レジスタ88はポインタアドレス写像ロ
ジック86に対して入力を提供する。ポインタアドレス
写像ロジック86はFIFO読み取り書き込みポインタ
に対するRAMアドレス写像オフセットを生成する。
【0142】二重ポートRAM501はGRF80、非
同期送信FIFO82、および等時間間隔送信FIFO
84に対するデータ格納部となり、リンク側クロック領
域502とPCI側クロック領域504との間の境界部
に展開している。1つのPCI側クロック領域504、
クロック領域ポインタ翻訳ロジック506はDMAFI
FO占有状態ロジック508への入力を生成する。DM
A FIFO占有状態ロジック508はDMAロジック
信号510に対してFIFO状態を生成する。1つのリ
ンク側クロック領域502、クロック領域ポインタ翻訳
ロジック512は、1394送信受信ロジック信号51
6に対してFIFO状態を生成する、1394FIFO
送信機および受信機占有状態ロジック514に対して入
力を提供する。
【0143】二重ポートRAM501はマルチプレクサ
518およびマルチプレクサ520からアドレス入力を
受信する。マルチプレクサ518は汎用受信書き込みポ
インタ522、非同期送信読み取りポインタ524およ
び等時間間隔送信読み取りポインタ526から入力を受
信する。汎用受信書き込みポインタ522は1394受
信機およびアドレス写像ロジックとから制御を受ける。
非同期送信読み取りポインタ524および等時間間隔送
信読み取りポインタ526は1394受信機およびアド
レス写像ロジックとから制御を受ける。汎用受信書き込
みポインタ522、非同期送信読み取りポインタ524
および等時間間隔送信読み取りポインタ526からの出
力は、全て送信機および受信機占有状態ロジック51
4、クロック領域ポインタ翻訳ロジック506およびマ
ルチプレクサ518に送られる。
【0144】汎用受信ポインタ528、非同期送信書き
込みポインタ530、および等時間間隔送信書き込みポ
インタ532は全てDMAロジックおよびアドレス写像
ロジックから制御を受ける。汎用受信ポインタ528、
非同期送信書き込みポインタ530、および等時間間隔
送信書き込みポインタ532は全てDMA FIFO状
態ロジック508、クロック領域ポインタ翻訳ロジック
512、およびマルチプレクサ520に出力を提供す
る。
【0145】二重ポートRAM501はまた、1394
受信ロジックから33ビットデータバス534経由でデ
ータ入力、リンククロック25MHz信号536、そし
て制御を線538経由で1394送信/受信ロジックか
ら受信する。また、1394送信/受信ロジック538
からの制御はリンク側アドレスマルチプレクサ518に
送られる。バイトパックロジック540はDMA読み取
りデータをホストメモリから、DMAロジックからの制
御を経由して受信し、出力を33ビットデータバス54
2上に提供し、これは二重ポートRAM501のPCI
側データ入力に送られる。バイトアンパックロジック5
44は二重ポートRAM501PCI側データ出力33
ビットバス546からデータ出力を受信し、ホストメモ
リに対してDMA書き込みデータを提供する。また、D
MAロジックからの制御はバイトアンパックロジック5
44、マルチプレクサ520および二重ポートRAM5
01に送られる。零から33MHzPCIクロック信号
は二重ポートRAM501に送られる。
【0146】図2ならびに関連する説明文の中で行った
説明に関連して、FIFO、GRF80、非同期送信F
IFO82、および等時間間隔伝送FIFO84の機能
に関する更に詳細な説明を以下に行う。
【0147】FIFO状態ロジック514および516
は各々の論理FIFOに対する占有状態を生成するのに
必要なロジックを実行する。PCI側FIFO状態を計
算する際に、リンクからPCIクロック領域への翻訳ロ
ジックは、FIFOのリンク側上の各ポインタの現在値
をサンプリングし、これらのサンプルをもとにリンクク
ロック領域からPCIクロック領域への翻訳を行う。各
々の翻訳されたリンク側ポインタは、その対応するPC
I側ポインタと比較され、各FIFOの占有状態が生成
される。この状態はDMAロジックで使用されて、ホス
トメモリとFIFOとの間のデータ転送のペースがとら
れる。同様にリンク側FIFO状態を計算する際に、P
CIからリンククロック領域への翻訳ロジックは、FI
FOのPCI側上の各ポインタの現在値をサンプリング
し、これらのサンプルのPCIクロック領域からリンク
クロック領域への翻訳を行う。各々の翻訳されたPCI
側ポインタは、その対応するリンク側ポインタと比較さ
れ、各FIFOの占有状態が計算される。この状態は1
394送信/受信ロジックで用いられ、1394バスと
FIFOとの間のデータ転送のペースがとられる。
【0148】バイトパックロジック540はホストメモ
リからの全クウォドレットデータ読み取りを、バイト単
位で整列されたアドレス上に動作中DMAチャンネル経
由で集合させるロジックを実行する。このロジックは好
適に4つの8ビット幅レジスタと4つの8対1マルチプ
レクサとを含む。各レジスタとマルチプレクサとの対は
1つのバイト列に対応する。各レジスタの入力は入力バ
イト列に接続され、これは動作中DMAチャンネルによ
ってホストメモリに切り替えられる。各マルチプレクサ
の出力は出力バイト列に接続され、これはFIFOを駆
動する。各々の8対1マルチプレクサに対して、4つの
入力は1対1対応で各レジスタ出力に接続される。残り
の4つの入力は1対1対応で各レジスタ入力に接続され
る。この構成により4つの入力バイト列からのビット配
列DMA読み取りデータを異なる順序で4つの出力バイ
ト列に切り替えることが可能となる。バイト列マルチプ
レクサの制御は動作中DMA読み取りチャンネルで行わ
れる。
【0149】バイトアンパックロジック544は、ホス
トメモリにバイト単位で整列されたアドレス上に動作中
DMAチャンネル経由で、書き込むためにFIFOから
個々の選択可能なバイトへクウォドレットデータ読み取
りを解体するために必要なロジックを実行する。このロ
ジックは4つの8ビット幅レジスタと4つの8対1マル
チプレクサとで構成される。各レジスタとマルチプレク
サとの対は1つのバイト列に対応する。各レジスタの入
力は入力バイト列に接続され、これはFIFOから駆動
される。各マルチプレクサの出力は出力バイト列に接続
され、これはDMAチャンネルによってホストメモリに
切り替えられる。各々の8対1マルチプレクサに対して
4つの入力が1対1対応で各レジスタ出力に接続され
る。残りの4つの入力は1対1対応で各レジスタ入力に
接続される。この構成でFIFOからのクウォドレット
読み取りを異なる順序で出力バイト列上に切り替えるこ
とが可能となる。バイト列マルチプレクサの制御は動作
中DMA書き込みチャンネルによって行われる。
【0150】本発明を詳細に渡って説明してきたが、種
々の変更、代入および改造が添付の請求項で定義された
本発明の精神ならびに範囲から逸脱することなく実行で
きることを理解されたい。
【0151】以上の説明に関して更に以下の項を開示す
る。 (1)データ通信チャンネルを通してデータパケットを
割り当てるための方法であって、データパケットの少な
くとも一部をデータパケット比較回路に受信し、前記デ
ータパケットの少なくとも前記一部を予め定められた一
致データセットと比較し、少なくとも前記一部を、少な
くともひとつのデータ通信チャンネルに対応するプログ
ラム的に可変のデータフィールドを含む前記一致データ
セットにセットし、前記少なくとも前記一部と前記一致
データセットとの間に、予め定められた対応が生じた場
合に、チャンネル選択信号を前記少なくともひとつのデ
ータ通信チャンネルに誘導する、ステップを含む方法。
【0152】(2)第1項記載の方法に於いて、前記デ
ータパケットが複数の同様のデータパケットに関連し、
前記複数のデータパケットは同様にそれぞれの一致デー
タセットと比較されるそれぞれのデータパケット部分を
有し、複数のそれぞれのチャンネル選択信号を少なくと
もひとつのデータ通信チャンネルに誘導する、前記方法
が更に:前記チャンネル選択信号および前記複数のそれ
ぞれのチャンネル選択信号を優先順位符号化回路に受信
し;前記チャンネル選択信号と前記複数のそれぞれのチ
ャンネル選択信号の少なくともひとつを、少なくともひ
とつのデータ通信チャンネルに前記チャンネル選択信号
と前記複数のそれぞれのチャンネル選択信号との組み合
わせに関連した、予め定められた優先順位データに従っ
て誘導する、以上の手順を含む前記方法。
【0153】(3)第2項記載の方法が更に、前記チャ
ンネル選択信号と前記複数のそれぞれのチャンネル選択
信号とを組み合わせ、論理的にORを取られた比較器一
致信号を前記データ通信チャンネルに関連した受信機制
御ロジックに対して生成する手順を含む、前記方法。
【0154】(4)第1項記載の方法に於いて、前記比
較手順が更にワード0フィールド選択レジスタ内容とワ
ード0比較値レジスタ内容とを比較する手順を含む、前
記方法。
【0155】(5)第1項記載の方法に於いて、前記比
較手順が更にワード1フィールド選択レジスタ内容とワ
ード1比較値レジスタ内容とを比較する手順を含む、前
記方法。
【0156】(6)第1項記載の方法に於いて、前記比
較手順が更に入力データパケットのワード0とワード1
とを含む前記データパケットの前記部分と一致データセ
ットとを比較する手順を含む、前記方法。
【0157】(7)第1項記載の方法に於いて、前記比
較手順が更に前記データパケットの前記部分と一致デー
タセットとを比較する手順を含み、前記一致データセッ
トがワード0とワード1の期待値を含む、前記方法。
【0158】(8)1つのデータパケットを1つのデー
タ通信チャンネルに割り当てるためのDMAチャンネル
受信パケット比較器回路であって、データパケットの少
なくとも一部をデータパケット比較回路内に受信する、
受信比較器と;前記受信比較器と関連し、少なくとも前
記一部を予め定められた一致データセットと比較し、少
なくとも前記一部を、少なくともひとつのデータ通信チ
ャンネルに対応するプログラム的に可変のデータフィー
ルドを含む前記一致データセットにセットすることで比
較するための比較回路と、前記少なくとも前記部分と前
記一致データセットとの間に、予め定められた対応が生
じた場合に、チャンネル選択信号を前記少なくともひと
つのデータチャンネルに誘導するための誘導回路とを含
む前記DMAチャンネル受信パケット比較器回路。
【0159】(9)第8項記載のDMAチャンネル受信
パケット比較器回路に於いて、前記データパケットが複
数の同様のデータパケットに関連し、前記複数のデータ
パケットは同様にそれぞれの一致データセットと比較さ
れるそれぞれのデータパケット部分を有し、複数のそれ
ぞれのチャンネル選択信号を少なくともひとつのデータ
通信チャンネルに誘導する、前記DMAチャンネル受信
パケット比較器回路が更に:前記チャンネル選択信号お
よび前記複数のそれぞれのチャンネル選択信号を受信す
るための優先順位符号化器と;前記優先順位符号化器に
関連し、前記チャンネル選択信号と前記複数のそれぞれ
のチャンネル選択信号の少なくともひとつを、少なくと
もひとつのデータ通信チャンネルに前記チャンネル選択
信号と前記複数のそれぞれのチャンネル選択信号との組
み合わせに関連した、予め定められた優先順位データに
従って誘導する誘導回路とを含む、前記DMAチャンネ
ル受信パケット比較器回路。
【0160】(10)第9項記載のDMAチャンネル受
信パケット比較器回路が更に、前記チャンネル選択信号
と前記複数のそれぞれのチャンネル選択信号とを組み合
わせ、論理的にORを取られた比較器一致信号を前記デ
ータ通信チャンネルに関連した受信機制御ロジックに対
して生成するための回路を含む、前記DMAチャンネル
受信パケット比較器回路。
【0161】(11)第8項記載のDMAチャンネル受
信パケット比較器回路に於いて、前記比較回路が更にワ
ード0フィールド選択レジスタ内容とワード0比較値レ
ジスタ内容とを比較する回路を含む、前記DMAチャン
ネル受信パケット比較器回路。
【0162】(12)第9項記載のDMAチャンネル受
信パケット比較器回路に於いて、前記比較回路が更にワ
ード1フィールド選択レジスタ内容とワード1比較値レ
ジスタ内容とを比較する回路を含む、前記DMAチャン
ネル受信パケット比較器回路。
【0163】(13)第8項記載のDMAチャンネル受
信パケット比較器回路に於いて、前記比較回路が更に入
力データパケットのワード0とワード1とを含む前記デ
ータパケットの前記部分と一致データセットとを比較す
る回路を含む、前記DMAチャンネル受信パケット比較
器回路。
【0164】(14)第8項記載のDMAチャンネル受
信パケット比較器回路に於いて、前記比較回路が更に前
記データパケットの前記部分と一致データセットとを比
較する回路を含み、前記位置データセットがワード0と
ワード1の期待値を含む、前記DMAチャンネル受信パ
ケット比較器回路。
【0165】(15)パーソナルコンピュータシステム
であって、データパケット転送バスを採用した少なくと
もひとつの周辺機器と、PCIバスを含むホストCPU
と、前記PCIバスと前記周辺機器との間のインタフェ
ースを行うPCIインタフェース機器であって、該PC
Iインタフェース機器はデータパケットをデータ通信チ
ャンネルに割り当てるためのDMAチャンネル受信パケ
ット比較器回路を含む、前記PCIインタフェース機器
とを含む、コンピュータと、データパケットの少なくと
も一部をデータパケット比較回路の中に受信するための
受信比較器と、前記受信比較器と関連し、前記データパ
ケットの少なくとも前記一部を予め定められた一致デー
タセットと比較し、少なくとも前記一部を、少なくとも
ひとつのデータ通信チャンネルに対応するプログラム的
に可変のデータフィールドを含む前記一致データセット
にセットする比較回路と、前記少なくとも前記一部と前
記一致データセットとの間に、予め定められた対応が生
じた場合に、チャンネル選択信号を前記少なくともひと
つのデータチャンネルに誘導するための誘導回路とを含
む、前記パーソナルコンピュータシステム。
【0166】(16)第15項記載のパーソナルコンピ
ュータシステムに於いて、前記DMAチャンネル受信パ
ケット比較器回路が更に、前記チャンネル選択信号と前
記複数のそれぞれのチャンネル選択信号とを組み合わ
せ、論理的にORを取られた比較器一致信号を前記デー
タ通信チャンネルに関連した受信機制御ロジックに対し
て生成するための回路を含む、前記パーソナルコンピュ
ータシステム。
【0167】(17)第15項記載のパーソナルコンピ
ュータシステムに於いて、前記DMAチャンネル受信パ
ケット比較器回路が更にワード0フィールド選択レジス
タ内容とワード0比較値レジスタ内容とを比較する回路
を含む、前記パーソナルコンピュータシステム。
【0168】(18)第15項記載のパーソナルコンピ
ュータシステムに於いて、前記DMAチャンネル受信パ
ケット比較器回路が更にワード1フィールド選択レジス
タ内容とワード1比較値レジスタ内容とを比較する回路
を含む、前記パーソナルコンピュータシステム。
【0169】(19)第15項記載のパーソナルコンピ
ュータシステムに於いて、前記DMAチャンネル受信パ
ケット比較器回路が更に入力データパケットのワード0
とワード1とを含む前記データパケットの前記部分と一
致データセットとを比較する回路を含む、前記パーソナ
ルコンピュータシステム。
【0170】(20)第15項記載のパーソナルコンピ
ュータシステムに於いて、前記DMAチャンネル受信パ
ケット比較器回路が更に前記データパケットの前記部分
と一致データセットとを比較する回路を含み、前記位置
データセットがワード0とワード1の期待値を含む、前
記パーソナルコンピュータシステム。
【0171】(21)PCIインタフェースASIC2
0のDMAチャンネル受信パケット比較器ロジック74
はデータパケット106にデータ通信チャンネルを割り
当て、データパケットの少なくとも一部108をデータ
パケット比較回路110に受信するための、DMAチャ
ンネル比較器ロジック110を含む。データパケット比
較回路120はデータパケットの少なくとも一部108
と予め定められた一致データセット122とを比較す
る。部分108と一致データセット122とは少なくと
もひとつのデータ通信チャンネル117,119,12
1,123に対応する、プログラム的に変更可能なデー
タフィールドWD0,WD1を形成する。部分108と
一致データセット122との間に予め定められた対応が
生じた場合は、チャンネル選択信号117,119,1
21,123が優先順位符号化器125に送られる。
【図面の簡単な説明】
【図1】本発明を組み入れたパーソナルコンピュータ環
境の動作概要図を図示する。
【図2】本発明の機能ロジックの一般的動作概要図を示
す。
【図3】本発明の比較ロジックの概念図を図示する。
【図4】本発明の比較ロジックの更に詳細な概念表現を
示す。
【図5】本発明のパケット受信機ロジックのヘッダ比較
機能の更に詳細を図示する。
【図6】本発明に適用される一致データセットフィール
ドとして考えられるデータ値を図示する。
【図7】本発明に適用される一致データセットフィール
ドとして考えられるデータ値を図示する。
【図8】本発明に適用される一致データセットフィール
ドとして考えられるデータ値を図示する。
【図9】本発明に適用される一致データセットフィール
ドとして考えられるデータ値を図示する。
【図10】本発明のプログラム可能選択的書き込み可能
データフリップフロップのひとつの実施例を図示する。
【図11】本発明のプログラム可能ビット選択機能を実
現するための、アドレスフィールド例を示す。
【図12】時分割多重処理されている直接メモリアクセ
ス、多重チャンネル環境の図を示し、本発明のDMA命
令処理動作を図示する。
【図13】現時点で動作中のチャンネルに基づく優先順
位の割り当てを図示する表を示す。
【図14】自動ブート機能に適用可能な、本発明のイン
タフェース装置構造の一部を示す。
【図15】図14の自動ブートピンが動作中状態にセッ
トされた際の、内部PCIアドレスバスのビット31及
び30に対応するPCIマスタバス命令の表を示す。
【図16】本発明のローカルバスインタフェースをブロ
ック図形式で示す。
【図17】水平および垂直同期信号を検出するための本
発明のインタフェース装置のロジックを図式的に示す。
【図18】単一データパケットを単一走査線へ誘導する
操作を含む、本発明の別の機能を図示する。
【図19】単一データパケットを多重ビデオ走査線に写
像するための、本実施例の動作を示す。
【図20】本発明のDMAパケット処理装置で使用され
るパケット制御リストデータ構造ならびにデータバッフ
ァのメモリマップを図示する。
【図21】DMA機械の部分的流れ図を示し、本発明の
パケット処理装置動作を図示する。
【図22】DMA機械の部分的流れ図を示し、本発明の
パケット処理装置動作を図示する。
【図23】DMA機械の部分的流れ図を示し、本発明の
パケット処理装置動作を図示する。
【図24】DMA機械の部分的流れ図を示し、本発明の
非同期送信動作を図示する。
【図25】DMA機械の部分的流れ図を示し、本発明の
非同期送信動作を図示する。
【図26】DMA機械の部分的流れ図を示し、本発明の
非同期送信動作を図示する。
【図27】DMA機械の部分的流れ図を示し、本発明の
等時間間隔送信動作を図示する。
【図28】本発明の補助機能流れ図の例を示す。
【図29】本発明の補助機能流れ図の例を示す。
【図30】DMA機械の部分的流れ図を示し、本発明の
ローカルバス/PCIバス相互通信動作を図示する。
【図31】本発明のFIFO回路の中で生じる機能の、
高いレベルでの概念図である。
【図32】本発明のFIFO回路の中で生じる機能の、
高いレベルでの概念図である。
【符号の説明】
10 パーソナルコンピュータ環境 12 パーソナルコンピュータ 14 周辺機器 16 インタフェースバス 18 3ポート物理層インタフェース 20 PCIインタフェースASIC 22 シリアルEPROM 24 PCIバス 26 補助ポートローカルバス 28 ローカルバス 30、31 アドレスビット 34 PCIホストブリッジ 36 フラッシュPROM 38 (DMA)チャンネル制御静的RAM(SRA
M) 40 使用者定義機能(AUX) 42 ビデオ入出力用ズームビデオ(ZV)ポート 46 ローカルメモリ 48 CD ROM装置 50 レーザプリンタ 52 デスクトップカメラ 56 ビデオケーブルセットトップボックス 60 PCIバスロジック 62 シリアルEPROMインタフェース 64 PCIマスタロジック 66 PCIスレーブロジック 68 PCI構成制御ならびに状態レジスタ 70 ローカルバスインタフェースロジック 72 DMAロジック 74 DMAエンジン 76 DMA制御ならびに状態レジスタ 78 FIFOロジック 80 汎用受信FIFO 82 非同期伝送FIFO 84 等時間間隔伝送FIFO 86 ポインタアドレス写像ロジック 88 FIFO制御ならびに状態レジスタ 90 リンク層制御ロジック 92 制御ならびに状態レジスタ 94 周期監視ロジック 96 周期タイマロジック 98 パケット伝送制御ロジック 100 CRCロジック 102 パケット受信機制御ロジック 104 物理リンクインタフェースロジック 106 受信データ 110 DMAヘッダ比較レジスタおよびロジック 120 DMAチャンネルヘッダ比較ロジック 128 優先順位符号化器 129 論理OR回路 136 行き先ID比較ロジック 140 転送コード比較ロジック 144、146 比較ロジック 150 AND機能 160 転送コード 162 非同期ヘッダ 164 転送コードビット 166 等時間間隔ヘッダ 250 レジスタ書き込み回路 252 汎用I/O(GPIO)書き込みデータ入力 254 データフリップフロップ 256 クロック信号 258 書き込み可能入力 260 AND機能 262 GPIOアドレス了承信号 264 書き込み標準信号 266 GPIOアドレスビット入力 300 DMA命令処理環境 302 PCIレジスタ書き込みデータ 304 マルチプレクサ 306 DMAレジスタ書き込みデータ 310 DMAレジスタ 312 前回アドレスまたは暫定フィールド 314 パケット制御リスト開始アドレスレジスタ 316 DMAバッファ開始アドレスレジスタ 320 DMA状態レジスタ 322 DMA制御レジスタ 324 現DMA状態レジスタ 326 準備完了ビット 328 DMAレジスタ書き込み調停選択回路 330 PCIスレーブ信号 332 PCIマスタ信号 334 DMAPCIマスタ周期入力 336 スレーブ終了入力 340 DMAチャンネル調停器 342 ロックチャンネル入力 344 マルチプレクサ 346 マルチプレクサ 348 スレーブレジスタ読み込みアドレス入力 350 DMAレジスタ読み取りデータ出力 370 自動ブート入力 390 ローカルバスインタフェースブロック 392 ローカルバス構成レジスタ 394 ズームビデオ(ZV)復号インタフェースブロ
ック 396 ZV機械 398 アドレス/データ/ビット可能化保持レジスタ 400 ローカルバスインタフェース状態機械 402 スレーブ確認肯定割り込みブロック 410 ズームポートアドレスマップ 412 等時間間隔パケットヘッダ 414 等時間間隔パケットデータ 416 メモリ空間 440 ズームビデオ等時間間隔パケット 450 PCI待ち行列 452 開始アドレス 454 ダミーパケット制御リスト 456 転送命令パケット制御リスト 480 DMAレジスタ 484 条件成立時の行き先アドレス 501 二重ポートRAM 502 リンク側クロック領域 504 PCI側クロック領域 506 クロック領域ポインタ翻訳ロジック 508 DMA FIFO占有状態ロジック 510 DMAロジック信号 512 クロック領域ポインタ翻訳ロジック 514 送信機および受信機占有状態ロジック 516 1394送信受信ロジック信号 518 マルチプレクサ 520 マルチプレクサ 522 汎用受信書き込みポインタ 524 非同期送信読み取りポインタ 526 等時間間隔送信読み取りポインタ 528 汎用受信ポインタ 530 非同期送信書き込みポインタ 532 等時間間隔送信書き込みポインタ 536 リンククロック25MHz信号 538 1394送信/受信ロジック 540 バイトパックロジック 542 33ビットデータバス 546 PCI側データ出力33ビットバス

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 データ通信チャンネルを通してデータパ
    ケットを割り当てるための方法であって、 データパケットの少なくとも一部をデータパケット比較
    回路で受信し、 前記データパケットの少なくとも前記一部を予め定めら
    れた一致データセットと比較し、前記少なくとも一部お
    よび前記一致データセットが、少なくともひとつのデー
    タ通信チャンネルに対応するプログラム的に可変のデー
    タフィールドを含み、 前記少なくとも一部と前記一致データセットとの間に予
    め定められた対応が生じた場合に、チャンネル選択信号
    を前記少なくともひとつのデータチャンネルに誘導す
    る、ステップを含む方法。
  2. 【請求項2】 1つのデータパケットを1つのデータ通
    信チャンネルに割り当てるためのDMAチャンネル受信
    パケット比較器回路であって、 データパケットの少なくとも一部をデータパケット比較
    器回路内に受信する受信比較器と、 前記受信比較器と関連し、前記データパケットの少なく
    とも前記一部を予め定められた一致データセットと比較
    するための比較回路であって、前記少なくとも一部およ
    び前記一致データセットが、少なくともひとつのデータ
    通信チャンネルに対応するプログラム的に可変のデータ
    フィールドを含む比較回路と、 前記少なくとも一部と前記一致データセットとの間に予
    め定められた対応が生じた場合に、チャンネル選択信号
    を前記少なくともひとつのデータチャンネルに誘導する
    ための誘導回路と、を含むDMAチャンネル受信パケッ
    ト比較器回路。
JP11112697A 1996-04-26 1997-04-28 受信データパケットへのチャンネル番号割当て方法ならびにdmaチャンネル受信パケット比較器回路 Pending JPH1074175A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US1684196P 1996-04-26 1996-04-26
US016841 1996-04-26

Publications (1)

Publication Number Publication Date
JPH1074175A true JPH1074175A (ja) 1998-03-17

Family

ID=21779267

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11112697A Pending JPH1074175A (ja) 1996-04-26 1997-04-28 受信データパケットへのチャンネル番号割当て方法ならびにdmaチャンネル受信パケット比較器回路

Country Status (7)

Country Link
US (1) US5948080A (ja)
EP (1) EP0803819B1 (ja)
JP (1) JPH1074175A (ja)
KR (1) KR970072827A (ja)
DE (1) DE69731421T2 (ja)
SG (1) SG77135A1 (ja)
TW (1) TW386208B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002169767A (ja) * 2000-12-04 2002-06-14 Sony Corp データ転送方法、データ転送装置、通信インターフェース方法および通信インターフェース装置

Families Citing this family (73)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6219697B1 (en) * 1997-05-02 2001-04-17 3Com Corporation Method and apparatus for operating the internet protocol over a high-speed serial bus
GB9720811D0 (en) * 1997-09-30 1997-12-03 Sgs Thomson Microelectronics Dual port buffer
US6298406B1 (en) * 1997-10-24 2001-10-02 Sony Corporation Method of and apparatus for detecting direction of reception of bus packets and controlling direction of transmission of bus packets within an IEEE 1394 serial bus node
US6188699B1 (en) * 1997-12-11 2001-02-13 Pmc-Sierra Ltd. Multi-channel encoder/decoder
US6209070B1 (en) * 1998-03-20 2001-03-27 International Business Machines Corporation System for multiple data transfer operations
US6134617A (en) * 1998-04-03 2000-10-17 Lsi Logic Corporation Method and apparatus for managing access to a loop in a data processing system
US6629173B2 (en) * 1998-05-12 2003-09-30 Sony Corporation Method of reserving bandwidth for an isochronous channel on a serial bus network of devices
US6202116B1 (en) 1998-06-17 2001-03-13 Advanced Micro Devices, Inc. Write only bus with whole and half bus mode operation
US6151651A (en) * 1998-06-17 2000-11-21 Advanced Micro Devices, Inc. Communication link with isochronous and asynchronous priority modes coupling bridge circuits in a computer system
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
US6148357A (en) * 1998-06-17 2000-11-14 Advanced Micro Devices, Inc. Integrated CPU and memory controller utilizing a communication link having isochronous and asynchronous priority modes
US6263390B1 (en) * 1998-08-18 2001-07-17 Ati International Srl Two-port memory to connect a microprocessor bus to multiple peripherals
US6336179B1 (en) 1998-08-21 2002-01-01 Advanced Micro Devices, Inc. Dynamic scheduling mechanism for an asynchronous/isochronous integrated circuit interconnect bus
US6122189A (en) * 1998-10-02 2000-09-19 Rambus Inc. Data packet with embedded mask
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
US6611891B1 (en) 1998-11-23 2003-08-26 Advanced Micro Devices, Inc. Computer resource configuration mechanism across a multi-pipe communication link
US6457084B1 (en) 1998-11-23 2002-09-24 Advanced Micro Devices, Inc. Target side distributor mechanism for connecting multiple functions to a single logical pipe of a computer interconnection bus
US6690676B1 (en) 1998-11-23 2004-02-10 Advanced Micro Devices, Inc. Non-addressed packet structure connecting dedicated end points on a multi-pipe computer interconnect bus
US6618782B1 (en) 1998-11-23 2003-09-09 Advanced Micro Devices, Inc. Computer interconnection bus link layer
US6421751B1 (en) 1998-11-23 2002-07-16 Advanced Micro Devices, Inc. Detecting a no-tags-free condition in a computer system having multiple outstanding transactions
US6457081B1 (en) 1998-11-23 2002-09-24 Advanced Micro Devices, Inc. Packet protocol for reading an indeterminate number of data bytes across a computer interconnection bus
US6499079B1 (en) 1998-11-23 2002-12-24 Advanced Micro Devices, Inc. Subordinate bridge structure for a point-to-point computer interconnection bus
US6470410B1 (en) 1998-11-23 2002-10-22 Advanced Micro Devices, Inc. Target side concentrator mechanism for connecting multiple logical pipes to a single function utilizing a computer interconnection bus
US6633926B1 (en) * 1998-11-30 2003-10-14 Matsushita Electric Industrial Co., Ltd. DMA transfer device capable of high-speed consecutive access to pages in a memory
KR20000039742A (ko) * 1998-12-15 2000-07-05 서평원 에이티엠 셀 버스 모니터링 방법
US6519265B1 (en) * 1999-05-28 2003-02-11 Sony Corporation System and method for context switching in an electronic network
US6169745B1 (en) * 1999-06-18 2001-01-02 Sony Corporation System and method for multi-level context switching in an electronic network
JP2003506793A (ja) * 1999-08-09 2003-02-18 クロス マッチ テクノロジーズ, インコーポレイテッド インターフェイスケーブルを介して位置アドレスおよびラインスキャンデータを有するパケットを送信するシステムおよび方法
US6529979B1 (en) * 1999-11-08 2003-03-04 International Business Machines Corporation Method and apparatus for a high-speed serial communications bus protocol with positive acknowledgement
EP1113626B1 (en) * 1999-12-30 2009-04-22 Sony Deutschland GmbH Interface link layer device to build a distributed network
JP2001230821A (ja) * 2000-02-16 2001-08-24 Sony Corp データ中継装置および方法、並びに提供媒体
JP2001244952A (ja) * 2000-02-29 2001-09-07 Sony Corp 通信制御装置
US20010046231A1 (en) * 2000-04-20 2001-11-29 Masahide Hirasawa Communication control apparatus
US6643728B1 (en) * 2000-05-30 2003-11-04 Lexmark International, Inc. Method and apparatus for converting IEEE 1284 signals to or from IEEE 1394 signals
US6697887B1 (en) * 2000-06-14 2004-02-24 Advanced Micro Devices, Inc. System and method for interfacing between a media access controller and a number of physical layer devices using data addressing
JP3748376B2 (ja) 2000-08-22 2006-02-22 松下電器産業株式会社 送信装置、ソースパケット生成装置、パケット形態決定方法、及び記録媒体
FR2813410B1 (fr) * 2000-08-31 2003-07-18 Canon Kk Procede de transfert et de formatage de donnees et dispositif pour la mise en oeuvre de ce procede
US6647447B1 (en) * 2000-12-29 2003-11-11 Sony Corporation Allocating isochronous channel numbers to devices on an IEEE-1394 bus
US7194766B2 (en) * 2001-06-12 2007-03-20 Corrent Corporation Method and system for high-speed processing IPSec security protocol packets
DE10132276A1 (de) * 2001-07-04 2003-01-23 Siemens Ag System zum Schalten, Steuern, Programmieren und Bedienen von Kommunikationseinrichtungen
US7613699B2 (en) * 2001-08-03 2009-11-03 Itt Manufacturing Enterprises, Inc. Apparatus and method for resolving security association database update coherency in high-speed systems having multiple security channels
US7171509B2 (en) * 2002-01-09 2007-01-30 International Business Machines Corporation Method and apparatus for host messaging unit for Peripheral Component Interconnect busmaster devices
WO2004099970A1 (en) * 2003-05-08 2004-11-18 Endace Technology Limited Data transmission processing system and method
KR100566266B1 (ko) * 2004-01-20 2006-03-29 삼성전자주식회사 휴대용 단말기와 pc간의 데이터 통신방법
US7428694B2 (en) 2004-03-02 2008-09-23 Stmicroelectronics S.A. Device for protection against error injection into a synchronous flip-flop of an elementary logic module
US20060031603A1 (en) * 2004-08-09 2006-02-09 Bradfield Travis A Multi-threaded/multi-issue DMA engine data transfer system
CA2573994C (en) * 2004-08-17 2012-07-17 Samsung Electronics Co., Ltd. Method and system for forming and transmitting/receiving neighbor base station information in a bwa communication system
DE102004046822A1 (de) * 2004-09-27 2006-03-30 Infineon Technologies Ag Verfahren zum Übertragen von Daten zwischen einem Speicher und mehreren peripheren Einheiten mit Hilfe einer Direct Memory Access-Steuerung sowie entsprechende Direct Memory Access-Steuervorrichtung
US7865624B1 (en) 2005-04-04 2011-01-04 Oracle America, Inc. Lookup mechanism based on link layer semantics
US7843926B1 (en) * 2005-04-05 2010-11-30 Oracle America, Inc. System for providing virtualization of network interfaces at various layers
US7797467B2 (en) * 2005-11-01 2010-09-14 Lsi Corporation Systems for implementing SDRAM controllers, and buses adapted to include advanced high performance bus features
JP4530971B2 (ja) * 2005-11-07 2010-08-25 株式会社ソニー・コンピュータエンタテインメント 起動処理装置、dma転送システム、dma転送方法
WO2008068612A1 (en) * 2006-12-08 2008-06-12 Marvell World Trade Ltd. System and method for peripheral device communications
ATE553436T1 (de) * 2007-02-28 2012-04-15 Nec Corp Dma-transfereinrichtung und verfahren
US8125936B2 (en) * 2007-03-08 2012-02-28 Marvell International Ltd. Low power data streaming
US8001285B1 (en) 2007-12-11 2011-08-16 Marvell Israel (M.I.S.L) Ltd. Method and apparatus for reducing host processor activity during interaction with peripheral devices
US9032113B2 (en) * 2008-03-27 2015-05-12 Apple Inc. Clock control for DMA busses
US20100064072A1 (en) * 2008-09-09 2010-03-11 Emulex Design & Manufacturing Corporation Dynamically Adjustable Arbitration Scheme
US9152483B2 (en) 2009-01-16 2015-10-06 F5 Networks, Inc. Network devices with multiple fully isolated and independently resettable direct memory access channels and methods thereof
US8843651B2 (en) * 2009-06-30 2014-09-23 Oracle America, Inc. Software aware throttle based flow control
US8447897B2 (en) * 2011-06-24 2013-05-21 Freescale Semiconductor, Inc. Bandwidth control for a direct memory access unit within a data processing system
US9128925B2 (en) 2012-04-24 2015-09-08 Freescale Semiconductor, Inc. System and method for direct memory access buffer utilization by setting DMA controller with plurality of arbitration weights associated with different DMA engines
US20140019650A1 (en) * 2012-07-10 2014-01-16 Zhi Bin Li Multi-Write Bit-Fill FIFO
CN104123252A (zh) * 2013-04-26 2014-10-29 韩国科亚电子股份有限公司 多通道直接存储器存取控制器及其控制方法
JP6176058B2 (ja) 2013-10-29 2017-08-09 株式会社ソシオネクスト ダイレクトメモリアクセス制御装置、その制御方法、及び情報処理システム
JP6294732B2 (ja) * 2014-03-31 2018-03-14 株式会社メガチップス データ転送制御装置及びメモリ内蔵装置
US20150324136A1 (en) * 2014-05-07 2015-11-12 Lsi Corporation Storage system having fifo storage and reserved storage
EP3001322B1 (en) * 2014-09-29 2018-08-08 F5 Networks, Inc Network devices with multiple fully isolated and independently resetable direct memory access channels and methods thereof
CN105117358B (zh) * 2015-08-18 2018-05-29 广东威创视讯科技股份有限公司 一种dma数据传输方法及装置
US11855898B1 (en) 2018-03-14 2023-12-26 F5, Inc. Methods for traffic dependent direct memory access optimization and devices thereof
TWI782694B (zh) * 2021-09-06 2022-11-01 智原科技股份有限公司 時序調整電路、時序不對稱消除方法及接收電路

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5103461A (en) * 1989-06-29 1992-04-07 Symbol Technologies, Inc. Signal quality measure in packet data communication
JP2833796B2 (ja) * 1989-10-11 1998-12-09 日本電気株式会社 バス調停装置
US5491802A (en) * 1992-05-29 1996-02-13 Hewlett-Packard Company Network adapter for inserting pad bytes into packet link headers based on destination service access point fields for efficient memory transfer
US5434976A (en) * 1992-09-28 1995-07-18 Standard Microsystems Corporation Communications controller utilizing an external buffer memory with plural channels between a host and network interface operating independently for transferring packets between protocol layers
US5450551A (en) * 1993-05-28 1995-09-12 International Business Machines Corporation System direct memory access (DMA) support logic for PCI based computer system
US5675732A (en) * 1995-05-08 1997-10-07 Lucent Technologies Inc. Dynamic channel assignment for TCP/IP data transmitted via cable television channels by managing the channels as a single sub network
US5606561A (en) * 1995-07-28 1997-02-25 Motorola, Inc. Method, device/microprocessor, and computer software for providing packet fragmentation for fair, efficient downlink transmission with low packet delay
US5752076A (en) * 1995-08-31 1998-05-12 Intel Corporation Dynamic programming of bus master channels by intelligent peripheral devices using communication packets
US5768267A (en) * 1995-10-18 1998-06-16 Telefonaktiebolaget Lm Ericsson Method for system registration and cell reselection
US5701302A (en) * 1995-10-25 1997-12-23 Motorola, Inc, Method and apparatus for adaptively companding data packets in a data communication system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002169767A (ja) * 2000-12-04 2002-06-14 Sony Corp データ転送方法、データ転送装置、通信インターフェース方法および通信インターフェース装置

Also Published As

Publication number Publication date
EP0803819B1 (en) 2004-11-03
EP0803819A3 (en) 2002-01-09
SG77135A1 (en) 2000-12-19
TW386208B (en) 2000-04-01
KR970072827A (ko) 1997-11-07
DE69731421T2 (de) 2005-11-10
US5948080A (en) 1999-09-07
EP0803819A2 (en) 1997-10-29
DE69731421D1 (de) 2004-12-09

Similar Documents

Publication Publication Date Title
JPH1074175A (ja) 受信データパケットへのチャンネル番号割当て方法ならびにdmaチャンネル受信パケット比較器回路
JPH1040211A (ja) パケット化されたデータ通信インタフェース機器内での直接メモリアクセス優先順位を割り当てるための方法ならびにdmaチャンネル回路
US5996032A (en) System for writing a plurality of data bits less than from the total number of bits in a data register using a single register write operation
US6006286A (en) System for controlling data packet transfers by associating plurality of data packet transfer control instructions in packet control list including plurality of related logical functions
US6333938B1 (en) Method and system for extracting control information from packetized data received by a communications interface device
US6081852A (en) Packet data transferring system for autonomously operating a DMA by autonomous boot mode select signal wherein the DMA is enabled to at least one program control list
US6519268B1 (en) Asynchronous data pipe for automatically managing asynchronous data transfers between an application and a bus structure
US20020196806A1 (en) Method and apparatus for multi context direct memory access
EP1093252A2 (en) Access control device for IEEE 1394 Bus
KR20210033996A (ko) 전용 저 레이턴시 링크를 사용한 다수의 하드웨어 가속기에 대한 통합된 어드레스 공간
KR100405250B1 (ko) 데이터 전송 제어 장치 및 전자 기기
KR100605657B1 (ko) 수신된 데이터를 처리하는 방법 및 장치와, 하나 이상의 원격 디바이스로부터 데이터를 수신하는 수신 디바이스
US7853736B2 (en) Extending existing request commands of IEEE 1394 by adding extended request command having highest priority
US6810445B1 (en) Data transfer control device and electronic equipment
EP0803821A2 (en) DMA channel assignment in a data packet transfer device
EP0803803B1 (en) Method of configuring a data packet transfer device
JP4184458B2 (ja) 通信インタフェースで受信されたパケットデータからの制御情報の抽出方法ならびにビデオデータパケット制御回路
EP0804008B1 (en) Apparatus for data packet transfer control
JP4033915B2 (ja) データストリーム制御方法及び装置
JP3967792B2 (ja) パケット化されたデータ通信インタフェース機器のpciシリアルバスインタフェース機器回路を自律的に動作させるための方法ならびに自律ブート回路
JPH1069456A (ja) パケットデータ通信システム内のdma機械を制御するためのパケット制御リストを形成するための方法ならびにそのフォーマット
JP3610982B2 (ja) データ転送制御装置及び電子機器
JP2004118704A (ja) インターフェイス装置およびインターフェイス装置の制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040414

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20061026

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061031

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070131

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070205

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070626