JP2000215152A - Dma制御回路 - Google Patents

Dma制御回路

Info

Publication number
JP2000215152A
JP2000215152A JP11013851A JP1385199A JP2000215152A JP 2000215152 A JP2000215152 A JP 2000215152A JP 11013851 A JP11013851 A JP 11013851A JP 1385199 A JP1385199 A JP 1385199A JP 2000215152 A JP2000215152 A JP 2000215152A
Authority
JP
Japan
Prior art keywords
control circuit
dma
cpu
processing
rom
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
JP11013851A
Other languages
English (en)
Inventor
Kuniyasu Ishihara
国泰 石原
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.)
NEC IC Microcomputer Systems Co Ltd
Original Assignee
NEC IC Microcomputer 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 NEC IC Microcomputer Systems Co Ltd filed Critical NEC IC Microcomputer Systems Co Ltd
Priority to JP11013851A priority Critical patent/JP2000215152A/ja
Publication of JP2000215152A publication Critical patent/JP2000215152A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)

Abstract

(57)【要約】 【課題】 DMA制御方式を採用するコンピュータシス
テムのスループットの向上を図る。 【解決手段】 DMA制御回路104は、レジスタ22
2でCPUから動作開始の要求コードを受け付けると、
その後はCPUの制御から離れ、プログラムカウンタ2
25によってDMA用ROM105から命令を読み出
し、ROMデコーダ226によってデコードされた命令
に従ってRAM103と周辺マクロ106とを制御し、
その間でのデータの転送を行い、また、周辺マクロ10
6の動作自体の制御を行う。CPUはその間は他の処理
を行うことができ、コンピュータシステム全体のスルー
プットが向上する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、CPUを介さずに
データ転送を行うDMA制御回路に関するものである。
【0002】
【従来の技術】最近のマイクロコンピュータシステム
(以下、単にコンピュータシステムと呼ぶ)では、周辺
機器の処理の高機能化や複雑化等により、CPUの処理
スピードの更なる向上が要求されている。そのため、デ
ータ転送に関する処理にデータ転送専用のDMA(Di
rectMemoryAccess)を採用し、CPU
を介さないデータ転送を実現している。
【0003】図6は、従来のDMA制御方式でデータ転
送を行うコンピュータシステムのブロック図である。コ
ンピュータシステムは、CPU101と、ROM102
と、RAM103と、DMA制御回路104と、周辺マ
クロ106と、通常バス111と、DMA用バス112
とで構成される。CPU101は、ROM102から命
令コードを読み出して処理を実行中にRAM103のデ
ータが必要になると、そのデータ転送を、周辺マクロ1
06とRAM103との間で行わせることで、CPU自
身の負担を軽減する。
【0004】まず、CPU101は、データ転送の準備
として、周辺マクロ106及びDMA制御回路104に
対し、それらの現在の状態の読出しや、制御情報の設定
等の書込みを通常バス111を介して行う。周辺マクロ
106は、外部データ用のインターフェイスを含み、複
数の処理を要する複雑なデータ転送を行う機能を有す
る。
【0005】CPU101は、次に、DMA制御回路1
04に動作開始命令を書き込む。DMA制御回路104
は、この動作開始命令を受け、CPU101から設定さ
れた制御情報に従い、DMA用バス112を介して周辺
マクロ106とRAM103との間でデータ転送を行
う。CPU101は、データ転送の終了の度に、データ
転送の後処理等を行うため、制御情報を周辺マクロ10
6に書き込む。
【0006】上記従来のDMA制御方式では、CPU1
01自身が、データ転送の前後処理のために行う状態等
の読出しや、制御情報の設定等の書込みを実行する必要
がある。このため、CPUがその処理のために時間を取
られ、コンピュータシステム全体のスループットが低下
するという問題がある。
【0007】特開平5−35651号公報には、データ
転送の前後処理をハードウェアによって行い、CPUの
処理負担を軽減したデジタル信号処理LSIが記載され
ている。
【0008】
【発明が解決しようとする課題】しかし、上記公報に記
載の技術は、データ転送の自動化について述べたもので
あり、周辺マクロ等の制御については、依然としてCP
Uが行っており、CPUの処理負担の軽減は十分ではな
い。
【0009】本発明は、上記したような従来の技術が有
する問題点を解決するためになされたものであり、CP
Uの関与を最小限とすることにより、コンピュータシス
テムの実行処理速度を高めることが出来るDMA制御回
路を提供することを目的とする。
【0010】
【課題を解決するための手段】上記目的を達成するた
め、本発明のDMA制御回路は、CPUを介さずにメモ
リと周辺マクロとの間でのデータ転送を実行するDMA
制御回路において、CPUからの特定の要求に対応する
命令群を格納するROMと、CPUからの要求を解読し
て前記ROMに格納された命令群を読み出すROM読出
し回路と、該ROM読出し回路で読み出された命令群を
デコードするデコーダと、該デコーダによってデコード
された命令群に従ってメモリ及び周辺マクロを制御して
データ転送を実行するコントロール回路とを備えること
を特徴とする。
【0011】本発明のDMA制御回路では、ROMに命
令群を格納し、その命令群を読み出してデータ転送を実
行するコントロール回路を備えることから、CPUを介
さずにDMA制御回路によってデータ転送が可能とな
り、CPUの処理におけるスループットが向上する。
【0012】ここで、前記周辺マクロとしては、被制御
対象とコンピュータシステムの間でデータを入出力する
入出力インターフェイス等が挙げられる。
【0013】本発明のDMA制回路では、前記コントロ
ール回路が周辺マクロの動作自体を制御する機能を更に
有することが好ましい。この場合、周辺マクロの制御を
DMAで一括して行うことが出来る。
【0014】また、DMA専用のクロック回路を備え、
該専用のクロック回路は、CPUからの動作要求がない
ときにはその作動を停止することも本発明の好ましい態
様である。この場合、クロックの停止によってシステム
の消費電流の低減が可能である。
【0015】更に、前記コントロール回路が条件分岐命
令を実行する機能を有することも本発明の好ましい態様
である。この場合、更にCPUの負担が軽減する。
【0016】
【発明の実施の形態】以下、本発明のDMA制御回路に
ついて図面を参照して更に詳細に説明する。なお、各ブ
ロック図中では、理解を容易にするため、対応する構成
要素は同じ符号を付して示した。図1は、本発明の一実
施形態例のDMA制御回路によってデータ転送を行うコ
ンピュータシステムのブロック図である。コンピュータ
システムは、CPU101と、ROM102と、RAM
103と、DMA制御回路104と、DMA用ROM1
05と、周辺マクロ106と、通常バス111と、DM
A用バス112とで構成される。
【0017】CPU101は、ROM102から読み出
す命令コードに従って処理を実行する。CPU101
は、処理の実行中にRAM103からのデータ読出しが
必要になると、DMA制御回路104及び周辺マクロ1
06の状態を読み出し、これらが停止中であればDMA
制御回路104に動作開始要求を送出する。また、これ
らが動作中であれば、停止するまでその他の処理を実行
する。動作開始要求があると、DMA制御回路104
は、周辺マクロ106とRAM103との間でのデータ
の転送を実行させる制御を行う。データ転送が終了する
と、CPU101は、周辺マクロ106から必要なデー
タを読み出し、処理を実行する。周辺マクロ106とR
AM103の間でのデータ転送の間は、CPU101は
別の処理を実行し、データ転送には関与しない。
【0018】図2は、図1のコンピュータシステムにお
けるDMA制御回路104の詳細を他の回路部分と共に
示している。DMA制御回路104は、処理終了保持レ
ジスタ221、処理開始要求保持レジスタ222、クロ
ック制御回路223、コントロール回路224、プログ
ラムカウンタ225、及び、ROMコードデコーダ22
6で構成される。
【0019】CPU101は、DMA制御回路104に
動作開始要求の送出に先立って、通常バス111を介し
て処理終了保持レジスタ221を参照する。処理終了保
持レジスタ221は、DMA制御回路104が動作中か
停止中かの状態を示すステータスフラグを格納してい
る。CPU101は、DMA制御回路104が停止中で
あれば、動作要求コード命令を処理開始要求保持レジス
タ222に通常バス111を介して書き込む。動作要求
コード命令は、DMA制御回路104が行うべき処理を
指定するもので、DMA制御回路104には、このコー
ド命令に対応してDMA用ROM105の必要なアドレ
スが格納されている。処理開始要求保持レジスタ222
は、その書込みイベントに応答し、クロック制御回路2
23にクロック供給開始信号252を送り、また、コン
トロール回路224に動作開始信号251を送出する。
【0020】クロック制御回路223は、クロック供給
開始信号252を受け取ると、コントロール回路22
4、プログラムカウンタ225、ROMデコーダ22
6、及び、DMA用ROM105にDMAクロック25
4の供給を開始する。
【0021】コントロール回路224は、動作開始信号
251を受けると、それに対応するDMA用ROM10
5の先頭アドレスを指定すると共に、プログラムカウン
タ225にアップカウント信号258を送り、また、処
理終了保持レジスタ221に処理状態信号261を送
る。処理終了保持レジスタ221の値は、動作中を示す
ステータスフラグに書き変わる。
【0022】プログラムカウンタ225は、動作要求コ
ード命令に対応する先頭アドレスからカウントを開始
し、DMA用バス112を介して読出し命令及びアドレ
ス信号をDMA用ROM105に送る。DMA用ROM
105は、格納した命令コード257をDMA用バス1
12を経由してROMコードデコーダ226に送る。R
OMコードデコーダ226は、命令コード257を変換
して、コントロール回路224に処理内容信号256を
送る。
【0023】コントロール回路224は、処理内容信号
256の内容に従って、RAM103に読出し命令及び
アドレス信号255を送出し、また、周辺マクロ106
に書込み命令及びアドレス信号260を送出する。この
信号転送は、プログラムカウンタ225のカウントに従
って逐次実行される。RAM103と周辺マクロ106
の間でのデータ転送が完了すると、コントロール回路2
24は、処理終了保持レジスタ221に処理状態信号2
61を送り、クロック制御回路223にはクロック供給
停止信号253を送る。処理終了保持レジスタ221
は、処理状態信号261によって、停止中を示すステー
タスフラグに書き変わる。クロック制御回路223は、
クロック供給停止信号253に従って、コントロール回
路224、プログラムカウンタ225、ROMデコーダ
226、及び、DMA用ROM105に対するDMAク
ロック254の供給を停止する。DMA制御回路104
は、動作中か停止中かの2つの状態を持ち、停止中には
このようにDMAクロック254の供給を停止して、そ
の消費電流を削減している。
【0024】上記のように、コントロール回路224が
実行する命令群は、DMA用ROM105に予め格納し
てあり、CPU101が処理開始要求保持レジスタ22
2に書き込こむ動作要求コードは、コントロール回路2
24が実行する一連の命令群の種類を示している。コン
トロール回路224は、この動作要求コード及びDMA
用ROM105に格納された命令群に従って処理を実行
する。
【0025】CPU101からの動作要求コードは、上
記のようなRAM103から周辺マクロ106へのデー
タ転送の他に、周辺マクロ106からRAM103への
データ転送、及び、周辺マクロ106に対する所定の制
御を含んでいる。
【0026】動作要求コードが、周辺マクロ106から
RAM103へのデータ転送の場合には、コントロール
回路224は、書込み命令及びアドレス信号255をR
AM103に送り、読出し命令及びアドレス信号260
を周辺マクロ106に送る。周辺マクロ106は、DM
A用バス112を経由して転送データを出力し、RAM
103はこれを入力する。この動作を繰り返してデータ
転送を行う。
【0027】動作要求コードが、周辺マクロ106自体
の制御の場合には、コントロール回路224は、読出し
命令及びアドレス信号259をDMA用ROM105に
送り、書込み命令及びアドレス信号260を周辺マクロ
106に送る。DMA用ROM105は、DMA用バス
112に制御データを出力し、周辺マクロ106は、D
MA用バス112からこの制御データを入力する。この
動作を繰り返して周辺マクロ106の制御を行う。
【0028】上記のようにして、DMA制御回路104
は、RAMから周辺マクロへのデータ転送、周辺マクロ
からRAMへのデータ転送、及び、周辺マクロの制御を
一括して行うことができる。
【0029】図3は、図1に示したコンピュータシステ
ムの具体的な応用例を示している。このコンピュータシ
ステムでは、周辺マクロ106が、4チャネルのアナロ
グ入力ANI0〜ANI3をA/D変換するADコンバ
ータ306と、第1チャネルのアナログ入力ANI0を
成す第1の電圧値に基づいて出力電力を制御する電力制
御回路(PWM)307と、第2チャネル〜第4チャネ
ルのアナログ入力ANI1〜ANI3を成す第2〜第4
の入力電圧値に基づいて出力ポートPORT1〜POR
T3の出力を設定する出力ポート制御回路(PORT)
308とを有する。例えば、第2チャネルANI1の電
圧値が10V以上であればPORT1には「0」を、1
0V未満であれば「1」を出力する。第3チャネルAN
I2の電圧値が20V以上であればPORT2には
「0」を、20V未満であれば「1」を出力する。ま
た、第4チャネルANI3の電圧値が30V以上であれ
ばPORT3に「0」を、30V未満であれば「1」を
出力する。
【0030】上記制御を行うために、DMA制御回路1
04は、RAM103からA/Dコンバータ306、電
力制御回路307及び出力ポート制御回路308に夫々
データを転送する機能と、A/Dコンバータ306、電
力制御回路307及び出力ポート制御回路308からR
AM103にデータを転送する機能と、DMA用ROM
105からA/Dコンバータ306、電力制御回路30
7及び出力ポート制御回路308にデータを転送する機
能と、規定の時間をウエイトする機能とを有している。
【0031】図4は、図3のコンピュータシステムにお
ける処理の一例を示すフローチャートである。CPU1
01は通常バス111を使用し、DMA制御回路104
はDMA用バス312を使用して夫々処理を行うため、
図4に示すように、CPUによる処理とDMA制御にお
ける処理とは独立に実行される。
【0032】まず、CPU101は、自身の処理の実行
中にA/D変換及びそれに伴う処理を実行する命令が発
生した旨を知ると、DMA制御回路104に対してまず
A/D変換を実行するための動作要求コードを書き込み
(ステップS11)、CPU自身は他の処理を実行する
(ステップS12)。この動作要求コードのための処理
手順は、ループAとしてDMA用ROMに書き込まれて
いる。
【0033】DMA制御回路104は、DMA用ROM
105から逐次読み出される命令に従ってA/Dコンバ
ータ306を制御する。A/Dコンバータ306は、そ
の制御に従って、i=0〜3についてループAの処理を
行う。ループAの処理では、A/Dコンバータの入力を
ANIiに設定し(ステップS13)、ANIiのA/
D変換をスタートさせ(ステップS14)、変換終了ま
でウエイトし(ステップS15)、ANIiのA/D変
換の結果をRAMに転送する(ステップS16)処理を
行う。i=0〜3の全てについてのループAの処理が終
了すると、その終了の旨がCPUに通知される。
【0034】CPUは、ANI0のA/D変換結果か
ら、電力制御回路307に与える設定値を計算し、これ
をRAMに格納する(ステップS17)。次いで、CP
Uは電力制御回路307による制御を行うための要求コ
ードを処理開始要求保持レジスタ222に書き込む(ス
テップS18)ので、DMA制御回路104は周辺マク
ロ106内の電力制御回路307を制御するための処理
を行う。この処理も同様にDMA用ROM105から読
み出される。この処理では、まず、電力制御回路307
を停止し(ステップS19)、次いで、電力制御回路3
07の設定値を変更し(ステップS20)、電力制御回
路307の運転を再開する(ステップS21)。
【0035】一方、CPUは、DMA制御回路104に
電力制御回路307の処理開始の要求をした(ステップ
S18)後に、出力ポート制御のためのループBの処理
を行う。このループBの処理では、i=1〜3の全てに
ついて、入力ANIiの電圧値が夫々の所定値Ciと比
較され(ステップS22)、入力ANIiがCi以上で
あればPORTiを「0」に設定し(ステップS2
3)、Ci未満であれば「1」に設定する(ステップS
24)。Ciは、この例では、10V、20V、30V
である。i=1〜3の全てについてループBの処理が終
了し、且つ、DMA制御回路104から電力制御回路3
07における処理が終了した通知があると、CPU10
1は次の処理を実行する。
【0036】上記のように、DMA制御回路104がD
MA用ROM105に書き込まれた手順に従って必要な
処理を行うので、CPU101は他の処理を行うことが
でき、コンピュータシステムにおけるスループットが向
上する。
【0037】図5は、図3のコンピュータシステムにお
ける処理の別の例を示すフローチャートである。この例
では、ループBの処理を、CPU101を介さずにDM
A制御回路104によって行うので、CPU101は別
の処理を行うことができ、コンピュータシステムのスル
ープットが更に向上するものである。
【0038】つまり、CPU101は、ステップS18
でDMA制御回路104に所定の動作開始要求を出した
後に直ちに別の処理に移行し(ステップS25)、DM
A制御回路104は。この動作開始要求に基づいて、ス
テップS19〜S21で電力制御回路における処理を制
御し、次いで、ステップS22〜S24において、出力
ポート制御回路における処理を制御する。出力ポート制
御回路における処理には条件分岐が含まれており、従っ
てその処理にあたってはRAMや周辺マクロに格納され
たデータの読出しを条件とするので、その読出しルーチ
ンもDMA用ROMに指定されている。この例では、こ
のように複雑な条件分岐のルーチンもDMA制御回路に
よって行うことで、CPUの負担を軽減するものであ
る。
【0039】以上、本発明をその好適な実施形態例に基
づいて説明したが、本発明のDMA制御方式は上は、上
記実施形態例の構成にのみ限定されるものではなく、上
記実施形態例の構成から種々の修正及び変更を施したD
MA制御方式も、本発明の範囲に含まれる。
【0040】
【発明の効果】本発明のDMA制御方式によると、CP
Uの負担が軽減できるため、コンピュータシステムの処
理能力が向上する。
【図面の簡単な説明】
【図1】本発明の一実施形態例のDMA制御方式でデー
タ転送を行うコンピュータシステムのブロック図であ
る。
【図2】図1のDMA制御回路104の具体例を示すコ
ンピュータシステムのブロック図である。
【図3】図1の周辺マクロ106の具体例を示すコンピ
ュータシステムのブロック図である。
【図4】図3のコンピュータシステムにおける処理の一
例を示すフローチャートである。
【図5】図3のコンピュータシステムにおける処理の別
の例を示すフローチャートである。
【図6】従来のDMA制御方式でデータ転送を行うコン
ピュータシステムのブロック図である。
【符号の説明】
101 CPU 102 ROM 103 RAM 104 DMA制御回路 105 DMA用ROM 106 周辺マクロ 111 通常バス 112 DMA用バス 221 処理終了保持レジスタ 222 処理要求保持レジスタ 223 クロック制御回路 224 コントロール回路 225 プログラムカウンタ 226 ROMデコーダ 306 A/Dコンバータ 307 電力制御回路(PWM) 308 出力ポート制御回路(PORT)
【手続補正書】
【提出日】平成12年2月3日(2000.2.3)
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】請求項1
【補正方法】変更
【補正内容】

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 CPUを介さずにメモリと周辺マクロと
    の間でのデータ転送を実行するDMA制御回路におい
    て、 CPUからの特定の要求に対応する命令群を格納するR
    OMと、CPUからの要求を解読して前記ROMに格納
    された命令群を読み出すROM読出し回路と、該ROM
    読出し回路で読み出された命令群をデコードするデコー
    ダと、該デコーダによってデコードされた命令群に従っ
    てメモリ及び周辺マクロを制御してデータ転送を実行す
    るコントロール回路とを備えることを特徴とするDMA
    制御回路。
  2. 【請求項2】 前記コントロール回路は、周辺マクロの
    動作を制御する機能を更に有する、請求項1に記載のD
    MA制御回路。
  3. 【請求項3】 DMA専用のクロック回路を備え、該専
    用のクロック回路は、CPUからの動作要求がないとき
    には作動を停止する、請求項1又は2に記載のDMA制
    御回路。
  4. 【請求項4】 前記コントロール回路は、条件分岐命令
    を実行する、請求項1〜3の何れかに記載のDMA制御
    回路。
JP11013851A 1999-01-22 1999-01-22 Dma制御回路 Pending JP2000215152A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11013851A JP2000215152A (ja) 1999-01-22 1999-01-22 Dma制御回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11013851A JP2000215152A (ja) 1999-01-22 1999-01-22 Dma制御回路

Publications (1)

Publication Number Publication Date
JP2000215152A true JP2000215152A (ja) 2000-08-04

Family

ID=11844792

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11013851A Pending JP2000215152A (ja) 1999-01-22 1999-01-22 Dma制御回路

Country Status (1)

Country Link
JP (1) JP2000215152A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005519385A (ja) * 2002-03-01 2005-06-30 ザイリンクス インコーポレイテッド フィールドプログラマブルゲートアレイにおけるマルチギガビットトランシーバ用低ジッタクロック
US8127052B2 (en) 2006-12-01 2012-02-28 Mitsubishi Electric Corporation Data transfer control device and computer system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005519385A (ja) * 2002-03-01 2005-06-30 ザイリンクス インコーポレイテッド フィールドプログラマブルゲートアレイにおけるマルチギガビットトランシーバ用低ジッタクロック
US8127052B2 (en) 2006-12-01 2012-02-28 Mitsubishi Electric Corporation Data transfer control device and computer system

Similar Documents

Publication Publication Date Title
JPH05250305A (ja) データ転送制御方式
JP2001067235A (ja) 割込コントローラ及びマイクロコンピュータ
JPH01120660A (ja) マイクロコンピュータ装置
JP2008152409A (ja) 半導体集積回路
JP2000215152A (ja) Dma制御回路
JP4451010B2 (ja) プログラマブルコントローラ
JP3715328B2 (ja) データ処理装置
US20050216708A1 (en) Processor for performing context switching, a method for performing context switching, a computer program for perform context switching
JP3540802B2 (ja) 命令生成方法、命令生成方法及び情報処理装置
JPS63304302A (ja) プログラマブル・コントロ−ラ
JPS6146552A (ja) 情報処理装置
JPS59218569A (ja) マイクロ・コンピユ−タ
JPH0876876A (ja) マイクロプロセッサのクロック供給制御回路
JP2007087244A (ja) コプロセッサ及びコンピュータシステム
JPS6352240A (ja) デ−タ処理装置
JPH0619817A (ja) 通信プロセッサ
JP2504535B2 (ja) バスユニットの構成方法
JPH02176832A (ja) マイクロコンピュータ
JPH01284902A (ja) プログラマブル・コントローラの伝送制御装置
JPS60142450A (ja) 記憶システム
JPH05216808A (ja) データ処理装置
JPH0635841A (ja) バス制御装置
JPS62269237A (ja) デ−タプロセツサ
JPH04340119A (ja) 情報処理装置
JPH06222935A (ja) 情報処理装置および情報処理装置によるタスク切替方法