JP2000040061A - バス使用権調停システム - Google Patents

バス使用権調停システム

Info

Publication number
JP2000040061A
JP2000040061A JP10320098A JP32009898A JP2000040061A JP 2000040061 A JP2000040061 A JP 2000040061A JP 10320098 A JP10320098 A JP 10320098A JP 32009898 A JP32009898 A JP 32009898A JP 2000040061 A JP2000040061 A JP 2000040061A
Authority
JP
Japan
Prior art keywords
bus
signal
cycle
controller
request signal
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
JP10320098A
Other languages
English (en)
Inventor
Osamu Ishikawa
修 石川
Shunichi Ito
俊一 伊藤
Satoshi Yamamoto
聡 山本
Yoshikazu Endo
義和 遠藤
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Data 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 Oki Data Corp filed Critical Oki Data Corp
Priority to JP10320098A priority Critical patent/JP2000040061A/ja
Priority to US09/313,279 priority patent/US6505265B1/en
Publication of JP2000040061A publication Critical patent/JP2000040061A/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/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/364Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines

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)【要約】 【解決手段】 クロック信号に同期してカウント値を繰
り返し更新するカウンタ61と、バスマスタ間のバス使
用権の優先順位を入れ換えるための4組の優先順位情報
をカウンタ61の各カウント値のそれぞれに対応させて
記憶し、これらの4組の優先順位情報の中からバス使用
権の調停に使用する1組の優先順位情報をクロック毎に
切り換えて選択する優先順位情報記憶部62とを設け
る。 【効果】 複数のバスマスタ間の優先順位を所定の時間
毎に入れ換え、特定のバスマスタにバスが占有されすぎ
るのを防止することができ、バス使用権の公平性を容易
に実現することができる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、複数のバスマスタ
のそれぞれから要求されたバス使用権をバスコントロー
ラにより調停するバス使用権調停システムに関する。
【0002】
【従来の技術】従来、CPU(central processing uni
t)、DMA(direct memory access)コントローラ等
の複数のバスマスタがバスを共有するシステムとして、
これらのバスマスタのそれぞれから要求されたバス使用
権をバスコントローラにより調停するバス使用権調停シ
ステムが知られている。各バスマスタには、予めバス使
用権の優先順位が割り当てられている。バスコントロー
ラは、複数のバスマスタから同時にバス使用権が要求さ
れると、それぞれの優先順位を比較して優先順位の高い
バスマスタから順にバス使用権を承諾していた。
【0003】
【発明が解決しようとする課題】ところで、従来の技術
には、次のような解決すべき課題があった。優先順位の
高いバスマスタから連続してバス使用権が要求される
と、優先順位の低いバスマスタは後回しにされ、優先順
位の高いバスマスタにバス使用権が承諾される。このた
め、優先順位の高いバスマスタにバスが占有されすぎ、
優先順位の低いバスマスタがバス使用権を取得するのに
時間がかかってしまう場合があった。したがって、各バ
スマスタが取得するバス使用権の公平性に欠けるといっ
た問題があった。
【0004】
【課題を解決するための手段】本発明は以上の点を解決
するため次の構成を採用する。 〈構成1〉バス使用権の要求信号を出力する複数のバス
マスタと、上記複数のバスマスタのそれぞれの要求信号
を受け、これらの要求信号に基づく上記複数のバスマス
タ間のバス使用権を調停するバスコントローラとを備
え、上記バスコントローラは、上記複数のバスマスタ間
のバス使用権の優先順位の情報であり、それぞれ異なる
順位付けをした複数組の優先順位情報を記憶する優先順
位情報記憶部と、上記優先順位情報記憶部に記憶された
複数組の優先順位情報のうちバス使用権の調停に使用す
る何れか1組の優先順位情報を所定の時間毎に切り換え
て選択する優先順位情報切換選択部とを有することを特
徴とするバス使用権調停システム。
【0005】〈構成2〉バス使用権の要求信号を出力す
る複数のバスマスタと、上記複数のバスマスタのそれぞ
れの要求信号を受け、これらの要求信号に基づく上記複
数のバスマスタ間のバス使用権を調停するバスコントロ
ーラとを備え、上記バスコントローラは、上記複数のバ
スマスタ間のバス使用権の優先順位の情報であり、それ
ぞれ異なる順位付けをした複数組の優先順位情報を予め
記憶する優先順位情報記憶部と、上記優先順位情報記憶
部に記憶された複数組の優先順位情報のうちバス使用権
の調停に使用する何れか1組の優先順位情報を、何れか
のバスマスタにバス使用権が承諾される毎に切り換えて
選択する優先順位情報切換選択部とを有することを特徴
とするバス使用権調停システム。
【0006】〈構成3〉バス使用権の要求信号を出力す
る複数のバスマスタと、上記複数のバスマスタのそれぞ
れの要求信号を受け、これらの要求信号に基づく上記複
数のバスマスタ間のバス使用権を調停するバスコントロ
ーラとを備え、上記バスコントローラは、上記複数のバ
スマスタ間のバス使用権の優先順位の情報であり、それ
ぞれ異なる順位付けをした複数組の優先順位情報と、上
記複数組の優先順位情報の中から所定の組数の優先順位
情報をそれぞれ異なる組合せにより取り出すための複数
の組合せ情報とを対応付けて記憶する第1の優先順位情
報記憶部と、上記第1の優先順位情報記憶部に記憶され
た複数の組合せ情報のうち1つの組合せ情報を選択する
組合せ情報選択部と、上記組合せ情報選択部により選択
された組合せ情報の上記所定の組数の優先順位情報を上
記第1の優先順位情報記憶部から読み出し、読み出され
た上記所定の組数の優先順位情報を記憶する第2の優先
順位情報記憶部と、上記第2の優先順位情報記憶部に記
憶された上記所定の組数の優先順位情報のうちバス使用
権の調停に使用する何れか1組の優先順位情報を所定の
時間毎に切り換えて選択する優先順位情報切換選択部と
を有することを特徴とするバス使用権調停システム。
【0007】〈構成4〉バス使用権の要求信号を出力す
る複数のバスマスタと、上記複数のバスマスタのそれぞ
れの要求信号を受け、これらの要求信号に基づく上記複
数のバスマスタ間のバス使用権を調停するバスコントロ
ーラとを備え、上記バスコントローラは、上記複数のバ
スマスタ間のバス使用権の優先順位の情報であり、それ
ぞれ異なる順位付けをした複数組の優先順位情報と、上
記複数組の優先順位情報の中から所定の組数の優先順位
情報をそれぞれ異なる組合せにより取り出すための複数
の組合せ情報とを対応付けて記憶する第1の優先順位情
報記憶部と、上記第1の優先順位情報記憶部に記憶され
た複数の組合せ情報のうち1つの組合せ情報を選択する
組合せ情報選択部と、上記組合せ情報選択部により選択
された組合せ情報の上記所定の組数の優先順位情報を上
記第1の優先順位情報記憶部から読み出し、読み出され
た上記所定の組数の優先順位情報を記憶する第2の優先
順位情報記憶部と、上記第2の優先順位情報記憶部に記
憶された上記所定の組数の優先順位情報のうちバス使用
権の調停に使用する何れか1組の優先順位情報を、何れ
かのバスマスタにバス使用権が承諾される毎に切り換え
て選択する優先順位情報切換選択部とを有することを特
徴とするバス使用権調停システム。
【0008】〈構成5〉バス使用権の要求信号を出力す
る複数のバスマスタと、上記複数のバスマスタのそれぞ
れの要求信号を受け、これらの要求信号に基づく上記複
数のバスマスタ間のバス使用権を調停するバスコントロ
ーラと、上記複数のバスマスタのうち少なくとも1つの
バスマスタに対応して設けられ、上記バスコントローラ
により、上記少なくとも1つのバスマスタにバス使用権
が承諾されたとき、バス使用権が承諾された当該バスマ
スタから出力される要求信号が上記バスコントローラに
入力されるのを一時的にマスクする要求信号マスク部と
を備えたことを特徴とするバス使用権調停システム。
【0009】〈構成6〉バス使用権の要求信号を出力す
る複数のバスマスタと、上記複数のバスマスタのそれぞ
れの要求信号を受け、これらの要求信号に基づく上記複
数のバスマスタ間のバス使用権を調停するバスコントロ
ーラと、上記複数のバスマスタのうち少なくとも1つの
バスマスタに対応して設けられ、上記バスコントローラ
により、同一のバスマスタにバス使用権が承諾された回
数をカウントするカウンタと、上記カウンタによりカウ
ントされる同一のバスマスタの上記回数が所定値に達し
たとき、当該バスマスタから出力される要求信号が上記
バスコントローラに入力されるのを一時的にマスクする
要求信号マスク部とを備えたことを特徴とするバス使用
権調停システム。
【0010】〈構成7〉複数のグループに分けて設けら
れ、バス使用権の要求信号を出力する複数のバスマスタ
と、上記複数のバスマスタのそれぞれのバス使用権の要
求信号を受け、これらの要求信号に基づく上記複数のバ
スマスタ間のバス使用権を調停するバスコントローラ
と、上記複数のグループのうち少なくとも1つのグルー
プに対応して設けられ、上記バスコントローラにより、
上記少なくとも1のグループ内の何れか1つのバスマス
タにバス使用権が承諾されたとき、バス使用権が承諾さ
れた当該バスマスタが含まれるグループ内の全てのバス
マスタにより出力される要求信号が上記バスコントロー
ラに入力されるのを一時的にマスクする要求信号マスク
部とを備えたことを特徴とするバス使用権調停システ
ム。
【0011】〈構成8〉複数のグループに分けて設けら
れ、バス使用権の要求信号を出力する複数のバスマスタ
と、上記複数のバスマスタのそれぞれのバス使用権の要
求信号を受け、これらの要求信号に基づく上記複数のバ
スマスタ間のバス使用権を調停するバスコントローラ
と、上記複数のグループのうち少なくとも1つのグルー
プに対応して設けられ、上記バスコントローラにより、
同一グループ内のバスマスタにバス使用権が承諾された
回数をカウントするカウンタと、上記カウンタによりカ
ウントされる何れか1つのグループの上記回数が所定値
に達したとき、当該グループ内の全てのバスマスタによ
り出力される要求信号が上記バスコントローラに入力さ
れるのを一時的にマスクする要求信号マスク部とを備え
たことを特徴とするバス使用権調停システム。
【0012】〈構成9〉CPUを含む複数のバスマスタ
からそれぞれ出力されるバス使用権の要求信号に基づ
き、これら複数のバスマスタ間のバス使用権を調停する
バス使用権調停システムにおいて、カウントスタート信
号を受け取ってから所定の時間経過後にオーバーフロー
フラグを送出するカウンタと、上記CPUへの割り込み
信号が入力された時点で、上記カウントスタート信号を
出力し、上記オーバーフローフラグを受け取るまでに上
記CPU以外のバスマスタからのバス使用要求を無効と
するアービタ制御回路を備えたことを特徴とするバス使
用権調停システム。
【0013】〈構成10〉複数のバスマスタからそれぞ
れ出力されるバス使用権の要求信号に基づき、これら複
数のバスマスタ間のバス使用権を調停するバス使用権調
停システムにおいて、カウントイネーブル信号を受け取
ってから所定の時間経過後にオーバーフローフラグを送
出するカウンタと、上記複数のバスマスタのうち、特定
のバスマスタからのバス使用要求があった場合にカウン
トイネーブル信号を送出し、上記カウンタより、オーバ
ーフローフラグを受け取った場合は、上記特定のバスマ
スタの調停の優先順位を高くするアービタ制御回路を備
えたことを特徴とするバス使用権調停システム。
【0014】〈構成11〉複数のバスマスタからそれぞ
れ出力されるバス使用権の要求信号に基づき、これら複
数のバスマスタ間のバス使用権を調停するバス使用権調
停システムにおいて、予め決められた値のカウントを行
い、この決められた値をカウントするとオーバーフロー
フラグを送出し、クリア信号を入力すると、上記オーバ
ーフローフラグをクリアするカウンタと、上記オーバー
フローフラグを受け取った場合は、上記複数のバスマス
タのうち、特定のバスマスタからのバス使用の優先順位
を高くし、特定のバスマスタのバス使用が実行された場
合は、特定のバスマスタからのバス使用要求を無効にす
ると共に、上記カウンタに対して上記クリア信号を出力
するアービタ制御回路を備えたことを特徴とするバス使
用権調停システム。
【0015】〈構成12〉複数のバスマスタからそれぞ
れ出力されるバス使用権の要求信号に基づき、これら複
数のバスマスタ間のバス使用権を調停するバス使用権調
停システムにおいて、上記複数のバスマスタに対応して
複数設けられ、各バスマスタのバス使用要求があった場
合にカウントを開始するカウンタと、調停を行う際に、
上記複数のカウンタのカウント値を比較し、最も値の大
きいカウンタに対応したバスマスタからのバス使用要求
に対してバス使用権を与えるアービタ制御回路を備えた
ことを特徴とするバス使用権調停システム。
【0016】〈構成13〉CPUを含む複数のバスマス
タからそれぞれ出力されるバス使用権の要求信号に基づ
き、これら複数のバスマスタ間のバス使用権を調停する
バス使用権調停システムにおいて、上記CPUによって
指令され、上記複数のバスマスタのうち、特定のバスマ
スタが行う所定の処理が起動した時点から、当該所定の
処理が終了した時点までの期間を示す期間信号を出力す
る期間信号発生部と、上記期間信号が入力される間は、
上記CPUからのバス使用要求を無効とするアービタ制
御回路とを備えたことを特徴とするバス使用権調停シス
テム。
【0017】〈構成14〉CPUを含む複数のバスマス
タからそれぞれ出力されるバス使用権の要求信号に基づ
き、これら複数のバスマスタ間のバス使用権を調停する
バス使用権調停システムにおいて、上記CPUによって
指令され、上記複数のバスマスタのうち、特定のバスマ
スタが行う所定の処理が起動した時点から、所定の処理
が終了した時点までの期間を示す期間信号を出力する期
間信号発生部と、上記CPUへの割り込み信号が入力さ
れた場合は、割り込みフラグを出力する割り込みフラグ
発生部と、上記期間信号が入力され、かつ、上記割り込
みフラグが入力されない間は、上記CPUからのバス使
用要求を無効とし、上記期間信号が入力されないか、ま
たは、割り込みフラグが入力されている場合は、上記C
PUに対するバス使用要求の無効処理を解除するアービ
タ制御回路とを備えたことを特徴とするバス使用権調停
システム。
【0018】
【発明の実施の形態】以下、本発明の実施の形態を具体
例を用いて説明する。 《具体例1》 〈構成〉図1は本発明に係る具体例1のバス使用権調停
システムのバスコントローラの構成を示す図であり、図
2は本発明に係る具体例1のバス使用権調停システムの
構成を示す図である。図1を説明する前に、バス使用権
調停システムの構成を図2を用いて説明する。
【0019】図2に示すように、バス使用権調停システ
ムは、CPU(central processingunit)1、DMA
(direct memory access)コントローラ2〜4、バスコ
ントローラ5および記憶装置6〜8を備えている。記憶
装置6〜8は、共通のバス40を介してバスコントロー
ラ5に接続されている。バス40は、アドレスバス40
aおよびデータバス40bを含む。記憶装置6は、チッ
プセレクト信号線51を介してバスコントローラ5に接
続され、記憶装置7は、チップセレクト信号線52を介
してバスコントローラ5に接続され、記憶装置8は、チ
ップセレクト信号線53を介してバスコントローラ5に
接続されている。
【0020】CPU1は、要求信号線11、承諾信号線
21およびバス31を介してバスコントローラ5に接続
されている。バス31は、アドレスバス31aおよびデ
ータバス31bを含む。DMAコントローラ2は、要求
信号線12、承諾信号線22およびバス32を介してバ
スコントローラ5に接続されている。バス32は、アド
レスバス32aおよびデータバス32bを含む。DMA
コントローラ3は、要求信号線13、承諾信号線23お
よびバス33を介してバスコントローラ5に接続されて
いる。バス33は、アドレスバス33aおよびデータバ
ス33bを含む。DMAコントローラ4は、要求信号線
14、承諾信号線24およびバス34を介してバスコン
トローラ5に接続されている。バス34は、アドレスバ
ス34aおよびデータバス34bを含む。
【0021】CPU1、DMAコントローラ2、DMA
コントローラ3およびDMAコントローラ4は、ともに
バスマスタであり、それぞれバス40の使用権を要求す
る要求信号をバスコントローラ5に出力する。CPU1
は、要求信号線11に要求信号CPUREQPを出力する。D
MAコントローラ2は、要求信号線12に要求信号DMAR
EQ2Pを出力する。DMAコントローラ3は、要求信号線
13に要求信号DMAREQ3Pを出力する。DMAコントロー
ラ4は、要求信号線12に要求信号DMAREQ4Pを出力す
る。
【0022】バスコントローラ5は、CPU1、DMA
コントローラ2、DMAコントローラ3およびDMAコ
ントローラ4のそれぞれの要求信号に基づくバス使用権
を調停し、CPU1、DMAコントローラ2、DMAコ
ントローラ3およびDMAコントローラ4のそれぞれに
バス使用権を承諾する承諾信号を出力する。バスコント
ローラ5は、承諾信号線21を通してCPU1に承諾信
号CPUACKPを出力し、承諾信号線22を通してDMAコ
ントローラ2に承諾信号DMACK2Pを出力し、承諾信号線
23を通してDMAコントローラ3に承諾信号DMACK3P
を出力し、承諾信号線24を通してDMAコントローラ
4に承諾信号DMACK4Pを出力する。
【0023】バスコントローラ5は、CPU1、DMA
コントローラ2、DMAコントローラ3およびDMAコ
ントローラ4のうち、承諾信号を出力したバスマスタの
アドレス信号に基づいて記憶装置4〜6のうち何れか1
つの記憶装置を選択し、選択された記憶装置にチップセ
レクト信号を出力する。バスコントローラ5は、チップ
セレクト信号線51を通して記憶装置6にチップセレク
ト信号CS0Nを出力し、チップセレクト信号線52を通し
て記憶装置7にチップセレクト信号CS1Nを出力し、チッ
プセレクト信号線53を通して記憶装置8にチップセレ
クト信号CS2Nを出力する。
【0024】図1は図2に示されたバスコントローラ5
の構成を示す図である。図1に示すように、バスコント
ローラ5は、カウンタ61、優先順位情報記憶部62、
バス使用権調停部63、メモリコントローラ64、デコ
ーダ65、セレクタ66およびセレクタ67を備える。
【0025】カウンタ61には、システムクロック信号
CLKが入力される。カウンタ61は、入力される信号
CLKのパルスの立上がりに同期して2ビットのカウン
ト値を0、1、2、3の順に繰り返し切り換える。
【0026】優先順位情報記憶部62は、CPU1、D
MAコントローラ2、DMAコントローラ3およびDM
Aコントローラ4の間のバス40の使用権の優先順位を
表す情報であり、それぞれ異なる順位付けをした4組の
優先順位情報を予め記憶する。4組の優先順位情報は、
それぞれカウンタ61のカウント値0、1、2、3に対
応する。以下、具体例1において、カウント値0に対応
する優先順位情報を優先順位情報A、カウント値1に対
応する優先順位情報を優先順位情報B、カウント値2に
対応する優先順位情報を優先順位情報C、カウント値3
に対応する優先順位情報を優先順位情報Dという。優先
順位情報記憶部62は、4組の優先順位情報のうち、カ
ウンタ61のカウント値に対応する1組の優先順位情報
を、バス使用権の調停に使用する優先順位情報としてバ
ス使用権調停部63に出力する。
【0027】図3は優先順位情報記憶部62に記憶され
た優先順位情報の説明図である。図3に示すように、カ
ウンタ61のカウント値0、1、2および3のそれぞれ
に対応して優先順位情報A、B、CおよびDが記憶され
る。優先順位情報A、B、CおよびDは、それぞれ8ビ
ットのデータにより構成される。8ビットのデータに
は、その最上位ビットから2ビット毎にCPU1、DM
Aコントローラ2、DMAコントローラ3およびDMA
コントローラ4の優先順位が割り当てられている。
【0028】すなわち、CPU1の優先順位は、P
[7:6]の値、DMAコントローラ2の優先順位は、
P[5:4]の値、DMAコントローラ3の優先順位
は、P[3:2]の値、DMAコントローラ4の優先順
位は、P[1:0]の値で表される。ここで、P[7:
6]は、8SB(8th significant bit)から7SBま
での2ビットを、P[5:4]は、6SBから5SBま
での2ビットを、P[3:2]は、4SBから3SBま
での2ビットを、P[1:0]は、2SB(second sig
nificant bit)から1SB(first significant bit)
までの2ビットを意味する。
【0029】優先順位は、値が小さいほど高く、値が大
きいほど低い。優先順位情報Aは、CPU1、DMAコ
ントローラ4、DMAコントローラ3、DMAコントロ
ーラ2の順に優先順位が高い。優先順位情報Bは、DM
Aコントローラ2、CPU1、DMAコントローラ4、
DMAコントローラ3の順に優先順位が高い。優先順位
情報Cは、DMAコントローラ3、DMAコントローラ
2、CPU1、DMAコントローラ4の順に優先順位が
高い。優先順位情報Dは、DMAコントローラ4、DM
Aコントローラ3、DMAコントローラ2、CPU1の
順に優先順位が高い。
【0030】優先順位情報A、B、CおよびDは、カウ
ンタ61のカウント値が切り換えられる毎に、最も優先
順位が低かったバスマスタの優先順位を最も高くし、他
のバスマスタの優先順位を順繰りに1つずつ低くするよ
うに設定されている。これにより、CPU1、DMAコ
ントローラ2、DMAコントローラ3およびDMAコン
トローラ4は、互いの要求信号の発生確率が等しけれ
ば、同じ確率でバス使用権を取得することが期待され
る。
【0031】なお、優先順位情報記憶部62に記憶する
優先順位情報の組数は少なくとも2つあればよく、任意
である。また、優先順位情報の内容も任意である。例え
ば、4つのバスマスタのうち、2つのバスマスタの優先
順位を切り換える、あるいは3つのバスマスタの優先順
位を切り換えるようにしてもよい。また、カウンタ61
のカウント値は、1クロック毎に限らず、任意のクロッ
ク毎に切り換えるように構成してもよい。
【0032】図1に戻り、バス使用権調停部63は、C
PU1の要求信号CPUREQP、DMAコントローラ2の要
求信号DMAREQ2P、DMAコントローラ3の要求信号DMAR
EQ3PおよびDMAコントローラ4の要求信号DMAREQ4Pを
入力し、メモリコントローラ64にバス使用権を要求す
る要求信号BUSREQPを出力する。図4はバス使用権調停
部63に入出力される要求信号の説明図である。バス使
用権調停部63は、要求信号CPUREQP、DMAREQ2P、DMARE
Q3PおよびDMAREQ4Pのうち少なくとも1つの要求信号が
アサートされたとき、要求信号BUSREQPをアサートす
る。
【0033】メモリコントローラ64は、バス使用権調
停部63の要求信号BUSREQPが入力されたとき、1回の
アクセス毎に、調停タイミング信号ARBTIMPをバス使用
権調停部63に出力するとともに、バス使用権を承諾す
る承諾信号BUSACKPをデコーダ65に出力する。具体的
には、メモリコントローラ64は、要求信号BUSREQPが
アサートされたとき、1回のアクセス毎に、調停タイミ
ング信号ARBTIMPをアサートし、次のクロックで、調停
タイミング信号ARBTIMPをネゲートするとともに、承諾
信号BUSACKPをアサートする。
【0034】バス使用権調停部63は、優先順位情報記
憶部62から出力された優先順位情報を入力する。バス
使用権調停部63は、メモリコントローラ64の調停タ
イミング信号ARBTIMPがアサートされたとき、入力され
た要求信号に対するバス使用権を、入力された優先順位
情報に基づいて調停する。
【0035】具体的には、バス使用権調停部63は、C
PU1の要求信号CPUREQP、DMAコントローラ2の要
求信号DMAREQ2P、DMAコントローラ3の要求信号DMAR
EQ3PおよびDMAコントローラ4の要求信号DMAREQ4Pの
状態(アサート状態またはネゲート状態)を検出する。
バス使用権調停部63は、検出された要求信号CPUREQ
P、DMAREQ2P、DMAREQ3PおよびDMAREQ4Pの状態に応じ
て、8ビットの優先順位情報P[7:0]内の優先順位
を比較し、バス使用権の調停結果であり、バス使用権を
承諾すべきバスマスタを選択するセレクト信号SELをデ
コーダ65、セレクタ66およびセレクタ67に出力す
る。
【0036】バス使用権調停部63は、バス使用権の調
停の結果、CPU1を選択するときには、セレクト信号
SELとして[00]を、DMAコントローラ2を選択す
るときには、セレクト信号SELとして[01]を、DM
Aコントローラ3を選択するときには、セレクト信号SE
Lとして[10]を、DMAコントローラ4を選択する
ときには、セレクト信号SELとして[11]を出力す
る。
【0037】図5はバス使用権調停部63のバス使用権
調停方法の説明図である。NO1〜NO33は、バス使
用権の調停結果を、要求信号CPUREQP、DMAREQ2P、DMARE
Q3PおよびDMAREQ4Pの状態、並びに、優先順位の比較結
果により場合分けしたものである。
【0038】NO1〜NO4は、それぞれ要求信号CPUR
EQP、DMAREQ2P、DMAREQ3PおよびDMAREQ4Pの中のいずれ
か1つのみがアサートされた場合の調停結果である。バ
ス使用権調停部63は、これらの場合には、それぞれ優
先順位情報とは無関係にCPU1、DMAコントローラ
2、DMAコントローラ3およびDMAコントローラ4
を選択し、それぞれセレクト信号SELとして[00]、
[01]、[10]および[11]を出力する。
【0039】NO5〜NO16は、要求信号CPUREQP、D
MAREQ2P、DMAREQ3PおよびDMAREQ4Pのうち、2つの要求
信号がアサートされた場合の調停結果である。NO17
〜NO28は、要求信号CPUREQP、DMAREQ2P、DMAREQ3P
およびDMAREQ4Pのうち、3つの要求信号がアサートされ
た場合の調停結果である。NO29〜NO32は、要求
信号CPUREQP、DMAREQ2P、DMAREQ3PおよびDMAREQ4Pの全
ての要求信号がアサートされた場合の調停結果である。
【0040】例えば、NO5およびNO6は、要求信号
CPUREQPおよびDMAREQ2Pがアサートされた場合の調停結
果である。バス使用権調停部63は、優先順位情報のP
[7:0]のうちCPU1に対応するP[7:6]の値
とDMAコントローラ2に対応するP[5:4]の値と
を比較する。バス使用権調停部63は、 P[7:6]≦P[5:4] のときには、NO5に示されるように、セレクト信号SE
Lとして[00]を出力し、 P[7:6]>P[5:4] のときには、NO6に示されるように、セレクト信号SE
Lとして[01]を出力する。
【0041】すなわち、バス使用権調停部63は、優先
順位情報のうち、要求信号がアサートされたバスマスタ
の優先順位を比較し、その比較結果に該当するNOのセ
レクト信号SELを出力する。バス使用権調停部63は、
NO33に示されるように、調停タイミング信号ARBTIM
Pがネゲートされたときには、セレクト信号SELの値をそ
のまま保持する。
【0042】なお、調停タイミング信号ARBTIMPのネゲ
ートタイミングに同期してセレクト信号SELの値を保持
する代わりに、承諾信号BUSACKPのアサートタイミング
に同期してセレクト信号SELの値を保持するようにバス
使用権調停部63を構成してもよい。また、出力すべき
セレクト信号SELの値を保持する代わりに、入力される
優先順位情報を保持するようにバス使用権調停部63を
構成してもよい。
【0043】図6はデコーダ65の説明図、図7はセレ
クタ66の説明図、図8はセレクタ67の説明図であ
る。デコーダ65は、バス使用権調停部63から出力さ
れたセレクト信号SELの値に応じて、承諾信号線21〜
24のうち何れか1つの承諾信号線を選択し、選択され
た承諾信号線を通してメモリコントローラ64から出力
された承諾信号BUSACKPを出力する。
【0044】図6に示すように、デコーダ65は、セレ
クト信号SELの値が[00]のとき、承諾信号線21を
選択し、承諾信号BUSACKPをCPU1の承諾信号CPUACKP
として出力する。デコーダ65は、セレクト信号SELの
値が[01]のとき、承諾信号線22を選択し、承諾信
号BUSACKPをDMAコントローラ2の承諾信号DMACK2Pと
して出力する。デコーダ65は、セレクト信号SELの値
が[10]のとき、承諾信号線23を選択し、承諾信号
BUSACKPをDMAコントローラ3の承諾信号DMACK3Pとし
て出力する。デコーダ65は、セレクト信号SELの値が
[11]のとき、承諾信号線24を選択し、承諾信号BU
SACKPをDMAコントローラ4の承諾信号DMACK4Pとして
出力する。
【0045】セレクタ66は、バス使用権調停部63か
ら出力されたセレクト信号SELの値に応じて、アドレス
バス31a、32a、33aおよび34aのうち何れか
1つのアドレスバスを選択し、選択されたアドレスバス
を通して入力されたアドレス信号をメモリコントローラ
64に出力する。
【0046】図7に示すように、セレクタ66は、セレ
クト信号SELの値が[00]のとき、アドレスバス31
aを選択し、CPU1から出力されたアドレス信号CPUA
DRPをメモリコントローラ64に出力する。セレクタ6
6は、セレクト信号SELの値が[01]のとき、アドレ
スバス32aを選択し、DMAコントローラ2から出力
されたアドレス信号DMADR2Pをメモリコントローラ64
に出力する。セレクタ66は、セレクト信号SELの値が
[10]のとき、アドレスバス33aを選択し、DMA
コントローラ3から出力されたアドレス信号DMADR3Pを
メモリコントローラ64に出力する。セレクタ66は、
セレクト信号SELの値が[10]のとき、アドレスバス
34aを選択し、DMAコントローラ4から出力された
アドレス信号DMADR4Pをメモリコントローラ64に出力
する。
【0047】セレクタ67は、バス使用権調停部63か
ら出力されたセレクト信号SELの値に応じて、データバ
ス31b、32b、33bおよび34bのうち何れか1
つのデータバスを選択し、選択されたデータバスを通し
て入力されたデータ信号をメモリコントローラ64に出
力する。
【0048】図8に示すように、セレクタ67は、セレ
クト信号SELの値が[00]のとき、データバス31b
を選択し、CPU1から出力されたデータ信号CPUWTDTP
をメモリコントローラ64に出力する。セレクタ67
は、セレクト信号SELの値が[01]のとき、データバ
ス32bを選択し、DMAコントローラ2から出力され
たデータ信号DMAWTDT2Pをメモリコントローラ64に出
力する。セレクタ67は、セレクト信号SELの値が[1
0]のとき、データバス33bを選択し、DMAコント
ローラ3から出力されたデータ信号DMAWTDT3Pをメモリ
コントローラ64に出力する。セレクタ67は、セレク
ト信号SELの値が[10]のとき、データバス34bを
選択し、DMAコントローラ4から出力されたデータ信
号DMADRP4をメモリコントローラ64に出力する。
【0049】メモリコントローラ64は、記憶装置6〜
8のうち、入力されたアドレス信号に該当する記憶装置
を選択し、選択された記憶装置にチップセレクト信号を
出力する。メモリコントローラ64は、記憶装置6を選
択するとき、チップセレクト信号CS0Nをアサートし、記
憶装置7を選択するとき、チップセレクト信号CS1Nをア
サートし、記憶装置8を選択するとき、チップセレクト
信号CS2Nをアサートする。
【0050】〈動作〉図9は具体例1のバス使用権調停
システムの動作を示すタイムチャートである。サイクル
2において、CPU1の要求信号CPUREQP、DMAコン
トローラ2の要求信号DMAREQ2P、DMAコントローラ3
の要求信号DMAREQ3PおよびDMAコントローラ4の要求
信号DMAREQ4Pが同時にアサートされる。バスコントロー
ラ5のバス使用権調停部63では、要求信号BUSREQPが
アサートされる。メモリコントローラ64では、要求信
号BUSREQPのアサートに応じて調停タイミング信号ARBTI
MPがアサートされる。バス使用権調停部63では、調停
タイミング信号ARBTIMPのアサートに応じてバス使用権
の調停が行われる。
【0051】このとき、カウンタ61のカウント値は1
のため、優先順位情報記憶部62により優先順位情報B
がバス使用権調停部63に出力される。バス使用権調停
部63では、要求信号CPUREQP、DMAREQ2P、DMAREQ3Pお
よびDMAREQ4Pがアサートされているので、優先順位情報
BのP[7:6]の値1、P[5:4]の値0、P
[3:2]の値3、P[1:0]の値2が比較される。
この結果、図5のNO30に該当するセレクト信号SEL
として[01]がデコーダ65、セレクタ66およびセ
レクタ67に出力される。
【0052】デコーダ65では、承諾信号線22が選択
される。セレクタ66では、アドレスバス32aが選択
され、DMAコントローラ2のアドレス信号DMADR2Pが
メモリコントローラ64に出力される。セレクタ67で
は、データバス32bが選択され、DMAコントローラ
2のデータ信号DMAWTDT2Pがメモリコントローラ64に
出力される。
【0053】サイクル3において、メモリコントローラ
64では、調停タイミング信号ARBTIMPがネゲートさ
れ、この結果、バス使用権調停部63では、セレクト信
号SELが[01]に保持される。同時に、メモリコント
ローラ64では、承諾信号BUSACKPがアサートされ、デ
コーダ65により選択されている承諾信号線22の承諾
信号DMACK2Pがアサートされる。この結果、DMAコン
トローラ2にバス使用権が承諾され、アクセスが開始さ
れた旨が通知される。
【0054】同時に、メモリコントローラ64では、入
力されたアドレス信号DMADR2Pおよびデータ信号DMAWTDT
2Pに基づいて記憶装置6〜8に対するアクセスが開始さ
れる。このとき、入力されたアドレス信号DMADR2Pに基
づいてチップセレクト信号CS0N〜CS2Nのうちの何れかの
信号がアサートされ、記憶装置が選択される。サイクル
4において、DMAコントローラ2では、入力された承
諾信号DMACK2Pに応じて要求信号DMAREQ2Pがネゲートさ
れる。
【0055】サイクル7において、メモリコントローラ
64では、DMAコントローラ2のアクセス動作が終了
すると、承諾信号BUSACKPがネゲートされ、デコーダ6
5により選択されている承諾信号線22の承諾信号DMAC
K2Pがネゲートされる。この結果、DMAコントローラ
2にアクセスが終了した旨が通知される。同時に、メモ
リコントローラ64では、要求信号CPUREQP、DMAREQ3P
およびDMAREQ4Pがアサートされているため、次のアクセ
スのための調停タイミング信号ARBTIMPがアサートされ
る。
【0056】このとき、カウンタ61のカウント値は2
のため、優先順位情報記憶部62により優先順位情報C
がバス使用権調停部63に出力される。バス使用権調停
部63では、CPUREQP、DMAREQ3PおよびDMAREQ4Pがアサ
ートされているので、優先順位情報CのうちP[7:
6]の値2、P[3:2]の値0およびP[1:0]の
値3が比較される。この結果、図5のNO24に該当す
るセレクト信号SELとして[10]がデコーダ65、セ
レクタ66およびセレクタ67に出力される。
【0057】デコーダ65では、承諾信号線23が選択
される。セレクタ66では、アドレスバス33aが選択
され、DMAコントローラ3のアドレス信号DMADR3Pが
メモリコントローラ64に出力される。セレクタ67で
は、データバス33bが選択され、DMAコントローラ
3のデータ信号DMAWTDT2Pがメモリコントローラ64に
出力される。
【0058】サイクル8において、メモリコントローラ
64では、調停タイミング信号ARBTIMPがネゲートさ
れ、この結果、バス使用権調停部63では、セレクト信
号SELが[10]に保持される。同時に、メモリコント
ローラ64では、承諾信号BUSACKPがアサートされ、デ
コーダ65により選択されている承諾信号線23の承諾
信号DMACK3Pがアサートされる。この結果、DMAコン
トローラ3にバス使用権が承諾され、アクセスが開始さ
れた旨が通知される。
【0059】同時に、メモリコントローラ64では、入
力されたアドレス信号DMADR3Pおよびデータ信号DMAWTDT
3Pに基づいて記憶装置6〜8に対するアクセスが開始さ
れる。このとき、入力されたアドレス信号DMADR3Pに基
づいてチップセレクト信号CS0N、CS1NおよびCS2Nのうち
何れかの信号がアサートされ、記憶装置が選択される。
サイクル9において、DMAコントローラ3では、入力
された承諾信号DMACK3Pに応じて要求信号DMAREQ3Pがネ
ゲートされる。
【0060】サイクル11において、メモリコントロー
ラ64では、DMAコントローラ3のアクセス動作が終
了すると、承諾信号BUSACKPがネゲートされ、デコーダ
65により選択されている承諾信号線23の承諾信号DM
ACK3Pがネゲートされる。この結果、DMAコントロー
ラ3にアクセスが終了した旨が通知される。同時に、メ
モリコントローラ64では、CPU1の要求信号CPUREQ
PおよびDMAコントローラ4の要求信号DMAREQ4Pがア
サートされているため、次のアクセスのための調停タイ
ミング信号ARBTIMPをアサートする。
【0061】以降、同様に、CPU1の要求信号CPUREQ
P、DMAコントローラ2の要求信号DMAREQ2P、DMA
コントローラ3の要求信号DMAREQ3PおよびDMAコント
ローラ4の要求信号DMAREQ4Pのうち少なくとも1つの要
求信号がアサートされると、バス使用権調停部63によ
り要求信号BUSREQPがメモリコントローラ64に出力さ
れる。メモリコントローラ64では、調停タイミング信
号ARBTIMPがバス使用権調停部63に出力され、承諾信
号BUSACKPがデコーダ65に出力される。
【0062】一方、優先順位情報記憶部62では、カウ
ンタ61のカウント値に対応する1組の優先順位情報が
バス使用権調停部63に出力される。バス使用権調停部
63では、調停タイミング信号ARBTIMPのアサートタイ
ミングに同期して出力された優先順位情報のうちアサー
トされている要求信号に対応する優先順位が比較され、
この比較結果に基づいてセレクト信号SELが出力され
る。デコーダ65、セレクタ66およびセレクタ67で
は、それぞれバス使用権を承諾すべきバスマスタの承諾
信号線、アドレスバスおよびデータバスが選択され、選
択されたバスマスタのアクセスが開始される。
【0063】〈効果〉以上のように、具体例1によれ
ば、システムクロック信号CLKに同期してカウント値
を繰り返し更新するカウンタ61と、CPU1、DMA
コントローラ2、DMAコントローラ3およびDMAコ
ントローラ4間の優先順位を入れ換えるための4組の優
先順位情報を、カウンタ61の各カウント値のそれぞれ
に対応させて記憶し、これら4組の優先順位情報の中か
らバス使用権の調停に使用する1組の優先順位情報をク
ロック毎に切り換えて選択する優先順位情報記憶部62
とを設ける。そして、バス使用権調停部63により、優
先順位情報記憶部62により切り換えられて選択された
1組の優先順位情報に基づいてCPU1、DMAコント
ローラ2、DMAコントローラ3およびDMAコントロ
ーラ4のそれぞれの要求信号に基づくバス使用権を調停
する。
【0064】このため、複数のバスマスタ間の優先順位
を所定の時間毎に入れ換えることができるので、特定の
バスマスタにバスが占有されすぎるのを防止することが
できる。したがって、バス使用権の公平性を容易に実現
することができる。
【0065】また、優先順位情報A、B、CおよびD
を、カウンタ61のカウント値が切り換えられる毎に、
最も優先順位が低かったバスマスタの優先順位を最も高
くし、他のバスマスタの優先順位を順繰りに1つずつ低
くするように設定している。すなわち、優先順位情報
A、B、CおよびDを、CPU1、DMAコントローラ
2、DMAコントローラ3およびDMAコントローラ4
の優先順位が確率的に同等となるように設定している。
したがって、各バスマスタは、それぞれの要求信号の発
生頻度が等しければ、同じ確率で優先的にバス使用権を
取得することができる。言い換えれば、各バスマスタ
は、それぞれの要求信号の発生確率に応じて優先的にバ
ス使用権を取得することができる。
【0066】前述のように、優先順位情報の組数は、任
意であり、その内容も任意である。したがって、各バス
マスタがバス使用権を優先的に取得する確率を好適に設
定することができる。
【0067】《具体例2》 〈構成〉本発明に係る具体例2のバス使用権調停システ
ムは、図1に示された具体例1のバス使用権調停システ
ムのバスコントローラ5を、図10に示されるバスコン
トローラ100に置き換えたものである。
【0068】図10はバスコントローラ100の構成を
示すブロック図である。図10に示すように、カウンタ
61には、システムクロック信号CLKが入力されると
ともに、メモリコントローラ64の調停タイミング信号
ARBTIMPが入力される。カウンタ61は、入力された調
停タイミング信号ARBTIMPの立ち下がりに同期してカウ
ント値を更新する。
【0069】すなわち、具体例2のバスコントローラ1
05は、調停タイミング信号ARBTIMPに同期して、バス
使用権の調停が行われる毎に、カウンタ61のカウント
値を切り換えるようにしたものである。なお、他の部分
は、具体例1のバスコントローラ5の各部と同様の構成
であり、同一符号を付し、その説明を省略する。
【0070】〈動作〉図11は具体例2のバス使用権調
停システムの動作を示すタイムチャートである。サイク
ル2において、CPU1の要求信号CPUREQP、DMAコ
ントローラ2の要求信号DMAREQ2P、DMAコントローラ
3の要求信号DMAREQ3PおよびDMAコントローラ4の要
求信号DMAREQ4Pが同時にアサートされる。バス使用権調
停部63では、要求信号BUSREQPがアサートされ、これ
に応じて、メモリコントローラ64では、調停タイミン
グ信号ARBTIMPがアサートされる。バス使用権調停部6
3では、調停タイミング信号ARBTIMPがアサートされる
と、バス使用権の調停が行われる。
【0071】このとき、カウンタ61のカウント値は0
のため、優先順位情報記憶部62により優先順位情報A
がバス使用権調停部63に出力される。バス使用権調停
部63では、要求信号CPUREQP、DMAREQ2P、DMAREQ3Pお
よびDMAREQ4Pがアサートされているので、優先順位情報
BのP[7:6]の値0、P[5:4]の値3、P
[3:2]の値2、P[1:0]の値1が比較される。
この結果、図5のNO29に該当するセレクト信号SEL
として[00]がデコーダ65、セレクタ66およびセ
レクタ67に出力される。
【0072】デコーダ65では、承諾信号線21が選択
される。セレクタ66では、アドレスバス31aが選択
され、アドレス信号CPUADRPがメモリコントローラ64
に出力される。セレクタ67では、データバス31bが
選択され、データ信号CPUWTDTPがメモリコントローラ6
4に出力される。
【0073】サイクル3において、メモリコントローラ
64では、調停タイミング信号ARBTIMPがネゲートさ
れ、この結果、カウンタ61では、カウント値が1に切
り換えられ、バス使用権調停部63では、セレクト信号
SELが[00]に保持される。同時に、メモリコントロ
ーラ64では、承諾信号BUSACKPがアサートされ、承諾
信号CPUACKPがアサートされる。この結果、CPU1に
バス使用権が承諾され、アクセスが開始された旨が通知
される。同時に、メモリコントローラ64では、入力さ
れたアドレス信号CPUADRPおよびデータ信号CPUWTDTPに
基づいて記憶装置6〜8に対するアクセスが開始され
る。
【0074】サイクル7において、メモリコントローラ
64では、CPU1のアクセス動作が終了すると、承諾
信号BUSACKPがネゲートされ、承諾信号CPUACKPがネゲー
トされる。この結果、CPU1にアクセスが終了した旨
が通知される。同時に、メモリコントローラ64では、
要求信号DMAREQ2P、DMAREQ3PおよびDMAREQ4Pがアサート
されているため、次のアクセスのための調停タイミング
信号ARBTIMPをアサートする。
【0075】このとき、カウンタ61のカウント値は1
のため、優先順位情報記憶部62により優先順位情報B
がバス使用権調停部63に出力される。バス使用権調停
部63では、要求信号DMAREQ2P、DMAREQ3PおよびDMAREQ
4Pがアサートされているので、優先順位情報BのうちP
[5:4]の値0、P[3:2]の値3およびP[1:
0]の値2が比較される。この結果、図5のNO26に
該当するセレクト信号SELとして[01]がデコーダ6
5、セレクタ66およびセレクタ67に出力される。
【0076】デコーダ65では、承諾信号線21が選択
される。セレクタ66では、アドレスバス32aが選択
され、アドレス信号DMADR2Pがメモリコントローラ64
に出力される。セレクタ67では、データバス32bが
選択され、データ信号DMAWTDT2Pがメモリコントローラ
64に出力される。
【0077】サイクル8において、メモリコントローラ
64では、調停タイミング信号ARBTIMPがネゲートさ
れ、この結果、カウンタ61では、カウント値が2に切
り換えられ、バス使用権調停部63では、セレクト信号
SELが[00]に保持される。同時に、メモリコントロ
ーラ64では、承諾信号BUSACKPがアサートされ、デコ
ーダ65により選択されている承諾信号DMACK2Pがアサ
ートされる。この結果、DMAコントローラ2にバス使
用権が承諾され、アクセスが開始された旨が通知され
る。同時に、メモリコントローラ64では、入力された
アドレス信号DMADR2Pおよびデータ信号DMAWTDT2Pに基づ
いて記憶装置6〜8に対するアクセスが開始される。
【0078】サイクル11において、メモリコントロー
ラ64では、DMAコントローラ2のアクセス動作が終
了すると、承諾信号BUSACKPがネゲートされ、デコーダ
65により選択されている承諾信号DMACK2Pがネゲート
される。この結果、DMAコントローラ2にアクセスが
終了した旨が通知される。同時に、メモリコントローラ
64では、要求信号DMAREQ3PおよびDMAREQ4Pがアサート
されているため、次のアクセスのための調停タイミング
信号ARBTIMPをアサートする。
【0079】以降、同様に、要求信号CPUREQP、DMAREQ2
P、DMAREQ3PおよびDMAREQ4Pのうち少なくとも1つの要
求信号がアサートされると、バス使用権調停部63によ
り要求信号BUSREQPがメモリコントローラ64に出力さ
れる。メモリコントローラ64では、調停タイミング信
号ARBTIMPがバス使用権調停部63に出力され、承諾信
号BUSACKPがデコーダ65に出力される。
【0080】一方、優先順位情報記憶部62では、カウ
ンタ61のカウント値に対応する1組の優先順位情報が
バス使用権調停部63に出力され、バス使用権調停部6
3では、入力された優先順位情報に基づいてバス使用権
の調停が行われ、バス使用権が承諾されたバスマスタの
アクセスが開始される。カウンタ61では、調停タイミ
ング信号ARBTIMPがネゲートされると、カウント値が更
新される。
【0081】〈効果〉以上のように、具体例2によれ
ば、調停タイミング信号ARBTIMPに同期して、バス使用
権の調停が行われる毎に、カウンタ61のカウント値を
切り換える。したがって、優先順位情報記憶部62に記
憶された複数組の優先順位情報の中からバス使用権の調
停に使用する1組の優先順位情報を順番に切り換えて選
択することができるので、各バスマスタがバス使用権を
優先的に取得する確率を容易に設定することができる。
【0082】《具体例3》 〈構成〉本発明に係る具体例3のバス使用権調停システ
ムは、図10に示された具体例2のバス使用権調停シス
テムのバスコントローラ100を、図12に示されるバ
スコントローラ101に置き換えたものである。図12
はバスコントローラ101の構成を示すブロック図であ
る。図12に示すように、バスコントローラ101は、
図10に示されたバスコントローラ100に優先順位情
報書換部70を加えたものである。なお、バスコントロ
ーラ100の各部と同様の構成には、同一符号を付し、
その説明を省略する。
【0083】優先順位情報書換部70は、優先順位情報
記憶部71、組合せ情報記憶部72および組合せ情報選
択部73を備える。優先順位情報記憶部71は、優先順
位情報記憶部62に記憶される複数組の優先順位情報を
記憶するものであり、例えば、優先順位情報A、B、
C、D、E、F、GおよびHの8組の優先順位情報を記
憶する。組合せ情報記憶部72は、優先順位情報記憶部
71に記憶された8組の優先順位情報の中から、優先順
位情報記憶部62に記憶される4組の優先順位情報を、
それぞれ異なる組合せにより取り出すための複数の組合
せ情報を記憶する。
【0084】図13は組合せ情報記憶部72の組合せ情
報の説明図である。図13に示すように、組合せ情報記
憶部72は、組合せ0〜4の5つの組合せ情報を記憶す
る。組合せ情報は、4組の優先順位情報が記憶されてい
る優先順位情報記憶部71のアドレスを、カウンタ61
のカウント値0〜3に対応させて割り当てたものであ
る。組合せ0には、カウント値0〜3のそれぞれに優先
順位情報Aが割り当てられている。この場合、優先順位
情報は1組であるので、優先順位は固定されることにな
る。
【0085】組合せ1には、カウント値0〜3のそれぞ
れに優先順位情報A、B、CおよびDが割り当てられて
いる。組合せ2には、カウント値0〜3のそれぞれに優
先順位情報A、B、AおよびBが割り当てられている。
組合せ3には、カウント値0〜3のそれぞれに優先順位
情報E、F、GおよびHが割り当てられている。組合せ
3には、カウント値0〜3のそれぞれに優先順位情報
E、F、EおよびFが割り当てられている。このよう
に、組合せは、同じ1組の優先順位情報を重複して組み
合わせてもよく、それぞれ異なる4組の優先順位情報を
組み合わせてもよい。また、組合せ情報の数は、少なく
とも2つあればよく、任意である。
【0086】組合せ情報選択部73には、組合せ情報記
憶部72に記憶された組合せ0〜4の組合せ情報のうち
何れか1つの組合せ情報を選択するためのセレクト信号
が入力される。組合せ情報選択部73は、入力されたセ
レクト信号に該当する組合せ情報を組合せ情報記憶部7
2から読み出し、4組の優先順位情報のアドレスを特定
して優先順位情報記憶部71から読み出し、優先順位情
報記憶部62に記憶する。
【0087】〈動作〉組合せ情報選択部73では、セレ
クト信号が入力されると、該当する組合せ情報が組合せ
情報記憶部72から読み出され、4組の優先順位情報が
特定される。そして、組合せ情報選択部73では、特定
された4組の優先順位情報が優先順位情報記憶部71か
ら読み出され、優先順位情報記憶部62に記憶される。
優先順位情報記憶部62に記憶される4組の優先順位情
報は、組合せ情報選択部73に入力されるセレクト信号
が変化する毎に、随時、書き換えられる。
【0088】〈効果〉以上のように、具体例3によれ
ば、組合せ情報選択部73により、入力されたセレクト
信号に対応する1つの組合せ情報を、組合せ情報記憶部
72に記憶された複数の組合せ情報の中から選択し、選
択された組合せ情報により特定された4組の優先順位情
報を優先順位情報記憶部71から読み出し、優先順位情
報記憶部62に記憶する。したがって、システムで取り
扱うデータの性質や動作モード等に応じて、最適な組合
せの優先順位情報を選択することができる。
【0089】なお、優先順位情報記憶部71および組合
せ情報記憶部72の代わりに、各組合せに対し、それぞ
れ4組の優先順位情報を記憶しておき、セレクト信号に
該当する4組の優先順位情報を直接、読み出すように構
成してもよい。また、具体例3では、具体例2のバスコ
ントローラ100に優先順位情報書換部70を加え、バ
スコントローラ101を構成しているが、具体例1のバ
スコントローラ5に優先順位情報書換部70を加えて
も、同様の効果が得られる。
【0090】《具体例4》 〈構成〉図14は本発明に係る具体例4のバス使用権調
停システムの構成を示す図である。また、図15はバス
使用権の優先順位の説明図である。図14に示すよう
に、このバス使用権調停システムは、図1に示された具
体例1のバス使用権調停システムのバスコントローラ5
をバスコントローラ102に置き換え、さらに、DMA
コントローラ2の要求信号DMAREQ2Pを一時的にマスクす
る要求信号マスク部82、DMAコントローラ3の要求
信号DMAREQ3Pを一時的にマスクする要求信号マスク部8
3およびDMAコントローラ4の要求信号DMAREQ4Pを一
時的にマスクする要求信号マスク部84を設けたもので
ある。
【0091】図15に示すように、CPU1、DMAコ
ントローラ2、DMAコントローラ3およびDMAコン
トローラ4には、それぞれバス使用権の優先順位4、
1、2および3が割り当てられている。バスコントロー
ラ102は、これらの優先順位に従って、これらのバス
マスタ間のバス使用権を調停する。
【0092】要求信号マスク部82、83および84
は、同様の構成であるので、要求信号マスク部82につ
いて説明する。要求信号マスク部82は、DMAコント
ローラ2の要求信号DMAREQ2Pに応じてバスコントローラ
5により承諾信号DMACK2Pが出力されたとき、DMAコ
ントローラ2の要求信号DMAREQ2Pを一定時間マスクす
る。ここで、マスクするとは、DMAコントローラ2の
要求信号DMAREQ2Pがバスコントローラ5に認識されない
ようにすることを意味し、例えば、DMAコントローラ
2の要求信号DMAREQ2Pがバスコントローラ102に入力
されるのを遮断する、あるいは、DMAコントローラ2
の要求信号DMAREQ2Pを無効にすることを意味する。
【0093】図16は要求信号マスク部82の入出力端
を示す図である。図16に示すように、要求信号マスク
部82は、入力端CLK、REQP、ACKP、WTDT1PおよびWR1
P、並びに、出力端MREQPを有する。入力端CLKには、シ
ステムクロック信号CLKが入力される。入力端REQPに
は、DMAコントローラ2の要求信号DMAREQ2Pが入力さ
れ、入力端ACKPには、バスコントローラ102の承諾信
号DMACK2Pが入力される。入力端WTDT1Pには、要求信号D
MAREQ2Pをマスクする時間を設定するためのライトデー
タWD1が入力される。入力端WR1Pには、ライトストロー
ブ信号WST1が入力される。出力端MREQPからは、要求信
号DMAREQ2Pが出力される。ライトデータWD1およびライ
トストローブ信号WST1は、図示しない制御部から出力さ
れる。
【0094】図17は要求信号マスク部82の構成を示
すブロック図である。図17に示すように、入力端CLK
は、Dフリップフロップ111、J−Kフリップフロッ
プ115およびカウンタ117に接続されている。入力
端REQPは、AND回路123の一方の入力端に接続され
ている。出力端MREQPは、AND回路123の出力端に
接続されている。AND回路123のもう一方の入力端
には、NAND回路116の出力端が接続されている。
【0095】AND回路123は、一方の入力端を通し
てDMAコントローラ2の要求信号DMAREQ2Pを入力し、
もう一方の端子を通してNAND回路116から出力さ
れるMASK信号を入力し、入力された要求信号DMAREQ2Pと
MASK信号との論理積を求める。すなわち、AND回路1
23は、MASK信号が「1」のとき、要求信号DMAREQ2Pを
出力端を通して出力し、MASK信号が「0」のとき、要求
信号DMAREQ2Pをマスクする。
【0096】入力端ACKPは、Dフリップフロップ111
の入力端D、AND回路112の一方の入力端および反
転回路113の入力端に接続されている。反転回路11
3は、入力端を通して入力された承諾信号DMACK2Pを反
転し、ACKINV信号として出力端を通してAND回路11
4に出力する。Dフリップフロップ111は、入力端D
を通して入力された承諾信号DMACK2Pを1クロック分遅
延させて反転し、DOUT信号として出力端QNを通してA
ND回路112に出力する。
【0097】AND回路112は、一方の入力端を通し
て入力された承諾信号DMACK2Pともう一方の入力端を通
して入力されたDOUT信号との論理積を求め、DIF信号と
して出力端を通してJ−Kフリップフロップ115に出
力する。J−Kフリップフロップ115は、入力端Jを
通してAND回路112のDIF信号を入力し、入力端K
を通して後述するALL0検出回路121のAZ1信号を入力
し、出力端Qを通してJKOUT信号をAND回路114お
よびNAND回路116に出力する。AND回路114
は、一方の入力端を通して入力されたACKINV信号と、も
う一方の入力端を通して入力されたJKOUT信号との論理
積を求め、COEN信号として出力端を通してカウンタ11
7に出力する。
【0098】入力端WTDT1Pは、ラッチ回路118の入力
端Dに接続されている。入力端WR1Pは、ラッチ回路11
8の入力端ENおよび反転回路119の入力端に接続さ
れている。ラッチ回路118は、入力されるライトスト
ローブ信号WST1が「0」にアサートされたとき、ライト
データWD1をラッチし、カウンタ117に出力する。
【0099】反転回路119は、入力端を通して入力さ
れたライトストローブ信号WST1を反転し、反転されたWS
TINV1信号をOR回路120に出力する。OR回路12
0は、一方の入力端を通して反転回路119のWSTINV1
信号を入力し、もう一方の入力端を通して後述するALL0
検出回路121のAZ1信号を入力する。OR回路120
は、入力されたWSTINV1信号とAZ1信号との論理和を求
め、LOAD1信号として出力端を通してカウンタ117に
出力する。
【0100】カウンタ117は、入力端Dを通してラッ
チ回路118にラッチされたライトデータWD1を入力
し、入力端LDPを通してOR回路120のLOAD1信号を入
力し、入力端ENを通してAND回路114のCOEN信号を
入力する。カウンタ117は、入力されるLOAD1信号が
「1」にアサートされたとき、ラッチ回路118にラッ
チされたライトデータWD1をロードし、カウント値C1
としてセットする。カウンタ117は、入力されるCOEN
信号が「1」にアサート状態のとき、次のクロックに同
期してカウント値C1を「1」ディクリメントする。カ
ウンタ117は、カウント値C1をALL0検出回路121
に出力する。カウンタ117は、LOAD1信号およびCOEN
信号が同時にアサートされたときには、LOAD1信号に従
う。
【0101】ALL0検出回路121は、入力されたカウン
ト値C1が「0」でないときには「0」を表し、入力さ
れたカウント値C1が「0」のときには「1」を表すAZ
1信号をJ−Kフリップフロップ115、反転回路12
2およびOR回路120に出力する。反転回路122
は、入力されたAZ1信号を反転し、AZINV1信号としてN
AND回路116に出力する。
【0102】NAND回路116は、一方の入力端を通
して入力されたJKOUT信号と、もう一方の入力端を通し
て入力されたAZINV1信号との否定積を求め、MASK信号と
してAND回路123に出力する。MASK信号が「0」と
なり、AND回路123により要求信号DMAREQ2Pがマス
クされるのは、反転回路122のAZINV1信号が「1」、
すなわちALL0検出回路121のAZ1信号が「0」であ
り、かつ、J−Kフリップフロップ115のJKOUT信号
が「1」となったときである。
【0103】〈動作〉図18は具体例4のバス使用権調
停システムの動作を示すタイムチャートである。図18
において、REQPは、要求信号マスク部82に入力される
DMAコントローラ2の要求信号DMAREQ2Pを表し、MREQ
Pは、要求信号マスク部82から出力される要求信号DMA
REQ2Pを表す。
【0104】初期状態では、DMAコントローラ2の要
求信号DMAREQ2Pは「0」にネゲートされており、バスコ
ントローラ102の承諾信号DMACK2Pも「0」にネゲー
トされている。要求信号マスク部82では、AND回路
112からDIF信号「0」が出力され、J−Kフリップ
フロップ115からJKOUT信号「0」が出力される。こ
の結果、NAND回路116からMASK信号「1」が出力
される。AND回路123では、入力端REQPを通して入
力された要求信号DMACKP2がそのまま出力端MREQPを通し
て出力される。
【0105】サイクル1において、図示しない制御部に
より値「5」のライトデータWD1が出力される。要求信
号マスク部82では、ライトデータWD1「5」が入力端W
TDT1Pを通して入力される。同時に、図示しない制御部
によりライトストローブ信号WST1が「0」にアサートさ
れる。要求信号マスク部82では、ライトストローブ信
号WST1「0」が入力端WR1Nを通して入力される。
【0106】ラッチ回路118では、ライトストローブ
信号WST1「0」が入力されると、入力端Dのライトデー
タWD1「5」がラッチされて出力される。反転回路11
9では、ライトストローブ信号WST1「0」が入力されて
反転され、WSTINV1信号「1」が出力される。OR回路
120では、LOAD1信号「1」が出力される。
【0107】サイクル2において、カウンタ117で
は、サイクル1でLOAD1信号「1」が入力されたので、
ラッチ回路118にラッチされたライトデータWD1
「5」がロードされ、カウント値C1「5」がセットさ
れる。この結果、ALL0検出回路121では、AZ1信号
「0」が出力される。J−Kフリップフロップ115で
は、入力端Jを通してDIF信号「0」が入力され、入力
端Kを通してAZ1信号「0」が入力されるので、JKOUT信
号「0」が出力される。
【0108】同時に、DMAコントローラ2により要求
信号DMAREQ2Pがアサートされる。要求信号マスク部82
では、AND回路123にMASK信号「1」が入力される
ので、入力端REQPを通して入力された要求信号DMAREQ2P
がそのまま出力端MREQPを通して出力される。同時に、
図示しない制御部によりライトストローブ信号WST1が
「1」にネゲートされる。反転回路119では、ライト
ストローブ信号WST1「1」が入力されて反転され、WSTI
NV1信号「0」が出力される。OR回路120では、WST
INV1信号「0」と、AZ1信号「0」とが入力されるの
で、LOAD1信号「0」が出力される。
【0109】サイクル3において、バスコントローラ1
02により承諾信号DMACK2Pが「1」にアサートされ
る。DMAコントローラ2では、この承諾信号DMACK2P
「1」が入力され、アクセスの開始が認識される。要求
信号マスク部82では、承諾信号DMACK2P「1」が入力
端REQPを通して入力される。
【0110】反転回路113では、承諾信号DMACK2P
「1」が入力されるので、ACKINV1信号「0」が出力さ
れる。AND回路114では、COEN信号「0」が出力さ
れる。カウンタ117では、カウント値C1が「5」が
出力され、ALL0検出回路121では、AZ1信号「0」が
出力される。反転回路122では、AZINV1信号「1」が
出力される。同時に、Dフリップフロップ111では、
サイクル2における承諾信号DMACK2P「0」が1クロッ
ク遅延されて反転されるので、DOUT信号「1」が引き続
き出力される。AND回路112では、承諾信号DMACK2
P「1」とDOUT信号が「1」とが入力されるので、DIF信
号「1」が出力される。
【0111】サイクル4において、J−Kフリップフロ
ップ115では、サイクル3で、入力端Jを通してDIF
信号「1」が入力され、入力端Kを通してAZ1信号
「0」が入力されたので、JKOUT信号「1」が出力され
る。NAND回路116では、JKOUT信号「1」とAZINV
1信号「1」とが入力されるので、MASK信号「0」が出
力される。この結果、AND回路123により要求信号
DMAREQ2Pがマスクされる。なお、AND回路114で
は、ACKINV信号「0」が入力され、JKOUT信号「1」が
入力されるので、COEN信号「0」が出力される。
【0112】同時に、Dフリップフロップ111では、
サイクル3で入力された承諾信号DMACK2P「1」が1ク
ロック遅延されて反転され、DOUT信号「0」が出力され
る。AND回路112では、承諾信号DMACK2P「1」とD
OUT信号が「0」とが入力されるので、DIF信号「0」が
出力される。
【0113】サイクル6において、DMAコントローラ
2のアクセスが終了し、バスコントローラ102の承諾
信号DMACK2Pが「0」にネゲートされる。DMAコント
ローラ2では、次のアクセスのための要求信号DMAREQ2P
「1」が引き続き出力される。要求信号マスク部82で
は、承諾信号DMACK2P「0」が入力端REQPを通して入力
される。
【0114】反転回路113では、承諾信号DMACK2P
「0」が入力されるので、ACKINV信号「1」が出力され
る。AND回路114では、ACKINV信号「1」と、JKOU
T信号「1」とが入力されるので、COEN信号「1」が出
力される。カウンタ117では、COEN信号「1」が入力
され、カウント値C1を「1」ディクリメントする旨が
認識される。カウンタ117では、カウント値C1
「5」が出力される。ALL0検出回路121では、AZ1信
号「0」が出力される。反転回路122では、AZINV1信
号「1」が出力される。
【0115】同時に、Dフリップフロップ111では、
承諾信号DMACK2P「0」が1クロック遅延されて反転さ
れるので、DOUT信号「0」が引き続き出力される。AN
D回路112では、承諾信号DMACK2P「0」とDOUT信号
が「0」とが入力されるので、DIF信号「0」が出力さ
れる。J−Kフリップフロップ115では、入力端Jを
通してDIF信号「0」が入力され、入力端Kを通してAZ1
信号「0」が入力されるので、継続してJKOUT信号
「1」が出力される。NAND回路116では、JKOUT
信号「1」が入力され、AZINV1信号「1」が入力される
ので、MASK信号「0」が出力される。この結果、AND
回路123による要求信号DMAREQ2Pのマスクが継続され
る。
【0116】サイクル7〜10において、AND回路1
14では、COEN信号「1」が出力される。カウンタ11
7では、カウント値C1がそれぞれのクロックに同期し
て「1」ずつディクリメントされる。
【0117】サイクル11において、カウンタ117で
は、カウント値COが「0」にディクリメントされ、AL
L0検出回路121では、AZ1信号「1」が出力される。
反転回路122では、AZINV1信号「0」が出力される。
NAND回路116では、MASK信号「1」が出力され
る。この結果、AND回路123では、要求信号DMAREQ
2Pのマスクが解除される。要求信号DMAREQ2Pは、出力端
MREQPを通してそのまま出力される。J−Kフリップフ
ロップ115では、入力端Jを通してDIF信号「0」が
入力され、入力端Kを通してAZ1信号「1」が入力され
る。OR回路120では、WSTINV1信号「0」と、AZ1信
号「1」とが入力されるので、LOAD1信号「1」が出力
される。
【0118】サイクル12において、カウンタ117で
は、サイクル11でLOAD1信号「1」が入力されたの
で、ラッチ回路118によりラッチされているライトデ
ータWD1「5」が再びロードされ、カウント値C1
「5」がセットされる。この結果、ALL0検出回路121
では、AZ1信号「0」が出力される。反転回路122で
は、AZINV1信号「1」が出力される。
【0119】同時に、J−Kフリップフロップ115で
は、サイクル11で、入力端Jを通してDIF信号「0」
が入力され、入力端Kを通してAZ1信号「1」が入力さ
れたので、JKOUT信号「0」が出力される。AND回路
114では、ACKINV信号「1」とJKOUT信号「0」とが
入力されるので、COEN信号「0」が出力される。NAN
D回路116では、JKOUT信号「0」とAZINV1信号
「1」とが入力されるので、MASK信号「1」が出力され
る。この結果、AND回路123では、入力端REQPを通
して入力された要求信号DMAREQ2Pが継続して出力端MREQ
Pを通して出力される。
【0120】このように、カウンタ117では、カウン
ト値C1が「5」にセットされる。バスコントローラ1
02の承諾信号DMACK2Pが入力されると、DMAコント
ローラ2の次のアクセスのための要求信号DMAREQ2Pがマ
スクされる。DMAコントローラ2のアクセスが終了
し、承諾信号DMACK2Pがネゲートされると、カウンタ1
17のカウント値C1がクロック信号に同期して「1」
ずつディクリメントされる。カウント値C1が「0」に
ディクリメントされると、次のアクセスのための要求信
号DMAREQ2Pのマスクが解除される。カウンタ117のカ
ウント値C1が再び「5」にセットされる。
【0121】〈効果〉以上のように、具体例4によれ
ば、DMAコントローラ2、3および4のそれぞれに対
応して、要求信号マスク部82、83および84を設け
る。要求信号マスク部82、83および84は、バスコ
ントローラ102のそれぞれの承諾信号が入力されたと
き、それぞれDMAコントローラ2、3および4の要求
信号を一定時間マスクする。
【0122】このため、優先順位が高い特定のバスマス
タにバス使用権が連続して承諾されるのを防止し、その
バスマスタにバスが占有されすぎるのを防止することが
できる。したがって、バス使用権の公平性を容易に実現
することができる。
【0123】また、図示しない制御部から出力されたカ
ウント値C1をカウンタ117にロードして、要求信号
をマスクする時間を設定するように要求信号マスク部8
2、83および84を構成している。したがって、要求
信号マスク部82、83および84のそれぞれに最適な
マスク時間を設定することができる。また、同一の要求
信号マスク部でも、システム内の各部の負荷状況等に応
じて任意のタイミングで最適なマスク時間を設定するこ
とができる。
【0124】なお、具体例4では、DMAコントローラ
2、3および4のそれぞれに対応して、要求信号マスク
部82、83および84を設けるように構成している
が、要求信号マスク部82は、例えば、全てのバスマス
タのそれぞれに対応して設けてもよく、1つのバスマス
タにのみ対応して設けてもよい。要求信号マスク部82
が設けられるバスマスタの優先順位が高いほど、他のバ
スマスタにバス使用権が承諾される機会が増加し、バス
使用権の公平性を容易に実現することができる。また、
具体例1〜3のバス使用権調停システムにも、要求信号
マスク部を適用することができるのはいうまでもない。
【0125】《具体例5》 〈構成〉図19は具体例5のバス使用権調停システムの
要求信号マスク部85の入出力端を示す図であり、図2
0は要求信号マスク部85の構成を示すブロック図であ
る。具体例5のバス使用権調停システムは、図14に示
された具体例4のバス使用権調停システムの要求信号マ
スク部82、83および84を、それぞれ要求信号マス
ク部85に置き換えたものである。要求信号マスク部8
5は、承諾信号が入力された回数をカウントし、カウン
トされた回数が所定値に達したとき、要求信号をマスク
する。言い換えれば、要求信号マスク部85は、承諾信
号が所定の回数入力される毎に要求信号を一定時間マス
クする。
【0126】図19に示すように、要求信号マスク部8
5には、図16に示された要求信号マスク部82の入出
力端に加え、入力端WTDT2PおよびWR2Pが設けられてい
る。入力端WTDT2Pには、承諾信号DMACK2Pが入力された
回数をカウントするためのライトデータWD2が入力され
る。入力端WR2Pには、ライトストローブ信号WST2が入力
される。ライトデータWD2およびライトストローブ信号W
ST2は、図示しない制御部から出力される。
【0127】図20に示すように、要求信号マスク部8
5は、図17に示された要求信号マスク部82に、承諾
信号が入力された回数をカウントするための回路130
を加えたものである。なお、要求信号マスク部82の各
部と同様の構成には、同一符号を付し、その説明を省略
する。
【0128】AND回路112の出力端は、AND回路
131の一方の入力端に接続されている。AND回路1
31は、一方の入力端を通してAND回路112のDIF
信号を入力し、もう一方の入力端を通して後述するALL0
検出回路134のAZ2信号を入力する。AND回路13
1は、入力されたDIF信号とAZ2信号との論理積を求め、
INTV信号としてJ−Kフリップフロップ115およびO
R回路136に出力する。J−Kフリップフロップ11
5は、入力端Jを通してINTV信号を入力する。
【0129】入力端CLKは、カウンタ133にも接続さ
れている。入力端WTDT2Pは、ラッチ回路132の入力端
Dに接続されている。入力端WR2Pは、ラッチ回路132
の入力端ENおよび反転回路135の入力端に接続され
ている。ラッチ回路132は、入力端ENを通してライ
トストローブ信号WST2を入力し、入力端Dを通してライ
トデータWD2を入力する。ラッチ回路132は、入力さ
れるライトストローブ信号WST2が「0」にアサートされ
たとき、ライトデータWD2をラッチし、カウンタ133
に出力する。
【0130】反転回路135は、入力端を通して入力さ
れたライトストローブ信号WST2を反転し、WSTINV2信号
としてOR回路136に出力する。OR回路136は、
一方の入力端を通して反転回路135のWSTINV2信号を
入力し、もう一方の入力端を通してAND回路131の
INTV信号を入力する。OR回路136は、入力されたWS
TINV2信号とINTV信号との論理和を求め、LOAD2信号とし
てカウンタ133に出力する。
【0131】カウンタ133は、入力端Dを通してラッ
チ回路132にラッチされたライトデータWD2を入力
し、入力端LDPを通してOR回路120のLOAD2信号を入
力し、入力端ENを通してAND回路112のDIF信号を
入力する。カウンタ133は、入力されるLOAD2信号が
「1」にアサートされたとき、ラッチ回路118にラッ
チされたライトデータWD2をロードし、カウント値C2
としてセットする。カウンタ133は、入力端ENを通し
て入力されるDIF信号が「1」にアサート状態のとき、
次のクロックに同期してカウント値C2を「1」ディク
リメントする。カウンタ133は、カウント値C2をAL
L0検出回路134に出力する。カウンタ133は、LOAD
2信号およびDIF信号が同時にアサートされたときには、
LOAD2信号に従う。
【0132】ALL0検出回路121は、入力されたカウン
ト値C2が「0」でないときには「0」を表し、入力さ
れたカウント値C2が「0」のときには「1」を表すAZ
2信号をAND回路131に出力する。
【0133】〈動作〉図21は具体例5のバス使用権調
停システムの動作を示すタイムチャートである。ここで
は、DMAコントローラ2の要求信号DMAREQ2Pをマスク
する要求信号マスク部85を例に説明する。
【0134】初期状態では、DMAコントローラ2の要
求信号DMAREQ2Pは「0」にネゲートされており、バスコ
ントローラ102の承諾信号DMACK2Pも「0」にネゲー
トされている。要求信号マスク部85では、AND回路
112からDIF信号「0」が出力され、AND回路13
1からINTV信号「0」が出力され、J−Kフリップフロ
ップ115からJKOUT信号「0」が出力される。この結
果、NAND回路116からMASK信号「1」が出力され
る。AND回路123では、入力端REQPを通して入力さ
れた要求信号DMAREQ2Pがそのまま出力端MREQPを通して
出力される。
【0135】サイクル1において、図示しない制御部か
ら値「5」のライトデータWD1が出力される。要求信号
マスク部85では、ライトデータWD1「5」が入力端WTD
T1Pを通して入力される。同時に、図示しない制御部に
よりライトストローブ信号WST1が「0」にアサートされ
る。要求信号マスク部85では、ライトストローブ信号
WST1「0」が入力端WR1Nを通して入力される。
【0136】同時に、図示しない制御部から値「2」の
ライトデータWD2が出力される。要求信号マスク部85
では、ライトデータWD2「2」が入力端WTDT2Pを通して
入力される。同時に、図示しない制御部によりライトス
トローブ信号WST2が「0」にアサートされる。要求信号
マスク部85では、ライトストローブ信号WST2「0」が
入力端WR2Nを通して入力される。
【0137】ラッチ回路118では、ライトストローブ
信号WST1「0」が入力されると、入力端Dのライトデー
タWD1「5」がラッチされて出力される。反転回路11
9では、ライトストローブ信号WST1「0」が入力されて
反転され、WSTINV1信号「1」が出力される。OR回路
120では、LOAD1信号「1」が出力される。
【0138】ラッチ回路132では、ライトストローブ
信号WST2「0」が入力されると、入力端Dのライトデー
タWD2「2」がラッチされて出力される。反転回路13
5では、ライトストローブ信号WST2「0」が入力されて
反転され、WSTINV2信号「1」が出力される。OR回路
136では、LOAD2信号「1」が出力される。
【0139】サイクル2において、カウンタ117で
は、サイクル1でLOAD1信号「1」が入力されたので、
ラッチ回路118にラッチされたライトデータWD1
「5」がロードされ、カウント値C1「5」がセットさ
れる。この結果、ALL0検出回路121では、AZ1信号
「0」が出力される。J−Kフリップフロップ115で
は、入力端Jを通してINTV信号「0」が入力され、入力
端Kを通してAZ1信号「0」が入力されるので、JKOUT信
号「0」が出力される。
【0140】同時に、カウンタ133では、サイクル1
でLOAD2信号「1」が入力されたので、ラッチ回路13
2にラッチされたライトデータWD2「2」がロードさ
れ、カウント値C2「2」がセットされる。この結果、
ALL0検出回路134では、AZ2信号「0」が出力され
る。
【0141】同時に、DMAコントローラ2により要求
信号DMAREQ2Pがアサートされる。要求信号マスク部85
では、AND回路123にMASK信号「1」が入力される
ので、入力端REQPを通して入力された要求信号DMAREQ2P
がそのまま出力端MREQPを通して出力される。
【0142】同時に、図示しない制御部によりライトス
トローブ信号WST1が「1」にネゲートされる。反転回路
119では、ライトストローブ信号WST1「1」が入力さ
れて反転され、WSTINV1信号「0」が出力される。OR
回路120では、WSTINV1信号「0」と、AZ1信号「0」
とが入力されるので、LOAD1信号「0」が出力される。
【0143】同時に、図示しない制御部によりライトス
トローブ信号WST2が「1」にネゲートされる。反転回路
135では、ライトストローブ信号WST2「1」が入力さ
れて反転され、WSTINV2信号「0」が出力される。OR
回路136では、WSTINV2信号「0」と、INTV信号
「0」とが入力されるので、LOAD2信号「0」が出力さ
れる。
【0144】サイクル3において、バスコントローラ1
02により承諾信号DMACK2Pが「1」にアサートされ
る。DMAコントローラ2では、この承諾信号DMACK2P
「1」が入力され、アクセスの開始が認識される。要求
信号マスク部85では、承諾信号DMACK2P「1」が入力
端REQPを通して入力される。
【0145】反転回路113では、承諾信号DMACK2P
「1」が入力されるので、ACKINV1信号「0」が出力さ
れる。AND回路114では、COEN信号「0」が出力さ
れる。カウンタ117では、カウント値C1が「5」が
出力され、ALL0検出回路121では、AZ1信号「0」が
出力される。反転回路122では、AZINV1信号「1」が
出力される。
【0146】Dフリップフロップ111では、承諾信号
DMACK2P「1」が1クロック遅延されて反転されるの
で、DOUT信号「1」が引き続き出力される。AND回路
112では、承諾信号DMACK2P「1」とDOUT信号が
「1」とが入力されるので、DIF信号「1」が出力され
る。カウンタ133では、DIF信号「1」が入力され、
カウント値C2を「1」ディクリメントする旨が認識さ
れる。カウンタ133では、カウント値C2「2」が出
力される。ALL0検出回路134では、AZ2信号「0」が
出力される。AND回路131では、DIF信号「1」とA
Z2信号「0」とが入力されるので、INTV信号「0」が出
力される。
【0147】サイクル4において、J−Kフリップフロ
ップ115では、サイクル3で、入力端Jを通してINTV
信号「0」が入力され、入力端Kを通してAZ1信号
「0」が入力されたので、引き続きJKOUT信号「0」が
出力される。NAND回路116では、JKOUT信号
「0」が入力され、AZINV1信号「1」が入力されるの
で、MASK信号「1」が出力される。この結果、入力端RE
QPを通して入力される要求信号は、継続してAND回路
123を通過し、出力端MREQPを通して出力される。な
お、AND回路114では、ACKINV信号「0」が入力さ
れ、JKOUT信号「0」が入力されるので、COEN信号
「0」が出力される。
【0148】同時に、Dフリップフロップ111では、
サイクル3で入力された承諾信号DMACK2P「1」が1ク
ロック遅延されて反転され、DOUT信号「0」が出力され
る。AND回路112では、承諾信号DMACK2P「1」とD
OUT信号が「0」とが入力されるので、DIF信号「0」が
出力される。AND回路131では、INTV信号「0」が
出力される。同時に、カウンタ133では、サイクル3
でDIF信号「1」が入力されたので、カウント値C2が
「1」にディクリメントされる。ALL0検出回路134で
は、AZ2信号「0」が出力される。
【0149】サイクル6において、DMAコントローラ
2のアクセスが終了し、バスコントローラ102の承諾
信号DMACK2Pが「0」にネゲートされる。DMAコント
ローラ2では、次のアクセスのための要求信号DMAREQ2P
「1」が引き続き出力される。要求信号マスク部85で
は、承諾信号DMACK2P「0」が入力端REQPを通して入力
される。
【0150】サイクル7において、バスコントローラ1
02により承諾信号DMACK2Pが「1」にアサートされ
る。DMAコントローラ2では、この承諾信号DMACK2P
「1」が入力され、アクセスの開始が認識される。要求
信号マスク部85では、承諾信号DMACK2P「1」が入力
端REQPを通して入力される。
【0151】反転回路113では、承諾信号DMACK2P
「1」が入力されるので、ACKINV1信号「0」が出力さ
れる。同時に、Dフリップフロップ111では、サイク
ル6における承諾信号DMACK2P「0」が1クロック遅延
されて反転されるので、DOUT信号「1」が出力される。
AND回路112では、承諾信号DMACK2P「1」とDOUT
信号が「1」とが入力されるので、DIF信号「1」が出
力される。
【0152】サイクル8において、カウンタ133で
は、サイクル7でDIF信号「1」が入力されたので、カ
ウント値C2が「0」にディクリメントされる。ALL0検
出回路134では、AZ2信号「1」が出力される。AN
D回路112では、承諾信号DMACK2P「1」とDOUT信号
「0」とが入力されるので、DIF信号「0」が出力され
る。AND回路131では、DIF信号「0」とAZ2信号
「1」とが入力されるので、INTV信号「0」が出力され
る。
【0153】サイクル10において、DMAコントロー
ラ2のアクセスが終了し、バスコントローラ102の承
諾信号DMACK2Pが「0」にネゲートされる。DMAコン
トローラ2では、次のアクセスのための要求信号DMAREQ
2P「1」が引き続き出力される。要求信号マスク部85
では、承諾信号DMACK2P「0」が入力端REQPを通して入
力される。
【0154】サイクル11において、バスコントローラ
102により承諾信号DMACK2Pが「1」にアサートされ
る。DMAコントローラ2では、この承諾信号DMACK2P
「1」が入力され、アクセスの開始が認識される。要求
信号マスク部85では、承諾信号DMACK2P「1」が入力
端REQPを通して入力される。
【0155】反転回路113では、承諾信号DMACK2P
「1」が入力されるので、ACKINV1信号「0」が出力さ
れる。同時に、Dフリップフロップ111では、サイク
ル9における承諾信号DMACK2P「0」が1クロック遅延
されて反転されるので、DOUT信号「1」が出力される。
AND回路112では、承諾信号DMACK2P「1」とDOUT
信号が「1」とが入力されるので、DIF信号「1」が出
力される。
【0156】AND回路131では、DIF信号「1」とA
Z2信号「1」とが入力されるので、INTV信号「1」が出
力される。J−Kフリップフロップ115では、入力端
Jを通してINTV信号「1」が入力され、入力端Kを通し
てAZ1信号「0」が入力される。OR回路136では、I
NTV信号「1」が入力されるので、LOAD2信号「1」が出
力される。
【0157】サイクル12において、J−Kフリップフ
ロップ115では、サイクル11で、入力端Jを通して
INTV信号「1」が入力され、入力端Kを通してAZ1信号
「0」が入力されたので、JKOUT信号「1」が出力され
る。NAND回路116では、JKOUT信号「1」とAZINV
1信号「1」とが入力されるので、MASK信号「0」が出
力される。この結果、AND回路123により要求信号
DMAREQ2Pがマスクされる。なお、AND回路114で
は、ACKINV信号「0」とJKOUT信号「1」とが入力され
るので、COEN信号「0」が出力される。
【0158】同時に、AND回路112では、DIF信号
「0」が出力され、AND回路131では、INTV信号
「0」が出力される。J−Kフリップフロップ115で
は、入力端Jを通してINTV信号「0」が入力され、入力
端Kを通してAZ1信号「0」が入力される。同時に、O
R回路136では、サイクル11で、LOAD2信号「1」
が入力されたので、ラッチ回路132にラッチされたラ
イトデータWD2「2」が再びロードされ、カウント値C
2「2」がセットされる。この結果、ALL0検出回路13
4では、AZ2信号「0」が出力される。
【0159】サイクル13において、J−Kフリップフ
ロップ115では、サイクル12で、入力端Jを通して
INTV信号「0」が入力され、入力端Kを通してAZ1信号
「0」が入力されたので、JKOUT信号「1」が継続して
出力される。
【0160】サイクル14において、DMAコントロー
ラ2のアクセスが終了し、バスコントローラ102の承
諾信号DMACK2Pが「0」にネゲートされる。DMAコン
トローラ2では、次のアクセスのための要求信号DMAREQ
2P「1」が引き続き出力される。要求信号マスク部85
では、承諾信号DMACK2P「0」が入力端REQPを通して入
力される。
【0161】反転回路113では、承諾信号DMACK2P
「0」が入力されるので、ACKINV信号「1」が出力され
る。AND回路114では、ACKINV信号「1」と、JKOU
T信号「1」とが入力されるので、COEN信号「1」が出
力される。カウンタ117では、COEN信号「1」が入力
され、カウント値C1を「1」ディクリメントする旨が
認識される。カウンタ117では、カウント値C1
「5」が出力される。ALL0検出回路121では、AZ1信
号「0」が出力される。反転回路122では、AZINV1信
号「1」が出力される。
【0162】同時に、Dフリップフロップ111では、
承諾信号DMACK2P「0」が1クロック遅延されて反転さ
れるので、DOUT信号「0」が引き続き出力される。AN
D回路112では、承諾信号DMACK2P「0」とDOUT信号
が「0」とが入力されるので、DIF信号「0」が出力さ
れる。AND回路131では、DIF信号「0」が入力さ
れるので、INTV信号「0」が出力される。J−Kフリッ
プフロップ115では、入力端Jを通してINTV信号
「0」が入力され、入力端Kを通してAZ1信号「0」が
入力されるので、継続してJKOUT信号「1」が出力され
る。NAND回路116では、JKOUT信号「1」が入力
され、AZINV1信号「1」が入力されるので、MASK信号
「0」が出力される。この結果、AND回路123によ
る要求信号DMAREQ2Pのマスクが継続される。
【0163】サイクル15〜18において、AND回路
114では、COEN信号「1」が出力される。カウンタ1
17では、カウント値C1がそれぞれのクロックに同期
して「1」ずつディクリメントされる。
【0164】サイクル19において、カウンタ117で
は、カウント値C1が「0」にディクリメントされ、AL
L0検出回路121では、AZ1信号「1」が出力される。
反転回路122では、AZINV1信号「0」が出力される。
この結果、NAND回路116では、MASK信号「1」が
出力される。AND回路123では、要求信号DMAREQ2P
のマスクが解除され、入力端REQPを通して入力された要
求信号DMAREQ2Pが出力端MREQPを通してそのまま出力さ
れる。J−Kフリップフロップ115では、入力端Jを
通してINTV信号「0」が入力され、入力端Kを通してAZ
1信号「1」が入力される。OR回路120では、WSTIN
V1信号「0」と、AZ1信号「1」とが入力されるので、L
OAD1信号「1」が出力される。
【0165】サイクル20において、カウンタ117で
は、サイクル11でLOAD1信号「1」が入力されたの
で、ラッチ回路118によりラッチされているライトデ
ータWD1「5」が再びロードされ、カウント値C1
「5」がセットされる。この結果、ALL0検出回路121
では、AZ1信号「0」が出力される。反転回路122で
は、AZINV1信号「1」が出力される。
【0166】同時に、J−Kフリップフロップ115で
は、サイクル11で、入力端Jを通してINTV信号「0」
が入力され、入力端Kを通してAZ1信号「1」が入力さ
れたので、JKOUT信号「0」が出力される。AND回路
114では、ACKINV信号「1」とJKOUT信号「0」とが
入力されるので、COEN信号「0」が出力される。NAN
D回路116では、JKOUT信号「0」とAZINV1信号
「1」とが入力されるので、MASK信号「1」が出力され
る。この結果、AND回路123では、入力端REQPを通
して入力された要求信号DMAREQ2Pが継続して出力端MREQ
Pを通して出力される。
【0167】このように、カウンタ117では、カウン
ト値C1が「5」にセットされ、カウンタ133では、
カウント値C2が「2」がセットされる。カウンタ13
3では、承諾信号DMACK2Pが入力される毎にカウント値
C2が1ずつディクリメントされる。カウント値C2が
「0」にディクリメントされた後、承諾信号が入力され
ると、DMAコントローラ2の次のアクセスのための要
求信号DMAREQ2Pがマスクされる。また、カウンタ133
のカウント値C2が再び「2」にセットされる。
【0168】DMAコントローラ2のアクセスが終了
し、承諾信号DMACK2Pがネゲートされると、カウンタ1
17のカウント値C1がクロック信号に同期して1ずつ
ディクリメントされる。カウント値C1が「0」にディ
クリメントされると、次のアクセスのための要求信号DM
AREQ2Pのマスクが解除される。カウンタ117のカウン
ト値C1が再び「5」にセットされる。
【0169】〈効果〉以上のように、具体例5によれ
ば、DMAコントローラ2〜4のそれぞれに対応して、
要求信号マスク部85を設ける。要求信号マスク部85
では、承諾信号が入力された回数をカウントし、カウン
ト値が所定値に達すると、次のアクセスのための要求信
号を一定時間マスクする。
【0170】したがって、要求信号マスク部85によ
り、所定のアクセス回数毎に当該バスマスタの要求信号
をマスクすることができるので、優先順位が高い特定の
バスマスタにバス使用権が連続して承諾されるのを適時
に防止し、そのバスマスタにバスが占有されすぎるのを
防止することができる。
【0171】また、図示しない制御部から出力されたカ
ウント値C2をカウンタ133にロードして、要求信号
をマスクするためのアクセス回数を設定するように要求
信号マスク部85を構成している。したがって、各要求
信号マスク部85のそれぞれに最適なアクセス回数を設
定することができる。また、同一の要求信号マスク部8
5でも、システム内の各部の負荷状況等に応じて任意の
タイミングで最適なアクセス回数を設定することができ
る。
【0172】《具体例6》 〈構成〉図22は本発明に係る具体例6のバス使用権調
停システムの構成を示すブロック図である。図22に示
すように、このバス使用権調停システムは、図14に示
された具体例4のバス使用権調停システムの要求信号マ
スク部82、83および84を、OR回路91、AND
回路92、93および94、並びに、要求信号マスク部
86に置き換えたものである。なお、図14に示された
具体例4のバス使用権調停システムの各部と同様の構成
には、同一符号を付し、その説明を省略する。
【0173】DMAコントローラ2の要求信号DMAREQ2P
は、AND回路92の一方の入力端に入力される。DM
Aコントローラ3の要求信号DMAREQ3Pは、AND回路9
3の一方の入力端に入力される。DMAコントローラ4
の要求信号DMAREQ4Pは、AND回路94の一方の入力端
に入力される。AND回路92、93および94のそれ
ぞれのもう一方の入力端は、要求信号マスク部86の出
力端に共通に接続されている。AND回路92、93お
よび94のそれぞれの出力端は、バスコントローラ10
2に接続されている。
【0174】バスコントローラ102の承諾信号DMACK2
P、DMACK3PおよびDMACK4Pは、それぞれOR回路91の
入力端に入力される。OR回路91は、これらの承諾信
号の論理和を求め、要求信号マスク部86に出力する。
【0175】要求信号マスク部86は、承諾信号DMACK2
P、DMACK3PおよびDMACK4Pのうち何れかの承諾信号が要
求信号マスク部86を介して入力されたとき、要求信号
DMAREQ2P、DMAREQ3PおよびDMAREQ4Pを同時に一定時間マ
スクする信号を、AND回路92、93および94に出
力する。
【0176】図23は要求信号マスク部86の構成を示
すブロック図である。図23に示すように、要求信号マ
スク部86は、図17に示された要求信号マスク部82
からAND回路123を除いたものである。NAND回
路116から出力されるMASK信号は出力端MASKNを通し
て、AND回路92、93および94に出力される。A
ND回路92、93および94は、図17に示されたA
ND回路123に相当する。
【0177】すなわち、具体例6のバス使用権調停シス
テムは、DMAコントローラ2〜4を1つのグループと
し、グループ内の何れかのバスマスタにバス使用権が承
諾されたとき、グループ内の全てのDMAコントローラ
の要求信号を同時に一定時間マスクするようにしたもの
である。
【0178】〈動作〉図24は具体例6のバス使用権調
停システムの動作を示すタイムチャートである。ここ
で、要求信号マスク部86内の各部の動作は、具体例4
の要求信号マスク部82の各部と同様であり、詳細な説
明を省略する。
【0179】サイクル2において、CPU1の要求信号
CPUREQP、DMAコントローラ2のDMAREQ2PおよびDM
Aコントローラ3のDMAREQ4Pが同時にアサートされる。
サイクル3において、バスコントローラ102では、D
MAコントローラ2がDMAコントローラ3およびCP
U1より優先順位が高いので、DMAコントローラ2に
バス使用権が承諾され、承諾信号DMACK2Pがアサートさ
れる。DMAコントローラ2では、承諾信号DMACK2P
「1」が入力され、アクセスの開始が認識される。同時
に、OR回路91では、承諾信号DMACK2P「1」が入力
され、論理和「1」が出力される。要求信号マスク部8
6では、論理和「1」が入力端ACKPを通して入力され
る。
【0180】サイクル4において、NAND回路116
からMASK信号「0」が出力され、AND回路92では、
要求信号DMAREQ2Pが、AND回路93では、要求信号DM
AREQ3Pが、AND回路94では、要求信号DMAREQ4Pがそ
れぞれマスクされる。なお、DMAコントローラ2で
は、承諾信号DMACK2Pがアサートされたので、要求信号D
MAREQ2Pがネゲートされる。
【0181】サイクル6において、DMAコントローラ
2のアクセスが終了したため、サイクル7において、バ
スコントローラ102により次のアクセスに対するバス
使用権の調停が行われる。このとき、DMAコントロー
ラ3の要求信号DMAREQ3Pは、要求信号マスク部86およ
びAND回路93によりマスクされているので、バスコ
ントローラ102には、CPU1の要求信号CPUREQPの
みが入力される。この結果、バスコントローラ102で
は、CPU1にバス使用権が承諾され、承諾信号CPUACK
Pがアサートされる。CPU1では、承諾信号CPUACKP
「1」が入力され、アクセスの開始が認識される。
【0182】サイクル11において、CPU1のアクセ
スが終了し、承諾信号CPUACKPがアサートされる。CP
U1では、次のアクセスのための要求信号CPUREQPがア
サートされる。同時に、NAND回路116からMASK信
号「1」が出力され、AND回路92では、要求信号DM
AREQ2Pの、AND回路93では、要求信号DMAREQ3Pの、
AND回路94では、要求信号DMAREQ4Pのマスクがそれ
ぞれ解除される。
【0183】サイクル12において、バスコントローラ
102により次のアクセスに対するバス使用権の調停が
行われる。バスコントローラ102では、DMAコント
ローラ3がCPU1より優先順位が高いので、DMAコ
ントローラ3にバス使用権が承諾され、承諾信号DMACK3
Pがアサートされる。DMAコントローラ2では、承諾
信号DMACK2P「1」が入力され、アクセスの開始が認識
される。同時に、OR回路91では、承諾信号DMACK2P
「1」が入力され、論理和「1」が出力される。要求信
号マスク部86では、論理和「1」が入力端ACKPを通し
て入力される。
【0184】サイクル14において、NAND回路11
6からMASK信号「0」が出力され、AND回路92で
は、要求信号DMAREQ2Pが、AND回路93では、要求信
号DMAREQ3Pが、AND回路94では、要求信号DMAREQ4P
が再びマスクされる。この結果、次のアクセスのバス使
用権がCPU1に与えられる。
【0185】〈効果〉以上のように、具体例6によれ
ば、DMAコントローラ2〜4を1つのグループとし、
グループ内の何れかのバスマスタにバス使用権が承諾さ
れたとき、グループ内の全てのDMAコントローラの要
求信号を同時に一定時間マスクする。このため、CPU
1の優先順位が低いにも拘わらず、DMAコントローラ
2〜4のそれぞれの要求信号を同時にマスクすること
で、DMAコントローラ2〜4によりバスが占有されす
ぎるのを防止し、CPU1の優先順位を実質的に高くす
ることができる。
【0186】なお、具体例6では、DMAコントローラ
2〜4を1つのグループとして構成しているが、グルー
プ分けの構成は任意である。例えば、DMAコントロー
ラ2単体を1つのグループとし、DMAコントローラ3
および4をもう1つのグループとしてもよい。この場
合、各グループ毎に最適なマスク時間を設定することが
できる。
【0187】また、具体例4では、それぞれに要求信号
マスク部82〜84を設けたのに対し、具体例6では、
要求信号マスク部86により、DMAコントローラ2〜
4の要求信号を同時にマスクするように構成している。
したがって、大局的に各グループ毎のバス使用権の優先
順位を設定することができる。また、要求信号をマスク
するための回路の規模を小さくすることができる。
【0188】《具体例7》 〈構成〉図25は具体例7のバス使用権調停システムの
要求信号マスク部87の構成を示す図である。具体例7
のバス使用権調停システムは、図22に示された具体例
6のバス使用権調停システムの要求信号マスク部86を
要求信号マスク部87に置き換えたものである。図25
に示すように、要求信号マスク部87は、図23に示さ
れた要求信号マスク部86に、図20に示された回路1
30を加えたものである。すなわち、要求信号マスク部
87は、承諾信号が所定の回数入力される毎に要求信号
を一定時間マスクするMASK信号を出力する。
【0189】〈動作〉バスコントローラ102によりD
MAコントローラ2〜4の何れかにバス使用権が承諾さ
れると、要求信号マスク部87では、カウンタ133に
よりカウント値C2が1ディクリメントされる。そし
て、要求信号マスク部87では、カウンタ133のカウ
ント値C2が「0」にディクリメントされると、NAN
D回路116からMASK信号「0」が出力される。AND
回路92では、要求信号DMAREQ2Pが、AND回路93で
は、要求信号DMAREQ3Pが、AND回路94では、要求信
号DMAREQ4Pがマスクされる。この結果、次のアクセスの
バス使用権がCPU1に与えられる。
【0190】〈効果〉以上のように、具体例7によれ
ば、要求信号マスク部87により、DMAコントローラ
2〜4の何れかに承諾信号が入力された回数をカウント
し、カウント値が所定値に達すると、DMAコントロー
ラ2〜4の要求信号を同時に一定時間マスクする。した
がって、要求信号マスク部87により、所定のアクセス
回数毎に当該グループ内の全てのバスマスタの要求信号
をマスクすることができるので、グループ内のバスマス
タにバス使用権が連続して承諾されるのを適時に防止
し、そのグループのバスマスタにバスが占有されすぎる
のを防止することができる。
【0191】《具体例8》 〈構成〉図26は、具体例8のバス使用権調停システム
の構成図である。本発明に係る具体例8のバス使用権調
停システムは、CPU1への割り込み信号に基づいて各
バスマスタの調停を行うようにしたものである。
【0192】図26に示すように、具体例8のバス使用
権調停システムは、バスコントローラ103に、CPU
1への割り込み信号10(CPUINTN)が入力されるよう
構成されている。即ち、割り込み信号10は、図示しな
い処理回路からCPU1に出力される割り込み信号であ
り、CPU1は割り込み信号10がアサートされたこと
を検出すると、それまで実行していた処理を中断し、割
り込み処理プログラムを実行する。また、割り込み信号
10はCPU1に入力されると同時にバスコントローラ
103にも入力されるよう構成されている。
【0193】他の各構成は、図2に示した具体例1の構
成と同様であるため、対応する部分に同一符号を付して
その説明を省略する。
【0194】図27は、具体例8におけるバスコントロ
ーラ103の構成図である。図27に示すように、バス
使用権調停部104には、割り込み信号10が入力され
るよう構成されている。また、メモリコントローラ64
から承諾信号BUSACKPが、デコーダ65と共に、バス使
用権調停部104に入力されるよう構成されている。そ
の他の構成は、図1に示した具体例1の構成と同様であ
るため、対応する部分に同一符号を付してその説明は省
略する。
【0195】図28は、バス使用権調停部104の構成
図である。図28に示すように、バス使用権調停部10
4は、割り込み信号保持回路200、ラッチ回路20
1、カウンタ202、アービタ制御回路203からな
る。
【0196】割り込み信号保持回路200は、割り込み
信号10を入力し、割り込み信号10を検出し保持する
回路であって、割り込みフラグ204を出力する。ま
た、割り込み信号保持回路200は、図示しないクリア
信号により、保持している割り込みフラグ204をクリ
アするよう構成されている。
【0197】アービタ制御回路203は、割り込みフラ
グ204、バスの使用を要求するCPU1、DMAコン
トローラ2,3,4がそれぞれ出力するバス使用要求信
号CPUREQP、DMAREQ2P,DMAREQ3P,DMAREQ4Pを入力し、
メモリコントローラ64に対し、バス使用要求信号BUSR
EQPを出力すると共に、デコーダ65およびセレクタ6
6,67に対し、セレクト信号SELを出力する。また、
アービタ制御回路203は、カウンタ202にカウント
スタート信号205を出力し、カウンタ202からカウ
ント中を示すカウント中信号206を入力し、また、メ
モリコントローラ64からバスアクノリッジ信号(承諾
信号)BUSACKPを入力するよう構成されている。
【0198】ラッチ回路201は、CPU1から前もっ
て所定の値が設定されている。カウンタ202は、ラッ
チ回路201に保持されている値をロード値として入力
し、アービタ制御回路203が出力するカウントスター
ト信号205を入力し、クロック207に同期してカウ
ント動作を行い、カウント中を示すカウント中信号20
6を出力するよう構成されている。
【0199】〈動作〉先ず、デコーダ65、セレクタ6
6,67の動作は、具体例1における図6〜8を参照し
て説明した通りであるため、ここでの説明は省略する。
【0200】図29は、アービタ制御回路203の動作
を示すフローチャートである。装置が動作する状態にあ
る時(ステップS1)、DMAコントローラ2,3,4
が要求するバス使用要求信号に対するバスアクノリッジ
信号があるかどうかを判断し、無い場合には上記バスア
クノリッジ信号があるまでウェイトし(ステップS
2)、ある場合には割り込みフラグ204があるかどう
かを判別し、割り込みフラグ204がアサートされてい
ない場合にはステップS2に戻り、割り込みフラグ20
4がアサートされている場合にはステップS4に進む。
【0201】ステップS4では、DMAREQ2P,DMAREQ3P,
DMAREQ4Pのバス使用要求信号をマスクし、ディスイネー
ブルにし、ステップS6ではカウンタ202のカウント
動作をスタートさせる。
【0202】ステップS7ではカウンタ202が、前記
所定の値をカウント終了したかどうか判別し、カウント
動作が終了するまでウェイトし、所定の値のカウント動
作が終了するとステップS8に進み、ステップS4でマ
スクしたDMAリクエストのマスクを解除しイネーブル
にし、DMAリクエストに対するバスのサービスを再開
し、ステップS2に戻る。
【0203】図30は、割り込み動作を説明するフロー
チャートである。CPU1に接続された割り込み信号1
0がアサートされた場合に(ステップS10)、CPU
1は、割り込み信号10に応じた処理を行い(ステップ
S11)、所定の割り込み処理が終了した後、割り込み
信号保持回路200が保持している割り込みフラグ20
4をクリアし(ステップS12)、割り込み処理から抜
ける(ステップS13)。
【0204】図31および図32は、具体例8の動作を
説明するためのタイムチャートである。このタイムチャ
ートにおけるサイクルは、クロック207の1周期に対
し便宜的に番号を付与したものである。
【0205】サイクル2において、CPU1、DMAコ
ントローラ2〜4が同時にバス使用要求信号CPUREQP,D
MAREQ2P,DMAREQ3P,DMAREQ4Pをアサートし、アービタ
制御回路203は、予め設定された優先順位に従って最
も優先順位の高いバスマスタを選択する。
【0206】ここで、優先順位が、DMAコントローラ
2、3、4、CPU1の順であったとすると、最も優先
順位の高いDMAコントローラ2を選択し、セレクト信
号SELに[01]を出力すると共に、メモリコントロー
ラ64に対し、バス使用要求信号BUSREQPをアサートす
る。
【0207】セレクタ66は、DMAコントローラ2が
出力するアドレスDMADR2PをアドレスADRに出力する。メ
モリコントローラ64は、バス使用要求信号BUSREQPが
アサートされたことを検出し、アドレスADRで指定され
る記憶装置に対し、メモリアクセスサイクルを開始する
と共に、バス使用要求信号BUSREQPに対し、メモリアク
セスサイクルを開始したことを示すバスアクノリッジ信
号BUSACKPをサイクル3でアサートする。デコーダ65
は、セレクト信号SELが[01]に設定されているの
で、バスアクノリッジ信号BUSACKPを、DMACK2Pに出力す
る。
【0208】DMAコントローラ2は、DMACK2Pがアサ
ートされたことを検出すると、バス使用要求信号DMAREQ
2Pをネゲートする(サイクル4)。メモリコントローラ
64はDMAコントローラ2から要求されたメモリアク
セスサイクルを終了するとバスアクノリッジ信号BUSACK
Pをネゲートする(サイクル5)。
【0209】バス使用権調停部104は、サイクル5に
おいてDMAコントローラ2〜4からのバス使用要求信
号に対するバスアクノリッジ信号を検出し(ステップS
2)、割り込みフラグ204がアサートされているか判
断するが(ステップS3)、割り込みフラグ204がア
サートされていないのでステップS2に戻る。
【0210】サイクル6において、バス使用権調停部1
04は、CPU1、DMAコントローラ3,4からのバ
ス使用要求を検出し、優先順位の最も高いDMAコント
ローラ3からのバス使用要求信号を選択し、セレクト信
号SELを[10]に設定する。以下同様にサイクル7か
らサイクル9までDMAコントローラ3の要求するメモ
リアクセスサイクルが行われる。
【0211】サイクル10において、バス使用権調停部
104は、CPU1、DMAコントローラ4からのバス
使用要求を検出し、優先順位の高いDMAコントローラ
4からのバス使用要求を選択し、セレクト信号SELを
[11]に設定する。以下同様にサイクル11からサイ
クル13まで、DMAコントローラ4の要求するメモリ
アクセスが行われる。
【0212】サイクル12において、DMAコントロー
ラ2からのバス使用要求信号DMAREQ2Pがアサートされ
る。
【0213】サイクル14において、バス使用権調停部
104は、CPU1、DMAコントローラ2、DMAコ
ントローラ4からのバス使用要求信号を検出し、優先順
位の高いDMAコントローラ2からのバス使用要求を選
択し、セレクト信号SELを[01]に設定する。以下同
様にサイクル15からサイクル17までDMAコントロ
ーラ2が要求するメモリアクセスサイクルが行われる。
【0214】サイクル18において、バス使用権調停部
104は、サイクル14と同様の動作を行い、サイクル
19からサイクル21までDMAコントローラ2から要
求されるメモリアクセスサイクルを行う。
【0215】サイクル20において、図示しない装置か
ら割り込み信号10がアサートされ、割り込み信号保持
回路200は割り込みフラグ204をアサートする。バ
ス使用権調停部104は、サイクル21において、DM
Aコントローラからのバス使用要求信号に対するバスア
クノリッジ信号BUSACKPがアサートされていることを検
出し(ステップS2)、割り込みフラグ204がアサー
トされていることを検出し(ステップS3)、サイクル
22において、DMAコントローラからのバス使用要求
信号をマスクする(ステップS4)と同時に、カウンタ
スタート信号205をアサートする(ステップS6)。
【0216】カウントスタート信号205を入力したカ
ウンタ202は、カウント中を示すカウント中信号20
6をアサートすると共に、カウント動作を開始する。図
31および図32においては、ラッチ回路201に
「5」が保持されており、値「5」がカウンタ202に
ロードされた場合を示す。カウンタ202はサイクルが
進む度にカウント値を一つずつディクリメントし、サイ
クル24ではカウント値は「4」になり、サイクル25
ではカウント値は「3」になる。
【0217】バス使用権調停部104は、サイクル22
において、DMAコントローラ2〜4からのバス使用要
求信号がマスクされているので、CPU1からのバス使
用要求信号のみを検出し、セレクト信号SELを[00]
に設定する。サイクル23からサイクル25において、
メモリコントローラ64はCPU1が要求するメモリア
クセスサイクルを行う。
【0218】サイクル26において、カウンタ202の
値は「2」であり、カウント動作は引き続き行われてお
り、DMAコントローラからのバス使用要求信号はマス
クされたままであるため、CPU1からのバス使用要求
信号CPUREQPのみがバス使用権調停部104において検
出される。
【0219】バス使用権調停部104は、セレクト信号
SELを[00]に設定し、メモリコントローラ64はC
PU1が要求するメモリアクセスを、サイクル27から
サイクル29において行う。
【0220】カウンタ202はカウント動作を引き続き
行い、サイクル28においてカウント値が「0」にな
り、カウント動作を停止し、カウント中信号206をサ
イクル29においてネゲートする。
【0221】アービタ制御回路203はカウント中信号
206がネゲートされたことを検出すると(ステップS
7)、マスクしていたDMAコントローラからのバス使
用要求信号をイネーブルにし(ステップS8)、ステッ
プS2に戻る。
【0222】サイクル30において、アービタ制御回路
203は、CPU1からのバス使用要求信号CPUREQP
と、DMAコントローラ2からのバス使用要求信号DMAR
EQ2Pを検出し、優先順位の高いDMAコントローラ2か
らのバス使用要求を行うため、セレクト信号SELを[0
1]に設定する。
【0223】メモリコントローラ64は、サイクル31
からサイクル34まで、DMAコントローラ2が要求す
るメモリアクセスサイクルを行う。
【0224】サイクル34において、バス使用権調停部
104は、DMAコントローラ2に対するバスアクノリ
ッジ信号を検出し(ステップS2)、割り込みフラグ2
04がアサートされていることを検出し(ステップS
3)、DMAコントローラからのバス要求信号をマスク
し、サイクル35においてカウントスタート信号をアサ
ートし、カウンタ202はカウント中信号206をアサ
ートする。
【0225】バス使用権調停部104は、サイクル35
において、CPU1からのバス使用要求信号のみを検出
し、セレクト信号SELを[00]に設定し、メモリコン
トローラ64は、サイクル36からサイクル38におい
て、CPU1が要求するメモリアクセスを行う。
【0226】同様に、アービタ制御回路203は、サイ
クル39においてCPU1からのバス使用要求信号を検
出し、メモリコントローラ64はCPU1が要求するメ
モリアクセスをサイクル40から42において行う。
【0227】カウンタ202はカウント動作を継続して
サイクル毎に行い、サイクル41においてカウント値は
「0」になり、サイクル42においてカウント中信号2
06をネゲートする。
【0228】また、図示しない装置は、割り込み信号1
0をサイクル43においてネゲートするが、割り込み信
号保持回路200は、割り込みフラグ204を保持し続
ける。
【0229】以下同様にサイクル44からサイクル46
はDMAコントローラ2が要求するメモリアクセスサイ
クルが行われ、サイクル48からサイクル50、および
サイクル52からサイクル54はCPU1が要求するメ
モリアクセスサイクルが行われる。また、カウンタ20
2はサイクル54において、カウント中信号206をネ
ゲートする。
【0230】CPU1は割り込み処理(ステップS1
1)が終了したことに伴い、割り込みフラグ204をサ
イクル55においてクリアする。
【0231】サイクル55以降のサイクルにおいて、カ
ウント中信号206はネゲートされており、また、割り
込みフラグ204もクリアされているため、アービタ制
御回路203はCPU1からのバス使用要求信号CPUREQ
PとDMAコントローラ2からのバス使用要求信号DMARE
Q2Pを検出するが、優先順位の高いDMAコントローラ
2からのバス使用要求信号に対応してセレクト信号SEL
を[01]に設定し、メモリコントローラ64はDMA
コントローラ2が要求するメモリアクセスを行う。
【0232】〈効果〉以上のように、具体例8によれば
共通のバスを使用する複数の装置からのバス使用要求の
アービトレイションを行う際に以下の効果がある。
【0233】割り込み信号がアサートされ、CPUが
優先的にメモリアクセスを行う必要がある場合、前もっ
て設定したサイクル数分、DMAアクセスが行われる度
にDMAコントローラからのメモリアクセスを強制的に
ウェイトさせることが可能であり、CPUが優先的にメ
モリアクセスを行うことができる。
【0234】DMAコントローラからのバス使用要求
信号をマスクするウェイト数をラッチ回路からカウンタ
にロードする構成としたことにより、ウェイトサイクル
数を任意の値に設定することが可能であり、割り込み処
理に必要なバスの占有率を、割り込み処理に必要な任意
の値に設定することが可能である。
【0235】〈利用形態〉具体例8においては、DMA
コントローラからのバス使用要求信号をマスクする時間
をカウントするカウンタとしてダウンカウンタを用いて
説明したが、アップカウンタを用いても同様の効果があ
る。
【0236】《具体例9》 〈構成〉図33は、具体例9のバス使用権調停システム
におけるバス使用権調停部の構成図である。
【0237】図33に示すように、具体例9において
は、割り込み信号はバス使用権調停部に入力されていな
い。尚、具体例1の図27に相当するバスコントローラ
の構成については、バス使用権調停部に割り込み信号1
0が入力されない点のみが構成上の相違点であるため、
ここでの図示およびその説明は省略する。
【0238】具体例9のバス使用権調停部は、ラッチ回
路300、カウンタ301、アービタ制御回路302か
らなる。
【0239】ラッチ回路300は、前もって決められた
値を保持する回路である。カウンタ301は、アービタ
制御回路302からカウントイネーブル信号303を入
力し、カウントイネーブル信号303がオンすると、前
もってラッチ回路300に保持されていた値をロード
し、カウント動作を行い、所定の値をカウントするとオ
ーバーフローフラグ304をオンし、カウント動作を停
止するカウンタである。また、カウンタ301は、カウ
ントイネーブル信号303がオフされると、カウント動
作中の場合にはカウント動作を停止し、オーバーフロー
フラグ304がオンしている場合にはオーバーフローフ
ラグ304をオフするよう構成されている。尚、305
はカウンタ301に入力されるクロックCLKである。
【0240】アービタ制御回路302は、CPU1、D
MAコントローラ2〜4からのバス使用要求信号CPUREQ
P、DMAREQ2P,DMAREQ3P,DMAREQ4Pを入力し、後述する
優先順位に基づいてセレクト信号SELを決定するよう構
成されている。
【0241】アービタ制御回路302にはセレクト信号
SELを決定する際に、カウンタ301が出力するオーバ
ーフローフラグ304を参照し、オーバーフローフラグ
304が「0」の場合の優先順位と、オーバーフローフ
ラグが「1」の場合の優先順位とを前もって保持してあ
る。
【0242】図34は、具体例9における優先順位の説
明図である。図示のように、オーバーフローフラグ30
4の値によって、CPU1およびDMAコントローラ2
〜4の優先順位が異なるようになっている。
【0243】〈動作〉図35は、カウンタ301の動作
を説明するフローチャートである。カウンタ301が動
作を開始すると、ステップS1において、アービタ制御
回路302が出力するカウントイネーブル信号303が
オンしたかどうかを判別し、カウントイネーブル信号3
03がオンするまでステップS1でウェイトする。
【0244】カウントイネーブル信号303がオンする
と、ラッチ回路300に保持されている値をカウンタ3
01にロードし、カウント動作を開始する(ステップS
2)。カウント動作を開始すると、カウント値がオーバ
ーフローしたかどうかを判別し(ステップS3)、オー
バーフローが発生していなければ、カウントイネーブル
信号303がオンしているかどうかを判別し、カウント
イネーブル信号303がオンしていれば、カウント動作
(カウントダウン)を行い、ステップS3に戻る。
【0245】ステップS4において、カウントイネーブ
ル信号303がオフしていれば、カウント動作は行わず
ステップS1に戻る。また、ステップS3において、カ
ウントオーバーフローが発生していれば、オーバーフロ
ーフラグ304を「1」に設定し、カウントイネーブル
信号303がオフされるまでステップS7でウェイト
し、カウントイネーブル信号303がオフされるとオー
バーフローフラグ304を「0」に設定し、ステップS
1に戻る。
【0246】図36は、アービタ制御回路302の動作
フローチャートである。アービタ制御回路302は、動
作を開始すると、DMAコントローラ4からのバス使用
要求信号DMAREQ4Pがアサートされているかどうか判別
し、DMAREQ4PがアサートされるまでステップS1でウェ
イトする。DMAREQ4Pがアサートすると、カウントイネー
ブル信号303をオンし(ステップS2)、オーバーフ
ローフラグ304が「1」かどうかを判別し、オーバー
フローフラグ304が「1」でなければ、DMAコント
ローラ4に対するバスアクノリッジ信号DMACK4Pがアサ
ートされたかどうかを判別し、DMACK4Pがアサートされ
ていなければ、ステップS3に戻る。
【0247】ステップS3において、オーバーフローフ
ラグ304の「1」が検出されると、図34で示した優
先順位が変更され、DMAコントローラ4>DMAコン
トローラ2>DMAコントローラ3>CPU1の優先順
位になり、DMAコントローラ4の優先順位を最も高く
設定する(ステップS4)。その後、DMAコントロー
ラ4に対するバスアクノリッジ信号DMACK4Pがアサート
されたかどうかをステップS5にて判別する。
【0248】図37および図38は、具体例9の動作を
示すタイムチャートである。尚、これらの図において、
サイクルはクロック305の1周期に対し便宜的に番号
を付与したものである。
【0249】サイクル2において、CPU1、DMAコ
ントローラ2、DMAコントローラ3、DMAコントロ
ーラ4のそれぞれのバス使用要求信号CPUREQP、DMAREQ2
P,DMAREQ3P,DMAREQ4Pがアサートされる。アービタ制
御回路302はDMAコントローラ4からのバス使用要
求信号DMAREQ4Pがアサートされたことを検出し、カウン
トイネーブル信号303をアサートする。
【0250】カウンタ301は、ラッチ回路300に前
もって保持されていた値「14」をロードし、クロック
305に同期してカウンタ値を一つずつディクリメント
する。
【0251】また、サイクル2においては、オーバーフ
ローフラグ304はアサートされていないので、最も優
先順位の高いDMAREQ2Pが選択され、アービタ制御回路3
02はセレクト信号SELに[01]を出力する。サイク
ル3からサイクル5において、DMAコントローラ2か
ら要求されたメモリアクセスサイクルが行われる。
【0252】サイクル6において、アービタ制御回路3
02は、オーバーフローフラグ304が「0」なので、
CPUREQP、DMAREQ3P,DMAREQ4Pのなかで最も優先順位の
高いDMAコントローラ3からのバス使用要求信号を選
択し、セレクト信号SELを[10]に設定し、サイクル
7からサイクル9までDMAコントローラ3が要求する
メモリアクセスサイクルを行う。
【0253】サイクル10において、アービタ制御回路
302はオーバーフローフラグ304が「0」なので、
CPUREQP、DMAREQ4Pのなかで最も優先順位の高いCPU
1からのバス使用要求信号を選択し、セレクト信号SEL
を[00]に設定し、サイクル11からサイクル13ま
でCPU1が要求するメモリアクセスサイクルを行う。
【0254】サイクル14において、アービタ制御回路
302はオーバーフローフラグ304が「0」なので、
CPUREQP、DMAREQ2P,DMAREQ4Pのなかで最も優先順位の
高いDMAコントローラ2からのバス使用要求信号を選
択し、セレクト信号SELを[01]に設定し、サイクル
15からサイクル17までDMAコントローラ2が要求
するメモリアクセスサイクルを行う。
【0255】カウンタ301は、カウントイネーブル信
号303がイネーブルなので、カウント値をディクリメ
ントしていき、サイクル16において、カウント値は
「0」になり、サイクル17においてオーバーフローフ
ラグ304をアサートする。
【0256】サイクル18において、アービタ制御回路
302は、オーバーフローフラグ304が「1」なの
で、優先順位を変更し、CPUREQP、DMAREQ4Pのなかで最
も優先順位の高いDMAREQ4Pを選択し、セレクト信号SEL
を[11]に設定し、サイクル19からサイクル21に
おいてDMAコントローラ4が要求するメモリアクセス
サイクルを行う。
【0257】サイクル19において、アービタ制御回路
302はDMAコントローラ4が要求するバス使用要求
信号に対するバスアクノリッジ信号DMACK4Pがアサート
されたことを検出し、オーバーフローフラグ304をク
リアし、「0」に設定する。
【0258】DMAコントローラ4はサイクル20にお
いて、DMACK4Pがアサートされたことを検出し、要求し
たメモリアクセスサイクルが行われていることを検出
し、バス使用要求信号DMAREQ4Pをサイクル21において
ネゲートする。
【0259】サイクル22において、アービタ制御回路
302はオーバーフローフラグ304が「0」なので、
CPUREQP、DMAREQ2Pのなかで最も優先順位の高いDMAREQ2
Pを選択し、セレクト信号SELを[01]に設定し、サイ
クル23からサイクル25においてDMAコントローラ
2が要求するメモリアクセスサイクルを行う。
【0260】サイクル25において、DMAコントロー
ラ4はバス使用要求信号DMAREQ4Pをアサートし、バスの
使用を要求する。アービタ制御回路302はDMAREQ4Pの
アサートを検出するとカウントイネーブル信号303を
オンし、カウンタ301はラッチ回路300に前もって
設定・保持されている値「14」をロードし、カウント
動作を開始する。
【0261】サイクル26において、アービタ制御回路
302は、オーバーフローフラグ304が「0」なの
で、CPUREQP、DMAREQ4Pのなかで最も優先順位の高いCPU
REQPを選択し、セレクト信号SELを[00]に設定し、
サイクル27からサイクル29においてCPU1が要求
するメモリアクセスサイクルを行う。
【0262】サイクル30において、アービタ制御回路
302は、DMAREQ4Pのみを検出し、DMAREQ4Pより優先順
位の高いバス使用要求信号がないので、セレクト信号SE
Lを[11]に設定し、サイクル31からサイクル34
まで、DMAコントローラ4が要求するメモリアクセス
サイクルを行う。
【0263】アービタ制御回路302は、サイクル31
において、DMAコントローラ4が要求するバス使用要
求に対するバスアクノリッジ信号DMACK4Pがアサートさ
れたことを検出し、カウントイネーブル信号303を、
サイクル32においてクリアし、「0」に設定する。
【0264】また、DMAコントローラ4は、サイクル
33において、DMACK4Pがアサートされたことを検出
し、要求したメモリアクセスサイクルが行われているこ
とを検出し、バス使用要求信号DMAREQ4Pをサイクル34
においてネゲートする。
【0265】サイクル35およびサイクル39におい
て、アービタ制御回路302は、CPUREQPのみを検出
し、CPUREQPより優先順位の高いバス使用要求信号がな
いので、セレクト信号SELを[00]に設定し、サイク
ル36からサイクル38まで、およびサイクル40から
サイクル42までCPU1が要求するメモリアクセスサ
イクルを行う。
【0266】〈効果〉以上のように具体例9によれば、
共通のバスを使用する複数の装置からのバス使用要求の
アービトレイションを行う際に以下の効果がある。
【0267】DMAコントローラからのバス使用要求
信号がアサートされてから、前記バス使用要求信号に対
するバスアクセスが行われるまでの時間を監視し、前記
監視時間が所定の時間以上となった場合にはアービトレ
イションの優先順位を変更し、優先的にバスアクセスが
行える方式としたことにより、DMAコントローラから
要求されるバス使用要求信号に対する単位時間当たりの
最低データ転送量を確保することができる。
【0268】前記バス使用要求信号に対するバスアク
セスが行われるまでの時間を監視する手段としてカウン
タを用い、カウンタにロードする値を前もって設定する
ラッチ回路を設けたことにより、監視時間を任意の値に
設定可能であり、システムの状態により、最適な最低デ
ータ転送量を設定可能である。
【0269】〈利用形態〉具体例9においては、複数の
バス使用要求信号を出力する装置の内、一つの装置にお
いて、バス使用要求信号をアサートしてからバスアクセ
スが行われるまでの時間を監視し、優先順位を高くする
例を説明したが、複数の装置それぞれにバス使用要求信
号をアサートしてからバスアクセスが行われるまでの時
間を監視する手段と、前記監視時間が所定の時間を経過
した場合にアービトレイションの優先順位を高くし、バ
スアクセスを優先的に行わせる手段とを設けることで、
複数の装置に対し、データ転送量の最低量を設定するこ
とも可能である。
【0270】《具体例10》 〈構成〉図39は具体例10のバス使用権調停部の構成
図である。具体例10のバス使用権調停部は、ラッチ回
路400、カウンタ401、アービタ制御回路402か
らなる。
【0271】ラッチ回路400は、前もって決定された
値を保持する回路である。
【0272】カウンタ401はフリーランのカウンタで
あり、カウント値がオーバーフローすると、ラッチ回路
400に前もって保持されている値をロードし、カウン
ト動作を続けると共に、オーバーフロー時、オーバーフ
ローフラグ404をイネーブルにし、カウンタ401が
オーバーフローしたことをアービタ制御回路402に伝
えるよう構成されている。また、カウンタ401は、ア
ービタ制御回路402からフラグクリア信号403がア
サートされた場合は、オーバーフローフラグ404をク
リアするよう構成されている。
【0273】アービタ制御回路402はカウンタ401
から出力されるオーバーフローフラグ404を検出する
と所定の処理を行い、処理が終了すると、フラグクリア
信号403をアサートするよう構成されている。尚、4
05はカウンタ401に入力されるクロックCLKであ
る。
【0274】アービタ制御回路402は、CPU1、D
MAコントローラ2〜4からのバス使用要求信号CPUREQ
P、DMAREQ2P,DMAREQ3P,DMAREQ4Pを入力し、後述する
優先順位に基づいてセレクト信号SELを決定する。
【0275】アービタ制御回路402にはセレクト信号
SELを決定する際に、カウンタ401が出力するオーバ
ーフローフラグ404を参照し、オーバーフローフラグ
404が「0」の場合の優先順位とオーバーフローフラ
グが「1」の場合の優先順位を前もって保持してある。
【0276】図40は、具体例10におけるアービタ制
御回路402のアービトレイションの優先順位の説明図
である。オーバーフローフラグ404がアサートされて
いない状態「0」の場合には、DMAコントローラ2>
DMAコントローラ3>CPU1の優先順位にアービタ
制御回路402に入力されるそれぞれのバス使用要求信
号のバスアクセスを行う。
【0277】即ち、オーバーフローフラグ404がアサ
ートされていない場合には、DMAコントローラ4から
のバス使用要求信号DMAREQ4Pは無効化されており、バス
使用要求信号DMAREQ4Pがアサートされていても、アービ
タ制御回路402はDMAコントローラ4から要求され
るメモリアクセスを行わない。
【0278】〈動作〉図41は、アービタ制御回路40
2の動作を説明するフローチャートである。アービタ制
御回路402の動作がスタートすると、先ず、オーバー
フローフラグ404が「1」かどうかの判断を行い、オ
ーバーフローフラグ404が「1」の状態でない場合、
即ち、アサートされていない場合はアサートされるま
で、ステップS1でウェイトする。
【0279】ステップS1において、オーバーフローフ
ラグ404が「1」であることが検出されると、アービ
タ制御回路402はDMAコントローラ4からのバス使
用要求信号DMAREQ4Pを有効にし(ステップS2)、アー
ビトレイションの優先順位を変更し、DMAコントロー
ラ4から要求されるバス使用要求信号の優先順位を最も
高く設定する(ステップS3)。
【0280】その後、アービタ制御回路402はDMA
コントローラ4に対するバスアクノリッジ信号DMACK4P
がアサートされたかどうかの判断を行い、DMACK4Pがア
サートされるまでステップS4でウェイトする。
【0281】ステップS4においてDMACK4Pがアサート
されると、アービタ制御回路402はオーバーフローフ
ラグ404をクリアし(ステップS5)、DMAREQ4Pを無
効に設定する(ステップS6)。
【0282】図42は、カウンタ401のカウント動作
を説明するためのフローチャートである。カウンタ40
1の動作がスタートすると、カウント値がオーバーフロ
ーしたかどうかを判断し(ステップS11)、カウント
値がオーバーフローするまで、ステップS11でウェイ
トする。
【0283】ステップS11において、カウンタ401
がオーバーフローすると、オーバーフローフラグ404
をアサートし(ステップS12)、ラッチ回路400に
保持されている値をロードし、カウント動作を継続する
(ステップS13)。
【0284】図43は、カウンタ401のカウントクリ
ア動作を説明するためのフローチャートである。動作が
スタートすると、フラグクリア信号403がアサートさ
れたかどうか判断し(ステップS21)、フラグクリア
信号403がアサートされるまでステップS21でウェ
イトする。
【0285】ステップS21において、フラグクリア信
号403がアサートされると、オーバーフローフラグ4
04をクリアし、「0」に設定する。
【0286】図44および図45は、具体例10の動作
を示すタイムチャートである。尚、これらの図におい
て、サイクルはクロック405の1周期に対し、便宜的
に番号を付与したものである。
【0287】サイクル1からサイクル8の期間におい
て、DMAコントローラ4は、DMAREQ4Pをアサートし、
バスの使用を要求するが、オーバーフローフラグ404
がアサートされていないので、DMAコントローラ4か
ら要求されるバス使用要求は受け付けられない。
【0288】サイクル8において、カウンタ401のカ
ウント値は「0」になり、オーバーフローするので、カ
ウンタ401はサイクル9において、オーバーフローフ
ラグ404をアサートし、ラッチ回路400に保持され
ている値「90」をカウンタ401にロードし、カウン
ト動作を継続する。
【0289】アービタ制御回路402は、オーバーフロ
ーフラグ404が「1」に設定されたことを検出する
と、DMAコントローラ4から出力されるバス使用要求
信号DMAREQ4Pを有効にし、また、DMAコントローラ4
からのバス使用要求信号の優先順位を最も高く設定す
る。
【0290】サイクル9において、DMAREQ4Pは有効に設
定されることにより、バス使用要求信号BUSREQPがアサ
ートされ、セレクト信号SELは、DMAコントローラ4
から要求されるメモリアクセスを行うため、値は[1
1]に設定される。
【0291】サイクル10において、メモリコントロー
ラ64はバス使用要求信号BUSREQPに対応したメモリア
クセスが行われていることを示すバスアクノリッジ信号
BUSACKPをアサートし、アービタ制御回路402はDMARE
Q4Pがアサートされたことを検出し、サイクル11にお
いて、フラグクリア信号403をアサートする。
【0292】カウンタ401は、サイクル11におい
て、フラグクリア信号403がアサートされたことを検
出すると、サイクル12において、オーバーフローフラ
グ404を「0」にクリアする。アービタ制御回路40
2は、オーバーフローフラグ404が「0」に設定され
たことにより、サイクル12において、DMAREQ4Pを無効
に設定する。
【0293】メモリコントローラ64は、サイクル13
において、DMAコントローラ4が要求するメモリアク
セスを終了し、サイクル14においてバスアクノリッジ
信号BUSACKPをネゲートする。
【0294】サイクル14からサイクル21において、
DMAコントローラ4はDMAREQ4Pをアサートし続け、メ
モリアクセスを要求するが、オーバーフローフラグ40
4がアサートされていないので、DMAコントローラ4
から要求されるメモリアクセスは行われない。
【0295】サイクル21において、カウンタ401は
オーバーフローし、サイクル22においてオーバーフロ
ーフラグ404がアサートされ、サイクル23からサイ
クル25において、DMAコントローラ4から要求され
るメモリアクセスが、サイクル10〜13と同様に行わ
れる。
【0296】同様に、サイクル27〜34において、D
MAコントローラ4から要求されるメモリアクセスは行
われず、サイクル35においてオーバーフローフラグ4
04がアサートされると、サイクル36〜38において
DMAコントローラ4から要求されるメモリアクセスが
行われる。そして、サイクル39〜サイクル47におい
ては、DMAコントローラ4から要求されるメモリアク
セスは行われず、サイクル48でオーバーフローフラグ
404がアサートされると、サイクル49〜サイクル5
1においてDMAコントローラ4が要求するメモリアク
セスが行われる。
【0297】図46および図47は、アービタ制御回路
402の上記図44および図45とは異なる動作を説明
するためのタイムチャートである。
【0298】サイクル3においてカウンタ401はオー
バーフローし、カウンタ401はサイクル4において、
オーバーフローフラグ404をアサートし、DMAコン
トローラ4から出力されるDMAREQ4Pを有効にするが、D
MAコントローラ4はバス使用要求信号DMAREQ4Pをアサ
ートしていないので、DMAコントローラ4が要求する
メモリアクセスは行われず、DMACK4Pもアサートされ
ず、DMACK4Pがアサートされないので、オーバーフロー
フラグ404はアサートされ続ける。
【0299】オーバーフローフラグ404がアサートさ
れていることにより、DMAREQ4Pの優先順位は最も高く設
定され続ける。
【0300】サイクル12において、DMAREQ4Pがアサー
トされると、アービタ制御回路402はDMAコントロ
ーラ4が要求するメモリアクセスを行うため、セレクト
信号SELを[11]に設定し、メモリコントローラ64
は、DMAコントローラ4が要求するメモリアクセスを
サイクル15から開始し、バスアクノリッジ信号BUSACK
Pをアサートする。
【0301】サイクル15においてアサートされたDMAC
K4Pを検出したアービタ制御回路402はサイクル16
において、フラグクリア信号403をアサートし、カウ
ンタ401はフラグクリア信号403がアサートされた
ことを検出すると、サイクル17において、オーバーフ
ローフラグ404をクリアする。
【0302】また、DMAコントローラ4は、DMACK4P
がアサートされたことをサイクル15において検出する
と、要求していたメモリアクセスが開始されたことを認
識し、DMAREQ4Pをサイクル17においてネゲートする。
【0303】サイクル18〜サイクル25は、オーバー
フローフラグ404がアサートされないので、DMAREQ4P
は無効に設定される。
【0304】サイクル25において、カウンタ401は
オーバーフローし、サイクル26においてオーバーフロ
ーフラグ404をアサートするが、DMAREQ4Pがアサート
されていないので、DMAコントローラ4に対するバス
アクノリッジ信号DMACK4Pはアサートされず、従って、
オーバーフローフラグ404はアサートされ続ける。
【0305】カウンタ401はオーバーフローフラグ4
04をサイクル26でアサートした後もカウント動作を
続け、サイクル32においてカウンタオーバーフローと
なるので、サイクル33において、オーバーフローフラ
グをアサートする。但し、サイクル26からサイクル3
2において、DMAコントローラ4からDMAREQ4Pはアサ
ートされず、DMACK4Pもアサートされないので、オーバ
ーフローフラグ404は連続してアサートされる。
【0306】サイクル39において、DMAコントロー
ラ4はDMAREQ4Pをアサートし、メモリアクセスを要求す
ると、アービタ制御回路402はサイクル41において
セレクト信号SELを[11]に設定し、DMAコントロ
ーラ4が要求するメモリアクセスを行えるようにし、メ
モリコントローラ64は、サイクル42〜サイクル44
において、DMAコントローラ4が要求するメモリアク
セスを行う。
【0307】アービタ制御回路402は、DMACK4Pがア
サートされたことを検出すると、オーバーフローフラグ
404をサイクル44においてクリアする。また、DM
Aコントローラ4はDMACK4Pがアサートされたことを検
出し、サイクル44においてDMAREQ4Pをネゲートする。
【0308】〈効果〉以上のように、具体例10によれ
ば共通のバスを使用する複数の装置からのバス使用要求
のアービトレイションを行う際に以下の効果がある。 フリーランにカウントするカウンタがオーバーするタ
イミングでバス使用要求信号を有効にし、前記バス使用
要求信号に対するバスアクノリッジ信号がアサートされ
るまで、前記バス使用要求信号のアービトレイションの
優先順位を高く設定することにより、カウンタがオーバ
ーフローするタイミングで所定のDMA装置から要求さ
れるメモリアクセスが行われるので、所定のDMA装置
が使用するバスの使用頻度を限定する効果があり、バス
の使用頻度を限定することにより、所定のDMA装置が
バスを占有して使用することを防ぎ、かつ、最低のDM
Aによるデータ転送を保証する効果がある。
【0309】前記フリーランにカウントするカウンタ
のロード値として前もって設定されたラッチ回路の値を
使用する構成としたことにより、DMA装置が行うデー
タ転送の種類、または、前記DMA装置以外のDMA装
置やCPUのバス使用の状況から最適なバス使用頻度を
任意のタイミングで設定することが可能であり、より柔
軟なバス使用頻度の制御が可能になる効果がある。
【0310】〈利用形態〉具体例10では、カウンタと
してダウンカウンタで説明したがアップカウンタを用い
ても同様の制御を行うことが可能である。
【0311】《具体例11》 〈構成〉図48は具体例11のバス使用権調停部の構成
図である。具体例11のバス使用権調停部は、ラッチ回
路500、カウンタ501〜504、アービタ制御回路
505からなる。
【0312】ラッチ回路500は、前もって所定の値が
設定されたラッチ回路である。カウンタ501は、CPUR
EQPに対応し、カウンタ502はDMAREQ2P、カウンタ5
03はDMAREQ3P、カウンタ504はDMAREQ4Pに対応する
カウンタである。
【0313】カウンタ501〜504とアービタ制御回
路505とは、信号線506〜509で接続されてい
る。
【0314】信号線506は、アービタ制御回路505
が対応するバス使用要求信号CPUREQPがアサートされた
場合にカウンタ501をイネーブルにするためのイネー
ブル信号と、カウンタ501から出力されるカウント値
をアービタ制御回路505に送るための信号と、アービ
タ制御回路505からカウンタ501にカウントクリア
信号を送るための信号線である。
【0315】信号線507は、アービタ制御回路505
が対応するバス使用要求信号DMAREQ2Pがアサートされた
場合にカウンタ502をイネーブルにするためのイネー
ブル信号と、カウンタ502から出力されるカウント値
をアービタ制御回路505に送るための信号と、アービ
タ制御回路505からカウンタ502にカウントクリア
信号を送るための信号線である。
【0316】信号線508は、アービタ制御回路505
が対応するバス使用要求信号DMAREQ3Pがアサートされた
場合にカウンタ503をイネーブルにするためのイネー
ブル信号と、カウンタ503から出力されるカウント値
をアービタ制御回路505に送るための信号と、アービ
タ制御回路505からカウンタ503にカウントクリア
信号を送るための信号線である。
【0317】信号線509は、アービタ制御回路505
が対応するバス使用要求信号DMAREQ4Pがアサートされた
場合にカウンタ504をイネーブルにするためのイネー
ブル信号と、カウンタ504から出力されるカウント値
をアービタ制御回路505に送るための信号と、アービ
タ制御回路505からカウンタ504にカウントクリア
信号を送るための信号線である。
【0318】アービタ制御回路505は、各カウンタ5
01〜504から出力されるカウント値を比較し、最も
大きな値を持つバス使用要求信号が複数あった場合は、
後述する予め設定された優先順位に基づき、最も優先順
位の高いバス使用要求信号に対応するセレクト信号を送
出する機能と、バスアクノリッジ信号がアサートされた
場合は、対応するカウンタに対して、カウンタクリア信
号を送出する機能を有している。
【0319】図49は、具体例11におけるアービタ制
御回路505のアービトレイションの優先順位の説明図
である。図面に示すように、優先順位は、DMAコント
ローラ2>DMAコントローラ3>DMAコントローラ
4>CPU1の順に設定されている。
【0320】〈動作〉図50は、アービタ制御回路50
5の動作を説明するためのフローチャートである。アー
ビタ制御回路505の動作が開始されると、アービタ制
御回路505に入力されるバス使用要求信号CPUREQP、D
MAREQ2P,DMAREQ3P,DMAREQ4Pの少なくとも一つがアサ
ートされたかどうかを判断し、バス使用要求信号の少な
くとも一つがアサートされるまでステップS1でウェイ
トする。
【0321】ステップS1において、少なくとも一つの
バス使用要求信号がアサートされると、アサートされた
バス使用要求信号に対応するカウンタが出力するカウン
ト値を比較し(ステップS2)、最も大きいカウント値
を持つバス使用要求信号が一つの場合には、最も大きい
カウント値に対応したセレクト信号SELを出力し、前記
の最も大きいカウント値を持つバス使用要求信号を出力
している装置が要求するメモリアクセスサイクルが行わ
れるように設定する(ステップS3)。
【0322】また、ステップS2において、最も大きな
バス使用要求信号が複数本あった場合には、図49で示
される優先順位に従い、優先順位の高いバス使用要求信
号に対応したセレクト値をセレクト信号SELに設定し、
前記の優先順位の高いバス使用要求信号を出力する装置
が要求するメモリアクセスサイクルが行われるように設
定する(ステップS7)。
【0323】その後、アービタ制御回路505は、バス
アクノリッジ信号がアサートされるまでステップS4で
ウェイトし、バスアクノリッジ信号がアサートされる
と、セレクト信号SELで指定されている装置に対応する
カウンタに対し、カウントクリア信号をアサートし、カ
ウンタをクリアする(ステップS5)。
【0324】その後、バスアクノリッジ信号がネゲート
されるまでステップS6でウェイトし、バスアクノリッ
ジ信号がネゲートされるとステップS1に戻る。
【0325】図51は、カウンタ501〜504の動作
を説明するためのフローチャートである。各カウンタ5
01〜504の動作が開始されると、対応するバス使用
要求信号がアサートされるまでステップS11でウェイ
トし、対応するバス使用要求信号がアサートされるとカ
ウンタをイネーブルにし、カウント動作を開始し(ステ
ップS12)、カウント値が、カウンタと接続されたラ
ッチ回路500が保持する値と等しいかどうかを判断し
(ステップS13)、等しくない場合には、カウントク
リア信号が入力されたかどうかを判断し(ステップS1
4)、カウントクリア信号が入力されていなければステ
ップS13に戻る。
【0326】ステップS13において、カウンタ値がラ
ッチ回路500が保持する値と等しくなった場合にはカ
ウントを停止し(ステップS15)、カウントクリア信
号が入力されるまでステップS16でウェイトする。
【0327】ステップS16において、カウントクリア
信号が入力されると、カウンタをクリアし(ステップS
17)、ステップS11に戻る。
【0328】上記のステップS14において、カウント
クリア信号が入力されると、カウンタをクリアし(ステ
ップS17)、ステップS11に戻る。
【0329】図52および図53は、具体例11の動作
を示すタイムチャートである。尚、これらの図におい
て、サイクルはクロックCLKの1周期に対し、便宜的に
番号を付与したものである。
【0330】サイクル2において、DMAREQ2PとDMAREQ3P
が同時にアサートされ、アービタ制御回路505は、DM
AREQ2PとDMAREQ3Pに対応したカウンタ502とカウンタ
503のカウント値を比較し、同じ値であることを検出
すると図49に示した優先順位に従い、優先順位の高い
DMAコントローラ2からのバス使用要求に対応したメ
モリアクセスを行うため、セレクト信号SELに[01]
を設定する。
【0331】メモリコントローラ64は、サイクル3か
らサイクル5において、DMAコントローラ2が要求す
るメモリアクセスサイクルを行い、前記メモリアクセス
サイクルが行われていることを示すため、バスアクノリ
ッジ信号BUSACKPをアサートする。
【0332】アービタ制御回路505は、バスアクノリ
ッジ信号BUSACKPがアサートされると、カウンタ502
に対し、カウントクリア信号をアサートする。カウンタ
502はカウントクリア信号を入力すると、カウンタ値
をクリアし「0」を保持する。
【0333】一方、バス使用要求信号DMAREQ3Pがアサー
トされているにもかかわらず、DMAREQ3Pに対応したバス
アクノリッジ信号DMACK3Pがアサートされていないの
で、カウンタ503はカウント値を更新する。
【0334】サイクル6において、アービタ制御回路5
05は、CPUREQP,DMAREQ3P,DMAREQ4Pがアサートされ
ていることを検出し、それぞれのバス使用要求信号に対
応したカウンタ501、503、504の値「2」、
「4」、「3」を比較し、最も大きい値を持つカウンタ
503に対応したバス使用要求信号DMAREQ3Pに対応した
セレクト値[10]をセレクト信号SELに設定し、DM
Aコントローラ3が要求するメモリアクセスサイクルが
発生するよう設定する。
【0335】メモリコントローラ64は、サイクル7か
らサイクル9にかけてDMAコントローラ3が要求する
メモリアクセスサイクルを行い、メモリアクセスサイク
ルが行われていることをバスアクノリッジ信号BUSACKP
をアサートすることにより示す。
【0336】アービタ制御回路505は、DMAREQ3Pがア
サートされたことにより、カウンタ503に対し、カウ
ントクリア信号を出力し、カウンタ503はクリア信号
を入力すると、カウント値を「0」に保持する。
【0337】同様にサイクル10においては、カウント
値が最も大きいDMAREQ4Pが選択され、セレクト信号が
[11]に設定され、サイクル11から13において、
DMAコントローラ4が要求するメモリアクセスサイク
ルが行われる。
【0338】同様にサイクル14においては、カウント
値が最も大きいCPU1が選択され、セレクト信号が
[00]に設定され、サイクル15からサイクル17の
おいてCPU1が要求するメモリアクセスサイクルが行
われる。
【0339】以下、同様に、サイクル18においては、
DMAコントローラ2が選択され、サイクル22におい
てはDMAコントローラ4が選択され、サイクル26に
おいては、DMAコントローラ3が選択され、サイクル
30においては、CPU1が選択され、サイクル35に
おいてはDMAコントローラ2が選択され、サイクル3
9においては、DMAコントローラ4が選択され、サイ
クル43においては、DMAコントローラ3が選択され
る。
【0340】サイクル47からサイクル54において
は、全てのバス使用要求信号がアサートされておらず、
メモリアクセスサイクルは発生しない。
【0341】サイクル55において、DMAREQ4Pがアサー
トされるので、サイクル56から58において、DMA
コントローラ4が要求するメモリアクセスサイクルが行
われ、サイクル59においてはDMAコントローラ3が
選択され、サイクル63においてはDMAコントローラ
2が選択され、サイクル67においてはCPU1が選択
される。
【0342】〈効果〉以上のように、具体例11によれ
ば、共通のバスを使用する複数の装置からのバス使用要
求のアービトレイションを行う際に以下の効果がある。
【0343】バス使用要求信号がアサートされてから
メモリアクセスが行われるまでの時間をカウントするカ
ウンタを設け、前記カウント値が最も大きいバス使用要
求信号を優先してアービトレイションするようにしたの
で、バス使用要求信号をアサートしてから最も待たされ
ている装置のバス使用要求信号に対しメモリアクセスサ
イクルを行うことが可能となり、バス使用要求信号を出
力する複数の装置間において、バス使用要求信号をアサ
ートしてからメモリアクセスが行われるまでの待ち時間
を平均的にする効果がある。従って、複数の装置におい
て、バス使用要求信号が連続的にアサートされても、バ
ス使用要求信号をアサートする各装置に対し万遍なくメ
モリアクセスを行うことを可能とする効果がある。
【0344】バス使用要求信号がアサートされてから
メモリアクセスが行われるまでの時間をカウントするカ
ウンタを設け、前記カウンタのカウント値がラッチ回路
に前もって設定した所定の値に達した場合には前記所定
の値にカウント値を保持する回路を設けたことにより、
ラッチ回路の設定値を充分大きな値に設定した場合に
は、バス使用要求信号をアサートする各装置に対し万遍
なくメモリアクセスが行われるようにアービトレイショ
ンを設定することができ、一方、ラッチ回路の設定値を
小さ目の値に設定することで、バス使用要求信号に対し
前もって設定されている優先順位に従いメモリアクセス
が行われるようアービトレイションを設定することが可
能であり、前記各装置の状況に応じ最適なアービトレイ
ションを行える効果がある。
【0345】〈利用形態〉具体例11では、カウンタの
カウント値の最大値を設定するためにラッチを設けた
が、ラッチではなくカウンタがオーバーフローしたこと
を検出し、カウント動作を停止し、クリア信号をウェイ
トする構成としても同様の効果が得られる。
【0346】また、具体例11では、カウンタのカウン
ト値の最大値を設定するラッチ回路を、全てのカウンタ
に対し共通のラッチ回路としたが、カウンタそれぞれに
対して個別のカウンタ値の最大値を設けるべく、カウン
タ毎にラッチ回路を設ける構成としても同様の効果が得
られる。
【0347】《具体例12》 〈構成〉図54は、具体例12のバス使用権調停システ
ムの構成図である。図面に示すように、具体例12のバ
ス使用権調停システムは、所定の処理の起動信号68
が、バスコントローラ105とDMAコントローラ2に
入力されるよう構成され、また、DMAコントローラ2
からバスコントローラ105に対して所定の処理の終了
信号69が入力されるよう構成されている。
【0348】所定の処理の起動信号68は、図示しない
アドレスデコーダから出力される起動信号である。ま
た、所定の処理の終了信号69は、DMAコントローラ
2において、所定の処理が終了した場合に出力される信
号である。
【0349】図55は、具体例12におけるバスコント
ローラ105の構成図である。図面に示すように、バス
使用権調停部106には、所定の処理の起動信号68と
所定の処理の終了信号69とが入力されるよう構成され
ている。その他の構成は図1に示した具体例1および図
27に示した具体例8と同様である。
【0350】図56は、バス使用権調停部106の構成
図である。図56に示すように、バス使用権調停部10
6は、期間信号発生部であるフリップフロップ(FF)
600とアービタ制御回路601からなる。
【0351】フリップフロップ600は、所定の処理の
起動信号68でセットされ、所定の処理の終了信号69
でリセットされるフリップフロップであり、アービタ制
御回路601に対して所定の処理の起動から終了までの
期間“1”を示す期間信号602を出力する機能を有し
ている。アービタ制御回路601は、期間信号602、
バスの使用を要求するCPU1、DMAコントローラ2
〜4がそれぞれ出力するバス使用要求信号CPUREQP、DMA
REQ2P,DMAREQ3P,DMAREQ4Pを入力し、メモリコントロ
ーラ64に対し、バス使用要求信号BUSREQPを出力する
と共に、デコーダ65、セレクタ66,67に対し、セ
レクト信号SELを出力する。またアービタ制御回路60
1はメモリコントローラ64からバスアクノリッジ信号
BUSACKPを入力する。
【0352】〈動作〉先ず、デコーダ65、セレクタ6
6,67の動作は、図6〜8の具体例1で説明した通り
であるため、ここでの説明は省略する。
【0353】図57は、アービタ制御回路601の動作
を示すフローチャートである。アービタ制御回路601
は、装置が動作する状態にある時、期間信号602がア
サートされているかどうかを判断し、NOの場合には期
間信号602がアサートされるまでウェイトし(ステッ
プS1)、YESの場合にはステップS2に進む。
【0354】ステップS2ではCPU1のバス使用要求
信号CPUREQPを抑止し、ステップS3では期間信号60
2がネゲートされているかどうかを判断する。ステップ
S3において、NOの場合には期間信号602がネゲー
トされるまでウェイトし、YESの場合にはステップS
4に進み、ステップS2で抑止したCPU1のバス使用
要求信号CPUREQPの抑止を解除し、CPU1のリクエス
トに対するバスのサービスを再開し、ステップS1に戻
る。
【0355】図58および図59は、具体例12の動作
を説明するためのタイムチャートである。尚、このタイ
ムチャートにおけるサイクルは、図54〜図56におい
て、図示省略したクロックCLKの1周期に対し便宜的に
番号を付与したものである。
【0356】サイクル2において、CPU1、DMAコ
ントローラ3、4が同時にバス使用要求信号CPUREQP、D
MAREQ3P、DMAREQ4Pをアサートし、バスコントローラ1
05のバス使用権調停部106のアービタ制御回路60
1は、例えば、前もって設定された優先順位が、DMA
コントローラ3、2、4、CPU1の順であったとする
と、その優先順位に従い、最も優先順位の高いDMAコ
ントローラ3を選択し、セレクト信号SEL[10]を出
力すると共に、バスコントローラ105のメモリコント
ローラ64に対し、バス使用要求信号BUSREQPをアサー
トする。
【0357】バスコントローラ105のセレクタ66
は、DMAコントローラ3が出力するアドレスDMADR3P
をアドレスADRに出力する。
【0358】サイクル3において、メモリコントローラ
64はバス使用要求信号BUSREQPがアサートされたこと
を検出し、アドレスADRで指定される記憶装置に対し、
メモリアクセスサイクルを開始すると共に、バス使用要
求信号BUSREQPに対し、メモリアクセスサイクルを開始
したことを示すバスアクノリッジ信号BUSACKPをアサー
トする。
【0359】バスコントローラ105のデコーダ65は
セレクト信号SELが[10]に設定されているので、バ
スアクノリッジ信号DMACKPをDMACK3Pに出力する。
【0360】DMAコントローラ2は、DMACK3Pがアサ
ートされたことを検出すると、バス使用要求信号DMAREQ
3Pをネゲートする(サイクル4)。メモリコントローラ
64はDMAコントローラ2から要求されたメモリアク
セスサイクルを終了すると、バスアクノリッジ信号BUSA
CKPをネゲートする(サイクル6)。
【0361】サイクル6において、バス使用権調停部1
061はCPU1、DMAコントローラ3、4からのバ
ス使用要求を検出し、優先順位の最も高いDMAコント
ローラ4からのバス使用要求信号DMAREQ4Pを選択し、セ
レクト信号SELを[11]に設定する。
【0362】以下、同様にサイクル7からサイクル9ま
で、DMAコントローラ4の要求するメモリアクセスサ
イクルが行われる。
【0363】サイクル10において、バス使用権調停部
106はCPU1からのバス使用要求信号CPUREQPのみ
を検出し、バス使用要求信号CPUREQPを選択し、セレク
ト信号SEL[00]に設定する。以下、同様にサイクル
11からサイクル13までCPU1の要求するメモリア
クセスサイクルが行われる。尚、サイクル11におい
て、DMAコントローラ4からのバス使用要求信号DMAR
EQ4Pがアサートされるが、既にCPU1の要求に対する
メモリアクセスサイクルが始まっているので無視され
る。
【0364】サイクル14において、バス使用権調停部
106は、CPU1およびDMAコントローラ4からの
バス使用要求信号を検出し、優先順位の高いDMAコン
トローラ4からのバス使用要求信号DMAREQ4Pを選択し、
セレクト信号SEL[11]に設定する。以下、同様にサ
イクル15からサイクル17までDMAコントローラ4
が要求するメモリアクセスサイクルが行われる。
【0365】サイクル18において、バス使用権調停部
106はサイクル10と同様の動作を行い、サイクル1
9からサイクル21までCPU1から要求されるメモリ
アクセスサイクルが行われる。尚、サイクル19におい
て、DMAコントローラ4からのバス使用要求信号DMAR
EQ4Pがアサートされるが、既にCPU1の要求に対する
メモリアクセスサイクルが始まっているので無視され
る。
【0366】サイクル20において、CPU1からDM
Aコントローラ2への所定の処理の起動信号68が図示
しないアドレスデコーダからアサートされ、サイクル2
1において、バス使用権調停部106のフリップフロッ
プ600がセットされて期間信号602をアサートす
る。
【0367】サイクル21において、バス使用権調停部
106は、期間信号602がアサートされていることを
検出し(ステップS1)、CPU1からのバス使用要求
信号CPUREQPを抑止する(ステップS2)。
【0368】サイクル22において、CPU1からのバ
ス使用要求信号CPUREQPが抑止されているので、バス使
用権調停部106はDMAコントローラ4からのバス使
用要求信号DMAREQ4Pのみを検出し、バス使用要求信号DM
AREQ4Pを選択し、セレクト信号SELを[11]に設定す
る。
【0369】サイクル23からサイクル25において、
メモリコントローラ64はDMAコントローラ4が要求
するメモリアクセスサイクルを行う。
【0370】サイクル26において、期間信号602が
アサートされており、CPU1からのバス使用要求信号
CPUREQPは抑止されたままであるため無視され、サイク
ル27において、バス使用権調停部106は、DMAコ
ントローラ2からのバス使用要求信号DMAREQ2Pのみを検
出し、バス使用要求信号DMAREQ2Pを選択し、セレクト信
号SEL[01]に設定し、メモリコントローラ64は、
DMAコントローラ2が要求するメモリアクセスを、サ
イクル28から30において行う。
【0371】以下、同様にサイクル31〜サイクル3
5、サイクル36〜サイクル40、サイクル41〜サイ
クル45、サイクル46〜サイクル50まで、それぞれ
サイクル31、サイクル36、サイクル41、サイクル
46において、CPU1からのバス使用要求信号CPUREQ
Pは抑止されたままであるため無視され、DMAコント
ローラ2が要求するメモリアクセスサイクルが行われ
る。
【0372】サイクル51において、DMAコントロー
ラ2から所定の処理の終了信号69が出力されると、サ
イクル52でバス使用権調停部106のフリップフロッ
プ600がリセットされて、期間信号602をネゲート
する。
【0373】バス使用権調停部106は期間信号602
がネゲートされたことを検出すると(ステップS3)、
抑止していたCPU1からのバス使用要求信号CPUREQP
の抑止を解除し(ステップS4)、ステップS1に戻
る。
【0374】サイクル52において、バス使用権調停部
106は、CPU1からのバス使用要求信号CPUREQPの
みを検出し、バス使用要求信号CPUREQPを選択し、セレ
クト信号SELを[00]に設定する。以下、同様にサイ
クル53からサイクル55までCPU1の要求するメモ
リアクセスサイクルが行われる。
【0375】以下、同様にサイクル56〜サイクル59
まで、CPU1の要求するメモリアクセスサイクルが行
われる。
【0376】〈効果〉以上のように、具体例12によれ
ば、共通のバスを使用する複数の装置からのバス使用要
求のアーピトレイションを行う際に以下の効果がある。
【0377】所定の処理の起動信号がアサートされ、D
MAコントローラが優先的にメモリアクセスを行う必要
がある場合、所定の処理の終了信号がアサートされるま
でCPUからのメモリアクセスを強制的にウェイトさせ
ることが可能であり、DMAコントローラが優先的にメ
モリアクセスを行うことができる。
【0378】〈利用形態〉具体例12では、所定の処理
を行う装置をDMAコントローラ2としたが、他のDM
Aコントローラや、DMAコントローラ以外にもバスを
共有する他のバスマスタであっても同様の効果を奏す
る。
【0379】《具体例13》 〈構成〉図60は、具体例13のバス使用権調停システ
ムの構成図である。図面に示すように、具体例13のバ
ス使用権調停システムにおいて、具体例12のバス使用
権調停システムと異なる点は、バス40に接続されたR
S232Cインタフェース(I/F)装置108から出
力される割り込み信号70がCPU1とバスコントロー
ラ107に入力されるよう構成されている点である。
【0380】RS232Cインタフェース装置108
は、図示しないトランシーバを介して図示省略したホス
ト装置とシリアル送信データTxDの送信およびシリア
ル受信データRxDの受信を行うインタフェースであ
る。また、RS232Cインタフェース装置108は、
1バイトのデータの送信または受信毎に、CPU1およ
びバスコントローラ107に対して割り込み信号70を
出力するよう構成されている。
【0381】また、所定の処理の起動信号68が、バス
コントローラ105とDMAコントローラ2に入力され
るよう構成され、DMAコントローラ2からバスコント
ローラ105に対して所定の処理の終了信号69が入力
されるよう構成されているのは具体例12と同様であ
る。
【0382】図61は、具体例13におけるバスコント
ローラ107の構成図である。具体例12と異なる点
は、バス使用権調停部109に対して割り込み信号70
が入力される点であり、他の構成は対応する部分に同一
符号を付してその説明を省略する。
【0383】図62は、具体例13におけるバス使用権
調停部109の構成図である。図62に示すように、バ
ス使用権調停部は、割り込みフラグ発生部であるフリッ
プフロップ(FF)700と、期間信号発生部であるフ
リップフロップ703と、アービタ制御回路701から
なる。
【0384】フリップフロップ703は、割り込み信号
70を入力し、この割り込み信号70を保持するフリッ
プフロップ(FF)である。また、割り込みフラグ70
4は、フリップフロップ703に入力される図示しない
クリア信号によりクリアされるよう構成されている。
【0385】フリップフロップ700は、具体例12の
フリップフロップ600と同様のフリップフロップであ
り、所定の処理の起動信号68でセットされ、所定の処
理の終了信号69でリセットされ、アービタ制御回路7
01に対して所定の処理の起動から終了までの期間
“1”を示す期間信号702を出力する。
【0386】アービタ制御回路701は、期間信号70
2と割り込みフラグ704、バスの使用を要求するCP
U1、DMAコントローラ2〜4がそれぞれ出力するバ
ス使用要求信号CPUREQP、DMAREQ2P,DMAREQ3P,DMAREQ4
Pを入力し、メモリコントローラ64に対し、バス使用
要求信号BUSREQPを出力すると共に、デコーダ65、セ
レクタ66,67に対し、セレクト信号SELを出力す
る。またアービタ制御回路701はメモリコントローラ
64からバスアクノリッジ信号BUSACKPを入力する。
【0387】〈動作〉先ず、バスコントローラ107の
デコーダ65、セレクタ66,67およびメモリコント
ローラ64の動作は、具体例12と同一の動作を行うの
で、ここでの説明を省略する。
【0388】図63は具体例13におけるアービタ制御
回路701の動作を説明するフローチャートである。装
置が動作する状態にあるとき、期間信号702がアサー
トされていて、かつ割り込みフラグ704がネゲートさ
れているかどうかを判断し、NOの場合にはYESとな
るまでウェイトし(ステップS1)、YESの場合には
ステップS2に進む。
【0389】ステップS2では、CPU1のバス使用要
求信号CPUREQPを抑止し、ステップS3で期間信号70
2ネゲートされているか、または、割り込みフラグ70
4がアサートされているかどうかを判断し、NOの場合
にはYESとなるまでウェイトし、YESの場合にはス
テップS4に進む。
【0390】ステップS4では、CPU1のバス使用要
求信号CPUREQPの抑止を解除し、CPU1のリクエスト
に対するバスのサービスを再開し、ステップS1に戻
る。
【0391】図64は、具体例13におけるCPU1の
割り込み処理を説明するフローチャートである。
【0392】CPU1に接続された割り込み信号70が
アサートされた場合に(ステップS11)、CPU1は
割り込み信号70に応じた処理を行い(ステップS1
2)、所定の割り込み処理が終了した後、割り込み信号
70を検出し保持するフリップフロップ703が保持し
ている割り込みフラグ704をクリアし(ステップS1
3)、割り込み処理から抜ける(ステップS14)。
【0393】図65および図66は、具体例13の動作
を説明するタイムチャートである。尚、このタイムチャ
ートにおけるサイクルは、図60〜図62において、図
示省略したクロックCLKの1周期に対し便宜的に番号を
付与したものである。
【0394】サイクル2において、CPU1、DMAコ
ントローラ3、4が同時にバス使用要求信号CPUREQP、D
MAREQ3P,DMAREQ4Pをアサートし、バスコントローラ1
07のバス使用権調停部109におけるアービタ制御回
路701は、例えば、前もって設定された優先順位が、
DMAコントローラ3、2、4、CPU1の順であった
とすると、その優先順位に従い、最も優先順位の高いD
MAコントローラ3を選択し、セレクト信号SELに[1
0]を出力すると共に、メモリコントローラ64に対し
バス使用要求信号BUSREQPをアサートする。
【0395】セレクタ66は、DMAコントローラ3が
出力するアドレスDMADR3PをアドレスADRに出力する。
【0396】サイクル3において、メモリコントローラ
64は、バス使用要求信号BUSREQPがアサートされたこ
とを検出し、アドレスADRで指定される記憶装置に対
し、メモリアクセスサイクルを開始すると共に、バス使
用要求信号BUSREQPに対し、メモリアクセスサイクルを
開始したことを示すバスアクノリッジ信号BUSACKPをア
サートする。
【0397】デコーダ65は、セレクト信号SELが[1
0]に設定されているので、バスアクノリッジ信号BUSA
CKPをDMACK3Pに出力する。
【0398】DMAコントローラ3は、DMACK3Pがアサ
ートされたことを検出すると、バス使用要求信号DMAREQ
3Pをネゲートする(サイクル4)。メモリコントローラ
64はDMAコントローラ3から要求されたメモリアク
セスサイクルを終了するとバスアクノリッジ信号BUSACK
Pをネゲートする(サイクル6)。
【0399】サイクル6において、バス使用権調停部1
09は、CPU1、DMAコントローラ3、4からのバ
ス使用要求を検出し、優先順位の最も高いDMAコント
ローラ4からのバス使用要求信号DMAREQ4Pを選択し、セ
レクト信号SELを[11]に設定する。以下同様に、サ
イクル7からサイクル9までDMAコントローラ4の要
求するメモリアクセスサイクルが行われる。
【0400】サイクル10において、バス使用権調停部
109は、CPU1からのバス使用要求信号CPUREQPの
みを検出し、バス使用要求信号CPUREQPを選択し、セレ
クト信号SELを[10]に設定する。以下同様に、サイ
クル11からサイクル13までCPU1の要求するメモ
リアクセスサイクルが行われる。尚、サイクル11にお
いて、DMAコントローラ4からのバス使用要求信号DM
AREQ4Pがアサートされるが、既にCPU1の要求に対す
るメモリアクセスサイクルが始まっているので無視され
る。
【0401】サイクル14において、バス使用権調停部
109は、CPU1、DMAコントローラ4からのバス
使用要求信号を検出し、優先順位の高いDMAコントロ
ーラ4からのバス使用要求信号DMAREQ4Pを選択し、セレ
クト信号SELを[11]に設定する。以下同様に、サイ
クル15からサイクル17までDMAコントローラ4が
要求するメモリアクセスサイクルが行われる。
【0402】サイクル18において、バス使用権調停部
109は、サイクル10と同様の動作を行い、サイクル
19からサイクル21までCPU1から要求されるメモ
リアクセスサイクルが行われる。尚、サイクル19にお
いて、DMAコントローラ4からのバス使用要求信号DM
AREQ4Pがアサートされるが、既にCPU1の要求に対す
るメモリアクセスサイクルが始まっているので無視され
る。
【0403】サイクル20において、CPU1からDM
Aコントローラ2への所定の処理の起動信号68が図示
しないアドレスデコーダからアサートされ、サイクル2
1においてバス使用権調停部109のフリップフロップ
700がセツトされて、期間信号702をアサートす
る。
【0404】サイクル21において、バス使用権調停部
109は、期間信号702がアサートされていて、か
つ、割り込みフラグ704がネゲートされていることを
検出し(ステップS1)、CPU1からのバス使用要求
信号CPUREQPを抑止する(ステップS2)。
【0405】サイクル22において、CPU1からのバ
ス使用要求信号CPUREQPが抑止されているので、バス使
用権調停部109は、DMAコントローラ4からのバス
使用要求信号DMAREQ4Pのみを検出し、バス使用要求信号
DMAREQ4Pを選択し、セレクト信号SELを[11]に設定
する。サイクル23から25において、メモリコントロ
ーラ64は、DMAコントローラ4が要求するメモリア
クセスサイクルを行う。
【0406】サイクル26において、期間信号702が
アサートされていて、かつ、割り込みフラグ704がネ
ゲートされており、CPU1からのバス使用要求信号は
抑止されたままであるため無視され、サイクル27にお
いて、DMAコントローラ2からのバス使用要求信号DM
AREQ2Pのみがバス使用権調停部109において検出され
る。
【0407】バス使用権調停部109は、バス使用要求
信号DMAREQ2Pを選択し、セレクト信号SELを[01]に
設定し、メモリコントローラ64は、DMAコントロー
ラ2が要求するメモリアクセスをサイクル28からサイ
クル30において行う。以下同様に、サイクル31にお
いてCPU1からのバス使用要求信号は抑止されたまま
であるため無視され、サイクル31〜サイクル35でD
MAコントローラ2が要求するメモリアクセスサイクル
が行われる。
【0408】サイクル34において、RS232Cイン
タフェース装置108から割り込み信号70がバスコン
トローラ107に入力されると、前記割り込み信号70
はバス使用権調停部109に入力され、サイクル35に
おいて、バス使用権調停部109のフリップフロップ7
03が割り込み信号70を検出・保持して割り込みフラ
グ704をアサートする。
【0409】サイクル35において、バス使用権調停部
109は、期間信号702がネゲートされているか、ま
たは、割り込みフラグ704がアサートされていること
を検出し(ステップS3)、CPU1からのバス使用要
求信号CPUREQPの抑止を解除する(ステップS4)。
【0410】また、サイクル34において、CPU1に
接続された前記割り込み信号70がアサートされると
(ステップS11)、CPU1は割り込み信号70に応
じた処理に移行する(ステップS12)。
【0411】サイクル36において、バス使用権調停部
109は、CPU1からのバス使用要求信号CPUREQPの
みを検出し、バス使用要求信号CPUREQPを選択し、セレ
クト信号SELを[00]に設定する。以下同様に、サイ
クル37からサイクル39までCPU1の要求するメモ
リアクセスサイクルが行われる。尚、サイクル37にお
いて、DMAコントローラ2からのバス使用要求信号DM
AREQ2Pがアサートされるが、既にCPU1の要求に対す
るメモリアクセスサイクルが始まっているので無視され
る。
【0412】サイクル40において、バス使用権調停部
109は、CPU1、DMAコントローラ2からのバス
使用要求信号を検出し、優先順位の高いDMAコントロ
ーラ2からのバス使用要求信号DMAREQ2Pを選択し、セレ
クト信号SELを[01]に設定する。以下同様に、サイ
クル41からサイクル43までDMAコントローラ2が
要求するメモリアクセスサイクルが行われる。
【0413】以下、サイクル44〜サイクル47におい
ては、サイクル36〜サイクル39と同様に、CPU1
の要求するメモリアクセスサイクルが行われる。
【0414】サイクル46において、CPU1が、割り
込み信号70を検出し保持するフリップフロップ703
が保持している割り込みフラグ704のクリア命令を実
行すると(ステップS13)、サイクル47で、バス使
用権調停部109のフリップフロップ703がクリアさ
れ、割り込みフラグ704がネゲートされる。
【0415】サイクル47において、バス使用権調停部
109は、期間信号702がアサートされていて、か
つ、割り込みフラグ704がネゲートされていることを
再び検出し(ステップS1)、CPU1からのバス使用
要求信号CPUREQPを抑止する(ステップS2)。
【0416】サイクル48において、CPU1からのバ
ス使用要求信号CPUREQPが抑止されているので、バス使
用権調停部109は、DMAコントローラ2からのバス
使用要求信号DMAREQ2Pのみを検出し、バス使用要求信号
DMAREQ2Pを選択し、セレクト信号SELを[01]に設定
する。サイクル49からサイクル51において、メモリ
コントローラ64はDMAコントローラ2が要求するメ
モリアクセスサイクルを行う。
【0417】サイクル52において、期間信号702が
アサートされていてかつ、割り込みフラグ704がネゲ
ートされており、CPU1からのバス使用要求信号は抑
止されたままであるため無視され、サイクル53におい
て、DMAコントローラ2からのバス使用要求信号DMAR
EQ2Pのみがバス使用権調停部109において検出され
る。
【0418】バス使用権調停部109はバス使用要求信
号DMAREQ2Pを選択し、セレクト信号SELを[01]に設
定し、メモリコントローラ64は、DMAコントローラ
2が要求するメモリアクセスを、サイクル54からサイ
クル56において行う。サイクル57において、DMA
コントローラ2から所定の処理の終了信号69が出力さ
れると、サイクル58でバス使用権調停部109のフリ
ップフロップ700がリセットされて期間信号702を
ネゲートする。
【0419】バス使用権調停部109は、期間信号70
2がネゲートされたことを検出すると(ステップS
3)、抑止していたCPU1からのバス使用要求信号CP
UREQPの抑止を解除し、(ステップS4)、ステップS
1に戻る。
【0420】サイクル58において、バス使用権調停部
109は、CPU1からのバス使用要求信号CPUREQPの
みを検出し、バス使用要求信号CPUREQPを選択し、セレ
クト信号SELを[00]に設定する。以下同様にサイク
ル59からサイクル61までCPU1の要求するメモリ
アクセスサイクルが行われる。
【0421】〈効果〉以上のように、具体例13によれ
ば、共通のバスを使用する複数の装置からのバス使用要
求のアービトレイションを行う際に以下の効果がある。
【0422】所定の処理の起動信号がアサートされ、
DMAコントローラが優先的にメモリアクセスを行う必
要がある場合、所定の処理の終了信号がアサートされる
までCPUからのメモリアクセスを強制的にウェイトさ
せることが可能であり、DMAコントローラが優先的に
メモリアクセスを行うことができる。
【0423】所定の処理の起動信号がアサートされ、
所定の処理の終了信号がアサートされるまでCPUから
のメモリアクセスを強制的にウェイトさせているとき
に、割り込み信号がアサートされ、CPUが優先的にメ
モリアクセスを行う必要がある場合は、CPUからのメ
モリアクセスの強制的ウェイトを中断させることが可能
であり、CPUが優先的にメモリアクセスを行うことが
できる。
【0424】〈利用形態〉具体例13では、所定の処理
を行う装置をDMAコントローラ2としたが、他のDM
Aコントローラや、DMAコントローラ以外にもバスを
共有する他のバスマスタであっても同様の効果を奏す
る。また、割り込み信号を発生する装置もRS232C
インタフェース装置に限るものではなく、バスを共有す
るあらゆる装置に適用可能である。
【図面の簡単な説明】
【図1】本発明に係る具体例1のバス使用権調停システ
ムのバスコントローラの構成を示す図である。
【図2】本発明に係る具体例1のバス使用権調停システ
ムの構成を示す図である。
【図3】優先順位情報記憶部62に記憶された優先順位
情報の説明図である。
【図4】バス使用権調停部63に入出力される要求信号
の説明図である。
【図5】バス使用権調停部63のバス使用権調停方法の
説明図である。
【図6】デコーダ65の説明図である。
【図7】セレクタ66の説明図である。
【図8】セレクタ67の説明図である。
【図9】具体例1のバス使用権調停システムの動作を示
すタイムチャートである。
【図10】バスコントローラ100の構成を示すブロッ
ク図である。
【図11】具体例2のバス使用権調停システムの動作を
示すタイムチャートである。
【図12】バスコントローラ101の構成を示すブロッ
ク図である。
【図13】組合せ情報記憶部72の組合せ情報の説明図
である。
【図14】本発明に係る具体例4のバス使用権調停シス
テムの構成を示す図である。
【図15】バス使用権の優先順位の説明図である。
【図16】要求信号マスク部82の入出力端を示す図で
ある。
【図17】要求信号マスク部82の構成を示すブロック
図である。
【図18】具体例4のバス使用権調停システムの動作を
示すタイムチャートである。
【図19】具体例5のバス使用権調停システムの要求信
号マスク部85の入出力端を示す図である。
【図20】要求信号マスク部85の構成を示すブロック
図である。
【図21】具体例5のバス使用権調停システムの動作を
示すタイムチャートである。
【図22】本発明に係る具体例6のバス使用権調停シス
テムの構成を示すブロック図である。
【図23】要求信号マスク部86の構成を示すブロック
図である。
【図24】具体例6のバス使用権調停システムの動作を
示すタイムチャートである。
【図25】具体例7のバス使用権調停システムの要求信
号マスク部87の構成を示す図である。
【図26】本発明に係る具体例8のバス使用権調停シス
テムの構成図である。
【図27】具体例8のバスコントローラの構成図であ
る。
【図28】具体例8のバス使用権調停部の構成図であ
る。
【図29】具体例8のアービタ制御回路の動作を示すフ
ローチャートである。
【図30】具体例8の割り込み動作を説明するフローチ
ャートである。
【図31】具体例8の動作を説明するためのタイムチャ
ート(その1)である。
【図32】具体例8の動作を説明するためのタイムチャ
ート(その2)である。
【図33】本発明に係る具体例9のバス使用権調停部の
構成図である。
【図34】具体例9の優先順位の説明図である。
【図35】具体例9のカウンタの動作を説明するフロー
チャートである。
【図36】具体例9のアービタ制御回路の動作を示すフ
ローチャートである。
【図37】具体例9の動作を示すタイムチャート(その
1)である。
【図38】具体例9の動作を示すタイムチャート(その
2)である。
【図39】本発明に係る具体例10のバス使用権調停部
の構成図である。
【図40】具体例10のアービタ制御回路のアービトレ
イションの優先順位の説明図である。
【図41】具体例10のアービタ制御回路の動作を説明
するフローチャートである。
【図42】具体例10のカウンタのカウント動作を説明
するためのフローチャートである。
【図43】具体例10のカウンタのカウントクリア動作
を説明するためのフローチャートである。
【図44】具体例10の動作を説明するためのタイムチ
ャート(その1)である。
【図45】具体例10の動作を説明するためのタイムチ
ャート(その2)である。
【図46】具体例10の他の動作を説明するためのタイ
ムチャート(その1)である。
【図47】具体例10の他の動作を説明するためのタイ
ムチャート(その2)である。
【図48】本発明に係る具体例11のバス使用権調停部
の構成図である。
【図49】具体例11のアービタ制御回路のアービトレ
イションの優先順位の説明図である。
【図50】具体例11のアービタ制御回路の動作を説明
するためのフローチャートである。
【図51】具体例11のカウンタの動作を示すフローチ
ャートである。
【図52】具体例11の動作を示すタイムチャート(そ
の1)である。
【図53】具体例11の動作を示すタイムチャート(そ
の2)である。
【図54】本発明に係る具体例12のバス使用権調停シ
ステムの構成図である。
【図55】具体例12におけるバスコントローラの構成
図である。
【図56】具体例12におけるバス使用権調停部の構成
図である。
【図57】具体例12のアービタ制御回路の動作を示す
フローチャートである。
【図58】具体例12の動作を示すタイムチャート(そ
の1)である。
【図59】具体例12の動作を示すタイムチャート(そ
の2)である。
【図60】本発明に係る具体例13のバス使用権調停シ
ステムの構成図である。
【図61】具体例13のバスコントローラの構成図であ
る。
【図62】具体例13のバス使用権調停部の構成図であ
る。
【図63】具体例13のアービタ制御回路の動作を説明
するフローチャートである。
【図64】具体例13のCPUの割り込み処理を説明す
るフローチャートである。
【図65】具体例13の動作を説明するタイムチャート
(その1)である。
【図66】具体例13の動作を説明するタイムチャート
(その2)である。
【符号の説明】
1 CPU 2、3、4 DMAコントローラ 5 バスコントローラ 6、7、8 記憶装置 10 割り込み信号 11、12、13、14 要求信号線 21、22、23、24 承諾信号線 31、32、33、34、40 バス 31a、32a、33a、34a、40a アドレスバ
ス 31b、32b、33b、34b、40b データバス 51、52、53 チップセレクト信号線 61 カウンタ 62 優先順位情報記憶部 63 バス使用権調停部 64 メモリコントローラ 65 デコーダ 66、67 セレクタ 202、301、501、502、503、504 カ
ウンタ 203、302、505、601、701 アービタ制
御回路 303 カウントイネーブル信号 304、404 オーバーフローフラグ 403 フラグクリア信号 600 期間信号発生部 703 割り込みフラグ発生部
───────────────────────────────────────────────────── フロントページの続き (72)発明者 山本 聡 東京都港区芝浦四丁目11番地22号 株式会 社沖データ内 (72)発明者 遠藤 義和 東京都港区芝浦四丁目11番地22号 株式会 社沖データ内 Fターム(参考) 5B061 BA01 BB07 BB15 BB16 BC06 QQ04 RR02 RR03 RR05 RR06

Claims (14)

    【特許請求の範囲】
  1. 【請求項1】 バス使用権の要求信号を出力する複数の
    バスマスタと、 前記複数のバスマスタのそれぞれの要求信号を受け、こ
    れらの要求信号に基づく前記複数のバスマスタ間のバス
    使用権を調停するバスコントローラとを備え、前記バス
    コントローラは、 前記複数のバスマスタ間のバス使用権の優先順位の情報
    であり、それぞれ異なる順位付けをした複数組の優先順
    位情報を記憶する優先順位情報記憶部と、 前記優先順位情報記憶部に記憶された複数組の優先順位
    情報のうちバス使用権の調停に使用する何れか1組の優
    先順位情報を所定の時間毎に切り換えて選択する優先順
    位情報切換選択部とを有することを特徴とするバス使用
    権調停システム。
  2. 【請求項2】 バス使用権の要求信号を出力する複数の
    バスマスタと、 前記複数のバスマスタのそれぞれの要求信号を受け、こ
    れらの要求信号に基づく前記複数のバスマスタ間のバス
    使用権を調停するバスコントローラとを備え、 前記バスコントローラは、 前記複数のバスマスタ間のバス使用権の優先順位の情報
    であり、それぞれ異なる順位付けをした複数組の優先順
    位情報を予め記憶する優先順位情報記憶部と、 前記優先順位情報記憶部に記憶された複数組の優先順位
    情報のうちバス使用権の調停に使用する何れか1組の優
    先順位情報を、何れかのバスマスタにバス使用権が承諾
    される毎に切り換えて選択する優先順位情報切換選択部
    とを有することを特徴とするバス使用権調停システム。
  3. 【請求項3】 バス使用権の要求信号を出力する複数の
    バスマスタと、 前記複数のバスマスタのそれぞれの要求信号を受け、こ
    れらの要求信号に基づく前記複数のバスマスタ間のバス
    使用権を調停するバスコントローラとを備え、 前記バスコントローラは、 前記複数のバスマスタ間のバス使用権の優先順位の情報
    であり、それぞれ異なる順位付けをした複数組の優先順
    位情報と、前記複数組の優先順位情報の中から所定の組
    数の優先順位情報をそれぞれ異なる組合せにより取り出
    すための複数の組合せ情報とを対応付けて記憶する第1
    の優先順位情報記憶部と、 前記第1の優先順位情報記憶部に記憶された複数の組合
    せ情報のうち1つの組合せ情報を選択する組合せ情報選
    択部と、 前記組合せ情報選択部により選択された組合せ情報の前
    記所定の組数の優先順位情報を前記第1の優先順位情報
    記憶部から読み出し、読み出された前記所定の組数の優
    先順位情報を記憶する第2の優先順位情報記憶部と、 前記第2の優先順位情報記憶部に記憶された前記所定の
    組数の優先順位情報のうちバス使用権の調停に使用する
    何れか1組の優先順位情報を所定の時間毎に切り換えて
    選択する優先順位情報切換選択部とを有することを特徴
    とするバス使用権調停システム。
  4. 【請求項4】 バス使用権の要求信号を出力する複数の
    バスマスタと、 前記複数のバスマスタのそれぞれの要求信号を受け、こ
    れらの要求信号に基づく前記複数のバスマスタ間のバス
    使用権を調停するバスコントローラとを備え、 前記バスコントローラは、 前記複数のバスマスタ間のバス使用権の優先順位の情報
    であり、それぞれ異なる順位付けをした複数組の優先順
    位情報と、前記複数組の優先順位情報の中から所定の組
    数の優先順位情報をそれぞれ異なる組合せにより取り出
    すための複数の組合せ情報とを対応付けて記憶する第1
    の優先順位情報記憶部と、 前記第1の優先順位情報記憶部に記憶された複数の組合
    せ情報のうち1つの組合せ情報を選択する組合せ情報選
    択部と、 前記組合せ情報選択部により選択された組合せ情報の前
    記所定の組数の優先順位情報を前記第1の優先順位情報
    記憶部から読み出し、読み出された前記所定の組数の優
    先順位情報を記憶する第2の優先順位情報記憶部と、 前記第2の優先順位情報記憶部に記憶された前記所定の
    組数の優先順位情報のうちバス使用権の調停に使用する
    何れか1組の優先順位情報を、何れかのバスマスタにバ
    ス使用権が承諾される毎に切り換えて選択する優先順位
    情報切換選択部とを有することを特徴とするバス使用権
    調停システム。
  5. 【請求項5】 バス使用権の要求信号を出力する複数の
    バスマスタと、 前記複数のバスマスタのそれぞれの要求信号を受け、こ
    れらの要求信号に基づく前記複数のバスマスタ間のバス
    使用権を調停するバスコントローラと、 前記複数のバスマスタのうち少なくとも1つのバスマス
    タに対応して設けられ、前記バスコントローラにより、
    前記少なくとも1つのバスマスタにバス使用権が承諾さ
    れたとき、バス使用権が承諾された当該バスマスタから
    出力される要求信号が前記バスコントローラに入力され
    るのを一時的にマスクする要求信号マスク部とを備えた
    ことを特徴とするバス使用権調停システム。
  6. 【請求項6】 バス使用権の要求信号を出力する複数の
    バスマスタと、 前記複数のバスマスタのそれぞれの要求信号を受け、こ
    れらの要求信号に基づく前記複数のバスマスタ間のバス
    使用権を調停するバスコントローラと、 前記複数のバスマスタのうち少なくとも1つのバスマス
    タに対応して設けられ、前記バスコントローラにより、
    同一のバスマスタにバス使用権が承諾された回数をカウ
    ントするカウンタと、 前記カウンタによりカウントされる同一のバスマスタの
    前記回数が所定値に達したとき、当該バスマスタから出
    力される要求信号が前記バスコントローラに入力される
    のを一時的にマスクする要求信号マスク部とを備えたこ
    とを特徴とするバス使用権調停システム。
  7. 【請求項7】 複数のグループに分けて設けられ、バス
    使用権の要求信号を出力する複数のバスマスタと、 前記複数のバスマスタのそれぞれのバス使用権の要求信
    号を受け、これらの要求信号に基づく前記複数のバスマ
    スタ間のバス使用権を調停するバスコントローラと、 前記複数のグループのうち少なくとも1つのグループに
    対応して設けられ、前記バスコントローラにより、前記
    少なくとも1のグループ内の何れか1つのバスマスタに
    バス使用権が承諾されたとき、バス使用権が承諾された
    当該バスマスタが含まれるグループ内の全てのバスマス
    タにより出力される要求信号が前記バスコントローラに
    入力されるのを一時的にマスクする要求信号マスク部と
    を備えたことを特徴とするバス使用権調停システム。
  8. 【請求項8】 複数のグループに分けて設けられ、バス
    使用権の要求信号を出力する複数のバスマスタと、 前記複数のバスマスタのそれぞれのバス使用権の要求信
    号を受け、これらの要求信号に基づく前記複数のバスマ
    スタ間のバス使用権を調停するバスコントローラと、 前記複数のグループのうち少なくとも1つのグループに
    対応して設けられ、前記バスコントローラにより、同一
    グループ内のバスマスタにバス使用権が承諾された回数
    をカウントするカウンタと、 前記カウンタによりカウントされる何れか1つのグルー
    プの前記回数が所定値に達したとき、当該グループ内の
    全てのバスマスタにより出力される要求信号が前記バス
    コントローラに入力されるのを一時的にマスクする要求
    信号マスク部とを備えたことを特徴とするバス使用権調
    停システム。
  9. 【請求項9】 CPUを含む複数のバスマスタからそれ
    ぞれ出力されるバス使用権の要求信号に基づき、これら
    複数のバスマスタ間のバス使用権を調停するバス使用権
    調停システムにおいて、 カウントスタート信号を受け取ってから所定の時間経過
    後にオーバーフローフラグを送出するカウンタと、 前記CPUへの割り込み信号が入力された時点で、前記
    カウントスタート信号を出力し、前記オーバーフローフ
    ラグを受け取るまでに前記CPU以外のバスマスタから
    のバス使用要求を無効とするアービタ制御回路を備えた
    ことを特徴とするバス使用権調停システム。
  10. 【請求項10】 複数のバスマスタからそれぞれ出力さ
    れるバス使用権の要求信号に基づき、これら複数のバス
    マスタ間のバス使用権を調停するバス使用権調停システ
    ムにおいて、 カウントイネーブル信号を受け取ってから所定の時間経
    過後にオーバーフローフラグを送出するカウンタと、 前記複数のバスマスタのうち、特定のバスマスタからの
    バス使用要求があった場合にカウントイネーブル信号を
    送出し、前記カウンタより、オーバーフローフラグを受
    け取った場合は、前記特定のバスマスタの調停の優先順
    位を高くするアービタ制御回路を備えたことを特徴とす
    るバス使用権調停システム。
  11. 【請求項11】 複数のバスマスタからそれぞれ出力さ
    れるバス使用権の要求信号に基づき、これら複数のバス
    マスタ間のバス使用権を調停するバス使用権調停システ
    ムにおいて、 予め決められた値のカウントを行い、当該決められた値
    をカウントするとオーバーフローフラグを送出し、クリ
    ア信号を入力すると、前記オーバーフローフラグをクリ
    アするカウンタと、 前記オーバーフローフラグを受け取った場合は、前記複
    数のバスマスタのうち、特定のバスマスタからのバス使
    用の優先順位を高くし、当該特定のバスマスタのバス使
    用が実行された場合は、当該特定のバスマスタからのバ
    ス使用要求を無効にすると共に、前記カウンタに対して
    前記クリア信号を出力するアービタ制御回路を備えたこ
    とを特徴とするバス使用権調停システム。
  12. 【請求項12】 複数のバスマスタからそれぞれ出力さ
    れるバス使用権の要求信号に基づき、これら複数のバス
    マスタ間のバス使用権を調停するバス使用権調停システ
    ムにおいて、 前記複数のバスマスタに対応して複数設けられ、各バス
    マスタのバス使用要求があった場合にカウントを開始す
    るカウンタと、 調停を行う際に、前記複数のカウンタのカウント値を比
    較し、最も値の大きいカウンタに対応したバスマスタか
    らのバス使用要求に対してバス使用権を与えるアービタ
    制御回路を備えたことを特徴とするバス使用権調停シス
    テム。
  13. 【請求項13】 CPUを含む複数のバスマスタからそ
    れぞれ出力されるバス使用権の要求信号に基づき、これ
    ら複数のバスマスタ間のバス使用権を調停するバス使用
    権調停システムにおいて、 前記CPUによって指令され、前記複数のバスマスタの
    うち、特定のバスマスタが行う所定の処理が起動した時
    点から、当該所定の処理が終了した時点までの期間を示
    す期間信号を出力する期間信号発生部と、 前記期間信号が入力される間は、前記CPUからのバス
    使用要求を無効とするアービタ制御回路とを備えたこと
    を特徴とするバス使用権調停システム。
  14. 【請求項14】 CPUを含む複数のバスマスタからそ
    れぞれ出力されるバス使用権の要求信号に基づき、これ
    ら複数のバスマスタ間のバス使用権を調停するバス使用
    権調停システムにおいて、 前記CPUによって指令され、前記複数のバスマスタの
    うち、特定のバスマスタが行う所定の処理が起動した時
    点から、当該所定の処理が終了した時点までの期間を示
    す期間信号を出力する期間信号発生部と、 前記CPUへの割り込み信号が入力された場合は、割り
    込みフラグを出力する割り込みフラグ発生部と、 前記期間信号が入力され、かつ、前記割り込みフラグが
    入力されない間は、前記CPUからのバス使用要求を無
    効とし、前記期間信号が入力されないか、または、割り
    込みフラグが入力されている場合は、前記CPUに対す
    るバス使用要求の無効処理を解除するアービタ制御回路
    とを備えたことを特徴とするバス使用権調停システム。
JP10320098A 1998-05-20 1998-11-11 バス使用権調停システム Pending JP2000040061A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP10320098A JP2000040061A (ja) 1998-05-20 1998-11-11 バス使用権調停システム
US09/313,279 US6505265B1 (en) 1998-05-20 1999-05-18 Bus arbitration system with changing arbitration rules

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP10-155227 1998-05-20
JP15522798 1998-05-20
JP10320098A JP2000040061A (ja) 1998-05-20 1998-11-11 バス使用権調停システム

Publications (1)

Publication Number Publication Date
JP2000040061A true JP2000040061A (ja) 2000-02-08

Family

ID=26483289

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10320098A Pending JP2000040061A (ja) 1998-05-20 1998-11-11 バス使用権調停システム

Country Status (2)

Country Link
US (1) US6505265B1 (ja)
JP (1) JP2000040061A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002278607A (ja) * 2001-03-21 2002-09-27 Toyo Commun Equip Co Ltd 異周期シーケンサの排他制御回路
JP2007012065A (ja) * 2005-07-01 2007-01-18 Samsung Electronics Co Ltd バスシステム及びバス仲裁方法
JP2010128803A (ja) * 2008-11-27 2010-06-10 Ricoh Co Ltd データ転送装置及びデータ転送方法
JP2012103763A (ja) * 2010-11-08 2012-05-31 Sony Corp アービトレーション回路、および、その制御方法

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001184300A (ja) * 1999-12-27 2001-07-06 Hitachi Ltd データ処理プロセッサ
JP4553279B2 (ja) * 2000-03-09 2010-09-29 インターナショナル・ビジネス・マシーンズ・コーポレーション データ転送システム、データ転送端末、コントローラ、およびインターフェイス方法
US6816923B1 (en) * 2000-07-31 2004-11-09 Webtv Networks, Inc. Arbitrating and servicing polychronous data requests in direct memory access
KR100803114B1 (ko) * 2000-11-30 2008-02-14 엘지전자 주식회사 메모리 중재 방법 및 시스템
KR100358180B1 (ko) * 2000-12-26 2002-10-25 주식회사 케이티 다단접속형 셀 버스 조정장치 및 방법
EP1341093B1 (fr) * 2002-02-26 2012-04-25 Nxp B.V. Accès à une ressource collective
KR100475735B1 (ko) * 2002-07-12 2005-03-10 삼성전자주식회사 긴급채널을 이용한 공유버스 중재방법 및 그 장치
US7065595B2 (en) * 2003-03-27 2006-06-20 International Business Machines Corporation Method and apparatus for bus access allocation
US20050149771A1 (en) * 2003-11-07 2005-07-07 Seiko Epson Corporation Processor control circuit, information processing apparatus, and central processing unit
JP4624715B2 (ja) * 2004-05-13 2011-02-02 ルネサスエレクトロニクス株式会社 システムlsi
US20080034140A1 (en) * 2004-06-16 2008-02-07 Koji Kai Bus Arbitrating Device and Bus Arbitrating Method
WO2006082538A1 (en) * 2005-02-02 2006-08-10 Koninklijke Philips Electronics N.V. Data processing system and method for accessing an electronic resource
FR2888017B1 (fr) * 2005-07-01 2007-08-31 Atmel Nantes Sa Sa Dispositif d'arbitrage asynchrone et microcontroleur comprenant un tel dispositif d'arbitrage
US7159082B1 (en) * 2005-10-03 2007-01-02 Hewlett-Packard Development Company, L.P. System and method for throttling memory accesses
US7472292B2 (en) * 2005-10-03 2008-12-30 Hewlett-Packard Development Company, L.P. System and method for throttling memory power consumption based on status of cover switch of a computer system
TWI318355B (en) * 2006-04-17 2009-12-11 Realtek Semiconductor Corp System and method for bandwidth sharing in busses
WO2008056205A1 (en) * 2006-11-08 2008-05-15 Freescale Semiconductor, Inc. Device and method for managing access requests
JP2008130056A (ja) * 2006-11-27 2008-06-05 Renesas Technology Corp 半導体回路
US20090319708A1 (en) * 2008-06-19 2009-12-24 Yu-Ping Ho Electronic system and related method with time-sharing bus
US8838849B1 (en) 2011-12-08 2014-09-16 Emc Corporation Link sharing for multiple replication modes
JP6210187B2 (ja) * 2012-10-23 2017-10-11 セイコーエプソン株式会社 集積回路装置、物理量測定装置、電子機器および移動体
US9323702B2 (en) * 2012-11-27 2016-04-26 International Business Machines Corporation Increasing coverage of delays through arbitration logic
US9323457B2 (en) * 2013-12-09 2016-04-26 Xilinx, Inc. Memory arrangement for implementation of high-throughput key-value stores
CN110297782B (zh) 2018-03-23 2022-07-22 畅想科技有限公司 仲裁系统和方法
KR20230044002A (ko) 2021-09-10 2023-03-31 창신 메모리 테크놀로지즈 아이엔씨 신호 차폐 회로 및 반도체 메모리
CN115798539A (zh) * 2021-09-10 2023-03-14 长鑫存储技术有限公司 一种信号屏蔽电路以及半导体存储器

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5253347A (en) * 1988-11-18 1993-10-12 Bull Hn Information Systems Italia S.P.A. Centralized arbitration system using the status of target resources to selectively mask requests from master units
DE69230428T2 (de) * 1991-09-27 2000-08-03 Sun Microsystems Inc Verklemmungserkennung und Maskierung enthaltende Busarbitrierungsarchitektur
CA2140685A1 (en) * 1994-01-28 1995-07-29 Randy M. Bonella Bus master arbitration circuitry having improved prioritization
US5471590A (en) * 1994-01-28 1995-11-28 Compaq Computer Corp. Bus master arbitration circuitry having improved prioritization
US5621897A (en) * 1995-04-13 1997-04-15 International Business Machines Corporation Method and apparatus for arbitrating for a bus to enable split transaction bus protocols
JPH08339346A (ja) * 1995-06-09 1996-12-24 Toshiba Corp バスアービタ

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002278607A (ja) * 2001-03-21 2002-09-27 Toyo Commun Equip Co Ltd 異周期シーケンサの排他制御回路
JP4547821B2 (ja) * 2001-03-21 2010-09-22 ネッツエスアイ東洋株式会社 異周期シーケンサの排他制御回路
JP2007012065A (ja) * 2005-07-01 2007-01-18 Samsung Electronics Co Ltd バスシステム及びバス仲裁方法
JP2010128803A (ja) * 2008-11-27 2010-06-10 Ricoh Co Ltd データ転送装置及びデータ転送方法
JP2012103763A (ja) * 2010-11-08 2012-05-31 Sony Corp アービトレーション回路、および、その制御方法

Also Published As

Publication number Publication date
US6505265B1 (en) 2003-01-07

Similar Documents

Publication Publication Date Title
JP2000040061A (ja) バス使用権調停システム
US5535341A (en) Apparatus and method for determining the status of data buffers in a bridge between two buses during a flush operation
US5572686A (en) Bus arbitration scheme with priority switching and timer
US5996037A (en) System and method for arbitrating multi-function access to a system bus
EP0581335B1 (en) Data processing system having units competing for access to shared resources and arbitration unit responsive to the status of the shared resources
US5515516A (en) Initialization mechanism for symmetric arbitration agents
AU687627B2 (en) Multiprocessor system bus protocol for optimized accessing of interleaved storage modules
US7013357B2 (en) Arbiter having programmable arbitration points for undefined length burst accesses and method
US7707340B2 (en) Bus system and method of burst cycle conversion
EP2423824B1 (en) Data transfer device, method of transferring data, and image forming apparatus
US5970234A (en) PCI bus arbiter and a bus control system having the same
KR100708096B1 (ko) 버스 시스템 및 그 실행 순서 조정방법
US6275890B1 (en) Low latency data path in a cross-bar switch providing dynamically prioritized bus arbitration
JP2007058716A (ja) データ転送バスシステム
JP2001188748A (ja) データ転送装置
JP2007018280A (ja) バスシステムの制御方法及び制御回路
US5627968A (en) Data transfer apparatus which allows data to be transferred between data devices without accessing a shared memory
JPH06110829A (ja) バス使用要求調停装置
US5241628A (en) Method wherein source arbitrates for bus using arbitration number of destination
JP4151362B2 (ja) バス調停方式、データ転送装置、及びバス調停方法
JPH0696014A (ja) バス使用優先順位制御装置
JP2021196681A (ja) 半導体装置
JPH10320349A (ja) プロセッサ及び当該プロセッサを用いるデータ転送システム
JP3240863B2 (ja) 調停回路
JPH0689257A (ja) バスブリッジの調停装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040831

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070327

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070528

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070710

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20071113