JP3760933B2 - 計算機システム - Google Patents

計算機システム Download PDF

Info

Publication number
JP3760933B2
JP3760933B2 JP2003170795A JP2003170795A JP3760933B2 JP 3760933 B2 JP3760933 B2 JP 3760933B2 JP 2003170795 A JP2003170795 A JP 2003170795A JP 2003170795 A JP2003170795 A JP 2003170795A JP 3760933 B2 JP3760933 B2 JP 3760933B2
Authority
JP
Japan
Prior art keywords
data
bus
level bus
low
level
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.)
Expired - Fee Related
Application number
JP2003170795A
Other languages
English (en)
Other versions
JP2004005706A (ja
Inventor
哲也 戸井
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation Corp
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 Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP2003170795A priority Critical patent/JP3760933B2/ja
Publication of JP2004005706A publication Critical patent/JP2004005706A/ja
Application granted granted Critical
Publication of JP3760933B2 publication Critical patent/JP3760933B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Bus Control (AREA)

Description

【0001】
【発明の属する技術分野】
本発明はデータバス幅の異なった2つのバスと、これらを接続してデータの転送を行わせるバスアダプタ装置とを有する計算機システムに係わり、特に高位バス側から低位バス側にデータを書き込む際に効率的な書込作業を可能にする計算機システムに関する。
【0002】
【従来の技術】
膨大なデータを短時間で処理するために、計算機システムの処理速度の向上が強く望まれている。このような要請に応ずるために、計算機システムを構成するCPU(中央処理装置)や主メモリ装置等の回路装置のデータ入出力幅としてのいわゆるデータバス幅が広くなっており、データの転送速度の高速化も著しくなっている。一例を挙げると、ある計算機システムではCPUが64ビットのデータ幅を有しており、データ転送のサイクル時間は15ns(ナノ秒)となっている。
【0003】
このように計算機システムの性能が向上しているが、一方でこれら新しい計算機システムに従来の装置を接続して活用できるという互換性維持も、ハードウェア設計資産の有効活用の上から強く要請されている。例えば前記したような高速の計算機システムに、データバス幅が8ビットあるいは16ビットで、サイクル時間が200nsといった低速なスレーブ装置を接続する必要が生じる。
【0004】
図7は従来提案された計算機システムを表わしたものである。バス11には、CPU12、主メモリ装置13ならびに入出力制御装置14が接続されている。低速のスレーブ装置151、152、……は、データバス幅の差異を吸収するためのバスアダプタ装置161、162、……を介してバス11と接続されている。
【0005】
このような計算機システムでは、低速のスレーブ装置151 、152 、……の数だけバスアダプタ装置161 、162 、……が必要となる。したがって、システムを構成するハードウェア量が増大するといった問題がある。そこで、高位バスと低位バスに分けてマスタ装置等の接続を行った計算機システムが提案されている。
【0006】
図8は、高位バスと低位バスが混用された従来の計算機システムの一例を表わしたものである。ここで高位バス17とはデータバス幅が比較的広く、データの転送速度も比較的高速なバスであり、低位バス18とはデータバス幅が比較的狭く、データの転送速度も比較的低速なバスである。この例では、高位バス17にCPU12、主メモリ装置13ならびに入出力制御装置14が接続されており、低位バス18には幾つかのスレーブ装置151 、152 ……が接続されている。また、これら高位バス17と低位バス18の間にはバスアダプタ装置16が接続されている。
【0007】
このような計算機システムで、バスアダプタ装置16は高位バス17と低位バス18の間のデータバス幅の差異を吸収する必要がある。そこで、バスアダプタ装置16内には、データの分解と組み立てを行う機構が組み込まれている。例えば特開昭61−151769号公報には、高位バス1が16ビットのデータバス幅で、低位バス18が8ビットのデータバス幅の場合の機構が開示されている。また、特開平1−161561号公報には高位バス17と低位バス18のデータ転送サイズの比がm対1の場合の機構が開示されている。ここで符号“m”は2以上の正の整数である。
【0008】
これらの従来技術では、アクセス対象を表わしたアドレス情報をバスアダプタ装置内に1つラッチしておき、低位バス側で実行される複数回のバスサイクル(後の例ではm回のバスサイクル)に応じて下位のアドレスの更新を順に行うようにしている。先に示した従来技術では、CPUの書き込み操作時にデータをバスアダプタ装置内にラッチすることで、このCPUを下位アドレスの更新作業に先駆けて先行開放を行うことができることが示されている。
【0009】
【発明が解決しようとする課題】
しかしながら、このような従来技術によれば、バスアダプタ内に保持することのできるバスサイクルは、高位バス側での1サイクル分のみとなっている。したがって、前記した先行開放についても、これができるのはCPUの1バスサイクルに対してのみであり、引き続く書込サイクルまでも有効とされるものではない。
【0010】
特開平1−161463号公報ではこのような問題点の解決を図っている。この提案では、複数のチャネル装置それぞれに独立したデータバッファを設けるようにしている。したがって、複数の低位バス装置のそれぞれに対してデータバッファが設けられることになり、異なった低位バス装置に対して書込サイクルが実行されるような場合には、バスアダプタ内に実質的に複数サイクル分のアドレスを格納することができる。
【0011】
しかしながら、この提案でも同一の低位バス装置に対してたまたま連続した書込サイクルが実行されるような場合には、対応するデータバッファが高位バス側での1サイクル分であることに変わりがない。したがって、同一低位バス装置に対する連続した書込サイクルに対しては問題点を解決することができない。更に、この提案ではチャネル装置ごとに独立したデータバッファを用意する必要がある。このため、ハードウェア量が増大するという問題点もあった。
【0012】
そこで本発明の目的は、高位バスから低位バスへ連続した書込サイクルを実行する場合であっても、高位バス側のバスマスタ装置が次の処理に迅速に移行することができるバスアダプタ装置を備えた計算機システムを提供することにある。
【0013】
本発明の他の目的は、低位バス側の異なるスレーブ装置に対する書き込みをバスアダプタ装置内に単一のバッファを設けることで可能にする計算機システムを提供することにある。
【0014】
本発明の更に他の目的は、低位バス側の異なるスレーブ装置に対する書き込みをバスアダプタ装置内の単一のバッファを用いて行なう際に低位バス上のスレーブ装置からのデータの読み出しを支障なく行うことのできる計算機システムを提供することにある。
【0015】
【課題を解決するための手段】
請求項1記載の発明では、(イ)第1の単位量を一回の転送量としてデータの転送を行う高位バスと、(ロ)第1の単位量よりも小さな第2の単位量でデータの転送を行う低位バスと、(ハ)これらのバスを接続し、高位バス上のマスタ装置から低位バス上の複数のスレーブ装置のうちの該当するものを択一的に選択してこれらにデータを書き込むときその転送データの内容や宛先、転送データのサイズからなる格納情報を低位バスにアクセスする順序で第1の単位量ずつ順次複数回分格納可能な容量の格納手段と、この格納手段に第1の単位量だけ格納情報を格納するたびにマスタ装置に対してスレーブ装置にデータの書き込みが完了したことを示すアクノリッジ信号を擬似的に送出するアクノリッジ信号送出手段と、格納手段に格納された第1の単位量のデータを第2の単位量のデータに順次組み換えるデータ組替え手段と、組み換えられたデータを低位バス上のスレーブ装置に転送する転送手段と、格納手段に前記した情報が格納されているか否かを判別する格納有無判別手段と、高位バス上のマスタ装置が低位バス上のスレーブ装置からデータを読み出すとき格納有無判別手段が格納無しの判別を行うまでこれを待機させる読出待機手段とを備えたバスアダプタ装置とを計算機システムに具備させる。
【0016】
すなわち請求項1記載の発明では、例えば32ビット単位でデータの転送を行う高位バスと8ビット単位でデータの転送を行う低位バスを接続するバスアダプタ装置に、高位バス上のマスタ装置から低位バス上のスレーブ装置に第1の単位量を一回の転送量としてデータを書き込むときこれに必要な情報を一時的に格納する第1の単位量ずつ順次複数回分格納可能な容量の格納手段を用意し、これに取敢えず必要な情報を第1の単位量ずつ格納し、第1の単位量だけ格納情報を格納するたびに低位バスに対するデータの書き込みを待つことなくアクノリッジ信号送出手段によってアクノリッジ信号を擬似的に該当するマスタ装置に送出するようにしている。また、格納手段に前記した情報が格納されているか否かを判別する格納有無判別手段を用意しておき、これに前記した情報が格納されていないときに限って高位バスからのデータの読み出しの要求に応ずることにして、スレーブ装置に書き込まれていない情報が読み出される事態の発生を防止してデータの読み出しを支障なく行えるようにしている。
【0017】
【発明の実施の形態】
【0018】
【実施例】
以下実施例につき本発明を詳細に説明する。
【0019】
図1は本発明の一実施例における計算機システムの概要を表わしたものである。本実施例の計算機システムは、高位バス17と低位バス18ならびにこれらを接続するバスアダプタ装置21とで構成されている。本実施例で高位バス17のデータバス幅は32ビットであり、低位バス18のデータバス幅は8ビットとなっている。
【0020】
バスアダプタ装置21には、高位バス17と接続されそのスレーブ装置として機能する高位バススレーブ回路22と、低位バス18と接続されそのマスタ装置として機能する低位バスマスタ回路23が配置されている。高位バススレーブ回路22は高位バス17側の図示しないCPUやDMA(ダイレクト・メモリ・アクセス)装置に代表されるマスタ装置からアクセスを受け付けるようになっている。低位バスマスタ回路23は、低位バス18側に配置された各種スレーブ装置に対して所定の回数だけ書込あるいは読出サイクルを起動するようになっている。
【0021】
バスアダプタ装置21の図で左半分が高位バス17から低位バス18への書込サイクル時に機能する回路部分であり、ここにはFIFO(先入れ先出し)メモリ24とアンパック・レジスタ25とが配置されている。また、バスアダプタ装置21の図で右半分が低位バス18を高位バス17から読み出すサイクルのときに機能する回路部分であり、ここにはデータ・ラッチ回路26とパック・レジスタ27とが配置されている。以下、高位バス17から低位バス18への書込サイクルと読出サイクルとに分けて説明を行う。
【0022】
高位バスから低位バスへの書込サイクル
【0023】
高位バススレーブ回路22は、高位バス17のスレーブ装置として機能し、この高位バス17上のマスタ装置からの書込要求を受け付ける。受け付けた要求のアドレス情報と、転送データのサイズ情報ならびに転送データは、FIFOメモリ24の最後尾に格納される。この格納を終えると、現実にこれらを低位バス18に転送することなく高位バススレーブ回路22は高位バス17に転送の完了を示す転送完了応答を返す。これにより、高位バス17上の前記したCPU等の該当するマスタ装置はウエイト状態から開放され、次の処理に進むことができる。
【0024】
これ以後の低位バス18への書込処理は、バスアダプタ装置21が高位バス17側とは非同期に実行する。まず、低位バスマスタ回路23はFIFOメモリ24の先頭に格納されている時間的に最も古い格納項目としてのアドレス情報、転送データのサイズ情報および転送データを取り出す。そして、アドレス情報については、必要ならばその上位ビットをデコードして、低位バス18の該当するスレーブ装置を選択するためのスレーブ選択信号を生成する。下位ビットについては、そのまま低位バスマスタ回路23を介して低位バス18側に出力する。
【0025】
FIFOメモリ24から読み出した転送データは、アンパック・レジスタ25に入力され、ここで分解されて8ビットごとに低位バスマスタ回路23に送られる。低位バスマスタ回路23は、FIFOメモリ24から転送データのサイズ情報を受けており、これに示される回数だけ低位バス18上で書込サイクルを起動する。そして、アンパック・レジスタ25から排出される8ビットずつのデータを低位バス18上に順に送り出すことによってFIFOメモリ24内の転送データをすべて送り出す。
【0026】
このようにしてFIFOメモリ24の1つのエントリについての低位バス18に対する書込操作が終了すると、次のエントリにシフトされて、次の格納情報についての書込サイクルが起動される。このようにして、FIFOメモリ24内の格納情報がすべて空になるまで低位バスマスタ回路23は動作する。
【0027】
高位バスから低位バスへの読出サイクル
【0028】
次に、高位バス17側から低位バス18に対して読出要求が行われた場合の動作を説明する。読出要求を受けた高位バススレーブ回路22は、高位バス17側のマスタ装置をウエイト状態で拘束し、アドレス情報および転送データのサイズ情報41を送って低位バスマスタ回路23を起動する。低位バスマスタ回路23は、アドレス情報によって指定されたスレーブ装置に対して下位アドレスを順に更新しながら転送データのサイズ情報で示される回数だけ読出サイクルを起動する。これによって低位バス18上の該当するスレーブ装置からデータの読み出しが8ビットずつ順に行われることになる。
【0029】
パック・レジスタ27は、読み出されたこれらのデータを整列させる。そしてこれらを順にデータ・ラッチ回路26に保持させる。要求されているサイズのデータがデータ・ラッチ回路26にすべて揃ったら、高位バススレーブ回路22はその整列データを受け取って高位バス17上に送り出すと共に、転送完了応答信号を出力する。拘束されていたマスタ装置はデータを受け取ると共に、この転送完了応答信号によって拘束を開放される。
【0030】
次に、本実施例の計算機システムで特徴的な回路としてのFIFOメモリ24とその制御について更に詳しく説明する。なお、低位バス18側での下位アドレスの更新操作や、アンパック・レジスタ25によるデータのアンパック操作、ならびにパック・レジスタ27によるデータのパック操作については、例えば特開平1−161561号公報にも記載があるようにそれらの技術が特に目新しいものではないので、説明を省略する。
【0031】
図2はバスアダプタ装置の要部を具体的に表わしたものである。FIFOメモリ24は20ビット構成のアドレス情報51と、2ビット構成のサイズ情報52と、32ビット構成の転送データ53を1エントリの格納情報として出力するようになっている。このうちアドレス情報51の上位4ビットはアドレスデコーダ55に入力され、ここで解読されてスレーブ選択信号560 〜5615のいずれかが選択されて低位バス18上に出力されるようになっている。ここでスレーブ選択信号560 〜5615は、低位バス18に接続された図示しないスレーブ装置に1本ずつ接続されており、出力されたスレーブ選択信号56xに対応するスレーブの選択が行われるようになっている。
【0032】
アドレス情報51の残りの16ビットは、アドレスカウンタ57に供給されるようになっている。アドレスカウンタ57は第1の制御回路58からロード信号59とクロック信号61の供給を受けるようになっている。そして、ロード信号59によってアドレス情報51の下位ビットをロードすると共に、クロック信号61でこれを“1”ずつインクリメントするようになっている。
【0033】
サイズ情報52はダウンカウンタ63に供給される。第1の制御回路58はダウンカウンタ63にロード信号64とクロック信号65を入力するようになっている。このうちのロード信号64によってサイズ情報52がダウンカウンタ63にロードされる。そして、クロック信号65によってその内容が“1”ずつデクリメントされる。この結果としてカウント値がアンダーフローすると、アンダーフロー信号66が第1の制御回路58に供給されるようになっている。
【0034】
第1の制御回路58は低位バスサイクルを規定回数実行した後、シフト信号69をFIFOメモリ24に対して出力し、ポインタを1つだけ進めさせるようになっている。FIFOメモリ24は、格納情報のすべてを送るとエンプティ信号68を第1の制御回路58に送出するようになっている。転送データ53は最大32ビットまで8ビット単位でパラレルに出力される。
【0035】
アンパック・レジスタ25は、8ビットずつデータを入力し次段にシフトさせる4段のシフトレジスタ711 〜714 を直列接続した構成となっている。これらのシフトレジスタ711 〜714 には、第1の制御回路58からロード信号72とクロック信号73が供給されるようになっている。また、イネーブル信号74は、最終段の第4のシフトレジスタ714 から出力される8ビット単位の転送データ76の出力を行うための出力バッファ77に供給されるようになっている。
【0036】
なお、第1の制御回路58は低位バス18に対してそのバスサイクルを起動するために、アドレスストローブ(AS)信号78およびリード(Read)信号79を供給し、低位バス18からはアクノリッジ信号(ACK)81を受け取るようになっている。
【0037】
図3は、第1の制御回路の制御の様子を表わしたものである。第1の制御回路58はFIFOメモリ24がエンプティであるかどうかを監視している(ステップS101)。これはエンプティ信号68の信号状態で判別することができる。FIFOメモリ24がエンプティでなくなったら(N)、アドレスカウンタ57にロード信号59を送ってアドレス情報51の下位16ビットをこれにロードさせる。また、同様にロード信号64、72をダウンカウンタ63とシフトレジスタ711 〜714 に送ってサイズ情報52と32ビットの転送データ53をそれぞれロードさせる(ステップS102)。
【0038】
このようにして格納情報のロードが行われたら、クロック信号65によってダウンカウンタ63のセットされているカウント値が“1”だけデクリメントされる(ステップS103)。そして、アドレスストローブ(AS)信号78、リード(Read)信号79ならびにイネーブル(Enable)信号74の論理レベルをそれぞれL(ロー)レベルに設定して、書込サイクルを起動させる(ステップS104)。そして、アクノリッジ(ACK)信号81がLレベルになるのを待機し(ステップS105)、なったら低位バス18に転送データ76の書き込みが行われたことが確認されたので、アドレスストローブ(AS)信号78とイネーブル(Enable)信号74をH(ハイ)レベルに変化させて書込サイクルを終結させる(ステップS106)。
【0039】
この後、クロック信号65によってダウンカウンタ63のセットされているカウント値が“1”だけ更にデクリメントされる(ステップS107)。この結果として、アンダーフロー信号66が出なければ(ステップS108;N)、アンパック・レジスタ25にセットされた転送データ53がまだ全部転送されていない。
【0040】
そこで、アドレスカウンタ57を“1”だけインクリメントすると共に、アンパック・レジスタ25内のシフトレジスタ711 〜714 にクロック信号73を8個送出して次の転送データを第4のシフトレジスタ714 にセットさせる(ステップS109)。この例では、最初の8ビットの転送データ76を転送した後なので、最初に第3のシフトレジスタ713 に格納された内容が第4のシフトレジスタ714 に格納されることになる。
【0041】
この状態で制御は再びステップS104に戻り、書込サイクルが起動される。そして、2回目の8ビットの転送データ76が低位バス18上に転送されることになる。以後同様にして最大32ビットまで8ビットずつ転送データ76が低位バス18上に送り出される。
【0042】
ダウンカウンタ63のセットされているカウント値が“1”だけデクリメントされた結果としてアンダーフロー(値が“−1”)になったら(ステップS108;Y)、1エントリの格納情報のすべてが転送されたことになる。そこでシフト信号69がFIFOメモリ24に送出され、ポインタを1つだけ進めさせて次の転送データ53の転送に備えることになる(リターン)。
【0043】
ところで、図2に示したようにエンプティ信号68は高位バススレーブ回路22にも供給されるようになっている。高位バススレーブ回路22はこのエンプティ信号68がFIFOメモリ24のエンプティ(空)を示すまで高位バス17上の読出要求を受け付けないようになっている。これは、読み出そうとしているアドレスのデータがバスアダプタ装置21内のFIFOメモリ24内にまだ存在する場合に発生する矛盾を解決するためである。
【0044】
図4は、高位バスから低位バスを読み出す場合の高位バススレーブ回路の制御の様子を表わしたものである。高位バススレーブ回路22は高位バス17のアドレスストローブ(AS)信号がLレベルになるのを監視している(ステップS201)。Lレベルになったら(Y)、そのとき低位バス18がリード(Read)アクセスであるかどうかをチェックする(ステップS202)。そうであれば(Y)、アイドル状態を脱してFIFOメモリ24がエンプティになるのを待機する(ステップS203)。これは前記した理由からである。
【0045】
FIFOメモリ24がエンプティになったら(Y)、低位バスマスタ回路23にアドレス情報および転送データのサイズ情報41を送出する(ステップS204)。これにより、低位バスマスタ回路23内の図示しない第2の制御回路内のアドレスデコーダからスレーブ選択信号560 〜5615のうちの該当するものが出力され、また、リード信号79がHレベルに、アドレスストローブ信号78がLレベルに設定される。
【0046】
この状態で第2の制御回路は低位バス18からアクノリッジ(ACK)信号81が送られてくるのを待機する(ステップS205)。アクノリッジ信号81が送られてきたら読み出されたデータが低位バス18上に存在するので、パック・レジスタ27を介して、これをデータ・ラッチ回路26にラッチさせる(ステップS206)。そして、低位バス18のアドレスストローブ信号78をHレベルに設定して読み出しのためのバスサイクルを終結させる(ステップS207)。
【0047】
次に、高位バススレーブ回路22はデータ・ラッチ回路26に読み込んだデータ数がサイズ情報に示す8ビット単位のサイズに合致しているかどうかをチェックする(ステップS208)。合致していなければ(N)、更に8ビットのデータを読み出してデータ・ラッチ回路26に追加する必要がある。そこで、ステップS203に戻ってこの操作を必要な回数だけ繰り返す。
【0048】
ステップS208で読み込んだデータ数がサイズ情報に示す8ビット単位のサイズに合致したら(Y)、高位バス17上にデータ・ラッチ回路26にラッチされているデータを送出すると共に、高位バス17のマスタ装置に対してデータの読み出しが行われた旨の応答を行って(ステップS209)、制御を終了させる(エンド)。
【0049】
図5は本実施例における高位バスと低位バスの動作を比較したものである。同図(a)〜(e)は高位バス17側を表わしたものであり、このうち同図(a)はクロック信号(CLK)を、同図(b)はアドレスストローブ信号(AS)を、同図(c)はアドレス情報(Adr )を、同図(d)はデータ信号(Data)を、同図(e)はアクノリッジ信号(ACK)をそれぞれ表わしている。時刻t1 から第1のアドレス情報A1 と第1のデータD1 が高位バス17上に現われ、これらがFIFOメモリ24(図1)に格納されると、高位バススレーブ回路22は高位バス17にアクノリッジ信号を返送する。この時刻t2 から高位バス17側のマスタ装置は拘束から開放されて次の処理(A2 ,D2 以降)に移行することが可能になる。
【0050】
同図(f)〜(i)は低位バス18側の動作を表わしたものであり、同図(f)はアドレス情報(Adr )を、同図(g)はアドレスストローブ信号(AS)を、同図(h)はデータ信号(Data)を、同図(i)はアクノリッジ信号(ACK)をそれぞれ表わしている。
【0051】
高位バス17側がFIFOメモリ24に転送データ等の情報を格納した後、まず最初の8ビットのアドレス情報A1+0 とデータB1+0 が低位バス18に転送され、アドレスストローブ信号がLレベルにセットされる。この状態で低位バス18から書込完了を示すアクノリッジ信号が送られてきた段階で次の2番目の8ビットのアドレス情報A1+1 とデータB1+1 が低位バス18に転送される。以下同様にして最大で32ビットの転送データが最大で4回に分けて低位バス18上に転送されることになる。
【0052】
前記したように時刻t2 以降は、これらアドレス情報A1+0 〜A1+3 ならびにデータB1+0 〜B1+3 の転送制御にかかわらず、高位バス17上のマスタは他の作業を行うことができる。なお、この図でハッチングはデータのアクセス上、特に意味を持たない部分を示したものであり、これは次の図6についても同様である。
【0053】
図6は、本実施例の計算機システムと比較するために従来における高位バスと低位バスの動作を比較したものである。同図(a)〜(i)はそれぞれ図5の図(a)〜(i)とそれぞれ対応している。従来においては、時刻t1 から第1のアドレス情報A1 と第1のデータD1 が高位バス17上に現われるが、これらは低位バス18上の該当するスレーブ装置にすべて書き込まれ、時刻t3 にアクノリッジ信号が返送されてくるまで高位バス17上の該当するマスタ装置は拘束状態を開放されない。
【0054】
すなわち、同図(f)に示すように最初の8ビットのアドレス情報A1+0 とデータB1+0 が低位バス18に転送され、アドレスストローブ信号がLレベルにセットされた後、低位バス18から書込完了を示すアクノリッジ信号が送られてきた段階で次の2番目の8ビットのアドレス情報A1+1 とデータB1+1 が低位バス18に転送される。
【0055】
以下同様にして最大で32ビットの転送データが最大で4回に分けて低位バス18上に転送され、低位バス18上におけるデータ転送がすべて終了した状態で同図(e)に示すアクノリッジ信号が高位バス17上に送出され、該当するマスタ装置がこれを認識した時点で拘束が開放されることになる。したがって、この拘束時間T2 は、図5に示した拘束時間T1 に比べて遙かに長くなるのが通常である。
【0056】
以上の説明では、高位バス17上のマスタ装置が1つのスレーブ装置に1回分の書込データを転送する場合について説明したが、同一のマスタ装置が複数の異なったスレーブ装置に書込データを順に連続して転送する場合もある。図5ではこのよう状態を示しており、時刻t4 からは第2のアドレス情報A2 と第2のデータD2 が高位バス17上に現われ、同様にバスアダプタ装置21からのアクノリッジ信号によってこの2番目の書き込みのための制御を終了させる。そして、時刻t5 から第3のアドレス情報A3 と第3のデータD3 が高位バス17上に現われることになる。以下同様である。
【0057】
同一のマスタ装置によるこれらの連続制御を可能にしたのはアドレス情報A1等を順に格納していくFIFOメモリ24によることは当然であり、これにより同一のマスタ装置がより短時間で複数のデータを低位バス18側に転送することができることが了解される。もちろん、FIFOメモリ24には、同一のマスタ装置ばかりでなく異なったマスタ装置がそれぞれの書込アクセス用の情報を格納していけることは当然である。
【0058】
以上説明した実施例ではバスアダプタ装置21内に書き込みと読み出しに共用する高位バススレーブ回路22と低位バスマスタ回路23を配置したが、これらがそれぞれの用途ごとに分離された回路構成となっていてもよい。また、書き込み用のアドレス情報等を格納するメモリはFIFOメモリに限る必要はなく、その段数の範囲も複数段であれば特に限定されるものではないことは当然である。
【0059】
更に実施例ではFIFOメモリに先に入力されたデータから先に読み出して低位バス上のスレーブ装置に書き込みを行うことにしたが、同一のスレーブ装置に対する転送データを一括して抽出して、これらを時間的に先のものから順に転送するようにしてもよい。これにより、低位バスをより効率的に使用することができる。
【0060】
また、実施例では高位バスから低位バスに対してデータの読み出しを要求したときFIFOメモリ内のデータがすべて転送されるのを待ってデータの読み出しを行うことにしたが、同一スレーブ装置を宛先とする転送データがFIFOメモリ等の格納手段に格納されているかどうかを判別し、格納されていなければ格納手段に他のスレーブ装置を宛先とする格納情報が格納されていてもデータの読み出しを実行させるようにしてもよい。
【0061】
【発明の効果】
以上説明したように請求項1記載の発明によれば、高位バスと低位バスを接続するバスアダプタ装置に、高位バス上のマスタ装置から低位バス上のスレーブ装置に第1の単位量を一回の転送量としてデータを書き込むときこれに必要な情報を一時的に格納する第1の単位量ずつ順次複数回分格納可能な容量の格納手段を用意した。このため、複数のスレーブ装置に宛てたデータをこれに格納し分配することができ、全体的な処理効率の向上を図ることができる。しかもデータの書き込みが完了したことを示すアクノリッジ信号は、第1の単位量のデータが格納手段に格納されるたびに擬似的に送出される。したがって、格納手段にデータがフルに格納されるまで待つ必要がなく、高位バス上のマスタ装置はより早くウエイト状態から開放され、次の処理に進むことができるという効果が発生する。更に格納手段には低位バスにアクノリッジする順序で格納情報を格納し、この順番でデータの転送を行うことにしているので、データの処理を時系列的に行うことができ、処理の正確化を期することができる。また、格納手段に取敢えず必要な情報を格納するだけでなく、この格納手段が空になったかどうかを判別する判別手段を用意し、空になった状態で高位バスから低位バスへのデータの読み出しを許可することにしたので、低位バス側のスレーブ装置で更新される以前の情報が読み出される事態を防止することができる。
【図面の簡単な説明】
【図1】 本発明の一実施例における計算機システムの概要を表わしたシステム構成図である。
【図2】 本実施例のバスアダプタ装置の要部を具体的に表わしたブロック図である。
【図3】 本実施例における第1の制御回路の制御の様子を表わした流れ図である。
【図4】 本実施例における高位バスから低位バスを読み出す場合の高位バススレーブ回路の制御の様子を表わした流れ図である。
【図5】 本実施例における高位バスと低位バスの動作を比較したタイミング図である。
【図6】 本実施例の計算機システムと比較するために従来における高位バスと低位バスの動作を比較したタイミング図である。
【図7】 1つのバスからなる従来提案された計算機システムを表わしたシステム構成図である。
【図8】 高位バスと低位バスが混用された従来の計算機システムのシステム構成図である。
【符号の説明】
12…CPU、13…主メモリ装置、14…入出力制御装置、151 、152 …スレーブ装置、17…高位バス、18…低位バス、21…バスアダプタ装置、22…高位バススレーブ回路、23…低位バスマスタ回路、24…FIFOメモリ、25…アンパック・レジスタ、26…データ・ラッチ回路、27…パック・レジスタ、55…アドレスデコーダ、57…アドレスカウンタ、58…第1の制御回路、63…ダウンカウンタ、711 〜714 …シフトレジスタ

Claims (1)

  1. 第1の単位量を一回の転送量としてデータの転送を行う高位バスと、
    前記第1の単位量よりも小さな第2の単位量でデータの転送を行う低位バスと、
    これらのバスを接続し、高位バス上のマスタ装置から低位バス上の複数のスレーブ装置のうちの該当するものを択一的に選択してこれらにデータを書き込むときその転送データの内容や宛先、転送データのサイズからなる格納情報を低位バスにアクセスする順序で前記第1の単位量ずつ順次複数回分格納可能な容量の格納手段と、この格納手段に前記第1の単位量だけ前記格納情報を格納するたびに前記マスタ装置に対してスレーブ装置にデータの書き込みが完了したことを示すアクノリッジ信号を擬似的に送出するアクノリッジ信号送出手段と、前記格納手段に格納された第1の単位量のデータを第2の単位量のデータに順次組み換えるデータ組替え手段と、組み換えられたデータを低位バス上の前記スレーブ装置に転送する転送手段と、前記格納手段に前記情報が格納されているか否かを判別する格納有無判別手段と、高位バス上のマスタ装置が低位バス上のスレーブ装置からデータを読み出すとき格納有無判別手段が格納無しの判別を行うまでこれを待機させる読出待機手段とを備えたバスアダプタ装置
    とを具備することを特徴とする計算機システム。
JP2003170795A 2003-06-16 2003-06-16 計算機システム Expired - Fee Related JP3760933B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003170795A JP3760933B2 (ja) 2003-06-16 2003-06-16 計算機システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003170795A JP3760933B2 (ja) 2003-06-16 2003-06-16 計算機システム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP08206693A Division JP3528198B2 (ja) 1993-04-08 1993-04-08 計算機システム

Publications (2)

Publication Number Publication Date
JP2004005706A JP2004005706A (ja) 2004-01-08
JP3760933B2 true JP3760933B2 (ja) 2006-03-29

Family

ID=30438309

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003170795A Expired - Fee Related JP3760933B2 (ja) 2003-06-16 2003-06-16 計算機システム

Country Status (1)

Country Link
JP (1) JP3760933B2 (ja)

Also Published As

Publication number Publication date
JP2004005706A (ja) 2004-01-08

Similar Documents

Publication Publication Date Title
US6341318B1 (en) DMA data streaming
US6047339A (en) Buffering data that flows between buses operating at different frequencies
US20040107265A1 (en) Shared memory data transfer apparatus
US20070073826A1 (en) System and method for maintaining the integrity of data transfers in shared memory configurations
US20020184453A1 (en) Data bus system including posted reads and writes
US6321233B1 (en) Apparatus for controlling pipelined memory access requests
TW202022622A (zh) 資料位寬轉換器及其系統晶片
US20050160202A1 (en) Direct memory access device
JP4060097B2 (ja) 自己同期型fifoメモリ装置および非同期型情報処理装置
US6272583B1 (en) Microprocessor having built-in DRAM and internal data transfer paths wider and faster than independent external transfer paths
US6684301B1 (en) Out of order execution memory access request FIFO
US20050066135A1 (en) Memory control apparatus and memory control method
JP4855864B2 (ja) ダイレクトメモリアクセスコントローラ
US7774513B2 (en) DMA circuit and computer system
JP4215417B2 (ja) プロセッサ・ローカル・バス・システムでのバス最適化の方法および装置
JP3760933B2 (ja) 計算機システム
US20080320178A1 (en) DMA transfer apparatus
US10853123B2 (en) Memory module
US10515036B2 (en) Bit manipulation capable direct memory access
JPH06295283A (ja) 計算機システム
US6625711B1 (en) Method and/or architecture for implementing queue expansion in multiqueue devices
JP7419944B2 (ja) 半導体装置及び同期化方法
JP3467188B2 (ja) 多重化バスの順序保証システム
WO2024146076A1 (zh) 乱序处理器中队列的队列项选择方法及装置
KR101116613B1 (ko) 메모리 액세스 제어 장치 및 방법

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20051128

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20051220

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060102

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20100120

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110120

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120120

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees