JPH09190406A - 直接メモリアクセス制御装置及びこれを用いた伝送システム - Google Patents

直接メモリアクセス制御装置及びこれを用いた伝送システム

Info

Publication number
JPH09190406A
JPH09190406A JP8349266A JP34926696A JPH09190406A JP H09190406 A JPH09190406 A JP H09190406A JP 8349266 A JP8349266 A JP 8349266A JP 34926696 A JP34926696 A JP 34926696A JP H09190406 A JPH09190406 A JP H09190406A
Authority
JP
Japan
Prior art keywords
dma
memory
transmission
source
destination
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
JP8349266A
Other languages
English (en)
Inventor
Zengi Kin
善 ギ 金
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics 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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JPH09190406A publication Critical patent/JPH09190406A/ja
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)【要約】 【課題】 直接メモリアクセス(DMA)制御装置を提
供する。 【解決手段】 マイクロプロセッサーからのDMA伝送
命令を格納する制御レジスター110と、伝送回数を記
録するカウントレジスターと100、伝送時にソースメ
モリアドレスを発生するソースメモリアドレス発生器1
60と、伝送時に目的地メモリアドレスを発生する目的
地メモリアドレス発生器150と、ソースメモリと目的
地メモリとの間に位置し、伝送時に目的地メモリにデー
タを移す前にソースメモリのデータを一時格納するデー
タバッファー170と、伝送中にソースあるいは目的地
メモリを用いようとする他のマスタの要求を受けてメモ
リ使用権を仲裁する仲裁器130と、仲裁器にメモリ使
用権を要求し、伝送に必要なメモリ制御信号あるいはメ
モリ使用権を有するマスタに要するメモリ制御信号を発
生し、伝送回数に関する情報をカウントレジスターに発
生する制御器140とを含む。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は直接メモリアクセス
(Direct Memory Access、以下DMAという)制御装置
に関し、特に、DMA伝送中にソースメモリや目的地メ
モリを用いようとするマイクロプロセッサーあるいは他
のマスタに一時優先権を与えてメモリを用いるようにさ
せるDMA制御装置に関する。
【0002】
【従来の技術】DMA伝送の基本目的は、特定メモリの
データを他の特定メモリに迅速に転送し、マイクロプロ
セッサーがDMA伝送中に他の作業を行うようにして、
効率的でかつ優れたシステム性能を提供することにあ
る。
【0003】このような目的を達成するために、DMA
制御器は、マイクロプロセッサーから特定メモリ(ソー
スメモリ)領域のデータを他の特定メモリ(目的地メモ
リ)領域に伝送するための一連の命令を受けてこれを実
行するように構成されている。したがって、従来のDM
A制御装置は、マイクロプロセッサーが出した命令を格
納するための制御レジスターと、転送すべきデータが格
納されているメモリ(ソースメモリ)のアドレスを発生
するソースアドレス発生器と、このソースメモリのデー
タを格納するための他のメモリ(目的地メモリ)のアド
レスを発生する目的地アドレス発生器と、DMA伝送回
数を格納するカウントレジスターと、DMA伝送中に起
きた状態を格納する状態レジスターと、DMA伝送を制
御するDMA制御器とから構成されている。
【0004】従来のDMA制御装置においては、カウン
トレジスターに格納された伝送回数に応じたDMA伝送
を行うと、最初の命令を出したマイクロプロセッサーに
インタラプトを送りDMA伝送の完了を報告し、再び初
期状態に戻って次の命令を待つ。そして、もし伝送中に
エラーが発生すると、これを状態レジスターに記録し、
エラーインタラプトをマイクロプロセッサーに送って状
態レジスターを読ませて、エラーに対して適宜な措置を
受ける。
【0005】このように、従来のDMA制御装置はDM
A伝送自体のみを支援している。即ち、DMA伝送が始
まると指定された回数のデータ伝送が完了するまで、D
MA制御器が用いているソースメモリや目的地メモリに
他のマスタ例えばマイクロプロセッサーや他の制御器が
アクセスできない。従って、このような短所を補うため
に、DMA伝送量を適宜に減らしてDMA伝送に要する
総時間数を縮める方法を用いている。
【0006】しかしながら、マイクロプロセッサーがメ
モリにアクセスするために依然として長時間の間待機し
なければならないという問題が残っている。従って、高
速性を要求されるシステムでは、CPUのプロセッシン
グ時に応答時間の遅延がシステムの性能を低下させる原
因となっていた。また、共有メモリ構造を有するマルチ
プロセッサーシステムにおいて共有メモリにアクセスし
ようとする場合、マスタが多すぎるために何度もアクセ
スを試みなければならないという不便さがあった。
【0007】このように、マイクロプロセッサーはDM
A伝送が完了するまでメモリにアクセスできずに待機し
なければならず、特別な場合には待機時間が長すぎるた
めタイムアウトが発生し、システムに致命的な影響を及
ぼしてDMA伝送を用いる長所を半減させていた。
【0008】
【発明が解決しょうとする課題】従って、本発明は上記
問題点を解決するためになされたものであって、本発明
の目的は、システムの性能を向上させるために長時間待
機する必要がなく、DMA伝送中にソースメモリや目的
地メモリを用いようとするマイクロプロセッサーあるい
は他のマスタに一時優先権を与えてメモリを用いさせる
ようにしたDMA制御装置を提供することにある。
【0009】また、本発明の他の目的は、DMA制御装
置を用いることにより、DMA伝送中にマイクロプロセ
ッサーのソースメモリあるいは目的地メモリの使用を可
能にするとともに、このためのアドレス及びデータ経路
の制御を含むDMA伝送システムを提供することにあ
る。
【0010】
【課題を解決するための手段】上記目的を達成するため
の本発明によるDMA制御装置は、マイクロプロセッサ
ーと、伝送するデータが格納されているソースメモリ
と、伝送されたデータが格納される目的地メモリとを含
むコンピューターシステムにおいて直接メモリアクセス
(以下、DMAという)伝送を行うDMA制御装置であ
って、前記マイクロプロセッサーがDMA制御装置に伝
達するDMA伝送に関する命令を格納するDMA制御レ
ジスターと、DMA伝送回数を記録するDMAカウント
レジスターと、DMA伝送時に前記ソースメモリのアド
レスを発生するソースメモリアドレス発生器と、DMA
伝送時に前記目的地メモリのアドレスを発生する目的地
メモリアドレス発生器と、前記ソースメモリと前記目的
地メモリとの間に位置し、DMA伝送時に前記目的地メ
モリにソースメモリのデータを移す前に前記ソースメモ
リのデータを一時格納するDMAデータバッファーと、
DMA伝送中に前記ソースメモリあるいは目的地メモリ
を用いようとする少なくとも一つのマスタのメモリアク
セス要求を受けてメモリ使用権を仲裁するDMA仲裁器
と、前記DMA仲裁器にメモリ使用権を要求し、DMA
伝送に必要なメモリ制御信号あるいはメモリ使用権を有
するマスタが必要とするメモリ制御信号を発生するとと
もに、DMA伝送回数に関する情報をDMAカウントレ
ジスターに発生するDMAエンジン制御器と含むことを
特徴とする。
【0011】前記DMA仲裁器は、DMA伝送サイクル
を前記ソースメモリから前記DMAデータバッファーへ
のデータ伝達(第1サイクル)と前記DMAデータバッ
ファーから前記目的地メモリへのデータ伝達(第2サイ
クル)とに分離し、前記第1サイクルと第2サイクルと
から構成される基本DMA伝送サイクル単位で、DMA
伝送中に前記ソースメモリあるいは目的地メモリを用い
ようとする少なくとも一つのマスタのメモリアクセス要
求を受けて前記メモリ使用権を仲裁することが好まし
い。また、前記DMAエンジン制御器からDMA伝送状
態に関する情報を受けて格納するDMA状態レジスター
を更に具備するとよい。
【0012】前記DMA仲裁器は、前記ソースメモリを
用いようとするマスタのソースメモリ使用要求信号を受
けて、前記基本DMA伝送サイクル単位でメモリ使用権
を仲裁するソースメモリ仲裁器と、前記目的地メモリを
用いようとするマスタの目的地メモリ使用要求信号を受
けて、前記基本DMA伝送サイクル単位でメモリ使用権
を仲裁する目的地メモリ仲裁器と、前記ソースメモリ仲
裁器及び前記目的地メモリ仲裁器の仲裁結果に応じてD
MA制御装置以外のマスタが前記ソースメモリ及び目的
地メモリに発生するアドレス及びデータバス信号を一時
格納するバッファー制御信号を発生するバッファー制御
信号発生器とを含むことが好ましい。また、前記DMA
エンジン制御器は、前記DMA制御レジスターに格納さ
れた命令を分析する命令分析器と、前記命令分析器を通
じてソースメモリから目的地メモリへのDMA伝送に関
する情報を受けて、前記ソース及び目的地メモリ仲裁器
にソース及び目的地メモリの使用を要求する信号を発生
し、メモリ使用権を受けるとDMA伝送状態に応じてデ
ータ及びアドレスの流れを制御する制御信号を発生する
状態遷移マシンと、前記状態遷移マシンでDMA伝送が
正常に完了すると、DMA伝送を要求したマスタにこれ
を知らせる正常終了処理器と、前記状態遷移マシンでD
MA伝送にエラーが発生すると、DMAを要求したマス
タにこれを知らせるエラー終了処理器とを含むことが好
ましい。
【0013】また、本発明によるDMA伝送システム
は、DMA伝送命令を発生し、DMA伝送中には所定の
作業を行うマイクロプロセッサーと、前記マイクロプロ
セッサーからDMA伝送命令を受けてこれを行い、アド
レスバッファー及びデータバッファーの制御信号を発生
してアドレス及びデータの流れを制御するDMA制御手
段と、伝送するデータを格納しているソースメモリと、
伝送されたデータを格納する目的地メモリと、前記ソー
スメモリと前記目的地メモリとの間に位置し、DMA伝
送時に前記目的地メモリにソースメモリのデータを移す
前に前記ソースメモリのデータを一時格納するDMAデ
ータバッファーと、前記マイクロプロセッサーと前記目
的地メモリとの間に位置し、前記マイクロプロセッサー
と前記目的地メモリとの間でやりとりされるデータを一
時格納する目的地データバッファーと、前記マイクロプ
ロセッサーが前記目的地メモリに発生するアドレスを一
時格納する目的地アドレスバッファーと、前記マイクロ
プロセッサーと前記ソースメモリとの間でやりとりされ
るデータを一時格納するソースデータバッファーと、前
記DMA制御手段から出力されるソースメモリアドレス
と前記マイクロプロセッサーから出力されるソースアド
レスを入力として前記DMA制御手段の制御信号に応じ
て前記DMA制御手段から出力されるソースメモリアド
レスと前記マイクロプロセッサーから出力されるソース
アドレスのうち一つを出力するマルチプレクサーとを含
むことを特徴とする。
【0014】
【発明の実施の形態】以下、本発明の実施の形態につい
て添付の図面に基づいて詳細に説明する。
【0015】図1は、本発明による好ましいDMA制御
装置のブロック図である。図1において、DMA制御レ
ジスター110はマイクロプロセッサーがDMA制御装
置に伝達するDMA伝送に関する命令を格納する。DM
Aカウントレジスター100はDMA伝送回数を記録す
る。DMA状態レジスター120はDMAエンジン制御
器140からDMA伝送状態に関する情報を受けて格納
する。
【0016】ソースメモリアドレス発生器160はDM
A伝送時にソースメモリのアドレスを発生する。目的地
メモリアドレス発生器150はDMA伝送時に目的地メ
モリのアドレスを発生する。DMAデータバッファー1
70はDMA伝送時に目的地メモリにソースメモリのデ
ータを移す前にソースメモリのデータを一時格納する。
【0017】DMA仲裁器130は、DMA伝送サイク
ルをソースメモリからDMAデータバッファー170へ
のデータ伝達(第1サイクル)とDMAデータバッファ
ー170から目的地メモリへのデータ伝達(第2サイク
ル)とに分離し、第1サイクルと第2サイクルをそれぞ
れ基本DMA伝送サイクルとする時、DMA伝送中にソ
ースメモリあるいは目的地メモリを用いようとする少な
くとも一つ以上のマスタからのメモリアクセス要求を受
けて基本DMA伝送サイクル単位でメモリ使用権を仲裁
する。
【0018】DMAエンジン制御器140は、DMA仲
裁器130にメモリ使用権を要求し、DMA伝送に必要
なメモリ制御信号及びメモリ使用権を有するマスタが必
要とするメモリ制御信号を発生するとともに、DMA伝
送回数に関する情報をDMAカウントレジスター100
に発生する。
【0019】図2は、DMA仲裁器130とDMAエン
ジン制御器140の詳細ブロック図である。図2に示す
ように、DMA仲裁器130は、ソースメモリ仲裁器1
32と、目的地メモリ仲裁器134と、バッファー制御
信号発生器136とから構成される。
【0020】ソースメモリ仲裁器132は、ソースメモ
リを用いようとするマスタのソースメモリ使用要求信号
を受け、基本DMA伝送サイクル単位でメモリ使用権を
仲裁する。目的地メモリ仲裁器134は、目的地メモリ
を用いようとするマスタの目的地メモリ使用要求信号を
受け、基本DMA伝送サイクル単位でメモリ使用権を仲
裁する。バッファー制御信号発生器136は、ソースメ
モリ仲裁器132及び目的地メモリ仲裁器134による
仲裁の結果に応じてDMA制御装置以外のマスタがソー
ス及び目的地メモリに発生するアドレス及びデータバス
信号を一時格納するバッファー制御信号を発生する。
【0021】また、図2に示すように、DMAエンジン
制御器140は、命令分析器142と、状態遷移マシン
144と、正常終了処理器146と、エラー終了処理器
148とから構成される。
【0022】命令分析器142はDMA制御レジスター
110に格納された命令を分析する。状態遷移マシン1
44は、命令分析器142を通じてソースメモリから目
的地メモリに行われるDMA伝送に関する情報を受け
て、ソース及び目的地メモリ仲裁器132,134にソ
ース及び目的地メモリの使用を要求する信号を発生し、
メモリ使用権を受けるとDMA伝送状態に応じてデータ
及びアドレスの流れを制御する制御信号を発生する。
【0023】正常終了処理器146は、状態遷移マシン
144でDMA伝送が正常に完了すると、DMAを要求
したマスタにこれを知らせる。エラー終了処理器148
は、状態遷移マシン144でDMA伝送にエラーが発生
すると、DMAを要求したマスタにこれを知らせる。
【0024】次に、図1及び図2を参照しながら本発明
によるDMA制御装置の動作を説明する。
【0025】まず、DMA伝送を要求するマイクロプロ
セッサーがソースメモリアドレス発生器160にソース
メモリの開始アドレスを記録し、目的地メモリアドレス
発生器150に目的地メモリの開始アドレスを記録し、
DMA伝送されるデータ量に応じてDMA伝送の回数を
DMAカウントレジスター100に記録する。次に、D
MA制御レジスター110にDMA伝送を指示する命令
(d cmd)を記録する。その後、この命令はDMAエンジ
ン制御器140の命令分析器142に伝達されてDMA
伝送方向などを分析し、これに基づき状態遷移マシン1
44が作動してDMA伝送が開始される。
【0026】この際、DMA伝送サイクルは、ソースメ
モリのデータがDMAデータバッファー170に伝達さ
れる第1サイクルとDMAデータバッファー170に伝
達されたデータが目的地メモリに伝達される第2サイク
ルとに分けられる。
【0027】第1サイクルが完了すると、DMAエンジ
ン制御器140の状態遷移マシン144はこれを知らせ
る信号(1st end)をDMA仲裁器130の目的地メモリ
仲裁器134に伝達する。同様に、第2サイクルが完了
すると、DMAエンジン制御器140の状態遷移マシン
144はこれを知らせる信号(2nd end)をDMA仲裁器
130のソースメモリ仲裁器132に伝達する。
【0028】なお、第1サイクルあるいは第2サイクル
が完了すると、DMAエンジン制御器140は、DMA
伝送を続けるために、DMA仲裁器130に目的地メモ
リ使用権を要求する信号(dma dst req)あるいはソー
スメモリ使用権を要求する信号(dma src req)を発生
し、メモリ使用に対する仲裁を受ける。次いで、DMA
エンジン制御器140は、DMA仲裁器130の仲裁を
通じてソースメモリ使用に関する許可信号(src gnt)あ
るいは目的地メモリ使用に対する許可信号(dst gnt)を受
けると、ソースメモリアドレス発生器160あるいは目
的地メモリアドレス発生器150から発生されたソース
メモリアドレスあるいは目的地メモリアドレスをDMA
仲裁器130のバッファー制御信号発生器136を通じ
て発生されたバッファー制御信号に応じてソースメモリ
あるいは目的地メモリに入力させる。
【0029】また、第2サイクルが終わると、即ち一つ
のDMAデータブロック伝送が完了すると、DMAエン
ジン制御器140はソースメモリアドレス発生器160
と目的地メモリアドレス発生器150に現在のアドレス
の増加を指示する信号(inc)を発生して次のブロック伝
送を用意させる。
【0030】また、DMAエンジン制御器140は、第
2サイクルが完了すると、DMAカウントレジスター1
00にDMA伝送回数の一回の減少を指示する信号(de
c) を発生する。すると、DMAカウントレジスター1
00に記録されているDMA伝送回数は一回だけ減少
し、DMAカウントレジスター100はDMA伝送回数
が‘0’になったかを検査し、‘0’でない場合にはD
MAエンジン制御器140を通じてDMA伝送を続けさ
せ、‘0’である場合にはカウントアウト信号(cout)を
DMAエンジン制御器140に送ってすべてのDMA伝
送が完了したことを知らせる。この際、DMAエンジン
制御器140の正常終了処理器146がインタラプトを
通じてマイクロプロセッサーにこれを知らせると、DM
A伝送が終了する。
【0031】また、DMAエンジン制御器140は、D
MA伝送の進行中に現在のDMA状態を引き続きDMA
状態レジスター120に送って現在のDMA状況を記録
させる。さらに、DMAエンジン制御器140は、DM
Aが正常に完了した場合あるいは動作中にエラーが発生
した場合には、これに関する情報をDMA状態レジスタ
ー120に格納し、正常終了処理器146あるいはエラ
ー終了処理器148を通じてマイクロプロセッサーにイ
ンタラプトを発生し、伝送完了あるいはエラー発生情報
を報告し適宜な措置を受ける。
【0032】次に、DMA伝送中に即ち伝送回数が
‘0’でない状況において、マイクロプロセッサーや他
のマスタがソースメモリあるいは目的地メモリを用いよ
うとする場合について説明する。例えば、DMAエンジ
ン制御器140が第1サイクルあるいは第2サイクルを
行っている最中に、マイクロプロセッサーあるいは他の
マスタがソースあるいは目的地データを用いようとメモ
リ使用権を要求する信号(m src req,m dst req)を
DMA仲裁器130に発生する場合を想定してみると、
まずDMAエンジン制御器140は現在行っているサイ
クルを完了させる。即ち、第1サイクルの遂行中にメモ
リ使用権が要求されると第1サイクルを完了させ、第2
サイクルの遂行中にメモリ使用権が要求されると第2サ
イクルを完了させる。その後、DMA仲裁器130を通
じてメモリ使用権を仲裁してメモリ使用権を決定する。
ここで、メモリ使用権を獲得したマスタがメモリを用い
るようになり、この際、前述したDMA伝送動作は一時
中止される。また、マスタによるメモリの使用が終わる
と、DMAエンジン制御器140は再びDMA仲裁器1
30を通じてメモリ使用権を獲得してDMA伝送を再開
する。
【0033】図3はDMA制御装置を用いたDMA伝送
システムの好ましい一例を示したブロック図である。こ
こでは、説明の便宜上、ソースメモリと目的地メモリを
用いるマスタはマイクロプロセッサーとDMA制御装置
と仮定する。
【0034】図3において、マイクロプロセッサー30
0は、DMA伝送命令を発生し、DMA伝送中には所定
の作業を行う。DMA制御手段310は、マイクロプロ
セッサー300からDMA伝送命令を受けてこれを実行
し、アドレスバッファー325,335及びデータバッ
ファー320,330の制御信号を発生してアドレス及
びデータの流れを制御する。
【0035】ローカルメモリ360は、ローカルバスに
連結されており、DMA伝送方向に応じて伝送するデー
タを格納しているソースメモリあるいは伝送されたデー
タを格納する目的地メモリとして利用できる。システム
メモリ370は、システムバスに連結されており、ロー
カルメモリと同様にDMA伝送方向に応じてソースメモ
リあるいは目的地メモリとして利用できる。
【0036】DMAデータバッファー340は、DMA
伝送時に目的地メモリにソースメモリのデータを移す前
にソースメモリのデータを一時格納する。プロセッサー
データバッファー320は、マイクロプロセッサーとシ
ステムメモリとの間にやりとりされるデータを一時格納
する。ローカルメモリデータバッファー330は、マイ
クロプロセッサーとローカルメモリとの間にやりとりさ
れるデータを一時格納する。プロセッサーアドレスバッ
ファー325は、マイクロプロセッサーがシステムメモ
リに発生するアドレスを一時格納する。ローカルアドレ
スMUX335は、DMA制御手段310から出力され
るローカルメモリアドレスとマイクロプロセッサーから
出力されるローカルメモリアドレスを入力としてDMA
制御手段の制御信号に応じてDMA制御手段から出力さ
れるローカルメモリアドレスとマイクロプロセッサーか
ら出力されるローカルメモリアドレスのうち一つを出力
するマルチプレクサーである。
【0037】また、アドレスデコーダー375は、マイ
クロプロセッサー300から出力されるアドレスをデコ
ーディングしてDMA制御手段310のDMA仲裁器に
伝送する。システムメモリアドレスバッファー345及
びシステムメモリデータバッファー350は、システム
バスにアドレス及びデータを出力する前にシステムメモ
リのアドレス及びデータをバッファリングする役割を果
たす。
【0038】次に、図1及び図2に示したDMA制御装
置のブロック図と図3を参照して本発明による伝送シス
テムの動作を説明する。図3のDMA制御手段310と
DMAデータバッファー340は図1のDMA制御装置
に該当する。また、図1及び図2を参照して説明したD
MA制御装置の動作は、図3の場合にも準用されるの
で、重複する説明を省略してDMA伝送システムのアド
レスバッファー及びデータバッファー制御について主に
説明する。さらに、説明の便宜のために、ローカルメモ
リ360をソースメモリと、また、システムメモリ37
0を目的地メモリと想定して説明する。
【0039】まず、DMA伝送を要求するマイクロプロ
セッサー300がソースメモリのローカルメモリアドレ
ス発生器311にソースメモリ360の開始アドレスを
記録し、目的地メモリのシステムメモリアドレス発生器
312に目的地メモリ370の開始アドレスを記録し、
DMA伝送されるデータ量に応じてDMA伝送する回数
をDMAカウントレジスター313に記録する。その
後、DMA制御レジスター314にDMA伝送を指示す
る命令(d cmd)を記録する。すると、この命令はDMA
エンジン制御器317に伝達されてDMA伝送方向など
が分析され、これに基づきエンジン制御器317の状態
遷移マシン(図示せず)が作動してアドレスバッファー
及びデータバッファーを制御する信号を発生してDMA
伝送が開始される。
【0040】この際、DMA伝送サイクルは、ソースメ
モリ360のデータがDMAデータバッファー340に
伝達される第1サイクルと、DMAデータバッファー3
40に伝達されたデータが目的地メモリ370に伝達さ
れる第2サイクルとに分けられる。
【0041】即ち、第1サイクルは次のように行われ
る。まず、DMAエンジン制御器317の状態遷移マシ
ンを通じてローカルアドレスMUX335の選択信号(m
ux sel)を発生して、ローカルメモリアドレス発生器3
11から出力されたローカルメモリアドレスをローカル
メモリ360に入力し、ローカルメモリ360のデータ
をDMAデータバッファー340にラッチさせる。第1
サイクルが完了すると、DMAエンジン制御器317は
これを知らせる信号(1st end)をDMA仲裁器316に
伝達する。
【0042】一方、第2サイクルはDMA仲裁器316
を通じてDMAエンジン制御器317がメモリ使用権を
獲得した後に初めて開始される。DMAエンジン制御器
317がメモリ使用権を獲得すると、DMAデータバッ
ファー340でラッチされたデータを出力させる出力イ
ネーブル信号(d local2sys en) を発生し、ラッチさ
れたデータをシステムメモリデータバッファー350を
通じてシステムメモリ370に記録させる。第2サイク
ルが完了すると、DMAエンジン制御器317がこれを
知らせる信号をDMA仲裁器316に伝達する。
【0043】第1サイクルあるいは第2サイクルが完了
すると、DMAエンジン制御器317はDMA伝送を続
けるためにDMA仲裁器316に目的地メモリ370の
使用権を要求する信号あるいはソースメモリ360の使
用権を要求する信号を発生し、ソースメモリ360ある
いは目的地メモリ370の使用に対する仲裁を受ける。
DMAエンジン制御器317は、DMA仲裁器316の
仲裁を通じてソースメモリ360の使用に関する許可信
号あるいは目的地メモリ370の使用に関する許可信号
を受けると、ソースメモリアドレス発生器311から発
生されたソースメモリアドレスあるいは目的地メモリア
ドレス発生器312から発生された目的地メモリアドレ
スをDMA仲裁器316のバッファー制御信号発生器
(図示せず)を通じて発生されたバッファー制御信号に
応じてソースメモリ360あるいは目的地メモリ370
に入力させる。
【0044】また、第2サイクルが完了即ち一つのDM
Aデータブロック伝送が完了すると、DMAエンジン制
御器317は、ソースメモリアドレス発生器311と目
的地メモリアドレス発生器312に現在のアドレスの増
加を命令する信号(inc) を発生して次のブロック伝送を
用意させる。
【0045】さらに、DMAエンジン制御器317は、
第2サイクルが完了すると、DMAカウントレジスター
313にDMA伝送回数の一回減少を命令する信号(de
c) を発生して、DMAカウントレジスター313に記
録されているDMA伝送回数が一回だけ減少し、DMA
カウントレジスター313はDMA伝送回数が‘0’に
なったかを検査し、‘0’でない場合にはDMAエンジ
ン制御器317を通じてDMA伝送を続けさせ、‘0’
である場合にはカウントアウト信号をDMAエンジン制
御器317に送ってすべてのDMA伝送が完了したこと
を知らせる。この際、DMAエンジン制御器317の正
常終了処理器(図示せず)がインタラプトを通じてマイ
クロプロセッサー300にこれを知らせると、DMA伝
送が終了する。
【0046】さらに、DMAエンジン制御器317は、
DMA伝送中に現在のDMA状態を引き続きDMA状態
レジスター315に送り現在のDMA状況を記録させ
る。また、DMAエンジン制御器317は、正常にDM
Aが完了した場合あるいは動作中にエラーが発生した場
合には、これに関する情報をDMA状態レジスター31
5に格納し、DMAエンジン制御器317の正常終了処
理器あるいはエラー終了処理器を通じてマイクロプロセ
ッサー300にインタラプトを発生し、伝送完了あるい
はエラー発生情報を報告して適宜な措置を受ける。
【0047】次に、DMA伝送中即ち伝送回数が‘0’
でない状況においてマイクロプロセッサー300がソー
スメモリあるいは目的地メモリを用いようとする場合に
ついて説明する。例えば、DMAエンジン制御器317
が第1サイクルあるいは第2サイクルを行っている最中
にマイクロプロセッサー300がソースあるいは目的地
メモリを用いようとメモリ使用権を要求する使用権要求
信号をDMA仲裁器316に発生するものと仮定する。
ここで、使用権要求信号はローカルメモリ360あるい
はシステムメモリ370のアドレスのために生成される
信号であり、かつ、それらはマイクロプロセッサー30
0により生成され、アドレスデコーダー375によりデ
コーディングされる。
【0048】このような使用権要求信号が発生すると、
DMAエンジン制御器317は現在行っているサイクル
を終了させる。即ち、第1サイクルの遂行中にメモリ使
用権が要求されると第1サイクルを完了させ、第2サイ
クルの遂行中にメモリ使用権が要求されると第2サイク
ルを完了させる。その後、DMA仲裁器316を通じて
メモリ使用権を仲裁してメモリ使用権を決定する。
【0049】ここで、マイクロプロセッサー300がメ
モリ使用権を獲得すると、前述したDMA伝送動作は一
時中止される。もしマイクロプロセッサー300がロー
カルメモリ360の使用権を獲得すると、DMAエンジ
ン制御器317はDMA仲裁器316からマイクロプロ
セッサー使用権獲得信号を受け、ローカルアドレスMU
X335の選択信号(mux sel)を用いマイクロプロセッ
サーが発生したアドレスをローカルメモリ360に入力
させる。なお、DMAエンジン制御器317は、ローカ
ルメモリデータバッファー330の出力イネーブル信号
(up2local en) を発生し、ローカルメモリ360に入
力させることにより、マイクロプロセッサー300はロ
ーカルメモリ360を用いることができる。
【0050】また、DMA仲裁器を通じてマイクロプロ
セッサーがシステムメモリ使用権を獲得すると、DMA
仲裁器316のバッファー制御信号発生器(図示せず)
はプロセッサーデータバッファー320の出力制御信号
(up2sys en又はsys2up en) 信号を発生してデータを
出力する。なお、プロセッサーアドレスバッファー32
5の出力制御信号(up addr en) を発生し、マイクロ
プロセッサー300が発生したアドレスをシステムメモ
リアドレスバッファー345を経てシステムメモリ37
0に入力させる。
【0051】マイクロプロセッサー300によるメモリ
の使用が完了すると、DMAエンジン制御器317は再
びDMA仲裁器316を通じてメモリ使用権を獲得して
DMA伝送を再開する。
【0052】なお、ここではローカルメモリ360をソ
ースメモリと、システムメモリ370を目的地メモリと
してそれぞれ仮定して説明したが、同様にローカルメモ
リ370を目的地メモリと、システムメモリ370をソ
ースメモリとすることができる。
【0053】
【発明の効果】本発明によれば、DMA伝送とマイクロ
プロセッサーの一般的なサイクルを同時に支援すること
により、最小限の伝送休止時間と高速性を要求するマル
チプロセッサーシステムの性能を向上させることができ
る。
【0054】また、DMA伝送サイクルやマイクロプロ
セッサーサイクルの何れか一つが長時間メモリサイクル
を用いる場合でも、タイムアウトやバスエラーの発生を
防止できるので、安定性が向上してシステムの効率を高
めることができる。
【図面の簡単な説明】
【図1】本発明による好ましいDMA制御装置を示すブ
ロック図である。
【図2】図1に示すDMA仲裁器とDMAエンジン制御
器の詳細ブロック図である。
【図3】DMA制御装置を用いたDMA伝送システムの
一例を示すブロック図である。
【符号の説明】
100 DMAカウントレジスター 110 DMA制御レジスター 120 DMA状態レジスター 130 DMA仲裁器 140 DMAエンジン制御器 150 目的地メモリアドレス発生器 160 ソースメモリアドレス発生器 170 DMAデータバッファー

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 マイクロプロセッサーと、伝送するデー
    タが格納されているソースメモリと、伝送されたデータ
    が格納される目的地メモリとを含むコンピューターシス
    テムにおいて直接メモリアクセス(以下、DMAとい
    う)伝送を行うDMA制御装置であって、 前記マイクロプロセッサーがDMA制御装置に伝達する
    DMA伝送に関する命令を格納するDMA制御レジスタ
    ーと、 DMA伝送回数を記録するDMAカウントレジスター
    と、 DMA伝送時に前記ソースメモリのアドレスを発生する
    ソースメモリアドレス発生器と、 DMA伝送時に前記目的地メモリのアドレスを発生する
    目的地メモリアドレス発生器と、 前記ソースメモリと前記目的地メモリとの間に位置し、
    DMA伝送時に前記目的地メモリにソースメモリのデー
    タを移す前に前記ソースメモリのデータを一時格納する
    DMAデータバッファーと、 DMA伝送中に前記ソースメモリあるいは目的地メモリ
    を用いようとする少なくとも一つのマスタのメモリアク
    セス要求を受けてメモリ使用権を仲裁するDMA仲裁器
    と、 前記DMA仲裁器にメモリ使用権を要求し、DMA伝送
    に必要なメモリ制御信号あるいはメモリ使用権を有する
    マスタが必要とするメモリ制御信号を発生するととも
    に、DMA伝送回数に関する情報をDMAカウントレジ
    スターに発生するDMAエンジン制御器と、を含むこと
    を特徴とするDMA制御装置。
  2. 【請求項2】 前記DMA仲裁器は、DMA伝送サイク
    ルを前記ソースメモリから前記DMAデータバッファー
    へのデータ伝達(第1サイクル)と前記DMAデータバ
    ッファーから前記目的地メモリへのデータ伝達(第2サ
    イクル)とに分離し、前記第1サイクルと第2サイクル
    とから構成される基本DMA伝送サイクル単位で、DM
    A伝送中に前記ソースメモリあるいは目的地メモリを用
    いようとする少なくとも一つのマスタのメモリアクセス
    要求を受けて前記メモリ使用権を仲裁することを特徴と
    する請求項1に記載のDMA制御装置。
  3. 【請求項3】 前記DMAエンジン制御器からDMA伝
    送状態に関する情報を受けて格納するDMA状態レジス
    ターを更に具備することを特徴とする請求項2に記載の
    DMA制御装置。
  4. 【請求項4】 前記DMA仲裁器は、 前記ソースメモリを用いようとするマスタのソースメモ
    リ使用要求信号を受けて、前記基本DMA伝送サイクル
    単位でメモリ使用権を仲裁するソースメモリ仲裁器と、 前記目的地メモリを用いようとするマスタの目的地メモ
    リ使用要求信号を受けて、前記基本DMA伝送サイクル
    単位でメモリ使用権を仲裁する目的地メモリ仲裁器と、 前記ソースメモリ仲裁器及び前記目的地メモリ仲裁器の
    仲裁結果に応じてDMA制御装置以外のマスタが前記ソ
    ースメモリ及び目的地メモリに発生するアドレス及びデ
    ータバス信号を一時格納するバッファー制御信号を発生
    するバッファー制御信号発生器とを含むことを特徴とす
    る請求項2に記載のDMA制御装置。
  5. 【請求項5】 前記DMAエンジン制御器は、 前記DMA制御レジスターに格納された命令を分析する
    命令分析器と、 前記命令分析器を通じてソースメモリから目的地メモリ
    へのDMA伝送に関する情報を受けて、前記ソース及び
    目的地メモリ仲裁器にソース及び目的地メモリの使用を
    要求する信号を発生し、メモリ使用権を受けるとDMA
    伝送状態に応じてデータ及びアドレスの流れを制御する
    制御信号を発生する状態遷移マシンと、 前記状態遷移マシンでDMA伝送が正常に完了すると、
    DMA伝送を要求したマスタにこれを知らせる正常終了
    処理器と、 前記状態遷移マシンでDMA伝送にエラーが発生する
    と、DMAを要求したマスタにこれを知らせるエラー終
    了処理器とを含むことを特徴とする請求項4に記載のD
    MA制御装置。
  6. 【請求項6】 DMA伝送命令を発生し、DMA伝送中
    には所定の作業を行うマイクロプロセッサーと、 前記マイクロプロセッサーからDMA伝送命令を受けて
    これを行い、アドレスバッファー及びデータバッファー
    の制御信号を発生してアドレス及びデータの流れを制御
    するDMA制御手段と、 伝送するデータを格納しているソースメモリと、 伝送されたデータを格納する目的地メモリと、 前記ソースメモリと前記目的地メモリとの間に位置し、
    DMA伝送時に前記目的地メモリにソースメモリのデー
    タを移す前に前記ソースメモリのデータを一時格納する
    DMAデータバッファーと、 前記マイクロプロセッサーと前記目的地メモリとの間に
    位置し、前記マイクロプロセッサーと前記目的地メモリ
    との間でやりとりされるデータを一時格納する目的地デ
    ータバッファーと、 前記マイクロプロセッサーが前記目的地メモリに発生す
    るアドレスを一時格納する目的地アドレスバッファー
    と、 前記マイクロプロセッサーと前記ソースメモリとの間で
    やりとりされるデータを一時格納するソースデータバッ
    ファーと、 前記DMA制御手段から出力されるソースメモリアドレ
    スと前記マイクロプロセッサーから出力されるソースア
    ドレスを入力として前記DMA制御手段の制御信号に応
    じて前記DMA制御手段から出力されるソースメモリア
    ドレスと前記マイクロプロセッサーから出力されるソー
    スアドレスのうち一つを出力するマルチプレクサーとを
    含むことを特徴とするDMA伝送システム。
JP8349266A 1995-12-30 1996-12-27 直接メモリアクセス制御装置及びこれを用いた伝送システム Pending JPH09190406A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1019950069750A KR0160193B1 (ko) 1995-12-30 1995-12-30 직접메모리접근 제어장치
KR1995-69750 1995-12-30

Publications (1)

Publication Number Publication Date
JPH09190406A true JPH09190406A (ja) 1997-07-22

Family

ID=19448576

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8349266A Pending JPH09190406A (ja) 1995-12-30 1996-12-27 直接メモリアクセス制御装置及びこれを用いた伝送システム

Country Status (4)

Country Link
US (1) US5857114A (ja)
JP (1) JPH09190406A (ja)
KR (1) KR0160193B1 (ja)
CN (1) CN1082210C (ja)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0874320B1 (en) * 1997-04-02 2007-02-21 Matsushita Electric Industrial Co., Ltd. High speed data input-output device which fetches data into internal memory and performs operations on the data before outputting the data
JP3790323B2 (ja) 1997-04-16 2006-06-28 株式会社ルネサステクノロジ データ転送制御装置、マイクロコンピュータ及びデータ処理システム
KR100287366B1 (ko) * 1997-11-24 2001-04-16 윤순조 엠피이지 방식을 이용한 휴대용 음향 재생장치 및 방법
US6230229B1 (en) * 1997-12-19 2001-05-08 Storage Technology Corporation Method and system for arbitrating path contention in a crossbar interconnect network
US6108743A (en) * 1998-02-10 2000-08-22 Intel Corporation Technique for performing DMA including arbitration between a chained low priority DMA and high priority DMA occurring between two links in the chained low priority
US6473780B1 (en) * 1998-04-01 2002-10-29 Intel Corporation Scheduling of direct memory access
US6430628B1 (en) * 1998-12-08 2002-08-06 Intel Corporation Method and apparatus for reducing direct memory access transfers using smart coalescing
US6535940B1 (en) * 1999-07-28 2003-03-18 Sony Corporation System and method for fast data transfers in an electronic network
US6449665B1 (en) 1999-10-14 2002-09-10 Lexmark International, Inc. Means for reducing direct memory access
US6421744B1 (en) * 1999-10-25 2002-07-16 Motorola, Inc. Direct memory access controller and method therefor
US6658169B1 (en) * 2000-08-21 2003-12-02 Imaging Devices, Inc. Image processor with integral image buffer
JP2002073527A (ja) * 2000-08-25 2002-03-12 Rohm Co Ltd Dmaコントローラ
US6781589B2 (en) * 2001-09-06 2004-08-24 Intel Corporation Apparatus and method for extracting and loading data to/from a buffer
US7818356B2 (en) * 2001-10-29 2010-10-19 Intel Corporation Bitstream buffer manipulation with a SIMD merge instruction
JP2003271551A (ja) * 2002-03-18 2003-09-26 Fujitsu Ltd マイクロコンピュータ、バス制御回路およびマイクロコンピュータにおけるデータアクセス方法
US7130933B2 (en) * 2002-07-24 2006-10-31 Intel Corporation Method, system, and program for handling input/output commands
US20040034858A1 (en) * 2002-08-14 2004-02-19 Kushlis Robert J. Programming a multi-threaded processor
KR100532416B1 (ko) * 2003-01-18 2005-11-30 삼성전자주식회사 다중 소스의 다중 채널로의 할당 방법 및 시스템
JP2004227501A (ja) * 2003-01-27 2004-08-12 Yamaha Corp データ転送制御装置および方法
US7120708B2 (en) * 2003-06-30 2006-10-10 Intel Corporation Readdressable virtual DMA control and status registers
US20050038946A1 (en) * 2003-08-12 2005-02-17 Tadpole Computer, Inc. System and method using a high speed interface in a system having co-processors
US7130947B2 (en) * 2004-04-29 2006-10-31 International Business Machines Corporation Method of arbitration which allows requestors from multiple frequency domains
JP4563829B2 (ja) * 2005-01-27 2010-10-13 富士通株式会社 ダイレクトメモリアクセス制御方法、ダイレクトメモリアクセス制御装置、情報処理システム、プログラム
US8205053B2 (en) 2005-08-16 2012-06-19 Nxp B.V. Method and system for accessing memory using an auxiliary memory
JP4908017B2 (ja) * 2006-02-28 2012-04-04 富士通株式会社 Dmaデータ転送装置及びdmaデータ転送方法
US9218183B2 (en) * 2009-01-30 2015-12-22 Arm Finance Overseas Limited System and method for improving memory transfer
CN104035952B (zh) * 2013-03-08 2018-08-21 英特尔公司 硬件支持的存储临时拷贝
US9477558B2 (en) 2013-03-08 2016-10-25 Intel Corporation Hardware supported memory logging
DE102016203307A1 (de) * 2016-03-01 2017-09-07 Robert Bosch Gmbh Speicherdirektzugriffssteuereinrichtung für eine einen Arbeitsspeicher aufweisende Recheneinheit

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5789128A (en) * 1980-11-25 1982-06-03 Hitachi Ltd Controlling system for information interchange
US4722051A (en) * 1985-07-26 1988-01-26 Ncr Corporation Combined read/write cycle for a direct memory access controller
JPS63172359A (ja) * 1987-01-12 1988-07-16 Fujitsu Ltd 直接メモリアクセスシステム
DE3782335T2 (de) * 1987-04-22 1993-05-06 Ibm Speichersteuersystem.
US5018098A (en) * 1987-05-07 1991-05-21 Fujitsu Limited Data transfer controlling apparatus for direct memory access
JPH01258163A (ja) * 1988-04-08 1989-10-16 Fujitsu Ltd ダイレクトメモリアクセス制御装置
US4987529A (en) * 1988-08-11 1991-01-22 Ast Research, Inc. Shared memory bus system for arbitrating access control among contending memory refresh circuits, peripheral controllers, and bus masters
JP2606942B2 (ja) * 1990-02-22 1997-05-07 株式会社東芝 Dmaコントローラ
US5299320A (en) * 1990-09-03 1994-03-29 Matsushita Electric Industrial Co., Ltd. Program control type vector processor for executing a vector pipeline operation for a series of vector data which is in accordance with a vector pipeline
US5333294A (en) * 1990-10-09 1994-07-26 Compaq Computer Corporation Configurable data width direct memory access device with a read address counter and a write address counter which increments the addresses based on the desired data transfer width
US5471639A (en) * 1990-10-24 1995-11-28 At&T Global Information Solutions Company Apparatus for arbitrating for a high speed direct memory access bus
JPH05173938A (ja) * 1991-10-08 1993-07-13 Fujitsu Ltd 間欠dma制御方式
US5551054A (en) * 1991-11-19 1996-08-27 Adaptec, Inc. Page mode buffer controller for transferring Nb byte pages between a host and buffer memory without interruption except for refresh
US5553248A (en) * 1992-10-02 1996-09-03 Compaq Computer Corporation System for awarding the highest priority to a microprocessor releasing a system bus after aborting a locked cycle upon detecting a locked retry signal
US5561821A (en) * 1993-10-29 1996-10-01 Advanced Micro Devices System for performing I/O access and memory access by driving address of DMA configuration registers and memory address stored therein respectively on local bus

Also Published As

Publication number Publication date
US5857114A (en) 1999-01-05
KR0160193B1 (ko) 1998-12-15
CN1082210C (zh) 2002-04-03
CN1162785A (zh) 1997-10-22
KR970049655A (ko) 1997-07-29

Similar Documents

Publication Publication Date Title
JPH09190406A (ja) 直接メモリアクセス制御装置及びこれを用いた伝送システム
US4602327A (en) Bus master capable of relinquishing bus on request and retrying bus cycle
US5935233A (en) Computer system with a switch interconnector for computer devices
US5611058A (en) System and method for transferring information between multiple buses
US6356963B1 (en) Long latency interrupt handling and input/output write posting
US7155618B2 (en) Low power system and method for a data processing system
JPH0652096A (ja) データ処理システム内でアービタを用いてバス仲裁を実行する方法および装置
US6282598B1 (en) PCI bus system wherein target latency information are transmitted along with a retry request
JPH0354375B2 (ja)
US20070038829A1 (en) Wait aware memory arbiter
JPH0743697B2 (ja) ディジタルコンピュータシステム
US5949981A (en) Deadlock avoidance in a bridge between a split transaction bus and a single envelope bus
US5968144A (en) System for supporting DMA I/O device using PCI bus and PCI-PCI bridge comprising programmable DMA controller for request arbitration and storing data transfer information
JP3466214B2 (ja) 情報処理装置
US6085271A (en) System bus arbitrator for facilitating multiple transactions in a computer system
JPH10320349A (ja) プロセッサ及び当該プロセッサを用いるデータ転送システム
WO1992006432A1 (en) Device for controlling bus
JPH0962640A (ja) 共有メモリのアクセス制御方法
JP2002278923A (ja) バスシステム,バス制御方式及びそのバス変換装置
JPH01305461A (ja) バス使用権制御方式
KR0126583B1 (ko) 시스템 제어기 모듈에서의 요청기 읽기 제어기(Requester Read Controller In System Controller In System Control Module)
JPH1139266A (ja) マルチプロセッサ装置
JP3365419B2 (ja) バス調停方法
JP4182321B2 (ja) デュアルポートメモリシステム
JPH02101560A (ja) バスインタフェース装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040317

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040330

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040629

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050705