JP4642398B2 - Shared bus arbitration system - Google Patents
Shared bus arbitration system Download PDFInfo
- Publication number
- JP4642398B2 JP4642398B2 JP2004209617A JP2004209617A JP4642398B2 JP 4642398 B2 JP4642398 B2 JP 4642398B2 JP 2004209617 A JP2004209617 A JP 2004209617A JP 2004209617 A JP2004209617 A JP 2004209617A JP 4642398 B2 JP4642398 B2 JP 4642398B2
- Authority
- JP
- Japan
- Prior art keywords
- cpu
- count value
- bus
- shared
- shared bus
- 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.)
- Expired - Fee Related
Links
- 230000002093 peripheral effect Effects 0.000 claims description 29
- 238000012545 processing Methods 0.000 claims description 8
- 101100328887 Caenorhabditis elegans col-34 gene Proteins 0.000 description 54
- 230000006870 function Effects 0.000 description 15
- 230000008859 change Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 8
- 238000012546 transfer Methods 0.000 description 8
- 230000004044 response Effects 0.000 description 7
- 239000004065 semiconductor Substances 0.000 description 5
- 238000013461 design Methods 0.000 description 4
- 239000000284 extract Substances 0.000 description 4
- 238000000034 method Methods 0.000 description 4
- 230000009467 reduction Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
Images
Landscapes
- Bus Control (AREA)
Description
本発明は、複数のCPU(Central Processing Unit;中央処理装置)等に共有される共有バスの調停機能を備えた共有バス調停システムに関する。 The present invention relates to a shared bus arbitration system having a shared bus arbitration function shared by a plurality of CPUs (Central Processing Units) and the like.
複数のCPUを備えたシステム(マルチCPUシステム)の従来例として、図8に示すようなものがある。図8のシステムは、2つのCPU101及び102、CPU101専用のRAM(Random Access Memory)103、入出力ポート104及び専用バス108、並びにCPU102専用のRAM105、入出力ポート106及び専用バス109、を備えており、CPU101とCPU102は、デュアルポートメモリ107でインターフェースされている。
As a conventional example of a system including a plurality of CPUs (multi-CPU system), there is a system as shown in FIG. The system in FIG. 8 includes two
通常、CPU101とCPU102との一方にでもメモリ不足が発生することがないように、RAM103は、CPU101が最大負荷(最も大きなサイズのRAM領域を使用する状態)になった時のメモリサイズを有する必要があり、RAM104は、CPU102が最大負荷になった時のメモリサイズを有する必要がある。
Normally, the
また、CPU101とCPU102の双方に入出力ポートが必要となる場合は、図8に示す如く、各CPUに専用の入出力ポート(入出力ポート104、105)を設ける必要がある。このため、システム全体のチップサイズが大きくなり、チップコストの増大や歩留まりの低下を招いてしまう。
If both the
そこで、図9に示すような調停回路を備えたシステムが実用化されている(例えば、下記特許文献1参照)。CPU111とCPU112は、RAM121や入出力ポート122を共有して使用する。例えば、CPU111、112がRAM121へのアクセス(データの読出し及び/又は書込み)を希望する場合の動作について簡単に説明する。まず、CPU111、112の夫々は、アクセス要求信号131、132を調停回路117に送出する。
Therefore, a system including an arbitration circuit as shown in FIG. 9 has been put into practical use (for example, see
調停回路117は、アクセス要求信号131、132が競合しない時には、アクセス要求信号を発したCPU(CPU111又は112)にアクセス許可の応答信号133、134を与えて共有バス120の使用権を与える。共有バス120の使用権を獲得したCPU111又は112は、専用バス118又は専用バス119と共有バス120を介してRAM121にアクセスを行う。
When the
しかし、アクセス要求信号131、132が競合した時には、調停回路117は予め定められた優先順位に従ってCPU111又は112に共有バス120の使用権を与える。使用権を得たCPU111又は112は、アクセス要求信号が競合しない時と同様の動作を行うが、使用権を獲得できなかったCPU111又は112は、ウエイト要求の応答信号133、134によってウエイト状態となり、使用権を獲得できるまでデータ転送のプログラムの実行は中断される。
However, when the access request signals 131 and 132 compete, the
尚、図9のシステムにおいても、CPU111専用のRAM113、入出力ポート114及び専用バス118と、CPU112専用のRAM115、入出力ポート116及び専用バス119と、が設けられている。
In the system of FIG. 9 as well, a
上記の図9の動作例は、比較的単純な動作例であるが、調停回路117は実際、各CPUからのアクセス要求信号の有無、使用権を与える優先順位、共有バス120の使用状態だけでなく、システム全体のステートが現在どのステートにあるかを参照しつつ応答信号133、134の内容を決定するため、複数の条件に応じた応答信号の生成やバスの制御が必要となり、回路は複雑且つ大規模なものとなっている。
The operation example of FIG. 9 is a relatively simple operation example. However, the
そして、共有バス120を共有するCPUの数が増えると、専用バスと共有バスとの接続の切り替えが多くなる上、アクセス要求信号の受信回路と応答信号を生成する回路は極めて複雑且つ大規模になるし、調停回路117に大規模な変更を加える必要がありシステムの変更のための設計時間及び設計コストが極めて大きい。
As the number of CPUs sharing the shared
また、CPU111、112がRAM121にアクセスを希望しても拒否されることを考慮すると、結局、CPU111の最大負荷時に必要なメモリサイズに近いサイズを有するRAM113をCPU111専用に設け、CPU112の最大負荷時に必要なメモリサイズに近いサイズを有するRAM115をCPU112専用に設ける必要がある。このため、図9のシステムにおいても、チップサイズの軽減効果は十分とはいえない。同様に、入出力ポート122にアクセスしたいタイミングに、必ずしも共有バス120の使用権が得られるとは限らないため、別途CPU111専用の入出力ポート114や、CPU112専用の入出力ポート116を設ける必要があり、このこともチップサイズを小さくすることを妨げる。
Considering that the
本発明は、上記の点に鑑み、小規模な回路構成で共有バスの調停を実現すると共に、チップサイズの縮小化に寄与し、更に共有バスを共有するCPU等の数の変更に対して簡単に対応できる共有バス調停システムを提供することを目的とする。 In view of the above points, the present invention realizes arbitration of a shared bus with a small circuit configuration, contributes to a reduction in chip size, and is easy to change the number of CPUs sharing the shared bus. The purpose is to provide a shared bus arbitration system that can handle the above.
上記目的を達成するために本発明に係る共有バス調停システムは、システムクロックを発生するシステムクロック発生手段と、所定の演算処理を行う複数の演算手段と、前記複数の演算手段の夫々の駆動条件を記憶する第1のレジスタと、前記複数の演算手段に共有され、前記複数の演算手段の夫々の入出力信号を伝達可能な共有バスと、前記システムクロックに同期してカウント値を更新するカウンタと、を備え、各演算手段は、前記カウント値が自身の駆動条件を満たす時に前記共有バスの使用権を獲得し、前記駆動条件の夫々は、同一のカウント値に対して2以上の演算手段の駆動条件が同時に満足することがないように定められている。 In order to achieve the above object, a shared bus arbitration system according to the present invention includes a system clock generating means for generating a system clock, a plurality of arithmetic means for performing predetermined arithmetic processing, and driving conditions for each of the plurality of arithmetic means. A first register that stores the counter, a shared bus that is shared by the plurality of calculation means and can transmit input / output signals of each of the plurality of calculation means, and a counter that updates a count value in synchronization with the system clock And each computing means obtains the right to use the shared bus when the count value satisfies its own driving condition, and each of the driving conditions has two or more computing means for the same count value. These driving conditions are determined so as not to be satisfied at the same time.
これにより、共有バスの競合は生じない。つまり、比較的小規模の回路構成にて実装できるカウンタの機能を応用することにより共有バスの調停機能が実現されており、従来例のような複雑な調停回路を設ける必要がない。 Thereby, there is no contention for the shared bus. In other words, the shared bus arbitration function is realized by applying a counter function that can be implemented with a relatively small circuit configuration, and there is no need to provide a complex arbitration circuit as in the conventional example.
また、カウント値のカウント方法を変形したり、第1のレジスタの記憶内容を変更したりすることで、各演算手段の稼働率を変更することが可能となる。そうすると、各演算手段に前記共有バスを介して共有される周辺装置としてRAM等のメモリを設けた場合、各演算手段の稼動状況に応じたメモリ領域の配分が可能となる。これにより、図8や図9に示される従来例のように、演算手段(従来例のCPUに相当)毎に最大負荷時に必要なメモリサイズ(又は最大負荷時に必要なメモリサイズに近いサイズ)を有する専用のメモリ設ける必要はなくなる。このことは、上記共有バス調停システムを半導体基板上に形成した場合、チップサイズの縮小化に寄与する。 In addition, it is possible to change the operating rate of each computing means by modifying the counting method of the count value or changing the stored contents of the first register. Then, when a memory such as a RAM is provided as a peripheral device shared via the shared bus in each calculation means, it is possible to allocate a memory area according to the operation status of each calculation means. Thus, as in the conventional examples shown in FIGS. 8 and 9, the memory size required at the maximum load (or a size close to the memory size required at the maximum load) is calculated for each computing means (corresponding to the CPU in the conventional example). There is no need to provide a dedicated memory. This contributes to a reduction in chip size when the shared bus arbitration system is formed on a semiconductor substrate.
また、前記共有バスに各演算手段の周辺装置としてのRAM等のメモリを接続した場合、そのメモリは各演算手段に共有されることになるため、各演算手段はそのメモリにアクセスすることにより演算手段間のデータ転送は不要となる。このため、各演算手段はウエイト状態を従来例よりも長い時間維持することができ、システムの低消費電力化が図られる。 In addition, when a memory such as a RAM as a peripheral device of each arithmetic means is connected to the shared bus, the memory is shared by the arithmetic means, so that each arithmetic means calculates by accessing the memory. Data transfer between means becomes unnecessary. For this reason, each computing means can maintain the wait state for a longer time than the conventional example, and the power consumption of the system can be reduced.
また、上記のように構成すれば、前記共有バスを共有する前記演算手段が変化した場合でも、前記カウンタのビット数を変更し、前記カウント値をデコードするデコータを変更する等の程度の小規模な変更で対応が可能である。即ち、共有バスを共有する演算手段の数の変化に対して容易な設計変更で対応が可能である。 Further, if configured as described above, even if the arithmetic means sharing the shared bus changes, the small number of bits such as changing the number of bits of the counter and changing the decoder for decoding the count value. It can be handled with simple changes. That is, it is possible to cope with a change in the number of arithmetic means sharing the shared bus by an easy design change.
また、例えば、各演算手段は、前記システムクロックを構成するパルスの内、前記カウント値が自身の駆動条件を満たす時におけるパルスを、自身への動作クロックとして入力するとよい。 Further, for example, each calculation means may input a pulse when the count value satisfies its own drive condition among pulses constituting the system clock as an operation clock to itself.
各演算手段は、前記システムクロックを構成するパルスの内、前記カウント値が自身の駆動条件を満たす時におけるパルスを自身への動作クロックとして入力して動作する。そして、各演算手段は、前記カウント値が自身の駆動条件を満たす時に前記共有バスの使用権を獲得する。従って、各演算手段に動作クロックが入力されて動作するタイミングにおいては、各演算手段には必ず共有バスの使用権が与えられることになるので、各演算手段は共有バスをあたかも自身の専用バスのよう用いることができる。 Each calculation means operates by inputting, as an operation clock to itself, a pulse when the count value satisfies its own drive condition among pulses constituting the system clock. Each arithmetic means acquires the right to use the shared bus when the count value satisfies its own drive condition. Therefore, at the timing when the operation clock is input to each arithmetic means, each arithmetic means is always given the right to use the shared bus. Therefore, each arithmetic means uses the shared bus as if it had its own dedicated bus. Can be used.
つまり、各演算手段は、共有バスを使用するに当たって、従来例のようにアクセス要求信号を送出して共有バスの使用の可否を問い合わせる必要もないし、他の演算手段の動作によって共有バスの使用の可否が変動することもない(カウント値と自身の駆動条件のみによって共有バスの使用の可否は決定する)。これにより、演算手段の処理の高速化及び簡素化が図られる。 That is, when using the shared bus, each computing means does not need to send an access request signal to inquire whether or not the shared bus can be used as in the conventional example, and the use of the shared bus by the operation of other computing means is not required. Whether or not the shared bus can be used is determined only by the count value and its own drive condition. This speeds up and simplifies the processing of the computing means.
また、具体的な一例として、前記駆動条件は駆動番号として与えられており、前記カウント値が自身の駆動条件を満たす時とは、前記カウント値が前記駆動番号に一致する時に相当する。 Further, as a specific example, the drive condition is given as a drive number, and the time when the count value satisfies its drive condition corresponds to the time when the count value matches the drive number.
また、例えば、前記共有バスを介して各演算手段が出力するデータを入力可能であるか、または各演算手段にデータを出力可能な周辺装置と、前記周辺装置の駆動条件を記憶する第2のレジスタと、を更に備え、前記周辺装置は、前記システムクロックを構成するパルスの内、前記カウント値が自身の駆動条件を満たす時におけるパルスを自身への動作クロックとして入力するとともに、前記カウント値が自身の駆動条件を満たす時に前記共有バスの使用権を獲得するようにするとよい。 In addition, for example, a peripheral device that can input data output from each arithmetic means via the shared bus or can output data to each arithmetic means, and a second condition that stores driving conditions of the peripheral device A register, and the peripheral device inputs a pulse when the count value satisfies its drive condition among pulses constituting the system clock as an operation clock to the peripheral device, and the count value is The right to use the shared bus may be acquired when its own drive condition is satisfied.
例えば、複数の演算手段が第1演算手段と第2演算手段とから成るとし、第1演算手段の駆動条件と前記周辺装置の駆動条件とが一致するようにしておけば、前記周辺装置は第1演算手段に用いられる周辺装置として動作することになる。そして、前記第1のレジスタの記憶内容を書き換えて第1演算手段及び第2演算手段の駆動条件を変化させることにより、または前記第2のレジスタの記憶内容を書き換えて前記周辺装置の駆動条件を変化させることにより、前記周辺装置を第2演算手段に用いられる周辺装置として動作させることもできる。 For example, if the plurality of calculation means are composed of a first calculation means and a second calculation means, and the driving conditions of the first calculation means and the driving conditions of the peripheral device are matched, the peripheral device is It will operate as a peripheral device used for one computing means. Then, by rewriting the storage contents of the first register to change the driving conditions of the first arithmetic means and the second arithmetic means, or by rewriting the storage contents of the second register, the driving conditions of the peripheral device are changed. By changing the peripheral device, the peripheral device can be operated as a peripheral device used for the second calculation means.
つまり、前記複数の演算手段の駆動条件の夫々、及び/または前記周辺装置の駆動条件を可変としておくとよい。即ち、前記複数の演算手段の駆動条件の夫々を可変とするか、前記周辺装置の駆動条件を可変とするか、又は前記複数の演算手段の駆動条件の夫々及び前記周辺装置の駆動条件を可変とするとよい。 In other words, each of the driving conditions of the plurality of arithmetic means and / or the driving conditions of the peripheral device may be made variable. That is, each of the driving conditions of the plurality of calculating means is variable, the driving condition of the peripheral device is variable, or each of the driving conditions of the plurality of calculating means and the driving condition of the peripheral device are variable. It is good to do.
これにより、前記周辺装置と各演算手段との組み合わせを自由に且つ簡単に変更することができる。 Thereby, the combination of the said peripheral device and each calculating means can be changed freely and easily.
上述した通り、本発明に係る時定数自動調整回路によれば、小規模な回路構成で共有バスの調停を実現すると共に、チップサイズの縮小化に寄与することができる。更に共有バスを共有するCPU等の数の変更に対して簡単に対応できる。 As described above, according to the automatic time constant adjustment circuit of the present invention, it is possible to realize arbitration of the shared bus with a small circuit configuration and contribute to the reduction of the chip size. Furthermore, it is possible to easily cope with a change in the number of CPUs sharing a shared bus.
<<第1実施形態>>
以下、本発明に係る共有バス調停システムの第1実施形態を、図面を参照して説明する。図1は、本発明の第1実施形態に係る共有バス調停システム10のブロック構成図である。
<< First Embodiment >>
Hereinafter, a first embodiment of a shared bus arbitration system according to the present invention will be described with reference to the drawings. FIG. 1 is a block diagram of a shared
共有バス調停システム10は、共有バス調停システム10が行うタスクに応じて夫々に所定の演算処理(プログラムの実行、データ転送等)を行うCPU1、2及び3(演算手段)と、半導体メモリから成るRAM4と、外部からのデータを入力して、そのデータをCPU1、2又は3に出力(伝送)可能であると共に、CPU1、2又は3が出力するデータを入力して、外部にそのデータを出力することが可能な入出力ポート5と、システムクロックを発生するシステムクロック発生回路(システムクロック発生手段)6と、そのシステムクロックを入力し、システムクロックに同期してカウント値を更新するカウンタ7と、CPU1、2及び3に共有され、RAM4や入出力ポート5から送出される信号をCPU1、2又は3に入力信号として伝送すると共に、CPU1、2又は3からの出力信号をRAM4や入出力ポート5に伝送するための共有バス8と、調停回路11、12及び13と、レジスタ21、22及び23と、から概略構成されている。RAM4と入出力ポート5は、CPU1、2、3で共有されるCPU1、2又は3の周辺装置として機能する。
The shared
システムクロック発生回路6が発生するシステムクロックは、調停回路11、12及び13の夫々に与えられていると共に、RAM4及び入出力ポート5の夫々の動作クロックとしてRAM4及び入出力ポート5の夫々にそのまま与えられている。カウンタ7が出力するカウント値は調停回路11、12及び13の夫々に与えられている。
The system clock generated by the system
レジスタ21は、CPU1用の駆動番号を記憶しており、その駆動番号を調停回路11に与えている。同様に、レジスタ22、23は、夫々CPU2用の駆動番号、CPU3用の駆動番号を記憶しており、それらの駆動番号は、夫々調停回路12、13に与えられている。今、CPU1用の駆動番号、CPU2用の駆動番号、CPU3用の駆動番号は、夫々1、2、3であるとする。
The
調停回路11は、カウンタ7から供給されるカウント値とレジスタ21から供給されるCPU1用の駆動番号とに基づいてシステムクロックの一部を抜き取り、そのシステムクロックの一部を動作クロック51としてCPU1に供給する。同様に、調停回路12はカウント値とCPU2用の駆動番号とに基づいてシステムクロックの一部を抜き取り、そのシステムクロックの一部を動作クロック52としてCPU2に供給し、調停回路13はカウント値とCPU3用の駆動番号とに基づいてシステムクロックの一部を抜き取り、そのシステムクロックの一部を動作クロック53としてCPU3に供給する。
The
図2を用いて各動作クロックの様子を説明する。図2は、上から、システムクロックの電圧波形、カウンタ7が出力するカウント値、CPU1の動作クロック51の電圧波形、CPU2の動作クロック52の電圧波形、CPU3の動作クロック53の電圧波形を示している。
The state of each operation clock will be described with reference to FIG. FIG. 2 shows, from above, the voltage waveform of the system clock, the count value output by the
図2に示す如く、カウント値はシステムクロックの電圧の立ち上がり(アップエッジ)に同期してインクリメントされ(1だけ増加し)、カウント値が3の時、システムクロックの電圧が立ち上がると、カウント値は0に戻る。つまり、カウンタ7はサーキュラタイプのカウンタであって、カウント値は、システムクロックに同期して0→1→2→3→0→1→2→3→0・・・、のようにループ状に変化する。
As shown in FIG. 2, the count value is incremented (incremented by 1) in synchronization with the rise (up edge) of the system clock voltage. When the count value is 3, when the system clock voltage rises, Return to zero. That is, the
そして、システムクロックを構成するパルスの内、カウント値が1の時におけるパルスがCPU1の動作クロック51となる。つまり、システムクロックを構成するパルスの内、カウント値がCPU1用の駆動番号である1と一致する時におけるパルスがCPU1の動作クロック51となる。
Of the pulses constituting the system clock, the pulse when the count value is 1 becomes the
同様に、システムクロックを構成するパルスの内、カウント値がCPU2用の駆動番号である2と一致する時におけるパルスがCPU2の動作クロック52となり、カウント値がCPU3用の駆動番号である3と一致する時におけるパルスがCPU3の動作クロック53となる。
Similarly, of the pulses constituting the system clock, the pulse when the count value matches 2 which is the drive number for
また、図1において、41、42、43は、夫々CPU1、2、3が入出力する信号を伝送するための専用の入出力バスである。RAM4、入出力ポート5の夫々の各入出力端子は、共有バス8に接続されており、CPU1、2、3は、夫々入出力バス41と調停回路11、入出力バス42と調停回路12、入出力バス43と調停回路13を介し、更に共有バス8を介してRAM4、入出力ポート5の夫々とアクセスが可能となっている。
In FIG. 1,
CPU1は、調停回路11の機能により、カウント値がCPU1用の駆動番号である1と一致する時に共有バス8の使用権を獲得する一方、カウント値がCPU1用の駆動番号である1と異なる時には共有バス8の使用権を有しないようになっている。ここにおいて、「共有バス8の使用権を獲得する」とは、「共有バス8が伝送する信号を調停回路(CPU1なら調停回路11)及び入出力バス(CPU1なら入出力バス41)を介して入力可能となる」、または「共有バス8に所望の信号を入出力バス(CPU1なら入出力バス41)及び調停回路(CPU1なら調停回路11)を介して出力可能となる」ことを意味し、その入力及び出力の双方が可能になることも含む。
The
同様に、CPU2、CPU3は、夫々調停回路12、13の機能により、カウント値が自身の駆動番号と一致する時に共有バス8の使用権を獲得する一方、カウント値が自身の駆動番号と異なる時には共有バス8の使用権を有しないようになっている。
Similarly, the
そして、CPU1、2、3の駆動番号の夫々は、互いに異なっており(上述のとおり、CPU1、2、3の駆動番号は、夫々1、2、3)、同一のカウント値に対して2以上のCPUに対応する駆動番号が一致することのないように設定されている。従って、共有バス8の競合が生じることはない。つまり、カウンタ7と、カウント値及びレジスタ21等の記憶内容に従ってバス接続の切り替えやシステムクロックのマスクを行う調停回路11等とによる単純な回路構成により、共有バスの調停機能が実現されている。
The drive numbers of the
また、システムクロックの電圧波形の立ち上がりに同期したカウント値のカウント方法を変形すれば、各CPUの稼働率を容易に変化させることが出来る。例えば、CPU1が最大負荷(最も大きなサイズのRAM領域を使用する状態)になる一方、CPU2及びCPU3が、それほどRAM領域を必要としない場合には、システムクロックの電圧波形の立ち上がりに同期してカウント値が0→1→1→1→1→2→3→0→1→1→1→1→2→3→0・・・と変化するようにカウント値のカウント方法を変形する。これにより、CPU1は、CPU2やCPU3よりも優先的にRAM4を使用することが可能となり、各CPUは必要とするRAM領域を確保することができる。この場合、勿論CPU1はCPU2やCPU3よりも優先的に入出力ポート5を使用することも可能となる。
Further, if the counting method of the count value synchronized with the rise of the voltage waveform of the system clock is modified, the operating rate of each CPU can be easily changed. For example, when
また、システムクロックの電圧波形の立ち上がりに同期してカウント値が0→1→2→3→4→5→6→0→1→2→・・・と、0から6までループ状に変化するようにしておき、レジスタ21に記憶されるCPU1用の駆動番号を1と4に、レジスタ22に記憶されるCPU2用の駆動番号を2と5に、レジスタ23に記憶されるCPU3用の駆動番号を3と6としてもよい。そして、CPU1が最大負荷になる一方、CPU2及びCPU3が、それほどRAM領域を必要としない場合には、図示しない駆動番号変更回路により、レジスタ21、22及び23の記憶内容を変更して、CPU1用の駆動番号を1と2と3と4に、CPU2用の駆動番号を5に、CPU3用の駆動番号を6にする。これによっても、CPU1はCPU2やCPU3よりも優先的にRAM4を使用することが可能となり、各CPUは必要とするRAM領域を確保することができる。この場合、勿論CPU1はCPU2やCPU3よりも優先的に入出力ポート5を使用することも可能となる。
Further, in synchronization with the rise of the voltage waveform of the system clock, the count value changes in a loop from 0 to 6 as 0 → 1 → 2 → 3 → 4 → 5 → 6 → 0 → 1 → 2 →. The
上記のように、システムクロックの電圧波形の立ち上がりに同期したカウント値のカウント方法を変形したり、レジスタ21、22及び23の記憶内容を変更したりすることで、各CPUの稼働率を容易に変更することが可能であり、各CPUの稼働状況に応じたRAM領域の配分が可能である。
As described above, the operating rate of each CPU can be easily increased by modifying the counting method of the count value synchronized with the rise of the voltage waveform of the system clock or by changing the stored contents of the
図8や図9に示すシステム(従来例)や共有バス調停システム10のようなシステムを半導体基板上に形成した場合、RAMの面積の大きさは、チップサイズに大きな影響を与えるが、共有バス調停システム10によれば、各CPUの稼働状況に応じたRAM領域の配分が可能となるため、従来例のようにCPU毎に最大負荷時に必要なメモリサイズ(または、最大負荷時に必要なメモリサイズに近いサイズ)を有する専用RAMを設ける必要がない。従って、半導体のチップサイズを小さくすることができる。また、CPU1、2、3は入出力ポート5も共有しており、このこともチップサイズの縮小化に寄与する。
When a system such as the system shown in FIGS. 8 and 9 (conventional example) or the shared
また、図9のシステム(従来例)において、RAM121に格納されていないデータは、このRAM121にDMA(ダイレクトメモリアクセス)機能などの転送機能を使ってデータ転送する必要がある(RAM121を用いてCPU間のデータ転送を行う必要がある)。ところが、共有バス調停システム10においては、RAM4がCPU1、2及び3に共有されているため、各CPUがRAM4にアクセスすることによりデータ転送は不要となる。従って、各CPUはウエイト状態を従来例よりも長い時間維持することができ、これにより、システムの低消費電力化が図られる。
Further, in the system of FIG. 9 (conventional example), data not stored in the
また、各CPUは、システムクロックを構成するパルスの内、「カウント値が自身の駆動番号と一致する時」におけるパルスを自身の動作クロックとして入力して動作する。そして、各CPUは、「カウント値が自身の駆動番号と一致する時」に共有バス8の使用権を獲得する。従って、各CPUに動作クロックが入力されて動作するタイミングにおいては、各CPUには必ず共有バス8の使用権が与えられることになるので、各CPUは共有バス8をあたかも自身の専用バスのよう用いることができる。
Each CPU operates by inputting, as its own operation clock, a pulse “when the count value matches its own drive number” among pulses constituting the system clock. Each CPU obtains the right to use the shared
つまり、各CPUは、共有バス8を使用するに当たって、従来例のようにアクセス要求信号を送出して共有バス8の使用の可否を問い合わせる必要もないし、他のCPUであるCPU2及びCPU3の動作によって共有バス8の使用の可否が変動することもない(カウント値と自身の駆動番号のみによって共有バス8の使用の可否は決定する)。これにより、CPUの処理の高速化及び簡素化が図られる。
That is, when using the shared
また、カウント値が0、2又は3となって、カウント値がCPU1用の駆動番号と一致しない時、調停回路11は共有バス8への電圧の出力を停止している。同様に、カウント値がCPU2用の駆動番号と一致しない時、調停回路12は共有バス8への電圧の出力を停止し、カウント値がCPU3用の駆動番号と一致しない時、調停回路13は共有バス8への電圧の出力を停止する。
When the count value is 0, 2 or 3, and the count value does not match the drive number for the
これは、調停回路11、12、13の夫々に、CPU1用の駆動番号、CPU2用の駆動番号、CPU3用の駆動番号の夫々とカウント値との一致/不一致によって制御されるスリーステートバッファを設けることで実現され、これにより、調停回路11、12、13からの出力信号同士が衝突しないようになっている。
This is because the
この出力信号同士の衝突を防止するために、図1の共有バス調停システム10を図3の共有バス調停システム10aのように変形してもよい。図3において、図1と同一の部分には同一の符号を付しており、その詳細な説明は省略する。調停回路60は、入出力バス41、42、43の夫々と接続されたマルチプレクサ61を備え、マルチプレクサ61は、カウント値が1の時に入出力バス41を共有バス8に接続し、カウント値が2の時に入出力バス42を共有バス8に接続し、カウント値が3の時に入出力バス43を共有バス8に接続する。これにより、スリーステートバッファを用いることなく、出力信号同士の衝突が防止される。
In order to prevent the output signals from colliding with each other, the shared
尚、調停回路60は、システムクロック及びカウント値、レジスタ21、22、23が夫々記憶するCPU1、2、3用の駆動番号を入力して、図1の調停回路11、12、13と同様に、CPU1、2、3に夫々動作クロック51、52、53を与えている。
The
<<第2実施形態>>
次に、本発明に係る共有バス調停システムの第2実施形態を、図面を参照して説明する。図4は、本発明の第2実施形態に係る共有バス調停システム10bのブロック構成図である。図4において、図1と同一の部分には同一の符号を付し、その詳細な説明を省略する。 図4において、CPU1、2、3と、システムクロック発生回路6と、カウンタ7と、共有バス8と、調停回路11、12、13と、レジスタ21、22、23との関係は、図1におけるものと同様である。
<< Second Embodiment >>
Next, a second embodiment of the shared bus arbitration system according to the present invention will be described with reference to the drawings. FIG. 4 is a block diagram of a shared
図4における共有バス調停システム10bでは、調停回路14及び15、レジスタ24及び25が新たに設けられている。RAM4の入出力信号は専用の入出力バス44及び調停回路14を介して共通バス8に伝送され、入出力ポート5の入出力信号は専用の入出力バス45及び調停回路15を介して共有バス8に伝送される。
In the shared
システムクロック発生回路6が発生するシステムクロックは、調停回路14及び15の夫々に与えられている。カウンタ7が出力するカウント値も調停回路14及び15の夫々に与えられている。
The system clock generated by the system
レジスタ24は、RAM4用の駆動番号を記憶しており、その駆動番号を調停回路14に与えている。同様に、レジスタ25は、入出力ポート5用の駆動番号を記憶しており、その駆動番号を調停回路15に与えている。今、CPU1用の駆動番号、CPU2用の駆動番号、CPU3用の駆動番号は、第1実施形態と同様に夫々1、2、3であり、RAM4用の駆動番号、入出力ポート5用の駆動番号は、夫々1、2であるとする。
The
調停回路14は、調停回路11、12及び13と同様に、カウンタ7から供給されるカウント値とレジスタ24から供給されるRAM4用の駆動番号とに基づいてシステムクロックの一部を抜き取り、そのシステムクロックの一部を動作クロック54としてRAM4に供給する。同様に、調停回路15は、カウント値と入出力ポート5用の駆動番号とに基づいてシステムクロックの一部を抜き取り、そのシステムクロックの一部を動作クロック55として入出力ポート5に供給する。
Similar to the
図5を用いて各動作クロックの様子を説明する。図5は、上から、システムクロックの電圧波形、カウンタ7が出力するカウント値、CPU1の動作クロック51の電圧波形、CPU2の動作クロック52の電圧波形、CPU3の動作クロック53の電圧波形、RAM4の動作クロック54の電圧波形、入出力ポート5の動作クロック55の電圧波形を示している。
The state of each operation clock will be described with reference to FIG. 5 shows, from above, the voltage waveform of the system clock, the count value output by the
システムクロック及びカウント値との関係における動作クロック51、52、53の電圧波形の夫々は、図2におけるものと同様である。そして、CPU1用の駆動番号とRAM4用の駆動番号は同じであり、CPU2用の駆動番号と入出力ポート5用の駆動番号は同じであるので、図5に示す如く、CPU1の動作クロック51の電圧波形とRAM4の動作クロック54の電圧波形は同じであり、CPU2の動作クロック52の電圧波形と入出力ポート5の動作クロック55の電圧波形は同じである。
The voltage waveforms of the operation clocks 51, 52, and 53 in relation to the system clock and the count value are the same as those in FIG. Since the drive number for
RAM4は、調停回路14の機能により、カウント値がRAM4用の駆動番号である1と一致する時に共有バス8の使用権を獲得する一方、カウント値がRAM4用の駆動番号である1と異なる時には共有バス8の使用権を有しない。同様に、入出力ポート5は、調停回路15の機能により、カウント値が自身の駆動番号と一致する時に共有バス8の使用権を獲得する一方、カウント値が自身の駆動番号と異なる時には共有バス8の使用権を有しない。
The
(図6、図7;RAM4への書き込み動作例)
図4のように構成される共有バス調停システム10bにおいて、CPU1がRAM4のアドレス0x10H、0x11H(16進数表示であり、10進数表示では夫々16、17)に、夫々8ビットデータ0x0AH、0x0BH(16進数表示であり、10進数表示では夫々10、11)を書き込む動作について、図6及び図7を用いて説明する。
(FIG. 6, FIG. 7: Example of writing operation to RAM 4)
In the shared
図6は、図4の共有バス調停システム10bを構成するCPU1、CPU2、CPU3、RAM4及び入出力ポート5の内、CPU1及びRAM4の部分を詳細に表した共有バス調停システム10bのブロック構成図である。図6において、図4と同一の部分には同一の符号を付してある。図6においては、図示の煩雑化防止のため、CPU2、CPU3及び入出力ポート5、調停回路12、13及び15、並びにレジスタ22、23及び25の記載を省略している。
FIG. 6 is a block diagram of the shared
CPU1専用の入出力バス41は、CPU1専用の専用アドレスバス41a、専用データバス41b及び専用ライト信号線41c、とを含んでいる。RAM4専用の入出力バス44は、RAM4専用の専用アドレスバス44a、専用データバス44b及び専用ライト信号線44c、とを含んでいる。共有バス8は、共有アドレスバス8a、共有データバス8b及び共有ライト信号線8c、とを含んでいる。
The input /
CPU1専用の専用アドレスバス41a、専用データバス41b、専用ライト信号線41cは、それぞれ調停回路11を介して共有アドレスバス8a、共有データバス8b、共有ライト信号線8cに接続されており、RAM4専用の専用アドレスバス44a、専用データバス44b、専用ライト信号線44cは、それぞれ調停回路14を介して共有アドレスバス8a、共有データバス8b、共有ライト信号線8cに接続されている。
The
図7は、横軸を時間として、上から、システムクロックの電圧波形、カウント値、CPU1の動作クロック51の電圧波形、CPU1専用の専用アドレスバス41aの状態(信号伝送状態)、専用データバス41bの状態、専用ライト信号線41cの状態、共有アドレスバス8aの状態、共有データバス8bの状態、共有ライト信号線8cの状態、RAM4の動作クロック54の電圧波形、RAM4専用の専用アドレスバス44aの状態、専用データバス44bの状態、専用ライト信号線44cの状態、RAM4のアドレス0x010Hの記憶内容、RAM4のアドレス0x011Hの記憶内容、を表している。
In FIG. 7, the horizontal axis represents time, from the top, the voltage waveform of the system clock, the count value, the voltage waveform of the
図7において、システムクロックの電圧波形との関係における、カウント値、CPU1の動作クロック51の電圧波形及びRAM4の動作クロック54の電圧波形は、図5と同様である。
7, the count value, the voltage waveform of the
タイミングt1において、システムクロックの電圧波形が立ち上がり、カウント値が0から1にインクリメントされると、CPU1は動作クロック51が入力されて動作し、RAM4のアドレス0x10Hにデータ0x0AHを書き込むために、専用アドレスバス41aに0x10Hのアドレス信号を、専用データバス41bに0x0AHのデータ信号を送出するとともに、専用ライト信号線41cへの信号をハイレベル(高電位)からローレベル(低電位)に切り替える。
At the timing t1, when the voltage waveform of the system clock rises and the count value is incremented from 0 to 1, the
これらの専用アドレスバス41aに送出された0x10Hのアドレス信号、専用データバス41bに送出された0x0AHのデータ信号、専用ライト信号線41cに切り替えて送出されたローレベルの信号は、タイミングt1からカウント値が次回に2になるタイミングt2までの間、夫々そのまま共有アドレスバス8a、共有データバス8b、共有ライト信号線8cに伝えられると共に、夫々共有アドレスバス8a、共有データバス8b、共有ライト信号線8cを介した上で更に調停回路14を介して、夫々そのままRAM4の専用アドレスバス44a、専用データバス44b、専用ライト信号線44cに伝送される。
These 0x10H address signals sent to the
一方、カウント値が2→3→0と変化するタイミングt2からt3の間においては、専用アドレスバス41aに送出された0x10Hのアドレス信号、専用データバス41bに送出された0x0AHのデータ信号、専用ライト信号線41cに送出されたローレベルの信号は、夫々共有アドレスバス8a、共有データバス8b、共有ライト信号線8cに伝送されない。
On the other hand, between the timing t2 and t3 when the count value changes from 2 → 3 → 0, the address signal of 0x10H sent to the
同様に、タイミングt3において、システムクロックの電圧波形が立ち上がり、カウント値が0から1にインクリメントされると、CPU1は動作クロック51が入力されて動作し、RAM4のアドレス0x11Hにデータ0x0BHを書き込むために、専用アドレスバス41aに0x11Hのアドレス信号を、専用データバス41bに0x0BHのデータ信号を送出するとともに、専用ライト信号線41cへの信号をローレベルに維持する。
Similarly, at time t3, when the voltage waveform of the system clock rises and the count value is incremented from 0 to 1, the
これらの専用アドレスバス41aに送出された0x11Hのアドレス信号、専用データバス41bに送出された0x0BHのデータ信号、専用ライト信号線41cに送出されたローレベルの信号は、タイミングt3からカウント値が次回に2になるタイミングt4までの間、夫々そのまま共有アドレスバス8a、共有データバス8b、共有ライト信号線8cに伝えられると共に、夫々共有アドレスバス8a、共有データバス8b、共有ライト信号線8cを介した上で更に調停回路14を介して、夫々そのままRAM4の専用アドレスバス44a、専用データバス44b、専用ライト信号線44cに伝送される。
These 0x11H address signals sent to the
一方、タイミングt4以降で次回にカウント値が1になるまでの間は、アドレスバス41aに送出された0x11Hのアドレス信号、専用データバス41bに送出された0x0BHのデータ信号、専用ライト信号線41cに送出されたローレベルの信号は、夫々共有アドレスバス8a、共有データバス8b、共有ライト信号線8cに伝送されない。
On the other hand, until the count value becomes 1 next time after timing t4, the 0x11H address signal sent to the
そして、タイミングt1―t2間のRAM4の動作クロック54の立下りのタイミングにおいて、RAM4は、RAM4の専用アドレスバス44aに伝送されているアドレス信号0x10H、専用データバス44bに伝送されているデータ信号0x0AH、及び専用ライト信号線44cに伝送されているローレベルの信号を受けて、データ0x0AHを自身のアドレス0x10Hに書き込む。
At the falling timing of the
同様に、タイミングt3―t4間のRAM4の動作クロック54の立下りのタイミングにおいて、RAM4は、RAM4の専用アドレスバス44aに伝送されているアドレス信号0x11H、専用データバス44bに伝送されているデータ信号0x0BH、及び専用ライト信号線44cに伝送されているローレベルの信号を受けて、データ0x0BHを自身のアドレス0x11Hに書き込む。
Similarly, at the falling timing of the
上記のように、CPU1は、カウント値が自身の駆動番号である1と一致する時(タイミングt1−t2間、及びt3−t4間)に、共有アドレスバス8a、共有データバス8b、共有ライト信号線8cを含む共有バス8の使用権を獲得すると共に、システムクロックのパルスの内、カウント値が自身の駆動番号である1と一致する時におけるパルスを自身への動作クロック51として入力し、その動作クロック51に同期して動作する。
As described above, when the count value coincides with 1 that is its drive number (between timings t1 and t2 and between t3 and t4), the
そして、RAM4も、カウント値が自身の駆動番号である1と一致する時に、共有アドレスバス8a、共有データバス8b、共有ライト信号線8cを含む共有バス8の使用権を獲得すると共に、システムクロックのパルスの内、カウント値が自身の駆動番号である1と一致する時におけるパルスを自身への動作クロック54として入力し、その動作クロック54に同期して動作する。これにより、RAM4は、CPU1用の設けられたRAMとして機能することになる。尚、CPU2及びCPU3は、RAM4を自身のRAMとして用いることができない。
The
同様に、CPU2用の駆動番号と入出力ポート5用の駆動番号は同じ「2」であるので、CPU2、入出力ポート5は、カウント値が2である時に夫々共有バス8の使用権を獲得すると共に、同じタイミングで電圧波形が立ち上がり、且つ立ち下がる動作クロック52、55を入力して動作する。これにより、入出力ポート5は、CPU2用の設けられた入出力ポートとして機能することになる。尚、CPU1及びCPU3は、入出力ポート5を自身の入出力ポートとして用いることができない。
Similarly, since the drive number for
そして、例えば、RAM4をCPU3のRAMとして機能させたい場合は、図示しない駆動番号変更回路により、CPU1用の駆動番号、CPU3用の駆動番号が夫々3、1となるように、レジスタ21、23の記憶内容を書き換えるか、又はRAM4用の駆動番号が3になるようにレジスタ24の記憶内容を書き換えるだけでよい。例えば、入出力ポート5をCPU1又はCPU3の入出力ポートとして機能させたい場合も同様である。つまり、RAM4や入出力ポート5の周辺装置とCPU1、2又は3の組み合わせを自由に且つ簡単に変更することができる。
For example, when the
また、図7におけるタイミングt4の後、CPU1用の駆動番号、CPU3用の駆動番号が夫々3、1となるように、レジスタ21、23の記憶内容を書き換えるか、又はRAM4用の駆動番号が3になるようにレジスタ24の記憶内容を書き換え、更にその後、CPU3がRAM4のアドレス0x10H及び0x11Hの記憶内容を読み出せば、CPU1からCPU3への、2つのデータ(0x0AHと0x0BH)の転送が実現されることになる。つまり、CPUの駆動番号、またはRAMの駆動番号を変更することにより、CPU間のデータ転送が実現される。
Further, after the timing t4 in FIG. 7, the stored contents of the
(駆動番号と駆動条件)
また、第1実施形態、第2実施形態におけるレジスタ21にCPU1用の駆動番号でなく、CPU1用の駆動条件を記憶させるように変形してもよい。例えば、レジスタ21に「カウント値が1以下」という内容を示すCPU1用の駆動条件を記憶させる。この駆動条件は調停回路11に与えられる。そして、調停回路11は、カウント値がCPU1用の駆動条件を満たす時、即ち、カウント値が0又は1の時にはCPU1に共有バス8の使用権を獲得させる一方、カウント値がCPU1用の駆動条件を満たさない時にはCPU1に共有バス8の使用権を与えないようにする。
(Drive number and drive conditions)
Further, the
このように変形することは、上述してきた第1実施形態及び第2実施形態における「駆動番号」を「駆動条件」と読みかえ、「カウント値と駆動番号が一致する」を意味する内容を「カウント値が駆動条件を満足する」を意味する内容で読みかえることに相当する。 This modification means that “driving number” in the first and second embodiments described above is read as “driving condition”, and the content that means “the count value matches the driving number” is “counted”. This is equivalent to rereading with the meaning of “value satisfies drive condition”.
そして、同様にレジスタ22、23、24、25に、夫々CPU2用の駆動条件、CPU3用の駆動条件、RAM4用の駆動条件、入出力ポート5用の駆動条件を記憶させるように変形してもよい。尚、この場合も、共有バス8の競合が生じることがないように、即ち、同一のカウント値に対して2以上のCPUに対応する駆動条件が同時に満足することがないように、CPU1、2、3の駆動条件の夫々を定める。例えば、CPU1用の駆動条件、CPU2用の駆動条件、CPU3用の駆動条件を、夫々「カウント値が1以下」、「カウント値が2と一致」、「カウント値が3と一致」と定める。
Similarly, the
また、例えば、カウント値が図2や図5に示す如く0から3までの数値にしかならない場合において、CPU1用の駆動条件、CPU2用の駆動条件、CPU3用の駆動条件を、夫々「カウント値が1以下」、「カウント値が2または3」、「カウント値が255と一致」と定めることにより、CPU3を全く動作させないといったことも可能である。
Further, for example, when the count value is only a numerical value from 0 to 3 as shown in FIGS. 2 and 5, the driving condition for
<<その他、変形等>>
また、本発明は、上述の実施形態におけるようにCPUが3つの場合のみに限定されるものではなく、共有バスが2以上のCPUに共有されるシステムにおいて広く適用可能であるが、共有バスを共有するCPUの数が変化(特に増加)した場合でも、カウンタ7のビット数を変更し、カウント値をデコードするデコータ(調停回路11等に含まれる)を変更する程度の小規模な変更で対応が可能である。即ち、共有バスを共有するCPUの数の変化に対して容易な設計変更で対応が可能である。
<< Other, deformation, etc. >>
Further, the present invention is not limited to the case where there are three CPUs as in the above-described embodiment, and can be widely applied to a system in which a shared bus is shared by two or more CPUs. Even if the number of shared CPUs changes (especially increases), it can be handled with a small change that changes the number of bits of the
また、符号1、2、3で示されるCPUは、MPU(Micro Processing Unit)やDSP(Digital Signal Processor)等に置換されてもよく、共有バス調停システム10等が行うタスクに応じて、夫々に所定の演算処理(プログラムの実行、データ転送等)を行う演算回路であれば何でもよい。
The CPUs indicated by
上記実施形態においては、CPU1、2、3に共有されるCPU1、2又は3の周辺装置として、RAM4と入出力ポート5を例示した。しかしながら、CPU1、2、3に共有される周辺装置はRAMや入出力ポートに限定されるものではなく、共有バス8を介してCPU1、2若しくは3が出力するデータを入力可能であるか、及び/又はCPU1、2若しくは3にデータを出力可能な周辺装置であれば何でもよい。例えば、ROM(Read Only Memory)でもいいし、DSPも周辺装置となりうる。
In the above embodiment, the
また、カウント値は、システムクロックの立ち下がりに同期して変化(インクリメント)するように変形してもよい。 The count value may be modified so as to change (increment) in synchronization with the falling edge of the system clock.
本発明は、SOC(System On a Chip)等の半導体装置に好適である。また、携帯電話機及びPHS(Personal Handyphone System)等の低消費電力化が望まれる移動体通信機、並びにパーソナルコンピュータに代表される情報処理機器等、様々な電気機器に本発明は好適である。 The present invention is suitable for semiconductor devices such as SOC (System On a Chip). In addition, the present invention is suitable for various electric devices such as mobile communication devices such as mobile phones and PHS (Personal Handyphone System) that require low power consumption, and information processing devices represented by personal computers.
1、2、3 CPU
4 RAM
5 入出力ポート
6 クロック発生回路
7 カウンタ
8 共有バス
10、10a、10b 共有バス調停システム
11、12、13、14、15、60 調停回路
21、22、23、24、25 レジスタ
41、42、43、44、44 入出力バス
51、52、53、54、55 動作クロック
61 マルチプレクサ
1, 2, 3 CPU
4 RAM
DESCRIPTION OF
Claims (4)
所定の演算処理を行う複数の演算手段と、
前記複数の演算手段の夫々の駆動条件を記憶する第1のレジスタと、
前記複数の演算手段に共有され、前記複数の演算手段の夫々の入出力信号を伝達可能な共有バスと、
前記システムクロックに同期してカウント値を更新するカウンタと、
前記共有バスを介して各演算手段が出力するデータを入力可能であるか、または各演算手段にデータを出力可能な周辺装置と、
前記周辺装置の駆動条件を記憶する第2のレジスタと、を備え、
前記カウント値は各演算手段と前記周辺装置に共通に与えられると共に、
各演算手段及び前記周辺装置は、前記システムクロックを構成するパルスの内、前記カウント値が自身の駆動条件を満たす時におけるパルスを、自身への動作クロックとして入力するものであって、前記カウント値が自身の駆動条件を満たさない時には動作せず、前記カウント値が自身の駆動条件を満たす時には前記システムクロックに基づいて自身を動作させると共に前記共有バスの使用権を獲得し、
前記複数の演算手段の駆動条件の夫々は、同一のカウント値に対して2以上の演算手段の駆動条件が同時に満足することがないように定められており、
前記周辺装置の駆動条件と前記演算手段の一つの駆動条件は、同一のカウント値に対して同時に満足するように定められていることを特徴とする共有バス調停システム。 System clock generating means for generating a system clock;
A plurality of calculation means for performing predetermined calculation processing;
A first register for storing driving conditions of each of the plurality of computing means;
A shared bus shared by the plurality of computing means and capable of transmitting respective input / output signals of the plurality of computing means;
A counter that updates a count value in synchronization with the system clock;
Peripheral devices that can input data output by each computing means via the shared bus, or that can output data to each computing means,
A second register for storing driving conditions of the peripheral device ,
The count value with commonly applied to the peripheral device and the computing means,
Each of the arithmetic means and the peripheral device inputs, as an operation clock to itself, a pulse when the count value satisfies its drive condition among pulses constituting the system clock, and the count value Does not operate when it does not satisfy its own driving conditions, and when the count value satisfies its own driving conditions , operates itself based on the system clock and acquires the right to use the shared bus,
Each of the driving conditions of the plurality of calculating means is determined such that the driving conditions of two or more calculating means are not simultaneously satisfied for the same count value ,
The shared bus arbitration system is characterized in that the drive condition of the peripheral device and one drive condition of the calculation means are determined to satisfy the same count value at the same time .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004209617A JP4642398B2 (en) | 2004-07-16 | 2004-07-16 | Shared bus arbitration system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004209617A JP4642398B2 (en) | 2004-07-16 | 2004-07-16 | Shared bus arbitration system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006031426A JP2006031426A (en) | 2006-02-02 |
JP4642398B2 true JP4642398B2 (en) | 2011-03-02 |
Family
ID=35897685
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004209617A Expired - Fee Related JP4642398B2 (en) | 2004-07-16 | 2004-07-16 | Shared bus arbitration system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4642398B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008123273A (en) * | 2006-11-13 | 2008-05-29 | Oki Electric Ind Co Ltd | Signal bus occupancy arbitrating method and data transfer device |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02126356A (en) * | 1988-11-07 | 1990-05-15 | Mitsubishi Electric Corp | Bus control system |
JPH05143529A (en) * | 1991-11-21 | 1993-06-11 | Oki Electric Ind Co Ltd | Data transfer control system |
JPH0895929A (en) * | 1994-09-21 | 1996-04-12 | Toshiba Corp | Multiprocessor system |
JPH11120122A (en) * | 1997-10-17 | 1999-04-30 | Sharp Corp | Bus use arbitration system |
JP2003022247A (en) * | 2001-07-10 | 2003-01-24 | Mitsubishi Electric Corp | Semiconductor device |
JP2003178020A (en) * | 2001-12-07 | 2003-06-27 | Mitsubishi Electric Corp | Bus control device |
-
2004
- 2004-07-16 JP JP2004209617A patent/JP4642398B2/en not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02126356A (en) * | 1988-11-07 | 1990-05-15 | Mitsubishi Electric Corp | Bus control system |
JPH05143529A (en) * | 1991-11-21 | 1993-06-11 | Oki Electric Ind Co Ltd | Data transfer control system |
JPH0895929A (en) * | 1994-09-21 | 1996-04-12 | Toshiba Corp | Multiprocessor system |
JPH11120122A (en) * | 1997-10-17 | 1999-04-30 | Sharp Corp | Bus use arbitration system |
JP2003022247A (en) * | 2001-07-10 | 2003-01-24 | Mitsubishi Electric Corp | Semiconductor device |
JP2003178020A (en) * | 2001-12-07 | 2003-06-27 | Mitsubishi Electric Corp | Bus control device |
Also Published As
Publication number | Publication date |
---|---|
JP2006031426A (en) | 2006-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6070205A (en) | High-speed processor system having bus arbitration mechanism | |
US4698753A (en) | Multiprocessor interface device | |
KR20180050728A (en) | Bridging and virtualizing input / output signals on multi-node networks | |
JP2007128633A (en) | Semiconductor storage device and transmission/reception system having the same | |
EP1730643A2 (en) | Pvdm (packet voice data module) generic bus protocol | |
JPWO2007069506A1 (en) | Storage area allocation system and method, and control apparatus | |
JP5360061B2 (en) | Multiprocessor system and control method thereof | |
JP4902640B2 (en) | Integrated circuit and integrated circuit system | |
WO2005119465A1 (en) | Data processing unit and bus arbitration unit | |
US5307466A (en) | Distributed programmable priority arbitration | |
JP2004118252A (en) | Semiconductor data processing equipment | |
US7310717B2 (en) | Data transfer control unit with selectable transfer unit size | |
JP4642398B2 (en) | Shared bus arbitration system | |
US7254667B2 (en) | Data transfer between an external data source and a memory associated with a data processor | |
JP3431025B2 (en) | Data transfer system | |
KR100487218B1 (en) | Apparatus and method for interfacing an on-chip bus | |
JP2005293596A (en) | Arbitration of data requests | |
JP2008305215A (en) | Bus system | |
JP3201439B2 (en) | Direct memory access control circuit | |
JP2000132451A (en) | Memory control circuit | |
JPH09311812A (en) | Microcomputer | |
KR101192285B1 (en) | Apparatus and method for interfacing between the modules in communication system | |
JP2007128196A (en) | Information processing system and method for controlling information processing system | |
JP2504511B2 (en) | DMA controller | |
JP3910165B2 (en) | High speed processor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070628 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100427 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100624 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100817 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101012 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20101130 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20101201 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131210 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |