JPH1040211A - パケット化されたデータ通信インタフェース機器内での直接メモリアクセス優先順位を割り当てるための方法ならびにdmaチャンネル回路 - Google Patents
パケット化されたデータ通信インタフェース機器内での直接メモリアクセス優先順位を割り当てるための方法ならびにdmaチャンネル回路Info
- Publication number
- JPH1040211A JPH1040211A JP9111616A JP11161697A JPH1040211A JP H1040211 A JPH1040211 A JP H1040211A JP 9111616 A JP9111616 A JP 9111616A JP 11161697 A JP11161697 A JP 11161697A JP H1040211 A JPH1040211 A JP H1040211A
- Authority
- JP
- Japan
- Prior art keywords
- dma
- data
- logic
- channel
- packet
- 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
Links
Classifications
-
- 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/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- 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/40058—Isochronous transmission
-
- 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/40123—Interconnection of computers and peripherals
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Bus Control (AREA)
Abstract
内で直接メモリアクセスの優先順位を割り当てるための
方法およびシステムを提供し効率的なデータ転送を実現
する。 【解決手段】 PCIインタフェースバス内で、現在使
用中のDMAチャンネル番号に最も高い優先順位を割り
当てる。DMAチャンネル調停回路は、この現在使用中
のDMAチャンネルを使用したデータ転送が、予め定め
られた境界条件に達するまでは、このチャンネルのサー
ビスを継続する。前記境界条件が生じたところで、次の
優先順位を有するDMAチャンネルに移動することで、
効率的なデータ転送を実現する。
Description
ている米国特許明細書連続番号第(TI−22691)
号、暫定特許明細書として1996年4月26日に出願
された、”受信データパケットにチャンネル番号を割り
付けるための方法、装置ならびにシステム”、現米国特
許第 号の続きである。
の分野に関し、更に詳細にはパケット化されたデータに
関する通信インタフェース装置に関し、また更に詳細に
はIEEE標準1394標準に準拠したプラットフォー
ム指定通信インタフェース機器内での直接メモリアクセ
ス優先順位を割り当てるための方法に関する。
に関して処理装置速度だけが重要なのではなくて、入出
力帯域幅もまたパーソナルコンピュータ上でのアプリケ
ーションを制限する重大な要因である。この制限を解消
するために、IEEE1394標準では高性能マルチメ
ディア接続を、キャムコーダ(camcorder )、テレビ、
ステレオ、CD交換機、セットトップボックス(set-to
p boxes )、ミキシングコンソールならびにミュージッ
クキーボード、同様に従来からのパーソナルコンピュー
タ機器との間で可能にしている。”ファイヤワイヤ(Fi
reWire)”標準として知られているIEEE1394は
携帯型ならびにデスクトップコンピュータ環境でのバス
インタフェース標準を提供している。このIEEE13
94標準は消費者とコンピュータ市場とを繋ぐ重要なリ
ンク技術として機能しており、高度通信プロトコルで駆
動されるシリアルバスを記述している。IEEE139
4シリアルバスは廉価なシステムコストで、一方高性能
周辺機器バスに必要なデータ転送速度を提供するように
設計されている。
その会員コンピュータ会社によって策定されたIEEE
1394標準はシリアルバスインタフェースであって、
低価格、高速ディジタルデータ転送ならびに通信を可能
とする。装置間の転送速度は最大400メガビット毎秒
(mbps)にまで達し、非同期および等時間間隔デー
タ転送モードの両方を介して実現できる。IEEE13
94標準インタフェースはそれ自体ビデオアプリケーシ
ョンに適しているが、それは等時間間隔時分割システム
で動作しているからである。例えば、仮にシステムが1
フレームを1/15秒毎に出力するように構成されてい
たとすると、少なくとも1フレームが出力される全ての
パケットの中に存在するはずである。この結果ビデオが
滑らかに見えることになる。この理由によりIEEE1
394標準インタフェースは、これもまた等時間間隔モ
ードで動作する非同期転送モード(ATM: asynchrono
ustransfer mode)の様な技術と高い互換性を有する。
時間転送にあり、これはマルチメディアアプリケーショ
ンの相互接続として理想的な利点を提供する。小型で耐
久性がありしかもフレキシブルなケーブルおよびケーブ
ル接続器を使用することにより、IEEE1394標準
は価格の節約を実現しある種のケーブル仕様に対する要
求を不要とする。IEEE1394標準は汎用入出力相
互接続を提供し、これは入出力ポートを統合する一方で
プリント回路基板のスペースを合併整理する。更に、I
EEE1394標準はピア・ツウ・ピア通信構造を提供
し、これは周辺機器がホスト装置に負荷を課することな
く互いに直接通信することを可能とする。
を提供し、これはヘッダを含むパケット化されたデータ
を使用する。ヘッダはルーティング情報を含む。更に、
パケット化されたデータはペイロードデータを含む。媒
体の物理特性は長距離伝送用に設計される必要はない。
IEEE1394標準は、机上バスで動作するローカル
エリアネットワークの様な短距離用に設計されている。
その距離はしばしば単なる机上というよりは長くなる
が、IEEE1394標準はローカルエリアネットワー
ク動作で使用されることは意図していない。従って、基
本的にIEEE1394標準は、ワークステーション、
家庭用コンピュータ、テレビ、VCR、キャムコーダの
様な装置に、オーディオ、ビデオ、文字の様な種々の媒
体型式がアクセスするためのシリアルバスおよびパラレ
ルバスを置き換えるための高速相互接続を提供する。
ス機器に関しては、種々の直接メモリアクセス(DM
A)チャンネルを最適性能とするために如何にして調停
し、またスケジューリングするかという問題が存在す
る。スケジューリングの問題が生じ、これはIEEE1
394標準バスへのデータ転送を行う際の、高速DMA
チャンネル割り付けを妨げる。しかしながらこの様な問
題は、IEEE1394標準に特有のものでは無い。多
くの同様の事象に於いて、DMA動作のスケジューリン
グの最適解を求める問題は存在する。DMAチャンネル
を動作させている、これらの優先順位計画を実施するた
めの従来からの方法は最適とは言えないものである。も
しも1つのDMAチャンネルがデータを有し、それがパ
ーソナルコンピュータへ送られるものであって、かつ最
高の優先順位を持つものと仮定すると、そのDMAチャ
ンネルは要求されたアクセスを受信するひとつである
か、またはその最高の優先順位チャンネル以前に要求さ
れたアクセスを受信する別のチャンネルが存在すること
がある。
他のシステムが使用する多くのPCIインタフェース機
器は”ラウンドロビン”技術を採用している。この様な
技術では、サービス対象として[N+1]個のDMAチ
ャンネルが存在する場合、各々のチャンネルを0からN
へ順番に使用する。その結果、各DMAチャンネルは順
番に時分割で受信する。ラウンドロビン技術の問題点
は、最高の優先順位のチャンネルがPCIインタフェー
ス機器上で現在動作中のチャンネルとはならないことで
ある。より高速のIEEE1394標準インタフェース
では、現在FIFOの中にあるデータは、そのFIFO
から非常に早く抜き出されるかまたは満たされる。
ェース機器のスケジューリングおよび調停問題は、重要
な仕事を行っているチャンネル上での優先順位に基づく
調停作業の時に特に重要である。しかしながらこの作業
を行うことは、現在動作中のチャンネルは満足しない。
もしもインタフェース機器が現在動作中のチャンネルを
実時間で満足しない場合は、PCIインタフェースをサ
ポートしている1つまたは複数のFIFO機器の中で、
データの未達または超過が起こるであろう。これは現在
動作中のチャンネルを停止状態に異常終了させたり、エ
ラー状態を生成することになるであろう。この様なエラ
ー状態はIEEE1394標準または同様の通信バス内
の通信フローに対して正しくないまたは害となる影響を
与えるであろう。
に於いて、転送機器が順番にチャンネルを選択するため
に、チャンネルへのサービスが遅れてしまうという問題
がある。順番に処理する事で生じる遅れのため、チャン
ネルの実時間サービスが往々にして行えないことにな
る。これは通信フローを減速し、IEEE1394標準
を採用する利点に制限を加えることにもなる。
と、たとえ多数の現在動作中のチャンネルが存在して
も、多重チャンネル直接メモリアクセスエンジン上で、
直接メモリアクセスチャンネルの調停およびスケジュー
リングを行うための方法ならびにシステムが必要であ
る。
施されたときに、その作業が有用であるだけでなく、ま
た有用で無くても、FIFOの超過および未達の問題を
解決するために、現在動作中のチャンネルを確実に満足
させる機構が必要である。
式の据え置きにされたサービスを提供することとは対照
的に、DMAチャンネルを実時間でサービスするための
方法およびシステムが必要である。
を解決するために、大きすぎるFIFOの命令を防止す
る、DMAチャンネルサービスの方法を提供する必要が
ある。
順位を割り当てるための方法およびシステムが提供され
ており、これは従来開発されたIEEE1394標準ま
たは同様のデータ通信システム内の直接メモリアクセス
優先順位を割り当てるための方法およびシステムに関連
する、欠点および問題点を基本的に解決するかまたは軽
減するものである。
394標準を満足するようなデータパケット転送通信バ
スに関連するデータパケット転送機器の、直接メモリア
クセス(DMA)チャンネル優先順位を割り当てる方法
およびシステムが提供されている。この方法およびシス
テムは、データパケット転送機器に対して物理媒体イン
タフェース上を現在転送されているパケットに関連する
DMAチャンネルを判定する。この方法およびシステム
はまた、現在直接メモリアクセスチャンネルにサービス
しているDMAエンジン内のレジスタのセットも管理す
る。本発明は最も高い優先順位を、物理媒体インタフェ
ース上で転送している動作中のDMAチャンネルに割り
当て、これをDMA調停ロジックに通信する。次に、こ
の方法およびシステムは、現在動作中のDMAチャンネ
ルの予め定められた境界条件が存在するところまで、サ
ービスを継続する。続いてこの方法は、DMAチャンネ
ル実行を最高の優先順位を有する次の動作中DMAチャ
ンネルに移す。もしも物理媒体インタフェースへのデー
タ転送が動作中の場合は、DMAチャンネル実行はその
データ転送に関連するDMAチャンネルに移される。
のチャンネルが多数存在していたとしても、多重チャン
ネルDMAエンジン上のDMAチャンネル調停およびス
ケジューリングを行う方法を提供することである。
チャンネル上で実行されているときに、その作業が有用
である場合のみならず、有用で無い場合も現在動作中の
DMAチャンネルを確実に満足させる機構を提供するこ
とである。これは既知のDMAチャンネル割り当て方法
では起こる可能性のある、FIFOの超過および未達問
題を軽減または除去する。
を必要とするDMAチャンネルからの要求を据え置く代
わりに、DMAチャンネルを実時間でサービスするため
の方法およびシステムを提供することである。
たFIFOサイズを最少とすることを助け、これによっ
てIEEE1394標準型式バスに準拠した転送機器を
サービスするFIFOで必要とするシリコン要求量を最
少とする点である。
路を提供することであり、これによってIEEE139
4標準および同様の通信インタフェース機器に準拠した
既存の転送機器に比較して信頼性を改善する点である。
更に、本発明の技術的特長はIEEE1394標準に対
して簡単に適用できる点である。本発明は本質的に如何
なる型式の通信環境の如何なるシリアルデータストリー
ムに対しても適用できる。
行う以下の説明より更に完全な理解が得られるであろ
う。添付図面に於いて同一の参照番号は同一の事象を示
す。
図面に図示されており、ここで同一番号は種々の図面に
渡って同一の対応する部品を参照する。
概念的に図示しており、これは点線の箱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と通信を行う。
辺機器14には、CD ROM装置48、レーザプリン
タ50、デスクトップカメラ52、そしてビデオケーブ
ルセットトップボックス56とのインタフェースを行う
ディジタルビデオカセットレコーダ(VCR)54が考
えられる。
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
(例えば、非同期送信、等時間間隔送信、そして一般受
信)をサポートする。
ースASIC20はプログラム可能チャンネルアドレス
比較器ロジックを受信した入力データパケットに対して
実施し、それらに対してDMAチャンネルを割り当て
る。本発明は、少なくとも1つの実施例に於いて5つの
スキャッタ・ギャザ(scatter-gather)DMAチャンネ
ルを提供し、ここで各々のチャンネルのデータパケット
操作が、(1)非同期パケット送信、(2)等時間間隔
パケット送信、(3)非同期パケット受信、そして
(4)等時間間隔パケット受信機能をサポートするよう
にプログラムされる。
た、DMA操作をサポートするためのPCIマスタバス
機能と、また同様に内部レジスタへの読み取りおよび書
き込みアクセスを行うためのPCIスレーブ機能をも提
供する。32ビットPCIアドレスデータ経路を実現す
るために、PCIインタフェースASIC20はPCI
アドレスデータパリティ検査のみならず、割り込み事象
へのソフトウェア制御も提供する。PCIインタフェー
スASIC20は、外部ロジックへの専用経路を実現す
るためのプログラム可能外部ローカルバスを提供する。
更に加えて、PCIインタフェースASIC20は8ビ
ットまたは16ビットインタフェースを、ズームビデオ
(ZV)ポートに提供し、ビデオデータを直接外部モー
ションビデオメモリ搬送機に転送する。
発明のPCIインタフェースASIC20の機能分割を
示す。PCIインタフェースASIC20内のロジック
はPCIバスロジック60を含み、これはシリアルEP
ROM22との通信を行うためのシリアルEPROMイ
ンタフェース62を含む。PCIマスタロジック64お
よびPCIスレーブロジック66、同様にPCI構成制
御ならびに状態レジスタ68はPCIバス24との通信
に必要なロジックを提供する。ローカルバスインタフェ
ースロジック70は補助ポートローカルバス26とのイ
ンタフェースに必要な制御ロジックを提供する。
MAロジック72は、DMAエンジン74およびDMA
制御ならびに状態レジスタ76を含み、PCIバスロジ
ック60とFIFOロジック78との間の動作と通信と
を制御する。FIFOロジック78は汎用受信FIFO
80、非同期送信FIFO82、等時間間隔送信FIF
O84、ポインタアドレス写像ロジック86、およびF
IFO制御ならびに状態レジスタ88を含む。
状態レジスタ92を含み、これはリンク層制御ロジック
90内の全ての機能の制御を行いかつ状態のレポートを
行う。パケット送信制御ロジック98およびパケット受
信制御ロジック102はロジック、サイクルタイマ94
およびサイクルモニタ96と共に働く。物理リンクイン
タフェースロジック104はパラレル/シリアル変換な
らびにシリアル/パラレル変換機能を含む。
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が必要とするある種の構成データと一定のシ
ステム制御レジスタ情報とを電源投入後に提供する。
PCIインタフェースASIC20とシリアルEPRO
M22(図1)との間の通信を提供する。電源投入時、
シリアルEPROMインタフェース62はPCI構成レ
ジスタ68の僅かな部分をシリアルEPROM22から
初期化する。シリアルEPROM状態機械がシリアルE
PROM22にアクセスしている間、全てのPCIスレ
ーブアクセス入力は再試行状態で終了される。
制御ならびに状態レジスタ68用の構成データをも含
む。この情報はホストCPU44で読み取りおよび書き
込みが行われるが、これはシリアルEPROM22用制
御レジスタを通して2線式シリアルバスプロトコルをエ
ミュレートしている。この2線式シリアルバスはホスト
CPU44から、シリアルEPROM22出力可能化ビ
ットを”1”の値に設定するように操作され、続いて2
線式シリアルバスプロトコルをエミュレートするために
データおよびクロックビットにアクセスする。PCI構
成制御ならびに状態レジスタ68はタイマビットを含
み、これは2線式シリアルバスプロトコル事象のタイミ
ングを取るための時間基準を提供する。
フェースASIC20がPCIバス24をマスタ機器と
して操作するために必要な制御を実行する。このロジッ
クはメモリ読み取り、メモリ書き込み、メモリ読み取り
線、メモリ書き込み線、および書き込み無効命令操作を
可能とする。メモリ読み取り機能に関して、PCIイン
タフェースASIC20のDMA読み取り操作の結果、
PCIバス上にメモリ読み取り線命令によるメモリ読み
取りが行われる。メモリ書き込み操作に関して、PCI
インタフェースASIC20DMA書き込み操作の結果
PCIメモリ書き込みが行われるか、PCIバス上にメ
モリ書き込み線命令またはメモリ書き込み無効命令が出
される。
タフェースASIC20がPCIバスをスレーブ機器と
して操作するために必要な制御ロジックを実行する。可
能化されるとPCIスレーブ機能66は68に含まれる
基本アドレスレジスタで指定されるPCIメモリアドレ
ス範囲での、メモリ読み取りまたは書き込み命令に応答
する。PCIスレーブロジック66は、その他の制御レ
ジスタ内のスレーブバーストビットで可能化された際
に、スレーブバースト転送を実行する。PCIスレーブ
ロジック66はその他の制御レジスタ内の制御ビットで
可能化された際に、宛先指定書き込み操作を実行する。
はシステムおよびアプリケーションソフトウェアに対し
て、PCIインタフェースASIC20のPCI演算構
成を実行する機能を提供する。
は、共通ロジックを共有する特殊入出力ポートグループ
を提供する。これらのポートはPCIバス24またはD
MAエンジン74のいずれからもアクセス可能である。
これらのポート上の外部機器はマスタ機器として機能す
ることは出来ない。これらのポートはPCIインタフェ
ースASIC20を外部機器またはインタフェースに接
続し、この様な機器との間に自動データ転送を行うこと
を可能としている。ズームビデオバスインタフェースを
除く全てのローカルバスインタフェースは、ローカルク
ロックに同期しており、これはPCIクロックから提供
されるものである。ZVポートクロックはPCIクロッ
ク、IEEE1394クロック、または外部クロックに
基づいてプログラムされている。
は共有ローカルアドレスバスを提供し、これは本発明で
は16ビットアドレスバス、共有8ビットまたは16ビ
ット読み取りまたは書き込みデータバスであり、プログ
ラム可能待ち状態および準備完了条件を具備したもので
ある。ローカルバスアドレスおよびデータバスはRO
M,RAM,AUX,およびズームポート機能の中で共
有されている。ZV出力ポートは水平同期、垂直同期デ
ータ有効、およびZV−PIXEL.CLR.を提供す
る。ローカルバスインタフェースロジック70用のその
他の入出力は4つの汎用I/O(GPIO)ピンを含
み、これはプログラム可能方向および極性機能を実現す
る。ローカルバスインタフェースロジック70の本実施
例に於けるその他の信号としては、ローカルバスクロッ
ク出力、リセット出力、割り込み入力、そして外部準備
完了入力が含まれる。PCI構成制御ならびに状態レジ
スタ68はローカルバスインタフェースロジック70の
動作を構成する上で必要な制御命令ならびに情報を提供
する。
ートプログラムロード(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スレーブアクセス経由で入力される。
らびに状態レジスタ68内の第二PCIメモリに基づく
レジスタを通してアクセスされる。このメモリはDMA
制御構造またはデータバッファまたは、ディジタル信号
処理装置の様なその他の機能への共有メモリインタフェ
ースとして使用できる。RAMインタフェースは8ビッ
トまたは16ビット幅データのいずれかで、指定された
数の待ち状態または外部準備完了調歩として構成でき
る。
あって、これはPCI構成制御ならびに状態レジスタ6
8内の第三PCIメモリベースアドレスレジスタを通し
てアクセスされる。このポートは圧縮/伸長(decompre
ssion )ロジックまたはビデオプロセッサ/フレームバ
ッファの様な外部専用資源への高速データ経路を実現す
るために使用される。もしもZVポートが可能化されて
いると、AUXアドレス空間の1つのポートがそのZV
ポートに写像される。それ以外の場合は、この空間は提
出された実施例の補助アドレスベースの一部として利用
可能である。本実施例に於いて補助インタフェースは8
ビットまたは16ビット幅データのいずれかで、指定さ
れた数の待ち状態または外部準備完了調歩として構成で
きる。
単一の256x33でクロックを掛けられた二重ポート
RAMの回りに設計されており、3つの論理FIFOに
分割されている。各々のFIFOは0から256ワード
のサイズでプログラムされている。与えられたFIFO
サイズの組み合わせに対して、3つのFIFOサイズの
合計は256ワード以下でなければならない。
りおよび書き込みポインタ対を含み、FIFO二重ポー
トRAMへアクセスする際に使用される。各々のポイン
タは0からそのfifo_size_value 引く1の範囲で計数
する。各々のポインタに対するFIFO RAMアドレ
ス指定範囲は、オフセット値を生成するロジックによっ
て設定される。そのオフセットをポインタの値に加算し
て、RAMアドレスの唯一無二の範囲に写像されるよう
にする。動作中のDMAチャンネルは読み取りポインタ
を使用して、RAMのPCI側から非同期または等時間
間隔パケットを読み取り、それらをホストメモリの中に
書き込む。書き込みポインタはIEEE1394受信機
で使用され、IEEE1394バス上に受信された、非
同期または等時間間隔パケットをFIFO RAMのリ
ンク側に書き込む。2つのポインタはFIFO RAM
の両側で同期化ロジックを通して通信されるが、これは
FIFO二重ポートRAMの両側が異なるクロック領域
に存在するからである。
ートRAMへアクセスするための読み取りおよび書き込
みポインタ対を含む。各々のポインタは0からそのfifo
_size_value 引く1の範囲で計数する。各々のポイン
タに対するFIFO RAMアドレス指定範囲は、オフ
セット値を生成するロジックによって設定される。その
オフセットをポインタの値に加算して、アドレスの唯一
無二の範囲に写像されるようにする。動作中のDMAチ
ャンネルは書き込みポインタを使用して、ホストメモリ
から非同期パケットを読み取り、それをRAMのPCI
側の中に書き込む。読み取りポインタはIEEE139
4送信機で使用され、これは読み取りポインタを用いて
非同期パケットをFIFO RAMのリンク側から読み
取り、それをIEEE1394バス上に送信する。二つ
のポインタはFIFO RAMの両側で同期化ロジック
を通して通信されるが、これはFIFO二重ポートRA
Mの両側が異なるクロック領域に存在するからである。
重ポートRAMへアクセスするための読み取りおよび書
き込みポインタ対を含む。各々のポインタは0からその
fifo_size_value 引く1の範囲で計数する。各々のポ
インタに対するFIFO RAMアドレス指定範囲は、
オフセット値を生成するロジックによって設定される。
そのオフセットをポインタの値に加算して、アドレスの
唯一無二の範囲に写像されるようにする。動作中のDM
Aチャンネルは書き込みポインタを使用して、ホストメ
モリから等時間間隔パケットを読み取り、それをFIF
O RAMのPCI側の中に書き込む。IEEE139
4送信機は読み取りポインタを用いて等時間間隔パケッ
トをFIFO RAMのリンク側から読み取り、それを
IEEE1394バス上に送信する。読み取りおよび書
き込みポインタはFIFO RAMの両側で同期化ロジ
ックを通して通信されるが、これはFIFO二重ポート
RAMの両側が異なるクロック領域に存在するからであ
る。
86はFIFOサイズレジスタから3つのサイズ値を使
用して、各々のFIFO読み取り書き込みポインタ対を
FIFO二重ポートRAM内の唯一無二のアドレス範囲
に写像する。ポインタアドレス写像機能は下記の表に示
される式に基づいて生成される。
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用の送信閾
値を設定する。
するロジックを実行し、これらには送信機ロジックで生
成されたパケットデータストリームのヘッダ部分上での
32ビット自動DIN CRCエラーコードの生成が含
まれる。送信機はこのコードをヘッダ後部のデータスト
リームの中に挿入する。データペイロードを有するデー
タパケットに関しては、CRCロジック100は32ビ
ット自動DIN CRCエラーコードを、送信機ロジッ
クで生成されたパケットストリームのデータペイロード
部分の上に生成する。送信機はこのコードをパケットス
トリームの終わりに挿入する。CRCロジック100は
32ビット自動DIN CRCエラーコードを入力され
るパケットデータストリームのヘッダ部分の上に生成す
る。もしも計算されたコードがパケットと共に送られた
ヘッダCRCコードに等しい場合は、受信機はヘッダが
正しいと判断する。更に、CRCロジック100は32
ビット自動DIN CRCエラーコードを入力されるパ
ケットデータストリームのペイロード部分の上に生成す
る。もしも計算されたコードがパケットと共に送られた
データCRCコードに等しい場合は、受信機はデータペ
イロードが正しいと判断する。
1394リンク層制御ロジック(LLC)をIEEE1
394−1995標準で規定された通りに実行する。こ
の機能はIEEE1394パケットデータのFIFOロ
ジック78とその他のIEEE1394バス上の機器と
の間での送受信を制御する。
タ92はアプリケーションソフトウェアで要求される、
LLCの動作を制御しその動作を監視するための、制御
ならびに状態レジスタロジックを実行する。1394バ
ス番号・ノード番号レジスタはアプリケーションソフト
ウェアがバスならびにノード番号をプログラムするため
のインタフェースを提供する。1394リンク層制御レ
ジスタはアプリケーションソフトウェアがLLCの動作
モードを制御するためのインタフェースを提供する。1
394リンク層割り込み状態レジスタはアプリケーショ
ンソフトウェアがLLCで生成された割り込み原因を解
読するためのインタフェースと、この割り込み状態を解
消するための機構とを提供する。1394リンク層割り
込み可能化レジスタはアプリケーションソフトウェアが
割り込み状態レジスタ内の状態ビットを選択的に可能化
してLLC割り込みを生成したり、またはLLC割り込
みを生成することを不能化するためのインタフェースを
提供する。1394サイクルタイマレジスタはアプリケ
ーションソフトウェアがサイクルタイマに初期値をプロ
グラムしたりまたはその現在値を読み込むためのインタ
フェースを提供する。LLCがサイクルマスタとして動
作しているときは、このタイマはパケットの送信を開始
する周期を125マイクロ秒毎に時間決めするために使
用される。1394物理層アクセスレジスタはアプリケ
ーションソフトウェアが物理層インタフェース18制御
ならびに状態レジスタへのデータの書き込みまたはそこ
からのデータの読み取りを行うためのインタフェースを
提供する。
ケーションソフトウェアが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受信比較値レジスタ内の対応するビ
ット位置と一致が取られる。
レジスタ92は、ビジー再試行計数レジスタを含み、そ
の内容は1394送信機が送り先ノードからビジー肯定
確認が受信された際に、非同期パケット送信を再試行す
べき回数を指定している。このレジスタはアプリケーシ
ョンソフトウェアからPCIスレーブアクセスによって
読み書きされる。ビジー再試行時間間隔レジスタは、ビ
ジー肯定確認信号が各々の試行に対して受信された際に
送信機が後続の再試行との間で遅延すべき時間間隔を含
む。このレジスタはアプリケーションソフトウェアから
PCIスレーブアクセス経由で読み書きされる。また、
状態機械ベクトルレジスタがあって、これはソフトウェ
アに対してLLCに組み込まれている各々の状態機械の
状態ベクトルを監視する機能を与える。更に、FIFO
エラー計数器はパケット送信中に非同期および等時間間
隔送信FIFO82,84で生じる未達(under-run )
とパケット受信中にGRF80で生じる超過(over-ru
n)とを計数する。
されるIEEE1394パケットを受信するために必要
なロジックを実行する。受信機制御ロジックはIEEE
1394−1995で規定された詳細な機能要求に合致
している。これらはバスおよびノードIDレジスタそし
て/またはDMAチャンネル受信パケット比較器を使用
して入力された非同期または等時間間隔パケットを受信
すべきかの判断を行うための下記の機能を含む。CRC
ロジック機能はヘッダCRCをチェックして入力パケッ
トが正しく受信されているかの確認を行う。もしもパケ
ットがペイロードを有する場合、データCRCがチェッ
クされそのパケットがアドレス指定およびCRCチェッ
クを通過すると、受信されたパケットはGRF80の中
にロードされる。パケット受信機制御ロジック102は
非同期受信パケット上に肯定確認を生成する。
を実施するためのロジックを実行する。周期タイマロジ
ック96はIEEE1394−1995標準で規定され
ている周期タイマ機能の要求に合致する。周期タイマは
周期計数器と周期オフセットタイマとを含む。オフセッ
トタイマは自由計時、または選択信号ピン上で低から高
へ再ロードされるか、または受信機からの再ロード値を
取るかであるが、これは1394LLC制御ならびに状
態レジスタ92内の周期マスタおよび周期ソースビット
の状態に基づいて選ばれる。周期タイマは等時間間隔デ
ータ転送を支援するように使用される。周期時間は32
ビット幅である。本実施例に於いて、低位12ビットは
3072を法とする計数器(modulo 3072 counter )と
して計数し、これは24.576MHzクロック周期、
または(40.69ナノ秒)毎に更新される。次の高位
の13ビットは8khz(または125マイクロ秒)を
計数し、最高位7ビットは秒単位で計数する。
施するためのロジックを実行する。周期監視ロジック9
4は等時間間隔データ転送を支援し、LLC動作を監視
して等時間間隔動作のスケジュールを取り扱う。周期監
視ロジック94が周期開始パケットを受信するかまたは
送信すると、周期監視ロジック94はこれらの事象の発
生を、周期開始または周期受信割り込みを生成すること
により表示する。周期監視ロジック94はまた周期開始
パケットの喪失も検出し、周期喪失割り込みを生成す
る。等時間間隔周期が完了すると、周期監視ロジック9
4は周期完了割り込みを発する。周期監視ロジック94
は送信機に信号を発して周期開始パケットを送らせる
が、これは周期マスタ可能化ビットが1394LLC制
御ならびに状態レジスタ92内で発せられた時である。
EE1394パケットを非同期送信FIFO82または
等時間間隔送信FIFO84のいずれかから、物理リン
クインタフェースロジック104へIEEE1394バ
ス上を送信させるための動きを制御するためのロジック
を実行する。送信制御ロジック98はIEEE1394
−1995標準の中で規定された機能要求に合致する。
パケット送信制御ロジック98は送信パケット形式にフ
ォーマットする。
クウォドレットを非同期送信FIFO82から引き出
し、これらを正しく32ビットパラレル1394非同期
パケットストリームにフォーマットする。制御ロジック
98は等時間間隔送信FIFO84から引き出し、これ
らを正しく32ビットパラレル1394等時間間隔パケ
ットストリームにフォーマットする。CRCロジックを
用いてパケットのヘッダおよびペイロード部分用のCR
Cコードを計算し、制御ロジック98はCRCコードを
パケットストリームの時間スロットの中に送信されるパ
ケットの形式からの要求に従って挿入する。1394パ
ケット送信制御ロジック98はパラレルパケットストリ
ームを物理リンクインタフェースロジックに入力し、物
理インタフェースに送信するためにパラレルからシリア
ルデータストリームフォーマットに変換する。
は、LLCが周期マスタとして動作するようにプログラ
ムされている時には、周期開始パケットを送信する。1
394パケット送信制御ロジック98は1394送信バ
ス要求を物理インタフェースに送信する。物理インタフ
ェース層はバスに対して調停を行い、バスの許可が受信
されると送信を開始するために送信機に対して指示を送
る。1394パケット送信制御ロジック98は、ビジー
確認が非同期送信パケットへの応答として戻された時
に、再試行送信をIEEE1394−1995標準で規
定されている単相再試行Xプロトコルを使用して実行す
る。更に、1394パケット送信制御ロジック98はパ
ケット送信速度を設定する。
は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機器
との間の電気的等時間間隔バリアとして動作する。
ク64を使用してPCIバス24を獲得し、マスタ機器
として機能する。DMAロジック72はDMAエンジン
74を含み、これは優先順位時間多重分割されている共
通状態機械を含む。DMAエンジンはまた、割り当てら
れた優先順位レベルに基づいてチャンネルを動作させる
ための調停ロジックをも含む。更に、DMA制御ならび
に状態レジスタ76は各々のDMAチャンネルに対して
PCIスレーブ66と共にデータ経路制御を提供し、こ
れらのレジスタへPCIインタフェースASIC20か
らのアクセスを行う。
実行し、PCLから制御パラメータおよびデータバッフ
ァポインタを取り込む。状態機械ロジックまたはパケッ
ト処理装置はこれらのパラメータを使用して、データバ
ッファ相互間のデータ転送を制御する。
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に入る。
れ以上の独立したDMAチャンネルをとして描かれてお
り、これらは全て同時に動作する。実際に実施する場合
は1つの主制御状態機械を使用し、時間に対してDMA
チャンネルの間を多重分割する。優先順位監視等時間間
隔ロジックは連続的に全てのチャンネルの現在の内容を
調査し、状態機械に対して実行が保留されている動作を
有するチャンネルに最高位の優先順位を割り当てる。
細に図示したものである。図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に流れている。
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に受け入れる
べきかの判断を行う。
置は全てが同時に実行される独立のDMAチャンネルと
して動作する。実際に実現する場合は1つの主制御状態
機械を用い、これが複数のDMAチャンネル(例えば、
5つのDMAチャンネル)の間で多重時間分割する。優
先順位監視等時間間隔(superisochronous)ロジック
は、全チャンネルの現在の内容を連続的に調べそのチャ
ンネルに対して保留中の機能の中の最高位の優先順位を
割り当てて、状態機械が実行するようにする。DMAチ
ャンネルはリセットの後静的状態に初期化し、この状態
でパケット制御リスト開始アドレスレジスタに書き込ま
れるべき有効PCLポインタ、ならびにDMA制御レジ
スタに設定されるべきチャンネル可能化およびリンクビ
ットを待っている。有効PCLポインタはパケット制御
リスト開始アドレスレジスタのビット零の状態で判断さ
れる。1は無効アドレスを示し、0は有効アドレスを示
す。続いてDMAはパケット制御リスト開始アドレスレ
ジスタで指し示されるアドレスに行き、新たなアドレス
を取ってきて、有効の場合はこれを現PCLアドレスと
して実行を開始する。
クビットがDMA制御レジスタ内で消去され、DMA停
止割り込みが、このチャンネルに対して割り込み状態レ
ジスタ内の関連する状態と共に生成され、チャンネルは
動作停止状態となる。この機構はPCLメモリ構造上の
健全性チェックを提供し、同様に次のアドレスリンクが
喪失された場合にチャンネルPCL実行を継続する比較
的簡単な方法を提供する。有効な次PCLアドレスが検
出されると、DMAはDMA制御レジスタ内にBUSY
ビットを立てPCLオフセット部の第一制御ワードを取
ってくる。続いてその命令が受信か、送信か、PCLと
ローカルバスのどちら向きであるか、または補助命令で
あるかの判断をするためのチェックが行われる。優先順
位符号化器128から、どのDMAチャンネルが合致し
ているかに依存して、合致を有する最高位の優先順位を
持つチャンネルが、選択されるべき特定のDMAチャン
ネルを同定する。
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とを生成する。
ヘッダ比較ロジック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を決定する。
るターゲットデータ値配列を示す。本発明は受信データ
を一度に1つのフィールドで取り込み、比較ワードと選
択ワードとを設定して特定の結果を受け取るために考え
られる方法を示すように試行する。特に、図6は転送コ
ード160フィールドに関する同時比較を示す。転送コ
ード160または転送コード164の1つは演算コード
を提供し、これは受信データバス16および1394シ
リアルデータ上のデータ型式を、等時間間隔または非同
期データとして識別する。図6に示す例では、転送コー
ドは同一フィールドに存在する。この同時比較は非同期
ヘッダおよび等時間間隔ヘッダの両方に同様に働く。等
時間間隔および非同期ヘッダを復号するのに異なる方法
もあるであろう。それらは図示される様なものであって
も良いし、または互いに統合することも可能である。実
際のコーディングは様々であろうが、その動作は最終的
に比較するかしないかと言う点で同様である。
ット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]に相当する。
ャンネル比較ロジック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へ送られる。
16]に、IEEE1394標準が行き先識別子を取り
扱う方法であるため、特別な意味を持たせることが可能
である。例えば、IEEE1394符号化はブロードキ
ャスト形式のメッセージを異なるヘッダに指定する。受
信機ヘッダに関しては、比較ワード0とビット選択ワー
ド0とがあって、これによって特定の受信ヘッダワード
を選択することが可能である。加えて、比較選択ワード
1[15:11]212内の各ビットは、個別に特定行
き先ID同時比較式を選択する。
発信元IDビット[31:16]を220に含む。等時
間間隔ヘッダ166内のこれらのビット位置222は変
数データの一部である。WD1比較ロジック146内
で、DMAチャンネル120は、226で示す比較選択
ワード1ビット[31:16]に基づいて変更された合
致データセット170のビット16〜31を220また
は222で示すヘッダWD1ビット[31:16]と比
較する。
し、任意の個数のデータレジスタビットを一回のレジス
タ書き込み操作で書き込むためのものである。回路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が
書き込まれる。
で変更しなければならないビットのみへの書き込みを可
能とし、残りのビットの前回値は保存する。レジスタ書
き込み回路250はまた、ソフトウェアが重要なビット
を、読み出し、指定、または特定の動作に関係しないレ
ジスタビットに操作することなく変更出来るようにして
いる。
に対して書き込み可能ビット258、1から4のGPI
Oがアドレスフィールドに基づいて書き込まれる。[G
PIO]アドレス番号入力266内のAxはこの書き込
みの基本となるアドレスビットを表し、このビットに対
して書き込みを行うか否かの判断を行う。書き込みスト
ローブ264はこれが書き込み操作であることを告げ
る。GPIOアドレス了承262は全レジスタに対して
の基本的なアドレス復号信号である。フリップフロップ
250への書き込み可能入力258はAND機能の出力
である。書き込み可能がアクティブの時、入力書き込み
データ252がフリップフロップ254に書き込まれ、
フリップフロップ出力270に出現する。
し、これは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の異なる可能
な組み合わせ)のアドレスの全配列がアドレス指定出来
る。
動に対して最も緊急の必要性を有するチャンネルの内容
を起動するための責任がある。DMAは主状態機械(d
ma_fsm.v)として構成されており、これは選択
されたチャンネルの状態を実行する。選択されたチャン
ネルは同時に任意のひとつの点の格納された条件の番号
を有する。これらの格納された条件はそのコンテクスト
と呼ばれる。チャンネルのコンテクストの一部は、主状
態機械で実行されているその現在の状態である。
この状態ではチャンネルの実行を継続できるある種の条
件が成立するまで待たなければならない。1つの明らか
な場合は、有効PCLアドレスがロードされるまで、チ
ャンネル可能ビットが設定されるまで、またリンクビッ
トが設定されるまでチャンネルがアイドルまたは待機す
る時である。別の場合は、受信チャンネルが受信FIF
O内のデータを待つ時である。もしも1つのチャンネル
が受信データを待っていて、別のチャンネルは送信FI
FOにデータ転送の準備が出来ている場合は、われわれ
はその転送を行わせる必要がある。この種のシナリオは
多くの事例で生じる。
を表し、ここでは別のチャンネルの処理が実行される。
優先順位選択器はこれらの考えられる全ての空回り状態
を監視し、どの状態およびチャンネルがその時点で最高
位の優先順位を有するかを選択する。
命令の一例を示す。図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ならびに多
数の信号を含む。
ンネルが実行されるべきかを制御する。この調停はFI
FO358からの例えば”FIFO動作中チャンネルが
データを要求”および”FIFO動作中チャンネル”同
様にどのFIFOがデータ転送準備完了状態でまたどの
チャンネルが可能化されていて動作中であるかの信号に
基づいて行われる。
タの設定とを実行して、各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内のオフセット0xCの場
所に書き戻す。
含み、アプリケーションソフトウェアが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チャン
ネルの動作時間中に更新され、チャンネルが停止する直
前に生成された最後の状態ベクトルを保持する。
計数値レジスタ(図示せず)を含むことも可能であり、
これは現在受信されているパケット計数値を含む。DM
Aエンジン74はこのレジスタにGRF80トークンワ
ード内を通過した受信パケット計数値をロードする。こ
の計数値はそのデータがPCIバス24に転送される毎
に減数される。また、DMAグローバルレジスタ(図示
せず)を含むことも可能であり、これは状態機械が非同
期転送パケットの実行を追跡する際に使用する、状態フ
ラグを含む。このDMAグローバルレジスタはキャッシ
ュラインサイズレジスタと共に使用される下限ビットを
格納し、PCIマスタが要求するバーストサイズを決定
する。
セットされた後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とローカルバ
スとの間のどちら向きであるか、または補助命令かの判
断を行う。
エンジン74がGRF80内の等時間間隔および非同期
データの受信操作をする様子を図示している。DMAエ
ンジン74は待機状態が存在するか否かを見るためのチ
ェックを実行する。待機状態がもはや存在しない場合、
処理装置はデータ移送フェーズに入る。ここで、DMA
エンジン74はループに入り、現在転送計数値が零とな
っているかのチェックを行う。その場合は、これがPC
Lバッファリストの最終データバッファであるかを確認
するためのチェックが行われる。もしもこれが最終バッ
ファでしかも特殊制御トークンワードをGRF80内に
書き込む事によるパケット境界の表示が、リンク層制御
ロジック90によってなされていない場合は、エラーが
発生するがこれはバッファが保持できるより多くのパケ
ットデータが転送されることになるためである。この場
合、PKT ERRビットがDMA制御ならびに状態レ
ジスタ76にセットされDMAエンジン74は残りのデ
ータをパケット境界まで流し込む。もしも現在転送計数
値が零まで減数されていて、PCLリスト内に別のバッ
ファが存在する場合は、DMAエンジン74は新たなバ
ッファアドレスと転送計数値とを獲得し転送を実行す
る。
ースロジック70へ移動させる一方で、DMAエンジン
74はGRF80が十分なデータを持つまで待って、P
CIバスマスタに転送実行要求を行う。この転送閾値に
達するのは、1つまたは2つの条件が合致する場合であ
る。DMAエンジン74は受信FIFO内のビット数
が”高水位マーク”に達した際にPCIマスタに転送要
求を行う。この高水位マークはキャッシュラインレジス
タ以上かまたはDMAグローバルレジスタの下位境界フ
ィールドに等しい。
リンクから得るが、これはパケットが最初にGRF80
の中にリンク層制御ロジック90によって書き込まれた
時である。この転送計数値を用いてGRF80内のデー
タがパケット内の残りのデータであるかを判断し、もし
もそうであってそのサイズが高水位マークよりも小さい
場合は、その転送計数値がこの残り部分に等しいPCI
マスタロジック64の転送を要求する。DMAエンジン
74がデータを転送する一方で、DMA制御ならびに状
態レジスタ76内のデータバッファ開始アドレスレジス
タおよびデータバッファ転送長ビットが、転送の現在状
態を反映するように更新される。
示すように、リンク層制御ロジック90がパケットの最
後に遭遇すると、これは特殊制御トークンワードをGR
F80に書き込み、パケットの終わりを記す。この制御
ワードに組み込まれているのは状態ビットであって、こ
れはバス上でのパケットの完了状態を表示する。DMA
エンジン74はこのパケットの終了印を用いてGRF8
0からPCIバス24へのデータ転送を終了する。もし
もパケットの終了印が、IEEE1394ビジー肯定確
認信号が存在することを示している場合は、DMAエン
ジン74はPCLの最初のバッファアドレスと転送計数
値とを再獲得しパケットの全体の転送を開始する。ビジ
ー肯定確認状態がパケットの終了印から表示されていな
い場合は、DMA制御ならびに状態レジスタ76はパケ
ットの終了印の中にリンク層制御ロジック90から通過
された肯定確認状態がロードされ、パケット完了ビット
がセットされる。次にパケット完了状態がPCL状態ワ
ード内メモリに書き込まれ、割り込み信号が発せられて
割り込み状態レジスタ内の対応するビット内にラッチさ
れる。もしも命令が受信および更新命令であった場合
は、残りの転送計数値および次バッファアドレスが適切
なPCLオフセットに書き込まれる。
ネル調停回路340の動作を示している。表360はも
しもチャンネルがIEEE標準1394バス上で現在動
作中の場合は、そのチャンネルはDMAチャンネル実行
スケジュールの中で最上位の優先順位を持つことを示し
ている。そうでない場合は、チャンネル優先順位はチャ
ンネル番号順であり、0が最も高い優先順位を持つ。”
無視”値には値”X”が362部分に割り当てられてい
る。これはその他の値がどうであっても、現在動作中の
チャンネルが最も高い優先順位であることを意味してい
る。すなわちチャンネルは早い者勝ちでスケジュールさ
れる。
DMAが現在チャンネル3で動作していると仮定する。
従って、チャンネル3に対する全てのレジスタはDMA
内のマルチプレクサ346経由で選択されている。DM
Aはレジスタの個々のスライスを選択してDMA状態機
械上の現在状態および次状態ロジックに出現させる。
環境12の簡略化された図を示し、これは自動ブート機
能370を含む。PCIインタフェースASIC20の
ピン370は自動ブートPCIインタフェースASIC
20への直接入力を提供する。結果としてPCIインタ
フェースASIC20は参照番号30のPCI機器#
1、参照番号31のPCI機器#2に対してPCIバス
24を通してホスト機器として動作する。PCIインタ
フェースASIC20に対する自律動作命令はRPLR
OM36およびSRAM38を使用するはずである。更
に、インタフェースバス16を通してPCIインタフェ
ースASIC20は物理層インタフェース18と通信を
行う。
持ち上げられている時)、本発明の自動ブートモードが
選択される。自動ブートモードは多くの特徴を可能と
し、これはPCIインタフェースASIC20を自律的
に機能させる。自律動作は次の機能を含む、電源リセッ
ト後、DMAチャンネル0を使用して最初のパケット制
御リストのアドレスを取り込む。また、電源リセット
後、自動ブートモードはDMAマスタが外部RPL R
OMにアクセスすることが出来るようにする。更に、電
源リセット後、自動ブートモードはDMAマスタが内部
リンクレジスタにアクセス出来るようにする。
化されると、PCIインタフェースASIC20はPC
I構成、入力/出力、およびメモリ読み取りおよび書き
込み命令をPCIバス24に発して、パケット制御リス
トを制御する際の適切なアドレス範囲を特定する。自動
ブートモードの動作中、外部PCIアドレス空間は30
ビットに制限される。最上位の2つのアドレスビットの
値は常に0である。内部的にこれら2ビットはPCI命
令を選択するために使用される。
で、その他の制御レジスタ内の特別ビットから読むこと
ができる。選択された自動ブートモードおよび外部RO
Mを用いて、本発明はPCIインタフェースASIC2
0をローカル処理装置として動作させ、全ての内部PC
IインタフェースASIC20レジスタをセットアップ
し、PCIバス24上のその他の機器を初期化しそして
その他の複数のPCLを構築して連結することが可能で
ある。種々のDMAチャンネルはこれらのPCLを実行
してIEEE1394バス上でデータ転送を行わせるこ
とが可能である。
ェースASIC20に追加することにより、PCIスレ
ーブメモリがPCIバス24上の機器に具備され、制御
情報の獲得が行え、またデータ転送用のローカルメモリ
を持つことができる。PCLプログラムは機器制御/デ
ータをIEEE1394経由でその他のシステムに転送
することが出来る。従って、本発明の自動ブートモード
を採用している環境は、PCIインタフェース環境を管
理する適切な処理装置を利用できない周辺機器で使用す
ることができる。
して別の動作モードを提供する。その効果はメモリマッ
プの一部を可能化および事前指定して電源投入時にDM
Aエンジン74がアクセス可能な資源を十分に確保し、
全ての要求された機能が十分に有効に働くようにするこ
とである。また、その効果はDMAエンジン74の動作
を変更して、DMA機械が特定モードの時に機械が動作
停止となる代わりに専用のROMから新たな命令を要求
するようにすることである。
を得るために或るアドレスを獲得する。これによりPC
IインタフェースASIC20が単独独立モードで動作
することが可能となる。これはまたPCIメモリ命令、
およびPCIインタフェースASIC20からの全ての
入力/出力命令の生成を可能とする。
り、本発明はROMおよびRAMに基づくアドレスレジ
スタのアクセスおよび初期化を可能化することにより、
電源投入メモリマップの再構成を可能とする。これによ
りDMA機械が電源投入後に読み取りおよび書き込みア
クセス出来るようになる。更に、本発明は自動ブートモ
ードが選択された際のDMAエンジン74の挙動を変更
する。これにより電源投入時に専用ROMアドレスから
新たな命令を獲得することが出来るようになる。初期ア
クセスアドレスは本実施例ではまさに0である。本発明
は更に通常の環境では要求されないバス命令およびプロ
トコルを生成する方法をも提供する。
ンが選択された際に、RPL ROM36から命令を獲
得して実行することができる。これにより、DMAエン
ジン74が外部PCIバス上のマスタ機器として動作す
るために要求される命令を生成して、この外部バス上の
その他のPCI機器を構成し、初期化しそして管理でき
るようになる。
0が作動された際の、内部PCIアドレスバス[31:
30]ビットのPCIバス上の命令への写像を示す。例
えば、ビット31の値が0でビット30が任意の値の
時、PCIメモリ命令が動作される。その後、アドレス
ビット31の値が1となり、アドレスビット30の値が
0となると、PCI入出力命令が生じる。アドレスビッ
ト31の値が1で、かつアドレスビット30の値が1の
場合、PCI構成命令がPCIインタフェースASIC
20へ送られる。
ローカルバスインタフェースブロック390の図を示
す。ローカルバスインタフェースブロック390はロー
カルバス構成レジスタ392、ZV機械396と通信を
行うズームビデオ(ZV)復号インタフェースブロック
394とを含む。パック/アンパック状態機械398は
アドレス/データ/ビット可能化保持レジスタ398を
含む。ローカルバスインタフェースブロック390はま
たローカルバスインタフェース状態機械400とスレー
ブ肯定確認割り込みブロック402とを含む。
準バスからPCIインタフェースASIC20上の外部
機器へデータを転送するための出力専用ポートである。
正しくプログラムされると、ZVインタフェースロジッ
クはIEEE1394ディジタルカメラパケットを受信
し、そのペイロードを外部ZV適合機器に適切な制御信
号と共に転送するための方法を提供する。
拠アドレスレジスタの副セット経由でアクセスされる。
ZV復号回路394が可能化されると、補助アドレスの
0xF000と0xFFFFの間がZVポートに写像さ
れる。ZVポートは6つの利用可能クロック源395の
内のひとつがZV画素クロックとして選択された際に可
能化される。もしも6つのクロックのいずれも選択され
ない場合は、ZVポートは不能化され、補助インタフェ
ースは全アドレス空間を要求する。ZVポートが不能化
されると、全てのZV関連出力はデータバスを除き中立
状態となり、データバスは補助、RAMおよびROMア
クセス中に駆動される。
隔パケットヘッダ同期フィールドが0x1に等しいと検
出されると垂直同期信号が生成される。本実施例に於い
て、データビット24は重要な同期フィールドデータを
含む。この垂直同期ビットを検出すると、垂直同期出力
が生成される。フレームの残り部分に関しては、ビデオ
データをズームポートに転送する際に特別のアドレスが
アクセスされる毎に水平同期出力が生成される。パケッ
ト制御リストを適切にプログラムすることにより、全て
のIEEE1394ディジタルカメラパケットがZVポ
ートを経由して転送出来る。
とつの実施例を示し、これは垂直同期検出信号407と
水平同期検出信号409を生成するためのものである。
PCIスレーブアドレスビット[15:0]の値が0x
F000と仮定され、スレーブデータビット28がバイ
ナリ値の1と仮定される時には、比較回路411および
413は信号をANDゲート415に送る。これは垂直
同期検出信号を線407上に生成する。同様に、スレー
ブアドレスビット[15:0]が0XF004を比較回
路417に送ると、水平同期検出信号が線409上に出
現する。
ートアドレスマップ410用の1つのビデオ走査線を示
す。ズームポートアドレスマップ410はアドレス0X
F000で始まる等時間間隔パケットヘッダ412と、
参照番号414から424で詳細に示されるアドレス0
XF004で始まり0XFFFFで終了する等時間間隔
パケットデータ空間を含む。各々の等時間間隔パケット
はズームポートアドレス空間に、アドレス0XF000
に転送されるヘッダクウォドレットと共に転送され、第
一データペイロードクウォドレット428はアドレス0
XF004に転送され、パケット内の残りのクウォドレ
ットは順番通りのアドレスにパケットペイロードデータ
の終わりが、パケットNクウォドレット長の場合はアド
レス(0XF000+(N−1)))に達するまで転送
される。
受けずにハードウェアが管理するウィンドウの中にビデ
オ画像表示を自律的に表示出来ることを示している。本
発明は生データをIEEE1394バス上に送出し、ズ
ームポートの中にビデオ制御器チップに入力データとし
て入るのと互換性のあるフォーマットで流し込むことを
可能としている。これは水平および垂直フレーム同期を
維持しながら自律的にデータを表示することを可能とし
ている。
ス空間の中に写像されている。ヘッダはフレーム同期情
報または信号を含む。正しい制御構造を構築することに
より、ヘッダパケットデータを、ロジックがあるフィー
ルドを探すアドレスに基づく特定アドレスに転送する。
IEEEP1394ディジタルカメラ仕様に適合するソ
ニーカメラの場合、等時間間隔ヘッダ同期フィールド内
のビットはビデオフレームの開始位置を示す。この特定
の等時間間隔ヘッダ同期フィールドビットを復号する事
により、垂直同期信号が生成される。この情報を使用し
てズームポートデータのズームポートへの受信の同期を
取ることができる。
つは水平同期、そしてもう1つは垂直同期である。垂直
同期に関しては、復号に際して特定アドレスと特定等時
間間隔ヘッダ同期ビットが必要である。水平同期は別の
特定アドレスを復号することにより生成される。
直同期信号の様な制御情報を、符号化されたビデオの様
な組込型制御情報を含むパケット化されたデータから、
自律的に抽出する機能を提供する。同時比較ロジック4
11および413は、特定データ値で指定された行き先
アドレスへの転送を検出する。
メントに対して適切な行き先を指定するための、ソフト
ウェアまたはハードウェア制御構造を提供する。DMA
アーキテクチャは、特定のパケットを異なる行き先アド
レスに異なる長さに分解して収集または配送することが
可能としている。従って、本発明はヘッダフィールドを
特定のアドレスに書き込みまた、データフィールドを別
のアドレスに書き込む事が出来る。この特徴を利用して
本発明はPCIインタフェース機器のどの部分がどのア
ドレスを見るかを制御出来る。
し、これは特定アドレス位置そして/またはデータパタ
ーンへの多重アクセスを行う基本制御信号を生成するた
めに使用される。これは計数器を使用することで水平走
査線毎にまたは水平同期の間に多重パケットを与えると
いうオプションが生じる。従って、垂直同期の直後に水
平同期信号が生成される。これはシステムが特定アドレ
スを通過する回数を計数する事を可能とする。システム
は例えばそのアドレスを4回繰り返した後にのみ別の水
平同期信号を生成するように出来る。これにより特定の
カメラ、解像度などに従って4つのパケットを水平走査
線にまとめることが可能となる。
デオ走査線にズームポートアドレスマップ410を用い
て写像する手順を示す。ズームポートアドレスマップ4
10は等時間間隔パケットヘッダ412を含み、これは
等時間間隔パケットデータ414に隣接している。メモ
リ空間416から424は図17で説明したものと同様
である。ズームビデオ等時間間隔パケット440はヘッ
ダクウォドレット0を含み、これは等時間間隔ヘッダ同
期フィールド内にフレーム開始ビットを含むはずであ
る。クウォドレット1は第一ビデオデータペイロードク
ウォドレットであり、これはビデオ走査Aの開始部分を
含む。水平同期信号はこのクウォドレットをアドレス0
XF004に書き込むことにより生成される。同様に、
データクウォドレット442をアドレス0XF004に
書き込むことは水平同期を生成することによりビデオ走
査A+1の開始部分を示す。0XF000から開始され
[0XF000+(N−1)]まで続くデータの書き込
みは、ズームビデオポートを通って出力される実際のデ
ータ、すなわちズームデータである。ヘッダは取りはず
されるのでデータフィールドの一部とはならない。
ビデオフレームの第一パケットに対して生成する。後続
のパケットはビデオフレームヘッダの残りの部分を埋め
る後続の走査線を意味するが、これらのヘッダは同期フ
ィールドは含まない。データの流れは全てのパケットに
対して同一であり、各々そこにヘッダが存在する点0X
F000から開始され、もしも同期ビットがヘッダ内に
存在しない場合、垂直同期ビットは設定されない。もし
もF004に書き込まれた時には水平同期が生成され
る。これは走査線の開始を生成し、これにより残りのデ
ータが走査線の一部として流れ出る。
状況もある。これを取り扱うために、パケット制御リス
トが使用される。
御リストまたはPCLと呼ばれるデータ構造により制御
される。PCLは命令情報を含み、これをDMAは必要
に応じてメモりから取り出す。これらの命令はDMAに
対してデータの発信元と行き先、ならびにどれだけのバ
イト量が転送されるかを告げる。いくつかの命令はデー
タの塊をIEEE1394転送FIFOとPCIバス2
4との間、または汎用受信FIFO80とPCIバス2
4との間で移動させる。別の命令はデータをPCIバス
24と補助ポートローカルバス26との間で移動させ
る。その他の命令は二次機能であって補助命令と呼ばれ
る。これらの補助命令はDMAが任意のPCIアドレス
に対して指定されたデータのクウォドレットをのぞき見
たり手を入れたり出来るようにし、またPCLを使用し
た条件付き分岐を可能としたりする。意図している使用
目的は、DMAが特別なデータの移動制御を実行したり
また、PCLを自動ブートシーケンスで構築できる単独
独立処理装置として機能出来るようにする事である。こ
の機能の全範囲が系統立てられているわけでは無く、D
MAのこれ以外の使用方法もこれから展開されるであろ
う。
DMAチャンネルの動作を、ホストメモリの中に存在す
るPCLデータ構造を用いてプログラムする。アプリケ
ーションソフトウェアはPCLの構築およびメモリの記
憶装置への配置の任を負う。PCLはメモリ配列の連続
した組として組織され、これは命令、制御パラメータ、
およびデータバッファポインタを含み、これらはDMA
チャンネルが1つのIEEE1394データパケットの
転送する時、またはデータをPCIバス24と補助ポー
トローカルバス26との間で移動するとき、または1つ
または複数の補助命令を実行する際に要求されるもので
ある。PCLから要求されるメモリ配列の総数は、今回
の実現例では一般的に32クウォドレットに制限されて
いる。
はクウォドレットの境界部に並べられている。DMAの
性能を最適とするために、PCL開始アドレスはキャッ
シュライン境界上のラインであることが推奨されてい
る。データバッファポインタは任意のバイト境界に配列
する事ができる。DMA性能を最適とするために、本発
明ではデータバッファポインタをキャッシュライン境界
上に配列している。もしもこれが不可能な場合は、デー
タバッファポインタをクウォドレットの境界上に配列す
るのが次善の方法である。PCLで指定されるデータバ
ッファサイズの合計は、IEEE1394ビット速度が
100mbpsの場合はおよそ1キロビット、またはI
EEE1394ビット速度が200mbpsの場合はお
よそ2キロビットに制限される。
ルは命令および制御パラメータをPCLから取り込み、
これらを用いてチャンネル自体を構築して転送命令を実
行する。
で、DMAチャンネルが複数のIEEE1394データ
パケットを転送することを、複数のパケット制御リスト
をPCLリスト待ち行列の中で連鎖することにより可能
とする。本発明はこの待ち行列を各PCLの次アドレス
フィールドを、次PCLのメモリ内の開始アドレスを指
示するようにセットすることで構成している。待ち行列
の最後のPCLはDMA処理を停止させるか、待ち行列
の先頭に戻るかまたは新たな待ち行列を指示するように
プログラム出来る。補助命令を含むPCLはPCL待ち
行列内の何処にでも組み込むことが出来るが、両方を同
時には出来ない。PCL待ち行列は、受信および送信ま
た補助命令を混在させることが可能である;しかしなが
ら非同期転送命令は別の非同期転送命令の次に無ければ
ならず、これはパイプライン構造の転送を行うためと、
またパケットの再試行の可能性があるためである。一
方、非同期転送命令内の”状態待ち”ビットを設定する
ことにより、この要求は排除される。
パケット制御リストのリンクされたリストの例を図示す
る。図20に於いて、PCI待ち行列450は開始アド
レス452から始まる。開始アドレス452から処理の
流れはダミーパケット制御リスト454に入る。ダミー
パケット制御リスト454は処理の流れを転送命令パケ
ット制御リスト456に送る。転送命令パケット制御リ
スト0に於いて、データバッファ計数命令およびデータ
バッファアドレス情報は例えばデータバッファ460,
データバッファ462,データバッファ464まで行
き、この例では14個のデータバッファが使用される。
制御リスト0は、次リストアドレス466を含み、これ
は参照番号470で示す補助命令パケット制御リスト1
へ接続される。参照番号470で示す、補助命令パケッ
ト制御リスト1はロード命令472、発信元アドレスを
474に、またストア命令および位置476に含む。ロ
ード命令472はデータレジスタ478に接続され、こ
れはDMAレジスタ480を供給する。ストア1命令4
76は入力をメモり位置482に提供する。参照番号4
70で示す、補助命令パケット制御リスト1はまた、条
件成立時の行き先アドレス484をも含み、これは条件
に応じてPCI工程制御を、参照番号486で示す転送
命令パケット制御リスト2に送る。参照番号486で示
す転送命令パケット制御リスト2は次リストアドレス4
88を含み、これは参照番号490で示されるように別
のPCLへ接続するためのものであり、一方データ計数
およびデータバッファアドレス492は、データバッフ
ァ494に接続され、以下は同様に接続される。条件成
立時の行き先アドレス484がPCI待ち行列の処理の
流れを制御している場合には、次リストアドレス468
は参照番号486で示す、転送命令パケット制御リスト
2に接続される。この情報は次に次リストアドレスか
ら、参照番号490で示されるように別のPCIに送ら
れ、データバッファ0アドレスおよび計数命令情報はデ
ータバッファ1に送られる、以下同様である。
は、パケット制御リストとダミーの次PCLアドレスを
構築するためにメモリを配列するが、これは前回PCL
が存在しないからである。ダミーの次PCLアドレスは
メモリ位置を提供し、これは第一完全PCL、すなわち
PCL0の開始ポインタである。次にホスト処理装置は
必要なPCLのリストを構築し、データ転送または補助
命令のいずれかの型式、例えば実際に処理装置相当の命
令を行う補助命令の操作を実施させる。
レス、予約位置、および状態を含む。次の対は制御状
態、転送計数値である。そのひとつ置いて次はデータバ
ッファアドレスである。これら2つの長ワードは1つの
命令または1つのデータバッファへのデータ転送を構成
する。転送例はメモリ内のデータバッファ位置を指示す
るバッファアドレスであって、この場所へそのデータが
転送されるかまたはそこから転送される。もしもデータ
が連続して転送される場合には、本実施例では連続デー
タ転送のための大きな制御ループを形成できるようにし
ている。
明の、PCIとポートローカルバスとの間の、受信、送
信、または補助操作の動作を説明する。受信操作に於い
て、図21が示すようにGRF80内の等時間間隔およ
び非同期データに対して、処理の流れは待ち状態が存在
しているか否をチェックすることから開始される。図2
7に示すように等時間間隔送信に関して、もしもチャン
ネル可能化が1に等しい場合、送信機能は準備完了であ
り、周期開始ビットは了承となって待ち状態は存在しな
い。待ち状態はデータバッファ制御ワード零の待ち選択
器ビットによって判定される。待ち状態が存在しなくな
ると、処理装置はデータ移送フェーズに入る。ここでル
ープに入り、現転送計数値が零となっているかの確認が
行われる。もしも零となっていたら、それがPCLバッ
ファリストの最後のデータバッファであるかのチェック
が行われる。もしもそのデータバッファが最後のデータ
バッファであり、リンク層制御器が特別の制御トークン
ワードをGRF FIFOの中に書き込むことによって
なされる、パケット境界の表示がなされていない場合
は、エラーが生じるが、それはバッファが保持出来る以
上のパケットデータが転送されようとしているためであ
る。この場合パケットエラービットがDMA状態レジス
タ内にセットされ、DMAは残りのデータをパケット境
界まで押し流す。もしも現転送計数値が零まで減数され
たと判断され、PCLリスト内に別のバッファが存在す
る場合は、DMAは新たなバッファアドレスと転送計数
値とを獲得し、転送を継続する。
らデータを移動する一方で、DMAはPCIバスマスタ
に対して転送の実行要求を行う前にFIFOが十分なデ
ータを持つまで待機する。この転送閾値には1つまたは
2つの条件が合致すると到達する。DMAは受信FIF
O内のバイト数が”高水位マーク”に達すると必ずPC
Iマスタの転送を要求する。この高水位マークはキャッ
シュラインサイズレジスタの上限値またはDMAグロー
バルレジスタの下限境界フィールドに等しい。DMAは
パケットのデータサイズの情報を、そのパケットが最初
に長さ層制御器によってFIFOの中に書き込まれた時
に、リンクから取得する。それはこの転送計数値を用い
てFIFO内のデータがパケット内の残っているデータ
かを判断し、もしもそうであり、そのサイズが高水位マ
ーク未満の場合は、その転送計数値がこの残りに等しい
PCIマスタに対して転送を要求する。DMAがデータ
を転送する間、DMA制御レジスタ内の転送長ビットに
バッファリングされたデータ内のデータバッファ開始ア
ドレスレジスタは、転送の現在状況を反映するように更
新される。
と、これは特別な制御トークンワードを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停止割り込
みがこのチャンネルに対して関連する状態と共に割り込
み状態レジスタ内に生成され、そのチャンネルはアイド
リング状態となる。
ら図26に示すように非同期転送は、有効PCLポイン
タがパケット制御リスト開始アドレスレジスタに書き込
まれ、チャンネル可能化およびリンクビットがセットさ
れた後に判断される。非同期パケット処理装置の最終的
な目的は、リンク層制御器によってFIFOからIEE
E1394バスに転送される現パケットより1パケット
多く、残すことである。DMAの観点から見ると、バス
上のこのパケットは前回パケットである。リンク層制御
器から報告される全ての状態は、この前回パケットに関
するものと考えられる;しかしながら、”状態待ち”ビ
ットをPCL内の”データバッファ/バイト計数/命
令”の中にセットすることにより、このパイプライン操
作が防止される。DMAは前回パケット制御リスト開始
アドレスのアドレスを、前回パケット制御リスト開始ア
ドレス/暫定レジスタ内に保持する。”前回PCL有
効”と呼ばれるフラグがDMAによってDMAグローバ
ルレジスタ内に保持され、それが格納されていた有効ア
ドレスであるかの記録をとる。非同期チャンネルでの転
送操作は待ち状態が存在するかを確認しながら遂行され
る。待ち状態はPCL内の”データバッファ制御/バイ
ト計数/命令”の待ち選択ビットにより判断される。”
再試行”と呼ばれるフラグがDMAによってDMAグロ
ーバルレジスタ内に保持される。DMAはこのフラグを
使用して、再試行中にはこれらの待ち状態が無視される
よう、待ち状態が評価されるように追跡する。
ケットの先頭を表す制御トークンをFIFOに書き込
み、データ移送フェーズに入る。ここでループに入っ
て、現転送計数値がチェックされそれが零に達している
かの確認が行われる。もしもそうである場合は、これが
PCLバッファリストの最終データバッファであるかを
確認するためのチェックが行われる。もしもPCL内に
別のバッファが存在する場合は、DMAは新たなバッフ
ァアドレスと転送計数値とを獲得し、転送を遂行する。
データを非同期転送FIFOの中にPCIインタフェー
スから移送する一方で、DMAはPCIバスマスタが読
み取り転送を実行するように要求する前に、FIFOが
十分な空きを持つまで待機する。DMAはDMA受信操
作に関して定義された高水位マークと等しいビット計数
値を備えたPCIマスタの転送を要求する。DMAがデ
ータを転送する間、DMA制御レジスタ内のデータバッ
ファ開始アドレスレジスタおよびデータバッファ転送リ
ンクビットは転送の現在状態を反映するように更新され
る。
転送FIFOへ転送され、そのバッファが制御/バイト
計数PCLワード内の最終バッファビットで示されるよ
うに、PCLリストの最後である時には、DMAはパケ
ットの終端に達したことを知る。もしも前回パケットア
ドレスが有効であれば、DMAは状態のチェックを全パ
ケットが転送FIFOの中に詰め込まれるまで遅らせ
る。この場合、状態待ちビットがセットされない限り、
戻り状態は常に前回パケットに対するものである。もし
も唯1つのパケットのみが転送されるのであれば、前回
および現在パケットは同一である。もしも前回パケット
アドレスが有効の場合は、DMAはパケット計数器を確
認する。パケットがIEEE1394バスにリンク層制
御器によって転送が完了し、このパケットの状態が有効
の時は、リンク層制御器はパケット計数器を減数する。
DMAはパケット計数器が零となって前回パケットに対
して有効状態が適用出来ることを示すまで、空転して待
機する。もしも状態が前回パケットが再試行されるべき
事を示す場合は、DMAはFIFOの押し流し要求をリ
ンク層制御器に対して行い、リンク層制御器が再試行表
示を取り除くことでFIFOの押し流しが完了したこと
を示すまで待機する。次にDMAは前回パケットに”戻
って”全体の転送を開始する。再試行が発生しない場合
は、DMAはDMA状態レジスタをリンク層制御器から
送られてきた肯定確認状態で更新し、パケットの完了を
セットし、次に完了状態を前回PCL状態ワード内のメ
モリに、前回PCLとは関係しないはずの現在動作中の
PCLに対して転送されるビット数と共に書き込む。も
しも割り込みビットがPCLの中にセットされると、割
り込み信号が発せられて対応する割り込み状態レジスタ
ビットの中にラッチされる。
制御トークンを転送FIFOに書き込み、パケットの終
了を記す。パケット計数値は1に減数されてリンク層制
御器に対してパケットの終了がDMAによって書き込ま
れたことを示す。現PCLアドレスが前回PCLアドレ
スとして保存され、前回パケット制御リスト開始アドレ
スレジスタおよび”前回有効”フラグがDMAグローバ
ルレジスタの中にセットされる。次にDMAは別のPC
Lが現PCLにリンクされているか否かを、次リストア
ドレス値を取り込むことによって判断する。もしもそれ
が有効な場合は、DMAはこれを現PCLアドレスとし
実行を継続する。もしもそれが有効でないかまたは、状
態待ちビットがセットされている場合は、DMAは現パ
ケットがリンク層制御器によって転送されるまで待機す
る。パケット計数器が零に減数することで示されるよう
に、有効状態が認められる場合は、DMAはパケットが
IEEE1394ビジー状態で示されるように再試行さ
れるべきかを確認するためのチェックを行う。もしもそ
うである場合は、FIFOは先に説明したように押し流
され転送が再度試みられる。
送時間切れ、再試行超過、またはFIFO未達が存在し
た場合は、パケットエラービットがDMA状態レジスタ
に肯定確認状態と共に送られる。この状態はPCL内で
更新される。転送時間切れまたは再試行超過の場合は、
対象ノードがもはや応答しないとすることが可能であろ
う。DMAはこの状況を、この特定ノードへのデータの
ストリームを形成するPCLをスキップ出来るようにす
ることで解消する。ソフトウェアはPCLの次PCLス
トリームの入口を転送データの次ストリーム(すなわち
別の1394ノードへの次非同期転送)に対する第一P
CLに指定することでセットできる。もしも次PCLス
トリームアドレスが有効な場合は、DMAはこのPCL
で実行を継続する。もしもこのアドレスが有効で無い場
合は、DMAチャンネルは次PCLアドレスが無効であ
ると印される場合に遭遇したときと同様、アイドリング
状態に入る。もしもこの次ストリーム内容が使用されな
い場合は、この値は次リストアドレスと同じ値にセット
されるべきである。もしもDMAが停止すると、DMA
停止割り込み状態を通知し次PCLストリーム導入が無
効となるため、次PCLストリームの再書き込みが必要
となる、それはDMAが次ストリーム取得状態にあり、
DMAが次リストアドレスを無視するためである。従っ
て、常に”次リストアドレス”および”次PCLストリ
ーム”を同一アドレスにセットすることが、もしも次ス
トリーム内容が使用されない場合には必要であって、そ
れは次PCLストリーム導入を実施する全ての非同期転
送チャンネルが、エラーのために宙ぶらりんになること
を防止するためである。
間隔転送操作で説明したのと同様の流れ図を示すが、D
MAエンジン74の補助操作に適用されるものである。
バスへ、またローカルバスからPCIへの転送操作は、
PCIバスとローカルバスとの間のデータ転送を制御す
る。PCIアドレスおよび転送されるビット数は、転送
の様なその他の転送命令と同様、PCL内のPCLデー
タバッファ制御/ビット計数/命令ワードから導かれ
る。違いは転送の行き先または発信元がFIFOではな
くローカルバスであることである。そのローカルバスア
ドレスはAUX_ADRレジスタ(ハードウェアレジス
タ定義参照)から生成される。
在するか否かを確認するチェックを行うことで遂行され
る。待ち状態はPCLオフセット0x18のbuf0c
tl/bit cnt/cmdの待ち選択ビットにより
判断される。待ち状態がもはや存在していない場合は、
DMAはループに入りここで現転送計数値が零に達した
かを確認するためのチェックが行われる。もしもそうで
ある場合は、チェックを行ってこれがPCLバッファリ
ストの最終データバッファであるかを確認する。PCL
リスト内に別のバッファが存在する場合は、DMAは新
たなバッファアドレスと転送計数値とを獲得し転送を遂
行する。DMAがデータを転送する一方で、DMA制御
レジスタ内のデータバッファ開始アドレスレジスタおよ
びデータバッファ転送長ビットは転送の現在状態を反映
するように更新される。
カルバスとバッファとの間で転送され、しかもそのバッ
ファが制御/ビット計数PCLワードの最終バッファビ
ットで示されるようにPCLリストの最後である場合、
DMAは転送の終端に達したことを知る。DMAはDM
A状態レジスタを0x0001の状態で更新し、PKT
CMPがセットされ、そしてPCLのオフセット0x
Cの所のPCL状態ワードに転送されたバイト数と共に
書き込まれる。INTビットがPCLオフセット0x1
8のbuf0ctl/bit cnt/cmdにセット
されると、割りみ信号が発せられて、割り込み状態レジ
スタ内の対応する(DMA_PCL[x])ビット内に
ラッチされる。
クされているか否かの判断を、次リストアドレス(PC
Lオフセット0x00)を取り込むことで行う。もしも
それが有効であると、ビット0=0によって表示されて
いる場合は、DMAはこれを現PCLアドレスとして、
図に示すように実行を継続する。もしも別のPCLが現
PCLにリンクされていない場合は、ビット0=1によ
って表示され、リンクおよびビジービットがDMA制御
レジスタ内で消去され、DMA停止割り込みがこのチャ
ンネルに対して関連する状態(DMA_HLT[x])
と共に割り込み状態レジスタ内に生成され、そのチャン
ネルはアイドリング状態となる。
ック図500を示し、GRF80、非同期送信FIFO
82、および等時間間隔送信FIFO84に関するFI
FO操作を説明している。本発明のFIFOロジックは
リンク側クロック領域502とPCI側クロック領域5
04とを含む。PCI側クロック領域504、FIFO
制御ならびに状態レジスタ88は実時間でPCIバスイ
ンタフェースロジックにより書き込まれる。また、FI
FO制御器状態レジスタ88はポインタアドレス写像ロ
ジック86に対して入力を提供する。ポインタアドレス
写像ロジック86はFIFO読み取り書き込みポインタ
に対するRAMアドレス写像オフセットを生成する。
同期送信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に対して入
力を提供する。
518およびマルチプレクサ520からアドレス入力を
受信する。マルチプレクサ518は汎用受信書き込みポ
インタ522、非同期送信読み取りポインタ524およ
び等時間間隔送信読み取りポインタ526から入力を受
信する。汎用受信書き込みポインタ522は1394受
信機およびアドレス写像ロジックとから制御を受ける。
非同期送信読み取りポインタ524および等時間間隔送
信読み取りポインタ526は1394受信機およびアド
レス写像ロジックとから制御を受ける。汎用受信書き込
みポインタ522、非同期送信読み取りポインタ524
および等時間間隔送信読み取りポインタ526からの出
力は、全て送信機および受信機占有状態ロジック51
4、クロック領域ポインタ翻訳ロジック506およびマ
ルチプレクサ518に送られる。
込みポインタ530、および等時間間隔送信書き込みポ
インタ532は全てDMAロジックおよびアドレス写像
ロジックから制御を受ける。汎用受信ポインタ528、
非同期送信書き込みポインタ530、および等時間間隔
送信書き込みポインタ532は全てDMA FIFO状
態ロジック508、クロック領域ポインタ翻訳ロジック
512、およびマルチプレクサ520に出力を提供す
る。
受信ロジックから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に送られる。
説明に関連して、FIFO、GRF80、非同期送信F
IFO82、および等時間間隔伝送FIFO84の機能
に関する更に詳細な説明を以下に行う。
は各々の論理FIFOに対する占有状態を生成するのに
必要なロジックを実行する。PCI側FIFO状態を計
算する際に、リンクからPCIクロック領域への翻訳ロ
ジックは、FIFOのリンク側上の各ポインタの現在値
をサンプリングし、これらのサンプルをもとにリンクク
ロック領域からPCIクロック領域への翻訳を行う。各
々の翻訳されたリンク側ポインタは、その対応するPC
I側ポインタと比較され、各FIFOの占有状態が生成
される。この状態はDMAロジックで使用されて、ホス
トメモリとFIFOとの間のデータ転送のペースがとら
れる。同様にリンク側FIFO状態を計算する際に、P
CIからリンククロック領域への翻訳ロジックは、FI
FOのPCI側上の各ポインタの現在値をサンプリング
し、これらのサンプルのPCIクロック領域からリンク
クロック領域への翻訳を行う。各々の翻訳されたPCI
側ポインタは、その対応するリンク側ポインタと比較さ
れ、各FIFOの占有状態が計算される。この状態は1
394送信/受信ロジックで用いられ、1394バスと
FIFOとの間のデータ転送のペースがとられる。
リからの全クウォドレットデータ読み取りを、バイト単
位で整列されたアドレス上に動作中DMAチャンネル経
由で集合させるロジックを実行する。このロジックは好
適に4つの8ビット幅レジスタと4つの8対1マルチプ
レクサとを含む。各レジスタとマルチプレクサとの対は
1つのバイト列に対応する。各レジスタの入力は入力バ
イト列に接続され、これは動作中DMAチャンネルによ
ってホストメモリに切り替えられる。各マルチプレクサ
の出力は出力バイト列に接続され、これはFIFOを駆
動する。各々の8対1マルチプレクサに対して、4つの
入力は1対1対応で各レジスタ出力に接続される。残り
の4つの入力は1対1対応で各レジスタ入力に接続され
る。この構成により4つの入力バイト列からのビット配
列DMA読み取りデータを異なる順序で4つの出力バイ
ト列に切り替えることが可能となる。バイト列マルチプ
レクサの制御は動作中DMA読み取りチャンネルで行わ
れる。
トメモリにバイト単位で整列されたアドレス上に動作中
DMAチャンネル経由で、書き込むためにFIFOから
個々の選択可能なバイトへクウォドレットデータ読み取
りを解体するために必要なロジックを実行する。このロ
ジックは4つの8ビット幅レジスタと4つの8対1マル
チプレクサとで構成される。各レジスタとマルチプレク
サとの対は1つのバイト列に対応する。各レジスタの入
力は入力バイト列に接続され、これはFIFOから駆動
される。各マルチプレクサの出力は出力バイト列に接続
され、これはDMAチャンネルによってホストメモリに
切り替えられる。各々の8対1マルチプレクサに対して
4つの入力が1対1対応で各レジスタ出力に接続され
る。残りの4つの入力は1対1対応で各レジスタ入力に
接続される。この構成でFIFOからのクウォドレット
読み取りを異なる順序で出力バイト列上に切り替えるこ
とが可能となる。バイト列マルチプレクサの制御は動作
中DMA書き込みチャンネルによって行われる。
々の変更、代入および改造が添付の請求項で定義された
本発明の精神ならびに範囲から逸脱することなく実行で
きることを理解されたい。
る。 (1)直接メモリアクセス(DMA)チャンネル優先順
位を、転送される個々のデータパケットに関連するデー
タパケット転送機器に対して割り当て、前記直接メモリ
アクセスチャンネルの迅速なスケジューリングを提供す
ることにより、データ転送行動を最適化するための方法
であって:データパケット転送機器に対する物理媒体イ
ンタフェース上のデータパケットに関連するDMAチャ
ンネルを判定し;物理媒体インタフェース上で現在動作
中のデータ転送に関連するDMAチャンネル番号に関係
する情報を、DMA調停ロジックに前記DMAチャンネ
ル番号に最も高い優先順位値を割り当てて供給し;現在
動作中DMAチャンネルへのサービスを予め定められた
境界条件が存在するまで継続し;そして境界条件が発生
したことを判定した時点で、DMAエンジンの実行を最
も高い優先順位を有するDMAチャンネルに移動する、
以上の手順を含む、前記方法。
動する手順が、前記境界条件がPCI転送完了状態を含
むときに、DMAチャンネルを移動する手順を含む、前
記方法。
動する手順が、前記境界条件が受信チャンネルが受信F
IFOの中にデータを書き込んだことを含むときに、D
MAチャンネルを移動する手順を含む、前記方法。
動する手順が、前記境界条件がDMAチャンネルの受信
データ待ちを含むときに、DMAチャンネル実行を移動
を実行する手順を含む、前記方法。
中DMAチャンネルを示す現在DMAチャンネル信号を
生成するための手順を含む、前記方法。
保留チャンネルのサブセットに基づいてDMAチャンネ
ル実行を移動する手順を含む、前記方法。
ム的に選択可能なDMAチャンネルのサブセットに基づ
いてDMAチャンネル実行を移動する手順を含む、前記
方法。
動する手順が、DMAチャンネルが前記DMAチャンネ
ルの外部での動作が生じることを待つことを前記境界条
件が含む時に、DMA実行を移動する手順を含む、前記
方法。
機器内で、転送される特定のデータパケットに関連した
データパケット転送機器にDMAチャンネル優先順位を
割り当て、前記DMAチャンネルの迅速なスケジューリ
ングを行い、データ転送行動の最適化を図る、直接メモ
リアクセス(DMA)チャンネル回路であって:データ
パケット転送機器用の物理媒体インターフェース上のデ
ータパケットに関連するDMAチャンネルを決定するた
めのDMAチャンネル決定回路と;物理媒体インタフェ
ース上で現在動作中のデータ転送に関連するDMAチャ
ンネル番号に関係する情報を、DMA調停ロジックに前
記DMAチャンネル番号に最も高い優先順位値を割り当
てて供給するマイクロプロセッサDMAチャンネル用の
命令と;現在動作中DMAチャンネルへのサービスを予
め定められた境界条件が存在するまで継続するためのマ
イクロプロセッサDMAチャンネルサービス命令と;そ
して境界条件が発生したことを判定した時点で、DMA
エンジンの実行を最も高い優先順位を有するDMAチャ
ンネルに移動するための移動回路とを含む、前記DMA
チャンネル回路。
路に於いて、前記移動回路が、前記境界条件がPCI転
送完了状態を含むときに、DMAチャンネルを移動する
回路を含む、前記DMAチャンネル回路。
路に於いて、前記移動回路が、前記境界条件が受信チャ
ンネルが受信FIFOの中にデータを書き込んだことを
含むときに、DMAチャンネルを移動する回路を含む、
前記DMAチャンネル回路。
路に於いて、前記移動回路が、前記境界条件がDMAチ
ャンネルの受信データ待ちを含むときに、DMAチャン
ネル実行を移動する回路を含む、前記DMAチャンネル
回路。
路が更に、現在動作中DMAチャンネルを示す現在DM
Aチャンネル信号を生成するための生成回路を含む、前
記DMAチャンネル回路。
路が更に、利用可能保留チャンネルのサブセットに基づ
いてDMAチャンネル実行を移動するDMAチャンネル
移動回路を含む、前記DMAチャンネル回路。
路が更に、プログラム的に選択可能なDMAチャンネル
のサブセットに基づいてDMAチャンネル実行を移動す
る回路を含む、前記DMAチャンネル回路。
路に於いて、前記移動回路が、DMAチャンネルが前記
DMAチャンネルの外部での動作が生じることを待つこ
とを前記境界条件が含む時に、DMA移動を実行する回
路を含む、前記DMAチャンネル回路。
であって:データパケット転送バスを採用した少なくと
もひとつの周辺機器と;コンピュータとを含み、前記コ
ンピュータが、PCIバスを含むホストCPUと;前記
PCIバスと前記周辺機器との間のインタフェースを行
うPCIインタフェース機器であって、該PCIインタ
フェース機器が、転送される特定のデータパケットに関
連したデータパケット転送機器にDMAチャンネル優先
順位を割り当て、前記DMAチャンネルの迅速なスケジ
ューリングを行い、データ転送の最適化を図る、直接メ
モリアクセス(DMA)チャンネル回路を含み、前記D
MAチャンネル回路が、データパケット転送機器用の物
理媒体インターフェース上のデータパケットに関連する
DMAチャンネルを決定するためのDMAチャンネル決
定回路と;物理媒体インタフェース上で現在動作中のデ
ータ転送に関連するDMAチャンネル番号に関係する情
報を、前記DMAチャンネル番号に最も高い優先順位値
を割り当ててDMA調停ロジックに供給するためのマイ
クロプロセッサDMAチャンネル命令と;現在動作中D
MAチャンネルへのサービスを予め定められた境界条件
が存在するまで継続するためのマイクロプロセッサDM
Aチャンネルサービス命令と;境界条件が発生したこと
を判定した時点で、DMAエンジンの実行を最も高い優
先順位を有するDMAチャンネルに移動するための移動
回路とを含む、前記パーソナルコンピュータシステム。
回路に於いて、前記移動回路が、前記境界条件がPCI
転送完了状態を含むときにDMAチャンネルを移動する
回路を含む、前記DMAチャンネル回路。
回路に於いて、前記移動回路が、前記境界条件が受信チ
ャンネルが受信FIFOの中にデータを書き込んだこと
を含むときにDMAチャンネルを移動する回路を含む、
前記DMAチャンネル回路。
回路に於いて、前記移動回路が、前記境界条件がDMA
チャンネルの受信データ待ちを含むときに、DMA実行
を移動する回路を含む、前記DMAチャンネル回路。
で、最も高いDMAチャンネル74優先順位を物理媒体
インタフェース上で現在動作中のデータ転送に関連した
DMAチャンネル番号に基づいて割り当てる。本発明
は、現在転送動作中のデータパケットに関するこの優先
順位情報をDMA調停ロジック348に供給し、現在動
作中のDMAチャンネルのサービスを予め定められた境
界条件が存在するまで継続する。この方法およびシステ
ム300は、DMAチャンネルの実行をこの最も高い優
先順位DMAチャンネルへ、境界条件が生じたことを確
認した時点で移動させる。
境の動作概要図を図示する。
す。
示す。
機能の更に詳細を図示する。
ドとして考えられるデータ値を図示する。
ドとして考えられるデータ値を図示する。
ドとして考えられるデータ値を図示する。
ドとして考えられるデータ値を図示する。
データフリップフロップのひとつの実施例を図示する。
現するための、アドレスフィールド例を示す。
ス、多重チャンネル環境の図を示し、本発明のDMA命
令処理動作を図示する。
位の割り当てを図示する表を示す。
タフェース装置構造の一部を示す。
トされた際の、内部PCIアドレスバスのビット31及
び30に対応するPCIマスタバス命令の表を示す。
ック図形式で示す。
発明のインタフェース装置のロジックを図式的に示す。
操作を含む、本発明の別の機能を図示する。
像するための、本実施例の動作を示す。
るパケット制御リストデータ構造ならびにデータバッフ
ァのメモリマップを図示する。
パケット処理装置動作を図示する。
パケット処理装置動作を図示する。
パケット処理装置動作を図示する。
非同期送信動作を図示する。
非同期送信動作を図示する。
非同期送信動作を図示する。
等時間間隔送信動作を図示する。
ローカルバス/PCIバス相互通信動作を図示する。
高いレベルでの概念図である。
高いレベルでの概念図である。
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 転送命令パケット制御リスト 466 シーケンシャルリスト 472 論理機能 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】 直接メモリアクセス(DMA)チャンネ
ル優先順位を、転送される個々のデータパケットに関連
するデータパケット転送機器に対して割り当て、前記直
接メモリアクセスチャンネルの迅速なスケジューリング
を提供することにより、データ転送行動を最適化するた
めの方法であって、 データパケット転送機器に対する物理媒体インタフェー
ス上のデータパケットに関連するDMAチャンネルを判
定し、 物理媒体インタフェース上で現在動作中のデータ転送に
関連するDMAチャンネル番号に関係する情報を、DM
A調停ロジックに前記DMAチャンネル番号に最も高い
優先順位値を割り当てて供給し、 現在動作中DMAチャンネルへのサービスを予め定めら
れた境界条件が存在するまで継続し、 境界条件が発生したことを判定した時点で、DMAエン
ジンの実行を最も高い優先順位を有するDMAチャンネ
ルに移動する、ステップを含む方法。 - 【請求項2】 PCIシリアルバスインタフェース機器
内で、転送される特定のデータパケットに関連したデー
タパケット転送機器にDMAチャンネル優先順位を割り
当て、前記DMAチャンネルの迅速なスケジューリング
を行い、データ転送行動の最適化を図る、直接メモリア
クセス(DMA)チャンネル回路であって、 データパケット転送機器用の物理媒体インタフェース上
のデータパケットに関連するDMAチャンネルを決定す
るためのDMAチャンネル決定回路と、 物理媒体インタフェース上で現在動作中のデータ転送に
関連するDMAチャンネル番号に関係する情報を、DM
A調停ロジックに、前記DMAチャンネル番号に最も高
い優先順位値を割り当てて供給するマイクロプロセッサ
DMAチャンネル用の命令と、 現在動作中DMAチャンネルへのサービスを予め定めら
れた境界条件が存在するまで継続するためのマイクロプ
ロセッサDMAチャンネルサービス命令と、 境界条件が発生したことを判定した時点で、DMAエン
ジンの実行を最も高い優先順位を有するDMAチャンネ
ルに移動するための移動回路と、を含むDMAチャンネ
ル回路。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US1502196P | 1996-04-30 | 1996-04-30 | |
US015021 | 1996-04-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH1040211A true JPH1040211A (ja) | 1998-02-13 |
Family
ID=21769117
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9111616A Pending JPH1040211A (ja) | 1996-04-30 | 1997-04-28 | パケット化されたデータ通信インタフェース機器内での直接メモリアクセス優先順位を割り当てるための方法ならびにdmaチャンネル回路 |
Country Status (3)
Country | Link |
---|---|
US (1) | US5983301A (ja) |
JP (1) | JPH1040211A (ja) |
TW (1) | TW376478B (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
US6834316B1 (en) | 1998-10-27 | 2004-12-21 | Seiko Epson Corporation | Data transfer controller and electronic device |
US6839347B1 (en) | 1998-10-27 | 2005-01-04 | Seiko Epson Corporation | Data transfer controller and electronic device |
US6854020B1 (en) | 1998-10-27 | 2005-02-08 | Seiko Epson Corporation | Data transfer controller and electronic device |
KR100950356B1 (ko) * | 2002-05-17 | 2010-03-29 | 프리스케일 세미컨덕터, 인크. | 다중 코히런시 단위들을 지원하는 데이터 전송 유닛 |
US9921983B2 (en) | 2013-10-29 | 2018-03-20 | Socionext Inc. | Direct memory access controller, control method thereof, and information processing system |
Families Citing this family (80)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6606320B1 (en) * | 1996-12-19 | 2003-08-12 | Sony Corporation | Data communication system and method, data transmission device and method |
JP3927647B2 (ja) * | 1997-04-21 | 2007-06-13 | キヤノン株式会社 | 情報処理装置、情報処理方法及び情報処理システム |
US6356968B1 (en) * | 1997-09-03 | 2002-03-12 | Cirrus Logic, Inc | Apparatus and method for transparent USB-to-1394 bridging and video delivery between a host computer system and a remote peripheral device |
US6192428B1 (en) * | 1998-02-13 | 2001-02-20 | Intel Corporation | Method/apparatus for dynamically changing FIFO draining priority through asynchronous or isochronous DMA engines in response to packet type and predetermined high watermark being reached |
US6134625A (en) * | 1998-02-18 | 2000-10-17 | Intel Corporation | Method and apparatus for providing arbitration between multiple data streams |
US6731650B1 (en) * | 1998-04-27 | 2004-05-04 | Canon Kabushiki Kaisha | Data transfer apparatus and its control method |
US6501441B1 (en) | 1998-06-18 | 2002-12-31 | Sony Corporation | Method of and apparatus for partitioning, scaling and displaying video and/or graphics across several display devices |
US6593937B2 (en) | 1998-06-18 | 2003-07-15 | Sony Corporation | Method of and apparatus for handling high bandwidth on-screen-display graphics data over a distributed IEEE 1394 network utilizing an isochronous data transmission format |
EP0986248A1 (en) * | 1998-09-07 | 2000-03-15 | Deutsche Thomson-Brandt Gmbh | Method and apparatus for timestamping a bitstream to be recorded |
US6304936B1 (en) * | 1998-10-30 | 2001-10-16 | Hewlett-Packard Company | One-to-many bus bridge using independently and simultaneously selectable logical FIFOS |
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 |
JP2000196624A (ja) * | 1998-12-28 | 2000-07-14 | Pioneer Electronic Corp | 伝送管理装置、情報処理装置及び情報伝送システム |
JP2000315186A (ja) * | 1999-05-06 | 2000-11-14 | Hitachi Ltd | 半導体装置 |
US6519265B1 (en) * | 1999-05-28 | 2003-02-11 | Sony Corporation | System and method for context switching in an electronic network |
US6378051B1 (en) * | 1999-06-14 | 2002-04-23 | Maxtor Corporation | Interrupt signal prioritized shared buffer memory access system and method |
US6169745B1 (en) * | 1999-06-18 | 2001-01-02 | Sony Corporation | System and method for multi-level context switching in an electronic network |
US6449665B1 (en) * | 1999-10-14 | 2002-09-10 | Lexmark International, Inc. | Means for reducing direct memory access |
US6671712B1 (en) | 1999-11-09 | 2003-12-30 | International Business Machines Corporation | Multi-node data processing system having a non-hierarchical interconnect architecture |
US6519649B1 (en) | 1999-11-09 | 2003-02-11 | International Business Machines Corporation | Multi-node data processing system and communication protocol having a partial combined response |
US6848003B1 (en) * | 1999-11-09 | 2005-01-25 | International Business Machines Corporation | Multi-node data processing system and communication protocol that route write data utilizing a destination ID obtained from a combined response |
US6519665B1 (en) | 1999-11-09 | 2003-02-11 | International Business Machines Corporation | Multi-node data processing system and communication protocol in which a stomp signal is propagated to cancel a prior request |
US6591307B1 (en) | 1999-11-09 | 2003-07-08 | International Business Machines Corporation | Multi-node data processing system and method of queue management in which a queued operation is speculatively cancelled in response to a partial combined response |
US6449702B1 (en) * | 1999-12-30 | 2002-09-10 | Intel Corporation | Memory bandwidth utilization through multiple priority request policy for isochronous data streams |
US6732210B1 (en) * | 2000-01-03 | 2004-05-04 | Genesis Microchip Inc | Communication bus for a multi-processor system |
JP2001244952A (ja) * | 2000-02-29 | 2001-09-07 | Sony Corp | 通信制御装置 |
US6640322B1 (en) | 2000-03-22 | 2003-10-28 | Sun Microsystems, Inc. | Integrated circuit having distributed control and status registers and associated signal routing means |
JP4097891B2 (ja) * | 2000-11-27 | 2008-06-11 | 三菱電機株式会社 | Ieee1394を用いた同期システム |
US7254651B2 (en) * | 2000-12-18 | 2007-08-07 | Redback Networks Inc. | Scheduler for a direct memory access device having multiple channels |
US6801959B1 (en) * | 2001-05-16 | 2004-10-05 | Lexmark International, Inc. | Relaxed-timing universal serial bus with a start of frame packet generator |
US6625700B2 (en) * | 2001-05-31 | 2003-09-23 | Sun Microsystems, Inc. | Arbitration and select logic for accessing a shared memory |
US6865695B2 (en) * | 2001-07-26 | 2005-03-08 | International Business Machines Corpoation | Robust system bus recovery |
US20030061431A1 (en) * | 2001-09-21 | 2003-03-27 | Intel Corporation | Multiple channel interface for communications between devices |
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 |
US6636074B2 (en) | 2002-01-22 | 2003-10-21 | Sun Microsystems, Inc. | Clock gating to reduce power consumption of control and status registers |
JP3775318B2 (ja) * | 2002-03-20 | 2006-05-17 | セイコーエプソン株式会社 | データ転送制御装置及び電子機器 |
KR100532416B1 (ko) * | 2003-01-18 | 2005-11-30 | 삼성전자주식회사 | 다중 소스의 다중 채널로의 할당 방법 및 시스템 |
JP4749657B2 (ja) * | 2003-03-20 | 2011-08-17 | パナソニック株式会社 | Dma制御装置 |
EP1553738A1 (en) * | 2004-01-12 | 2005-07-13 | Thomson Licensing S.A. | Method and apparatus for generating data packets |
US7392330B2 (en) * | 2004-07-02 | 2008-06-24 | Mediatek Usa Inc. | Memory access bandwidth allocation and latency control in a digital camera |
US20060026308A1 (en) * | 2004-07-29 | 2006-02-02 | International Business Machines Corporation | DMAC issue mechanism via streaming ID method |
US20060031603A1 (en) * | 2004-08-09 | 2006-02-09 | Bradfield Travis A | Multi-threaded/multi-issue DMA engine data transfer system |
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 |
US7464189B2 (en) * | 2005-05-23 | 2008-12-09 | International Business Machines Corporation | System and method for creation/deletion of linear block address table entries for direct I/O |
US7552240B2 (en) | 2005-05-23 | 2009-06-23 | International Business Machines Corporation | Method for user space operations for direct I/O between an application instance and an I/O adapter |
US7502871B2 (en) * | 2005-05-23 | 2009-03-10 | International Business Machines Corporation | Method for query/modification of linear block address table entries for direct I/O |
US7502872B2 (en) * | 2005-05-23 | 2009-03-10 | International Bsuiness Machines Corporation | Method for out of user space block mode I/O directly between an application instance and an I/O adapter |
US20070005815A1 (en) * | 2005-05-23 | 2007-01-04 | Boyd William T | System and method for processing block mode I/O operations using a linear block address translation protection table |
US20060265525A1 (en) * | 2005-05-23 | 2006-11-23 | Boyd William T | System and method for processor queue to linear block address translation using protection table control based on a protection domain |
US7428603B2 (en) * | 2005-06-30 | 2008-09-23 | Sigmatel, Inc. | System and method for communicating with memory devices via plurality of state machines and a DMA controller |
US20070035668A1 (en) * | 2005-08-11 | 2007-02-15 | Sony Corporation | Method of routing an audio/video signal from a television's internal tuner to a remote device |
US7577761B2 (en) * | 2005-08-31 | 2009-08-18 | International Business Machines Corporation | Out of user space I/O directly between a host system and a physical adapter using file based linear block address translation |
US7657662B2 (en) * | 2005-08-31 | 2010-02-02 | International Business Machines Corporation | Processing user space operations directly between an application instance and an I/O adapter |
US7500071B2 (en) * | 2005-08-31 | 2009-03-03 | International Business Machines Corporation | Method for out of user space I/O with server authentication |
US20070168567A1 (en) * | 2005-08-31 | 2007-07-19 | Boyd William T | System and method for file based I/O directly between an application instance and an I/O adapter |
US7496695B2 (en) | 2005-09-29 | 2009-02-24 | P.A. Semi, Inc. | Unified DMA |
US7620746B2 (en) * | 2005-09-29 | 2009-11-17 | Apple Inc. | Functional DMA performing operation on DMA data and writing result of operation |
DE102005052971A1 (de) * | 2005-11-07 | 2007-05-10 | Siemens Ag | Datenverarbeitungsvorrichtung und Verfahren zum Betrieb |
US20090265485A1 (en) * | 2005-11-30 | 2009-10-22 | Broadcom Corporation | Ring-based cache coherent bus |
US7444442B2 (en) * | 2005-12-13 | 2008-10-28 | Shashank Dabral | Data packing in a 32-bit DMA architecture |
US7603496B2 (en) * | 2006-01-23 | 2009-10-13 | Arm Limited | Buffering data during data transfer through a plurality of channels |
JP4768564B2 (ja) * | 2006-09-28 | 2011-09-07 | 富士通セミコンダクター株式会社 | データ転送装置 |
US20080147908A1 (en) * | 2006-12-13 | 2008-06-19 | Microchip Technology Incorporated | Direct Memory Access Controller with Error Check |
US8117475B2 (en) * | 2006-12-15 | 2012-02-14 | Microchip Technology Incorporated | Direct memory access controller |
US9141572B2 (en) | 2006-12-15 | 2015-09-22 | Microchip Technology Incorporated | Direct memory access controller |
US7613049B2 (en) * | 2007-01-08 | 2009-11-03 | Macronix International Co., Ltd | Method and system for a serial peripheral interface |
US20090225775A1 (en) * | 2008-03-06 | 2009-09-10 | Integrated Device Technology, Inc. | Serial Buffer To Support Reliable Connection Between Rapid I/O End-Point And FPGA Lite-Weight Protocols |
US8312241B2 (en) * | 2008-03-06 | 2012-11-13 | Integrated Device Technology, Inc. | Serial buffer to support request packets with out of order response packets |
US8312190B2 (en) * | 2008-03-06 | 2012-11-13 | Integrated Device Technology, Inc. | Protocol translation in a serial buffer |
US20090228733A1 (en) * | 2008-03-06 | 2009-09-10 | Integrated Device Technology, Inc. | Power Management On sRIO Endpoint |
US8625621B2 (en) * | 2008-03-06 | 2014-01-07 | Integrated Device Technology, Inc. | Method to support flexible data transport on serial protocols |
US8213448B2 (en) * | 2008-03-06 | 2012-07-03 | Integrated Device Technology, Inc. | Method to support lossless real time data sampling and processing on rapid I/O end-point |
CN101692212B (zh) * | 2009-06-19 | 2012-11-14 | 无锡中星微电子有限公司 | 一种访问存储器的方法、系统和总线仲裁装置 |
US10303618B2 (en) * | 2012-09-25 | 2019-05-28 | International Business Machines Corporation | Power savings via dynamic page type selection |
CN106294233B (zh) * | 2015-06-29 | 2019-05-03 | 华为技术有限公司 | 一种直接内存访问的传输控制方法及装置 |
US10223307B2 (en) * | 2017-06-15 | 2019-03-05 | International Business Machines Corporation | Management of data transaction from I/O devices |
KR102276895B1 (ko) * | 2017-08-17 | 2021-07-12 | 삼성전자주식회사 | 반도체 장치 및 그 이벤트 프로파일링 방법 |
EP3598315B1 (fr) * | 2018-07-19 | 2022-12-28 | STMicroelectronics (Grenoble 2) SAS | Accès direct en mémoire |
US11397612B2 (en) | 2019-07-27 | 2022-07-26 | Analog Devices International Unlimited Company | Autonomous job queueing system for hardware accelerators |
TWI782694B (zh) * | 2021-09-06 | 2022-11-01 | 智原科技股份有限公司 | 時序調整電路、時序不對稱消除方法及接收電路 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5276684A (en) * | 1991-07-22 | 1994-01-04 | International Business Machines Corporation | High performance I/O processor |
US5247675A (en) * | 1991-08-09 | 1993-09-21 | International Business Machines Corporation | Preemptive and non-preemptive scheduling and execution of program threads in a multitasking operating system |
JPH0567039A (ja) * | 1991-09-06 | 1993-03-19 | Toshiba Corp | Dmaチヤネル制御装置 |
JP2599539B2 (ja) * | 1991-10-15 | 1997-04-09 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 直接メモリ・アクセス装置及びルック・アヘッド装置 |
US5388237A (en) * | 1991-12-30 | 1995-02-07 | Sun Microsystems, Inc. | Method of and apparatus for interleaving multiple-channel DMA operations |
US5794070A (en) * | 1993-06-30 | 1998-08-11 | Intel Corporation | Method and apparatus for fast DMA transfer on an industry standard architecture (ISA) bus |
US5727233A (en) * | 1994-08-02 | 1998-03-10 | Apple Computer, Inc. | Byte-mode and burst-mode data transfer mechanism for a high-speed serial interface |
JPH08110886A (ja) * | 1994-10-07 | 1996-04-30 | Ricoh Co Ltd | Dmaコントローラ及びファクシミリ装置 |
JP3525518B2 (ja) * | 1994-10-13 | 2004-05-10 | ヤマハ株式会社 | データ転送装置 |
US5752081A (en) * | 1995-06-08 | 1998-05-12 | Vlsi Technology, Inc. | Signalling system and method for allowing a direct memory access (DMA) input/output (I/O) device on the peripheral component interconnect (PCI) bus to perform DMA transfers |
US5692200A (en) * | 1995-10-16 | 1997-11-25 | Compaq Computer Corporation | Bridge circuit for preventing data incoherency by holding off propagation of data transfer completion interrupts until data clears the bridge circuit |
US5774680A (en) * | 1995-12-11 | 1998-06-30 | Compaq Computer Corporation | Interfacing direct memory access devices to a non-ISA bus |
US5761534A (en) * | 1996-05-20 | 1998-06-02 | Cray Research, Inc. | System for arbitrating packetized data from the network to the peripheral resources and prioritizing the dispatching of packets onto the network |
-
1997
- 1997-04-28 JP JP9111616A patent/JPH1040211A/ja active Pending
- 1997-04-29 US US08/840,689 patent/US5983301A/en not_active Expired - Lifetime
- 1997-11-14 TW TW086105597A patent/TW376478B/zh not_active IP Right Cessation
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6834316B1 (en) | 1998-10-27 | 2004-12-21 | Seiko Epson Corporation | Data transfer controller and electronic device |
US6839347B1 (en) | 1998-10-27 | 2005-01-04 | Seiko Epson Corporation | Data transfer controller and electronic device |
US6854020B1 (en) | 1998-10-27 | 2005-02-08 | Seiko Epson Corporation | Data transfer controller and electronic device |
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 |
KR100950356B1 (ko) * | 2002-05-17 | 2010-03-29 | 프리스케일 세미컨덕터, 인크. | 다중 코히런시 단위들을 지원하는 데이터 전송 유닛 |
US9921983B2 (en) | 2013-10-29 | 2018-03-20 | Socionext Inc. | Direct memory access controller, control method thereof, and information processing system |
Also Published As
Publication number | Publication date |
---|---|
US5983301A (en) | 1999-11-09 |
TW376478B (en) | 1999-12-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH1040211A (ja) | パケット化されたデータ通信インタフェース機器内での直接メモリアクセス優先順位を割り当てるための方法ならびにdmaチャンネル回路 | |
JPH1074175A (ja) | 受信データパケットへのチャンネル番号割当て方法ならびにdmaチャンネル受信パケット比較器回路 | |
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 | |
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 | |
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 | |
US6651119B2 (en) | Method for allocating priorities to plurality of DMA engines for processing data packets based on bus phase and transactions status | |
US6519268B1 (en) | Asynchronous data pipe for automatically managing asynchronous data transfers between an application and a bus structure | |
JPH0865334A (ja) | マルチメディア通信装置及び方法 | |
KR100405250B1 (ko) | 데이터 전송 제어 장치 및 전자 기기 | |
KR100605657B1 (ko) | 수신된 데이터를 처리하는 방법 및 장치와, 하나 이상의 원격 디바이스로부터 데이터를 수신하는 수신 디바이스 | |
EP0803821A2 (en) | DMA channel assignment in a data packet transfer device | |
EP0803803B1 (en) | Method of configuring a data packet transfer device | |
US20050044291A1 (en) | Data transfer control device and electronic equipment | |
JP4184458B2 (ja) | 通信インタフェースで受信されたパケットデータからの制御情報の抽出方法ならびにビデオデータパケット制御回路 | |
EP0804008B1 (en) | Apparatus for data packet transfer control | |
US6978327B1 (en) | Data transfer control device and electronic equipment for performing data | |
JP4033915B2 (ja) | データストリーム制御方法及び装置 | |
JPH1069456A (ja) | パケットデータ通信システム内のdma機械を制御するためのパケット制御リストを形成するための方法ならびにそのフォーマット | |
JP3967792B2 (ja) | パケット化されたデータ通信インタフェース機器のpciシリアルバスインタフェース機器回路を自律的に動作させるための方法ならびに自律ブート回路 | |
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: 20060908 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061006 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20070109 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20070112 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070703 |