JPH08272734A - Dmaコントローラ - Google Patents
DmaコントローラInfo
- Publication number
- JPH08272734A JPH08272734A JP7643495A JP7643495A JPH08272734A JP H08272734 A JPH08272734 A JP H08272734A JP 7643495 A JP7643495 A JP 7643495A JP 7643495 A JP7643495 A JP 7643495A JP H08272734 A JPH08272734 A JP H08272734A
- Authority
- JP
- Japan
- Prior art keywords
- data
- transfer
- address
- 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.)
- Granted
Links
Landscapes
- Bus Control (AREA)
Abstract
y Access)コントローラに関し、回路規模の縮
小化を図る。 【構成】現在迄のデータ転送数を表わすデータを格納す
るカレントレジスタを備え、アドレスを出力するにあた
っては、アドレスレジスタのデータとカレントレジスタ
のデータとに基づいて、アドレスを生成して出力する。
Description
モリどうし、I/Oどうし、あるいはメモリとI/Oと
の間でデータの転送を行なわせるDMA(Direct
Memory Access)コントローラに関す
る。
転送する場合にCPUを介在させると時間がかかるた
め、CPUを介在させずにそれらのメモリ、I/O間の
データ転送を行なわせるDMAコントローラが広く用い
られている。図4は、DMAコントローラを用いてメモ
リからI/Oにデータを転送する際のタイミングチャー
トの一例である。
タイミングでアドレスバスに転送元のメモリのアドレス
ADRを出力するとともに、転送先のI/Oに接続され
た、そのI/Oが転送先であることを表わすデータアク
ノリッジ信号DACKを出力する。次いで、クロックC
LKの次の立ち下がりT1 のタイミングで、I/Oにデ
ータを書き込むことを要求するI/Oライト信号IOW
R_ をアサート(‘L’レベル)する。これは、I/O
の方がデータのリード/ライトのための準備に時間を要
するためI/Oの方を先にアサートするものである。さ
らに、クロック信号の次の立ち下がりT2 のタイミング
でメモリからデータを読み出すことを指示するメモリリ
ード信号MRD_ をアサート(‘Lレベル)する。する
と、メモリの、指定されたアドレスからデータが読み出
されて、そのデータが、DACK信号により指定された
I/Oに格納される。クロックCLKの立ち下がりT3
のタイミングでDACK,IOWR_ ,MRD_ の各信
号がネゲートされ、データ転送サイクルが終了する。こ
の図4に示す転送方式は、ここの例では3つのクロック
パルスからなる1バスサイクルでデータ転送が終了する
ため、シングルバスサイクル転送と呼ばれている。
リどうしの間のデータ転送を行なう場合のタイミングチ
ャートの一例である。クロックCLKの立ち下がりT0
のタイミングで、アドレスバスに、メモリのどのアドレ
スのデータを転送するかを示す転送元アドレスが出力さ
れ、それとともにメモリリード信号MRD_ がアサート
される。するとデータバスに、メモリの転送元アドレス
のデータが出力される。このデータは、一旦、DMAコ
ントローラ内部のレジスタに格納される。
のタイミングで、アドレスバスに、メモリのどのアドレ
スにデータを転送するかを示す転送先アドレスが出力さ
れ、それとともに、メモリライト信号MWR_ がアサー
トされ、DMAコントローラ内部に一旦格納されたデー
タが、メモリの転送先アドレスに格納される。この図5
に示す転送方式は1クロックパルスからなる1バスサイ
クルを2つ使ってデータ転送が行なわれることから、2
バスサイクル転送と呼ばれる。
る。尚、これ以降は、特に断らない限り、2バスサイク
ル転送を中心に説明する。ここにはAレジスタAreg 〜
FレジスタFreg の、合計6個のレジスタが備えられて
いる。これらの各レジスタの役割は以下のとおりであ
る。 Areg :転送元のアドレスの初期値を記憶しておく転送
元アドレスレジスタ(初期値) Breg :転送元のアドレスの現在値を記憶しておく転送
元アドレスレジスタ(現在値) Creg :転送先のアドレスの初期値を記憶しておく転送
先アドレスレジスタ(初期値) Dreg :転送先のアドレスの現在値を記憶しておく転送
先アドレスレジスタ(現在値) Ereg :データをいくつ転送するかを表わす予定転送数
を記憶しておくカウントレジスタ(予定転送数) Freg :現在までの転送数を表わすデータを記憶してお
くカウンタレジスタ(現在値)。ここでは、直接的に
は、予定転送数から、現在までに転送されたデータの数
を差し引いた、残りの転送数を表す値が記憶され、これ
により、現在までの転送数が間接的に記憶されている。
ト信号S1′,S2′,S3′により各マルチプレクサ
MUX1_ ,MUX2_ MUX3_ がそれぞれAreg ,
Cre g ,Ereg を選択し、クロックCK1′,CK
2′,CK3が入力され、これにより、Areg ,C
reg ,Ereg の各値が、それぞれ、Breg ,Dreg ,F
reg に転送されている。
S1′,S2′により、マルチプレクサMUX1_ ,M
UX2_ がいずれもインクリメンタ/デクリメンタ10
の出力を繰返し選択し、セレクト信号S3′によりマル
チプレクサMUX3がデクリメンタ20の出力を選択す
る。こうしておいて、セレクト信号S4′によりBre g
を選択すると、Breg に格納された転送元アドレスがア
ドレスバスに出力され、それとともにインクリメンタ/
デクリメンタ10により転送元アドレスが1だけインク
リメントされてクロックCLK1′の入力によりBreg
に書き戻される。また、このとき、Freg に記憶された
値がデクリメンタ20により減算され、クロックCK
3′の入力によりFreg に書き戻される。
レクサMUX4がDreg を選択し、Dreg に格納された
転送先アドレスがアドレスバスに出力され、それととも
にインクリメンタ/デクリメンタ10により転送先アド
レスが1だけインクリメントされ、クロックCK2′の
入力によりDreg に書き戻される。零検出回路30は、
デクリメンタ20により1だけ減算された値が零か否
か、即ち、今DMAコントローラにフェッチされたデー
タの転送先アドレスへの格納が終了するとEregに記憶
された予定転送数だけ転送が行われることになるか否か
を検出するものであり、零を検出すると、最後のデータ
を転送先アドレスに送った段階で転送を終了する。この
DMAコントローラでは最後のデータを最終の転送先ア
ドレスに送った後、DMA転送動作が終了するが、次回
の転送のために、Areg ,Creg ,Ereg の内容をそれ
ぞれBreg ,Dreg ,Freg に自動的にコピーすること
も可能である。
格納されているデータ1,データ2,……を、メモリア
ドレス8000h以降に転送することを示した模式図、
図8は、図7に示す転送を図6に示すDMAコントロー
ラで実行する場合のタイミングチャートである。図8に
示すように、アドレスバスには、転送元アドレス700
0h,転送先アドレス8000h,転送元アドレス70
01h,転送先アドレス8001h,……が順次出力さ
れ、Breg ,Dreg の内容は順次インクリメントされ、
Freg の内容が順次デクリメントされている。
〜Freg の、合計6つのレジスタが使用されてDMA転
送が行われており、レジスタの数が多く、その分DMA
コントローラの回路規模が大きい。特に、1つのチップ
にコンピュータ機能を搭載した、いわゆる1チップマイ
コンを構築する場合等においては、同一の仕様を満足し
つついかにして回路規模を縮小するかが問題となる。
能を実現するとともに回路規模の縮小化が図られたDM
Aコントローラを提供することを目的とする。
明のDMAコントローラは、 (1)データ転送元もしくはデータ転送先の代表アドレ
スを表わすデータを格納するアドレスレジスタ (2)データの予定転送数を表わすデータを格納するカ
ウントレジスタ (3)現在迄のデータ転送数を表わすデータを格納する
カレントレジスタ (4)前記アドレスレジスタに格納されたデータと前記
カレントレジスタに格納されたデータとに基づいて、次
のデータの転送元もしくは転送先のアドレスを生成する
アドレス生成回路 (5)データを転送する毎に前記カレントレジスタに格
納されたデータを更新する転送数更新回路 (6)カレントレジスタに格納されたデータに基づい
て、予定転送数のデータの転送を判定する転送終了判定
回路 を備えたことを特徴とする。
(1)のアドレスレジスタが、データ転送元の代表アド
レスを表わすデータを格納する転送元アドレスレジスタ
と、データ転送先の代表アドレスを表わすデータを格納
する転送先アドレスレジスタとの双方から成り、上記
(4)のアドレス生成回路が、転送元アドレスレジスタ
に格納されたデータとカレントレジスタに格納されたデ
ータとに基づいて、次のデータの転送元のアドレスを生
成するとともに、転送先アドレスレジスタに格納された
データとカレントレジスタに格納されたデータとに基づ
いて次のデータの転送先のアドレスを生成するものであ
ってもよい。
おいて、Breg ,Dreg は、1ずつインクリメントさ
れ、Freg は1ずつデクリメントされるため、初期値と
の差の絶対値、すなわち|Areg の内容−Breg の内容
|,|Creg の内容−Dre g の内容|,|Ereg の内容
−Freg の内容|はいずれも等しい。したがって図6に
示すBreg ,Dreg ,Freg に代えて、データをいくつ
転送したかを示すカウンタを1個備えれば十分である。
成されたものであり、上記(3)のカレントレジスタに
現在迄のデータ転送数を表わすデータを格納しておき、
アドレスを出力するにあたっては、アドレスレジスタの
データとカレントレジスタのデータとに基づいて、アド
レスを生成して出力するようにしたものである。このア
ドレスを生成するアドレス生成回路は、例えば単純なア
ダー等で済み、もともと小規模の回路で済むとともに、
図6に示すインクリメンタ/デクリメンタ一個分とほぼ
同様の回路規模であり、このアドレス生成回路は、従来
と比べ回路規模の増大にはほとんど影響はない。上記
(5)の転送数更新回路は、図6に示すデクリメンタ2
0に相当し、上記(6)の転送終了判定回路は、図6に
示す零検出回路30に相当し、いずれも、従来と比べ回
路規模の増大にはならない。結局、図6に示すBreg ,
Dreg に相当するレジスタが削減された分、同一の回路
機能を実現しながら回路規模の削減が図られる。
スレジスタは、データ転送元もしくはデータ転送先の代
表アドレスを表わすデータを格納するものであればよ
く、データ転送元とデータ転送先との双方の代表アドレ
スを格納するものである必要はない。これは、図4を参
照して説明したシングルバスサイクル転送の場合、転送
元あるいは転送先のいずれか一方のアドレスを格納して
おけば十分であり、シングルバスサイクル転送専用のD
MAコントローラの場合、本発明の上記(1)の要件で
十分だからである。
1は、本発明のDMAコントローラの一実施例の構成
図、図2は、図1に示すDMAコントローラを用いて、
図7に示すように、メモリの、アドレス7000h以降
のデータをアドレス8000h以降に転送する場合のタ
イミングチャートである。
Creg ,EレジスタEreg ,およびGレジスタGreg の
4つのレジスタが備えられている。これらの各レジスタ
の役割りは以下のとおりである。 Areg :転送元のアドレスの初期値を記憶しておく転送
元アドレスレジスタ Creg :転送先のアドレスの初期値を記憶しておく転送
先アドレスレジスタ Ereg :データの予定転送数を表わすデータを格納する
カウントレジスタ Greg :現在迄のデータ転送数を表わすデータを格納す
るカレントレジスタ ここでは、転送開始に先立ってGreg にクリア信号CL
が入力されてそのままGreg が零にリセットされる。ま
た、ここでは、Areg ,Creg ,Ereg には、それぞ
れ、データラッチ信号G1,G2,G3が入力され、そ
のタイミングで転送元の初期アドレス7000h,転送
先の初期アドレス8000h,予定転送数が格納されて
いるものとする。
より、マルチプレクサMUXがAre g を選択し、Areg
に格納された転送元初期アドレス7000hが加算器/
減算器40に入力される。また加算器40にはGreg に
格納された現在までのデータ転送数を表わすデータ(こ
こでは零)も入力され、それらが加算されて、ここでは
7000hがアドレスバスに出力される。これによりメ
モリの7000hのデータがデータバスに出力されDM
Aコントローラ内の図示しないレジスタに一旦格納され
る。
択され、Creg に格納された転送先初期アドレス800
0hにGreg に格納された値(ここでは零)が加算され
てアドレスバスに出力され、このDMAコントローラに
一旦フェッチしたデータをその転送先アドレスに転送す
る。またこのときGreg の内容はインクリメンタ50に
て1だけインクリメントされて、クロックCLKの入力
によりGreg に書き戻される。また、これとともに、イ
ンクリメンタ50において1だけインクリメントされた
Greg の値が比較器60に入力され、その値がEreg の
内容(予定転送数)と一致するか否かが検出される。一
致していた場合、予定転送数だけデータ転送が行われた
ことになるため、転送を終了する。尚この比較器60
は、本発明にいう転送終了判定回路の一例に相当する。
従来例と本発明の一例との間の内部レジスタの規模の比
較を示した図である。ここでは、アドレスを記憶してお
く転送元アドレスレジスタ(初期値),転送元アドレス
レジスタ(現在値),転送先アドレスレジスタ(初期
値),転送先アドレスレジスタ(現在値)はいずれも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チャンネル等複数チャンネルを有して
おり、その場合、上記のゲート数にチャンネル数を掛け
算した分だけの回路規模となり、従来例と本発明例とで
はその差が一層顕著となる。
ついての例であるが、シングルバスサイクル転送のみの
単機能のDMAコントローラの場合であっても、本発明
の方が従来例よりも有利である。
同一の回路機能を満足しつつ回路規模の削減が図られた
DMAコントローラが構成される。
図である。
に示すように、メモリの、アドレス7000h以降のデ
ータを8000h以降に転送する場合のタイミングチャ
ートである。
明の一例との間の内部レジスタの規模の比較を示した図
である。
にデータを転送する際のタイミングチャートの一例であ
る。
のデータ転送を行なう場合のタイミングチャートの一例
である。
るデータを、メモリアドレス8000h以降に転送する
ことを示した模式図である。
ーラで実行する場合のタイミングチャートである。
Claims (2)
- 【請求項1】 データ転送元もしくはデータ転送先の代
表アドレスを表わすデータを格納するアドレスレジスタ
と、 データの予定転送数を表わすデータを格納するカウント
レジスタと、 現在迄のデータ転送数を表わすデータを格納するカレン
トレジスタと、 前記アドレスレジスタに格納されたデータと前記カレン
トレジスタに格納されたデータとに基づいて、次のデー
タの転送元もしくは転送先のアドレスを生成するアドレ
ス生成回路と、 データを転送する毎に前記カレントレジスタに格納され
たデータを更新する転送数更新回路と、 前記カレントレジスタに格納されたデータに基づいて、
前記予定転送数のデータの転送を判定する転送終了判定
回路とを備えたことを特徴とするDMAコントローラ。 - 【請求項2】 前記アドレスレジスタが、データ転送元
の代表アドレスを表わすデータを格納する転送元アドレ
スレジスタと、データ転送先の代表アドレスを表わすデ
ータを格納する転送先アドレスレジスタとの双方から成
り、 前記アドレス生成回路が、前記転送元アドレスレジスタ
に格納されたデータと前記カレントレジスタに格納され
たデータとに基づいて、次のデータの転送元のアドレス
を生成するとともに、前記転送先アドレスレジスタに格
納されたデータと前記カレントレジスタに格納されたデ
ータとに基づいて次のデータの転送先のアドレスを生成
するものであることを特徴とする請求項1記載のDMA
コントローラ。
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 true JPH08272734A (ja) | 1996-10-18 |
JP3355057B2 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) |
-
1995
- 1995-03-31 JP JP07643495A patent/JP3355057B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP3355057B2 (ja) | 2002-12-09 |
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 | |
JP2538067B2 (ja) | 条件書き込み手段を有するランダム・アクセス・メモリ回路 | |
JPH07282576A (ja) | Fifoモジュール | |
US4961161A (en) | Arithmetic processor performing mask and trap operations for exceptions | |
US4835684A (en) | Microcomputer capable of transferring data from one location to another within a memory without an intermediary data bus | |
US4584642A (en) | Logic simulation apparatus | |
JPS5925254B2 (ja) | デイジタル・デ−タ処理装置 | |
JPS6235949A (ja) | メモリ−装置 | |
JPH03149635A (ja) | メモリコントロールユニット | |
US4949242A (en) | Microcomputer capable of accessing continuous addresses for a short time | |
JPS5837883A (ja) | メモリ・アドレシング装置 | |
JPS61118850A (ja) | マイクロプロセツサ | |
US5586282A (en) | Memory system employing pipeline process for accessing memory banks | |
US7177966B2 (en) | Microcomputer minimizing influence of bus contention | |
JP3191302B2 (ja) | メモリ回路 | |
JPH10124447A (ja) | データ転送制御方法及び装置 | |
JP3355057B2 (ja) | Dmaコントローラ | |
US20020004861A1 (en) | DMA controller in which bus access ratio can be set | |
US6377650B1 (en) | Counter register monitor and update circuit for dual-clock system | |
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 | |
JPH0721103A (ja) | データ転送装置 | |
JPH09311812A (ja) | マイクロコンピュータ | |
TW317615B (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 |