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

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

Info

Publication number
JP2002278923A
JP2002278923A JP2002017206A JP2002017206A JP2002278923A JP 2002278923 A JP2002278923 A JP 2002278923A JP 2002017206 A JP2002017206 A JP 2002017206A JP 2002017206 A JP2002017206 A JP 2002017206A JP 2002278923 A JP2002278923 A JP 2002278923A
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.)
Pending
Application number
JP2002017206A
Other languages
English (en)
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 JP2002017206A priority Critical patent/JP2002278923A/ja
Publication of JP2002278923A publication Critical patent/JP2002278923A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Small-Scale Networks (AREA)
  • Bus Control (AREA)

Abstract

(57)【要約】 【課題】 複数のモジュールがバスを介して階層的に接
続されたバスシステムにおいて、トランザクションの競
合による応答性、バス使用効率及びスループットの低下
を最小限に押さえることができるようにする。 【解決手段】 システムバス407,I/Oバス411
〜413はスプリットバスであり、リードアクセスの起
動サイクルと応答データサイクルが分割可能なスプリッ
ト転送をサポートする。いま、プロセッサ401がバス
変換装置410を介してI/O418にリード起動をか
けたが、これに対するI/O418の応答データサイク
ルに入っていないとすると、システムバス407とI/
Oバス413は使用可能状態にあり、このため、プロセ
ッサ402が同じI/Oバス413のI/O419にリ
ード要求をしても、待たされることなく、プロセッサ4
01から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はプロセッサ、4
04はマルチプロセッサ対応のプロセッサバス、405
はプロセッサバス404とメインメモリ406とシステ
ムバス407との間のインタフェースを行なうコントロ
ーラ、406はメインメモリ、407はスプリット転送
をサポートしているシステムバス、408〜410はシ
ステムバス407と各I/Oバスとのインタフェースを
行なうバスアダプタ(バス変換装置)、411〜413
はスプリット転送をサポートしているI/Oバス、41
4〜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バス413の部分を拡大した図1を用いて説明す
る。但し、図1において、1はバス変換装置であって、
図4のバス変換装置410に相当し、Aバス(スプリッ
トバス)は図4のシステムバス407に、Bバス(スプ
リットバス)は図4のI/Oバス413に夫々相当す
る。また、2,3はPIOアクセス時のアドレスやデー
タ,制御情報等を保存するPIOバッファ、4,5はD
MAアクセス時のアドレスやデータ,制御情報等を保存
するためのDMAバッファ、6はPIOバッファ2のア
ドレスバッファ、7はPIOバッファ2のデータバッフ
ァ、8はPIOバッファ2用のデータサイジング部、9
はPIOバッファ2のアクセス制御情報バッファ、10
はPIOバッファ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はDMAバッファ4のアクセス制御情報バッファ、
20はDMAバッファ4の転送要求元IDバッファ、2
1はDMAバッファ5のアドレスバッファ、22はDM
Aバッファ5のデータバッファ、23はDMAバッファ
5用のデータサイジング部、24はDMAバッファ5の
アクセス制御情報バッファ、25はDMAバッファ5の
転送要求元IDバッファ、26はPIO制御部、27は
Aバス制御部、28はAバスのバス権調停部、29はD
MA制御部、30はBバス制御部、31はBバスのバス
権調停部、32〜37は双方向バスドライバ、38〜5
1はセレクタ、52はPIO制御部26及びDMA制御
部29がAバスもしくはBバスを使用する場合の調停を
行なうアクセス調停部、53はPIO時のデータ出力バ
ス、54はDMA時のデータ出力バス、55はDMA時
のアドレス出力バス、56はPIO時のアドレス出力バ
ス、60は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バスからのDM
Aアクセスがバス変換装置1に対するものであることを
判定するためのアドレスデコーダ、72はBバスからの
PIOリードの応答トランザクションがバス変換装置1
に対するものであることを判定するための転送要求元I
D比較器、73はAバスからのDMAリードの応答トラ
ンザクションがバス変換装置1に対するものであること
を判定するための転送要求元ID比較器である。
【0031】この実施形態では、PI/Oバッファ及び
DMAバッファは夫々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】この実施形態においては、上記のように、
PI/OバッファとDMAバッファとを2面ずつ備えて
いるので、PI/Oアクセス2件、DMA転送2件の合
計4件を並列に処理することができる。
【0074】図13は本発明によるバスシステムの他の
実施形態を示す構成図であって、1301はプロセッサ
・メモリバス、1302はシステムバス、1303〜1
305はI/Oバス、1306〜1308はプロセッ
サ、1309は主記憶装置(メインメモリ)、1310
〜1313はバス変換装置、1314〜1319はI/
Oアダプタ、1320〜1325はI/Oである。
【0075】この実施形態は、図13に示すように、プ
ロセッサ・メモリバス1301、システムバス1302
及びI/Oバス1303〜1305までの3層の階層バ
ス構造をなしている。プロセッサ・メモリバス1301
には、n個のプロセッサ1306,1307,……,1
308と、メインメモリ1309が接続されており、こ
のプロセッサ・メモリバス1301はバス変換装置13
10を介してシステムバス1302に接続されている。
また、このシステムバス1302には、I/Oバス13
03,1304,1305が夫々バス変換装置131
1,1312,1313を介して接続されている。そし
て、I/Oバス1303にはI/Oアダプタ1314,
1315を介してI/O1320,1321が、I/O
バス1304にはI/Oアダプタ1316,1317を
介してI/O1322,1323が、I/Oバス130
5にはI/Oアダプタ1318,1319を介してI/
O1324,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リードとDM
Aライトとの競合時での動作を示すタイミングチャート
である。
【図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番地 株 式会社日立製作所マイクロエレクトロニク ス機器開発研究所内 Fターム(参考) 5B061 BA01 BB02 FF22 GG02 GG07 5K032 CC06 DA07 DB26

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または1
    3に記載のバス制御方式を行なうか否かを、該アドレス
    デコードの結果により選択的に指定できることを特徴と
    するバス制御方式。
  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ライトに関して、実行順序保
    証を行なうことを特徴とするバス制御方式。
JP2002017206A 2002-01-25 2002-01-25 バスシステム,バス制御方式及びそのバス変換装置 Pending JP2002278923A (ja)

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Related Parent Applications (1)

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

Publications (1)

Publication Number Publication Date
JP2002278923A true JP2002278923A (ja) 2002-09-27

Family

ID=19192045

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JP2002278923A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005235197A (ja) * 2004-02-20 2005-09-02 Samsung Electronics Co Ltd 複数のマスタを含むサブシステムをオープンコアプロトコルを基盤とするバスに連結するためのバスシステム
US7506089B2 (en) 2004-02-11 2009-03-17 Samsung Electronics Co., Ltd. Bus system and method thereof
US7730247B2 (en) 2007-06-20 2010-06-01 Panasonic Corporation Information processing apparatus
CN114036096A (zh) * 2021-11-04 2022-02-11 珠海一微半导体股份有限公司 一种基于总线接口的读控制器

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7506089B2 (en) 2004-02-11 2009-03-17 Samsung Electronics Co., Ltd. Bus system and method thereof
JP2005235197A (ja) * 2004-02-20 2005-09-02 Samsung Electronics Co Ltd 複数のマスタを含むサブシステムをオープンコアプロトコルを基盤とするバスに連結するためのバスシステム
US7730247B2 (en) 2007-06-20 2010-06-01 Panasonic Corporation Information processing apparatus
CN114036096A (zh) * 2021-11-04 2022-02-11 珠海一微半导体股份有限公司 一种基于总线接口的读控制器
CN114036096B (zh) * 2021-11-04 2024-05-03 珠海一微半导体股份有限公司 一种基于总线接口的读控制器

Similar Documents

Publication Publication Date Title
US5611058A (en) System and method for transferring information between multiple buses
US6012118A (en) Method and apparatus for performing bus operations in a computer system using deferred replies returned without using the address bus
JPH08297632A (ja) 分割トランザクション・バス・プロトコルを可能にするバスに対するアービトレーション方法及び装置
JPH0652096A (ja) データ処理システム内でアービタを用いてバス仲裁を実行する方法および装置
JPH09190406A (ja) 直接メモリアクセス制御装置及びこれを用いた伝送システム
JPH02500784A (ja) 保留バスにおいて割り込み要求メッセージを処理するノード
US5649209A (en) Bus coupling information processing system for multiple access to system bus
JP2007219816A (ja) マルチプロセッサシステム
JP3690295B2 (ja) ディスクアレイ制御装置
JP2002055947A (ja) バスシステム及びそのバス仲裁方法
JP3466214B2 (ja) 情報処理装置
US6260091B1 (en) Method and apparatus for performing out-of-order bus operations in which an agent only arbitrates for use of a data bus to send data with a deferred reply
JP2002163228A (ja) 多重コアdsp装置のための外部バス裁定技術
JP2001216254A (ja) バストランザクションにおける制御チップセットのアービトレーション
JPH06139207A (ja) システムバス制御方式
JP2002278923A (ja) バスシステム,バス制御方式及びそのバス変換装置
US6694400B1 (en) PCI system controller capable of delayed transaction
JP3377797B2 (ja) 複数のデータ処理エージェントの間でデータを転送するバスにおいて、第1のエージェントがサービスの必要を第2のエージェントへ知らせる方法
JP2003316724A (ja) 制御チップセット間の信号送信デバイス
JPH08314854A (ja) データ転送システムおよびこれに関連する装置
JPH0738178B2 (ja) デバイス情報インタフェース
JP3111052B2 (ja) 複数のプロセッサに接続されたバスにデータを供給する方法およびシステム
JP3094944B2 (ja) アービトレーション方法及びその装置
JP3441521B2 (ja) バス・トランザクション実行の方法と装置
JPH0844661A (ja) 情報処理装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040730

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040810

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041008

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050816