WO2013111547A1 - Route control device, control information generating method, and non-transitory computer-readable medium in which program is stored - Google Patents

Route control device, control information generating method, and non-transitory computer-readable medium in which program is stored Download PDF

Info

Publication number
WO2013111547A1
WO2013111547A1 PCT/JP2013/000220 JP2013000220W WO2013111547A1 WO 2013111547 A1 WO2013111547 A1 WO 2013111547A1 JP 2013000220 W JP2013000220 W JP 2013000220W WO 2013111547 A1 WO2013111547 A1 WO 2013111547A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
connection information
list
connection
path
Prior art date
Application number
PCT/JP2013/000220
Other languages
French (fr)
Japanese (ja)
Inventor
希実 石原
Original Assignee
日本電気株式会社
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 日本電気株式会社 filed Critical 日本電気株式会社
Publication of WO2013111547A1 publication Critical patent/WO2013111547A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks

Definitions

  • the present invention relates to a path control system, and more particularly to a path control system using a reconfigurable processor device.
  • a control signal group to the routing unit is created in advance by a programmer and stored in a memory in the processor or an external storage. Further, the control signal group to the routing unit is read out at an appropriate timing using an externally or internally generated control signal as a trigger and supplied to the routing unit.
  • routing control information a group of control signals to the routing unit is referred to as routing control information.
  • each line of the transmission / reception correspondence list is referred to as a program
  • a technique such as Patent Document 2 that automatically forms routing control information has been studied.
  • FIG. 25 shows the method disclosed in Patent Document 2.
  • the method disclosed in Patent Document 2 changes the processing flow by connecting a plurality of processing devices (referred to as processing elements in Patent Document 2) to a two-dimensional array structure and changing the connection between the processing elements.
  • the program created by the programmer is stored in the storage device 110 as the data flow file 100.
  • the connection relationship between processing elements on the LSI (at each position where the processing element is arranged, the attribute of the processing element at another position connectable to the output and the other position connectable to the input)
  • the source processing element indicating the processing element attributes) and the destination processing element file 103 are stored in the storage device 12.
  • the map creation unit 111 takes out one program from the data flow file 100 and starts forming a routing using the source processing element and the destination processing element file 103.
  • the map creation unit 111 creates a bus resource request map 101 in which connection relationships that may be used are extracted and recorded using the data flow file 100 and the source processing element and destination processing element file 103.
  • the map updating unit 112 analyzes the bus resource request map 101, and there is no part where data is divided from input to output, or a plurality of processing flows use the same signal line at the same time. Detects routing constraint violations, such as whether or not a violation has occurred, and deletes invalid paths. Further, only possible routing candidates are extracted from the analysis results, and the bus resource request map 101 is updated. Finally, the placement and routing processing unit 113 determines the actual placement and routing from the candidates. In addition, the bus resource request map 101 is updated so that candidates that are not used are deleted. The above process is executed for all the programs stored in the data flow file 100.
  • the method disclosed in Patent Document 2 statically determines routing using only a program created in advance by a programmer. Further, the technique disclosed in Patent Document 2 is premised on a processing structure in which the processing flow is shifted to the next routing processing after all processing flow by one routing is completed. That is, processing of routing control information (referred to as routing 2) specified by another control signal input at another timing while executing routing control information (referred to as routing 1) specified by a certain control signal There is no description about the method of doing. If the above processing is to be performed by such a method, it operates when the routings 1 and 2 are executed individually.
  • the programmer may not be able to grasp the timing dependency of the routings 1 and 2, and a bug may occur in which the data of the routings 1 and 2 collide with each other. It takes a lot of time to modify and debug the program in such a situation.
  • the present invention performs processing of routing control information defined by another control signal input at another timing while executing routing control information defined by a certain control signal.
  • the routing control information is automatically generated from the program, and the generated routing control information is automatically analyzed and corrected to guarantee the operation, thereby reducing the burden on the programmer. It is an object to provide a route control system, a route control method, and a program.
  • the path control device includes a first transmission unit that transmits first data, a second transmission unit that transmits second data, and the first data or the first data.
  • a first receiver and a second receiver that receive the second data, and a first receiver that transfers the first data to the first receiver or the second receiver based on the first connection information.
  • the first connection unit and a second connection unit configured to transfer the second data to the first reception unit or the second reception unit based on second connection information.
  • connection relationship list defining the connection relationship of the connection information and the connection relationship of the second connection information, and the first of the first reception unit and the transmission source of the data received by the first reception unit Correspondence relationship and second between the second receiving unit and the transmission source of the data received by the second receiving unit
  • a connection information generation unit that generates the first connection information and the second connection information based on a transmission / reception correspondence list that manages the response relationship, and the first connection information and the second connection information Simulating the transfer of the first data and the second data, and if the transfer destination of the first data and the transfer destination of the second data match in the simulation, the first connection And a connection information correction unit that changes at least one of the information and the second connection information.
  • the control information generation method includes a first transmission unit that transmits first data, a second transmission unit that transmits second data, and the first data or the Based on the first connection information and the first receiving unit and the second receiving unit that receive the second data, the first data is transferred to the first receiving unit or the second receiving unit.
  • An apparatus comprising: a first connection unit; and a second connection unit configured to transfer the second data to the first reception unit or the second reception unit based on second connection information.
  • a connection relationship list defining the connection relationship of the first connection information and the connection relationship of the second connection information, and the first of the first reception unit and the transmission source of the data received by the first reception unit And the correspondence between the second receiving unit and the transmission source of the data received by the second receiving unit.
  • the first connection information and the second connection information are generated based on a transmission / reception correspondence list that manages the correspondence relationship between the first connection information and the second connection information, and the first connection information and the second connection information are generated.
  • the transfer destination of the first data and the transfer destination of the second data match in the simulation, the first connection information or the second data transfer is performed. At least one of the two pieces of connection information is changed.
  • a program includes a first transmission unit that transmits first data, a second transmission unit that transmits second data, and the first data or the second data.
  • a first receiving unit and a second receiving unit that receive data, and a first transfer unit that transfers the first data to the first receiving unit or the second receiving unit based on first connection information.
  • the first connection of an apparatus including a connection unit and a second connection unit that transfers the second data to the first reception unit or the second reception unit based on second connection information
  • a connection relation list that defines a connection relation of information and a connection relation of the second connection information, and a first correspondence relation between the first reception unit and a transmission source of data received by the first reception unit And a second correspondence between the second receiving unit and the transmission source of the data received by the second receiving unit And generating the first connection information and second connection information based on the transmission and reception corresponding list for managing and engaging,
  • a simulation of the transfer of the first data and the second data is performed, and in the simulation, the transfer destination of the first data and the first data
  • the computer is caused to execute the step of changing at least one of the first connection information or the second connection information.
  • routing control information specified by a certain control signal when routing control information specified by a certain control signal is executed, routing control information specified by another control signal input at a different timing is also processed.
  • FIG. 2 is a configuration diagram of a path control unit according to the first exemplary embodiment
  • FIG. FIG. 3 is a diagram illustrating a program according to the first embodiment. It is a figure which shows the architecture connection relation list
  • FIG. It is a figure which shows the simulation list
  • FIG. It is a figure which shows the use candidate list
  • FIG. It is a figure which shows the used path
  • FIG. It is a figure which shows the flow of the correction process of the routing control information concerning Embodiment 1.
  • FIG. It is a figure which shows the flow of the production
  • FIG. 6 is a diagram showing a flow of processing for creating a use candidate list according to the first embodiment
  • FIG. 6 is a diagram showing a flow of used path deletion processing according to the first exemplary embodiment
  • FIG. 3 is a diagram illustrating a flow of a simulation execution process according to the first embodiment. It is a figure which shows the same path use analysis report concerning Embodiment 1.
  • FIG. It is a figure which shows the use path list
  • FIG. 1 is a diagram illustrating the architecture of a processing device and a crossbar switch according to a first embodiment; It is a figure which shows the data format of the data transmitted / received concerning Embodiment 1.
  • FIG. It is a figure which shows the data format of the data transmitted / received concerning Embodiment 1.
  • FIG. It is a figure which shows the required cycle number in each process concerning Embodiment 1.
  • FIG. 3 is a diagram illustrating a program according to the first embodiment. It is a figure which shows the architecture connection relation list
  • FIG. It is a figure which shows the simulation list
  • FIG. FIG. 3 is a diagram illustrating a timing diagram according to the first exemplary embodiment.
  • FIG. 10 is a diagram showing a flow of processing relating to determination of a used path according to the second embodiment;
  • FIG. 10 is a diagram showing an architecture connection relation list according to the second exemplary embodiment; It is a figure which shows the program concerning Embodiment 2.
  • FIG. It is a figure which shows the production
  • the path control device 40 includes an architecture connection relation list 41, a program 42, a simulation list 43, a routing control information generation unit 44, a use candidate list 45, a used path list 46, and a routing control information correction unit 47. It is equipped with.
  • the architecture connection relation list 41, the program 42, the simulation list 43, the use candidate list 45, and the used path list 46 are, for example, RAM (Random Access Memory), ROM (Read Only Memory) in the path control device 40. ), Or in a memory area inside the apparatus or in an external apparatus, for example, a hard disk device or an external card device.
  • the program 42 describes a sequence of a set of a transmission source processing device that is a transmission source when transmitting data, a transmission destination processing device that is a data arrival destination, and a control signal that is a trigger signal for performing this data transmission. Is done.
  • An example of such a program is shown in FIG. FIG. 2 is an example in which a program is described using a table format. The first column of the program indicates the transmission source processing device, the second column indicates the transmission destination processing device, and the third column indicates the control signal. The actual program is described from the second line. For example, the program on the second line describes that the transmission source processing device A transmits data to the processing device B when the control signal 1 is input to the processing device A.
  • the format in FIG. 2 is merely an example, and any other format may be used as long as at least the transmission source and transmission destination processing devices and the control signal are described.
  • the architecture connection relation list 41 describes restrictions or connection relations regarding routing units between processing devices.
  • An example of such an architecture connection relation list 41 is shown in FIG.
  • the architecture connection relation list 41 in FIG. 3 shows pairs of transmission source processing devices and transmission destination processing devices in the first column and the second column, respectively, and is used when data is transmitted in the third column.
  • a list of possible paths is given.
  • the second line indicates that when data is sent from the processing device A to the processing device B, two paths, Path1 and Path2, can be used.
  • Path1 and Path2 can be used.
  • a routing unit and its port used in each Path are described.
  • the order of passage between the routing unit and the port is shown separated by a comma.
  • Path 1 in the second row can be transmitted to the processing device B through port 0 of the routing unit Runit 1, port 0 of the routing unit Runit 2, and port 0 of the routing unit Runit 3.
  • FIG. 3 is merely an example, and the restrictions on the architecture, the connection relationship, and the like may be described in a format that can recognize the connection between the processing devices, and the format is not limited.
  • the simulation list 43 inputs various control signals for the generated routing control information and actually performs a simulation to verify the operation. Whether or not a collision between data due to a bug in the routing control information occurs during the operation, That is, it is used when checking whether or not the routing control information needs to be corrected.
  • An example of this simulation list is shown in FIG.
  • the simulation list in this example uses “[]” to define the name and head of the simulation data, and further includes a plurality of simulation data. Each simulation data describes a control signal input in each cycle of the simulation and an input destination of the control signal.
  • the input destination of the control signal may be a processing device name or a port number of the processing device.
  • two simulation declarations are indicated by “[]”.
  • the first column is the cycle
  • the second column is the input control signal value given at that time
  • the third column is the It is described as an input destination.
  • This example is just an example as described above, and the format is not limited as long as simulation in the architecture is possible.
  • the routing control information generation unit 44 generates a use candidate list 45 and a used path list 46 based on information received from the architecture connection relation list 41 and the program 42. For example, the routing control information generation unit 44 extracts an available path from the architecture connection relation list 41 for each set of the transmission source processing device and the transmission destination processing device, and generates the usage candidate list 45.
  • An example of the use candidate list 45 is shown in FIG. 5A.
  • the used path list in FIG. 5B records the paths already used by the program analyzed so far for each control signal.
  • the paths that have already been used are Runit1_port0, Runit2_port0, and Runit4_port1 defined after Path1. These may be in the same format as above.
  • the routing control information generation unit 44 uses the use candidate list 45 and the used path list 46 to determine a use path between the transmission source processing device and the transmission destination processing device. In addition, the routing control information generation unit 44 determines a use path in all programs and generates routing control information.
  • the routing control information correction unit 47 corrects the routing control information when there is an overlapping use path between the routing control information associated with different control signals. Detailed correction processing will be described in detail later.
  • the routing control information generation unit 44 generates routing control information (S11).
  • the generation processing of the routing control information will be described in detail with reference to FIG.
  • the routing control information generation unit 44 acquires one line of the program described in the table format (S21). Thereafter, the routing control information generation unit 44 performs processing of creating a use candidate list (S22), deleting a used path (S23), determining a used path (S24), and recording a used path (S25).
  • the creation of the use candidate list in step S22 will be described in detail with reference to FIG.
  • the routing control information generation unit 44 searches the architecture connection relation list 41 based on the transmission source processing device and the transmission destination processing device described in the acquired program, and extracts the usable paths of the corresponding connection relation. (S31). Next, the routing control information generation unit 44 registers the extracted usable path in the use candidate list 45 (S32).
  • the routing control information generation unit 44 searches the used path list 46 based on the control signal information described in the acquired program, and extracts the connection relationship associated with the control signal information (S41). .
  • the routing control information generation unit 44 deletes the path information described in the extracted connection relationship from the use candidate list 45 (S42). In the used path list 46, used paths determined in other programs are recorded.
  • the routing control information generating unit 44 determines the used path (S24).
  • the routing control information generation unit 44 searches and extracts the paths remaining in the use candidate list 45 from the top of the use candidate list 45 for paths that can connect the transmission source processing device and the transmission destination processing device. .
  • the routing control information generation unit 44 determines the extracted path as a used path.
  • the extraction of connectable paths is first performed after searching from the top of the list.
  • the present invention is not limited to this, and one path may be selected by some method.
  • the routing control information generation unit 44 records the path determined as the used path in the used path list 46 (S25). Thereby, it is possible to prevent the same path as the determined path from being used repeatedly.
  • the routing control information generation unit 44 ends the process when it is determined that the program has been implemented for all the lines of the program, and repeats the process of step S21 when it is determined that the program has not been implemented for all the lines of the program.
  • the above is the routing control information generation processing of FIG.
  • the routing control information generation unit 44 executes the simulation based on the information acquired from the simulation list 43 (S12).
  • simulation execution processing will be described in detail with reference to FIG.
  • the routing control information generation unit 44 acquires all the routing control information to be executed in the next cycle, and records information on the used path associated with the routing control information (S51).
  • the acquired routing control information includes information on the used path determined in different control signals.
  • the recording data structure is arbitrary, and for example, a data structure listed as shown in the use candidate list may be used.
  • the routing control information generation unit 44 analyzes whether the use of the same path is recorded in the recorded information (S52). Here, when the same path is not used (S53), the routing control information generation unit 44 performs one-cycle simulation (S54). When all the simulation cycles are completed, the process goes through the loop. If all the simulation cycles have not been completed, the process returns to step S51 and proceeds to the analysis of the next cycle.
  • the routing control information correction unit 47 creates the same path usage analysis report as the operating path list (S56), and corrects the routing control information based on these reports. (S57), the process returns to the top of the flow.
  • FIG. 11A is the same path use analysis report
  • FIG. 11B is an operation use path list.
  • the same path usage analysis report records the same path usage list in which the transmission source and destination processing devices of routing using the same path and the control signal (CP) are recorded.
  • the example of FIG. 11 shows that two identical path uses (simultaneous path use list 1 and simultaneous path use list 2) occur in this processing cycle.
  • the operating use path list excludes all the paths recorded in the same path use analysis report from the information constructed in step S51 of FIG. 10 (acquires use path information of all control signals executed in the next cycle).
  • the information is as shown in FIG. 11B.
  • the routing control information correction unit 47 extracts one simultaneous use path list from the same path use analysis report (S61).
  • one item transmission source, transmission destination, control signal
  • the routing control information is regenerated (S62).
  • the list selection method is arbitrary. For example, the list may be selected in order from the top of the list, or the priority in the list may be determined using some evaluation criteria, and the process may be executed according to the priority.
  • the routing control information regeneration process is the same as that shown in FIG. 7 except that the same path use list is used instead of the program and the operating use path list is used instead of the used path list.
  • FIG. 13 includes processing devices 11 to 14, processing devices 21 to 24, a first stage routing unit 50, a second stage routing unit 60, and a third stage routing unit 70.
  • the first stage routing unit 50 includes crossbar switches (hereinafter referred to as Xbar) 51 to 54
  • the second stage routing unit 60 includes Xbars 61 to 64
  • the third stage routing unit 70 includes Xbars 71 to 74.
  • An arrow indicated by a solid line indicates a path connecting the processing device and Xbar or Xbar.
  • Each processing device has 4 ports as input / output ports. Each port has an arithmetic unit, and executes a predetermined process according to the input control signal.
  • the input ports of the processing device 11 are inA0 to inA3 from the left in the figure, and the output ports are poA0 to poA3 from the left in the figure.
  • the input / output ports of the processing device 12 are inB0 to inB3 and poB0 to poB3, the input / output ports of the processing device 13 are inC0 to inC3, and poC0 to poC3, and the input / output ports of the processing device 14 are InD0 to inD3 and poD0 to poD3.
  • the input port of the processing device 21 is piE0 to piE3
  • the input port of the processing device 22 is piF0 to piF3
  • the input port of the processing device 23 is piG0 to piG3
  • the input port of the processing device 24 is piH0. ⁇ piH3.
  • routing control information is stored in a routing control information memory (not shown) provided for each of the ports of the processing devices 11 to 14 indicating the transmission source processing device.
  • a routing control information memory not shown
  • the routing control information is read from the memory position indicated by the control signal and added to the data for which the calculation has been completed. Data output processing is performed from either.
  • the data input to the processing devices 11 to 14 is k bits and is composed of data and control signals.
  • the number of bits of the data and the control signal has no particular meaning and is indicated by using the symbol k.
  • the data output from the processing devices 11 to 14 is in a format to which a control signal for controlling the routing unit is added. This is shown in FIG. 14B.
  • FIG. 14B shows a state in which control information for the first-stage routing unit, second-stage routing unit, and third-stage routing unit is added to the data and the control signal.
  • the routing control information includes only the values 0, 1, 2, and 3 that are the Xbar output port values, so the number of bits is set to 2 bits.
  • the first, second, and third stage routing units obtain the corresponding control signals from the input data, and determine the routing based on the values.
  • the output port of Xbar has numbers 0, 1, 2, and 3 from the left of the block indicating Xbar, respectively, and the control information specifies the port number to determine the destination of Xbar. .
  • the detailed architecture and control of each Xbar are not directly related to this patent, and will be omitted.
  • processing executed by the processing devices 11 to 14 and the number of cycles required for the processing are defined as shown in FIG. Note that processes other than those necessary for the description of this example are omitted.
  • the processing X requires one cycle
  • the processing Y requires two cycles. For example, the process X or the process Y cannot be newly executed in the next cycle in which the process Y is executed.
  • the processing at the transmission source is also described. In this example, the process Y is performed for the control signal 1 and the process X is performed for the control signal 2.
  • FIG. 17 shows an architecture connection relation list in this architecture.
  • FIG. 17 shows only the connection relations necessary for explaining this specific example. Specifically, for the Xbar port, in this example, if routing from one Xbar to the next Xbar is determined, the port to be used is unique, and is not clearly shown in FIG. Similarly, the source and destination processing devices are not shown in the third column because they can be determined by referring to the first and second columns in the table.
  • the second line of the architecture connection relation list in this specific example shows the connection relation when the transmission source is poA0 and the transmission destination is piE0.
  • path1 routes to Xbar61 at Xbar51, then routes to Xbar71 at Xbar61, and finally routes to piE0 at Xbar71.
  • the routing for the paths 2, 3, and 4 the routing between the transmission source poA1 and the transmission destination piE1, and the transmission between the transmission source poB0 and the transmission destination piE2 are as shown in FIG.
  • FIG. 18 shows a simulation list in this specific example. It is assumed that there is one simulation data in this specific example, and that 1 is input to the control signal in the first 4 cycles and 2 is input in the latter 4 cycles.
  • FIG. 19 shows a timing diagram of inputs (inA0, inA1, inB0) and outputs (poA0, poA1, poB0) when the simulation data shown in FIG. 18 is executed.
  • the control signal 1 is input to inA0 and inA1 in the start four cycles.
  • the control signal 2 is input to inB0 in the latter four cycles.
  • the routing control information generation unit 44 acquires one line from the program (FIG. 7, step S21). In this example, the program line of the control signal 1 described in the second line of FIG. 16 is acquired. Next, the routing control information generation unit 44 creates a use candidate list 45 (FIG. 7, step S22). In this example, Path1 to Path4 described in the rows of the transmission source poA0 and the transmission destination piE0 in the architecture connection relation list 41 of FIG. 17 are extracted and registered in the use candidate list 45.
  • the routing control information generation unit 44 deletes the used path (FIG. 7, step S23).
  • the routing control information generation unit 44 determines a used path (step S24 in FIG. 7).
  • Path1 which is the head of the use candidate list is adopted.
  • the routing control information generation unit 44 records the used path (step S25 in FIG. 7).
  • the routing control information generating unit 44 employs Path1, the path information described in Path1 and the control signal 1 are described in the used path list 46.
  • the processing returns to step S21 in FIG.
  • the routing control information generation unit 44 obtains the next line program (the third line in FIG. 16) (FIG. 7, step S21).
  • the next line is a control signal 1, which is a transmission source poA1 and a transmission destination piE1.
  • the routing control information generation unit 44 creates a use candidate list 45 (FIG. 7, step S22).
  • the routing control information generation unit 44 extracts Path1 to Path4 described in the rows of the transmission source poA1 and the transmission destination piE1 in the architecture connection relation list 41 in FIG. 17 and registers them in the use candidate list 45.
  • the routing control information generation unit 44 deletes the used path after completing the use candidate list creation (FIG. 7, step S23).
  • Path 1 of the use candidate list includes the same routing as the path described in the used path list created earlier. Therefore, the routing control information generation unit 44 deletes Path1 from the use candidate list.
  • the routing control information generation unit 44 determines a used path.
  • the routing control information generation unit 44 employs Path2 which is the head of the use candidate list among the use candidate lists remaining after deleting Path1 (FIG. 7, step S24).
  • the routing control information generating unit 44 records the path information described in the adopted Path 2 and the control signal 1 in the used path list 46 (FIG. 7, step S25).
  • the routing control information generation unit 44 obtains the next line program (the fourth line in FIG. 16) (FIG. 7, step S21).
  • the next line is the control signal 2, which is the transmission source poB0 and the transmission destination piE2.
  • the routing control information generation unit 44 first creates a use candidate list (FIG. 7, step S22).
  • the routing control information generation unit 44 deletes the used path after the use candidate list is created (step S23 in FIG. 7).
  • the used path is not deleted.
  • the routing control information generation unit 44 determines a used path (step S24 in FIG. 7).
  • the routing control information generation unit 44 employs Path 1 that is the head of the use candidate list 45.
  • the used pass is recorded (FIG. 7, step S25).
  • the routing control information generation unit 44 employs Path 1, the path information described in Path 1 and the control signal 2 are described in the used path list 46. Thus, the generation of the routing control information ends.
  • the routing control information generation unit 44 determines simulation data used for the simulation. In this example, the routing control information generation unit 44 performs a simulation using the data of the simulation 1 in FIG.
  • the routing control information generation unit 44 acquires routing control information associated with all control signals for the simulation performed in the first cycle (FIG. 10, step S51).
  • the routing control information generation unit 44 analyzes whether there is a routing that uses the same path in the acquired routing control information (FIG. 10, steps S51 and S52).
  • the routing control information generation unit 44 inputs the control signal 1 to inA0 and inA1 in the first cycle.
  • the processing corresponding to the control signal 1 input in inA0 and inA1 is processing Y for both inA0 and inA1. From FIG. 15, the process Y requires two cycles as the processing period. Therefore, no data is output from poA0 and poA1 in this cycle.
  • the routing control information correction unit 47 determines that there is no routing to be executed, and therefore does not use the same path (FIG. 10, step S53), and executes the first cycle simulation (FIG. 10, step S54).
  • control signal 1 is input to inA0 and inA1 again. Similarly to the previous cycle, data is not output from poA0 and poA1 in this cycle. Accordingly, the processing moves to the next cycle.
  • control signal 1 is input to inA0 and inA1 again.
  • the process Y executed by inputting the control signal 1 to inA0 and inA1 two cycles before is completed, and data is output from poA0 and poA1, respectively.
  • the routing control information generation unit 44 acquires and analyzes the routing control information, and analyzes whether the same path is used.
  • routing from poA0 to piE0 and from poA1 to piE1 is executed.
  • the path from poA0 to piE0 is Path1 and passes through Xbar51, Xbar61, and Xbar71.
  • the path from poA1 to piE1 is Path2 and passes through Xbar51, Xbar62, and Xbar71. It can be seen that Path 1 and Path 2 do not use the same path by referring to the architecture example shown in FIG. Therefore, the routing control information correction unit 47 does not correct the routing control information, and moves to analysis of the next cycle.
  • the fourth cycle is the same as the third cycle, the description is omitted.
  • the port to which the control signal is input is changed from inA0, inA1 to inB0, and the control signal becomes 2.
  • the data output from poA0 and poA1 is the same as in the third cycle, and the description is omitted.
  • control signal 2 is input to inB0.
  • the process X executed by inputting the control signal 2 to inB0 in the previous cycle and the process Y executed by inputting the control signal 1 to inA0 and inA2 two cycles ago are completed.
  • PoA0, poA1 and poB0 are output.
  • the routing control information is acquired and analyzed to analyze whether the same path is used.
  • routing from poB0 to piE2, poA0 to piE0, and poA1 to piE1 is executed.
  • the path from poB0 to piE2 is a path through Xbar52, Xbar61 and Xbar71
  • the path from poA0 to piE0 is a path through Xbar51, Xbar61 and Xbar71
  • from poA1 to piE1 Is a path that passes through Xbar51, Xbar62, and Xbar71.
  • the routing control information correction unit 47 proceeds to the creation of the same path use analysis report and the operating use path list and the correction of the routing control information (step S57 in FIG. 10).
  • the same path use analysis report and the operating use path list in this example show the same path use analysis report and the operating use path list in this example.
  • the contents described in the same path use list in FIG. 20A are routings from poA0 to piE0 and from poB0 to piE2 that have been found to use the same path in the analysis of the sixth cycle. 1 and 2.
  • the operation use path list of FIG. 20B is a path excluding the same path described above in the routing executed in the sixth cycle, that is, a path used for routing from poA1 to piE1.
  • one simultaneous path usage list is extracted from the same path usage analysis report (FIG. 12, step S61).
  • the simultaneous path use list 1 in FIG. 20A is selected.
  • one path information is extracted from the simultaneous use path list 1.
  • a path from poA0 to piE0 is selected as the extracted path information.
  • the routing control information correction unit 47 regenerates the routing control information by executing the processing flow shown in FIG. 7 using this path information and the operating path list shown in FIG. 20B (FIG. 12, FIG. 12). Step S62). Specifically, first, the routing control information modification unit 47 creates the use candidate list 45 with reference to the architecture connection relation list 41 shown in FIG. 17 in the routing from poA0 to piE0. In this example, the usage candidate list 45 records Paths 1, 2, 3, and 4 described in the rows of the transmission source poA0 and the transmission destination piE0 in FIG. Next, the routing control information correction unit 47 deletes the path recorded in the operating use path list from the paths recorded in the use candidate list 45. It can be seen from the use path list during operation in FIG.
  • the routing control information correction unit 47 deletes Path2 from the use candidate list.
  • the routing control information correction unit 47 determines the path to be used after the deletion is completed. At this time, the routing control information correction unit 47 searches for a remaining path from the top of the use candidate list, and determines Path1 as a use path. In addition, this path is added to the operating path list.
  • the routing control information correction unit 47 corrects the next line of the simultaneous path use list, that is, the routing information from poB0 to piE2 (FIG. 12, step S63).
  • the routing control information correction unit 47 creates the use candidate list 45 with reference to the architecture connection relation list 41 shown in FIG. In this example, in the use candidate list, Paths 1, 2, 3, and 4 described in the rows of the transmission source poB0 and the transmission destination piE2 in FIG.
  • the paths recorded in the use path list during operation are deleted from the paths recorded in the use candidate list 45.
  • the routing control information correction unit 47 deletes Path 1 and Path 2 from the use candidate list 45.
  • the routing control information correction unit 47 determines the path to be used after the deletion is completed.
  • the routing control information correction unit 47 searches for a remaining path from the top of the use candidate list, and determines Path 3 as a use path. Further, the routing control information correction unit 47 adds this Path3 to the operating path list. Since the simultaneous path use list ends as described above, the process ends. Further, since the same path use analysis report is also ended, the routing control information correction process is ended and the process returns to the simulation.
  • the routing control information correction unit 47 performs the sixth cycle simulation again.
  • the routing from poB0 to piE2 is Xbar52, Xbar63, and Xbar71
  • the routing from poA0 to piE0 is Xbar51, Xbar61, and Xbar71
  • the routing from poA1 to piE1 passes through Xbar51, Xbar62, and Xbar71 It becomes a pass. Since these do not have the same use path, the next cycle simulation is started.
  • this method automatically creates routing control information from a program created by the programmer and performs a simulation using that information, the use of the same path is detected.
  • the routing control information can be automatically corrected. For this reason, it is possible to shorten the program creation / debug time of the programmer.
  • the routing information is not constructed by analyzing the program in order from the top as in the first embodiment of the present invention.
  • the number of usable paths at that time of each connection relationship is analyzed, and routing is determined preferentially from candidates with few usable paths, that is, with little room for selecting routing information.
  • the processing flow related to the determination of the used path is shown in FIG. FIG. 21 includes two loops, a first loop portion and a second loop portion.
  • the first loop unit executes steps S71 to S75.
  • the first loop unit examines the number of paths that can be used for a program whose path to be used is not determined, and analyzes which program is to be used.
  • the second loop unit is a loop that returns to the processing start point when the paths to be used for all the programs have not been determined after the paths to be actually used have been determined.
  • the routing control information generation unit 44 acquires one line of a program for which a path to be used has not yet been determined (S71).
  • the routing control information generating unit 44 creates a use candidate list and deletes used paths for this program line (S72, S73).
  • the processes in steps S71 to S73 are the same as those in FIG.
  • the routing control information generation unit 44 temporarily records the use candidate list from which the used path is deleted and the number of usable paths remaining in the use candidate list (S74).
  • the routing control information generation unit 44 acquires a program that has already been temporarily recorded in the first loop unit and that has the smallest number of usable paths in a program in which each used path is undetermined.
  • the routing control information generation unit 44 refers to the use candidate list already recorded for this program, and determines a use path (S76). Furthermore, the routing control information generation unit 44 records the determined used path in the used path list (S77). Next, the routing control information generation unit 44 confirms whether there is a program whose use path has not yet been determined (S78).
  • the recorded use candidate list, the number of used paths, and the first In the loop section for example, an internal variable such as a flag for recording the analyzed program is initialized (S79), and the process returns to the first loop section. Further, this process may be used to correct routing control information during simulation.
  • the processing of FIG. 21 will be described in detail using the architecture connection relation list and the program shown in FIGS.
  • the three connection relations of the transmission source and the transmission destination of poA0 and piE0, poA1 and piE1, and poA2 and piE2 are specified.
  • the number of usable connection relationships is different.
  • three paths can be used: Path1 that passes through Xbar51, Xbar61, and Xbar71, Path2 that passes through Xbar51, Xbar62, and Xbar71, and Path3 that passes through Xbar51, Xbar63, and Xbar71.
  • the connection relationship between poA1 and piE1 only Path1 that passes through Xbar51, Xbar61, and Xbar71 can be used.
  • the flow of FIG. 21 is applied.
  • the routing control information generation unit 44 executes processing in the first loop unit.
  • each use candidate list and the number of usable paths are recorded.
  • the number of usable paths is recorded as 3 for poA0 and piE0, 1 for poA1 and piE1, and 2 for poA2 and piE2.
  • the routing control information generation unit 44 determines the use paths of poA1 and poE1. Specifically, Path1: Xbar51, Xbar61, and Xbar71 described in the rows of poA1 and piE1 in FIG. 22 are selected. The routing control information generation unit 44 records this path in the used path list. Since the used paths that have not yet been determined remain in the program after the recording is completed, the routing control information generation unit 44 initializes the use candidate list, the number of usable paths, and the internal variables recorded in the first loop unit. And return to the first loop section.
  • the routing control information generation unit 44 uses the use candidate list for two items (poA0 and piE0, poA2 and piE2) excluding poA1 and piE1 whose use paths have already been determined. Determine the number of paths used.
  • poA0 and piE0 it is determined by the routing of poA1 and piE1 and uses the same path as Path1 recorded in the used path list, so only Path2 and Path3 are recorded in the use candidate list. To do.
  • Path1 is the same in poA2 and poE2
  • Path1 is deleted from the use candidate list.
  • only Path2 remains in the use candidate lists of poA2 and piE2. From the above, the number of usable paths for poA0 and poE0, and poA2 and poE2 are 2 and 1, respectively.
  • the routing control information generation unit 44 determines the used path as Path2 because the number of usable paths of poA2 and piE2 is 1, and puts this in the used path list. Record.
  • the routing control information generation unit 44 again performs the processing of the first loop unit and the second loop unit for the remaining poA0 and piE0 and determines the path to be used.
  • the paths that can be connected are preferentially determined from the ones with few paths that can be connected, so that the paths that can be used are not blocked by other paths.
  • the same method can also be used for modifying routing control information during simulation. In this case, there is no difference except that the input data is the same path use list of the program and the used path list is the operation use path list as in the first embodiment. Therefore, explanation is omitted.
  • the architecture connection relation list, the program, and the simulation list may be in any format as long as the processing flow described in this paper can be performed.
  • the present invention is realized by a program, and the control information can be obtained by recording and executing the program on a recording medium such as a PC.
  • FIG. 24 shows the present embodiment.
  • a control information automatic generation program created by a user is stored in a PC or an external recording medium, and the stored program is executed by the PC. As a result, the control information can be obtained.
  • a processor compiler or the like can be cited as an example of utilizing the present invention.
  • the route control device that generates the routing control information has been described as a device that is different from the device according to the architecture described in FIG. 13. 13 may be incorporated into a device according to the architecture described in FIG. Alternatively, the routing device may be directly connected to a device according to the architecture described in FIG.
  • Non-transitory computer readable media include various types of tangible storage media (tangible storage medium).
  • non-transitory computer-readable media examples include magnetic recording media (eg flexible disks, magnetic tapes, hard disk drives), magneto-optical recording media (eg magneto-optical discs), CD-ROMs (Read Only Memory), CD-Rs, CD-R / W, semiconductor memory (for example, mask ROM, PROM (Programmable ROM), EPROM (Erasable ROM), flash ROM, RAM (random access memory)) are included.
  • the program may also be supplied to the computer by various types of temporary computer-readable media. Examples of transitory computer readable media include electrical signals, optical signals, and electromagnetic waves.
  • the temporary computer-readable medium can supply the program to the computer via a wired communication path such as an electric wire and an optical fiber, or a wireless communication path.
  • Routing Controller 41 Architecture Connection Relationship List 42 Program 43 Simulation List 44 Routing Control Information Generation Unit 45 Use Candidate List 46 Used Path List 47 Routing Control Information Correction Unit 50 First-stage Routing Units 51 to 54 Xbar 60 Second stage routing unit 61-64 Xbar 70 3rd stage routing unit 71-74 Xbar

Abstract

An objective of the present invention is to provide a route control system with which, when carrying out processing of routing control information which is defined by control signals which are inputted at differing timings, routing control information is automatically generated and an analysis, etc., of the routing control information is automatically carried out. This routing control device includes: a routing control information generating unit (44) which generates first connection information and second connection information on the basis of an architecture connection relation list (41) which defines a connection relation and a transceiving correspondence list; and a routing control information correction unit (47) which, if in a simulation the transfer destinations of the first and second data match, changes the first connection information and/or the second connection information.

Description

経路制御装置、制御情報生成方法及びプログラムが格納された非一時的なコンピュータ可読媒体Route control device, control information generation method, and non-transitory computer-readable medium storing program
 本発明は経路制御システムに関し、特に再構成可能なプロセッサデバイスが用いられる経路制御システムに関する。 The present invention relates to a path control system, and more particularly to a path control system using a reconfigurable processor device.
 一般的に、装置内の処理デバイス間においてデータの送受信を行うために、特許文献1に記載されたような、複数の処理デバイス間を、クロスバースイッチ等を用いたルーティングユニットによって接続する再構成可能プロセッサデバイスが用いられる。 In general, in order to exchange data between processing devices in an apparatus, a reconfiguration in which a plurality of processing devices are connected by a routing unit using a crossbar switch or the like, as described in Patent Document 1. Possible processor devices are used.
 このようなプロセッサではルーティングユニットへの制御信号を変更することによって、処理デバイス間の接続関係、すなわちルーティングを変更し、さらに処理フローを変更することが可能である。ルーティングユニットへの制御信号群は、予めプログラマによって作成され、プロセッサ内のメモリ、もしくは外部記憶に蓄えられる。さらに、ルーティングユニットへの制御信号群は、外部もしくは内部で生成された制御信号をトリガとして適切なタイミングで読み出されてルーティングユニットへ供給される。以降、ルーティングユニットへの制御信号群をルーティング制御情報と称する。 In such a processor, by changing the control signal to the routing unit, it is possible to change the connection relationship between the processing devices, that is, the routing, and further change the processing flow. A control signal group to the routing unit is created in advance by a programmer and stored in a memory in the processor or an external storage. Further, the control signal group to the routing unit is read out at an appropriate timing using an externally or internally generated control signal as a trigger and supplied to the routing unit. Hereinafter, a group of control signals to the routing unit is referred to as routing control information.
 このようなプロセッサにおいて、ルーティング制御情報をプログラマが全て手作業で作成することは、処理の手順が多くなればなるほど、また、処理の流れが複雑になればなるほど困難となる。そこで従来から、ルーティング制御情報をプログラマが記述しやすい形式、すなわち送受信対応リストの形式で記述しておき(以降、送受信対応リストの各行をプログラムと呼称する)、プログラムとプロセッサの特性を分析し、ルーティング制御情報を自動的に形成する特許文献2のような手法が研究されてきた。 In such a processor, it is more difficult for a programmer to create all routing control information manually as the number of processing steps increases and the flow of processing becomes more complicated. Therefore, conventionally, the routing control information is described in a format that is easy for a programmer to describe, that is, in the format of a transmission / reception correspondence list (hereinafter, each line of the transmission / reception correspondence list is referred to as a program), and the characteristics of the program and the processor are analyzed. A technique such as Patent Document 2 that automatically forms routing control information has been studied.
 図25に特許文献2に示されている方法を示す。特許文献2に示された方法は、複数処理デバイス(特許文献2においては処理エレメントと呼称)を2次元アレイ構造に接続し、この処理エレメント間の接続を変更することにより、その処理フローを変更可能なプロセッサのルーティングを決定する手法である。 FIG. 25 shows the method disclosed in Patent Document 2. The method disclosed in Patent Document 2 changes the processing flow by connecting a plurality of processing devices (referred to as processing elements in Patent Document 2) to a two-dimensional array structure and changing the connection between the processing elements. A technique for determining possible processor routing.
 まず、プログラマが作成したプログラムは、データフローファイル100として、記憶装置110に保存される。また、LSI上の処理エレメント間の接続関係(処理エレメントが配置される位置のそれぞれにおいて、その出力と接続可能な他の位置の処理エレメントの属性、および、その入力と接続可能な他の位置の処理エレメントの属性)を示したソース処理エレメント及びデスティネーション処理エレメントファイル103が記憶装置12に保存される。 First, the program created by the programmer is stored in the storage device 110 as the data flow file 100. In addition, the connection relationship between processing elements on the LSI (at each position where the processing element is arranged, the attribute of the processing element at another position connectable to the output and the other position connectable to the input) The source processing element indicating the processing element attributes) and the destination processing element file 103 are stored in the storage device 12.
 その後、マップ作成部111は、データフローファイル100から1つのプログラムを取り出し、ソース処理エレメント及びデスティネーション処理エレメントファイル103を用いてルーティングの形成を開始する。 After that, the map creation unit 111 takes out one program from the data flow file 100 and starts forming a routing using the source processing element and the destination processing element file 103.
 まず、マップ作成部111は、データフローファイル100とソース処理エレメント及びデスティネーション処理エレメントファイル103とを用いて使用する可能性のある接続関係を抽出して記録したバスリソースリクエストマップ101を作成する。次に、マップ更新部112は、バスリソースリクエストマップ101を分析し、データの入力から出力までにおいて、分断されている箇所がないか、もしくは複数の処理フローが同一の信号線を同時に使用するなどの違反を起こしていないか等、ルーティング制約違反を検出し、有効ではないパスを削除する。さらに、それら分析結果から、可能なルーティング候補のみを抽出し、バスリソースリクエストマップ101が更新される。最後に、配置配線処理部113は、上記候補のなかから実際の配置配線を決定する。また、使用しない候補については削除するよう、バスリソースリクエストマップ101を更新する。上記処理をデータフローファイル100に格納された全てのプログラムについて実行する。  First, the map creation unit 111 creates a bus resource request map 101 in which connection relationships that may be used are extracted and recorded using the data flow file 100 and the source processing element and destination processing element file 103. Next, the map updating unit 112 analyzes the bus resource request map 101, and there is no part where data is divided from input to output, or a plurality of processing flows use the same signal line at the same time. Detects routing constraint violations, such as whether or not a violation has occurred, and deletes invalid paths. Further, only possible routing candidates are extracted from the analysis results, and the bus resource request map 101 is updated. Finally, the placement and routing processing unit 113 determines the actual placement and routing from the candidates. In addition, the bus resource request map 101 is updated so that candidates that are not used are deleted. The above process is executed for all the programs stored in the data flow file 100.
特開2010-193454号公報JP 2010-193454 A 特開2007-140732号公報JP 2007-140732 A
 特許文献2に開示された手法は、プログラマが予め作成したプログラムのみを用いて静的にルーティングを決定する。また、特許文献2に開示された手法は、ある1つのルーティングによる処理フローが全て終了してから、次のルーティング処理に移るという処理構造が前提である。すなわち、ある制御信号にて規定されるルーティング制御情報(ルーティング1とする)を実行しながら、別のタイミングで入力される別の制御信号によって規定されるルーティング制御情報(ルーティング2とする)の処理も行うような方式に関する記述はない。このような方式にて上記処理を行おうとすると、ルーティング1及び2の各ルーティングを個別に実行した場合には動作する。しかし、これらをあわせて動作させた場合、プログラマがルーティング1及び2のタイミング的依存関係を把握しきれず、ルーティング1及び2のデータ同士が衝突を起こすバグが発生することがある。このような状況でのプログラム修正、デバッグには多大な時間が必要となる。 The method disclosed in Patent Document 2 statically determines routing using only a program created in advance by a programmer. Further, the technique disclosed in Patent Document 2 is premised on a processing structure in which the processing flow is shifted to the next routing processing after all processing flow by one routing is completed. That is, processing of routing control information (referred to as routing 2) specified by another control signal input at another timing while executing routing control information (referred to as routing 1) specified by a certain control signal There is no description about the method of doing. If the above processing is to be performed by such a method, it operates when the routings 1 and 2 are executed individually. However, when these are operated together, the programmer may not be able to grasp the timing dependency of the routings 1 and 2, and a bug may occur in which the data of the routings 1 and 2 collide with each other. It takes a lot of time to modify and debug the program in such a situation.
 本発明は、このような課題を解決するために、ある制御信号にて規定されるルーティング制御情報を実行しながら、別のタイミングで入力される別の制御信号によって規定されるルーティング制御情報の処理も行うような場合において、これらルーティング制御情報をプログラムから自動で生成し、かつ、生成されたルーティング制御情報の分析と修正を自動で行うことによってその動作を保証し、もってプログラマの負担を軽減する経路制御システム、経路制御方法及びプログラムを提供することを目的とする。 In order to solve such a problem, the present invention performs processing of routing control information defined by another control signal input at another timing while executing routing control information defined by a certain control signal. In such a case, the routing control information is automatically generated from the program, and the generated routing control information is automatically analyzed and corrected to guarantee the operation, thereby reducing the burden on the programmer. It is an object to provide a route control system, a route control method, and a program.
 本発明の第1の態様にかかる経路制御装置は、第1のデータを送信する第1の送信部と、第2のデータを送信する第2の送信部と、前記第1のデータ又は前記第2のデータを受信する第1の受信部及び第2の受信部と、第1の接続情報に基づいて前記第1のデータを前記第1の受信部又は前記第2の受信部へ転送する第1の接続部と、第2の接続情報に基づいて前記第2のデータを前記第1の受信部又は前記第2の受信部へ転送する第2の接続部とを含む装置の、前記第1の接続情報の接続関係及び前記第2の接続情報の接続関係を規定する接続関係リスト、並びに、前記第1の受信部と前記第1の受信部が受信するデータの送信元との第1の対応関係、及び前記第2の受信部と前記第2の受信部が受信するデータの送信元との間の第2の対応関係とを管理する送受信対応リストに基づいて前記第1の接続情報及び前記第2の接続情報を生成する接続情報生成部と、前記第1の接続情報及び前記第2の接続情報に基づいて、前記第1のデータ及び前記第2のデータの転送のシミュレーションを行い、前記シミュレーションにおいて、前記第1のデータの転送先と前記第2のデータの転送先が一致した場合、前記第1の接続情報または前記第2の接続情報のうちの少なくとも1つを変更する接続情報修正部と、を含むものである。 The path control device according to the first aspect of the present invention includes a first transmission unit that transmits first data, a second transmission unit that transmits second data, and the first data or the first data. A first receiver and a second receiver that receive the second data, and a first receiver that transfers the first data to the first receiver or the second receiver based on the first connection information. The first connection unit and a second connection unit configured to transfer the second data to the first reception unit or the second reception unit based on second connection information. A connection relationship list defining the connection relationship of the connection information and the connection relationship of the second connection information, and the first of the first reception unit and the transmission source of the data received by the first reception unit Correspondence relationship and second between the second receiving unit and the transmission source of the data received by the second receiving unit A connection information generation unit that generates the first connection information and the second connection information based on a transmission / reception correspondence list that manages the response relationship, and the first connection information and the second connection information Simulating the transfer of the first data and the second data, and if the transfer destination of the first data and the transfer destination of the second data match in the simulation, the first connection And a connection information correction unit that changes at least one of the information and the second connection information.
 本発明の第2の態様にかかる制御情報生成方法は、第1のデータを送信する第1の送信部と、第2のデータを送信する第2の送信部と、前記第1のデータ又は前記第2のデータを受信する第1の受信部及び第2の受信部と、第1の接続情報に基づいて前記第1のデータを前記第1の受信部又は前記第2の受信部へ転送する第1の接続部と、第2の接続情報に基づいて前記第2のデータを前記第1の受信部又は前記第2の受信部へ転送する第2の接続部とを含む装置の、前記第1の接続情報の接続関係及び前記第2の接続情報の接続関係を規定する接続関係リスト、並びに、前記第1の受信部と前記第1の受信部が受信するデータの送信元との第1の対応関係、及び前記第2の受信部と前記第2の受信部が受信するデータの送信元との間の第2の対応関係とを管理する送受信対応リストに基づいて前記第1の接続情報及び前記第2の接続情報を生成し、前記第1の接続情報及び前記第2の接続情報に基づいて、前記第1のデータ及び前記第2のデータの転送のシミュレーションを行い、前記シミュレーションにおいて、前記第1のデータの転送先と前記第2のデータの転送先が一致した場合、前記第1の接続情報または前記第2の接続情報のうちの少なくとも1つを変更するものである。 The control information generation method according to the second aspect of the present invention includes a first transmission unit that transmits first data, a second transmission unit that transmits second data, and the first data or the Based on the first connection information and the first receiving unit and the second receiving unit that receive the second data, the first data is transferred to the first receiving unit or the second receiving unit. An apparatus comprising: a first connection unit; and a second connection unit configured to transfer the second data to the first reception unit or the second reception unit based on second connection information. A connection relationship list defining the connection relationship of the first connection information and the connection relationship of the second connection information, and the first of the first reception unit and the transmission source of the data received by the first reception unit And the correspondence between the second receiving unit and the transmission source of the data received by the second receiving unit. The first connection information and the second connection information are generated based on a transmission / reception correspondence list that manages the correspondence relationship between the first connection information and the second connection information, and the first connection information and the second connection information are generated. When the transfer destination of the first data and the transfer destination of the second data match in the simulation, the first connection information or the second data transfer is performed. At least one of the two pieces of connection information is changed.
 本発明の第3の態様にかかるプログラムは、第1のデータを送信する第1の送信部と、第2のデータを送信する第2の送信部と、前記第1のデータ又は前記第2のデータを受信する第1の受信部及び第2の受信部と、第1の接続情報に基づいて前記第1のデータを前記第1の受信部又は前記第2の受信部へ転送する第1の接続部と、第2の接続情報に基づいて前記第2のデータを前記第1の受信部又は前記第2の受信部へ転送する第2の接続部とを含む装置の、前記第1の接続情報の接続関係及び前記第2の接続情報の接続関係を規定する接続関係リスト、並びに、前記第1の受信部と前記第1の受信部が受信するデータの送信元との第1の対応関係、及び前記第2の受信部と前記第2の受信部が受信するデータの送信元との間の第2の対応関係とを管理する送受信対応リストに基づいて前記第1の接続情報及び前記第2の接続情報を生成するステップと、
 前記第1の接続情報及び前記第2の接続情報に基づいて、前記第1のデータ及び前記第2のデータの転送のシミュレーションを行い、前記シミュレーションにおいて、前記第1のデータの転送先と前記第2のデータの転送先が一致した場合、前記第1の接続情報または前記第2の接続情報のうちの少なくとも1つを変更するステップとをコンピュータに実行させるものである。
A program according to a third aspect of the present invention includes a first transmission unit that transmits first data, a second transmission unit that transmits second data, and the first data or the second data. A first receiving unit and a second receiving unit that receive data, and a first transfer unit that transfers the first data to the first receiving unit or the second receiving unit based on first connection information. The first connection of an apparatus including a connection unit and a second connection unit that transfers the second data to the first reception unit or the second reception unit based on second connection information A connection relation list that defines a connection relation of information and a connection relation of the second connection information, and a first correspondence relation between the first reception unit and a transmission source of data received by the first reception unit And a second correspondence between the second receiving unit and the transmission source of the data received by the second receiving unit And generating the first connection information and second connection information based on the transmission and reception corresponding list for managing and engaging,
Based on the first connection information and the second connection information, a simulation of the transfer of the first data and the second data is performed, and in the simulation, the transfer destination of the first data and the first data When the transfer destinations of the two data match, the computer is caused to execute the step of changing at least one of the first connection information or the second connection information.
 本発明により、ある制御信号にて規定されるルーティング制御情報を実行しながら、別のタイミングで入力される別の制御信号によって規定されるルーティング制御情報の処理も行うような場合において、これらルーティング制御情報をプログラムから自動で生成し、かつ、生成されたルーティング制御情報の分析と修正を自動で行うことによってその動作を保証し、もってプログラマの負担を軽減する経路制御システム、経路制御方法及びプログラムを提供することができる。 According to the present invention, when routing control information specified by a certain control signal is executed, routing control information specified by another control signal input at a different timing is also processed. A path control system, a path control method and a program for automatically generating information from a program and guaranteeing the operation by automatically analyzing and correcting the generated routing control information, thereby reducing the burden on the programmer Can be provided.
実施の形態1にかかる経路制御部の構成図である。2 is a configuration diagram of a path control unit according to the first exemplary embodiment; FIG. 実施の形態1にかかるプログラムを示す図である。FIG. 3 is a diagram illustrating a program according to the first embodiment. 実施の形態1にかかるアーキテクチャ接続関係リストを示す図である。It is a figure which shows the architecture connection relation list | wrist concerning Embodiment 1. FIG. 実施の形態1にかかるシミュレーションリストを示す図である。It is a figure which shows the simulation list | wrist concerning Embodiment 1. FIG. 実施の形態1にかかる使用候補リストを示す図である。It is a figure which shows the use candidate list | wrist concerning Embodiment 1. FIG. 実施の形態1にかかる使用済みパスリストを示す図である。It is a figure which shows the used path | pass list | wrist concerning Embodiment 1. FIG. 実施の形態1にかかるルーティング制御情報の修正処理の流れを示す図である。It is a figure which shows the flow of the correction process of the routing control information concerning Embodiment 1. FIG. 実施の形態1にかかるルーティング制御情報の生成処理の流れを示す図である。It is a figure which shows the flow of the production | generation process of the routing control information concerning Embodiment 1. FIG. 実施の形態1にかかる使用候補リストの作成処理の流れを示す図である。FIG. 6 is a diagram showing a flow of processing for creating a use candidate list according to the first embodiment; 実施の形態1にかかる使用済みパスの削除処理の流れを示す図である。FIG. 6 is a diagram showing a flow of used path deletion processing according to the first exemplary embodiment; 実施の形態1にかかるシミュレーションの実行処理の流れを示す図である。FIG. 3 is a diagram illustrating a flow of a simulation execution process according to the first embodiment. 実施の形態1にかかる同一パス使用分析レポートを示す図である。It is a figure which shows the same path use analysis report concerning Embodiment 1. FIG. 実施の形態1にかかる動作時使用パスリストを示す図である。It is a figure which shows the use path list | wrist at the time of Embodiment 1 concerning operation | movement. 実施の形態1にかかるルーティング制御情報の修正処理の流れを示す図である。It is a figure which shows the flow of the correction process of the routing control information concerning Embodiment 1. FIG. 実施の形態1にかかる処理デバイス及びクロスバースイッチのアーキテクチャを示す図である。1 is a diagram illustrating the architecture of a processing device and a crossbar switch according to a first embodiment; 実施の形態1にかかる送受信されるデータのデータ形式を示す図である。It is a figure which shows the data format of the data transmitted / received concerning Embodiment 1. FIG. 実施の形態1にかかる送受信されるデータのデータ形式を示す図である。It is a figure which shows the data format of the data transmitted / received concerning Embodiment 1. FIG. 実施の形態1にかかるそれぞれの処理における必要サイクル数を示す図である。It is a figure which shows the required cycle number in each process concerning Embodiment 1. FIG. 実施の形態1にかかるプログラムを示す図である。FIG. 3 is a diagram illustrating a program according to the first embodiment. 実施の形態1にかかるアーキテクチャ接続関係リストを示す図である。It is a figure which shows the architecture connection relation list | wrist concerning Embodiment 1. FIG. 実施の形態1にかかるシミュレーションリストを示す図である。It is a figure which shows the simulation list | wrist concerning Embodiment 1. FIG. 実施の形態1にかかるタイミングダイアグラムを示す図である。FIG. 3 is a diagram illustrating a timing diagram according to the first exemplary embodiment. 実施の形態1にかかる同一パス使用分析レポートを示す図である。It is a figure which shows the same path use analysis report concerning Embodiment 1. FIG. 実施の形態1にかかる動作時使用パスリストを示す図である。It is a figure which shows the use path list | wrist at the time of Embodiment 1 concerning operation | movement. 実施の形態2にかかる使用パスの決定に関する処理の流れを示す図である。FIG. 10 is a diagram showing a flow of processing relating to determination of a used path according to the second embodiment; 実施の形態2にかかるアーキテクチャ接続関係リストを示す図である。FIG. 10 is a diagram showing an architecture connection relation list according to the second exemplary embodiment; 実施の形態2にかかるプログラムを示す図である。It is a figure which shows the program concerning Embodiment 2. FIG. その他の実施の形態にかかるPCを活用した制御情報の生成を示す図である。It is a figure which shows the production | generation of the control information using PC concerning other embodiment. 特許文献2にかかるルーティング制御情報の生成処理を示す図である。It is a figure which shows the production | generation process of the routing control information concerning patent document 2. FIG.
 (実施の形態1)
 以下、図面を参照して本発明の実施の形態について説明する。
(Embodiment 1)
Embodiments of the present invention will be described below with reference to the drawings.
 図1を用いて本発明の実施の形態1にかかる経路制御装置40の構成例について説明する。経路制御装置40は、アーキテクチャ接続関係リスト41と、プログラム42と、シミュレーションリスト43と、ルーティング制御情報生成部44と、使用候補リスト45と、使用済パスリスト46と、ルーティング制御情報修正部47と、を備えている。 A configuration example of the path control device 40 according to the first exemplary embodiment of the present invention will be described with reference to FIG. The path control device 40 includes an architecture connection relation list 41, a program 42, a simulation list 43, a routing control information generation unit 44, a use candidate list 45, a used path list 46, and a routing control information correction unit 47. It is equipped with.
 アーキテクチャ接続関係リスト41と、プログラム42と、シミュレーションリスト43と、使用候補リスト45と、使用済パスリスト46とは、例えば、経路制御装置40内におけるRAM(Random Access Memory)、ROM(Read Only Memory)等のメモリ領域に格納されていてもよく、装置内部もしくは外部装置のメモリ領域、例えば、ハードディスク装置や外付け用カードデバイス、等に格納されていてもよい。 The architecture connection relation list 41, the program 42, the simulation list 43, the use candidate list 45, and the used path list 46 are, for example, RAM (Random Access Memory), ROM (Read Only Memory) in the path control device 40. ), Or in a memory area inside the apparatus or in an external apparatus, for example, a hard disk device or an external card device.
 プログラム42には、データを送信する際の送信元となる送信元処理デバイスと、データの到着先となる送信先処理デバイスと、このデータ送信を行うトリガ信号となる制御信号の組の列が記載される。このようなプログラムの一例を図2に示す。図2は、表形式を用いてプログラムを記述した例である。プログラムの1列目が送信元処理デバイス、2列目が送信先処理デバイス、3列目が制御信号を示している。実際のプログラムは、2行目から記載されている。例えば、2行目のプログラムは、制御信号1が処理デバイスAに入力された際には、送信元処理デバイスAは処理デバイスBにデータを送信する、という内容を記述している。なお、図2の書式は一例に過ぎず、少なくとも上記送信元及び送信先処理デバイス、及び制御信号が記載されていればその他書式は問わない。 The program 42 describes a sequence of a set of a transmission source processing device that is a transmission source when transmitting data, a transmission destination processing device that is a data arrival destination, and a control signal that is a trigger signal for performing this data transmission. Is done. An example of such a program is shown in FIG. FIG. 2 is an example in which a program is described using a table format. The first column of the program indicates the transmission source processing device, the second column indicates the transmission destination processing device, and the third column indicates the control signal. The actual program is described from the second line. For example, the program on the second line describes that the transmission source processing device A transmits data to the processing device B when the control signal 1 is input to the processing device A. The format in FIG. 2 is merely an example, and any other format may be used as long as at least the transmission source and transmission destination processing devices and the control signal are described.
 アーキテクチャ接続関係リスト41には、処理デバイス間のルーティングユニットに関する制約、もしくは接続関係が記載される。このようなアーキテクチャ接続関係リスト41の一例を図3に示す。図3のアーキテクチャ接続関係リスト41は、第一列、第二列目にそれぞれ送信元処理デバイスと送信先処理デバイスの組を示しており、第三列目において、データを送信する際に使用することができるパスのリストを記載している。例えば、第二行目には処理デバイスAから処理デバイスBにデータを送る際には、Path1とPath2との2パスが使用可能であることを示している。また、Path1、2のコロンの後には、それぞれのPathにおいて使用されるルーティングユニットとそのポートとが、記述されている。また、ルーティングユニットとポートとの通過順序が、カンマで区切って示されている。例えば、第二行目のPath1は、ルーティングユニットRunit1のport0、ルーティングユニットRunit2のport0及びルーティングユニットRunit3のport0を通過して、処理デバイスBに送信されうることが示されている。なお、図3の例は一例に過ぎず、アーキテクチャの制約、もしくは接続関係等は、処理デバイス間の接続を認識できる形式で記述されていればよく、書式は問わない。 The architecture connection relation list 41 describes restrictions or connection relations regarding routing units between processing devices. An example of such an architecture connection relation list 41 is shown in FIG. The architecture connection relation list 41 in FIG. 3 shows pairs of transmission source processing devices and transmission destination processing devices in the first column and the second column, respectively, and is used when data is transmitted in the third column. A list of possible paths is given. For example, the second line indicates that when data is sent from the processing device A to the processing device B, two paths, Path1 and Path2, can be used. Further, after the colons of Path 1 and 2, a routing unit and its port used in each Path are described. In addition, the order of passage between the routing unit and the port is shown separated by a comma. For example, it is shown that Path 1 in the second row can be transmitted to the processing device B through port 0 of the routing unit Runit 1, port 0 of the routing unit Runit 2, and port 0 of the routing unit Runit 3. Note that the example of FIG. 3 is merely an example, and the restrictions on the architecture, the connection relationship, and the like may be described in a format that can recognize the connection between the processing devices, and the format is not limited.
 シミュレーションリスト43は、生成されたルーティング制御情報について、様々な制御信号を入力して実際にシミュレーションを行って動作を検証し、動作中にルーティング制御情報のバグによるデータ同士の衝突が発生しないか、すなわち、ルーティング制御情報の修正を行う必要がないか検査する際に使用される。このシミュレーションリストの一例を図4に示す。本例におけるシミュレーションリストは、"[ ]"を用いて、シミュレーションデータの名称と先頭とが規定され、さらに複数のシミュレーションデータにより構成される。各シミュレーションデータには、シミュレーションの各サイクルにおいて入力する制御信号と、その制御信号の入力先を記述する。制御信号の入力先は、処理デバイス名であってもよく、処理デバイスのポート番号等であってもよい。図4には、シミュレーションの宣言が"[ ]"で2つ示されており、各シミュレーションにおいては、第一列をサイクル、第二列をそのときに与える入力制御信号値、第三列をその入力先として記述している。なお、本例も上記同様一例にすぎず、該アーキテクチャにおけるシミュレーションが可能であれば書式は問わない。 The simulation list 43 inputs various control signals for the generated routing control information and actually performs a simulation to verify the operation. Whether or not a collision between data due to a bug in the routing control information occurs during the operation, That is, it is used when checking whether or not the routing control information needs to be corrected. An example of this simulation list is shown in FIG. The simulation list in this example uses “[]” to define the name and head of the simulation data, and further includes a plurality of simulation data. Each simulation data describes a control signal input in each cycle of the simulation and an input destination of the control signal. The input destination of the control signal may be a processing device name or a port number of the processing device. In FIG. 4, two simulation declarations are indicated by “[]”. In each simulation, the first column is the cycle, the second column is the input control signal value given at that time, and the third column is the It is described as an input destination. This example is just an example as described above, and the format is not limited as long as simulation in the architecture is possible.
 ルーティング制御情報生成部44は、アーキテクチャ接続関係リスト41と、プログラム42と、から受け取った情報に基づいて、使用候補リスト45及び使用済パスリスト46とを生成する。例えば、ルーティング制御情報生成部44は、アーキテクチャ接続関係リスト41から、送信元処理デバイスおよび送信先処理デバイスの組ごとに、使用可能パスを抽出して、使用候補リスト45を生成する。使用候補リスト45の一例を図5Aに示す。 The routing control information generation unit 44 generates a use candidate list 45 and a used path list 46 based on information received from the architecture connection relation list 41 and the program 42. For example, the routing control information generation unit 44 extracts an available path from the architecture connection relation list 41 for each set of the transmission source processing device and the transmission destination processing device, and generates the usage candidate list 45. An example of the use candidate list 45 is shown in FIG. 5A.
 図5Aの使用候補リスト45には、行ごとに記載されているプログラムを用いて送信元処理デバイスと送信先処理デバイスとが決定された際に、使用する接続関係の候補となる全てのパスが列挙される。例えば、送信元処理デバイスをAとし、送信先処理デバイスをBとすると、図3に示されたアーキテクチャ接続関係リスト41の2行目に記載されたPath1と、Path2とを抽出して記録する。 In the use candidate list 45 of FIG. 5A, when the transmission source processing device and the transmission destination processing device are determined using the program described for each row, all paths that are candidates for connection relations to be used are displayed. Enumerated. For example, when the transmission source processing device is A and the transmission destination processing device is B, Path1 and Path2 described in the second line of the architecture connection relation list 41 shown in FIG. 3 are extracted and recorded.
 次に、図5Bの使用済みパスリストは、制御信号ごとに、これまでに分析したプログラムによって既に使用されたパスを記録する。図5Bにおいては、制御信号が1の場合、すでに使用されたパスは、Path1以降に規定されたRunit1_port0、Runit2_port0、Runit4_port1となる。これらも、上記同様書式は問わない。 Next, the used path list in FIG. 5B records the paths already used by the program analyzed so far for each control signal. In FIG. 5B, when the control signal is 1, the paths that have already been used are Runit1_port0, Runit2_port0, and Runit4_port1 defined after Path1. These may be in the same format as above.
 ルーティング制御情報生成部44は、使用候補リスト45及び使用済パスリスト46を用いて送信元処理デバイスと送信先処理デバイスとの間の使用パスを決定する。また、ルーティング制御情報生成部44は、全てのプログラムにおいて使用パスを決定し、ルーティング制御情報を生成する。 The routing control information generation unit 44 uses the use candidate list 45 and the used path list 46 to determine a use path between the transmission source processing device and the transmission destination processing device. In addition, the routing control information generation unit 44 determines a use path in all programs and generates routing control information.
 ルーティング制御情報修正部47は、異なる制御信号に対応付けられたルーティング制御情報間に、重複する使用パスが存在する場合、ルーティング制御情報を修正する。詳細な修正処理については、後に詳述する。 The routing control information correction unit 47 corrects the routing control information when there is an overlapping use path between the routing control information associated with different control signals. Detailed correction processing will be described in detail later.
 続いて、図6を用いて、ルーティング制御情報の修正処理の流れについて説明する。なお、以下の説明においては、説明の簡略化のため、図2~図4に示したルーティング制御情報生成部44に対する入力データを用いて説明を行う。 Subsequently, the flow of the routing control information correction process will be described with reference to FIG. In the following description, for simplification of description, description will be made using input data to the routing control information generation unit 44 shown in FIGS.
 はじめに、ルーティング制御情報生成部44は、ルーティング制御情報を生成する(S11)。ここで、ルーティング制御情報の生成処理について、図7を用いて詳細に説明する。 First, the routing control information generation unit 44 generates routing control information (S11). Here, the generation processing of the routing control information will be described in detail with reference to FIG.
 はじめに、ルーティング制御情報生成部44は、表形式に記載されているプログラムを1行取得する(S21)。その後、ルーティング制御情報生成部44は、使用候補リストの作成(S22)、使用済みパスの削除(S23)、使用パスの決定(S24)、使用パスの記録(S25)の処理を実行する。ここで、ステップS22における使用候補リストの作成について、図8を用いて詳細に説明する。 First, the routing control information generation unit 44 acquires one line of the program described in the table format (S21). Thereafter, the routing control information generation unit 44 performs processing of creating a use candidate list (S22), deleting a used path (S23), determining a used path (S24), and recording a used path (S25). Here, the creation of the use candidate list in step S22 will be described in detail with reference to FIG.
 はじめに、ルーティング制御情報生成部44は、取得したプログラムに記載されている送信元処理デバイス及び送信先処理デバイスに基づいて、アーキテクチャ接続関係リスト41を検索し、該当する接続関係の使用可能パスを抽出する(S31)。次に、ルーティング制御情報生成部44は、抽出した使用可能パスを使用候補リスト45に登録する(S32)。 First, the routing control information generation unit 44 searches the architecture connection relation list 41 based on the transmission source processing device and the transmission destination processing device described in the acquired program, and extracts the usable paths of the corresponding connection relation. (S31). Next, the routing control information generation unit 44 registers the extracted usable path in the use candidate list 45 (S32).
 続いて、図7のステップS23における使用済みパスの削除について、図9を用いて詳細に説明する。はじめに、ルーティング制御情報生成部44は、取得したプログラムに記載されている制御信号情報に基づいて、使用済みパスリスト46を検索し、制御信号情報に関連付けられている接続関係を抽出する(S41)。次に、ルーティング制御情報生成部44は、使用候補リスト45から、抽出した接続関係に記載されているパス情報を削除する(S42)。使用済みパスリスト46には、他のプログラムにおいて決定された使用パスが記録されている。 Subsequently, deletion of the used path in step S23 in FIG. 7 will be described in detail with reference to FIG. First, the routing control information generation unit 44 searches the used path list 46 based on the control signal information described in the acquired program, and extracts the connection relationship associated with the control signal information (S41). . Next, the routing control information generation unit 44 deletes the path information described in the extracted connection relationship from the use candidate list 45 (S42). In the used path list 46, used paths determined in other programs are recorded.
 図7に戻り、ステップ23における使用済みパスの削除後、ルーティング制御情報生成部44は、使用パスを決定する(S24)。ルーティング制御情報生成部44は、使用候補リスト45の中に残ったパスであって、送信元処理デバイス及び送信先処理デバイスを接続可能なパスについて、使用候補リスト45の先頭から検索し、抽出する。ルーティング制御情報生成部44は、抽出したパスを使用パスとして決定する。なお、ここでは接続可能なパスの抽出はリストの先頭から検索して初めて見つかったものとしたが、これに限る必要はなく、何らかの方法によって1つのパスを選択すればよい。また、図9には明記していないが、使用済みパスリスト46を用いて使用候補リストから削除を行った結果、使用可能なパスがなく、ルーティング制御情報を生成できない場合については、エラー文等を出力してユーザーにその旨を通知し、処理を終了してもよい。 Referring back to FIG. 7, after the used path is deleted in step 23, the routing control information generating unit 44 determines the used path (S24). The routing control information generation unit 44 searches and extracts the paths remaining in the use candidate list 45 from the top of the use candidate list 45 for paths that can connect the transmission source processing device and the transmission destination processing device. . The routing control information generation unit 44 determines the extracted path as a used path. In this example, the extraction of connectable paths is first performed after searching from the top of the list. However, the present invention is not limited to this, and one path may be selected by some method. Further, although not clearly shown in FIG. 9, an error message or the like when there is no usable path and routing control information cannot be generated as a result of deletion from the use candidate list using the used path list 46. May be output to the user and the process may be terminated.
 次に、ルーティング制御情報生成部44は、使用パスとして決定したパスを、使用済パスリスト46に記録する(S25)。これにより、決定されたパスと同一のパスが重複して用いられることを防止することができる。 Next, the routing control information generation unit 44 records the path determined as the used path in the used path list 46 (S25). Thereby, it is possible to prevent the same path as the determined path from being used repeatedly.
 次に、ステップS22~S25までの処理を、プログラムの全行において実施したか否かを判定する(S26)。ルーティング制御情報生成部44は、プログラムの全行において実施したと判定した場合、処理を終了し、プログラムの全行において実施していないと判定した場合、ステップS21の処理を繰り返す。以上が図7のルーティング制御情報生成処理である。 Next, it is determined whether or not the processing from steps S22 to S25 has been performed on all the lines of the program (S26). The routing control information generation unit 44 ends the process when it is determined that the program has been implemented for all the lines of the program, and repeats the process of step S21 when it is determined that the program has not been implemented for all the lines of the program. The above is the routing control information generation processing of FIG.
 続いて、図6に戻り、ルーティング制御情報生成部44は、シミュレーションリスト43から取得した情報に基づいて、シミュレーションを実行する(S12)。ここで、シミュレーションの実行処理について、図10を用いて詳細に説明する。 Subsequently, returning to FIG. 6, the routing control information generation unit 44 executes the simulation based on the information acquired from the simulation list 43 (S12). Here, simulation execution processing will be described in detail with reference to FIG.
 はじめに、ルーティング制御情報生成部44は、次のサイクルで実行するルーティング制御情報を全て取得して、ルーティング制御情報に関連付けられている使用パスに関する情報を記録する(S51)。取得したルーティング制御情報には、異なる制御信号において決定される使用パスに関する情報も含む。ここで記録データ構造は任意であり、例えば、使用候補リストに示したようにリスト化したデータ構造を用いてもよい。 First, the routing control information generation unit 44 acquires all the routing control information to be executed in the next cycle, and records information on the used path associated with the routing control information (S51). The acquired routing control information includes information on the used path determined in different control signals. Here, the recording data structure is arbitrary, and for example, a data structure listed as shown in the use candidate list may be used.
 次に、ルーティング制御情報生成部44は、この記録した情報において、同一パスの使用が記録されていないか分析する(S52)。ここで同一パスの使用がない場合(S53)、ルーティング制御情報生成部44は、1サイクルシミュレーションを行う(S54)。シミュレーションの全サイクルが終了した場合はループをぬけて終了する。シミュレーションの全サイクルが終了していない場合、ステップS51に戻り、次のサイクルの分析に移る。 Next, the routing control information generation unit 44 analyzes whether the use of the same path is recorded in the recorded information (S52). Here, when the same path is not used (S53), the routing control information generation unit 44 performs one-cycle simulation (S54). When all the simulation cycles are completed, the process goes through the loop. If all the simulation cycles have not been completed, the process returns to step S51 and proceeds to the analysis of the next cycle.
 同一パスの使用があった場合(S53)、ルーティング制御情報修正部47は、動作時使用パスリストと同一パス使用分析レポートを作成して(S56)、これらを基にルーティング制御情報の修正を行い(S57)、フロー先頭に戻る。 When the same path is used (S53), the routing control information correction unit 47 creates the same path usage analysis report as the operating path list (S56), and corrects the routing control information based on these reports. (S57), the process returns to the top of the flow.
 ここで動作時使用パスリストと同一パス使用分析レポートについて図11を用いて説明する。図11Aが同一パス使用分析レポートであり、図11Bが動作時使用パスリストである。同一パス使用分析レポートは、同一パスを使用したルーティングの送信元及び送信先処理デバイスと制御信号(CP)とを記録した同一パス使用リストを記録する。例えば図11の例においては、本処理サイクルで2つの同一パス使用(同時パス使用リスト1及び同時パス利用リスト2)が発生していることを示している。同時パス使用リスト1では、制御信号=1の送信元A、送信先Bと、制御信号=2の送信元C、送信先Aのルーティングにおいて同一パス使用が発生していることを示している。同様に同時パス使用リスト2も制御信号=1の送信元D、送信先Bと、制御信号=2の送信元A、送信先Bと、制御信号=3の送信元C、送信先Eと、の3つのルーティングが同時に同じパスを使用することを示している。 Here, the same path usage analysis report as that used during operation will be described with reference to FIG. FIG. 11A is the same path use analysis report, and FIG. 11B is an operation use path list. The same path usage analysis report records the same path usage list in which the transmission source and destination processing devices of routing using the same path and the control signal (CP) are recorded. For example, the example of FIG. 11 shows that two identical path uses (simultaneous path use list 1 and simultaneous path use list 2) occur in this processing cycle. The simultaneous path usage list 1 indicates that the same path is used in the routing of the transmission source A and transmission destination B with the control signal = 1 and the transmission source C and transmission destination A with the control signal = 2. Similarly, the simultaneous path use list 2 also includes a transmission source D and transmission destination B with control signal = 1, transmission source A and transmission destination B with control signal = 2, transmission source C and transmission destination E with control signal = 3, These three routes use the same path at the same time.
 一方、動作時使用パスリストは、図10のステップS51(次サイクルで実行する全制御信号の使用パス情報を取得)において構築した情報から、同一パス使用分析レポートに記録されたパス全てを除いたものであり、例えば図11Bのような情報となる。 On the other hand, the operating use path list excludes all the paths recorded in the same path use analysis report from the information constructed in step S51 of FIG. 10 (acquires use path information of all control signals executed in the next cycle). For example, the information is as shown in FIG. 11B.
 次に、図10のステップS57に記載のルーティング制御情報の修正方法について、図12を用いて説明する。まず、ルーティング制御情報修正部47は、同一パス使用分析レポートから同時使用パスリストを1つ抽出する(S61)。次に、この抽出したリストから1項目(送信元、送信先、制御信号)を選択し、ルーティング制御情報の再生成を行う(S62)。ここで、リストの選択方法は任意であり、例えばリストの先頭から順に選んでもよいし、何らかの評価基準を用いてリスト内の優先順位を決定して、その優先順位に従って処理を実行してもよい。また、ルーティング制御情報再生成処理は、プログラムの代わりに同一パス使用リストを、使用済みパスリストの代わりに動作時使用パスリストを入力とすること以外には、前記にて図7とともに示した処理と差異はない。このため、詳細な説明を省略する。本処理が終了したら、同一パス使用リストの全項目が終了したか、また、同時使用分析レポートの全てが終了したかを検索して(S63)、終了していない場合は図12に示したようにフローの適切な位置に戻って再度実行する。なお、図に明記していないが、ルーティング制御情報生成において、使用可能なパスが発見できない場合においてはエラーとし、プログラマにその旨を伝えるエラー文を生成して終了してもよい。 Next, a method for correcting the routing control information described in step S57 in FIG. 10 will be described with reference to FIG. First, the routing control information correction unit 47 extracts one simultaneous use path list from the same path use analysis report (S61). Next, one item (transmission source, transmission destination, control signal) is selected from the extracted list, and the routing control information is regenerated (S62). Here, the list selection method is arbitrary. For example, the list may be selected in order from the top of the list, or the priority in the list may be determined using some evaluation criteria, and the process may be executed according to the priority. . The routing control information regeneration process is the same as that shown in FIG. 7 except that the same path use list is used instead of the program and the operating use path list is used instead of the used path list. There is no difference. Therefore, detailed description is omitted. When this processing is completed, it is searched whether all items in the same path use list have been completed or all of the simultaneous use analysis reports have been completed (S63), and if not, as shown in FIG. Return to the appropriate position in the flow and try again. Although not clearly shown in the figure, when a path that can be used cannot be found in the generation of routing control information, an error may be generated, and an error statement that informs the programmer may be generated and terminated.
 続いて、図6~10及び図12の処理について、具体例を示して説明する。図13を用いて、本具体例において用いるアーキテクチャ例について説明する。図13に示すアーキテクチャは、処理デバイス11~14と、処理デバイス21~24と、1段目ルーティングユニット50と、2段目ルーティングユニット60と、3段目ルーティングユニット70とを備えている。1段目ルーティングユニット50は、クロスバースイッチ(以下、Xbar)51~54を有し、2段目ルーティングユニット60は、Xbar61~64を有し、3段目ルーティングユニット70は、Xbar71~74を有している。また、実線で示されている矢印は、処理デバイス及びXbar、もしくは、Xbar間をつなぐパスを示している。 Subsequently, the processing of FIGS. 6 to 10 and FIG. 12 will be described with specific examples. An exemplary architecture used in this specific example will be described with reference to FIG. The architecture shown in FIG. 13 includes processing devices 11 to 14, processing devices 21 to 24, a first stage routing unit 50, a second stage routing unit 60, and a third stage routing unit 70. The first stage routing unit 50 includes crossbar switches (hereinafter referred to as Xbar) 51 to 54, the second stage routing unit 60 includes Xbars 61 to 64, and the third stage routing unit 70 includes Xbars 71 to 74. Have. An arrow indicated by a solid line indicates a path connecting the processing device and Xbar or Xbar.
 それぞれの処理デバイスは、入出力ポートとして、それぞれ4ポート有する。それぞれのポートは、演算ユニットを有し、入力された制御信号に従って予め決められた処理を実行する。処理デバイス11の入力ポートは、図の左からinA0~inA3とし、出力ポートは、図の左からpoA0~poA3とする。同様に、処理デバイス12の入出力ポートは、inB0~inB3と、poB0~poB3とし、処理デバイス13の入出力ポートは、inC0~inC3と、poC0~poC3とし、処理デバイス14の入出力ポートは、inD0~inD3と、poD0~poD3とする。さらに、処理デバイス21の入力ポートは、piE0~piE3とし、処理デバイス22の入力ポートは、piF0~piF3とし、処理デバイス23の入力ポートは、piG0~piG3とし、処理デバイス24の入力ポートは、piH0~piH3とする。 Each processing device has 4 ports as input / output ports. Each port has an arithmetic unit, and executes a predetermined process according to the input control signal. The input ports of the processing device 11 are inA0 to inA3 from the left in the figure, and the output ports are poA0 to poA3 from the left in the figure. Similarly, the input / output ports of the processing device 12 are inB0 to inB3 and poB0 to poB3, the input / output ports of the processing device 13 are inC0 to inC3, and poC0 to poC3, and the input / output ports of the processing device 14 are InD0 to inD3 and poD0 to poD3. Furthermore, the input port of the processing device 21 is piE0 to piE3, the input port of the processing device 22 is piF0 to piF3, the input port of the processing device 23 is piG0 to piG3, and the input port of the processing device 24 is piH0. ˜piH3.
 また、生成されたルーティング制御情報は、送信元処理デバイスを示す処理デバイス11~14の各ポートそれぞれに対し1つずつ供えられたルーティング制御情報用メモリ(図示せず)に格納される。処理デバイス11~14のいずれかに制御信号が入力された際には、その制御信号が示すメモリの位置からルーティング制御情報を読み出して、演算が終了したデータに付加し、処理デバイス11~14のいずれかからデータの出力処理を行う。 Further, the generated routing control information is stored in a routing control information memory (not shown) provided for each of the ports of the processing devices 11 to 14 indicating the transmission source processing device. When a control signal is input to any of the processing devices 11 to 14, the routing control information is read from the memory position indicated by the control signal and added to the data for which the calculation has been completed. Data output processing is performed from either.
 続いて、図14を用いて、本アーキテクチャにおいて送受信されるデータのデータ形式について説明する。処理デバイス11~14に入力されるデータは、図14Aに示すように、kビットであり、データと制御信号とにより構成される。なお、本発明の説明においては、データと制御信号とのビット数については特に意味を持たないため、kという符号を用いて示している。 Subsequently, the data format of data transmitted and received in this architecture will be described with reference to FIG. As shown in FIG. 14A, the data input to the processing devices 11 to 14 is k bits and is composed of data and control signals. In the description of the present invention, the number of bits of the data and the control signal has no particular meaning and is indicated by using the symbol k.
 また、処理デバイス11~14から出力されるデータは、ルーティングユニットの制御を行うための制御信号を加えた形式となる。この様子を図14Bに示す。図14Bでは、データと制御信号とに加え、1段目ルーティングユニット、2段目ルーティングユニット、3段目ルーティングユニット用制御情報を付加した様子を示している。なお、これらルーティング制御情報は、本例においては、Xbarの出力ポート値である0、1、2、3の値のみとなるので、ビット数を2ビットとしている。 In addition, the data output from the processing devices 11 to 14 is in a format to which a control signal for controlling the routing unit is added. This is shown in FIG. 14B. FIG. 14B shows a state in which control information for the first-stage routing unit, second-stage routing unit, and third-stage routing unit is added to the data and the control signal. Note that in this example, the routing control information includes only the values 0, 1, 2, and 3 that are the Xbar output port values, so the number of bits is set to 2 bits.
 1段目、2段目、3段目のルーティングユニットは、それぞれ対応する制御信号を入力されたデータから取得し、その値によってルーティングを決定する。本例においては、Xbarの出力ポートは、Xbarを示すブロックの左からそれぞれ0、1、2、3の番号を有し、制御情報は、そのポート番号を指定して、Xbarの宛先を決定する。なお、各Xbarの詳細なアーキテクチャや制御については、本特許とは直接関係がないため省略する。 The first, second, and third stage routing units obtain the corresponding control signals from the input data, and determine the routing based on the values. In this example, the output port of Xbar has numbers 0, 1, 2, and 3 from the left of the block indicating Xbar, respectively, and the control information specifies the port number to determine the destination of Xbar. . The detailed architecture and control of each Xbar are not directly related to this patent, and will be omitted.
 また、処理デバイス11~14が実行する処理と、それに必要なサイクル数を図15のように定義する。なお、本例の説明に必要な処理以外については省略している。処理デバイス11~14における処理Xは1サイクル、処理Yは2サイクルのサイクル数が必要である。例えば処理Yを実行した次のサイクルでは処理X、もしくは処理Yを新たに実行することはできない。 Further, the processing executed by the processing devices 11 to 14 and the number of cycles required for the processing are defined as shown in FIG. Note that processes other than those necessary for the description of this example are omitted. In the processing devices 11 to 14, the processing X requires one cycle, and the processing Y requires two cycles. For example, the process X or the process Y cannot be newly executed in the next cycle in which the process Y is executed.
 次に、本具体例におけるプログラムと、アーキテクチャ接続関係リストと、シミュレーションリストとの詳細を示す。まず、プログラムについて図16に示した図を用いて説明する。図16には、本手法の効果説明に必要な3行分のプログラムについて具体的に示している。まず1行目は、制御信号=1の際のルーティングであり、送信元poA0から送信先piE0へ繋ぐルーティングを定義している。2行目も同様に制御信号=1のルーティングであり、送信元poA1から送信先piE1へ繋ぐルーティングを定義している。一方、3行目は、制御信号=2の際のルーティングであり、送信元poB0から送信先piE2へ繋ぐルーティングを定義している。なお、本具体例を説明するために、送信元における処理についても記載した。本例では制御信号1では処理Yを行い、制御信号2では処理Xを行うものとしている。 Next, the details of the program, the architecture connection relation list, and the simulation list in this specific example are shown. First, the program will be described with reference to the diagram shown in FIG. FIG. 16 specifically shows a program for three lines necessary for explaining the effect of this method. The first line is routing when the control signal = 1, and defines the routing connecting from the transmission source poA0 to the transmission destination piE0. Similarly, the second line is the routing of the control signal = 1, and defines the routing connecting from the transmission source poA1 to the transmission destination piE1. On the other hand, the third line is the routing when the control signal = 2, and defines the routing connecting from the transmission source poB0 to the transmission destination piE2. In addition, in order to explain this specific example, the processing at the transmission source is also described. In this example, the process Y is performed for the control signal 1 and the process X is performed for the control signal 2.
 図17には本アーキテクチャにおけるアーキテクチャ接続関係リストを示している。図17には本具体例の説明に必要な接続関係のみを記載している。具体的には、まずXbarのポートについては、本例においてはあるXbarから次のXbarへのルーティングが決定すれば、使用するポートは一意となるので、図17には明示していない。また、同様に送信元と送信先処理デバイスについては、表内の第一列、第二列を参照すれば判明するため、第三列には明示していない。 FIG. 17 shows an architecture connection relation list in this architecture. FIG. 17 shows only the connection relations necessary for explaining this specific example. Specifically, for the Xbar port, in this example, if routing from one Xbar to the next Xbar is determined, the port to be used is unique, and is not clearly shown in FIG. Similarly, the source and destination processing devices are not shown in the third column because they can be determined by referring to the first and second columns in the table.
 本具体例におけるアーキテクチャ接続関係リストの2行目には、送信元がpoA0、送信先がpiE0の場合の接続関係を示している。この場合の接続関係は4つである。1例として、path1は、Xbar51にてXbar61にルーティングを行った後、Xbar61にてXbar71にルーティングを行い、最後にXbar71にてpiE0にルーティングを行う。path2、3、4のルーティングと、送信元poA1及び送信先piE1間と、送信元poB0及び送信先piE2間に対するルーティングについては、図17に示したとおりである。 The second line of the architecture connection relation list in this specific example shows the connection relation when the transmission source is poA0 and the transmission destination is piE0. In this case, there are four connection relationships. As an example, path1 routes to Xbar61 at Xbar51, then routes to Xbar71 at Xbar61, and finally routes to piE0 at Xbar71. The routing for the paths 2, 3, and 4, the routing between the transmission source poA1 and the transmission destination piE1, and the transmission between the transmission source poB0 and the transmission destination piE2 are as shown in FIG.
 図18に本具体例におけるシミュレーションリストを示す。本具体例におけるシミュレーションデータは1つであり、先頭4サイクルは、制御信号に1を入力、後半4サイクルは2を入力すると仮定する。なお、図18に記載のシミュレーションデータを実行した際の、入力(inA0、inA1、inB0)及び出力(poA0、poA1、poB0)のタイミングダイアグラムを図19に示す。入力においては、図18のシミュレーションデータに示したとおり、開始4サイクルはinA0、inA1に制御信号1が入力される。一方、後半4サイクルはinB0に制御信号2が入力される。 FIG. 18 shows a simulation list in this specific example. It is assumed that there is one simulation data in this specific example, and that 1 is input to the control signal in the first 4 cycles and 2 is input in the latter 4 cycles. FIG. 19 shows a timing diagram of inputs (inA0, inA1, inB0) and outputs (poA0, poA1, poB0) when the simulation data shown in FIG. 18 is executed. As for the input, as shown in the simulation data of FIG. 18, the control signal 1 is input to inA0 and inA1 in the start four cycles. On the other hand, the control signal 2 is input to inB0 in the latter four cycles.
 上記具体例における情報を用いた場合において、図6に示した本手法の適用について詳細に説明する。はじめに、図6のステップS11におけるルーティング制御情報の生成について、図7の詳細フローを用いて説明する。まず、ルーティング制御情報生成部44は、プログラムから1行を取得する(図7、ステップS21)。本例においては図16の2行目に記載されている制御信号1のプログラム行が取得される。次に、ルーティング制御情報生成部44は、使用候補リスト45を作成する(図7、ステップS22)。本例においては、図17のアーキテクチャ接続関係リスト41における送信元poA0、送信先piE0の行に記載のPath1~Path4を抽出し、使用候補リスト45に登録する。 When the information in the above specific example is used, the application of the present technique shown in FIG. 6 will be described in detail. First, the generation of the routing control information in step S11 of FIG. 6 will be described using the detailed flow of FIG. First, the routing control information generation unit 44 acquires one line from the program (FIG. 7, step S21). In this example, the program line of the control signal 1 described in the second line of FIG. 16 is acquired. Next, the routing control information generation unit 44 creates a use candidate list 45 (FIG. 7, step S22). In this example, Path1 to Path4 described in the rows of the transmission source poA0 and the transmission destination piE0 in the architecture connection relation list 41 of FIG. 17 are extracted and registered in the use candidate list 45.
 次に、ルーティング制御情報生成部44は、使用候補リストの作成が終了した後、使用済みパスを削除する(図7、ステップS23)。ここで、本処理では制御信号1における使用パスが決定されていなく、使用済みパスリスト46は空白であるため、使用済みパスの削除は行われない。次に、ルーティング制御情報生成部44は、使用パスの決定を行う(図7、ステップS24)。ここでは、使用候補リストの先頭であるPath1が採用される。最後に、ルーティング制御情報生成部44は、使用パスの記録を行う(図7、ステップS25)。ここでは、ルーティング制御情報生成部44は、Path1を採用したため、Path1に記載されたパス情報と制御信号1とを使用済パスリスト46に記載する。次に、全行のプログラムについて上述した処理を完了していないため、図7のステップS21に戻り、処理を継続する。 Next, after the creation of the use candidate list is completed, the routing control information generation unit 44 deletes the used path (FIG. 7, step S23). Here, in this process, since the used path in the control signal 1 is not determined and the used path list 46 is blank, the used path is not deleted. Next, the routing control information generation unit 44 determines a used path (step S24 in FIG. 7). Here, Path1 which is the head of the use candidate list is adopted. Finally, the routing control information generation unit 44 records the used path (step S25 in FIG. 7). Here, since the routing control information generating unit 44 employs Path1, the path information described in Path1 and the control signal 1 are described in the used path list 46. Next, since the above-described processing has not been completed for the programs on all rows, the processing returns to step S21 in FIG.
 次に、ルーティング制御情報生成部44は、次行のプログラム(図16の3行目)を取得する(図7、ステップS21)。次行は、制御信号1であり、送信元poA1、送信先piE1である。まず、ルーティング制御情報生成部44は、使用候補リスト45を作成する(図7、ステップS22)。本例においては、ルーティング制御情報生成部44は、図17のアーキテクチャ接続関係リスト41における送信元poA1、送信先piE1の行に記載のPath1~Path4を抽出し、使用候補リスト45に登録する。 Next, the routing control information generation unit 44 obtains the next line program (the third line in FIG. 16) (FIG. 7, step S21). The next line is a control signal 1, which is a transmission source poA1 and a transmission destination piE1. First, the routing control information generation unit 44 creates a use candidate list 45 (FIG. 7, step S22). In this example, the routing control information generation unit 44 extracts Path1 to Path4 described in the rows of the transmission source poA1 and the transmission destination piE1 in the architecture connection relation list 41 in FIG. 17 and registers them in the use candidate list 45.
 ルーティング制御情報生成部44は、使用候補リストの作成を終了した後、使用済みパスを削除する(図7、ステップS23)。ここで、使用候補リストのPath1は、先に作成した使用済みパスリストに記載のパスと同一のルーティングが含まれる。そのため、ルーティング制御情報生成部44は、使用候補リストからPath1を削除する。次に、ルーティング制御情報生成部44は、使用パスの決定を行う。ここでは、ルーティング制御情報生成部44は、Path1を削除して残った使用候補リストのうち、使用候補リストの先頭であるPath2を採用する(図7、ステップS24)。次に、ルーティング制御情報生成部44は、使用済パスリスト46に、採用したPath2に記載されたパス情報と制御信号1とを記録する(図7、ステップS25)。 The routing control information generation unit 44 deletes the used path after completing the use candidate list creation (FIG. 7, step S23). Here, Path 1 of the use candidate list includes the same routing as the path described in the used path list created earlier. Therefore, the routing control information generation unit 44 deletes Path1 from the use candidate list. Next, the routing control information generation unit 44 determines a used path. Here, the routing control information generation unit 44 employs Path2 which is the head of the use candidate list among the use candidate lists remaining after deleting Path1 (FIG. 7, step S24). Next, the routing control information generating unit 44 records the path information described in the adopted Path 2 and the control signal 1 in the used path list 46 (FIG. 7, step S25).
 次に、ルーティング制御情報生成部44は、次行のプログラム(図16の4行目)を取得する(図7、ステップS21)。次行は制御信号2であり、送信元poB0、送信先piE2である。上記と同様に、まずルーティング制御情報生成部44は、使用候補リストを作成する(図7、ステップS22)。ルーティング制御情報生成部44は、使用候補リストの作成が終了した後、使用済みパスを削除する(図7、ステップS23)。ここで、使用済みパスリストには、制御信号2に関連付けられた使用済みパスがないため、使用済みパスの削除は行われない。 Next, the routing control information generation unit 44 obtains the next line program (the fourth line in FIG. 16) (FIG. 7, step S21). The next line is the control signal 2, which is the transmission source poB0 and the transmission destination piE2. Similarly to the above, the routing control information generation unit 44 first creates a use candidate list (FIG. 7, step S22). The routing control information generation unit 44 deletes the used path after the use candidate list is created (step S23 in FIG. 7). Here, since there is no used path associated with the control signal 2 in the used path list, the used path is not deleted.
 次に、ルーティング制御情報生成部44は、使用パスの決定を行う(図7、ステップS24)。ここでは、ルーティング制御情報生成部44は、使用候補リスト45の先頭であるPath1を採用する。最後に、使用パスの記録を行う(図7、ステップS25)。ここではルーティング制御情報生成部44は、Path1を採用したため、Path1に記載されたパス情報と制御信号2とを使用済パスリスト46に記載する。以上により、ルーティング制御情報の生成が終了する。 Next, the routing control information generation unit 44 determines a used path (step S24 in FIG. 7). Here, the routing control information generation unit 44 employs Path 1 that is the head of the use candidate list 45. Finally, the used pass is recorded (FIG. 7, step S25). Here, since the routing control information generation unit 44 employs Path 1, the path information described in Path 1 and the control signal 2 are described in the used path list 46. Thus, the generation of the routing control information ends.
 次に、シミュレーションの実行(図6、ステップS12)とルーティング制御情報の修正(図6、ステップS13)とを行う。まず、ルーティング制御情報生成部44は、シミュレーションに使うシミュレーションデータを決定する。本例ではルーティング制御情報生成部44は、図18のシミュレーション1のデータを用いてシミュレーションを行う。 Next, the simulation is executed (FIG. 6, step S12) and the routing control information is corrected (FIG. 6, step S13). First, the routing control information generation unit 44 determines simulation data used for the simulation. In this example, the routing control information generation unit 44 performs a simulation using the data of the simulation 1 in FIG.
 はじめに、ルーティング制御情報生成部44は、1サイクル目に行うシミュレーションについて、全制御信号に対応付けられたルーティング制御情報を取得する(図10、ステップS51)。次に、ルーティング制御情報生成部44は、取得したルーティング制御情報において、同一パスを使用するルーティングがないか分析を行う(図10、ステップS51及びS52)。本例においては、ルーティング制御情報生成部44は、1サイクル目にてinA0及びinA1に制御信号1を入力する。ここで、inA0及びinA1において入力された制御信号1に対応する処理は、inA0及びinA1ともに処理Yである。図15より、処理Yは、処理期間として2サイクル必要となる。そのため、本サイクルにおいて、poA0及びpoA1からデータは出力されない。従って、ルーティング制御情報修正部47は、実行されるルーティングはないため、同一パスの使用はないと判定し(図10、ステップS53)、1サイクル目のシミュレーションを実行する(図10、ステップS54) First, the routing control information generation unit 44 acquires routing control information associated with all control signals for the simulation performed in the first cycle (FIG. 10, step S51). Next, the routing control information generation unit 44 analyzes whether there is a routing that uses the same path in the acquired routing control information (FIG. 10, steps S51 and S52). In this example, the routing control information generation unit 44 inputs the control signal 1 to inA0 and inA1 in the first cycle. Here, the processing corresponding to the control signal 1 input in inA0 and inA1 is processing Y for both inA0 and inA1. From FIG. 15, the process Y requires two cycles as the processing period. Therefore, no data is output from poA0 and poA1 in this cycle. Accordingly, the routing control information correction unit 47 determines that there is no routing to be executed, and therefore does not use the same path (FIG. 10, step S53), and executes the first cycle simulation (FIG. 10, step S54).
 2サイクル目では再びinA0及びinA1に制御信号1が入力される。本サイクルも前サイクルと同様、poA0及びpoA1からデータは出力されない。従って、次のサイクルの処理に移る。 In the second cycle, control signal 1 is input to inA0 and inA1 again. Similarly to the previous cycle, data is not output from poA0 and poA1 in this cycle. Accordingly, the processing moves to the next cycle.
 3サイクル目では再びinA0及びinA1に制御信号1が入力される。本サイクルでは2サイクル前にinA0及びinA1に制御信号1が入力されることにより実行された処理Yが終了し、poA0及びpoA1それぞれからデータが出力される。ここで、ルーティング制御情報生成部44は、これらのルーティング制御情報を取得して分析し、同一パスの使用がないかを分析する。本サイクルにおいては、poA0からpiE0及びpoA1からpiE1へのルーティングが実行される。これらのパス情報を分析すると、poA0からpiE0へのパスは、Path1であってXbar51、Xbar61、Xbar71を通るパスである。一方、poA1からpiE1へのパスは、Path2であってXbar51、Xbar62、Xbar71を通るパスである。Path1及びPath2は、図13に示したアーキテクチャ例を参照すると、同一パスの使用がないことが分かる。そのため、ルーティング制御情報修正部47は、ルーティング制御情報の修正を行わず、次のサイクルの分析に移る。 In the third cycle, control signal 1 is input to inA0 and inA1 again. In this cycle, the process Y executed by inputting the control signal 1 to inA0 and inA1 two cycles before is completed, and data is output from poA0 and poA1, respectively. Here, the routing control information generation unit 44 acquires and analyzes the routing control information, and analyzes whether the same path is used. In this cycle, routing from poA0 to piE0 and from poA1 to piE1 is executed. When analyzing the path information, the path from poA0 to piE0 is Path1 and passes through Xbar51, Xbar61, and Xbar71. On the other hand, the path from poA1 to piE1 is Path2 and passes through Xbar51, Xbar62, and Xbar71. It can be seen that Path 1 and Path 2 do not use the same path by referring to the architecture example shown in FIG. Therefore, the routing control information correction unit 47 does not correct the routing control information, and moves to analysis of the next cycle.
 4サイクル目は、3サイクル目と同様の処理となるので、説明を省略する。また、5サイクル目では、制御信号が入力されるポートがinA0、inA1からinB0に変わり、さらに制御信号が2となる。一方、poA0及びpoA1から出力されるデータに関しては3サイクル目と変わらないため、説明を省略する。 Since the fourth cycle is the same as the third cycle, the description is omitted. In the fifth cycle, the port to which the control signal is input is changed from inA0, inA1 to inB0, and the control signal becomes 2. On the other hand, the data output from poA0 and poA1 is the same as in the third cycle, and the description is omitted.
 6サイクル目ではinB0に制御信号2が入力される。本サイクルでは前サイクルにてinB0に制御信号2が入力されることにより実行された処理Xと、2サイクル前にinA0、inA1に制御信号1が入力されることにより実行された処理Yが終了し、poA0、poA1及びpoB0からデータが出力される。ここで、これらのルーティング制御情報を取得して分析し、同一パスの使用がないかを分析する。 In the 6th cycle, control signal 2 is input to inB0. In this cycle, the process X executed by inputting the control signal 2 to inB0 in the previous cycle and the process Y executed by inputting the control signal 1 to inA0 and inA2 two cycles ago are completed. , PoA0, poA1 and poB0 are output. Here, the routing control information is acquired and analyzed to analyze whether the same path is used.
 本サイクルにおいては、poB0からpiE2、poA0からpiE0及びpoA1からpiE1へのルーティングが実行される。これらのパス情報を分析すると、poB0からpiE2へのパスは、Xbar52、Xbar61及びXbar71を通るパスであり、poA0からpiE0へのパスは、Xbar51、Xbar61及びXbar71を通るパスであり、poA1からpiE1へのパスは、Xbar51、Xbar62及びXbar71を通るパスとなる。このとき、図13に示したアーキテクチャ例を参照すると、poB0からpiE2と、poA0からpiE0のルーティングに使用するXbar61及びXbar71を通るパスが同一パスであることが分かる。そのため、ルーティング制御情報修正部47は、同一パス使用分析レポート及び動作時使用パスリストの作成と、ルーティング制御情報の修正に移る(図10、ステップS57)。 In this cycle, routing from poB0 to piE2, poA0 to piE0, and poA1 to piE1 is executed. When analyzing these path information, the path from poB0 to piE2 is a path through Xbar52, Xbar61 and Xbar71, and the path from poA0 to piE0 is a path through Xbar51, Xbar61 and Xbar71, and from poA1 to piE1 Is a path that passes through Xbar51, Xbar62, and Xbar71. At this time, referring to the architecture example shown in FIG. 13, it can be seen that the paths passing through poB0 to piE2 and Xbar61 and Xbar71 used for routing from poA0 to piE0 are the same path. Therefore, the routing control information correction unit 47 proceeds to the creation of the same path use analysis report and the operating use path list and the correction of the routing control information (step S57 in FIG. 10).
 本例における同一パス使用分析レポートと動作時使用パスリストを図20A及びBに示す。図20Aの同一パス使用リストに記載される内容は、6サイクル目の分析で同一パスの使用が判明したpoA0からpiE0と、poB0からpiE2とへのルーティングであり、それぞれの制御信号(CP)は1及び2である。一方、図20Bの動作時使用パスリストは、6サイクル目に実行されるルーティングにおいて、前述した同一パスを除いたパスであり、すなわち、poA1からpiE1へのルーティングに使用するパスである。 20A and B show the same path use analysis report and the operating use path list in this example. The contents described in the same path use list in FIG. 20A are routings from poA0 to piE0 and from poB0 to piE2 that have been found to use the same path in the analysis of the sixth cycle. 1 and 2. On the other hand, the operation use path list of FIG. 20B is a path excluding the same path described above in the routing executed in the sixth cycle, that is, a path used for routing from poA1 to piE1.
 続いて、図6におけるステップS13のルーティング制御情報修正処理について、図12を用いて説明する。はじめに、同一パス使用分析レポートから1つの同時パス使用リストを抽出する(図12、ステップS61)。本例では図20Aの同時パス使用リスト1が選択される。この次のステップでは同時使用パスリスト1から1つのパス情報が抽出される。この場合、抽出されるパス情報はpoA0からpiE0へのパスが選択される。 Subsequently, the routing control information correction process in step S13 in FIG. 6 will be described with reference to FIG. First, one simultaneous path usage list is extracted from the same path usage analysis report (FIG. 12, step S61). In this example, the simultaneous path use list 1 in FIG. 20A is selected. In this next step, one path information is extracted from the simultaneous use path list 1. In this case, a path from poA0 to piE0 is selected as the extracted path information.
 次に、ルーティング制御情報修正部47は、このパス情報と図20Bの動作時使用パスリストとを用いて、図7に示した処理フローを実行し、ルーティング制御情報を再生成する(図12、ステップS62)。具体的には、まず、ルーティング制御情報修正部47は、poA0からpiE0へのルーティングにおいて、図17に示したアーキテクチャ接続関係リスト41を参照し、使用候補リスト45を作成する。本例においては、使用候補リスト45には、図17の送信元poA0、送信先piE0の行に記載されたPath1、2、3、4が記録される。次に、ルーティング制御情報修正部47は、使用候補リスト45に記録されたパスの中から、動作時使用パスリストに記録されているパスを削除する。図20Bの動作時使用パスリストを見ると、使用候補リストのPath2と一致することが分かる。このため、ルーティング制御情報修正部47は、Path2を使用候補リストから削除する。ルーティング制御情報修正部47は、削除が終了した後、使用パスを決定する。このとき、ルーティング制御情報修正部47は、使用候補リストの先頭から残っているパスを検索し、Path1を使用パスとして決定する。また、このパスを動作時パスリストに追加する。 Next, the routing control information correction unit 47 regenerates the routing control information by executing the processing flow shown in FIG. 7 using this path information and the operating path list shown in FIG. 20B (FIG. 12, FIG. 12). Step S62). Specifically, first, the routing control information modification unit 47 creates the use candidate list 45 with reference to the architecture connection relation list 41 shown in FIG. 17 in the routing from poA0 to piE0. In this example, the usage candidate list 45 records Paths 1, 2, 3, and 4 described in the rows of the transmission source poA0 and the transmission destination piE0 in FIG. Next, the routing control information correction unit 47 deletes the path recorded in the operating use path list from the paths recorded in the use candidate list 45. It can be seen from the use path list during operation in FIG. 20B that it matches Path 2 of the use candidate list. For this reason, the routing control information correction unit 47 deletes Path2 from the use candidate list. The routing control information correction unit 47 determines the path to be used after the deletion is completed. At this time, the routing control information correction unit 47 searches for a remaining path from the top of the use candidate list, and determines Path1 as a use path. In addition, this path is added to the operating path list.
 次に、ルーティング制御情報修正部47は、同時パス使用リストの次の行、すなわち、poB0からpiE2へのルーティング情報の修正を行う(図12、ステップS63)。まず、ルーティング制御情報修正部47は、図17に示したアーキテクチャ接続関係リスト41を参照し、使用候補リスト45を作成する。本例においては、使用候補リストは図 17の送信元poB0、送信先piE2の行に記載されたPath1、2、3、4が使用候補リスト45に記録される。 Next, the routing control information correction unit 47 corrects the next line of the simultaneous path use list, that is, the routing information from poB0 to piE2 (FIG. 12, step S63). First, the routing control information correction unit 47 creates the use candidate list 45 with reference to the architecture connection relation list 41 shown in FIG. In this example, in the use candidate list, Paths 1, 2, 3, and 4 described in the rows of the transmission source poB0 and the transmission destination piE2 in FIG.
 次に、使用候補リスト45に記録されたパスの中から、動作時使用パスリストに記録されているパスを削除する。図20B及びpoA0からpiE0へのルーティング制御情報を再生成した際に追加した動作時使用パスリストを参照すると、使用候補リストのPath1及びPath2が一致することが分かる。このため、ルーティング制御情報修正部47は、Path1、Path2を使用候補リスト45から削除する。ルーティング制御情報修正部47は、削除が終了した後、使用パスを決定する。このとき、ルーティング制御情報修正部47は、使用候補リストの先頭から残っているパスを検索し、Path3を使用パスとして決定する。また、ルーティング制御情報修正部47は、このPath3を動作時パスリストに追加する。以上で同時パス使用リストが終了するため、処理を終了とする。また、同一パス使用分析レポートも終了となるため、ルーティング制御情報の修正プロセスを終了し、シミュレーションに戻る。 Next, the paths recorded in the use path list during operation are deleted from the paths recorded in the use candidate list 45. Referring to FIG. 20B and the operation use path list added when the routing control information from poA0 to piE0 is regenerated, it can be seen that Path1 and Path2 of the use candidate list match. For this reason, the routing control information correction unit 47 deletes Path 1 and Path 2 from the use candidate list 45. The routing control information correction unit 47 determines the path to be used after the deletion is completed. At this time, the routing control information correction unit 47 searches for a remaining path from the top of the use candidate list, and determines Path 3 as a use path. Further, the routing control information correction unit 47 adds this Path3 to the operating path list. Since the simultaneous path use list ends as described above, the process ends. Further, since the same path use analysis report is also ended, the routing control information correction process is ended and the process returns to the simulation.
 図12に戻り、ルーティング制御情報修正部47は、6サイクル目のシミュレーションを再度行う。今回の場合は、poB0からpiE2へのルーティングがXbar52、Xbar63及びXbar71であり、poA0からpiE0へのルーティングがXbar51、Xbar61及びXbar71であり、poA1からpiE1へのルーティングは、Xbar51、Xbar62、Xbar71を通るパスとなる。これらには同一使用パスがないため、次のサイクルのシミュレーションに移る。 Referring back to FIG. 12, the routing control information correction unit 47 performs the sixth cycle simulation again. In this case, the routing from poB0 to piE2 is Xbar52, Xbar63, and Xbar71, the routing from poA0 to piE0 is Xbar51, Xbar61, and Xbar71, and the routing from poA1 to piE1 passes through Xbar51, Xbar62, and Xbar71 It becomes a pass. Since these do not have the same use path, the next cycle simulation is started.
 7サイクル目及び8サイクル目は、poB0からpiE2へのルーティングのみ行われる。このときのルーティングは、修正して作成された、Xbar52、Xbar63、Xbar71となる。また、その他のルーティングはないため、同一パスの使用はない。以上でシミュレーションは終了となり、作成したルーティング制御情報を出力して本手法を終了する。 In the 7th and 8th cycles, only routing from poB0 to piE2 is performed. The routing at this time is Xbar 52, Xbar 63, and Xbar 71, which are created by modification. Also, since there is no other routing, the same path is not used. This completes the simulation, outputs the created routing control information, and ends the present method.
 上記手順にて説明したように、本手法により、プログラマが作成したプログラムから自動でルーティング制御情報を作成し、かつ、その情報を用いてシミュレーションを行って、同一パスの使用が検出された場合に自動でルーティング制御情報の修正を行うことができる。このため、プログラマのプログラム作成・デバッグ時間を短縮することができる。 As explained in the above procedure, when this method automatically creates routing control information from a program created by the programmer and performs a simulation using that information, the use of the same path is detected. The routing control information can be automatically corrected. For this reason, it is possible to shorten the program creation / debug time of the programmer.
 (実施の形態2)
 本発明の実施形態2においては、図7において使用するパスを決定する際に、本発明の実施形態1のようにプログラムを先頭から順に分析してルーティング情報を構築するのではなく、プログラム内の各接続関係の、その時点における使用可能なパスの数を分析し、使用可能なパスが少ない、すなわちルーティング情報の選択の余地が少ない候補から優先的にルーティングの決定を行う。
(Embodiment 2)
In the second embodiment of the present invention, when the path to be used in FIG. 7 is determined, the routing information is not constructed by analyzing the program in order from the top as in the first embodiment of the present invention. The number of usable paths at that time of each connection relationship is analyzed, and routing is determined preferentially from candidates with few usable paths, that is, with little room for selecting routing information.
 使用パスの決定に関する処理フローを図21に示す。図21は、第1ループ部及び第2ループ部の2つのループにより構成されている。第1ループ部は、ステップS71~S75の処理を実行する。第1ループ部は、プログラムの中で使用するパスが決定していないものについて、使用可能なパス数を調査し、どのプログラムについて使用パスを決定するか分析するものである。第2ループ部は、実際に使用するパスを決定した後、全プログラムについて使用するパスが決定していない場合、処理開始時点に戻るループである。 The processing flow related to the determination of the used path is shown in FIG. FIG. 21 includes two loops, a first loop portion and a second loop portion. The first loop unit executes steps S71 to S75. The first loop unit examines the number of paths that can be used for a program whose path to be used is not determined, and analyzes which program is to be used. The second loop unit is a loop that returns to the processing start point when the paths to be used for all the programs have not been determined after the paths to be actually used have been determined.
 第一ループ部について具体的な処理内容を説明する。はじめに、ルーティング制御情報生成部44は、まだ使用するパスが決定していないプログラムを1行取得する(S71)。次に、ルーティング制御情報生成部44は、このプログラム行について使用候補リストの作成と使用済みパスの削除を行う(S72、S73)。なお、ステップS71~S73の処理は、図7と同じ処理であるため、詳細な説明を省略する。次に、ルーティング制御情報生成部44は、使用済みパスを削除した使用候補リストと、使用候補リストに残った、使用が可能なパス数を一時的に記録する(S74)。これら処理が終了し、まだ使用するパスが決定していないプログラムが残っている場合には、処理先頭に戻り、次の使用するパスが決定していないプログラムの分析に移る(S75)。 The specific processing contents of the first loop part will be described. First, the routing control information generation unit 44 acquires one line of a program for which a path to be used has not yet been determined (S71). Next, the routing control information generating unit 44 creates a use candidate list and deletes used paths for this program line (S72, S73). The processes in steps S71 to S73 are the same as those in FIG. Next, the routing control information generation unit 44 temporarily records the use candidate list from which the used path is deleted and the number of usable paths remaining in the use candidate list (S74). When these processes are completed and there are still programs for which a path to be used has not been determined, the process returns to the top of the process, and the analysis of a program for which the next path to be used has not been determined is performed (S75).
 次に、第二ループ部について具体的な処理内容を説明する。まず、ルーティング制御情報生成部44は、第一ループ部にて既に一時的に記録してある、各使用パスが未決定なプログラムにおいて最も使用可能パス数が少ないものを取得する。ルーティング制御情報生成部44は、このプログラムについて、同じく既に記録してある使用候補リストを参照し、使用パスを決定する(S76)。さらに、ルーティング制御情報生成部44は、決定した使用パスを使用済みパスリストへ記録する(S77)。次に、ルーティング制御情報生成部44は、まだ使用パスが決定していないプログラムが存在するかを確認し(S78)、存在する場合は、記録した使用候補リストや使用パス数、また、第一ループ部にて、例えば分析が済んだプログラムを記録するフラグ等内部変数を初期化して(S79)、第一ループ部へと戻る。また、本処理はシミュレーション時のルーティング制御情報の修正にも用いてもよい。 Next, the specific processing contents of the second loop part will be described. First, the routing control information generation unit 44 acquires a program that has already been temporarily recorded in the first loop unit and that has the smallest number of usable paths in a program in which each used path is undetermined. The routing control information generation unit 44 refers to the use candidate list already recorded for this program, and determines a use path (S76). Furthermore, the routing control information generation unit 44 records the determined used path in the used path list (S77). Next, the routing control information generation unit 44 confirms whether there is a program whose use path has not yet been determined (S78). If there is a program, the recorded use candidate list, the number of used paths, and the first In the loop section, for example, an internal variable such as a flag for recording the analyzed program is initialized (S79), and the process returns to the first loop section. Further, this process may be used to correct routing control information during simulation.
 続いて、図22及び図23に示したアーキテクチャ接続関係リストとプログラムとを用いて図21の処理を具体的に説明する。図22に示したアーキテクチャ接続関係リストには、送信元、送信先がそれぞれpoA0及びpiE0、poA1及びpiE1、poA2及びpiE2、の3つの接続関係が明示されている。ここで、各接続関係において、第1の実施例とは異なり、使用可能な接続関係の数が異なる。例えば、poA0及びpiE0の接続関係では3つのパス、すなわち、Xbar51、Xbar61、Xbar71を通過するPath1と、Xbar51、Xbar62、Xbar71を通過するPath2と、Xbar51、Xbar63、Xbar71を通過するPath3が使用可能であるのに対し、poA1及びpiE1の接続関係では、Xbar51、Xbar61、Xbar71を通過するPath1のみ使用可能となっている。 Subsequently, the processing of FIG. 21 will be described in detail using the architecture connection relation list and the program shown in FIGS. In the architecture connection relation list shown in FIG. 22, the three connection relations of the transmission source and the transmission destination of poA0 and piE0, poA1 and piE1, and poA2 and piE2 are specified. Here, in each connection relationship, unlike the first embodiment, the number of usable connection relationships is different. For example, in the connection relation of poA0 and piE0, three paths can be used: Path1 that passes through Xbar51, Xbar61, and Xbar71, Path2 that passes through Xbar51, Xbar62, and Xbar71, and Path3 that passes through Xbar51, Xbar63, and Xbar71. On the other hand, in the connection relationship between poA1 and piE1, only Path1 that passes through Xbar51, Xbar61, and Xbar71 can be used.
 また、図23におけるプログラムでは、制御信号=1を用いて、poA0とpiE0との間の経路、poA1とpiE1との間の経路、poA2とpiE2との間の経路を制御することが示されている。この例において、図21のフローを適用する。 In addition, the program in FIG. 23 shows that the control signal = 1 is used to control the path between poA0 and piE0, the path between poA1 and piE1, and the path between poA2 and piE2. Yes. In this example, the flow of FIG. 21 is applied.
 はじめに、ルーティング制御情報生成部44は、第1のループ部における処理を実行する。その結果、poA0及びpiE0、poA1及びpiE1、poA2及びpiE2のそれぞれのプログラムについて、各々の使用候補リストと、使用可能なパス数が記録される。使用可能なパス数は、poA0及びpiE0では3、poA1及びpiE1では1、poA2及びpiE2では2と記録される。 First, the routing control information generation unit 44 executes processing in the first loop unit. As a result, for each program of poA0 and piE0, poA1 and piE1, poA2 and piE2, each use candidate list and the number of usable paths are recorded. The number of usable paths is recorded as 3 for poA0 and piE0, 1 for poA1 and piE1, and 2 for poA2 and piE2.
 次に、第2のループ部を実行する。上記にて記録した使用可能パス数を見ると、poA1及びpiE1が使用パス数=1で最小である。そのため、ルーティング制御情報生成部44は、poA1及びpoE1の使用パスを決定する。具体的には、図22のpoA1とpiE1の行に記載のPath1: Xbar51、Xbar61、Xbar71が選択される。ルーティング制御情報生成部44は、このパスを使用済みパスリストに記録する。記録が終了した後、プログラムにまだ決定していない使用パスが残っているため、ルーティング制御情報生成部44は、第1ループ部にて記録した使用候補リストや使用可能パス数、内部変数を初期化し、第1ループ部に戻る。 Next, the second loop part is executed. Looking at the number of usable paths recorded above, poA1 and piE1 are the smallest when the number of used paths = 1. Therefore, the routing control information generation unit 44 determines the use paths of poA1 and poE1. Specifically, Path1: Xbar51, Xbar61, and Xbar71 described in the rows of poA1 and piE1 in FIG. 22 are selected. The routing control information generation unit 44 records this path in the used path list. Since the used paths that have not yet been determined remain in the program after the recording is completed, the routing control information generation unit 44 initializes the use candidate list, the number of usable paths, and the internal variables recorded in the first loop unit. And return to the first loop section.
 2回目の第1ループ部の処理においては、ルーティング制御情報生成部44は、既に使用パスが決定したpoA1及びpiE1を除いた、2つ(poA0及びpiE0、poA2及びpiE2)について、使用候補リスト、使用パス数を決定する。ここで、poA0及びpiE0においては、poA1及びpiE1のルーティングで決定し、使用済みパスリストに記録されたPath1と同一のパスを使用しているため、使用候補リストには、Path2及びPath3のみを記録する。一方、poA2及びpoE2においても、Path1が同一であるため、使用候補リストからPath1が削除される。その結果、poA2及びpiE2の使用候補リストにはPath2のみが残る。以上より、poA0及びpoE0、poA2及びpoE2の使用可能パス数はそれぞれ2、1となる。 In the second processing of the first loop unit, the routing control information generation unit 44 uses the use candidate list for two items (poA0 and piE0, poA2 and piE2) excluding poA1 and piE1 whose use paths have already been determined. Determine the number of paths used. Here, in poA0 and piE0, it is determined by the routing of poA1 and piE1 and uses the same path as Path1 recorded in the used path list, so only Path2 and Path3 are recorded in the use candidate list. To do. On the other hand, since Path1 is the same in poA2 and poE2, Path1 is deleted from the use candidate list. As a result, only Path2 remains in the use candidate lists of poA2 and piE2. From the above, the number of usable paths for poA0 and poE0, and poA2 and poE2 are 2 and 1, respectively.
 上記において第二ループ部の処理を行うと、ルーティング制御情報生成部44は、poA2及びpiE2の使用可能パス数が1であるため、使用パスをPath2と決定して、これを使用済みパスリストに記録する。ルーティング制御情報生成部44は、残ったpoA0及びpiE0についても再度第一ループ部及び第二ループ部の処理を行って使用パスを決定する。 When the processing of the second loop unit is performed in the above, the routing control information generation unit 44 determines the used path as Path2 because the number of usable paths of poA2 and piE2 is 1, and puts this in the used path list. Record. The routing control information generation unit 44 again performs the processing of the first loop unit and the second loop unit for the remaining poA0 and piE0 and determines the path to be used.
 以上の手法では、接続が可能なパスが少ないものから優先的にパスを決定していくことにより、他のパスによって使用可能なパスがふさがれてしまうことがないようにするものである。実施形態にも記述したが、同様の手法は、シミュレーション時のルーティング制御情報修正にも用いることができる。この場合には、第一の実施形態と同様入力データがプログラムの同一パス使用リスト、使用済みパスリストが動作時使用パスリストとなる以外は差異がない。そのため、説明を省略する。 In the above method, the paths that can be connected are preferentially determined from the ones with few paths that can be connected, so that the paths that can be used are not blocked by other paths. Although described in the embodiment, the same method can also be used for modifying routing control information during simulation. In this case, there is no difference except that the input data is the same path use list of the program and the used path list is the operation use path list as in the first embodiment. Therefore, explanation is omitted.
 (その他の実施の形態)
 実施の形態1でも述べたが、アーキテクチャ接続関係リスト、プログラム、シミュレーションリストについては、本稿にて述べた処理フローを実施できるものであれば、形式は問わない。又、本発明はプログラムによって実現し、これをPC等の記録媒体に記録して実行することにより、上記制御情報を得ることができる。図24は、本実施の形態を示したもので、ユーザーが作成した制御情報自動生成プログラムは、PCや外部の記録媒体に蓄えられ、蓄えられたプログラムがPCで実行される。その結果、上記制御情報を得ることができる。また、本発明の活用例として、プロセッサ用コンパイラ等が挙げられる。
(Other embodiments)
As described in the first embodiment, the architecture connection relation list, the program, and the simulation list may be in any format as long as the processing flow described in this paper can be performed. Further, the present invention is realized by a program, and the control information can be obtained by recording and executing the program on a recording medium such as a PC. FIG. 24 shows the present embodiment. A control information automatic generation program created by a user is stored in a PC or an external recording medium, and the stored program is executed by the PC. As a result, the control information can be obtained. Further, a processor compiler or the like can be cited as an example of utilizing the present invention.
 また、実施の形態1及び2においては、ルーティング制御情報を生成する経路制御装置は、図13に記載されているアーキテクチャにかかる装置とは異なる装置として説明したが、経路制御装置は、例えば、図13に記載されているアーキテクチャにかかる装置に組み込まれてもよい。もしくは、経路制御装置は、図13に記載されているアーキテクチャにかかる装置に直接接続されてもよい。 In the first and second embodiments, the route control device that generates the routing control information has been described as a device that is different from the device according to the architecture described in FIG. 13. 13 may be incorporated into a device according to the architecture described in FIG. Alternatively, the routing device may be directly connected to a device according to the architecture described in FIG.
 なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。 Note that the present invention is not limited to the above-described embodiment, and can be appropriately changed without departing from the spirit of the present invention.
 例えば、上述の実施の形態では、ハードウェアの構成として説明したが、これに限定されるものではなく、図6及びこれに関連する処理を、CPU(Central Processing Unit)にコンピュータプログラムを実行させることにより実現することも可能である。この場合、コンピュータプログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(random access memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。 For example, in the above-described embodiment, the hardware configuration has been described. However, the present invention is not limited to this, and the CPU (Central Processing Unit) executes a computer program for FIG. 6 and related processing. Can also be realized. In this case, the computer program can be stored and supplied to a computer using various types of non-transitory computer readable media. Non-transitory computer readable media include various types of tangible storage media (tangible storage medium). Examples of non-transitory computer-readable media include magnetic recording media (eg flexible disks, magnetic tapes, hard disk drives), magneto-optical recording media (eg magneto-optical discs), CD-ROMs (Read Only Memory), CD-Rs, CD-R / W, semiconductor memory (for example, mask ROM, PROM (Programmable ROM), EPROM (Erasable ROM), flash ROM, RAM (random access memory)) are included. The program may also be supplied to the computer by various types of temporary computer-readable media. Examples of transitory computer readable media include electrical signals, optical signals, and electromagnetic waves. The temporary computer-readable medium can supply the program to the computer via a wired communication path such as an electric wire and an optical fiber, or a wireless communication path.
 以上、実施の形態を参照して本願発明を説明したが、本願発明は上記によって限定されるものではない。本願発明の構成や詳細には、発明のスコープ内で当業者が理解し得る様々な変更をすることができる。 The present invention has been described above with reference to the embodiment, but the present invention is not limited to the above. Various changes that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the invention.
 この出願は、2012年1月24日に出願された日本出願特願2012-11695を基礎とする優先権を主張し、その開示の全てをここに取り込む。 This application claims priority based on Japanese Patent Application No. 2012-11695 filed on January 24, 2012, the entire disclosure of which is incorporated herein.
 40 経路制御装置
 41 アーキテクチャ接続関係リスト
 42 プログラム
 43 シミュレーションリスト
 44 ルーティング制御情報生成部
 45 使用候補リスト
 46 使用済パスリスト
 47 ルーティング制御情報修正部
 50 1段目ルーティングユニット
 51~54 Xbar
 60 2段目ルーティングユニット
 61~64 Xbar
 70 3段目ルーティングユニット
 71~74 Xbar
40 Routing Controller 41 Architecture Connection Relationship List 42 Program 43 Simulation List 44 Routing Control Information Generation Unit 45 Use Candidate List 46 Used Path List 47 Routing Control Information Correction Unit 50 First-stage Routing Units 51 to 54 Xbar
60 Second stage routing unit 61-64 Xbar
70 3rd stage routing unit 71-74 Xbar

Claims (9)

  1.  第1のデータを送信する第1の送信手段と、第2のデータを送信する第2の送信手段と、前記第1のデータ又は前記第2のデータを受信する第1の受信手段及び第2の受信手段と、第1の接続情報に基づいて前記第1のデータを前記第1の受信手段又は前記第2の受信手段へ転送する第1の接続手段と、第2の接続情報に基づいて前記第2のデータを前記第1の受信手段又は前記第2の受信手段へ転送する第2の接続手段とを含む装置の、前記第1の接続情報の接続関係及び前記第2の接続情報の接続関係を規定する接続関係リスト、並びに、前記第1の受信手段と前記第1の受信手段が受信するデータの送信元との第1の対応関係、及び前記第2の受信手段と前記第2の受信手段が受信するデータの送信元との間の第2の対応関係とを管理する送受信対応リストに基づいて前記第1の接続情報及び前記第2の接続情報を生成する接続情報生成手段と、
     前記第1の接続情報及び前記第2の接続情報に基づいて、前記第1のデータ及び前記第2のデータの転送のシミュレーションを行い、前記シミュレーションにおいて、前記第1のデータの転送先と前記第2のデータの転送先が一致した場合、前記第1の接続情報または前記第2の接続情報のうちの少なくとも1つを変更する接続情報修正手段と、を含む経路制御装置。
    First transmission means for transmitting first data, second transmission means for transmitting second data, first reception means for receiving the first data or the second data, and second Receiving means, first connection means for transferring the first data to the first receiving means or the second receiving means based on the first connection information, and based on the second connection information A connection relation of the first connection information and a second connection information of the apparatus including the second connection means for transferring the second data to the first reception means or the second reception means. A connection relation list that defines a connection relation, a first correspondence between the first receiving means and a transmission source of data received by the first receiving means, and the second receiving means and the second The second correspondence with the transmission source of the data received by the receiving means A connection information generating means for generating the first connection information and second connection information based on the transmission and reception correspondence list that,
    Based on the first connection information and the second connection information, a simulation of the transfer of the first data and the second data is performed, and in the simulation, the transfer destination of the first data and the first data And a connection information correction unit that changes at least one of the first connection information and the second connection information when the two data transfer destinations match.
  2.  前記第1及び第2の接続情報は、
     前記送受信対応リストに管理されている対応関係の記載順に決定される、請求項1に記載の経路制御装置。
    The first and second connection information is:
    The path control device according to claim 1, wherein the path control device is determined in the order of description of correspondences managed in the transmission / reception correspondence list.
  3.  前記第1及び第2の接続情報は、
     前記第1の対応関係における候補経路数と前記第2の対応関係における候補経路数とを比較して前記候補経路数が少ない対応関係を優先して決定される、請求項1に記載の経路制御装置。
    The first and second connection information is:
    2. The route control according to claim 1, wherein the number of candidate routes in the first correspondence relationship is compared with the number of candidate routes in the second correspondence relationship, and the route control according to claim 1 is determined in preference to the correspondence relationship with a small number of candidate routes. apparatus.
  4.  前記接続情報生成手段は、
     前記接続関係リストと前記送受信対応リストとに基づいて、前記第1及び第2の対応関係の候補となる複数の経路を管理する使用候補リストを生成する、請求項1乃至3のいずれか1項に記載の経路制御装置。
    The connection information generating means
    4. The use candidate list for managing a plurality of paths that are candidates for the first and second correspondences is generated based on the connection relation list and the transmission / reception correspondence list. 5. The routing control device according to 1.
  5.  前記接続情報生成手段は、
     前記第1の対応関係において用いられる経路として決定された第1の経路情報を記録した使用済みリストを生成し、前記使用候補リストから前記使用済みリストに記録されている経路を削除する、請求項4に記載の経路制御装置。
    The connection information generating means
    The used list in which the first route information determined as the route used in the first correspondence relationship is recorded is generated, and the route recorded in the used list is deleted from the use candidate list. 5. The route control device according to 4.
  6.  前記接続情報生成手段は、
     前記使用済みリストに記録されている経路が削除された後の前記使用候補リストを用いて前記第2の対応関係において用いられる第2の経路を決定する、請求項5に記載の経路制御装置。
    The connection information generating means
    6. The route control device according to claim 5, wherein a second route used in the second correspondence relationship is determined using the use candidate list after the route recorded in the used list is deleted.
  7.  前記接続情報生成手段は、
     前記使用済みリストに記録されている経路が削除された後の前記使用候補リストにおいて選択可能な経路が存在しない場合、エラー情報を生成する、請求項6に記載の経路制御装置。
    The connection information generating means
    The path control device according to claim 6, wherein error information is generated when there is no selectable path in the use candidate list after the path recorded in the used list is deleted.
  8.  第1のデータを送信する第1の送信手段と、第2のデータを送信する第2の送信手段と、前記第1のデータ又は前記第2のデータを受信する第1の受信手段及び第2の受信手段と、第1の接続情報に基づいて前記第1のデータを前記第1の受信手段又は前記第2の受信手段へ転送する第1の接続手段と、第2の接続情報に基づいて前記第2のデータを前記第1の受信手段又は前記第2の受信手段へ転送する第2の接続手段とを含む装置の、前記第1の接続情報の接続関係及び前記第2の接続情報の接続関係を規定する接続関係リスト、並びに、前記第1の受信手段と前記第1の受信手段が受信するデータの送信元との第1の対応関係、及び前記第2の受信手段と前記第2の受信手段が受信するデータの送信元との間の第2の対応関係とを管理する送受信対応リストに基づいて前記第1の接続情報及び前記第2の接続情報を生成し、
     前記第1の接続情報及び前記第2の接続情報に基づいて、前記第1のデータ及び前記第2のデータの転送のシミュレーションを行い、前記シミュレーションにおいて、前記第1のデータの転送先と前記第2のデータの転送先が一致した場合、前記第1の接続情報または前記第2の接続情報のうちの少なくとも1つを変更する制御情報生成方法。
    First transmission means for transmitting first data, second transmission means for transmitting second data, first reception means for receiving the first data or the second data, and second Receiving means, first connection means for transferring the first data to the first receiving means or the second receiving means based on the first connection information, and based on the second connection information A connection relation of the first connection information and a second connection information of the apparatus including the second connection means for transferring the second data to the first reception means or the second reception means. A connection relation list that defines a connection relation, a first correspondence between the first receiving means and a transmission source of data received by the first receiving means, and the second receiving means and the second The second correspondence with the data transmission source received by the receiving means Generating said first connection information and second connection information based on the transmission and reception correspondence list that,
    Based on the first connection information and the second connection information, a simulation of the transfer of the first data and the second data is performed, and in the simulation, the transfer destination of the first data and the first data A control information generation method for changing at least one of the first connection information and the second connection information when two data transfer destinations match.
  9.  第1のデータを送信する第1の送信手段と、第2のデータを送信する第2の送信手段と、前記第1のデータ又は前記第2のデータを受信する第1の受信手段及び第2の受信手段と、第1の接続情報に基づいて前記第1のデータを前記第1の受信手段又は前記第2の受信手段へ転送する第1の接続手段と、第2の接続情報に基づいて前記第2のデータを前記第1の受信手段又は前記第2の受信手段へ転送する第2の接続手段とを含む装置の、前記第1の接続情報の接続関係及び前記第2の接続情報の接続関係を規定する接続関係リスト、並びに、前記第1の受信手段と前記第1の受信手段が受信するデータの送信元との第1の対応関係、及び前記第2の受信手段と前記第2の受信手段が受信するデータの送信元との間の第2の対応関係とを管理する送受信対応リストに基づいて前記第1の接続情報及び前記第2の接続情報を生成するステップと、
     前記第1の接続情報及び前記第2の接続情報に基づいて、前記第1のデータ及び前記第2のデータの転送のシミュレーションを行い、前記シミュレーションにおいて、前記第1のデータの転送先と前記第2のデータの転送先が一致した場合、前記第1の接続情報または前記第2の接続情報のうちの少なくとも1つを変更するステップとをコンピュータに実行させるプログラムが格納された非一時的なコンピュータ可読媒体。
    First transmission means for transmitting first data, second transmission means for transmitting second data, first reception means for receiving the first data or the second data, and second Receiving means, first connection means for transferring the first data to the first receiving means or the second receiving means based on the first connection information, and based on the second connection information A connection relation of the first connection information and a second connection information of the apparatus including the second connection means for transferring the second data to the first reception means or the second reception means. A connection relation list that defines a connection relation, a first correspondence between the first receiving means and a transmission source of data received by the first receiving means, and the second receiving means and the second The second correspondence with the data transmission source received by the receiving means And generating the first connection information and second connection information based on that transmission and reception correspondence list,
    Based on the first connection information and the second connection information, a simulation of the transfer of the first data and the second data is performed, and in the simulation, the transfer destination of the first data and the first data A non-transitory computer storing a program for causing a computer to execute a step of changing at least one of the first connection information and the second connection information when the two data transfer destinations match A readable medium.
PCT/JP2013/000220 2012-01-24 2013-01-18 Route control device, control information generating method, and non-transitory computer-readable medium in which program is stored WO2013111547A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2012-011695 2012-01-24
JP2012011695 2012-01-24

Publications (1)

Publication Number Publication Date
WO2013111547A1 true WO2013111547A1 (en) 2013-08-01

Family

ID=48873279

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/000220 WO2013111547A1 (en) 2012-01-24 2013-01-18 Route control device, control information generating method, and non-transitory computer-readable medium in which program is stored

Country Status (2)

Country Link
JP (1) JPWO2013111547A1 (en)
WO (1) WO2013111547A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015021554A1 (en) 2013-08-15 2015-02-19 Immun.io Inc. Method and system for protecting web applications against web attacks

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08237255A (en) * 1995-02-24 1996-09-13 Hitachi Ltd Cell switch, switch network using the switch and atm exchange network
JPH1166024A (en) * 1997-08-20 1999-03-09 Nec Eng Ltd Crossbar switch changeover system
JP2000293495A (en) * 1999-04-06 2000-10-20 Nec Eng Ltd Network device
JP2002259352A (en) * 2001-03-01 2002-09-13 Handotai Rikougaku Kenkyu Center:Kk Multiprocessor system device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08237255A (en) * 1995-02-24 1996-09-13 Hitachi Ltd Cell switch, switch network using the switch and atm exchange network
JPH1166024A (en) * 1997-08-20 1999-03-09 Nec Eng Ltd Crossbar switch changeover system
JP2000293495A (en) * 1999-04-06 2000-10-20 Nec Eng Ltd Network device
JP2002259352A (en) * 2001-03-01 2002-09-13 Handotai Rikougaku Kenkyu Center:Kk Multiprocessor system device

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
HIDEHARU AMANO, HEIRETSU COMPUTER, 5 June 1996 (1996-06-05), pages 99 - 117 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015021554A1 (en) 2013-08-15 2015-02-19 Immun.io Inc. Method and system for protecting web applications against web attacks

Also Published As

Publication number Publication date
JPWO2013111547A1 (en) 2015-05-11

Similar Documents

Publication Publication Date Title
US7864707B2 (en) Determination of network topology using flow-based traffic information
US11121933B2 (en) Physically aware topology synthesis of a network
US8078915B2 (en) System and method for verifying operation of a target system
US11176302B2 (en) System on chip (SoC) builder
EP1548581A2 (en) Methods, apparatus and programs for system development
CN104917760A (en) SDN-based global flow chart generating method and apparatus
CN110046088A (en) A kind of interface test method, device and equipment
US7287246B2 (en) Debugging optimized flows with breakpoints using stored breakpoint trigger indicators
JP5962736B2 (en) Information processing system, classification method, and program therefor
CN111158890A (en) System and method for controlling task parallelism in task set
US20180198687A1 (en) Infrastructure to Apply Machine Learning for NoC Construction
WO2015107711A1 (en) Model inspection device for distributed environment model, model inspection method for distributed environment model, and program
WO2013111547A1 (en) Route control device, control information generating method, and non-transitory computer-readable medium in which program is stored
JPWO2015107711A6 (en) Model checking device for distributed environment model, model checking method and program for distributed environment model
US9910810B1 (en) Multiphase I/O for processor-based emulation system
de Almeida et al. Bigdatanetsim: A simulator for data and process placement in large big data platforms
JP3930255B2 (en) System specification information processing apparatus, system specification information processing method, and program
JP4481783B2 (en) Simulation model creation device, simulation device and system, method and program
JP2010140255A (en) Reconfigurable logic circuit, verification method and verification program
JP2016015672A (en) Network control device and network setting system
US10210070B2 (en) Model checking apparatus, model checking method, and storage medium
Brusey et al. Designing communication protocols for holonic control devices using elementary nets
Liu Efficient and safe migration of network functions using software-defined networking
JP6428768B2 (en) Model checking apparatus, method, and storage medium storing program
Deniziak et al. Contention-avoiding custom topology generation for network-on-chip

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13741196

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2013555183

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13741196

Country of ref document: EP

Kind code of ref document: A1