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

Dmaコントローラ

Info

Publication number
JP3355057B2
JP3355057B2 JP07643495A JP7643495A JP3355057B2 JP 3355057 B2 JP3355057 B2 JP 3355057B2 JP 07643495 A JP07643495 A JP 07643495A JP 7643495 A JP7643495 A JP 7643495A JP 3355057 B2 JP3355057 B2 JP 3355057B2
Authority
JP
Japan
Prior art keywords
data
address
transfer
register
reg
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.)
Expired - Fee Related
Application number
JP07643495A
Other languages
English (en)
Other versions
JPH08272734A (ja
Inventor
武人 和泉
泰生 山田
修 中島
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.)
Kawasaki Microelectronics Inc
Original Assignee
Kawasaki Microelectronics 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 Kawasaki Microelectronics Inc filed Critical Kawasaki Microelectronics Inc
Priority to JP07643495A priority Critical patent/JP3355057B2/ja
Publication of JPH08272734A publication Critical patent/JPH08272734A/ja
Application granted granted Critical
Publication of JP3355057B2 publication Critical patent/JP3355057B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、CPUを介さずに、メ
モリどうし、I/Oどうし、あるいはメモリとI/Oと
の間でデータの転送を行なわせるDMA(Direct
Memory Access)コントローラに関す
る。
【0002】
【従来の技術】データを、例えばメモリからI/O等に
転送する場合にCPUを介在させると時間がかかるた
め、CPUを介在させずにそれらのメモリ、I/O間の
データ転送を行なわせるDMAコントローラが広く用い
られている。図4は、DMAコントローラを用いてメモ
リからI/Oにデータを転送する際のタイミングチャー
トの一例である。
【0003】先ず、クロックCLKの立ち下がりT0
タイミングでアドレスバスに転送元のメモリのアドレス
ADRを出力するとともに、転送先のI/Oに接続され
た、そのI/Oが転送先であることを表わすデータアク
ノリッジ信号DACKを出力する。次いで、クロックC
LKの次の立ち下がりT1 のタイミングで、I/Oにデ
ータを書き込むことを要求するI/Oライト信号IOW
_ をアサート(‘L’レベル)する。これは、I/O
の方がデータのリード/ライトのための準備に時間を要
するためI/Oの方を先にアサートするものである。さ
らに、クロック信号の次の立ち下がりT2 のタイミング
でメモリからデータを読み出すことを指示するメモリリ
ード信号MRD_ をアサート(‘Lレベル)する。する
と、メモリの、指定されたアドレスからデータが読み出
されて、そのデータが、DACK信号により指定された
I/Oに格納される。クロックCLKの立ち下がりT3
のタイミングでDACK,IOWR_ ,MRD_ の各信
号がネゲートされ、データ転送サイクルが終了する。こ
の図4に示す転送方式は、ここの例では3つのクロック
パルスからなる1バスサイクルでデータ転送が終了する
ため、シングルバスサイクル転送と呼ばれている。
【0004】図5は、DMAコントローラを用いてメモ
リどうしの間のデータ転送を行なう場合のタイミングチ
ャートの一例である。クロックCLKの立ち下がりT0
のタイミングで、アドレスバスに、メモリのどのアドレ
スのデータを転送するかを示す転送元アドレスが出力さ
れ、それとともにメモリリード信号MRD_ がアサート
される。するとデータバスに、メモリの転送元アドレス
のデータが出力される。このデータは、一旦、DMAコ
ントローラ内部のレジスタに格納される。
【0005】次いで、クロックCLKの立ち下がりT1
のタイミングで、アドレスバスに、メモリのどのアドレ
スにデータを転送するかを示す転送先アドレスが出力さ
れ、それとともに、メモリライト信号MWR_ がアサー
トされ、DMAコントローラ内部に一旦格納されたデー
タが、メモリの転送先アドレスに格納される。この図5
に示す転送方式は1クロックパルスからなる1バスサイ
クルを2つ使ってデータ転送が行なわれることから、2
バスサイクル転送と呼ばれる。
【0006】図6は、DMAコントローラの構成図であ
る。尚、これ以降は、特に断らない限り、2バスサイク
ル転送を中心に説明する。ここにはAレジスタAreg
FレジスタFreg の、合計6個のレジスタが備えられて
いる。これらの各レジスタの役割は以下のとおりであ
る。 Areg :転送元のアドレスの初期値を記憶しておく転送
元アドレスレジスタ(初期値) Breg :転送元のアドレスの現在値を記憶しておく転送
元アドレスレジスタ(現在値) Creg :転送先のアドレスの初期値を記憶しておく転送
先アドレスレジスタ(初期値) Dreg :転送先のアドレスの現在値を記憶しておく転送
先アドレスレジスタ(現在値) Ereg :データをいくつ転送するかを表わす予定転送数
を記憶しておくカウントレジスタ(予定転送数) Freg :現在までの転送数を表わすデータを記憶してお
くカウンタレジスタ(現在値)。ここでは、直接的に
は、予定転送数から、現在までに転送されたデータの数
を差し引いた、残りの転送数を表す値が記憶され、これ
により、現在までの転送数が間接的に記憶されている。
【0007】ここでは、転送開始に先立って、各セレク
ト信号S1′,S2′,S3′により各マルチプレクサ
MUX1_ ,MUX2_ MUX3_ がそれぞれAreg
re g ,Ereg を選択し、クロックCK1′,CK
2′,CK3が入力され、これにより、Areg ,C
reg ,Ereg の各値が、それぞれ、Breg ,Dreg ,F
reg に転送されている。
【0008】転送が開始されると、先ず各セレクト信号
S1′,S2′により、マルチプレクサMUX1_ ,M
UX2_ がいずれもインクリメンタ/デクリメンタ10
の出力を繰返し選択し、セレクト信号S3′によりマル
チプレクサMUX3がデクリメンタ20の出力を選択す
る。こうしておいて、セレクト信号S4′によりBre g
を選択すると、Breg に格納された転送元アドレスがア
ドレスバスに出力され、それとともにインクリメンタ/
デクリメンタ10により転送元アドレスが1だけインク
リメントされてクロックCLK1′の入力によりBreg
に書き戻される。また、このとき、Freg に記憶された
値がデクリメンタ20により減算され、クロックCK
3′の入力によりFreg に書き戻される。
【0009】次に、セレクト信号S4′によりマルチプ
レクサMUX4がDreg を選択し、Dreg に格納された
転送先アドレスがアドレスバスに出力され、それととも
にインクリメンタ/デクリメンタ10により転送先アド
レスが1だけインクリメントされ、クロックCK2′の
入力によりDreg に書き戻される。零検出回路30は、
デクリメンタ20により1だけ減算された値が零か否
か、即ち、今DMAコントローラにフェッチされたデー
タの転送先アドレスへの格納が終了するとEregに記憶
された予定転送数だけ転送が行われることになるか否か
を検出するものであり、零を検出すると、最後のデータ
を転送先アドレスに送った段階で転送を終了する。この
DMAコントローラでは最後のデータを最終の転送先ア
ドレスに送った後、DMA転送動作が終了するが、次回
の転送のために、Areg ,Creg ,Ereg の内容をそれ
ぞれBreg ,Dreg ,Freg に自動的にコピーすること
も可能である。
【0010】図7は、メモリアドレス7000h以降に
格納されているデータ1,データ2,……を、メモリア
ドレス8000h以降に転送することを示した模式図、
図8は、図7に示す転送を図6に示すDMAコントロー
ラで実行する場合のタイミングチャートである。図8に
示すように、アドレスバスには、転送元アドレス700
0h,転送先アドレス8000h,転送元アドレス70
01h,転送先アドレス8001h,……が順次出力さ
れ、Breg ,Dreg の内容は順次インクリメントされ、
reg の内容が順次デクリメントされている。
【0011】
【発明が解決しようとする課題】上述の例では、Areg
〜Freg の、合計6つのレジスタが使用されてDMA転
送が行われており、レジスタの数が多く、その分DMA
コントローラの回路規模が大きい。特に、1つのチップ
にコンピュータ機能を搭載した、いわゆる1チップマイ
コンを構築する場合等においては、同一の仕様を満足し
つついかにして回路規模を縮小するかが問題となる。
【0012】本発明は、上記事情に鑑み、同一の回路機
能を実現するとともに回路規模の縮小化が図られたDM
Aコントローラを提供することを目的とする。
【0013】
【課題を解決するための手段】上記目的を達成する本発
明のDMAコントローラは、 (1)データ転送元もしくはデータ転送先の代表アドレ
スを表わすデータを格納するアドレスレジスタ (2)データの予定転送数を表わすデータを格納するカ
ウントレジスタ (3)現在迄のデータ転送数を表わすデータを格納する
カレントレジスタ (4)前記アドレスレジスタに格納されたデータと前記
カレントレジスタに格納されたデータとに基づいて、次
のデータの転送元もしくは転送先のアドレスを生成する
アドレス生成回路 (5)データを転送する毎に前記カレントレジスタに格
納されたデータを更新する転送数更新回路 (6)カレントレジスタに格納されたデータに基づい
て、予定転送数のデータの転送を判定する転送終了判定
回路 を備えたことを特徴とする。
【0014】ここで、上記DMAコントローラは、上記
(1)のアドレスレジスタが、データ転送元の代表アド
レスを表わすデータを格納する転送元アドレスレジスタ
と、データ転送先の代表アドレスを表わすデータを格納
する転送先アドレスレジスタとの双方から成り、上記
(4)のアドレス生成回路が、転送元アドレスレジスタ
に格納されたデータとカレントレジスタに格納されたデ
ータとに基づいて、次のデータの転送元のアドレスを生
成するとともに、転送先アドレスレジスタに格納された
データとカレントレジスタに格納されたデータとに基づ
いて次のデータの転送先のアドレスを生成するものであ
ってもよい。
【0015】
【作用】図6に示す従来のDMAコントローラの構成に
おいて、Breg ,Dreg は、1ずつインクリメントさ
れ、Freg は1ずつデクリメントされるため、初期値と
の差の絶対値、すなわち|Areg の内容−Breg の内容
|,|Creg の内容−Dre g の内容|,|Ereg の内容
−Freg の内容|はいずれも等しい。したがって図6に
示すBreg ,Dreg ,Freg に代えて、データをいくつ
転送したかを示すカウンタを1個備えれば十分である。
【0016】本発明は、この点に想到することにより完
成されたものであり、上記(3)のカレントレジスタに
現在迄のデータ転送数を表わすデータを格納しておき、
アドレスを出力するにあたっては、アドレスレジスタの
データとカレントレジスタのデータとに基づいて、アド
レスを生成して出力するようにしたものである。このア
ドレスを生成するアドレス生成回路は、例えば単純なア
ダー等で済み、もともと小規模の回路で済むとともに、
図6に示すインクリメンタ/デクリメンタ一個分とほぼ
同様の回路規模であり、このアドレス生成回路は、従来
と比べ回路規模の増大にはほとんど影響はない。上記
(5)の転送数更新回路は、図6に示すデクリメンタ2
0に相当し、上記(6)の転送終了判定回路は、図6に
示す零検出回路30に相当し、いずれも、従来と比べ回
路規模の増大にはならない。結局、図6に示すBreg
reg に相当するレジスタが削減された分、同一の回路
機能を実現しながら回路規模の削減が図られる。
【0017】尚、本発明において、上記(1)のアドレ
スレジスタは、データ転送元もしくはデータ転送先の代
表アドレスを表わすデータを格納するものであればよ
く、データ転送元とデータ転送先との双方の代表アドレ
スを格納するものである必要はない。これは、図4を参
照して説明したシングルバスサイクル転送の場合、転送
元あるいは転送先のいずれか一方のアドレスを格納して
おけば十分であり、シングルバスサイクル転送専用のD
MAコントローラの場合、本発明の上記(1)の要件で
十分だからである。
【0018】
【実施例】以下、本発明の実施例について説明する。図
1は、本発明のDMAコントローラの一実施例の構成
図、図2は、図1に示すDMAコントローラを用いて、
図7に示すように、メモリの、アドレス7000h以降
のデータをアドレス8000h以降に転送する場合のタ
イミングチャートである。
【0019】ここには、AレジスタAreg ,Cレジスタ
reg ,EレジスタEreg ,およびGレジスタGreg
4つのレジスタが備えられている。これらの各レジスタ
の役割りは以下のとおりである。 Areg :転送元のアドレスの初期値を記憶しておく転送
元アドレスレジスタ Creg :転送先のアドレスの初期値を記憶しておく転送
先アドレスレジスタ Ereg :データの予定転送数を表わすデータを格納する
カウントレジスタ Greg :現在迄のデータ転送数を表わすデータを格納す
るカレントレジスタ ここでは、転送開始に先立ってGreg にクリア信号CL
が入力されてそのままGreg が零にリセットされる。ま
た、ここでは、Areg ,Creg ,Ereg には、それぞ
れ、データラッチ信号G1,G2,G3が入力され、そ
のタイミングで転送元の初期アドレス7000h,転送
先の初期アドレス8000h,予定転送数が格納されて
いるものとする。
【0020】転送が開始されると、セレクト信号S1に
より、マルチプレクサMUXがAre g を選択し、Areg
に格納された転送元初期アドレス7000hが加算器/
減算器40に入力される。また加算器40にはGreg
格納された現在までのデータ転送数を表わすデータ(こ
こでは零)も入力され、それらが加算されて、ここでは
7000hがアドレスバスに出力される。これによりメ
モリの7000hのデータがデータバスに出力されDM
Aコントローラ内の図示しないレジスタに一旦格納され
る。
【0021】次に、セレクト信号S1によりCreg が選
択され、Creg に格納された転送先初期アドレス800
0hにGreg に格納された値(ここでは零)が加算され
てアドレスバスに出力され、このDMAコントローラに
一旦フェッチしたデータをその転送先アドレスに転送す
る。またこのときGreg の内容はインクリメンタ50に
て1だけインクリメントされて、クロックCLKの入力
によりGreg に書き戻される。また、これとともに、イ
ンクリメンタ50において1だけインクリメントされた
reg の値が比較器60に入力され、その値がEreg
内容(予定転送数)と一致するか否かが検出される。一
致していた場合、予定転送数だけデータ転送が行われた
ことになるため、転送を終了する。尚この比較器60
は、本発明にいう転送終了判定回路の一例に相当する。
【0022】図3は、互いに同一の回路機能を満たす、
従来例と本発明の一例との間の内部レジスタの規模の比
較を示した図である。ここでは、アドレスを記憶してお
く転送元アドレスレジスタ(初期値),転送元アドレス
レジスタ(現在値),転送先アドレスレジスタ(初期
値),転送先アドレスレジスタ(現在値)はいずれも2
0ビットであるとし、転送データ数を定めるカウントレ
ジスタ(予定転送数),カウントレジスタ(現在値),
カウントレジスタはいずれも16ビットであるとする。
ここで、初期値,予定転送数を格納し、途中でインクリ
メントないしデクリメントされないレジスタ、すなわ
ち、転送元アドレスレジスタ(初期値),転送先アドレ
スレジスタ(初期値),カウントレジスタ(予定転送
数)はラッチで構成することができ、格納された値がイ
ンクリメントもしくはデクリメントされる、転送元アド
レスレジスタ(現在値),転送先アドレスレジスタ(現
在値),カウントレジスタ(現在値),およびカレント
レジスタは、フリップフロップで構成される。ラッチを
6ゲート分、フリップフロップを8ゲート分として計算
すると、図3(A)の従来の場合、 (20+20+16)×6+(20+20+16)×8
=784(ゲート) 必要となるが、図3の本発明例の場合、 (20+20+16)×6+16×8=464(ゲー
ト) で済むことになり、回路規模の削減に大きく寄与するこ
とになる。尚、ここではDMAコントローラの1チャン
ネル分について比較しているが、通常、DMAコントロ
ーラは、例えば4チャンネル等複数チャンネルを有して
おり、その場合、上記のゲート数にチャンネル数を掛け
算した分だけの回路規模となり、従来例と本発明例とで
はその差が一層顕著となる。
【0023】尚、上記実施例は、2バスサイクル転送に
ついての例であるが、シングルバスサイクル転送のみの
単機能のDMAコントローラの場合であっても、本発明
の方が従来例よりも有利である。
【0024】
【発明の効果】以上説明したように、本発明によれば、
同一の回路機能を満足しつつ回路規模の削減が図られた
DMAコントローラが構成される。
【図面の簡単な説明】
【図1】本発明のDMAコントローラの一実施例の構成
図である。
【図2】図1に示すDMAコントローラを用いて、図7
に示すように、メモリの、アドレス7000h以降のデ
ータを8000h以降に転送する場合のタイミングチャ
ートである。
【図3】互いに同一の回路機能を満たす、従来例と本発
明の一例との間の内部レジスタの規模の比較を示した図
である。
【図4】DMAコントローラを用いてメモリからI/O
にデータを転送する際のタイミングチャートの一例であ
る。
【図5】DMAコントローラを用いてメモリどうしの間
のデータ転送を行なう場合のタイミングチャートの一例
である。
【図6】DMAコントローラの構成図である。
【図7】メモリアドレス7000h以降に格納されてい
るデータを、メモリアドレス8000h以降に転送する
ことを示した模式図である。
【図8】図7に示す転送を、図6に示すDMAコントロ
ーラで実行する場合のタイミングチャートである。
【符号の説明】
40 加算器 50 インクリメンタ 60 一致検出回路 Areg 転送元アドレスレジスタ Creg 転送先アドレスレジスタ Ereg カウントレジスタ Greg カレントレジスタ
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭58−125129(JP,A) 特開 昭61−128355(JP,A) 特開 昭62−115563(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 13/28 310 G06F 13/30 G06F 13/32 G06F 13/34

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】 データ転送元もしくはデータ転送先の代
    表アドレスを表わすデータを格納するアドレスレジスタ
    と、 データの予定転送数を表わすデータを格納するカウント
    レジスタと、 現在迄のデータ転送数を表わすデータを格納するカレン
    トレジスタと、 前記アドレスレジスタに格納されたデータと前記カレン
    トレジスタに格納されたデータとに基づいて、次のデー
    タの転送元もしくは転送先のアドレスを生成するアドレ
    ス生成回路と、 データを転送する毎に前記カレントレジスタに格納され
    たデータを更新する転送数更新回路と、 前記カレントレジスタに格納されたデータに基づいて、
    前記予定転送数のデータの転送を判定する転送終了判定
    回路とを備えたことを特徴とするDMAコントローラ。
  2. 【請求項2】 前記アドレスレジスタが、データ転送元
    の代表アドレスを表わすデータを格納する転送元アドレ
    スレジスタと、データ転送先の代表アドレスを表わすデ
    ータを格納する転送先アドレスレジスタとの双方から成
    り、 前記アドレス生成回路が、前記転送元アドレスレジスタ
    に格納されたデータと前記カレントレジスタに格納され
    たデータとに基づいて、次のデータの転送元のアドレス
    を生成するとともに、前記転送先アドレスレジスタに格
    納されたデータと前記カレントレジスタに格納されたデ
    ータとに基づいて次のデータの転送先のアドレスを生成
    するものであることを特徴とする請求項1記載のDMA
    コントローラ。
JP07643495A 1995-03-31 1995-03-31 Dmaコントローラ Expired - Fee Related JP3355057B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP07643495A JP3355057B2 (ja) 1995-03-31 1995-03-31 Dmaコントローラ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP07643495A JP3355057B2 (ja) 1995-03-31 1995-03-31 Dmaコントローラ

Publications (2)

Publication Number Publication Date
JPH08272734A JPH08272734A (ja) 1996-10-18
JP3355057B2 true JP3355057B2 (ja) 2002-12-09

Family

ID=13605055

Family Applications (1)

Application Number Title Priority Date Filing Date
JP07643495A Expired - Fee Related JP3355057B2 (ja) 1995-03-31 1995-03-31 Dmaコントローラ

Country Status (1)

Country Link
JP (1) JP3355057B2 (ja)

Also Published As

Publication number Publication date
JPH08272734A (ja) 1996-10-18

Similar Documents

Publication Publication Date Title
KR900004006B1 (ko) 마이크로 프로세서 시스템
TW389903B (en) DRAM with integral SRAM and systems and methods using the same
EP1163598B1 (en) Microprocessing device having programmable wait states
EP0515165B1 (en) A Memory access device
EP0186006A2 (en) Multiprocessor system
US20050210221A1 (en) Microcomputer and microcomputer system
US4584642A (en) Logic simulation apparatus
JP2008181551A (ja) ベクトルレジスタを備えたコンピュータにおけるベクトルテールゲーティング
JPS5925254B2 (ja) デイジタル・デ−タ処理装置
JPS6235949A (ja) メモリ−装置
US4949242A (en) Microcomputer capable of accessing continuous addresses for a short time
JPS5837883A (ja) メモリ・アドレシング装置
US5586282A (en) Memory system employing pipeline process for accessing memory banks
JPH076122A (ja) データ要求方法とその装置
US5742842A (en) Data processing apparatus for executing a vector operation under control of a master processor
JP3355057B2 (ja) Dmaコントローラ
US20050198420A1 (en) Microcomputer minimizing influence of bus contention
US6377650B1 (en) Counter register monitor and update circuit for dual-clock system
JP2000298640A (ja) Dma装置
EP1071020A2 (en) Information processing system
WO2001025941A1 (en) Multiprocessor computer systems with command fifo buffer at each target device
US20020188771A1 (en) Direct memory access controller for carrying out data transfer by determining whether or not burst access can be utilized in an external bus and access control method thereof
JPH0212358A (ja) データ転送方式
JPH06301596A (ja) マイクロプロセッサ
JPH09311812A (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: 20020910

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080927

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080927

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090927

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100927

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110927

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees