WO2020230412A1 - 情報処理装置 - Google Patents

情報処理装置 Download PDF

Info

Publication number
WO2020230412A1
WO2020230412A1 PCT/JP2020/008577 JP2020008577W WO2020230412A1 WO 2020230412 A1 WO2020230412 A1 WO 2020230412A1 JP 2020008577 W JP2020008577 W JP 2020008577W WO 2020230412 A1 WO2020230412 A1 WO 2020230412A1
Authority
WO
WIPO (PCT)
Prior art keywords
memory
time
control
data
transfer
Prior art date
Application number
PCT/JP2020/008577
Other languages
English (en)
French (fr)
Inventor
俊規 玉井
Original Assignee
オムロン株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by オムロン株式会社 filed Critical オムロン株式会社
Priority to CN202080028588.5A priority Critical patent/CN113711191A/zh
Priority to US17/605,243 priority patent/US11782860B2/en
Priority to EP20806618.3A priority patent/EP3971722A4/en
Publication of WO2020230412A1 publication Critical patent/WO2020230412A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/368Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
    • G06F13/372Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control using a time-dependent priority, e.g. individually loaded time counters or time slot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus

Definitions

  • the present invention relates to an information processing device that operates in cooperation with a control device that executes control of a controlled object.
  • an industrial control system in which various units operating in cooperation with the controller are used in combination is known.
  • the controller and the unit share the same memory, and the controller or the unit often accesses the shared memory to read and write data.
  • controllers and units are allowed to access shared memory in a disorderly manner, "memory contention" occurs due to the occurrence of each access at the same timing, and as a result, data that should be processed preferentially. Problems such as delayed reading and writing can occur.
  • Patent Documents 1 and 2 for example.
  • Patent Document 1 describes a first control means that outputs a request signal for permission to use a shared memory at random timing, and a second control means that outputs a request signal for permission to use the shared memory at regular intervals.
  • a memory access arbitration device including the first control means and the arbitration means for arbitrating the request signal output from the second control means, the output of the request signal from the second control means is received.
  • the arbitration means includes a determination means for outputting an ack prohibition signal that prohibits the arbitration means from outputting an ack signal to the first control means.
  • Patent Document 2 describes the plurality of devices subject to arbitration in an arbitration system in which usage requests for shared resources from a plurality of devices are arbitrated according to a predetermined priority and the use of the shared resources is selectively permitted.
  • the time from the start of the use request permission of the specific device that needs to transfer data within a certain time to the start of the next use request permission is timed, and the selection of the use request permission of the specific device is performed for a predetermined time.
  • a timekeeping means that generates a timeout signal when it is detected that the timekeeping means is not present, and the specific device by changing the priority of the specific device to the highest or at least the second highest according to the time-out signal from the timekeeping means.
  • a arbitration system is disclosed, which comprises an arbitration means for permitting a request for use of the above at regular intervals.
  • Japanese Patent Publication Japanese Patent Laid-Open No. 2005-115421
  • Japanese Patent Publication Japanese Patent Laid-Open No. 9-9119
  • both the first control means and the second control means need to access the arbitration means to arbitrate the access to the memory. Therefore, for example, when the first control means is the CPU of an industrial controller, the processing load (request transmission, ACK reception, etc.) of the CPU for arbitration increases, so that the control cycle of the CPU becomes long. As a result, there arises a problem that the CPU cannot execute the process at a constant cycle.
  • the present invention has been made to solve the above-mentioned problems, and an object of the present invention is to prevent the occurrence of memory contention without causing the arithmetic unit of the control device to execute arbitration processing for preventing memory contention. There is.
  • the information processing device includes a first memory connected to the serial bus, a first counter that outputs a first signal at regular intervals, and the first counter connected to the serial bus.
  • An information processing device connected to a control device including a first communication unit that communicates with the first memory via the serial bus at predetermined control cycles based on a signal, and is the first counter.
  • the first communication unit is connected to the serial bus and the first communication unit in the control cycle based on the second signal and the second counter that outputs the second signal at regular intervals.
  • the configuration includes a second communication unit that communicates with the first memory via the serial bus.
  • the unit 20 is an information processing device connected to the PLC 10 in the control system 1 and operates in cooperation with the PLC 10.
  • the DMAC 31 in the unit 20 shares the memory 12 in the PLC 10 with the CPU 11 in the PLC 10, and both communicate with the memory 12 via the serial bus 14. That is, the CPU 11 and the DMAC 31 share the memory 12.
  • the control system 1 has a mechanism for preventing memory contention between the CPU 11 and the DMAC 31.
  • the unit 20 periodically communicates with the memory 12 at predetermined control cycles based on the signal output from the time counter 13 in the PLC 10. As a result, the control data for controlling the control target in the control system 1 is read from the memory 12 and transmitted to the control target.
  • the time counter 33 operates in synchronization with the time counter 13, and outputs an instruction signal at regular time intervals at the same timing as the time counter 13.
  • the transfer control unit 32 in the unit 20 generates a mask signal for designating whether or not communication with the memory 12 is possible based on the mask signal output from the time counter 33, and outputs the mask signal to the DMAC 31.
  • the signal level of the mask signal is maintained at a high level during at least a period T1 superimposed on the period during which the CPU 11 communicates with the memory 12, and is maintained at a low level during a period T2 starting after the period T1.
  • the DMAC 31 does not communicate with the memory 12 during the high level of the mask signal and communicates with the memory 12 during the low level. As a result, when the CPU 11 communicates with the memory 12, the DMAC 31 does not communicate with the memory 12, so that memory contention does not occur.
  • the DMAC 31 communicates with the memory 12. At this time, the CPU 11 may or may not communicate with the memory 12. Therefore, the occurrence of memory contention is allowed in the period T2. From these facts, it is guaranteed that only the CPU 11 can communicate with the memory 12 while the mask signal is at a high level, so that the CPU 11 can access the memory 12 without delay.
  • the CPU 11 can periodically access the memory 12 without executing the arbitration process for preventing the memory conflict. Since the DMAC 31 determines whether or not to access the memory 12 according to the mask signal generated based on the output of the time counter 33 synchronized with the time counter 13, the arbitration process for preventing the memory conflict is performed like the CPU 11. No need to run. As described above, the unit 20 according to the present embodiment can avoid causing a memory conflict between the CPU 11 and the DMAC 31 without causing the CPU 11 to execute an arbitration process for preventing the memory conflict.
  • FIG. 1 is a block diagram showing a main configuration of the control system 1 according to the present embodiment.
  • the control system 1 includes a PLC (Programmable Logic Controller) 10 (control device) and a unit 20.
  • the PLC 10 of FIG. 1 includes a CPU (Central Processing Unit) 11 (first communication unit), a memory 12 (first memory), a time counter 13 (first counter), and a serial bus 14.
  • the unit 20 of FIG. 1 includes an MPU 21, a memory 22 (second memory), and a transfer unit 23.
  • the transfer unit 23 of FIG. 1 includes a DMAC (Direct Memory Access Controller) 31 (second communication unit), a transfer control unit 32, a time counter 33 (second counter), and a serial bus 24.
  • DMAC Direct Memory Access Controller
  • the control system 1 is a system for controlling production equipment in which a plurality of control targets such as various devices or equipment (not shown) are installed.
  • the PLC 10 is a kind of controller configured to control these controlled objects in the control system 1.
  • the PLC 10 and the control target are connected to a control system network such as a field network (not shown).
  • the PLC 10 transmits and receives various control data to and from the control target by periodically communicating with the control target via the control system network, thereby controlling the production equipment. Further, the PLC 10 generates a large amount of data used for statistical processing such as the operation status of the control system 1 based on the data collected from each control target, and stores it in the memory 12.
  • the unit 20 is a device that is connected to the PLC 10 and operates in cooperation with the PLC 10.
  • the unit 20 is in charge of various processes applied to a large amount of data generated by the PLC 10, for example, in order to reduce the processing load of the CPU 11 of the PLC 10. Examples of such processing include packet division processing and abnormal processing.
  • the serial bus 14 is a communication path on which serial communication is executed, and is, for example, a PCIe (Peripheral Component Interconnect express) bus.
  • PCIe Peripheral Component Interconnect express
  • the CPU 11 is a processor that comprehensively controls the operation of the PLC 10.
  • the memory 12 is various non-volatile storage media such as RAM (Read Only Memory).
  • the time counter 13 has clock and timer elements.
  • the memory 12 stores control data for controlling the control target in the control system 1.
  • the CPU 11 periodically reads the control data from the memory 12 and periodically transmits the control data to the control target.
  • the periodicity is realized by the time counter 13.
  • a predetermined initial setting time is set in the time counter 13.
  • the PLC 10 starts operating, it starts counting the time starting from the initial set time. Then, when the count number reaches the reference number, in other words, when a certain time elapses after the start of counting, an instruction signal (first signal) instructing the CPU 11 to perform a periodic operation is output to the CPU 11.
  • the CPU 11 starts one control cycle triggered by the reception of the instruction signal. Then, while the control cycle continues, various controls (for example, transmission of control data) to be executed within the cycle are executed.
  • the time counter 13 continues counting the time. Then, when the number counted after the transmission of the instruction signal reaches a new reference number, the instruction signal is newly transmitted to the CPU 11. In this way, the time counter 13 is set to repeatedly output the instruction signal to the CPU 11 at regular intervals.
  • the CPU 11 receives a new instruction signal, the CPU 11 ends the current control cycle and immediately starts the next control cycle. In this way, the CPU 11 continues to control the control target at regular intervals.
  • control cycle of the CPU 11 is, for example, a short time of 125 microseconds or less. That is, the control system 1 of the present embodiment is a system in which the PLC 10 periodically controls the control target with high frequency.
  • the MPU 21, the memory 22, and the DMAC 31 are connected to the serial bus 24.
  • the DMAC 31 is also connected to the serial bus 14.
  • the serial bus 24 is, for example, a PCIe (Peripheral Component Interconnect express) bus.
  • PCIe Peripheral Component Interconnect express
  • the MPU (Micro Processing Unit) 21 is a processor that comprehensively controls the operation of the unit 20.
  • the MPU 21 executes various processes such as the packet division process and the error process described above.
  • the memory 22 is various non-volatile storage media such as a RAM (Read Only Memory). A large amount of data or the like transferred from the unit 20 is stored in the memory 22.
  • the transfer unit 23 executes data transfer between the PLC 10 and the unit 20 under the control of the MPU 21 or the CPU 11.
  • the DMAC 31 in the transfer unit 23 is in charge of communication with the memory 12 via the serial bus 14.
  • the DMAC 31 is a controller that reads and writes a large amount of data to and from the memory 12 by directly accessing the memory 12 without going through the CPU 11.
  • the DMAC 31 writes a large amount of data read from the memory 12 to the memory 22 by transferring it to the DMAC 31 by serial communication on the serial bus 14 and further transferring it to the memory 22 by serial communication on the serial bus 24.
  • the DMAC 31 can also be written to the memory 12 by transferring a large amount of data read from the memory 22 to the memory 12 by serial communication on the serial bus 14.
  • the DMAC 31 is realized as an integrated circuit formed independently of the CPU 11.
  • the PLC 10 and the unit 20 each have an independent substrate
  • the CPU 11 is formed on the substrate constituting the PLC 10
  • the DMAC 31 is formed on the substrate constituting the unit 20.
  • the CPU 11 and the DMAC 31 are different devices (devices) independent of each other.
  • the time counter 33 has clock and timer elements.
  • the time counter 33 of the unit 20 operates in synchronization with the time counter 13 of the PLC 10. That is, the time counter 33 is set with the same initial set time and reference number as the initial set time and reference number set in the time counter 13.
  • the unit 20 starts the operation at the same time as the PLC 10. This ensures that the time counter 33 starts counting the time at the same time as the time counter 13.
  • the time counter 33 starts counting the time starting from the initial set time.
  • an instruction signal for instructing the transfer control unit 32 to output a mask signal to the transfer control unit 32. Is output to the transfer control unit 32.
  • the output timing of the mask signal is set at the same time as the timing when the CPU 11 starts the transfer of control data. Therefore, for example, in the embodiment in which the transfer of the control data is started immediately after the CPU 11 receives the instruction signal, the output timing of the mask signal is set at the same time as the output timing of the instruction signal from the time counter 13 to the CPU 11. On the other hand, in the embodiment in which the CPU 11 first executes a specific process when the CPU 11 receives the instruction signal and then starts the transfer of the control data, the output timing of the mask signal is set from the output timing of the instruction signal from the time counter 13 to the CPU 11. However, it may be set at a later time point by the time required to execute the specific process.
  • the transfer control unit 32 outputs a predetermined mask signal to the DMAC 31 with the reception of the instruction signal as a trigger.
  • the mask signal is a signal instructing the DMAC 31 whether or not to transfer a large amount of data, and takes either a high level or an off level signal level. While the mask signal is at a high level, the transfer of large volumes of data by the DMAC31 is prohibited, and while the mask signal is at a low level, the transfer of large volumes of data by the DMAC31 is permitted.
  • FIG. 2 is a sequence diagram showing an example of a processing flow by the control system 1 according to the present embodiment.
  • the time counter 13 outputs an instruction signal to the CPU 11 at time t1.
  • the CPU 11 starts the control cycle C1 at the time t1, thereby starting the processing of the control data.
  • a process of reading the control data from the memory 12 in other words, a process of transferring the control data in the memory 12 from the memory 12 to the CPU 11 by serial communication on the serial bus 14 is executed.
  • the time counter 33 is synchronized with the time counter 13. Therefore, the time counter 33 outputs an instruction signal to the transfer control unit 32 at time t1.
  • the transfer control unit 32 outputs a high-level mask signal to the DMAC 31 at time t1. This prohibits the DMAC 31 from transferring a large amount of data to the memory 12. Therefore, the DMAC 31 does not access the memory 12 at time t1. As a result, at time t1, no memory conflict with the memory 12 occurs.
  • Information representing the processing time Tcpu required for the CPU 11 to process the control data in each control cycle is preset in the unit 20. Based on this information, the transfer control unit 32 determines a period T1 (first period) for continuing the output of the high-level mask signal in each control cycle.
  • the period T1 may be longer than the processing time Tcpu, and in the example of FIG. 2, the lengths of both are equal to each other. Further, the period T1 may be at least superposed on the period occupied by the processing time Tcpu in the control cycle C1, and in the example of FIG. 2, both are completely superposed on each other.
  • the CPU 11 continues the transfer of control data from the time t1 to the time t2, which is a processing time Tcpu after the time t1.
  • the transfer control unit 32 continues to output the high-level mask signal from the time t1 to the time t2, which is the period T1 later. As a result, the transfer of a large amount of data by the DMAC 31 is prohibited from the time t1 to the time t2, so that the CPU 11 can read the control data from the memory 12 without causing a memory conflict.
  • the CPU 11 ends the transfer of control data and executes other processing.
  • the transfer control unit 32 ends the period T1 and starts the period T2 (second period) in which the output of the low-level mask signal is continued in each control cycle. That is, the transfer control unit 32 outputs a low-level mask signal to the DMAC 31 at time t2.
  • the transfer control unit 32 maintains the mask signal at a low level until the next instruction signal is input from the time counter 33, that is, until the end of the control cycle C1.
  • the CPU 11 can access the memory 12 as needed from the time t2 to the time t3 (equal to the period T2). Therefore, the occurrence of memory contention is allowed in the period T2.
  • the DMAC 31 can continue the transfer of a large amount of data from the memory 12 to the DMAC 31 without delay in the period T2 without causing a memory conflict with the CPU 11.
  • the DMAC 31 can continue the transfer of a large amount of data while causing a memory conflict with the CPU 11. At this time, there may be some delay in the transfer of the large amount of data, but such a delay does not pose a big problem for the unit 20.
  • the time counter 13 outputs the next instruction signal to the CPU 11, whereby the control cycle C1 ends.
  • the CPU 11 starts the next control cycle C2 at the time t3, thereby starting the processing of the control data at the time t3.
  • the time counter 33 outputs the next instruction signal to the transfer control unit 32 at time t3.
  • the transfer control unit 32 outputs a high-level noise signal to the DMAC 31.
  • control cycle C2 The procedure for transferring control data and large-capacity data in control cycle C2 is the same as that in control cycle C1.
  • the mask signal is maintained at a high level, so that the CPU 11 reads the control data from the memory 12 without causing a memory conflict with the DMAC31. be able to.
  • time t4 and time t5 that is, during the remaining period T2 after time t4 in the control cycle C1, memory contention may occur to some extent, but the DMAC 31 steadily transfers a large amount of data from the memory 12. Can be transferred to.
  • the PLC 10 and the unit 20 execute the same processing as the control cycles C1 and C2 in each control cycle after the control cycle C2. Therefore, during the period T1 within each control cycle, the CPU 11 can exclusively execute the control data transfer process without causing a memory conflict with the DMAC 31.
  • control data can be transferred without causing a memory conflict during the period T1 in which the control data is transferred within each control cycle. can do. Therefore, there is no control data transfer delay due to memory contention. Further, since it is not necessary to execute the arbitration process for preventing the memory conflict on the CPU 11, each control cycle of the CPU 11 is not delayed by the execution of the adjustment process. As described above, since the delay of the control cycle due to the memory contention or the arbitration process does not occur, the CPU 11 can control the control target with a stable control cycle.
  • the identity and stability of each control cycle can be further enhanced by eliminating the need for necessary adjustment processing for several microseconds. Further, even when the CPU 11 and the DMAC 31 are used as separate devices (implemented as separate integrated circuits), the control cycle of the CPU 11 can be maintained correctly.
  • the DMAC 31 does not need to output a request signal requesting the output of the mask signal to the transfer control unit 32. Therefore, the DMAC 31 from the transfer control unit 32 issues an ACK that allows the transfer control unit 32 to output the mask signal. There is no need to receive it. Therefore, the processing load of the DMAC 31 can be reduced.
  • the DMAC 31 may periodically mirror a large amount of data between the memory 12 and the memory 22.
  • the large-capacity data stored in the memory 12 and the large-capacity data stored in the memory 22 can be made the same on a regular basis. This mirroring is performed during period T2 within each control cycle.
  • FIG. 3 is a block diagram showing a configuration of a main part of the control system 1A according to the present embodiment.
  • the control system 1 includes a PLC 10, a unit 20, and a unit 20A. Since the internal configurations of the PLC 10 and the unit 20 of FIG. 3 are the same as the internal configurations of the PLC 10 and the unit 20 of FIG. 1, the detailed description will not be repeated.
  • the unit 20A is the same device as the unit 20, and the internal configuration of the unit 20A is the same as the internal configuration of the unit 20. That is, it can be said that the control system 1A is a system including a plurality of units 20.
  • a reference number of A is additionally assigned to each member included in the unit 20A.
  • the MPU 21A is an MPU included in the unit 20A.
  • the CPU 11, DMAC 31, and DMAC 31A are connected to the serial bus 14. As a result, the CPU 11, the DMAC 31, and the DMAC 31A share the memory 12.
  • the DMAC31A is realized as an integrated circuit formed independently of the CPU 11.
  • Each of the DMACs 31 and 31A is also realized as an integrated circuit formed independently of each other.
  • the control system 1A time-divides the period T2 during which the units 20 and 20A access the memory 12. That is, the period T2 is assigned to a different control cycle for each unit 20. Specifically, in one control cycle C1, a period T2 is assigned to the unit 20, and in another control cycle C2, a period T2 is assigned to the unit 20A. These controls allow units 20 and 20A to access memory 12 at different times (during different periods T2). At that time, during the period T1, the CPU 11, the DMAC31, and the DMAC31A do not cause a memory conflict. Further, in each period T2, the units 20 and 20A do not cause a memory conflict.
  • FIG. 4 is a sequence diagram showing an example of the processing flow by the control system 1A according to the present embodiment.
  • the time counter 13 outputs an instruction signal to the CPU 11.
  • the CPU 11 starts the control cycle C1 at time t1 and starts processing the control data.
  • the time counters 33 and 33A are synchronized with the time counter 13. Therefore, the time counter 33 outputs the instruction signal to the transfer control unit 32 at the time t1, and the time counter 33A outputs the instruction signal to the transfer control unit 32A at the time t1.
  • the transfer control unit 32 outputs the mask signal and the common mask signal to the DMAC 31 at time t1.
  • the common mask signal is a signal that instructs the DMAC 31 whether or not to transfer a large amount of data.
  • the transfer of a large amount of data by the DMAC 31 is prohibited.
  • both the mask signal and the common mask signal are low level, the transfer of a large amount of data by the DMAC 31 is permitted.
  • the transfer control unit 32A outputs the mask signal A and the common mask signal A to the DMAC31A at time t1.
  • the common mask signal A is a signal instructing the DMAC31A whether or not to transfer a large amount of data.
  • the transfer of a large amount of data by the DMAC31A is prohibited.
  • both the mask signal A and the common mask signal A are low level, the transfer of a large amount of data by the DMAC31A is permitted.
  • the common mask signal and the common mask signal A have the same waveforms as each other. In that sense, these signals can be said to be signals that specify a period during which the transfer of large volumes of data is prohibited in common for both the DMAC 31 and 31A.
  • the transfer control unit 32 outputs a high-level mask signal and a low-level common mask signal to the DMAC 31 at time t1. This prohibits the DMAC 31 from transferring a large amount of data to the memory 12.
  • the transfer control unit 32A outputs a high-level mask signal A and a high-level common mask signal A to the DMAC 31A at time t1. As a result, the process of the DMAC 31A transferring a large amount of data to the memory 12 is also prohibited. Therefore, the DMACs 31 and 31A do not access the memory 12 at time t1. As a result, at time t1, no memory conflict with the memory 12 occurs, so that the CPU 11 can read the control data from the memory 12 without delay.
  • the processing of the CPU 11 in each control cycle is the same as that of the first embodiment.
  • the CPU 11 continues to transfer control data from time t1 to time t2. Since the current output level of each mask signal is maintained from time t1 to time t2, memory contention does not occur.
  • the CPU 11 ends the transfer of control data at time t2.
  • the transfer control unit 32 outputs a low-level common mask signal to the DMAC 31 at time t2, and maintains the output of the low-level mask signal.
  • the transfer of a large amount of data by the DMAC 31 is permitted. Therefore, the DMAC 31 starts transferring a large amount of data from the memory 12 to the DMAC 31 at time t2.
  • the transfer control unit 32A outputs the low-level common mask signal A to the DMAC31A at time t2, and maintains the output of the high-level mask signal A.
  • the prohibition of transfer of a large amount of data by the DMAC31A is maintained. Therefore, the DMAC31A does not start transferring a large amount of data at time t2.
  • the transfer control unit 32 maintains the current output levels of the mask signal and the common mask signal until the next instruction signal is input, that is, until the time t3, which is the end time of the control cycle C1.
  • the transfer control unit 32A also maintains the current output levels of the mask signal A and the common mask signal A until the next instruction signal is input, that is, until the time t3, which is the end time of the control cycle C1.
  • the CPU 11 does not access the memory 12 from the time t2 to the time t3.
  • the DMAC 31 continues to transfer a large amount of data from the memory 12 to the DMAC 31 from the time t2 to the time t3 without causing a memory conflict with the CPU 11 and the DMAC 31A.
  • the time counter 13 outputs the next instruction signal to the CPU 11
  • the time counter 33 outputs the next instruction signal to the transfer control unit 32
  • the time counter 33A outputs the next instruction signal to the transfer control unit 32A.
  • the control cycle C1 ends.
  • the CPU 11 starts the next control cycle C2 at time t3 and starts transferring control data.
  • the transfer control unit 32 outputs a high-level mask signal and a high-level common mask signal to the DMAC 31 at time t3. This prohibits the DMAC 31 from transferring a large amount of data to the memory 12.
  • the transfer control unit 32A outputs a high-level mask signal A and a low-level common mask signal A to the DMAC 31A at time t3. As a result, the process of the DMAC 31A transferring a large amount of data to the memory 12 is also prohibited. Therefore, the DMACs 31 and 31A do not access the memory 12 at time t3. As a result, at time t3, no memory conflict with the memory 12 occurs, so that the CPU 11 can read the control data from the memory 12 without delay.
  • the CPU 11 continues to transfer control data from time t3 to time t4. Since the current output level of each mask signal is maintained from time t3 to time t4, memory contention does not occur.
  • the CPU 11 ends the transfer of control data at time t4.
  • the transfer control unit 32 outputs a low-level common mask signal to the DMAC 31 at time t4, and maintains the output of the high-level mask signal. As a result, the prohibition of transfer of a large amount of data by the DMAC 31 is maintained. Therefore, the DMAC 31 does not start transferring a large amount of data at time t4.
  • the transfer control unit 32A outputs a low-level common mask signal and a low-level mask signal to the DMAC 31A at time t4. As a result, the transfer of a large amount of data by the DMAC31A is permitted. Therefore, the DMAC31A starts transferring a large amount of data at time t4.
  • the transfer control unit 32 maintains the current output levels of the mask signal and the common mask signal until the next instruction signal is input, that is, until the time t5, which is the end time of the control cycle C2.
  • the transfer control unit 32A also maintains the current output levels of the mask signal A and the common mask signal A until the next instruction signal is input, that is, until the time t5, which is the end time of the control cycle C2.
  • the CPU 11 does not access the memory 12 from the time t4 to the time t5.
  • the DMAC 31A continues to transfer a large amount of data from the memory 12 to the DMAC 31A from the time t4 to the time t5 without causing a memory conflict with the CPU 11 and the DMAC 31.
  • control data can be transferred without causing memory contention during the period T1 within each control cycle. .. Therefore, since the transfer delay of the control data due to the memory contention does not occur, each control cycle is not delayed. Further, since it is not necessary to execute the arbitration process for preventing the memory conflict on the CPU 11, each control cycle is not delayed by the execution of the adjustment process. Therefore, since each control cycle is not delayed, the PLC 10 can control the control target with a stable cycle. In particular, when the CPU 11 accesses the memory 12 in a cycle of 125 microseconds or less, the identity and stability of each cycle can be further improved by eliminating the need for adjustment processing requiring several microseconds.
  • the DMAC31 and 31A stably transfer a large amount of data during the period T2 assigned to each of them without delay. Can be done.
  • the configuration of the control system 1A according to the present embodiment is the same as that of the second embodiment.
  • the DMAC 31 and 31A simultaneously transfer a large amount of data within the same control cycle as each other.
  • the period during which the units 20 and 20A access the memory 12 is time-divisioned in units of the minimum payload of large-capacity data.
  • the transfer control units 32 and 32A do not output the common mask signal, but output only the mask signal or the mask signal A.
  • the length of the period T1 and the start timing of the period T2 in the same control cycle are different for each unit 20.
  • the start timing of the period T2 in the certain control cycle C1 and the period T2 in the other control cycle C2 are different from each other.
  • FIG. 5 is a sequence diagram showing an example of a processing flow by the control system 1A according to the present embodiment.
  • the processing of the control data by the CPU 11 is the same as that of the first embodiment. That is, the CPU 11 transfers control data from time t1 to time t2.
  • the transfer control unit 32 outputs a high-level mask signal to the DMAC 31 from time t1 to time t2.
  • the transfer control unit 32A outputs a high-level mask signal to the DMAC 31A from time t1 to time t2. As a result, control data is transferred without causing a memory conflict with the CPU 11.
  • the transfer control unit 32 outputs a low-level mask signal to the DMAC 31 at time t2. As a result, the DMAC 31 starts transferring a large amount of data at time t2. On the other hand, the transfer control unit 32A maintains the output of the high-level mask signal A at time t2. As a result, the DMAC31A does not start transferring control data at time t2.
  • the transfer control units 32 and 32A are set with the transfer time Tpd required to transfer the data having the minimum payload size (hereinafter referred to as the minimum payload data) among the large volumes of data.
  • the minimum payload data is the smallest unit of data communicated during serial communication on the serial bus 14.
  • the DMAC 31 divides a large amount of data to be transferred into a plurality of minimum payload data, and sequentially executes transfer processing on the serial bus 14 for each minimum payload data.
  • the transfer control unit 32 maintains the output of the low-level mask signal from time t2 to time t3.
  • the transfer control unit 32A continues to output the high-level mask signal A from the time t2 to the time t21, which is the time t2 plus the transfer time Tpd.
  • the DMAC 31 can complete the transfer of the minimum payload data between the time t2 and the time t21.
  • the DMAC31A outputs a low-level mask signal A to the DMAC31A at time t21. As a result, the DMAC31A starts transferring a large amount of data. At this time, since the DMAC 31 is also executing the transfer of a large amount of data, a memory conflict occurs between the DMAC 31 and the DMAC 31A. As a result, the DMAC 31A and the DMAC 31 alternately transfer the minimum payload data from the memory 12. That is, after the time t21, the DMAC 31A first transfers the minimum payload data from the memory 12, and after the completion, the DMAC 31 transfers the minimum payload data from the memory 12. Each of these processes is executed alternately between the time t21 and the time t3. Therefore, as shown in FIG. 5, in the control cycle C1, the DMAC 31 succeeds in transferring the three minimum payload data, and the DMAC 31A succeeds in transferring the two minimum payload data.
  • the control cycle C2 is started, and the CPU 11 transfers control data from time t3 to time t4.
  • the CPU 11 can read the control data from the memory without causing a memory conflict.
  • the transfer control unit 32A outputs a low-level mask signal A to the DMAC31A at time t4. As a result, the DMAC31A starts transferring a large amount of data at time t4. The transfer control unit 32A maintains the output of the low-level mask signal A from the time t4 to the time t5. The transfer control unit 32 continues to output the high-level mask signal from the time t4 to the time t41, which is the time t4 plus the transfer time Tpd. As a result, the DMAC 31A can complete the transfer of the minimum payload data between the time t4 and the time t41 without causing a memory conflict between the CPU 11 and the DMAC 31.
  • the DMAC31 outputs a low-level mask signal A to the DMAC31 at time t41.
  • the DMAC 31 starts transferring a large amount of data.
  • the DMAC31A is also executing the transfer of a large amount of data, a memory conflict occurs.
  • the DMAC 31A and the DMAC 31 alternately transfer the minimum payload data from the memory 12. That is, after the time t41, the DMAC 31 first transfers the minimum payload data from the memory 12, and after the completion, the DMAC 31A transfers the minimum payload data from the memory 12.
  • Each of these processes is executed alternately between the time t21 and the time t3. Therefore, as shown in FIG. 5, in the control cycle C2, the DMAC31 succeeds in transferring the two minimum payload data, and the DMAC31A succeeds in transferring the three minimum payload data.
  • each unit 20 the timing to start transferring a large amount of data is different for each control cycle.
  • only one of the units 20 or 20A does not preferentially transfer more data, so that the transfer speed in each unit 20 can be made uniform.
  • FIG. 6 is a block diagram showing a configuration of a main part of the control system 1B according to the present embodiment.
  • the control system 1 includes a PLC 10 and a unit 20B. Since the internal configuration of the PLC 10 of FIG. 6 is the same as the internal configuration of the PLC 10 of FIG. 1, the detailed description will not be repeated.
  • the unit 20B further includes a DMAC34 in addition to the members included in the unit 20 of the first embodiment.
  • the DMAC 34 is provided in the transfer unit 23 and is connected to the serial bus 14 and the serial bus 24.
  • the highest priority data (specific data) is stored in the memory 22, and the DMAC 34 has a role of transferring the highest priority data to the PLC 10 under the control of the MPU 21.
  • the highest priority data is data that the control system 1B needs to process with the highest priority, for example, data that instructs an emergency stop of the system. Even if the mask signal is at a high level, the DMAC 34 can ignore the mask signal and transfer the highest priority data to the memory 12 through the serial bus 14.
  • FIG. 7 is a sequence diagram showing an example of a processing flow by the control system 1A according to the present embodiment.
  • the time counter 13 outputs an instruction signal to the CPU 11.
  • the CPU 11 starts the control cycle C1 at time t1 and starts processing the control data.
  • the time counter 33 outputs an instruction signal to the transfer control unit 32 at time t1, whereby the transfer control unit 32 outputs a high-level mask signal to the DMAC 31. Therefore, the DMAC 31 does not start transferring a large amount of data at time t1.
  • the mask signal is not output to the DMAC31B.
  • the MPU 21 detects that an event for transferring the highest priority data to the PLC 10 has occurred at time t1. As a result, the MPU 21 instructs the DMAC 34 to transfer the highest priority data. In response to this, the DMAC 34 starts transferring the highest priority data to the memory 12 at time t1. At time t1, the CPU 11 starts transferring the control data, but since the highest priority data is transferred to the memory 12 in preference to the control data, the actual transfer start of the control data is the highest priority data to the memory 12. Is delayed until the time t11 when the transfer is completed. That is, when the transfer of the highest priority data is completed at time t1, the transfer of the control data is started again. Since the transfer of the control data is delayed by the time required for the transfer of the highest priority data, it is not yet completed even at the time t2.
  • the transfer control unit 32 outputs a low-level mask signal to the DMAC 31 at time t2.
  • the DMAC 31 starts transferring a large amount of data at time t2.
  • memory contention occurs because the control data is still being transferred.
  • writing of the large amount of data to the memory 12 is started after the transfer of the control data is completed.
  • the control cycle C1 is also extended by that amount.
  • the time counter 13 and the time counter 33 output the instruction signal before the control cycle C1 is completed, so that the correct end time of the control cycle C1 and the correct start time of the control cycle C2 do not match. .. Therefore, the CPU 11 corrects (delays) the timing of outputting the instruction signal by a time corresponding to the transfer delay time of the control data, at an arbitrary time before the end of the control cycle C1, through the serial bus 14. Output to the time counter 13 and DMAC 31, respectively.
  • the DMAC 31 outputs the received correction instruction to the time counter 33 via the transfer control unit 32.
  • the time counter 13 and the time counter 33 correct the timing at which the instruction signal is output next based on the received correction instruction. For example, the count number is changed by subtracting the transfer delay time from the current count number. As a result, it is possible to eliminate the number of counts that have advanced during the transfer delay of the control data, so that it is possible to output an instruction signal for starting the next control cycle C2 at the correct timing when the control cycle C1 ends. it can. Furthermore, a high-level mask signal can be output at the start of the next control cycle C2.
  • the time counter 13 outputs the next instruction signal to the CPU 11 at the time t31, which is the transfer delay time after the time t3.
  • the time counter 33 outputs an instruction signal to the transfer control unit 32 at time t31.
  • the transfer control unit 32 outputs a high-level mask signal to the DMAC 31 at time t31.
  • the transfer period of the control data and the high level maintenance period of the mask signal coincide with each other, so that the CPU 11 can transfer the control data from the memory 12 without causing a memory conflict.
  • the DMAC 31 can transfer a large amount of data from the memory 12 without causing a memory conflict.
  • the highest priority data to be processed by the control system 1B with the highest priority is transferred to the PLC 10 with the highest priority regardless of the signal level of the mask signal. Therefore, it is possible to prevent the transfer of the highest priority data to the PLC 10 from being delayed. it can. As a result, the control system 1B can reliably and quickly respond to an emergency situation or the like, so that the stability of the control system 1B can be improved.
  • the highest priority data may be included in the data transferred by the DMAC 31 that receives the transfer control by the mask signal. In this case, a flag that can ignore the mask signal is set for the highest priority data.
  • the DMAC 31 finds the highest priority data in which such a flag is set in each data to be transferred, the DMAC 31 changes the transfer order of the highest priority data to the highest level and the mask signal is at a high level. However, this is ignored and the highest priority data is transferred to the memory 12 through the serial bus 14. As a result, the highest priority data can be written to the memory 12 in preference to the control data and the large capacity data. Therefore, even in this example, the same advantages as those in the present embodiment can be obtained.
  • the information processing device includes a first memory connected to the serial bus, a first counter that outputs a first signal at regular intervals, and the first counter connected to the serial bus.
  • An information processing device connected to a control device including a first communication unit that communicates with the first memory via the serial bus at predetermined control cycles based on a signal, and is the first counter.
  • the first communication unit is connected to the serial bus and the first communication unit in the control cycle based on the second signal and the second counter that outputs the second signal at regular intervals.
  • the configuration includes a second communication unit that communicates with the first memory via the serial bus.
  • the information processing apparatus does not cause the memory contention without causing the first communication unit of the control device to execute the arbitration process for preventing the memory contention. As a result, the load on the first communication unit can be reduced.
  • the information processing device in the above configuration, a plurality of information processing devices are connected to the control device, and the second period is set in a different control cycle for each information processing device. It is an assigned configuration.
  • a plurality of information processing devices are connected to the control device, and each of the information processing devices has the same first control cycle.
  • the length of the period and the start timing of the second period are different from each other.
  • the information processing device has a configuration in which the start timing of the second period is different from each other in a certain control cycle and another control cycle for each information processing device. is there.
  • the information processing device has a configuration in which the second communication unit transmits specific data to the first memory even during the first period.
  • specific data for example, the highest priority data to be processed by the control system with the highest priority
  • the control device can reliably and quickly respond in the event of an emergency, so that the stability of the control system can be improved.
  • the information processing apparatus includes a second memory in the above configuration, and the second communication unit periodically mirrors between the first memory and the second memory. It is a configuration to be executed.
  • the data stored in the first memory and the second memory can be made the same periodically.
  • control blocks (particularly the transfer unit 23 and the DMAC34) of the units 20, 20A, and 20B may be realized by a logic circuit (hardware) formed in an integrated circuit (IC chip) or the like, or may be realized by software. May be good.
  • the units 20, 20A, and 20B include a computer that executes a program instruction, which is software that realizes each function.
  • the computer includes, for example, one or more processors and a computer-readable recording medium that stores the program. Then, in the computer, the object of the present invention is achieved by the processor reading the program from the recording medium and executing the program.
  • the processor for example, a CPU (Central Processing Unit) can be used.
  • the recording medium in addition to a “non-temporary tangible medium” such as a ROM (Read Only Memory), a tape, a disk, a card, a semiconductor memory, a programmable logic circuit, or the like can be used.
  • a RAM Random Access Memory
  • the program may be supplied to the computer via an arbitrary transmission medium (communication network, broadcast wave, etc.) capable of transmitting the program.
  • a transmission medium communication network, broadcast wave, etc.
  • one aspect of the present invention can also be realized in the form of a data signal embedded in a carrier wave, in which the program is embodied by electronic transmission.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Information Transfer Systems (AREA)
  • Memory System (AREA)

Abstract

メモリ競合を防止するための調停処理を制御装置の演算部に実行させることなく 、メモリ競合の発生を防止する。PLCの時刻カウンタに同期して動作する時刻カウンタから出力される信号に基づいて、CPU(11)の制御周期(C1)においてCPU(11)がメモリ(12)と通信する期間(Tcpu)に少なくとも重畳する期間(T1)中に、シリアルバスを介してメモリ(12)と通信せず、期間(T1)の後に開始される期間(T2)中に、シリアルバスを介してメモリ(12)と通信するDMAC(31)を備えているユニット(20)。

Description

情報処理装置
 本発明は、制御対象の制御を実行する制御装置と協働して動作する情報処理装置に関する。
 従来、産業用コントローラの処理負荷を低減させるために、コントローラと協働して動作する各種のユニットを併用する形態の産業用制御システムが知られている。このようなシステムでは、コントローラおよびユニットが同一のメモリを共有しており、コントローラまたはユニットがそれぞれ共有メモリにアクセスしてデータを読み書きする、という形で運用されることも良くある。しかし、共有メモリに対してコントローラおよびユニットが無秩序にアクセスできるようにすると、それぞれのアクセスが同一のタイミングで発生することによる「メモリ競合」が起こり、その結果として、優先して処理すべきデータの読み書きが遅延してしまうといった問題が生じ得る。
 そこで従来、このようなメモリ競合の発生を避けるための技術の例が、例えば特許文献1および2に提案されている。
 特許文献1には、共有メモリの使用許可を求めるリクエスト信号をランダムなタイミングで出力する第1制御手段と、前記共有メモリの使用許可を求めるリクエスト信号を一定サイクル毎に出力する第2制御手段と、前記第1制御手段、及び第2制御手段からそれぞれ出力される前記リクエスト信号を調停する調停手段とを備えたメモリアクセス調停装置において、前記第2制御手段からのリクエスト信号の出力を受けて、前記調停手段に対し、該調停手段が前記第1制御手段に対してack信号を出力するのを禁止するack禁止信号を出力する判定手段を備える、ことを特徴とするメモリアクセス調停装置が開示される。
 特許文献2には、共用資源に対する複数のデバイスからの使用要求を予め定めた優先順位により調停して選択的に前記共用資源の使用許可をする調停システムにおいて、調停の対象となる前記複数のデバイスの中で一定時間内にデータを転送する必要のある特定デバイスの使用要求許可開始から次の使用要求許可開始までの時間を計時して、前記特定のデバイスの使用要求許可の選択が所定時間されていないことを検知するとタイムアウト信号を発生する計時手段と、前記計時手段からの前記タイムアウト信号に応じて前記特定のデバイスの優先順位を最も高く、または少なくとも2番目に高く変更することで前記特定デバイスの使用要求を一定時間毎に許可する調停手段とを具備したことを特徴とする調停システムが開示される。
日本国公開特許公報「特開2005-115421号」 日本国公開特許公報「特開平9-91194号」
 特許文献1の技術では、第1制御手段および第2制御手段がいずれも調停手段にアクセスして、メモリへのアクセスを調停して貰う必要がある。そのため、例えば第1制御手段を産業用コントローラのCPUとした場合、調停のためのCPUの処理負荷(リクエスト送信、ACK受信など)が増えるため、CPUの制御周期が長くなってしまう。その結果、CPUが一定の周期で処理を実行できなくなる問題が発生する。
 特許文献2の技術でも、複数のデバイスと、1つのCPUとが、メモリ競合を避けるために調停回路にアクセスする必要がある。これにより、調停のためのCPUの処理負荷(リクエスト送信、ACK受信など)が増えるため、CPUの制御周期が長くなってしまう。その結果、CPUが一定の周期で処理を実行できなくなる問題が発生する。
 本発明は、前記の課題を解決するためになされたものであり、その目的は、メモリ競合を防止するための調停処理を制御装置の演算部に実行させることなく、メモリ競合の発生を防止することにある。
 本発明の一態様に係る情報処理装置は、シリアルバスに接続される第1メモリと、一定時間ごとに第1信号を出力する第1カウンタと、前記シリアルバスに接続されると共に、前記第1信号に基づいて、所定の制御周期ごとに前記シリアルバスを介して前記第1メモリと通信する第1通信部とを備えている制御装置に接続される情報処理装置であって、前記第1カウンタに同期して動作すると共に、前記一定時間ごとに第2信号を出力する第2カウンタと、前記シリアルバスに接続されると共に、前記第2信号に基づいて、前記制御周期において前記第1通信部が前記第1メモリと通信する期間に少なくとも重畳する第1期間中に、前記シリアルバスを介して前記第1メモリとシリアル通信せず、前記第1期間の後に開始される第2期間中に、前記シリアルバスを介して前記第1メモリと通信する第2通信部とを備えている構成である。
 本発明の一態様によれば、メモリ競合を防止するための調停処理を制御装置の演算部に実行させることなく、メモリ競合の発生を防止することができるという効果を奏する。
本発明の実施形態1に係る制御システムの要部構成を示すブロック図である。 本発明の実施形態1に係る制御システムによる処理の流れの一例を示すシーケンス図である。 本発明の実施形態2に係る制御システムの要部構成を示すブロック図である。 本発明の実施形態2に係る制御システムによる処理の流れの一例を示すシーケンス図である。 本発明の実施形態3に係る制御システムによる処理の流れの一例を示すシーケンス図である。 本発明の実施形態4に係る制御システムの要部構成を示すブロック図である。 本発明の実施形態4に係る制御システムによる処理の流れの一例を示すシーケンス図である。
 〔実施形態1〕
 以下、本発明の一側面に係る実施の形態(以下、「本実施形態」とも表記する)を、図面に基づいて説明する。
 §1 適用例
 まず、図1および2を参照して、本発明が適用される場面の一例について説明する。図1に示すように、本実施形態に係るユニット20は、制御システム1においてPLC10に接続され、PLC10と協働して動作する情報処理装置である。ユニット20内のDMAC31は、PLC10内のCPU11と、PLC10内のメモリ12を共有しており、いずれもシリアルバス14を介してメモリ12と通信する。すなわち、CPU11およびDMAC31はメモリ12を共有している。制御システム1には、CPU11とDMAC31とによるメモリ競合を防止するための仕組みが導入されている。
 図2に示すように、ユニット20は、PLC10内の時刻カウンタ13から出力される信号に基づいて、所定の制御周期ごとにメモリ12と周期的に通信する。これにより、制御システム1内の制御対象を制御するための制御データをメモリ12から読み出し、制御対象に送信する。
 ユニット20では、時刻カウンタ33が時刻カウンタ13と同期して動作しており、時刻カウンタ13と同一のタイミングで一定時間ごとに指示信号を出力する。ユニット20内の転送制御部32は、時刻カウンタ33から出力されたマスク信号に基づいて、メモリ12との通信の可否を指定するマスク信号を生成し、DMAC31に出力する。マスク信号の信号レベルは、CPU11がメモリ12と通信する期間に少なくとも重畳する期間T1中にハイレベルに維持され、期間T1の後に開始される期間T2にローレベルに維持される。DMAC31は、マスク信号がハイレベルの間、メモリ12と通信せず、ローレベルの間、メモリ12と通信する。これにより、CPU11がメモリ12と通信する際に、DMAC31がメモリ12と通信しないので、メモリ競合が発生しない。
 CPU11がメモリ12との通信を終了した後に、DMAC31はメモリ12と通信する。この際、CPU11はメモリ12と通信しても良いし、あるいはしなくても良い。したがって、期間T2ではメモリ競合の発生が許容される。これらのことから、マスク信号がハイレベルの間は、CPU11のみがメモリ12と通信できることが保証されるので、CPU11は遅延無くメモリ12にアクセスすることができる。
 以上のように、CPU11は、メモリ競合を防止するための調停処理を実行することなく、周期的にメモリ12にアクセスすることができる。DMAC31は、時刻カウンタ13と同期している時刻カウンタ33の出力に基づき生成されるマスク信号に従って、メモリ12へのアクセス有無を決定するため、CPU11と同様に、メモリ競合を防止するための調停処理を実行する必要がない。このように、本実施形態に係るユニット20は、メモリ競合を防止するための調停処理をCPU11に実行させることなく、CPU11とDMAC31との間でメモリ競合を起こさずに済むことができる。
 §2 構成例
 (制御システム1の構成)
 図1は、本実施形態に係る制御システム1の要部構成を示すブロック図である。この図の例では、制御システム1は、PLC(Programmable Logic Controller)10(制御装置)およびユニット20を備えている。図1のPLC10は、CPU(Central Processing Unit)11(第1通信部)、メモリ12(第1メモリ)、時刻カウンタ13(第1カウンタ)、およびシリアルバス14を備えている。図1のユニット20は、MPU21、メモリ22(第2メモリ)、および転送部23を備えている。図1の転送部23は、DMAC(Direct Memory Access Controller)31(第2通信部)、転送制御部32、時刻カウンタ33(第2カウンタ)、およびシリアルバス24を備えている。
 制御システム1は、図示しない各種の機器または設備などの複数の制御対象が設置される生産設備を制御するためのシステムである。PLC10は、制御システム1においてこれらの制御対象を制御するように構成されるコントローラの一種である。PLC10および制御対象は、図示しないフィールドネットワーク等の制御系のネットワークに接続されている。PLC10は、制御系のネットワークを介して制御対象と周期的に通信することによって、各種の制御データを制御対象に送受信し、これにより生産設備を制御する。PLC10は、さらに、各制御対象から収集したデータに基づいて、制御システム1の運用状況などの統計処理などに用いられる大容量データを生成し、メモリ12に格納する。
 ユニット20は、PLC10に接続され、かつPLC10と協働的に動作するデバイスである。本実施形態では、ユニット20は、例えばPLC10のCPU11の処理負荷を低減させるために、PLC10によって生成される大容量データに対して適用される各種の処理を担当する。このような処理として、例えばパケット分割処理および異常処理などが挙げられる。
 (PLC10の詳細構成)
 PLC10において、CPU11、メモリ12、および時刻カウンタ13が、それぞれシリアルバス14に接続されている。シリアルバス14の一端は、ユニット20のDMAC31に接続されている。シリアルバス14は、シリアル通信を実行される通信経路であり、例えばPCIe(Peripheral Component Interconnect express)バスである。
 CPU11は、PLC10の動作を統括的に制御するプロセッサである。メモリ12は、RAM(Read Only Memory)などの各種の不揮発性記憶媒体である。時刻カウンタ13は、時計およびタイマーの要素を有する。
 メモリ12には、制御システム1における制御対象を制御するための制御データが格納されている。CPU11は、制御データをメモリ12から周期的に読み出し、かつ周期的に制御対象に送信する。その周期性は、時刻カウンタ13によって実現される。時刻カウンタ13には、所定の初期設定時刻が設定されている。PLC10が動作を開始すると、初期設定時刻を起点として時刻のカウントを開始する。そして、カウント数が基準数に達すると、言い換えればカウント開始後に一定時間が経過すると、CPU11に対して周期動作を指示する指示信号(第1信号)をCPU11に出力する。CPU11は、指示信号の受信をトリガーとして、1つの制御周期を開始させる。そして、制御周期が継続する間、当該周期内に実行すべき各種の制御(例えば制御データの送信など)を実行する。
 時刻カウンタ13は、指示信号を送信した場合、時刻のカウントを継続する。そして、指示信号の送信後にカウントした数が新たに基準数に達すると、指示信号を新たにCPU11に送信する。このように、時刻カウンタ13は一定の周期で指示信号を繰り返しCPU11に出力するように設定されている。CPU11は、新しい指示信号を受信した場合、現在の制御周期を終了させ、直ちに次の制御周期を開始させる。このようにして、CPU11は、一定周期で制御対象を制御し続ける。
 本実施形態では、CPU11の制御周期は、例えば125マイクロ秒以下の短い時間である。すなわち本実施形態の制御システム1は、PLC10が高頻度で制御対象を周期的に制御するシステムである。
 (ユニット20の詳細構成)
 ユニット20において、MPU21、メモリ22、およびDMAC31が、シリアルバス24に接続されている。DMAC31は、さらにシリアルバス14にも接続されている。シリアルバス24は、例えばPCIe(Peripheral Component Interconnect express)バスである。CPU11およびDMAC31の双方がシリアルバス14を介してメモリ12に接続されることによって、CPU11およびDMAC31はメモリ12を共有している。
 MPU(Micro Processing Unit)21は、ユニット20の動作を統括的に制御するプロセッサである。MPU21は、例えば上述したパケット分割処理および異常処理などの各種の処理を実行する。メモリ22は、RAM(Read Only Memory)などの各種の不揮発性記憶媒体である。メモリ22には、ユニット20から転送される大容量データなどが格納される。
 転送部23は、MPU21またはCPU11による制御に従って、PLC10とユニット20との間のデータ転送を実行する。転送部23内のDMAC31が、シリアルバス14を介したメモリ12との通信を担当する。DMAC31は、CPU11を介さずにメモリ12に直接アクセスすることによって、メモリ12に大容量データを読み書きするコントローラである。DMAC31は、例えば、メモリ12から読み出した大容量データをシリアルバス14上のシリアル通信によってDMAC31まで転送し、さらにシリアルバス24上のシリアル通信によってメモリ22まで転送することによって、メモリ22に書き込む。DMAC31は、あるいは、メモリ22から読み出した大容量データを、シリアルバス14上のシリアル通信によってメモリ12まで転送することによって、メモリ12に書き込むこともできる。
 DMAC31は、CPU11から独立して個別に形成される集積回路として実現される。言い換えれば、PLC10およびユニット20はそれぞれ独立した個別の基板を備えており、CPU11はPLC10を構成する基板上に形成され、DMAC31は、ユニット20を構成する基板上に形成される。このように、CPU11およびDMAC31は、互いに独立した別のデバイス(装置)である。
 時刻カウンタ33は、時計およびタイマーの要素を有する。本実施形態では、ユニット20の時刻カウンタ33は、PLC10の時刻カウンタ13に同期して動作する。すなわち、時刻カウンタ33には、時刻カウンタ13に設定される初期設定時刻および基準数と同一の初期設定時刻および基準数が設定されている。制御システム1の動作開始時に、ユニット20はPLC10と同時に動作を開始する。これにより、時刻カウンタ33が時刻カウンタ13と同時に時刻のカウントを開始することが担保される。時刻カウンタ33は、ユニット20が動作を開始すると、初期設定時刻を起点として時刻のカウントを開始する。そして、カウント数が基準数に達すると、言い換えればカウント開始後に所定の時刻が経過すると、転送制御部32に対して、転送制御部32にマスク信号の出力を指示する指示信号(第2信号)を転送制御部32に出力する。
 マスク信号の出力タイミングは、CPU11が制御データの転送を開始するタイミングと同一の時点に設定する。したがって、例えばCPU11が指示信号を受信すると直ちに制御データの転送を開始する態様では、マスク信号の出力タイミングを、時刻カウンタ13からCPU11への指示信号の出力タイミングと同一の時点に設定する。一方、CPU11が指示信号を受信するとまず特定の処理を実行してからその後に制御データの転送を開始する態様では、マスク信号の出力タイミングを、時刻カウンタ13からCPU11への指示信号の出力タイミングよりも、当該特定の処理の実行に要する時間だけ後の時点に、設定すればよい。
 転送制御部32は、指示信号の受信をトリガーとして、所定のマスク信号をDMAC31に出力する。マスク信号は、大容量データ転送の可否をDMAC31に指示する信号であり、ハイレベルおよびオフレベルのいずれかの信号レベルを取る。マスク信号がハイレベルの間、DMAC31による大容量データの転送は禁止され、マスク信号がローレベルの間、DMAC31による大容量データの転送は許可される。これらの詳細は後に図2などを参照して詳細に説明する。
 (データ転送の流れ)
 図2は、本実施形態に係る制御システム1による処理の流れの一例を示すシーケンス図である。時刻カウンタ13は、時刻t1において指示信号をCPU11に出力する。CPU11は、時刻t1において制御周期C1を開始させ、これにより制御データの処理を開始する。ここでは、制御データをメモリ12から読み出す処理、言い換えれば、メモリ12内の制御データをシリアルバス14上のシリアル通信によってメモリ12からCPU11まで転送する処理を、実行する。
 時刻カウンタ33は時刻カウンタ13に同期している。したがって、時刻カウンタ33は時刻t1において指示信号を転送制御部32に出力する。転送制御部32は、時刻t1において、ハイレベルのマスク信号をDMAC31に出力する。これにより、DMAC31が大容量データをメモリ12に転送する処理が禁止される。したがって、DMAC31は時刻t1においてメモリ12にアクセスすることがない。これにより、時刻t1において、メモリ12に対するメモリ競合が発生しない。
 ユニット20には、各制御周期においてCPU11が制御データを処理するために必要な処理時間Tcpuを表す情報が、予め設定されている。転送制御部32は、この情報に基づいて、各制御周期においてハイレベルのマスク信号の出力を継続する期間T1(第1期間)を決定する。期間T1は処理時間Tcpuよりも長ければよく、図2の例では両者の長さは互いに等しい。また、期間T1は、制御周期C1における処理時間Tcpuが占める期間に少なくとも重畳すればよく、図2の例では両者は互いに完全に重畳している。CPU11は、時刻t1から、時刻t1よりも処理時間Tcpuだけ後の時刻t2までの間、制御データの転送を継続する。転送制御部32は、時刻t1から期間T1だけ後の時刻t2までの間、ハイレベルのマスク信号の出力を継続する。これにより、時刻t1から時刻t2までの間、DMAC31による大容量データの転送が禁止されるので、CPU11は、メモリ競合を起こすことなく制御データをメモリ12から読み出すことができる。
 CPU11は、時刻t2の後、制御データの転送を終了し、他の処理を実行する。転送制御部32は、時刻t2において、期間T1を終了し、各制御周期においてローレベルのマスク信号の出力を継続する期間T2(第2期間)を開始させる。すなわち転送制御部32は、時刻t2において、ローレベルのマスク信号をDMAC31に出力する。これにより、時刻t2においてDMAC31による大容量データの転送が許可される。したがって、DMAC31は、時刻t2において、大容量データの転送を開始する。転送制御部32は、次の指示信号が時刻カウンタ33から入力されるまで、すなわち制御周期C1の終了時点まで、マスク信号をローレベルに維持する。
 CPU11は、時刻t2から時刻t3までの間(期間T2に等しい)、必要に応じてメモリ12にアクセスすることができる。したがって、期間T2ではメモリ競合の発生が許容される。期間T2においてCPU11がメモリ12にアクセスしない場合、DMAC31は、期間T2において、CPU11とのメモリ競合を起こすこと無く、メモリ12からDMAC31への大容量データの転送を遅延無く継続することができる。一方、期間T2においてCPU11がメモリ12にアクセスする場合、DMAC31は、CPU11との間でメモリ競合を起こしつつも、大容量データの転送を継続することができる。この際、大容量データの転送に多少の遅延が生じることもあり得るが、ユニット20にとってそのような遅延は大きな問題にならない。
 時刻t3において、時刻カウンタ13が次の指示信号をCPU11に出力し、これにより、制御周期C1が終了する。CPU11は、時刻t3において次の制御周期C2を開始させ、これにより時刻t3において制御データの処理を開始する。時刻カウンタ33は、時刻t3において次の指示信号を転送制御部32に出力する。これにより、転送制御部32はハイレベルのノイズ信号をDMAC31に出力する。
 制御周期C2における制御データおよび大容量データの転送の手順は、制御周期C1におけるそれと同一である。結果、制御周期C2における時刻t3から時刻t4(時刻t3+Tcpu)までの期間T1では、マスク信号がハイレベルに維持されるので、CPU11はDMAC31とメモリ競合を起こすことなく、制御データをメモリ12から読み出すことができる。また、時刻t4から時刻t5までの間、すなわち制御周期C1における時刻t4以降の残りの期間T2では、メモリ競合の発生が多少は起こる可能性もあるが、DMAC31は大容量データをメモリ12から着実に転送することができる。
 PLC10およびユニット20は、制御周期C2よりも後の各制御周期においても、制御周期C1およびC2と同様の処理を実行する。したがって、各制御周期内の期間T1において、CPU11はDMAC31とのメモリ競合を起こさずに、制御データの転送処理を独占的に実行できる。
 (主要な作用効果)
 本実施形態では、ユニット20およびCPU11がメモリ12を共有する場合であっても、各制御周期内で制御データが転送される期間T1においては、メモリ競合を起こすことなく制御データの転送を可能にすることができる。したがって、メモリ競合を原因とする制御データの転送遅延が生じない。さらには、メモリ競合を防止するための調停処理をCPU11に対して実行する必要がないため、CPU11の各制御周期が調整処理の実行により遅延することもない。このように、メモリ競合または調停処理を原因とする制御周期の遅延が発生しないため、CPU11は安定した制御周期で制御対象を制御することができる。特に、CPU11が125マイクロ秒以下の制御周期でメモリ12にアクセスする場合、数マイクロ秒は必要な調整処理が不要になることにより、各制御周期の同一性および安定性をより高めることができる。また、CPU11およびDMAC31をそれぞれ別デバイスとする(別の集積回路として実装する)場合でも、CPU11の制御周期を正しく維持することができる。
 なお、DMAC31は、転送制御部32に対してマスク信号の出力を要求するリクエスト信号を出力する必要がなく、したがって転送制御部32がマスク信号の出力を許可するACKを転送制御部32からDMAC31が受信する必要もない。したがって、DMAC31の処理負荷を軽減することもできる。
 (変形例)
 DMAC31は、メモリ12とメモリ22との間で大容量データを定期的にミラーリングしてもよい。これにより、メモリ12に格納される大容量データと、メモリ22に格納される大容量データとを、定期的に同一にすることができる。このミラーリングは、各制御周期内の期間T2において実行される。
 〔実施形態2〕
 以下、本発明の他の側面に係る実施の形態(以下、「本実施形態」とも表記する)を、図面に基づいて説明する。
 §2 構成例
 (制御システム1Aの構成)
 図3は、本実施形態に係る制御システム1Aの要部構成を示すブロック図である。この図の例では、制御システム1は、PLC10、ユニット20、およびユニット20Aを備えている。図3のPLC10およびユニット20の内部構成は、それぞれ図1のPLC10およびユニット20の内部構成と同一であるため、詳細な説明を繰り返さない。ユニット20Aはユニット20と同一のデバイスであり、ユニット20Aの内部構成はユニット20の内部構成と同一である。すなわち、制御システム1Aは、複数のユニット20を備えているシステムであるとも言える。本実施形態では、両者を区別するため、ユニット20Aが備える各部材にはAの参照番号を追加で付与する。例えば、MPU21Aは、ユニット20Aが備えるMPUである。
 制御システム1Aにおいて、CPU11、DMAC31、およびDMAC31Aが、シリアルバス14に接続される。これにより、CPU11、DMAC31、およびDMAC31Aが、メモリ12を共有している。DMAC31Aは、DMAC31と同様に、CPU11から独立して個別に形成される集積回路として実現される。DMAC31および31Aのそれぞれも、互いに独立して個別に形成される集積回路として実現される。
 (データ転送の流れ)
 本実施形態に係る制御システム1Aは、ユニット20および20Aがメモリ12にアクセスする期間T2を、時分割する。すなわち、ユニット20ごとに異なる制御周期に期間T2を割り当てる。詳細には、ある制御周期C1ではユニット20に期間T2を割り当て、他の制御周期C2ではユニット20Aに期間T2を割り当てる。これらの制御によって、ユニット20および20Aは、異なるタイミングで(異なる期間T2に)メモリ12にアクセスできるようにする。その際、期間T1では、CPU11、DMAC31、およびDMAC31Aがメモリ競合を起こすことはない。また、各期間T2では、ユニット20および20Aがメモリ競合を起こすことはない。
 図4は、本実施形態に係る制御システム1Aによる処理の流れの一例を示すシーケンス図である。時刻t1において、時刻カウンタ13が指示信号をCPU11に出力する。これにより、CPU11は、時刻t1において制御周期C1を開始させ、制御データの処理を開始する。時刻カウンタ33および33Aは、時刻カウンタ13に同期している。したがって、時刻カウンタ33は時刻t1において指示信号を転送制御部32に出力し、時刻カウンタ33Aは時刻t1において指示信号を転送制御部32Aに出力する。
 本実施形態では、転送制御部32は、時刻t1において、マスク信号および共通マスク信号をDMAC31に出力する。共通マスク信号は、大容量データの転送可否をDMAC31に指示する信号である。マスク信号および共通マスク信号のうち少なくとも一方がハイレベルである場合、DMAC31による大容量データの転送が禁止される。マスク信号および共通マスク信号の双方がローレベルである場合、DMAC31による大容量データの転送が許可される。
 転送制御部32Aは、時刻t1において、マスク信号Aおよび共通マスク信号AをDMAC31Aに出力する。共通マスク信号Aは、大容量データの転送可否をDMAC31Aに指示する信号である。マスク信号Aおよび共通マスク信号Aのうち少なくとも一方がハイレベルである場合、DMAC31Aによる大容量データの転送が禁止される。マスク信号Aおよび共通マスク信号Aの双方がローレベルである場合、DMAC31Aによる大容量データの転送が許可される。
 図4に示すように、共通マスク信号および共通マスク信号Aは、互いに同一の波形を有する。その意味では、これらの信号は、DMAC31および31Aの双方に対して共通に大容量データの転送を禁止する期間を指定する信号であると言える。
 転送制御部32は、時刻t1において、ハイレベルのマスク信号およびローレベルの共通マスク信号をDMAC31に出力する。これにより、DMAC31が大容量データをメモリ12に転送する処理が禁止される。転送制御部32Aは、時刻t1において、ハイレベルのマスク信号Aおよびハイレベルの共通マスク信号AをDMAC31Aに出力する。これにより、DMAC31Aが大容量データをメモリ12に転送する処理も禁止される。したがって、DMAC31および31Aは時刻t1においてメモリ12にアクセスすることがない。これにより、時刻t1において、メモリ12に対するメモリ競合が発生しないので、CPU11はメモリ12から制御データを遅延なく読み出すことができる。
 各制御周期におけるCPU11の処理は、実施形態1と同一である。CPU11は、時刻t1から時刻t2までの間、制御データの転送を続ける。時刻t1から時刻t2までの間、各マスク信号の現在出力レベルが維持されるので、メモリ競合が発生することはない。
 CPU11は、時刻t2において制御データの転送を終了する。転送制御部32は、時刻t2において、ローレベルの共通マスク信号をDMAC31に出力すると共に、ローレベルのマスク信号の出力を維持する。これにより、DMAC31による大容量データの転送が許可される。したがって、DMAC31は、時刻t2において、メモリ12からDMAC31への大容量データの転送を開始する。一方、転送制御部32Aは、時刻t2において、ローレベルの共通マスク信号AをDMAC31Aに出力すると共に、ハイレベルのマスク信号Aの出力を維持する。これにより、DMAC31Aによる大容量データの転送禁止が維持される。したがって、DMAC31Aは、時刻t2において、大容量データの転送を開始しない。
 転送制御部32は、次の指示信号が入力されるまで、すなわち制御周期C1の終了時点である時刻t3まで、マスク信号および共通マスク信号の現在出力レベルを維持する。転送制御部32Aも、次の指示信号が入力されるまで、すなわち制御周期C1の終了時点である時刻t3まで、マスク信号Aおよび共通マスク信号Aの現在出力レベルを維持する。一方、CPU11は、時刻t2から時刻t3までの間、メモリ12にアクセスしない。これによりDMAC31は、時刻t2から時刻t3までの間、CPU11およびDMAC31Aとのメモリ競合を起こすこと無く、メモリ12からDMAC31に大容量データを転送し続ける。
 時刻t3において、時刻カウンタ13が次の指示信号をCPU11に出力し、時刻カウンタ33が次の指示信号を転送制御部32に出力し、時刻カウンタ33Aが次の指示信号を転送制御部32Aに出力する。これにより、制御周期C1が終了する。CPU11は、時刻t3において次の制御周期C2を開始させ、制御データの転送を開始する。
 転送制御部32は、時刻t3において、ハイレベルのマスク信号およびハイレベルの共通マスク信号をDMAC31に出力する。これにより、DMAC31が大容量データをメモリ12に転送する処理が禁止される。転送制御部32Aは、時刻t3において、ハイレベルのマスク信号Aおよびローレベルの共通マスク信号AをDMAC31Aに出力する。これにより、DMAC31Aが大容量データをメモリ12に転送する処理も禁止される。したがって、DMAC31および31Aは時刻t3においてメモリ12にアクセスすることがない。これにより、時刻t3において、メモリ12に対するメモリ競合が発生しないので、CPU11はメモリ12から制御データを遅延なく読み出すことができる。
 CPU11は、時刻t3から時刻t4までの間、制御データの転送を続ける。時刻t3から時刻t4までの間、各マスク信号の現在出力レベルが維持されるので、メモリ競合が発生することはない。
 CPU11は、時刻t4において、制御データの転送を終了する。転送制御部32は、時刻t4において、ローレベルの共通マスク信号をDMAC31に出力すると共に、ハイレベルのマスク信号の出力を維持する。これにより、DMAC31による大容量データの転送禁止が維持される。したがって、DMAC31は、時刻t4において、大容量データの転送を開始しない。一方、転送制御部32Aは、時刻t4において、ローレベルの共通マスク信号およびローレベルのマスク信号をDMAC31Aに出力する。これにより、DMAC31Aによる大容量データの転送が許可される。したがって、DMAC31Aは、時刻t4において、大容量データの転送を開始する。
 転送制御部32は、次の指示信号が入力されるまで、すなわち制御周期C2の終了時点である時刻t5まで、マスク信号および共通マスク信号の現在出力レベルを維持する。転送制御部32Aも、次の指示信号が入力されるまで、すなわち制御周期C2の終了時点である時刻t5まで、マスク信号Aおよび共通マスク信号Aの現在出力レベルを維持する。一方、CPU11は、時刻t4から時刻t5までの間、メモリ12にアクセスしない。これによりDMAC31Aは、時刻t4から時刻t5までの間、CPU11およびDMAC31とのメモリ競合を起こすこと無く、メモリ12からDMAC31Aに大容量データを転送し続ける。
 (主要な作用効果)
 本実施形態では、複数のユニット20および20AがCPU11と共にメモリ12を共有する場合であっても、各制御周期内の期間T1においてメモリ競合を起こすことなく制御データの転送を可能にすることができる。したがって、メモリ競合を原因とする制御データの転送遅延が生じないため、各制御周期が遅延することがない。さらには、メモリ競合を防止するための調停処理をCPU11に対して実行する必要がないため、各制御周期が調整処理の実行により遅延することもない。したがって、各制御周期が遅延することがないため、PLC10は安定した周期で制御対象を制御することができる。特に、CPU11が125マイクロ秒以下の周期でメモリ12にアクセスする場合、数マイクロ秒が必要な調整処理が不要になることにより、各周期の同一性および安定性をよりよく高めることができる。
 さらには、各制御周期内の期間T2においてDMAC31とDMAC31Aとの間でメモリ競合が発生しないので、DMAC31および31Aはそれぞれに割り当てられた期間T2中に大容量データを遅延無く安定して転送することができる。
 〔実施形態3〕
 以下、本発明の他の側面に係る実施の形態(以下、「本実施形態」とも表記する)を、図面に基づいて説明する。
 §2 構成例
 本実施形態に係る制御システム1Aの構成は、実施形態2と同一である。ただし、DMAC31および31Aは、互いに同一の制御周期内に同時に大容量データを転送する。その際、ユニット20および20Aがメモリ12にアクセスする期間を、大容量データの最小ペイロード単位で時分割する。転送制御部32および32Aは、共通マスク信号を出力せずに、マスク信号またはマスク信号Aのみを出力する。また、ユニット20ごとに、同一の制御周期における期間T1の長さおよび期間T2の開始タイミングが互いに異なっている。さらに、ユニット20およびユニット20Aのそれぞれについて、ある制御周期C1における期間T2の開始タイミングと、他の制御周期C2における期間T2とが、互いに異なっている。
 (データ転送の流れ)
 図5は、本実施形態に係る制御システム1Aによる処理の流れの一例を示すシーケンス図である。CPU11による制御データの処理は、実施形態1などと同一である。すなわち、CPU11は時刻t1から時刻t2までの間、制御データを転送する。転送制御部32は、時刻t1から時刻t2までの間、ハイレベルのマスク信号をDMAC31に出力する。転送制御部32Aは、時刻t1から時刻t2までの間、ハイレベルのマスク信号をDMAC31Aに出力する。これにより、CPU11との間のメモリ競合を起こすことなく、制御データを転送する。
 転送制御部32は、時刻t2において、ローレベルのマスク信号をDMAC31に出力する。これによりDMAC31は、時刻t2において大容量データの転送を開始する。一方、転送制御部32Aは、時刻t2において、ハイレベルのマスク信号Aの出力を維持する。これにより、DMAC31Aは、時刻t2において制御データの転送を開始しない。
 転送制御部32および32Aには、大容量データのうち最小ペイロードサイズのデータ(以下、最小ペイロードデータ)を転送するために必要な転送時間Tpdが設定されている。最小ペイロードデータは、シリアルバス14上のシリアル通信時に通信される最小単位のデータのことである。DMAC31は、転送対象の大容量データを複数の最小ペイロードデータに分割して、最小ペイロードデータごとにシリアルバス14上での転送処理を順に実行する。
 転送制御部32は、時刻t2から時刻t3までの間、ローレベルのマスク信号の出力を維持する。転送制御部32Aは、時刻t2から、時刻t2に転送時間Tpdを加えた時刻t21までの間、ハイレベルのマスク信号Aの出力を続ける。これにより、DMAC31は、時刻t2から時刻t21までの間に、最小ペイロードデータの転送を完了することができる。
 DMAC31Aは、時刻t21において、ローレベルのマスク信号AをDMAC31Aに出力する。これにより、DMAC31Aは、大容量データの転送を開始する。このとき、DMAC31も大容量データの転送を実行しているので、DMAC31とDMAC31Aとの間でメモリ競合が発生する。これにより、DMAC31AとDMAC31とが、最小ペイロードデータを交互にメモリ12から転送するようになる。すなわち、時刻t21の後、まずDMAC31Aがメモリ12から最小ペイロードデータを転送し、その完了後に、DMAC31が最小ペイロードデータをメモリ12から転送する。これらの各処理が、時刻t21から時刻t3までの間に交互に実行される。したがって、図5に示すように、制御周期C1では、DMAC31は3つの最小ペイロードデータの転送に成功し、DMAC31Aは2つの最小ペイロードデータの転送に成功する。
 時刻t3において、制御周期C2が開始され、CPU11は時刻t3から時刻t4までの間、制御データを転送する。この際、マスク信号およびマスク信号Aはいずれもハイレベルに維持されているので、CPU11は、メモリ競合を起こすことなく、制御データをメモリから読み出すことができる。
 転送制御部32Aは、時刻t4において、ローレベルのマスク信号AをDMAC31Aに出力する。これによりDMAC31Aは、時刻t4において大容量データの転送を開始する。転送制御部32Aは、時刻t4から時刻t5までの間、ローレベルのマスク信号Aの出力を維持する。転送制御部32は、時刻t4から、時刻t4に転送時間Tpdを加えた時刻t41までの間、ハイレベルのマスク信号の出力を続ける。これにより、DMAC31Aは、時刻t4から時刻t41までの間に、CPU11およびDMAC31との間でメモリ競合を起こすことなく、最小ペイロードデータの転送を完了することができる。
 DMAC31は、時刻t41において、ローレベルのマスク信号AをDMAC31に出力する。これにより、DMAC31は、大容量データの転送を開始する。このとき、DMAC31Aも大容量データの転送を実行しているので、メモリ競合が発生する。これにより、DMAC31AとDMAC31とが、最小ペイロードデータを交互にメモリ12から転送するようになる。すなわち、時刻t41の後、まずDMAC31がメモリ12から最小ペイロードデータを転送し、その完了後に、DMAC31Aが最小ペイロードデータをメモリ12から転送する。これらの各処理が、時刻t21から時刻t3までの間に交互に実行される。したがって、図5に示すように、制御周期C2では、DMAC31は2つの最小ペイロードデータの転送に成功し、DMAC31Aは3つの最小ペイロードデータの転送に成功する。
 (主要な作用効果)
 制御データの転送完了後、制御周期C1では時刻t2においてDMAC31のみが大容量データの転送をまず開始し、制御周期C2では時刻t4においてDMAC31Aのみが大容量データの転送をまず開始する。これにより、大容量データの転送が開始された直後に、複数のユニット20による通信がシリアルバス14に集中することを防止することができる。
 各ユニット20において、大容量データの転送を開始するタイミングが制御周期ごとに異なっている。これにより、各制御周期においてユニット20または20Aのいずれかのみが優先してより多くのデータを転送することがなくなるため、各ユニット20における転送速度を均一にすることができる。実際、図5に示すように、制御周期C1およびC2における最小ペイロードデータの転送数をユニット20ごとに合算すると、ユニット20では3個+2個=5個であり、ユニット20Aでは3個+2個=5個であり、両者は等しい。そのため、各ユニット20における所定期間内の最小ペイロードデータの転送数は、ユニット20ごとに同一になり、これは大容量データの転送速度がユニット20によらず同一であることを意味する。
 〔実施形態4〕
 以下、本発明の他の側面に係る実施の形態(以下、「本実施形態」とも表記する)を、図面に基づいて説明する。
 §2 構成例
 (制御システム1Bの構成)
 図6は、本実施形態に係る制御システム1Bの要部構成を示すブロック図である。この図の例では、制御システム1は、PLC10およびユニット20Bを備えている。図6のPLC10の内部構成は、図1のPLC10の内部構成と同一であるため、詳細な説明を繰り返さない。ユニット20Bは、実施形態1のユニット20が備える各部材に加えて、さらに、DMAC34を備えている。
 DMAC34は、転送部23に設けられており、シリアルバス14およびシリアルバス24に接続されている。本実施形態ではメモリ22に最優先データ(特定のデータ)が格納されており、DMAC34は、MPU21による制御に従って、この最優先データをPLC10に転送する役割を有する。最優先データは、制御システム1Bが最優先に処理する必要があるデータであり、例えばシステムの緊急停止を指示するデータである。DMAC34は、マスク信号がハイレベルであっても、これを無視してシリアルバス14を通じて最優先データをメモリ12に転送することができる。
 (データ転送の流れ)
 図7は、本実施形態に係る制御システム1Aによる処理の流れの一例を示すシーケンス図である。以下では、DMAC31が大容量データをメモリ22からメモリ12に転送する例を説明する。時刻t1において、時刻カウンタ13が指示信号をCPU11に出力する。これにより、CPU11は、時刻t1において制御周期C1を開始させ、制御データの処理を開始する。時刻カウンタ33は時刻t1において指示信号を転送制御部32に出力し、これにより、転送制御部32はハイレベルのマスク信号をDMAC31に出力する。したがって、DMAC31は時刻t1において大容量データの転送を開始しない。なお、マスク信号はDMAC31Bには出力されない。
 MPU21は、時刻t1において、最優先データをPLC10に転送すべき事象が生じたことを検出する。これによりMPU21は、最優先データの転送をDMAC34に指示する。DMAC34は、これを受けて、時刻t1においてメモリ12に対する最優先データの転送を開始する。時刻t1ではCPU11が制御データの転送を開始しているが、最優先データが制御データに優先してメモリ12に転送されるため、制御データの実際の転送開始は、メモリ12への最優先データの転送が完了する時刻t11まで遅延される。すなわち、時刻t1において最優先データの転送が完了すると、制御データの転送が改めて開始される。制御データの転送は、最優先データの転送に必要に時間だけ遅延しているため、時刻t2になってもまだ完了しない。
 転送制御部32は、時刻t2において、ローレベルのマスク信号をDMAC31に出力する。DMAC31は、時刻t2において大容量データの転送を開始する。この際、制御データがまだ転送中であるため、メモリ競合が発生する。これにより、メモリ12への大容量データの書き込みは、制御データの転送が完了した後から開始される。
 図7では、制御周期C1において制御データの転送が遅延したことから、制御周期C1もその分だけ延長されることになる。このままでは、制御周期C1が完了する前に、時刻カウンタ13および時刻カウンタ33が指示信号を出力することになるので、制御周期C1の正しい終了時点と制御周期C2の正しい開始時点とが一致しなくなる。そこで、CPU11は、指示信号を出力するタイミングを、制御データの転送遅延時間に相当する時間だけ修正する(遅らせる)修正指示を、制御周期C1が終了する前の任意の時点で、シリアルバス14を通じて時刻カウンタ13およびDMAC31にそれぞれ出力する。DMAC31は、受信した修正指示を、転送制御部32を介して時刻カウンタ33に出力する。時刻カウンタ13および時刻カウンタ33は、受信した修正指示に基づいて、次に指示信号を出力するタイミングを修正する。例えば、現在のカウント数から、転送遅延時間を減算することによって、カウント数を変更する。これにより、制御データの転送遅延中に進んでしまったカウント数を無くすことができるので、制御周期C1が終了する正しいタイミングで、次の制御周期C2を開始するための指示信号を出力することができる。さらには、次の制御周期C2の開始時点において、ハイレベルのマスク信号を出力することもできる。
 図7の例では、時刻カウンタ13は、時刻t3よりも転送遅延時間だけ後の時刻t31において、次の指示信号をCPU11に出力する。時刻カウンタ33は、時刻t31において、指示信号を転送制御部32に出力する。これにより、転送制御部32は、時刻t31において、ハイレベルのマスク信号をDMAC31に出力する。これらの結果、制御周期C2では制御データの転送期間と、マスク信号のハイレベル維持期間とが一致するので、CPU11はメモリ競合を起こすことなく制御データをメモリ12から転送することができる。また、制御データの転送終了後、DMAC31はメモリ競合を起こすことなく、大容量データをメモリ12から転送することができる。
 (主要な作用効果)
 制御システム1Bが最優先で処理すべき最優先データについては、マスク信号の信号レベルに関わらず、PLC10に最優先で転送するため、PLC10に対する最優先データの転送が遅延することを防止することができる。これにより、緊急事態の発生時などに制御システム1Bが確実に素早く対応できるので、制御システム1Bの安定性を高めることができる。
 (変形例)
 マスク信号による転送制御を受けるDMAC31が転送するデータの中に、最優先データを含めても良い。この場合、最優先データにはマスク信号を無視できるフラグを設定する。DMAC31は、転送対象の各データの中に、このようなフラグが設定された最優先データを発見した場合、この最優先データの転送順位を最上位に変更すると共に、マスク信号がハイレベルであってもこれを無視してシリアルバス14を通じて最優先データをメモリ12に転送する。これにより、最優先データを制御データおよび大容量データよりも優先してメモリ12に書き込むことができる。したがって、この例であっても、本実施形態と同様の利点が得られる。
 〔まとめ〕
 本発明の一態様に係る情報処理装置は、シリアルバスに接続される第1メモリと、一定時間ごとに第1信号を出力する第1カウンタと、前記シリアルバスに接続されると共に、前記第1信号に基づいて、所定の制御周期ごとに前記シリアルバスを介して前記第1メモリと通信する第1通信部とを備えている制御装置に接続される情報処理装置であって、前記第1カウンタに同期して動作すると共に、前記一定時間ごとに第2信号を出力する第2カウンタと、前記シリアルバスに接続されると共に、前記第2信号に基づいて、前記制御周期において前記第1通信部が前記第1メモリと通信する期間に少なくとも重畳する第1期間中に、前記シリアルバスを介して前記第1メモリとシリアル通信せず、前記第1期間の後に開始される第2期間中に、前記シリアルバスを介して前記第1メモリと通信する第2通信部とを備えている構成である。
 前記の構成によれば、各制御周期内の第1期間中に、第2通信部が第1メモリと通信せずに、第1通信部のみが第1メモリと通信することが保証される。一方、各制御周期内の第2期間中では、第2通信部は第1メモリと通信することができ、さらには第1通信部は第1メモリと通信してもしなくても良い。これらのことから、各制御周期内の第1期間において、第1通信部および第2通信部が第1メモリに対するメモリ競合を起こすことがない。この際、メモリ競合の回避は、第1カウンタに同期する第2カウンタの出力に基づいて実現されており、したがってメモリ競合を回避するための調整処理を第1通信部が実行する必要はない。このように、本発明の一態様に係る情報処理装置は、メモリ競合を防止するための調停処理を制御装置の第1通信部に実行させることなく、メモリ競合を起こさずに済む。これにより、第1通信部の負荷を低減することもできる。
 本発明の一態様に係る情報処理装置は、前記の構成において、複数の情報処理装置が、前記制御装置に接続されており、前記情報処理装置ごとに、異なる前記制御周期に前記第2期間が割り当てられる構成である。
 前記の構成によれば、各制御周期において、いずれかの情報処理装置の第2通信部のみがシリアルバスを介して通信することが担保されるため、各情報処理装置の第2通信部が互いにメモリ競合を起こすことを防止できる。
 本発明の一態様に係る情報処理装置は、前記の構成において、複数の情報処理装置が、前記制御装置に接続されており、前記情報処理装置ごとに、同一の前記制御周期内における前記第1期間の長さおよび前記第2期間の開始タイミングが互いに異なる構成である。
 前記の構成によれば、各制御周期において、複数の情報処理装置が同一のタイミングで通信を開始することがないため、複数の情報処理装置による通信がシリアルバスに集中することを防止できる。
 本発明の一態様に係る情報処理装置は、前記の構成において、前記情報処理装置ごとに、ある前記制御周期と、他の前記制御周期とにおいて、前記第2期間の開始タイミングが互いに異なる構成である。
 前記構成によれば、各制御周期において特定の情報処理装置のみが優先して通信することがないため、各情報処理装置における通信速度を均一にすることができる。
 本発明の一態様に係る情報処理装置は、前記の構成において、前記第2通信部は、特定のデータについては前記第1期間中であっても前記第1メモリに送信する構成である。
 前記の構成によれば、特定のデータ、例えば制御システムが最優先で処理すべき最優先データについては、第1通信部が第1メモリにアクセスする期間であっても第1メモリに送信されるので、特定のデータの送信が遅延することを防止することができる。これにより、緊急事態の発生時などに制御装置が確実に素早く対応できるので、制御システムの安定性を高めることができる。
 本発明の一態様に係る情報処理装置は、前記構成において、第2メモリを備えており、前記第2通信部は、定期的に、前記第1メモリと前記第2メモリとの間のミラーリングを実行する構成である。
 前記の構成によれば、第1メモリおよび第2メモリにそれぞれ格納されるデータを定期的に同一にすることができる。
 〔ソフトウェアによる実現例〕
 ユニット20、20A、および20Bの制御ブロック(特に転送部23およびDMAC34)は、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、ソフトウェアによって実現してもよい。
 後者の場合、ユニット20、20A、および20Bは、各機能を実現するソフトウェアであるプログラムの命令を実行するコンピュータを備えている。このコンピュータは、例えば1つ以上のプロセッサを備えていると共に、前記プログラムを記憶したコンピュータ読み取り可能な記録媒体を備えている。そして、前記コンピュータにおいて、前記プロセッサが前記プログラムを前記記録媒体から読み取って実行することにより、本発明の目的が達成される。前記プロセッサとしては、例えばCPU(Central Processing Unit)を用いることができる。前記記録媒体としては、「一時的でない有形の媒体」、例えば、ROM(Read Only Memory)等の他、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、前記プログラムを展開するRAM(Random Access Memory)などをさらに備えていてもよい。また、前記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して前記コンピュータに供給されてもよい。なお、本発明の一態様は、前記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
 本発明は前述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態も、本発明の技術的範囲に含まれる。各実施形態にそれぞれ開示された技術的手段を組み合わせることによって、新しい技術的特徴を形成することもできる。
1、1A、1B 制御システム
10 PLC
11、11A CPU
12、22 メモリ
13、33、33A 時刻カウンタ
14、24 シリアルバス
20、20A、20B ユニット
21 MPU
23 転送部
31、31A、31B、34 DMAC
32、32A 転送制御部

Claims (6)

  1.  シリアルバスに接続される第1メモリと、一定時間ごとに第1信号を出力する第1カウンタと、前記シリアルバスに接続されると共に、前記第1信号に基づいて、所定の制御周期ごとに前記シリアルバスを介して前記第1メモリと通信する第1通信部とを備えている制御装置に接続される情報処理装置であって、
     前記第1カウンタに同期して動作すると共に、前記一定時間ごとに第2信号を出力する第2カウンタと、
     前記シリアルバスに接続されると共に、前記第2信号に基づいて、前記制御周期において前記第1通信部が前記第1メモリと通信する期間に少なくとも重畳する第1期間中に、前記シリアルバスを介して前記第1メモリとシリアル通信せず、前記第1期間の後に開始される第2期間中に、前記シリアルバスを介して前記第1メモリと通信する第2通信部とを備えている情報処理装置。
  2.  複数の情報処理装置が、前記制御装置に接続されており、
     前記情報処理装置ごとに、異なる前記制御周期に前記第2期間が割り当てられる請求項1に記載の情報処理装置。
  3.  複数の情報処理装置が、前記制御装置に接続されており、
     前記情報処理装置ごとに、同一の前記制御周期内における前記第1期間の長さおよび前記第2期間の開始タイミングが互いに異なる請求項1に記載の情報処理装置。
  4.  前記情報処理装置ごとに、ある前記制御周期と、他の前記制御周期とにおいて、前記第2期間の開始タイミングが互いに異なる請求項3に記載の情報処理装置。
  5.  前記第2通信部は、特定のデータについては前記第1期間中であっても前記第1メモリに送信する請求項1に記載の情報処理装置。
  6.  第2メモリを備えており、
     前記第2通信部は、定期的に、前記第1メモリと前記第2メモリとの間のミラーリングを実行する請求項1に記載の情報処理装置。
PCT/JP2020/008577 2019-05-16 2020-03-02 情報処理装置 WO2020230412A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202080028588.5A CN113711191A (zh) 2019-05-16 2020-03-02 信息处理装置
US17/605,243 US11782860B2 (en) 2019-05-16 2020-03-02 Information processing device for preventing occurrence of memory contention
EP20806618.3A EP3971722A4 (en) 2019-05-16 2020-03-02 INFORMATION PROCESSING DEVICE

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019-093181 2019-05-16
JP2019093181A JP7259537B2 (ja) 2019-05-16 2019-05-16 情報処理装置

Publications (1)

Publication Number Publication Date
WO2020230412A1 true WO2020230412A1 (ja) 2020-11-19

Family

ID=73221874

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/008577 WO2020230412A1 (ja) 2019-05-16 2020-03-02 情報処理装置

Country Status (5)

Country Link
US (1) US11782860B2 (ja)
EP (1) EP3971722A4 (ja)
JP (1) JP7259537B2 (ja)
CN (1) CN113711191A (ja)
WO (1) WO2020230412A1 (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5111534A (ja) * 1974-07-19 1976-01-29 Tokyo Shibaura Electric Co
JPH0652118A (ja) * 1992-07-30 1994-02-25 Ricoh Co Ltd 複数中央演算処理装置の制御装置
JPH0991194A (ja) 1995-09-27 1997-04-04 Canon Inc 調停システムおよび調停方法
JP2005115421A (ja) 2003-10-02 2005-04-28 Matsushita Electric Ind Co Ltd メモリアクセス調停装置、及びメモリアクセス調停方法
JP2006099214A (ja) * 2004-09-28 2006-04-13 Toshiba Tec Corp 共有メモリアクセス制御装置
WO2015056695A1 (ja) * 2013-10-15 2015-04-23 オムロン株式会社 制御装置および制御方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5444855A (en) * 1992-04-17 1995-08-22 International Business Machines Corporation System for guaranteed CPU bus access by I/O devices monitoring separately predetermined distinct maximum non CPU bus activity and inhibiting I/O devices thereof
JP2007087416A (ja) * 1993-09-17 2007-04-05 Renesas Technology Corp シングルチップデータ処理装置
US5546547A (en) * 1994-01-28 1996-08-13 Apple Computer, Inc. Memory bus arbiter for a computer system having a dsp co-processor
JPH09330289A (ja) * 1996-06-10 1997-12-22 Fujitsu Ltd 競合制御回路
US6728898B2 (en) * 2002-03-06 2004-04-27 Marathon Technologies Corporation Producing a mirrored copy using incremental-divergence
US7793060B2 (en) * 2003-07-15 2010-09-07 International Business Machines Corporation System method and circuit for differential mirroring of data
JP2006031480A (ja) * 2004-07-16 2006-02-02 Sony Corp 情報処理システム及び情報処理方法、並びにコンピュータプログラム
JP4756603B2 (ja) * 2006-10-10 2011-08-24 ルネサスエレクトロニクス株式会社 データプロセッサ
JP2009093740A (ja) * 2007-10-05 2009-04-30 Kyocera Mita Corp メモリアクセス制御回路
CN104137063A (zh) * 2012-02-28 2014-11-05 株式会社安川电机 控制装置以及控制装置的控制方法
CN104126155B (zh) * 2012-03-15 2017-06-09 欧姆龙株式会社 控制装置、信息处理装置、控制方法
JP2013235300A (ja) * 2012-03-26 2013-11-21 Fanuc Ltd 安全信号処理システム
DE112012006762B4 (de) * 2012-08-01 2022-12-08 Mitsubishi Electric Corporation Kommunikationsvorrichtung, Kommunikationssystem und synchrones Steuerverfahren
WO2014065879A1 (en) * 2012-10-22 2014-05-01 Venkatraman Iyer High performance interconnect physical layer
US20170199839A1 (en) * 2016-01-13 2017-07-13 Qualcomm Incorporated Bus ownership hand-off techniques
US10528501B2 (en) * 2017-05-18 2020-01-07 Linear Technology Holding Llc Coordinated event sequencing
JP6984496B2 (ja) * 2018-03-09 2021-12-22 富士通株式会社 ストレージ管理装置、ストレージシステム、及びストレージ管理プログラム
US10887427B1 (en) * 2018-11-14 2021-01-05 Amazon Technologies, Inc. System for automatic scaling to process requests

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5111534A (ja) * 1974-07-19 1976-01-29 Tokyo Shibaura Electric Co
JPH0652118A (ja) * 1992-07-30 1994-02-25 Ricoh Co Ltd 複数中央演算処理装置の制御装置
JPH0991194A (ja) 1995-09-27 1997-04-04 Canon Inc 調停システムおよび調停方法
JP2005115421A (ja) 2003-10-02 2005-04-28 Matsushita Electric Ind Co Ltd メモリアクセス調停装置、及びメモリアクセス調停方法
JP2006099214A (ja) * 2004-09-28 2006-04-13 Toshiba Tec Corp 共有メモリアクセス制御装置
WO2015056695A1 (ja) * 2013-10-15 2015-04-23 オムロン株式会社 制御装置および制御方法

Also Published As

Publication number Publication date
CN113711191A (zh) 2021-11-26
EP3971722A1 (en) 2022-03-23
JP7259537B2 (ja) 2023-04-18
US20220214986A1 (en) 2022-07-07
JP2020187658A (ja) 2020-11-19
EP3971722A4 (en) 2023-01-18
US11782860B2 (en) 2023-10-10

Similar Documents

Publication Publication Date Title
US7350004B2 (en) Resource management device
JP5829890B2 (ja) 半導体データ処理装置、タイムトリガ通信システム及び通信システム
US7467245B2 (en) PCI arbiter
US20070038792A1 (en) Systems, methods, and computer program products for arbitrating access to a shared resource based on quality-of-service information associated with a resource request
WO2011089660A1 (ja) バス調停装置
US11294835B2 (en) Semiconductor device including a bus arbiter
EP2423824B1 (en) Data transfer device, method of transferring data, and image forming apparatus
US9330025B2 (en) Information processing apparatus, memory control apparatus, and control method thereof
KR100708096B1 (ko) 버스 시스템 및 그 실행 순서 조정방법
WO2020230412A1 (ja) 情報処理装置
CN110825671A (zh) 一种多晶片系统
WO2020230413A1 (ja) 情報処理装置
JP5677007B2 (ja) バス調停装置、バス調停方法
US20160239443A1 (en) Dma controller
JP2007087247A (ja) バス制御システム
CN115884229B (zh) 传输时延的管理方法、电子设备和存储介质
JP2002288120A (ja) 調停装置およびバスシステム
EP4332782A1 (en) Deterministic memory-to-memory pcie transfer
JP7419889B2 (ja) 通信制御機器および通信制御機器の制御方法
JP7292044B2 (ja) 制御装置および制御方法
WO2012093475A1 (ja) 情報転送装置および情報転送装置の情報転送方法
JP2021005327A (ja) 情報処理装置
JP2006201832A (ja) データ転送処理装置
JP2011022814A (ja) 半導体集積回路、情報処理装置およびプロセッサ性能保証方法

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2020806618

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2020806618

Country of ref document: EP

Effective date: 20211216