JP2000339267A - Pciバス制御システム - Google Patents
Pciバス制御システムInfo
- Publication number
- JP2000339267A JP2000339267A JP11149279A JP14927999A JP2000339267A JP 2000339267 A JP2000339267 A JP 2000339267A JP 11149279 A JP11149279 A JP 11149279A JP 14927999 A JP14927999 A JP 14927999A JP 2000339267 A JP2000339267 A JP 2000339267A
- Authority
- JP
- Japan
- Prior art keywords
- pci
- pci bus
- function
- data
- control system
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000004891 communication Methods 0.000 claims abstract description 62
- 230000006870 function Effects 0.000 claims description 204
- 230000005540 biological transmission Effects 0.000 claims description 103
- 238000012545 processing Methods 0.000 claims description 70
- 238000004364 calculation method Methods 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 99
- 238000000034 method Methods 0.000 description 86
- 230000008569 process Effects 0.000 description 55
- 230000004044 response Effects 0.000 description 29
- 230000000694 effects Effects 0.000 description 23
- 238000012546 transfer Methods 0.000 description 10
- 230000007115 recruitment Effects 0.000 description 5
- 238000007726 management method Methods 0.000 description 4
- 238000003491 array Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 239000003999 initiator Substances 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000001994 activation Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012946 outsourcing Methods 0.000 description 1
- FIAFUQMPZJWCLV-UHFFFAOYSA-N suramin Chemical compound OS(=O)(=O)C1=CC(S(O)(=O)=O)=C2C(NC(=O)C3=CC=C(C(=C3)NC(=O)C=3C=C(NC(=O)NC=4C=C(C=CC=4)C(=O)NC=4C(=CC=C(C=4)C(=O)NC=4C5=C(C=C(C=C5C(=CC=4)S(O)(=O)=O)S(O)(=O)=O)S(O)(=O)=O)C)C=CC=3)C)=CC=C(S(O)(=O)=O)C2=C1 FIAFUQMPZJWCLV-UHFFFAOYSA-N 0.000 description 1
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/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/362—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
Abstract
アクセスする必要のないPCIバス制御システムを実現
する。 【解決手段】 PCIバス1経由の通信機能を有し、ノ
ン−インテリジェントデバイス4をオーナとして管理
し、ノン−インテリジェントデバイス4に対するデバイ
スドライバを持たないデバイスに対して、ノン−インテ
リジェントデバイス4のサービスを提供するインテリジ
ェントデバイス3を設ける。
Description
al Component Interconnect)バス制御を行うPCIバ
ス制御システムに関するものである。
等で採用しているPCIバス制御システムでは、デバイ
スは全てPCIバス制御をしないノン−インテリジェン
トデバイスで構成されている。よって、PCIバスマス
タ(PC側)が全てのPCI通信の制御を行っていた。
来のように、PCIバスマスタ側が全てのPCI通信の
制御を行う場合、次のような問題点があった。即ち、P
CIバスマスタが全てのデバイスに対してアクセスする
必要があり、PCIバスマスタに関係ないデバイス同士
のデータコピーを行う場合でもPCIバスマスタが制御
する必要があった。また、PCIバスマスタが全てのデ
バイスに対してアクセスするためのドライバを持つ必要
があった。
解決するため次の構成を採用する。 〈構成1〉単独ではPCI通信機能を持たないノン−イ
ンテリジェントデバイスと、PCIバス経由の通信機能
を有し、ノン−インテリジェントデバイスをオーナとし
て管理し、ノン−インテリジェントデバイスに対する他
のデバイスからのアクセス要求を中継するインテリジェ
ントデバイスとを備えたことを特徴とするPCIバス制
御システム。
システムにおいて、インテリジェントデバイスおよびノ
ン−インテリジェントデバイスは、各デバイスを初期化
する際に参照するコンフィグレーションレジスタの予め
決められた先頭ビット数を、インテリジェントデバイス
かノン−インテリジェントデバイスかを識別するための
値とすることを特徴とするPCIバス制御システム。
バス制御システムにおいて、PCIバスの共有メモリ領
域に、インテリジェントデバイスおよびノン−インテリ
ジェントデバイスにおけるPCIデバイスドライバの初
期化時に使用する通信用作業領域を設け、かつ、通信用
作業領域を各デバイスのメモリ領域の先頭に設けたこと
を特徴とするPCIバス制御システム。
システムにおいて、先頭ビット数は、各機能にマッピン
グする領域の先頭に設けた、PCIデバイスドライバの
初期化時に使用する通信用作業領域を有するか否かを示
す値であることを特徴とするPCIバス制御システム。
PCIバス制御システムにおいて、送信側デバイスから
受信側デバイスへの送信データの先頭に、次の送信デー
タのPCIヘッダの先頭アドレスを示すネクストポイン
タと、送信データにおけるデータエリアのアドレスを示
すデータエリアポインタとを示すPCIヘッダを備え、
かつ、ネクストポインタの最下位ビットを、送信データ
が連続するか否かを示すフラグとしたことを特徴とする
PCIバス制御システム。
PCIバス制御システムにおいて、PCIバスマスタお
よびインテリジェントデバイスは、全システム内に存在
する機能と一意に対応づけられ、各機能毎に設けられた
デバイスプロファイルを有し、各デバイスプロファイル
は、送信先のメールボックスのアドレスを示すメールボ
ックスポインタと、送信先の処理に割り込みを発生させ
る割り込み要求レジスタのアドレスを示す割り込み要求
レジスタポインタと、自分宛のコマンドとその引数を格
納するメールボックスとを備え、機能Xのデバイスプロ
ファイルYのメールボックスポインタは、機能Yのデバ
イスプロファイルXのメールボックスのアドレスを示
し、各機能のデバイスプロファイルXの割り込み要求レ
ジスタポインタは、機能Xの割り込み要求レジスタのア
ドレスを示すよう構成されていることを特徴とするPC
Iバス制御システム。
システムにおいて、PCIバスマスタは、各インテリジ
ェントデバイスの機能に対して、配布するデバイスプロ
ファイルのサイズと個数とを通知することによりコピー
する先頭アドレスを入手するコピー先アドレス問い合わ
せ処理部と、コピーする先頭アドレスに基づき、配布す
るデバイスプロファイルのメールボックスポインタを求
めるメールボックスポインタ計算処理部とを備えたこと
を特徴とするPCIバス制御システム。
バス制御システムにおいて、割り込み要求レジスタの各
ビットは、それぞれ、各機能と一意に対応づけられ、か
つ、各機能が他の機能に対して割り込みを要求する場合
は、自身のビットに書き込みを行うよう構成されている
ことを特徴とするPCIバス制御システム。
に記載のPCIバス制御システムにおいて、送信側デバ
イスから受信側デバイスへの送信データの先頭に、次の
送信データのPCIヘッダの先頭アドレスを示すネクス
トポインタと、送信データにおけるデータエリアのアド
レスを示すデータエリアポインタと、送信データのデー
タサイズとを示すPCIヘッダを備えたことを特徴とす
るPCIバス制御システム。
のPCIバス制御システムにおいて、PCIバスマスタ
およびインテリジェントデバイスは、階層処理構造にお
ける自層の処理を行うヘッダ情報中に、ヘッダのサイズ
を示す情報を含むと共に、ヘッダ情報の総データ量が特
定の値の倍数となるように可変長のデータであるパディ
ングを付加するようにしたことを特徴とするPCIバス
制御システム。
載のPCIバス制御システムにおいて、インテリジェン
トデバイスは、予め決められた初期化時暫定マスタより
デバイスマスタ募集があった場合、自身がデバイスマス
タになれる条件を備えていた場合はデバイスマスタに応
募し、デバイスマスタが自身に決定した場合は他のデバ
イスの初期化処理を行うよう構成されていることを特徴
とするPCIバス制御システム。
例を用いて詳細に説明する。 《具体例1》具体例1は、PCIバス上のPCIバスを
経由した通信を自ら行う機能(Initiator機能)を持た
ないデバイス(ノン−インテリジェントデバイス)をオ
ーナとして管理するインテリジェントデバイスを備える
ようにしたものである。
ステムの具体例1を示す構成図である。図のシステム
は、PCIバス(PCI BUS)1上に接続されたプリンタ
(Printer)2、インテリジェントデバイス(PCI Devic
e (Intelligent)またはMFP(Intelligent))3、ノン−
インテリジェントデバイス(PCI Device (Non Intellig
ent))4からなる。
S Master)としての機能を有するデバイスである。イン
テリジェントデバイス3は、自身にCPUを持ち、PC
Iバス1を経由した通信を自ら行う機能(Initiator機
能)を持っているデバイスである。ノン−インテリジェ
ントデバイス4は、PCIバス1を経由した通信を行う
機能を持たないデバイスである。
ン−インテリジェントデバイス4をオーナとして管理す
るデバイスであり、オーナとして管理するノン−インテ
リジェントデバイス4のデバイスドライバを備え、か
つ、そのノン−インテリジェントデバイス4へアクセス
する機能と、他のデバイスからそのノン−インテリジェ
ントデバイス4へのアクセス要求を取りまとめる(中継
する)機能とを有している。
のソフトウェア階層構造を示す説明図である。図示のよ
うに、PCIバス1を経由する二つのデバイス間通信
は、PCIデバイスドライバ(PCI Device Driver)の
上位層としてゲート(Gate)層を、ゲート層の上位層と
してIEEE1284.4(プロトコル層)とサービス
マネージャ(Service Maneger)を使用する。ここで、
PCIデバイスドライバは、PCIバスのデバイスドラ
イバ、ゲート層は、それぞれのデバイスを識別するPC
Iバスに接続されるボードレベルの制御を行う部分、サ
ービスマネージャは、例えば、印刷といったサービスを
制御する部分である。
バが作成する送信データは送信先PCIデバイスドライ
バが処理する。送信元ゲートが作成する送信データは送
信先ゲートが処理する。送信元IEEE1284.4が
作成する送信データは送信先IEEE1284.4が処
理する。送信元IEEE1284.4の上位層が作成す
る送信データは送信先IEEE1284.4の上位層が
処理する。以上のような階層構造により構成される。
先ず自身を初期化し、ノン−インテリジェントデバイス
4は、インテリジェントデバイス(オーナ)3による初
期化待ちとなる。
4の初期化の説明図である。具体例のPCIの初期化処
理(拡張PCI初期化処理、拡張Gate初期化処理)で
は、ノン−インテリジェントデバイス4に対してアクセ
ス可能な仮のオーナを決定するプロセスを実行する。ま
た、サービスマネージャの初期化では、仮サービスの認
識、オーナの募集を行う。
バスマスタ)は、仮オーナ決定処理を行う。よって、本
仕様ではPCIバスマスタ上に存在する各ノン−インテ
リジェントデバイス4は、仮オーナになれる機能をもっ
たインテリジェントデバイス3が必要である。仮オーナ
の役割は、オーナとなっているノン−インテリジェント
デバイス4の関連情報に対して、PCIバスマスタから
の問い合わせに回答することである。例えば、後述する
サービスマネージャの初期化で必要となる情報の収集が
行われるが、その際に、ノン−インテリジェントデバイ
ス4は、その要求に対応できないため、仮オーナとなっ
たインテリジェントデバイス3は代わりにそのデバイス
の情報を収集し送信する。
タは先ず一つのノン−インテリジェントデバイス4に対
する仮オーナ要求を、存在する全インテリジェントデバ
イス3に順番に送信する。
る。図示のように、PCIバスマスタは、ノン−インテ
リジェントデバイス4が複数存在する場合には、図4に
示すような処理を、そのノン−インテリジェントデバイ
ス4の数分繰り返す。例えばノン−インテリジェントデ
バイス4が5個ある場合は、図4に示す処理を5回繰り
返す。尚、PCIバスマスタは、ノン−インテリジェン
トデバイス4が存在しない場合には、仮オーナ要求を送
信しない。
バイス3)は、PCIバスマスタから送信される「仮オ
ーナ要求」を示すコマンドを受信すると、以下のいずれ
かの応答をしなければならない。 (1)仮オーナ受諾:自デバイスが「仮オーナ」機能を有
している場合 (2)仮オーナ拒否:自デバイスが「仮オーナ」機能を有
していない場合
である。仮オーナ決定シーケンスにおいて、「仮オーナ
決定」を示すコマンドの送信は仮オーナ決定シーケンス
の最後に行われる。各仮オーナ決定シーケンスはPCI
バス1上に存在するノン−インテリジェントデバイス4
の数に対応している。よって、PCIバスマスタはPC
Iバス1上に存在するノン−インテリジェントデバイス
4の数と同数の仮オーナ決定コマンドを発行する。「仮
オーナ決定」を示すコマンドを受信したインテリジェン
トデバイス3は「受信応答」を示すコマンドを返信す
る。
リジェントデバイス3であっても、PCIバスマスタか
らの次の「仮オーナ要求」を示すコマンドに対して「仮
オーナ受諾」を示すコマンドを返すことも可能とする。
これにより、複数のノン−インテリジェントデバイス4
の仮オーナになることが可能である。以上が、図3にお
ける拡張PCI初期化処理および拡張Gate初期化処理の
内容である。
(Service Manager)初期化処理について説明する。サ
ービスマネージャの初期化はデバイスマスタとなったデ
バイスを中心に行う。一般にデバイスマスタはPCIバ
スマスタとなっているデバイスが担当し、PCIデバイ
スドライバおよびゲートの初期化以降の初期化を受け持
つ。
おける仮サービスの認識処理の説明図である。デバイス
マスタの他システムのディスカバリ処理として、各シス
テムが持つサービスの情報収集が行われる。この時に、
仮オーナは、デバイスマスタから「Pre-Service Profil
e送信要求」コマンドを受信すると、仮オーナとなって
いるノン−インテリジェントデバイス4のサービス情報
もまとめてデバイスマスタに連絡しなければならない。
仮オーナは、仮オーナとなっているノン−インテリジェ
ントデバイス4のサービス内容については判断できない
ため、仮オーナがデバイスマスタに通知する(「Pre-Se
rvice Profile送信」コマンドを送信する)サービスは
仮サービスと定義する。
ビスが存在することを認識すると、その仮サービスを正
式なサービスにするために、その仮サービスに対するオ
ーナを唯一割り当てる処理を行う。
る。デバイスマスタは、全ノン−インテリジェントデバ
イス4に対しオーナの割り当てが終了(成功・不成功不
問)すると、オーナからのサービスの更新を待つ。オー
ナからサービスの更新があった場合は、再びサービスプ
ロファイル(Service Profile)を更新してサービスの
整合を行う。尚、サービスプロファイルとは、どのデバ
イスがどのようなサービスを提供するかを示す情報であ
る。
を持っているので自由な対応が可能である。以下に対応
例を示す。
を行い、他の処理からアクセスできないようにする。そ
のサービス専用のデバイスドライバでアクセスする必要
がある。
イルに新サービスとして「サービスの変更」を行い、他
の処理からの要求に対して仮サービスの使用権を配布す
る。
プロファイルに新サービスとして「サービスの変更」を
行い、他の処理からの要求に対して新サービスを提供す
る。
PCIバスを介して通信する機能を持たないノン−イン
テリジェントデバイスのオーナとなるインテリジェント
デバイスを設けたので、以下のような効果が期待でき
る。
るデバイス全てにアクセスする機能(デバイスドライ
バ)を持つ必要がなくなる。例えば、PCIバス経由の
SCSIボードが接続されていた場合、本具体例の仕様
により、PCIバスマスタはSCSIドライバを装備す
ることなくSCSIボードの提供するサービスを使用す
ることができる。同一のPCIバスに接続されているP
CIバスマスタ以外のデバイスについても同様の効果が
期待できる。
バイスの接続をサポートしているため、PCIバスマス
タのPCI通信における負荷を減少させることができ
る。
において、PCIバス上に接続されているデバイスが拡
張PCI仕様を有しているか、また、インテリジェント
デバイス/ノン−インテリジェントデバイスであるかを
識別するようにしたものである。尚、拡張PCI仕様と
は、PCIデバイスドライバの初期化時に使用する通信
用作業領域を、各機能にマッピングする領域の先頭に設
けている仕様を意味するが、これについては、具体例3
で説明する。
ィグレーションレジスタと拡張PCI初期化処理の説明
図である。コンフィグレーションレジスタ(Configurat
ion Register)のフォーマットは、図示のように、その
先頭にはデバイスID(Device ID)を格納するよう
構成されている。本具体例では、このデバイスIDの先
頭4ビットを、そのコンフィグレーションレジスタを有
するデバイスが拡張PCI仕様であるか、インテリジェ
ントデバイス/ノン−インテリジェントデバイスかを識
別するための値としている。
の説明図である。本具体例では、PCIコンフィグレー
ション空間に設けるコンフィグレーションレジスタのデ
バイスIDに、図9に示す拡張PCI仕様を設ける。即
ち、上位4ビットが16進数のA(1010)である場
合は、拡張PCI仕様のインテリジェントデバイスであ
り、16進数の5(0101)である場合は、拡張PC
I仕様のノン−インテリジェントデバイスである。ま
た、それ以外の値の場合は、拡張PCI仕様ではないデ
バイスであることを示している。尚、図中、×××は、
Don't Careを示している。
等、コンフィグレーションレジスタのフォーマット自体
は従来と同様であるため、ここでの各用語の説明は省略
する。
が、標準のPCI初期化処理に加えて、拡張PCI仕様
であるか、インテリジェントデバイス/ノン−インテリ
ジェントデバイスであるかの識別処理を行うよう構成さ
れている。
のPCIバスマスタの処理構造について説明する。標準
のPCI初期化処理は、図8に示すように、大きく分け
て、デバイスボード発見処理81、発見したデバイスの
有効化処理82、メモリ・I/O空間割当て処理83、
割り込み設定処理84の四つから構成されている。
準のPCI初期化処理に加え、以下の処理を追加する。
デバイスボード発見処理で、各デバイスのコンフィグレ
ーションレジスタのデバイスIDと、ベンダID(Vend
er ID)を確認する処理があるが、その部分に拡張P
CI仕様がサポートされているかを判断する処理85
と、確認したデバイスがインテリジェントデバイス3で
あるか、ノン−インテリジェントデバイス4であるかを
判断する処理86を追加する。
うち、先頭4ビットを用いて、拡張PCI仕様サポート
判断処理85とインテリジェントデバイス/ノン−イン
テリジェントデバイス識別処理86を行う。
に設けるコンフィグレーションレジスタのデバイスID
に、図9に示す拡張PCI仕様の識別データを格納す
る。
ィグレーションレジスタのデバイスIDを読み出し、そ
の上位4ビットにより、読み出しているコンフィグレー
ションレジスタが対応する機能がインテリジェントデバ
イス3であるかノン−インテリジェントデバイス4であ
るかを識別する。
である。先ず、PCIバスマスタは、PCIコンフィグ
レーションレジスタのデバイスIDを読込み(ステップ
S101)、その先頭4ビットが16進数のA(101
0)であるか比較する(ステップS102)。
(1010)であった場合は、以降、そのデバイスをイ
ンテリジェントデバイスとして扱う(ステップS10
3)。一方、ステップS102において、16進数のA
(1010)でなかった場合は、16進数の5(010
1)であるかを比較する(ステップS104)。
(0101)であった場合は、以降、そのデバイスをノ
ン−インテリジェントデバイスとして扱う(ステップS
105)。また、ステップS102において16進数の
A(1010)でなく、かつ、ステップS104におい
て16進数の5(0101)でもない場合、拡張PCI
仕様をサポートしていないデバイスであるとし、以降、
システムからアクセスできないよう切り離し処理を行う
(ステップS106)。
よれば、各デバイスを初期化する際に参照するコンフィ
グレーションレジスタの予め決められた先頭ビット数
を、拡張PCI仕様であるか、インテリジェントデバイ
スかノン−インテリジェントデバイスかを識別するため
の値としたので、以下のような効果が期待できる。
ンテリジェントデバイスかノン−インテリジェントデバ
イスかが固定されていない場合でも容易に判別すること
ができる。 (2)コマンド等のレスポンスの有無によって、インテリ
ジェントデバイス/ノン−インテリジェントデバイスを
識別する場合に比べて判断に要する時間が短い。 (3)標準のPCI初期化処理と同一の処理において、拡
張PCI仕様のデバイスであるかの判定が可能である。
ドライバの初期化時に使用する通信用作業領域を、デバ
イス側に設け、かつ、各機能にマッピングする領域の先
頭に設けたものである。
る。コミュニケーションエリア(Communication Area:
通信用作業領域)は、拡張PCIの初期化時にPCIバ
スマスタと各デバイスの機能間で通信するために使用す
る領域である。このコミュニケーションエリアは、PC
Iバスマスタと各デバイスの機能に対し各々一つ用意す
る。
用には、PCI空間の(00000000H)番地に固定的に割
り付ける。一方、各デバイスの機能毎には、各機能をマ
ッピングするPCI空間の先頭アドレスに割り当てる。
ュニケーションエリアを持つPCI機能に対して割り込
みを発生させる割り込み要求レジスタ(PCIInterrup
t Register(図中、PIRで示す))と、コミュニケー
ションエリアを持つPCI機能に対しての要求であるコ
マンドを格納するエリア1(Area1)と、エリア1に格
納するコマンドの引数を格納するエリア2(Area2)、
エリア3(Area3)からなる。
マスタからデバイスへのコマンド送信動作の説明図であ
る。PCIバスマスタは、送信先デバイスのコミュニケ
ーションエリアのエリア1に、拡張PCIコマンドを、
エリア2、エリア3にコマンドの引数をそれぞれ格納す
る(図中、で示す)。
である。図示のように、PCIバスマスタからの、受信
要求、受信応答、受信否定応答といったコマンドに対す
る設定値が決められている。尚、“H→S”がPCIバ
スマスタから各デバイスへの送信可能なデータ、“S→
H”が各デバイスからPCIバスマスタへの送信可能な
データである。また、ノン−インテリジェントデバイス
4に対して使用するコマンドは、リセット要求とファク
トリーリセット要求のみとなる。
先デバイスのコミュニケーションエリアのPIRに(OO
OOOOO1H)を書き込む(図中で示す)。これにより、
送信先デバイスに対して割り込みが発生する(図中、
で示す)。送信先デバイスは、割り込み中でコミュニケ
ーションエリアのエリア1から拡張PCIコマンドを、
エリア2、エリア3からコマンドに対応する引数を読み
出す(図中)。尚、PCIバスマスタは、各コマンド
の送信に対するレスポンスを2秒間でタイムアウトとす
る。タイムアウトとなった場合は原則として再送は行わ
ない。このため、コマンドを受けたデバイスは2秒以内
に応答する必要がある。
PCIバスマスタに拡張PCIコマンドを送信する場合
の説明図である。送信元デバイスは、送信元デバイスの
コミュニケーションエリアのエリア1に拡張PCIコマ
ンドを、エリア2、エリア3にコマンドの引数をそれぞ
れ格納する(図中、)。この場合のコマンドは、図1
3、図14中の“S→H”に示した通りである。
ュニケーションエリアのPIRに(OOOOOOO0H)以外の
値を書き込む(図中、)。図示例では(00000001H)
を書き込んでいる。これにより、PCIバスマスタでは
割り込みが発生する(図中、)。PCIバスマスタ
は、割り込み中でコミュニケーションエリアのエリア1
から拡張PCIコマンドを、エリア2、エリア3からコ
マンドに対応する引数を読み出す(図中、)。
スポンスを2秒間をタイムアウトとする。タイムアウト
となった場合は原則として再送は行わない。コマンドの
受信を受けたPCIバスマスタは、2秒以内に応答する
必要がある。
よれば、PCIデバイスドライバの初期化時に使用する
通信用作業領域をデバイス側に設け、かつ、各機能にマ
ッピングする領域の先頭に設けるようにしたので、以下
のような効果が期待できる。
共有メモリの先頭に集中しているため共有メモリを使用
しないデバイス(I/O空間のみ使用するデバイス)が
有っても最小限のメモリ領域を確保することで使用可能
となる。
共有メモリの先頭に集中しているため、各デバイスのメ
モリ空間の初期化がし易くなる。即ち、先頭領域を無条
件に通信用作業領域として認識すればよいため、初期化
処理においてPCIバスマスタ側の、各デバイスとやり
取りするための通信用作業領域を決定する処理を簡素化
することができる。
ア3が各デバイス側にあるため、PCIバスマスタは各
デバイスを独立して初期化することができる。即ち、P
CIバスマスタ側は、各デバイスの応答を待たずに初期
化処理を進めることができる。
CIヘッダ中に、次の送信データが連続するか否かを示
す連続フラグ(Continue Flag)を設定するようにした
ものである。
る。各デバイスには、送信側データ処理部の構成とし
て、送信データ受付部161、連続フラグ設定部(Cont
inue Flag設定部)162、コマンド送信処理部163
を、受信側データ処理部の構成として、コマンド判断処
理部164、連続フラグ判断処理部(Continue Flag判
断処理部)165、データコピー処理部166を備えて
いる。
信されるデータを受け取るための機能部である。連続フ
ラグ設定部162は、本具体例で新規に追加した機能部
であり、後述する連続フラグを設定する機能を有してい
る。
図である。PCIヘッダ(PCI Header)は、PCIヘッ
ダ同士をアドレスでつなぎ、リンク構造で管理する場合
に使用するネクストポインタ(Next Pointer)と、送信
するデータの先頭アドレスを示すデータエリアポインタ
(Data Area Pointer)と、送信するデータのサイズを
示すデータサイズ(Data Size)の各領域から構成され
る。そして、本具体例では、ネクストポインタの下位1
ビットを、そのデータが連続してコピーされる必要があ
るのか否かを示すための識別フラグF(連続フラグ)と
して使用するよう構成されている。
特に意味を持たないが、1にセットしてある場合、その
PCIヘッダが持つデータ領域と、ネクストポインタで
リンクするPCIヘッダの持つデータ領域は連続アドレ
ス空間にコピーされる必要があることを示している。
は、上位層から指定されたデバイスに対してデータを送
信するためのコマンドを送信する機能部である。
処理部164は、送信側から送られたコマンドを受信
し、その内容を解析する機能部である。連続フラグ判断
処理部165は、本具体例で新規に追加した機能部であ
り、送信側データ処理部の連続フラグ設定部162に対
応する受信側の構成である。データコピー処理部166
は、受信するデータをコピーする処理を行うための機能
部である。
位層は、通常プロトコル層を使用する。プロトコル層
は、データを送信する場合に上位層の用意したデータの
前にプロトコル層独自のヘッダ情報を添付する。この
時、上位層が用意したデータ領域の前の部分は必ずしも
未使用領域ではないため、プロトコル層のヘッダが挿入
できないという問題点が発生する。
のように、プロトコル層がデータを送信する際にヘッダ
情報の領域が空いていない場合、上位層の送信データを
他の空きエリアにコピーし、その領域にヘッダ情報を付
与する。ところが、このような手段を取る場合、上位層
の送信データは概して大量である場合が多いため、大量
であることを前提とする設計が必要である。これに対し
て、本具体例では、以下に示すような処理を行うことに
より、このような上位層の大量のデータをコピーするこ
となくヘッダ情報を挿入することが可能である。
ある。図20は、具体例4におけるデータ送信の概念を
示す説明図である。
て「受信要求」を示すコマンドを送信し、受信側は指定
されたデータをコピーする。コピー後、送信側に対して
「受信応答」を示すコマンドを送信する。
合に、指定するデータの先頭アドレスとサイズを通知す
る必要がある。そこで、本具体例では、図17に示した
ようなPCIヘッダを使用し、送信するデータを受信側
に通知する。
特に意味を持たないが、1にセットしてある場合、その
PCIヘッダが持つデータ領域と、ネクストポインタで
リンクするPCIヘッダの持つデータ領域は連続アドレ
ス空間にコピーされる必要があることを示している。
ッダ情報がデータ領域(A)、上位層の送信データがデ
ータ領域(B)となる。ここで、連続フラグがON(=
1)であるため、受信側では、連続アドレスにコピーす
る。
いものは、連続フラグをOFF(=0)とする。これに
より受信側では、所定のアドレスにデータをコピーす
る。
通常制限は存在しないが、プロトコル層の1回の送信サ
イズには制限があることが多い。よって、上位層の送信
データを複数に分割して送信する必要がある。このよう
な場合でも受信側としては受信データが分割せず、連続
した領域に一つの固まりとして受信できることが必要な
場合も多い。従って、このような場合においても、本具
体例により上位層の大量なデータをコピーすることなく
受信側へ効率のよい転送を行うことが可能となる。
連続フラグをON(=1)にし、更に、ネクストポイン
タにデータ領域(C)を管理するPCIヘッダをリンク
させ、更にデータ領域(D)を管理するPCIヘッダを
リンクさせる(データ領域(C)とデータ領域(D)は
図示省略している)。送信する上位層のデータを前半部
と後半部の二つに分割して送付すると仮定した場合、デ
ータ領域(D)を管理するPCIヘッダの連続フラグは
OFF(=0)となり、データ領域(A)とデータ領域
(C)がプロトコルヘッダ情報で、データ領域(B)が
上位層データ前半部、データ領域(D)が上位層データ
後半部となる。
受信側が送信側から「受信要求」コマンドを受信し、デ
ータブロックをコピーするが、コピーに失敗し、何回か
リトライしてもコピーが成功しない場合、受信側から
「受信否定応答」コマンドを送信する。送信側からこの
「受信応答」コマンドを受信した場合、データを修復で
きない場合は、送信を断念する。
よれば、PCIヘッダ情報としてネクストポインタの下
位ビットを連続データの識別を行うビットとしたので、
以下のような効果が期待できる。
は通常プロトコル層を使用する。この場合において、上
位層の大量なデータをコピーすることなく、プロトコル
層のヘッダ情報を上位層データの前の領域に挿入するこ
とが可能となる。
となく、送信側の連続したデータを受信側へ連続した一
つのデータとして転送することができ、受信側の効率の
よい処理を助けることが可能となる。
とにより、受信側はネクストポインタを先行して辿るこ
とにより、受信用の連続空間として必要なサイズをコピ
ー前に知ることができる。
を共通の手順で行うためのデバイス管理用テーブルの構
造に関するものである。
処理の説明図である。PCIバスを経由して接続してい
る複数のデバイス上に機能(Func)0〜機能(Func)5
までの6個の機能が搭載されているとする。そのそれぞ
れの機能に対して、次に示すような構造を持つデバイス
プロファイルを配列構造で機能数分だけ割り当てる。
である。図示のように、デバイスプロファイルは、各機
能の種類を識別するためのClassCodeと、デバイスプロ
ファイルのバージョンを特定するRev.と、送信先のメー
ルボックス(Mail Box)の先頭アドレスを特定するメー
ルボックスポインタ(&Mail Box)と、送信先処理に割
り込みを発生させる割り込み要求レジスタの先頭アドレ
スである割り込み要求レジスタポインタ(&PIR:以下、
PIRポインタという)と、自分宛のコマンドとその引
数を格納するメールボックス(Mail Box)と、コンフィ
グ アドレス フォーマット(CONFIG_ADDRESS Farma
t)と、フリーエリア(FREE Area)で構成されている。
x)の構造について説明する。図23は、メールボック
スポインタの構造を示す説明図である。図示のように、
各機能に対して割り当てられたデバイスプロファイルの
配列は、全システム内に存在する機能(Func)の数と同
数であり、配列の添え字(0〜5)は機能番号(Func0
〜Func5)に対応している。
デバイスプロファイルの配列を例に取ると、デバイスプ
ロファイル[0]のメールボックスポインタ(&Mail Bo
x)は、機能0のデバイスプロファイル[4]のメール
ボックス(Mail Box)の先頭アドレスを指す。
[1]のメールボックスポインタは、機能1のデバイス
プロファイル[4]のメールボックスの先頭アドレスを
指す。デバイスプロファイル[2]のメールボックスポ
インタは、機能2のデバイスプロファイル[4]のメー
ルボックスの先頭アドレスを指す。デバイスプロファイ
ル[3]のメールボックスポインタは、機能3のデバイ
スプロファイル[4]のメールボックスの先頭アドレス
を指す。デバイスプロファイル[4]のメールボックス
ポインタは、機能4のデバイスプロファイル[4]のメ
ールボックスの先頭アドレスを指す。デバイスプロファ
イル[5]のメールボックスポインタは、機能5のデバ
イスプロファイル[4]のメールボックスの先頭アドレ
スを指す。
[Y]のメールボックスポインタは、機能Yのデバイス
プロファイル[X]のメールボックスの先頭アドレスを
示している。つまり、各機能は、お互いに他の機能に対
するメールボックスを持つよう構成されている。
明する。図24は、PIRポインタの構造を示す説明図
である。機能4に割り当てられたデバイスプロファイル
の配列を例に取ると、デバイスプロファイル[0]のP
IRポインタは、機能0のPIRの先頭アドレスを指
す。
[1]のPIRポインタは、機能1のPIRの先頭アド
レスを指す。デバイスプロファイル[2]のPIRポイ
ンタは、機能2のPIRの先頭アドレスを指す。デバイ
スプロファイル[3]のPIRポインタは、機能3のP
IRの先頭アドレスを指す。デバイスプロファイル
[4]のPIRポインタは、機能4のPIRの先頭アド
レスを指す。デバイスプロファイル[5]のPIRポイ
ンタは、機能5のPIRの先頭アドレスを指す。
イル[X]のPIRポインタは、機能XのPIRの先頭
アドレスを示している。つまり、各機能はお互いに他の
機能に対するPIRポインタを持つよう構成されてい
る。
る。図25は、メールボックスの構造を示す説明図であ
る。機能4に割り当てられたデバイスプロファイルの配
列を例に取ると、機能0から機能4へのコマンド通知
は、デバイスプロファイル[0]のメールボックスに対
して行われる。尚、図中、デバイス1(Device1)中の
デバイスプロファイル(Device Profile)は、機能4の
デバイスプロファイルを示している。
ンド通知は、デバイスプロファイル[1]のメールボッ
クスに対して行われる。機能2から機能4へのコマンド
通知は、デバイスプロファイル[2]のメールボックス
に対して行われる。機能3から機能4へのコマンド通知
は、デバイスプロファイル[3]のメールボックスに対
して行われる。機能4から機能4へのコマンド通知は、
通常発生しないが、デバイスプロファイル[4]のメー
ルボックスに対して行われる。機能5から機能4へのコ
マンド通知は、デバイスプロファイル[5]のメールボ
ックスに対して行われる。
は、機能Yのデバイスプロファイル[X]のメールボッ
クスに対して行われる。つまり、各機能は、お互いに自
身に持つ他の機能宛のメールボックスにコマンド通知を
行うよう構成されている。
チャートである。送信側デバイスの機能は、送信先デバ
イスの機能が持つメールボックスのアドレスを調べる
(ステップS261)。調べたメールボックスアドレス
に対してメールを投函する(ステップS262)。次
に、メールボックスのMBArea1にPCIコマンド
を格納し、MBArea2にMBArea1に格納した
PCIコマンドに対応する第一引数を格納し、MBAr
ea3に第二引数を格納する処理をメールボックスにメ
ールを投函すると定義する。
ルボックスに格納したコマンドを受信させるために、送
信先のPIR先頭アドレスを調べる(ステップS26
3)。調べたPIRアドレスに対して0以外の数値を書
き込む(ステップS264)。このオペレーションによ
り、送信先に対して割り込みが発生する。
の機能を識別する(ステップS265)。通常、デバイ
スプロファイルのメールボックスをデバイスプロファイ
ル[0]から順にチェックする等の処理を行う。
PCIコマンドを解析し、コマンドの内容に沿った処理
に分岐する(ステップS266)。仮に、データの受信
要求であった場合は、MBArea2より第一引数とし
てデータの先頭アドレスを読み出し、MBArea3よ
り第二引数としてデータのサイズを読み出し、自分のワ
ークエリアに対してコピーする(ステップS267)。
イス上の機能に対応するメールボックスアドレスの調べ
方を説明する。
するメールボックスアドレスの調べ方の説明図である。
通信先のメールボックスアドレスは、通信元が持ってい
るデバイスプロファイル一式の中に存在している。通信
元のデバイスプロファイル一式中で、送信先に対応する
デバイスプロファイル中に、送信先のデバイスプロファ
イル一式中で送信元に対応するデバイスプロファイルの
メールボックスアドレスが格納されている。
コマンドを送信する場合を例とすると、機能0に割り当
てられているデバイスプロファイル配列のデバイスプロ
ファイル[4]中のメールボックスの先頭アドレスを格
納している。よって、機能4は機能0に対してPCIコ
マンドを送信する場合は、自分に割り当てられているデ
バイスプロファイル[0]のメールボックスポインタを
参照することにより、目的のメールボックスアドレスを
得ることができる。
クスへのメールを投函する処理を説明する。図28は、
そのメールボックスへのメール投函処理の説明図であ
る。
送信するためにメールを送信する場合を例とする。機能
4は機能3が割り当てられたデバイスプロファイル配列
のデバイスプロファイル[4]中のメールボックスに対
して、MBArea1に「受信要求」を示すコマンド
を、MBArea2に送信データ先頭アドレスを、MB
Area3に送信データサイズを格納する。
イス上の機能に対応するPIRアドレスの調べ方を説明
する。図29は、その送信先デバイス上の機能に対応す
るPIRアドレスの調べ方の説明図である。
ているデバイスプロファイル一式の中に存在している。
通信元のデバイスプロファイル一式中で、送信先に対応
するデバイスプロファイル中にPIRアドレスは格納さ
れている。
を送信する場合を例とすると、機能0が割り当てられて
いるデバイスプロファイル配列のデバイスプロファイル
[0]中のPIRポインタ(&PIR)を参照することによ
り、機能4は機能0に対して割り込みを発生させること
が可能となる。
ば、各機能間の通信を共通の手順で行うためのデバイス
管理用テーブルを備えるようにしたので、以下のような
効果が期待できる。
る。 (1)図30に示すような接続環境において任意の機能か
らPCIバスマスタ上の機能への通信、複数機能を搭載
するデバイス上のそれぞれの機能への通信、単一機能を
搭載するデバイス上の機能への通信、そして、自デバイ
ス上の他の機能への通信を共通の手順で実現することが
可能となる。
バスマスタを経由しなければならない必要がないため、
PCIバスマスタの通信における負荷を減少させること
ができる。
るデバイス管理用テーブルの作成手段に関するものであ
る。
処理を示す説明図である。図示のように、PCIバスマ
スタは、コピー先アドレス問い合わせ処理部311と、
メールボックスポインタ計算処理部312を備えてい
る。
は、各インテリジェントデバイスの機能に対して、配布
するデバイスプロファイルのサイズと個数とを通知する
ことによりコピーする先頭アドレスを入手する機能を有
している。また、メールボックスポインタ計算処理部3
12は、コピー先アドレス問い合わせ処理部311で求
めたコピーする先頭アドレスに基づき、配布するデバイ
スプロファイルのメールボックスポインタを求める機能
を有している。
たデバイスプロファイル配列の作成をより効率的に行う
ようにしたものである。
全てPCIバスマスタで行う。PCIバスマスタは、各
デバイスプロファイル配列作成後に、各インテリジェン
トデバイスに対してデバイスプロファイル配列を割り当
てる。
についてその手順を説明する。メールボックスポインタ
の決定は以下の手順で行う。 (1)デバイスプロファイル配列のコピー先アドレス問い
合わせ処理 (2)メールボックスポインタ計算処理
311が行うデバイスプロファイル配列コピー先アドレ
ス問い合わせ処理について説明する。図32は、デバイ
スプロファイル配列のコピー先アドレス問い合わせ処理
の説明図である。図33は、デバイスプロファイル配列
のコピー先アドレス回答処理の説明図である。
Iバス上に存在する全てのインテリジェントデバイスに
対して図32に示す手順でデバイスプロファイル配列の
コピー先アドレスを問い合わせる。
イスプロファイル配列中のデバイスプロファイルの個数
と、デバイスプロファイル配列全体のサイズを割当先イ
ンテリジェントデバイスへ通知する。この通信手順は、
具体例3で説明した方法を使用した例である。
ファイルに関する情報を受け取ったインテリジェントデ
バイスは、図33に示す手順で、デバイスプロファイル
配列のコピー先アドレスを回答する。本通信手順も具体
例3で説明したものを使用した例である。
理の説明図である。先ず、図34において、PCIバス
マスタが全てのデバイスプロファイル配列のメールボッ
クスポインタを求める概念について説明する。
ている全機能に対してデバイスプロファイル配列を作成
する。例として、機能1(Func1)用のデバイスプロフ
ァイル配列を作成する場合を想定する。
ルボックスポインタを、デバイスプロファイル[1]は
自分用なので省略し、次にデバイスプロファイル[2]
のメールボックスポインタを、そして全機能分のメール
ボックスポインタを決定する。
メールボックスポインタを設定する場合を想定する。先
ず、デバイスプロファイル[2]は、機能2(Func2)
に送信する場合のメールボックスのアドレスでなければ
ならないため、デバイスプロファイル配列を機能2にコ
ピーしたと仮定する(図中、で示す)。次に、機能1
が各機能にPCIコマンドを送信する場合は、各機能が
持つデバイスプロファイル配列の1番に書き込むわけな
ので、デバイスプロファイル[1]が対象となる(図
中、で示す)。
ァイル[1]中のメールボックスポインタのアドレスを
求める(図中、で示す)。求めたアドレスは作成中の
機能1用に割り当てるデバイスプロファイル[2]にお
けるメールボックスポインタに格納する(図中、で示
す)。
プロファイル配列を機能2にコピーしたと仮定する」処
理を、デバイスプロファイル配列コピー先アドレスを問
い合わせることにより求めている。
ボックスポインタの設定手順を説明する。図35は、P
CIバスマスタの具体的なメールボックスポインタの設
定手順を示す説明図である。先ず、作成するデバイスプ
ロファイル配列を割り当てる機能番号をカレント番号と
してXに設定する(ステップS351)。次に、最後の
機能分の作成が終了したかを判断する(ステップS35
2)。ここで、全機能分のデバイスプロファイル配列の
作成が終了した場合は本処理を終了する。
プロファイル配列が全て作成終了しているかを判断する
(ステップS353)。ここで、デバイスプロファイル
配列の作成が終了している場合は、ステップS357に
移行する。
機能が、インテリジェントデバイスであるかノン−イン
テリジェントデバイスであるかを判断する。即ち、機能
1に対応するデバイスプロファイルはデバイスプロファ
イル[1]、機能2に対応するデバイスプロファイルは
デバイスプロファイル[2]である。
がノン−インテリジェントデバイスである場合はステッ
プS356に移行する。一方、ステップS354におい
て、対応する機能がインテリジェントデバイスである場
合は、メールボックスアドレスを算出し、デバイスプロ
ファイルのメールボックスポインタに格納する(ステッ
プS355)。現在カレントになっている機能番号を
X、デバイスプロファイルのサイズをZ、デバイスプロ
ファイルの先頭からメールボックスまでのオフセットを
M、現在処理しているデバイスプロファイル配列の添え
字をyとし、前工程で機能yから受信したデバイスプロ
ファイル配列コピー先アドレスをYとすると、メールボ
ックスアドレスは以下の式で求められる。
プS356)、その後、ステップS353に戻る。ここ
で、移動は、同一の機能用に作成しているデバイスプロ
ファイル配列中で一つ増加する方向へ移る。
ファイルの残りがなかった場合、作成しているデバイス
プロファイル配列を割り当てる機能を次に移動する(ス
テップS357)。移動は、デバイスプロファイルの添
え字を0に戻し、機能番号を一つ増加する方向へ移る。
その後、ステップS352に移行する。
ば、PCIバスマスタがデバイス管理用テーブルを作成
して各インテリジェントデバイスに配布するようにした
ので、次のような効果が期待できる。
をPCIバスマスタが行うため、各々のデバイスの開発
が容易となる。 (2)デバイスプロファイルの構造に項目が追加された場
合でも、PCIバスマスタ以外のデバイスの処理を変更
する必要がない。
る割り込み要求レジスタ(PIR)のビットを各機能に
割り当てるようにしたものである。
求レジスタの構成図である。具体例7は、具体例5の構
成に加えて、図36に示すような割り込み要求レジスタ
を備えたものである。
位ビット31がセット・クリアを示すフラグとなってお
り、ビット0〜ビット30のいずれかに1をセットし、
最上位ビット31に1をセットすることによりビット0
〜ビット30に対してセットした1が反映され、このP
IRが持つシステムに対して割り込みを発生させるよう
構成されている。
された1は、反映されたビットを1にし、最上位ビット
31に0をセットすることにより、0にクリアすること
ができるよう構成されている。このような仕様を持つ割
り込み要求レジスタを各インテリジェントデバイスに対
して一つ設ける。
スを使用する通信方法を使用した場合を例として以下に
説明する。図37は、送信側が行うPCIの割り込み要
求レジスタの使用方法の説明図である。図示例では、機
能4(Func4)が機能3(Func3)にコマンドを通知す
る処理を例としている。
イスは、送信するデータの情報(「受信要求」を示すコ
マンド、データの先頭アドレス、データのサイズ)を規
定されたメールボックスに対して格納する。
めに機能3が持つPIRに対して決められた値を書き込
む。PIRに0以外の値が書き込まれたことにより機能
3に割り込みが発生する。
づけの説明図である。PIRの各ビットは、同一PCI
バス上に接続された各機能にそれぞれ対応している。ビ
ット0が機能0に、ビット1が機能1に、ビット2が機
能2にといったように、以下同様にしてビット30が機
能30の機能に対応する。但し、この対応は、ハードウ
ェア的な結線とは関係なくソフトウェア上で対応させて
いる状態を示す。
ット30は各機能に対応しているが、ビット31は〈構
成〉の項で説明したように、ビット0〜ビット30に対
してセットされた1のデータが割り込みを要求するもの
か、解除するものかを指定するビットとなっている。ビ
ット0〜ビット30に対する0の書き込みは何の意味も
なさない。よって、このレジスタが、(00000000 00000
000 00000000 10010000)である時に、(10000000 0000
0000 00000000 00000001)を書き込んだ時には(000000
00 00000000 00000000 10010001)となる構造を持つ。
即ち、セット時は各ビットのORとなる。
ち、1のデータのビットがクリアされる。例えば、図示
のように、(X0000000 00001000 10001000 10001000)
である時に、(00000000 00000000 00000000 1111111
1)を書き込んだ時には、ビット0〜ビット7の値がク
リアされるため、(X0000000 00001000 10001000 00000
000)となる。
た値を説明する。図39は、送信先のPIRに書き込む
決められた値を示す説明図である。機能1が他の機能に
対して割り込みを入れる場合は、固定的にビット1とビ
ット31のみを1にしたデータを割り込み先のPIRに
対して書き込む。このことにより、受信側で割り込み要
求を出した機能を特定することが可能となる。
タより配布されたデバイスプロファイル配列とした時の
添え字に該当する。よって、ダイナミックに割り当てら
れる数値である。
タの使用方法を説明する。図40は、その受信側が行う
PCIの割り込み要求レジスタの使用方法の説明図であ
る。
の値を読み込む。PIR中のデータは、図39に示すよ
うに割り込みの要求元を示している。機能4により割り
込みが要求された場合は、PIRのビット4が1にセッ
トされている。機能3は、PIRのビット4が1にセッ
トされていることにより、割り込みの要求元が機能4で
あることを知ることができる。
かることにより、機能4が対応するデバイスプロファイ
ル[4]のメールボックスにコマンドを格納しているこ
とを知り、コマンドを読み出し、コマンドの解析処理へ
移行する。
点で、複数の機能から割り込み要求が極めて短い時間に
発生した場合に複数のビットが1にセットされている可
能性がある。このような場合にも本具体例は対応するこ
とができる。
ば、PIRの各ビットを、それぞれ各機能と一意に対応
づけるようにしたので、以下のような効果が期待でき
る。
は、PIRをチェックするだけでコマンド送信元のデバ
イス(機能)を特定することができる。 (2)複数の機能から割り込み要求が極めて短い時間に発
生した場合に複数のビットが1にセットされている可能
性があるが、特別な対応なく同じ手順で対応することが
できる。
に、次の送信データの情報と、データエリアのポインタ
と、データサイズとを備えるようにしたものである。
Iヘッダの構成図である。PCIヘッダ(PCI Header)
は、PCIヘッダ同士をアドレスでつなぎ、リンク構造
で管理する場合に使用するネクストポインタ(Next Poi
nter)と、送信するデータの先頭アドレスを示すデータ
エリアポインタ(Data Area Pointer)と、送信するデ
ータのサイズを示すデータサイズ(Data Size)の各領
域から構成される。尚、このPCIヘッダの構造は具体
例4で説明したPCIヘッダと基本的に同様である。
的概念を示す説明図である。データ送信側のインテリジ
ェントデバイスは、受信側のインテリジェントデバイス
に対して送信するデータの情報(データ先頭アドレス、
データサイズ)と共にデータ「受信要求」を示すコマン
ドを送信する。
認識すると、データの情報(データ先頭アドレス、デー
タサイズ)を元にデータのコピーを行う。データのコピ
ー後、受信側は受信完了を送信側に対して連絡するため
「受信応答」を示すコマンドを送信する。
本となっている。よって、送信側は、送信したコマンド
に対する応答が受信側より来る前に次のコマンドを送信
することができない仕組みになっている。この仕組みの
長所は確実なデータ転送ができる点にあるが、データの
高速転送には不向きである。
ことなく高速な転送手段を提供する。先ず、本具体例で
使用するPCIデータの構造を図41を用いて説明す
る。
扱わず、図に示すPCIヘッダを使用しデータを管理す
る。PCIヘッダは、データを先頭アドレスとデータサ
イズにより管理する。更に、上述したように、PCIヘ
ッダ同士をリンクするネクストポインタを含む構造を持
っている。
速転送を行う手順を以下に説明する。送信側は、一つの
「受信要求」を示すコマンドに対する「受信応答」を示
すコマンドを受信するまでは、上位層より送信要求が来
ても同一の受信側に対しては「受信要求」を発信するこ
とはできない。
のシーケンスを示す説明図である。送信元PCIデバイ
スドライバは、最初の送信データ(1)を上位層から受
け付けると、PCIヘッダをデータ(1)にリンクさせ
る(図中、で示す)。この時点でPCIヘッダには0
を代入する。
デバイスドライバに対して「受信要求」コマンドを送信
する(図中で示す)。送信元デバイスドライバは、受
信側デバイスドライバからの「受信応答」コマンドを受
信する前に次の送信データ(2)を上位層より受け付け
ると、PCIヘッダをデータ(2)にリンクさせ(図
中、で示す)、データ(1)を管理しているPCIヘ
ッダのネクストポインタをデータ(2)を管理している
PCIヘッダの先頭にリンクさせる(図中、で示
す)。送信元デバイスドライバは、受信側デバイスドラ
イバから「受信応答」コマンドを受信する前に更に次の
送信データ(3)を上位層より受け付けると、PCIヘ
ッダをデータ(3)にリンクさせ、データ(2)を管理
しているPCIヘッダのネクストポインタをデータ
(3)を管理しているPCIヘッダの先頭にリンクさせ
る(図中、で示す)。以上のように、受信側PCIデ
バイスドライバからの「受信応答」コマンドを受信する
までこのような操作を繰り返す。
タを見るタイミングにより、リンクしたことが受信側に
認識されない場合が発生する。このような場合を次に説
明する。
されない場合の説明図である。図において、のタイミ
ングと前後して受信側からデータ(2)まで受信完了し
たことを示す「受信応答」コマンドを受信すると(図
中、で示す)、送信側インテリジェントデバイスは、
データ(3)からの「受信要求」コマンドを送信する
(図中、で示す)。送信側は以上の処理が全てとな
る。
説明する。図45は、連続送信時の受信側のシーケンス
を示す説明図である。受信側のPCIデバイスドライバ
は、送信側PCIデバイスドライバから「受信要求」コ
マンドを受信すると(図中、で示す)、コマンドの引
数であるPCIヘッダの先頭アドレスと、PCIヘッダ
のサイズからPCIヘッダのコピーを行う(ステップS
451)。送信側上位層からの送信データの情報(先頭
アドレス、データサイズ)は、PCIヘッダ中で管理さ
れているため、PCIデバイスドライバ間でやり取りす
るコマンドの引数はPCIヘッダの情報となる。
受信したPCIヘッダの管理する情報からデータの
(1)の先頭アドレスとデータサイズを読み出す(ステ
ップS452)。そして、その情報に従いデータをコピ
ーする(ステップS453)。
したPCIヘッダの管理する情報からネクストポインタ
を読み出しNULLであるか判断する(ステップS45
4)。NULLである場合は後続のデータが存在しない
ことを意味するので、ステップS458に移行する。N
ULLでない場合は、後続のデータが存在することを意
味するので、ステップS455に移行する。受信側のP
CIデバイスドライバは、受信したPCIヘッダの管理
する情報からデータ(2)の先頭アドレスとデータサイ
ズを読み出す(ステップS456)。そして、その情報
に従いデータをコピーする(ステップS457)。
で「受信要求」コマンドを受信してから一定時間内に
「受信応答」コマンドを送信する必要がある。図では、
データ(2)を受信したところでタイムアウトが迫った
ため、データ(3)の受信をあきらめ、応答を送信側P
CIデバイスドライバへ返している(ステップS45
8)。
データコピーの完了時に行い、PCIヘッダのネクスト
ポインタがNULLである場合も応答の送信を行う。
次々に先読みし、予め受信するデータの総容量を見積
り、その後にデータをコピーする手段をとることもでき
る。
見積り、その後にデータをコピーする場合の説明図であ
る。即ち、図示のように、受信側PCIデバイスドライ
バでは、ネクストポインタが0となるまでPCIヘッダ
をコピーし(ステップS461〜ステップS464)、
その後データをコピーする(ステップS465〜ステッ
プS468)。尚、ネクストポインタが0か、コマンド
受信から2秒以内に受信応答を行う(ステップS46
9)のは、上記の連続送信時の受信側のシーケンスと同
様である。
ド・レスポンスに対して一つのデータを送受信すること
も問題なくできる。つまり、本具体例の通信方式では受
信側の受信方法を柔軟に作成することができる。これ
は、様々なデバイスを接続しなければならないPCIバ
ス間の通信方法としては重要な項目である。
ば、PCIヘッダ中に、次の送信データの情報と、デー
タエリアのポインタと、データサイズとを備えるように
したので、以下に示すような効果が期待できる。
一組のコマンド・レスポンスを必要としないため、高速
なデータ転送を実現することができる。 (2)一定時間毎にレスポンスを出すことのみが決まって
いるだけであるため、受信側の受信方法を柔軟に作成す
ることができる。これは、様々なデバイスを接続しなけ
ればならないPCIバス間の通信方法としては重要な項
目である。
うヘッダ情報中に、ヘッダのサイズを示す情報と、ヘッ
ダ情報のバイト数が特定の値の倍数となるような可変長
のデータであるパディングとを付加するようにしたもの
である。
デバイスドライバの上位層としてゲート層を定義する。
ゲートヘッダ(Gate Header)が付いたデータをゲート
パケット(Gate Packet)として図示の構成をとる。ゲ
ートヘッダは、ヘッダテールに上位層データの境界を調
節するパディング(Padding)領域と、そのパディング
領域を含めたゲートヘッダサイズを示すヘッダサイズ
(Header Size)領域を持つことを特徴とする。
る。図示のように、ゲートヘッダは、ヘッダテールに上
位層データの境界を調節するパディング領域と、このパ
ディング領域を含めたゲートヘッダサイズを示すヘッダ
サイズ領域を持つ。
通信システムでは、送信データは、上位層データと、プ
ロトコル層のヘッダ情報と、下位層(デバイスドライバ
等)ヘッダとがアドレス的に接した構造をとっている。
りの場合の説明図であり、(a)はパディング無し、
(b)はパディングありの場合である。図の(a)に示
すような階層構造で構成されている場合、プロトコル層
で選択されるプロトコルによってヘッダのサイズが4バ
イト境界に揃わない場合が多い。これにより、上位層デ
ータが4バイト境界に揃わなくなり、このようなデータ
を受信した上位層は、DMA等の高速データ転送手段が
使用できなくなる。
ル層)との通信経路を制御するゲート層をデバイスドラ
イバとプロトコル層の間に設け、そのヘッダ構造にパデ
ィング領域を設ける。このパディング領域を使用するこ
とにより、プロトコル層のヘッダ情報部のサイズに関係
なく、全データ若しくは上位層データの開始位置を4バ
イト境界に揃えることができる。
の送信手順では、4バイト境界に沿って上位層が送信デ
ータを作成する。次に上位層データの前部に接するよう
にプロトコル層のヘッダ情報を作成する。
た時点の動作を示すフローチャートである。ゲート層
は、プロトコル層からの送信データを受信すると(ステ
ップS501)。受信した送信データの先頭アドレスを
4で割り、その余りを計算する(ステップS502)。
その余りが0であった場合は、パディングの添付は行わ
ず、ヘッダサイズにゲートヘッダのサイズである12を
格納する(ステップS503)。
った場合、送信データの先頭アドレスの最後の数値は
1、5、9、Dのどれかであるから、パディングを一つ
添付する(ステップS504)。そして、ヘッダサイズ
にゲートヘッダのサイズである12+1を格納する(ス
テップS505)。
った場合、送信データの先頭アドレスの最後の数値は
2、6、A、Eのどれかであるから、パディングを二つ
添付する(ステップS506)。そして、ヘッダサイズ
にゲートヘッダのサイズである12+2を格納する(ス
テップS507)。
った場合、送信データの先頭アドレスの最後の数値は
3、7、B、Fのどれかであるから、パディングを三つ
添付する(ステップS508)。そして、ヘッダサイズ
にゲートヘッダのサイズである12+3を格納する(ス
テップS509)。
ライバ(PCIデバイスドライバ)から受信データを受
け取った時点の動作について説明する。
ートである。ゲート層は、デバイスドライバが受信した
データを受け取ると(ステップS511)、ゲートヘッ
ダ中のヘッダサイズをチェックする(ステップS51
2)。その値が12である時、ゲートヘッダにパディン
グは付いていないと判断し、プロトコル層へ渡すアドレ
スを受信データ先頭アドレスにゲートヘッダ分を加えた
位置に移動させる。
の値が13である時、ゲートヘッダにパディングが一つ
付いていると判断し、プロトコル層に渡すアドレスを受
信データ先頭アドレスにゲートヘッダ+2を加えた位置
に移動させる(ステップS514)。
の値が14である時、ゲートヘッダにパディングが二つ
付いていると判断し、プロトコル層に渡すアドレスを受
信データ先頭アドレスにゲートヘッダ+3を加えた位置
に移動させる(ステップS515)。
の値が15である時、ゲートヘッダにパディングが三つ
付いていると判断し、プロトコル層に渡すアドレスを受
信データ先頭アドレスにゲートヘッダ+3を加えた位置
に移動させる(ステップS516)。
ップS516で求めた先頭アドレスをプロトコル層へ通
知する(ステップS517)。
ば、自層の処理を行うヘッダ情報中に、ヘッダのサイズ
を示す情報と、ヘッダ情報のバイト数が特定の値の倍数
となるような可変長のデータであるパディングとを付加
するようにしたので、以下のような効果が期待できる。
に関係なく、上位層データの開始位置を4バイト境界に
揃えることができる。 (2)プロトコル層のヘッダ情報部に関係なく、全データ
の開始位置を4バイト境界に揃えることができる。
ジェントデバイスに、システムの初期化を行う機能を備
えるようにしたものである。
び処理の説明図である。具体例10は、具体例1の構成
に対し、PCIバスマスタが唯一の初期化時に暫定的に
初期化の主導権を持つ初期化時暫定マスタの機能を持つ
点と、その他デバイスが他のデバイスを初期化する機能
を持つ点とを付加している。
ゲートID振り分け処理と、マスタ募集処理とを行うよ
う構成され、デバイス側は、ゲートID入手処理と、マ
スタへの立候補処理とを行うよう構成されている。ま
た、デバイス側は、デバイスマスタが自身に決定した場
合は、他のデバイスの初期化処理を行うよう構成されて
いる。
ライバレベルの初期化をPCIバスマスタが行った後
に、暫定的に初期化の主導権を持つ初期化時暫定マスタ
機能がPCIバスマスタの上位層として動作する。
するためのIDを割り当てる処理を実行する。次に暫定
初期化以降の初期化の主導権を持つマスタの募集処理を
実行する。この時に、PCIバスマスタ以外のデバイス
はマスタになるための機能を有している場合は初期化時
暫定マスタからのマスタ募集に対して立候補することが
できる。そして、初期化時暫定マスタからマスタ権を譲
られた場合には、今後マスタとなり、全システム間の初
期化を取りまとめる。初期化時暫定マスタは、他のデバ
イスにマスタ権を譲った場合は、以降一般のデバイスと
して動作する。
スマスタと定義し、新しいデバイスマスタを決定するま
での手順を以下に説明する。
明図である。先ず、PCIバスマスタが持つ初期化時暫
定マスタの処理について説明する。初期化時暫定マスタ
は、各インテリジェントデバイスに対してマスタを募集
することを示す「デバイスマスタ募集」コマンドを送信
する(ステップS531a)。そのコマンドの応答とし
てマスタになることができる/またはできないことを意
味する「デバイスマスタ応募」コマンドを受信する(ス
テップS532a)。
た全てのインテリジェントデバイスより、「デバイスマ
スタ応募」コマンドを受信すると、その中から一つマス
タとなるインテリジェントデバイスを選定する(ステッ
プS533a)。
インテリジェントデバイスに対しては、以降のデバイス
間初期化を依頼することを示す「デバイスマスタ決定」
コマンドを、それ以外のインテリジェントデバイスに対
しては、マスタとして選定しなかったことを示す「デバ
イスマスタ不採用」コマンドを送信する(ステップS5
34a)。
処理について説明する。各インテリジェントデバイス
は、初期化時暫定マスタからの「デバイスマスタ募集」
コマンドを受信すると(ステップS531b)、自機能
の中にデバイスマスタ機能が含まれているかを確認する
(ステップS532b)。含まれていない場合は引数で
マスタに立候補しないことを示して初期化時暫定マスタ
に対して「デバイスマスタ応募」コマンドを送信する
(ステップS533b)。引数を使用する代わりにマス
タに応募しないことを示す「デバイスマスタ非応募」コ
マンドを使用してもよい。
は「デバイスマスタ非応募」コマンドを、初期化時暫定
マスタに送信した後に、初期化時暫定マスタより「デバ
イスマスタ決定」コマンドまたは、「デバイスマスタ不
採用」コマンドを受信する(ステップS534b)。
「デバイスマスタ決定」コマンドを受信した場合は、以
降マスタとなり、システム間初期化の主導権を取る。
「デバイスマスタ不採用」コマンドを受信した場合は、
引き続き一般のデバイスとして動作する。
バイスドライバの上位にゲート層を設けている。ゲート
層は主に複数の上位層(プロトコル層)と複数の下位層
(デバイスドライバ)間の経路選択、経路制御を行う階
層である。
化後、ゲートの通信機能を使用して各システム間のその
他のイニシャルの主導権を握る。組み込み上、ゲート自
身がデバイスマスタとしての機能を持つ必要はないが、
以下のデバイスマスタの動作例ではデバイスマスタ機能
がゲートに存在するものとして説明する。
件を示す説明図である。デバイスマスタは自システムの
上位層が各システム間で初期化を行う時のキック(起
動)をかける処理を受け持つ。各システム上の全ての上
位層は、システム間で初期化開始を行う場合、デバイス
マスタからの初期化開始要求を使用することにより他の
システム上の同一上位層との同期を取ることができ、双
方で初期化を開始してしまう等の問題を回避できる。
説明図である。本具体例では、上位層間初期化を行う上
位層の例としてXXXマネージャ、YYYマネージャを
使用する(XXXマネージャ、YYYマネージャは任意
の上位層)。
権付き)初期化要求」を発信する。ここでは、XXXマ
ネージャとYYYマネージャに対して行っている。スレ
ーブゲートは、上位層に対して「(主導権なし)初期化
要求」を出す(出す/出さないは各システムのプログラ
ム仕様による)。
導権付き)初期化要求」を受信したXXXマネージャ、
YYYマネージャはそれぞれ他システムのXXXマネー
ジャ、YYYマネージャに対して主導権を持ち初期化を
行っている。
ば、システムの初期化を行うデバイスをPCIバスマス
タ固定ではなく、各デバイス間とのやり取りで決定し、
他のデバイスが受け持つことができるようにしたので、
以下の効果が期待できる。
等の関係にあるシステムを開発し、バスに接続する場合
にそのシステムにデバイスマスタを持たせる構造で開発
することができるため、開発単位としてまとまる効果が
ある。よって、そのシステムの開発が容易になり、アウ
トソーシング等の戦略が取りやすい。
に動作しない場合のバックアップ機能となる。よって、
全システムの信頼性、保全性が向上する。
示す構成図である。
ア階層構造を示す説明図である。
説明図である。
ビスの認識処理の説明図である。
タと拡張PCI初期化処理の説明図である。
る。
のコマンド送信動作の説明図である。
スタに拡張PCIコマンドを送信する場合の説明図であ
る。
明図である。
である。
ックスアドレスの調べ方の説明図である。
である。
ドレスの調べ方の説明図である。
る。
ス問い合わせ処理の説明図である。
ス回答処理の説明図である。
ある。
ポインタの設定手順を示す説明図である。
ある。
の使用方法の説明図である。
である。
す説明図である。
の使用方法の説明図である。
る。
ある。
図である。
の説明図である。
図である。
後にデータをコピーする場合の説明図である。
る。
明図である。
を示すフローチャートである。
トである。
る。
図である。
る。
Claims (11)
- 【請求項1】 単独ではPCI通信機能を持たないノン
−インテリジェントデバイスと、 PCIバス経由の通信機能を有し、前記ノン−インテリ
ジェントデバイスをオーナとして管理し、当該ノン−イ
ンテリジェントデバイスに対する他のデバイスからのア
クセス要求を中継するインテリジェントデバイスとを備
えたことを特徴とするPCIバス制御システム。 - 【請求項2】 請求項1に記載のPCIバス制御システ
ムにおいて、 インテリジェントデバイスおよびノン−インテリジェン
トデバイスは、 各デバイスを初期化する際に参照するコンフィグレーシ
ョンレジスタの予め決められた先頭ビット数を、インテ
リジェントデバイスかノン−インテリジェントデバイス
かを識別するための値とすることを特徴とするPCIバ
ス制御システム。 - 【請求項3】 請求項1または2に記載のPCIバス制
御システムにおいて、 PCIバスの共有メモリ領域に、インテリジェントデバ
イスおよびノン−インテリジェントデバイスにおけるP
CIデバイスドライバの初期化時に使用する通信用作業
領域を設け、かつ、当該通信用作業領域を各デバイスの
メモリ領域の先頭に設けたことを特徴とするPCIバス
制御システム。 - 【請求項4】 請求項2に記載のPCIバス制御システ
ムにおいて、 先頭ビット数は、各機能にマッピングする領域の先頭に
設けた、PCIデバイスドライバの初期化時に使用する
通信用作業領域を有するか否かを示す値であることを特
徴とするPCIバス制御システム。 - 【請求項5】 請求項1〜4のいずれかに記載のPCI
バス制御システムにおいて、 送信側デバイスから受信側デバイスへの送信データの先
頭に、次の送信データのPCIヘッダの先頭アドレスを
示すネクストポインタと、当該送信データにおけるデー
タエリアのアドレスを示すデータエリアポインタとを示
すPCIヘッダを備え、かつ、前記ネクストポインタの
最下位ビットを、送信データが連続するか否かを示すフ
ラグとしたことを特徴とするPCIバス制御システム。 - 【請求項6】 請求項1〜5のいずれかに記載のPCI
バス制御システムにおいて、 PCIバスマスタおよびインテリジェントデバイスは、 全システム内に存在する機能と一意に対応づけられ、各
機能毎に設けられたデバイスプロファイルを有し、 各デバイスプロファイルは、送信先のメールボックスの
アドレスを示すメールボックスポインタと、送信先の処
理に割り込みを発生させる割り込み要求レジスタのアド
レスを示す割り込み要求レジスタポインタと、自分宛の
コマンドとその引数を格納するメールボックスとを備
え、 機能XのデバイスプロファイルYのメールボックスポイ
ンタは、機能YのデバイスプロファイルXのメールボッ
クスのアドレスを示し、各機能のデバイスプロファイル
Xの割り込み要求レジスタポインタは、機能Xの割り込
み要求レジスタのアドレスを示すよう構成されているこ
とを特徴とするPCIバス制御システム。 - 【請求項7】 請求項6に記載のPCIバス制御システ
ムにおいて、 PCIバスマスタは、 各インテリジェントデバイスの機能に対して、配布する
デバイスプロファイルのサイズと個数とを通知すること
によりコピーする先頭アドレスを入手するコピー先アド
レス問い合わせ処理部と、 前記コピーする先頭アドレスに基づき、配布するデバイ
スプロファイルのメールボックスポインタを求めるメー
ルボックスポインタ計算処理部とを備えたことを特徴と
するPCIバス制御システム。 - 【請求項8】 請求項6または7に記載のPCIバス制
御システムにおいて、 割り込み要求レジスタの各ビットは、それぞれ、各機能
と一意に対応づけられ、かつ、各機能が他の機能に対し
て割り込みを要求する場合は、自身のビットに書き込み
を行うよう構成されていることを特徴とするPCIバス
制御システム。 - 【請求項9】 請求項1〜4、6〜8のいずれかに記載
のPCIバス制御システムにおいて、 送信側デバイスから受信側デバイスへの送信データの先
頭に、次の送信データのPCIヘッダの先頭アドレスを
示すネクストポインタと、当該送信データにおけるデー
タエリアのアドレスを示すデータエリアポインタと、当
該送信データのデータサイズとを示すPCIヘッダを備
えたことを特徴とするPCIバス制御システム。 - 【請求項10】 請求項1〜9のいずれかに記載のPC
Iバス制御システムにおいて、 PCIバスマスタおよびインテリジェントデバイスは、 階層処理構造における自層の処理を行うヘッダ情報中
に、ヘッダのサイズを示す情報を含むと共に、当該ヘッ
ダ情報の総データ量が特定の値の倍数となるように可変
長のデータであるパディングを付加するようにしたこと
を特徴とするPCIバス制御システム。 - 【請求項11】 請求項1〜10のいずれかに記載のP
CIバス制御システムにおいて、 インテリジェントデバイスは、 予め決められた初期化時暫定マスタよりデバイスマスタ
募集があった場合、自身がデバイスマスタになれる条件
を備えていた場合はデバイスマスタに応募し、デバイス
マスタが自身に決定した場合は他のデバイスの初期化処
理を行うよう構成されていることを特徴とするPCIバ
ス制御システム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP14927999A JP3791742B2 (ja) | 1999-05-28 | 1999-05-28 | Pciバス制御システム |
US09/579,173 US6678770B1 (en) | 1999-05-28 | 2000-05-25 | PCI bus control system having intelligent devices that own and manage non-intelligent devices for relaying information from non-intelligent devices |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP14927999A JP3791742B2 (ja) | 1999-05-28 | 1999-05-28 | Pciバス制御システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000339267A true JP2000339267A (ja) | 2000-12-08 |
JP3791742B2 JP3791742B2 (ja) | 2006-06-28 |
Family
ID=15471742
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP14927999A Expired - Fee Related JP3791742B2 (ja) | 1999-05-28 | 1999-05-28 | Pciバス制御システム |
Country Status (2)
Country | Link |
---|---|
US (1) | US6678770B1 (ja) |
JP (1) | JP3791742B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100391170B1 (ko) * | 2000-12-28 | 2003-07-12 | 엘지전자 주식회사 | 메인 프로세싱 회로 데이터 보드 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100612003B1 (ko) * | 2000-02-26 | 2006-08-11 | 삼성전자주식회사 | 통신망에서 비트 스트림 송수신 장치 및 그 방법 |
GB0028353D0 (en) * | 2000-11-21 | 2001-01-03 | Aspex Technology Ltd | Improvements relating to digital data communications |
US20020178316A1 (en) * | 2001-05-23 | 2002-11-28 | Schmisseur Mark A. | System and method for defining private functions of a multi-function peripheral device |
US7243167B2 (en) * | 2003-09-19 | 2007-07-10 | Intel Corporation | Managing peripheral device address space resources using a tunable bin-packing/knapsack algorithm |
US7853742B2 (en) * | 2004-04-26 | 2010-12-14 | Intel Corporation | System and method to conditionally shrink an executable module |
KR100599112B1 (ko) * | 2004-05-08 | 2006-07-13 | 삼성전자주식회사 | Pci 시스템에서 에이전트간 통신 방법 및 통신 장치 |
CN1877537A (zh) * | 2005-06-10 | 2006-12-13 | 鸿富锦精密工业(深圳)有限公司 | 外围部件互连设备信息识别系统及方法 |
KR101172885B1 (ko) * | 2008-12-18 | 2012-08-10 | 한국전자통신연구원 | 디바이스 식별자를 이용한 디바이스 프로파일 제공 시스템 및 방법 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1994010632A1 (de) * | 1992-11-04 | 1994-05-11 | Siemens Aktiengesellschaft | Anordnung mit mehreren aktiven und passiven busteilnehmern |
US5515516A (en) * | 1994-03-01 | 1996-05-07 | Intel Corporation | Initialization mechanism for symmetric arbitration agents |
US5848249A (en) * | 1995-06-15 | 1998-12-08 | Intel Corporation | Method and apparatus for enabling intelligent I/O subsystems using PCI I/O devices |
US5838935A (en) * | 1995-06-15 | 1998-11-17 | Intel Corporation | Method and apparatus providing programmable decode modes for secondary PCI bus interfaces |
US5790811A (en) * | 1996-05-17 | 1998-08-04 | Advanced Micro Devices, Inc. | System and method for performing data transfers during PCI idle clock cycles |
US5842025A (en) * | 1996-08-27 | 1998-11-24 | Mmc Networks, Inc. | Arbitration methods and apparatus |
US5815731A (en) * | 1996-10-31 | 1998-09-29 | International Business Machines Corporation | Method and system for providing device driver configurations on demand |
US6041364A (en) * | 1996-12-19 | 2000-03-21 | Intel Corporation | Method and system for adding a device entry to a device tree upon detecting the connection of a device |
US5983024A (en) * | 1997-11-26 | 1999-11-09 | Honeywell, Inc. | Method and apparatus for robust data broadcast on a peripheral component interconnect bus |
US6023736A (en) * | 1997-12-19 | 2000-02-08 | International Business Machines Corporation | System for dynamically configuring I/O device adapters where a function configuration register contains ready/not ready flags corresponding to each I/O device adapter |
JPH11238030A (ja) * | 1998-02-20 | 1999-08-31 | Mitsubishi Electric Corp | Pci−pciブリッジおよびそのための先入れ先出しメモリ |
US6073198A (en) * | 1998-03-31 | 2000-06-06 | Micron Electronics, Inc. | System for peer-to-peer mastering over a computer bus |
US6266770B1 (en) * | 1998-04-14 | 2001-07-24 | Micron Technology, Inc. | Method for autonomous configuration of peer devices |
US6119191A (en) * | 1998-09-01 | 2000-09-12 | International Business Machines Corporation | Performing PCI access cycles through PCI bridge hub routing |
US6230216B1 (en) * | 1999-01-28 | 2001-05-08 | Vlsi Technology, Inc. | Method for eliminating dual address cycles in a peripheral component interconnect environment |
US6223232B1 (en) * | 1999-02-22 | 2001-04-24 | Vlsi Technology, Inc. | System and method to predict configuration of a bus target |
US6493777B1 (en) * | 1999-09-15 | 2002-12-10 | Lucent Technologies Inc. | Method for dynamically reconfiguring data bus control |
-
1999
- 1999-05-28 JP JP14927999A patent/JP3791742B2/ja not_active Expired - Fee Related
-
2000
- 2000-05-25 US US09/579,173 patent/US6678770B1/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100391170B1 (ko) * | 2000-12-28 | 2003-07-12 | 엘지전자 주식회사 | 메인 프로세싱 회로 데이터 보드 |
Also Published As
Publication number | Publication date |
---|---|
JP3791742B2 (ja) | 2006-06-28 |
US6678770B1 (en) | 2004-01-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7587536B2 (en) | Method and apparatus for distributing USB hub functions across a network | |
US6073205A (en) | System and method of write posting in a universal serial bus system | |
US7761642B2 (en) | Serial advanced technology attachment (SATA) and serial attached small computer system interface (SCSI) (SAS) bridging | |
US5991797A (en) | Method for directing I/O transactions between an I/O device and a memory | |
EP0889623B1 (en) | System and method for efficient remote disk I/O | |
US7581015B2 (en) | Communication device having transmitting and receiving units supports RDMA communication | |
US6185607B1 (en) | Method for managing network data transfers with minimal host processor involvement | |
US7953878B1 (en) | Multi-threaded internet small computer system interface (iSCSI) socket layer | |
US5781741A (en) | Message communications system in a parallel computer | |
KR19980070053A (ko) | 통신 시스템내에서 상대적으로 대규모인 데이터 객체의 전송을 제어하기 위한 시스템 및 그 방법 | |
WO2001018988A1 (en) | Bridge between parallel buses over a packet-switched network | |
JP2002149592A (ja) | ネットワーク上でのpciブリッジ | |
KR20180071967A (ko) | 데이터 처리 | |
JP2002358167A5 (ja) | ||
CN1331070C (zh) | 数据通信的方法及设备 | |
JP2000339267A (ja) | Pciバス制御システム | |
JP4208506B2 (ja) | 高性能記憶装置アクセス環境 | |
JP2003114823A5 (ja) | ||
CN104571934A (zh) | 一种内存访问的方法、设备和系统 | |
US7240167B2 (en) | Storage apparatus | |
KR100653178B1 (ko) | 전송제어프로토콜 오프로드 엔진 기반의 전송제어프로토콜전송정보 생성 및 관리 장치 및 그 방법 | |
CN105491082A (zh) | 远程资源访问方法和交换设备 | |
KR20030083572A (ko) | 상위버스와 하위버스를 가지며, 네트워크에서의 데이터액세스의 제어를 행하는 마이크로 컴퓨터 시스템 | |
CN104580328A (zh) | 虚拟机迁移方法、装置及系统 | |
JP3644158B2 (ja) | 並列計算機におけるデータ送受信方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050530 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050614 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050812 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051108 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060110 |
|
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: 20060228 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060330 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100414 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100414 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110414 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110414 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130414 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140414 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |