JP2000076177A - Dma転送制御方法 - Google Patents

Dma転送制御方法

Info

Publication number
JP2000076177A
JP2000076177A JP10248658A JP24865898A JP2000076177A JP 2000076177 A JP2000076177 A JP 2000076177A JP 10248658 A JP10248658 A JP 10248658A JP 24865898 A JP24865898 A JP 24865898A JP 2000076177 A JP2000076177 A JP 2000076177A
Authority
JP
Japan
Prior art keywords
dma
permission bit
request
transfer
request flag
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
JP10248658A
Other languages
English (en)
Inventor
Toshihiro Abe
俊広 阿部
Sei Adachi
聖 安達
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.)
Renesas Design Corp
Mitsubishi Electric Corp
Original Assignee
Renesas Design Corp
Mitsubishi Electric Corp
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 Renesas Design Corp, Mitsubishi Electric Corp filed Critical Renesas Design Corp
Priority to JP10248658A priority Critical patent/JP2000076177A/ja
Publication of JP2000076177A publication Critical patent/JP2000076177A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)

Abstract

(57)【要約】 【課題】 DMA許可ビットのセット時における擬似的
な暴走動作を防止することができるDMA転送制御方法
を得る。 【解決手段】 DMA転送を許可するためのDMA許可
ビットと、DMA要求を受け付けるとセットされるDM
A要求フラグ1を有して、そのDMA許可ビットをセッ
トした状態でDMA要求フラグ1がセットされた場合に
DMA転送を開始し、DMA要求フラグのセットは、D
MA許可ビットがセットされていない場合には禁止され
るようにしたものである。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、メモリ間でのデ
ータの転送を、CPUを介することなく直接行うための
DMA(Direct Memory Access)
転送制御方法に関するものである。
【0002】
【従来の技術】DMA転送を制御するDMAコントロー
ラでは、転送元アドレスレジスタ、転送先アドレスレジ
スタ、転送カウンタレジスタ、モードレジスタなどのD
MA関連レジスタに、あらかじめ、転送元転送開始番
地、転送先転送開始番地、転送データのバイト数、転送
モードなどの転送パラメータを格納しておく。DMA許
可ビットがセットされているときにDMA要求が与えら
れると、DMA要求フラグがセットされて当該DMAコ
ントローラからDMAバス要求信号が出力される。な
お、DMAコントローラが複数チャネルある場合には、
あらかじめ設定された優先順位による選択が行われる。
これにより、DMAコントローラはバス使用権を獲得
し、上記各DMA関連レジスタに格納された値をもと
に、メモリ間で直接行われるCPUを介さないデータ転
送の制御を行う。
【0003】ここで、図22はチャネルiからのDMA
要求を受け付ける従来のDMA要求受付回路の構成を示
すブロック図である。図において、1はラッチ回路にて
形成されたDMA要求フラグ、2はこのDMA要求フラ
グ1の内容とDMA許可ビットとの論理積をとるAND
ゲート、3はDMA要求フラグ1の内容を読み出すため
の、リード信号にて開閉される開閉機能付きのバッファ
アンプである。
【0004】また、従来のDMA転送制御方法におけ
る、サイクルスチールモード時のDMA転送の動作タイ
ミングを図23に示す。チャネルiのDMA許可ビット
をセットしてDMAコントローラを許可状態にした後、
外部入力端子に入力されたチャネルiの ̄DMAREQ
信号(DMAREQ信号の反転信号)がハイレベル(以
下“H”と表記する)からローレベル(以下“L”と表
記する)に変化すると、当該チャネルiのDMA要求フ
ラグ1がセットされる。この時、より優先順位の高いチ
ャネルからのDMA要求がなく、かつそれら各チャネル
iからのDMA要求以外の、DRAMリフレッシュ要求
やホールド要求などもなければ、チャネルiのDMA要
求がバス要求信号として出力され、当該チャネルiのD
MA転送が実行される。このチャネルiのDMA転送が
終了すると同時に、チャネルiのDMA許可ビットは自
動的にクリアされる。
【0005】ここで、図23にtで示した1回目のDM
A転送が終って2回目のDMA転送が始まるまでの期間
中に、チャネルiの外部入力端子に入力される ̄DMA
REQ信号が誤って“H”から“L”に変化したり、当
該 ̄DMAREQ信号にノイズが混入したりして、チャ
ネルiのDMA要求フラグ1がセットされてしまうこと
がある。すなわち、図24に示すように、DMA許可ビ
ットおよびDMA要求フラグ1がクリア状態となってい
る時に予定外のDMA要求が入力されると、チャネルi
のDMA要求フラグ1がセットされてそのまま保持され
る。このDMA要求フラグ1がセットされていることに
ユーザーが気づかないで、再度DMA転送を実行しよう
としてチャネルiのDMA許可ビットをセットすると、
すでにチャネルiのDMA要求フラグ1がセットされて
いるため、突然チャネルiのDMA転送が開始される。
【0006】これはユーザーからみた場合、DMAコン
トローラが突然暴走したように見える。特に図23に示
すtの期間にDMAコントローラの転送パラメータを書
き換えたり、転送モードを書き換えたりして、全く別の
DMA転送を実行しようとした場合には、DMA許可ビ
ットをセットすると、突然予定外のDMA転送が開始さ
れるために、被害は大きなものとなる。
【0007】なお、このような従来のDMA転送制御方
法に関連する記載のある文献としては、例えば、特開平
5−173938号公報などがある。
【0008】
【発明が解決しようとする課題】従来のDMAコントロ
ーラは以上のように構成されているので、DMA要求要
因が確定した後に、予定外のDMA要求やノイズなどに
よってDMA要求フラグ1がセットされてしまうことが
あり、このような時に、DMA要求フラグ1がセットさ
れたことに気づかないまま、次のDMA転送を開始する
ためにDMA許可ビットをセットした場合、突然DMA
転送が開始されて予定外のDMA転送を行ってしまうと
いう課題があった。
【0009】また、このような擬似的な暴走動作を防止
するために、DMA要求フラグ1をプログラムで読み出
し、当該DMA要求フラグ1がクリアされていることを
確認してからDMA許可ビットをセットしたり、プログ
ラムでDMA要求フラグ1を一旦クリアした後、DMA
許可ビットをセットすることも考えられるが、プログラ
ムが大きい場合や、同じチャネルのDMA転送を何度も
最初から繰り返すような場合には、その都度DMA要求
フラグ1の内容を確認したり、DMA要求フラグ1をプ
ログラムでいちいちクリアしなければ、安全にDMA転
送を行うことができないため、実使用上不便であるとい
った課題があった。
【0010】この発明は上記のような課題を解決するた
めになされたもので、DMA許可ビットのセット時にお
ける擬似的な暴走動作を防止することができるDMA転
送制御方法を得ることを目的とし、またその実使用時に
おける利便性を向上させることを目的とする。
【0011】
【課題を解決するための手段】この発明に係るDMA転
送制御方法は、DMA許可ビットをセットした状態でD
MA要求フラグがセットされた場合にDMA転送を開始
する場合、DMA許可ビットがセットされていない時に
は、DMA要求フラグがセットされることがないように
したものである。
【0012】また、この発明に係るDMA転送制御方法
は、DMA許可ビットがセットされていなければDMA
要求フラグのセットを禁止するか、DMA許可ビットの
内容に関係なくDMA要求フラグのセットを可能とする
かの選択を、DMA要求ラッチ選択ビットの内容にした
がって行うようにしたものである。
【0013】さらに、この発明に係るDMA転送制御方
法は、DMA許可ビットがクリア状態で、DMA要求フ
ラグがセットされている場合には、当該DMA許可ビッ
トの新たなセットを、DMA要求フラグが一旦クリアさ
れるまで行えないようにしたものである。
【0014】さらに、この発明に係るDMA転送制御方
法は、DMA許可ビットがクリア状態で、DMA要求フ
ラグがセットされている場合に、当該DMA許可ビット
を新たにセットすると割り込みを発生させるようにした
ものである。
【0015】さらに、この発明に係るDMA転送制御方
法は、DMA許可ビットがクリア状態の時にDMA要求
フラグがセットされると、割り込みを発生させるように
したものである。
【0016】さらに、この発明に係るDMA転送制御方
法は、DMA転送のための転送パラメータをあらかじめ
格納しておくDMA関連レジスタの内容の書き換えを、
DMA要求フラグあるいはDMA許可ビットがセットさ
れている状態では禁止するようにしたものである。
【0017】さらに、この発明に係るDMA転送制御方
法は、DMA要求フラグあるいはDMA許可ビットがセ
ットされている状態で、DMA関連レジスタの内容の書
き換えを指示した場合、エラーフラグをセットすること
によってそのことを表示するようにしたものである。
【0018】さらに、この発明に係るDMA転送制御方
法は、DMA許可ビットをセットした時点でDMA要求
フラグを一旦クリアした後、DMA要求の受け付けを行
うようにしたものである。
【0019】さらに、この発明に係るDMA転送制御方
法は、DMA許可ビットをセットした時点でDMA要求
フラグを一旦クリアするか、DMA許可ビットの内容に
関係なくDMA要求を受け付けるかを、DMA要求フラ
グクリア選択ビットの内容にしたがって選択するように
したものである。
【0020】さらに、この発明に係るDMA転送制御方
法は、DMA許可ビットの内容に関係なくDMA要求を
受け付けるか、DMA許可ビットのセット時点でDMA
要求フラグを一旦クリアするかを、#1許可ビットをセ
ットするか#2許可ビットをセットするかによって選択
するようにしたものである。
【0021】
【発明の実施の形態】以下、この発明の実施の一形態を
説明する。 実施の形態1.図1はこの発明の実施の形態1によるD
MA転送制御方法にて用いられるDMAコントローラの
バス要求信号発生回路の構成を示すブロック図である。
なお、この図1には、DMAコントローラが4チャネル
あり、バス要求要因として、DMAコントローラからの
DMA要求の他に、DRAMコントローラからのDRA
Mリフレッシュ要求、およびHOLD端子からのホール
ド要求機能を持つものについて示している。
【0022】図において、101は各チャネルのDMA
コントローラからのDMA要求よりDMAバス要求信号
を生成するDMA要求発生回路である。102は各チャ
ネルからのDMA要求を受け付けるため、このDMA要
求発生回路101内に各チャネルに対応して設けられた
DMA要求受付回路であり、103は各DMA要求受付
回路102から入力される要求を所定の優先順位にした
がって選択し、それをDMAバス要求信号として出力す
るチャネル優先順位判定回路である。104は各チャネ
ルにおける各種DMA要因の選択を行い、それをDMA
要求としてDMA要求発生回路101のDMA要求受付
回路102に入力するDMA要求選択回路である。
【0023】105は上記DRAMリフレッシュ要求の
ためのDRAMリフレッシュ要求信号を発生するDRA
Mリフレッシュ要求発生回路であり、106は上記ホー
ルド要求のためのホールド要求信号を発生するホールド
要求発生回路である。107はこれらDRAMリフレッ
シュ要求発生回路105からのDRAMリフレッシュ要
求信号、ホールド要求発生回路106からのホールド要
求信号、および上記DMA要求発生回路101からのD
MAバス要求信号が入力され、それらの内の1つを所定
の優先順位にしたがって選択して、バス要求信号として
出力するバス優先順位判定回路である。
【0024】また、図2は上記DMA要求受付回路10
2の構成を示すブロック図である。図において、1はラ
ッチ回路によって形成され、DMA要求選択回路104
からのDMA要求が受け付けられた時にセットされるD
MA要求フラグである。2はDMA転送を許可する時に
セットされるDMA許可ビットによって開閉され、この
DMA要求フラグ1の内容をDMA要求としてチャネル
優先順位判定回路103に出力するANDゲートであ
る。3はリード信号によって開閉され、プログラムにし
たがってDMA要求フラグ1の内容をデータバスに読み
出すための開閉機能付きのバッファアンプである。な
お、これらの各部は図22に同一符号を付して示した従
来のそれらに相当する部分である。また、4は上記DM
A許可ビットによって開閉され、当該DMA許可ビット
がセットされていない場合にはDMA要求選択回路10
4からのDMA要求の通過を阻止して、DMA要求フラ
グ1がセットされないようにするANDゲートである。
【0025】次に動作について説明する。DMA要求選
択回路104に入力されるDMA要求要因としては、外
部入力端子からの外部要求要因や、ソフトウエアDMA
要求ビットヘの“1”書き込みによるソフトウェアDM
A要因、およびタイマ、A/D変換器、シリアルI/O
などの周辺機能からのDMA要因があり、当該DMA要
求選択回路104でそのうちのいずれか1つを選択す
る。DMA要求選択回路104で選択されたDMA要求
は、DMA要求発生回路101内の当該DMA要求選択
回路104のチャネルに対応したDMA要求受付回路1
02に入力されて受け付けられる。
【0026】DMA要求受付回路102ではこのDMA
要求が入力されると、ラッチ回路にて形成されているD
MA要求フラグ1がセットされる。この時、DMA許可
ビットがセットされて“1”となっていれば、ANDゲ
ート2は“開”の状態となっているため、セット状態と
なったDMA要求フラグ1がDMA要求としてチャネル
優先順位判定回路103に出力される。なお、DMA許
可ビットが“0”の時にはANDゲート2が“閉”の状
態となってDMA禁止状態となる。なお、DMA要求フ
ラグ1の内容は、プログラムでバッファアンプ3へのリ
ード信号をアサートしてやればデータバス上に読み出す
ことができる。
【0027】チャネル優先順位判定回路103はあらか
じめ設定されている優先順位にしたがって、DMA要求
受付回路102からDMA要求が出力されているチャネ
ルの中から優先順位の高いチャネルのDMA要求を選択
し、それをDMAバス要求信号としてバス優先順位判定
回路107に出力する。
【0028】このバス優先順位判定回路107には、こ
のDMA要求発生回路101からのDMAバス要求信号
とともに、DRAMリフレッシュ要求発生回路105か
らのDRAMリフレッシュ要求信号、およびホールド要
求発生回路106からのホールド要求信号も入力され
る。バス優先順位判定回路107はあらかじめ設定され
ている優先順位にしたがって、それらの中から優先順位
の高い信号を選択し、バス要求信号として出力する。
【0029】このようにして、バス優先順位判定回路1
07よりバス要求信号が出力されるとCPUはその動作
を停止して、優先順位の高い機能にバス使用権を渡す。
ここで、DMA要求発生回路101からDMAバス要求
信号が出力された時、DRAMリフレッシュ要求発生回
路105からのDRAMリフレッシュ要求信号、および
ホールド要求発生回路106からのホールド要求信号が
ともに出力されていなければ、バス優先順位判定回路1
07にてDMA要求発生回路101からのDMAバス要
求信号が選択され、DMAコントローラがバス使用権を
獲得してDMA転送の制御を開始する。なお、バス優先
順位判定回路107よりバス要求信号が出力されていな
い期間は、CPUがバスを使用する。
【0030】ここで、図3にサイクルスチールモード時
のDMA転送の動作タイミングを示す。以下に、外部入
力端子に入力される ̄DMAREQ信号のレベルが
“H”から“L”に変化した時に受け付けられる外部要
求要因が入力された場合、一度のDMA要求に対して1
転送単位のデータを転送するサイクルスチールモードの
動作について説明する。なお、ここでは、1転送単位は
2バイトであり、全転送バイト数は8バイトであるもの
とする。
【0031】DMA転送を実行する場合、まずDMA関
連レジスタのそれぞれに、転送元転送開始番地、転送先
転送開始番地、転送データのバイト数、転送モードなど
の転送パラメータをセットしておく。その後、チャネル
i(i=0〜3)のDMA許可ビットをセットしてDM
Aコントローラを許可状態にする。外部入力端子に入力
されたチャネルiの ̄DMAREQ信号が“H”から
“L”に変化すると、チャネルiのDMA要求が受け付
けられて当該チャネルiのDMA要求フラグ1がセット
される。この時、より優先順位の高いチャネルからのD
MA要求がなく、かつDRAMリフレッシュ要求発生回
路105からのDRAMリフレッシュ要求、およびホー
ルド要求発生回路106からのホールド要求もない場合
には、チャネルiからのDMAバス要求信号がバス優先
順位判定回路107で選択され、そのDMA転送が実行
される。
【0032】優先順位のより高いチャネルからのDMA
要求がある場合、あるいはDRAMリフレッシュ要求発
生回路105からのDRAMリフレッシュ要求やホール
ド要求発生回路106からのホールド要求がある場合に
は、このチャネルiのDMA要求はラッチ回路によるD
MA要求フラグ1で保持される。そして、優先順位のよ
り高いチャネルのDMA要求や、DRAMリフレッシュ
要求あるいはホールド要求がなくなると、チャネルiの
DMA要求は初めてバス要求信号として出力され、チャ
ネルiのDMA転送が実行される。
【0033】なお、このチャネルiのDMA転送の実行
期間中は、出力端子より出力されるチャネルiの ̄DM
AACK信号(DMAACK信号の反転信号)は“L”
になる。図3の場合、転送カウンタの設定が8バイトで
あるため、4度のDMA要求でチャネルiのDMA転送
が終了するようになっている。このチャネルiのDMA
転送が終了すると同時に、チャネルiのDMA許可ビッ
トも自動的にクリアされる。
【0034】再度同じDMA転送を実行したい場合に
は、プログラムでDMA許可ビットを再度セットして、
チャネルiの外部入力端子に入力される ̄DMAREQ
信号を“H”から“L”に変化させる。
【0035】1回目のDMA転送が終って次のDMA転
送が始まるまでの期間に、チャネルiの外部入力端子に
入力される ̄DMAREQ信号が誤って“H”から
“L”に変化したり、当該 ̄DMAREQ信号にノイズ
が混入することがある。しかしながら、そのような期間
においてはチャネルiのDMA許可ビットがクリア状態
となっているため、ANDゲート4は“閉”となる。そ
のため、図3に示すように、当該期間における ̄DMA
REQ信号の“H”から“L”への変化はチャネルiの
DMA要求フラグ1には入力されず、当該DMA要求フ
ラグ1がセットされてそのまま保持されてしまうような
ことはない。したがって、ユーザーがDMA転送を再度
実行するため、チャネルiのDMA許可ビットをセット
しても、突然チャネルiのDMA転送が開始されるよう
なことはなくなる。
【0036】このように、この実施の形態1によれば、
DMA要求フラグ1の入力部において、DMA許可ビッ
トによって開閉されるANDゲート4を設け、DMA許
可ビットがセットされている場合にしかDMA要求を受
け付けないようにしているので、DMA許可ビットがク
リア状態の時にDMA要求が誤って入力されても、DM
A要求フラグ1はセットされることはなく、DMA許可
ビットをセットした時に予定外のDMA転送が開始され
るといった、擬似的な暴走動作を防止することができる
という効果が得られる。
【0037】実施の形態2.図4はこの発明の実施の形
態2によるDMA転送制御方法で用いられるDMA要求
受付回路の構成を示すブロック図であり、相当部分には
図2と同一符号を付してその説明を省略する。図におい
て、5はDMA許可ビットの内容に関係なくDMA要求
をDMA要求フラグ1にラッチするか、DMA許可ビッ
トがセットされている時にのみDMA要求をDMA要求
フラグ1にラッチするかを選択するためのDMA要求ラ
ッチ選択ビットであり、6はこのDMA要求ラッチ選択
ビット5を反転させるインバータである。7はDMA要
求ラッチ選択ビット5の内容にしたがってANDゲート
4の出力で開閉するANDゲート、8はインバータ6の
出力の内容にしたがってDMA要求で開閉するANDゲ
ートであり、9はこれらANDゲート7および8の出力
の論理和をとってDMA要求フラグ1に入力するORゲ
ートである。
【0038】次に動作について説明する。DMA要求ラ
ッチ選択ビット5の内容を“1”に設定すると、当該D
MA要求ラッチ選択ビット5がそのまま入力されるAN
Dゲート7は“開”の状態となり、インバータ6を介し
て入力されるANDゲート8は“閉”の状態となる。し
たがって、DMA要求フラグ1には実施の形態1の場合
と同様に、DMA許可ビットがセットされている時にの
みDMA要求が入力される。一方、DMA要求ラッチ選
択ビット5の内容を“0”に設定すると、当該DMA要
求ラッチ選択ビット5がそのまま入力されるANDゲー
ト7は“閉”の状態となり、インバータ6を介して入力
されるANDゲート8は“開”の状態となる。したがっ
て、DMA要求フラグ1には従来の場合と同様に、DM
A許可ビットのセット状態とは無関係にDMA要求が入
力される。
【0039】このようにして入力されたDMA要求によ
ってDMA要求フラグ1がセットされる。この時、DM
A許可ビットがセットされて“1”となっていれば、A
NDゲート2は“開”の状態となるため、このセット状
態となったDMA要求フラグ1がDMA要求としてチャ
ネル優先順位判定回路103に出力される。また、DM
A許可ビットが“0”の時にはANDゲート2が“閉”
の状態となるため、DMA禁止状態となる。なお、DM
A要求フラグ1の内容は、プログラムでバッファアンプ
3へのリード信号をアサートしてやればデータバス上に
読み出すことができる。
【0040】このように、この実施の形態2によれば、
DMA要求のDMA要求フラグ1へのラッチを、DMA
要求ラッチ選択ビット5の内容によって、DMA許可ビ
ットがセットされている時にのみ行うか、DMA許可ビ
ットのセット状態とは無関係に行うかを選択しているの
で、DMA許可ビットがクリア状態の時に入力されたD
MA要求をラッチしておいて、DMA許可ビットをセッ
トすると同時にDMA転送を開始するというような、D
MAコントローラのごくまれな使用方法にも容易に対応
することが可能となって、実使用時の利便性を向上させ
ることができるという効果が得られる。
【0041】実施の形態3.図5はこの発明の実施の形
態3によるDMA転送制御方法で用いられるDMA要求
受付回路の構成を示すブロック図であり、相当部分には
図2と同一符号を付してその説明を省略する。図におい
て、10はDMA許可ビットがクリア状態のときにDM
A要求フラグ1がセットされている場合、このDMA要
求フラグ1が一旦クリアされるまでDMA許可ビットを
新たにセットできないようにするためのDMA許可ビッ
ト制御回路である。
【0042】図6は上記DMA許可ビット制御回路10
の構成を示す回路図である。図において、21は元のD
MA許可ビットE0が入力される入力端子であり、22
はこのDMA許可ビット制御回路10で制御された新た
なDMA許可ビットE1が出力される出力端子である。
23,24はDMA要求フラグ1の内容Rにしたがって
互いに相補に開閉される半導体スイッチであり、25は
NANDゲート、26,27はインバータである。な
お、図中の ̄RはDMA要求フラグ1の内容Rの反転信
号を示している。
【0043】次に動作について説明する。ここで、図7
に図5に示したDMA要求受付回路を用いたDMAコン
トローラの動作タイミングを示す。DMA要求フラグ1
の内容R、および元のDMA許可ビットE0、新たなD
MA許可ビットE1がともに“L”の時、誤ってDMA
要求が入力されてDMA要求フラグ1がセットされた場
合、元のDMA許可ビットE0がセットされても、DM
A要求フラグ1の内容Rが“H”状態では新たなDMA
許可ビットE1をセットすることはできない。すなわ
ち、DMA許可ビット制御回路10では、DMA要求フ
ラグ1の内容Rが“H”のときには、半導体スイッチ2
3がオフ、半導体スイッチ24がオンとなるため、NA
NDゲート25は“閉”の状態となり、入力端子21に
入力された元のDMA許可ビットE0は出力端子22に
伝えられない。
【0044】そのような状態において、DMA要求フラ
グ1をプログラムで一旦クリア状態にすると、新たなD
MA許可ビットE1をセットすることができる。すなわ
ち、DMA許可ビット制御回路10では、DMA要求フ
ラグ1の内容Rが“L”になると、半導体スイッチ23
がオン、半導体スイッチ24がオフとなるため、NAN
Dゲート25は“開”の状態となり、入力端子21に入
力された元のDMA許可ビットE0が出力端子22に伝
えられる。このようにして、新たなDMA許可ビットE
1をセットした状態で改めてDMA要求を入力すると、
DMA要求フラグ1が再びセットされ、図1に示したD
MA要求受付回路102からチャネル優先順位判定回路
103にDMA要求が伝達される。これより、予定外の
DMA要求が入力されていたとしても、DMA許可ビッ
トをセットした時に突然DMA転送が開始されるのを防
止できる。
【0045】このように、この実施の形態3によれば、
DMA許可ビット制御回路10を付加して、DMA要求
フラグ1がクリア状態の場合にのみ、新たなDMA許可
ビットE1をセットすることができるようにしているの
で、予定外のDMA要求でDMA要求フラグ1がセット
されていても、それをクリア状態にしない限り新たなD
MA許可ビットE1はセットされず、元のDMA許可ビ
ットE0のセット時に予定外のDMA転送が突然開始さ
れるといった、擬似的な暴走動作を未然に防止すること
ができるという効果が得られる。
【0046】実施の形態4.なお、上記実施の形態3で
は、DMA許可ビットがクリア状態でDMA要求フラグ
1がセットされている場合には、DMA要求フラグ1を
一旦クリアしない限りDMA許可ビットがセットできな
いようにした場合について示したが、新たにDMA許可
ビットをセットすると割り込みが発生するようにしても
よい。図8はそのようなこの発明の実施の形態4による
DMA転送制御方法において、上記割り込みを発生させ
るためのDMANG割り込み信号を生成するDMANG
割り込み信号生成回路の構成を示す回路図である。
【0047】図において、28はDMA許可ビットを反
転させるインバータであり、29はこのインバータ28
の出力とDMA要求フラグ1との論理積をとるANDゲ
ートである。30,31,32,33は内部クロックφ
によってオン・オフされる半導体スイッチであり、半導
体スイッチ30,31と半導体スイッチ32,33とは
互いに相補に動作する。なお、図中の ̄φは内部クロッ
クφの反転信号を示している。34,35,36,37
はインバータであり、インバータ34,35は半導体ス
イッチ32を介してループ状に接続され、ANDゲート
29の出力を保持する保持回路を形成し、インバータ3
6,37は半導体スイッチ31を介してループ状に接続
され、インバータ34の出力を保持する保持回路を形成
している。38はそのインバータ36の出力とDMA許
可ビットとの論理積をとってDMANG割り込み信号を
生成するANDゲートである。
【0048】次に動作について説明する。まず、DMA
NG割り込み信号の発生タイミングについて、図9を参
照しながら説明する。DMA許可ビットがクリア状態で
“L”であれば、ANDゲート38は“閉”の状態とな
っているため、インバータ36の出力の如何にかかわら
ずDMANG割り込み信号は“L”のままである。ま
た、DMA要求フラグ1がクリア状態で“L”であれ
ば、ANDゲート29の出力は“L”、インバータ34
の出力は“H”、インバータ36の出力は“L”となる
ため、DMA許可ビットの状態の如何にかかわらず、A
NDゲート38より出力されるDMANG割り込み信号
は“L”のままである。
【0049】DMA許可ビットが“L”の時にDMA要
求フラグ1がセットされて“H”となり、その後さらに
DMA許可ビットがセットされると、ANDゲート29
の出力は“H”となる。内部クロックφが“H”の期間
に半導体スイッチ30がオンして、このANDゲート2
9の出力はインバータ34に入力される。内部クロック
φが“L”になると半導体スイッチ32がオンとなっ
て、その期間、インバータ34,35と半導体スイッチ
32で形成されるループ回路にこのANDゲート29の
出力が保持される。
【0050】したがって、内部クロックφが次に“H”
となるまでの期間、インバータ34の出力は“L”に保
持され、それが内部クロックφが“L”の期間オンとな
っている半導体スイッチ33を介してインバータ36に
入力される。内部クロックφが“H”になると半導体ス
イッチ31がオンとなって、その期間、インバータ3
6,37と半導体スイッチ31で形成されるループ回路
にこのインバータ34の出力が保持される。したがっ
て、内部クロックφが次に“L”となるまでの期間、イ
ンバータ36の出力は“H”に保持され、それがAND
ゲート38に入力される。その時、ANDゲート38に
入力されているDMA許可ビットは“H”にセットされ
ているため、このANDゲート38より出力されるDM
ANG割り込み信号は“H”となる。このようにして、
このDMANG割り込み信号生成回路より出力されるD
MANG割り込み信号は、内部クロックφの1/2サイ
クル分だけ“H”になる。
【0051】また、このDMANG割り込み信号を使用
した場合のDMAコントローラの動作タイミングの一例
を図10に示す。DMA要求フラグ1が誤ってセットさ
れた場合にDMA許可ビットをセットすると、DMAN
G割り込み信号生成回路より上記手順によってDMAN
G割り込み信号が内部クロックφの1/2サイクル分だ
け“H”となる。このDMANG割り込み信号により、
DMAコントローラが起動するよりも先に、通常の割り
込み動作と同様に割り込みベクトルで指定した割り込み
ルーチンに分岐する。その割り込みルーチン内にあらか
じめDMA要求フラグ1をクリアする命令を用意してお
けば、図10に示すように、この割り込み処理の間にD
MA要求フラグ1がプログラムによってクリアされる。
DMANG割り込みから復帰した後、再度DMA要求を
入力すれば、安全にDMA転送を開始することができ
る。
【0052】このように、この実施の形態4によれば、
DMA許可ビットがクリア状態でDMA要求フラグ1が
セットされているときに、新たにDMA許可ビットをセ
ットした場合、DMANG割り込み信号生成回路よりD
MANG割り込み信号を発生させ、その割り込みルーチ
ン内でDMA要求フラグ1をクリアした後、メインルー
チンに復帰して再度DMA要求の入力をやり直している
ので、安全にDMA転送を開始することが可能となり、
DMA許可ビットをセットした時に予定外のDMA転送
が開始されるといった、擬似的な暴走動作を防止するこ
とができるという効果が得られる。
【0053】実施の形態5.上記実施の形態4では、D
MA要求フラグ1がセットされている状態でDMA許可
ビットをセットすると割り込みが発生するものを示し
た、DMA許可ビットがクリア状態の時にDMA要求フ
ラグ1がセットされると割り込みが発生するようにして
もよい。図11はそのようなこの発明の実施の形態5に
よるDMA転送制御方法において、上記割り込みを発生
させるためのDMANG割り込み信号を生成するDMA
NG割り込み信号生成回路の構成を示す回路図である。
【0054】図において、39はDMA許可ビットを反
転させるインバータであり、40はこのインバータ39
の出力、DMA要求フラグ1、およびDMANG割り込
み信号をクリアするためのクリア信号の論理積をとっ
て、DMANG割り込み信号を出力するANDゲートで
ある。41,42,43,44は内部クロックφによっ
てオン・オフされる半導体スイッチであり、半導体スイ
ッチ41,42と半導体スイッチ43,44とは互いに
相補に動作する。45,46,47,48はインバータ
であり、インバータ45,46は半導体スイッチ43を
介してループ状に接続され、ANDゲート40の出力を
保持する保持回路を形成し、インバータ47,48は半
導体スイッチ42を介してループ状に接続され、インバ
ータ45の出力を保持する保持回路を形成している。4
9はそのインバータ47の出力を反転させてクリア信号
を生成するインバータである。
【0055】次に動作について説明する。まず、DMA
NG割り込み信号の発生タイミングについて、図12を
参照しながら説明する。DMA要求フラグ1が“L”あ
るいはDMA許可ビットが“H”であれば、ANDゲー
ト40より出力されるDMANG割り込み信号は“L”
のままである。また、DMA許可ビットが“L”の時に
DMA要求フラグ1がセットされて“H”になると、D
MANG割り込み信号は“H”となる。なお、その時、
以下インバータ49の出力するクリア信号は“H”であ
るものとする。内部クロックφが“H”になると半導体
スイッチ41がオンして、その期間、このANDゲート
40の出力はインバータ45に入力される。内部クロッ
クφが“L”になると半導体スイッチ43がオンとなっ
て、その期間、インバータ45,46と半導体スイッチ
43で形成されるループ回路にこのANDゲート40の
出力が保持される。
【0056】したがって、内部クロックφが次に“H”
となるまでの期間、インバータ45の出力は“L”に保
持され、それが半導体スイッチ44を介してインバータ
47に入力される。内部クロックφが“H”になると半
導体スイッチ42がオンとなって、その期間、インバー
タ47,48と半導体スイッチ42で形成されるループ
回路にこのインバータ45の出力が保持される。したが
って、内部クロックφが次に“L”となるまでの期間、
インバータ47の出力は“H”に保持される。このイン
バータ47の出力はインバータ49で反転され、クリア
信号としてANDゲート40に入力される。ANDゲー
ト40はこのクリア信号が“L”になると、出力してい
るDMANG割り込み信号を“L”にする。したがっ
て、このDMANG割り込み信号生成回路より出力され
るDMANG割り込み信号は、内部クロックφの1/2
サイクル分だけ“H”になる。
【0057】また、このDMANG割り込み信号を使用
した場合のDMAコントローラの動作タイミングの一例
を図13に示す。DMA許可ビットがクリア状態である
場合にDMA要求フラグ1が誤ってセットされると、上
記手順によりDMANG割り込み信号生成回路よりDM
ANG割り込み信号が発生し、このDMANG割り込み
信号によって割り込みルーチンに分岐する。この割り込
みルーチン内にあらかじめDMA要求フラグ1をクリア
する命令を用意しておけば、図13に示すように、この
DMANG割り込み処理の間に実行されるプログラムに
よって、DMA要求フラグ1がクリアされる。DMAN
G割り込みから復帰した後、DMA許可ビットをセット
して再度DMA要求を入力すれば、安全にDMA転送を
開始することができる。
【0058】このように、この実施の形態5によれば、
DMA許可ビットがクリア状態のときにDMA要求フラ
グ1がセットされた場合、DMANG割り込み信号生成
回路よりDMANG割り込み信号を発生させて割り込み
ルーチンに移行し、その割り込みルーチン内でDMA要
求フラグ1をクリアした後、メインルーチンに復帰して
再度DMA要求の入力をやり直しているので、DMA転
送を安全に開始することが可能となって、DMA許可ビ
ットをセットした時に予定外のDMA転送が開始される
といった、擬似的な暴走動作を防止することができると
いう効果が得られる。
【0059】実施の形態6.転送元番地を格納しておく
ための転送元アドレスレジスタ、転送先番地を格納して
おくための転送先アドレスレジスタ、転送バイト数を格
納しておくための転送カウンタレジスタ、転送モード等
を指定するためのモードレジスタなどのDMA関連レジ
スタの書き換えは、通常DMAコントローラが完全に停
止した状態で行わなければならない。そのため、この発
明の実施の形態6によるDMA転送制御方法において
は、DMA要求フラグ1もしくはDMA許可ビットがセ
ットされている状態では、DMA関連レジスタの書き換
えを禁止するようにしたものである。図14はそのよう
なこの発明の実施の形態6によるDMA転送制御方法で
用いられる、DMA関連レジスタ書き込み回路の構成を
示す回路図である。
【0060】図において、50はあらかじめ転送パラメ
ータが格納されている上記転送元アドレスレジスタ、転
送先アドレスレジスタ、転送カウンタレジスタ、モード
レジスタなどのDMA関連レジスタである。51はDM
A要求フラグ1とDMA許可ビットとの論理和をとって
信号反転させるNORゲートである。52はこのNOR
ゲート51の出力とDMA関連レジスタ50への書き込
みを指示するライト信号DMAWとの論理積をとるAN
Dゲートである。53はデータバス上のデータのDMA
関連レジスタ50への書き込みをこのANDゲート52
の出力によって開閉する、開閉機能付きのバッファアン
プである。
【0061】次に動作について説明する。サイクルスチ
ールモードの途中で一旦バス使用権をCPUに帰した状
態で、誤ってDMA関連レジスタ50の内容を書き換え
てしまった場合、例えば転送モードを書き換えてしまっ
た場合には、再度DMA要求を入力すると暴走の原因と
なる。また、DMA要求フラグ1がセットされているこ
とに気づかずにDMA関連レジスタ50の内容を書き換
えて、通常どおりDMA許可ビットをセットしても突然
DMAコントローラが起動されて暴走したようにみえ
る。そのため、DMA関連レジスタ50の内容の書き換
えは、DMA要求フラグ1およびDMA許可ビットがク
リア状態の時に行うと安全である。
【0062】図14に示すDMA関連レジスタ書き込み
回路では、DMA要求フラグ1あるいはDMA許可ビッ
トのいずれか一方でもセットされている場合には、NO
Rゲート51の出力は“L”となる。ANDゲート52
はこのNORゲート51の出力が“L”になると“閉”
の状態となるため、DMA関連レジスタヘのライト信号
DMAWが“H”になっても、それより出力されるバッ
ファアンプ53を開閉するための信号は“L”である。
したがって、データバス上のデータはバッファアンプ5
3を介してDMA関連レジスタ50に入力されることは
なく、DMA関連レジスタ50はその内容の書き換えが
禁止される。
【0063】一方、DMA要求フラグ1およびDMA許
可ビットの双方がともにクリア状態である場合には、N
ORゲート51の出力は“H”となってANDゲート5
2は“開”の状態となる。したがって、DMA関連レジ
スタヘのライト信号DMAWが“H”になると、当該A
NDゲート52より出力されるバッファアンプ53を開
閉するための信号は“H”に変化する。これによって、
バッファアンプ53は“開”の状態となり、このバッフ
ァアンプ53を介してデータバス上のデータがDMA関
連レジスタ50に入力され、DMA関連レジスタ50の
内容の書き換えが行われる。
【0064】このように、この実施の形態6によれば、
DMA要求フラグ1あるいはDMA許可ビットがセット
されている状態では、DMA関連レジスタ50の書き換
えを禁止しているので、DMA関連レジスタ50の内容
が誤って書き換えられることはなくなり、DMA許可ビ
ットのセット時に暴走を起こすことがなく、またDMA
要求フラグ1がセットされていることに気づかずにDM
A関連レジスタ50の内容が書き換えられることもなく
なって、DMA許可ビットのセット時に予定外のDMA
転送が開始されるといった、擬似的な暴走動作を防止で
きるなどの効果が得られる。
【0065】実施の形態7.上記実施の形態6では、D
MA要求フラグ1あるいはDMA許可ビットがセットさ
れている時は、DMA関連レジスタ50ヘのライト信号
DMAWが“H”になってもDMA関連レジスタ50の
内容が書き換えられないようにしたものについて説明し
たが、DMA要求フラグ1あるいはDMA許可ビットが
セットされている時に、DMA関連レジスタ50ヘの書
き込みの指示を行うと、エラーフラグがセットされるよ
うにしてもよい。図15はそのようなこの発明の実施の
形態7によるDMA転送制御方法で用いられる、エラー
フラグセット回路の構成を示す回路図である。
【0066】図において、54はDMA要求フラグ1と
DMA許可ビットの論理和をとるORゲートであり、5
5はこのORゲート54の出力とDMA関連レジスタ5
0へのライト信号DMAWとの論理積をとるANDゲー
トである。56はDMA要求フラグ1あるいはDMA許
可ビットがセットされている時に、DMA関連レジスタ
50ヘの書き込みを指示した場合に、そのANDゲート
55の出力によってセットされるエラーフラグである。
【0067】次に動作について説明する。図15に示す
エラーフラグセット回路では、DMA要求フラグ1ある
いはDMA許可ビットのいずれか一方でもセットされて
いる場合には、ORゲート54の出力は“H”となる。
ORゲート54の出力が“H”になるとANDゲート5
5は“開”の状態となるため、DMA関連レジスタ50
ヘの書き込みが指示されてライト信号DMAWが“H”
になると、その出力信号も“H”となる。エラーフラグ
56はこのANDゲート55の出力によってセットされ
る。したがって、このエラーフラグ56は、その内容が
“0”であれば、正常に動作していることを表示し、
“1”であれば、DMA要求フラグ1あるいはDMA許
可ビットがセットされている時に、DMA関連レジスタ
50ヘの書き込みが指示されたことを表示している。
【0068】このように、この実施の形態7によれば、
DMA要求フラグ1あるいはDMA許可ビットがセット
されている時に、DMA関連レジスタ50ヘの書き込み
を指示するとエラーフラグ56がセットされるので、こ
のエラーフラグ56を用いれば、DMA関連レジスタ5
0が誤って書き換えられることを防止することができる
効果が得られる。
【0069】実施の形態8.図16はこの発明の実施の
形態8によるDMA転送制御方法で用いられるDMA要
求受付回路の構成を示すブロック図であり、相当部分に
は図2と同一符号を付してその説明を省略する。図にお
いて、11はDMA許可ビットをセットした時点でDM
A要求フラグ1を一旦クリアするためのDMA要求フラ
グクリア信号を生成するDMA要求フラグクリア回路で
ある。
【0070】図17は上記DMA要求フラグクリア回路
11の構成を示す回路図である。図において、57,5
8,59,60は内部クロックφによってオン・オフさ
れる半導体スイッチであり、半導体スイッチ57,58
と半導体スイッチ59,60とは互いに相補に動作す
る。なお、図中の ̄φは内部クロックφの反転信号を示
している。61,62,63,64はインバータであ
り、インバータ61,62は半導体スイッチ59を介し
てループ状に接続され、半導体スイッチ57を通過した
DMA許可ビットを保持する保持回路を形成し、インバ
ータ63,64は半導体スイッチ58を介してループ状
に接続され、半導体スイッチ60を通過したインバータ
61の出力を保持する保持回路を形成している。65は
インバータ61の出力とインバータ63の出力とのNO
R論理をとり、DMA要求フラグクリア信号を生成する
NORゲートである。
【0071】次に動作について説明する。図16に示し
たバス要求受付回路では、DMA許可ビットをDMA要
求フラグクリア回路11にも入力している。このDMA
要求フラグクリア回路11はDMA許可ビットをセット
した時点でDMA要求フラグクリア信号を生成し、この
DMA要求フラグクリア信号でDMA要求フラグ1を一
旦クリアしている。DMA要求はこのDMA要求フラグ
1を一旦クリアした後、あらためて受け付けるようにし
ている。
【0072】DMA許可ビットが“H”にセットされる
と、DMA要求フラグクリア回路11では内部クロック
φが“H”の期間、半導体スイッチ57がオンしてそれ
がインバータ61に入力される。内部クロックφが
“L”になると半導体スイッチ59がオンとなって、そ
の期間、インバータ61,62と半導体スイッチ59で
形成されるループ回路にそのDMA許可ビットが保持さ
れる。したがって、内部クロックφが次に“H”となる
までの期間、インバータ61の出力は“L”に保持さ
れ、それが半導体スイッチ60を介してインバータ63
に入力される。内部クロックφが“H”になると半導体
スイッチ58がオンとなって、その期間、インバータ6
3,64と半導体スイッチ58で形成されるループ回路
にこのインバータ61の出力が保持される。したがっ
て、内部クロックφが次に“L”となるまでの期間、イ
ンバータ63の出力は“H”に保持される。
【0073】これらインバータ61の出力とインバータ
63の出力は、NORゲート65に入力されてNOR論
理がとられる。したがって、NORゲート65の出力
は、インバータ61と63の出力がともに“L”の期間
でのみ“H”となる。このようにして、このDMA要求
フラグクリア回路11からはDMA許可ビットがセット
された直後に、内部クロックφの1/2サイクル分だけ
“H”となるDMA要求フラグクリア信号が出力され
て、DMA要求フラグ1に入力される。
【0074】ここで、このDMA要求フラグクリア信号
を使用した場合のDMAコントローラの動作タイミング
の一例を図18に示す。図示のように、DMA許可ビッ
トがクリア状態の時に予定外のDMA要求が入力されて
DMA要求フラグ1がセットされていても、DMA許可
ビットをセットすると、その直後にDMA要求フラグク
リア回路11より、内部クロックφの1/2サイクル分
だけ“H”となるDMA要求フラグクリア信号が発生す
る。このDMA要求フラグクリア信号はDMA要求フラ
グ1に送られてそれを一旦クリアする。したがって、D
MA許可ビットのセット時にDMA転送が突然開始され
るようなことはなくなる。その後、再度DMA要求が入
力されれば、DMA要求フラグ1があらためてセットさ
れ、DMA転送が開始される。
【0075】このように、この実施の形態8によれば、
DMA許可ビットをセットした時点でDMA要求フラグ
クリア信号を“H”にして、DMA要求フラグ1を一旦
クリアしているので、DMA許可ビットがクリア状態の
時に予定外のDMA要求が入力されてDMA要求フラグ
1がセットされても、DMA許可ビットのセット時にそ
れが一旦クリアされるため、DMA許可ビットをセット
した時に予定外のDMA転送が開始されるといった、擬
似的な暴走動作を防止することができるという効果が得
られる。
【0076】実施の形態9.図19はこの発明の実施の
形態9によるDMA転送制御方法で用いられるDMA要
求受付回路の構成を示すブロック図であり、相当部分に
は図16と同一符号を付してその説明を省略する。図に
おいて、12はDMA許可ビットをセットした時点でD
MA要求フラグを一旦クリアするか、DMA許可ビット
の内容に関係なくDMA要求を受け付けるかの選択を行
うためのDMA要求フラグクリア選択ビットである。1
3はこのDMA要求フラグクリア選択ビット12の内容
にしたがって、DMA要求フラグクリア回路11の生成
したDMA要求フラグクリア信号を開閉するANDゲー
トである。
【0077】次に動作について説明する。上記実施の形
態8ではDMA許可ビットをセットした時点で一旦DM
A要求フラグ1をクリアした後、DMA要求を受け付け
るようにしたが、ユーザーによってはごくまれに、DM
A許可ビットの内容に関係なくDMA要求を受け付けて
おいて、DMA許可ビットをセットするとすぐにDMA
転送を開始するような使い方をする場合もある。
【0078】そのような場合には、DMA要求フラグク
リア選択ビット12の内容を“0”に設定する。このD
MA要求フラグクリア選択ビット12の内容が“0”で
あれば、ANDゲート13は“閉”の状態となるため、
DMA要求フラグクリア回路11で生成されたDMA要
求フラグクリア信号はDMA要求フラグ1には入力され
ない。したがって、DMA許可ビットをセットしてもD
MA要求フラグ1はクリアされず、DMA許可ビットに
関係なくDMA要求を受け付けて、DMA許可ビットを
セットするとすぐにDMA転送を開始するような使い方
をすることが可能となる。
【0079】一方、DMA要求フラグクリア選択ビット
12の内容を“1”に設定すると、ANDゲート13は
“開”の状態となり、DMA要求フラグクリア回路11
で生成されたDMA要求フラグクリア信号はDMA要求
フラグ1に入力される。したがって、DMA許可ビット
をセットした時点でDMA要求フラグ1は一旦クリアさ
れ、実施の形態8の場合と同様の使い方をすることが可
能となる。
【0080】このように、この実施の形態9によれば、
DMA要求フラグクリア選択ビット12の内容によっ
て、DMA許可ビットをセットした時点でDMA要求フ
ラグ1を一旦クリアするか否かを選択しているので、D
MA許可ビットに関係なくDMA要求を受け付けておい
て、DMA許可ビットをセットすると同時にDMA転送
を開始するというような、DMAコントローラのごくま
れな使用方法にも容易に対応することが可能となり、実
使用上の利便性が向上するという効果が得られる。
【0081】実施の形態10.上記実施の形態9におい
ては、DMA要求フラグクリア選択ビットの内容にした
がって、DMA許可ビットの内容に関係なくDMA要求
を受け付けるか、DMA許可ビットをセットした時点で
DMA要求フラグを一旦クリアするかを選択する場合に
ついて説明したが、#1許可ビットと#2許可ビットの
2種類のDMA許可ビットを用意して、それらのうちの
いずれをセットするかによってその選択を行うようにし
てもよい。
【0082】図20はそのようなこの発明の実施の形態
10によるDMA転送制御方法で用いられるDMA要求
受付回路の構成を示すブロック図であり、相当部分には
図16と同一符号を付してその説明を省略する。図にお
いて、14はDMA許可ビットとして用意された#1許
可ビットと#2許可ビットの論理和をとってANDゲー
ト2に出力するORゲートである。なお、#1許可ビッ
トはDMA転送を許可するか否かを選択するためのDM
A許可ビット、#2許可ビットはDMA転送を許可する
か否かを選択するとともに、当該DMA許可ビットをセ
ットした時点でDMA要求フラグを一旦クリアするため
のDMA許可ビットであり、DMA要求フラグクリア回
路11はこの#2許可ビットに基づいてDMA要求フラ
グクリア信号を生成している。
【0083】また、図21はこの実施の形態10におけ
るDMAコントローラの、上記DMA許可ビットをセッ
トするDMA制御レジスタの構成を示す説明図である。
図において、71は#1許可ビットがセットされる《6
H 》番地の#1DMAC制御レジスタであり、その第
4ビットにはチャネル0の#1許可ビットが、第5ビッ
トにはチャネル1の#1許可ビットが、第6ビットには
チャネル2の#1許可ビットが、第7ビットにはチャネ
ル3の#1許可ビットがそれぞれセットされる。72は
#2許可ビットがセットされる《6AH 》番地の#2D
MAC制御レジスタであり、その第4ビットにはチャネ
ル0の#2許可ビットが、第5ビットにはチャネル1の
#2許可ビットが、第6ビットにはチャネル2の#2許
可ビットが、第7ビットにはチャネル3の#2許可ビッ
トがそれぞれセットされる。
【0084】次に動作について説明する。ユーザーはD
MA許可ビットに関係なくDMA要求を受け付けておい
て、DMA許可ビットをセットするとすぐにDMA転送
を開始するような使い方を指定する場合、#1DMAC
制御レジスタ71の該当するチャネル、例えばチャネル
0が割り当てられた第4ビットの#1許可ビットをセッ
トする。当該#1許可ビットはチャネル0のDMAコン
トローラのバス要求受付回路に送られて、そのORゲー
ト14を介してANDゲート2に入力され、それを
“開”の状態としてDMA要求を出力させる。ここで、
この#1許可ビットはDMA要求フラグクリア回路11
には入力されていないので、DMA要求フラグクリア回
路11からDMA要求フラグ1へのDMA要求フラグク
リア信号は発生しない。したがって、#1許可ビットを
セットしてもDMA要求フラグ1はクリアされず、DM
A許可ビットに関係なくDMA要求を受け付けて、DM
A許可ビットをセットするとすぐにDMA転送を開始す
るような使い方が可能となる。
【0085】一方、DMA許可ビットをセットした時点
でDMA要求フラグを一旦クリアする、実施の形態8と
同様の使い方を指定する場合、ユーザーは#2DMAC
制御レジスタ72の当該チャネル0が割り当てられた第
4ビットの#2許可ビットをセットする。当該#2許可
ビットはチャネル0のDMAコントローラのバス要求受
付回路に送られ、DMA要求フラグクリア回路11に入
力される。DMA要求フラグクリア回路11はこの#2
許可ビットのセット時点でDMA要求フラグクリア信号
を発生し、それをDMA要求フラグ1へ送る。したがっ
て、この時点でDMA要求フラグ1は一旦クリアされる
ため、当該#2許可ビットがORゲート14を介してA
NDゲート2に入力され、当該ANDゲート2が“開”
の状態となってもその時点ではDMA要求が出力される
ことはない。
【0086】なお、これらの動作は、第1チャネル〜第
3チャネルの#1許可ビットおよび#2許可ビットがセ
ットされた場合も、当該チャネルのDMAコントローラ
内のバス要求受付回路において同様に実行される。
【0087】このように、この実施の形態10によれ
ば、#1許可ビットをセットするか#2許可ビットをセ
ットするかによって、DMA許可ビットをセットした時
点でDMA要求フラグ1を一旦クリアするか否かを選択
しているので、DMA許可ビットに関係なくDMA要求
を受け付けておいて、DMA許可ビットをセットすると
同時にDMA転送を開始するというような、DMAコン
トローラのごくまれな使用方法にも容易に対応すること
が可能となり、実使用上の利便性が向上するという効果
が得られる。
【0088】
【発明の効果】以上のように、この発明によれば、DM
A許可ビットをセットした状態で、DMA要求フラグが
セットされるとDMA転送を開始する際に、DMA要求
フラグがセットされている場合にしかDMA要求フラグ
のセットが行えないように構成したので、DMA許可ビ
ットがクリア状態の時にDMA要求が誤って入力されて
も、DMA要求フラグがセットされるようなことはなく
なるため、DMA許可ビットをセットした時に予定外の
DMA転送が開始されるといった、擬似的な暴走動作を
防止することができるDMA転送制御方法が得られる効
果がある。
【0089】この発明によれば、DMA要求フラグのセ
ットを、DMA要求ラッチ選択ビットの内容にしたがっ
て、DMA許可ビットがセットされている時にのみ行う
か、DMA許可ビットの内容に関係なく行うかを選択す
るように構成したので、DMA要求をDMA許可ビット
に関係なく受け付けておき、DMA許可ビットのセット
と同時にDMA転送を開始するといった、DMAコント
ローラのごくまれな使用方法への対応も容易となり、実
使用時の利便性を向上させることができるという効果が
ある。
【0090】この発明によれば、DMA許可ビットがク
リア状態にあり、DMA要求フラグがセットされている
場合には、DMA要求フラグが一旦クリアされるまで新
たなDMA許可ビットのセットを禁止するように構成し
たので、予定外のDMA要求が入力されていたとして
も、DMA許可ビットをセットした時に予定外のDMA
転送が突然開始されるといった、擬似的な暴走動作を未
然に防止することができるという効果がある。
【0091】この発明によれば、DMA許可ビットがク
リア状態でDMA要求フラグがセットされる場合に、D
MA許可ビットを新たにセットすると割り込みを発生す
るように構成したので、その割り込み時にDMA要求フ
ラグを一旦クリアし、当該割り込みから復帰した後、再
度DMA要求を入力することが可能となり、DMA許可
ビットのセット時に予定外のDMA転送が開始されると
いった、擬似的な暴走動作を防止することができるとい
う効果がある。
【0092】この発明によれば、DMA許可ビットのク
リア状態時にDMA要求フラグがセットされた場合に、
割り込みを発生するように構成したので、その割り込み
時にDMA要求フラグを一旦クリアし、当該割り込みか
ら復帰した後、再度DMA要求を入力することが可能と
なり、DMA許可ビットのセット時に予定外のDMA転
送が開始されるといった、擬似的な暴走動作を防止する
ことができるという効果がある。
【0093】この発明によれば、DMA要求フラグある
いはDMA許可ビットがセットされている状態では、D
MA関連レジスタの内容の書き換えを禁止するように構
成したので、DMA関連レジスタの内容が誤って書き換
えられるといったことがなくなるため、再度DMA要求
を入力しても暴走を起こすことはなく、またDMA要求
フラグがセットされていることに気づかずにDMA関連
レジスタの内容が書き換えられるようなこともないた
め、DMA許可ビットのセット時に予定外のDMA転送
が開始されるといった、擬似的な暴走動作を防止できる
などの効果がある。
【0094】この発明によれば、DMA要求フラグある
いはDMA許可ビットがセットされている状態で、DM
A関連レジスタの内容の書き換えを指示した場合、エラ
ーフラグをセットするように構成したので、DMA要求
フラグあるいはDMA許可ビットがセットされている時
にDMA関連レジスタヘの書き込みを指示した場合、こ
のエラーフラグがセットされてその旨を表示するので、
DMA関連レジスタが誤って書き換えられることを防止
できるという効果がある。
【0095】この発明によれば、DMA許可ビットをセ
ットした時点でDMA要求フラグを一旦クリアし、その
後DMA要求の受け付けを行うように構成したので、D
MA許可ビットがクリア状態の時に予定外のDMA要求
が入力されてDMA要求フラグがセットされても、DM
A許可ビットのセット時にそれが一旦クリアされるた
め、DMA許可ビットのセット時に予定外のDMA転送
が開始されるといった、擬似的な暴走動作を防止するこ
とができるという効果がある。
【0096】この発明によれば、DMA許可ビットをセ
ットした時点でDMA要求フラグを一旦クリアするか否
かを、DMA要求フラグクリア選択ビットの内容にした
がって選択するように構成したので、DMA要求をDM
A許可ビットに関係なく受け付けておき、DMA許可ビ
ットをセットすると同時にDMA転送を開始するといっ
た、DMAコントローラのごくまれな使用方法への対応
も容易となり、実使用時の利便性を向上させることがで
きるという効果がある。
【0097】この発明によれば、DMA許可ビットをセ
ットした時点でDMA要求フラグを一旦クリアするか否
かを、#1許可ビットと#2許可ビットのいずれをセッ
トするかによって選択するように構成したので、DMA
要求をDMA許可ビットに関係なく受け付けておき、D
MA許可ビットをセットすると同時にDMA転送を開始
するといった、DMAコントローラのごくまれな使用方
法への対応も容易となり、実使用時の利便性を向上させ
ることができるという効果がある。
【図面の簡単な説明】
【図1】 この発明のDMA転送制御方法で用いられる
DMAコントローラのバス要求信号発生回路の構成を示
すブロック図である。
【図2】 この発明の実施の形態1によるDMA転送制
御方法で用いられるDMA要求受付回路の構成を示すブ
ロック図である。
【図3】 上記実施の形態1におけるDMA転送動作の
タイミングを示すタイミングチャートである。
【図4】 この発明の実施の形態2によるDMA転送制
御方法で用いられるDMA要求受付回路の構成を示すブ
ロック図である。
【図5】 この発明の実施の形態3によるDMA転送制
御方法で用いられるDMA要求受付回路の構成を示すブ
ロック図である。
【図6】 上記実施の形態3におけるDMA許可ビット
制御回路の構成を示す回路図である。
【図7】 上記実施の形態3におけるDMA転送動作の
タイミングを示すタイミングチャートである。
【図8】 この発明の実施の形態4によるDMA転送制
御方法で用いられるDMANG割り込み信号発生回路の
構成を示す回路図である。
【図9】 上記実施の形態4におけるDMANG割り込
み信号の発生タイミングを示すタイミングチャートであ
る。
【図10】 上記実施の形態4におけるDMANG割り
込み動作のタイミングを示すタイミングチャートであ
る。
【図11】 この発明の実施の形態5によるDMA転送
制御方法で用いられるDMANG割り込み信号発生回路
の構成を示す回路図である。
【図12】 上記実施の形態5におけるDMANG割り
込み信号の発生タイミングを示すタイミングチャートで
ある。
【図13】 上記実施の形態5におけるDMANG割り
込み動作のタイミングを示すタイミングチャートであ
る。
【図14】 この発明の実施の形態6によるDMA転送
制御方法で用いられるDMA関連レジスタ書き込み回路
の構成を示す回路図である。
【図15】 この発明の実施の形態7によるDMA転送
制御方法で用いられるエラーフラグセット回路の構成を
示す回路図である。
【図16】 この発明の実施の形態8によるDMA転送
制御方法で用いられるバス要求受付回路の構成を示すブ
ロック図である。
【図17】 上記実施の形態8におけるDMA要求フラ
グクリア回路の構成を示す回路図である。
【図18】 上記実施の形態8におけるDMA要求フラ
グクリア信号の発生タイミングを示すタイミングチャー
トである。
【図19】 この発明の実施の形態9によるDMA転送
制御方法で用いられるバス要求受付回路の構成を示すブ
ロック図である。
【図20】 この発明の実施の形態10によるDMA転
送制御方法で用いられるバス要求受付回路の構成を示す
ブロック図である。
【図21】 上記実施の形態10におけるDMA制御レ
ジスタの構成を示す説明図である。
【図22】 従来のDMA転送制御方法で用いられるD
MA要求受付回路の構成を示すブロック図である。
【図23】 従来の通常のDMA転送動作のタイミング
を示すタイミングチャートである。
【図24】 従来の予定外のDMA要求が入力された場
合のDMA転送動作のタイミングを示すタイミングチャ
ートである。
【符号の説明】 1 DMA要求フラグ、5 DMA要求ラッチ選択ビッ
ト、12 DMA要求フラグクリア選択ビット、50
DMA関連レジスタ、56 エラーフラグ。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 安達 聖 東京都千代田区丸の内二丁目2番3号 三 菱電機株式会社内 Fターム(参考) 5B061 BA03 BB01 DD00 QQ01 QQ03 RR02 RR03

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 DMA転送を許可するためのDMA許可
    ビットと、DMA要求を受け付けるとセットされるDM
    A要求フラグとを持ち、 前記DMA許可ビットをセットした状態で前記DMA要
    求フラグがセットされた場合にDMA転送を開始するD
    MA転送制御方法において、 前記DMA許可ビットがセットされていない場合には、
    前記DMA要求フラグのセットを禁止することを特徴と
    するDMA転送制御方法。
  2. 【請求項2】 DMA要求ラッチ選択ビットを備え、 DMA許可ビットがセットされていない場合にDMA要
    求フラグのセットを禁止するか、 前記DMA許可ビットの内容には関係なく、DMA要求
    が入力されれば前記DMA要求フラグのセットを可能と
    するかを、 前記DMA要求ラッチ選択ビットの内容にしたがって選
    択することを特徴とする請求項1記載のDMA転送制御
    方法。
  3. 【請求項3】 DMA転送を許可するためのDMA許可
    ビットと、DMA要求を受け付けるとセットされるDM
    A要求フラグとを持ち、 前記DMA許可ビットをセットした状態で前記DMA要
    求フラグがセットされた場合にDMA転送を開始するD
    MA転送制御方法において、 前記DMA許可ビットがクリア状態で、前記DMA要求
    フラグがセットされている場合、前記DMA要求フラグ
    が一旦クリアされるまで、前記DMA許可ビットの新た
    なセットを禁止することを特徴とするDMA転送制御方
    法。
  4. 【請求項4】 DMA転送を許可するためのDMA許可
    ビットと、DMA要求を受け付けるとセットされるDM
    A要求フラグとを持ち、 前記DMA許可ビットをセットした状態で前記DMA要
    求フラグがセットされた場合にDMA転送を開始するD
    MA転送制御方法において、 前記DMA許可ビットがクリア状態で、前記DMA要求
    フラグがセットされている場合に、前記DMA許可ビッ
    トを新たにセットすると割り込みを発生させることを特
    徴とするDMA転送制御方法。
  5. 【請求項5】 DMA転送を許可するためのDMA許可
    ビットと、DMA要求を受け付けるとセットされるDM
    A要求フラグとを持ち、 前記DMA許可ビットをセットした状態で前記DMA要
    求フラグがセットされた場合にDMA転送を開始するD
    MA転送制御方法において、 前記DMA許可ビットがクリア状態の時に、前記DMA
    要求フラグがセットされると割り込みを発生させること
    を特徴とするDMA転送制御方法。
  6. 【請求項6】 DMA転送を許可するためのDMA許可
    ビットと、DMA要求を受け付けるとセットされるDM
    A要求フラグとを持ち、 前記DMA転送のための転送パラメータを、あらかじめ
    DMA関連レジスタに格納しておき、 前記DMA許可ビットをセットした状態で前記DMA要
    求フラグがセットされた場合に、前記DMA関連レジス
    タの内容に基づいてDMA転送を開始するDMA転送制
    御方法において、 前記DMA要求フラグあるいは前記DMA許可ビットが
    セットされている状態では、前記DMA関連レジスタの
    内容の書き換えを禁止することを特徴とするDMA転送
    制御方法。
  7. 【請求項7】 DMA転送を許可するためのDMA許可
    ビットと、DMA要求を受け付けるとセットされるDM
    A要求フラグとを持ち、 前記DMA転送のための転送パラメータを、あらかじめ
    DMA関連レジスタに格納しておき、 前記DMA許可ビットをセットした状態で前記DMA要
    求フラグがセットされた場合に、前記DMA関連レジス
    タの内容に基づいてDMA転送を開始するDMA転送制
    御方法において、 前記DMA要求フラグあるいは前記DMA許可ビットが
    セットされている状態で、前記DMA関連レジスタの内
    容の書き換えを指示した場合、その旨を表示するエラー
    フラグのセットを行うことを特徴とするDMA転送制御
    方法。
  8. 【請求項8】 DMA転送を許可するためのDMA許可
    ビットと、DMA要求を受け付けるとセットされるDM
    A要求フラグとを持ち、 前記DMA許可ビットをセットした状態で前記DMA要
    求フラグがセットされた場合にDMA転送を開始するD
    MA転送制御方法において、 前記DMA許可ビットをセットした時点で、前記DMA
    要求フラグを一旦クリアした後、前記DMA要求を受け
    付けるようにしたことを特徴とするDMA転送制御方
    法。
  9. 【請求項9】 DMA要求フラグクリア選択ビットを備
    え、 DMA許可ビットをセットした時点でDMA要求フラグ
    を一旦クリアするか、前記DMA許可ビットの内容とは
    無関係にDMA要求を受け付けるかを、 前記DMA要求フラグクリア選択ビットの内容にしたが
    って選択することを特徴とする請求項8記載のDMA転
    送制御方法。
  10. 【請求項10】 DMA許可ビットとして、DMA転送
    の許可/禁止を選択するための#1許可ビットと、DM
    A転送の許可/禁止を選択するとともに、当該DMA許
    可ビットをセットした時点でDMA要求フラグを一旦ク
    リアする#2許可ビットとを備え、 前記DMA許可ビットをセットした時点でDMA要求フ
    ラグを一旦クリアするか、前記DMA許可ビットの内容
    とは無関係にDMA要求を受け付けるかを、 前記#1許可ビットと#2許可ビットのいずれをセット
    するかによって選択することを特徴とする請求項8記載
    のDMA転送制御方法。
JP10248658A 1998-09-02 1998-09-02 Dma転送制御方法 Pending JP2000076177A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10248658A JP2000076177A (ja) 1998-09-02 1998-09-02 Dma転送制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10248658A JP2000076177A (ja) 1998-09-02 1998-09-02 Dma転送制御方法

Publications (1)

Publication Number Publication Date
JP2000076177A true JP2000076177A (ja) 2000-03-14

Family

ID=17181416

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10248658A Pending JP2000076177A (ja) 1998-09-02 1998-09-02 Dma転送制御方法

Country Status (1)

Country Link
JP (1) JP2000076177A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003006003A (ja) * 2001-06-18 2003-01-10 Mitsubishi Electric Corp Dmaコントローラおよび半導体集積回路
JP2007310735A (ja) * 2006-05-19 2007-11-29 Nec Electronics Corp ダイレクトメモリアクセスコントローラ

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003006003A (ja) * 2001-06-18 2003-01-10 Mitsubishi Electric Corp Dmaコントローラおよび半導体集積回路
JP2007310735A (ja) * 2006-05-19 2007-11-29 Nec Electronics Corp ダイレクトメモリアクセスコントローラ

Similar Documents

Publication Publication Date Title
US4870562A (en) Microcomputer capable of accessing internal memory at a desired variable access time
JPH05274259A (ja) シリアル入力インタフェース回路
JPH07200413A (ja) マイクロコンピュータ
JPS5914840B2 (ja) 半導体メモリ試験用パタ−ン発生装置
US4819158A (en) Microprocessor with an interruptable bus cycle
JP2008545190A (ja) 集積回路およびオンチップメモリへのアクセスの確保方法
JPH11355536A (ja) 画像処理方法および画像処理装置
US5051890A (en) Program/data memory employed in microcomputer system
JP2000076177A (ja) Dma転送制御方法
US5586336A (en) Microcomputer capable of monitoring internal resources from external
JPH07182170A (ja) マイクロプロセッサ
JPS62103749A (ja) Dmaコントロ−ラ
JPH08235073A (ja) マイクロコンピュータ
JPS61245255A (ja) 不揮発性メモリ装置
JPH0337897A (ja) マイクロコンピュータ
JPH08241296A (ja) 半導体集積回路
JP2852149B2 (ja) セマフォビット回路
JPH0721117A (ja) Dmaコントローラ
JP2000029508A (ja) プログラマブルコントローラ
JPH06282493A (ja) メモリ装置
US20030217203A1 (en) DMA circuit with bit handling function
JPH01173382A (ja) 記憶回路
JPH06103171A (ja) 記憶装置
JP2000010908A (ja) Dmaコントローラ
JPS62251857A (ja) メモリ制御方式