JP2003114869A - バス制御方式及びコンピュータシステム - Google Patents
バス制御方式及びコンピュータシステムInfo
- Publication number
- JP2003114869A JP2003114869A JP2002262224A JP2002262224A JP2003114869A JP 2003114869 A JP2003114869 A JP 2003114869A JP 2002262224 A JP2002262224 A JP 2002262224A JP 2002262224 A JP2002262224 A JP 2002262224A JP 2003114869 A JP2003114869 A JP 2003114869A
- Authority
- JP
- Japan
- Prior art keywords
- bus
- module
- access
- response
- read
- 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
Landscapes
- Bus Control (AREA)
Abstract
同一のアダプタから特定のアダプタに対して、複数のス
プリットリード要求を同時に発行できる手段を設け、バ
スの処理性能を向上させる。 【構成】バスのプロトコルとして、一つのバスアダプタ
405,408,409,410に論理的に複数のモジ
ュールIDを割り振るとともに、応答サイクルのモジュ
ールID情報により、起動元のバスアダプタ405がリ
ードデータの順序保証を行う。 【効果】同一のアダプタからのリードアクセスの並列処
理が可能となるので、システムバスアクセスの応答時間
の向上が図れる。
Description
タ、ワークステーション等の情報処理装置に係わり、特
に、システムバスとしてアドレスとデータが多重化さ
れ、リードアクセス動作の起動サイクルと応答サイクル
が、間に別の転送を挿入することで分離が可能であるス
プリット転送プロトコルをサポートしたバス制御方式、
および、これを用いたコンピュータシステムに関する。
バスとして、例えば、「Futurebus+ P89
6.1 Logical Layer Specifi
cations」(1990,IEEE)などのよう
に、リードアクセス動作の起動サイクルと応答サイクル
が、間に別の転送を挿入することで分離が可能であるス
プリット転送プロトコルをサポートしたバスが多く用い
られている。その理由としては、リードアクセス動作の
起動サイクルと応答サイクルの間に他のモジュールの転
送の挿入を可能とすることで、バスの使用効率および応
答性を向上させることが挙げられる。スプリット転送の
典型的なタイミング例を図13に示す。図13は従来の
スプリットリードアクセスタイミング例で、ADDT
[0:63]は8バイト幅の多重化されたアドレス/デ
ータバス、ADRVはアドレス/データバスADDT
[0:63]上に有効なアドレスが出力されていること
を示すアドレスバリッド信号、DATAVはアドレス/
データバスADDT[0:63]上に有効なデータが出
力されていることを示すデータバリッド信号である。F
uturebus+などの従来のバスでスプリットリー
ドアクセスを行う場合には、まず起動元のモジュールが
バス使用権を獲得した後、アドレスバリッド信号ADR
Vを有効にし、アクセス先のアドレスをADDT[0:
63]で指定する。そのとき同時に、モード指定制御信
号線により現在起動中のアクセスがスプリットリードア
クセスであることをアクセス先モジュールに伝える(1
301のタイミング)。この後、バス使用権を放棄し、
起動サイクルを終了する。一方、この起動を受け取った
アクセス先のモジュールはリードデータが準備できた時
点で、バス使用権を獲得し、アドレスバリッド信号AD
RVを有効にし、アクセス先のアドレスをADDT
[0:63]で指定する。そのとき同時に、モード指定
制御信号線により現在起動中の転送がスプリットリード
アクセスの応答であることを起動元モジュールに伝える
(1302のタイミング)。次に、データバリッド信号
DATAVを有効にし、ADDT[0:63]上に有効
なリードデータを出力する。この後、アクセス先のモジ
ュールはバス使用権を放棄し、応答サイクルを終了す
る。起動元のモジュールは、アクセス先のモジュールが
出力するモード指定制御信号線およびアクセス先のアド
レスにより、自分の起動したアクセスに対する応答であ
ることを判断し、その応答データを取り込むという一連
の制御を行っていた。
化のため、バスの信号線を削減を図り、アドレスとデー
タを多重化したバスが多くなってきている。この場合、
図13の従来例のように、スプリットリードアクセスの
応答転送時に、アクセス先のアドレスを出力するサイク
ルを設けると、アドレスとデータの多重化により、アド
レスサイクル分だけ余計にバスを占有することになり、
バスの使用効率低下や応答時間の増大を招くという問題
が生じる。
し、バスの使用効率を向上、応答時間を減少させること
により、高性能なバス制御方式を提供することにある。
本発明は、バスに接続できる各モジュールにモジュール
IDを指定する手段を設ける。さらに、少なくとも2つ
以上階層的に接続した複数バス構造のシステムにおいて
は、モジュールIDを他の階層のバス上に存在する個々
のモジュールに対しても割り付ける。そして、他の階層
のバス上に存在するモジュールからのアクセスをシステ
ムバス上に流す場合、インタフェースをとるアダプタ
に、そのモジュールに対して割り付けられたシステムバ
ス上のモジュールIDを付加してリードアクセスの起動
をかける手段を設ける。一方、起動をかけたモジュール
が応答を受け取る場合、付加されたモジュールIDに従
い、他の階層のバス上に存在するモジュールにさかのぼ
って応答を返す手段を設ける。
に対して割り付けられたモジュールIDをシステムバス
上に流すことにより、たとえシステムバスのインタフェ
ースとしては同一のアダプタであっても、システムバス
に対して異なるモジュールIDでリード要求を発行する
ことで、リード応答の入れ替わりも、応答サイクルのモ
ジュールIDによりアダプタが見分けることができる。
すなわち、マルチプロセッサシステム等において、それ
ぞれのプロセッサが行うI/Oアクセスを1つずつまで
なら並行してシステムバス上に発行することができるの
で、システムバスのアクセスの応答時間が低減される。
リットリードアクセスタイミングを示す図である。本実
施例においては、アクセス先のアドレスを出力するサイ
クルを削除し、それをリードデータを受取る識別子(モ
ジュールID)で代用している。起動サイクルは図13
の従来例と同様、まず起動元のモジュールがバス使用権
を獲得した後、アドレスバリッド信号ADRVを有効に
し、アクセス先のアドレスをADDT[0:63]で指
定する。そのとき同時に、モード指定制御信号線により
現在起動中のアクセスがスプリットリードアクセスであ
ることをアクセス先モジュールに伝える(105のタイ
ミング)。この後、バス使用権を放棄し、起動サイクル
を終了する。一方、この起動を受け取ったアクセス先の
モジュールはリードデータが準備できた時点で、バス使
用権を獲得した後、いきなりデータバリッド信号DAT
AVを有効にし、ADDT[0:63]上に有効なリー
ドデータを出力する。そのとき同時に、モード指定制御
信号線により現在起動中の転送がスプリットリードアク
セスの応答であることを起動元モジュールに伝える(1
06のタイミング)。この後、アクセス先のモジュール
はバス使用権を放棄し、応答サイクルを終了する。起動
元のモジュールは、アクセス先のモジュールが出力する
モード指定制御信号線およびアクセス元のモジュールを
表すモジュールID(SINKMOD:スプリットリー
ドの応答先モジュールの識別子)により、自分の起動し
たアクセスに対する応答であることを判断し、その応答
データを取り込むという一連の制御を行う。本実施例の
ように、SINKMODが4ビットあれば16モジュー
ルを指定できる。具体的には、図2に示すように、バス
に接続されるバスアダプタ毎に1つずつモジュールID
が割り当てられる。図2は、階層バス構造をとったシス
テム構成例で、201、202は高速プロセッサバス、
203、204は高速プロセッサバスとのインタフェー
スを行うバスアダプタ、205はシステムバス、20
6、207、208はIOバスとのインタフェースを行
うバスアダプタ、209、210、211はIOバスで
ある。本実施例ではバスアダプタ203、204、20
6、207、208にそれぞれ”0”、”1”、”
2”、”3”、”4”のようにバスアダプタ毎に1つず
つモジュールIDが割り当てられている。
うバスがシステムに応用されるとき、多くの場合は、階
層バス構造をとったシステム構成になる。図3は、この
ときのスプリットリードアクセスのデータの流れ図を示
した図で、301、302、303はプロセッサ(P
1、P2、P3)、304はマルチプロセッサ対応のプ
ロセッサバス、305はプロセッサバス304とシステ
ムバス307のインタフェースを行うバスアダプタ、3
06はメインメモリ、307はシステムバス、308は
システムバス307とIOバス311のインタフェース
を行うバスアダプタ、309はシステムバス307とI
Oバス312のインタフェースを行うバスアダプタ、3
10はシステムバス307とIOバス313のインタフ
ェースを行うバスアダプタ、311、312、313は
IOバス、314、315はIOバス311上のIO、
316、317は3IOバス312上のIO、318、
319はIOバス313上のIOである。ここで、バス
アダプタ毎に1つずつモジュールIDが割り当てると、
例えば、バスアダプタ305には”0”、バスアダプタ
308には”1”、バスアダプタ309には”2、”バ
スアダプタ310には”3”のようになる。このとき、
プロセッサ1、プロセッサ2、プロセッサ3は独立にシ
ステムバスにつながっているIOに対して独立にリード
要求を発行する。このとき、図3のようなバスシステム
においては、モジュールIDを無制限にシステムバス3
07上に発行していくと、もしアクセスしようとしてい
るIOバス311がスプリット転送をサポートしている
とアクセス時間の早いIOからの応答が先に返ってくる
可能性があり、モジュールIDを参照しただけでは、ア
クセスの順序が保証できないという問題がある(本例で
は応答サイクルのSINKMODはすべて”0”で返っ
てくる)。すなわち、他の階層のバスが上記従来のバス
と同様にスプリット転送プロトコルをサポートしている
と、応答データの順序を保証するために、1つのバスア
ダプタから1つのリード要求しか発行できなくなる。こ
れは特にマルチプロセッサシステムの場合などに生じ
る。
サシステムにおいて、それぞれのプロセッサが行うI/
Oアクセスを連続してシステムバス上に発行し、並列化
することで、このような問題をさらに解決するものであ
る。以下、本発明の第2の実施例について説明する。
図で、401、402、403はプロセッサ(P1、P
2、P3)、404はマルチプロセッサ対応のプロセッ
サバス、405はプロセッサバス404とシステムバス
407のインタフェースを行うバスアダプタ、406は
メインメモリ、407はシステムバス、408はシステ
ムバス407とIOバス411のインタフェースを行う
バスアダプタ、409はシステムバス407とIOバス
412のインタフェースを行うバスアダプタ、410は
システムバス407とIOバス413のインタフェース
を行うバスアダプタ、411、412、413はIOバ
ス、414、415はIOバス411上のIO、41
6、417はIOバス412上のIO、418、419
はIOバス413上のIOである。ここで、本実施例の
システムバス接続可能なバスアダプタ数を4とする。た
だし、本発明では、モジュール識別子として、4ビット
割り付けるとする。これにより、論理的には、16のモ
ジュールを識別できることになる。本発明では、プロセ
ッサ401には”0”、プロセッサ402には”1”、
プロセッサ403には”2”、メインメモリ406に
は”3”、バスアダプタ408には”4”、バスアダプ
タ409には”5”、バスアダプタ410には”6”の
ようにモジュールIDを割り振る。アダプタ405は、
プロセッサ401から403からのIOアクセス要求
を、各プロセッサ1つ以内なら並列してシステムバス4
07上に発行する。
タイムチャートを示すもので、プロセッサ401から4
03からのアクセス先がすべてモジュール408とし、
プロセッサ401から403からのアクセス先のIOの
アクセスタイムがそれぞれ12、9、6サイクルである
と仮定したときのものである。サイクル501はリード
の起動サイクルで、バスマスタはバスアダプタ405、
リードデータの応答先であるSINKMODは”0”
(起動元はプロセッサ401であることを示す)を示し
ている。サイクル502はリードの起動サイクルで、バ
スマスタはバスアダプタ5、リードデータの応答先であ
るSINKMODは”1”(起動元はプロセッサ402
であることを示す)を示している。
で、バスマスタはバスアダプタ405、リードデータの
応答先であるSINKMODは”2”(起動元はプロセ
ッサ403であることを示す)を示している。サイクル
504はリードの応答サイクルで、バスマスタはバスア
ダプタ408、リードデータの応答先であるSINKM
ODは”2”を示している。このとき、バスアダプタ4
05はSINKMODの”2”をみて、取り込んだデー
タをプロセッサ403に返すような制御を行う。このと
きのデータの流れを図8に示す。サイクル505はリー
ドの応答サイクルで、バスマスタはバスアダプタ40
8、リードデータの応答先であるSINKMODは”
1”を示している。このとき、バスアダプタ405はS
INKMODの”1”をみて、取り込んだデータをプロ
セッサ402に返すような制御を行う。このときのデー
タの流れを図7に示す。サイクル506はリードの応答
サイクルで、バスマスタはバスアダプタ408、リード
データの応答先であるSINKMODは”0”を示して
いる。このとき、バスアダプタ405はSINKMOD
の”0”をみて、取り込んだデータをプロセッサ401
に返すような制御を行う。このときのデータの流れを図
6に示す。また、メインメモリにモジュールIDを割り
振れば、DMA(ダイレクトメモリアクセス)の指定も
容易になる(図9)。
スプリットリード競合時のサイクル数を図10に示す。
(a)は第1の実施例のプロトコルを用いた場合のサイ
クル数、(b)は第2の実施例のプロトコルを用いた場
合のサイクル数である。1001、1007はプロセッ
サ1のIOアクセスの起動サイクル、1002、100
8はプロセッサ1のIOアクセスの応答サイクル、10
03、1009はプロセッサ1のIOアクセスの起動サ
イクル、1004、1010はプロセッサ1のIOアク
セスの応答サイクル、1005、1011はプロセッサ
1のIOアクセスの起動サイクル、1006、1012
はプロセッサ1のIOアクセスの応答サイクルである。
このように、第1の実施例のように、同一アダプタから
の複数リードの起動が許さないと、すべてのリードアク
セスがシリアライズされ、合計27サイクルかかる。一
方、第2の実施例のように、並列起動が行えば、12サ
イクルとなり、リードアクセスの応答性がさらに向上す
る。
においては、スプリットリードアクセスの応答先をSI
NKMODという識別子で示したが、第3の実施例とし
て、スプリットリードアクセスの応答元の識別子を本発
明の応答先と同様に指定できるようにすると、応答先の
識別子(SINKMOD)が同一であっても識別子の異
なる複数の応答元に対して、同時にスプリットリード要
求を発行することも可能となる。その場合の応答元識別
子は、図11、図12に示すように、IO414、IO
415にそれぞれモジュールID”7”、”8”を割付
け、その応答元識別子の情報により、バスアダプタ40
5が順序保証をする制御を行えば良い。
が行うアクセスを、アクセスの順序が保証をしながら、
連続してシステムバス上に発行し、並列処理することが
でき、システムバスのアクセスの応答時間の低減が図れ
るという効果がある。さらに、マルチプロセッサシステ
ム等においても、それぞれのプロセッサが行うI/Oア
クセスを少ないピン数で同様に処理できる。また、本発
明によれば、転送時に指定するモジュールIDは、物理
的なアダプタと全く切り離して設定することができるた
め、必要度の高いモジュールに集中的にモジュールID
を割り当てることができ、システムに対応できる柔軟性
を高めるという効果がある。
スプリットリードアクセスのデータの流れ図。
いたときのバスプロトコルによるスプリットリードアク
セスのデータの流れ図。
ク図。
セス競合タイムチャート。
(1)。
(2)。
(3)。
(4)。
図。
(1)。
(2)。
ドアクセスのデータの流れ図。
Claims (3)
- 【請求項1】情報処理装置であって、第1のモジュール
と、前記第1のモジュールが接続され、スプリットプロ
トコルを採用した第1の信号線と、第2のモジュール
と、前記第2のモジュールが接続され、スプリットプロ
トコルを採用した第2の信号線と、前記第1の信号線と
前記第2の信号線とを階層的に接続したバスアダプター
とを有することを特徴とする情報処理装置。 - 【請求項2】請求項1記載の情報処理装置であって、前
記第1のモジュールは、前記転送要求を前記第1の信号
線、前記バスアダプターおよび前記第2の信号線を介し
て前記第2のモジュールへデータを転送することを特徴
とする情報処理装置。 - 【請求項3】請求項1記載の情報処理装置であって、前
記バスアダプターに接続された第3の信号線と前記第3
の信号線に接続された第3のモジュールを有することを
特徴とする情報処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002262224A JP3878097B2 (ja) | 2002-09-09 | 2002-09-09 | バス制御方式及びコンピュータシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002262224A JP3878097B2 (ja) | 2002-09-09 | 2002-09-09 | バス制御方式及びコンピュータシステム |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP03973899A Division JP3866873B2 (ja) | 1999-02-18 | 1999-02-18 | 情報処理装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003393264A Division JP2004078998A (ja) | 2003-11-25 | 2003-11-25 | バス制御方式及びコンピュータシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003114869A true JP2003114869A (ja) | 2003-04-18 |
JP3878097B2 JP3878097B2 (ja) | 2007-02-07 |
Family
ID=19196760
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002262224A Expired - Lifetime JP3878097B2 (ja) | 2002-09-09 | 2002-09-09 | バス制御方式及びコンピュータシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3878097B2 (ja) |
-
2002
- 2002-09-09 JP JP2002262224A patent/JP3878097B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP3878097B2 (ja) | 2007-02-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH05233528A (ja) | バス制御方式及びコンピュータシステム | |
US7099983B2 (en) | Multi-core communications module, data communications system incorporating a multi-core communications module, and data communications process | |
EP0223413B1 (en) | Interrupt handling in a multiprocessor computing system | |
JP2002196974A (ja) | ディジタル信号処理システム | |
EP0508634B1 (en) | Memory access for data transfer within an I/O device | |
US5481681A (en) | Data transfer operations between two asynchronous buses | |
US20040221075A1 (en) | Method and interface for improved efficiency in performing bus-to-bus read data transfers | |
US6546439B1 (en) | Method and system for improved data access | |
WO1994008307A1 (en) | Multiplexed communication protocol between central and distributed peripherals in multiprocessor computer systems | |
JP2003114869A (ja) | バス制御方式及びコンピュータシステム | |
JP3411520B2 (ja) | 情報処理装置 | |
JPH06149730A (ja) | バスシステム,バス制御方式及びそのバス変換装置 | |
JPH04134551A (ja) | 複数のデータ処理エージェントの間でデータを転送するバスにおいて、第1のエージェントがサービスの必要を第2のエージェントへ知らせる方法 | |
JPH11272604A (ja) | バス制御方式及びコンピュ―タシステム | |
JPH05210481A (ja) | 直接アクセス式ビデオバス | |
JPH0227696B2 (ja) | Johoshorisochi | |
JP2004078998A (ja) | バス制御方式及びコンピュータシステム | |
JP2002278923A (ja) | バスシステム,バス制御方式及びそのバス変換装置 | |
JPH10283302A (ja) | 複数のプロセッサに接続されたバスにデータを供給する方法およびシステム | |
JPH0973429A (ja) | コンピュータシステム及びバス間制御回路 | |
JPH05282242A (ja) | バス制御方式 | |
JP2006331452A (ja) | バス制御方式及びコンピュータシステム | |
US6611882B1 (en) | Inbound and outbound message passing between a host processor and I/O processor local memory | |
US20030065860A1 (en) | Internal control bus in a multiple processor/multiple bus system | |
JPH08278939A (ja) | データ転送方法及びデータ転送装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20031125 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20040106 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040203 |
|
A911 | Transfer of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20040302 |
|
A912 | Removal of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20050204 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20060427 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061101 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101110 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101110 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111110 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111110 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121110 Year of fee payment: 6 |
|
EXPY | Cancellation because of completion of term | ||
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121110 Year of fee payment: 6 |