JPH06149730A - バスシステム,バス制御方式及びそのバス変換装置 - Google Patents

バスシステム,バス制御方式及びそのバス変換装置

Info

Publication number
JPH06149730A
JPH06149730A JP30408792A JP30408792A JPH06149730A JP H06149730 A JPH06149730 A JP H06149730A JP 30408792 A JP30408792 A JP 30408792A JP 30408792 A JP30408792 A JP 30408792A JP H06149730 A JPH06149730 A JP H06149730A
Authority
JP
Japan
Prior art keywords
bus
module
transaction
read
access
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
Application number
JP30408792A
Other languages
English (en)
Other versions
JP3466214B2 (ja
Inventor
Nobukazu Kondo
伸和 近藤
Koichi Okazawa
宏一 岡澤
Masatsugu Shinozaki
雅継 篠崎
Hiroshi Osaka
浩 大坂
Masataka Hiramatsu
昌高 平松
Kazuko Iwatsuki
和子 岩月
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP30408792A priority Critical patent/JP3466214B2/ja
Publication of JPH06149730A publication Critical patent/JPH06149730A/ja
Application granted granted Critical
Publication of JP3466214B2 publication Critical patent/JP3466214B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)

Abstract

(57)【要約】 【目的】 複数のモジュールがバスを介して階層的に接
続されたバスシステムにおいて、トランザクションの競
合による応答性、バス使用効率及びスル−プットの低下
を最小限に押さえることができるようにする。 【構成】 システムバス407,I/Oバス411〜4
13はスプリットバスであり、リードアクセスの起動サ
イクルと応答データサイクルが分割可能なスプリット転
送をサポートする。いま、プロセッサ401がバス変換
装置410を介してI/O418にリード起動をかけた
が、これに対するI/O418の応答データサイクルに
入っていないとすると、システムバス407とI/Oバ
ス413は使用可能状態にあり、このため、プロセッサ
402が同じI/Oバス413のI/O419にリード
要求をしても、待たされることなく、プロセッサ401
からI/O419にトランザクションを発行することが
できる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、パーソナルコンピュー
タやワークステーション,オフィスコンピュータ等の情
報処理装置に用いられるバスシステム,バス制御方式及
びそのバス変換装置に関する。
【0002】
【従来の技術】パ−ソナルコンピュ−タ,ワ−クステ−
ション等の情報処理システムに関する従来技術、特に、
システム内にリ−ドアクセスの起動サイクルと応答デ−
タサイクルが分割可能なスプリット転送をサポ−トして
いるバスを有する装置の制御方式及びそれを用いたシス
テムに関する技術は、例えば、特開平3−252848
号公報などに開示されている。また、スプリット転送を
サポ−トしているバスプロトコルとしては、例えば、
「Futurebus+ P896.1 Logica
l Layer Specifications」(1
990、IEEE)などに記載されている。
【0003】システムバスとしてスプリットバスを採用
する理由は、PIOアクセスやDMA転送などが競合し
たときの問題を解消することである。PIOアクセスや
DMA転送などが競合した場合、アクセスタイムの遅い
メモリやIOといったモジュールがシステムバス上に存
在する場合、このモジュ−ルに対するリ−ドアクセスが
遅いために、その他のバストランザクションが発行でき
ずに待たされることになり、システムバスの応答性やス
ル−プットが低下する。
【0004】そこで、システムバスのプロトコルとし
て、リ−ドアクセスの起動サイクルと応答デ−タサイク
ルを分割可能とし、これらサイクルの間に他のバスマス
タがトランザクションを発行することができるようにす
れば、1つのモジュ−ルに対する遅いリ−ドアクセスの
ためにその他のバストランザクションが発行できずに待
たされることを防ぐことができる。なお、リ−ドデ−タ
は、起動をかけられたスレ−ブ側のモジュ−ルがバス権
を取って、リ−ド応答を返してくる。
【0005】システムバスとしてスプリットバスを採用
していれば、リ−ドトランザクションと新しい別のトラ
ンザクション要求とが競合しても、それらが別々モジュ
−ルに対するアクセスである限り、リ−ド起動をかけら
れているモジュ−ルのアクセスタイムが新しいトランザ
クション要求の待ち時間に影響をおよぼすことがなくな
る。このように、トランザクション競合時のシステムバ
スの応答性、使用効率及びスル−プットの向上を図るこ
とができるため、システムバスとしてスプリット転送を
サポ−トしたバスを採用するのが一般的となってきてい
る。
【0006】また、従来の情報処理装置用バスの代表的
なものとしては、例えば、IEEEDraft Sta
dnard P896.1R/D8.5 “Futur
ebus+ Logical Layer Speci
fications、IEEE Computer S
ociety Press”(1991)に記載されて
いるフューチャーバスプラス(Futurebus+)
が知られている。フューチャーバスプラスのように比較
的新しいバスにおいては、バス権を所有するマスタモジ
ュールがトランザクションを発行した時点で、転送相手
となるスレーブ側のモジュールの転送受付可否の状態を
知る手段が用意されており、その場合には、マスタモジ
ュールは一旦バス権を放棄し、一定時間経過後、再び同
一トランザクションをやりなおすこと(リトライ)が可
能なプロトコルとなっている。
【0007】また、近年、バス上のモジュール間でライ
ト転送を行なう場合、受側のモジュールにライトアドレ
ス及びデータを溜め込むバッファを設け、このバッファ
内にアドレス及びデータを受け取った時点でこのモジュ
ールがアクノリッジ等を送出し、転送を終了させてしま
う手法が多く用いられる。これは、プロセッサが外部記
憶装置にライトアクセスする場合などにおいて、低速の
記憶装置に実際書き込みが完了するのを待たずにプロセ
ッサが次の処理に取りかかれるため、プロセッサの待ち
時間が小さくなり、CPUの性能を最大限に活かすこと
ができるようになるためである。低速の記憶装置のイン
タフェース部がゆっくりI/Oまでアクセスしている間
に、プロセッサが並行して次の処理に移ることができる
ため、システムの性能向上に効果があり、バス間の転送
でも、このような手法を取るのが一般的となっている。
【0008】
【発明が解決しようとする課題】しかしながら、スプリ
ットバスを採用した上記従来技術では、リ−ドトランザ
クションと新しい別のトランザクション要求が競合した
場合、それらが別々のモジュ−ルに対するアクセスであ
る限り、格別問題はないが、これらトランザクション要
求が同一モジュ−ルに対するものである場合には、やは
りこのモジュ−ルがリ−ドデ−タを出力するまで次のト
ランザクション要求は待たされることになる。
【0009】ところで、近年、他のシステムのIO財産
を有効に利用するため、高速なシステムバスの下に、バ
スアダプタ(バス変換装置)を介して標準IOバスなど
複数のIOバスを階層的に接続するシステムを構築する
ことが要求されている。この場合、システムバスから見
ると、バス変換装置はシステムバス上の1つのモジュ−
ルに対応することになり、バス変換装置を介した同一の
IOバス上のIOを使用するトランザクションが競合す
ると、1つのトランザクションがIOバスを占有してい
るため、IOバスがネックになってシステムバスのスプ
リット転送の効果を活かしきれないという問題があっ
た。
【0010】また、スプリットバスを採用すると、リ−
ドアドレス以外にリ−ド応答を返す起動元の情報を保持
しておかなくてはならないなど、制御ハ−ドウェアが複
雑となり、制御論理量が増大化するといった問題が生じ
てくる。
【0011】受側のモジュールにライトアドレス及びデ
ータを溜め込むバッファを設けるようにした上記従来技
術では、DMA時のI/Oアダプタ起動のための初期化
手続きやセマフォオペレーション等、PI/Oライトア
クセスの順序の保証が必要なシーケンスのプログラミン
グを行なう場合、PI/Oライトアクセスの後に必ず同
一アドレスをリードし、トランザクションがI/Oまで
届いて書込みが完了しているか否かの確認作業(ベリフ
ァイ)をしなければならず、ソフトウェアを組む上でハ
ードウェアの都合によって制限を設けることになり、プ
ログラミング時の負担になるという問題がある。
【0012】年々、ソフトウェアの開発量は増加の一途
をたどり、その開発負担を軽減することが重要となって
きている。しかも、上記のベリファイ作業は、ハードウ
ェア上の処理順序保証の都合でプログラムに制限を与え
るものであり、できれば、ソフトウェア開発者がハード
ウェアの制限を意識せずにプログラムを組める方が望ま
しい。
【0013】本発明の第1の目的は、かかる問題を解消
し、複数のモジュールがバスを介して階層的に接続され
たバスシステムにおいて、トランザクションの競合によ
る応答性、バス使用効率及びスル−プットの低下を最小
限に押さえることができるようにしたバスシステム及び
そのバス変換装置を提供することにある。
【0014】本発明の第2の目的は、最小の論理量でバ
スを階層渡りのトランザクションの競合による応答性、
バス使用効率及びスル−プットの低下を最小限に押える
ことができるようにしたバスシステム及びそのバス変換
装置を提供することにある。本発明の第3の目的は、処
理順序保証が必要なPI/Oライトアクセスにおいて、
ソフトウェアによるベリファイ作業を省き、プログラム
を組む人が、ハードウェアを意識しないでプログラムを
組むことができるようにしたバスシステムを提供するこ
とにある。
【0015】本発明の第4の目的は、従来のバス制御方
式を変更することなく、バス上のモジュールへの機能追
加でもって容易に上記第3の目的を達成できるようにし
たバスシステムを提供することにある。
【0016】
【課題を解決するための手段】上記第1,第2の目的を
達成するため、本発明では、少なくともプロセッサと記
憶装置とが第1のバスに接続され、かつ入出力装置が接
続された第2のバスが所定数夫々バス変換装置を介して
該第1のバスに接続され、階層構造をなしたバスシステ
ムにおいて、該第1,第2のバスをスプリットバスとす
る。また、リ−ドトランザクションの応答サイクル時の
応答先をアドレス以外の専用信号線を用いた識別子で指
定し、該第1,第2のバスを経由してリ−ドトランザク
ションを行なう場合、前記識別子を前記第1,第2のバ
スで共通に使用するようにする。
【0017】上記第3,第4の目的を達成するために、
本発明は、バスを介して少なくとも2以上のモジュール
間でデータ転送を可能とし、バス権を所有するマスタモ
ジュールのトランザクション起動先のスレーブ側モジュ
ールがトランザクション受付け不可能状態であることを
マスタモジュールに伝えると同時に、該マスタモジュー
ルがバス権を放棄した後、一定の期間を置いて、再びト
ランザクション起動をかけるリトライを要求するように
したバスシステムにおいて、トランザクション受付け可
能状態で起動をかけられたライトアクセスに対しても、
該スレーブ側モジュールが該マスタ側モジュールに対し
てリトライ要求するようにする。
【0018】
【作用】プロセッサや記憶装置,バス変換装置が接続さ
れている第1のバスと入出力装置を該バス変換装置に接
続する第2のバスがともにスプリットバスとなっている
ため、バス変換装置を介した同一の第2のバス上の入出
力装置を使用するトランザクションが競合しても、1つ
のトランザクションがこの第2のバスを占有することを
防ぐことができ、このため、第2のバスがネックになっ
て第1のバスのスプリット転送の効果を活かしきれない
という問題を回避できる。即ち、システム中に1つのア
クセスタイムの遅い入出力装置が接続されていても、他
のアクセスのスル−プットや応答性が低下するのを防ぐ
ことができ、この結果、システム性能が向上することに
なる。また、スプリットバスを採用したことにより、リ
−ドアドレス以外に保持しておかなければならないリ−
ド応答を返すリード起動元の情報を、モジュ−ルIDで
指定するようにし、しかも、全階層のバスにわたって一
貫して使用する手段を設けたことにより、リ−ド応答先
情報の変換などによる制御ハ−ドウェアの複雑化を低減
できる。
【0019】DMA時のI/Oアダプタの初期設定手続
きやセマフォオペレーション等、PI/Oライトアクセ
スの順序の保証が必要なシーケンスプログラミングを行
なう場合、バス上のモジュール内部のコントロールレジ
スタにリトライモードを設定する。リトライモードを設
定後に起動がかけられたPI/Oライトアクセスは、ス
レーブ側モジュールから必ずリトライ要求を受ける。実
際は、そのとき、スレーブ側のモジュールは対応するI
/Oに対しPI/Oライトアクセスを開始している。P
I/Oアクセスを起動したマスタ側のモジュールは、一
定の時間を置いて、再び同一のライトアクセス起動を行
なうことになるが、スレーブ側モジュールは、PI/O
ライトが実際にI/Oまで届して完了するまでは、継続
的にリトライ要求を送出し続ける。その後、リトライ要
求を出したモジュールは、PI/Oライトが実際にI/
Oまで届いて完了したことを確認した時点で、マスタ側
モジュールからのリトライライトアクセス起動を受け付
けるようになるため、マスタモジュール(プロセッサ側
モジュール)が次の処理に移行したときには、直前のP
I/OライトはI/Oまで完全に書き込みが完了してい
ることになる。そのため、PI/Oライトの手続き順序
の保証が必要なシーケンスのプログラミングにおいて、
PI/Oリードによるベリファイ作業が不要となる。ま
た、マルチプロセッサシステムにおいては、リトライモ
ードをトランザクションのアドレスで見分けると、順序
保証が必要な一連のPI/Oライト手続きを実行しよう
としているプロセッサからのアクセスのみの順序保証が
行い得、かつそれ以外のプロセッサからのPI/Oライ
トアクセスがリトライ要求を受けずに済む。
【0020】
【実施例】まず、本発明の実施例で用いるシステムバス
とI/Oバスのプロトコルについて、図2及び図3によ
り説明する。
【0021】この実施例におけるシステムバスやI/O
バスは、バス幅と動作周波数以外、全く同一のプロトコ
ルになっており、いずれもアドレス/デ−タ多重型の同
期式バスであって、転送方式の特徴としては、リ−ドト
ランザクションが全てスプリットを前提にしている。こ
れらシステムバス,I/Oバスを構成する信号線として
は、多重化されたアドレス/デ−タ(A/D)の信号
線、モ−ド指定制御線、転送要求元IDの信号線及びア
−ビトレ−ション信号の信号線などである。
【0022】モ−ド指定制御線の中には、アドレスサイ
クルであることを指定するアドレスバリッド(ADR
V)信号、デ−タサイクルであることを指定するデ−タ
バリッド(DATAV)信号を含んでいる。転送要求元
IDは、トランザクションの起動をかけたモジュ−ルを
示す識別子である。即ち、ライトアクセス,スプリット
リ−ドのアドレスサイクルではバスマスタ自身のIDが
出力され、スプリットリ−ドの応答デ−タサイクルでは
応答先モジュ−ルID(デ−タを受け取る側のモジュ−
ルID)が出力される。この転送要求元IDの信号線
は、物理的にバスに接続できる数以上のモジュ−ルを指
定できるようになっている。これは、バスに直接接続さ
れるモジュ−ルのみならず、そのモジュ−ルがバスアダ
プタ(バス変換装置)である場合には、変換された後の
その先につながっている別のバス上のモジュ−ルにも割
り当てることを考えている。換言すると、複数の階層の
異なるバス間にわたって一貫したモジュ−ルIDを指定
し、効率的にデ−タ転送に応用できる。
【0023】かかるバスを用いてリ−ドアクセスを行な
う場合には、図2に示すように、まず、リ−ドを行なう
モジュ−ルがバス使用権を獲得し、アドレスバリッド信
号ADRVを負極性にして有効にすると同時に、リ−ド
アドレス(201)、転送要求元ID(203)及びモ
−ド指定制御信号(205)を出力する。その後、リ−
ドを行なうモジュ−ルはバス権を放棄する。アドレスサ
イクルで出力される転送要求元IDは、リ−ド起動を行
なうモジュ−ル固有のIDである。
【0024】一方、リ−ドされたモジュ−ルは、デ−タ
が準備でき次第、バス使用権を要求し、バス使用権を獲
得すると、デ−タバリッド信号DATAVを負極性にし
て有効にすると同時に、リ−ドデ−タ(202)、転送
要求元ID(204)及びモ−ド指定制御信号(20
6)を出力し、そして、バス権を放棄する。
【0025】これで、一連のリ−ドアクセスが完了す
る。デ−タサイクルで出力される転送要求元IDは、ア
ドレスサイクルで出力されたリ−ド起動を行なったモジ
ュ−ルのIDであり、リ−ド起動を受けたモジュ−ル
は、デ−タを返すまで転送要求元IDを保持していなけ
ればならない。リ−ドを行なうモジュ−ルは、リ−ド起
動後、常に、リ−ド応答デ−タサイクルで出力される転
送要求元IDを観測し、自分のIDと一致すると、それ
によって自分の発行したリ−ドに対する応答サイクルで
あることを認識してそのときのデ−タを取り込む。
【0026】かかるバスを用いてライトアクセスを行な
う場合には、図3に示すように、まず、ライトを行なう
モジュ−ルがバス使用権を獲得し、アドレスバリッド信
号ADRVを負極性にして有効にすると同時に、ライト
アドレス(301),転送要求元ID(303)及びモ
−ド指定制御信号(304)を出力する。そして、次の
サイクルにおいて、デ−タバリッド信号DATAVを負
極性にして有効にすると同時に、ライトデ−タ(30
2)を出力する。この間、出力される転送要求元ID
は、リ−ド起動を行なうモジュ−ル固有のIDである。
この後、ライトを行なうモジュ−ルはバス権を放棄す
る。
【0027】一方、ライトされるモジュ−ルは、ライト
アドレスをデコ−ドすることによって自モジュ−ルに対
するアクセスであることを認識し、アドレス及びライト
デ−タを取り込む。
【0028】次に、図4により、本発明によるスプリッ
トバス変換制御方式及びそのシステムの一実施例につい
て説明する。但し、401〜403はプロセッサ、40
4はマルチプロセッサ対応のプロセッサバス、405は
プロセッサバス404とメインメモリ406とシステム
バス407との間のインタフェ−スを行なうコントロ−
ラ、406はメインメモリ、407はスプリット転送を
サポ−トしているシステムバス、408〜410はシス
テムバス407と各I/Oバスとのインタフェ−スを行
なうバスアダプタ(バス変換装置)、411〜413は
スプリット転送をサポ−トしているI/Oバス、414
〜419はI/Oである。
【0029】同図において、システムバス407及びI
/Oバス413をスプリット転送をサポ−トし、それら
の間のバス変換をバス変換装置410が行なう。転送要
求元IDは、プロセッサ401に“0”が、プロセッサ
402に“1”が、プロセッサ403に“2”が、バス
変換装置408に“3”が、バス変換装置409に
“4”が、I/O418に“5”が、I/O419に
“6”が夫々割り当てられている。なお、各モジュ−ル
固有のかかる転送要求元IDは、固定の信号ピンなどで
設定する。
【0030】次に、図4におけるバス変換装置の一構成
例とこの実施例におけるデ−タの転送方式について、図
4のシステムバス407、バス変換装置410及びI/
Oバス403の部分を拡大した図1を用いて説明する。
但し、図1において、1はバス変換装置であって、図4
のバス変換装置410に相当し、Aバス(スプリットバ
ス)は図4のシステムバス407に、Bバス(スプリッ
トバス)は図4のI/Oバス413に夫々相当する。ま
た、2,3はPIOアクセス時のアドレスやデ−タ,制
御情報等を保存するPIOバッファ、4,5はDMAア
クセス時のアドレスやデ−タ,制御情報等を保存するた
めのDMAバッファ、6はPIOバッファ2のアドレス
バッファ、7はPIOバッファ2のデ−タバッファ、8
はPIOバッファ2用のデ−タサイジング部、9はPI
Oバッファ2のアクセス制御情報バッファ、10はPI
Oバッファ2の転送要求元IDバッファ、11はPIO
バッファ3のアドレスバッファ、12はPIOバッファ
3のデ−タバッファ、13はPIOバッファ3用のデ−
タサイジング部、14はPIOバッファ3のアクセス制
御情報バッファ、15はPIOバッファ3の転送要求元
IDバッファ、16はDMAバッファ4のアドレスバッ
ファ、17はDMAバッファ4のデ−タバッファ、18
はDMAバッファ4用のデ−タサイジング部、19はD
MAバッファ4のアクセス制御情報バッファ、20はD
MAバッファ4の転送要求元IDバッファ、21はDM
Aバッファ5のアドレスバッファ、22はDMAバッフ
ァ5のデ−タバッファ、23はDMAバッファ5用のデ
−タサイジング部、24はDMAバッファ5のアクセス
制御情報バッファ、25はDMAバッファ5の転送要求
元IDバッファ、26はPIO制御部、27はAバス制
御部、28はAバスのバス権調停部、29はDMA制御
部、30はBバス制御部、31はBバスのバス権調停
部、32〜37は双方向バスドライバ、38〜51はセ
レクタ、52はPIO制御部26及びDMA制御部29
がAバスもしくはBバスを使用する場合の調停を行なう
アクセス調停部、53はPIO時のデ−タ出力パス、5
4はDMA時のデ−タ出力パス、55はDMA時のアド
レス出力パス、56はPIO時のアドレス出力パス、6
0はAバスの多重化されたアドレス/デ−タ(A/D)
線、61はAバスの制御信号線、62はAバスのア−ビ
トレ−ション信号線、63はAバスの転送要求元ID用
信号線、64はBバスの多重化されたアドレス/デ−タ
(A/D)線、65はBバスの制御信号線、66はBバ
スのア−ビトレ−ション信号線、67はBバスの転送要
求元ID用信号線、70はAバスからのPIOアクセス
がバス変換装置1に対するものであることを判定するた
めのアドレスデコ−ダ、71はBバスからのDMAアク
セスがバス変換装置1に対するものであることを判定す
るためのアドレスデコ−ダ、72はBバスからのPIO
リ−ドの応答トランザクションがバス変換装置1に対す
るものであることを判定するための転送要求元ID比較
器、73はAバスからのDMAリ−ドの応答トランザク
ションがバス変換装置1に対するものであることを判定
するための転送要求元ID比較器である。
【0031】この実施例では、PI/Oバッファ及びD
MAバッファは夫々PI/Oバッファ2,3、DMAバ
ッファ4,5と2面ずつあり、同時に2つまでの起動を
受け付けることができる。バッファが両面とも使用中の
場合には、それ以降にかけられた起動を受け付けず、リ
トライ要求を起動モジュ−ルに要求する。リトライ要求
を受けたモジュ−ルは、一定のインタ−バルの後、再び
トランザクションを実行しなければならない。
【0032】次に、データ転送方式について説明する。 (1)PI/Oリ−ドアクセス ここでは、図4において、プロセッサ401がスプリッ
トI/Oバス413上のI/O418からデ−タをリ−
ドするものとする。この場合には、コントロ−ラ405
はシステムバス407(図1でのAバス)上のモジュ−
ルであるから、そのプロトコルに従って、バス変換装置
410に対しリ−ド起動をかけてくる。
【0033】そこで、図1において、PI/Oバッファ
2が空いているものとすると、アドレスバリッド信号A
DRVが有効になった時点で、Aバスの多重化されたア
ドレス/デ−タ線60から、双方向バスドライバ32を
介してリ−ドアドレスをアドレスバッファ6に取り込
む。これと同時に、双方向バスドライバ33を介してリ
−ドアクセスであることなどの制御情報がアクセス制御
情報バッファ9に、双方向バスドライバ34を介してリ
−ドトランザクションを発行したモジュ−ル(図4での
プロセッサ401)を示すID(“0”)が転送要求元
IDバッファ10に夫々格納される。
【0034】PI/O制御部26はアクセス制御情報バ
ッファ9内の情報を受け、Bバスにリ−ド起動を行なう
ために、Bバス制御部30を使用する要求をアクセス調
停部52に対して出力する。これによる調停後、PI/
O制御部26は、Bバス制御部30とバス権調停部31
とを介し、バス使用権要求を出力する。Bバスからバス
使用が許可されると、PI/O制御部26はBバス制御
部30を制御し、Bバスプロトコルに従って、セレクタ
40,PI/O時のアドレス出力パス56,セレクタ3
9及び双方向バスドライバ35を経由してBバスのアド
レス/データ線64にリ−ドアドレスを出力する。これ
と同時に、転送要求元IDバッファ10に格納された図
4のプロセッサ401を示すID(“0”)をセレクタ
48,51及び双方向バスドライバ37を介してBバス
の転送要求元ID用信号線67に出力する。これが終る
と、バス変換装置1はBバスのバス権を放棄する。
【0035】一方、リ−ド起動を受けたI/O418は
デ−タが準備できた時点でBバスのバス権を獲得し、デ
−タバリッド信号DATAVを有効にすると同時に、ア
ドレス/デ−タ線64にリ−ドデ−タをドライブし、ま
た、同時に、転送要求元ID用信号線67にリ−ド起動
をかけられたときにバス変換装置1から出力された転送
要求元ID(“0”)をそのまま出力する。このため、
I/O418では、リ−ド起動をかけられたときに出力
されるこの転送要求元ID(“0”)を保持しておく。
【0036】バス変換装置1は、上記のようにPI/O
リ−ドをBバスに起動した後では、Bバスを介してリ−
ド応答トランザクションがくる度に、ID比較器72に
よってBバス上のIDと転送要求元IDバッファ10に
格納されたID(“0”)とが一致するかどうかを常に
観測している。そして、これらIDが一致すると、それ
によって待っていたリ−ド応答が返ってきたと認識し、
Bバス上のデ−タを双方向バスドライバ35を介してデ
−タバッファ7に格納する。
【0037】そこで、PI/O制御部26は、リ−ド応
答が返ってきたことを認識すると、今度はアクセス調停
部52,Aバス制御部27及びバス権調停部28を介し
てAバスのバス権を獲得しにいく。そして、Aバスから
バス使用を許可されると、PI/O制御部26はAバス
制御部27を制御し、Aバスプロトコルに従い、セレク
タ41,PI/O時のデ−タ出力パス53,セレクタ3
8及び双方向バスドライバ32を介してAバスのアドレ
ス/データ線60にリ−ドデ−タを出力する。これと同
時に、転送要求元IDバッファ10に格納されたID
(“0”)をセレクタ48,50及び双方向バスドライ
バ34を介してAバスの転送要求元ID用信号線63に
出力する。このとき、必要であれば、デ−タサイジング
部8によってデ−タのサイジングを行なう。そして、バ
ス変換装置1はAバスのバス権を放棄する。
【0038】これにより、図4では、コントロ−ラ40
5が、バス変換装置1と同様に、転送要求元ID
(“0”)によって自分に対するリ−ド応答であること
を認識し、そのデ−タを取り込んでプロセッサ401に
返すという一連の制御を行なう。バス変換装置1のPI
/Oバッファ3が空いている場合も、以上と同様の動作
を行なう。
【0039】以上の動作でのデータの流れを図5に示
す。
【0040】(2)PI/Oライトアクセス ここでは、図4において、プロセッサ401がスプリッ
トI/Oバス413上のI/O418にライトアクセス
をするものとする。
【0041】図4でのコントロ−ラ405はシステムバ
ス407(図1でのAバス)上のモジュ−ルであるか
ら、そのプロトコルに従い、バス変換装置410に対し
てライト起動をかけてくる。
【0042】そこで、図1において、PI/Oバッファ
2が空いているものとすると、アドレスバリッド信号A
DRVが有効になった時点で、Aバスの多重化されたア
ドレス/デ−タ線60から双方向バスドライバ32を介
してライトアドレスがアドレスバッファ6に取り込まれ
る。また、次のサイクルのデ−タバリッドDATAVが
有効になった時点で、アドレス/デ−タ線60から双方
向バスドライバ32を介してライトデ−タがライトデ−
タ7に取り込まれる。これと同時に、双方向バスドライ
バ33を介してライトアクセスであることなどを示す制
御情報がアクセス制御情報バッファ9に、双方向バスド
ライバ34を介してライトトランザクションを発行した
モジュ−ル(図4でのプロセッサ401)を示すID
(“0”)が転送要求元IDバッファ10に夫々格納さ
れる。
【0043】PI/O制御部26は、アクセス制御情報
バッファ9内の情報を受けて、Bバスにライト起動を行
なうために、Bバス制御部30を使用する要求をアクセ
ス調停部52に対して出力する。この調停が終ると、P
I/O制御部26は、Bバス制御部30及びバス権調停
部31を介してBバスの使用権要求を出力する。
【0044】Bバスからバス使用を許可されると、PI
/O制御部26はBバス制御部30を制御して、Bバス
プロトコルに従い、セレクタ40,PI/O時のアドレ
ス出力パス56及び双方向バスドライバ35を経由して
ライトアドレスをBバスのアドレス/データ線64に出
力する。また、次のサイクルでは、セレクタ41,PI
/O時のデ−タ出力パス53,セレクタ39及び双方向
バスドライバ35を経由してライトデ−タをBバスのア
ドレス/データ線64に出力する。これと同時に、転送
要求元IDバッファ10に格納されているID
(“0”)をセレクタ48,51及び双方向バスドライ
バ37を介してBバスの転送要求元ID用信号線67に
出力する。そして、バス変換装置1はBバスのバス権を
放棄する。
【0045】ライト起動を受けたI/Oは、アドレスに
よって自分に対するライト起動であることを認識し、取
り込んだデ−タの書き込みを行なう。
【0046】以上の動作でのデータの流れを図6に示
す。
【0047】(3)DMAリ−ドアクセス ここでは、図4において、I/Oバス413上のI/O
418がメインメモリ406からDMAリ−ドを行なう
ものとする。この場合には、I/O418はI/Oバス
413(図1でのBバス)上の1つのモジュ−ルである
から、そのプロトコルに従い、バス変換装置410に対
してDMAリ−ドの起動をかける。
【0048】そこで、図1において、DMAバッファ4
が空いているものとすると、アドレスバリッドADRV
が有効になった時点で、Bバスの多重化されたアドレス
/デ−タ線64から双方向バスドライバ35を介してリ
−ドアドレスがアドレスバッファ16に取り込まれる。
これと同時に、双方向バスドライバ36を介してリ−ド
アクセスであることなどを示す制御情報がアクセス制御
情報バッファ19に、双方向バスドライバ37を介して
リ−ドトランザクションを発行したモジュ−ル(図4で
のI/O418)を示すID(“5”)が転送要求元I
Dバッファ20に夫々格納される。
【0049】DMA制御部29はアクセス制御情報バッ
ファ19内の情報を受けて、Aバスにリ−ド起動を行な
うために、Aバス制御部27を使用する要求をアクセス
調停部52に対して出力する。この調停が終了すると、
DMA制御部29はAバス制御部27及びバス権調停部
28を介してAバスの使用権要求を出力する。
【0050】Aバスからバス使用を許可されると、DM
A制御部29はAバス制御部27を制御して、Aバスの
プロトコルに従い、セレクタ42,DMA時のアドレス
出力パス55,セレクタ38及び双方向バスドライバ3
2を経由してリ−ドアドレスを出力する。これと同時
に、転送要求元IDバッファ20に格納されているID
(“5”)をセレクタ49,50及び双方向バスドライ
バ34を介してAバスの転送要求元ID用信号線63に
出力する。そして、バス変換装置1はAバスのバス権を
放棄する。
【0051】一方、図4において、リ−ド起動を受けた
コントロ−ラ405はメインメモリ406から対応する
アドレス部を読み出し、デ−タが準備できた時点でAバ
スのバス権を獲得してデ−タバリッド信号DATAVを
有効にし、これと同時に、図1のAバスのアドレス/デ
−タ線60にリ−ドデ−タをドライブするし、かつAバ
スの転送要求元ID用信号線63に、リ−ド起動がかけ
られたときにバス変換装置1から送られてきた転送要求
元ID(“5”)をそのまま出力する。このためには、
図4のコントロ−ラ405はリ−ド起動を受けたときに
送られてきたこの転送要求元ID(“5”)を保持して
おく。
【0052】図1において、バス変換装置1は、DMA
リ−ドをAバスに起動すると、Aバスを介してリ−ド応
答トランザクションが来る度に、ID比較器73によっ
てAバス上のIDと転送要求元IDバッファ20に格納
されているID(“5”)とが一致するかどうかを常に
観測している。そして、これらIDが一致したときに
は、それにより待っているリ−ド応答が返ってきたと認
識し、Aバス上のデ−タを双方向バスドライバ32を介
してデ−タバッファ17に格納する。
【0053】そこで、DMA制御部29は、リ−ド応答
が返ってきたことを認識すると、アクセス調停部52,
Bバス制御部30及びバス権調停部31を介してBバス
のバス権を獲得にいく。そして、Bバスからバス使用を
許可されると、DMA制御部29はBバス制御部30を
制御し、Bバスプロトコルに従い、セレクタ43,DM
A時のデ−タ出力パス56,セレクタ39及び双方向バ
スドライバ35を介してリ−ドデ−タをBバスのアドレ
ス/データ線64に出力する。これと同時に、転送要求
元IDバッファ20に格納されているID(“5”)を
セレクタ49,51及び双方向バスドライバ37を介し
てBバスの転送要求元ID用信号線67に出力する。こ
のとき、必要であれば、デ−タサイジング部18により
デ−タのサイジンを行なう。そして、バス変換装置1は
Bバスのバス権を放棄する。
【0054】図4のI/O418は、バス変換装置1と
同様に、転送要求元ID(“5”)によって自分に対す
るリ−ド応答であることを認識し、そのデ−タを取り込
むという一連の制御を行なう。バス変換装置1のDMA
バッファ5が空いている場合も、上記と同様の動作を行
なう。
【0055】以上の動作でのデータの流れを図7に示
す。
【0056】(4)DMAライトアクセス ここでは、図4において、I/Oバス413上のI/O
418がメインメモリ406に対してDMAライトを行
なうものとする。この場合には、I/O418はI/O
バス413(図1でのBバス)上の1つのモジュ−ルで
あるから、そのプロトコルに従い、バス変換装置410
に対してDMAライトの起動をかける。
【0057】そこで、図1において、DMAバッファ4
が空いているものとすると、アドレスバリッド信号AD
RVが有効になった時点で、Bバスの多重化されたアド
レス/デ−タ線64から双方向バスドライバ35を介し
てライトアドレスがアドレスバッファ16に取り込まれ
る。また、次のサイクルのデ−タバリッド信号DATA
Vが有効になった時点で、Bバスのアドレス/デ−タ線
64から双方向バスドライバ35を介してライトデ−タ
がライトデ−タ17に取り込まれ、これと同時に、双方
向バスドライバ36を介してライトアクセスであること
などを示す制御情報がアクセス制御情報バッファ19
に、双方向バスドライバ37を介してライトトランザク
ションを発行したモジュ−ル(図4でのI/O418)
を示すID(“5”)が転送要求元IDバッファ20に
夫々格納される。
【0058】そこで、DMA制御部29はアクセス制御
情報バッファ19内の情報を受け、Aバスにライト起動
を行なうために、Aバス制御部27を使用する要求をア
クセス調停部52に対して出力する。この調停が終る
と、DMA制御部29は、Aバス制御部27及びバス権
調停部28を介してAバスの使用権要求を出力する。
【0059】Aバスからバス使用を許可されると、DM
A制御部29はAバス制御部27を制御し、Aバスプロ
トコルに従い、セレクタ42,DMA時のアドレス出力
パス55,セレクタ38及び双方向バスドライバ32を
経由してライトアドレスをAバスのアドレス/データ線
60に出力する。また、次のサイクルでは、セレクタ4
3,DMA時のデ−タ出力パス54,セレクタ38及び
双方向バスドライバ32を経由してライトデ−タをAバ
スのアドレス/データ線60に出力する。これと同時
に、転送要求元IDバッファ20に格納されているID
(“5”)をセレクタ49,50及び双方向バスドライ
バ34を介してAバスの転送要求元ID用信号線63に
出力する。そして、バス変換装置1はAバスのバス権を
放棄する。
【0060】そこで、図4において、ライト起動を受け
たコントロ−ラ405はアドレスによって自分に対する
ライト起動であることを認識し、取り込んだデ−タをメ
インメモリ406に書き込む。
【0061】以上の動作でのデータの流れを図8に示
す。
【0062】以上はこの実施例の通常のアクセス動作で
あったが、次に、アクセス競合が生じた場合のこの実施
例の動作について説明する。
【0063】(4)PI/Oリ−ド中のDMAライト
(またはリ−ド) 図4において、プロセッサ401がI/Oバス413上
のI/O418に対してPI/Oリ−ド起動中に、I/
Oバス413上のI/O419がメインメモリ406に
対してDMAライト(またはリ−ド)転送を行なう要求
をするものとする。
【0064】この場合には、まず、コントロ−ラ405
によってシステムバス407上にリ−ド起動がかけら
れ、プロセッサ401からのPI/Oリ−ドアクセス
が、図1のバス変換装置410におけるPI/Oバッフ
ァ2,3(図1)のいずれか一方に格納される。そこ
で、バス変換装置410からI/Oバス413上にリ−
ド起動がかけられ、I/O418がリ−ド要求を受け付
ける。かかる状態では、リ−ド要求を受け付けたI/O
418が応答リ−ドデ−タが準備できるまで、システム
バス407とI/Oバス413はともに使用可能状態と
なっている。このために、I/O419がメインメモリ
406に対してDMAライト(またはリ−ド)転送要求
を出しても、待たされずにトランザクションを発行する
ことができる。
【0065】かかる動作を図9(a)に示し、これと比
較のために、I/Oバス413がスプリット対応になっ
ていない場合の動作を図9(b)に示す。但し、図9に
おいて、丸で囲んだAはPI/Oリードアクセスであ
り、丸で囲んだDはリードデータである。また、I/O
のリ−ドアクセスタイムは10サイクルとした。
【0066】(5)DMAリ−ド中のPI/Oライト
(またはリ−ド) 図4において、I/Oバス413上のI/O419がメ
インメモリ406に対してDMAリ−ド起動中に、プロ
セッサ401がI/Oバス413上のI/O418に対
してPI/Oライト(またはリ−ド)を行なうものとす
る。
【0067】この場合には、まず、I/O419からの
DMAリ−ドアクセスは、I/O419からI/Oバス
413上にリ−ド起動がかけられ、バス変換装置410
のDMAバッファ4,5(図1)いずれか一方に格納さ
れる。そこで、バス変換装置410からシステムバス4
07上にリ−ド起動がかけられ、コントロ−ラ405が
リ−ド要求を受け付けてメインメモリ406のリ−ドを
開始する。かかる状態では、リ−ド要求を受け付けたコ
ントロ−ラ405が、メインメモリの読出しを終了して
応答リ−ドデ−タが準備できるまで、システムバス40
7とI/Oバス413はともに使用可能状態となってい
る。このため、プロセッサ401からI/O418に対
するPI/Oライト(またはリ−ド)転送要求が発生し
ても、待たされずにコントロ−ラ405を介してトラン
ザクションを発行することができる。
【0068】かかる動作を図10(b)に示し、これと
比較するために、I/Oバス413がスプリット対応に
なっていない場合の動作を図10(a)に示す。ここで
の符号は図9と同様であり、また、メインメモリのリ−
ドアクセスタイムは5サイクルとした。
【0069】(6)PI/Oリ−ド同志の競合 図4において、プロセッサ401がI/Oバス413上
のI/O418に対してPI/Oリ−ド起動中に、プロ
セッサ402がI/Oバス413上のI/O419に対
してPI/Oリ−ドを起動するものとする。
【0070】この場合には、プロセッサ401からのP
I/Oリ−ドアクセスは、コントロ−ラ405によって
システムバス407上にリ−ド起動がかけられ、バス変
換装置410のPI/Oバッファ2,3のいずれか一方
に格納される。次に、バス変換装置410からI/Oバ
ス413上にリ−ド起動がかけられ、I/O418がリ
−ド要求を受け付ける。かかる状態では、リ−ド要求を
受け付けたI/O418が応答リ−ドデ−タを準備でき
るまで、システムバス407とI/Oバス413はとも
に使用可能状態となっている。このために、プロセッサ
402からI/O419に対するPI/Oリ−ド要求が
発生しても、待たされずにトランザクションを発行する
ことができる。
【0071】かかる動作を図11(b)に示し、これと
比較するために、I/Oバス413がスプリット対応に
なっていない場合の動作を図11(a)に示す。ここで
の符号は図9と同様であり、また、メインメモリのリ−
ドアクセスタイムは10サイクルとした。
【0072】ところで、この場合、バス変換装置410
に対する応答は、I/O418、419のどちらのリ−
ド応答デ−タが先に返ってくるかわからないが、応答サ
イクル時にI/Oが転送要求元IDを出力してくるの
で、そのまま転送要求元IDを付加し、システムバス4
07に転送してやればよい。このときのデ−タの流れを
図12に示す。
【0073】この実施例においては、上記のように、P
I/OバッファとDMAバッファとを2面ずつ備えてい
るので、PI/Oアクセス2件、DMA転送2件の合計
4件を並列に処理することができる。
【0074】図13は本発明によるバスシステムの他の
実施例を示す構成図であって、1301はプロセッサ・
メモリバス、1302はシステムバス、1303〜13
05はI/Oバス、1306〜1308はプロセッサ、
1309は主記憶装置(メインメモリ)、1310〜1
313はバス変換装置、1314〜1319はI/Oア
ダプタ、1320〜1325はI/Oである。
【0075】この実施例は、図13に示すように、プロ
セッサ・メモリバス1301、システムバス1302及
びI/Oバス1303〜1305までの3層の階層バス
構造をなしている。プロセッサ・メモリバス1301に
は、n個のプロセッサ1306,1307,……,13
08と、メインメモリ1309が接続されており、この
プロセッサ・メモリバス1301はバス変換装置131
0を介してシステムバス1302に接続されている。ま
た、このシステムバス1302には、I/Oバス130
3,1304,1305が夫々バス変換装置1311,
1312,1313を介して接続されている。そして、
I/Oバス1303にはI/Oアダプタ1314,13
15を介してI/O1320,1321が、I/Oバス
1304にはI/Oアダプタ1316,1317を介し
てI/O1322,1323が、I/Oバス1305に
はI/Oアダプタ1318,1319を介してI/O1
324,1325が夫々接続されている。
【0076】システムバス1302には、図14に示す
ように、リトライ要求信号線1407が存在しており、
これにより、リトライ要求を受けたマスタモジュール
は、一旦バス権を放棄し、一定の時間後に再び同じトラ
ンザクションを発行することになっている。
【0077】なお、図14において、1401〜140
3はシステムバス上のモジュール、1404はバス権を
調停するバスアービタ、1405は多重化されたアドレ
ス/データ線、1406は制御信号線、1407はリト
ライ要求信号線、1408〜1410は夫々モジュール
1401,1402,1403からバスアービタ140
4に対するバス権要求信号線、1411〜1413はバ
スアービタ1404からモジュール1401,140
2,1403に対するバス権許可信号線、1414〜1
416はモジュール1401,1402,1403から
バスアービタ1404に対するバス権放棄信号線であ
り、図13に対応する部分には同一符号をつけている。
【0078】図13において、いま、プロセッサ130
6が、システムバス1302を介してI/O1320,
1322,1324に連続にPI/Oライトアクセスを
行なうものとする。ここで、これらI/O1320,1
322,1324は互いに何らかの手段を用いて通信可
能であり、これらの3連続PI/Oライトアクセスはア
クセス順序を保証しなければならないものとする。以
下、システムバス1302と各I/Oバスとの変換を行
なうバス変換装置1311,1312,1313の構成
をバス変換装置1311を代表して示す図15をも用い
てこの3連続PI/Oライトアクセスの場合の動作を説
明する。
【0079】但し、図15において、1501はシステ
ムバスインタフェース部、1502はバス変換部、15
03はI/Oバスインタフェース部、1504はシステ
ムバスアービトレーション制御部、1505はシステム
バスリトライ制御部、1506はシステムバス制御部、
1507はシステムバスアドレスバッファ、1508は
システムバスデータバッファ、1509はシステムバス
1302から設定可能なコントロールレジスタ(Mビッ
トは擬似リトライモードを指定するビットである)、1
510は擬似リトライモードであるか否かを各部に伝え
る制御信号、1511はシステムバス1302のアドレ
ス/データ線の出力バッファ、1512はシステムバス
1302のアドレス/データ線の入力バッファ、151
3はセレクタ、1514はI/Oバス1303からシス
テムバス1302へのアクセスのアドレス変換部、15
15はI/Oバス1303からシステムバス1302へ
のアクセスのデータサイジング部、1516はシステム
バス1302からI/Oバス1303へのアクセスのア
ドレス変換部、1517はシステムバス1302からI
/Oバス1303へのアクセスのデータサイジング部、
1518はシステムバス1302とI/Oバス1303
と間のプロトコル変換部、1519はI/Oバスアドレ
スバッファ、1520はI/Oバスデータバッファ、1
521はI/Oバスアービトレーション制御部、152
2はI/Oバス制御部、1523はセレクタ、1524
はI/Oバス1303のアドレス/データ線の入力バッ
ファ、1525はI/Oバス1303のアドレス/デー
タ線の出力バッファ、1526はシステムバス1302
のアービトレーション制御信号線、1527はI/Oバ
ス1303の多重化されたアドレス/データ線、152
8はI/Oバス1303のアービトレーション制御信号
線、1529はI/Oバス1303の制御信号線であ
り、前出図面に対応する部分には同一符号をつけてい
る。
【0080】図13及び図15において、まず、プロセ
ッサ1306は、擬似リトライを用いてPI/Oライト
の順序保証を行なうために、PI/Oライトでバス変換
装置1311,1312,1313夫々に対し、コント
ロールレジスタ1509のMビットにアクセスして擬似
リトライモードを設定する。この後、プロセッサ130
6がI/O1320にPI/Oライトアクセスを行なう
と、まず、バス変換装置1310がバス変換装置131
1にPI/Oライトトランザクションを発行する。する
と、入力バッファ1512を介して、ライトアドレスと
データとが夫々アドレスバッファ1507、データバッ
ファ1508に格納される。そして、バス変換部150
2を介してI/Oバス1303に起動がかかる。
【0081】このとき、システムバス1302側には、
リトライ制御部1505より、擬似的にリトライ要求が
送出される。これを受けたバス変換装置1310は、ト
ランザクションが受け付けられなかったと判断し、一定
の時間を置いて再び同一のトランザクションを発行して
くる。バス変換装置1311は最初の起動時に開始した
I/O1320に対するPI/Oアクセスが実際I/O
1320まで届いて完了するまでは、継続的に擬似リト
ライ要求を出し続ける。そして、I/O1320に対す
るPI/Oアクセスが実際I/O1320まで届いて完
了したことを確認(I/Oバス1303上で完全に転送
が終了したことを確認)すると、バス変換装置1310
からのリトライトランザクション起動を受入れるという
制御を行なう。これにより、バス変換装置1310は、
PI/Oアクセスが実際I/O1320まで届いて完了
するまでは、トランザクションがバス変換装置1311
のところで拒絶されているため、次の処理に移ることが
できない。
【0082】図16は以上のバス変換装置1310から
I/O1320へのライトアクセス動作を示している。
但し、同図において、1601はシステムバス1302
のアドレスサイクル指定信号、1602はシステムバス
1302のデータサイクル指定信号、1603はI/O
バス1303のアドレスサイクル指定信号、1604は
I/Oバス1303のデータサイクル指定信号、160
5はI/Oバス1303の転送完了信号、1606はシ
ステムバス1302上の最初のPI/Oライトアクセ
ス、1607はシステムバス1302上の1回目のリト
ライPI/Oライトアクセス、1608はシステムバス
1302上の2回目のリトライPI/Oライトアクセ
ス、1609はシステムバス1302上の1回目のリト
ライ要求、1610はシステムバス1302上の2回目
のリトライ要求、1611はシステムバス1302上の
PI/Oライトアクセス受付け、1612はI/Oバス
1303上のPI/Oライトアクセス、1613はI/
Oバス1303上のPI/Oライトアクセス完了サイク
ルであり、前出図面に対応する部分には同一符号をつけ
ている。
【0083】バス変換装置1310からI/O1322
へのアクセスや、バス変換装置1310からI/O13
24へのアクセスも同様の制御を行なう。これにより、
バス変換装置1310からI/O1322のライトアク
セスが開始されるときには、バス変換装置1310から
I/O1320のライトアクセスは完全に終了している
ことになり、PI/Oライトアクセスの順序は完全に保
証されているということになる。
【0084】また、この実施例では、リトライモードの
設定をコントロールレジスタ1509への設定で行なっ
ているが、バス上のトランザクションアドレスのデコー
ド結果で行なってもよい。この手法を採用すると、特
に、マルチプロセッサシステムにおいて、PI/Oライ
トアクセスの順序保証を必要としないプロセッサからの
アクセスを不要にリトライする場合がなくなり、性能低
下を防止する上で有効である。
【0085】以上のように、この実施例では、DMA時
のI/Oアダプタ起動のための初期化手続きやセマフォ
オペレーション等、PI/Oライトアクセスの順序保証
が必要なシーケンスプログラミングを行なう場合、その
都度PI/OライトアクセスがI/Oまで到達している
か否かをリードによってベリファイする手間を省くこと
ができ、ソフトウェア開発者がハードウェアの振る舞い
を意識せずに済むという効果がある。
【0086】また、この実施例では、PI/Oライトア
クセスの処理順序保証のためにバスプロトコルを変更す
る必要がなく、従来のハードウェアをベースに実現でき
るという効果もある。
【0087】
【発明の効果】以上説明したように、本発明によれば、
装置中のシステムバス、I/Oバスがともにスプリット
バスとなっているため、バス変換装置を介した同一のI
/Oバス上のI/Oを使用するトランザクションが競合
した場合でも、1つのトランザクションがI/Oバスを
占有することを防げるため、I/Oバスがネックになっ
てシステムバスのスプリット転送の効果を活かしきれな
いという問題を回避できる。即ち、システム中にアクセ
スタイムの遅いI/Oが接続されていても、これによっ
て他のアクセスのスル−プットや応答性が低下するのを
防ぐことができ、その結果、装置のシステム性能を向上
させることができる。また、スプリットバスを採用した
ことにより、リ−ドアドレス以外に保持しておかなけれ
ばならないリ−ド応答を返す起動元の情報をモジュ−ル
IDで指定するようにし、しかも、全階層のバスにわた
って一貫して使用する手段を設けたことにより、リ−ド
応答先情報の変換等の制御ハ−ドウェアの複雑さを回避
することができる。
【0088】また、本発明によると、DMA時のI/O
アダプタ起動のための初期化手続きやセマフォオペレー
ション等、PI/Oライトアクセスの順序保証が必要な
シーケンスプログラミングを行なう場合、その都度PI
/OライトがI/Oまで到達しているか否かをリードに
よってベリファイする手間を省くことができ、ソフトウ
ェア開発者がハードウェアの振る舞いを意識せずに済む
という効果がある。
【図面の簡単な説明】
【図1】本発明の実施例に用いるバス変換装置の内部構
成を示すブロック図である。
【図2】本発明の実施例におけるシステムバスとI/O
バスのスプリットリ−ドタイミングを示すタイムチャ−
トである。
【図3】本発明の実施例におけるシステムバスとI/O
バスのライトタイミングを示すタイムチャ−トである。
【図4】本発明によるスプリットバス変換制御方式およ
びそのシステムの一実施例を示すブロック図である。
【図5】図4に示した実施例でのPI/Oリ−ドアクセ
スのデ−タフロ−図である。
【図6】図4に示した実施例でのPI/Oライトアクセ
スのデ−タフロ−図である。
【図7】図4に示した実施例でのDMAリ−ドアクセス
のデ−タフロ−図である。
【図8】図4に示した実施例でのDMAライトアクセス
のデ−タフロ−図である。
【図9】図4に示した実施例のPI/Oリ−ドとDMA
ライトとの競合時での動作を示すタイミングチャ−トで
ある。
【図10】図4に示した実施例のDMAリ−ドとPI/
Oライトとの競合時での動作を示すタイミングチャ−ト
である。
【図11】図4に示した実施例のPI/Oリ−ド同志の
競合時での動作を示すタイミングチャ−トである。
【図12】図4に示した実施例のPI/Oリ−ド同志の
競合時でのデ−タの流れを示すフロ−図である。
【図13】本発明によるバス制御方式の一実施例を示す
ブロック図である。
【図14】図13に示した実施例でののシステムバス接
続図である。
【図15】図13におけるバス変換装置の一具体例を示
すブロック図である。
【図16】図13に示した実施例のPIOライトアクセ
ス動作を示すタイムチャートである。
【符号の説明】
1 バス変換装置 2,3 PI/Oバッファ 4,5 DMAバッファ 6 アドレスバッファ 7 デ−タバッファ 8 デ−タサイジング部 9 アクセス制御情報バッファ 10 転送要求元IDバッファ 11 アドレスバッファ 12 デ−タバッファ 13 デ−タサイジング部 14 アクセス制御情報バッファ 15 転送要求元IDバッファ 16 アドレスバッファ 17 デ−タバッファ 18 デ−タサイジング部 19 アクセス制御情報バッファ 20 転送要求元IDバッファ 21 アドレスバッファ 22 デ−タバッファ 23 デ−タサイジング部 24 アクセス制御情報バッファ 25 転送要求元IDバッファ 26 PI/O制御部 27 Aバス制御部 28 Aバスのバス権調停部 29 DMA制御部 30 Bバス制御部 31 Bバスのバス権調停部 32〜37 双方向バスドライバ 38〜51 セレクタ 52 アクセス調停部 53 PI/O時デ−タ出力パス 54 DMA時デ−タ出力パス 55 PI/O時アドレス出力パス 56 DMA時のアドレス出力パス 60 Aバスのアドレス/デ−タ線 61 Aバスの制御信号線 62 Aバスのア−ビトレ−ション信号線 63 Aバスの転送要求元ID用信号線 64 Bバスのアドレス/デ−タ線 65 Bバスの制御信号線 66 Bバスのア−ビトレ−ション信号線 67 Bバスの転送要求元ID用信号線 70,71 アドレスデコ−ダ 72,73 転送要求元ID比較器 401〜403、 プロセッサ 404 プロセッサバス 405 コントロ−ラ 406 メインメモリ 407 システムバス 408,409 バスアダプタ 411,412 I/Oバス 413 スプリットI/Oバス 414〜419 I/O(入出力装置) 1301 プロセッサ・バス 1302 システムバス 1303〜1305 I/Oバス 1306〜1308 プロセッサ 1309 メインメモリ 1310〜1313 バス変換装置 1314〜1319 I/Oアダプタ 1320〜1324 I/O 1401〜1403 モジュール 1404 バスアービタ 1415 アドレス/データ線 1406 制御信号線 1407 リトライ要求線 1408〜1410 バス権要求信号線 1411〜1413 バス権許可信号線 1414〜1416 バス権放棄信号線 1501 システムバスインタフェース部 1502 バス変換部 1503 I/Oバスインタフェース部 1504 システムバスアービトレーション制御部 1505 システムバスリトライ制御部 1506 システムバス制御部 1507 システムバスアドレスバッファ 1508 システムバスデータバッファ 1509 コントロールレジスタ 1513 セレクタ 1514 アドレス変換部 1515 データサイジング部 1516 アドレス変換部 1517 データサイジング部 1518 プロトコル変換部 1519 I/Oバスアドレスバッファ 1520 I/Oバスデータバッファ 1521 I/Oバスアービトレーション制御部 1522 I/Oバス制御部 1523 セレクタ 1526 アービトレーション制御信号線 1527 アドレス/データ線 1528 アービトレーション制御信号線 1529 制御信号線 1527 I/Oバス1303の多重化されたアドレス
/データ線 1606 システムバス上の最初のPI/Oライトアク
セス 1607 システムバス上の1回目のリトライPI/O
ライトアクセス 1608 システムバス上の2回目のリトライPI/O
ライトアクセス 1609 システムバス上の1回目のリトライ要求 1610 システムバス上の2回目のリトライ要求 1611 システムバス上のPI/Oライトアクセス受
付け 1612 I/Oバス上のPI/Oライトアクセス 1613 I/Oバス上のPI/Oライトアクセス完了
サイクル
───────────────────────────────────────────────────── フロントページの続き (72)発明者 篠崎 雅継 神奈川県海老名市下今泉810番地 株式会 社日立製作所オフィスシステム事業部内 (72)発明者 大坂 浩 神奈川県秦野市堀山下1番地 株式会社日 立製作所神奈川工場内 (72)発明者 平松 昌高 神奈川県秦野市堀山下1番地 株式会社日 立製作所神奈川工場内 (72)発明者 岩月 和子 神奈川県横浜市戸塚区吉田町292番地 株 式会社日立製作所マイクロエレクトロニク ス機器開発研究所内

Claims (21)

    【特許請求の範囲】
  1. 【請求項1】 少なくともプロセッサと記憶装置が第1
    のバスに接続され、かつ入出力装置が接続された第2の
    バスが所定数夫々バス変換装置を介して該第1のバスに
    接続され、階層構造をなしたバスシステムにおいて、 該第1,第2のバスがスプリットバスであることを特徴
    としたバスシステム。
  2. 【請求項2】 請求項1において、 リ−ドトランザクションの応答サイクル時の応答先を、
    アドレス以外の専用信号線を用いた識別子で指定するこ
    とを特徴としたバスシステム。
  3. 【請求項3】 請求項2において、 前記第1,第2のバスを介してリ−ドトランザクション
    を行なう場合、前記識別子を前記第1,第2のバスで共
    通に使用することを特徴とするバスシステム。
  4. 【請求項4】 請求項3において、 リ−ド起動サイクル時にリ−ド起動元モジュ−ルが出力
    する応答先指定識別子をリ−ド起動モジュ−ル側のバス
    から取り込んで保持する手段と、 リ−ド起動サイクルを起こすときに、該手段で保持され
    た該応答先指定識別子をリ−ド応答モジュ−ル側のバス
    に応答先指定識別子としてそのまま出力する手段と、 リ−ド応答モジュ−ル側のバスでリ−ド応答サイクルが
    発生したとき、そのときに該リード応答モジュ−ルが出
    力する応答先指定識別子とリ−ド起動サイクル時に保持
    したリ−ド起動モジュ−ルを示す応答先指定識別子を比
    較し、これらが一致したときに応答サイクルが返ってき
    たことを判定する手段と、 応答デ−タを、リ−ド起動時に保持したリ−ド起動モジ
    ュ−ルを示す応答先指定識別子とともに、リ−ド起動モ
    ジュ−ル側のバスに出力する手段とを有することを特徴
    とするバス変換装置。
  5. 【請求項5】 請求項1において、 前記第1のバスから起動をかけられたトランザクション
    のアドレス、デ−タ及び制御情報を保持するための第1
    のバッファと、 前記第2のバスから起動をかけられたトランザクション
    のアドレス、デ−タ及び制御情報を保持するための第2
    のバッファとを個別に有することを特徴とするバス変換
    装置。
  6. 【請求項6】 請求項5において、 第1,第2のバッファを複数面ずつ備えたことを特徴と
    するバス変換装置。
  7. 【請求項7】 請求項5において、 前記第1のバスから起動をかけられたトランザクション
    を制御する第1のアクセス制御部と、 前記第2のバスから起動をかけられたトランザクション
    を制御する第2のアクセス制御部と、 前記第1のバスのインタフェ−ス制御を行なう第1のバ
    ス制御部と、 前記第2のバスのインタフェ−ス制御を行なう第2のバ
    ス制御部と、 該第1,第2のアクセス制御部から該第1,第2のバス
    制御部に対する使用要求を調停するアクセス調停部とを
    有することを特徴とするバス変換装置。
  8. 【請求項8】 請求項7において、 前記第1または前記第2のバスからトランザクション起
    動がかけられたとき、これに対応する前記第1または第
    2のアクセス制御部が、トランザクションの種類に応じ
    て、かつ互いに独立に、前記第1または第2のバス制御
    部を使用して転送制御を行ない、前記第1または第2の
    バス制御部に対する使用要求が競合したときにのみ、前
    記アクセス調停部によって制御を受けることを特徴とす
    るバス変換装置。
  9. 【請求項9】 請求項5において、 前記第1のバスから起動をかけられたトランザクション
    の応答先指定識別子を保持するためのバッファと、 前記第2のバスから起動をかけられたトランザクション
    の応答先指定識別子を保持するためのバッファとを個別
    に有することを特徴とするバス変換装置。
  10. 【請求項10】 請求項9において、 前記第1のバスから起動をかけられたリ−ドトランザク
    ションに対応する応答先指定識別子とこれに対する前記
    第2のバスから起動をかけられたリ−ド応答トランザク
    ションの応答先指定識別子を比較するコンパレ−タと、 前記第2バスから起動をかけられたリ−ドトランザクシ
    ョンに対応する応答先指定識別子とこれに対する前記第
    1のバスから起動をかけられたリ−ド応答トランザクシ
    ョンの応答先指定識別子を比較するコンパレ−タとを有
    し、これらコンパレ−タの比較結果により、前記第2ま
    たは前記第1のバスからリ−ド応答であることを判定す
    ることを特徴とするバス変換装置。
  11. 【請求項11】 バスを介して少なくとも2以上のモジ
    ュール間でデータ転送を可能とし、 バス権を所有するマスタモジュールのトランザクション
    起動先のスレーブ側モジュールがトランザクション受付
    け不可能状態であることをマスタモジュールに伝えると
    同時に、該マスタモジュールがバス権を放棄した後、一
    定の期間を置いて、再びトランザクション起動をかける
    リトライを要求するようにしたバスシステムにおいて、 トランザクション受付け可能状態で起動をかけられたラ
    イトアクセスに対しても、該スレーブ側モジュールが該
    マスタモジュールに対してリトライ要求することを特徴
    とするバス制御方式。
  12. 【請求項12】 請求項11において、 前記スレーブ側モジュールは、トランザクション受付け
    可能状態で起動をかけられたライトトランザクションに
    対し、前記マスタ側モジュールにリトライ要求を送出し
    た後、実際は、該ライトトランザクション要求に対応し
    たライトアクセスを開始することを特徴とするバス制御
    方式。
  13. 【請求項13】 請求項12において、 前記スレーブ側モジュールは、前記マスタ側モジュール
    にリトライ要求を送出した後、最初の起動で実際に開始
    した該ライトアクセスが完了する前に再び前記マスタモ
    ジュールからリトライトランザクション起動がかかった
    場合、再度リトライ要求を前記マスタ側モジュールに送
    出してリトライ動作を繰り返させ、該ライトアクセスが
    完了したことを検知した時点以降にかけせれたトランザ
    クション起動で初めて、前記マスタモジュールのトラン
    ザクションを受け付けることを特徴とするバス制御方
    式。
  14. 【請求項14】 請求項11,12または13に記載の
    バス制御方式によるバスシステムを有する情報処理シス
    テムにおいて、 前記モジュールにプロセッサからのPIOアクセスで設
    定できるコントロールレジスタを設け、 請求項11,12または13に記載のバス制御方式を行
    なうか否かを該コントロールレジスタの設定値により選
    択的に指定可能としたことを特徴とするバス制御方式。
  15. 【請求項15】 請求項11,12または13に記載の
    バス制御方式によるバスシステムを有する情報処理シス
    テムにおいて、 前記モジュールにバス上に発行されたトランザクション
    のアドレスデコードを設け、 請求項11,12または13に記載のバス制御方式を行
    なうか否かを、該アドレスデコードの結果により選択的
    に指定できることを特徴とするバス制御方式
  16. 【請求項16】 請求項11,12,13,14または
    15に記載の制御方式によるバス及び該バス上にモジュ
    ールを単数または複数有することを特徴とするバスシス
    テム。
  17. 【請求項17】 DMA時のIOアダプタ起動のための
    初期化シーケンスやロッキングオペレーション等、PI
    Oライトの手続き順序の保証が必要なプログラミングを
    行なう場合、請求項11,12,13または14に記載
    の制御方式によりPIOライトの実行順序保証を行な
    い、 同一アドレスのリードベリファイの手間を省くことがで
    きるようにしたことを特徴とするバス制御方式。
  18. 【請求項18】 複数のプロセッサと、該プロセッサが
    接続されるプロセッサバスと、バス変換装置を介して該
    プロセッサバスや入出力装置が接続されたシステムバス
    とを有し、少なくとも1つ以上の記憶装置もしくは入出
    力装置を該プロセッサ間で共有するマルチプロセッサシ
    ステムにおいて、 該プロセッサバスと該システムバスとを接続する該バス
    変換装置で、該プロセッサバス側から起動をかけられた
    PIOライトアクセスを該プロセッサ毎にシリアライズ
    することを特徴とするバス制御方式。
  19. 【請求項19】 請求項18において、 前記システムバス上に接続されるモジュールに請求項1
    1,12,13または14に記載のバス制御方式を行な
    う手段を設け、 PIOライトアクセスの順序保証を行なうことを特徴と
    するバス制御方式。
  20. 【請求項20】 請求項18において、 前記システムバス上に接続されるモジュールに請求項1
    1,12,13または15に記載のバス制御方式を行な
    う手段を設け、 アクセスの順序保証の要否をトランザクションのアドレ
    スで見分けることにより、順序保証が必要な一連のPI
    Oライト手続きを実行しようとしている前記プロセッサ
    からのアクセスのみの順序保証を行ない、かつ、該プロ
    セッサ以外プロセッサからのPIOライトアクセスがリ
    トライ要求を受けないことを特徴とするバス制御方式。
  21. 【請求項21】 請求項19または20において、 前記システムバス上に、請求項11,12,13,14
    または15に記載のバス制御方式を行なう手段を有する
    モジュールを複数接続することにより、アクセス先が、
    前記システムバスを介してアクセス可能な複数のIOバ
    ス上にわたっているPIOライトに関して、実行順序保
    証を行なうことを特徴とするバス制御方式。
JP30408792A 1992-11-13 1992-11-13 情報処理装置 Expired - Lifetime JP3466214B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP30408792A JP3466214B2 (ja) 1992-11-13 1992-11-13 情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP30408792A JP3466214B2 (ja) 1992-11-13 1992-11-13 情報処理装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2002017206A Division JP2002278923A (ja) 2002-01-25 2002-01-25 バスシステム,バス制御方式及びそのバス変換装置

Publications (2)

Publication Number Publication Date
JPH06149730A true JPH06149730A (ja) 1994-05-31
JP3466214B2 JP3466214B2 (ja) 2003-11-10

Family

ID=17928870

Family Applications (1)

Application Number Title Priority Date Filing Date
JP30408792A Expired - Lifetime JP3466214B2 (ja) 1992-11-13 1992-11-13 情報処理装置

Country Status (1)

Country Link
JP (1) JP3466214B2 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6145044A (en) * 1998-03-19 2000-11-07 Mitsubishi Denki Kabushiki Kaisha PCI bus bridge with transaction forwarding controller for avoiding data transfer errors
JP2001160815A (ja) * 1999-10-01 2001-06-12 Stmicroelectronics Inc 集積回路における相互接続モジュール用の接続ポート
US6480187B1 (en) 1997-08-07 2002-11-12 Fujitsu Limited Optical scanning-type touch panel
US6584530B2 (en) 1995-09-05 2003-06-24 Hitachi, Ltd. Information processing system, bus arbiter, and bus controlling method
US6591325B1 (en) 1999-04-14 2003-07-08 Hitachi, Ltd. Method and apparatus of out-of-order transaction processing using request side queue pointer and response side queue pointer
JP2006293927A (ja) * 2005-04-14 2006-10-26 Toshiba Corp ダイレクトメモリアクセス制御装置及びダイレクトメモリアクセス制御装置を含むシステムlsi
JP2008519333A (ja) * 2004-10-28 2008-06-05 インテル・コーポレーション 分割トランスアクションを用いたバッファレス・dma・コントローラの実施
JP2012168808A (ja) * 2011-02-15 2012-09-06 Fujitsu Semiconductor Ltd データ転送システム,データ転送スケジューリングプログラム

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6584530B2 (en) 1995-09-05 2003-06-24 Hitachi, Ltd. Information processing system, bus arbiter, and bus controlling method
US6480187B1 (en) 1997-08-07 2002-11-12 Fujitsu Limited Optical scanning-type touch panel
US6145044A (en) * 1998-03-19 2000-11-07 Mitsubishi Denki Kabushiki Kaisha PCI bus bridge with transaction forwarding controller for avoiding data transfer errors
US6591325B1 (en) 1999-04-14 2003-07-08 Hitachi, Ltd. Method and apparatus of out-of-order transaction processing using request side queue pointer and response side queue pointer
JP2001160815A (ja) * 1999-10-01 2001-06-12 Stmicroelectronics Inc 集積回路における相互接続モジュール用の接続ポート
JP4669113B2 (ja) * 1999-10-01 2011-04-13 エスティーマイクロエレクトロニクス,インコーポレイテッド 集積回路における相互接続モジュール用の接続ポート
JP2008519333A (ja) * 2004-10-28 2008-06-05 インテル・コーポレーション 分割トランスアクションを用いたバッファレス・dma・コントローラの実施
JP4676990B2 (ja) * 2004-10-28 2011-04-27 インテル・コーポレーション 分割トランスアクションを用いたバッファレス・dma・コントローラの実施
JP2006293927A (ja) * 2005-04-14 2006-10-26 Toshiba Corp ダイレクトメモリアクセス制御装置及びダイレクトメモリアクセス制御装置を含むシステムlsi
JP2012168808A (ja) * 2011-02-15 2012-09-06 Fujitsu Semiconductor Ltd データ転送システム,データ転送スケジューリングプログラム

Also Published As

Publication number Publication date
JP3466214B2 (ja) 2003-11-10

Similar Documents

Publication Publication Date Title
US5671371A (en) Bus control system
US5450551A (en) System direct memory access (DMA) support logic for PCI based computer system
US5850530A (en) Method and apparatus for improving bus efficiency by enabling arbitration based upon availability of completion data
JP3189139B2 (ja) 情報転送システムおよび方法
US5764929A (en) Method and apparatus for improving bus bandwidth by reducing redundant access attempts
JPH09190406A (ja) 直接メモリアクセス制御装置及びこれを用いた伝送システム
JP3519182B2 (ja) 情報処理システムおよびバスアービタならびにバス制御方法
JPH08297632A (ja) 分割トランザクション・バス・プロトコルを可能にするバスに対するアービトレーション方法及び装置
US5590299A (en) Multiprocessor system bus protocol for optimized accessing of interleaved storage modules
JPH10293744A (ja) Pciバス・システム
EP1068573B1 (en) Method and apparatus for arbitrating access to multiple buses in a data processing system
US5933616A (en) Multiple bus system bus arbitration according to type of transaction requested and the availability status of the data buffer between the buses
JP3466214B2 (ja) 情報処理装置
US5680554A (en) Method and apparatus for arbitrating among processors for access to a common bus
US6721833B2 (en) Arbitration of control chipsets in bus transaction
JPH07244634A (ja) 外部記憶制御装置およびバス切り替え制御方法
JPH06139207A (ja) システムバス制御方式
JP2000207348A (ja) デ―タ処理装置および方法
JPH0738178B2 (ja) デバイス情報インタフェース
JP2002278923A (ja) バスシステム,バス制御方式及びそのバス変換装置
JPH04134551A (ja) 複数のデータ処理エージェントの間でデータを転送するバスにおいて、第1のエージェントがサービスの必要を第2のエージェントへ知らせる方法
US6240474B1 (en) Pipelined read transfers
JPH0544238B2 (ja)
JPH10283302A (ja) 複数のプロセッサに接続されたバスにデータを供給する方法およびシステム
JP2727514B2 (ja) 転送先id指定回路

Legal Events

Date Code Title Description
FPAY Renewal fee payment (prs date is renewal date of database)

Year of fee payment: 4

Free format text: PAYMENT UNTIL: 20070829

FPAY Renewal fee payment (prs date is renewal date of database)

Year of fee payment: 5

Free format text: PAYMENT UNTIL: 20080829

FPAY Renewal fee payment (prs date is renewal date of database)

Year of fee payment: 5

Free format text: PAYMENT UNTIL: 20080829

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090829

Year of fee payment: 6

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100829

Year of fee payment: 7

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100829

Year of fee payment: 7

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110829

Year of fee payment: 8

FPAY Renewal fee payment (prs date is renewal date of database)

Year of fee payment: 9

Free format text: PAYMENT UNTIL: 20120829

FPAY Renewal fee payment (prs date is renewal date of database)

Year of fee payment: 10

Free format text: PAYMENT UNTIL: 20130829

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130829

Year of fee payment: 10