JP3490101B2 - データ転送制御装置、及び半導体集積回路装置 - Google Patents

データ転送制御装置、及び半導体集積回路装置

Info

Publication number
JP3490101B2
JP3490101B2 JP13795492A JP13795492A JP3490101B2 JP 3490101 B2 JP3490101 B2 JP 3490101B2 JP 13795492 A JP13795492 A JP 13795492A JP 13795492 A JP13795492 A JP 13795492A JP 3490101 B2 JP3490101 B2 JP 3490101B2
Authority
JP
Japan
Prior art keywords
transfer
register
data
address
memory
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
Application number
JP13795492A
Other languages
English (en)
Other versions
JPH05307516A (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.)
Renesas Technology Corp
Hitachi Solutions Technology Ltd
Original Assignee
Renesas Technology Corp
Hitachi ULSI Systems 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 Renesas Technology Corp, Hitachi ULSI Systems Co Ltd filed Critical Renesas Technology Corp
Priority to JP13795492A priority Critical patent/JP3490101B2/ja
Publication of JPH05307516A publication Critical patent/JPH05307516A/ja
Application granted granted Critical
Publication of JP3490101B2 publication Critical patent/JP3490101B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)
  • Microcomputers (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、データ転送制御装置に
かかり、例えば、データ転送制御装置を内蔵したシング
ルチップマイクロコンピュータに利用して有効な技術に
関するものである。
【0002】
【従来の技術】シングルチップマイクロコンピュータ
は、昭和59年11月30日オーム社発行の『LSIハ
ンドブック』P540およびP541に記載されるよう
に、中央処理装置(CPU)を中心にしてプログラム保
持用のROM(リードオンリメモリ)、データ保持用の
RAM(ランダムアクセスメモリ)、およびデータの入
出力を行うための入出力回路などの機能ブロックが1つ
の半導体基板上に形成されてなる。本発明者らは、かか
るシングルチップマイクロコンピュータに前記CPUと
は独立にデータ転送を行なうダイレクトメモリアクセス
コントローラ(DMAC)を内蔵することを検討した。
かかるDMACについて記載された文献の例として、昭
和62年9月(株)日立製作所発行の『日立16ビット
マイクロプロセッサHD641016』P169乃至P
206がある。
【0003】かかるDMACは、CPUのソフトウエア
による起動あるいは外部端子による起動によってメモリ
−メモリ間のデータ転送を行なうほか、タイマあるいは
シリアルコミュニケーションインタフェース(SCI)
などの入出力回路の要求する割込みによっても起動する
ことが可能である。また、DMACはメモリ−メモリ間
のデータ転送を行なうための2本のアドレスレジスタ
(転送元アドレスと転送先アドレスを指定する)を、例
えば4チャネル分内蔵している。前記アドレスレジスタ
はマイクロコンピュータのアドレス空間に相当するビッ
ト数、例えば、アドレス空間が16Mバイトであれば2
4ビットを有する。
【0004】
【発明が解決しようとする課題】しかしながら、本発明
者らの検討によれば、かかるDMACについて以下の問
題点のあることが明らかにされた。即ち、第1に、前記
CPUのソフトウエアによる起動あるいは外部端子によ
る起動によってメモリ−メモリ間のデータ転送を行なう
場合には、転送元・転送先のアドレスを任意に選択でき
るように、アドレスレジスタはアドレス空間に対応した
ビット数、例えばアドレス空間が16Mバイトの場合は
24ビットが必要であるが、前記割込みによってDMA
Cを起動する場合には、前記データ転送の一方は前記入
出力回路のいずれかであることが大部分であり、かかる
入出力回路のアドレスの領域は多くの場合、アドレス空
間に比較して小さく、例えば256バイトのような連続
した領域とされる。このため、メモリ−入出力回路間な
どのデータ転送の場合には、データ転送元或はデータ転
送先を指定する一方のアドレスの上位ビットは常に同一
とされ、これによって、アドレスレジスタの上位ビット
は無駄になっている。
【0005】第2に、割込みによってDMACを起動す
る要因は前記入出力回路の割込み要因に相応して多く必
要とされることである。例えば、前記SCIの送信完了
割込みによってDMACを起動し、CPUのソフトウエ
アの介在なく連続送信を行なう場合、転送先のアドレス
はSCIの出力データレジスタであり、転送元はCPU
のソフトウエアが予め用意しておく、例えばRAMのア
ドレスである。また、SCIを2チャネル内蔵している
場合にはそれぞれのチャネルについて連続送信・連続受
信を行なうようにすると、前記DMACの4チャネルす
べてが必要となってしまい、タイマの割込みによるデー
タ転送やCPUのソフトウエア・外部端子によるデータ
転送を行なうことができなくなってしまう。
【0006】また、第3に、一つの割込み要因によって
1チャネルの転送しか行なうことができない。このた
め、例えば、タイマの割込みによって、データの出力値
の変更と次のタイマ割込みの設定時間の変更を同時に行
なうことはできず、CPUによりいずれかの変更を行な
わなければならなかった。
【0007】第4に、転送元・転送先のアドレスはイン
クリメント・デクリメントあるいは固定であって、固定
の場合はDMACのデータ転送単位である1バイトまた
は1ワードのアドレスに対してリードまたはライトを行
なうことになる。したがって、任意のデータブロックに
対してくり返しデータ転送を行なうようなことはできな
い。
【0008】本発明の目的は、転送元並びに転送先を指
定するレジスタなどの転送制御のための資源の利用効率
を向上させることができるデータ転送制御装置を提供す
ることにある。本発明の別の目的は、多数の割込み要因
によるデータ転送制御を可能にすることができるデータ
転送制御装置を提供することにある。本発明のその他の
目的は、データ単位以上の任意のデータブロックに対し
て繰返しデータ転送を行うことができるデータ転送制御
装置を提供することにある。
【0009】本発明の前記並びにその他の目的と新規な
特徴は本明細書の記述及び添付図面から明らかになるで
あろう。
【0010】
【課題を解決するための手段】本願において開示される
発明のうち代表的なものの概要を簡単に説明すれば下記
の通りである。
【0011】すなわち、メモリ−メモリ間のデータ転送
を行なう場合の1チャネル分の資源に、最低限の資源を
追加し、入出力回路の要求する割込みによっても起動す
るデータ転送チャネルとしては、2チャネル分として使
用可能にする。このとき、入出力回路の割込みによって
も起動する2チャンネル分の各データ転送チャネルにお
いて、入出力回路を転送元・転送先として特定するため
のレジスタは、アドレス空間に相応するビット数よりも
少ないビット数を有するようにされる。
【0012】前記入出力回路の要求する割込みによって
も起動する2つのデータ転送チャネルの一方のデータ転
送チャネルの転送カウンタをデータブロック内の転送カ
ウンタとし、他方のデータ転送チャネルの転送カウンタ
をデータブロックの転送カウンタとして利用して、メモ
リ−メモリ間でのデータブロック転送を実現する。
【0013】前記入出力回路の要求する割込みによって
も起動するようなデータ転送チャネルを利用したデータ
転送モードであって、転送カウンタを、転送回数を計数
するためのカウンタと、転送回数を指定する手段とし、
これによって指定された回数のデータ転送を転送カウン
タとメモリアドレスレジスタとにおける計数動作を利用
して行うデータ転送動作を単位動作とし、単位動作を完
了する毎に、前記メモリアドレスレジスタのアドレスと
カウンタの値を設定値に復帰させて、その単位動作を複
数回繰返すリピート転送モードを実現する。
【0014】前記入出力回路の要求する割込みによって
も起動するようなデータ転送チャネルの起動を指示する
ための外部からの単一信号によって与えられる起動要因
を保持する保持手段を設け、前記単一信号によって与え
られる起動要因を前記保持手段に保持することにより、
単一の起動要因に従って、前記複数のデータ転送チャネ
ルを介して複数のデータ転送を行なうマルチ転送モード
を実現する。
【0015】
【作用】上記下手段によれば、メモリ−メモリ間のデー
タ転送を行なう場合の1チャネル分の資源に、最低限の
資源を追加し、入出力回路の要求する割込みによっても
起動するデータ転送チャネルとして2チャネル分として
使用可能なデータ転送制御装置は、転送元並びに転送先
を指定するレジスタなどの転送制御のための資源の利用
効率を向上させ、さらに、多数の割込み要因への対応を
容易化する。前記メモリ−メモリ間でのデータブロック
転送、メモリ−入出力回路間でのリピート転送モードや
マルチ転送モードは、データ転送制御装置の応用範囲を
広げる。
【0016】
【実施例】図1には本発明にかかるデータ転送制御装置
を内蔵したシングルチップマイクロコンピュータの一実
施例が示される。
【0017】同図に示されるシングルチップマイクロコ
ンピュータ100は、特に制限はされないものの、本発
明にかかるデータ転送制御装置の一実施例であるDMA
C1、全体の制御を司るCPU(中央処理装置)2、バ
スコントローラ3、ROM4、RAM5、タイマ6、S
CI7、パルス出力装置(PSO)8、及び入出力ポー
ト(IOP)91〜97などの機能ブロックからから構
成され、公知の半導体製造技術により1つの半導体基板
上に形成される。かかるシングルチップマイクロコンピ
ュータの機能ブロックは相互に、アドレス・データ・リ
ード信号・ライト信号・システムクロックなどを含む内
部バス69によって相互に接続されている。CPU2,
DMAC1はバスコントローラ3を介して内部バス69
に接続されている。バスサイクルによるリードおよびラ
イト動作は、CPU2,DMAC1のいずれか一方が行
う。このための調停機能をバスコントローラ3が有して
いる。前記タイマ6は、特に制限されないが、タイマ
A、タイマB、タイマC、及びタイマDによって構成さ
れ、前記SCI7は、特に制限されないが、SCIA及
びSCIBによって構成される。シングルチップマイク
ロコンピュータ100はクロックパルスジェネレータC
PGの端子XTAL,EXTALに接続される水晶発振
子又は外部から入力される外部クロックに基づいて生成
される基準クロックに同期して動作を行なう。この基準
クロックの最小単位をステートと呼ぶ。尚、図において
Vss,Vccは電源端子である。
【0018】特に制限はされないものの、CPU2のア
ドレス空間は16Mバイトであり、アドレスバスは24
ビットである。ROM3、RAM4、およびDMAC
1、タイマ5、SCI6、パルス出力装置8、入出力ポ
ート91〜97などの機能ブロックのレジスタはCPU
2のアドレス空間上に配置されている。図示はされない
モード信号によって、シングルチップマイクロコンピュ
ータの動作モードが選択され、入出力ポートの一部をア
ドレスバス,データバス,制御信号として使用し、外部
バスを拡張することもできる。そのほかの入出力ポート
もタイマ6,SCI7,DMAC1の入出力端子と兼用
され、ソフトウェアによって端子機能が切り替わるよう
になっている。。
【0019】前記DMAC1は、CPU2によって指定
される起動要因・転送アドレス・転送データ数などに基
づいて、特に制限はされないものの、メモリ−メモリ
間、またはメモリ−入出力回路間でデータ転送制御を行
う。このときのメモリとしては、前記ROM4,RAM
5の他に、図示はされないシングルチップコンピュータ
外部のメモリをも含む。また、入出力回路としては、特
に制限はされないものの、前記タイマ5、SCI6、パ
ルス出力装置8、入出力ポート91〜97などの内蔵レ
ジスタとされる。
【0020】図2には前記DMAC1の一実施例ブロッ
ク図が示される。
【0021】このDMAC1は、メモリ−入出力回路の
データ転送を行なうときはチャネルA,Bの合計2チャ
ネルとして利用され、メモリ−メモリ間のデータ転送を
行なうときは1チャネルとして使用される。チャンネル
Aは、24ビットのメモリアドレスレジスタMARA
(MARA−L,MARA−H,MARA−E)、8ビ
ットのI/OアドレスレジスタIOARA、8ビットの
実行転送カウントレジスタETCRA、8ビットの転送
カウントレジスタTCRA、8ビットの制御レジスタD
TCRAを含む。チャンネルBは、24ビットのメモリ
アドレスレジスタMARB(MARB−L,MARB−
H,MARB−E)、8ビットのI/Oアドレスレジス
タIOARB、8ビットの実行転送カウントレジスタE
TCRB、8ビットの転送カウントレジスタTCRB、
8ビットの制御レジスタDTCRBを含む。これら2チ
ャネルに共通して、24ビットの算術論理演算器ALU
(ALU−L,ALU−H,ALU−E)、アドレスバ
ッファAB(AB−L,AB−H,AB−E)、データ
バッファDB(DB−L,DB−H)、メモリインタフ
ェースMIF(MIF−L,MIF−H,MIF−E,
MIF−C)、そして制御部CONTを備える。制御部
CONTは制御レジスタDTCRA,DTCRBの内容
と、DMAC1外部から与えられる起動要因などに基づ
いて動作し、DMAC1各部の制御を行なう。なお、前
記メモリアドレスレジスタMARA,MARBを総称し
て或はその何れか一方を単んにメモリアドレスレジスタ
MARとも称する。同様に、I/OアドレスレジスタI
OARA,IOARBを単にI/OアドレスレジスタI
OARと、実行転送カウントレジスタETCRA,ET
CRBを単に実行転送カウントレジスタETCRと、転
送カウントレジスタTCRA,TCRBを単に転送カウ
ントレジスタTCRと、そして制御レジスタDTCR
A,DTCRBを単に制御レジスタDTCRとも称す
る。
【0022】前記各レジスタ、算術論理演算器ALU、
メモリインタフェースMIFは、DMAC内部バスとし
てのAバス,Bバス等を介して接続されている。さらに
Aバスのビット23〜0はアドレスバッファABに接続
されている。アドレスバッファAB−L,AB−H,A
B−Eは内部バス69に含まれる24ビットのアドレス
バスに接続される。データバッファDB−L,DB−H
は内部バス69に含まれる16ビットのデータバスに接
続される。
【0023】各レジスタはAバスにデータを出力し、そ
のデータは、アドレスバッファAB、算術論理演算器A
LU、又はメモリインタフェースMIFに転される。算
術論理演算器ALU、メモリインタフェースMIFはB
バスにデータを出力し、そのデータは、各レジスタに転
送可能にされる。CPU2がライトしたデータは、バス
69に含まれる内部データバス,メモリインタフェース
MIF,及びBバスを経由して、各レジスタに書き込み
可能にされる。CPU2がリードすべきデータは、Aバ
ス,メモリインタフェースMIF,及びシングルチップ
マイクロコンピュータ100のバス69に含まれる内部
データバスを経由して、CPU2に読み込まれる。さら
に、転送カウントレジスタTCRはCバスにデータを出
力することができ、実行転送カウントレジスタETCR
と算術論理演算器ALUの下位8ビット(ALU−L)
に転送することができる。算術論理演算器ALUは、A
バスの入力と、Cバスまたは定数値との演算が可能であ
る。なお、図2においてSFTはシフタであり、SEL
はセレクタである。
【0024】図3には前記DMAC1のレジスタ構成が
チャネルA,チャネルBに分けて示されている。
【0025】前述の通り、24ビットのメモリアドレス
レジスタMAR、8ビットのI/OアドレスレジスタI
OAR、実行転送カウントレジスタETCR、転送カウ
ントレジスタTCR、制御レジスタDTCRをそれぞれ
2本ずつ有している。制御レジスタDTCRA,DTC
RBにはそれぞれ機能の異なる制御ビットが割り当てら
れる。
【0026】DMAC1は、メモリ−メモリ間のデータ
転送を行なう1チャネルとして使用するか、それぞれメ
モリ−入出力回路のデータ転送を行なう2チャネルとし
て使用するかを選択することができる。この選択は制御
レジスタDTCRAのビット1、2(TRSA1、TR
SA2ビット)で行ない、前記ビットがすべて1にセッ
トされていると、メモリ−メモリ間のデータ転送を行な
う1チャネルとなり、それ以外の設定ではメモリ−入出
力回路のデータ転送を行なう2チャネルとなる。
【0027】メモリ−メモリ間のデータ転送が選択され
たとき、メモリアドレスレジスタMARAは転送元アド
レスを指定し、メモリアドレスレジスタMARBは転送
先のアドレスを指定するアドレスレジスタとして使用さ
れる。
【0028】メモリ−入出力回路のデータ転送が選択さ
れたときは、各チャネルにおいて、メモリアドレスレジ
スタMARとI/OアドレスレジスタIOARが転送元
と転送元を指定するアドレスレジスタとして使用され
る。このとき、I/OアドレスレジスタIOARは、必
ず入出力回路のアドレスを指定するアドレスレジスタと
なる。すなわち、転送元が入出力回路のとき、I/Oア
ドレスレジスタIOARが転送元を指定し、メモリアド
レスレジスタMARが転送先のアドレスを指定する。ま
た、転送先が入出力回路のときは、メモリアドレスレジ
スタMARが転送元、I/OアドレスレジスタIOAR
が転送先のアドレスを指定するアドレスレジスタとして
使用される。I/OアドレスレジスタIOARは8ビッ
トであるため、上位16ビットのアドレスは固定値とさ
れ、特に制限はされないものの上位16ビットはすべて
1とされる。この場合、I/OアドレスレジスタIOA
Rで指定できるアドレスはH’FFFF00〜H’FF
FFFF(H’は16進数を意味する)の256バイト
である。従って、斯るアドレスに入出力回路のアドレス
が割り当てられている。
【0029】図4にはシングルチップマイクロコンピュ
ータ100のアドレスマップが示される。
【0030】特に制限ははされないものの、内蔵ROM
4は32kバイト、内蔵RAM5は1kバイトとされ、
それぞれ、アドレスH’000000〜H’007FF
F、H’FFFB00〜H’FFFEFFに配置され、
タイマ6、SCI7、などの入出力回路及びDMAC1
の各レジスタはアドレスはH’FFFF00〜H’FF
FFFFに配置されている。このとき前記メモリアドレ
スレジスタMARはアドレス空間の全てを指定可能であ
るが、8ビットのI/OアドレスレジスタIOARは内
蔵入出力回路だけをを指定可能であることが理解されよ
う。なお、アドレスH’FFFF00〜H’FFFFF
Fに外部空間を一部設けてもよい。
【0031】図5乃至図7にはメモリ−入出力回路間で
のデータ転送を行なう場合の制御レジスタDTCRの機
能が示される。
【0032】制御レジスタDTCRは、転送を許可する
DTEビット、転送終了時に割込みを要求するかしない
かを選択するDIEビット、転送をくり返すか終了する
かを選択するRPEビット、転送サイズを選択するSZ
ビット、転送後にMARのインクリメントを行うかデク
リメントを行うかを選択するIDビット、起動要因を選
択するTRS0〜2ビットによって構成されている。
【0033】DTEビットを0にクリアした状態ではD
MAC1の該当チャネルは停止状態とされる。DTEビ
ットを1にセットすると、図7に示されるTRS0〜2
ビットで指定した起動要因が発生したときにデータ転送
が行われる。ここで、TRSA2,TRSA1に夫々1
が設定されているときはメモリ−メモリ間の転送とされ
るので、図7にも示されるように、メモリ−入出力回路
間での転送では、各チャネルにおけるTRS2,TRS
1の双方が共に1に設定される状態は除外されている。
RPEビットが0にクリアされているときには、所定回
の転送が終了して、ETCR:TCR(実行転送カウン
トレジスタETCRと転送カウントレジスタTCRとを
連結して16ビットレジスタとして利用することを意味
する)の内容が0になるとDTEビットは0にクリアさ
れる。
【0034】DTEビットが0にクリアされていると
き、DIEビットが1にセットされていれば、CPU1
に対して転送終了割込みを要求する。DIEビットが0
にクリアされていれば、DTEビットの状態によらず、
CPU1に対しては割込みを要求しない。SZビットビ
ットが0にクリアされている場合にはバイトデータの転
送を行い、SZビットが1にセットされている場合には
ワードデータの転送を行う。RPEビットとDIEビッ
トは、図5に示されるように動作モードを指定する。
【0035】まず、転送カウンタを実行転送カウントレ
ジスタETCRだけで8ビットレジスタとするか、実行
転送カウントレジスタETCRと転送カウントレジスタ
TCRを連結して16ビットレジスタETCR:TCR
とするかを指定する。RPEビットが0にクリアまたは
DTIEビットが1にセットされているとき、転送カウ
ンタを16ビットレジスタETCR:TCRとし、RP
Eビットが1にセットかつDTIEビットが0にクリア
されているとき、転送カウンタを8ビットレジスタET
CRとし、TCRは転送回数保持に使用される。
【0036】1回の転送終了後にはETCRまたはET
CR:TCRのデクリメントが行われると共に、RPE
ビットとDIEビットの設定状態に応じて、メモリアド
レスレジスタMARの保持アドレスがインクリメントま
たはデクリメントされる。このときのメモリアドレスレ
ジスタMARのインクリメントまたはデクリメントの指
定はIDビットで行なう。インクリメントまたはデクリ
メントの値はSZビットによって指定され、バイトサイ
ズのとき1、ワードサイズのとき2がインクリメントま
たはデクリメントされる。
【0037】転送カウンタとして利用されるETCRま
たはETCR:TCRの前記デクリメント結果が0でな
ければ、次に起動要因が発生するまで、該当チャネルは
待機状態となる。デクリメント結果が0になったとき、
RPEビットが0にクリアまたはDIEビットが1にセ
ットされていれば、DTEビットを自動的に0にクリア
して該当チャネルは停止状態となる。RPEビットが1
にセットかつDIEビットが0にクリアされていれば、
転送カウントレジスタTCRの内容を実行転送カウント
レジスタETCRに転送し、メモリアドレスレジスタM
ARの内容に転送カウントレジスタTCRの内容を加算
または減算して、該当チャネルは待機状態となり、さら
に転送をくり返す。
【0038】TRS0〜2ビットによって指定される起
動要因は、とくに制限はされないものの、図7に示され
るように、タイマA、タイマB、タイマC、タイマDの
コンペアマッチおよびSCIの送信終了、受信終了であ
る。タイマA〜Dのコンペアマッチ、SCIの送信終了
を起動要因に指定した場合には、メモリアドレスレジス
タMARで示されるアドレスからI/Oアドレスレジス
タIOARで示されるアドレスへの転送が行われる。S
CIの受信終了を起動要因に指定した場合には、I/O
アドレスレジスタIOARで示されるアドレスからメモ
リアドレスレジスタMARで示されるアドレスへの転送
が行われる。これらの起動要因については、前記昭和6
2年9月(株)日立製作所発行の『日立16ビットマイ
クロプロセッサHD641016』などによって公知で
あるので更に詳細な説明は省略する。なお、図5におい
て、記号−は任意値を意味する。
【0039】図8にはメモリ−入出力回路間のデータ転
送における、各レジスタの動作モード毎の機能が示され
る。
【0040】起動要因がSCI7の受信完了かそれ以外
かによって、メモリアドレスレジスタMARとI/Oア
ドレスレジスタIOARの何れが転送元アドレスを指定
するか転送先アドレスを指定するかが相違される。ノー
マルモード2ではメモリアドレスレジスタMARの内容
が固定値とされる。また、リピートモードでは転送カウ
ンタは8ビット長の実行転送カウントレジスタETCR
とされ、ノーマルモードでは転送カウンタは16ビット
長のETCR:TCRとされる。
【0041】図9にはDMAC1のメモリ−入出力回路
間のデータ転送におけるノーマルモード1の一例フロー
チャートが示され、図10にはノーマルモード1による
データ転送の一例タイミングチャートが示される。
【0042】ノーマルモード1は、連続したメモリ上の
データを、固定した1バイトまたは1ワードの入出力回
路のレジスタとの間でデータ転送を行なうことができ
る。起動要因はタイマのコンペアマッチまたはSCIの
受信完了・送信完了から選択できる。チャネルBは、さ
らに外部端子による起動を選択できる。これらの起動要
因が発生したときに1回(1バイトまたは1ワード)の
転送が行なわれ、転送が終了すると、再び起動要因が発
生するまで待機状態とされる。これを転送カウンタ(E
TCR:TCR)で指定した回数だけ繰り返す。
【0043】例えば、SCI7で複数バイトのデータを
送信する場合に応用することができる。この場合、送信
すべきデータをRAM上に用意し、制御レジスタDTC
RのRPEビットを0にクリア、SZビットを0にクリ
ア、IDビットを0にクリア、DIEビットを1にセッ
トし、ETCR:TCRに送信データのバイト数(n)
を、メモリアドレスレジスタMARに前記RAMの先頭
アドレス(e)、I/OアドレスレジスタIOARにS
CI7の送信データレジスタのアドレス(m)をライト
する。この後にDTEビットを1にセットし、SCI7
の送信完了割込みを許可する。SCI7が待機状態であ
ればただちに、送信中であれば、送信完了後に、SCI
送信完了割込みが発生して、DMAC1に起動が要求さ
れる。
【0044】DMACに起動が要求されると、第1ステ
ップS1で、DMAC1は起動要因をDMAC1の内部
に保持するとともに、BSC3にバス権要求を行なう。
バス権が獲得できれば、第2ステップS2で、メモリア
ドレスレジスタMARの内容をAバスに出力し、アドレ
スバッファABと算術論理演算器ALUに転送する。算
術論理演算器ALUではSZビットとIDビットで指定
した演算(上記例では+1)を行ない、その結果をメモ
リアドレスレジスタMARに格納する。
【0045】第3ステップS3ではアドレスバッファA
Bのアドレスに従ってメモリリード動作を開始する。ま
た、転送カウンタETCR:TCRの内容をAバスに出
力して、算術論理演算器ALUに転送し、デクリメント
を行なう。第4ステップS4ではI/Oアドレスレジス
タIOARの内容をAバスに出力し、アドレスバッファ
ABに転送する。さらに前記リードしたメモリデータを
データバスからデータバッファDBに格納する。
【0046】前記デクリメント結果が0であれば、第5
ステップS5でDTEビットをクリアする。また、前記
第4ステップS4でアドレスバッファABに転送された
アドレスにしたがってSCI内蔵レジスタに対するライ
ト動作を開始し、前記データバッファDBの内容をデー
タバスに出力する。第6ステップS6ではライトを完了
してDMAC1は停止する。DIEビットが1にセット
されていれば、CPU2に対してDMAC1の転送完了
割込みを発生する。
【0047】前記デクリメント結果が0でなければ、第
7ステップでは前記第4ステップS4でアドレスバッフ
ァABに転送されたアドレスにしたがってSCI内蔵レ
ジスタに対するライト動作を開始し、前記データバッフ
ァDBの内容をデータバスに出力する。これに続く第8
ステップではライトを完了してDMAC1は待機状態と
なり、再度起動要因が発生するまで停止する。
【0048】転送終了時には、メモリアドレスレジスタ
MARは最後のデータの次のアドレスとされ、転送カウ
ンタETCR:TCRは0とされている。転送カウンタ
ETCR:TCRの最大値は65536である。なお、
特に制限はされないものの、メモリ・入出力回路のリー
ドライトは2ステートで行なうものとした。
【0049】図11にはDMAC1のメモリ−入出力回
路間のデータ転送としてノーマルモード1によるSCI
受信のフローチャートが示される。
【0050】このフローチャートにおいて、第2ステッ
プS2ではI/OアドレスレジスタIOARの内容をA
バスを経由してアドレスバッファABに転送し、第3ス
テップS3ではそのアドレスにしたがってSCI内蔵レ
ジスタのリードを開始し、第4ステップS4ではメモリ
アドレスレジスタMARの内容をAバスを介してアドレ
スバッファABに転送すると共に算術論理演算器ALU
でそのメモリアドレスを更新してこれを再度これをメモ
リアドレスレジスタMARに格納し、第5ステップS5
及び第7ステップS7では前記SCI内蔵レジスタから
リードしたデータをアドレスバッファABのメモリアド
レスにしたがって書込みを行い、その外は図9の処理と
同様とされる。
【0051】図12にはDMAC1のメモリ−入出力回
路間のデータ転送としてノーマルモード2による動作の
一例フローチャートが示される。
【0052】ノーマルモード2は、固定した1バイトま
たは1ワードのメモリ上のデータと、入出力回路のレジ
スタ間でデータ転送を行なうことができる。起動要因は
タイマのコンペアマッチまたはSCIの受信完了・送信
完了から選択できる。これらの起動要因が発生した時1
回(1バイトまたは1ワード)の転送を行ない、転送が
終了すると、再び起動要因が発生するまで待機状態とさ
れる。これを転送カウンタ(ETCR:TCR)で指定
した回数だけ繰り返す。メモリアドレスレジスタMAR
の値が固定値とされる他はノーマルモード1と同様であ
る。DIEビットが1にセットされているため、転送カ
ウンタ(ETCR:TCR)で指定した回数の転送が終
了すると、CPU2に割込みが要求される。
【0053】DMAC1に起動が要求されると、第1ス
テップS1では、DMAC1は起動要因をDMAC1の
内部に保持するとともに、BSC3にバス権要求を行な
う。バス権が獲得できれば、第2ステップS2で、メモ
リアドレスレジスタMARの内容をAバスに出力し、ア
ドレスバッファABに転送する。
【0054】第3ステップS3ではアドレスバッファA
Bが保持するアドレスでリード動作を開始する。また、
転送カウンタETCR:TCRの内容をAバスに出力
し、算術論理演算器ALUに転送し、デクリメントを行
なう。第4ステップS4ではI/OアドレスレジスタI
OARの内容をAバスに出力し、アドレスバッファAB
に転送する。第3ステップを介してリードしたデータを
データバスからデータバッファDBに格納する。
【0055】前記デクリメント結果が0であれば、第5
ステップS5ではDTEビットをクリアする。また、ア
ドレスバッファABのアドレスにしたがってライト動作
を開始し、前記データバッファDBの内容をデータバス
に出力する。これに続く第6ステップS6ではライトを
完了してDMAC1は停止する。DIEビットが1にセ
ットされていれば、CPU2に対してDMAC1の転送
完了割込みを発生する。
【0056】前記デクリメント結果が0でなければ、第
7ステップS7ではアドレスバッファABのアドレスに
したがってライト動作を開始し、前記データバッファD
Bの内容をデータバスに出力する。これに続く第8ステ
ップS8でライト動作を完了してDMAC1は待機状態
となり、起動要因が発生するまで停止される。
【0057】転送終了時に転送カウンタETCR:TC
Rは0となっている。なお、転送カウンタETCR:T
CRの最大値は前記同様に65536であり、また、メ
モリ・入出力回路間のリードライトも2ステートで行わ
れる。
【0058】図13にはDMAC1のメモリ−入出力回
路間のデータ転送におけるリピートモードの一例動作フ
ローチャートが示され、図14にはそのリピートモード
によるデータ転送動作の一例タイミングチャートが示さ
れる。
【0059】リピートモードは、連続したメモリ上のデ
ータと、固定した1バイトまたは1ワードの入出力回路
のレジスタとの間で繰り返しデータ転送を行なうことが
できる動作モードである。起動要因はタイマ6のコンペ
アマッチまたはSCI7の受信完了・送信完了から選択
できる。これらの起動要因が発生した時1回(1バイト
または1ワード)の転送を行ない、転送が終了すると、
再び起動要因が発生するまで待機状態とされる。これを
転送カウンタ(ETCR)で指定した回数だけ繰り返す
と、メモリアドレスレジスタMARと実行転送カウント
レジスタETCRの内容を回復し、さらに転送を繰り返
す。
【0060】例えば、シングルチップマイクロコンピュ
ータ100が制御するステッピングモータの励磁データ
をパルス出力装置8を介して出力する場合に適用するこ
とができる。この場合、例えば、タイマAのコンペアマ
ッチを起動要因に選択する。出力すべきデータをRAM
5上に用意する。このデータは、例えばステッピングモ
ータの1回転分の励磁データである。
【0061】制御レジスタDTCRのRPEビットを1
にセット、SZビットを0にクリアし、IDビットを0
にクリアし、DIEビットを0にクリアし、実行転送カ
ウントレジスタETCR及び転送カウントレジスタTC
Rに送信データのバイト数(n)を、メモリアドレスレ
ジスタMARに前記RAM5の先頭アドレス(e)、I
/OアドレスレジスタIOARにパルス出力装置8内蔵
の出力データレジスタのアドレス(m)をライトする。
この後にDTEビットを1にセットし、タイマAのコン
ペアマッチ割込みを許可する。タイマAのコンペアマッ
チが発生すると、パルス出力装置8からパルスが出力さ
れるとともに、DMAC1に起動が要求される。
【0062】DMAC1に起動が要求されると、第1ス
テップS1では、DMAC1は起動要因をDMAC1内
部に保持するとともに、BSC3にバス権要求を行な
う。バス権が獲得できれば、第2ステップS2で、メモ
リアドレスレジスタMARの内容をAバスに出力し、こ
れをアドレスバッファABと算術論理演算器ALUに転
送する。算術論理演算器ALUではSZビットとIDビ
ットで指定した演算(この例では+1)を行ない、その
結果をメモリアドレスレジスタMARに書き戻す。
【0063】第3ステップS3では、アドレスバッファ
ABの保持アドレスにしたがってリード動作を開始す
る。また、転送カウンタETCRの内容をAバスに出力
して、算術論理演算器ALUに転送し、デクリメントを
行なう。第4ステップS4ではI/Oアドレスレジスタ
IOARの内容をAバスに出力し、アドレスバッファA
Bに転送する。また、前記リードを開始したデータをデ
ータバスからデータバッファDBに格納する。
【0064】前記デクリメントの結果が0であれば、第
5ステップS5に進み、転送カウントレジスタTCRの
内容をCバスに出力して、実行転送カウントレジスタE
TCRに転送するとともに、算術論理演算器ALUに入
力する。一方、メモリアドレスレジスタMARの内容を
Aバスに出力して、算術論理演算器ALUに与え、SZ
ビットとIDビットに基づいく演算を行って、メモリア
ドレスレジスタMARの内容を初期値(e)に戻す。ま
た、前記ABの保持アドレスにしたがってライト動作を
開始し、前記データバッファDBの内容をデータバスに
出力する。
【0065】前記デクリメント結果が0でなければ、第
6ステップS6へ進み、アドレスバッファABの保持ア
ドレスにしたがってライト動作を開始し、前記データバ
ッファDBの内容をデータバスに出力する
【0066】第7ステップS7ではライトを完了してD
MAC1は待機状態となり、起動要因が発生するまで転
送動作が停止される。実行転送カウントレジスタETC
Rと転送カウントレジスタTCRの最大値は256であ
る。なお、前記同様に、メモリ・入出力回路間でのリー
ド・ライトは2ステートで行なうものとした。タイマの
コンペアマッチ及びパルス出力装置については、昭和6
3年2月(株)日立製作所発行の『日立8/16ビット
マイクロコンピュータ周辺LSI』P538乃至P59
3などにより公知であるのでその詳細な説明は省略す
る。
【0067】図15乃至図18にはメモリ−メモリ間の
データ転送を行なう場合の制御レジスタDTCRA,D
TCRBの機能が示される。
【0068】メモリ−メモリ間のデータ転送はTRSA
1,TRAS2をいずれも1にセットすることによって
選択される。メモリアドレスレジスタMARAで示され
るアドレスとメモリアドレスレジスタMARBで示され
るアドレスとの間でデータ転送が行なわれる。このとき
I/OアドレスレジスタIOARA及びIOARBは使
用されない。
【0069】メモリ−メモリ間におけるデータ転送のた
めの制御レジスタは、転送を許可するDTEAビット、
転送終了時に割込みを要求するかしないかを選択するD
IEAビット、転送サイズを選択するSZAビット、転
送後にMARA,MARBのインクリメントを行うかデ
クリメントを行うかまたは固定とするかを選択するRP
EA,RPEB及びIDA,IDBの各ビット、転送モ
ードを選択するTRSA0ビット、転送中断を示すDT
EBビット、メモリ−メモリ転送モード2(ブロック転
送モード)のとき、転送元・転送先のいずれをブロック
領域とするかを選択するDIEBビット、起動要因を選
択するTRSB0〜TRSB2ビットから構成されてい
る。
【0070】DTEAビットを0にクリアした状態では
DMAC1は停止状態とされる。DTEAビットを1に
セットすると、TRSB0〜2ビットで指定した起動要
因が発生したときにデータ転送が行われる。所定回数の
転送が終了して、転送カウンタETCRA:TCRAの
内容が0になると、DTEAビットは0にクリアされ
る。
【0071】DTEAビットが0にクリアされていると
き、DIEAビットが1にセットされていれば、CPU
1に対して転送終了割込みを要求する。DIEAビット
が0にクリアされていれば、DTEAビットの状態によ
らず、CPU1に対しては割込みを要求しない。
【0072】前記SZAビットが0にクリアされている
場合にはバイトデータの転送が行われ、SZAビットが
1にセットされている場合にはワードデータの転送が行
われる。
【0073】RPEA,RPEBビットとIDA,ID
Bビットは、メモリアドレスレジスタMARA,MAR
Bの動作を指定する。RPEA,PREBビットが0に
クリアされているときはメモリアドレスレジスタMAR
A,MARBの値は固定値とされる。RPEA,RPE
Bビットが1にセットされているときに、IDA,ID
Bビットが0にクリアされていればメモリアドレスレジ
スタMARA,MARBはインクリメントされ、またそ
のときIDA,IDBビットが1にセットされているれ
ば、メモリアドレスレジスタMARA,MARBはデク
リメントされる。インクリメントまたはデクリメントの
値はSZAビットによって指定され、バイトサイズのと
きは1、ワードサイズのときは2がインクリメントまた
はデクリメントされる。メモリアドレスレジスタMAR
A,MARBの動作はそれぞれ独立に指定できる。
【0074】TRSA0ビットは、図17に示されるよ
うに、メモリ−メモリ転送モード1とするか、メモリ−
メモリ転送モード2(ブロック転送モード)とするかを
選択する。TRSB0〜2ビットによって指定される起
動要因は、とくに制限はされないものの、図18に示さ
れるように、オートリクエスト、外部端子、及び前記タ
イマA、タイマB、タイマC、タイマDのコンペアマッ
チである。但し、メモリ−メモリ転送モード1とメモリ
−メモリ転送モード2(ブロック転送モード)では選択
できる起動要因が異なっている。
【0075】図19にはメモリ−メモリ間のデータ転送
における各レジスタの動作モード毎の機能が示される。
【0076】メモリ−メモリ間転送におけるモード1及
びメモリ−メモリ間転送におけるモード2(ブロック転
送モード)はともに、メモリアドレスレジスタMAR
A,MARBがそれぞれ転送先・転送元を指定するため
のアドレスレジスタとされ、ETCRA:TCRAが転
送カウンタになる。メモリ−メモリ転送モード2(ブロ
ック転送モード)ではさらに、ブロックサイズを指定す
るためにレジスタTCRBを使用し、ブロック内のデー
タをカウントするためにレジスタETCRBを使用す
る。I/OアドレスレジスタIOARA,IOARBは
使用しない。特に制限されないが、ブロックの最大値は
256(バイトまたはワード)である。
【0077】図20にはメモリ−メモリ転送モード1の
一例動作フローチャートが示され、図21にはメモリ−
メモリ転送モード1の一例動作タイミングチャートが示
される。
【0078】メモリ−メモリ転送モード1のオートリク
エストは、CPU1がDTEAビットを1にセットする
と自動的に転送要求が発生して、転送を行なう動作モー
ドである。バーストモードでは一旦DMAC1がバス権
を獲得すると、転送カウンタETCRA:TCRAで指
定した回数の転送を終了するまで転送を行ない、サイク
ルスチールモードでは一回の転送毎にCPU2にバス権
を開放しつつ、転送を行なう。なお、バーストモードで
は、外部端子による最優先の割込み要求(NMI)が発
生すると、DTEAビットを1にセットしたまま、DT
EBビットを0にクリアして、転送を中断し、CPU2
にバス権を開放する。その後、CPU2がDTEAビッ
トまたはDTEBビットを1にセットすると、これに基
づいて転送を再開する。
【0079】外部端子による転送要求ではDTEAビッ
トを1にセットした後、TRSB0〜2で指定した信号
が外部端子(DREQ)に発生すると、転送を一回行な
い、一回の転送が終了すると、指定した信号が外部端子
(DREQ)に発生するまで待機状態となる。これを転
送カウンタETCRA:TCRAで指定された回数だけ
繰り返す。
【0080】DMAC1のこのような動作については、
前記昭和62年9月(株)日立製作所発行『日立16ビ
ットマイクロプロセッサHD641016』P169乃
至P206などによって公知であるので更に詳細な説明
は省略する。
【0081】図22にはメモリ−メモリ転送モード2の
一例動作フローチャートが示される。
【0082】メモリ−メモリ転送モード2(ブロック転
送モード)では、データブロックサイズをレジスタTC
RB,ETCRBに格納し、データ転送の回数を転送カ
ウンタETCRA:TCRAに指定する。
【0083】メモリ−メモリ転送モード2(ブロック転
送モード)では、転送要因が発生すると、メモリアドレ
スレジスタMARAで示されるアドレスから、メモリア
ドレスレジスタMARBで示されるアドレスへデータ転
送を行ない、そのメモリアドレスレジスタMARA,M
ARBの保持値を、RPEA,IDA,SZA,RPE
B,IDB,SZBビットの指定に従ってインクリメン
トまたはデクリメントまたは固定とされる。さらに、レ
ジスタETCRBの値をデクリメントする。これをレジ
スタETCRBの値が0になるまで繰り返す。レジスタ
ETCRBの値が0になると、リピートモード同様にレ
ジスタTCRBの内容をレジスタETCRBに転送し、
メモリアドレスレジスタMARBの内容を初期状態に戻
すとともに、転送カウンタETCRA:TCRAの内容
をデクリメントする。デクリメント結果が0でなければ
起動要因が発生するまで待機状態となる。起動要因が発
生する毎に上記動作を転送カウンタETCRA:TCR
Aが0になるまで繰り返していく。
【0084】図23には前記算術論理演算器ALU、シ
フタSFT、及びセレクタSELの具体的な一例回路図
が示される。
【0085】算術論理演算器ALUは、特に制限されな
いが、デクリメンタDECRMT、加算回路ADD、及
びゼロ検出回路ZEROによって構成される。算術論理
演算器ALUは24ビットで構成され、下位8ビット
(ALU−L)は、Aバス(A0〜A7)からのデー
タ、さらに定数値またはCバス(C0〜C7)からの入
力が選択され、かつこれらを上位に1ビットシフトする
かしないか、反転するかしないかが選択されて、この選
択結果が入力される。上位16ビット(ALU−H、A
LU−E)はAバス(A8〜A23)からのデータと、
定数値を入力する。定数値は反転するかしないかが選択
される。ビット8はビット7からのシフト出力と定数値
のいずれかが選択される。
【0086】定数値は、メモリアドレスレジスタMAR
の演算のときビット0に、転送カウンタETCR:TC
Rの演算のときビット8に、転送カウンタTCRの演算
のときにビット16に、それぞれ1が入力され、それ以
外の場合またはそれ以外のビットには0が入力される。
Cバスからの入力は、リピートモードでETCRが0に
なったとき、またはブロック転送モードでETCRBが
0になったときに選択されてTCRまたはTCRBの内
容が入力され、Aバスから入力されるメモリアドレスレ
ジスタMARAまたはMARBの内容と演算される。ワ
ードサイズデータを転送している場合の、メモリアドレ
スレジスタMARのインクリメント・デクリメント及び
上記演算時に、シフトが選択される。デクリメントまた
は減算を行なう場合に反転が選択される。ゼロ検出回路
ZEROは上位8ビットが0であり、かつ転送カウンタ
を8ビット長としているとき、または上位16ビットが
0であるとき、1を出力して、転送終了を検出する。
【0087】図24にはレジスタの具体的な一例回路図
が示される。
【0088】I/OアドレスレジスタIOARは8ビッ
トのレジスタであり、システムクロックφが1レベルの
期間にAバスに出力可能であり、システムクロックφが
0レベルの期間にBバスから入力可能である。I/Oア
ドレスレジスタIOARをAバスに出力する場合、上位
16ビットのAバスには1レベルを出力するように構成
している。これによってI/OアドレスレジスタIOA
Rの指定アドレスはH’FFFF00〜H’FFFFF
Fとなる。特に制限はされないものの、Aバスをシステ
ムクロックφが0レベルの期間にPチャネル型MOSに
よってプリチャージするようにしてもよい。このように
すればクロックゲートを削除できる。
【0089】転送カウントレジスタTCRは8ビットの
レジスタであり、システムクロックφが1レベルの期間
にAバスに出力可能であり、システムクロックφが0レ
ベルの期間にBバスから入力可能であり、さらにでシス
テムクロックφが1レベルの期間にCバスに出力可能あ
る。
【0090】実行転送カウントレジスタETCRは8ビ
ットのレジスタであり、システムクロックφが1レベル
の期間にAバスに出力可能であり、システムクロックφ
が0レベルの期間にBバスから入力可能であり、さらに
でシステムクロックφが1レベルの期間にCバスから入
力可能ある。
【0091】図示はされないものの、メモリアドレスレ
ジスタMARはI/OアドレスレジスタIOARと同じ
構成のものが24ビット分設けられている。クロックゲ
ートに相当するものは必要ない。
【0092】図25にはデータバッファ及びメモリイン
タフェースの具体的な一例回路図が示される。
【0093】本実施例においては、特に制限はされない
ものの、CPU2がDMAC1のレジスタをリードライ
トする場合には、8ビットバス即ち内部データバスの上
位8ビットD15〜8を使用するものとした。従って、
データバッファDBの下位側(DB−L)はDMAC1
内部バスとは接続されていない。CPU2からライトさ
れるデータは8ビットずつデータバッファDB−Hを介
して、Bバスに出力され、下位アドレスを判定して選択
されたレジスタに書き込まれる。CPU2がリードした
場合には、下位アドレスを判定して、選択されたレジス
タからAバスにデータが出力され、前記Aバスの内容が
メモリインタフェースMIFで選択される。かかるデー
タはデータバッファDB−Hを介して、内部データバス
に出力され、CPU2に読み込まれる。
【0094】DMAC1がデータ転送時にリードしたデ
ータは、内部データバスから一旦データバッファDBに
格納され、その後ライトデータとして内部データバスに
出力する。リード時に内部データバスの上位・下位のい
ずれに有効データが出力されているか、およびライト時
に内部データバスの上位・下位のいずれに有効データを
出力するかは、バスコントローラ3が指示する。例え
ば、16ビットのメモリまたは入出力回路をバイトサイ
ズでリード・ライトした場合、偶数アドレスであれば内
部データバス上位に、奇数アドレスであれば下位にデー
タを出力するものとする。また、8ビットのメモリまた
は入出力回路をリード・ライトした場合にはかならず、
内部データバス上位にデータを出力するものとする。か
かる8ビットのメモリまたは入出力回路をワードサイズ
でリードした場合には偶数アドレス・奇数アドレスの順
にリードを連続して2回行なう。ライトについても同様
である。特に制限はされないものの、ワードデータは偶
数アドレスから始まるものに限定する。なお、DMAC
1はバイトサイズデータはデータバッファの上位に、ワ
ードサイズデータは上位・下位に格納するものとする。
【0095】図26にはDMAC1の制御部CONTに
含まれる要因保持手段の具体的な一例回路図が示され
る。
【0096】要因保持手段は、要因選択回路(セレク
タ)201,202、要因保持回路(フリップフロッ
プ)211,212、優先順位判定回路(エンコーダ)
221、タイミング制御回路231、及びクリア制御回
路241によって構成される。要因選択回路201,2
02、要因保持回路211,212、優先順位判定回路
221はDMAC1の起動を制御する。タイミング制御
回路231は前記動作タイミングを生成する。なお、同
図において記号*はそれが付されていない信号の反転信
号であることを意味する。
【0097】選択可能な起動要因はDMAC1の外部か
ら、要因選択回路201,202に入力される。前記T
RS0〜TRS0ビットに基づいて、これらの起動要因
が選択されて、要因保持回路211,212に入力され
る。DTEビットが0にクリアされている場合には、要
因保持回路211,212は常にリセットされている。
また、メモリ−メモリ転送モードのとき、チャネルBの
要因保持回路212はリセットされている。
【0098】要因保持回路211,212のいずれかが
1にセットされれば、優先順位判定回路221はバスコ
ントローラ3にバス要求を行ない、タイミング制御回路
231に動作指示を行なう。さらに、チャネルA、Bと
もに要因保持回路211,212が1にセットされてい
れば、チャネルAを優先する。
【0099】タイミング制御回路231はバス権アクノ
リッジ信号が1レベルになると、レジスタDTCRA,
DTCRBの値に基づいて、前記の動作フローチャート
の動作を制御する。クリア制御回路241は、タイミン
グ制御回路231から指示される起動要因クリア信号
と、優先順位判定回路221が指示するチャネル、及び
TRS2〜TRS0ビットに基づいて、各起動要求元
(タイマ・SCI)に起動要因のクリア信号を与える。
また、実行中の要因保持回路211,212をリセット
する。
【0100】チャネルA,Bが同一の起動要因を選択し
た場合には、2つの要因保持回路211,212がセッ
トされ、優先度の高いチャネルAが最初に実行され、実
行中に起動要因とチャネルAの要因保持回路211をク
リアするが、チャネルBの要因保持回路212はセット
されたままであり、チャネルAの実行終了後にチャネル
Bのデータ転送を実行することができる。
【0101】図27にはDMAC1の他の実施例が示さ
れる。
【0102】同図に示されるDMAC1は、夫々チャネ
ルA、Bからなるレジスタ群を2組み有し、これらに共
通のデータバッファDB(DB−L,DB−H)、算術
論理演算器ALU(ALU−L,ALU−H,ALU−
E)、シフタSFT、セレクタSEL、メモリインタフ
ェースMIF(MIF−L,MIF−H,MIF−E,
MIF−C)、及びアドレスバッファAB(AB−L,
AB−H,AB−E)を有している。図2のDMAC1
を2組設ける場合に比べて、ALUなどの回路を共通化
できる分だけ、DMAC1の論理的・物理的な規模を縮
小できる。
【0103】図27のDMAC1において各チャネルの
優先順位は、チャネル1A>1B>2A>2Bの順に高
くする。このとき、制御部CONTの要因保持手段は、
図26で説明したような要因選択回路と要因保持回路を
4個設け、これに応じて優先順位判定回路の論理を変更
すれば、容易に実現できる。
【0104】図28にはDMAC1の状態遷移図が示さ
れる。
【0105】前記動作タイミングチャートの説明では、
メモリ及び入出力回路共に2ステートでリード・ライト
するものとしたが、外部に接続するメモリや入出力回路
などからウェイトが要求される場合がある。ウェイトが
要求されているか否かはバスコントローラ3が判定し
て、DMAC1に指示する。DMAC1の制御部CON
Tはウェイトが指示されると、リードサイクルであれば
TR1とTR2の間にTRWを挿入し、ライトサイクル
であればTW1とTW2の間にTWWを挿入する。TR
WおよびTWWでは、データバッファDB以外のDMA
C1の各部は無操作状態とされる。また、8ビットのメ
モリまたは入出力回路をワードサイズでリード・ライト
した場合に、偶数アドレス・奇数アドレス順にリード・
ライトを連続して2回行なう場合などは、1回目のリー
ド・ライトの最初のサイクルをTR1・TW1とし、2
回めのリード・ライトの最後のサイクルをTR2・TW
2とし、その他のサイクルは全てTRW・TWWとし
て、DMAC1が認識する。
【0106】図29には前記バスコントローラ3の一例
ブロック図が示される。
【0107】このバスコントローラ3は、アドレスデコ
ーダADRDEC、論理積回路ANDLOG、制御レジ
スタCONTREG、ウェイト制御回路WSCONT、
及びアクセス制御回路ACSCONTによって構成され
る。アドレスデコーダADRDECはCPU2又はDM
AC1が出力するアドレス信号を入力し、内蔵機能ブロ
ックの選択信号を生成すると共に、アドレス信号を出力
する。制御レジスタCONTREGは、前記バス幅指定
レジスタBSWCR、アクセスステート指定レジスタA
STCR、ウェイトステートコントロール許可指定レジ
スタWSCER、及びアドレスマルチプレクス指定レジ
スタMPXCRを備え、CPU2の制御でその内容が任
意に設定されるようになっている。論理積回路ANDL
OGは、アドレスデコーダADRDECを通して供給さ
れるアドレス信号と制御レジスタCONTREGに含ま
れるレジスタBSWCR,ASTCR,WSCER,M
PXCRの値の基づいて、ウェイト許可、バス幅、アク
セスステート、及びアドレスマルチプレクスに関する制
御信号を生成して、アクセス制御回路ACSCONTに
与える。ウェイト制御回路WSCONTは内蔵機能ブロ
ックなどから発せられるウェイト信号を受けて所要ステ
ート数に応ずるウェイト要求をアクセス制御回路ACS
CONTに与える。アクセス制御回路ACSCONT
は、前記論理積回路ANDLOG及びウェイト制御回路
WSCONTなどから与えられる信号を受けて、アクセ
ス制御のための各種ストローブ信号AS,HRD,LR
D,HWR,LWR、並びにCPU2やDMAC1のた
めのバッファ制御信号などを生成する。
【0108】DMAC1にデータ転送起動要因が発生す
ると、DMACバス要求の信号が1レベルにされる。こ
のバス要求に対して、所定のタイミングでバスコントロ
ーラ3はDMAC1にバス使用を許可して、DMACバ
ス許可の信号を1レベルとする。それ以外の時はCPU
2がバスを使用できる。バスの起動信号やアドレス入力
は、CPU2の出力とDMAC1の出力との間でマルチ
プレクスされている。すなわち、DMACバス許可の信
号が1レベルであれば、DMAC1からのバスの起動信
号やアドレス入力を受付け、それ以外はCPU2からの
バスの起動信号やアドレス入力を受付ける。バスコント
ローラ3の内部の動作は、CPU2によるアクセスとD
MAC1によるアクセスの何れの場合も同一とされる。
リード/ライト中にCPU2/DMAC1に与えられる
べきバッファ制御信号もマルチプレクスされる。
【0109】図30乃至図34には前記制御信号HH、
LH、HL、LLの出力仕様が示される。
【0110】サイズはSZビットで指定される転送デー
タのサイズであり、また、バス幅は転送の対象となるメ
モリまたは入出力回路のデータ幅である。T1は第1ス
テート、T2は第2ステート、T3は第3ステート、T
wはウェイトステートである。図において記号−は対応
ステートが無いことを意味する。ステートは特に制限は
されないものの2ステートと、3ステート以上でリード
またはライトを行う2種類とされる。なお、4ステート
以上は3ステートにウェイトを要求することによって実
現する。A0はアドレスバスのビット0である。特に制
限はされないものの、ワードサイズデータは必ず偶数ア
ドレスから始まるものとされる。DMAC1のリード及
びライト時には、かかる制御信号HH、LH、HL、L
Lに基づいて、図25のデータバッファDB−L,DB
−Hの制御が行われる。CPU2のデータバッファも同
様に構成することができる。
【0111】図35には本発明に係るデータ転送制御装
置を適用したシングルチップマイクロコンピュータの他
の実施例ブロック図が示される。
【0112】図35に示されるシングルチップマイクロ
コンピュータ101は、図1のシングルチップマイクロ
コンピュータに対して、上記説明に係るDMAC1を2
個設けた点が相違される。便宜上双方のDMAC1をD
MAC1−1とDMAC1−2に分けて記す。このと
き、バスコントローラ33は、前記バスコントローラ3
に対して、DMACバス要求信号、DMACバス許可信
号を2組とし、マルチプレクサの入力を増加すれば、容
易に実現することができる。バス権調停における優先順
位は、例えばDMAC1−1>DMAC1−2とされ
る。斯る優先順位の制御は、バスコントローラ33の調
停機能に含まれる。
【0113】図36には図35のシングルチップマイク
ロコンピュータ101を応用した制御システムの一例と
してプリンタ制御システムが示される。
【0114】プリンタ制御システムは、シングルチップ
マイクロコンピュータ101、セントロニクスインタフ
ェース回路301、バッファRAM302、キャラクタ
ジェネレートROM(CGROM)303、印字データ
出力用バッファとされる出力バッファRAM304、プ
リンタの印字ヘッド305含み、それらがシングルチッ
プマイクロコンピュータ101の外部バス306を介し
て接続され、さらに印字ヘッドを機械的に移動させるた
めのラインフィードモータ307及びキャリッジリター
ンモータ308を含んで構成される。これらのモータ3
07及び308は、それぞれタイマ6の出力並びにパル
ス出力装置8の出力によって駆動制御される。ラインフ
ィードモータ307及びキャリッジリターンモータ30
8は、特に制限はされないものの、ステッピングモータ
である。
【0115】図示しないホストプロセッサから送られて
くるデータはセントロニクスインタフェース回路301
を経由して、バッファRAM302に転送される。かか
る転送にDMAC1−1のチャネル1(チャネル1Aと
1Bを併せた構成)をメモリ−メモリ転送モード1の外
部端子による起動によって使用することができる。セン
トロニクスインタフェース回路301のアドレスをメモ
リアドレスレジスタMARAに設定し、バッファRAM
302のアドレスをメモリアドレスレジスタMARBに
設定し、転送回数を転送カウンタETCRB:TCRB
に設定する。例えば、メモリアドレスレジスタMARA
は固定、メモリアドレスレジスタMARBはインクリメ
ントモードとし、セントロニクスインタフェース回路3
01のストローブ信号をDREQ1端子に入力すればよ
い。
【0116】CPU2は、前記バッファRAM302に
格納されたデータに基づいてキャラクタジェネレートR
OM303を参照し、前記データをフォントデータに変
換する。データを例えば、一行分変換し、印字データバ
ッファRAM304に格納する。
【0117】その後タイマA61とDMAC1−1のチ
ャネル2A、2Bに起動をかけ、パルス出力を行ない、
キャリッジリターンモータ308を駆動する。キャリッ
ジリターンモータ308の回転によって、印字ヘッド3
05が移動する。印字ヘッド305の移動に合わせて、
印字データバッファ304から印字データヘッド305
へのデータ転送を行なう。印字データは1フォントの各
列のデータを1ブロックとして転送する。例えば1フォ
ントが24×24ドットであれば、前記1ブロックは2
4ビット即ち3バイトである。かかる転送にDMAC1
−2のチャネル1をメモリ−メモリ転送モード2(ブロ
ック転送モード)で、特に制限はされないものの、タイ
マB62のコンペアマッチによって使用することができ
る。
【0118】図37にはステッピングモータの制御方法
の一例が示される。
【0119】本実施例では、DMAC1−1のチャネル
2A、2B共にタイマAのコンペアマッチ信号によって
起動する。チャネルAは内蔵RAM5からタイマAの比
較レジスタTCMRへの転送を行なう。チャネル2Bは
内蔵RAM5からパルス出力装置8の出力バッファレジ
スタNDRへの転送を行なう。パルス出力装置8は、タ
イマAのコンペアマッチ信号が発生すると、NDRの内
容をパルス出力するものである。従って、タイマAのコ
ンペアマッチ毎にチャネル2Aの転送により、タイマA
の比較レジスタTCMRを書替え、コンペアマッチ周期
即ち、パルス出力の間隔を変化させている。これによっ
て、ステッピングモータの加速または減速を行なうこと
ができる。モータの加速時には第1の比較レジスタの内
容を次第に小さくして、パルス出力間隔を短くすれば良
い。逆にモータの減速時には第1の比較レジスタの内容
を次第に大きくして、パルス出力間隔を短くすれば良
い。なお、タイマAのカウンタは、比較レジスタの内容
と一致すると0にクリアされるように設定する。
【0120】チャネル2Bは、位相1〜位相3を通じて
リピートモードで、内蔵RAM5に格納した、ステッピ
ングモータモータの励磁データをNDRへ転送する。チ
ャネル2Aでは、位相1及び位相3がノーマルモード1
で、位相2がノーマルモード2で動作し、いずれも内蔵
RAM5に格納したコンペアマッチ周期を比較レジスタ
TCMRへ転送する。
【0121】図38にはステッピングモータの制御時に
おけるメモリマップの一例が示される。
【0122】コンペアマッチ周期は、内蔵RAM5上
に、アドレスRAMA1を先頭として、m2+1ワード
を格納しておく。特に制限はされないものの比較レジス
タは16ビットとし、コンペアマッチ周期の大きい順に
格納しておく。励磁データはアドレスRAMA0を先頭
として、nバイト格納しておく。
【0123】チャネル2BのレジスタETCR及びTC
Rにnを設定し、メモリアドレスレジスタMARに励磁
データの先頭アドレスRAMA0を設定する。SZビッ
トを0にクリア、IDビットを0にクリア、RPEビッ
トを1にクリア、DIEビットを0にクリア、TRS2
〜0ビットを全て0にクリアする。
【0124】全体の回転数をm1、加速・減速時の回転
数をm2とすると、位相1では、チャネル2AのETC
R:TCRにm2−1を設定し、メモリアドレスレジス
タMARAにコンペアマッチ周期の先頭アドレスRAM
1+2を設定する。SZビットを1にセット、IDビッ
トを0にクリア、RPEビットを0にクリア、DIEビ
ットを1にセット、TRS2〜0ビットを全て0にクリ
アする。その後、DTEビットを1にセットして、CP
U2がアドレスRAMA0の内容を比較レジスタに書き
込んで、タイマAを動作させ、コンペアマッチ信号を発
生させればよい。かかるコンペアマッチ毎に1ワードず
つRAM5の内容を比較レジスタに転送を行ない、コン
ペアマッチがm2回発生するとETCR:TCRが0に
なって、DTEビットが0にクリアされ、CPU2に割
込みを要求して、チャネル2Aは停止状態になる。
【0125】位相2では、前記割込み要求により、CP
U2は割込み処理ルーチンを実行して、ETCR:TC
Rにm1−m2×2を設定し、RPEビットを1にセッ
トした後、DTEビットを1にセットする。コンペアマ
ッチが発生すると、RAM1+(m2−1)×2番地の
内容を比較レジスタに転送する。コンペアマッチがm1
−m2×2回発生するとETCR:TCRが0になっ
て、DTEビットが0にクリアされ、CPU2に割込み
を要求して、チャネル2Aは停止状態になる。
【0126】位相3では、前記割込み要求によって、C
PU2は割込み処理ルーチンを実行して、ETCR:T
CRにm2を設定し、RPEビットを0にクリア、ID
ビットを1にセットした後、DTEビットを1にセット
する。コンペアマッチが発生すると、RAM1+(m2
−1)×2番地の内容からアドレスを順次を減算しつ
つ、RAM5の内容を比較レジスタに転送する。コンペ
アマッチがm2回発生するとETCR:TCRが0にな
って、DTEビットが0にクリアされ、CPU2に割込
みを要求して、チャネル2Aは停止状態になる。
【0127】この割込み要求によって、CPU2は割込
み処理ルーチンを実行して、m1回のコンペアマッチが
発生し、ステッピングモータが所定回数回転し、印字ヘ
ッド305が所定量移動したものとして、タイマAを停
止し、またチャネルBのDTEビットを0にクリアし
て、停止する。パルス出力装置も最後の出力値を保持し
つつ停止する。さらにパルス出力装置8の出力を0にク
リアするようにしてもよい。
【0128】この後、ステッピングモータを逆回転する
場合には、チャネル2Bは、メモリアドレスレジスタM
ARに励磁データの最後のアドレスRAM0+n−1を
設定、IDビットを1にセットする。チャネルAは、上
記動作をくり返せばよい。タイマAの比較レジスタの内
容はアドレスRAMA0の内容となっているのでCPU
2が転送を行なう必要はない。
【0129】あるいは、モータの停止した位置から逆回
転する場合には、MARB、ETCRBの最後のデータ
を判定して、MARはRAMA0〜RAMA0+n−
1、ETCRは1〜nの範囲で再設定すればよい。
【0130】図39にはステッピングモータの制御時に
おける一例タイミングチャートが示される。
【0131】コンペアマッチの発生により、チャネル2
A、2Bの両方の起動が要求されるが、チャネル2Aが
優先度が高く、先に実行される。チャネル2Aが前記の
通り1ワードの転送を行ない、比較レジスタの書き替え
を行なったあと、チャネル2Bが1バイトの転送を行な
い、励磁データの書き替えを行なう。この励磁データは
次のコンペアマッチ時にパルス出力装置8から出力され
る。次のコンペアマッチは新しい比較レジスタの値によ
って行なわれる。
【0132】図40には前記パルス出力装置8の具体的
な一例回路図が示される。
【0133】パルス出力装置8は、バッファレジスタN
DR、出力データレジスタDR、バッファ許可レジスタ
NDER、データ方向レジスタDDRから構成される。
パルス出力を行なう場合には、データ方向レジスタDD
Rを1にセットし、バッファ許可レジスタNDERを1
にセットする。出力データレジスタDRの内部バスから
のライトは禁止され、バッファレジスタNDRの内容が
コンペアマッチ発生時に出力データレジスタDRに転送
される。この内容は出力データレジスタDRで保持され
ると共に、端子Pから出力される。バッファレジスタN
DRは常に内部バスからライト可能である。かかるライ
トはCPU2またはDMAC1のいずれであるかにはよ
らない。
【0134】図41には前記ステッピングモータ駆動回
路の一例ブロック図が示される。
【0135】特に制限はされないものの、8極4相ステ
ッピングモータに対して、パルス出力装置8のパルス出
力信号をパワードライブ素子を介して与えている。例え
ば、パルス出力0、4にそれぞれ1、0レベルを出力す
ることによって、パワードライブ素子を介して、ステッ
ピングモータの極間に電流を流し、モータを駆動するも
のである。例えば、励磁データはH’1E、H’2D、
H’4B、H’87を出力することによって、ステッピ
ングモータは左方向に回転する。パワードライブ素子
は、例えば、コンプリメンタリパワーMOSFETを用
いることができる。
【0136】図42には印字データ出力時のメモリマッ
プの一例が示される。
【0137】特に制限はされないものの、一行分のデー
タm×nバイトをアドレスBFR0を先頭とする印字デ
ータバッファに格納しておく。前記24×24ドットの
フォントデータが、一行あたり40であれば、m=3、
n=24×40であり、2880(3×24×40)バ
イトである。これを、印字データヘッドに対して一回に
3バイトずつ転送する。
【0138】図43には印字データ出力時の一例タイミ
ングチャートが示される。
【0139】印字データのタイミングはタイマBによっ
て指定する。特に制限はされないものの、タイマBは第
一、第二の比較レジスタを有し、第一のコンペアマッチ
によって、DMACを起動すると共に、図示はされない
が入出力ポートと兼用されたタイマ出力端子に0レベル
を出力する。また、第二のコンペアマッチによって、前
記タイマ出力端子に1レベルを出力する。印字データは
第二のコンペアマッチ時、即ち前記タイマ出力端子の0
レベルから1レベルへの変化時に24ドット一括して印
字され、第一のコンペアマッチ発生後、次の印字データ
がDMACによって転送される。
【0140】本実施例では、ラインフィードモータの駆
動をタイマAで、印字タイミングをタイマBで発生した
ため、印字は前記位相2の定速回転の間に行なうことが
望ましい。ラインフィードモータの駆動と印字タイミン
グの発生を、同一のタイマで行なえば、上記制約は発生
しない。
【0141】図44には印字データの一例が示される。
【0142】文字データは特に制限はされないものの、
ホストプロセッサから1文字2バイトで送られる。これ
をキャラクタジェネレートROMでフォントデータ96
(3×24)バイトに展開する。1列分の3バイトデー
タを3バイトの印字ヘッドに割り当てている。
【0143】上記実施例では、印字ヘッドを互いに異な
る連続した3バイトのアドレスとしたが、ファーストイ
ンファーストアウトのバッファとして、1バイトのアド
レスとすることもできる。この場合は、RPEBビット
を0にクリアして、MARBを固定とすればよい。
【0144】以上本発明者によってなされた発明を実施
例に基づいて具体的に説明したが、本発明はそれに限定
されるものではなく、その要旨を逸脱しない範囲におい
て種々変更可能であることは言うまでもない。
【0145】例えば例えば、DMACの詳細な構成は、
2チャネル(1組)あるいは4チャネル(2組)のほか
任意のチャネル数でよい。DMACの内部バスの構成な
どは種々変更が可能である。また、シングルチップマイ
クロコンピュータの内部構成などにもなんら限定されな
い。タイマのチャネル数、タイマの機能、起動要因の種
類等変更可能である。例えばチャネル毎に選択できる起
動要因を変更することもできる。
【0146】以上の説明では主として本発明者によって
なされた発明をその背景となった利用分野であるシング
ルチップマイクロコンピュータ及びプリンタ制御システ
ムに適用した場合について説明したが、それに限定され
るものではなく、その他の半導体集積回路装置あるいあ
は制御システムにも適用可能であり、本発明は少なくと
もデータ転送を行なう機能を有する半導体集積回路装置
及び斯る半導体集積回路装置を使用した制御システムに
適用することができる。例えば、FAXの読み取り・記
録・搬出の3つのモータ駆動に、それぞれ2チャネル
(1組)ずつのデータ転送制御装置で制御することがで
きる。
【0147】
【発明の効果】本願において開示される発明のうち代表
的なものによって得られる効果を簡単に説明すれば下記
の通りである。
【0148】すなわち、メモリ−メモリ間のデータ転送
を行なう場合の1チャネル分の資源に、最低限の資源を
追加して入出力回路の要求する割込みによっても起動す
るデータ転送の2チャネル分として使用可能にすること
により、転送元並びに転送先を指定するレジスタなどの
転送制御のための資源の利用効率を向上させることがで
き、更に、多数の割込み要因への対応も容易に行うこと
ができるという効果がある。また、メモリ−メモリ間で
のデータブロック転送、メモリ−入出力回路間でのリピ
ート転送モードやマルチ転送モードをデータ転送制御装
置のハードウェアでサポートできるようにすることによ
り、データ転送制御装置の応用範囲を容易に広げること
が可能になる。
【図面の簡単な説明】
【図1】本発明に係るデータ転送制御装置を適用したシ
ングルチップマイクロコンピュータの一実施例ブロック
図である。
【図2】本発明に係るデータ転送制御装置の一実施例で
あるDMACのブロック図である。
【図3】DMACの一例レジスタ構成図である。
【図4】シングルチップマイクロコンピュータの一例ア
ドレスマップである。
【図5】メモリ−入出力回路転送時の制御レジスタの機
能説明図その1である。
【図6】メモリ−入出力回路転送時の制御レジスタの機
能説明図その2である。
【図7】メモリ−入出力回路転送時の制御レジスタの機
能説明図その3である。
【図8】メモリ−入出力回路転送時の制御レジスタの機
能説明図その4である。
【図9】メモリ−入出力回路転送(ノーマルモード1)
の一例動作フローチャートである。
【図10】図9の一例動作タイミングチャートである。
【図11】メモリ−入出力回路転送(ノーマルモード
1)の別の動作フローチャートである。
【図12】メモリ−入出力回路転送(ノーマルモード
2)の一例動作フローチャートである。
【図13】メモリ−入出力回路転送(リピートモード)
の一例動作フローチャートである。
【図14】図13の一例タイミングチャートである。
【図15】メモリ−メモリ転送時の制御レジスタの機能
説明図その1である。
【図16】メモリ−メモリ転送時の制御レジスタの機能
説明図その2である。
【図17】メモリ−メモリ転送時の制御レジスタの機能
説明図その3である。
【図18】メモリ−メモリ転送時の制御レジスタの機能
説明図その4である。
【図19】メモリ−メモリ転送時のモード別のレジスタ
の機能説明図である。
【図20】メモリ−メモリ転送(ノーマルモード)の一
例動作フローチャートである。
【図21】図20の一例タイミングチャートである。
【図22】メモリ−メモリ転送(ブロック転送モード)
の一例動作フローチャートである。
【図23】算術論理演算器の具体的な一例回路図であ
る。
【図24】レジスタの具体的な一例回路図である。
【図25】データバッファ及びメモリインタフェースの
具体的な一例回路図である。
【図26】制御部に含まれる要因保持手段の具体的な一
例回路図である。
【図27】DMACの他の実施例ブロック図である。
【図28】DMACの一例状態遷移図である。
【図29】バスコントローラの一例ブロック図である。
【図30】バスコントローラの動作仕様説明図その1で
ある。
【図31】バスコントローラの動作仕様説明図その2で
ある。
【図32】バスコントローラの動作仕様説明図その3で
ある。
【図33】バスコントローラの動作仕様説明図その4で
ある。
【図34】バスコントローラの動作仕様説明図その5で
ある。
【図35】シングルチップマイクロコンピュータの実施
例ブロック図である。
【図36】シングルチップマイクロコンピュータを応用
したプリンタ制御システムの一例ブロック図である。
【図37】プリンタ制御システムに採用可能なステッピ
ングモータの制御手法説明図である。
【図38】ステッピングモータ制御時におけるメモリマ
ップの一例説明図である。
【図39】ステッピングモータ制御時の一例タイミング
チャートである。
【図40】パルス出力装置の具体的な一例回路図であ
る。
【図41】ステッピングモータ駆動回路の一例ブロック
図である。
【図42】印字データ出力時の一例メモリマップであ
る。
【図43】印字データ出力時における一例タイミングチ
ャートである。
【図44】印字データの一例説明図である。
【符号の説明】
1 DMAC(ダイレクトメモリアクセスコン
トローラ) 1−1 DMAC 1−2 DMAC 2 CPU(中央処理装置) 3 BSC(バスコントローラ) 4 ROM 5 RAM 6 タイマ 7 SCI(シリアルコミュニケーションイン
タフェース) 8 PSO(パルス出力装置) MAR メモリアドレスレジスタ IOAR I/Oアドレスレジスタ ETCR 実行転送カウントレジスタ TCR 転送カウントレジスタ DTCR 制御レジスタ TRSA1,TRSA2 1チャネル/2チャネルの指
定ビット ALU 算術論理演算器 AB アドレスバッファ DB データバッファ MIF メモリインタフェース CONT 制御部 100 シングルチップマイクロコンピュータ 101 シングルチップマイクロコンピュータ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 渡辺 照一 東京都小平市上水本町5丁目22番1号 株式会社日立マイコンシステム内 (72)発明者 三ツ石 直幹 東京都小平市上水本町5丁目20番1号 株式会社日立製作所 武蔵工場内 (56)参考文献 特開 平1−216457(JP,A) インターフェース 1984 12月号,C Q出版社,1984年12月 1日,第十巻 第十二号 通巻九一号,第252−261頁 PROCESSOR 1989 6月号, 技術評論社,1989年 5月 4日,通巻 50号,第16−19頁 PROCESSOR 1989 1月号, 技術評論社,1989年 7月 1日,通巻 45号,第10−13頁 (58)調査した分野(Int.Cl.7,DB名) G06F 13/28 310 G06F 15/78 510

Claims (9)

    (57)【特許請求の範囲】
  1. 【請求項1】 第1アドレスレジスタ及び前記第1アド
    レスレジスタよりもビット数の少ない第2アドレスレジ
    スタを夫々有する複数の転送チャネルと、制御回路とを
    有し、 前記制御回路は、第1アドレスレジスタと第2アドレス
    レジスタの一方を転送元アドレス指定に、他方を転送先
    アドレス指定に利用する転送チャネル単位のデータ転送
    と、一の転送チャネルの第1アドレスレジスタを転送元
    アドレス指定に、他の転送チャネルの第1アドレスレジ
    スタを転送先アドレス指定に利用する複数転送チャネル
    利用のデータ転送との制御が可能であることを特徴とす
    るデータ転送制御装置。
  2. 【請求項2】 前記夫々の転送チャネルは転送制御レジ
    スタを有し、 前記制御回路は、複数の転送チャネルの転送制御レジス
    タの内容を参照して、前記転送チャネル単位のデータ転
    送の指定か、前記複数転送チャネル利用のデータ転送の
    指定かを判定することを特徴とする請求項1記載のデー
    タ転送制御装置。
  3. 【請求項3】 前記転送制御レジスタは、データ転送制
    御に対する起動要因が指定される領域を有し、制御回路
    はその領域に指定された起動要因の発生に応答してデー
    タ転送を開始することを特徴とする請求項2記載のデー
    タ転送制御装置。
  4. 【請求項4】 前記夫々の転送チャネルは第1転送カウ
    ントレジスタ及び第2転送カウントレジスタを有し、 前記制御回路は、前記複数転送チャネル利用のデータ転
    送を制御するとき、一方の転送チャネルの第1転送カウ
    ントレジスタ及び第2転送カウントレジスタを併せて転
    送回数計数に用い、他方の転送チャネルの第1転送カウ
    ントレジスタと第2を転送カウントレジスタをデータブ
    ロックサイズの指定とブロック転送回数の指定に別々に
    利用し、指定されたデータブロックサイズのデータ転送
    を、指定されたブロック転送回数だけ繰り返し行なうブ
    ロック転送モードを制御可能であることを特徴とする請
    求項2記載のデータ転送制御装置。
  5. 【請求項5】 前記制御回路は、転送チャネル単位のデ
    ータ転送を制御するとき、前記第1転送カウントレジス
    タを転送回数計数に用い、前記第2転送カウントレジス
    タを転送回数指定に利用し、前記第2転送カウントレジ
    スタで指定された回数だけ第1アドレスレジスタと前記
    第1転送カウントレジスタの値を更新しながらデータ転
    送を行なう毎に、第1アドレスレジスタと前記第1転送
    カウントレジスタの値を初期設定値に戻してデータ転送
    を再開するリピート転送モードを制御可能であることを
    特徴とする請求項4記載のデータ転送制御装置。
  6. 【請求項6】 前記第1アドレスレジスタ、前記第2ア
    ドレスレジスタ、前記第1転送カウントレジスタ、前記
    第2転送カウントレジスタの出力に共通接続する第1ロ
    ーカルバス、第1ローカルバスに入力が接続し、入力デ
    ータのインクリメント又はデクリメントが可能な演算
    器、前記演算器の出力に結合し且つ前記第1アドレスレ
    ジスタ、前記第2アドレスレジスタ、前記第1転送カウ
    ントレジスタ、前記第2転送カウントレジスタの入力に
    共通接続する第2ローカルバスを有することを特徴とす
    る請求項5記載のデータ転送制御装置。
  7. 【請求項7】 中央処理装置と、前記中央処理装置に接
    続されたデータ転送制御装置とを有し、 前記データ転送制御装置は、第1アドレスレジスタ、
    記第1アドレスレジスタよりもビット数の少ない第2ア
    ドレスレジスタ及び転送制御レジスタを夫々有する複数
    の転送チャネルと、制御回路とを有し、 前記制御回路は、前記複数チャネルの転送制御レジスタ
    の内容を参照して、第1アドレスレジスタと第2アドレ
    スレジスタの一方を転送元アドレス指定に、他方を転送
    先アドレス指定に利用する転送チャネル単位のデータ転
    送と、一の転送チャネルの第1アドレスレジスタを転送
    元アドレス指定に、他の転送チャネルの第1アドレスレ
    ジスタを転送先アドレス指定に利用する複数転送チャネ
    ル利用のデータ転送との制御が可能であることを特徴と
    する半導体集積回路装置。
  8. 【請求項8】 前記各転送チャネルの第1アドレスレジ
    スタ、第2アドレスレジスタ及び転送制御レジスタは前
    記中央処理装置のアドレス空間に配置されていることを
    特徴とする請求項7記載の半導体集積回路装置。
  9. 【請求項9】 前記転送制御レジスタは、データ転送制
    御に対する起動要因が指定される領域を有し、制御回路
    はその領域に指定された起動要因の発生に応答してデー
    タ転送を開始することを特徴とする請求項8記載の半導
    体集積回路装置。
JP13795492A 1992-04-30 1992-04-30 データ転送制御装置、及び半導体集積回路装置 Expired - Lifetime JP3490101B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP13795492A JP3490101B2 (ja) 1992-04-30 1992-04-30 データ転送制御装置、及び半導体集積回路装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13795492A JP3490101B2 (ja) 1992-04-30 1992-04-30 データ転送制御装置、及び半導体集積回路装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2002265192A Division JP3825729B2 (ja) 2002-09-11 2002-09-11 半導体集積回路装置

Publications (2)

Publication Number Publication Date
JPH05307516A JPH05307516A (ja) 1993-11-19
JP3490101B2 true JP3490101B2 (ja) 2004-01-26

Family

ID=15210605

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13795492A Expired - Lifetime JP3490101B2 (ja) 1992-04-30 1992-04-30 データ転送制御装置、及び半導体集積回路装置

Country Status (1)

Country Link
JP (1) JP3490101B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6763448B1 (en) 1999-02-16 2004-07-13 Renesas Technology Corp. Microcomputer and microcomputer system
JP2006195821A (ja) 2005-01-14 2006-07-27 Fujitsu Ltd 情報処理システムの制御方法、情報処理システム、ダイレクトメモリアクセス制御装置、プログラム
JP6275474B2 (ja) 2013-12-25 2018-02-07 ルネサスエレクトロニクス株式会社 半導体装置及びデータ転送装置
JP6316593B2 (ja) 2014-01-07 2018-04-25 ルネサスエレクトロニクス株式会社 半導体装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
PROCESSOR 1989 1月号,技術評論社,1989年 7月 1日,通巻45号,第10−13頁
PROCESSOR 1989 6月号,技術評論社,1989年 5月 4日,通巻50号,第16−19頁
インターフェース 1984 12月号,CQ出版社,1984年12月 1日,第十巻 第十二号 通巻九一号,第252−261頁

Also Published As

Publication number Publication date
JPH05307516A (ja) 1993-11-19

Similar Documents

Publication Publication Date Title
JP3619532B2 (ja) 半導体集積回路装置
US20050210221A1 (en) Microcomputer and microcomputer system
US20020055979A1 (en) Inter-processor communication system for communication between processors
JPS6035696B2 (ja) デ−タ処理装置における母線制御装置
JP3490101B2 (ja) データ転送制御装置、及び半導体集積回路装置
JP2004227049A (ja) データ転送装置、半導体集積回路及びマイクロコンピュータ
JP3825729B2 (ja) 半導体集積回路装置
JP2004029898A (ja) データプロセッサ
JP7468112B2 (ja) インタフェース回路およびインタフェース回路の制御方法
JPH0855097A (ja) データ処理システム及びそのメモリアクセス方法
JP3936694B2 (ja) 半導体集積回路装置および半導体集積回路装置のデータ転送方法
JPH02311050A (ja) データ転送制御装置
JP3206656B2 (ja) バス上でのプリフェッチ装置およびプリフェッチ方法
JPH07271654A (ja) コントローラ
JP3839068B2 (ja) 半導体集積回路装置
JP3266610B2 (ja) Dma転送方式
JP3201439B2 (ja) ダイレクト・メモリ・アクセス・制御回路
JP2002259326A (ja) Dmaコントローラ及びdma転送方法
JPH05307519A (ja) データ処理装置
JP2687716B2 (ja) 情報処理装置
JPH08286999A (ja) 半導体集積回路装置およびそれを用いたコンピュータシステム
JP2504535B2 (ja) バスユニットの構成方法
JP2004213142A (ja) 半導体集積回路装置
JP3270149B2 (ja) データ転送装置
JPH08137784A (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: 20031028

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: 20071107

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20081107

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20081107

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20091107

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20101107

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20101107

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20121107

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20121107

Year of fee payment: 9

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

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

Free format text: PAYMENT UNTIL: 20121107

Year of fee payment: 9

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121107

Year of fee payment: 9