(57)【要約】【課題】高位バスから低位バスへ連続した書込サイクルを実行する場合に高位バス側のバスマスタ装置が次の処理に迅速に移行するようにする。【解決手段】高位バス１７と低位バス１８の間に配置されたバスアダプタ装置２１には、高位バス１７に接続された高位バススレーブ回路２２と低位バス１８に接続された低位バスマスタ回路２３が配置されており、これらの間にはＦＩＦＯメモリ２４とアンパック・レジスタ２５が接続されている。書き込みのための情報がＦＩＦＯメモリ２４に格納されると、低位バスマスタ回路２３が低位バス１８に順次データを独自に転送する。このため、ＦＩＦＯメモリ２４に情報が格納された時点で高位バス１７側のマスタ装置は拘束を解かれることになる。【選択図】　図１
2004005706.tif 000002
【特許請求の範囲】
【請求項１】
第１の単位量を一回の転送量としてデータの転送を行う高位バスと、
前記第１の単位量よりも小さな第２の単位量でデータの転送を行う低位バスと、
これらのバスを接続し、高位バス上のマスタ装置から低位バス上の複数のスレーブ装置のうちの該当するものを択一的に選択してこれらにデータを書き込むときその転送データの内容や宛先、転送データのサイズからなる格納情報を低位バスにアクセスする順序で前記第１の単位量ずつ順次複数回分格納可能な容量の格納手段と、この格納手段に前記第１の単位量だけ前記格納情報を格納するたびに前記マスタ装置に対してスレーブ装置にデータの書き込みが完了したことを示すアクノリッジ信号を擬似的に送出するアクノリッジ信号送出手段と、前記格納手段に格納された第１の単位量のデータを第２の単位量のデータに順次組み換えるデータ組替え手段と、組み換えられたデータを低位バス上の前記スレーブ装置に転送する転送手段と、前記格納手段に前記情報が格納されているか否かを判別する格納有無判別手段と、高位バス上のマスタ装置が低位バス上のスレーブ装置からデータを読み出すとき格納有無判別手段が格納無しの判別を行うまでこれを待機させる読出待機手段とを備えたバスアダプタ装置
とを具備することを特徴とする計算機システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はデータバス幅の異なった２つのバスと、これらを接続してデータの転送を行わせるバスアダプタ装置とを有する計算機システムに係わり、特に高位バス側から低位バス側にデータを書き込む際に効率的な書込作業を可能にする計算機システムに関する。
【０００２】
【従来の技術】
膨大なデータを短時間で処理するために、計算機システムの処理速度の向上が強く望まれている。このような要請に応ずるために、計算機システムを構成するＣＰＵ（中央処理装置）や主メモリ装置等の回路装置のデータ入出力幅としてのいわゆるデータバス幅が広くなっており、データの転送速度の高速化も著しくなっている。一例を挙げると、ある計算機システムではＣＰＵが６４ビットのデータ幅を有しており、データ転送のサイクル時間は１５ｎｓ（ナノ秒）となっている。
【０００３】
このように計算機システムの性能が向上しているが、一方でこれら新しい計算機システムに従来の装置を接続して活用できるという互換性維持も、ハードウェア設計資産の有効活用の上から強く要請されている。例えば前記したような高速の計算機システムに、データバス幅が８ビットあるいは１６ビットで、サイクル時間が２００ｎｓといった低速なスレーブ装置を接続する必要が生じる。
【０００４】
図７は従来提案された計算機システムを表わしたものである。バス１１には、ＣＰＵ１２、主メモリ装置１３ならびに入出力制御装置１４が接続されている。低速のスレーブ装置１５１、１５２、……は、データバス幅の差異を吸収するためのバスアダプタ装置１６１、１６２、……を介してバス１１と接続されている。
【０００５】
このような計算機システムでは、低速のスレーブ装置１５１、１５２、……の数だけバスアダプタ装置１６１、１６２、……が必要となる。したがって、システムを構成するハードウェア量が増大するといった問題がある。そこで、高位バスと低位バスに分けてマスタ装置等の接続を行った計算機システムが提案されている。
【０００６】
図８は、高位バスと低位バスが混用された従来の計算機システムの一例を表わしたものである。ここで高位バス１７とはデータバス幅が比較的広く、データの転送速度も比較的高速なバスであり、低位バス１８とはデータバス幅が比較的狭く、データの転送速度も比較的低速なバスである。この例では、高位バス１７にＣＰＵ１２、主メモリ装置１３ならびに入出力制御装置１４が接続されており、低位バス１８には幾つかのスレーブ装置１５１、１５２……が接続されている。また、これら高位バス１７と低位バス１８の間にはバスアダプタ装置１６が接続されている。
【０００７】
このような計算機システムで、バスアダプタ装置１６は高位バス１７と低位バス１８の間のデータバス幅の差異を吸収する必要がある。そこで、バスアダプタ装置１６内には、データの分解と組み立てを行う機構が組み込まれている。例えば特開昭６１−１５１７６９号公報には、高位バス１が１６ビットのデータバス幅で、低位バス１８が８ビットのデータバス幅の場合の機構が開示されている。また、特開平１−１６１５６１号公報には高位バス１７と低位バス１８のデータ転送サイズの比がｍ対１の場合の機構が開示されている。ここで符号“ｍ”は２以上の正の整数である。
【０００８】
これらの従来技術では、アクセス対象を表わしたアドレス情報をバスアダプタ装置内に１つラッチしておき、低位バス側で実行される複数回のバスサイクル（後の例ではｍ回のバスサイクル）に応じて下位のアドレスの更新を順に行うようにしている。先に示した従来技術では、ＣＰＵの書き込み操作時にデータをバスアダプタ装置内にラッチすることで、このＣＰＵを下位アドレスの更新作業に先駆けて先行開放を行うことができることが示されている。
【０００９】
【発明が解決しようとする課題】
しかしながら、このような従来技術によれば、バスアダプタ内に保持することのできるバスサイクルは、高位バス側での１サイクル分のみとなっている。したがって、前記した先行開放についても、これができるのはＣＰＵの１バスサイクルに対してのみであり、引き続く書込サイクルまでも有効とされるものではない。
【００１０】
特開平１−１６１４６３号公報ではこのような問題点の解決を図っている。この提案では、複数のチャネル装置それぞれに独立したデータバッファを設けるようにしている。したがって、複数の低位バス装置のそれぞれに対してデータバッファが設けられることになり、異なった低位バス装置に対して書込サイクルが実行されるような場合には、バスアダプタ内に実質的に複数サイクル分のアドレスを格納することができる。
【００１１】
しかしながら、この提案でも同一の低位バス装置に対してたまたま連続した書込サイクルが実行されるような場合には、対応するデータバッファが高位バス側での１サイクル分であることに変わりがない。したがって、同一低位バス装置に対する連続した書込サイクルに対しては問題点を解決することができない。更に、この提案ではチャネル装置ごとに独立したデータバッファを用意する必要がある。このため、ハードウェア量が増大するという問題点もあった。
【００１２】
そこで本発明の目的は、高位バスから低位バスへ連続した書込サイクルを実行する場合であっても、高位バス側のバスマスタ装置が次の処理に迅速に移行することができるバスアダプタ装置を備えた計算機システムを提供することにある。
【００１３】
本発明の他の目的は、低位バス側の異なるスレーブ装置に対する書き込みをバスアダプタ装置内に単一のバッファを設けることで可能にする計算機システムを提供することにある。
【００１４】
本発明の更に他の目的は、低位バス側の異なるスレーブ装置に対する書き込みをバスアダプタ装置内の単一のバッファを用いて行なう際に低位バス上のスレーブ装置からのデータの読み出しを支障なく行うことのできる計算機システムを提供することにある。
【００１５】
【課題を解決するための手段】
請求項１記載の発明では、（イ）第１の単位量を一回の転送量としてデータの転送を行う高位バスと、（ロ）第１の単位量よりも小さな第２の単位量でデータの転送を行う低位バスと、（ハ）これらのバスを接続し、高位バス上のマスタ装置から低位バス上の複数のスレーブ装置のうちの該当するものを択一的に選択してこれらにデータを書き込むときその転送データの内容や宛先、転送データのサイズからなる格納情報を低位バスにアクセスする順序で第１の単位量ずつ順次複数回分格納可能な容量の格納手段と、この格納手段に第１の単位量だけ格納情報を格納するたびにマスタ装置に対してスレーブ装置にデータの書き込みが完了したことを示すアクノリッジ信号を擬似的に送出するアクノリッジ信号送出手段と、格納手段に格納された第１の単位量のデータを第２の単位量のデータに順次組み換えるデータ組替え手段と、組み換えられたデータを低位バス上のスレーブ装置に転送する転送手段と、格納手段に前記した情報が格納されているか否かを判別する格納有無判別手段と、高位バス上のマスタ装置が低位バス上のスレーブ装置からデータを読み出すとき格納有無判別手段が格納無しの判別を行うまでこれを待機させる読出待機手段とを備えたバスアダプタ装置とを計算機システムに具備させる。
【００１６】
すなわち請求項１記載の発明では、例えば３２ビット単位でデータの転送を行う高位バスと８ビット単位でデータの転送を行う低位バスを接続するバスアダプタ装置に、高位バス上のマスタ装置から低位バス上のスレーブ装置に第１の単位量を一回の転送量としてデータを書き込むときこれに必要な情報を一時的に格納する第１の単位量ずつ順次複数回分格納可能な容量の格納手段を用意し、これに取敢えず必要な情報を第１の単位量ずつ格納し、第１の単位量だけ格納情報を格納するたびに低位バスに対するデータの書き込みを待つことなくアクノリッジ信号送出手段によってアクノリッジ信号を擬似的に該当するマスタ装置に送出するようにしている。また、格納手段に前記した情報が格納されているか否かを判別する格納有無判別手段を用意しておき、これに前記した情報が格納されていないときに限って高位バスからのデータの読み出しの要求に応ずることにして、スレーブ装置に書き込まれていない情報が読み出される事態の発生を防止してデータの読み出しを支障なく行えるようにしている。
【００１７】
【発明の実施の形態】
【００１８】
【実施例】
以下実施例につき本発明を詳細に説明する。
【００１９】
図１は本発明の一実施例における計算機システムの概要を表わしたものである。本実施例の計算機システムは、高位バス１７と低位バス１８ならびにこれらを接続するバスアダプタ装置２１とで構成されている。本実施例で高位バス１７のデータバス幅は３２ビットであり、低位バス１８のデータバス幅は８ビットとなっている。
【００２０】
バスアダプタ装置２１には、高位バス１７と接続されそのスレーブ装置として機能する高位バススレーブ回路２２と、低位バス１８と接続されそのマスタ装置として機能する低位バスマスタ回路２３が配置されている。高位バススレーブ回路２２は高位バス１７側の図示しないＣＰＵやＤＭＡ（ダイレクト・メモリ・アクセス）装置に代表されるマスタ装置からアクセスを受け付けるようになっている。低位バスマスタ回路２３は、低位バス１８側に配置された各種スレーブ装置に対して所定の回数だけ書込あるいは読出サイクルを起動するようになっている。
【００２１】
バスアダプタ装置２１の図で左半分が高位バス１７から低位バス１８への書込サイクル時に機能する回路部分であり、ここにはＦＩＦＯ（先入れ先出し）メモリ２４とアンパック・レジスタ２５とが配置されている。また、バスアダプタ装置２１の図で右半分が低位バス１８を高位バス１７から読み出すサイクルのときに機能する回路部分であり、ここにはデータ・ラッチ回路２６とパック・レジスタ２７とが配置されている。以下、高位バス１７から低位バス１８への書込サイクルと読出サイクルとに分けて説明を行う。
【００２２】
高位バスから低位バスへの書込サイクル
【００２３】
高位バススレーブ回路２２は、高位バス１７のスレーブ装置として機能し、この高位バス１７上のマスタ装置からの書込要求を受け付ける。受け付けた要求のアドレス情報と、転送データのサイズ情報ならびに転送データは、ＦＩＦＯメモリ２４の最後尾に格納される。この格納を終えると、現実にこれらを低位バス１８に転送することなく高位バススレーブ回路２２は高位バス１７に転送の完了を示す転送完了応答を返す。これにより、高位バス１７上の前記したＣＰＵ等の該当するマスタ装置はウエイト状態から開放され、次の処理に進むことができる。
【００２４】
これ以後の低位バス１８への書込処理は、バスアダプタ装置２１が高位バス１７側とは非同期に実行する。まず、低位バスマスタ回路２３はＦＩＦＯメモリ２４の先頭に格納されている時間的に最も古い格納項目としてのアドレス情報、転送データのサイズ情報および転送データを取り出す。そして、アドレス情報については、必要ならばその上位ビットをデコードして、低位バス１８の該当するスレーブ装置を選択するためのスレーブ選択信号を生成する。下位ビットについては、そのまま低位バスマスタ回路２３を介して低位バス１８側に出力する。
【００２５】
ＦＩＦＯメモリ２４から読み出した転送データは、アンパック・レジスタ２５に入力され、ここで分解されて８ビットごとに低位バスマスタ回路２３に送られる。低位バスマスタ回路２３は、ＦＩＦＯメモリ２４から転送データのサイズ情報を受けており、これに示される回数だけ低位バス１８上で書込サイクルを起動する。そして、アンパック・レジスタ２５から排出される８ビットずつのデータを低位バス１８上に順に送り出すことによってＦＩＦＯメモリ２４内の転送データをすべて送り出す。
【００２６】
このようにしてＦＩＦＯメモリ２４の１つのエントリについての低位バス１８に対する書込操作が終了すると、次のエントリにシフトされて、次の格納情報についての書込サイクルが起動される。このようにして、ＦＩＦＯメモリ２４内の格納情報がすべて空になるまで低位バスマスタ回路２３は動作する。
【００２７】
高位バスから低位バスへの読出サイクル
【００２８】
次に、高位バス１７側から低位バス１８に対して読出要求が行われた場合の動作を説明する。読出要求を受けた高位バススレーブ回路２２は、高位バス１７側のマスタ装置をウエイト状態で拘束し、アドレス情報および転送データのサイズ情報４１を送って低位バスマスタ回路２３を起動する。低位バスマスタ回路２３は、アドレス情報によって指定されたスレーブ装置に対して下位アドレスを順に更新しながら転送データのサイズ情報で示される回数だけ読出サイクルを起動する。これによって低位バス１８上の該当するスレーブ装置からデータの読み出しが８ビットずつ順に行われることになる。
【００２９】
パック・レジスタ２７は、読み出されたこれらのデータを整列させる。そしてこれらを順にデータ・ラッチ回路２６に保持させる。要求されているサイズのデータがデータ・ラッチ回路２６にすべて揃ったら、高位バススレーブ回路２２はその整列データを受け取って高位バス１７上に送り出すと共に、転送完了応答信号を出力する。拘束されていたマスタ装置はデータを受け取ると共に、この転送完了応答信号によって拘束を開放される。
【００３０】
次に、本実施例の計算機システムで特徴的な回路としてのＦＩＦＯメモリ２４とその制御について更に詳しく説明する。なお、低位バス１８側での下位アドレスの更新操作や、アンパック・レジスタ２５によるデータのアンパック操作、ならびにパック・レジスタ２７によるデータのパック操作については、例えば特開平１−１６１５６１号公報にも記載があるようにそれらの技術が特に目新しいものではないので、説明を省略する。
【００３１】
図２はバスアダプタ装置の要部を具体的に表わしたものである。ＦＩＦＯメモリ２４は２０ビット構成のアドレス情報５１と、２ビット構成のサイズ情報５２と、３２ビット構成の転送データ５３を１エントリの格納情報として出力するようになっている。このうちアドレス情報５１の上位４ビットはアドレスデコーダ５５に入力され、ここで解読されてスレーブ選択信号５６０〜５６１５のいずれかが選択されて低位バス１８上に出力されるようになっている。ここでスレーブ選択信号５６０〜５６１５は、低位バス１８に接続された図示しないスレーブ装置に１本ずつ接続されており、出力されたスレーブ選択信号５６ｘに対応するスレーブの選択が行われるようになっている。
【００３２】
アドレス情報５１の残りの１６ビットは、アドレスカウンタ５７に供給されるようになっている。アドレスカウンタ５７は第１の制御回路５８からロード信号５９とクロック信号６１の供給を受けるようになっている。そして、ロード信号５９によってアドレス情報５１の下位ビットをロードすると共に、クロック信号６１でこれを“１”ずつインクリメントするようになっている。
【００３３】
サイズ情報５２はダウンカウンタ６３に供給される。第１の制御回路５８はダウンカウンタ６３にロード信号６４とクロック信号６５を入力するようになっている。このうちのロード信号６４によってサイズ情報５２がダウンカウンタ６３にロードされる。そして、クロック信号６５によってその内容が“１”ずつデクリメントされる。この結果としてカウント値がアンダーフローすると、アンダーフロー信号６６が第１の制御回路５８に供給されるようになっている。
【００３４】
第１の制御回路５８は低位バスサイクルを規定回数実行した後、シフト信号６９をＦＩＦＯメモリ２４に対して出力し、ポインタを１つだけ進めさせるようになっている。ＦＩＦＯメモリ２４は、格納情報のすべてを送るとエンプティ信号６８を第１の制御回路５８に送出するようになっている。転送データ５３は最大３２ビットまで８ビット単位でパラレルに出力される。
【００３５】
アンパック・レジスタ２５は、８ビットずつデータを入力し次段にシフトさせる４段のシフトレジスタ７１１〜７１４を直列接続した構成となっている。これらのシフトレジスタ７１１〜７１４には、第１の制御回路５８からロード信号７２とクロック信号７３が供給されるようになっている。また、イネーブル信号７４は、最終段の第４のシフトレジスタ７１４から出力される８ビット単位の転送データ７６の出力を行うための出力バッファ７７に供給されるようになっている。
【００３６】
なお、第１の制御回路５８は低位バス１８に対してそのバスサイクルを起動するために、アドレスストローブ（ＡＳ）信号７８およびリード（Ｒｅａｄ）信号７９を供給し、低位バス１８からはアクノリッジ信号（ＡＣＫ）８１を受け取るようになっている。
【００３７】
図３は、第１の制御回路の制御の様子を表わしたものである。第１の制御回路５８はＦＩＦＯメモリ２４がエンプティであるかどうかを監視している（ステップＳ１０１）。これはエンプティ信号６８の信号状態で判別することができる。ＦＩＦＯメモリ２４がエンプティでなくなったら（Ｎ）、アドレスカウンタ５７にロード信号５９を送ってアドレス情報５１の下位１６ビットをこれにロードさせる。また、同様にロード信号６４、７２をダウンカウンタ６３とシフトレジスタ７１１〜７１４に送ってサイズ情報５２と３２ビットの転送データ５３をそれぞれロードさせる（ステップＳ１０２）。
【００３８】
このようにして格納情報のロードが行われたら、クロック信号６５によってダウンカウンタ６３のセットされているカウント値が“１”だけデクリメントされる（ステップＳ１０３）。そして、アドレスストローブ（ＡＳ）信号７８、リード（Ｒｅａｄ）信号７９ならびにイネーブル（Ｅｎａｂｌｅ）信号７４の論理レベルをそれぞれＬ（ロー）レベルに設定して、書込サイクルを起動させる（ステップＳ１０４）。そして、アクノリッジ（ＡＣＫ）信号８１がＬレベルになるのを待機し（ステップＳ１０５）、なったら低位バス１８に転送データ７６の書き込みが行われたことが確認されたので、アドレスストローブ（ＡＳ）信号７８とイネーブル（Ｅｎａｂｌｅ）信号７４をＨ（ハイ）レベルに変化させて書込サイクルを終結させる（ステップＳ１０６）。
【００３９】
この後、クロック信号６５によってダウンカウンタ６３のセットされているカウント値が“１”だけ更にデクリメントされる（ステップＳ１０７）。この結果として、アンダーフロー信号６６が出なければ（ステップＳ１０８；Ｎ）、アンパック・レジスタ２５にセットされた転送データ５３がまだ全部転送されていない。
【００４０】
そこで、アドレスカウンタ５７を“１”だけインクリメントすると共に、アンパック・レジスタ２５内のシフトレジスタ７１１〜７１４にクロック信号７３を８個送出して次の転送データを第４のシフトレジスタ７１４にセットさせる（ステップＳ１０９）。この例では、最初の８ビットの転送データ７６を転送した後なので、最初に第３のシフトレジスタ７１３に格納された内容が第４のシフトレジスタ７１４に格納されることになる。
【００４１】
この状態で制御は再びステップＳ１０４に戻り、書込サイクルが起動される。そして、２回目の８ビットの転送データ７６が低位バス１８上に転送されることになる。以後同様にして最大３２ビットまで８ビットずつ転送データ７６が低位バス１８上に送り出される。
【００４２】
ダウンカウンタ６３のセットされているカウント値が“１”だけデクリメントされた結果としてアンダーフロー（値が“−１”）になったら（ステップＳ１０８；Ｙ）、１エントリの格納情報のすべてが転送されたことになる。そこでシフト信号６９がＦＩＦＯメモリ２４に送出され、ポインタを１つだけ進めさせて次の転送データ５３の転送に備えることになる（リターン）。
【００４３】
ところで、図２に示したようにエンプティ信号６８は高位バススレーブ回路２２にも供給されるようになっている。高位バススレーブ回路２２はこのエンプティ信号６８がＦＩＦＯメモリ２４のエンプティ（空）を示すまで高位バス１７上の読出要求を受け付けないようになっている。これは、読み出そうとしているアドレスのデータがバスアダプタ装置２１内のＦＩＦＯメモリ２４内にまだ存在する場合に発生する矛盾を解決するためである。
【００４４】
図４は、高位バスから低位バスを読み出す場合の高位バススレーブ回路の制御の様子を表わしたものである。高位バススレーブ回路２２は高位バス１７のアドレスストローブ（ＡＳ）信号がＬレベルになるのを監視している（ステップＳ２０１）。Ｌレベルになったら（Ｙ）、そのとき低位バス１８がリード（Ｒｅａｄ）アクセスであるかどうかをチェックする（ステップＳ２０２）。そうであれば（Ｙ）、アイドル状態を脱してＦＩＦＯメモリ２４がエンプティになるのを待機する（ステップＳ２０３）。これは前記した理由からである。
【００４５】
ＦＩＦＯメモリ２４がエンプティになったら（Ｙ）、低位バスマスタ回路２３にアドレス情報および転送データのサイズ情報４１を送出する（ステップＳ２０４）。これにより、低位バスマスタ回路２３内の図示しない第２の制御回路内のアドレスデコーダからスレーブ選択信号５６０〜５６１５のうちの該当するものが出力され、また、リード信号７９がＨレベルに、アドレスストローブ信号７８がＬレベルに設定される。
【００４６】
この状態で第２の制御回路は低位バス１８からアクノリッジ（ＡＣＫ）信号８１が送られてくるのを待機する（ステップＳ２０５）。アクノリッジ信号８１が送られてきたら読み出されたデータが低位バス１８上に存在するので、パック・レジスタ２７を介して、これをデータ・ラッチ回路２６にラッチさせる（ステップＳ２０６）。そして、低位バス１８のアドレスストローブ信号７８をＨレベルに設定して読み出しのためのバスサイクルを終結させる（ステップＳ２０７）。
【００４７】
次に、高位バススレーブ回路２２はデータ・ラッチ回路２６に読み込んだデータ数がサイズ情報に示す８ビット単位のサイズに合致しているかどうかをチェックする（ステップＳ２０８）。合致していなければ（Ｎ）、更に８ビットのデータを読み出してデータ・ラッチ回路２６に追加する必要がある。そこで、ステップＳ２０３に戻ってこの操作を必要な回数だけ繰り返す。
【００４８】
ステップＳ２０８で読み込んだデータ数がサイズ情報に示す８ビット単位のサイズに合致したら（Ｙ）、高位バス１７上にデータ・ラッチ回路２６にラッチされているデータを送出すると共に、高位バス１７のマスタ装置に対してデータの読み出しが行われた旨の応答を行って（ステップＳ２０９）、制御を終了させる（エンド）。
【００４９】
図５は本実施例における高位バスと低位バスの動作を比較したものである。同図（ａ）〜（ｅ）は高位バス１７側を表わしたものであり、このうち同図（ａ）はクロック信号（ＣＬＫ）を、同図（ｂ）はアドレスストローブ信号（ＡＳ）を、同図（ｃ）はアドレス情報（Ａｄｒ）を、同図（ｄ）はデータ信号（Ｄａｔａ）を、同図（ｅ）はアクノリッジ信号（ＡＣＫ）をそれぞれ表わしている。時刻ｔ１から第１のアドレス情報Ａ１と第１のデータＤ１が高位バス１７上に現われ、これらがＦＩＦＯメモリ２４（図１）に格納されると、高位バススレーブ回路２２は高位バス１７にアクノリッジ信号を返送する。この時刻ｔ２から高位バス１７側のマスタ装置は拘束から開放されて次の処理（Ａ２，Ｄ２以降）に移行することが可能になる。
【００５０】
同図（ｆ）〜（ｉ）は低位バス１８側の動作を表わしたものであり、同図（ｆ）はアドレス情報（Ａｄｒ）を、同図（ｇ）はアドレスストローブ信号（ＡＳ）を、同図（ｈ）はデータ信号（Ｄａｔａ）を、同図（ｉ）はアクノリッジ信号（ＡＣＫ）をそれぞれ表わしている。
【００５１】
高位バス１７側がＦＩＦＯメモリ２４に転送データ等の情報を格納した後、まず最初の８ビットのアドレス情報Ａ１＋０とデータＢ１＋０が低位バス１８に転送され、アドレスストローブ信号がＬレベルにセットされる。この状態で低位バス１８から書込完了を示すアクノリッジ信号が送られてきた段階で次の２番目の８ビットのアドレス情報Ａ１＋１とデータＢ１＋１が低位バス１８に転送される。以下同様にして最大で３２ビットの転送データが最大で４回に分けて低位バス１８上に転送されることになる。
【００５２】
前記したように時刻ｔ２以降は、これらアドレス情報Ａ１＋０〜Ａ１＋３ならびにデータＢ１＋０〜Ｂ１＋３の転送制御にかかわらず、高位バス１７上のマスタは他の作業を行うことができる。なお、この図でハッチングはデータのアクセス上、特に意味を持たない部分を示したものであり、これは次の図６についても同様である。
【００５３】
図６は、本実施例の計算機システムと比較するために従来における高位バスと低位バスの動作を比較したものである。同図（ａ）〜（ｉ）はそれぞれ図５の図（ａ）〜（ｉ）とそれぞれ対応している。従来においては、時刻ｔ１から第１のアドレス情報Ａ１と第１のデータＤ１が高位バス１７上に現われるが、これらは低位バス１８上の該当するスレーブ装置にすべて書き込まれ、時刻ｔ３にアクノリッジ信号が返送されてくるまで高位バス１７上の該当するマスタ装置は拘束状態を開放されない。
【００５４】
すなわち、同図（ｆ）に示すように最初の８ビットのアドレス情報Ａ１＋０とデータＢ１＋０が低位バス１８に転送され、アドレスストローブ信号がＬレベルにセットされた後、低位バス１８から書込完了を示すアクノリッジ信号が送られてきた段階で次の２番目の８ビットのアドレス情報Ａ１＋１とデータＢ１＋１が低位バス１８に転送される。
【００５５】
以下同様にして最大で３２ビットの転送データが最大で４回に分けて低位バス１８上に転送され、低位バス１８上におけるデータ転送がすべて終了した状態で同図（ｅ）に示すアクノリッジ信号が高位バス１７上に送出され、該当するマスタ装置がこれを認識した時点で拘束が開放されることになる。したがって、この拘束時間Ｔ２は、図５に示した拘束時間Ｔ１に比べて遙かに長くなるのが通常である。
【００５６】
以上の説明では、高位バス１７上のマスタ装置が１つのスレーブ装置に１回分の書込データを転送する場合について説明したが、同一のマスタ装置が複数の異なったスレーブ装置に書込データを順に連続して転送する場合もある。図５ではこのよう状態を示しており、時刻ｔ４からは第２のアドレス情報Ａ２と第２のデータＤ２が高位バス１７上に現われ、同様にバスアダプタ装置２１からのアクノリッジ信号によってこの２番目の書き込みのための制御を終了させる。そして、時刻ｔ５から第３のアドレス情報Ａ３と第３のデータＤ３が高位バス１７上に現われることになる。以下同様である。
【００５７】
同一のマスタ装置によるこれらの連続制御を可能にしたのはアドレス情報Ａ１等を順に格納していくＦＩＦＯメモリ２４によることは当然であり、これにより同一のマスタ装置がより短時間で複数のデータを低位バス１８側に転送することができることが了解される。もちろん、ＦＩＦＯメモリ２４には、同一のマスタ装置ばかりでなく異なったマスタ装置がそれぞれの書込アクセス用の情報を格納していけることは当然である。
【００５８】
以上説明した実施例ではバスアダプタ装置２１内に書き込みと読み出しに共用する高位バススレーブ回路２２と低位バスマスタ回路２３を配置したが、これらがそれぞれの用途ごとに分離された回路構成となっていてもよい。また、書き込み用のアドレス情報等を格納するメモリはＦＩＦＯメモリに限る必要はなく、その段数の範囲も複数段であれば特に限定されるものではないことは当然である。
【００５９】
更に実施例ではＦＩＦＯメモリに先に入力されたデータから先に読み出して低位バス上のスレーブ装置に書き込みを行うことにしたが、同一のスレーブ装置に対する転送データを一括して抽出して、これらを時間的に先のものから順に転送するようにしてもよい。これにより、低位バスをより効率的に使用することができる。
【００６０】
また、実施例では高位バスから低位バスに対してデータの読み出しを要求したときＦＩＦＯメモリ内のデータがすべて転送されるのを待ってデータの読み出しを行うことにしたが、同一スレーブ装置を宛先とする転送データがＦＩＦＯメモリ等の格納手段に格納されているかどうかを判別し、格納されていなければ格納手段に他のスレーブ装置を宛先とする格納情報が格納されていてもデータの読み出しを実行させるようにしてもよい。
【００６１】
【発明の効果】
以上説明したように請求項１記載の発明によれば、高位バスと低位バスを接続するバスアダプタ装置に、高位バス上のマスタ装置から低位バス上のスレーブ装置に第１の単位量を一回の転送量としてデータを書き込むときこれに必要な情報を一時的に格納する第１の単位量ずつ順次複数回分格納可能な容量の格納手段を用意した。このため、複数のスレーブ装置に宛てたデータをこれに格納し分配することができ、全体的な処理効率の向上を図ることができる。しかもデータの書き込みが完了したことを示すアクノリッジ信号は、第１の単位量のデータが格納手段に格納されるたびに擬似的に送出される。したがって、格納手段にデータがフルに格納されるまで待つ必要がなく、高位バス上のマスタ装置はより早くウエイト状態から開放され、次の処理に進むことができるという効果が発生する。更に格納手段には低位バスにアクノリッジする順序で格納情報を格納し、この順番でデータの転送を行うことにしているので、データの処理を時系列的に行うことができ、処理の正確化を期することができる。また、格納手段に取敢えず必要な情報を格納するだけでなく、この格納手段が空になったかどうかを判別する判別手段を用意し、空になった状態で高位バスから低位バスへのデータの読み出しを許可することにしたので、低位バス側のスレーブ装置で更新される以前の情報が読み出される事態を防止することができる。
【図面の簡単な説明】
【図１】本発明の一実施例における計算機システムの概要を表わしたシステム構成図である。
【図２】本実施例のバスアダプタ装置の要部を具体的に表わしたブロック図である。
【図３】本実施例における第１の制御回路の制御の様子を表わした流れ図である。
【図４】本実施例における高位バスから低位バスを読み出す場合の高位バススレーブ回路の制御の様子を表わした流れ図である。
【図５】本実施例における高位バスと低位バスの動作を比較したタイミング図である。
【図６】本実施例の計算機システムと比較するために従来における高位バスと低位バスの動作を比較したタイミング図である。
【図７】１つのバスからなる従来提案された計算機システムを表わしたシステム構成図である。
【図８】高位バスと低位バスが混用された従来の計算機システムのシステム構成図である。
【符号の説明】
１２…ＣＰＵ、１３…主メモリ装置、１４…入出力制御装置、１５１、１５２…スレーブ装置、１７…高位バス、１８…低位バス、２１…バスアダプタ装置、２２…高位バススレーブ回路、２３…低位バスマスタ回路、２４…ＦＩＦＯメモリ、２５…アンパック・レジスタ、２６…データ・ラッチ回路、２７…パック・レジスタ、５５…アドレスデコーダ、５７…アドレスカウンタ、５８…第１の制御回路、６３…ダウンカウンタ、７１１〜７１４…シフトレジスタ
【図１】
2004005706.tif 000003
【図２】
2004005706.tif 000004
【図３】
2004005706.tif 000005
【図４】
2004005706.tif 000006
【図５】
2004005706.tif 000007
【図６】
2004005706.tif 000008
【図７】
2004005706.tif 000009
【図８】
2004005706.tif 000010