WO2010023804A1 - データ処理装置、データ処理方法並びにデータ処理プログラムが格納された記録媒体 - Google Patents

データ処理装置、データ処理方法並びにデータ処理プログラムが格納された記録媒体 Download PDF

Info

Publication number
WO2010023804A1
WO2010023804A1 PCT/JP2009/003162 JP2009003162W WO2010023804A1 WO 2010023804 A1 WO2010023804 A1 WO 2010023804A1 JP 2009003162 W JP2009003162 W JP 2009003162W WO 2010023804 A1 WO2010023804 A1 WO 2010023804A1
Authority
WO
WIPO (PCT)
Prior art keywords
state
transition
unit
data processing
calculation
Prior art date
Application number
PCT/JP2009/003162
Other languages
English (en)
French (fr)
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 JP2010526504A priority Critical patent/JPWO2010023804A1/ja
Publication of WO2010023804A1 publication Critical patent/WO2010023804A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/045Programme control other than numerical control, i.e. in sequence controllers or logic controllers using logic state machines, consisting only of a memory or a programmable logic device containing the logic for the controlled machine and in which the state of its outputs is dependent on the state of its inputs or part of its own output states, e.g. binary decision controllers, finite state controllers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23289State logic control, finite state, tasks, machine, fsm

Definitions

  • the present invention relates to a data processing apparatus, a data processing method, and a data processing program, and more particularly to a data processing apparatus including a reconfigurable device capable of changing a circuit that executes a predetermined process.
  • 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 comprising a reconfigurable device such as FPGA (Field Programmable Gate Array), CPLD (Complex Programmable Logic Device), or DRP (Dynamically Reconfigurable Processor),
  • a reconfigurable device such as FPGA (Field Programmable Gate Array), CPLD (Complex Programmable Logic Device), or DRP (Dynamically Reconfigurable Processor)
  • FPGA Field Programmable Gate Array
  • CPLD Complex Programmable Logic Device
  • DRP Dynamic Reconfigurable Processor
  • 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 has a configuration including 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 control
  • other data may be read from the memory during the processing, and the processing may be continued using those 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.
  • the configuration information is a calculation command for the arithmetic unit at a certain point in time, information indicating the connection relationship between the arithmetic units in 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 number of configuration information that can be held by the data processing device exceeds the number of pieces of configuration information that can be held by the data processing device as a result of mounting a plurality of object codes or large-scale object codes on the data processing device, 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. In that case, since the configuration information cannot be shared, there is a problem that the processing is slowed down because the data processing apparatus holds a plurality of the same configuration information or rewrites the same configuration information again.
  • the inventors of the present invention have made an invention proposal for solving the above-described problems, eliminating the limitation of the storage destination of the configuration information, and providing a data processing apparatus capable of sharing the configuration information.
  • Japanese Patent Application No. 2006-103987 Japanese Patent Application No. 2006-103987.
  • an auxiliary control unit is provided in addition to the control unit, and the control structure is hierarchized. When the auxiliary control unit operates, it can operate at a higher speed than a conventional data processing apparatus.
  • An object of the present invention is to provide a data processing apparatus that reduces the time required for state transition control, which is the above-described problem.
  • a data processing apparatus is a data processing apparatus having a state transition that allows a transition from a current state to another state. And a control unit having a state management unit that executes state transition control for computation, and the state management unit determines that the state transition is deterministic using deterministic transition information indicating a deterministic transition state In this case, the state transition control relating to the next state is started before the calculation relating to the current state in the arithmetic unit is completed.
  • FIG. 13 is a schematic diagram illustrating a partial example of a state transition diagram in which the processing performance of the data processing device illustrated in FIG. It is a block diagram which shows the structure of 2nd Example of the data processor of this invention. It is a schematic diagram which shows an example of the state transition table hold
  • FIG. 1 It is a schematic diagram which shows an example of the state transition table hold
  • FIG. 1 It is a schematic diagram which shows an example of the state transition table hold
  • FIG. 1 is a block diagram showing the configuration of the first embodiment of the data processing apparatus of the present invention.
  • the data processing apparatus according to the first embodiment includes a control unit 10, a calculation unit 20, and a configuration information storage unit 30.
  • the control unit 10 mainly performs control of the calculation unit 20 and includes a state management unit 101.
  • the state management unit 101 is configured to be used in the next operation state based on a candidate group (transition destination candidate group) of the current operation state and the next transition state included in the configuration information, and an event signal from the calculation unit 20.
  • the real number of the information is determined, and the real number is notified to the configuration information storage unit 30.
  • the real number is position information indicating the position where the configuration information is stored in the configuration information storage unit 30.
  • the arithmetic unit 20 executes arithmetic processing in accordance with the configuration information specified by the real number determined by the state management unit 101 in the configuration information storage unit 30, and uses the calculation result as an event signal as the state management unit 101 of the control unit 10. Notify
  • each of the above components does not need to be provided independently in the functional unit shown in FIG.
  • Arbitrary components may be included in other components, and arbitrary components may be composed of a plurality of parts.
  • the structure provided with the structure information storage part 30 in the calculating part 20 may be sufficient.
  • the state management unit 101 in the data processing apparatus of this embodiment holds information (deterministic transition information) related to deterministic transitions extracted at the time of object code synthesis.
  • the state management unit 101 When the state management unit 101 notifies the configuration information storage unit 30 of the real number and then determines that the state transition is deterministic based on the information regarding deterministic transition, the state management unit 101 issues it after the calculation is completed.
  • the state transition control is started before receiving the event signal to be determined, the real number of the next transition state is determined, and when the event signal is received, the determined real number is notified to the configuration information storage unit 30. .
  • state transition can be performed earlier than when the state management unit 101 starts the state transition control after receiving the event signal, and the time required for the state transition control can be reduced.
  • FIG. 2 is a block diagram showing the configuration of the second embodiment of the data processing apparatus of the present invention.
  • the data processing apparatus according to the second embodiment includes 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, and a configuration rewrite unit 13.
  • the computing unit 2 includes a plurality of computing units 21, an auxiliary control unit 23, and a configuration information storage unit 24 connected by the interconnection unit 22.
  • the state management unit 11 Based on the current operation state included in the configuration information, the candidate group of the next transition state (transition destination candidate group), and the event signal from the calculation unit 2 according to the state transition table, the state management unit 11 The logical number of the configuration information used in the operating state is determined, and the logical number is notified to the configuration number conversion unit 12.
  • the logical number indicates the mutual relationship information of each configuration information included in the object code.
  • the position where the configuration information is actually stored in the configuration information storage unit 24 is specified by the real number.
  • the configuration number conversion unit 12 converts the logical number of the configuration information notified from the state management unit 11 into a real number corresponding to the configuration information stored in the configuration information storage unit 24 according to the conversion table, and converts the real number into the real number.
  • the data is transmitted to the auxiliary control unit 23 and the state management unit 11, respectively.
  • the configuration rewriting unit 13 stores configuration information in the configuration information storage unit 24 at the initial operation of the data processing apparatus, a state transition table in the state management unit 11 and the state management unit 231 of the auxiliary control unit, and a conversion table in the configuration number conversion unit 12. Write.
  • the configuration rewriting unit 13 When a rewrite request is issued from the configuration number conversion unit 12 to the configuration rewriting unit 13, the configuration rewriting unit 13 replaces the configuration information stored in the configuration information storage unit 24 with unnecessary configuration information at the time of the rewrite request.
  • the designated configuration information is rewritten by outputting it to the configuration information storage unit 24.
  • the configuration rewriting unit 13 updates a conversion table which is conversion information necessary for the conversion process from the logical number to the real number of the configuration number conversion unit 12. At this time, for selecting unnecessary configuration information, a known method such as a LeastLRecently Used (LRU) method may be used.
  • LRU LeastLRecently Used
  • the configuration rewriting unit 13 basically rewrites only one configuration information requested in response to the rewrite request, but may rewrite the configuration information used thereafter together with the requested configuration information.
  • the computing unit 21 performs arithmetic processing according to the configuration information specified from the configuration information storage unit 24 for each of a plurality of operating states that sequentially transition.
  • the interconnection unit 22 switches the connection relation of the plurality of computing units 21 based on the configuration information notified from the configuration information storage unit 24.
  • the auxiliary control unit 23 includes a state management unit 231, a real number register 232, and an internal state number register 233.
  • the state management unit 231 manages the internal state and updates the internal state register 233.
  • the real number register 232 holds the real number of the current configuration information and designates the configuration information to the configuration information storage unit 24.
  • the internal state number register 233 holds the current internal state number and designates the internal state for the computing unit 21 and the interconnection unit 22.
  • each of the above-described constituent elements does not need to be provided independently in the functional unit shown in FIG.
  • Arbitrary components may be included in other components, and arbitrary components may be composed of a plurality of parts.
  • the configuration information storage unit 24 may be divided, and the divided configuration information storage unit 24 may be provided in the computing unit 21 and the interconnection unit 22, respectively.
  • the configuration rewriting unit 13 may be realized by another device provided outside or an MPU.
  • the configuration information includes a calculation command for the arithmetic unit 21 at a certain point in time, information indicating the connection relation of the arithmetic units 21 in the interconnection unit 22, a relationship between the event signal and the logical number of the configuration information to be selected next correspondingly. It contains information indicating.
  • the arithmetic unit 21 includes a configuration including only one so-called arithmetic arithmetic unit (ALU) and a configuration in which a plurality of types of arithmetic units and storage elements such as registers are combined.
  • 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 states.
  • the configuration number conversion unit 12 may have any configuration as long as it can convert the logical number of the configuration information designated by the state management unit 11 into a real number.
  • the configuration number conversion unit 12 indicates the correspondence between the logical number and the real number.
  • a configuration provided with a table or a configuration provided with a mechanism for converting a logical number into a real number based on the relative value of the logical number and the real number can be considered.
  • the correspondence table, relative values, and the like necessary for the process for converting the logical number to the real number performed by the configuration number conversion unit 12 are collectively referred to as conversion information.
  • the state management unit 11 as information on deterministic transitions extracted at the time of synthesizing the object code, finds the number of stay cycles to the logical number where the transition is definite at the time of synthesizing the object code. If you have a stay cycle count.
  • the state management unit 11 When the number of stay cycles to the logical number where the transition is deterministic is held, the state management unit 11 sends this logical number to the configuration number conversion unit 12, and after this elapse of the stay cycle number, The logical number of the transition destination from the logical number is sent to the configuration number conversion unit 12. In addition, the state management unit 11 sends the start internal state number to the auxiliary control unit 23 as the real number is sent from the configuration number conversion unit 12.
  • the state management unit 11 includes information regarding deterministic transition, and after the logical number where the transition is deterministic, the logical number of the transition destination is the configuration number at an appropriate timing.
  • the data is sent to the conversion unit 13.
  • the state management unit 11 can start deterministic transition before receiving an event signal issued after completion of the calculation related to the current state from the calculation unit 2, and can reduce the time required for the state transition control. It is possible to reduce. This effect is significant when only one cycle stays at a logical number where the transition is deterministic. For example, logical number 1 in FIG.
  • FIG. 4 is a block diagram showing the configuration of the third embodiment of the data processing apparatus of the present invention.
  • the part that holds the number of stay cycles when the number of stay cycles to the logical number where the transition is definite is known at the time of synthesizing the object code is the state management.
  • the second embodiment is different from the second embodiment in that it is not the unit 11 but the calculation unit 2.
  • the auxiliary control unit 23 manages the internal state.
  • the number of stay cycles when the number of stay cycles to the logical number for which transition is deterministic, which is determined when the object code is internally synthesized is known at the time of synthesis, and the cycle necessary for control by the control unit 1 It holds the time when the event signal should be issued in advance to the state management unit 11, which is obtained from the number.
  • the event signal is sent to the state management unit 11 at an appropriate time before the calculation related to the current state in the calculation unit 2 actually ends based on the deterministic transition information. To issue.
  • the state management unit 11 operates in the same manner as the invention according to the prior application described as the background art. The difference is that starting the state transition control when the transition is definite is ahead of the invention according to the prior application. At this time, if the configuration information in the next state exists in the configuration information storage unit 24 and a real number corresponding to the logical number can be acquired, the auxiliary control unit 23 performs the actual operation corresponding to the next logical number at the end of the computation with the current logical number. Receiving the number, the calculation unit 2 can continue the calculation by transitioning to the next logical number without waiting.
  • the auxiliary control unit 23 stops the computing unit 21 and the interconnection unit 22 at the end of the calculation with the current logical number, and the configuration rewriting unit 13 rewrites it. wait.
  • This timing is included in the deterministic transition information as a difference from the timing at which the event signal is issued to the state management unit, or is realized as an event signal from the computing unit 21 and the interconnection unit 22.
  • control unit 1 and the calculation unit 2 are the same as the corresponding configurations and operations in the data processing apparatus described in the second embodiment, and thus description thereof is omitted.
  • the storage location of information for advance is not limited.
  • the information on the timing of prior issuance may be provided not as information stored in the auxiliary control unit 23 but as information for operating a plurality of computing units 21 connected by the interconnection unit 22.
  • the state transition control is performed without waiting for the end of the calculation related to the current state in the calculation unit 2 by issuing the event signal from the calculation unit 2 to the state management unit 11 in advance. It is possible to start, and it is possible to reduce the time required for the state transition control. The effect is that a branch occurs within a logical number, such as logical number 2 shown in FIG. 3, but the transition in a state where a transition is made to another logical number is definite, and after branching, after the operation of a fixed cycle This is noticeable when transitioning to another logical number.
  • the computing unit 2 can obtain the actual number of the transition destination without waiting by issuing an event signal in advance to the state management unit 11 when transitioning from 2-1 to 2-2 or 2-3.
  • FIG. 5 is a block diagram showing the configuration of the fourth embodiment of the data processing apparatus of the present invention.
  • the data processing apparatus according to the fourth embodiment is a combination of the data processing apparatus according to the second embodiment and the data processing apparatus according to the third embodiment. That is, information regarding definite transitions is stored separately in the state management unit 11 of the control unit 1 and the state management unit 231 of the calculation unit 2. If there is one transition destination from a certain logical number, the information is stored in the state management unit 11. Although there are two or more transition destinations from a certain logical number, if the transition destination can be determined by a state transition within the logical number, the information is stored in the calculation unit 2.
  • control unit 1 and the calculation unit 2 are the same as the corresponding configurations and operations in the data processing apparatus described in the second embodiment, and thus description thereof is omitted.
  • FIG. 6 is a block diagram showing the configuration of the fifth embodiment of the data processing apparatus of the present invention.
  • the data processing apparatus according to the fifth embodiment is different from the data processing apparatus of the second embodiment in that it includes two real number registers 232 and two internal state number registers 233 and selectors 234 and 235. Yes.
  • the state management unit 11 included in the data processing apparatus performs the next cycle in which the logical number is sent to the configuration number conversion unit 12. Then, the logical number of the transition destination from the logical number is sent to the configuration number conversion unit 12. The start internal state number is sent to the auxiliary control unit 23.
  • the configuration number conversion unit 12 converts the logical number of the transition destination into a real number.
  • the real number and the start internal state number of these transition destinations are written on the back side of the real number register 232 and the internal state number register 233.
  • the state management unit 231 determines that the range managed by the auxiliary control unit 23 exceeds the range managed by the auxiliary control unit 23 based on the event signals from the computing unit 21 and the interconnection unit 22, the real number register 232 and the internal state number register Whether or not writing has been performed on the back surface of 233 is checked. If writing has been completed, the selector 234 and 235 are switched to change to the next real number.
  • control unit 1 and the calculation unit 2 are the same as the corresponding configurations and operations in the data processing apparatus described in the second embodiment, and thus description thereof is omitted.
  • the number of stay cycles in the state where the transition is definite is determined in advance and held in the state management unit 11.
  • the logical number of the transition destination from the certain logical number and its starting internal state number can be determined.
  • the arithmetic unit 2 can change the selectors 234 and 235 when necessary by converting the real number in advance and notifying the auxiliary control unit 23 together with the start internal state number. It is possible to continue operation by switching to the next logical number without waiting just by switching.
  • FIG. 7 is a block diagram showing the configuration of the sixth embodiment of the data processing apparatus of the present invention.
  • the data processing apparatus according to the sixth embodiment differs from the data processing apparatus of the third embodiment in that it includes two real number registers 232 and two internal state number registers 233 and selectors 234 and 235. Yes.
  • the auxiliary control unit 23 manages the internal state. Further, the auxiliary control unit 23 holds deterministic transition information for sending an event signal to the state management unit 11 when the next logical number is determined, which is determined when the object code is synthesized. When the next logical number is determined, the state management unit 231 issues an event signal to the state management unit 11 at an appropriate time before the actual transition based on the deterministic transition information.
  • the state management unit 11 included in the data processing apparatus of the present embodiment sends the transition destination logical number to the configuration number conversion unit 12.
  • the start internal state number is sent to the auxiliary control unit 23.
  • transition destination real numbers and start internal state numbers are written on the back side of the real number register 232 and the internal state number register 233.
  • the state management unit 231 determines that the range managed by the auxiliary control unit 23 exceeds the range managed by the auxiliary control unit 23 based on the event signals from the computing unit 21 and the interconnection unit 22, the real number register 232 and the internal state number register Whether or not writing has been performed on the back surface of 233 is checked. If writing has been completed, the selector 234 and 235 are switched to change to the next real number.
  • control unit 1 and the calculation unit 2 are the same as the corresponding configurations and operations in the data processing apparatus described in the second embodiment, and thus description thereof is omitted.
  • the number of stay cycles in the state where the transition is definite is determined in advance and held in the state management unit 231.
  • the event signal is transmitted to the state management unit 11 when the logical number of the transition destination from a certain logical number is determined, and the transition number of the transition destination is transmitted by the configuration number conversion unit 12. It is possible to convert the logical number to the real number and notify the auxiliary control unit 23 in advance. Further, the calculation unit 2 can continue the calculation by switching to the next logical number without waiting just by switching the selectors 234 and 235 when necessary. For this reason, the time required for the state transition control is further improved.
  • the effect is that a branch occurs within the logical number, such as logical number 4 shown in FIG. 3, but the transition in the state of transitioning to another logical number is deterministic, has a loop, and has a variable cycle. This is remarkable when the transition to the next logical number is made after the operation of.
  • the real number By obtaining the real number corresponding to the logical number that is the transition destination in advance, the real number can be used without waiting.
  • FIG. 8 is a block diagram showing the configuration of the seventh embodiment of the data processor of the present invention.
  • the data processing apparatus according to the seventh embodiment is different from the data processing apparatus of the fourth embodiment in that it includes two real number registers 232 and two internal state number registers 233 and selectors 234 and 235. Yes.
  • the fifth embodiment and the sixth embodiment are combined.
  • the state management unit 11 issues the transition destination logical number to the configuration number conversion unit 12 at that time, and the internal state number If the next logical number and the start internal state number are determined at the time of transition, the state management unit 231 of the auxiliary control unit 23 issues an event signal corresponding to the transition destination to the state management unit 11, thereby The number is determined, and the logical number is converted to a real number by the configuration number conversion unit 12 and written to the back of the real number register 232 and the internal state number register 233 together with the start internal state number.
  • the state management unit 231 determines that the range managed by the auxiliary control unit 23 exceeds the range managed by the auxiliary control unit 23 based on the event signals from the computing unit 21 and the interconnection unit 22, the real number register 232 and the internal state number register Whether or not writing has been performed on the back surface of 233 is checked. If writing has been completed, the selector 234 and 235 are switched to change to the next real number.
  • control unit 1 and the calculation unit 2 are the same as the corresponding configurations and operations in the data processing apparatus described in the second embodiment, and thus description thereof is omitted.
  • the number of stay cycles in the state is determined in advance and held in the state management unit 11 and the state management unit 231.
  • the transition destination logical number or event signal is transmitted, Conversion to a real number can be performed and notified to the auxiliary control unit 23.
  • the calculation unit 2 can continue the calculation by switching to the next logical number without waiting just by switching the selectors 234 and 235 when necessary. For this reason, the time required for the state transition control is further improved.
  • FIG. 9 is a block diagram showing the configuration of the eighth embodiment of the data processor of the present invention.
  • the data processing apparatus according to the eighth embodiment is different from the data processing apparatus according to the fifth embodiment in that a next internal state number set 236 is provided between the internal state number register 233 and the state management unit 11. ing.
  • the state management unit 11 included in the data processing apparatus uses the next internal state number set 236 as the start internal state number candidate group at the next logical number. Send to.
  • the state management unit 231 indicates the end of the operation with the current logical number in a state where the next real number is received in the real number register 232 and the next start internal state number candidate group is received in the next internal state number set 236.
  • a start internal state number is selected from a start internal state number candidate group of the next internal state number set 236 based on the event signal, and an internal state number register While switching to 233, the selectors 234 and 235 are switched, the next real number and the start internal state number are obtained from the outputs of the real number register 232 and the internal state number register 233, and using these, the arithmetic unit 21 and the interconnection unit 22 Continue the computation.
  • control unit 1 and the calculation unit 2 are the same as the corresponding configurations and operations in the data processing apparatus described in the fifth embodiment, and thus description thereof is omitted.
  • the start internal state number is fixed if the logical number of the transition destination from a certain logical number is fixed as compared with the data processing device of the fifth embodiment. Even if it is not possible, the arithmetic unit 2 converts the logical number in advance and notifies the auxiliary control unit 23 together with the start internal state number candidate group, so that the calculation unit 2 obtains the start internal state number from the next internal state number set 236 when necessary. By simply selecting and switching the selectors 234 and 235, it is possible to continue the operation by transitioning to the next logical number without waiting. For this reason, the time required for the state transition control is further improved.
  • FIG. 10 is a block diagram showing the configuration of the ninth embodiment of the data processing apparatus of the present invention.
  • the data processing apparatus according to the ninth embodiment is different from the data processing apparatus according to the sixth embodiment in that a next internal state number set 236 is provided between the internal state number register 233 and the state management unit 11. ing.
  • the state management unit 231 included in the data processing apparatus according to the present embodiment transmits an event signal to the state management unit 11 when the next logical number is determined. At this time, the start internal state number in the next logical number may not be determined.
  • the state management unit 11 When the state management unit 11 receives the event signal from the state management unit 231, the state management unit 11 determines the next logical number.
  • the starting internal state number candidate group is transmitted to the next internal state number set 236 without determining the starting internal state number in the next logical number.
  • the state management unit 231 receives the next real number in the real number register 232 and the next internal state number set in the next internal state number set 236, and indicates an event signal indicating the end of the operation with the current logical number. Is received from the computing unit 21 and the interconnection unit 22, the start internal state number is selected from the candidates for the start internal state number of the next internal state number set 236 according to the event signal, and written to the internal state number register 233. The selectors 234 and 235 are switched, the next configuration number and the starting internal state number are obtained from the outputs of the real number register 232 and the internal state number register 233, and the calculation in the arithmetic unit 21 and the interconnection unit 22 is continued using these. .
  • control unit 1 and the calculation unit 2 are the same as the corresponding configurations and operations in the data processing apparatus described in the sixth embodiment, and thus description thereof is omitted.
  • the start internal state number is determined if the logical number of the transition destination from a certain logical number is fixed as compared with the data processing device of the sixth embodiment. Even if it is not possible, by converting the logical number in advance and notifying the auxiliary control unit 23 together with the start internal state number candidate group, the calculation unit 2 can start from the next internal state number set 236 when necessary. By simply selecting the selectors 234 and 235, it is possible to continue the operation by transitioning to the next logical number without waiting. For this reason, the time required for the state transition control is further improved.
  • the effect is that the transition in the state of transition to another logical number, such as logical number 5 shown in FIG. 3, is deterministic, has a loop, and transitions to the next logical number after variable cycle operation. It is remarkable in the case. By obtaining the real number corresponding to the logical number that is the transition destination in advance, the real number can be used without waiting.
  • FIG. 11 is a block diagram showing the configuration of the tenth embodiment of the data processing apparatus of the present invention.
  • the data processing apparatus according to the tenth embodiment is different from the data processing apparatus according to the seventh embodiment in that a next internal state number set 236 is provided between the internal number register 233 and the state management unit 11. Yes.
  • control unit 1 and the calculation unit 2 correspond to the combination of the eighth embodiment with respect to the fifth embodiment and the ninth embodiment with respect to the sixth embodiment, and the configuration thereof. Since the operation is the same, the description thereof is omitted.
  • the start internal state number is determined if the logical number of the transition destination from a certain logical number is fixed as compared with the data processing device of the seventh embodiment. Even if it is not possible, the arithmetic unit 2 selects the start internal state number from the next internal state number set 236 when necessary, by converting the logical number in advance and notifying it together with the start internal state number candidate group. It is possible to continue the operation by switching to the next logical number without waiting just by switching between 235 and 235. For this reason, the time required for the state transition control is further improved.
  • FIG. 12 is a block diagram showing the configuration of the first embodiment of the data processing apparatus of the present invention.
  • the arithmetic unit 4 of the present embodiment has a plurality of processor elements 41 (PE) including a register file (RFU), an ALU, and a data processing arithmetic unit (DMU), and each processor element is connected by a wiring and a switch (SW). It is the structure connected mutually.
  • each processor element 41 including RFU, FFU, ALU, DMU, and the like serves as the arithmetic unit shown in the second embodiment.
  • the arithmetic unit 4 is not limited to the processor element 41 and may be formed using, for example, a logic array.
  • the auxiliary control unit (MSTC) 43 includes a state management unit 431 similar to the state transition management unit (STC) 3, and manages the internal state when staying within the logical number. Also, a real number register 432 and an internal state number register 433 are provided to hold the current real number and internal state number.
  • the control unit of this embodiment corresponds to a DRP state transition management unit (STC) 3 including a state management unit 31, a configuration number conversion unit 32, and a configuration rewriting unit 33.
  • STC DRP state transition management unit
  • a set of the processor element 41 group, the auxiliary control unit 43, and the state transition management unit 3 is referred to as a tile.
  • definite transition information is held in the state management unit 31.
  • a memory hereinafter, referred to as a configuration information memory
  • STC state transition management unit
  • an external memory (storage means) 6 in which an object code is stored outside is provided, and the object code can be acquired from the external memory 6 using the configuration rewriting unit 33.
  • configuration information of logical numbers 0 and 1 is held in an instruction memory included in a data processing device (DRP).
  • DRP data processing device
  • a state transition table of the state management unit 31 at this time is shown in FIG.
  • the configuration information of logical number 0 is written in real number 0, and the configuration information of logical number 1 is written in real number 1.
  • the logical number 1 written in the real number 1 means a transition to the next logical number after staying for one cycle.
  • the state management unit 431 controls the transition to the next state based on the state transition table corresponding to the event signal.
  • the state management unit 431 issues a WE cancel signal for stopping the operation of the processor elements 41 group.
  • the register of the processor element 41 does not accept the content update by this signal. Also, the data input operation from the external port is stopped.
  • the auxiliary control unit 43 sends an event signal to the state management unit 31 simultaneously with the issuance of the WE cancel signal.
  • the state management unit 31 receives the event signal from the auxiliary control unit 43, the logical number “1” of the next state based on the current real number “0” and the event signal A according to the state transition table. Is determined and notified to the configuration number conversion unit 32. Also, the start internal state number “1” of the next state is determined.
  • the configuration number conversion unit 32 converts the logical number “1” into a real number using the conversion table. Here, the conversion is successful because it is already held in the configuration information memory.
  • the obtained real number “1” is transmitted to the real number register 432 and the state management unit 31. At this time, the start internal state number is transmitted to the internal state number register 433.
  • the auxiliary control unit 43 When the auxiliary control unit 43 receives the real number “1” of the configuration information and the start internal state number “1” in the real number register 432 and the internal state number register 433, the auxiliary control unit 43 configures the processor element 41 group in the next state. Specify information. Then, the issuance of WE cancellation is stopped, and the processor elements 41 are restarted.
  • the state management unit 31 acquires deterministic transition information of the corresponding number. Since “1” can be acquired here, it can be seen that the execution by the arithmetic unit 4 of the current real number “1” is completed in one cycle, and the next transition destination is determined.
  • the transition destination is state 2-1 corresponding to event signal A.
  • the state management unit 31 determines the logical number “2” of the next state based on the deterministic transition information, and notifies the configuration number conversion unit 32 of it.
  • the configuration number conversion unit 32 converts the logical number “2” into a real number using the conversion table.
  • the configuration information in the next state is not held in the configuration information memory, there is no corresponding real number in the conversion table, and conversion to the real number fails. In that case, the configuration number conversion unit 32 requests the configuration rewriting unit 33 to rewrite the configuration information of the logical number “2”.
  • the processing unit 4 executes the processing of the state 1-1.
  • the auxiliary control unit 43 controls the transition to the next state based on the state transition table corresponding to the event signal.
  • the auxiliary control unit 43 issues a WE cancel signal for stopping the operation of the processor elements 41 group.
  • the register of the processor element 41 does not accept the content update by this signal. Also, the data input operation from the external port is stopped.
  • the auxiliary control unit 43 sends an event signal to the state management unit 31 simultaneously with the issuance of the WE cancel signal.
  • the state management unit 31 receives the event signal from the auxiliary control unit 43, but has already sent the logical number 2 of the next state to the configuration number conversion unit 32 by deterministic transition information. Notification to the conversion unit 32 is not performed.
  • the execution by the calculation unit 4 is performed in the third cycle and an event signal is transmitted.
  • the STC operates in the fourth cycle.
  • FIGS. 14A-14D The horizontal axis shows cycles, and the number of cycles is shown on the horizontal axis.
  • the arithmetic unit operates in the third cycle by the real number 1 obtained by conversion in the second cycle, and the event signal indicates 4 In the cycle, the STC tries to convert the next logical number 2.
  • the real number 1 obtained by conversion in the second cycle is directly used by the STC together with deterministic transition information in the third cycle. As a result, one cycle is shortened, and the time required for the state transition control is reduced.
  • the configuration information of the transition destination is not written, and rewriting takes 100 cycles. Therefore, in FIG. 14A, the operation in the state 2-1 after rewriting is the 105th cycle in the prior invention, and the 104th cycle in the present embodiment.
  • the transition destination configuration information is written, this rewritten part is eliminated, and the operation of the state 2-1 is performed at the fifth cycle as shown in FIG. As shown in 14D, the fourth cycle is reached, and the present embodiment is still advantageous for one cycle.
  • FIG. 16 is a block diagram showing the configuration of the sixth embodiment of the data processing apparatus of the present invention.
  • STC state transition management unit
  • the arithmetic unit 4 of the present embodiment has a plurality of processor elements 41 (PE) including a register file (RFU), an ALU, and a data processing arithmetic unit (DMU), and each processor element is connected by a wiring and a switch (SW). It is the structure connected mutually.
  • each processor element 41 including the RFU, FFU, ALU, DMU, and the like serves as the arithmetic unit shown in the sixth embodiment.
  • the arithmetic unit 4 is not limited to the processor element 41 and may be formed using, for example, a logic array.
  • the auxiliary control unit (MSTC) 43 includes a state management unit 431 similar to the state transition management unit (STC) 3, and manages the internal state when staying within the logical number.
  • the control unit of this embodiment corresponds to a DRP state transition management unit (STC) 3 including a state management unit 31, a configuration number conversion unit 32, and a configuration rewriting unit 33.
  • STC DRP state transition management unit
  • a set of the processor element 41 group, the auxiliary control unit 43, and the state transition management unit 3 is referred to as a tile.
  • deterministic transition information is held in the state management unit 431 of the auxiliary control unit 43.
  • a real number register 432 and an internal state number register 433 are provided to hold the current real number and internal state number. These have two entries and can be switched by selectors 434 and 435.
  • selectors 434 and 435 the register on the side selected by the selector is referred to as the front surface, and the register on the other side is referred to as the back surface.
  • a memory (hereinafter, referred to as a configuration information memory) divided and arranged in each processor element 41 and the state transition management unit (STC) 3 serves as a configuration information storage unit. Further, in this embodiment, it is assumed that an external memory (storage means) 6 in which an object code is stored outside is provided, and the object code can be acquired from the external memory 6 using the configuration rewriting unit 33.
  • FIG. 17 shows an example of the state transition table held by the state management unit 31
  • FIG. 18 shows an example of the state transition table held by the state management unit 431 of the auxiliary control unit 43.
  • each transition destination number corresponding to the real number 6 is not described, but since this is not defined in the state transition diagram of FIG. 3, some information is written. The state is different from the part indicated by “-” where nothing is written.
  • configuration information from logical numbers 0 to 6 is held in an instruction memory provided in the data processing apparatus (DRP).
  • DRP data processing apparatus
  • a state transition table of the state management unit 31 at this time is shown in FIG.
  • the configuration information of logical number 0 is written in real number
  • the configuration information of logical number 1 is written in real number 1,.
  • it since it is associated by the configuration number conversion unit 32, it may be written in any way.
  • the state management unit 431 When the event signal is notified to the state management unit 431, when the next internal state number for the pair with the current real number is written, the state management unit 431 displays the next internal state number on the surface of the internal state number register 433. State transition is made by writing to. If the next internal state number for the set with the current real number is not described, the state management unit 431 issues a WE cancel signal for stopping the operation to the processor element 41 group, and sends an event signal to the STC 3. Notice.
  • the STC 3 prepares a real number corresponding to the next logical number by simultaneously using the event signal for internal transition and notifying the state management unit 31 at the same time.
  • the state management unit 431 controls the transition to the next state corresponding to the event signal A based on the state transition table.
  • the state is an event signal that transitions from 2-1 to 2-2, it is a small-scale state transition that can be controlled by the state management unit 431.
  • State number 2 is marked.
  • the state management unit 431 writes the internal state number “2” on the front side of the internal state number register 433 and designates it as the processor element 41 group.
  • the state management unit 431 writes the event signal A to the STC 3 simultaneously with writing to the internal state number register 433 using deterministic transition information.
  • the STC 3 and the calculation unit 4 operate simultaneously.
  • the state management unit 31 receives the event signal A from the auxiliary control unit 43
  • the logical number “3” of the next state is set based on the current real number “2” and the event signal A according to the state transition table.
  • the start internal state number “1” of the next state is determined.
  • the configuration number conversion unit 32 converts the logical number “3” into a real number using the conversion table. Here, the conversion is successful because it is already held in the configuration information memory.
  • the obtained real number “3” is transmitted to the back side of the real number register 432 and the state management unit 31. At this time, the state management unit 31 transmits the start internal state number to the internal state number register 433.
  • the calculation unit 4 operates in the state 2-2, and the auxiliary control unit 43 is notified of the event signal Z as a calculation result from the processor element 41 group.
  • the event signal Z has the meaning of ending the operation at the current logical number, stopping the operation of the processor element 41 group and waiting for notification from the STC, but at the same time, the actual number “3” of the configuration information and the internal number “1” from the STC.
  • the selectors 434 and 435 are switched without stopping the operation of the processor element 41 group, and the real number “3” of the configuration information and the internal number are switched. “1” is the front side.
  • the calculation unit 4 executes the calculation of the real number “3” and the internal number “1” of the configuration information, that is, the state 3-1.
  • the state management unit 431 controls the transition to the next state corresponding to the event signal A based on the state transition table.
  • the state is an event signal that transitions from 3-1 to 3-2, and is a small-scale state transition that can be controlled by the state management unit 431, the state transition table includes the next internal number 2 in the corresponding part. Is marked.
  • the state management unit 431 writes the internal state number “2” on the front side of the internal state number register 433 and designates it as the processor element 41 group.
  • the state management unit 431 writes the event signal A to the STC 3 simultaneously with writing to the internal state number register 433 using deterministic transition information.
  • the STC 3 and the calculation unit 4 operate simultaneously.
  • the state management unit 31 receives the event signal A from the auxiliary control unit 43
  • the logical number “6” of the next state is set based on the current real number “3” and the event signal A according to the state transition table.
  • the start internal state number “1” of the next state is determined.
  • the configuration number conversion unit 32 converts the logical number “6” into a real number using the conversion table. Here, the conversion is successful because it is already held in the configuration information memory.
  • the obtained real number “6” is transmitted to the back side of the real number register 432 and the state management unit 31. At this time, the start internal state number is transmitted to the internal state number register 433.
  • Operation unit 4 operates in state 3-2. Here, it is assumed that two cycles remain in the state 3-2. In this cycle, an event signal for transitioning the internal state is not issued.
  • the calculation unit 4 operates in the state 3-2, and the auxiliary control unit 43 is notified of the event signal Z as a calculation result from the processor element 41 group.
  • the event signal Z has the meaning of ending the operation at the current logical number, stopping the operation of the processor element 41 group and waiting for notification from the STC.
  • the actual number “6” of the configuration information and the internal number “1” have already been received from the STC.
  • the selectors 434 and 435 are switched without stopping the operation of the processor element 41 group, and the real number “6” of the configuration information and the internal state are The number “1” is the front side.
  • the transition from the logical numbers 3 and 4 to the logical numbers 6, 7 and 8 can be executed in parallel in the same manner as in the invention of the prior application.
  • the number can be reduced.
  • the arithmetic unit is stopped for one cycle in the prior application as in the invention, and STC is used. It is necessary to control.
  • the event signal A is notified to the state management unit 31 through the state management unit 431 by the calculation result of the second cycle, and the next logical number 3 to the real number 3 are assigned to the third cycle.
  • the operation of the state 3-1 is performed in the arithmetic unit in the fourth cycle.
  • one cycle of control by the STC 3 is required at the time of transition to a different state.
  • the auxiliary controller 43 has a mechanism for sending an event signal from the arithmetic unit 4 to the STC and waiting for a real number so that the number of cycles required for execution can be reduced. The time required for state transition control is reduced.
  • the third embodiment is an example in which the tenth embodiment of the present invention is applied to the data processing apparatus according to the invention of the prior application.
  • FIG. 20 is a block diagram showing the configuration of the tenth embodiment of the data processing apparatus of the present invention.
  • STC state transition management unit
  • calculation unit 4 calculation unit 4 in the data processing apparatus according to the invention of the prior application are changed.
  • the arithmetic unit 4 of the present embodiment has a plurality of processor elements 41 (PE) including a register file (RFU), an ALU, and a data processing arithmetic unit (DMU), and each processor element is connected by a wiring and a switch (SW). It is the structure connected mutually.
  • processor element 41 including RFU, FFU, ALU, DMU, and the like is the computing unit shown in the tenth embodiment.
  • the arithmetic unit 4 is not limited to the processor element 41 and may be formed using, for example, a logic array.
  • the auxiliary control unit (MSTC) 43 includes a state management unit 431 similar to the state transition management unit (STC) 3, and manages the internal state when staying within the logical number.
  • the control unit of this embodiment corresponds to a DRP state transition management unit (STC) 3 including a state management unit 31, a configuration number conversion unit 32, and a configuration rewriting unit 33.
  • STC DRP state transition management unit
  • a set of the processor element 41 group, the auxiliary control unit 43, and the state transition management unit 3 is referred to as a tile.
  • deterministic transition information is held in the state management unit 31 and the state management unit 431 of the auxiliary control unit 43.
  • a real number register 432 and an internal state number register 433 are provided to hold the current real number and internal state number. These have two entries and can be switched by selectors 434 and 435.
  • selectors 434 and 435 the register on the side selected by the selector is referred to as the front surface, and the register on the other side is referred to as the back surface.
  • a next internal state number set 436 is provided between the state management unit 31 and the internal state number register 433.
  • a memory (hereinafter, referred to as a configuration information memory) divided and arranged in each processor element 41 and the state transition management unit (STC) 3 serves as a configuration information storage unit. Further, in this embodiment, it is assumed that an external memory (storage means) 6 in which an object code is stored outside is provided, and the object code can be acquired from the external memory 6 using the configuration rewriting unit 33.
  • FIG. 21 shows an example of the state transition table held by the state management unit 31
  • FIG. 22 shows an example of the state transition table held by the state management unit 431 of the auxiliary control unit.
  • each transition destination number corresponding to the real number 2 is not described, but since this is not defined in the state transition diagram of FIG. 3, some information is written. The state is different from the part where nothing is written, which is indicated by “ ⁇ ” after the real number 3.
  • configuration information of logical numbers 2, 5, and 9 is held in an instruction memory provided in the data processing device (DRP).
  • DRP data processing device
  • the state of the state management unit 31 at this time is shown in FIG.
  • the configuration information of logical number 2 is written in real number 0
  • the configuration information of logical number 5 is written in real number 1
  • the configuration information of logical number 9 is written in real number 2.
  • the definite transition information is given to the state management unit 31.
  • Other deterministic transition information is provided to the state transition unit 431 of the auxiliary control unit 43.
  • the number of stay cycles to the corresponding logical number is 1, and the transition destination logical number can be determined when the object code is synthesized Means that.
  • the state management unit 431 When the event signal is notified to the state management unit 431, when the next internal state number for the pair with the current real number is written, the state management unit 431 displays the next internal state number on the surface of the internal state number register 433. State transition is made by writing to. When the next internal state number for the set with the current real number is not described, the state management unit 431 issues a WE cancel signal for stopping the operation to the processor element 41 group, and sends an event signal to the STC 3. Notice.
  • the STC 3 prepares a real number corresponding to the next logical number by simultaneously using the event signal for internal transition and notifying the state management unit 31 at the same time.
  • the state management unit 431 controls the transition to the next state corresponding to the event signal C based on the state transition table.
  • the state is an event signal that transitions from 2-1 to 2-4, it is a small-scale state transition that can be controlled by the state management unit 431.
  • State number 4 is marked.
  • the state management unit 431 writes the internal state number “4” on the front side of the internal state number register 433 and designates it to the processor element 41 group.
  • the state management unit 431 writes the event signal C to the STC 3 simultaneously with writing to the internal state number register 433 using deterministic transition information.
  • the STC 3 and the calculation unit 4 operate simultaneously.
  • the state management unit 31 receives the event signal C from the auxiliary control unit 43
  • the logical number “5” of the next state is set based on the current real number “0” and the event signal C according to the state transition table.
  • the start internal state number “1” of the next state is determined.
  • the configuration number conversion unit 32 converts the logical number “5” into a real number using the conversion table. Here, the conversion is successful because it is already held in the configuration information memory.
  • the obtained real number “1” is transmitted to the back side of the real number register 432 and the state management unit 31. At this time, the start internal state number is transmitted to the internal state number register 433.
  • the calculation unit 4 operates in the state 2-4, and the auxiliary control unit 43 is notified of the event signal Z as a calculation result from the processor element 41 group.
  • the event signal Z has the meaning of ending the operation at the current logical number, stopping the operation of the processor element 41 group and waiting for notification from the STC.
  • the actual number “1” of the configuration information and the internal state number “ 1 ” is received on the back side of the real number register 432 and the internal state number register 433. Therefore, without stopping the operation of the processor element 41 group, the selectors 434 and 435 are switched, and the real number“ 1 ”of the configuration information is set.
  • the internal state number “1” is the front side.
  • the calculation unit 4 executes the calculation of the real number “1” of the configuration information and the internal state number “1”, that is, the state 5-1.
  • the state management unit 431 controls the transition to the next state corresponding to the event signal C based on the state transition table.
  • the state is an event signal that transitions from 5-1 to 5-2 and is a small-scale state transition that can be controlled by the state management unit 431, the state transition table includes the next internal state number in the corresponding part. 2 is marked.
  • the state management unit 431 writes the internal state number “2” on the front side of the internal state number register 433 and designates it as the processor element 41 group.
  • the state management unit 431 writes the event signal C to the STC 3 simultaneously with writing to the internal state number register 433 using deterministic transition information.
  • the STC 3 and the calculation unit 4 operate simultaneously.
  • the state management unit 31 receives the event signal C from the auxiliary control unit 43
  • the logical number “9” of the next state is set based on the current real number “1” and the event signal C according to the state transition table. Determine and notify the configuration number conversion unit 32.
  • start internal state number of the next state is x
  • the configuration number conversion unit 32 converts the logical number “9” into a real number using the conversion table. Here, the conversion is successful because it is already held in the configuration information memory.
  • the obtained real number “2” is transmitted to the back side of the real number register 432 and the state management unit 31. At this time, ⁇ 1, 2, x, x, x ⁇ is written in the next internal state number set 436 as a set of start internal state numbers.
  • the calculation unit 4 operates in the state 5-2. Here, it is assumed that two cycles remain in the state 5-2. In this cycle, an event signal for transitioning the internal state is not issued.
  • the calculation unit 4 operates in the state 5-2, and the auxiliary control unit 43 is notified of the event signal A as a calculation result from the processor element 41 group.
  • the event signal A is marked with Z according to FIG. As with the event signal Z, this means that the operation with the current logical number is terminated.
  • the event signal Z is not used because it is necessary to select the next internal state number from the next internal state number set 436 depending on the type of the event signal.
  • ⁇ 1, 2, x, x, x ⁇ is written in the next internal state number set 436, and the next internal state number corresponding to the event signal A is 1, so that this is stored in the internal state number register 433. Write on the back of the.
  • the selectors 434 and 435 are switched without stopping the operation of the processor element 41 group, and the real number “9” of the configuration information and the internal state number are switched. “1” is the front side.
  • the event signal C is notified to the state management unit 31 through the state management unit 431 according to the calculation result of the sixth cycle.
  • the real number 2 is obtained from the next logical number 9 in the cycle, and the operation of the state 9-1 is performed in the arithmetic unit in the eighth cycle.
  • one cycle of control by the STC 3 is required at the time of transition to a different state.
  • the event signal from the arithmetic unit is sent to the STC in the third cycle when the transition destination logical number is determined, the real number is obtained and waited, and the next internal state number set is obtained.
  • the present invention has been described as a hardware configuration, but the present invention is not limited to this.
  • the present invention can also realize arbitrary processing by causing a CPU (Central Processing Unit) to execute a computer program.
  • the computer program can be provided by being recorded on a recording medium, or can be provided by being transmitted via the Internet or another communication medium.
  • the storage medium includes, for example, a flexible disk, a hard disk, a magnetic disk, a magneto-optical disk, a CD-ROM, a DVD, a ROM cartridge, a battery-backed RAM memory cartridge, a flash memory cartridge, and a nonvolatile RAM cartridge.
  • the communication medium includes a wired communication medium such as a telephone line, a wireless communication medium such as a microwave line, and the like.
  • the present invention can be used for a data processing apparatus, a data processing method, and a data processing program.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

 状態遷移制御にかかる時間を減少させたデータ処理装置を提供する。本発明にかかるデータ処理装置は、現在の状態から他の状態への遷移が可能であるような状態遷移を持つデータ処理装置であって、データの演算処理を行う演算部20と、演算部20の演算に対する状態遷移制御を実行する状態管理部101を有する制御部10とを備えている。状態管理部101は、確定的な遷移状態を示す確定的遷移情報を用いて、状態の遷移が確定的であると判定した場合は、演算部20における現在の状態に関する演算が終了する前に、次の状態に関する状態遷移制御を開始するものである。

Description

データ処理装置、データ処理方法並びにデータ処理プログラムが格納された記録媒体
 本発明は、データ処理装置、データ処理方法並びにデータ処理プログラムに関し、特に所定の処理を実行する回路の変更が可能な再構成デバイスから成るデータ処理装置に関する。
 情報処理装置は、その利用範囲が広がり、より高度な演算処理あるいは画像や動画のように大量のデータを高速に処理する能力が要求されている。このような要求を満たすための手法として、ホストプロセッサとは別に特定の演算や処理を専用に実行するDSP(Digital Signal Processor)やASIC(Application Specific Integrated Circuit)等を備え、CPU等のホストプロセッサの処理負荷を軽減することによって情報処理装置としての処理能力を向上させた構成が知られている。
 しかしながら、近年の情報処理装置は、これら画像、動画、音声、音楽等のマルチメディアデータに対して様々な規格の圧縮/伸長処理や演算処理等が必要になり、またインターネット等のネットワークを介して各種データを送受信するための通信処理にも様々なプロトコルが用いられるようになってきている。さらに、ネットワーク上で送受信される情報の安全性が問題となっているため、情報セキュリティのための暗号化処理やそれを解読するための復号処理等も必要となる。そのため、これらの処理に合わせて多数のDSPやASIC等を設けていたのでは、情報処理装置の回路規模やコストが膨大なものとなってしまう。
 そこで、情報処理装置にFPGA(Field Programmable Gate Array)やCPLD(Complex Programmable Logic Device)あるいはDRP(Dynamically Reconfigurable Processor)等の再構成デバイスから成るデータ処理装置を備え、必要に応じてデータ処理装置内のプログラムを書き換えて処理を実行させることにより、情報処理装置のスループットを向上させると共に、コストを低減しつつ様々な処理要求への対応を可能にした構成が知られている。
 再構成デバイスは、内部にプログラム(オブジェクトコード)を格納するための内部メモリを備え、CPU等の制御により外部メモリに格納されたオブジェクトコードを内部メモリへロードし、ロードしたオブジェクトコードにしたがって内部に回路を構成し、入力されたデータに対して該回路により処理を実行する。
 なお、DRPについては、例えば特許文献1~6や非特許文献1にその詳細が記載されている。DRPは、演算処理を実行する演算部と、演算部の動作を制御する制御部とを備えた構成を有している。演算部は、小規模の複数の演算器とそれらの接続を切り替える相互接続部とを備え、各演算器及び相互接続部に対する命令コードを切り換えることによって各種の処理を実現する。
 DRPで実行可能な処理には様々な種類があり、例えば処理の途中でメモリから他のデータを読み出し、それらのデータを用いて処理を続行する場合もある。DRPは、内部メモリを備えているが、その記憶容量は限定されていることが多い。したがって、DRPによる処理では、処理途中で大きな記憶容量を必要とするテーブルやデータを参照する際に、それらが格納されたメモリへアクセスする必要がある。そのための処理方法については、例えば特許文献7や特許文献8に記載されている。
 上述したデータ処理装置では、処理対象となるデータに応じて生成された1つ以上の構成情報から成るオブジェクトコードに基づき処理を実行する場合、データ処理装置に格納された構成情報の位置を直接指定しつつ、処理を実行する手法が採られている。
 ここで、構成情報とは、ある時点における演算器に対する演算命令、相互接続部における各演算器の接続関係を示す情報、イベント信号とそれに対応して次に選択すべき構成情報の関係を示す情報等を備えた、データ処理装置内に仮想的に回路を構成するために必要な情報である。オブジェクトコードは、所望の処理を実行するために必要な構成情報の集まりを指す。
 しかしながら、このような方法では、データ処置装置に複数のオブジェクトコードを搭載すると、それらのオブジェクトコードが備える構成情報の格納位置が重なる場合は、それらが重ならないようにオブジェクトコードを合成し直す必要がある。
 また、データ処理装置に複数のオブジェクトコード、あるいは大規模なオブジェクトコードを搭載した結果、データ処理装置で保持可能な構成情報数を超えると、データ処理装置では、動作の停止、保持しているオブジェクトコードの入れ替え、再始動等の一連の処理を実行する必要がある。この動作のために外部にMPU等の処理装置が必要となる。その際、従来のデータ処理装置では、オブジェクトコードの合成時に決定した場所にしか構成情報を搭載できないため、同じ機能のコードから成る構成情報であっても、違う場所に搭載する場合は同じ機能のコードから成る構成情報を複数用意する必要がある。その場合、構成情報の共有化ができないため、データ処置装置で同じ構成情報を複数保持したり、同じ構成情報を再度書き換える等の処理が発生したりするため、処理が遅くなる問題があった。
 本件の発明者等は、上記したような問題点を解決し、構成情報の格納先の制限を無くすと共に構成情報の共有化が可能なデータ処理装置を提供することを目的とした発明提案を行った(特願2006-103987号)。
 この先願にかかる発明では、制御部に加え補助制御部を設けて制御構造を階層化し、補助制御部での動作時は従来のデータ処理装置に比べて高速な動作が可能であるとした。
 しかし、実際にアプリケーションを合成してオブジェクトコードを作成し、動作を検証した結果、制御部による遷移制御が多いアプリケーションも存在した。この場合、本来の実行時間に対し、制御部による遷移制御が占める時間が大きく動作所要時間が大幅に増加する。
特開2000-138579号公報 特開2000-224025号公報 特開2000-232354号公報 特開2000-232162号公報 特開2003-076668号公報 特開2003-099409号公報 特開2005-222141号公報 特開2005-222142号公報
Hideharu Amano, Akiya Jouraku, Kenichiro Anjo, "A Dynamically Adaptive Hardware on Dynamically Reconfigurable Processor", IEICE Transactions, Vol. E86-B, No.12, pp. 3385-3391, 2003.
 背景技術として説明したように、制御構造を階層化した状態遷移制御可能なデータ処理装置は処理が遅くなるという問題があった。
 本発明の目的は、上述した課題である状態遷移制御にかかる時間を減少させたデータ処理装置を提供することにある。
 本発明にかかるデータ処理装置は、現在の状態から他の状態への遷移が可能であるような状態遷移を持つデータ処理装置であって、データの演算処理を行う演算部と、前記演算部の演算に対する状態遷移制御を実行する状態管理部を有する制御部とを備え、前記状態管理部は、確定的な遷移状態を示す確定的遷移情報を用いて、状態の遷移が確定的であると判定した場合は、前記演算部における現在の状態に関する演算が終了する前に、次の状態に関する状態遷移制御を開始するものである。
 本発明により、状態遷移制御にかかる時間を減少させたデータ処理装置を提供することができる。
本発明のデータ処理装置の第1の実施の形態の構成を示すブロック図である。 本発明のデータ処理装置の第2の実施の形態の構成を示すブロック図である。 本発明のデータ処理装置で処理するオブジェクトコードの一例を示す状態遷移図である。 本発明のデータ処理装置の第3の実施の形態の構成を示すブロック図である。 本発明のデータ処理装置の第4の実施の形態の構成を示すブロック図である。 本発明のデータ処理装置の第5の実施の形態の構成を示すブロック図である。 本発明のデータ処理装置の第6の実施の形態の構成を示すブロック図である。 本発明のデータ処理装置の第7の実施の形態の構成を示すブロック図である。 本発明のデータ処理装置の第8の実施の形態の構成を示すブロック図である。 本発明のデータ処理装置の第9の実施の形態の構成を示すブロック図である。 本発明のデータ処理装置の第10の実施の形態の構成を示すブロック図である。 本発明のデータ処理装置の第1実施例の構成を示すブロック図である。 図12に示したデータ処理装置で用いる制御部の状態管理部で保持する状態遷移表の一例を示す模式図である。 従来のデータ処理装置で処理を行ったときのサイクル毎の動作例を示す模式図である。 図12に示したデータ処理装置で処理を行ったときのサイクル毎の動作例を示す模式図である。 従来のデータ処理装置で処理を行ったときのサイクル毎の動作例を示す模式図である。 図12に示したデータ処理装置で処理を行ったときのサイクル毎の動作例を示す模式図である。 図12に示したデータ処理装置で処理性能が従来に比べ2倍となる状態遷移図の部分例を示す模式図である。 本発明のデータ処理装置の第2実施例の構成を示すブロック図である。 図16に示したデータ処理装置で用いる制御部の状態管理部で保持する状態遷移表の一例を示す模式図である。 図16に示したデータ処理装置で用いる補助制御部の状態管理部で保持する状態遷移表の一例を示す模式図である。 従来のデータ処理装置で処理を行ったときのサイクル毎の動作例を示す模式図である。 図16に示したデータ処理装置で処理を行ったときのサイクル毎の動作例を示す模式図である。 本発明のデータ処理装置の第3実施例の構成を示すブロック図である。 図20に示したデータ処理装置で用いる制御部の状態管理部で保持する状態遷移表の一例を示す模式図である。 図20に示したデータ処理装置で用いる補助制御部の状態管理部で保持する状態遷移表の一例を示す模式図である。 従来のデータ処理装置、及び本発明の実施例1、実施例2で処理を行ったときのサイクル毎の動作例を示す模式図である。 図20に示したデータ処理装置で処理を行ったときのサイクル毎の動作例を示す模式図である。
 次に本発明の実施の形態について図面を参照して説明する。
(第1の実施の形態)
 図1は本発明のデータ処理装置の第1の実施の形態の構成を示すブロック図である。
 第1の実施の形態にかかるデータ処理装置は、制御部10、演算部20及び構成情報記憶部30を備えている。
 制御部10は、主として演算部20の制御を実行するものであり、状態管理部101を備えている。状態管理部101は、構成情報に含まれる現在の動作状態及び次に遷移する状態の候補群(遷移先候補群)と、演算部20からのイベント信号とにより、次の動作状態で使用する構成情報の実番号を決定し、該実番号を構成情報記憶部30に通知する。実番号は、構成情報記憶部30において構成情報が格納された位置を示す位置情報である。
 演算部20は、構成情報記憶部30において状態管理部101によって決定された実番号により指定された構成情報にしたがって演算処理を実行し、演算結果をイベント信号として、制御部10の状態管理部101に通知する。
 なお、上記各構成要素は、それぞれ図1に示す機能単位で独立して備える必要はない。任意の構成要素が他の構成要素に含まれていてもよく、任意の構成要素が複数の部品で構成されていてもよい。例えば、構成情報記憶部30を演算部20内に備える構成であってもよい。また、本実施の形態のように、必ずしも後述する実施の形態にある補助制御部と構成番号変換部とを有している必要はない。
 本実施形態のデータ処理装置における状態管理部101は、オブジェクトコードの合成時に抽出された確定的な遷移に関する情報(確定的遷移情報)を保持している。
 状態管理部101は、構成情報記憶部30に実番号を通知した後に、確定的な遷移に関する情報によって状態の遷移が確定的であると判断した場合には、演算部20から演算の終了後に発行されるイベント信号を受ける前に状態遷移制御を開始して、次に遷移する状態の実番号を決定し、イベント信号を受けた際には決定済みの実番号を構成情報記憶部30に通知する。これにより、状態管理部101がイベント信号を受けてから状態遷移制御を開始する場合よりも早く状態遷移をすることができ、状態遷移制御にかかる時間を減少させることができる。
(第2の実施の形態)
 図2は本発明のデータ処理装置の第2の実施の形態の構成を示すブロック図である。
 第2の実施の形態にかかるデータ処理装置は、制御部1と演算部2を有する。
 制御部1は、状態管理部11、構成番号変換部12及び構成書換部13を備えている。演算部2は、相互接続部22により接続される複数の演算器21、補助制御部23及び構成情報記憶部24を備えている。
 状態管理部11は、状態遷移表に従って、構成情報に含まれる現在の動作状態及び次に遷移する状態の候補群(遷移先候補群)と、演算部2からのイベント信号に基づいて、次の動作状態で使用する構成情報の論理番号を決定し、該論理番号を構成番号変換部12へ通知する。
 論理番号はオブジェクトコードに含まれる各構成情報の相互関係の情報を示す。この構成情報が実際に構成情報記憶部24に保存された位置が実番号によって特定される。
 構成番号変換部12は、変換表に従って、状態管理部11から通知された構成情報の論理番号を、構成情報記憶部24に保存された構成情報に対応する実番号に変換し、該実番号を補助制御部23及び状態管理部11へそれぞれ送信する。
 構成書換部13は、データ処理装置の初動時に構成情報記憶部24に構成情報を、状態管理部11と補助制御部の状態管理部231に状態遷移表を、構成番号変換部12に変換表を書き込む。
 また、構成番号変換部12から構成書換部13に書き換え要求が発行されると、構成書換部13は構成情報記憶部24に保存された構成情報のうち、現時点で不要な構成情報を書き換え要求時に指定された構成情報を構成情報記憶部24に出力することにより書き換える。また、構成書換部13は、構成番号変換部12の論理番号から実番号への変換処理に必要な変換情報である変換表を更新する。このとき、不要な構成情報の選択には、例えばLeast Recently Used(LRU)法等の周知の方法を用いればよい。
 構成書換部13は、基本的に書き換え要求に対して要求された構成情報を1つだけ書き換えるが、要求された構成情報と共にそれ以降に使用する構成情報も併せて書き換えてもよい。
 演算器21は、順次遷移する複数の動作状態毎に構成情報記憶部24から指定される構成情報にしたがって演算処理を実行する。
 相互接続部22は、構成情報記憶部24から通知された構成情報に基づき複数の演算器21の接続関係を切り換える。
 補助制御部23は、状態管理部231、実番号レジスタ232、内部状態番号レジスタ233を備える。状態管理部231は内部状態の管理を行い、内部状態レジスタ233を更新する。実番号レジスタ232は、現在の構成情報の実番号を保持し、構成情報記憶部24に対し構成情報の指定をする。内部状態番号レジスタ233は、現在の内部状態番号を保持し、演算器21および相互接続部22に対し内部状態を指定する。状態管理部231が管理する範囲外への状態遷移となるイベント信号が補助制御部23に通知された場合には、補助制御部23はイベント信号を制御部1の状態管理部11に発行する。
 なお、上記各構成要素は、それぞれ図2に示す機能単位で独立して備える必要はない。任意の構成要素が他の構成要素に含まれていてもよく、任意の構成要素が複数の部品で構成されていてもよい。例えば、構成情報記憶部24を分割し、分割後の構成情報記憶部24を、演算器21及び相互接続部22内にそれぞれ備える構成であってもよい。また、上記各構成要素は、その全てを1つの装置内に備える必要はない。例えば、構成書換部13を、外部に備える他の装置やMPU等で実現してもよい。
 構成情報には、ある時点における演算器21に対する演算命令、相互接続部22における各演算器21の接続関係を示す情報、イベント信号とそれに対応して次に選択すべき構成情報の論理番号の関係を示す情報を含んでいる。
 演算器21は、いわゆる算術演算器(ALU)等を1つだけ備えた構成、複数種類の演算器やレジスタ等の記憶素子を組み合わせた構成も含まれる。
 状態管理部11は、現在の状態とイベント信号とに基づき次に遷移すべき状態を決定することができればどのような構成であってもよい。状態管理部11は、例えば各状態間の遷移関係を示す対応表を備えた構成が考えられる。
 また、構成番号変換部12は、状態管理部11から指定された構成情報の論理番号を実番号に変換できればどのような構成であってもよく、例えば論理番号と実番号の対応関係を示す対応表を備えた構成、あるいは論理番号と実番号の相対値を基準に論理番号から実番号へ変換する機構を備えた構成等が考えられる。ここでは、構成番号変換部12が実施する論理番号から実番号へ変換するための処理で必要な上記対応表や相対値等を変換情報と総称する。
 以上の各構成要素に対する要件は、第2の実施の形態だけでなく、以下に記載する第3の実施の形態~第10の実施の形態でも共通である。
 また、本実施の形態における状態管理部11は、オブジェクトコードの合成時に抽出された確定的な遷移に関する情報として、遷移が確定的である論理番号への滞在サイクル数がオブジェクトコードの合成時に判明している場合の滞在サイクル数を保持している。
 状態管理部11は、遷移が確定的である論理番号への滞在サイクル数が保持されている場合には、この論理番号を構成番号変換部12に送出してから滞在サイクル数の経過後に、この論理番号からの遷移先の論理番号を構成番号変換部12に送出する。また、状態管理部11は、構成番号変換部12から実番号が送出されるのにあわせて開始内部状態番号を補助制御部23に送出する。
 本実施の形態のデータ処理装置によれば、状態管理部11が確定的な遷移に関する情報を備え、遷移が確定的である論理番号に続いて、遷移先の論理番号を適切なタイミングで構成番号変換部13に送出することとなる。これにより、状態管理部11は、演算部2からの現在の状態に関する演算の終了後に発行されるイベント信号を受ける前に、確定的な遷移を開始することができ、状態遷移制御にかかる時間を減少させることが可能である。この効果は遷移が確定的である論理番号に1サイクルしか滞在しない場合に顕著である。例えば、図3の論理番号1は1サイクルしか滞在しないことがオブジェクトコードの合成時に確定しているため、論理番号1への遷移を発行した次のサイクルで、演算部2からのイベント信号を待たずに論理番号2への遷移を開始することで、待ち無しでその実番号を得ることができる。
(第3の実施の形態)
 図4は本発明のデータ処理装置の第3の実施の形態の構成を示すブロック図である。
 第3の実施の形態にかかるデータ処理装置は、遷移が確定的である論理番号への滞在サイクル数がオブジェクトコードの合成時に判明している場合の滞在サイクル数を保持している部分が状態管理部11ではなく演算部2である点で第2の実施の形態と異なっている。
 補助制御部23は、内部状態の管理を行う。また、内部にオブジェクトコードの合成時に決められた、遷移が確定的である論理番号への滞在サイクル数が合成時に判明している場合の滞在サイクル数と、制御部1での制御に必要なサイクル数から求めた、状態管理部11にイベント信号を先行発行すべき時期を保持している。そのうちに、次論理番号への遷移が確定的となると、確定的遷移情報に基づき、実際に演算部2における現在の状態に関する演算が終了するよりも前の適切な時にイベント信号を状態管理部11に発行する。
 状態管理部11は、背景技術として説明した先願にかかる発明と同様の動作をする。異なるのは、遷移が確定的である場合に状態遷移制御を開始するのが前記先願にかかる発明よりも前倒しであることである。このとき、次状態の構成情報が構成情報記憶部24に存在し、論理番号に対応する実番号を取得できれば、補助制御部23は現在の論理番号での演算終了時に次論理番号に対応する実番号を受け取り、演算部2は待ち無しで次の論理番号に遷移して演算を継続できる。次状態の構成情報が構成情報記憶部24に存在しない場合は、補助制御部23は現在の論理番号での演算終了時に演算器21および相互接続部22を停止させ、構成書換部13による書き換えを待つ。このタイミングは、イベント信号を状態管理部に対して発行するタイミングからの差分として確定的遷移情報に含めるか、あるいは、演算器21および相互接続部22からのイベント信号として実現する。
 その他の制御部1及び演算部2の構成及び動作は第2の実施の形態で説明したデータ処理装置において対応する構成及びその動作と同様であるため、その説明は省略する。
 なお、本実施の形態においては、イベント信号を状態管理部11に先行発行することが重要であり、先行発行のための情報の格納場所は限定されない。先行発行の時期の情報は、補助制御部23内に格納する情報としてではなく、相互接続部22により接続される複数の演算器21を動作させるための情報として持たせても良い。
 本実施の形態のデータ処理装置によれば、演算部2からイベント信号を状態管理部11に先行発行することで、演算部2での現在の状態に関する演算の終了を待たずに状態遷移制御を開始することができ、状態遷移制御にかかる時間を減少させることが可能である。この効果は図3に示す論理番号2のような、論理番号内で分岐はするが、他の論理番号への遷移をする状態での遷移は確定的であり、分岐後は固定サイクルの動作後に別の論理番号に遷移する場合に顕著である。演算部2は、2-1から2-2もしくは2-3に遷移するときにイベント信号を状態管理部11に先行発行することで、待ち無しで遷移先の実番号を得ることができる。
 なお、同一論理番号の範囲における状態をグループとする。他の論理番号への状態遷移は、グループ間の状態遷移となり、同一論理番号内での分岐による状態遷移は、グループ内の状態遷移となる。
(第4の実施の形態)
 図5は本発明のデータ処理装置の第4の実施の形態の構成を示すブロック図である。
 第4の実施の形態にかかるデータ処理装置は、第2の実施の形態のデータ処理装置と第3の実施の形態のデータ処理装置を組み合わせたものとなっている。すなわち、確定的な遷移に関する情報が、制御部1の状態管理部11と演算部2の状態管理部231に分けて格納されている。ある論理番号からの遷移先が1つであれば、その情報を状態管理部11に保持する。ある論理番号からの遷移先が2つ以上であるが、論理番号内での状態遷移により遷移先が確定できる場合は、その情報を演算部2に保持する。
 その他の制御部1及び演算部2の構成及び動作は第2の実施の形態で説明したデータ処理装置において対応する構成及びその動作と同様であるため、その説明は省略する。
 本実施の形態のデータ処理装置によれば、第2の実施の形態および第3の実施の形態の構成を併せ持つことで、両方の効果を得ることができ、状態遷移制御にかかる時間もより改善する。
(第5の実施の形態)
 図6は本発明のデータ処理装置の第5の実施の形態の構成を示すブロック図である。
 第5の実施の形態にかかるデータ処理装置は、実番号レジスタ232および内部状態番号レジスタ233を2つと、そのセレクタ234、235を備えた点で第2の実施の形態のデータ処理装置と異なっている。
 本実施の形態のデータ処理装置が備える状態管理部11は、現在の状態にかかる論理番号からの遷移が確定的である場合には、該論理番号を構成番号変換部12に送出した次のサイクルに、該論理番号からの遷移先の論理番号を構成番号変換部12に送出する。また、開始内部状態番号を補助制御部23に送出する。構成番号変換部12は、遷移先の論理番号を実番号に変換する。
 これらの遷移先の実番号および開始内部状態番号は、実番号レジスタ232および内部状態番号レジスタ233の裏面に書き込まれる。
 のちに、状態管理部231が演算器21および相互接続部22からのイベント信号に基づいて、補助制御部23が管理する範囲を超えたと判断した場合には、実番号レジスタ232および内部状態番号レジスタ233の裏面への書き込みの有無を調べ、書き込み済みであれば、セレクタ234、235を切り替えることで次の実番号への遷移を行う。
 その他の制御部1及び演算部2の構成及び動作は第2の実施の形態で説明したデータ処理装置において対応する構成及びその動作と同様であるため、その説明は省略する。
 本実施の形態のデータ処理装置によれば、第2の実施の形態のデータ処理装置においては、遷移が確定的である状態への滞在サイクル数を事前に確定して状態管理部11に保持し、遷移先の実番号および開始内部状態番号の補助制御部23への送出タイミングを計る必要があったところを、ある論理番号からの遷移先の論理番号およびその開始内部状態番号が確定していれば、滞在サイクル数が事前に決定できない場合でも、事前に実番号の変換を行い開始内部状態番号とともに補助制御部23に通知しておくことにより、演算部2は必要な時にセレクタ234および235を切り替えるのみで待ち無しに次の論理番号に遷移して演算を継続できる。このため、状態遷移制御にかかる時間もより改善する。この効果は図3に示す論理番号3のような、該論理番号内でループを持ち、可変サイクルの動作後に特定の論理番号に遷移する場合に顕著である。あらかじめ遷移先である論理番号に対応する実番号を得ておくことで、待ち無しで該実番号を使用できる。
(第6の実施の形態)
 図7は本発明のデータ処理装置の第6の実施の形態の構成を示すブロック図である。 
 第6の実施の形態にかかるデータ処理装置は、実番号レジスタ232および内部状態番号レジスタ233を2つと、そのセレクタ234、235を備えた点で第3の実施の形態のデータ処理装置と異なっている。
 補助制御部23は、内部状態の管理を行う。また、補助制御部23は、内部にオブジェクトコードの合成時に決められた、次論理番号が確定する時点でイベント信号を状態管理部11に送出するための確定的遷移情報を保持している。そのうちに、次論理番号が確定すると、確定的遷移情報に基づき、状態管理部231は、実際に遷移するよりも前の適切な時にイベント信号を状態管理部11に発行する。
 本実施の形態のデータ処理装置が備える状態管理部11は、遷移先の論理番号を構成番号変換部12に送出する。また、開始内部状態番号を補助制御部23に送出する。
 これらの遷移先の実番号および開始内部状態番号は実番号レジスタ232および内部状態番号レジスタ233の裏面に書き込まれる。
 のちに、状態管理部231が演算器21および相互接続部22からのイベント信号に基づいて、補助制御部23が管理する範囲を超えたと判断した場合には、実番号レジスタ232および内部状態番号レジスタ233の裏面への書き込みの有無を調べ、書き込み済みであれば、セレクタ234、235を切り替えることで次の実番号への遷移を行う。
 その他の制御部1及び演算部2の構成及び動作は第2の実施の形態で説明したデータ処理装置において対応する構成及びその動作と同様であるため、その説明は省略する。
 本実施の形態のデータ処理装置によれば、第3の実施の形態のデータ処理装置においては、遷移が確定的である状態への滞在サイクル数を事前に確定して状態管理部231に保持し、イベント信号の送出タイミングを計る必要があったところを、ある論理番号からの遷移先の論理番号が確定した時点でイベント信号を状態管理部11に送出し、構成番号変換部12によって遷移先の論理番号から実番号への変換を行い補助制御部23に通知しておくことができる。また、演算部2は必要な時にセレクタ234および235を切り替えるのみで待ち無しに次の論理番号に遷移して演算を継続できる。このため、状態遷移制御にかかる時間もより改善する。この効果は図3に示す論理番号4のような、該論理番号内で分岐はするが、他の論理番号への遷移をする状態での遷移は確定的であり、かつループを持ち、可変サイクルの動作後に次の論理番号に遷移する場合に顕著である。あらかじめ遷移先である論理番号に対応する実番号を得ておくことで、待ち無しで実番号を使用できる。
(第7の実施の形態)
 図8は本発明のデータ処理装置の第7の実施の形態の構成を示すブロック図である。 
 第7の実施の形態にかかるデータ処理装置は、実番号レジスタ232および内部状態番号レジスタ233を2つと、そのセレクタ234、235を備えた点で第4の実施の形態のデータ処理装置と異なっている。言い換えれば、第5の実施の形態と第6の実施の形態とを組み合わせたものとなっている。
 論理番号の遷移時に次論理番号および開始内部状態番号が確定するのであれば、その時点で状態管理部11が遷移先の論理番号を構成番号変換部12に発行することで、また、内部状態番号の遷移時に次論理番号および開始内部状態番号が確定するのであれば、補助制御部23の状態管理部231が遷移先に対応したイベント信号を状態管理部11に発行することで、遷移先の論理番号を決定し、そこから構成番号変換部12によって論理番号を実番号に変換し、開始内部状態番号とともに実番号レジスタ232および内部状態番号レジスタ233の裏面に書き込んでおく。
 のちに、状態管理部231が演算器21および相互接続部22からのイベント信号に基づいて、補助制御部23が管理する範囲を超えたと判断した場合には、実番号レジスタ232および内部状態番号レジスタ233の裏面への書き込みの有無を調べ、書き込み済みであれば、セレクタ234、235を切り替えることで次の実番号への遷移を行う。
 その他の制御部1及び演算部2の構成及び動作は第2の実施の形態で説明したデータ処理装置において対応する構成及びその動作と同様であるため、その説明は省略する。
 本実施の形態のデータ処理装置によれば、第4の実施の形態のデータ処理装置においては、状態への滞在サイクル数を事前に確定して状態管理部11および状態管理部231に保持し、遷移先の論理番号の送出タイミングおよびイベント信号の送出タイミングを計る必要があったところを、ある論理番号からの遷移先の論理番号が確定した時点で遷移先の論理番号またはイベント信号を送出し、実番号への変換を行い補助制御部23に通知しておくことができる。また、演算部2は必要な時にセレクタ234および235を切り替えるのみで待ち無しに次の論理番号に遷移して演算を継続できる。このため、状態遷移制御にかかる時間もより改善する。
(第8の実施の形態)
 図9は本発明のデータ処理装置の第8の実施の形態の構成を示すブロック図である。 
 第8の実施の形態にかかるデータ処理装置は、内部状態番号レジスタ233と状態管理部11との間に次内部状態番号セット236を備えた点で第5の実施の形態のデータ処理装置と異なっている。
 本実施の形態のデータ処理装置が備える状態管理部11は、現在の論理番号からの遷移が確定的である場合には、次の論理番号における開始内部状態番号候補群を次内部状態番号セット236に送信する。
 状態管理部231は、次の実番号を実番号レジスタ232に、次の開始内部状態番号候補群を次内部状態番号セット236に受け取っている状態で、現在の論理番号での演算の終了を表すイベント信号を演算器21および相互接続部22から受け取った場合には、該イベント信号に基づいて次内部状態番号セット236の開始内部状態番号候補群より開始内部状態番号を選択し、内部状態番号レジスタ233に書き込みつつ、セレクタ234および235を切り替え、実番号レジスタ232と内部状態番号レジスタ233の出力より次実番号および開始内部状態番号を取得し、これらを用いて演算器21および相互接続部22における演算を継続させる。
 その他の制御部1及び演算部2の構成及び動作は第5の実施の形態で説明したデータ処理装置において対応する構成及びその動作と同様であるため、その説明は省略する。
 本実施の形態のデータ処理装置によれば、第5の実施の形態のデータ処理装置と比較して、ある論理番号からの遷移先の論理番号が確定していれば、開始内部状態番号が確定できなくとも、事前に論理番号の変換を行い開始内部状態番号候補群とともに補助制御部23に通知しておくことにより、演算部2は必要な時に次内部状態番号セット236から開始内部状態番号を選択し、セレクタ234および235を切り替えるのみで待ち無しに次の論理番号に遷移して演算を継続できる。このため、状態遷移制御にかかる時間もより改善する。
(第9の実施の形態)
 図10は本発明のデータ処理装置の第9の実施の形態の構成を示すブロック図である。
 第9の実施の形態にかかるデータ処理装置は、内部状態番号レジスタ233と状態管理部11との間に次内部状態番号セット236を備えた点で第6の実施の形態のデータ処理装置と異なっている。
 本実施の形態のデータ処理装置が備える状態管理部231は、次の論理番号が確定した時点でイベント信号を状態管理部11に送信する。このとき、次の論理番号における開始内部状態番号が確定できない状態であって良い。
 状態管理部11は、イベント信号を状態管理部231から受け取ると、次の論理番号を決定する。この、次の論理番号における開始内部状態番号を決定せずに、開始内部状態番号候補群を次内部状態番号セット236に送信する。
 状態管理部231は、次の実番号を実番号レジスタ232に、次の内部状態番号セットを次内部状態番号セット236に受け取っている状態で、現在の論理番号での演算の終了を表すイベント信号を演算器21および相互接続部22から受け取った場合には、該イベント信号により次内部状態番号セット236の開始内部状態番号の候補より開始内部状態番号を選択し、内部状態番号レジスタ233に書き込みつつ、セレクタ234および235を切り替え、実番号レジスタ232と内部状態番号レジスタ233の出力より次構成番号および開始内部状態番号を取得し、これらを用いて演算器21および相互接続部22における演算を継続させる。
 その他の制御部1及び演算部2の構成及び動作は第6の実施の形態で説明したデータ処理装置において対応する構成及びその動作と同様であるため、その説明は省略する。
 本実施の形態のデータ処理装置によれば、第6の実施の形態のデータ処理装置と比較して、ある論理番号からの遷移先の論理番号が確定していれば、開始内部状態番号が確定できなくとも、事前に論理番号の変換を行い開始内部状態番号候補群とともに補助制御部23に通知しておくことにより、演算部2は必要な時に次内部状態番号セット236から開始名部状態番号を選択し、セレクタ234および235を切り替えるのみで待ち無しに次の論理番号に遷移して演算を継続できる。このため、状態遷移制御にかかる時間もより改善する。この効果は図3に示す論理番号5のような、他の論理番号への遷移をする状態での遷移は確定的であり、かつループを持ち、可変サイクルの動作後に次の論理番号に遷移する場合に顕著である。あらかじめ遷移先である論理番号に対応する実番号を得ておくことで、待ち無しで実番号を使用できる。
(第10の実施の形態)
 図11は本発明のデータ処理装置の第10の実施の形態の構成を示すブロック図である。 第10の実施の形態にかかるデータ処理装置は、内部番号レジスタ233と状態管理部11との間に次内部状態番号セット236を備えた点で第7の実施の形態のデータ処理装置と異なっている。
 制御部1及び演算部2の構成及び動作は第5の実施の形態に対する第8の実施の形態、および第6の実施の形態に対する第9の実施の形態をあわせたものと対応する構成及びその動作は同様であるため、その説明は省略する。
 本実施の形態のデータ処理装置によれば、第7の実施の形態のデータ処理装置と比較して、ある論理番号からの遷移先の論理番号が確定していれば、開始内部状態番号が確定できなくとも、事前に論理番号の変換を行い開始内部状態番号候補群とともに通知しておくことにより、演算部2は必要な時に次内部状態番号セット236から開始内部状態番号を選択し、セレクタ234および235を切り替えるのみで待ち無しに次の論理番号に遷移して演算を継続できる。このため、状態遷移制御にかかる時間もより改善する。
 次に本発明のデータ処理装置の実施例について図面を用いて説明する。
 (第1実施例)
 第1実施例は背景技術として説明した先願にかかる発明であるデータ処理装置に記載のデータ処理装置に本発明の第2の実施の形態を適用した例である。
 図12は本発明のデータ処理装置の第1実施例の構成を示すブロック図である。
 本実施例は、前記先願にかかる発明(先願発明)のデータ処理装置における状態遷移管理部(STC)3にのみ変更を加え、演算部4には変更を加えていない。
 本実施例の演算部4は、レジスタファイル(RFU)、ALU、データ処理演算器(DMU)を備えた複数のプロセッサエレメント41(PE)を有し、各プロセッサエレメントが配線及びスイッチ(SW)により相互に接続される構成である。このような構成では、RFU、FFU、ALU及びDMU等を備える各プロセッサエレメント41が、第2の実施の形態で示した演算器となる。なお、演算部4は、上記プロセッサエレメント41に限らず、例えばロジックアレイを用いて形成してもよい。
 補助制御部(MSTC)43は、状態遷移管理部(STC)3と同様に状態管理部431を備えており、論理番号内に留まる場合の内部状態の管理を行う。また、現在の実番号と内部状態番号を保持するために、実番号レジスタ432と、内部状態番号レジスタ433を備えている。
 また、本実施例の制御部は、状態管理部31、構成番号変換部32、構成書換部33を備えたDRPの状態遷移管理部(STC)3に相当する。本実施例では、上記プロセッサエレメント41群、補助制御部43及び状態遷移管理部3の組をタイルと称す。
 本実施例では、状態管理部31に、確定的遷移情報を保持している。
 本実施例では、各プロセッサエレメント41及び状態遷移管理部(STC)3内に分割して配置されたメモリ(以下、構成情報メモリと称す)が構成情報記憶部となる。
 また、本実施例では、外部にオブジェクトコードが格納された外部メモリ(記憶手段)6を備え、構成書換部33を用いて該外部メモリ6からオブジェクトコードを取得できるものとする。
 以下、図3で示す状態遷移図に従って処理を実行する場合を例にして本実施例のデータ処理装置の動作について説明する。
 本実施例では、データ処理装置(DRP)が備える命令メモリに論理番号0と1の構成情報が保持されているものとする。このときの状態管理部31の有する状態遷移表を図13に示す。
 論理番号0の構成情報は実番号0に、論理番号1の構成情報は実番号1に書き込まれている。
 状態管理部31における各実番号の確定的遷移情報に0が書き込まれている場合、該当する論理番号への滞在サイクル数もしくは遷移先の論理番号が合成時に決定できなかったことを意味しており、この場合には、動作は先願発明と変わらない。
 状態管理部31における各実番号の確定的遷移情報に0以外が書き込まれている場合、該当する論理番号への滞在サイクル数および遷移先論理番号がオブジェクトコードの合成時に決定できたことを意味し、その数値が滞在サイクル数を示している。図13においては、実番号1に書き込まれている論理番号1においては、1サイクルの滞在後に次論理番号に遷移することを意味している。
 以下、1サイクル目において、論理番号「0」の構成情報に含まれる内部状態番号「1」(状態0-1)の処理を実行している状態からの動作を考える。
 このとき、演算部4の各プロセッサエレメント41に現状態の構成情報が通知され、各プロセッサエレメント41の動作とスイッチの接続関係が決定する。その結果、各プロセッサエレメント41で所定の演算が実行される。
 演算結果がイベント信号として補助制御部43の状態管理部431に通知されると、状態管理部431はそのイベント信号に対応する状態遷移表に基づき次の状態への遷移を制御する。ここでは、状態管理部431では制御できない大規模な状態遷移であるため、状態管理部431は、プロセッサエレメント41群に動作を停止させるためのWEキャンセル信号を発行する。プロセッサエレメント41のレジスタはこの信号により、内容更新を受け付けなくなる。また、外部ポートからのデータ入力動作も停止する。
 補助制御部43は、WEキャンセル信号の発行と同時に状態管理部31にイベント信号を送出する。
 2サイクル目において、状態管理部31は、補助制御部43からイベント信号を受け取ると、状態遷移表にしたがって、現在の実番号「0」とイベント信号Aとに基づき次の状態の論理番号「1」を決定し、構成番号変換部32へ通知する。また、次の状態の開始内部状態番号「1」を決定する。
 構成番号変換部32は、変換表を用いて論理番号「1」を実番号に変換する。ここでは、すでに構成情報メモリで保持されているため変換に成功する。得られた実番号「1」を実番号レジスタ432及び状態管理部31へ送信する。また、このときに開始内部状態番号を内部状態番号レジスタ433に送信する。
 補助制御部43は、構成情報の実番号「1」と開始内部状態番号「1」とを実番号レジスタ432及び内部状態番号レジスタ433に受け取ると、プロセッサエレメント41群に対して次の状態の構成情報を指定する。そして、WEキャンセルの発行を停止し、プロセッサエレメント41群に動作を再開させる。
 3サイクル目において、状態管理部31は、実番号「1」を受け取ると、該当番号の確定的遷移情報を取得する。ここでは「1」が取得できるため、現在の実番号「1」の演算部4での実行は1サイクルで終了すること、およびその次の遷移先は決まっていることがわかる。遷移先はイベント信号Aに対応する状態2-1である。
 本実施例では、3サイクル目で、状態管理部31は確定的遷移情報に基づき、次の状態の論理番号「2」を決定し、構成番号変換部32へ通知する。
 構成番号変換部32は、変換表を用いて論理番号「2」を実番号に変換する。ここでは、次の状態の構成情報が構成情報メモリに保持されていないため、変換表には対応する実番号が無く、実番号への変換に失敗する。その場合、構成番号変換部32は構成書換部33に対して論理番号「2」の構成情報の書き換えを要求する。
 これと同時に、演算部4では状態1-1の処理を実行する。演算結果がイベント信号として補助制御部43に通知されると、補助制御部43はそのイベント信号に対応する状態遷移表に基づき次の状態への遷移を制御する。ここでは、補助制御部43では制御できない大規模な状態遷移であるため、補助制御部43は、プロセッサエレメント41群に動作を停止させるためのWEキャンセル信号を発行する。プロセッサエレメント41のレジスタはこの信号により、内容更新を受け付けなくなる。また、外部ポートからのデータ入力動作も停止する。
 補助制御部43は、WEキャンセル信号の発行と同時に状態管理部31にイベント信号を送出する。状態管理部31は、補助制御部43からイベント信号を受け取るが、すでに確定的遷移情報により次状態の論理番号2を構成番号変換部32へ送出済みであるので、その事後確認に留まり、構成番号変換部32への通知は行わない。
 先願発明(日本特許出願2006-103987)であれば、演算部4での実行は3サイクル目において行い、イベント信号を送出する。STCは4サイクル目に動作する。この違いを図14A~14Dに示す。横軸にサイクルをとり、何サイクル目かを横軸の上に示している。先願発明(日本特許出願2006-103987)であれば、図14Aに示すように、2サイクル目に変換により得た実番号1により3サイクル目に演算部が動作し、そのイベント信号により、4サイクル目にSTCが次論理番号2の変換を試みている。本実施例は図14Bに示すように、2サイクル目に変換により得た実番号1を直接3サイクル目でSTCが確定的遷移情報とあわせて使用している。これにより1サイクルの短縮を実現し、状態遷移制御にかかる時間を減少させている。
 なお、本例では遷移先の構成情報が書き込まれておらず、書き換えに100サイクルかかるとしている。そのため、図14Aでは書き換え後の状態2-1の動作が先願発明では105サイクル目、本実施例では104サイクル目となっている。
 遷移先の構成情報が書き込まれている場合には、この書き換えの部分がなくなるだけであり、状態2-1の動作が先願発明では図14Cに示すように5サイクル目、本実施例では図14Dに示すように4サイクル目となり、本実施例が1サイクル有利となる点には変わりない。
 特に、図15のように、1論理番号に1内部状態であり、内部状態での自己ループはなく、複数の論理番号のループとなっているような場合には、本実施例により性能が2倍となる。
 (第2実施例)
 第2実施例は前記先願にかかる発明データ処理装置に本発明の第6の実施の形態を適用した例である。
 図16は本発明のデータ処理装置の第6実施例の構成を示すブロック図である。
 本実施例は、前記先願にかかる発明のデータ処理装置における演算部4にのみ変更を加え、状態遷移管理部(STC)3には変更を加えていない。
 本実施例の演算部4は、レジスタファイル(RFU)、ALU、データ処理演算器(DMU)を備えた複数のプロセッサエレメント41(PE)を有し、各プロセッサエレメントが配線及びスイッチ(SW)により相互に接続される構成である。このような構成では、RFU、FFU、ALU及びDMU等を備える各プロセッサエレメント41が、第6の実施の形態で示した演算器となる。なお、演算部4は、上記プロセッサエレメント41に限らず、例えばロジックアレイを用いて形成してもよい。
 補助制御部(MSTC)43は、状態遷移管理部(STC)3と同様に状態管理部431を備えており、論理番号内に留まる場合の内部状態の管理を行う。
 また、本実施例の制御部は、状態管理部31、構成番号変換部32、構成書換部33を備えたDRPの状態遷移管理部(STC)3に相当する。本実施例では、上記プロセッサエレメント41群、補助制御部43及び状態遷移管理部3の組をタイルと称す。
 本実施例では、補助制御部43の状態管理部431に、確定的遷移情報を保持している。また、現在の実番号と内部状態番号を保持するために、実番号レジスタ432と、内部状態番号レジスタ433を備えている。これらはエントリを2つ持ち、セレクタ434および435での切り替えが可能である。以下、セレクタによって選択されている側のレジスタを表面、そうでない側のレジスタを裏面と呼ぶ。
 本実施例では、各プロセッサエレメント41及び状態遷移管理部(STC)3内に分割して配置されたメモリ(以下、構成情報メモリと称す)が構成情報記憶部となる。
 また、本実施例では、外部にオブジェクトコードが格納された外部メモリ(記憶手段)6を備え、構成書換部33を用いて該外部メモリ6からオブジェクトコードを取得できるものとする。
 状態管理部31で持つ状態遷移表の例を図17に、補助制御部43の状態管理部431で持つ状態遷移表の例を図18に示す。
 これらの図では、実番号6に対応する遷移先の各番号が記されていないが、これは図3の状態遷移図でも規定していないため、何かしらの情報が書き込まれている。「-」で示す、何も書き込まれていない部分とは状態が異なる。
 以下、図3で示す状態遷移図に従って処理を実行する場合を例にして本実施例のデータ処理装置の動作について説明する。
 本実施例では、データ処理装置(DRP)が備える命令メモリに論理番号0から6までの構成情報が保持されているものとする。このときの状態管理部31の有する状態遷移表を図17に示す。
ここでは、論理番号0の構成情報は実番号0に書き込まれ、論理番号1の構成情報は実番号1に書き込まれ…と、論理番号と実番号が一致しているとする。実際には、構成番号変換部32によって対応付けられるため、如何様に書き込まれていてもよい。
 状態管理部431にイベント信号が通知された場合、現在の実番号との組に対する次内部状態番号が記されている場合、状態管理部431はこの次内部状態番号を内部状態番号レジスタ433の表面に書き込むことで状態遷移させる。現在の実番号との組に対する次内部状態番号が記されていない場合には、状態管理部431は、プロセッサエレメント41群に動作を停止させるためのWEキャンセル信号を発行し、イベント信号をSTC3に通知する。
 状態管理部431における各実番号とイベント信号の組に対する確定的遷移情報に1が書き込まれている場合、該当する内部状態遷移において、次の論理番号が確定できることを意味している。このイベント信号を内部遷移に使用しつつ、同時に状態管理部31に通知することで、STC3は次論理番号に対応する実番号の準備を行う。
 状態管理部431における各実番号とイベント信号の組に対する確定的遷移情報に0が書き込まれている場合、該当する内部状態遷移のみを取り扱う。
 また、図18にはイベント信号AからEのみが記されているが、状態管理部431はプロセッサエレメント41群から特別なイベント信号Zを通知された場合には、状態遷移を行わずにプロセッサエレメント41群に動作を停止させるためのWEキャンセル信号発行のみを行う。そして、STC3から実番号及び内部状態番号の通知を受けるまで停止し、通知により次論理番号上での動作を開始する。また、イベント信号Zの確定的遷移情報は必ず0である。
 以下、1サイクル目において、論理番号「2」の構成情報に含まれる内部状態番号「1」(状態2-1)の処理を実行している状態からの動作を考える。
 このとき、演算部4の各プロセッサエレメント41に現状態の構成情報が通知され、各プロセッサエレメント41の動作とスイッチの接続関係が決定する。その結果、各プロセッサエレメント41で所定の演算が実行される。
 演算結果がイベント信号Aとして状態管理部431に通知されると、状態管理部431は状態遷移表に基づきイベント信号Aに対応する次の状態への遷移を制御する。ここでは、状態は2-1から2-2へ遷移するイベント信号であったとすると、状態管理部431で制御可能な小規模な状態遷移であるため、状態遷移表には該当部分に次の内部状態番号2が記されている。状態管理部431は内部状態番号レジスタ433の表側に内部状態番号「2」を書き込み、プロセッサエレメント41群に指定する。
 ここで、状態管理部431は、確定的遷移情報により、内部状態番号レジスタ433に書き込むと同時に、STC3に対してもイベント信号Aを通知する。
 2サイクル目には、STC3と演算部4が同時に動作する。STC3では、状態管理部31が補助制御部43からイベント信号Aを受け取ると、状態遷移表にしたがって、現在の実番号「2」とイベント信号Aとに基づき次の状態の論理番号「3」を決定し、構成番号変換部32へ通知する。また、次の状態の開始内部状態番号「1」を決定する。
 構成番号変換部32は、変換表を用いて論理番号「3」を実番号に変換する。ここでは、すでに構成情報メモリで保持されているため変換に成功する。得られた実番号「3」を実番号レジスタ432の裏面、及び状態管理部31へ送信する。また、このときに状態管理部31は、開始内部状態番号を内部状態番号レジスタ433に送信する。
 演算部4は状態2-2で動作し、補助制御部43は、プロセッサエレメント41群から演算結果としてイベント信号Zを通知される。イベント信号Zは現論理番号での動作を終了しプロセッサエレメント41群の動作を停止させSTCからの通知を待つ意味を持つが、同時にSTCから構成情報の実番号「3」と内部番号「1」とを実番号レジスタ432及び内部状態番号レジスタ433の裏側に受け取っているため、プロセッサエレメント41群の動作は停止させずに、セレクタ434および435を切り替え、構成情報の実番号「3」と内部番号「1」とを表側とする。
 3サイクル目には、演算部4は、構成情報の実番号「3」と内部番号「1」、すなわち状態3-1の演算を実行する。
 演算結果がイベント信号Aとして状態管理部431に通知されると、状態管理部431は状態遷移表に基づきイベント信号Aに対応する次の状態への遷移を制御する。ここでは、状態は3-1から3-2へ遷移するイベント信号であり、状態管理部431で制御可能な小規模な状態遷移であるため、状態遷移表には該当部分に次の内部番号2が記されている。状態管理部431は内部状態番号レジスタ433の表側に内部状態番号「2」を書き込み、プロセッサエレメント41群に指定する。
 ここで、状態管理部431は、確定的遷移情報により、内部状態番号レジスタ433に書き込むと同時に、STC3に対してもイベント信号Aを通知する。
 4サイクル目には、STC3と演算部4が同時に動作する。STC3では、状態管理部31が補助制御部43からイベント信号Aを受け取ると、状態遷移表にしたがって、現在の実番号「3」とイベント信号Aとに基づき次の状態の論理番号「6」を決定し、構成番号変換部32へ通知する。また、次の状態の開始内部状態番号「1」を決定する。
 構成番号変換部32は、変換表を用いて論理番号「6」を実番号に変換する。ここでは、すでに構成情報メモリで保持されているため変換に成功する。得られた実番号「6」を実番号レジスタ432の裏面、及び状態管理部31へ送信する。また、このときに開始内部状態番号を内部状態番号レジスタ433に送信する。
 演算部4は状態3-2で動作する。ここでは、状態3-2に2サイクル留まるとする。このサイクルでは、内部状態を遷移させるためのイベント信号は発行されない。
 5サイクル目も、演算部4は状態3-2で動作し、補助制御部43は、プロセッサエレメント41群から演算結果としてイベント信号Zを通知される。イベント信号Zは現論理番号での動作を終了しプロセッサエレメント41群の動作を停止させSTCからの通知を待つ意味を持つが、すでにSTCから構成情報の実番号「6」と内部番号「1」とを実番号レジスタ432及び内部状態番号レジスタ433の裏側に受け取っているため、プロセッサエレメント41群の動作は停止させずに、セレクタ434および435を切り替え、構成情報の実番号「6」と内部状態番号「1」とを表側とする。
 6サイクル目には、状態6-1の演算を実行する。以後、同様に状態遷移表に従い動作していく。
 以上の動作例には示さなかったが、論理番号3,4からの論理番号6,7,8への遷移も同様に演算と制御の並行実行が可能であり、先願発明と比較してサイクル数を削減できる。ただし、論理番号5からの遷移は遷移先の論理番号は確定できても、開始内部状態番号が確定できないため、本実施例では先願に発明と同様に演算部を1サイクル停止させてSTCによる制御を行う必要がある。
 先願発明であれば、図19Aに示すように2サイクル目の演算結果によりイベント信号Aが状態管理部431を通じて状態管理部31に通知され、3サイクル目に次論理番号3から実番号3を得て、4サイクル目に演算部で状態3-1の動作をする。というように、異なる状態への遷移時にSTC3による制御が1サイクル必要であったが、本実施例では、図19Bに示すように、このSTC3による制御が可能なときには、制御を演算部4の動作と並行して行えるように、遷移先が確定した時点で演算部4からのイベント信号をSTCに送出し、また実番号を待ち合わせる仕組みを補助制御部43に備えることで実行に必要なサイクル数を削減し、状態遷移制御にかかる時間を減少させている。
 (第3実施例)
 第3実施例は前記先願にかかる発明のデータ処理装置に本発明の第10の実施の形態を適用した例である。
 図20は本発明のデータ処理装置の第10実施例の構成を示すブロック図である。
 本実施例は、前記先願にかかる発明のデータ処理装置における状態遷移管理部(STC)3および演算部4の両方に変更を加えている。
 本実施例の演算部4は、レジスタファイル(RFU)、ALU、データ処理演算器(DMU)を備えた複数のプロセッサエレメント41(PE)を有し、各プロセッサエレメントが配線及びスイッチ(SW)により相互に接続される構成である。このような構成では、RFU、FFU、ALU及びDMU等を備える各プロセッサエレメント41が、第10の実施の形態で示した演算器となる。なお、演算部4は、上記プロセッサエレメント41に限らず、例えばロジックアレイを用いて形成してもよい。
 補助制御部(MSTC)43は、状態遷移管理部(STC)3と同様に状態管理部431を備えており、論理番号内に留まる場合の内部状態の管理を行う。
 また、本実施例の制御部は、状態管理部31、構成番号変換部32、構成書換部33を備えたDRPの状態遷移管理部(STC)3に相当する。本実施例では、上記プロセッサエレメント41群、補助制御部43及び状態遷移管理部3の組をタイルと称す。
 本実施例では、状態管理部31および補助制御部43の状態管理部431に、確定的遷移情報を保持している。また、現在の実番号と内部状態番号を保持するために、実番号レジスタ432と、内部状態番号レジスタ433を備えている。これらはエントリを2つ持ち、セレクタ434および435での切り替えが可能である。以下、セレクタによって選択されている側のレジスタを表面、そうでない側のレジスタを裏面と呼ぶ。
 また、状態管理部31と内部状態番号レジスタ433との間に次内部状態番号セット436を設ける。これにより、確定的遷移を行う場合に論理番号を事前に確定できても、その開始内部状態番号は実際に遷移するときまで確定できない場合にも、演算部4の停止なしに論理番号を遷移させることを可能とする。
 本実施例では、各プロセッサエレメント41及び状態遷移管理部(STC)3内に分割して配置されたメモリ(以下、構成情報メモリと称す)が構成情報記憶部となる。
 また、本実施例では、外部にオブジェクトコードが格納された外部メモリ(記憶手段)6を備え、構成書換部33を用いて該外部メモリ6からオブジェクトコードを取得できるものとする。
 状態管理部31で持つ状態遷移表の例を図21に、補助制御部の状態管理部431で持つ状態遷移表の例を図22に示す。
 これらの図では、実番号2に対応する遷移先の各番号が記されていないが、これは図3の状態遷移図でも規定していないため、何かしらの情報が書き込まれている。実番号3以降の「-」で示す、何も書き込まれていない部分とは状態が異なる。
 以下、図3で示す状態遷移図に従って処理を実行する場合を例にして本実施例のデータ処理装置の動作について説明する。
 本実施例では、データ処理装置(DRP)が備える命令メモリに論理番号2,5,9の構成情報が保持されているものとする。このときの状態管理部31の様子を図21に示す。
 ここでは、論理番号2の構成情報は実番号0に書き込まれ、論理番号5の構成情報は実番号1に書き込まれ、論理番号9の構成情報は実番号2に書き込まれているとする。これらは、構成番号変換部32によって対応付けられており、論理番号から書き込まれている実番号を検索することができる。
 本実施例では、論理番号1のように、ある論理番号に1サイクルのみ留まり、かつ遷移先が確定的である場合に、その確定的遷移情報を状態管理部31に持たせる。それ以外の確定的遷移情報は補助制御部43の状態遷移部431に持たせる。
 状態管理部31における各実番号の確定的遷移情報に1が書き込まれている場合、該当する論理番号への滞在サイクル数が1であり、かつ遷移先論理番号がオブジェクトコードの合成時に決定できたことを意味する。
 状態管理部431にイベント信号が通知された場合、現在の実番号との組に対する次内部状態番号が記されている場合、状態管理部431はこの次内部状態番号を内部状態番号レジスタ433の表面に書き込むことで状態遷移させる。現在の実番号との組に対する次内部状態番号が記されていない場合には、状態管理部431は、プロセッサエレメント41群に動作を停止させるためのWEキャンセル信号を発行し、イベント信号をSTC3に通知する。
 状態管理部431における各実番号とイベント信号の組に対する確定的遷移情報に1が書き込まれている場合、該当する内部状態遷移において、次の論理番号が確定できることを意味している。このイベント信号を内部遷移に使用しつつ、同時に状態管理部31に通知することで、STC3は次論理番号に対応する実番号の準備を行う。
 状態管理部431における各実番号とイベント信号の組に対する確定的遷移情報に0が書き込まれている場合、該当する内部状態遷移のみを取り扱う。
 また、図22にはイベント信号AからEのみが記されているが、状態管理部431はプロセッサエレメント41群から特別なイベント信号Zを通知された場合には、状態遷移を行わずにプロセッサエレメント41群に動作を停止させるためのWEキャンセル信号発行のみを行う。そして、STC3からの通知を受けるまで停止し、通知により次論理番号上での動作を開始する。また、イベント信号Zの確定的遷移情報は必ず0である。
 以下、1サイクル目において、論理番号「2」の構成情報に含まれる内部状態番号「1」(状態2-1)の処理を実行している状態からの動作を考える。
 このとき、演算部4の各プロセッサエレメント41に現状態の構成情報が通知され、各プロセッサエレメント41の動作とスイッチの接続関係が決定する。その結果、各プロセッサエレメント41で所定の演算が実行される。
 演算結果がイベント信号Cとして状態管理部431に通知されると、状態管理部431は状態遷移表に基づきイベント信号Cに対応する次の状態への遷移を制御する。ここでは、状態は2-1から2-4へ遷移するイベント信号であったとすると、状態管理部431で制御可能な小規模な状態遷移であるため、状態遷移図には該当部分に次の内部状態番号4が記されている。状態管理部431は内部状態番号レジスタ433の表側に内部状態番号「4」を書き込み、プロセッサエレメント41群に指定する。
 ここで、状態管理部431は、確定的遷移情報により、内部状態番号レジスタ433に書き込むと同時に、STC3に対してもイベント信号Cを通知する。
 2サイクル目には、STC3と演算部4が同時に動作する。STC3では、状態管理部31が補助制御部43からイベント信号Cを受け取ると、状態遷移表にしたがって、現在の実番号「0」とイベント信号Cとに基づき次の状態の論理番号「5」を決定し、構成番号変換部32へ通知する。また、次の状態の開始内部状態番号「1」を決定する。
 構成番号変換部32は、変換表を用いて論理番号「5」を実番号に変換する。ここでは、すでに構成情報メモリで保持されているため変換に成功する。得られた実番号「1」を実番号レジスタ432の裏面、及び状態管理部31へ送信する。また、このときに開始内部状態番号を内部状態番号レジスタ433に送信する。
 演算部4は状態2-4で動作し、補助制御部43は、プロセッサエレメント41群から演算結果としてイベント信号Zを通知される。イベント信号Zは現在の論理番号での動作を終了しプロセッサエレメント41群の動作を停止させSTCからの通知を待つ意味を持つが、同時にSTCから構成情報の実番号「1」と内部状態番号「1」とを実番号レジスタ432及び内部状態番号レジスタ433の裏側に受け取っているため、プロセッサエレメント41群の動作は停止させずに、セレクタ434および435を切り替え、構成情報の実番号「1」と内部状態番号「1」とを表側とする。
 3サイクル目には、演算部4は、構成情報の実番号「1」と内部状態番号「1」、すなわち状態5-1の演算を実行する。
 演算結果がイベント信号Cとして状態管理部431に通知されると、状態管理部431は状態遷移表に基づきイベント信号Cに対応する次の状態への遷移を制御する。ここでは、状態は5-1から5-2へ遷移するイベント信号であり、状態管理部431で制御可能な小規模な状態遷移であるため、状態遷移表には該当部分に次の内部状態番号2が記されている。状態管理部431は内部状態番号レジスタ433の表側に内部状態番号「2」を書き込み、プロセッサエレメント41群に指定する。
 ここで、状態管理部431は、確定的遷移情報により、内部状態番号レジスタ433に書き込むと同時に、STC3に対してもイベント信号Cを通知する。
 4サイクル目には、STC3と演算部4が同時に動作する。STC3では、状態管理部31が補助制御部43からイベント信号Cを受け取ると、状態遷移表にしたがって、現在の実番号「1」とイベント信号Cとに基づき次の状態の論理番号「9」を決定し、構成番号変換部32へ通知する。
 また、次の状態の開始内部状態番号についてはxとなっているが、これはこの時点では決定できないので実際の遷移時に補助制御部43の状態管理部431において選択する意味である。そのため、ここでは開始内部状態番号の組として{1,2,x,x,x}を用意する。
 構成番号変換部32は、変換表を用いて論理番号「9」を実番号に変換する。ここでは、すでに構成情報メモリで保持されているため変換に成功する。得られた実番号「2」を実番号レジスタ432の裏面、及び状態管理部31へ送信する。また、このときに次内部状態番号セット436に開始内部状態番号の組として{1,2,x,x,x}を書き込む。
 演算部4は、状態5-2で動作する。ここでは、状態5-2に2サイクル留まるとする。このサイクルでは、内部状態を遷移させるためのイベント信号は発行されない。
 5サイクル目も、演算部4は状態5-2で動作し、補助制御部43は、プロセッサエレメント41群から演算結果としてイベント信号Aを通知される。イベント信号Aは、図22によれば、Zが記されている。これは、イベント信号Zと同様に現在の論理番号での演算を終了する意味を持つ。ここでイベント信号Zを用いないのは、イベント信号の種別により、次内部状態番号セット436から次内部状態番号を選択する必要があるためである。現在、次内部状態番号セット436には{1,2,x,x,x}が書き込まれており、イベント信号Aに対応する次内部状態番号は1であるため、これを内部状態番号レジスタ433の裏側に書き込む。すでに実番号「2」を実番号レジスタ432の裏面に受け取っているため、プロセッサエレメント41群の動作は停止させずに、セレクタ434および435を切り替え、構成情報の実番号「9」と内部状態番号「1」とを表側とする。
 6サイクル目には、状態9-1の演算を実行する。以後、同様に状態遷移表に従い動作していく。
 前記先願にかかる発明、および実施例1、実施例2であれば、図23Aに示すように6サイクル目の演算結果によりイベント信号Cが状態管理部431を通じて状態管理部31に通知され、7サイクル目に次論理番号9から実番号2を得ておき、8サイクル目に演算部で状態9-1の動作をする。というように、異なる状態への遷移時にSTC3による制御が1サイクル必要であった。本実施例では、図23Bに示すように、遷移先論理番号が確定した3サイクル目で演算部からのイベント信号をSTCに送出し、実番号を得ておき待ち合わせ、次内部状態番号セットを得ておきこれから開始内部状態番号を選択する仕組みを補助制御部43に備えることで、実行に必要なサイクル数を削減し、状態遷移制御にかかる時間を減少させている。
 上述の実施の形態では、本発明をハードウェアの構成として説明したが、本発明は、これに限定されるものではない。本発明は、任意の処理を、CPU(Central Processing Unit)にコンピュータプログラムを実行させることにより実現することも可能である。この場合、コンピュータプログラムは、記録媒体に記録して提供することも可能であり、また、インターネットその他の通信媒体を介して伝送することにより提供することも可能である。また、記憶媒体には、例えば、フレキシブルディスク、ハードディスク、磁気ディスク、光磁気ディスク、CD-ROM、DVD、ROMカートリッジ、バッテリバックアップ付きRAMメモリカートリッジ、フラッシュメモリカートリッジ、不揮発性RAMカートリッジ等が含まれる。また、通信媒体には、電話回線等の有線通信媒体、マイクロ波回線等の無線通信媒体等が含まれる。
 以上、実施の形態を参照して本願発明を説明したが、本願発明は上記によって限定されるものではない。本願発明の構成や詳細には、発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
 この出願は、2008年8月25日に出願された日本出願特願2008-215764を基礎とする優先権を主張し、その開示の全てをここに取り込む。
 本発明は、データ処理装置、データ処理方法並びにデータ処理プログラムに利用することができる。
 1、10  制御部
 2、4、20  演算部
 3  状態遷移管理部 6  外部メモリ
 11、31、101、231、431  状態管理部
 12、32  構成番号変換部
 13、33  構成書換部
 21  演算器
 22  相互接続部
 23、43  補助制御部
 24、30  構成情報記憶部
 41  プロセッサエレメント
 232、432 実番号レジスタ
 233、433 内部状態番号レジスタ
 234、235、434、435 セレクタ
 236、436 次内部状態番号セット

Claims (12)

  1.  データの演算処理を行う演算手段と、
     前記演算手段の演算に対する状態遷移制御を実行する状態管理手段を有する制御手段とを備え、
     前記状態管理手段は、確定的な遷移状態を示す確定的遷移情報を用いて、状態の遷移が確定的であると判定した場合は、前記演算手段における現在の状態に関する演算が終了する前に、次の状態に関する状態遷移制御を開始するデータ処理装置。
  2.  データの演算処理を行う演算手段と、
     グループ間の状態遷移を制御する第1の状態管理手段を有する制御手段と、
     前記第1の状態管理手段において制御可能な状態の遷移よりも規模の小さい状態遷移であるグループ内の状態遷移を制御する第2の状態管理手段を有する補助制御手段とを備え、
     前記第1の状態管理手段は、確定的な遷移状態を示す確定的遷移情報を用いて、グループ間の状態の遷移が確定的であると判定した場合は、前記演算手段における現在の状態に関する演算が終了する前に、次の状態に関する状態遷移制御を開始するデータ処理装置。
  3.  前記第2の状態管理手段は、前記確定的遷移情報を用いて、グループ間の状態の遷移が確定的であると判定した場合は、前記演算手段における現在の状態に関する演算が終了する前に、当該現在の状態に関する演算結果を前記制御手段に出力する請求項2記載のデータ処理装置。
  4.  データの演算処理を行う演算手段と、
     グループ間の状態遷移を制御する第1の状態管理手段を有する制御手段と、
     前記第1の状態管理手段において制御可能な状態の遷移よりも規模の小さい状態遷移であるグループ内の状態遷移を制御する第2の状態管理手段を有する補助制御手段とを備え、
     前記第2の状態管理手段は、確定的な遷移状態を示す確定的遷移情報を用いて、グループ間の状態の遷移が確定的であると判定した場合は、前記演算手段における現在の状態に関する演算が終了する前に、当該現在の状態に関する演算結果を前記制御手段に出力するデータ処理装置。
  5.  前記第2の状態管理手段は、次状態の構成情報が構成情報記憶手段に存在しない場合に、所定の時間の経過後に、前記演算手段での動作を停止させる請求項3又は4記載のデータ処理装置。
  6.  前記第1の状態管理手段は、グループ間の状態の遷移が確定的であると判断した時点から、滞在サイクル数によって決定した所定の時間の経過後に、前記状態遷移制御を開始する請求項2又は3記載のデータ処理装置。
  7.  前記第2の状態管理手段は、グループ間の状態の遷移が確定的であると判断した時点から、滞在サイクル数によって決定した所定の時間の経過後に、前記現在の状態に関する演算結果を前記制御手段に出力する請求項3又は4記載のデータ処理装置。
  8.  前記第2の状態管理手段は、遷移先グループに関する情報を記憶する記憶手段を用いて、前記演算手段における現在の状態に関する演算の終了後に、状態遷移制御を完了させる請求項2ないし5記載のデータ処理装置。
  9.  前記制御手段は、遷移先グループに対応する実番号と共に、開始内部状態番号も併せて設定する請求項2ないし8記載のデータ処理装置。
  10.  前記第2の状態管理手段は、遷移先グループ内の開始内部状態候補群を記憶する記憶手段を用いて、前記演算手段おける現在の状態に関する演算の終了後に、開始内部状態番号を確定する請求項8記載のデータ処理装置。
  11.  データの演算処理を行う演算ステップと、
     前記演算ステップの演算に対する状態遷移制御を実行する状態管理ステップとを備え、
     前記状態管理ステップは、確定的な遷移状態を示す確定的遷移情報を用いて、状態の遷移が確定的であると判定した場合は、前記演算手段における現在の状態に関する演算が終了する前に、次の状態に関する状態遷移制御を開始するステップを有するデータ処理方法。
  12.  データの演算処理を行う演算ステップと、
     前記演算ステップの演算に対する状態遷移制御を実行する状態管理ステップとを備え、
     前記状態管理ステップは、確定的な遷移状態を示す確定的遷移情報を用いて、状態の遷移が確定的であると判定した場合は、前記演算手段における現在の状態に関する演算が終了する前に、次の状態に関する状態遷移制御を開始するステップを有するコンピュータに実行させるデータ処理プログラムが格納された記録媒体。
PCT/JP2009/003162 2008-08-25 2009-07-07 データ処理装置、データ処理方法並びにデータ処理プログラムが格納された記録媒体 WO2010023804A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010526504A JPWO2010023804A1 (ja) 2008-08-25 2009-07-07 データ処理装置、データ処理方法並びにデータ処理プログラムが格納された記録媒体

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2008-215764 2008-08-25
JP2008215764 2008-08-25

Publications (1)

Publication Number Publication Date
WO2010023804A1 true WO2010023804A1 (ja) 2010-03-04

Family

ID=41720989

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2009/003162 WO2010023804A1 (ja) 2008-08-25 2009-07-07 データ処理装置、データ処理方法並びにデータ処理プログラムが格納された記録媒体

Country Status (2)

Country Link
JP (1) JPWO2010023804A1 (ja)
WO (1) WO2010023804A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001243069A (ja) * 2000-03-02 2001-09-07 Toshiba Corp 分岐予測装置及び分岐予測方法
JP2006338391A (ja) * 2005-06-02 2006-12-14 Nec Electronics Corp ステートマシンおよびステートマシンの動作方法
WO2007114059A1 (ja) * 2006-04-05 2007-10-11 Nec Corporation データ処理装置
JP2009037291A (ja) * 2007-07-31 2009-02-19 Toshiba Corp 半導体装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001243069A (ja) * 2000-03-02 2001-09-07 Toshiba Corp 分岐予測装置及び分岐予測方法
JP2006338391A (ja) * 2005-06-02 2006-12-14 Nec Electronics Corp ステートマシンおよびステートマシンの動作方法
WO2007114059A1 (ja) * 2006-04-05 2007-10-11 Nec Corporation データ処理装置
JP2009037291A (ja) * 2007-07-31 2009-02-19 Toshiba Corp 半導体装置

Also Published As

Publication number Publication date
JPWO2010023804A1 (ja) 2012-01-26

Similar Documents

Publication Publication Date Title
JP5945291B2 (ja) デフレート圧縮のために高速で高圧縮のlz77トークン化及びハフマンエンコーディングを行う並列装置
JP5131188B2 (ja) データ処理装置
JP2012141810A (ja) 演算処理装置および演算処理方法
CN112579159A (zh) 用于矩阵操作加速器的指令的装置、方法和系统
EP2289003A1 (en) Method & apparatus for real-time data processing
JP2007034392A (ja) 情報処理装置及びデータ処理方法
US8402251B2 (en) Selecting configuration memory address for execution circuit conditionally based on input address or computation result of preceding execution circuit as address
US7143268B2 (en) Circuit and method for instruction compression and dispersal in wide-issue processors
JP5532050B2 (ja) データ処理装置
JP2011034190A (ja) データ処理装置
WO2010023804A1 (ja) データ処理装置、データ処理方法並びにデータ処理プログラムが格納された記録媒体
US7287151B2 (en) Communication path to each part of distributed register file from functional units in addition to partial communication network
JP5370352B2 (ja) Simd型プロセッサアレイシステム及びそのデータ転送方法
JPH09319578A (ja) 可変パイプライン段数のデータ処理装置
JP5372307B2 (ja) データ処理装置およびその制御方法
JP2013246816A (ja) ミニコア基盤の再構成可能プロセッサ及びその再構成可能プロセッサを利用した柔軟な多重データ処理方法
WO2010055706A1 (ja) データ処理装置、データ処理方法及びプログラム
CN114385326A (zh) 桶式处理器中的线程重放到保留状态
JP2006018411A (ja) プロセッサ
CN112035167B (zh) 使用可配置硬件流传输单元进行流传输的装置和方法
Chiu et al. Design and Implementation of the Link-List DMA Controller for High Bandwidth Data Streaming
JP4264622B2 (ja) プロセッサ
WO2010087098A1 (ja) 並列演算装置、情報処理システム、並列演算方法、および情報処理装置
JP5488609B2 (ja) リングバスによって相互接続された複数の処理要素を有する単一命令多重データ(simd)プロセッサ
CN116097213A (zh) 一种图指令处理方法及装置

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

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2010526504

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09809462

Country of ref document: EP

Kind code of ref document: A1