Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP5478342B2 - Information processing device - Google Patents
[go: Go Back, main page]

JP5478342B2 - Information processing device - Google Patents

Information processing device Download PDF

Info

Publication number
JP5478342B2
JP5478342B2 JP2010092266A JP2010092266A JP5478342B2 JP 5478342 B2 JP5478342 B2 JP 5478342B2 JP 2010092266 A JP2010092266 A JP 2010092266A JP 2010092266 A JP2010092266 A JP 2010092266A JP 5478342 B2 JP5478342 B2 JP 5478342B2
Authority
JP
Japan
Prior art keywords
processing
unit
data
processed
request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2010092266A
Other languages
Japanese (ja)
Other versions
JP2011223445A (en
Inventor
嘉浩 長田
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.)
Kyocera Document Solutions Inc
Original Assignee
Kyocera Document Solutions Inc
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 Kyocera Document Solutions Inc filed Critical Kyocera Document Solutions Inc
Priority to JP2010092266A priority Critical patent/JP5478342B2/en
Publication of JP2011223445A publication Critical patent/JP2011223445A/en
Application granted granted Critical
Publication of JP5478342B2 publication Critical patent/JP5478342B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Bus Control (AREA)
  • Communication Control (AREA)

Description

本発明は、データ処理部に処理を要求する処理要求送信回路、及び情報処理装置に関する。   The present invention relates to a processing request transmission circuit that requests a data processing unit to perform processing, and an information processing apparatus.

近年、システムが大規模化し、システム内には様々な構成要素が散在し、インターフェース速度が向上することで、データ処理の順序と物理的な配置の関係を重要視する必要がなくなった。むしろ、物理的な配置の制約がないことが望まれている。   In recent years, the system has become large-scale, and various components are interspersed within the system, and the interface speed is improved, so that it is not necessary to place importance on the relationship between the order of data processing and the physical arrangement. Rather, it is desirable that there are no physical placement restrictions.

その結果、複数の構成要素が高速の通信路を共用する際の輻輳を回避したり、構成要素が他の構成要素を共用する際の輻輳を回避したりするための調停処理が必要となり、システム全体としての制御が難しくなっている。   As a result, arbitration processing is required to avoid congestion when multiple components share a high-speed communication path, or to avoid congestion when components share other components. Control as a whole has become difficult.

従来、データ処理ネットワークにおける輻輳の回避方法として、以下のような技術が知られている(例えば、特許文献1参照。)。この技術は、宛先毎に2個以上の優先度キューを持つ複数個の送信元ノードと、全入力に対し宛先毎に均等に出力を行うスイッチと、前記スイッチからデータを受信する複数個の宛先ノードにより構成するスイッチファブリックを用いる。   Conventionally, the following technique is known as a method for avoiding congestion in a data processing network (see, for example, Patent Document 1). This technique includes a plurality of transmission source nodes having two or more priority queues for each destination, a switch that outputs the output equally for each destination for all inputs, and a plurality of destinations that receive data from the switch. A switch fabric composed of nodes is used.

そして、送信元ノードが管理するスイッチの宛先毎の受信バッファ空き容量が、設定した輻輳閾値以下となったら当該宛先が輻輳しているとみなし、当該宛先に対し前記優先度キューからのデータ出力を優先度に応じて予め設定した帯域まで制限し、また前記宛先毎の受信バッファ空き容量が設定した輻輳解除閾値以上となったら当該宛先の輻輳が解除されたとみなし、前記の優先度に応じた帯域制限を解除することで、輻輳を回避する。   Then, if the receiving buffer free capacity for each destination of the switch managed by the transmission source node is equal to or less than the set congestion threshold, the destination is considered to be congested, and data output from the priority queue is output to the destination. The bandwidth is limited to a preset bandwidth according to the priority, and if the reception buffer free space for each destination is equal to or higher than the congestion release threshold set, it is considered that the congestion of the destination has been released, and the bandwidth according to the priority. The congestion is avoided by releasing the restriction.

特開2008−166888号公報JP 2008-166888 A

ところで、システムの拡張性や柔軟性の観点からデファクトなシステムへの接続や、デファクトな接続手段(通信インターフェース)の採用が必須となってきている。そのため、システム設計者といえども、既存、標準の構成要素を使う必要性から、調停方法を自由に変更することができず、調停方法をシステムに最適化することが困難になっている。   By the way, from the viewpoint of system expandability and flexibility, connection to a de facto system and adoption of de facto connection means (communication interface) have become essential. Therefore, even for system designers, the arbitration method cannot be freely changed due to the necessity of using existing and standard components, and it is difficult to optimize the arbitration method for the system.

例えば、マイクロプロセッサを用いたシステムにおいて、メモリのアクセスを制御するメモリ制御回路は、これまでシステム設計者がシステムに適合するように設計していた。しかしながら、近年、汎用のマイクロプロセッサがメモリ制御回路を内蔵するようになり、このようなマイクロプロセッサが主流となった今日では、メモリ制御回路近辺の仕様をシステム設計者がシステムに適合するように自由に設計することができなくなった。   For example, in a system using a microprocessor, a memory control circuit for controlling access to a memory has been designed so that a system designer adapts to the system. However, in recent years, general-purpose microprocessors have built-in memory control circuits, and today, when such microprocessors have become mainstream, system designers are free to adapt specifications in the vicinity of memory control circuits to the system. Can no longer be designed.

このように、メモリアクセスを調停する調停器がマイクロプロセッサ内に予め内蔵されると、マイクロプロセッサ内に搭載されている調停器は「汎用」のものであり、システムに特化していない。特に動作率を向上し、各構成要素の性能を限界近く引き出そうとしても、システムに最適化されていない汎用の調停器では、各構成要素の性能を引き出してシステム全体の性能向上を図ることが困難である。   As described above, when an arbitrator that arbitrates memory access is built in the microprocessor in advance, the arbitrator mounted in the microprocessor is “general-purpose” and is not specialized for the system. In particular, even when trying to improve the operating rate and bring out the performance of each component close to the limit, a general-purpose arbiter that is not optimized for the system can draw out the performance of each component and improve the performance of the entire system. Have difficulty.

上述のデータ処理ネットワークにおける輻輳の回避方法(特許文献1)においても、受信バッファの空き容量が一定の閾値以上か以下かによってデータ内容の差異すなわちデータの送信先における処理量の差異に関わらず、データ送信の帯域を予め設定した帯域に制限するだけである。   Even in the congestion avoidance method in the above-described data processing network (Patent Document 1), regardless of the difference in data contents, that is, the difference in the processing amount at the data transmission destination, depending on whether the free capacity of the reception buffer is greater than or equal to a certain threshold value, Only the data transmission bandwidth is limited to a preset bandwidth.

そのため、上述のデータ処理ネットワークにおける輻輳の回避方法では、データ送信先におけるデータ処理量にかかわらず輻輳を回避できるような帯域制限、すなわちデータ処理量が最大になったときでも輻輳を回避できるような帯域制限を行う必要があるため、過剰な帯域制限を行われてしまう結果、充分にシステムの性能を引き出すことができなかった。   Therefore, the above-described congestion avoidance method in the data processing network is capable of avoiding congestion even when the data processing amount reaches a maximum, that is, bandwidth limitation that can avoid congestion regardless of the data processing amount at the data transmission destination. Since it is necessary to limit the bandwidth, the bandwidth is excessively limited. As a result, the system performance cannot be sufficiently obtained.

本発明の目的は、データ処理部において輻輳が発生するおそれを低減しつつ、システムの性能を引き出すことが容易な処理要求送信回路、及び情報処理装置を提供することである。   An object of the present invention is to provide a processing request transmission circuit and an information processing apparatus that can easily extract system performance while reducing the possibility of congestion occurring in a data processing unit.

本発明にかかる情報処理装置は、処理要求送信回路と、データ処理部と、前記データ処理部へアクセス要求を出力する情報処理部とを備える情報処理装置であって、前記処理要求送信回路は、データを処理するデータ処理部に処理を要求する複数の被処理データ列を、並行して受け付ける要求受付部と、前記要求受付部によって受け付けられた複数の被処理データ列を、順次前記データ処理部へ送信することにより、複数の要求相互間の調停を行う処理要求送信部と、前記被処理データ列のデータ長を計数するデータ長計数部と、前記データ長計数部によって計数されたデータ長Ldの被処理データ列を前記データ処理部が処理するのにかかる処理時間Tdを、Td=a×Ld+b、但し、a,bは定数の式で近似して算出する処理時間算出部とを備え、前記処理要求送信部は、一の被処理データ列を前記データ処理部へ送信した後、次に被処理データ列を前記データ処理部へ送信するまでに、前記一の被処理データ列について前記データ長計数部により計数されたデータ長に基づき前記処理時間算出部によって算出された処理時間以上の間隔を空け、前記データ処理部は、直列接続された複数の処理部を用いて前記要求された処理を実行するものであり、前記複数の処理部として、前記処理要求送信部から出力された被処理データ列を伝送するインターフェース回路と、メモリと、前記メモリへのアクセスを行うメモリ制御部と、前記情報処理部からのアクセス要求、及び前記インターフェース回路によって伝送されてきた被処理データ列を受け付けて、当該受け付けられたアクセス要求と被処理データ列との関係を調停し、当該調停された順で、前記メモリ制御部による前記メモリへのアクセスを実行させる調停部とを含み、前記複数の処理部のうち、前記インターフェース回路がスループットのボトルネックとなる処理部であり、前記調停部は、予め設定された優先順位に従って、前記情報処理部からのアクセス要求と被処理データ列との関係を調停するものであり、前記情報処理部からのアクセス要求よりも前記インターフェース回路によって伝送されてきた被処理データ列の方が、前記優先順位が高く、前記定数a、bは、実験的に最小二乗法により求められたものである。
An information processing apparatus according to the present invention is an information processing apparatus including a processing request transmission circuit, a data processing unit, and an information processing unit that outputs an access request to the data processing unit, wherein the processing request transmission circuit includes: A request receiving unit that receives in parallel a plurality of processed data strings that request processing from a data processing unit that processes data, and a plurality of processed data strings that are received by the request receiving unit in turn, the data processing unit A processing request transmission unit that performs arbitration among a plurality of requests, a data length counting unit that counts the data length of the processed data string, and a data length Ld counted by the data length counting unit Td = a × Ld + b, where a and b are approximated by constant equations, and the processing time Td required for the data processing unit to process the processed data string is calculated as Td = a × Ld + b The processing request transmission unit transmits the one processed data string to the data processing unit, and then transmits the processed data string to the data processing unit. An interval equal to or longer than the processing time calculated by the processing time calculation unit based on the data length counted by the data length counting unit for the column, and the data processing unit uses the plurality of processing units connected in series. An interface circuit for transmitting a data string to be processed output from the processing request transmission unit, a memory, and a memory control for accessing the memory as the plurality of processing units; And an access request from the information processing unit and a data string to be processed transmitted by the interface circuit. An arbitration unit that arbitrates a relationship between a request for data and a data string to be processed, and executes access to the memory by the memory control unit in the order of the arbitration, and the interface among the plurality of processing units The circuit is a processing unit that becomes a bottleneck of throughput, and the arbitration unit arbitrates a relationship between an access request from the information processing unit and a data string to be processed in accordance with a preset priority. those who processed data sequence has been transmitted by said interface circuit than the access request from the information processing unit, the priority is rather high, the constants a, b is that is experimentally determined by the least square method It is.

この構成によれば、要求受付部によって、データ処理部への処理要求である被処理データ列が受け付けられる。そして、データ長計数部によって被処理データ列のデータ長が計数され、処理時間算出部によって、当該計数されたデータ長のデータをデータ処理部が処理するのにかかる処理時間が算出される。そして、処理要求送信部は、一の被処理データ列をデータ処理部へ送信した後、次に被処理データ列をデータ処理部へ送信するまでに、一の被処理データ列についてデータ長計数部により計数されたデータ長に基づき処理時間算出部によって算出された処理時間以上の間隔を空ける。   According to this configuration, the request receiving unit receives a data string to be processed which is a processing request to the data processing unit. Then, the data length of the data string to be processed is counted by the data length counting unit, and the processing time required for the data processing unit to process the data having the counted data length is calculated by the processing time calculation unit. Then, the processing request transmission unit transmits the one processed data string to the data processing unit, and then transmits the processed data string to the data processing unit until the next processing data string is transmitted to the data processing unit. An interval equal to or greater than the processing time calculated by the processing time calculation unit is provided based on the data length counted by the above.

これにより、前回送信された被処理データ列のデータ長に応じて算出された処理時間だけ、次に被処理データ列が送信されるまでに時間間隔が空くため、データ処理部において前回送信された被処理データ列と次に送信された被処理データ列とで輻輳が生じるおそれが低減される。そして、被処理データ列が送信される時間間隔は、前回の被処理データ列のデータ長、すなわちデータ処理部におけるデータ処理量に応じて設定されるので、背景技術に記載の輻輳の回避方法のように過剰な帯域制限を行って性能を低下させてしまうおそれを低減できる。そのため、データ処理部において輻輳が発生するおそれを低減しつつ、データ処理部の性能を引き出すことが容易となる。
また、この構成によれば、要求受付部によって並行して受け付けられた複数の被処理データ列のデータ処理部への送信が、処理要求送信部によって調停されるので、データ処理部への処理要求を行いたい構成要素が複数ある場合であっても、非同期で被処理データ列を要求受付部へ出力することができ、設計が容易となる。
また、この構成によれば、処理時間算出部は、上記の式を用いて単純な一次関数の演算処理を行うことによって、処理時間Tdを算出することができるので、処理時間算出部の回路構成を簡素化することが容易である。
また、この構成によれば、処理要求送信回路と、情報処理部と、調停部と、メモリ制御部と、メモリと、処理要求送信部から出力された被処理データ列を調停部へ伝送するインターフェース回路とを備えた情報処理装置の、インターフェース回路、調停部、メモリ制御部、及びメモリを含むデータ処理部において、輻輳が発生するおそれを低減しつつ、性能を引き出すことが容易となる。
また、この構成によれば、調停部において、情報処理部からのアクセス要求と処理要求送信部からの被処理データ列とが競合した場合、処理要求送信部からの被処理データ列が優先される。これにより、処理要求送信部が、データ処理部において輻輳が生じないように被処理データ列の送信間隔として処理時間の間隔を空けているにもかかわらず、情報処理部からのメモリへのアクセス要求に起因して、前記処理時間内に被処理データ列が処理できなくなることが原因となって、輻輳が生じてしまうおそれが低減される。
As a result, there is a time interval until the next processed data string is transmitted for the processing time calculated according to the data length of the processed data string transmitted last time. The possibility of congestion occurring between the processed data string and the next transmitted processed data string is reduced. Since the time interval at which the processed data string is transmitted is set according to the data length of the previous processed data string, that is, the data processing amount in the data processing unit, the congestion avoidance method described in the background art In this way, it is possible to reduce the risk of performance degradation due to excessive band limitation. Therefore, it becomes easy to extract the performance of the data processing unit while reducing the possibility of congestion occurring in the data processing unit.
In addition, according to this configuration, since the transmission to the data processing unit of the plurality of processed data strings received in parallel by the request receiving unit is arbitrated by the processing request transmitting unit, the processing request to the data processing unit Even when there are a plurality of components to be processed, the data string to be processed can be asynchronously output to the request receiving unit, and the design becomes easy.
In addition, according to this configuration, the processing time calculation unit can calculate the processing time Td by performing a simple linear function calculation process using the above formula, and thus the circuit configuration of the processing time calculation unit It is easy to simplify.
In addition, according to this configuration, the processing request transmission circuit, the information processing unit, the arbitration unit, the memory control unit, the memory, and the interface that transmits the processed data sequence output from the processing request transmission unit to the arbitration unit In an information processing apparatus including a circuit, in an interface circuit, an arbitration unit, a memory control unit, and a data processing unit including a memory, it becomes easy to draw out performance while reducing the possibility of congestion.
Further, according to this configuration, when the access request from the information processing unit and the processed data sequence from the processing request transmission unit compete in the arbitration unit, the processed data sequence from the processing request transmission unit is given priority. . As a result, the processing request transmission unit requests the access to the memory from the information processing unit even though the processing time interval is set as the transmission interval of the data string to be processed so that congestion does not occur in the data processing unit. due to, causing that the processed data sequence can not be processed within the processing time, a possibility that congestion occurs is Ru are reduced.

この構成によれば、要求受付部によって並行して受け付けられた複数の被処理データ列のデータ処理部への送信が、処理要求送信部によって調停されるので、データ処理部への処理要求を行いたい構成要素が複数ある場合であっても、非同期で被処理データ列を要求受付部へ出力することができ、設計が容易となる。   According to this configuration, since the transmission to the data processing unit of the plurality of processed data strings received in parallel by the request receiving unit is arbitrated by the processing request transmission unit, a processing request is made to the data processing unit. Even if there are a plurality of components, the data string to be processed can be asynchronously output to the request receiving unit, and the design becomes easy.

また、前記処理要求送信回路は、前記被処理データ列を生成して前記要求受付部へ出力するデータ列生成部をさらに備え、前記ボトルネックとなる処理部が、前記処理要求送信部の直後に接続されており、前記ボトルネックとなる処理部は、処理対象となる被処理データ列の全部を前記処理要求送信部から受信することが好ましい。
Further, the processing request transmitting circuit further comprising a data sequence generator outputting to said request receiving unit and generates the processed data sequence, the processing unit serving as the bottleneck, immediately after the processing request transmitting unit It is preferable that the processing unit that is connected and becomes the bottleneck receives the entire processing target data string to be processed from the processing request transmission unit.

この構成によれば、複数の処理部を含むデータ処理経路のうち、スループットのボトルネックとなる処理部が処理要求送信部の直後に接続されており、当該ボトルネックとなる処理部は、処理対象となる被処理データ列を処理要求送信部以外から受信することがないので、処理要求送信部以外の構成要素から当該ボトルネックとなる処理部へ出力された被処理データ列によって、輻輳が生じることがない。   According to this configuration, among the data processing paths including a plurality of processing units, a processing unit that is a bottleneck of throughput is connected immediately after the processing request transmission unit, and the processing unit that is the bottleneck is a processing target The processing target data string that is output from the component other than the processing request transmitting unit to the processing unit that is the bottleneck may be congested. There is no.

また、前記データ長計数部は、前記被処理データ列が前記処理要求送信部から前記データ処理部に至る経路上に、一つ設けられ、当該処理要求送信部から送信された被処理データ列のデータ長を計数することが好ましい。   The data length counting unit is provided with one processed data string on a path from the processing request transmission unit to the data processing unit, and the data length counting unit transmits the processed data string transmitted from the processing request transmission unit. It is preferable to count the data length.

この構成によれば、要求受付部に複数の被処理データ列が入力される複数の経路に複数のデータ長計数部を設けて各被処理データ列のデータ長を計数する場合と比べてデータ長計数部の数を減少させることが出来るので、回路を簡素化することが容易である。   According to this configuration, the data length is compared with the case where a plurality of data length counting units are provided in a plurality of paths through which a plurality of processed data strings are input to the request receiving unit and the data length of each processed data string is counted. Since the number of counting units can be reduced, the circuit can be easily simplified.

この構成によれば、処理時間算出部は、式(1)を用いて単純な一次関数の演算処理を行うことによって、処理時間Tdを算出することができるので、処理時間算出部の回路構成を簡素化することが容易である。   According to this configuration, the processing time calculation unit can calculate the processing time Td by performing a calculation process of a simple linear function using Expression (1). It is easy to simplify.

この構成によれば、処理要求送信回路と、情報処理部と、調停部と、メモリ制御部と、メモリと、処理要求送信部から出力された被処理データ列を調停部へ伝送するインターフェース回路とを備えた情報処理装置の、インターフェース回路、調停部、メモリ制御部、及びメモリを含むデータ処理部において、輻輳が発生するおそれを低減しつつ、性能を引き出すことが容易となる。   According to this configuration, the processing request transmission circuit, the information processing unit, the arbitration unit, the memory control unit, the memory, and the interface circuit that transmits the processed data string output from the processing request transmission unit to the arbitration unit, In the data processing unit including the interface circuit, the arbitrating unit, the memory control unit, and the memory of the information processing apparatus including the above, it becomes easy to draw out performance while reducing the possibility of occurrence of congestion.

この構成によれば、調停部において、情報処理部からのアクセス要求と処理要求送信部からの被処理データ列とが競合した場合、処理要求送信部からの被処理データ列が優先される。これにより、処理要求送信部が、データ処理部において輻輳が生じないように被処理データ列の送信間隔として処理時間の間隔を空けているにもかかわらず、情報処理部からのメモリへのアクセス要求に起因して、前記処理時間内に被処理データ列が処理できなくなることが原因となって、輻輳が生じてしまうおそれが低減される。   According to this configuration, in the arbitration unit, when the access request from the information processing unit and the processed data sequence from the processing request transmission unit compete, the processed data sequence from the processing request transmission unit has priority. As a result, the processing request transmission unit requests the access to the memory from the information processing unit even though the processing time interval is set as the transmission interval of the data string to be processed so that congestion does not occur in the data processing unit. Due to the above, the possibility that the processing target data string cannot be processed within the processing time is reduced, thereby reducing the possibility of congestion.

このような構成の処理要求送信回路及び情報処理装置によれば、前回送信された被処理データ列のデータ長に応じて算出された処理時間だけ、次に被処理データ列が送信されるまでに時間間隔が空くため、データ処理部において前回送信された被処理データ列と次に送信された被処理データ列とで輻輳が生じるおそれが低減される。そして、被処理データ列が送信される時間間隔は、前回の被処理データ列のデータ長、すなわちデータ処理部におけるデータ処理量に応じて設定されるので、背景技術に記載の輻輳の回避方法のように過剰な帯域制限を行って性能を低下させてしまうおそれを低減できる。そのため、データ処理部において輻輳が発生するおそれを低減しつつ、データ処理部の性能を引き出すことが容易となる。   According to the processing request transmission circuit and the information processing apparatus configured as described above, the processing data string is transmitted for the next processing time calculated according to the data length of the processing data string transmitted last time. Since the time interval is free, the possibility that congestion will occur between the processed data sequence transmitted last time and the processed data sequence transmitted next in the data processing unit is reduced. Since the time interval at which the processed data string is transmitted is set according to the data length of the previous processed data string, that is, the data processing amount in the data processing unit, the congestion avoidance method described in the background art In this way, it is possible to reduce the risk of performance degradation due to excessive band limitation. Therefore, it becomes easy to extract the performance of the data processing unit while reducing the possibility of congestion occurring in the data processing unit.

本発明の一実施形態に係る処理要求送信回路を用いた情報処理装置の一例を示すブロック図である。It is a block diagram which shows an example of the information processing apparatus using the process request transmission circuit which concerns on one Embodiment of this invention.

以下、本発明に係る実施形態を図面に基づいて説明する。なお、各図において同一の符号を付した構成は、同一の構成であることを示し、その説明を省略する。図1は、本発明の一実施形態に係る処理要求送信回路を用いた情報処理装置の一例を示すブロック図である。   Embodiments according to the present invention will be described below with reference to the drawings. In addition, the structure which attached | subjected the same code | symbol in each figure shows that it is the same structure, The description is abbreviate | omitted. FIG. 1 is a block diagram showing an example of an information processing apparatus using a processing request transmission circuit according to an embodiment of the present invention.

図1に示す情報処理装置1は、マイクロプロセッサ2、ASIC(Application Specific Integrated Circuit)3、及びメモリ4を備えて構成されている。   An information processing apparatus 1 illustrated in FIG. 1 includes a microprocessor 2, an ASIC (Application Specific Integrated Circuit) 3, and a memory 4.

マイクロプロセッサ2は、例えばCPUコア21(CPU;Central Processing Unit)(情報処理部)と、調停部22と、メモリコントローラ23(メモリ制御部)と、外部バスI/F24(インターフェース回路)とを備えて構成されている。マイクロプロセッサ2は、例えば汎用品であり、情報処理装置1の設計者はマイクロプロセッサ2の設計を自由に変更することはできない。マイクロプロセッサ2としては、例えばARM社製、ARM926EJ−Sを用いることができる。   The microprocessor 2 includes, for example, a CPU core 21 (CPU; Central Processing Unit) (information processing unit), an arbitration unit 22, a memory controller 23 (memory control unit), and an external bus I / F 24 (interface circuit). Configured. The microprocessor 2 is, for example, a general-purpose product, and the designer of the information processing apparatus 1 cannot freely change the design of the microprocessor 2. As the microprocessor 2, for example, ARM926EJ-S manufactured by ARM can be used.

ASIC3は、処理要求送信回路30と、外部バスI/F35(インターフェース回路)とを備えて構成されている。処理要求送信回路30は、複数の機能モジュールA,B,C(データ列生成部)と、要求受付部31と、処理要求送信部32と、データ長計数部33と、処理時間算出部34とを備えて構成されている。ASIC3は、情報処理装置1の設計者が、情報処理装置1に合わせて自由に設計できる専用回路である。   The ASIC 3 includes a processing request transmission circuit 30 and an external bus I / F 35 (interface circuit). The processing request transmission circuit 30 includes a plurality of functional modules A, B, and C (data string generation unit), a request reception unit 31, a processing request transmission unit 32, a data length counting unit 33, and a processing time calculation unit 34. It is configured with. The ASIC 3 is a dedicated circuit that can be freely designed by the designer of the information processing apparatus 1 according to the information processing apparatus 1.

そして、外部バスI/F24,35、調停部22、メモリコントローラ23、及びメモリ4から、データ処理部5の一例が構成されている。   The external bus I / Fs 24 and 35, the arbitration unit 22, the memory controller 23, and the memory 4 constitute an example of the data processing unit 5.

外部バスI/F24,35は、マイクロプロセッサ2とASIC3との間でデータを送受信するバスインターフェース回路である。外部バスI/F24,35は、パラレルバスであってもよく、シリアルバスであってもよく、種々のインターフェース回路を用いることができる。   The external bus I / Fs 24 and 35 are bus interface circuits that transmit and receive data between the microprocessor 2 and the ASIC 3. The external bus I / Fs 24 and 35 may be a parallel bus or a serial bus, and various interface circuits can be used.

CPUコア21は、プログラムの実行に伴い、メモリ4をアクセスする。CPUコア21が、メモリ4をアクセスする際には、調停部22を介してメモリコントローラ23へアクセス要求を出力し、メモリコントローラ23によって、メモリ4へのメモリアクセスを実行させる。   The CPU core 21 accesses the memory 4 as the program is executed. When the CPU core 21 accesses the memory 4, the CPU core 21 outputs an access request to the memory controller 23 via the arbitration unit 22, and the memory controller 23 executes memory access to the memory 4.

調停部22は、CPUコア21からのメモリ4へのアクセス要求と、外部バスI/F24からのメモリ4へのアクセス要求とが競合した場合に調停を行う調停回路である。調停部22は、優先度設定レジスタ221を備えており、優先度設定レジスタ221に予め設定された優先順位に応じて、CPUコア21からのメモリ4へのアクセス要求よりも、外部バスI/F24からのメモリ4へのアクセス要求を優先させるようになっている。   The arbitration unit 22 is an arbitration circuit that performs arbitration when the access request to the memory 4 from the CPU core 21 and the access request to the memory 4 from the external bus I / F 24 conflict. The arbitration unit 22 includes a priority setting register 221, and the external bus I / F 24 rather than an access request to the memory 4 from the CPU core 21 according to the priority set in the priority setting register 221 in advance. The access request to the memory 4 from is given priority.

優先度設定レジスタ221は、CPUコア21と外部バスI/F24との優先順位の設定を記憶するレジスタで、予め、CPUコア21よりも外部バスI/F24の優先順位が高く設定されている。なお、情報処理装置1においては、CPUコア21からのメモリ4へのアクセス要求よりも、外部バスI/F24からのメモリ4へのアクセス要求が優先された場合であっても、外部バスI/F24によるメモリ4の占有率は70%以下程度になるようにされている。   The priority setting register 221 is a register for storing the priority setting of the CPU core 21 and the external bus I / F 24, and the priority of the external bus I / F 24 is set higher than that of the CPU core 21 in advance. In the information processing apparatus 1, even if the access request to the memory 4 from the external bus I / F 24 is prioritized over the access request to the memory 4 from the CPU core 21, the external bus I / F The occupation ratio of the memory 4 by F24 is set to about 70% or less.

メモリコントローラ23は、CPUコア21からのメモリ4へのアクセス要求と、外部バスI/F24からのメモリ4へのアクセス要求とを、調停部22を介して受信し、そのアクセス要求に応じてメモリ4へのアクセスを実行する。   The memory controller 23 receives an access request to the memory 4 from the CPU core 21 and an access request to the memory 4 from the external bus I / F 24 via the arbitration unit 22, and the memory controller 23 responds to the access request. 4 is accessed.

アクセス要求は、リードアクセスであってもライトアクセスであってもいずれでもよいが、以下、説明を判りやすくするためライトアクセスを例に説明する。   The access request may be either a read access or a write access. Hereinafter, a write access will be described as an example for easy understanding.

機能モジュールA,B,Cは、それぞれ、情報処理装置1の機能を実現するために種々の情報処理を行って、その情報処理の実行結果として被処理データ列を生成し、要求受付部31へ出力する。なお、機能モジュールA,B,Cは、処理要求送信回路30に含まれている必要はなく、要求受付部31が、ASIC3の外部から被処理データ列を受信する構成であってもよい。   Each of the functional modules A, B, and C performs various types of information processing in order to realize the functions of the information processing apparatus 1, generates a processed data string as an execution result of the information processing, and sends it to the request reception unit 31. Output. The functional modules A, B, and C do not need to be included in the processing request transmission circuit 30, and the request receiving unit 31 may be configured to receive the data string to be processed from outside the ASIC 3.

要求受付部31は、例えば機能モジュールA,B,Cから受信した被処理データ列を、一時的に記憶するキューバッファを備えて構成されている。要求受付部31は、例えば、機能モジュールA,B,Cから出力された被処理データ列を、並列的に受け付けて、キューバッファに記憶させるようになっている。キューバッファは、処理要求送信部32から読出し可能にされている。   The request receiving unit 31 includes a queue buffer that temporarily stores data strings to be processed received from the function modules A, B, and C, for example. For example, the request receiving unit 31 receives data strings to be processed output from the function modules A, B, and C in parallel and stores them in the queue buffer. The queue buffer can be read from the processing request transmission unit 32.

処理要求送信部32は、要求受付部31によって機能モジュールA,B,Cから受信されて例えばキューバッファに記憶されている被処理データ列を、例えば要求受付部31によって受信された順、あるいは機能モジュールA,B,Cについて予め設定された優先順位の順等、所定の順序で読み出して、順次データ処理部5へ送信する。   The processing request transmission unit 32 receives the processed data string received from the functional modules A, B, and C by the request reception unit 31 and stored in the queue buffer, for example, in the order received by the request reception unit 31 or the function. Modules A, B, and C are read in a predetermined order such as a preset order of priority, and are sequentially transmitted to the data processing unit 5.

具体的には、処理要求送信部32は、例えば要求受付部31のキューバッファから読み出した一の被処理データ列を、外部バスI/F35へ出力し、外部バスI/F35から外部バスI/F24へ送信させる。これにより、外部バスI/F24で受信された被処理データ列が、調停部22によって、CPUコア21のメモリアクセスと調停されてメモリコントローラ23へ出力され、メモリコントローラ23によってメモリ4に書き込まれるようになっている。   Specifically, the processing request transmission unit 32 outputs, for example, one processed data string read from the queue buffer of the request reception unit 31 to the external bus I / F 35, and from the external bus I / F 35 to the external bus I / F. Send to F24. As a result, the data string to be processed received by the external bus I / F 24 is arbitrated with the memory access of the CPU core 21 by the arbitration unit 22, output to the memory controller 23, and written to the memory 4 by the memory controller 23. It has become.

そして、処理要求送信部32は、一の被処理データ列を外部バスI/F35へ出力し終えてから、当該一の被処理データ列について処理時間算出部34によって算出された処理時間tw以上の間隔を空けた後、次の被処理データ列の外部バスI/F35への送信を開始する。   Then, the processing request transmission unit 32 finishes outputting one processed data string to the external bus I / F 35 and then exceeds the processing time tw calculated by the processing time calculating unit 34 for the one processed data string. After the interval, transmission of the next data string to be processed to the external bus I / F 35 is started.

データ長計数部33は、処理要求送信部32から外部バスI/F35へ出力された被処理データ列のデータ長Ldを計数し、計数されたデータ長Ldを処理時間算出部34へ出力する。データ長Ldは、ビット長、バイト長、あるいはワード長であってもよい。   The data length counter 33 counts the data length Ld of the processed data string output from the processing request transmitter 32 to the external bus I / F 35 and outputs the counted data length Ld to the processing time calculator 34. The data length Ld may be a bit length, a byte length, or a word length.

なお、データ長計数部33を処理要求送信部32と外部バスI/F35との間に設ける代わりに、機能モジュールA,B,Cと要求受付部31との間に、機能モジュールA,B,Cに対応して3つのデータ長計数部33を設けて機能モジュールA,B,Cから出力された被処理データ列のデータ長Ldそれぞれ計数するようにしてもよい。   Instead of providing the data length counting unit 33 between the processing request transmission unit 32 and the external bus I / F 35, the functional modules A, B, C, between the functional modules A, B, C and the request reception unit 31 are provided. Three data length counters 33 may be provided corresponding to C to count each of the data lengths Ld of the data strings to be processed output from the functional modules A, B, and C.

しかしながら、図1に示すように、処理要求送信部32からデータ処理部5に至る経路上に一つ、データ長計数部33を設ける方が、データ長計数部33の数が少なくなるので回路を簡素化することが容易である。   However, as shown in FIG. 1, if one data length counting unit 33 is provided on the path from the processing request transmitting unit 32 to the data processing unit 5, the number of data length counting units 33 is reduced. It is easy to simplify.

処理時間算出部34は、処理時間Tdを、データ長計数部33から出力されたデータ長Ldを用いて、下記の式(1)を用いて算出する。   The processing time calculation unit 34 calculates the processing time Td using the data length Ld output from the data length counting unit 33 using the following equation (1).

処理時間Td=a×Ld+b ・・・(1)
但し、a,bは定数である。
Processing time Td = a × Ld + b (1)
However, a and b are constants.

定数a,bは、データ長Ldの被処理データ列を、データ処理部5が処理するのにかかる処理時間Td、すなわち処理要求送信部32から出力された被処理データ列がメモリ4に書き込まれるのにかかる処理時間Tdを、式(1)によって近似するように、予め例えば実験的に、あるいは理論計算により求められ、設定された値である。   As for the constants a and b, the processing time Td required for the data processing unit 5 to process the processed data sequence having the data length Ld, that is, the processed data sequence output from the processing request transmitting unit 32 is written in the memory 4. The processing time Td required for this is a value that is obtained and set in advance, for example, experimentally or by theoretical calculation so as to be approximated by the equation (1).

処理時間Tdは、データ処理部5全体としての処理時間(スループット)である。多くの場合、処理時間Tdは、データ処理部5におけるボトルネックとなる処理部の処理時間と等しくなる。そこで、例えばデータ処理部5におけるボトルネックとなる処理部の処理時間を、処理時間Tdとしてもよい。   The processing time Td is the processing time (throughput) of the data processing unit 5 as a whole. In many cases, the processing time Td is equal to the processing time of the processing unit that is a bottleneck in the data processing unit 5. Therefore, for example, the processing time of the processing unit that becomes a bottleneck in the data processing unit 5 may be set as the processing time Td.

処理時間Tdは、厳密に計算しようとすると、下記のようになる。例えば、処理要求送信部32から外部バスI/F35へ出力されたデータ長Ldの被処理データ列は、外部バスI/F35において所定の通信フォーマットに変換され、例えばヘッダやプリアンブル、制御ビット等が付加されて、データ量が増大する。そこで、外部バスI/F35から外部バスI/F24へ送信されるデータ量を、関数fxによってfx(Ld)と表す。   The processing time Td is as follows if it is to be calculated strictly. For example, the data string to be processed having the data length Ld output from the processing request transmission unit 32 to the external bus I / F 35 is converted into a predetermined communication format in the external bus I / F 35, and, for example, a header, a preamble, a control bit, etc. In addition, the amount of data increases. Therefore, the amount of data transmitted from the external bus I / F 35 to the external bus I / F 24 is expressed as fx (Ld) by the function fx.

そして、fx(Ld)のデータ量となった被処理データ列が外部バスI/F24で受信されると、外部バスI/F24において調停部22で処理可能なデータフォーマットに変換され、そのデータ量は関数fyを用いてfy(fx(Ld))と表される。   When the data string to be processed having the data amount of fx (Ld) is received by the external bus I / F 24, it is converted into a data format that can be processed by the arbitration unit 22 in the external bus I / F 24. Is expressed as fy (fx (Ld)) using the function fy.

ここで、外部バスI/F35,24による通信処理時間は、Tx(fx(Ld))と表される。そして、外部バスI/F24から調停部22を介してメモリコントローラ23へ被処理データ列を転送する処理時間、すなわち調停部22の処理時間は、Ty(fy(fx(Ld)))と表される。   Here, the communication processing time by the external bus I / F 35, 24 is expressed as Tx (fx (Ld)). The processing time for transferring the data string to be processed from the external bus I / F 24 to the memory controller 23 via the arbitration unit 22, that is, the processing time of the arbitration unit 22 is expressed as Ty (fy (fx (Ld))). The

次に、メモリコントローラ23において、データ量がfy(fx(Ld))となった被処理データ列から、元のデータ長Ldの被処理データ列が取り出されてメモリ4に書き込まれる。このとき、メモリコントローラ23によるメモリ4の書込処理時間は、Tz(Ld)と表される。   Next, in the memory controller 23, the processed data string having the original data length Ld is extracted from the processed data string whose data amount is fy (fx (Ld)) and written into the memory 4. At this time, the write processing time of the memory 4 by the memory controller 23 is expressed as Tz (Ld).

そうすると、データ処理部5のスループットの観点から、処理要求送信部32から出力された被処理データ列がメモリ4に書き込まれるのにかかる処理時間Tdは、Tx(fx(Ld))、Ty(fy(fx(Ld)))、及びTz(Ld)のうちの最大値として得られる。   Then, from the viewpoint of the throughput of the data processing unit 5, the processing time Td required for the processing target data string output from the processing request transmission unit 32 to be written to the memory 4 is Tx (fx (Ld)), Ty (fy (Fx (Ld))) and Tz (Ld).

しかしながら、Tx(fx(Ld))、Ty(fy(fx(Ld)))、及びTz(Ld)を計算し、その最大値を得ようとすると、例えば実際に外部バスI/F35,24、調停部22、及びメモリコントローラ23を動作させる等して動的にTx(fx(Ld))、Ty(fy(fx(Ld)))、及びTz(Ld)を検出するなどの処理が必要となるため、処理時間Tdの算出処理が大変複雑となり、その算出回路の回路規模の増大や、算出時間の増大を招く結果となって望ましくない。   However, when Tx (fx (Ld)), Ty (fy (fx (Ld))), and Tz (Ld) are calculated and the maximum value is obtained, for example, the external bus I / F 35, 24, Processing such as dynamically detecting Tx (fx (Ld)), Ty (fy (fx (Ld))), and Tz (Ld) by operating the arbitration unit 22 and the memory controller 23 is required. Therefore, the calculation process of the processing time Td becomes very complicated, which is undesirable because it results in an increase in the circuit scale of the calculation circuit and an increase in the calculation time.

そこで、データ処理部5全体の処理時間を、例えば実験的に最小二乗法等の手法により式(1)における定数a,bを求めたり、理論計算により予め定数a,bを求めたりしておくことで、式(1)による単純な一次関数の演算処理によって、近似的に、簡素な回路によって短時間で処理時間Tdを求めることが可能とされている。   Therefore, the processing time of the entire data processing unit 5 is obtained by, for example, experimentally obtaining the constants a and b in the equation (1) by a method such as a least square method, or by obtaining the constants a and b in advance by theoretical calculation. Thus, the processing time Td can be obtained in a short time by a simple circuit by a simple linear function calculation process according to the equation (1).

ここで、一般的には、Tx(fx(Ld))、fy(fx(Ld))、及びTz(Ld)のうち、外部バスI/F35,24による通信処理時間、すなわちTx(fx(Ld))が、最大となる。この場合、外部バスI/F35,24と、調停部22と、メモリコントローラ23とのうち、外部バスI/F35,24がデータ処理部5におけるボトルネックとなっている。   Here, in general, of Tx (fx (Ld)), fy (fx (Ld)), and Tz (Ld), the communication processing time by the external bus I / F 35, 24, that is, Tx (fx (Ld) )) Is the maximum. In this case, among the external bus I / F 35, 24, the arbitration unit 22, and the memory controller 23, the external bus I / F 35, 24 is a bottleneck in the data processing unit 5.

次に、上述のように構成された情報処理装置1の動作について説明する。まず、機能モジュールA,B,Cから、データ長Ldaの被処理データ列Da、データ長Ldbの被処理データ列Db、データ長Ldcの被処理データ列Dcのライトアクセスの要求が、ほぼ同時に要求受付部31へ出力されたものとする。   Next, the operation of the information processing apparatus 1 configured as described above will be described. First, from the functional modules A, B, and C, requests for write access to the processed data string Da having the data length Lda, the processed data string Db having the data length Ldb, and the processed data string Dc having the data length Ldc are requested almost simultaneously. It is assumed that it has been output to the reception unit 31.

そうすると、要求受付部31のキューバッファに、被処理データ列Da、被処理データ列Db、及び被処理データ列Dcが記憶される。   Then, the processed data string Da, the processed data string Db, and the processed data string Dc are stored in the queue buffer of the request receiving unit 31.

次に、処理要求送信部32によって、要求受付部31のキューバッファから、例えば機能モジュールA,B,Cの順に予め設定された優先順位に応じて被処理データ列Daが読み出され、データ長計数部33を介して外部バスI/F35へ出力される。   Next, the processing request transmission unit 32 reads the data string Da to be processed from the queue buffer of the request reception unit 31 according to the priority order set in advance in the order of the functional modules A, B, C, for example, and the data length The data is output to the external bus I / F 35 via the counting unit 33.

そうすると、処理要求送信部32から外部バスI/F35へ被処理データ列Daが転送される過程で、データ長計数部33によって被処理データ列Daのデータ長Ldaが計数され、データ長Ldaを示す情報が処理時間算出部34へ出力される。   Then, in the process of transferring the data string Da to be processed from the processing request transmitter 32 to the external bus I / F 35, the data length counter 33 counts the data length Lda of the data string Da to be processed and indicates the data length Lda. Information is output to the processing time calculation unit 34.

そして、処理時間算出部34によって、式(1)を用いて処理時間Tdが算出され、算出された処理時間Tdが処理要求送信部32へ出力される。   Then, the processing time calculation unit 34 calculates the processing time Td using the formula (1), and the calculated processing time Td is output to the processing request transmission unit 32.

一方、外部バスI/F35は、被処理データ列Daを受信して外部バスI/F24へ出力する。そうすると、外部バスI/F24で受信された被処理データ列Daが、調停部22による調停を経てメモリコントローラ23へ出力され、メモリコントローラ23によってメモリ4へ書き込まれる。   On the other hand, the external bus I / F 35 receives the processed data string Da and outputs it to the external bus I / F 24. Then, the processed data string Da received by the external bus I / F 24 is output to the memory controller 23 through arbitration by the arbitration unit 22, and written to the memory 4 by the memory controller 23.

ここで、もし仮に処理要求送信部32が、被処理データ列Daを外部バスI/F35へ出力した直後に連続して次の被処理データ列Dbを外部バスI/F35へ出力すると、データ処理部5において、先に出力された被処理データ列Daの処理中に、被処理データ列Dbの処理が追いついてしまい、データ処理部5で輻輳が生じるおそれがある。   Here, if the processing request transmitting unit 32 outputs the next processed data string Db to the external bus I / F 35 continuously immediately after outputting the processed data string Da to the external bus I / F 35, data processing is performed. In the unit 5, the processing of the data string Db to be processed catches up during the processing of the data string Da to be processed that has been output first, and the data processing unit 5 may be congested.

そこで、処理要求送信部32は、被処理データ列Daを外部バスI/F35へ出力し終えた後、処理時間算出部34で算出された処理時間Tdが経過してから、要求受付部31のキューバッファから次の被処理データ列Dbを読み出して、データ長計数部33を介して外部バスI/F35へ出力する。   Therefore, after the processing request transmission unit 32 finishes outputting the processed data string Da to the external bus I / F 35 and the processing time Td calculated by the processing time calculation unit 34 has elapsed, The next data string Db to be processed is read from the queue buffer and output to the external bus I / F 35 via the data length counter 33.

そうすると、前回送信された被処理データ列Daのデータ長Ldaに応じて算出された処理時間Tdだけ、次に被処理データ列Dbが送信されるまでに時間間隔が空くため、データ処理部5において前回送信された被処理データ列Daと次に送信された被処理データ列Dbとで輻輳が生じるおそれが低減される。   As a result, the data processing unit 5 has a time interval until the next processing target data string Db is transmitted by the processing time Td calculated according to the data length Lda of the processing target data string Da transmitted last time. The possibility that congestion will occur between the data string Da to be processed transmitted last time and the data string Db to be processed next transmitted is reduced.

また、データ処理部5において、データ処理量が多ければ次の処理までの時間間隔が長くなり、データ処理量が少なければ次の処理までの時間間隔が短くなるため、背景技術に記載の輻輳の回避方法のように過剰な帯域制限を行って性能を低下させてしまうおそれを低減できる。そのため、データ処理部5において輻輳が発生するおそれを低減しつつ、情報処理装置1の性能を引き出すことが容易となる。   Further, in the data processing unit 5, the time interval until the next processing becomes long if the data processing amount is large, and the time interval until the next processing becomes short if the data processing amount is small. As in the avoidance method, it is possible to reduce the possibility that the bandwidth is excessively limited and the performance is deteriorated. Therefore, it becomes easy to extract the performance of the information processing apparatus 1 while reducing the possibility of congestion occurring in the data processing unit 5.

以降、外部バスI/F35へ出力された被処理データ列Dbに基づいて、データ処理部5において、被処理データ列Daの場合と同様に処理が実行されて、メモリ4への書込が行われる。   Thereafter, based on the processed data string Db output to the external bus I / F 35, the data processing unit 5 executes the same process as in the case of the processed data string Da, and writes to the memory 4. Is called.

さらにその次には、被処理データ列Dbについてデータ長計数部33で計測されたデータ長Ldbから、処理時間算出部34により処理時間Tdが算出される。   Next, the processing time Td is calculated by the processing time calculation unit 34 from the data length Ldb measured by the data length counting unit 33 for the processed data string Db.

そして、処理要求送信部32は、被処理データ列Dbを外部バスI/F35へ出力し終えた後、処理時間算出部34で算出された処理時間Tdが経過してから、要求受付部31のキューバッファから次の被処理データ列Dcを読み出して、データ長計数部33を介して外部バスI/F35へ出力する。以下、被処理データ列Da,Dbの場合と同様の処理が繰り返されることとなる。   Then, after the processing request transmission unit 32 finishes outputting the data string Db to be processed to the external bus I / F 35, the processing time Td calculated by the processing time calculation unit 34 has elapsed, and then the request receiving unit 31 The next data string Dc to be processed is read from the queue buffer and output to the external bus I / F 35 via the data length counter 33. Thereafter, the same processing as in the case of the processed data strings Da and Db is repeated.

この場合、機能モジュールA,B,C、外部バスI/F24,35、調停部22、及びメモリコントローラ23を含むデータ処理経路のうち、スループットのボトルネックとなる外部バスI/F24,35が、処理要求送信部32の直後に接続されており、外部バスI/F35は、処理対象となる被処理データ列を処理要求送信部32以外から受信することがないので、処理要求送信部32以外の構成要素から外部バスI/F35へ出力された被処理データ列によって、輻輳が生じることがない。   In this case, among the data processing paths including the functional modules A, B, and C, the external bus I / Fs 24 and 35, the arbitration unit 22, and the memory controller 23, the external bus I / Fs 24 and 35 that are the bottleneck of the throughput are Since the external bus I / F 35 is connected immediately after the processing request transmission unit 32 and does not receive the processing target data string to be processed from other than the processing request transmission unit 32, the external bus I / F 35 is not connected to the processing request transmission unit 32. Congestion does not occur due to the processed data string output from the component to the external bus I / F 35.

また、優先度設定レジスタ221には、CPUコア21よりも外部バスI/F24の優先順位が高く設定されており、調停部22は、CPUコア21からのメモリ4へのアクセス要求と、外部バスI/F24からのメモリ4へのアクセス要求とが競合した場合に外部バスI/F24からのメモリ4へのアクセス要求を優先するので、処理要求送信部32が、外部バスI/F24,35、調停部22、及びメモリコントローラ23を含むデータ処理経路において輻輳が生じないように被処理データ列間に処理時間Tdの間隔を空けているにもかかわらず、CPUコア21からのメモリ4へのアクセス要求に起因して処理時間Tdの時間内に被処理データ列が処理できなくなることが原因となって、輻輳が生じてしまうおそれが低減される。   In the priority setting register 221, the priority of the external bus I / F 24 is set higher than that of the CPU core 21, and the arbitration unit 22 receives an access request from the CPU core 21 to the memory 4 and the external bus. When the access request to the memory 4 from the I / F 24 conflicts, the access request to the memory 4 from the external bus I / F 24 is given priority, so that the processing request transmission unit 32 has the external bus I / Fs 24, 35, Access to the memory 4 from the CPU core 21 despite the interval of the processing time Td between the data strings to be processed so that congestion does not occur in the data processing path including the arbitration unit 22 and the memory controller 23 The possibility that congestion will occur due to the fact that the data string to be processed cannot be processed within the processing time Td due to the request is reduced.

なお、データ処理部が、外部バスI/F24,35、調停部22、及びメモリコントローラ23の各処理部から構成される例を示したが、各処理部としては外部バスI/F24,35、調停部22、及びメモリコントローラ23に限定されず、種々の構成要素を用いることができる。   In addition, although the data processing part showed the example comprised from each processing part of external bus I / F24,35, the arbitration part 22, and the memory controller 23, as each processing part, external bus I / F24,35, The configuration is not limited to the arbitration unit 22 and the memory controller 23, and various components can be used.

1 情報処理装置
2 マイクロプロセッサ
3 ASIC
4 メモリ
5 データ処理部
21 CPUコア
22 調停部
23 メモリコントローラ
24,35 外部バスI/F
30 処理要求送信回路
31 要求受付部
32 処理要求送信部
33 データ長計数部
34 処理時間算出部
221 優先度設定レジスタ
A,B,C 機能モジュール
Da,Db,Dc 被処理データ列
Ld,Lda,Ldb,Ldc データ長
Td 処理時間
1 Information processing device 2 Microprocessor 3 ASIC
4 Memory 5 Data Processing Unit 21 CPU Core 22 Arbitration Unit 23 Memory Controller 24, 35 External Bus I / F
30 Processing Request Transmission Circuit 31 Request Accepting Unit 32 Processing Request Transmitting Unit 33 Data Length Counting Unit 34 Processing Time Calculation Unit 221 Priority Setting Register A, B, C Functional Module Da, Db, Dc Processed Data Sequence Ld, Lda, Ldb , Ldc Data length Td Processing time

Claims (3)

処理要求送信回路と、データ処理部と、前記データ処理部へアクセス要求を出力する情報処理部とを備える情報処理装置であって、
前記処理要求送信回路は、
データを処理するデータ処理部に処理を要求する複数の被処理データ列を、並行して受け付ける要求受付部と、
前記要求受付部によって受け付けられた複数の被処理データ列を、順次前記データ処理部へ送信することにより、複数の要求相互間の調停を行う処理要求送信部と、
前記被処理データ列のデータ長を計数するデータ長計数部と、
前記データ長計数部によって計数されたデータ長Ldの被処理データ列を前記データ処理部が処理するのにかかる処理時間Tdを、Td=a×Ld+b、但し、a,bは定数の式で近似して算出する処理時間算出部とを備え、
前記処理要求送信部は、
一の被処理データ列を前記データ処理部へ送信した後、次に被処理データ列を前記データ処理部へ送信するまでに、前記一の被処理データ列について前記データ長計数部により計数されたデータ長に基づき前記処理時間算出部によって算出された処理時間以上の間隔を空け、
前記データ処理部は、直列接続された複数の処理部を用いて前記要求された処理を実行するものであり、前記複数の処理部として、
前記処理要求送信部から出力された被処理データ列を伝送するインターフェース回路と、
メモリと、
前記メモリへのアクセスを行うメモリ制御部と、
前記情報処理部からのアクセス要求、及び前記インターフェース回路によって伝送されてきた被処理データ列を受け付けて、当該受け付けられたアクセス要求と被処理データ列との関係を調停し、当該調停された順で、前記メモリ制御部による前記メモリへのアクセスを実行させる調停部とを含み、
前記複数の処理部のうち、前記インターフェース回路がスループットのボトルネックとなる処理部であり、
前記調停部は、
予め設定された優先順位に従って、前記情報処理部からのアクセス要求と被処理データ列との関係を調停するものであり、
前記情報処理部からのアクセス要求よりも前記インターフェース回路によって伝送されてきた被処理データ列の方が、前記優先順位が高く、
前記定数a、bは、実験的に最小二乗法により求められたものであることを特徴とする情報処理装置。
An information processing apparatus comprising a processing request transmission circuit, a data processing unit, and an information processing unit that outputs an access request to the data processing unit,
The processing request transmission circuit includes:
A request accepting unit that accepts, in parallel, a plurality of data strings to be processed that request processing from a data processing unit that processes data;
A processing request transmission unit that performs arbitration between a plurality of requests by sequentially transmitting a plurality of processed data strings received by the request reception unit to the data processing unit,
A data length counter for counting the data length of the processed data string;
Td = a × Ld + b, where a and b are approximated by constant expressions, for the processing time Td required for the data processing unit to process the processed data string of the data length Ld counted by the data length counting unit. And a processing time calculation unit for calculating
The processing request transmitter
After the one processed data string is transmitted to the data processing unit, the one processed data string is counted by the data length counting unit until the next processed data string is transmitted to the data processing unit. An interval equal to or greater than the processing time calculated by the processing time calculation unit based on the data length,
The data processing unit is configured to execute the requested processing using a plurality of processing units connected in series, and as the plurality of processing units,
An interface circuit that transmits a data string to be processed output from the processing request transmission unit;
Memory,
A memory control unit for accessing the memory;
The access request from the information processing unit and the processed data string transmitted by the interface circuit are received, and the relationship between the received access request and the processed data string is arbitrated, in the order in which the arbitration is performed. And an arbitration unit that executes access to the memory by the memory control unit,
Among the plurality of processing units, the interface circuit is a processing unit that becomes a bottleneck of throughput,
The mediation unit
According to a preset priority, the relationship between the access request from the information processing unit and the data string to be processed is arbitrated,
Towards the processed data sequence has been transmitted by said interface circuit than the access request from the information processing unit, the priority is rather high,
The information processing apparatus according to claim 1, wherein the constants a and b are experimentally obtained by a least square method .
前記処理要求送信回路は、前記被処理データ列を生成して前記要求受付部へ出力するデータ列生成部をさらに備え、
前記ボトルネックとなる処理部が、前記処理要求送信部の直後に接続されており、
前記ボトルネックとなる処理部は、処理対象となる被処理データ列の全部を前記処理要求送信部から受信すること
を特徴とする請求項に記載の情報処理装置。
The processing request transmission circuit further includes a data sequence generation unit that generates the processed data sequence and outputs the generated data sequence to the request reception unit,
The processing unit that is the bottleneck is connected immediately after the processing request transmission unit,
The information processing apparatus according to claim 1 , wherein the processing unit serving as the bottleneck receives the entire processing target data string to be processed from the processing request transmission unit.
前記データ長計数部は、
前記被処理データ列が前記処理要求送信部から前記データ処理部に至る経路上に、一つ設けられ、当該処理要求送信部から送信された被処理データ列のデータ長を計数すること
を特徴とする請求項1又は2に記載の情報処理装置。
The data length counter is
One processed data string is provided on a path from the processing request transmission unit to the data processing unit, and the data length of the processed data string transmitted from the processing request transmission unit is counted. The information processing apparatus according to claim 1 or 2 .
JP2010092266A 2010-04-13 2010-04-13 Information processing device Expired - Fee Related JP5478342B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010092266A JP5478342B2 (en) 2010-04-13 2010-04-13 Information processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010092266A JP5478342B2 (en) 2010-04-13 2010-04-13 Information processing device

Publications (2)

Publication Number Publication Date
JP2011223445A JP2011223445A (en) 2011-11-04
JP5478342B2 true JP5478342B2 (en) 2014-04-23

Family

ID=45039788

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010092266A Expired - Fee Related JP5478342B2 (en) 2010-04-13 2010-04-13 Information processing device

Country Status (1)

Country Link
JP (1) JP5478342B2 (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0654483B2 (en) * 1988-10-13 1994-07-20 松下電器産業株式会社 Memory access method
JPH06152685A (en) * 1992-11-11 1994-05-31 Hitachi Ltd Communication controller
JP3569149B2 (en) * 1999-02-03 2004-09-22 株式会社日立製作所 Communication control device

Also Published As

Publication number Publication date
JP2011223445A (en) 2011-11-04

Similar Documents

Publication Publication Date Title
US7577772B2 (en) Method and system for optimizing DMA channel selection
US8850085B2 (en) Bandwidth aware request throttling
US7861024B2 (en) Providing a set aside mechanism for posted interrupt transactions
US8631180B2 (en) Requests and data handling in a bus architecture
JP2011505038A (en) How to set parameters and determine latency in a chained device system
WO2008065045A2 (en) Dmac to handle transfers of unknown lengths data
EP2882146A1 (en) Data transmission device, communication control method, and communication control program
US20180089122A1 (en) System, apparatus and method for performing distributed arbitration
US10084710B2 (en) Data processing method of NOC without buffer and NOC electronic element
KR20260026476A (en) Multi-host and multi-client direct memory access system with read scheduler
US10223310B2 (en) Multi-source flow management using elastic FIFO structures
JP5056668B2 (en) Data transfer apparatus and data transfer method
JP5478342B2 (en) Information processing device
JP4687925B2 (en) Priority arbitration system and priority arbitration method
US9110856B2 (en) Interface control apparatus, data storage apparatus and method for interface control
US7987437B2 (en) Structure for piggybacking multiple data tenures on a single data bus grant to achieve higher bus utilization
CN117149278A (en) A command processing system, control method and host device
KR20180133672A (en) Method of arbitrating for inter-connecting within a multi-processor system and apparatuses performing the same
US9785580B2 (en) Bridge and method for coupling a requesting interconnect and a serving interconnect in a computer system
US9703730B2 (en) Arbitration circuit and processing method of arbitration circuit
CN117331510B (en) Data migration method, device and equipment applied to NVMe controller
US8977786B1 (en) Method and system for processing information at peripheral devices
CN121239648A (en) Grouping generation method and apparatus for ordered data offloading
JP6221845B2 (en) Arithmetic processing device and control method of arithmetic processing device
JP2014038497A (en) Parallel computer system, data transfer device and control method for parallel computer system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120321

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130515

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130528

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130726

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131029

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131217

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140114

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140210

R150 Certificate of patent or registration of utility model

Ref document number: 5478342

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees