JPH09293044A - データ転送方式 - Google Patents

データ転送方式

Info

Publication number
JPH09293044A
JPH09293044A JP10738096A JP10738096A JPH09293044A JP H09293044 A JPH09293044 A JP H09293044A JP 10738096 A JP10738096 A JP 10738096A JP 10738096 A JP10738096 A JP 10738096A JP H09293044 A JPH09293044 A JP H09293044A
Authority
JP
Japan
Prior art keywords
data transfer
request
data
read
adapter
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
Application number
JP10738096A
Other languages
English (en)
Other versions
JP2865131B2 (ja
Inventor
Takashi Suzuki
孝 鈴木
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 JP10738096A priority Critical patent/JP2865131B2/ja
Publication of JPH09293044A publication Critical patent/JPH09293044A/ja
Application granted granted Critical
Publication of JP2865131B2 publication Critical patent/JP2865131B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)

Abstract

(57)【要約】 (修正有) 【課題】 I/Oバスと主記憶装置間のデータ転送のビ
ジー率を抑え、性能を向上させる。 【解決手段】 I/Oアダプタ1は、周辺コントローラ
4から発生する主記憶装置に対するDMAリスエストを
識別し、DMAリード時そのリクエストに対応するデー
タがバッファ部14内に格納されている場合は、バッフ
ァ部から周辺コントローラに対しデータを返却する手段
126と、DMAリードでそのリクエストに対応するデ
ータがバッファ部に格納されていない場合にそのリード
要求が連続したデータ転送を行う可能性があるものなの
かを識別する手段121と、連続したアクセスがあると
判断した場合に先行読出しを行うために周辺コントロー
ラからのDMAリードに基づく先行読出しのための転送
要求を発行する手段120とを持つバッファ機構11を
有する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、DMAリードアク
セス時の先行読出しを行う装置に関する。
【0002】
【従来の技術】周辺装置を制御しI/Oバスに接続され
る周辺コントローラは、主記憶装置との間でのデータの
読み出し・書き込みをDMA手段を用いて行う方法が一
般的であり、公知である。周辺コントローラからのデー
タ読み出しは、DMAリード処理を用いて行う。DMA
リード処理は、アドレスと必要なデータ量を上位側バス
に送出し、これが主記憶装置まで伝達され、この結果主
記憶装置からデータが返却されるという手順を踏む。
【0003】DMAリード動作においては、リード要求
を発行してからデータが返ってくるまでの間、I/Oバ
スと主記憶装置間のバスを占有してしまう第1の方式が
ある。また、リクエストを発行した後で一旦バスを解放
し、別のリクエストを受け付けておき、データが主記憶
装置から送られてきた時にI/Oバスと主記憶装置をつ
なぐI/OアダプタがI/Oバスを確保し要求元にデー
タを返送する第2の方式がある。
【0004】上述したどちらの方式もリクエストを発行
してから要求したデータが返却されるまでの時間は、I
/Oバスと主記憶装置間のデータ転送時間の倍(往復時
間分)以上でしか実現出来ないという問題があった。
【0005】これを解決するために、特開平2−110
646に述べられている様な方法が提案されている。こ
の方法では、I/Oアダプタに先読み機能を保有させ、
あるDMAリードリクエストがあった場合、そのリクエ
ストの後続部分のデータを読み出しておくという方法
(プリフェッチと呼ぶ)である。
【0006】
【発明が解決しようとする課題】しかしながら、この方
法でも毎回リードリクエストを発行することに変わりは
ないため、I/Oバス上のビジー率(占有率)は下がる
が、主記憶装置とI/Oバス以上のバス間のビジー率を
下げることができず性能向上対策としては不十分であ
る。
【0007】また、プリフェッチの効果を十分に引き出
すためには、I/Oバスと主記憶装置間のアクセス時間
を考慮したバッファをI/Oアダプタに搭載する必要が
あり、I/Oバスと主記憶装置間のアクセス時間が長く
なればなるほどバッファを多量に持つ必要があり、HW
(ハードウエア)を増加させてしまうという問題があっ
た。
【0008】上記のような問題点を鑑み、本発明の主た
る課題は、従来のプリフェッチ方式に比べI/Oバスと
主記憶装置間のバスのビジー率を抑え、性能を向上させ
ることのできるデータ転送方式を提供することにある。
【0009】本発明はまた、I/Oアダプタ内のバッフ
ァを抑えてHW量を削減することのできるデータ転送方
式を提供しようとするものである。
【0010】
【課題を解決するための手段】本発明によるデータ転送
方式は、CPUと主記憶装置とディスク等の周辺装置を
制御する周辺コントローラと前記CPUと前記周辺コン
トローラ間のデータ転送及び前記周辺コントローラと前
記主記憶装置間のデータ転送を行うI/Oアダプタを有
するデータ処理装置であって、前記I/Oアダプタ内に
前記周辺コントローラから発生するリードアクセス(以
下、DMAリードと呼ぶ)に基づいて後続のDMAリー
ドがあることを予測し、前記周辺コントローラから本当
のDMAリード要求が来る前に前記主記憶装置から前記
予測したデータを取り込んでおき前記周辺コントローラ
から本当のリクエストが来た場合に取り込んでおいたデ
ータを前記周辺コントローラに返却する先行読出し機能
を有するデータ処理装置において、前記I/Oアダプタ
は、先行読出し時の前記主記憶装置からのデータを受け
取るバッファと、前記周辺コントローラから発生する前
記主記憶装置に対するDMAリード、ライトアクセス
(以下、DMAライトと呼ぶ)を識別し、DMAリード
時そのリクエストに対応するデータが前記バッファ内に
格納されている場合は、前記バッファから前記周辺コン
トローラに対しデータを返却する手段と、DMAリード
で、そのリクエストに対応するデータが前記バッファに
格納されていない場合にそのリード要求が連続したデー
タ転送を行う可能性があるものなのかを識別する手段
と、連続したアクセスがあると判断した場合に先行読出
しを行うために前記周辺コントローラからのDMAリー
ドに基づく先行読出しのための転送要求を前記主記憶装
置へ行うために前記主記憶装置の主記憶が割り当てられ
ていない特定のアドレスに対してライトリクエストを発
行する手段とを持つバッファ機構を有し、前記主記憶装
置は、特定アドレスに対するライトリクエストを受け付
けた場合、要求元I/Oアダプタに対して要求されたア
ドレスからデータ転送を一定時間間隔毎に行い、前記I
/Oアダプタからの転送中止指示またはデータのページ
バウンダリ等の切れ目を検出した場合等、データ転送を
中止する手段を持つデータ転送制御機構を有することに
より先行読出しを可能とすることを特徴とする。
【0011】前記データ転送制御機構は、前記I/Oア
ダプタへのデータ転送時間間隔を前記I/Oアダプタか
らの設定により指示できる手段を有し、指定された時間
間隔でのデータ転送が行える。
【0012】前記データ転送制御機構はまた、上記DM
Aライト動作によるデータ転送を行うデータ転送制御機
構を複数保有した場合、データ転送処理中を示すビジー
フラグを発生する手段を有し、リクエストを動的に空い
ている前記データ転送制御機構に割当てデータ転送を制
御することが可能である。
【0013】前記データ転送制御機構は更に、前記主記
憶制御装置が保有する複数のデータ転送制御機構におい
て全てのデータ転送制御機構がデータ転送を処理してお
り、リクエストの受付が不能になったことを前記ビジー
フラグにより識別する手段、受付不能状態をI/Oアダ
プタに通知する手段を有し、先行読出しのためのライト
リクエストの発生を抑えることが可能である。
【0014】前記データ転送制御機構は更に、前記主記
憶制御装置において前記リクエスト受付不能状態になっ
た後、処理を実行していたデータ転送の中止指示がI/
Oアダプタからあった場合、または、ぺ一ジバウンダリ
境界を検出して処理をしていたデータ転送を中止した場
合等のデータ転送終了を検出する手段を有し、前記通知
手段は、上記データ転送リクエストが受付可能となった
ことをI/Oアダプタに通知することにより、先行読出
し動作を再開可能である。
【0015】前記I/Oアダプタは、I/Oバスを介し
て複数の前記周辺コントローラを接続した場合に発生す
る複数のDMAリード要求を並行して受け付けることが
出来るように複数の前記バッファ機構と前記バッファ機
構が先行リード中であることを示すプリフェッチフラグ
を発生する手段、I/Oバスからのリクエストが発生し
た時に空いているバッファ機構を探し、その空きバッフ
ァ機構に動的に割当てる手段を有し、上記先行読出しの
ためのデータ転送を行うことが可能である。
【0016】前記I/Oアダプタはまた、前記主記憶制
御装置から送られて来たデータが前記周辺コントローラ
側に吐き出されず前記バッファ機構に蓄えられ一杯にな
ったことを検出する手段、前記主記憶制御装置に対して
データ転送の一時停止を伝える手段を有し、先行読出し
の機能を一時的に中止させることが可能である。
【0017】前記I/Oアダプタは更に、前記周辺コン
トローラ側からのDMAリードにより前記バッファから
前記周辺コントローラにデータを返却し、I/Oアダプ
タ内のバッファに空きが発生したことを検出する手段、
データ受付が可能となったことを前記主記憶装置に対し
て通知する手段を有し、中断したデータ転送を再開させ
ることが可能である。
【0018】前記I/Oアダプタは更に、どの周辺コン
トローラからのDMAリードを先行読出し処理している
かを保持しておく手段、同一の周辺コントローラから送
出されるDMAリードリクエストが連続していないと
き、DMAリードリクエスト以外のリクエスト(DMA
ライト等)が発行されたことを検出する手段を有し、前
記検出手段により先行読出し処理を無効と判断した後、
I/Oアダプタ内に保有するデータを破棄し、前記主記
憶制御装置に対してデータ転送の中止を指示する手段を
有し、先行読出しの処理を遅滞無く中止することが可能
である。
【0019】前記I/Oアダプタは更に、前記主記憶制
御装置に対してデータ転送の中止を指示した後、主記憶
装置からのデータ転送が終了するまで送られてくるデー
タを破棄する手段を有し、次の先行読出し処理を遅滞な
く行うことが可能である。
【0020】
【作用】本発明によれば、I/Oバス配下は、従来通り
のDMA機能を使えるようにしておき、かつI/Oアダ
プタと主記憶装置の間でプリフェッチ方式と同様にI/
Oバス上でみたデータ転送時間を短縮し、一方、従来の
プリフェッチ方式に比べI/Oバスと主記憶装置間のバ
スのビジー率を抑えて性能を向上させ、また、I/Oア
ダプタ内のバッファを半分に抑えられるためHW量を削
減することができる。
【0021】
【発明の実施の形態】本発明の好ましい実施の形態を図
面を参照して説明する。図1は、全体の構成図を示して
いる。CPU3と主記憶装置2とI/Oアダプタ1は、
プロセッサバス5を介して接続されている。周辺コント
ローラ4とI/Oアダプタ1は、I/Oバス6を介して
接続されている。プロセッサバス5には、I/Oアダプ
タ1を複数接続することが可能であり、I/Oバス6に
も、複数の周辺コントローラ4が接続可能である。ま
た、I/Oアダプタ1は、多段で接続されるケースもあ
るが、ここでは、説明を簡単化するために1段とする。
多段接続に於いては、本発明による機能をどのように持
っても良い。
【0022】周辺コントローラ4内には、DMA処理機
能が搭載されており、CPU3からの指示により周辺コ
ントローラ4内のDMA処理機能が動作し、I/Oバス
6にデータ転送要求を発行しデータの転送を行う。I/
Oアダプタ1は、I/Oバス6から発生する全てのリク
エストを受け付けるリクエスト受付部10、先行読出し
に関する制御を行うバッファ機構11、プロセッサバス
5の処理を行うプロセッサバス処理部15を含み、ここ
では、これ以外の部分についての説明を省略する。
【0023】バッファ機構11は、先行読出し処理に関
するリクエストを管理するリクエスト管理部12と、先
行読出しデータを格納しておくバッファ部14と、バッ
ファの状態を管理するバッファ管理部13とを有する。
リクエスト管理部12は、図2を参照して、連続転送の
可否を判断する連続転送チェック部121、先行読出し
の制御を行うリクエスト処理部122、主記憶装置2へ
の先行読出し用のリクエスト発行を制御するリクエスト
変換部120、先行読出し処理中を示すプリフェッチフ
ラグを発生するプリフェッチフラグ発生部123を有す
る。
【0024】バッファ管理部13内には、プリフェッチ
終了後のデータ破棄を制御するデータ破棄部131があ
る。また、リクエスト処理部122には、I/Oバス6
にデータを吐き出すデータを吐き出し処理部126、先
行読出しに伴う各種データを保持している先行読出し保
持部125、先行読出しの一時停止の検出や、データ転
送制御機構23に対しての先行読出しに伴うデータ転送
の一時中断や、再開を通知するリクエスト一時停止、再
開通知部124、先行読出しにおける終了を検出する転
送終了検出部127、転送終了をデータ転送制御機構2
3に通知する転送終了通知部127を有する。
【0025】主記憶装置2内の主記憶制御装置20は、
プロセッサバス5を介したリクエストを受付けるリクエ
スト受付部21と先行読出し処理用のデータ転送を制御
するデータ転送制御機構23等を有する。リクエスト受
付部21は、主記憶空間へのアクセスかデータ転送要求
かを識別し、通常の主記憶装置に対するリクエストであ
るならば、そのリクエストを処理する通常リクエスト処
理部22にリクエストを送る機能を持つ。一方、データ
転送制御機構23は、受け付けたリクエストを処理する
リクエスト処理部230、データ転送のタイミングを計
時するタイマー部231、先行読出し処理中を示すビジ
ーフラグを発生するビジーフラグ発生部232からな
る。また、リクエスト受付部21には、先行リード要求
の受付けが不可能であることを検出し、通知するリクエ
スト不可通知部24がある。
【0026】次に、周辺コントローラ4からDMAリー
ドまたは、DMAライトが発生する所から順を追って説
明する。
【0027】1)周辺コントローラ4からのリクエスト
は全てI/Oアダプタ1のリクエスト受付部10で受け
付ける。リクエスト受付部10は、周辺コントローラ4
から受けたリクエストを調べ、DMAライトリクエスト
であるならば、プロセッサバス5に対してそのままリク
エストを発行するためプロセッサバス処理部15に受け
付けたリクエストを流す。
【0028】一方、DMAリードリクエストの場合は、
送られてきたリードリクエストのアドレスと転送長等の
情報とプリフェッチフラグの状態とリクエスト処理部1
22の先行読出し保持部125から送られてくる現在先
行リード機構が保持しているデータ情報とをチェックす
る。プリフェッチフラグより先行リード中であり、ま
た、受け取ったリクエストのアドレス等が先行リード中
のアドレス等に該当すれば、リクエスト情報をバッファ
機構11のリクエスト処理部122に送る。
【0029】リクエスト処理部122のデータ吐出し処
理部126は、受け取ったリクエストとバッファ管理部
13からの情報をもとに、該当するデータがバッファ部
14に格納されているかを確認する。バッファ部14内
にDMAリードリクエストに対応するデータが格納され
ていた場合は、リクエスト処理部12のデータ吐出し処
理部126はデータ送出処理を行う。データ送出処理
は、バッファ部14内の該当するデータブロックをI/
Oバス6に送出し、自分が保持しているデータ情報の更
新を行う。しかし、データがまだバッファ部14に格納
されていない場合は、主記憶装置2からのデータ到着を
待ち合わせる。データが到着したことは、バッファ管理
部13からリクエスト処理部122のデータ吐出し処理
部126に通知される。
【0030】しかし、リクエスト受付部10で、先行リ
ード処理中であるが、受け付けたアドレス等と先行読出
し処理の情報が一致しなかった場合は、先行リード処理
を行うことができないため、該当リクエストをプロセッ
サバス処理部15に送る。
【0031】一方、周辺コントローラ4からのリクエス
トを受付時、先行リード処理が動作していないことをプ
リフェッチフラグから受けていた場合、リクエスト受付
部10は、受け付けたリクエストを連続転送チェック部
121へ送る。連続転送チェック部121では、受け付
けたリクエストのアドレス・データ転送長等の情報から
連続したデータ転送を行う可能性を判断する、そして、
連続データ転送の可能性ありと判断した場合、主記憶制
御装置20の特定アドレスに対するライトリクエストを
発行するようリクエスト変換部120に指示し、かつプ
リフェッチフラグを先行読出し処理中の状態にし、かつ
その時のプリフェッチに関連する情報を先行読出し保持
部125に格納する。
【0032】連続データ転送の可能性無しと判断した場
合には、受け付けたリクエストをそのままプロセッサバ
ス5に発行するため、リクエストをプロセッサバス処理
部15に送出してしまう。リクエスト変換部120で
は、先行リードのデータ転送のためのライトリクエスト
を生成する。ライトリクエスト内には転送して欲しい先
頭アドレスと転送単位(何バイト毎に送って欲しいの
か)と転送時間間隔(どれくらいの間隔で前記転送単位
を送って欲しいのか)をデータとして格納し、これを主
記憶制御装置20の特定アドレスに対して送りつける。
【0033】主記憶制御装置20内のリクエスト受付部
21は、受け付けたリクエストに対して主記憶空間への
アクセスかデータ転送要求かを識別し、通常の主記憶装
置に対するリクエストであるならば、そのリクエストを
処理する通常リクエスト処理部22にリクエストを送
る。一方、データ転送リクエストであるならば、データ
転送制御機構23に対して受け付けたリクエストを送
る。データ転送制御機構23内のリクエスト処理部23
0は、与えられたアドレスから主記憶内のデータを読み
出し転送を開始する。1度に送るベきデータ量は、I/
Oアダプタ1から送られてきた情報を元に決定する。1
転送単位に区切られたデータは、データ転送制御機構2
3が保有する転送間隔を指示するタイマー部231を用
いて一定間隔でI/Oアダプタ1に送られる。タイマー
値は、I/Oアダプタ1から送られてきた情報をリクエ
スト受付時にタイマー部231のタイマに設定してお
く。
【0034】主記憶装置2からI/Oアダプタ1に送ら
れてきたデータは、先行リードによるデータと識別され
た場合、I/Oアダプタ1のバッファ部14に登録され
る。バッファ管理部13は、データの登録が行われたこ
とを検出し、リクエスト処理部122のデータ吐出し処
理部126にデータ到着を伝える。リクエスト処理部1
22のデータ吐出し処理部126では、周辺コントロー
ラ4に対して要求されたデータを返却する。
【0035】本先行リード処理の終了は、I/Oアダプ
タ1のバッファ機構11および主記憶制御装置20のデ
ータ転送制御機構23でそれぞれチェックされる。I/
Oアダプタ1内のバッファ機構11の転送終了検出部1
27での転送終了検出条件は、主記憶装置2からおくら
れてくるデータ位置がページ境界に達した時か、リクエ
ストを発行した周辺コントローラ4からDMAリードリ
クエストが連続していない時や、DMAライト等別の動
作が行われた時であり、転送終了検出部127で検出さ
れる。検出後、転送終了検出部127は、ページ境界以
外の終了条件で先行読出し中止を行う場合、主記憶装置
2に対して、先行読出し中止を通知するために転送終了
通知部127に中止伝達を要求し、転送終了通知部12
7は、リクエストを発行し、先行読出し処理を中止させ
る。
【0036】主記憶制御装置20のデータ転送終了検出
部233は、I/Oアダプタ1からのデータ転送中止指
示をうけた場合か転送するデータのアドレスがページバ
ウンダリ境界を検出した場合等、データ転送終了の条件
を検出した時にデータ転送を終了する。
【0037】2)次に、主記憶制御装置20内のデータ
転送制御機構23とI/Oアダプタ1内のバッファ機構
11が同一の数で構成されない場合を述べる。例えば、
I/Oアダプタ1のバッファ機構11が主記憶制御装置
20のデータ転送制御機構23より多い場合である。こ
の場合、主記憶制御装置20のデータ転送制御機構23
には、自分が現在データ転送を制御中であるか否かをリ
クエスト受付部21に通知するビジーフラグを発生する
ビジーフラグ発生部232を設けておくことにより管理
する。
【0038】リクエスト受付部21では、データ転送制
御機構23からの処理中の情報を常時監視し、データ転
送制御機構23に空きがある場合には、I/Oアダプタ
1から送られて来たデータ転送リクエストを空いている
データ転送制御機構23に通知する。この時複数のデー
タ転送制御機構23に空きがある場合には、データ転送
制御機構23の弱番から割り振るように制御する。
【0039】主記憶制御装置20に設けたデータ転送制
御機構23が全てデータ転送制御中であることを検出し
た場合、主記憶制御装置20のリクエスト受付部21内
のリクエスト不可通知部24は、I/Oアダプタ1に対
し専用線を用いて、データ転送受付不可の通知を行う。
【0040】次に、リクエスト受付部21では、I/O
アダプタ1から受けたリクエストがデータ転送中止を指
示するものであった場合、全てのデータ転送制御機構に
対して、I/Oアダプタから送られてきたアドレスと転
送中止を伝達する。伝達を受けたデータ転送制御機構2
3は、受け取ったアドレスを自分の保有しているアドレ
スと比較し、転送領域が一致した場合、行っているデー
タ転送を中止し、データ転送の終了をリクエスト受付部
21へのビジーフラグを解除することで伝達する。
【0041】また、データ転送制御機構23は、指定さ
れたデータ転送が終了した場合も同様な処理を行う。ビ
ジーフラグの解除を検出したリクエスト受付部21のリ
クエスト不可通知部24は、前記の専用線を解除してデ
ータ転送受付が可能になったことをI/Oアダプタ1に
通知する。
【0042】先行リードに伴うデータ転送が不可能な期
間で発生した周辺コントローラ4からのリクエストは、
I/Oアダプタ1にて先行リード処理を行わない通常の
リクエストとして処理される。
【0043】3)次は、I/Oアダプタ1にバッファ機
構11を複数設けた場合である。この場合、I/Oアダ
プタ1内のリクエスト受付部10に対しバッファ機構1
1内のプリフェッチフラグの自分が先行リード処理を処
理中か否かを示す信号を使用する。リクエスト受付部1
0がDMAリードを受け付けた場合、各バッファ機構の
状態をチェックするのは、前出のとおりである。もし、
バッファ機構11から空きの指示が有る場合には、空い
ているバッファ機構11に対して受け付けたリクエスト
を送出する。もし、全てのバッファ機構11が動作中で
あり、かつ受けたDMAリードリクエストが先行リード
処理のどれにも該当しないものであるならば、リクエス
ト受付部10は、そのままプロセッサバス処理部15に
リクエストを送出する。
【0044】4)主記憶制御装置20からI/Oアダプ
タ1に送られてくるデータは、要求したバッファ機構1
1のバッファ部14に格納される。しかし、I/Oバス
6と主記憶装置2との間に転送性能差が有る場合にバッ
ファ部14が一杯になってしまうことがある。このた
め、主記憶制御装置20から送られて来たデータにより
バッファ部14が一杯になったことをバッファ管理部1
3が検出した場合は、リクエスト処理部122のリクエ
スト一時停止再開通知部124に対してバッファフルを
通知する。
【0045】バッファフルを通知されたリクエスト処理
部122のリクエスト一時停止再開通知部124では、
プロセッサバス5を介して主記憶制御装置20にどのバ
ッファ(転送)がフルであるかを通知する。通知を受け
た主記憶制御装置20のリクエスト受付部21では、デ
ータ転送制御機構23に対してデータの転送中断を指示
する。データ転送制御機構23では、前記中断指示を受
けた場合にデータ転送の中断を行う。当然、リクエスト
がデータ転送制御機構23に到達する前にデータが送ら
れるケースもあるので、バッファフル状態はこれを考慮
している。
【0046】上記中断を指示した後、周辺コントローラ
4からのDMAリードリクエストが発生した場合、その
リクエストは、同様にバッファ機構11に送られリクエ
ストに対する該当するデータ部分を周辺コントローラ4
に対して送り返す。送り返す動作に伴ってバッファ部1
4は、バッファフルの状態が解除される。バッファフル
状態解除を検出したバッファ管理部13は、リクエスト
一時停止再開通知部124に対してバッファフル解除に
よる主記憶制御装置20からのデータ転送再開の指示を
送るように要求する。
【0047】リクエスト管理部12のリクエスト一時停
止再開通知部124では前記要求を受けて主記憶制御装
置20に対してデータ転送再開の指示をする。通知を受
けた主記憶制御装置20のリクエスト受付部21では、
データ転送制御機構23に対してデータの転送再開を指
示する。データ転送制御機構23では、前記再開指示を
受けた場合にデータ転送を再開する。
【0048】5)I/Oアダプタ1は、バッファ機構1
1を利用したデータ転送の終了を検出するために、送ら
れてくるDMAリードリクエストの状況を逐次監視する
機能を持つ。これは、リクエスト処理部122の各種機
能により実現している。例えば、送られてきたDMAリ
ードリクエストが以前と連続したアドレスを保持してい
ないとき、同じ周辺コントローラが、DMAライト等を
送出したときを検出するとバッファ部14に保持してい
るデータにおける転送を中止し、かつ主記憶制御装置2
0に対して中止の指示を行う。これにより、通知を受け
た主記憶制御装置20のリクエスト受付部21では、前
記のようにデータ転送制御機構23に対してデータの転
送中止を指示する。
【0049】データ転送の実行とデータ転送中止指示の
間に、バッファ機構11のバッファ部14にはデータの
送信が行われることがある。これを回避するために、処
理を行っていないデータを受け付けた場合は、バッファ
管理部13のデータ破棄部131が検査を行い、バッフ
ァ部14に登録しないようにし、次の先行読出しをすぐ
に起動させることができる。
【0050】
【発明の効果】以上説明したように本発明は、データ処
理装置におけるDMA転送について先行してデータを読
み出す場合でもバスのビジー率を下げることにより性能
向上が可能で、かつHW量を削減することが可能であ
る。
【図面の簡単な説明】
【図1】本発明方式を実現するための構成を示したブロ
ック図である。
【符号の説明】
1 I/Oアダプタ 2 主記憶装置 3 CPU 4 周辺コントローラ 5 プロセッサバス 6 I/Oバス 10 リクエスト受付部 11 バッファ機構 13 バッファ管理部 14 バッファ部 15 プロセッサバス処理部 20 主記憶制御装置 21 リクエスト受付部 22 通常リクエスト処理部 23 データ転送制御機構 120 リクエスト変換部 121 連続転送チェック部 122 リクエスト処理部 123 プリフェッチフラグ発生部 210 タイマー部 232 ビジーフラグ発生部

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 CPU(3)と主記憶装置(2)とディ
    スク等の周辺装置を制御する周辺コントローラ(4)と
    前記CPUと前記周辺コントローラ間のデータ転送及び
    前記周辺コントローラと前記主記憶装置間のデータ転送
    を行うI/Oアダプタ(1)を有するデータ処理装置で
    あって、前記I/Oアダプタ内に前記周辺コントローラ
    から発生するリードアクセス(以下、DMAリードと呼
    ぶ)に基づいて後続のDMAリードがあることを予測
    し、前記周辺コントローラから本当のDMAリード要求
    が来る前に前記主記憶装置から前記予測したデータを取
    り込んでおき前記周辺コントローラから本当のリクエス
    トが来た場合に取り込んでおいたデータを前記周辺コン
    トローラに返却する先行読出し機能を有するデータ処理
    装置において、 前記I/Oアダプタは、先行読出し時の前記主記憶装置
    からのデータを受け取るバッファ(14)と、前記周辺
    コントローラから発生する前記主記憶装置に対するDM
    Aリード、ライトアクセス(以下、DMAライトと呼
    ぶ)を識別し、DMAリード時そのリクエストに対応す
    るデータが前記バッファ内に格納されている場合は、前
    記バッファから前記周辺コントローラに対しデータを返
    却する手段(126)と、DMAリードで、そのリクエ
    ストに対応するデータが前記バッファに格納されていな
    い場合にそのリード要求が連続したデータ転送を行う可
    能性があるものなのかを識別する手段(121)と、連
    続したアクセスがあると判断した場合に先行読出しを行
    うために前記周辺コントローラからのDMAリードに基
    づく先行読出しのための転送要求を前記主記憶装置へ行
    うために前記主記憶装置の主記憶が割り当てられていな
    い特定のアドレスに対してライトリクエストを発行する
    手段(120)とを持つバッファ機構(11)を有し、 前記主記憶装置は、特定アドレスに対するライトリクエ
    ストを受け付けた場合、要求元I/Oアダプタに対して
    要求されたアドレスからデータ転送を一定時間間隔毎に
    行い、前記I/Oアダプタからの転送中止指示またはデ
    ータのページバウンダリ等の切れ目を検出した場合等、
    データ転送を中止する手段(230)を持つデータ転送
    制御機構(20)を有することにより先行読出しを可能
    とすることを特徴とするデータ転送方式。
  2. 【請求項2】 前記データ転送制御機構は、前記I/O
    アダプタへのデータ転送時間間隔を前記I/Oアダプタ
    からの設定により指示できる手段(210)を有し、指
    定された時間間隔でのデータ転送が行える請求項1記載
    のデータ転送方式。
  3. 【請求項3】 前記データ転送制御機構は、上記DMA
    ライト動作によるデータ転送を行うデータ転送制御機構
    を複数保有した場合、データ転送処理中を示すビジーフ
    ラグを発生する手段(232)を有し、リクエストを動
    的に空いている前記データ転送制御機構に割当てデータ
    転送を制御することが可能な請求項1あるいは2記載の
    データ転送方式。
  4. 【請求項4】 前記データ転送制御機構は、前記主記憶
    制御装置が保有する複数のデータ転送制御機構において
    全てのデータ転送制御機構がデータ転送を処理してお
    り、リクエストの受付が不能になったことを前記ビジー
    フラグにより識別する手段、受付不能状態をI/Oアダ
    プタに通知する通知手段(24)を有し、先行読出しの
    ためのライトリクエストの発生を抑えることが可能な請
    求項3記載のデータ転送方式。
  5. 【請求項5】 前記データ転送制御機構は、前記主記憶
    制御装置において前記リクエスト受付不能状態になった
    後、処理を実行していたデータ転送の中止指示がI/O
    アダプタからあった場合、または、ぺ一ジバウンダリ境
    界を検出して処理をしていたデータ転送を中止した場合
    等のデータ転送終了を検出する手段(233)を有し、
    前記通知手段は、上記データ転送リクエストが受付可能
    となったことをI/Oアダプタに通知することにより、
    先行読出し動作を再開可能な請求項4記載のデータ転送
    方式。
  6. 【請求項6】 前記I/Oアダプタは、I/Oバスを介
    して複数の前記周辺コントローラを接続した場合に発生
    する複数のDMAリード要求を並行して受け付けること
    が出来るように複数の前記バッファ機構と該バッファ機
    構が先行リード中であることを示すプリフェッチフラグ
    を発生する手段(123)、I/Oバスからのリクエス
    トが発生した時に空いているバッファ機構を探し、その
    空きバッファ機構に動的に割当てる手段(10)を有
    し、上記先行読出しのためのデータ転送を行うことが可
    能な請求項1〜5のいずれかに記載のデータ転送方式。
  7. 【請求項7】 前記I/Oアダプタは、前記主記憶制御
    装置から送られて来たデータが前記周辺コントローラ側
    に吐き出されず前記バッファ機構に蓄えられ一杯になっ
    たことを検出する手段(13)、前記主記憶制御装置に
    対してデータ転送の一時停止を伝える手段(124)を
    有し、先行読出しの機能を一時的に中止させることが可
    能な請求項6記載のデータ転送方式。
  8. 【請求項8】 前記I/Oアダプタは、前記周辺コント
    ローラ側からのDMAリードにより前記バッファから前
    記周辺コントローラにデータを返却し、I/Oアダプタ
    内のバッファに空きが発生したことを検出する手段(1
    3)、データ受付が可能となったことを前記主記憶装置
    に対して通知する手段(124)を有し、中断したデー
    タ転送を再開させることが可能な請求項6記載のデータ
    転送方式。
  9. 【請求項9】 前記I/Oアダプタは、どの周辺コント
    ローラからのDMAリードを先行読出し処理しているか
    を保持しておく手段(125)、同一の周辺コントロー
    ラから送出されるDMAリードリクエストが連続してい
    ないとき、DMAリードリクエスト以外のリクエスト
    (DMAライト等)が発行されたことを検出する手段
    (127)を有し、前記検出手段により先行読出し処理
    を無効と判断した後、I/Oアダプタ内に保有するデー
    タを破棄し、前記主記憶制御装置に対してデータ転送の
    中止を指示する手段(128)を有し、先行読出しの処
    理を遅滞無く中止することが可能な請求項7あるいは8
    記載のデータ転送方式。
  10. 【請求項10】 前記I/Oアダプタは、前記主記憶制
    御装置に対してデータ転送の中止を指示した後、主記憶
    装置からのデータ転送が終了するまで送られてくるデー
    タを破棄する手段(131)を有し、次の先行読出し処
    理を遅滞なく行うことが可能な請求項9記載のデータ転
    送方式。
JP10738096A 1996-04-26 1996-04-26 データ転送方式 Expired - Fee Related JP2865131B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10738096A JP2865131B2 (ja) 1996-04-26 1996-04-26 データ転送方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10738096A JP2865131B2 (ja) 1996-04-26 1996-04-26 データ転送方式

Publications (2)

Publication Number Publication Date
JPH09293044A true JPH09293044A (ja) 1997-11-11
JP2865131B2 JP2865131B2 (ja) 1999-03-08

Family

ID=14457657

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10738096A Expired - Fee Related JP2865131B2 (ja) 1996-04-26 1996-04-26 データ転送方式

Country Status (1)

Country Link
JP (1) JP2865131B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6691182B2 (en) 2000-07-04 2004-02-10 Renesas Technology Corp. DMA controller in which bus access ratio can be set
JP2009093536A (ja) * 2007-10-11 2009-04-30 Yokogawa Electric Corp データ転送装置及び半導体試験装置
JP2011014135A (ja) * 2009-06-30 2011-01-20 Intel Corp 電力消費を低減する方法及び装置
JP2011530744A (ja) * 2008-08-06 2011-12-22 アスペン・アクイジション・コーポレーション 停止可能および再始動可能dmaエンジン

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6691182B2 (en) 2000-07-04 2004-02-10 Renesas Technology Corp. DMA controller in which bus access ratio can be set
JP2009093536A (ja) * 2007-10-11 2009-04-30 Yokogawa Electric Corp データ転送装置及び半導体試験装置
JP2011530744A (ja) * 2008-08-06 2011-12-22 アスペン・アクイジション・コーポレーション 停止可能および再始動可能dmaエンジン
US8732382B2 (en) 2008-08-06 2014-05-20 Qualcomm Incorporated Haltable and restartable DMA engine
JP2011014135A (ja) * 2009-06-30 2011-01-20 Intel Corp 電力消費を低減する方法及び装置

Also Published As

Publication number Publication date
JP2865131B2 (ja) 1999-03-08

Similar Documents

Publication Publication Date Title
US6496890B1 (en) Bus hang prevention and recovery for data communication systems employing a shared bus interface with multiple bus masters
US5574868A (en) Bus grant prediction technique for a split transaction bus in a multiprocessor computer system
JPH077327B2 (ja) データ転送方法
JPH10320282A (ja) 仮想キャッシュ・コントロール方法及び装置
JPH0619750B2 (ja) 制御装置および入出力装置へのアクセスを制御する方法
JPH06309230A (ja) バススヌ−プ方法
EP1029284B1 (en) Shared memory access controller
JP2865131B2 (ja) データ転送方式
US8719499B2 (en) Cache-line based notification
US20060129714A1 (en) Method and apparatus for transferring data
JPH09223102A (ja) ダイレクトメモリアクセスコントローラ
JP3111052B2 (ja) 複数のプロセッサに接続されたバスにデータを供給する方法およびシステム
JP3477056B2 (ja) データ転送装置
JPH11242506A (ja) プログラマブルコントローラ
JPH08171528A (ja) データ処理装置
JP4205843B2 (ja) ネットワーク接続装置の制御方法
JPH08314850A (ja) 計算機システムのバスブリッジ
JP2004334840A (ja) システムバスの制御方法及び関連装置
JP3266184B2 (ja) 入出力制御方法とその装置
JP2747258B2 (ja) ライトバッファのビジー制御方式
US6723190B1 (en) ESD sensitivity in titanium/boron compositions
JP2981618B2 (ja) パイプラインコンピュータシステムでの書き込み順序保存方法
JPH10116245A (ja) Dma制御装置
JPS58182737A (ja) 情報処理装置
JPH10320351A (ja) バッファ方式

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19981118

LAPS Cancellation because of no payment of annual fees