JP5697102B2 - Configuration apparatus and configuration method of image processing system - Google Patents
Configuration apparatus and configuration method of image processing system Download PDFInfo
- Publication number
- JP5697102B2 JP5697102B2 JP2012033894A JP2012033894A JP5697102B2 JP 5697102 B2 JP5697102 B2 JP 5697102B2 JP 2012033894 A JP2012033894 A JP 2012033894A JP 2012033894 A JP2012033894 A JP 2012033894A JP 5697102 B2 JP5697102 B2 JP 5697102B2
- Authority
- JP
- Japan
- Prior art keywords
- task
- data amount
- output
- output data
- input
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Image Processing (AREA)
Description
本発明は、既存の画像処理システムを複数の処理部品(IP)に分解し、処理部品間の接続を変更して画像処理システムを再構成するための技術に関する。 The present invention relates to a technique for reconstructing an image processing system by disassembling an existing image processing system into a plurality of processing components (IP) and changing connections between the processing components.
特定の画像処理を行うよう設計された画像処理システムがあったとき、その内部での処理順序の変更など、柔軟性を高めようとした場合には、画像処理システムを複数の処理部品に分解し、処理部品間の接続を変更して画像処理システムを再構成する。 When there is an image processing system designed to perform specific image processing, if you want to increase flexibility, such as changing the internal processing order, disassemble the image processing system into multiple processing components. The image processing system is reconfigured by changing the connection between the processing components.
ここで、画像処理システムを構成する処理部品間の接続を変更する一般的な方法の1つに、画像処理システムをNoC(Network-on-Chip)構成にする方法が挙げられる。 Here, as a general method for changing the connection between the processing components constituting the image processing system, there is a method in which the image processing system has a NoC (Network-on-Chip) configuration.
NoCは、複数の処理部品が集積回路上に搭載されているとき、これらの処理部品間の接続を柔軟に変更するための技術である。この技術は、複数の処理部品のそれぞれに「ルータ」を付加することが特徴である。ルータは、データを送受信するための配線で近隣のルータと相互に接続されている。すなわち、ルータは、複数の送信ポートを持っている。処理部品から出力されるデータには宛先が付随しており、ルータはこの宛先にしたがってデータを適切な送信ポートから送信する。ルータは、受信したデータを処理部品への入力とすること、処理部品の出力を送信すること、ならびに、受信したデータをそのまま送信(転送)することができる。本明細書においては、ルータ間の配線とルータとから形成される系を狭義のNoCと表記する。 NoC is a technique for flexibly changing the connection between processing components when a plurality of processing components are mounted on an integrated circuit. This technology is characterized in that a “router” is added to each of a plurality of processing components. The routers are interconnected with neighboring routers by wiring for transmitting and receiving data. That is, the router has a plurality of transmission ports. The data output from the processing component is accompanied by a destination, and the router transmits the data from an appropriate transmission port according to the destination. The router can use the received data as an input to the processing component, transmit the output of the processing component, and transmit (transfer) the received data as it is. In this specification, a system formed by wiring between routers and a router is expressed as NoC in a narrow sense.
NoCに搭載されたルータの機能により所望の柔軟性を得られるが、NoCは、ルータを付加するために所要面積が増大するという問題点があった。 Although the desired flexibility can be obtained by the function of the router mounted on the NoC, the NoC has a problem that the area required for adding the router increases.
この問題に関し、画像処理システムをBMNoC(Bus-Mesh-NoC)構成にすると、NoC構成よりも所要面積を小さくできることが、非特許文献1に記載されている。 Regarding this problem, Non-Patent Document 1 describes that if the image processing system has a BMNoC (Bus-Mesh-NoC) configuration, the required area can be made smaller than that of the NoC configuration.
BMNoCは、NoCの改良技術の1つであり、処理部品のそれぞれがバスに搭載されることが特徴である。バス上にルータがあり、ルータとルータ間の配線とから形成される部分は従来のNoCに相当する。バス上にはスイッチを置き、複数のスイッチをルータに収容するという構成もありうる。 BMNoC is one of the improved technologies of NoC and is characterized in that each processing component is mounted on a bus. There is a router on the bus, and the portion formed by the router and the wiring between the routers corresponds to a conventional NoC. There may be a configuration in which switches are placed on the bus and a plurality of switches are accommodated in a router.
ここで、NoCとBMNoCとを比較する。 Here, NoC and BMNoC are compared.
NoCでは、処理部品間の十分な転送能力を実現するためには、配線を網目状あるいは完全メッシュで構成する必要がある。しかしながら、このように構成すると、ルータ間の配線が多くなる。また、NoCでは、データの宛先に付随する処理を行うための面積が必要であり、この面積はルータの数に比例して増えることになる。集積回路上では、これらの面積は、処理部品を実現するための面積から差し引かれることなり、処理部品の実現にあてる面積が損失していた。 In NoC, in order to realize sufficient transfer capability between processing components, it is necessary to configure the wiring in a mesh or a complete mesh. However, this configuration increases the wiring between routers. In NoC, an area for performing processing associated with a data destination is required, and this area increases in proportion to the number of routers. On the integrated circuit, these areas are subtracted from the area for realizing the processing component, and the area for realizing the processing component is lost.
一方、BMNoCでは、近い処理部品間のデータ転送についてはバスを用いることによって主に後者(ルータの面積)を節約することができる。また、異なるバスに搭載された処理部品間のデータ転送については、スイッチおよびルータを経由することになるが、こうした経路にはデータ量の少ない転送を割り当てることができる。これは、BMNoC構成アルゴリズムによって実現し、これによって、ルータ間の配線が少なくても性能を維持できるため、主に前者(ルータ間の配線)を節約することができる。 On the other hand, in BMNoC, the latter (area of the router) can be saved mainly by using a bus for data transfer between close processing components. In addition, data transfer between processing components mounted on different buses goes through a switch and a router, but transfer with a small amount of data can be assigned to such a route. This is realized by the BMNoC configuration algorithm, and this allows the performance to be maintained even if the number of wiring between routers is small, so that the former (wiring between routers) can be mainly saved.
上述したように、画像処理システムをBMNoC構成にすると、NoC構成よりも所要面積が小さくなるという利点がある。 As described above, when the image processing system has the BMNoC configuration, there is an advantage that the required area is smaller than that of the NoC configuration.
ただし、BMNoC構成アルゴリズムでは、ある処理部品をどのバスに搭載すると、その影響として、各箇所のバスおよびバス間を接続するネットワーク上の転送経路のデータ転送量がどのようになるかを算出し、バスおよび転送経路のそれぞれに固有のデータ転送能力を上限として、処理部品の配置を最適化している。そのため、バスおよび転送経路のそれぞれの固有のデータ転送能力については別に与えつつ、処理部品が実行する各タスクの出力データ量を事前に求めることが必要となる。 However, in the BMNoC configuration algorithm, when a certain processing component is mounted on which bus, as an influence, the data transfer amount of the transfer path on the network connecting the buses between the buses is calculated. The arrangement of processing components is optimized with the data transfer capability inherent to each of the bus and the transfer path as the upper limit. Therefore, it is necessary to obtain the output data amount of each task executed by the processing component in advance while giving the specific data transfer capability of each bus and transfer path separately.
しかしながら、タスクの出力データ量は、一般には、実物のプロセッサや、プロセッサを模擬する専用のシミュレータにより計測するため、手間と時間を費やしてしまうという課題がある。 However, since the amount of output data of a task is generally measured by a real processor or a dedicated simulator for simulating the processor, there is a problem that labor and time are consumed.
本発明の目的は、実物のプロセッサや専用のシミュレータを用いることなく、タスクの出力データ量を算出することができる技術を提供することにある。 An object of the present invention is to provide a technique capable of calculating the amount of output data of a task without using a real processor or a dedicated simulator.
本発明の画像処理システムの構成装置は、
複数のタスクのそれぞれを処理部品によって実行する画像処理システムを構成するための構成装置であって、
前記タスクごとに、該タスクが持つ各入力の入力データ量のリストを記述したタスク入力データ量表を格納する第1の格納部と、
前記処理部品ごとに、該処理部品が持つ各出力の出力データ量のリストを記述した部品別出力データ量表を格納する第2の格納部と、
前記タスクごとに、該タスクを実行する処理部品と、該タスクの出力データが入力される次タスクの入力のリストと、を記述したタスクグラフ接続表を格納する第3の格納部と、
前記タスク入力データ量表から、前記入力データ量が全て定まったタスクを対象タスクとして抽出する第1の処理と、前記タスクグラフ接続表から、前記対象タスクを実行する処理部品と前記対象タスクの次タスクの入力のリストとを取り出す第2の処理と、前記部品別出力データ量表から、前記対象タスクを実行する処理部品の各出力の出力データ量のリストを取り出す第3の処理と、前記タスク入力データ量表から、前記対象タスクの各入力の入力データ量のリストを取り出す第4の処理と、前記対象タスクの各入力の入力データ量と前記対象タスクを実行する処理部品の各出力の出力データ量とを基に、前記対象タスクの各出力の出力データ量を算出し、算出した各出力の出力データ量のリストを前記タスク出力データ量表に記述する第5の処理と、前記タスク入力データ量表における前記対象タスクの次タスクの入力の入力データ量として、前記対象タスクの対応する出力の出力データを記述する第6の処理と、を、前記複数のタスクの全てについて、前記入力データ量が全て定まったタスクから順次実行するデータ転送量算出部と、
前記タスクごとに、該タスクが持つ各出力の出力データ量であって前記データ転送量算出部が算出した各出力の出力データ量のリストを記述したタスク出力データ量表を格納する第4の格納部と、を有する。
The apparatus of the image processing system of the present invention is
A configuration device for configuring an image processing system that executes each of a plurality of tasks by a processing component,
A first storage unit that stores a task input data amount table describing a list of input data amounts of each input of the task for each task;
A second storage unit that stores, for each processing component, a component-specific output data amount table that describes a list of output data amounts of each output of the processing component;
A third storage unit for storing a task graph connection table describing a processing component for executing the task and a list of inputs of the next task to which the output data of the task is input for each task;
A first process for extracting a task whose input data amount is all determined from the task input data amount table as a target task, and a processing component for executing the target task and the next to the target task from the task graph connection table. A second process for extracting a list of task inputs, a third process for extracting a list of output data amounts of each output of the processing component executing the target task from the component-specific output data amount table, and the task A fourth process for extracting a list of input data amounts for each input of the target task from an input data amount table; and an output of each input of the target task and each output of a processing component that executes the target task based on the data amount, describe and calculate the output data of the output of the target task to calculate the list of output data of the output in the task output data amount table And a sixth process that describes output data of the output corresponding to the target task as the input data amount of the input of the next task of the target task in the task input data amount table. For all of the tasks, a data transfer amount calculation unit that executes sequentially from the task in which the amount of input data is all determined ,
A fourth storage for storing a task output data amount table describing a list of output data amounts of each output calculated by the data transfer amount calculation unit for each task, which is an output data amount of each output of the task Part.
本発明の画像処理システムの構成方法は、
複数のタスクのそれぞれを処理部品によって実行する画像処理システムを構成するための構成装置による構成方法であって、
前記タスクごとに、該タスクが持つ各入力の入力データ量のリストをタスク入力データ量表に記述する第1のステップと、
前記処理部品ごとに、該処理部品が持つ各出力の出力データ量のリストを部品別出力データ量表に記述する第2のステップと、
前記タスクごとに、該タスクを実行する処理部品と、該タスクの出力データが入力される次タスクの入力のリストと、をタスクグラフ接続表に記述する第3のステップと、
前記タスク入力データ量表、前記部品別出力データ量表、および前記タスクグラフ接続表に基づいて、前記タスクごとに、該タスクが持つ各出力の出力データ量を算出し、前記タスク入力データ量表から、前記入力データ量が全て定まったタスクを対象タスクとして抽出する第1の処理と、前記タスクグラフ接続表から、前記対象タスクを実行する処理部品と前記対象タスクの次タスクの入力のリストとを取り出す第2の処理と、前記部品別出力データ量表から、前記対象タスクを実行する処理部品の各出力の出力データ量のリストを取り出す第3の処理と、前記タスク入力データ量表から、前記対象タスクの各入力の入力データ量のリストを取り出す第4の処理と、前記対象タスクの各入力の入力データ量と前記対象タスクを実行する処理部品の各出力の出力データ量とを基に、前記対象タスクの各出力の出力データ量を算出し、算出した各出力の出力データ量のリストを前記タスク出力データ量表に記述する第5の処理と、前記タスク入力データ量表における前記対象タスクの次タスクの入力の入力データ量として、前記対象タスクの対応する出力の出力データを記述する第6の処理と、を、前記複数のタスクの全てについて、前記入力データ量が全て定まったタスクから順次実行し、前記タスクごとに、該タスクが持つ各出力の出力データ量であって前記算出した各出力の出力データ量のリストをタスク出力データ量表に記述する第4のステップと、を有する。
The configuration method of the image processing system of the present invention includes:
A configuration method by a configuration device for configuring an image processing system that executes each of a plurality of tasks by a processing component,
For each task, a first step of describing a list of input data amounts of each input of the task in a task input data amount table;
A second step of describing, for each processing component, a list of output data amounts for each output of the processing component in a component-specific output data amount table;
A third step for describing, in the task graph connection table, a processing component for executing the task and a list of inputs of the next task to which output data of the task is input for each task;
Based on the task input data amount table, the component-specific output data amount table, and the task graph connection table, for each task, an output data amount of each output of the task is calculated, and the task input data amount table From the task graph connection table, a processing component for executing the target task and a list of inputs of the next task after the target task, From the second process for retrieving the output data, the third process for retrieving the output data amount list of each output of the processing component that executes the target task from the component-specific output data amount table, and the task input data amount table, A fourth process for retrieving a list of input data amounts of each input of the target task, and a process of executing the input data amount of each input of the target task and the target task The output data amount of each output of the target task is calculated based on the output data amount of each output of the product, and a list of calculated output data amounts of each output is described in the task output data amount table. And a sixth process for describing output data of output corresponding to the target task as an input data amount of an input of the next task of the target task in the task input data amount table. For all the tasks, the input data amount is sequentially executed from the task in which all the input data amounts are determined, and for each task, the output data amount of each output possessed by the task and the calculated output data amount list of each output are displayed as task output data. And a fourth step described in the quantity table.
本発明によれば、処理部品に固有の出力データ量を部品別出力データ表として予め備えておき、この部品別出力データ表を用いてタスクの出力データ量を算出する。 According to the present invention, an output data amount specific to a processing component is prepared in advance as a component-specific output data table, and the task output data amount is calculated using the component-specific output data table.
その結果、実物のプロセッサや、プロセッサを模擬する専用のシミュレータが不要となるという効果を奏する。 As a result, there is an effect that a real processor and a dedicated simulator for simulating the processor are not required.
以下に、本発明を実施するための形態について図面を参照して説明する。 EMBODIMENT OF THE INVENTION Below, the form for implementing this invention is demonstrated with reference to drawings.
図1に、本実施形態の構成装置のブロック図を示す。 FIG. 1 shows a block diagram of a component device of the present embodiment.
図1に示すように、本実施形態の構成装置は、タスク入力データ量表格納部11と、部品別出力データ量表格納部12と、タスクグラフ接続表格納部13と、データ転送量算出部14と、タスク出力データ量表格納部15と、BMNoC構成決定部16と、BMNoC構成データ格納部17と、を有している。 As shown in FIG. 1, the configuration apparatus according to the present embodiment includes a task input data amount table storage unit 11, an output data amount table storage unit 12 for each component, a task graph connection table storage unit 13, and a data transfer amount calculation unit. 14, a task output data amount table storage unit 15, a BMNoC configuration determination unit 16, and a BMNoC configuration data storage unit 17.
本実施形態の構成装置は、複数のタスクのそれぞれを処理部品によって実行する画像処理システムを構成対象とし、その画像処理システムをBMNoC構成にするための装置である。 The configuration apparatus according to the present embodiment is an apparatus for configuring an image processing system that executes each of a plurality of tasks by using processing components, and setting the image processing system to a BMNoC configuration.
画像処理システムをBMNoC構成にする際には、タスクの接続関係を表す構成線図と、各タスクの各出力の出力データ量と、を併せて示したタスクグラフが必要となる。 When the image processing system is configured to have a BMNoC configuration, a task graph that shows a configuration diagram representing task connection relationships and an output data amount of each output of each task is required.
本実施形態においては、タスクグラフを、タスクの接続関係を表すタスクグラフ接続表と、各タスクの各出力の出力データ量を表すタスク出力データ量表と、に分解し、後者のタスク出力データ量表の作成に必要なタスクの出力データ量を算出する手段として、データ転送量算出部14を備えている。 In the present embodiment, the task graph is divided into a task graph connection table representing the connection relation between tasks and a task output data amount table representing the output data amount of each output of each task, and the latter task output data amount A data transfer amount calculation unit 14 is provided as means for calculating the output data amount of a task necessary for creating a table.
ここで、本実施形態の構成装置の各構成要素について詳細に説明する。 Here, each component of the component apparatus of this embodiment is demonstrated in detail.
タスク入力データ量表格納部11は、タスクごとに、そのタスクが持つ各入力の入力データ量を列挙したリストを記述したタスク入力データ量表を格納する第1の格納部である。なお、タスク入力データ量表の例は、後に図6Aに示す。 The task input data amount table storage unit 11 is a first storage unit that stores, for each task, a task input data amount table that describes a list that lists the input data amount of each input of the task. An example of the task input data amount table is shown later in FIG. 6A.
部品別出力データ量表格納部12は、処理部品ごとに、その処理部品が持つ各出力の出力データ量を列挙したリストを記述した部品別出力データ量表を格納する第2の格納部である。なお、部品別出力データ量表の例は、後に図6Bに示す。 The component-specific output data amount table storage unit 12 is a second storage unit that stores, for each processing component, a component-specific output data amount table that describes a list that lists the output data amount of each output of the processing component. . An example of the output data amount table for each part is shown later in FIG. 6B.
タスクグラフ接続表格納部13は、タスクごとに、そのタスクを実行する処理部品と、そのタスクの出力データが入力される次タスクの入力を列挙したリストと、を記述したタスクグラフ接続表を格納する第3の格納部である。なお、タスクグラフ接続表の例は、後に図6Cに示す。 The task graph connection table storage unit 13 stores, for each task, a task graph connection table that describes a processing component that executes the task and a list that enumerates the input of the next task to which the output data of the task is input. It is the 3rd storage part. An example of the task graph connection table is shown later in FIG. 6C.
データ転送量算出部14は、タスク入力データ量表、部品別出力データ量表、およびタスクグラフ接続表に基づいて、タスクごとに、そのタスクが持つ各出力の出力データ量を算出する。なお、データ転送量算出部14のアルゴリズムの例は、後に図6Eに示す。 Based on the task input data amount table, the component-specific output data amount table, and the task graph connection table, the data transfer amount calculation unit 14 calculates the output data amount of each output of the task for each task. An example of the algorithm of the data transfer amount calculation unit 14 is shown later in FIG. 6E.
タスク出力データ量表格納部15は、タスクごとに、そのタスクが持つ各出力の出力データ量であってデータ転送量算出部14が算出した出力データ量を列挙したリストを記述したタスク出力データ量表を格納する第4の格納部である。なお、タスク出力データ量表の例は、後に図6Dに示す。 The task output data amount table storage unit 15 includes, for each task, a task output data amount describing a list that lists the output data amount of each output of the task and the output data amount calculated by the data transfer amount calculation unit 14 It is the 4th storage part which stores a table. An example of the task output data amount table is shown later in FIG. 6D.
BMNoC構成決定部16は、タスクグラフ接続表およびタスク出力データ量表に基づいて、BMNoCアルゴリズムを用いて、画像処理システムをBMNoC構成にする際の処理部品の配置を決定する。なお、BMNoCアルゴリズムの例は、後に図7に示す。 Based on the task graph connection table and the task output data amount table, the BMNoC configuration determination unit 16 determines the arrangement of processing components when the image processing system is configured to have a BMNoC configuration using the BMNoC algorithm. An example of the BMNoC algorithm is shown later in FIG.
BMNoC構成データ格納部17は、BMNoC構成決定部16が処理部品の配置を決定した画像処理システムのBMNoC構成を表すデータを格納する。 The BMNoC configuration data storage unit 17 stores data representing the BMNoC configuration of the image processing system for which the BMNoC configuration determination unit 16 has determined the arrangement of processing components.
図2に、本実施形態の構成装置が構成対象とする既存の画像処理システムの例を示す。 FIG. 2 shows an example of an existing image processing system to be configured by the configuration apparatus of the present embodiment.
図2に示すように、この画像処理システムは、入力IF(入力インターフェース)21と、複数のタスクをそれぞれ実行する処理部品22と、出力IF(出力インターフェース)23と、を有している。 As shown in FIG. 2, the image processing system includes an input IF (input interface) 21, a processing component 22 that executes a plurality of tasks, and an output IF (output interface) 23.
なお、図2において、処理部品22を表す角丸四角形における括弧()内の文字は部品種別を表し、その上の文字は処理内容を表している。ただし、図2に示した処理部品22は一例であり、画像処理システムをどのような処理部品22で構成するかは本発明の本質的部分ではない。そのため、処理部品22の処理内容についての詳細な説明は省略する。 In FIG. 2, characters in parentheses () in the rounded rectangle representing the processing component 22 indicate the component type, and the character above it indicates the processing content. However, the processing component 22 shown in FIG. 2 is an example, and what processing component 22 constitutes the image processing system is not an essential part of the present invention. Therefore, the detailed description about the processing content of the processing component 22 is abbreviate | omitted.
入力IF21から入力された画像信号は、処理部品22のそれぞれで処理される。処理部品22の出力は、その処理部品22に接続された次の処理部品22に渡される。処理部品22のそれぞれで処理された画像信号は、出力IF23から出力される。 The image signal input from the input IF 21 is processed by each of the processing components 22. The output of the processing component 22 is passed to the next processing component 22 connected to the processing component 22. The image signal processed by each of the processing components 22 is output from the output IF 23.
いったん、こうして構成した画像処理システムを再構成するには、その画像処理システムを構成する処理部品22の結線を外し、処理部品22を接続し直すことになる。 In order to reconfigure the image processing system thus configured, the processing component 22 constituting the image processing system is disconnected and the processing component 22 is reconnected.
そこで、本実施形態においては、NoCの改良技術の1つであるBMNoC構成を採用し、画像処理システムをBMNoC構成にしている。以下、その理由を述べる。 Therefore, in the present embodiment, the BMNoC configuration, which is one of the improved NoC technologies, is adopted, and the image processing system is configured as the BMNoC configuration. The reason will be described below.
図3に、画像処理システムをNoC構成にした例を示す。 FIG. 3 shows an example in which the image processing system has a NoC configuration.
図3に示すように、画像処理システムをNoC構成にする場合、処理部品22のそれぞれにルータ24を付加する。 As shown in FIG. 3, when the image processing system has a NoC configuration, a router 24 is added to each processing component 22.
入力IF21から入力された画像信号は、まず、ルータ24に入る。ルータ24はいくつかの出力をもち、与えられた入力を、どのように識別してどの出力から送り出すか、予め設定しておくことができる。例えば、画像信号が入力として与えられた場合、処理を行う処理部品22に送り込むのか、それとも、次のルータ24に渡すか、などである。 The image signal input from the input IF 21 first enters the router 24. The router 24 has several outputs, and it is possible to set in advance how the given input is identified and from which output is sent. For example, when an image signal is given as an input, it is sent to the processing component 22 for processing, or is it passed to the next router 24 or the like.
また、画像信号に予め所定の識別子を付与し、識別子の値に応じて、その画像信号をどちらかに送るようにルータ24の設定を変えることもできる。 It is also possible to give a predetermined identifier to the image signal in advance and change the setting of the router 24 so that the image signal is sent to either one according to the value of the identifier.
画像処理システムをNoC構成にする場合、画像処理システムの再構成の際に、処理部品22の組み合わせや順序を変更する際に結線を外す必要はなく、ルータ24に与える設定を変更するだけでよい。 When the image processing system is configured as NoC, it is not necessary to disconnect the connection when changing the combination and order of the processing components 22 when reconfiguring the image processing system, and only the setting given to the router 24 needs to be changed. .
しかしながら、画像処理システムをNoC構成にする場合、ルータ24を付加するために所要面積が増大するという問題があった。 However, when the image processing system has a NoC configuration, there is a problem that a required area increases to add the router 24.
以上の理由で、本実施形態においては、背景技術で説明したように、NoC構成よりも所要面積を小さくすることができるBMNoC構成を採用している。 For the above reason, in this embodiment, as described in the background art, the BMNoC configuration that can reduce the required area as compared with the NoC configuration is adopted.
画像処理システムをBMNoC構成にするためには、タスクの接続関係を表す構成線図と、各タスクの各出力の出力データ量と、を併せて示したタスクグラフが必要となる。 In order to adopt the BMNoC configuration for the image processing system, a task graph that shows the configuration diagram representing the connection relation between tasks and the output data amount of each output of each task is required.
図4に、画像処理システムをBMNoC構成にする際に必要となるタスクグラフの例を示す。 FIG. 4 shows an example of a task graph required when the image processing system has a BMNoC configuration.
図4に示すように、タスクグラフにおいては、タスク30を丸囲みで表す。タスクグラフ上のタスク30には一意な番号を与える。これをタスクID(Identification)とする。タスク30を表す丸囲みにおける上部の文字はそのタスク30を実行する処理部品の部品種別を表し、下部の文字はそのタスク30のタスクIDを表す。タスクグラフ上のタスク30は、画像処理システムの構成線図における処理部品に相当する。タスクAの出力がタスクBの入力となるとき、タスクAからタスクBに向かう矢印の線で両者をつなぐ。この線は、画像処理システムの構成線図における処理部品間の結線に相当する。全てのタスク30についてこれを行う。タスク30間の線の近くに示した数値は、そのタスク30間で転送されるデータ量を表すものである。本実施形態においては、データ量の単位は任意としている。そのため、データ量は、特に実数である必要はなく、非負整数としている。 As shown in FIG. 4, in the task graph, the task 30 is represented by a circle. A unique number is assigned to the task 30 on the task graph. This is a task ID (Identification). The upper character in the circle representing the task 30 represents the component type of the processing component that executes the task 30, and the lower character represents the task ID of the task 30. The task 30 on the task graph corresponds to a processing component in the configuration diagram of the image processing system. When the output of task A becomes the input of task B, they are connected by an arrow line from task A to task B. This line corresponds to the connection between the processing components in the configuration diagram of the image processing system. This is done for all tasks 30. The numerical value shown near the line between the tasks 30 represents the amount of data transferred between the tasks 30. In the present embodiment, the unit of data amount is arbitrary. Therefore, the data amount does not need to be a real number and is a non-negative integer.
BMNoC構成アルゴリズムでは、このタスクグラフを基にして、画像処理システムをBMNoC構成にすることができる。 In the BMNoC configuration algorithm, the image processing system can be configured as a BMNoC configuration based on this task graph.
図5に、画像処理システムをBMNoC構成にした例を示す。 FIG. 5 shows an example in which the image processing system has a BMNoC configuration.
なお、図5において、MRはルータ、ESはスイッチ、NIはネットワークインタフェース、IPは処理部品、Busはバス、CNはノードを表す。 In FIG. 5, MR represents a router, ES represents a switch, NI represents a network interface, IP represents a processing component, Bus represents a bus, and CN represents a node.
図5は、図4に示した画像処理システムを、バス上に5つの処理部品、スイッチ配下に3つのバス、ルータ配下に2つのスイッチという条件のBMNoC構成に配置した例である。 FIG. 5 shows an example in which the image processing system shown in FIG. 4 is arranged in a BMNoC configuration under the condition of five processing components on a bus, three buses under a switch, and two switches under a router.
ただし、図5に示すように画像処理システムをBMNoC構成にするには、図4に示すようなタスクグラフが必要であり、このタスクグラフを得るためには、各タスクの出力データ量を求める必要がある。 However, in order to make the image processing system BMNoC configuration as shown in FIG. 5, a task graph as shown in FIG. 4 is necessary, and in order to obtain this task graph, it is necessary to determine the output data amount of each task. There is.
しかしながら、タスクの出力データ量は、一般には、実物のプロセッサや、プロセッサを模擬する専用のシミュレータにより計測するため、手間と時間を費やすものであった。 However, since the amount of output data of a task is generally measured by a real processor or a dedicated simulator that simulates the processor, it takes time and effort.
これに対して、本実施形態においては、データ転送量算出部14が、タスクの出力データ量を、そのタスクを実行する処理部品に固有の出力データ量を用いて算出する。 On the other hand, in this embodiment, the data transfer amount calculation unit 14 calculates the output data amount of the task using the output data amount specific to the processing component that executes the task.
ここで、タスクの出力データ量の算出方法について詳細に説明する。 Here, the calculation method of the output data amount of a task is demonstrated in detail.
データ転送量算出部14は、タスク入力データ量表、部品別出力データ量表、およびタスクグラフ接続表に基づいて、タスクごとに、そのタスクが持つ各出力の出力データ量を算出し、各出力の出力データ量を列挙したリストをタスク出力データ量表に記述する。 The data transfer amount calculation unit 14 calculates the output data amount of each output of the task for each task based on the task input data amount table, the output data amount table for each part, and the task graph connection table. Write a list that lists the output data amount in the task output data amount table.
そのため、タスクの出力データ量を算出する前の初期状態においては、タスク入力データ量表、部品別出力データ量表、およびタスクグラフ接続表の各欄に予め記述をしておく必要がある。なお、この記述は、データ転送量算出部14が行っても良いし、その他の手段が行っても良い。 Therefore, in the initial state before calculating the output data amount of the task, it is necessary to describe in advance in each column of the task input data amount table, the component-specific output data amount table, and the task graph connection table. This description may be performed by the data transfer amount calculation unit 14 or may be performed by other means.
ただし、部品別出力データ量表およびタスクグラフ接続表については、数値を全て定めて完成させておく必要があるが、タスク入力データ量表については、数値が定まっていないものは、特別な値としてnilを記述しておき、未完成のままとしておく。 However, for the output data amount table for each part and the task graph connection table, it is necessary to complete all the numerical values, but for the task input data amount table, if the numerical value is not fixed, it will be treated as a special value. Write nil and leave it unfinished.
図6Aに、タスク入力データ量表の例を示す。 FIG. 6A shows an example of a task input data amount table.
図6Aに示すように、タスク入力データ量表は、タスクのタスクIDに対して、そのタスクが持つ各入力の入力データ量のリストを記述した表である。 As shown in FIG. 6A, the task input data amount table is a table describing a list of input data amounts of each input of the task with respect to the task ID of the task.
タスクは、それぞれ固有の数の入力を持つので、予め入力を線形リストの順に整列しておき、それぞれの入力の入力データ量を、各線形リストの要素として記述する。これを、入力データ量リストと呼ぶ。 Since each task has a unique number of inputs, the inputs are arranged in advance in the order of the linear list, and the input data amount of each input is described as an element of each linear list. This is called an input data amount list.
タスクの入力のうち、いくつかの入力は、画像処理システムの外部入力に直接接続されている。そのため、これらの入力については、入力データ量リストの要素として、非負整数値を記述する。 Of the task inputs, some inputs are directly connected to external inputs of the image processing system. Therefore, for these inputs, non-negative integer values are described as elements of the input data amount list.
タスク間で転送されるデータ量を示す数値については、BMNoC構成アルゴリズム上は相対値として取り扱われ、その単位は任意としてよい。そのため、入力データ量は、特に実数である必要はなく、ここでは非負整数としている。 The numerical value indicating the amount of data transferred between tasks is treated as a relative value in the BMNoC configuration algorithm, and its unit may be arbitrary. Therefore, the input data amount does not need to be a real number, and is a non-negative integer here.
例えば、タスクIDが1のタスクは2つの入力を持ち、それら入力のそれぞれの入力データ量は、33と17である。 For example, a task with a task ID of 1 has two inputs, and the input data amounts of these inputs are 33 and 17, respectively.
なお、入力データ量の単位は、上述のように任意であり、例えば、時間あたりのビット数、画像処理システムの動作の1周期あたりのパケット数などとすることが考えられる。 The unit of the input data amount is arbitrary as described above. For example, the number of bits per time and the number of packets per cycle of the operation of the image processing system can be considered.
一方、タスクの入力のうち、いくつかの入力については、画像処理システムの外部入力に直接接続はされていないために、即座には入力データ量が定まらない。 On the other hand, some of the task inputs are not directly connected to the external input of the image processing system, so the amount of input data cannot be determined immediately.
そのため、初期状態では、これらの入力については、入力データ量リストの要素として、特別な値としてnilを記述したものを用意すればよい。 Therefore, in the initial state, these inputs may be prepared by describing nil as a special value as an element of the input data amount list.
後述するように、このnilは、やがて実数に置き換えられていく。 As will be described later, this nil is eventually replaced with a real number.
図6Bに、部品別出力データ量表の例を示す。 FIG. 6B shows an example of the output data amount table for each component.
図6Bに示すように、部品別出力データ量表は、処理部品の部品種別に対して、その処理部品が持つ各出力の出力データ量のリストを記述した表である。 As shown in FIG. 6B, the output data amount table for each component is a table describing a list of output data amounts of each output of the processing component with respect to the component type of the processing component.
処理部品は、それぞれ固有の数の出力を持つので、予め出力を線形リストの順に整列しておき、それぞれの出力の出力データ量を、各線形リストの要素として記述する。これを、出力データ量リストと呼ぶ。 Since each processing component has a unique number of outputs, the outputs are arranged in advance in the order of the linear list, and the output data amount of each output is described as an element of each linear list. This is called an output data amount list.
タスクグラフ上の2箇所以上のタスクにおいて、同じ処理部品が使われることもあるため、タスクIDに対してではなく、部品種別ごとに出力データ量リストを管理できる。 Since the same processing component may be used in two or more tasks on the task graph, the output data amount list can be managed for each component type, not for the task ID.
出力データ量リストの要素は、その処理部品に固有の出力データ量である。 An element of the output data amount list is an output data amount specific to the processing component.
処理部品において、出力データ量は、入力データ量に依存する場合があるため、入力データ量を変数とした関数で表現する。 In a processing component, the amount of output data may depend on the amount of input data, so it is expressed by a function with the amount of input data as a variable.
処理部品は、それぞれ固有の数の入力を持つので、予め入力を線形リストの順に整列しておき、それぞれのデータ量をx1,x2,x3,…という変数としておく。これらの変数に対して、出力データ量を関数表現する。 Since each processing component has a unique number of inputs, the inputs are arranged in advance in the order of the linear list, and the respective data amounts are set as variables x1, x2, x3,. For these variables, the output data amount is expressed as a function.
例えば、部品種別がPRGの処理部品は、2つの出力を持ちが、そのうちの1つの出力は、入力データ量x1によってx1*50で表現される、つまり入力データの50倍の量のデータを出力する。 For example, a processing component with a component type of PRG has two outputs, one of which is expressed as x1 * 50 by the input data amount x1, that is, outputs 50 times the amount of input data. To do.
出力データ量は、処理部品の固有の情報であるので、画像処理システムをどのように構成するかにかかわらず、定めることが可能である。 Since the output data amount is information specific to the processing component, it can be determined regardless of how the image processing system is configured.
図6Cに、タスクグラフ接続表の例を示す。 FIG. 6C shows an example of a task graph connection table.
図6Cに示すように、タスクグラフ接続表は、タスクのタスクIDに対して、そのタスクを実行する処理部品の部品種別と、そのタスクの出力データが入力される次タスクの入力のリストと、を記述した表である。 As shown in FIG. 6C, the task graph connection table includes, for the task ID of the task, a component type of a processing component that executes the task, an input list of the next task to which output data of the task is input, Is a table describing
例えば、タスクID3のタスクは、部品種別がPRGである処理部品で実行される。また、タスクID3のタスクの出力は2つあり、そのうちの1つの出力は、タスクID7のタスクの固有番号が1である入力へのデータとなる。次タスクリストは、あるタスクIDのタスクについて、こうした要素を全て含むよう、列挙したリストである。 For example, the task with task ID 3 is executed by a processing component whose component type is PRG. In addition, there are two outputs of the task with the task ID 3, and one of the outputs is data to an input whose task ID 7 is the unique number of the task. The next task list is an enumerated list that includes all such elements for a task with a certain task ID.
画像処理システムをタスクグラフの構成線図として表すことができれば、タスクグラフ接続表の要素を全て定めることが可能である。 If the image processing system can be represented as a configuration diagram of a task graph, all elements of the task graph connection table can be defined.
図6Dに、タスク出力データ量表の例を示す。 FIG. 6D shows an example of a task output data amount table.
図6Dに示すように、タスク出力データ量表は、タスクのタスクIDに対して、そのタスクの各出力の出力データ量を記述した表である。 As shown in FIG. 6D, the task output data amount table is a table describing the output data amount of each output of the task with respect to the task ID of the task.
タスクは、それぞれ固有の数の出力を持つので、予め出力を線形リストの順に整列しておき、それぞれの出力の出力データ量を、各線形リストの要素として記述する。これを、出力データ量リストと呼ぶ。 Since each task has a unique number of outputs, outputs are arranged in advance in the order of a linear list, and the output data amount of each output is described as an element of each linear list. This is called an output data amount list.
例えば、タスクIDが4のタスクは、2つの出力を持ち、それら出力のそれぞれの出力データ量は、100と250である。 For example, a task with task ID 4 has two outputs, and the output data amounts of these outputs are 100 and 250, respectively.
データ転送量算出部14は、このタスク出力データ量表を完成させることを目的とするものであり、そのための入力は、タスク入力データ量表(初期状態のもの)、部品別出力データ表、およびタスクグラフ接続表の3つである。 The data transfer amount calculation unit 14 is intended to complete the task output data amount table, and inputs for the task output data amount table (initial state), component-specific output data table, and There are three task graph connection tables.
図6Eに、タスク出力データ量表を作成するためのアルゴリズムを説明するフローチャートを示す。 FIG. 6E shows a flowchart for explaining an algorithm for creating a task output data amount table.
図6Eは、図6A、図6B、および図6Cにそれぞれ示す、タスク入力データ量表(初期状態のもの)、部品別出力データ表、タスクグラフ接続表を予め備えておき、それらの表を基に、図6Dに示すタスク出力データ量表を作成する例である。 FIG. 6E is prepared in advance with a task input data amount table (in an initial state), an output data table for each part, and a task graph connection table shown in FIG. 6A, FIG. 6B, and FIG. 6C, respectively. This is an example of creating the task output data amount table shown in FIG. 6D.
図6Eに示すように、まず、データ転送量算出部14は、リストLを用意する。そして、タス入力データ量表の中で、入力データ量が全て定まったタスクIDを全て抽出し、抽出したタスクIDをリストLの初期値として設定する(ステップA1)。リストLは、タス入力データ量表の中で、入力データ量が全て定まったタスクIDを要素とする表である。 As shown in FIG. 6E, first, the data transfer amount calculation unit 14 prepares a list L. Then, in the task input data amount table, all task IDs having all input data amounts are extracted, and the extracted task IDs are set as initial values of the list L (step A1). The list L is a table having, as elements, task IDs in which the input data amount is all determined in the task input data amount table.
次に、データ転送量算出部14は、タスク出力データ量表の初期化を行う(ステップA2)。この初期化の状態は、タスクグラフ接続表に存在するタスクIDをタスクIDの欄の値とし、それぞれの出力データ量リストを空欄とした状態である。 Next, the data transfer amount calculation unit 14 initializes the task output data amount table (step A2). This initialization state is a state in which the task ID existing in the task graph connection table is a value in the task ID column and each output data amount list is blank.
次に、データ転送量算出部14は、リストLからタスクIDを1つ取り出す(ステップA3)。以下、このタスクIDを持つタスクを対象タスクと称す。 Next, the data transfer amount calculation unit 14 extracts one task ID from the list L (step A3). Hereinafter, a task having this task ID is referred to as a target task.
次に、データ転送量算出部14は、ステップA3で取り出したタスクIDを用いて、タスクグラフ接続表を辞書引きし、対象タスクを実行する処理部品の部品種別と対象タスクの次タスクリストとを取り出す(ステップA4)。 Next, the data transfer amount calculation unit 14 uses the task ID extracted in step A3 to look up the task graph connection table as a dictionary, and obtains the component type of the processing component that executes the target task and the next task list of the target task. Take out (step A4).
次に、データ転送量算出部14は、ステップA4で取り出した部品種別を用いて、部品別出力データ量表を辞書引きし、対象タスクを実行する処理部品の部品種別の出力データ量リストを取り出す(ステップA5)。 Next, the data transfer amount calculation unit 14 uses the component type extracted in step A4 to look up a dictionary for the output data amount table for each component, and extracts an output data amount list for the component type of the processing component that executes the target task. (Step A5).
次に、データ転送量算出部14は、ステップA3で取り出したタスクIDを用いて、タスク入力データ量表を辞書引きし、対象タスクの入力データ量リストを取り出す(ステップA6)。 Next, the data transfer amount calculation unit 14 searches the task input data amount table using the task ID extracted in step A3, and extracts the input data amount list of the target task (step A6).
次に、データ転送量算出部14は、ステップA5で取り出した部品種別の出力データ量リストの要素である各関数(部品種別の各出力の出力データ量を求める関数)に、ステップA6で取り出した入力データ量リストの各入力の入力データ量を作用させることで、対象タスクの各出力の出力データ量を算出し、算出した各出力の出力データ量を列挙した出力データ量リストをタスク出力データ量表に記述する(ステップA7)。 Next, the data transfer amount calculation unit 14 extracts in step A6 each function (a function for obtaining the output data amount of each output of component type) that is an element of the output data amount list of the component type extracted in step A5. Calculate the output data amount of each output of the target task by applying the input data amount of each input in the input data amount list, and display the output data amount list that lists the calculated output data amount of each output. It is described in a table (step A7).
次に、データ転送量算出部14は、ステップA4で取り出した次タスクリストから、1つの要素(次タスクの入力)を取り出す。ここで、タスク入力データ量表において、次タスクの入力の入力データ量が空欄(nil)であれば、ここに、対象タスクの各出力のうち次タスクの入力に対応する出力の出力データ量であってステップA7で算出した出力データ量を記述する(ステップA8)。これを、次タスクリストの全ての要素について行う。 Next, the data transfer amount calculation unit 14 extracts one element (input of the next task) from the next task list extracted in step A4. Here, in the task input data amount table, if the input data amount of the input of the next task is blank (nil), the output data amount of the output corresponding to the input of the next task is output here. Therefore, the output data amount calculated in step A7 is described (step A8). This is performed for all elements of the next task list.
以上が終わったところで、データ転送量算出部14は、リストLを確認し、Lに未処理のタスクIDが存在しないか否かを判断する(ステップA9)。 When the above is completed, the data transfer amount calculation unit 14 checks the list L and determines whether or not there is an unprocessed task ID in L (step A9).
ステップA9において、リストLに未処理のタスクIDが存在する場合は、データ転送量算出部14は、ステップA3の処理に戻り、Lから未処理のタスクIDを1つ取り出して以降の処理を繰り返す。 If there is an unprocessed task ID in the list L in step A9, the data transfer amount calculation unit 14 returns to the process in step A3, extracts one unprocessed task ID from L, and repeats the subsequent processes. .
一方、ステップA9において、リストLに未処理のタスクIDが存在しない場合は、データ転送量算出部14は、タスク出力データ量表の出力データ量リストの欄に空欄が存在しないか否かを判断する(ステップA10)。 On the other hand, if there is no unprocessed task ID in the list L in step A9, the data transfer amount calculation unit 14 determines whether or not there is a blank in the output data amount list column of the task output data amount table. (Step A10).
ステップA10において、タスク出力データ量表の出力データ量リストの欄にまだ空欄が存在する場合には、複数のタスクの全てについて出力データ量リストが得られていないことになる。そのため、データ転送量算出部14は、タスク入力データ量表から、新たに入力データ量が全て定まったタスクIDを抽出してリストLに設定する(ステップA11)。そして、データ転送量算出部14は、ステップA3の処理に戻り、LからタスクIDを1つ取り出して以降の処理を繰り返す。 In step A10, if there is still a blank in the output data amount list column of the task output data amount table, the output data amount list has not been obtained for all of the plurality of tasks. Therefore, the data transfer amount calculation unit 14 extracts a task ID for which all the input data amounts are newly determined from the task input data amount table, and sets the task ID in the list L (step A11). Then, the data transfer amount calculation unit 14 returns to the process of step A3, extracts one task ID from L, and repeats the subsequent processes.
一方、ステップA10において、タスク出力データ量表の出力データ量リストの欄に空欄が存在しなかった場合は、複数のタスクの全てについて出力データ量リストが得られたことになる。そのため、データ転送量算出部14は、処理を終了する。 On the other hand, if no blank exists in the output data amount list column of the task output data amount table in step A10, the output data amount list is obtained for all of the plurality of tasks. Therefore, the data transfer amount calculation unit 14 ends the process.
以上のようにして、タスク出力データ量表が定まる。 The task output data amount table is determined as described above.
タスクグラフ接続表と、タスク出力データ量表と、によりタスクグラフを構成することができる。そのため、その後、BMNoC構成決定部16は、BMNoCアルゴリズムを用いて、画像処理システムをBMNoC構成にする際の処理部品の配置を決定する。 A task graph can be configured by the task graph connection table and the task output data amount table. Therefore, after that, the BMNoC configuration determination unit 16 determines the arrangement of processing components when the image processing system is set to the BMNoC configuration using the BMNoC algorithm.
図7に、画像処理システムをBMNoC構成にする際の処理部品の配置を決定するためのBMNoC構成アルゴリズムの例を説明するフローチャートを示す。 FIG. 7 is a flowchart illustrating an example of a BMNoC configuration algorithm for determining the arrangement of processing components when the image processing system is configured to have a BMNoC configuration.
図7に示すように、まず、BMNoC構成決定部16は、全ての処理部品を、バスに搭載可能な個数以下に区分する分け方を1以上生成する(ステップB1)。あらゆる組み合わせの分け方を予め生成しておいてもよいし、逐次的に生成していってもよい。バスは複数あり、例えば、全てのバスは5個ずつとか、あるいは、5個搭載できるバスと7個搭載できるバスとが半数ずつある、など、バスには処理部品を搭載可能な個数の制約を与えておく。 As shown in FIG. 7, first, the BMNoC configuration determination unit 16 generates one or more divisions that divide all the processing components into a number equal to or less than the number that can be mounted on the bus (step B1). Any combinations of combinations may be generated in advance, or may be generated sequentially. There are multiple buses, for example, all buses are 5 each, or there are 5 buses and half buses that can be mounted 7 and so on. Give it.
次に、BMNoC構成決定部16は、ステップB1で生成した分け方の中から1つを取り出す(ステップB2)。 Next, the BMNoC configuration determining unit 16 takes out one from the dividing methods generated in Step B1 (Step B2).
次に、BMNoC構成決定部16は、ステップB2で取り出した分け方で全ての処理部品をバスに搭載した場合において、全てのバスについて、そのバスに搭載した処理部品が実行するタスクの出力データ量の総和を算出し、これをそのバスのデータ転送能力と比較する(ステップB3)。ここで、出力データ量の総和を算出する際に、バスに搭載された処理部品のそれぞれが実行するタスクの出力データ量、すなわち、タスク出力データ量表が必要となる。 Next, when all the processing components are mounted on the bus by the division method extracted in step B2, the BMNoC configuration determining unit 16 outputs the amount of output data of the task executed by the processing components mounted on the bus for all the buses. Is compared with the data transfer capability of the bus (step B3). Here, when calculating the total sum of the output data amounts, an output data amount of a task executed by each processing component mounted on the bus, that is, a task output data amount table is required.
次に、BMNoC構成決定部16は、出力データ量の総和がデータ転送能力を超えるバスがあるか否かを判断する(ステップB4)。 Next, the BMNoC configuration determining unit 16 determines whether there is a bus whose total output data amount exceeds the data transfer capability (step B4).
ステップB4において、出力データ量の総和がデータ転送能力を超えるバスがあれば、BMNoC構成決定部16は、ステップB2の処理に戻り、別の分け方を1つ取り出して以降の処理を繰り返す。 In step B4, if there is a bus whose total output data amount exceeds the data transfer capability, the BMNoC configuration determining unit 16 returns to the process of step B2, extracts another division and repeats the subsequent processes.
一方、ステップB4において、出力データ量の総和がデータ転送能力を超えるバスがなく、全てのバスについて、出力データ量の総和がデータ転送能力以内であれば、BMNoC構成決定部16は、バス同士を接続しスイッチおよびルータを経由する全ての転送経路(すなわち、バス間の転送経路)について、その転送経路を転送される転送データ量を算出し、これをその転送経路のデータ転送能力と比較する(ステップB5)。ここで、転送データ量を算出する際に、バスに搭載された処理部品のそれぞれが実行するタスクの出力データ量、すなわち、タスク出力データ量表が必要となる。 On the other hand, if there is no bus whose total output data amount exceeds the data transfer capability in step B4 and the total output data amount is within the data transfer capability for all buses, the BMNoC configuration determining unit 16 determines whether the buses are connected to each other. For all the transfer paths connected through the switches and routers (that is, transfer paths between the buses), the amount of transfer data transferred through the transfer path is calculated and compared with the data transfer capability of the transfer path ( Step B5). Here, when calculating the transfer data amount, an output data amount of a task executed by each processing component mounted on the bus, that is, a task output data amount table is required.
次に、BMNoC構成決定部16は、転送データ量がデータ転送能力を超える転送経路があるか否かを判断する(ステップB6)。 Next, the BMNoC configuration determining unit 16 determines whether there is a transfer path in which the transfer data amount exceeds the data transfer capability (step B6).
ステップB6において、転送データ量がデータ転送能力を超える転送経路があれば、BMNoC構成決定部16は、ステップB2の処理に戻り、別の分け方を1つ取り出して以降の処理を繰り返す。 In step B6, if there is a transfer path in which the transfer data amount exceeds the data transfer capability, the BMNoC configuration determining unit 16 returns to the process of step B2, takes out another division method, and repeats the subsequent processes.
一方、ステップB6において、転送データ量がデータ転送能力を超える転送経路がなく、全ての転送経路について、転送データ量がデータ転送能力以内であれば、BMNoC構成決定部16は、処理を終了する。そして、BMNoC構成決定部16は、処理の終了に至った分け方を選択し、選択した分け方で全ての処理部品をバスに搭載するよう、BMNoC構成を決定する。ここで決定されたBMNoC構成のデータは、BMNoC構成決定部16がBMNoC構成データ格納部17に格納する。 On the other hand, if there is no transfer path whose transfer data amount exceeds the data transfer capability in step B6 and the transfer data amount is within the data transfer capability for all transfer paths, the BMNoC configuration determining unit 16 ends the process. Then, the BMNoC configuration determination unit 16 selects a division method that has reached the end of the process, and determines the BMNoC configuration so that all the processing components are mounted on the bus according to the selected division method. The data of the BMNoC configuration determined here is stored in the BMNoC configuration data storage unit 17 by the BMNoC configuration determination unit 16.
上述したように本実施形態においては、処理部品に固有の出力データ量を部品別出力データ表として予め備えておき、この部品別出力データ表を用いてタスクの出力データ量を算出する。 As described above, in this embodiment, the output data amount specific to the processing component is prepared in advance as the component-specific output data table, and the task output data amount is calculated using the component-specific output data table.
その結果、実物のプロセッサや、プロセッサを模擬する専用のシミュレータが不要となるという効果を奏する。 As a result, there is an effect that a real processor and a dedicated simulator for simulating the processor are not required.
ここで、上記の効果について詳述する。 Here, the above effect will be described in detail.
従来、タスクの出力データ量の算出方法としては、対象とするタスクグラフ全体(もしくは、その一部を抜き出したもの)に相当する処理機能を有するプログラム(このプログラムには、メモリへの書き込みアクセスを計測する仕組みが組み込まれる)を特定のプロセッサ上で実行し、処理の途中で計測されるメモリへの書き込みアクセス回数を、タスクの出力データ量へ換算するという方法が使われていた。また、実物のプロセッサを使用することが難しい場合には、専用に開発されたシミュレータ(Synopsys社のCoMETなど)を用いてシミュレーションにより行っていた。 Conventionally, as a method for calculating the amount of output data of a task, a program having a processing function corresponding to the entire target task graph (or a part of the target graph extracted) (this program has write access to the memory). In this method, the number of write accesses to the memory measured during the processing is converted into the amount of output data of the task. When it is difficult to use a real processor, simulation is performed using a specially developed simulator (such as CoMET from Synopsys).
これに対して、本実施形態においては、上述したように、予め備えておいた部品別出力データ表を用いてタスクの出力データ量を算出するため、実物のプロセッサや、プロセッサを模擬する専用のシミュレータが不要となるという効果を奏する。 On the other hand, in the present embodiment, as described above, since the output data amount of the task is calculated using the component-specific output data table prepared in advance, a real processor or a dedicated processor for simulating the processor is used. There is an effect that a simulator becomes unnecessary.
また、本実施形態は、実物のプロセッサを用いる従来の方法に対して、手間が削減できるという効果を奏する。実物のプロセッサを用いる従来の方法においては、既にハードウエア部品として保有しているタスクを、一旦ソフトウエアで書き表し、タスクの出力データ量とメモリのアクセスとの関係を定義し、さらに、メモリのアクセスを計測できるようなライブラリを、タスクに相当するソフトウエアに組み合わせ、計測のために適切な(非常に大量の)入力データを用意した上で、計測を実施し、かつまた、その計測が有効であるかどうかを、動作結果から評定しなければならないという手間があったが、本実施形態はこの手間が不要となる。 In addition, this embodiment has an effect that labor can be reduced compared to the conventional method using a real processor. In the conventional method using a real processor, a task already held as a hardware component is temporarily written in software, the relationship between the output data amount of the task and the memory access is defined, and the memory access is further performed. A library that can measure data is combined with software corresponding to a task, and after preparing appropriate (very large) input data for measurement, measurement is performed and the measurement is also effective. Although there is a trouble that it is necessary to evaluate whether or not there is an operation result, this embodiment does not require this trouble.
また、本実施形態は、専用シミュレータを用いる従来の方法に対して、時間が削減できるという効果を奏する。シミュレータでは、メモリのアクセスの回数の測定などが予めライブラリとして用意されており、また、プロセッサの数やプロセッサ間の構成を組み替える手間が減る。しかしながら、実物のプロセッサを用いる方法に比べて100〜1000倍の時間を要していたが、本実施形態はこの時間が不要となる。 Moreover, this embodiment has the effect that time can be reduced with respect to the conventional method using a dedicated simulator. In the simulator, the measurement of the number of times of memory access is prepared as a library in advance, and the labor for rearranging the number of processors and the configuration between processors is reduced. However, although 100 to 1000 times as long as the method using a real processor is required, this embodiment does not require this time.
また、本実施形態においては、画像処理システムをBMNoC構成にしているため、NoC構成よりも所要面積を小さく、かつ、NoC構成と同等以上の性能を持つ画像処理システムを得ることができる。 In this embodiment, since the image processing system has a BMNoC configuration, an image processing system having a required area smaller than that of the NoC configuration and having performance equal to or higher than that of the NoC configuration can be obtained.
なお、BMNoC構成が、NoC構成と比較して、性能が同等以上である点については、非特許文献1に記載されている。非特許文献1によれば、代表的な性能指標であるレイテンシは、50%以上の改善を図ることができると記載されている。 Note that Non-Patent Document 1 describes that the BMNoC configuration has performance equal to or higher than that of the NoC configuration. According to Non-Patent Document 1, it is described that latency, which is a typical performance index, can be improved by 50% or more.
また、本実施形態においては、画像処理システムを、NoCの改良技術の1つであるBMNoC構成にしているが、本発明はこれに限定されず、他のNoC、具体的には、処理部品をバスに搭載し、バス同士をスイッチおよびルータによって接続する構成の他のNoCにも適用可能である。 In the present embodiment, the image processing system has a BMNoC configuration that is one of the improved NoC technologies. However, the present invention is not limited to this, and other NoCs, specifically, processing components are used. The present invention can also be applied to other NoCs that are mounted on a bus and connected to each other by a switch and a router.
11 タスク入力データ量表格納部
12 部品別出力データ量表格納部
13 タスクグラフ接続表格納部
14 データ転送量算出部
15 タスク出力データ量表格納部
16 BMNoC構成決定部
17 BMNoC構成データ格納部
21 入力IF(入力インターフェース)
22 処理部品
23 出力IF(出力インターフェース)
24 ルータ
30 タスク
DESCRIPTION OF SYMBOLS 11 Task input data amount table storage part 12 Output data amount table storage part according to part 13 Task graph connection table storage part 14 Data transfer amount calculation part 15 Task output data amount table storage part 16 BMNoC structure determination part 17 BMNoC structure data storage part 21 Input IF (input interface)
22 Processing parts 23 Output IF (Output interface)
24 routers 30 tasks
Claims (8)
前記タスクごとに、該タスクが持つ各入力の入力データ量のリストを記述したタスク入力データ量表を格納する第1の格納部と、
前記処理部品ごとに、該処理部品が持つ各出力の出力データ量のリストを記述した部品別出力データ量表を格納する第2の格納部と、
前記タスクごとに、該タスクを実行する処理部品と、該タスクの出力データが入力される次タスクの入力のリストと、を記述したタスクグラフ接続表を格納する第3の格納部と、
前記タスク入力データ量表から、前記入力データ量が全て定まったタスクを対象タスクとして抽出する第1の処理と、前記タスクグラフ接続表から、前記対象タスクを実行する処理部品と前記対象タスクの次タスクの入力のリストとを取り出す第2の処理と、前記部品別出力データ量表から、前記対象タスクを実行する処理部品の各出力の出力データ量のリストを取り出す第3の処理と、前記タスク入力データ量表から、前記対象タスクの各入力の入力データ量のリストを取り出す第4の処理と、前記対象タスクの各入力の入力データ量と前記対象タスクを実行する処理部品の各出力の出力データ量とを基に、前記対象タスクの各出力の出力データ量を算出し、算出した各出力の出力データ量のリストを前記タスク出力データ量表に記述する第5の処理と、前記タスク入力データ量表における前記対象タスクの次タスクの入力の入力データ量として、前記対象タスクの対応する出力の出力データを記述する第6の処理と、を、前記複数のタスクの全てについて、前記入力データ量が全て定まったタスクから順次実行するデータ転送量算出部と、
前記タスクごとに、該タスクが持つ各出力の出力データ量であって前記データ転送量算出部が算出した各出力の出力データ量のリストを記述したタスク出力データ量表を格納する第4の格納部と、を有する、構成装置。 A configuration device for configuring an image processing system that executes each of a plurality of tasks by a processing component,
A first storage unit that stores a task input data amount table describing a list of input data amounts of each input of the task for each task;
A second storage unit that stores, for each processing component, a component-specific output data amount table that describes a list of output data amounts of each output of the processing component;
A third storage unit for storing a task graph connection table describing a processing component for executing the task and a list of inputs of the next task to which the output data of the task is input for each task;
A first process for extracting a task whose input data amount is all determined from the task input data amount table as a target task, and a processing component for executing the target task and the next to the target task from the task graph connection table. A second process for extracting a list of task inputs, a third process for extracting a list of output data amounts of each output of the processing component executing the target task from the component-specific output data amount table, and the task A fourth process for extracting a list of input data amounts for each input of the target task from an input data amount table; and an output of each input of the target task and each output of a processing component that executes the target task based on the data amount, describe and calculate the output data of the output of the target task to calculate the list of output data of the output in the task output data amount table And a sixth process that describes output data of the output corresponding to the target task as the input data amount of the input of the next task of the target task in the task input data amount table. For all of the tasks, a data transfer amount calculation unit that executes sequentially from the task in which the amount of input data is all determined ,
A fourth storage for storing a task output data amount table describing a list of output data amounts of each output calculated by the data transfer amount calculation unit for each task, which is an output data amount of each output of the task A component device.
前記タスクごとに、該タスクが持つ各入力の入力データ量のリストを記述したタスク入力データ量表を格納する第1の格納部と、
前記処理部品ごとに、該処理部品が持つ各出力の出力データ量のリストを記述した部品別出力データ量表を格納する第2の格納部と、
前記タスクごとに、該タスクを実行する処理部品と、該タスクの出力データが入力される次タスクの入力のリストと、を記述したタスクグラフ接続表を格納する第3の格納部と、
前記タスク入力データ量表、前記部品別出力データ量表、および前記タスクグラフ接続表に基づいて、前記タスクごとに、該タスクが持つ各出力の出力データ量を算出するデータ転送量算出部と、
前記タスクごとに、該タスクが持つ各出力の出力データ量であって前記データ転送量算出部が算出した各出力の出力データ量のリストを記述したタスク出力データ量表を格納する第4の格納部と、
前記画像処理システムを、前記処理部品をバスに搭載し前記バス同士をスイッチおよびルータによって接続する特定のNoC構成にする際に、前記タスクグラフ接続表および前記タスク出力データ量表に基づいて、前記処理部品の配置を決定する構成決定部と、を有する、構成装置。 A configuration device for configuring an image processing system that executes each of a plurality of tasks by a processing component,
A first storage unit that stores a task input data amount table describing a list of input data amounts of each input of the task for each task;
A second storage unit that stores, for each processing component, a component-specific output data amount table that describes a list of output data amounts of each output of the processing component;
A third storage unit for storing a task graph connection table describing a processing component for executing the task and a list of inputs of the next task to which the output data of the task is input for each task;
Based on the task input data amount table, the component-specific output data amount table, and the task graph connection table, for each task, a data transfer amount calculation unit that calculates the output data amount of each output of the task;
A fourth storage for storing a task output data amount table describing a list of output data amounts of each output calculated by the data transfer amount calculation unit for each task, which is an output data amount of each output of the task And
When the image processing system has a specific NoC configuration in which the processing components are mounted on a bus and the buses are connected by a switch and a router, based on the task graph connection table and the task output data amount table, A configuration determining unit that determines an arrangement of processing components .
全ての処理部品をバスに搭載可能な個数以下に区分する分け方を生成し、
前記分け方の中から、該分け方で全ての処理部品をバスに搭載した場合において、全てのバスについて、該バスに搭載した処理部品が実行するタスクの出力データ量の総和が該バスのデータ転送能力以内であるという第1の条件と、前記バス同士を接続し前記スイッチおよび前記ルータを経由する全ての転送経路について、該転送経路を転送される転送データ量が該転送経路のデータ転送能力以内であるという第2の条件と、を共に満たす分け方を選択し、
前記選択した分け方で全ての処理部品をバスに搭載するよう、前記処理部品の配置を決定する、請求項2または3に記載の構成装置。 The configuration determining unit
Generate a way to divide all processing parts into less than the number that can be mounted on the bus,
When all the processing components are mounted on the bus in the division method, the total amount of output data of tasks executed by the processing components mounted on the bus is the data of the bus. For the first condition that the transfer capacity is within the transfer capacity and all the transfer paths that connect the buses and pass through the switch and the router, the transfer data amount transferred through the transfer path is the data transfer capacity of the transfer path Select a split method that satisfies the second condition of being within,
The component device according to claim 2 , wherein the arrangement of the processing components is determined so that all the processing components are mounted on the bus according to the selected division method.
前記タスクごとに、該タスクが持つ各入力の入力データ量のリストをタスク入力データ量表に記述する第1のステップと、
前記処理部品ごとに、該処理部品が持つ各出力の出力データ量のリストを部品別出力データ量表に記述する第2のステップと、
前記タスクごとに、該タスクを実行する処理部品と、該タスクの出力データが入力される次タスクの入力のリストと、をタスクグラフ接続表に記述する第3のステップと、
前記タスク入力データ量表、前記部品別出力データ量表、および前記タスクグラフ接続表に基づいて、前記タスクごとに、該タスクが持つ各出力の出力データ量を算出し、前記タスク入力データ量表から、前記入力データ量が全て定まったタスクを対象タスクとして抽出する第1の処理と、前記タスクグラフ接続表から、前記対象タスクを実行する処理部品と前記対象タスクの次タスクの入力のリストとを取り出す第2の処理と、前記部品別出力データ量表から、前記対象タスクを実行する処理部品の各出力の出力データ量のリストを取り出す第3の処理と、前記タスク入力データ量表から、前記対象タスクの各入力の入力データ量のリストを取り出す第4の処理と、前記対象タスクの各入力の入力データ量と前記対象タスクを実行する処理部品の各出力の出力データ量とを基に、前記対象タスクの各出力の出力データ量を算出し、算出した各出力の出力データ量のリストを前記タスク出力データ量表に記述する第5の処理と、前記タスク入力データ量表における前記対象タスクの次タスクの入力の入力データ量として、前記対象タスクの対応する出力の出力データを記述する第6の処理と、を、前記複数のタスクの全てについて、前記入力データ量が全て定まったタスクから順次実行し、前記タスクごとに、該タスクが持つ各出力の出力データ量であって前記算出した各出力の出力データ量のリストをタスク出力データ量表に記述する第4のステップと、を有する、構成方法。 A configuration method by a configuration device for configuring an image processing system that executes each of a plurality of tasks by a processing component,
For each task, a first step of describing a list of input data amounts of each input of the task in a task input data amount table;
A second step of describing, for each processing component, a list of output data amounts for each output of the processing component in a component-specific output data amount table;
A third step for describing, in the task graph connection table, a processing component for executing the task and a list of inputs of the next task to which output data of the task is input for each task;
Based on the task input data amount table, the component-specific output data amount table, and the task graph connection table, for each task, an output data amount of each output of the task is calculated, and the task input data amount table From the task graph connection table, a processing component for executing the target task and a list of inputs of the next task after the target task, From the second process for retrieving the output data, the third process for retrieving the output data amount list of each output of the processing component that executes the target task from the component-specific output data amount table, and the task input data amount table, A fourth process for retrieving a list of input data amounts of each input of the target task, and a process of executing the input data amount of each input of the target task and the target task The output data amount of each output of the target task is calculated based on the output data amount of each output of the product, and a list of calculated output data amounts of each output is described in the task output data amount table. And a sixth process for describing output data of output corresponding to the target task as an input data amount of an input of the next task of the target task in the task input data amount table. For all the tasks, the input data amount is sequentially executed from the task in which all the input data amounts are determined, and for each task, the output data amount of each output possessed by the task and the calculated output data amount list of each output are displayed as task output data. And a fourth step described in the quantity table.
前記タスクごとに、該タスクが持つ各入力の入力データ量のリストをタスク入力データ量表に記述する第1のステップと、
前記処理部品ごとに、該処理部品が持つ各出力の出力データ量のリストを部品別出力データ量表に記述する第2のステップと、
前記タスクごとに、該タスクを実行する処理部品と、該タスクの出力データが入力される次タスクの入力のリストと、をタスクグラフ接続表に記述する第3のステップと、
前記タスク入力データ量表、前記部品別出力データ量表、および前記タスクグラフ接続表に基づいて、前記タスクごとに、該タスクが持つ各出力の出力データ量を算出し、算出した各出力の出力データ量のリストをタスク出力データ量表に記述する第4のステップと、
前記画像処理システムを、前記処理部品をバスに搭載し前記バス同士をスイッチおよびルータによって接続する特定のNoC構成にする際に、前記タスクグラフ接続表および前記タスク出力データ量表に基づいて、前記処理部品の配置を決定する第5のステップと、を有する、構成方法。 A configuration method by a configuration device for configuring an image processing system that executes each of a plurality of tasks by a processing component,
For each task, a first step of describing a list of input data amounts of each input of the task in a task input data amount table;
A second step of describing, for each processing component, a list of output data amounts for each output of the processing component in a component-specific output data amount table;
A third step for describing, in the task graph connection table, a processing component for executing the task and a list of inputs of the next task to which output data of the task is input for each task;
Based on the task input data amount table, the component-specific output data amount table, and the task graph connection table, the output data amount of each output of the task is calculated for each task, and the calculated output of each output A fourth step of describing a list of data amounts in the task output data amount table;
When the image processing system has a specific NoC configuration in which the processing components are mounted on a bus and the buses are connected by a switch and a router, based on the task graph connection table and the task output data amount table, And a fifth step of determining an arrangement of the processing components .
全ての処理部品をバスに搭載可能な個数以下に区分する分け方を生成し、
前記分け方の中から、該分け方で全ての処理部品をバスに搭載した場合において、全てのバスについて、該バスに搭載した処理部品が実行するタスクの出力データ量の総和が該バスのデータ転送能力以内であるという第1の条件と、前記バス同士を接続し前記スイッチおよび前記ルータを経由する全ての転送経路について、該転送経路を転送される転送データ量が該転送経路のデータ転送能力以内であるという第2の条件と、を共に満たす分け方を選択し、
前記選択した分け方で全ての処理部品をバスに搭載するよう、前記処理部品の配置を決定する、請求項6または7に記載の構成方法。 In the fifth step,
Generate a way to divide all processing parts into less than the number that can be mounted on the bus,
When all the processing components are mounted on the bus in the division method, the total amount of output data of tasks executed by the processing components mounted on the bus is the data of the bus. For the first condition that the transfer capacity is within the transfer capacity and all the transfer paths that connect the buses and pass through the switch and the router, the transfer data amount transferred through the transfer path is the data transfer capacity of the transfer path Select a split method that satisfies the second condition of being within,
The configuration method according to claim 6 or 7, wherein the arrangement of the processing components is determined so that all the processing components are mounted on the bus according to the selected division method.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2012033894A JP5697102B2 (en) | 2012-02-20 | 2012-02-20 | Configuration apparatus and configuration method of image processing system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2012033894A JP5697102B2 (en) | 2012-02-20 | 2012-02-20 | Configuration apparatus and configuration method of image processing system |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2013171374A JP2013171374A (en) | 2013-09-02 |
| JP5697102B2 true JP5697102B2 (en) | 2015-04-08 |
Family
ID=49265272
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2012033894A Expired - Fee Related JP5697102B2 (en) | 2012-02-20 | 2012-02-20 | Configuration apparatus and configuration method of image processing system |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP5697102B2 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP6325348B2 (en) * | 2014-05-29 | 2018-05-16 | 日本電信電話株式会社 | Virtual machine placement device |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH06168217A (en) * | 1992-11-25 | 1994-06-14 | Hitachi Ltd | Method and apparatus for configuring parallel computing mechanism and parallel computing mechanism |
-
2012
- 2012-02-20 JP JP2012033894A patent/JP5697102B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2013171374A (en) | 2013-09-02 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9444702B1 (en) | System and method for visualization of NoC performance based on simulation output | |
| US9959375B2 (en) | Efficient emulation and logic analysis | |
| US10528682B2 (en) | Automatic performance characterization of a network-on-chip (NOC) interconnect | |
| CN108234264B (en) | Data packet forwarding method and device based on PCIe signal interface expansion | |
| CN119135598B (en) | Methods for determining the location information of routing nodes, computer equipment, storage media, software products, and the overall network system | |
| EP3183848B1 (en) | Optimization framework for multi-tenant data centers | |
| CN102224428A (en) | Testing method and program product used therein | |
| CN108120917B (en) | Test clock circuit determination method and device | |
| US10127339B2 (en) | Efficient emulation of circuits | |
| JP5697102B2 (en) | Configuration apparatus and configuration method of image processing system | |
| CN102214157A (en) | Dynamic reconfigurable array time sequence controlling method | |
| CN115730669A (en) | Quantum line processing method and device and quantum computer operating system | |
| CN117785582A (en) | FPGA interconnection line resource testing method, device, equipment and medium | |
| CN115618956B (en) | Quantum principal component analysis method, device and quantum computer operating system | |
| CN114615150B (en) | Simulation network generation method and device | |
| US9600613B1 (en) | Block-level code coverage in simulation of circuit designs | |
| WO2018139344A1 (en) | Information processing system, information processing device, peripheral device, data tansfer method, and non-transitory storage medium storing data transfer program | |
| US11176296B1 (en) | Unified data model for heterogeneous integrated circuit | |
| CN112019368B (en) | VNF migration method, VNF migration device and VNF migration storage medium | |
| JP5907607B2 (en) | Processing arrangement method and program | |
| US8527923B1 (en) | System, method, and computer program product for hierarchical formal hardware verification of floating-point division and/or square root algorithmic designs using automatic sequential equivalence checking | |
| US7945433B2 (en) | Hardware simulation accelerator design and method that exploits a parallel structure of user models to support a larger user model size | |
| Odendahl et al. | Optimized buffer allocation in multicore platforms | |
| JP2000057188A (en) | Hardware / Software Co-Evaluation System | |
| CN108319600B (en) | A data mining method and device |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140407 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20140407 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20141021 |
|
| RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20141027 |
|
| RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20141031 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20141202 |
|
| RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20141204 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20141204 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150119 |
|
| 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: 20150203 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150204 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 5697102 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313117 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| LAPS | Cancellation because of no payment of annual fees |