JPH08202648A - ダイレクトメモリアクセス転送方式及び方法 - Google Patents

ダイレクトメモリアクセス転送方式及び方法

Info

Publication number
JPH08202648A
JPH08202648A JP897795A JP897795A JPH08202648A JP H08202648 A JPH08202648 A JP H08202648A JP 897795 A JP897795 A JP 897795A JP 897795 A JP897795 A JP 897795A JP H08202648 A JPH08202648 A JP H08202648A
Authority
JP
Japan
Prior art keywords
transfer
register
memory access
direct memory
channels
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
JP897795A
Other languages
English (en)
Inventor
Hiroyuki Sekine
浩之 関根
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.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co 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 Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP897795A priority Critical patent/JPH08202648A/ja
Publication of JPH08202648A publication Critical patent/JPH08202648A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)

Abstract

(57)【要約】 【目的】回路規模を大きくすることなく多数チャネルか
らの転送要求に対して高速応答可能なDMACを実現す
る。 【構成】複数のチャネル夫々の転送元アドレス、転送先
アドレス及び転送回数を含む情報を記憶するメモリ13
と、一組の転送元アドレス、転送先アドレス及び転送回
数を含む情報を保持する内部レジスタを有し、上記複数
のチャネル内のいずれかからダイレクトメモリアクセス
要求を受けた場合に上記メモリ13から対応する情報を
読出して上記内部レジスタにセットし、DMAを実行す
るDMAC12とを備える。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、多チャネル間でデータ
転送を行なうダイレクトメモリアクセス転送方式及び方
法に関する。
【0002】
【従来の技術】一般にCPUを介さずにメモリと入出力
装置間あるいはメモリとメモリ間でデータを転送するダ
イレクトメモリアクセスコントローラ(以下ダイレクト
メモリアクセスを「DMA」、ダイレクトメモリアクセ
スコントローラを「DMAC」と略称する)では、転送
元アドレスと転送先アドレス及び転送回数の情報を保持
するレジスタを内部に有しており、外部デバイスからの
要求信号やCPUからの命令により上記内部レジスタの
内容に基づいてデータ転送を行なうようになっていた。
【0003】したがって、このDMACで複数組のデー
タ転送を行なう場合には、その組数分だけ上記転送元ア
ドレスと転送先アドレス及び転送回数の情報を保持する
レジスタを用意するか、あるいは一組分のレジスタの内
容をCPUによって書替えることでレジスタを共用化す
る必要があった。
【0004】
【発明が解決しようとする課題】しかしながら、上記前
者の組数分のレジスタを用意する方法では、DMACの
回路規模が大きくなってしまうという不具合が生じる。
また、上記後者の一組分のレジスタ内容をCPUによっ
て書き替えてレジスタを共用化する方法では、DMAC
の回路規模が大きくなることはないものの、レジスタの
書替えをCPUのソフトウェア制御により実現しなけれ
ばならず、上記前者の方法に比してデータ転送を開始す
るまでに要する時間が大幅に長くなり、またCPUの負
担も増えてしまうため、そもそもCPUの負担を軽減し
て高速のデータ処理を行なうべくしてDMAを採用する
意味が稀薄となってしまうという不具合がある。
【0005】本発明は上記のような実情に鑑みてなされ
たもので、その目的とするところは、回路規模を大きく
することなく多数チャネルからの転送要求に対して高速
応答可能なダイレクトメモリアクセス転送方式及び方法
を提供することにある。
【0006】
【課題を解決するための手段】すなわち本発明は、 (1) 複数のチャネル夫々の転送元アドレス、転送先
アドレス及び転送回数を含む情報を記憶する外部メモリ
と、一組の転送元アドレス、転送先アドレス及び転送回
数を含む情報を保持する内部レジスタを有し、上記複数
のチャネル内のいずれかからダイレクトメモリアクセス
要求を受けた場合に上記外部メモリから対応する情報を
読出して上記内部レジスタにセットしてダイレクトメモ
リアクセスを実行するダイレクトメモリアクセス制御回
路とを備えるようにしたものである。 (2) 上記(1)項にあって、上記ダイレクトメモリ
アクセス制御回路は上記複数チャネルから同時にダイレ
クトメモリアクセス要求を受けた場合に優先順位を設け
て1つのチャネルを選択してダイレクトメモリアクセス
を実行するようにしたものである。
【0007】
【作用】上記(1)項のような構成とすることにより、
回路規模を大きくすることなく、またCPUからのソフ
トウェア制御を必要としないので速度を低下させること
なく、多数チャネルからの転送要求に応答してデータ転
送を実行させることが可能となる。
【0008】上記(2)項のような構成とすることによ
り、上記(1)項の作用に加えて、同時に複数チャネル
からの転送要求を受けた際にその優先順位をも考慮して
必要なチャネルからデータ転送を実行させることが可能
となる。
【0009】
【実施例】以下図面を参照して本発明の一実施例を説明
する。図1はその回路構成を示すもので、11がCP
U、12がDMAC、13がメモリ、14a〜14gが
第1乃至第7のI/O装置である。
【0010】CPU11及びDMAC12とメモリ13
及び第1乃至第7のI/O装置14a〜14gとは、例
えば24ビット幅のアドレス信号バスa、16ビット幅
のデータ信号バスb、制御信号バスcで接続されてお
り、制御信号バスcはチップセレクト信号CS、リード
ストローブ信号RD及びライトストローブ信号WRから
なる。
【0011】また、第1乃至第7のI/O装置14a〜
14gは、DMAC12に対してDMA要求信号DRE
Q1〜DREQ7を送出するもので、これに対応してD
MAC12から第1乃至第7のI/O装置14a〜14
gにDMA受付信号DACK1〜DACK7が送出され
る。
【0012】さらに、DMAC12からCPU11に対
してバス権開放要求信号BREQ(e)が送出され、こ
れに対応してCPU11からDMAC12にバス権開放
信号BACK(d)が送出される。
【0013】続く図2は上記DMAC12内の詳細な構
成を示すものである。同図に示す如くDMAC12内に
は、ベースアドレス上位レジスタ(図では「BAHR」
と示す)21、ベースアドレス下位レジスタ(図では
「BALR」と示す)22、転送元アドレスレジスタ
(図では「SAR」と示す)23、転送先アドレスレジ
スタ24、転送カウントレジスタ(図では「TCR」と
示す)25及びチャネル制御レジスタ(図では「CHC
R」と示す)26からなるレジスタ郡を備えると共に、
回数制御部27、レジスタ制御部28、起動制御部29
及び、要求優先制御部30からなる制御部群並びにバス
インタフェース31を備える。
【0014】バスインタフェース31は、上記アドレス
信号バスa、データ信号バスb及び制御信号バスcと上
記レジスタ群を構成する各レジスタ21〜26との間に
接続され、上記起動制御部29から送られてくる制御信
号に従ってデータの送受を行なう。
【0015】上記回数制御部27は、転送カウントレジ
スタ25の保持内容を受けてチャネル制御レジスタ26
にチャネル番号を設定する。レジスタ制御部28は、起
動制御部29からの制御信号を受けて各レジスタ21〜
26の書込み/読出し状態を制御する。
【0016】起動制御部29は、CPU11に対してバ
ス権開放要求信号BREQ(e)を送出し、これに対応
してCPU11より送られてくるバス権開放信号BAC
K(d)を受けてDMAの起動時の動作制御を行なうも
ので、上記チャネル制御レジスタ26の保持値を参照す
る他、要求優先制御部30とも制御信号の送受を行な
う。
【0017】要求優先制御部30は、内部に優先度の高
いチャネルの番号を保持する優先レジスタ(図では「N
o.」と示す)30aを設けるもので、上記第1乃至第
7のI/O装置14a〜14gからのDMA要求信号D
REQ1〜DREQ7を受け、さらに上記チャネル制御
レジスタ26の保持値を参照して起動制御部29と制御
信号の送受により優先度の高いチャネルを決定すべく動
作制御するもので、決定内容に応じて上記第1乃至第7
のI/O装置14a〜14gにDMA受付信号DACK
1〜DACK7を送出する。
【0018】しかして、上記DMAC12が備えるレジ
スタ21〜26のうち、CPU11から書込み/読出し
を行なうことができるのはベースアドレス上位レジスタ
21、ベースアドレス下位レジスタ22及びチャネル制
御レジスタ26であり、図3にそれぞれのビット構成を
示す。
【0019】すなわち図3(1),(2)はベースアド
レス上位レジスタ21及びベースアドレス下位レジスタ
22のビット構成を示すものであり、ベースアドレス上
位レジスタ21の全16ビット中の下位8ビットを用い
てメモリ13上に定義される後述するインデックスドレ
ジスタの先頭アドレスの上位8ビットを、ベースアドレ
ス下位レジスタ22の全16ビットを用いて上記インデ
ックスドレジスタの先頭アドレスの下位16ビットを保
持する。
【0020】また、図3(3)はチャネル制御レジスタ
26のビット構成を示すものであり、全16ビット中の
上位8ビットを用いて上記メモリ13及び第1乃至第7
のI/O装置14a〜14gに対応した転送終了情報T
E7〜TE0を、下位8ビットを用いて同じく上記メモ
リ13及び第1乃至第7のI/O装置14a〜14gに
対応した転送許可情報DE7〜DE0をそれぞれ保持す
る。
【0021】上記インデックスドレジスタは、転送元ア
ドレスを示すソースアドレスSAが2ワード、転送先ア
ドレスを示すディスティネーションアドレスDAが2ワ
ード、転送回数を示すトランスファカウントTCが2ワ
ードからなるデータの組を記憶し、これらの転送元アド
レスSA、ディスティネーションアドレスDA及びトラ
ンスファカウントTCは各転送チャネル毎に用意されて
いる。
【0022】本実施例では転送チャンネルは上記メモリ
13及び第1乃至第7のI/O装置14a〜14gの8
個であるので、インデックスドレジスタ全体は、6[ワ
ード]×8=48[ワード](96[バイト])からな
る。
【0023】いま、メモリ13及び第1乃至第7のI/
O装置14a〜14gに対応する転送チャネルをn(n
=0〜7)と表わし、転送チャネルに対応した転送元ア
ドレスSA、ディスティネーションアドレスDA及びト
ランスファカウントTCをそれぞれSAn,DAn,T
Cnと表わすこととして、SAn,DAn,TCnの先
頭アドレスを次式のように定義する。すなわち、 SAn=BA+2×n …(1) DAn=BA+2×n+2 …(2) TCn=BA+2×n+4 …(3) 図4は上述したインデックスドレジスタのメモリマップ
を示すものである。このインデックスドレジスタは、メ
モリ13上の空間にあり、且つ他の第1乃至第7のI/
O装置14a〜14gの空間にはないようにベースアド
レスBAを設定する必要がある。
【0024】また、説明上、メモリ13及び第1乃至第
7のI/O装置14a〜14gに対応する転送チャネル
n(n=0〜7)の優先順位は「0>1>2>…>7」
の固定とする。
【0025】ここでは、転送チャネル「0」がメモリ1
3からメモリ13へのデータ転送に使用されるもので、
他の転送チャネル「1」〜「7」が各I/O装置14a
〜14gからのDMA要求信号DREQ1〜DREQ7
のアサートによって転送が開始されるのに対して、上記
図3(3)で示したチャネル制御レジスタ26の転送許
可情報DE0がCPU11によって“1”にセットされ
ることによって転送が開始されるものとする。
【0026】次に上記実施例の動作について図5を用い
て説明する。図5はDMAC12が行なう一連のDMA
動作の処理内容を示すフローチャートであり、その当初
にはメモリ13内のインデックスドレジスタと、ベース
アドレス上位レジスタ21、ベースアドレス下位レジス
タ22及びチャネル制御レジスタ26の初期設定を行な
う(ステップS1)。
【0027】ここでは、上述した如くベースアドレス上
位レジスタ21及びベースアドレス下位レジスタ22に
よって定義されるインデックスドレジスタは、メモリ1
3上の空間にあり、且つ転送チャネルの転送によってイ
ンデックスドレジスタの内容が書替えられることがない
ように設定する必要がある。
【0028】初期設定後、DMAによるデータ転送の要
求が発生するのを待機し(ステップS2)、要求が発生
すると、次にその転送要求に対応するチャネル制御レジ
スタ26の転送許可情報DEnが“1”で且つ転送終了
情報TEnが“0”であるという条件を満たしているか
否かを判断する(ステップS3)という処理を繰返す。
【0029】ここでデータ転送の要求とは、第1乃至第
7のI/O装置14a〜14gからのDMA要求信号D
REQ1〜DREQ7がアサートされた場合か、あるい
はメモリ13に対応する転送チャンネル「0」で上記ス
テップS3に示した条件を満たした場合を示す。DMA
要求信号DREQ1〜DREQ7のアサートは同時に複
数でもよい。
【0030】しかして、DMAのデータ転送の条件が満
たされて要求が認められると、次いで複数の転送要求に
対処するべく優先順位の決定を行なう(ステップS
4)。これは、要求優先制御部30によって上述した固
定の優先順位に従って決定されるもので、その結果、デ
ータ転送を行なうチャネルの番号nが優先レジスタ30
aに保持設定される。
【0031】また、この処理と並行して、起動制御部2
9によりCPU11に対してバス権開放要求信号BRE
Q(e)がアサートされ、応答としてCPU11からバ
ス権開放信号BACK(d)がアサートされることでD
MAC12がバス権を得る。
【0032】次いで、起動制御部29がベースアドレス
上位レジスタ21、ベースアドレス下位レジスタ22の
内容によって決定されるインデックスドレジスタのベー
スアドレスBAを基にレジスタ制御部28とバスインタ
フェース31とを駆動することにより、要求優先制御部
30の優先レジスタ30aに保持した転送チャネル番号
に対応して上記(1)〜(3)式に従ったソースアドレ
スSAn、ディスティネーションアドレスDAn及びト
ランスファカウントTCnをインデックスドレジスタか
ら読出し、それぞれ転送元アドレスレジスタ23、転送
先アドレスレジスタ24及び転送カウントレジスタ25
に格納保持させる(ステップS5)。
【0033】その後、転送カウントレジスタ25の保持
内容が「0」ではなく、まだ設定された回数だけのデー
タ転送が終えていないことを確認した上で(ステップS
6)、起動制御部29がレジスタ制御部28とバスイン
タフェース31とを駆動し、転送元アドレスレジスタ2
3に保持されているアドレスに従ってメモリ13または
第1乃至第7のI/O装置14a〜14gの該当アドレ
ス位置から転送すべきデータ1ワード分を読出し、読出
したデータを、転送先アドレスレジスタ24に保持され
ているアドレスに従ってメモリ13または第1乃至第7
のI/O装置14a〜14gの該当アドレス位置に書込
む(ステップS8)。
【0034】こうして1ワード分のデータ転送を行なっ
た後、次のデータ転送を行なうべく転送カウントレジス
タ25のカウント値を「−1」更新設定すると共に、転
送元アドレスレジスタ23及び転送先アドレスレジスタ
24の保持内容をそれぞれ「+1」更新設定し(ステッ
プS9)、再び上記ステップS6からの処理を繰返す。
【0035】このようにステップS6,S8,S9の処
理を、始めに転送カウントレジスタ25に設定された回
数だけ繰返し行なうことで、データ転送が実行される。
そして転送カウントレジスタ25の保持内容が「0」で
あると判断した時点で(ステップS6)、データ転送が
完了したものとして、次いで上記優先レジスタ30aに
保持されるチャネル番号nを用いてチャネル制御レジス
タ26の転送終了情報TEnを“1”にセットし、バス
権をCPU11に返して(ステップS7)、以上でこの
DMA処理を一旦終了する。
【0036】なお、上記実施例ではメモリ13及び第1
乃至第7のI/O装置14a〜14gの優先順位を固定
化されたものとして説明したが、これに限ることなく、
循環的に優先順位を入替えるようにしてもよいし、また
待ち回数をカウントしてそのカウント値が一定となった
ものを他よりも優先することも考えられる。
【0037】
【発明の効果】以上詳記した如く本発明によれば、回路
規模を大きくすることなく、またCPUからのソフトウ
ェア制御を必要としないので転送速度をそれほど低下さ
せることなく、多数チャネルからの転送要求に応答して
データ転送を実行させることが可能なダイレクトメモリ
アクセス転送方式及び方法を提供することができる。
【図面の簡単な説明】
【図1】本発明の一実施例に係る回路構成を示すブロッ
ク図。
【図2】図1のダイレクトメモリアクセスコントローラ
(DMAC)内の詳細な回路構成を示すブロック図。
【図3】図2の一部レジスタ構成を示す図。
【図4】図1のメモリに設けられるインデックスドレジ
スタのメモリマップを示す図。
【図5】同実施例に係る動作内容を示すフローチャー
ト。
【符号の説明】
11…CPU 12…ダイレクトメモリアクセスコントローラ(DMA
C) 13…メモリ 14a〜14g…I/O装置 21…ベースアドレス上位レジスタ(BAHR) 22…ベースアドレス下位レジスタ(BALR) 23…転送元アドレスレジスタ(SAR) 24…転送先アドレスレジスタ(DAR) 25…転送カウントレジスタ(TAR) 26…チャネル制御レジスタ(CHCR) 27…回数制御部 28…レジスタ制御部 29…起動制御部 30…要求優先制御部 30a…優先レジスタ(No.) 31…バスインタフェース

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 複数のチャネル夫々の転送元アドレス、
    転送先アドレス及び転送回数を含む情報を記憶する外部
    メモリと、 一組の転送元アドレス、転送先アドレス及び転送回数を
    含む情報を保持する内部レジスタを有し、上記複数のチ
    ャネル内のいずれかからダイレクトメモリアクセス要求
    を受けた場合に上記外部メモリから対応する情報を読出
    して上記内部レジスタにセットしてダイレクトメモリア
    クセスを実行するダイレクトメモリアクセス制御回路と
    を具備したことを特徴とするダイレクトメモリアクセス
    転送方式。
  2. 【請求項2】 上記ダイレクトメモリアクセス制御回路
    は上記複数チャネルから同時にダイレクトメモリアクセ
    ス要求を受けた場合に優先順位を設けて1つのチャネル
    を選択してダイレクトメモリアクセスを実行することを
    特徴とする請求項1記載のダイレクトメモリアクセス転
    送方式。
  3. 【請求項3】 複数のチャネル夫々の転送元アドレス、
    転送先アドレス及び転送回数を含む情報を外部メモリに
    記憶させ、 上記複数のチャネル内のいずれかからダイレクトメモリ
    アクセス要求を受けた場合に上記外部メモリから対応す
    る情報を読出し、一組の転送元アドレス、転送先アドレ
    ス及び転送回数を含む情報を保持する内部レジスタにセ
    ットしてダイレクトメモリアクセスを実行することを特
    徴とするダイレクトメモリアクセス転送方法。
  4. 【請求項4】 上記複数チャネルから同時にダイレクト
    メモリアクセス要求を受けた場合に優先順位を設けて1
    つのチャネルを選択してダイレクトメモリアクセスを実
    行することを特徴とする請求項3記載のダイレクトメモ
    リアクセス転送方法。
JP897795A 1995-01-24 1995-01-24 ダイレクトメモリアクセス転送方式及び方法 Pending JPH08202648A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP897795A JPH08202648A (ja) 1995-01-24 1995-01-24 ダイレクトメモリアクセス転送方式及び方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP897795A JPH08202648A (ja) 1995-01-24 1995-01-24 ダイレクトメモリアクセス転送方式及び方法

Publications (1)

Publication Number Publication Date
JPH08202648A true JPH08202648A (ja) 1996-08-09

Family

ID=11707758

Family Applications (1)

Application Number Title Priority Date Filing Date
JP897795A Pending JPH08202648A (ja) 1995-01-24 1995-01-24 ダイレクトメモリアクセス転送方式及び方法

Country Status (1)

Country Link
JP (1) JPH08202648A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004213666A (ja) * 2003-01-03 2004-07-29 Micronas Gmbh Dmaモジュールとその操作方法
GB2446701A (en) * 2007-02-16 2008-08-20 Advanced Risc Mach Ltd DMA controller with channels configured from control data sets stored in memory

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004213666A (ja) * 2003-01-03 2004-07-29 Micronas Gmbh Dmaモジュールとその操作方法
GB2446701A (en) * 2007-02-16 2008-08-20 Advanced Risc Mach Ltd DMA controller with channels configured from control data sets stored in memory
JP2008204456A (ja) * 2007-02-16 2008-09-04 Arm Ltd 複雑な非線形データの転送制御システム
US7873757B2 (en) 2007-02-16 2011-01-18 Arm Limited Controlling complex non-linear data transfers
GB2446701B (en) * 2007-02-16 2011-04-27 Advanced Risc Mach Ltd Controlling complex non-linear data transfers
US8112560B2 (en) 2007-02-16 2012-02-07 Arm Limited Controlling complex non-linear data transfers

Similar Documents

Publication Publication Date Title
EP0378423B1 (en) DMA controller
JPS5812611B2 (ja) デ−タテンソウセイギヨホウシキ
US6728797B2 (en) DMA controller
JPS6375955A (ja) プログラムモ−ド・アクセス制御方式
JPH07129537A (ja) 半導体集積回路装置
US6584512B1 (en) Communication DMA device for freeing the data bus from the CPU and outputting divided data
JPH08202648A (ja) ダイレクトメモリアクセス転送方式及び方法
JP3356110B2 (ja) 機能拡張システム及びそれに用いるデータ転送方法
JP4150953B2 (ja) 情報処理装置
JPH0736806A (ja) Dma方式
JPS6126164A (ja) デ−タ転送制御方法
JP3678537B2 (ja) データ転送方法及び装置
JPH0310354A (ja) データ転送制御システム
JP2687716B2 (ja) 情報処理装置
JP2533958B2 (ja) デ―タ先行セット装置
JPS6019023B2 (ja) デ−タ処理装置
JPS62192844A (ja) Dma制御回路
JPH0833869B2 (ja) データ処理装置
JPH05289979A (ja) データ転送制御方式、データ転送制御装置、及び通信制御システム
JP3270149B2 (ja) データ転送装置
KR940005003Y1 (ko) 직접 메모리 억세스 시스템
JPS63239549A (ja) デ−タ・チエイニング制御方式
JPS6383854A (ja) デ−タ転送回路
JPS6382536A (ja) チヤネル装置
JPH02299052A (ja) Dmaコントローラ