WO2007114059A1 - データ処理装置 - Google Patents

データ処理装置 Download PDF

Info

Publication number
WO2007114059A1
WO2007114059A1 PCT/JP2007/055829 JP2007055829W WO2007114059A1 WO 2007114059 A1 WO2007114059 A1 WO 2007114059A1 JP 2007055829 W JP2007055829 W JP 2007055829W WO 2007114059 A1 WO2007114059 A1 WO 2007114059A1
Authority
WO
WIPO (PCT)
Prior art keywords
unit
configuration information
configuration
state
data processing
Prior art date
Application number
PCT/JP2007/055829
Other languages
English (en)
French (fr)
Inventor
Kengo Nishino
Nobuki Kajihara
Takeshi Inuo
Original Assignee
Nec Corporation
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 Nec Corporation filed Critical Nec Corporation
Priority to JP2008508511A priority Critical patent/JP5131188B2/ja
Priority to US12/296,093 priority patent/US8069333B2/en
Publication of WO2007114059A1 publication Critical patent/WO2007114059A1/ja

Links

Classifications

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

Definitions

  • the present invention relates to a data processing apparatus including a reconfigurable device capable of changing a circuit that executes predetermined processing.
  • An information processing apparatus has a wider range of use and is required to have more advanced arithmetic processing or an ability to process a large amount of data at high speed like an image or a moving image.
  • conventional methods such as a DSP (Digital Signal Processor) that specially handles specific operations and processing separately from the host processor, and an application specific integrated circuit (DSP) are provided.
  • DSP Digital Signal Processor
  • a configuration is known in which the processing capacity of an information processing device is improved by reducing the processing load of a host processor such as a CPU.
  • the information processing device is equipped with a data processing device consisting of a reconfigurable device such as an FPGA (Field Programmable Gate Array) or CPLD (Complex Programmable Logic Device) and a JDRP (Dynamically Reconngurable Processor).
  • a reconfigurable device such as an FPGA (Field Programmable Gate Array) or CPLD (Complex Programmable Logic Device) and a JDRP (Dynamically Reconngurable Processor).
  • the reconfigurable device has an internal memory for storing a program (object code) therein.
  • a memory is provided, and the object code stored in the external memory is loaded into the internal memory under the control of the CPU, etc., and a circuit is configured in accordance with the loaded object code, and the data input by the circuit is processed. Execute.
  • Patent Document 1 Japanese Patent Laid-Open No. 2000-138579
  • Patent Document 2 Japanese Patent Laid-Open No. 2000-224025
  • Patent Document 3 Japanese Patent Laid-Open No. 2000-232354
  • Patent Reference 4 JP 2000-232162
  • Patent 5 JP 2003-076668
  • Patent 6 JP 2003-099409
  • Non-Patent Document 1 Hideharu Amano, Akiya jouraku, Kenichiro Anjo, A Dynamically Adaptive Hardware on Dynamically Reconfigurable Processor ", IEICE Transactions, Vol. E86-B, N 0.12, pp.
  • the computing unit includes a plurality of small computing units and an interconnection unit for switching their connections, and each computing unit is configured to control the operation of the computing unit. And various processing is realized by switching the instruction code for the interconnection part.
  • DRP digital data processing
  • other data may be read from the memory during the processing, and the processing may be continued using the data.
  • DRP is equipped with an internal memory S, and its storage capacity is often limited. Therefore, in DRP processing, when referring to tables or data that require large storage capacity during processing, it is necessary to access the memory in which they are stored.
  • Patent Document 7 Japanese Patent Laid-Open No. 2005-222141
  • Patent Document 8 Japanese Patent Laid-Open No. 2005-222142
  • the configuration information refers to an operation command for an arithmetic unit at a certain point in time, information indicating the connection relation of each arithmetic unit in the interconnection unit, an event signal and the corresponding configuration information to be selected next.
  • a circuit is virtually installed in the data processing device with information indicating the relationship. This is information necessary for configuration.
  • Object code refers to a collection of configuration information necessary to execute a desired process.
  • an object of the present invention is to provide a data processing apparatus that can eliminate the restriction of the storage destination of configuration information and can share the configuration information.
  • the data processor is configured to be used in the next operation state based on the current operation state, the candidate group of the next transition state, and the event signal issued from the computing unit.
  • the state management unit that determines the logical number, which is the interrelation information of each piece of configuration information included in the object code, and the logical number is converted into a real number that indicates the location where the corresponding configuration information is actually stored
  • a configuration number conversion unit that outputs a real number corresponding to the logical number determined by the state management unit, and a configuration that stores the configuration information and corresponds to the real number output from the configuration number conversion unit
  • a configuration information storage unit for notifying information to the arithmetic unit and the interconnection unit.
  • the configuration information included in the object code is represented by a logical number, even if the logical numbers of the configuration information included in a plurality of object codes overlap, the configuration number Since each number is converted into a corresponding real number by the signal conversion unit, there is no practical restriction on the storage location of the configuration information.
  • the configuration information included in the object code is represented by a logical number, even if multiple object codes have the same configuration information, if the configuration information is assigned to a specific real number, the configuration between each object code Share information. Therefore, since the same configuration information can be specified by a plurality of object codes, there is no restriction on the storage destination of the configuration information, and the configuration information can be shared.
  • FIG. 1 is a block diagram showing a configuration of a first embodiment of a data processing apparatus of the present invention.
  • FIG. 2 is a block diagram showing a configuration of a second embodiment of the data processing apparatus of the present invention.
  • FIG. 3 is a block diagram showing a configuration of a third embodiment of the data processing apparatus of the present invention.
  • FIG. 4 is a block diagram showing a configuration of a fourth embodiment of the data processing apparatus of the present invention.
  • FIG. 5 is a block diagram showing a configuration of the fifth embodiment of the data processing apparatus of the present invention.
  • FIG. 6 is a block diagram showing a configuration of a sixth embodiment of the data processing apparatus of the present invention.
  • FIG. 7 is a block diagram showing a configuration of a seventh embodiment of the data processing apparatus of the present invention.
  • FIG. 8 is a block diagram showing the configuration of the eighth embodiment of the data processing apparatus of the present invention.
  • FIG. 9 is a block diagram showing the configuration of the first embodiment of the data processing apparatus of the present invention.
  • FIG. 10 is a state transition diagram showing an example of an object code processed by the data processing apparatus shown in FIG.
  • FIG. 11 is a schematic diagram showing an example of a conversion table used in the data processing apparatus shown in FIG. 12]
  • FIG. 12 is a block diagram showing the configuration of the second embodiment of the data processing apparatus of the present invention.
  • FIG. 13 is a state transition diagram showing an example of an object code processed by the data processing apparatus shown in FIG.
  • FIG. 14 is a schematic diagram showing an example of a conversion table used in the data processing apparatus shown in FIG.
  • FIG. 15 is a schematic diagram showing an example of a state transition diagram stored in the auxiliary control unit shown in FIG.
  • FIG. 16 is a schematic diagram showing an example of a state transition diagram stored in the state transition management unit shown in FIG.
  • FIG. 17 is a schematic diagram showing an example of a state transition diagram held in the auxiliary control unit after rewriting the configuration information by the configuration rewriting unit shown in FIG.
  • FIG. 18 is a schematic diagram showing an example of a conversion table held in the configuration number conversion unit after the configuration information is rewritten by the configuration rewriting unit shown in FIG.
  • FIG. 19 is a block diagram showing the configuration of the third embodiment of the data processing apparatus of the present invention.
  • FIG. 20 is a state transition diagram showing an example of an object code processed by the state transition management unit of the data processing apparatus shown in FIG.
  • FIG. 21 is a state transition diagram showing a state transition inside the state shown in FIG.
  • FIG. 22 is a schematic diagram showing an example of a conversion table used in the data processing apparatus shown in FIG.
  • FIG. 23a is a schematic diagram showing an example of a conversion table held in the state management unit and the configuration number conversion unit after the configuration information is rewritten by the configuration rewriting unit shown in FIG.
  • FIG. 23b is a schematic diagram showing an example of a conversion table held by the state management unit and the configuration number conversion unit after the configuration information is rewritten by the configuration rewriting unit shown in FIG.
  • FIG. 23c is a schematic diagram showing an example of a conversion table held in the state management unit and the configuration number conversion unit after the configuration information is rewritten by the configuration rewriting unit shown in FIG.
  • FIG. 23d is a schematic diagram showing an example of a conversion table held in the state management unit and the configuration number conversion unit after the configuration information is rewritten by the configuration rewriting unit shown in FIG.
  • FIG. 23e is a schematic diagram showing an example of a conversion table held in the state management unit and the configuration number conversion unit after the configuration information is rewritten by the configuration rewriting unit shown in FIG.
  • FIG. 23f is a schematic diagram showing an example of a conversion table held in the state management unit and the configuration number conversion unit after the configuration information is rewritten by the configuration rewriting unit shown in FIG.
  • FIG. 23g is a schematic diagram showing an example of a conversion table held in the state management unit and the configuration number conversion unit after the configuration information is rewritten by the configuration rewriting unit shown in FIG.
  • FIG. 23h is a schematic diagram showing an example of a conversion table held in the state management unit and the configuration number conversion unit after the configuration information is rewritten by the configuration rewriting unit shown in FIG.
  • FIG. 23i is a schematic diagram showing an example of a conversion table held by the state management unit and the configuration number conversion unit after the configuration information is rewritten by the configuration rewriting unit shown in FIG.
  • 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 has a configuration having a control unit 1 and a calculation unit 2.
  • the control unit 1 includes a state management unit 11, a configuration number conversion unit 12, a configuration information storage unit 13, and a configuration writing unit 14, and the calculation unit 2 is a plurality of calculation units 21 connected by the interconnection unit 22. It has.
  • the state management unit 11 uses the current operation state and the next transition state candidate group (transition destination candidate group) included in the configuration information, and the event signal from the operation unit 2 in the next operation state. Determine the logical number of the configuration information to be used and notify the logical number to the configuration number conversion unit 12
  • the logical number indicates information on the mutual relationship between the configuration information included in the object code, and the position where the configuration information is actually stored in the configuration information storage unit 13 is 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 the real number of the corresponding configuration information stored in the configuration information storage unit 13, and the configuration information Is notified to the configuration information storage unit 13 (configuration designation).
  • the configuration information storage unit 13 holds an object code that is a combination of configuration information of the instruction group and the transfer destination candidate group of the computing unit 21 and the interconnection unit 22 for each operation state, and the configuration number conversion unit 12 The configuration information corresponding to the real number specified in (1) is notified to the computing unit 21, the interconnection unit 22, and the state management unit 11, respectively.
  • the configuration writing unit 14 writes configuration information into the configuration information storage unit 13 when the data processing apparatus is activated.
  • the computing unit 21 performs arithmetic processing according to the configuration information specified from the configuration information storage unit 13 for each of a plurality of operating states that transition sequentially.
  • the interconnection unit 22 switches the connection relationship of the plurality of calculators 21 based on the configuration information notified from the configuration information storage unit 13. An event signal corresponding to the calculation result is issued from the calculation unit 2 to the state management unit 11.
  • each of the above-described components does not need to be provided independently in the functional unit shown in FIG.
  • an arbitrary constituent element which may be included in another constituent element may be constituted by a plurality of parts.
  • the configuration information storage unit 13 may be divided, and the divided configuration information storage unit 13 may be provided in the state management unit 11, the arithmetic unit 21, and the interconnection unit 22, respectively.
  • the configuration writing unit 14 may be realized by another device provided outside or an MPU.
  • the configuration information includes a calculation command for the computing unit 21 at a certain point in time, information indicating the connection relation of each computing unit 21 in the interconnection unit 22, an event signal and the configuration information to be selected next correspondingly. Contains information indicating the relationship of logical numbers.
  • the arithmetic unit 21 includes a configuration including only one so-called arithmetic arithmetic unit (ALU) and a configuration in which storage elements such as a plurality of types of arithmetic units and 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 A configuration having a correspondence table showing transition relationships between states is conceivable.
  • the configuration number conversion unit 12 may be of 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 correspondence between the logical number and the real number A configuration with a correspondence table indicating, or a configuration 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 logical number of the configuration information notified from the state management unit 11 is converted to the real number of the corresponding configuration information stored in the configuration information storage unit 13.
  • the configuration number conversion unit 12 even when a plurality of object codes are stored, it is not necessary to restrict the storage destination of the configuration information or to generate the same configuration information. This effect is particularly noticeable when a plurality of object codes are stored simultaneously.
  • 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 device of the second embodiment includes a configuration rewriting unit 15 instead of the configuration writing unit 14 shown in the first embodiment, and the configuration number conversion unit 12 to the configuration rewriting unit 15 This is different from the first embodiment in that a signal path is added.
  • the data processing apparatus has a configuration including a control unit 1 and a calculation unit 2 as in the first embodiment.
  • the control unit 1 includes a state management unit 11, a configuration number conversion unit 12, a configuration information storage unit 13, and a configuration rewrite unit 15, and the calculation unit 2 includes a plurality of calculation units 21 connected by the interconnection unit 22. Equipped.
  • the state management unit 11 uses the current operation state and the next transition state candidate group (transition destination candidate group) included in the configuration information and the event signal from the operation unit 2 in the next operation state. Determine the logical number of the configuration information to be used and notify the logical number to the configuration number conversion unit 12
  • the configuration number conversion unit 12 converts the logical number of the configuration information notified from the state management unit 11 into the actual number of the corresponding configuration information stored in the configuration information storage unit 13. At this time, if the next configuration information is stored in the configuration information storage unit 13, the real number is designated, and if it is not stored in the configuration information storage unit 13, a rewrite request is issued to the configuration rewrite unit 15. To do.
  • the configuration rewriting unit 15 writes the configuration information in the configuration information storage unit 13 when the data processing apparatus is initially operated.
  • a rewrite request is issued from the configuration number conversion unit 12
  • the currently unnecessary configuration information in the configuration information stored in the configuration information storage unit 13 is rewritten to the configuration information specified at the time of the rewrite request.
  • the configuration rewriting unit 15 updates the conversion information necessary for the conversion process from the logical number to the real number of the configuration number conversion unit 12.
  • a known method such as a Least Recently Used (LRU) method may be used.
  • the configuration rewriting unit 15 basically rewrites only one configuration information requested in response to the rewrite request. However, the configuration rewriting unit 15 may rewrite the configuration information used thereafter together with the requested configuration information. Good.
  • the configuration information storage unit 13 holds an object code that is a combination of configuration information indicating a group of instructions and a transition destination candidate group for the computing unit 21 and the interconnection unit 22 for each operation state.
  • the configuration information corresponding to the designated real number is notified to the computing unit 21, the interconnection unit 22, and the state management unit 11, respectively.
  • the computing unit 21 performs arithmetic processing according to the configuration information notified from the configuration information storage unit 13 for each of a plurality of operating states that sequentially transition.
  • the interconnection unit 22 switches the connection relationship of the computing units 21 based on the configuration information notified from the configuration information storage unit 13. From the computing unit 21 and the interconnection unit 22, an event signal corresponding to the computation result is issued to the state management unit 11.
  • the data processing apparatus of the present embodiment even when a plurality of object codes are stored, the storage location of the configuration information is restricted, and it is not necessary to generate the same configuration information. This effect is particularly noticeable when a plurality of object codes are stored simultaneously. [0043] Further, by providing the configuration rewriting unit, it is possible to operate an object code including configuration information exceeding the memory capacity that can be held.
  • FIG. 3 is a block diagram showing the configuration of the third embodiment of the data processing apparatus of the present invention.
  • the data processing apparatus is different from the second embodiment in that the arithmetic unit 2 includes an auxiliary control unit 23.
  • the auxiliary control unit 23 is realized using, for example, a hard wire logic array.
  • the data processing apparatus has a configuration including a control unit 1 and a calculation unit 2 as in the second embodiment.
  • the control unit 1 includes a state management unit 11, a configuration number conversion unit 12, a configuration information storage unit 13, and a configuration rewriting unit 15, and the calculation unit 2 and a plurality of calculation units 21 connected by the interconnection unit 22 and auxiliary control. Part 23.
  • the state management unit 11 uses the current operation state and the next transition state candidate group (transition destination candidate group) included in the configuration information and the event signal from the operation unit 2 in the next operation state. Determine the logical number of the configuration information to be used and notify the logical number to the configuration number conversion unit 12
  • the configuration number conversion unit 12 converts the logical number of the configuration information notified from the state management unit 11 into the actual number of the corresponding configuration information stored in the configuration information storage unit 13. At this time, if the next configuration information is stored in the configuration information storage unit 13, the real number is designated. When the next configuration information is not stored in the configuration information storage unit 13, the configuration number conversion unit 12 issues a rewrite request to the configuration rewrite unit 15.
  • the configuration rewriting unit 15 writes the configuration information in the configuration information storage unit 13 when the data processing apparatus is initially operated.
  • the configuration information that is unnecessary at the present time among the configuration information stored in the configuration information storage unit 13 is rewritten to the configuration information specified at the time of the rewrite request.
  • the configuration rewriting unit 15 updates the conversion information necessary for the conversion process from the logical number to the real number of the configuration number conversion unit 12.
  • a known method such as a Least Recently Used (LRU) method may be used.
  • LRU Least Recently Used
  • the configuration rewriting unit 15 basically rewrites only one configuration information requested in response to the rewrite request. However, the configuration rewriting unit 15 may also rewrite the configuration information used thereafter together with the requested configuration information. Good.
  • the configuration information storage unit 13 holds an object code that is a combination of configuration information indicating an instruction group and a transition destination candidate group for the computing unit 21 and the interconnection unit 22 for each operation state.
  • the configuration information corresponding to the designated real number is notified to the computing unit 21, the interconnection unit 22, and the state management unit 11, respectively.
  • the computing unit 21 performs arithmetic processing according to the configuration information notified from the configuration information storage unit 13 for each of a plurality of operating states that sequentially transition.
  • the interconnection unit 22 switches the connection relationship of the computing units 21 based on the configuration information notified from the configuration information storage unit 13. From the computing unit 21 and the interconnection unit 22, an event signal corresponding to the computation result is issued to the auxiliary control unit 23.
  • the computing unit 21 and the interconnection unit 22 of the present embodiment have a function of stopping the operation according to the stop signal from the auxiliary control unit 23 and restarting the operation according to the restart signal.
  • This function may be realized using means for stopping the apparent operation, such as means for stopping the clock and stopping updating of the storage means included in the computing unit 21.
  • the former is superior in terms of power reduction, and the latter is superior in ease of mounting.
  • the arithmetic unit 21 inputs / outputs data via the external port.
  • the data input operation from the external port is also controlled to stop / restart according to the signal from the auxiliary control unit 23 (not shown in FIG. 3).
  • the auxiliary control unit 23 is a circuit having a function similar to that of the control unit 1 in the calculation unit 2 and responsible for small-scale state transition control.
  • the auxiliary control unit 23 receives the event signal from the computing unit 21 and the interconnecting unit 22, the computing unit 21 and the mutual unit 23 are connected to each other when the next transition state based on the event signal is within the control range of the auxiliary control unit 23. Specifies the configuration information corresponding to the next state to which the connection unit 22 should transition.
  • the event signal is sent to the control unit 1 to request a state transition under the control of the control unit 1. At this time, perform the extra operation.
  • auxiliary control unit 23 receives the configuration information designated from the configuration information storage unit 13, the auxiliary control unit 23 designates the configuration information to the computing unit 21 and the interconnection unit 22. Thereafter, a restart signal is sent to the calculator 21 and the interconnection unit 22 to restart the operation.
  • the operation transition is completed in the arithmetic unit 2 while the small-scale state transition that the auxiliary control unit 23 is responsible for. High-speed operation is possible. When large-scale state transitions by the control unit 1 are required, power consumption can be reduced by stopping unnecessary operations of the calculation unit 2.
  • the storage destination of the configuration information is restricted or the same. There is no need to generate configuration information. This effect is particularly noticeable when multiple object codes are stored simultaneously.
  • FIG. 4 is a block diagram showing the configuration of the fourth embodiment of the data processing apparatus of the present invention.
  • the data processing apparatus of the fourth embodiment includes two sets of control units 1 (11 and 12 in Fig. 4) and an operation unit 2 (21 and 22 in Fig. 4).
  • the configuration rewriting unit 15 is shared by the unit 1 and the calculation unit 2.
  • the control unit 1 and the calculation unit 2 are not limited to two sets, and any number may be used. Further, the number of shared component rewriting units 15 need not be one, but may be different.
  • the configuration rewriting unit 15 included in the data processing apparatus of the present embodiment has an arbitration function for responding to any one of a plurality of configuration number conversion units simultaneously issued requests.
  • a rewrite request for configuration information is issued from another configuration number conversion unit while a rewrite request from the four configuration number conversion units is currently being responded, it is issued in advance by the arbitration function of the configuration rewrite unit 15.
  • the processing of the set of the control unit 1 and the calculation unit 2 including another configuration number conversion unit is put on standby.
  • the other configurations and operations of the control unit 1 and the calculation unit 2 are the same as those of the data processing apparatus shown in the second embodiment or the third embodiment, and thus description thereof is omitted.
  • the configuration rewriting unit 15 can be shared by adopting the configuration of the present embodiment.
  • the mounting area of the processing apparatus can be reduced.
  • FIG. 5 is a block diagram showing the configuration of the fifth embodiment of the data processing apparatus of the present invention.
  • the data processing apparatus of the fifth embodiment is different from the third embodiment in that a signal path for transmitting a signal from the calculation unit 2 to the configuration number conversion unit 12 is provided.
  • the data processing apparatus of the fifth embodiment is configured to include the control unit 1 and the calculation unit 2 as in the third embodiment.
  • the control unit 1 includes a state management unit 11, a configuration number conversion unit 12, a configuration information storage unit 13, and a configuration rewriting unit 15, and the calculation unit 2 and a plurality of calculation units 21 connected by the interconnection unit 22 and auxiliary control. Part 23.
  • the state management unit 11 uses the current operation state and the next transition state candidate group (transition destination candidate group) included in the configuration information, and the event signal from the operation unit 2 in the next operation state. Determine the logical number of the configuration information to be used and notify the logical number to the configuration number conversion unit 12
  • the configuration number conversion unit 12 converts the logical number of the configuration information notified from the state management unit 11 into the actual number of the corresponding configuration information stored in the configuration information storage unit 13. At this time, if the next configuration information is stored in the configuration information storage unit 13, the real number is designated. When the next configuration information is not stored in the configuration information storage unit 13, the configuration number conversion unit 12 issues a rewrite request to the configuration rewrite unit 15.
  • the configuration number conversion unit 12 converts the logical number of the configuration information notified from the calculation unit 2 into the actual number of the corresponding configuration information stored in the configuration information storage unit 13. At this time, if the next configuration information is stored in the configuration information storage unit 13, it is not necessary to rewrite the configuration information anew, and the processing for the request of the calculation unit 2 is terminated. In the case where the following configuration information is stored in the configuration information storage unit 13, the configuration number conversion unit 12 is replaced with the configuration rewrite unit 15 A rewrite request is issued to.
  • the configuration rewriting unit 15 writes the configuration information in the configuration information storage unit 13 when the data processing device is initially operated.
  • a rewrite request is issued from the configuration number conversion unit 12
  • the currently unnecessary configuration information in the configuration information stored in the configuration information storage unit 13 is rewritten to the configuration information specified at the time of the rewrite request.
  • the configuration rewriting unit 15 updates the conversion information necessary for the conversion process from the logical number to the real number of the configuration number conversion unit 12.
  • a known method such as a Least Recently Used (LRU) method may be used.
  • the configuration rewriting unit 15 basically rewrites only one configuration information requested in response to the rewrite request. However, the configuration rewriting unit 15 may also rewrite the configuration information used thereafter together with the requested configuration information. Good.
  • the configuration information storage unit 13 holds an object code that is a combination of configuration information indicating a command group and a transition destination candidate group for the computing unit 21 and the interconnection unit 22 for each operation state, and the configuration number conversion unit 12 The configuration information corresponding to the specified real number is notified to the computing unit 21, the interconnection unit 22, and the state management unit 11.
  • the computing unit 21 performs arithmetic processing according to the configuration information notified from the configuration information storage unit 13 for each of a plurality of operation states that sequentially transition.
  • the interconnection unit 22 switches the connection relationship of the computing units 21 based on the configuration information notified from the configuration information storage unit 13. From the computing unit 21 and the interconnection unit 22, an event signal corresponding to the computation result is issued to the auxiliary control unit 23.
  • the computing unit of this embodiment issues a signal (preload request) for requesting to store necessary configuration information in the configuration information storage unit 13 to the configuration number conversion unit 12.
  • This signal is generated by calculation based on the analysis information included in the object code when the object code is generated.
  • the computing unit 21 and the interconnection unit 22 of the present embodiment have a function of stopping the operation according to the stop signal from the auxiliary control unit 23 and restarting the operation according to the restart signal.
  • This function may be realized using means for stopping the apparent operation, such as means for stopping the clock and stopping updating of the storage means included in the computing unit 21. Power reduction From the viewpoint of the above, the former is superior, and the latter is superior in terms of ease of mounting.
  • the data input operation from the external port is also controlled to be stopped / restarted according to the signal from the auxiliary control unit 23 (not shown in FIG. 5).
  • the auxiliary control unit 23 is a circuit having a function similar to that of the control unit 1 in the calculation unit 2 and responsible for small-scale state transition control.
  • the auxiliary control unit 23 receives the event signal from the computing unit 21 and the interconnecting unit 22, the computing unit 21 and the mutual unit 23 are connected to each other when the next transition state based on the event signal is within the control range of the auxiliary control unit 23. Specifies the configuration information corresponding to the next state to which the connection unit 22 should transition.
  • the event signal is sent to the control unit 1 to request a state transition under the control of the control unit 1.
  • a stop signal is sent to the arithmetic unit 21 and the interconnection unit 22 to stop the operation so as not to execute an extra calculation.
  • the auxiliary control unit 23 receives the configuration information designated from the configuration information storage unit 13, the auxiliary control unit 23 designates the configuration information to the computing unit 21 and the interconnection unit 22. Thereafter, a restart signal is sent to the calculator 21 and the interconnection unit 22 to restart the operation.
  • the necessary configuration information can be written in the configuration information storage unit 13 in advance.
  • the waiting time for the writing process by the configuration rewriting unit 15 is reduced, the actual processing time is increased, and the processing performance is improved.
  • FIG. 6 is a block diagram showing the configuration of the sixth embodiment of the data processing apparatus of the present invention.
  • the data processing apparatus is different from the fifth embodiment in that it includes a rewrite determining unit 16 that realizes a part of the functions of the configuration rewriting unit 15.
  • the data processing device of the sixth embodiment is configured to include a control unit 1 and a calculation unit 2 as in the fifth embodiment.
  • the control unit 1 includes a state management unit 11, a configuration number conversion unit 12, a configuration information storage unit 13, a configuration rewrite unit 15, and a rewrite determination unit 16.
  • a plurality of computing units 21 and an auxiliary control unit 23 connected by the connection unit 22 are provided.
  • the state management unit 11 uses the current operation state and the next transition state candidate group (transition destination candidate group) included in the configuration information and the event signal from the operation unit 2 in the next operation state. Determine the logical number of the configuration information to be used and notify the logical number to the configuration number conversion unit 12
  • the configuration number conversion unit 12 converts the logical number of the configuration information notified from the state management unit 11 into the actual number of the corresponding configuration information stored in the configuration information storage unit 13. At this time, if the next configuration information is stored in the configuration information storage unit 13, the real number is designated. When the next configuration information is not stored in the configuration information storage unit 13, the configuration number conversion unit 12 issues a rewrite request to the configuration rewrite unit 15.
  • the configuration number conversion unit 12 converts the logical number of the configuration information notified from the calculation unit 2 into the actual number of the corresponding configuration information stored in the configuration information storage unit 13. At this time, if the next configuration information is stored in the configuration information storage unit 13, it is not necessary to rewrite the configuration information anew, and the processing for the request of the calculation unit 2 is terminated. When the next configuration information is stored in the configuration information storage unit 13, the configuration number conversion unit 12 issues a rewrite request to the configuration rewrite unit 15.
  • the configuration rewriting unit 15 writes the configuration information in the configuration information storage unit 13 when the data processing apparatus is initially operated. Also, when a rewrite request is issued from the configuration number conversion unit 12 or the rewrite determination unit 16, among the configuration information stored in the configuration information storage unit 13, configuration information that is unnecessary at the present time is specified at the time of the rewrite request. Rewrite the configuration information. Further, the configuration rewriting unit 15 updates the conversion information necessary for the conversion process from the logical number to the real number of the configuration number conversion unit 12. To select unnecessary configuration information, use a well-known method such as the Least Recently Used (LRU) method.
  • LRU Least Recently Used
  • the configuration rewriting unit 15 rewrites only one configuration information requested in response to the rewrite request. If a rewrite request is issued simultaneously from the configuration number conversion unit 12 and the rewrite determination unit 16, the request from the configuration number conversion unit 12 is given priority. At this time, whether or not the request has been accepted is returned to the request source.
  • the rewrite determination unit 16 includes a configuration number conversion unit 12, a configuration information storage unit 13, and a configuration rewrite unit 15. Based on the state and the past state transition history, it is determined to rewrite the configuration information of the next transition state, and the configuration rewriting unit 15 is requested to rewrite the configuration information. If the request is not accepted, a new request is issued to the component rewriting unit 15 in consideration of other requests that are the reason. As a result, in the first to fifth embodiments, the configuration rewriting unit 15 rewritten the requested configuration information and the function for requesting rewriting of the configuration information used after the current state. This is realized by the decision unit 16.
  • the configuration information storage unit 13 holds an object code which is a combination of configuration information indicating a group of instructions and a transition destination candidate group for the computing unit 21 and the interconnection unit 22 for each operation state.
  • the configuration information corresponding to the designated real number is notified to the computing unit 21, the interconnection unit 22, and the state management unit 11, respectively.
  • the arithmetic unit 21 executes arithmetic processing according to the configuration information notified from the configuration information storage unit 13 for each of a plurality of operating states that sequentially transition.
  • the interconnection unit 22 switches the connection relationship of the computing units 21 based on the configuration information notified from the configuration information storage unit 13. From the computing unit 21 and the interconnection unit 22, an event signal corresponding to the computation result is issued to the auxiliary control unit 23. In addition, a configuration request signal (preload request) corresponding to the calculation result is issued from the computing unit 21 and the interconnection unit 22 to the configuration number conversion unit 12.
  • the computing unit 21 and the interconnection unit 22 of this embodiment have a function of stopping the operation according to the stop signal from the auxiliary control unit 23 and restarting the operation according to the restart signal.
  • This function may be realized using means for stopping the apparent operation, such as means for stopping the clock and stopping updating of the storage means included in the computing unit 21.
  • the former is superior in terms of power reduction, and the latter is superior in ease of mounting.
  • the arithmetic unit 21 inputs / outputs data via the external port.
  • the data input operation from the external port is also controlled to stop / restart according to the signal from the auxiliary control unit 23 (not shown in FIG. 6).
  • the auxiliary control unit 23 is a circuit having the same function as the control unit 1 in the calculation unit 2 and responsible for small-scale state transition control.
  • the auxiliary control unit 23 receives an event signal from the computing unit 21 and the interconnection unit 22, the state of the next transition based on the event signal is determined.
  • the configuration information corresponding to the next state to which the computing unit 21 and the interconnection unit 22 should transit is specified.
  • the event signal is sent to the control unit 1 to request a state transition under the control of the control unit 1.
  • a stop signal is sent to the arithmetic unit 21 and the interconnection unit 22 to stop the operation so as not to execute an extra calculation.
  • the auxiliary control unit 23 receives the configuration information designated from the configuration information storage unit 13, the auxiliary control unit 23 designates the configuration information to the computing unit 21 and the interconnection unit 22. Thereafter, a restart signal is sent to the calculator 21 and the interconnection unit 22 to restart the operation.
  • the data processing apparatus of this embodiment if an appropriate preload request is issued from the rewrite determining unit 16, necessary configuration information can be written in the configuration information storage unit 13 in advance.
  • the waiting time for the writing process by the configuration rewriting unit 15 at the stage is reduced, and the actual processing time is increased to improve the processing performance.
  • the rewrite determination unit 16 requires a processing unit such as an MPU to determine the configuration information that requires rewriting, but the configuration rewrite unit 15 performs only the process of writing the requested configuration information into the configuration information storage unit 13.
  • the mounting area can be reduced, so that the function of the control unit can be mounted on one chip.
  • FIG. 7 is a block diagram showing the configuration of the seventh embodiment of the data processing apparatus of the present invention.
  • the data processing apparatus of the seventh embodiment differs from that of the sixth embodiment in that it has a signal path for designating an internal state for starting processing from the state management unit 11 to the auxiliary control unit 23. It has become.
  • the data processing device of the seventh embodiment has a configuration having a control unit 1 and a calculation unit 2 as in the sixth embodiment.
  • the control unit 1 includes a state management unit 11, a configuration number conversion unit 12, a configuration information storage unit 13, a configuration rewrite unit 15, and a rewrite determination unit 16, and the calculation unit 2 includes a plurality of calculations connected by the interconnection unit 22.
  • the state management unit 11 uses the current operation state and the next transition state candidate group (transition destination candidate group) included in the configuration information and the event signal from the operation unit 2 in the next operation state. Messenger The logical number of the configuration information to be used is determined, and the logical number is notified to the configuration number conversion unit 12. In addition, the state management unit 11 determines an internal state number that is to be executed by the auxiliary control unit 23 and starts processing in the next operation state, and notifies the auxiliary control unit 23 of the determined internal state number.
  • the configuration number conversion unit 12 converts the logical number of the configuration information notified from the state management unit 11 into the actual number of the corresponding configuration information stored in the configuration information storage unit 13. At this time, if the next configuration information is stored in the configuration information storage unit 13, the real number is designated. When the next configuration information is not stored in the configuration information storage unit 13, the configuration number conversion unit 12 issues a rewrite request to the configuration rewrite unit 15.
  • the configuration number conversion unit 12 converts the logical number of the configuration information notified from the calculation unit 2 into the actual number of the corresponding configuration information stored in the configuration information storage unit 13. At this time, if the next configuration information is stored in the configuration information storage unit 13, the processing for the request (preload request) from the calculation unit 2 is terminated because there is no need to rewrite the configuration information. When the next configuration information is not stored in the configuration information storage unit 13, the configuration number conversion unit 12 issues a rewrite request to the configuration rewrite unit 15.
  • the configuration rewriting unit 15 writes the configuration information in the configuration information storage unit 13 when the data processing apparatus is initially operated. Also, when a rewrite request is issued from the configuration number conversion unit 12 or the rewrite determination unit 16, among the configuration information stored in the configuration information storage unit 13, configuration information that is unnecessary at the present time is specified at the time of the rewrite request. Rewrite the configuration information. Further, the configuration rewriting unit 15 updates the conversion information necessary for the conversion process from the logical number to the real number of the configuration number conversion unit 12. To select unnecessary configuration information, use a well-known method such as the Least Recently Used (LRU) method.
  • LRU Least Recently Used
  • the configuration rewriting unit 15 rewrites only one configuration information requested in response to the rewrite request. If a rewrite request is issued simultaneously from the configuration number conversion unit 12 and the rewrite determination unit 16, the request from the configuration number conversion unit 12 is given priority. At this time, whether or not the request has been accepted is returned to the request source.
  • the rewrite determining unit 16 determines rewriting of configuration information to be used in the next state based on the states of the configuration number converting unit 12, the configuration information storage unit 13, and the configuration rewriting unit 15, and the configuration rewriting unit 1 Request 5 to be rewritten. If the request is not accepted by the configuration rewriting unit 15, the rewriting determination unit 16 issues a new request to the configuration rewriting unit 15 in consideration of other requests that are the reason. As a result, the function that requests the rewriting of the requested configuration information and the configuration information to be used after the current state, which was executed by the configuration rewriting unit 15 in the first to fifth embodiments. Is realized by the rewrite determination unit 16.
  • the configuration information storage unit 13 holds an object code that is a combination of configuration information indicating an instruction group and a transition destination candidate group for the computing unit 21 and the interconnection unit 22 for each operation state.
  • the configuration information corresponding to the specified real number is notified to the computing unit 21, the interconnection unit 22, and the state management unit 11.
  • the arithmetic unit 21 executes arithmetic processing according to the configuration information notified from the configuration information storage unit 13 for each of a plurality of operation states that sequentially transition.
  • the interconnection unit 22 switches the connection relationship of the computing units 21 based on the configuration information notified from the configuration information storage unit 13. From the computing unit 21 and the interconnection unit 22, an event signal corresponding to the computation result is issued to the auxiliary control unit 23. In addition, a configuration request signal corresponding to the calculation result is issued from the computing unit 21 and the interconnection unit 22 to the configuration number conversion unit 12.
  • the computing unit 21 and the interconnection unit 22 of the present embodiment have a function of stopping the operation according to the stop signal from the auxiliary control unit 23 and restarting the operation according to the restart signal.
  • This function may be realized using means for stopping the apparent operation, such as means for stopping the clock and stopping updating of the storage means included in the computing unit 21.
  • the former is superior in terms of power reduction, and the latter is superior in ease of mounting.
  • the arithmetic unit 21 inputs / outputs data via the external port.
  • the data input operation from the external port is also controlled to be stopped / restarted according to the signal from the auxiliary control unit 23 (not shown in FIG. 7).
  • the auxiliary control unit 23 is a circuit that has the same function as the control unit 1 in the calculation unit 2 and is responsible for small-scale state transition control.
  • the auxiliary control unit 23 receives the event signal from the computing unit 21 and the interconnecting unit 22, when the next transition state based on the event signal is within the control range of the auxiliary control unit 23, the computing unit 21 and Interconnect 22 transitions Specifies configuration information corresponding to the next state to be performed.
  • the event signal is sent to the control unit 1 to request a state transition under the control of the control unit 1.
  • a stop signal is sent to the computing unit 21 and the interconnection unit 22 to stop the operation so as not to execute an extra computation.
  • the auxiliary control unit 23 receives the configuration information designated from the configuration information storage unit 13, the auxiliary control unit 23 designates the configuration information to the computing unit 21 and the interconnection unit 22. Thereafter, after setting the state of the internal state number to start the operation designated by the state management unit 11, a restart signal is sent to the calculator 21 and the interconnection unit 22 to restart the operation.
  • the state in which the auxiliary control unit 23 starts processing can be designated by the control unit 1 during state transition. As a result, the total number of states can be reduced.
  • processing can be started only from a predetermined internal state. That is, logical numbers are required for the number of branch destinations. Therefore, in the case of an object code having state transitions with many branches, the number of configuration information increases and the number of rewrites may increase, but the seventh embodiment can solve this problem. However, to reduce hardware resources, the configuration up to the sixth embodiment may be adopted.
  • FIG. 8 is a block diagram showing the configuration of the eighth embodiment of the data processing apparatus of the present invention.
  • the data processing apparatus includes two sets of control units 1 (11 and 12 in Fig. 8) and a calculation unit 2 (21 and 22 in Fig. 8).
  • the rewriting determination unit 16 is shared by the unit 1 and the calculation unit 2.
  • the control unit 1 and the calculation unit 2 are not limited to two sets, and any number may be used. Further, the number of shared rewrite determining units 16 need not be one, and may be different.
  • the rewrite determining unit 16 included in the data processing apparatus of the present embodiment monitors the plurality of control units 1 and requests rewriting to each component rewriting unit. When a rewrite request is issued to any pair of configuration rewriting units, if the configuration rewriting unit at the issue destination rewrites the configuration, it is not necessary to continuously issue new requests. So the other component rewriting Generates and outputs a request for the part.
  • control unit 1 and the calculation unit 2 are the same as those of the data processing apparatus shown in the sixth embodiment or the seventh embodiment, and thus description thereof is omitted.
  • the rewrite determination unit 16 is shared by the plurality of control units 1 and calculation units 2, so that the mounting area of the data processing device can be reduced.
  • the first embodiment is an example in which the first embodiment of the present invention is applied to the data processing apparatus described in the above patent documents:!
  • FIG. 9 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 this embodiment has a plurality of processor elements (PE) each including a register file (RFU), an ALU, and a data processing arithmetic unit (DMU), and each processor element is connected to a wiring and a switch ( SW) are connected to each other.
  • PE processor elements
  • RFU register file
  • ALU ALU
  • DMU data processing arithmetic unit
  • SW switch
  • each processor element including RFU, FFU, ALU, DMU, and the like serves as the arithmetic unit shown in the first embodiment.
  • the arithmetic unit 4 is not limited to the processor element, but may be formed using a logic array, for example.
  • control unit of the present 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 writing unit 34.
  • STC DRP state transition management unit
  • a set of the plurality of processor elements and the state transition management unit is referred to as a tile.
  • the memory (hereinafter referred to as configuration information memory) divided and arranged in each processor element state transition management unit is the configuration information storage unit.
  • the configuration writing unit 34 shows the state transition table of the state management unit 31 of the state transition management unit (control unit) 3 and the conversion table used as the conversion information included in the configuration number conversion unit 32. Update as shown in 11 and finish writing.
  • the configuration number conversion unit 32 Upon receiving a processing execution request from the outside, acquires configuration information of the real number specified as the initial state, specifies the configuration information of the initial state to the processor element group, and The processor element group starts processing. After the above operation, the data processing apparatus shifts to a steady operation.
  • the configuration writing unit 34 When the configuration writing unit 34 receives an execution request for the object code A from the outside, the configuration writing unit 34 notifies the configuration number conversion unit 32 to select the conversion table for the object code A. At this time, the start state is the logical number “0” which is the initial state of the object code A.
  • the configuration number conversion unit 32 converts the logical number “0” into the real number “0” using the conversion table of the currently selected object code A, and stores the pointer of the instruction memory and the current state of the state management unit 31. Notify the calculation unit 4 as the actual status number.
  • the state transition management unit 3 transitions to the next state with reference to the state transition table corresponding to the event signal. .
  • the logical number of the next state corresponding to the current real number and the event signal can be determined, the logical number is notified to the configuration number conversion unit 32.
  • the configuration number conversion unit 32 converts the logical number into a real number using the conversion table of the currently selected object code A, the pointer of the instruction memory provided in the processor element, and the current state of the state management unit 31. Is notified to the arithmetic unit 4 as the real number.
  • the above processing is repeatedly executed until the processing of the object code A is completed.
  • the configuration writing unit 34 instructs the configuration number conversion unit 32 to select the conversion table of the object code B.
  • the start state is the logical number “0” which is the initial state of the object code B.
  • the configuration number conversion unit 32 converts the logical number “0” into the real number “4” using the conversion table of the currently selected object code B, and sets the pointer of the instruction memory and the current state of the state management unit 31. Notify the calculation unit 4 as the actual status number.
  • the logical numbers of the configuration information specified by the object codes A and B are “0” to “3”, respectively, but even if the object codes A and B are stored simultaneously, Regardless of which is executed in response to an external request, the configuration number conversion unit 32 selects the actual number of necessary configuration information. Therefore, it is not necessary to re-synthesize the object code, and there are no restrictions on the layout. Therefore, the object code can be installed in any arrangement without recombining the object code. Also, there is no need to consider interference between object codes.
  • the second embodiment is an example in which the third embodiment of the present invention is applied to the data processing apparatus described in the above patent documents:!
  • FIG. 12 is a block diagram showing the configuration of the second embodiment of the data processing apparatus of the present invention.
  • the arithmetic unit 4 of this embodiment has a plurality of processor elements (PE) each including a register file (RFU), an ALU, and a data processing arithmetic unit (DMU), and each processor element has a wiring and a switch ( SW) are connected to each other.
  • PE processor elements
  • RFU register file
  • ALU ALU
  • DMU data processing arithmetic unit
  • SW switch
  • each processor element including RFU, FFU, ALU, DMU, and the like serves as the arithmetic unit shown in the third embodiment.
  • the arithmetic unit 4 is not limited to the processor element, but may be formed using a logic array, for example.
  • control unit 3 of the present embodiment corresponds to a DRP state transition management unit (STC) including a state management unit 31, a configuration number conversion unit 32, and a configuration rewrite unit 35.
  • STC DRP state transition management unit
  • the auxiliary control unit (MSTC) 42 includes a state management unit 43 and a configuration number conversion unit (not shown). However, the auxiliary control unit 42 is configured to have a smaller number of states than the control unit (state transition management unit) 3. Note that the auxiliary control unit 42 does not need to include a configuration number conversion unit when controlling the state transition using only the real number of the configuration information.
  • the processor element 41 group, the auxiliary control unit 42 and the control unit 3 are combined. Is called a tile.
  • a memory (hereinafter referred to as a configuration information memory) divided and arranged in each processor element 41 and auxiliary control unit 42 is a configuration information storage unit.
  • an external memory storage means in which an object code is stored externally
  • an object code can be acquired from the external memory 6 using the configuration rewriting unit 35.
  • the configuration rewriting unit 35 acquires the configuration information of the object code preset according to the external preparation request, and stores it in the configuration information memory. Then, the state transition diagram of each state management unit of the control unit 3 and the auxiliary control unit 42 and the conversion table used as the conversion information provided in the configuration number conversion unit 32 are updated and the rewriting is finished. Upon completion of this rewriting, the configuration number conversion unit 32 refers to the conversion table, acquires the actual number of each configuration information of the object code in the initial state, and notifies the auxiliary control unit 42 of the actual number.
  • the auxiliary control unit 42 specifies the configuration information of the initial state for the processor element 41 group based on the acquired real number. Then, the issuance of the write enable (WE) cancel signal is stopped and the processor element 41 group starts processing.
  • WE write enable
  • each configuration information is assumed to have a plurality of states that undergo state transition under the control of the auxiliary control unit 42.
  • the state number controlled by the auxiliary control unit 42 hereinafter referred to as the internal state number included in the configuration information of the logical number “x” is “y”, the state is represented by X—y. Is written.
  • the state transition diagram of logical numbers “0” and “1” shown in FIG. 15 is stored in the auxiliary control unit 42, and the state management unit 31 of the control unit 3 stores the logical numbers shown in FIG. It is assumed that a state transition diagram has been saved.
  • the state transition diagrams of logical numbers "2" and “3” are stored in the external memory and processed from the internal state number "2" (state 0-2) included in the configuration information of the logical number "0".
  • the configuration information in the current state is notified to each processor element 41 of the computing unit 4, and the operation relationship of each processor element 41 and the switch connection relationship are determined. As a result, a predetermined calculation is executed in each plugging element 41.
  • the auxiliary control unit 42 controls the transition to the next state based on the state transition diagram corresponding to the event signal.
  • the configuration number conversion unit 32 assigns the internal state number “ Specify “3”.
  • the auxiliary control unit 42 can only know that the state 0_3 makes a transition to another logical number. For this reason, the auxiliary control unit 42 first issues a WE cancel signal in order to stop the operation of the group of plug element elements 41.
  • the register of the processor element 41 does not accept the update of the retained data by this signal. Also, the data input operation from the external port is stopped.
  • the auxiliary control unit 42 sends an event signal to the control unit 3 simultaneously with the issuance of the WE cancel signal.
  • the state management unit 31 receives the event signal from the auxiliary control unit 42, the state management unit 31 makes the next transition based on the current real number “6” and the event signal A according to the conversion table created based on the state transition diagram.
  • the state logical number “1” is determined and sent to the configuration number conversion unit 32.
  • the configuration number conversion unit 32 converts the logical number into a real number using the conversion table.
  • the conversion is successful, and the obtained real number “7” is transmitted to the auxiliary control unit 42 and the state management unit 31.
  • the auxiliary control unit 42 When the auxiliary control unit 42 receives the real number “7” of the configuration information, it designates the configuration information of the next state to the processor element 41 group. Then, the issuance of the WE cancel signal is stopped, and the processor element 41 group restarts its operation.
  • the auxiliary control unit 42 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 42, the state management unit 31 follows the current real number “7” and the event signal A according to the conversion table created based on the state transition diagram. Logical number “2” is determined and notified to configuration number conversion unit 32.
  • 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 stored in the configuration information memory, conversion to a real number without a corresponding real number in the conversion table fails.
  • the configuration number conversion unit 32 requests the configuration rewriting unit 35 to rewrite the configuration information of the logical number “2”.
  • the configuration rewriting unit 35 includes a configuration number conversion table having all the configuration information included in each object code, selects corresponding configuration information based on the configuration number conversion table, and rewrites the configuration information memory. Determine the target. Here, the possibility of reusing the latest is low, and the real numbers “0” to “5” excluding the part where the logical number “0” or “1” is written are to be rewritten.
  • the configuration rewriting unit 35 writes the requested configuration information with the logical number "2" into the configuration information memory with the real number "0", and updates the state transition diagram provided in the state management unit 43 of the auxiliary control unit 42. To do. Then, the conversion table of the configuration number conversion unit 32 is updated and the rewriting process is terminated.
  • FIG. 17 shows a state transition diagram held by the state management unit 43 of the auxiliary control unit 42 after the update
  • FIG. 18 shows a conversion table after the rewrite.
  • the configuration number conversion unit 32 Upon receipt of this rewriting, the configuration number conversion unit 32 refers to the conversion table again, acquires the real number “0” of the next state, and notifies the auxiliary control unit 42 and the state management unit 31 of the actual number. .
  • the auxiliary control unit 42 designates the configuration information corresponding to the real number “0” in the next state in the processor element 41 group. Then, the issuance of the WE cancel signal is stopped and the processor element 41 group restarts the operation.
  • the state B configuration information is also written when the state A configuration information is written. If it is included, there will be no failure when converting the logical number to the real number, so the processing procedure is reduced and the processing speed is increased. If the storage capacity of the configuration information memory is sufficiently large, all the configuration information of the next transition destination candidate may be written into the configuration information memory.
  • each piece of configuration information of the object code is stored in an external storage means, and the contents of the configuration information memory are rewritten as necessary by the configuration rewriting unit. Can execute processing according to configuration information exceeding the storage capacity of the configuration information memory.
  • a large-scale object code can be executed by a small-scale data processing device, and the chip area can be made smaller than before, so that the chip cost is reduced.
  • the seventh embodiment of the present invention is applied to the data processing device described in the above patent documents:! It is an example to which the form of is applied.
  • FIG. 19 is a block diagram showing the configuration of the third embodiment of the data processor of the present invention.
  • the arithmetic unit 4 of this embodiment has a plurality of processor elements (PE) each including a register file (RFU), an ALU, and a data processing arithmetic unit (DMU), and each processor element is connected to a wiring and switch ( SW) are connected to each other.
  • processor elements each including RFU, FFU, ALU, DMU, and the like serves as the arithmetic unit shown in the seventh embodiment.
  • the arithmetic unit 4 is not limited to the processor element, and may be configured using a logic array, for example.
  • the control unit 3 of the present embodiment corresponds to a DRP state transition management unit (STC) including a state management unit 31, a configuration number conversion unit 32, and a configuration rewrite unit 35.
  • STC DRP state transition management unit
  • the configuration information necessary for the state transition after the current state is predicted with reference to the states of the configuration number conversion unit 32 and the configuration rewriting unit 35, and the configuration in the configuration information storage unit is predicted.
  • a rewrite determining unit 36 for determining rewriting of the composition information is provided.
  • the auxiliary control unit (MSTC) 42 includes a state management unit 43 and a configuration number conversion unit (not shown). However, the auxiliary control unit 42 is configured to have a smaller number of states than the control unit (state transition management unit) 3. The auxiliary control unit 42 does not need to include a configuration number conversion unit when controlling state transitions using only the real number of the configuration information.
  • the set of the processor element 41 group, the auxiliary control unit 42, and the state transition management unit 3 is referred to as a tile.
  • a memory (hereinafter referred to as a configuration information memory) arranged in each processor element 41 and auxiliary control unit 42 is a configuration information storage unit.
  • a configuration information memory arranged in each processor element 41 and auxiliary control unit 42 is a configuration information storage unit.
  • an external memory (storage means) 6 in which an object code is stored outside is provided, and that the object code can be acquired from the external memory 6 using the configuration rewriting unit 35.
  • the configuration rewriting unit 35 acquires the configuration information of the object code set in advance in accordance with an external preparation request, and stores it in the configuration information memory. Then, the state transition diagram of each state management unit of the control unit 3 and the auxiliary control unit 42 and the conversion table used as the conversion information provided in the configuration number conversion unit 32 are updated and the rewriting is finished. Upon completion of this rewriting, the configuration number conversion unit 32 refers to the conversion table and returns to the initial state. The real number of each component information of the object code is acquired and notified to the auxiliary control unit 42. It should be noted that the trigger for starting the operation of the configuration rewriting unit 35 need not be an external preparation request.
  • the auxiliary control unit 42 designates the configuration information of the initial state for the processor element 41 group based on the acquired real number. Then, the issuance of the write enable (WE) cancel signal is stopped and the processor element 41 group starts processing.
  • WE write enable
  • FIGS. 20 and 21 assume an operation in which two types of packets arrive and are sequentially processed according to the types. Logical number “0” waits for input, and logical number “3” is an operation common to the two types.
  • FIG. 20 shows a state transition diagram handled by the state management unit 31, and FIG. 21 shows an internal state of a main part of the state transition shown in FIG.
  • Each piece of configuration information includes a plurality of states that undergo state transition under the control of the auxiliary control unit 42.
  • the state number controlled by the auxiliary control unit 42 (hereinafter referred to as the internal state number) included in the configuration information of the logical number “x” is “y”, the state is expressed as X ⁇ y. write.
  • the state transition diagram of the logical number “0” shown at the top of FIG. 21 is stored in the auxiliary control unit 42, and the state management unit 31 of the state transition management unit 3 stores the logical number shown in FIG. It is assumed that the state transition diagram of is stored.
  • each processor element 41 of the computing unit 4 the configuration information in the current state is notified to each processor element 41 of the computing unit 4, and the operation relationship of each processor element 41 and the switch connection relationship are determined. As a result, each professional A predetermined operation is executed in the Sessa element 41.
  • the auxiliary control unit 42 controls the transition to the next state based on the state transition diagram corresponding to the event signal.
  • the state transition is a small state that can be controlled by the auxiliary control unit 42 (the state is a transition from 0 _ 1 to state 0 _ 2)
  • the configuration number conversion unit 32 assigns the internal state number “ Specify 2 ”.
  • the event signal is also notified to the auxiliary control unit 42 at the next clock, and the state 0_2 is changed to the state 0-3.
  • the auxiliary control unit 42 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 42, the state management unit 31 performs the next state based on the current real number “0” and the event signal A according to the conversion table created based on the state transition diagram. Logical number “1” is determined and notified to configuration number conversion unit 32.
  • the state management unit 31 determines the internal state number “1” of the next state and notifies the auxiliary control unit 42 of it.
  • the configuration number conversion unit 32 converts the logical number “1” into a real number using the conversion table.
  • the configuration information in the next state is not stored in the configuration information memory, conversion to a real number without a corresponding real number in the conversion table fails.
  • the configuration number conversion unit 32 requests the configuration rewriting unit 35 to rewrite the configuration information with the logical number “1”.
  • the configuration rewriting unit 35 includes a configuration number conversion table having all the configuration information included in each object code, selects corresponding configuration information based on the configuration number conversion table, and rewrites the configuration information memory. Determine the target.
  • the real numbers “1” to “7” excluding the part where the logical number “0” is written are subject to rewriting.
  • the configuration rewriting unit 35 updates the conversion table included in the configuration number conversion unit 32, writes the requested configuration information of the logical number “1” into the configuration information memory of the real number “1”, and the auxiliary control unit
  • the state transition diagram provided in 42 state management units 43 is updated. Then, the writing completion flag of the conversion table provided in the configuration number conversion unit 32 is updated and the rewriting process is terminated.
  • the configuration number conversion unit 32 Upon receipt of this rewriting, the configuration number conversion unit 32 refers to the conversion table again, acquires the actual number “1” of the next state, and notifies the auxiliary control unit 42 and the state management unit 31 of it. .
  • the auxiliary control unit 42 designates configuration information corresponding to the real number “1” in the next state and the internal number “1” in the processor element 41 group. Then, the issuance of the WE cancel signal is stopped, and the processor elements 41 are restarted.
  • the rewrite determination unit 36 that has received the information indicating the transition instruction to the logical number “1” requests the configuration rewriting unit 35 for the configuration information of the logical number “2” by analyzing the state transition diagram.
  • the configuration rewriting unit 35 starts writing the configuration with the logical number “2”.
  • Figure 23 (a) shows the conversion table when writing of the configuration information is started.
  • the state transition of the logical number “1” is long, and the writing of the configuration information of the logical number “2” by the configuration rewriting unit 35 is completed in the middle of processing the logical number “1”. And When the rewriting determination unit 36 is notified of the completion of writing of the configuration information, since the logical number “2” changes only to the logical number “3” here, the rewriting determination unit 36 displays the configuration information of the logical number “3”. Is requested to the configuration rewriting unit 35.
  • the auxiliary control unit 42 sends an event signal to the state transition management unit 3 simultaneously with the issuance of the WE cancel signal.
  • the state management unit 31 receives the event signal from the auxiliary control unit 42, according to the conversion table created based on the state transition diagram, the current management number 31 and the event signal Based on A, the logical number “2” to be transitioned to next is determined and sent to the configuration number conversion unit 32. Also, the internal state number “1” of the logical number “2” to be transitioned next is determined and notified to the auxiliary control unit 42.
  • the configuration number conversion unit 32 converts the logical number into a real number using the conversion table. Here, the writing of the configuration information of the next logical number “2” is completed and the writing completion flag is set, so the conversion to the real number is successful.
  • the configuration number conversion unit 32 transmits the obtained real number “2” to the auxiliary control unit 42 and the state management unit 31.
  • the auxiliary control unit 42 When the auxiliary control unit 42 receives the real number “2” and the internal state number “1” of the configuration information, it designates the configuration information of the next state to the processor element 41 group. Then, the issuance of the WE cancel signal is stopped, and the processor elements 41 are restarted.
  • transition destinations from logical number “3” there are two transition destinations from logical number “3”: logical number “4” and logical number “11”.
  • logical number “4” when transitioning from logical number “2” Can only be set to transition to the logical number “4”, and when transitioning from the logical number “10”, it can only transition to the logical number “11”.
  • Such a transition destination specification cannot be realized by a state transition diagram alone, but can be set at the object code synthesis stage.
  • the transition destination is specified at the synthesis stage of the object code. Specifically, when the transition to the logical number “ 3 ” occurs, the processor element 41 executes the process of outputting the next transition destination preload request to the configuration number conversion unit 32 according to the processing up to that point. Just synthesize the object code.
  • Such a preload request is output when the logical number “2” or “10” is reached when the logical number “3” is reached, or when the logical number before that is reached. Also good. If it takes time to change the internal state of logical number “3”, it is sufficient to reach logical number “3”. If the time required to transition from logical number “3” to another logical number is short, A preload request may be output before the logical number “3” is reached.
  • the configuration number conversion unit 32 converts the logical number “4” into a real number using the conversion table. here Because the configuration information in the next state is not stored in the configuration information memory, conversion to a real number without a real number corresponding to the conversion table fails. In this case, the configuration number conversion unit 32 requests the configuration rewriting unit 35 to rewrite the configuration information of the logical number “4”.
  • the configuration rewriting unit 35 includes a configuration number conversion table having configuration information of all states included in each object code therein, selects corresponding configuration information based on the configuration number conversion table, and selects configuration information. Determine the memory rewrite target.
  • the real numbers “4” to “7”, which are the elements where the configuration information has been written, are the rewriting targets.
  • the configuration rewriting unit 35 updates the conversion table included in the configuration number conversion unit 32, writes the configuration information of the logical number “4” requested to be rewritten into the configuration information memory of the real number “4”, and performs auxiliary control.
  • the state transition diagram provided in the state management unit 43 of the control unit 42 is updated. Then, the writing completion flag of the conversion table provided in the configuration number conversion unit 32 is updated and the rewriting process is ended.
  • Figure 23 (b) shows the conversion table after this rewriting.
  • the configuration number conversion unit 32 completes the processing for the preload request upon completion of this rewriting. Since this process is not a state transition, configuration notification is not performed.
  • auxiliary control unit 42 first issues a WE cancel signal to stop the operation of the processor elements 41 group.
  • the register of the processor element 41 does not accept the update of the held data by this signal. Also, the data input operation from the external port is stopped.
  • the auxiliary control unit 42 sends an event signal to the state transition management unit 3 simultaneously with the issuance of the WE cancel signal.
  • the state management unit 31 of the state transition management unit receives the event signal from the auxiliary control unit 42
  • the state management unit 31 converts the current real number “1” and the event signal A according to the conversion table created based on the state transition diagram. Based on this, the logical number “4” of the next transition state is determined and sent to the configuration number conversion unit 32. Further, the internal state number “1” of the next state is determined and notified to the auxiliary control unit 42.
  • the configuration number conversion unit 32 converts the logical number into a real number using the conversion table. here, Since the configuration information in the next state is being written to the configuration information memory by the preload request, the configuration number conversion unit 32 succeeds in the number conversion, but the actual number “4” obtained after waiting for the write completion flag. Is transmitted to the auxiliary control unit 42 and the state management unit 31.
  • the auxiliary control unit 42 When the auxiliary control unit 42 receives the real number “2” and the internal number “1” of the configuration information, it designates the configuration information in the next state to the processor element 41 group. Then, the issuance of the WE cancel signal is stopped, and the processor element 41 group restarts the processing operation.
  • the rewrite determining unit 36 requests the configuration information of the logical number “8”.
  • the conversion table at this time is shown in Fig. 23 (c).
  • the configuration rewriting unit 35 writes the configuration information in response to the request for the logical number “8” by the rewrite determining unit 36, 8 configuration information is already written in the configuration information memory, and the logical number “8” is written.
  • various methods can be used to determine the logical number to be erased. Of the logical numbers for which configuration information exists, the configuration information for the logical number that is the farthest from the currently executing logical number is erased. To do.
  • Figure 23 (d) shows the conversion table when this configuration information writing process is started.
  • the configuration rewriting unit 35 erases the configuration information of the logical number “0” that is the farthest transition destination from the logical number “1”, and writes the configuration information of the logical number “4”.
  • the configuration information of the logical number “4” is stored in a real number that is different from the actual number written first, but in the present invention, the problem that occurs due to the difference is converted into a logical number power actual number. It is solved by preparing.
  • Figure 23 (f) shows the conversion table when transitioning to logical number “2”.
  • the configuration rewriting unit 35 deletes the configuration information of the logical number “1”, and instead uses the logical number.
  • the auxiliary control unit 42 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 42, the state management unit 31 performs the next state based on the current real number “0” and the event signal B according to the conversion table created based on the state transition diagram.
  • the logical number “9” is determined and notified to the configuration number conversion unit 32.
  • the internal number “1” in the next state is determined and notified to the auxiliary control unit 42.
  • the configuration number conversion unit 32 converts the logical number “9” into a real number using the conversion table.
  • the configuration information in the next state is not stored in the configuration information memory, conversion to a real number without a corresponding real number in the conversion table fails.
  • the configuration number conversion unit 32 requests the configuration rewriting unit 35 to rewrite the configuration information of the logical number “9”.
  • the configuration rewriting unit 35 includes a configuration number conversion table having all the configuration information included in each object code, selects corresponding configuration information based on the configuration number conversion table, and rewrites the configuration information memory. Determine the target.
  • the real numbers “1” to “7” excluding the part where the logical number “0” is written are subject to rewriting.
  • the real number “2” in which the logical number “2” farthest from the logical number “9” is written is determined to be rewritten.
  • the configuration rewriting unit 35 updates the conversion table included in the configuration number conversion unit 32, writes the requested configuration information of the logical number “9” in the configuration information memory of the real number “2”, and the auxiliary control unit 42 Update the state transition diagram of the state manager. Then, the writing completion flag in the conversion table provided in the configuration number conversion unit 32 is updated and the rewriting process is terminated.
  • the configuration number conversion unit 32 Upon receiving the completion of the rewriting, the configuration number conversion unit 32 refers to the conversion table again, acquires the real number “2” of the next state, and notifies the auxiliary control unit 42 and the state management unit 31 of it. .
  • the auxiliary control unit 42 designates configuration information corresponding to the real number “2” in the next state and the internal number “1” for the processor element 41 group. Then, the issuance of the WE cancel signal is stopped, and the processor elements 41 are restarted.
  • the conversion table at this time is shown in Fig. 23 (h).
  • the rewrite determining unit 36 learns that the logical number “9” is the transition destination, it determines the next required logical number “10” and issues a request to the configuration rewriting unit 35.
  • the configuration rewriting unit 35 finishes writing the configuration information having the logical number “9”
  • the configuration rewriting unit 35 starts writing the configuration information having the logical number “10”.
  • the auxiliary control unit 42 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 42, the state management unit 31 determines whether the next state is based on the current real number “2” and the event signal B according to the conversion table created based on the state transition diagram. The logical number “10” is determined and notified to the configuration number conversion unit 32. Also, the internal number “2” in the next state is determined and notified to the auxiliary control unit 42.
  • the configuration number conversion unit 32 converts the logical number into a real number using the conversion table.
  • the number conversion is successful, but the actual number “0” obtained after waiting for the write completion flag is added to the auxiliary control unit. 42 and the status management unit 31.
  • the auxiliary control unit 42 Upon receiving the real number "0" and the internal number "2" of the configuration information, the auxiliary control unit 42 designates the configuration information in the next state for the processor elements 41 group. Then, the issuance of the WE cancel signal is stopped, and the processor element 41 group restarts the processing.
  • the conversion table at this time is shown in Fig. 23 (i).
  • the rewrite determining unit 36 Using the history, the transition destination from the logical number “0” may be predicted, and the configuration information of the logical number “1” or the logical number “9” may be requested. In addition, when both packets arriving at the same level in the order of arrival of the two types of packets arrive at the same level, the rewrite determining unit 36 may request the configuration information of the logical numbers “1” and “9”, respectively. Good. When such a process is executed, it is not necessary to wait for the completion of rewriting of the configuration information at the time of transition from the logical number “0”, so the process waiting time is reduced and the processing performance is improved.
  • Arithmetic processing is performed on the processing target data by repeating the above processing.
  • both the transition from the state 9-1 to the state 10-2 and the transition from the state 9-3 to the state 10-1 are both from the logical number "9" to the logical number "10". Force as a transition In this case, it is possible to distinguish the internal number of the transition destination by issuing a different event signal from the calculation unit 4, and it is also possible to transition to an arbitrary internal number.
  • the internal number is not necessarily changed to "1" at the time of the state transition where the logical number changes (state transition managed by the state transition management unit).
  • the internal state with the logical number “10” may be divided into two.
  • each configuration information of the object code is stored in an external storage means, and the contents of the configuration information memory are rewritten as necessary by the configuration rewriting unit, so that the data processing device Can execute processing according to configuration information exceeding the storage capacity of the configuration information memory.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)
  • Microcomputers (AREA)
  • Logic Circuits (AREA)

Abstract

 現在の動作状態、次に遷移する状態の候補群及び演算器から発行されるイベント信号に基づき、次の動作状態で用いる構成情報の、オブジェクトコードに含まれる各構成情報の相互関係の情報を示す論理番号を決定する状態管理部と、論理番号を対応する前記構成情報が実際に保存された位置を示す実番号に変換するための変換情報を備え、状態管理部で決定した論理番号に対応する実番号を出力する構成番号変換部と、構成情報が格納され、構成番号変換部から出力された実番号に対応する構成情報を演算器及び相互接続部へ通知する構成情報記憶部とを有する。

Description

明 細 書
データ処理装置
技術分野
[0001] 本発明は、所定の処理を実行する回路の変更が可能な再構成デバイスから成るデ ータ処理装置に関する。
背景技術
[0002] 情報処理装置は、その利用範囲が広がり、より高度な演算処理あるいは画像や動 画のように大量のデータを高速に処理する能力が要求されている。このような要求を 満たすための手法として、従来、ホストプロセッサとは別に特定の演算や処理を専用 に夹ィ丁する DSP (Digital Signal Processor)や Α Ιし(Application Specific Integrat ed Circuit)等を備え、 CPU等のホストプロセッサの処理負荷を軽減することで情報 処理装置としての処理能力を向上させた構成が知られている。
[0003] しかしながら、近年の情報処理装置は、これら画像、動画、音声、音楽等のマルチ メディアデータに対して様々な規格の圧縮/伸長処理や演算処理等が必要になり、 またインターネット等のネットワークを介して各種データを送受信するための通信処理 にも様々なプロトコルが用いられるようになってきている。さらに、ネットワーク上で送 受信される情報の安全性が問題となっているため、情報セキュリティのための喑号ィ匕 処理やそれを解読するための復号処理等も必要となる。そのため、これらの処理に 合わせて多数の DSPや ASIC等を設けていたのでは、情報処理装置の回路規模や コストが 3彭大なものとなってしまう。
[0004] そこで、情報処理装置に FPGA (Field Programmable Gate Array)や CPLD (Co mplex Programmable Logic Device)あるレヽ f JDRP (Dynamically Reconngurable P rocessor)等の再構成デバイスから成るデータ処理装置を備え、必要に応じてデータ 処理装置内のプログラムを書き換えて処理を実行させることにより、情報処理装置の スループットを向上させると共に、コストを低減しつつ様々な処理要求への対応を可 能にした構成が知られている。
[0005] 再構成デバイスは、内部にプログラム (オブジェクトコード)を格納するための内部メ モリを備え、 CPU等の制御により外部メモリに格納されたオブジェクトコードを内部メ モリへロードし、ロードしたオブジェクトコードにしたがって内部に回路を構成し、該回 路により入力されたデータに対して処理を実行する。
[0006] なお、 DRPについては、例えば特許文献 1 (特開 2000— 138579号公報)、特許 文献 2 (特開 2000— 224025号公報)、特許文献 3 (特開 2000— 232354号公報) 、特許文献 4 (特開 2000— 232162号公報)、特許文献 5 (特開 2003— 076668号 公報)、特許文献 6 (特開 2003— 099409号公報)及び非特許文献 1 (Hideharu Am ano, Akiya jouraku, Kenichiro Anjo, A Dynamically Adaptive Hardware on Dynamically Reconfigurable Processor", IEICE Transactions, Vol. E86-B, N 0.12, pp. 3385-3391, 2003.)にその詳細が記載されている。 DRPは、演算処理を 実行する演算部と、演算部の動作を制御する制御部とを備えた構成である。演算部 は、小規模の複数の演算器とそれらの接続を切り替える相互接続部とを備え、各演 算器及び相互接続部に対する命令コードを切り換えることで各種の処理を実現する
[0007] DRPで実行可能な処理には様々な種類があり、例えば処理の途中でメモリから他 のデータを読み出し、それらのデータを用いて処理を続行する場合もある。 DRPは、 内部メモリを備えている力 S、その記憶容量は限定されていることが多レ、。したがって、 DRPによる処理では、処理途中で大きな記憶容量を必要とするテーブルやデータを 参照する際に、それらが格納されたメモリへアクセスする必要がある。そのための処 理方法については、例えば特許文献 7 (特開 2005— 222141号公報)及び特許文 献 8 (特開 2005— 222142号公報)に記載されている。
[0008] 上記した従来のデータ処理装置では、処理対象となるデータに応じて生成された 1 つ以上の構成情報から成るオブジェクトコードに基づき処理を実行する場合、データ 処理装置に格納された構成情報の位置を直接指定しつつ、処理を実行する手法が 採られている。
[0009] ここで、構成情報とは、ある時点における演算器に対する演算命令、相互接続部に おける各演算器の接続関係を示す情報、イベント信号とそれに対応して次に選択す べき構成情報の関係を示す情報等を備えた、データ処理装置内に仮想的に回路を 構成するために必要な情報である。オブジェクトコードは、所望の処理を実行するた めに必要な構成情報の集まりを指す。
[0010] し力 ながら、このような方法では、データ処置装置に複数のオブジェクトコードを 搭載すると、それらのオブジェクトコードが備える構成情報の格納位置が重なる場合 は、それらが重ならないようにオブジェクトコードを合成し直す必要がある。
[0011] また、データ処理装置に複数のオブジェクトコード、あるいは大規模なオブジェクト コードを搭載した結果、データ処理装置で保持可能な構成情報数を超えると、デー タ処理装置では、動作の停止、保持しているオブジェクトコードの入れ替え、再始動 等の一連の処理を実行する必要がある。この動作のために外部に MPU等の処理装 置が必要となる。その際、従来のデータ処理装置では、オブジェクトコードの合成時 に決定した場所にしか構成情報を搭載できないため、同じ機能のコードから成る構 成情報であっても、違う場所に搭載する場合は同じ機能のコードから成る構成情報を 複数用意する必要がある。その場合、構成情報の共有化ができないため、データ処 置装置で同じ構成情報を複数保持したり、同じ構成情報を再度書き換える等の処理 が発生するため、処理が遅くなる問題があった。
発明の開示
[0012] そこで、本発明は、構成情報の格納先の制限を無くすと共に構成情報の共有化が 可能なデータ処理装置を提供することを目的とする。
[0013] 上記目的を達成するため本発明では、データ処理装置に、現在の動作状態、次に 遷移する状態の候補群及び演算器から発行されるイベント信号に基づき、次の動作 状態で用いる構成情報の、オブジェクトコードに含まれる各構成情報の相互関係の 情報である論理番号を決定する状態管理部と、論理番号を、対応する構成情報が実 際に保存された位置を示す実番号に変換するための変換情報を備え、状態管理部 で決定した論理番号に対応する実番号を出力する構成番号変換部と、構成情報が 格納され、構成番号変換部から出力された実番号に対応する構成情報を演算器及 び相互接続部へ通知する構成情報記憶部とを有する。
[0014] このような構成では、オブジェクトコードに含まれる構成情報を論理番号で表せば、 複数のオブジェクトコードに含まれる構成情報の論理番号が重なっていても、構成番 号変換部により対応する実番号にそれぞれ変換されるため、構成情報の格納先の実 質的な制限が無くなる。また、オブジェクトコードに含まれる構成情報を論理番号で 表せば、複数のオブジェクトコードで同一の構成情報を持つ場合でも、特定の実番 号にその構成情報を割り当てれば各オブジェクトコード間でその構成情報を共有で きる。したがって、複数のオブジェクトコードで同一の構成情報を指定できるため、構 成情報の格納先の制限が無くなり、構成情報の共有化も可能になる。
図面の簡単な説明
[図 1]図 1は本発明のデータ処理装置の第 1の実施の形態の構成を示すブロック図で ある。
[図 2]図 2は本発明のデータ処理装置の第 2の実施の形態の構成を示すブロック図で ある。
[図 3]図 3は本発明のデータ処理装置の第 3の実施の形態の構成を示すブロック図で ある。
[図 4]図 4は本発明のデータ処理装置の第 4の実施の形態の構成を示すブロック図で ある。
[図 5]図 5は本発明のデータ処理装置の第 5の実施の形態の構成を示すブロック図で ある。
[図 6]図 6は本発明のデータ処理装置の第 6の実施の形態の構成を示すブロック図で ある。
[図 7]図 7は本発明のデータ処理装置の第 7の実施の形態の構成を示すブロック図で ある。
[図 8]図 8は本発明のデータ処理装置の第 8の実施の形態の構成を示すブロック図で ある。
[図 9]図 9は本発明のデータ処理装置の第 1実施例の構成を示すブロック図である。
[図 10]図 10は図 9に示したデータ処理装置で処理するオブジェクトコードの一例を示 す状態遷移図である。
[図 11]図 11は図 9に示したデータ処理装置で用いる変換表の一例を示す模式図で ある。 園 12]図 12は本発明のデータ処理装置の第 2実施例の構成を示すブロック図である
[図 13]図 13は図 12に示したデータ処理装置で処理するオブジェクトコードの一例を 示す状態遷移図である。
園 14]図 14は図 12に示したデータ処理装置で用いる変換表の一例を示す模式図 である。
園 15]図 15は図 12に示した補助制御部で保存される状態遷移図の一例を示す模 式図である。
園 16]図 16は図 12に示した状態遷移管理部で保存される状態遷移図の一例を示 す模式図である。
園 17]図 17は図 12に示した構成書換部による構成情報の書き換え後に補助制御部 で保持する状態遷移図の一例を示す模式図である。
園 18]図 18は図 12に示した構成書換部による構成情報の書き換え後に構成番号変 換部で保持する変換表の一例を示す模式図である。
園 19]図 19は本発明のデータ処理装置の第 3実施例の構成を示すブロック図である
[図 20]図 20は図 19に示したデータ処理装置の状態遷移管理部で処理するオブジェ タトコードの一例を示す状態遷移図である。
園 21]図 21は図 19に示した状態のさらに内部で状態が遷移する様子を示す状態遷 移図である。
園 22]図 22は図 19に示したデータ処理装置で用いる変換表の一例を示す模式図 である。
園 23a]図 23aは図 19に示した構成書換部による構成情報の書き換え後に状態管理 部及び構成番号変換部で保持する変換表の一例を示す模式図である。
園 23b]図 23bは図 19に示した構成書換部による構成情報の書き換え後に状態管理 部及び構成番号変換部で保持する変換表の一例を示す模式図である。
園 23c]図 23cは図 19に示した構成書換部による構成情報の書き換え後に状態管理 部及び構成番号変換部で保持する変換表の一例を示す模式図である。 [図 23d]図 23dは図 19に示した構成書換部による構成情報の書き換え後に状態管理 部及び構成番号変換部で保持する変換表の一例を示す模式図である。
[図 23e]図 23eは図 19に示した構成書換部による構成情報の書き換え後に状態管理 部及び構成番号変換部で保持する変換表の一例を示す模式図である。
[図 23f]図 23fは図 19に示した構成書換部による構成情報の書き換え後に状態管理 部及び構成番号変換部で保持する変換表の一例を示す模式図である。
[図 23g]図 23gは図 19に示した構成書換部による構成情報の書き換え後に状態管理 部及び構成番号変換部で保持する変換表の一例を示す模式図である。
[図 23h]図 23hは図 19に示した構成書換部による構成情報の書き換え後に状態管 理部及び構成番号変換部で保持する変換表の一例を示す模式図である。
[図 23i]図 23iは図 19に示した構成書換部による構成情報の書き換え後に状態管理 部及び構成番号変換部で保持する変換表の一例を示す模式図である。
発明を実施するための最良の形態
[0016] 次に本発明について図面を参照して説明する。
(第 1の実施の形態)
図 1は本発明のデータ処理装置の第 1の実施の形態の構成を示すブロック図であ る。
[0017] 第 1の実施の形態のデータ処理装置は、制御部 1と演算部 2とを有する構成である
[0018] 制御部 1は、状態管理部 11、構成番号変換部 12、構成情報記憶部 13及び構成 書込部 14を備え、演算部 2は相互接続部 22により接続される複数の演算器 21を備 えている。
[0019] 状態管理部 11は、構成情報に含まれる現在の動作状態及び次に遷移する状態の 候補群 (遷移先候補群)と、演算部 2からのイベント信号とにより、次の動作状態で使 用する構成情報の論理番号を決定し、該論理番号を構成番号変換部 12へ通知する
[0020] 論理番号はオブジェクトコードに含まれる各構成情報の相互関係の情報を示し、構 成情報が実際に構成情報記憶部 13に保存された位置を実番号とする。 [0021] 構成番号変換部 12は、状態管理部 11から通知された構成情報の論理番号を、構 成情報記憶部 13に保存された、対応する構成情報の実番号に変換し、該構成情報 の実番号を構成情報記憶部 13に通知する (構成指定)。
[0022] 構成情報記憶部 13は、動作状態毎の演算器 21及び相互接続部 22の命令群と遷 移先候補群との構成情報の組み合わせであるオブジェクトコードを保持し、構成番号 変換部 12で指定された実番号に対応する構成情報を、演算器 21、相互接続部 22 及び状態管理部 11へそれぞれ通知する。
[0023] 構成書込部 14はデータ処理装置の起動時に構成情報記憶部 13に構成情報を書 き込む。
[0024] 演算器 21は順次遷移する複数の動作状態毎に構成情報記憶部 13から指定され る構成情報にしたがって演算処理を実行する。
[0025] 相互接続部 22は構成情報記憶部 13から通知された構成情報に基づき複数の演 算器 21の接続関係を切り換える。演算部 2からは演算結果に応じたイベント信号が 状態管理部 11に発行される。
[0026] なお、上記各構成要素は、それぞれ図 1に示す機能単位で独立して備える必要は ない。例えば、任意の構成要素が他の構成要素に含まれていてもよぐ任意の構成 要素が複数の部品で構成されていてもよい。例えば、構成情報記憶部 13を分割し、 分割後の構成情報記憶部 13を、状態管理部 11、演算器 21及び相互接続部 22内 にそれぞれ備える構成であってもよい。また、上記各構成要素は、その全てを 1つの 装置内に備える必要はない。例えば、構成書込部 14を、外部に備える他の装置や MPU等で実現してもよい。
[0027] 構成情報には、ある時点における演算器 21に対する演算命令、相互接続部 22に おける各演算器 21の接続関係を示す情報、イベント信号とそれに対応して次に選択 すべき構成情報の論理番号の関係を示す情報を含んでいる。
[0028] 演算器 21は、いわゆる算術演算器 (ALU)等を 1つだけ備えた構成、複数種類の 演算器やレジスタ等の記憶素子を組み合わせた構成も含まれる。
[0029] 状態管理部 11は、現在の状態とイベント信号とに基づき次に遷移すべき状態を決 定することができればどのような構成であってもよい。状態管理部 11は、例えば各状 態間の遷移関係を示す対応表を備えた構成が考えられる。
[0030] また、構成番号変換部 12は、状態管理部 11から指定された構成情報の論理番号 を実番号に変換できればどのような構成であってもよぐ例えば論理番号と実番号の 対応関係を示す対応表を備えた構成、あるいは論理番号と実番号の相対値を基準 に論理番号から実番号へ変換する機構を備えた構成等が考えられる。ここでは、構 成番号変換部 12が実施する論理番号から実番号へ変換するための処理で必要な 上記対応表や相対値等を変換情報と総称する。
[0031] 以上の各構成要素に対する要件は、第 1の実施の形態だけでなぐ以下に記載す る第 2の実施の形態〜第 4の実施の形態でも適用できる。
[0032] 本実施形態のデータ処理装置によれば、状態管理部 11から通知された構成情報 の論理番号を、構成情報記憶部 13に保存された、対応する構成情報の実番号に変 換する構成番号変換部 12を備えることで、複数のオブジェクトコードを格納する場合 でも、構成情報の格納先が制約されることや同一の構成情報を生成する必要がない 。この効果は特に複数のオブジェクトコードを同時に格納するときに顕著である。 (第 2の実施の形態)
図 2は本発明のデータ処理装置の第 2の実施の形態の構成を示すブロック図であ る。
[0033] 第 2の実施の形態のデータ処理装置は、第 1の実施の形態で示した構成書込部 14 に代えて構成書換部 15を備え、構成番号変換部 12から構成書換部 15に対する信 号経路が加わっている点で第 1の実施の形態と異なっている。
[0034] 第 2の実施の形態のデータ処理装置は、第 1の実施の形態と同様に、制御部 1及 び演算部 2を有する構成である。
[0035] 制御部 1は、状態管理部 11、構成番号変換部 12、構成情報記憶部 13及び構成 書換部 15を備え、演算部 2は相互接続部 22により接続される複数の演算器 21を備 えている。
[0036] 状態管理部 11は、構成情報に含まれる現在の動作状態及び次に遷移する状態の 候補群 (遷移先候補群)と、演算部 2からのイベント信号とにより、次の動作状態で使 用する構成情報の論理番号を決定し、該論理番号を構成番号変換部 12へ通知する [0037] 構成番号変換部 12は、状態管理部 11から通知された構成情報の論理番号を、構 成情報記憶部 13に保存された、対応する構成情報の実番号に変換する。このとき、 次の構成情報が構成情報記憶部 13に保存されている場合はその実番号を指定し、 構成情報記憶部 13に保存されていない場合は構成書換部 15に対して書き換え要 求を発行する。
[0038] 構成書換部 15は、データ処理装置の初動時に構成情報記憶部 13に構成情報を 書き込む。また、構成番号変換部 12から書き換え要求が発行されると、構成情報記 憶部 13に保存された構成情報のうち、現時点で不要な構成情報を書き換え要求時 に指定された構成情報に書き換える。また、構成書換部 15は、構成番号変換部 12 の論理番号から実番号への変換処理に必要な変換情報を更新する。不要な構成情 報の選択には、例えば Least Recently Used (LRU)法等の周知の方法を用いれば よい。
[0039] 構成書換部 15は、基本的に書き換え要求に対して要求された構成情報を 1つだけ 書き換えるが、要求された構成情報と共にそれ以降に使用する構成情報も併せて書 き換えてもよい。
[0040] 構成情報記憶部 13は、動作状態毎の演算器 21及び相互接続部 22に対する命令 群と遷移先候補群を示す構成情報の組み合わせであるオブジェクトコードを保持し、 構成番号変換部 12により指定された実番号に対応する構成情報を演算器 21、相互 接続部 22及び状態管理部 11にそれぞれ通知する。
[0041] 演算器 21は順次遷移する複数の動作状態毎に構成情報記憶部 13から通知され た構成情報にしたがって演算処理を実行する。相互接続部 22は構成情報記憶部 1 3から通知された構成情報に基づき演算器 21の接続関係を切り換える。演算器 21 及び相互接続部 22からは、演算結果に応じたイベント信号が状態管理部 11に発行 される。
[0042] 本実施形態のデータ処理装置によれば、複数のオブジェクトコードを格納する場合 でも、構成情報の格納先が制約されることや、同一の構成情報を生成する必要がな レ、。この効果は特に複数のオブジェクトコードを同時に格納するときに顕著である。 [0043] また、構成書換部を備えることで、保持可能なメモリ容量を超える構成情報から成る オブジェクトコードの運用が可能となる。
[0044] (第 3の実施の形態)
図 3は本発明のデータ処理装置の第 3の実施の形態の構成を示すブロック図であ る。
[0045] 第 3の実施の形態のデータ処理装置は、演算部 2に補助制御部 23を備えた点で 第 2の実施の形態と異なっている。補助制御部 23は、例えばハードワイヤードゃロジ ックアレイ等を用いて実現される。
[0046] 第 3の実施の形態のデータ処理装置は、第 2の実施の形態と同様に、制御部 1及 び演算部 2を有する構成である。制御部 1は、状態管理部 11、構成番号変換部 12、 構成情報記憶部 13及び構成書換部 15を備え、演算部 2は相互接続部 22により接 続される複数の演算器 21と補助制御部 23とを備えている。
[0047] 状態管理部 11は、構成情報に含まれる現在の動作状態及び次に遷移する状態の 候補群 (遷移先候補群)と、演算部 2からのイベント信号とにより、次の動作状態で使 用する構成情報の論理番号を決定し、該論理番号を構成番号変換部 12へ通知する
[0048] 構成番号変換部 12は、状態管理部 11から通知された構成情報の論理番号を、構 成情報記憶部 13に保存された、対応する構成情報の実番号に変換する。このとき、 次の構成情報が構成情報記憶部 13に保存されている場合は、その実番号を指定す る。次の構成情報が構成情報記憶部 13に保存されていない場合、構成番号変換部 12は構成書換部 15に対して書き換え要求を発行する。
[0049] 構成書換部 15は、データ処理装置の初動時に構成情報記憶部 13に構成情報を 書き込む。また、構成番号変換部 12から書き換え要求が発行されると、構成情報記 憶部 13に保存された構成情報のうち、現時点で不要な構成情報を、書き換え要求 時に指定された構成情報に書き換える。また、構成書換部 15は、構成番号変換部 1 2の論理番号から実番号への変換処理に必要な変換情報を更新する。不要な構成 情報の選択には、例えば Least Recently Used (LRU)法等の周知の方法を用いれ ばよい。 [0050] 構成書換部 15は、基本的に書き換え要求に対して要求された構成情報を 1つだけ 書き換えるが、要求された構成情報と共にそれ以降に使用する構成情報も併せて書 き換えてもよい。
[0051] 構成情報記憶部 13は、動作状態毎の演算器 21及び相互接続部 22に対する命令 群と遷移先候補群を示す構成情報の組み合わせであるオブジェクトコードを保持し、 構成番号変換部 12により指定された実番号に対応する構成情報を演算器 21、相互 接続部 22及び状態管理部 11にそれぞれ通知する。
[0052] 演算器 21は順次遷移する複数の動作状態毎に構成情報記憶部 13から通知され た構成情報にしたがって演算処理を実行する。相互接続部 22は構成情報記憶部 1 3から通知された構成情報に基づき演算器 21の接続関係を切り換える。演算器 21 及び相互接続部 22からは、演算結果に応じたイベント信号が補助制御部 23に発行 される。
[0053] 本実施形態の演算器 21及び相互接続部 22は、補助制御部 23からの停止信号に したがって動作を停止し、再開信号にしたがって動作を再開する機能を備えている。 この機能は、例えばクロックを停止する手段、演算器 21が備える記憶手段の更新を 停止する等、見かけ上の動作を停止させる手段を用いて実現すればよい。電力低減 の観点では前者が優れ、実装の容易さでは後者が優れている。なお、データ処理装 置が外部メモリ等の記憶手段とデータを送受信しつつ処理を実行する場合、演算器 21は外部ポートを経由してデータの入出力を行う。この外部ポートからのデータ入力 動作も補助制御部 23からの信号にしたがって動作の停止/再開が制御される(図 3 には図示せず)。
[0054] 補助制御部 23は、演算部 2内に在って小規模な状態遷移の制御を受け持つ、制 御部 1と同様の機能を備えた回路である。補助制御部 23は、演算器 21及び相互接 続部 22からイベント信号を受け取ると、該イベント信号に基づき次に遷移する状態が 補助制御部 23の制御範囲内である場合は演算器 21及び相互接続部 22が遷移す べき次の状態に対応する構成情報を指定する。一方、イベント信号に基づき次に遷 移する状態が補助制御部 23の制御範囲を超える場合は、制御部 1へ該イベント信号 を送出し、制御部 1の管轄下による状態遷移を要求する。このとき、余分な演算を実 行しないように演算器 21及び相互接続部 22に停止信号を送出して動作を停止させ る。また、補助制御部 23は、構成情報記憶部 13から指定される構成情報を受け取る と、演算器 21及び相互接続部 22に該構成情報を指定する。その後、再開信号を演 算器 21及び相互接続部 22に送出して動作を再開させる。
[0055] 本実施形態のデータ処理装置によれば、補助制御部 23が受け持つ小規模な状態 遷移を実行している間は動作遷移が演算部 2内で完結するため、従来のデータ処理 装置に比べて高速な動作が可能である。また、制御部 1による大規模な状態遷移を 必要とする場合は演算部 2の不要な動作を停止させることで電力消費を低減できる。
[0056] さらに、本実施形態のデータ処理装置によれば、第 2の実施の形態と同様に、複数 のオブジェクトコードを格納する場合でも、構成情報の格納先が制約されることや同 一の構成情報を生成する必要がない。この効果は特に複数のオブジェクトコードを同 時に格納するときに顕著である。
[0057] また、構成書換部を備えることで、保持可能なメモリ容量を超える構成情報から成る オブジェクトコードの運用が可能となる。
(第 4の実施の形態)
図 4は本発明のデータ処理装置の第 4の実施の形態の構成を示すブロック図であ る。
[0058] 第 4の実施の形態のデータ処理装置は、 2組の制御部 1 (図 4では 11、 12)及び演 算部 2 (図 4では 21、 22)を備え、それら 2組の制御部 1及び演算部 2により構成書換 部 15を共有する構成である。なお、制御部 1及び演算部 2は 2組に限定されるもので はなく何組であってもよい。また、共有される構成書換部 15も 1つである必要はなぐ レヽくつであってもよい。
[0059] 本実施形態のデータ処理装置が備える構成書換部 15は、複数の構成番号変換部 力 同時に発行された要求のうち、いずれ力 4つに対応するための調停機能を備え ている。すなわち、いずれ力 4つの構成番号変換部からの書き換え要求の対応中に 他の構成番号変換部から構成情報の書き換え要求が発行された場合、構成書換部 15の調停機能により先行して発行された書き換え要求の処理が終了するまで、他の 構成番号変換部を備える制御部 1及び演算部 2の組の処理を待機させる。 [0060] その他の制御部 1及び演算部 2の構成及び動作は第 2の実施の形態または第 3の 実施の形態で示したデータ処理装置と同様であるため、その説明は省略する。
[0061] 本実施形態のデータ処理装置によれば、構成番号変換部からの構成情報の書き 換え要求が少ない場合、本実施形態の構成を採用することで構成書換部 15を共有 できるため、データ処理装置の実装面積を低減できる。
(第 5の実施の形態)
図 5は本発明のデータ処理装置の第 5の実施の形態の構成を示すブロック図であ る。
[0062] 第 5の実施の形態のデータ処理装置は、演算部 2から構成番号変換部 12へ信号 を送信するための信号経路を備えた点で第 3の実施の形態と異なっている。
[0063] 第 5の実施の形態のデータ処理装置は、第 3の実施の形態と同様に制御部 1及び 演算部 2を有する構成である。制御部 1は、状態管理部 11、構成番号変換部 12、構 成情報記憶部 13及び構成書換部 15を備え、演算部 2は相互接続部 22により接続さ れる複数の演算器 21と補助制御部 23とを備えている。
[0064] 状態管理部 11は、構成情報に含まれる現在の動作状態及び次に遷移する状態の 候補群 (遷移先候補群)と、演算部 2からのイベント信号とにより、次の動作状態で使 用する構成情報の論理番号を決定し、該論理番号を構成番号変換部 12へ通知する
[0065] 構成番号変換部 12は、状態管理部 11から通知された構成情報の論理番号を、構 成情報記憶部 13に保存された、対応する構成情報の実番号に変換する。このとき、 次の構成情報が構成情報記憶部 13に保存されている場合は、その実番号を指定す る。次の構成情報が構成情報記憶部 13に保存されていない場合、構成番号変換部 12は構成書換部 15に対して書き換え要求を発行する。
[0066] また、構成番号変換部 12は、演算部 2から通知された構成情報の論理番号を、構 成情報記憶部 13に保存された、対応する構成情報の実番号に変換する。このとき、 次の構成情報が構成情報記憶部 13に保存されている場合は、新たに構成情報を書 き換える必要がないため演算部 2の要求に対する処理を終了する。次の構成情報が 構成情報記憶部 13に保存されてレ、なレ、場合、構成番号変換部 12は構成書換部 15 に対して書き換え要求を発行する。
[0067] 構成書換部 15は、データ処理装置の初動時に構成情報記憶部 13に構成情報を 書き込む。また、構成番号変換部 12から書き換え要求が発行されると、構成情報記 憶部 13に保存された構成情報のうち、現時点で不要な構成情報を、書き換え要求 時に指定された構成情報に書き換える。また、構成書換部 15は、構成番号変換部 1 2の論理番号から実番号への変換処理に必要な変換情報を更新する。不要な構成 情報の選択には、例えば Least Recently Used (LRU)法等の周知の方法を用いれ ばよい。
[0068] 構成書換部 15は、基本的に書き換え要求に対して要求された構成情報を 1つだけ 書き換えるが、要求された構成情報と共にそれ以降に使用する構成情報も併せて書 き換えてもよい。
[0069] 構成情報記憶部 13は、動作状態毎の演算器 21及び相互接続部 22に対する命令 群と遷移先候補群を示す構成情報の組み合わせであるオブジェクトコードを保持し、 構成番号変換部 12により指定された実番号に対応する構成情報を演算器 21、相互 接続部 22及び状態管理部 11へ通知する。
[0070] 演算器 21は順次遷移する複数の動作状態毎に構成情報記憶部 13から通知され た構成情報にしたがって演算処理を実行する。相互接続部 22は構成情報記憶部 1 3から通知された構成情報に基づき演算器 21の接続関係を切り換える。演算器 21 及び相互接続部 22からは、演算結果に応じたイベント信号が補助制御部 23に発行 される。
[0071] 本実施形態の演算器は、必要な構成情報を構成情報記憶部 13に格納するよう要 求するための信号 (プリロード要求)を構成番号変換部 12に発行する。この信号は、 オブジェクトコード生成時に、該オブジェクトコードに含まれる解析情報に基づく演算 によって生成される。
[0072] 本実施形態の演算器 21及び相互接続部 22は、補助制御部 23からの停止信号に したがって動作を停止し、再開信号にしたがって動作を再開する機能を備えている。 この機能は、例えばクロックを停止する手段、演算器 21が備える記憶手段の更新を 停止する等、見かけ上の動作を停止させる手段を用いて実現すればよい。電力低減 の観点では前者が優れ、実装の容易さでは後者が優れている。なお、データ処理装 置が外部メモリ等の記憶手段とデータを送受信しつつ処理を実行する場合、演算器
21は外部ポートを経由してデータの入出力を行う。この外部ポートからのデータ入力 動作も補助制御部 23からの信号にしたがって動作の停止/再開が制御される(図 5 には図示せず)。
[0073] 補助制御部 23は、演算部 2内に在って小規模な状態遷移の制御を受け持つ、制 御部 1と同様の機能を備えた回路である。補助制御部 23は、演算器 21及び相互接 続部 22からイベント信号を受け取ると、該イベント信号に基づき次に遷移する状態が 補助制御部 23の制御範囲内である場合は演算器 21及び相互接続部 22が遷移す べき次の状態に対応する構成情報を指定する。一方、イベント信号に基づき次に遷 移する状態が補助制御部 23の制御範囲を超える場合は、制御部 1へ該イベント信号 を送出し、制御部 1の管轄下による状態遷移を要求する。このとき、余分な演算を実 行しないように演算器 21及び相互接続部 22に停止信号を送出して動作を停止させ る。また、補助制御部 23は、構成情報記憶部 13から指定される構成情報を受け取る と、演算器 21及び相互接続部 22に該構成情報を指定する。その後、再開信号を演 算器 21及び相互接続部 22に送出して動作を再開させる。
[0074] 本実施形態のデータ処理装置によれば、演算部から適切なプリロード要求が発行 されれば、予め構成情報記憶部 13に必要な構成情報を書き込むことができるため、 状態遷移の段階で構成書換部 15による書き込み処理を待つ時間が低減し、実処理 時間が増えて処理性能が向上する。
(第 6の実施の形態)
図 6は本発明のデータ処理装置の第 6の実施の形態の構成を示すブロック図であ る。
[0075] 第 6の実施の形態のデータ処理装置は、構成書換部 15の機能の一部を実現する 書換決定部 16を備えた点で第 5の実施の形態と異なっている。
[0076] 第 6の実施の形態のデータ処理装置は、第 5の実施の形態と同様に、制御部 1及 び演算部 2を有する構成である。制御部 1は、状態管理部 11、構成番号変換部 12、 構成情報記憶部 13、構成書換部 15及び書換決定部 16を備え、演算部 2は相互接 続部 22により接続される複数の演算器 21と補助制御部 23とを備えている。
[0077] 状態管理部 11は、構成情報に含まれる現在の動作状態及び次に遷移する状態の 候補群 (遷移先候補群)と、演算部 2からのイベント信号とにより、次の動作状態で使 用する構成情報の論理番号を決定し、該論理番号を構成番号変換部 12へ通知する
[0078] 構成番号変換部 12は、状態管理部 11から通知された構成情報の論理番号を、構 成情報記憶部 13に保存された、対応する構成情報の実番号に変換する。このとき、 次の構成情報が構成情報記憶部 13に保存されている場合は、その実番号を指定す る。次の構成情報が構成情報記憶部 13に保存されていない場合、構成番号変換部 12は構成書換部 15に対して書き換え要求を発行する。
[0079] また、構成番号変換部 12は、演算部 2から通知された構成情報の論理番号を、構 成情報記憶部 13に保存された、対応する構成情報の実番号に変換する。このとき、 次の構成情報が構成情報記憶部 13に保存されている場合は、新たに構成情報を書 き換える必要がないため演算部 2の要求に対する処理を終了する。次の構成情報が 構成情報記憶部 13に保存されてレ、なレヽ場合、構成番号変換部 12は構成書換部 15 に対して書き換え要求を発行する。
[0080] 構成書換部 15は、データ処理装置の初動時に構成情報記憶部 13に構成情報を 書き込む。また、構成番号変換部 12または書換決定部 16から書き換え要求が発行 されると、構成情報記憶部 13に保存された構成情報のうち、現時点で不要な構成情 報を、書き換え要求時に指定された構成情報に書き換える。また、構成書換部 15は 、構成番号変換部 12の論理番号から実番号への変換処理に必要な変換情報を更 新する。不要な構成情報の選択には、例えば Least Recently Used (LRU)法等の 周知の方法を用レ、ればよレ、。
[0081] 構成書換部 15は、書き換え要求に対して要求された構成情報を 1つだけ書き換え る。書き換え要求が構成番号変換部 12及び書換決定部 16から同時に出された場合 は、構成番号変換部 12の要求を優先する。このとき、要求元に対して要求を受け付 けたか否かを返送する。
[0082] 書換決定部 16は、構成番号変換部 12、構成情報記憶部 13及び構成書換部 15の 状態、過去の状態遷移履歴を基にして、次に遷移する状態の構成情報の書き換えを 決定し、構成書換部 15に構成情報の書き換えを要求する。要求が受け付けられなか つた場合は、その理由となる他の要求を勘案して新たな要求を構成書換部 15に出 す。これにより、第 1の実施の形態〜第 5の実施の形態では構成書換部 15が実行し ていた、要求された構成情報及び現在の状態以降に使用する構成情報の書き換え を要求する機能を書換決定部 16にて実現する。
[0083] 構成情報記憶部 13は、動作状態毎の演算器 21及び相互接続部 22に対する命令 群と遷移先候補群を示す構成情報の組み合わせであるオブジェクトコードを保持し、 構成番号変換部 12により指定された実番号に対応する構成情報を演算器 21、相互 接続部 22及び状態管理部 11にそれぞれ通知する。
[0084] 演算器 21は順次遷移する複数の動作状態毎に構成情報記憶部 13から通知され た構成情報にしたがって演算処理を実行する。相互接続部 22は構成情報記憶部 1 3から通知された構成情報に基づき演算器 21の接続関係を切り換える。演算器 21 及び相互接続部 22からは、演算結果に応じたイベント信号が補助制御部 23に発行 される。また、演算器 21及び相互接続部 22からは、演算結果に応じた構成要求信 号 (プリロード要求)が構成番号変換部 12に発行される。
[0085] 本実施形態の演算器 21及び相互接続部 22は、補助制御部 23からの停止信号に したがって動作を停止し、再開信号にしたがって動作を再開する機能を備えている。 この機能は、例えばクロックを停止する手段、演算器 21が備える記憶手段の更新を 停止する等、見かけ上の動作を停止させる手段を用いて実現すればよい。電力低減 の観点では前者が優れ、実装の容易さでは後者が優れている。なお、データ処理装 置が外部メモリ等の記憶手段とデータを送受信しつつ処理を実行する場合、演算器 21は外部ポートを経由してデータの入出力を行う。この外部ポートからのデータ入力 動作も補助制御部 23からの信号にしたがって動作の停止/再開が制御される(図 6 には図示せず)。
[0086] 補助制御部 23は、演算部 2内に在って小規模な状態遷移の制御を受け持つ、制 御部 1と同様の機能を備えた回路である。補助制御部 23は、演算器 21及び相互接 続部 22からイベント信号を受け取ると、該イベント信号に基づき次に遷移する状態が 補助制御部 23の制御範囲内である場合は演算器 21及び相互接続部 22が遷移す べき次の状態に対応する構成情報を指定する。一方、イベント信号に基づき次に遷 移する状態が補助制御部 23の制御範囲を超える場合は、制御部 1へ該イベント信号 を送出し、制御部 1の管轄下による状態遷移を要求する。このとき、余分な演算を実 行しないように演算器 21及び相互接続部 22に停止信号を送出して動作を停止させ る。また、補助制御部 23は、構成情報記憶部 13から指定される構成情報を受け取る と、演算器 21及び相互接続部 22に該構成情報を指定する。その後、再開信号を演 算器 21及び相互接続部 22に送出して動作を再開させる。
[0087] 本実施形態のデータ処理装置によれば、書換決定部 16から適切なプリロード要求 が発行されれば、予め構成情報記憶部 13に必要な構成情報を書き込むことができる ため、状態遷移の段階で構成書換部 15による書き込み処理を待つ時間が低減し、 実処理時間が増えて処理性能が向上する。書換決定部 16は、書き換えを要求する 構成情報を決定するために MPU等の処理装置を必要とするが、構成書換部 15は 要求された構成情報を構成情報記憶部 13へ書き込む処理のみ実行すればよぐ第 2、第 3の実施の形態に比べて実装面積を低減できるため、制御部の機能を一つの チップに搭載することが可能になる。
(第 7の実施の形態)
図 7は本発明のデータ処理装置の第 7の実施の形態の構成を示すブロック図であ る。
[0088] 第 7の実施の形態のデータ処理装置は、状態管理部 11から補助制御部 23へ処理 開始する内部状態を指定するための信号経路を備えた点で第 6の実施の形態と異 なっている。
[0089] 第 7の実施の形態のデータ処理装置は、第 6の実施の形態と同様に、制御部 1及 び演算部 2を有する構成である。制御部 1は、状態管理部 11、構成番号変換部 12、 構成情報記憶部 13、構成書換部 15及び書換決定部 16を備え、演算部 2は相互接 続部 22により接続される複数の演算器 21と補助制御部 23とを備えている。
[0090] 状態管理部 11は、構成情報に含まれる現在の動作状態及び次に遷移する状態の 候補群 (遷移先候補群)と、演算部 2からのイベント信号とにより、次の動作状態で使 用する構成情報の論理番号を決定し、該論理番号を構成番号変換部 12へ通知する 。また、状態管理部 11は、補助制御部 23が実行すべき、次の動作状態において処 理を開始する内部状態番号を決定し、決定した内部状態番号を補助制御部 23へ通 知する。
[0091] 構成番号変換部 12は、状態管理部 11から通知された構成情報の論理番号を、構 成情報記憶部 13に保存された、対応する構成情報の実番号に変換する。このとき、 次の構成情報が構成情報記憶部 13に保存されている場合は、その実番号を指定す る。次の構成情報が構成情報記憶部 13に保存されていない場合、構成番号変換部 12は構成書換部 15に対して書き換え要求を発行する。
[0092] また、構成番号変換部 12は、演算部 2から通知された構成情報の論理番号を、構 成情報記憶部 13に保存された、対応する構成情報の実番号に変換する。このとき、 次の構成情報が構成情報記憶部 13に保存されている場合は、新たに構成情報を書 き換える必要がないため演算部 2からの要求(プリロード要求)に対する処理を終了 する。次の構成情報が構成情報記憶部 13に保存されていない場合、構成番号変換 部 12は構成書換部 15に対して書き換え要求を発行する。
[0093] 構成書換部 15は、データ処理装置の初動時に構成情報記憶部 13に構成情報を 書き込む。また、構成番号変換部 12または書換決定部 16から書き換え要求が発行 されると、構成情報記憶部 13に保存された構成情報のうち、現時点で不要な構成情 報を、書き換え要求時に指定された構成情報に書き換える。また、構成書換部 15は 、構成番号変換部 12の論理番号から実番号への変換処理に必要な変換情報を更 新する。不要な構成情報の選択には、例えば Least Recently Used (LRU)法等の 周知の方法を用レ、ればよレ、。
[0094] 構成書換部 15は、書き換え要求に対して要求された構成情報を 1つだけ書き換え る。書き換え要求が構成番号変換部 12及び書換決定部 16から同時に出された場合 は、構成番号変換部 12の要求を優先する。このとき、要求元に対して要求を受け付 けたか否かを返送する。
[0095] 書換決定部 16は、構成番号変換部 12、構成情報記憶部 13及び構成書換部 15の 状態を基にして、次の状態で使用する構成情報の書き換えを決定し、構成書換部 1 5に書き換えを要求する。構成書換部 15にて該要求が受け付けられなかった場合、 書換決定部 16は、その理由となる他の要求を勘案して新たな要求を構成書換部 15 に出す。これにより、第 1の実施の形態〜第 5の実施の形態では構成書換部 15が実 行していた、要求された構成情報及び現在の状態以降に使用する構成情報の書き 換えを要求する機能を書換決定部 16にて実現する。
[0096] 構成情報記憶部 13は、動作状態毎の演算器 21及び相互接続部 22に対する命令 群と遷移先候補群を示す構成情報の組み合わせであるオブジェクトコードを保持し、 構成番号変換部 12によって指定された実番号に対応する構成情報を演算器 21、相 互接続部 22及び状態管理部 11へ通知する。
[0097] 演算器 21は、順次遷移する複数の動作状態毎に構成情報記憶部 13から通知され た構成情報にしたがって演算処理を実行する。相互接続部 22は構成情報記憶部 1 3から通知された構成情報に基づいて演算器 21の接続関係を切り換える。演算器 2 1及び相互接続部 22からは、演算結果に応じたイベント信号が補助制御部 23に発 行される。また、演算器 21及び相互接続部 22からは、演算結果に応じた構成要求 信号が構成番号変換部 12に発行される。
[0098] 本実施形態の演算器 21及び相互接続部 22は、補助制御部 23からの停止信号に したがって動作を停止し、再開信号にしたがって動作を再開する機能を備えている。 この機能は、例えばクロックを停止する手段、演算器 21が備える記憶手段の更新を 停止する等、見かけ上の動作を停止させる手段を用いて実現すればよい。電力低減 の観点では前者が優れ、実装の容易さでは後者が優れている。なお、データ処理装 置が外部メモリ等の記憶手段とデータを送受信しつつ処理を実行する場合、演算器 21は外部ポートを経由してデータの入出力を行う。この外部ポートからのデータ入力 動作も補助制御部 23からの信号にしたがって動作の停止/再開が制御される(図 7 には図示せず)。
[0099] 補助制御部 23は、演算部 2内に在って小規模な状態遷移の制御を受け持つ、制 御部 1と同様の機能を備えた回路である。補助制御部 23は、演算器 21及び相互接 続部 22からイベント信号を受け取ると、該イベント信号に基づいて次に遷移する状態 が補助制御部 23の制御範囲内である場合は演算器 21及び相互接続部 22が遷移 すべき次の状態に対応する構成情報を指定する。一方、イベント信号に基づき次に 遷移する状態が補助制御部 23の制御範囲を超える場合は、制御部 1へ該イベント信 号を送出し、制御部 1の管轄下による状態遷移を要求する。このとき、余分な演算を 実行しないように演算器 21及び相互接続部 22に停止信号を送出して動作を停止さ せる。また、補助制御部 23は、構成情報記憶部 13から指定される構成情報を受け 取ると、演算器 21及び相互接続部 22に該構成情報を指定する。その後、状態管理 部 11に指定された、動作を開始する内部状態番号の状態とした後に、再開信号を演 算器 21及び相互接続部 22に送出して動作を再開させる。
[0100] 本実施形態のデータ処理装置によれば、状態遷移時に制御部 1によって補助制御 部 23で処理を開始する状態を指定できる。その結果、全体の状態数を低減できる。
[0101] 第 1の実施の形態〜第 6の実施の形態では、予め決められた内部状態からしか処 理を開始できなかった。すなわち、分岐先の数だけ論理番号が必要であった。その ため、分岐が多い状態遷移をもつオブジェクトコードの場合、構成情報数が多くなり、 書き換え回数が多くなる可能性があつたが、第 7の実施の形態はこの問題を解決でき る。但し、ハードウェアリソースを低減したい場合は第 6の実施の形態までの構成を採 用すればよい。
(第 8の実施の形態)
図 8は本発明のデータ処理装置の第 8の実施の形態の構成を示すブロック図であ る。
[0102] 第 8の実施の形態のデータ処理装置は、 2組の制御部 1 (図 8では 11、 12)及び演 算部 2 (図 8では 21、 22)を備え、それら 2組の制御部 1及び演算部 2により書換決定 部 16を共有する構成である。なお、制御部 1及び演算部 2は 2組に限定されるもので はなく何組であってもよい。また、共有される書換決定部 16も 1つである必要はなぐ レヽくつであってもよい。
[0103] 本実施形態のデータ処理装置が備える書換決定部 16は、複数の制御部 1を監視 し、各々の構成書換部に対して書き換えを要求する。いずれかの組の構成書換部に 対しての書き換え要求を発行したとき、発行先の構成書換部が構成を書き換えてレヽ る場合は、それに続く新たな要求を続けて出す必要はない。そこで他方の構成書換 部に対する要求を生成して出力する。
[0104] その他の制御部 1及び演算部 2の構成及び動作は第 6の実施の形態または第 7の 実施の形態で示したデータ処理装置と同様であるため、その説明は省略する。
[0105] 本実施形態のデータ処理装置によれば、複数の制御部 1及び演算部 2にて書換決 定部 16を共有するため、データ処理装置の実装面積を低減できる。
実施例
[0106] 次に本発明のデータ処理装置の実施例について図面を用いて説明する。
[0107] (第 1実施例)
第 1実施例は上記特許文献:!〜 6に記載のデータ処理装置に本発明の第 1の実施 の形態を適用した例である。
[0108] 図 9は本発明のデータ処理装置の第 1実施例の構成を示すブロック図である。
[0109] 本実施例の演算部 4は、レジスタファイル (RFU)、 ALU,データ処理演算器(DM U)を備えた複数のプロセッサエレメント(PE)を有し、各プロセッサエレメントが配線 及びスィッチ(SW)により相互に接続される構成である。このような構成では、 RFU、 FFU、 ALU及び DMU等を備える各プロセッサエレメントが、第 1の実施の形態で示 した演算器となる。なお、演算部 4は、上記プロセッサエレメントに限らず、例えばロジ ックアレイを用いて形成してもよレ、。
[0110] また、本実施例の制御部は、状態管理部 31、構成番号変換部 32、構成書込部 34 を備えた DRPの状態遷移管理部(STC) 3に相当する。上記複数のプロセッサエレメ ントと状態遷移管理部の組をタイルと称す。
[0111] 本実施例では、各プロセッサエレメンゃ状態遷移管理部内に分割して配置されたメ モリ(以下、構成情報メモリと称す)が構成情報記憶部となる。
[0112] 以下、図 10に示すように、 2つのオブジェクトコード A、 Bにしたがって処理を実行す る場合を例にして本実施例のデータ処理装置の動作について説明する。
[0113] 本実施例では、データ処理装置(DRP)が備える命令メモリにて 8種類の構成情報 が保持できるものとし、データ処理装置は、起動時に外部から準備要求を受信すると 、構成書込部 34により対応する構成情報を取得し、オブジェクトコード Aがプロセッサ エレメントが備える命令メモリの実番号「0」〜「3」に書き込まれ、オブジェクトコード B がプロセッサエレメントが備える命令メモリの実番号「4」〜「7」に書き込まれるものと する。次に、構成書込部 34は、状態遷移管理部(制御部) 3の状態管理部 31の状態 遷移表と、構成番号変換部 32が備える、上記変換情報として用いられる変換表とを 、図 11に示すように更新して書き込みを終了する。
[0114] 構成番号変換部 32は、外部から処理の実行要求を受信すると、初期状態として指 定された実番号の構成情報を取得し、プロセッサエレメント群に初期状態の構成情 報を指定し、プロセッサエレメント群に処理を開始させる。以上の動作の後、データ処 理装置は定常動作に移行する。
[0115] 構成書込部 34は、外部からオブジェクトコード Aの実行要求を受信すると、構成番 号変換部 32にオブジェクトコード Aの変換表を選択するよう通知する。このとき、開始 状態をオブジェクトコード Aの初期状態である論理番号「0」とする。
[0116] 構成番号変換部 32は、現在選択されているオブジェクトコード Aの変換表を用いて 論理番号「0」を実番号「0」に変換し、命令メモリのポインタ、状態管理部 31の現状態 の実番号として演算部 4へ通知する。
[0117] 演算部 4の各プロセッサエレメントには現状態の構成情報が通知され、各プロセッ サエレメントの動作とスィッチ(相互接続部)の接続が決定する。その結果、各プロセ ッサエレメントにて所定の演算が実行される。
[0118] プロセッサエレメント群から演算結果がイベント信号として状態遷移管理部 3に通知 されると、状態遷移管理部 3は、そのイベント信号に対応する状態遷移表を参照して 次の状態に遷移する。ここでは、現在の実番号とイベント信号に対応する次の状態の 論理番号が判別できるため、その論理番号を構成番号変換部 32へ通知する。
[0119] 構成番号変換部 32は、現在選択されているオブジェクトコード Aの変換表を用いて 論理番号を実番号に変換し、プロセッサエレメントが備える命令メモリのポインタ、状 態管理部 31の現状態の実番号として演算部 4へ通知する。
[0120] 以上の処理をオブジェクトコード Aの処理が終了するまで繰り返し実行する。
[0121] 次に、外部からオブジェクトコード Bの実行要求があると、構成書込部 34は、構成番 号変換部 32にオブジェクトコード Bの変換表を選択するように指示する。このとき、開 始状態をオブジェクトコード Bの初期状態である論理番号「0」とする。 [0122] 構成番号変換部 32は、現在選択されているオブジェクトコード Bの変換表を用いて 論理番号「0」を実番号「4」に変換し、命令メモリのポインタ、状態管理部 31の現状態 の実番号として演算部 4へ通知する。
[0123] 以下の動作はオブジェクトコード Aに対する処理と同様である。
[0124] 本実施例では、オブジェクトコード A、 Bで指定される構成情報の論理番号はそれ ぞれ「0」〜「3」であるが、オブジェクトコード A、 Bが同時に格納されていても、外部か らの要求に応じてどちらを実行する場合でも、構成番号変換部 32にて必要な構成情 報の実番号が選択される。そのため、オブジェクトコードの再合成は不要となり、また 配置の制約を受けることがなレ、。したがって、オブジェクトコードを合成し直すこと無し にオブジェクトコードを自由な配置で搭載できる。また、オブジェクトコード相互の干 渉についても考慮する必要が無い。
[0125] (第 2実施例)
第 2実施例は上記特許文献:!〜 6に記載のデータ処理装置に本発明の第 3の実施 の形態を適用した例である。
[0126] 図 12は本発明のデータ処理装置の第 2実施例の構成を示すブロック図である。
[0127] 本実施例の演算部 4は、レジスタファイル (RFU)、 ALU,データ処理演算器(DM U)を備えた複数のプロセッサエレメント(PE)を有し、各プロセッサエレメントが配線 及びスィッチ(SW)により相互に接続される構成である。このような構成では、 RFU、 FFU、 ALU及び DMU等を備える各プロセッサエレメントが、第 3の実施の形態で示 した演算器となる。なお、演算部 4は、上記プロセッサエレメントに限らず、例えばロジ ックアレイを用いて形成してもよレ、。
[0128] また、本実施例の制御部 3は、状態管理部 31、構成番号変換部 32、構成書換部 3 5を備えた DRPの状態遷移管理部(STC)に相当する。
[0129] 補助制御部 (MSTC) 42は、制御部 3と同様に状態管理部 43及び構成番号変換 部 (不図示)を備えている。但し、補助制御部 42は保持できる状態数が制御部 (状態 遷移管理部) 3に比べて少ない構成とする。なお、補助制御部 42は、構成情報の実 番号のみ用いて状態の遷移を制御する場合、構成番号変換部を備える必要はなレヽ 。本実施例では、上記プロセッサエレメント 41群、補助制御部 42及び制御部 3の組 をタイルと称す。
[0130] 本実施例では、各プロセッサエレメント 41及び補助制御部 42内に分割して配置さ れたメモリ(以下、構成情報メモリと称す)が構成情報記憶部となる。
[0131] また、本実施例では、外部にオブジェクトコードが格納された外部メモリ(記憶手段)
6を備え、構成書換部 35を用いて該外部メモリ 6からオブジェクトコードを取得できる ものとする。
[0132] データ処理装置の起動時、構成書換部 35は、外部からの準備要求にしたがって予 め設定されたオブジェクトコードの構成情報を取得し、構成情報メモリに保存する。そ して、制御部 3及び補助制御部 42の各状態管理部の状態遷移図と構成番号変換部 32が備える、上記変換情報として用いられる変換表を更新して書き換えを終了する。 この書き換え終了を受けて構成番号変換部 32は、変換表を参照して初期状態のォ ブジェクトコードの各構成情報の実番号を取得して補助制御部 42へ通知する。
[0133] 補助制御部 42は、取得した実番号に基づきプロセッサエレメント 41群に対する初 期状態の構成情報を指定する。そして、ライトイネーブル (WE)キャンセル信号の発 行を停止し、プロセッサエレメント 41群に処理を開始させる。
[0134] 以上の動作の後、データ処理装置は定常動作に移行する。
[0135] 以下、図 13に示す状態遷移を実現するオブジェクトコードにしたがって処理を実行 する場合を例にして、本実施例のデータ処理装置の定常動作について説明する。
[0136] 本実施例では、データ処理装置(DRP)が備える命令メモリにて 8種類の構成情報 が保持できるものとし、図 14に示すように、プロセッサエレメント 41が備える命令メモリ の実番号「0」から「5」が他のオブジェクトコードで使用され、実番号「6」と「7」に論理 番号「0」と「1」の構成情報が保持されているものとする。また、各構成情報には補助 制御部 42の制御により状態遷移する複数の状態を備えているものとする。以下、論 理番号「x」の構成情報に含まれる、補助制御部 42により制御される状態の番号 (以 下、内部状態番号と称す)を「y」とした場合、該状態を X— yと表記する。
[0137] ここでは、補助制御部 42に図 15に示す論理番号「0」と「1」の状態遷移図が保存さ れ、制御部 3の状態管理部 31に図 16に示す論理番号間の状態遷移図が保存され ているものとする。 [0138] 以下、外部メモリに論理番号「2」と「3」の状態遷移図が保存され、論理番号「0」の 構成情報に含まれる内部状態番号「2」(状態 0— 2)から処理を実行する場合を考え る。このとき、演算部 4の各プロセッサエレメント 41に現状態の構成情報が通知され、 各プロセッサエレメント 41の動作とスィッチの接続関係が決定する。その結果、各プ 口セッサエレメント 41で所定の演算が実行される。
[0139] 演算結果がイベント信号として補助制御部 42に通知されると、補助制御部 42はそ のイベント信号に対応する状態遷移図に基づき次の状態への遷移を制御する。ここ では、補助制御部 42で制御可能な小規模な状態遷移 (状態 0 _ 2から状態 0 _ 3へ の遷移)であるため、構成番号変換部 32はプロセッサエレメント 41群に内部状態番 号「3」を指定する。
[0140] 次のクロックにおいて、各プロセッサエレメントの演算結果により状態 0— 3から状態
1 _ 1へ遷移するイベント信号 Aが発行された場合、補助制御部 42では状態 0_ 3か ら他の論理番号へ遷移することしか分からない。そのため、補助制御部 42は、まずプ 口セッサエレメント 41群の動作を停止させるために WEキャンセル信号を発行する。 プロセッサエレメント 41のレジスタはこの信号により保持データの更新を受け付けなく なる。また、外部ポートからのデータ入力動作も停止する。
[0141] 補助制御部 42は、 WEキャンセル信号の発行と同時に制御部 3にイベント信号を送 出する。状態管理部 31は、補助制御部 42からイベント信号を受け取ると、状態遷移 図を基に作成された変換表にしたがって、現在の実番号「6」とイベント信号 Aとに基 づき次に遷移する状態の論理番号「1」を決定し、構成番号変換部 32へ送出する。
[0142] 構成番号変換部 32は、変換表を用いて論理番号を実番号に変換する。ここでは、 次の状態の構成情報が構成情報メモリで保持されているため変換に成功し、得られ た実番号「7」を補助制御部 42及び状態管理部 31へ送信する。
[0143] 補助制御部 42は、構成情報の実番号「7」を受け取ると、プロセッサエレメント 41群 に対して次の状態の構成情報を指定する。そして、 WEキャンセル信号の発行を停 止し、プロセッサエレメント 41群に動作を再開させる。
[0144] 次に、各プロセッサエレメント 41による演算の結果、状態 1—4から状態 2—1へ遷 移するイベント信号 Aが発行された場合、補助制御部 42では制御できなレ、大規模な 状態遷移であるため、補助制御部 42は、プロセッサエレメント 41群に動作を停止さ せるための WEキャンセル信号を発行する。プロセッサエレメント 41のレジスタはこの 信号により、内容更新を受け付けなくなる。また、外部ポートからのデータ入力動作も 停止する。
[0145] 補助制御部 42は、 WEキャンセル信号の発行と同時に状態管理部 31にイベント信 号を送出する。状態管理部 31は、補助制御部 42からイベント信号を受け取ると、状 態遷移図を基に作成された変換表にしたがって、現在の実番号「7」とイベント信号 A とに基づき次の状態の論理番号「2」を決定し、構成番号変換部 32へ通知する。
[0146] 構成番号変換部 32は、変換表を用いて論理番号「2」を実番号に変換する。ここで は、次の状態の構成情報が構成情報メモリに保持されていないため、変換表には対 応する実番号が無ぐ実番号への変換に失敗する。その場合、構成番号変換部 32 は構成書換部 35に対して論理番号「2」の構成情報の書き換えを要求する。
[0147] 構成書換部 35は、内部に各オブジェクトコードに含まれる全ての構成情報を持つ 構成番号変換表を備え、該構成番号変換表に基づき対応する構成情報を選択し、 構成情報メモリの書き換え対象を決定する。ここでは、直近で再利用する可能性が低 レ、、論理番号「0」または「1」が書き込まれた部位を除ぐ実番号「0」から「5」を書き換 え対象とする。
[0148] 構成書換部 35は、要求された論理番号「2」の構成情報を実番号「0」の構成情報メ モリに書き込み、補助制御部 42の状態管理部 43が備える状態遷移図を更新する。 そして、構成番号変換部 32の変換表を更新して書き換え処理を終了する。この更新 後の補助制御部 42の状態管理部 43が保持する状態遷移図を図 17に示し、書き換 え後の変換表を図 18に示す。
[0149] 構成番号変換部 32は、この書き換え終了を受けて、再度、変換表を参照し、次の 状態の実番号「0」を取得して補助制御部 42と状態管理部 31に通知する。
[0150] 補助制御部 42は、プロセッサエレメント 41群に次の状態の実番号「0」に対応する 構成情報を指定する。そして、 WEキャンセル信号の発行を停止してプロセッサエレ メント 41群に動作を再開させる。
[0151] 上記処理の繰り返しにより処理対象のデータに対する演算処理を実行する。 [0152] なお、ここでは、論理番号「2」の次の遷移先は論理番号「3」のみであるため、以降 の状態で必要となる論理番号が明確に判別できる。このような場合、プロセッサエレメ ント 41群が論理番号「2」を処理している間に論理番号「3」の構成情報を構成情報メ モリに書き込めば、状態 2—4から状態 3—1へ遷移させるためのイベント信号 Aが伝 達されたとき、構成情報メモリには既に対応する構成情報が書き込まれているため、 構成番号変換部 32は直ちに遷移先の実番号を決定して補助制御部 42へ通知でき る。
[0153] このように、ある状態 Aにおいて、次の遷移先が他の状態 Bのみであることが分かつ ている場合は、状態 Aの構成情報を書き込む際に状態 Bの構成情報も併せて書き込 んでおけば論理番号から実番号の変換時に失敗することがないため、処理手順が低 減して処理が高速になる。なお、構成情報メモリの記憶容量が十分に大きい場合は、 次の遷移先候補の全ての構成情報を構成情報メモリに書き込んでおレ、てもよレ、。
[0154] また、図 13に示す例では、状態 0— 3から論理番号が変わる遷移として、状態 1—1 と状態 2—1とがあるが、これらは演算部 4から異なるイベント信号を発行することで遷 移先を区別することができる。
[0155] また、上記説明では論理番号が変わる状態遷移 (状態遷移管理部の管理下での 状態遷移)では必ず内部状態番号「1」に遷移する例を示しているが、このように論理 番号が変わる際に必ず内部状態番号「1」に遷移する場合は、状態管理部 31で論理 番号毎の内部状態番号を知る必要はない。ここで、論理番号が変わる際に任意の内 部状態番号へ遷移できる構成とすることも可能である。
[0156] 本実施例のように、外部の記憶手段にオブジェクトコードの各構成情報を格納して おき、構成書換部により必要に応じて構成情報メモリの内容を書き換えることで、デ ータ処理装置は、その構成情報メモリの記憶容量を超える構成情報にしたがって処 理を実行することが可能となる。
[0157] そのため、小規模なデータ処理装置で大規模なオブジェクトコードを実行すること ができ、従来よりもチップ面積を小さくできるためチップコストが低減する。
[0158] (第 3実施例)
第 3実施例は上記特許文献:!〜 6に記載のデータ処理装置に本発明の第 7の実施 の形態を適用した例である。
[0159] 図 19は本発明のデータ処理装置の第 3実施例の構成を示すブロック図である。
[0160] 本実施例の演算部 4は、レジスタファイル (RFU)、 ALU,データ処理演算器(DM U)を備えた複数のプロセッサエレメント(PE)有し、各プロセッサエレメントが配線及 びスィッチ(SW)により相互に接続される構成である。このような構成では、 RFU、 F FU、 ALU及び DMU等を備える各プロセッサエレメントが、第 7の実施の形態で示し た演算器となる。なお、演算部 4は、上記プロセッサエレメントに限らず、例えばロジッ クアレイを用いて構成してもよい。
[0161] また、本実施例の制御部 3は、状態管理部 31、構成番号変換部 32、構成書換部 3 5を備えた DRPの状態遷移管理部(STC)に相当する。
[0162] また、本実施例では、構成番号変換部 32及び構成書換部 35の状態を参照して現 在の状態以降の状態遷移で必要となる構成情報を予測し、構成情報記憶部内の構 成情報の書き換えを決定する書換決定部 36を備える。
[0163] 補助制御部 (MSTC) 42は、制御部 3と同様に状態管理部 43及び構成番号変換 部(不図示)を備えている。但し、補助制御部 42は保持できる状態数が制御部(状態 遷移管理部) 3に比べて少ない構成とする。なお、補助制御部 42は、構成情報の実 番号のみを用いて状態の遷移を制御する場合、構成番号変換部を備える必要はな レ、。本実施例では、上記プロセッサエレメント 41群、補助制御部 42及び状態遷移管 理部 3の組をタイルと称す。
[0164] 本実施例では、各プロセッサエレメント 41及び補助制御部 42内に分割して配置さ れたメモリ(以下、構成情報メモリと称す)が構成情報記憶部となる。また、本実施例 では、外部にオブジェクトコードが格納された外部メモリ(記憶手段) 6を備え、構成書 換部 35を用いて該外部メモリ 6からオブジェクトコードを取得できるものとする。
[0165] データ処理装置の起動時、構成書換部 35は、外部からの準備要求にしたがって予 め設定されたオブジェクトコードの構成情報を取得して構成情報メモリに保存する。 そして、制御部 3及び補助制御部 42の各状態管理部の状態遷移図と構成番号変換 部 32が備える、上記変換情報として用いられる変換表を更新して書き換えを終了す る。この書き換え終了を受けて構成番号変換部 32は、変換表を参照して初期状態の オブジェクトコードの各構成情報の実番号を取得して補助制御部 42へ通知する。な お、構成書換部 35が動作を開始するきつかけは外部からの準備要求である必要は なぐ起動と同時に所定の動作を実行してもよい。
[0166] 補助制御部 42は、取得した実番号に基づきプロセッサエレメント 41群に対する初 期状態の構成情報を指定する。そして、ライトイネーブル (WE)キャンセル信号の発 行を停止し、プロセッサエレメント 41群に処理を開始させる。
[0167] 以上の動作の後、データ処理装置は定常動作に移行する。
[0168] 以下、図 20及び図 21に示す状態遷移を実現するオブジェクトコードにしたがって 処理を実行する場合を例にして、本実施例のデータ処理装置の定常動作について 説明する。
[0169] 図 20及び図 21に示す状態遷移は、 2種類のパケットが到着し、その種別に応じて 順次処理する動作を仮定している。論理番号「0」は入力待ち、論理番号「3」は 2種 類に共通する動作としている。図 20は状態管理部 31で扱う状態遷移図を示し、図 2 1は図 20に示した状態遷移の要部の内部状態を示している。
[0170] 本実施例では、データ処理装置(DRP)が備える命令メモリにて 8種類の構成情報 が保持できるものとし、図 22に示すように実番号 0に論理番号 0の構成情報が保持さ れているものとする。また、各構成情報は補助制御部 42の制御により状態遷移する 複数の状態を備えてレ、るものとする。以下、論理番号「x」の構成情報に含まれる、補 助制御部 42により制御される状態の番号 (以下、内部状態番号と称す)を「y」とした 場合、該状態を X— yと表記する。
[0171] ここでは、補助制御部 42に図 21の最上部に示す論理番号「0」の状態遷移図が保 存され、状態遷移管理部 3の状態管理部 31に図 20に示す論理番号間の状態遷移 図が保存されているものとする。
[0172] 以下、外部メモリに全ての論理番号の状態遷移図が保存され、論理番号「0」の構 成情報に含まれる内部状態番号「 1」(状態 0— 1 )から処理を実行する場合を考える
[0173] このとき、演算部 4の各プロセッサエレメント 41に現状態の構成情報が通知され、各 プロセッサエレメント 41の動作とスィッチの接続関係が決定する。その結果、各プロ セッサエレメント 41で所定の演算が実行される。
[0174] 演算結果がイベント信号として補助制御部 42に通知されると、補助制御部 42はそ のイベント信号に対応する状態遷移図に基づき次の状態への遷移を制御する。ここ では、補助制御部 42で制御可能な小規模な状態遷移 (状態は 0 _ 1から状態 0 _ 2 への遷移)であるため、構成番号変換部 32はプロセッサエレメント 41群に内部状態 番号「2」を指定する。
[0175] 次のクロックでも同様にイベント信号が補助制御部 42に通知され、状態 0_ 2から 状態 0— 3へ遷移する。
[0176] 次に、各プロセッサエレメント 41による演算の結果、状態 0— 3から状態 1—1へ遷 移させるためのイベント信号 Aが発行された場合、補助制御部 42では制御できなレ、 大規模な状態遷移であるため、補助制御部 42は、プロセッサエレメント 41群に動作 を停止させるための WEキャンセル信号を発行する。プロセッサエレメント 41のレジス タはこの信号により、内容更新を受け付けなくなる。また、外部ポートからのデータ入 力動作も停止する。
[0177] 補助制御部 42は、 WEキャンセル信号の発行と同時に状態管理部 31にイベント信 号を送出する。状態管理部 31は、補助制御部 42からイベント信号を受け取ると、状 態遷移図を基に作成された変換表にしたがって、現在の実番号「0」とイベント信号 A とに基づき次の状態の論理番号「1」を決定し、構成番号変換部 32へ通知する。また 、状態管理部 31は、次の状態の内部状態番号「1」を決定し、補助制御部 42へ通知 する。
[0178] 構成番号変換部 32は、変換表を用いて論理番号「1」を実番号に変換する。ここで は、次の状態の構成情報が構成情報メモリに保持されていないため、変換表には対 応する実番号が無ぐ実番号への変換に失敗する。その場合、構成番号変換部 32 は構成書換部 35に対して論理番号「 1」の構成情報の書き換えを要求する。
[0179] 構成書換部 35は、内部に各オブジェクトコードに含まれる全ての構成情報を持つ 構成番号変換表を備え、該構成番号変換表に基づき対応する構成情報を選択し、 構成情報メモリの書き換え対象を決定する。ここでは、論理番号「0」が書き込まれた 部位を除ぐ実番号「1」から「7」を書き換え対象とする。 [0180] 構成書換部 35は、構成番号変換部 32が備える変換表の更新を行い、要求された 論理番号「 1」の構成情報を実番号「 1」の構成情報メモリに書き込み、補助制御部 42 の状態管理部 43が備える状態遷移図を更新する。そして、構成番号変換部 32が備 える変換表の書き込み完了フラグを更新して書き換え処理を終了する。
[0181] 構成番号変換部 32は、この書き換え終了を受けて、再度、変換表を参照し、次の 状態の実番号「1」を取得して補助制御部 42及び状態管理部 31に通知する。
[0182] 補助制御部 42は、プロセッサエレメント 41群に次の状態の実番号「1」、その内部 番号「1」に対応する構成情報を指定する。そして、 WEキャンセル信号の発行を停止 してプロセッサエレメント 41群に動作を再開させる。
[0183] 論理番号「1」からは論理番号「2」にしか遷移しない。これは図 20に示した状態遷 移図より明らかである。論理番号「1」への移行指示を示す情報を受け取った書換決 定部 36は、状態遷移図を解析することで論理番号「2」の構成情報を構成書換部 35 に要求する。本実施例では、論理番号「1」でプロセッサエレメント 41群が動作してい るうちに、構成書換部 35が論理番号「2」の構成を書き込み始める。この構成情報の 書き込みを開始したときの変換表を図 23 (a)に示す。ここでは、論理番号「1」の状態 遷移が長大であり、論理番号「 1」を処理してレ、る途中で構成書換部 35による論理番 号「2」の構成情報の書き込みが終了するものとする。構成情報の書き込み終了が書 換決定部 36に通知されると、ここでは論理番号「2」から論理番号「3」にしか遷移しな いため、書換決定部 36は論理番号「3」の構成情報を構成書換部 35に要求する。
[0184] ここで、論理番号「1」における処理が終了し、状態 1 4から状態 2— 1へ遷移させ るためのイベント信号 Aが発行された場合、補助制御部 42では状態 1—4から他の論 理番号への遷移しか分からなレ、。そのため、補助制御部 42は、まずプロセッサエレメ ント 41群の動作を停止させるために WEキャンセル信号を発行する。プロセッサエレ メント 41のレジスタはこの信号により保持データの更新を受け付けなくなる。また、外 部ポートからのデータ入力動作も停止する。
[0185] 補助制御部 42は、 WEキャンセル信号の発行と同時に状態遷移管理部 3にィベン ト信号を送出する。状態管理部 31は、補助制御部 42からイベント信号を受け取ると、 状態遷移図を基に作成された変換表にしたがって、現在の実番号「1」とイベント信号 Aとに基づき次に遷移する論理番号「2」を決定し、構成番号変換部 32へ送出する。 また、次に遷移する論理番号「2」の内部状態番号「1」を決定し、補助制御部 42へ通 知する。
[0186] 構成番号変換部 32は、変換表を用いて論理番号を実番号に変換する。ここでは、 次に遷移する論理番号「2」の構成情報の書き込みが終了して書き込み完了フラグが 立っているため、実番号への変換に成功する。構成番号変換部 32は、得られた実番 号「2」を補助制御部 42及び状態管理部 31へ送信する。
[0187] 補助制御部 42は、構成情報の実番号「2」と内部状態番号「1」を受け取ると、プロ セッサエレメント 41群に対して次の状態の構成情報を指定する。そして、 WEキャン セル信号の発行を停止し、プロセッサエレメント 41群に動作を再開させる。
[0188] 図 20に示すように、論理番号「3」からの遷移先は、論理番号「4」と論理番号「11」 の二つが存在するが、例えば論理番号「2」から遷移してきた場合は論理番号「4」に しか遷移せず、論理番号「10」から遷移してきた場合は論理番号「11」にしか遷移し ないように設定できる。このような遷移先の指定は、状態遷移図だけでは実現できな いが、オブジェクトコードの合成段階で設定することが可能である。ここでは、ォブジ ェクトコードの合成段階で遷移先を指定するものとする。具体的には、論理番号「3」 に遷移してきたとき、それまでの処理に応じて次の遷移先のプリロード要求を構成番 号変換部 32に出力する処理をプロセッサエレメント 41で実行するように、オブジェク トコードを合成すればよい。なお、このようなプリロード要求は、論理番号「3」に到達し た時点ではなぐ論理番号「2」または「10」に到達した時点、あるいはそれ以前の論 理番号に到達した時点で出力してもよい。論理番号「3」の内部状態の遷移に時間を 要する場合は論理番号「3」の到達時で十分であり、論理番号「3」から他の論理番号 への遷移に要する時間が短い場合は、論理番号「3」に到達する以前にプリロード要 求を出力すればよい。
[0189] 論理番号「2」から論理番号「3」に遷移し、論理番号「3」における状態遷移が開始 されると、先述したプロセッサエレメント 41から論理番号「4」のプリロード要求が構成 番号変換部 32に出力される。
[0190] 構成番号変換部 32は、変換表を用いて論理番号「4」を実番号に変換する。ここで は、次の状態の構成情報が構成情報メモリに保持されていないため、変換表に対応 する実番号が無ぐ実番号への変換に失敗する。その場合、構成番号変換部 32は 構成書換部 35に対して論理番号「4」の構成情報の書き換えを要求する。
[0191] 構成書換部 35は、内部に各オブジェクトコードに含まれる全ての状態の構成情報 を持つ構成番号変換表を備え、該構成番号変換表に基づき対応する構成情報を選 択し、構成情報メモリの書き換え対象を決定する。ここでは、構成情報が書き込まれ てレ、なレ、部位である、実番号「4」から「7」を書き換え対象とする。
[0192] 構成書換部 35は、構成番号変換部 32が備える変換表を更新し、書き換えを要求 された論理番号「4」の構成情報を実番号「4」の構成情報メモリに書き込み、補助制 御部 42の状態管理部 43が備える状態遷移図を更新する。そして、構成番号変換部 32が備える変換表の書き込み完了フラグを更新して書き換え処理を終了する。この 書き換え後の変換表を図 23 (b)に示す。
[0193] 構成番号変換部 32は、この書き換え終了を受けてプリロード要求に対する処理を 完了する。この処理は状態遷移ではないため構成通知は行わない。
[0194] ここで、論理番号「4」の処理にあまり時間がかからず、プリロード要求に対する書き 換え中に状態 3—4から状態 4—1へ遷移させるためのイベント信号 Aが発行されると 、補助制御部 42では状態 3— 4から他の論理番号への遷移しか分からない。そのた め、補助制御部 42は、まずプロセッサエレメント 41群の動作を停止させるために WE キャンセル信号を発行する。プロセッサエレメント 41のレジスタはこの信号により保持 データの更新を受け付けなくなる。また、外部ポートからのデータ入力動作も停止す る。
[0195] 補助制御部 42は、 WEキャンセル信号の発行と同時に状態遷移管理部 3にィベン ト信号を送出する。状態遷移管理部の状態管理部 31は、補助制御部 42からイベント 信号を受け取ると、状態遷移図を基に作成された変換表にしたがって、現在の実番 号「 1」とイベント信号 Aとに基づき次に遷移する状態の論理番号「4」を決定し、構成 番号変換部 32へ送出する。また、次の状態の内部状態番号「1」を決定し、補助制御 部 42へ通知する。
[0196] 構成番号変換部 32は、変換表を用いて論理番号を実番号に変換する。ここでは、 次の状態の構成情報がプリロード要求によって構成情報メモリに書き込み途中にあ るため、構成番号変換部 32は、番号変換には成功するが、書き込みの完了フラグを 待って得られた実番号「4」を補助制御部 42及び状態管理部 31へ送信する。
[0197] 補助制御部 42は、構成情報の実番号「2」と内部番号「1」を受け取ると、プロセッサ エレメント 41群に対して次の状態の構成情報を指定する。そして、 WEキャンセル信 号の発行を停止し、プロセッサエレメント 41群に処理動作を再開させる。
[0198] 以下、論理番号「8」の構成情報を書換決定部 36が要求する場合を考える。このと きの変換表を図 23 (c)に示す。書換決定部 36による論理番号「8」の要求に対し、構 成書換部 35が構成情報を書き込む際、構成情報メモリには 8個の構成情報が既に 書き込まれており、論理番号「8」の構成情報を書き込むには、いずれかの構成情報 を消去しなければならなレ、。ここで消去する論理番号の決定には様々な手法が考え られる力 ここでは構成情報が存在する論理番号のうち、現在実行中の論理番号か ら最も遠い遷移先である論理番号の構成情報を消去する。現在実行中の論理番号 力 S「5」である場合、構成書換部 35は、実番号「4」に書き込まれている論理番号「4」 の構成情報を消去し、代わりに論理番号「8」の構成情報を書き込む。この構成情報 の書き込み処理を開始したときの変換表を図 23 (d)に示す。
[0199] さらに処理が進み、最初に到着したパケット(第 1のパケット)に対する処理が終了し て論理番号「0」に戻った場合を考える。このときの変換表を図 23 (e)に示す。ここで、 次に到着したパケット(第 2のパケット)が最初に到着したパケットと同じものであり、論 理番号「1」に遷移した場合、書換決定部 36は、既に論理番号「3」までは構成情報 が存在するため、論理番号「4」の構成要求を構成書換部 35に発行する。
[0200] 構成書換部 35は、論理番号「1」から最も遠い遷移先である論理番号「0」の構成情 報を消去し、論理番号「4」の構成情報を書き込む。この場合、論理番号「4」の構成 情報は、最初に書き込まれた実番号と異なる実番号に格納されるが、本発明ではそ の差異で発生する問題を論理番号力 実番号へ変換する処理を備えることで解消し ている。論理番号「2」に遷移したときの変換表を図 23 (f)に示す。構成書換部 35は 、論理番号「2」に遷移したとき、論理番号「1」の構成情報を消去し、代わりに論理番 [0201] 以降、同様にして第 2のパケットに対する処理が終了し、論理番号「0」に戻った場 合を考える。このときの変換表を図 23 (g)に示す。第 2のパケットの次に到着したパケ ット(第 3のパケット)は、第 1、第 2のパケットと異なる種類のパケットであり、各プロセッ サエレメント 41による演算の結果、状態 0— 3から状態 9—1へ遷移させるためのィべ ント信号 Bが発行されると、補助制御部 42では制御できなレ、大規模な状態遷移であ るため、補助制御部 42は、プロセッサエレメント 41群に動作を停止させるための WE キャンセル信号を発行する。プロセッサエレメント 41のレジスタはこの信号により、内 容更新を受け付けなくなる。また、外部ポートからのデータ入力動作も停止する。
[0202] 補助制御部 42は、 WEキャンセル信号の発行と同時に状態管理部 31にイベント信 号を送出する。状態管理部 31は、補助制御部 42からイベント信号を受け取ると、状 態遷移図を基に作成された変換表にしたがって、現在の実番号「0」とイベント信号 B とに基づき次の状態の論理番号「9」を決定し、構成番号変換部 32へ通知する。また 、次の状態の内部番号「1」を決定し、補助制御部 42へ通知する。
[0203] 構成番号変換部 32は、変換表を用いて論理番号「9」を実番号に変換する。ここで は、次の状態の構成情報が構成情報メモリに保持されていないため、変換表には対 応する実番号が無ぐ実番号への変換に失敗する。その場合、構成番号変換部 32 は構成書換部 35に対して論理番号「9」の構成情報の書き換えを要求する。
[0204] 構成書換部 35は、各オブジェクトコードに含まれる全ての構成情報を持つ構成番 号変換表を備え、該構成番号変換表に基づいて対応する構成情報を選択し、構成 情報メモリの書き換え対象を決定する。ここでは、論理番号「0」が書き込まれた部分 を除ぐ実番号「1」から「7」を書き換え対象とする。その中で、論理番号「9」から最も 遠い論理番号「2」が書き込まれている実番号「2」を書き換え対象に決定する。
[0205] 構成書換部 35は、構成番号変換部 32が備える変換表を更新し、要求された論理 番号「9」の構成情報を実番号「2」の構成情報メモリに書き込み、補助制御部 42の状 態管理部の状態遷移図を更新する。そして、構成番号変換部 32が備える変換表の 書き込み完了フラグを更新して書き換え処理を終了する。
[0206] 構成番号変換部 32は、この書き換え終了を受けて、再度、変換表を参照し、次の 状態の実番号「2」を取得して補助制御部 42と状態管理部 31に通知する。 [0207] 補助制御部 42は、プロセッサエレメント 41群に次の状態の実番号「2」、その内部 番号「1」に対応する構成情報を指定する。そして、 WEキャンセル信号の発行を停止 してプロセッサエレメント 41群に動作を再開させる。このときの変換表を図 23 (h)に 示す。
[0208] 書換決定部 36は、論理番号「9」が遷移先であると知った時点で、その次に必要と なる論理番号「10」を決定し、構成書換部 35に要求を出す。構成書換部 35は論理 番号「9」の構成情報の書き込みが終了すると、論理番号「10」の構成情報の書き込 みを開始する。
[0209] 続いて、各プロセッサエレメント 41による演算の結果、状態 9—1から状態 10— 2へ 遷移させるためのイベント信号 Bが発行された場合、補助制御部 42では制御できな い大規模な状態遷移であるため、補助制御部 42は、プロセッサエレメント 41群に処 理を停止させるための WEキャンセル信号を発行する。プロセッサエレメント 41のレジ スタはこの信号により、内容更新を受け付けなくなる。また、外部ポートからのデータ 入力動作も停止する。
[0210] 補助制御部 42は、 WEキャンセル信号の発行と同時に状態管理部 31にイベント信 号を送出する。状態管理部 31は、補助制御部 42からイベント信号を受け取ると、状 態遷移図を基に作成された変換表にしたがって、現在の実番号「2」とイベント信号 B とに基づき次の状態の論理番号「10」を決定し、構成番号変換部 32へ通知する。ま た、次の状態の内部番号「2」を決定し、補助制御部 42へ通知する。
[0211] 構成番号変換部 32は、変換表を用いて論理番号を実番号に変換する。ここでは、 次の状態の構成情報がプリロード要求により構成情報メモリに書き込み中であるため 、番号変換には成功するが、書き込み完了フラグを待って得られた実番号「0」を補 助制御部 42及び状態管理部 31へ送信する。
[0212] 補助制御部 42は、構成情報の実番号「0」と内部番号「2」とを受け取ると、プロセッ サエレメント 41群に対して次の状態の構成情報を指定する。そして、 WEキャンセル 信号の発行を停止し、プロセッサエレメント 41群に処理を再開させる。このときの変換 表を図 23 (i)に示す。
[0213] なお、 2種類のパケットの到着順に何らかの法則性がある場合、書換決定部 36は、 その履歴を利用して、論理番号「0」からの遷移先を予測し、論理番号「1」または論 理番号「9」の構成情報を要求してもよい。また、 2種類のパケットの到着順に法則性 が無ぐどちらのパケットも同じ程度到着する場合、書換決定部 36は、論理番号「1」 及び論理番号「9」の構成情報をそれぞれ要求してもよい。このような処理を実行する と、論理番号「0」からの遷移時に構成情報の書き換え終了を待つ必要が無いため、 処理の待機時間が低減して処理性能が向上する。
[0214] 上記処理の繰り返しにより処理対象のデータに対する演算処理を実行する。
[0215] なお、図 21に示した状態遷移例では、状態 0— 3から論理番号が変わる遷移として 、状態 1—1と状態 9—1があるが、これらは演算部 4から異なるイベント信号を発行す ることで遷移先を区別することも可能である。
[0216] また、例えば状態 9—1から状態 10— 2への遷移と、状態 9— 3から状態 10— 1への 遷移とは、どちらも論理番号「9」から論理番号「10」への遷移である力 このような場 合も演算部 4から異なるイベント信号を発行することで遷移先の内部番号を区別する ことが可能であり、任意の内部番号へ遷移することも可能である。
[0217] また、上記説明では論理番号が変わる状態遷移時 (状態遷移管理部の管理下の 状態遷移)に必ずしも内部状態番号「1」に遷移しない例を示しているが、論理番号 が変わる状態遷移時に内部状態番号「 1」に必ず遷移させたレ、場合は論理番号「 10 」の内部状態を 2つに分割すればよい。その場合、論理番号「9」に状態 10— 1を含 めることが望ましいが、そのようにできない場合は構成情報数が増えることになる。
[0218] 本実施例のように、外部の記憶手段にオブジェクトコードの各構成情報を格納して おき、構成書換部により必要に応じて構成情報メモリの内容を書き換えることで、デ ータ処理装置は、その構成情報メモリの記憶容量を超える構成情報にしたがって処 理を実行することが可能となる。
[0219] そのため、小規模なデータ処理装置で大規模なオブジェクトコードを実行すること が可能であり、従来よりもチップ面積を小さくできるためにチップコストが低減する。
[0220] さらに、必要な構成情報を前もって書き換えることにより、処理における待ち時間が 低減して処理性能が向上する。

Claims

請求の範囲
[1] 複数の演算器及び演算器の接続を切り換える相互接続部を備え、前記演算器に 対する演算命令及び前記演算器の接続関係を示す情報を含む少なくとも一つの構 成情報から成るオブジェクトコードにしたがって各種の処理を実行するための回路を 変更することが可能なデータ処理装置であって、
現在の動作状態、次に遷移する状態の候補群及び前記演算器から発行されるィ ベント信号に基づき、次の動作状態で用いる構成情報の、前記オブジェクトコードに 含まれる各構成情報の相互関係の情報である論理番号を決定する状態管理部と、 前記論理番号を、対応する前記構成情報が実際に保存された位置を示す実番号 に変換するための変換情報を備え、前記状態管理部で決定した論理番号に対応す る実番号を出力する構成番号変換部と、
前記構成情報が格納され、前記構成番号変換部から出力された実番号に対応す る構成情報を前記演算器及び前記相互接続部へ通知する構成情報記憶部と、 を有するデータ処理装置。
[2] 前記演算器及び前記相互接続部と前記状態管理部との間に挿入される、前記状 態管理部で制御可能な状態の遷移よりも規模の小さい状態の遷移を制御する補助 制御部を有する請求項 1記載のデータ処理装置。
[3] 前記状態管理部で決定した論理番号に対応する実番号が無レ、場合、該実番号に 対応する構成情報を前記構成情報記憶部に書き込むと共に、次に遷移する状態以 降の状態で必要となる構成情報を予測する書換決定部を有する請求項 1または 2記 載のデータ処理装置。
[4] 前記状態管理部で決定した論理番号に対応する実番号が無レ、場合、該実番号に 対応する構成情報を前記構成情報記憶部に書き込み、前記構成番号変換部が備え る、前記論理番号力 対応する実番号に変換するための変換情報を書き換える構成 書換部を有する請求項 1または 2記載のデータ処理装置。
[5] 前記構成情報が格納される、データ処理装置力 独立した記憶手段を備え、 前記構成書換部は、
前記状態管理部で決定した論理番号に対応する実番号が無レ、場合、該実番号に 対応する構成情報を前記記憶手段から読み出す請求項 4記載のデータ処理装置。
[6] 前記構成書換部は、
前記状態管理部で決定した論理番号に対応する実番号が無レ、場合、該実番号に 対応する構成情報と共に、次に遷移する状態以降の状態で必要となる構成情報も併 せて前記構成情報記憶部に書き込む請求項 4または 5記載のデータ処理装置。
[7] 前記補助制御部は、
前記状態管理部で制御する状態遷移の場合、前記演算器の動作を停止させ、 前記構成情報記憶部から前記実番号に対応する構成情報が出力されると、前記演 算器の動作を再開させる請求項 2から 6のいずれか 1項記載のデータ処理装置。
[8] 前記補助制御部は、
前記演算器へのクロックの供給を止めることで前記演算器の動作を停止させる請求 項 7記載のデータ処理装置。
[9] 前記補助制御部は、
前記演算器が備える記憶素子の書き換えを禁止することで前記演算器の動作を停 止させる請求項 7または 8記載のデータ処理装置。
[10] 前記補助制御部は、
前記演算器と外部とデータを送受信するための外部ポートからのデータ入力を止 めることで前記演算器の動作を停止させる請求項 7から 9のいずれ力 1項記載のデー タ処理装置。
[11] 前記演算器はプロセッサエレメントであり、
前記相互接続部にスィッチを含む請求項 1から 10のいずれか 1項記載のデータ処 理装置。
[12] 前記補助制御部がハードワイヤードで形成された請求項 7から 11のいずれ力 4項 記載のデータ処理装置。
[13] 前記補助制御部がロジックアレイで形成された請求項 6から 11のいずれ力、 1項記載 のデータ処理装置。
[14] 前記演算器及び前記相互接続部がロジックアレイで形成された請求項 1から 13の いずれか 1項記載のデータ処理装置。
[15] 前記構成書換部は、
次に遷移する状態以降の状態で必要となる構成情報として、前記演算部が要求し た論理番号に対応する実番号が無レ、場合、該実番号に対応する構成情報を前記構 成情報記憶部に書き込む請求項 6から 14のいずれか 1項記載のデータ処理装置。
[16] 前記構成書換部は、
次に遷移する状態以降の状態で必要となる構成情報として、前記演算部が要求し た論理番号に対応する構成情報を前記構成情報記憶部に書き込む請求項 6から 14 のレ、ずれか 1項記載のデータ処理装置。
[17] 前記状態管理部は、
前記補助制御部で制御を開始する状態を指定する請求項 2から 16のいずれ力 4項 記載のデータ処理装置。
PCT/JP2007/055829 2006-04-05 2007-03-22 データ処理装置 WO2007114059A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008508511A JP5131188B2 (ja) 2006-04-05 2007-03-22 データ処理装置
US12/296,093 US8069333B2 (en) 2006-04-05 2007-03-22 Converting logical to real number to access shared configuration information in event driven state transiting reconfigurable system

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2006103987 2006-04-05
JP2006-103987 2006-04-05
JP2007-061934 2007-03-12
JP2007061934 2007-03-12

Publications (1)

Publication Number Publication Date
WO2007114059A1 true WO2007114059A1 (ja) 2007-10-11

Family

ID=38563328

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2007/055829 WO2007114059A1 (ja) 2006-04-05 2007-03-22 データ処理装置

Country Status (3)

Country Link
US (1) US8069333B2 (ja)
JP (1) JP5131188B2 (ja)
WO (1) WO2007114059A1 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009096247A1 (ja) * 2008-02-01 2009-08-06 Nec Corporation 多分岐予測方法及び装置
WO2010023804A1 (ja) * 2008-08-25 2010-03-04 日本電気株式会社 データ処理装置、データ処理方法並びにデータ処理プログラムが格納された記録媒体
WO2010055706A1 (ja) * 2008-11-14 2010-05-20 日本電気株式会社 データ処理装置、データ処理方法及びプログラム
WO2010087098A1 (ja) * 2009-01-30 2010-08-05 日本電気株式会社 並列演算装置、情報処理システム、並列演算方法、および情報処理装置
WO2011024504A1 (ja) * 2009-08-25 2011-03-03 日本電気株式会社 データ処理装置
JP2013110730A (ja) * 2010-06-24 2013-06-06 Taiyo Yuden Co Ltd 半導体装置
JP5240200B2 (ja) * 2007-10-03 2013-07-17 日本電気株式会社 データ処理装置および方法
US9350357B2 (en) 2012-10-28 2016-05-24 Taiyo Yuden Co., Ltd. Reconfigurable semiconductor device

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100299418A1 (en) * 2009-05-22 2010-11-25 Samsung Electronics Co., Ltd. Configuration and administrative control over notification processing in oma dm
JP2011048579A (ja) * 2009-08-26 2011-03-10 Univ Of Tokyo 画像処理装置及び画像処理方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003198362A (ja) * 2001-12-28 2003-07-11 Tokyo Electron Device Ltd 演算システム
JP2005222142A (ja) * 2004-02-03 2005-08-18 Nec Corp アレイ型プロセッサ
JP2006018515A (ja) * 2004-06-30 2006-01-19 Fujitsu Ltd 演算装置及び演算装置の制御方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07105098A (ja) 1993-10-07 1995-04-21 Nec Corp 命令キャッシュのリプレース装置
JPH11306015A (ja) 1998-04-22 1999-11-05 Matsushita Electric Ind Co Ltd 演算処理方法及びそれを用いたマイクロコンピュータ
JP3576837B2 (ja) 1998-10-30 2004-10-13 日本電気株式会社 プログラマブルロジックlsiの基本セル及び基本セル2次元アレイ
JP3444216B2 (ja) 1999-01-28 2003-09-08 日本電気株式会社 プログラマブルデバイス
JP3269526B2 (ja) 1999-02-09 2002-03-25 日本電気株式会社 プログラマブルロジックlsi
JP3616518B2 (ja) 1999-02-10 2005-02-02 日本電気株式会社 プログラマブルデバイス
JP2000311156A (ja) 1999-04-27 2000-11-07 Mitsubishi Electric Corp 再構成可能並列計算機
JP3528922B2 (ja) 2001-08-31 2004-05-24 日本電気株式会社 アレイ型プロセッサ、データ処理システム
JP3921367B2 (ja) 2001-09-26 2007-05-30 日本電気株式会社 データ処理装置および方法、コンピュータプログラム、情報記憶媒体、並列演算装置、データ処理システム
JP2003196248A (ja) 2001-10-19 2003-07-11 Japan Research Institute Ltd 自動情報収集システムおよび自動情報収集プログラム
JP2003288203A (ja) 2002-03-27 2003-10-10 Asahi Kasei Corp プロセッサの開発支援装置
JP4728581B2 (ja) 2004-02-03 2011-07-20 日本電気株式会社 アレイ型プロセッサ
US20100223596A1 (en) * 2007-10-03 2010-09-02 Takeshi Inuo Data processing device and method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003198362A (ja) * 2001-12-28 2003-07-11 Tokyo Electron Device Ltd 演算システム
JP2005222142A (ja) * 2004-02-03 2005-08-18 Nec Corp アレイ型プロセッサ
JP2006018515A (ja) * 2004-06-30 2006-01-19 Fujitsu Ltd 演算装置及び演算装置の制御方法

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5240200B2 (ja) * 2007-10-03 2013-07-17 日本電気株式会社 データ処理装置および方法
JP5347974B2 (ja) * 2008-02-01 2013-11-20 日本電気株式会社 多分岐予測方法及び装置
WO2009096247A1 (ja) * 2008-02-01 2009-08-06 Nec Corporation 多分岐予測方法及び装置
WO2010023804A1 (ja) * 2008-08-25 2010-03-04 日本電気株式会社 データ処理装置、データ処理方法並びにデータ処理プログラムが格納された記録媒体
WO2010055706A1 (ja) * 2008-11-14 2010-05-20 日本電気株式会社 データ処理装置、データ処理方法及びプログラム
WO2010087098A1 (ja) * 2009-01-30 2010-08-05 日本電気株式会社 並列演算装置、情報処理システム、並列演算方法、および情報処理装置
US9021234B2 (en) 2009-01-30 2015-04-28 Nec Corporation Indirect designation of physical configuration number as logical configuration number based on correlation information, within parallel computing
JP5532050B2 (ja) * 2009-08-25 2014-06-25 日本電気株式会社 データ処理装置
WO2011024504A1 (ja) * 2009-08-25 2011-03-03 日本電気株式会社 データ処理装置
US9021235B2 (en) 2009-08-25 2015-04-28 Nec Corporation Data processing device
JP2013110730A (ja) * 2010-06-24 2013-06-06 Taiyo Yuden Co Ltd 半導体装置
US8952721B2 (en) 2010-06-24 2015-02-10 Taiyo Yuden Co., Ltd. Semiconductor device
CN104617944A (zh) * 2010-06-24 2015-05-13 太阳诱电株式会社 半导体装置
US9214209B2 (en) 2010-06-24 2015-12-15 Taiyo Yuden Co., Ltd. Semiconductor device
CN104617944B (zh) * 2010-06-24 2018-03-16 太阳诱电株式会社 半导体装置
US9350357B2 (en) 2012-10-28 2016-05-24 Taiyo Yuden Co., Ltd. Reconfigurable semiconductor device

Also Published As

Publication number Publication date
US20090119491A1 (en) 2009-05-07
JP5131188B2 (ja) 2013-01-30
US8069333B2 (en) 2011-11-29
JPWO2007114059A1 (ja) 2009-08-13

Similar Documents

Publication Publication Date Title
WO2007114059A1 (ja) データ処理装置
US8935694B2 (en) System and method for selectively saving and restoring state of branch prediction logic through separate hypervisor-mode and guest-mode and/or user-mode instructions
US7945764B2 (en) Processing unit incorporating multirate execution unit
US9032191B2 (en) Virtualization support for branch prediction logic enable / disable at hypervisor and guest operating system levels
US6526462B1 (en) Programmable multi-tasking memory management system
JP5496578B2 (ja) 高密度スレッド化ネットワーク・オン・ア・チップにおけるソフトウェア制御の任意ベクトル・オペランド選択をサポートする直接スレッド間通信バッファ
US7502915B2 (en) System and method using embedded microprocessor as a node in an adaptable computing machine
US7793025B2 (en) Hardware managed context sensitive interrupt priority level control
US20120198165A1 (en) Mechanism to Update the Status of In-Flight Cache Coherence In a Multi-Level Cache Hierarchy
KR102187912B1 (ko) 인터럽트들의 세트들을 구성하는 장치 및 방법
JP3752224B2 (ja) コンピュータ・システムにおいて命令を処理する方法および装置
JP2007133456A (ja) 半導体装置
US6915414B2 (en) Context switching pipelined microprocessor
US11392407B2 (en) Semiconductor device
JP2000293436A (ja) パイプラインメモリシステムにおける複数のターゲットへの複数の未解決要求のサポート
US9438414B2 (en) Virtualized SHA computational engine
US20080148010A1 (en) Semiconductor integrated circuit
JP5532050B2 (ja) データ処理装置
JP2006202271A (ja) ストリームプロセッサ及び情報処理装置
JPWO2005001689A1 (ja) 電子計算機、半導体集積回路、制御方法、プログラムの生成方法、及びプログラム
Evripidou et al. Data Driven Network of Workstations D2NOW
JP3982077B2 (ja) マルチプロセッサシステム
WO2010055706A1 (ja) データ処理装置、データ処理方法及びプログラム
WO2010023804A1 (ja) データ処理装置、データ処理方法並びにデータ処理プログラムが格納された記録媒体
WO2023007114A1 (en) A data processing apparatus and method for transmitting triggered instructions between processing elements

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

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2008508511

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 12296093

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 07739272

Country of ref document: EP

Kind code of ref document: A1