JPH09297731A - バス分配制御回路 - Google Patents

バス分配制御回路

Info

Publication number
JPH09297731A
JPH09297731A JP10955696A JP10955696A JPH09297731A JP H09297731 A JPH09297731 A JP H09297731A JP 10955696 A JP10955696 A JP 10955696A JP 10955696 A JP10955696 A JP 10955696A JP H09297731 A JPH09297731 A JP H09297731A
Authority
JP
Japan
Prior art keywords
bus
control circuit
cpu
master
permission
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
JP10955696A
Other languages
English (en)
Inventor
Hirozane Sotozono
寛実 外園
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP10955696A priority Critical patent/JPH09297731A/ja
Publication of JPH09297731A publication Critical patent/JPH09297731A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)

Abstract

(57)【要約】 【課題】主制御装置が必ず一定の割合でバスを使用でき
るように、またその際のバス使用率を必要に応じて変更
でき、バスの効率のよい使用を実現できるバス分配制御
回路を実現する。 【解決手段】CPU11と他のバスマスタ、たとえばD
MAC12,DRC13がバスを時分割で使用するとき
に、CPU11以外のバスマスタにも同列にバスの使用
許可を与え、かつ、必ず一定の割合でCPU11がバス
を使用できるようにし、また、その際のバス使用率を必
要に応じてCPU11が任意に変更でき、また割り込み
が発生すると一定時間の間バスをCPU専用とし、バス
使用要求への応答性確保と使用要求がない時のCPUの
バス使用を両立させるバス分配制御回路14を設ける。
これにより、ハンドシェーク等による無駄な空きバスサ
イクルが入ることなくバスを有効利用できる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、主制御装置(以下
CPUと記載する)と他のバスマスタがバスを時分割で
使用するシステムにおいてバスの使用権の分配制御を行
うバス分配制御回路に関するものである。
【0002】
【従来の技術】バスを複数のバスマスタとなり得るデバ
イスが共用し時分割で使用するシステムにおいて、CP
U以外のバスマスタがバスを使用するときには、バスを
同時には使用できないのでCPUを止めてバスを空けさ
せる必要がある。たとえばDMAC(Direct Memory Acc
ess Controller) はバスマスタになり得るデバイスとし
て内部システムのCPUバスに直結されるが、DMAC
からのバス使用要求はバス調停回路(バスアービタと呼
ばれる)を通してCPUに伝えられる。CPUはバスの
空け渡しを要求されると、都合の良いところまでバスを
使用した後に解放し、バスアービタにバスが使用可能と
なったことを通知する。バスアービタはその後にDMA
Cにバス使用許可を与える。バスアービタは原則として
CPU以外のバスマスタに優先的にバス使用権を与える
ため、DMACが長いデータの連続転送を行うとその間
CPUが全く動作できなくなる場合があった。従来この
対策のため、DMACの連続転送時にも1転送終る毎に
一旦バスを解放するという方法が、一般的に採用されて
きた。
【0003】
【発明が解決しようとする課題】しかしながら、上記の
様なバス使用権要求から許可までの一連のハンドシェー
クの過程には、一時的に誰もバスを使わないという無駄
な空きバスサイクルが発生する。このためバスの使用効
率を低下させていた。また、1転送毎に一旦バスを解放
する方式であっても、複数のバスマスタ同士が交互にバ
スを使用すれば結局CPUはバスを使用することができ
ず全く動けなくなるという可能性は解決できていなかっ
た。
【0004】本発明は、かかる事情に鑑みてなされたも
のであり、その目的は、主制御装置が必ず一定の割合で
バスを使用できるように、またその際のバス使用率を必
要に応じて変更でき、バスの効率のよい使用を実現でき
るバス分配制御回路を提供することにある。
【0005】
【課題を解決するための手段】上記目的を達成するた
め、本発明は、バスをCPUと少なくとも一つのバスマ
スタとなり得るデバイスが共用し時分割で使用するシス
テムにおけるバスの分配制御を行うバス分配制御回路で
あって、CPUおよびバスマスタからのバス使用要求を
受けて各々に使用許可を与えるとともに、バスマスタか
らの使用要求が有るにもかかわらず、一定のサイクルで
CPUに対してバス使用許可を与える制御回路を有す
る。
【0006】また、上記制御回路は、少なくとも一つの
制御フィールドを備え外部装置からその内容が任意に設
定可能な制御レジスタを有し、バス使用許可は当該制御
レジスタの内容に応じて行う。制御フィールドとして
は、バスマスタ個別に使用許可/禁止を示す許可/禁止
フィールド、バスマスタの使用優先度を示す優先度フィ
ールド、あるいは、CPUとバスマスタのバス使用率を
設定可能な使用率フィールド等が設けられ、その内容に
基づいて制御回路がCPUまたはバスマスタに使用許可
を与える。
【0007】また、上記制御回路は、上記CPUへの割
り込みが発生すると一定時間の間バスを主制御装置専用
となるように使用許可を与える。
【0008】本発明によれば、CPUとバスマスタがバ
スを時分割で使用するとき、必ず一定の割合でCPUが
バスを使用できる。また、たとえばCPUにより制御レ
ジスタの内容が任意設定/変更される。許可/禁止フィ
ールドで許可されたバスマスタのみバスを使用でき、禁
止されたバスマスタはバス使用許可は与えられず、動作
できない。この内容をバスマスタの動作開始後に変更す
れば、バスマスタの内部設定を一切変更することなくC
PUの都合で動作を継続させたり禁止させたりすること
ができる。また、使用率フィールドでCPUとバスマス
タのバス使用率が設定されると、設定した間隔でまずC
PUのバス使用許可が与えられ、残りのサイクルでバス
マスタにバス使用許可が与えられる。そして、割り当て
のサイクルを使い切ってしまうか、それ以上バス使用要
求がなくなったならば、CPUにバス使用許可が与えら
れる。この内容をバスマスタの動作開始後に変更すれ
ば、バスマスタの内部設定を一切変更することなくCP
Uの都合でバスマスタの動作を加速/抑制できる。ま
た、CPUへの割り込みが発生すると一定時間の間バス
をCPU専用となるように使用許可が与えられる。
【0009】
【発明の実施の形態】図1は、本発明に係るバス分配制
御回路を採用したシステムのブロック構成図である。図
1のシステム10は、主制御装置としてのCPU11
と、バスマスタとなり得るデバイスとしてのDMAC1
2およびDRC(Dram Refresh Controller)13と、バ
ス分配制御回路14とにより構成されている。
【0010】本システム10においては、CPU11と
他のバス権を望むデバイスであるDMAC12,DRC
13は図1のようにアドレスバスABおよびデータバス
DBZに接続され、CPU11,DMAC12,DRC
13がそれぞれバス分配制御回路14に対してバスリク
エスト信号を出力し、バス分配制御回路14からのバス
アクノリッジ信号で使用許可を受ける。具体的には、C
PU11はバスリクエスト信号BRQCPUZを出力
し、バスアクノリッジ信号BAKCPUZにより使用許
可を受ける。同様に、DMAC12はバスリクエスト信
号BRQDMAZを出力し、バスアクノリッジ信号BA
KDMAZにより使用許可を受け、DRC13はバスリ
クエスト信号BRQDRCZを出力し、バスアクノリッ
ジ信号BAKDRCZにより使用許可を受ける。そし
て、バス分配制御回路14から使用が許可されると次の
サイクルからバスを使用することができる。反対に使用
が禁止されるとメモリサイクルの延長(WAIT)中で
ない限り次のサイクルでバスを手放す。これによりバス
権委譲は間に空きサイクルが入ることなく行われる。
【0011】なお、DMAC12の内部には複数のチャ
ネル、たとえばch0,ch1,ch2の3チャネルを
有するが、それらの優先権の調停はDMAC12内部で
行われ、リクエストは1本にまとめられてバスリクエス
ト信号BRQDMAZとしてバス分配制御回路14に与
えられる。
【0012】バス分配制御回路14は、内部バスを使用
したいデバイスからバスリクエスト信号BRQCPU
Z,BRQMDAZ,BRQDRCZを受けとり、あら
かじめ設定された配分方法に従って、いずれか1つのデ
バイスに使用を許可するバスアクノリッジ信号BAKC
PUZ,BAKMDAZ,BAKDRCZを各デバイス
に送出する。また、CPU11の最低限のバス使用率を
確保するため強制的にバスマスタを切り換える機能や、
他のバスマスタであるDMAC12,DRC13のバス
使用を一時的に禁じたりバス使用率を容易に変更できる
構成を有している。さらに、CPU11以外のバスマス
タが高いバス使用率でバスを使用している時に、CPU
11に対して割り込みが発生した時、割り込みの受付や
処理が大幅に遅れると困る場合がある。これを解決する
ため割り込みが発生するとバス分配制御回路14がバス
使用権を一旦CPU11に返し一定期間の間バスをCP
U専用とする。
【0013】以下に、このバス分配制御回路14の具体
的な構成およびその機能について、図面に関連付けて順
を追って説明する。
【0014】図2は、バス分配制御回路の構成例を示す
ブロック図である。図2に示すように、バス分配制御回
路14は、リクエスト検出回路141、アクノリッジ送
出回路142、バスコントロールレジスタ143、シー
ケンス制御回路144、バスホールド制御回路145、
およびサイクルカウンタ146により構成されている。
【0015】リクエスト検出回路141は、CPU1
1,DMAC12およびDRC13から送出されるバス
リクエスト信号BRQCPUZ,BRQMDAZ,BR
QDRCZを検出し、検出したリクエスト信号をシーケ
ンス制御回路144に出力する。
【0016】アクノリッジ送出回路142は、シーケン
ス制御回路144においてあらかじめ設定された配分方
法に従ってバス使用が許可されたいずれか1つのデバイ
スに使用を許可するバスアクノリッジ信号BAKCPU
Z,BAKMDAZ,BAKDRCZを送出する。な
お、リセット中は全てのバス・アクノリッジ出力は非ア
クティブのハイレベルで送出される。通常モードではリ
セットを解除した時には、すでにリセット中からCPU
11からのバスリクエスト信号BRQCPUZが入力さ
れており、内部リセット解除(システムクロックの立ち
下がり)の直後のシステムクロックの立ち上がりからC
PU11へバスアクノリッジ信号BAKCPUZが送出
される。
【0017】バスコントールレジスタ143は、バスマ
スタ許可/禁止フィールド143a、ICE用フィール
ド143b,優先度フィールド143c、およびバス使
用率フィールド144dにより構成されており、これら
の設定条件に従って、CPU11、DMAC12および
DRC13に対する使用許可制御等がシーケンス制御回
路144で行われる。
【0018】バスマスタ許可/禁止フィールド143a
は、許可ビットBM1E,BM0Eの2ビットから構成
されており、CPU11以外のデバイス12,13に内
部バスAB、DBZの使用を許可するために、それらが
内部バスマスタとして動作できるよう許可ビットBM1
E,BM0EがCPU11によりセットされる。許可ビ
ットBM1Eが「1」にセットされている場合にはバス
マスタとしてのDRC13のバス使用許可を示し、許可
ビットBM0Eが「1」にセットされている場合にはバ
スマスタとしてのDMAC12のバス使用許可を示す。
また、これら許可ビットBM1EまたはBM0Eがクリ
ア、すなわち「0」にセットされている場合には、シー
ケンス制御回路144、アクノリッジ送出回路142か
ら対応するデバイスに対してアクノリッジ信号は送出さ
れない。
【0019】図3に、2ビットの許可ビットBE1E,
BM0Eの設定状態に応じたCPU以外のバスマスタの
バス使用許可状況を示す。図3に示すように、本実施形
態では、両ビットが〔1,1〕の場合、DRC13およ
びDMAC12の両方のバス使用を許可することを意味
し、〔1,0〕の場合,DRC13のバス使用を許可
し、DMAC12のバス使用を禁止することを意味し、
〔0,1〕の場合、DRC1のバス使用を禁止し、DM
AC12のバス使用を許可することを意味し、〔0,
0〕の場合、CPU11以外の内部マスタの使用を禁止
することを意味している。
【0020】ICE用フィールド143bは、TRPビ
ットの1ビットからなり、ICE用ソフトウェア・トラ
ップに対するCPUのバス占有機能の使用/不使用を示
すためのフィールドである。
【0021】図4に、TRPビットの設定状態とICE
用トラップに対するCPUのバス占有使用機能の使用状
況とを示す。図4に示すように、TRPビットを「1」
にセットすると、ICE用のソフトウェア・トラップが
発生してモニタの処理ルーチンを実行するときベクタ・
リード(Vector Read:VR)) からモニタ・ルーチンの最初
の少くとも8サイクルまでの間、たとえバスを他のマス
タに使用させる設定であっても自動的にCPU11がバ
スを占有使用できるようになる。また、このTRPビッ
トを「0」にクリアされると、後述の「ICE用ソフト
ウェア・トラップ発生時のバスマスタ制御が行われる。
なお、割り込みに対して起こる同様の機能には制御ビッ
トがなく無条件に働く。
【0022】優先度フィールド143cは、PRビット
の1ビットからなり、バスマスタ間の優先度設定、すな
わち、CPU11から他の内部バスマスタとしてのDM
AC12,DRC13にバス使用権が移った時にどのバ
スマスタが優先的にバスを使用するかを設定するための
フィールドである。
【0023】図5に、RPビットの設定状態とCPU以
外のバスマスタののバス使用優先度との関係を示す。図
5に示すように、RPビットが初期値「0」の場合、バ
スマスタBM1(DRC13)とBM0(DMAC)の
優先度はBM1>BM0となっており、BM1がバスを
使用しない時(あるいは禁止されている時)にバスマス
タBM0がバスを使用できる。そして、PRビットを
「1」にセットすると優先度はラウンドとなり、バスを
1回(2サイクル)使用したバスマスタの優先度が常に
最低になるように変更される。
【0024】バス使用率フィールド144dは、3ビッ
トのCY2〜CY0ビットからなり、CPU対CPU以
外のバスマスタのバス使用率を図6に示すように設定す
るためのフィールドである。この機能では、バスマスタ
としてのDMAC12,DRC13からのバス使用要求
が入ると16サイクルを周期としてCPU11以外のD
MAC12,DRC13が使用できるサイクルを制限
し、必ずCPU11が使用できるサイクルを確保する。
CPU11以外のバスサイクルでは、PRビットで設定
した優先度に従ってDRC13またはDMAC12がバ
スAB,DBZを使用する。図16の配分はバスマスタ
割あての使用サイクルがすべて使用された場合のもの
で、もし途中で要求が無くなれば直ちにバス使用権はC
PU11に移りCPU11のバス使用回数が設定数に達
した時点で周期の制御は打ち切られる。たとえば、バス
使用要求が無くなりバスの使用権がCPU11に移った
直後に再び要求が入ったときには、CY2,CY1,C
Y0の3ビットが〔1,1,0〕ならCPU11の連続
14サイクル使用が終わってから、またCY2,CY
1,CY0の3ビットが〔0,0,0〕ならCPU11
がバスを最低2サイクル使用してからバスマスタに使用
権が移る。ただし、このバス分配制御回路14はCPU
11に入る割り込み要求信号IRQZを常に監視してお
り、この信号がアクティブになるとバス使用率フィール
ド144dの設定に関係なく一定期間の間CPU11に
バスを占有使用させる。DRC13もCPU11もバス
を使用しない時にはアドレスバスABはバスホールド制
御回路15により前値ホールドされる。
【0025】シーケンス制御回路144は、リクエスト
検出回路141で検出されたバスリクエスト信号、制御
用信号IRQZに基づきリクエストを出したデバイスに
対して使用許可を与えるか、使用優先度、およびバス使
用率をどのようにするかをバスコントロールレジスタ1
43の各フィールドの設定内容に応じて決定し、リクエ
ストを出したデバイスに対してバスアクノリッジ信号を
アクティブで送出するか否かをアクノリッジ送出回路1
42に指示する。また、CPU11に対して割り込みが
発生すると、バス使用権を一旦CPU11に返し一定期
間の間バスがCPU専用となるように、アクノリッジの
制御を行う。
【0026】次に、バス使用率とDMAC等の優先度を
設定した場合のバス分配使用の例を以下に示す。まず、
CPU11、DRC13、DMAC12間のバス分配例
について、図7および図8を参照しつつ説明する。この
場合、バス使用率は、図7に示すように、CPU11は
25%以上、DRC13、DMAC12は75%以下に
設定されている。
【0027】図8中で示すように、CPU11からは
バスリクエスト信号BRQCPUZがスタンバイモード
にならない限り常にアクティブのローレベルでバス分配
制御回路14に出力される。これにより、バス分配制御
回路14では、シーケンス制御回路144の指示に基づ
きアクノリッジ送出回路142からバスアクノリッジ信
号BAKCPUZがアクティブのローレベルでCPU1
1に送出され、バスがCPU11により使用される。
【0028】ここで、DRC13からバスリクエスト信
号BRQDRCZがアクティブのローレベルでバス分配
制御回路14に出力されると、シーケンス制御回路14
4により、CPU11に対するバスアクノリッジ信号B
AKCPUZがハイレベルに切り換えられるとともに、
DRC13に対するバスアクノリッジ信号BAKDRC
Zがアクティブのローレベルに切り換えられてDRC1
3に送出される。これにより、図8中で示すように、
DRCサイクルが開始され、バスがDRC13により使
用される。ただし、DRC13は設定により2サイクル
しかバスを使用しないのでBRQDRCZはすぐにネゲ
ートされるため、またバスの使用権はCPU11に戻
る。
【0029】今度はDMAC12からバスリクエスト信
号BRQDMAZがアクティブのローレベルでバス分配
制御回路14に出力されると、シーケンス制御回路14
4によりCPU11に対するバスアクノリッジ信号BA
KCPUZがハイレベルに切り換えられるとともに、D
MAC12に対するバスアクノリッジ信号BAKDMA
Zがアクティブのローレベルに切り換えられてDMAC
12に送出される。これにより、図8中で示すよう
に、DMACサイクルが開始され、バスがDMAC12
により使用される。
【0030】そして、DMAC12からのバスリクエス
ト信号BRQDMAZがローレベルで入力され続けバス
を連続使用しようとしても、図8中で示すように、シ
ーケンス制御回路144により必ず定期的にCPU11
に対するバスアクノリッジ信号BAKCPUZがアクテ
ィブのローレベルでCPU11に送出され、CPU11
のサイクルが定期的に確保される。
【0031】また、図8中に示すように、DRC13
およびDMAC12からのバスリクエスト信号BRQD
MAZ,BRQDRCZが共にハイレベルになったとき
は、CPU11に対するバスアクノリッジ信号BAKC
PUZがアクティブのローレベルでCPU11に送出さ
れ、CPU11のサイクルが確保される。
【0032】また、図8中に示すように、DMAC1
2からのバスリクエスト信号BRQDMAZがローレベ
ルで入力されている状態で、DRC13からのバスリク
エスト信号BRQDRCZがローレベルで入力される
と、優先度設定により、DRC13が先にバスを使用す
るようにバスアクノリッジ信号BAKDRCZがローレ
ベルで送出される。そして、DRC13がバスを使用
し、バスリクエスト信号BRQDRCZがハイレベルに
なってから、DMAC12に対するバスアクノリッジ信
号BAKDMAZがローレベルで送出され、DMAC1
2がバスを使用するように制御される。すなわち、この
場合には、DMAC12はDRC13の処理が終わるま
で待たされることになる。この間もCPU11のための
バスサイクルは定期的に確保され続けている。
【0033】次に、DRCがないとした場合のCPU1
1、DMAC12間のバス分配の第1の例について、図
9および図10を参照しつつ説明する。この場合、DM
AC12は、図9に示すように、ch0,ch1,ch
2の3チャネルを有しており、チャネルch0は転送モ
ードが単発モードで転送カウント数は250ワード
(W)、チャネルch1は転送モードが連続モードでカ
ウント数が6W、チャネルch2は転送モードが連続モ
ードでカウント数が64バイト(B)であり、共通設定
事項は、DMAC12のバス使用率75%、チャネル間
の優先度はラウンドである。
【0034】チャネルch0,ch1,ch2のいずれ
かのトリガが入力されるとDMAC12からバスリクエ
スト信号BRQDMAZがアクティブのローレベルでバ
ス分配制御回路14に出力される。バス分配制御回路1
4では、シーケンス制御回路144によりDMAC12
に対するバスアクノリッジ信号BAKDMAZがローレ
ベルに切り換えられてアクノリッジ送出回路142から
DMAC12に送出される。これにより、図10中お
よびで示すように、CPUサイクルが停止されてDM
ACサイクルが開始され、バスがDMAC12により使
用される。この場合、図10中で示すように、単発転
送の他に要求が無ければ1回で終りCPU11へ権利が
戻る。単発転送なら連続動作が行われる。
【0035】本例では、DMACのチャネル間優先度は
ラウンドであることから、図10中で示すように、チ
ャネルが切り替えながら転送が実行される。たとえば、
図10中で示すように、チャネルch1がバース転送
を完了した後は、チャネルch2のバースト転送のみと
なり、チャネルch0のトリガが入力されれば次に実行
される。
【0036】なお、この場合も、DMAC12からのバ
スリクエスト信号BRQDMAZが連続的にローレベル
で入力されていても、図10中で示すように、シーケ
ンス制御回路144により必ず定期的にCPU11に対
するバスアクノリッジ信号BAKCPUZがアクティブ
のローレベルでCPU11に送出され、CPU11のサ
イクルが定期的に確保される。
【0037】次に、DRCがないとした場合のCPU1
1、DMAC12間のバス分配の第2の例について、図
11および図12を参照しつつ説明する。この場合、D
MAC12は、図11に示すように、ch0,ch1,
ch2の3チャネルを有しており、チャネルch0は転
送モードがシングルモード(SGL)でカウント数は2
50ワード(W)、チャネルch1は転送モードがバー
ストモード(BST)でカウント数が6W、チャネルc
h2は転送モードがバーストモード(BST)でカウン
ト数が64バイト(B)であり、共通設定事項は、DM
AC12のバス使用率75%であることが上述の例と同
様だが、優先度がラウンドではなく、ch0→ch1→
ch2の順で優先度が設定されている。
【0038】本例の場合も、チャネルch0,ch1,
ch2のいずれかのトリガが入力されるとDMAC12
からバスリクエスト信号BRQDMAZがアクティブの
ローレベルでバス分配制御回路14に出力される。バス
分配制御回路14では、シーケンス制御回路144によ
りDMAC12に対するバスアクノリッジ信号BAKD
MAZがローレベルに切り換えられてアクノリッジ送出
回路142からDMAC12に送出される。これによ
り、図12中およびで示すように、CPUサイクル
が停止されてDMACサイクルが開始され、バスがDM
AC12により使用される。この場合、図12中で示
すように、シングル転送の他に要求が無ければ1回で終
りCPU11へ権利が戻る。バースト転送なら連続動作
が行われる。
【0039】本例では、優先度が決められていることか
ら、図12中で示すように、優先度が高いチャネルに
おいてバス使用権が割り当てられる。すなわち、チャネ
ルch0が最上位でバスを使用でき、チャネルch2は
その間バスを使用できない。たとえば、図10中およ
びで示すように、チャネルCh1がバース転送を完了
した後は、チャネルch2のバースト転送のみとなる
が、チャネルCh0のトリガが入力されればチャネルc
h0にバス使用権が委譲され、チャネルch0によい優
先的にバスが使用される。
【0040】なお、この場合も、DMAC12からのバ
スリクエスト信号BRQDMAZがローレベルで入力さ
れていても、図12中で示すように、シーケンス制御
回路144により必ず定期的にCPU11に対するバス
アクノリッジ信号BAKCPUZがアクティブのローレ
ベルでCPU11に送出され、CPU11のサイクルが
定期的に確保される。
【0041】次に、割り込み発生時のバスマスタ制御に
ついて、図13を参照しながら説明する。DMAC12
やその他のバスマスタデバイスDRC13が高いバス使
用率でバスを使用している時でもCPUに対して割り込
みが発生した時、バス分配制御回路14がバス使用権を
一旦CPUに返す。たとえば、図13に示すように、割
り込みベクタのリードが開始されてから割り込みプログ
ラムの最初の最低8サイクルまでの間バスがCPU専用
となる。このときバスマスタ許可ビットBM1、BM0
は変化しないが、もし割り込みを優先的に処理したい場
合には、割り込み処理ルーチンの先頭で一旦バスマスタ
許可ビットをクリアするかバス使用率を変更してしまえ
ば、DMAC等の設定を全く変更すること無しに割り込
み処理を優先させることができる。割り込みからの復帰
時にも同様に簡単にもとの設定に戻すことができる。
【0042】次に、ICE用ソフトウェア・トラップ発
生時のバスマスタ制御について、図14を参照しながら
説明する。割り込み発生時と同様のことがICE用ソフ
トウェア・トラップ発生時にも考えられる。ICEでユ
ーザのプログラムのデバッグをするためにノンマスカブ
ル割り込みとソフトウェア・トラップ各1本がモニタプ
ログラムの起動に割り当てられている。このときノンマ
スカブル割り込みは上の説明の通りとなるが、ソフトウ
ェア・トラップでもベクタ・リードが開始されてからモ
ニタプログラムの最初の最低8サイクルまでの間バスを
CPU専用とすることができる。このときバスマスタ許
可ビットBM1、BM0は変化しないが、もしモニタプ
ログラム実行中に他のバスマスタの動作を禁止したい場
合には、モニタプログラムの先頭で一旦バスマスタ許可
ビットをクリアしてしまえば、DMAC等の設定を全く
変更すること無しに停止させることができる。モニタプ
ログラムからの復帰時にも同様に簡単にもとの設定に戻
すことができる。
【0043】以上のように、本実施形態によれば、CP
U11と他のバスマスタ、たとえばDMAC12,DR
C13がバスを時分割で使用するときに、CPU11以
外のバスマスタにも同列にバスの使用許可を与え、か
つ、必ず一定の割合でCPU11がバスを使用できるよ
うにし、また、その際のバス使用率を必要に応じてCP
U11が任意に変更でき、また割り込みが発生すると一
定時間の間バスをCPU専用とし、バス使用要求への応
答性確保と使用要求がない時のCPUのバス使用を両立
させるバス分配制御回路14を設けたので、ハンドシェ
ーク等による無駄な空きバスサイクルが入ることなくバ
スを有効利用できる利点がある。また、DMAC内の複
数チャネルや他にもバスマスタがあるときにはCPUに
確保した以外のサイクルを分割使用させるため、CPU
の最低限のバス使用を確保できる。
【0044】
【発明の効果】以上説明したように、本発明によれば、
ハンドシェーク等による無駄な空きバスサイクルが入る
ことなくバスを有効利用できる。また、主制御装置以外
のデバイスがバスマスタになれるかどうかを個別に許可
/禁止でき、一定のサイクル数を決めその中で主制御装
置が必ず使えるサイクルを確保でき、さらに使用率を設
定でき、また使用率を容易に変更できる。また、たとえ
主制御装置のバス使用率が低い設定でも、主制御装置へ
の割り込みが発生すると一定時間の間バスを主制御装置
専用とし、迅速なバス使用率の変更が可能である。ま
た、主制御装置に確保した以外のサイクルでは他のバス
マスタに優先的にバスを使用させ、他のバスマスタの使
用要求がない時には主制御装置にバスを使用させること
で、バス使用要求への応答性確保と使用要求がない時の
主制御装置のバス使用を両立させることができる。ま
た、マスタデバイス内の複数チャネルや他にもバスマス
タがあるときには主制御装置に確保した以外のサイクル
を分割使用させるため、主制御装置の最低限のバス使用
を確保できる利点がある。
【図面の簡単な説明】
【図1】本発明に係るバス分配制御回路を採用したシス
テムの構成例を示すブロックである。
【図2】本発明に係るバス分配制御回路の構成例を示す
ブロック図である。
【図3】本発明に係るバス分配制御回路におけるバスコ
ントロールレジスタに設けられた2ビットの許可ビット
の設定状態に応じたCPU以外のバスマスタのバス使用
許可状況を示す図である。
【図4】本発明に係るバス分配制御回路におけるバスコ
ントロールレジスタに設けられたTRPビットの設定状
態とICE用トラップに対するCPUのバス占有使用機
能の使用状況とを示す図である。
【図5】本発明に係るバス分配制御回路におけるバスコ
ントロールレジスタに設けられたRPビットの設定状態
とCPU以外のバスマスタのバス使用優先度との関係を
示す図である。
【図6】本発明に係るバス分配制御回路におけるバスコ
ントロールレジスタに設けられたバス使用率フィールド
の設定例を示す図である。
【図7】バス使用率とDMAC等の優先度を設定した場
合のCPU、DRC、DMAC間のバス分配使用の例を
説明するための図である。
【図8】バス使用率とDMAC等の優先度を設定した場
合のCPU、DRC、DMAC間のバス分配使用の例を
説明するためのタイミングチャートである。
【図9】バス使用率とDMAC等の優先度を設定した場
合であってDRCがないとした場合のCPU、DMAC
間のバス分配使用の例を説明するための図である。
【図10】バス使用率とDMAC等の優先度を設定した
場合であってDRCがないとした場合のCPU、DMA
C間のバス分配使用の例を説明するためのタイミングチ
ャートである。
【図11】バス使用率とDMAC等の優先度を設定した
場合であってDRCがないとした場合のCPU、DMA
C間のバス分配使用の第2の例を説明するための図であ
る。
【図12】バス使用率とDMAC等の優先度を設定した
場合であってDRCがないとした場合のCPU、DMA
C間のバス分配使用の第2の例を説明するためのタイミ
ングチャートである。
【図13】割り込み発生時のバスマスタ制御について説
明するためのタイミングチャートである。
【図14】ICE用ソフトウェア・トラップ発生時のバ
スマスタ制御について説明するためのタイミングチャー
トである。
【符号の説明】
10…システム、11…CPU、12…DMAC、13
…DRC、14…バス分配制御回路、141…リクエス
ト検出回路、142…アクノリッジ送出回路、143…
バスコントロールレジスタ、144…シーケンス制御回
路、145…バスホールド制御回路、146…サイクル
カウンタ。

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 バスを主制御装置と少なくとも一つのバ
    スマスタとなり得るデバイスが共用し時分割で使用する
    システムにおけるバスの分配制御を行うバス分配制御回
    路であって、 主制御装置およびバスマスタからのバス使用要求を受け
    て各々に使用許可を与えるとともに、バスマスタからの
    使用要求が有るにもかかわらず、一定のサイクルで主制
    御装置に対してバス使用許可を与える制御回路を有する
    バス分配制御回路。
  2. 【請求項2】 上記制御回路は、少なくとも一つの制御
    フィールドを備え外部装置からその内容が任意に設定可
    能な制御レジスタを有し、バス使用許可は当該制御レジ
    スタの内容に応じて行う請求項1記載のバス分配制御回
    路。
  3. 【請求項3】 上記制御レジスタの制御フィールドは、
    上記主制御装置により任意に設定される請求項2記載の
    バス分配制御回路。
  4. 【請求項4】 上記制御レジスタは、バスマスタ個別に
    使用許可/禁止を示す許可/禁止フィールドを備え、 上記制御回路は、上記許可/禁止フィールドで許可され
    たバスマスタのバス使用要求に対してのみバス使用許可
    を与える請求項2記載のバス分配制御回路。
  5. 【請求項5】 上記制御レジスタは、バスマスタの使用
    優先度を示す優先度フィールドを備え、 上記制御回路は、上記優先度フィールドで示された優先
    度に従ってバス使用許可を与える請求項2記載のバス分
    配制御回路。
  6. 【請求項6】 上記制御レジスタは、主制御装置とバス
    マスタのバス使用率を設定可能な使用率フィールドを備
    え、 上記制御回路は、上記使用率フィールドで指定された使
    用率に基づいてバス使用許可を与える請求項2記載のバ
    ス分配制御回路。
  7. 【請求項7】 上記制御回路は、上記主制御装置への割
    り込みが発生すると一定時間の間バスを主制御装置専用
    となるように使用許可を与える請求項2記載のバス分配
    制御回路。
  8. 【請求項8】 上記制御回路は、上記主制御装置に確保
    した以外のサイクルでは他のバスマスタに優先的にバス
    を使用させ、他のバスマスタの使用要求がないときには
    主制御装置にバス使用許可を与える請求項6記載のバス
    分配制御回路。
  9. 【請求項9】 バスマスタ内に複数チャネルがあるとき
    には、上記主制御装置に確保した以外のサイクルを各チ
    ャネルで分割使用するように使用許可を与える請求項6
    記載のバス分配制御回路。
JP10955696A 1996-04-30 1996-04-30 バス分配制御回路 Pending JPH09297731A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10955696A JPH09297731A (ja) 1996-04-30 1996-04-30 バス分配制御回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10955696A JPH09297731A (ja) 1996-04-30 1996-04-30 バス分配制御回路

Publications (1)

Publication Number Publication Date
JPH09297731A true JPH09297731A (ja) 1997-11-18

Family

ID=14513240

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10955696A Pending JPH09297731A (ja) 1996-04-30 1996-04-30 バス分配制御回路

Country Status (1)

Country Link
JP (1) JPH09297731A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007334641A (ja) * 2006-06-15 2007-12-27 Sony Corp 情報処理装置および方法、並びにプログラム
JP2010028428A (ja) * 2008-07-18 2010-02-04 Kyocera Mita Corp 画像処理装置
US8838862B2 (en) 2010-08-23 2014-09-16 Ricoh Company, Limited Data transfer device, method of transferring data, and image forming apparatus

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007334641A (ja) * 2006-06-15 2007-12-27 Sony Corp 情報処理装置および方法、並びにプログラム
US8065458B2 (en) 2006-06-15 2011-11-22 Sony Corporation Arbitration apparatus, method, and computer readable medium with dynamically adjustable priority scheme
JP2010028428A (ja) * 2008-07-18 2010-02-04 Kyocera Mita Corp 画像処理装置
US8838862B2 (en) 2010-08-23 2014-09-16 Ricoh Company, Limited Data transfer device, method of transferring data, and image forming apparatus

Similar Documents

Publication Publication Date Title
US5572686A (en) Bus arbitration scheme with priority switching and timer
JP4480427B2 (ja) リソース管理装置
US5996037A (en) System and method for arbitrating multi-function access to a system bus
US7467245B2 (en) PCI arbiter
US7013357B2 (en) Arbiter having programmable arbitration points for undefined length burst accesses and method
US7380040B2 (en) Software programmable dynamic arbitration scheme
CN114911727A (zh) 总线仲裁方法和装置、计算机可读存储介质及主控芯片
US4896266A (en) Bus activity sequence controller
KR100708096B1 (ko) 버스 시스템 및 그 실행 순서 조정방법
US20070260793A1 (en) Method and System for Data Transfer
JPH09297731A (ja) バス分配制御回路
EP1096387B1 (en) An arbitration unit for a bus
KR100973419B1 (ko) 버스 중재 방법 및 장치
WO2006045216A1 (fr) Dispositif et procede d'arbitrage
US20060155893A1 (en) Methods and apparatus for sharing memory bandwidth
JP4151362B2 (ja) バス調停方式、データ転送装置、及びバス調停方法
JP2002091903A (ja) バスシステム
JPH10320349A (ja) プロセッサ及び当該プロセッサを用いるデータ転送システム
JPH0962640A (ja) 共有メモリのアクセス制御方法
CN115269467B (zh) 一种总线仲裁的方法、装置、存储介质及电子设备
JPH0830549A (ja) バス制御装置
JPS6019819B2 (ja) バス使用権制御方式
JP3124544B2 (ja) バス制御装置
JPH11184807A (ja) 情報処理方法及び装置
JP3677535B2 (ja) データ転送制御回路