JP2000259556A - Bus arbitrating device - Google Patents

Bus arbitrating device

Info

Publication number
JP2000259556A
JP2000259556A JP11057558A JP5755899A JP2000259556A JP 2000259556 A JP2000259556 A JP 2000259556A JP 11057558 A JP11057558 A JP 11057558A JP 5755899 A JP5755899 A JP 5755899A JP 2000259556 A JP2000259556 A JP 2000259556A
Authority
JP
Japan
Prior art keywords
bus
priority
devices
setting
cpu
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
JP11057558A
Other languages
Japanese (ja)
Inventor
Shinko Yamada
田 眞 弘 山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP11057558A priority Critical patent/JP2000259556A/en
Publication of JP2000259556A publication Critical patent/JP2000259556A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To secure the bus use opportunity of a low-order device all the time, to set priority so as to generally use it and to automatically cancel the continuous occupancy of a bus by a single device. SOLUTION: This device is constituted so as to arbitrate bus access request signals from a plurality of devices and to permit access to one device. In this case, the device is provided with a means (CPU 202) for setting the priority to devices, a means (CPU 202) for setting the mask time of individual devices, change means (R7-R10 and A11-A14) for masking the bus use request of a device which uses the bus, assigning the other device higher priority and determining the priority set by the order setting means (CPU 202) when all the devices are masked, a means 203 for measuring how long the bus is continuously used and special setting means (203, FF, A3, A31-A34 and R3-R6) for determining the priority of the bus access request of a specified device CPU as the highest order when the measured length reaches a prescribed value.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、情報伝達を行なう
ためのバスを複数の電気,電子回路,電子素子(以下デ
バイスと称す)で共用使用する場合に、バス使用の競合
を調停するために、デバイス毎にバス使用許可を与える
バス調停装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method for arbitrating bus contention when a bus for transmitting information is shared by a plurality of electric, electronic circuits and electronic elements (hereinafter referred to as devices). The present invention relates to a bus arbitration device that gives a bus use permission for each device.

【0002】[0002]

【従来の技術】従来、複数のデバイスからのバス・アク
セス要求信号を調停してバスの使用を1つのデバイスに
与えるバス調停装置は、それらのデバイスを含むシステ
ムの使用形態にあわせ設計し、電気,電子回路(ハ−ド
ウェア)又はソフトウェア(プログラム)上で固定設定
するのが一般的であった。これは、システム毎に、各デ
バイスのバス使用態様やバス使用の緊急度が異なるため
である。しかしながら、システム毎に設計する場合、効
率が悪いという問題があり、汎用的に使用できるバス調
停装置の提供が望まれていた。
2. Description of the Related Art Conventionally, a bus arbitration device that arbitrates bus access request signals from a plurality of devices to give use of a bus to one device has been designed according to a usage form of a system including those devices, and Generally, fixed setting is performed on an electronic circuit (hardware) or software (program). This is because the bus use mode and the urgency of bus use of each device are different for each system. However, when designing for each system, there is a problem that efficiency is low, and it has been desired to provide a bus arbitration device that can be used for general purposes.

【0003】実開平5−66755号公報には、プログ
ラマブルに優先順位を変更可能にしたDMA処理装置が
開示されている。優先順位保持レジスタの内容を参照し
て優先順位を決定する様にしているため、優先順位保持
レジスタの内容を書き換えることで、回路変更無しに優
先順位を変更することができ、さらには、稼動状態でも
優先順位をプログラマブルに変更することができる。
[0003] Japanese Utility Model Laid-Open No. 5-66755 discloses a DMA processing apparatus in which priorities can be changed in a programmable manner. Since the priority is determined by referring to the contents of the priority holding register, the priority can be changed without changing the circuit by rewriting the contents of the priority holding register. However, the priorities can be changed programmably.

【0004】[0004]

【発明が解決しようとする課題】優先順位保持レジスタ
に優先順位を設定し、その優先順位にしたがって調停が
行われるので、例えば、優先順位の高いデバイスが連続
してバス使用要求を発行した場合、下位の優先順位のデ
バイスがバスを使用できないという問題が発生する。勿
論これは1つの高順位デバイスが連続して要求を発行し
ない場合であっても、高頻度(短周期)で要求を発生す
ると、下位の優先順位のデバイスにバス使用許可が与え
られる確率が激減して実質上使用権が廻ってこないとい
う状態が発生する。
Since priorities are set in the priority holding register and arbitration is performed according to the priorities, for example, when a device having a high priority continuously issues a bus use request, A problem arises in that lower priority devices cannot use the bus. Of course, even if one high-priority device does not issue requests continuously, if a request is issued at a high frequency (short period), the probability that the bus use permission is given to the device of lower priority is drastically reduced. As a result, a state occurs in which the right to use does not substantially come around.

【0005】本発明は、下位順位のデバイスに対するバ
ス使用機会を定常的に確保することを第1の目的とし、
汎用的に使用可能なバス調停装置を提供することを第2
の目的とし、バス使用が1つのデバイスによる実質上の
連続占有となる異常事態を自動的に解除することを第3
の目的とする。
The first object of the present invention is to constantly secure a bus use opportunity for a lower-rank device,
The second is to provide a bus arbitration device that can be used for general purposes.
The third purpose is to automatically cancel an abnormal situation where the bus use is substantially continuously occupied by one device.
The purpose of.

【0006】[0006]

【課題を解決するための手段】(1)本発明は、複数の
デバイス(101〜104)からのバス・アクセス要求信号を調
停してバス使用を1つのデバイスに許可するバス調停装
置(106)において、デバイス(101〜104)のマスク時間(マ
スクフィ-ルド)を設定するマスク設定手段(101,202),
デバイスが所定のバス使用(1回使用)をすると該デバイ
スに宛てられたマスク時間の計時を開始する手段(PC1〜
PC4)、および、該デバイスよりも、同様な計時は開始し
ていないデバイスを先順位とする変更手段(R7〜R10,A11
〜A14)、を備えたことを特徴とする。なお、理解を容易
にするためにカッコ内には、図面に示し後述する実施例
の対応要素の符号又は対応事項を、参考までに付記し
た。以下も同様である。
(1) The present invention provides a bus arbitration device (106) for arbitrating bus access request signals from a plurality of devices (101 to 104) to permit one device to use a bus. A mask setting means (101, 202) for setting a mask time (mask field) of the device (101 to 104);
When a device uses a predetermined bus (use once), means (PC1 to PC1) for starting timing of a mask time addressed to the device
PC4), and a change means (R7 to R10, A11
To A14). In addition, in order to facilitate understanding, in the parentheses, reference numerals or corresponding items of the corresponding elements of the embodiment shown in the drawings and described later are added for reference. The same applies to the following.

【0007】これによれば、所定のバス使用をしたデバ
イスとは別のデバイスにバス使用の優先順が与えられる
ので、優先順位の高いデバイスのみがバス使用を独占し
てしまうことが防げられ、結果として、下位順位のデバ
イスに対するバス使用機会が生まれる。
According to this, the priority order of the bus use is given to a device different from the device using the predetermined bus, so that it is possible to prevent only a device having a higher priority from monopolizing the bus use. As a result, a bus use opportunity is created for a lower-order device.

【0008】[0008]

【発明の実施の形態】(2)バス調停装置(106)はデバ
イスに対して優先順位(優先順位フィ-ルド)を設定する
順位設定手段(101,202)を含み;前記変更手段(R7〜R10,
A11〜A14)は、すべてのデバイス(101〜104)がそれぞれ
に宛てられたマスク時間の計時を開始しているときは、
前記順位設定手段(101,202)が設定している優先順位で
バス調停を行う。
DESCRIPTION OF THE PREFERRED EMBODIMENTS (2) The bus arbiter (106) includes priority setting means (101, 202) for setting priorities (priority fields) for devices; the changing means (R7 to R10,
A11-A14), when all devices (101-104) have started timing the mask time addressed to each,
Bus arbitration is performed in the priority order set by the order setting means (101, 202).

【0009】バス・アクセス要求を発行しているデバイ
スがすべて、マスク期間に当たっている場合は、マスク
とは無関係に、順位設定手段(101,202)が設定した順位
でバス使用権がデバイスに与えられるので、デバイスか
らのバス・アクセス要求がありながら、バスが遊んでい
るという不合理な状態が避けられる。 (3)複数のデバイス(101〜104)からのバス・アクセス
要求信号を調停してバス使用を1つのデバイスに許可す
るバス調停装置(106)において、バス連続使用の長さを
計測する手段(203)、および、計測した長さが所定値に
達したときに、特定のデバイス(101)のバス・アクセス
要求の優先順位を最上位に定める特別順位設定手段(20
3,FF,A3,A31〜A34,R3〜R6)、を備えたことを特徴とす
る。
If all the devices that have issued the bus access request have been in the mask period, the bus use right is given to the devices in the order set by the order setting means (101, 202) regardless of the mask. The unreasonable situation that the bus is idle while there is a bus access request from the device is avoided. (3) A bus arbitration device (106) for arbitrating bus access request signals from a plurality of devices (101 to 104) and permitting one device to use the bus, for measuring the length of continuous use of the bus ( 203) and, when the measured length reaches a predetermined value, a special order setting means (20) for setting the priority of the bus access request of the specific device (101) to the highest order.
3, FF, A3, A31-A34, R3-R6).

【0010】これによれば例えば、バス使用の優先順位
の高いデバイスが暴走又は故障してバス連続使用になっ
た場合であっても、例えばそのデバイスを監視又は制御
するデバイス(101)に特別に優先順位を与えておくこと
により、その後のリカバリー作業を行うことができる。 (4)複数のデバイス(101〜104)からのバス・アクセス
要求信号を調停してバス使用を1つのデバイスに許可す
るバス調停装置(106)において、デバイス(101〜104)の
マスク時間(マスクフィ-ルド)を設定するマスク設定手
段(101,202);デバイスが所定のバス使用(1回使用)をす
ると該デバイスに宛てられたマスク時間の計時を開始す
る手段(PC1〜PC4);上記計時を開始しているデバイスよ
りも、同様な計時は開始していないデバイスを先順位と
する変更手段(R7〜R10,A11〜A14);バス連続使用の長さ
を計測する手段(203);および、計測した長さが所定値
に達したときに、特定のデバイス(101)のバス・アクセ
ス要求の優先順位を最上位に定める特別順位設定手段(2
03,FF,A3,A31〜A34,R3〜R6);を備えたことを特徴とす
るバス調停装置。
According to this, for example, even when a device having a higher priority in using the bus runs away or breaks down and the bus is continuously used, for example, the device (101) for monitoring or controlling the device is specially provided. By giving the priority, the subsequent recovery work can be performed. (4) In a bus arbitration device (106) which arbitrates bus access request signals from a plurality of devices (101 to 104) and permits one device to use the bus, a mask time (mask filter) of the devices (101 to 104) Means for setting a mask (101, 202); means for starting time measurement of a mask time addressed to the device when the device uses a predetermined bus (use once) (PC1 to PC4); start the time measurement Changing means (R7-R10, A11-A14) for prioritizing a device for which similar timing has not been started than a device performing the same; means (203) for measuring the length of continuous use of the bus; and measuring When the length reaches the predetermined value, the special order setting means (2) sets the priority of the bus access request of the specific device (101) to the highest order.
03, FF, A3, A31 to A34, R3 to R6);

【0011】これは上記(1)と(3)の態様の技術手
段を備える態様であり、上記(1)および(3)の態様
の上述の作用,効果が得られる。 (5)バス調停装置(106)はデバイスに対して優先順位
(優先順位フィ-ルド)を設定する順位設定手段(101,202)
を含み;前記変更手段(R7〜R10,A11〜A14)は、すべての
デバイス(101〜104)がそれぞれに宛てられたマスク時間
の計時を開始しているときは、前記順位設定手段(101,2
02)が設定している優先順位でバス調停を行う。
This is an embodiment provided with the technical means of the above-mentioned embodiments (1) and (3), and the above-mentioned functions and effects of the above-mentioned embodiments (1) and (3) can be obtained. (5) Bus arbitration device (106) has priority over devices
Order setting means (101, 202) for setting (priority field)
The change means (R7 to R10, A11 to A14), when all the devices (101 to 104) have started timing the mask time addressed to each, the order setting means (101, Two
Bus arbitration is performed according to the priority set in 02).

【0012】これは上記(1),(2)および(3)の
態様の技術手段を備える態様であり、上記(1),
(2)および(3)の態様の上述の作用,効果が得られ
る。 (6)複数のデバイス(101〜104)からのバス・アクセス
要求信号を調停してバスの使用を1つのデバイスに許可
するバス調停装置(106)において、優先順位(優先順位フ
ィ-ルド)を設定する手段(202)を備え、バス・アクセス
要求信号のマスク期間(マスクフィ-ルド)の設定手段(20
2)を備えたことを特徴とするバス調停装置。これによれ
ば、各デバイス宛てのバス使用許可の発行レートを制限
することができ、優先順位の高いデバイスがバスを独占
してしまうことを防げる。 (7)上記(6)のバス調停装置は、バス・アクセス要
求を発行しているデバイスがすべて、マスク期間に当っ
ている場合、マスクとは無関係に、上位に設定されてい
るバス・アクセス要求からの優先順位でバス調停を行
う。これによれば、バス・アクセス要求を発行している
デバイスがすべて、マスク期間に当たっている場合、マ
スクとは無関係に、上位に設定されているバス・アクセ
ス要求からの優先順位でバス調停を行う様にしているの
で、バス・アクセス要求がありながら、バスが遊んでい
るという状態を防ぐことができる。 (8)上記(6)のバス調停装置は、バスを利用してい
るサイクル数を計測するためのカウンタ(203)を備え、
カウンタ値が所定の値に達した場合、特定デバイス(10
1)のバス・アクセス要求を最上位の優先順位にする。こ
れによれば、バスを使用しているサイクル数を計測する
ためのカウンタを備え、カウンタ値が所定の値に達した
場合、特定デバイス(101)のバス・アクセス要求を最上
位の優先順位にするので、優先順位の高いデバイスが故
障した場合であっても、特定デバイス(101)がその後の
リカバリー作業を行うことができる。
This is an embodiment provided with the technical means of the above (1), (2) and (3).
The above-described functions and effects of the embodiments (2) and (3) are obtained. (6) In the bus arbitration device (106) which arbitrates bus access request signals from a plurality of devices (101 to 104) and permits one device to use the bus, the priority (priority field) is determined. Setting means (202) for setting a mask period (mask field) of the bus access request signal (20).
A bus arbitration device characterized by including (2). According to this, the issue rate of the bus use permission addressed to each device can be limited, and it is possible to prevent a device having a high priority from monopolizing the bus. (7) In the bus arbitration device of (6), when all devices that have issued the bus access request fall within the mask period, the bus arbitration device set to a higher order is independent of the mask. Bus arbitration is performed with priority from. According to this, when all devices that have issued a bus access request fall within the mask period, the bus arbitration is performed in accordance with the priority order from the higher-order bus access request, regardless of the mask. Therefore, it is possible to prevent a situation in which the bus is idle while there is a bus access request. (8) The bus arbitrating device of (6) includes a counter (203) for measuring the number of cycles using the bus,
When the counter value reaches a predetermined value, a specific device (10
The bus access request of 1) is set to the highest priority. According to this, a counter for measuring the number of cycles using the bus is provided, and when the counter value reaches a predetermined value, the bus access request of the specific device (101) is given the highest priority. Therefore, even when a device with a higher priority has failed, the specific device (101) can perform a subsequent recovery operation.

【0013】本発明の他の目的および特徴は、図面を参
照した以下の実施例の説明より明らかになろう。
Other objects and features of the present invention will become apparent from the following description of embodiments with reference to the drawings.

【実施例】図1に、本発明の一実施例を示す。図1に示
す制御回路106が、本発明のバス調停装置の一実施例
である。101はCPUである。102はDMAコント
ローラ1、103はDMAコントローラ2である。10
4はRAM、105はROMである。制御回路106
は、各デバイスCPU101,DMAコントローラ10
2,103およびRAM104から、アクセス要求を受
け、それらを適切に調停し、複数のデバイスから同時に
アクセス要求があった場合でも、1つのデバイスのみに
バス使用許可を与える。以下では、102のDMAコン
トローラ1をDMAC1と、103のDMAコントロー
ラ2をDMAC2と表わす。
FIG. 1 shows an embodiment of the present invention. The control circuit 106 shown in FIG. 1 is an embodiment of the bus arbitration device of the present invention. 101 is a CPU. 102 is a DMA controller 1, and 103 is a DMA controller 2. 10
Reference numeral 4 denotes a RAM, and 105 denotes a ROM. Control circuit 106
Are the device CPU 101 and the DMA controller 10
2, 103 and the RAM 104, receive access requests, appropriately arbitrate them, and grant bus use permission to only one device even when there are simultaneous access requests from a plurality of devices. In the following, the DMA controller 1 of 102 is represented as DMAC1, and the DMA controller 2 of 103 is represented as DMAC2.

【0014】図2に、制御回路106内の調停装置の部
分のみを示す。201は、調停装置のコア部分であり、
これと制御レジスタ202,カウンタ203とで調停装
置を構成している。制御レジスタ202には、CPU1
01が図4に示すデ−タを、各デバイス CPU10
1,DMAC1,DMAC2およびRAM104宛てに
書込む。なお、以下において、これらのデバイスをそれ
ぞれ、要求元1,要求元2,要求元3および要求元4と
も表現する。
FIG. 2 shows only the part of the arbitration device in the control circuit 106. 201 is a core part of the arbitration device,
This, the control register 202 and the counter 203 constitute an arbitration device. The control register 202 includes the CPU 1
01 is the data shown in FIG.
1, DMAC1, DMAC2 and RAM 104 are written. In the following, these devices are also referred to as request source 1, request source 2, request source 3, and request source 4, respectively.

【0015】図4に示すように、本実施例では、要求元
1〜4に対する、変更後最優先順位(短縮した表現では
変更後順位),優先順位,マスク期間(短縮した表現で
はマスク)を設定する様になっている。ここで変更後最
優先順位とは、バス使用サイクル数が特定の値に達した
ときに、それまでの優先順位に変えて、変更後最優先順
位にビット情報「1」が設定されている要求元を最優先
順位にするためのものである。変更後最優先順位にビッ
ト情報「0」が設定されている要求元には順位を与えな
い。この「0」は、バス使用許可の付与の禁止を意味す
る。本実施例では、要求元1(CPU)に「1」が設定
されており、それよりも優先順位の高い要求元が故障し
た場合であっても、CPU101にてバスを使用してそ
の後のリカバリー作業を行うことができる様にしてい
る。
As shown in FIG. 4, in the present embodiment, the highest priority after change (changed order in a shortened expression), priority, and mask period (mask in a shortened expression) for request sources 1 to 4 are shown. It is supposed to be set. Here, the highest priority after change refers to a request in which when the number of bus use cycles reaches a specific value, the priority is changed to the previous priority and the bit information “1” is set as the highest priority after change. This is to make the source the highest priority. No priority is given to the request source in which the bit information “0” is set as the highest priority after the change. This “0” means that the grant of the bus use permission is prohibited. In the present embodiment, “1” is set to the request source 1 (CPU), and even if a request source having a higher priority than the request source fails, the CPU 101 uses the bus to perform subsequent recovery. So that they can do their work.

【0016】優先順位フィールドには要求元毎の優先順
位を設定する。この例では2ビットで表現し、00が最
優先順位としている。ここでの設定例では、第1順位
(2ビットの00)をRAM104のリフレッシュに、
第2順位(01)をDMAC1に、第3順位(10)を
DMAC2に、そして第4順位をCPU101に与えて
いる。
In the priority field, a priority for each request source is set. In this example, it is represented by 2 bits, and 00 is the highest priority. In the setting example here, the first order (00 of 2 bits) is used for refreshing the RAM 104.
The second rank (01) is given to the DMAC1, the third rank (10) is given to the DMAC2, and the fourth rank is given to the CPU 101.

【0017】マスク・フィールドには、要求元毎のマス
ク期間を設定する。ここに0を設定した場合、マスクな
しであり、それ以外の値を設定した場合、一旦バス使用
許可を受け、バスを使用した後、ここに設定したサイク
ル数分リクエストがマスクされる。ただし、バス・アク
セス要求を発行している要求元がすべて、マスク期間に
当たっている場合、マスクとは無関係に、上位に設定さ
れているバス・アクセス要求からの優先順位でバス調停
を行う様にしている。このため、バス・アクセス要求が
ありながら、バスが遊んでいるという状態を防ぐことが
できる。
In the mask field, a mask period for each request source is set. If 0 is set here, there is no mask, and if any other value is set, the bus is permitted once, the bus is used, and then the request is masked for the number of cycles set here. However, if all requesters issuing bus access requests are within the mask period, regardless of the mask, bus arbitration is performed according to the priority order from the higher-order bus access request. I have. For this reason, it is possible to prevent a state in which the bus is idle while there is a bus access request.

【0018】再度図2を参照すると、調停装置コア部分
201は、上記制御レジスタ202に設定された値を参
照しながら、カウンタ203を使用しながら調停を行っ
ていく。カウンタ203は、バスを使用しているサイク
ル数を計測するためのものである。これは前述の様に、
バス使用サイクル数が特定の値に達したときに、それま
での優先順位に変えて、変更後最優先順位に「1」が設
定されている要求元1(CPU101)を最優先順位に
することで、優先順位の高い要求元2〜4が故障した場
合であっても、その後のリカバリー作業を行うことがで
きる様にする。調停装置コア部分201は、DMAC
1,DMAC2,CPU101,RAM104リフレッ
シュからのバス使用要求信号(高レベルHのDMA1R
EQ,DMA2REQ,CPUREQ,REFREQ)
を受け、適切に調停した上で、許可を与えるもののxx
GNTをアサートする。すなわち、許可を与えるものに
バス使用許可信号(高レベルのDMA1GNT,DMA
2GNT,CPUGNT,REFGNT)を与える。こ
れらの許可信号は上記並び順でそれぞれ、DMAC1,
DMAC2,CPU101,RAM104リフレッシュ
に与えるものである。調停装置コア部分201に入力さ
れているBUSYは、許可を受けた要求元がバスを使用
している時にアサートする信号の論理和となっている。
Referring to FIG. 2 again, the arbitration device core unit 201 arbitrates while using the counter 203 while referring to the value set in the control register 202. The counter 203 is for measuring the number of cycles using the bus. This is, as mentioned above,
When the number of bus use cycles reaches a specific value, the priority is changed to the previous priority, and the request source 1 (CPU 101) in which “1” is set as the changed highest priority is set to the highest priority. Thus, even if the request sources 2 to 4 having a higher priority are out of order, the subsequent recovery work can be performed. The arbitration device core section 201 includes a DMAC
1, DMAC 2, CPU 101, bus use request signal from RAM 104 refresh (high level H DMA1R
EQ, DMA2REQ, CPUREQ, REFREQ)
Xx
Assert GNT. That is, the bus grant signal (high level DMA1GNT, DMA1
2GNT, CPUGNT, REFGNT). These permission signals are DMAC1,
DMAC 2, CPU 101, and RAM 104 are given to refresh. The BUSY input to the arbitration device core section 201 is a logical sum of signals asserted when the permitted request source uses the bus.

【0019】図5に、本実施例のタイミング・チャート
を示す。CLKはシステムロック、BUSYは前述の様
に許可を受けた要求元がバスを使用している時にアサー
トする信号の論理和である。DMA1REQ,DMA2
REQはDMAC1,DMAC2からのバス使用要求信
号、DMA1GNT,DMA2GNTはDMAC1,D
MAC2に対するバス使用許可信号、DMA1MASK
は、DMAC1に対するマスク信号、COUNTは、バ
スを使用しているサイクル数の計測結果である。ここで
は、説明を簡単にするために、CPU101やRAM1
04リフレッシュ要求が発行されていないものとしてい
る。図5上の1の地点(タイミング)で、DMA1RE
QとDMA2REQがアサートされる。調停装置106
は、2つの点1,2でこれを検出するが、この時点では
BUSYがアサートされており、バス使用中であるた
め、新規のバス使用許可を発行しない。
FIG. 5 shows a timing chart of this embodiment. CLK is a system lock, and BUSY is a logical sum of signals asserted when the request source permitted as described above uses the bus. DMA1REQ, DMA2
REQ is a bus use request signal from DMAC1 and DMAC2, and DMA1GNT and DMA2GNT are DMAC1 and D
Bus use permission signal for MAC2, DMA1MASK
Is a mask signal for DMAC1, and COUNT is a measurement result of the number of cycles using the bus. Here, in order to simplify the description, the CPU 101 and the RAM 1
04 refresh request has not been issued. At one point (timing) in FIG.
Q and DMA2REQ are asserted. Arbitration device 106
Detects this at two points 1 and 2. At this point, BUSY is asserted and the bus is in use, so no new bus use permission is issued.

【0020】3の地点でBUSYがネゲートされたこと
を検出し、優先順が高く、マスク期間でもないDMAC
1に対してDMA1GNTをアサートすることでバス使
用許可を発行する。DMAC1のマスク・フィールドに
は、0001 0000(十進数の16)が設定されて
いるので、DMA1MASKをアサートする。マスク・
フィールドに0(0000 0000)が設定されてい
る場合は、DMA1MASKはアサートしない。4の地
点でDMAC1は許可を受けたことを検出し、DMA1
REQをネゲートするとともに、BUSYをアサートし
てバス使用中であることを示す。5では、調停装置10
6のカウンタ203のカウント値は、1となり、バス使
用サイクル数の計測をスタートする。6の地点でDMA
C1はバス使用を完了し、BUSYをネゲートする。
It is detected that BUSY has been negated at the point 3 and the DMAC has a high priority and is not a mask period.
The bus use permission is issued by asserting DMA1GNT with respect to 1. Since 0001 0000 (decimal 16) is set in the mask field of DMAC1, DMA1MASK is asserted. mask·
If 0 (0000 0000) is set in the field, DMA1MASK is not asserted. At the point 4, DMAC1 detects that the permission has been granted, and
REQ is negated, and BUSY is asserted to indicate that the bus is being used. 5, the arbitration device 10
The count value of the counter 203 of 6 becomes 1, and the measurement of the number of bus use cycles is started. DMA at 6
C1 completes bus use and negates BUSY.

【0021】7の地点で、調停装置106は、新規調停
を行いDMAC2に対してバス使用許可を発行する。こ
れは、優先順位としてはDMAC1の方が高いが、DM
AC1は、バス使用終了から16サイクル分マスクがか
かる様に設定されているので、MAC2に許可が発行さ
れる。DMAC1以外にバス使用要求が発行されていな
い場合には、DMA1MASKの状態に関わらずDMA
C1が許可される。8の地点で、DMAC2は許可を受
けたことを検出し、DMA2REQをネゲートするとと
もに、BUSYをアサートしてバス使用中であることを
示す。9では、調停装置106のカウンタ203のカウ
ント値は、1となり、バス使用サイクル数の計測をスタ
ートする。10の地点で、DMACのバス使用終了から
16サイクルとなるので、DMA1MASKがネゲート
される。
At the point 7, the arbitration device 106 performs new arbitration and issues a bus use permission to the DMAC2. This is because the priority of DMAC1 is higher,
Since AC1 is set so as to be masked for 16 cycles from the end of bus use, permission is issued to MAC2. If no bus use request has been issued other than DMAC1, DMA1
C1 is allowed. At point 8, the DMAC2 detects that it has been granted, negates DMA2REQ, and asserts BUSY to indicate that the bus is busy. At 9, the count value of the counter 203 of the arbitration device 106 becomes 1, and the measurement of the number of bus use cycles is started. At point 10, since 16 cycles have elapsed since the end of the DMAC bus use, DMA1MASK is negated.

【0022】図5のタイミング・チャートでは、カウン
タ203のカウント値COUNTが所定の値を超えた場
合の例を示していないが、この様なことが起こった場合
には、変更後最優先順位に設定されている要求元1(C
PU101)を最優先の優先順位にする。
The timing chart of FIG. 5 does not show an example in which the count value COUNT of the counter 203 exceeds a predetermined value. However, if such a case occurs, the priority after the change becomes the highest priority. Request source 1 (C
PU 101) is given the highest priority.

【0023】図3に、調停装置コア部分(ARB)20
1の具体例の1つを示す。レジスタ202には、要求元
1〜4のバス使用要求信号を受ける信号ポ−トのNo.
が要求元対応で書込まれ、レジスタ202のデ−タの読
み書きアドレスNo.1〜4が、優先順位の順に定めら
れている。カウンタC1のカウントデ−タがレジスタ2
02の読出しアドレスを指定するので、カウンタC1が
1〜4と順次にカウントアップすると、アドレスNo.
1〜4のデ−タ(優先順位,信号ポ−トNo.,変更後
順位およびマスク期間でなるデ−タグル−プ)が順次に
出力される。
FIG. 3 shows an arbiter core part (ARB) 20.
1 shows one specific example. Register 202 contains a signal port No. for receiving bus use request signals from request sources 1-4.
Is written corresponding to the request source, and the read / write address No. of the data in the register 202 is written. 1 to 4 are determined in the order of priority. The count data of the counter C1 is stored in the register 2
02, the counter C1 sequentially counts up from 1 to 4, and the address No.
The data Nos. 1 to 4 (data loop consisting of priority order, signal port No., changed order and mask period) are sequentially output.

【0024】すなわち、カウンタC1は、システムクロ
ックCLKが低レベルLのときにクリアされており、シ
ステムクロックCLKがLから高レベルHに立上るとカ
ウント可となる。システムクロックCLKがLから高レ
ベルHに立上ると、モノマルチバイブレ−タM11が、
CLKのパルス周期の1/8未満の短幅Hパルスを発生
し、このときBUSYがL(バスが空いている)である
とアンドゲ−トA1を通して該短幅Hパルスがカウンタ
C1に加わり、カウンタC1がカウントアップしてカウ
ントデ−タがアドレスNo.1を指定するものとなり、
レジスタ202から、そのアドレスNo.1のデ−タグ
ル−プが読出されて、その中の信号ポ−トNo.4(要
求元4)がデコ−ダD1に、変更後順位「0」がアンド
ゲ−トA3に、そしてマスク期間0000 0000が
プリセットカウンタPC1〜PC4のプリセットデ−タ
入力端に与えられる。信号ポ−トNo.4(要求元4)
を受けたデコ−ダD1は、第1〜4番のゲ−ト制御出力
線の第4番のもの、すなわちアンドゲ−トA14および
A34へのゲ−ト制御出力線を、ゲ−トオン(導通)を
指示するHとする。
That is, the counter C1 is cleared when the system clock CLK is at a low level L, and can be counted when the system clock CLK rises from L to a high level H. When the system clock CLK rises from L to high level H, the mono-multi vibrator M11
A short H pulse of less than 1/8 of the pulse period of CLK is generated. At this time, if BUSY is L (the bus is vacant), the short H pulse is added to the counter C1 through the AND gate A1, and the counter C1 is output. C1 counts up and the count data becomes address No. 1 will be specified,
From the register 202, the address No. 1 is read out and the signal port No. therein is read out. 4 (request source 4) is given to the decoder D1, the changed rank "0" is given to the AND gate A3, and the mask period 0000 0000 is given to the preset data input terminals of the preset counters PC1 to PC4. Signal port No. 4 (requester 4)
The decoder D1 receives the gate control output lines of the first to fourth gate control output lines, that is, the gate control output lines to the AND gates A14 and A34. ) Is designated as H.

【0025】このとき、要求元4(RAM104リフレ
ッシュ)のためのバス使用要求信号REFREQ=Hが
あると、アンドゲ−トA14の出力がHとなって、オア
ゲ−トR6を通してこのHが、バス使用許可信号REF
GNT=HとしてRAM104およびアンドゲ−トA2
4に与えられると共に、オアゲ−トR2を通してアンド
ゲ−トA21〜214に与えられて、アンドゲ−トA2
4のみがH出力を生じカウンタPC4が、このH出力の
立上り点で、プリセットデ−タ入力端のマスク期間デ−
タ0000 0000をロ−ドする。RAM104が、
バス使用許可信号REFGNT=Hに応答してバス使用
のためにBUSY=H(バス使用中)とすると、アンド
ゲ−トA1がオフに拘束され、モノマルチM11の出力
パルスがLに立下ったときにモノマルチM12がCLK
のパルス周期の1/8未満の短幅Hパルスを発生する
が、このパルスはアンドゲ−トA1で遮断され、カウン
タC1はカウントアップしない。すなわち、RAM10
4がバス使用を終了してBUSYがLに戻るまで、アン
ドゲ−トA1がオフを維持し、カウンタC1がカウント
アップしないので、レジスタ202のデ−タ読出しアド
レスは進められない(他のデバイスへのバス使用許可処
理に進まない)。
At this time, when there is a bus use request signal REFREQ = H for the request source 4 (RAM 104 refresh), the output of the AND gate A14 becomes H, and this H is passed through the OR gate R6. Enable signal REF
RAM 104 and AND gate A2 with GNT = H
4 and also through AND gate R2 to AND gates A21-214, and AND gate A2
4 generates an H output, and the counter PC4 outputs the mask period data of the preset data input terminal at the rising point of the H output.
0000 0000 is loaded. RAM 104
If BUSY = H (bus busy) for bus use in response to the bus use permission signal REFGNT = H, the AND gate A1 is constrained to be off and the output pulse of the mono-multi M11 falls to L. M12 is CLK
, The pulse width of which is less than 1/8 of the pulse period, this pulse is cut off by the AND gate A1, and the counter C1 does not count up. That is, the RAM 10
Until 4 finishes using the bus and BUSY returns to L, AND gate A1 remains off and counter C1 does not count up, so the data read address of register 202 cannot be advanced (to another device). The process does not proceed to the bus use permission process.)

【0026】RAM104がバス使用を終えてBUSY
をLに戻すと、モノマルチM2が1パルスHを発生し、
これがカウンタPC1〜PC4にダウンカウントスタ−
ト指示として与えられ、カウンタPC1〜3はプリセッ
ト値のロ−ドがない(0のロ−ドに同じ)のでカウント
動作せず、また、プリセット値がロ−ドされたカウンタ
PC4も、ロ−ド値が0(0000 0000)である
ので、実質上カウント動作せず、カウント中を表わす信
号Lを生じない。非カウント中であることを示すHが、
オアゲ−トR7〜R10およびナンドゲ−トA4に加わ
るので、オアゲ−トR7〜R10はゲ−トオンを指示す
るHをアンドゲ−トA11〜A14に与えるので、次に
いずれかのバス使用要求信号(CPUREQ=H,DM
A1REQ=H,DMA2REQ=H又はREFREQ
=H)があると、それに対応するバス使用許可信号(C
PUGNT=H,DMA1GNT=H,DMA2GNT
=H又はREFGNT=H)が発生する。
When the RAM 104 finishes using the bus and the BUSY
Is returned to L, the mono-multi M2 generates one pulse H,
This is the counter PC1 to PC4 that has the downcounter
The counters PC1 to PC3 do not count because there is no preset value load (the same as the load of 0), and the counter PC4 loaded with the preset value is also loaded. Since the code value is 0 (0000 0000), the counting operation is not substantially performed, and the signal L indicating that counting is in progress is not generated. H indicating that it is not counting is
Since the gates R7 to R10 and the NAND gate A4 are added to each other, the gates R7 to R10 supply H indicating gate-on to the AND gates A11 to A14. CPUREQ = H, DM
A1REQ = H, DMA2REQ = H or REFREQ
= H), the corresponding bus use permission signal (C
PUGNT = H, DMA1GNT = H, DMA2GNT
= H or REFGNT = H).

【0027】仮に、RAM104に宛てたマスク区間デ
−タが0001 0000(10進数の16)であっ
て、それがプリセットカウンタPC4にロ−ドされてい
たときには、RAM104がバス使用を終えてBUSY
をLに戻したときにプリセットカウンタPC4の、CL
Kカウントダウンが始まってオアゲ−トR10にカウン
ト中を表わすLが与えられ、これによりアンドゲ−トA
14がゲ−トオフに拘束され、これが、BUSYがLに
戻ってからシステムクロックCLKが16パルス発生す
る間継続する。つまり、この仮定の場合には、RAM1
04がバス使用を終えてから、システムクロックCLK
が16パルス発生する間は、仮にRAM104がバス使
用要求REFREQ=Hを発生しても、これに対してバ
ス使用許可は与えられない。この不許可の間は、アンド
ゲ−トA11〜A13にはゲ−トオン信号がオアゲ−ト
R7〜R9から与えられているので、他のデバイスCP
U101,DMAC1およびDMAC2には、バス使用
要求を発生したときに、バス使用許可が与えられる。
If the mask section data addressed to the RAM 104 is 0001 0000 (decimal 16) and it has been loaded into the preset counter PC4, the RAM 104 finishes using the bus and returns to BUSY.
Is reset to L, CL of the preset counter PC4 is
When the K countdown starts, L indicating that counting is being performed is given to the OR gate R10.
14 is constrained to gate-off, and this continues for 16 pulses of the system clock CLK after BUSY returns to L. That is, in the case of this assumption, the RAM 1
04 has finished using the bus, the system clock CLK
Is generated, even if the RAM 104 generates the bus use request REFREQ = H, no bus use permission is given to this. During this non-permission, the gate-on signals are given to the AND gates A11 to A13 from the OR gates R7 to R9.
A bus use permission is given to U101, DMAC1 and DMAC2 when a bus use request is issued.

【0028】上述のように、BUSY=L(バス空き)
で、システムクロックCLKがLからHに立上ってカウ
ンタC1がカウントアップして、レジスタ202からア
ドレスNo.1のデ−タグル−プを読出したときに、ア
ドレスNo.1(優先順位00:第1番)が宛てられた
RAM104リフレッシュがバス使用要求信号REFR
EQ=Hを出力していなかったとき(REFREQ=
L)には、BUSYがH(バス使用中)に反転しないの
でアンドゲ−トA1はゲ−トオン状態を継続し、モノマ
ルチM11の出力パルスの立下りに応答してモノマルチ
M12が1パルスを発生したときに、カウンタC1がそ
れをカウントアップして、カウントデ−タが2となり、
レジスタ202のアドレスNo.2(優先順位01:第
2番)のデ−タグル−プが読出される。このとき、該ア
ドレスNo.2に宛てられたDAMC1がバス使用要求
信号DMA1REQ=Hを発生していると、アンドゲ−
トA12の出力がHとなり、バス使用許可信号DMA1
GNT=Hが、DAMC1に与えられる。
As described above, BUSY = L (bus free)
, The system clock CLK rises from L to H, the counter C1 counts up, and the register 202 1 is read out, the address No. 1 is read. 1 (priority 00: first) is addressed to the RAM 104 refresh by the bus use request signal REFR.
When EQ = H is not output (REFREQ =
In L), since the BUSY is not inverted to H (bus busy), the AND gate A1 continues the gate-on state, and the mono-multi M12 outputs one pulse in response to the fall of the output pulse of the mono-multi M11. When this occurs, the counter C1 counts it up, and the count data becomes 2,
The address No. of the register 202 2 (priority 01: second) is read out. At this time, the address No. When the DAMC1 addressed to No. 2 generates the bus use request signal DMA1REQ = H, the AND gate
The output of the gate A12 becomes H, and the bus use permission signal DMA1
GNT = H is provided to DAMC1.

【0029】バス使用要求信号DMA1REQ=Hが発
生していなかったときには、BUSYがH(バス使用
中)に反転しないのでアンドゲ−トA1はゲ−トオン状
態を継続し、モノマルチM12の出力パルスの立下りに
応答してモノマルチM13が1パルスを発生したとき
に、カウンタC1がそれをカウントアップして、カウン
トデ−タが3となり、レジスタ202のアドレスNo.
3(優先順位10:第3番)のデ−タグル−プが読出さ
れる。このとき、該アドレスNo.3に宛てられたDA
MC2がバス使用要求信号DMA2REQ=Hを発生し
ていると、アンドゲ−トA13の出力がHとなり、バス
使用許可信号DMA2GNT=Hが、DAMC2に与え
られる。
When the bus use request signal DMA1REQ = H has not been generated, since BUSY does not reverse to H (bus busy), the AND gate A1 continues the gate-on state, and the output pulse of the mono-multi M12 is output. When the mono-multi M13 generates one pulse in response to the falling edge, the counter C1 counts it up, the count data becomes 3, and the address No.
3 (priority 10: third) is read out. At this time, the address No. DA addressed to 3
When the MC2 generates the bus use request signal DMA2REQ = H, the output of the AND gate A13 becomes H, and the bus use permission signal DMA2GNT = H is given to the DAMC2.

【0030】バス使用要求信号DMA2REQ=Hが発
生していなかったときには、BUSYがH(バス使用
中)に反転しないのでアンドゲ−トA1はゲ−トオン状
態を継続し、モノマルチM13の出力パルスの立下りに
応答してモノマルチM14が1パルスを発生したとき
に、カウンタC1がそれをカウントアップして、カウン
トデ−タが4となり、レジスタ202のアドレスNo.
4(優先順位11:第4番)のデ−タグル−プが読出さ
れる。このときアドレスNo.4に宛てられたCPU1
01がバス使用要求信号CPUREQ=Hを発生してい
ると、アンドゲ−トA11の出力がHとなり、バス使用
許可信号CPUGNT=Hが、CPU101に与えられ
る。
When the bus use request signal DMA2REQ = H has not been generated, since BUSY does not reverse to H (bus busy), the AND gate A1 continues the gate-on state, and the output pulse of the mono-multi M13 is output. When the mono-multi M14 generates one pulse in response to the falling edge, the counter C1 counts it up, the count data becomes 4, and the address No.
4 (priority 11: fourth) is read out. At this time, the address No. CPU1 addressed to 4
When 01 generates the bus use request signal CPUREQ = H, the output of the AND gate A11 becomes H, and the bus use permission signal CPUGNT = H is given to the CPU 101.

【0031】バス使用要求信号CPUREQ=Hが発生
していなかったときには、システムクロックCLKがL
に戻ったときにカウンタC1がクリアされ、次にクロッ
クCLKがHに立上るまで、ARB201は、格別な動
作をしない。
When the bus use request signal CPUREQ = H has not been generated, the system clock CLK goes low.
, The counter C1 is cleared, and the ARB 201 does not perform any special operation until the next clock CLK rises to H.

【0032】以上において、バス使用許可信号DMA1
GNT=H,DMA2GNT=H又はCPUGNTを、
DMAC1,DMAC2又はCPU101に与えた後の
動作は、バス使用許可信号REFGNT=HをRAM1
04リフレッシュに与えた後の、上述の動作と同様であ
る。
In the above, the bus use permission signal DMA1
GNT = H, DMA2GNT = H or CPUGNT
After the operation is given to the DMAC1, DMAC2 or the CPU 101, the bus use permission signal REFGNT = H is output to the RAM1.
This is the same as the above-mentioned operation after giving to the 04 refresh.

【0033】いずれのデバイスもバス使用要求信号を発
生していない間は、BUSY=Lであり、この間は、シ
ステムクロックCLKがLからHに立上る毎に(CLK
が1パルス発生する毎に)、アンドゲ−トA14,A1
2,A13およびA11にこの順にゲ−トオン信号を、
デコ−ダD1から順次に与えて、優先順位の高いデバイ
ス(RAM104:アンドゲ−トA14)から順次低い
順位のデバイスに、それぞれがバス使用要求信号を発生
しているかを、走査確認する。この優先順位での走査の
中であるデバイスがバス使用要求信号を発生している
と、それにバス使用許可を与えて、該デバイスがバス使
用のためにBUSYをHとしている間は、上記走査は停
止する。
BUSY = L while no device generates a bus use request signal. During this time, every time the system clock CLK rises from L to H, (BUSY = L)
Every time one pulse is generated), and gates A14, A1
2, a gate on signal to A13 and A11 in this order,
The decoder D1 is sequentially provided, and scanning is performed to determine whether a bus use request signal has been generated from a device having a higher priority (RAM 104: AND gate A14) to a device having a lower priority. If a device in a scan in this priority order generates a bus use request signal, it gives a bus use permission to the device, and while the device keeps BUSY high for bus use, the scan is performed. Stop.

【0034】図3に示す例では、要求元4(RAM10
4リフレッシュ)に対するマスク期間は0に、要求元2
および3(DMAC1,2)に対するマスク期間は16
(10進数)に、要求元1(CPU101)に対するマ
スク期間は0に設定しているので、すべてのデバイスが
マスク期間であるという事態、すなわち、カウンタPC
1〜PC4のすべてがカウント中を表わすLを、オアゲ
−トR7〜R10およびナンドゲ−トA4に出力してい
る状態、は発生しない。しかしCPU101がアドレス
No.1〜4のいずれにも、CLKの数周期又は数10
周期を表わすマスク期間デ−タを書込んだときには、そ
のような事態も発生することがありうる。このような事
態になると、ナンドゲ−トA4の出力がHとなってオア
ゲ−トR7〜R10のすべてにHが与えられ、これによ
りアンドゲ−トA11〜A14へのゲ−ト信号がオンを
指示するものとなり、いずれのデバイスもマスク期間で
ないときと同様に、上述の、優先順位の順での、デバイ
スそれぞれがバス使用要求信号を発生しているかの走査
確認を同様に行なう。これによって、マスク期間を全デ
バイスに任意に設定することによって発生するかも知れ
ない、全デバイスがマスク期間になって、どのデバイス
にもバス使用許可が与えられない、という事態は未然に
回避される。
In the example shown in FIG. 3, the request source 4 (the RAM 10
4 refresh) is set to 0, and the request source 2
And 3 (DMACs 1 and 2) have a mask period of 16
(Decimal number), the mask period for the request source 1 (CPU 101) is set to 0, so that all devices are in the mask period, that is, the counter PC
A state in which all 1 to PC4 output L indicating that counting is in progress to the orgates R7 to R10 and the NAND gate A4 does not occur. However, the CPU 101 determines that the address No. In any one of 1 to 4, several cycles of CLK or several tens
Such a situation may occur when mask period data indicating a cycle is written. In such a situation, the output of the NAND gate A4 becomes H and H is applied to all of the gates R7 to R10, thereby instructing the gate signals to the AND gates A11 to A14 to turn on. As in the case where no device is in the masking period, scanning confirmation of whether or not each device has generated a bus use request signal in the order of priority described above is performed in the same manner. This avoids a situation in which a mask period may be set to all devices arbitrarily, and a situation in which all devices are in the mask period and no bus use permission is given to any device. .

【0035】ところで、仮に、暴走又は故障によって1
つのデバイスが継続してバス使用状態(BUSY=H)
となると、上述の、優先順にバス使用要求信号をチェッ
クする走査が停止のままとなるので、他のデバイスに対
してバス使用権が廻わらなくなる。これを避けるため
に、プリセットカウンタ203を用いている。バス使用
中(BUSY=H)は、BUSY=Hによってアンドゲ
−トA2がオンであるので、先にBUSYがLであった
ときにそれによってクリアされていたプリセットダウン
カウンタ203が、BUSY=Hが継続している間、シ
ステムクロックCLKをプリセット値(所定値,所定サ
イクル数)からカウントダウンする。
By the way, if runaway or failure occurs, 1
Two devices continue to use the bus (BUSY = H)
Then, the scanning for checking the bus use request signal in the priority order described above remains stopped, so that the right to use the bus is not transferred to other devices. To avoid this, a preset counter 203 is used. When the bus is in use (BUSY = H), the AND gate A2 is on due to BUSY = H. Therefore, when BUSY was L first, the preset down counter 203 cleared by BUSY = H is changed to BUSY = H. While continuing, the system clock CLK is counted down from a preset value (predetermined value, predetermined cycle number).

【0036】そしてカウントデ−タが0を示すものにな
ると、すなわちプリセット値分、CLKの到来数をカウ
ントすると、カウンタ203がカウントオ−バ信号を発
生し、これによりフリップフロップFFがセットされ
て、そのQ出力が、リセット状態のLからセット状態の
Hに反転し、これによってアンドゲ−トA11〜A14
のすべてがオフになってアンドゲ−トA14の出力がH
からLに転ずる。このとき、Q出力=Hによって、アン
ドゲ−トA3が、レジスタ202から現在読出している
変更後順位ビットを出力する。ここで、RAM104リ
フレッシュによるバス使用中にカウンタ203がカウン
トオ−バしたと仮定すると、アンドゲ−トA3には、ア
ドレスNo.1の変更後順位ビット「0」がレジスタ2
02から与えられているので、アンドゲ−トA3の出力
はL、したがってアンドゲ−トA31〜A34の出力が
Lに留まるので、オアゲ−トR6の出力がHからLに戻
る。すなわち、RAM104宛てのバス使用許可信号R
EFGNT=Hが取消される。これによりBUSY=L
に戻るが、フリップフロップFFがセット状態であるの
で、アンドゲ−トA11〜A14はゲ−トオフである。
When the count data indicates 0, that is, when the number of arrivals of CLK is counted by the preset value, the counter 203 generates a count over signal, whereby the flip-flop FF is set, and The Q output is inverted from L in the reset state to H in the set state, whereby the AND gates A11 to A14 are output.
Are turned off, and the output of AND gate A14 becomes H
To L. At this time, the Q output = H causes the AND gate A3 to output the changed order bit currently read from the register 202. Here, assuming that the counter 203 counts over while the bus is being used for refreshing the RAM 104, the address No. is stored in the AND gate A3. After the change of 1, the order bit “0” is set to register 2
02, the output of AND gate A3 returns to L, and therefore the outputs of AND gates A31 to A34 remain at L, so that the output of OR gate R6 returns from H to L. That is, the bus use permission signal R addressed to the RAM 104
EFGNT = H is canceled. BUSY = L
However, since the flip-flop FF is in the set state, the AND gates A11 to A14 are gated off.

【0037】BUSY=Lに戻ると、アンドゲ−トA1
がゲ−トオンになるので、上述の、優先順にバス使用要
求信号をチェックする走査が開始される。この走査によ
って、変更後順位ビット「1」が書込まれたアドレスN
o.4(要求元1:CPU101)に走査が進んだとき
に、すなわち該アドレスのデ−タグル−プがレジスタ2
02から読出されたときに、アンドゲ−トA3の出力が
Hとなる。このとき、CPU101がバス使用要求信号
CPUREQ=Hを発生していると、アンドゲ−トA3
1の出力がHとなってオアゲ−トR3,R2の出力がH
となって、CPU101宛てのバス使用許可信号CPU
GNT=Hが発生する。すなわちCPU101にバス使
用が許可される。図3に示すレジスタ202上のデ−タ
設定の場合には、CPU101のみに、バス使用権
「1」が与えられているので、上述のようにフリップフ
ロップFFがセットされている間は、バス使用ができる
のはCPU101のみである。
When BUSY = L, AND gate A1
Is turned on, and the above-described scanning for checking the bus use request signal in the priority order is started. By this scanning, the address N at which the changed order bit “1” is written
o. 4 (request source 1: CPU 101) when scanning proceeds, that is, the de-tag loop of the address is stored in the register 2
When the data is read from the address 02, the output of the AND gate A3 becomes H. At this time, if the CPU 101 generates the bus use request signal CPUREQ = H, the AND gate A3
1 becomes H, and the outputs of the gates R3 and R2 become H.
And the bus use permission signal CPU addressed to the CPU 101
GNT = H occurs. That is, the CPU 101 is permitted to use the bus. In the case of the data setting on the register 202 shown in FIG. 3, only the CPU 101 has the bus use right "1". Therefore, while the flip-flop FF is set as described above, the bus is not used. Only the CPU 101 can be used.

【0038】フリップフロップFFは、電源オンリセッ
ト信号およびシステム(106のみ、又は101〜10
6)リセット信号によってリセットされる。例えば、C
PU101を、バス使用要求信号を発生してから所定時
間(カウンタ203のプリセット値)の間バス使用許可
が与えられないで、所定時間経過後にバス使用許可が与
えられると(変更後順位ビット「1」によるバスの専有
使用になると)、システムエラ−報知を行なうとか、あ
るいはシステムリセットを行なうものとしておくことに
より、カウンタ203がカウントオ−バしたときに、シ
ステムエラ−報知が発生する。あるいはシステムがリセ
ットされる。
The flip-flop FF receives a power-on reset signal and a system (only 106 or 101 to 10).
6) Reset by the reset signal. For example, C
When the bus use permission is not given for a predetermined time (preset value of the counter 203) after the bus use request signal is generated and the bus use permission is given after the predetermined time elapses (the changed priority bit “1”). ), The system error is notified, or the system is reset, so that when the counter 203 counts over, the system error is generated. Alternatively, the system is reset.

【0039】上述の例ではARB201はディスクリ−
ト論理回路構成であるが、その全部又は一部分をCPU
として、上述の機能をCPUのプログラムによる動作機
能に置換してもよい。
In the above example, the ARB 201 is a disc drive.
Logic circuit configuration, all or a part of which
Alternatively, the above function may be replaced with an operation function by a program of the CPU.

【図面の簡単な説明】[Brief description of the drawings]

【図1】 本発明の一実施例を組込んだ、バス共用シス
テムの構成を示すブロック図である。
FIG. 1 is a block diagram showing a configuration of a shared bus system incorporating one embodiment of the present invention.

【図2】 図1に示す制御回路106内の、本発明の調
停装置の一実施例部分を示すブロック図である。
FIG. 2 is a block diagram showing an embodiment of an arbitrating device of the present invention in a control circuit 106 shown in FIG. 1;

【図3】 図2に示す調停装置のコア部分(ARB)2
01の一具体例を示すブロック図である。
3 is a core part (ARB) 2 of the arbitration device shown in FIG. 2;
FIG. 2 is a block diagram showing a specific example of the first embodiment.

【図4】 図2に示す制御レジスタ202にCPU10
1が書込むデ−タ例を示す図表である。
FIG. 4 shows a control register 202 shown in FIG.
3 is a chart showing an example of data written by 1;

【図5】 図2に示すARB201の、バス使用調停の
一具体例を示すタイミング・チャートである。
FIG. 5 is a timing chart showing a specific example of bus arbitration of ARB 201 shown in FIG.

【符号の説明】[Explanation of symbols]

101:CPU 102:DMAコ
ントローラ1 103:DMAコントローラ2 104:RAM 105:ROM 106:制御回路 201:調停装置のコア部分 202:制御レジ
スタ 203:カウンタ FF:フリップフ
ロップ M11〜M14,M2:モノマルチバイブレ−タ
101: CPU 102: DMA controller 1 103: DMA controller 2 104: RAM 105: ROM 106: Control circuit 201: Core part of the arbitration device 202: Control register 203: Counter FF: Flip-flop M11 to M14, M2: Mono multivibration -Ta

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】複数のデバイスからのバス・アクセス要求
信号を調停してバス使用を1つのデバイスに許可するバ
ス調停装置において、 デバイスのマスク時間を設定するマスク設定手段,デバ
イスが所定のバス使用をすると該デバイスに宛てられた
マスク時間の計時を開始する手段、および、該デバイス
よりも、同様な計時は開始していないデバイスを先順位
とする変更手段、を備えたことを特徴とするバス調停装
置。
In a bus arbitration apparatus for arbitrating bus access request signals from a plurality of devices and permitting one device to use a bus, mask setting means for setting a mask time of the device, wherein the device uses a predetermined bus usage A means for starting timing of a mask time addressed to the device, and a changing means for prioritizing a device that has not started timing similar to the device. Arbitration device.
【請求項2】バス調停装置は、デバイスに対して優先順
位を設定する順位設定手段を含み;前記変更手段は、す
べてのデバイスがそれぞれに宛てられたマスク時間の計
時を開始しているときは、前記順位設定手段が設定して
いる優先順位でバス調停を行う;請求項1記載のバス調
停装置。
2. The bus arbitration apparatus includes priority setting means for setting priorities for devices; said changing means includes means for setting a time when all devices have started timing their respective mask times. 2. The bus arbitration device according to claim 1, wherein bus arbitration is performed according to the priority set by said order setting means.
【請求項3】複数のデバイスからのバス・アクセス要求
信号を調停してバス使用を1つのデバイスに許可するバ
ス調停装置において、 バス連続使用の長さを計測する手段、および、計測した
長さが所定値に達したときに、特定のデバイスのバス・
アクセス要求の優先順位を最上位に定める特別順位設定
手段、を備えたことを特徴とするバス調停装置。
3. A bus arbitration device for arbitrating bus access request signals from a plurality of devices to permit one device to use a bus, means for measuring the length of continuous use of the bus, and the measured length When a certain value is reached, the bus
A bus arbitration device comprising: special order setting means for setting the priority of an access request to the highest order.
JP11057558A 1999-03-04 1999-03-04 Bus arbitrating device Pending JP2000259556A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11057558A JP2000259556A (en) 1999-03-04 1999-03-04 Bus arbitrating device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11057558A JP2000259556A (en) 1999-03-04 1999-03-04 Bus arbitrating device

Publications (1)

Publication Number Publication Date
JP2000259556A true JP2000259556A (en) 2000-09-22

Family

ID=13059162

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11057558A Pending JP2000259556A (en) 1999-03-04 1999-03-04 Bus arbitrating device

Country Status (1)

Country Link
JP (1) JP2000259556A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030012049A (en) * 2001-07-30 2003-02-12 엘지전자 주식회사 Access control method and apparatus for arbiter
US7558896B2 (en) 2006-05-23 2009-07-07 Fuji Xerox Co., Ltd. Data transfer control device arbitrating data transfer among a plurality of bus masters

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030012049A (en) * 2001-07-30 2003-02-12 엘지전자 주식회사 Access control method and apparatus for arbiter
US7558896B2 (en) 2006-05-23 2009-07-07 Fuji Xerox Co., Ltd. Data transfer control device arbitrating data transfer among a plurality of bus masters

Similar Documents

Publication Publication Date Title
US5388228A (en) Computer system having dynamically programmable linear/fairness priority arbitration scheme
US6073199A (en) History-based bus arbitration with hidden re-arbitration during wait cycles
US6505265B1 (en) Bus arbitration system with changing arbitration rules
US5603050A (en) Direct memory access controller having programmable timing
US6820152B2 (en) Memory control device and LSI
EP0071743A2 (en) Refresh circuit for dynamic memory of a data processor employing a direct memory access controller
CA2051177C (en) Bus master with antilockup and no idle bus cycles
JP2007058716A (en) Data transfer bus system
USRE40261E1 (en) Apparatus and method of partially transferring data through bus and bus master control device
TW200400438A (en) Bus arbiter for integrated circuit systems
JP2854474B2 (en) Bus use request arbitration device
JP2004038967A (en) Method and device which can control use frequency of bus
JP2000259556A (en) Bus arbitrating device
US7181558B2 (en) Avoidance of extended bus occupancy through simple control operation
JPH0696014A (en) Bus using priority order controller
JP3987750B2 (en) Memory control device and LSI
JPH03150654A (en) Preference control system for processor having cash
JP2008158585A (en) Bus system and method for arbitrating bus
JPH10334042A (en) Bus arbitration control device method therefor, and recording medium recorded with bus arbitration control program
JPH0991247A (en) Bus arbiter
JP3124544B2 (en) Bus controller
JPH1139255A (en) Bus arbitration device and method therefor
JPH08129883A (en) Refresh control system for d-ram
JPH08137785A (en) Dma controller
US5799160A (en) Circuit and method for controlling bus arbitration