JPH05233524A - バス制御装置 - Google Patents

バス制御装置

Info

Publication number
JPH05233524A
JPH05233524A JP3233692A JP3233692A JPH05233524A JP H05233524 A JPH05233524 A JP H05233524A JP 3233692 A JP3233692 A JP 3233692A JP 3233692 A JP3233692 A JP 3233692A JP H05233524 A JPH05233524 A JP H05233524A
Authority
JP
Japan
Prior art keywords
bus
data
transfer
control means
buses
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
JP3233692A
Other languages
English (en)
Inventor
Satoru Takano
悟 高野
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.)
Casio Computer Co Ltd
Original Assignee
Casio Computer 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 Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP3233692A priority Critical patent/JPH05233524A/ja
Publication of JPH05233524A publication Critical patent/JPH05233524A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)

Abstract

(57)【要約】 【目的】 DMAコントローラによるデュアル・アドレ
ス転送の転送時間の短縮、及びシングル・アドレス転送
におけるバスの利用効率の向上を図る。 【構成】 バス制御回路120は、デュアル・アドレス
転送においては、転送データがAバス上に確定した時点
でその転送データをラッチ161Aにラッチさせ、DM
AC120に対しAバスでのバスサイクルを終了させ、
直ちにBバスの使用権の獲得動作に移行させる。一方、
バス制御回路120は、シングル・アドレス転送におい
ては、転送元のAバスの使用権が先に獲得された場合、
その時点で、直ちにDMAC120にAバスのバスサイ
クルを開始させ、転送先のBバスの使用権が獲得された
後、Aバスのバスサイクルが終了すると直ちにAバスを
開放させる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、2つのバス間でのデー
タ転送を制御するバス制御装置に係り、特にDMAC
(Direct Memory Access Controller ;ダイレクト メ
モリ アクセスコントローラ)によるDMA転送を制御
するバス制御装置に関する。
【0002】
【従来の技術】マルチプロセッサシステム等のように、
2つのバスを有し、各バスの両方にCPU,DMAC,
あるいはCRTコントローラ等のようなバスマスタ(バ
スを制御する能力を備えたデバイス)が接続された構成
のシステムがある。図5は、そのような、各バスにそれ
ぞれCPU−A31,CPU−B41が接続されたシス
テムの一例を示す図である。
【0003】このようなシステムにおいては、互いに異
なるバスに接続された、メモリ−I/Oデバイス間、メモ
リ−メモリ間、及びI/Oデバイス−I/Oデバイス間での
データ転送を、上記DMACを用いて行う構成のものが
ある。
【0004】このようなDMACを用いたデータ転送
(以下、DMA転送と表現する)の方式にはデュアル・
アドレス転送方式(デュアル・アドレス転送)とシング
ル・アドレス転送方式(シングル・アドレス転送)があ
る。
【0005】デュアル・アドレス転送は、アドレスを割
り付けられているデバイス間でのデータ転送に有効であ
り、メモリ−I/Oデバイス間、メモリ−メモリ間、及び
I/Oデバイス−I/Oデバイス間の3種類の転送が可能で
ある。
【0006】一方、シングル・アドレス転送は、メモリ
とアクノリッジ信号端子付のI/Oデバイス間でのデータ
転送に有効であり、一般にメモリとI/Oデバイス間での
転送に使用される。
【0007】ところで、デュアル・アドレス転送では、
ソース(データ転送元)側のみならずディスティネーシ
ョン(データ転送先)側にもアドレッシングするため、
1回のDMA転送にリードサイクルとライトサイクルの
2つのバスサイクルを要する。
【0008】一方、シングル・アドレス転送方式では、
1つのバスサイクルで1回のDMA転送を行う。このた
め、メモリに対してはアドレシングを行うが、I/O デバ
イスに対してはアドレッシングを行わない。
【0009】次に、図6を参照しながら、上記図5に示
す従来のシステムにおけるデュアル・アドレス転送方式
及びシングル・アドレス転送方式の動作を説明する。従
来のデュアル・アドレス転送方式では、DMAC20
は、まずメイン・システム・バス(以下、Aバスと表現
する)のバス・マスタになるため、CPU−A31から
Aバスの使用権を獲得して(同図(a)のGA)、バス
サイクルBCADを実行する。DMAC20は、このバ
スサイクルBCADにおいて、例えば、Aバスに接続さ
れたRAM(ランダム・アクセス・メモリ)A33から
Aバス上に出力されたデータを、双方向バッファ51A
を介して読み込んで内部のレジスタ21に保持する処理
を行い、そのバスサイクルBCADの終了後、Aバスを
解放する(同図(a)のRELA)。続いて、DMAC
20は、サブ・システム・バス(以下、Bバスと表現す
る)のバス・マスタになるため、CPU−B41からB
バスの使用権を獲得して(同図(a)のGB参照)、バ
スサイクルBCBDで上記レジスタ21に保持していた
データを、バッファ51Bを介してBバスに接続された
RAM(ランダム・アクセス・メモリ)B43に転送す
る。そして、そのバスサイクルBCBD終了後、直ちに
Bバスを解放する。
【0010】このように、従来のデュアル・アドレス転
送では、図6(a)に示すように、Aバスでのデータ転
送が終了した後、Bバスのバス権を獲得して、そのBバ
スに接続された当該メモリまたは当該I/Oデバイスへの
データ転送を行う。この場合、Aバス、Bバスでのそれ
ぞれの転送時間は、バス権獲得時間(GA,GB)にバ
スサイクル(BCAD,BCBD)の時間を加えた時間
となり、DMAC20は、Aバスのバスサイクル解放
後、直ちにBバスのバス権獲得の動作に移るので、全体
の転送時間Tは、下記の式(1)に示したように、Aバ
ス、Bバスそれぞれのバス権獲得時間GA,GB並びに
バスサイクル時間BCAD,BCBDの総和となる。
【0011】 T=GA+BCAD+GB+BCBD ・・・ (1) 次に、同図(b)を参照しながらDMAC20によるシ
ングル・アドレス転送の動作を説明する。
【0012】従来のシングル・アドレス転送では、DM
AC20は、Aバス及びBバスの両方のバス権を獲得し
てから、DMA転送を行う。そして、この場合、DMA
C20は、RAMA33またはRAMB43にアドレス
を出力するだけで、データ転送には介在しない。I/Oデ
バイスA32またはI/OデバイスB42は、DMAC2
0が出力するアクノリッジ信号によりポートを選択す
る。したがって、この転送方式では、全体の転送時間T
は、遅い方のバス権獲得時間(同時(b)に示す例で
は、Bバスのバス権獲得時間GB)と遅い方のバスサイ
クルの時間(同図(b)に示す例では、Bバスのバスサ
イクルBCBD)との合計時間となる。
【0013】
【発明が解決しようとする課題】上述した従来のデュア
ル・アドレス転送は、リードサイクルとライトサイクル
の2つのバスサイクルに分けてDMA転送を行うため、
全体のDMA転送時間が各バスのDMA転送時間の和に
なり、DMA転送が遅いという欠点がある。
【0014】一方、上述した従来のシングル・アドレス
転送は、AバスとBバスの2つのバスのバス権の獲得要
求を同時に行い、両方のバスのバス権が獲得された時点
で上記2つのバスのバスサイクルの実行に移るので、一
般に、上記従来のデュアル・アドレス転送方式よりもD
MA転送が速くなるものの、バス権獲得時間が、遅い方
の時間によって決定されてしまうという欠点がある。ま
た、バスの解放も、両方のバスA,Bでのバスサイクル
が終了した時点で行われるので、バスの解放がバスサイ
クルが遅い方のバスによって決定されてしまうという欠
点がある。すなわち、バスの解放は、一方のバス(図6
(b)に示す例では、Aバス)のバスサイクル時間が速
くても、他方のバスサイクル時間の遅いバス(同図
(b)に示す例では、Bバス)のバスサイクルの終了を
待たなければならない。
【0015】また、同様に、バス権の獲得時間も、一方
のバス(同図(b)に示す例ではAバス)でバス権が早
く獲得できても、他方の遅いバス(同図(b)に示す例
ではBバス)のバス権獲得時間になってしまう。したが
って、一方のバスが、他のバスマスタに長時間専有され
ると、転送時間が非常に遅くなってしまう。
【0016】このため、同図(b)に示すように、バス
権獲得時間及びバスサイクル時間の早い方のバスにおい
ては(同図(b)に示す例では、両方ともAバス)、無
駄な待ち時間WT1 ,WT2 が生じてしまう。
【0017】上記従来のデュアル・アドレス転送の欠点
は、データ転送元のバスのリードサイクルの終了を待っ
てから、データ転送先のバス権を獲得するようにしてい
ることに起因している。
【0018】また、上記従来のシングル・アドレス転送
の欠点は、両方のバスのバス権が共に獲得されてから、
各バスのバスサイクルに移るようにしていること並びに
両方のバスのバスサイクルが共に終了してから各バスの
解放を行うようにしていることに起因している。
【0019】してみれば、デュアル・アドレス転送にお
いては、データ転送元のバスのリードサイクルの終了を
待たずにライトサイクルのためのデータ転送先のバスの
バス権の獲得に移行して、上記データを確実に転送先へ
転送できるようにすれば、DMA転送における転送時間
を短縮できるようになるものと考えられる。
【0020】また、シングル・アドレス転送において
は、データ転送元のバスのバス権が先に獲得された場合
には、直ちに両方のバスでバスサイクルを実行させ、デ
ータを確実に転送元から転送先へデータを転送できるよ
うにすれば、早くバスサイクルが終了したバスを無駄に
専有することなく、直ちに解放することが可能になり、
バスの利用効率が向上するものと考えられる。
【0021】本発明の第1の課題は、デュアル・アドレ
ス転送においては、データ転送元のバスのリードサイク
ルの終了を待たずにライトサイクルのためのデータ転送
先のバスのバス権の獲得に移行して、上記データを確実
に転送先へ転送できるようにすることである。
【0022】また、本発明の第2の課題は、シングル・
アドレス転送においては、データ転送元のバスのバス権
が先に獲得された場合には直ちに両方のバスでバスサイ
クル実行させ、データを確実に転送元から転送先へデー
タを転送できるようにすることである。
【0023】
【課題を解決するための手段】この発明の手段は次の通
りである。まず、請求項1記載の第1の発明の手段を説
明する。この第1の発明は、2つのバス間でのデュアル
・アドレス方式によるDMA転送を制御するバス制御装
置を前提とする。2つの双方向バッファ1A,1B(図
1のブロック図参照、以下同じ)は、上記2つの各バス
(Aバス,Bバス)に接続して設けられる。2つのデー
タラッチ手段2A,2Bは、それぞれ双方向バッファ2
A,2Bに接続して設けられる。DMA制御手段3は、
上記2つのバス間(AバスとBバス間)でのDMA転送
を実行する。制御手段4は、DMA制御手段3から前記
2つのバス(Aバス,Bバス)の使用権要求を受け取
り、前記2つのバス(Aバス,Bバス)の使用状況に応
じて、上記使用権要求にあったバスの使用許可をDMA
制御手段3に通知する。そして、この制御手段4は、リ
ードサイクルでは、前記DMA制御手段がアクセルした
デバイスが一方のバス上に出力したデータが確定した時
点でそのデータをその一方のバスに接続されたデータラ
ッチ手段2A(または2B)にラッチさせてからDMA
制御手段3に転送終了信号を出力し、続くライトサイク
ルではDMA制御手段3からの制御信号を受けて、前記
データラッチ手段2A(または2B)にラッチさせたデ
ータを前記他方のバスに接続された双方向バッファ1A
(または1B)を介して前記他方のバスに接続された当
該デバイスに出力するように制御することを特徴とす
る。次に、請求項2記載の第2の発明は、2つのバス間
でのシングル・アドレス方式によるDMA転送を制御す
るバス制御装置を前提する。そして、上記第1の発明と
同様に、双方向バッファ1A,1B、データラッチ手段
2A,2B、DMA制御手段3、及び制御手段4を有す
る。そして、この制御手段4は、DMA制御手段3から
前記2つのバスの使用権要求を受け取ると前記2つのバ
ス(Aバス及びBバス)の使用権要求を両方のバスに出
力し、続いてデータ転送先のデバイスが接続されている
一方のバスの使用許可の通知を、データ転送先のデバイ
スが接続されている他方のバスの使用許可よりも先に受
け取った場合には上記2つのバスの使用許可をDMA制
御手段3に通知し、次に前記データ転送先のデバイスか
ら前記一方のバスに出力されたデータが確定した時点で
そのデータを前記一方のバスに接続された一方のデータ
ラッチ手段2A(または2B)にラッチさせ、前記他方
のバスの使用許可を既に受け取っている場合には直ち
に、まだ前記他方のバスの使用許可をまだ受け取ってい
ない場合にはその他方のバスの使用許可を受け取った時
点で、前記一方のバスの使用権を解放する。さらに、請
求項3記載の第3の発明は、2つのバス間でのデュアル
アドレス転送方式及びシングル・アドレス転送方式によ
るDMA転送を制御するバス制御装置を前提とし、上記
第1及び第2の発明と同様に、双方向バッファ1A,1
B、データラッチ手段2A,2B、DMA制御手段3、
及び制御手段4を有する。そして、この制御手段4は、
デュアル・アドレス転送方式によるDMA転送の場合、
リードサイクルではDMA制御手段3がアクセスしたデ
バイスが一方のバス上に出力したデータが確定した時点
でその一方のバス上のデータを双方向バッファ1A(ま
たは1B)を介してその一方のバスに接続された一方の
データラッチ手段2A(または2B)にラッチさせた
後、DMA制御手段3に転送終了信号を出力し、続くラ
イトサイクルではDMA制御手段3の制御を受けて、前
記一方のデータラッチ手段2A(または2B)にラッチ
させたデータを前記他方のバスに接続された双方向バッ
ファ1A(または1B)を介して前記他方のバスに接続
された当該デバイスに出力するように制御し、一方、シ
ングル・アドレス方式によるDMA転送の場合には、D
MA制御手段3から前記2つのバスの使用権要求を受け
取ると前記2つのバスの使用権要求を両方のバスに出力
し、続いてデータ転送元のデバイスが接続されている一
方のバスの使用許可の通知をデータ転送先のデバイスが
接続されている他方のバスの使用許可よりも先に受け取
った場合には上記2つのバスの使用許可をDMA制御手
段3に通知し、次に前記データ転送元のデバイスから前
記一方のバスに出力されたデータが確定した時点でその
データを双方向バッファ1A(または1B)を介して前
記一方のバスに接続されたデータラッチ手段2A(また
は2B)にラッチさせ、続いて前記他方のバスの使用許
可を既に受け取っている場合には直ちに、一方まだ前記
他方のバスの使用許可をまだ受け取っていない場合には
その他方のバスの使用許可を受け取った時点で、前記一
方のバスの使用権を解放する。
【0024】
【作用】第1の発明の手段の作用は、次の通りである。
DMA制御手段3は、例えば、Aバスに接続されたメモ
リAからBバスに接続されたメモリBへのDMA転送要
求を受け取ると、Aバスの使用権要求を行い、Aバスの
使用権を獲得すると、データ転送元のメモリAに対し転
送データの格納アドレス及び読み出し制御信号を出力す
る。制御手段4は、メモリAから読み出された上記転送
データがAバス上で確定すると、その転送データを双方
向バッファ1Aを介しデータラッチ手段2Aにラッチさ
せ、直ちにDMA制御手段3へ転送終了信号を出力す
る。これにより、DMA制御手段3は、直ちにBバスの
バス使用権の要求を行い、Bバスの使用権を獲得する
と、データ転送先のメモリBへ上記転送データの書込ア
ドレスを出力する。制御手段4は、上記転送データの書
込アドレスがBバス上で確定すると、DMA制御手段3
からの制御信号を受けて、双方向バッファ1Bを介しデ
ータラッチ手段2Aにラッチされている上記転送データ
をメモリBに書き込ませる。したがって、デュアル・ア
ドレス転送おいては、データ転送元のリードサイクルの
終了を待たずにライトサイクルのためのデータ転送先の
バスのバス権の獲得に移行して、上記データを確実に転
送先へ転送できる。次に、第2の発明の手段の作用は、
次の通りである。DMA制御手段3は、例えば、Aバス
に接続されたメモリAからBバスに接続されたIOデバ
イスBi (i=1,2,・・・N)へのDMA転送要求
を受け取ると、制御手段4に対しAバス及びBバスの使
用権要求を送出する。制御手段4は、これに応じて、A
バス及びBバスの使用権要求を、それぞれAバスに接続
されたCPUBもしくは図示していないバス調停回路、
及びBバスに接続されたCPUAもしくは図示していな
いバス調停回路へ出力する。そして、 御手段4は、A
バスの使用許可の通知を、Aバスを介しCPUAまたは
Aバスの調停回路から受け取ると、DMA制御手段3に
対しAバスの使用許可のみならずBバスの使用許可も通
知する。これを受けて、DMA制御手段3は、Aバスへ
メモリAの転送データの格納アドレス及び読み出し制御
信号を出力する。制御手段4は、メモリAの上記格納ア
ドレスから読み出されたデータがAバス上で確定する
と、そのデータを双方向バッファ1Aを介しデータラッ
チ手段2Bにラッチさせる。そして、制御手段4は、B
バスの使用許可の通知をCPUBもしくはBバスの調停
回路から既に受け取っていれば直ちに、一方まだBバス
の使用許可の通知を受け取っていなければその使用許可
を受け取った時点で、Aバスの使用権を解放する。した
がって、シングル・アドレス転送においては、データ転
送元のバスのバス権が先に獲得された場合には、直ちに
両方のバスでバスサイクルを実行させ、データを確実に
転送元から転送先へデータを転送できる。また、請求項
3記載の第3の発明は、デュアル・アドレス転送を上述
した第1の発明と同様にして行い、シングル・アドレス
転送を上述した第2の発明と同様にして行う。したがっ
て、デュアル・アドレス転送においては、データ転送元
のバスのリードサイクルの終了を待たずにライトサイク
ルのためのデータ転送先のバスのバス権の獲得に移行し
て、上記データを確実に転送先へ転送でき、シングル・
アドレス転送においては、データ転送元のバス権が先に
獲得された場合には、直ちに両方のバスでバスサイクル
を実行させ、データを確実に転送元から転送先へデータ
を転送できる。
【0025】
【実施例】以下、一実施例を図2〜図6を参照しながら
説明する。図2は、2つのバス間でのデータ転送をDM
A転送により行うマルチプロセッサシステムの全体構成
を示す回路ブロックである。尚、同図において前記図5
に示すブロックと同一のブロックには同一符号を記して
いる。
【0026】同図において、メイン・システム・バスで
あるAバスには、CPU−A31,I/OデバイスA3
2,及びRAMA33が接続されている。またサブ・シ
ステム・バスであるBバスにはCPU−B41,I/Oデ
バイスB42,及びRAMB43が接続されている。
【0027】そして、上記Aバスと上記Bバス間には、
Aバスに接続されているI/OデバイスA32並びにRA
MA33とBバスに接続されているI/OデバイスB42
並びにRAMB43間でのDMA転送を制御するDMA
C(DMAコントローラ)120が接続されている。
【0028】また、Aバス並びにBバスでのバス権獲得
の調停を行うバス制御回路140も、設けられている。
このバス制御回路140は、図3に示すように、その内
部にバッファ・ラッチ制御部141、HACK(ホール
ド・アクノリッジ)制御部142、及びDACK(デー
タ・アクノリッジ)制御部143を有している。
【0029】バッファ・ラッチ制御部141は、DMA
C120からAバスの使用権を要求するホールドリクエ
スト信号HREQA(以下、バス権要求HREQAと記
す)を入力すると、HACK制御部142からバス権要
求HREQA′をAバスを介してCPU−A31へ出力
させる。
【0030】HACK制御部142は、Aバスを介して
CPU−A31からホールドアクノリッジ信号HACK
A′(以下、バス許可通知HACKA′と記す)が返さ
れると、DMACK120対してバス許可通知HACK
Aを通知する。
【0031】バッファ・ラッチ制御部141及びHAC
K制御部142は、DMACK120からBバスの使用
権を要求するバス権要求HREQBを入力した場合に
も、上記バス権要求HREQAを入力したときと同様の
動作を、Bバスを介してCPU−B41との間で行い、
CPU−B41にバス権要求HREQ′を出力した後、
CPU−B41からバス許可通知HACKB′が返され
てくると、DMACK120に対してバス許可通知HA
CKBを通知する。
【0032】また、バッファラッチ制御部141は、D
MACK120から、バッファコントロール信号Aを入
力すると、双方向バッファ51Aに対してバッファコン
トロール信号A′を出力して、Aバス上に出力されたデ
ータが双方向バッファ51Aを介してラッチ161Aに
入力されるように制御する。またバッファ・ラッチ制御
部141は、DMAC120からバッファコントロール
信号Bを入力した場合には、バッファ51Bに対してバ
ッファコントロール信号B′を出力し、Bバス上に出力
されたデータがバス51Bを介してラッチ161Bに入
力されるように制御する。
【0033】さらに、バス・ラッチ制御部141は、上
記バッファコントロール信号A′を出力した後、Aバス
上にRAMA33から読み出されたデータが安定したタ
イミングでラッチ161Aに対しラッチコントロール信
号LAを出力し、上記Aバス上に出力されたRAM33
からの読み出しデータをラッ161Aにラッチさせる。
また、バッファ・ラッチ制御部141は、DMAC12
0からバッファコントロール信号Bを入力した場合に
も、上記バッファコントロール信号Aの入力ときと同様
にして、バッファ51Bにバッファコントロール信号
B′を、ラッチ161Bにラッチコントロール信号LB
を出力することにより、Bバス上に出力されたRAMB
43からの読み出しデータをラッチ161Bにラッチさ
せる。
【0034】また、HACK制御部142は、上記バッ
ファ許可通知HACKA′を受け取った後、DACK制
御部143がAバスからデータアクノリッジ信号DAC
KA′(転送終了信号DACKA′と記す)を入力する
前の所定のタイミングでDMAC120への転送終了信
号DACKAを出力し、DMACK120にデータ転送
を終了させる(バッファサイクルBCADを終了させ
る)。同様にして、HACK制御部142は、上記バス
許可通知HACKB′を受け取った後、DACK制御部
143がBバスから転送終了信号DACKB′を入力す
る前の所定のタイミングでDMAC120へ転送終了信
号DACKBを出力し、DMAC120にデータ転送を
終了させる。
【0035】また、図2において、双方向バッファ51
Aは、Aバスに対するデータの入出力を行うもので、そ
の入力バッファ(レシーバ)51A−1の入力端子、出
力端子がそれぞれ、ラッチ161Aのデータ入力端子
D,Aバスに接続され、その出力バッファ(ドライバ)
51A−2の入力端子、出力端子が、それぞれ、Aバ
ス、ラッチ161Bの出力端子Qに接続されている。
【0036】さらに双方向バッファ51Bは、Bバスに
対するデータの入出力を行うもので、その入力バッファ
(レシーバ)51B−1の入力端子、出力端子が、それ
ぞれ、ラッチ161Bのデータ入力端子D、Bバスに接
続され、その出力バッファ(ドライバ)51B−2の入
力端子、出力端子が、それぞれ、Bバス、ラッチ161
Aの出力端子Qに接続されているラッチ161Aは、A
バス上に出力されたデータを、前記バス制御回路140
から加わるラッチコントロール信号LAの入力により上
記双方向バッファ51Aの出力バッファ51A−2を介
してラッチし、出力端子Qから上記双方向バッファ51
Bの入力バッファ51B−1に出力する。
【0037】また、ラッチ161Bは、Bバス上に出力
されたデータを前記バス制御回路140から加わるラッ
チコントロール信号LBの入力により上記双方向バッフ
ァ51Bの出力バッファ51B−2を介してラッチし、
出力端子Qから上記双方向バッファ51Aの入力バッフ
ァ51A−2に出力する。
【0038】さらに、双方向バッファ170は、入力バ
ッファ(レシーバ)170−1と出力バッファ(ドライ
バ)170−2とから成る、DMAC120がAバスま
たはBバスに対しデータの入出力をおこなうための双方
向バッファであり、バッファ制御回路140から出力さ
れるバッファコントロール信号Cによって、そのデータ
の入出力が制御される。
【0039】次に、上記構成のマルチプロセッサシステ
ムにおけるDMAC120によるAバスとBバス間のD
MA転送の動作を説明する。まず、Aバスに接続された
RAMA33に格納されているデータをBバスに接続さ
れたRAMB43にデュアル・アドレス転送する場合の
動作を説明する。
【0040】この場合、まずDMAC120は、Aバス
のバス権要求HREQAをバス制御回路140へ出力す
る。これを受けて、バス制御回路140はAバスを介
し、CPU−A31へAバスのバス権要求HREQA′
を出力し、CPU−A31がAバスを介しバス許可通知
HACKAを返してくるのを待つ。この待ち時間が図4
(a)に示すAバスの獲得時間GAである。
【0041】そして、DMAC120は、上記バス許可
通知HACKをCPU−B31から受け取ると、Aバス
のアドレスバスにRAMA33内の転送データの格納ア
ドレスを出力しRAMA33から転送データを読み出す
制御を開始すると共に、バス制御回路140へバッファ
コントロール信号Aを出力する。バッファ制御回路14
0は、上記バッファコントロール信号Aを入力すると直
ちにバッファ51A及びバッファ170に対し、それぞ
れバッファコントロール信号A′,Cを出力し、双方向
バッファ51Aの入力バッファ51A−1,双方向バッ
ファCの入力バッファ170−1のみをイネーブルにす
る。次に、バッファ制御回路140は、上記DMAC1
20の制御によりRAMA33から読み出された転送デ
ータがAバス上に出力され確定すると、ラッチ161A
に対しラッチコントロール信号LAを出力し、上記イネ
ーブルとなっている双方向バッファ51Aの入力バッフ
ァ51A−1から出力されているRAMA33から読み
出された転送データをラッチ161Aにラッチさせる。
【0042】続いて、バス制御回路140は、直ちにD
MAC120に対し転送終了信号HACKAを出力す
る。従って、このDMAC120への転送終了信号HA
CKAの出力は、正規のAバスのバスサイクルBCAD
の終了前、すなわちAバスを介して転送終了信号HAC
KA′がバス制御回路140に通知される前に行われる
ことになる。続いて、バス制御回路140は、上記転送
終了信号HACKA′を入力すると、Aバスのバス権要
求HREQA′をインアクティブにして、Aバスの解放
をCPU−A31に通知する。(図4(a)のBCA
D,RELA参照)。
【0043】DMAC120は、バス制御回路140か
ら転送終了信号HACKAを入力すると、双方向バッフ
ァ170の入力バッファ170−1を介してAバス上の
データを特に図示していない内部のレジスタに取り込む
が、このデータ取り込みタイミングが、DMAC120
のセットアップタイミング及びホールドタイミングを満
たさない場合もあるので、必ずしも正しいデータを取り
込むとは限らない。したがって、ここでは、このDMA
C120が内部に取り込むデータをダミーデータと呼ぶ
ことにする。
【0044】続いて、DMAC120は、バス制御回路
140に対しBバスのバス権要求HREQBを出力し、
バス制御回路140からバス許可通知HACKBが返さ
れるのを待つ。このバス権要求HREQBの出力からバ
ス許可通知を受け取るまでの時間が、図4(a)に示す
Bバスのバス獲得時間GBである(図4(a)参照)。
【0045】バス制御回路140は、DMAC120か
らBバスのバス権要求HREQBを入力すると、Bバス
を介しCPU−B41にBバスのバス権要求HREQ
B’を出力する。そしてバス制御回路140は、双方向
バッファ170に対しバスコントロール信号Cを出力し
て、双方向バッファ170の出力バッファ170−1を
ディセーブル(disable)にする。そして、その後、Bバ
スを介しCPU−B41からバス許可通知HACKB′
を受ける取ると直ちにDMAC120に対し、バス許可
通知HACKBを出力する。
【0046】DMAC120は、上記バス許可通知HA
CKBを受ける取ると、バッファコントロール信号
A′,B′を制御して、双方向バッファ51A内の2つ
のバッファ51A−1,51A−2を共にディセーブル
にすると共に、双方向バッファ51Bの入力バッファ5
1B−1のみをイネーブルにする。そして、さらに、D
MAC120は、BバスへRAMB43の転送先アドレ
スを出力し、さらにRAMB43へのデータ書き込み制
御も行う。
【0047】このことにより、上述したようにしてRA
MA33から読み出されてラッチ161Bにラッチされ
た転送データが、双方向バッファ51Bの入力バッファ
51B−1を介しBバスに出力され、RAMB43の転
送先アドレスに書き込まれる。
【0048】尚、DMAC120の内部に取り込まれた
前記ダミーデータは、バス170の出力バッファ170
−2がディセーブルになっているため、Bバスには出力
されない。
【0049】そして、バス制御回路140は、RAMB
43への上記データ転送終了後、Bバスを介して転送終
了信号DACKB′を受け取ると、DMAC120に対
し転送終了信号DACKBを通知すると共に、バス権要
求HREQBをインクアクティブにしてBバスを解放す
る。
【0050】以上の動作により、Aバスに接続されたR
AMA33からBバスに接続されたRAMB43へのデ
ュアル・アドレス転送は、図4(a)に示すタイミング
で行われる。
【0051】このデュアル・アドレス転送においては、
同図(A)に示されているように、Aバスのバスサイク
ルBCADの終了を待たずに、Bバスのバス権獲得に移
行するので、全体の転送時間Tは、従来よりも短縮され
る(図6(A)参照)。特に、この転送時間の短縮効果
は、転送元のバス(上記例の場合、Aバス)のバスサイ
クルが長い場合に顕著なものとなり、この場合転送先の
バスのバスサイクルと転送先のバスのバスサイクルのオ
ーバラップも可能になるため、転送時間が大幅に短縮さ
れる。
【0052】次に、Aバスに接続されたRAMA33か
らBバスに接続されたI/Oデバイス32に対しシング
ル・アドレス転送する場合の動作を説明する。この場
合、DMAC120はAバス,Bバスの両方のバスに対
するバス権要求HREQA,HREQBを、バス制御回
路140に対しほぼ同時に出力し、バス制御回路140
からバス許可通知HACKA,HACKBが返されるの
を待つ(図4(b)のGA,GB参照)。
【0053】バス制御回路140は上記2つのバス権要
求HREQA,HREQBを受け取ると、CPU−A3
1,CPU−B41にそれぞれAバス、Bバスを介しバ
ス権要求HREQA′,HREQB′を出力する。そし
て、バス制御回路140は、CPU−A31からAバス
を介してバス許可通知HACKA′を受け取ると、バス
許可通知HACKA,HACKBの両方をDMAC12
0へ出力する。
【0054】DMAC120は、上記2つのバス許可通
知HACKA,HACKBを受け取ると、バッファコン
トロール信号A,Bをバッファ制御回路140へ出力す
ると共に、RAMA33内の転送データの格納アドレス
をAバスへ出力する。
【0055】バス制御回路140は、上記バスコントロ
ール信号A,Bの入力により、バッファ51Aへバッフ
ァコントロール信号A′を出力し、双方向バッファ51
A内の出力バッファ51A−1のみをイネーブルにす
る。尚、このとき、CPU−B41からは、まだバッフ
ァ許可通知HACKBが送られてきていないので、双方
向バッファ51Bの入力バッファ51B−1、出力バッ
ファ51B−2はまだイネーブルとしない。
【0056】次に、バッファ制御回路140は、RAM
A33からAバス上に出力された転送データが確定する
と、ラッチ61Aに対しラッチコントロール信号LAを
出力し、双方向バッファ51Aの出力バッファ51A−
1を介して入力される上記転送データをラッチ61Aに
ラッチさせる。
【0057】また、バス制御回路140は、Bバスを介
してCPU−B41からバス許可通知HACKB′を受
け取り、かつ上記ラッチ61Aへの転送データのラッチ
が終了した時点で、直ちにバス権要求HREQA′をイ
ンアクティブにしてAバスの使用権を解放すると共に、
バッファコントロール信号A′によりAバスに接続され
た双方向バッファ51Aの2つのバッファ51A−1,
バッファ51A−2を共にディセーブルにし、さらにバ
ッファコントロール信号B′により、双方向バッファ5
1Bの入力バッファ51B−1のみをイネーブルにす
る。
【0058】このことにより、ラッチ61Aにラッチさ
れているRAMA33から読み出された転送データは、
双方向バッファ51Bの出力バッファ51B−2を介し
てBバスへ出力され、I/Oデバイス42の当該ポート
に入力される。
【0059】以上の動作により、図4(b)に示すよう
に、Aバスを、バス獲得時間GB及びバスサイクル時間
BCBDの長いBバスに影響されることなく、従来より
も早く解放することができる(図6B参照)。したがっ
て、Aバスに接続されたデバイスは効率の良いデータ転
送を行うことが可能になり、Aバスの利用効率が向上す
る。
【0060】尚、上記実施例ではAバスからBバスへの
データ転送についてのみ説明したが、BバスからAバス
へのデータ転送も同様にして行えることはもちろんであ
る。また、システム構成も、図2に示す構成に限定され
るものではなく、CPU以外のバスマスタやより多くの
ストレーブ・デバイスを備えたシステムにも適用可能な
ものである。
【0061】
【発明の効果】請求項1及び3記載の第1及び第3の発
明によれば、デュアル・アドレス転送においては、デー
タ転送元のバスのリードサイクルの終了を待たずに、ラ
イトサイクルのためのデータ転送先のバスのバス権の獲
得に移行して、上記データを確実に転送先へ転送できる
ようにしたので、DMA転送における転送時間を短縮で
きる。
【0062】また、請求項2及び3記載の第2及び第3
の発明によれば、シングル・アドレス転送においては、
データ転送元のバスのバス権が先に獲得された場合に
は、直ちに両方のバスでバスサイクルを実行させ、デー
タを確実に転送元から転送先へデータを転送できるよう
にしたので、早くバスサイクルが終了したバスを無駄に
専有することなく、直ちに解放することが可能になり、
バスの利用効率が向上する。
【図面の簡単な説明】
【図1】本発明のブロック図である。
【図2】実施例のシステム構成を示す回路ブロック図で
ある。
【図3】バス制御回路の内部構成及びバス制御回路とD
MACとの接続構成を説明する図である。
【図4】実施例の動作を説明する図であり、(a)はデ
ュアル・アドレス転送、(b)はシングル・アドレス転
送の動作を説明する図である。
【図5】従来のDMACによるデュアル・アドレス転送
及びシングル・アドレス転送を行うシステムの構成を示
す回路ブロック図である。
【図6】従来のDMA転送を説明する図であり、(a)
は従来のデュアル・アドレス転送、(b)は従来のシン
グルアドレス転送の動作を説明する図である。
【符号の説明】
1A,1B 双方向バッファ 2A,2B データラッチ手段 3 DMA制御手段 4 制御手段

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 2つのバス間でのデュアル・アドレス転
    送方式によるDMA転送を制御するバス制御装置におい
    て、 前記バスにそれぞれ接続する2つの双方向バッファと、 該各双方向バッファにそれぞれ接続する2つのデータラ
    ッチ手段と、 前記2つのバス間でのDMA転送を実行するDMA制御
    手段と、 該DMA制御手段から前記2つのバスの使用権要求を受
    け取り、要求のあったバスが使用されていない場合には
    上記使用権要求のあったバスの使用許可を前記DMA制
    御手段に通知する制御手段を備え、 前記制御手段は、リードサイクルでは、前記DMA制御
    手段がアクセルしたデバイスが一方のバス上に出力した
    データが確定した時点でそのデータをその一方のバスに
    接続されたデータラッチ手段にラッチさせてから前記D
    MA制御手段に転送終了信号を出力し、続くライトサイ
    クルでは前記DMA制御手段からの制御信号を受けて、
    前記データラッチ手段にラッチさせたデータが前記他方
    のバスに接続された双方向バッファを介して前記他方の
    バスに接続された当該デバイスに出力されるように制御
    することを特徴とするバス制御装置。
  2. 【請求項2】 2つのバス間でのシングル・アドレス転
    送方式によるDMA転送を制御するバス制御装置におい
    て、 前記各バスに接続する2つの双方向バッファと、 該各双方向バッファに接続する2つのデータラッチ手段
    と、 前記2つのバス間でのDMA転送を実行するDMA制御
    手段と、 該DMA制御手段から前記2つのバスの使用権要求を受
    け取り、前記2つのバスの使用状況に応じて、上記使用
    権要求のあったバスの使用許可を前記DMA制御手段に
    通知する制御手段とを備え、 前記制御手段は、前記DMA制御手段から前記2つのバ
    スの使用権要求を受け取ると前記2つのバスの使用権要
    求を両方のバスに出力し、続いてデータ転送先のデバイ
    スが接続されている一方のバスの使用許可の通知を、デ
    ータ転送先のデバイスが接続されている他方のバスの使
    用許可よりも先に受け取った場合には上記2つのバスの
    使用許可を前記DMA制御手段に通知し、次に前記デー
    タ転送先のデバイスから前記一方のバスに出力されたデ
    ータが確定した時点でそのデータを前記一方のバスに接
    続されたデータラッチ手段にラッチさせ、続いてさらに
    前記他方のバスの使用許可を既に受け取っている場合に
    は直ちに、一方まだ前記他方のバスの使用許可をまだ受
    け取っていない場合にはその他方のバスの使用許可を受
    け取った時点で、前記一方のバスの使用権を開放するこ
    とを特徴とする制御装置。
  3. 【請求項3】 2つのバス間でのデュアル・アドレス転
    送方式及びシングル・アドレス転送方式によるDMA転
    送を制御するバス制御装置において、 前記各バスにそれぞれ接続する2つの双方向性バッファ
    と、 該各双方向バッファにそれぞれ接続する2つのデータラ
    ッチ手段と、 前記2つのバス間でのDMA転送を実行するDMA制御
    手段と、 該DMA制御手段から前記2つのバスの使用権要求を受
    け取り、要求のあったバスが使用されていない場合には
    上記使用権要求のあったバスの使用許可を前記DMA制
    御手段に通知する制御手段とを備え、 前記制御手段は、デュアル・アドレス転送方式によるD
    MA転送の場合リードサイクルでは前記DMA制御手段
    がアクセスしたデバイスが一方のバス上に出力したデー
    タが確定した時点でその一方のバス上のデータをその一
    方のバスに接続されたデータラッチ手段にラッチさせた
    後、前記DMA制御手段に転送終了信号を出力し、続く
    ライトサイクルでは前記DMA制御手段からの制御信号
    を受けて前記データラッチ手段にラッチさせたデータが
    前記他方のバスに接続された双方向バッファを介して前
    記他方のバスに接続された当該デバイスに出力されるよ
    うに制御し、 一方、シングル・アドレス転送方式によるDMA転送の
    場合には、前記DMA制御手段から前記2つのバスの使
    用権要求を受け取ると前記2つのバスの使用権要求を両
    方のバスに出力し、続いてデータ転送元のデバイスが接
    続されている一方のバスの使用許可の通知をデータ転送
    先のデバイスが接続されている他方のバスの使用許可よ
    りも先に受け取った場合には上記2つのバスの使用許可
    を前記DMA制御手段に通知し、次に前記データ転送元
    のデバイスから前記一方のバスに出力されたデータが確
    定した時点でそのデータを前記一方のバスに接続された
    データラッチ手段にラッチさせ、続いて前記他方のバス
    の使用許可を既に受け取っている場合には直ちに、一方
    まだ前記他方のバスの使用許可をまだ受け取っていない
    場合にはその他方のバスの使用許可を受け取った時点
    で、前記一方のバスの使用権を解放することを特徴とす
    る制御装置。
JP3233692A 1992-02-19 1992-02-19 バス制御装置 Pending JPH05233524A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3233692A JPH05233524A (ja) 1992-02-19 1992-02-19 バス制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3233692A JPH05233524A (ja) 1992-02-19 1992-02-19 バス制御装置

Publications (1)

Publication Number Publication Date
JPH05233524A true JPH05233524A (ja) 1993-09-10

Family

ID=12356112

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3233692A Pending JPH05233524A (ja) 1992-02-19 1992-02-19 バス制御装置

Country Status (1)

Country Link
JP (1) JPH05233524A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9230654B2 (en) 2005-09-30 2016-01-05 Conversant Intellectual Property Management Inc. Method and system for accessing a flash memory device
US9240227B2 (en) 2005-09-30 2016-01-19 Conversant Intellectual Property Management Inc. Daisy chain cascading devices

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9230654B2 (en) 2005-09-30 2016-01-05 Conversant Intellectual Property Management Inc. Method and system for accessing a flash memory device
US9240227B2 (en) 2005-09-30 2016-01-19 Conversant Intellectual Property Management Inc. Daisy chain cascading devices

Similar Documents

Publication Publication Date Title
US5293491A (en) Data processing system and memory controller for lock semaphore operations
JP2004171209A (ja) 共有メモリデータ転送装置
JP2008027305A (ja) データ処理装置
JP2000047974A (ja) バス制御コントローラのバス調停方法、バス制御コントローラ及び電子機器のシステム
JP2007172112A (ja) メモリコントローラ
US5627968A (en) Data transfer apparatus which allows data to be transferred between data devices without accessing a shared memory
JPH05233524A (ja) バス制御装置
JPH08161254A (ja) 情報処理システムおよびそのバス調停方式
US20050135402A1 (en) Data transfer apparatus
JPH07295947A (ja) データ転送管理装置及び方法
US20100153610A1 (en) Bus arbiter and bus system
JP3240863B2 (ja) 調停回路
WO1992006432A1 (en) Device for controlling bus
JP2985496B2 (ja) Dma転送方式
JP2005316546A (ja) メモリコントローラ
JPS63286949A (ja) バス制御方式
JP3266610B2 (ja) Dma転送方式
JP2001318906A (ja) マルチプロセッサ装置
JPH11203253A (ja) 共有資源排他アクセス制御方式
JP4733219B2 (ja) データ処理装置およびデータ処理方法
JPS59135684A (ja) バツフアメモリ間のデ−タバイパス方式
JPH0575140B2 (ja)
JP2001188749A (ja) バスコントローラ
JPH0476152B2 (ja)
JPH034349A (ja) Dma転送方式