WO2010055706A1 - Data processing device, data processing method, and program - Google Patents

Data processing device, data processing method, and program Download PDF

Info

Publication number
WO2010055706A1
WO2010055706A1 PCT/JP2009/059356 JP2009059356W WO2010055706A1 WO 2010055706 A1 WO2010055706 A1 WO 2010055706A1 JP 2009059356 W JP2009059356 W JP 2009059356W WO 2010055706 A1 WO2010055706 A1 WO 2010055706A1
Authority
WO
WIPO (PCT)
Prior art keywords
management unit
state
state management
state transition
data processing
Prior art date
Application number
PCT/JP2009/059356
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 日本電気株式会社
Priority to JP2010537719A priority Critical patent/JPWO2010055706A1/en
Publication of WO2010055706A1 publication Critical patent/WO2010055706A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture

Definitions

  • the present invention relates to a data processing apparatus that executes arithmetic processing according to a state.
  • Information processing apparatuses have a wider range of use, and are required to have more advanced arithmetic processing or the ability to process a large amount of data at high speed, such as images and moving images.
  • a DSP Digital Signal Processor
  • ASIC Application Specific Integrated Circuit
  • the information processing device is equipped with a data processing device consisting of a reconfigurable device such as an FPGA (Field Programmable Gate Array), CPLD (Complex Programmable Logic Device) or DRP (Dynamically Reconfigurable Processor), and a program for the data processing device as required.
  • a reconfigurable device such as an FPGA (Field Programmable Gate Array), CPLD (Complex Programmable Logic Device) or DRP (Dynamically Reconfigurable Processor)
  • a program for the data processing device as required.
  • the reconfigurable device includes an internal memory for storing a program (object code) therein, and loads the object code stored in the external memory into the internal memory under the control of the CPU or the like, and internally stores it according to the loaded object code.
  • a circuit is configured and processing is performed on the input data by the circuit.
  • the details of DRP are described in, for example, Patent Documents 1 to 6 and Non-Patent Document 1.
  • the DRP is configured to include a calculation unit that executes calculation processing and a control unit that controls the operation of the calculation unit.
  • the arithmetic unit includes a plurality of small arithmetic units and an interconnection unit that switches connection between them, and implements various processes by switching instruction codes for the arithmetic units and the interconnection unit.
  • DRP digital resource retransmission protocol
  • other data may be read from the memory during the processing and the processing may be continued using the data.
  • DRP has an internal memory, but its storage capacity is often limited. Therefore, in the DRP processing, when referring to a table or data that requires a large storage capacity during the processing, it is necessary to access the memory in which the data is stored.
  • the processing method for this is described in Patent Document 7 and Patent Document 8, for example.
  • processing is executed based on an object code composed of one or more pieces of configuration information generated according to data to be processed.
  • the data processing apparatus adopts a method of executing the process while directly specifying the position where the configuration information is stored.
  • the configuration information is an operation command for the arithmetic unit at a certain point in time, information indicating the connection relationship of the arithmetic units by the interconnection unit, and information indicating a relationship between the event signal and the corresponding configuration information to be selected next.
  • the object code indicates a collection of configuration information necessary for executing a desired process.
  • the data processing device stops the operation and holds the object It is necessary to execute a series of processes such as code replacement and restart. For this operation, an external processing device such as an MPU is required.
  • an external processing device such as an MPU is required.
  • the configuration information can be mounted only at the place determined at the time of synthesizing the object code, even if the configuration information is composed of the codes of the same function, It is necessary to prepare multiple pieces of configuration information consisting of codes.
  • the configuration information cannot be shared, the data processing apparatus has a problem that processing is slowed down due to unnecessary processing such as holding a plurality of the same configuration information or rewriting the same configuration information again.
  • an auxiliary control unit that controls state transitions within a predetermined group having a smaller scale than the state transitions controlled by the control unit.
  • the auxiliary control unit controls the state transition in each group.
  • the auxiliary control unit can control the state transition at a higher speed than the control unit, and as a result, it is possible to perform a higher speed process than the conventional data processing device. Yes.
  • the processing time of the entire data processing apparatus is longer than the configuration without the auxiliary control unit. It may become. That is, in a data processing device with a hierarchized control structure, the processing time may be longer than a data processing device with a non-hierarchical control structure, depending on the application to be processed.
  • an object of the present invention is to provide a data processing apparatus that can reduce the time required for processing.
  • a data processing apparatus of the present invention is a data processing apparatus that executes arithmetic processing according to a state, A control unit including a first state management unit for controlling state transition; A second state management unit that controls a state transition that is smaller in scale than the state transition controlled by the first state management unit, and controls the state transition using the second state management unit, or the second An auxiliary control unit that selects control of state transition using only the first state management unit without using the state management unit of Have
  • the data processing method of the present invention includes a control unit including a first state management unit that controls state transition; A second state management unit that controls a state transition that is smaller in scale than the state transition controlled by the first state management unit, and controls the state transition using the second state management unit, or the second An auxiliary control unit that can select control of state transition using only the first state management unit without using the state management unit of
  • a data processing method for generating an object code to be executed by a data processing apparatus having: When the state transition is controlled using the second state management unit, and when the state transition is controlled using only the first state management unit without using the second state management unit Calculate the processing performance of each data processor, Generating control configuration selection information for designating whether or not to use the second state management unit with better processing performance; In this method, the control configuration selection information is added to the generated object code.
  • the program of the present invention includes a control unit including a first state management unit that controls state transition; A second state management unit that controls a state transition that is smaller in scale than the state transition controlled by the first state management unit, and controls the state transition using the second state management unit, or the second An auxiliary control unit that selects control of state transition using only the first state management unit without using the state management unit of A program for causing a computer to generate object code that causes a data processing apparatus to execute a desired process, When the state transition is controlled using the second state management unit, and when the state transition is controlled using only the first state management unit without using the second state management unit Calculate the processing performance of each data processor, Generating control configuration selection information for designating whether or not to use the second state management unit with better processing performance; This is for causing the computer to execute processing for adding the control configuration selection information to the generated object code.
  • FIG. 1 is a block diagram illustrating the configuration of the data processing apparatus according to the first embodiment.
  • FIG. 2 is a block diagram illustrating a configuration example of an object code generation apparatus for generating an object code used in the data processing apparatus illustrated in FIG.
  • FIG. 3 is a block diagram showing another configuration example of the object code generation device shown in FIG.
  • FIG. 4 is a block diagram illustrating a configuration of the data processing apparatus according to the second embodiment.
  • FIG. 5 is a block diagram showing a configuration example of an object code generation device for generating an object code used in the data processing device shown in FIG.
  • FIG. 6 is a block diagram illustrating a configuration of a data processing device according to the third embodiment.
  • FIG. 1 is a block diagram illustrating the configuration of the data processing apparatus according to the first embodiment.
  • FIG. 2 is a block diagram illustrating a configuration example of an object code generation apparatus for generating an object code used in the data processing apparatus illustrated in FIG.
  • FIG. 3 is a block diagram showing another configuration example of the
  • FIG. 7 is a block diagram showing a configuration example of an object code generation device for generating an object code used in the data processing device shown in FIG.
  • FIG. 8 is a block diagram showing the configuration of the data processing apparatus of the first embodiment.
  • FIG. 9 is a schematic diagram showing an example of a state transition table used in the data processing apparatus shown in FIG.
  • FIG. 10A is a schematic diagram illustrating an example of a processing path used for calculation of processing performance of the data processing apparatus illustrated in FIG. 8.
  • FIG. 10B is a schematic diagram illustrating an example of a processing path used for calculation of processing performance of the data processing device illustrated in FIG. 8.
  • FIG. 10C is a schematic diagram illustrating an example of a processing path used for calculation of processing performance of the data processing apparatus illustrated in FIG. 8.
  • FIG. 10A is a schematic diagram illustrating an example of a processing path used for calculation of processing performance of the data processing apparatus illustrated in FIG. 8.
  • FIG. 10B is a schematic diagram illustrating an example of a processing path used for calculation
  • FIG. 11 is a graph illustrating the effect of the data processing apparatus of the first embodiment.
  • FIG. 12 is a block diagram showing the configuration of the data processing apparatus of the second embodiment.
  • FIG. 13A is a schematic diagram illustrating an example of a processing path used for calculation of processing performance of the data processing apparatus illustrated in FIG. 12.
  • FIG. 13B is a schematic diagram illustrating an example of a processing path used for calculation of processing performance of the data processing apparatus illustrated in FIG. 12.
  • FIG. 13C is a schematic diagram illustrating an example of a processing path used for calculation of processing performance of the data processing apparatus illustrated in FIG. 12.
  • FIG. 14 is a block diagram showing the configuration of the data processing apparatus of the third embodiment.
  • FIG. 13A is a schematic diagram illustrating an example of a processing path used for calculation of processing performance of the data processing apparatus illustrated in FIG. 12.
  • FIG. 13B is a schematic diagram illustrating an example of a processing path used for calculation of processing performance of the data processing apparatus illustrated in FIG. 12.
  • FIG. 13C is
  • FIG. 15A is a schematic diagram illustrating an example of a processing path used for calculation of processing performance of the data processing apparatus illustrated in FIG. 14.
  • FIG. 15B is a schematic diagram illustrating an example of a processing path used for calculation of processing performance of the data processing apparatus illustrated in FIG. 14.
  • FIG. 15C is a schematic diagram illustrating an example of a processing path used for calculation of processing performance of the data processing apparatus illustrated in FIG. 14.
  • FIG. 1 is a block diagram showing the configuration of the data processing apparatus according to the first embodiment.
  • the data processing apparatus of the present embodiment has a configuration including a control unit 1 and a calculation unit 2.
  • the control unit 1 includes a state management unit 11, a configuration number conversion unit 12, a configuration information storage unit 13, and a configuration rewriting unit 15.
  • the computing unit 2 includes an auxiliary control unit 23, a plurality of computing units 21, and an interconnection unit 22 for connecting the plurality of computing units 21.
  • the state management unit 11 prepares a state transition table prepared in advance based on a current operation state included in the configuration information, a candidate group of transition states (transition destination candidate group), and an event signal sent from the calculation unit 2. The logical number of the configuration information to be used in the next operation state is determined, and the logical number is notified to the configuration number conversion unit 12.
  • the logical number is information indicating the interrelationship of each configuration information included in the object code.
  • the actual position of the configuration information stored in the configuration information storage unit 13 is specified by a real number.
  • the configuration number conversion unit 12 converts a logical number of configuration information notified from the state management unit 11 into a real number using a conversion table provided in advance, and the real number is converted into a state management unit 11 and an auxiliary control unit of the calculation unit 2. 23 to notify each.
  • the configuration rewriting unit 15 writes the configuration information in the configuration information storage unit 13, writes the state transition table in the state management unit 11, and writes the conversion table in the configuration number conversion unit 12 when the data processing apparatus is initially operated.
  • the configuration rewriting unit 15 also writes the state transition table in the state management unit 231 provided in the auxiliary control unit 23 described later when the data processing apparatus is initially operated.
  • the configuration information storage unit 13 rewrites the currently unnecessary configuration information to the configuration information specified at the time of the rewriting request. At this time, for the selection of unnecessary configuration information, a known method such as the Least Recently Used (LRU) method may be used.
  • LRU Least Recently Used
  • the configuration rewriting unit 15 updates the conversion table that is included in the configuration number conversion unit 12 and includes conversion information used for conversion processing from a logical number to a real number. .
  • the configuration rewriting unit 15 basically rewrites only one requested configuration information in response to the rewrite request from the configuration number converting unit 12, but also rewrites the configuration information used thereafter with the configuration information. Also good.
  • the computing unit 21 performs arithmetic processing according to the designated configuration information read from the configuration information storage unit 13 for each of a plurality of operating states that sequentially transition.
  • the interconnection unit 22 switches the connection relationship of the plurality of computing units 21 based on the configuration information read from the configuration information storage unit 13.
  • the auxiliary control unit 23 includes a state management unit 231 that controls state transitions in a predetermined group whose scale is smaller than the state transitions managed by the state management unit 11 of the control unit 1.
  • the auxiliary control unit 23 notifies the state management unit 11 of the control unit 1 of the event signal.
  • a clock having a predetermined frequency generated by a clock generator (not shown) is supplied to the control unit 1 and the calculation unit 2, and the control unit 1 and the calculation unit 2 operate using the clock.
  • each component of the data processing apparatus shown in FIG. 1 does not have to be provided independently for each functional unit shown in FIG. 1, and any component may be included in another component, and any These components may be composed of a plurality of parts.
  • the configuration information storage unit 13 may be configured by a memory (not illustrated) provided in each of the computing unit 21 and the interconnection unit 22. Further, it is not necessary that all the components of the data processing apparatus shown in FIG. 1 are provided in one apparatus.
  • the configuration rewriting unit 15 may be realized by another device provided outside or an MPU.
  • the configuration information indicates a calculation command for the arithmetic unit at a certain point in time, information indicating the connection relationship between the arithmetic units by the interconnection unit, and a relationship between the event signal and the corresponding configuration information to be selected next.
  • This is information necessary for constructing a virtual circuit in the data processing apparatus, including information and the like.
  • the object code indicates a collection of configuration information necessary for executing a desired process.
  • the arithmetic unit 21 may be configured to include a so-called arithmetic arithmetic unit (ALU) or a combination of a plurality of types of arithmetic units and storage elements such as registers.
  • ALU arithmetic arithmetic unit
  • the state management unit 11 may have any configuration as long as it can determine the next state to be transitioned based on the current state and the event signal.
  • the state management unit 11 may be configured to include a correspondence table indicating transition relationships between the states.
  • the configuration number conversion unit 12 may have any configuration as long as the logical number of the configuration information designated by the state management unit 11 can be converted into a real number.
  • the configuration number conversion unit 12 includes a correspondence table showing a correspondence relationship between logical numbers and real numbers, or a function for converting logical numbers to real numbers based on relative values of logical numbers and real numbers.
  • a configuration provided is conceivable.
  • the correspondence table, relative values, and the like necessary for the process for converting the logical number to the real number executed by the configuration number conversion unit 12 are collectively referred to as “conversion information”.
  • the auxiliary control unit 23 is either state transition control using the state management unit 231 or state transition control using only the state management unit 11 of the control unit 1 without using the state management unit 231. Select one. In such selection processing by the auxiliary control unit 23, for example, at the time of synthesizing the object code, control configuration selection information for designating any one of these controls is added to the object code. What is necessary is just to select whether the control part 23 uses the state management part 231 according to this control structure selection information.
  • FIG. 2 is a block diagram showing a configuration example of an object code generation device for generating an object code used in the data processing device shown in FIG.
  • the object code generation device includes a synthesis tool 50 that generates an object code, the control configuration selection information added to the object code generated by the synthesis tool 50, and a data processing device that uses the object code. And a performance estimation tool 60 for estimating the processing performance.
  • the object code generation device can be realized by an LSI or DSP composed of a logic circuit or the like, or an information processing device (computer) that operates as the synthesis tool 50 and the performance estimation tool 60 according to a predetermined program.
  • the information processing device includes a processing device 70 that executes predetermined processing according to a program, an input device 80 for inputting commands and information to the processing device 70, and the processing device 70. And an output device 90 for monitoring the processing result.
  • the processing device 70 stores a CPU 71, a main storage device 72 that temporarily stores information necessary for the processing of the CPU 71, and a program for causing the CPU 71 to execute processing as the synthesis tool 50 and the performance estimation tool 60.
  • the data storage device 74 does not need to be in the processing device 70 and may be provided independently from the processing device 70.
  • the processing device 70 realizes the function of the synthesis tool 50 and the function of the performance estimation tool 60 described later according to the program recorded in the recording medium 73.
  • the recording medium 73 may be a magnetic disk, a semiconductor memory, an optical disk, or other recording medium.
  • the synthesizing tool 50 generates an object code including at least one piece of configuration information based on the behavioral description and the constraint information when the behavioral description and the constraint information of the application are input.
  • the constraint information is information for designating constraint conditions during the operation of the data processing apparatus based on object codes, such as restrictions on resources to be used and priority performance.
  • the performance estimation tool 60 uses the object code, application operation additional information, and hardware information created by the synthesis tool 50 to estimate the performance during operation of the data processing apparatus by a known operation simulation method or branch probability calculation method. Then, based on the estimation result, it is determined whether to use the state management unit 231 of the auxiliary control unit 23, and control configuration selection information indicating the determination result is added to the object code.
  • the application operation additional information is information for improving the estimation accuracy by the performance estimation tool 60.
  • the processing performance of the data processing apparatus is estimated by the operation simulation method, for example, input data when an application is actually operated may be used as the application operation additional information.
  • the processing performance of the data processing apparatus is estimated by the branch probability calculation method, for example, a value indicating the occurrence probability of a state transition requiring control of the state management unit 11 may be used as the application operation additional information.
  • the programs for realizing the synthesis tool 50 and the performance estimation tool 60 may be configured by a plurality of programs, respectively, or may be configured to realize the synthesis tool 50 and the performance estimation tool 60 by one program. .
  • control configuration selection information is added to the object code, and whether to use the state management unit 231 of the auxiliary control unit 23 according to the control configuration selection information during operation is selected.
  • the process according to the object code can be executed with a control structure that can obtain better processing performance. Therefore, the time required for the processing of the data processing device can be reduced.
  • FIG. 4 is a block diagram showing the configuration of the data processing apparatus according to the second embodiment.
  • control configuration selection information for specifying whether or not to use the state management unit 231 of the auxiliary control unit 23 is added to each configuration information stored in the configuration information storage unit 13. Is done.
  • the data processing apparatus according to the second embodiment includes two clock generators 51 and 52, and supplies a clock to be supplied to the control unit 1 and the calculation unit 2 based on control configuration selection information added to the object code. select.
  • the data processing apparatus has a configuration including a control unit 1 and a calculation unit 2 as in the first embodiment.
  • the control unit 1 includes a state management unit 11, a configuration number conversion unit 12, a configuration information storage unit 13, and a configuration rewriting unit 15.
  • the computing unit 2 includes an auxiliary control unit 23, a plurality of computing units 21, and an interconnection unit 22 for connecting the plurality of computing units 21.
  • the auxiliary control unit 23 includes a state management unit 231 that controls state transitions in a predetermined group whose scale is smaller than the state transitions managed by the state management unit 11 of the control unit 1.
  • the auxiliary control unit 23 notifies the state management unit 11 of the control unit 1 of the event signal.
  • the auxiliary control unit 23 of the present embodiment controls state transition using the state management unit 231 or only the state management unit 11 of the control unit 1 that does not use the state management unit 231. Select one of the state transition controls using.
  • control configuration selection information for designating any one of these controls is added for each configuration information, and during operation by the data processing apparatus, the auxiliary control unit 23 Whether to use the state management unit 231 is selected according to the control configuration selection information for each configuration information.
  • the clock generators 51 and 52 supply clocks having required frequencies to the control unit 1 and the calculation unit 2, respectively.
  • the clock generated by the clock generator 51 is used when controlling the state transition using only the state management unit 11 of the control unit 1 without using the state management unit 231 of the auxiliary control unit 23.
  • the clock generated by the clock generator 52 is used when controlling the state transition using the state management unit 231 of the auxiliary control unit 23.
  • the control unit 1 selects one of the two clocks generated by the clock generators 51 and 52 based on the control configuration selection information added for each configuration information.
  • the selected clock is supplied to the control unit 1 and the calculation unit 2 until the clock is selected based on the control configuration selection information added to the next transition configuration information.
  • any one of the two clocks along with the control configuration selection information is provided for each configuration information.
  • the operating frequency information for designating one of them may be added, and the control unit 1 may select one of the two clocks based on the operating frequency information.
  • the state management unit 231 of the auxiliary control unit 23 can operate (control of state transition) with a clock having a higher frequency than the state management unit 11 of the control unit 1.
  • a clock having a fixed frequency corresponding to the state transition by the state management unit 231 of the auxiliary control unit 23 is supplied to the data processing device, and the state management unit 11 of the control unit 1 performs two cycles of the clock.
  • state transition is controlled by taking three cycles. For this reason, in the data processing apparatus according to the first embodiment, the delay of the state transition due to the control of the state management unit 11 of the control unit 1 becomes relatively large.
  • the clock generator 51 generates a clock having a frequency lower than that of the clock generator 52, and the clock generated by the clock generator 51 is used only by the state management unit 11 of the control unit 1. Used when controlling state transitions.
  • the control of the state management unit 11 of the control unit 1 It is possible to reduce the delay of state transition due to.
  • FIG. 5 is a block diagram showing a configuration example of an object code generation apparatus for generating an object code used in the data processing apparatus shown in FIG.
  • the object code generation device includes a synthesis tool 50 that generates an object code, and the control configuration selection information in each configuration information of the object code generated by the synthesis tool 50. And a performance estimation tool 60 for estimating the processing performance of the data processing apparatus using the object code.
  • the synthesizing tool 50 generates an object code including at least one piece of configuration information based on the behavioral description and the constraint information when the behavioral description and the constraint information of the application are input.
  • the performance estimation tool 60 of the present embodiment uses the object code, application operation additional information, and hardware information created by the synthesis tool 50, and uses the known operation simulation method or branch probability calculation method when the data processing apparatus operates. Estimate performance. Then, based on the estimation result, it is determined whether to use the state management unit 231 of the auxiliary control unit 23, and control configuration selection information (and operating frequency information corresponding to the control structure) indicating the determination result is determined for each configuration information. Append to
  • control configuration selection information is added for each configuration information, and the state management unit 231 of the auxiliary control unit 23 according to the control configuration selection information during operation of the data processing device by object code.
  • FIG. 6 is a block diagram showing the configuration of the data processing apparatus according to the third embodiment.
  • the state management unit 231 of the auxiliary control unit 23 is provided for each piece of configuration information stored in the configuration information storage unit 13 as in the data processing device of the second embodiment.
  • Control configuration selection information for specifying whether to use is added.
  • the data processing apparatus according to the third embodiment includes the variable clock generator 7 that can change the frequency of the clock generated according to an instruction from the outside, and is added to each piece of configuration information. The frequency of the clock supplied to the control unit 1 and the calculation unit 2 is changed according to the operating frequency information specifying the frequency.
  • the data processing apparatus has a configuration including a control unit 1 and a calculation unit 2 as in the first and second embodiments.
  • the control unit 1 includes a state management unit 11, a configuration number conversion unit 12, a configuration information storage unit 13, and a configuration rewriting unit 15.
  • the computing unit 2 includes an auxiliary control unit 23, a plurality of computing units 21, and an interconnection unit 22 for connecting the plurality of computing units 21.
  • the auxiliary control unit 23 includes a state management unit 231 that controls state transitions in a predetermined group whose scale is smaller than the state transitions managed by the state management unit 11 of the control unit 1.
  • the auxiliary control unit 23 notifies the state management unit 11 of the control unit 1 of the event signal.
  • the auxiliary control unit 23 controls state transition using the state management unit 231 or does not use the state management unit 231. One of the state transition controls using only the unit 11 is selected.
  • control composition selection information for designating any one of these controls is added for each piece of composition information when synthesizing the object code.
  • the auxiliary control unit 23 selects whether to use the state management unit 231 according to the control configuration selection information for each configuration information.
  • the variable clock generator 7 generates a clock having a required frequency to be supplied to the control unit 1 and the calculation unit 2, respectively.
  • the frequency of the clock generated by the variable clock generator 7 is changed according to the operating frequency information added for each piece of configuration information.
  • the path length (calculation path) of a virtual circuit built in the calculation unit 2 according to the configuration information differs for each configuration information, and therefore the delay amount is not always uniform. Therefore, even if the control configuration selection information is the same configuration information, the operating frequency may be different.
  • the state transition control using the state management unit 231 or the state transition control using only the state management unit 11 of the control unit 1 without using the state management unit 231 is optimal.
  • the operating frequency can be optimally set according to the path length of the virtual circuit constructed in the arithmetic unit 2 according to the configuration information, the delay amount thereof, etc. The time required can be reduced.
  • FIG. 7 is a block diagram showing a configuration example of an object code generation device for generating an object code used in the data processing device shown in FIG.
  • the object code generation device includes the synthesis tool 50 that generates an object code, and the control configuration selection information in each configuration information of the object code generated by the synthesis tool 50. And a performance estimation tool 60 for estimating the processing performance of the data processing apparatus using the object code.
  • the synthesizing tool 50 generates an object code including at least one piece of configuration information based on the behavioral description and the constraint information when the behavioral description and the constraint information of the application are input.
  • the performance estimation tool 60 of the present embodiment uses the object code, application operation additional information, and hardware information created by the synthesis tool 50, and uses the known operation simulation method or branch probability calculation method when the data processing apparatus operates. Estimate performance. Then, based on the estimation result, it is determined whether to use the state management unit 231 of the auxiliary control unit 23, and control configuration selection information indicating the determination result is added for each configuration information.
  • the operating frequency of the data processing device is changed according to whether or not the state management unit 231 of the auxiliary control unit 23 is used, and in the calculation unit 2 according to the configuration information.
  • An optimum operating frequency is determined according to the path length of the virtual circuit to be constructed, its delay amount, etc., and operating frequency information indicating the frequency of the clock used in the data processing apparatus is added.
  • control configuration selection information is added for each configuration information, and the state management unit 231 of the auxiliary control unit 23 according to the control configuration selection information during operation of the data processing device by object code. Is used, and the frequency of the clock to be used is optimally changed in accordance with the operating frequency information, so that processing can be performed at a more optimal operating frequency than the data processing apparatus of the second embodiment. Can be executed. Therefore, the time required for the processing of the data processing device can be reduced.
  • the first embodiment is an example in which the above-described first embodiment is applied to the data processing apparatus of the prior invention (Japanese Patent Application No. 2006-103987) shown in the background art.
  • FIG. 8 is a block diagram showing the configuration of an embodiment of the data processing apparatus of the present invention.
  • the data processing apparatus of the present embodiment is an example in which the data processing apparatus shown in FIG. 1 is realized by the above-described DRP (Dynamically Reconfigurable Processor).
  • DRP Dynamic Reconfigurable Processor
  • the data processing apparatus (DRP) of the present embodiment includes a state transition management unit (STC) 3 that becomes the control unit 1 shown in FIG. 1 and an auxiliary that becomes the calculation unit 2 shown in FIG.
  • a calculation unit 4 including a control unit (MSTC) 43 and a plurality of processor elements (PE) 41 and an external memory 6 are provided.
  • a clock having a predetermined frequency generated by a clock generator (not shown) is supplied to the state transition management unit (STC) 3, the calculation unit 4, and the external memory 6.
  • the state transition management unit (STC) 3 includes a state management unit 31, a configuration number conversion unit 32, a configuration rewrite unit 33, and a configuration designation register 34.
  • the state management unit 31 corresponds to the state management unit 11 shown in FIG. 1
  • the configuration number conversion unit 32 corresponds to the configuration number conversion unit 12 shown in FIG. 1
  • the configuration rewriting unit 33 uses the configuration rewriting unit shown in FIG. It corresponds to the part 15.
  • the configuration designation register 34 holds control configuration selection information that is information for designating whether or not to use the state management unit 431 corresponding to the state management unit 231 shown in FIG. 1 provided in the auxiliary control unit (MSTC) 43. To do.
  • the processor element (PE) 41 includes a register file (RFU), an ALU, a data processing arithmetic unit (DMU), a switch (SW), and a configuration information memory, and via the switch (SW) and wiring connected to the switch. Connected to each other.
  • REU register file
  • ALU data processing arithmetic unit
  • SW switch
  • configuration information memory a configuration information memory
  • the plurality of processor elements 41 included in the calculation unit 4 are the calculator 21 shown in FIG. Note that the arithmetic unit is not limited to the processor element 41 and may be realized by a logic array, for example.
  • the auxiliary control unit (MSTC) 43 includes a state management unit 431 corresponding to the state management unit 231 illustrated in FIG. 1, and the state management unit 431 includes a plurality of internal state transitions within a logical number (the above group). Manage state transitions.
  • the auxiliary control unit (MSTC) 43 uses the real number register 432 that holds the real number of the current configuration information, the internal state number register 433 that holds the internal state number, and the state management unit 431.
  • a configuration designation register 434 that holds control configuration selection information, which is information for designating, and an event signal register 435 that holds an event signal that designates a large-scale state transition that cannot be controlled by the state management unit 431.
  • the event signal register 435 temporarily holds an event signal that designates a large-scale state transition that cannot be controlled by the state management unit 431 before being sent to the state management unit 31.
  • the auxiliary control unit 43 determines the operation of various selectors used when selecting whether or not to use the state management unit 431 according to the value stored in the configuration designation register 434.
  • state transition management unit (STC) 3 determines the operation of various selectors used for selecting whether or not to use the state management unit 431 according to the value stored in the configuration designation register 34.
  • the state transition management unit (STC) 3 is sent from the state management unit 31 whether or not to cause the configuration number conversion unit 32 to send a stop signal for the group of processor elements 41 according to the value stored in the configuration designation register 34. Whether the internal state number is always written to the internal state number register 433 or whether the internal state number is written to the internal state number register 433 synchronously when the real number is written from the configuration number conversion unit 32 to the real number register 432 select.
  • a memory included in each processor element 41 and the state transition management unit (STC) 3 serves as the configuration information storage unit 13. That is, the configuration information storage unit of the present embodiment is configured to be divided into memories provided in each processor element 41 and the state transition management unit (STC) 3.
  • configuration information of logical numbers “0” and “1” is held in the instruction memory provided in the data processing device (DRP).
  • DSP data processing device
  • FIG. 1 an example of the state transition table provided in the state management unit 31 is shown in FIG.
  • the configuration information with the logical number “0” is written in the configuration information memory with the real number “0”
  • the configuration information with the logical number “1” is written in the configuration information memory with the real number “1”.
  • the data processing apparatus first reads out the real number corresponding to the configuration information of the logical number “0” from the real number register 432 by the auxiliary control unit 43 and the internal state number “433” from the internal state number register 433. 1 ”is read out.
  • the auxiliary control unit 43 reads the configuration information from the configuration information memory using the real number read from the real number register 432 and the internal state number “1”, and notifies each processor element 41 of the calculation unit 4.
  • Each processor element 41 determines its operation and switch connection relationship according to the configuration information notified from the auxiliary control unit 43. As a result, each processor element 41 executes a required calculation.
  • the state management unit 431 proceeds to control of the next state transition corresponding to the event signal based on the state transition table.
  • the state management unit 431 since the transition to the next state can be controlled by the state management unit 431, the state management unit 431 writes the next internal state number “2” in the internal state number register 433. At this stage, the first cycle process is completed.
  • FIG. 10A is a diagram showing a processing path of one cycle by the data processing apparatus described above.
  • the processing path when the state management unit 431 controls the state transition is indicated by a thick arrow. That is, the thick arrow in FIG. 10A indicates that the internal state number register 433 is the starting point of processing, and when an operation result by a circuit constructed by each processor element 41 based on the current configuration information is issued as an event signal, The state management unit 431 that has received the signal determines the next internal state, and shows the processing path until the internal state number indicating the internal state is written in the internal state number register 433.
  • the data processing apparatus reads the real number corresponding to the configuration information of the logical number “0” from the real number register 432 by the auxiliary control unit 43 and the internal state number “2” from the internal state number register 433. "Is read out.
  • the auxiliary control unit 43 reads the configuration information from the configuration information memory using the real number read from the real number register 432 and the internal state number “2”, and notifies each processor element 41 of the calculation unit 4.
  • Each processor element 41 determines its operation and switch connection relationship according to the configuration information notified from the auxiliary control unit 43. As a result, each processor element 41 executes a required calculation.
  • the state management unit 431 proceeds to control of the next state transition corresponding to the event signal based on the state transition table.
  • the transition to the next state cannot be controlled by the state management unit 431 because the logical number changes. Therefore, the state management unit 431 issues a WE cancel signal for stopping the operation of the processor elements 41 group.
  • the processor element 41 receives the WE cancel signal, it does not accept the update of the register contents. Further, when the processor element 41 receives the WE cancel signal, the data input operation from the external port is also stopped.
  • the auxiliary control unit 43 issues a WE cancel signal and stores the event signal in the event signal register 435 at the same time. At this stage, the process in the second cycle is completed.
  • the data processing device reads the event signal stored in the event signal register 435 by the state management unit 31 and based on the event signal and the real number “0” notified from the configuration number conversion unit 32.
  • the logical number “1” of the next transition state is determined according to the state transition table, and the configuration number conversion unit 32 is notified of the logical number “1”.
  • the state management unit 31 uses the real number “0” notified from the configuration number conversion unit 32 and the received event signal to start an internal state number that starts in the next transition state (hereinafter referred to as a start internal state number). ) Determine "1".
  • the configuration number converting unit 32 converts the logical number “1” into a real number using the conversion table.
  • the configuration information of the logical number “1” is held in the configuration information memory, the configuration number conversion unit 32 succeeds in conversion from the logical number to the real number.
  • the configuration number conversion unit 32 stores the obtained real number “1” in the real number register 432 and the state management unit 31. At this time, the configuration number conversion unit 32 transmits the start internal state number to the internal state number register 433.
  • FIG. 10B is a diagram showing a processing path of two cycles by the data processing apparatus described above.
  • the processing path when the state management unit 431 controls the state transition in the second cycle and the processing path when the state management unit 31 controls the state transition in the third cycle are indicated by thick arrows. . That is, the thick arrow shown in FIG.
  • the 10B starts from the internal state number register 433, and when an operation result by a circuit constructed by each processor element 41 based on the current configuration information is issued as an event signal,
  • the state management unit 431 that has received the event signal tries to determine the next internal state, and the state management unit 431 that cannot determine the next internal state stores the event signal received in the event signal register 435;
  • the state management unit 31 determines the logical number and internal state number of the next state, and the logical number is executed by the configuration number conversion unit 32.
  • the second process is performed until the conversion result is notified to the real number register 432 and the internal state number register 433. It is shown the door.
  • the data processing apparatus reads the real number corresponding to the configuration information of the logical number “1” from the real number register 432 by the state management unit 31 and the internal state number “1” from the internal state number register 433. "Is read out. Then, the WE cancel signal issued by the state management unit 431 is stopped, and the processor elements 41 are restarted.
  • the configuration number conversion unit 32 fails to convert the logical number to the real number. In this case, the configuration number conversion unit 32 requests the configuration rewriting unit 33 to write the configuration information of the logical number “1” in the configuration information memory.
  • the configuration rewriting unit 33 rewrites the configuration information that is unnecessary at the present time with the configuration information of the logical number “1” among the configuration information stored in the configuration information storage unit 13. Since it takes a long time to rewrite the configuration information, the configuration number conversion unit 32 waits for an end notification indicating completion of the rewriting from the configuration rewriting unit 33.
  • the configuration rewriting unit 33 transmits an end notification to the configuration number conversion unit 32.
  • the configuration number conversion unit 32 converts the logical number “1” into a real number using the updated conversion table, and stores it in the real number register 432.
  • the event signal indicating the calculation result of the processor element 41 is directly notified to the state management unit 31 without passing through the state management unit 431 and the event signal register 435.
  • the state management unit 31 determines the logical number of the next transition state based on the current real number and the received event signal according to the state transition table, and the configuration number conversion unit 32
  • the real number “1” corresponding to the logical number obtained from the above is transmitted to the real number register 432 and the state management unit 31, and the start internal state number is stored in the internal state number register 433.
  • the state management unit 31 executes the processing so far in one cycle.
  • FIG. 10C is a diagram showing a processing path of one cycle by the data processing apparatus described above.
  • the processing path when the state management unit 31 controls the state transition without using the auxiliary control unit 43 is indicated by a thick arrow. That is, the thick arrow in FIG. 10C starts from the internal state number register 433, and when an operation result by a circuit constructed by each processor element 41 based on the current configuration information is issued as an event signal, The state management unit 31 that has received the signal determines the next internal state, the configuration number conversion unit 32 converts the logical number notified from the state management unit 31 into a real number, and the result is the real number register 432 and the internal state. The processing path until notification to the number register 433 is shown.
  • the configuration number conversion unit 32 fails to convert the logical number to the real number.
  • the configuration number conversion unit 32 requests the configuration rewriting unit 33 to write the configuration information of the logical number “1” to the configuration information memory, and causes the processor element 41 group to stop the operation until the rewriting is completed.
  • a WE cancel signal is issued.
  • the rewriting operation of the configuration information is the same as that in the case of using the auxiliary control unit 43 described above, and thus the description thereof is omitted here.
  • the configuration number conversion unit 32 When the configuration number conversion unit 32 receives an end notification indicating completion of rewriting of the configuration information from the configuration rewriting unit 33, the configuration number conversion unit 32 converts the logical number notified from the state management unit 31 into a real number, and converts the result into a real number register 432 and Notify the internal state number register 433 and stop issuing the WE cancel signal.
  • the object code synthesizing apparatus generates an object code of an application to be operated on the data processing apparatus by the synthesizing tool 50. Further, the object code synthesis apparatus estimates the processing performance of the data processing apparatus when the auxiliary control unit 43 is used or not used by the performance estimation tool 60, and uses the auxiliary control unit 43 based on the estimation result. The superiority or inferiority of the processing performance when not used is determined, and control configuration selection information indicating whether or not to use the auxiliary control unit 43 is added to the object code generated by the synthesis tool 50 according to the determination result.
  • the operation time per cycle of the data processing device the case where the auxiliary control unit 43 is used and the case where it is not used are used. Use the required number of cycles.
  • the processing time of one cycle as a reference is the time required for processing the route indicated by the thick arrow in FIG. 10A. Using this value, the number of cycles required for control by the state transition management unit 3 is determined.
  • the processing time required for control by the state transition management unit 3 shown in FIG. 10B is divided by the time required for the processing of the route shown in FIG. 10A, and the value raised to an integer is obtained. calculate. Next, by subtracting “1” from this value, the number of overhead cycles, which is the number of cycles required for control by the state transition management unit 3, is calculated.
  • the time of one cycle as a reference is set as the time required for processing the route indicated by the thick arrow in FIG. 10C.
  • the number of cycles when the auxiliary control unit 43 is not used is the value of the number of cycles of the operation simulation itself.
  • the number of cycles when the auxiliary control unit 43 is used is the product of the number of state transitions generated by the control of the state transition management unit 3 and the overhead when the state transitions by the control of the state transition management unit 3. It is calculated by adding the number of cycles for motion simulation.
  • the required number of cycles is expressed as a ratio. For example, if the number of cycles when the auxiliary control unit 43 is not used is “1”, the number of cycles when the auxiliary control unit 43 is used is the occurrence probability of the state transition requiring the control of the state transition management unit 3. Calculation is performed by adding “1” to the product of the overhead value when the state transition management unit 3 controls the state transition.
  • operation required time the time required for processing of the data processing apparatus corresponding to the application
  • the performance estimation tool 60 calculates the required operation time when the auxiliary control unit 43 is used and when not used, and determines a control structure (whether the auxiliary control unit 43 is used) that shortens the required operation time. Then, control configuration selection information indicating whether to use the auxiliary control unit 43 based on the determination result is added to the object code.
  • the performance estimation tool 60 when the processing performance is estimated more precisely, it is desirable that the performance estimation tool 60 also considers the time required for rewriting configuration information during operation. In this case, since the number of rewrite cycles does not change, the opportunity to select a control structure that uses the auxiliary control unit 43 having a higher operating frequency increases.
  • the required operation time by the processing path shown in FIG. 10A is 10 ns
  • the required operation time by the processing path shown in FIG. 10B is 16 ns
  • the required operation time by the processing path shown in FIG. 10C is 13 ns.
  • the probability of occurrence of a state transition requiring control of the unit 3 is 0.2.
  • the performance estimation tool 60 gives control configuration selection information for specifying the use of the auxiliary control unit 43 to the object code.
  • the performance estimation tool 60 gives control configuration selection information for designating non-use of the auxiliary control unit 43 to the object code.
  • FIG. 11 is a graph in which the horizontal axis indicates the probability of occurrence of a state transition that requires the control of the state transition management unit 3, and the vertical axis indicates the required operation time.
  • FIG. 11 shows the required operation time when the auxiliary control unit 43 is used and the required operation time when the auxiliary control unit 43 is not used, with respect to the occurrence probability of the state transition that requires the control of the state transition management unit 3.
  • the relationship with the required operation time when optimally selecting whether or not to use the auxiliary control unit 43 (the present invention) is shown.
  • the performance estimation tool 60 estimates in advance the processing performance when the auxiliary control unit 43 is used and when not used, determines an optimal control structure, and sets control configuration selection information indicating the determination result. Since it is given to the object code, the data processing apparatus can execute the process with a control structure having a shorter operation required time. Therefore, the time required for the processing of the data processing device can be reduced.
  • the second embodiment is an example in which the second embodiment described above is applied to the data processing apparatus of the prior invention (Japanese Patent Application No. 2006-103987) shown in the background art.
  • FIG. 12 is a block diagram showing the configuration of the data processing apparatus of the second embodiment.
  • the data processing apparatus has a configuration specifying table 36 instead of the configuration specifying register 34 shown in the first embodiment. Further, the data processing apparatus of the second embodiment includes two clock generators 51 and 52.
  • the data processing apparatus (DRP) of the present embodiment includes a state transition management unit (STC) 3 that becomes the control unit 1 shown in FIG. 4 and an auxiliary that becomes the calculation unit 2 shown in FIG.
  • STC state transition management unit
  • This is a configuration having a calculation unit 4 including a control unit (MSTC) 43 and a plurality of processor elements (PE) 41, two clock generators 51 and 52, and an external memory 6.
  • the state transition management unit (STC) 3 the arithmetic unit 4, and the external memory 6 are based on the control configuration selection information stored in the configuration designation table 36.
  • One of the clocks selected by the state transition management unit (STC) 3 is supplied.
  • the state transition management unit (STC) 3 includes a state management unit 31, a configuration number conversion unit 32, a configuration rewriting unit 33, and a configuration designation table 36.
  • the state management unit 31 corresponds to the state management unit 11 shown in FIG. 4
  • the configuration number conversion unit 32 corresponds to the configuration number conversion unit 12 shown in FIG. 4
  • the configuration rewriting unit 33 uses the configuration rewriting unit shown in FIG. It corresponds to the part 15.
  • the configuration designation table 36 includes, for each configuration information, control configuration selection information that designates whether or not the state management unit 431 corresponding to the state management unit 231 illustrated in FIG. 4 provided in the auxiliary control unit (MSTC) 43 is used. Hold.
  • the processor element (PE) 41 includes a register file (RFU), an ALU, a data processing arithmetic unit (DMU), a switch (SW), and a configuration information memory, and via the switch (SW) and wiring connected to the switch. Connected to each other.
  • REU register file
  • ALU data processing arithmetic unit
  • SW switch
  • configuration information memory a configuration information memory
  • the plurality of processor elements 41 included in the calculation unit 4 are the calculator 21 shown in FIG.
  • the computing unit 21 is not limited to the processor element 41 and may be realized by, for example, a logic array.
  • the auxiliary control unit (MSTC) 43 includes a state management unit 431 corresponding to the state management unit 231 illustrated in FIG. 4.
  • the state management unit 431 includes a plurality of internal state transitions within a logical number (the above group). Manage state transitions.
  • the auxiliary control unit (MSTC) 43 uses the real number register 432 that holds the real number of the current configuration information, the internal state number register 433 that holds the internal state number, and the state management unit 431.
  • a configuration designation register 434 that holds control configuration selection information, which is information for designating
  • an event signal register 435 that holds an event signal that designates a large-scale state transition that cannot be controlled by the state management unit 431.
  • an event signal that designates a large-scale state transition that cannot be controlled by the state management unit 431 is temporarily held before being sent to the state management unit 31.
  • the auxiliary control unit 43 determines the operation of various selectors used when selecting whether or not to use the state management unit 431 according to the value stored in the configuration designation register 434.
  • the state transition management unit (STC) 3 reads the value (control configuration selection information) stored in the memory area of the configuration designation table 36 corresponding to the real number of the configuration information to be used, and based on the read value, the state transition management unit (STC) 3 The operation of various selectors used for selecting whether to use the management unit 431 is determined. At this time, the state transition management unit (STC) 3 stores the value read from the configuration designation table 36 in the configuration designation register 434.
  • the clock generator 51 generates a clock used in the data processing device when the control structure does not use the state management unit 431.
  • the clock generator 52 generates a clock to be used in the data processing device when the control structure uses the state management unit 431.
  • the state transition management unit (STC) 3 selects a clock generated by the clock generator 51 or the clock generator 52 according to the value stored in the configuration designation table 36.
  • state transition management unit (STC) 3 is sent from the state management unit 31 whether or not to cause the configuration number conversion unit 32 to send a stop signal for the processor element 41 group according to the value stored in the configuration designation table 36. Whether the internal state number is always written to the internal state number register 433 or the internal state number is written to the internal state number register 433 synchronously when the real number is written from the configuration number conversion unit 32 to the real number register 432 Select.
  • the configuration information with logical number “0” is written in the configuration information memory with real number “0”, and the configuration information with logical number “1” is written in the configuration information memory with real number “1”. . Further, control configuration selection information for instructing use of the state management unit 431 is added to the configuration information of logical number 0, and control configuration selection information for instructing non-use of the state management unit 431 is added to configuration information of logical number 1. It shall be added.
  • the state is changed according to the state transition table shown in FIG. 9, and the internal state number “1” (state 0-1) included in the configuration information of the logical number “0” is assumed.
  • An example of starting the process from is shown.
  • the state transition management unit (STC) 3 first reads out the control configuration selection information added to the configuration information of the logical number “0” from the configuration designation table 36, and based on the control configuration selection information, the clock of the clock generator 52 is read out. Select. Thereafter, the state transition management unit (STC) 3 and the calculation unit 4 according to the present embodiment operate using the clock generated by the clock generator 52 until the next clock is selected. Until the state transition management unit (STC) 3 selects a clock based on the control configuration selection information, the state transition management unit (STC) 3 and the calculation unit 4 have the processing capability of the state transition management unit (STC) 3. It is assumed that the operation is performed with a clock having a preset frequency (in this case, a clock generated by the clock generator 51).
  • the data processing apparatus first reads out the real number corresponding to the configuration information of the logical number “0” from the real number register 432 by the auxiliary control unit 43 and the internal state number “433” from the internal state number register 433. 1 ”is read out.
  • the auxiliary control unit 43 reads the configuration information from the configuration information memory using the real number read from the real number register 432 and the internal state number “1”, and notifies each processor element 41 of the calculation unit 4.
  • Each processor element 41 determines its operation and switch connection relationship according to the configuration information notified from the auxiliary control unit 43. As a result, each processor element 41 executes a required calculation.
  • the state management unit 431 proceeds to control of the next state transition corresponding to the event signal based on the state transition table.
  • the state management unit 431 since the transition to the next state can be controlled by the state management unit 431, the state management unit 431 writes the next internal state number “2” in the internal state number register 433. At this stage, the first cycle process is completed.
  • FIG. 13A is a diagram showing a processing path of one cycle by the data processing apparatus described above.
  • the processing path when the state management unit 431 controls the state transition is indicated by a thick arrow. That is, the thick arrow in FIG. 13A starts from the internal state number register 433, and when an operation result by a circuit constructed by each processor element 41 based on the current configuration information is issued as an event signal, The state management unit 431 that has received the signal determines the next internal state, and shows the processing path until the internal state number indicating the internal state is written in the internal state number register 433.
  • the data processing apparatus reads the real number corresponding to the configuration information of the logical number “0” from the real number register 432 by the auxiliary control unit 43 and the internal state number “2” from the internal state number register 433. "Is read out.
  • the auxiliary control unit 43 reads the configuration information from the configuration information memory using the real number read from the real number register 432 and the internal state number “2”, and notifies each processor element 41 of the calculation unit 4.
  • Each processor element 41 determines its operation and switch connection relationship according to the configuration information notified from the auxiliary control unit 43. As a result, each processor element 41 executes a required calculation.
  • the state management unit 431 proceeds to control of the next state transition corresponding to the event signal based on the state transition table.
  • the state management unit 431 issues a WE cancel signal for stopping the operation of the processor elements 41 group.
  • the processor element 41 receives the WE cancel signal, it does not accept the update of the register contents. Further, when the processor element 41 receives the WE cancel signal, the data input operation from the external port is also stopped.
  • the auxiliary control unit 43 issues a WE cancel signal and stores the event signal in the event signal register 435 at the same time. At this stage, the process in the second cycle is completed.
  • the data processing device reads the event signal stored in the event signal register 435 by the state management unit 31, and based on the real number “0” and the event signal notified from the configuration number conversion unit 32, The logical number “1” of the next transition state is determined according to the state transition table, and the logical number “1” is notified to the configuration number conversion unit 32. Further, the state management unit 31 is based on the real number “0” notified from the configuration number conversion unit 32 and the received event signal, and the internal state number (starting internal state number) “1” starting in the next transition state. To decide.
  • the configuration number converting unit 32 converts the logical number “1” into a real number using the conversion table.
  • the configuration information of the logical number “1” is held in the configuration information memory, the configuration number conversion unit 32 succeeds in conversion from the logical number to the real number.
  • the configuration number conversion unit 32 stores the obtained real number “1” in the real number register 432 and the state management unit 31. At this time, the configuration number conversion unit 32 transmits the start internal state number to the internal state number register 433.
  • the state transition management unit (STC) 3 reads the control configuration selection information added to the configuration information corresponding to the real number “1” from the configuration designation table 36, and the state management unit 431 is used for the configuration information of the logical number “1”. It is detected that a control structure that is not used is used, and the clock of the clock generator 51 is selected based on the read control configuration selection information. In this case, the state transition management unit (STC) 3 and the calculation unit 4 operate using the clock generated by the clock generator 51 from the next cycle. In addition, the state management unit 31 writes information indicating a control structure that does not use the state management unit 431 in the configuration designation register 434.
  • FIG. 13B is a diagram showing a processing path of two cycles by the data processing apparatus described above.
  • the processing path when the state management unit 431 controls the state transition in the second cycle and the processing path when the state management unit 31 controls the state transition in the third cycle are indicated by thick arrows. . That is, the thick arrow shown in FIG.
  • the 13B starts from the internal state number register 433, and when an operation result by a circuit constructed by each processor element 41 based on the current configuration information is issued as an event signal,
  • the state management unit 431 that has received the event signal tries to determine the next internal state, and the state management unit 431 that cannot determine the next internal state stores the event signal received in the event signal register 435;
  • the state management unit 31 determines the logical number and internal state number of the next state, and the logical number is executed by the configuration number conversion unit 32.
  • the second process is performed until the conversion result is notified to the real number register 432 and the internal state number register 433. It is shown the door.
  • the data processing apparatus reads the real number corresponding to the configuration information of the logical number “1” from the real number register 432 by the state management unit 31 and the internal state number “1” from the internal state number register 433. "Is read out. Then, the WE cancel signal issued by the state management unit 431 is stopped, and the processor elements 41 are restarted.
  • the event signal indicating the calculation result of the processor element 41 is directly notified to the state management unit 31 without passing through the state management unit 431 and the event signal register 435.
  • the state management unit 31 determines the logical number of the next transition state based on the current real number and the received event signal according to the state transition table, and the configuration number conversion unit 32
  • the real number “1” corresponding to the logical number obtained from the above is transmitted to the real number register 432 and the state management unit 31, and the start internal state number is stored in the internal state number register 433.
  • the state management unit 31 executes the processing so far in one cycle.
  • FIG. 13C is a diagram showing a processing path of one cycle by the data processing apparatus described above.
  • the processing path when the state management unit 31 controls the state transition without using the state management unit 431 of the auxiliary control unit 43 is indicated by a thick arrow. That is, the thick arrow in FIG. 13C indicates that the internal state number register 433 is the starting point of processing, and when an operation result by a circuit constructed by each processor element 41 based on the current configuration information is issued as an event signal, The state management unit 31 that has received the signal determines the next internal state, the configuration number conversion unit 32 converts the logical number notified from the state management unit 31 into a real number, and the result is the real number register 432 and the internal state. The processing path until notification to the number register 433 is shown.
  • the object code synthesizing apparatus generates an object code of an application to be operated on the data processing apparatus by the synthesizing tool 50. Further, the object code synthesis apparatus estimates the processing performance of the data processing apparatus when the state management unit 431 of the auxiliary control unit 43 is used and when not used by the performance estimation tool 60, and the auxiliary control unit 43 based on the estimation result. Control configuration selection information indicating whether or not to use the state management unit 431 of the auxiliary control unit 43 is determined according to the determination result. It is added to the object code generated by the synthesis tool 50.
  • the operation time per cycle of the data processing device and the state management unit of the auxiliary control unit 43 are determined.
  • the number of cycles required when using 431 and when not using 431 are used.
  • the processing time for one cycle as a reference is set as the time required for processing the route indicated by the thick arrow in FIG. 13A. Using this value, the number of cycles required for control by the state transition management unit 3 is determined.
  • the processing time required for control by the state transition management unit 3 shown in FIG. 13B is divided by the time required for the processing of the route shown in FIG. 13A, and the value raised to an integer is obtained. calculate. Next, by subtracting “1” from this value, the number of overhead cycles, which is the number of cycles required for control by the state transition management unit 3, is calculated.
  • the time for one cycle as a reference is set as the time required for processing the path indicated by the thick arrow in FIG. 13C.
  • the number of cycles when the state management unit 431 of the auxiliary control unit 43 is not used is the value of the number of cycles of the operation simulation itself.
  • the number of cycles when the state management unit 431 of the auxiliary control unit 43 is used is the overhead when the state transition occurs under the control of the state transition management unit 3 and the number of state transitions generated by the control of the state transition management unit 3. Is calculated by adding the number of cycles of the operation simulation to the product.
  • the required number of cycles is expressed as a ratio. For example, if the number of cycles when the state management unit 431 of the auxiliary control unit 43 is not used is “1”, the number of cycles when the state management unit 431 of the auxiliary control unit 43 is used is controlled by the state transition management unit 3. Is calculated by adding “1” to the product of the probability of occurrence of a state transition that requires and the overhead value when the state transition management unit 3 controls the state transition.
  • operation required time the time required for processing of the data processing apparatus corresponding to the application
  • the performance estimation tool 60 calculates the required operation time when the state management unit 431 of the auxiliary control unit 43 is used and when not used, and a control structure that shortens the required operation time (the state management unit of the auxiliary control unit 43). Control configuration selection information having the determination result as a basic control structure is generated.
  • the performance of the data processing apparatus may be improved in a control structure that is not adopted as a basic control structure.
  • a control structure that does not use the state management unit 431 of the auxiliary control unit 43 is adopted as the basic control structure
  • there is configuration information in which the process stays for a long time such as a loop process.
  • the control structure using the state management unit 431 of the auxiliary control unit 43 is adopted as the basic control structure
  • the synthesis tool 50 rewrites the control configuration selection information of the corresponding configuration information.
  • the required operation time by the processing path shown in FIG. 13A is 10 ns
  • the required operation time by the processing path shown in FIG. 13B is 16 ns
  • the required operation time by the processing path shown in FIG. 13C is 13 ns.
  • the probability of occurrence of a state transition that requires control of the unit 3 is 0.4.
  • the performance estimation tool 60 needs to control the state transition management unit 3 for each state group belonging to each piece of configuration information (for example, configuration information having a plurality of states such as logical number 0 shown in FIG. 9).
  • the occurrence probability of state transition is calculated.
  • a control structure using the state management unit 431 of the auxiliary control unit 43 is adopted.
  • the performance estimation tool 60 estimates the processing performance when the state management unit 431 of the auxiliary control unit 43 is used and when it is not used, determines the optimal control structure for each configuration information, and the determination result Is added to each object information, and operation frequency information for specifying an operation frequency in the control structure using the state management unit 431 of the auxiliary control unit 43 and the control structure not in use is added to the object code. Therefore, the data processing apparatus of this embodiment can select the clock according to the control structure. Therefore, the time required for the processing of the data processing device can be reduced.
  • the third embodiment is an example in which the above-described third embodiment is applied to the data processing apparatus of the prior invention (Japanese Patent Application No. 2006-103987) shown in the background art.
  • FIG. 14 is a block diagram showing the configuration of the data processing apparatus of the third embodiment.
  • the data processing apparatus of the third embodiment is different from the second embodiment in that a variable clock generator 7 is provided instead of the two clock generators 51 and 52 shown in FIG.
  • the data processing apparatus (DRP) of the third embodiment is a state transition management unit (STC) 3 that is the control unit 1 shown in FIG. 6 and an arithmetic unit 2 shown in FIG.
  • the operation unit 4 includes an auxiliary control unit (MSTC) 43 and a plurality of processor elements (PE) 41, a variable clock generator 7, and an external memory 6.
  • a clock generated by the variable clock generator 7 is supplied to the state transition management unit (STC) 3, the arithmetic unit 4, and the external memory 6.
  • the state transition management unit (STC) 3 includes a state management unit 31, a configuration number conversion unit 32, a configuration rewriting unit 33, and a configuration designation table 36.
  • the state management unit 31 corresponds to the state management unit 11 shown in FIG. 6, the configuration number conversion unit 32 corresponds to the configuration number conversion unit 12 shown in FIG. 6, and the configuration rewriting unit 33 sets the configuration rewriting unit shown in FIG. It corresponds to the part 15.
  • the configuration designation table 36 holds control configuration selection information that is information that designates whether or not to use the state management unit 431 corresponding to the state management unit 231 illustrated in FIG. 6 provided in the auxiliary control unit (MSTC) 43. To do.
  • the processor element (PE) 41 includes a register file (RFU), an ALU, a data processing arithmetic unit (DMU), a switch (SW), and a configuration information memory, and via the switch (SW) and wiring connected to the switch. Connected to each other.
  • REU register file
  • ALU data processing arithmetic unit
  • SW switch
  • configuration information memory a configuration information memory
  • the plurality of processor elements 41 included in the calculation unit 4 are the calculator 21 shown in FIG. 6.
  • the arithmetic unit is not limited to the processor element 41 and may be realized by a logic array, for example.
  • the auxiliary control unit (MSTC) 43 includes a state management unit 431 corresponding to the state management unit 231 illustrated in FIG. 6, and the state management unit 431 includes a logical number (the above group) including a plurality of internal state transitions. Manage state transitions.
  • auxiliary control unit (MSTC) 43 uses the real number register 432 that holds the real number of the current configuration information, the internal state number register 433 that holds the internal state number, and the state management unit 431.
  • a configuration designation register 434 that holds control configuration selection information, which is information for designating, and an event signal register 435 that holds an event signal that designates a large-scale state transition that cannot be controlled by the state management unit 431.
  • an event signal designating a large-scale state transition that cannot be controlled by the state management unit 431 is temporarily held before being sent to the state management unit 31.
  • the auxiliary control unit 43 determines the operation of various selectors used when selecting whether or not to use the state management unit 431 according to the value stored in the configuration designation register 434.
  • the state transition management unit (STC) 3 reads the value stored in the memory area of the configuration designation table 36 corresponding to the real number of the configuration information to be used, and uses the state management unit 431 based on the read value. The operation of various selectors used for selecting whether or not is determined. At this time, the state transition management unit (STC) 3 stores the value read from the configuration designation table 36 in the configuration designation register 434.
  • the variable clock generator 7 generates a clock having a required frequency and supplies it to the state transition management unit (STC) 3 and the calculation unit 4.
  • the variable clock generator 7 can change the frequency of the clock to be generated according to the value (operation frequency information) read from the configuration designation table 36.
  • the state transition management unit (STC) 3 determines whether or not to cause the configuration number conversion unit 32 to send a stop signal for the processor element 41 group according to the value stored in the configuration designation table 36, and whether the internal state sent from the state management unit 31 Whether the state number is always written to the internal state number register 433 or whether the internal state number is written to the internal state number register 433 synchronously when the real number is written from the configuration number conversion unit 32 to the real number register 432 select.
  • the configuration information with logical number “0” is written in the configuration information memory with real number “0”, and the configuration information with logical number “1” is written in the configuration information memory with real number “1”. . Further, control configuration selection information for instructing use of the state management unit 431 is added to the configuration information of logical number 0, and control configuration selection information for instructing non-use of the state management unit 431 is added to configuration information of logical number 1. It shall be added.
  • the state is changed according to the state transition table shown in FIG. 9, and the internal state number “1” (state 0-1) included in the configuration information of the logical number “0” is assumed.
  • An example of starting the process from is shown.
  • the state transition management unit (STC) 3 first reads the operating frequency information added to the configuration information of the logical number “0” from the configuration designation table 36, and generates the clock generated by the variable clock generator 7 according to the operating frequency information. Set the frequency.
  • the data processing apparatus first reads out the real number corresponding to the configuration information of the logical number “0” from the real number register 432 by the auxiliary control unit 43 and the internal state number “433” from the internal state number register 433. 1 ”is read out.
  • the auxiliary control unit 43 reads the configuration information from the configuration information memory using the real number read from the real number register 432 and the internal state number “1”, and notifies each processor element 41 of the calculation unit 4.
  • Each processor element 41 determines its operation and switch connection relationship according to the configuration information notified from the auxiliary control unit 43. As a result, each processor element 41 executes a required calculation.
  • the state management unit 431 proceeds to control of the next state transition corresponding to the event signal based on the state transition table.
  • the state management unit 431 since the transition to the next state can be controlled by the state management unit 431, the state management unit 431 writes the next internal state number “2” in the internal state number register 433. At this stage, the first cycle process is completed.
  • FIG. 15A is a diagram showing a processing path of one cycle by the data processing apparatus described above.
  • the processing path when the state management unit 431 controls the state transition is indicated by a thick arrow. That is, the thick arrow in FIG. 15A starts from the internal state number register 433, and when an operation result by a circuit constructed by each processor element 41 based on the current configuration information is issued as an event signal, The state management unit 431 that has received the signal determines the next internal state, and shows the processing path until the internal state number indicating the internal state is written in the internal state number register 433.
  • the data processing apparatus reads the real number corresponding to the configuration information of the logical number “0” from the real number register 432 by the auxiliary control unit 43 and the internal state number “2” from the internal state number register 433. "Is read out.
  • the auxiliary control unit 43 reads the configuration information from the configuration information memory using the real number read from the real number register 432 and the internal state number “2”, and notifies each processor element 41 of the calculation unit 4.
  • Each processor element 41 determines its operation and switch connection relationship according to the configuration information notified from the auxiliary control unit 43. As a result, each processor element 41 executes a required calculation.
  • the state management unit 431 proceeds to control of the next state transition corresponding to the event signal based on the state transition table.
  • the transition to the next state cannot be controlled by the state management unit 431 because the logical number changes. Therefore, the state management unit 431 issues a WE cancel signal for stopping the operation of the processor elements 41 group.
  • the processor element 41 receives the WE cancel signal, it does not accept the update of the register contents. Further, when the processor element 41 receives the WE cancel signal, the data input operation from the external port is also stopped.
  • the auxiliary control unit 43 issues a WE cancel signal and stores the event signal in the event signal register 435 at the same time. At this stage, the process in the second cycle is completed.
  • the data processing device reads the event signal stored in the event signal register 435 by the state management unit 31, and based on the real number “0” and the event signal notified from the configuration number conversion unit 32, The logical number “1” of the next transition state is determined according to the state transition table, and the logical number “1” is notified to the configuration number conversion unit 32. Further, the state management unit 31 is based on the real number “0” notified from the configuration number conversion unit 32 and the received event signal, and the internal state number (starting internal state number) “1” starting in the next transition state. To decide.
  • the configuration number converting unit 32 converts the logical number “1” into a real number using the conversion table.
  • the configuration information of the logical number “1” is held in the configuration information memory, the configuration number conversion unit 32 succeeds in conversion from the logical number to the real number.
  • the configuration number conversion unit 32 stores the obtained real number “1” in the real number register 432 and the state management unit 31. At this time, the configuration number conversion unit 32 transmits the start internal state number to the internal state number register 433.
  • the state transition management unit (STC) 3 reads the operating frequency information added to the configuration information corresponding to the real number “1” from the configuration designation table 36 and uses the state management unit 431 for the configuration information of the logical number “1”. It is detected that the control structure is not used, and the frequency of the clock generated by the variable clock generator 7 is changed according to the read operation frequency information. In this case, the state transition management unit (STC) 3 and the calculation unit 4 operate using the clock after the change from the next cycle. In addition, the state management unit 31 writes information indicating a control structure that does not use the state management unit 431 in the configuration designation register 434.
  • the state transition management unit (STC) 3 selects a clock based on the control configuration selection information
  • the state transition management unit (STC) 3 and the calculation unit 4 have the processing capability of the state transition management unit (STC) 3. It is assumed that it is operating with a clock having a preset frequency.
  • FIG. 15B shows two cycles of processing paths by the data processing apparatus described above.
  • the processing path when the state management unit 431 controls the state transition in the second cycle and the processing path when the state management unit 31 controls the state transition in the third cycle are indicated by thick arrows. . That is, the thick arrow shown in FIG.
  • the state management unit 431 that has received the event signal tries to determine the next internal state, and the state management unit 431 that cannot determine the next internal state stores the event signal received in the event signal register 435;
  • the state management unit 31 determines the logical number and internal state number of the next state, and the logical number is executed by the configuration number conversion unit 32.
  • the second process is performed until the conversion result is notified to the real number register 432 and the internal state number register 433. It is shown the door.
  • the data processing apparatus reads the real number corresponding to the configuration information of the logical number “1” from the real number register 432 by the state management unit 31 and the internal state number “1” from the internal state number register 433. "Is read out. Then, the WE cancel signal issued by the state management unit 431 is stopped, and the processor elements 41 are restarted.
  • the event signal indicating the calculation result of the processor element 41 is directly notified to the state management unit 31 without passing through the state management unit 431 and the event signal register 435.
  • the state management unit 31 determines the logical number of the next transition state based on the current real number and the received event signal according to the state transition table, and the configuration number conversion unit 32
  • the real number “1” corresponding to the logical number obtained from the above is transmitted to the real number register 432 and the state management unit 31, and the start internal state number is stored in the internal state number register 433.
  • the state management unit 31 executes the processing so far in one cycle.
  • FIG. 15C is a diagram showing a processing path of one cycle by the data processing apparatus described above.
  • the processing path when the state management unit 31 controls the state transition without using the state management unit 431 of the auxiliary control unit 43 is indicated by a thick arrow. That is, the thick arrow in FIG. 15C starts from the internal state number register 433, and when an operation result by a circuit constructed by each processor element 41 based on the current configuration information is issued as an event signal, The state management unit 31 that has received the signal determines the next internal state, the configuration number conversion unit 32 converts the logical number notified from the state management unit 31 into a real number, and the result is the real number register 432 and the internal state. A processing path until notification to the number register 433 is shown.
  • the object code synthesizing apparatus generates an object code of an application to be operated on the data processing apparatus by the synthesizing tool 50. Further, the object code synthesis device estimates the processing performance of the data processing device when the state management unit 431 of the auxiliary control unit 43 is used and when not used by the performance estimation tool 60, and the auxiliary control unit 43 based on the estimation result. Whether the state management unit 431 is used or not is determined as to whether the processing performance is superior or inferior. Then, control configuration selection information indicating whether or not to use the state management unit 431 of the auxiliary control unit 43 is added to the configuration information generated by the synthesis tool 50 according to the determination result.
  • the operation time per cycle of the data processing device and the state management unit of the auxiliary control unit 43 are determined.
  • the number of cycles required when using 431 and when not using 431 are used.
  • the processing time of one cycle as a reference is set as the time required for processing the route indicated by the thick arrow in FIG. 15A. Using this value, the number of cycles required for control by the state transition management unit 3 is determined.
  • the processing time required for control by the state transition management unit 3 shown in FIG. 15B is divided by the time required for the processing of the route shown in FIG. 15A, and the value raised to an integer is obtained. calculate. Next, by subtracting “1” from this value, the number of overhead cycles, which is the number of cycles required for control by the state transition management unit 3, is calculated.
  • the time of one cycle as a reference is set as the time required for processing the path indicated by the thick arrow in FIG. 15C.
  • the number of cycles when the state management unit 431 of the auxiliary control unit 43 is not used is the value of the number of cycles of the operation simulation itself.
  • the number of cycles when the state management unit 431 of the auxiliary control unit 43 is used is the overhead when the state transition occurs under the control of the state transition management unit 3 and the number of state transitions generated by the control of the state transition management unit 3. Is calculated by adding the number of cycles of the operation simulation to the product.
  • the required number of cycles is expressed as a ratio. For example, if the number of cycles when the state management unit 431 of the auxiliary control unit 43 is not used is “1”, the number of cycles when the state management unit 431 of the auxiliary control unit 43 is used is controlled by the state transition management unit 3. Is calculated by adding “1” to the product of the probability of occurrence of a state transition that requires and the overhead value when the state transition management unit 3 controls the state transition.
  • operation required time the time required for processing of the data processing apparatus corresponding to the application
  • the performance estimation tool 60 calculates the required operation time when the state management unit 431 of the auxiliary control unit 43 is used and when not used, and a control structure that shortens the required operation time (the state management unit of the auxiliary control unit 43). Control configuration selection information having the determination result as a basic control structure is generated.
  • the performance of the data processing apparatus may be improved in a control structure that is not adopted as a basic control structure.
  • a control structure that does not use the state management unit 431 of the auxiliary control unit 43 is adopted as the basic control structure
  • there is configuration information in which the process stays for a long time such as a loop process.
  • the control structure using the state management unit 431 of the auxiliary control unit 43 is adopted as the basic control structure
  • the synthesis tool 50 rewrites the control configuration selection information of the corresponding configuration information.
  • the required operation time by the processing path shown in FIG. 15A is 10 ns
  • the required operation time by the processing path shown in FIG. 15B is 16 ns
  • the required operation time by the processing path shown in FIG. 15C is 13 ns.
  • the probability of occurrence of a state transition that requires control of the unit 3 is 0.4.
  • the performance estimation tool 60 needs to control the state transition management unit 3 for each state group belonging to each piece of configuration information (for example, configuration information having a plurality of states such as logical number 0 shown in FIG. 9).
  • the occurrence probability of state transition is calculated.
  • a control structure using the state management unit 431 of the auxiliary control unit 43 is adopted.
  • the performance estimation tool 60 adds operating frequency information for each configuration information. As described above, since the path length (calculation path) of the virtual circuit constructed in the calculation unit 2 according to the configuration information differs for each configuration information, the delay amount is not always uniform. Therefore, even if the control configuration selection information is the same configuration information, the operating frequency may be different.
  • the performance estimation tool 60 estimates in advance the processing performance when the state management unit 431 of the auxiliary control unit 43 is used and when it is not used, and selects the control configuration indicating the optimal control structure for each configuration information
  • operating frequency information indicating an operating frequency corresponding to the delay amount is added, and the data processing apparatus can operate by selecting a control structure and an operating frequency for each piece of control information according to the information. Therefore, as compared with the data processing device of the second embodiment, the arithmetic processing can be executed at a more optimal operating frequency, so that the time required for the processing of the data processing device can be further reduced.

Abstract

A data processing device which executes a calculation process based on a state includes: a control unit having a first state management unit for controlling a state transition; a second state management unit for controlling a state transition of a smaller scale than the state transition controlled by the first state management unit; and an auxiliary control unit which selects control of a state transition using the second state management unit or control of a state transition using only the first state management unit without using the second state management unit.

Description

データ処理装置、データ処理方法及びプログラムData processing apparatus, data processing method, and program
 本発明は状態に応じた演算処理を実行するデータ処理装置に関する。 The present invention relates to a data processing apparatus that executes arithmetic processing according to a state.
 情報処理装置は、その利用範囲が広がり、より高度な演算処理あるいは画像や動画のように大量のデータを高速に処理する能力が要求されている。このような要求を満たすための手法として、ホストプロセッサとは別に特定の演算や処理を専用に実行するDSP(Digital Signal Processor)やASIC(Application Specific Integrated Circuit)等を備え、CPU等のホストプロセッサの処理負荷を軽減することで情報処理装置としての処理能力を向上させた構成が知られている。 Information processing apparatuses have a wider range of use, and are required to have more advanced arithmetic processing or the ability to process a large amount of data at high speed, such as images and moving images. In order to satisfy these requirements, a DSP (Digital Signal Processor) or ASIC (Application Specific Integrated Circuit) that performs specific operations and processing separately from the host processor is provided. A configuration is known in which the processing capability as an information processing apparatus is improved by reducing the processing load.
 しかしながら、近年の情報処理装置では、これら画像、動画、音声、音楽等のマルチメディアデータに対して様々な規格の圧縮/伸長処理や演算処理等が必要であり、またインターネット等のネットワークを介して各種データを送受信するための通信処理にも様々なプロトコルを用いる必要がある。さらに、ネットワーク上で送受信される情報の安全性が問題となっているため、情報処理装置では、情報セキュリティのための暗号化処理やそれを解読するための復号処理等も必要となる。そのため、これらの処理に合わせて多数のDSPやASIC等を設けていたのでは、情報処理装置の回路規模やコストが膨大なものとなってしまう。 However, recent information processing apparatuses require compression / decompression processing and arithmetic processing of various standards for multimedia data such as images, moving images, sounds, music, etc., and via a network such as the Internet. It is necessary to use various protocols for communication processing for transmitting and receiving various data. Furthermore, since the safety of information transmitted and received on the network is a problem, the information processing apparatus also requires an encryption process for information security and a decryption process for decrypting the information. Therefore, if a large number of DSPs, ASICs, and the like are provided in accordance with these processes, the circuit scale and cost of the information processing apparatus become enormous.
 そこで、情報処理装置にFPGA(Field Programmable Gate Array)やCPLD(Complex Programmable Logic Device)あるいはDRP(Dynamically Reconfigurable Processor)等の再構成デバイスから成るデータ処理装置を備え、必要に応じてデータ処理装置のプログラムを書き換えて処理を実行させることにより、情報処理装置のスループットを向上させると共に、コストを低減しつつ様々な処理要求への対応を可能にした構成がある。 Therefore, the information processing device is equipped with a data processing device consisting of a reconfigurable device such as an FPGA (Field Programmable Gate Array), CPLD (Complex Programmable Logic Device) or DRP (Dynamically Reconfigurable Processor), and a program for the data processing device as required. There is a configuration that improves the throughput of the information processing apparatus by rewriting and executing the processing, and can cope with various processing requests while reducing the cost.
 再構成デバイスは、内部にプログラム(オブジェクトコード)を格納するための内部メモリを備え、CPU等の制御により外部メモリに格納されたオブジェクトコードを内部メモリへロードし、ロードしたオブジェクトコードにしたがって内部に回路を構成し、入力されたデータに対して該回路により処理を実行する。 The reconfigurable device includes an internal memory for storing a program (object code) therein, and loads the object code stored in the external memory into the internal memory under the control of the CPU or the like, and internally stores it according to the loaded object code. A circuit is configured and processing is performed on the input data by the circuit.
 なお、DRPについては、例えば特許文献1~6や非特許文献1にその詳細が記載されている。DRPは、演算処理を実行する演算部と、演算部の動作を制御する制御部とを有する構成である。演算部は、小規模の複数の演算器とそれらの接続を切り替える相互接続部とを備え、各演算器及び相互接続部に対する命令コードを切り換えることで各種の処理を実現する。 The details of DRP are described in, for example, Patent Documents 1 to 6 and Non-Patent Document 1. The DRP is configured to include a calculation unit that executes calculation processing and a control unit that controls the operation of the calculation unit. The arithmetic unit includes a plurality of small arithmetic units and an interconnection unit that switches connection between them, and implements various processes by switching instruction codes for the arithmetic units and the interconnection unit.
 ところで、DRPで実行する処理には様々な種類があり、例えば処理の途中でメモリから他のデータを読み出し、それらのデータを用いて処理を続行する場合もある。DRPは、内部メモリを備えているが、その記憶容量は限定されていることが多い。したがって、DRPによる処理では、処理途中で大きな記憶容量を必要とするテーブルやデータを参照する際に、それらが格納されたメモリへアクセスする必要がある。そのための処理方法については、例えば特許文献7や特許文献8に記載されている。 By the way, there are various types of processing executed by DRP. For example, other data may be read from the memory during the processing and the processing may be continued using the data. DRP has an internal memory, but its storage capacity is often limited. Therefore, in the DRP processing, when referring to a table or data that requires a large storage capacity during the processing, it is necessary to access the memory in which the data is stored. The processing method for this is described in Patent Document 7 and Patent Document 8, for example.
 上述した再構成デバイス等から成るデータ処理装置では、処理対象となるデータに応じて生成された1つ以上の構成情報から成るオブジェクトコードに基づいて処理を実行する。この場合、データ処理装置では、構成情報が格納された位置を直接指定しつつ、処理を実行する手法が採られる。 In the data processing apparatus composed of the above-described reconstruction device or the like, processing is executed based on an object code composed of one or more pieces of configuration information generated according to data to be processed. In this case, the data processing apparatus adopts a method of executing the process while directly specifying the position where the configuration information is stored.
 ここで、構成情報とは、ある時点における演算器に対する演算命令、相互接続部による各演算器の接続関係を示す情報、イベント信号とそれに対応して次に選択すべき構成情報の関係を示す情報等を備えた、データ処理装置内に仮想的に回路を構成するのに必要な情報である。オブジェクトコードは、所望の処理を実行するために必要な構成情報の集まりを指す。 Here, the configuration information is an operation command for the arithmetic unit at a certain point in time, information indicating the connection relationship of the arithmetic units by the interconnection unit, and information indicating a relationship between the event signal and the corresponding configuration information to be selected next. The information necessary for constructing a virtual circuit in the data processing apparatus. The object code indicates a collection of configuration information necessary for executing a desired process.
 このような方法では、データ処理装置に複数のオブジェクトコードを搭載する場合、各オブジェクトコードが備える構成情報の格納位置が重なると、それらが重ならないようにオブジェクトコードを合成し直す必要がある。 In such a method, when a plurality of object codes are mounted on the data processing apparatus, if the storage positions of the configuration information included in each object code overlap, it is necessary to re-synthesize the object code so that they do not overlap.
 また、データ処理装置に複数のオブジェクトコード、あるいは大規模なオブジェクトコードを搭載した結果、データ処理装置で保持可能な構成情報数を超える場合、データ処理装置では、動作の停止、保持しているオブジェクトコードの入れ替え、再始動等の一連の処理を実行する必要がある。この動作のために外部にMPU等の処理装置が必要となる。その場合、従来のデータ処理装置では、オブジェクトコードの合成時に決定した場所にしか構成情報を搭載できないため、同じ機能のコードから成る構成情報であっても、違う場所に搭載する場合は同じ機能のコードから成る構成情報を複数用意する必要がある。また、構成情報を共有化できないため、データ処置装置では、同じ構成情報を複数保持したり、同じ構成情報を再度書き換える等の無駄な処理が発生することで、処理が遅くなる問題がある。 If the number of configuration information that can be held by the data processing device exceeds the number of pieces of object code or large-scale object code installed in the data processing device, the data processing device stops the operation and holds the object It is necessary to execute a series of processes such as code replacement and restart. For this operation, an external processing device such as an MPU is required. In that case, in the conventional data processing apparatus, since the configuration information can be mounted only at the place determined at the time of synthesizing the object code, even if the configuration information is composed of the codes of the same function, It is necessary to prepare multiple pieces of configuration information consisting of codes. In addition, since the configuration information cannot be shared, the data processing apparatus has a problem that processing is slowed down due to unnecessary processing such as holding a plurality of the same configuration information or rewriting the same configuration information again.
 このような問題を解決するため、本出願人は、構成情報の格納先の制限を無くすと共に構成情報の共有化を可能にしたデータ処理装置を既に提案している(特願2006-103987号:以下、先願発明と称す)。 In order to solve such a problem, the present applicant has already proposed a data processing apparatus that eliminates the restriction of the storage destination of the configuration information and enables the sharing of the configuration information (Japanese Patent Application No. 2006-103987: Hereinafter referred to as the prior application invention).
 この先願発明では、上記制御部に加えて、該制御部が制御する状態遷移よりも規模が小さい所定のグループ内の状態遷移を制御する補助制御部を設け、制御部では該グループ間の状態遷移を制御し、補助制御部では各グループ内の状態遷移を制御する構成を示している。そして、このような制御構造が階層化された構成では、補助制御部が制御部よりも高速に状態の遷移を制御できるため、結果として従来のデータ処理装置よりも高速な処理が可能であるとしている。 In the prior invention, in addition to the control unit, an auxiliary control unit that controls state transitions within a predetermined group having a smaller scale than the state transitions controlled by the control unit is provided. The auxiliary control unit controls the state transition in each group. And in such a configuration in which the control structure is hierarchized, the auxiliary control unit can control the state transition at a higher speed than the control unit, and as a result, it is possible to perform a higher speed process than the conventional data processing device. Yes.
 しかしながら、実際に、アプリケーションからオブジェクトコードを作成し、該オブジェクトコードによるデータ処理装置の動作を検証すると、制御部によって状態の遷移を制御することが多いアプリケーションも存在する。 However, when an object code is actually created from an application and the operation of the data processing apparatus based on the object code is verified, there are also applications in which state transition is often controlled by a control unit.
 その場合、状態遷移の制御元が補助制御部から制御部へ切り替わる機会が増大し、その切り替えに要する時間も増大するため、補助制御部を持たない構成よりもデータ処理装置全体の処理時間が長くなってしまうことがある。すなわち、制御構造が階層化されたデータ処理装置では、処理対象のアプリケーションによっては、制御構造が階層化されていないデータ処理装置よりも処理時間が長くなることがある。 In this case, since the opportunity for switching the state transition control source from the auxiliary control unit to the control unit increases and the time required for the switching also increases, the processing time of the entire data processing apparatus is longer than the configuration without the auxiliary control unit. It may become. That is, in a data processing device with a hierarchized control structure, the processing time may be longer than a data processing device with a non-hierarchical control structure, depending on the application to be processed.
特開2000-138579号公報JP 2000-138579 A 特開2000-224025号公報JP 2000-2224025 A 特開2000-232354号公報JP 2000-232354 A 特開2000-232162号公報JP 2000-232162 A 特開2003-076668号公報Japanese Patent Laid-Open No. 2003-076668 特開2003-099409号公報JP 2003-099409 A 特開2005-222141号公報JP 2005-222141 A 特開2005-222142号公報JP 2005-222142 A
 そこで本発明は、処理に要する時間を低減できるデータ処理装置を提供することを目的とする。 Therefore, an object of the present invention is to provide a data processing apparatus that can reduce the time required for processing.
 上記目的を達成するため本発明のデータ処理装置は、状態に応じた演算処理を実行するデータ処理装置であって、
 状態遷移を制御する第1の状態管理部を備えた制御部と、
 前記第1の状態管理部が制御する状態遷移よりも規模が小さい状態遷移を制御する第2の状態管理部を備え、前記第2の状態管理部を使用した状態遷移の制御、または前記第2の状態管理部を使用しない、前記第1の状態管理部のみを使用した状態遷移の制御を選択する補助制御部と、
を有する。
In order to achieve the above object, a data processing apparatus of the present invention is a data processing apparatus that executes arithmetic processing according to a state,
A control unit including a first state management unit for controlling state transition;
A second state management unit that controls a state transition that is smaller in scale than the state transition controlled by the first state management unit, and controls the state transition using the second state management unit, or the second An auxiliary control unit that selects control of state transition using only the first state management unit without using the state management unit of
Have
 一方、本発明のデータ処理方法は、状態遷移を制御する第1の状態管理部を備えた制御部と、
 前記第1の状態管理部が制御する状態遷移よりも規模が小さい状態遷移を制御する第2の状態管理部を備え、前記第2の状態管理部を使用した状態遷移の制御、または前記第2の状態管理部を使用しない、前記第1の状態管理部のみを使用した状態遷移の制御を選択できる補助制御部と、
を有するデータ処理装置に実行させるオブジェクトコードを生成するためのデータ処理方法であって、
 前記第2の状態管理部を使用して状態遷移を制御した場合と、前記第2の状態管理部を使用しない、前記第1の状態管理部のみを使用して状態遷移を制御した場合の前記データ処理装置の処理性能をそれぞれ算出し、
 前記処理性能がより良好となる前記第2の状態管理部を使用するか否かを指定する制御構成選択情報を生成し、
 該制御構成選択情報を、生成したオブジェクトコードに付加する方法である。
On the other hand, the data processing method of the present invention includes a control unit including a first state management unit that controls state transition;
A second state management unit that controls a state transition that is smaller in scale than the state transition controlled by the first state management unit, and controls the state transition using the second state management unit, or the second An auxiliary control unit that can select control of state transition using only the first state management unit without using the state management unit of
A data processing method for generating an object code to be executed by a data processing apparatus having:
When the state transition is controlled using the second state management unit, and when the state transition is controlled using only the first state management unit without using the second state management unit Calculate the processing performance of each data processor,
Generating control configuration selection information for designating whether or not to use the second state management unit with better processing performance;
In this method, the control configuration selection information is added to the generated object code.
 また、本発明のプログラムは、状態遷移を制御する第1の状態管理部を備えた制御部と、
 前記第1の状態管理部が制御する状態遷移よりも規模が小さい状態遷移を制御する第2の状態管理部を備え、前記第2の状態管理部を使用した状態遷移の制御、または前記第2の状態管理部を使用しない、前記第1の状態管理部のみを使用した状態遷移の制御を選択する補助制御部と、
を有するデータ処理装置に、所望の処理を実行させるオブジェクトコードをコンピュータに生成させるためのプログラムであって、
 前記第2の状態管理部を使用して状態遷移を制御した場合と、前記第2の状態管理部を使用しない、前記第1の状態管理部のみを使用して状態遷移を制御した場合の前記データ処理装置の処理性能をそれぞれ算出し、
 前記処理性能がより良好となる前記第2の状態管理部を使用するか否かを指定する制御構成選択情報を生成し、
 該制御構成選択情報を、生成したオブジェクトコードに付加する処理をコンピュータに実行させるためのものである。
Further, the program of the present invention includes a control unit including a first state management unit that controls state transition;
A second state management unit that controls a state transition that is smaller in scale than the state transition controlled by the first state management unit, and controls the state transition using the second state management unit, or the second An auxiliary control unit that selects control of state transition using only the first state management unit without using the state management unit of
A program for causing a computer to generate object code that causes a data processing apparatus to execute a desired process,
When the state transition is controlled using the second state management unit, and when the state transition is controlled using only the first state management unit without using the second state management unit Calculate the processing performance of each data processor,
Generating control configuration selection information for designating whether or not to use the second state management unit with better processing performance;
This is for causing the computer to execute processing for adding the control configuration selection information to the generated object code.
図1は、第1の実施の形態のデータ処理装置の構成を示すブロック図である。FIG. 1 is a block diagram illustrating the configuration of the data processing apparatus according to the first embodiment. 図2は、図1に示したデータ処理装置で用いるオブジェクトコードを生成するためのオブジェクトコード生成装置の一構成例を示すブロック図である。FIG. 2 is a block diagram illustrating a configuration example of an object code generation apparatus for generating an object code used in the data processing apparatus illustrated in FIG. 図3は、図2に示したオブジェクトコード生成装置の他の構成例を示すブロック図である。FIG. 3 is a block diagram showing another configuration example of the object code generation device shown in FIG. 図4は、第2の実施の形態のデータ処理装置の構成を示すブロック図である。FIG. 4 is a block diagram illustrating a configuration of the data processing apparatus according to the second embodiment. 図5は、図4に示したデータ処理装置で用いるオブジェクトコードを生成するためのオブジェクトコード生成装置の一構成例を示すブロック図である。FIG. 5 is a block diagram showing a configuration example of an object code generation device for generating an object code used in the data processing device shown in FIG. 図6は、第3の実施の形態のデータ処理装置の構成を示すブロック図である。FIG. 6 is a block diagram illustrating a configuration of a data processing device according to the third embodiment. 図7は、図6に示したデータ処理装置で用いるオブジェクトコードを生成するためのオブジェクトコード生成装置の一構成例を示すブロック図である。FIG. 7 is a block diagram showing a configuration example of an object code generation device for generating an object code used in the data processing device shown in FIG. 図8は、第1実施例のデータ処理装置の構成を示すブロック図である。FIG. 8 is a block diagram showing the configuration of the data processing apparatus of the first embodiment. 図9は、図4に示したデータ処理装置で用いる状態遷移表の一例を示す模式図である。FIG. 9 is a schematic diagram showing an example of a state transition table used in the data processing apparatus shown in FIG. 図10Aは、図8に示したデータ処理装置の処理性能の算出に用いる処理経路の一例を示す模式図である。FIG. 10A is a schematic diagram illustrating an example of a processing path used for calculation of processing performance of the data processing apparatus illustrated in FIG. 8. 図10Bは、図8に示したデータ処理装置の処理性能の算出に用いる処理経路の一例を示す模式図である。FIG. 10B is a schematic diagram illustrating an example of a processing path used for calculation of processing performance of the data processing device illustrated in FIG. 8. 図10Cは、図8に示したデータ処理装置の処理性能の算出に用いる処理経路の一例を示す模式図である。FIG. 10C is a schematic diagram illustrating an example of a processing path used for calculation of processing performance of the data processing apparatus illustrated in FIG. 8. 図11は、第1実施例のデータ処理装置の効果を例示するグラフである。FIG. 11 is a graph illustrating the effect of the data processing apparatus of the first embodiment. 図12は、第2実施例のデータ処理装置の構成を示すブロック図である。FIG. 12 is a block diagram showing the configuration of the data processing apparatus of the second embodiment. 図13Aは、図12に示したデータ処理装置の処理性能の算出に用いる処理経路の一例を示す模式図である。FIG. 13A is a schematic diagram illustrating an example of a processing path used for calculation of processing performance of the data processing apparatus illustrated in FIG. 12. 図13Bは、図12に示したデータ処理装置の処理性能の算出に用いる処理経路の一例を示す模式図である。FIG. 13B is a schematic diagram illustrating an example of a processing path used for calculation of processing performance of the data processing apparatus illustrated in FIG. 12. 図13Cは、図12に示したデータ処理装置の処理性能の算出に用いる処理経路の一例を示す模式図である。FIG. 13C is a schematic diagram illustrating an example of a processing path used for calculation of processing performance of the data processing apparatus illustrated in FIG. 12. 図14は、第3実施例のデータ処理装置の構成を示すブロック図である。FIG. 14 is a block diagram showing the configuration of the data processing apparatus of the third embodiment. 図15Aは、図14に示したデータ処理装置の処理性能の算出に用いる処理経路の一例を示す模式図である。FIG. 15A is a schematic diagram illustrating an example of a processing path used for calculation of processing performance of the data processing apparatus illustrated in FIG. 14. 図15Bは、図14に示したデータ処理装置の処理性能の算出に用いる処理経路の一例を示す模式図である。FIG. 15B is a schematic diagram illustrating an example of a processing path used for calculation of processing performance of the data processing apparatus illustrated in FIG. 14. 図15Cは、図14に示したデータ処理装置の処理性能の算出に用いる処理経路の一例を示す模式図である。FIG. 15C is a schematic diagram illustrating an example of a processing path used for calculation of processing performance of the data processing apparatus illustrated in FIG. 14.
 次に本発明について図面を参照して説明する。 Next, the present invention will be described with reference to the drawings.
 (第1の実施の形態)
 図1は第1の実施の形態のデータ処理装置の構成を示すブロック図である。
(First embodiment)
FIG. 1 is a block diagram showing the configuration of the data processing apparatus according to the first embodiment.
 図1に示すように、本実施形態のデータ処理装置は、制御部1及び演算部2を有する構成である。 As shown in FIG. 1, the data processing apparatus of the present embodiment has a configuration including a control unit 1 and a calculation unit 2.
 制御部1は、状態管理部11、構成番号変換部12、構成情報記憶部13及び構成書換部15を備えている。演算部2は、補助制御部23、複数の演算器21及び該複数の演算器21を接続するための相互接続部22を備えている。 The control unit 1 includes a state management unit 11, a configuration number conversion unit 12, a configuration information storage unit 13, and a configuration rewriting unit 15. The computing unit 2 includes an auxiliary control unit 23, a plurality of computing units 21, and an interconnection unit 22 for connecting the plurality of computing units 21.
 状態管理部11は、構成情報に含まれる現在の動作状態及び次に遷移する状態の候補群(遷移先候補群)、並びに演算部2から送出されるイベント信号に基づき、予め備える状態遷移表を用いて次の動作状態で使用する構成情報の論理番号を決定し、該論理番号を構成番号変換部12へ通知する。 The state management unit 11 prepares a state transition table prepared in advance based on a current operation state included in the configuration information, a candidate group of transition states (transition destination candidate group), and an event signal sent from the calculation unit 2. The logical number of the configuration information to be used in the next operation state is determined, and the logical number is notified to the configuration number conversion unit 12.
 論理番号はオブジェクトコードに含まれる各構成情報の相互関係を示す情報である。構成情報記憶部13に保存されている構成情報の実際の位置は実番号によって特定される。 The logical number is information indicating the interrelationship of each configuration information included in the object code. The actual position of the configuration information stored in the configuration information storage unit 13 is specified by a real number.
 構成番号変換部12は、予め備える変換表を用いて状態管理部11から通知された構成情報の論理番号を実番号に変換し、該実番号を状態管理部11及び演算部2の補助制御部23へそれぞれ通知する。 The configuration number conversion unit 12 converts a logical number of configuration information notified from the state management unit 11 into a real number using a conversion table provided in advance, and the real number is converted into a state management unit 11 and an auxiliary control unit of the calculation unit 2. 23 to notify each.
 構成書換部15は、データ処理装置の初動時に、構成情報記憶部13に構成情報を書き込み、状態管理部11に状態遷移表を書き込み、構成番号変換部12に変換表を書き込む。なお、構成書換部15は、データ処理装置の初動時、後述する補助制御部23が備える状態管理部231にも状態遷移表を書き込む。 The configuration rewriting unit 15 writes the configuration information in the configuration information storage unit 13, writes the state transition table in the state management unit 11, and writes the conversion table in the configuration number conversion unit 12 when the data processing apparatus is initially operated. The configuration rewriting unit 15 also writes the state transition table in the state management unit 231 provided in the auxiliary control unit 23 described later when the data processing apparatus is initially operated.
 構成情報記憶部13は、構成番号変換部12から構成情報の書き換え要求が発行されると、保存した構成情報のうち、現時点で不要な構成情報を、書き換え要求時に指定された構成情報へ書き換える。このとき、不要な構成情報の選択には、例えばLeast Recently Used(LRU)法等の周知の方法を用いればよい。構成書換部15は、構成情報記憶部13に保存された構成情報を書き換えると、構成番号変換部12が備える、論理番号から実番号への変換処理に用いる変換情報から成る上記変換表を更新する。 When the configuration information rewriting request is issued from the configuration number converting unit 12, the configuration information storage unit 13 rewrites the currently unnecessary configuration information to the configuration information specified at the time of the rewriting request. At this time, for the selection of unnecessary configuration information, a known method such as the Least Recently Used (LRU) method may be used. When the configuration rewriting unit 15 rewrites the configuration information stored in the configuration information storage unit 13, the configuration rewriting unit 15 updates the conversion table that is included in the configuration number conversion unit 12 and includes conversion information used for conversion processing from a logical number to a real number. .
 構成書換部15は、構成番号変換部12からの書き換え要求に対して、基本的に要求された構成情報を1つだけ書き換えるが、該構成情報と共にそれ以降で使用する構成情報を併せて書き換えてもよい。 The configuration rewriting unit 15 basically rewrites only one requested configuration information in response to the rewrite request from the configuration number converting unit 12, but also rewrites the configuration information used thereafter with the configuration information. Also good.
 演算器21は、順次遷移する複数の動作状態毎に構成情報記憶部13から読み出される、指定された構成情報にしたがって演算処理を実行する。 The computing unit 21 performs arithmetic processing according to the designated configuration information read from the configuration information storage unit 13 for each of a plurality of operating states that sequentially transition.
 相互接続部22は、構成情報記憶部13から読み出された構成情報に基づいて複数の演算器21の接続関係を切り換える。 The interconnection unit 22 switches the connection relationship of the plurality of computing units 21 based on the configuration information read from the configuration information storage unit 13.
 補助制御部23は、制御部1の状態管理部11が管理する状態遷移よりも規模が小さい所定のグループ内の状態遷移を制御する状態管理部231を備えている。補助制御部23は、状態管理部231で制御可能な範囲を越える状態遷移を示すイベント信号が演算器21から通知されると、該イベント信号を制御部1の状態管理部11に通知する。 The auxiliary control unit 23 includes a state management unit 231 that controls state transitions in a predetermined group whose scale is smaller than the state transitions managed by the state management unit 11 of the control unit 1. When the event signal indicating the state transition exceeding the range that can be controlled by the state management unit 231 is notified from the computing unit 21, the auxiliary control unit 23 notifies the state management unit 11 of the control unit 1 of the event signal.
 制御部1および演算部2には、不図示のクロック生成器で生成された所定の周波数のクロックが供給され、制御部1および演算部2は、該クロックを用いて動作する。 A clock having a predetermined frequency generated by a clock generator (not shown) is supplied to the control unit 1 and the calculation unit 2, and the control unit 1 and the calculation unit 2 operate using the clock.
 なお、図1に示すデータ処理装置の各構成要素は、それぞれ図1に示した機能単位で独立して備える必要はなく、任意の構成要素が他の構成要素に含まれていてもよく、任意の構成要素が複数の部品で構成されていてもよい。例えば、構成情報記憶部13は、演算器21や相互接続部22がそれぞれ備える不図示のメモリによって構成されてもよい。また、図1に示すデータ処理装置の各構成要素は、その全てを1つの装置内に備える必要はない。例えば、構成書換部15は、外部に備える他の装置やMPU等で実現してもよい。 Note that each component of the data processing apparatus shown in FIG. 1 does not have to be provided independently for each functional unit shown in FIG. 1, and any component may be included in another component, and any These components may be composed of a plurality of parts. For example, the configuration information storage unit 13 may be configured by a memory (not illustrated) provided in each of the computing unit 21 and the interconnection unit 22. Further, it is not necessary that all the components of the data processing apparatus shown in FIG. 1 are provided in one apparatus. For example, the configuration rewriting unit 15 may be realized by another device provided outside or an MPU.
 構成情報は、上述したように、ある時点における演算器に対する演算命令、相互接続部による各演算器の接続関係を示す情報、イベント信号とそれに対応して次に選択すべき構成情報の関係を示す情報等を備えた、データ処理装置内に仮想的に回路を構成するのに必要な情報である。オブジェクトコードは、所望の処理を実行するために必要な構成情報の集まりを指す。 As described above, the configuration information indicates a calculation command for the arithmetic unit at a certain point in time, information indicating the connection relationship between the arithmetic units by the interconnection unit, and a relationship between the event signal and the corresponding configuration information to be selected next. This is information necessary for constructing a virtual circuit in the data processing apparatus, including information and the like. The object code indicates a collection of configuration information necessary for executing a desired process.
 演算器21は、いわゆる算術演算器(ALU)を備えた構成、あるいは複数種類の演算器とレジスタ等の記憶素子とを組み合わせた構成が考えられる。 The arithmetic unit 21 may be configured to include a so-called arithmetic arithmetic unit (ALU) or a combination of a plurality of types of arithmetic units and storage elements such as registers.
 なお、状態管理部11は、現在の状態とイベント信号とに基づいて次に遷移すべき状態を決定できればどのような構成でもよい。例えば、状態管理部11には、各状態間の遷移関係を示す対応表を備える構成が考えられる。 Note that the state management unit 11 may have any configuration as long as it can determine the next state to be transitioned based on the current state and the event signal. For example, the state management unit 11 may be configured to include a correspondence table indicating transition relationships between the states.
 また、構成番号変換部12は、状態管理部11によって指定された構成情報の論理番号を実番号に変換できればどのような構成でもよい。構成番号変換部12には、例えば論理番号と実番号の対応関係を示す対応表を備えた構成、あるいは論理番号と実番号の相対値を基準に論理番号から実番号へ変換するための機能を備えた構成等が考えられる。ここでは、構成番号変換部12が実行する論理番号から実番号へ変換するための処理で必要な上記対応表や相対値等を「変換情報」と総称する。 Further, the configuration number conversion unit 12 may have any configuration as long as the logical number of the configuration information designated by the state management unit 11 can be converted into a real number. For example, the configuration number conversion unit 12 includes a correspondence table showing a correspondence relationship between logical numbers and real numbers, or a function for converting logical numbers to real numbers based on relative values of logical numbers and real numbers. A configuration provided is conceivable. Here, the correspondence table, relative values, and the like necessary for the process for converting the logical number to the real number executed by the configuration number conversion unit 12 are collectively referred to as “conversion information”.
 本実施形態の補助制御部23は、状態管理部231を使用した状態遷移の制御、または状態管理部231を使用しない、制御部1の状態管理部11のみを使用した状態遷移の制御のいずれか一方を選択する。このような補助制御部23による選択処理は、例えばオブジェクトコードの合成時に、これらの制御のいずれか一方を指定する制御構成選択情報をオブジェクトコードに付加しておき、データ処理装置による動作時、補助制御部23が該制御構成選択情報にしたがって状態管理部231を使用するか否かを選択すればよい。 The auxiliary control unit 23 according to the present embodiment is either state transition control using the state management unit 231 or state transition control using only the state management unit 11 of the control unit 1 without using the state management unit 231. Select one. In such selection processing by the auxiliary control unit 23, for example, at the time of synthesizing the object code, control configuration selection information for designating any one of these controls is added to the object code. What is necessary is just to select whether the control part 23 uses the state management part 231 according to this control structure selection information.
 図2は、図1に示したデータ処理装置で用いるオブジェクトコードを生成するためのオブジェクトコード生成装置の一構成例を示すブロック図である。 FIG. 2 is a block diagram showing a configuration example of an object code generation device for generating an object code used in the data processing device shown in FIG.
 図2に示すように、オブジェクトコード生成装置は、オブジェクトコードを生成する合成ツール50と、合成ツール50で生成されたオブジェクトコードに上記制御構成選択情報を付加すると共に、該オブジェクトコードによるデータ処理装置の処理性能を見積もる性能見積もりツール60とを有する構成である。 As shown in FIG. 2, the object code generation device includes a synthesis tool 50 that generates an object code, the control configuration selection information added to the object code generated by the synthesis tool 50, and a data processing device that uses the object code. And a performance estimation tool 60 for estimating the processing performance.
 オブジェクトコード生成装置は、論理回路等からなるLSIやDSP、あるいは所定のプログラムにしたがって合成ツール50及び性能見積もりツール60として動作する情報処理装置(コンピュータ)によって実現できる。 The object code generation device can be realized by an LSI or DSP composed of a logic circuit or the like, or an information processing device (computer) that operates as the synthesis tool 50 and the performance estimation tool 60 according to a predetermined program.
 情報処理装置は、例えば図3に示すように、プログラムにしたがって所定の処理を実行する処理装置70と、処理装置70に対してコマンドや情報等を入力するための入力装置80と、処理装置70の処理結果をモニタするための出力装置90とを備えた構成である。 For example, as illustrated in FIG. 3, the information processing device includes a processing device 70 that executes predetermined processing according to a program, an input device 80 for inputting commands and information to the processing device 70, and the processing device 70. And an output device 90 for monitoring the processing result.
 処理装置70は、CPU71と、CPU71の処理に必要な情報を一時的に記憶する主記憶装置72と、CPU71に合成ツール50及び性能見積もりツール60としての処理を実行させるためのプログラムが記録された記録媒体73と、オブジェクトコードの作成対象であるアプリケーションの動作記述や後述する制約情報、あるいは合成後のオブジェクトコードが格納されるデータ蓄積装置74と、主記憶装置72、記録媒体73及びデータ蓄積装置74とのデータ転送を制御するメモリ制御インタフェース部75と、入力装置80及び出力装置90とのインタフェース装置であるI/Oインタフェース部76とを有し、それらがバス78を介して接続された構成である。なお、データ蓄積装置74は、処理装置70内にある必要はなく、処理装置70から独立して備えていてもよい。 The processing device 70 stores a CPU 71, a main storage device 72 that temporarily stores information necessary for the processing of the CPU 71, and a program for causing the CPU 71 to execute processing as the synthesis tool 50 and the performance estimation tool 60. A data storage device 74 for storing a recording medium 73, an operation description of an application for which an object code is to be created, constraint information to be described later, or a composited object code, a main storage device 72, a recording medium 73, and a data storage device 74, a memory control interface unit 75 that controls data transfer with 74, and an I / O interface unit 76 that is an interface device between the input device 80 and the output device 90, and these are connected via a bus 78 It is. The data storage device 74 does not need to be in the processing device 70 and may be provided independently from the processing device 70.
 処理装置70は、記録媒体73に記録されたプログラムにしたがって後述する合成ツール50の機能及び性能見積もりツール60の機能を実現する。記録媒体73は、磁気ディスク、半導体メモリ、光ディスクあるいはその他の記録媒体であってもよい。 The processing device 70 realizes the function of the synthesis tool 50 and the function of the performance estimation tool 60 described later according to the program recorded in the recording medium 73. The recording medium 73 may be a magnetic disk, a semiconductor memory, an optical disk, or other recording medium.
 合成ツール50は、アプリケーションの動作記述及び制約情報が入力されると、該動作記述及び制約情報に基づいて少なくとも1つの構成情報から成るオブジェクトコードを生成する。制約情報は、使用するリソースの制限や優先する動作性能等、オブジェクトコードによるデータ処理装置の動作時の制約条件を指定する情報である。 The synthesizing tool 50 generates an object code including at least one piece of configuration information based on the behavioral description and the constraint information when the behavioral description and the constraint information of the application are input. The constraint information is information for designating constraint conditions during the operation of the data processing apparatus based on object codes, such as restrictions on resources to be used and priority performance.
 性能見積もりツール60は、合成ツール50で作成されたオブジェクトコード、アプリケーション動作付加情報及びハードウェア情報を用いて、周知の動作シミュレーション法あるいは分岐確率計算法によりデータ処理装置の動作時の性能を見積もる。そして、該見積もり結果に基づき補助制御部23の状態管理部231を使用するか否かを決定し、該決定結果を示す制御構成選択情報をオブジェクトコードに付加する。 The performance estimation tool 60 uses the object code, application operation additional information, and hardware information created by the synthesis tool 50 to estimate the performance during operation of the data processing apparatus by a known operation simulation method or branch probability calculation method. Then, based on the estimation result, it is determined whether to use the state management unit 231 of the auxiliary control unit 23, and control configuration selection information indicating the determination result is added to the object code.
 なお、アプリケーション動作付加情報とは、性能見積もりツール60による見積もり精度を向上させるための情報である。動作シミュレーション法によってデータ処理装置の処理性能を見積もる場合、アプリケーション動作付加情報には、例えばアプリケーションを実際に動作させる際の入力データを用いればよい。また、分岐確率計算法によってデータ処理装置の処理性能を見積もる場合、アプリケーション動作付加情報には、例えば状態管理部11の制御を必要とする状態遷移の発生確率を示す値を用いればよい。 The application operation additional information is information for improving the estimation accuracy by the performance estimation tool 60. When the processing performance of the data processing apparatus is estimated by the operation simulation method, for example, input data when an application is actually operated may be used as the application operation additional information. Further, when the processing performance of the data processing apparatus is estimated by the branch probability calculation method, for example, a value indicating the occurrence probability of a state transition requiring control of the state management unit 11 may be used as the application operation additional information.
 これら合成ツール50及び性能見積もりツール60を実現するためのプログラムは、それぞれ複数のプログラムで構成されていてもよく、ひとつのプログラムで合成ツール50及び性能見積もりツール60を実現する構成であってもよい。 The programs for realizing the synthesis tool 50 and the performance estimation tool 60 may be configured by a plurality of programs, respectively, or may be configured to realize the synthesis tool 50 and the performance estimation tool 60 by one program. .
 本実施形態のデータ処理装置によれば、オブジェクトコードに制御構成選択情報を付加しておき、動作時に該制御構成選択情報にしたがって補助制御部23の状態管理部231を使用するか否かを選択することで、より良好な処理性能が得られる制御構造でオブジェクトコードにしたがった処理を実行できる。したがって、データ処理装置の処理に要する時間を低減できる。 According to the data processing apparatus of this embodiment, control configuration selection information is added to the object code, and whether to use the state management unit 231 of the auxiliary control unit 23 according to the control configuration selection information during operation is selected. By doing so, the process according to the object code can be executed with a control structure that can obtain better processing performance. Therefore, the time required for the processing of the data processing device can be reduced.
 (第2の実施の形態)
 図4は第2の実施の形態のデータ処理装置の構成を示すブロック図である。
(Second embodiment)
FIG. 4 is a block diagram showing the configuration of the data processing apparatus according to the second embodiment.
 第2の実施の形態のデータ処理装置では、構成情報記憶部13で保存される構成情報毎に、補助制御部23の状態管理部231を使用するか否かを指定する制御構成選択情報が付加される。また、第2の実施の形態のデータ処理装置は、2つのクロック生成器51,52を備え、オブジェクトコードに付加される制御構成選択情報に基づいて制御部1および演算部2に供給するクロックを選択する。 In the data processing apparatus of the second embodiment, control configuration selection information for specifying whether or not to use the state management unit 231 of the auxiliary control unit 23 is added to each configuration information stored in the configuration information storage unit 13. Is done. The data processing apparatus according to the second embodiment includes two clock generators 51 and 52, and supplies a clock to be supplied to the control unit 1 and the calculation unit 2 based on control configuration selection information added to the object code. select.
 図4に示すように、第2の実施の形態のデータ処理装置は、第1の実施の形態と同様に、制御部1及び演算部2を有する構成である。 As shown in FIG. 4, the data processing apparatus according to the second embodiment has a configuration including a control unit 1 and a calculation unit 2 as in the first embodiment.
 制御部1は、状態管理部11、構成番号変換部12、構成情報記憶部13及び構成書換部15を備えている。演算部2は、補助制御部23、複数の演算器21及び該複数の演算器21を接続するための相互接続部22を備えている。 The control unit 1 includes a state management unit 11, a configuration number conversion unit 12, a configuration information storage unit 13, and a configuration rewriting unit 15. The computing unit 2 includes an auxiliary control unit 23, a plurality of computing units 21, and an interconnection unit 22 for connecting the plurality of computing units 21.
 補助制御部23は、制御部1の状態管理部11が管理する状態遷移よりも規模が小さい所定のグループ内の状態遷移を制御する状態管理部231を備えている。補助制御部23は、状態管理部231で制御可能な範囲を越える状態遷移を示すイベント信号が演算器21から通知されると、該イベント信号を制御部1の状態管理部11に通知する。 The auxiliary control unit 23 includes a state management unit 231 that controls state transitions in a predetermined group whose scale is smaller than the state transitions managed by the state management unit 11 of the control unit 1. When the event signal indicating the state transition exceeding the range that can be controlled by the state management unit 231 is notified from the computing unit 21, the auxiliary control unit 23 notifies the state management unit 11 of the control unit 1 of the event signal.
 本実施形態の補助制御部23は、第1の実施の形態と同様に、状態管理部231を使用した状態遷移の制御、または状態管理部231を使用しない、制御部1の状態管理部11のみを使用した状態遷移の制御のいずれか一方を選択する。但し、本実施形態では、オブジェクトコードの合成時に、これらの制御のいずれか一方を指定する制御構成選択情報を構成情報毎に付加しておき、データ処理装置による動作時、補助制御部23は、構成情報毎に制御構成選択情報にしたがって状態管理部231を使用するか否かを選択する。 As in the first embodiment, the auxiliary control unit 23 of the present embodiment controls state transition using the state management unit 231 or only the state management unit 11 of the control unit 1 that does not use the state management unit 231. Select one of the state transition controls using. However, in the present embodiment, when synthesizing the object code, control configuration selection information for designating any one of these controls is added for each configuration information, and during operation by the data processing apparatus, the auxiliary control unit 23 Whether to use the state management unit 231 is selected according to the control configuration selection information for each configuration information.
 クロック生成器51、52は、制御部1及び演算部2にそれぞれ所要の周波数のクロックを供給する。クロック生成器51で生成されたクロックは、補助制御部23の状態管理部231を使用しない、制御部1の状態管理部11のみを使用した状態遷移の制御時に使用される。一方、クロック生成器52で生成されたクロックは、補助制御部23の状態管理部231を使用した状態遷移の制御時に使用される。 The clock generators 51 and 52 supply clocks having required frequencies to the control unit 1 and the calculation unit 2, respectively. The clock generated by the clock generator 51 is used when controlling the state transition using only the state management unit 11 of the control unit 1 without using the state management unit 231 of the auxiliary control unit 23. On the other hand, the clock generated by the clock generator 52 is used when controlling the state transition using the state management unit 231 of the auxiliary control unit 23.
 制御部1は、構成情報毎に付加された制御構成選択情報に基づいてクロック生成器51、52で生成された2つのクロックのうちのいずれか一方を選択する。選択されたクロックは、次に遷移する構成情報に付加された制御構成選択情報に基づいてクロックが選択されるまで、制御部1及び演算部2に供給される。 The control unit 1 selects one of the two clocks generated by the clock generators 51 and 52 based on the control configuration selection information added for each configuration information. The selected clock is supplied to the control unit 1 and the calculation unit 2 until the clock is selected based on the control configuration selection information added to the next transition configuration information.
 なお、本実施形態では、制御構成選択情報に基づいて2つのクロックのうちのいずれか一方を選択する例を示しているが、構成情報毎に、制御構成選択情報と共に2つのクロックのうちのいずれか一方を指定する動作周波数情報を付加しておき、制御部1は、該動作周波数情報に基づいて2つのクロックのうちのいずれか一方を選択してもよい。 In the present embodiment, an example is shown in which one of the two clocks is selected based on the control configuration selection information. However, any one of the two clocks along with the control configuration selection information is provided for each configuration information. The operating frequency information for designating one of them may be added, and the control unit 1 may select one of the two clocks based on the operating frequency information.
 一般に、補助制御部23の状態管理部231は、制御部1の状態管理部11よりも高い周波数のクロックで動作(状態遷移の制御)が可能である。第1の実施の形態では、補助制御部23の状態管理部231による状態遷移に対応した固定周波数のクロックがデータ処理装置に供給され、制御部1の状態管理部11は、該クロックの2サイクルまたは3サイクルを要して状態の遷移を制御する。そのため、第1の実施の形態のデータ処理装置では、制御部1の状態管理部11の制御による状態遷移の遅延が比較的大きくなってしまう。 Generally, the state management unit 231 of the auxiliary control unit 23 can operate (control of state transition) with a clock having a higher frequency than the state management unit 11 of the control unit 1. In the first embodiment, a clock having a fixed frequency corresponding to the state transition by the state management unit 231 of the auxiliary control unit 23 is supplied to the data processing device, and the state management unit 11 of the control unit 1 performs two cycles of the clock. Alternatively, state transition is controlled by taking three cycles. For this reason, in the data processing apparatus according to the first embodiment, the delay of the state transition due to the control of the state management unit 11 of the control unit 1 becomes relatively large.
 そこで、第2の実施の形態では、クロック生成器51でクロック生成器52よりも周波数が低いクロックを生成し、クロック生成器51で生成したクロックを制御部1の状態管理部11のみを使用した状態遷移の制御時に使用する。 Therefore, in the second embodiment, the clock generator 51 generates a clock having a frequency lower than that of the clock generator 52, and the clock generated by the clock generator 51 is used only by the state management unit 11 of the control unit 1. Used when controlling state transitions.
 このとき、制御部1の状態管理部11がクロックの1サイクルで状態遷移を制御できるように、クロック生成器51で生成するクロックの周波数を設定すれば、制御部1の状態管理部11の制御による状態遷移の遅延を低減できる。 At this time, if the frequency of the clock generated by the clock generator 51 is set so that the state management unit 11 of the control unit 1 can control the state transition in one cycle of the clock, the control of the state management unit 11 of the control unit 1 It is possible to reduce the delay of state transition due to.
 データ処理装置のその他の構成及び動作は第1の実施の形態で示したデータ処理装置と同様であるため、その説明は省略する。 Since other configurations and operations of the data processing apparatus are the same as those of the data processing apparatus shown in the first embodiment, the description thereof is omitted.
 図5は、図4に示したデータ処理装置で用いるオブジェクトコードを生成するためのオブジェクトコード生成装置の一構成例を示すブロック図である。 FIG. 5 is a block diagram showing a configuration example of an object code generation apparatus for generating an object code used in the data processing apparatus shown in FIG.
 図5に示すように、第2の実施の形態のオブジェクトコード生成装置は、オブジェクトコードを生成する合成ツール50と、合成ツール50で生成されたオブジェクトコードの各構成情報に上記制御構成選択情報を付加すると共に、該オブジェクトコードによるデータ処理装置の処理性能を見積もる性能見積もりツール60とを有する構成である。 As illustrated in FIG. 5, the object code generation device according to the second embodiment includes a synthesis tool 50 that generates an object code, and the control configuration selection information in each configuration information of the object code generated by the synthesis tool 50. And a performance estimation tool 60 for estimating the processing performance of the data processing apparatus using the object code.
 合成ツール50は、アプリケーションの動作記述及び制約情報が入力されると、該動作記述及び制約情報に基づいて少なくとも1つの構成情報から成るオブジェクトコードを生成する。 The synthesizing tool 50 generates an object code including at least one piece of configuration information based on the behavioral description and the constraint information when the behavioral description and the constraint information of the application are input.
 本実施形態の性能見積もりツール60は、合成ツール50で作成されたオブジェクトコード、アプリケーション動作付加情報及びハードウェア情報を用いて、周知の動作シミュレーション法あるいは分岐確率計算法によりデータ処理装置の動作時の性能を見積もる。そして、該見積もり結果に基づき補助制御部23の状態管理部231を使用するか否かを決定し、該決定結果を示す制御構成選択情報(および制御構造に対応した動作周波数情報)を構成情報毎に付加する。 The performance estimation tool 60 of the present embodiment uses the object code, application operation additional information, and hardware information created by the synthesis tool 50, and uses the known operation simulation method or branch probability calculation method when the data processing apparatus operates. Estimate performance. Then, based on the estimation result, it is determined whether to use the state management unit 231 of the auxiliary control unit 23, and control configuration selection information (and operating frequency information corresponding to the control structure) indicating the determination result is determined for each configuration information. Append to
 オブジェクトコード生成装置のその他の構成及び動作は第1の実施の形態で示したオブジェクトコード生成装置及び情報処理装置と同様であるため、その説明は省略する。 Other configurations and operations of the object code generation device are the same as those of the object code generation device and the information processing device described in the first embodiment, and thus description thereof is omitted.
 本実施形態のデータ処理装置によれば、構成情報毎に制御構成選択情報を付加しておき、オブジェクトコードによるデータ処理装置の動作時に該制御構成選択情報にしたがって補助制御部23の状態管理部231を使用するか否かを選択すると共に、制御構造に応じた周波数のクロックを選択することで、第1の実施の形態のデータ処理装置よりも最適な動作周波数で処理を実行できる。したがって、データ処理装置の処理に要する時間を低減できる。 According to the data processing device of this embodiment, control configuration selection information is added for each configuration information, and the state management unit 231 of the auxiliary control unit 23 according to the control configuration selection information during operation of the data processing device by object code. By selecting whether or not to use and selecting a clock having a frequency according to the control structure, it is possible to execute processing at an operating frequency more optimal than that of the data processing apparatus of the first embodiment. Therefore, the time required for the processing of the data processing device can be reduced.
 (第3の実施の形態)
 図6は第3の実施の形態のデータ処理装置の構成を示すブロック図である。
(Third embodiment)
FIG. 6 is a block diagram showing the configuration of the data processing apparatus according to the third embodiment.
 第3の実施の形態のデータ処理装置では、第2の実施の形態のデータ処理装置と同様に、構成情報記憶部13で保存される構成情報毎に、補助制御部23の状態管理部231を使用するか否かを指定する制御構成選択情報が付加される。また、第3の実施の形態のデータ処理装置は、外部からの指示にしたがって生成するクロックの周波数が変更可能な可変クロック生成器7を備え、構成情報毎に付加される、データ処理装置の動作周波数を指定する動作周波数情報にしたがって制御部1および演算部2に供給するクロックの周波数を変更する。 In the data processing device of the third embodiment, the state management unit 231 of the auxiliary control unit 23 is provided for each piece of configuration information stored in the configuration information storage unit 13 as in the data processing device of the second embodiment. Control configuration selection information for specifying whether to use is added. The data processing apparatus according to the third embodiment includes the variable clock generator 7 that can change the frequency of the clock generated according to an instruction from the outside, and is added to each piece of configuration information. The frequency of the clock supplied to the control unit 1 and the calculation unit 2 is changed according to the operating frequency information specifying the frequency.
 図6に示すように、第3の実施の形態のデータ処理装置は、第1および第2の実施の形態と同様に、制御部1及び演算部2を有する構成である。 As shown in FIG. 6, the data processing apparatus according to the third embodiment has a configuration including a control unit 1 and a calculation unit 2 as in the first and second embodiments.
 制御部1は、状態管理部11、構成番号変換部12、構成情報記憶部13及び構成書換部15を備えている。演算部2は、補助制御部23、複数の演算器21及び該複数の演算器21を接続するための相互接続部22を備えている。 The control unit 1 includes a state management unit 11, a configuration number conversion unit 12, a configuration information storage unit 13, and a configuration rewriting unit 15. The computing unit 2 includes an auxiliary control unit 23, a plurality of computing units 21, and an interconnection unit 22 for connecting the plurality of computing units 21.
 補助制御部23は、制御部1の状態管理部11が管理する状態遷移よりも規模が小さい所定のグループ内の状態遷移を制御する状態管理部231を備えている。補助制御部23は、状態管理部231で制御可能な範囲を越える状態遷移を示すイベント信号が演算器21から通知されると、該イベント信号を制御部1の状態管理部11に通知する。 The auxiliary control unit 23 includes a state management unit 231 that controls state transitions in a predetermined group whose scale is smaller than the state transitions managed by the state management unit 11 of the control unit 1. When the event signal indicating the state transition exceeding the range that can be controlled by the state management unit 231 is notified from the computing unit 21, the auxiliary control unit 23 notifies the state management unit 11 of the control unit 1 of the event signal.
 本実施形態の補助制御部23は、第1および第2の実施の形態と同様に、状態管理部231を使用した状態遷移の制御、または状態管理部231を使用しない、制御部1の状態管理部11のみを使用した状態遷移の制御のいずれか一方を選択する。第3の実施の形態では、第2の実施の形態と同様に、オブジェクトコードの合成時に、これらの制御のいずれか一方を指定する制御構成選択情報を構成情報毎に付加しておき、データ処理装置による動作時、補助制御部23は、構成情報毎に制御構成選択情報にしたがって状態管理部231を使用するか否かを選択する。 As in the first and second embodiments, the auxiliary control unit 23 according to this embodiment controls state transition using the state management unit 231 or does not use the state management unit 231. One of the state transition controls using only the unit 11 is selected. In the third embodiment, as in the second embodiment, control composition selection information for designating any one of these controls is added for each piece of composition information when synthesizing the object code. During operation by the apparatus, the auxiliary control unit 23 selects whether to use the state management unit 231 according to the control configuration selection information for each configuration information.
 可変クロック生成器7は、制御部1及び演算部2にそれぞれ供給する、所要の周波数のクロックを生成する。第3の実施の形態では、構成情報毎に付加された動作周波数情報にしたがって、可変クロック生成器7で生成するクロックの周波数を変更する。一般に、構成情報にしたがって演算部2内に構築される仮想的な回路の経路長(演算パス)は構成情報毎に異なるため、その遅延量は均一になるとは限らない。そのため、制御構成選択情報が同一の構成情報であっても動作周波数が異なることがある。 The variable clock generator 7 generates a clock having a required frequency to be supplied to the control unit 1 and the calculation unit 2, respectively. In the third embodiment, the frequency of the clock generated by the variable clock generator 7 is changed according to the operating frequency information added for each piece of configuration information. In general, the path length (calculation path) of a virtual circuit built in the calculation unit 2 according to the configuration information differs for each configuration information, and therefore the delay amount is not always uniform. Therefore, even if the control configuration selection information is the same configuration information, the operating frequency may be different.
 本実施形態のデータ処理装置では、状態管理部231を使用した状態遷移の制御、または状態管理部231を使用しない、制御部1の状態管理部11のみを使用した状態遷移の制御に応じた最適な動作周波数を選択できると共に、構成情報にしたがって演算部2内に構築される仮想的な回路の経路長やその遅延量等に応じて動作周波数を最適に設定できるため、データ処理装置の処理に要する時間を低減できる。 In the data processing apparatus according to the present embodiment, the state transition control using the state management unit 231 or the state transition control using only the state management unit 11 of the control unit 1 without using the state management unit 231 is optimal. The operating frequency can be optimally set according to the path length of the virtual circuit constructed in the arithmetic unit 2 according to the configuration information, the delay amount thereof, etc. The time required can be reduced.
 データ処理装置のその他の構成及び動作は第1の実施の形態で示したデータ処理装置と同様であるため、その説明は省略する。 Since other configurations and operations of the data processing apparatus are the same as those of the data processing apparatus shown in the first embodiment, the description thereof is omitted.
 図7は、図6に示したデータ処理装置で用いるオブジェクトコードを生成するためのオブジェクトコード生成装置の一構成例を示すブロック図である。 FIG. 7 is a block diagram showing a configuration example of an object code generation device for generating an object code used in the data processing device shown in FIG.
 図7に示すように、第3の実施の形態のオブジェクトコード生成装置は、オブジェクトコードを生成する合成ツール50と、合成ツール50で生成されたオブジェクトコードの各構成情報に上記制御構成選択情報を付加すると共に、該オブジェクトコードによるデータ処理装置の処理性能を見積もる性能見積もりツール60とを有する構成である。 As illustrated in FIG. 7, the object code generation device according to the third embodiment includes the synthesis tool 50 that generates an object code, and the control configuration selection information in each configuration information of the object code generated by the synthesis tool 50. And a performance estimation tool 60 for estimating the processing performance of the data processing apparatus using the object code.
 合成ツール50は、アプリケーションの動作記述及び制約情報が入力されると、該動作記述及び制約情報に基づいて少なくとも1つの構成情報から成るオブジェクトコードを生成する。 The synthesizing tool 50 generates an object code including at least one piece of configuration information based on the behavioral description and the constraint information when the behavioral description and the constraint information of the application are input.
 本実施形態の性能見積もりツール60は、合成ツール50で作成されたオブジェクトコード、アプリケーション動作付加情報及びハードウェア情報を用いて、周知の動作シミュレーション法あるいは分岐確率計算法によりデータ処理装置の動作時の性能を見積もる。そして、該見積もり結果に基づき補助制御部23の状態管理部231を使用するか否かを決定し、該決定結果を示す制御構成選択情報を構成情報毎に付加する。 The performance estimation tool 60 of the present embodiment uses the object code, application operation additional information, and hardware information created by the synthesis tool 50, and uses the known operation simulation method or branch probability calculation method when the data processing apparatus operates. Estimate performance. Then, based on the estimation result, it is determined whether to use the state management unit 231 of the auxiliary control unit 23, and control configuration selection information indicating the determination result is added for each configuration information.
 また、本実施形態の制御構成選択情報には、補助制御部23の状態管理部231を使用するか否かに応じてデータ処理装置の動作周波数を変えると共に、構成情報にしたがって演算部2内に構築される仮想的な回路の経路長やその遅延量等に応じた最適な動作周波数を決定し、データ処理装置で使用するクロックの周波数を示す動作周波数情報を付加する。 Further, in the control configuration selection information of the present embodiment, the operating frequency of the data processing device is changed according to whether or not the state management unit 231 of the auxiliary control unit 23 is used, and in the calculation unit 2 according to the configuration information. An optimum operating frequency is determined according to the path length of the virtual circuit to be constructed, its delay amount, etc., and operating frequency information indicating the frequency of the clock used in the data processing apparatus is added.
 オブジェクトコード生成装置のその他の構成及び動作は第1の実施の形態および第2の実施の形態で示したオブジェクトコード生成装置及び情報処理装置と同様であるため、その説明は省略する。 Other configurations and operations of the object code generation apparatus are the same as those of the object code generation apparatus and the information processing apparatus shown in the first embodiment and the second embodiment, and thus description thereof is omitted.
 本実施形態のデータ処理装置によれば、構成情報毎に制御構成選択情報を付加しておき、オブジェクトコードによるデータ処理装置の動作時に該制御構成選択情報にしたがって補助制御部23の状態管理部231を使用するか否かを選択すると共に、動作周波数情報にしたがって使用するクロックの周波数を最適に変更することで、第2の実施の形態のデータ処理装置よりも、より最適な動作周波数で処理を実行できる。したがって、データ処理装置の処理に要する時間を低減できる。 According to the data processing device of this embodiment, control configuration selection information is added for each configuration information, and the state management unit 231 of the auxiliary control unit 23 according to the control configuration selection information during operation of the data processing device by object code. Is used, and the frequency of the clock to be used is optimally changed in accordance with the operating frequency information, so that processing can be performed at a more optimal operating frequency than the data processing apparatus of the second embodiment. Can be executed. Therefore, the time required for the processing of the data processing device can be reduced.
 次に本発明のデータ処理装置の実施例について図面を用いて説明する。 Next, an embodiment of the data processing apparatus of the present invention will be described with reference to the drawings.
(第1実施例)
 第1実施例は、上記背景技術で示した先願発明(特願2006-103987号)のデータ処理装置に上述した第1の実施の形態を適用する例である。
(First embodiment)
The first embodiment is an example in which the above-described first embodiment is applied to the data processing apparatus of the prior invention (Japanese Patent Application No. 2006-103987) shown in the background art.
 図8は本発明のデータ処理装置の実施例の構成を示すブロック図である。 FIG. 8 is a block diagram showing the configuration of an embodiment of the data processing apparatus of the present invention.
 本実施例のデータ処理装置は、図1に示したデータ処理装置を上述したDRP(Dynamically Reconfigurable Processor)で実現する例である。 The data processing apparatus of the present embodiment is an example in which the data processing apparatus shown in FIG. 1 is realized by the above-described DRP (Dynamically Reconfigurable Processor).
 図8に示すように、本実施例のデータ処理装置(DRP)は、図1に示した制御部1となる状態遷移管理部(STC)3と、図1に示した演算部2となる補助制御部(MSTC)43及び複数のプロセッサエレメント(PE)41を備えた演算部4と、外部メモリ6とを有する構成である。状態遷移管理部(STC)3、演算部4及び外部メモリ6には不図示のクロック生成器で生成された所定の周波数のクロックが供給される。 As shown in FIG. 8, the data processing apparatus (DRP) of the present embodiment includes a state transition management unit (STC) 3 that becomes the control unit 1 shown in FIG. 1 and an auxiliary that becomes the calculation unit 2 shown in FIG. In this configuration, a calculation unit 4 including a control unit (MSTC) 43 and a plurality of processor elements (PE) 41 and an external memory 6 are provided. A clock having a predetermined frequency generated by a clock generator (not shown) is supplied to the state transition management unit (STC) 3, the calculation unit 4, and the external memory 6.
 状態遷移管理部(STC)3は、状態管理部31、構成番号変換部32、構成書換部33及び構成指定レジスタ34を備えている。 The state transition management unit (STC) 3 includes a state management unit 31, a configuration number conversion unit 32, a configuration rewrite unit 33, and a configuration designation register 34.
 状態管理部31は図1に示した状態管理部11に相当し、構成番号変換部32は図1に示した構成番号変換部12に相当し、構成書換部33は図1に示した構成書換部15に相当する。構成指定レジスタ34は、補助制御部(MSTC)43が備える、図1に示した状態管理部231に相当する状態管理部431を使用するか否かを指定する情報である制御構成選択情報を保持する。 The state management unit 31 corresponds to the state management unit 11 shown in FIG. 1, the configuration number conversion unit 32 corresponds to the configuration number conversion unit 12 shown in FIG. 1, and the configuration rewriting unit 33 uses the configuration rewriting unit shown in FIG. It corresponds to the part 15. The configuration designation register 34 holds control configuration selection information that is information for designating whether or not to use the state management unit 431 corresponding to the state management unit 231 shown in FIG. 1 provided in the auxiliary control unit (MSTC) 43. To do.
 プロセッサエレメント(PE)41は、レジスタファイル(RFU)、ALU、データ処理演算器(DMU)、スイッチ(SW)及び構成情報メモリを備え、スイッチ(SW)及び該スイッチに接続された配線を介して相互に接続される。 The processor element (PE) 41 includes a register file (RFU), an ALU, a data processing arithmetic unit (DMU), a switch (SW), and a configuration information memory, and via the switch (SW) and wiring connected to the switch. Connected to each other.
 図8に示すデータ処理装置では、演算部4が備える複数のプロセッサエレメント41が図1に示した演算器21となる。なお、演算器は、プロセッサエレメント41に限らず、例えばロジックアレイで実現してもよい。 In the data processing apparatus shown in FIG. 8, the plurality of processor elements 41 included in the calculation unit 4 are the calculator 21 shown in FIG. Note that the arithmetic unit is not limited to the processor element 41 and may be realized by a logic array, for example.
 補助制御部(MSTC)43は、図1に示した状態管理部231に相当する状態管理部431を備え、状態管理部431は、複数の内部状態の遷移を含む論理番号(上記グループ)内の状態遷移を管理する。 The auxiliary control unit (MSTC) 43 includes a state management unit 431 corresponding to the state management unit 231 illustrated in FIG. 1, and the state management unit 431 includes a plurality of internal state transitions within a logical number (the above group). Manage state transitions.
 また、補助制御部(MSTC)43は、現在の構成情報の実番号を保持する実番号レジスタ432と、内部状態番号を保持する内部状態番号レジスタ433と、状態管理部431を使用するか否かを指定する情報である制御構成選択情報を保持する構成指定レジスタ434と、状態管理部431で制御できない大規模な状態遷移を指定するイベント信号を保持するイベント信号レジスタ435とを備えている。イベント信号レジスタ435には、状態管理部431で制御できない大規模な状態遷移を指定するイベント信号が、状態管理部31に送出される前に一時的に保持される。 Further, the auxiliary control unit (MSTC) 43 uses the real number register 432 that holds the real number of the current configuration information, the internal state number register 433 that holds the internal state number, and the state management unit 431. A configuration designation register 434 that holds control configuration selection information, which is information for designating, and an event signal register 435 that holds an event signal that designates a large-scale state transition that cannot be controlled by the state management unit 431. The event signal register 435 temporarily holds an event signal that designates a large-scale state transition that cannot be controlled by the state management unit 431 before being sent to the state management unit 31.
 補助制御部43は、構成指定レジスタ434に格納された値にしたがって、状態管理部431を使用するか否かの選択時に用いる各種セレクタの動作を決定する。 The auxiliary control unit 43 determines the operation of various selectors used when selecting whether or not to use the state management unit 431 according to the value stored in the configuration designation register 434.
 同様に、状態遷移管理部(STC)3は、構成指定レジスタ34に格納された値にしたがって、状態管理部431を使用するか否かの選択に用いる各種セレクタの動作を決定する。 Similarly, the state transition management unit (STC) 3 determines the operation of various selectors used for selecting whether or not to use the state management unit 431 according to the value stored in the configuration designation register 34.
 状態遷移管理部(STC)3は、構成指定レジスタ34に格納された値にしたがって、構成番号変換部32にプロセッサエレメント41群の停止信号を送出させるか否か、状態管理部31から送出された内部状態番号を内部状態番号レジスタ433に常に書き込む、あるいは内部状態番号レジスタ433に対する内部状態番号の書き込みを構成番号変換部32から実番号レジスタ432へ実番号を書き込むときに同期して実行させるかを選択する。 The state transition management unit (STC) 3 is sent from the state management unit 31 whether or not to cause the configuration number conversion unit 32 to send a stop signal for the group of processor elements 41 according to the value stored in the configuration designation register 34. Whether the internal state number is always written to the internal state number register 433 or whether the internal state number is written to the internal state number register 433 synchronously when the real number is written from the configuration number conversion unit 32 to the real number register 432 select.
 本実施例では、各プロセッサエレメント41及び状態遷移管理部(STC)3が備えるメモリ(以下、構成情報メモリと称す)が構成情報記憶部13となる。すなわち、本実施例の構成情報記憶部は、各プロセッサエレメント41及び状態遷移管理部(STC)3が備えるメモリに分割して配置された構成である。 In this embodiment, a memory (hereinafter referred to as a configuration information memory) included in each processor element 41 and the state transition management unit (STC) 3 serves as the configuration information storage unit 13. That is, the configuration information storage unit of the present embodiment is configured to be divided into memories provided in each processor element 41 and the state transition management unit (STC) 3.
 次に本実施例のデータ処理装置の動作について説明する。 Next, the operation of the data processing apparatus of this embodiment will be described.
 以下の説明では、データ処理装置(DRP)が備える命令メモリで論理番号「0」と「1」の構成情報が保持されているものとする。このとき、状態管理部31が備える状態遷移表の一例を図9に示す。ここで、論理番号「0」の構成情報が実番号「0」の構成情報メモリに書き込まれ、論理番号「1」の構成情報が実番号「1」の構成情報メモリに書き込まれているものとする。 In the following description, it is assumed that configuration information of logical numbers “0” and “1” is held in the instruction memory provided in the data processing device (DRP). At this time, an example of the state transition table provided in the state management unit 31 is shown in FIG. Here, the configuration information with the logical number “0” is written in the configuration information memory with the real number “0”, and the configuration information with the logical number “1” is written in the configuration information memory with the real number “1”. To do.
 まず、補助制御部43の状態管理部431を使用する場合のデータ処理装置の動作について説明する。ここでは、図9に示す状態遷移表にしたがって状態を遷移させるものとし、論理番号「0」の構成情報に含まれる内部状態番号「1」(状態0-1)から処理を開始する例で考える。 First, the operation of the data processing apparatus when using the state management unit 431 of the auxiliary control unit 43 will be described. Here, it is assumed that the state is changed according to the state transition table shown in FIG. 9, and the processing is started from the internal state number “1” (state 0-1) included in the configuration information of the logical number “0”. .
 データ処理装置は、1サイクル目の処理において、まず補助制御部43により、実番号レジスタ432から論理番号「0」の構成情報に対応する実番号を読み出し、内部状態番号レジスタ433から内部状態番号「1」を読み出す。 In the processing of the first cycle, the data processing apparatus first reads out the real number corresponding to the configuration information of the logical number “0” from the real number register 432 by the auxiliary control unit 43 and the internal state number “433” from the internal state number register 433. 1 ”is read out.
 補助制御部43は、実番号レジスタ432から読み出した実番号および内部状態番号「1」を用いて構成情報メモリから構成情報を読み出し、演算部4の各プロセッサエレメント41に通知する。各プロセッサエレメント41は補助制御部43から通知された構成情報にしたがって、その動作及びスイッチの接続関係を決定する。その結果、各プロセッサエレメント41で所要の演算が実行される。 The auxiliary control unit 43 reads the configuration information from the configuration information memory using the real number read from the real number register 432 and the internal state number “1”, and notifies each processor element 41 of the calculation unit 4. Each processor element 41 determines its operation and switch connection relationship according to the configuration information notified from the auxiliary control unit 43. As a result, each processor element 41 executes a required calculation.
 状態管理部431は、プロセッサエレメント41から演算結果がイベント信号として通知されると、状態遷移表に基づいて、該イベント信号に対応する次の状態遷移の制御に移行する。ここでは、次の状態への遷移が状態管理部431で制御可能であるため、状態管理部431は次の内部状態番号「2」を内部状態番号レジスタ433へ書き込む。この段階で1サイクル目の処理が終了する。 When the calculation result is notified as an event signal from the processor element 41, the state management unit 431 proceeds to control of the next state transition corresponding to the event signal based on the state transition table. Here, since the transition to the next state can be controlled by the state management unit 431, the state management unit 431 writes the next internal state number “2” in the internal state number register 433. At this stage, the first cycle process is completed.
 図10Aは、以上に示したデータ処理装置による1サイクルの処理経路を示す図である。図10Aでは、状態管理部431で状態遷移を制御する場合の処理経路を太い矢印で示している。すなわち、図10Aの太い矢印は、内部状態番号レジスタ433を処理の起点とし、現在の構成情報に基づいて各プロセッサエレメント41で構築された回路による演算結果がイベント信号として発行されると、該イベント信号を受信した状態管理部431が次の内部状態を決定し、該内部状態を示す内部状態番号が内部状態番号レジスタ433に書き込まれるまでの処理経路を示している。 FIG. 10A is a diagram showing a processing path of one cycle by the data processing apparatus described above. In FIG. 10A, the processing path when the state management unit 431 controls the state transition is indicated by a thick arrow. That is, the thick arrow in FIG. 10A indicates that the internal state number register 433 is the starting point of processing, and when an operation result by a circuit constructed by each processor element 41 based on the current configuration information is issued as an event signal, The state management unit 431 that has received the signal determines the next internal state, and shows the processing path until the internal state number indicating the internal state is written in the internal state number register 433.
 データ処理装置は、2サイクル目の処理において、補助制御部43により、実番号レジスタ432から論理番号「0」の構成情報に対応する実番号を読み出し、内部状態番号レジスタ433から内部状態番号「2」を読み出す。 In the processing of the second cycle, the data processing apparatus reads the real number corresponding to the configuration information of the logical number “0” from the real number register 432 by the auxiliary control unit 43 and the internal state number “2” from the internal state number register 433. "Is read out.
 補助制御部43は、実番号レジスタ432から読み出した実番号および内部状態番号「2」を用いて構成情報メモリから構成情報を読み出し、演算部4の各プロセッサエレメント41に通知する。各プロセッサエレメント41は補助制御部43から通知された構成情報にしたがって、その動作及びスイッチの接続関係を決定する。その結果、各プロセッサエレメント41で所要の演算が実行される。 The auxiliary control unit 43 reads the configuration information from the configuration information memory using the real number read from the real number register 432 and the internal state number “2”, and notifies each processor element 41 of the calculation unit 4. Each processor element 41 determines its operation and switch connection relationship according to the configuration information notified from the auxiliary control unit 43. As a result, each processor element 41 executes a required calculation.
 状態管理部431は、プロセッサエレメント41から演算結果がイベント信号として通知されると、状態遷移表に基づいて、該イベント信号に対応する次の状態遷移の制御に移行する。ここでは、次の状態への遷移が、論理番号が変わるために状態管理部431で制御できない。そのため、状態管理部431は、プロセッサエレメント41群に動作を停止させるためのWEキャンセル信号を発行する。プロセッサエレメント41は、WEキャンセル信号を受信すると、レジスタの内容更新を受け付けなくなる。また、プロセッサエレメント41は、WEキャンセル信号を受信すると、外部ポートからのデータ入力動作も停止する。 When the calculation result is notified as an event signal from the processor element 41, the state management unit 431 proceeds to control of the next state transition corresponding to the event signal based on the state transition table. Here, the transition to the next state cannot be controlled by the state management unit 431 because the logical number changes. Therefore, the state management unit 431 issues a WE cancel signal for stopping the operation of the processor elements 41 group. When the processor element 41 receives the WE cancel signal, it does not accept the update of the register contents. Further, when the processor element 41 receives the WE cancel signal, the data input operation from the external port is also stopped.
 補助制御部43は、WEキャンセル信号を発行すると同時にイベント信号をイベント信号レジスタ435に格納する。この段階で2サイクル目の処理が終了する。 The auxiliary control unit 43 issues a WE cancel signal and stores the event signal in the event signal register 435 at the same time. At this stage, the process in the second cycle is completed.
 データ処理装置は、3サイクル目の処理において、状態管理部31によりイベント信号レジスタ435に格納されたイベント信号を読み出し、該イベント信号及び構成番号変換部32から通知された実番号「0」に基づき、状態遷移表にしたがって次に遷移する状態の論理番号「1」を決定し、該論理番号「1」を構成番号変換部32へ通知する。また、状態管理部31は、構成番号変換部32から通知された実番号「0」及び受信したイベント信号に基づき、次に遷移する状態で開始する内部状態番号(以下、開始内部状態番号と称す)「1」を決定する。 In the process of the third cycle, the data processing device reads the event signal stored in the event signal register 435 by the state management unit 31 and based on the event signal and the real number “0” notified from the configuration number conversion unit 32. The logical number “1” of the next transition state is determined according to the state transition table, and the configuration number conversion unit 32 is notified of the logical number “1”. In addition, the state management unit 31 uses the real number “0” notified from the configuration number conversion unit 32 and the received event signal to start an internal state number that starts in the next transition state (hereinafter referred to as a start internal state number). ) Determine "1".
 構成番号変換部32は、状態管理部31から論理番号「1」が通知されると、変換表を用いて該論理番号「1」を実番号に変換する。ここでは、論理番号「1」の構成情報が構成情報メモリで保持されているため、構成番号変換部32は論理番号から実番号への変換に成功する。構成番号変換部32は、得られた実番号「1」を実番号レジスタ432及び状態管理部31へ格納する。また、このとき、構成番号変換部32は、開始内部状態番号を内部状態番号レジスタ433に送信する。 When the logical number “1” is notified from the state management unit 31, the configuration number converting unit 32 converts the logical number “1” into a real number using the conversion table. Here, since the configuration information of the logical number “1” is held in the configuration information memory, the configuration number conversion unit 32 succeeds in conversion from the logical number to the real number. The configuration number conversion unit 32 stores the obtained real number “1” in the real number register 432 and the state management unit 31. At this time, the configuration number conversion unit 32 transmits the start internal state number to the internal state number register 433.
 図10Bは、以上示したデータ処理装置による2つのサイクルの処理経路を示す図である。図10Bでは、状態管理部431が2サイクル目で状態遷移を制御するときの処理経路と、状態管理部31が3サイクル目で状態遷移を制御するときの処理経路とを太い矢印で示している。すなわち、図10Bに示す太い矢印は、内部状態番号レジスタ433を処理の起点とし、現在の構成情報に基づいて各プロセッサエレメント41で構築された回路による演算結果がイベント信号として発行されると、該イベント信号を受信した状態管理部431が次の内部状態の決定を試み、次の内部状態を決定できない状態管理部431が受信したイベント信号をイベント信号レジスタ435に格納する第1の処理経路と、イベント信号レジスタ435を介して状態管理部31にイベント信号が発行されると、状態管理部31が次の状態の論理番号及び内部状態番号を決定し、該論理番号が構成番号変換部32で実番号に変換され、その変換結果が実番号レジスタ432および内部状態番号レジスタ433に通知されるまでの第2の処理経路とを示している。 FIG. 10B is a diagram showing a processing path of two cycles by the data processing apparatus described above. In FIG. 10B, the processing path when the state management unit 431 controls the state transition in the second cycle and the processing path when the state management unit 31 controls the state transition in the third cycle are indicated by thick arrows. . That is, the thick arrow shown in FIG. 10B starts from the internal state number register 433, and when an operation result by a circuit constructed by each processor element 41 based on the current configuration information is issued as an event signal, The state management unit 431 that has received the event signal tries to determine the next internal state, and the state management unit 431 that cannot determine the next internal state stores the event signal received in the event signal register 435; When an event signal is issued to the state management unit 31 via the event signal register 435, the state management unit 31 determines the logical number and internal state number of the next state, and the logical number is executed by the configuration number conversion unit 32. The second process is performed until the conversion result is notified to the real number register 432 and the internal state number register 433. It is shown the door.
 データ処理装置は、4サイクル目の処理において、状態管理部31により、実番号レジスタ432から論理番号「1」の構成情報に対応する実番号を読み出し、内部状態番号レジスタ433から内部状態番号「1」を読み出す。そして、状態管理部431で発行されたWEキャンセル信号を停止し、プロセッサエレメント41群に動作を再開させる。 In the processing of the fourth cycle, the data processing apparatus reads the real number corresponding to the configuration information of the logical number “1” from the real number register 432 by the state management unit 31 and the internal state number “1” from the internal state number register 433. "Is read out. Then, the WE cancel signal issued by the state management unit 431 is stopped, and the processor elements 41 are restarted.
 なお、上記3サイクル目の処理において、次の論理番号「1」の構成情報が構成情報メモリで保持されていない場合、構成番号変換部32は、論理番号から実番号への変換を失敗する。この場合、構成番号変換部32は、論理番号「1」の構成情報を構成情報メモリに書き込むよう構成書換部33に要求する。 In the process of the third cycle, when the configuration information of the next logical number “1” is not held in the configuration information memory, the configuration number conversion unit 32 fails to convert the logical number to the real number. In this case, the configuration number conversion unit 32 requests the configuration rewriting unit 33 to write the configuration information of the logical number “1” in the configuration information memory.
 構成書換部33は、構成情報記憶部13に保存された構成情報のうち、現時点で不要な構成情報を、論理番号「1」の構成情報で書き換える。構成情報の書き換えには長い時間を要するため、構成番号変換部32は構成書換部33から書き換え完了を示す終了通知を待ち受ける。 The configuration rewriting unit 33 rewrites the configuration information that is unnecessary at the present time with the configuration information of the logical number “1” among the configuration information stored in the configuration information storage unit 13. Since it takes a long time to rewrite the configuration information, the configuration number conversion unit 32 waits for an end notification indicating completion of the rewriting from the configuration rewriting unit 33.
 構成書換部33は、構成情報メモリの書き換えが完了し、それに伴う構成番号変換部32が備える変換表の更新が終了すると、構成番号変換部32に終了通知を送信する。構成番号変換部32は更新された変換表を用いて論理番号「1」を実番号に変換し、実番号レジスタ432に格納する。 When the rewriting of the configuration information memory is completed and the update of the conversion table included in the configuration number conversion unit 32 is completed, the configuration rewriting unit 33 transmits an end notification to the configuration number conversion unit 32. The configuration number conversion unit 32 converts the logical number “1” into a real number using the updated conversion table, and stores it in the real number register 432.
 次に、補助制御部43の状態管理部431を使用しない場合のデータ処理装置の動作について説明する。 Next, the operation of the data processing apparatus when the state management unit 431 of the auxiliary control unit 43 is not used will be described.
 補助制御部43を使用しない場合、プロセッサエレメント41の演算結果を示すイベント信号は、状態管理部431およびイベント信号レジスタ435を経由せずに状態管理部31へ直接通知される。 When the auxiliary control unit 43 is not used, the event signal indicating the calculation result of the processor element 41 is directly notified to the state management unit 31 without passing through the state management unit 431 and the event signal register 435.
 状態管理部31は、プロセッサエレメント41からイベント信号を受信すると、状態遷移表にしたがって現在の実番号と受信したイベント信号とに基づき次に遷移する状態の論理番号を決定し、構成番号変換部32から得られた該論理番号に対応する実番号「1」を実番号レジスタ432及び状態管理部31へ送信し、開始内部態番号を内部状態番号レジスタ433に格納する。状態管理部31はここまでの処理を1サイクルで実行する。 When receiving the event signal from the processor element 41, the state management unit 31 determines the logical number of the next transition state based on the current real number and the received event signal according to the state transition table, and the configuration number conversion unit 32 The real number “1” corresponding to the logical number obtained from the above is transmitted to the real number register 432 and the state management unit 31, and the start internal state number is stored in the internal state number register 433. The state management unit 31 executes the processing so far in one cycle.
 すなわち、図9に示す状態遷移表にしたがって状態が遷移させる場合、状態0-1から状態0-2への遷移及び状態0-2から状態1-1への遷移を、それぞれ状態遷移管理部(STC)3で制御する。 That is, when the state transitions according to the state transition table shown in FIG. 9, the transition from the state 0-1 to the state 0-2 and the transition from the state 0-2 to the state 1-1 are respectively performed by the state transition management unit ( Control with STC) 3.
 図10Cは、以上示したデータ処理装置による1サイクルの処理経路を示す図である。図10Cでは、補助制御部43を使用せずに状態管理部31で状態遷移を制御する場合の処理経路を太い矢印で示している。すなわち、図10Cの太い矢印は、内部状態番号レジスタ433を処理の起点とし、現在の構成情報に基づいて各プロセッサエレメント41で構築された回路による演算結果がイベント信号として発行されると、該イベント信号を受信した状態管理部31が次の内部状態を決定し、構成番号変換部32が状態管理部31から通知された論理番号を実番号に変換し、その結果が実番号レジスタ432および内部状態番号レジスタ433に通知するまでの処理経路を示している。 FIG. 10C is a diagram showing a processing path of one cycle by the data processing apparatus described above. In FIG. 10C, the processing path when the state management unit 31 controls the state transition without using the auxiliary control unit 43 is indicated by a thick arrow. That is, the thick arrow in FIG. 10C starts from the internal state number register 433, and when an operation result by a circuit constructed by each processor element 41 based on the current configuration information is issued as an event signal, The state management unit 31 that has received the signal determines the next internal state, the configuration number conversion unit 32 converts the logical number notified from the state management unit 31 into a real number, and the result is the real number register 432 and the internal state. The processing path until notification to the number register 433 is shown.
 ここで、次の論理番号「1」の構成情報が構成情報メモリで保存されていない場合、構成番号変換部32は論理番号から実番号への変換に失敗する。 Here, when the configuration information of the next logical number “1” is not stored in the configuration information memory, the configuration number conversion unit 32 fails to convert the logical number to the real number.
 この場合、構成番号変換部32は、構成情報メモリに対する論理番号「1」の構成情報の書き込みを構成書換部33へ要求すると共に、書き換えが終了するまでプロセッサエレメント41群に動作を停止させるためのWEキャンセル信号を発行する。構成情報の書き換え動作は、上述した補助制御部43を使用する場合と同様であるため、ここではその説明を省略する。 In this case, the configuration number conversion unit 32 requests the configuration rewriting unit 33 to write the configuration information of the logical number “1” to the configuration information memory, and causes the processor element 41 group to stop the operation until the rewriting is completed. A WE cancel signal is issued. The rewriting operation of the configuration information is the same as that in the case of using the auxiliary control unit 43 described above, and thus the description thereof is omitted here.
 構成番号変換部32は、構成書換部33から構成情報の書き換え完了を示す終了通知を受信すると、状態管理部31から通知された論理番号を実番号に変換し、その結果を実番号レジスタ432および内部状態番号レジスタ433に通知すると共にWEキャンセル信号の発行を停止する。 When the configuration number conversion unit 32 receives an end notification indicating completion of rewriting of the configuration information from the configuration rewriting unit 33, the configuration number conversion unit 32 converts the logical number notified from the state management unit 31 into a real number, and converts the result into a real number register 432 and Notify the internal state number register 433 and stop issuing the WE cancel signal.
 次に、図2に示したオブジェクトコード合成装置による、データ処理装置の処理性能の見積もり方法について図面を用いて説明する。 Next, a method for estimating the processing performance of the data processing apparatus by the object code synthesizing apparatus shown in FIG. 2 will be described with reference to the drawings.
 上述したように、オブジェクトコード合成装置は、合成ツール50によりデータ処理装置上で動作させるアプリケーションのオブジェクトコードを生成する。また、オブジェクトコード合成装置は、性能見積もりツール60により補助制御部43を使用する場合と使用しない場合のデータ処理装置の処理性能をそれぞれ見積もり、該見積もり結果に基づき補助制御部43を使用する場合と使用しない場合の処理性能の優劣を判定し、その判定結果に応じて補助制御部43を使用するか否かを示す制御構成選択情報を合成ツール50で生成したオブジェクトコードに付加する。 As described above, the object code synthesizing apparatus generates an object code of an application to be operated on the data processing apparatus by the synthesizing tool 50. Further, the object code synthesis apparatus estimates the processing performance of the data processing apparatus when the auxiliary control unit 43 is used or not used by the performance estimation tool 60, and uses the auxiliary control unit 43 based on the estimation result. The superiority or inferiority of the processing performance when not used is determined, and control configuration selection information indicating whether or not to use the auxiliary control unit 43 is added to the object code generated by the synthesis tool 50 according to the determination result.
 ここで、補助制御部43を使用する場合と使用しない場合の処理性能の優劣の判定には、データ処理装置の1サイクルあたりの動作時間と、補助制御部43を使用する場合と使用しない場合に必要なサイクル数とを用いる。 Here, in the judgment of superiority or inferiority of the processing performance when the auxiliary control unit 43 is used or not used, the operation time per cycle of the data processing device, the case where the auxiliary control unit 43 is used and the case where it is not used are used. Use the required number of cycles.
 まず、1サイクルあたりの動作時間の算出方法について説明する。 First, how to calculate the operating time per cycle will be described.
 補助制御部43を使用する場合、基準となる1サイクルの処理時間を、図10Aの太い矢印で示した経路の処理に要する時間とする。この値を用いて状態遷移管理部3で制御する場合に要するサイクル数を決定する。 When using the auxiliary control unit 43, the processing time of one cycle as a reference is the time required for processing the route indicated by the thick arrow in FIG. 10A. Using this value, the number of cycles required for control by the state transition management unit 3 is determined.
 具体的には、図10Bに示した、状態遷移管理部3で制御する場合に要する処理時間を、図10Aで示した経路の処理に要する時間で除算し、整数となるように繰り上げた値を算出する。次に、この値から「1」を減算することで、状態遷移管理部3で制御する場合に要するサイクル数であるオーバヘッドサイクル数を算出する。 Specifically, the processing time required for control by the state transition management unit 3 shown in FIG. 10B is divided by the time required for the processing of the route shown in FIG. 10A, and the value raised to an integer is obtained. calculate. Next, by subtracting “1” from this value, the number of overhead cycles, which is the number of cycles required for control by the state transition management unit 3, is calculated.
 一方、補助制御部43を使用しない場合は、基準となる1サイクルの時間を図10Cの太い矢印で示した経路の処理に要する時間とする。 On the other hand, when the auxiliary control unit 43 is not used, the time of one cycle as a reference is set as the time required for processing the route indicated by the thick arrow in FIG. 10C.
 次に、図2に示した性能見積もりツール60による性能見積もり方法について説明する。 Next, a performance estimation method using the performance estimation tool 60 shown in FIG. 2 will be described.
 上述した動作シミュレーション法によって所要のサイクル数を算出する場合、補助制御部43を使用しない場合のサイクル数は動作シミュレーションのサイクル数そのものの値となる。 When the required number of cycles is calculated by the operation simulation method described above, the number of cycles when the auxiliary control unit 43 is not used is the value of the number of cycles of the operation simulation itself.
 また、補助制御部43を使用する場合のサイクル数は、状態遷移管理部3の制御で発生した状態遷移の回数と状態遷移管理部3の制御で状態が遷移する場合のオーバヘッドとの積に、動作シミュレーションのサイクル数を加算することで算出する。 Further, the number of cycles when the auxiliary control unit 43 is used is the product of the number of state transitions generated by the control of the state transition management unit 3 and the overhead when the state transitions by the control of the state transition management unit 3. It is calculated by adding the number of cycles for motion simulation.
 一方、分岐確率計算法によってデータ処理装置の性能を見積もる場合、所要のサイクル数は比で表記する。例えば、補助制御部43を使用しない場合のサイクル数を「1」とすると、補助制御部43を使用する場合のサイクル数は、状態遷移管理部3の制御を必要とする状態遷移の発生確率と状態遷移管理部3により状態遷移を制御する場合のオーバヘッドの値との積に、「1」を加算することで算出する。 On the other hand, when the performance of the data processing device is estimated by the branch probability calculation method, the required number of cycles is expressed as a ratio. For example, if the number of cycles when the auxiliary control unit 43 is not used is “1”, the number of cycles when the auxiliary control unit 43 is used is the occurrence probability of the state transition requiring the control of the state transition management unit 3. Calculation is performed by adding “1” to the product of the overhead value when the state transition management unit 3 controls the state transition.
 最後に、1サイクルあたりの動作時間と所要のサイクル数とを乗算し、アプリケーションに対応したデータ処理装置の処理に要する時間(以下、動作所要時間と称す)を求める。 Finally, the operation time per cycle and the required number of cycles are multiplied to determine the time required for processing of the data processing apparatus corresponding to the application (hereinafter referred to as operation required time).
 性能見積もりツール60は、補助制御部43を使用する場合と使用しない場合の動作所要時間をそれぞれ算出し、動作所要時間がより短くなる制御構造(補助制御部43を使用するか否か)を決定し、該決定結果を基に補助制御部43を使用するか否かを示す制御構成選択情報をオブジェクトコードに付加する。 The performance estimation tool 60 calculates the required operation time when the auxiliary control unit 43 is used and when not used, and determines a control structure (whether the auxiliary control unit 43 is used) that shortens the required operation time. Then, control configuration selection information indicating whether to use the auxiliary control unit 43 based on the determination result is added to the object code.
 なお、より精細に処理性能を見積もる場合、性能見積もりツール60は、動作中の構成情報の書き換えに要する時間も考慮することが望ましい。その場合、書き換えサイクル数は変わらないため、動作周波数がより高い補助制御部43を使用する制御構造を選択する機会が増大する。 Note that, when the processing performance is estimated more precisely, it is desirable that the performance estimation tool 60 also considers the time required for rewriting configuration information during operation. In this case, since the number of rewrite cycles does not change, the opportunity to select a control structure that uses the auxiliary control unit 43 having a higher operating frequency increases.
 次に、図2に示したオブジェクトコード合成装置による、データ処理装置の処理性能の見積もり方法の具体例について説明する。 Next, a specific example of a method for estimating the processing performance of the data processing apparatus by the object code synthesizing apparatus shown in FIG. 2 will be described.
 ここでは、図10Aに示した処理経路による動作所要時間が10ns、図10Bに示した処理経路による動作所要時間が16ns、図10Cに示した処理経路による動作所要時間が13nsであり、状態遷移管理部3の制御を必要とする状態遷移の発生確率が0.2であるとする。 Here, the required operation time by the processing path shown in FIG. 10A is 10 ns, the required operation time by the processing path shown in FIG. 10B is 16 ns, and the required operation time by the processing path shown in FIG. 10C is 13 ns. Assume that the probability of occurrence of a state transition requiring control of the unit 3 is 0.2.
 上述したように、補助制御部43の制御による状態遷移から状態遷移管理部3の制御による状態遷移へ変わるとき、状態遷移の制御には2サイクルを要するため、オーバヘッドのサイクル数は「1」となる。 As described above, when changing from the state transition controlled by the auxiliary control unit 43 to the state transition controlled by the state transition management unit 3, two cycles are required for the state transition control, so the number of overhead cycles is “1”. Become.
 ここで、補助制御部43を使用しない場合のサイクル数を「1」とすると、補助制御部43を使用する場合のサイクル数は(1+0.2×1)=1.2となる。 Here, if the number of cycles when the auxiliary control unit 43 is not used is “1”, the number of cycles when the auxiliary control unit 43 is used is (1 + 0.2 × 1) = 1.2.
 また、データ処理装置の動作所要時間は、補助制御部43を使用しない場合は13×1=13nsであり、補助制御部43を使用する場合は10×1.2=12nsとなる。すなわち、動作所要時間は補助制御部43を使用する方が短くなる。この場合、性能見積もりツール60は、補助制御部43の使用を指定する制御構成選択情報をオブジェクトコードに付与する。 Further, the operation time required for the data processing apparatus is 13 × 1 = 13 ns when the auxiliary control unit 43 is not used, and 10 × 1.2 = 12 ns when the auxiliary control unit 43 is used. That is, the operation required time is shorter when the auxiliary control unit 43 is used. In this case, the performance estimation tool 60 gives control configuration selection information for specifying the use of the auxiliary control unit 43 to the object code.
 一方、状態遷移管理部3の制御を必要とする状態遷移の発生確率が0.4である場合、補助制御部43を使用する場合の動作所要時間は10×1.4=14nsとなる。この場合、動作所要時間は補助制御部43を使用しない方が短くなる。したがって、性能見積もりツール60は、補助制御部43の不使用を指定する制御構成選択情報をオブジェクトコードに付与する。 On the other hand, when the occurrence probability of the state transition requiring the control of the state transition management unit 3 is 0.4, the operation required time when the auxiliary control unit 43 is used is 10 × 1.4 = 14 ns. In this case, the operation required time is shorter when the auxiliary control unit 43 is not used. Therefore, the performance estimation tool 60 gives control configuration selection information for designating non-use of the auxiliary control unit 43 to the object code.
 図11は、横軸に状態遷移管理部3の制御を必要とする状態遷移の発生確率を示し、縦軸に動作所要時間をプロットしたグラフである。 FIG. 11 is a graph in which the horizontal axis indicates the probability of occurrence of a state transition that requires the control of the state transition management unit 3, and the vertical axis indicates the required operation time.
 図11は、状態遷移管理部3の制御を必要とする状態遷移の発生確率に対する、補助制御部43を使用する場合の動作所要時間と、補助制御部43を使用しない場合の動作所要時間と、補助制御部43を使用するか否かを最適に選択する場合(本願発明)の動作所要時間との関係をそれぞれ示している。 FIG. 11 shows the required operation time when the auxiliary control unit 43 is used and the required operation time when the auxiliary control unit 43 is not used, with respect to the occurrence probability of the state transition that requires the control of the state transition management unit 3. The relationship with the required operation time when optimally selecting whether or not to use the auxiliary control unit 43 (the present invention) is shown.
 上述した先願発明では、補助制御部43を使用する場合または使用しない場合のいずれか一方のみで処理を実行するため、オブジェクトコードによっては動作所要時間が長くなることがある。一方、本実施例では、性能見積もりツール60により補助制御部43を使用する場合と使用しない場合の処理性能を事前に見積もり、最適な制御構造を決定し、該決定結果を示す制御構成選択情報をオブジェクトコードに付与するため、データ処理装置は、より動作所要時間が短い制御構造で処理を実行できる。したがって、データ処理装置の処理に要する時間を低減できる。 In the above-mentioned prior application, since the process is executed only when either the auxiliary control unit 43 is used or not, depending on the object code, the required operation time may be long. On the other hand, in this embodiment, the performance estimation tool 60 estimates in advance the processing performance when the auxiliary control unit 43 is used and when not used, determines an optimal control structure, and sets control configuration selection information indicating the determination result. Since it is given to the object code, the data processing apparatus can execute the process with a control structure having a shorter operation required time. Therefore, the time required for the processing of the data processing device can be reduced.
(第2実施例)
 第2実施例は上記背景技術で示した先願発明(特願2006-103987号)のデータ処理装置に上述した第2の実施の形態を適用する例である。
(Second embodiment)
The second embodiment is an example in which the second embodiment described above is applied to the data processing apparatus of the prior invention (Japanese Patent Application No. 2006-103987) shown in the background art.
 図12は第2実施例のデータ処理装置の構成を示すブロック図である。 FIG. 12 is a block diagram showing the configuration of the data processing apparatus of the second embodiment.
 第2実施例のデータ処理装置は、第1実施例で示した構成指定レジスタ34に代えて構成指定表36を備えた構成である。また、第2実施例のデータ処理装置は、2つのクロック生成器51と52を備えている。 The data processing apparatus according to the second embodiment has a configuration specifying table 36 instead of the configuration specifying register 34 shown in the first embodiment. Further, the data processing apparatus of the second embodiment includes two clock generators 51 and 52.
 図12に示すように、本実施例のデータ処理装置(DRP)は、図4に示した制御部1となる状態遷移管理部(STC)3と、図4に示した演算部2となる補助制御部(MSTC)43及び複数のプロセッサエレメント(PE)41を備えた演算部4と、2つのクロック生成器51,52と、外部メモリ6とを有する構成である。状態遷移管理部(STC)3、演算部4及び外部メモリ6には、2つのクロック生成器51と52で生成されたクロックのうち、構成指定表36に格納された制御構成選択情報に基づいて状態遷移管理部(STC)3によって選択されたいずれか一方のクロックが供給される。 As shown in FIG. 12, the data processing apparatus (DRP) of the present embodiment includes a state transition management unit (STC) 3 that becomes the control unit 1 shown in FIG. 4 and an auxiliary that becomes the calculation unit 2 shown in FIG. This is a configuration having a calculation unit 4 including a control unit (MSTC) 43 and a plurality of processor elements (PE) 41, two clock generators 51 and 52, and an external memory 6. Of the clocks generated by the two clock generators 51 and 52, the state transition management unit (STC) 3, the arithmetic unit 4, and the external memory 6 are based on the control configuration selection information stored in the configuration designation table 36. One of the clocks selected by the state transition management unit (STC) 3 is supplied.
 状態遷移管理部(STC)3は、状態管理部31、構成番号変換部32、構成書換部33及び構成指定表36を備えている。 The state transition management unit (STC) 3 includes a state management unit 31, a configuration number conversion unit 32, a configuration rewriting unit 33, and a configuration designation table 36.
 状態管理部31は図4に示した状態管理部11に相当し、構成番号変換部32は図4に示した構成番号変換部12に相当し、構成書換部33は図4に示した構成書換部15に相当する。 The state management unit 31 corresponds to the state management unit 11 shown in FIG. 4, the configuration number conversion unit 32 corresponds to the configuration number conversion unit 12 shown in FIG. 4, and the configuration rewriting unit 33 uses the configuration rewriting unit shown in FIG. It corresponds to the part 15.
 構成指定表36は、補助制御部(MSTC)43が備える、図4に示した状態管理部231に相当する状態管理部431を使用するか否かを指定する制御構成選択情報を構成情報毎に保持する。 The configuration designation table 36 includes, for each configuration information, control configuration selection information that designates whether or not the state management unit 431 corresponding to the state management unit 231 illustrated in FIG. 4 provided in the auxiliary control unit (MSTC) 43 is used. Hold.
 プロセッサエレメント(PE)41は、レジスタファイル(RFU)、ALU、データ処理演算器(DMU)、スイッチ(SW)及び構成情報メモリを備え、スイッチ(SW)及び該スイッチに接続された配線を介して相互に接続される。 The processor element (PE) 41 includes a register file (RFU), an ALU, a data processing arithmetic unit (DMU), a switch (SW), and a configuration information memory, and via the switch (SW) and wiring connected to the switch. Connected to each other.
 図12に示すデータ処理装置では、演算部4が備える複数のプロセッサエレメント41が図4に示した演算器21となる。なお、演算器21は、プロセッサエレメント41に限らず、例えばロジックアレイで実現してもよい。 In the data processing apparatus shown in FIG. 12, the plurality of processor elements 41 included in the calculation unit 4 are the calculator 21 shown in FIG. Note that the computing unit 21 is not limited to the processor element 41 and may be realized by, for example, a logic array.
 補助制御部(MSTC)43は、図4に示した状態管理部231に相当する状態管理部431を備え、状態管理部431は、複数の内部状態の遷移を含む論理番号(上記グループ)内の状態遷移を管理する。 The auxiliary control unit (MSTC) 43 includes a state management unit 431 corresponding to the state management unit 231 illustrated in FIG. 4. The state management unit 431 includes a plurality of internal state transitions within a logical number (the above group). Manage state transitions.
 また、補助制御部(MSTC)43は、現在の構成情報の実番号を保持する実番号レジスタ432と、内部状態番号を保持する内部状態番号レジスタ433と、状態管理部431を使用するか否かを指定する情報である制御構成選択情報を保持する構成指定レジスタ434と、状態管理部431で制御できない大規模な状態遷移を指定するイベント信号を保持するイベント信号レジスタ435とを備えている。イベント信号レジスタ435には、状態管理部431で制御できない大規模な状態遷移を指定するイベント信号が、状態管理部31に送出する前に一時的に保持される。 Further, the auxiliary control unit (MSTC) 43 uses the real number register 432 that holds the real number of the current configuration information, the internal state number register 433 that holds the internal state number, and the state management unit 431. A configuration designation register 434 that holds control configuration selection information, which is information for designating, and an event signal register 435 that holds an event signal that designates a large-scale state transition that cannot be controlled by the state management unit 431. In the event signal register 435, an event signal that designates a large-scale state transition that cannot be controlled by the state management unit 431 is temporarily held before being sent to the state management unit 31.
 補助制御部43は、構成指定レジスタ434に格納された値にしたがって、状態管理部431を使用するか否かの選択時に用いる各種セレクタの動作を決定する。 The auxiliary control unit 43 determines the operation of various selectors used when selecting whether or not to use the state management unit 431 according to the value stored in the configuration designation register 434.
 状態遷移管理部(STC)3は、使用する構成情報の実番号に対応する構成指定表36のメモリ領域に格納された値(制御構成選択情報)を読み出し、該読み出した値に基づいて、状態管理部431を使用するか否かの選択に用いる各種セレクタの動作を決定する。このとき状態遷移管理部(STC)3は、構成指定表36から読み出した値を構成指定レジスタ434に格納する。 The state transition management unit (STC) 3 reads the value (control configuration selection information) stored in the memory area of the configuration designation table 36 corresponding to the real number of the configuration information to be used, and based on the read value, the state transition management unit (STC) 3 The operation of various selectors used for selecting whether to use the management unit 431 is determined. At this time, the state transition management unit (STC) 3 stores the value read from the configuration designation table 36 in the configuration designation register 434.
 クロック生成器51は、状態管理部431を使用しない制御構造のときにデータ処理装置で用いるクロックを生成する。一方、クロック生成器52は、状態管理部431を使用する制御構造のときにデータ処理装置で用いるクロックを生成する。 The clock generator 51 generates a clock used in the data processing device when the control structure does not use the state management unit 431. On the other hand, the clock generator 52 generates a clock to be used in the data processing device when the control structure uses the state management unit 431.
 状態遷移管理部(STC)3は、構成指定表36に格納された値にしたがってクロック生成器51またはクロック生成器52で生成されたクロックを選択する。 The state transition management unit (STC) 3 selects a clock generated by the clock generator 51 or the clock generator 52 according to the value stored in the configuration designation table 36.
 また、状態遷移管理部(STC)3は、構成指定表36に格納された値にしたがって構成番号変換部32にプロセッサエレメント41群の停止信号を送出させるか否か、状態管理部31から送出された内部状態番号を内部状態番号レジスタ433に常に書き込む、あるいは内部状態番号レジスタ433に対する内部状態番号の書き込みを構成番号変換部32から実番号レジスタ432へ実番号を書き込むときに同期して実行させるかを選択する。 Further, the state transition management unit (STC) 3 is sent from the state management unit 31 whether or not to cause the configuration number conversion unit 32 to send a stop signal for the processor element 41 group according to the value stored in the configuration designation table 36. Whether the internal state number is always written to the internal state number register 433 or the internal state number is written to the internal state number register 433 synchronously when the real number is written from the configuration number conversion unit 32 to the real number register 432 Select.
 次に本実施例のデータ処理装置の動作について説明する。 Next, the operation of the data processing apparatus of this embodiment will be described.
 なお、論理番号「0」の構成情報は実番号「0」の構成情報メモリに書き込まれ、論理番号「1」の構成情報は実番号「1」の構成情報メモリに書き込まれているものとする。また、論理番号0の構成情報には状態管理部431の使用を指示する制御構成選択情報が付加され、論理番号1の構成情報には状態管理部431の不使用を指示する制御構成選択情報が付加されているものとする。 The configuration information with logical number “0” is written in the configuration information memory with real number “0”, and the configuration information with logical number “1” is written in the configuration information memory with real number “1”. . Further, control configuration selection information for instructing use of the state management unit 431 is added to the configuration information of logical number 0, and control configuration selection information for instructing non-use of the state management unit 431 is added to configuration information of logical number 1. It shall be added.
 まず、補助制御部43の状態管理部431を使用する場合のデータ処理装置の動作について説明する。ここでは、第1実施例と同様に、図9に示す状態遷移表にしたがって状態を遷移させるものとし、論理番号「0」の構成情報に含まれる内部状態番号「1」(状態0-1)から処理を開始する例を示す。 First, the operation of the data processing apparatus when using the state management unit 431 of the auxiliary control unit 43 will be described. Here, as in the first embodiment, the state is changed according to the state transition table shown in FIG. 9, and the internal state number “1” (state 0-1) included in the configuration information of the logical number “0” is assumed. An example of starting the process from is shown.
 状態遷移管理部(STC)3は、最初に論理番号「0」の構成情報に付加された制御構成選択情報を構成指定表36から読み出し、該制御構成選択情報に基づいてクロック生成器52のクロックを選択する。以降、本実施例の状態遷移管理部(STC)3及び演算部4は、次にクロックが選択されるまでクロック生成器52で生成されたクロックを用いて動作する。なお、状態遷移管理部(STC)3が制御構成選択情報に基づいてクロックを選択するまで、状態遷移管理部(STC)3及び演算部4は、状態遷移管理部(STC)3の処理能力に応じた、予め設定された周波数のクロック(この場合はクロック生成器51で生成されたクロック)で動作しているものとする。 The state transition management unit (STC) 3 first reads out the control configuration selection information added to the configuration information of the logical number “0” from the configuration designation table 36, and based on the control configuration selection information, the clock of the clock generator 52 is read out. Select. Thereafter, the state transition management unit (STC) 3 and the calculation unit 4 according to the present embodiment operate using the clock generated by the clock generator 52 until the next clock is selected. Until the state transition management unit (STC) 3 selects a clock based on the control configuration selection information, the state transition management unit (STC) 3 and the calculation unit 4 have the processing capability of the state transition management unit (STC) 3. It is assumed that the operation is performed with a clock having a preset frequency (in this case, a clock generated by the clock generator 51).
 データ処理装置は、1サイクル目の処理において、まず補助制御部43により、実番号レジスタ432から論理番号「0」の構成情報に対応する実番号を読み出し、内部状態番号レジスタ433から内部状態番号「1」を読み出す。 In the processing of the first cycle, the data processing apparatus first reads out the real number corresponding to the configuration information of the logical number “0” from the real number register 432 by the auxiliary control unit 43 and the internal state number “433” from the internal state number register 433. 1 ”is read out.
 補助制御部43は、実番号レジスタ432から読み出した実番号および内部状態番号「1」を用いて構成情報メモリから構成情報を読み出し、演算部4の各プロセッサエレメント41に通知する。各プロセッサエレメント41は補助制御部43から通知された構成情報にしたがって、その動作及びスイッチの接続関係を決定する。その結果、各プロセッサエレメント41で所要の演算が実行される。 The auxiliary control unit 43 reads the configuration information from the configuration information memory using the real number read from the real number register 432 and the internal state number “1”, and notifies each processor element 41 of the calculation unit 4. Each processor element 41 determines its operation and switch connection relationship according to the configuration information notified from the auxiliary control unit 43. As a result, each processor element 41 executes a required calculation.
 状態管理部431は、プロセッサエレメント41から演算結果がイベント信号として通知されると、状態遷移表に基づいて、該イベント信号に対応する次の状態遷移の制御に移行する。ここでは、次の状態への遷移が状態管理部431で制御可能であるため、状態管理部431は次の内部状態番号「2」を内部状態番号レジスタ433へ書き込む。この段階で1サイクル目の処理が終了する。 When the calculation result is notified as an event signal from the processor element 41, the state management unit 431 proceeds to control of the next state transition corresponding to the event signal based on the state transition table. Here, since the transition to the next state can be controlled by the state management unit 431, the state management unit 431 writes the next internal state number “2” in the internal state number register 433. At this stage, the first cycle process is completed.
 図13Aは、以上に示したデータ処理装置による1サイクルの処理経路を示す図である。図13Aでは、状態管理部431で状態遷移を制御する場合の処理経路を太い矢印で示している。すなわち、図13Aの太い矢印は、内部状態番号レジスタ433を処理の起点とし、現在の構成情報に基づいて各プロセッサエレメント41で構築された回路による演算結果がイベント信号として発行されると、該イベント信号を受信した状態管理部431が次の内部状態を決定し、該内部状態を示す内部状態番号が内部状態番号レジスタ433に書き込まれるまでの処理経路を示している。 FIG. 13A is a diagram showing a processing path of one cycle by the data processing apparatus described above. In FIG. 13A, the processing path when the state management unit 431 controls the state transition is indicated by a thick arrow. That is, the thick arrow in FIG. 13A starts from the internal state number register 433, and when an operation result by a circuit constructed by each processor element 41 based on the current configuration information is issued as an event signal, The state management unit 431 that has received the signal determines the next internal state, and shows the processing path until the internal state number indicating the internal state is written in the internal state number register 433.
 データ処理装置は、2サイクル目の処理において、補助制御部43により、実番号レジスタ432から論理番号「0」の構成情報に対応する実番号を読み出し、内部状態番号レジスタ433から内部状態番号「2」を読み出す。 In the processing of the second cycle, the data processing apparatus reads the real number corresponding to the configuration information of the logical number “0” from the real number register 432 by the auxiliary control unit 43 and the internal state number “2” from the internal state number register 433. "Is read out.
 補助制御部43は、実番号レジスタ432から読み出した実番号および内部状態番号「2」を用いて構成情報メモリから構成情報を読み出し、演算部4の各プロセッサエレメント41に通知する。各プロセッサエレメント41は補助制御部43から通知された構成情報にしたがって、その動作及びスイッチの接続関係を決定する。その結果、各プロセッサエレメント41で所要の演算が実行される。 The auxiliary control unit 43 reads the configuration information from the configuration information memory using the real number read from the real number register 432 and the internal state number “2”, and notifies each processor element 41 of the calculation unit 4. Each processor element 41 determines its operation and switch connection relationship according to the configuration information notified from the auxiliary control unit 43. As a result, each processor element 41 executes a required calculation.
 状態管理部431は、プロセッサエレメント41から演算結果がイベント信号として通知されると、状態遷移表に基づいて該イベント信号に対応する次の状態遷移の制御に移行する。ここでは、次の状態への遷移が、論理番号が変わるために状態管理部431で制御できないため、状態管理部431は、プロセッサエレメント41群に動作を停止させるためのWEキャンセル信号を発行する。プロセッサエレメント41は、WEキャンセル信号を受信すると、レジスタの内容更新を受け付けなくなる。また、プロセッサエレメント41は、WEキャンセル信号を受信すると、外部ポートからのデータ入力動作も停止する。 When the operation result is notified from the processor element 41 as an event signal, the state management unit 431 proceeds to control of the next state transition corresponding to the event signal based on the state transition table. Here, since the transition to the next state cannot be controlled by the state management unit 431 because the logical number changes, the state management unit 431 issues a WE cancel signal for stopping the operation of the processor elements 41 group. When the processor element 41 receives the WE cancel signal, it does not accept the update of the register contents. Further, when the processor element 41 receives the WE cancel signal, the data input operation from the external port is also stopped.
 補助制御部43は、WEキャンセル信号を発行すると同時にイベント信号レジスタ435にイベント信号を格納する。この段階で2サイクル目の処理が終了する。 The auxiliary control unit 43 issues a WE cancel signal and stores the event signal in the event signal register 435 at the same time. At this stage, the process in the second cycle is completed.
 データ処理装置は、3サイクル目の処理において、状態管理部31によりイベント信号レジスタ435に格納されたイベント信号を読み出し、構成番号変換部32から通知された実番号「0」及びイベント信号に基づき、状態遷移表にしたがって次に遷移する状態の論理番号「1」を決定し、該論理番号「1」を構成番号変換部32へ通知する。また、状態管理部31は、構成番号変換部32から通知された実番号「0」及び受信したイベント信号に基づき、次に遷移する状態で開始する内部状態番号(開始内部状態番号)「1」を決定する。 In the processing of the third cycle, the data processing device reads the event signal stored in the event signal register 435 by the state management unit 31, and based on the real number “0” and the event signal notified from the configuration number conversion unit 32, The logical number “1” of the next transition state is determined according to the state transition table, and the logical number “1” is notified to the configuration number conversion unit 32. Further, the state management unit 31 is based on the real number “0” notified from the configuration number conversion unit 32 and the received event signal, and the internal state number (starting internal state number) “1” starting in the next transition state. To decide.
 構成番号変換部32は、状態管理部31から論理番号「1」が通知されると、変換表を用いて該論理番号「1」を実番号に変換する。ここでは、論理番号「1」の構成情報が構成情報メモリで保持されているため、構成番号変換部32は論理番号から実番号への変換に成功する。構成番号変換部32は、得られた実番号「1」を実番号レジスタ432及び状態管理部31へ格納する。また、このとき、構成番号変換部32は、開始内部状態番号を内部状態番号レジスタ433に送信する。 When the logical number “1” is notified from the state management unit 31, the configuration number converting unit 32 converts the logical number “1” into a real number using the conversion table. Here, since the configuration information of the logical number “1” is held in the configuration information memory, the configuration number conversion unit 32 succeeds in conversion from the logical number to the real number. The configuration number conversion unit 32 stores the obtained real number “1” in the real number register 432 and the state management unit 31. At this time, the configuration number conversion unit 32 transmits the start internal state number to the internal state number register 433.
 状態遷移管理部(STC)3は、実番号「1」に対応する構成情報に付加された制御構成選択情報を構成指定表36から読み出し、論理番号「1」の構成情報では状態管理部431を使用しない制御構造を用いることを検知し、読み出した制御構成選択情報に基づいてクロック生成器51のクロックを選択する。この場合、状態遷移管理部(STC)3及び演算部4は、次のサイクルからクロック生成器51で生成されたクロックを用いて動作する。また、状態管理部31は、状態管理部431を使用しない制御構造を指示する情報を構成指定レジスタ434に書き込む。 The state transition management unit (STC) 3 reads the control configuration selection information added to the configuration information corresponding to the real number “1” from the configuration designation table 36, and the state management unit 431 is used for the configuration information of the logical number “1”. It is detected that a control structure that is not used is used, and the clock of the clock generator 51 is selected based on the read control configuration selection information. In this case, the state transition management unit (STC) 3 and the calculation unit 4 operate using the clock generated by the clock generator 51 from the next cycle. In addition, the state management unit 31 writes information indicating a control structure that does not use the state management unit 431 in the configuration designation register 434.
 図13Bは、以上に示したデータ処理装置による2つのサイクルの処理経路を示す図である。図13Bでは、状態管理部431が2サイクル目で状態遷移を制御するときの処理経路と、状態管理部31が3サイクル目で状態遷移を制御するときの処理経路とを太い矢印で示している。すなわち、図13Bに示す太い矢印は、内部状態番号レジスタ433を処理の起点とし、現在の構成情報に基づいて各プロセッサエレメント41で構築された回路による演算結果がイベント信号として発行されると、該イベント信号を受信した状態管理部431が次の内部状態の決定を試み、次の内部状態を決定できない状態管理部431が受信したイベント信号をイベント信号レジスタ435に格納する第1の処理経路と、イベント信号レジスタ435を介して状態管理部31にイベント信号が発行されると、状態管理部31が次の状態の論理番号及び内部状態番号を決定し、該論理番号が構成番号変換部32で実番号に変換され、その変換結果が実番号レジスタ432および内部状態番号レジスタ433に通知されるまでの第2の処理経路とを示している。 FIG. 13B is a diagram showing a processing path of two cycles by the data processing apparatus described above. In FIG. 13B, the processing path when the state management unit 431 controls the state transition in the second cycle and the processing path when the state management unit 31 controls the state transition in the third cycle are indicated by thick arrows. . That is, the thick arrow shown in FIG. 13B starts from the internal state number register 433, and when an operation result by a circuit constructed by each processor element 41 based on the current configuration information is issued as an event signal, The state management unit 431 that has received the event signal tries to determine the next internal state, and the state management unit 431 that cannot determine the next internal state stores the event signal received in the event signal register 435; When an event signal is issued to the state management unit 31 via the event signal register 435, the state management unit 31 determines the logical number and internal state number of the next state, and the logical number is executed by the configuration number conversion unit 32. The second process is performed until the conversion result is notified to the real number register 432 and the internal state number register 433. It is shown the door.
 データ処理装置は、4サイクル目の処理において、状態管理部31により、実番号レジスタ432から論理番号「1」の構成情報に対応する実番号を読み出し、内部状態番号レジスタ433から内部状態番号「1」を読み出す。そして、状態管理部431で発行されたWEキャンセル信号を停止し、プロセッサエレメント41群に動作を再開させる。 In the processing of the fourth cycle, the data processing apparatus reads the real number corresponding to the configuration information of the logical number “1” from the real number register 432 by the state management unit 31 and the internal state number “1” from the internal state number register 433. "Is read out. Then, the WE cancel signal issued by the state management unit 431 is stopped, and the processor elements 41 are restarted.
 ここでは、状態管理部431を使用しない制御構造を用いるため、プロセッサエレメント41の演算結果を示すイベント信号は、状態管理部431およびイベント信号レジスタ435を経由せずに状態管理部31へ直接通知される。 Here, since a control structure that does not use the state management unit 431 is used, the event signal indicating the calculation result of the processor element 41 is directly notified to the state management unit 31 without passing through the state management unit 431 and the event signal register 435. The
 状態管理部31は、プロセッサエレメント41からイベント信号を受信すると、状態遷移表にしたがって現在の実番号と受信したイベント信号とに基づき次に遷移する状態の論理番号を決定し、構成番号変換部32から得られた該論理番号に対応する実番号「1」を実番号レジスタ432及び状態管理部31へ送信し、開始内部態番号を内部状態番号レジスタ433に格納する。状態管理部31はここまでの処理を1サイクルで実行する。 When receiving the event signal from the processor element 41, the state management unit 31 determines the logical number of the next transition state based on the current real number and the received event signal according to the state transition table, and the configuration number conversion unit 32 The real number “1” corresponding to the logical number obtained from the above is transmitted to the real number register 432 and the state management unit 31, and the start internal state number is stored in the internal state number register 433. The state management unit 31 executes the processing so far in one cycle.
 図13Cは、以上に示したデータ処理装置による1サイクルの処理経路を示す図である。図13Cでは、補助制御部43の状態管理部431を使用せずに状態管理部31で状態遷移を制御する場合の処理経路を太い矢印で示している。すなわち、図13Cの太い矢印は、内部状態番号レジスタ433を処理の起点とし、現在の構成情報に基づいて各プロセッサエレメント41で構築された回路による演算結果がイベント信号として発行されると、該イベント信号を受信した状態管理部31が次の内部状態を決定し、構成番号変換部32が状態管理部31から通知された論理番号を実番号に変換し、その結果が実番号レジスタ432および内部状態番号レジスタ433に通知するまでの処理経路を示している。 FIG. 13C is a diagram showing a processing path of one cycle by the data processing apparatus described above. In FIG. 13C, the processing path when the state management unit 31 controls the state transition without using the state management unit 431 of the auxiliary control unit 43 is indicated by a thick arrow. That is, the thick arrow in FIG. 13C indicates that the internal state number register 433 is the starting point of processing, and when an operation result by a circuit constructed by each processor element 41 based on the current configuration information is issued as an event signal, The state management unit 31 that has received the signal determines the next internal state, the configuration number conversion unit 32 converts the logical number notified from the state management unit 31 into a real number, and the result is the real number register 432 and the internal state. The processing path until notification to the number register 433 is shown.
 次に、図5に示したオブジェクトコード合成装置による、データ処理装置の処理性能の見積もり方法について図面を用いて説明する。 Next, a method for estimating the processing performance of the data processing apparatus by the object code synthesizing apparatus shown in FIG. 5 will be described with reference to the drawings.
 上述したように、オブジェクトコード合成装置は、合成ツール50によりデータ処理装置上で動作させるアプリケーションのオブジェクトコードを生成する。また、オブジェクトコード合成装置は、性能見積もりツール60により補助制御部43の状態管理部431を使用する場合と使用しない場合のデータ処理装置の処理性能をそれぞれ見積もり、該見積もり結果に基づき補助制御部43の状態管理部431を使用する場合と使用しない場合の処理性能の優劣を判定し、その判定結果に応じて補助制御部43の状態管理部431を使用するか否かを示す制御構成選択情報を合成ツール50で生成したオブジェクトコードに付加する。 As described above, the object code synthesizing apparatus generates an object code of an application to be operated on the data processing apparatus by the synthesizing tool 50. Further, the object code synthesis apparatus estimates the processing performance of the data processing apparatus when the state management unit 431 of the auxiliary control unit 43 is used and when not used by the performance estimation tool 60, and the auxiliary control unit 43 based on the estimation result. Control configuration selection information indicating whether or not to use the state management unit 431 of the auxiliary control unit 43 is determined according to the determination result. It is added to the object code generated by the synthesis tool 50.
 ここで、補助制御部43の状態管理部431を使用する場合と使用しない場合の処理性能の優劣の判定には、データ処理装置の1サイクルあたりの動作時間と、補助制御部43の状態管理部431を使用する場合と使用しない場合に必要なサイクル数とを用いる。 Here, in order to determine the superiority or inferiority of the processing performance when the state management unit 431 of the auxiliary control unit 43 is used or not, the operation time per cycle of the data processing device and the state management unit of the auxiliary control unit 43 are determined. The number of cycles required when using 431 and when not using 431 are used.
 まず、1サイクルあたりの動作時間の算出方法について説明する。 First, how to calculate the operating time per cycle will be described.
 補助制御部43の状態管理部431を使用する場合、基準となる1サイクルの処理時間を、図13Aの太い矢印で示した経路の処理に要する時間とする。この値を用いて状態遷移管理部3で制御する場合に要するサイクル数を決定する。 When using the state management unit 431 of the auxiliary control unit 43, the processing time for one cycle as a reference is set as the time required for processing the route indicated by the thick arrow in FIG. 13A. Using this value, the number of cycles required for control by the state transition management unit 3 is determined.
 具体的には、図13Bに示した、状態遷移管理部3で制御する場合に要する処理時間を、図13Aで示した経路の処理に要する時間で除算し、整数となるように繰り上げた値を算出する。次に、この値から「1」を減算することで、状態遷移管理部3で制御する場合に要するサイクル数であるオーバヘッドサイクル数を算出する。 Specifically, the processing time required for control by the state transition management unit 3 shown in FIG. 13B is divided by the time required for the processing of the route shown in FIG. 13A, and the value raised to an integer is obtained. calculate. Next, by subtracting “1” from this value, the number of overhead cycles, which is the number of cycles required for control by the state transition management unit 3, is calculated.
 一方、補助制御部43の状態管理部431を使用しない場合は、基準となる1サイクルの時間を図13Cの太い矢印で示した経路の処理に要する時間とする。 On the other hand, when the state management unit 431 of the auxiliary control unit 43 is not used, the time for one cycle as a reference is set as the time required for processing the path indicated by the thick arrow in FIG. 13C.
 次に、図5に示した性能見積もりツール60による性能見積もり方法について説明する。 Next, a performance estimation method using the performance estimation tool 60 shown in FIG. 5 will be described.
 上述した動作シミュレーション法によって所要のサイクル数を算出する場合、補助制御部43の状態管理部431を使用しない場合のサイクル数は動作シミュレーションのサイクル数そのものの値となる。 When the required number of cycles is calculated by the operation simulation method described above, the number of cycles when the state management unit 431 of the auxiliary control unit 43 is not used is the value of the number of cycles of the operation simulation itself.
 また、補助制御部43の状態管理部431を使用する場合のサイクル数は、状態遷移管理部3の制御で発生した状態遷移の回数と状態遷移管理部3の制御で状態が遷移する場合のオーバヘッドとの積に、動作シミュレーションのサイクル数を加算することで算出する。 The number of cycles when the state management unit 431 of the auxiliary control unit 43 is used is the overhead when the state transition occurs under the control of the state transition management unit 3 and the number of state transitions generated by the control of the state transition management unit 3. Is calculated by adding the number of cycles of the operation simulation to the product.
 一方、分岐確率計算法によってデータ処理装置の性能を見積もる場合、所要のサイクル数は比で表記する。例えば、補助制御部43の状態管理部431を使用しない場合のサイクル数を「1」とすると、補助制御部43の状態管理部431を使用する場合のサイクル数は、状態遷移管理部3の制御を必要とする状態遷移の発生確率と状態遷移管理部3により状態遷移を制御する場合のオーバヘッドの値との積に、「1」を加算することで算出する。 On the other hand, when the performance of the data processing device is estimated by the branch probability calculation method, the required number of cycles is expressed as a ratio. For example, if the number of cycles when the state management unit 431 of the auxiliary control unit 43 is not used is “1”, the number of cycles when the state management unit 431 of the auxiliary control unit 43 is used is controlled by the state transition management unit 3. Is calculated by adding “1” to the product of the probability of occurrence of a state transition that requires and the overhead value when the state transition management unit 3 controls the state transition.
 最後に、1サイクルあたりの動作時間と所要のサイクル数とを乗算し、アプリケーションに対応したデータ処理装置の処理に要する時間(以下、動作所要時間と称す)を求める。 Finally, the operation time per cycle and the required number of cycles are multiplied to determine the time required for processing of the data processing apparatus corresponding to the application (hereinafter referred to as operation required time).
 性能見積もりツール60は、補助制御部43の状態管理部431を使用する場合と使用しない場合の動作所要時間をそれぞれ算出し、動作所要時間がより短くなる制御構造(補助制御部43の状態管理部431を使用するか否か)を決定し、該決定結果を基本制御構造とする制御構成選択情報を生成する。 The performance estimation tool 60 calculates the required operation time when the state management unit 431 of the auxiliary control unit 43 is used and when not used, and a control structure that shortens the required operation time (the state management unit of the auxiliary control unit 43). Control configuration selection information having the determination result as a basic control structure is generated.
 ここで、構成情報単位で動作所要時間を検討すると、基本制御構造として採用していない制御構造の方がデータ処理装置の性能を向上させられる場合がある。例えば、基本制御構造として補助制御部43の状態管理部431を使用しない制御構造を採用している場合は、ループ処理のように処理が長時間滞留する構成情報がある。また、基本制御構造として補助制御部43の状態管理部431を使用する制御構造を採用している場合は、分岐条件にしたがって分岐処理を繰り返す、複数の状態を次々と遷移する構成情報がある。オブジェクトコードにこのような構成情報が存在する場合、合成ツール50は対応する構成情報の制御構成選択情報を書き換える。 Here, considering the operation required time in units of configuration information, the performance of the data processing apparatus may be improved in a control structure that is not adopted as a basic control structure. For example, when a control structure that does not use the state management unit 431 of the auxiliary control unit 43 is adopted as the basic control structure, there is configuration information in which the process stays for a long time, such as a loop process. Moreover, when the control structure using the state management unit 431 of the auxiliary control unit 43 is adopted as the basic control structure, there is configuration information for repeating a plurality of states one after another, repeating a branch process according to a branch condition. When such configuration information exists in the object code, the synthesis tool 50 rewrites the control configuration selection information of the corresponding configuration information.
 次に、図5に示したオブジェクトコード合成装置による、データ処理装置の処理性能の見積もり方法の具体例について説明する。 Next, a specific example of a method for estimating the processing performance of the data processing apparatus by the object code synthesizing apparatus shown in FIG. 5 will be described.
 ここでは、図13Aに示した処理経路による動作所要時間が10ns、図13Bに示した処理経路による動作所要時間が16ns、図13Cに示した処理経路による動作所要時間が13nsであり、状態遷移管理部3の制御を必要とする状態遷移の発生確率が0.4であるとする。 Here, the required operation time by the processing path shown in FIG. 13A is 10 ns, the required operation time by the processing path shown in FIG. 13B is 16 ns, and the required operation time by the processing path shown in FIG. 13C is 13 ns. Assume that the probability of occurrence of a state transition that requires control of the unit 3 is 0.4.
 上述したように、補助制御部43の制御による状態遷移から状態遷移管理部3の制御による状態遷移へ変わるとき、状態遷移の制御には2サイクルを要するため、オーバヘッドのサイクル数は「1」となる。 As described above, when changing from the state transition controlled by the auxiliary control unit 43 to the state transition controlled by the state transition management unit 3, two cycles are required for the state transition control, so the number of overhead cycles is “1”. Become.
 ここで、補助制御部43を使用しない場合のサイクル数を「1」とすると、補助制御部43を使用する場合のサイクル数は(1+0.4×1)=1.4となる。 Here, if the number of cycles when the auxiliary control unit 43 is not used is “1”, the number of cycles when the auxiliary control unit 43 is used is (1 + 0.4 × 1) = 1.4.
 また、データ処理装置の動作所要時間は、補助制御部43の状態管理部431を使用しない場合は13×1=13nsであり、補助制御部43を使用する場合は10×1.4=14nsとなる。すなわち、動作所要時間は補助制御部43の状態管理部431を使用しない方が短くなる。したがって、性能見積もりツール60は、補助制御部43の状態管理部431の不使用を基本制御構造として採用する。 The operation time required for the data processing apparatus is 13 × 1 = 13 ns when the state management unit 431 of the auxiliary control unit 43 is not used, and 10 × 1.4 = 14 ns when the auxiliary control unit 43 is used. Become. That is, the operation required time is shorter when the state management unit 431 of the auxiliary control unit 43 is not used. Therefore, the performance estimation tool 60 employs the non-use of the state management unit 431 of the auxiliary control unit 43 as a basic control structure.
 次に、性能見積もりツール60は、各構成情報に属する状態群(例えば図9に示した論理番号0のように複数の状態を備える構成情報)を単位に、状態遷移管理部3の制御を必要とする状態遷移の発生確率を計算する。この発生確率が0.3より小さくなる構成情報については、補助制御部43の状態管理部431を使用する制御構造を採用する。 Next, the performance estimation tool 60 needs to control the state transition management unit 3 for each state group belonging to each piece of configuration information (for example, configuration information having a plurality of states such as logical number 0 shown in FIG. 9). The occurrence probability of state transition is calculated. For the configuration information whose occurrence probability is smaller than 0.3, a control structure using the state management unit 431 of the auxiliary control unit 43 is adopted.
 本実施例によれば、性能見積もりツール60により補助制御部43の状態管理部431を使用する場合と使用しない場合の処理性能を見積もり、構成情報毎に最適な制御構造を決定し、該決定結果を示す制御構成選択情報を構成情報毎に付加すると共に、補助制御部43の状態管理部431を使用する制御構造と使用しない制御構造における動作周波数を指定する動作周波数情報をオブジェクトコードに付加する。そのため、本実施例のデータ処理装置は、クロックを制御構造に応じて選択できる。したがって、データ処理装置の処理に要する時間を低減できる。 According to the present embodiment, the performance estimation tool 60 estimates the processing performance when the state management unit 431 of the auxiliary control unit 43 is used and when it is not used, determines the optimal control structure for each configuration information, and the determination result Is added to each object information, and operation frequency information for specifying an operation frequency in the control structure using the state management unit 431 of the auxiliary control unit 43 and the control structure not in use is added to the object code. Therefore, the data processing apparatus of this embodiment can select the clock according to the control structure. Therefore, the time required for the processing of the data processing device can be reduced.
(第3実施例)
 第3実施例は上記背景技術で示した先願発明(特願2006-103987号)のデータ処理装置に上述した第3の実施の形態を適用する例である。
(Third embodiment)
The third embodiment is an example in which the above-described third embodiment is applied to the data processing apparatus of the prior invention (Japanese Patent Application No. 2006-103987) shown in the background art.
 図14は第3実施例のデータ処理装置の構成を示すブロック図である。 FIG. 14 is a block diagram showing the configuration of the data processing apparatus of the third embodiment.
 第3実施例のデータ処理装置は、図12に示した2つのクロック生成器51及び52に代えて可変クロック生成器7を備える点で第2実施例と異なっている。 The data processing apparatus of the third embodiment is different from the second embodiment in that a variable clock generator 7 is provided instead of the two clock generators 51 and 52 shown in FIG.
 図14に示すように、第3実施例のデータ処理装置(DRP)は、図6に示した制御部1となる状態遷移管理部(STC)3と、図6に示した演算部2となる、補助制御部(MSTC)43及び複数のプロセッサエレメント(PE)41を備えた演算部4と、可変クロック生成器7と、外部メモリ6とを有する構成である。状態遷移管理部(STC)3、演算部4及び外部メモリ6には、可変クロック生成器7で生成されたクロックが供給される。 As shown in FIG. 14, the data processing apparatus (DRP) of the third embodiment is a state transition management unit (STC) 3 that is the control unit 1 shown in FIG. 6 and an arithmetic unit 2 shown in FIG. The operation unit 4 includes an auxiliary control unit (MSTC) 43 and a plurality of processor elements (PE) 41, a variable clock generator 7, and an external memory 6. A clock generated by the variable clock generator 7 is supplied to the state transition management unit (STC) 3, the arithmetic unit 4, and the external memory 6.
 状態遷移管理部(STC)3は、状態管理部31、構成番号変換部32、構成書換部33及び構成指定表36を備えている。 The state transition management unit (STC) 3 includes a state management unit 31, a configuration number conversion unit 32, a configuration rewriting unit 33, and a configuration designation table 36.
 状態管理部31は図6に示した状態管理部11に相当し、構成番号変換部32は図6に示した構成番号変換部12に相当し、構成書換部33は図6に示した構成書換部15に相当する。構成指定表36は、補助制御部(MSTC)43が備える、図6に示した状態管理部231に相当する状態管理部431を使用するか否かを指定する情報である制御構成選択情報を保持する。 The state management unit 31 corresponds to the state management unit 11 shown in FIG. 6, the configuration number conversion unit 32 corresponds to the configuration number conversion unit 12 shown in FIG. 6, and the configuration rewriting unit 33 sets the configuration rewriting unit shown in FIG. It corresponds to the part 15. The configuration designation table 36 holds control configuration selection information that is information that designates whether or not to use the state management unit 431 corresponding to the state management unit 231 illustrated in FIG. 6 provided in the auxiliary control unit (MSTC) 43. To do.
 プロセッサエレメント(PE)41は、レジスタファイル(RFU)、ALU、データ処理演算器(DMU)、スイッチ(SW)及び構成情報メモリを備え、スイッチ(SW)及び該スイッチに接続された配線を介して相互に接続される。 The processor element (PE) 41 includes a register file (RFU), an ALU, a data processing arithmetic unit (DMU), a switch (SW), and a configuration information memory, and via the switch (SW) and wiring connected to the switch. Connected to each other.
 図14に示すデータ処理装置では、演算部4が備える複数のプロセッサエレメント41が図6に示した演算器21となる。なお、演算器は、プロセッサエレメント41に限らず、例えばロジックアレイで実現してもよい。 In the data processing apparatus shown in FIG. 14, the plurality of processor elements 41 included in the calculation unit 4 are the calculator 21 shown in FIG. 6. Note that the arithmetic unit is not limited to the processor element 41 and may be realized by a logic array, for example.
 補助制御部(MSTC)43は、図6に示した状態管理部231に相当する状態管理部431を備え、状態管理部431は、複数の内部状態の遷移を含む論理番号(上記グループ)内の状態遷移を管理する。 The auxiliary control unit (MSTC) 43 includes a state management unit 431 corresponding to the state management unit 231 illustrated in FIG. 6, and the state management unit 431 includes a logical number (the above group) including a plurality of internal state transitions. Manage state transitions.
 また、補助制御部(MSTC)43は、現在の構成情報の実番号を保持する実番号レジスタ432と、内部状態番号を保持する内部状態番号レジスタ433と、状態管理部431を使用するか否かを指定する情報である制御構成選択情報を保持する構成指定レジスタ434と、状態管理部431で制御できない大規模な状態遷移を指定するイベント信号を保持するイベント信号レジスタ435とを備えている。 Further, the auxiliary control unit (MSTC) 43 uses the real number register 432 that holds the real number of the current configuration information, the internal state number register 433 that holds the internal state number, and the state management unit 431. A configuration designation register 434 that holds control configuration selection information, which is information for designating, and an event signal register 435 that holds an event signal that designates a large-scale state transition that cannot be controlled by the state management unit 431.
 イベント信号レジスタ435には、状態管理部431で制御できない大規模な状態遷移を指定するイベント信号が、状態管理部31に送出する前に一時的に保持される。 In the event signal register 435, an event signal designating a large-scale state transition that cannot be controlled by the state management unit 431 is temporarily held before being sent to the state management unit 31.
 補助制御部43は、構成指定レジスタ434に格納された値にしたがって、状態管理部431を使用するか否かの選択時に用いる各種セレクタの動作を決定する。 The auxiliary control unit 43 determines the operation of various selectors used when selecting whether or not to use the state management unit 431 according to the value stored in the configuration designation register 434.
 状態遷移管理部(STC)3は、使用する構成情報の実番号に対応する構成指定表36のメモリ領域に格納された値を読み出し、該読み出した値に基づいて、状態管理部431を使用するか否かの選択に用いる各種セレクタの動作を決定する。このとき状態遷移管理部(STC)3は、構成指定表36から読み出した値を構成指定レジスタ434に格納する。 The state transition management unit (STC) 3 reads the value stored in the memory area of the configuration designation table 36 corresponding to the real number of the configuration information to be used, and uses the state management unit 431 based on the read value. The operation of various selectors used for selecting whether or not is determined. At this time, the state transition management unit (STC) 3 stores the value read from the configuration designation table 36 in the configuration designation register 434.
 可変クロック生成器7は、所要の周波数のクロックを生成し、状態遷移管理部(STC)3および演算部4に供給する。また、可変クロック生成器7は、生成するクロックの周波数を構成指定表36から読み出された値(動作周波数情報)にしたがって変更可能である。 The variable clock generator 7 generates a clock having a required frequency and supplies it to the state transition management unit (STC) 3 and the calculation unit 4. The variable clock generator 7 can change the frequency of the clock to be generated according to the value (operation frequency information) read from the configuration designation table 36.
 状態遷移管理部(STC)3は、構成指定表36に格納された値にしたがって構成番号変換部32にプロセッサエレメント41群の停止信号を送出させるか否か、状態管理部31から送出された内部状態番号を内部状態番号レジスタ433に常に書き込む、あるいは内部状態番号レジスタ433に対する内部状態番号の書き込みを、構成番号変換部32から実番号レジスタ432へ実番号を書き込むときに同期して実行させるかを選択する。 The state transition management unit (STC) 3 determines whether or not to cause the configuration number conversion unit 32 to send a stop signal for the processor element 41 group according to the value stored in the configuration designation table 36, and whether the internal state sent from the state management unit 31 Whether the state number is always written to the internal state number register 433 or whether the internal state number is written to the internal state number register 433 synchronously when the real number is written from the configuration number conversion unit 32 to the real number register 432 select.
 次に本実施例のデータ処理装置の動作について説明する。 Next, the operation of the data processing apparatus of this embodiment will be described.
 なお、論理番号「0」の構成情報は実番号「0」の構成情報メモリに書き込まれ、論理番号「1」の構成情報は実番号「1」の構成情報メモリに書き込まれているものとする。また、論理番号0の構成情報には状態管理部431の使用を指示する制御構成選択情報が付加され、論理番号1の構成情報には状態管理部431の不使用を指示する制御構成選択情報が付加されているものとする。 The configuration information with logical number “0” is written in the configuration information memory with real number “0”, and the configuration information with logical number “1” is written in the configuration information memory with real number “1”. . Further, control configuration selection information for instructing use of the state management unit 431 is added to the configuration information of logical number 0, and control configuration selection information for instructing non-use of the state management unit 431 is added to configuration information of logical number 1. It shall be added.
 まず、補助制御部43の状態管理部431を使用する場合のデータ処理装置の動作について説明する。ここでは、第1実施例と同様に、図9に示す状態遷移表にしたがって状態を遷移させるものとし、論理番号「0」の構成情報に含まれる内部状態番号「1」(状態0-1)から処理を開始する例を示す。 First, the operation of the data processing apparatus when using the state management unit 431 of the auxiliary control unit 43 will be described. Here, as in the first embodiment, the state is changed according to the state transition table shown in FIG. 9, and the internal state number “1” (state 0-1) included in the configuration information of the logical number “0” is assumed. An example of starting the process from is shown.
 状態遷移管理部(STC)3は、最初に論理番号「0」の構成情報に付加された動作周波数情報を構成指定表36から読み出し、該動作周波数情報にしたがって可変クロック生成器7で生成するクロックの周波数を設定する。 The state transition management unit (STC) 3 first reads the operating frequency information added to the configuration information of the logical number “0” from the configuration designation table 36, and generates the clock generated by the variable clock generator 7 according to the operating frequency information. Set the frequency.
 データ処理装置は、1サイクル目の処理において、まず補助制御部43により、実番号レジスタ432から論理番号「0」の構成情報に対応する実番号を読み出し、内部状態番号レジスタ433から内部状態番号「1」を読み出す。 In the processing of the first cycle, the data processing apparatus first reads out the real number corresponding to the configuration information of the logical number “0” from the real number register 432 by the auxiliary control unit 43 and the internal state number “433” from the internal state number register 433. 1 ”is read out.
 補助制御部43は、実番号レジスタ432から読み出した実番号および内部状態番号「1」を用いて構成情報メモリから構成情報を読み出し、演算部4の各プロセッサエレメント41に通知する。各プロセッサエレメント41は補助制御部43から通知された構成情報にしたがって、その動作及びスイッチの接続関係を決定する。その結果、各プロセッサエレメント41で所要の演算が実行される。 The auxiliary control unit 43 reads the configuration information from the configuration information memory using the real number read from the real number register 432 and the internal state number “1”, and notifies each processor element 41 of the calculation unit 4. Each processor element 41 determines its operation and switch connection relationship according to the configuration information notified from the auxiliary control unit 43. As a result, each processor element 41 executes a required calculation.
 状態管理部431は、プロセッサエレメント41から演算結果がイベント信号として通知されると、状態遷移表に基づいて、該イベント信号に対応する次の状態遷移の制御に移行する。ここでは、次の状態への遷移が状態管理部431で制御可能であるため、状態管理部431は次の内部状態番号「2」を内部状態番号レジスタ433へ書き込む。この段階で1サイクル目の処理が終了する。 When the calculation result is notified as an event signal from the processor element 41, the state management unit 431 proceeds to control of the next state transition corresponding to the event signal based on the state transition table. Here, since the transition to the next state can be controlled by the state management unit 431, the state management unit 431 writes the next internal state number “2” in the internal state number register 433. At this stage, the first cycle process is completed.
 図15Aは、以上に示したデータ処理装置による1サイクルの処理経路を示す図である。図15Aでは、状態管理部431で状態遷移を制御する場合の処理経路を太い矢印で示している。すなわち、図15Aの太い矢印は、内部状態番号レジスタ433を処理の起点とし、現在の構成情報に基づいて各プロセッサエレメント41で構築された回路による演算結果がイベント信号として発行されると、該イベント信号を受信した状態管理部431が次の内部状態を決定し、該内部状態を示す内部状態番号が内部状態番号レジスタ433に書き込まれるまでの処理経路を示している。 FIG. 15A is a diagram showing a processing path of one cycle by the data processing apparatus described above. In FIG. 15A, the processing path when the state management unit 431 controls the state transition is indicated by a thick arrow. That is, the thick arrow in FIG. 15A starts from the internal state number register 433, and when an operation result by a circuit constructed by each processor element 41 based on the current configuration information is issued as an event signal, The state management unit 431 that has received the signal determines the next internal state, and shows the processing path until the internal state number indicating the internal state is written in the internal state number register 433.
 データ処理装置は、2サイクル目の処理において、補助制御部43により、実番号レジスタ432から論理番号「0」の構成情報に対応する実番号を読み出し、内部状態番号レジスタ433から内部状態番号「2」を読み出す。 In the processing of the second cycle, the data processing apparatus reads the real number corresponding to the configuration information of the logical number “0” from the real number register 432 by the auxiliary control unit 43 and the internal state number “2” from the internal state number register 433. "Is read out.
 補助制御部43は、実番号レジスタ432から読み出した実番号および内部状態番号「2」を用いて構成情報メモリから構成情報を読み出し、演算部4の各プロセッサエレメント41に通知する。各プロセッサエレメント41は補助制御部43から通知された構成情報にしたがって、その動作及びスイッチの接続関係を決定する。その結果、各プロセッサエレメント41で所要の演算が実行される。 The auxiliary control unit 43 reads the configuration information from the configuration information memory using the real number read from the real number register 432 and the internal state number “2”, and notifies each processor element 41 of the calculation unit 4. Each processor element 41 determines its operation and switch connection relationship according to the configuration information notified from the auxiliary control unit 43. As a result, each processor element 41 executes a required calculation.
 状態管理部431は、プロセッサエレメント41から演算結果がイベント信号として通知されると、状態遷移表に基づいて、該イベント信号に対応する次の状態遷移の制御に移行する。ここでは、次の状態への遷移が、論理番号が変わるために状態管理部431で制御できない。そのため、状態管理部431は、プロセッサエレメント41群に動作を停止させるためのWEキャンセル信号を発行する。プロセッサエレメント41は、WEキャンセル信号を受信すると、レジスタの内容更新を受け付けなくなる。また、プロセッサエレメント41は、WEキャンセル信号を受信すると、外部ポートからのデータ入力動作も停止する。 When the calculation result is notified as an event signal from the processor element 41, the state management unit 431 proceeds to control of the next state transition corresponding to the event signal based on the state transition table. Here, the transition to the next state cannot be controlled by the state management unit 431 because the logical number changes. Therefore, the state management unit 431 issues a WE cancel signal for stopping the operation of the processor elements 41 group. When the processor element 41 receives the WE cancel signal, it does not accept the update of the register contents. Further, when the processor element 41 receives the WE cancel signal, the data input operation from the external port is also stopped.
 補助制御部43は、WEキャンセル信号を発行すると同時にイベント信号レジスタ435にイベント信号を格納する。この段階で2サイクル目の処理が終了する。 The auxiliary control unit 43 issues a WE cancel signal and stores the event signal in the event signal register 435 at the same time. At this stage, the process in the second cycle is completed.
 データ処理装置は、3サイクル目の処理において、状態管理部31によりイベント信号レジスタ435に格納されたイベント信号を読み出し、構成番号変換部32から通知された実番号「0」及びイベント信号に基づき、状態遷移表にしたがって次に遷移する状態の論理番号「1」を決定し、該論理番号「1」を構成番号変換部32へ通知する。また、状態管理部31は、構成番号変換部32から通知された実番号「0」及び受信したイベント信号に基づき、次に遷移する状態で開始する内部状態番号(開始内部状態番号)「1」を決定する。 In the processing of the third cycle, the data processing device reads the event signal stored in the event signal register 435 by the state management unit 31, and based on the real number “0” and the event signal notified from the configuration number conversion unit 32, The logical number “1” of the next transition state is determined according to the state transition table, and the logical number “1” is notified to the configuration number conversion unit 32. Further, the state management unit 31 is based on the real number “0” notified from the configuration number conversion unit 32 and the received event signal, and the internal state number (starting internal state number) “1” starting in the next transition state. To decide.
 構成番号変換部32は、状態管理部31から論理番号「1」が通知されると、変換表を用いて該論理番号「1」を実番号に変換する。ここでは、論理番号「1」の構成情報が構成情報メモリで保持されているため、構成番号変換部32は論理番号から実番号への変換に成功する。構成番号変換部32は、得られた実番号「1」を実番号レジスタ432及び状態管理部31へ格納する。また、このとき、構成番号変換部32は、開始内部状態番号を内部状態番号レジスタ433に送信する。 When the logical number “1” is notified from the state management unit 31, the configuration number converting unit 32 converts the logical number “1” into a real number using the conversion table. Here, since the configuration information of the logical number “1” is held in the configuration information memory, the configuration number conversion unit 32 succeeds in conversion from the logical number to the real number. The configuration number conversion unit 32 stores the obtained real number “1” in the real number register 432 and the state management unit 31. At this time, the configuration number conversion unit 32 transmits the start internal state number to the internal state number register 433.
 状態遷移管理部(STC)3は、実番号「1」に対応する構成情報に付加された動作周波数情報を構成指定表36から読み出し、論理番号「1」の構成情報では状態管理部431を使用しない制御構造を用いることを検知し、読み出した動作周波数情報にしたがって可変クロック生成器7で生成するクロックの周波数を変更する。この場合、状態遷移管理部(STC)3及び演算部4は、次のサイクルから変更後のクロックを用いて動作する。また、状態管理部31は、状態管理部431を使用しない制御構造を指示する情報を構成指定レジスタ434に書き込む。なお、状態遷移管理部(STC)3が制御構成選択情報に基づいてクロックを選択するまで、状態遷移管理部(STC)3及び演算部4は、状態遷移管理部(STC)3の処理能力に応じた、予め設定された周波数のクロックで動作しているものとする。 The state transition management unit (STC) 3 reads the operating frequency information added to the configuration information corresponding to the real number “1” from the configuration designation table 36 and uses the state management unit 431 for the configuration information of the logical number “1”. It is detected that the control structure is not used, and the frequency of the clock generated by the variable clock generator 7 is changed according to the read operation frequency information. In this case, the state transition management unit (STC) 3 and the calculation unit 4 operate using the clock after the change from the next cycle. In addition, the state management unit 31 writes information indicating a control structure that does not use the state management unit 431 in the configuration designation register 434. Until the state transition management unit (STC) 3 selects a clock based on the control configuration selection information, the state transition management unit (STC) 3 and the calculation unit 4 have the processing capability of the state transition management unit (STC) 3. It is assumed that it is operating with a clock having a preset frequency.
 図15Bは、以上に示したデータ処理装置による2つのサイクルの処理経路を示している。図15Bでは、状態管理部431が2サイクル目で状態遷移を制御するときの処理経路と、状態管理部31が3サイクル目で状態遷移を制御するときの処理経路とを太い矢印で示している。すなわち、図15Bに示す太い矢印は、内部状態番号レジスタ433を処理の起点とし、現在の構成情報に基づいて各プロセッサエレメント41で構築された回路による演算結果がイベント信号として発行されると、該イベント信号を受信した状態管理部431が次の内部状態の決定を試み、次の内部状態を決定できない状態管理部431が受信したイベント信号をイベント信号レジスタ435に格納する第1の処理経路と、イベント信号レジスタ435を介して状態管理部31にイベント信号が発行されると、状態管理部31が次の状態の論理番号及び内部状態番号を決定し、該論理番号が構成番号変換部32で実番号に変換され、その変換結果が実番号レジスタ432および内部状態番号レジスタ433に通知されるまでの第2の処理経路とを示している。 FIG. 15B shows two cycles of processing paths by the data processing apparatus described above. In FIG. 15B, the processing path when the state management unit 431 controls the state transition in the second cycle and the processing path when the state management unit 31 controls the state transition in the third cycle are indicated by thick arrows. . That is, the thick arrow shown in FIG. 15B starts when the internal state number register 433 is the starting point of processing, and when a calculation result by a circuit constructed by each processor element 41 based on the current configuration information is issued as an event signal, The state management unit 431 that has received the event signal tries to determine the next internal state, and the state management unit 431 that cannot determine the next internal state stores the event signal received in the event signal register 435; When an event signal is issued to the state management unit 31 via the event signal register 435, the state management unit 31 determines the logical number and internal state number of the next state, and the logical number is executed by the configuration number conversion unit 32. The second process is performed until the conversion result is notified to the real number register 432 and the internal state number register 433. It is shown the door.
 データ処理装置は、4サイクル目の処理において、状態管理部31により、実番号レジスタ432から論理番号「1」の構成情報に対応する実番号を読み出し、内部状態番号レジスタ433から内部状態番号「1」を読み出す。そして、状態管理部431で発行されたWEキャンセル信号を停止し、プロセッサエレメント41群に動作を再開させる。 In the processing of the fourth cycle, the data processing apparatus reads the real number corresponding to the configuration information of the logical number “1” from the real number register 432 by the state management unit 31 and the internal state number “1” from the internal state number register 433. "Is read out. Then, the WE cancel signal issued by the state management unit 431 is stopped, and the processor elements 41 are restarted.
 ここでは、状態管理部431を使用しないため、プロセッサエレメント41の演算結果を示すイベント信号は、状態管理部431およびイベント信号レジスタ435を経由せずに状態管理部31へ直接通知される。 Here, since the state management unit 431 is not used, the event signal indicating the calculation result of the processor element 41 is directly notified to the state management unit 31 without passing through the state management unit 431 and the event signal register 435.
 状態管理部31は、プロセッサエレメント41からイベント信号を受信すると、状態遷移表にしたがって現在の実番号と受信したイベント信号とに基づき次に遷移する状態の論理番号を決定し、構成番号変換部32から得られた該論理番号に対応する実番号「1」を実番号レジスタ432及び状態管理部31へ送信し、開始内部態番号を内部状態番号レジスタ433に格納する。状態管理部31はここまでの処理を1サイクルで実行する。 When receiving the event signal from the processor element 41, the state management unit 31 determines the logical number of the next transition state based on the current real number and the received event signal according to the state transition table, and the configuration number conversion unit 32 The real number “1” corresponding to the logical number obtained from the above is transmitted to the real number register 432 and the state management unit 31, and the start internal state number is stored in the internal state number register 433. The state management unit 31 executes the processing so far in one cycle.
 図15Cは、以上に示したデータ処理装置による1サイクルの処理経路を示す図である。図15Cでは、補助制御部43の状態管理部431を使用せずに状態管理部31で状態遷移を制御する場合の処理経路を太い矢印で示している。すなわち、図15Cの太い矢印は、内部状態番号レジスタ433を処理の起点とし、現在の構成情報に基づいて各プロセッサエレメント41で構築された回路による演算結果がイベント信号として発行されると、該イベント信号を受信した状態管理部31が次の内部状態を決定し、構成番号変換部32が状態管理部31から通知された論理番号を実番号に変換し、その結果が実番号レジスタ432および内部状態番号レジスタ433に通知されるまでの処理経路を示している。 FIG. 15C is a diagram showing a processing path of one cycle by the data processing apparatus described above. In FIG. 15C, the processing path when the state management unit 31 controls the state transition without using the state management unit 431 of the auxiliary control unit 43 is indicated by a thick arrow. That is, the thick arrow in FIG. 15C starts from the internal state number register 433, and when an operation result by a circuit constructed by each processor element 41 based on the current configuration information is issued as an event signal, The state management unit 31 that has received the signal determines the next internal state, the configuration number conversion unit 32 converts the logical number notified from the state management unit 31 into a real number, and the result is the real number register 432 and the internal state. A processing path until notification to the number register 433 is shown.
 次に、図7に示したオブジェクトコード合成装置による、データ処理装置の処理性能の見積もり方法について図面を用いて説明する。 Next, a method for estimating the processing performance of the data processing apparatus by the object code synthesizing apparatus shown in FIG. 7 will be described with reference to the drawings.
 上述したように、オブジェクトコード合成装置は、合成ツール50によりデータ処理装置上で動作させるアプリケーションのオブジェクトコードを生成する。また、オブジェクトコード合成装置は、性能見積もりツール60により補助制御部43の状態管理部431を使用する場合と使用しない場合のデータ処理装置の処理性能をそれぞれ見積もり、該見積もり結果に基づき補助制御部43の状態管理部431を使用する場合と使用しない場合の処理性能の優劣を判定する。そして、その判定結果に応じて補助制御部43の状態管理部431を使用するか否かを示す制御構成選択情報を合成ツール50で生成した構成情報に付加する。 As described above, the object code synthesizing apparatus generates an object code of an application to be operated on the data processing apparatus by the synthesizing tool 50. Further, the object code synthesis device estimates the processing performance of the data processing device when the state management unit 431 of the auxiliary control unit 43 is used and when not used by the performance estimation tool 60, and the auxiliary control unit 43 based on the estimation result. Whether the state management unit 431 is used or not is determined as to whether the processing performance is superior or inferior. Then, control configuration selection information indicating whether or not to use the state management unit 431 of the auxiliary control unit 43 is added to the configuration information generated by the synthesis tool 50 according to the determination result.
 ここで、補助制御部43の状態管理部431を使用する場合と使用しない場合の処理性能の優劣の判定には、データ処理装置の1サイクルあたりの動作時間と、補助制御部43の状態管理部431を使用する場合と使用しない場合に必要なサイクル数とを用いる。 Here, in order to determine the superiority or inferiority of the processing performance when the state management unit 431 of the auxiliary control unit 43 is used or not, the operation time per cycle of the data processing device and the state management unit of the auxiliary control unit 43 are determined. The number of cycles required when using 431 and when not using 431 are used.
 まず、1サイクルあたりの動作時間の算出方法について説明する。 First, how to calculate the operating time per cycle will be described.
 補助制御部43の状態管理部431を使用する場合、基準となる1サイクルの処理時間を、図15Aの太い矢印で示した経路の処理に要する時間とする。この値を用いて状態遷移管理部3で制御する場合に要するサイクル数を決定する。 When using the state management unit 431 of the auxiliary control unit 43, the processing time of one cycle as a reference is set as the time required for processing the route indicated by the thick arrow in FIG. 15A. Using this value, the number of cycles required for control by the state transition management unit 3 is determined.
 具体的には、図15Bに示した、状態遷移管理部3で制御する場合に要する処理時間を、図15Aで示した経路の処理に要する時間で除算し、整数となるように繰り上げた値を算出する。次に、この値から「1」を減算することで、状態遷移管理部3で制御する場合に要するサイクル数であるオーバヘッドサイクル数を算出する。 Specifically, the processing time required for control by the state transition management unit 3 shown in FIG. 15B is divided by the time required for the processing of the route shown in FIG. 15A, and the value raised to an integer is obtained. calculate. Next, by subtracting “1” from this value, the number of overhead cycles, which is the number of cycles required for control by the state transition management unit 3, is calculated.
 一方、補助制御部43の状態管理部431を使用しない場合は、基準となる1サイクルの時間を図15Cの太い矢印で示した経路の処理に要する時間とする。 On the other hand, when the state management unit 431 of the auxiliary control unit 43 is not used, the time of one cycle as a reference is set as the time required for processing the path indicated by the thick arrow in FIG. 15C.
 次に、図7に示した性能見積もりツール60による性能見積もり方法について説明する。 Next, a performance estimation method using the performance estimation tool 60 shown in FIG. 7 will be described.
 上述した動作シミュレーション法によって所要のサイクル数を算出する場合、補助制御部43の状態管理部431を使用しない場合のサイクル数は動作シミュレーションのサイクル数そのものの値となる。 When the required number of cycles is calculated by the operation simulation method described above, the number of cycles when the state management unit 431 of the auxiliary control unit 43 is not used is the value of the number of cycles of the operation simulation itself.
 また、補助制御部43の状態管理部431を使用する場合のサイクル数は、状態遷移管理部3の制御で発生した状態遷移の回数と状態遷移管理部3の制御で状態が遷移する場合のオーバヘッドとの積に、動作シミュレーションのサイクル数を加算することで算出する。 The number of cycles when the state management unit 431 of the auxiliary control unit 43 is used is the overhead when the state transition occurs under the control of the state transition management unit 3 and the number of state transitions generated by the control of the state transition management unit 3. Is calculated by adding the number of cycles of the operation simulation to the product.
 一方、分岐確率計算法によってデータ処理装置の性能を見積もる場合、所要のサイクル数は比で表記する。例えば、補助制御部43の状態管理部431を使用しない場合のサイクル数を「1」とすると、補助制御部43の状態管理部431を使用する場合のサイクル数は、状態遷移管理部3の制御を必要とする状態遷移の発生確率と状態遷移管理部3により状態遷移を制御する場合のオーバヘッドの値との積に、「1」を加算することで算出する。 On the other hand, when the performance of the data processing device is estimated by the branch probability calculation method, the required number of cycles is expressed as a ratio. For example, if the number of cycles when the state management unit 431 of the auxiliary control unit 43 is not used is “1”, the number of cycles when the state management unit 431 of the auxiliary control unit 43 is used is controlled by the state transition management unit 3. Is calculated by adding “1” to the product of the probability of occurrence of a state transition that requires and the overhead value when the state transition management unit 3 controls the state transition.
 最後に、1サイクルあたりの動作時間と所要のサイクル数とを乗算し、アプリケーションに対応したデータ処理装置の処理に要する時間(以下、動作所要時間と称す)を求める。 Finally, the operation time per cycle and the required number of cycles are multiplied to determine the time required for processing of the data processing apparatus corresponding to the application (hereinafter referred to as operation required time).
 性能見積もりツール60は、補助制御部43の状態管理部431を使用する場合と使用しない場合の動作所要時間をそれぞれ算出し、動作所要時間がより短くなる制御構造(補助制御部43の状態管理部431を使用するか否か)を決定し、該決定結果を基本制御構造とする制御構成選択情報を生成する。 The performance estimation tool 60 calculates the required operation time when the state management unit 431 of the auxiliary control unit 43 is used and when not used, and a control structure that shortens the required operation time (the state management unit of the auxiliary control unit 43). Control configuration selection information having the determination result as a basic control structure is generated.
 ここで、構成情報単位で動作所要時間を検討すると、基本制御構造として採用していない制御構造の方がデータ処理装置の性能を向上させられる場合がある。例えば、基本制御構造として補助制御部43の状態管理部431を使用しない制御構造を採用している場合は、ループ処理のように処理が長時間滞留する構成情報がある。また、基本制御構造として補助制御部43の状態管理部431を使用する制御構造を採用している場合は、分岐条件にしたがって分岐処理を繰り返す、複数の状態を次々と遷移する構成情報がある。オブジェクトコードにこのような構成情報が存在する場合、合成ツール50は対応する構成情報の制御構成選択情報を書き換える。 Here, considering the operation required time in units of configuration information, the performance of the data processing apparatus may be improved in a control structure that is not adopted as a basic control structure. For example, when a control structure that does not use the state management unit 431 of the auxiliary control unit 43 is adopted as the basic control structure, there is configuration information in which the process stays for a long time, such as a loop process. Moreover, when the control structure using the state management unit 431 of the auxiliary control unit 43 is adopted as the basic control structure, there is configuration information for repeating a plurality of states one after another, repeating a branch process according to a branch condition. When such configuration information exists in the object code, the synthesis tool 50 rewrites the control configuration selection information of the corresponding configuration information.
 次に、図7に示したオブジェクトコード合成装置による、データ処理装置の処理性能の見積もり方法の具体例について説明する。 Next, a specific example of a method for estimating the processing performance of the data processing apparatus by the object code synthesizing apparatus shown in FIG. 7 will be described.
 ここでは、図15Aに示した処理経路による動作所要時間が10ns、図15Bに示した処理経路による動作所要時間が16ns、図15Cに示した処理経路による動作所要時間が13nsであり、状態遷移管理部3の制御を必要とする状態遷移の発生確率が0.4であるとする。 Here, the required operation time by the processing path shown in FIG. 15A is 10 ns, the required operation time by the processing path shown in FIG. 15B is 16 ns, and the required operation time by the processing path shown in FIG. 15C is 13 ns. Assume that the probability of occurrence of a state transition that requires control of the unit 3 is 0.4.
 上述したように、補助制御部43の制御による状態遷移から状態遷移管理部3の制御による状態遷移へ変わるとき、状態遷移の制御には2サイクルを要するため、オーバヘッドのサイクル数は「1」となる。 As described above, when changing from the state transition controlled by the auxiliary control unit 43 to the state transition controlled by the state transition management unit 3, two cycles are required for the state transition control, so the number of overhead cycles is “1”. Become.
 ここで、補助制御部43を使用しない場合のサイクル数を「1」とすると、補助制御部43を使用する場合のサイクル数は(1+0.4×1)=1.4となる。 Here, if the number of cycles when the auxiliary control unit 43 is not used is “1”, the number of cycles when the auxiliary control unit 43 is used is (1 + 0.4 × 1) = 1.4.
 また、データ処理装置の動作所要時間は、補助制御部43の状態管理部431を使用しない場合は13×1=13nsであり、補助制御部43を使用する場合は10×1.4=14nsとなる。すなわち、動作所要時間は補助制御部43の状態管理部431を使用しない方が短くなる。したがって、性能見積もりツール60は、補助制御部43の状態管理部431の不使用を基本制御構造とする。 The operation time required for the data processing apparatus is 13 × 1 = 13 ns when the state management unit 431 of the auxiliary control unit 43 is not used, and 10 × 1.4 = 14 ns when the auxiliary control unit 43 is used. Become. That is, the operation required time is shorter when the state management unit 431 of the auxiliary control unit 43 is not used. Therefore, the performance estimation tool 60 uses the non-use of the state management unit 431 of the auxiliary control unit 43 as a basic control structure.
 次に、性能見積もりツール60は、各構成情報に属する状態群(例えば図9に示した論理番号0のように複数の状態を備える構成情報)を単位に、状態遷移管理部3の制御を必要とする状態遷移の発生確率を計算する。この発生確率が0.3より小さくなる構成情報については、補助制御部43の状態管理部431を使用する制御構造を採用する。 Next, the performance estimation tool 60 needs to control the state transition management unit 3 for each state group belonging to each piece of configuration information (for example, configuration information having a plurality of states such as logical number 0 shown in FIG. 9). The occurrence probability of state transition is calculated. For the configuration information whose occurrence probability is smaller than 0.3, a control structure using the state management unit 431 of the auxiliary control unit 43 is adopted.
 さらに、性能見積もりツール60は、構成情報毎に動作周波数情報を付加する。上述したように、構成情報にしたがって演算部2内に構築される仮想的な回路の経路長(演算パス)は構成情報毎に異なるため、その遅延量は均一になるとは限らない。そのため、制御構成選択情報が同一の構成情報であっても動作周波数が異なることがある。 Furthermore, the performance estimation tool 60 adds operating frequency information for each configuration information. As described above, since the path length (calculation path) of the virtual circuit constructed in the calculation unit 2 according to the configuration information differs for each configuration information, the delay amount is not always uniform. Therefore, even if the control configuration selection information is the same configuration information, the operating frequency may be different.
 本実施例によれば、性能見積もりツール60により補助制御部43の状態管理部431を使用する場合と使用しない場合の処理性能を事前に見積もり、構成情報毎に最適な制御構造を示す制御構成選択情報を付加すると共に、その遅延量に応じた動作周波数を示す動作周波数情報を付加し、データ処理装置は、それらの情報にしたがって、制御情報毎に制御構造および動作周波数を選択して動作できる。したがって、第2実施例のデータ処理装置と比べて、より最適な動作周波数で演算処理を実行できるため、データ処理装置の処理に要する時間をより低減できる。 According to this embodiment, the performance estimation tool 60 estimates in advance the processing performance when the state management unit 431 of the auxiliary control unit 43 is used and when it is not used, and selects the control configuration indicating the optimal control structure for each configuration information In addition to adding information, operating frequency information indicating an operating frequency corresponding to the delay amount is added, and the data processing apparatus can operate by selecting a control structure and an operating frequency for each piece of control information according to the information. Therefore, as compared with the data processing device of the second embodiment, the arithmetic processing can be executed at a more optimal operating frequency, so that the time required for the processing of the data processing device can be further reduced.
 以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されものではない。本願発明の構成や詳細は本願発明のスコープ内で当業者が理解し得る様々な変更が可能である。 As mentioned above, although this invention was demonstrated with reference to embodiment, this invention is not limited to the said embodiment. Various modifications 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 present invention.
 この出願は、2008年11月14日に出願された特願2008-292120号及び2009年2月18日に出願された特願2009-035543号を基礎とする優先権を主張し、その開示の全てをここに取り込む。 This application claims priority based on Japanese Patent Application No. 2008-292120 filed on Nov. 14, 2008 and Japanese Patent Application No. 2009-035543 filed on Feb. 18, 2009. Get everything here.

Claims (14)

  1.  状態に応じた演算処理を実行するデータ処理装置であって、
     状態遷移を制御する第1の状態管理部を備えた制御部と、
     前記第1の状態管理部が制御する状態遷移よりも規模が小さい状態遷移を制御する第2の状態管理部を備え、前記第2の状態管理部を使用した状態遷移の制御、または前記第2の状態管理部を使用しない、前記第1の状態管理部のみを使用した状態遷移の制御を選択する補助制御部と、
    を有するデータ処理装置。
    A data processing device that executes arithmetic processing according to a state,
    A control unit including a first state management unit for controlling state transition;
    A second state management unit that controls a state transition that is smaller in scale than the state transition controlled by the first state management unit, and controls the state transition using the second state management unit, or the second An auxiliary control unit that selects control of state transition using only the first state management unit without using the state management unit of
    A data processing apparatus.
  2.  前記補助制御部は、
     前記第2の状態管理部を使用した状態遷移の制御、または前記第2の状態管理部を使用しない、前記第1の状態管理部のみを使用した状態遷移の制御を選択するための情報を、データ処理装置に所望の処理を実行させるためのオブジェクトコードと共に読み込む請求項1記載のデータ処理装置。
    The auxiliary controller is
    Information for selecting control of state transition using the second state management unit, or control of state transition using only the first state management unit without using the second state management unit, 2. The data processing apparatus according to claim 1, wherein the data processing apparatus is read together with an object code for causing the data processing apparatus to execute a desired process.
  3.  前記補助制御部は、
     前記第2の状態管理部を使用した状態遷移の制御、または前記第2の状態管理部を使用しない、前記第1の状態管理部のみを使用した状態遷移の制御を選択するための情報を、前記データ処理装置内に仮想的に回路を構成するのに必要な情報である構成情報毎に保持し、該構成情報の切り換わりと共に前記第2の状態管理部を使用するか否かを選択する請求項2記載のデータ処理装置。
    The auxiliary controller is
    Information for selecting control of state transition using the second state management unit, or control of state transition using only the first state management unit without using the second state management unit, Each piece of configuration information, which is information necessary for virtually configuring a circuit in the data processing device, is stored, and whether to use the second state management unit along with the switching of the configuration information is selected. The data processing apparatus according to claim 2.
  4.  前記制御部は、
     前記第2の状態管理部を使用した状態遷移の制御、または前記第2の状態管理部を使用しない、前記第1の状態管理部のみを使用した状態遷移の制御を選択するための情報を、動作周波数の選択または変更に用いる請求項1から3のいずれか1項記載のデータ処理装置。
    The controller is
    Information for selecting control of state transition using the second state management unit, or control of state transition using only the first state management unit without using the second state management unit, 4. The data processing apparatus according to claim 1, wherein the data processing apparatus is used for selecting or changing an operating frequency.
  5.  前記制御部は、
     前記第2の状態管理部を使用した状態遷移の制御、または前記第2の状態管理部を使用しない、前記第1の状態管理部のみを使用した状態遷移の制御を選択するための情報と共に、動作周波数を選択または変更するための情報を備える請求項1から3のいずれか1項記載のデータ処理装置。
    The controller is
    Along with information for selecting state transition control using the second state management unit, or state transition control using only the first state management unit without using the second state management unit, The data processing apparatus according to claim 1, further comprising information for selecting or changing the operating frequency.
  6.  状態遷移を制御する第1の状態管理部を備えた制御部と、
     前記第1の状態管理部が制御する状態遷移よりも規模が小さい状態遷移を制御する第2の状態管理部を備え、前記第2の状態管理部を使用した状態遷移の制御、または前記第2の状態管理部を使用しない、前記第1の状態管理部のみを使用した状態遷移の制御を選択する補助制御部と、
    を有するデータ処理装置に所望の処理を実行させるためのオブジェクトコードを生成するオブジェクトコード生成装置であって、
     前記オブジェクトコードを生成する合成ツールと、
     前記第2の状態管理部を使用して状態遷移を制御した場合と、前記第2の状態管理部を使用しない、前記第1の状態管理部のみを使用して状態遷移を制御した場合の前記データ処理装置の処理性能をそれぞれ算出し、前記処理性能がより良好となる前記第2の状態管理部を使用するか否かを指定する制御構成選択情報を生成し、該制御構成選択情報を前記合成ツールで生成したオブジェクトコードに付加する性能見積もりツールと、
    を有するオブジェクトコード生成装置。
    A control unit including a first state management unit for controlling state transition;
    A second state management unit that controls a state transition that is smaller in scale than the state transition controlled by the first state management unit, and controls the state transition using the second state management unit, or the second An auxiliary control unit that selects control of state transition using only the first state management unit without using the state management unit of
    An object code generation device that generates an object code for causing a data processing device to execute a desired process,
    A synthesis tool for generating the object code;
    When the state transition is controlled using the second state management unit, and when the state transition is controlled using only the first state management unit without using the second state management unit Each of the processing performances of the data processing device is calculated, and control configuration selection information for designating whether or not to use the second state management unit with better processing performance is generated, and the control configuration selection information is A performance estimation tool to be added to the object code generated by the synthesis tool;
    An object code generation device having
  7.  状態遷移を制御する第1の状態管理部を備えた制御部と、
     前記第1の状態管理部が制御する状態遷移よりも規模が小さい状態遷移を制御する第2の状態管理部を備え、前記第2の状態管理部を使用した状態遷移の制御、または前記第2の状態管理部を使用しない、前記第1の状態管理部のみを使用した状態遷移の制御を選択する補助制御部と、
    を有するデータ処理装置に所望の処理を実行させるためのオブジェクトコードを生成するオブジェクトコード生成装置であって、
     前記オブジェクトコードを生成する合成ツールと、
     前記第2の状態管理部を使用して状態遷移を制御した場合と、前記第2の状態管理部を使用しない、前記第1の状態管理部のみを使用して状態遷移を制御した場合の前記データ処理装置の処理性能をそれぞれ算出し、前記データ処理装置内に仮想的に回路を構成するのに必要な情報である構成情報毎に、前記処理性能がより良好となる前記第2の状態管理部を使用するか否かを指定する制御構成選択情報を生成し、該制御構成選択情報を前記合成ツールで生成した前記オブジェクトコードに含まれる前記構成情報毎に付加する性能見積もりツールと、
    を有するオブジェクトコード生成装置。
    A control unit including a first state management unit for controlling state transition;
    A second state management unit that controls a state transition that is smaller in scale than the state transition controlled by the first state management unit, and controls the state transition using the second state management unit, or the second An auxiliary control unit that selects control of state transition using only the first state management unit without using the state management unit of
    An object code generation device that generates an object code for causing a data processing device to execute a desired process,
    A synthesis tool for generating the object code;
    When the state transition is controlled using the second state management unit, and when the state transition is controlled using only the first state management unit without using the second state management unit The second state management in which the processing performance of the data processing device is calculated, and the processing performance is improved for each piece of configuration information that is information necessary for virtually configuring a circuit in the data processing device. A performance estimation tool that generates control configuration selection information that specifies whether to use a unit, and adds the control configuration selection information to each configuration information included in the object code generated by the synthesis tool;
    An object code generation device having
  8.  状態遷移を制御する第1の状態管理部を備えた制御部と、
     前記第1の状態管理部が制御する状態遷移よりも規模が小さい状態遷移を制御する第2の状態管理部を備え、前記第2の状態管理部を使用した状態遷移の制御、または前記第2の状態管理部を使用しない、前記第1の状態管理部のみを使用した状態遷移の制御を選択する補助制御部と、
    を有するデータ処理装置に所望の処理を実行させるためのオブジェクトコードを生成するオブジェクトコード生成装置であって、
     前記オブジェクトコードを生成する合成ツールと、
     前記第2の状態管理部を使用して状態遷移を制御した場合と、前記第2の状態管理部を使用しない、前記第1の状態管理部のみを使用して状態遷移を制御した場合の前記データ処理装置の処理性能をそれぞれ状態毎に算出し、前記データ処理装置内に仮想的に回路を構成するのに必要な情報である構成情報毎に、前記処理性能がより良好となる前記第2の状態管理部を使用するか否かを指定する制御構成選択情報及び動作周波数を選択または変更するための動作周波数情報を生成し、該制御構成選択情報及び動作周波数情報を前記合成ツールで生成した前記オブジェクトコードに含まれる前記構成情報毎に付加する性能見積もりツールと、
    を有するオブジェクトコード生成装置。
    A control unit including a first state management unit for controlling state transition;
    A second state management unit that controls a state transition that is smaller in scale than the state transition controlled by the first state management unit, and controls the state transition using the second state management unit, or the second An auxiliary control unit that selects control of state transition using only the first state management unit without using the state management unit of
    An object code generation device that generates an object code for causing a data processing device to execute a desired process,
    A synthesis tool for generating the object code;
    When the state transition is controlled using the second state management unit, and when the state transition is controlled using only the first state management unit without using the second state management unit The processing performance of the data processing device is calculated for each state, and the second processing performance is better for each piece of configuration information that is information necessary for virtually configuring a circuit in the data processing device. The control configuration selection information for specifying whether to use the state management unit and the operation frequency information for selecting or changing the operation frequency are generated, and the control configuration selection information and the operation frequency information are generated by the synthesis tool. A performance estimation tool to be added for each configuration information included in the object code;
    An object code generation device having
  9.  状態遷移を制御する第1の状態管理部を備えた制御部と、
     前記第1の状態管理部が制御する状態遷移よりも規模が小さい状態遷移を制御する第2の状態管理部を備え、前記第2の状態管理部を使用した状態遷移の制御、または前記第2の状態管理部を使用しない、前記第1の状態管理部のみを使用した状態遷移の制御を選択できる補助制御部と、
    を有するデータ処理装置に実行させるオブジェクトコードを生成するためのデータ処理方法であって、
     前記第2の状態管理部を使用して状態遷移を制御した場合と、前記第2の状態管理部を使用しない、前記第1の状態管理部のみを使用して状態遷移を制御した場合の前記データ処理装置の処理性能をそれぞれ算出し、
     前記処理性能がより良好となる前記第2の状態管理部を使用するか否かを指定する制御構成選択情報を生成し、
     該制御構成選択情報を、生成したオブジェクトコードに付加するデータ処理方法。
    A control unit including a first state management unit for controlling state transition;
    A second state management unit that controls a state transition that is smaller in scale than the state transition controlled by the first state management unit, and controls the state transition using the second state management unit, or the second An auxiliary control unit that can select control of state transition using only the first state management unit without using the state management unit of
    A data processing method for generating an object code to be executed by a data processing apparatus having:
    When the state transition is controlled using the second state management unit, and when the state transition is controlled using only the first state management unit without using the second state management unit Calculate the processing performance of each data processor,
    Generating control configuration selection information for designating whether or not to use the second state management unit with better processing performance;
    A data processing method for adding the control configuration selection information to a generated object code.
  10.  状態遷移を制御する第1の状態管理部を備えた制御部と、
     前記第1の状態管理部が制御する状態遷移よりも規模が小さい状態遷移を制御する第2の状態管理部を備え、前記第2の状態管理部を使用した状態遷移の制御、または前記第2の状態管理部を使用しない、前記第1の状態管理部のみを使用した状態遷移の制御を選択できる補助制御部と、
    を有するデータ処理装置に実行させるオブジェクトコードを生成するためのデータ処理方法であって、
     前記第2の状態管理部を使用して状態遷移を制御した場合と、前記第2の状態管理部を使用しない、前記第1の状態管理部のみを使用して状態遷移を制御した場合の前記データ処理装置の処理性能をそれぞれ算出し、
     前記データ処理装置内に仮想的に回路を構成するのに必要な情報である構成情報毎に、前記処理性能がより良好となる前記第2の状態管理部を使用するか否かを指定する制御構成選択情報を生成し、
     該制御構成選択情報を、生成した前記オブジェクトコードに含まれる前記構成情報毎に付加するデータ処理方法。
    A control unit including a first state management unit for controlling state transition;
    A second state management unit that controls a state transition that is smaller in scale than the state transition controlled by the first state management unit, and controls the state transition using the second state management unit, or the second An auxiliary control unit that can select control of state transition using only the first state management unit without using the state management unit of
    A data processing method for generating an object code to be executed by a data processing apparatus having:
    When the state transition is controlled using the second state management unit, and when the state transition is controlled using only the first state management unit without using the second state management unit Calculate the processing performance of each data processor,
    Control for designating whether or not to use the second state management unit with better processing performance for each piece of configuration information that is information necessary for virtually configuring a circuit in the data processing device Generate configuration selection information,
    A data processing method for adding the control configuration selection information to each configuration information included in the generated object code.
  11.  状態遷移を制御する第1の状態管理部を備えた制御部と、
     前記第1の状態管理部が制御する状態遷移よりも規模が小さい状態遷移を制御する第2の状態管理部を備え、前記第2の状態管理部を使用した状態遷移の制御、または前記第2の状態管理部を使用しない、前記第1の状態管理部のみを使用した状態遷移の制御を選択できる補助制御部と、
    を有するデータ処理装置に実行させるオブジェクトコードを生成するためのデータ処理方法であって、
     前記第2の状態管理部を使用して状態遷移を制御した場合と、前記第2の状態管理部を使用しない、前記第1の状態管理部のみを使用して状態遷移を制御した場合の前記データ処理装置の処理性能をそれぞれ状態毎に算出し、
     前記データ処理装置内に仮想的に回路を構成するのに必要な情報である構成情報毎に、前記処理性能がより良好となる前記第2の状態管理部を使用するか否かを指定する制御構成選択情報及び動作周波数を選択または変更するための動作周波数情報を生成し、
     該制御構成選択情報及び動作周波数情報を、生成した前記オブジェクトコードに含まれる前記構成情報毎に付加するデータ処理方法。
    A control unit including a first state management unit for controlling state transition;
    A second state management unit that controls a state transition that is smaller in scale than the state transition controlled by the first state management unit, and controls the state transition using the second state management unit, or the second An auxiliary control unit that can select control of state transition using only the first state management unit without using the state management unit of
    A data processing method for generating an object code to be executed by a data processing apparatus having:
    When the state transition is controlled using the second state management unit, and when the state transition is controlled using only the first state management unit without using the second state management unit Calculate the processing performance of the data processor for each state,
    Control for designating whether or not to use the second state management unit with better processing performance for each piece of configuration information that is information necessary for virtually configuring a circuit in the data processing device Generate configuration selection information and operating frequency information for selecting or changing the operating frequency,
    A data processing method for adding the control configuration selection information and the operating frequency information for each configuration information included in the generated object code.
  12.  状態遷移を制御する第1の状態管理部を備えた制御部と、
     前記第1の状態管理部が制御する状態遷移よりも規模が小さい状態遷移を制御する第2の状態管理部を備え、前記第2の状態管理部を使用した状態遷移の制御、または前記第2の状態管理部を使用しない、前記第1の状態管理部のみを使用した状態遷移の制御を選択する補助制御部と、
    を有するデータ処理装置に、所望の処理を実行させるオブジェクトコードをコンピュータに生成させるためのプログラムであって、
     前記第2の状態管理部を使用して状態遷移を制御した場合と、前記第2の状態管理部を使用しない、前記第1の状態管理部のみを使用して状態遷移を制御した場合の前記データ処理装置の処理性能をそれぞれ算出し、
     前記処理性能がより良好となる前記第2の状態管理部を使用するか否かを指定する制御構成選択情報を生成し、
     該制御構成選択情報を、生成したオブジェクトコードに付加する処理をコンピュータに実行させるためのプログラム。
    A control unit including a first state management unit for controlling state transition;
    A second state management unit that controls a state transition that is smaller in scale than the state transition controlled by the first state management unit, and controls the state transition using the second state management unit, or the second An auxiliary control unit that selects control of state transition using only the first state management unit without using the state management unit of
    A program for causing a computer to generate object code that causes a data processing apparatus to execute a desired process,
    When the state transition is controlled using the second state management unit, and when the state transition is controlled using only the first state management unit without using the second state management unit Calculate the processing performance of each data processor,
    Generating control configuration selection information for designating whether or not to use the second state management unit with better processing performance;
    A program for causing a computer to execute processing for adding the control configuration selection information to a generated object code.
  13.  状態遷移を制御する第1の状態管理部を備えた制御部と、
     前記第1の状態管理部が制御する状態遷移よりも規模が小さい状態遷移を制御する第2の状態管理部を備え、前記第2の状態管理部を使用した状態遷移の制御、または前記第2の状態管理部を使用しない、前記第1の状態管理部のみを使用した状態遷移の制御を選択する補助制御部と、
    を有するデータ処理装置に、所望の処理を実行させるオブジェクトコードをコンピュータに生成させるためのプログラムであって、
     前記第2の状態管理部を使用して状態遷移を制御した場合と、前記第2の状態管理部を使用しない、前記第1の状態管理部のみを使用して状態遷移を制御した場合の前記データ処理装置の処理性能をそれぞれ算出し、
     前記データ処理装置内に仮想的に回路を構成するのに必要な情報である構成情報毎に、前記処理性能がより良好となる前記第2の状態管理部を使用するか否かを指定する制御構成選択情報を生成し、
     該制御構成選択情報を、生成した前記オブジェクトコードに含まれる前記構成情報毎に付加する処理をコンピュータに実行させるためのプログラム。
    A control unit including a first state management unit for controlling state transition;
    A second state management unit that controls a state transition that is smaller in scale than the state transition controlled by the first state management unit, and controls the state transition using the second state management unit, or the second An auxiliary control unit that selects control of state transition using only the first state management unit without using the state management unit of
    A program for causing a computer to generate object code that causes a data processing apparatus to execute a desired process,
    When the state transition is controlled using the second state management unit, and when the state transition is controlled using only the first state management unit without using the second state management unit Calculate the processing performance of each data processor,
    Control for designating whether or not to use the second state management unit with better processing performance for each piece of configuration information that is information necessary for virtually configuring a circuit in the data processing device Generate configuration selection information,
    A program for causing a computer to execute processing for adding the control configuration selection information to each configuration information included in the generated object code.
  14.  状態遷移を制御する第1の状態管理部を備えた制御部と、
     前記第1の状態管理部が制御する状態遷移よりも規模が小さい状態遷移を制御する第2の状態管理部を備え、前記第2の状態管理部を使用した状態遷移の制御、または前記第2の状態管理部を使用しない、前記第1の状態管理部のみを使用した状態遷移の制御を選択する補助制御部と、
    を有するデータ処理装置に所望の処理を実行させるオブジェクトコードをコンピュータに生成させるためのプログラムであって、
     前記第2の状態管理部を使用して状態遷移を制御した場合と、前記第2の状態管理部を使用しない、前記第1の状態管理部のみを使用して状態遷移を制御した場合の前記データ処理装置の処理性能をそれぞれ状態毎に算出し、
     前記データ処理装置内に仮想的に回路を構成するのに必要な情報である構成情報毎に、前記処理性能がより良好となる前記第2の状態管理部を使用するか否かを指定する制御構成選択情報及び動作周波数を選択または変更するための動作周波数情報を生成し、
     該制御構成選択情報及び動作周波数情報を、生成した前記オブジェクトコードに含まれる前記構成情報毎に付加する処理をコンピュータに実行させるためのプログラム。
    A control unit including a first state management unit for controlling state transition;
    A second state management unit that controls a state transition that is smaller in scale than the state transition controlled by the first state management unit, and controls the state transition using the second state management unit, or the second An auxiliary control unit that selects control of state transition using only the first state management unit without using the state management unit of
    A program for causing a computer to generate object code that causes a data processing apparatus to execute a desired process,
    When the state transition is controlled using the second state management unit, and when the state transition is controlled using only the first state management unit without using the second state management unit Calculate the processing performance of the data processor for each state,
    Control for designating whether or not to use the second state management unit with better processing performance for each piece of configuration information that is information necessary for virtually configuring a circuit in the data processing device Generate configuration selection information and operating frequency information for selecting or changing the operating frequency,
    A program for causing a computer to execute processing for adding the control configuration selection information and the operating frequency information for each configuration information included in the generated object code.
PCT/JP2009/059356 2008-11-14 2009-05-21 Data processing device, data processing method, and program WO2010055706A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010537719A JPWO2010055706A1 (en) 2008-11-14 2009-05-21 Data processing apparatus, data processing method, and program

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2008292120 2008-11-14
JP2008-292120 2008-11-14
JP2009035543 2009-02-18
JP2009-035543 2009-02-18

Publications (1)

Publication Number Publication Date
WO2010055706A1 true WO2010055706A1 (en) 2010-05-20

Family

ID=42169847

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2009/059356 WO2010055706A1 (en) 2008-11-14 2009-05-21 Data processing device, data processing method, and program

Country Status (2)

Country Link
JP (1) JPWO2010055706A1 (en)
WO (1) WO2010055706A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021181989A1 (en) * 2020-03-11 2021-09-16 株式会社エヌエスアイテクス Computing device

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004133525A (en) * 2002-10-08 2004-04-30 Matsushita Electric Ind Co Ltd Device and method for verifying lsi design
US20060277509A1 (en) * 2005-06-03 2006-12-07 Tung Tung-Sun System and method for analyzing power consumption of electronic design undergoing emulation or hardware based simulation acceleration
JP2007166377A (en) * 2005-12-15 2007-06-28 Yaskawa Electric Corp Reconfigurable arithmetic operation circuit
WO2007114059A1 (en) * 2006-04-05 2007-10-11 Nec Corporation Data processing device
WO2009044635A1 (en) * 2007-10-03 2009-04-09 Nec Corporation Data processing device and method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004133525A (en) * 2002-10-08 2004-04-30 Matsushita Electric Ind Co Ltd Device and method for verifying lsi design
US20060277509A1 (en) * 2005-06-03 2006-12-07 Tung Tung-Sun System and method for analyzing power consumption of electronic design undergoing emulation or hardware based simulation acceleration
JP2007166377A (en) * 2005-12-15 2007-06-28 Yaskawa Electric Corp Reconfigurable arithmetic operation circuit
WO2007114059A1 (en) * 2006-04-05 2007-10-11 Nec Corporation Data processing device
WO2009044635A1 (en) * 2007-10-03 2009-04-09 Nec Corporation Data processing device and method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021181989A1 (en) * 2020-03-11 2021-09-16 株式会社エヌエスアイテクス Computing device
JP7349554B2 (en) 2020-03-11 2023-09-22 株式会社エヌエスアイテクス arithmetic device

Also Published As

Publication number Publication date
JPWO2010055706A1 (en) 2012-04-12

Similar Documents

Publication Publication Date Title
JP4909588B2 (en) Information processing apparatus and method of using reconfigurable device
JP5131188B2 (en) Data processing device
Thoma et al. Morpheus: Heterogeneous reconfigurable computing
JP4566180B2 (en) Arithmetic processing device and clock control method
JP2007251329A (en) Programmable logic device
JP2013512511A (en) Multiple memory application specific digital signal processor
US7536534B2 (en) Processor capable of being switched among a plurality of operating modes, and method of designing said processor
JP2007034392A (en) Information processor and data processing method
JP4279317B2 (en) Data processing method and data processing apparatus
WO2012023625A1 (en) Scalability evaluation device, scalability evaluation method, and scalability evaluation program
WO2010055706A1 (en) Data processing device, data processing method, and program
JP5532050B2 (en) Data processing device
US20130067176A1 (en) Information processing device and program product
JP2006018411A (en) Processor
JP2008204341A (en) Interface composite device
WO2010023804A1 (en) Data processing device, data processing method, and recording medium containing the data processing program
JP2008198003A (en) Array type processor
JP2002215333A (en) Data transfer system, and computer provided with the same
WO2010087098A1 (en) Parallel computing device, information processing system, parallel computing method, and information processing device
JP2006155533A (en) Circuit information generation device and circuit information generation method
CN111290701A (en) Data read-write control method, device, medium and electronic equipment
JP4123884B2 (en) Signal processing circuit
JP2004199115A (en) Semiconductor integrated circuit
Yan et al. A reconfigurable processor architecture combining multi-core and reconfigurable processing units
JPH11306074A (en) Information processor

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2010537719

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

Country of ref document: EP

Kind code of ref document: A1