[go: up one dir, main page]

JP2007026284A - Data processor - Google Patents

Data processor Download PDF

Info

Publication number
JP2007026284A
JP2007026284A JP2005210004A JP2005210004A JP2007026284A JP 2007026284 A JP2007026284 A JP 2007026284A JP 2005210004 A JP2005210004 A JP 2005210004A JP 2005210004 A JP2005210004 A JP 2005210004A JP 2007026284 A JP2007026284 A JP 2007026284A
Authority
JP
Japan
Prior art keywords
bus
initiator
target
level
initiators
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
JP2005210004A
Other languages
Japanese (ja)
Inventor
Kazumasa Kunugi
和正 功刀
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.)
Olympus Corp
Original Assignee
Olympus Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Olympus Corp filed Critical Olympus Corp
Priority to JP2005210004A priority Critical patent/JP2007026284A/en
Publication of JP2007026284A publication Critical patent/JP2007026284A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Bus Control (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a data processor capable of preventing reduction of processing performance of the whole system using a plurality of buses. <P>SOLUTION: A traffic monitoring unit 3 monitors a traffic state of each the bus, and changes over a transfer bus for data. When a traffic amount of a bus 1A is less than a value of a bus 1B when an initiator M_A1 accesses a target T_A1, the initiator M_A1 and the bus 1A are connected, the target T_A1 and the bus 1A are connected, and the initiator M_A1 is made to access the target T_A1 via the bus 1A. When the traffic amount of the bus 1A exceeds a threshold value and when a traffic amount of the bus 1B is not more than the threshold value, the initiator M_A1 and the bus 1B are connected, the target T_A1 and the bus 1B are connected, and the initiator M_A1 is made to access the target T_A1 via the bus 1B. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、データ処理装置に関し、特に、複数のバスを用いてデータ処理を行うデータ処理装置に関する。   The present invention relates to a data processing device, and more particularly to a data processing device that performs data processing using a plurality of buses.

近年、デジタルカメラ等の画像処理システムに代表されるデータ処理装置には、高機能化と高速処理の両立が求められており、更に、装置のコストをより安価で実現させたい要求も益々高まっている。現状、かかる要求をシステムLSI(Large Scale Integration)で解決するケースが大半を占めている。   In recent years, data processing apparatuses represented by image processing systems such as digital cameras have been required to achieve both high functionality and high-speed processing, and more and more demands have been made to realize apparatus costs at a lower cost. Yes. At present, the majority of cases where such requirements are solved by system LSI (Large Scale Integration).

従来、デジタルカメラ等に代表される画像処理装置向けのシステムLSIアーキテクチャに関しては、複数のイニシエータ(画像処理エンジン、CPU(Central Processing Unit)等)と、これらイニシエータがアクセスするターゲット(フレームメモリ等)をデータバスに接続し、複数のイニシエータが、バスの使用権をシェアリングしてターゲットとデータのやり取りを行う構成が一般的である。こうした場合、複数のイニシエータのバス使用許諾の優先順位は予め設定されているケースが一般的である。   Conventionally, regarding a system LSI architecture for an image processing apparatus represented by a digital camera or the like, a plurality of initiators (image processing engine, CPU (Central Processing Unit), etc.) and targets (frame memory, etc.) accessed by these initiators In general, a plurality of initiators are connected to a data bus and share the bus usage right to exchange data with the target. In such a case, the priorities of bus use permission of a plurality of initiators are generally set in advance.

図5は、従来のバスアーキテクチャ構造を示す。この例では、1つのバス101に対して、3つのイニシエータM_A101、M_A102、M_A103と、1つのターゲットT_A101が設けられる。   FIG. 5 shows a conventional bus architecture structure. In this example, for one bus 101, three initiators M_A101, M_A102, M_A103 and one target T_A101 are provided.

このように、1つのバス101に、複数のイニシエータM_A101、M_A102、M_A103と、ターゲットT_A101とが接続される構成では、複数のイニシエータから同時にバスの要求が発生する場合がある。そこで、アービタ102により、予め設定された優先順位に従って、バスの調停が行われる。   As described above, in a configuration in which a plurality of initiators M_A101, M_A102, M_A103, and a target T_A101 are connected to one bus 101, bus requests may be generated simultaneously from a plurality of initiators. Therefore, the arbiter 102 performs bus arbitration according to a preset priority order.

つまり、イニシエータM_A101、イニシエータM_A102、イニシエータM_A103は、バス101を使用する際に、アービタ102にバスリクエストR_A101、R_A102、R_A103を送出する。   That is, the initiator M_A 101, initiator M_A 102, and initiator M_A 103 send bus requests R_A 101, R_A 102, and R_A 103 to the arbiter 102 when using the bus 101.

アービタ102は、複数のイニシエータからバスリクエストが送られてきた場合には、予め設定された優先順位に従って、最も優先順位の高いイニシエータにバスグラントG_A101、G_A102、G_A103を返す。   When bus requests are sent from a plurality of initiators, the arbiter 102 returns bus grants G_A101, G_A102, and G_A103 to the initiator with the highest priority according to a preset priority.

イニシエータM_A101、M_A102、M_A103は、アービタ102からのバスグラントG_A101、G_A102、G_A103を受け取ると、バス101を介して、ターゲットT_A101をアクセスすることができる。   When the initiators M_A101, M_A102, and M_A103 receive the bus grants G_A101, G_A102, and G_A103 from the arbiter 102, they can access the target T_A101 via the bus 101.

図6〜図8は、図5に示すアーキテクチャにおけるバス101の構成を示すものであり、図6は、ターゲットT_A101に向けたアドレスセレクト部である。   6 to 8 show the configuration of the bus 101 in the architecture shown in FIG. 5, and FIG. 6 shows an address select unit directed to the target T_A101.

図6において、A101_A(m)、A102_A(m)、A103_A(m)は、それぞれ、イニシエータM_A101、イニシエータM_A102、イニシエータM_A103より出力されるmビットのアドレス線である。G_A101、G_A102、G_A103は、アービタ102より出力されるバスグラントである。各々のバスグラントG_A101、G_A102、G_A103は、Hレベルで各々のイニシエータM_A101、M_A102、M_A103のバスの使用を許可し、Lレベルでバス使用禁止を示すものとする。   In FIG. 6, A101_A (m), A102_A (m), and A103_A (m) are m-bit address lines output from the initiator M_A101, initiator M_A102, and initiator M_A103, respectively. G_A101, G_A102, and G_A103 are bus grants output from the arbiter 102. Each of the bus grants G_A101, G_A102, and G_A103 is permitted to use the buses of the respective initiators M_A101, M_A102, and M_A103 at the H level, and indicates the bus use prohibition at the L level.

アドレス線A101_A(m)、A102_A(m)、A103_A(m)と、バスグラントG_A101、G_A102、G_A103を、それぞれ、AND回路121a、121b、121cで論理積を取り、このAND回路121a、121b、121c出力の論理和をOR回路122で取ることで、バスの使用が許可されたイニシエータのアドレス線S_A(m)を、ターゲットT_A101に出力する。   The address lines A101_A (m), A102_A (m), A103_A (m) and the bus grants G_A101, G_A102, G_A103 are ANDed by AND circuits 121a, 121b, 121c, respectively, and the AND circuits 121a, 121b, 121c are obtained. By taking the logical sum of the outputs by the OR circuit 122, the address line S_A (m) of the initiator permitted to use the bus is output to the target T_A101.

図7は、ターゲットT_A101に向けたデータセレクト部である。A101_WD(n)、A102_WD(n)、A103_WD(n)は、それぞれ、イニシエータM_A101、イニシエータM_A102、イニシエータM_A103より出力されるnビットのデータ線である。データ線A101_WD(n)、A102_WD(n)、A103_WD(n)と、バスグラントG_A101、G_A102、G_A103の論理積をそれぞれAND回路131a、131b、131cで取り、このAND回路131a、131b、131cの出力の論理和をOR回路132で取ることで、バスの使用が許可されたイニシエータのデータ線S_WD(n)を、ターゲットT_A101に出力する。   FIG. 7 shows a data selection unit directed to the target T_A101. A101_WD (n), A102_WD (n), and A103_WD (n) are n-bit data lines output from the initiator M_A101, initiator M_A102, and initiator M_A103, respectively. The AND of the data lines A101_WD (n), A102_WD (n), A103_WD (n) and the bus grants G_A101, G_A102, G_A103 are taken by AND circuits 131a, 131b, 131c, respectively, and the outputs of the AND circuits 131a, 131b, 131c Is output by the OR circuit 132, and the data line S_WD (n) of the initiator permitted to use the bus is output to the target T_A101.

図8は、ターゲットT_A101に向けたメモリ制御信号セレクト部である。A101_XWR、A102_XWR、A103_XWRは、それぞれ、イニシエータM_A101、イニシエータM_A102、イニシエータM_A103より出力されるターゲットT_A101のメモリ用リード/ライト制御信号線である。信号レベルは、HレベルでターゲットT_A101へのリード、Lでライトとする。   FIG. 8 shows a memory control signal selector for the target T_A101. A101_XWR, A102_XWR, and A103_XWR are memory read / write control signal lines for the target T_A101 output from the initiator M_A101, initiator M_A102, and initiator M_A103, respectively. The signal level is H level for reading to the target T_A 101 and L for writing.

制御信号線A101_XWR、A102_XWR、A103_XWRの反転と、バスグラントG_A101、G_A102、G_A103を、それぞれ、NAND回路141a、141b、141cで論理積を取り、このNAND回路141a、141b、141cの出力の論理積をAND回路142で取ることで、ターゲットT_A101のメモリ用リード/ライト制御信号線S_XWRを出力する。   NAND of the control signal lines A101_XWR, A102_XWR, A103_XWR and the bus grants G_A101, G_A102, G_A103 are obtained by the NAND circuits 141a, 141b, 141c, respectively, and the logical product of the outputs of the NAND circuits 141a, 141b, 141c is obtained. By taking the AND circuit 142, the memory read / write control signal line S_XWR of the target T_A101 is output.

上述の従来のバスアーキテクチャの動作について、図9を参照して説明する。図9は、図5に示した複数イニシエータM_A101、M_A102、M_A103からなるアーキテクチャの動作を示すものである。ここでは、イニシエータのバス使用優先度は、イニシエータM_A101が最も高く、次にイニシエータM_A102で、イニシエータM_A103が最も優先度が低いものとする。   The operation of the above-described conventional bus architecture will be described with reference to FIG. FIG. 9 shows an operation of the architecture including the multiple initiators M_A101, M_A102, and M_A103 shown in FIG. Here, it is assumed that the initiator bus use priority is the highest for the initiator M_A101, the initiator M_A102 next, and the initiator M_A103 having the lowest priority.

図9(A)、図9(F)、図9(K)は、イニシエータM_A101、イニシエータM_A102、イニシエータM_A103からアービタ102に送られるバスリクエストR_A101、R_A102、R_A103を示し、Hレベルでリクエスト状態を示す。   FIGS. 9A, 9F, and 9K show bus requests R_A101, R_A102, and R_A103 sent from the initiator M_A101, initiator M_A102, and initiator M_A103 to the arbiter 102, and indicate the request state at the H level. .

図9(B)、図9(G)、図9(L)は、アービタ102からイニシエータM_A101、イニシエータM_A102、イニシエータM_A103に返されるバスグラントG_A101、G_A102、G_A103を示し、Hレベルでバス利用許可状態を示す。   FIGS. 9B, 9G, and 9L show bus grants G_A101, G_A102, and G_A103 returned from the arbiter 102 to the initiator M_A101, the initiator M_A102, and the initiator M_A103, and the bus use permission state at the H level. Indicates.

図9(C)、図9(H)、図9(M)は、イニシエータM_A101、イニシエータM_A102、イニシエータM_A103がアクセスするターゲットのアドレスを示す。   FIG. 9C, FIG. 9H, and FIG. 9M show the addresses of the targets that the initiator M_A101, initiator M_A102, and initiator M_A103 access.

図9(D)、図9(I)、図9(N)は、イニシエータM_A101、イニシエータM_A102、イニシエータM_A103がターゲットに対するアクセスするデータを示す。   FIG. 9D, FIG. 9I, and FIG. 9N show data that the initiator M_A 101, initiator M_A 102, and initiator M_A 103 access to the target.

図9(E)、図9(J)、図9(O)は、イニシエータM_A101、イニシエータM_A102、イニシエータM_A103がアクセスするターゲットのリード/ライト制御信号を示すもので、Lレベルでライト、Hレベルでリードである。   FIGS. 9E, 9J, and 9O show read / write control signals for targets accessed by the initiator M_A101, the initiator M_A102, and the initiator M_A103, and write at the L level and write at the H level. Lead.

図9(P)、図9(Q)、図9(R)は、選択されたアドレスと、データと、ターゲットのリード/ライトを示す。   FIGS. 9 (P), 9 (Q), and 9 (R) show the selected address, data, and target read / write.

例えば、時刻t1で、図9(A)、図9(F)、図9(K)に示すように、イニシエータM_A101、イニシエータM_A102、イニシエータM_A103から同時に、バスリクエストR_A101、R_A102、R_A103が出力されたとする。このように同時にバスリクエストが発生すると、アービタ102は、最も優先度の高いイニシエータに、バスグラントを送る。この場合、イニシエータM_A101の優先度が最も高いので、図9(B)に示すように、アービタ102は、先ず、イニシエータM_A101にバスグラントG_A101を送る。   For example, at time t1, as shown in FIGS. 9A, 9F, and 9K, the bus requests R_A101, R_A102, and R_A103 are simultaneously output from the initiator M_A101, the initiator M_A102, and the initiator M_A103. To do. When bus requests are generated at the same time, the arbiter 102 sends a bus grant to the initiator with the highest priority. In this case, since the priority of the initiator M_A101 is the highest, as shown in FIG. 9B, the arbiter 102 first sends the bus grant G_A101 to the initiator M_A101.

バスグラントG_A101を受け取ったイニシエータM_A101は、バス101を介して、ターゲットT_A101のアクセスを行う。このとき、イニシエータM_A101は、図9(C)、図9(D)、図9(E)に示すように、アドレス線A101_A(m)がアドレスA101となり、データ線A101_WD(n)がデータD101となり、リード/ライト制御信号がライト(Lレベル)となっている。これに基づいて、図9(P)、図9(Q)、図9(R)に示すように、使用許可のアドレス線S_A(m)がアドレスA101となり、使用許可のデータ線S_WDがデータD101となり、ターゲットがライトに設定される。   The initiator M_A 101 that has received the bus grant G_A 101 accesses the target T_A 101 via the bus 101. At this time, as shown in FIGS. 9C, 9D, and 9E, the initiator M_A101 has the address line A101_A (m) as the address A101 and the data line A101_WD (n) as the data D101. The read / write control signal is write (L level). Based on this, as shown in FIGS. 9 (P), 9 (Q), and 9 (R), the use-permitted address line S_A (m) becomes the address A101, and the use-permitted data line S_WD becomes the data D101. And the target is set to light.

このように、イニシエータM_A101によりバス101が使用されている間、イニシエータM_A102又はイニシエータM_A103のターゲットT_A101へのアクセスは、ウェイト状態になる。   Thus, while the bus 101 is being used by the initiator M_A 101, the access to the target T_A 101 by the initiator M_A 102 or the initiator M_A 103 is in a wait state.

時刻t2で、イニシエータM_A101のターゲットT_A101へのアクセスが完了すると、図9(G)に示すように、アービタ102は、次に優先度が高いイニシエータM_A102にバスグラントG_A102を送る。   When the access of the initiator M_A 101 to the target T_A 101 is completed at time t2, as shown in FIG. 9G, the arbiter 102 sends the bus grant G_A 102 to the initiator M_A 102 having the next highest priority.

バスグラントG_A102を受け取ったイニシエータM_A102は、バス101を介して、ターゲットT_A101のアクセスを行う。このとき、図9(H)、図9(I)、図9(J)に示すように、イニシエータM_A102は、アドレス線A102_A(m)がアドレスA102となり、データ線A102_WD(n)がデータD102となり、リード/ライト制御信号がリードとライトの繰り返し(LレベルとHレベルの繰り返し)となっている。これに基づいて、図9(P)、図9(Q)、図9(R)に示すように、使用許可のアドレス線S_A(m)がアドレスA102となり、使用許可のデータ線S_WDがデータD102となり、ターゲットがリードとライトの繰り返しに設定される。   The initiator M_A 102 that has received the bus grant G_A 102 accesses the target T_A 101 via the bus 101. At this time, as shown in FIGS. 9H, 9I, and 9J, the initiator M_A102 has the address line A102_A (m) as the address A102 and the data line A102_WD (n) as the data D102. The read / write control signal repeats reading and writing (repetition of L level and H level). Based on this, as shown in FIGS. 9 (P), 9 (Q), and 9 (R), the use-permitted address line S_A (m) becomes the address A102, and the use-permitted data line S_WD becomes the data D102. Thus, the target is set to repeat reading and writing.

このように、イニシエータM_A102によりバス101が使用されている間、イニシエータM_A103のターゲットT_A101へのライトアクセスはウェイト状態になる。   Thus, while the bus 101 is used by the initiator M_A102, the write access to the target T_A101 of the initiator M_A103 is in a wait state.

時刻t3で、イニシエータM_A102のターゲットT_A101へのアクセスが完了すると、図9(L)に示すように、アービタ102は、次に優先度が高いイニシエータM_A103にバスグラントG_A103を送る。   When the access of the initiator M_A102 to the target T_A101 is completed at time t3, as shown in FIG. 9L, the arbiter 102 sends the bus grant G_A103 to the next highest priority initiator M_A103.

バスグラントG_A103を受け取ったイニシエータM_A103は、バス101を介して、ターゲットT_A101のアクセスを行う。このとき、イニシエータM_A103は、図9(M)、図9(N)、図9(O)に示すように、アドレス線A103_A(m)がアドレスA103になり、データ線A103_WD(n)がデータD103となり、リード/ライト制御信号がリード(Hレベル)となっている。これに基づいて、図9(P)、図9(Q)、図9(R)に示すように、使用許可のアドレス線S_A(m)がアドレスA103となり、使用許可のデータ線S_WDがデータD103となり、ターゲットがリードに設定される。   The initiator M_A 103 that has received the bus grant G_A 103 accesses the target T_A 101 via the bus 101. At this time, as shown in FIGS. 9 (M), 9 (N), and 9 (O), the initiator M_A103 has the address line A103_A (m) as the address A103 and the data line A103_WD (n) as the data D103. Thus, the read / write control signal is read (H level). Based on this, as shown in FIGS. 9 (P), 9 (Q), and 9 (R), the use-permitted address line S_A (m) becomes the address A103, and the use-permitted data line S_WD becomes the data D103. And the target is set to lead.

この構成を適用した例として、例えばデジタルカメラシステムの全体シーケンスを説明する。   As an example to which this configuration is applied, for example, an entire sequence of a digital camera system will be described.

前述したイニシエータM_A101のターゲットT_A101へのアクセスは、図示しない撮像モジュールからの撮像データを1フレーム分ターゲットT_A101に転送するデータ処理である。前述したイニシエータM_A102のアクセスは、ターゲットT_A101にある1フレーム分の画像データを任意の処理単位で読み出し、このデータをイニシエータM_A102内で画像処理し、ターゲットT_A101に書き戻す期間である。イニシエータM_A102内の処理内容については割愛する。前述したイニシエータM_A103のアクセスは、ターゲットT_A101内にある画像処理後のデータを図示しない外部記憶装置等に転送する期間である。   The above-described access of the initiator M_A101 to the target T_A101 is data processing for transferring image data from an imaging module (not shown) for one frame to the target T_A101. The above-described access of the initiator M_A102 is a period in which image data for one frame in the target T_A101 is read in an arbitrary processing unit, this data is image-processed in the initiator M_A102, and written back to the target T_A101. The processing contents in the initiator M_A 102 are omitted. The above-described access of the initiator M_A 103 is a period in which data after image processing in the target T_A 101 is transferred to an external storage device (not shown) or the like.

以上の期間を全て経ることで、撮影から記録までの一連のシステムシーケンスを終了する。   A series of system sequence from shooting to recording is completed by passing through the above-described period.

以上の従来方式は、特にシステムLSIによる高集積化に最適なアーキテクチャであり、高いコストパフォーマンスを実現している。しかしながら、今後、更なるシステムの高機能化に伴って、より多くのイニシエータ及びこれらに伴うターゲットの実装が要求されることになった場合、従来方式を活用した処理装置では、そのリアルタイム性能が著しく低下することが懸念されている。   The above conventional system is an architecture that is particularly suitable for high integration by a system LSI and realizes high cost performance. However, in the future, as more systems become more sophisticated, when more initiators and targets associated therewith are required, the real-time performance of the processing apparatus using the conventional method is remarkably high. There is concern about the decline.

こうした問題を解決するため、例えば特許文献1に示されるように、複数バスを駆使したシステムアーキテクチャが考えられている。   In order to solve such problems, for example, as shown in Patent Document 1, a system architecture using a plurality of buses is considered.

図10には、前述した従来方式を2バスにした構成を示す。この例では、独立した2つのバス201A、201Bが設けられる。   FIG. 10 shows a configuration in which the above-described conventional system is made into two buses. In this example, two independent buses 201A and 201B are provided.

バス201Aに対して、イニシエータM_A201、M_A202、M_A203と、ターゲットT_A201が設けられる。アービタ202Aは、予め設定された優先順位に従って、バス201Aの調停を行っている。   An initiator M_A201, M_A202, M_A203 and a target T_A201 are provided for the bus 201A. The arbiter 202A arbitrates the bus 201A according to a preset priority order.

バス201Bに対して、イニシエータM_B201、M_B202、M_B203と、ターゲットT_B201が設けられる。アービタ202Bは、予め設定された優先順位に従って、バス201Bの調停を行っている。   An initiator M_B201, M_B202, M_B203, and a target T_B201 are provided for the bus 201B. The arbiter 202B arbitrates the bus 201B according to a preset priority order.

このように、独立したバス構成にすることで、バス201Aに接続されたイニシエータM_A201、M_A202、M_A203と、バス201Bに接続されたイニシエータM_B201、M_B202、M_B203とが並列に実行可能となり、処理性能の向上が図れる。   In this way, with the independent bus configuration, the initiators M_A201, M_A202, and M_A203 connected to the bus 201A and the initiators M_B201, M_B202, and M_B203 connected to the bus 201B can be executed in parallel, and processing performance is improved. Improvement can be achieved.

しかしながら、一般的に、各々のイニシエータに要求される、あるいは必然的に可能な処理時間は、イニシエータ固有のものである。更に、システム全体の処理性能は、バスに接続されたそれぞれのイニシエータ群の処理時間の総和である。従って、複数バスを用いたシステムになると、各々のバスに接続されるイニシエータ数を、共有ターゲットと処理内容と優先度を加味して適宜調整することで、システム全体に要求される処理性能を維持しなければならない。   However, in general, the processing time required or inevitably possible for each initiator is unique to the initiator. Furthermore, the processing performance of the entire system is the total processing time of each initiator group connected to the bus. Therefore, in a system using multiple buses, the number of initiators connected to each bus can be adjusted as appropriate by taking into account the shared target, processing contents, and priority, thereby maintaining the processing performance required for the entire system. Must.

しかしながら、バスの本数、イニシエータ及びターゲット数の増加に伴って、こうしたアーキテクチャ設計が益々困難になっている。   However, with the increase in the number of buses, the number of initiators, and the number of targets, such architectural design becomes more difficult.

このような設計上の課題を解決するために、更なる提案がされている。代表的な例として、特許文献2では、バスを複数持ち、マスターデバイスとターゲットデバイスのアクセス経路を複数用意することによって、バスのアビトレーションによるアクセスのロス時間を少なくしたバスシステムを実現している。また、特許文献2は、あるイニシエータがターゲットにアクセスしようとする際、アービタが使用されていないシステムバスを探し、未使用のバスを経由してイニシエータとターゲット間のアクセスを実現するものである。
特開2004−213142号公報 特開平7−210501号公報
In order to solve such design problems, further proposals have been made. As a typical example, Patent Document 2 realizes a bus system that has a plurality of buses and prepares a plurality of access paths between a master device and a target device, thereby reducing an access loss time due to bus arbitration. Japanese Patent Application Laid-Open No. 2004-228561 searches for a system bus in which an arbiter is not used when a certain initiator tries to access a target, and realizes access between the initiator and the target via an unused bus.
JP 2004-213142 A JP-A-7-210501

特許文献2に代表される複数バスを用いたアーキテクチャ構成においても、バスの使用状態を調べた際、どのバスも使用中であるケースが多く存在する。こうした場合、このような方式では、未使用のバスが発見され次第、そのバスを用いたイニシエータとターゲットの接続を行う。   Even in an architecture configuration using a plurality of buses typified by Patent Document 2, there are many cases where any bus is in use when the use state of the bus is examined. In such a case, in such a system, as soon as an unused bus is found, the initiator and target are connected using the bus.

しかしながら、かかるバスのデータトラフィック量から判断した場合、必ずしも最適なバス選択ではないことが多い。すなわち、複数のバスからなるアーキテクチャでは、1つのバスにトラフィックが偏らないように、なるべくトラフィック量が少ないバスを使用することが理想的である。しかしながら、特許文献2の方式では、未使用のバスを発見してイニシエータとターゲットの接続を行うものであり、未使用の期間が生じるバスが常にトラフィック量が少ないバスであるとは限らない。   However, when judging from the amount of data traffic on the bus, it is often not always the optimum bus selection. That is, in an architecture composed of a plurality of buses, it is ideal to use a bus with as little traffic as possible so that traffic is not concentrated on one bus. However, in the method of Patent Document 2, an unused bus is found and an initiator and a target are connected, and a bus in which an unused period is generated is not always a bus with a small amount of traffic.

本発明は、以上の課題を解決するためになされたものであり、複数バスを用いたシステム全体の処理性能の低下を防ぐことが可能なデータ処理装置を提供することを目的とする。   The present invention has been made to solve the above-described problems, and an object of the present invention is to provide a data processing apparatus capable of preventing a decrease in processing performance of the entire system using a plurality of buses.

上述の課題を解決するために、請求項1の発明に係るデータ処理装置は、複数のイニシエータとターゲットが接続される複数のバスの各バスに対し、複数のイニシエータによるアクセスの頻度を監視するバストラフィック監視手段と、バストラフィック監視手段による監視結果に応じ、複数のバスから、ある1つのイニシエータと、このイニシエータとの間でデータの転送を行うターゲットとの間のデータ転送を仲介する1つのバスを選択して設定するバス設定手段と、設定されたバスに対し、データの転送を行うイニシエータとターゲットとを接続する接続手段とを有することを特徴とする。   In order to solve the above-described problem, a data processing apparatus according to claim 1 is a bus that monitors the frequency of access by a plurality of initiators for each of a plurality of buses to which a plurality of initiators and a target are connected. One bus that mediates data transfer between a certain initiator and a target that transfers data between the initiators from a plurality of buses according to the monitoring result of the traffic monitoring unit and the bus traffic monitoring unit And a bus setting means for selecting and setting, and a connection means for connecting an initiator and a target for transferring data to the set bus.

請求項2の発明では、バストラフィック監視手段は、イニシエータに対するバス許諾権信号の有効期間を積分する手段と、積分結果を所定の閾値と比較する手段とを有することを特徴とする。   According to a second aspect of the present invention, the bus traffic monitoring means includes means for integrating the valid period of the bus permission right signal for the initiator, and means for comparing the integration result with a predetermined threshold value.

請求項3の発明では、バストラフィック監視手段は、イニシエータより出力される割り込みイベントを計測する手段と、計測値を所定の閾値と比較する手段とを有することを特徴とする。   According to a third aspect of the present invention, the bus traffic monitoring means includes means for measuring an interrupt event output from the initiator, and means for comparing the measured value with a predetermined threshold value.

本発明によれば、複数のバスに対して複数のイニシエータとターゲットを接続し、バスのトラフィック状態を監視し、トラフィックの監視結果に応じて、イニシエータとターゲットとの間のデータの転送バスを切り換えている。すなわち、複数のバスから、トラフィックの少ないバスを選択している。これにより、複数のバスからなるアーキテクチャにおいて、1つのバスにトラフィックが集中することがなくなる。さらに、イニシエータ及びターゲットとバスの間に接続手段、例えば、セレクタを設け、トラフィック量を監視しながら接続手段により切り換えることでバスの切り換えが行われるため、トラフィック量を確実に反映できると共に、アーキテクチャ設計が複雑にならない。   According to the present invention, a plurality of initiators and targets are connected to a plurality of buses, the bus traffic state is monitored, and the data transfer bus between the initiator and the target is switched according to the traffic monitoring result. ing. That is, a bus with less traffic is selected from a plurality of buses. This prevents traffic from concentrating on one bus in an architecture composed of a plurality of buses. Furthermore, a connection means such as a selector is provided between the initiator and target and the bus, and the bus is switched by switching the connection means while monitoring the traffic volume, so that the traffic volume can be reflected reliably and the architecture design. Is not complicated.

以下、本発明の実施形態について図面を参照しながら説明する。
<第1の実施形態>
図1は、本発明の第1の実施形態を示すものである。この例では、8つのイニシエータM_A1〜M_A4、M_B1〜M_B4と、2つのターゲットT_A1、T_B1とが設けられ、これらのイニシエータM_A1〜M_A4、M_B1〜M_B4とターゲットT_A1、T_B1とを接続するバスとして、2つのバス1A及び1Bが設けられる。
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
<First Embodiment>
FIG. 1 shows a first embodiment of the present invention. In this example, eight initiators M_A1 to M_A4 and M_B1 to M_B4 and two targets T_A1 and T_B1 are provided. Two buses 1A and 1B are provided.

セレクタSEL1は、イニシエータM_A1と、バス1A又は1Bとを選択的に接続するためのセレクタである。セレクタSEL1は、セレクト信号S1により切り換えられる。セレクト信号S1がLレベルの時にはイニシエータM_A1とバス1Aとが接続され、セレクト信号S1がHレベルの時にはイニシエータM_A1とバス1Bとが接続される。   The selector SEL1 is a selector for selectively connecting the initiator M_A1 and the bus 1A or 1B. The selector SEL1 is switched by a select signal S1. When the select signal S1 is at L level, the initiator M_A1 and the bus 1A are connected, and when the select signal S1 is at H level, the initiator M_A1 and the bus 1B are connected.

セレクタSEL2は、イニシエータM_B2と、バス1B又は1Aとを選択的に接続するためのセレクタである。セレクタSEL2は、セレクト信号S2により切り換えられる。セレクト信号S2がLレベルの時にはイニシエータM_B2がバス1Bと接続され、セレクト信号S2がHレベルの時にはイニシエータM_B2とバス1Aとが接続される。   The selector SEL2 is a selector for selectively connecting the initiator M_B2 and the bus 1B or 1A. The selector SEL2 is switched by a select signal S2. When the select signal S2 is at L level, the initiator M_B2 is connected to the bus 1B, and when the select signal S2 is at H level, the initiator M_B2 and the bus 1A are connected.

セレクタSEL3は、ターゲットT_A1と、バス1A又は1Bとを選択的に接続するためのセレクタである。セレクタSEL3は、セレクト信号S1により切り換えられる。セレクト信号S1がLレベルの時にはターゲットT_A1とバス1Aとが接続され、セレクト信号S1がHレベルの時にはターゲットT_A1とバス1Bとが接続される。   The selector SEL3 is a selector for selectively connecting the target T_A1 and the bus 1A or 1B. The selector SEL3 is switched by a select signal S1. When the select signal S1 is at L level, the target T_A1 and the bus 1A are connected. When the select signal S1 is at H level, the target T_A1 and the bus 1B are connected.

セレクタSEL4は、ターゲットT_B1と、バス1B又は1Aとを選択的に接続するためのセレクタである。セレクタSEL4は、セレクト信号S2により切り換えられる。セレクト信号S2がLレベルの時にはターゲットT_B1とバス1Bとが接続され、セレクト信号S2がHレベルの時にはターゲットT_B1とバス1Aとが接続される。   The selector SEL4 is a selector for selectively connecting the target T_B1 and the bus 1B or 1A. The selector SEL4 is switched by a select signal S2. When the select signal S2 is at L level, the target T_B1 and the bus 1B are connected, and when the select signal S2 is at H level, the target T_B1 and the bus 1A are connected.

イニシエータM_A1、イニシエータM_A2、イニシエータM_A3、イニシエータM_A4からそれぞれ出力されるR_A1、R_A2、R_A3、R_A4は、図示しないアービタに入力されるバスリクエストである。信号レベルは、Hでバスリクエストである。   R_A1, R_A2, R_A3, and R_A4 output from the initiator M_A1, initiator M_A2, initiator M_A3, and initiator M_A4, respectively, are bus requests input to an arbiter (not shown). The signal level is H and a bus request.

イニシエータM_A1、イニシエータM_A2、イニシエータM_A3、イニシエータM_A4にそれぞれ入力されるG_A1、G_A2、G_A3、G_A4は図示しないアービタより出力されるバス1Aに対するバスグラントである。信号レベルは、Hでバス利用許可である。   G_A1, G_A2, G_A3, and G_A4 respectively input to the initiator M_A1, initiator M_A2, initiator M_A3, and initiator M_A4 are bus grants for the bus 1A output from an arbiter (not shown). The signal level is H, and the bus use is permitted.

イニシエータM_B1、イニシエータM_B2、イニシエータM_B3、イニシエータM_B4よりそれぞれ出力されるR_B1、R_B2、R_B3、R_B4は図示しないアービタに入力されるバス1Bへのリクエストである。信号レベルは、Hでバスリクエストである。   R_B1, R_B2, R_B3, and R_B4 output from the initiator M_B1, initiator M_B2, initiator M_B3, and initiator M_B4 are requests to the bus 1B that are input to an arbiter (not shown). The signal level is H and a bus request.

イニシエータM_B1、イニシエータM_B2、イニシエータM_B3、イニシエータM_B4にそれぞれ入力されるG_B1、G_B2、G_B3、G_B4は図示しないアービタより出力されるバス1Bに対するグラントである。信号レベルは、Hでバス利用許可である。   G_B1, G_B2, G_B3, and G_B4 respectively input to the initiator M_B1, the initiator M_B2, the initiator M_B3, and the initiator M_B4 are grants for the bus 1B output from an arbiter (not shown). The signal level is H, and the bus use is permitted.

図示しないアービタは、複数のイニシエータからバスリクエストが送られてきた場合には、予め設定された優先順位に従って、最も優先順位の高いイニシエータにバスグラントを返す。アービタによるバスの調停については、従来と同様であるので、その説明は省略する。   When a bus request is sent from a plurality of initiators, an arbiter (not shown) returns a bus grant to the initiator with the highest priority according to a preset priority. Since the arbitration of the bus by the arbiter is the same as the conventional one, the description thereof is omitted.

トラフィック監視ユニット3は、バス1A及びバス1B上のイニシエータのバスグラントをモニタして、バスのトラフィック状態を監視している。そして、このトラフィック状態の結果によって、セレクト信号S1及びセレクト信号S2を生成し、セレクト信号S1をセレクタSEL1及びセレクタSEL3に送り、セレクト信号S2をセレクタSEL2及びセレクタSEL4に送っている。   The traffic monitoring unit 3 monitors the bus grant status of the initiator on the bus 1A and the bus 1B to monitor the traffic state of the bus. Then, a select signal S1 and a select signal S2 are generated according to the result of the traffic state, the select signal S1 is sent to the selector SEL1 and the selector SEL3, and the select signal S2 is sent to the selector SEL2 and the selector SEL4.

このように、この発明の第1の実施形態では、2つのバス1A及びバス1Bとが設けられている。バス1Aに対して、イニシエータM_A1、M_A2、M_A3、M_A4が設けられる。イニシエータM_A1は、セレクタSEL1により、バス1A又はバス1Bと接続可能とされている。   Thus, in the first embodiment of the present invention, two buses 1A and 1B are provided. Initiators M_A1, M_A2, M_A3, and M_A4 are provided for the bus 1A. The initiator M_A1 can be connected to the bus 1A or the bus 1B by the selector SEL1.

バス1Bに対して、イニシエータM_B1、M_B2、M_B3、M_B4が設けられる。イニシエータM_B2は、セレクタSEL2により、バス1B又はバス1Aと接続可能とされている。   Initiators M_B1, M_B2, M_B3, and M_B4 are provided for the bus 1B. The initiator M_B2 can be connected to the bus 1B or the bus 1A by the selector SEL2.

ターゲットT_A1は、セレクタSEL3により、バス1A又はバス1Bと接続可能とされている。ターゲットT_B1は、セレクタSEL4により、バス1B又はバス1Aと接続可能とされている。   The target T_A1 can be connected to the bus 1A or the bus 1B by the selector SEL3. The target T_B1 can be connected to the bus 1B or the bus 1A by the selector SEL4.

このような構成により、バス1A及びバス1Bのバストラフィック状況を適宜監視することで、より効率的なバスアクセスの経路を動的に変えることが可能となる。   With such a configuration, it is possible to dynamically change the path of more efficient bus access by appropriately monitoring the bus traffic status of the bus 1A and the bus 1B.

まず、イニシエータM_A1がターゲットT_A1をアクセスする場合の動作について説明する。   First, an operation when the initiator M_A1 accesses the target T_A1 will be described.

トラフィック監視ユニット3は、イニシエータM_A1以外のイニシエータのバス使用状況をモニタして、バス1A及びバス1Bのトラフィック状態を監視している。具体的には、バスグラントG_A1以外のバス1A上のバスグラントがHレベルの期間をモニタし、且つバス1B上のバスグラントがHレベルの期間をモニタし、このモニタ結果より、バス1Aとバス1Bの内どちらのバスが混雑しているかを判断し、これに応じて、セレクト信号S1のレベルを決定している。   The traffic monitoring unit 3 monitors the bus usage status of initiators other than the initiator M_A1, and monitors the traffic status of the bus 1A and the bus 1B. Specifically, the bus grant on the bus 1A other than the bus grant G_A1 is monitored for a period when the bus grant on the bus 1B is at the H level, and the bus grant on the bus 1B is monitored for the period of the H level. It is determined which of the buses 1B is congested, and the level of the select signal S1 is determined accordingly.

バス1Aのトラフィック量がバス1Bの値を下回っている場合、トラフィック監視ユニット3からのセレクト信号S1はLレベル(S1=L)となる。   When the traffic amount of the bus 1A is lower than the value of the bus 1B, the select signal S1 from the traffic monitoring unit 3 becomes L level (S1 = L).

セレクト信号S1がLレベルの時には、セレクタSEL1により、イニシエータM_A1とバス1Aとが接続される。また、セレクト信号S1がLレベルの時には、セレクタSEL3により、ターゲットT_A1とバス1Aとが接続される。このため、イニシエータM_A1は、経路W1、W2、W8、W15で示すように、バス1Aを介して、ターゲットT_A1とアクセスを行う。   When the select signal S1 is at the L level, the selector SEL1 connects the initiator M_A1 and the bus 1A. When the select signal S1 is at the L level, the selector SEL3 connects the target T_A1 and the bus 1A. Therefore, the initiator M_A1 accesses the target T_A1 via the bus 1A as indicated by paths W1, W2, W8, and W15.

これに対して、バス1Aのトラフィック量が閾値を越えており、バス1Bのトラフィック量が閾値以下の場合、トラフィック監視ユニット3からのセレクト信号S1はHレベル(S1=H)となる。   On the other hand, when the traffic amount of the bus 1A exceeds the threshold value and the traffic amount of the bus 1B is equal to or less than the threshold value, the select signal S1 from the traffic monitoring unit 3 becomes H level (S1 = H).

セレクト信号S1がHレベルになると、セレクタSEL1により、イニシエータM_A1とバス1Bとが接続される。また、セレクタSEL3により、ターゲットT_A1とバス1Bとが接続される。このため、イニシエータM_A1は、経路W1、W3、W7、W15で示すように、バス1Bを介して、ターゲットT_A1とアクセスを行う。   When the select signal S1 becomes H level, the selector SEL1 connects the initiator M_A1 and the bus 1B. Further, the target T_A1 and the bus 1B are connected by the selector SEL3. Therefore, the initiator M_A1 accesses the target T_A1 via the bus 1B as indicated by paths W1, W3, W7, and W15.

次に、イニシエータM_B2がターゲットT_B1のアクセスする場合の動作について説明する。   Next, an operation when the initiator M_B2 accesses the target T_B1 will be described.

トラフィック監視ユニット3は、イニシエータM_B2以外のイニシエータのバス使用状況をモニタして、バス1A及びバス1Bのトラフィック状態を監視している。具体的には、バスグラントG_B2以外のバス1B上のバスグラントがHレベルの期間をモニタし、且つバス1A上のバスグラントがHレベルの期間をモニタし、このモニタ結果より、どちらのバスが混雑しているかを判断し、セレクト信号S2のレベルを決定している。   The traffic monitoring unit 3 monitors the bus usage status of initiators other than the initiator M_B2, and monitors the traffic status of the bus 1A and the bus 1B. Specifically, the bus grant on the bus 1B other than the bus grant G_B2 is monitored for a period in which the bus grant on the bus 1A is at an H level, and the bus grant on the bus 1A is monitored for an H level. The level of the select signal S2 is determined by determining whether it is congested.

バス1Bのトラフィック量がバス1Aのトラフィック量を下回っている場合、セレクト信号S2はLレベル(S2=L)となる。セレクト信号S2がLレベルの時には、セレクタSEL2により、イニシエータM_B2とバス1Bとが接続される。また、セレクト信号S2がLレベルの時には、セレクタSEL4により、ターゲットT_B1とバス1Bとが接続される。このため、イニシエータM_B2は、経路W17、W12、W9、W16で示すように、バス1Bを介して、ターゲットT_B1とアクセスを行う。   When the traffic amount of the bus 1B is lower than the traffic amount of the bus 1A, the select signal S2 becomes L level (S2 = L). When the select signal S2 is at L level, the selector SEL2 connects the initiator M_B2 and the bus 1B. Further, when the select signal S2 is at the L level, the target T_B1 and the bus 1B are connected by the selector SEL4. Therefore, the initiator M_B2 accesses the target T_B1 via the bus 1B as indicated by paths W17, W12, W9, and W16.

これに対して、バス1Bのトラフィック量が閾値を越えており、バス1Aのトラフィック量が閾値以下の場合、セレクト信号S2はHレベル(S2=H)となる。セレクト信号S2がHレベルの時には、セレクタSEL2により、イニシエータM_B2とバス1Aとが接続される。また、セレクタSEL4によりターゲットT_B1とバス1Aとが接続される。このため、イニシエータM_B2は、経路W17、W11、W10、W16で示すように、バス1Aを介して、ターゲットT_B1とアクセスを行う。   On the other hand, when the traffic amount of the bus 1B exceeds the threshold value and the traffic amount of the bus 1A is equal to or less than the threshold value, the select signal S2 becomes H level (S2 = H). When the select signal S2 is at H level, the selector SEL2 connects the initiator M_B2 and the bus 1A. Further, the target T_B1 and the bus 1A are connected by the selector SEL4. Therefore, the initiator M_B2 accesses the target T_B1 via the bus 1A as indicated by paths W17, W11, W10, and W16.

このように、本発明の第1の実施形態では、所望のイニシエータが複数バスを介してターゲットへのアクセスを可能とする回路構成において、このバス1A及びバス1Bのバストラフィック状況を適宜監視することで、より効率的なバスアクセスの経路を動的に変えることが可能となる。   As described above, in the first embodiment of the present invention, the bus traffic status of the bus 1A and the bus 1B is appropriately monitored in a circuit configuration in which a desired initiator can access the target via a plurality of buses. Thus, a more efficient bus access route can be dynamically changed.

次に、トラフィック監視ユニット3の構成について説明する。図2は、トラフィック監視ユニット3の具体例を示すものである。なお、この例では、セレクト信号S1の生成回路について説明するが、セレクト信号S2の生成回路についても、同様にして構成できる。   Next, the configuration of the traffic monitoring unit 3 will be described. FIG. 2 shows a specific example of the traffic monitoring unit 3. In this example, the generation circuit of the select signal S1 will be described, but the generation circuit of the select signal S2 can be configured in the same manner.

図2において、イニシエータM_A2、M_A3、M_A4からのバスグラントG_A2、G_A3、G_A4の立ち上がりエッジ信号は、OR回路11に送られる。OR回路11の出力信号がカウンタ12のイネーブル端子に供給される。   In FIG. 2, the rising edge signals of the bus grants G_A 2, G_A 3, G_A 4 from the initiators M_A 2, M_A 3, M_A 4 are sent to the OR circuit 11. The output signal of the OR circuit 11 is supplied to the enable terminal of the counter 12.

このように、バスグラントG_A2、G_A3、G_A4の立ち上がりエッジ信号の論理和がカウンタ12のイネーブル端子に供給され、バスグラントG_A2、G_A3、G_A4の何れかがHレベルになると、カウンタ12がカウントイネーブル状態になる。このカウンタ12のカウント値から、バス1Aのバスグラントを有効期間積分した値、すなわち、バス1Aのイベント回数値に対応する値が求められる。   In this way, the logical sum of the rising edge signals of the bus grants G_A2, G_A3, and G_A4 is supplied to the enable terminal of the counter 12, and when any of the bus grants G_A2, G_A3, and G_A4 becomes the H level, the counter 12 is in the count enable state. become. From the count value of the counter 12, a value obtained by integrating the bus grant of the bus 1A during the valid period, that is, a value corresponding to the event count value of the bus 1A is obtained.

カウンタ12からのバス1Aのイベント回数に対応する値は、比較器13で、閾値設定回路14からの予め設定された閾値Aと比較される。カウンタ12で求められたイベント発生回数が閾値Aを上回れば、バス1Aのトラフィックは著しく多い又は多くなると判断し、比較器13の出力レベルはHレベルとなる。比較器13の出力は、比較器31に送られる。   A value corresponding to the number of events of the bus 1 </ b> A from the counter 12 is compared with a preset threshold A from the threshold setting circuit 14 by the comparator 13. If the number of event occurrences obtained by the counter 12 exceeds the threshold A, it is determined that the traffic on the bus 1A is significantly increased or increased, and the output level of the comparator 13 becomes H level. The output of the comparator 13 is sent to the comparator 31.

イニシエータM_B1、M_B2、M_B3、M_B4からのバスグラントG_B1、G_B2、G_B3、G_B4の立ち上がりエッジ信号は、OR回路21に送られる。OR回路21の出力信号がカウンタ22のイネーブル端子に供給される。   The rising edge signals of the bus grants G_B1, G_B2, G_B3, and G_B4 from the initiators M_B1, M_B2, M_B3, and M_B4 are sent to the OR circuit 21. The output signal of the OR circuit 21 is supplied to the enable terminal of the counter 22.

このように、バスグラントG_B1、G_B2、G_B3、G_B4の立ち上がりエッジ信号の論理和がカウンタ22のイネーブル端子に供給され、バスグラントG_B1、G_B2、G_B3、G_B4の何れかがHレベルになると、カウンタ22がカウントイネーブル状態になる。このカウンタ22のカウント値から、バス1Aのバスグラントを有効期間積分した値、すなわち、バス1Bのイベント回数に対応する値が求められる。   In this manner, the logical sum of the rising edge signals of the bus grants G_B1, G_B2, G_B3, and G_B4 is supplied to the enable terminal of the counter 22, and when any of the bus grants G_B1, G_B2, G_B3, and G_B4 becomes H level, the counter 22 Enters the count enable state. From the count value of the counter 22, a value obtained by integrating the bus grant of the bus 1A during the valid period, that is, a value corresponding to the number of events of the bus 1B is obtained.

カウンタ22からのバス1Bのイベント回数に対応する値は、比較器23で、閾値設定回路24からの予め設定された閾値Bと比較される。カウンタ22で求められたイベント発生回数が閾値Bを上回れば、バス1Bのトラフィックは著しく多い又は多くなると判断し、比較器23の出力レベルはHレベルとなる。比較器13の出力は、比較器31に送られる。   A value corresponding to the number of events of the bus 1B from the counter 22 is compared with a preset threshold B from the threshold setting circuit 24 by the comparator 23. If the number of event occurrences determined by the counter 22 exceeds the threshold value B, it is determined that the traffic on the bus 1B is significantly increased or increased, and the output level of the comparator 23 becomes H level. The output of the comparator 13 is sent to the comparator 31.

比較器31は、以下の条件(1)に基づいて、比較器13及び比較器23の出力から演算を行って、セレクト信号S1を発生する。   The comparator 31 performs an operation from the outputs of the comparator 13 and the comparator 23 based on the following condition (1) to generate the select signal S1.

条件(1):比較器13の出力信号がHレベルで、且つ、比較器23の出力信号がLレベルである。 Condition (1): The output signal of the comparator 13 is H level, and the output signal of the comparator 23 is L level.

条件(1)が成立している時、比較器13の出力信号がHレベルであるから、バス1Aのイベント発生回数が閾値Aを越えており、バス1Aのトラフィックは著しく多い又は多くなると判断できる。また、比較器23の出力信号がLレベルであるから、バス1Bのイベント発生回数が閾値Bより小さく、バス1Bのトラフィックは少ないと判断できる。   When the condition (1) is satisfied, the output signal of the comparator 13 is at the H level, so the number of event occurrences on the bus 1A exceeds the threshold value A, and it can be determined that the traffic on the bus 1A is significantly increased or increased. . Further, since the output signal of the comparator 23 is at the L level, it can be determined that the number of event occurrences on the bus 1B is smaller than the threshold value B and the traffic on the bus 1B is small.

よって、条件(1)が成立している時、セレクト信号S1はHレベル(S1=H)となり、イニシエータM_A1は、バス1Bを経由して、ターゲットT_A1へのアクセスを行い、バス1Aの待ち時間が回避される。   Therefore, when the condition (1) is satisfied, the select signal S1 becomes H level (S1 = H), the initiator M_A1 accesses the target T_A1 via the bus 1B, and waits for the bus 1A. Is avoided.

これ以外の場合には、セレクト信号S1はLレベル(S1=L)であり、イニシエータM_A1は、バス1A経由を経由して、ターゲットT_A1へのアクセスを行う。   In other cases, the select signal S1 is at the L level (S1 = L), and the initiator M_A1 accesses the target T_A1 via the bus 1A.

タイマ32は、カウンタ12、22のリセット信号生成用タイマである。予め設定された時間(複数のイニシエータがバスアクセスを行う期間より長い期間を設定)が経過すると、タイマ32からリセット信号が出力され、このリセット信号がカウンタ12、22のリセット端子に供給され、カウンタ12、22がリセットされる。これにより、セレクト信号S1はデフォルト状態に戻される。   The timer 32 is a reset signal generation timer for the counters 12 and 22. When a preset time (a period longer than a period in which a plurality of initiators perform bus access) elapses, a reset signal is output from the timer 32, and this reset signal is supplied to the reset terminals of the counters 12 and 22. 12 and 22 are reset. As a result, the select signal S1 is returned to the default state.

図3は、本発明の第1の実施形態の動作を示すものである。図3(A)は、バス1Aのトラフィック量に相当するカウンタ12のカウント値C_A1及びバス1Bのトラフィック量に相当するカウンタ22のカウント値の変化C_B1を示すものである。なお、カウンタ12及び22は、フルカウントに達したら値を保持し、オーバーフローはしないようにされている。   FIG. 3 shows the operation of the first embodiment of the present invention. FIG. 3A shows the count value C_A1 of the counter 12 corresponding to the traffic volume of the bus 1A and the change C_B1 of the count value of the counter 22 corresponding to the traffic volume of the bus 1B. The counters 12 and 22 hold the value when the full count is reached and do not overflow.

図3(B)は、タイマ32から出力されるカウンタリセットパルスである。図3(C)は、トラフィック監視ユニット3から発生されるセレクト信号S1を示すものである。   FIG. 3B shows a counter reset pulse output from the timer 32. FIG. 3C shows the select signal S 1 generated from the traffic monitoring unit 3.

時刻t00〜t01では、図3(A)に示すように、カウント値C_A1が閾値レベルA以下で、カウント値C_B1が閾値レベルB以下である。このため、図3(C)に示すように、セレクト信号S1はLレベルになり、イニシエータM_A1は、バス1Aを経由したターゲットT_A1へのアクセスを行う。   At time t00 to t01, the count value C_A1 is equal to or lower than the threshold level A and the count value C_B1 is equal to or lower than the threshold level B as shown in FIG. Therefore, as shown in FIG. 3C, the select signal S1 becomes L level, and the initiator M_A1 accesses the target T_A1 via the bus 1A.

時刻t01〜t02では、図3(A)に示すように、カウント値C_A1が閾値レベルAを超え、カウント値C_B1が閾値レベルBに達しない。このため、上述の条件(1)が成立し、図3(C)に示すように、セレクト信号S1がLレベルになる。セレクト信号S1がLレベルの時には、イニシエータM_A1はバス1Bを経由したターゲットT_A1へのアクセスを行う。   From time t01 to t02, the count value C_A1 exceeds the threshold level A and the count value C_B1 does not reach the threshold level B as shown in FIG. For this reason, the above-mentioned condition (1) is satisfied, and the select signal S1 becomes L level as shown in FIG. When the select signal S1 is at the L level, the initiator M_A1 accesses the target T_A1 via the bus 1B.

時刻t10〜t11でも、同様に、カウント値C_A1が閾値レベルAを超え、カウント値C_B1が閾値レベルBに達しない。このため、上述の条件(1)が成立し、図3(C)に示すように、セレクト信号S1がLレベルになり、イニシエータM_A1はバス1Bを経由したターゲットT_A1へのアクセスを行う。   Similarly, at times t10 to t11, the count value C_A1 exceeds the threshold level A, and the count value C_B1 does not reach the threshold level B. Therefore, the above condition (1) is satisfied, and the select signal S1 becomes L level as shown in FIG. 3C, and the initiator M_A1 accesses the target T_A1 via the bus 1B.

時刻t11〜t12では、カウント値C_A1及びカウント値C_B1がそれぞれ閾値A及び閾値Bを超えるため、条件(1)は成立せず、イニシエータM_A1はバス1Aを経由したターゲットT_A1へのアクセスを行う。   At times t11 to t12, since the count value C_A1 and the count value C_B1 exceed the threshold A and the threshold B, respectively, the condition (1) is not satisfied, and the initiator M_A1 accesses the target T_A1 via the bus 1A.

このような場合では、別の考え方として、カウンタ12若しくはカウンタ22のカウント値C_A1及びC_B1の微分(図3のX、Y傾き)を別途取得し、微分値の小さいカウンタに対応するバスを選択するようにしても良い。   In such a case, as another idea, differentials (X and Y slopes in FIG. 3) of the count values C_A1 and C_B1 of the counter 12 or the counter 22 are separately acquired, and a bus corresponding to a counter with a small differential value is selected. You may do it.

なお、この例では、バス1A及びバス1Bのトラフィック量を監視するトラフィック監視ユニット3を図2に示すようにハードウェアで構成したが、このような機能をCPUでソフトウェアで実行させるようにしても良い。トラフィック量の監視をCPUで行う場合には、バスグラントG_A2、G_A3、G_A4の立ち上がりエッジ信号や、バスグラントG_B1、G_B2、G_B3、G_B4の立ち上がりエッジ信号を、CPUへの割り込み信号として扱っても良い。   In this example, the traffic monitoring unit 3 for monitoring the traffic volume of the bus 1A and the bus 1B is configured by hardware as shown in FIG. 2, but such a function may be executed by software by the CPU. good. When the traffic amount is monitored by the CPU, the rising edge signals of the bus grants G_A2, G_A3, and G_A4 and the rising edge signals of the bus grants G_B1, G_B2, G_B3, and G_B4 may be handled as interrupt signals to the CPU. .

また、この実施形態ではバスを2本の構成としたが、これ以上の構成でも同様の効果が期待できる。また、本実施形態ではイニシエータの数を1つのバスに4個の接続としたが、これ以上の構成でも同様の効果が期待できる。   In this embodiment, two buses are used, but the same effect can be expected with more buses. In this embodiment, the number of initiators is four connected to one bus, but the same effect can be expected with a configuration with more than this.

<第2の実施形態>
図4は、本発明の第2の実施形態を示すものである。この実施形態では、トラフィック監視ユニット3として、各イニシエータからのグラント発生回数に重み付けを行い、各イニシエータの処理内容(処理時間)を反映したバストラフィック量を計算するようにしている。つまり、この実施形態では、1回のバスリクエストあたりの処理時間を考慮して、イニシエータからのイベント発生回数をバストラフィック量に優先的に反映させるようにしている。他の部分については、前述の第1の実施形態と同様であり、その説明を省略する。
<Second Embodiment>
FIG. 4 shows a second embodiment of the present invention. In this embodiment, the traffic monitoring unit 3 weights the number of grants generated from each initiator, and calculates the bus traffic amount reflecting the processing content (processing time) of each initiator. That is, in this embodiment, the number of event occurrences from the initiator is preferentially reflected in the bus traffic amount in consideration of the processing time per bus request. Other parts are the same as those in the first embodiment described above, and a description thereof will be omitted.

図4は、本発明の第2の実施形態のトラフィック監視ユニット3の構成を示すものである。図4において、イニシエータM_A2、M_A3、M_A4からのバスグラントG_A2、G_A3、G_A4の立ち上がりエッジ信号は、カウンタ51a、51b、51cのイネーブル端子にそれぞれ供給される。   FIG. 4 shows the configuration of the traffic monitoring unit 3 according to the second embodiment of the present invention. In FIG. 4, the rising edge signals of the bus grants G_A2, G_A3, and G_A4 from the initiators M_A2, M_A3, and M_A4 are supplied to the enable terminals of the counters 51a, 51b, and 51c, respectively.

カウンタ51a、51b、51cのカウント値は、それぞれ、乗算器52a、52b、52cに送られる。乗算器52a、52b、52cには、それぞれ、1回のバスリクエストあたりの処理時間に対応する重み係数Coeff_A2、Coeff_A3、Coeff_A4が設定されている。乗算器52a、52b、52cで、カウンタ51a、51b、51cのカウント値に、重み係数Coeff_A2、Coeff_A3、Coeff_A4がそれぞれ乗じられる。乗算器52a、52b、52cの乗算結果が加算器53で加算される。   The count values of the counters 51a, 51b, 51c are sent to the multipliers 52a, 52b, 52c, respectively. Weighting factors Coeff_A2, Coeff_A3, and Coeff_A4 corresponding to the processing time per bus request are set in the multipliers 52a, 52b, and 52c, respectively. Multipliers 52a, 52b, and 52c multiply the count values of the counters 51a, 51b, and 51c by weight coefficients Coeff_A2, Coeff_A3, and Coeff_A4, respectively. The multiplication results of the multipliers 52a, 52b, and 52c are added by the adder 53.

加算器53の加算値は、比較器54で、閾値設定回路55からの予め設定された閾値Aと比較される。加算器53の加算値が閾値Aを上回れば、バス1Aのトラフィックは著しく多い又は多くなると判断し、Hレベルを比較器71に出力する。   The added value of the adder 53 is compared with a preset threshold A from the threshold setting circuit 55 by the comparator 54. If the addition value of the adder 53 exceeds the threshold A, it is determined that the traffic on the bus 1A is significantly increased or increased, and the H level is output to the comparator 71.

イニシエータM_B1、M_B2、M_B3、M_B4からのバスグラントG_B1、G_B2、G_B3、G_B4の立ち上がりエッジ信号は、カウンタ61a、61b、61c、61dのイネーブル端子にそれぞれ供給される。これにより、カウンタ61a、61b、61c、61dがイネーブル状態になり、カウンタ61a、61b、61c、61dがアップカウントされる。   The rising edge signals of the bus grants G_B1, G_B2, G_B3, and G_B4 from the initiators M_B1, M_B2, M_B3, and M_B4 are supplied to the enable terminals of the counters 61a, 61b, 61c, and 61d, respectively. As a result, the counters 61a, 61b, 61c, 61d are enabled, and the counters 61a, 61b, 61c, 61d are up-counted.

カウンタ61a、61b、61c、61dのカウント値は、それぞれ、乗算器62a、62b、62c、62dに送られる。乗算器62a、62b、62c、62dには、それぞれ、1回のバスリクエストあたりの処理時間に対応する重み係数Coeff_B1、Coeff_B2、Coeff_B3、Coeff_B4が設定されている。乗算器62a、62b、62c、62dで、カウンタ61a、61b、61c、61dのカウント値に、重み係数Coeff_B1、Coeff_B2、Coeff_B3、Coeff_B4が乗じられ、乗算器62a、62b、62c、62dの乗算結果が加算器63で加算される。   The count values of the counters 61a, 61b, 61c, and 61d are sent to multipliers 62a, 62b, 62c, and 62d, respectively. Weighting factors Coeff_B1, Coeff_B2, Coeff_B3, and Coeff_B4 corresponding to the processing time per bus request are set in the multipliers 62a, 62b, 62c, and 62d, respectively. Multipliers 62a, 62b, 62c, and 62d multiply the count values of the counters 61a, 61b, 61c, and 61d by weight coefficients Coeff_B1, Coeff_B2, Coeff_B3, and Coeff_B4, and the multiplication results of the multipliers 62a, 62b, 62c, and 62d are obtained. It is added by the adder 63.

加算器63の加算値は、比較器64で、閾値設定回路65からの予め設定された閾値B比較される。加算器63の加算値が閾値Bを上回れば、バス1Bのトラフィックは著しく多い又は多くなると判断し、Hレベルを比較器71に出力する。   The added value of the adder 63 is compared with a preset threshold B from the threshold setting circuit 65 by a comparator 64. If the addition value of the adder 63 exceeds the threshold value B, it is determined that the traffic on the bus 1B is significantly increased or increased, and the H level is output to the comparator 71.

比較器71は、以下の条件(1a)に基づいて、比較器54及び比較器64の出力から演算を行って、セレクト信号S1を発生する。   The comparator 71 performs an operation from the outputs of the comparator 54 and the comparator 64 based on the following condition (1a) to generate the select signal S1.

条件(1a):比較器54の出力信号がHレベルで、且つ、比較器64の出力信号がLレベルである。 Condition (1a): The output signal of the comparator 54 is H level and the output signal of the comparator 64 is L level.

条件(1a)が成立している時、セレクト信号S1はHレベル(S1=H)となり、イニシエータは、バス1Bを経由してターゲットへのアクセスを行い、バス1Aの待ち時間が回避される。   When the condition (1a) is satisfied, the select signal S1 becomes H level (S1 = H), the initiator accesses the target via the bus 1B, and the waiting time of the bus 1A is avoided.

それ以外の場合には、セレクト信号SEL1はLレベル(S1=L)であり、バス1Aを経由してターゲットのアクセスを行う。   In other cases, the select signal SEL1 is at the L level (S1 = L), and the target is accessed via the bus 1A.

タイマ72は、カウンタ51a〜51c、カウンタ61a〜61dのリセット信号生成用タイマである。予め設定された時間(複数のイニシエータがバスアクセスを行う期間より長い期間を設定)が経過すると、タイマ72からリセット信号が出力される。   The timer 72 is a reset signal generation timer for the counters 51a to 51c and the counters 61a to 61d. When a preset time (a period longer than a period in which a plurality of initiators perform bus access) elapses, a reset signal is output from the timer 72.

以上のように、本発明の第2の実施形態では、各イニシエータからのグラント発生回数に重み付けを行い、各イニシエータの処理内容を反映したバストラフィック量を計算するようにしている。このため、バスのトラフィック量をより正確に反映させることができる。   As described above, in the second embodiment of the present invention, the number of grants generated from each initiator is weighted, and the bus traffic amount reflecting the processing content of each initiator is calculated. For this reason, the amount of bus traffic can be reflected more accurately.

本発明は、上述した実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。   The present invention is not limited to the above-described embodiments, and various modifications and applications can be made without departing from the gist of the present invention.

本発明は、複数のイニシエータとターゲットとをバスを介して接続するアーキテクチャにおいて広く利用可能である。   The present invention can be widely used in an architecture in which a plurality of initiators and targets are connected via a bus.

本発明の第1実施形態の構成を示すブロック図である。It is a block diagram which shows the structure of 1st Embodiment of this invention. 本発明の第1実施形態におけるトラフィック監視ユニットの説明に用いるブロック図である。It is a block diagram used for description of the traffic monitoring unit in 1st Embodiment of this invention. 本発明の第1実施形態の説明に用いるタイミング図である。It is a timing diagram used for description of 1st Embodiment of this invention. 本発明の第2実施形態の説明に用いるブロック図である。It is a block diagram used for description of 2nd Embodiment of this invention. 従来のバスアーキテクチャの一例の構成を示すブロック図である。It is a block diagram which shows the structure of an example of the conventional bus architecture. 従来のバスアーキテクチャの説明に用いるブロック図である。It is a block diagram used for description of the conventional bus architecture. 従来のバスアーキテクチャの説明に用いるブロック図である。It is a block diagram used for description of the conventional bus architecture. 従来のバスアーキテクチャの説明に用いるブロック図である。It is a block diagram used for description of the conventional bus architecture. 従来のバスアーキテクチャの説明に用いるタイミング図である。It is a timing diagram used for description of the conventional bus architecture. 従来のバスアーキテクチャの他の例の構成を示すブロック図である。It is a block diagram which shows the structure of the other example of the conventional bus architecture.

符号の説明Explanation of symbols

1A、1B:バス、
3:トラフィック監視ユニット、
M_A1〜M_A4、M_B1〜M_B4:イニシエータ、
SEL1〜SEL4:セレクタ、
T_A1、T_B1:ターゲット

1A, 1B: Bus
3: Traffic monitoring unit,
M_A1 to M_A4, M_B1 to M_B4: initiator,
SEL1 to SEL4: selector,
T_A1, T_B1: Target

Claims (3)

複数のイニシエータとターゲットが接続される複数のバスの各バスに対し、前記複数のイニシエータによるアクセスの頻度を監視するバストラフィック監視手段と、
前記バストラフィック監視手段による監視結果に応じ、複数のバスから、ある1つのイニシエータと、このイニシエータとの間でデータの転送を行うターゲットとの間のデータ転送を仲介する1つのバスを選択して設定するバス設定手段と、
前記設定されたバスに対し、データの転送を行う前記イニシエータと前記ターゲットとを接続する接続手段とを有することを特徴とするデータ処理装置。
Bus traffic monitoring means for monitoring the frequency of access by the plurality of initiators for each of a plurality of buses to which a plurality of initiators and targets are connected;
In accordance with the monitoring result by the bus traffic monitoring means, select one bus that mediates data transfer between a certain initiator and a target that transfers data between the initiators from a plurality of buses. A bus setting means to set;
A data processing apparatus comprising: a connection unit that connects the initiator that transfers data to the set bus and the target.
前記バストラフィック監視手段は、前記イニシエータに対するバス許諾権信号の有効期間を積分する手段と、該積分結果を所定の閾値と比較する手段とを有することを特徴とする請求項1項記載のデータ処理装置。   2. The data processing according to claim 1, wherein the bus traffic monitoring means includes means for integrating a valid period of a bus permission right signal for the initiator, and means for comparing the integration result with a predetermined threshold value. apparatus. 前記バストラフィック監視手段は、前記イニシエータより出力される割り込みイベントを計測する手段と、該計測値を所定の閾値と比較する手段とを有することを特徴とする請求項1項記載のデータ処理装置。

2. The data processing apparatus according to claim 1, wherein the bus traffic monitoring means includes means for measuring an interrupt event output from the initiator, and means for comparing the measured value with a predetermined threshold value.

JP2005210004A 2005-07-20 2005-07-20 Data processor Withdrawn JP2007026284A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005210004A JP2007026284A (en) 2005-07-20 2005-07-20 Data processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005210004A JP2007026284A (en) 2005-07-20 2005-07-20 Data processor

Publications (1)

Publication Number Publication Date
JP2007026284A true JP2007026284A (en) 2007-02-01

Family

ID=37786929

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005210004A Withdrawn JP2007026284A (en) 2005-07-20 2005-07-20 Data processor

Country Status (1)

Country Link
JP (1) JP2007026284A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011516950A (en) * 2008-03-31 2011-05-26 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド Peer-to-peer dedicated processor architecture and method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011516950A (en) * 2008-03-31 2011-05-26 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド Peer-to-peer dedicated processor architecture and method

Similar Documents

Publication Publication Date Title
US6570403B2 (en) Quantized queue length arbiter
US7769936B2 (en) Data processing apparatus and method for arbitrating between messages routed over a communication channel
EP1170669A1 (en) Arbitration method and circuit architecture therefor
US8051234B2 (en) Multiprocessor system
KR100784385B1 (en) System and method for arbitrating requests for access to shared resources
US20080147944A1 (en) Arbiter device and arbitration method
US8234428B2 (en) Arbitration device that arbitrates conflicts caused in data transfers
US20040103232A1 (en) Arbitration unit
EP2290552A1 (en) Data transfer device, information processing device, and control method
JP2010044645A (en) Data transfer device, and data transfer method
JP2007026284A (en) Data processor
JP2007058716A (en) Data transfer bus system
JP4151362B2 (en) Bus arbitration method, data transfer device, and bus arbitration method
US10002099B2 (en) Arbitrated access to resources among multiple devices
JP2000250853A (en) Bus arbitration controller
JP7292044B2 (en) Control device and control method
JP4898527B2 (en) RESOURCE USE MANAGEMENT DEVICE, RESOURCE USE MANAGEMENT SYSTEM, AND RESOURCE USE MANAGEMENT DEVICE CONTROL METHOD
US7747806B2 (en) Resource use management device, resource use management system, and control method for a resource use management device
JP5441185B2 (en) Interrupt controller and time-division interrupt generation method
JP2007026022A (en) Bus arbitration device and bus arbitration method
TWI425363B (en) Adjustable Priority System Resource Arbitration Method
JP2004220309A (en) Multiprocessor system
JP2006065453A (en) Data processing device
JP2001167049A (en) Bus arbitration device
JPH1027156A (en) Bus arbiter controller

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: 20081007