JP4155413B2 - アプリケーションとバス間の非同期データ転送を自動的に管理する非同期データパイプ - Google Patents
アプリケーションとバス間の非同期データ転送を自動的に管理する非同期データパイプ Download PDFInfo
- Publication number
- JP4155413B2 JP4155413B2 JP53178097A JP53178097A JP4155413B2 JP 4155413 B2 JP4155413 B2 JP 4155413B2 JP 53178097 A JP53178097 A JP 53178097A JP 53178097 A JP53178097 A JP 53178097A JP 4155413 B2 JP4155413 B2 JP 4155413B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- application
- packet
- bus
- transaction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 238000012546 transfer Methods 0.000 title claims abstract description 147
- 230000004044 response Effects 0.000 claims description 39
- 238000007726 management method Methods 0.000 claims description 33
- 238000000034 method Methods 0.000 claims description 7
- 238000012544 monitoring process Methods 0.000 claims 2
- 235000019837 monoammonium phosphate Nutrition 0.000 abstract description 4
- 238000012545 processing Methods 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 4
- 230000008054 signal transmission Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000005018 casein Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/64—Hybrid switching systems
- H04L12/6418—Hybrid transport
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/124—Program 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/128—Program 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40052—High-speed IEEE 1394 serial bus
- H04L12/40071—Packet processing; Packet format
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Multimedia (AREA)
- Information Transfer Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
- Bus Control (AREA)
- Small-Scale Networks (AREA)
Description
本発明は、アプリケーションとバスとの間で行われるデータ転送の自動的な管理に関する。詳しくは、本発明は、アプリケーションとバス間の非同期データ転送動作の遂行に必要なトランザクションを自動的に生成する方法に関する。
背景技術
1995年6月16日に発表されたIEEE1394仕様書「P1394高性能シリアルバスのための仕様書」ドラフト8.01vl(The IEEE 1394 standard,”P1394 Standard For A High Performance Serial Bus,”Draft8.01vl,June 16,1995)は、非同期データ転送及びアイソクロナスデータ転送に対応し、比較的安価に高速シリアルバスアーキテクチャを実現する国際標準規格である。アイソクロナスデータ転送は、リアルタイム転送の一種であり、このアイソクロナスデータ転送では、送信側アプリケーションと受信側アプリケーションにおいて、特定のデータの転送間隔が等しい。アイソクロナスデータ転送においては、各パケットは、それぞれ固有の周期で転送される。アイソクロナスデータ転送の理想的なアプリケーションとしては、例えばビデオ記録装置とテレビジョン受像機がある。ビデオ記録装置は、映像と音声を記録し、記録したデータを個々の塊、すなわちパケットに分割する。さらに、ビデオ記録装置は、映像と音声の各パケットを一定の周期で送信し、テレビジョン受像機において映像と音声が再生される。IEEE1394規格に準拠したバス技術により、多チャンネルによるアプリケーション間のアイソクロナスデータ転送が実現される。これによれば、データと共に6ビットのチャンネル番号が送信され、このチャンネル番号に基づいて適切なアプリケーションがパケットを受信する。また、多チャンネルにより、バスを介して複数のアプリケーションが同時にアイソクロナスデータを送受信することができる。非同期データ転送は、比較的古くから用いられているデータ転送方式であり、非同期データ転送では、できるだけ速く、可能な限り多くのデータが送信側から受信側へ転送される。
IEEE1394規格は、デジタル装置を汎用の入出力接続により相互接続する高速シリアルバスを提供するものである。IEEE1394規格は、デジタルインタフェースを規定しており、これによりアプリケーションは、デジタルデータをアナログデータに変換する必要がなく、バスを介してデータをデジタルフォーマットのまま送信することができる。したがって、受信側のアプリケーションが受信するデータはアナログデータではなくデジタルデータであり、受信側のアプリケーションでは、アナログデータをデジタルデータに変換する手間が省かれる。IEEE1394規格に必要なケーブルは、デジタル装置間の接続に用いて大量にデータを転送する他のケーブルに比べてかなり細くすることができる。また、IEEE1394バスがアクティブな状態であっても、新たな装置をバスに接続したり、切り離したりすることができる。バスに新たな装置が接続され、あるいは切り離された場合には、IEEE1394バスは、現ノード間でデータの送受信ができるように自動的にバス環境の再設定を行う。ノードは、バスにおいて固有のアドレスを有する論理的なエンティティとみなされる。各ノードは、識別ROMと、制御レジスタの標準セットと、ノード自身のアドレス空間とを有している。
IEEE1394規格で規定されているプロトコルを図1に示す。このプロトコルは、シリアルバス管理ブロック10と、このシリアルバス管理ブロック10にそれぞれ接続されたトランザクションレイヤ12と、リンクレイヤ14と、物理レイヤ16とを有する。物理レイヤ16は、装置、すなわちアプリケーションと、IEEE1394ケーブルとを電気的且つ機械的に接続する。さらに、物理レイヤ16は、アービトレーション機能を有し、IEEE1394バスに接続されている全ての装置が実際にデータを送信及び受信するアクセスパスを有しているかを確認する。リンクレイヤ14は、非同期データ転送とアイソクロナスデータ転送の両方に対応したパケット配信を行う。リンクレイヤ14は、肯定応答プロトコル(acknowledgement protocol)を用いて、非同期データ転送をサポートし、さらに、ジャストインタイムのデータ配信(just-in-time data delivery)を行うリアルタイム帯域保証プロトコル(real-time guaranteed band width protocol)を用いて、アイソクロナスデータ転送をサポートしている。トランザクションレイヤ12は、読出、書込及びロックを含む非同期データ転送を行うために必要なコマンドをサポートしている。シリアルバス管理ブロック10は、アイソクロナスデータ転送を管理するアイソクロナスリソースマネージャを備えている。さらに、シリアルバス管理ブロック10は、アービトレーションのタイミングを最適化し、バス上の全ての装置に供給される電力が適切な値となるように調整し、サイクルマスタを割り当て、アイソクロナスチャンネル及び帯域リソースを割り当て、及びエラーの基本的な通知を行うことにより、シリアルバス全体の環境を制御する。
アイソクロナスデータ転送を初期化するためには、幾つかの非同期データ転送を行って、アプリケーションの環境設定を行い、及びアイソクロナスデータ転送に用いる特定のチャンネルを決定する必要がある。チャンネルが決定されると、送信側のアプリケーションでは、バッファを用いてデータをバッファリングした後、データを送信し、受信側のアプリケーションでは、バッファを用いてデータをバッファリングした後、データを処理する。幾つかの周辺機器においては、その機器をシステムに導入するに当たり、多数の非同期トランザクションを用いて大量のデータを転送する必要がある。これらのトランザクションを高速且つ効率良く生成するためには、汎用のCPU又はマイクロコントローラに各要求パケットの生成処理を任せることは望ましくない。
そこで、API及びアプリケーションを実行するプロセッサに監視させることなく、非同期データ転送の遂行に必要なトランザクションを自動的に生成する非同期データパイプが必要である。
発明の開示
非同期データパイプ(ADP)は、アプリケーションのためのバスを介した非同期データ転送動作の遂行に必要なトランザクションを自動的に生成する。ADPは、アプリケーションによってプログラミングされるレジスタファイルを備える。レジスタファイルにより、アプリケーションは、データ転送動作の要求及び特性をプログラミングすることができる。レジスタファイルは、バス速度と、トランザクションラベルと、トランザクションコードと、転送先ノード識別子と、転送先オフセットアドレスと、各データパケットのパケット長と、パケットカウンタと、パケットカウンタバンプフィールドと、制御フィールドと、ステータスフィールドとを含んでいる。アプリケーションによって、レジスタファイルがプログラミングされ、起動された後、ADPは、トランザクション及びヘッダを生成するテンプレートとして、レジスタファイルの情報を用い、適切な範囲のアドレス間で行われるデータ転送動作の遂行に必要な読出又は書込トランザクションを自動的に生成する。ADPは、インクリメント機能がディセーブルにされていない、すなわちトランザクションを生成するアドレスが単一であることが示されていない限り、各トランザクション毎に、転送先オフセットアドレスの値を、各データパケットのパケット長に応じて自動的にインクリメントする。パケットカウンタの値は、生成する残りのトランザクションの数を表している。パケットカウンタの値は、各データパケットが転送された後に、デクリメントされる。アプリケーションは、パケットカウンタバンプフィールドの書込を行うことにより、パケットカウンタの値をインクリメントすることができる。
複数の非同期データ転送動作を管理するために、装置内に複数のADPを設けるようにしてもよい。このような装置では、各ADPは、固有のトランザクションラベルの値又値の範囲を有している。各ADPには、マルチプレクサが接続されており、マルチプレクサは、複数のADPから供給されるトランザクション及びデータパケットを多重化してバスに送信する。また、各ADPには、デマルチプレクサが接続されており、デマルチプレクサは、バスから受理信号及びデータパケットを受信し、トランザクションコード及びトランザクションラベルの値を用いて、受理信号及びデータパケットを適切なADPにルーチングする。
【図面の簡単な説明】
図1は、IEEE1394規格に定義されているプロトコルを示す図である。
図2は、本発明を適用した3つの非同期データパイプを備えるリンクコアの構成を示すブロック図である。
図3は、各非同期データパイプ内のレジスタファイルを示す図である。
発明を実施するための最良の形態
本発明を適用した非同期データパイプは、バスを介してアプリケーションからの又はへの非同期データ転送を実行するために必要な非同期トランザクションを自動的に生成する。本明細書で用いるアプリケーションという用語は、アプリケーション又はデバイスドライバの両方を指す。データ転送動作が行われるバスは、好ましくは、IEEE1394規格に準拠したバスである。なお、当業者には明らかであるが、本発明の非同期データパイプは、他の種類のバスを介して行われるデータ転送の管理にも用いることができる。非同期データパイプは、アプリケーションの指示により、アプリケーションによってテータが供給されるローカルデータバッファ、すなわちFIFOと、1つ以上の非同期トランザクションを用いるバス上の一定範囲内の複数のアドレスとの間で、あらゆる量のデータを転送する能力を有する。
非同期データパイプは、データ転送動作を行うときに、アプリケーションによってプログラミングされるレジスタファイルを備える。このレジスタファイルにより、アプリケーションは、トランザクションを生成するバス速度と、トランザクションの種類を表すトランザクションラベル及びトランザクションコードと、それによって転送を行う転送先ノード識別子と、転送を開始する開始アドレスを表す転送先オフセットアドレスと、各データパケットのパケット長とを含むデータ転送の要求をプログラミングすることができる。また、レジスタファイルは、生成する残りのパケット数を監視するパケットカウンタと、アプリケーションがパケットカウンタの値をインクリメントすることができるようにするパケットカウンタバンプフィールドと、制御フィールドと、ステータスフィールドとを含んでいる。なお、トランザクションがバス上の単一のアドレスに対して生成される場合には、アプリケーションは、非同期データパイプのインクリメント機能をオフにすることができる。
アプリケーションによって、レジスタファイルがプログラミングされ、起動された後、非同期データパイプは、適切な範囲のアドレス間で行われるデータ転送動作の遂行に必要な読出又は書込トランザクションを自動的に生成する。非同期データパイプは、レジスタファイル内の情報をテンプレートとして用いて、データ転送動作の遂行に必要なトランザクション及び適切なヘッダを生成する。インクリメント機能がディセーブルされない限り、非同期データパイプは、各トランザクションの転送先オフセットアドレスのフィールドの値を、転送するパケットのサイズに応じて自動的にインクリメントする。このように、非同期データパイプが必要なトランザクションを自動的に生成するので、起動中のアプリケーションによってプロセッサを直接的に制御又は監視することは不要となる。したがって、本発明の非同期データパイプがデータ転送動作を遂行している間に、アプリケーションは、他の機能を実行し、他のタスクを遂行することができる。また、レジスタファイルは、パケットカウンタバンプフィールドを含み、このパケットカウンタバンプフィールドにより、アプリケーションは、非同期データパイプが完了する残りのトランザクションの数をインクリメントすることができる。このように、非同期データパイプは、必要に応じて、データ転送動作の遂行に必要なトランザクションの生成を制御する能力を有する。
装置は、複数のデータ転送動作を管理するために、複数の非同期データパイプを備えることができる。このような装置では、バスと各非同期データパイプとの間にマルチプレクサを挿入し、これにより、複数の非同期データパイプからバスに送信するトランザクション及びデータパケットを多重化する。各非同期データパイプには、デマルチプレクサも接続されており、これにより、バスから受信する信号及びデータパケットを適切な非同期データパイプにルーチングする。デマルチプレクサは、トランザクションコード及びトランザクションラベルの値を用いて、情報を受信する非同期データパイプを決定する。
装置内において、各非同期データパイプは、固有のトランザクションラベルの値又値の範囲を有している。
本発明を適用した3つの非同期データパイプ(ADP)を備えるリンク回路を図2に示す。好ましい実施の形態において、リンク回路100は、単一の集積回路又はチップ上に形成されている。リンク回路100は、アプリケーション11、13とバス58とをリンクさせるものである。アプリケーション11、13を実行しているプロセッサは、システムバス15に接続されている(以下、単に、アプリケーション11、13は、システムバス15に接続されているという)。システムバス15には、ファーストインファーストアウトバッファ(FIFO)32、34、36が接続されている。また、アプリケーション11、13は、アプリケーションインタフェース回路18に接続されている。アプリケーションインタフェース回路18は、制御レジスタ38と、1組の非同期データパイプ20、22、24と、リンクコア44とに接続されている。各非同期データパイプ20、22、24は、それぞれレジスタ26、28、30を備えている。各FIFO32、34、36は、それぞれ適切な非同期データパイプ20、22、24に対応している。すなわち、FIFO32は、非同期データパイプ20に接続されており、FIFO34は、非同期データパイプ22に接続されており、FIFO36は、非同期データパイプ24に接続されている。制御レジスタ38は、各非同期データパイプ20、22、24に接続されている。各非同期データパイプ20、22、24は、送信データ転送動作に用いるマルチプレクサ40と、受信データ転送動作に用いるデマルチプレクサ42とに接続されている。ここで、送信データ転送動作とは、アプリケーション11、13からバス58の方向に行われるデータ転送動作であり、受信データ転送動作とは、バス58からアプリケーション11、13の方向に行われるデータ転送動作である。リンクコア44は、送信機46と、受信機48と、周期タイマ50と、周期モニタ52と、CRCエラーチェック回路54と、バス58への物理的インタフェースを司る物理的インタフェース回路56とを備える。送信機46は、マルチプレクサ40と、周期タイマ50と、CRCエラーチェック回路54と、物理的インタフェース回路56とに接続されている。受信機48は、デマルチプレクサ42と、周期モニタ52と、CRCエラーチェック回路54と、物理的インタフェース回路56とに接続されている。周期タイマ50は、周期モニタ52に接続されている。物理的インタフェース回路56は、バス58に接続されている。
図2に示す装置は、3つの非同期データパイプ20、22、24を備えている。この非同期データパイプの数は、装置の用途に応じて、いかなる数であってもよいことは、当業者には明らかである。各非同期データパイプ20、22、24は、アプリケーション11、13のデータ転送を自動的に制御することができる。したがって、以下の説明により明らかなように、装置に非同期データパイプを追加することにより、同時に実行できるデータ転送動作の量が増え、すなわち装置の処理能力を高めることができる。
各非同期データパイプ20、22、24は、バス58を介しアプリケーション11、13に対して送受信されるデータの双方向データパスである。非同期データパイプ20、22、24の動作に先立って、非同期データパイプ20、22、24内のレジスタファイルを外部エンティティによってプログラミングする必要がある。この外部エンティティは、アプリケーション11、13自体であってもよく、装置内の他の情報又は状態機械であってもよい。本発明の実施の形態においては、非同期データパイプ20、22、24内のレジスタファイルは、アプリケーション11、13によってプログラミングされる。各非同期データパイプ20、22、24は、レジスタファイルをテンプレートとして用いて、送信データに必要なヘッダを生成し、又は受信データのヘッダを調べ、分離する。
非同期データパイプ20、22、24のレジスタファイルは、後に詳細に説明するように、バス58の開始アドレスと、トランザクションの種類及びサイズとに関するデータを含んでいる。実施の形態においては、トランザクションの種類とは、クワドレット読出、クワドレット書込、ブロック読出、ブロック書込のうちのいずれかである。トランザクションのサイズは、クワドレットトランザクションの場合は4バイトであり、又はブロックトランザクションの場合は、ブロック要求サイズである。
非同期データパイプ20、22、24は、イネーブルにされると、レジスタファイルにプログラミングされたパラメータに基づく非同期トランザクションを用いて、アプリケーション11、13のデータを転送する。アプリケーション11、13からバス58に接続された他のノードへの書込トランザクションの場合、非同期データパイプ20、22、24は、そのFIFOインタフェースから入手可能なアプリケーションデータが供給され、このデータに、リンクコア44によって要求される形式の適切なヘッダ情報を付加して、マルチプレクサ40を介してリンクコア44に供給する。バス58に接続された他のノードからアプリケーション11、13への読出トランザクションの場合、非同期データパイプ20、22、24は、適切な読出要求パケットを出し、データを受信すると、このデータを、読出応答パケットに応じて、FIFOインタフェースを介してアプリケーション11、13にルーチングする。読出トランザクション及び書込トランザクションの両方の場合、非同期データパイプ20、22、24は、リンクコア44によって要求されたきに、データをバス58の特定のパケットフォーマットに変換する。また、非同期データパイプ20、22、24は、アプリケーション11、13の要求を遂行するために必要な、アドレスの範囲が増加するトランザクションのためのアドレス計算を行う。
換言すると、バス58のアドレス空間におけるアドレスの範囲を増加させて、次のトランザクションのアドレスを指定する。
各非同期データパイプ20、22、24のFIFOインタフェースは、直接FIFO32、34、36に接続されており、FIFO32、34、36は、それぞれ非同期データパイプ20、22、24が制御するデータパスに専用である。各FIFO32、34、36は、それぞれ単一の非同期データパイプ20、22、24に専用である。各非同期データパイプ20、22、24のリンクインタフェースは、マルチプレクサ40及びデマルチプレクサ42を介してリンクコア44に接続されている。各非同期データパイプ20、22、24からリンクコア44に供給されるデータは、リンクコア44によって要求されるフォーマットを有している。各非同期データパイプ20、22、24は、リンクコア44から、リンクコア44の仕様によって定義されるフォーマットで供給されるデータを受信するように設計されている。装置内に複数の非同期データパイプが備えられている場合、各非同期データパイプは、マルチプレクサ40及びデマルチプレクサ42を介してリンクコア44に接続される。
リンクコア44からの非同期データパイプ20、22、24に供給されるデータは、デマルチプレクサ42によってルーチングされる。デマルチプレクサ42は、トランザクションコード及びトランザクションラベルを用いて、データを適切な非同期データパイプ20、22、24にルーチングする。デマルチプレクサ42は、パケットヘッダのトランザクションコードフィールド及びパケットヘッダのトランザクションラベルフィールドの値を用いて、バス58からの応答パケットを適切な非同期データパイプ20、22、24にルーチングする。そして、この適切な非同期データパイプ20、22、24は、この応答パケットを対応する要求パケットを見つける。
デマルチプレクサ42は、パケットをリンクコア44から非同期データパイプ20、22、24にルーチングするときに、パケットの情報を変化させない。したがって、リンクコア44により生成された全ての情報は、供給先の非同期データパイプ20、22、24に供給される。非同期データパイプ20、22、24は、リンクコア44から供給されたデータをアプリケーション11、13に転送する前に、バス58のプロトコルによって要求されたヘッダ情報の分離を含む、リンクコア44からのデータに必要な全ての処理を施す。送信データに対しては、非同期データパイプ20、22、24は、アプリケーション11、13からのデータを、リンクコア44によって要求される適正なフォーマットに変換する。このとき、各非同期データパイプ20、22、24は、適切なヘッダ情報を生成して、アプリケーションからのデータに挿入付加した後、このデータをマルチプレクサ40を介してリンクコア44に供給する。
全ての非同期データパイプ20、22、24に対して、リンクインタフェースは、リンクコア44の機能に必要な互換性があるフォーマットでデータを生成及び使用する。非同期データパイプ20、22、24は、書込動作の間、リンクコア44の要求に対応すべく、要求されたバス58の特定のヘッダ情報を生成し、アプリケーション11、13からのデータにこのヘッダ情報を挿入する。また、非同期データパイプ20、22、24には、読出動作の間、リンクコア44から非同期データパイプ20、22、24の1つにデータを移動するリンクコア44によって準備されたフォーマットのデータが供給される。換言すると、リンクコア44から適切な非同期データパイプ20、22、24のいずれかにデータを移動するにあたり、データを処理する必要はない。
装置内に非同期データパイプが1つのみである場合、この非同期データパイプは直接リンクコア44に接続することができる。一方、装置内に非同期データパイプを複数設ける場合、複数の非同期データパイプとリンクコア44との間に適切なマルチプレクサ40及びデマルチプレクサ42を設ける必要がある。マルチプレクサ40は、非同期データパイプ20、22、24のリンクインタフェースからデータが供給され、これらのデータを多重化してリンクコア44に供給し、これらのデータはパケット単位でバス58に送信される。これらのデータは、送信元のアプリケーション11、13によって設定された優先権に基づいてバス58にルーチングされる。デマルチプレクサ42は、バス58から供給される各パケットのトランザクションコードフィールド及びトランザクションラベルフィールドの値と、非同期応答パケットのヘッダのトランザクションラベルの値とを用いて、そのパケットを適切な非同期データパイプ20、22、24にルーチングする。
本発明を適用した非同期データパイプ20、22、24は、対応するFIFO32、34、36とリンクコア44との間の双方向データパスである。非同期データパイプ20、22、24は、対応するFIFO32、34、36からリンクコア44にデータを転送する場合、適切なヘッダ情報を生成し、データの先頭にヘッダ情報を付加した後、ヘッダ情報が付加されたデータをリンクコア44に供給する。リンクコア44は、非同期データパイプ20、22、24により生成された情報を用いて、バス58を介した書込動作を行う。リンクコア44からFIFO32、34、36にデータを供給する場合、非同期データパイプ20、22、24は、読出トランザクションのための適切なヘッダ情報を生成する。非同期データパイプ20、22、24は、リンクコア44にこのヘッダ情報を供給し、リンクコア44は、読出要求パケットをバス58に送信する。その後、応答側のノードは、読出応答パケットを返す。リンクコア44は、この読出応答パケットを検出して、デマルチプレクサ42に供給し、そして、デマルチプレクサ42は、トランザクションコード及びトランザクションラベルフィールドの値に基づいて適切な非同期データパイプ20、22、24を判別して、この読出応答パケットを読出要求を発した非同期データパイプ20、22、24に供給する。そして、非同期データパイプ20、22、24は、この読出応答パケットからヘッダ情報を分離し、対応するFIFO32、34、36にデータを供給する。データはさらにFIFO32、34、36からアプリケーション11、13に供給され、処理される。非同期データパイプ20、22、24は、バス58を介して送信する要求が読出要求であるか書込要求であるかにかかわらず、アプリケーション11、13からの、又はアプリケーション11、13への全てのデータ転送が完了するまで適切な要求を生成し続ける。
複数の非同期データパイプを備える装置では、データ転送の複数のスレッドを同時に維持することができる。これは、組込みアプリケーション、例えばアプリケーションを起動するために一連のコマンドを読み込み、又はステータス情報を報告しながら、記録媒体のデータを転送することができるディスクドライブにとって有用である。デマルチプレクサ42は、データを各非同期データパイプ20、22、24に適切に供給する機能を有する。本発明の好ましい実施の形態においては、各非同期データパイプ20、22、24は、固有のトランザクションラベルの値又は値の範囲を有する。デマルチプレクサ42は、トランザクションラベル及びトランザクションコードフィールドの値に基づいて適切な非同期データパイプ20、22、24を判別する。各非同期データパイプ20、22、24は、後に詳細に説明するように、専用のレジスタファイルを有する。レジスタファイルは、例えばデータ転送動作を開始する外部のアプリケーション等によりプログラミングされる。レジスタファイルが一旦プログラミングされると、非同期データパイプ20、22、24は、バス58を介して、範囲が増加するアドレスに対して、又は固定のアドレスに対して書込及び読出動作を行うことができるようになる。これらのトランザクションのサイズは、ブロックサイズであってもクワドレットサイズであってもよい。アプリケーション11、13は、データ転送動作をプログラミングするとき、転送するブロックの総数を供給するとしてもよく、一度に1つの数のブロックカウンタを「バンプ」するとしてもよく、また、この両方を組み合わせて用いるようにしてもよい。非同期データパイプ20、22、24は、転送するデータブロックの総数がプログラミングされた場合、アプリケーション11、13が他の動作又は他のタスクを実行している間に、転送動作の実行に必要なトランザクションを生成する。各非同期データパイプ20、22、24は、ブロックカウンタの値が0になるまで、バス58に関する特定のアドレスポインタコンテキストを維持し、読出及び書込トランザクションを実行する。
各非同期データパイプ20、22、24は、専用のレジスタファイルを備え、レジスタファイルは、データ転送を開始するアプリケーション11、13によりプログラミングされ、バス58を介して行われるデータ転送の実行に必要なトランザクションの生成に用いられる。本実施の形態における各非同期データパイプ20、22、24が有するレジスタファイルの構成を図3に示す。レジスタファイル80は、それぞれ16進法で00〜1Fの番号が付された32バイトのデータを有する。図3では、それぞれが4バイトを有する8つの水平方向の列を備える表の形式でレジスタファイル80を示している。図3に示すオフセット欄82は、各列の開始バイトの、レジスタファイル80の開始アドレスからのオフセットを示すものである。読出(R)/書込(W)欄84は、各列のフィールドが読出及び書込可能なものであるか(R/W)、読出専用のものであるか(R)、あるいは書込専用のものであるか(W)を示している。
速度フィールドspは、レジスタファイル80のバイト1中の2ビットのフィールドである。速度フィールドspに対しては、読出及び書込を行うことができる。速度フィールドspは、全ての要求パケットが生成されるバス速度を定義するフィールドである。速度フィールドsp内の値は、書込動作により更新される。速度フィールドspに対して読出動作を行うことにより、このフィールドに書き込まれた最後の値が返される。速度フィールドspの値は、バス58に対する全ての要求パケットが生成される速度を示す2ビットの値である。下記の表1は、バス速度と速度フィールドspの値との関係を示す表である。
したがって、表1に示すように、速度フィールドspにおける値00は、全ての要求パケットが生成されるバス速度を100Mbpsと定めるものであり、値01は、要求パケットが生成されるバス速度を200Mbpsとするものであり、値10は、要求パケットを生成するバス速度を400Mbpsとするものである。
トランザクションラベルフィールドt1は、レジスタファイル80のバイト2における6ビットのフィールドである。トランザクションラベルフィールドt1に対しては、読出及び書込を行うことができる。トランザクションラベルフィールドt1には、対応する非同期データパイプ20、22、24により生成された全ての要求パケットに用いるトランザクションラベルの値が格納される。代替の実施の形態として、単一の非同期データパイプのトランザクションラベルの範囲を管理するようにしてもよい。トランザクションラベルフィールドt1の値は、書込動作により更新される。トランザクションラベルフィールドt1に対して読出動作を行うことにより、このフィールドに書き込まれた最後の値が返される。装置内に複数の非同期データパイプが存在する場合、デマルチプレクサ42が要求のあった非同期データパイプに応答パケットを適切にルーチングできるようにするために、トランザクションラベルフィールドt1には、各非同期データパイプに固有の値が格納される。
好ましい実施の形態においては、レジスタファイル80のバイト2における下位2ビットは、常に論理値Lとなるようにプログラミングされている。
トランザクションコードフィールドtCodeは、レジスタファイル80内のバイト3における4ビットのフィールドである。トランザクションコードフィールドtCodeに対しても、読出及び書込が行える。トランザクションコードフィールドtCodeには、対応する非同期データパイプ20、22、24により生成された全ての要求パケットに用いるトランザクションコードが格納される。トランザクションコードフィールドtCodeの値は、書込動作により更新される。トランザクションコードフィールドtCodeに対して読出動作を行うことにより、ここに書き込まれた最後の値が返される。トランザクションコードフィールドtCodeの値は、実行する動作を表す4ビットの値である。トランザクションコードフィールドtCodeに格納される値と実行する動作の種類との関係を次の表2に示す。
トランザクションコードフィールドtCodeに格納されている値が0000である場合、実行するデータ転送動作は、クワドレツト書込動作である。トランザクションコードフィールドtCodeに格納されている値が0001である場合、実行するデータ転送動作は、ブロック書込動作である。トランザクションコードフィールドtCodeに格納されている値が0100である場合、実行するデータ転送動作は、クワドレット読出動作である。トランザクションコードフィールドtCodeに格納されている値が0101である場合、実行するデータ転送動作は、ブロック読出動作である。トランザクションコードフィールドtCodeに格納されている値が1001である場合、実行する動作は、ロック動作である。
好ましい実施の形態においては、レジスタファイル80のバイト3における下位4ビットは、バス58を介したデータ転送に用いるパケットヘッダ用の予備的フィールドとして用いることができるようにするために、常に論理値Lを示すようにプログラミングされている。
転送先識別子フィールドdestination_IDは、レジスタファイル80のバイト4及びバイト5にあたる16ビットのフィールドである。この転送先識別子フィールドdestination IDに対しては、読出及び書込を行うことができる。この転送先識別子フィールドdestination_IDには、データ転送動作のために、対応する非同期データパイプ20、22、24により生成された全ての要求パケットの転送先ノードの識別子(ID)を示す16ビットの値が格納される。転送先識別子フィールドdestination_IDの値は、書込動作により更新される。このフィールドに対して読出動作を行うことにより、転送先識別子フィールドdestination_IDに書き込まれた最後の値が返される。転送先識別子フィールドdestination_IDの値は、転送動作を行うバス58上のノードを示す。したがって、バス58上の各ノードは、それぞれ固有の識別子を有している。
上位転送先オフセットフィールドdestination_offset Hiは、レジスタファイル80のバイト6及びバイト7にあたる16ビットのフィールドである。この上位転送先オフセットフィールドdestination_offset Hiに対しては、読出及び書込を行うことができる。上位転送先オフセットフィールドdestination_offset Hiには、生成された次の要求パケットの転送先オフセットアドレスの上位16ビットが格納される。この上位転送先オフセットフィールドdestination_offset Hiの値は、書込動作により更新される。上位転送先オフセットフィールドdestination offset Hiに対して読出動作を行うことにより、このフィールドに現在格納されている転送先オフセットアドレスの上位16ビットの値が返される。
下位転送先オフセットフィールドdestination_offset Loは、レジスタファイル80のバイト8〜Bにあたる32ビットのフィールドである。下位転送先オフセットフィールドdestination_offset Loに対しては、読出及び書込を行うことができる。この下位転送先オフセットフィールドdestination_offset Loには、生成された次の要求パケットに用いる転送先オフセットアドレスの下位32ビットが格納される。下位転送先オフセットフィールドdestination_offset Loの値は、書込動作により更新される。この下位転送先オフセットフィールドdestination_offset Loに対して読出動作を行うことにより、転送先オフセットアドレスの下位32ビットの現在の値が返される。上位転送先オフセットフィールドdestination_offset Hiと下位転送先オフセットアドレスdestination_offset Loとを組み合わせることにより、現トランザクションを生成する48ビットの転送先オフセットアドレスが形成される。制御フィールド内の後に説明する非インクリメントフラグが論理値Lを示している場合、非同期データパイプ20、22、24は、読出又は書込トランザクションが生成された後に、上位転送先オフセットフィールドdestination_offset Hi及び下位転送先オフセットフィールドdestination_offset Loからなる全48ビットの転送先オフセットフィールドにデータ長フィールドに格納されている値を加える。
データ長フィールドdata_lengthは、レジスタファイル80のバイトC及びDにあたる16ビットのフィールドである。データ長フィールドdata_lengthに対しては、読出及び書込を行うことができる。データ長フィールドdata_lengthには、対応する非同期データパイプ20、22、24により生成された全ての要求パケットのサイズをバイト数で示す値が格納される。データ長フィールドdata_lengthの値は、書込動作により更新される。また、データ長フィールドdata_lengthに対して読出動作を行うことにより、このフィールドに書き込まれている最後の値が返される。データ長フィールドdata_lengthの値は、下記の表3に示すように、レジスタファイル80内の他のフィールドの値によって制限される。
拡張トランザクションコードフィールドextended_tCodeは、レジスタファイル80のバイトE及びFにあたる16ビットのフィールドである。拡張トランザクションコードフィールドextended_tCodeに対しては読出及び書込動作を行うことができる。拡張トランザクションコードフィールドextended_tCodeは、書込動作によって更新される。拡張トランザクションコードフィールドextended_tCodeに対して読出動作を行うことにより、このフィールドに書き込まれた最後の値が返される。拡張トランザクションコードフィールドextended_tCodeは、ロックトランザクション以外の全てのトランザクションに対して0000の値をとる。トランザクションコードフィールドtCodeの値が1001に設定された場合、これはロック要求であることを示し、このとき、拡張トランザクションコードフィールドextended_tCodeは、ロックトランザクションについての拡張トランザクションコードの値を格納する。
パケットカウンタフィールドは、レジスタファイル80のバイト10〜13にあたるフィールドであり、システム設定に応じて8〜32ビットの値を格納する。パケットカウンタフィールドに対しては、読出及び書込を行うことができる。パケットカウンタフィールドは、データ転送動作を完了するために生成する残りの要求パケットの数を格納する。パケットカウンタフィールドの値は、書込動作により更新される。パケットカウンタフィールドに対して読出動作を行うことにより、現時点において生成する残りの要求パケットの数が返される。パケットカウンタフィールドの値は、各トランザクションが生成される毎にデクリメントされる。生成する要求パケットの数を完全に制御するために、パケットカウンタフィールドの値が0になると、パケットカウンタフィールドは書込専用となる。
パケットカウンタバンプフィールドは、レジスタファイル80のバイト14〜17にあたる書込専用のフィールドである。このパケットカウンタバンプフィールドに書込が行われると、対応する非同期データパイプ20、22、24は、パケットカウンタフィールドの値をインクリメントする。パケットカウンタバンプフィールドに対して読出動作を行っても、返される値は予測不能である。パケットカウンタバンプフィールドを設けることにより、要求を出したアプリケーション11、13は、現在の転送動作のために更なるトランザクションを生成することができる。好ましい実施の形態においては、パケットカウンタフィールドの値が0ではない場合に、パケットカウンタフィールドの値をインクリメントさせるものは、非同期データパイプ20、22、24によるこのパケットカウンタバンプフィールドへの書込動作のみである。
制御フィールドは、レジスタファイル80のバイト18〜1Bにあたる32ビットのフィールドである。制御フィールドに対しては読出及び書込動作を行うことができる。制御フィールドにおいて、ビット0〜29は、予備のビットであり、ビット30は、非インクリメント制御ビットnon_incrであり、ビット31は、動作制御ビットgoである。非同期データパイプ20、22、24をイネーブルにするためには、動作制御ビットgoを論理値Hに設定する。この動作制御ビットgoを論理値Lに変更すると、即座に、あるいは非同期データパイプ20、22、24がトランザクション処理中であるときは、そのトランザクションの終了時に、非同期データパイプ20、22、24はディセーブルされる。このように、非同期データパイプ20、22、24は、この動作制御ビットgoが論理値Hに設定されている間にのみ動作する。非同期データパイプ20、22、24により生成される要求パケットが固定のアドレス、すなわち増加しないアドレスに対するものである場合、非インクリメント制御ビットnon_incrは、論理値Hに設定される。非インクリメント制御ビットnon_incrが論理値Lに設定された場合は、対応する非同期データパイプ20、22、24は、各トランザクションを完了する毎に、転送先オフセット値にデータ長フィールドdata_lengthの値を加える。
ステータスフィールドは、レジスタファイル80のバイト1C〜1Fにあたる32ビットのフィールドである。このステータスフィールドに対しては、読出動作及び書込動作を行うことができる。ステータスフィールドには、対応する非同期データパイプ20、22、24により生成された全ての要求パケットの受理応答コード及び応答コートが格納される。ステータスフィールドは、エラーフィールドと、応答コードフィールドと、受理信号受信フィールドと、受理信号送信フィールドとを有している。
エラーフィールドは、対応する非同期データパイプ20、22、24の動作を中断させるエラーが発生した場合、そのエラーを示す4ビットの値を格納する。動作制御ビットgoが論理値Hに設定されると、エラーフィールドは、クリアされる。一方、エラーフィールドが有効になると、動作制御ビットgoは、非同期データパイプ20、22、24によって論理値Lにクリアされる。表4は、エラーフィールドに格納される値と、その意味との関係を示す表である。
エラーフィールド内の値0000は、エラーが発生していないことを示す。エラーフィールド内の値0001は、以前に送信した要求パケットに対して受信された受理信号が正しくなかったためにエラーが発生したことを示す。エラーフィールド内の値0010は、応答パケットに対して送信された受理信号が正しくなかったためにエラーが発生したことを示す。エラーフィールド内の値0100は、分割トランザクションの時間切れによりエラーが発生したことを示す。エラーフィールド内の値1000は、バスリセットが発生したことを示す。
応答コードフィールドは、直前の応答コードを格納する4ビットのフィールドである。直前に行われたトランザクションが書込トランザクションであり、この書込トランザクションが統合されたトランザクションとして遂行された場合、応答コードフィールドには、値1111が格納される。
受理信号受信フィールドは、4ビットのフィールドからなり、非同期データパイプ20、22、24により生成された直前の要求パケットに対してリモートのノードから送られてきた最新の受理信号を格納する。
受理信号送信フィールドは、対応する非同期データパイプ20、22、24により生成された全ての要求パケットに対する応答パケットに応じて非同期データパイプ20、22、24が生成した最新の受理信号を格納する4ビットのフィールドである。
ステータスフィールドの値は、書込動作により更新される。このステータスフィールドに対して読出動作を行うことにより、非同期データパイプ20、22、24及びデータ転送動作の現在の状態が返される。要求パケットのうちの1つ又は対応する応答パケットにエラーが生じた場合、非同期データパイプ20、22、24は、即座に更なる要求パケットの生成を停止する。続いて、非同期データパイプ20、22、24は、応答コードフィールドrCodeと、受理信号受信フィールドack_inと、受理信号送信フィールドack_outとに格納されている値をステータスフィールドにラッチする。これらの値をステータスフィールドにラッチした後、非同期データパイプ20、22、24は、アプリケーションインタフェースを介してアプリケーション11、13に中断信号を供給し、現データ転送動作中にエラーが発生したことをアプリケーション11、13に知らせる。
読出動作
読出動作を実行して、バス58を介して接続された他のノードからデータを入手するにあたり、非同期データパイプ20、22、24は、レジスタファイル80に登録された情報をテンプレートとして用いて適切な読出要求パケットを生成する。転送先のノードからデータを受信する場合、デマルチプレクサ42は、トランザクションコードフィールドtCode及びトランザクションラベルフィールドt1の値に基づいて、このデータを適切な非同期データパイプ20、22、24にルーチングする。非同期データパイプ20、22、24は、データパケットからヘッダ情報を分離して、このデータパケットをFIFO32、34、36に供給する。
アプリケーション11、13は、このFIFO32、34、36からデータを受信する。
非同期データパイプ20、22、24は、起動されてバス58からデータをFIFO32、34、36に供給するとき、下記の表5に示すように、データ受信状態機械として機能する。
FIFOインタフェースは、バスインタフェースに同期したクロック信号を用いて、非同期データパイプ20、22、24から対応するFIFO32、34、36へのデータの供給のタイミングを制御する。FIFO32、34、36は、常に、非同期データパイプ20、22、24から入手可能な1ワード分のデータを受信する状態にある。FIFO32、34、36にデータを受け入れる余地がないときに、要求信号が供給された場合、FIFO32、34、36にオーバーランが発生する。これにより、FIFO32、34、36は、エラー状態となり、このエラー状態は、対応する非同期データパイプ20、22、24により検出される。このFIFOオーバーランが発生すると、FIFO32、34、36内のデータがクリアされて更なるデータを受信できる状態となるまで、残りのトランザクションは中断される。この場合、ステータスフィールド内の受理信号送信フィールドack outは、このエラーを反映した値を示す。
バス58からデータを読み出すために、処理元のアプリケーション11、13は、適切な非同期データパイプ20、22、24のレジスタファイル80に適切な情報をプログラミングする。処理に用いるバス速度として、例えば100Mbps、200Mbps、400Mbps等のうちのいずれかの値が速度フィールドspに格納される。この使用されるバス速度は、物理的インタフェース回路56の性能及びバス58にサポートされている範囲内で設定される。トランザクションコードフィールドtCodeには、遂行する特定のトランザクションを示す適切な値が格納される。転送先識別子フィールドdestination_IDには、全ての要求パケットに対して、バス58上の転送先ノード識別子に対応する適切な値がプログラミングされる。
上位転送先オフセットフィールドdestination_offset Hi及び下位転送先オフセットフィールドdestination_offset Loは、48ビットの開始転送先オフセット値を格納する。制御フィールドの非インクリメントビットが論理値Lである場合、転送先オフセットフィールドの値は、各要求トランザクションが生成された後に増加される。生成される各要求パケットのバイト数は、データ長フィールドdata_lengthにプログラミングされる。トランザクションコードフィールドtCodeの値が0100、すなわちこのトランザクションがクワドレット読出トランザクションであることを示している場合、データ長フィールドdata_lengthに格納される値は、4である。トランザクションコードフィールドtCodeの値が0101、すなわちこのトランザクションがブロック読出トランザクションであることを示している場合、データ長フィールドdata_lengthには、上述の表3で示す、プログラミングされたバス速度において許容される範囲内で、適切な値がプログラミングされる。ここでは、実行されるトランザクションは、読出動作であり、ロックトランザクションではないため、拡張トランザクションコードフィールドextended_tCodeの値は0である。
パケットカウンタフィールドには、現在のデータ転送動作を遂行するために生成及び送信するトランザクションの数が格納される。アプリケーション11、13が適切なトランザクションを生成するためにパケットカウンタバンプフィールドに書込を行い、その都度、パケットカウンタフィールドの値を1ずつインクリメントするような場合であれば、パケットカウンタフィールドの値の初期値を0とすることもできる。全ての要求パケットを同一の転送先オフセットアドレスに送信する場合、制御フィールドの非インクリメントビットは、論理値Hに設定される。一方、要求パケットを送信するアドレスの範囲が増加する場合、制御フィールドの非インクリメントビットは、論理値Lに設定される。非同期データパイプ20、22、24を起動してデータ転送動作に必要な適切なトランザクションの生成を開始させるために、制御フィールド内の動作制御ビットgoは、論理値Hに設定される。
制御フィールド内の動作制御ビットgoが論理値Hに設定されると、非同期データパイプ20、22、24がイネーブルにされる。非同期データパイプ20、22、24は、イネーブルにされると、表6に示すような読出状態機械として機能し、読出要求パケットを生成する。
処理元のアプリケーション11、13は、パケットカウンタバンプフィールドに対していつでも書込動作を行うことができ、これによりパケットカウンタフィールドの値に1を加える。表6に示すような、非同期データパイプ読出状態機械は、動作中の非同期データパイプ20、22、24に接続されたFIFO32、34、36内に1パケット分以上のデータを受信する余地がある場合、読出要求パケットを生成する。また、非同期データパイプ20、22、24によって実現された読出状態機械は、非同期データパイプ20、22、24に対応するFIFO32、34、36が完全に空である場合も読出要求パケットを生成する。実際のアプリケーションにおいて、非同期データパイプ20、22、24に対応するFIFO32、34、36からデータが十分速く、十分短い待ち間隔で確実に送信されるような場合では、FIFO32、34、36の容量は、レジスタファイル80のデータ長フィールドdata_lengthの値により特定されるバイト数より小さくすることができる。
非同期データパイプ20、22、24は、読出要求パケットを生成及び送信することにより、これに対応する応答パケットを転送先ノードに生成させる。装置内に複数の非同期データパイプが存在する場合、デマルチプレクサ42は、読出応答パケットのトランザクションコードフィールドtCode及びトランザクションラベルフィールドt1の値を用いて、そのパケットを適切な非同期データパイプにルーチングする。データが供給された非同期データパイプは、パケットのヘッダを分離し、対応するFIFOインタフェースが使用できるデータフィールドを作成する。
制御フィールドの非インクリメントビットが論理値Hである場合、非同期データパイプ20、22、24は、各読出要求パケットを生成した後に、次のデータ要求パケットの生成を準備するために、転送先オフセットアドレスの値にデータ長フィールドdata_lengthの値を加える。表6の読出状態機械には示していないが、非同期データパイプ20、22、24は、自らが生成する各書込要求パケットについて、受理信号受信フィールドack_in及び対応する読出応答パケットの応答コードフィールドrCodeを調査する。受理信号受信フィールドack_in又は応答コードフィールドrCodeがエラーを示している場合、又は非同期データパイプ20、22、24が何らかのエラーのために読出応答パケットに対して不正な受理コードを返さざるを得ないような場合、非同期データパイプ20、22、24は、直ちに動作を停止し、受理コード及び応答コードフィールドrCodeの両方をレジスタファイル80の非同期データパイプステータスフィールドに保存する。スプリットトランザクションのために、非同期データパイプ20、22、24は応答時間を計測する。要求パケットの送信から応答パケットの受信までの時間間隔が100ms以上である場合、非同期データパイプ20、22、24は、動作を停止し、レジスタファイル80のステータスフィールドに所定のステータス情報を格納する。
書込動作
非同期データパイプ20、22、24は、書込動作の実行時、処理元のアプリケーション11、13からバス58に接続された他のノードにデータを送信するにあたり、レジスタファイル80に格納された情報をテンプレートとして用いて、適切なヘッダ情報を生成する。
生成されたヘッダは、適切なデータパケットに付加され、リンクコア44を介してバス58に送信される。インクリメント機能がディセーブルでなければ、非同期データパイプ20、22、24は、転送先オフセットフィールドの値を増加させた後、次のデータパケットのヘッダを生成する。各トランザクションが生成される毎に、パケットカウンタの値はデクリメントされる。この処理は、パケットカウンタの値が0になるまで繰り返される。
起動された各非同期データパイプ20、22、24は、FIFO32、34、36からバス58へのデータ転送を行うとき、下記の表7に定義するようなデータ送信状態機械として機能する。
FIFOインタフェースは、バスインタフェースに同期したクロックを用いてFIFO32、34、36から対応する非同期データパイプ20、22、24にデータを送信するタイミングを制御する。FIFO32、34、36は、非同期データパイプ20、22、24から要求があったときにいつでも送信することのできる1ワード分のデータを保持している。要求信号Reqが送信されたが、FIFO32、34、36にデータが存在しない場合、FIFO32、34、36にアンダーランが発生する。
対応する非同期データパイプ20、22、24は、これによって発生するエラーを検知し、適切な処理を施す。アプリケーション11、13は、バス58を介して送信する適切なデータがFIFO32、34、36に確実に保存されるよう動作する。FIFOアンダーランが発生すると、FIFO32、34、36にデータが追加されるまで、残りのトランザクションが停止される。
バス58を介した書込動作を行うために、アプリケーション11、13は、適切な非同期データパイプ20、22、24内のレジスタファイル80に適切な情報をプログラミングする。速度フィールドspには、使用される適切なバス速度、例えば100Mbps、200Mpbs、400Mbps等を示す値が格納される。バス速度は、物理的インタフェースの性能及びバス58が対応できる範囲を考慮して選択される。トランザクションコードフィールドtCodeには、実行される特定のトランザクションを示す値が格納される。例えば、要求がクワドレット書込要求である場合、トランザクションコードフィールドtCodeには、値0000が格納される。要求がブロック書込要求である場合、トランザクションコードフィールドtCodeには、値0001が格納される。転送先識別子フィールドdestination_IDには、それぞれの要求パケットに対する、バス58上の転送先ノード識別子に対応する適切な値が格納される。
上位転送先オフセットフィールドdestination_offset Hiと、下位転送先オフセットフィールドdestination_offset Loとには、48ビットの開始転送先オフセット値が格納される。制御フィールド内の非インクリメントビットが論理値を示している場合、レジスタファイル80の転送先オフセットフィールドの値は、各要求トランザクションが完了する度に増加される。データ長フィールドdata_lengthには、生成される各要求パケットのバイト数が格納される。トランザクションコードフィールドtCodeの値が0000、すなわちこのトランザクションがクワドレット書込トランザクションであることを示している場合、データ長フィールドdata_lengthに格納される値は、4である。トランザクションコードフィールドtCodeの値が0001、すなわちことトランザクションがブロック書込トランザクションであることを示している場合、データ長フィールドdata_lengthには、上述した表3に示すような、指定されたバス速度において使用できる範囲内で、適切な値を格納する。ここで遂行される処理は、書込動作であるため、拡張トランザクションコードフィールドextended_tCodeの値は0である。
パケットカウンタフィールドには、このトランザクションを遂行するために生成及び送信するパケットの数を示す値が格納される。アプリケーション11、13がパケットカウンタバンプフィールドに書込を行って適切なトランザクションを生成し、その都度パケットカウンタフィールドに1を加えるような場合は、パケットカウンタフィールドの初期値を0に設定することができる。全ての要求パケットを同一の転送先オフセットアドレスに送信する場合、制御フィールド内の非インクリメントビットは、論理値Hに設定される。要求パケットを転送するアドレスの範囲が増加する場合、制御フィールドの非インクリメントビットは、論理値Lに設定される。データ転送動作の遂行に必要な適切なトランザクションを非同期データパイプ20、22、24に生成させるために、制御フィールドの動作制御ビットgoは、論理値Hに設定される。
レジスタファイル80の制御フィールド内の動作制御ビットgoが論理値Hに設定されると、非同期データパイプ20、22、24がイネーブルにされる。非同期データパイプ20、22、24は、起動中、表8に示すような書込状態機械として機能し、要求パケットを生成する。
転送元のアプリケーション11、13は、パケットカウンタバンプフィールドに常時書込動作を行うことができ、これによりパケットカウンタフィールドの値に1を加える。上述した表8に定義したような非同期データパイプ書込状態機械は、起動中の非同期データパイプ20、22、24に接続されたFIFO32、34、36内に1パケット分以上のデータが存在する場合、常に書込要求パケットを生成する。非同期データパイプ書込状態機械は、また、この非同期データパイプ20、22、24に対応するFIFO32、34、36が完全に一杯の状態である場合も、常に書込要求パケットを生成する。
実際のアプリケーションにおいて、非同期データパイプ20、22、24に対応するFIFO32、34、36からデータが十分速く、十分短い待ち間隔で確実に送信されるような場合では、FIFO32、34、36の容量は、レジスタファイル80のデータ長フィールドdata_lengthの値により特定されるバイト数より小さくすることができる。
制御フィールドの非インクリメントビットが論理値Lに設定されている場合、非同期データパイプ20、22、24は、各書込要求パケットを生成する毎に、次の書込要求パケットの生成の準備のために転送先オフセット値にデータ長フィールドdata_lengthの値を加える。表8には示していないが、非同期データパイプ20、22、24は、自らが生成する各書込要求パケットについて、受理信号受信フィールドack_in及び、転送先ノードが書込応答パケットを生成する場合は、対応する応答コードフィールドrCodeを調査する。受理信号受信フィールドack_in又は応答コードフィールドrCodeがエラーを示している場合、又は非同期データパイプ20、22、24が何らかのエラーにより、読出応答パケットに対して不正な受理コードを返さざるを得ないような場合、非同期データパイプ20、22、24は、直ちに動作を停止し、受理コード及び応答コードフィールドrCodeの両方をレジスタファイル80の非同期データパイプステータスフィールドに保存する。スプリットトランザクションのために、非同期データパイプ20、22、24は応答時間を計測する。
要求パケットの送信から応答パケットの受信までの時間間隔が100ms以上である場合、非同期データパイプ20、22、24は、動作を中断し、レジスタファイル80のステータスフィールドに所定のステータス情報を格納する。
本発明の好ましい実施の形態においては、バス58は、IEEE1394規格に準拠したバスである。したがって、各非同期データパイプ20、22、24は、IEEE1394規格に対応する形式でトランザクション、ヘッダ、要求パケット、応答パケットを生成する。しかしながら、当業者には明らかであるが、本発明に係る非同期データパイプを他の種類のバスとともに用いてもよい。この場合、非同期データパイプは、採用された特定のバスに適応するようなトランザクション、ヘッダ、要求パケット、応答パケットを生成する。
本発明の構成や動作の理解を容易にするために、細部を詳細に特定した実施の形態を説明したが、ここで述べた特定の形態や細部は、添付の特許請求の範囲を制限するものではない。当業者は、ここで説明した実施の形態を変形して用いることができるが、そのような変形は、本発明の技術的範囲内にある。
Claims (40)
- アプリケーション(11)とバス(58)間にデータパスを形成し、該アプリケーション(11)からの及びへの該バス(58)を介した非同期データ転送動作を自動的に制御する非同期データパイプにおいて、
a.データ転送動作に関するパラメータを受信する受信手段と、
b.上記アプリケーション(11)と、上記バスに接続されたノードとの間のデータ転送の遂行に必要なトランザクションを、上記アプリケーションを実行するプロセッサの直接的な制御又は該アプリケーションによる介在なしで、自動的に生成する生成手段とを備える非同期データパイプ(20)。 - 上記アプリケーション(11)が上記データ転送動作に関するパラメータを保存するレジスタファイル(26)を更に備える請求の範囲第1項記載の非同期データパイプ(20)。
- 上記レジスタファイル(26)は、上記データデータ転送動作の遂行に必要なトランザクション及びヘッダを生成するためのテンプレートとして用いられることを特徴とする請求の範囲第2項記載の非同期データパイプ(20)。
- 上記レジスタファイル(26)に保存されるパラメータは、上記バス(58)のアドレス空間内の転送先アドレスと、転送するデータの長さと、転送する各データパケットの長さと、転送の方向とが含むことを特徴とする請求の範囲第3項記載の非同期データパイプ(20)。
- 上記アプリケーションに対してデータを送受信するデータバッファ(32)を更に備える請求の範囲第2項記載の非同期データパイプ(20)。
- 上記バス(56)は、IEEE1394規格に準拠したバスであることを特徴とする請求の範囲第5項記載の非同期データパイプ(20)。
- 上記データ転送動作に必要なトランザクションは、各トランザクションが生成される毎に、上記転送先アドレスに各データパケットの長さを加えることにより範囲が増加するアドレスに対して生成されることを特徴とする請求の範囲第4項記載の非同期データパイプ(20)。
- 上記データ転送動作に必要なトランザクションは、固定のアドレスに対して生成されることを特徴とする請求の範囲第4項記載の非同期データパイプ(20)。
- 上記レジスタファイル(26)は、転送する残りのパケットの数を表すパケットカウンタの値を更に含むことを特徴とする請求の範囲第4項記載の非同期データパイプ(20)。
- 上記アプリケーション(11)は、上記レジスタファイル(26)の所定のフィールドの書込を行うことにより、上記パケットカウンタの値をインクリメントすることを特徴とする請求の範囲第9項記載の非同期データパイプ(20)。
- 上記アプリケーション(11)と、バス(58)に接続されたノードとの間の書込データ転送動作を管理する管理方法において、
a.上記アプリケーション(11)から上記書込データ転送動作に関するパラメータを受信するステップと、
b.上記アプリケーションからパケットデータを入手するステップと、
c.上記アプリケーションを実行するプロセッサを、該アプリケーションで直接的に制御又は監視することなく、上記書込データ転送動作の遂行に必要なヘッダを生成するステップと、
d.上記パケットデータの転送先アドレスを含む上記ヘッダを該パケットデータに付加するステップと、
e.上記ヘッダを含むデータパケットをバス(58)に送信するステップとを有する管理方法。 - 上記アプリケーション(11)から受信するパラメータは、レジスタファイル(26)に保存されることを特徴とする請求の範囲第11項記載の管理方法。
- 上記パラメータは、転送先アドレスと、転送するデータの長さと、転送する各データパケットの長と、転送するパケットの数を示すパケットカウンタの値とが含むことを特徴とする請求の範囲第12項記載の管理方法。
- 上記レジスタファイル(26)は、上記アプリケーション(11)を実行するプロセッサを、該アプリケーションで直接的に制御又は監視することなく、上記バス(58)を介してデータパケットの書込動作を行うために必要なヘッダ及びトランザクションを生成するためのテンプレートとして用いられることを特徴とする請求の範囲第13項記載の管理方法。
- f.上記転送先アドレスを上記データパケットの長さの分増加するステップと、
g.上記パケットカウンタの値をデクリメントするステップと、
h.上記パケットカウンタの値が0になるまで各データパケットに対して上記bからgのステップを繰り返すステップとを更に有する請求の範囲第14項記載の管理方法。 - 上記データパケットは、上記アプリケーション(11)によってロードされたデータメモリバッファ(32)から入手されることを特徴とする請求の範囲第15項記載の管理方法。
- アプリケーション(11)と、バス(58)に接続されたノードとの間の読出データ転送動作を管理する管理方法において、
a.上記アプリケーション(11)から上記読出データ転送動作に関するパラメータを受信するステップと、
b.上記アプリケーション(11)を実行するプロセッサの直接的な制御又は該アプリケーションによる介在に関係なく、上記バス(58)に位置するノードからデータパケットを要求するために必要なトランザクションを生成するステップと、
c.上記バス(58)からデータパケットを受信するステップと、
d.上記データパケットからヘッダ情報を分離するステップと、
e.上記ヘッダ情報を分離したデータパケットを上記アプリケーション(11)に供給するステップとを有する管理方法。 - 上記アプリケーション(11)から供給されるパラメータは、レジスタファイル(26)に保存されることを特徴とする請求の範囲第17項記載の管理方法。
- 上記パラメータは、データを送信するノード内の開始アドレスを示す転送先アドレスと、転送するデータの長さと、転送する各データパケットの長さと、転送するパケットの数を示すパケットカウンタの値とを含むことを特徴とする請求の範囲第18項記載の管理方法。
- 上記レジスタファイル(26)は、上記アプリケーションを実行するプロセッサを、該アプリケーションによって直接的に制御又は監視することなく、上記ノードからデータパケットを読み出すために必要なトランザクション及びヘッダを生成するためのテンプレートとして用いられることを特徴とする請求の範囲第19項記載の管理方法。
- f.上記転送先アドレスを上記データパケットの長さの分増加させるステップと、
g.上記パケットカウンタの値をデクリメントするステップと、
h.上記パケットカウンタの値が0になるまで各データパケットに対して上記bからgのステップを繰り返すステップとを更に有する請求の範囲第20項記載の管理方法。 - 上記データパケットは、データメモリバッファ(32)を介して上記アプリケーション(11)に供給されることを特徴とする請求の範囲第21項記載の管理方法。
- 1つ以上のアプリケーション(11、13)とバス(58)との間で行われる非同期データ転送を管理する管理装置において、
a.複数のアプリケーションとバス間にデータパスを形成し、
i.上記アプリケーションに対してデータパスを形成しするためのデータ転送動作に関するパラメータを受信する受信手段と、
ii.上記データ転送動作の遂行に必要なトランザクションを、上記アプリケーションを実行するプロセッサを直接的に制御することなく、自動的に生成する生成手段とを有する複数の非同期データパイプ(20、22、24)と、
b.上記バス(58)に接続され、該バス(58)にデータを送信し、及び該バスからデータを受信する物理的バスインタフェース(44)と、
c.上記複数の非同期データパイプ(20、22、24)と上記物理的バスインタフェース(44)との間に接続され、該複数の非同期データパイプ(20、22、24)から該バス(58)にデータパケットを送信するマルチプレクサ(40)と、
d.上記複数の非同期データパイプ(20、22、24)と上記物理的バスインタフェース(44)との間に接続され、該バス(58)から受信したデータパケットが該複数の非同期データパイプ(20、22、24)のうちの適切な1つに供給されるようにルーチングするデマルチプレクサ(42)とを備える管理装置。 - 上記各非同期データパイプ(20、22、24)は、データ転送に関するデータ及びパラメータが保存されるレジスタファイル(26、28、30)を有することを特徴とする請求の範囲第23項記載の管理装置。
- 上記データ及びパラメータは、上記アプリケーション(11、13)によって上記レジスタファイル(26)保存されることを特徴とする請求の範囲第24項記載の管理装置。
- 上記レジスタファイル(26)は、データ転送が行われるノードを特定する上記バス(58)のアドレス空間内の転送先のアドレスと、転送するデータの長さと、各データパケットの長と、データ転送の方向とに関する情報を含むことを特徴とする請求の範囲第24項記載の管理装置。
- 上記レジスタファイルは、データ転送動作がルーチングされる非同期データパイプ(20)を特定するトランザクションラベルの値を含み、上記各非同期データパイプ(20、22、24)は、固有のトランザクションラベルの値を有することを特徴とする請求の範囲第26項記載の管理装置。
- 上記レジスタファイルは、データ転送動作が行われる非同期データパイプ(20)を特定するトランザクションラベルの値の範囲を含み、上記各非同期データパイプ(20、22、24)は、固有のトランザクションラベルの値又は値の範囲を有することを特徴とする請求の範囲第26項記載の管理装置。
- 上記レジスタファイル(26)は、上記アプリケーションを実行するプロセッサを、該アプリケーションによって直接的に制御又は監視することなく、上記データ転送動作の遂行に必要なトランザクション及びヘッダを生成するためのテンプレートとして用いられることを特徴とする請求の範囲第27項記載の管理装置。
- 上記デマルチプレクサ(42)は、上記データパケット内のトランザクションラベルの値に基づいて、該データパケットをどの非同期データパイプ(20)にルーチングするかを判定することを特徴とする請求の範囲第29項記載の管理装置。
- 上記デマルチプレクサ(42)は、書込応答パケット内のトランザクションラベルの値に基づいて、該書込応答パケットをどの非同期データパイプ(20)にルーチングするかを判定することを特徴とする請求の範囲第30項記載の管理装置。
- 上記データ転送に必要なトランザクションは、各トランザクションが生成される毎に、上記転送先アドレスに各データパケットの長さを加えることにより増加する範囲のアドレスに対して生成されることを特徴とする請求の範囲第30項記載の管理装置。
- 上記データ転送に必要なトランザクションは、固定のアドレスに対して生成されることを特徴とする請求の範囲第30項記載の管理装置。
- 上記バス(58)は、IEEE1394規格に準拠したバスであることを特徴とする請求の範囲第30項記載の管理装置。
- アプリケーション(11)とIEEE1394規格に準拠したバス(58)間にデータパスを形成し、該アプリケーションからの及びへの該バス(58)を介した非同期データ転送を管理する非同期データパイプ(20)において、
a.レジスタファイル(26)と、
b.上記レジスタファイル(26)に接続され、上記アプリケーション(11)からのデータ転送に関するパラメータを受信し、該パラメータを上記レジスタファイル(26)に保存するプログラミング回路と、
c.上記レジスタファイル(26)に接続され、上記レジスタファイル内の情報をテンプレートとして用いて、上記アプリケーションを実行するプロセッサを、該アプリケーションによって直接的に制御又は監視することなく、データ転送動作の遂行に必要なトランザクション及びヘッダを自動的に生成する自動トランザクション生成回路とを備える非同期データパイプ。 - 上記レジスタファイル(26)は、転送先のアドレスと、転送するデータの長さと、転送する各データパケットの長さと、転送の方向とに関する情報を含むことを特徴とする請求の範囲第35項記載の非同期データパイプ(20)。
- 上記データ転送動作に必要なトランザクションは、増加する範囲のアドレスに対して生成されることを特徴とする請求の範囲第36項記載の非同期データパイプ(20)。
- 上記データ転送動作に必要なトランザクションは、固定のアドレスに対して生成されることを特徴とする請求の範囲第36項記載の非同期データパイプ(20)。
- 上記レジスタファイル(26)は、転送する残りのデータパケットの数を表すパケットカウンタの値を含み、該パケットカウンタの値は、各データパケットが転送された後に、デクリメントされることを特徴とする請求の範囲第36項記載の非同期データパイプ(20)。
- 上記アプリケーション(11)は、上記レジスタファイル(26)内の所定のフィールドの書込を行うことにより、上記パケットカウンタの値を自動的にインクリメントすることを特徴とする請求の範囲第39項記載の非同期データパイプ(20)。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/612,321 US6519268B1 (en) | 1996-03-07 | 1996-03-07 | Asynchronous data pipe for automatically managing asynchronous data transfers between an application and a bus structure |
US08/612,321 | 1996-03-07 | ||
PCT/US1997/002546 WO1997033230A1 (en) | 1996-03-07 | 1997-02-19 | Asynchronous data pipe for automatically managing asynchronous data transfers between an application and a bus structure |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000506295A JP2000506295A (ja) | 2000-05-23 |
JP4155413B2 true JP4155413B2 (ja) | 2008-09-24 |
Family
ID=24452676
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP53178097A Expired - Lifetime JP4155413B2 (ja) | 1996-03-07 | 1997-02-19 | アプリケーションとバス間の非同期データ転送を自動的に管理する非同期データパイプ |
Country Status (10)
Country | Link |
---|---|
US (4) | US6519268B1 (ja) |
EP (1) | EP0885418B1 (ja) |
JP (1) | JP4155413B2 (ja) |
KR (1) | KR100439539B1 (ja) |
AT (1) | ATE198237T1 (ja) |
AU (1) | AU2129997A (ja) |
CA (1) | CA2247341C (ja) |
DE (1) | DE69703732T2 (ja) |
TW (1) | TW381233B (ja) |
WO (1) | WO1997033230A1 (ja) |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7577782B2 (en) * | 1996-02-02 | 2009-08-18 | Sony Corporation | Application programming interface for data transfer and bus management over 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 |
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 |
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 |
US6292844B1 (en) * | 1998-02-12 | 2001-09-18 | Sony Corporation | Media storage device with embedded data filter for dynamically processing data during read and write operations |
US6912566B1 (en) * | 1998-07-28 | 2005-06-28 | Siemens Aktiengesellschaft | Memory device and method for operating the memory device |
US6496862B1 (en) | 1998-08-25 | 2002-12-17 | Mitsubishi Electric Research Laboratories, Inc. | Remote monitoring and control of devices connected to an IEEE 1394 bus via a gateway device |
US6505255B1 (en) | 1999-04-29 | 2003-01-07 | Mitsubishi Electric Information Technology Center America, Inc. (Ita) | Method for formatting and routing data between an external network and an internal network |
WO2000065781A1 (en) * | 1999-04-23 | 2000-11-02 | Sony Electronics Inc. | Method of and apparatus for implementing and sending an asynchronous control mechanism packet |
US6523064B1 (en) | 1999-04-29 | 2003-02-18 | Mitsubishi Electric Research Laboratories, Inc | Network gateway for collecting geographic data information |
US6633547B1 (en) | 1999-04-29 | 2003-10-14 | Mitsubishi Electric Research Laboratories, Inc. | Command and control transfer |
US6378000B1 (en) | 1999-04-29 | 2002-04-23 | Mitsubish Electric Research Laboratories, Inc | Address mapping in home entertainment network |
JP2001244952A (ja) * | 2000-02-29 | 2001-09-07 | Sony Corp | 通信制御装置 |
FR2813408B1 (fr) * | 2000-08-29 | 2006-08-04 | Canon Kk | Procedes de transfert de types multiples de donnees au sein d'un noeud de communication, et reseaux comportant un tel noeud |
US8370517B2 (en) * | 2001-09-27 | 2013-02-05 | International Business Machines Corporation | Conserving energy in a data processing network |
US7248568B1 (en) * | 2002-02-26 | 2007-07-24 | Marvell International, Ltd. | Apparatus for detecting hidden nodes in a wireless network |
DE10302363A1 (de) * | 2003-01-22 | 2004-08-05 | Deutsche Thomson-Brandt Gmbh | Verfahren zum Betreiben eines Netzwerks von Schnittstellenknoten und Schnittstelleneinrichtung |
US7983142B2 (en) | 2004-03-30 | 2011-07-19 | Intel Corporation | Apparatus, systems, and methods for the reception and synchronization of asynchronous signals |
DE102004045118A1 (de) * | 2004-09-17 | 2006-03-23 | Robert Bosch Gmbh | Verfahren und Vorrichtung zur Datenübertragung |
US8156220B1 (en) * | 2007-09-28 | 2012-04-10 | Emc Corporation | Data storage system |
US9063922B2 (en) | 2012-12-18 | 2015-06-23 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Firmware generated register file for use in hardware validation |
US10223407B2 (en) * | 2014-10-31 | 2019-03-05 | Cisco Technology, Inc. | Asynchronous processing time metrics |
US11550982B2 (en) | 2015-11-04 | 2023-01-10 | Chronos Tech Llc | Application specific integrated circuit interconnect |
US10073939B2 (en) | 2015-11-04 | 2018-09-11 | Chronos Tech Llc | System and method for application specific integrated circuit design |
US9977853B2 (en) | 2015-11-04 | 2018-05-22 | Chronos Tech Llc | Application specific integrated circuit link |
US10708842B2 (en) * | 2016-01-13 | 2020-07-07 | Locus Control LLC | Low power communications system |
US10181939B2 (en) | 2016-07-08 | 2019-01-15 | Chronos Tech Llc | Systems and methods for the design and implementation of an input and output ports for circuit design |
US10637592B2 (en) * | 2017-08-04 | 2020-04-28 | Chronos Tech Llc | System and methods for measuring performance of an application specific integrated circuit interconnect |
CN109919359B (zh) * | 2019-02-01 | 2024-06-04 | 武汉天之然知识产权运营有限公司 | 一种基于adp算法的车辆路径规划方法 |
US11087057B1 (en) | 2019-03-22 | 2021-08-10 | Chronos Tech Llc | System and method for application specific integrated circuit design related application information including a double nature arc abstraction |
Family Cites Families (141)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2221629C3 (de) | 1972-05-03 | 1978-04-27 | Siemens Ag, 1000 Berlin Und 8000 Muenchen | Verfahren zur Synchronisierung in Zeitmultiplex-Übertragungssystemen |
US3906484A (en) | 1972-09-13 | 1975-09-16 | Westinghouse Electric Corp | Decoder input circuit for receiving asynchronous data bit streams |
NL7313756A (ja) * | 1972-10-11 | 1974-04-16 | ||
US4067059A (en) | 1976-01-29 | 1978-01-03 | Sperry Rand Corporation | Shared direct memory access controller |
US4218756A (en) | 1978-06-19 | 1980-08-19 | Bell Telephone Laboratories, Incorporated | Control circuit for modifying contents of packet switch random access memory |
US4409656A (en) | 1980-03-13 | 1983-10-11 | Her Majesty The Queen, In Right Of Canada As Represented By The Minister Of National Defense | Serial data bus communication system |
US4395710A (en) | 1980-11-26 | 1983-07-26 | Westinghouse Electric Corp. | Bus access circuit for high speed digital data communication |
US4379294A (en) | 1981-02-12 | 1983-04-05 | Electric Power Research Institute, Inc. | Data highway access control system |
US4493021A (en) | 1981-04-03 | 1985-01-08 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Multicomputer communication system |
US4507732A (en) * | 1981-10-05 | 1985-03-26 | Burroughs Corporation | I/O subsystem using slow devices |
US4633392A (en) | 1982-04-05 | 1986-12-30 | Texas Instruments Incorporated | Self-configuring digital processor system with logical arbiter |
GB8304950D0 (en) | 1983-02-22 | 1983-03-23 | Int Computers Ltd | Data communication systems |
US4897783A (en) | 1983-03-14 | 1990-01-30 | Nay Daniel L | Computer memory system |
US4857910A (en) | 1983-12-19 | 1989-08-15 | Pitney Bowes Inc. | Bit-map CRT display control |
US4739323A (en) | 1986-05-22 | 1988-04-19 | Chrysler Motors Corporation | Serial data bus for serial communication interface (SCI), serial peripheral interface (SPI) and buffered SPI modes of operation |
DE3683943D1 (de) | 1986-11-14 | 1992-03-26 | Ibm | Steuerungsschnittstelle fuer datentransfer zwischen einer datenverarbeitungseinheit und ein-ausgabevorrichtungen. |
US4972470A (en) | 1987-08-06 | 1990-11-20 | Steven Farago | Programmable connector |
US4998245A (en) * | 1987-12-17 | 1991-03-05 | Matsushita Electric Industrial Co., Ltd. | Information transmission system having collective data transmission and collection devices |
US5005151A (en) * | 1988-05-13 | 1991-04-02 | Dallas Semiconductor Corporation | Interleaved arbitration scheme for interfacing parallel and serial ports to a parallel system port |
US5140679A (en) | 1988-09-14 | 1992-08-18 | National Semiconductor Corporation | Universal asynchronous receiver/transmitter |
US5008879B1 (en) | 1988-11-14 | 2000-05-30 | Datapoint Corp | Lan with interoperative multiple operational capabilities |
US5359713A (en) | 1989-06-01 | 1994-10-25 | Legato Systems, Inc. | Method and apparatus for enhancing synchronous I/O in a computer system with a non-volatile memory and using an acceleration device driver in a computer operating system |
JPH03123232A (ja) | 1989-10-06 | 1991-05-27 | Matsushita Electric Ind Co Ltd | データ伝送制御処理方法 |
JPH03156554A (ja) | 1989-11-14 | 1991-07-04 | Hitachi Ltd | データ転送制御方式 |
FR2658971B1 (fr) | 1990-02-23 | 1995-07-28 | Europ Rech Electr Lab | Procede de traitement des donnees numeriques de controle associees a un signal video de type hd-mac et dispositif pour la mise en óoeuvre du procede. |
JP3369580B2 (ja) | 1990-03-12 | 2003-01-20 | ヒューレット・パッカード・カンパニー | 直接メモリアクセスを行うためのインターフェース装置及び方法 |
US5325510A (en) | 1990-05-25 | 1994-06-28 | Texas Instruments Incorporated | Multiprocessor system and architecture with a computation system for minimizing duplicate read requests |
US5343469A (en) | 1990-06-14 | 1994-08-30 | Nec Corporation | Communication system and communication devices having lock function |
US5546553A (en) | 1990-09-24 | 1996-08-13 | Texas Instruments Incorporated | Multifunctional access devices, systems and methods |
US5307491A (en) | 1991-02-12 | 1994-04-26 | International Business Machines Corporation | Layered SCSI device driver with error handling circuit providing sense data from device directly to the driver on the occurrence of an error |
DE4129205A1 (de) | 1991-03-28 | 1992-10-01 | Bosch Gmbh Robert | Verfahren zum aufbau von botschaften fuer den datenaustausch und/oder fuer die synchronisation von prozessen in datenverarbeitungsanlagen |
US5369773A (en) | 1991-04-26 | 1994-11-29 | Adaptive Solutions, Inc. | Neural network using virtual-zero |
US5276684A (en) | 1991-07-22 | 1994-01-04 | International Business Machines Corporation | High performance I/O processor |
JP3243803B2 (ja) | 1991-08-28 | 2002-01-07 | ソニー株式会社 | Av機器 |
US5487153A (en) | 1991-08-30 | 1996-01-23 | Adaptive Solutions, Inc. | Neural network sequencer and interface apparatus |
DE69230093T2 (de) * | 1991-11-19 | 2000-04-13 | International Business Machines Corp., Armonk | Multiprozessorsystem |
US5471632A (en) | 1992-01-10 | 1995-11-28 | Digital Equipment Corporation | System for transferring data between a processor and a system bus including a device which packs, unpacks, or buffers data blocks being transferred |
US5475860A (en) | 1992-06-15 | 1995-12-12 | Stratus Computer, Inc. | Input/output control system and method for direct memory transfer according to location addresses provided by the source unit and destination addresses provided by the destination unit |
US5485594A (en) * | 1992-07-17 | 1996-01-16 | International Business Machines Corporation | Apparatus and method using an atomic fetch and add for establishing temporary ownership of a common system resource in a multiprocessor data processing system |
US5497466A (en) | 1992-07-17 | 1996-03-05 | Texas Instruments Inc. | Universal address generator |
EP0588046A1 (en) | 1992-08-14 | 1994-03-23 | International Business Machines Corporation | IEEE standard 802.2 virtual device driver |
US5647057A (en) * | 1992-08-24 | 1997-07-08 | Texas Instruments Incorporated | Multiple block transfer mechanism |
US5499344A (en) | 1992-10-07 | 1996-03-12 | Texas Instruments Incorporated | Programmable dual port data unit for interfacing between multiple buses |
KR100305268B1 (ko) | 1992-11-02 | 2001-11-22 | 아담 씨. 스트리겔 | 스위칭메카니즘에서의등시(等時)데이타의국부루프백 |
US5550802A (en) | 1992-11-02 | 1996-08-27 | National Semiconductor Corporation | Data communication network with management port for isochronous switch |
EP0596651A1 (en) | 1992-11-02 | 1994-05-11 | National Semiconductor Corporation | Network for data communication with isochronous capability |
US5361261A (en) | 1992-11-02 | 1994-11-01 | National Semiconductor Corporation | Frame-based transmission of data |
US5544324A (en) | 1992-11-02 | 1996-08-06 | National Semiconductor Corporation | Network for transmitting isochronous-source data using a frame structure with variable number of time slots to compensate for timing variance between reference clock and data rate |
EP0596648A1 (en) | 1992-11-02 | 1994-05-11 | National Semiconductor Corporation | Network link endpoint capability detection |
KR940017376A (ko) | 1992-12-21 | 1994-07-26 | 오오가 노리오 | 송신 방법, 수신 방법, 통신 방법 및 쌍방향 버스 시스템 |
EP0607733A1 (en) | 1993-01-08 | 1994-07-27 | International Business Machines Corporation | Apparatus and method for data communications between nodes |
US5400340A (en) | 1993-03-04 | 1995-03-21 | Apple Computer, Inc. | End of packet detector and resynchronizer for serial data buses |
GB2275852B (en) | 1993-03-05 | 1997-02-26 | Sony Broadcast & Communication | Signal synchroniser with resynchronise control |
US5689678A (en) | 1993-03-11 | 1997-11-18 | Emc Corporation | Distributed storage array system having a plurality of modular control units |
US5412698A (en) | 1993-03-16 | 1995-05-02 | Apple Computer, Inc. | Adaptive data separator |
US5509126A (en) | 1993-03-16 | 1996-04-16 | Apple Computer, Inc. | Method and apparatus for a dynamic, multi-speed bus architecture having a scalable interface |
US5559967A (en) * | 1993-03-18 | 1996-09-24 | Apple Computer, Inc. | Method and apparatus for a dynamic, multi-speed bus architecture in which an exchange of speed messages occurs independent of the data signal transfers |
WO1994022253A1 (en) | 1993-03-20 | 1994-09-29 | International Business Machines Corporation | Method and apparatus for extracting connection information from protocol headers |
DE4323405A1 (de) | 1993-07-13 | 1995-01-19 | Sel Alcatel Ag | Zugangskontrollverfahren für einen Pufferspeicher sowie Vorrichtung zum Zwischenspeichern von Datenpaketen und Vermittlungsstelle mit einer solchen Vorrichtung |
JP3373607B2 (ja) * | 1993-09-01 | 2003-02-04 | 富士通株式会社 | プロセッサの制御機構検証用命令列の自動生成方法及び装置 |
US5887145A (en) | 1993-09-01 | 1999-03-23 | Sandisk Corporation | Removable mother/daughter peripheral card |
US5444709A (en) | 1993-09-30 | 1995-08-22 | Apple Computer, Inc. | Protocol for transporting real time data |
US5446854A (en) * | 1993-10-20 | 1995-08-29 | Sun Microsystems, Inc. | Virtual memory computer apparatus and address translation mechanism employing hashing scheme and page frame descriptor that support multiple page sizes |
US5682493A (en) | 1993-10-21 | 1997-10-28 | Sun Microsystems, Inc. | Scoreboard table for a counterflow pipeline processor with instruction packages and result packages |
CA2134061A1 (en) | 1993-10-28 | 1995-04-29 | Aaron William Ogus | Frame buffering of network packets |
JP3307085B2 (ja) * | 1993-12-10 | 2002-07-24 | ソニー株式会社 | 通信方法及び電子機器 |
US5835726A (en) | 1993-12-15 | 1998-11-10 | Check Point Software Technologies Ltd. | System for securing the flow of and selectively modifying packets in a computer network |
US5659780A (en) | 1994-02-24 | 1997-08-19 | Wu; Chen-Mie | Pipelined SIMD-systolic array processor and methods thereof |
EP1087571B1 (en) * | 1994-03-09 | 2003-06-04 | Matsushita Electric Industrial Co., Ltd. | Data transmission system and method |
US5465402A (en) | 1994-03-23 | 1995-11-07 | Uniden America Corp. | Automatic frequency transfer and storage method |
US5566174A (en) | 1994-04-08 | 1996-10-15 | Philips Electronics North America Corporation | MPEG information signal conversion system |
JP3129143B2 (ja) | 1994-05-31 | 2001-01-29 | 松下電器産業株式会社 | データ転送方法 |
BR9507981A (pt) * | 1994-06-15 | 1997-08-12 | Thomson De Consumer Electronic | Aparelho para processamento de sinais |
US5689244A (en) | 1994-06-24 | 1997-11-18 | Sony Corporation | Communication system and electronic apparatus |
JP3458469B2 (ja) | 1994-07-15 | 2003-10-20 | ソニー株式会社 | 信号受信装置及び通信方法 |
JP3203978B2 (ja) | 1994-07-25 | 2001-09-04 | ソニー株式会社 | データ送受信装置、データ受信装置及びデータ送信装置 |
US5706439A (en) | 1994-09-27 | 1998-01-06 | International Business Machines Corporation | Method and system for matching packet size for efficient transmission over a serial bus |
US5687316A (en) | 1994-07-29 | 1997-11-11 | International Business Machines Corporation | Communication apparatus and methods having P-MAC, I-MAC engines and buffer bypass for simultaneously transmitting multimedia and packet data |
US6205538B1 (en) * | 1994-08-24 | 2001-03-20 | Sun Microsystems, Inc. | Instruction result labeling in a counterflow pipeline processor |
JP3561969B2 (ja) * | 1994-08-30 | 2004-09-08 | ソニー株式会社 | 編集方法及び編集制御機器 |
US5668948A (en) | 1994-09-08 | 1997-09-16 | International Business Machines Corporation | Media streamer with control node enabling same isochronous streams to appear simultaneously at output ports or different streams to appear simultaneously at output ports |
US5603058A (en) | 1994-09-08 | 1997-02-11 | International Business Machines Corporation | Video optimized media streamer having communication nodes received digital data from storage node and transmitted said data to adapters for generating isochronous digital data streams |
US5586264A (en) | 1994-09-08 | 1996-12-17 | Ibm Corporation | Video optimized media streamer with cache management |
US5548587A (en) | 1994-09-12 | 1996-08-20 | Efficient Networks, Inc. | Asynchronous transfer mode adapter for desktop applications |
US5617419A (en) * | 1994-09-20 | 1997-04-01 | International Business Machines Corporation | Adapting switch port and work station communication adapters to data frame types with disparate formats and data rates |
JP3371174B2 (ja) | 1994-09-22 | 2003-01-27 | ソニー株式会社 | パケット受信装置 |
US5619646A (en) | 1994-09-27 | 1997-04-08 | International Business Machines Corporation | Method and system for dynamically appending a data block to a variable length transmit list while transmitting another data block over a serial bus |
US5632016A (en) | 1994-09-27 | 1997-05-20 | International Business Machines Corporation | System for reformatting a response packet with speed code from a source packet using DMA engine to retrieve count field and address from source packet |
US5504757A (en) * | 1994-09-27 | 1996-04-02 | International Business Machines Corporation | Method for selecting transmission speeds for transmitting data packets over a serial bus |
US5640592A (en) | 1994-09-30 | 1997-06-17 | Mitsubishi Kasei America, Inc. | System for transferring utility algorithm stored within a peripheral device to a host computer in a format compatible with the type of the host computer |
US5828903A (en) | 1994-09-30 | 1998-10-27 | Intel Corporation | System for performing DMA transfer with a pipeline control switching such that the first storage area contains location of a buffer for subsequent transfer |
WO1996013776A1 (en) | 1994-10-31 | 1996-05-09 | Intel Corporation | M & a for exchanging data, status, and commands over a hierarchical serial bus assembly using communication packets |
US5602853A (en) * | 1994-11-03 | 1997-02-11 | Digital Equipment Corporation | Method and apparatus for segmentation and reassembly of ATM packets using only dynamic ram as local memory for the reassembly process |
US5704052A (en) | 1994-11-06 | 1997-12-30 | Unisys Corporation | Bit processing unit for performing complex logical operations within a single clock cycle |
US5664124A (en) | 1994-11-30 | 1997-09-02 | International Business Machines Corporation | Bridge between two buses of a computer system that latches signals from the bus for use on the bridge and responds according to the bus protocols |
KR0138964B1 (ko) | 1994-12-14 | 1998-06-15 | 김주용 | 데이타 포멧 변화기를 포함한 차분 펄스 코드 변조기 |
US5526353A (en) | 1994-12-20 | 1996-06-11 | Henley; Arthur | System and method for communication of audio data over a packet-based network |
US5533018A (en) | 1994-12-21 | 1996-07-02 | National Semiconductor Corporation | Multi-protocol packet framing over an isochronous network |
US5835733A (en) | 1994-12-22 | 1998-11-10 | Texas Instruments Incorporated | Method and apparatus for implementing a single DMA controller to perform DMA operations for devices on multiple buses in docking stations, notebook and desktop computer system |
US5781780A (en) | 1994-12-22 | 1998-07-14 | Texas Instruments Incorporated | Power management supply interface circuitry, systems and methods |
US5533021A (en) | 1995-02-03 | 1996-07-02 | International Business Machines Corporation | Apparatus and method for segmentation and time synchronization of the transmission of multimedia data |
CN1912885B (zh) * | 1995-02-13 | 2010-12-22 | 英特特拉斯特技术公司 | 用于安全交易管理和电子权利保护的系统和方法 |
US5559796A (en) | 1995-02-28 | 1996-09-24 | National Semiconductor Corporation | Delay control for frame-based transmission of data |
US5784712A (en) * | 1995-03-01 | 1998-07-21 | Unisys Corporation | Method and apparatus for locally generating addressing information for a memory access |
US5594732A (en) | 1995-03-03 | 1997-01-14 | Intecom, Incorporated | Bridging and signalling subsystems and methods for private and hybrid communications systems including multimedia systems |
US5519701A (en) | 1995-03-29 | 1996-05-21 | International Business Machines Corporation | Architecture for high performance management of multiple circular FIFO storage means |
JP3249334B2 (ja) | 1995-04-06 | 2002-01-21 | 株式会社東芝 | ディジタルインターフェース装置及びディジタルインターフェース方法 |
US5655138A (en) | 1995-04-11 | 1997-08-05 | Elonex I. P. Holdings | Apparatus and method for peripheral device control with integrated data compression |
FI98028C (fi) | 1995-05-03 | 1997-03-25 | Nokia Mobile Phones Ltd | Datasovitin |
US5761464A (en) * | 1995-05-22 | 1998-06-02 | Emc Corporation | Prefetching variable length data |
US5841771A (en) * | 1995-07-07 | 1998-11-24 | Northern Telecom Limited | Telecommunications switch apparatus and method for time switching |
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 |
US5815678A (en) | 1995-07-14 | 1998-09-29 | Adaptec, Inc. | Method and apparatus for implementing an application programming interface for a communications bus |
US5606559A (en) * | 1995-08-11 | 1997-02-25 | International Business Machines Corporation | System and method for an efficient ATM adapter/device driver interface |
US5787298A (en) | 1995-08-18 | 1998-07-28 | General Magic, Inc. | Bus interface circuit for an intelligent low power serial bus |
US5752076A (en) | 1995-08-31 | 1998-05-12 | Intel Corporation | Dynamic programming of bus master channels by intelligent peripheral devices using communication packets |
US5832492A (en) * | 1995-09-05 | 1998-11-03 | Compaq Computer Corporation | Method of scheduling interrupts to the linked lists of transfer descriptors scheduled at intervals on a serial bus |
US5692211A (en) | 1995-09-11 | 1997-11-25 | Advanced Micro Devices, Inc. | Computer system and method having a dedicated multimedia engine and including separate command and data paths |
US6122279A (en) * | 1995-10-02 | 2000-09-19 | Virata Limited | Asynchronous transfer mode switch |
US5701302A (en) | 1995-10-25 | 1997-12-23 | Motorola, Inc, | Method and apparatus for adaptively companding data packets in a data communication system |
US5751951A (en) * | 1995-10-30 | 1998-05-12 | Mitsubishi Electric Information Technology Center America, Inc. | Network interface |
US5872569A (en) * | 1995-10-30 | 1999-02-16 | Xerox Corporation | Apparatus and method for programming and/or controlling output of a job in a document processing system |
US5970236A (en) | 1995-11-14 | 1999-10-19 | Compaq Computer Corporation | Circuit for selectively performing data format conversion |
US5812883A (en) | 1995-11-22 | 1998-09-22 | Mitsubishi Chemical America, Inc. | System for reading and storing formatting information after formatting a first storage medium and using the stored formatting information to format a second storage medium |
US7577782B2 (en) * | 1996-02-02 | 2009-08-18 | Sony Corporation | Application programming interface for data transfer and bus management 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 |
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 |
US5799041A (en) | 1996-02-05 | 1998-08-25 | Xinex Networks Inc. | Network for multimedia asynchronous transfer mode digital signal transmission and components thereof |
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 |
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 |
US5828416A (en) | 1996-03-29 | 1998-10-27 | Matsushita Electric Corporation Of America | System and method for interfacing a transport decoder to a elementary stream video decorder |
US5761430A (en) | 1996-04-12 | 1998-06-02 | Peak Audio, Inc. | Media access control for isochronous data packets in carrier sensing multiple access systems |
EP0860823A4 (en) | 1996-07-15 | 2001-05-02 | Toshiba Kk | DEVICE WITH DIGITAL INTERFACE, NETWORK SYSTEM WITH THIS DEVICE AND COPY PROTECTION PROCEDURE |
US5951019A (en) * | 1996-09-05 | 1999-09-14 | Centre For Engineering Research Inc. | Method of forming a metal-to-metal seal in high pressure applications with low contact stress |
US5774683A (en) | 1996-10-21 | 1998-06-30 | Advanced Micro Devices, Inc. | Interconnect bus configured to implement multiple transfer protocols |
US5761457A (en) | 1996-10-21 | 1998-06-02 | Advanced Micro Devices Inc. | Inter-chip bus with fair access for multiple data pipes |
US5832245A (en) | 1996-10-21 | 1998-11-03 | Advanced Micro Devices, Inc. | Method for isochronous flow control across an inter-chip bus |
US5835793A (en) | 1997-05-02 | 1998-11-10 | Texas Instruments Incorporated | Device and method for extracting a bit field from a stream of data |
US5938752C1 (en) * | 1997-05-20 | 2002-02-05 | Microsoft Corp | System and method for encapsulating legacy data transport protocols for ieee 1394 serial bus |
US6085270A (en) | 1998-06-17 | 2000-07-04 | Advanced Micro Devices, Inc. | Multi-channel, multi-rate isochronous data bus |
JP4318649B2 (ja) | 2005-02-01 | 2009-08-26 | 因幡電機産業株式会社 | コーナー用化粧カバー |
-
1996
- 1996-03-07 US US08/612,321 patent/US6519268B1/en not_active Expired - Lifetime
-
1997
- 1997-02-18 TW TW086101899A patent/TW381233B/zh not_active IP Right Cessation
- 1997-02-19 CA CA002247341A patent/CA2247341C/en not_active Expired - Lifetime
- 1997-02-19 WO PCT/US1997/002546 patent/WO1997033230A1/en active IP Right Grant
- 1997-02-19 JP JP53178097A patent/JP4155413B2/ja not_active Expired - Lifetime
- 1997-02-19 DE DE69703732T patent/DE69703732T2/de not_active Expired - Lifetime
- 1997-02-19 EP EP97906666A patent/EP0885418B1/en not_active Expired - Lifetime
- 1997-02-19 AT AT97906666T patent/ATE198237T1/de not_active IP Right Cessation
- 1997-02-19 AU AU21299/97A patent/AU2129997A/en not_active Abandoned
- 1997-02-19 KR KR10-1998-0706804A patent/KR100439539B1/ko not_active IP Right Cessation
-
2003
- 2003-01-16 US US10/346,657 patent/US7145921B2/en not_active Expired - Fee Related
-
2006
- 2006-08-31 US US11/514,751 patent/US7567590B2/en not_active Expired - Lifetime
-
2009
- 2009-06-19 US US12/488,338 patent/US7944952B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
ATE198237T1 (de) | 2001-01-15 |
US7145921B2 (en) | 2006-12-05 |
DE69703732D1 (de) | 2001-01-25 |
US6519268B1 (en) | 2003-02-11 |
US7567590B2 (en) | 2009-07-28 |
DE69703732T2 (de) | 2001-06-13 |
CA2247341A1 (en) | 1997-09-12 |
KR100439539B1 (ko) | 2004-11-03 |
EP0885418B1 (en) | 2000-12-20 |
TW381233B (en) | 2000-02-01 |
JP2000506295A (ja) | 2000-05-23 |
AU2129997A (en) | 1997-09-22 |
US20030123475A1 (en) | 2003-07-03 |
KR19990087389A (ko) | 1999-12-27 |
EP0885418A1 (en) | 1998-12-23 |
WO1997033230A1 (en) | 1997-09-12 |
US7944952B2 (en) | 2011-05-17 |
US20060291508A1 (en) | 2006-12-28 |
US20090268760A1 (en) | 2009-10-29 |
CA2247341C (en) | 2008-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4155413B2 (ja) | アプリケーションとバス間の非同期データ転送を自動的に管理する非同期データパイプ | |
JP3993893B2 (ja) | バスを介したデータ転送及びバス管理に用いるアプリケーションプログラミングインターフェイス | |
US7590133B2 (en) | Data communication system, data communication method, and data communication apparatus | |
US6445711B1 (en) | Method of and apparatus for implementing and sending an asynchronous control mechanism packet used to control bridge devices within a network of IEEE STD 1394 serial buses | |
US6651119B2 (en) | Method for allocating priorities to plurality of DMA engines for processing data packets based on bus phase and transactions status | |
WO2000023906A1 (en) | System for dynamically binding subobjects into objects to represent devices within ieee 1394 serial bus network | |
US6857028B1 (en) | Data transfer control device and electronic equipment | |
US5935267A (en) | Data communication method and a data communication system for use with a digital network | |
KR100407095B1 (ko) | 데이터 통신 시스템 및 데이터 통신 방법 | |
JP2002111704A (ja) | データ送受信装置及び方法 | |
EP1093269A2 (en) | Data transfer control device and electronic equipment | |
EP1156423A2 (en) | Information processing apparatus, information processing method and bridge utilizing the same | |
KR100311707B1 (ko) | 데이타 통신 시스템, 데이타 통신 방법, 데이타 통신 장치 및 디지탈 인터페이스 | |
JPH10341247A (ja) | データ送信装置、データ受信装置、データ伝送システム及びデータ伝送方法 | |
US20010024445A1 (en) | Communication system, communication device and communication method | |
JP4033915B2 (ja) | データストリーム制御方法及び装置 | |
JP3860878B2 (ja) | データ受信装置およびデータ伝送システム | |
JP2000196624A (ja) | 伝送管理装置、情報処理装置及び情報伝送システム | |
US6421745B1 (en) | Asynchronous connections with scattering page tables for transmitting data from a producer device to a consumer device over an IEEE 1394 serial data bus | |
US6993022B1 (en) | Method of and apparatus for directly mapping communications through a router between nodes on different buses within a network of buses | |
JP4046846B2 (ja) | データ通信システム及びデータ通信装置 | |
JPH1155297A (ja) | 伝送媒体接続装置および記憶媒体 | |
JP2000032005A (ja) | デ―タ通信システム、デ―タ通信方法、デ―タ通信装置、デジタルインタフェ―ス及び記憶媒体 | |
JP2000032010A (ja) | デ―タ通信システム、デ―タ通信方法、デ―タ通信装置、デジタルインタフェ―ス及び記憶媒体 | |
JPH10243022A (ja) | パケット変換装置および媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040219 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070206 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20070330 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20070521 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070806 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080617 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20080602 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080703 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110718 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20080723 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110718 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120718 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120718 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130718 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |