JP3264921B2 - データ転送制御装置 - Google Patents
データ転送制御装置Info
- Publication number
- JP3264921B2 JP3264921B2 JP32317590A JP32317590A JP3264921B2 JP 3264921 B2 JP3264921 B2 JP 3264921B2 JP 32317590 A JP32317590 A JP 32317590A JP 32317590 A JP32317590 A JP 32317590A JP 3264921 B2 JP3264921 B2 JP 3264921B2
- Authority
- JP
- Japan
- Prior art keywords
- transfer
- data
- register
- data transfer
- address
- 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 - Lifetime
Links
Landscapes
- Bus Control (AREA)
Description
装置(I/O)間のデータ転送方式に適用して特に有効な
技術に関し、例えばシングルチップマイクロコンピュー
タやダイレクトメモリアクセス(DMA)コントローラに
利用して有効な技術に関する。
装置(I/O)間で中央処理ユニット(CPU)を介さずに、
直接データを転送可能にするデバイスとしてたとえば、
ダイレクトメモリアクセス(DMA)コントローラが提供
されている。
−198351,JP−A−63−29868,JP−A−63−163560及びJ
P−A−1−50153などに開示される様に種々の方式が提
案される。これらの日本特許公開公報のDMA転送方式
は、1回の転送要求に対し転送語数(転送回数、又はレ
ングス)レジスタ内にストアされた転送語数データの値
に対応する回数だけ、データ転送を連続して行なう方式
である。
命令を使ってデータを転送すめよりも高速に特定アドレ
ス間においてデータ転送を行なうだけのものであり、第
5図(B)に示すようにアドレス空間上において互いに
離れた位置にある2つのデータDATA1,DATA2を1回の転
送要求で転送するようなことはできなかった。そのた
め、DMA転送をポート等の周辺I/Oの複雑な制御に利用す
るようなことはできなかった。
せたいようなときは、DMA転送を用いてポートに定期的
に書込みを行なうことで実現できる。そのDMAの転送要
求にはタイマの割込み要求を使用するのが一般的であ
る。この場合、タイマからの転送要求によりDMAコント
ローラはポートへのデータ書込みの他、タイマのフラグ
クリアを含む条件の再設定を行なわなければならない。
ところが従来のDMAコントローラは、1回の転送要求に
対しては1回の転送しか実現できないためDMA転送によ
るパルスの出力制御を実現することができなかった。
法を提供することにある。
ータ転送方法を実現可能なダイレクトメモリアクセスコ
ントローラ及びシングルチップマイクロコンピュータを
提供することにある。
については、本明細書の記述および添付図面から明らか
になるであろう。
要を説明すれば、下記のとおりである。
スタ内に設定された値の整数倍のデータ転送を実現でき
るデータ転送方法である。例えば、10進法にしたがう10
回という値が、転送回数レジスタに設定されたならば、
10×n(nは整数)個のデータを転送することが可能と
される。
レクトメモリアクセスコントローラ及びシングルチップ
マイクロコンピュータは、転送元アドレスを保持する為
の転送元アドレスレジスタと、転送先アドレスを保持す
るための転送先アドレスレジスタとを一対のアドレスレ
ジスタ群とする場合、この様なアドレスレジスタ群を複
数対含む。さらに、上記ダイレクトメモリアクセスコン
トローラや、マイクロコンピュータは、転送回数レジス
タと、転送モードを指定するための制御レジスタを含
み、上記制御レジスタは、その内部に、転送モードを識
別するためのコントロールビット(フラッグビット)を
含む。このコントロールビットは、セット状態と
(“1")とクリア状態(“0")を有し、それがセット状
態とされた場合、本発明に従うデータ転送を指定し、そ
れがクリア状態とされた場合、従来のデータ転送を指定
する。上記に記載された各レジスタは、それぞれスタテ
ィック型フリップフロップ回路などで構成することがで
きるし、また半導体メモリ内の所定のアドレス番地に設
定されることも可能である。
る。尚、説明を簡単化するために、ダイレクトメモリア
クセスコントローラは、第1及び第2転送元アドレスレ
ジスタ、第1及び第2転送先アドレスレジスタ転送回数
レジスタ及び制御レジスタを含む場合を想定する。たと
えば、ダイレクトメモリアクセスコントローラがデータ
転送要求を受けると、まず第1転送元アドレスレジスタ
内に設定された第1転送元アドレスデータの示す、たと
えば半導体メモリのアドレスから転送すべき第1データ
が読み出されるとともに上記第1転送元アドレスデータ
が更新される。次に、上記第1データは第1転送先アド
レスレジスタ内に設定された第1転送先アドレスデータ
の示すたとえば第1データレジスタに書き込まれるとと
もに第1転送先アドレスデータが更新される。その後、
制御レジスタ内の転送モード指定コントロールビットの
状態が調べられる。
いるなら、第2転送元アドレスレジスタ内の第2転送元
アドレスデータの示すたとえば半導体メモリのアドレス
から転送されるべき第2データが読みだされるとともに
第2転送元アドレスデータが更新される。次に、第2デ
ータが第2転送先アドレスレジスタ内に設定された第2
転送先アドレスデータの示すたとえば第2データレジス
タに書き込まれるとともに、第2転送先アドレスデータ
が更新される。そして、上記転送回数レジスタ内に設定
された回数データの値が1だけデクリメントされて、次
のデータ転送へと移行する。
いるならば、第2転送元及び第2転送先アドレスレジス
タに基づくデータ転送は行なわれず、転送回数レジスタ
内に設定された回数データの値が1だけデクリメントさ
れて、次のデータ転送へと移行する。尚、このデータ転
送は、従来のデータ転送と同一である。
空間上において互いに離れたアドレス位置にある2つの
データDATA1,DATA2を1回の転送要求で転送することが
できる。そのため、DMA転送をポート等の周辺I/Oの複雑
な制御に利用することができる。
ポートから所定の波形パルスを出力させるときは、本発
明のDMA転送を用いて上記出力ポートのデータレジスタ
に定期的にデータを書込むことによって、所定の波形パ
ルスの出力が実現できる。この様なDMA転送の転送要求
にはタイマの割込み要求が使用される。この場合、タイ
マからの1個の転送要求によりDMAコントローラは出力
ポートの内蔵レジスタへのデータ書込みの他、タイマの
フラグのクリア動作を含む条件の再設定を行なうことが
必要とされるから、本発明に従うデータ転送方法が有効
である。
トローラ(DMAC)を含むデータプロセッサシステムを示
す。
記憶するメモリ装置20、上記メモリ装置20内のプログラ
ムを実行し、所定のデータ処理を行なう中央処理装置
(CPU)10,データプロセッサシステムに必要とされるタ
イムインターバルを発生するためのタイマモジュール21
及びDMAC100を含む。これらの各回路10,20,21,100はシ
ステムアドレスバス110及びシステムデータバス115を介
して結合される。
レジスタ2、転送要求回数レジスタ3、インクリメンタ
4、テンポラリレジスタ5、転送元アドレスレジスタ6a
及び6b、転送先アドレスレジスタ7a及び7b、アドレスバ
ス8、及びデータバス9を含む。
力(I/O)デバイス30からのデータ転送要求信号DRQ1,DR
Q2またはタイマ21からの割込み要求信号TIRを受ける
と、優先順位を判定するとともに、コントロール信号CN
Tの状態に応じてバスマスタとされるCPU10からバス権を
獲得し、アクノリッジ信号DACKをバスマスタとされるCP
U10に出力する様に動作する。その結果、DMAC100は、バ
ス権の取得によってデータ転送開始状態とされるととも
に、上記バス&タイミング制御回路1はデータ転送制御
を開始する。すなわち、上記バス&タイミング制御回路
1はバスアビータの機能を有する 制御用レジスタ2はデータ転送モードや転送データの
サイズ等を指定するためのレジスタで、転送要求回数レ
ジスタ3は転送要求回数を格納するためのレジスタであ
る。インクリメンタ4は転送回数を更新したり転送アド
レスを更新(インクリメントおよびデクリメント)する
ために設けられ、テンポラリレジスタ5はメモリ又はI/
Oデバイスから読み出したデータを一旦保持するために
設けられる。
データのストアされている各アドレスを指定するための
レジスタで、それぞれ異なるアドレスをストア可能であ
る。
レジスタ6aによって指定されたアドレスにストアされた
データの転送先アドレスを指定する。上記転送先アドレ
スレジスタ7bは上記転送元アドレスレジスタ6bによって
指定されたアドレスにストアされたデータの転送先アド
レスを指定する。
2図に示すように構成され、以下の制御ビットを含む。
て行なわれるデータ転送動作において、転送されるべき
データのサイズを指示する。たとえば、SZ1がクリア状
態“0"とされると、8ビット(1バイト)のデータが転
送先レジスタ7a内のアドレスデータによって指定される
アドレスにストアされる。SZ1がセット状態“1"とされ
ると、16ビット(1ワード)のデータがレジスタ7aの内
容によって指示されるアドレスにストアされる。
内にストアされたアドレスデータをインクリメントする
か否かを指定する。SI1がクリア状態“0"とされると、
レジスタ6a内のアドレスデータはインクリメントされ
ず、ソースアドレス固定モードのデータ転送が実行され
る。SI1がセット状態“1"とされ、かつ、上記SZ1がクリ
ア状態“0"とされると、データ転送終了後、レジスタ6a
内のアドレスデータが+1だけインクリメンタ4によっ
て更新される。SI1がセット状態“1"とされ、かつ、SZ1
がセット状態“1"とされると、データ転送終了後、レジ
スタ6a内のアドレスデータが+2だけインクリメンタ4
によって更新される。
a内のアドレスデータをインクリメントするか否かを指
定する。DI1がクリア状態“0"とされると、レジスタ7a
内のアドレスデータはインクリメントされず、ディステ
ィネションアドレス固定モードのデータ転送が実行され
る。DI1がセット状態“1"とされ、かつ、SZ1が“0"とさ
れると、データ転送終了後、レジスタ7a内のアドレスデ
ータが+1だけインクリメンタ4によって更新される。
DI1が“1"とされ、かつ、SZ1が“1"とされると、データ
転送終了後、レジスタ7a内のアドレスデータが+2だけ
インクリメンタ4によって更新される。
ッグであり、転送元及び転送先アドレスレジスタ6b及び
7bにもとづくデータ転送が、転送元及び転送先アドレス
レジスタ6a及び7aにもとづくデータ転送の終了後、実行
されるか否かを指定する。
て行なわれるデータ転送動作において、転送されるべき
データのサイズを指示する。たとえば、SZ2がクリア状
態“0"とされると、8ビット(1バイト)のデータが転
送先レジスタ7b内のアドレスデータによって指定される
アドレスにストアされる。SZ2がセット状態“1"とされ
ると、16ビット(1ワード)のデータがレジスタ7bの内
容によって指示されるアドレスにストアされる。
b内にストアされたアドレスデータをインクリメントす
るか否かを指定する。SI2がクリア状態“0"とされる
と、レジスタ6b内のアドレスデータはインクリメントさ
れず、ソースアドレス固定モードのデータ転送が実行さ
れる。SI2がセット状態“1"とされ、かつ、上記SZ2が
“0"とされると、データ転送終了後、レジスタ6b内のア
ドレスデータが+1だけインクリメンタ4によって更新
される。SI2が“1"とされ、かつ、SZ2が“1"とされる
と、データ転送終了後、レジスタ6b内のアドレスデータ
が+2だけインクリメンタ4によって更新される。
b内のアドレスデータをインクリメントするか否かを指
定する。DI2がクリア状態“0"とされると、レジスタ7b
内のアドレスデータはインクリメントされず、ディステ
ィネションアドレス固定モードのデータ転送が実行され
る。DI2がセット状態“1"とされ、かつ、SZ2が“0"とさ
れると、データ転送終了後、レジスタ7b内のアドレスデ
ータが+1だけインクリメンタ4によって更新される。
DI2が“1"とされ、かつ、SZ2が“1"とされると、データ
転送終了後、レジスタ7b内のアドレスデータが+2だけ
インクリメンタ4によって更新される。
様本発明を特徴ずけるフラッグである。
アドレスレジスタ6a及び転送先アドレスレジスタ7aにも
とづくデータ転送のみの実行を定義する。コントロール
ビットFG1のセット状態“1"は転送元アドレスレジスタ6
a及び転送先アドレスレジスタ7aに基づくデータ転送の
終了後、ひきつづき転送元アドレスレジスタ6b及び転送
先アドレスレジスタ7bに基づくデータ転送を実行するこ
とを定義する。
転送元及び転送先アドレスレジスタ6b及び7bに基づくデ
ータ転送の終了後、転送元及び転送先アドレスレジスタ
6a及び7aに基づくデータ転送に次の処理が移行されるこ
とを定義する。コントロールビットFG2のセット状態
“1"は、たとえば、第2図に示される制御レジスタ2の
7ビットから5ビットに上述の様なSZ1(SZ2),SI1(SI
2)及びDI1(DI2)と同様な定義がされ、かつ、さらに
第3転送元及び第3転送先アドレスレジスタが第1図の
DMAC100内に設けられている場合、転送元及び転送先ア
ドレスデータ6b及び7bに基づくデータ転送終了後、ひき
つづき第3転送元及び第3転送先アドレスレジスタに基
づくデータ転送が行なわれることを定義する。したがっ
て、第1図に示すようなDMAC100においては、コントロ
ールビットFG2のセット状態“1"は禁止される。尚、第
2図において7ビットから0ビットの“−”は未定とさ
れている状態を示している。
求回数データのデクリメントタイミングは、上記コント
ロールビットFG1及びFG2の状態によって制御される。FG
1がクリア状態“0"とされていると、転送元及び転送先
アドレスレジスタ6a及び7aにもとづくデータ転送が1回
行なわれた後、上記回数データは、インクリメンタ4に
よって−1だけデクリメントされる。FG1がセット状態
“1"とされ、かつ、FG2がクリア状態“0"とされている
と、転送元及び転送先アドレスレジスタ6a及び7aにもと
づくデータ転送及び転送元及び転送先アドレスレジスタ
6b及び7bにもとづくデータ転送が連続して1回づつ行な
われた後、上記回数データはインクリメンタ4によって
−1だけデクリメントされる。
合、第6図に示される様なタイミングで転送要求回数レ
ジスタ3内のデータのデクリメントが実行される。尚図
中、Aで示される部分は、転送元及び転送先アドレスレ
ジスタ6a,7aにもとづくデータ転送を示す。
図に示される様なタイミングで転送要求回数レジスタ3
内のデータのデクリメントが実行される。尚第7図にお
いて、Aで示される部分はレジスタ6a,7aに基づくデー
タ転送を、Bで示される部分はレジスタ6b,7bに基づく
データ転送をそれぞれ示している。
配列で設定された制御レジスタ2の各コントロールビッ
トの状態を制御コードと見なし、左側から順次読み出し
て解読し、インクリメンタ4,アドレスレジスタ6a,7a及
び6b,7bやテンポラリレジスタ5等をシーケンシャルに
動作させる制御信号を出力する。それによって、データ
転送が実行される。
様な従来のデータ転送及び第5図(B)の様な各々独立
したアドレス間のデータ転送を実行する場合の動作手順
について説明する。
開始直前もしくはイニシャライズ時に予めDMAコントロ
ーラDMAC内の制御用レジスタ2内に対応する転送モード
を書き込むとともに、転送要求回数レジスタ3に転送要
求回数を、また、アドレスレジスタ6a及び6b,7bに転送
元アドレスデータSA1及びSA2をアドレスレジスタ7aと7b
に転送先のアドレスデータDA1及びDA2をそれぞれ設定す
る。尚、第5図(A)の様なデータ転送先の場合は、レ
ジスタ6b,7bは使用されないので、それらへのデータSA
2,DA2の書き込みは行なわない。
転送要求DRQ1もしくはタイマモジュール21からの割込み
要求TIRを受けると、バス&タイミング制御回路1がバ
スマスタであるCPU10からバス権を獲得する。そして、
バス&タイミング制御回路1は、上記制御用レジスタ2
内のコード(SZ1,SI1,DI1)を左側から順次読み出して
解読し、先ず第1転送元アドレスレジスタ6a内のアドレ
スデータSA1をアドレスバス8上に出力するとともに、
リードライト信号R/Wをリード状態“H"にアサートし
て、リード側のデバイス(この場合メモリ20)をアクセ
スする。これによってメモリ20から読み出された例えば
1バイトのデータDATA1はデータバス9を介して一旦テ
ンポラリレジスタ5に格納される。次に、DMAコントロ
ーラは第1転送先アドレスレジスタ7a内のアドレスデー
タDA1をアドレスバス8上に出力するとともに、リード
ライト信号R/Wをライト状態(“L")に変化させてライ
ト側の(例えばタイマモジュール)内のデータレジスタ
をアクセスし、テンポラリレジスタ5内のデータDATA1
をデータバス9上に出力する。そして、制御レジスタ3
のコントロールビットSI1及びDI1の状態に従って、レジ
スタ6a及び7aのアドレスデータSA1及びDA1がインクリメ
ントされたり、インクリメントされなかったりする。こ
れによって転送元及び転送先アドレスレジスタ6a,7aに
基づく1回目のデータ転送が終了する。
2内のフラグFG1を調べてクリア状態“0"なら転送を終
了し、レジスタ3内の回数データがインクリメンタ4で
−1だけデクリメントされて、レジスタ3内に書き込ま
れる。したがって、第5図(A)に示される様なデータ
転送が実施されることになる。一方、フラグFG1がセッ
ト状態“1"に設定されていると、フラグFG1の次のコー
ド(SZ2,SI2,DI2)を読み出して2回目の転送を開始す
る。すなわち、先ず第2転送先アドレスレジスタ6b内の
アドレスSA2をアドレスバス8に出力してメモリからた
とえば、1バイトのデータDATA2を読み出してテンポラ
リレジスタ5に入れ、次に第2転送先アドレスレジスタ
7b内のアドレスDATA2を出力して所望のタイマモジュー
ル21内のコントロールレジスタにテンポラリレジスタ5
内のデータDATA2を書き込む。それから、バス&タイミ
ング制御回路1はフラグFG2を調べてそれがクリア状態
“0"ならバス権を開放し、転送を終了して、転送要求回
数レジスタ3内の回数データがインクリメンタ4に送ら
れてデクリメント(−1)されてから元のレジスタ3へ
書き込まれる。
れるごとにDMAC100はデータ転送を繰り返し、転送要求
回数レジスタ3の値が「0」になるとDMAC100はその旨
をCPU10へ知らせる。CPU10は転送元アドレスレジスタ6
a,6b,7a及び7bのアドレスデータを書き換えてI/Oデバイ
スに転送すべきデータを変更したり、回数レジスタ3や
制御用レジスタ2の値を設定し直す。
ルチップマイクロコンピュータの外部端子から所定の波
形を有するパルスを出力させる場合に利用することがで
きる。この場合、第1図に2点鎖線で囲まれた内部の領
域がシリコンの様な1つの単結晶半導体基板(chip)内
に形成されていると見なされるとともに、配線X及び外
部端子Yが存在すると見なされる。尚、図中には外部端
子Y以外の外部端子は記入されていないが、実際のシン
グルチップマイクロコンピュータは、端子Y以外に複数
の外部端子を有することは、当業者にとって容易に理解
されるだろう。
ランニングカウンタ(FRC)200を含む。FRT200は、その
内部にクロック信号φ受けてクロック数をカウントする
16ビットのアップ・カウンタによって構成されたフリラ
ンニング・カウンタFRC202,上記FRC202のカウント値と
比較されるべきデータをストアするアウトプット・コン
ペア・レジスタ(OCR)204,上記FRCとOCRのそれぞれの
値を比較し、両者が一致したとき一致信号Cを出力する
比較回路(COMP)206,上記FRTの動作制御の為のタイマ
コントロールレジスタ(TCR)208及びタイマコントロー
ル/ステータスレジスタ(TCSR)、及びタイマコントロ
ールロジック(TCL)212を含む。上記FRC,OCR,TCR及びT
CSRはそれぞれリード・ライト可能なレジスタであり、
そのリード動作及びライト動作はリード/ライト信号
(R/W)によって制御される。また上記FRC,OCR,TCR及び
TCSRはそれぞれデータバス110に結合されるとともに、
アドレスバス115上のアドレス信号をデコードするアド
レスデコーダ214から出力される選択信号SEL0〜SEL3に
よって、選一的に選択される。
出力を許可するか否かを指定するアウトプットイネーブ
ルフラッグ、及びCOMP206から一致信号Cが発生したと
きタイマ割込み要求TIRの出力を許可するか否かを指示
するアウトプットインタラプトイネーブルフラッグを含
む。TCSR210は一致信号Cにより、アウトプットコンペ
ア信号FTOの出力レベルを指定するアウトプットレベル
コントロールフラッグを含む。
ッグのセット状態“1"で、上記一致信号Cを上記COMP20
6から受けると、アウトプットレベルコントロールフラ
ッグによって指定された出力レベルを有するFTO信号を
出力する様に動作する。また、アウトプットレベルコン
トロールフラッグがクリア状態“0"とされると、FTO信
号はD−レベルにされ、そのフラッグがセット状態とさ
れると、FTO信号はハイレベルとされる。上記TCL212
は、アウトプットインターラプトイネーブルフラッグが
セット状態“1"で、上記一致信号を受けると、たとえば
ハイレベルのTIR信号を出力するように動作する。
スとして、たとえば、プリンター300内のステップモー
ター302を例示的に示している。すなわち、上記FTO信号
で、上記モーター302の回転数及び/又はトルクを制御
しようとする例が述べられる。
クロコンピュータのアドレス空間とデータ転送の順番と
の間の関係が示される。このデータ転送において、DMAC
100内の制御レジスタ2、転送元及び転送先アドレスレ
ジスタ6a,6b,7a7bは、表1の様に初期設定され、タイマ
割込(TIR)がDMACに入力されるごと に、データ転送先 が実行されていく。
図及びFTO信号の出力レベルの関係が示される。
態を示し、2点鎖線はOCR204の値を示し、上記2点鎖点
の矢印はOCR204の値の変更を示し、点線はOCR204の内容
とFRC202のカウント値の一致点すなわち、TIRの出力さ
れるタイミングを示し、FTOは外部端子Yから出力され
るFTO信号の出力レベルを示す。理解を容易とするため
に、図中に、CPU10の動作期間とデータ転送期間との時
間配分が示されている。CPU動作期間はCPU EX.と示さ
れ、CPU10がデータ処理プログラムを実行していること
を示す。,…はデータ転送を示し、Jは、アドレス
レジスタ6bのアドレスのインンリメント動作を、Kは回
数レジスタ3のデクリメント動作を示す。
の外部端子Yから所定の波形パルス(FTO)を出力さ
せ、しかもそのパルスを所望の回数だけ出力させた後に
パルスの幅を変えたりすることができる。従って、これ
をステップモータ302の制御パルスの形成に利用すると
初めは回転度が徐々に速くなり、途中から一定速度にな
るようにステップモータ302を制御するようなことが可
能となることは当業者にとって容易に理解されるであろ
う。
けられているが、上記制御用レジスタ2と転送先および
転送元アドレスレジスタ6a〜7bの組を複数チャネル分設
け、複数の独立したデータ転送を行なえるようにしても
よい。
とともに転送語数等を設定する転送回数レジスタを設
け、ブロック転送等における転送回数を入れるようにし
てもよい。
適用し、上記データ転送をマイクロプログラムで実現で
きるようにした実施例について説明する。
クロコンピュータ102の構成例が、また第4図にはメモ
リーI/O間のデータ転送を可能にするマイクロプログラ
ムの制御手順の一例が示されている。
の制御部と演算器やレジスタ類を含む実行ユニットから
なるマイクロプロセッサ、12はプログラマブルな内蔵タ
イマ、13はタイマ割込みTIRや外部デバイスからの割込
み要求IRQを受けて優先順位を決定する割込み制御回
路、14はバス権を獲得したり、外部デバイスに対する制
御信号を形成したりするバスアビータの機能を含むバス
&タイミンング制御回路である。
で、この実施例ではポート15内に出力状態を制御するた
めのデータレジスタDRが2つ設けられている。このデー
タレジスタDR1とDR2はカスケード接続されており、1段
目のデータレジスタDR1はCPU11からの制御信号によって
データバス19上のデータを読込み、2段目のデータレジ
スタDR2はタイマ12からの信号CMによって1段目のデー
タレジスタDR2内のデータを取込むように構成されてい
る。
バス19に接続される外部メモリ(RAM)20内の所定アド
レス領域に第1図に示されている制御レジスタ2と、転
送要求回数レジスタ3および転送元アドレスレジスタ6
a,6bと転送先アドレスレジスタ7a,7bが割り当てられ
て、第4図に示すようなマイクロプログラム制御フロー
によって、メモリ20とI/O間のデータ転送を実行するよ
うに構成されている。
ポート15のレジスタにデータを転送して所定パルスを出
力させる場合の手順を第4図のフローチャートを用いて
説明する。
TIRが入ると、割込み制御回路13はバス&タイミング制
御回路14へバス要求信号BRを送る。バス&タイミング回
路14はバス権を獲得し、CPU11にアクノリッジ信号ACKを
出力する。CPU11はデータ転送のための割込み(DTCIR
Q)かそれ以外の割込みか判定する(ステップS1)。デ
ータ転送割込みDTCIRQの場合、ステップS2へ進みベクタ
領域から対応するデータ転送の為の割込みベクタ(DTC
ベクタ)すなわちメモリ20内に入っている制御用レジス
タ2のアドレスをCPU11が読み込むとともに、そのアド
レスを使ってメモリ20をアクセスし制御用レジスタ2の
内容(転送モード(SZ1,SI1,DI1)等)を読み込む(ス
テップS3)。そして、CPU11はデータのサイズ(SZ1)と
転送モード(SI1,DI1)を解読し、先ずメモリ20内の転
送元アドレスレジスタ6aとされるアドレスにストアされ
たソースアドレスを読み込むとともに、そのソースアド
レスをアドレスバス18上に出力し、それによって、CPU1
はメモリ20をアクセスして転送されるべきデータを読み
込む(ステップS4,S5)。それから、CPUは上記ステップ
S3で読み込んだ転送モード(SI1)から転送元アドレス
を更新すべきか否か判定する(ステップS6)。ポート15
よりモータの駆動パルスを出力させるような場合には、
出力状態をタイマ割込みTIRの度に反転させる必要があ
るので転送元アドレスをインクリメントまたはデクリメ
ントすることになる。この場合には、ステップS6からS7
へ移行して、サイズ指定部(SZ1)に応じて転送元アド
レスにプラス1またはプラス2を行なってそれを転送元
アドレスレジスタ6aに書き込む。(ステップS8)。
スタ7a内にストアされたデスティネションアドレスを読
み込むとともにそのデスティネションアドレスをアドレ
スバス18上に出力する。その時、ステップS5で読み込ん
だ転送すべきデータをデータバス19上に出力する(ステ
ップS9,S10)。バス19上に出力されたデスティネション
アドレスがポート15を指定するものであるときは、デコ
ーダ16によってポート15内のデータレジスタDR1の選択
信号SEL1が形成され、バス19上のデータがデータレジス
タDR1に格納される。
だ転送モードDI1に基づいて転送先アドレスを更新する
か否か判定する(ステップS11)。タイマ割込みで出力
ポートを制御する場合、転送先アドレスは固定であるた
め、この場合にはステップS11からS14へジャンプし、制
御用レジスタ2内の終了フラグFG1がセット状態か“1"
か否か調べられる。FG1が“1"のときはステップS4へ戻
って2回目の転送を開始する。2回目の転送では、メモ
リ20内のアドレスレジスタ6b,7bを使用してタイマ12内
の時間レジスタ(第8図のOCR)(パルス幅に対応して
いる)を設定するためのデータをメモリ20から転送すべ
く、ステップS4〜S14を繰り返す。この場合、モータの
回転速度を変えるようなときはステップS6からS7へ移行
して転送元アドレスを更新し、回転速度を一定に保つと
きは転送元アドレスの更新は行なわないようにすればよ
い。
チェックされ、クリア状態“0"ならステップS15へ進
み、メモリ20から転送要求回数レジスタ3の内容(DTC
R)を読み込んでデクリメントしてから元のレジスタ3
のアドレス内にデクリメントされた値を書き込む(ステ
ップS16,S17)。その後、レジスタ3の値(転送要求回
数DTCR)が「0」になったか否か判定する(ステップS1
8)そして、「0」でないときはそのまま次のタイマ割
込みTIRが来るのを待ち、タイマ割込みTIRが入ると上記
手順S1〜S18を繰り返し、同一の転送モードでポート15
の出力状態を制御する。
と判定すると、ステップS21へ移行し、別の割込み処理
を開始する。ポート15から出力されるモータの駆動パル
スを制御するような場合には、この割込み処理で制御用
レジスタ2を書き換えて転送モードを変えたりすること
ができる。
を開始してから1000個目のパルスまでパルス幅を徐々に
大きくして回転速度を次第に増加させ、その後はパルス
幅すなわち回転速度を一定とするようにパルス幅の一定
なパルスを連続的に出力させるようなモータの制御が可
能となる。
ータでは、制御用レジスタ2や転送元、転送先アドレス
レジスタ6a〜7bを外部のメモリ20内に用意するとした
が、シングルチップマイクロコンピュータが内蔵RAMを
有する場合には、その中に用意しておくようにしてもよ
いことはいうまでもない。
転送先アドレスを設定可能なアドレスレジスタの組を2
組用意するとともに、転送方法を指定するため用意され
た制御用レジスタ内に上記アドレスレジスタ組のうち一
方のみを使用する転送モードと両方を使用する転送モー
ドを区別するビット(FG1)を設け、上記制御用レジス
タの制御コードを解読しながらデータ転送のための制御
信号を形成させるようにしたので、転送元アドレスと転
送先アドレスを2つずつ設定できるため、1回の転送要
求で2回の各々独立したアドレス間のデータ転送が可能
となる。また、制御用レジスタ内に1回転送と2回転送
を区別するビット(FG1)が設けられているため、新た
に可能となった上記2回転送の他、従来の1回の転送要
求で1回の転送を行なうDMAコントローラの機能を保障
することができるという効果がある。
具体的に説明したが、本発明は上記実施例に限定される
ものではなく、その要旨を逸脱しない範囲で種々変更可
能であることはいうまでもない。例えば上記第1の実施
例ではCPUと別個のチップ上に形成されたDMAコントロー
ラを想定して説明したが、本発明はシングルチップマイ
クロコンピュータ内蔵のDMAコントローラに適用するこ
とも可能である。
明をその背景となった利用分野であるDMAコントローラ
およびシングルチップマイクロコンピュータに適用した
ものについて説明したがこの発明はそれに限定されるも
のでなく、データ転送機能を有する半導体回路一般に利
用することができる。
って得られる効果を簡単に説明すれば下記のとおりであ
る。
レス間のデータ転送ができるようなDMAコントローラが
提供でき、また、シングルチップマイコンにおいてDMA
転送によるパルスの出力制御が可能となる。
実施例を示すブロック図、 第2図はその制御用レジスタの構成例を示す図、 第3図は本発明をシングルチップマイクロコンピュータ
に適用した場合に一実施例を示すブロック図、 第4図はマイクロプログラムによるデータ転送制御手順
を示すフローチャート、 第5図(A)は従来のDMAコントローラによるデータ転
送方式を示すメモリマップ、 第5図(B)は発明のDMAコントローラによるデータ転
送方式を示すメモリマップ、 第6図はコントロールビットFG1が“0"とされた場合の
回数レジスタのデクリメントタイミングを示し、 第7図はコントロールビットFG1が“1"とされた場合の
回数レジスタのデクリメントタイミングを示し、 第8図はフリランニングカウンタの構成及び被制御装置
を示し、 第9図はデータ転送の順序を示し、 第10図は、第9図のデータ転送における動作波形図を示
す。 11……マイクロプロセッサ、15……ポート、16……デコ
ーダ、DR1,DR2……データレジスタ。
Claims (3)
- 【請求項1】第1転送元アドレスをストアするための第
1記憶手段、 第1転送先アドレスをストアするための第2記憶手段、 第2転送元アドレスをストアするための第3記憶手段、 第2転送先アドレスをストアするための第4記憶手段、 転送要求回数データをストアするための第5記憶手段、 データ転送を制御するための制御手段を含み、 上記制御手段は、 上記第1、第2記憶手段を用いた第1データ転送を制御
するための第1制御ビット、 上記第3、第4記憶手段を用いた第2データ転送を制御
するための第2制御ビット、 一方の状態が上記第1データ転送を繰り返して行われる
ことを示し、かつ、他方の状態が上記第1及び第2デー
タ転送がそれぞれ1回ずつ連続して実行されることを示
す第3制御ビットを持ち、 上記第3制御ビットが上記一方の状態とされている時、
上記第1データ転送を上記転送要求回数を示す回数行
い、 上記第3制御ビットが上記他方の状態とされている時、
上記第1及び第2データ転送の連続転送を上記転送要求
回数を示す回数を行うようにすることを特徴とするデー
タ転送制御装置。 - 【請求項2】請求項1において、 上記転送要求回数は、 上記第3制御ビットが一方の状態とされている時、第1
データ転送が行われた後、1デクリメントされ、 上記第3制御ビットが他方の状態とされている時、第1
及び第2データ転送が連続して行われた後、1デクリメ
ントされこることを特徴とするデータ転送制御装置。 - 【請求項3】請求項3において、 上記データ転送制御装置は、中央処理ユニットを含む1
チップデータプロセッサ内に内蔵され、 データ転送要求に対して、上記データ転送制御装置が応
答する第1動作と、上記中央処理ユニットが応答する第
2動作とを含むことを特徴とするデータ転送制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP32317590A JP3264921B2 (ja) | 1990-11-28 | 1990-11-28 | データ転送制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP32317590A JP3264921B2 (ja) | 1990-11-28 | 1990-11-28 | データ転送制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH04195448A JPH04195448A (ja) | 1992-07-15 |
JP3264921B2 true JP3264921B2 (ja) | 2002-03-11 |
Family
ID=18151915
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP32317590A Expired - Lifetime JP3264921B2 (ja) | 1990-11-28 | 1990-11-28 | データ転送制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3264921B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3841810B2 (ja) | 2002-09-30 | 2006-11-08 | 株式会社ルネサステクノロジ | データプロセッサ |
JP2007128336A (ja) * | 2005-11-04 | 2007-05-24 | Nec Corp | 並列レジスタアクセス装置及びシステムlsi |
-
1990
- 1990-11-28 JP JP32317590A patent/JP3264921B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH04195448A (ja) | 1992-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4514808A (en) | Data transfer system for a data processing system provided with direct memory access units | |
US5642489A (en) | Bridge between two buses of a computer system with a direct memory access controller with accessible registers to support power management | |
US5630172A (en) | Data transfer control apparatus wherein an externally set value is compared to a transfer count with a comparison of the count values causing a transfer of bus use right | |
US5212795A (en) | Programmable DMA controller | |
US5107415A (en) | Microprocessor which automatically rearranges the data order of the transferred data based on predetermined order | |
US5826106A (en) | High performance multifunction direct memory access (DMA) controller | |
US4782439A (en) | Direct memory access system for microcontroller | |
US3962682A (en) | Split low order internal address bus for microprocessor | |
EP0428111A2 (en) | Data transfer control method and data processor using the same | |
JPS61148563A (ja) | デ−タ転送方式およびデ−タ転送制御装置 | |
EP0212637B1 (en) | Mircrocomputer | |
KR970003321B1 (ko) | 코프로세서 지정 시스템 | |
JP3619532B2 (ja) | 半導体集積回路装置 | |
US4016546A (en) | Bus switch coupling for series-coupled address bus sections in a microprocessor | |
JP2845433B2 (ja) | 集積回路装置 | |
JPS5844558A (ja) | Nチヤンネルmos半導体プロセツサ | |
US4037204A (en) | Microprocessor interrupt logic | |
US4004281A (en) | Microprocessor chip register bus structure | |
US4030079A (en) | Processor including incrementor and program register structure | |
US4040035A (en) | Microprocessor having index register coupled to serial-coupled address bus sections and to data bus | |
JP3264921B2 (ja) | データ転送制御装置 | |
US4032896A (en) | Microprocessor having index register coupled to serial-coupled address bus sections and to data bus | |
EP0331487B1 (en) | Data transfer control system | |
US5317750A (en) | Microcontroller peripheral expansion bus for access to internal special function registers | |
US7310717B2 (en) | Data transfer control unit with selectable transfer unit size |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313117 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071228 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081228 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081228 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091228 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101228 Year of fee payment: 9 |
|
EXPY | Cancellation because of completion of term |