JP2002183073A - バッファ制御装置、汎用ポート制御装置、入出力システム、情報処理装置 - Google Patents
バッファ制御装置、汎用ポート制御装置、入出力システム、情報処理装置Info
- Publication number
- JP2002183073A JP2002183073A JP2000384013A JP2000384013A JP2002183073A JP 2002183073 A JP2002183073 A JP 2002183073A JP 2000384013 A JP2000384013 A JP 2000384013A JP 2000384013 A JP2000384013 A JP 2000384013A JP 2002183073 A JP2002183073 A JP 2002183073A
- Authority
- JP
- Japan
- Prior art keywords
- data
- buffer
- output
- port
- transfer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Information Transfer Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
ートのビジー条件を判定して転送を行う時、順序保証の
必要ないデータでも、待ち行列バッファの先頭の出力先
ポートがビジーの場合にはビジーが解除されるまで転送
を待たせていた。 【解決手段】 データ受付レジスタ000と、出力先指定
と順序保証情報受付レジスタ010と、N個のシフトバッフ
ァとN個の出力先指定と順序保証情報0(040)と、そのそ
れぞれの入力データを選択するN個のセレクタ0(020)、
とセレクタ制御部050と、相互間で動作が独立なI個の出
力バッファ0(080)と、そのそれぞれから発行されるビジ
ー信号090と、前記シフトレジスタ0(030)の示す出力先
指定と順序保証情報0(040)及び前記ビジー信号090とか
ら、前記シフトバッファ0(030)の前記出力バッファ0(08
0)の何れかへの出力の可否を判断する出力制御部060
と、前記出力制御部060の結果により前記セレクタ制御
部050を指示する出力制御情報070で構成される。
Description
るデータ転送に関し、特に転送データの順序保証が必要
がないときの転送方式に関する。
個実装される出力ポートの何れかへのデータ転送におい
て、受け付けたデータを一旦待ち行列バッファに保持
し、そのデータの示す出力先指定と出力先ポートからの
ビジー条件を判定して転送を行う時、大規模なデータ転
送のような順序保証の必要ないデータを転送する場合に
おいても、待ち行列バッファの先頭が転送される出力先
ポートがビジーの場合にはビジーが解除されるまで転送
を待たせていた。
してある一つの系に実装される待ち行列バッファをシフ
ト方式で行っているが、出力先のビジーを監視してデー
タをローテートする機能はなく、シフトとデータ出力の
制御は任意の待ち行列バッファから抽出して出力し、歯
抜けたエントリをシフト動作で埋めるといった方式であ
った。
理方式」では、複数ビットのレジスタを多段接続して成
るシフトレジスタによる送信待ちキュー管理方式におい
て、送信要求があった場合に、送信要求位置に送達確認
数とシフト数とを加減算して補正した送信位置を割り出
す構成とし、シフト完了を待つこと無しに送信動作に入
れるキュー管理方式が開示されている。
一つの系から複数個実装される出力ポートの何れかへの
データ転送において、受け付けたデータを一旦待ち行列
バッファに保持し、そのデータの示す出力先指定と出力
先ポートからのビジー条件を判定して転送を行う時、大
規模なデータ転送のような順序保証の必要ないデータを
転送する場合においても、待ち行列バッファの先頭が転
送される出力先ポートがビジーの場合にはビジーが解除
されるまで転送を待たせてしまうため、特定ポートのビ
ジーが全てのポートの転送性能に大きな影響を与えると
いう欠点がある。
してある一つの系に実装される待ち行列バッファをシフ
ト方式で行っているが、出力先のビジーを監視してデー
タをローテートする機能はなく、シフトとデータ出力の
制御は任意の待ち行列バッファから抽出して出力し、歯
抜けたエントリをシフト動作で埋めるといった方式であ
るため、抽出エントリの判定、歯抜けを埋めるシフト範
囲の判定、抽出データの任意選択制御と選択回路と大規
模なHW資源を投資する必要があった。
理方式」は、出力先指定と出力先ポートからのビジー条
件を判定して転送を行うことはできない。
実装される出力ポートの何れかへのデータ転送におい
て、受け付けたデータを一旦待ち行列バッファに保持
し、そのデータの示す出力先指定と出力先ポートからの
ビジー条件を判定して転送を行う時、待ち行列バッファ
を先頭から登録済み最後尾へローテートする機能を持つ
シフトレジスタで制御することによって、大規模なデー
タ転送のような順序保証の必要ないデータが出力先ポー
トのビジーで転送不可能な場合にこれを待ち行列バッフ
ァの登録済み最後尾にローテートすることを可能にし、
同時に既に待ち行列バッファに登録済みの後続データを
シフト動作させて次のデータを待ち行列バッファの先頭
に移す、という制御を行うことで、出力先ポートがビジ
ーでないデータを可能な限り優先して転送可能にし、少
ないHW資源かつ待ち行列バッファそれぞれのエントリ
の作りが1種N個という実現容易な構成で転送性能を向
上させることである。
御装置は、ある一つの系から複数個実装される出力ポー
トの何れかへのデータ転送において、受け付けたデータ
を一旦待ち行列バッファに保持し、その前記データの示
す前記出力先ポートの指定と出力先の前記出力ポートか
らのビジー条件を判定して転送を行う時、前記待ち行列
バッファを先頭から前記データの登録済みの最後尾へロ
ーテートする機能を持つシフトレジスタで制御し、順序
保証の必要ない前記データが前記出力先ポートのビジー
で転送不可能な場合に、前記データを前記データが登録
済みである前記待ち行列バッファの最後尾にローテート
し、前記待ち行列バッファに格納済みの後続前記データ
をシフト動作させて次の前記データを前記待ち行列バッ
ファの一段先に移す制御を行うことで、前記出力先ポー
トがビジーでない前記データを優先して転送する。
の入力ポートから複数の出力ポートの何れかへ複数のデ
ータ転送するバッファ制御装置であって、前記データに
は転送順序を保証する必要の有無を示す転送保証情報と
出力先ポートを指定するポート情報が格納され、複数の
バッファを有する待ち行列バッファと、前記データを前
記バッファのうちのひとつへ保持する手段と、前記転送
保証情報により前記転送順序を保証するか判断する順序
保証判断手段と、前記ポート情報により前記データの出
力先の前記出力ポートのビジー状態を判断するビジー検
出手段と、前記待ち行列バッファ内の先頭に格納されて
いる前記データを前記待ち行列バッファの前記データが
格納済の最後尾へローテートする手段と前記待ち行列バ
ッファ内のすべての前記データを一段先頭の前記バッフ
ァに向けてシフトする手段を有し、前記待ち行列バッフ
ァ内の先頭に格納されている前記データの出力先の前記
出力ポートがビジー状態で転送不可能な場合で、かつ前
記転送保証情報を参照し前記データの転送順序を保証す
る必要がない場合は、前記待ち行列バッファ内の先頭に
格納されている前記データを前記待ち行列バッファ内の
前記データが格納済の最後尾にローテートし、前記待ち
行列バッファに格納されているすべてのデータを前記待
ち行列バッファの先頭にむけて一段移す制御を行い、前
記待ち行列バッファ内の先頭に格納されている前記デー
タの出力先の前記出力ポートがビジー状態で転送不可能
な場合で、かつ前記転送保証情報を参照し前記データの
転送順序を保証する必要がある場合は、前記ビジー状態
の解除を待ち、前記ビジー状態が解除されると前記デー
タを前記出力ポートへ転送する制御を行い、前記待ち行
列バッファ内の先頭に格納されている前記データの出力
先の前記出力ポートが転送可能な場合に、前記データを
前記出力ポートへ転送し、前記待ち行列バッファに格納
されているすべてのデータを前記待ち行列バッファの先
頭にむけて一段移す制御を行う手段を有する。
の入力ポートから複数の出力ポートの何れかへ複数のデ
ータ転送するバッファ制御方法であって、前記データに
は転送順序を保証する必要の有無を示す転送保証情報と
出力先ポートを指定するポート情報が格納され、前記デ
ータを待ち行列バッファを構成するバッファのうちのひ
とつへ保持する第一の手順と、前記転送保証情報により
前記転送順序を保証するか判断する第二の手順と、前記
ポート情報により前記データの出力先の前記出力ポート
のビジー状態を判断する第三の手順と、前記待ち行列バ
ッファ内の先頭に格納されている前記データの出力先の
前記出力ポートがビジー状態で転送不可能な場合で、か
つ前記転送保証情報を参照し前記データの転送順序を保
証する必要がない場合は、前記待ち行列バッファ内の先
頭に格納されている前記データを前記待ち行列バッファ
の前記データが格納済の最後尾にローテートし、前記待
ち行列バッファに格納されているすべてのデータを前記
待ち行列バッファの先頭にむけて一段移す制御を行い、
前記待ち行列バッファ内の先頭に格納されている前記デ
ータの出力先の前記出力ポートがビジー状態で転送不可
能な場合で、かつ前記転送保証情報を参照し前記データ
の転送順序を保証する必要がある場合は、前記ビジー状
態の解除を待ち、前記ビジー状態が解除されると前記デ
ータを前記出力ポートへ転送する制御を行い、前記前記
待ち行列バッファ内の先頭に格納されている前記データ
の出力先の前記出力ポートが転送可能な場合に、前記デ
ータを前記出力ポートへ転送し、前記待ち行列バッファ
に格納されているすべてのデータを前記待ち行列バッフ
ァの先頭にむけて一段移す制御を行う第四の手順と、前
記第二から第四の手順を前記待ち行列バッファ内の前記
データに対し繰り返し行う第五の手順を有することを特
徴とするバッファ制御方法。
ートから複数の第二のポートへデータを転送する汎用ポ
ート制御装置であって、前期第二のポートから前記第一
のポートへ前記データを転送する際に、前記第二のポー
トから選択手段により選択した前記データをバッファへ
格納し、前記バッファ内の前記データを前記第一のポー
トヘ転送する第一の転送手段と、前記第一のポートから
前記第二のポートへ前記データを転送するときにの本発
明第一のバッファ制御装置が動作する第二の転送手段を
有する。
置と主記憶装置を請求項4記載の汎用ポート制御装置に
より接続した。
装置と複数の入出力装置と主記憶装置と主記憶装置を制
御する主記憶制御装置と複数のキャッシュと前記キャッ
シュを制御するキャッシュ制御装置と請求項4記載の汎
用ポート制御装置を有し、前記演算処理装置と前記主記
憶制御装置は前記キャッシュ制御装置へ接続され、前記
キャッシュ制御装置と前記入出力装置は前記汎用ポート
制御装置へ接続される。
て図面を参照して詳細に説明する。図1は、本発明実施
の形態のバッファ制御装置の構成を示すブロック図であ
る。図1で、波線はセレクタ、シフトバッファ、出力先
指定と順序補償情報が複数あるが省略して記述してあ
る。
1<n<Nの関係を持つ。また、iとIは整数であり、1<i<Iの
関係を持つ。
と、出力先指定と順序保証情報受付レジスタ010と、N個
のシフトバッファ0(030)、シフトバッファ1(031)からシ
フトバッファn-1(032)、シフトバッファn(033)、シフト
バッファn+1(034)からシフトバッファN(035)と、そのそ
れぞれが具備するN個の出力先指定と順序保証情報0(04
0)、出力先指定と順序保証情報1(041)から出力先指定と
順序保証情報n-1(042)、出力先指定と順序保証情報n(04
3)、出力先指定と順序保証情報n+1(044)から出力先指定
と順序保証情報N(045)と、そのそれぞれの入力データを
選択するN個のセレクタ0(020)、セレクタ1(021)からセ
レクタn-1(022)、セレクタn(023)、セレクタn+1(024)か
らセレクタN(025)と、その選択を制御するセレクタ制御
部050と、相互間で動作が独立なI個の出力バッファ0(08
0)、出力バッファ1(081)から出力バッファi(082)から
出力バッファI(083)と、そのそれぞれから発行されるビ
ジー信号090と、前記シフトレジスタ0(030)の示す出力
先指定と順序保証情報0(040)及び前記ビジー信号090と
から、前記シフトバッファ0(030)の前記出力バッファ0
(080)、出力バッファ1(081)から出力バッファi(082)か
ら出力バッファI(083)の何れかへの出力の可否を判断す
る出力制御部060と、前記出力制御部060の判断結果によ
り前記セレクタ制御部050を指示する出力制御情報070と
で構成される。
記を用いる。たとえば、N個のシフトバッファ0(030)、
シフトバッファ1(031)からシフトバッファn-1(032)、シ
フトバッファn(033)、シフトバッファn+1(034)からシフ
トバッファN(035)を、N個のシフトバッファ0(030)、1(0
31)…n-1(032)、n(033)、n+1(034)…N(035)のように、
インデックスの数字のみとして表記する。それぞれをシ
フトバッファ1(031)とかシフトバッファ(033)nのように
は表記しない。その他の小文字のインデックス、0,1,n,
N,i,Iがつくものにつても同様の表記とする。
図面を参照して説明する。データ転送には、大規模なデ
ータ転送をあらかじめ決められた転送単位に分けて複数
回行うといった、最終的に全てのデータが転送完了すれ
ばよいという転送過程の転送順序を保証しないものと、
制御データの転送や排他制御データのように順序保証が
必要なものとに分けられる。本発明は、このようなデー
タ転送のうち順序保証の必要ない大規模なデータ転送に
ついて大きな効果があり、ある一つの系から複数個実装
される出力ポートの何れかへデータ転送する際の機能と
して適用される。
0)、1(031)…n-1(032)、n(033)、n+1(034)…N(035)は、
そのそれぞれのエントリに対応するセレクタ0(020)、1
(021)…n-1(022)、n(023)、n+1(024)…N(025)によって
選択されたデータを保持する。シフトバッファ0(030)、
1(031)…n-1(032)、n(033)、n+1(034)…N(035)に登録さ
れるデータには、それぞれのエントリに対応するN個の
出力先指定と順序保証情報0(040)、1(041)…n-1(042)、
n(043)、n+1(044)…N(045)が含まれている。
3)、n+1(024)…N(025)の選択動作は、登録選択(新規デ
ータの登録)、シフト選択(自エントリより一つ老番のエ
ントリのデータの登録)、ローテート選択(シフトバッフ
ァ0(030)のデータの登録)、クリア選択(エントリの無効
化)、ホールド選択(自エントリのデータを保持)の5種
類に分類される。
ローテート選択とホールド選択は共にシフトバッファ0
(030)自身の登録なので同一動作となり、シフトバッフ
ァN(035)においては以降に老番エントリが存在しないの
でシフト選択は存在しない。セレクタ0(020)、1(021)…
n-1(022)、n(023)、n+1(024)…N(025)の選択制御の指示
はセレクタ制御部050で行われるが、何も登録されてい
ないエントリに対する選択制御の指示は常にホールド選
択(動作せず)となるように制御される。
指定と順序保証情報受付レジスタ010は、ある一つの系
からの転送データを受け付ける。データ受付レジスタ00
0で受け付けたデータは、シフトバッファ0(030)、1(03
1)…n-1(032)、n(033)、n+1(034)…N(035)の何れかのエ
ントリに常に若番優先で登録される。
ジスタ010で受け付けたデータは、出力先指定と順序保
証情報0(040)、1(041)…n-1(042)、n(043)、n+1(044)…
N(045)の何れかのエントリに常に若番優先かつシフトバ
ッファ0(030)、1(031)…n-1(032)、n(033)、n+1(034)…
N(035)に対応して登録される。例えば、シフトバッファ
0(030)が空きエントリの場合はシフトバッファ0(030)と
出力先指定と順序保証情報0(040)に対応するセレクタ0
(020)が登録選択を行い、シフトバッファ0(030)が登録
済みでシフトバッファ1(031)が空きエントリの場合はそ
れぞれに対応してセレクタ0(020)がホールド選択で登録
済みデータの保持を選択し、セレクタ1(021)が登録選択
でデータ受付レジスタ000及び出力先指定と順序保証情
報受付レジスタ010の登録選択を行う。すなわち、シフ
トバッファ0(030)、1(031)…n-1(032)までが登録済みで
シフトバッファn(033)へ登録する場合はそれぞれに対応
するセレクタ0(020)、1(021)…n-1(022)までがホールド
選択を行い、セレクタn(023)が登録選択を行うことにな
る。セレクタ0(020)、1(021)…n-1(022)、n(023)、n+1
(024)…N(025)の選択制御の指示はセレクタ制御部050で
行い、シフトバッファ0(030)、1(031)…n-1(032)、n(03
3)、n+1(034)…N(035)の登録状況と出力制御部060から
の出力制御情報070をもとにデータ受付レジスタ000及び
出力先指定と順序保証情報受付レジスタ010のデータを
登録すべきエントリを判定して登録選択を指示し、その
エントリよりも若番のエントリには既に登録済みのデー
タがあるので全てホールド選択を指示する。
トバッファ0(030)を先頭に隙間のないデータ登録が実現
される。また、シフトバッファ0(030)、1(031)…n-1(03
2)、n(033)、n+1(034)…N(035)が全て登録済みになった
場合は、データの消滅を抑止するためにデータ受付レジ
スタ000及び出力先指定と順序保証情報受付レジスタ010
の登録を待ち合わせる。
0)、1(031)…n-1(032)、n(033)までが登録済みでシフト
バッファn+1(034)…N(035)までが未登録の場合を具体例
に説明する。シフトバッファ0(030)、1(031)…n-1(03
2)、n(033)、n+1(034)…N(035)に登録データが一つ以上
あれば、シフトバッファ0(030)を先頭に隙間のないデー
タ登録が実現されているためシフトバッファ0(030)には
必ず登録データが存在し、出力制御部060に対して出力
要求を行う。出力要求を受けた出力制御部060は、シフ
トバッファ0(030)が持つ出力先指定と順序保証情報0(04
0)を解読する。第一には、出力先ポートが出力バッファ
0(080)、1(081)…i(082)…I(083)のうちどのポートであ
るかを判定する。出力バッファ0(080)、1(081)…i(082)
…I(083)からはそのポートそれぞれに対応したビジー信
号090が出力制御部060で監視されている。
バッファ(仮に出力バッファi(082)とする)がビジーか否
かを判定し、出力バッファi(082)がビジーでない場合は
出力制御部060はデータ出力可能と判断してシフトバッ
ファ0(030)のデータを出力バッファi(082)へ転送する。
この時、同時に出力制御部060は、転送完了したことを
出力制御情報070でセレクタ制御部050へ通知する。セレ
クタ制御部050は出力制御情報070によって、既に登録済
みのシフトセレクタ0(020)、1(021)…n-1(022)へはシフ
ト選択を指示し、セレクタn(023)へはクリア選択を指示
する。これにより、シフトバッファ0(030)にこれまで存
在したデータは出力バッファi(082)に出力されると共に
消滅してシフトバッファ0(030)…n-1(032)へはそれぞれ
1エントリずつ老番のシフトバッファ1(031)…n(033)に
存在したデータがシフト登録され、シフトバッファn(03
3)はクリア登録で無効化される。その後、新たなシフト
バッファ0(030)のデータによる出力要求が起こり動作は
継続される。
ファi(082)がビジーの場合は、第三として、出力制御部
060はシフトバッファ0(030)が持つ出力先指定と順序保
証情報0(040)で順序保証の有無を判定して動作を切り替
える。順序保証が必要な場合は、シフトバッファ0(030)
のデータは出力バッファi(082)のビジー解除を待ち合わ
せる。つまりシフトバッファ0(030)、1(032)…n-1(03
2)、n(033)はホールド選択で自エントリのデータを保持
する。順序保証が不要な場合は、シフトバッファ0(030)
のデータはローテートが可能であることを出力制御情報
070でセレクタ制御部050へ通知する。セレクタ制御部05
0は、既に登録済みのシフトバッファ0(030)、1(031)…n
-1(032)、n(033)のそれぞれのエントリに対応してセレ
クタ0(020)、1(021)…n-1(022)へはシフト選択を指示
し、セレクタn(023)へはローテート選択を指示する。こ
れにより、シフトバッファ0(030)にこれまで存在したデ
ータは登録済み最後尾のシフトバッファn(033)にローテ
ートされ、シフトバッファ0(030)…n-1(032)へはそれぞ
れ1エントリずつ老番のシフトバッファ1(031)…n(033)
に存在したデータがシフト登録される。その後、新たな
前記シフトバッファ0(030)のデータによる出力要求によ
り動作は継続され、ローテートされたシフトバッファn
(033)のデータはn回のシフト処理のち再びシフトバッフ
ァ0(030)へシフトされてきて出力要求を行うことにな
る。
示の競合について説明する。競合とは、出力要求に対す
るシフト選択やローテート選択の動作中、同時に登録選
択動作が行われる場合があり得ることを意味する。シフ
トバッファ0(030)、1(031)…n(033)までが登録済みの場
合を具体例に説明する。シフトバッファ0(030)からの出
力要求が出力制御部060で受け付けられ、出力制御部060
で出力先指定と順序保証情報0(040)から判定した出力先
の出力バッファi(082)に対するビジー信号090がビジー
でない場合、出力制御部060はシフトバッファ0(030)の
データを出力バッファi(082)へ転送し、転送完了したこ
とを出力制御情報070でセレクタ制御部050へ通知する。
この通知と同時にデータ受付レジスタ000及びからの登
録が競合した場合、セレクタ制御部050は、既に登録済
みのシフトセレクタ0(020)、1(021)…n-1(022)へはシフ
ト選択を指示するが、セレクタn(023)へは登録選択を指
示する。これにより、シフトバッファ0(030)にこれまで
存在したデータは出力バッファi(082)に出力されると共
に消滅し、シフトバッファ0(030)…n-1(032)へはそれぞ
れ1エントリずつ老番のシフトバッファ1(031)…n(033)
に存在したデータがシフト登録される。シフトバッファ
n(033)へはデータ受付レジスタ000からのデータが新規
に登録される。
出力バッファi(082)に対するビジー信号090がビジーで
あった場合、出力先指定と順序保証情報0(040)による順
序保証の判定が必要ならばシフトバッファ0(030)、1(03
1)…n-1(032)、n(033)は何れもホールド選択、不要なら
ばシフトバッファ0(030)、1(031)…n-1(032)がシフト選
択でシフトバッファn(033)がローテート選択と、どちら
の判定であってもシフトバッファn(033)は登録済みの状
態が維持されるので、シフトバッファn+1(034)にデータ
受付レジスタ000のデータが新規に登録される。
制御部050について、その選択動作を説明する。今、セ
レクタn(023)とシフトバッファn(033)の動作に注目する
と、シフトバッファn(033)に何らかのデータが登録され
るとき、登録済みデータは必ずシフトバッファ0(030)か
ら隙間なく登録されているので、一つ若番のシフトバッ
ファn-1(032)には必ずデータが登録されていることにな
る。この規則性に従い、シフトバッファn(033)の振る舞
いは次のように場合分けされる。
トバッファn(033)が未登録で次にデータ受付レジスタ00
0のデータを登録する時、同時にシフトバッファ0(030)
のデータが出力先の出力バッファ(仮に出力バッファi(0
82)とする)に出力されなければ、データ受付レジスタ00
0からの新規登録要求は必ずシフトバッファn(033)に登
録される。
トバッファn(033)が登録済みかつシフトバッファn+1(03
4)が未登録で、データ受付レジスタ000からデータの新
規登録要求があった時、同時にシフトバッファ0(030)の
データが出力先の出力バッファi(082)に出力されたなら
ばシフトバッファn(033)はシフト選択により登録済みの
データがシフトバッファn-1(032)へシフトするので、シ
フトバッファn+1(034)でなくシフトバッファn(033)へ登
録が可能になる。
トバッファn(033)が登録済みかつシフトバッファn+1(03
4)が未登録でデータ受付レジスタ000からの新規登録が
ない時、同時にシフトバッファ0(030)のデータが出力先
の出力バッファi(082)に出力されていれば、シフトバッ
ファn(033)はシフト選択により登録済みのデータがシフ
トバッファn-1(032)へシフトしてシフトバッファn(033)
へはシフトバッファn+1(034)が未登録なためクリア選択
により無効化される。
トバッファn(033)が登録済みかつシフトバッファn+1(03
4)が未登録でデータ受付レジスタ000からの新規登録が
ない時、同時にシフトバッファ0(030)のデータが出力先
の出力バッファi(082)がビジーでシフトバッファ0(030)
のデータが登録済み最後尾にローテートされるならば、
シフトバッファn(033)のデータはシフトバッファn-1(03
2)にシフトし、シフトバッファn(033)はローテート選択
によりシフトバッファ0(030)のデータがローテートして
登録される。
て、シフトバッファn(033)が登録済みかつシフトバッフ
ァn+1(034)も登録済みの時、シフトバッファ0(030)のデ
ータが出力先の出力バッファi(082)に出力されるか、ビ
ジーのため登録済み最後尾にローテートされるならば、
シフトバッファn(033)はシフト選択によりシフトバッフ
ァn+1(034)のデータがシフトして登録される。
ファn(033)へ登録するデータの選択動作は、データ受付
レジスタ000からの新規登録要求の有無、シフトバッフ
ァ0(030)の出力バッファi(082)への出力または出力バッ
ファi(082)のビジーによるローテートの判定、シフトバ
ッファn-1(032)、n(033)、n+1(034)の登録状態、つまり
自エントリとその老若1エントリの計3エントリの登録
状態、だけで行われている。
の指示において、シフトバッファ0(030)、1(031)…n-1
(032)、n(033)、n+1(034)…N(035)の全てのエントリの
登録状態の認識は必要でなく、指示すべきシフトバッフ
ァn(033)を含む唯3個のエントリの登録状態を認識する
だけでよい。これはN個がいくつであっても適用される
ので、N個が多くなるほどHW資源が増大するというよ
うなことはない。
(020)、1(021)…n-1(022)、n(023)、n+1(024)…N(025)
とシフトバッファ0(030)、1(031)…n-1(032)、n(033)、
n+1(034)…N(035)で構成される待ち行列バッファは、セ
レクタ0(020)のホールド選択とローテート選択でシフト
バッファ0(030)のデータを再度シフトバッファ0(030)に
登録する同一動作として扱い、セレクタN(025)のシフト
選択を無効化すれば、セレクタ0(020)、1(021)…n-1(02
2)、n(023)、n+1(024)…N(025)、シフトバッファ0(03
0)、1(031)…n-1(032)、n(033)、n+1(034)…N(035)で構
成されるN個の全エントリが同様の作りになるため、エ
ントリ単位で1種N個の構成を容易に組むことが出来
る。
つの系から複数個実装される出力ポートの何れかへのデ
ータ転送において、受け付けたデータを一旦待ち行列バ
ッファに保持し、そのデータの示す出力先指定と出力先
ポートからのビジー条件を判定して転送を行う時、待ち
行列バッファを先頭から登録済み最後尾へローテートす
る機能を持つシフトレジスタで制御することによって、
大規模なデータ転送のような順序保証の必要ないデータ
が出力先ポートのビジーで転送不可能な場合にこれを待
ち行列バッファの登録済み最後尾にローテートすること
を可能にし、同時に既に待ち行列バッファに登録済みの
後続データをシフト動作させて次のデータを待ち行列バ
ッファの先頭に移す、という制御を行うことで、出力先
ポートがビジーでないデータを可能な限り優先して転送
可能にし、少ないHW資源かつ待ち行列バッファそれぞ
れのエントリの作りが1種N個という実現容易な構成で転
送性能を向上させることが出来る。
る。図1において、シフトバッファ0(030)に加えてシフ
トバッファ1(031)からも出力制御部060へ出力要求し、
出力先指定と順序保証情報1(041)によって出力バッファ
0(080)、1(081)…i(082)…I(083)の何れかの出力先を判
定して出力、またはビジーにより登録済み最後尾へロー
テートを可能にした方式がある。同様に上記シフトバッ
ファ0(030)、1(031)の出力動作を任意のシフトバッファ
n(033)まで拡張した方式がある。
置内での位置について説明する。図8は、本発明実施の
形態のバッファ制御装置を複数の入出力装置と主記憶の
間のデータ転送制御に適用した汎用ポート制御装置を示
す図である。
証の必要ないデータ転送において効果があり、図8では
複数の入出力装置と主記憶の間のデータ転送制御に本発
明を適用して示している。図8において、シフトバッフ
ァ150、セレクタ制御部160、出力制御部170、出力バッ
ファ0(180)、出力バッファ1(181)から出力バッファx(18
2)で構成される部分が本発明にあたり、各入出力装置0
(100)、入出力装置1(101)から入出力装置x(102)から、
入力バッファ0(110)、入力バッファ1(111)から入力バッ
ファx(112)、入力選択部120、緩衝バッファ130を経て連
続的にデータ読み出し要求がなされ、主記憶制御部140
から、シフトバッファ150、セレクタ制御部160、出力制
御部170、出力バッファ0(180)、1(181)…x(182)を経て
各入出力装置0(100)、入力バッファ1(111)から入力バッ
ファx(112)へ読み出しデータが転送される時に本発明の
汎用ポート制御装置240が作用する。本発明は、このよ
うに主記憶から入出力装置へデータ転送を行う時などに
有効であり、ある特定の入出力装置がビジーとなって転
送が待ち状態になったとしても、他の入出力装置に対し
ては、ビジーの影響を出来るだけ少なくして転送を継続
することが出来る。
処理装置について説明する。図9は、本発明実施の形態
のバッファ制御装置を複数の入出力装置と主記憶の間の
データ転送制御に適用した汎用ポート制御制御装置を有
する情報処理装置を示す図である。図9において、入出
力装置0(250)、入出力装置1(251)から入出力装置x(252)
は、汎用ポート制御装置240に接続され、汎用ポート制
御装置240は、Cache制御装置210、主記憶制御装置220を
介して主記憶230とのデータ転送を行う。EPU0(200)、EP
U1(201)からEPUy(202)も同様にCache制御装置210、主記
憶制御装置220を介して主記憶230とのデータ転送を行
う。EPUは演算処理装置の略称である。(EPU Executio
n Processing Unit)。本発明は、汎用ポート制御装置24
0において、Cache制御装置210から入出力装置0(250)、
入出力装置1(251)から入出力装置x(252)へのデータ転送
機構として実現される。
装される出力ポートの何れかへのデータ転送において、
受け付けたデータを一旦待ち行列バッファに保持し、そ
のデータの示す出力先指定と出力先ポートからのビジー
条件を判定して転送を行う時、待ち行列バッファを先頭
から登録済み最後尾へローテートする機能を持つシフト
レジスタで制御することによって、大規模なデータ転送
のような順序保証の必要ないデータが出力先ポートのビ
ジーで転送不可能な場合にこれを待ち行列バッファの登
録済み最後尾にローテートすることを可能にし、同時に
既に待ち行列バッファに登録済みの後続データをシフト
動作させて次のデータを待ち行列バッファの先頭に移
す、という制御を行うことで、出力先ポートがビジーで
ないデータを可能な限り優先して転送可能にし、少ない
HW資源かつ待ち行列バッファそれぞれのエントリの作
りが1種N個という実現容易な構成で転送性能を向上さ
せることが出来る、という効果がある。
示すブロック図である。
て、シフトバッファn(033)が未登録で新規データの登録
の動作を示すフローチャートである。
て、シフトバッファn(033)が登録済みかつシフトバッフ
ァn+1(034)が未登録で、新規データの登録の動作を示す
フローチャートである。
て、シフトバッファn(033)が登録済みかつシフトバッフ
ァn+1(034)が未登録でデータ受付レジスタ000からの新
規登録がない時、同時にシフトバッファ0(030)のデータ
が出力先の出力バッファi(082)に出力されていれば、シ
フトバッファn(033)はシフト選択により登録済みのデー
タがシフトバッファn-1(032)へシフトしてシフトバッフ
ァn(033)へはシフトバッファn+1(034)が未登録なためク
リア選択により無効化される動作を示すフローチャート
である。
て、シフトバッファn(033)が登録済みかつシフトバッフ
ァn+1(034)が未登録でデータ受付レジスタ000からの新
規登録がない時のローテート選択によるシフトバッファ
0(030)のデータの登録の動作を示すフローチャートであ
る。
て、シフトバッファn(033)が登録済みかつシフトバッフ
ァn+1(034)も登録済みの時、シフトバッファ0(030)のデ
ータが出力先の出力バッファi(082)に出力される動作を
示すフローチャートである。
て、シフトバッファn(033)が登録済みかつシフトバッフ
ァn+1(034)も登録済みの時、ビジーのため登録済み最後
尾にローテートされるならば、シフトバッファn(033)は
シフト選択によりシフトバッファn+1(034)のデータがシ
フトして登録される動作を示すフローチャートである。
入出力装置と主記憶の間のデータ転送制御に適用した汎
用ポート制御装置を示す図である。
入出力装置と主記憶の間のデータ転送制御に適用した汎
用ポート制御装置を有する情報処理装置を示す図であ
る。
Claims (6)
- 【請求項1】 ある一つの系から複数個実装される出
力ポートの何れかへのデータ転送において、受け付けた
データを一旦待ち行列バッファに保持し、その前記デー
タの示す前記出力先ポートの指定と出力先の前記出力ポ
ートからのビジー条件を判定して転送を行う時、前記待
ち行列バッファを先頭から前記データの登録済みの最後
尾へローテートする機能を持つシフトレジスタで制御
し、順序保証の必要ない前記データが前記出力先ポート
のビジーで転送不可能な場合に、前記データを前記デー
タが登録済みである前記待ち行列バッファの最後尾にロ
ーテートし、前記待ち行列バッファに格納済みの後続前
記データをシフト動作させて次の前記データを前記待ち
行列バッファの一段先に移す制御を行うことで、前記出
力先ポートがビジーでない前記データを優先して転送す
ることを特徴とするバッファ制御装置。 - 【請求項2】 ひとつの入力ポートから複数の出力ポ
ートの何れかへ複数のデータ転送するバッファ制御装置
であって、 前記データには転送順序を保証する必要の有無を示す転
送保証情報と出力先ポートを指定するポート情報が格納
され、複数のバッファを有する待ち行列バッファと、前
記データを前記バッファのうちのひとつへ保持する手段
と、前記転送保証情報により前記転送順序を保証するか
判断する順序保証判断手段と、前記ポート情報により前
記データの出力先の前記出力ポートのビジー状態を判断
するビジー検出手段と、前記待ち行列バッファ内の先頭
に格納されている前記データを前記待ち行列バッファの
前記データが格納済の最後尾へローテートする手段と前
記待ち行列バッファ内のすべての前記データを一段先頭
の前記バッファに向けてシフトする手段を有し、 前記待ち行列バッファ内の先頭に格納されている前記デ
ータの出力先の前記出力ポートがビジー状態で転送不可
能な場合で、かつ前記転送保証情報を参照し前記データ
の転送順序を保証する必要がない場合は、前記待ち行列
バッファ内の先頭に格納されている前記データを前記待
ち行列バッファ内の前記データが格納済の最後尾にロー
テートし、前記待ち行列バッファに格納されているすべ
てのデータを前記待ち行列バッファの先頭にむけて一段
移す制御を行い、 前記待ち行列バッファ内の先頭に格納されている前記デ
ータの出力先の前記出力ポートがビジー状態で転送不可
能な場合で、かつ前記転送保証情報を参照し前記データ
の転送順序を保証する必要がある場合は、前記ビジー状
態の解除を待ち、前記ビジー状態が解除されると前記デ
ータを前記出力ポートへ転送する制御を行い、 前記待ち行列バッファ内の先頭に格納されている前記デ
ータの出力先の前記出力ポートが転送可能な場合に、前
記データを前記出力ポートへ転送し、前記待ち行列バッ
ファに格納されているすべてのデータを前記待ち行列バ
ッファの先頭にむけて一段移す制御を行う手段を有する
ことを特徴とするバッファ制御装置。 - 【請求項3】 ひとつの入力ポートから複数の出力ポ
ートの何れかへ複数のデータ転送するバッファ制御方法
であって、 前記データには転送順序を保証する必要の有無を示す転
送保証情報と出力先ポートを指定するポート情報が格納
され、前記データを待ち行列バッファを構成するバッフ
ァのうちのひとつへ保持する第一の手順と、前記転送保
証情報により前記転送順序を保証するか判断する第二の
手順と、前記ポート情報により前記データの出力先の前
記出力ポートのビジー状態を判断する第三の手順と、 前記待ち行列バッファ内の先頭に格納されている前記デ
ータの出力先の前記出力ポートがビジー状態で転送不可
能な場合で、かつ前記転送保証情報を参照し前記データ
の転送順序を保証する必要がない場合は、前記待ち行列
バッファ内の先頭に格納されている前記データを前記待
ち行列バッファの前記データが格納済の最後尾にローテ
ートし、前記待ち行列バッファに格納されているすべて
のデータを前記待ち行列バッファの先頭にむけて一段移
す制御を行い、 前記待ち行列バッファ内の先頭に格納されている前記デ
ータの出力先の前記出力ポートがビジー状態で転送不可
能な場合で、かつ前記転送保証情報を参照し前記データ
の転送順序を保証する必要がある場合は、前記ビジー状
態の解除を待ち、前記ビジー状態が解除されると前記デ
ータを前記出力ポートへ転送する制御を行い、 前記前記待ち行列バッファ内の先頭に格納されている前
記データの出力先の前記出力ポートが転送可能な場合
に、前記データを前記出力ポートへ転送し、前記待ち行
列バッファに格納されているすべてのデータを前記待ち
行列バッファの先頭にむけて一段移す制御を行う第四の
手順と、 前記第二から第四の手順を前記待ち行列バッファ内の前
記データに対し繰り返し行う第五の手順を有することを
特徴とするバッファ制御方法。 - 【請求項4】 第一のポートから複数の第二のポート
へデータを転送する汎用ポート制御装置であって、前期
第二のポートから前記第一のポートへ前記データを転送
する際に、前記第二のポートから選択手段により選択し
た前記データをバッファへ格納し、前記バッファ内の前
記データを前記第一のポートヘ転送する第一の転送手段
と、前記第一のポートから前記第二のポートへ前記デー
タを転送するときに請求項2記載のバッファ制御装置が
動作する第二の転送手段を有することを特徴とする汎用
ポート制御装置。 - 【請求項5】 複数の入出力装置と主記憶装置を請求
項4記載の汎用ポート制御装置により接続したことを特
徴とする入出力システム。 - 【請求項6】 複数の演算処理装置と複数の入出力装
置と主記憶装置と主記憶装置を制御する主記憶制御装置
と複数のキャッシュと前記キャッシュを制御するキャッ
シュ制御装置と請求項4記載の汎用ポート制御装置を有
し、 前記演算処理装置と前記主記憶制御装置は前記キャッシ
ュ制御装置へ接続され、前記キャッシュ制御装置と前記
入出力装置は前記汎用ポート制御装置へ接続されること
を特徴とする情報処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000384013A JP3698987B2 (ja) | 2000-12-18 | 2000-12-18 | バッファ制御装置、汎用ポート制御装置、入出力システム、情報処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000384013A JP3698987B2 (ja) | 2000-12-18 | 2000-12-18 | バッファ制御装置、汎用ポート制御装置、入出力システム、情報処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002183073A true JP2002183073A (ja) | 2002-06-28 |
JP3698987B2 JP3698987B2 (ja) | 2005-09-21 |
Family
ID=18851564
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000384013A Expired - Fee Related JP3698987B2 (ja) | 2000-12-18 | 2000-12-18 | バッファ制御装置、汎用ポート制御装置、入出力システム、情報処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3698987B2 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002259203A (ja) * | 2001-03-01 | 2002-09-13 | Nec Kofu Ltd | トランザクション調停装置及び方法 |
WO2007097018A1 (ja) * | 2006-02-27 | 2007-08-30 | Fujitsu Limited | データ制御装置、データ制御方法およびデータ制御プログラム |
JP2010521730A (ja) * | 2007-03-14 | 2010-06-24 | エックスモス リミテッド | インタフェース・プロセッサ |
JP2010525436A (ja) * | 2007-04-17 | 2010-07-22 | エックスモス リミテッド | 時限ポート |
-
2000
- 2000-12-18 JP JP2000384013A patent/JP3698987B2/ja not_active Expired - Fee Related
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002259203A (ja) * | 2001-03-01 | 2002-09-13 | Nec Kofu Ltd | トランザクション調停装置及び方法 |
WO2007097018A1 (ja) * | 2006-02-27 | 2007-08-30 | Fujitsu Limited | データ制御装置、データ制御方法およびデータ制御プログラム |
US8171243B2 (en) | 2006-02-27 | 2012-05-01 | Fujitsu Limited | Data control apparatus, data control method, and data control program |
JP2010521730A (ja) * | 2007-03-14 | 2010-06-24 | エックスモス リミテッド | インタフェース・プロセッサ |
KR101501181B1 (ko) * | 2007-03-14 | 2015-03-18 | 엑스모스 엘티디 | 인터페이스 프로세서 |
JP2010525436A (ja) * | 2007-04-17 | 2010-07-22 | エックスモス リミテッド | 時限ポート |
KR101486027B1 (ko) | 2007-04-17 | 2015-01-28 | 엑스모스 엘티디 | 타이밍 포트 |
Also Published As
Publication number | Publication date |
---|---|
JP3698987B2 (ja) | 2005-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0507571B1 (en) | Receiving buffer control system | |
KR100766732B1 (ko) | 고속의 낮은 오버헤드의 콘텍스트 전환을 실행하는 디바이스 및 방법 | |
JPH06119297A (ja) | データ処理システムにおける命令の実行順序を決定する方法および装置 | |
JP2002183073A (ja) | バッファ制御装置、汎用ポート制御装置、入出力システム、情報処理装置 | |
JP2003271574A (ja) | 共有メモリ型マルチプロセッサシステムにおけるデータ通信方法 | |
JP3873589B2 (ja) | プロセッサシステム | |
JP2731761B2 (ja) | ネットワーク制御装置 | |
US6055607A (en) | Interface queue with bypassing capability for main storage unit | |
JPH05282242A (ja) | バス制御方式 | |
JP2001154913A (ja) | 主記憶制御装置 | |
JPH1196108A (ja) | 計算機システム及びバス制御装置 | |
JP3982077B2 (ja) | マルチプロセッサシステム | |
JP3803500B2 (ja) | データ転送装置および方法 | |
JP2798107B2 (ja) | データ転送方法 | |
JP2000076176A (ja) | シーケンス回路及びシーケンス処理方法 | |
JPH11212927A (ja) | 競合調停方法 | |
JPH11212900A (ja) | システム制御装置 | |
JP2856709B2 (ja) | バス間結合システム | |
KR100312533B1 (ko) | 전전자 교환기 시스템의 프린터 스풀링 장치 및 방법 | |
JPH05134980A (ja) | バスシステム | |
JP2007133633A (ja) | 情報処理装置 | |
JPH1115794A (ja) | 並列データ処理装置 | |
JPH10320351A (ja) | バッファ方式 | |
JPH1049429A (ja) | 情報処理装置 | |
JP2000040071A (ja) | 多重化バスの順序保証システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040921 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20041012 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041202 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20050314 |
|
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: 20050621 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050706 |
|
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: 20090715 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100715 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110715 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110715 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120715 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120715 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130715 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |