JP2003228546A - ダイレクト・メモリ・アクセス制御装置 - Google Patents

ダイレクト・メモリ・アクセス制御装置

Info

Publication number
JP2003228546A
JP2003228546A JP2002026500A JP2002026500A JP2003228546A JP 2003228546 A JP2003228546 A JP 2003228546A JP 2002026500 A JP2002026500 A JP 2002026500A JP 2002026500 A JP2002026500 A JP 2002026500A JP 2003228546 A JP2003228546 A JP 2003228546A
Authority
JP
Japan
Prior art keywords
circuit
address
transfer
memory
data
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
JP2002026500A
Other languages
English (en)
Inventor
Daisuke Yamamoto
大介 山本
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2002026500A priority Critical patent/JP2003228546A/ja
Publication of JP2003228546A publication Critical patent/JP2003228546A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)

Abstract

(57)【要約】 【課題】 DMAアクセス時にCPUを動作可能として
CPUの処理能力の向上を図る。 【解決手段】 CPU27とDMA回路12で、メモリ
25,READ専用回路28およびWRITE専用回路
30をアクセスする構成において、メモリ25,REA
D専用回路28およびWRITE専用回路30にDMA
アクセス時にアドレスを与えるアドレスポインタ36,
37,38を設け、アドレスポインタ36,37,38
のアドレスとアドレスバス23のアドレスとを選択して
メモリ25,READ専用回路28およびWRITE専
用回路30に与えるセレクタ39,40,41を設け
る。CPU27とDMA回路12の同時アクセス時にデ
ータバス24を分割する制御回路33,34,35を設
ける。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ダイレクト・メモ
リ・アクセス転送を行うダイレクト・メモリ・アクセス
制御装置で、特にバーストモード転送時のCPUとダイ
レクト・メモリ・アクセス回路の並列動作技術に関する
ものである。
【0002】
【従来の技術】ダイレクト・メモリ・アクセス回路を使
用してダイレクト・メモリ・アクセス転送動作を行うも
のとしては図5に示すものが知られている。以下、従来
例を図面を参照して説明する。
【0003】図5に示すように、データの出力を行うメ
モリ1と、ダイレクト・メモリ・アクセス転送用のデー
タ出力を行うREAD専用回路(転送元回路)2と、ダ
イレクト・メモリ・アクセス転送用のデータ入力を行う
WRITE専用回路(転送先回路)3と、READ専用
回路2またはメモリ1から読み出したデータをWRIT
E専用回路3に書き込む制御を行うダイレクト・メモリ
・アクセス回路4と、データをメモリ1から読み出す制
御をするCPU5と、CPU動作とダイレクト・メモリ
・アクセス転送との動作を調停するための調停回路6で
構成されている。
【0004】CPU5は、ダイレクト・メモリ・アクセ
ス回路4からNBREQ信号7が入力されることでダイ
レクト・メモリ・アクセス転送の使用要求を受理し、ダ
イレクト・メモリ・アクセス転送の使用許可としてNB
ACK信号8をダイレクト・メモリ・アクセス回路4に
出力する。
【0005】ダイレクト・メモリ・アクセス回路4は、
ダイレクト・メモリ・アクセス転送の使用許可としてN
BACK信号8をCPU5から入力される。
【0006】CPU5はNBACK信号8を出力する
と、ダイレクト・メモリ・アクセス転送が開始されるた
めCPU動作は停止してしまう。
【0007】AはCPUまたはダイレクト・メモリ・ア
クセス回路4から出力されるアドレス、Dは調停回路6
からCPU5へ与えられるデータ、NRE_MEM信号
はメモリ1に対する読み出し信号、NRE_READ信
号はREAD専用回路2に対する読み出し信号、NWE
_WRITE信号はWRITE専用回路3に対する書き
込み信号である。9はアドレスバス、10はデータバス
である。
【0008】
【発明が解決しようとする課題】この装置では、CPU
5とそれによってアクセス可能なメモリ1、ダイレクト
・メモリ・アクセス回路とそれによってアクセス可能な
メモリ1、READ専用回路2、およびWRITE専用
回路3とが、共通のアドレスバス9およびデータバス1
0によって互いに結合されているのでCPU動作、ダイ
レクト・メモリ・アクセス転送のいずれかがバスの使用
権を占有することになる。
【0009】例えば、ダイレクト・メモリ・アクセス制
御している間は、アドレスバス9およびデータバス10
の使用権がダイレクト・メモリ・アクセス回路4に占有
されており、そのときCPU5はアドレスバス9および
データバス10を使用することができないため、CPU
5によるアドレスバス9およびデータバス10を使用し
た処理を行うことができない。
【0010】したがって、本発明の目的は、CPUの処
理効率を高めることができるダイレクト・メモリ・アク
セス制御装置を提供することである。
【0011】
【課題を解決するための手段】本発明の請求項1記載の
ダイレクト・メモリ・アクセス制御装置は、データの格
納を行うメモリと、データ出力を行う転送元回路と、デ
ータ入力を行う転送先回路と、ダイレクト・メモリ・ア
クセス回路と、メモリ用アドレスポインタ、転送元回路
用アドレスポインタおよび転送先回路用アドレスポイン
タと、メモリ、転送元回路および転送先回路を相互に接
続するアドレスバスおよびデータバスと、CPUと、調
停回路と、メモリ用セレクタ、転送元回路用セレクタお
よび転送先回路用セレクタとを備えている。
【0012】そして、ダイレクト・メモリ・アクセス回
路は、メモリに対してデータの書き込みを行うとともに
メモリからデータの読み出しを行い、転送元回路からデ
ータを読み出し、転送先回路へデータを書き込み、メモ
リ、転送元回路および転送先回路との間でデータのダイ
レクト・メモリ・アクセス転送を行わせる。
【0013】また、メモリ用アドレスポインタ、転送元
回路用アドレスポインタおよび転送先回路用アドレスポ
インタは、ダイレクト・メモリ・アクセス回路において
ダイレクト・メモリ・アクセス転送を行うときのメモ
リ、転送元回路および転送先回路の初期アドレスを格納
する。
【0014】また、CPUは、メモリに対してデータの
書き込みを行うとともにメモリからデータの読み出しを
行い、転送元回路からデータを読み出し、転送先回路へ
データを書き込み、ダイレクト・メモリ・アクセス回路
においてダイレクト・メモリ・アクセス転送を行うとき
のメモリ、転送元回路および転送先回路の初期アドレス
を、メモリ用アドレスポインタ、転送元回路用アドレス
ポインタおよび転送先回路用アドレスポインタに設定す
るとともに、アクセス動作が行われる毎にアドレスを所
定値ずつ増加させる。
【0015】また、調停回路は、CPUによるメモリ、
転送元回路および転送先回路に対するアクセスと、ダイ
レクト・メモリ・アクセス回路によるメモリ、転送元回
路および転送先回路に対するアクセスとを調停する。
【0016】また、メモリ用セレクタ、転送元回路用セ
レクタおよび転送先回路用セレクタは、メモリ用アドレ
スポインタ、転送元回路用アドレスポインタおよび転送
先回路用アドレスポインタから出力されるアドレスとC
PUからアドレスバスを通して与えられるアドレスとを
選択してメモリ、転送元回路および転送先回路にそれぞ
れ与える。
【0017】そして、メモリ用セレクタ、転送元回路用
セレクタおよび転送先回路用セレクタは、CPUによる
アクセス時にはアドレスバス上のアドレスを選択し、ダ
イレクト・メモリ・アクセス回路によるアクセス時には
メモリ用アドレスポインタ、転送元回路用アドレスポイ
ンタおよび転送先回路用アドレスポインタのアドレスを
それぞれ選択するようにしている。
【0018】この構成によれば、メモリ用アドレスポイ
ンタ、転送元回路用アドレスポインタおよび転送先回路
用アドレスポインタと、メモリ用セレクタ、転送元回路
用セレクタおよび転送先回路用セレクタとを設けている
ので、ダイレクト・メモリ・アクセス回路により転送元
回路から転送先回路へデータ転送を行うときに、それに
先立ってCPUから転送元回路用アドレスポインタおよ
び転送先回路用アドレスポインタに対して、初期アドレ
スを設定し、転送元回路用セレクタおよび転送先回路用
セレクタで転送元回路用アドレスポインタおよび転送先
回路用アドレスポインタを選択することで、ダイレクト
・メモリ・アクセス回路によるアクセス時において、ア
ドレスバスを使用しなくてもよくなる。その結果、ダイ
レクト・メモリ・アクセス回路によるアクセス時におい
て、CPUはアドレスバスを用いた処理を行うことが可
能となる。したがって、CPU全体として処理能力の向
上を図ることができる。
【0019】本発明の請求項2記載のダイレクト・メモ
リ・アクセス制御装置は、請求項1記載のダイレクト・
メモリ・アクセス制御装置において、CPUのアクセス
とダイレクト・メモリ・アクセス回路によるアクセスの
同時実行時に所定のビット幅のデータバスをCPUとダ
イレクト・メモリ・アクセス回路とで所定ビット幅ずつ
に分割して使用し、ダイレクト・メモリ・アクセス回路
のアクセスのみの実行時にデータバスをダイレクト・メ
モリ・アクセス回路で全ビット幅を単独で使用するよう
にデータバスを制御するメモリ用データバス制御回路、
転送元回路用データバス制御回路および転送先回路用デ
ータバス制御回路を、メモリ、転送元回路および転送先
回路にそれぞれ設けている。
【0020】この構成によれば、CPUとダイレクト・
メモリ・アクセス回路の両方が動作するときに、CPU
とダイレクト・メモリ・アクセス回路とでデータバスを
分割して使用することができるため、ダイレクト・メモ
リ・アクセス回路のアクセス時にCPUでアドレスバス
の他にデータバスも一部使用可能であり、CPU全体と
して処理能力のさらなる向上を図ることができる。
【0021】
【発明の実施の形態】以下、本発明の実施の形態を図面
を参照して説明する。
【0022】図1は、本発明の実施の形態におけるダイ
レクト・メモリ・アクセス制御装置のブロック図を示し
ている。
【0023】このダイレクト・メモリ・アクセス制御装
置は、図1に示すように、データの格納を行うメモリ2
5と、データ出力要求信号を出力するとともにデータ出
力を行うREAD専用回路(転送元回路)28と、デー
タ入力要求信号を出力するとともにデータ入力を行うW
RITE専用回路(転送先回路)30と、ダイレクト・
メモリ・アクセス回路12と、メモリ25用のアドレス
ポインタ36と、READ専用回路28用のアドレスポ
インタ37と、WRITE専用回路30用のアドレスポ
インタ38と、メモリ25、READ専用回路28およ
びWRITE専用回路30を相互に接続するアドレスバ
ス23およびデータバス24と、CPU27と、調停回
路11と、メモリ25用のセレクタ39、READ専用
回路28用のセレクタ40と、WRITE専用回路30
用のセレクタ41と、メモリ25用の制御回路33と、
READ専用回路28用の制御回路34と、WRITE
専用回路30用の制御回路35とを備えている。
【0024】そして、ダイレクト・メモリ・アクセス回
路12は、メモリ25に対してデータの書き込みを行う
とともにメモリ25からデータの読み出しを行い、RE
AD専用回路28からデータを読み出し、WRITE専
用回路30へデータを書き込み、メモリ25、READ
専用回路28およびWRITE専用回路30との間でデ
ータのダイレクト・メモリ・アクセス転送を行わせる。
【0025】また、メモリ25用のアドレスポインタ3
6、READ専用回路28用のアドレスポインタ37お
よびWRITE専用回路30用のアドレスポインタ38
は、ダイレクト・メモリ・アクセス回路12においてダ
イレクト・メモリ・アクセス転送を行うときのメモリ2
5、READ専用回路28およびWRITE専用回路3
0の初期アドレスを格納し、アクセス動作が行われる毎
にアドレスを例えば+2ずつ増加させる機能を有する。
【0026】また、CPU27は、メモリ25に対して
データの書き込みを行うとともにメモリ25からデータ
の読み出しを行い、READ専用回路28からデータを
読み出し、WRITE専用回路30へデータを書き込
み、ダイレクト・メモリ・アクセス回路12においてダ
イレクト・メモリ・アクセス転送を行うときのメモリ2
5、READ専用回路28およびWRITE専用回路3
0の初期アドレスを、メモリ25用アドレスポインタ、
READ専用回路28用アドレスポインタおよびWRI
TE専用回路30用アドレスポインタに設定する。
【0027】また、調停回路11は、CPU27による
メモリ25、READ専用回路28およびWRITE専
用回路30に対するアクセスと、ダイレクト・メモリ・
アクセス回路12によるメモリ25、READ専用回路
28およびWRITE専用回路30に対するアクセスと
を調停する。
【0028】また、メモリ25用のセレクタ39、RE
AD専用回路28用のセレクタ40およびWRITE専
用回路30用のセレクタ41は、メモリ25用のアドレ
スポインタ36、READ専用回路28用のアドレスポ
インタ37およびWRITE専用回路30用のアドレス
ポインタ38から出力されるアドレスとCPU27から
アドレスバス23を通して与えられるアドレスとを選択
してメモリ25、READ専用回路28およびWRIT
E専用回路30にそれぞれ与える。
【0029】そして、セレクタ39、セレクタ40およ
びセレクタ41は、CPU27によるアクセス時にはア
ドレスバス23上のアドレスを選択し、ダイレクト・メ
モリ・アクセス回路12によるアクセス時にはアドレス
ポインタ36、アドレスポインタ37およびアドレスポ
インタ38のアドレスをそれぞれ選択するようにしてい
る。
【0030】また、メモリ25用のデータバスの制御回
路33、READ専用回路28用のデータバスの制御回
路34およびWRITE専用回路30用のデータバスの
制御回路35は、メモリ25、READ専用回路28お
よびWRITE専用回路30のデータの入出力部にそれ
ぞれ設けられていて、CPU27のアクセスとダイレク
ト・メモリ・アクセス回路12によるアクセスの同時実
行時に所定のビット幅、例えば16ビット幅のデータバ
ス24をCPU27とダイレクト・メモリ・アクセス回
路とで所定ビット幅ずつ、例えば8ビット幅ずつに分割
して使用し、ダイレクト・メモリ・アクセス回路12の
アクセスのみの実行時にデータバス24をダイレクト・
メモリ・アクセス回路12で全ビット幅を単独で使用す
るようにデータバス24を制御する。
【0031】この構成によれば、メモリ25用のアドレ
スポインタ36、READ専用回路28用のアドレスポ
インタ37およびWRITE専用回路30用のアドレス
ポインタ38と、メモリ25用のセレクタ39、REA
D専用回路28用のセレクタ40およびWRITE専用
回路30用のセレクタ41とを設けているので、ダイレ
クト・メモリ・アクセス回路12によりREAD専用回
路28からWRITE専用回路30へデータ転送を行う
ときに、それに先立ってCPU27からREAD専用回
路28用のアドレスポインタ37およびWRITE専用
回路30用のアドレスポインタ38に対して、初期アド
レスを設定し、READ専用回路28用のセレクタ40
およびWRITE専用回路30用のセレクタ41でRE
AD専用回路28用のアドレスポインタ37およびWR
ITE専用回路30用のアドレスポインタ38を選択す
ることで、ダイレクト・メモリ・アクセス回路12によ
るアクセス時において、アドレスバス23を使用しなく
てもよくなる。その結果、ダイレクト・メモリ・アクセ
ス回路12によるアクセス時において、CPU27はア
ドレスバス23を用いた処理を行うことが可能となる。
したがって、CPU27全体として処理能力の向上を図
ることができる。
【0032】また、CPU27とダイレクト・メモリ・
アクセス回路12の両方が動作するときに、CPU27
とダイレクト・メモリ・アクセス回路12とでデータバ
ス24を分割して使用することができるため、ダイレク
ト・メモリ・アクセス回路12のアクセス時にCPU2
7でアドレスバス23の他にデータバス24も一部使用
可能であり、CPU27全体として処理能力のさらなる
向上を図ることができる。
【0033】以下、本発明の実施の形態についてさらに
詳しく説明する。図1に示すように、調停回路11は、
ダイレクト・メモリ・アクセス回路12から使用要求信
号であるNBREQ信号13が入力されることでダイレ
クト・メモリ・アクセス転送の使用要求を受理し、ダイ
レクト・メモリ・アクセス転送の使用許可として使用許
可信号であるNBACK信号14をダイレクト・メモリ
・アクセス回路12に出力する。
【0034】調停回路11は、ダイレクト・メモリ・ア
クセス転送の使用許可としてNBACK信号14をダイ
レクト・メモリ・アクセス回路12に出力する際、CP
U27の動作を停止させるウェイト信号であるWAIT
信号15をCPU27に対し出力する。
【0035】CPU27はメモリアクセスに必要となる
アドレスA16、メモリ25の読み出し信号であるNR
E_MEM信号17を調停回路11に対し出力し、デー
タD19が調停回路11から入力される。
【0036】ダイレクト・メモリ・アクセス回路12
は、ダイレクト・メモリ・アクセス転送時に使用するメ
モリ25およびREAD専用回路28の読み出し信号で
あるNRE_MEM信号21、NRE_READ信号2
2、WRITE専用回路30の書き込み信号であるNR
E_WRITE信号18を調停回路11に対し出力す
る。また、セレクタ39,40,41に対してセレクト
信号42,43,44を出力する。
【0037】調停回路11は、CPU27とダイレクト
・メモリ・アクセス回路12から入力されたメモリアク
セス信号の調停を行い、アドレスバス23の出力、デー
タバス24の入出力を行う。また、メモリ25に対しデ
ータの読み出し信号であるNRE_MEM信号26を出
力し、READ専用回路28に対しデータの読み出し信
号であるNRE_READ信号29を出力し、WRIT
E専用回路30に対しては、データの書き込み信号であ
るNWE_WRITE信号31を出力する。
【0038】また、調停回路11は、データバス24に
おける16bit幅のデータを例えば、上位8bit、
下位8bitのように分割するための制御信号であるC
TRL信号32を制御回路33,34,35に対し出力
する。
【0039】アドレスポインタ36,37,38は、そ
れぞれダイレクト・メモリ・アクセス回路12がデータ
転送を行うアドレスを記憶し、セレクタ39,40,4
1に対し記憶したアドレス値を出力し、そこで、アドレ
スバス23との選択がセレクト信号42,43,44に
より行われ、メモリ25、READ専用回路28および
WRITE専用回路30に対しアドレスが出力される。
【0040】また、アドレスポインタ36,37,38
に格納されているアドレスは、ダイレクト・メモリ・ア
クセス回路12がメモリ25、READ専用回路28お
よびWRITE専用回路30に対して読み出しあるいは
書き込みアクセスを行う度にインクリメントされる。
【0041】メモリ25は、調停回路11から読み出し
信号であるNRE_MEM信号26が入力されるととも
に、セレクタ39からアドレスが入力され、そのアドレ
スに応じて読み出したデータを制御回路33に出力す
る。
【0042】同様に、READ専用回路28も、調停回
路11から読み出し信号であるNRE_READ信号2
9を受け取るとともに、セレクタ40からアドレスを受
け取り、データを制御回路34に出力する。
【0043】また、WRITE専用回路30は、調停回
路11から書き込み信号であるNWE_WRITE信号
31が入力されるとともに、セレクタ41からアドレス
が入力され、データを書き込む。
【0044】本発明では、ダイレクト・メモリ・アクセ
ス転送モードはバーストモードの転送限定とする。バー
ストモードとは、データの転送における転送モードの一
種で、ある連続した複数のアドレスをまとめて連続して
転送するモードのことをいう。
【0045】このような構成をもつダイレクト・メモリ
・アクセス制御装置について、(1)CPU27のみが
動作し、メモリ25に読み出しアクセスする場合(ダイ
レクト・メモリ・アクセス転送は実施しない)、(2)
CPU27およびダイレクト・メモリ・アクセス回路1
2がともにメモリ25に読み出しアクセスする場合、
(3)ダイレクト・メモリ・アクセス回路12が、RE
AD専用回路28からWRITE専用回路30にダイレ
クト・メモリ・アクセス転送を実施し、CPU27がメ
モリ25に読み出しアクセスする場合に分けてその動作
の一例を図1から図4を用いて説明する。
【0046】(1)CPU27のみが動作し、メモリ2
5に読み出しアクセスする場合(ダイレクト・メモリ・
アクセス転送は実施しない) 以下、図1を用いて説明する。
【0047】まず、CPU27は、読み出し信号である
NRE_MEM信号17を調停回路11に出力する。こ
の場合、ダイレクト・メモリ・アクセス回路12からの
読み出し信号であるNRE_MEM信号21、NRE_
READ信号22は出力されていないため、調停回路1
1は、CPU27から出力されたNRE_MEM信号1
7をメモリ25に出力する。
【0048】また、CPU27はアドレスA16をアド
レスバス23上に出力し、このアドレスA16は調停回
路11を介しセレクタ39で選択され、メモリ25に出
力される。
【0049】メモリ25は、セレクタ39から出力され
るアドレスと、調停回路11から出力される読み出し信
号であるNRE_MEM信号26を受け、所定のデータ
を制御回路33に出力する。
【0050】制御回路33はメモリ25から出力された
データを受け取り、この場合は、16bitバス幅デー
タをデータバス24に出力する。
【0051】制御回路33から出力されたデータはデー
タバス24を介して調停回路11に出力され、CPU2
7にデータD19として取り込まれる。
【0052】(2)CPU27およびダイレクト・メモ
リ・アクセス回路12がともにメモリ25に読み出しア
クセスする場合 図2のようにダイレクト・メモリ・アクセス回路12が
“00”〜“10”のアドレスに格納されているデータ
“aabb”〜“kkll”を、“100”〜“11
0”のアドレスに転送しCPU27がアドレス“11”
以降をアクセスする場合を例にとり説明する。その時の
動作をタイミング図3を使って説明する。なお、図2
で、CPU動作とは、ダイレクト・メモリ・アクセス転
送が割り込んでこない、CPUのみが動作している状態
を意味する。
【0053】図3において、CLOCKはクロックを示
し、NBREQ_DMAはNBREQ信号13を示し、
NBACK_DMAはNBACK信号14を示し、A1
6はアドレスA16を示し、アドレスポインタ36はア
ドレスポインタ36の内容を示し、アドレスポインタ3
8はアドレスポインタ38の内容を示し、NRE_CP
UはNRE_MEM信号17を示し、NRE_DMAは
NRE_MEM信号21を示し、NRE_MEMはNR
E_MEM信号26を示し、WAITはWAIT信号1
5を示し、データバスはデータバス24上のデータを示
し、NWE_WRITEはNWE_WRITE信号31
を示している。
【0054】まず、CPU27は、ダイレクト・メモリ
・アクセス転送時の転送元アドレスの初期値“00”を
アドレスポインタ36に、転送先アドレスの初期値“1
00”をアドレスポインタ38に格納する。
【0055】ダイレクト・メモリ・アクセス転送用のア
ドレスの格納が終了すると、CPU27は、読み出しア
ドレス“16”をアドレスA16に、読み出し信号であ
るNRE_MEM信号17を調停回路11に出力する。
【0056】調停回路11は、アドレスバス23を介し
てセレクタ39にアドレス“16”を出力し、同時に読
み出し信号であるNRE_MEM信号26をメモリ25
に出力する。
【0057】セレクタ39は、CPU27の読み出しア
クセスを行っているため、アドレスバス23を選択し、
メモリ25にアドレス“16”を出力する。
【0058】メモリ25は、読み出し信号であるRE_
MEM信号26が入力されると、セレクタ39の出力で
あるアドレス“16”に対応した読み出しデータ“AA
BB”をCPU27に出力する。
【0059】つぎに、CPU27は、CPU動作用のア
ドレス“18”の読み出しアクセスを行う。
【0060】ここで、ダイレクト・メモリ・アクセス転
送の使用要求が発生した場合、ダイレクト・メモリ・ア
クセス回路12はNBREQ信号13を調停回路11に
出力する。
【0061】調停回路11はCPU動作用のアドレス
“18”の読み出しアクセスが終了すると、ダイレクト
・メモリ・アクセス転送の使用許可としてNBACK信
号14をダイレクト・メモリ・アクセス回路12に出力
する。
【0062】ダイレクト・メモリ・アクセス回路12
は、転送許可信号を受け取るとダイレクト・メモリ・ア
クセス転送を開始し、読み出し信号であるNRE_ME
M信号21を調停回路11に出力する。
【0063】調停回路11は、CPU27からの読み出
し信号であるNRE_MEM信号17と、ダイレクト・
メモリ・アクセス回路12からの読み出し信号であるN
RE_MEM信号21が同時に入力されたため、CPU
読み出しアクセスを停止させるWAIT信号15をCP
U27に対し出力する。
【0064】これにより、CPU27のアドレス“2
0”の読み出しアクセスは、WAIT信号15が解除さ
れるまで停止する。
【0065】同時に調停回路11は、ダイレクト・メモ
リ・アクセス回路12から読み出し信号であるNRE_
MEM信号21が入力されたため、ダイレクト・メモリ
・アクセス回路12は、ダイレクト・メモリ・アクセス
転送が行われるセレクタ39に対しアドレスポインタ3
6の出力を選択するセレクト信号42を出力する。ま
た、読み出し信号であるNRE_MEM信号26がメモ
リ25へ与えられる。
【0066】同様に書き込み信号であるNWE_WRI
TE信号18が入力されたため、ダイレクト・メモリ・
アクセス回路12は、セレクタ41に対しアドレスポイ
ンタ38を選択するセレクト信号44を出力する。
【0067】メモリ25は、読み出し信号であるNRE
_MEM信号26と、セレクタ39からダイレクト・メ
モリ・アクセス転送用のアドレス“00”が入力される
と、そのアドレスに対応したデータ“aabb”が制御
回路33に出力され、データバス24に出力される。
【0068】同時にWRITE専用回路30は、書き込
み信号であるWE_WRITE信号31が入力される
と、セレクタ41からダイレクト・メモリ・アクセス転
送先アドレス“100”を受け取り、データバス24上
のデータ“aabb”が書き込まれる。
【0069】アドレスポインタ36,38に格納されて
いるアドレス“00”、“100”は、ダイレクト・メ
モリ・アクセス回路12の読み出し信号であるNRE_
MEM26、および書き込み信号であるNWE_WRI
TE信号31の立ち上がりで“+2”インクリメントさ
れ、それぞれ“02”、“102”となる。
【0070】その後、上記と同様の動作を行い、所定の
アドレス“00”〜“10”のデータ転送が完了するま
で(データ“kkll”が読み出されるまで)続けられ
る。
【0071】データ転送が完了すると、ダイレクト・メ
モリ・アクセス転送要求信号であるNBREQ信号13
は“H”になり、これにより、調停回路11はNBAC
K信号14を“H”に戻しダイレクト・メモリ・アクセ
ス転送動作は完了する。
【0072】同時にCPU27に出されるWAIT信号
15も“L”となり、CPU27のアドレス“20”の
読み出しアクセスが再び再開され、アドレス“20”に
応じた読み出しデータ“EEFF”がデータバス24に
出力される。
【0073】その後、CPU27はアドレス“22”、
“24”と順にメモリ25への読み出しを実行する。
【0074】(3)ダイレクト・メモリ・アクセス回路
12が、READ専用回路28からWRITE専用回路
30にダイレクト・メモリ・アクセス転送を実施し、C
PU27がメモリ25に読み出しアクセスする場合 図2のように“00”〜“10”のアドレスに格納され
ているデータ“aabb”〜“kkll”を、“10
0”〜“110”のアドレスに格納するダイレクト・メ
モリ・アクセス転送について、また、CPU27はアド
レス11以降をアクセスする場合を例により説明する。
その時の動作をタイミング図4を使って説明する。
【0075】上記の記載は、CPU動作とダイレクト・
メモリ・アクセス転送が同時に実施できる場合について
説明をしたものである。メモリ動作とダイレクト・メモ
リ・アクセス転送とは個別に動作している。CPU動作
はメモリ25を使用し、ダイレクト・メモリ・アクセス
転送はREAD専用回路28とWRITE専用回路30
を使用している。
【0076】図4において、CLOCKはクロックを示
し、NBREQ_DMAはNBREQ信号13を示し、
NBACK_DMAはNBACK信号14を示し、アド
レスポインタ37はアドレスポインタ37の内容を示
し、アドレスポインタ38はアドレスポインタ38の内
容を示し、アドレスポインタ36はアドレスポインタ3
6の内容を示し、NRE_MEMはNRE_MEM信号
26を示し、NRE_READはNRE_READ信号
22(29)を示し、NWE_WRITEはNWE_W
RITE信号18(31)を示し、データバスはデータ
バス24のデータを示している。
【0077】まず、CPU27は、ダイレクト・メモリ
・アクセス転送時の転送元アドレスの初期値“00”を
アドレスポインタ37に、転送先アドレスの初期値“1
00”をアドレスポインタ38に格納する。
【0078】ここで、図2のメモリのダイレクト・メモ
リ・アクセス転送のアドレス“00”〜“10”はRE
AD専用回路28のメモリアドレスであり、CPU動作
のアドレス“12”〜“50”はメモリ25のメモリア
ドレスである。
【0079】ダイレクト・メモリ・アクセス転送用のア
ドレスの格納が終了すると、CPU27は、読み出しア
ドレス“16”をアドレスA16に出力し、読み出し信
号であるNRE_MEM信号17を調停回路11に出力
する。
【0080】調停回路11は、セレクタ39にアドレス
“16”を出力し、同時に読み出し信号であるNRE_
MEM信号26をメモリ25に出力する。
【0081】セレクタ39は、CPU27の読み出しア
クセスを行っているため、アドレスバス23を選択し、
メモリ25にアドレス“16”を出力する。
【0082】メモリ25は、読み出し信号であるRE_
MEM信号26が入力されると、セレクタ39の出力で
あるアドレス“16”に対応した読み出しデータ“AA
BB”をCPU27に出力する。
【0083】つぎに、CPU27は、CPU動作用のア
ドレス“18”の読み出しアクセスを行う。
【0084】ここで、ダイレクト・メモリ・アクセス転
送の使用要求が発生した場合、ダイレクト・メモリ・ア
クセス回路12はNBREQ信号13を調停回路11に
出力する。
【0085】調停回路11はCPU動作用のアドレス
“18”の読み出しアクセスが終了すると、ダイレクト
・メモリ・アクセス転送の使用許可としてNBACK信
号14をダイレクト・メモリ・アクセス回路12に出力
する。
【0086】ダイレクト・メモリ・アクセス回路12
は、転送許可信号であるNBACK信号14を受け取る
と、ダイレクト・メモリ・アクセス転送を開始し、読み
出し信号であるNRE_READ信号22を調停回路1
1に出力する。
【0087】CPU27は、読み出しアドレス“20”
をアドレスA16に、読み出し信号であるNRE_ME
M信号17を調停回路11に出力する。
【0088】調停回路11は、ダイレクト・メモリ・ア
クセス回路12から読み出し信号であるNRE_REA
D信号22が入力されたため、ダイレクト・メモリ・ア
クセス転送が行われるセレクタ40に対しアドレスポイ
ンタ37の出力を選択するセレクト信号43を出力し、
CPU27から読み出し信号であるNRE_MEM信号
17が入力されたため、セレクタ39に対し、CPU2
7からのアドレスA16の出力を選択するセレクト信号
42を出力する。
【0089】なお、図4において、アドレス“16”〜
“18”はCPU動作であり、アドレス“18”の際に
ダイレクト・メモリ・アクセス転送が割り込む。そのた
め、アドレス“18”の後にダイレクト・メモリ・アク
セス転送のアドレス“00”〜“10”が入る。その
後、CPU27の動作に再び復帰するため、アドレス
“18”のつぎのアドレス“20”が入る。
【0090】同様に書き込み信号であるNWE_WRI
TE信号18が入力されたため、セレクタ41に対しア
ドレスポインタ38を選択するセレクト信号44を出力
する。
【0091】READ専用回路28は、読み出し信号で
あるNRE_READ信号29が入力され、セレクタ4
0からダイレクト・メモリ・アクセス転送用のアドレス
“00”が入力されると、そのアドレスに対応したデー
タ“aabb”が制御回路34に出力される。
【0092】なお、図2のメモリのダイレクト・メモリ
・アクセス転送部分のアドレス“00”〜“10”はR
EAD専用回路28のメモリである。
【0093】同様にメモリ25は、読み出し信号である
RE_MEM信号26が入力されるとともに、セレクタ
39からアドレス“20”が入力されると、そのアドレ
スに対応したデータ“EEFF”が制御回路33に出力
される。
【0094】制御回路33,34は、16bit幅のデ
ータバス24の上位8bitをダイレクト・メモリ・ア
クセス転送用として、下位8bitをCPU動作用とし
てCTRL信号32により分割する。
【0095】なお、制御回路33〜35は以下のような
データバスの分割動作を行う。CTRL信号32により
上位側と下位側に分割して制御回路33〜35からデー
タバス24に出力する。例えばCTRL信号32が出力
されると、制御回路33〜35でダイレクト・メモリ・
アクセス転送用のデータは、上位8bitを使用し、C
PU動作用のデータは下位8bitを使用するというよ
うに分割する。
【0096】そのため、制御回路33はデータ“EE”
をデータバス24の下位8bitに出力し、制御回路3
4はデータ“aa”をデータバス24の上位8bitに
出力する。残りのデータは次の処理にまわされる。つま
り、制御回路33〜35で8bit幅に選択された場合
は、8bit毎のデータに分割するようにする。
【0097】同時にWRITE専用回路30は、書き込
み信号であるNWE_WRITE信号31が入力される
と、セレクタ41からダイレクト・メモリ・アクセス転
送先アドレス“100”を受け取り、データバス24上
の上位8bitのデータ“aa”が書き込まれる。この
とき、CPU27はデータバス24上の下位8bitの
データ“EE”を取り込む。
【0098】ダイレクト・メモリ・アクセス回路12が
データ“bb”を転送し、CPU27がデータ“FF”
をアクセスするときの動作も、データ“aa”とデータ
“EE”と同様である。つまり、制御回路33はデータ
“FF”をデータバス24の下位8bitに出力士、制
御回路34はデータ“bb”をデータバス24の上位8
bitに出力する。
【0099】アドレスポインタ36,37,38に格納
されているアドレス“00”、“20”、“100”
は、ダイレクト・メモリ・アクセス回路12の読み出し
信号であるNRE_MEM信号26(この場合、NRE
_MEM信号21を含む)、読み出し信号であるNRE
_READ信号29、および書き込み信号NWE_WR
ITE31の立ち上がりで“+2”インクリメントさ
れ、それぞれ“02”、“102”となる。ただし、デ
ータバス24をメモリ動作とダイレクト・メモリ・アク
セス転送とに分割して使用する場合は、インクリメント
を“+1”にする。したがって、それぞれ“01”,
“101”となる。
【0100】その後、上記と同様の動作を行い、所定の
アドレス“00”〜“10”のデータ転送が完了するま
で続けられる。
【0101】データ転送が完了すると、ダイレクト・メ
モリ・アクセス転送要求信号であるNBREQ信号13
は“H”になり、これにより、調停回路11はNBAC
K信号14を“H”に戻しダイレクト・メモリ・アクセ
ス転送動作は完了する。
【0102】同時にデータバス24の16bit幅すべ
てがCPU動作で使用することとなり、CPU27のア
ドレス“32”から再開され、アドレス“32”に応じ
た読み出しデータ“QQRR”がデータバス24に出力
される。
【0103】その後、CPU27はアドレス“34”、
“36”と順にメモリ25への読み出しを実行する。
【0104】
【発明の効果】以上のように、請求項1記載のダイレク
ト・メモリ・アクセス制御装置によれば、メモリ用アド
レスポインタ、転送元回路用アドレスポインタおよび転
送先回路用アドレスポインタと、メモリ用セレクタ、転
送元回路用セレクタおよび転送先回路用セレクタとを設
けているので、ダイレクト・メモリ・アクセス回路によ
り転送元回路から転送先回路へデータ転送を行うとき
に、それに先立ってCPUから転送元回路用アドレスポ
インタおよび転送先回路用アドレスポインタに対して、
初期アドレスを設定し、転送元回路用セレクタおよび転
送先回路用セレクタで転送元回路用アドレスポインタお
よび転送先回路用アドレスポインタを選択することで、
ダイレクト・メモリ・アクセス回路によるアクセス時に
おいて、アドレスバスを使用しなくてもよくなる。その
結果、ダイレクト・メモリ・アクセス回路によるアクセ
ス時において、CPUはアドレスバスを用いた処理を行
うことが可能となる。したがって、CPU全体として処
理能力の向上を図ることができる。
【0105】また、請求項2記載のダイレクト・メモリ
・アクセス制御装置によれば、CPUとダイレクト・メ
モリ・アクセス回路の両方が動作するときに、CPUと
ダイレクト・メモリ・アクセス回路とでデータバスを分
割して使用することができるため、ダイレクト・メモリ
・アクセス回路のアクセス時にCPUでアドレスバスの
他にデータバスも一部使用可能であり、CPU全体とし
て処理能力のさらなる向上を図ることができる。
【図面の簡単な説明】
【図1】本発明の実施の形態におけるダイレクト・メモ
リ・アクセス制御装置を示すブロック図である。
【図2】本発明の実施の形態におけるダイレクト・メモ
リ・アクセス制御装置のメモリ格納構成の一例を示す模
式図である。
【図3】本発明の実施の形態におけるダイレクト・メモ
リ・アクセス制御装置の動作タイミングの一例を示すタ
イミング図である。
【図4】本発明の実施の形態におけるダイレクト・メモ
リ・アクセス制御装置の動作タイミングの一例を示すタ
イミング図である。
【図5】従来のダイレクト・メモリ・アクセス制御装置
の構成を示すブロック図である。
【符号の説明】
1 メモリ 2 READ専用回路 3 WRITE専用回路 4 ダイレクト・メモリ・アクセス回路 5 CPU 6 調停回路 7 NBREQ信号 8 NBACK信号 11 調停回路 12 ダイレクト・メモリ・アクセス回路 13 NBREQ信号 14 NBACK信号 15 WAIT信号 16,20 アドレスA 17,21,26 RE_MEM信号 18,31 NWE_WRITE信号 19 データD 22,29 RE_READ信号 23 アドレスバス 24 データバス 25 メモリ 27 CPU 28 READ専用回路 30 WRITE専用回路 32 CTRL信号 33,34、35 制御回路 36,37,38 アドレスポインタ 39,40,41 セレクタ

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 データの格納を行うメモリと、 データ出力を行う転送元回路と、 データ入力を行う転送先回路と、 前記メモリに対してデータの書き込みを行うとともに前
    記メモリからデータの読み出しを行い、前記転送元回路
    からデータを読み出し、前記転送先回路へデータを書き
    込み、前記メモリ、前記転送元回路および前記転送先回
    路との間でデータのダイレクト・メモリ・アクセス転送
    を行わせるダイレクト・メモリ・アクセス回路と、 前記ダイレクト・メモリ・アクセス回路においてダイレ
    クト・メモリ・アクセス転送を行うときの前記メモリ、
    前記転送元回路および前記転送先回路の初期アドレスを
    格納するとともに、アクセス動作が行われる毎にアドレ
    スを所定値ずつ増加させるメモリ用アドレスポインタ、
    転送元回路用アドレスポインタおよび転送先回路用アド
    レスポインタと、 前記メモリ、前記転送元回路および前記転送先回路を相
    互に接続するアドレスバスおよびデータバスと、 前記メモリに対してデータの書き込みを行うとともに前
    記メモリからデータの読み出しを行い、前記転送元回路
    からデータを読み出し、前記転送先回路へデータを書き
    込み、前記ダイレクト・メモリ・アクセス回路において
    ダイレクト・メモリ・アクセス転送を行うときの前記メ
    モリ、前記転送元回路および前記転送先回路の初期アド
    レスを、前記メモリ用アドレスポインタ、前記転送元回
    路用アドレスポインタおよび前記転送先回路用アドレス
    ポインタに設定するCPUと、 前記CPUによる前記メモリ、前記転送元回路および前
    記転送先回路に対するアクセスと前記ダイレクト・メモ
    リ・アクセス回路による前記メモリ、前記転送元回路お
    よび前記転送先回路に対するアクセスとを調停する調停
    回路と、 前記メモリ用アドレスポインタ、前記転送元回路用アド
    レスポインタおよび前記転送先回路用アドレスポインタ
    から出力されるアドレスと前記CPUから前記アドレス
    バスを通して与えられるアドレスとの一方を選択して前
    記メモリ、前記転送元回路および前記転送先回路にそれ
    ぞれ与えるメモリ用セレクタ、転送元回路用セレクタお
    よび転送先回路用セレクタとを備え、 前記メモリ用セレクタ、転送元回路用セレクタおよび転
    送先回路用セレクタは前記CPUによるアクセス時には
    前記アドレスバス上のアドレスを選択し、前記ダイレク
    ト・メモリ・アクセス回路によるアクセス時には前記メ
    モリ用アドレスポインタ、前記転送元回路用アドレスポ
    インタおよび前記転送先回路用アドレスポインタのアド
    レスをそれぞれ選択するようにしたことを特徴とするダ
    イレクト・メモリ・アクセス制御装置。
  2. 【請求項2】 CPUのアクセスとダイレクト・メモリ
    ・アクセス回路によるアクセスの同時実行時に所定のビ
    ット幅のデータバスを前記CPUと前記ダイレクト・メ
    モリ・アクセス回路とで所定ビット幅ずつに分割して使
    用し、前記ダイレクト・メモリ・アクセス回路のアクセ
    スのみの実行時に前記データバスを前記ダイレクト・メ
    モリ・アクセス回路で全ビット幅を単独で使用するよう
    に前記データバスを制御するメモリ用データバス制御回
    路、転送元回路用データバス制御回路および転送先回路
    用データバス制御回路を、メモリ、転送元回路および転
    送先回路にそれぞれ設けた請求項1記載のダイレクト・
    メモリ・アクセス制御装置。
JP2002026500A 2002-02-04 2002-02-04 ダイレクト・メモリ・アクセス制御装置 Pending JP2003228546A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002026500A JP2003228546A (ja) 2002-02-04 2002-02-04 ダイレクト・メモリ・アクセス制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002026500A JP2003228546A (ja) 2002-02-04 2002-02-04 ダイレクト・メモリ・アクセス制御装置

Publications (1)

Publication Number Publication Date
JP2003228546A true JP2003228546A (ja) 2003-08-15

Family

ID=27748311

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002026500A Pending JP2003228546A (ja) 2002-02-04 2002-02-04 ダイレクト・メモリ・アクセス制御装置

Country Status (1)

Country Link
JP (1) JP2003228546A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115480708A (zh) * 2022-10-11 2022-12-16 成都市芯璨科技有限公司 一种分时复用局部存储器访问的方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115480708A (zh) * 2022-10-11 2022-12-16 成都市芯璨科技有限公司 一种分时复用局部存储器访问的方法
CN115480708B (zh) * 2022-10-11 2023-02-28 成都市芯璨科技有限公司 一种分时复用局部存储器访问的方法

Similar Documents

Publication Publication Date Title
JPWO2008087779A1 (ja) アレイ型プロセッサおよびデータ処理システム
US7581054B2 (en) Data processing system
JP2006268801A (ja) メモリアクセス制御回路
JP4388005B2 (ja) コンテキスト切替え装置
JPH06266615A (ja) 順次データ転送型メモリ及び順次データ転送型メモリを用いたコンピュータシステム
JP2001043180A (ja) マイクロプロセッサおよびそのための記憶装置
JP2000047974A (ja) バス制御コントローラのバス調停方法、バス制御コントローラ及び電子機器のシステム
US7774529B2 (en) Bus communication apparatus that uses shared memory
US7185133B2 (en) Data processor
US6954869B2 (en) Methods and apparatus for clock domain conversion in digital processing systems
US20150177816A1 (en) Semiconductor integrated circuit apparatus
US7310717B2 (en) Data transfer control unit with selectable transfer unit size
JPH0793274A (ja) データ転送方式及びデータ転送装置
JP7468112B2 (ja) インタフェース回路およびインタフェース回路の制御方法
JPH0855097A (ja) データ処理システム及びそのメモリアクセス方法
JP2003228546A (ja) ダイレクト・メモリ・アクセス制御装置
US20040034748A1 (en) Memory device containing arbiter performing arbitration for bus access right
US20080228961A1 (en) System including virtual dma and driving method thereof
JP2005107873A (ja) 半導体集積回路
JP3077807B2 (ja) マイクロコンピュータシステム
JPH1185673A (ja) 共有バスの制御方法とその装置
JP3201439B2 (ja) ダイレクト・メモリ・アクセス・制御回路
JP2000066946A (ja) メモリコントローラ
JP3270149B2 (ja) データ転送装置
JPH0784963A (ja) Cpuを有する半導体集積回路