JPH05165761A - Dmaコントローラ - Google Patents

Dmaコントローラ

Info

Publication number
JPH05165761A
JPH05165761A JP32880991A JP32880991A JPH05165761A JP H05165761 A JPH05165761 A JP H05165761A JP 32880991 A JP32880991 A JP 32880991A JP 32880991 A JP32880991 A JP 32880991A JP H05165761 A JPH05165761 A JP H05165761A
Authority
JP
Japan
Prior art keywords
data
buffer
address
speed bus
buffer means
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
JP32880991A
Other languages
English (en)
Inventor
Tsuyoshi Igarashi
強 五十嵐
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP32880991A priority Critical patent/JPH05165761A/ja
Publication of JPH05165761A publication Critical patent/JPH05165761A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】リニアなアドレスのデータ転送以外にランダム
なアドレスのデータ転送が行われることがあっても、高
速データ転送が正しく行えるようにする。 【構成】8ビットデータ幅の低速バス4に接続されるD
MA機器からの転送要求時、要求アドレスはレジスタ1
1aに、該当データは8ビットデータバッファ11bに
ラッチされる。比較器13はレジスタ11aの示す今回
要求アドレスとレジスタ12aの示す前回要求アドレス
のそれぞれ下位3ビットを除く部分を比較する。制御部
14は比較器13での不一致検出時は、レジスタ12
a,64ビットバッファ12bの内容を64ビットデー
タ幅の高速バス3を介して主メモリへ転送した後レジス
タ11a,バッファ11bの内容をレジスタ12a,バ
ッファ12bに移し、一致検出時は、レジスタ11a,
バッファ11bの内容をレジスタ12a,バッファ12
bに移し一杯になると、主メモリへの転送を行う。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、主メモリと入出力機
器との間のデータ転送制御を行うDMAコントローラに
関する。
【0002】
【従来の技術】一般に、計算機システムにおける主メモ
リは、データ幅の広い(例えば64ビットの)高速なバ
スに接続されている。これに対して、ディスク装置など
の入出力機器(DMA機器)は、上記の高速バスに接続
されているDMAコントローラから制御されるデータ幅
の狭い(例えば8ビットの)低速なバスに接続されてい
る。
【0003】さて、従来のDMAコントローラでは、低
速バスに接続されているDMA機器からのデータ転送要
求(メモリアクセス要求)に対して、その要求の都度、
高速バスを取得して主メモリをアクセスすることによ
り、要求されたデータ転送を行っていた。しかし、上記
した従来のDMAコントローラでは、1回のデータ転送
毎に高速バスを解放することになるため、データ転送効
率が悪いという問題があった。
【0004】そこで、データ転送効率を上げるために、
DMAコントローラ内部にデータバッファ(単にデータ
を読込んでおくだけの単純なデータバッファ)を設け、
要求されたデータを含む連続するアドレス領域のデータ
(データブロック)、例えば高速バス幅のデータを同バ
ッファ内に読込んでおくことが考えられていた。
【0005】この単純なデータバッファを用いる方式
は、DMA機器から要求されるメモリアドレスが常にリ
ニアに変化していくならば確かに効果はある。しかし、
DMA機器から要求されるメモリアドレスがランダムに
変化する場合には、即ちランダムなメモリアドレスのデ
ータ転送を必要とする場合には、データバッファ内のい
ずれのデータを主メモリのどのメモリアドレスに転送す
るのかが判別できないことから、正常なデータ転送を行
うことができない。
【0006】したがって、上記単純なデータバッファを
用いる方式は、この種のDMA機器を相手にするDMA
コントローラには適用できない。これは、ランダムなメ
モリアドレスのデータ転送を行う頻度が極めて少ない場
合でも、メモリアドレスがリニアに変化しているかラン
ダムに変化しているかが判別でき、ランダムに変化して
いる場合には、データバッファ内のいずれのデータを主
メモリのどのメモリアドレスに転送するのかが判別でき
ない限り、同様である。
【0007】
【発明が解決しようとする課題】上記したように従来の
DMAコントローラでは、DMA機器からのデータ転送
(メモリアクセス)要求に対して、その要求の都度、高
速バスを取得してデータ転送を行う必要があったため、
高速転送が図れないという問題があった。
【0008】また、DMAコントローラにデータバッフ
ァを設け、要求されたデータを含む連続するアドレス領
域のデータを同バッファ内に単に読込んでおくことで、
高速転送を図ることが考えられていたが、ランダムなメ
モリアドレスのデータ転送が少しでもある場合には、正
常な転送が期待できないことから、この方式を適用する
ことは不可能であった。
【0009】この発明は上記事情に鑑みてなされたもの
でその目的は、リニアなアドレスのデータ転送以外にラ
ンダムなアドレスのデータ転送が行われることがあって
も、低速バスから高速バスへ高速データ転送が行えるD
MAコントローラを提供することにある。
【0010】
【課題を解決するための手段】この発明のDMAコント
ローラは、2n ビットのデータ幅の低速バスに接続され
ているDMA機器により今回データ転送要求された際の
メモリアドレスと該当データを記憶するための低速バス
側の第1のバッファ手段と、DMA機器により前回デー
タ転送要求された際のメモリアドレスと該当データを含
むデータブロックを記憶するための2m ビット(m>
n)のデータ幅の高速バス側の第2のバッファ手段と、
これら第1および第2のバッファ手段にそれぞれ記憶さ
れているメモリアドレスのブロックアドレス相当部分を
比較する比較器と、上記第1のバッファ手段の記憶内容
を第2のバッファ手段に移す移動制御、および同第2の
データバッファ手段の記憶内容を高速バスに転送する転
送制御とを比較器の比較結果をもとに行う制御手段とを
備えたことを特徴とするものである。
【0011】
【作用】上記の構成において、DMA機器により高速バ
スに接続された主メモリへのデータ転送要求(メモリア
クセス要求)があると、その際のデータ転送要求アドレ
ス(メモリアドレス)と転送すべき2n ビットのデータ
が第1のバッファ手段に記憶される。比較器は、この第
1のバッファ手段に記憶された要求アドレスと第2のバ
ッファ手段に既に記憶されている前回の要求アドレスの
それぞれブロックアドレス相当部分(例えば下位m−n
ビットを除く上位アドレス)を比較し、その比較結果を
制御手段に通知する。制御手段は、第1のバッファ手段
に要求アドレスと転送データが記憶されると、比較器の
比較結果等をもとに以下の制御を行う。
【0012】まず比較器によりアドレス一致が検出され
た場合には、制御手段は、第2のバッファ手段に記憶さ
れている前回の要求アドレスと今回第1のデータバッフ
ァに記憶された要求アドレスとが連続しているものと判
断し、第1のバッファ手段に記憶された要求アドレスと
該当する2n ビットデータとを第2のバッファ手段に移
す。
【0013】次に、比較器によりアドレス不一致が検出
された場合には、制御手段は、第2のバッファ手段に記
憶されている前回の要求アドレスと今回第1のデータバ
ッファに記憶された要求アドレスとが連続していないも
のと判断し、まず、その時点で既に第2のバッファ手段
に記憶されている要求アドレスとデータを高速バスに転
送する。そして制御手段は、第2のバッファ手段の内容
を空にしたところで、第1のバッファ手段に記憶された
要求アドレスと該当する2n ビットデータとを第2のバ
ッファ手段に移す。これにより、第2のバッファ手段内
の前回要求アドレスが新たな要求アドレスに更新され、
同時に、この新たな要求アドレスの該当データが、同ア
ドレスの下位m−nビットで示される第2のバッファ手
段内の位置に記憶される。
【0014】また、制御手段は、第2のバッファ手段が
一杯となった場合には、同第2のバッファ手段に記憶さ
れている要求アドレスおよび今回の移動データを含む
(例えば2m ビットの)データブロックを高速バスに転
送する。
【0015】更に制御手段は、転送の初期状態、あるい
は第2のバッファ手段が空となっている場合には、比較
器の出力に無関係に、第1のバッファ手段に記憶された
要求アドレスと該当する2n ビットデータとを第2のバ
ッファ手段に移す。
【0016】このように上記の構成によれば、比較器で
のアドレス(ブロックアドレス)比較の結果、第1のバ
ッファ手段に記憶された今回の要求アドレスと第2のバ
ッファ手段に記憶された前回の要求アドレスとが連続し
ていることが判別された場合(比較器でブロックアドレ
スの一致が検出された場合)には、第2のバッファ手段
が一杯(FULL)でない限りは、第1のバッファ手段
に記憶されたDMA機器からの2n ビットデータが第2
のバッファ手段に移されて同バッファ手段に一時格納さ
れ、高速バスへのデータ転送は行われない。そして、第
2のバッファ手段が一杯になると、あるいは一杯でなく
ても今回要求アドレスと前回要求アドレスとが連続して
いないランダムなメモリアドレスのデータ転送であるこ
とが判別されると(比較器でブロックアドレスの不一致
が検出された場合)、それまで第2のバッファ手段にた
めておいたデータが要求アドレスと共に高速バスに送出
され、主記憶への一括転送が行われる。
【0017】したがって本発明では、DMA機器からの
データ転送要求の都度、必ず高速バスを取得して主メモ
リへのデータ転送を行う従来方式に比較して、特にメモ
リアドレスがリニアに変化する場合には、高速転送が可
能となる。また、ランダムなメモリアドレスのデータ転
送の場合にも、DMA機器からのデータの他、要求アド
レスがバッファリングされるため、その要求アドレスを
用いて主メモリの正しいアドレスへの転送が可能とな
る。
【0018】上記のように、本発明ではDMA機器から
の要求アドレスとデータを記憶するバッファ構成をとっ
ているが、もしデータだけを記憶する従来の単純なデー
タバッファ構成であれば、前にも述べたようにランダム
なメモリアドレスのデータ転送には向かない。その理由
は次の通りである。まず、従来のバッファ構成では、バ
ッファ(データバッファ)手段にはデータのみが存在
し、データのアドレスがない。このため、現在要求され
ているアドレスとデータバッファに記憶されているデー
タのアドレスとが比較できず、したがってリニアなメモ
リアドレスのデータ転送なのかランダムなメモリアドレ
スのデータ転送なのか判別できず、正常なDMA転送が
できない。
【0019】これに対して、本発明のように、DMA機
器により今回データ転送要求されたメモリアドレスと該
当データを記憶するための第1のバッファ手段と、前回
データ転送要求されたメモリアドレスと該当データを含
むデータブロックを記憶するための第2のバッファ手段
との2段構成をとることで、上記の両アドレスをもとに
転送アドレスがリニアに変化しているかランダムに変化
しているか判別でき、この判別結果とアドレスをもとに
正しく効率的なDMA転送が可能となる。
【0020】
【実施例】図1はこの発明の一実施例に係るDMAコン
トローラの構成を示すブロック図、図2は図1のDMA
コントローラを備えた計算機システムの全体構成を示す
ブロック図である。
【0021】図2において、1はシステムの中枢をなす
CPU、2は各種プログラム、データ等が格納される主
メモリ、3はデータ幅の広い例えば64ビット(8バイ
ト)幅の高速バスである。この高速バス3にはCPU1
および主メモリ2等が接続される。
【0022】4はデータ幅の狭い例えば8ビット(1バ
イト)幅の低速バス、5は低速バス4に接続されたディ
スク装置等のDMA機器(入出力機器)、6は高速バス
3および低速バス4に接続され、主メモリ2とDMA機
器5との間のデータ転送を制御するDMAコントローラ
(DMAC)である。このDMAコントローラ6は、D
MA機器5からのデータ転送要求(メモリライトアクセ
ス要求)を高速に実行可能なように、図1に示す構成を
有している。
【0023】図1において、11は低速バス4側に設け
られたバッファ部であり、図2のDMA機器5から低速
バス4を介して今回データ転送要求(メモリライトアク
セス要求)されたデータ転送要求アドレス(メモリアド
レス)21を保持するためのレジスタ(REG)11a
と、該当するデータ(そのアドレスへの8ビットライト
データ)22を保持するための低速バス4のデータ幅の
サイズ(8ビット)のレジスタで構成されたデータバッ
ファ11bとを持つ。
【0024】12は高速バス3側に設けられたバッファ
部であり、バッファ部11のレジスタ11aの出力をD
MA機器5から前回にデータ転送要求(メモリライトア
クセス要求)されたデータ転送要求アドレス(メモリア
ドレス)として保持するためのレジスタ(REG)12
aと、その際のバッファ部11のデータバッファ11b
の出力(8ビットデータ)を含むデータブロックを保持
するための例えば高速バス3のデータ幅のサイズ(64
ビット)のレジスタで構成されたデータバッファ12b
とを持つ。データバッファ11bの出力のデータバッフ
ァ12b内保持位置は、レジスタ11aの出力(今回要
求アドレス)の下位3ビット(データバッファ11b,
12bのデータ幅、即ち低速バス4および高速バス3の
バス幅を2のべき乗で表現した場合の指数部の差)によ
り指定される。バッファ部12内のレジスタ12a,デ
ータバッファ12bの出力は主メモリ2へのそれぞれメ
モリアドレス23,データ24として高速バス3上に送
出される。
【0025】13はレジスタ11aに保持された今回要
求アドレスとレジスタ12aに保持されている前回要求
アドレスのそれぞれ下位3ビットを除く上位アドレスを
比較する比較器である。
【0026】14はDMAコントローラ(DMAC)6
の中心をなす制御部である。制御部14は、バッファ部
11(内のレジスタ11a,データバッファ11b)の
保持内容をバッファ部12(内のレジスタ12a,デー
タバッファ12b)に移す移動制御、および同バッファ
部12の保持内容を高速バス3に転送する転送制御等を
司る。
【0027】制御部14と低速バス4との間で入出力さ
れる信号には、図2のDMA機器5からのDMA転送要
求31、同要求31に対する制御部14から(DMA機
器5へ)のDMA転送許可信号32、同DMA転送許可
信号32に応じてDMA機器5から低速バス4を介して
それぞれ送られるアドレスストローブ信号33並びにデ
ータストローブ信号34、および制御部14から出力さ
れてDMA機器5とのハンドシェイク信号として使用さ
れるレディ信号35がある。上記アドレスストローブ信
号33はバッファ部11内のレジスタ11aのラッチ信
号にも用いられ、データストローブ信号34はバッファ
部11内のデータバッファ11bのラッチ信号にも用い
られる。
【0028】次に、制御部14とDMAコントローラ6
内各部との間で入出力される信号には、制御部14から
バッファ部12(内のレジスタ12a,データバッファ
12b)へのラッチ信号36、および比較器13からの
比較結果信号37がある。次に、制御部14と高速バス
3との間で入出力される信号には、高速バス3へのデー
タ転送要求38および高速バス3からの転送終了信号3
9がある。
【0029】ここで、この発明の一実施例の動作を説明
する。まず、図2のシステムにおけるDMA機器5とD
MAコントローラ(DMAC)6とのデータ転送のシー
ケンス(プロトコル)について、図3のタイミングチャ
ートを適宜参照して簡単に説明する。
【0030】今、DMA機器5からDMAコントローラ
6に低速バス4を介して(主メモリ2へのデータ転送の
ための)DMA転送要求31が出力されたものとする。
DMAコントローラ6内の制御部14はDMA機器5か
らのDMA転送要求31を受付けると、DMA転送許可
信号32をイネーブルにする。
【0031】DMA機器5は低速バス4を介してDMA
転送許可信号32を受取ると、アドレスストローブ信号
33およびデータ転送要求アドレス(メモリアドレス)
21を一定時間出力する。続いてDMA機器5は、デー
タストローブ信号34および(主メモリ2へ転送すべ
き)8ビットデータ22を出力し、DMAコントローラ
6から低速バス4を介してレディ信号35が転送される
のを待つ。そしてレディ信号35が到来することによ
り、一連のデータ転送シーケンスが終了し、次のデータ
転送シーケンスが可能となる。
【0032】次に、上記データ転送シーケンスにおける
DMAコントローラ6の詳細な動作を、DMA機器5か
らのDMA転送要求31を受けてDMAコントローラ6
がDMA転送許可信号32を出力し、これによりDMA
機器5からアドレスストローブ信号33とアドレス21
が出力されたところから説明する。
【0033】まず、DMA機器5から低速バス4を介し
てDMAコントローラ6にアドレスストローブ信号33
およびデータ転送要求アドレス21が出力されると、同
アドレス21が、アドレスストローブ信号33をラッチ
信号としてDMAコントローラ6に設けられたバッファ
部11内のレジスタ11aにラッチされる。
【0034】続いて、データストローブ信号34および
(データ転送要求アドレス21に対応する)8ビットデ
ータ22が、DMA機器5から低速バス4を介してDM
Aコントローラ6に出力される。すると、このDMA機
器5からのデータ22が、データストローブ信号34を
ラッチ信号として、バッファ部11内のデータバッファ
11bにラッチされる。上記のアドレスストローブ信号
33およびデータストローブ信号34はDMAコントロ
ーラ6内の制御部14にも導かれる。
【0035】制御部14は、アドレスストローブ信号3
3およびデータストローブ信号34の入力により、デー
タ転送が開始されたことを認識する。以降の動作は、D
MAコントローラ6の状態により異なる。このDMAコ
ントローラ6の状態は、次のタイプA〜Cに分類され
る。
【0036】まずタイプAは、アドレスストローブ信号
33およびデータストローブ信号34の入力時にバッフ
ァ部12(内のレジスタ12aおよびデータバッファ1
2b)が空であった場合である。これは、転送の初期状
態やバッファ部12(データバッファ12bがFULL
状態(満杯)となり高速バス3を介して主メモリ2への
データ転送が行われた場合等に、このような状態とな
る。
【0037】次にタイプBは、バッファ部11(内のレ
ジスタ11a)にラッチされたデータ転送要求アドレス
とバッファ部12(内のレジスタ12a)に保持されて
いるアドレスのそれぞれ下位3ビットを除く上位アドレ
スが比較器13で比較され、一致した場合である。次に
タイプCは、上記の比較で一致しなかった場合である。
【0038】ここで、以上のタイプA〜Cのそれぞれの
場合の動作を順に説明する。 (a)タイプA まず、制御部14はDMA転送許可信号32に対してア
ドレスストローブ信号33およびデータストローブ信号
34が入力されると、データ転送が開始されたことを認
識する。
【0039】制御部14は、アドレスストローブ信号3
3およびデータストローブ信号34の入力時にバッファ
部12(内のレジスタ12aおよびデータバッファ12
b)が空であった場合には、レジスタ11a,12bの
アドレスを比較する必要がないものとして、比較器13
からの比較結果信号37の状態に無関係に、バッファ部
12にラッチ信号36を出力する。
【0040】これにより、バッファ部11内のレジスタ
11aにラッチされた内容(データ転送要求アドレス)
は前回のデータ転送要求アドレスとしてバッファ部12
内のレジスタ12aに移され、レジスタ11aは空とな
る。同時に、バッファ部11内のデータバッファ11b
の内容(8ビットデータ)は、レジスタ11aの示すデ
ータ転送要求アドレスの下位3ビットの指定するバッフ
ァ部12内データバッファ12bの位置(バイト位置)
に移され、データバッファ11bは空となる。
【0041】制御部14は、ラッチ信号36を出力して
バッファ部11の内容をバッファ部12に移して、バッ
ファ部11(内のレジスタ11aおよびデータバッファ
11b)を空にすると、低速バス4上にDMA機器5に
対するレディ信号35を出力して、DMA機器5との一
連のデータ転送を終了させ、DMA機器5からの次のD
MA転送要求31を待つ。
【0042】(b)タイプB 比較器13は、レジスタ11aにラッチされた今回のデ
ータ転送要求アドレスとデータバッファ12bに保持さ
れている前回データ転送要求アドレスのそれぞれ下位3
ビットを除く上位アドレスを比較している。この比較器
13の比較結果は、比較結果信号37として制御部14
に供給される。
【0043】制御部14はDMA転送許可信号32に対
してアドレスストローブ信号33およびデータストロー
ブ信号34が入力されると、前記したようにデータ転送
が開始されたことを認識し、バッファ部12(内のレジ
スタ12aおよびデータバッファ12b)が空でないな
らば、比較器13からの比較結果信号37の状態をチェ
ックする。
【0044】もし、比較結果信号37がアドレス一致を
示している真値の場合(タイプBの場合)には、制御部
14は、レジスタ11aにラッチされた今回のデータ転
送要求アドレスとデータバッファ12bに保持されてい
る前回データ転送要求アドレスとは連続している、即ち
DMA機器5からのデータ転送要求アドレスがリニアに
変化しているものと判断する。この場合、制御部14は
(バッファ部12がFULL状態でないならば)、バッ
ファ部12にラッチ信号36を出力する。
【0045】これにより、バッファ部11内のレジスタ
11aの内容(データ転送要求アドレス)がバッファ部
12内のレジスタ12aに移されて、前回のデータ転送
要求アドレスが(最新のデータ転送要求アドレスに)更
新され、レジスタ11aは空となる。同時に、バッファ
部11内のデータバッファ11bの内容(8ビットデー
タ)が、レジスタ11aの示すデータ転送要求アドレス
の下位3ビットの指定するバッファ部12内データバッ
ファ12bの位置(バイト位置)に移され、データバッ
ファ11bは空となる。
【0046】制御部14は、ラッチ信号36を出力して
バッファ部11の内容をバッファ部12に移すと、DM
A機器5に対するレディ信号35を出力し、DMA機器
5からの次のDMA転送要求31を待つ。
【0047】また制御部14は、バッファ部11の内容
をバッファ部12に移した結果、バッファ部12内のデ
ータバッファ12bがFULL状態となった場合、即ち
DMA機器5からの8回の転送により(連続するメモリ
アドレスへの)64ビットデータ(8バイトデータ)が
データバッファ12bに格納された場合には、データ転
送要求38を高速バス3上に送出する。そして制御部1
4は、その時点のデータバッファ12bの全格納データ
をデータ24として、レジスタ12aに保持されている
前回データ転送要求アドレスをアドレス23として、そ
れぞれ高速バス3上に送出する。
【0048】この結果、データ24、即ちデータバッフ
ァ12bの全格納データ(データブロック)は高速バス
3を介して主メモリ2に転送され、アドレス23、即ち
レジスタ12aに保持されているデータ転送要求アドレ
スの下位3ビットを除く上位アドレス(ブロックアドレ
ス)で指定される主メモリ2の64ビット領域に一度に
書込まれる。
【0049】上記のように、データバッファ12bがF
ULL状態となり、高速バス3を介して主メモリ2への
データ転送が行われると、バッファ部12は転送の初期
状態と同一状態になる。
【0050】なお制御部14は、比較器13からのアド
レス一致を示す比較結果信号37によりDMA機器5か
らのデータ転送要求アドレスがリニアに変化しているこ
とを判断しても、その際のデータバッファ12bがFU
LL状態にあるならば、主メモリ2へのデータ転送を終
了するまでは、バッファ部12へのラッチ信号36の出
力を控える。
【0051】(c)タイプC さて制御部14は、比較器13からの比較結果信号37
の状態をチェックした結果、同信号37が上記の場合と
異なってアドレス不一致(偽値)を示していたタイプC
の場合には、レジスタ11aにラッチされた今回のデー
タ転送要求アドレスとデータバッファ12bに保持され
ている前回データ転送要求アドレスとは連続していな
い、即ちDMA機器5からのデータ転送要求アドレスが
ランダムに変化しているものと判断する。
【0052】この場合、制御部14は、データ転送要求
38を高速バス3上に送出する。そして制御部14は、
その時点でバッファ部12内のデータバッファ12bに
保持されているデータと、レジスタ12aに保持されて
いるデータ転送要求アドレスを高速バス3に送出して、
主メモリ2へのデータ転送を行う。
【0053】このデータ転送によりバッファ部12(内
のレジスタ12aおよびデータバッファ12b)が空に
なると、制御部14はバッファ部12にラッチ信号36
を出力する。
【0054】これにより、バッファ部11内のレジスタ
11aの内容(前回のデータ転送要求アドレスとは連続
していない要求アドレス)がバッファ部12内のレジス
タ12aに移され、レジスタ11aは空となる。同時
に、バッファ部11内のデータバッファ11bの内容
(8ビットデータ)が、レジスタ11aの示すデータ転
送要求アドレスの下位3ビットの指定するバッファ部1
2内データバッファ12bの位置(バイト位置)に移さ
れ、データバッファ11bは空となる。
【0055】制御部14は、ラッチ信号36を出力して
バッファ部11の内容をバッファ部12に移すと、DM
A機器5に対するレディ信号35を出力し、DMA機器
5からの次のDMA転送要求31を待つ。
【0056】なお、前記実施例では、データバッファ1
2bのデータ幅が低速バス4のデータ幅(データバッフ
ァ11bのデータ幅)の8倍(23 倍)であり、高速バ
ス3のデータ幅に一致している場合について説明した
が、これに限るものではなく、低速バス4のデータ幅よ
り大きいならば、例えば2倍、4倍等であっても構わな
い。但し、8倍の場合が、最も転送効率が高い。また、
高速バス3および低速バス4のデータ幅が前記実施例に
限定されないことは勿論である。
【0057】
【発明の効果】以上詳述したようにこの発明によれば、
DMA機器から今回転送要求されたデータを記憶するた
めの第1のバッファ手段と、前回転送要求されたデータ
を含むデータブロックを記憶するための第2のバッファ
手段との2段バッファ構成であって、第1のバッファ手
段には今回の要求アドレス(メモリアドレス)を、第2
のバッファ手段には前回の要求アドレス(メモリアドレ
ス)をも保持する構成をとると共に、両アドレスのブロ
ックアドレス相当部分を比較手段により比較し、その比
較結果をもとに、第1のバッファ手段の記憶内容を第2
のバッファ手段に移す移動制御、および同第2のデータ
バッファ手段の記憶内容を高速バスに転送する転送制御
を行う構成としたので、次のような効果を得ることがで
きる。
【0058】(1)比較手段の比較結果により。今回の
要求アドレスが前回の要求アドレスに連続しているか否
か、即ちDMA機器が要求するメモリアドレスがリニア
に変化するかランダムに変化するかが簡単に判別できる
ので、リニアに変化する場合には第2のバッファ手段が
一杯になってから高速バスを介して主メモリへのデータ
転送を行うことにより、データ幅の広い第2のバッファ
手段を活用した高速転送が行える。
【0059】(2)また、DMA機器が要求するメモリ
アドレスがランダムに変化することが判別された場合に
は、その時点において第2のバッファ手段に保持されて
いる全データを前回要求アドレスと共に高速バスを介し
て主メモリへ転送することにより、正しいメモリアドレ
スへのデータ転送が効率的に行え、その後、今回の要求
アドレスと該当データを第1のバッファ手段から第2の
バッファ手段に移すことにより、以降の要求アドレスが
リニアに変化する場合でもランダムに変化する場合でも
正しく対処できる。
【図面の簡単な説明】
【図1】この発明の一実施例に係るDMAコントローラ
の構成を示すブロック図。
【図2】図1のDMAコントローラを備えた計算機シス
テムの全体構成を示すブロック図。
【図3】同実施例の動作を説明するためのタイミングチ
ャート。
【符号の説明】
1…CPU、2…主メモリ、3…高速バス、4…低速バ
ス、5…DMA機器、6…DMAコントローラ(DMA
C)、11,12…バッファ部、11a,12a…レジ
スタ(REG)、11b,12b…データバッファ、1
3…比較器、14…制御部。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 高速なバスに接続されている主メモリと
    低速なバスに接続されている少なくとも1つのDMA機
    器との間のデータ転送制御を行うDMAコントローラに
    おいて、 前記DMA機器により今回データ転送要求された際のメ
    モリアドレスと該当データとを記憶するための前記低速
    バス側の第1のバッファ手段と、 前記DMA機器により前回データ転送要求された際のメ
    モリアドレスと該当データを含むデータブロックを記憶
    するための前記高速バス側の第2のバッファ手段と、 前記第1のバッファ手段および前記第2のバッファ手段
    にそれぞれ記憶されているメモリアドレスのブロックア
    ドレス相当部分を比較する比較器と、 前記第1のバッファ手段の記憶内容を前記第2のバッフ
    ァ手段に移す移動制御、および同第2のバッファ手段の
    記憶内容を前記高速バスに転送する転送制御を行う制御
    手段とを具備し、 前記制御手段は、前記比較器によりアドレス一致が検出
    されたならば、前記第1のバッファ手段の記憶内容を前
    記第2のバッファ手段に移し、前記比較器によりアドレ
    ス不一致が検出されたならば、前記第2のバッファ手段
    に記憶されているメモリアドレスおよびデータを前記高
    速バスに転送し、しかる後に同第2のバッファ手段に前
    記第1のバッファ手段の記憶内容を移し、前記第2のバ
    ッファ手段が一杯になったならば、前記第2のバッファ
    手段に記憶されているメモリアドレスおよびデータを前
    記高速バスに転送することを特徴とするDMAコントロ
    ーラ。
JP32880991A 1991-12-12 1991-12-12 Dmaコントローラ Pending JPH05165761A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP32880991A JPH05165761A (ja) 1991-12-12 1991-12-12 Dmaコントローラ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP32880991A JPH05165761A (ja) 1991-12-12 1991-12-12 Dmaコントローラ

Publications (1)

Publication Number Publication Date
JPH05165761A true JPH05165761A (ja) 1993-07-02

Family

ID=18214343

Family Applications (1)

Application Number Title Priority Date Filing Date
JP32880991A Pending JPH05165761A (ja) 1991-12-12 1991-12-12 Dmaコントローラ

Country Status (1)

Country Link
JP (1) JPH05165761A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10334037A (ja) * 1997-05-30 1998-12-18 Sanyo Electric Co Ltd 通信dma装置
WO1999021097A1 (fr) * 1997-10-16 1999-04-29 Melco Inc. Adaptateur de conversion de bus
US6178517B1 (en) 1998-07-24 2001-01-23 International Business Machines Corporation High bandwidth DRAM with low operating power modes
KR100458182B1 (ko) * 1996-03-19 2005-01-25 히다치 하라마치 덴시 고교 가부시키 가이샤 통신제어장치및그것을사용한통신시스템
JP2015187833A (ja) * 2014-03-14 2015-10-29 株式会社リコー 情報処理装置、情報処理方法およびプログラム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100458182B1 (ko) * 1996-03-19 2005-01-25 히다치 하라마치 덴시 고교 가부시키 가이샤 통신제어장치및그것을사용한통신시스템
JPH10334037A (ja) * 1997-05-30 1998-12-18 Sanyo Electric Co Ltd 通信dma装置
WO1999021097A1 (fr) * 1997-10-16 1999-04-29 Melco Inc. Adaptateur de conversion de bus
US6178517B1 (en) 1998-07-24 2001-01-23 International Business Machines Corporation High bandwidth DRAM with low operating power modes
JP2015187833A (ja) * 2014-03-14 2015-10-29 株式会社リコー 情報処理装置、情報処理方法およびプログラム

Similar Documents

Publication Publication Date Title
US6324597B2 (en) Host controller interface descriptor fetching unit
US6564271B2 (en) Method and apparatus for automatically transferring I/O blocks between a host system and a host adapter
EP0458304B1 (en) Direct memory access transfer controller and use
JP2003512670A (ja) 連結リストdma記述子アーキテクチャ
JPH04306748A (ja) 情報処理装置
JPH05165761A (ja) Dmaコントローラ
US5418744A (en) Data transfer apparatus
JP2000040057A (ja) 計算機システム、バッファ制御装置及び転送方法
JPH0140432B2 (ja)
JPH04365157A (ja) Dmaコントローラ
JP3145765B2 (ja) 情報処理装置
JP2594611B2 (ja) Dma転送制御装置
JPH0736806A (ja) Dma方式
JP2679440B2 (ja) 情報処理装置
JP3371978B2 (ja) 情報処理装置
JP3193155B2 (ja) Dma制御方式
JP2574821B2 (ja) ダイレクトメモリアクセス・コントローラ
JPH0589027A (ja) 監視機能付ライトバツフア
JPS61276050A (ja) デ−タ転送方式
JPH07146839A (ja) Dma回路
JPH0133848B2 (ja)
JP3299147B2 (ja) キャッシュ制御回路
JPH0355642A (ja) メモリー制御方式
JPH06259374A (ja) 入出力バス制御装置
KR19980037643A (ko) 디엠에이 컨트롤러의 전송방법