JPH03262063A - Dma転送のバス制御回路 - Google Patents

Dma転送のバス制御回路

Info

Publication number
JPH03262063A
JPH03262063A JP5996090A JP5996090A JPH03262063A JP H03262063 A JPH03262063 A JP H03262063A JP 5996090 A JP5996090 A JP 5996090A JP 5996090 A JP5996090 A JP 5996090A JP H03262063 A JPH03262063 A JP H03262063A
Authority
JP
Japan
Prior art keywords
cpu
bus
dma transfer
transfer
buffer 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.)
Pending
Application number
JP5996090A
Other languages
English (en)
Inventor
Katsumi Shiina
克己 椎名
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox 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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP5996090A priority Critical patent/JPH03262063A/ja
Publication of JPH03262063A publication Critical patent/JPH03262063A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)

Abstract

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

Description

【発明の詳細な説明】 (産業上の利用分野) この発明はDMA転送のバス制御回路に関し、特にDM
A転送時のパフォーマンス低下を除去したDMA転送の
バス制御回路に関する。
(従来の技術) 多量のデータ転送を伴うバス制御回路では、その転送効
率を上げるために、CPUを介在させないで、DMAコ
ントローラ(DMAC)を用いて直接メモリにデータを
書き込んだり、あるいは直接メモリからデータを読み込
んだりする方式が一般的である。
第4図は従来のDMA転送のバス制御回路の一例を示す
ものである。
図において、1はCPU、2はCPUメモリであり、該
CPUメモリ2はこれを構成するRAMの一部をバッフ
ァメモリ2bに割り当てている。
なお、2aは本来のCPUメモリとしての働きをするメ
モリ部分を示している。3はDMAコントローラ(DM
AC) 、4は外部バスコントローラ、5はバス制御線
、データバスを含む外部ノくスを示す。該外部バス5は
例えば/1−ドディスクのS CS I (Small
 Con+puter System Interra
ce)コントローラに接続されている。6はアドレスノ
くス、7はデータバス、8はリード(read)、ライ
ト(write)信号等を伝達する制御線であり、これ
らはDMAC5のバスである。また、6aはアドレスバ
ス、7aはデータバス、8aはリード(read)、ラ
イト(write)信号等を伝達する制御線であり、こ
れらはCPUIのローカルバスである。
以上のような構成において、例えば、外部バス5からC
PUメモリ2にDMA転送を開始する時には、第5図に
示されているように、まずDMAC5の設定が行われる
具体的には、DMAC5のソース・アドレスレジスタに
外部バスコントローラ4のアドレスがセットされ、デス
ティネーション−アドレスレジスタにバッファメモリ2
bのアドレスがセットされる。また、DMAC5に、転
送語数、その他必要なモードのセットが行われる。
次に、外部バスコントローラ4の初期設定が行われる。
すなわち、転送モード、転送語数等のセットが行われる
。次いて、外部バスコントローラ4にリードコマンドが
発行される。
次に、外部バスコントローラ4は外部バス5に接続され
ているデバイス、例えばノ1−ドディスク等とバス設定
プロトコルの交信を行う。このプロトコルの交信が成功
すると、外部バスコントローラ4は前記リードコマンド
を外部ノくス5に発行する。
その後、DMAデータ転送が開始される。ます、DMA
C5は、第6図に示されているように、CPUIに対し
てB R(Bus Request)信号を送出する。
バスの使用を許可する場合には、CPUIはDMAC5
に対してB G (Bus Grant)信号を送る。
次に、DMAC5はCPUIに対してB G A CK
 (Bus Grant Acknowledge)信
号を返す。
これにより、アドレスバス6およびデータバス7の使用
権はCPUIからDMAC5に移される。
このようにして、バスの使用権がDMAC5に移される
と、外部バスコントローラ4からDREQ信号がDMA
C5に送られ、DMAC5からACK信号が出力される
と、該ACK信号かLレベルの間に、外部バスコントロ
ーラ4からバッファメモリ2bへのデータ転送が行われ
る。
また、バッファメモリ2bとCPUメモリ2a間でデー
タ転送が行われる。
データ転送が終了すると、DMAC5はCPU1に割込
みをかけると同時に制御権をCPUIに移す。次に、外
部バスコントローラ4はデータ転送終了の割込みを発生
し、続いて外部バスコントローラ4と外部バス5間でコ
マンド終了プロトコルが行われ、バス解放の手続きが行
われる。
(発明が解決しようとする課題) ところで、従来は前記データ転送中のデータのやりとり
は、次の3通りの方式で行っていた。
(1)データ転送中、DMAC5がCPUIのローカル
バス6a、7aを占有し続ける方式(バースト転送方式
)、 (2)DMAC3が、1ワード転送毎に、CPU1にロ
ーカルバスの占有権を戻す方式(サイクルスチール)、 (3)バースト転送中に、他のタスク要求等のイベント
が発生した場合、DMA転送を一時停止し、そのタスク
処理終了後に再開する方式、前記(1)の方式は、デー
タ転送は高速で行われるが、データ転送中はCPUIは
待ち状態となる。
このため、CPUIはこの間に発生した他のタスクの要
求に対して何も応答することができないという問題があ
った。
前記(2)の方式は、前記(1)の短所は解消できるが
、各ワードの転送毎にCPUサイクルが入るため、デー
タ転送時間が長くなり、CPUIの処理速度もかなり遅
いという問題があった。
前記(3)の方式は、何らかのタスクが発生すると、デ
ータ転送が途中で止まってしまうため、データ転送が遅
くなるという問題があった。
この発明の目的は、前記従来方式の問題点を除去し、高
速のデータ転送が可能で、かつデータ転送間のCPUの
タスクの処理も実行できるDMA転送のバス制御回路を
提供することにある。
(課題を解決するための手段および作用)前記目的を達
成するために、本発明は、CPUによって制御可能なD
MAコントローラと、デバイスに接続されている外部バ
スを制御する外部バスコントローラと、CPUによって
読み書き可能なCPUメモリおよびその一部によって構
成されたバッファメモリと、これらの間を接続するバス
および制御線からなり、前記DMAコントローラの作用
により、前記バッファメモリを介して、前記外部バスと
CPUメモリとの間でデータのDMA転送を行うように
したDMA転送のバス制御回路において、前記外部バス
と前記バッファメモリ間のDMA転送時には前記CPU
を前記バスおよび制御線から切り離し、該DMA転送後
に前記CPUを前記バスおよび制御線に接続するバッフ
ァを、前記バッファメモリとCPUメモリ間に設けた点
に特徴がある。
本発明によれば、外部バスとバッフツメモリ間のDMA
転送時には、前記バッファは高インピーダンスにされ、
CPUのローカルバスはDMA Cのバスから切り離さ
れる。このため、該DMA転送時にCPUは動作するこ
とができ、発生したタスクの処理をすることができる。
外部バスとバッファメモリ間のD M A 転送が終了
すると、前記バッファは低インピーダンスにされ、該バ
ッファメモリとCPUメモリとのデータ転送が行われる
この結果、高速のデータ転送が可能で、かつ外部データ
転送時のCPUのタスクの処理が実行可能になる。
(実施例) 以下に、図面を参照して、本発明の詳細な説明する。
第1図は本発明の一実施例のブロック図を示す。
図において、11..12はDMAC(7)バス、13
はDMAC制御信号線、14はRAM等により構成され
、第4図の2bと同等のバッファメモリ(RAM) 、
15 a 〜15 cはG端子入力がLレベルの時にハ
イインピーダンス(高インピーダンス)となり、Hレベ
ルの時にはローインピーダンス(低インピーダンス)と
なる第1〜3のバッファである。このバッファ15a〜
15 c Lt、ローインピーダンス時に、A/B端子
に入力する信号のレベルによって、AまたはB方向のデ
ータ伝送方向が選択される。
また、16はACK信号に基づいてリード/ライト(R
/W)信号を出力するDMA転送タイミング発生回路、
17は該DMA転送タイミング発生回路16からのR/
W信号と制御線8aからのR/W信号を選択するセレク
タ、18はDフリップフロップ回路、19は論理和ゲー
トである。
なお、前記以外の符号は、第4図と同一または同等物を
示す。
次に、本実施例の動作を説明する。
まず、外部バス5−バッファメモリ14のDMA転送の
動作について説明する。最初に、CPU側I10ポート
の5ELA/B信号がLレベルにされ、バッファ15a
、15cのA方向が選択される。これは、前記5ELA
/B信号がLレベルにされると、Dフリップフロップ1
8はその立ち下がりでクリアされ、b信号はHレベルと
なる。この結果、バッファ15as15CのA方向が選
択される。また、バッファ15bも制御線8aからの信
号によりA方向が選択される。
次に、第5図と同様の動作手順か開始される。
すなわち、DMAC5の設定、具体的には、DMAC5
のソース・アドレスレジスタに外部バスコントローラ4
のアドレスがセットされ、デスティネーション・アドレ
スレジスタにバッファメモリ14のアドレスがセットさ
れる。また、DMAC5に、転送語数、その他必要なモ
ートのセットが行われる。
次に、外部バスコントローラ4の初期設定が行われる。
すなわち、転送モード、転送語数等のセットが行われる
。次いで、外部バスコントローラ4にリードコマンドが
発行され、次に、外部バスコントローラ4は外部バス5
に接続されているデバイス、例えばハードディスク等と
バス設定プロトコルの交信を行う。このプロトコルの交
信が成功すると、外部バスコントローラ4は前記リード
コマンドを外部バスに発行する。
その後、DMAデータ転送が開始される。まず、DMA
C5は、第2図に示されているように、CPUIに対し
てB R(Bus Request)信号を送出する。
バスの使用を許可する場合には、CPUIはDMAC5
に対してB G (Bus Grant)信号を送る。
次に、DMAC5はCPUIに対してB G A CK
 (Bus Grant Acknowledge)信
号を返す。
これにより、アドレスバス6およびデータバス7の使用
権はCPUIからDMAC5に移される。
該BGACK信号が立ち下がると、そのタイミングで前
記Dフリップフロップ18はトリガされ、Q出力はLレ
ベルとなる。また、バスの使用権がDMAC5に移され
ると、DMAC5からLレベルのOWN信号が出力され
る。この結果、論理和ゲート19の出力はHレベルとな
って、バッファ158〜15cはハイインピーダンスと
なる。
また、OWN信号はセレクタ17のセレクト端子に入力
し、OWN信号がLレベルの間、セレクタ17はDMA
転送タイミング発生回路16の出力を選択する。
次いで、外部バスコントローラ4からDREQ信号がD
MAC5に送られ、DMAC5からACK信号が出力さ
れると、該ACK信号がLレベルの間に、外部バスコン
トローラ4からバッファメモリ14へのデータ転送が行
われる。
なお、DMA転送タイミング発生回路16は、ACK信
号と同期してライト信号を発生し、これをセレクタ17
に送る。
外部データバス5とバッファメモリ14との間のデータ
転送が終了すると、前記OWN信号はハイレベルとなり
、バッファ15a〜15cをローインピーダンスとして
、CPUバス6a%7aおよびCPU制御線8aを前記
DMACバス11.12およびDMAC制御線13に接
続する。
また、DMAC5はCPUIに割込みをかけると同時に
制御権をCPUIに移す。次に、外部バスコントローラ
4はデータ転送終了の割込みを発生し、続いて外部バス
コントローラ4と外部バス5間でコマンド終了プロトコ
ルが行われ、バス解放の手続きが行われる。
本実施例では、前記の説明から明らかなように、外部ハ
ス5からバッファメモリ14へのDMAデータ転送時に
、DMAC5から第2図に示されているように、Lレベ
ルのOWN信号が出力される。このため、バッファ15
a〜15cはハイインピーダンスとなり、CPUバス6
a、7aおよびCPU制御線8aは前記DMACバス1
1.12およびDMAC制御線13から切り離される。
したがって、外部データバス5とバッファメモリ14と
の間のデータ転送時にCPUバスがDMAC5によって
占有されなくなるので、CPUIは他のタスク要求に対
して速やかに応答することができる。
次に、バッファメモリ14からCPUメモリ2へのデー
タ転送の動作について説明する。
まず、5ELA/B信号がLレベルにされ、バッファメ
モリ15a、15cのA方向が選択される。次に、DM
AC5のソース−アドレスにバッファメモリ14のアド
レスがセットされ、デスティネーションΦアドレスにC
PUメモリ(RAM)のアドレスがセットされる。次に
、前記5ELA/B信号がHレベルにされる。
その後、DMAデータ転送が開始される。第3図に示さ
れているように、まず、DMAC5は、CPUIに対し
てBR倍信号送出する。バスの使用を許可する場合には
、CPUIはDMAC5に対してBG倍信号送る。次に
、DMAC5はCPUIに対してBGACK信号を返す
。これにより、アドレスバス6およびデータバス7の使
用権はCPUIからDMAC5に移される。
該BGACK信号が立ち下がると、そのタイミングで前
記Dフリップフロップ18はトリガされ、Q出力はHレ
ベルとなる。バッファメモリ14からCPUメモリ2へ
のデータ転送時には、DMAC5からHレベルのOWN
信号が出力されている。この結果、論理和ゲート19の
出力はLレベルとなって、バッファ15a〜15cはロ
ウインピーダンスとなる。また、前記Dフリップフロッ
プ18のQ出力はLレベルとなって、バッファ15a、
15cはB方向を選択される。
また、CPU制御線8aには、Hレベルのリード信号が
出力されているため、バッファ15bはB方向を選択さ
れている。
この結果、DMAC5はCPUメモリ2にアクセスする
ことができるようになり、バッフアメモリ14→CPU
メモリ2間でDMA転送が行われる。
バッファメモリ14からCPUメモリ2へDMA転送さ
れている間は、CPUIは待ち状態となり、この間に発
生したタスクの処理は行えないが、バッファメモリ14
とCPUメモリ2との間のデータ転送は高速で行えるた
め、CPUバス6as7aおよびCPU制御線8aを占
有している時間は短くなり、CPUIがタスク処理を中
断する時間は非常に短い。
本実施例によれば、外部バス5からバッファメモリ14
へのデータ転送、およびバッファメモリ14からCPU
メモリ2へのデータ転送は中断なく実行されるので、デ
ータ転送は十分に高速である。一方、CPUIがタスク
処理を中断するのは、バッファメモリ14とCPUメモ
リ2との間のデータ転送期間中のみであるので、CPU
Iの処理の遅れは小さくなる。
なお、上記の動作説明は、外部バス5のデータをCPU
メモリ2へDMA転送する時の説明であったが、その逆
のDMA転送も同様に行うことができることは当然であ
る。
(発明の効果) 以上の説明から明らかなように、本発明によれば、外部
バスとCPUメモリとのDMA転送をする時に、外部バ
スとバッファメモリ間のDMA転送と、バッファメモリ
とCPUメモリ間のDMA転送とに分けて行い、転送に
時間のかかる外部バスとバッファメモリとのDMA転送
の間はCPUをDMACから切り離すようにしたので、
CPUはDMA転送中も有効となり、その間に発生した
タスクの処理をすぐに実行できるという効果がある。
また、バッファメモリとCPUメモリ間のDMA転送は
十分に高速であるので、この間CPUの動作が中断され
てもタスクの処理の遅れは小さくなる。
さらに、DMA転送の中断はないので、DMA転送が高
速で行えるという効果がある。
換言すれば、高速のデータ転送が可能で、かつデータ転
送間のCPUのタスクの処理も実行できるDMA転送の
バス制御回路を提供できるという効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例のブロック図、第2図は外部
バス−バッファメモリのDMA転送時の主要な信号のタ
イムチャート、第3図はバッファメモリーCPUメモリ
のDMA転送時の主要な信号のタイムチャート、第4図
は従来回路のブロック図、第5図はDMAデータ転送の
手順を示す図、第6図は第4図のDMA転送時の主要な
信号のタイムチャートである。 1・・・CPU、2・・・CPUメモリ、3・・・D 
M Aコントローラ、4・・・外部バスコントローラ、
5・・・外部ハス、6a〜8a・・・CPUバス、11
〜13・・・D M A /(ス、14・・・バッファ
メモリ、15a〜15c・・・バッファ、

Claims (1)

    【特許請求の範囲】
  1. (1)CPUによって制御可能なDMAコントローラと
    、デバイスに接続されている外部バスを制御する外部バ
    スコントローラと、CPUによって読み書き可能なCP
    Uメモリおよびその一部によって構成されたバッファメ
    モリと、これらの間を接続するバスおよび制御線からな
    り、前記DMAコントローラの作用により、前記バッフ
    ァメモリを介して、前記外部バスとCPUメモリとの間
    でデータのDMA転送を行うようにしたDMA転送のバ
    ス制御回路において、 前記外部バスと前記バッファメモリ間のDMA転送時に
    は前記CPUを前記バスおよび制御線から切り離し、該
    DMA転送後に前記CPUを前記バスおよび制御線に接
    続するバッファを、前記バッファメモリとCPUメモリ
    間に設け、 前記外部バスと前記バッファメモリ間のDMA転送をC
    PUのローカルバスを占有することなく行えるようにし
    たことを特徴とするDMA転送のバス制御回路。
JP5996090A 1990-03-13 1990-03-13 Dma転送のバス制御回路 Pending JPH03262063A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5996090A JPH03262063A (ja) 1990-03-13 1990-03-13 Dma転送のバス制御回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5996090A JPH03262063A (ja) 1990-03-13 1990-03-13 Dma転送のバス制御回路

Publications (1)

Publication Number Publication Date
JPH03262063A true JPH03262063A (ja) 1991-11-21

Family

ID=13128236

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5996090A Pending JPH03262063A (ja) 1990-03-13 1990-03-13 Dma転送のバス制御回路

Country Status (1)

Country Link
JP (1) JPH03262063A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06266651A (ja) * 1993-03-15 1994-09-22 Nec Corp Dma制御回路
US6754733B2 (en) * 2001-08-23 2004-06-22 Texas Instruments Incorporated Shared memory architecture for increased bandwidth in a printer controller

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06266651A (ja) * 1993-03-15 1994-09-22 Nec Corp Dma制御回路
US6754733B2 (en) * 2001-08-23 2004-06-22 Texas Instruments Incorporated Shared memory architecture for increased bandwidth in a printer controller

Similar Documents

Publication Publication Date Title
EP0535793B1 (en) Method for managing data transfers in a computing system having a dual bus structure
JPH0560623B2 (ja)
JPH03262063A (ja) Dma転送のバス制御回路
JPH0553902A (ja) メモリ制御回路
JP2004213666A (ja) Dmaモジュールとその操作方法
JPH11110342A (ja) バス接続方法及び装置
JP2002189695A (ja) Cpuインターフェース回路
JP2820054B2 (ja) バスインタフェース装置
JPH01175056A (ja) プログラム転送方式
JPS60136853A (ja) デ−タ転送方式
JP2002229929A (ja) メモリアクセスコントロール方法及びメモリアクセスコントロール装置
JP2667285B2 (ja) 割込制御装置
JP2638505B2 (ja) バスインタフェース装置
JPH07334453A (ja) メモリアクセスシステム
JPS58213336A (ja) 通信制御装置
JPH0628301A (ja) ダイレクトメモリアクセス回路
JP2000298639A (ja) 送出回路、受信回路、インタフェース回路、システム制御装置、入出力制御装置、情報処理装置
JPH077954B2 (ja) 制御装置
JPH01142962A (ja) データ転送制御方式
JPH06223032A (ja) 転送制御装置
JPS59201153A (ja) スタンドアロン型画像処理システムのホスト接続方式
JPH041819A (ja) データブロック制御装置
JPH04365160A (ja) データ転送装置
JPH0650494B2 (ja) 入出力制御装置におけるデータ転送方式
JPH01219942A (ja) Dmaコントローラ装置