JPS63292355A - Dma転送制御方式 - Google Patents

Dma転送制御方式

Info

Publication number
JPS63292355A
JPS63292355A JP12714587A JP12714587A JPS63292355A JP S63292355 A JPS63292355 A JP S63292355A JP 12714587 A JP12714587 A JP 12714587A JP 12714587 A JP12714587 A JP 12714587A JP S63292355 A JPS63292355 A JP S63292355A
Authority
JP
Japan
Prior art keywords
dma
various parameters
cpu
memory
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.)
Pending
Application number
JP12714587A
Other languages
English (en)
Inventor
Tadashi Arakawa
荒川 忠
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP12714587A priority Critical patent/JPS63292355A/ja
Publication of JPS63292355A publication Critical patent/JPS63292355A/ja
Priority to US08/029,068 priority patent/US5430853A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は、例えば通信装置等におけるDMA(ダイレク
トメモリアクセス)転送制御方式に関する。
[従来の技術] 従来、例えば通信装置においてDMA転送を行う場合、
マイクロプロセッサ等のCPUによってDMAコントロ
ーラ(DMAC)に各種パラメータをセットし、DMA
の開始が指示されると、DMACの制御のもとに送受信
バッファとメモリとの間でDMAによりデータ転送を行
っている。具体的には、例えば1ワードの通信データを
受信すると、受信部よりDMACに受信バッファよりメ
モリへのDMAデータ転送の要求が出される。これによ
りDMACはCPUにシステムバスの使用を要求し、例
えばサイクルスチール方式等により受信データをメモリ
にDMA転送する。このようなりMA転送動作を繰り返
すことにより、複数ワードの通信データをメモリに転送
し、更に1フレーム長の通信データの転送が終了すると
CPUに1フレームの受信終了を通知する。CPUはこ
の1フレームの受信終了により、次の受信に備えてDM
ACの各パラメータの再設定を行って次のフレームの受
信に備える。
「発明が解決しようとする問題点] 従って、CPUは1フレーム受信終了後から次のフレー
ム受信開始までの間に、少なくとも次のステップを実行
する必要がある。
ステップ1 割込み応答時のタスク切換ステップ2 次
フレーム受信用の記憶領域の確保 ステップ3  DMACの内部レジスタの再設定しかし
ながら、これらのステップに要する時間はプログラム制
御故に遅くなり、特にステップ2では記憶領域自体を管
理する別タスクの介入が必要になる。これは通信システ
ムの設計を行う時、上記全ステップの所要時間に多くの
マージン時間を見込んだ設計を行わねばならぬことを意
味しており、通信システムの受信能力の制約、即ち連続
する高速フレームを確実に受信処理できる能力を制約す
るという問題かがあった。
本発明は上記従来例に鑑みなされたもので、DQA制御
部への各種パラメータの再設定を高速に行うことができ
るとともに、各種パラメータの最設定が実行されるまで
は次のDMA転送を禁止するようにしたDMA制御方式
を提供することを目的とする。
[問題点を解決するための手段] 上記目的を達成するために本発明のDMA転送制御方式
は以下の様な構成からなる。即ち、CPUと共通のバス
に接続されたDMA制御手段と、該DMA制御手段への
各種パラメータを前記CPUより入力して記憶する記憶
手段と、前記各種パラメータの前記DMA制御手段への
セットアドレスを出力するアドレス手段と、前記CPU
の基本クロックに同期して前記各種パラメータを前記記
憶手段より前記DMA制御手段に出力して設定する設定
手段と、前記cpυによる前記記憶手段のパラメータの
更新以前に前記設定手段の動作を禁止する禁止手段とを
備える。
[作用] 以上の構成において、cpuと共通のバスに接続された
DMA制御手段への各種パラメータを、CPUより入力
して記憶手段に記憶する。DMA転送開始前に、CPU
の制御によらず、CPUの基本クロックに同期して各種
パラメータを記憶手段より読み出し、アドレス手段によ
りアドレスされたDMA制御手段のレジスタに出力して
、各種パラメータの設定を行う、CPUによるパラメー
タの更新が実行されていないときは、記憶手段よりDM
A制御手段へのパラメータの設定動作を禁止するように
動作する。
[実施例] 以下、添付図面を参照して本発明の好適な実施例を詳細
に説明する。
[通信装置の説明 (第2図)] 第2図は本実施例の通信装置の主要部の構成図である。
図中、1はプログラムメモリ2に格納された制御プログ
ラムやデータ等に従って各種論理演算や制御信号の入出
力を行い、装置全体の動作制御を行うCPUで、例えば
8ビツトのマイクロプロセッサである。3は送受信デー
タを格納するメモリである。4は設定されたパラメータ
に従ってメモリ3と通信制御部(ccu)sとの間でD
MA転送を行うDMAコントローラ(DMAC)である
、5は通信回線10に接続され、例えばCCITT勧告
のx、25レベル2の下位機能をサポートする通信制御
部(CCU)で、この下位機能とは具体的にHDLC(
ハイ・レベル・データ・リンク・コントロール)フレー
ムにおけるフラグ同期、タイムフィル、ゼロ挿入/削除
等の機能をいう。
6は第1図にその詳細を示す受信フレーム制御部で、後
述するようにDAllAC4への各種パラメータのセッ
トを行う、これら1〜6の各部はアドレスバス7、デー
タバス8(8ビツト)、制御線9(以下、これらをまと
めてシステムバスと呼ぶ)を介して相互に接続されてお
り、制御線9は各装置間の動作を制御するり−ド/ライ
ト線やクロック信号線あるいはバス要求信号線等の全て
の制御信号線の集合体である。
以上の構成において、DMAC4の制御によりシステム
バスを介してCCU3とメモリ3との間でDMA転送を
行うとともに、CCU3は通信回線10との間で例えば
x、21インタフエース等にて、HDLCフレームデー
タの送受信を行う。
CCU 5が通信回線10から受信したデータをメモリ
3へDMA転送するとき、このDMAチャネルを受信D
MAチャネルという、受信DMAチャネルはDMAC4
の内部レジスタで制御されるが、少なくとも2つのレジ
スタが必要である。1つは受信データの転送先のメモリ
アドレスを記憶している16ビツトの受信アドレスレジ
スタ(R,ADR) 、もう1つは受信フレームの最大
長を記憶する16ビツトの受信バイトカウントレジスタ
(R,BCR)である。
[受信フレーム制御部の説明 (第1図)]第1図は本
実施例の受信フレーム制御部の構成を示すブロック図で
ある。
100は受信フレーム制御部6の制御を行うコントロー
ル回路で、制御線9を介してCCU3からの受信終了信
号を検知すると、制御線9にバス要求信号(BUSRQ
)を出力してバス要求を行ったり、またCPU1よりの
制御信号やデコーダ102よりのアドレスデコード信号
110を入力して、cputの動作をチェックし、CP
UIの動作に同期してレジスタ104.105への書き
込み信号111.112を出力する。これによりCPU
 1よりの各種パラメータが、アドレスデコード信号1
10に対応するレジスタにセットされる。またレジスタ
106への書込み信号113は、DMAC4のRXBC
Rの読出しタイミングに同期して出力される。尚、10
2はアドレスデコード信号110を出力するデコーダで
ある。
アドレスシーケンサ103の出力は3ステート出力バツ
フアを介してアドレスバス7に接続されており、CPt
11の基本クロック114をシーケンスクロックとして
入力し、特定のアドレスデータ(DMAC4のデバイス
アドレス)をシーケンシャルにアドレスバス7に出力す
る。
104〜106はいずれも16ビツトのレジスタで、そ
れぞれのレジスタは2個の8ビツトレジスタで構成され
、各レジスタは3ステート入出力バツフアを介してデー
タバス8に接続されている。これら6個の8ビツトレジ
スタはデコーダ102よりのアドレスデコード信号11
0によって選択される。タイミングシーケンサ101は
基本クロック1!4とコントローラ回路100よりの信
号119を入力してタイミング信号115〜118を出
力し、上記6個の8ビツトレジスタ(レジスタ104〜
106)の出力及びアドレスシーケンサ103よりのア
ドレスデータの出力タイミングの制御を行っている。
以上の構成により、CPtJlよりの各パラメータがレ
ジスタ104,105のそれぞれの8ビツトレジスタに
書き込まれ、各レジスタの8ビツトデータが、基本クロ
ック114の1クロツクサイクルでDMAC4のそれぞ
れ対応する内部レジスタへ書き込まれ、あるいはDMA
C4の内部レジスタよりレジスタ106への読み出しが
行われることになる。
エネーブル判定部107はデコーダ102よりのアドレ
スデコード信号110と制御線90制御信号及びタイミ
ングシーケンサ101よりのデスエネーブル信号109
を入力し、エネーブル信号10Bを制御線9に出力して
いる。CPUIよりレジスタ104への書き込みが行わ
れると、エネーブル判定部107はレジスタ104のア
ドレス信号と制御線9上の書き込み信号とをチェックし
、上位バイト(下位バイト)の書き込みが行われるとエ
ネーブル信号108をオフにし、次に下位バイト(上位
バイト)の書き込みが行われるとエネーブル信号108
をオンにする。
またタイミングシーケンサ101はDMAC4への書き
込みが終了するとデスエネーブル信号109を出力して
、エネーブル判定部107のエネーブル信号108をオ
フにする。エネーブル信号は受信フレーム制御部のステ
ィタス信号でもあり、この信号がオフのとき、受信フレ
ーム制御部の動作は禁止されていることを示している。
[動作説明  (第3図〜第6図)] 第3図はプログラムメモリ2に格納されているCPUI
のデータ受信処理の制御プログラムのフローチャートで
ある。
本プログラムは装置の電源オンによって開始され、まず
ステップS1で第4図のフローチャートに示す初期化処
理を行う。ステップS2でCCU3からの1フレームの
データ終了通知を待つ。この通知は通常、割込信号より
行われる。
一方、DMAが開始さ・れるとシステムバスのパスマス
タはCPUIよりDMAC4に移る(ステップS4)。
ステップS4ではCCU3より受信データを入力してメ
モリ3に1バイトずつのDMAデータ転送を行い、1フ
レ一ム分の受信データのデータ転送が終了するまで、C
CU3よりメモリ3へのDMAデータ転送を繰り返し、
1フレ一ム分のデータ転送が終了するとそのDMA転送
を終了する。
ステップS5は1フレームのデータ受信終了時における
受信フレーム制御部6の動作ステップで、詳細を第5図
のフローチャートに示す、この処理フローによって、D
MAC4のレジスタ再設定が終了し、かつステップS5
の再動作が禁止される。
一方、cputはDMA転送が終了するとステップS3
で再びバスマスタとなりエネーブル信号108を調べる
。オフの時、その次のフレーム受信のためにレジスタ1
04の更新を開始する。まずステップS6にて、メモリ
3に次フレームの受信エリアを確保する。ステップS7
ではメモリ3に確保した受信エリアの先頭アドレスの上
位8ビツトをレジスタ104の上位バイトに書き込み、
ステップS8で先頭アドレスの下位8ビツトをレジスタ
104の下位バイトに書き込む、これによりエネーブル
判定部107はエネーブル信号108をオンにするため
、次のフレーム受信終了に伴なうステップS5の実行が
エネーブルとなる。この後、再びステップS2に戻り、
CCU3による次のフレームのデータ受信が終了すると
、前述の動作を繰り返し実行する。
またステップS3にてエネーブル信号がオンのときは、
ステップS5が実行されなかったことを意味し、CPU
IはステップS9にてDMAC4をデスエネーブルにし
た後、ステップS10にて初期化処理を再実行し、ステ
ップS2に戻る。
尚、本フローチャートでは1フレームの最大データ数は
固定として、ステップS2以降でレジスタ105の受信
フレームの最大転送バイト数の書き換えを行っていない
が、1フレームの最大データ数が変動するときは、レジ
スタ105のデータを変更するステップをステップS8
以降に追加してもよいことはもちろんである。
こうすることにより、レジスタ104のパラメータの更
新以後にステップS5が行われるため、DMAC4への
パラメータが更新されないで次のDMA動作に入るとい
う問題がなくなる。
第4図はcputによる初期化処理のフローチャートで
ある。
ステップS20では1フレームデータの受信エリアをメ
モリ3に確保し、ステップS21でDMAC4の受信ア
ドレスレジスタR,ADRに、ステップShoで確保し
たメモリエリアの先頭番地を書き込む、ステップ322
ではDMAC4の受信バイトカウントレジスタR11B
CRに、受信フレームの最大転送バイト数を書き込む、
ステップS23では次の受信フレーム用のメモリエリア
をメモリ3に確保し、ステップS24でレジスタ104
にステップS23で確保したメモリエリアの先頭番地を
書き込む0次にステップ325ではレジスタ105に受
信フレームの最大転送バイト数を書き込む、ステップ3
26でCCU5及びDMAC4の受信をエネーブルにし
て、初期化処理を終了する。
[受信フレーム制御部の塾作説明 (第5図、第6図)] 第5図は受信フレーム制御部6のコントロール回路10
0とタイミングシーケンサ101及びアドレスシーケン
サ103の連係によるDMAC4へのパラメータセット
処理のフローチャートである。
ステップS30でCCU3から1フレーム長のDMAの
転送終了が検知されるとステップ331に進み、システ
ムバスのバスマスタになるべくバス要求信号を制御線9
に出力する。バス要求が受けつけられてバスマスタにな
るとステップ333に進み、タイミングシーケンサ10
1及びアドレスシーケンサ103を起動する。ステップ
S34ではレジスタ104の上位バイトをDMAC4の
受信アドレスレジスタR,ADRの上位バイトに書き込
み、ステップS35でレジスタ104の下位バイトをD
MAC4のR11ADRの下位バイトに書き込む。
次にステップS36でDMAC4のRxBCRレジスタ
の値をレジスタ106の上位バイトに書き込み、ステッ
プ537でR,BCRの下位バイトをレジスタ106の
下位バイトに書き込む。これによりCPUIは実際の受
信バイト数(語数)を計算することができる。例えば、
第3図に示したフローチャートのステップS6の受信用
メモリエリアの確保処理等に利用して、次のメモリエリ
アの先頭アドレスを、前の(メモリの先頭アドレス)+
(語数)より求めてもよい。
次にステップ338,39でレジスタ105の上位バイ
ト及び下位バイトをDMAC4の受信バイトカウントレ
ジスタR11BCRに書き込む。
尚、これらのD M A C4’への書き込み及びDM
AC4からの読み出し処理は基本クロック114の1ク
ロツクサイクルでシーケンシャルに実施される。
ステップ540ではタイミングシーケンサ101よりデ
スエネーブル信号109をエネーブル判定部107に出
力して、エネーブル判定部107のエネーブル信号10
8をオフにし、ステップS41ではタイミングシーケン
サ101及びアドレスシーケンサ103の動作を停止し
、ステップS42でシステムバスの使用を放棄して処理
を終了する。
第6図は実施例のcptytの動作タイミングと受信フ
レーム制御部6の動作タイミングを比較した図である。
60はアドレスバスとデータバスの基本タイミングを示
す波形で、61はCPU1より制御線9に出力される書
き込み信号(WR)である、このように通常のマイクロ
プロセッサでは、アキュームレータに既に書き込みデー
タがセットされていても、DMAC4の各レジスタへの
1バイトデータの書き込み(I10ライト命令)には、
少なくとも基本クロック114の4サイクル分の時間が
必要である。
それに比べて本実施例ではDMAC4への4バイトのデ
ータ書き込みは、基本クロック114の4クロツクサイ
クルで行えるため、DMAC4の各パラメータのセット
が高速に実施できる。DMAC4への書き込み信号及び
DMAC4よりの読み出し信号は、第6図のタイミング
でコントロール回路100より制御線9に出力され、レ
ジスタ106への書込み信号113はDMAC4よりの
読出信号に同期してコントロール回路100よりレジス
タ106に出力される。
尚、本実施例ではDMAC4の内部レジスタR,ADR
,R,BCRのデータセットについて説明したがこれに
限定されるものでなく、DMAC4の書き込み可能な内
部レジスタの全てに対して受信フレーム制御部6に仮想
レジスタを設けて書き込みを行うようにしてもよい。
また本実施例は通信装置のDMA転送について説明した
がこれに限定されるものでなく、通常のメモリあるいは
I10装置とのDMA転送にも応用で縫ることはもちろ
んである。
以上説明したように本実施例によれば、DMACの転送
準備を高速に行うことができるため、高速で連続する通
信フレームを確実に受信できるという効果がある。また
DMA転送終了後に行われるCPUのパラメータセット
処理の負担を軽減できる効果がある。
[発明の効果] 以上述べた如く本発明によれば、DMACへの各種パラ
メータのセットを高速かつ確実に行うことができるため
、連続して高速にDMA転送を行うことができるという
効果がある。
【図面の簡単な説明】
第1図は本実施例の受信フレーム制御部の概略構成を示
す図、 第2図は本実施例の通信装置の主要部の構成を示す図、 第3図はCPUによるフレームデータのDMA転送処理
のフローチャート、 第4図はCPUによる初期化処理を示すフローチャート
、 第5図は受信フレーム制・開部によるDMAcへのパラ
メータセット動作のフローチャート、第6図はDMAC
への書き込み及びDMACよりの読出しタイミングとC
PUの動作との比較を示すタイミングチャートである。 °図中、1・・・CPU、2・・・プログラムメモリ、
3・・・メモリ、4・・−DMAC,5・・・CCU、
6・・・受信フレーム制御部、7・・・アドレスバス、
8・・・データバス、9・・・制御線、10・・・通信
回線、100・・・コントロール部、101・・・タイ
ミングシーケンサ、102・・・デコーダ、103・・
・アドレスシーケンサ、104〜106・・・レジスタ
、107・・・エネーJプル判定部、108・・・エネ
ーブル信号、109・、・デスエネーブル信号、110
・・・アドレスデコード信号、111〜113・・・書
込信号、114・・・基本クロックである。

Claims (2)

    【特許請求の範囲】
  1. (1)CPUと共通のバスに接続されたDMA制御手段
    と、該DMA制御手段への各種パラメータを前記CPU
    より入力して記憶する記憶手段と、前記各種パラメータ
    の前記DMA制御手段へのセットアドレスを出力するア
    ドレス手段と、前記CPUの基本クロックに同期して前
    記各種パラメータを前記記憶手段より前記DMA制御手
    段に出力して設定する設定手段と、前記CPUによる前
    記記憶手段のパラメータの更新以前に前記設定手段の動
    作を禁止する禁止手段とを備えることを特徴とするDM
    A転送制御方式
  2. (2)記憶手段よりDMA制御手段への各種パラメータ
    の転送は基本クロックの1サイクルの前半で前記記憶手
    段より前記パラメータを読み出し、前記1サイクルの後
    半で前記DMA制御手段に書込むようにしたことを特徴
    とする特許請求の範囲第1項に記載のDMA転送制御方
    式。
JP12714587A 1987-02-26 1987-05-26 Dma転送制御方式 Pending JPS63292355A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP12714587A JPS63292355A (ja) 1987-05-26 1987-05-26 Dma転送制御方式
US08/029,068 US5430853A (en) 1987-02-26 1993-03-10 Update of control parameters of a direct memory access system without use of associated processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP12714587A JPS63292355A (ja) 1987-05-26 1987-05-26 Dma転送制御方式

Publications (1)

Publication Number Publication Date
JPS63292355A true JPS63292355A (ja) 1988-11-29

Family

ID=14952728

Family Applications (1)

Application Number Title Priority Date Filing Date
JP12714587A Pending JPS63292355A (ja) 1987-02-26 1987-05-26 Dma転送制御方式

Country Status (1)

Country Link
JP (1) JPS63292355A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009028144A1 (ja) * 2007-08-30 2009-03-05 Panasonic Corporation Dma制御装置およびデータ転送方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009028144A1 (ja) * 2007-08-30 2009-03-05 Panasonic Corporation Dma制御装置およびデータ転送方法
JP4972692B2 (ja) * 2007-08-30 2012-07-11 パナソニック株式会社 Dma制御装置およびデータ転送方法

Similar Documents

Publication Publication Date Title
US5696989A (en) Microcomputer equipped with DMA controller allowed to continue to perform data transfer operations even after completion of a current data transfer operation
JPH1091572A (ja) データ転送方法及びその方法を用いたデータ転送装置
JP2000047974A (ja) バス制御コントローラのバス調停方法、バス制御コントローラ及び電子機器のシステム
US7454589B2 (en) Data buffer circuit, interface circuit and control method therefor
US5430853A (en) Update of control parameters of a direct memory access system without use of associated processor
KR20030097700A (ko) 데이터 프로세서
JPS63292355A (ja) Dma転送制御方式
JP2608286B2 (ja) データ転送装置
JPH0756803A (ja) 高速dma転送装置
JPH04323755A (ja) Dma装置
JP2004013289A (ja) マイクロコントローラのオンチップデバッグ方法
JP3168845B2 (ja) ディジタル信号処理装置
JPS63208966A (ja) Dma転送制御方式
JP3139310B2 (ja) ディジタル信号処理装置
JPH04195563A (ja) メモリシステムの制御装置
JP2593935B2 (ja) ダイレクトメモリアクセス装置
JP3127737B2 (ja) ディジタル信号処理装置
KR19990058930A (ko) 디앰에이 컨트롤러 및 이를 이용한 디앰에이 요구신호 우선순위 변경방법
JPH1040213A (ja) 情報処理装置のdmaデータ転送方法
JPH06301639A (ja) バス間データ転送装置
JPH04199449A (ja) デバイス制御装置
JPH06119289A (ja) データ転送装置
JPH06180681A (ja) 中央処理装置
JPS62190544A (ja) プログラマブル・コントロ−ラの上位リンクユニツト
JPH0696006A (ja) Dmaコントローラ