JP2013054699A - Bus arbiter, bus arbiter system and processing method of bus arbiter - Google Patents

Bus arbiter, bus arbiter system and processing method of bus arbiter Download PDF

Info

Publication number
JP2013054699A
JP2013054699A JP2011194289A JP2011194289A JP2013054699A JP 2013054699 A JP2013054699 A JP 2013054699A JP 2011194289 A JP2011194289 A JP 2011194289A JP 2011194289 A JP2011194289 A JP 2011194289A JP 2013054699 A JP2013054699 A JP 2013054699A
Authority
JP
Japan
Prior art keywords
bus
acquisition request
bus master
arbiter
master
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.)
Withdrawn
Application number
JP2011194289A
Other languages
Japanese (ja)
Inventor
Shogo Nakagawa
祥吾 中川
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 JP2011194289A priority Critical patent/JP2013054699A/en
Publication of JP2013054699A publication Critical patent/JP2013054699A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Bus Control (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide an arbiter in which use efficiency of a bust master of a higher priority is prevented from being oppressed with respect to a plurality of bus masters of approximately equal priorities.SOLUTION: A bus arbiter 100 arbitrates bus acquisition requests from a plurality of bus masters 110 connected to a common bus 12 on the basis of preset priorities of the bus masters. The bus arbiter 100 comprises bus acquisition request monitor means 14 which monitors a first bus acquisition request from a first bus master of a highest priority and a second bus acquisition request from a second bus master of a priority approximately equal to the first bus master, specific event detection means 15 which acquires a monitor result of the bus acquisition request monitor means and detects a specific event in which a frequency of the first bus acquisition request and a frequency of the second bus acquisition request meet a predetermined criterion, and bus acquisition control means 13 which acquires a specific event detection signal from the specific event detection means and restricts the frequency of the second bus acquisition request.

Description

本発明は、共通のバスに接続されている複数のバスマスタからのバス獲得要求を、予め設定されている各バスマスタの優先度に基づき調停するバスアービタに関する。   The present invention relates to a bus arbiter that arbitrates bus acquisition requests from a plurality of bus masters connected to a common bus based on preset priority of each bus master.

情報処理装置では複数の機器がバスを共有してメモリへのリード/ライトを行うことで処理を遂行することが多い。例えば、画像形成装置では、印刷用のデータを用紙に印刷するまでに、いくつかの画像処理手段が高速なメモリにそれぞれアクセスする。   In an information processing apparatus, a plurality of devices often perform processing by sharing a bus and performing read / write to a memory. For example, in an image forming apparatus, several image processing units each access a high-speed memory before printing data for printing on paper.

図1は、各画像処理手段によるメモリアクセスを説明する図の一例である。PC(Personal Computer)300上のアプリケーションがOSやプリンタドライバを利用してPDLデータ(ページ記述言語)を画像形成装置200に送信すると、通信コントローラ201がPDLデータをメモリに記憶する。次に、CPU(ソフトウェア)202がPDLデータをメモリから読み出して描画コマンドを生成してメモリ400に書き戻す。次に、描画装置203がメモリ400から描画コマンドを解析し階調処理した画像データをメモリ400に書き込む。次に、符号化装置204が、階調処理された画像データを圧縮アルゴリズム(JBIGなど)により符号化された画像データをメモリ400に書き込む。次に、復号装置205が、メモリ400から符号化された画像データを読み込み復号し、C,M,Y,Kの各版に対応するラスタデータをプリンタエンジン206に転送する。このように、複数の画像処理手段が1つのメモリ400に次々とアクセスする。   FIG. 1 is an example of a diagram for explaining memory access by each image processing means. When an application on a PC (Personal Computer) 300 transmits PDL data (page description language) to the image forming apparatus 200 using an OS or a printer driver, the communication controller 201 stores the PDL data in a memory. Next, the CPU (software) 202 reads the PDL data from the memory, generates a drawing command, and writes it back to the memory 400. Next, the drawing apparatus 203 analyzes the drawing command from the memory 400 and writes the gradation-processed image data into the memory 400. Next, the encoding device 204 writes the image data obtained by encoding the gradation-processed image data using a compression algorithm (JBIG or the like) into the memory 400. Next, the decoding device 205 reads and decodes the encoded image data from the memory 400, and transfers raster data corresponding to the C, M, Y, and K plates to the printer engine 206. In this way, a plurality of image processing means access one memory 400 one after another.

このため、複数の画像処理手段とメモリの間にメモリアクセスを調停するアービタ100が設けられることが一般的である。アービタ100は、複数の画像処理手段が同時期にメモリアクセスを要求した際に、所定の規則に従い、画像処理手段とメモリ400を結ぶバス500の使用権を与える画像処理手段を決定する。   For this reason, an arbiter 100 that arbitrates memory access is generally provided between a plurality of image processing means and a memory. The arbiter 100 determines an image processing unit that gives a right to use the bus 500 connecting the image processing unit and the memory 400 according to a predetermined rule when a plurality of image processing units request memory access at the same time.

バス要求が同時に発生した場合にアービタ100が調停する調停方法について、予め固定的に画像処理手段に優先度を設定しておき、高い方にバス使用権を与える固定優先順位方式がある。この他、優先度が固定ではなく、順番に画像処理手段にバスの使用権を与えるラウンドロビン方式があるが、本願では主に固定優先順位方式を扱う。   As an arbitration method in which the arbiter 100 arbitrates when bus requests occur simultaneously, there is a fixed priority method in which priority is set in advance in the image processing means and the bus use right is given to the higher one. In addition, there is a round robin method in which the priority is not fixed, and the right to use the bus is given to the image processing means in order, but in this application, the fixed priority method is mainly handled.

図2は、固定優先順位方式を説明する図の一例である。バスマスタ110(区別する場合、バスマスタ1〜5という)のうち、ここではバスマスタ1が最も高い優先度を有するものとする。
・バスマスタ1がアービタ100にバスの獲得を要求した場合、アービタ100はバスマスタ1にバスの使用権を与える。
・バスマスタ1のバス獲得要求がなく、優先度の低いバスマスタ2,3がアービタ100にバスの獲得を要求した場合、アービタ100はバスマスタ2、3の獲得要求をマスクすることなくバスマスタ2、3にバスの使用権を与える。
FIG. 2 is an example for explaining the fixed priority order method. Of the bus masters 110 (referred to as bus masters 1 to 5 when distinguished), it is assumed here that the bus master 1 has the highest priority.
When the bus master 1 requests the arbiter 100 to acquire a bus, the arbiter 100 gives the bus master 1 the right to use the bus.
If there is no bus acquisition request from the bus master 1 and the low priority bus masters 2 and 3 request the arbiter 100 to acquire a bus, the arbiter 100 sends the bus masters 2 and 3 to the bus masters 2 and 3 without masking the acquisition requests. Gives the right to use the bus.

しかし、バスマスタ1がバスの獲得要求を発生し、かつ、バスマスタ2、3がバスの獲得要求を発生した場合、バスマスタ2、3等はバスを獲得できない状況が発生する。この場合、バスマスタ1がバスの獲得要求を発生する期間が長いと、バスマスタ2、3のバスの獲得要求が継続的に無視されてしまう。   However, when the bus master 1 generates a bus acquisition request and the bus masters 2 and 3 generate a bus acquisition request, a situation occurs in which the bus masters 2 and 3 cannot acquire the bus. In this case, if the bus master 1 generates a bus acquisition request for a long period, the bus acquisition requests of the bus masters 2 and 3 are continuously ignored.

そこで、バスマスタ1を優先しながらバスマスタ2、3等のバスの獲得要求を完全には無視しないアービタ100が提案されている(例えば、特許文献1参照。)。特許文献1には、バスマスタ1がバスを獲得している間に、バスマスタ2,3がバスの獲得を要求した場合、バスマスタ2,3のバス使用頻度を一時的に低下させる技術が開示されている。   Therefore, an arbiter 100 has been proposed that gives priority to the bus master 1 and does not completely ignore the bus acquisition requests of the bus masters 2 and 3 (see, for example, Patent Document 1). Patent Document 1 discloses a technique for temporarily reducing the bus use frequency of the bus masters 2 and 3 when the bus masters 2 and 3 request acquisition of the bus while the bus master 1 acquires the bus. Yes.

図3は、従来のバスマスタ1〜3のアービタへの獲得要求について説明する図の一例である。図では棒状の縦線がバスマスタ1〜3のバスの獲得要求を示す。バスマスタ1のバス獲得要求がない場合には、他のバスマスタ2、3は獲得要求をマスクされることなく、バスを獲得している。しかし、バスマスタ1がバスの獲得を要求し、かつ、バスマスタ2又は3がバスの獲得を要求した場合、バスマスタ2、3は一定期間、バス要求をマスクされる。これにより、バスマスタ2,3はバス使用頻度を制限される。係る構成によれば、アービタ100は、他のバスマスタ2,3のバス使用頻度を一時的に低下させることができ、かつ、優先度の低いバスマスタからの要求を無視することなく、バスマスタ1のデータ転送効率を保証することができる。   FIG. 3 is an example of a diagram for explaining acquisition requests to the arbiters of the conventional bus masters 1 to 3. In the figure, the bar-shaped vertical lines indicate bus acquisition requests of the bus masters 1 to 3. When there is no bus acquisition request from the bus master 1, the other bus masters 2 and 3 acquire the bus without masking the acquisition request. However, if the bus master 1 requests acquisition of the bus and the bus master 2 or 3 requests acquisition of the bus, the bus masters 2 and 3 are masked for a certain period of time. As a result, the bus masters 2 and 3 are restricted in the bus use frequency. According to such a configuration, the arbiter 100 can temporarily reduce the bus usage frequency of the other bus masters 2 and 3, and the data of the bus master 1 can be obtained without ignoring the request from the bus master having a low priority. Transfer efficiency can be guaranteed.

しかしながら、特許文献1に記載された技術は、バスマスタ1と同等の優先度が必要なバスマスタ(これをバスマスタ1´とする)がある場合、不都合が生じるという問題がある。例えば、バスマスタ1のバス獲得要求が少ない場合に、バスマスタ1´のバス獲得要求が多いと、アービタ100はバスマスタ1よりもバスマスタ1´にバスの使用権を与えるので、バスマスタ1のバス獲得率が低下する傾向が生じる。   However, the technique described in Patent Document 1 has a problem that inconvenience arises when there is a bus master that requires a priority equivalent to that of the bus master 1 (this is referred to as a bus master 1 ′). For example, if the bus master 1 has few bus acquisition requests and the bus master 1 ′ has many bus acquisition requests, the arbiter 100 gives the bus master 1 ′ the right to use the bus rather than the bus master 1. A tendency to decrease occurs.

図4は、バスマスタ1とバスマスタ1´についてより具体例に説明する図の一例である。従来から、回転器と呼ばれる画像処理手段が、メモリ400に書き込まれた画像データを180度回転させる処理が行われることがある。図4ではこの回転処理を、バスマスタ1が読み出すアドレスを調整することで、メモリ400からの読み出し時に行っている。このため、図4では図1に加え、LSI120が画像出力器を有している。
(i) 不図示の画像処理手段がHDD130から符号化された画像データを読み出し、メモリ400上に展開する。
(ii) バスマスタ1´(復号装置)がメモリ400から符号化された画像データを読み出す。
(iii) バスマスタ1´は符号化された画像データを伸長して生データを生成し、バンド(1ページを副走査方向にいくつかに分割した領域)単位に分割してメモリ400上に展開する。
(iv) バスマスタ1(画像出力器)は、バンド単位に分割されたメモリ400上の生データを、180度回転するように読み出すアドレス順を調整し、読み出した生データをプリンタエンジンに出力する。
FIG. 4 is an example of a diagram illustrating the bus master 1 and the bus master 1 ′ in more specific examples. Conventionally, an image processing unit called a rotator may perform processing of rotating image data written in the memory 400 by 180 degrees. In FIG. 4, this rotation process is performed at the time of reading from the memory 400 by adjusting the address read by the bus master 1. Therefore, in FIG. 4, in addition to FIG. 1, the LSI 120 has an image output device.
(i) Image processing means (not shown) reads the encoded image data from the HDD 130 and develops it on the memory 400.
(ii) The bus master 1 ′ (decoding device) reads the encoded image data from the memory 400.
(iii) The bus master 1 ′ decompresses the encoded image data to generate raw data, divides the data into bands (area obtained by dividing one page into several parts in the sub-scanning direction), and develops them on the memory 400. .
(iv) The bus master 1 (image output device) adjusts the order of addresses for reading the raw data on the memory 400 divided into band units so as to rotate 180 degrees, and outputs the read raw data to the printer engine.

こうすることにより、メモリ400からの読み出し時に180度回転させることができるので、LSI内の回転器が伸長された生データを180度回転する場合よりも高速化することができる。   By doing so, it is possible to rotate 180 degrees at the time of reading from the memory 400, so that the speed can be increased as compared with the case where the raw data obtained by the rotation in the LSI is rotated 180 degrees.

しかし、図4の方式を実現するには、バスマスタ1(画像出力器)とバスマスタ1´(復号装置)の動作をバンド単位で連動させなければならない。これは、アービタ100が、バスマスタ1(画像出力器)とバスマスタ1´(復号装置)の優先度を同等に扱う必要があることを意味している。レーザプリンタの場合、画像出力器は一定のスピードで画像データを出力しなければいけないため、バスマスタ1の優先度を一番高くする必要がある。よって、画像出力器=バスマスタ1である。一方、画像出力器と連動して動作する必要がある復号装置=バスマスタ1´となる。   However, in order to realize the method of FIG. 4, the operations of the bus master 1 (image output device) and the bus master 1 ′ (decoding device) must be linked in band units. This means that the arbiter 100 needs to handle the priority of the bus master 1 (image output device) and the bus master 1 ′ (decoding device) equally. In the case of a laser printer, the image output device must output image data at a constant speed, so the priority of the bus master 1 needs to be the highest. Therefore, the image output device = bus master 1. On the other hand, the decoding device that needs to operate in conjunction with the image output device = bus master 1 ′.

上記のように、バスマスタ1とバスマスタ1´の優先度が同程度のままでは以下のような不都合が生じる。概略を説明すると、バスマスタ1のリードリクエストが、バスマスタ1´のライトリクエストやライトデータに圧迫されてしまう。   As described above, if the priority levels of the bus master 1 and the bus master 1 'remain at the same level, the following inconvenience occurs. In brief, the read request of the bus master 1 is compressed by the write request and write data of the bus master 1 ′.

図5は、バスマスタ1とバスマスタ1´の優先度が同程度の場合の不都合を説明する図の一例である。図5(a)は、説明のため、バスマスタ1がバスマスタ1´に圧迫されていないケースを示す。バスマスタ1はリードしか行わないが、バスマスタ1´はリードとライトを行う。このため、バスマスタ1とバスマスタ1´は以下のような数のリードチャネルとライトチャネルを有する。
バスマスタ1はリードチャネルを2チャンネル(リードのDMACを2個)、
バスマスタ1´はリードチェネルを2チャンネル(リードのDMACを2個)
バスマスタ1´はライトチャネルを2チャンネル(ライトのDMACを2個)
図5(a)の左図では、バスマスタ1、バスマスタ1´がアービタ100に対し書き込み要求する際のコマンドが円形で、書き込み要求する際のデータが矩形で、それぞれ表されている。図5(a)の右図では、メモリ400がアービタ100に対し転送要求するリードデータが矩形で表されている。図5(a)の左側のコマンド及びデータが流れるパスを総称してライトパスといい、図5(a)の右側のデータが流れるパスを総称してリードパスという。それぞれ次の情報が流れる。
ライトパス:ライトリクエストコマンド、リードリクエストコマンド、ライトデータ
リードパス:リードデータ
図5(a)の左図のライトパスによれば、
バスマスタ1のCH1、CH2のリードリクエストコマンド、
バスマスタ1´のCH1、CH2のリードリクエストコマンド
バスマスタ1´のCH1、CH2のライトリクエストコマンド、
バスマスタ1´のCH1、CH2のライトデータ
がアービタ100に対し流れている。
FIG. 5 is an example of a diagram for explaining inconveniences when the priorities of the bus master 1 and the bus master 1 ′ are approximately the same. FIG. 5A shows a case where the bus master 1 is not pressed by the bus master 1 ′ for the sake of explanation. The bus master 1 only reads, but the bus master 1 'reads and writes. Therefore, the bus master 1 and the bus master 1 ′ have the following number of read channels and write channels.
Bus master 1 has 2 read channels (2 read DMACs)
Bus master 1 'has 2 channels of read channel (2 DMACs for read)
Bus master 1 'has 2 write channels (2 write DMACs)
In the left diagram of FIG. 5A, a command when the bus master 1 and the bus master 1 ′ request writing to the arbiter 100 is a circle, and a data when writing is requested is a rectangle. In the right diagram of FIG. 5A, the read data that the memory 400 makes a transfer request to the arbiter 100 is represented by a rectangle. The path through which the command and data on the left side in FIG. 5A flow is collectively referred to as a write path, and the path through which the data on the right side in FIG. 5A flows is collectively referred to as a read path. The following information flows.
Write path: Write request command, Read request command, Write data Read path: Read data According to the write path in the left diagram of FIG.
Read request command for CH1, CH2 of bus master 1,
Bus master 1 'CH1, CH2 read request command Bus master 1' CH1, CH2 write request command,
The write data of CH 1 and CH 2 of the bus master 1 ′ is flowing to the arbiter 100.

図5(a)の右図のリードパスによれば、
バスマスタ1のCH1、CH2のリードデータ
バスマスタ1´のCH1、CH2のリードデータ
がアービタ100に対し流れている。
According to the lead path on the right side of FIG.
Read data of CH1 and CH2 of the bus master 1 Read data of CH1 and CH2 of the bus master 1 ′ is flowing to the arbiter 100.

アービタ100はリードリクエスト同士、ライトリクエスト同士を調停し、調停後はライトデータやリードデータの送信を許可する。しかし、いずれのリクエストもアービタに出力されるので、アービタは優先度が同等であれば、リクエストの多い方のバスマスタに使用権を与える傾向がある。図5(a)では、バスマスタ1のリードチャネルが2CH、バスマスタ1´のリードチャネルが2チャンネルなので、両者のシャネル数が同じであるため、バスマスタ1のリードリクエストはバスマスタ1´のライトリクエストに圧迫されない。このように、同等の優先度を有するバスマスタ1とバスマスタ1´が、同時にバス獲得を要求する場合でも、チャネル数が同じであれば不都合は少ない。   The arbiter 100 arbitrates between read requests and write requests, and after the arbitration, permits transmission of write data and read data. However, since any request is output to the arbiter, the arbiter has a tendency to give the right to use the bus master with more requests if the priority is equal. In FIG. 5A, since the read channel of the bus master 1 is 2CH and the read channel of the bus master 1 'is two channels, the number of channels is the same, so the read request of the bus master 1 is pressed against the write request of the bus master 1'. Not. As described above, even when the bus master 1 and the bus master 1 ′ having the same priority request bus acquisition at the same time, there is little inconvenience if the number of channels is the same.

図5(b)は、バスマスタ1がバスマスタ1´に圧迫されているケースを示す。バスマスタ1とバスマスタ1´は以下のようなチャネルを有する。
バスマスタ1のリードチャネルが1チャンネル
バスマスタ1´のリードチャネルが2チャンネル
バスマスタ1´のライトチャネルが2チャンネル、
図5(b)のようにバスマスタ1とバスマスタ1´で、同時にバス獲得を要求しているチャネル数に差がある場合、ライトパスとリードパスにおいてバスマスタ1がバスマスタ1´に圧迫される。ライトパスにおいては、バスマスタ1のリードコマンドが圧迫され、リードパスにおいてはバスマスタ1のリードデータが圧迫される。
FIG. 5B shows a case where the bus master 1 is pressed by the bus master 1 ′. The bus master 1 and the bus master 1 'have the following channels.
The read channel of the bus master 1 is 1 channel. The read channel of the bus master 1 'is 2 channels. The write channel of the bus master 1' is 2 channels.
As shown in FIG. 5B, when there is a difference in the number of channels simultaneously requesting bus acquisition between the bus master 1 and the bus master 1 ′, the bus master 1 is pressed by the bus master 1 ′ in the write path and the read path. In the write path, the read command of the bus master 1 is compressed, and in the read path, the read data of the bus master 1 is compressed.

以下に図5(a)と比較して、バスマスタ1がバスマスタ1´に圧迫される原因について説明する。
1.アービタに対してバス獲得要求するバスマスタ1のリードリクエストコマンドが少ない分、優先度が同等のバスマスタ1´のライトリクエストコマンドがアービタに入り込んでくる。
2.アービタに対しバス獲得要求するバスマスタ1´のライトリクエストコマンドが増える分、バスマスタ1´のライトデータ量が増加する。
3.バスマスタ1´のライトデータ量が増加することで、バス獲得要求するバスマスタ1のリードリクエストコマンドがアービタに到達しにくくなる。
4.バスマスタ1のリードリクエストコマンドがアービタに到達しにくくなることで、メモリからアービタに流れるバスマスタ1のリードデータの転送効率が落ちる。
Hereinafter, the reason why the bus master 1 is compressed by the bus master 1 ′ will be described in comparison with FIG.
1. Since the read request command of the bus master 1 that makes a bus acquisition request to the arbiter is small, the write request command of the bus master 1 ′ having the same priority enters the arbiter.
2. The amount of write data of the bus master 1 'increases as the write request command of the bus master 1' requesting the bus acquisition to the arbiter increases.
3. As the amount of write data of the bus master 1 'increases, it becomes difficult for the read request command of the bus master 1 that requests bus acquisition to reach the arbiter.
4). Since it becomes difficult for the read request command of the bus master 1 to reach the arbiter, the transfer efficiency of the read data of the bus master 1 flowing from the memory to the arbiter decreases.

本発明は、上記課題に鑑み、同程度の優先度の複数のバスマスタに対し、より優先度の高いバスマスタの使用効率を圧迫しないアービタを提供することを目的とする。   In view of the above problems, an object of the present invention is to provide an arbiter that does not impose the use efficiency of a bus master having a higher priority on a plurality of bus masters having the same priority.

本発明は、共通のバスに接続されている複数のバスマスタからのバス獲得要求を、予め設定されている各バスマスタの優先度に基づき調停するバスアービタであって、優先度が最も高い第一のバスマスタからの第一のバス獲得要求、及び、前記第一のバスマスタと同等の優先度である第二のバスマスタからの第二のバス獲得要求を監視するバス獲得要求監視手段と、前記バス獲得要求監視手段の監視結果を取得して、前記第一のバス獲得要求の頻度及び前記第二のバス獲得要求の頻度が予め定められた基準を満たす特定事象を検知する特定事象検知手段と、前記特定事象検知手段から特定事象検知信号を取得して、前記第二のバス獲得要求の頻度を制限するバス獲得制御手段と、を有することを特徴とする。   The present invention provides a bus arbiter that arbitrates bus acquisition requests from a plurality of bus masters connected to a common bus based on a preset priority of each bus master, the first bus master having the highest priority. Bus acquisition request monitoring means for monitoring the first bus acquisition request from the second bus acquisition request from the second bus master having the same priority as the first bus master, and the bus acquisition request monitoring Specific event detection means for acquiring a monitoring result of the means and detecting a specific event in which the frequency of the first bus acquisition request and the frequency of the second bus acquisition request satisfy a predetermined criterion; and the specific event Bus acquisition control means for acquiring a specific event detection signal from the detection means and limiting the frequency of the second bus acquisition request.

同程度の優先度の複数のバスマスタに対し、より優先度の高いバスマスタの使用効率を圧迫しないアービタを提供すること。   To provide an arbiter that does not impair the usage efficiency of higher priority bus masters for multiple bus masters of similar priority.

各画像処理手段によるメモリアクセスを説明する図の一例である。It is an example of the figure explaining the memory access by each image processing means. 固定優先順位方式を説明する図の一例である。It is an example of the figure explaining a fixed priority order system. 従来のバスマスタ1〜3の獲得要求の処理について説明する図の一例である。It is an example of the figure explaining the process of the acquisition request of the conventional bus masters 1-3. バスマスタ1とバスマスタ1´についてより具体例に説明する図の一例である。It is an example of the figure demonstrated to a more specific example about the bus master 1 and bus master 1 '. バスマスタ1とバスマスタ1´の優先度が同程度の場合の不都合を説明する図の一例である。FIG. 10 is an example of a diagram for explaining inconveniences when the priorities of the bus master 1 and the bus master 1 ′ are approximately the same. 本実施形態のアービタの概略的な特徴を説明する図の一例である。It is an example of the figure explaining the schematic characteristic of the arbiter of this embodiment. アービタを利用したメモリ利用システムのブロック図の一例である。It is an example of the block diagram of the memory utilization system using an arbiter. リクエストコマンドを説明する図の一例である。It is an example of the figure explaining a request command. 特定事象の検知について説明する図の一例である。It is an example of the figure explaining the detection of a specific event. アービタ内部におけるリクエストコマンドやデータの取得頻度を模式的に示す図の一例である。It is an example of the figure which shows typically the acquisition frequency of the request command and data in an arbiter. LSIの動作手順を説明するフローチャート図の一例である。It is an example of a flowchart for explaining an operation procedure of an LSI. メモリを利用するLSIのブロック図の一例である(実施例2)。FIG. 3 is an example of a block diagram of an LSI using a memory (second embodiment). メモリを利用するLSIのブロック図の一例である(実施例3)。FIG. 10 is an example of a block diagram of an LSI using a memory (third embodiment).

以下、本発明を実施するための形態について図面を参照しながら説明する。   Hereinafter, embodiments for carrying out the present invention will be described with reference to the drawings.

図6は、本実施形態のアービタ100の概略的な特徴を説明する図の一例である。バスマスタ1とバスマスタ1´の優先度は同程度であり、バスマスタ2,3よりも高い。バスマスタ4,5はアービタ100によるバス獲得要求の対象外のバスマスタである。したがって、アービタ100はバスマスタ1又はバスマスタ1´がバスの獲得を要求した場合、バスマスタ2,3のバスの獲得要求をマスクする。しかし、バスマスタ4,5はアービタ100にとってマスクの対象外であるので、バスマスタ1又はバスマスタ1´がバスの獲得を要求しても、バスマスタ4,5のバスの獲得要求をマスクしない。
I 事象発生検知部15は、バスマスタ1とバスマスタ1´が同時にバスの獲得要求を発生したため、バスマスタ1のリードリクエストやリードデータを圧迫するおそれがあること(特定事象)を検知する。
II バス獲得制御部13は、特定事象の検知の通知を受け、マスク対象外のバスマスタ5(又は4でもよい)にダミーのリクエストコマンド(ダミーのバスの獲得要求)を発生させる。
FIG. 6 is an example of a diagram illustrating a schematic feature of the arbiter 100 of the present embodiment. The bus master 1 and the bus master 1 'have the same priority and are higher than the bus masters 2 and 3. The bus masters 4 and 5 are bus masters that are not subject to a bus acquisition request by the arbiter 100. Therefore, the arbiter 100 masks the bus acquisition request of the bus masters 2 and 3 when the bus master 1 or the bus master 1 ′ requests acquisition of the bus. However, since the bus masters 4 and 5 are not masked by the arbiter 100, the bus master 4 or 5 does not mask the bus acquisition request even if the bus master 1 or the bus master 1 'requests the bus acquisition.
The I event occurrence detection unit 15 detects that there is a possibility that the bus master 1 and the bus master 1 'may simultaneously press the read request or read data of the bus master 1 because the bus acquisition request is generated simultaneously.
The II bus acquisition control unit 13 receives notification of detection of a specific event, and generates a dummy request command (dummy bus acquisition request) for the bus master 5 (or 4) that is not to be masked.

アービタ100にバスマスタ5のダミーのリードリクエストコマンドを挿入することで、バスマスタ1´のバスの占有率が低下し、バスマスタ1´のバスの使用頻度を一時的に低下させることができる。したがって、バスマスタ1のリードリクエストコマンドやリードデータが、バスマスタ1´のライトリクエストコマンドやライトデータに圧迫されることを防止できる。   By inserting a dummy read request command of the bus master 5 into the arbiter 100, the bus occupancy rate of the bus master 1 'can be reduced, and the bus usage frequency of the bus master 1' can be temporarily reduced. Therefore, it is possible to prevent the read request command and read data of the bus master 1 from being pressed by the write request command and write data of the bus master 1 ′.

また、バスマスタ4,5のバスの獲得要求は、ダミーなのでアービタ100は無視することができる。よって、バスマスタ4,5のバス獲得要求は、リード側のパスには影響を与えず、バスマスタ1の転送効率が低下することはない。   Since the bus acquisition requests of the bus masters 4 and 5 are dummy, the arbiter 100 can be ignored. Therefore, the bus acquisition request of the bus masters 4 and 5 does not affect the read-side path, and the transfer efficiency of the bus master 1 does not decrease.

〔構成例〕
図7は、アービタを利用したメモリ利用システム600のブロック図の一例である。LSI120とメモリ400がシステムバス12を介して接続されている。メモリ400は、例えばSDRAM等の高速なメモリである。
[Configuration example]
FIG. 7 is an example of a block diagram of a memory utilization system 600 using an arbiter. The LSI 120 and the memory 400 are connected via the system bus 12. The memory 400 is a high-speed memory such as an SDRAM.

LSI120はバス獲得制御部13に接続されたバスマスタ1〜5、アービタ100、及び、メモリコントローラ11を有している。バスマスタ1,1´は、それぞれリクエスト監視部14(以下、区別する場合、リクエスト監視部1、1´という)に接続され、2つのリクエスト監視部1、1´はアービタ100に接続されている。また、リクエスト監視部1、1´は事象発生検知部15と接続され、事象発生検知部15はバス獲得制御部13と接続されている。   The LSI 120 includes bus masters 1 to 5 connected to the bus acquisition control unit 13, an arbiter 100, and a memory controller 11. The bus masters 1 and 1 ′ are connected to a request monitoring unit 14 (hereinafter referred to as request monitoring units 1 and 1 ′, respectively), and the two request monitoring units 1 and 1 ′ are connected to an arbiter 100. The request monitoring units 1 and 1 ′ are connected to the event occurrence detection unit 15, and the event occurrence detection unit 15 is connected to the bus acquisition control unit 13.

バスマスタ1、バスマスタ1´、バスマスタ2、及び、バスマスタ3は、画像形成装置200では、例えば、バスマスタ1=画像出力器、バスマスタ1´=復号装置、バスマスタ2=符号化装置、バスマスタ3=描画装置、である。   In the image forming apparatus 200, the bus master 1, the bus master 1 ′, the bus master 2, and the bus master 3 are, for example, a bus master 1 = image output device, a bus master 1 ′ = decoding device, a bus master 2 = encoding device, and a bus master 3 = drawing device. .

例えば、PC300やスキャナが印刷対象のデータを画像形成装置200に記憶させる。これによりメモリ400に印刷データが記憶される。   For example, the PC 300 or the scanner stores data to be printed in the image forming apparatus 200. As a result, the print data is stored in the memory 400.

CPU202はプログラムを実行し、メモリ400から印刷データを読み出し解析して、中間言語による印刷データ(描画コマンド)を生成する。CPU202は生成した描画コマンドをメモリ400に記憶する。   The CPU 202 executes a program, reads print data from the memory 400, analyzes it, and generates print data (drawing command) in an intermediate language. The CPU 202 stores the generated drawing command in the memory 400.

描画装置203は、メモリ400から描画コマンドを読み出し、描画コマンドを解析して画像データに階調処理を施すことで2値化された画像データをメモリ400に書き込む。階調処理は、バンド単位(1ページ分を副走査方向に8〜16等分した領域)で行われることが多いため、2値化された画像データをバンドデータという場合がある。   The drawing device 203 reads the drawing command from the memory 400, analyzes the drawing command, applies gradation processing to the image data, and writes the binarized image data to the memory 400. Gradation processing is often performed in band units (an area obtained by dividing one page into 8 to 16 equal parts in the sub-scanning direction), and thus binarized image data may be referred to as band data.

次に、符号化装置204は、メモリ400からバンドデータを読み出して、JBIGなどの2値画像の圧縮アルゴリズムにより符号化し、メモリ400に記憶する。   Next, the encoding device 204 reads the band data from the memory 400, encodes it with a binary image compression algorithm such as JBIG, and stores it in the memory 400.

次に、復号装置205は、メモリ400から符号化データを読み込んで復号し、メモリ400に記憶する。画像出力器は、バンド単位に、復号された画像データをアドレスの最後からメモリから読み出して、不図示のエンジンコントローラへ転送する。エンジンコントローラは、プリンタエンジンを制御してプリンタエンジンで印刷データを用紙などに印刷する。したがって、画像出力器は、プリンタエンジンが一定のスピードで印刷できるように、最優先でメモリ400にアクセスする必要がある。また、画像出力器に画像データを供給する復号装置は同等の優先度が必要となる。   Next, the decoding device 205 reads the encoded data from the memory 400, decodes it, and stores it in the memory 400. The image output unit reads the decoded image data from the memory from the end of the address for each band, and transfers it to an engine controller (not shown). The engine controller controls the printer engine and prints print data on paper or the like with the printer engine. Therefore, the image output device needs to access the memory 400 with the highest priority so that the printer engine can print at a constant speed. Also, a decoding device that supplies image data to the image output device needs to have the same priority.

このような関係は、出力までの画像処理の種類や数、処理後のデータのメモリ400への格納の有無、バス獲得競合の有無、などにより変わりうるものである。よって、各バスマスタと画像処理手段の対応は一例に過ぎない。また、1つのLSI120に複数のバスマスタが搭載されている必要はなく、例えばCPU202はLSI120の外に配置されることも多い。   Such a relationship can vary depending on the type and number of image processing until output, whether or not the processed data is stored in the memory 400, and whether or not there is a bus acquisition conflict. Therefore, the correspondence between each bus master and the image processing means is only an example. Further, it is not necessary that a plurality of bus masters be mounted on one LSI 120. For example, the CPU 202 is often arranged outside the LSI 120.

以下では、
バスマスタ1、バスマスタ1´:優先度が最も高い
バスマスタ2、バスマスタ3 :優先度が次に高い
ものとする。
Below,
Bus master 1, bus master 1 ': highest priority Bus master 2, bus master 3: Assume that the priority is the next highest.

リクエスト監視部1は、バスマスタ1の一定期間内におけるリードリクエストの数をカウントし、直接又はリクエスト監視部1´を介して事象発生検知部15に通知する。同様に、リクエスト監視部1´は、バスマスタ1´の一定期間(後述するリクエスト数計測時間)内におけるリードリクエスト及びライトリクエストの数をカウントし事象発生検知部15に通知する。なお、リクエスト監視部1は、バスマスタ1のリードリクエストをそのままアービタ100に透過的に転送し、リクエスト監視部1´は、バスマスタ1´のリードリクエスト及びライトリクエストをそのままアービタ100に透過的に転送する。   The request monitoring unit 1 counts the number of read requests in the bus master 1 within a certain period, and notifies the event occurrence detection unit 15 directly or via the request monitoring unit 1 ′. Similarly, the request monitoring unit 1 ′ counts the number of read requests and write requests within a certain period (request number measurement time described later) of the bus master 1 ′ and notifies the event occurrence detection unit 15. The request monitoring unit 1 transparently transfers the read request of the bus master 1 as it is to the arbiter 100, and the request monitoring unit 1 ′ transparently transfers the read request and the write request of the bus master 1 ′ as it is to the arbiter 100. .

事象発生検知部15は、バスマスタ1の一定期間内におけるリードリクエストの数、及び、バスマスタ1´の一定期間内におけるリードリクエスト及びライトリクエストの数に基づき特定事象の検知を行う。特定事象の検知については後述する。事象発生検知部15は、事象検知信号を送信することで、特定事象を検知したことをバス獲得制御部13に通知する。   The event occurrence detection unit 15 detects a specific event based on the number of read requests of the bus master 1 within a certain period and the number of read requests and write requests within the certain period of the bus master 1 ′. The detection of the specific event will be described later. The event occurrence detection unit 15 notifies the bus acquisition control unit 13 that a specific event has been detected by transmitting an event detection signal.

バス獲得制御部13は、事象検知信号を取得すると、マスク対象外である、バスマスタ4又はバスマスタ5の少なくとも一方に対し、ダミーのリードリクエストコマンドを発行させる。その際、リードリクエストコマンドのダミーヘッダにダミーであることを示す情報を付加する。ダミーヘッダについては後述する。   When acquiring the event detection signal, the bus acquisition control unit 13 causes a dummy read request command to be issued to at least one of the bus master 4 and the bus master 5 that are not masked. At this time, information indicating a dummy is added to the dummy header of the read request command. The dummy header will be described later.

ダミーの獲得要求は、バスマスタ1のリードリクエストコマンドの圧迫を抑制するため、リードリクエストであればよいが、バスマスタ1´のライトリクエストコマンドを制限するために、ライトリクエストでもよい。   The dummy acquisition request may be a read request in order to suppress the compression of the read request command of the bus master 1, but may be a write request to limit the write request command of the bus master 1 ′.

なお、バス獲得制御部13、リクエスト監視部1、1´、及び、事象発生検知部15はアービタ100の外に図示されているが、アービタ100による獲得要求の調停を支援する手段なので、アービタ100の一部である。   Although the bus acquisition control unit 13, the request monitoring units 1, 1 ', and the event occurrence detection unit 15 are illustrated outside the arbiter 100, the arbiter 100 is a means for supporting arbitration of acquisition requests by the arbiter 100. Is part of.

アービタ100はコマンドを解釈するためのコマンド判断部16を有する。コマンド判断部16は、ダミーのリクエストコマンドを検出する。アービタ100は、コマンド判断部16がダミーのリクエストコマンドでないと判断した、リードリクエスト、ライトリクエストのコマンドヘッダを解析して、リード・ライトの区別をし、アクセス先のアドレスを特定する。   The arbiter 100 has a command determination unit 16 for interpreting the command. The command determination unit 16 detects a dummy request command. The arbiter 100 analyzes the command headers of the read request and write request that the command determination unit 16 determines to be not a dummy request command, distinguishes between read and write, and specifies the access destination address.

アービタ100は、リードリクエストコマンド、ライトリクエストコマンドのそれぞれにおいて、リクエスト元のバスマスタの優先度を比較し、優先度の高いリクエストを優先し、メモリコントローラ11に出力する。また、優先度の高いバスマスタのリクエスを処理している間は、優先度の低いバスマスタのリクエストをマスクする。   The arbiter 100 compares the priority of the request source bus master in each of the read request command and the write request command, gives priority to the request having the higher priority, and outputs the request to the memory controller 11. Further, while processing a request from a bus master having a high priority, a request from a bus master having a low priority is masked.

本実施形態の場合、リクエストコマンドのダミーヘッダに基づき、コマンド判断部16は、リードリクエスト又はライトリクエストがダミーか否かを判定し、ダミーであると判定すると、メモリコントローラ11にリクエストコマンドを発行せずに破棄する。   In the case of this embodiment, based on the dummy header of the request command, the command determination unit 16 determines whether the read request or the write request is a dummy, and if it is determined to be a dummy, issues a request command to the memory controller 11. Discard without.

これにより、バスマスタ4,5のリードリクエストをアービタ100まで到達させ、バスマスタ1´のバス使用頻度を一時的に低下させることができる。また、アービタ100のメモリコントローラ11側には、アービタ100はダミーのリードリクエストコマンドを出力しないので、メモリコントローラ11とメモリ間でのバスの混雑に影響を与えない。   Thereby, the read request of the bus masters 4 and 5 can reach the arbiter 100, and the bus use frequency of the bus master 1 'can be temporarily reduced. Further, since the arbiter 100 does not output a dummy read request command to the memory controller 11 side of the arbiter 100, the bus congestion between the memory controller 11 and the memory is not affected.

〔ダミーのリクエストコマンド〕
図8は、リクエストコマンドのフォーマットを説明する図の一例である。リクエストコマンドは、ダミーヘッダ、転送内容プロトコル、転送データ、及び、転送終了プロトコルの各フィールドを有する。
・ダミーヘッダには、"Dummy"又は"No Dummy"が格納される。
・転送内容プロトコルには、ライトリクエスト・リードリクエストの識別情報、リードリクエストの場合は転送先アドレスとデータサイズ、ライトリクエストの場合は転送先アドレス及びデータサイズ、等が格納される。
・転送データには、ライトリクエストの場合に転送データ又は転送元アドレスが格納される。
・転送終了プロトコルは、転送の終了を通知するフィールドである。
[Dummy request command]
FIG. 8 is an example of a diagram illustrating the format of the request command. The request command has fields of a dummy header, a transfer content protocol, transfer data, and a transfer end protocol.
-"Dummy" or "No Dummy" is stored in the dummy header.
In the transfer content protocol, write request / read request identification information, a transfer destination address and data size in the case of a read request, a transfer destination address and data size in the case of a write request, and the like are stored.
In the case of a write request, the transfer data or transfer source address is stored in the transfer data.
The transfer end protocol is a field for notifying the end of transfer.

したがって、ダミーヘッダに"Dummy"が格納されたリクエストコマンドが、ダミーのリクエストコマンドである。   Therefore, a request command in which “Dummy” is stored in the dummy header is a dummy request command.

〔特定事象の検知〕
図9は、特定事象の検知について説明する図の一例である。図9は、バスマスタ1と、バスマスタ1´で、同時にバス獲得要求を発行しているチャネル数に差がある場合を図示している。
[Detection of specific events]
FIG. 9 is an example of a diagram illustrating detection of a specific event. FIG. 9 illustrates a case where there is a difference in the number of channels that are simultaneously issuing bus acquisition requests between the bus master 1 and the bus master 1 ′.

バスマスタ1のリードリクエストのチャネル数はCH1〜4の4つであり、バスマスタ1´のリードリクエストのチャネル数はCH1、2の2つであり、ライトリクエストのチャネル数はCH3,4の2つである。このうち、バスマスタ1はCH1にのみリードリクエストコマンドを出力しているが、バスマスタ1´はCH1〜4の全てにリクエストコマンドを出力している。上述したように、このような状態では、バスマスタ1のリードリクエストコマンドやリードデータがアービタ100に到達しにくくなる。   The number of read request channels of the bus master 1 is four (CH1 to CH4), the number of read request channels of the bus master 1 'is two (CH1 and CH2), and the number of write request channels is two (CH3 and CH4). is there. Of these, the bus master 1 outputs a read request command only to CH1, but the bus master 1 'outputs a request command to all of CH1-4. As described above, in such a state, it becomes difficult for the read request command and read data of the bus master 1 to reach the arbiter 100.

リクエスト監視部1は、点線で示す一定時間毎に、CH1〜CH4のリードリクエストコマンドの数をカウントする。リクエスト監視部1´も、同じ一定時間毎に、CH1〜CH4のライトリクエストコマンドの数及びリードリクエストコマンドの数をカウントする。図示する例では、リクエスト監視部1のカウント結果は3であり、リクエスト監視部1´のカウント結果は16である。   The request monitoring unit 1 counts the number of read request commands of CH1 to CH4 at regular time intervals indicated by dotted lines. The request monitoring unit 1 ′ also counts the number of CH1 to CH4 write request commands and the number of read request commands at the same fixed time. In the illustrated example, the count result of the request monitoring unit 1 is 3, and the count result of the request monitoring unit 1 ′ is 16.

事象発生検知部15は、これらのカウント結果を取得し、2つのカウント結果の差が所定値以上の場合、特定事象の発生を検知する。所定値は、例えば、1つのチェネルで一定時間にカウントされる最大のリクエストコマンドの数をnとした場合、n〜2n程度とすればよいが、所定値は適宜、設定できる。   The event occurrence detection unit 15 acquires these count results, and detects the occurrence of a specific event when the difference between the two count results is a predetermined value or more. The predetermined value may be about n to 2n, for example, where n is the maximum number of request commands counted in a certain time in one channel, but the predetermined value can be set as appropriate.

〔アービタ内部のデータの取り扱い〕
図10は、アービタ内部におけるリードリクエストコマンド、ライトリクエストコマンド、ライトデータ又はリードデータの取得頻度を模式的に示す図の一例である。図10(a)は上記の図5(a)と同じものであり、バスマスタ1のリードリクエストコマンドやリードデータの転送が圧迫されている例を示している。
[Handling of data inside the arbiter]
FIG. 10 is an example of a diagram schematically showing the frequency of acquisition of a read request command, a write request command, write data, or read data inside the arbiter. FIG. 10A is the same as FIG. 5A described above, and shows an example in which the transfer of the read request command and read data of the bus master 1 is under pressure.

これに対し、図10(b)はダミーのリクエストコマンドにより、バスマスタ1のリードリクエストコマンドやリードデータの転送が圧迫されない例を示している。   On the other hand, FIG. 10B shows an example in which the transfer of the read request command and read data of the bus master 1 is not compressed by the dummy request command.

図10(b)の左図は、バスマスタ1、バスマスタ1´、バスマスタ5のアービタ100に対するリクエストコマンドが円形で、ライトデータが矩形で、それぞれ表されている。図10(b)の右図は、メモリ400がアービタ100に転送要求するリードデータが矩形で表されている。図10(b)の左図に示すように、各バスマスタは以下のチャネルを有する。
バスマスタ1のリードリクエストコマンドが1CH、
バスマスタ1´のリードリクエストコマンドが2CH、
バスマスタ1´のライトリクエストコマンドが2CH、
バスマスタ5のリードリクエストコマンドが1CH、
すなわち、特定事象が検知された場合、バスマスタ5がダミーのリードリクエストコマンドを発生させるので、図10(b)の左図に示すように、バスマスタ5のリードリクエストコマンドが1CH、確保される。このような構成によれば、以下のような作用により、バスマスタ1のリードリクエストコマンドやリードデータが、バスマスタ1´のライトリクエストコマンドやライトデータにより圧迫されることが防止される。
In the left diagram of FIG. 10B, the request command for the arbiter 100 of the bus master 1, the bus master 1 ′, and the bus master 5 is circular, and the write data is rectangular. In the right diagram of FIG. 10B, the read data that the memory 400 requests to transfer to the arbiter 100 is represented by a rectangle. As shown in the left diagram of FIG. 10B, each bus master has the following channels.
The read request command of bus master 1 is 1CH,
The read request command of the bus master 1 'is 2CH,
The bus master 1 'write request command is 2CH,
The read request command of the bus master 5 is 1CH,
That is, when a specific event is detected, the bus master 5 generates a dummy read request command, so that 1 CH of the read request command for the bus master 5 is secured as shown in the left diagram of FIG. According to such a configuration, the read request command and read data of the bus master 1 are prevented from being pressed by the write request command and write data of the bus master 1 ′ by the following operation.

1.アービタに対しバス獲得要求するバスマスタ1のリードリクエストコマンドが少なくても、マスクされないバスマスタ5のリードリクエストコマンドがアービタ100に到達する。
2.このため、アービタに到達するバスマスタ1´のライトリクエストコマンドが増えにくくなり、バスマスタ1´からアービタに流れるライトデータ量は増加しない。
3.バスマスタ1´のライトデータ量が増加しないので、アービタに対してバス獲得要求するバスマスタ1のリードリクエストコマンドが圧迫されない。
4.バスマスタ5のリードリクエストはダミーであり、アービタ100が破棄するので、メモリがアービタ100に送信するリードデータの転送効率が落ちることもない。
1. Even if the number of read request commands of the bus master 1 that requests the arbiter to acquire a bus is small, the read request command of the bus master 5 that is not masked reaches the arbiter 100.
2. For this reason, the number of write request commands of the bus master 1 ′ reaching the arbiter is difficult to increase, and the amount of write data flowing from the bus master 1 ′ to the arbiter does not increase.
3. Since the amount of write data of the bus master 1 'does not increase, the read request command of the bus master 1 that makes a bus acquisition request to the arbiter is not compressed.
4). Since the read request of the bus master 5 is a dummy and is discarded by the arbiter 100, the transfer efficiency of read data transmitted from the memory to the arbiter 100 is not reduced.

〔動作手順〕
図11は、アービタ100の動作手順を説明するフローチャート図の一例である。
[Operation procedure]
FIG. 11 is an example of a flowchart for explaining the operation procedure of the arbiter 100.

バスマスタ1はバスマスタ1´と非同期にリクエスト監視部1にリードリクエストコマンドを出力する(S1)。リクエスト監視部1は、リードリクエストコマンドをアービタ100に出力する(S2)。   The bus master 1 outputs a read request command to the request monitoring unit 1 asynchronously with the bus master 1 ′ (S1). The request monitoring unit 1 outputs a read request command to the arbiter 100 (S2).

バスマスタ1´はバスマスタ1と非同期にリクエスト監視部1´にリードリクエストコマンド又はライトリクエストコマンドを出力する(S3)。リクエスト監視部1´は、リードリクエストコマンド又はライトリクエストコマンドをアービタ100に出力する(S4)。   The bus master 1 ′ outputs a read request command or a write request command to the request monitoring unit 1 ′ asynchronously with the bus master 1 (S3). The request monitoring unit 1 ′ outputs a read request command or a write request command to the arbiter 100 (S4).

リクエスト監視部1は、リードリクエストコマンドを事象発生検知部15に出力する(S5)。   The request monitoring unit 1 outputs a read request command to the event occurrence detection unit 15 (S5).

リクエスト監視部1´は、リードリクエストコマンド又はライトリクエストコマンドを事象発生検知部15に出力する(S6)。   The request monitoring unit 1 ′ outputs a read request command or a write request command to the event occurrence detection unit 15 (S6).

アービタ100は、バスマスタ1とバスマスタ1´からのリードリクエストコマンドの優先度が同等なので、例えば早くリクエストを出力したバスマスタに使用権を与える。また、アービタ100は、バスマスタ1´からのライトリクエストコマンドに対し、バスマスタ1´の優先度が最も高いのでバスマスタ1´に使用権を与える。このような、バスマスタ1´のアービタ100へのリクエストが多いことやライトデータの転送が、バスマスタ1のリードリクエストを圧迫する要因になる。   Since the priority of the read request commands from the bus master 1 and the bus master 1 ′ is equal, the arbiter 100 gives the right to use the bus master that has output the request earlier, for example. The arbiter 100 gives the right to use the bus master 1 'to the write request command from the bus master 1' because the bus master 1 'has the highest priority. Such a large number of requests to the arbiter 100 of the bus master 1 ′ and transfer of write data cause the read request of the bus master 1 to be pressed.

事象発生検知部15は、リクエスト数計測時間におけるバスマスタ1のリードリクエストコマンドの数と、バスマスタ1´のリードリクエストコマンドの数及びリードリクエストコマンドの合計の差が所定値以上の場合、特定事象の発生を検知する(S7)。特定事象の発生を検知した事象発生検知部15は事象検知信号をバス獲得制御部13に出力する(S8)。   The event occurrence detection unit 15 generates a specific event when the difference between the number of read request commands of the bus master 1 and the number of read request commands of the bus master 1 ′ and the total of the read request commands is equal to or greater than a predetermined value. Is detected (S7). The event occurrence detection unit 15 that has detected the occurrence of the specific event outputs an event detection signal to the bus acquisition control unit 13 (S8).

バス獲得制御部13は、事象検知信号を取得すると、バスマスタ4又は5の少なくとも一方にリードリクエストコマンドを出力させる(S9)。   When acquiring the event detection signal, the bus acquisition control unit 13 causes at least one of the bus masters 4 and 5 to output a read request command (S9).

バスマスタ5は、バス獲得制御部13からの要求に対しダミーのリードリクエストコマンドをアービタ100に出力する(S10)。   In response to the request from the bus acquisition control unit 13, the bus master 5 outputs a dummy read request command to the arbiter 100 (S10).

アービタ100のコマンド判断部16は、リードリクエストコマンドのダミーヘッダを参照して、ダミーであることを検出するとこれを破棄する。したがって、メモリとメモリコントローラ11の間でリードデータが流れることはない。   The command determination unit 16 of the arbiter 100 refers to the dummy header of the read request command and discards it when it is detected as a dummy. Therefore, read data does not flow between the memory and the memory controller 11.

以上説明したように、本実施例のアービタ100は、同等の優先度のバスマスタ1、1´が共にアービタにリクエストを出力する場合に、バスマスタ4,5のリードリクエストコマンドを挿入する。これにより、バスマスタ1´のバス使用頻度を一時的に低下させることができる。したがって、バスマスタ1のリードリクエストやリードデータが、バスマスタ1´のライトリクエストコマンドやライトデータに圧迫されることを防止できる。   As described above, the arbiter 100 of this embodiment inserts the read request command of the bus masters 4 and 5 when the bus masters 1 and 1 'having the same priority output requests to the arbiter. As a result, the bus usage frequency of the bus master 1 'can be temporarily reduced. Therefore, it is possible to prevent the read request and read data of the bus master 1 from being pressed by the write request command and write data of the bus master 1 ′.

本実施例では、特定事象の検知に伴う機能を停止させることができるアービタ100について説明する。   In this embodiment, an arbiter 100 capable of stopping a function associated with detection of a specific event will be described.

図12は、アービタを利用したメモリ利用システム600のブロック図の一例である。図12において図7と同一部の説明は省略する。   FIG. 12 is an example of a block diagram of a memory utilization system 600 using an arbiter. In FIG. 12, the description of the same part as in FIG. 7 is omitted.

本実施例のLSI120は、新たにON/OFF切替部17を有する。ON/OFF切替部17は、バスマスタ1´がバスマスタ1を圧迫するユースケースがない場合、リクエスト監視部1,1´、事象発生検知部15、及び、コマンド判断部16を停止させる。例えば、ON/OFF切替部17は、リクエスト監視部1,1´、事象発生検知部15、及び、コマンド判断部16に供給されるクロックのクロック信号線を切断する。これにより、LSI120の消費電力を削減できる。   The LSI 120 of this embodiment newly has an ON / OFF switching unit 17. When there is no use case where the bus master 1 ′ compresses the bus master 1, the ON / OFF switching unit 17 stops the request monitoring units 1, 1 ′, the event occurrence detection unit 15, and the command determination unit 16. For example, the ON / OFF switching unit 17 disconnects the clock signal line of the clock supplied to the request monitoring unit 1, 1 ′, the event occurrence detection unit 15, and the command determination unit 16. Thereby, the power consumption of the LSI 120 can be reduced.

ユースケースの有無の判断は、LSI120のメーカや使用者(以下、単に開発者という)が行う。開発者は、バスマスタ1´がバスマスタ1を圧迫するユースケースがあるか否かを判断して、初期設定用のパラメータを不図示のROMやメインのプログラムに記述しておく。メインのプログラムは、LSI120の起動時にパラメータをON/OFF切替部17のレジスタなどに設定する。ON/OFF切替部17はレジスタに記憶されたパラメータに応じて、リクエスト監視部1,1´、事象発生検知部15、及び、コマンド判断部16を停止させる。   Whether or not there is a use case is determined by the manufacturer or user of the LSI 120 (hereinafter simply referred to as a developer). The developer determines whether or not there is a use case in which the bus master 1 ′ compresses the bus master 1, and describes initial setting parameters in a ROM or main program (not shown). The main program sets parameters in the register of the ON / OFF switching unit 17 when the LSI 120 is activated. The ON / OFF switching unit 17 stops the request monitoring units 1 and 1 ′, the event occurrence detection unit 15, and the command determination unit 16 according to the parameters stored in the register.

なお、バスマスタ1とバスマスタ1´は直接、アービタ100に接続されているため、リクエスト監視部1,1´は、動作が停止されてもリクエストコマンドをアービタ100に出力することができる。   Since the bus master 1 and the bus master 1 ′ are directly connected to the arbiter 100, the request monitoring units 1 and 1 ′ can output a request command to the arbiter 100 even when the operation is stopped.

本実施例によれば、同等な優先度を付与すべきバスマスタ1とバスマスタ1´が存在しないような場合、または、存在しても処理に大きな影響がない場合、LSI120の消費電力を抑制できる。   According to the present embodiment, the power consumption of the LSI 120 can be suppressed when there is no bus master 1 and bus master 1 ′ to which an equivalent priority should be given, or when there is no significant influence on the processing even if it exists.

本実施例では、ダミーのリクエストコマンドの発生頻度を制御可能なLSI120について説明する。
図13は、アービタを利用したメモリ利用システム600のブロック図の一例である。図13において図7と同一部の説明は省略する。
In the present embodiment, an LSI 120 capable of controlling the frequency of occurrence of dummy request commands will be described.
FIG. 13 is an example of a block diagram of a memory utilization system 600 using an arbiter. In FIG. 13, the description of the same part as in FIG. 7 is omitted.

本実施例のLSI120は、新たに条件格納部18を有する。条件格納部18には、事象発生検知部15が特定事象の発生を検知するための条件が格納される。条件格納部18は、ROMやレジスタなどの記憶媒体である。事象発生検知部15は、条件格納部18に記憶されたビットパターンにより、特定事象の発生を検知するための条件を切り換える。例えば、以下のビットパターンでは、特定事象の発生を検知するための条件は次のようになる。なお、"X"は不定とする。
XX01:バスマスタ1のリードリクエストコマンドの数と、バスマスタ1´のライトリクエストコマンド及びリードリクエストコマンドの合計の差が、所定数以上の場合に特定事象を検知する。
XX10:バスマスタ1のリードリクエストコマンドの数と、バスマスタ1´のリードリクエストコマンドの数の差が、所定数以上の場合に特定事象を検知する。
0011:バスマスタ1のリードリクエストコマンドの数と、バスマスタ1´のライトリクエストコマンドの数の差が、所定数以上の場合に特定事象を検知する。
01XX:所定数を3
10XX:所定数を6
11XX:所定数を9
特定事象の発生を検知するための条件の設定の仕方は、実施例2と同様である。すなわち、開発者は、特定事象の発生を検知するための条件(ビットパターン)を不図示のROMやメインのプログラムに記述しておく。メインのプログラムは、LSI120の起動時にビットパターンを条件格納部18のレジスタなどに設定する。
The LSI 120 of this embodiment newly has a condition storage unit 18. The condition storage unit 18 stores conditions for the event occurrence detection unit 15 to detect the occurrence of a specific event. The condition storage unit 18 is a storage medium such as a ROM or a register. The event occurrence detection unit 15 switches the condition for detecting the occurrence of the specific event based on the bit pattern stored in the condition storage unit 18. For example, in the following bit pattern, the conditions for detecting the occurrence of a specific event are as follows. “X” is undefined.
XX01: A specific event is detected when the difference between the number of read request commands of the bus master 1 and the sum of the write request command and the read request command of the bus master 1 ′ is a predetermined number or more.
XX10: A specific event is detected when the difference between the number of read request commands of the bus master 1 and the number of read request commands of the bus master 1 ′ is equal to or greater than a predetermined number.
0011: A specific event is detected when the difference between the number of read request commands of the bus master 1 and the number of write request commands of the bus master 1 ′ is equal to or greater than a predetermined number.
01XX: The predetermined number is 3
10XX: The predetermined number is 6
11XX: Predetermined number is 9
The method of setting conditions for detecting the occurrence of a specific event is the same as in the second embodiment. That is, the developer describes a condition (bit pattern) for detecting the occurrence of a specific event in a ROM or main program (not shown). The main program sets the bit pattern in the register of the condition storage unit 18 when the LSI 120 is activated.

事象発生検知部15は、特定事象の発生を検知する際、条件格納部18に格納されたビットパターンに従い、特定事象が発生したか否かを判定する。   When detecting the occurrence of a specific event, the event occurrence detection unit 15 determines whether a specific event has occurred according to the bit pattern stored in the condition storage unit 18.

このように、特定事象の発生を検知するための条件を変えることができることで、ダミーのリクエストコマンドによるデータリードが発生しすぎてしまい、バスマスタ1´の転送効率が低下してしまうことを防止できる。また、想定よりもダミーリードが発生しにくいため、本実施形態の効果が期待ほど得られないような場合にも対応することができる。   As described above, by changing the conditions for detecting the occurrence of the specific event, it is possible to prevent the data read by the dummy request command from being excessively generated and the transfer efficiency of the bus master 1 'from being lowered. . Further, since dummy leads are less likely to occur than expected, it is possible to cope with a case where the effect of the present embodiment cannot be obtained as expected.

なお、図13では、ON/OFF切替部17が図示されていないが、条件格納部18と共にON/OFF切替部17を搭載することもできる。この場合、特定事象の発生を検知するための条件を可変とすることができると共に、ON/OFF切替部17により消費電力を抑制することができる。   In FIG. 13, the ON / OFF switching unit 17 is not illustrated, but the ON / OFF switching unit 17 may be mounted together with the condition storage unit 18. In this case, the condition for detecting the occurrence of the specific event can be made variable, and the power consumption can be suppressed by the ON / OFF switching unit 17.

11 メモリコントローラ
12 システムバス
13 バス獲得制御部
14 リクエスト監視部
15 事象発生検知部
16 コマンド判断部
17 ON/OFF切替部
18 条件格納部
100 アービタ
110 バスマスタ
200 画像形成装置
600 メモリ利用システム
DESCRIPTION OF SYMBOLS 11 Memory controller 12 System bus 13 Bus acquisition control part 14 Request monitoring part 15 Event generation | occurrence | production detection part 16 Command judgment part 17 ON / OFF switching part 18 Condition storage part 100 Arbiter 110 Bus master 200 Image forming apparatus 600 Memory utilization system

特開2002−269032号公報JP 2002-269032 A

Claims (9)

共通のバスに接続されている複数のバスマスタからのバス獲得要求を、予め設定されている各バスマスタの優先度に基づき調停するバスアービタであって、
優先度が最も高い第一のバスマスタからの第一のバス獲得要求、及び、前記第一のバスマスタと同等の優先度である第二のバスマスタからの第二のバス獲得要求を監視するバス獲得要求監視手段と、
前記バス獲得要求監視手段の監視結果を取得して、前記第一のバス獲得要求の頻度及び前記第二のバス獲得要求の頻度が予め定められた基準を満たす特定事象を検知する特定事象検知手段と、
前記特定事象検知手段から特定事象検知信号を取得して、前記第二のバス獲得要求の頻度を制限するバス獲得制御手段と、
を有するバスアービタ。
A bus arbiter that arbitrates bus acquisition requests from a plurality of bus masters connected to a common bus based on a preset priority of each bus master,
A bus acquisition request for monitoring a first bus acquisition request from the first bus master having the highest priority and a second bus acquisition request from the second bus master having the same priority as the first bus master. Monitoring means;
A specific event detection unit that acquires a monitoring result of the bus acquisition request monitoring unit and detects a specific event in which the frequency of the first bus acquisition request and the frequency of the second bus acquisition request satisfy a predetermined criterion. When,
Bus acquisition control means for acquiring a specific event detection signal from the specific event detection means and limiting the frequency of the second bus acquisition request;
Having a bus arbiter.
前記特定事象検知手段は、一定時間内の、前記第一のバス獲得要求の数及び前記第二のバス獲得要求の数をカウントすることで、前記第一のバス獲得要求の頻度及び前記第二のバス獲得要求の頻度を求める、
ことを特徴とする請求項1記載のバスアービタ。
The specific event detection means counts the number of the first bus acquisition requests and the number of the second bus acquisition requests within a predetermined time, thereby determining the frequency of the first bus acquisition requests and the second bus acquisition requests. Find the frequency of bus acquisition requests
The bus arbiter according to claim 1.
前記バス獲得制御手段は、前記特定事象検知信号を取得すると、前記第二のバスマスタの前記第二のバス獲得要求によりバス獲得要求がマスクされない第三のバスマスタに第三のバス獲得要求を発生させる、
ことを特徴とする請求項1又は2記載のバスアービタ。
When the specific event detection signal is acquired, the bus acquisition control unit generates a third bus acquisition request from a third bus master whose bus acquisition request is not masked by the second bus acquisition request of the second bus master. ,
The bus arbiter according to claim 1 or 2, characterized by the above.
前記バス獲得制御部が前記第三のバスマスタに前記第三のバス獲得要求を発生させる際、前記バス獲得制御部は前記第三のバスマスタに、前記第三のバス獲得要求にダミーであること示すダミーヘッダを付加させる、
ことを特徴とする、請求項3記載のバスアービタ。
When the bus acquisition control unit causes the third bus master to generate the third bus acquisition request, the bus acquisition control unit indicates to the third bus master that the third bus acquisition request is a dummy. Add a dummy header,
The bus arbiter according to claim 3, wherein
前記ダミーヘッダを検出した場合、前記第三のバス獲得要求に基づくバスの獲得要求を調停することなく前記第三のバス獲得要求を破棄する、
ことを特徴とする、請求項4記載のバスアービタ。
If the dummy header is detected, discard the third bus acquisition request without arbitrating the bus acquisition request based on the third bus acquisition request;
The bus arbiter according to claim 4, wherein
前記バス獲得要求監視手段、又は、前記特定事象検知手段のうち、少なくとも1つを停止させることができる機能停止手段を有する、
ことを特徴とする、請求項1〜5いずれか1項記載のバスアービタ。
A function stop unit capable of stopping at least one of the bus acquisition request monitoring unit or the specific event detection unit;
The bus arbiter according to any one of claims 1 to 5, wherein
任意の前記基準の判定条件を記憶する判定条件記憶手段を有し、
前記特定事象検知手段は、前記判定条件記憶手段に記憶された判定条件に基づき特定事象を検知する、
ことを特徴とする、請求項1〜6いずれか1項記載のバスアービタ。
A determination condition storage means for storing a determination condition of an arbitrary reference,
The specific event detection means detects a specific event based on the determination condition stored in the determination condition storage means;
The bus arbiter according to any one of claims 1 to 6, wherein
請求項1〜7いずれか1項記載のバスアービタと、
複数のバスマスタと、
バスを介して接続されたメモリと、
バス獲得要求を調停した前記バスアービタからの指示により、前記メモリにアクセスするメモリコントローラと、
を有するバスアービタシステム。
The bus arbiter according to any one of claims 1 to 7,
Multiple bus masters,
A memory connected via a bus;
A memory controller that accesses the memory according to an instruction from the bus arbiter that arbitrated a bus acquisition request;
A bus arbiter system.
共通のバスに接続されている複数のバスマスタからのバス獲得要求を、予め設定されている各バスマスタの優先度に基づき調停するバスアービタの処理方法であって、
バス獲得要求監視手段が、優先度が最も高い第一のバスマスタからの第一のバス獲得要求、及び、前記第一のバスマスタと同等の優先度である第二のバスマスタからの第二のバス獲得要求を監視するステップと、
特定事象検知手段が、前記バス獲得要求監視手段の監視結果を取得して、前記第一のバス獲得要求の頻度及び前記第二のバス獲得要求の頻度が予め定められた基準を満たす特定事象を検知するステップと、
バス獲得制御手段が、前記特定事象検知手段から特定事象検知信号を取得して、前記第二のバス獲得要求の頻度を制限するステップと、
を有するバスアービタの処理方法。
A bus arbiter processing method for arbitrating bus acquisition requests from a plurality of bus masters connected to a common bus based on a preset priority of each bus master,
The bus acquisition request monitoring means obtains the first bus acquisition request from the first bus master having the highest priority and the second bus acquisition from the second bus master having the same priority as the first bus master. Monitoring the request;
The specific event detection means acquires a monitoring result of the bus acquisition request monitoring means, and detects a specific event in which the frequency of the first bus acquisition request and the frequency of the second bus acquisition request satisfy a predetermined standard. Detecting step;
A bus acquisition control means for acquiring a specific event detection signal from the specific event detection means and limiting the frequency of the second bus acquisition request;
A method for processing a bus arbiter having
JP2011194289A 2011-09-06 2011-09-06 Bus arbiter, bus arbiter system and processing method of bus arbiter Withdrawn JP2013054699A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011194289A JP2013054699A (en) 2011-09-06 2011-09-06 Bus arbiter, bus arbiter system and processing method of bus arbiter

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011194289A JP2013054699A (en) 2011-09-06 2011-09-06 Bus arbiter, bus arbiter system and processing method of bus arbiter

Publications (1)

Publication Number Publication Date
JP2013054699A true JP2013054699A (en) 2013-03-21

Family

ID=48131599

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011194289A Withdrawn JP2013054699A (en) 2011-09-06 2011-09-06 Bus arbiter, bus arbiter system and processing method of bus arbiter

Country Status (1)

Country Link
JP (1) JP2013054699A (en)

Similar Documents

Publication Publication Date Title
US7398335B2 (en) Method and system for DMA optimization in host bus adapters
JP5546635B2 (en) Data transfer apparatus and control method thereof
US20120042105A1 (en) Bus arbitration apparatus
US11163711B2 (en) Memory access system, method for controlling the same, computer-readable storage medium, and image forming apparatus
US20060053236A1 (en) Method and system for optimizing DMA channel selection
US9600426B2 (en) Bus control device, image processing apparatus, and bus control method
US20130254444A1 (en) Image processing apparatus
JP3895610B2 (en) Image forming apparatus and image forming method
JP5293283B2 (en) Semiconductor integrated circuit and memory access control method
JP6175794B2 (en) Data processing apparatus and data processing method
CN114328350B (en) AXI bus-based communication method, device and medium
US10558237B2 (en) Information processing apparatus
US10996904B2 (en) Network control device, image forming apparatus, control method of network control device, and non-transitory recording medium
US8468282B2 (en) Arbitration device, arbitration method, image processing device, and image forming system
JP2015128207A (en) Image reading device, image reading method, and program
JP2013054699A (en) Bus arbiter, bus arbiter system and processing method of bus arbiter
JP2008027245A (en) Memory access controller and memory access control method
JP2009043089A (en) Bus control device and bus control method
US9146776B1 (en) Systems and methods for controlling flow of message signaled interrupts
JP2005004563A (en) Dma transfer controller
US8713205B2 (en) Data transfer device and data transfer method
EP2141606B1 (en) Apparatus and method for processing high speed data using hybrid DMA
JP2004355435A (en) Access arbitration device
US20230273890A1 (en) Host controller and bus-attached peripheral device power consumption reduction
JP2023135315A (en) Controller, image forming apparatus, and access arbitration method

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20141202