JP2002244995A - 入出力処理装置 - Google Patents

入出力処理装置

Info

Publication number
JP2002244995A
JP2002244995A JP2001044335A JP2001044335A JP2002244995A JP 2002244995 A JP2002244995 A JP 2002244995A JP 2001044335 A JP2001044335 A JP 2001044335A JP 2001044335 A JP2001044335 A JP 2001044335A JP 2002244995 A JP2002244995 A JP 2002244995A
Authority
JP
Japan
Prior art keywords
memory
request
control unit
unit
input
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
JP2001044335A
Other languages
English (en)
Inventor
Teruya Kobayashi
輝也 小林
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.)
NEC Engineering Ltd
Original Assignee
NEC Engineering 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 NEC Engineering Ltd filed Critical NEC Engineering Ltd
Priority to JP2001044335A priority Critical patent/JP2002244995A/ja
Publication of JP2002244995A publication Critical patent/JP2002244995A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)
  • Memory System (AREA)

Abstract

(57)【要約】 【課題】 デバイス制御装置のデータ転送中断によるメ
モリへのパーシャルライト動作の発生を低減する。 【解決手段】 入出力処理装置500は、デバイス制御装
置100〜400とメインメモリとの間のデータ転送を制御す
る。メモリライト要求バッファ560はメモリライト要求
情報を格納し、データバッファ530はデバイス制御装置
から送られてきたメインメモリへ書き込むためのデータ
を一時的に保管する。デバイス制御装置と1対1対応の
メモリリクエスト制御部540は、メモリライト要求バッ
ファにメモリライト要求情報を書き込むための制御を行
なう。メモリリクエスト調停部550は複数のメモリリク
エスト制御部から発行されるメモリライト要求信号を受
けると、メモリライト要求バッファへ格納するメモリラ
イト要求情報を選択すると共に、メモリリクエスト制御
部から発行されるメモリライト要求バッファへの書込み
信号の論理和をとって出力する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は情報処理装置に関
し、特に複数のデバイス制御装置から1つのバスを共有
し時分割で各デバイス制御装置からシステムメモリへの
入力転送を行う入出力処理装置に関する。
【0002】
【従来の技術】この種の従来技術の一例として、特開平
5−28080号公報に記載されている「入出力制御装
置」を挙げることができる。この入出力制御装置は、チ
ャネル毎にデータ転送要求複数分の転送データを格納で
きる入力データバッファと、チャネル毎にデータ転送の
残転送データのバイト数をカウントする転送バイト数カ
ウント部と、複数のチャンネルからI/Oバスを介して入
力するデータ転送要求またはファームウェア割込み要求
の内から優先度に従ってそれぞれ一つのデータ転送要求
またはファームウェア割込み要求を選択するチャネル優
先判定回路と、チャネルと主記憶との間のデータ転送を
制御する入力転送制御部と、プロセッサ部とを有する。
【0003】入力転送制御部は、チャネル優先判定回路
で選択されたデータ転送要求を受け付ける、入力データ
バッファが格納する転送データがフル状態になるか、ま
たはデータ転送の最後に転送バイト数カウント部が0の
カウント値を出力すると、当該入力データバッファが格
納している転送データをシステムバスを介して主記憶へ
書き込む。しかし、転送バイト数カウント部が0のカウ
ント値になる前に、チャネルがデータ転送を打ち切る
(下位終了という)ことがある。この場合に入力データ
バッファがフル状態でなっていないときには、入力転送
制御部は、上記主記憶への書込み条件を満たさないた
め、主記憶に転送データを書込むことができない。
【0004】そこで、下位終了したチャネルは、ファー
ムウェア割込み要求を出力する。すると、チャネル優先
判定回路がこれを選択して、プロセッサ部に転送する。
プロセッサ部は入力転送制御部に最終転送命令(マクロ
命令)を出力する。入力転送制御部は最終転送命令に従
って、下位終了により書き込めていなかった入力データ
バッファ内の転送データを主記憶に書き込む。
【0005】
【発明が解決しようとする課題】しかしながら、上述し
た従来の入出力処理装置では、入力データバッファをチ
ャネル毎に設けるため、チャネル配下の入出力装置が増
加すると容量を大きくする必要があり、またチャネルの
数を増やすことにより入出力装置間の競合を緩和してデ
ータ転送速度を向上させようとすると入力データバッフ
ァを増やす必要があるので、ハードウェア量が増加する
という第1の問題点がる。
【0006】また、第1の問題点を解決するために、入
力データバッファを1つにして多数の入出力装置装置間
で共有すると、I/Oバスにおいてデータ転送途中に転送
を一時中断しその間に他の入出力装置がデータ転送を行
う場合、転送途中の転送データは全て主記憶に対し転送
する必要がある。このような制御の場合、転送の中断に
より主記憶のメモリブロック(キャッシュを使用する場
合はキャッシュラインサイズ)に満たないバイト数のメ
モリライトが発生することがある。そのような場合に
は、先ずメモリリードを行ない、その後にリードデータ
の一部を入力データバッファの転送データと書き換えて
主記憶に書き込むというパーシャルライト動作を発生さ
せることになる。パーシャルライトはメモリリードを伴
うため通常のメモリライトより動作が遅く、また本来主
記憶に書きこむ筈であったバイト部分は後に改めて本来
主記憶に書き込まれるため、システムのスループットを
悪化させるという第2の問題点がある。
【0007】本発明の目的は、複数の入出力装置にデー
タバッファを共有することによりハードウェア量の増加
を抑えながら、さらにメモリブロックの書込み単位まで
データを溜めてからシステムバスに対し書込み動作を開
始するような制御を行なうことにより、パーシャルライ
ト動作の発生を低減し、ひいてはシステムバスを効率的
に使用してスループットの悪化を抑止したデータ転送を
行なうことができる入出力処理装置を提供することにあ
る。
【0008】
【課題を解決するための手段】本発明の入出力処理装置
は、メモリリクエストの発行を制御するメモリリクエス
ト制御部(図1の540)を複数持ち、このメモリリクエ
スト制御部の中に、メモリリクエスト保留中を示すリク
エスト保留中フラグ(図2の54b),リクエストアドレ
スを保持するためのリクエストアドレスレジスタ(図2
の54a),リクエストバイト数を計算するバイト数カウ
ンタ(図2の54h),メモリブロック境界超え判定部
(図2の54g)、データバッファライトアドレスを管理
するライトアドレス上位カウンタ(図2の54e)を備え
る。この構成により、あるデバイス制御装置に関するI/
Oバスのデータ転送が転送終了する前にメモリブロック
境界に達せずに中断し、その間に別のデバイス制御装置
がデータ転送を行った場合においても、各メモリリクエ
スト制御部内に上記データ転送時の情報を保持すること
が可能となるため、メモリブロック境界以外でのメモリ
ライトリクエストの発生を最小限に抑えシステムバスの
効率的使用が可能となる。
【0009】図1のデバイス制御装置100〜400のいずれ
かより、例えば、図6に示すシーケンスでデータ転送が
開始されると、アドレスフェーズにおいてデバイス制御
装置から図7に示す形式でスロット番号,リソース番
号,メモリアドレス変換キー等が送られる。これを受け
取ったI/Oバス制御部510はパス515にスロット番号、パ
ス512にリソース番号、パス581にアドレス変換キーを出
力し、アドレスフェーズ表示信号516をアサートする。
【0010】入出力制御装置500内に複数具備される図
2のメモリリクエスト制御部540では、パス515のスロッ
ト番号を自ユニット判定部54kが参照し、全メモリリク
エスト制御部のうちの一つのメモリリクエスト制御部が
自ユニットの制御すべき転送と判断すると、リクエスト
保留中フラグ54bがインアクティブでリクエストを保留
していない場合、I/Oバス制御部510からのアドレスフェ
ーズ表示信号516のアサートによりリクエストアドレス
レジスタ54aに転送開始アドレスが格納され、同時にリ
ソース番号レジスタ54cにパス512のリソース番号が格納
される。
【0011】次に,I/Oバス10がデータフェーズに移行
すると,I/Oバス制御部510からデータバッファに対する
書込み信号514がアサートされ、これによりリクエスト
保留中フラグ54bをセットし、転送したバイト数に応じ
てバイト数カウンタ54hおよびライトアドレス下位カウ
ンタ54fを更新する。また、この時同時にライトアドレ
ス下位カウンタ54fも更新し、データバッファ530への書
き込みが行われる。
【0012】そしてメモリブロック境界超え判定部54g
によりメモリブロック境界であることが検出されると、
メモリライト要求バッファ560への書込みを発行しメモ
リリクエスト保留中フラグ54bをリセットし、ライトア
ドレス上位カウンタ54eをカウントアップする。
【0013】一方、メモリブロック境界に達せずにI/O
バス10上のデータ転送が中断された場合、リクエストア
ドレスは図2のリクエストアドレスレジスタ54aに保存
され、これまで転送されたバイト数がバイト数カウンタ
54hに保持され、データバッファ530のライトアドレスが
ライトアドレス上位カウンタ54eおよびライトアドレス
下位カウンタ54fに保持される。この後に、別のデバイ
ス制御装置によるデータ転送が起動された場合も、上記
のデバイス制御装置で転送していたこれらの情報は保持
される。そして、別デバイス制御装置によるデータ転送
終了後に、再び以前に中断していたデバイス制御装置に
関するデータ転送が再開された場合には、バイト数カウ
ンタ54fを引き続きカウントアップし、ライトアドレス
上位カウンタ54eおよびライトアドレス下位カウンタ54f
に従って前回転送されたアドレスの続きにデータが格納
される。
【0014】このような動作により、I/Oバス10上でデ
ータ転送が一時中断されても、転送の情報が保持されデ
ータ転送の中断に影響されずにメモリブロック境界まで
メモリリクエスト発行を待たせることができる。これに
より、不要なメモリブロック境界未満のデータ転送を削
減し、パーシャルライト動作によるシステムのスループ
ット低下を避けることができる。
【0015】また、データ転送開始時にI/Oバス制御部5
10からアドレスフェーズ表示信号516がアサートされ、
メモリリクエスト制御部540において自ユニット判定部5
4kが自ユニットの転送であると判定した際にリクエスト
保留中フラグ54bがアクティブであった場合、リソース
番号レジスタ54cに格納されている保留中リクエストに
対応するリソース番号と、パス512のI/Oバス10上のデー
タ転送要求に伴うリソース番号とをフラッシュ制御部54
dで比較し、一致していた場合はそのまま前回の転送情
報を使用して続きのデータ転送を行うが、不一致を検出
した場合は現在保留中のリクエストをフラッシュさせ、
パス512の新たなリソース番号に対応するデータ転送を
実行できるようにする。
【0016】このために、フラッシュ制御部54dはリク
エスト保留中フラグ54bがアクティブでリソース番号レ
ジスタ54cのリソース番号とパス512のリソース番号が不
一致であった場合、パス54qのメモリリクエスト信号を
アサートしフラッシュ動作を行った後にデータフェーズ
に移行する。このような制御を持つことにより、複数の
リソース番号に対応するデータ転送が同時に実行された
場合には、1つのデータバッファを複数のデータ転送で
切り替えて使えるので、ハードウェア量の増加を低減で
きる。
【0017】すなわち、本発明の入出力処理装置は、同
時に動作するI/O数の少ない通常環境においては複数の
データバッファでメモリブロック境界に最適化されたメ
モリリクエストを発行し、また、一時的に複数のデータ
転送が競合してしまう特殊ケースにおいてはデータバッ
ファをフラッシュさせて共有バッファとすることにより
ハードウェア量の増加を抑えながらパーシャルライト動
作を低減させシステムのスループットを向上させるので
ある。
【0018】
【発明の実施の形態】本発明の入出力処理装置は、それ
ぞれに入出力装置が接続されたデバイス制御装置とメイ
ンメモリとの間のデータ転送を入出力バスとシステムバ
スを介して制御する入出力処理装置において、メインメ
モリへのメモリライト要求情報を格納するためのメモリ
ライト要求バッファと、デバイス制御装置から送られて
きたメインメモリへ書き込むためのデータを一時的に保
管するデータバッファと、入出力バスからの情報に基づ
き、メモリライト要求バッファにメモリライト要求情報
を書き込むための制御を行うデバイス制御装置と1対1
対応のメモリリクエスト制御部と、複数のメモリリクエ
スト制御部から発行されるメモリライト要求信号を受け
ると、メモリライト要求バッファへ格納するメモリライ
ト要求情報を選択すると共に、メモリリクエスト制御部
から発行されるメモリライト要求バッファへの書込み信
号の論理和をとって出力するメモリリクエスト調停部と
を備える。
【0019】各メモリリクエスト制御部は、データバッ
ファに書き込んだデータの先頭アドレスを格納する先頭
アドレス保持手段と、データバッファに書き込んだデー
タ量を順次カウントするカウント手段と、カウント手段
の計算結果と先頭アドレスを加算し、メインメモリの書
込み単位であるメモリブロックの境界超えを判定する判
定手段と、判定手段の結果がメモリブロック境界を超え
ていた場合にはメモリライト要求バッファへの書込み信
号を発行するメモリライト要求信号作成手段と、判定手
段の結果がメモリブロック境界に達せず、かつ入出力バ
ス上のデータ転送が終了した場合には、メモリライト要
求を記憶するためのリクエスト保留フラグを含むもので
ある。
【0020】
【第1実施例】次に、本発明の第1実施例について図面
を参照して詳細に説明する。
【0021】図1は、本発明の一実施としての入出力処
理装置500の詳細を関連する周辺の装置と共に示してい
る。図1を参照すると、2つの入出力装置1,2を制御す
るデバイス制御装置100,2つの入出力装置3,4を制御す
るデバイス制御装置200,2つの入出力装置5,6を制御す
るデバイス制御装置300および2つの入出力装置7,8を制
御するデバイス制御装置400がI/Oバス10を介して入出力
処理装置500に接続されている。また、システムメモリ
(図示省略)を制御するシステムメモリ制御装置600が
システムバス20を介して入出力処理装置500に接続され
ている。
【0022】入出力処理装置500は、デバイス制御装置1
00〜400およびシステムメモリ制御装置600を制御する。
本発明が適用されるのは、入出力処理装置500による制
御の下に、入出力装置1,2等からデバイス制御装置100
等,I/Oバス10およびシステムバス20,システムメモリ
制御装置600を経由して、システムメモリにデータを書
き込む場合である。なお、図1においては上向きの信号
ないしはデータのパスが示されている部分もあるが、そ
れはシステムメモリから入出力装置1,2等にデータを書
き込む場合の方向を示すものである。
【0023】入出力処理装置500は、I/Oバス102の制御
を行なうI/Oバス制御部510と、システムバス20の制御を
行なうシステムバス制御部590との間に、データアライ
ン制御部520,データバッファ530,4つのメモリリクエ
スト制御部540,メモリリクエスト調停部550,メモリラ
イト要求バッファ560,メモリアドレス変換バッファ57
0,アドレス変換演算器575およびアドレスカウンタ580
が存在する。
【0024】I/Oバス制御部510は、入出力装置1,2等か
ら入力するデータをパス511経由でデータアライン制御
部520に出力し、リソース番号をパス512経由でメモリリ
クエスト制御部540およびメモリアドレス変換バッファ5
70に送出する。リソース番号とは、各データ転送毎にO
Sによって割り付けられるユニークな番号をいう。I/O
バス制御部510は、またデータ転送先の主記憶のアドレ
スを演算するためのメモリアドレス変換キーをパス513
経由でアドレス変換演算器575に出力する。
【0025】更に、I/Oバス制御部510は、書込み信号を
パス514経由でデータバッファ530,4つのメモリリクエ
スト制御部540およびアドレスカウンタ580に、スロット
番号をパス515経由でメモリリクエスト制御部540に、ア
ドレスフェーズ表示信号をパス516経由でアドレスカウ
ンタ580にそれぞれ出力する。スロット番号とは、デバ
イス制御装置100〜400のいずれかを一意に特定するため
に付番された番号をいい、アドレスフェーズ表示信号と
は、I/Oバス10がアドレスとデータの搬送に共用される
ことから、現にアドレスフェーズとデータフェーズのい
ずれで使用されているかを表示するものである。以上の
パス511〜516およびこれ以降に言及される各パスは、適
時それらが搬送する信号やデータの意味で使用されるこ
とがある。
【0026】メモリアドレス変換バッファ570は、I/Oバ
ス制御部510からリソース番号512を受け取ると、これに
対応するシステムメモリの上位メモリアドレスに変換し
てパス571に出力する。アドレス変換演算器575は受け取
った上位メモリアドレス571と、メモリアドレス変換キ
ー513を用いてメモリアドレスを計算しパス576でアドレ
スカウンタ580へ送る。アドレスカウンタ580は、I/Oバ
ス制御部510から発行されるアドレスフェーズ表示信号5
16がアクティブ(“1”)になったときには、アドレス
変換演算器575の出力であるメモリアドレス576を取り込
む。一方、アドレスフェーズ表示信号516がノン・アク
ティブ(“0”)になってI/Oバス10がデータフェーズ
に移行するとデータバッファ書込み信号514がアサート
されるので、現在保持しているメモリアドレスをカウン
トアップして、パス581にてデータアライン制御部520お
よびメモリリクエスト制御部540に転送メモリアドレス
として出力する。
【0027】データアライン制御部520は、アドレスカ
ウンタ580によって計算された転送メモリアドレス581に
従って、データ511の並びを整列する制御を行う。すな
わち、入出力装置1〜8からアトランダムに送られてくる
データ511を、図3に示されるように、スロット番号毎
に論理的に分割された4つのメモリブロックサイズ分の
エントリに順に並び替える。整列されたアライン後ライ
トデータは、書込み信号514に応答してパス521経由でデ
ータバッファ530に書き込まれる。
【0028】図3を参照すると、データバッファ530
は、デバイス制御装置100〜400対応のスロット番号#0〜
#3毎の領域に分割され、更に各スロット番号対応の領域
は4つのメモリブロックサイズ(32バイト)から成る。
メモリブロックサイズがシステムメモリへの書込み単位
である。また、図4はデータバッファ530のアドレス形
式を示す。このアドレス形式中のメモリブロック番号が
図3のメモリブロックサイズ分の領域を指定する。
【0029】メモリリクエスト制御部540はメモリライ
トリクエストの発行を制御するためのユニットであっ
て、本発明の中核となる制御を司るユニットである。そ
の詳細は、メモリリクエスト調停部550と共に図2に基
づく後の説明に委ねることとし、ここでは概説するに留
める。メモリリクエスト制御部540は、デバイス制御装
置100,200,300,400と1対1対応に設けられ、メモリリ
クエスト調停部550は4つのメモリリクエスト制御部540
とインタフェースを有する。
【0030】メモリリクエスト制御部540は、アドレス
フェーズ表示信号516が“1”である間の転送メモリア
ドレス581を保存してメモリリクエスト調停部550にメモ
リリクエストアドレス(図2の541)として出力する。
また、スロット番号515と自メモリリクエスト制御部番
号との比較によって、現在のデータ転送は自メモリリク
エスト制御部が制御すべきものか否かを判定する。判定
の結果が肯定されると、リソース番号512を書込み信号5
14に応答して保存し、また、データバッファ書込みアド
レス(図2の545)とリクエストバイト数(図2の542)
をメモリリクエスト調停部550に出力する。更に、上記
保存したリソース番号とリソース番号512との比較によ
ってリソース番号切替を検出するか、またはデータ転送
の結果によりメモリブロック境界超えを検出すると、メ
モリリクエスト調停部550に対して新たにメモリリクエ
スト信号(図2の543)をメモリリクエスト調停部550に
発行する。
【0031】メモリリクエスト調停部550は、4つのメ
モリリクエスト制御部540から発行されるメモリリクエ
スト信号(図2の543)の内のいずれか一つを受け付け
るように調停する。調停の結果、選択されたメモリリク
エスト制御部にはメモリリクエスト受付信号をパス544
にアサートする。また、メモリライト要求バッファ書込
み信号をパス551に、メモリライト要求バッファ書込み
アドレスをパス552に、リクエストアドレスをパス553
に、リクエストバイト数をパス554に、リクエストスロ
ット番号をパス555にそれぞれ出力する。更に、データ
バッファ書込みアドレスをパス557に出力する。
【0032】メモリライト要求バッファ560は、図5で
示す形式のメモリライト要求エントリを格納するための
バッファであって、システムバス制御部590により読み
出される。図5を参照すると、メモリライト要求エント
リは、メモリリクエスト調停部550から入力されたリク
エストアドレス553,リクエストバイト数554およびリク
エストスロット番号555から成ることが分かる。
【0033】システムバス制御部590は、メモリリクエ
スト調停部550から出力されるメモリライト要求バッフ
ァライトアドレス552を監視しており、メモリライト要
求バッファ560にメモリリクエストが格納されるとメモ
リライト要求バッファ560からデータバッファ読出しデ
ータをパス531に読み出し、システムバス20に出力して
システムメモリ制御装置600にシステムメモリのメモリ
ライト動作を開始させる。
【0034】次に、図1におけるメモリリクエスト制御
部540およびメモリリクエスト調停部550の詳細を図2に
示す。
【0035】図2を参照すると、メモリリクエスト制御
部540は、リクエストアドレスレジスタ54a,リクエスト
保留中フラグ54b,リソース番号レジスタ54c,フラッシ
ュ制御部54d,ライトアドレス上位カウンタ54e,ライト
アドレス下位カウンタ54f,メモリブロック境界超え判
定部54g,バイト数カウンタ54h,ORゲート54i,ANDゲー
ト54j,自ユニット判定部54kおよびANDケ゛ート54lを備えて
いる。
【0036】自ユニット判定手段54kは、現在I/Oバス10
を使用してデータ転送の対象となっているスロット番号
515と自メモリリクエスト制御部540の番号を比較するこ
とによって、そのデータ転送は自メモリリクエスト制御
部540が制御すべきデータ転送であるかどうかを判定す
る。その結果、自ユニットのデータ転送であれば、自ユ
ニット表示信号をパス54mにアサートする。
【0037】ANDゲート54lは、自ユニット表示信号54m
と書込み信号514との論理積演算を行ない、その結果を
ライトアドレス下位カウンタ54fおよびバイト数カウン
タ54hのカウントアップタイミングとしてパス54nに与え
る。
【0038】ライトアドレス下位カウンタ54fは、メモ
リリクエスト調停部550に出力するデータバッファ書込
みアドレス545の下位アドレスを供給し、カウントアッ
プタイミング54nに応答して8づつカウントアップす
る。
【0039】バイト数カウンタ54hはメモリリクエスト
発行の際に有効なデータのバイト数を計算するカウンタ
であって、カウントアップタイミング54nにより8づつ
カウントアップしメモリリクエスト発行により“0”に
リセットされる。
【0040】リソース番号レジスタ54cは、自ユニット
表示信号54mによって、デバイス制御装置100〜400からI
/Oバス10を経由して通知されるリソース番号512を自ユ
ニット表示信号54mに応答して格納する。
【0041】リクエスト保留中フラグ54bは、カウント
アップタイミング54nによって“1”にセットされ、ま
たメモリリクエストが発行されると“0”にリセットさ
れる。このことは、自メモリリクエスト制御部内で保留
中のメモリリクエストが存在する場合に“1”を表示す
ることを意味する。
【0042】フラッシュ制御部54dは、リクエスト保留
中フラグ54bが“1”であった場合、リソース番号レジ
スタ54cとI/Oバス上のリソース番号512を比較し、不一
致であればリソース番号切替時の保留リクエストフラッ
シュのためにメモリリクエスト信号をパス54qにアサー
トする。
【0043】リクエストアドレスレジスタ54aは、アド
レスフェーズ表示信号516がアサートされているときに
は図1のアドレスカウンタ580から出力される転送メモ
リアドレス581を保持し、リクエストメモリアドレス541
を出力する。
【0044】ライトアドレス上位カウンタ54eは、図4
に示すI/Oバス10上のアドレス形式(データバッファ530
のライトアドレス形式となる)の中でメモリブロック番
号を計算する。一方、ライトアドレス下位カウンタ54f
は図4のブロック内アドレスを計算する。
【0045】メモリブロック境界超え判定部54gは、リ
クエストアドレスレジスタ54aの出力とバイト数カウン
タ54hの出力を加算し、加算結果がシステムメモリの書
込み単位であるメモリブロックの境界を超えた時に、メ
モリブロック境界越えによるメモリリクエスト信号54p
をアサートする。
【0046】ORゲート54iはメモリブロック境界超えに
よるメモリリクエスト信号54pと、リソース番号切替時
のメモリリクエスト信号54qの論理和演算を行ない、い
ずれかの信号が“1”の場合にメモリリクエスト信号を
パス54rにアサートする。
【0047】ANDゲート54jは、メモリリクエスト信号54
rとメモリリクエスト調停部550からのメモリリクエスト
に対する要求受付信号54sの論理積演算を行ない、これ
によりメモリリクエスト発行済み信号をパス54tにアサ
ートする。メモリリクエスト発行済み信号54tは、リク
エスト保留中フラグ54bおよびバイト数カウンタ54hのリ
セットと、ライトアドレス上位カウンタ54eのカウント
アップを行なわせる。
【0048】次に、図2に示したメモリリクエスト調停
部550内について説明する。メモリリクエスト調停部550
は、3つのセレクタ55a,55b,55eと、リクエスト調停
部55cと、ORゲート55dと、ライトアドレスレジスタ55f
とで構成される。
【0049】セレクタ55aは、メモリリクエスト制御540
のリクエストアドレスレジスタ54aから送られてくるリ
クエストメモリアドレス541を、メモリリクエストを調
停した結果の調停スロット番号555に従ってセレクトし
リクエストアドレス553として出力する。セレクタ55b
は、メモリリクエスト制御部540からのリクエストバイ
ト数542をリクエストスロット番号555でセレクトし、リ
クエストバイト数554としてメモリライト要求バッファ5
60に出力する。ライトアドレスカウンタ55fは、メモリ
ライト要求バッファ書込み信号551をタイミングとして
カウントアップし、メモリライト要求バッファ書込みア
ドレス552をメモリライト要求バッファ560に出力する。
【0050】リクエスト調停部55cは、4つのメモリリ
クエスト制御部540からのメモリリクエスト信号543(メ
モリリクエスト信号54rの集合)を調停し、調停の結果
に基づき選択した1つのメモリリクエスト制御部540に
メモリリクエスト受付信号544を返却する。また、メモ
リリクエスト調停部55cは、調停した結果に基づき選択
したメモリリクエスト制御部の番号対応のリクエストス
ロット番号555にメモリライト要求バッファ560に出力す
る。
【0051】ORゲート55dは各メモリリクエスト制御部
からのリクエスト信号543の論理和演算を行ない、メモ
リライト要求バッファ書込み信号551を生成する。セレ
クタ55eは、各メモリリクエスト制御部540からのデータ
バッファ書込みアドレス545をリクエストスロット番号5
55に従って選択しパス55hに出力する。データバッファ
書込みアドレス557は、図3に示した形式に従って、リ
クエストスロット番号555とセレクタ55eからのリクエス
トスロット番号55hを連結されて形成される。
【0052】次に、本実施例の動作について、図6のタ
イムチャートおよび図7のデータバッファアドレス形式
をも参照しながら詳細に説明する。
【0053】図1および図2は、本発明の一実施例とし
ての入出力処理装置500の構成、図3は本実施例におけ
るデータバッファ530の内部形式、図4はデータバッフ
ァ530のアドレス形式、図5はメモリライト要求バッフ
ァ560に格納されるメモリライト要求エントリ形式を示
している。図6はデバイス制御装置100〜400と入出力処
理装置500間を接続するI/Oバス10の一例としてPCIバス
を採用した場合の動作例をタイムチャートで示してお
り、図7はI/Oバス10上でのアドレスフェーズにおいて
デバイス制御装置100〜400から入出力処理装置500に送
られるアドレスの形式を示している。
【0054】先ず、デバイス制御装置100から図6のタ
イムチャートに示すようにPCIバスプロトコルに従ってR
EQ信号をアサート(本例ではREQ/GNT/FRAME/IRDY/TRDY
は”0”でアクティブとする)し、GNT信号がアクティ
ブになるとデバイス制御装置100はFRAME信号をアサート
しアドレスフェーズを開始する。アドレスフェーズにて
デバイス制御装置100より図7に示す形式のアドレスを
入出力処理装置500に対し転送し、同時にC/BEパスでメ
モリライトコマンドを転送する。ここで、図7で示され
るスロット番号とは、デバイス制御装置100〜400毎に保
持されるI/Oバス10内でユニークな番号である。また、
リソース番号とは、OSからの要求に従って入出力処理
装置500からデバイス制御装置100に対しデータ転送起動
を行う際に入出力装置100内で各データ転送毎に割り付
けられるユニークな番号をいい、これをデバイス制御装
置100に対してデータ転送起動指示と同時に転送する。
デバイス制御装置100は転送起動時のアドレスフェーズ
において図7に示す形式に従ってリソース番号を入出力
制御装置500に対して転送する。
【0055】これらの情報を入出力処理装置500内のI/O
バス制御部510が受信すると、I/Oバス制御部510はメモ
リアドレス変換キー513,リソース番号512およびスロッ
ト番号515を出力し、アドレスフェーズ表示信号516をア
サートする。メモリアドレス変換バッファ570は、デバ
イス制御装置100から送られるリソース番号512毎にメモ
リアドレスに変換するためのベースアドレスを格納する
ためのバッファであり、その変換表はデータ転送を開始
する前に予め入出力制御用のファームウェア等により設
定されている。このメモリアドレス変換バッファ570を
リソース番号512を読出しアドレスとして読み出し、メ
モリアドレスに変換するためのベースアドレスを取得し
上位アドレス571としてアドレス変換演算器575に出力す
る。
【0056】ベースアドレスとしての上位アドレス571
を受け取ったアドレス変換演算器575は、同時にメモリ
アドレス変換キー513を用いてメモリアドレスを計算
し、メモリアドレス576をアドレスカウンタ580に出力す
る。アドレスカウンタ580はアドレスフェーズ表示信号5
16がアクティブであれば、アドレス576を取り込み転送
メモリアドレス581として出力する。
【0057】図2の自ユニット判定手部4kは、スロット
番号515によって自メモリリクエスト制御部が制御すべ
き点かどうかの判定を行う。自メモリリクエスト制御部
が制御すべきデータ転送である場合、自ユニット判定手
部4kは自ユニット表示信号54mをアサートし、これによ
りフラッシュ制御部54dは、リソース番号512とリソース
番号レジスタ54cの保持内容とを比較する。この比較結
果が一致していた場合もしくはリクエスト保留中フラグ
54bが”0”であった場合は、リソース番号512をリソー
ス番号レジスタ54cに格納しデータフェーズに移行す
る。
【0058】一方、リソース番号レジスタ54cでのリソ
ース番号比較結果が不一致であり、かつリクエスト保留
中フラグ54bが“1”であった場合、フラッシュ制御部5
4dは保留中リクエストをフラッシュし、新たに要求され
たリソース番号512でデータ転送を開始するために、メ
モリリクエスト信号54qをアサートし、ORゲート54iはメ
モリリクエスト信号54rをアクティブにする。これに対
して、メモリリクエスト調停部550からメモリリクエス
ト受付信号544がアサートされリクエストが受け付けら
れると、メモリリクエスト発行済み信号54tがアクティ
ブとなり、リクエスト保留中フラグ54bがリセットさ
れ、リソース番号レジスタ54cにリソース番号512を格納
しデータフェーズに移行する。
【0059】再び図6を参照すると、アドレスフェーズ
が完了後はI/Oバス10上においてデバイス制御装置100は
IRDYをアサートしデータフェーズに移行する。上述のよ
うに入出力制御装置500においてデータフェーズに移行
できる準備が整うと、IRDYに応答してTRDYをアサート
し、アドレスフェーズ表示信号516をディアサートしデ
ータフェーズが開始される。データフェーズが開始され
デバイス制御装置100からメモリライトデータが転送さ
れるてくると、入出力処理装置500内のI/Oバス制御部51
0は書込み信号514をアサートし、/Oバス10から送られて
きたデータ511を出力する。データアライン制御部520は
アドレスカウンタ580の出力である転送メモリアドレス5
81に従ってデータの整列を行いアライン後ライトデータ
521を出力する。
【0060】書込み信号514がアサートされると、図2
のANDゲート54lは自ユニット表示信号54m=“1”なら
ばカウントアップタイミング54nをアサートし、バイト
数カウンタ54hとライトアドレス下位カウンタ54fをカウ
ントアップして転送データの格納アドレスを更新する。
また同時に、カウントアップタイミング54n=“1”な
らばリクエスト保留中フラグ54bがセットされリクエス
トを保留していることを表示する。また書込み信号514
がアサートされると、アドレスカウンタ580がカウント
アップして転送メモリアドレス581を更新し、データバ
ッファ530のデータバッファ書込みアドレス557にデータ
521が書き込まれる。
【0061】また、この時にデータバッファ530に書き
込むアドレスの一部分(図4のメモリブロック番号とブ
ロック内アドレスの部分)は、メモリリクエスト調停部
550のセレクタ55eにおいて、メモリリクエスト制御部54
0からのデータバッファ書込みアドレス545がメモリリク
エスト調停部550からのリクエストスロット番号555で選
択され、リクエストスロット番号555と連結されたライ
トアドレス55hとして出力されている。
【0062】データフェーズが開始されると、デバイス
制御装置100からI/Oバス10を経由して逐次に転送データ
がデータバッファ530に書き込まれ、この間メモリリク
エスト制御部540のバイト数カウンタ54hは1ワード転送
毎に8づつカウントアップしている。メモリブロック境
界超え判定部54gはシステムメモリの書込み単位を32バ
イトとした場合、リクエストアドレスレジスタ54aの出
力とバイト数カウンタ54hの出力を加算し、これがメモ
リブロックの書込み単位である32バイト境界の最終ワー
ドの転送であった場合には、メモリリクエスト信号54p
をアサートし、これに従ってORゲート54iはメモリリク
エスト信号54rをアサートする。メモリリクエスト信号5
4rがアサートされると、メモリリクエスト調停部550の
リクエスト調停部55cは各メモリリクエスト制御部540の
リクエストを調停し、その結果によってメモリリクエス
ト受付信号544をアサートすると同時に選択したメモリ
リクエスト制御部の番号(リクエストスロット番号55
5)を出力する。
【0063】セレクタ55aは、リクエストスロット番号5
55に従ってリクエストメモリアドレス541を選択しリク
エストアドレス541としてメモリライト要求バッファ560
へ出力する。同様にセレクタ55bもリクエストバイト数5
42を選択し出力する。そして、ORゲート55dは、各メモ
リリクエスト制御部540からのメモリリクエスト信号543
の論理和をメモリライト要求バッファ書込み信号551と
してメモリライト要求バッファ560へ出力する。この結
果、メモリライト要求バッファ560のメモリライト要求
バッファ書込みアドレス55fに、図5に示したリクエス
トアドレス553,リクエストバイト数554およびリクエス
トスロット番号555から成るメモリライト要求エントリ
が書き込まれる。
【0064】メモリライト要求エントリをメモリライト
要求バッファ560書き込んだ次のクロックで、ライトア
ドレスカウンタ55fおよびライトアドレス上位カウンタ5
4eはカウントアップされる。この時にリクエスト保留中
フラグ54bはリセットされる。引き続き転送すべき転送
データがある場合は、書込み信号514が引き続きアサー
トされリクエスト保留中フラグ54bは次クロックで再度
セットされる。また、書込み信号514は引き続きアサー
トされ続けることにより、データバッファ530への書込
みも引き続いて行われデータ転送は続行される。
【0065】次に、メモリブロック境界以外でデータ転
送を終了するケースにおいては、図6のPCIを用いたI/O
バスの例では、バスマスタであるデバイス制御装置100
がFRAME信号をディアサートすることにより、次の転送
が最終ワードの転送であることを表示する。最終転送で
あることをI/Oバス制御部510が認識すると、最終ワード
をデータバッファ530に書き込んだあとに、書込み信号5
14をディアサートする。これにより、メモリリクエスト
制御部540のバイト数カウンタ54hやライトアドレスカウ
ンタ54fの更新も停止しデータ転送は中断された状態の
ままとなる。メモリリクエスト境界に達せずに終了した
場合には、リクエスト保留中フラグ54bはセットされた
ままとなる。このように、本発明の入出力処理装置500
においては、データ転送終了時においても転送途中のデ
ータはフラッシュすることなく、データバッファ530に
保持したままリクエスト保留中フラグ54bをセットした
状態で終了する。
【0066】この状態で次に別のデバイス制御装置200
がI/Oバス10を用いてデータ転送を起動した場合、アド
レスフェーズにおいて図7の形式で送られるアドレスの
中のスロット番号512が前回のデータ転送時のものと異
なり、これによりデータ転送を制御するメモリリクエス
ト制御部540は前回とは異なるものが使用される。この
ため、デバイス制御装置200が転送を行なっている際に
は別のメモリリクエスト制御部540のリクエストアドレ
スレジスタ54aや、バイト数カウンタ54hが用いられてデ
ータ転送が行われる。
【0067】その後、再度デバイス制御装置100が中断
したデータ転送を再開した場合には、リクエストアドレ
スレジスタ54aやバイト数カウンタ54b,ライトアドレス
カウンタ54f,ライトアドレス上位カウンタ54e等は前回
のデータ転送状態のまま値が保持されている。このた
め、I/Oバス10がデバイス制御装置100のデータフェーズ
に移行すると、書込み信号514のアサートにより保持さ
れているバイト数カウンタ54h,ライトアドレスカウン
タ54f,ライトアドレス上位カウンタ54e等の値の更新を
開始し、データバッファ530内の前回にデータ転送した
アドレスに引き続いてデータを格納する。
【0068】本実施例では、以上に説明したような動作
により、I/Oバス10の上のデータ転送はシステムのメモ
リブロックサイズ境界以外のアドレスで中断されても、
メモリブロックサイズに満たないデータはデータバッフ
ァ530に保持されたままリクエストが保留され、リクエ
ストが保留されていることをリクエスト保留中フラグ54
bにて表示し、再度同一のデバイス制御装置がI/Oバスの
転送を起動した場合には直前までバッファに格納されて
いるデータに後続の転送データをマージすることによ
り、メモリブロックサイズまでデータを揃えてからメモ
リリクエストを発行することが可能となる。
【0069】
【第2実施例】次に、本発明の第2実施例について図
8,図9および図10を用いて説明する。
【0070】図8は本発明の第2の実施例としての入出
力処理装置500-1の詳細を関連する周辺の装置と共に示
している。図8の示す構成は、図1の構成にユニット割
付制御部5a0を加えた構成となっている。
【0071】図1の構成では、データ転送を制御するメ
モリリクエスト制御部540の選択はI/Oバス10から送られ
てくるスロット番号515によって一意に決めて選択して
いた。このような構成では、1つのデバイス制御装置配
下で複数の入出力装置が同時に動作し転送する場合、1
つのメモリリクエスト制御部540を共有し転送する。こ
の場合、各入出力装置の転送に対しリソース番号512を
割り付けて、I/Oバス10でのアドレスフェーズにおいて
図4に示した形式でリソース番号512を入出力処理装置5
00-1に送り、入出力処理装置500-1では同一のスロット
番号515ならば同一のメモリリクエスト制御部540を使用
し、該当メモリリクエスト制御部においてリクエスト保
留中フラグ54bが“1”であった場合、現在保留中のリ
クエストをメモリブロック境界でなくても強制的に発行
し保留リクエストをフラッシュする。しかし、このよう
なフラッシュ動作が頻繁に行われると、メモリブロック
境界でないメモリリクエストが多数発行されてしまうの
で、本発明の優位性を活かせない場合がある。
【0072】図8で示す第2の実施例では、このような
問題点に鑑み、ユニット割付制御部5a0を新たに設け、
このユニット割付制御部5a0はデータ転送開始時に現在
使用されていないメモリリクエスト制御部540をサーチ
して使用するメモリリクエスト制御部540を決定する。
以下、この動作の詳細について説明する。
【0073】本実施例においても、I/Oバス10は図6に
示したPCIバス動作に準拠し、FRAMEをアサートしたクロ
ックにおいてアドレスフェーズを開始し、図4に示す形
式のアドレスをデバイス制御装置からI/Oバス制御部510
が受け取る。I/Oバス制御部510は、第1実施例と同様
に、メモリアドレス変換キー513,リソース番号512およ
びスロット番号515を出力し、アドレスフェーズ表示信
号516をアサートする。
【0074】図9は、ユニット割付制御部5a0と、I/Oバ
ス制御部510およびメモリリクエスト制御部540との間の
インタフェースを示す。図9では、メモリリクエスト制
御部540をスロットに対応して4つのメモリリクエスト
制御部540-1,540-2,540-3,540-4として示している。ユ
ニット割付制御部5a0は、メモリリクエスト制御部540-
1,540-2,540-3,540-4から、それぞれリクエスト保留中
フラグ情報5f1,5g1,5h1,5i1と保留リソース番号5f2,5g
2,5h2,5i2を受け、保留リソース番号5f2,5g2,5h2,5i2を
I/Oバス制御部510からのリソース番号512と比較する。
そして、その比較結果とリクエスト保留中フラグ信号5f
1,5g1,5h1,5i1とによって、適切なデータ転送対象のユ
ニット番号を選択しパス5a1に出力する。
【0075】図10はユニット割付制御部5a0の詳細を
示し、図11はユニット割付制御部5a0内の調停ユニッ
ト番号セレクタ5amにおける選択真理値表を示す。以
下、図10を参照しながらアドレスフェーズ表示信号51
6がアサートされ、使用すべきメモリリクエスト制御部5
40の番号(以下、「ユニット番号」と記す)を決定する
ための動作について詳細に説明する。
【0076】先ず、ユニット割付制御部5a0は、各メモ
リリクエスト制御部540-1,540-2,540-3,540-4から送ら
れている保留リソース番号5f2,5g2,5h2,5i2と、I/Oバス
制御部510から送られてきたリソース番号512を比較器5a
a,5ab,5ac,5adによって比較し、一致していて、かつ対
応するリクエスト保留中信号が“1”であるメモリリク
エスト制御部が存在した場合は、対応するANDゲート5a
e,5af,5ag,5ahのいずれかの出力が“1”になる。
【0077】これは同一リソース番号の保留リクエスト
を所有しているメモリリクエスト制御部があったことを
意味するため、このメモリリクエスト制御部を使用して
前回のデータ転送の継続動作を行なう。このために、4-
2エンコーダ5alで転送すべきユニット番号を作成し、ま
たORゲート5akの出力も“1”になるため、調停ユニッ
ト番号セレクタ5amは図11の真理値表に従って4-2エン
コーダ5alの出力5aqを選択しパス5atに出力する。調停
ユニット番号レジスタ5auはアドレスフェーズ表示信号5
16が“1”のタイミングでパス5atの値を取り込み、パ
ス5a1に転送すべきユニット番号として出力する。
【0078】ANDゲート5ae,5af,5ag,5ahの出力が全て
“0”の場合、すなわちリクエスト保留中フラグ=
“1”で、かつ一致するリソース番号を保有しているメ
モリ制御部が存在しないという場合はデータ転送を続行
すべきメモリリクエスト制御部が存在しないため、ユニ
ット割付制御部5a0はリクエスト保留中フラグが“0”
のユニットを検索する。これは具体的にはリクエスト保
留中フラグ信号5f1,5g1,5h1,5i1の論理反転をエンコー
ドしているエンコーダ5aiによりリクエスト保留中フラ
グ=“0”のユニット番号をパス5arに出力し、このケ
ースではANDゲート5ajの出力は“0”であり、ORゲート
5akの出力も“0”であるためパス5atにはパス5arの値
が出力され、これが調停ユニット番号レジスタ5auに取
り込まれる。
【0079】もしも、全てのメモリリクエスト制御部に
おいてリクエスト保留中フラグ信号5f1,5g1,5h1,5i1が
“1”でリソース番号の一致するリクエスト制御部が存
在しない場合、データ転送を行うためにはいずれかのメ
モリリクエスト制御部でフラッシュ動作を起動させざる
を得ない。この場合には本実施例ではラウンドロビン動
作として、カウンタ5an出力で直前の(直前に選択され
たメモリリクエスト制御部の番号+1)の番号を持つメ
モリリクエスト制御部に転送動作を指示する。この場
合、ANDゲート5ajの出力は“1”でORゲート5akの出力
は“0”であるため、調停ユニット番号セレクタ5amは
図11の真理値表に従ってカウンタ5anの出力である5as
を選択しパス5atに出力する。この値をレジスタ5auが取
り込みパス5a1にデータ転送対象のユニット番号として
出力する。
【0080】なお、上述のラウンドロビン動作として、
カウンタ5an出力で直前の(直前に選択されたメモリリ
クエスト制御部の番号−1)の番号を持つメモリリクエ
スト制御部に転送動作を指示するようにしてもよい。ま
た、ラウンドロビン動作ではなく、直前に選択されたメ
モリリクエスト制御部の番号にランダムな値を加算また
は減算した番号を持つメモリリクエスト制御部に転送動
作を指示するようにしてもよい。
【0081】このような動作により、データ転送対象の
ユニット番号がパス5a1に出力されると、第1実施例に
おけるのと同様に各メモリリクエスト制御部は自ユニッ
トが制御すべき転送かどうかを判定し、転送すべきメモ
リリクエスト制御が動作を開始する。この後の動作は第
1実施例と同様である。
【0082】
【第3実施例】次に、図12に本発明の第3実施例を示
し、図12におけるメモリリクエスト制御部540および
メモリリクエスト調停部550の詳細を図13に示す。第
3実施例は入出力制御プロセッサ5c0とプロセッサイン
タフェース部5b0を具備している入出力処理装置500-2に
おいて、プロセッサインタフェース部5b0からメモリリ
クエスト制御部540に保留中リクエストのフラッシュ指
示信号5b1を設け、これにより入出力制御プロセッサ5c0
から任意のタイミングで保留中のリクエストをフラッシ
ュさせる機能を第1実施例に追加したものである。
【0083】第3実施例におけるメモリリクエスト制御
部540-2は、図13に詳細を示すように、図2に示した
第1実施例におけるメモリリクエスト制御部540に対し
て、入出力プロセッサフラッシュ指示信号5b1と、フラ
ッシュ指示フラグ54uと、リクエスト保留中フラグ54bと
フラッシュ指示フラグ54uとの論理積を取るANDゲート54
vと、このANDゲート54vの出力によるメモリリクエスト
信号54wと、ANDゲート54jからのメモリリクエスト受付
済み信号54tとリクエスト保留中フラグ54bの論理反転と
の論理和を取るORゲート54xとを追加している。
【0084】第1実施例では、データ転送がメモリブロ
ック境界でないアドレスで終了した場合にリクエストが
保留されたままになってしまうが、このような機能を追
加することにより、入出力プロセッサ5c0がOSに対し
転送終了を通知する前にバッファフラッシュ指示を発行
することが可能となり、これによって保留中のリクエス
トは発行させることができるようになる。以下のこの詳
細な動作を説明する。
【0085】通常転送時の動作は図1に示した第1実施
例と全く同じであるため省略する。図12において、入
出力制御プロセッサ5c0が保留中リクエストのフラッシ
ュ指示をプロセッサバス5c1に発行すると、プロセッサ
インタフェース部5b0はこの指示を解読しフラッシュ指
示信号5b1をアサートする。フラッシュ指示信号5b1がア
サートされ、かつリクエスト保留中フラグ54bが“1”
であった場合、メモリリクエスト制御部540内のフラッ
シュ指示フラグ54uがセットされる。
【0086】フラッシュ指示フラグ54uがセットされ、
かつリクエスト保留中フラグ54bが“1”である場合、A
NDゲート54vの出力54wが“1”になり、ORゲート54iの
出力であるメモリリクエスト信54rが“1”になって、
メモリリクエスト調停部550に対しメモリリクエストが
発行される。メモリリクエスト調停部550のリクエスト
調停部55cでこのメモリリクエストを受け付けると、リ
クエスト受付信号544をアサートし、これによりANDゲー
ト54jの出力が“1”になり、パス54tが“1”になるこ
とによってリクエスト保留中フラグ54bとフラッシュ指
示フラグ54uがリセットされフラッシュ動作が完了す
る。
【0087】本実施例では、フラッシュ指示フラグ54u
はリセット優先のレジスタとすることにより、リクエス
ト保留中フラグ54bが“0”のメモリリクエスト制御部
に対しフラッシュ指示を発行してもリクエスト保留中フ
ラグ54bの論理反転でフラッシュ指示フラグ54uをリセッ
ト条件としており、リセット条件とセット条件の双方が
“1”の場合、リセットをしたままであるためフラッシ
ュ指示フラグ54uはセットされない。これにより、メモ
リリクエスト制御部はフラッシュ動作を実行しない。
【0088】
【発明の効果】本発明の第1の効果は、メモリブロック
境界やキャッシュラインサイズに満たないメモリライト
動作を軽減することによって、システムバスの使用効率
を高めシステムのスループットを向上させるということ
にある。その理由は、メモリブロック境界やキャッシュ
ラインサイズに満たない転送データは、入出力制御装置
のバッファ内に保留したままデータバッファのライトア
ドレスやメモリアドレスを保持し、他のデバイス制御装
置の転送を可能とする機能を設けたことによる。
【0089】本発明の第2の効果は、デバイス制御装置
配下に複数のディスク装置等の入出力装置を接続して
も、データバッファはI/Oバスに接続されるデバイス制
御装置の数と同等もしくはそれ以下のバッファ数でよ
く、ハードウェア量を軽減できるということにある。そ
の理由は、同一デバイス制御装置の入出力装置間でデー
タ転送が競合した時には、フラッシュ動作を行う機構を
設けたため、入出力装置間でデータバッファを共有する
ことが可能になるので、データバッファを効率的に使用
することができるからである。
【図面の簡単な説明】
【図1】本発明の第1実施例のブロック図
【図2】第1実施例におけるメモリリクエスト制御部と
メモリリクエスト調停部の詳細図
【図3】図1におけるデータバッファの内部構成図
【図4】図1におけるデータバッファのアドレス形式を
示す図
【図5】図1におけるメモリライト要求バッファに格納
されるメモリライト要求エントリの形式を示す図
【図6】第1実施例の動作例を示すタイムチャート
【図7】第1実施例におけるI/Oバス上でのアドレスフ
ェーズでのアドレスの形式を示す図
【図8】本発明の第2実施例のブロック図
【図9】第2実施例におけるユニット割付制御部のイン
タフェース
【図10】第2実施例におけるユニット割付制御部の詳
【図11】図10に示したユニット割付制御部における
調停ユニット番号セレクタの選択真理値表
【図12】本発明の第3実施例のブロック図
【図13】第3実施例におけるメモリリクエスト制御部
の詳細図
【符号の説明】
1〜8 入出力装置 10 I/Oバス 20 システムバス 100,200,300,400 デバイス制御装置 500,500-1,500-2 入出力処理装置 510 I/Oバス制御部 520 データアライン制御部 530 データバッファ 540,540-1,540-2,540-3,540-4 メモリリクエスト
制御部 550 メモリリクエスト調停部 560 メモリライト要求バッファ 570 メモリアドレス変換バッファ 575 アドレス変換演算器 580 アドレスカウンタ 590 システムバス制御部 600 システムメモリ制御装置 54a リクエストアドレスレジスタ 54b リクエスト保留中フラグ 54c リソース番号レジスタ 54d フラッシュ制御部 54e ライトアドレス上位カウンタ 54f ライトアドレス下位カウンタ 54g メモリブロック境界超え判定部 54h バイト数カウンタ 54i,54x,55d,5ak ORゲート 54j,54l,54v,5ae,5af,5ag,5ah,5aj ANDゲート 54k 自ユニット判定部 54u フラッシュ指示フラグ 55a,55b,55e セレクタ 55c リクエスト調停部 55f ライトアドレスカウンタ 5a0 ユニット割付制御部 5aa,5ab,5ac,5ad 比較器 5ai,5al 4-2エンコーダ 5am 調停ユニット番号セレクタ 5an カウンタ 5au 調停ユニット番号レジスタ 5b0 プロセッサインタフェース部 5c0 入出力制御プロセッサ

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 それぞれに入出力装置が接続されたデバ
    イス制御装置とメインメモリとの間のデータ転送を入出
    力バスとシステムバスを介して制御する入出力処理装置
    において、 前記メインメモリへのメモリライト要求情報を格納する
    ためのメモリライト要求バッファと、 前記デバイス制御装置から送られてきた前記メインメモ
    リへ書き込むためのデータを一時的に保管するデータバ
    ッファと、 前記入出力バスからの情報に基づき、前記メモリライト
    要求バッファに前記メモリライト要求情報を書き込むた
    めの制御を行う前記デバイス制御装置と1対1対応のメ
    モリリクエスト制御部と、 前記複数のメモリリクエスト制御部から発行されるメモ
    リライト要求信号を受けると、前記メモリライト要求バ
    ッファへ格納するメモリライト要求情報を選択すると共
    に、前記メモリリクエスト制御部から発行されるメモリ
    ライト要求バッファへの書込み信号の論理和をとって出
    力するメモリリクエスト調停部とを備え、 前記各メモリリクエスト制御部は、 前記データバッファに書き込んだデータの先頭アドレス
    を格納する先頭アドレス保持手段と、 前記データバッファに書き込んだデータ量を順次カウン
    トするカウント手段と、 前記カウント手段の計算結果と前記先頭アドレスを加算
    し、前記メインメモリの書込み単位であるメモリブロッ
    クの境界超えを判定する判定手段と、 前記判定手段の結果がメモリブロック境界を超えていた
    場合には前記メモリライト要求バッファへの書込み信号
    を発行するメモリライト要求信号作成手段と、 前記判定手段の結果がメモリブロック境界に達せず、か
    つ前記入出力バス上のデータ転送が終了した場合には、
    前記メモリライト要求を記憶するためのリクエスト保留
    フラグを含むことを特徴とする入出力処理装置。
  2. 【請求項2】 前記メモリリクエスト制御部は、前記デ
    バイス制御装置から前記入出力バス経由で送られてくる
    スロット番号を用いて、自らが制御を行なうべきデータ
    転送か否かを判定する自ユニット判定部を備えた請求項
    1に記載の入出力処理装置。
  3. 【請求項3】 データ転送を行なう際に前記デバイス制
    御装置から前記入出力バス経由で送られてくるスロット
    番号を保持するスロット番号保持手段を前記メモリリク
    エスト制御部に設け、 前記リクエスト保留中フラグが真であるメモリリクエス
    ト制御部が存在する場合には、該メモリリクエスト制御
    部の前記スロット番号保持手段の内容と前記データ転送
    を行なう際に送られてくるスロット番号とを比較して、
    一致したメモリリクエスト制御部を選択し、一方前記比
    較の結果一致するメモリリクエスト制御部が存在しない
    ときには、前記リクエスト保留中フラグが偽であるメモ
    リリクエスト制御部の中から選択して、それぞれ選択し
    たメモリリクエスト制御部に前記データ転送を制御させ
    るユニット割付制御部を設けたことを特徴とする請求項
    1に記載の入出力処理装置。
  4. 【請求項4】 前記メモリリクエスト制御部は、前記メ
    モリライト要求が保留されている当該入出力装置対応の
    リソース番号を格納するリソース番号レジスタを備え、
    前記フラッシュ制御部は前記データ転送開始時に前記デ
    バイス制御装置から送られてくるリソース番号を前記リ
    ソース番号レジスタと比較し、比較の結果が不一致の場
    合には前記メモリライト要求バッファへの書込み信号を
    アクティブにする請求項3に記載の入出力処理装置。
  5. 【請求項5】 前記フラッシュ制御部は、前記データ転
    送開始時に前記デバイス制御装置から送られてくるリソ
    ース番号を前記リソース番号レジスタと比較し、比較の
    結果が一致であり、かつ前記リクエスト保留中フラグが
    真の場合に前記メモリライト要求バッファへの書込み信
    号をアクティブにする請求項4に記載の入出力処理装
    置。
  6. 【請求項6】 前記メモリリクエスト調停部により直前
    に選択されたメモリリクエスト制御部の番号を保持する
    調停ユニット番号レジスタと、前記調停ユニット番号レ
    ジスタの出力に予め定められた値を加算するカウンタ
    と、全ての前記メモリリクエスト制御部の前記リクエス
    ト保留中フラグが真である場合、前記カウンタの出力し
    た番号に対応するメモリリクエスト制御部を選択する調
    停ユニット番号セレクタとを備えたユニット割付制御部
    を有する請求項1ないし請求項5のいずれかに記載の入
    出力処理装置。
  7. 【請求項7】 前記メモリリクエスト調停部により直前
    に選択されたメモリリクエスト制御部の番号を保持する
    調停ユニット番号レジスタと、前記調停ユニット番号レ
    ジスタの出力に予め定められた値を減算するカウンタ
    と、全ての前記メモリリクエスト制御部の前記リクエス
    ト保留中フラグが真である場合、前記カウンタの出力し
    た番号に対応するメモリリクエスト制御部を選択する調
    停ユニット番号セレクタとを備えたユニット割付制御部
    を有する請求項1ないし請求項5のいずれかに記載の入
    出力処理装置。
  8. 【請求項8】 前記メモリリクエスト調停部により直前
    に選択されたメモリリクエスト制御部の番号を保持する
    調停ユニット番号レジスタと、前記調停ユニット番号レ
    ジスタの出力にランダムな値を加算するカウンタと、全
    ての前記メモリリクエスト制御部の前記リクエスト保留
    中フラグが真である場合、前記カウンタの出力した番号
    に対応するメモリリクエスト制御部を選択する調停ユニ
    ット番号セレクタとを備えたユニット割付制御部を有す
    る請求項1ないし請求項5のいずれかに記載の入出力処
    理装置。
  9. 【請求項9】 前記メモリリクエスト調停部により直前
    に選択されたメモリリクエスト制御部の番号を保持する
    調停ユニット番号レジスタと、前記調停ユニット番号レ
    ジスタの出力にランダムな値を減算するカウンタと、全
    ての前記メモリリクエスト制御部の前記リクエスト保留
    中フラグが真である場合、前記カウンタの出力した番号
    に対応するメモリリクエスト制御部を選択する調停ユニ
    ット番号セレクタとを備えたユニット割付制御部を有す
    る請求項1ないし請求項5のいずれかに記載の入出力処
    理装置。
  10. 【請求項10】 前記メモリリクエスト制御部内のリク
    エスト保留フラグが真である場合に、マイクロプログラ
    ムにより前記メモリライト要求バッファへの書込み信号
    をアクティブにする入出力制御プロセッサを設けた請求
    項1ないし請求項9のいずれかに記載の入出力処理装
    置。
JP2001044335A 2001-02-20 2001-02-20 入出力処理装置 Pending JP2002244995A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001044335A JP2002244995A (ja) 2001-02-20 2001-02-20 入出力処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001044335A JP2002244995A (ja) 2001-02-20 2001-02-20 入出力処理装置

Publications (1)

Publication Number Publication Date
JP2002244995A true JP2002244995A (ja) 2002-08-30

Family

ID=18906348

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001044335A Pending JP2002244995A (ja) 2001-02-20 2001-02-20 入出力処理装置

Country Status (1)

Country Link
JP (1) JP2002244995A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014098923A (ja) * 2007-06-18 2014-05-29 Shansun Technology Co デジタル情報の保護方法、装置およびコンピュータによるアクセス可能な記録媒体

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03154917A (ja) * 1989-11-03 1991-07-02 Compaq Computer Corp ディスクデータ制御器
JPH10124438A (ja) * 1996-10-17 1998-05-15 Nec Eng Ltd 入出力処理装置
JPH10232849A (ja) * 1997-02-19 1998-09-02 Fujitsu Ltd ディスク制御装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03154917A (ja) * 1989-11-03 1991-07-02 Compaq Computer Corp ディスクデータ制御器
JPH10124438A (ja) * 1996-10-17 1998-05-15 Nec Eng Ltd 入出力処理装置
JPH10232849A (ja) * 1997-02-19 1998-09-02 Fujitsu Ltd ディスク制御装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014098923A (ja) * 2007-06-18 2014-05-29 Shansun Technology Co デジタル情報の保護方法、装置およびコンピュータによるアクセス可能な記録媒体

Similar Documents

Publication Publication Date Title
US7650453B2 (en) Information processing apparatus having multiple processing units sharing multiple resources
US5579530A (en) Method and apparatus for dynamically allocating access time to a resource shared between a peripheral bus and a host bus by dynamically controlling the size of burst data transfers on the peripheral bus
US4788640A (en) Priority logic system
JPH0724045B2 (ja) メモリ制御サブシステム
US6263395B1 (en) System and method for serial interrupt scanning
JPH04306748A (ja) 情報処理装置
US6892266B2 (en) Multicore DSP device having coupled subsystem memory buses for global DMA access
US20070156937A1 (en) Data transfer in multiprocessor system
US5535363A (en) Method and apparatus for skipping a snoop phase in sequential accesses by a processor in a shared multiprocessor memory system
US4907149A (en) Dynamic redirection of interrupts
JPH0660015A (ja) 情報処理装置
US7006521B2 (en) External bus arbitration technique for multicore DSP device
JPH1196072A (ja) メモリアクセス制御回路
JP2002244995A (ja) 入出力処理装置
US7673091B2 (en) Method to hide or reduce access latency of a slow peripheral in a pipelined direct memory access system
US5809534A (en) Performing a write cycle to memory in a multi-processor system
JP2006164070A (ja) データバッファ回路、インターフェース回路及びその制御方法
US5931932A (en) Dynamic retry mechanism to prevent corrupted data based on posted transactions on the PCI bus
JP3077807B2 (ja) マイクロコンピュータシステム
JP2000250852A (ja) バス調停装置、バスシステムおよびバス調停方法
US20110320658A1 (en) Information processing system
US5784580A (en) System and method for communicating between devices
JPH0744460A (ja) スヌープ処理方式
JPH02307123A (ja) 計算機
JPH06231032A (ja) アクセス制御装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050519

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050526

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050928