JPH08110804A - Data processor - Google Patents

Data processor

Info

Publication number
JPH08110804A
JPH08110804A JP24511894A JP24511894A JPH08110804A JP H08110804 A JPH08110804 A JP H08110804A JP 24511894 A JP24511894 A JP 24511894A JP 24511894 A JP24511894 A JP 24511894A JP H08110804 A JPH08110804 A JP H08110804A
Authority
JP
Japan
Prior art keywords
instruction
cpu
normal
special
program
Prior art date
Legal status (The legal status 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 status listed.)
Withdrawn
Application number
JP24511894A
Other languages
Japanese (ja)
Inventor
Hitoshi Ishikawa
仁 石川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
Omron Tateisi Electronics Co
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 Omron Corp, Omron Tateisi Electronics Co filed Critical Omron Corp
Priority to JP24511894A priority Critical patent/JPH08110804A/en
Publication of JPH08110804A publication Critical patent/JPH08110804A/en
Withdrawn legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Programmable Controllers (AREA)

Abstract

PURPOSE: To effectively utilize CPU resources by providing a CPU exclusive for normal instructions and a general CPU. CONSTITUTION: When the CPU 1 exclusive for normal instructions reads out a special instruction while reading out a user program, a request flag indicating that the special instruction is read out is set in the flag area, etc., of a work memory 6. A CPU 2 checks the request flag throughout program execution to judge whether or not the request flag is set, and executes the requested special instruction when the request flag is set. After the special instruction is executed, the general CPU 2 sends a report on the completion of processing to the CPU 1 exclusive for normal instruction to make the CPU 1 exclusive for normal operation execute the normal instructions, and it is judged whether or not the program execution is completed by one scan. When the execution has been completed by one scan, peripheral processing is performed successively.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、プログラムを複数のC
PUにより実行すると共に、周辺処理を実行するように
したデータ処理装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention uses a plurality of C programs.
The present invention relates to a data processing device that is executed by a PU and also executes peripheral processing.

【0002】[0002]

【従来の技術】近年、高速処理を目的として、例えば図
10に示すように、複数のプログラム専用CPUA,B
および周辺処理専用CPUC,Dにより周辺処理および
プログラム実行処理を各々並列処理するデータ処理装置
が開発されている。
2. Description of the Related Art In recent years, for the purpose of high-speed processing, as shown in FIG.
Also, a data processing device has been developed which performs peripheral processing and program execution processing in parallel by the CPUs C and D dedicated to peripheral processing.

【0003】[0003]

【発明が解決しようとする課題】しかし、このようなデ
ータ処理装置では、周辺処理は並列処理が行い易いため
各周辺処理専用CPUC,Dは並列に動作可能である
が、プログラム実行処理は通常並列処理が行えず、プロ
グラム実行専用CPUAが動作しているときには、プロ
グラム実行専用CPUBが停止しているため、CPU資
源が無駄になる、という問題があった。
However, in such a data processing apparatus, the peripheral processing dedicated CPUs C and D can operate in parallel because the peripheral processing is easy to perform in parallel, but the program execution processing is usually parallel. When processing cannot be performed and the program execution-dedicated CPU A is operating, the CPU resources are wasted because the program execution-dedicated CPUB is stopped.

【0004】また、周辺処理の実行中は通常、プログラ
ム専用CPUA,Bが停止しているため、この点でもC
PU資源が無駄になる、という問題があった。
Also, since the CPUs A and B dedicated to the program are normally stopped during the peripheral processing, the C
There is a problem that PU resources are wasted.

【0005】そこで、本発明は、CPU資源を有効に利
用できるデータ処理装置を提供することを目的とする。
Therefore, an object of the present invention is to provide a data processing device which can effectively utilize CPU resources.

【0006】[0006]

【課題を解決するための手段】上記目的を達成するた
め、請求項1記載の発明では、通常命令および特別命令
からなるプログラムを複数のCPUにより実行すると共
に、周辺処理を実行するデータ処理装置において、上記
プログラム中から各命令を順次読出し、通常命令を読出
した場合には当該通常命令を実行する一方、特別命令を
読出した場合には当該特別命令の実行依頼を出力する通
常命令専用CPUと、上記周辺処理を実行すると共に、
上記通常命令専用CPUから特別命令の実行依頼が出力
された場合には当該特別命令を実行する汎用CPUと、
を具備することを特徴とする。
In order to achieve the above object, according to the invention of claim 1, in a data processing device for executing a program consisting of a normal instruction and a special instruction by a plurality of CPUs and executing peripheral processing. A normal instruction dedicated CPU that sequentially reads each instruction from the program, executes the normal instruction when the normal instruction is read, and outputs an execution request of the special instruction when the special instruction is read, While performing the above peripheral processing,
A general-purpose CPU that executes the special instruction when the special instruction execution request is output from the normal instruction dedicated CPU;
It is characterized by including.

【0007】請求項2記載の発明では、請求項1記載の
データ処理装置において、通常命令専用CPUは、プロ
グラム中から各命令を順次読出し、特別命令を読出した
場合にはフラグのセットにより当該特別命令の実行依頼
を出力し、汎用CPUは、上記通常命令専用CPUによ
るプログラムの実行中は上記フラグをチェックし上記フ
ラグがセットされていれば特別命令を実行して、上記プ
ログラムの1スキャン終了後に周辺処理を実行する、こ
とを特徴とする。
According to a second aspect of the present invention, in the data processing apparatus according to the first aspect, the normal instruction dedicated CPU sequentially reads each instruction from the program, and when a special instruction is read, the special instruction is set by setting a flag. The instruction execution request is output, and the general-purpose CPU checks the flag while the program is being executed by the normal instruction-dedicated CPU, executes the special instruction if the flag is set, and after one scan of the program is completed. It is characterized in that peripheral processing is executed.

【0008】請求項3記載の発明では、請求項1記載の
データ処理装置において、通常命令専用CPUは、プロ
グラム中から各命令を順次読出し、特別命令を読出した
場合には割込み信号の出力により当該特別命令の実行依
頼を出力し、汎用CPUは、通常は周辺処理を実行し、
上記通常命令専用CPUから割込信号の出力により特別
命令の実行依頼が出力された場合にはその割込信号を受
けて当該特別命令を実行する、ことを特徴とする。
According to a third aspect of the present invention, in the data processing apparatus according to the first aspect, the normal instruction dedicated CPU sequentially reads out each instruction from the program, and when a special instruction is read out, an interrupt signal is output to output the instruction. The execution request of the special instruction is output, and the general-purpose CPU normally executes peripheral processing,
When a special command execution request is output from the normal command dedicated CPU by outputting an interrupt signal, the special command is received and the special command is executed.

【0009】請求項4記載の発明では、通常命令および
特別命令からなるプログラムを通常命令専用CPUおよ
び汎用CPUにより実行すると共に、周辺処理を汎用C
PUおよび周辺処理専用CPUにより実行するデータ処
理装置において、上記汎用CPUあるいは周辺処理専用
CPUに、上記プログラム中から特別命令が読出された
場合にはフラグのセットにより当該特別命令の実行依頼
を出力するか、あるいは割込み信号の出力により当該特
別命令の実行依頼を出力するかを所定の評価項目に基づ
き推論して決定する推論手段を設け、上記通常命令専用
CPUは、上記プログラム中から各命令を順次読出し、
通常命令を読出した場合には当該通常命令を実行する一
方、特別命令を読出した場合には上記推論手段の決定に
基づきフラグのセットか、あるいは割込み信号の出力に
より当該特別命令の実行依頼を出力し、上記汎用CPU
は、上記通常命令専用CPUからの実行依頼の出力方式
に応じ、上記通常命令専用CPUによるプログラムの実
行中は上記フラグをチェックし上記フラグがセットされ
ていれば特別命令を実行して上記プログラムの1スキャ
ン終了後に周辺処理を実行するか、あるいは通常は周辺
処理を実行して上記通常命令専用CPUから割込信号の
出力により特別命令の実行依頼が出力された場合にはそ
の割込信号を受けて当該特別命令を実行する、ことを特
徴とする。
In a fourth aspect of the present invention, a program consisting of ordinary instructions and special instructions is executed by a normal instruction dedicated CPU and a general-purpose CPU, and peripheral processing is performed by a general-purpose C.
In a data processing device executed by a PU and a CPU dedicated to peripheral processing, when a special instruction is read from the program, an execution request of the special instruction is output to the general-purpose CPU or the CPU dedicated to peripheral processing by setting a flag. Or an inference means for inferring and determining, based on a predetermined evaluation item, whether to output the execution request of the special instruction by outputting an interrupt signal, the normal instruction dedicated CPU sequentially outputs each instruction from the program. reading,
When the normal instruction is read, the normal instruction is executed, while when the special instruction is read, the execution request of the special instruction is output by setting a flag or outputting an interrupt signal based on the determination of the inference means. And the above general-purpose CPU
According to the output method of the execution request from the normal instruction dedicated CPU, the flag is checked during execution of the program by the normal instruction dedicated CPU, and if the flag is set, the special instruction is executed to execute the program. Peripheral processing is executed after the completion of one scan, or when peripheral processing is normally executed and a special instruction execution request is output by the above-mentioned normal instruction dedicated CPU, an interrupt signal is received. And executing the special instruction.

【0010】請求項5記載の発明では、通常命令および
特別命令からなるプログラムを複数のCPUにより実行
すると共に、周辺処理を実行するデータ処理装置におい
て、上記プログラム中から特別命令が読出された場合に
はフラグのセットにより当該特別命令の実行依頼を出力
するか、あるいは割込み信号の出力により当該特別命令
の実行依頼を出力するかをパラメータとして遺伝子を複
数作成し、各遺伝子のパラメータに基づき上記プログラ
ムおよび周辺処理をシミュレーションすると共に、各遺
伝子の複製、交差、突然変異を繰返して、評価の高い遺
伝子を決定するシミュレーション手段と、上記プログラ
ム中から各命令を順次読出し、通常命令を読出した場合
には当該通常命令を実行する一方、特別命令を読出した
場合には上記シミュレーション手段によって決定された
評価の高い遺伝子のパラメータに基づきフラグのセット
か、あるいは割込み信号の出力により当該特別命令の実
行依頼を出力する通常命令専用CPUと、上記通常命令
専用CPUからの実行依頼の出力方式に応じ、上記通常
命令専用CPUによるプログラムの実行中は上記フラグ
をチェックし上記フラグがセットされていれば特別命令
を実行して上記プログラムの1スキャン終了後に周辺処
理を実行するか、あるいは通常は周辺処理を実行して上
記通常命令専用CPUから割込信号の出力により特別命
令の実行依頼が出力された場合にはその割込信号を受け
て当該特別命令を実行する汎用CPUと、を具備するこ
とを特徴とする。
In a fifth aspect of the present invention, a program including normal instructions and special instructions is executed by a plurality of CPUs, and when a special instruction is read from the program in a data processing device that executes peripheral processing. Creates a plurality of genes using as a parameter whether to output the execution request of the special instruction by setting a flag or output the execution request of the special instruction by outputting an interrupt signal, and based on the parameters of each gene, the above program and A simulation means for simulating peripheral processing and repeating gene duplication, crossover, and mutation to determine a highly evaluated gene, and each instruction is sequentially read from the above program, and when a normal instruction is read, If the special instruction is read while the normal instruction is executed, CPU for outputting a special instruction execution request by setting a flag or outputting an interrupt signal on the basis of a highly evaluated gene parameter determined by the ration means, and an execution request from the normal instruction dedicated CPU. Depending on the output method, the flag is checked during execution of the program by the CPU dedicated to normal instructions, and if the flag is set, a special instruction is executed and peripheral processing is executed after one scan of the program, or A general-purpose CPU that normally executes peripheral processing and, when a special instruction execution request is output from the normal instruction dedicated CPU by outputting an interrupt signal, receives the interrupt signal and executes the special instruction. It is characterized by having.

【0011】[0011]

【作用】請求項1記載の発明では、通常命令専用CPU
は、プログラム中から各命令を順次読出し、通常命令を
読出した場合には当該通常命令を実行する一方、特別命
令を読出した場合には当該特別命令の実行依頼を出力
し、汎用CPUは、周辺処理を実行すると共に、通常命
令専用CPUから特別命令の実行依頼が出力された場合
には当該特別命令を実行する。
According to the first aspect of the present invention, a CPU dedicated to normal instructions is used.
Reads each instruction in sequence from the program, executes the normal instruction when the normal instruction is read, outputs an execution request of the special instruction when the special instruction is read, and the general-purpose CPU In addition to executing the processing, when the special command execution request is output from the normal command dedicated CPU, the special command is executed.

【0012】請求項2記載の発明では、請求項1記載の
データ処理装置において、通常命令専用CPUは、プロ
グラム中から各命令を順次読出し、特別命令を読出した
場合には、フラグのセットにより当該特別命令の実行依
頼を出力し、汎用CPUは、通常命令専用CPUによる
プログラムの実行中は上記フラグをチェックして、上記
フラグがセットされていれば特別命令を実行し、上記プ
ログラムの1スキャン終了後に周辺処理を実行する。
According to a second aspect of the present invention, in the data processing apparatus according to the first aspect, the normal instruction dedicated CPU sequentially reads each instruction from the program, and when the special instruction is read, the flag is set by the flag. The execution request of the special instruction is output, and the general-purpose CPU checks the flag while the program is being executed by the normal instruction-dedicated CPU, executes the special instruction if the flag is set, and ends one scan of the program. After that, peripheral processing is executed.

【0013】請求項3記載の発明では、請求項1記載の
データ処理装置において、通常命令専用CPUは、プロ
グラム中から各命令を順次読出し、特別命令を読出した
場合には、割込み信号の出力により当該特別命令の実行
依頼を出力し、汎用CPUは、通常は周辺処理を実行し
て、通常命令専用CPUから割込信号の出力により特別
命令の実行依頼が出力された場合には、その割込信号を
受けて当該特別命令を実行する。
According to a third aspect of the present invention, in the data processing apparatus according to the first aspect, the normal instruction dedicated CPU sequentially reads each instruction from the program, and when a special instruction is read, an interrupt signal is output. The execution request of the special instruction is output, the general-purpose CPU normally executes peripheral processing, and when the execution instruction of the special instruction is output by the output of the interrupt signal from the CPU dedicated to the normal instruction, the interrupt is issued. Receive the signal and execute the special instruction.

【0014】請求項4記載の発明では、まず、通常命令
専用CPUあるいは汎用CPUに設けられた推論手段が
プログラム中から特別命令が読出された場合にはフラグ
のセットにより当該特別命令の実行依頼を出力するか、
あるいは割込み信号の出力により当該特別命令の実行依
頼を出力するかを所定の評価項目に基づき推論して決定
する。
According to the fourth aspect of the present invention, first, when a special instruction is read from the program by the inference means provided in the normal instruction dedicated CPU or the general-purpose CPU, an execution request for the special instruction is issued by setting a flag. Output
Alternatively, whether or not to output the execution request of the special instruction is output based on a predetermined evaluation item by the output of the interrupt signal.

【0015】そして、通常命令専用CPUは、プログラ
ム中から各命令を順次読出し、通常命令を読出した場合
には当該通常命令を実行する一方、特別命令を読出した
場合には推論手段の決定に基づきフラグのセットか、あ
るいは割込み信号の出力により当該特別命令の実行依頼
を出力する。汎用CPUは、通常命令専用CPUからの
実行依頼の出力方式に応じ、通常命令専用CPUによる
プログラムの実行中は上記フラグをチェックして、上記
フラグがセットされていれば特別命令を実行し、プログ
ラムの1スキャン終了後に周辺処理を実行するか、ある
いは通常は周辺処理を実行して、上記通常命令専用CP
Uから割込信号の出力により特別命令の実行依頼が出力
された場合にはその割込信号を受けて当該特別命令を実
行する。
Then, the normal instruction dedicated CPU sequentially reads each instruction from the program, executes the normal instruction when the normal instruction is read, and executes the normal instruction when the special instruction is read based on the decision of the inference means. The execution request of the special instruction is output by setting a flag or outputting an interrupt signal. The general-purpose CPU checks the flag while the program is being executed by the normal instruction-dedicated CPU according to the output method of the execution request from the normal instruction-dedicated CPU, executes the special instruction if the flag is set, and executes the program. The peripheral processing is executed after the completion of one scan of the
When a special command execution request is output from U by outputting an interrupt signal, the special signal is executed by receiving the interrupt signal.

【0016】請求項5記載の発明では、まず、シミュレ
ーション手段は、プログラム中から特別命令が読出され
た場合にはフラグのセットにより当該特別命令の実行依
頼を出力するか、あるいは割込み信号の出力により当該
特別命令の実行依頼を出力するかをパラメータとして遺
伝子を複数作成し、各遺伝子のパラメータに基づき上記
プログラムおよび周辺処理をシミュレーションすると共
に、各遺伝子の複製、交差、突然変異を繰返して、評価
の高い遺伝子を決定する。
In a fifth aspect of the invention, first, the simulation means outputs a request for executing the special instruction by setting a flag or outputs an interrupt signal when the special instruction is read from the program. Generating a plurality of genes with the output of the execution request of the special command as a parameter, simulating the above program and peripheral processing based on the parameters of each gene, repeating duplication, crossover, mutation of each gene to evaluate. Determine high genes.

【0017】そして、通常命令専用CPUは、プログラ
ム中から各命令を順次読出し、通常命令を読出した場合
には当該通常命令を実行する一方、特別命令を読出した
場合にはシミュレーション手段によって決定された評価
の高い遺伝子のパラメータに基づきフラグのセットか、
あるいは割込み信号の出力により当該特別命令の実行依
頼を出力する。汎用CPUは、通常命令専用CPUから
の実行依頼の出力方式に応じ、通常命令専用CPUによ
るプログラムの実行中は上記フラグをチェックして、上
記フラグがセットされていれば特別命令を実行し、プロ
グラムの1スキャン終了後に周辺処理を実行するか、あ
るいは通常は周辺処理を実行して、通常命令専用CPU
から割込信号の出力により特別命令の実行依頼が出力さ
れた場合には、その割込信号を受けて当該特別命令を実
行する。
The CPU dedicated to normal instructions sequentially reads each instruction from the program, executes the normal instruction when the normal instruction is read, and determines the special instruction by the simulation means when the special instruction is read. Is it a set of flags based on the parameters of highly evaluated genes,
Alternatively, an execution request of the special instruction is output by outputting an interrupt signal. The general-purpose CPU checks the flag while the program is being executed by the normal instruction-dedicated CPU according to the output method of the execution request from the normal instruction-dedicated CPU, executes the special instruction if the flag is set, and executes the program. The CPU executes the peripheral processing after the end of one scan of
When the execution request of the special instruction is output by the output of the interrupt signal from, the special instruction is executed in response to the interrupt signal.

【0018】[0018]

【実施例】以下、本発明に係るデータ処理装置の実施例
として、プログラマブルコントローラ(以下「PLC」
という。)の各実施例を図面に基づいて説明する。
DESCRIPTION OF THE PREFERRED EMBODIMENTS A programmable controller (hereinafter referred to as "PLC") will be described below as an embodiment of a data processing device according to the present invention.
Say. ) Will be described with reference to the drawings.

【0019】図1は、本発明に係るPLCの構成を示し
ている。
FIG. 1 shows the configuration of a PLC according to the present invention.

【0020】このPLCは、ユーザプログラムを読出し
てユーザプログラム中のほとんどの命令である通常命
令、例えば基本命令等を実行等する通常命令専用CPU
1と、後述するようにユーザプログラム中の特別命令、
例えば応用命令等を実行すると共に周辺処理も実行する
汎用CPU2と、周辺処理のみを実行する周辺処理専用
CPU3,4と、システムメモリ5と、ワークメモリ6
と、ユーザプログラムメモリ7と、I/Oメモリ8と、
I/O機器(図示せず。)等の外部接続機器が接続され
るI/F9とを有している。
This PLC is a CPU dedicated to normal instructions for reading out a user program and executing normal instructions, which are almost all the instructions in the user program, such as basic instructions.
1 and special instructions in the user program, as will be described later,
For example, a general-purpose CPU 2 that executes application instructions and the like and peripheral processing, CPUs 3 and 4 dedicated to peripheral processing that execute only peripheral processing, a system memory 5, and a work memory 6
A user program memory 7, an I / O memory 8,
It has an I / F 9 to which an external connection device such as an I / O device (not shown) is connected.

【0021】プログラム実行専用CPU1および汎用C
PU2は、第1実施例では、後述するポーリング方式に
より特別命令の実行依頼および実行処理を行うように構
成されている。
Program execution dedicated CPU 1 and general-purpose C
In the first embodiment, the PU 2 is configured to perform a special instruction execution request and an execution process by a polling method described later.

【0022】また、汎用CPU2および周辺処理専用C
PU3,4は、各々、各周辺処理の内容に応じて予め定
められた、あるいは必要に応じて選択された各周辺処理
を実行するように構成されている。
The general-purpose CPU 2 and the peripheral processing dedicated C
Each of the PUs 3 and 4 is configured to execute each peripheral process that is predetermined or selected as necessary according to the contents of each peripheral process.

【0023】次に、本発明に係るPLCの各実施例の動
作を図面を参照して説明する。
Next, the operation of each embodiment of the PLC according to the present invention will be described with reference to the drawings.

【0024】図2は、第1実施例のポーリング方式によ
る汎用CPU2側の処理を示している。
FIG. 2 shows processing on the side of the general-purpose CPU 2 according to the polling method of the first embodiment.

【0025】まず、この図では示していないが、通常命
令専用CPU1が、ユーザプログラムの読出中に特別命
令を読出した場合には、ワークメモリ6のフラグエリア
等に特別命令を読出したことを示す依頼フラグをセット
する。
First, although not shown in this figure, if the normal instruction dedicated CPU 1 reads the special instruction during the reading of the user program, it indicates that the special instruction has been read into the flag area or the like of the work memory 6. Set the request flag.

【0026】汎用CPU2は、プログラム実行中は、常
時、その依頼フラグをチェックして(ステップ10
0)、依頼フラグがセットされているか否かを判断し
(ステップ110)、依頼フラグがセットされている場
合には(ステップ110“Yes”)、その依頼された特
別命令の実行処理を行う(ステップ120)。
The general-purpose CPU 2 always checks the request flag during execution of the program (step 10
0), it is judged whether or not the request flag is set (step 110), and when the request flag is set (step 110 “Yes”), the requested special instruction execution process is performed (step 110). Step 120).

【0027】そして、その特別命令の実行終了後、汎用
CPU2は、通常命令専用CPU1に処理完了通知を送
り(ステップ130)、通常命令専用CPU1に通常命
令を実行させ、プログラム実行が1スキャン分終了する
否かを判断する(ステップ140)。
After the execution of the special instruction, the general-purpose CPU 2 sends a processing completion notification to the normal instruction dedicated CPU 1 (step 130), causes the normal instruction dedicated CPU 1 to execute the normal instruction, and the program execution is completed for one scan. It is determined whether or not (step 140).

【0028】ここで、プログラムの実行が1スキャン分
終了していない場合は(ステップ140“No”)、上
記ステップ100〜140までの処理を繰り返し行う一
方、プログラムの実行が1スキャン分終了した場合は
(ステップ140“Yes”)、続いて周辺処理を行い
(ステップ150)、この周辺処理が終了すればまた上
記ステップ100からの処理を繰り返す。
If the execution of the program has not been completed for one scan (step 140 "No"), the above steps 100 to 140 are repeated, while the execution of the program has been completed for one scan. (Step 140 "Yes"), then peripheral processing is performed (step 150), and when this peripheral processing is completed, the processing from step 100 is repeated.

【0029】従って、この第1実施例によれば、汎用C
PU2はプログラム実行中は依頼フラグを常時チェック
しに行き、依頼フラグがセットされていれば特別命令を
実行する一方、プログラム実行が終了すれば周辺処理も
実行するようにしたため、CPU資源を有効に利用でき
ることになる。
Therefore, according to the first embodiment, the general-purpose C
The PU2 always checks the request flag during the program execution, executes the special command if the request flag is set, and executes the peripheral processing when the program execution is completed. It will be available.

【0030】次に、本発明の第2実施例を説明する。Next, a second embodiment of the present invention will be described.

【0031】第2実施例に係るPLCでは、通常命令専
用CPUがプログラム中から特別命令を読出して、当該
特別命令の実行依頼の出力を、第1実施例のポーリング
方式とは異なり、後述するインタラプト(割込み)方式
により実行依頼を出力するように構成したものである。
In the PLC according to the second embodiment, the normal instruction dedicated CPU reads a special instruction from the program and outputs the execution request of the special instruction, unlike the polling method of the first embodiment, which will be described later. It is configured to output the execution request by the (interruption) method.

【0032】なお、この第2実施例に係るPLCの構成
では、図1に示す第1実施例に係るPLCの構成の同様
であるため、その説明は省略して、図1に基づいて第2
実施例のインタラプト方式による実行依頼の出力動作に
ついて説明する。
Since the configuration of the PLC according to the second embodiment is similar to that of the PLC according to the first embodiment shown in FIG. 1, the description thereof will be omitted and the second configuration based on FIG.
The output operation of the execution request by the interrupt method of the embodiment will be described.

【0033】図3は、第2実施例のインタラプト方式に
よる汎用CPU2側の実行処理を示している。
FIG. 3 shows execution processing on the side of the general-purpose CPU 2 according to the interrupt method of the second embodiment.

【0034】この第2実施例の場合、通常、汎用CPU
2は、通常命令専用CPU1から割込みがなければ(ス
テップ200“No”)、プログラムの実行中にかかわ
らず、処理すべき周辺処理があればその周辺処理を実行
する(ステップ210)。
In the case of the second embodiment, a general-purpose CPU is usually used.
If there is no interrupt from the CPU 1 dedicated to the normal instruction (step 200 “No”), the step 2 executes peripheral processing if there is peripheral processing to be processed regardless of the execution of the program (step 210).

【0035】そして、この図では示していないが、通常
命令専用CPU1が、ユーザプログラムの読出し中に特
別命令を読出した場合には、その特別命令の実行依頼と
して割込み信号を汎用CPU2に向けて送る。
Although not shown in this figure, when the normal instruction dedicated CPU 1 reads a special instruction during the reading of the user program, an interrupt signal is sent to the general-purpose CPU 2 as an execution request of the special instruction. .

【0036】汎用CPU2は、通常命令専用CPU1か
ら割込みが送られてきた場合(ステップ200“Ye
s”)、通常命令専用CPU1が読出した特別命令を実
行して(ステップ220)、その特別命令実行終了後、
通常命令専用CPU1へ完了通知を送り(ステップ23
0)、その後、周辺処理を行う(ステップ210)。
The general-purpose CPU 2 receives an interrupt from the CPU 1 dedicated to normal instructions (step 200 "Ye").
s "), the special instruction read out by the normal instruction dedicated CPU 1 executes the special instruction (step 220), and after the execution of the special instruction,
A completion notice is sent to the CPU 1 dedicated to normal instructions (step 23
0) and then peripheral processing is performed (step 210).

【0037】従って、この第2実施例によれば、第1実
施例の場合と同様に、汎用CPU2がユーザプログラム
中の特別命令の実行の他に、周辺処理の実行も行うた
め、CPU資源を有効に利用できる。
Therefore, according to the second embodiment, as in the case of the first embodiment, the general-purpose CPU 2 executes not only the special instruction in the user program but also the peripheral processing, so that the CPU resources are saved. It can be used effectively.

【0038】また、この第2実施例では、通常命令専用
CPU1と汎用CPU2間の実行依頼の通信方式に割込
み信号によるインタラプト方式を採用しているため、ユ
ーザプログラムの実行中であっても、汎用CPU2は特
別命令を実行してなければ周辺処理を実行することがで
きるため、よりCPU資源を有効に利用できる。
Further, in the second embodiment, since the interrupt method by the interrupt signal is adopted as the communication method of the execution request between the normal instruction dedicated CPU 1 and the general purpose CPU 2, the general purpose even during the execution of the user program. Since the CPU 2 can execute the peripheral processing unless the special instruction is executed, the CPU resources can be used more effectively.

【0039】次に、上記第1実施例のポーリング方式
と、第2実施例のインタラプト方式とを比較して、その
長所及び短所を説明する。
The advantages and disadvantages of the polling method according to the first embodiment and the interrupt method according to the second embodiment will be described below.

【0040】第1実施例のポーリング方式を採用した場
合には、プログラム実行中にインタラプトオーバヘッド
が生じないという長所を有する一方、プログラム実行中
に汎用CPU2が周辺処理を実行できないという短所を
有するのに対し、第2実施例のインタラプト方式を採用
した場合には、その反対で、プログラム実行中に汎用C
PU2が周辺処理を実行できるという長所を有するのに
対し、プログラム実行中にインタラプト(割込み)オー
バヘッドが生じるという短所を有することになる。
When the polling method of the first embodiment is adopted, it has an advantage that no interrupt overhead occurs during program execution, but has a disadvantage that the general-purpose CPU 2 cannot execute peripheral processing during program execution. On the contrary, when the interrupt method of the second embodiment is adopted, on the contrary, the general-purpose C is executed during the program execution.
While PU2 has the advantage that it can execute peripheral processing, it has the disadvantage that interrupt (interrupt) overhead occurs during program execution.

【0041】具体的に、CPU間の実行依頼の通信方式
として、ポーリング方式と、インタラプト方式とを用い
た場合のサイクルタイムの概算を示すと、下記の通りと
なる。尚、簡略化のため、ポーリング方式の場合のフラ
グのチェックタイムや、完了通知による時間等は無視し
て説明する。
Specifically, the approximate cycle time when the polling method and the interrupt method are used as the communication method of the execution request between the CPUs is as follows. For simplification, the flag check time in the polling method, the time by the completion notification, etc. will be ignored in the description.

【0042】まず、下記のように各種時間を定義する。First, various times are defined as follows.

【0043】 1回のインタラプト発生に伴うオーバヘッド To(ns) 通常命令専用CPU1で実行する1命令の平均実行時間 Ta(ns) 汎用CPU2で実行する1命令の平均実行時間 Tb(ns) 通常命令専用CPU1で1サイクルに実行する平均命令数 Na(個) 汎用CPU2で1サイクルに実行する平均命令数 Nb(個) 1サイクルに処理される周辺処理の平均的負荷 Tp(ns) このとき、ポーリング方式のサイクルタイムTpol 、イ
ンタラプト方式のサイクルタイムTint は、それぞれ、
下記のように計算される。ただし、周辺処理は全てプロ
グラム実行中でも並列に処理できるものとする。
Overhead due to one interrupt occurrence To (ns) Average execution time of one instruction executed by the CPU 1 dedicated to normal instruction Ta (ns) Average execution time of one instruction executed by the general-purpose CPU 2 Tb (ns) Dedicated to normal instruction Average number of instructions executed by CPU1 in one cycle Na (number) Average number of instructions executed by general-purpose CPU2 in one cycle Nb (number) Average load of peripheral processing processed in one cycle Tp (ns) At this time, polling method The cycle time Tpol and the cycle time Tint of the interrupt method are
Calculated as: However, all peripheral processes can be processed in parallel even during program execution.

【0044】 Tpol =NaTa+NbTb+Tp Tint =NaTa+Nb(Tb+To)+(Tp−Na
Ta) = NbTb+Tp+NbTo 従って、上記2式より、“NaTa”と“NbTo”の
大小関係により、ポーリング方式と、インタラプト方式
のいずれが優位かがわかる。
Tpol = NaTa + NbTb + Tp Tint = NaTa + Nb (Tb + To) + (Tp-Na
Ta) = NbTb + Tp + NbTo Therefore, it can be seen from the above equation 2 which of the polling method and the interrupt method is superior depending on the magnitude relation between “NaTa” and “NbTo”.

【0045】つまり、1回のインタラプト発生に伴うオ
ーバヘッドToが大きいときや、汎用CPU2で1サイ
クルに実行する平均命令数Nbが多いときは、ポーリン
グ方式のサイクルタイムが小となる。これに対し、通常
命令専用CPU1で1サイクルに実行する平均命令数N
aが多いときや、通常命令専用CPU1で実行する1命
令の平均実行時間Taが大きいとき、すなわち通常命令
専用CPU1における負荷が大きいときは、インタラプ
ト方式のサイクルタイムのほうが小さくなる。
That is, when the overhead To associated with the occurrence of one interrupt is large, or when the average number of instructions Nb executed by the general-purpose CPU 2 in one cycle is large, the cycle time of the polling method becomes small. On the other hand, the average number of instructions N to be executed in one cycle by the normal instruction dedicated CPU 1
When a is large, or when the average execution time Ta of one instruction executed by the normal instruction dedicated CPU 1 is large, that is, when the load on the normal instruction dedicated CPU 1 is large, the interrupt system cycle time becomes shorter.

【0046】よって、どちらの通信方式を選択するか
は、複数の要因が複雑に関係し合うため、簡単に決定で
きない。
Therefore, which communication method should be selected cannot be easily determined because a plurality of factors are intricately related to each other.

【0047】そこで、その選択方法としては、 (1)ユーザプログラム実行時に所定の評価項目を調べ
て、これをもとに推論してサイクルタイムの小さい通信
方式に変更する方法。
Therefore, the selection method is as follows: (1) A method of checking a predetermined evaluation item at the time of executing the user program, inferring it based on the evaluation item, and changing to a communication method with a short cycle time.

【0048】(2)実行前あるいは実行時に、シミュレ
ーションを行うことにより、サイクルタイムの小さな通
信方式を試行錯誤に構築していく方法。
(2) A method of constructing a communication method with a short cycle time by trial and error by performing a simulation before or during execution.

【0049】の2つが考えられ、上記(1)の方法を採
用したのが次に説明する第3実施例であり、上記(2)
の方法を採用したのがその次に説明する第4実施例であ
る。
There are two possible methods, and the method (1) is adopted in the third embodiment described below, and the method (2) is adopted.
This method is adopted in the fourth embodiment described next.

【0050】次に、本発明の第3実施例を説明する。Next, a third embodiment of the present invention will be described.

【0051】この第3実施例は、上述の通り、実行時に
所定の評価項目を調べ、これをもとに通常命令CPUお
よび汎用CPU間の通信方式である第1実施例のポーリ
ング方式および第2実施例のインタラプト方式を変更す
るように構成されており、通信方式の変更するための推
論方法としてファジイ推論を採用し、ファジイ推論部を
汎用CPUに設けていることを特徴としている。
As described above, in the third embodiment, a predetermined evaluation item is checked at the time of execution, and based on this, the polling method and the second method of the first embodiment, which is a communication method between the normal instruction CPU and the general-purpose CPU. It is configured to change the interrupt method of the embodiment, and is characterized by adopting fuzzy inference as an inference method for changing the communication method and providing a fuzzy inference unit in a general-purpose CPU.

【0052】図4は、この第3実施例に係るPLCの構
成を示している。
FIG. 4 shows the configuration of the PLC according to the third embodiment.

【0053】なお、図4において汎用CPU2の具体的
構成以外は、図1に示す第1実施例のPLCと同様であ
るため、同一符号を付して説明を省略し、汎用CPU2
の具体的構成、およびその動作を説明する。
4 is the same as the PLC of the first embodiment shown in FIG. 1 except for the specific structure of the general-purpose CPU 2, the same reference numerals are given and the description thereof is omitted.
The specific configuration and the operation thereof will be described.

【0054】汎用CPU2は、ユーザプログラム中の特
別命令を実行する特別命令実行部21と、周辺処理を実
行する周辺処理部22と、後述するように所定の評価項
目に基づき推論して、上記プログラム中から特別命令が
読出された場合にはフラグのセットにより当該特別命令
の実行依頼を出力するか、あるいは割込信号の出力によ
り当該特別命令の実行依頼を出力するかを決定するファ
ジイ推論部23と、を有している。
The general-purpose CPU 2 infers a special instruction executing unit 21 for executing a special instruction in a user program, a peripheral processing unit 22 for executing peripheral processing, and a predetermined evaluation item, as will be described later, to infer the program. When a special instruction is read from the inside, the fuzzy inference unit 23 determines whether to output the execution request of the special instruction by setting a flag or output the execution request of the special instruction by outputting an interrupt signal. And have.

【0055】ファジイ推論部23におけるファジイ推論
の際の所定の評価項目をルールで示すと、例えば、 ルール1;プログラム実行中に、汎用CPU2が並列に
行える処理が多い場合には、インタラプト方式が有利で
ある。
When a predetermined evaluation item at the time of fuzzy inference in the fuzzy inference unit 23 is shown by a rule, for example, rule 1; the interrupt method is advantageous when the general-purpose CPU 2 performs many processes in parallel during program execution. Is.

【0056】ルール2;ユーザの要求として、周辺処理
の性能を重視する場合には、インタラプト方式が有利で
ある。
Rule 2: When the performance of peripheral processing is emphasized as a user's request, the interrupt method is advantageous.

【0057】ルール3;ユーザプログラム中に、汎用C
PU2を利用するような命令が頻繁に発生する場合に
は、ポーリング方式のほうが有利である。
Rule 3; General-purpose C in the user program
The polling method is more advantageous when instructions that use PU2 occur frequently.

【0058】となる。It becomes

【0059】また、これをif−then式で書き替え
ると、 ルール1;if(汎用CPU2が並列に行える処理が=
多い) then(評価=インタラプト方式有利) ルール2;if(要求される周辺処理の性能=高速) then(評価=インタラプト方式有利) ルール1;if(依頼先CPUの利用回数=稀) then(評価=インタラプト方式有利) となる。
If this is rewritten by the if-then expression, rule 1; if (the processing that the general-purpose CPU 2 can perform in parallel is
Many (evaluation = interrupt method advantageous) Rule 2; if (performance of required peripheral processing = high speed) then (evaluation = interrupt method advantageous) Rule 1; if (requested CPU usage frequency = rare) then (evaluation) = Advantage of interrupt method).

【0060】図5(a)〜(c)は、上記各ルール1〜
3のメンバーシップ関数を示している。
FIGS. 5A to 5C show the rules 1 to 1 above.
3 shows a membership function of 3.

【0061】(a)は、ルール1のメンバーシップ関数
を示しており、横軸には並列に行える処理数(個)を、
縦軸にはインタラプト方式に対するマッチング度(0.0
〜1.0 間の値)をとっている。
(A) shows the membership function of rule 1, where the horizontal axis indicates the number of processes that can be performed in parallel.
The vertical axis shows the matching degree (0.0
It takes a value between ~ 1.0).

【0062】(b)は、ルール2のメンバーシップ関数
を示しており、要求される周辺処理の性能を示してお
り、横軸には応答速度(秒)を、縦軸にはインタラプト
方式に対するマッチング度をとっている。
(B) shows the membership function of rule 2, which shows the required performance of peripheral processing. The horizontal axis shows the response speed (seconds), and the vertical axis shows the matching with the interrupt method. I am taking a degree.

【0063】(c)は、汎用CPUの利用回数のメンバ
ーシップ関数を示しており、横軸には利用回数(回/
秒)を、縦軸にはインタラプト方式に対するマッチング
度をとっている。
(C) shows the membership function of the number of times the general-purpose CPU is used, and the horizontal axis shows the number of times of use (times / time).
Second), and the vertical axis represents the degree of matching with the interrupt method.

【0064】従って、ファジイ推論部23では、評価項
目である各ルール1〜3について、各々のメンバーシッ
プ関数の値から、直接インタラプト方式の優位性(0.0
〜1.0 の間の値)が求まるため、この平均を取り、この
平均値が0.5より大きいならばインタラプト方式に、
それより小さいならばポーリング方式にというように決
定できる。
Therefore, the fuzzy inference unit 23 determines the superiority of the direct interrupt method (0.0) from the values of the membership functions of the rules 1 to 3 which are evaluation items.
(Value between ~ 1.0) is obtained, so take this average, and if this average is greater than 0.5, use the interrupt method,
If it is smaller than that, the polling method can be decided.

【0065】次に、この第3実施例の動作を図面を参照
して説明する。
Next, the operation of the third embodiment will be described with reference to the drawings.

【0066】図6は、この第3実施例のファジイ推論に
よるCPU間実行依頼の決定方法を示している。
FIG. 6 shows a method of determining an inter-CPU execution request by fuzzy inference according to the third embodiment.

【0067】ファジイ推論部23は、まず通常命令専用
CPU1や汎用CPU2の特別命令実行部21がユーザ
プログラムを実行したり、汎用CPU2の周辺処理部2
2や周辺処理専用CPU3,4が周辺処理を実行した結
果から上記各評価項目の評価値を求める(ステップ30
0)。尚、初期状態においては、通常命令専用CPU1
と汎用CPU2間の通信方式は、ポーリング方式か、あ
るいはインタラプト方式のどちらかに予め設定されてい
るものとする。
In the fuzzy inference unit 23, first, the special instruction execution unit 21 of the normal instruction dedicated CPU 1 or the general purpose CPU 2 executes the user program, or the peripheral processing unit 2 of the general purpose CPU 2 is executed.
2 and the peripheral processing-dedicated CPUs 3 and 4 execute the peripheral processing to obtain the evaluation value of each evaluation item (step 30).
0). In the initial state, the CPU 1 dedicated to normal instructions is used.
It is assumed that the communication method between the CPU and the general-purpose CPU 2 is preset to either the polling method or the interrupt method.

【0068】そして、ファジイ推論部23は、その評価
値を各々が対応する上記ルール1〜3の各メンバーシッ
プ関数に代入して、ファジイ推論を行い、その推論結果
すなわち各ルール1〜3のマッチング度からその平均を
求めて、インタラプト方式か、あるいはポーリング方式
かの通信方式を決定して、決定した通信方式の指示を通
常命令専用CPU1へ送る(ステップ310)。
Then, the fuzzy inference unit 23 substitutes the evaluation value into each membership function of the corresponding rules 1 to 3 to perform fuzzy inference, and the inference result, that is, matching of rules 1 to 3. Then, the average of the communication methods is calculated, the communication method such as the interrupt method or the polling method is determined, and the instruction of the determined communication method is sent to the CPU 1 dedicated to the normal instruction (step 310).

【0069】通常命令専用CPU1は、その通信方式の
指示を受けて、その通信方式に基づき汎用CPU2への
実行依頼の通信方式を変更する(ステップ320)。
Upon receiving the instruction of the communication system, the normal instruction dedicated CPU 1 changes the communication system of the execution request to the general-purpose CPU 2 based on the communication system (step 320).

【0070】その後、通常命令専用CPU1は、ユーザ
プログラムから順次命令を読出して、通常命令を読出し
た場合は、通常命令を実行する一方、特別命令を読み出
した場合は、ファジイ推論部23によって新たに決定さ
れた通信方式によりこの通常命令専用CPU1から汎用
CPU2へ実行依頼を送出するというように、実行して
いるユーザプログラムに最適で、サイクルタイムの小さ
くなる通信方式により実行依頼を出力等して通常の処理
を行う(ステップ330)。
After that, the CPU 1 for exclusive use of normal instructions sequentially reads out the instructions from the user program. When the normal instructions are read out, the normal instructions are executed, while when the special instructions are read out, the fuzzy inference unit 23 newly creates new instructions. Usually, the execution request is output by the communication method that is most suitable for the user program being executed, such as sending the execution request from the normal instruction dedicated CPU 1 to the general-purpose CPU 2 according to the determined communication method, and reducing the cycle time. Is performed (step 330).

【0071】従って、この第3実施例によれば、通常命
令専用CPUと汎用CPU間の実行依頼の通信方式をポ
ーリング方式で行うか、あるいはインタラプト方式で行
うかをユーザプログラム実行時に所定の評価項目にファ
ジイ推論によって推論してサイクルタイムの小さくなる
通信方式を決定するようにしたため、ユーザプログラム
に応じてユーザニーズにあった、サイクルタイムの小さ
くなる実行依頼の通信方式を動的に選択できると共に、
CPU資源を有効に利用できる。
Therefore, according to the third embodiment, it is determined whether the communication method for the execution request between the normal instruction dedicated CPU and the general purpose CPU is the polling method or the interrupt method when the user program is executed. Since the communication method with the smaller cycle time is determined by inferring the fuzzy inference, it is possible to dynamically select the communication method of the execution request with the smaller cycle time that suits the user's needs according to the user program.
CPU resources can be effectively used.

【0072】なお、この第3実施例では、汎用CPU2
にファジイ推論部23を設けて説明したが、ファジイ推
論部23を周辺処理専用CPU4あるいは通常命令専用
CPU1に設けるようにしても良い。ただし、ファジイ
推論部23を通常命令専用CPU1に設けると、通常命
令専用CPU1による通常命令の実行速度が低下するた
め、なるべく汎用CPU2あるいは周辺処理専用CPU
3,4にファジイ推論部23を設けるようにする。
In the third embodiment, the general-purpose CPU 2
Although the fuzzy inference unit 23 is provided in the above description, the fuzzy inference unit 23 may be provided in the peripheral processing dedicated CPU 4 or the normal instruction dedicated CPU 1. However, when the fuzzy inference unit 23 is provided in the normal instruction dedicated CPU 1, the execution speed of the normal instruction by the normal instruction dedicated CPU 1 decreases, so that the general purpose CPU 2 or the peripheral processing dedicated CPU is as much as possible.
The fuzzy inference unit 23 is provided in 3 and 4.

【0073】また、この第3実施例では、汎用CPU2
が1台の場合で説明したが、汎用CPU2が複数台あ
り、汎用CPU2が実行する特別命令の実行をどの汎用
CPU2が行っても良いとする場合には、通常命令専用
CPU1と汎用CPU2間の通信方式の決定の他に、ど
の汎用CPU2を選択するかをも決定する必要がある。
Further, in the third embodiment, the general-purpose CPU 2
However, in the case where there is a plurality of general-purpose CPUs 2 and any general-purpose CPU 2 may execute the special instruction executed by the general-purpose CPU 2, the normal-instruction-dedicated CPU 1 and the general-purpose CPU 2 may be connected to each other. In addition to determining the communication method, it is necessary to determine which general-purpose CPU 2 to select.

【0074】例えば、特別命令を読出した場合にどの汎
用CPU2を選択するかをファジイ推論によって決定す
るために、下記に示すようなルール4〜6が考えられ、
ルール4;現在、処理負荷が最も軽い汎用CPUがあれ
ば、その汎用CPUを使用する。
For example, in order to determine which general-purpose CPU 2 should be selected when a special instruction is read by fuzzy inference, the following rules 4 to 6 can be considered.
Rule 4: If there is a general-purpose CPU with the lightest processing load at present, that general-purpose CPU is used.

【0075】ルール5;該当処理を高速に実行できる汎
用CPUがあれば、その汎用CPUを利用する。
Rule 5: If there is a general-purpose CPU capable of executing the corresponding processing at high speed, the general-purpose CPU is used.

【0076】ルール6;他に実行できる処理の多い汎用
CPUがあれば、その汎用CPUは利用しない。
Rule 6; If there is another general-purpose CPU that can execute many other processes, the general-purpose CPU is not used.

【0077】このルール4〜6をメンバーシップ関数で
表わして、各ルールに基づいてファジイ推論を行えば、
多数ある汎用CPU2の中からその時点において最適な
汎用CPU2を選択できることになる。
If these rules 4 to 6 are represented by membership functions and fuzzy inference is performed based on each rule,
The optimum general-purpose CPU 2 can be selected from among a large number of general-purpose CPUs 2 at that time.

【0078】次に、本発明の第4実施例を説明する。Next, a fourth embodiment of the present invention will be described.

【0079】この第4実施例は、上述の通り、ユーザプ
ログラムの実行前あるいは実行時にシミュレーションを
導入することにより、サイクルタイムの小さくなるよう
なシステムを試行錯誤的に構築していき、これをもとに
CPU間での実行依頼の通信方式である上記ポーリング
方式およびインタラプト方式を変更する方法で、実行依
頼の通信方式の変更に遺伝的アルゴリズム(GA)を採
用している。
In the fourth embodiment, as described above, by introducing a simulation before or during execution of the user program, a system with a short cycle time is constructed by trial and error, and this is also achieved. In addition, a method for changing the polling method and the interrupt method, which are communication methods for execution requests between CPUs, uses a genetic algorithm (GA) for changing the communication method for execution requests.

【0080】図7に、第4実施例に係るPLCの構成を
示している。
FIG. 7 shows the configuration of the PLC according to the fourth embodiment.

【0081】この第4実施例に係るPLCは、各々が別
の通常命令を実行する2台の通常命令専用CPU1a,
1bと、各々別の特別命令を実行すると共に周辺処理も
実行する2台の汎用CPU2a,2bとを有すると共
に、各CPU間の実行依頼の通信方式を後述する遺伝的
アルゴリズムを採用してシミュレーションすることによ
り、最もサイクルタイムの小さくなるCPU間実行依頼
の通信方式を決定するシミュレーション装置10がイン
ターフェース9を介して接続されていることを特徴とす
る。
The PLC according to the fourth embodiment has two normal instruction dedicated CPUs 1a, which execute different normal instructions.
1b and two general-purpose CPUs 2a and 2b that execute different special instructions and peripheral processing, respectively, and simulate the communication system of execution requests between the CPUs by adopting a genetic algorithm described later. As a result, the simulation device 10 that determines the communication method of the inter-CPU execution request with the smallest cycle time is connected via the interface 9.

【0082】尚、図1に示す第1実施例のPLCの構成
要素と共通な構成要素には同一符号を付して説明を省略
すると共に、周辺処理専用CPUは便宜上省略している
が、勿論設けられていても良い。
The same components as those of the PLC according to the first embodiment shown in FIG. 1 are designated by the same reference numerals and the description thereof is omitted. The peripheral processing dedicated CPU is omitted for convenience. It may be provided.

【0083】図8(a),(b)は、各々、各CPU間
の実行依頼の通信方式に遺伝的アルゴリズムを適用する
ためのモデルと、このモデルにおける遺伝子を示してい
る。
FIGS. 8A and 8B respectively show a model for applying the genetic algorithm to the execution request communication system between the CPUs, and the genes in this model.

【0084】(a)は、各CPU間の通信方式を示して
おり、通常命令専用CPU1aから通常命令専用CPU
1bへの実行依頼の通信方式をWab、通常命令専用C
PU1aから汎用CPU2aへの実行依頼の通信方式を
Wac、通常命令専用CPU1aから汎用CPU2bへ
の実行依頼の通信方式をWadで示している。
(A) shows a communication system between the CPUs, from the normal instruction dedicated CPU 1a to the normal instruction dedicated CPU.
Communication method of execution request to 1b is Wab, normal instruction dedicated C
The communication method of the execution request from the PU 1a to the general-purpose CPU 2a is Wac, and the communication method of the execution request from the normal instruction dedicated CPU 1a to the general-purpose CPU 2b is Wad.

【0085】また、通常命令専用CPU1bから通常命
令専用CPU1aへの実行依頼の通信方式をWbaで示
しており、通常命令専用CPU1bから汎用CPU2a
への実行依頼の通信方式をWbcで,通常命令専用CP
U1bから汎用CPU2bへの実行依頼の通信方式をW
bdで示している。
Further, the communication method of the execution request from the normal instruction dedicated CPU 1b to the normal instruction dedicated CPU 1a is shown by Wba, and the normal instruction dedicated CPU 1b to the general purpose CPU 2a are shown.
Wbc as the communication method of execution request to
The communication method of execution request from U1b to general-purpose CPU2b is W
It is shown by bd.

【0086】(b)では、各CPU間の6つの実行依頼
の通信方式Wab〜Wbdを、パラメータとして遺伝子
Gを作成しており、“0”はCPU間の実行依頼の通信
方式として上記第1実施例のポーリング方式を採用した
ことを示しており、“1”はCPU間の実行依頼の通信
方式として上記第2実施例のインタラプト方式を採用し
たことを示している。
In (b), gene G is created by using six execution request communication methods Wab to Wbd between the CPUs as parameters, and "0" is the first execution request communication method between the CPUs. This indicates that the polling method of the second embodiment is adopted, and "1" indicates that the interrupt method of the second embodiment is adopted as the communication method of the execution request between the CPUs.

【0087】そして、シミュレーション装置10は、遺
伝子プール(図示せず。)にこのような遺伝子Gを複数
記憶しており、この遺伝子Gを後述する遺伝的アルゴリ
ズムによるシミュレーションによって進化させて、最適
遺伝子を遺伝子プール上に増大させるように構成されて
いる。
The simulation apparatus 10 stores a plurality of such genes G in a gene pool (not shown), and evolves these genes G by simulation by a genetic algorithm described later to find an optimum gene. It is configured to grow on the gene pool.

【0088】次に、この第4実施例の動作を図面を参照
して説明する。
Next, the operation of the fourth embodiment will be described with reference to the drawings.

【0089】図9は、この第4実施例の遺伝的アルゴリ
ズムによるCPU間の実行依頼の通信方式の決定方法を
示している。
FIG. 9 shows a method of determining a communication system for execution requests between CPUs according to the genetic algorithm of the fourth embodiment.

【0090】シミュレーション装置10では、まず遺伝
子プール(図示せず。)中の図8(b)に示す各遺伝子
Gを前回の評価に応じて複製し(ステップ400)、続
いてこれらの各遺伝子Gを交差させて(ステップ41
0)、さらにある確率で遺伝子Gに突然変異を起こさせ
(ステップ420)、遺伝子Gを進化させる。
In the simulation apparatus 10, first, each gene G shown in FIG. 8B in the gene pool (not shown) is duplicated according to the previous evaluation (step 400), and then each of these gene G is reproduced. (Step 41
0), further mutate gene G with a certain probability (step 420) to evolve gene G.

【0091】そして、シミュレーション装置10では、
遺伝子プール中の全ての遺伝子Gに基づきユーザプログ
ラム実行および周辺処理実行のシミュレーションを行っ
て、プログラム実行時間やサイクルタイムから各遺伝子
Gの評価を行う(ステップ430,ステップ440“N
o”)。
Then, in the simulation device 10,
Simulation of user program execution and peripheral processing execution is performed based on all the genes G in the gene pool, and each gene G is evaluated from the program execution time and the cycle time (step 430, step 440 “N”).
o ”).

【0092】全ての遺伝子Gについてシミュレーション
および評価が終了すれば(ステップ440“Yes”)、
遺伝子Gが進化するように、このような遺伝子Gの複
製、交差、突然変異、全遺伝子Gについてのシミュレー
ション・評価処理(ステップ400〜440)を十分な
回数に達するまで繰り返し(ステップ450“N
o”)、十分な回数に達した場合には(ステップ450
“Yes”)、遺伝子の進化を終了させて、現在最も評価
の高い遺伝子Gが、サイクルタイムの最も小さい最適な
各CPU間の実行依頼の通信方式を示しているとものと
して選択する(ステップ460)。
When the simulation and evaluation have been completed for all genes G (step 440 “Yes”),
In order for the gene G to evolve, the replication / crossover / mutation of the gene G and the simulation / evaluation processing (steps 400 to 440) for all the genes G are repeated until a sufficient number of times is reached (step 450 "N
o ”), if a sufficient number is reached (step 450
"Yes"), the evolution of genes is terminated, and the gene G, which has the highest evaluation at present, is selected as the one that indicates the optimal communication method of execution requests between CPUs with the smallest cycle time (step 460). ).

【0093】そして、このようにして選択された遺伝子
Gに基づいて、例えば、通常命令専用CPU1aがユー
ザプログラムから命令を読出して自CPU用の通常命令
を実行している場合に、通常命令専用CPU1b用の通
常命令を読出した場合には、この最適な遺伝子GのWa
bが示す通信方式によって通常命令専用CPU1bに実
行依頼を送出する一方、汎用CPU2b用の特別命令を
読出した場合には、この最適な遺伝子GのWadが示す
通信方式によって汎用CPU2bに実行依頼を送出し
て、各々の命令を実行させるようにする。
Then, based on the gene G selected in this way, for example, when the normal instruction dedicated CPU 1a reads an instruction from the user program and executes the normal instruction for its own CPU, the normal instruction dedicated CPU 1b If the normal instruction for
While the execution request is sent to the normal instruction dedicated CPU 1b by the communication method indicated by b, when the special instruction for the general purpose CPU 2b is read out, the execution request is sent to the general purpose CPU 2b by the communication method indicated by the optimum gene G Wad. Then, each instruction is executed.

【0094】従って、この第4実施例によれば、通常命
令専用CPUと汎用CPU間の実行依頼の通信方式をポ
ーリング方式で行うか、あるいはインタラプト方式で行
うかを遺伝子で表わし、ユーザプログラム実行前あるい
は実行時にこの遺伝子を用いてプログラム実行および周
辺処理のシミュレーションを行い、遺伝的アルゴリズム
によってサイクルタイムの最も小さくなる各CPU間の
実行依頼の通信方式を試行錯誤的に決定するようにした
ため、通常命令専用CPUや汎用CPUが複数台ある場
合でも、最適な各CPU間の実行依頼の通信方式を選択
できると共に、CPU資源を有効に利用できることにな
る。
Therefore, according to the fourth embodiment, whether the communication method for the execution request between the normal instruction dedicated CPU and the general-purpose CPU is the polling method or the interrupt method is represented by a gene, and before execution of the user program. Alternatively, a program execution and peripheral processing simulation are performed using this gene at the time of execution, and the communication method of the execution request between the CPUs having the smallest cycle time is determined by a genetic algorithm by trial and error. Even when there are a plurality of dedicated CPUs or general-purpose CPUs, it is possible to select an optimal communication method for execution requests between the CPUs and effectively use the CPU resources.

【0095】なお、上記各実施例では、PLCを実施例
として本発明のデータ処理装置を説明したが、本発明
は、PLCに限定されることはなく、その他一般的なコ
ンピュータのデータ処理装置に適用することができる。
In each of the above embodiments, the PLC is used as an embodiment to describe the data processing device of the present invention. However, the present invention is not limited to the PLC, and can be applied to other general computer data processing devices. Can be applied.

【0096】[0096]

【発明の効果】以上説明したように、請求項1〜5記載
の発明によれば、汎用CPUがプログラム中の特別命令
の実行の他に、周辺処理の実行も行うため、CPU資源
を有効に利用できる。
As described above, according to the first to fifth aspects of the invention, the general-purpose CPU executes not only the special instruction in the program but also the peripheral processing, so that the CPU resources are effectively used. Available.

【0097】また、請求項3記載の発明によれば、通常
命令専用CPU1と汎用CPU2間の実行依頼の通信方
式に割込み信号によるインタラプト方式を採用したた
め、ユーザプログラムの実行中であっても、汎用CPU
2は特別命令を実行してなければ周辺処理を実行するこ
とができるため、よりCPU資源を有効に利用できる。
Further, according to the third aspect of the invention, since the interrupt method by the interrupt signal is adopted as the communication method of the execution request between the normal instruction dedicated CPU 1 and the general purpose CPU 2, the general purpose even during the execution of the user program. CPU
Since No. 2 can execute peripheral processing if no special instruction is executed, CPU resources can be used more effectively.

【0098】また、請求4記載の発明によれば、通常命
令専用CPUと汎用CPU間の実行依頼の通信方式をポ
ーリング方式で行うか、あるいはインタラプト方式で行
うかをユーザプログラム実行時に所定の評価項目にファ
ジイ推論によって推論してサイクルタイムの小さくなる
通信方式を決定するようにしたため、ユーザプログラム
に応じてユーザニーズにあった、サイクルタイムの小さ
くなる実行依頼の通信方式を動的に選択できる。
According to the fourth aspect of the present invention, whether the communication method of the execution request between the normal instruction dedicated CPU and the general-purpose CPU is the polling method or the interrupt method is a predetermined evaluation item when the user program is executed. Since the communication method with the shorter cycle time is determined by the fuzzy inference, it is possible to dynamically select the communication method for the execution request with the shorter cycle time that meets the user needs according to the user program.

【0099】また、請求項5記載の発明によれば、通常
命令専用CPUと汎用CPU間の実行依頼の通信方式を
ポーリング方式で行うか、あるいはインタラプト方式で
行うかを遺伝子で表わし、ユーザプログラム実行前ある
いは実行時にこの遺伝子を用いてプログラム実行および
周辺処理のシミュレーションを行い、遺伝的アルゴリズ
ムによってサイクルタイムの最も小さくなる各CPU間
の実行依頼の通信方式を試行錯誤的に決定するようにし
たため、通常命令専用CPUや汎用CPUが複数台ある
場合でも、最適な各CPU間の実行依頼の通信方式を選
択できる。
According to the fifth aspect of the present invention, whether the communication method of the execution request between the normal instruction dedicated CPU and the general-purpose CPU is the polling method or the interrupt method is expressed by a gene, and the user program is executed. Before or during execution, this gene was used to simulate program execution and peripheral processing, and the communication method of execution requests between CPUs with the smallest cycle time was determined by trial and error using a genetic algorithm. Even when there are a plurality of instruction-dedicated CPUs and general-purpose CPUs, the optimum communication system for execution requests between the CPUs can be selected.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明に係るPLCの構成を示すブロック図。FIG. 1 is a block diagram showing a configuration of a PLC according to the present invention.

【図2】第1実施例のポーリング方式による汎用CPU
2側の処理を示すフローチャート。
FIG. 2 is a general-purpose CPU according to a polling method of the first embodiment.
The flowchart which shows the process of the 2nd side.

【図3】第2実施例のインタラプト方式による汎用CP
U2側の実行処理を示すフローチャート。
FIG. 3 is a general-purpose CP according to the interrupt method of the second embodiment.
The flowchart which shows the execution process on the U2 side.

【図4】第3実施例に係るPLCの構成を示すブロック
図。
FIG. 4 is a block diagram showing a configuration of a PLC according to a third embodiment.

【図5】(a)〜(c)、各々、ファジイ推論の際の各
ルール1〜3のメンバーシップ関数を示す説明図。
5A to 5C are explanatory diagrams showing membership functions of rules 1 to 3 in fuzzy inference, respectively.

【図6】第3実施例における動作を示すフローチャー
ト。
FIG. 6 is a flowchart showing the operation of the third embodiment.

【図7】第4実施例に係るPLCの構成を示すブロック
図。
FIG. 7 is a block diagram showing a configuration of a PLC according to a fourth embodiment.

【図8】(a),(b)、各々、各CPU間の実行依頼
の通信方式に遺伝的アルゴリズムを適用するためのモデ
ルと、このモデルにおける遺伝子を示す説明図。
8A and 8B are explanatory diagrams showing a model for applying a genetic algorithm to a communication system for execution requests between CPUs and genes in the model.

【図9】第4実施例の遺伝的アルゴリズムによるCPU
間の実行依頼の通信方式の決定方法を示すフローチャー
ト。
FIG. 9 is a CPU according to the genetic algorithm of the fourth embodiment.
9 is a flowchart showing a method of determining a communication method of execution requests between the two.

【図10】従来のデータ処理における並列処理を示す説
明図。
FIG. 10 is an explanatory diagram showing parallel processing in conventional data processing.

【符号の説明】 1 通常命令専用CPU 2 汎用CPU 3 周辺処理専用CPU 4 周辺処理専用CPU 21 特別命令実行部 22 周辺処理部 23 ファジイ推論部 1a 通常命令専用CPU 1b 通常命令専用CPU 2a 汎用CPU 2b 汎用CPU 10 シミュレーション装置 G 遺伝子[Explanation of Codes] 1 CPU for exclusive use of normal instructions 2 General-purpose CPU 3 CPU for exclusive use of peripheral processing 4 CPU for exclusive use of peripheral processing 21 Special instruction execution unit 22 Peripheral processing unit 23 Fuzzy inference unit 1a CPU for exclusive use of ordinary instructions 1b CPU for exclusive use of ordinary instructions 2a General purpose CPU 2b General-purpose CPU 10 Simulation device G gene

Claims (5)

【特許請求の範囲】[Claims] 【請求項1】 通常命令および特別命令からなるプログ
ラムを複数のCPUにより実行すると共に、周辺処理を
実行するデータ処理装置において、 上記プログラム中から各命令を順次読出し、通常命令を
読出した場合には当該通常命令を実行する一方、特別命
令を読出した場合には当該特別命令の実行依頼を出力す
る通常命令専用CPUと、 上記周辺処理を実行すると共に、上記通常命令専用CP
Uから特別命令の実行依頼が出力された場合には当該特
別命令を実行する汎用CPUと、 を具備することを特徴とするデータ処理装置。
1. In a data processing device for executing a program including a normal instruction and a special instruction by a plurality of CPUs and executing peripheral processing, when each instruction is sequentially read out from the program and the normal instruction is read out, While executing the normal instruction, when the special instruction is read out, the normal instruction dedicated CPU that outputs an execution request of the special instruction, and the peripheral processing, and the normal instruction dedicated CP
A data processing apparatus comprising: a general-purpose CPU that executes a special command when a special command execution request is output from U;
【請求項2】 通常命令専用CPUは、 プログラム中から各命令を順次読出し、特別命令を読出
した場合にはフラグのセットにより当該特別命令の実行
依頼を出力し、 汎用CPUは、 上記通常命令専用CPUによるプログラムの実行中は上
記フラグをチェックし上記フラグがセットされていれば
特別命令を実行して、上記プログラムの1スキャン終了
後に周辺処理を実行する、 ことを特徴とする請求項1記載のデータ処理装置。
2. The normal instruction dedicated CPU sequentially reads each instruction from the program, and outputs a special instruction execution request by setting a flag when the special instruction is read, and the general-purpose CPU exclusively uses the normal instruction. 2. The program is executed by the CPU, the flag is checked, and if the flag is set, a special instruction is executed, and peripheral processing is executed after one scan of the program is completed. Data processing device.
【請求項3】 通常命令専用CPUは、 プログラム中から各命令を順次読出し、特別命令を読出
した場合には割込み信号の出力により当該特別命令の実
行依頼を出力し、 汎用CPUは、 通常は周辺処理を実行し、上記通常命令専用CPUから
割込信号の出力により特別命令の実行依頼が出力された
場合にはその割込信号を受けて当該特別命令を実行す
る、 ことを特徴とする請求項1記載のデータ処理装置。
3. The normal instruction dedicated CPU sequentially reads each instruction from the program, and when the special instruction is read, outputs an execution request of the special instruction by outputting an interrupt signal. The CPU executes the processing, and when the special instruction execution request is output from the normal instruction dedicated CPU by the output of the interrupt signal, the special instruction is received and the special instruction is executed. 1. The data processing device according to 1.
【請求項4】 通常命令および特別命令からなるプログ
ラムを通常命令専用CPUおよび汎用CPUにより実行
すると共に、周辺処理を汎用CPUおよび周辺処理専用
CPUにより実行するデータ処理装置において、 上記汎用CPUあるいは周辺処理専用CPUに、上記プ
ログラム中から特別命令が読出された場合にはフラグの
セットにより当該特別命令の実行依頼を出力するか、あ
るいは割込み信号の出力により当該特別命令の実行依頼
を出力するかを所定の評価項目に基づき推論して決定す
る推論手段を設け、 上記通常命令専用CPUは、 上記プログラム中から各命令を順次読出し、通常命令を
読出した場合には当該通常命令を実行する一方、特別命
令を読出した場合には上記推論手段の決定に基づきフラ
グのセットか、あるいは割込み信号の出力により当該特
別命令の実行依頼を出力し、 上記汎用CPUは、 上記通常命令専用CPUからの実行依頼の出力方式に応
じ、上記通常命令専用CPUによるプログラムの実行中
は上記フラグをチェックし上記フラグがセットされてい
れば特別命令を実行して上記プログラムの1スキャン終
了後に周辺処理を実行するか、あるいは通常は周辺処理
を実行して上記通常命令専用CPUから割込信号の出力
により特別命令の実行依頼が出力された場合にはその割
込信号を受けて当該特別命令を実行する、 ことを特徴とするデータ処理装置。
4. A data processing device for executing a program comprising normal instructions and special instructions by a normal instruction dedicated CPU and a general-purpose CPU, and executing peripheral processing by the general-purpose CPU and peripheral-processing dedicated CPU. When a special instruction is read from the program to the dedicated CPU, it is determined whether the execution request of the special instruction is output by setting a flag or the execution request of the special instruction is output by outputting an interrupt signal. An inference means for inferring and determining based on the evaluation item is provided, and the CPU for exclusive use of normal instructions sequentially reads each instruction from the program, and when the normal instruction is read, the normal instruction is executed, while the special instruction is executed. Read, the flag is set or an interrupt is made based on the decision of the above inference means. An execution request for the special instruction is output by outputting a signal, and the general-purpose CPU checks the flag while the program is being executed by the normal instruction-dedicated CPU according to the output method of the execution request from the normal instruction-dedicated CPU. If the above flag is set, a special instruction is executed and peripheral processing is executed after one scan of the program is completed, or normally peripheral processing is executed and special CPU is generated by outputting an interrupt signal from the normal instruction dedicated CPU. A data processing device, which receives an interrupt signal when an instruction execution request is output and executes the special instruction.
【請求項5】 通常命令および特別命令からなるプログ
ラムを複数のCPUにより実行すると共に、周辺処理を
実行するデータ処理装置において、 上記プログラム中から特別命令が読出された場合にはフ
ラグのセットにより当該特別命令の実行依頼を出力する
か、あるいは割込み信号の出力により当該特別命令の実
行依頼を出力するかをパラメータとして遺伝子を複数作
成し、各遺伝子のパラメータに基づき上記プログラムお
よび周辺処理をシミュレーションすると共に、各遺伝子
の複製、交差、突然変異を繰返して、評価の高い遺伝子
を決定するシミュレーション手段と、 上記プログラム中から各命令を順次読出し、通常命令を
読出した場合には当該通常命令を実行する一方、特別命
令を読出した場合には上記シミュレーション手段によっ
て決定された評価の高い遺伝子のパラメータに基づきフ
ラグのセットか、あるいは割込み信号の出力により当該
特別命令の実行依頼を出力する通常命令専用CPUと、 上記通常命令専用CPUからの実行依頼の出力方式に応
じ、上記通常命令専用CPUによるプログラムの実行中
は上記フラグをチェックし上記フラグがセットされてい
れば特別命令を実行して上記プログラムの1スキャン終
了後に周辺処理を実行するか、あるいは通常は周辺処理
を実行して上記通常命令専用CPUから割込信号の出力
により特別命令の実行依頼が出力された場合にはその割
込信号を受けて当該特別命令を実行する汎用CPUと、 を具備することを特徴とするデータ処理装置。
5. A data processing device for executing a program comprising a normal instruction and a special instruction by a plurality of CPUs and executing peripheral processing, when the special instruction is read from the program, the flag is set. A plurality of genes are created using as a parameter whether to output the execution request of the special instruction or to output the execution request of the special instruction by outputting the interrupt signal, and the above program and peripheral processing are simulated based on the parameters of each gene. , A simulation means for determining a highly evaluated gene by repeating duplication, crossover, and mutation of each gene, and sequentially reading each instruction from the program, and when the normal instruction is read, the normal instruction is executed. , When the special command is read, the simulation means A normal instruction dedicated CPU that outputs an execution request of the special instruction by setting a flag or outputting an interrupt signal based on the determined highly evaluated gene parameter, and an execution request output method from the normal instruction dedicated CPU Accordingly, during execution of the program by the normal instruction dedicated CPU, the flag is checked, and if the flag is set, a special instruction is executed and peripheral processing is executed after one scan of the program, or normally, A general-purpose CPU that executes processing and receives the interrupt signal to execute the special instruction when a special instruction execution request is output by outputting the interrupt signal from the normal instruction dedicated CPU. A data processing device characterized by:
JP24511894A 1994-10-11 1994-10-11 Data processor Withdrawn JPH08110804A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP24511894A JPH08110804A (en) 1994-10-11 1994-10-11 Data processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP24511894A JPH08110804A (en) 1994-10-11 1994-10-11 Data processor

Publications (1)

Publication Number Publication Date
JPH08110804A true JPH08110804A (en) 1996-04-30

Family

ID=17128894

Family Applications (1)

Application Number Title Priority Date Filing Date
JP24511894A Withdrawn JPH08110804A (en) 1994-10-11 1994-10-11 Data processor

Country Status (1)

Country Link
JP (1) JPH08110804A (en)

Cited By (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6143914A (en) * 1999-04-29 2000-11-07 General Electric Company Method and catalyst system for producing aromatic carbonates
US6310232B1 (en) 2000-11-10 2001-10-30 General Electric Company Method for recycle of bromide-containing catalyst constituents
US6323358B1 (en) 2000-02-22 2001-11-27 General Electric Company Catalyst composition for producing aromatic carbonates
JP2008234394A (en) * 2007-03-22 2008-10-02 Koyo Electronics Ind Co Ltd Speed-up method for programmable controller
JP2011503727A (en) * 2007-11-08 2011-01-27 ジェネティック ファイナンス (バルバドス) リミテッド A decentralized network running complex algorithms
US8571782B2 (en) 2003-01-31 2013-10-29 Robert Bosch Gmbh Computer system for use in vehicles
US8768811B2 (en) 2009-04-28 2014-07-01 Genetic Finance (Barbados) Limited Class-based distributed evolutionary algorithm for asset management and trading
US8825560B2 (en) 2007-11-08 2014-09-02 Genetic Finance (Barbados) Limited Distributed evolutionary algorithm for asset management and trading
JP2014531081A (en) * 2012-06-28 2014-11-20 ▲ホア▼▲ウェイ▼技術有限公司 Method, apparatus and system for scheduling processor cores in a multiprocessor core system
US8909570B1 (en) 2008-11-07 2014-12-09 Genetic Finance (Barbados) Limited Data mining technique with experience-layered gene pool
US8977581B1 (en) 2011-07-15 2015-03-10 Sentient Technologies (Barbados) Limited Data mining technique with diversity promotion
US9304895B1 (en) 2011-07-15 2016-04-05 Sentient Technologies (Barbados) Limited Evolutionary technique with n-pool evolution
US9367816B1 (en) 2011-07-15 2016-06-14 Sentient Technologies (Barbados) Limited Data mining technique with induced environmental alteration
US9466023B1 (en) 2007-11-08 2016-10-11 Sentient Technologies (Barbados) Limited Data mining technique with federated evolutionary coordination
US9710764B1 (en) 2011-07-15 2017-07-18 Sentient Technologies (Barbados) Limited Data mining technique with position labeling
US10025700B1 (en) 2012-07-18 2018-07-17 Sentient Technologies (Barbados) Limited Data mining technique with n-Pool evolution
US10268953B1 (en) 2014-01-28 2019-04-23 Cognizant Technology Solutions U.S. Corporation Data mining technique with maintenance of ancestry counts
US10430429B2 (en) 2015-09-01 2019-10-01 Cognizant Technology Solutions U.S. Corporation Data mining management server
US10744372B2 (en) 2017-03-03 2020-08-18 Cognizant Technology Solutions U.S. Corporation Behavior dominated search in evolutionary search systems
US10956823B2 (en) 2016-04-08 2021-03-23 Cognizant Technology Solutions U.S. Corporation Distributed rule-based probabilistic time-series classifier
US11003994B2 (en) 2017-12-13 2021-05-11 Cognizant Technology Solutions U.S. Corporation Evolutionary architectures for evolution of deep neural networks
US11182677B2 (en) 2017-12-13 2021-11-23 Cognizant Technology Solutions U.S. Corporation Evolving recurrent networks using genetic programming
US11250314B2 (en) 2017-10-27 2022-02-15 Cognizant Technology Solutions U.S. Corporation Beyond shared hierarchies: deep multitask learning through soft layer ordering
US11250327B2 (en) 2016-10-26 2022-02-15 Cognizant Technology Solutions U.S. Corporation Evolution of deep neural network structures
US11281977B2 (en) 2017-07-31 2022-03-22 Cognizant Technology Solutions U.S. Corporation Training and control system for evolving solutions to data-intensive problems using epigenetic enabled individuals
US11288579B2 (en) 2014-01-28 2022-03-29 Cognizant Technology Solutions U.S. Corporation Training and control system for evolving solutions to data-intensive problems using nested experience-layered individual pool
US11403532B2 (en) 2017-03-02 2022-08-02 Cognizant Technology Solutions U.S. Corporation Method and system for finding a solution to a provided problem by selecting a winner in evolutionary optimization of a genetic algorithm
US11481639B2 (en) 2019-02-26 2022-10-25 Cognizant Technology Solutions U.S. Corporation Enhanced optimization with composite objectives and novelty pulsation
US11507844B2 (en) 2017-03-07 2022-11-22 Cognizant Technology Solutions U.S. Corporation Asynchronous evaluation strategy for evolution of deep neural networks
US11527308B2 (en) 2018-02-06 2022-12-13 Cognizant Technology Solutions U.S. Corporation Enhanced optimization with composite objectives and novelty-diversity selection
US11574202B1 (en) 2016-05-04 2023-02-07 Cognizant Technology Solutions U.S. Corporation Data mining technique with distributed novelty search
US11574201B2 (en) 2018-02-06 2023-02-07 Cognizant Technology Solutions U.S. Corporation Enhancing evolutionary optimization in uncertain environments by allocating evaluations via multi-armed bandit algorithms
US11663492B2 (en) 2015-06-25 2023-05-30 Cognizant Technology Solutions Alife machine learning system and method
US11669716B2 (en) 2019-03-13 2023-06-06 Cognizant Technology Solutions U.S. Corp. System and method for implementing modular universal reparameterization for deep multi-task learning across diverse domains
US11755979B2 (en) 2018-08-17 2023-09-12 Evolv Technology Solutions, Inc. Method and system for finding a solution to a provided problem using family tree based priors in Bayesian calculations in evolution based optimization
US11775841B2 (en) 2020-06-15 2023-10-03 Cognizant Technology Solutions U.S. Corporation Process and system including explainable prescriptions through surrogate-assisted evolution
US11783195B2 (en) 2019-03-27 2023-10-10 Cognizant Technology Solutions U.S. Corporation Process and system including an optimization engine with evolutionary surrogate-assisted prescriptions
US12026624B2 (en) 2019-05-23 2024-07-02 Cognizant Technology Solutions U.S. Corporation System and method for loss function metalearning for faster, more accurate training, and smaller datasets
US12033079B2 (en) 2018-02-08 2024-07-09 Cognizant Technology Solutions U.S. Corporation System and method for pseudo-task augmentation in deep multitask learning
US12099934B2 (en) 2021-03-23 2024-09-24 Cognizant Technology Solutions U.S. Corporation Framework for interactive exploration, evaluation, and improvement of AI-generated solutions

Cited By (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6380417B1 (en) * 1999-04-29 2002-04-30 General Electric Company Catalysts system for producing aromatic carbonates
US6143914A (en) * 1999-04-29 2000-11-07 General Electric Company Method and catalyst system for producing aromatic carbonates
US6323358B1 (en) 2000-02-22 2001-11-27 General Electric Company Catalyst composition for producing aromatic carbonates
US6310232B1 (en) 2000-11-10 2001-10-30 General Electric Company Method for recycle of bromide-containing catalyst constituents
US8571782B2 (en) 2003-01-31 2013-10-29 Robert Bosch Gmbh Computer system for use in vehicles
JP2008234394A (en) * 2007-03-22 2008-10-02 Koyo Electronics Ind Co Ltd Speed-up method for programmable controller
US8918349B2 (en) 2007-11-08 2014-12-23 Genetic Finance (Barbados) Limited Distributed network for performing complex algorithms
JP2011503727A (en) * 2007-11-08 2011-01-27 ジェネティック ファイナンス (バルバドス) リミテッド A decentralized network running complex algorithms
US8825560B2 (en) 2007-11-08 2014-09-02 Genetic Finance (Barbados) Limited Distributed evolutionary algorithm for asset management and trading
US9466023B1 (en) 2007-11-08 2016-10-11 Sentient Technologies (Barbados) Limited Data mining technique with federated evolutionary coordination
US9684875B1 (en) 2008-11-07 2017-06-20 Sentient Technologies (Barbados) Limited Data mining technique with experience-layered gene pool
US9734215B2 (en) 2008-11-07 2017-08-15 Sentient Technologies (Barbados) Limited Data mining technique with experience-layered gene pool
US8909570B1 (en) 2008-11-07 2014-12-09 Genetic Finance (Barbados) Limited Data mining technique with experience-layered gene pool
US8768811B2 (en) 2009-04-28 2014-07-01 Genetic Finance (Barbados) Limited Class-based distributed evolutionary algorithm for asset management and trading
US8977581B1 (en) 2011-07-15 2015-03-10 Sentient Technologies (Barbados) Limited Data mining technique with diversity promotion
US9304895B1 (en) 2011-07-15 2016-04-05 Sentient Technologies (Barbados) Limited Evolutionary technique with n-pool evolution
US9367816B1 (en) 2011-07-15 2016-06-14 Sentient Technologies (Barbados) Limited Data mining technique with induced environmental alteration
US9710764B1 (en) 2011-07-15 2017-07-18 Sentient Technologies (Barbados) Limited Data mining technique with position labeling
JP2014531081A (en) * 2012-06-28 2014-11-20 ▲ホア▼▲ウェイ▼技術有限公司 Method, apparatus and system for scheduling processor cores in a multiprocessor core system
US10025700B1 (en) 2012-07-18 2018-07-17 Sentient Technologies (Barbados) Limited Data mining technique with n-Pool evolution
US11288579B2 (en) 2014-01-28 2022-03-29 Cognizant Technology Solutions U.S. Corporation Training and control system for evolving solutions to data-intensive problems using nested experience-layered individual pool
US10268953B1 (en) 2014-01-28 2019-04-23 Cognizant Technology Solutions U.S. Corporation Data mining technique with maintenance of ancestry counts
US11663492B2 (en) 2015-06-25 2023-05-30 Cognizant Technology Solutions Alife machine learning system and method
US11151147B1 (en) 2015-09-01 2021-10-19 Cognizant Technology Solutions U.S. Corporation Data mining management server
US10430429B2 (en) 2015-09-01 2019-10-01 Cognizant Technology Solutions U.S. Corporation Data mining management server
US10956823B2 (en) 2016-04-08 2021-03-23 Cognizant Technology Solutions U.S. Corporation Distributed rule-based probabilistic time-series classifier
US11281978B2 (en) 2016-04-08 2022-03-22 Cognizant Technology Solutions U.S. Corporation Distributed rule-based probabilistic time-series classifier
US11574202B1 (en) 2016-05-04 2023-02-07 Cognizant Technology Solutions U.S. Corporation Data mining technique with distributed novelty search
US11250327B2 (en) 2016-10-26 2022-02-15 Cognizant Technology Solutions U.S. Corporation Evolution of deep neural network structures
US11403532B2 (en) 2017-03-02 2022-08-02 Cognizant Technology Solutions U.S. Corporation Method and system for finding a solution to a provided problem by selecting a winner in evolutionary optimization of a genetic algorithm
US10744372B2 (en) 2017-03-03 2020-08-18 Cognizant Technology Solutions U.S. Corporation Behavior dominated search in evolutionary search systems
US11247100B2 (en) 2017-03-03 2022-02-15 Cognizant Technology Solutions U.S. Corporation Behavior dominated search in evolutionary search systems
US11507844B2 (en) 2017-03-07 2022-11-22 Cognizant Technology Solutions U.S. Corporation Asynchronous evaluation strategy for evolution of deep neural networks
US11281977B2 (en) 2017-07-31 2022-03-22 Cognizant Technology Solutions U.S. Corporation Training and control system for evolving solutions to data-intensive problems using epigenetic enabled individuals
US11250314B2 (en) 2017-10-27 2022-02-15 Cognizant Technology Solutions U.S. Corporation Beyond shared hierarchies: deep multitask learning through soft layer ordering
US11030529B2 (en) 2017-12-13 2021-06-08 Cognizant Technology Solutions U.S. Corporation Evolution of architectures for multitask neural networks
US11182677B2 (en) 2017-12-13 2021-11-23 Cognizant Technology Solutions U.S. Corporation Evolving recurrent networks using genetic programming
US11003994B2 (en) 2017-12-13 2021-05-11 Cognizant Technology Solutions U.S. Corporation Evolutionary architectures for evolution of deep neural networks
US11995559B2 (en) 2018-02-06 2024-05-28 Cognizant Technology Solutions U.S. Corporation Enhancing evolutionary optimization in uncertain environments by allocating evaluations via multi-armed bandit algorithms
US11574201B2 (en) 2018-02-06 2023-02-07 Cognizant Technology Solutions U.S. Corporation Enhancing evolutionary optimization in uncertain environments by allocating evaluations via multi-armed bandit algorithms
US11527308B2 (en) 2018-02-06 2022-12-13 Cognizant Technology Solutions U.S. Corporation Enhanced optimization with composite objectives and novelty-diversity selection
US12033079B2 (en) 2018-02-08 2024-07-09 Cognizant Technology Solutions U.S. Corporation System and method for pseudo-task augmentation in deep multitask learning
US11755979B2 (en) 2018-08-17 2023-09-12 Evolv Technology Solutions, Inc. Method and system for finding a solution to a provided problem using family tree based priors in Bayesian calculations in evolution based optimization
US11481639B2 (en) 2019-02-26 2022-10-25 Cognizant Technology Solutions U.S. Corporation Enhanced optimization with composite objectives and novelty pulsation
US11669716B2 (en) 2019-03-13 2023-06-06 Cognizant Technology Solutions U.S. Corp. System and method for implementing modular universal reparameterization for deep multi-task learning across diverse domains
US11783195B2 (en) 2019-03-27 2023-10-10 Cognizant Technology Solutions U.S. Corporation Process and system including an optimization engine with evolutionary surrogate-assisted prescriptions
US12026624B2 (en) 2019-05-23 2024-07-02 Cognizant Technology Solutions U.S. Corporation System and method for loss function metalearning for faster, more accurate training, and smaller datasets
US11775841B2 (en) 2020-06-15 2023-10-03 Cognizant Technology Solutions U.S. Corporation Process and system including explainable prescriptions through surrogate-assisted evolution
US12099934B2 (en) 2021-03-23 2024-09-24 Cognizant Technology Solutions U.S. Corporation Framework for interactive exploration, evaluation, and improvement of AI-generated solutions

Similar Documents

Publication Publication Date Title
JPH08110804A (en) Data processor
JPH04219804A (en) Sequential circuit and forming method thereof, controller and finite-state machine
JP2883784B2 (en) Microcomputer
JPH03134709A (en) Method of deciding expression as relay ladder type diagram of command list program
US5604842A (en) Fuzzy reasoning processor and method, and rule setting apparatus and method
JP2525492B2 (en) Programmable controller
JPH08249018A (en) Multiprocessor arithmetic unit and programmable controller having the arithmetic unit
JPS6376028A (en) Method for controlling execution of instruction step in virtual computer system
CN110361986B (en) Simulation file generation method and device and simulation system
JPH0518138B2 (en)
JPH0520104A (en) Inter-virtual cluster communication processor
JPH0452987B2 (en)
JPH0337201B2 (en)
CN117591244A (en) Model construction method and device based on machine learning platform and electronic equipment
JPH05100891A (en) Program debugging device
JP2632964B2 (en) Test processing method of coaching device
JPS63170703A (en) Loader command processing device
JPH05265845A (en) Swapping control system
JPH06250985A (en) Information processor
JPH1139159A (en) Computer system
JPS6011936A (en) Electronic computer
JPH03218565A (en) Subscript dependency detecting system
JPH0792690B2 (en) Programmable controller
JPH0383136A (en) Electronic computer
JPH0944209A (en) Programmable controller

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20020115