JPH04312156A - バスアービタ - Google Patents

バスアービタ

Info

Publication number
JPH04312156A
JPH04312156A JP7890791A JP7890791A JPH04312156A JP H04312156 A JPH04312156 A JP H04312156A JP 7890791 A JP7890791 A JP 7890791A JP 7890791 A JP7890791 A JP 7890791A JP H04312156 A JPH04312156 A JP H04312156A
Authority
JP
Japan
Prior art keywords
bus
data
dmac
arbiter
requester
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
JP7890791A
Other languages
English (en)
Inventor
Hirotoshi Yamada
浩利 山田
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP7890791A priority Critical patent/JPH04312156A/ja
Publication of JPH04312156A publication Critical patent/JPH04312156A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)

Abstract

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、例えば、DMAコン
トローラ(以下、DMACという)等の複数のバスリク
エスタが同一のデータバスを共有してデータ転送を行う
バスシステムに使用されるバスアービタに関するもので
ある。
【0002】
【従来の技術】コンピュータや通信機器などにおけるC
PU基板では、外部機器及び外部基板との高速なデータ
の送受信やメモリからメモリへの高速データ転送用に、
単一もしくは複数のDMACをデータバス上に接続する
ことがよく行われている。この場合、同一のデータバス
をCPUやDMAC等複数のバスリクエスタが共有する
形となり、各々のバスリクエスタが非同期にデータバス
の占有権を獲得しようとするため、そのバス獲得要求を
調停(アービトレーション)するバスアービタが必要と
なる。
【0003】図7は従来のコンピュータや通信装置のC
PU基板におけるバスシステムの概要を示すブロック図
であり、図において1はデータバス4に接続されている
複数のDMAC2a,2bの調停を行うバスアービタ、
2a,2bはデータバス4上で実際にデータ転送を行う
#1DMACと#2DMAC(バスリクエスタの一例)
、3は転送データの蓄積を行うデータメモリ、4はデー
タ転送を行うのに必要なアドレス信号線,データ信号線
,制御信号線等を全て含むデータバス、8a,8bは各
DMAC2a,2bからバスアービタ1へ出力されるバ
ス要求信号(バスリクエスト)、9a,9bはバスアー
ビタ1から各DMAC2a,2bへ出力されるバス要求
承認信号(バスグラント)を示している。なお、以後特
にa,bの区別を必要としない場合には、単にDMAC
(バスリクエスタ)2,バスリクエスト8,バスグラン
ト9と記す。
【0004】図8は、例えばシーメンス社製品のローカ
ルバスアービタ(SAB82200)に示されるような
バスアービタ1の詳細構成図であり、図において8a,
8bは前述のバスリクエスト、9a,9bはバスグラン
ト、また12a〜12dはD型フリップフロップ、13
a,13bはゲートである。この例では、バスリクエス
ト8およびバスグラント9はロー有意の信号であり、論
理的にローのときにオンとなる。
【0005】図9はバスアービタ1によるデータバス4
のアービトレーションの様子を示すタイミングチャート
であり、#1DMAC2a及び#2DMAC2bが交互
にデータバス4を占有し、データ転送を行っている場合
を示している。図において8a,8bは前述のバスリク
エスト、9a,9bはバスグラント、また14はデータ
バス4上の制御信号線の1つでデータ転送サイクルを示
すアドレスストローブ、16a,16bはバスグラント
9a,9bがオンになってからアドレスストローブ14
がオンになるまでの期間であるアイドル期間を示してお
り、このアドレスストローブ14が1回オンになる度に
データバス上で1回データ転送が行われることを示す。 14a,14bは#1DMAC2a及び#2DMAC2
bがそれぞアドレスストローブ14を出力する様子を示
したものであり、実際のアドレスストローブ14は、こ
の14a,14bの負論理のAND演算結果となる。こ
の例では、全ての信号線はロー有意の信号であり、論理
的にローのときにオンとなる。なお、以後特にa,bの
区別を必要としない場合には単にアイドル期間16と記
す。
【0006】次に動作について説明する。図には記され
ていないが、例えばCPU等外部からのデータ転送要求
を#1DMAC2aが受信すると、#1DMAC2aは
バスアービタ1に対してバス要求信号であるバスリクエ
スト8aをオンにする。データバス4は何れか1つのD
MAC(バスリクエスタ)しか占有できないため、バス
アービタ1は#2DMAC2bがデータバス4を占有し
ていないことを確認してから、バスグラント9aをオン
にする。#1DMAC2aはバスグラント9aがオンに
なったことを受信すると、実際にデータバス4を占有し
てデータの転送を開始する。
【0007】バスアービタ1の機能は、複数のDMAC
2からのバスリクエスト8を調停して、何れか1つのD
MAC2にしかデータバスを占有させないようにするこ
とであり、#1DMAC2aがデータバス4を占有して
いる場合には、#2DMAC2bからのバスリクエスト
8bがオンになってもバスグラント9bオンにしないよ
うにし、同様に#2DMAC2bがデータバス4を占有
している場合には、#1DMAC2aからのバスリクエ
スト8aがオンになってもバスグラント9aをオンにし
ないようにしている。
【0008】図8に示されるバスアービタ1においてデ
ータバス4のアービトレーションが行われる。この例は
、#1DMAC2aの方が#2DMAC2bより常に優
先順位が高い固定優先順位方式の例である。従って、バ
スリクエスト8a,8bが同時にオンになった場合には
、前述した優先順位により#1DMAC2aに対するバ
スグラント9aのみがオンとなる。
【0009】バスリクエスト8a,8bが同時にオンに
なった場合の優先順位を付けるため、 ゲート13bに
おいてバスリクエスト8aによりバスリクエスト8bを
抑えている。さらにゲート13aにおいてバスグラント
9bによりバスリクエスト8aを抑えることによって、
何れか1つのDMAC2にしかバスグラント9をオンに
しないようにしている。
【0010】図9に示されるタイミングチャートおいて
、実際にDMAC2がデータバス4上でデータ転送を行
っている期間は、アドレスストローブ14がオンになっ
ている期間である。従って、アドレスストローブ14が
オフになっている期間(アイドル期間16も含む)は何
も行っていないのと同等であり、この期間が長いほど単
位時間当りのデータ転送量、すなわち全体のスループッ
トが低下してしまう。
【0011】一般的なDMACの特徴として、バス要求
承認信号(バスグラント)を受信してから実際にデータ
転送を行う(アドレスストローブオン)までの間には、
アイドル期間16と呼ばれる期間が存在する。このため
図9に示されるように、#1DMAC2a及び#2DM
AC2bが隙間なく交互にデータバス4を占有してデー
タ転送を行った場合でも、データバス4を占有している
DMAC2が切替る度に、#1DMAC2a及び#2D
MAC2bに対応したアイドル期間16a,16bが挿
入されてしまい、結果として全体のスループットの低下
を引起こす原因となっている。
【0012】
【発明が解決しようとする課題】従来のバスアービタは
以上のように構成されているため、データバスに接続さ
れている複数のDMACが隙間なくデータバスを占有し
てデータ転送を行い、バスグラントが全てオフになって
いる期間がないとしても、データバスを占有しているD
MACが切替る度にアイドル期間が挿入されてしまい、
結果として全体のスループットを低下させてしまうとい
う問題点があった。
【0013】特に、一定のまとまった期間を一つのDM
ACに割り付けてデータを連続して転送するバースト転
送モードではなく、各DMACが他のDMACのデータ
転送サイクルの合間に自分のデータ転送サイクルを割り
付けるサイクルスチールモードで使用した場合には、D
MAC切替えが頻繁に発生し、全体のスループットが著
しく低下してしまう可能性があった。
【0014】この発明は上記のような問題点を解消する
ためになされたもので、データバスを占有しているDM
ACの切替え及びアイドル期間の挿入が発生した場合で
も、全体のスループットの低下を抑え、DMAC等のバ
スリクエスタに効率よくデータ転送を行わせる制御がで
きるバスアービタを得ることを目的とする。
【0015】
【課題を解決するための手段】第一の発明に係るバスア
ービタは、データバスを共有してデータの転送を行う複
数のバスリクエスタのバス獲得要求を調停するバスアー
ビタであって、以下の要素を有するものである。(a)
前記データバスと前記各バスリクエスタとを、接続分離
するドライバ、(b)バスリクエスタからバス獲得要求
が出された場合に、バス獲得要求を出したバスリクエス
タに対してバス獲得承認を出力するとともに、バスリク
エスタのバス獲得要求を他のバスリクエスタのバス獲得
要求との間で調停して、選ばれたバスリクエスタに対応
する前記ドライバにより前記データバスと得られたバス
リクエスタを接続するバスアービタ。
【0016】第二の発明に係るバスアービタは、共通の
データバスを利用してデータの転送を行うにあたりバス
占有期間が定められていてバス獲得承認からデータの転
送に入るまでのアイドル期間が存在する複数のバスリク
エスタのバス獲得要求を調停するバスアービタであって
、現在バスを占有しているバスリクエスタのバス占有期
間と新たにバスを占有しようとしているバスリクエスタ
のアイドル期間とに基づいて、バスリクエスタのバス獲
得要求を調停することを特徴とするバスアービタである
【0017】
【作用】第一の発明に係るバスアービタは、バスリクエ
スタ(DMAC)のローカルバスの信号線とデータバス
の信号線とを接続分離するドライバを備えており、この
ドライバの出力に関しては従来のバスアービタと同様に
バスリクエスタ(DMAC)の優先順位に従ってバスリ
クエストの調停(アービトレーション)を行った後、最
も優先順位の高いバスリクエスタ(DMAC)に対応す
るドライバの出力のみをイネーブルにするが、バスグラ
ントに関しては優先順位に関係なく、バスリクエストを
オンにしている全てのバスリクエスタ(DMAC)に対
して直ちにオンにする。
【0018】この場合、バスリクエストをオンにした、
すなわちバスグラントオンを受信したバスリクエスタ(
DMAC)は全てデータ転送動作に入るが、実際にデー
タバスを占有してデータ転送動作を行えるのは、対応し
たドライバの出力がイネーブルになったバスリクエスタ
(DMAC)のみである。対応したドライバの出力がイ
ネーブルにならなかったバスリクエスタ(DMAC)か
らの信号は、ドライバで遮られてデータバスに到達しな
いため、ドライバの出力がイネーブルになるまで、それ
らのバスリクエスタ(DMAC)はウェイトステートが
連続的に挿入された形でデータ転送動作途中のまま停止
することになる。このように、バスリクエストをオンに
している全てのバスリクエスタ(DMAC)に対して直
ちにオンにし、ドライバの出力がイネーブルになるまで
、それらのバスリクエスタ(DMAC)がウェイトさせ
られることにより、バスリクエスタ(DMAC)がもつ
アイドル期間をウェイト中に経過させてしまい、その後
、ドライバの出力がイネーブルになる時点では即座にデ
ータ転送が可能となり、データバスを占有するバスリク
エスタ(DMAC)の切替え及びアイドル期間の挿入が
発生した場合でも、全体のスループットの低下を抑え、
バスリクエスタ(DMAC)に効率よくデータ転送を行
わせることができる。
【0019】また、第二の発明に係るバスアービタは、
各バスリクエスタ(DMAC)の最大バス占有期間Th
 及び各バスリクエスタ(DMAC)のアイドル期間T
i が判明しているバスシステムに適用される。例えば
、あるバスリクエスタ(DMAC)がデータバスを獲得
してからTh −Ti 時間(現在データバスを占有し
ているバスリクエスタ(DMAC)の最大バス占有期間
−新たにデータバスを獲得しようとしているバスリクエ
スタ(DMAC)のアイドル期間)経過後に他のバスリ
クエスタ(DMAC)がバスリクエストをオンにした場
合には、バスリクエスタ(DMAC)の優先順位に従っ
て直ちにバスリクエストの調停を行った後、最も優先順
位の高いバスリクエスタ(DMAC)に対してのみバス
グラントをオンにするが、あるバスリクエスタ(DMA
C)がデータバスを獲得してからTh −Ti 時間以
内に他のバスリクエスタ(DMAC)がバスリクエスト
をオンにした場合には、直ぐにはバスリクエストの調停
を行わず、Th −Ti 時間経過した時点でバスリク
エスタ(DMAC)の優先順位に従って調停を行った後
、最も優先順位の高いバスリクエスタ(DMAC)に対
してのみバスグラントをオンにする。
【0020】この場合、あるバスリクエスタ(DMAC
)がデータバスを占有しているときに他のバスリクエス
タ(DMAC)がバスリクエストをオンにすると、現在
データバスを占有しているバスリクエスタ(DMAC)
がデータバスを解放するよりも前に、新たにバスを獲得
しようとしているバスリクエスタ(DMAC)の中で最
も優先順位の高いバスリクエスタ(DMAC)に対する
バスグラントがオンとなり、その結果、現在データバス
を占有しているバスリクエスタ(DMAC)のバス占有
期間とバスグラントがオンになったバスリクエスタ(D
MAC)のアイドル期間に重なりが生じることになり、
全体のスループットの低下を抑え、バスリクエスタ(D
MAC)に効率よくデータ転送を行わせることができる
【0021】
【実施例】実施例1.以下、第一の発明の一実施例を図
について説明する。なお、従来例と同一、または相当部
分には同一符号を用いてその説明を省略する。図1はこ
の発明の一実施例によるバスアービタを含む、コンピュ
ータや通信装置のCPU基板におけるバスシステムの概
要を示すブロック図であり、図において5a,5bはD
MAC2a,2bに接続されているローカルバス、6a
,6bはローカルバス5a,5bとデータバス4を分離
するスリーステート出力機能を持ったドライバ、10a
,10bはバスアービタ1からドライバ6a,6bの出
力を制御するアウトプットイネーブルという信号を示し
ている。なお、以後特にa,bの区別を必要としない場
合には単にローカルバス5,ドライバ6,アウトプット
イネーブル10と記す。
【0022】図2はこの実施例におけるバスアービタ1
の詳細構成図である。この例では、バスリクエスト8,
バスグラント9及びアウトプットイネーブル10はロー
有意の信号であり、論理的にローのときにオンとなる。
【0023】図3はこの実施例におけるバスアービタ1
によるデータバス4のアービトレーションの様子を示す
タイミングチャートであり、#1DMAC2a及び#2
DMAC2bが交互にデータバス4を占有し、データ転
送を行っている場合を示している。図において10a,
10bは前述のアウトプットイネーブル、15a,15
bはローカルバス5a,5b上の制御信号線の1つでデ
ータ転送サイクルを示すローカルアドレスストローブ、
16a,16bはバスグラント9a,9bがオンになっ
てからローカルアドレスストローブ15a,15bがオ
ンになるまでの期間であるアイドル期間を示しており、
このローカルアドレスストローブ15a,15bが1回
オンになる度にローカルバス5a,5b(及びデータバ
ス4)上で1回データ転送が行われることを示す。また
18a,18bはローカルアドレスストローブ15a,
15bがオンになってからアドレスストローブ14がオ
ンになる間に挿入されるウェイトステートを示している
。この例では、全ての信号線はロー有意の信号であり、
論理的にローのときにオンとなる。なお、以後特にa,
bの区別を必要としない場合にはローカルアドレススト
ローブ15,アイドル期間16,ウェイトステート18
と記す。
【0024】次に動作について説明する。図には記され
ていないが、例えばCPU等外部からのデータ転送要求
を#1DMAC2aが受信すると、#1DMAC2aは
バスアービタ1に対してバス要求信号であるバスリクエ
スト8aをオンにする。バスアービタ1は直ちにバスグ
ラント9aをオンにするが、データバス4は何れか1つ
のDMAC(バスリクエスタ)しか占有できないため、
#2DMAC2bがデータバス4を占有していないこと
を確認してから、アウトプットイネーブル10aをオン
にする。#1DMAC2aはバスグラント9aがオンに
なったことを受信すると、アウトプットイネーブル10
aのオン/オフに関係なく、ローカルバス5aの信号線
を駆動し、データの転送動作を開始しようとする。
【0025】このとき、アウトプットイネーブル10a
がオンになっていれば、#1DMAC2aは実際にデー
タバス4を占有してデータの転送を行えるが、アウトプ
ットイネーブル10aがオフになっていると、ローカル
バス5aの信号はドライバ6aで遮られてデータバスに
到達しないため、ドライバ6aの出力がイネーブルにな
るまでウェイトステート18aが連続的に挿入された形
でデータ転送動作途中のまま停止することになる。
【0026】バスアービタ1の主な機能は、複数のDM
AC2からのバスリクエスト8を調停して、何れか1つ
のDMAC2にしかデータバスを占有させないようにす
ることであり、#1DMAC2aがデータバス4を占有
している場合には、#2DMAC2bからのバスリクエ
スト8bがオンになってもアウトプットイネーブル10
bをオンにしないようにし、同様に#2DMAC2bが
データバス4を占有している場合には、#1DMAC2
aからのバスリクエスト8aがオンになってもアウトプ
ットイネーブル10bをオンにしないようにしている。
【0027】図2に示されるバスアービタ1においてデ
ータバス4のアービトレーションが行われる。この例は
、#1DMAC2aの方が#2DMAC2bより常に優
先順位が高い固定優先順位方式の例である。従って、バ
スリクエスト8a,8bが同時にオンになった場合には
、前述した優先順位により#1DMAC2aに対するア
ウトプットイネーブル10aのみがオンとなる。
【0028】バスリクエスト8a,8bが同時にオンに
なった場合の優先順位を付けるため、 ゲート13bに
おいてバスリクエスト8aによりバスリクエスト8bを
抑えている。さらにゲート13aにおいてアウトプット
イネーブル10bによりバスリクエスト8aを抑えるこ
とによって、何れか1つのDMAC2にしかアウトプッ
トイネーブル10をオンにしないようにしている。
【0029】図3のタイミングチャートに示されるよう
に、この実施例の特徴の1つは、バスリクエスト8がオ
ンになった場合にバスアービタ1が直ちにバスグラント
9をオンにすることであり、それを受けたDMAC2は
アイドル期間16経過後、ローカルアドレスストローブ
15をオンにする。前述したように、そのときアウトプ
ットイネーブル10がオンになっていなければウェイト
ステート18が挿入されることになるが、その後アウト
プットイネーブル10がオンになった瞬間に、ローカル
アドレスストローブ15がデータバス4上のアドレスス
トローブ14に伝達され即座にデータ転送を開始するこ
とができる。
【0030】バスグラント9がオンになる期間とアウト
プットイネーブル10がオンになっていない期間とが重
なると、その分だけアイドル期間16が経過することに
なりデータ転送を行わない無駄な時間が減り、スループ
ットが向上する。図3に示されるように、特にバスグラ
ント9がオンになる期間とアウトプットイネーブル10
がオンになっていない期間の重なりがアイドル期間16
以上になると無駄な時間がほとんどなくなり、スループ
ットは最大になる。
【0031】なお、上記実施例ではDMAC等バスリク
エスタの数を2つとしたが、複数であればいくつでもよ
く、その数についての制限はない。
【0032】以上のように、この実施例では、複数のD
MAC(バスリクエスタ)が同一のデータバスを共有し
てデータ転送を行うバスシステムにおいて、前記データ
バスの信号線と前記DMACのローカルバスの信号線を
分離するスリーステート出力機能を持ったドライバを備
え、前記各DMACからバス要求信号が出力された場合
には、前記各DMACの優先順位に従って前記バス要求
信号を調停し、他のDMACが前記データバスを使用し
ていないことを確認してから最も優先順位の高いDMA
Cに対応する前記ドライバの出力のみをイネーブルにす
るが、バス要求承認信号に関しては前記バス要求信号を
出力している全ての前記DMACに対して直ち出力する
ことを特徴とするバスアービタを説明した。
【0033】実施例2.以下、第二の発明の一実施例を
図について説明する。なお、従来例と同一、または相当
部分には同一符号を用いてその説明は省略する。図4は
この発明の一実施例によるバスアービタを含む、コンピ
ュータや通信装置のCPU基板におけるバスシステムの
概要を示すブロック図である。
【0034】図5はこの実施例におけるバスアービタ1
の詳細構成図である。図において13a〜13dはゲー
ト、7a,7bはバスグラント9a,9bがオンになっ
てからある一定時間後にローを出力し、バスグラント9
a,9bがオフになると直ちにハイを出力するタイマ、
11a,11bはタイマ7a,7bの出力である。この
例では、バスリクエスト8及びバスグラント9はロー有
意の信号であり、論理的にローのときにオンとなる。
【0035】図6はこの実施例におけるバスアービタ1
によるデータバス4のアービトレーションの様子を示す
タイミングチャートであり、#1DMAC2a及び#2
DMAC2bが交互にデータバス4を占有し、データ転
送を行っている場合を示している。図において16a,
16bは#1DMAC2a及び#2DMAC2bのアイ
ドル期間Ti1,Ti2、17a,17bは#1DMA
C2a及び#2DMAC2bの最大バス占有期間Th1
,Th2、19a,19bは最大バス占有期間Th と
アイドル期間Ti の差である最大バスグラントディレ
イ期間Td1,Td2を示しており、 Td1=Th2−Ti1 Td2=Th1−Ti2 ただし Ti1:#1DMAC2aのアイドル期間Ti2:#2
DMAC2bのアイドル期間Th1:#1DMAC2a
の最大バス占有期間Th2:#2DMAC2bの最大バ
ス占有期間Td1:#1DMAC2b用の最大バスグラ
ントディレイ期間 Td2:#2DMAC2a用の最大バスグラントディレ
イ期間 となる。タイマ7aは、バスグラント9aがオンになっ
てから最大バスグラントディレイ期間Td2を計測し最
大バスグラントディレイ期間Td2の経過後にローを出
力し、また、バスグラント9aがオフになると直ちにハ
イを出力する。同様に、タイマ7bは、バスグラント9
bがオンになってから最大バスグラントディレイ期間T
d1を計測し最大バスグラントディレイ期間Td1の経
過後にローを出力し、また、バスグラント9bがオフに
なると直ちにハイを出力する。なお、この例では、全て
の信号線はロー有意の信号であり、論理的にローのとき
にオンとなる。また、以後特にa,bの区別を必要とし
ない場合にはアイドル期間Ti 16,最大バス占有期
間Th 17,最大バスグラントディレイ期間Td19
と記す。
【0036】次に動作について説明する。図には記され
ていないが、例えばCPU等外部からのデータ転送要求
を#1DMAC2aが受信すると、#1DMAC2aは
バスアービタ1に対してバス要求信号であるバスリクエ
スト8aをオンにする。データバス4は何れか1つのD
MAC(バスリクエスタ)しか占有できないため、バス
アービタ1は#2DMAC2bがデータバス4を占有し
ていないこと、または占有してからTh217b−Ti
116a時間すなわちTd119a時間経過しているこ
とを確認してから、バスグラント9aをオンにする。#
1DMAC2aはバスグラント9aがオンになったこと
を受信すると、アイドル期間Ti116a経過後アドレ
スストローブ14を出力し、実際にデータバス4を占有
してデータの転送を開始する。
【0037】バスアービタ1の主な機能は、複数のDM
AC2からのバスリクエスト8を調停して、何れか1つ
のDMAC2にしかデータバスを占有させないようにす
ることである。このため従来のバスアービタ1は、複数
のバスグラント9がオンになる期間に重なりが生じない
ように制御を行っていた。しかしバスグラント9ではな
く、アドレスストローブ14がオンになる期間に重なり
が生じなければ、データ転送を行う上で事実上問題はな
い。そこでこの実施例では、最大バス占有期間Th 1
7及びアイドル期間Ti 16からタイミングを計算し
、アドレスストローブ14がオンになる期間に重なりが
生じない範囲で、現在データバス4を占有しているDM
AC2がデータバス4を解放する以前に、次に占有しよ
うとしているDMAC2のバスグラント9をオンにする
【0038】例えば、#1DMAC2aはバスグラント
9aオンを受信してからアイドル期間Ti116a以上
経過しないと実際にはアドレスストローブ14aをオン
にしないため、#2DMAC2bがデータバス4を占有
してからTd1(=Th217b−Ti116a)時間
経過以降にバスグラント9aをオンにすれば、アドレス
ストローブ14aがオンになる頃には#2DMAC2b
はデータバス4を解放しており、アドレスストローブ1
4aと14bがオンになる期間に重なりは生じない。
【0039】同様に#1DMAC2aがデータバス4を
占有してからTd219b(Th117a−Ti216
b)時間経過以降にバスグラント9bをオンにすれば、
アドレスストローブ14bがオンになる頃には#1DM
AC2aはデータバス4を解放しており、アドレススト
ローブ14aと14bがオンになる期間に重なりは生じ
ない。
【0040】図5に示されるバスアービタ1においてデ
ータバス4のアービトレーションが行われる。この例は
、#1DMAC2aの方が#2DMAC2bより常に優
先順位が高い固定優先順位方式の例である。従って、バ
スリクエスト8a,8bが同時にオンになった場合には
、前述した優先順位により#1DMAC2aに対するバ
スグラント9aのみがオンとなる。
【0041】バスリクエスト8a,8bが同時にオンに
なった場合の優先順位付け、及び上記のような制御を行
うため、#1タイマ7aの出力及びバスグラント9bを
バスリクエスト8aと共にゲート13cに入力して、そ
の出力でバスリクエスト8bを抑え、さらに#2タイマ
7bの出力及びバスグラント9aをバスグラント9bと
共にゲート13dに入力して、その出力でバスリクエス
ト8aを抑えている。
【0042】次に図6を用いて具体的次に動作について
説明する。図には記されていないが、例えばCPU等外
部からのデータ転送要求を#1DMAC2aが受信する
と、#1DMAC2aはバスアービタ1に対してバス要
求信号であるバスリクエスト8aをA時点でオンにする
。バスアービタ1はB時点でバスグラント9aをオンに
する。#1DMAC2aはバスグラント9aがオンにな
ったことを受信すると、アイドル期間Ti116a経過
後のC時点でアドレスストローブ14を出力し、実際に
データバス4を占有してデータの転送を開始する。
【0043】次に、#2DMAC2bがバスアービタ1
に対してバス要求信号であるバスリクエスト8bをD時
点でオンにしたとすると、バスアービタ1は#1DMA
C2aがデータバス4を占有していないこと、または、
占有してからTh117a−Ti216b時間すなわち
Td219b時間経過していることを確認してから、E
時点でバスグラント9bをオンにする(この場合は#1
DMAC2aがデータバス4を占有しているが、占有し
てからTh117a−Ti216b時間すなわちTd2
19b時間経過しているのでバスグラント9bをオンに
する)。
【0044】#2DMAC2bはバスグラント9bがオ
ンになったことを受信すると、アイドル期間Ti216
b経過後のF時点でアドレスストローブ14を出力し、
実際にデータバス4を占有してデータの転送を開始する
。 同時に、F時点では#1DMAC2aの最大バス占有期
間Th1がきれるので#1DMAC2aのデータ転送サ
イクルが終了する。このようにE時点とF時点のあいだ
は#1DMAC2aのデータ転送と#2DMAC2bの
アイドル期間Ti216b経過が平行して実行される。 またこのときのE時点とF時点のあいだの期間の最大値
は、バスグラントがオンになったバスリクエスタ(#2
DMAC)のアイドル期間Ti2となり、もっとも効率
がよい状態になる。
【0045】次に#1DMAC2aが次のデータ転送サ
イクルを要求するため、バスアービタ1に対してバス要
求信号であるバスリクエスト8aをH時点でオンにする
と、バスアービタ1は即座にH時点でバスグラント9a
をオンにする。バスアービタ1は#2DMAC2bがデ
ータバス4を占有していないこと、または、占有してか
らTh217b−Ti116a時間すなわちTd119
a時間経過していることを確認してから、バスグラント
9aをオンにするが、この場合はすでにG時点で占有し
てからTh217a−Ti116b時間すなわちTd1
19a時間が経過しているのでバスグラント9aを即座
にオンにする。
【0046】#1DMAC2aはバスグラント9aがオ
ンになったことを受信すると、アイドル期間Ti116
a経過後のI時点でアドレスストローブ14を出力し、
実際にデータバス4を占有してデータの転送を開始する
。 #2DMAC2bはすでにI時点でデータ転送を終了し
ているので、I時点とJ時点のあいだはデータバスがあ
くことになり効率は落ちるが、H時点とI時点のあいだ
でデータ転送とアイドル期間経過が平行して実行される
分従来よりも改善される。
【0047】このように、図6のタイミングチャートに
示されるように、この実施例の特徴は、現在データバス
4を占有しているDMAC2のバスグラント9がオフに
なるタイミングより前に、次に占有しようとしているD
MAC2のバスグラント9をオンにして、現在データバ
ス4を占有しているDAMC2のバス占有期間と次に占
有しようとしているDMAC2のアイドル期間を重ね合
せて無駄な期間を減少させようというものであり、重ね
合う期間が長いほど全体のスループットは向上する。
【0048】なお、上記実施例ではDMAC等バスリク
エスタの数を2つとしたが、複数であればいくつでもよ
く、その数についての制限はない。
【0049】以上、この実施例では、複数のDMAC(
バスリクエスタ)が同一のデータバスを共有しており、
前記各DMACのバス占有期間の長さが一定時間Th 
以内、また前記各DMACがバス要求承認信号を受信し
てから実際にデータ転送サイクルに入るまでのアイドル
期間が一定時間Ti 以上であるバスシステムにおいて
、あるDMACが前記データバスを獲得してからTh 
(現在バスを占有しているDMACのTh )−Ti 
(新たにバスを占有しようとしているDMACのTi 
)時間経過後に他のDMACがバス要求信号を出力した
場合には、DMACの優先順位に従って直ちに前記バス
要求信号を調停した後、最も優先順位の高いDMACに
対して前記バス要求承認信号を出力するが、あるDMA
Cがデータバスを獲得してからTh −Ti時間以内に
他のDMACが前記バス要求信号を出力した場合には、
直ぐには先期バス要求信号の調停を行わず、Th −T
i 時間経過した時点でDMACの優先順位に従って前
記バス要求信号を調停し、最も優先順位の高いDMAC
に対して前記バス要求承認信号を出力することを特徴と
するバスアービタを説明した。
【0050】
【発明の効果】以上のように第一あるいは第二の発明に
よれば、複数のバスリクエスタが同一のデータバスを共
有するバスシステムにおいて、データバスを占有するバ
スリクエスタの切替え及びアイドル期間の挿入が発生し
た場合でも、全体のスループットの低下を抑え、バスリ
クエスタに効率よくデータ転送を行わせることができる
という効果がある。
【図面の簡単な説明】
【図1】この発明の実施例1によるバスアービタを含む
バスシステムの概要を示すブロック図である。
【図2】この実施例1におけるバスアービタの詳細構成
図である。
【図3】この実施例1におけるバスアービタによるデー
タバスのアービトレーションの様子を示すタイミングチ
ャート図である。
【図4】この発明の実施例2によるバスアービタを含む
バスシステムの概要を示すブロック図である。
【図5】この実施例2におけるバスアービタの詳細構成
図である。
【図6】この実施例2におけるバスアービタによるデー
タバスのアービトレーションの様子を示すタイミングチ
ャート図である。
【図7】従来のバスアービタを含むバスシステムの概要
を示すブロック図である。
【図8】従来のバスアービタの詳細構成図である。
【図9】従来のバスアービタによるデータバスのアービ
トレーションの様子を示すタイミングチャート図である
【符号の説明】
1  バスアービタ 2  DMAC 3  データメモリ 4  データバス 5  ローカルバス 6  ドライバ 7  タイマ 8  バスリクエスト 9  バスグラント 10  アウトプットイネーブル 11  タイマ出力 12  D型フリップフロップ 13  ゲート 14  アドレスストローブ 15  ローカルアドレスストローブ 16  アイドル期間 17  最大バス占有期間 18  ウェイトステート

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】  以下の要素を有し、データバスを共有
    してデータの転送を行う複数のバスリクエスタのバス獲
    得要求を調停するバスアービタ(a)前記データバスと
    前記各バスリクエスタとを、接続分離するドライバ、(
    b)バスリクエスタからバス獲得要求が出された場合に
    、バス獲得要求を出したバスリクエスタに対してバス獲
    得承認を出力するとともに、バスリクエスタのバス獲得
    要求を他のバスリクエスタのバス獲得要求との間で調停
    して、選ばれたバスリクエスタに対応する前記ドライバ
    により前記データバスと得られたバスリクエスタを接続
    するバスアービタ。
  2. 【請求項2】  共通のデータバスを利用してデータの
    転送を行うにあたりバス占有期間が定められていてバス
    獲得承認からデータの転送に入るまでのアイドル期間が
    存在する複数のバスリクエスタのバス獲得要求を調停す
    るバスアービタであって、現在バスを占有しているバス
    リクエスタのバス占有期間と新たにバスを占有しようと
    しているバスリクエスタのアイドル期間とに基づいて、
    バスリクエスタのバス獲得要求を調停することを特徴と
    するバスアービタ。
JP7890791A 1991-04-11 1991-04-11 バスアービタ Pending JPH04312156A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7890791A JPH04312156A (ja) 1991-04-11 1991-04-11 バスアービタ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7890791A JPH04312156A (ja) 1991-04-11 1991-04-11 バスアービタ

Publications (1)

Publication Number Publication Date
JPH04312156A true JPH04312156A (ja) 1992-11-04

Family

ID=13674906

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7890791A Pending JPH04312156A (ja) 1991-04-11 1991-04-11 バスアービタ

Country Status (1)

Country Link
JP (1) JPH04312156A (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0298765A (ja) * 1988-10-05 1990-04-11 Fujitsu Ltd Dmaデータ転送方式
JPH02186463A (ja) * 1989-01-13 1990-07-20 Hitachi Ltd 割込み要求発生方法および装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0298765A (ja) * 1988-10-05 1990-04-11 Fujitsu Ltd Dmaデータ転送方式
JPH02186463A (ja) * 1989-01-13 1990-07-20 Hitachi Ltd 割込み要求発生方法および装置

Similar Documents

Publication Publication Date Title
US5623672A (en) Arrangement and method of arbitration for a resource with shared user request signals and dynamic priority assignment
US5572686A (en) Bus arbitration scheme with priority switching and timer
US6073199A (en) History-based bus arbitration with hidden re-arbitration during wait cycles
CA2026737C (en) Bus master interface circuit with transparent preemption of a data transfer controller
US20050289268A1 (en) Internal bus system
AU687627B2 (en) Multiprocessor system bus protocol for optimized accessing of interleaved storage modules
US6304923B1 (en) Method for prioritizing data transfer request by comparing a latency identifier value received from an I/O device with a predetermined range of values
US6397279B1 (en) Smart retry system that reduces wasted bus transactions associated with master retries
US6275890B1 (en) Low latency data path in a cross-bar switch providing dynamically prioritized bus arbitration
JP2708289B2 (ja) アクセス要求仲裁装置
US6959354B2 (en) Effective bus utilization using multiple bus interface circuits and arbitration logic circuit
EP1811393A1 (en) Method and system for data transfer
EP0886218B1 (en) Time multiplexed scheme for deadlock resolution in distributed arbitration
KR100973419B1 (ko) 버스 중재 방법 및 장치
JPH04312156A (ja) バスアービタ
JP2000132505A (ja) バスアクセス方法および装置とその利用装置およびシステム
JPH10320349A (ja) プロセッサ及び当該プロセッサを用いるデータ転送システム
KR100605867B1 (ko) 동적 우선순위 조정기능을 갖는 버스 중재기와 버스 중재방법
JP4097847B2 (ja) バス・ブリッジのアービトレーション方法
CN115269467B (zh) 一种总线仲裁的方法、装置、存储介质及电子设备
JPS63175964A (ja) 共有メモリ
JPS61182158A (ja) コモンバス占有方式
JP2632049B2 (ja) マルチプロセッサシステム
JP2505303B2 (ja) デ―タ転送方法
JP2002049581A (ja) バス調停方法及びバス制御装置