JP2000353146A - 入出力制御装置及びそのデータの先取り方法 - Google Patents

入出力制御装置及びそのデータの先取り方法

Info

Publication number
JP2000353146A
JP2000353146A JP11164564A JP16456499A JP2000353146A JP 2000353146 A JP2000353146 A JP 2000353146A JP 11164564 A JP11164564 A JP 11164564A JP 16456499 A JP16456499 A JP 16456499A JP 2000353146 A JP2000353146 A JP 2000353146A
Authority
JP
Japan
Prior art keywords
prefetch
data
register
prefetch address
count
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
JP11164564A
Other languages
English (en)
Inventor
Kazuhiro Mori
一浩 森
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 Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP11164564A priority Critical patent/JP2000353146A/ja
Publication of JP2000353146A publication Critical patent/JP2000353146A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)
  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)
  • Bus Control (AREA)

Abstract

(57)【要約】 【課題】 データ先取りを効率化させた入出力制御装置
及びそのデータの先取り方法を得る。 【解決手段】 主記憶装置1からのデータを先取りして
保持するデータバッファと、このデータバッファに先取
りするための先取アドレスを保持する先取アドレスレジ
スタ54と、現在先取るべきデータの転送長を保持する
先取りカウントレジスタ60と、この先取アドレスレジ
スタ60に保持された先取アドレスの次の先取りアドレ
スを保持する次先取アドレスレジスタ51と、先取りカ
ウントレジスタ60に格納される転送長の次のカウント
長を保持する次先取りカウントレジスタ57とを含み構
成される。予め次に先取りするべきアドレスを設定して
おくことにより、ページオーバ検出時に次先取りアドレ
スから速やかに先取りを開始可能とする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、入出力制御装置及
びそのデータの先取り方法に関し、特に、ダイレクトメ
モリアクセス(DMA/direct memory access)転送に
備えて主記憶装置からのデータを先取り制御する入出力
制御装置及びそのデータの先取り方法に関する。
【0002】
【従来の技術】今日、多くの情報処理装置において、ペ
ージング方式が採用されている。このページング方式で
は、物理アドレス空間がページ単位に区切られて管理さ
れ、この物理アドレス空間上の各ページはそれぞれ論理
アドレス空間上に割り当てられる。従って、論理アドレ
ス空間において連続アドレスをアクセスする場合であっ
ても、物理アドレス空間上では必ずしも連続しているわ
けではない。このため、主記憶アクセスにおいてページ
を跨ぐアクセスをする際には、この事象をページ越えま
たはページオーバとして検出し、これを機に種々の制御
を起動している。
【0003】一方、入出力制御装置(IOP)は、主記
憶装置と入出力装置との間を接続し、チャネルプログラ
ムと呼ばれる入出力動作の制御を行うプログラムに従っ
て、両者間のデータ転送を制御する。チャネルプログラ
ムは、コマンド、転送アドレス及びデータ長等から構成
され、チャネルプログラム内では論理アドレスが使用さ
れる場合がある。
【0004】チャネルプログラムを受け取った入出力制
御装置は、コマンドの解析、論理アドレスから物理アド
レスの変換を行い、周辺装置に対してコマンドを発行す
る。入出力装置(周辺装置ともいう)からデータ転送要
求(主記憶装置から入出力装置への転送)があった場合
は、入出力制御装置は主記憶装置の指定された領域から
データを読み出して入出力装置にデータを転送する。上
述のように、主記憶装置から入出力装置へのデータ転送
を行う場合、入出力制御装置は入出力装置からの要求に
従って主記憶装置のデータを転送する。
【0005】しかし、入出力装置からデータ転送要求が
あった時点で主記憶装置にアクセスしたのでは主記憶装
置へのアクセスの間に入出力装置を待たせることにな
り、入出力動作のスループットが低下する。そのため、
入出力装置が要求してくるであろうデータを主記憶装置
から予め読み出して入出力制御装置に保持しておくこと
により、入出力装置のデータ転送要求に対して速やかに
データ転送するデータ先採りの技術が利用されている。
このような従来の入出力制御装置は、データ連鎖発生時
のデータ先取りの効率化を目的として用いられる。
【0006】また、チャネルプログラムは、いくつかの
CCE(チャネルコマンドエントリ)から構成される。
例えば従来例1において、1つのCCEは、アドレス+
カウント+制御情報で示されるものと、複数のアドレス
+カウント+制御情報で示されるもの(データ連鎖CC
E)とがある。主記憶装置から周辺装置へのデータ転送
を行う場合、IOP(input/output processor/入出力
処理機構)は、周辺装置からの要求により主記憶装置の
データを転送する必要がある。
【0007】しかし、周辺装置からデータ転送要求があ
った時点で主記憶装置にアクセスしたのでは、主記憶装
置へのアクセスの間に周辺装置を待たせる必要がある。
そのため、この場合においても入出力動作のスループッ
トを低下させてしまう。
【0008】この問題点に対応する従来技術例として、
IOPで周辺装置が要求して来るであろう主記憶データ
を予め読み出してIOPにてバッファリングすることに
より、周辺装置からデータ転送要求があったらすぐにデ
ータを周辺装置に転送可能としている。これは、いわゆ
るデータの先取り方法である。
【0009】図9は、上記のデータの先取り方法を適用
した従来例2のデータ転送部10のブロック構成図を示
している。本従来例のデータ転送部10は、主記憶装置
1、入出力制御装置20およびプロセッサ3とにより構
成される。この入出力制御装置20は、さらに細分化さ
れ、主記憶アクセス制御部4、主記憶リードデータバッ
ファ61と主記憶ライトデータバッファ62とを有する
DMA制御部6および先取り制御部50により構成され
る。
【0010】図10は、従来例2に於ける先取り制御部
50のより詳細な構成例を示すブロック図である。図1
0において、本従来例の先取り制御部50は、先取りア
ドレスレジスタ54、先取りカウントレジスタ60、セ
レクタ53、55、59、65、加算器56、減算器6
6、データ連鎖検出器67を有して構成される。
【0011】上記従来例2のデータ転送部10におい
て、プロセッサ3と主記憶装置1との間に存する入出力
制御装置2は、プロセッサ3の指示により主記憶装置1
とチャネル制御部との間のデータ転送を制御する。
【0012】本発明と技術分野の類似する従来例3とし
て、特願平5−143512号公報の「入出力処理装
置」がある。本従来例3では、データ転送を行いながら
次データ転送アドレス、カウントの先取りをマイクロプ
ログラムにより行い、マイクロプログラムへの割り込み
処理を高速にし、データ転送が中断する時間を短くする
ことを目的としている。
【0013】
【発明が解決しようとする課題】しかしながら、上述し
たようにチャネルプログラムで指定されたアドレスが論
理アドレスである場合にページを跨いでしまう(ページ
オーバ)と、その先の物理アドレスは論理アドレスより
再度計算しないと判らない。このため、ページオーバ発
生時には、データの先取りを停止させている。そして、
ページオーバによる停止をマイクロプログラムに通知
し、次に先取るべきアドレスを上位の処理装置により設
定してもらうことにより先取りの再開を行っている。
【0014】上記の従来例2において、チャネルプログ
ラムで指定されたカウントが尽き、つまり“0”にな
り、且つデータ連鎖指示の場合、次のアドレスとカウン
ト長が設定されなければ先取りを継続出来ない。このた
め、データ連鎖発生時には、データの先取りを停止させ
ている。さらに、停止時には、先取りを再開するため
に、マイクロプログラムへ通知し、次先取るべきアドレ
スおよびカウント長をプロセッサにより設定してもらう
必要がある問題を伴う。
【0015】なお、従来例3の入出力処理装置では、転
送に従ってページ越え/データ連鎖が発生する。
【0016】本発明は、データ先取りを効率化させた入
出力制御装置及びそのデータの先取り方法を提供するこ
とを目的とする。より詳細には、本発明の目的は、予め
次に先取りするべきアドレスを設定しておくことによ
り、ページオーバ検出時に次先取りアドレスから速やか
に先取りを開始し、あるいは、データ連鎖発生時のデー
タ先取りを効率化させた入出力制御装置及びそのデータ
の先取り方法を提供することにある。
【0017】
【課題を解決するための手段】上記課題を解決するため
に請求項1記載の発明の入出力制御装置は、主記憶装置
からのデータを先取りして保持するデータバッファと、
このデータバッファに先取りするための先取アドレスを
保持する先取アドレスレジスタと、現在先取るべきデー
タの転送長を保持する先取りカウントレジスタと、この
先取アドレスレジスタに保持された先取アドレスの次の
先取りアドレスを保持する次先取アドレスレジスタと、
先取りカウントレジスタに格納される転送長の次のカウ
ント長を保持する次先取りカウントレジスタとを含み構
成されたことを特徴としている。
【0018】また、上記の先取アドレスが保持する先取
アドレスと、次先取アドレスレジスタが保持する次の先
取りアドレスとうを、物理アドレスとするとよい。
【0019】また、上記の入出力制御装置は、所定の装
置間に設置し、データのデータ連鎖発生時のデータ先取
りを高効率化させるとよい。
【0020】また、上記の次先取りアドレスレジスタ、
次先取りカウントレジスタ、先取りアドレスレジスタお
よび先取りカウントレジスタは、同時に起動を掛けるこ
とが出来るチャネルプログラム数を持つとよい。
【0021】さらに、上記の先取りアドレスレジスタお
よび先取りカウントレジスタはレジスタ郡で構成され、
入出力制御装置はレジスタ郡が保持するデータの入出力
を選択するセレクタをさらに有し、当該入出力制御装置
は動作を制御する所定のプロセッサと接続され、次先取
りアドレスレジスタへプロセッサにより物理アドレスが
セットされ各々の有効/無効を示すフラグを持ち、次先
取りカウントレジスタへプロセッサにより転送カウント
長がセットされ各々の有効/無効を示すフラグおよびデ
ータ連鎖指示の有無を示すフラグを持ち、先取りアドレ
スレジスタへはセレクタのセレクト結果が格納され各々
の有効/無効を示すフラグを持ち、先取りカウントレジ
スタへはセレクタのセレクト結果が格納され各々の有効
/無効を示すフラグおよびデータ連鎖指示の有無を示す
フラグを持つとよい。
【0022】請求項6記載の発明のデータの先取り方法
は、主記憶装置からのデータを先取りして保持するデー
タバッファ工程と、このデータバッファ工程で先取りす
る先取アドレスを保持する先取アドレスレジスタ工程
と、現在先取るべきデータの転送長を保持する先取りカ
ウントレジスタ工程と、この先取アドレスレジスタ工程
に保持された先取アドレスの次の先取りアドレスを保持
する次先取アドレスレジスタ工程と、先取りカウントレ
ジスタ工程に格納される転送長の次のカウント長を保持
する次先取りカウントレジスタ工程とを含み構成された
ことを特徴としている。
【0023】
【発明の実施の形態】次に本発明の入出力制御装置の実
施の形態について図面を参照して詳細に説明する。
【0024】(第1の実施形態)図1を参照すると、本
発明の第1の実施形態に適用される情報処理システム
は、システムバス400により接続される処理装置10
0及び主記憶装置200を含む。システムバス400に
はさらに入出力制御装置300が接続される。入出力制
御装置300にはチャネル制御装置500が接続され、
このチャネル制御装置500の配下にはチャネルカード
600を介してディスク装置800用のディスク制御装
置700や、ローカルエリアネットワーク(LAN)プ
ロセッサ900等の入出力装置が接続される。入出力装
置には、他にも、磁気テープやフロントエンドプロセッ
サ等、種々のものが該当し得る。
【0025】従って、入出力制御装置300は、主記憶
装置200と処理装置群との間に位置し、両者間のデー
タ転送を制御する。このデータ転送の制御は、例えば、
処理装置100が入出力命令を発行することにより起動
され、主記憶装置200に保持されたチャネルプログラ
ムを入出力制御装置300が実行することにより実現さ
れる。
【0026】図2を参照すると、入出力制御装置300
は、データバッファ310と、先取管理回路320と、
データ転送制御回路330と、主記憶アクセス制御回路
340とを含んでいる。
【0027】データバッファ310は、リードデータバ
ッファ311と、ライトデータバッファ312とを含
み、それぞれ主記憶装置200からのリードデータまた
は主記憶装置200へのライトデータを保持する。この
データバッファ310の構成は、基本的にキャッシュメ
モリと同様のものを採用できる。但し、このデータバッ
ファ310に保持されるデータは、連続データを前提と
するため、通常のキャッシュメモリよりもラインサイズ
を大きくとることが望ましい。
【0028】データ転送制御回路330は、主記憶装置
200上に保持されたチャネルプロダラムを実行して、
主記憶装置200と入出力装置との間のデータ転送を制
御する回路である。具体的には、チャネル制御装置50
0に対してダイレクトメモリアクセス(DMA)転送命
令を発行するとともに、リードデータバッファ311へ
の先取りアドレス及びその次の先取りアドレスを準備す
る。この具体的動作については後述する。
【0029】主記憶アクセス制御回路340は、データ
バッファ310から主記憶装置200へのライト要求、
及び、先取管理回路320からの先取り要求を調停し
て、主記憶装置200へのリードまたはライト処理を制
御する。
【0030】先取管理回路320は、リードデータバッ
ファ311への先取り処理を管理する回路である。図3
を参照すると、先取管理回路320は、次先取アドレス
レジスタ321と、先取アドレスレジスク324と、加
算器326と、ページオーバ検出器327と、選択器3
22,323,325とを含んでいる。
【0031】先取アドレスレジスタ324は、リードデ
ータバッファ311に先取りすべきデータの物理アドレ
スを保持する。また、次先取アドレスレジスク321
は、その次にリードデータバッファ311に先取りすべ
きデータの物理アドレスを保持する。先取アドレスレジ
スタ324及び次先取アドレスレジスタ321は、複数
個設けることができる。その数は、例えば、同時に実行
できるチャネルプログラムの数としてもよく、また、配
下のチャネルカード600の数としてもよい。この場
合、各レジスタとの対応関係は別途管理する必要があ
る。「配下のチャネルカード600の数」とした場合に
は、チャネル番号により管理できる。「同時に実行でき
るチャネルプログラムの数」とした場合には、各チャネ
ルプログラムに識別番号を動的に割り当てることにより
管理できる。
【0032】先取アドレスレジスタ334及び次先取ア
ドレスレジスタ321の各々はそれぞれ一対一に対応し
ており、ある先取アドレスレジスタ324の使用が終わ
ると対応する次先取アドレスレジスタ321の内容がそ
の先取アドレスレジスタ324に保持されることにな
る。また、先取アドレスレジスタ324及び次先取アド
レスレジスタ321の各々は、それぞれアドレス自身の
他、有効性フラグを保持する。この有効性フラグが「無
効」を示していれば対応するアドレスは有意の値を示す
ものではなく、また「有効」を示していれば有意のアド
レスを保持していることを意味する。
【0033】選択器325は、先取アドレスレジスタ3
24の何れか一つの内容を選択して出力する。選択器3
22は、次先取アドレスレジスタ321の何れか一つの
内容を選択して出力する。選択器325は、選択器32
3の出力、加算器326の出力、及び、処理装置100
からのアドレスの何れか一つを出力する。
【0034】加算器326は、選択器325の出力、す
なわち先取アドレスレジスタ324の一つに保持されて
いた先取アドレス、に主記憶アクセス制御回路340か
ら送られてくる主記憶装置200へのデータ転送量を加
算する。
【0035】ページオーバ検出器327は、加算器32
6の加算結果から先取アドレスについてのページオーバ
の発生を検出し、ページオーバの発生をデータ転送制御
回路330及び処理装置100に知らせる。
【0036】次に、上記の実施の形態における動作につ
いて説明する。
【0037】図1及び図4を参照すると、まず入出力命
令の実行に先立って、処理装置100上で動作するオペ
レーティングシステム(OS)が主記憶装置200上に
チャネルプログラムを準備する(ステップS401)。
このチャネルプログラムの準備が完了すると、オペレー
ティングシステムは入出力制御装置300に対して入出
力命令を発行する(ステップS402)。この入出力命
令を受けて、入出力制御装置300は主記憶装置200
上のチャネルプログラムを読み出して(ステップS40
3)、実行する(ステップS404)。このチャネルプ
ログラム中にDMA転送リード命令が存在した場合に
は、入出力制御装置300は以下の手順でデータ転送処
理を行う。
【0038】図1乃至図3及び図5を参照すると、入出
力制御装置300内のデータ転送制御回路330は、チ
ャネル制御装置500に対してDMA転送命令を発行す
る(ステップS501)。このDMA転送命令には、転
送開始アドレス、転送データ量、転送方向(主記憶装置
200からのリードか、または、主記憶装置200への
ライトか)、及び、チャネル番号(チャネルカード60
0を識別するための番号)等が指示される。この際、入
出力制御装置300内のデータ転送制御回路330は、
DMA転送要求に係るアドレスが仮想アドレスにより指
定されている場合にはこれを物理アドレスに変換する。
このDMA転送命令の転送方向が「主記憶装置からのリ
ードデータを入出力装置へ転送」である旨を示している
場合には、その後、例えば配下のディスク装置800が
入出力制御装置300にDMA転送を要求することにな
る。
【0039】この配下の入出力装置からのDMA転送の
受求に先立って、データ転送制御回路330は、先取管
理回路320内の先取アドレスレジスタ324に先取ア
ドレスを準備する(ステップS502)。具体的には、
選択器322においてデータ転送制御回路330からの
物理アドレスを選択し、この物理アドレスをその入出力
装置(上述の例ではディスク装置800)に対応する先
取アドレスレジスタ324に設定する。この際、その先
取アドレスレジスタ324内の有効性フラグを「有効」
状態に設定する。
【0040】次取アドレスの準備が完了すると、データ
転送制御回路330は、先取アドレスレジスタ324に
保持されたアドレスによってリードデータバッファ31
1への先取り処理を起動する(ステップS503)。こ
の先取り処理の内容については、図6を参照して後述す
る。
【0041】先取アドレスの設定に続いて、データ転送
制御回路330は、先取管理回路320内の次先取アド
レスレジスタ321にさらに次の先取アドレスを準備す
る(ステップS504)。具体的には、データ転送制御
回路330からの物理アドレスをその入出力装置に対応
する次先取アドレスレジスタ321に設定する。この
際、その次先取アドレスレジスタ321内の有効性フラ
グを「有効」状態に設定する。
【0042】ステップS503で起動された先取り処理
は、リードデータバッファ311が満杯になるか、ペー
ジオーバが発生するまで順次継続して行われる。ページ
オーバが発生すると(ステップS505)、該当する次
取アドレスレジスタ324が無効にされ、対応する次先
取アドレスレジスク321に保持されていた値が新たに
その先取アドレスレジスタ324に保持される(ステッ
プS506)。そして、この新たな先取アドレスにより
先取り処理が再度起動される(ステップS503)。次
先取アドレスレジスタ321には、さらに次の先取アド
レスが設定される(ステップS504)。
【0043】図1乃至図3及び図6を参照すると、リー
ドデータバッファ311への先取り処理は、リードデー
タバッファ311に空きがある内は(ステップS60
1)、継続的に行われる(ステップS602)。データ
バッファ311が満杯であれば先取り処理は中断し、空
きができると再開する。このリードデータバッファ31
1への先取りは、所定のデータ量を単位として行われ
る。先取りのためのアクセスの際には、主記憶アクセス
制御回路340は、先取管理回路320の選択器325
から出力された先取りアドレスにより主記憶リード要求
を主記憶装置200に発行するとともに、主記憶装置2
00に発行したリード要求に係る転送データ量とチャネ
ル番号を先取管理回路320に出力する。この出力され
たチャネル番号に従って先取りアドレスレジスタ324
の一つが選択器325により選択され、転送データ量が
加算器326によって加算されて、選択器323を介し
て対応する先取りアドレスレジスタ324が更新される
(ステップS603)。
【0044】この加算の結果、先取り処理におけるペー
ジオーバの発生が検出されると(ステップS604)、
ページオーバ検出器327からデータ転送制御回路33
0へページオーバが発生した旨が出力される(ステップ
S605)。このページオーバの発生に応答して、デー
タ転送制御回路330は、上述のように、次先取アドレ
スレジスタ321に保持されていた値を、対応する先取
アドレスレジスタ324に移動させる(ステップS50
6)。
【0045】このように、本発明の実施の形態によれ
ば、先取アドレスレジスタ324に保持された先取アド
レスに続く「次の先取アドレス」を保持する次先取アド
レスレジスタ321を設けたことにより、先取り処理中
にべージオーバが発生した場合においても、その次の先
取りを継続することができる。
【0046】(第2の実施の形態)次に、本発明に基づ
く、入出力制御装置及びそのデータの先取り方法の第2
の実施の形態を詳細に説明する。図7および図8を参照
すると、本実施形態の入出力制御装置及びそのデータの
先取り方法の一実施形態が示されている。
【0047】図7を参照すると、本実施形態の(DMA
データ)先取り制御部5が適用されるデータ転送部10
のブロック構成図が示されている。
【0048】図7において、データ転送部10は、主記
憶装置1、入出力制御装置2およびプロセッサ3とによ
り構成される。この入出力制御装置2は、さらに細分化
され、主記憶アクセス制御部4、主記憶リードデータバ
ッファ61と主記憶ライトデータバッファ62とを有す
るDMA制御部6および先取り制御部5とにより構成さ
れる。
【0049】データ転送部10の構成例を示す図7にお
いて、プロセッサ3と主記憶装置1との間に存する入出
力制御装置2は、プロセッサ3の指示により主記憶装置
1とチャネル制御部との間のデータ転送を制御する。
【0050】プロセッサ3は、主記憶装置1上にあるチ
ャネルプログラムを解析し、DMA転送要求であれば仮
想アドレスを物理アドレスに変換し、物理アドレス、そ
のカウント長、データ連鎖指示の有無、データの転送方
向(主記憶装置1へのデータライトか主記憶装置1から
のデータリードか)、チャネル番号、を入出力制御装置
2に指示する。また、入出力制御装置2からデータ連鎖
発生の通知があった場合は、次の先取りアドレスおよび
そのカウント長を入出力制御装置2に渡す。
【0051】入出力制御装置2は、先取り制御部5、主
記憶アクセス制御部4、DMA制御部6から成る。
【0052】DMA制御部6は、チャネル制御部からの
要求が主記憶リードであった場合は、主記憶装置1のリ
ードデータバッファからデータをチャネル制御部に転送
する。チャネル制御部からの要求が主記憶ライトであっ
た場合は、主記憶装置1へのライトデータバッファにチ
ャネル制御部からのデータを書き込み、主記憶アクセス
制御部4に主記憶データライトの要求を出す。また、リ
ードデータバッファに空きがあるかどうかを先取り制御
部5に通知する。
【0053】先取り制御部5は、プロセッサ3からのD
MA転送指示が主記憶装置1からのデータリードであっ
た場合、プロセッサ3から指示された物理アドレス、カ
ウント長より主記憶装置1からのデータリード(先取
り)要求を、主記憶アクセス制御部4に出す。先取り
は、DMA制御部6のリードデータバッファが一杯にな
るか、データ連鎖を検出し、次に読み出すべき物理アド
レス、カウント長が無い場合に停止する。
【0054】主記憶アクセス制御部4は、DMA制御部
6からの主記憶データライト要求、先取り制御部5から
の先取り要求を調停し、主記憶装置1へのリード/ライ
ト動作を行う。
【0055】図8は、本発明の実施形態に於ける先取り
制御部5のより詳細な構成例を示すブロック図である。
図8において、本実施形態の先取り制御部5は、次先取
りアドレスレジスタ51、先取りアドレスレジスタ5
4、次先取りカウントレジスタ57、先取りカウントレ
ジスタ60、セレクタ52、53、55、58、59、
65、加算器56、減算器66、データ連鎖検出器67
を有して構成される。
【0056】次先取りアドレスレジスタ51は、先取り
アドレスレジスタ54に格納される物理アドレスの次ペ
ージの物理アドレスを保持するレジスタ群であり、プロ
セッサ3により物理アドレスがセットされる。また各々
の有効/無効を示すフラグを持つ。
【0057】次先取りカウントレジスタ57は、先取り
カウントレジスタ60に格納される転送長の次のカウン
ト長を保持するレジスタ群であり、プロセッサ3により
転送カウント長がセットされる。また各々の有効/無効
を示すフラグおよびデータ連鎖指示の有無を示すフラグ
を持つ。
【0058】先取りアドレスレジスタ54は、現在先取
るべき物理アドレスを保持するレジスタ群であり、セレ
クタ53のセレクト結果が格納される。また各々の有効
/無効を示すフラグを持つ。
【0059】先取りカウントレジスタ60は、現在先取
るべき転送長を保持するレジスタ群であり、セレクタ5
9のセレクト結果が格納される。また各々の有効/無効
を示すフラグおよびデータ連鎖指示の有無を示すフラグ
を持つ。
【0060】次先取りアドレスレジスタ51、次先取り
カウントレジスタ57、先取りアドレスレジスタ54お
よび先取りカウントレジスタ60は、同時に起動を掛け
ることが出来るチャネルプログラム数を持つ。本実施形
態では、チャネル毎にチャネルプログラムを起動可能と
し、チャネル数と同じ数のレジスタを持つこととする。
【0061】先取り調停部は、先取り制御部5に含まれ
る不図示の機能部である。本先取り調停部は、次先取り
アドレスレジスタ51へのライト制御、セレクタ52、
53、55のセレクト制御、先取りアドレスレジスタ5
4のライト制御を行う。また、次先取りカウントレジス
タ57へのライト制御、セレクタ58、59、65のセ
レクト制御、先取りカウントレジスタ60のライト制御
を行う。さらに、データ連鎖検出器からのデータ連鎖検
出信号を受け取る。
【0062】先取り調停部は、プロセッサ3から次先取
りアドレスレジスタ51、次先取りカウントレジスタ5
7、先取りアドレスレジスタ54および先取りカウント
レジスタ60のセット指示、DMA制御部6からは主記
憶リードデータバッファ61に空きがあるかの信号を受
け取る。
【0063】先取り調停部は、先取りアドレスレジスタ
54、先取りカウントレジスタ60、次先取りアドレス
レジスタ51および次先取りカウントレジスタ57の有
効/無効フラグより、どのチャネルの先取りアドレスが
有効であるかを判断する。さらに、複数チャネルに於い
て先取りが必要であれば調停を行い、主記憶アクセス制
御部4に先取り要求を行う。
【0064】セレクタ52、58は、先取り調停部から
の制御信号(チャネル番号)に基づき、次先取りアドレ
スレジスタ51および次先取りカウントレジスタ57を
選択する。
【0065】セレクタ53、59は、先取り調停部から
の指示により、加/減算器からの出力、プロセッサ3か
ら指示された先取りアドレスレジスタ54、若しくは次
先取りカウントレジスタ57を選択して出力する。
【0066】セレクタ55、65は、先取り調停部から
の制御信号(チャネル番号)に基づき、先取りアドレス
レジスタ54または先取りカウントレジスタ60を選択
する。
【0067】加算器56は、先取りアドレスに主記憶ア
クセス制御部4から送られてくる主記憶装置1へのデー
タ転送量を加算する。
【0068】減算器66は、先取りカウントに主記憶ア
クセス制御部4から送られてくる主記憶装置1へのデー
タ転送量を減算する。
【0069】データ連鎖検出器67は、先取りカウント
に主記憶装置1へのデータ転送量を減算た結果が“0”
になり、かつ先取りカウントレジスタ内のデータ連鎖指
示有りの場合にデータ連鎖を検出し、データ連鎖発生時
は先取り調停部に発生を知らせると共にプロセッサ3に
通知する。
【0070】図7を用いて実施形態の動作例の説明を行
う。プロセッサ3は、チャネルプログラムを解析した結
果が主記憶リードDMA転送であった場合は、先取り制
御部5にチャネル番号と主記憶装置1の物理アドレス、
転送長およびデータ連鎖の有無を通知し、先取りアドレ
スレジスタ54および先取りカウントレジスタ60への
書き込みを指示する。また、データ連鎖指示の場合は、
先取り制御部5にチャネル番号と次の主記憶装置1の物
理アドレス、転送長およびデータ連鎖の有無を通知し、
次先取りアドレスレジスタ51および次先取りカウント
レジスタ57への書き込みも指示する。
【0071】先取り調停部は、プロセッサ3から先取り
アドレスレジスタ54への書き込み指示を受け付ける
と、セレクタ53にプロセッサ3から送られて来た物理
アドレスを選択させ、プロセッサ3から送られて来たチ
ャネル番号に対応する先取りアドレスレジスタ54内か
ら1つを選択し、物理アドレスを書き込むと共に、プロ
セッサ3から送られて来たチャネル番号に対応する先取
りアドレスレジスタの有効表示を行う。
【0072】また、プロセッサ3から次先取りアドレス
レジスタ51への書き込み指示を受け付けると、プロセ
ッサ3から送られて来たチャネル番号に対応する先取り
アドレス有効表示を参照し、有効であれば次先取りアド
レスレジスタ51内の1つを選択し物理アドレスを書き
込むと共に、プロセッサ3から送られて来たチャネル番
号に対応する次先取りアドレスレジスタ有効表示を行
う。
【0073】逆に、無効であればセレクタ53にプロセ
ッサ3から送られて来た物理アドレスを選択させ、プロ
セッサ3から送られて来たチャネル番号に対応する先取
りアドレスレジスタ54内の1つを選択し物理アドレス
を書き込むと共に、プロセッサ3から送られて来たチャ
ネル番号に対応する先取りアドレスレジスタ有効表示を
行う。
【0074】先取り調停部は、カウントに関しても同様
に、先取りカウントレジスタ60への書き込み指示を受
け付けると、セレクタ59にプロセッサ3から送られて
来たカウント長を選択させ、プロセッサ3から送られて
来たチャネル番号に対応する先取りカウントレジスタ6
0内から1つを選択しカウント長を書き込む。これと共
に、プロセッサ3から送られて来たチャネル番号に対応
する先取りカウントレジスタ60の有効表示を行う。
【0075】データ連鎖指示を伴う場合は、先取りカウ
ントレジスタ60内のデータ連鎖表示をデータ連鎖有り
に設定する。またプロセッサ3から次先取りカウントレ
ジスタ57への書き込み指示を受け付けると、プロセッ
サ3から送られて来たチャネル番号に対応する先取りカ
ウント有効表示を参照し、有効であれば次先取りカウン
トレジスタ57内の1つを選択しカウント長を書き込む
と共に、プロセッサ3から送られて来たチャネル番号に
対応する次先取りカウントレジスタ有効表示を行う。
【0076】データ連鎖指示を伴う場合は、次先取りカ
ウントレジスタ57内のデータ連鎖表示をデータ連鎖有
りに設定する。逆に先取りカウント有効表示が無効であ
れば、セレクタ59にプロセッサ3から送られて来たカ
ウント長を選択させ、プロセッサ3から送られて来たチ
ャネル番号に対応する先取りカウントレジスタ60内の
1つを選択しカウント長を書き込むと共に、プロセッサ
3から送られて来たチャネル番号に対応する先取りカウ
ントレジスタ有効表示を行う。データ連鎖を伴う場合
は、先取りカウントレジスタ60内のデータ連鎖表示を
データ連鎖有りに設定する。
【0077】先取り調停部は、先取りアドレスレジスタ
54と先取りカウントレジスタ60の両方が有効表示を
行っているものがあれば、それらの内の1チャネルを選
択し、主記憶アクセス制御部4にチャネル番号と共に主
記憶リード要求を出す。但し、DMA制御部6の主記憶
リードデータバッファ61が一杯で書き込める余地が無
い場合は、主記憶アクセス制御部4への主記憶リード要
求は抑止する。
【0078】主記憶アクセス制御部4は、先取り調停部
から主記憶リード要求を受け付けると、先取り調停部か
ら渡されたチャネル番号でセレクタ55を選択し先取り
アドレスを読み出し、主記憶リード要求を主記憶装置1
に出すと共に主記憶装置1に出したリード要求の転送量
とチャネル番号を先取り制御部5に渡し、先取りアドレ
スと転送量の加算結果をチャネル番号に従った先取りア
ドレスレジスタへ54の書き込みを指示する。
【0079】同様に、チャネル番号でセレクタ65を選
択し先取りカウントを読み出し、先取りカウントと転送
量の減算結果をチャネル番号に従った先取りカウントレ
ジスタ60への書き込みを指示する。
【0080】データ連鎖検出部62が上記先取りカウン
トと転送量の減算結果の“0”を検出し、かつ、先取り
カウントレジスタ内のデータ連鎖が有効になっていた場
合にデータ連鎖を検出し、データ連鎖検出を先取り調停
部に報告すると共に、プロセッサ3にチャネル番号と共
にデータ連鎖検出を報告する。
【0081】データ連鎖検出を報告された先取り調停部
は、データ連鎖を検出したチャネル番号に対応する先取
りアドレスレジスタおよび先取りカウント有効表示を無
効にすると共に、データ連鎖を検出したチャネルに対応
する次先取りアドレスレジスタ51および次先取りカウ
ントレジスタ57の有効表示を検索する。
【0082】次先取りアドレスレジスタ51と次先取り
カウントレジスタ57の両方が有効であった場合は、セ
レクタ52およびセレクタ58を、データ連鎖を検出し
たチャネルによりセレクトし、セレクタ53に次先取り
アドレスレジスタ51を選択させ、セレクタ58に次先
取りカウントレジスタ57を選択させる。
【0083】データ連鎖を検出したチャネルに応じた先
取りアドレスレジスタ54に、次先取りアドレスレジス
タ51の値をロードし、同様に先取りカウントレジスタ
60に次先取りカウントレジスタ57の値をデータ連鎖
表示も含めてロードする。これと共に、先取りアドレス
レジスタ54および先取りカウントレジスタ60の有効
表示を有効にする。
【0084】データ連鎖検出を報告されたプロセッサ3
は、報告されたチャネル制御部に対する転送に次アドレ
スおよびカウントが必要であれば、先取り制御部5にチ
ャネル番号、主記憶装置1の物理アドレス、カウント長
およびデータ連鎖の有無を通知し、次先取りアドレスレ
ジスタ51および次先取りカウントレジスタ57への書
き込みを指示する。
【0085】(変化例)上記の実施形態では、先取りア
ドレスレジスタ54、先取りアドレスレジスタ有効表示
ビット、次先取りアドレスレジスタ51および次先取り
アドレスレジスタ有効表示ビットをチャネル対応とし
た。しかし同時に起動をかけることが出来るチャネルプ
ログラム数(n個)持てば意味をなすので、チャネル対
応で無くともチャネルプログラム起動時に、1〜nの数
を割り当て、その番号で上記レジスタ、有効表示ビット
を選択することにしても良い。
【0086】上記の実施形態によれば、入出力制御装置
に於けるデータ先取り機構に、先取るべきアドレスとそ
のカウント長、その次に先取るべきアドレスとそのカウ
ント長を設定可能とする。このことにより、データ連鎖
(カウント長が“0”かつデータ連鎖指示有り)検出時
に、即座に次チャネルプログラムエントリに従い先取り
を開始出来る。
【0087】図8において、先取りアドレスレジスタ5
4に格納されたアドレスで主記憶装置1からの読み出し
動作を行う。先取りアドレスレジスタ54およびカウン
ト長は、主記憶装置1から読み出したデータ量に従って
更新され、データ連鎖が発生した時点で、次先取りアド
レスレジスタ51およびそのカウント長より値をロード
し先取りを続ける。これと同時に、マイクロプログラム
に次次先取りアドレスおよびカウント長の設定を要求す
る。マイクロプログラムは、アドレス変換を行って次次
先取りアドレスおよびカウント長を設定する。
【0088】よって、予めプロセッサにて次に先取るべ
きアドレスおよびカウント長をレジスタに設定しておく
ことにより、ページオーバ検出時に次先取りアドレスよ
り先取りを開始することができ、入出力動作のスループ
ット向上が図れる。
【0089】尚、上述の実施形態は本発明の好適な実施
の一例である。但し、これに限定されるものではなく、
本発明の要旨を逸脱しない範囲内において種々変形実施
が可能である。
【0090】
【発明の効果】以上の説明より明かなように、本発明の
入出力制御装置及びそのデータの先取り方法は、現在先
取るべき物理アドレスを保持し、現在先取るべき転送長
を保持し、保持された物理アドレスの次ページの物理ア
ドレスを保持し、格納された転送長の次のカウント長を
保持する。これにより、データ連鎖発生時に、次アドレ
スをロードし先取りを続けることにより、効率よく先取
りを行える。
【図面の簡単な説明】
【図1】本発明が適用される情報処理システムの構成を
示すブロック図である。
【図2】本発明の第1の実施の形態による入出力制御装
置の構成を示すブロック図である。
【図3】本発明の入出力制御装置の第1の実施の形態に
おける先取管理回路の構成を示すブロック図である。
【図4】本発明の第1の実施の形態における入出力命令
の発行処理の動作を示す図である。
【図5】本発明の第1の実施の形態におけるデータ転送
処理の動作を示す図である。
【図6】大発明の第1の実施の形態における先取り処理
の動作を示す図である。
【図7】本発明の入出力制御装置の第2の実施形態が適
用されたデータ転送部のブロック構成図が示されてい
る。
【図8】本発明の第2の実施形態に於ける先取り制御部
のより詳細な構成例を示すブロック図である。
【図9】従来例のデータ転送部のブロック構成図を示し
ている。
【図10】従来例に於ける先取り制御部のより詳細な構
成例を示すブロック図である。
【符号の説明】
1、200 主記憶装置 2、300 入出力制御装置 3 プロセッサ 4 主記憶アクセス制御部 5 先取り制御部 6 DMA制御部 10 データ転送部 51 次先取りアドレスレジスタ 52、53、55、58、59、65 セレクタ 54 先取りアドレスレジスタ 56 加算器 57 次先取りカウントレジスタ 60 先取りカウントレジスタ 61 主記憶リードデータバッファ 62 主記憶ライトデータバッファ 66 減算器 67 データ連鎖検出器 100 処理装置 400 システムバス 500 チャネル制御装置 800 チャネルカード 700 ディスク制御装置 800 ディスク装置 900 LANプロセッサ
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) G06F 12/08 G06F 12/08 X G 13/12 340 13/12 340D Fターム(参考) 5B005 JJ12 KK15 LL11 MM23 NN01 NN43 5B013 AA20 5B014 EA03 GC22 GC23 GD24 5B033 AA04 BC06 DB06 DC02 5B061 BA03 DD01 DD06 DD09 DD11 PP01

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 主記憶装置からのデータを先取りして保
    持するデータバッファと、 このデータバッファに先取りするための先取アドレスを
    保持する先取アドレスレジスタと、 現在先取るべきデータの転送長を保持する先取りカウン
    トレジスタと、 この先取アドレスレジスタに保持された先取アドレスの
    次の先取りアドレスを保持する次先取アドレスレジスタ
    と、 前記先取りカウントレジスタに格納される転送長の次の
    カウント長を保持する次先取りカウントレジスタと、 を含み構成されたことを特徴とする入出力制御装置。
  2. 【請求項2】 前記先取アドレスが保持する先取アドレ
    スと、前記次先取アドレスレジスタが保持する次の先取
    りアドレスとは、物理アドレスであることを特徴とする
    請求項1記載の入出力制御装置。
  3. 【請求項3】 前記入出力制御装置は所定の装置間に設
    置され、前記データのデータ連鎖発生時にデータ先取り
    の高効率化を可能としたことを特徴とする請求項2記載
    の入出力制御装置。
  4. 【請求項4】 前記次先取りアドレスレジスタ、次先取
    りカウントレジスタ、先取りアドレスレジスタおよび先
    取りカウントレジスタは、同時に起動を掛けることが出
    来るチャネルプログラム数を持つことを特徴とする請求
    項1から3の何れかに記載の入出力制御装置。
  5. 【請求項5】 前記先取りアドレスレジスタおよび前記
    先取りカウントレジスタはレジスタ郡で構成され、前記
    入出力制御装置は前記レジスタ郡が保持するデータの入
    出力を選択するセレクタをさらに有し、当該入出力制御
    装置は動作を制御する所定のプロセッサと接続され、前
    記次先取りアドレスレジスタへ前記プロセッサにより物
    理アドレスがセットされ各々の有効/無効を示すフラグ
    を持ち、前記次先取りカウントレジスタへ前記プロセッ
    サにより転送カウント長がセットされ各々の有効/無効
    を示すフラグおよびデータ連鎖指示の有無を示すフラグ
    を持ち、前記先取りアドレスレジスタへは前記セレクタ
    のセレクト結果が格納され各々の有効/無効を示すフラ
    グを持ち、前記先取りカウントレジスタへは前記セレク
    タのセレクト結果が格納され各々の有効/無効を示すフ
    ラグおよびデータ連鎖指示の有無を示すフラグを持つこ
    とを特徴とする請求項2から4の何れかに記載の入出力
    制御装置。
  6. 【請求項6】 主記憶装置からのデータを先取りして保
    持するデータバッファ工程と、 このデータバッファ工程で先取りする先取アドレスを保
    持する先取アドレスレジスタ工程と、 現在先取るべきデータの転送長を保持する先取りカウン
    トレジスタ工程と、 この先取アドレスレジスタ工程に保持された先取アドレ
    スの次の先取りアドレスを保持する次先取アドレスレジ
    スタ工程と、 前記先取りカウントレジスタ工程に格納される転送長の
    次のカウント長を保持する次先取りカウントレジスタ工
    程と、 を含み構成されたことを特徴とするデータの先取り方
    法。
JP11164564A 1999-06-11 1999-06-11 入出力制御装置及びそのデータの先取り方法 Pending JP2000353146A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11164564A JP2000353146A (ja) 1999-06-11 1999-06-11 入出力制御装置及びそのデータの先取り方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11164564A JP2000353146A (ja) 1999-06-11 1999-06-11 入出力制御装置及びそのデータの先取り方法

Publications (1)

Publication Number Publication Date
JP2000353146A true JP2000353146A (ja) 2000-12-19

Family

ID=15795570

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11164564A Pending JP2000353146A (ja) 1999-06-11 1999-06-11 入出力制御装置及びそのデータの先取り方法

Country Status (1)

Country Link
JP (1) JP2000353146A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2454811A (en) * 2007-11-19 2009-05-20 St Microelectronics Ltd Cache memory which pre-fetches data when an address register is written
JP2011530744A (ja) * 2008-08-06 2011-12-22 アスペン・アクイジション・コーポレーション 停止可能および再始動可能dmaエンジン
US8725987B2 (en) 2007-11-19 2014-05-13 Stmicroelectronics (Research & Development) Limited Cache memory system including selectively accessible pre-fetch memory for pre-fetch of variable size data

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2454811A (en) * 2007-11-19 2009-05-20 St Microelectronics Ltd Cache memory which pre-fetches data when an address register is written
GB2454811B (en) * 2007-11-19 2012-11-14 St Microelectronics Ltd Cache memory system
US8725987B2 (en) 2007-11-19 2014-05-13 Stmicroelectronics (Research & Development) Limited Cache memory system including selectively accessible pre-fetch memory for pre-fetch of variable size data
US9208096B2 (en) 2007-11-19 2015-12-08 Stmicroelectronics (Research & Development) Limited Cache pre-fetching responsive to data availability
US9311246B2 (en) 2007-11-19 2016-04-12 Stmicroelectronics (Research & Development) Limited Cache memory system
JP2011530744A (ja) * 2008-08-06 2011-12-22 アスペン・アクイジション・コーポレーション 停止可能および再始動可能dmaエンジン
US8732382B2 (en) 2008-08-06 2014-05-20 Qualcomm Incorporated Haltable and restartable DMA engine

Similar Documents

Publication Publication Date Title
KR100242484B1 (ko) 캐쉬 메모리 시스템의 성능 최적화 방법 및 장치
US5659798A (en) Method and system for initiating and loading DMA controller registers by using user-level programs
US6003112A (en) Memory controller and method for clearing or copying memory utilizing register files to store address information
US8255591B2 (en) Method and system for managing cache injection in a multiprocessor system
JP5387776B2 (ja) 割込制御方法、マルチコアプロセッサシステム、および割込制御プログラム
JPS61107434A (ja) デ−タ処理装置
JPH09128293A (ja) 情報処理装置
JPH0147813B2 (ja)
US6654837B1 (en) Dynamic priority external transaction system
JP2695017B2 (ja) データ転送方式
JP2019169081A (ja) 情報処理装置、情報処理方法、プログラム
US7451274B2 (en) Memory control device, move-in buffer control method
JP4642531B2 (ja) データ要求のアービトレーション
JP4166615B2 (ja) データ処理装置におけるマルチアクセス命令を処理するデータ処理装置及び方法並びにその方法によるコンピュータ・プログラム製品
JP2000353146A (ja) 入出力制御装置及びそのデータの先取り方法
JPH05173961A (ja) データ・ブロック転送制御方法
JP3481425B2 (ja) キャッシュ装置
EP0488566A2 (en) Method and apparatus for fast page mode selection
JP6365718B1 (ja) コンピュータシステム、及びメモリコピー方法
JPH11345199A (ja) 入出力制御装置及びそのデータの先取り方法
US12038839B2 (en) Processor and method for designating a demotion target to be demoted from an in-core cache structure to an out-of-core cache structure
JP3077807B2 (ja) マイクロコンピュータシステム
JPH0715667B2 (ja) データ処理装置
JPH1185673A (ja) 共有バスの制御方法とその装置
JP2004234420A (ja) 割り込み制御方式及び割り込み制御方法

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20020924