JPH06103225A - チェーン式dma方式及びそのためのdmaコントローラ - Google Patents

チェーン式dma方式及びそのためのdmaコントローラ

Info

Publication number
JPH06103225A
JPH06103225A JP24926792A JP24926792A JPH06103225A JP H06103225 A JPH06103225 A JP H06103225A JP 24926792 A JP24926792 A JP 24926792A JP 24926792 A JP24926792 A JP 24926792A JP H06103225 A JPH06103225 A JP H06103225A
Authority
JP
Japan
Prior art keywords
descriptor
information
format
read
register
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.)
Withdrawn
Application number
JP24926792A
Other languages
English (en)
Inventor
Yuji Tarui
祐二 樽井
Goji Mikami
剛司 三上
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.)
Fujitsu Ltd
Fujitsu Electronics Inc
Original Assignee
Fujitsu Ltd
Fujitsu Electronics Inc
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 Fujitsu Ltd, Fujitsu Electronics Inc filed Critical Fujitsu Ltd
Priority to JP24926792A priority Critical patent/JPH06103225A/ja
Publication of JPH06103225A publication Critical patent/JPH06103225A/ja
Withdrawn legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 本発明はチェーン式DMA転送方式及びその
ためのDMAコントローラに関し、ディスクリプタ領域
を大きくせず、ディスクリプタの読み込み動作量も増大
させずに柔軟なチェーンが行なえるようにすることを目
的とする。 【構成】 ディスクリプタ情報読み込み制御手段30
と、ディスクリプタ情報を記憶するレジスタ群31,3
2,33とを備えるチェーン式DMAコントローラであ
って、レジスタ群は次のディスクリプタ情報の形式を規
定するフォーマット指定情報を記憶するフォーマット指
定レジスタ34を備え、ディスクリプタ読み込み制御手
段30は、フォーマット指定情報に従って次のディスク
リプタ情報を読み込むように構成する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、データブロックを高速
に転送するためのDMA方式及びそのためのDMAコン
トローラに関し、特に一度の起動で複数のブロックを異
なるアドレスとの間で転送できるチェーン式DMA方式
及びそのためのDMAコントローラに関する。
【0002】
【従来の技術】データブロックを高速に転送するために
DMAデータ転送が広く用いられている。初期のDMA
方式は、中央処理装置(CPU)がDMAコントローラ
に転送先(又は転送元)のアドレスと転送するデータ量
(バイト数又はワード数)を書き込んだ上で、DMAコ
ントローラに起動コマンドを発行することでDMAデー
タ転送を開始していた。書き込まれた転送データ量の転
送が終了すると、その転送動作が終了する。従って転送
動作毎に転送先アドレス等の動作情報を書き込む必要が
あった。
【0003】近年のコンピュータシステムの高速化、高
効率化要求に伴い、従来から高速なデータブロックの転
送に用いられていたDMAコントローラにも、一層効率
的なデータ転送を行うことが要求されてきた。この為、
DMAコントローラに対してデータ転送先アドレス、デ
ータ転送先メモリのワード数を複数ブロック分あらかじ
め設定しておくことができる、チェーン式のDMAコン
トローラが提供されている。
【0004】チェーン式DMAコントローラは、外部メ
モリのディスクリプタ領域と呼ばれる部分に格納されて
いる転送先アドレス及び転送データ量(以下の説明にお
いては転送データ量がワード単位で表わされるものとし
て、転送ワード数と称することにする。)等の転送動作
に必要な情報を順に読み込み、各情報を読み込む度に、
その情報の内容に応じた転送動作を行なう。ディスクリ
プタ領域に格納された情報をディスクリプタ情報、又は
単にディスクリプタと称する。
【0005】従来のチェーン方式のDMAコントローラ
は、DMAコントローラに対するモード設定により、複
数種類の形式のディスクリプタを取り扱うことができ
る。ディスクリプタの形式として代表的なのは、アレイ
チェーンモードとリンクアレイチェーンモードである。
この他にも各種のディスクリプタがあり得るが、ここで
はこの2つのモードを例として説明を行なう。
【0006】アレイチェーンモードに設定しておくと、
1つのディスクリプタはデータ転送アドレスとデータ転
送ワード数で構成され、CPUとDMAコントローラは
図13のフローチャートの様に動作する。 (1)ステップ1301で、CPUは、図14に示すデ
ィスクリプタテーブルを用意し、所定のメモリ位置に書
き込む。
【0007】(2)ステップ1302で、CPUは、デ
ィスクリプタ領域1が格納されているアドレスとアレイ
チェーンのフォーマットをDMAコントローラに書き込
む。これに応じてDMAコントローラ(DMAC)は、
ディスクリプタ情報の開始アドレスとアレイチェーンフ
ォーマットの設定を行なう。 (3)ステップ1303で、CPUは、DMACに起動
コマンドを発行し、ステップ1312でDMACが起動
する。
【0008】(4)ステップ1313で、DMACは、
CPUが設定したフォーマットに従ってディスクリプタ
領域1に格納されている内容を読み込む。 (5)ステップ1314で、すべてのディスクリプタ情
報を読み込んだかを判定し、読み込みが終了していなけ
れば、ステップ1318でディスクリプタ情報のアドレ
スを増加させる。
【0009】(6)ステップ1315と1316で、D
MACは、ディスクリプタ領域1に示されていたデータ
転送アドレスからディスクリプタ領域1に示されていた
データ転送ワード数分のDMAデータ転送を行う。 (7)DMACは、ステップ1317で最終ディスクリ
プタであるか判定し、最終でなければ、ステップ131
8でディスクリプタ情報のアドレスを増加させ、ステッ
プ1313に戻る。そしてディスクリプタ領域1と連続
しているディスクリプタ領域2に格納されている内容を
読み込む。
【0010】(8)上記と同様にDMACは、ディスク
リプタ領域2に示されていたデータ転送アドレスからデ
ィスクリプタ領域2に示されていたデータ転送ワード数
分のDMAデータ転送を行う。 (9)以降、上記の動作を、ディスクリプタ領域nに格
納されている内容に従ったDMAデータ転送までを行
う。そして最終ディスクリプタであればステップ131
7で待機状態に戻る。
【0011】なお図14はアレイチェーンモード時に必
要とする最小構成のディスクリプタを示したものであ
り、実際には他の情報が含まれることがある。しかしこ
こでは省略している。これは以下の説明でも同様であ
る。リンクアレイチェーンモードに設定しておくと、1
つのディスクリプタはデータ転送アドレスとデータ転送
ワード数とチェーン先アドレスで構成され、CPUとD
MAコントローラは図15のフローチャートの様に動作
する。
【0012】(1)ステップ1501でCPUは、図1
6に示すディスクリプタテーブルを用意し、所定のメモ
リ位置に書き込む。 (2)ステップ1502でCPUは、ディスクリプタ領
域1が格納されているアドレスとリンクアレイチェーン
のフォーマットをDMACに書き込む。これに応じてD
MACはディスクリプタ情報の開始アドレスとリンクア
レイチェーンフォーマットの設定を行なう。
【0013】(3)ステップ1503でCPUは、DM
Aコントローラに起動コマンドを発行する。これに応じ
てステップ1512で、DMACが起動する。 (4)ステップ1513で、DMACは、CPUが設定
したディスクリプタ領域1に格納されている内容を読み
込む。 (5)ステップ1514で、すべてのディスクリプタ情
報を読み込んだかを判定し、読み込みが終了していなけ
れば、ステップ1519でディスクリプタ情報のアドレ
スを増加させる。
【0014】(6)ステップ1515と1516で、D
MACは、ディスクリプタ領域1に示されていたデータ
転送アドレスからディスクリプタ領域1に示されていた
データ転送ワード数分のDMAデータ転送を行う。 (7)DMACは、ステップ1517で最終ディスクリ
プタであるか判定し、最終でなければ、ステップ151
8でディスクリプタ情報のアドレスを増加させ、ステッ
プ1513に戻る。そしてディスクリプタ領域1に示さ
れていたチェーン先アドレス上のディスクリプタ領域2
に格納されている内容を読み込む。
【0015】(8)そして上記と同様にDMACは、デ
ィスクリプタ領域2に示されていたデータ転送アドレス
からディスクリプタ領域2に示されていた転送ワード数
分のDMAデータ転送を行う。 (9)以降、上記の動作を、ディスクリプタ領域nに格
納されている内容に従ったDMAデータ転送までを行
う。そして最終ディスクリプタの時にはステップ151
7で待機状態に戻る。
【0016】リンクアレイチェーンモードは、アレイチ
ェーンモードの様に、各ディスクリプタを連続して格納
しておく必要がなく、外部メモリへのディスクリプタの
書き込みはより柔軟に行なえる。しかしリンクアレイチ
ェーンモードでは、ディスクリプタがチェーン先アドレ
スを含むため、その読み込みに余分の時間を要する。図
17は従来のDMAコントローラのブロック構成図であ
る。
【0017】図17において、150はディスクリプタ
の読み込みを制御する制御部である。151から154
は、データ転送アドレスレジスタ、データ転送ワード数
レジスタ、チェーン先アドレスレジスタ及びフォーマッ
ト制御レジスタである。155はデータ転送アドレスレ
ジスタのデータを増加させるインクリメンタであり、ア
レイチェーンモード時はチェーン先アドレスレジスタの
インクリメントにも使用される。156はデータ転送時
に1回データ転送を行なう度にデータ転送ワード数レジ
スタのデータを減少させるデクリメンタであり、データ
転送ワード数レジスタのデータがゼロになればそのデー
タ転送が終了する。157はCPUからの信号に応じて
チェーン先アドレスレジスタ153とフォーマット制御
レジスタ154への書き込み等を行なう部分である。1
58はチェーン先アドレスレジスタ153への書き込み
データを選択するためのORゲートである。
【0018】ここで注目すべき点は、アレイチェーンモ
ードであるかリンクアレイチェーンモードであるかは開
始前にCPUからDMAコントローラ(DMAC)に書
き込まれ、フォーマット制御レジスタ154に記憶され
ることである。設定されたモードはそのDMA転送動作
中変化しない点である。
【0019】
【発明が解決しようとする課題】前述のように、アレイ
チェーンモードとリンクアレイチェーンモードにはそれ
ぞれ利点があり、必要に応じて使い分けられていた。し
かしそれぞれのモードには、次のような問題点があっ
た。従来のアレイチェーンモードでは、チェーンをルー
プ状に構成することが出来ず、起動したDMACがチェ
ーン最終までのDMA転送を終了した後、再びCPUが
DMACにディスクリプタ領域1が格納されているのア
ドレスを設定し直す必要が生じる。一連のDMA転送動
作の前に、CPUがこのような設定動作を行なうのは煩
雑であるという問題がある。
【0020】一方、リンクアレイチェーンモードでは、
最終ディスクリプタ領域のチェーン先アドレスを最初の
ディスクリプタ領域のアドレスとすることで、チェーン
をループ状に構成することができる。しかし、前述のよ
うに、リンクアレイチェーンモードでは、各ディスクリ
プタ領域にチェーン先アドレスが含まれている為、毎回
チェーン先アドレスを読み込むバスサイクルが必要にな
ってしまうという問題がある。
【0021】本発明は、上記問題点に鑑みてなされたも
のであり、起動されたDMAコントローラが、チェーン
途中であってもディスクリプタフォーマットを切り換
え、ディスクリプタアクセス回数の削減、ディスクリプ
タ領域の削減等を行える柔軟性のあるDMA方式及びそ
のためのDMAコントローラを提供することを目的とす
る。
【0022】
【課題を解決するための手段】図1は本発明におけるデ
ィスクリプタ情報のフォーマット毎の基本構成を示す図
であり、図2は図1のフォーマットのディスクリプタを
組み合せたディスクリプタ全体構成例を示す図であり、
図3は本発明のDMAコントローラの基本構成を示す図
であり、図4は本発明におけるDMA転送動作の基本的
な処理を示す図である。
【0023】本発明のチェーン式DMA方式は、上記目
的を達成するため、図1及び図2に示すように各ディス
クリプタ情報が次のディスクリプタ情報の形式を規定す
るフォーマット指定情報を有するようにし、最初のディ
スクリプタ情報の読み込み以外は、読み込まれたフォー
マット情報に従って次のディスクリプタ情報の読み込み
を行なうように構成する。
【0024】また本発明のチェーン式DMAコントロー
ラは、外部メモリのディスクリプタ領域に格納されてい
るディスクリプタ情報の読み込みを制御するディスクリ
プタ読み込み制御手段30と、読み込んだディスクリプ
タ情報を記憶するレジスタ群31,32,33とを備え
ており、レジスタ群31,32,33に記憶されたディ
スクリプタ情報に従ってDMAデータ転送を行なう一連
の動作を繰り返し行なうが、上記目的を達成するため、
レジスタ群は、読み込まれたディスクリプタ情報に含ま
れる次のディスクリプタ情報の形式を規定するフォーマ
ット情報を記憶するフォーマット指定レジスタ34を備
え、ディスクリプタ読み込み制御手段30はフォーマッ
ト指定レジスタ34に記憶されたフォーマット指定情報
に従って次のディスクリプタ情報の読み込みを行なうよ
うに構成する。
【0025】
【作用】図1及び図2に示すように、本発明のディスク
リプタ情報にはフォーマット指定情報が含まれている、
第1の態様では、フォーマット指定情報は次のディスク
リプタ情報の形式を規定しており、このフォーマット指
定情報に従って次のディスクリプタ情報の読み込みが行
なわれる。従って、チェーン式のDMA転送において、
途中でディスクリプタ情報のフォーマットを変更するこ
とが可能になる。
【0026】途中でのディスクリプタ情報のフォーマッ
トの変更を可能にすることにより、効率的でより柔軟な
動作が可能になる。図3及び図4を参照して、本発明の
DMAコントローラ(DMAC)の基本構成とその基板
動作を説明する。なお、ディスクリプタ情報は図1及び
図2の構成を有しているものとする。
【0027】図3において、30はディスクリプタ読み
込み制御手段であり、ディスクリプタ情報を各レジスタ
に読み込むための制御信号を出力する。31はデータ転
送アドレスレジスタであり、転送先又は転送元(以下転
送先として説明する。)のメモリのアドレスを記憶し、
データを転送する度にこのアドレスは、インクリメンタ
35によって増加される。32はデータ転送ワード数レ
ジスタであり、転送するワード数を記憶しており、1回
の転送毎にデクリメンタ36によって転送ワード数が減
少される。そして転送ワード数がゼロになった時がその
ディスクリプタの転送動作の終了である。
【0028】33はチェーン先アドレスレジスタであ
り、ディスクリプタ情報のチェーン先アドレスを記憶す
るが、アレイチェーン式のディスクリプタ領域の場合に
は、連続した次のディスクリプタ情報のアドレスを計算
したデータが記憶される。34はフォーマット指定レジ
スタであり、最初はCPUから入力されたフォーマット
指定情報が書き込まれるが、以後はディスクリプタ情報
を読み込む毎にそのフォーマット指定情報が記憶され
る。ディスクリプタ読み込み制御手段30は、このフォ
ーマット指定情報に基づいて、ディスクリプタ情報の読
み込みを行なう。
【0029】DMA転送動作は、図4に示すように、ま
ずステップ401でCPUがメモリへ図2に示すような
ディスクリプタ情報を書き込む。DMA転送の必要が生
じると、ステップ402で、CPUが最初のディスクリ
プタ情報の開始アドレスとそのフォーマットをDMAC
に書き込む。DMACでは、これに応じて、ステップ4
11でアドレスがチェーン先アドレスレジスタ33に書
き込まれ、フォーマット指定情報がフォーマット指定レ
ジスタ34に書き込まれる。そしてステップ403で、
CPUがDMACに起動信号を出力する。
【0030】DMACは、ステップ413,414及び
420で、フォーマット指定レジスタ34に記憶された
フォーマットに従って、チェーン先アドレスレジスタ3
3のアドレスから所定量のディスクリプタ情報を読み込
み、データ転送アドレスの部分をデータ転送アドレスレ
ジスタ31に記憶し、転送ワード数をデータ転送ワード
数レジスタ32に記憶する。この時同時にフォーマット
指定情報も読み込まれ、フォーマット指定レジスタ34
に記憶される。
【0031】ステップ415と416では、データ転送
アドレスレジスタ31のアドレスからデータ転送を開始
し、データ転送ワード数レジスタ32に記憶されたワー
ド数分転送を行なう。次にステップ417で、最終のデ
ィスクリプタであるかを判定する。終了する場合は、D
MACは待機状態に戻る。
【0032】最終ディスクリプタでなければ、ステップ
418で、読み込んだディスクリプタ情報に基づいて次
のディスクリプタ情報のフォーマットがアレイチェーン
モードかリンクアレイチェーンモードかを判定する。も
しアレイチェーンモードであれば、ステップ420でデ
ィスクリプタ情報のアドレスを増加させ、リンクアレイ
チェーンモードであれば、ステップ419でディスクリ
プタ情報のチェーン先アドレスの部分を読み込み、チェ
ーン先アドレスレジスタ33に設定する。
【0033】そして再びステップ413に戻り、終了す
るまでステップ413から420を繰り返す。例えば、
図2に示すようなディスクリプタ情報であれば、ステッ
プ411でフォーマット指定レジスタ34にディスクリ
プタ領域1がフォーマット1であることが設定され、ス
テップ413でディスクリプタ領域1の読み込みが行な
われる。ディスクリプタ領域1には次のディスクリプタ
領域2がフォーマット1であることを示すフォーマット
指定情報が含まれている。ディスクリプタ領域1に指示
されたDMAデータ転送を行った後、フォーマット指定
レジスタ34のフォーマットに従ってディスクリプタ領
域2の読み込みを行なう。これをディスクリプタ領域n
−1まで繰り返す。
【0034】ディスクリプタ領域n−1のフォーマット
指定情報は、ディスクリプタ領域nがフォーマット2で
あることを示している。従ってディスクリプタ領域nは
フォーマット2としてチェーン先アドレスも読み込まれ
る。このチェーン先アドレスはディスクリプタ領域1の
アドレスを示しており、最初に戻ることになる。このよ
うにしてループ状のチェーン式DMA転送が行なえる。
【0035】なお、ディスクリプタ情報はフォーマット
指定情報を含むため、従来のリンクアレイチェーン式に
比べて利点がないように見えるが、フォーマットが2種
類であればフォーマット指定情報は1ビットで表わせ、
データ量がはるかに少ない。もちろんフォーマットは2
種とは限らず種類の数を増加でき、その場合でもデータ
量はあまり多くならない。例えば、256種類のフォー
マットを選択するとしても1バイトで収まる。このこと
により、ループ状のチェーンを構成する場合、従来のリ
ンクアレイチェーン方式で実施するよりも、ディスクリ
プタ領域が削減されると共に、チェーン先アドレスを読
み込むバスサイクル数が削減される。
【0036】更にこれまで説明した態様では、フォーマ
ット指定情報は次のディスクリプタのフォーマットを示
したが、フォーマット指定情報がそのディスクリプタ自
体のフォーマットを示し、まずそのフォーマットを含む
共通部分の読み込みを行なった後、そのフォーマットに
従って残りのディスクリプタを読み込むようにしてもよ
い。この場合は、最初にCPUがDMACにフォーマッ
トを書き込む動作が必要なくなる。
【0037】
【実施例】図5と図6は実施例におけるDMAコントロ
ーラの構成図であり、構成を2図に分割して示してあ
る。図において、50はディスクリプタ読み込み制御部
であり、501はコントロールレジスタであり、502
はバス制御回路である。511と512は転送アドレス
用レジスタであり、転送アドレスのLowバイトとHigh
バイトを保持する。521と522は転送バイト数のL
owバイトとHigh バイトを保持するレジスタである。な
おここでは転送データ量をバイト単位で表わす。531
と532は次のディスクリプタのアドレスのLowバイト
とHigh バイトを保持するディスクリプタポインタレジ
スタである。54はフォーマット指定レジスタである。
以上のコントロールレジスタ501、転送アドレスレジ
スタ511,512、転送バイト数レジスタ521,5
22、ディスクリプタポインタレジスタ531,53
2、及びフォーマット指定レジスタ54は、8ビットの
バス1に接続され、このバス1は外部に接続されてい
る。
【0038】転送アドレスレジスタ511,512及び
ディスクリプタポインタレジスタ531,532はバス
2にも接続されており、このバス2にはインクリメンタ
55とアドレスラッチ513が接続されている。このバ
ス2により次のディスクリプタアドレスの変更が行わ
れ、アドレスラッチ513からシステム側のアドレスバ
スにDMA転送時のアドレスが出力される。
【0039】転送バイト数レジスタ521,522はバ
ス3にも接続され、バス3に接続されたデクリメンタ5
6によって転送したバイト数に応じた変化が行なわれ
る。次に図5,図6のDMACの動作を説明する。先
ず、CPUによりDMAコントローラの初期設定と起動
を行う。CPUはDMAコントローラのディスクリプタ
ポインタレジスタLowバイトに第1番目に読み込むべき
ディスクリプタの先頭番地D1のLowバイト(D1)1
の書き込みを行う。ディスクリプタポインタレジスタL
owバイトへの設定値(D1)は、バス1を経由し、リー
ド/ライト制御ブロックから発生する信号c(バス1→
ディスクリプタポインタLowバイト)パルスによって、
ディスクリプタポインタLowバイトに書き込まれる。
【0040】CPUはDMAコントローラのディスクリ
プタポインタレジスタHigh バイトに第1番目に読み込
むべきディスクリプタの先頭番地D1のHigh バイト
(D1)の書き込みを行う。ディスクリプタポインタレ
ジスタHigh バイトへの設定値(D1)は、バス1を経
由し、リード/ライト制御ブロックから発生する信号d
(バス1→ディスクリプタポインタHigh バイト)パル
スによって、ディスクリプタポインタHigh バイトに書
き込まれる。
【0041】CPUはDMAコントローラのフォーマッ
ト指定レジスタに第1番目に読み込むべきディスクリプ
タのフォーマットを書き込む。第1番目に読み込むべき
ディスクリプタのフォーマットを示すデータは、バス1
を経由し、リード/ライト制御ブロックから発生する信
号b(バス1→フォーマット指定レジスタ)パルスによ
って、フォーマット指定レジスタに書き込まれる。
【0042】CPUはDMAコントローラのコントロー
ルレジスタにDMA起動コマンドを書き込む。DMA起
動コマンドデータは、バス1を経由し、リード/ライト
制御ブロックが発生するa信号(バス1→コントロール
レジスタ)パルスによって、コントロールレジスタに書
き込まれる。次にディスクリプタの読み込み時の動作を
説明する。
【0043】図7は、フォーマット1のディスクリプタ
読み込みのタイミングチャートである。コントロールレ
ジスタへのDMA起動コマンドの書き込みまたはDMA
データ転送の終了(ディスクリプタに指定されたバイト
数分のDMAデータ転送が終了)により、ディスクリプ
タ読み込み制御部はディスクリプタ転送要求信号を
“H”にする。バス制御回路は、ディスクリプタ転送要
求信号が“H”になると、CPUに対してホールドを要
求する。ホールド許可が入力されると、バス制御回路は
アドレス出力,リード出力,ライト出力をHi−Z状態
から出力状態にし、リードバスサイクルを発生する。こ
こでは、バス制御回路の詳細は割愛する。リードバスサ
イクルで出力するアドレスは、信号iによってバス2に
出力されたディスクリプタポインタLow,High レジス
タの内容を信号oの立ち上がりエッジでアドレスラッチ
ブロックに記憶した内容である。この時のバス2の内容
は、信号nの立ち上がりエッジでインクリメンタブロッ
クにも取り込まれる。インクリメンタブロックがインク
リメントした結果は、次のクロックサイクルで信号kに
よってバス2に出力され、信号1の立ち上がりエッジで
ディスクリプタポインタLow,High レジスタに格納さ
れる。一方、リードバスサイクルでバス1に入力される
データは、ディスクリプタ読み込み制御部が順次発生す
る信号e,f,g,h,bのパルスで、各レジスタに取
り込まれる。信号bのパルスで取り込まれたフォーマッ
ト指定レジスタの内容は、次のディスクリプタ読み込み
時のフォーマット示す。また、ディスクリプタポインタ
Low,High レジスタには、今読み込んだディスクリプ
タの直後のアドレスが残る。
【0044】図8は、フォーマット2のディスクリプタ
読み込みのタイミングチャートである。コントロールレ
ジスタへのDMA起動コマンドの書き込みまたはDMA
データ転送の終了(ディスクリプタに指定されたバイト
数分のDMAデータ転送が終了)により、ディスクリプ
タ読み込み制御部はディスクリプタ転送要求信号を
“H”にする。バス制御回路は、ディスクリプタ転送要
求信号が“H”になると、CPUに対してホールドを要
求する。ホールド許可が入力されると、バス制御回路は
アドレス出力,リード出力,ライト出力をHi−Z状態
から出力状態にし、リードバスサイクルを発生する。こ
こでは、バス制御回路の詳細は割愛する。リードバスサ
イクルで出力するアドレスは、信号iまたは信号kによ
ってバス2に出力されたディスクリプタポインタLow,
High レジスタの内容またはインクリメンタブロックに
残っていた内容を信号oの立ち上がりエッジでアドレス
ラッチブロックに記憶した内容である。この時のバス2
の内容は、信号nの立ち上がりエッジでインクリメンタ
ブロックにも取り込まれる。一方、リードバスサイクル
でバス1に入力されるデータは、ディスクリプタ読み込
み制御部が順次発生する信号e,f,g,h,c,d,
bのパルスで、各レジスタに取り込まれる。信号bのパ
ルスで取り込まれたフォーマット指定レジスタの内容
は、次のディスクリプタ読み込み時のフォーマットを示
す。また、ディスクリプタポインタLow,High レジス
タには、信号c,dのパルスで取り込まれた値が残る。
【0045】DMAデータ転送に関する説明は省略する
が、DMAデータ転送のタイミングチャートのみを図9
に示す。図7及び図8のディスクリプタの読み込みは、
コントロールレジスタ501へのDMA起動コマンドの
書き込みが行なわれた時、又は転送バイト数レジスタの
内容がゼロになった時かつ最終のディスクリプタを読み
こんでいない時に行なわれる。
【0046】なお上記実施例においては、フォーマット
指定情報として1バイトを割り当て256種類のフォー
マットを選択可能にしたが、フォーマットの種類が上記
のフォーマット1とフォーマット2の2種類だけであれ
ば、フォーマット指定情報には1ビットを割り当てれば
よい。そこで図10のディスクリプタ情報の他の構成例
に示すように、転送ワード数を表わす部分の1ビットを
フォーマット指定ビットとすれば、ディスクリプタ領域
の大きさは従来通りであり、ディスクリプタの読み込み
動作に要する動作も増加しない。但し、表現できる転送
ワード数が半分になる。しかしチェーン式のDMA転送
では一度に転送するデータ量があまり大きくなることは
ないため実用上は問題ない。
【0047】これまでの説明はすべてディスクリプタ情
報が転送先アドレスと転送データ数、更にフォーマット
2であればチェーン先アドレスのみを有するものとして
行って来た。しかし実際にはこれら以外の情報が含まれ
ることが一般的である。図11はこのようなディスクリ
プタ情報の構成例を示す。図11において、最初の2バ
イトが転送バイト数とフォーマット指定ビットの部分で
あり、32Kまでの転送バイト数が表現できる。次の3
バイトは転送開始アドレスを示す部分である。次のSC
はブロック制御情報/終了情報を示すSC部分であり、
この終了情報によって一連の動作を終了するかどうかが
示される。次の3バイトは状態を示す状態情報であり、
この部分と上記のSC部分はブロックに対するデータ転
送の終了時にDMACからDMA転送で書き出される。
最後の3バイトはチェーン先アドレスを示す部分であ
る。
【0048】通常のDMACでは、データ転送時点で状
態情報を書き出すが、この情報がフォーマットによって
異なることがある。その場合には、フォーマット指定レ
ジスタの内容に応じた書き出しを行なう必要があるのは
いうまでもない。これまでの説明では、フォーマット指
定情報は次のディスクリプタ情報の形式を示していた
が、最初に読み込む情報にフォーマット指定情報が含ま
れるならば、フォーマット指定情報がそのディスクリプ
タ情報の形式を示し、読み込んだフォーマット指定情報
に応じて残りの部分の読み込みを行なうことが可能にな
る。
【0049】図12は、図11のディスクリプタ情報の
構成で、フォーマット指定情報がそのディスクリプタ情
報のフォーマットを示しているとした時のDMA転送動
作のフローチャートである。図12の説明を行なうが、
従来と共通な部分の説明は省略し、異なる点のみを説明
する。ステップ201ではディスクリプタ情報の開始ア
ドレスのみをDMACに書き込み、フォーマット指定情
報は書き込まない。そして起動後、DMACでは、ステ
ップ204で図11の1の部分を読み込む。ステップ2
05でSC部分の終了情報を判定する。終了でなけれ
ば、ステップ206でフォーマット1であるかフォーマ
ット2であるかを判定する。フォーマット1であれば、
ステップ207でディスクリプタアドレスを増加させ、
ステップ210に進む。フォーマット2であれば、ステ
ップ208で図11の3の部分、すなわちチェーン先ア
ドレスを読み込み、ステップ209でそれをディスクリ
プタアドレスに設定する。ステップ210のデータ転送
後、ステップ211で図11の2の部分を書き出す。以
降、終了するまでステップ204から211を繰り返
す。
【0050】
【発明の効果】以上説明した様に、本発明によればディ
スクリプタ領域の削減とバスサイクル数の削減ができ
る。特に、近年の一般的なシステムではバスネックにな
っているものが多く、バスサイクル数の削減は、様々な
装置の性能向上に寄与するところが大きい。
【図面の簡単な説明】
【図1】本発明におけるディスクリプタ情報の基本構成
例を示す図である。
【図2】本発明におけるディスクリプタ全体構成例を示
す図である。
【図3】本発明のDMAコントローラの基本構成図であ
る。
【図4】本発明における基本的なDMA転送動作のフロ
ーチャートである。
【図5】実施例におけるDMAコントローラの構成の一
部を示す図である。
【図6】図5の残り部分を示す図である。
【図7】実施例におけるフォーマット1のディスクリプ
タの読み込みのタイミングチャートである。
【図8】実施例におけるフォーマット2のディスクリプ
タの読み込みのタイミングチャートである。
【図9】実施例におけるDMAデータ転送のタイミング
チャートである。
【図10】ディスクリプタ情報の他の構成例を示す図で
ある。
【図11】ディスクリプタ情報の詳細な構成例を示す図
である。
【図12】第2実施例におけるDMA転送動作のフロー
チャートである。
【図13】従来のアレイチェーンモード設定時のDMA
転送動作を示すフローチャートである。
【図14】従来のアレイチェーンモードのディスクリプ
タ構成を示す図である。
【図15】従来のリンクアレイチェーンモード設定時の
DMA転送動作を示すフローチャートである。
【図16】従来のリンクアレイチェーンモードのディス
クリプタ構成を示す図である。
【図17】従来のDMAコントローラのブロック構成図
である。
【符号の説明】
30…ディスクリプタ情報読み込み制御手段 31…転送アドレスレジスタ 32…転送データ量レジスタ 33…チェーン先アドレスレジスタ(ポインタアドレス
レジスタ) 34…フォーマット指定レジスタ

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 外部メモリのディスクリプタ領域に格納
    されているディスクリプタ情報を読み込み、当該ディス
    クリプタ情報に従ってDMAデータ転送を行なう一連の
    動作を前記ディスクリプタ情報を逐次読み込みながら繰
    り返し行なうチェーン式DMA方式であって、 前記ディスクリプタ情報は、次のディスクリプタ情報の
    形式を規定するフォーマット指定情報を有し、最初のデ
    ィスクリプタ情報の読み込み以外は、読み込まれた前記
    フォーマット指定情報に従って次のディスクリプタ情報
    の読み込みを行なうことを特徴とするチェーン式DMA
    方式。
  2. 【請求項2】 外部メモリのディスクリプタ領域に格納
    されているディスクリプタ情報を読み込み、当該ディス
    クリプタ情報に従ってDMAデータ転送を行なう一連の
    動作を前記ディスクリプタ情報を逐次読み込みながら繰
    り返し行なうチェーン式DMA方式であって、 前記ディスクリプタ情報は、当該ディスクリプタ情報の
    形式を規定するフォーマット指定情報を所定位置に有
    し、 前記ディスクリプタ情報の読み込み時には、前記フォー
    マット指定情報を含む共通部分をまず読み取り、読み込
    んだ前記フォーマット指定情報に従って残りの部分を読
    み込むことを特徴とするチェーン式DMA方式。
  3. 【請求項3】 請求項1又は2のいずれかに記載のチェ
    ーン式DMA方式であって、前記DMAデータ転送後に
    転送状態等の状態情報を前記外部メモリのディスクリプ
    タ領域上に書き出すチェーン式DMA方式において、 前記状態情報の書き出しは、読み込んだ前記フォーマッ
    ト指定情報に従って行なうことを特徴とするチェーン式
    DMA方式。
  4. 【請求項4】 外部メモリのディスクリプタ領域に格納
    されているディスクリプタ情報の読み込みを制御するデ
    ィスクリプタ情報読み込み制御手段(30)と、読み込
    んだ前記ディスクリプタ情報を記憶するレジスタ群(3
    1,32,33)とを備え、前記レジスタ群(31,3
    2,33)に記憶されたディスクリプタ情報に従ってD
    MAデータ転送を行なう一連の動作を前記ディスクリプ
    タ情報を逐次読み込みながら繰り返し行なうチェーン式
    DMAコントローラであって、 前記レジスタ群は、読み込まれた前記ディスクリプタ情
    報に含まれる次のディスクリプタ情報の形式を規定する
    フォーマット指定情報を記憶するフォーマット指定レジ
    スタ(34)を備え、前記ディスクリプタ読み込み制御
    手段(30)は、前記フォーマット指定レジスタ(3
    4)に記憶されたフォーマット指定情報に従って次のデ
    ィスクリプタ情報の読み込みを行なうことを特徴とする
    チェーン式DMAコントローラ。
  5. 【請求項5】 外部メモリのディスクリプタ領域に格納
    されているディスクリプタ情報の読み込みを制御するデ
    ィスクリプタ情報読み込み制御手段(30)と、読み込
    んだ前記ディスクリプタ情報を記憶するレジスタ群(3
    1,32,33)とを備え、前記レジスタ群(31,3
    2,33)に記憶されたディスクリプタ情報に従ってD
    MAデータ転送を行なう一連の動作を前記ディスクリプ
    タ情報を逐次読み込みながら繰り返し行なうチェーン式
    DMAコントローラであって、 前記レジスタ群は、読み込まれた前記ディスクリプタ情
    報の所定位置に含まれる当該ディスクリプタ情報の形式
    を規定するフォーマット指定情報を記憶する前記フォー
    マット指定レジスタ(34)を備え、前記ディスクリプ
    タ読み込み制御手段(30)は、前記フォーマット指定
    情報を含む共通部分をまず読み取って前記レジスタ群の
    対応部分に記憶し、前記フォーマット指定レジスタ(3
    4)に記憶されたフォーマット指定情報に従って残りの
    部分を読み込むことを特徴とするチェーン式DMAコン
    トローラ。
  6. 【請求項6】 請求項4又は5のいずれかに記載のチェ
    ーン式DMAコントローラであって、前記DMAデータ
    転送後に転送状態等の状態情報を前記外部メモリのディ
    スクリプタ領域上に書き出す書き出し手段を備え、該書
    き出し手段は、前記フォーマット指定レジスタ(34)
    に記憶されたフォーマット指定情報に従って前記状態情
    報を書き出すことを特徴とするチェーン式DMAコント
    ローラ。
JP24926792A 1992-09-18 1992-09-18 チェーン式dma方式及びそのためのdmaコントローラ Withdrawn JPH06103225A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP24926792A JPH06103225A (ja) 1992-09-18 1992-09-18 チェーン式dma方式及びそのためのdmaコントローラ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP24926792A JPH06103225A (ja) 1992-09-18 1992-09-18 チェーン式dma方式及びそのためのdmaコントローラ

Publications (1)

Publication Number Publication Date
JPH06103225A true JPH06103225A (ja) 1994-04-15

Family

ID=17190428

Family Applications (1)

Application Number Title Priority Date Filing Date
JP24926792A Withdrawn JPH06103225A (ja) 1992-09-18 1992-09-18 チェーン式dma方式及びそのためのdmaコントローラ

Country Status (1)

Country Link
JP (1) JPH06103225A (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1193610A1 (en) * 2000-09-29 2002-04-03 Ricoh Company, Ltd. Data processing apparatus and DMA data transfer method
US6795208B1 (en) 1999-10-15 2004-09-21 Ricoh Company, Ltd. Printer controller and system having a DMA data transmission
JP2005165439A (ja) * 2003-11-28 2005-06-23 Hitachi Ltd データ転送装置、記憶デバイス制御装置、記憶デバイス制御装置の制御方法
US7185151B2 (en) 2002-09-19 2007-02-27 Ricoh Company, Ltd. Data processing device characterized in its data transfer method, program for executing on a computer to perform functions of the device, and computer readable recording medium storing such a program
JP2007251983A (ja) * 2007-04-23 2007-09-27 Ricoh Co Ltd 画像データ出力装置
JP2012503828A (ja) * 2008-09-26 2012-02-09 マイクロン テクノロジー, インク. ソリッドステート大容量記憶装置のためのデータストリーミング
JP2013515978A (ja) * 2010-06-07 2013-05-09 株式会社日立製作所 データ転送装置及びデータ転送方法
JP2016535337A (ja) * 2013-11-05 2016-11-10 オラクル・インターナショナル・コーポレイション ネットワーク環境における効率的なパケット処理モデルおよびパケット処理のための最適化されたバッファ利用をサポートするためのシステムおよび方法

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6795208B1 (en) 1999-10-15 2004-09-21 Ricoh Company, Ltd. Printer controller and system having a DMA data transmission
US6980317B2 (en) 1999-10-15 2005-12-27 Ricoh Company, Ltd. Printer controller and system having a DMA data transmission
US7528980B2 (en) 1999-10-15 2009-05-05 Ricoh Company, Ltd. Printer controller and system having a DMA data transmission
EP1193610A1 (en) * 2000-09-29 2002-04-03 Ricoh Company, Ltd. Data processing apparatus and DMA data transfer method
US6708234B2 (en) 2000-09-29 2004-03-16 Ricoh Company, Ltd. Data processing apparatus and DMA data transfer method
US7185151B2 (en) 2002-09-19 2007-02-27 Ricoh Company, Ltd. Data processing device characterized in its data transfer method, program for executing on a computer to perform functions of the device, and computer readable recording medium storing such a program
JP2005165439A (ja) * 2003-11-28 2005-06-23 Hitachi Ltd データ転送装置、記憶デバイス制御装置、記憶デバイス制御装置の制御方法
JP2007251983A (ja) * 2007-04-23 2007-09-27 Ricoh Co Ltd 画像データ出力装置
JP2012503828A (ja) * 2008-09-26 2012-02-09 マイクロン テクノロジー, インク. ソリッドステート大容量記憶装置のためのデータストリーミング
JP2013515978A (ja) * 2010-06-07 2013-05-09 株式会社日立製作所 データ転送装置及びデータ転送方法
JP2016535337A (ja) * 2013-11-05 2016-11-10 オラクル・インターナショナル・コーポレイション ネットワーク環境における効率的なパケット処理モデルおよびパケット処理のための最適化されたバッファ利用をサポートするためのシステムおよび方法

Similar Documents

Publication Publication Date Title
JP3878851B2 (ja) 連結リストdma記述子アーキテクチャ
US20050198471A1 (en) Micro-controller for reading out compressed instruction code and program memory for compressing instruction code and storing therein
US5297242A (en) DMA controller performing data transfer by 2-bus cycle transfer manner
JPH0619752B2 (ja) データ転送方法及び装置
JPH1091572A (ja) データ転送方法及びその方法を用いたデータ転送装置
US7165126B2 (en) Direct memory access device
US6728797B2 (en) DMA controller
JPH06103225A (ja) チェーン式dma方式及びそのためのdmaコントローラ
JP3803196B2 (ja) 情報処理装置、情報処理方法および記録媒体
JPH0696007A (ja) Dma転送方式
US5860129A (en) Data processing system for writing an external device and method therefor
JP3151832B2 (ja) Dmaコントローラ
US5752267A (en) Data processing system for accessing an external device during a burst mode of operation and method therefor
JP2854301B2 (ja) メモリアクセス回路
JP2635863B2 (ja) 中央処理装置
JPH07146814A (ja) メモリ装置
JPH0736806A (ja) Dma方式
JP2001297056A (ja) 調停回路及びdmaコントローラ
JPH06214939A (ja) Dmaコントローラ
JP3270149B2 (ja) データ転送装置
JPH04199450A (ja) ダイレクト・メモリ・アクセス制御回路
JPH0567035A (ja) Dma転送におけるデータアライメント方式
JP2570271B2 (ja) 半導体メモリ制御装置
JPS635432A (ja) マイクロプロセツサ
JPH02128286A (ja) 標準パタン読出し回路

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 19991130