JP3441262B2 - Data processing device - Google Patents

Data processing device

Info

Publication number
JP3441262B2
JP3441262B2 JP24204995A JP24204995A JP3441262B2 JP 3441262 B2 JP3441262 B2 JP 3441262B2 JP 24204995 A JP24204995 A JP 24204995A JP 24204995 A JP24204995 A JP 24204995A JP 3441262 B2 JP3441262 B2 JP 3441262B2
Authority
JP
Japan
Prior art keywords
instruction
label
address
read
storage means
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.)
Expired - Lifetime
Application number
JP24204995A
Other languages
Japanese (ja)
Other versions
JPH0991137A (en
Inventor
勝 竹内
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
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 filed Critical Omron Corp
Priority to JP24204995A priority Critical patent/JP3441262B2/en
Publication of JPH0991137A publication Critical patent/JPH0991137A/en
Application granted granted Critical
Publication of JP3441262B2 publication Critical patent/JP3441262B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)
  • Programmable Controllers (AREA)

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、可変語長命令から
なるプログラムを実行してデータ処理を行うデータ処理
装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a data processing device for executing data processing by executing a program consisting of variable word length instructions.

【0002】[0002]

【従来の技術】従来、可変語長方式の命令(以下、「可
変語長命令」という。)を扱うデータ処理装置では、可
変語長命令を構成する一定長のオペコード部と、命令に
よって語数の異なるアドレス部とをプログラムメモリ内
の連続したアドレスに格納しており、プロセッサがアド
レスに従って可変語長命令を構成するオペコード部とア
ドレス部とを順に読込んで、演算実行するようにしてい
る。
2. Description of the Related Art Conventionally, in a data processing device that handles a variable word length instruction (hereinafter, referred to as a "variable word length instruction"), an operation code part of a constant length constituting a variable word length instruction and a number of words Different address parts are stored at consecutive addresses in the program memory, and the processor sequentially reads the operation code part and the address part forming the variable word length instruction according to the address and executes the operation.

【0003】ところで、このような可変語長命令を実行
するデータ処理装置では、何らかの要因で実行条件が成
立せず演算をスキップさせる場合、プロセッサは次に実
行する命令の先頭を読込むまで命令を実行できず、事実
上その演算実行を停止していた。
By the way, in such a data processing device that executes a variable word length instruction, if the execution condition is not satisfied for some reason and the operation is skipped, the processor executes the instruction until the beginning of the next instruction to be read. It couldn't be executed and effectively stopped executing the operation.

【0004】このため、このような可変語長命令を扱う
データ処理装置では、命令演算をスキップさせる場合、
次に実行する命令の先頭をいかに高速に読み出すかが課
題であり、従来は、例えば、以下(1)〜(3)に示す
ような方法で命令演算をスキップして、次に実行する命
令を高速に読出すようにしていた。
Therefore, in a data processing device that handles such variable word length instructions, when skipping instruction operations,
The challenge is how to read the beginning of the next instruction to be executed at high speed. Conventionally, for example, the instruction operation is skipped by the method shown in (1) to (3) below and the next instruction to be executed is I was trying to read at high speed.

【0005】(1)図7に示すように、プログラムメモ
リPMに格納される各命令の先頭語に、命令先頭である
か否かを示す認識ビットD1を付けて、各命令の命令先
頭を容易に認識して、次の命令先頭までのスキップする
方法。
(1) As shown in FIG. 7, the head word of each instruction stored in the program memory PM is provided with a recognition bit D1 indicating whether or not it is the head of the instruction. How to recognize and skip to the beginning of the next instruction.

【0006】(2)図8に示すように、プログラムメモ
リPMに格納される各命令の命令毎に命令語長を示すテ
ーブルTを別エリアに設けておき、ある命令をスキップ
させる場合には、その命令の語長をテーブルから読み出
し、プログラムカウンタに加算等することで、次の命令
先頭までのスキップする方法。
(2) As shown in FIG. 8, when a table T indicating the instruction word length for each instruction stored in the program memory PM is provided in another area and a certain instruction is skipped, A method to skip to the beginning of the next instruction by reading the word length of that instruction from the table and adding it to the program counter.

【0007】(3)図9に示すように、プログラムメモ
リPMに格納される各命令の先頭語(通常は、オペコー
ド部)にその命令の語長データD2を組み込んでおき、
語長データD2に基づいてその語長分だけスキップする
ことで次の命令を読み出す方法。
(3) As shown in FIG. 9, the word length data D2 of the instruction is stored in the head word (usually the operation code part) of each instruction stored in the program memory PM,
A method for reading the next instruction by skipping the word length based on the word length data D2.

【0008】[0008]

【発明が解決しようとする課題】しかし、従来の上記
(1)の方法では、次に実行すべき命令の先頭語までス
キップする場合、スキップする途中の命令のオペコード
部や、アドレス部を全て読み出さなければならなかった
ので、その途中の命令の読出しに時間がかかり、効率が
悪いという問題があった。
However, in the conventional method (1), when skipping up to the first word of the instruction to be executed next, the operation code part and address part of the instruction being skipped are all read. Since it had to be done, it took a long time to read an instruction on the way, and there was a problem that the efficiency was low.

【0009】また、従来の上記(2)の方法では、命令
語の語長を示すテーブルのデータを読み出すことで次の
命令先頭までのスキップ数を算出しているため、プロセ
ッサがスキップすべき各命令に対応したテーブルアドレ
スを算出してテーブルデータを読出す必要があり、その
算出に時間を要する、という問題があった。
Further, in the conventional method (2), the number of skips to the beginning of the next instruction is calculated by reading the data in the table indicating the word length of the instruction word. There is a problem in that it is necessary to calculate the table address corresponding to the instruction and read the table data, which requires time.

【0010】また、従来の上記(3)の方法では、オペ
コード部の先頭にその命令語の語数を組み込んでいるの
で、オペコード部として1語中の情報ビットが減少する
ことや、従来から使用されてきた命令語にこのような情
報ビットは新たに追加することはできない、という問題
点があった。
Further, in the conventional method (3), since the number of words of the instruction word is incorporated at the head of the operation code portion, the number of information bits in one word is reduced as the operation code portion, and it has been used conventionally. There has been a problem that such an information bit cannot be newly added to the received instruction word.

【0011】このように、従来の上記(1)〜(3)の
方法では、各命令先頭のオペコード部を読み出すことな
しに、各命令のスキップ数を判別することはできず、さ
らに上記(1)〜(3)の従来方法では、各命令先頭の
オペコード部を読み出すことなしに、その命令を実行す
るのか、あるいはスキップするのかが判別できなかった
ため、スキップすべき命令が多数連続している場合、そ
のスキップすべき各命令の命令先頭を全て読み出す必要
があり、スキップすべき各命令の命令先頭の読出しに時
間がかかる、という問題があった。
As described above, in the conventional methods (1) to (3), it is impossible to determine the skip number of each instruction without reading the operation code part at the head of each instruction. In the conventional methods of) to (3), it is not possible to determine whether to execute or skip the instruction without reading the opcode part at the beginning of each instruction. However, there is a problem that it is necessary to read all the command heads of the respective commands to be skipped, and it takes time to read the command heads of the respective commands to be skipped.

【0012】そこで、本発明は、このような問題に着目
してなされたもので、可変語長命令からなるプログラム
においてスキップすべき命令が多数連続している場合で
も、高速にスキップして命令実行が可能なデータ処理装
置を提供することを目的とする。
Therefore, the present invention has been made by paying attention to such a problem. Even when a large number of instructions to be skipped in a program consisting of variable word length instructions, they are skipped at high speed to execute instructions. It is an object of the present invention to provide a data processing device capable of

【0013】[0013]

【課題を解決するための手段】上記目的を達成するた
め、請求項1記載の発明では、オペコード部と、命令に
よって語数の異なるアドレス部とで構成された可変語長
命令からなるプログラムを実行してデータ処理を行うデ
ータ処理装置において、可変語長命令を構成するオペコ
ード部およびアドレス部を、オペコード部およびアドレ
ス部毎に連続するアドレスに格納して上記プログラムを
記憶したプログラム記憶手段と、上記プログラム記憶手
段に格納された上記可変語長命令のオペコード部および
アドレス部毎に対応して設定されたラベルを同一アドレ
スに複数記憶したラベル記憶手段と、上記ラベル記憶手
段の同一アドレスに複数記憶されたラベルを1回のアク
セスで同時に読出し、その複数のラベルを参照し上記プ
ログラム記憶手段から可変語長命令を読出して実行する
命令実行手段と、を具備することを特徴とする。
In order to achieve the above object, the invention according to claim 1 executes a program consisting of a variable word length instruction composed of an operation code part and an address part having a different number of words depending on an instruction. In a data processing device for performing data processing by means of a program, a program storage means for storing the program by storing an opcode part and an address part forming a variable word length instruction at consecutive addresses for each opcode part and the address part; The label storage means stores a plurality of labels set corresponding to the opcode part and the address part of the variable word length instruction stored in the storage means at the same address, and a plurality of labels are stored at the same address in the label storage means. Labels are read out at the same time by one access, and a plurality of labels are referred to to read the program storage means. Characterized by comprising an instruction execution unit for executing variable word length instruction reads, the.

【0014】請求項2記載の発明では、請求項1記載の
データ処理装置において、ラベル記憶手段は、可変語長
命令を構成するオペコード部およびアドレス部が命令先
頭であるか否かを示す命令先頭情報と、可変語長命令を
構成するオペコード部およびアドレス部が演算実行する
ものであるか否かを示す実行条件と、からなるラベルを
記憶する、ことを特徴とする。
According to a second aspect of the present invention, in the data processing apparatus according to the first aspect, the label storage means has an instruction head indicating whether or not the operation code portion and the address portion forming the variable word length instruction are the instruction head. It is characterized in that a label consisting of information and an execution condition indicating whether or not an operation code part and an address part forming a variable word length instruction are to execute an operation is stored.

【0015】請求項3記載の発明では、請求項2記載の
データ処理装置において、命令実行手段は、複数のラベ
ルを参照し上記プログラム記憶手段から可変語長命令を
読出して実行する際、1回のアクセスで同時に複数読出
したラベルのうち、命令先頭情報に基づき命令先頭を示
しているラベルがあるか否かを判断し、命令先頭を示し
ているラベルがない場合には、ラベル記憶手段から次の
アドレスに複数記憶されたラベルを読出す一方、命令先
頭を示しているラベルがある場合には、続いてそのラベ
ルの実行条件を判断して、その実行条件が演算実行を示
していれば対応するオペコード部またはアドレス部を上
記プログラム記憶手段から読出して実行し、演算実行を
示していなければ対応するオペコード部またはアドレス
部を上記プログラム記憶手段から読出さずにスキップす
る、ことを特徴とする。
According to a third aspect of the present invention, in the data processing apparatus according to the second aspect, the instruction executing means reads the variable word length instruction from the program storing means with reference to a plurality of labels and executes it once. It is judged whether or not there is a label indicating the instruction head based on the instruction head information among the labels read out simultaneously by the access. If there is no label indicating the instruction head, the label storage means stores the next label. If there is a label that indicates the beginning of an instruction while reading multiple labels stored at the address of, the execution condition of that label is subsequently determined, and if the execution condition indicates that the operation is executed The corresponding opcode part or address part is read from the program storage means and executed, and if no operation execution is indicated, the corresponding opcode part or address part is replaced by the program. Skip without issuing read from the storage means, characterized in that.

【0016】請求項4記載の発明では、請求項2記載の
データ処理装置において、命令実行手段は、基本命令が
実行された際にその演算結果が設定されると共に、その
設定が上記基本命令に続く応用命令の実行条件の判断に
使用されるパワーフローレジスタを有し、プログラム記
憶手段は、上記基本命令および応用命令の可変語長命令
からなるプログラムを記憶する一方、ラベル記憶手段
は、命令先頭情報と、可変語長命令を構成するオペコー
ド部およびアドレス部が演算実行するものであるか否か
を上記パワーフローレジスタの設定に基づいて示す実行
条件と、からなるラベルを記憶し、上記命令実行手段
は、上記ラベル記憶手段の同一アドレスに複数記憶され
たラベルを1回のアクセスで同時に読出し、その複数の
ラベルを参照し上記プログラム記憶手段から可変語長命
令を読出して実行するプログラム実行処理をサイクリッ
クに行う、ことを特徴とする。
According to a fourth aspect of the present invention, in the data processing apparatus according to the second aspect, the instruction execution means sets the operation result when the basic instruction is executed, and the setting is set in the basic instruction. It has a power flow register used to judge the execution condition of the subsequent application instruction, and the program storage means stores the program consisting of the basic instruction and the variable word length instruction of the application instruction, while the label storage means is the instruction head. A label consisting of information and an execution condition indicating whether or not an operation code part and an address part forming a variable word length instruction are executed based on the setting of the power flow register is stored, and the instruction execution is performed. The means simultaneously reads a plurality of labels stored at the same address of the label storage means with one access, and refers to the plurality of labels to refer to the label. Performs program execution processing to be executed from gram storage means reads a variable word length instruction cyclically, characterized in that.

【0017】請求項5記載の発明では、請求項4記載の
データ処理装置において、命令実行手段は、複数のラベ
ルを参照し上記プログラム記憶手段から可変語長命令を
読出して実行する際、1回のアクセスで同時に複数読出
したラベルのうち、命令先頭情報に基づき命令先頭を示
しているラベルがあるか否かを判断し、命令先頭を示し
ているラベルがない場合には、ラベル記憶手段から次の
アドレスに複数記憶されたラベルを読出す一方、命令先
頭を示しているラベルがある場合には、続いてそのラベ
ルの実行条件をパワーフローレジスタの設定に基づき判
断して、その実行条件がパワーフローレジスタの設定に
基づき演算実行を示していれば対応するオペコード部ま
たはアドレス部を上記プログラム記憶手段から読出して
実行し、パワーフローレジスタの設定に基づき演算実行
を示していなければ対応するオペコード部またはアドレ
ス部を上記プログラム記憶手段から読出さずにスキップ
する、ことを特徴とする。
According to a fifth aspect of the present invention, in the data processing apparatus according to the fourth aspect, the instruction executing means reads the variable word length instruction from the program storing means with reference to a plurality of labels and executes it once. It is judged whether or not there is a label indicating the instruction head based on the instruction head information among the labels read out simultaneously by the access. If there is no label indicating the instruction head, the label storage means stores the next label. While reading multiple labels stored at the address of the label, if there is a label indicating the beginning of the instruction, then the execution condition of that label is judged based on the setting of the power flow register, and the execution condition is If the operation execution is indicated based on the setting of the flow register, the corresponding opcode part or address part is read from the program storage means and executed, and the power flag is read. Skip corresponding operation code or the address unit unless represents an operation performed based on the setting of the over register without issuing read from said program storage means, characterized in that.

【0018】このため、以上のように構成された請求項
1〜5記載の発明では、プログラム記憶手段は、可変語
長命令を構成するオペコード部およびアドレス部をその
オペコード部およびアドレス部毎に連続するアドレスに
格納してプログラムを記憶し、ラベル記憶手段は、可変
語長命令のオペコード部およびアドレス部毎に対応して
設定されたラベルを同一アドレスに複数記憶しているの
で、命令実行手段は、ラベル記憶手段の同一アドレスに
複数記憶されたラベルを1回のアクセスで同時に読出し
て、その同時に読出した複数のラベルを参照しプログラ
ム記憶手段から可変語長命令を読出して実行する。
Therefore, in the inventions according to claims 1 to 5 configured as described above, the program storage means continuously operates the opcode part and the address part forming the variable word length instruction for each of the opcode part and the address part. The label storage means stores a plurality of labels set corresponding to each of the opcode part and the address part of the variable word length instruction at the same address. , A plurality of labels stored at the same address of the label storage means are read simultaneously by one access, and the variable word length instruction is read from the program storage means and executed by referring to the plurality of labels read at the same time.

【0019】[0019]

【発明の実施の形態】以下、本発明に係るデータ処理装
置の実施形態を図面に基づいて説明する。
BEST MODE FOR CARRYING OUT THE INVENTION Embodiments of a data processing apparatus according to the present invention will be described below with reference to the drawings.

【0020】図1に、本発明に係るデータ処理装置の実
施形態であるプログラマブルコントローラの構成を示
す。
FIG. 1 shows the configuration of a programmable controller which is an embodiment of the data processing device according to the present invention.

【0021】このプログラマブルコントローラは、図に
示すように、プロセッサ11と、システムプログラムが
格納されたシステムメモリ12と、プロセッサ11のワ
ークエリアとして使用されるワークメモリ13と、ユー
ザプログラムメモリ14と、データメモリ15と、入出
力(I/O)インタフェース16と、がアドレスバスや
データバスからなる内部バス17を介し接続して構成さ
れている。
As shown in the figure, this programmable controller includes a processor 11, a system memory 12 in which a system program is stored, a work memory 13 used as a work area of the processor 11, a user program memory 14, and data. A memory 15 and an input / output (I / O) interface 16 are connected to each other via an internal bus 17 composed of an address bus and a data bus.

【0022】プロセッサ11は、システムメモリ12に
格納されたシステムプログラムを実行することにより、
いわゆる入出力処理、プログラム実行処理、周辺サービ
ス処理等をサイクリックに行うもので、プログラム実行
処理の際、命令実行手段として機能して、後述する図6
に示す手順でユーザプログラムメモリ14に格納された
ユーザプログラムを構成するラダー言語等の各可変語長
命令を読出し、またはスキップして演算実行を行うもの
である。
The processor 11 executes the system program stored in the system memory 12 to
What is called input / output processing, program execution processing, peripheral service processing, etc. are cyclically performed, and function as instruction execution means during the program execution processing, which will be described later.
According to the procedure shown in (1), each variable word length instruction such as a ladder language which constitutes the user program stored in the user program memory 14 is read or skipped to execute the operation.

【0023】そして、このプロセッサ11は、図に示す
ように、パワーフローレジスタ11aを内蔵している。
As shown in the figure, the processor 11 has a power flow register 11a built therein.

【0024】パワーフローレジスタ11aは、“LOA
D”や“AND”、“OR”等の基本命令が実行された
際、その演算結果を1ビットで設定するもので、その設
定に基づいてユーザプログラム中でその基本命令に続く
応用命令を演算実行するのか、あるいは演算実行しない
のかを判断するために使用されるもので、プログラム実
行処理等をサイクリックに行うプログラマブルコントロ
ーラ特有のものである。
The power flow register 11a is "LOA
When a basic instruction such as "D", "AND" or "OR" is executed, the operation result is set by 1 bit, and the application instruction following the basic instruction is calculated in the user program based on the setting. It is used for determining whether to execute or does not execute an operation, and is peculiar to a programmable controller that cyclically executes program execution processing and the like.

【0025】ユーザプログラムメモリ14は、プログラ
ム記憶手段として、上記基本命令や応用命令からなるラ
ダー言語等の各種可変語長命令をユーザの設定によりプ
ログラミングしたユーザプログラムを予め記憶したもの
である。
The user program memory 14 is a program storage means for storing in advance a user program in which various variable word length instructions such as the ladder language consisting of the basic instructions and the application instructions are programmed according to user settings.

【0026】データメモリ15は、入出力(I/O)デ
ータを記憶すると共に、ラベル記憶手段としてユーザプ
ログラムメモリ14に格納されたユーザプログラムを構
成する各可変語長命令のオペコード部およびアドレス部
の命令構成要素毎に後述するラベルを記憶したものであ
る。
The data memory 15 stores input / output (I / O) data, and also includes an opcode part and an address part of each variable word length instruction constituting a user program stored in the user program memory 14 as label storage means. Labels, which will be described later, are stored for each instruction component.

【0027】図2は、ユーザプログラムメモリ14にお
けるユーザプログラムを構成する可変語長命令の格納方
法を示している。
FIG. 2 shows a method of storing a variable word length instruction constituting a user program in the user program memory 14.

【0028】ユーザプログラムメモリ14は、ユーザプ
ログラムを構成する各可変語長命令を、その命令を構成
するオペコード部およびアドレス部の命令構成要素毎に
連続したアドレスに格納している。
The user program memory 14 stores each variable word length instruction constituting the user program at consecutive addresses for each instruction constituent element of the operation code portion and address portion constituting the instruction.

【0029】具体的には、ユーザプログラムメモリ14
では、図に示すように、例えば可変語長命令(図では
「命令」という。)1〜4をその命令構成要素毎に連続
したアドレス“×××1〜×××7”に格納しており、
可変語長命令1は、オペコード部の先頭語のみからなる
ので1つのアドレス“×××1”に格納しており、可変
語長命令2は、オペコード部の先頭語と、2つのアドレ
ス部とからなるので連続した3つのアドレス“×××2
〜×××4”に格納し、可変語長命令3は、オペコード
部の先頭語と、1つのアドレス部とからなるので連続し
た2つのアドレス“×××5〜×××6”に格納し、可
変語長命令4は、オペコード部の先頭語のみからなるの
で1つのアドレス“×××7”に格納している。
Specifically, the user program memory 14
Then, as shown in the figure, for example, variable word length instructions (referred to as "instructions" in the figure) 1 to 4 are stored in consecutive addresses "XX1 to XX7" for each instruction constituent element. Cage,
The variable word length instruction 1 is stored only in one address "XXX1" because it consists of only the head word of the opcode part, and the variable word length instruction 2 is stored in the top word of the opcode part and two address parts. It consists of three consecutive addresses "XXXXX2"
~ ××× 4 ”and the variable word length instruction 3 is stored in two consecutive addresses“ ××× 5 to xx × 6 ”because it consists of the first word of the operation code part and one address part. However, the variable word length instruction 4 is stored only in one address "XXX7" because it consists of only the first word of the operation code part.

【0030】なお、各アドレスに格納された各可変語長
命令1〜4のオペコード部およびアドレス部の命令構成
要素毎に、次に説明する命令先頭情報と実行条件とから
なるラベル1〜10が設定される。
Labels 1 to 10 consisting of instruction head information and execution conditions, which will be described below, are provided for each instruction component of the opcode part and address part of each variable word length instruction 1 to 4 stored at each address. Is set.

【0031】図3は、各可変語長命令を構成するオペコ
ード部およびアドレス部の命令構成要素毎に設定される
ラベルLの内容を示している。
FIG. 3 shows the contents of the label L set for each instruction constituent element of the operation code section and the address section constituting each variable word length instruction.

【0032】ラベルLは、図に示すように、L0〜L3
の4ビットで構成されており、最上位1ビットL3が、
対応するオペコード部およびアドレス部が命令の先頭語
であるか否かを示す命令先頭情報であり、下位3ビット
L2〜L0が、プロセッサ11のパワーフローレジスタ
の値(PF)に基づいて演算実行するか否かを示す実行
条件である。
The label L is L0 to L3 as shown in the figure.
It consists of 4 bits, and the most significant 1 bit L3 is
This is instruction head information indicating whether or not the corresponding opcode part and address part are the head word of the command, and the lower 3 bits L2 to L0 perform arithmetic operation based on the value (PF) of the power flow register of the processor 11. It is an execution condition indicating whether or not.

【0033】具体的には、命令先頭情報であるL3のビ
ットが“1”の場合は、命令先頭であり、L3のビット
が“0”の場合は、命令先頭でないことを示している。
また、実行条件であるL2〜L0の下位3ビットが、
“000”の場合は、必ず演算実行するという実行条件
を示しており、“001”の場合は、パワーフローレジ
スタ11aの値(PF)が“1”のときに演算実行し、
“010”の場合は、パワーフローレジスタ11aの値
(PF)が“0”のときに演算実行し、“111”の場
合は、常に演算実行しないという実行条件を示してい
る。
Specifically, when the bit of L3 which is the instruction head information is "1", it is the instruction head, and when the bit of L3 is "0", it is not the instruction head.
Also, the lower 3 bits of L2 to L0, which are execution conditions, are
In the case of "000", the execution condition is shown that the calculation is always executed. In the case of "001", the calculation is executed when the value (PF) of the power flow register 11a is "1".
In the case of "010", the execution condition is such that the operation is executed when the value (PF) of the power flow register 11a is "0", and in the case of "111", the operation is not always executed.

【0034】図4は、図2に示すプログラムメモリ14
に格納された各可変語長命令の命令構成要素毎のラベル
1〜7の内容の具体例を示している。
FIG. 4 shows the program memory 14 shown in FIG.
7 shows a specific example of the contents of labels 1 to 7 for each instruction constituent element of each variable word length instruction stored in.

【0035】つまり、図に示すように、ラベル1は“1
000”と設定され、対応するオペコード部またはアド
レス部が命令先頭で必ず演算実行するものである、とい
うことを示しており、ラベル2,5は“1001”と設
定され、対応するオペコード部またはアドレス部が命令
先頭でパワーフローレジスタ11aの値(PF)が
“1”のとき演算実行するものであるということを示し
ている。
That is, as shown in the figure, the label 1 is "1".
000 "is set to indicate that the corresponding opcode part or address part always executes the operation at the head of the instruction. Labels 2 and 5 are set to" 1001 ", and the corresponding opcode part or address is set. It is shown that the part executes the operation when the value (PF) of the power flow register 11a is "1" at the head of the instruction.

【0036】また、ラベル3,4,6は“0000”と
設定され、対応するオペコード部またはアドレス部が命
令先頭でないということを示しており、ラベル7は“1
010”と設定され、対応するオペコード部またはアド
レス部が命令先頭でパワーフローレジスタ11aの値
(PF)が“0”のとき演算実行するものであるという
ことを示している。
Labels 3, 4, and 6 are set to "0000", indicating that the corresponding opcode part or address part is not the head of the instruction, and label 7 is "1".
010 "is set, which indicates that the corresponding operation code portion or address portion is to execute the operation when the value (PF) of the power flow register 11a is" 0 "at the head of the instruction.

【0037】図5は、データメモリ15におけるラベル
の格納方法を示している。
FIG. 5 shows a label storage method in the data memory 15.

【0038】データメモリ15は、図示はしていないが
入出力データを16ビットで格納しているので、図に示
すようにその入出力データの格納エリアとは別エリア
に、可変語長命令の命令構成要素毎の上述した4ビット
のラベルを、同一アドレスに4個ずつ格納して、1回の
アクセスで4個のラベルを同時に読み出せるようにして
いる。
Although not shown in the figure, the data memory 15 stores input / output data in 16 bits. Therefore, as shown in the figure, a variable word length instruction The above-mentioned 4-bit label for each instruction constituent element is stored four at the same address so that four labels can be read simultaneously by one access.

【0039】具体的には、図に示すように、アドレス
“△△△1”にラベル1〜4を格納しており、アドレス
“△△△2”にラベル5〜8を格納し、・・・アドレス
“△△△3”にラベル9〜12を格納し、・・・という
ように連続した4個のラベルを同一アドレスに順に格納
している。
Specifically, as shown in the figure, labels 1 to 4 are stored in the address "ΔΔΔ1", labels 5 to 8 are stored in the address "ΔΔΔ2", ... Labels 9 to 12 are stored in the address "ΔΔΔ3", and four consecutive labels are stored in sequence at the same address, such as ...

【0040】次に、以上のように構成されたプログラマ
ブルコントローラの演算処理を説明する。
Next, the arithmetic processing of the programmable controller configured as described above will be described.

【0041】図6に、このプログラマブルコントローラ
の演算処理の手順を示す。
FIG. 6 shows the procedure of arithmetic processing of this programmable controller.

【0042】プログラマブルコントローラでは、プロセ
ッサ1が演算処理を行うが、プロセッサ1は、まず、デ
ータメモリ15におけるラベルの格納エリアにアクセス
して、同一アドレスに格納された4個のラベルを同時に
読出し(ステップ100)、読出した4個の各ラベルの
最上位ビットの命令先頭情報を参照して、その4個の各
ラベルのうち、ラベルの番号の若い順に着目していって
命令先頭情報が“1”、すなわち命令先頭情報が命令先
頭を示しているラベルがあるか否かを判断する(ステッ
プ200)。
In the programmable controller, the processor 1 performs arithmetic processing. First, the processor 1 accesses the label storage area in the data memory 15 and simultaneously reads out the four labels stored at the same address (step 100), by referring to the instruction start information of the most significant bit of each of the read four labels, the instruction start information is “1” in order from the smallest label number among the four labels. That is, it is determined whether or not there is a label whose instruction head information indicates the head of the instruction (step 200).

【0043】ここで、命令先頭情報が命令先頭を示して
いるラベルがない場合には(ステップ200“N
o”)、上記ステップ100の処理に戻って次のアドレ
スの4個のラベルを読出す。
If the instruction head information does not include a label indicating the instruction head (step 200 "N").
o "), the process returns to step 100 and the four labels at the next address are read out.

【0044】その一方、命令先頭情報が命令先頭を示し
ているラベルがある場合には(ステップ200“Ye
s”)、続いてそのラベルの下位3ビットからなる実行
条件が演算実行を示しているか否かを判断して(ステッ
プ300)、その実行条件が演算実行を示している場合
のみ(ステップ300“Yes”)、図示しないプログ
ラムカウンタの値等を基に該当するオペコード部やアド
レス部等の命令構成要素をプログラムメモリ14から読
出して(ステップ400)、その命令構成要素の演算を
実行する(ステップ500)。
On the other hand, if the instruction head information has a label indicating the head of the instruction (step 200 "Yes"
s "), and subsequently, it is judged whether or not the execution condition composed of the lower 3 bits of the label indicates the execution of the operation (step 300), and only when the execution condition indicates the execution of the operation (step 300" Yes ”), based on the value of a program counter (not shown) and the like, the instruction component such as the corresponding opcode portion and address portion is read from the program memory 14 (step 400), and the operation of the instruction component is executed (step 500). ).

【0045】ここで、命令構成要素の演算実行とは、0
アドレス方式の命令語であれば、そのオペコード部を解
読して実行し、0アドレス方式以外の命令語であれば、
その命令構成要素がオペコード部である場合には、その
オペコード部の解読や、その解読結果に応じた演算回路
の選択等、命令構成要素がアドレス部である場合には、
そのアドレス部が示すオペランドであるデータをデータ
メモリ15から読出して上記選択した演算回路により演
算等させる処理をいう。
Here, the operation execution of the instruction component is 0.
If it is an instruction word of the address system, the operation code part is decoded and executed, and if it is an instruction word other than the 0 address system,
If the instruction component is the opcode part, decoding of the opcode part, selection of an arithmetic circuit according to the decoding result, and the like, if the instruction component is the address part,
This is a process of reading data, which is an operand indicated by the address portion, from the data memory 15 and performing an arithmetic operation or the like by the arithmetic circuit selected above.

【0046】そして、再度上記ステップ200の処理に
戻って、同時に読出した残りのラベルに命令先頭情報が
命令先頭を示しているラベルがあるか否かを判断し、命
令先頭情報が命令先頭を示しているラベルがある場合に
は(ステップ200“Yes”)、上記ステップ300
〜500の処理を同様に行う一方、命令先頭情報が命令
先頭を示しているラベルがない場合には(ステップ20
0“No”)、上記ステップ100の処理に戻って次の
アドレスの4個のラベルを読出すようにする。
Then, returning to the processing of step 200 again, it is judged whether or not there is a label whose instruction head information indicates the instruction head among the remaining labels read at the same time, and the instruction head information indicates the instruction head. If there is a label (step 200 “Yes”), the above step 300
Similarly, when the instruction head information does not include a label indicating the instruction head (step 20).
0 "No"), the process returns to step 100 and the four labels at the next address are read out.

【0047】次に、図4や図5に示すラベル1〜7を参
照して、図6に示す演算処理の流れを具体的に説明す
る。
Next, the flow of the arithmetic processing shown in FIG. 6 will be concretely described with reference to the labels 1 to 7 shown in FIG. 4 and FIG.

【0048】なお、プロセッサ11内のパワーフローレ
ジスタ11aの値(PF)は、最初“0”に設定されて
いるものとする。
The value (PF) of the power flow register 11a in the processor 11 is initially set to "0".

【0049】まず、プロセッサ11は、図6のステップ
100の処理により、データメモリ15のアドレス“△
△△1”からラベル1〜4を同時に読出し、図4に示す
ようにラベル1は“1000”であり、命令先頭で必ず
演算実行するという内容を示しているので、ステップ2
00の処理により命令先頭のラベルと判断され、続くス
テップ300の判断により演算実行と判断されるので、
ステップ400,500の処理により、ラベル1に対応
した命令構成要素である命令1のオペコード部をプログ
ラムメモリ14から読出して演算実行し、ステップ20
0の処理に戻る。
First, the processor 11 executes the process of step 100 of FIG.
Labels 1 to 4 are read out at the same time from ΔΔ1 ”, and label 1 is“ 1000 ”as shown in FIG. 4, which indicates that the operation is always executed at the beginning of the instruction.
It is determined that the label is the head of the instruction by the processing of 00, and that the operation is executed by the determination of the following step 300.
By the processing of steps 400 and 500, the operation code part of the instruction 1 corresponding to the label 1 is read from the program memory 14 and the operation is executed.
The process returns to 0.

【0050】ステップ200の処理に戻ると、次に、ラ
ベル1と同時に読出した残りのラベル2〜4のうち、ラ
ベル2の内容が図4に示すように“1001”で、命令
先頭でPF=1のとき演算実行という内容を示している
ので、このステップ200の判断でラベル2が命令先頭
のラベルと判断される。そして、続くステップ300の
判断により、パワーフローレジスタ11aの値が“0”
に設定されているので、演算実行せずと判断され、ステ
ップ400,500の読出しおよび演算実行の処理を行
わずスキップして、ステップ200の処理に戻る。
Returning to the processing of step 200, next, of the remaining labels 2 to 4 read at the same time as the label 1, the content of the label 2 is "1001" as shown in FIG. When the value is 1, it indicates that the operation is executed. Therefore, the label 2 is determined to be the label at the beginning of the instruction in the determination in step 200. Then, the value of the power flow register 11a is determined to be "0" by the judgment at the subsequent step 300.
Since it is set to No., it is determined that the operation is not executed, and the processing of reading and executing the operations of steps 400 and 500 is skipped and the process returns to step 200.

【0051】ステップ200の処理に戻ると、次に、残
りのラベル3,4の内容が、図4に示すように共に“0
000”であるので、このステップ200の判断で、命
令先頭のラベルなしと判断され、ステップ300〜50
0の処理であるラベル3,4に対応した命令構成要素で
ある命令2のアドレス部の読出しや、演算実行等を行わ
ずにスキップして、ステップ100の処理に戻る。その
結果、命令2については、何らオペコード部およりアド
レス部の読出しも演算も行われないことになる。
Returning to the processing of step 200, the contents of the remaining labels 3 and 4 are both "0" as shown in FIG.
000 ", it is determined in step 200 that there is no label at the beginning of the instruction, and steps 300 to 50
It skips without reading the address part of the instruction 2 which is the instruction constituent element corresponding to the labels 3 and 4 which is the processing of 0, and does not execute the operation, and returns to the processing of step 100. As a result, for the instruction 2, neither the operation code portion nor the address portion is read or operated.

【0052】ステップ100の処理に戻ると、プロセッ
サ11は、図5に示すようにデータメモリ15の次のア
ドレス“△△△2”を指定してラベル5〜8を同時に読
出し、図4に示すようにラベル5は“1001”であ
り、ラベル2と同様に命令先頭でPF=1のとき演算実
行という内容を示しているので、ステップ200の判断
で命令先頭のラベルと判断され、続くステップ300の
判断により、パワーフローレジスタ11aの値が“0”
に設定されたままで、演算実行せずと判断されるので、
ステップ400,500の処理を行わずスキップして、
ステップ200の処理に戻る。
Returning to the processing of step 100, the processor 11 simultaneously reads the labels 5 to 8 by designating the next address "ΔΔΔ2" of the data memory 15 as shown in FIG. 5, and shown in FIG. As described above, the label 5 is "1001", which indicates that the operation is executed when PF = 1 at the beginning of the instruction as in the case of label 2. Therefore, it is determined in step 200 that the label is the beginning of the instruction, and the subsequent step 300 The value of the power flow register 11a is "0".
Since it is determined that the calculation is not executed with the setting set to,
Skip steps 400 and 500 and skip
The process returns to step 200.

【0053】ステップ200の処理に戻ると、次に、ラ
ベル5と同時に読出した残りのラベル6〜8のうち、ラ
ベル6の内容が図4に示すように、“0000”で命令
先頭でないということを示しているので、ラベル6はス
テップ200の判断によりスキップされる。その結果、
命令3については、何らオペコード部およりアドレス部
の読出しも演算も行われないことになる。
Returning to the processing of step 200, next, of the remaining labels 6 to 8 read simultaneously with the label 5, the content of the label 6 is "0000" as shown in FIG. , Label 6 is skipped by the determination in step 200. as a result,
For instruction 3, neither the operation code part nor the address part is read or operated.

【0054】一方、ラベル7の内容は、図4に示すよう
に、“1010”で、命令先頭でPF=0のとき演算実
行という内容を示しているので、このステップ200の
判断でラベル7が命令先頭のラベルと判断され、続くス
テップ300の判断により、パワーフローレジスタ11
aの値が“0”に設定されているので、このラベル7は
演算実行すると判断され、ステップ400,500の処
理により、ラベル7に対応した命令構成要素である命令
4のオペコード部をプログラムメモリ14から読出して
演算実行し、ステップ200の処理に戻る。
On the other hand, the content of the label 7 is "1010" as shown in FIG. 4, which indicates that the operation is executed when PF = 0 at the beginning of the instruction. It is determined that it is the label at the beginning of the instruction, and the power flow register 11
Since the value of "a" is set to "0", it is determined that the label 7 is to be operated, and the operation code portion of the instruction 4 corresponding to the label 7 is stored in the program memory by the processing of steps 400 and 500. 14, the calculation is executed, and the process returns to step 200.

【0055】このように、図4に示すラベル1〜7が対
応して設定された図2に示すような可変語長命令1〜4
があって、命令2,3をスキップして実行する場合、従
来技術であればスキップすべき命令2,3の先頭語であ
るオペコード部も読出し、各命令1〜4のオペコード部
を全て読出すようにしていたが、本実施形態によれば、
スキップする命令2,3についてはそのオペコード部を
プログラムメモリ14から読出す必要がなくなる。
As described above, the variable word length instructions 1 to 4 as shown in FIG. 2 to which the labels 1 to 7 shown in FIG. 4 are set correspondingly.
Therefore, when the instructions 2 and 3 are skipped and executed, the operation code part which is the first word of the instructions 2 and 3 to be skipped in the conventional technique is also read, and all the operation code parts of the respective instructions 1 to 4 are read. However, according to the present embodiment,
For the instructions 2 and 3 to be skipped, it is not necessary to read the operation code part from the program memory 14.

【0056】従って、本実施形態によれば、プロセッサ
11が命令先頭情報と実行条件とからなるラベルの内容
を判断することによって、実行すべき命令のみをプログ
ラムメモリ14から読取って実行する一方、実行しない
命令はオペコード部さえもプログラムメモリ14から読
出さずにスキップするので、命令演算をスキップさせる
場合、次に実行する命令まで高速にスキップすることが
できる。
Therefore, according to the present embodiment, the processor 11 judges the contents of the label consisting of the instruction head information and the execution condition so that only the instruction to be executed is read from the program memory 14 and executed, while the execution is executed. Since an instruction not to be executed is skipped without reading even the operation code part from the program memory 14, when the instruction operation is skipped, the instruction to be executed next can be skipped at high speed.

【0057】このため、プロセッサ11の演算時間のほ
とんどが、実行すべき命令の有効な演算実行にのみ使用
されることになり、プロセッサ11の演算速度を高速化
することができると共に、スキップする命令のオペコー
ド部へのメモリアクセスという無駄なアクセスも排除す
ることが可能になる。
Therefore, most of the operation time of the processor 11 is used only for effective operation execution of the instruction to be executed, and the operation speed of the processor 11 can be increased and the skipped instruction can be executed. It is possible to eliminate useless access such as memory access to the operation code part of.

【0058】また、本実施形態によれば、各命令の命令
構成要素毎の4ビットのラベルを4個ずつデータメモリ
15の同一アドレスに順に格納し、各命令を読出す際に
は、データメモリ15から同一アドレスのラベルを4個
ずつ読出して、各命令の4個の命令要素毎に命令先頭で
あるか否かと、実行条件とを判断した後、各命令の命令
要素をプログラムメモリ14から読出して実行するよう
にしているので、語長の短い命令であれば、複数の命令
のラベルを同時に読出して実行条件等を判断することが
でき、この点でもプロセッサ11の演算速度が高速化さ
れる。
Further, according to the present embodiment, four 4-bit labels for each instruction constituent element of each instruction are sequentially stored in the same address of the data memory 15, and when reading each instruction, the data memory is stored. After reading four labels of the same address from 15, each of the four instruction elements of each instruction determines whether it is the instruction head and the execution condition, and then reads the instruction element of each instruction from the program memory 14. Since the instructions are executed by executing the instruction, if the instruction has a short word length, the labels of a plurality of instructions can be read at the same time to determine the execution condition and the like, and the operating speed of the processor 11 is also increased in this respect. .

【0059】なお、本実施形態では、ラベルを4ビット
で構成して示し、またその実行条件をパワーフローレジ
スタ11aの値に基づいて設定するようにしたが、本発
明では、これに限定されることはなく、ラベルは、4ビ
ット以外でも良く、また、その実行条件をパワーフロー
レジスタ11aの値とは関係なく設定するようにしても
良い。このようにした場合、パワーフローレジスタ11
aは不要になるので、本発明は、パワーフローレジスタ
11aを持たないプロセッサからなる一般のデータ処理
装置にも適用可能になる。
In the present embodiment, the label is represented by 4 bits and the execution condition is set based on the value of the power flow register 11a. However, the present invention is not limited to this. The label may be other than 4 bits, and the execution condition may be set regardless of the value of the power flow register 11a. In this case, the power flow register 11
Since a is not necessary, the present invention can be applied to a general data processing device including a processor without the power flow register 11a.

【0060】[0060]

【発明の効果】以上説明したように、本発明では、可変
語長命令を構成するオペコード部およびアドレス部毎
に、命令先頭情報や実行条件からなるラベルを格納し
て、そのラベルを1メモリアドレスで数語分読出せるよ
うにし、しかもそのラベルを参照して実行すべき命令の
みをプログラム記憶手段から読出して実行する一方、実
行しない命令はプログラム記憶手段から読出さずにスキ
ップするようにしたので、命令演算をスキップさせる場
合、次に実行すべき命令まで高速にスキップすることが
できる。
As described above, according to the present invention, a label consisting of instruction head information and an execution condition is stored for each opcode section and address section which compose a variable word length instruction, and the label is stored in one memory address. Therefore, it is possible to read a few words from the program storage means and read only the instruction to be executed from the program storage means by referring to the label, and skip the instructions not executed without reading them from the program storage means. When the instruction calculation is skipped, the instruction to be executed next can be skipped at high speed.

【0061】このため、演算時間のほとんどが実行すべ
き命令の有効な演算実行にのみ使用されることになり、
演算速度を高速化することができると共に、スキップす
る命令へのメモリアクセスという無駄なアクセスも排除
することが可能になる。
Therefore, most of the operation time is used only for effective operation execution of the instruction to be executed,
The calculation speed can be increased, and unnecessary access such as memory access to the skipped instruction can be eliminated.

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

【図1】本発明に係るデータ処理装置の実施形態である
プログラマブルコントローラの構成を示すブロック図。
FIG. 1 is a block diagram showing a configuration of a programmable controller that is an embodiment of a data processing device according to the present invention.

【図2】ユーザプログラムメモリにおけるユーザプログ
ラムを構成する可変語長命令の格納方法を示す説明図。
FIG. 2 is an explanatory diagram showing a method of storing a variable word length instruction that constitutes a user program in a user program memory.

【図3】各可変語長命令を構成するオペコード部および
アドレス部の命令構成要素毎に設定されるラベルLの内
容を示す説明図。
FIG. 3 is an explanatory diagram showing the contents of a label L set for each instruction constituent element of an operation code section and an address section which constitute each variable word length instruction.

【図4】プログラムメモリに格納された各可変語長命令
の命令構成要素毎のラベル1〜7の内容の具体例を示す
説明図。
FIG. 4 is an explanatory diagram showing a specific example of contents of labels 1 to 7 for each instruction constituent element of each variable word length instruction stored in a program memory.

【図5】データメモリにおけるラベルの格納方法を示す
説明図。
FIG. 5 is an explanatory diagram showing a label storage method in a data memory.

【図6】プログラマブルコントローラの演算処理の手順
を示すフローチャート。
FIG. 6 is a flowchart showing a procedure of arithmetic processing of the programmable controller.

【図7】従来のデータ処理装置における可変語長命令の
スキップ方法の一例。
FIG. 7 shows an example of a method of skipping a variable word length instruction in a conventional data processing device.

【図8】従来のデータ処理装置における可変語長命令の
スキップ方法の他の例。
FIG. 8 is another example of a method of skipping a variable word length instruction in a conventional data processing device.

【図9】従来のデータ処理装置における可変語長命令の
スキップ方法の他の例。
FIG. 9 is another example of a method of skipping a variable word length instruction in a conventional data processing device.

【符号の説明】[Explanation of symbols]

11 プロセッサ(命令実行手段) 11a パワーフローレジスタ 12 システムメモリ 13 ワークメモリ 14 プログラムメモリ(プログラム記憶手段) 15 データメモリ(ラベル記憶手段) 16 入出力(I/O)インタフェース L ラベル L3 命令先頭情報 L2〜L0 実行条件 11 processor (instruction executing means) 11a Power flow register 12 system memory 13 work memory 14 program memory (program storage means) 15 data memory (label storage means) 16 Input / output (I / O) interface L label L3 instruction start information L2-L0 execution conditions

───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平8−320786(JP,A) 特開 平6−161747(JP,A) 特開 平3−216734(JP,A) 特開 平3−63725(JP,A) 特開 平2−278303(JP,A) 特開 昭63−36405(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 9/30 - 9/42 ─────────────────────────────────────────────────── --- Continuation of the front page (56) Reference JP-A-8-320786 (JP, A) JP-A-6-161747 (JP, A) JP-A-3-216734 (JP, A) JP-A-3- 63725 (JP, A) JP-A-2-278303 (JP, A) JP-A-63-36405 (JP, A) (58) Fields investigated (Int.Cl. 7 , DB name) G06F 9 / 30-9 / 42

Claims (5)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 オペコード部と、命令によって語数の異
なるアドレス部とで構成された可変語長命令からなるプ
ログラムを実行してデータ処理を行うデータ処理装置に
おいて、 可変語長命令を構成するオペコード部およびアドレス部
を、オペコード部およびアドレス部毎に連続するアドレ
スに格納して上記プログラムを記憶したプログラム記憶
手段と、 上記プログラム記憶手段に格納された上記可変語長命令
のオペコード部およびアドレス部毎に対応して設定され
たラベルを同一アドレスに複数記憶したラベル記憶手段
と、 上記ラベル記憶手段の同一アドレスに複数記憶されたラ
ベルを1回のアクセスで同時に読出し、その複数のラベ
ルを参照し上記プログラム記憶手段から可変語長命令を
読出して実行する命令実行手段と、 を具備することを特徴とするデータ処理装置。
1. A data processing device for executing data processing by executing a program consisting of a variable word length instruction composed of an operation code portion and an address portion having a different number of words depending on the instruction, and an operation code portion forming the variable word length instruction. A program storing means for storing the program by storing the program and the address portion at consecutive addresses for each of the opcode portion and the address portion; and for each of the opcode portion and the address portion of the variable word length instruction stored in the program storing means. The label storage means in which a plurality of labels set corresponding to each other are stored at the same address, and the plurality of labels stored in the same address of the label storage means are simultaneously read by one access, and the plurality of labels are referred to to read the program. Instruction execution means for reading out and executing the variable word length instruction from the storage means, The data processing apparatus according to claim.
【請求項2】 ラベル記憶手段は、 可変語長命令を構成するオペコード部およびアドレス部
が命令先頭であるか否かを示す命令先頭情報と、 可変語長命令を構成するオペコード部およびアドレス部
が演算実行するものであるか否かを示す実行条件と、 からなるラベルを記憶する、 ことを特徴とする請求項1記載のデータ処理装置。
2. The label storage means includes instruction head information indicating whether or not an opcode portion and an address portion forming a variable word length instruction are instruction heads, and an opcode portion and an address portion forming a variable word length instruction. The data processing device according to claim 1, wherein an execution condition indicating whether or not an operation is executed and a label consisting of are stored.
【請求項3】 命令実行手段は、 複数のラベルを参照し上記プログラム記憶手段から可変
語長命令を読出して実行する際、 1回のアクセスで同時に複数読出したラベルのうち、命
令先頭情報に基づき命令先頭を示しているラベルがある
か否かを判断し、命令先頭を示しているラベルがない場
合には、ラベル記憶手段から次のアドレスに複数記憶さ
れたラベルを読出す一方、命令先頭を示しているラベル
がある場合には、続いてそのラベルの実行条件を判断し
て、その実行条件が演算実行を示していれば対応するオ
ペコード部またはアドレス部を上記プログラム記憶手段
から読出して実行し、演算実行を示していなければ対応
するオペコード部またはアドレス部を上記プログラム記
憶手段から読出さずにスキップする、 ことを特徴とする請求項2記載のデータ処理装置。
3. The instruction executing means refers to a plurality of labels and reads out and executes a variable word length instruction from the program storage means, based on the instruction head information among the labels read out simultaneously in one access. It is judged whether or not there is a label indicating the beginning of the instruction. If there is no label indicating the beginning of the instruction, the plural labels stored at the next address are read from the label storage means while the beginning of the instruction is read. If there is a label shown, then the execution condition of that label is judged, and if the execution condition indicates the execution of operation, the corresponding opcode part or address part is read from the program storage means and executed. If the operation execution is not indicated, the corresponding opcode part or address part is skipped without being read from the program storage means. 2. The data processing device according to 2.
【請求項4】 命令実行手段は、 基本命令が実行された際にその演算結果が設定されると
共に、その設定が上記基本命令に続く応用命令の実行条
件の判断に使用されるパワーフローレジスタを有し、 プログラム記憶手段は、 上記基本命令および応用命令の可変語長命令からなるプ
ログラムを記憶する一方、 ラベル記憶手段は、 命令先頭情報と、可変語長命令を構成するオペコード部
およびアドレス部が演算実行するものであるか否かを上
記パワーフローレジスタの設定に基づいて示す実行条件
と、からなるラベルを記憶し、 上記命令実行手段は、 上記ラベル記憶手段の同一アドレスに複数記憶されたラ
ベルを1回のアクセスで同時に読出し、その複数のラベ
ルを参照し上記プログラム記憶手段から可変語長命令を
読出して実行するプログラム実行処理をサイクリックに
行う、 ことを特徴とする請求項2記載のデータ処理装置。
4. The instruction execution means is a power flow register used to determine the execution condition of an application instruction subsequent to the basic instruction, as well as to set the operation result when the basic instruction is executed. The program storage means stores a program including variable word length instructions of the basic instruction and the application instruction, while the label storage means has instruction head information and an opcode part and an address part that constitute the variable word length command. A label consisting of an execution condition indicating whether or not to execute an operation based on the setting of the power flow register is stored, and the instruction executing means stores a plurality of labels stored at the same address of the label storing means. Are read at the same time by one access, and a variable word length instruction is read from the program storage means by referring to the plurality of labels and executed. Performed cyclically beam execution process, the data processing apparatus according to claim 2, wherein a.
【請求項5】 命令実行手段は、 複数のラベルを参照し上記プログラム記憶手段から可変
語長命令を読出して実行する際、 1回のアクセスで同時に複数読出したラベルのうち、命
令先頭情報に基づき命令先頭を示しているラベルがある
か否かを判断し、命令先頭を示しているラベルがない場
合には、ラベル記憶手段から次のアドレスに複数記憶さ
れたラベルを読出す一方、命令先頭を示しているラベル
がある場合には、続いてそのラベルの実行条件をパワー
フローレジスタの設定に基づき判断して、その実行条件
がパワーフローレジスタの設定に基づき演算実行を示し
ていれば対応するオペコード部またはアドレス部を上記
プログラム記憶手段から読出して実行し、パワーフロー
レジスタの設定に基づき演算実行を示していなければ対
応するオペコード部またはアドレス部を上記プログラム
記憶手段から読出さずにスキップする、 ことを特徴とする請求項4記載のデータ処理装置。
5. The instruction executing means refers to a plurality of labels and reads out and executes a variable word length instruction from the program storage means based on instruction head information among labels read out simultaneously by one access. It is judged whether or not there is a label indicating the beginning of the instruction. If there is no label indicating the beginning of the instruction, the plural labels stored at the next address are read from the label storage means while the beginning of the instruction is read. If there is a label shown, then the execution condition of that label is judged based on the setting of the power flow register, and if the execution condition indicates execution of operation based on the setting of the power flow register, the corresponding opcode Section or address section is read from the program storage means and executed, and if the execution of the operation is not shown based on the setting of the power flow register, the corresponding operation is performed. The opcode portion or the address unit skips without getting read from said program storage means, the data processing apparatus according to claim 4, wherein a.
JP24204995A 1995-09-20 1995-09-20 Data processing device Expired - Lifetime JP3441262B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP24204995A JP3441262B2 (en) 1995-09-20 1995-09-20 Data processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP24204995A JP3441262B2 (en) 1995-09-20 1995-09-20 Data processing device

Publications (2)

Publication Number Publication Date
JPH0991137A JPH0991137A (en) 1997-04-04
JP3441262B2 true JP3441262B2 (en) 2003-08-25

Family

ID=17083516

Family Applications (1)

Application Number Title Priority Date Filing Date
JP24204995A Expired - Lifetime JP3441262B2 (en) 1995-09-20 1995-09-20 Data processing device

Country Status (1)

Country Link
JP (1) JP3441262B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6280359B2 (en) * 2013-12-17 2018-02-14 株式会社東芝 Programmable controller

Also Published As

Publication number Publication date
JPH0991137A (en) 1997-04-04

Similar Documents

Publication Publication Date Title
JP2883784B2 (en) Microcomputer
US5390306A (en) Pipeline processing system and microprocessor using the system
JP3441262B2 (en) Data processing device
JPH10240522A (en) Arithmetic unit
JP2525492B2 (en) Programmable controller
JP3024719B2 (en) Arithmetic processing method of programmable controller
JP3507193B2 (en) Load / store instruction processor
JP3008890B2 (en) Processing control unit
JP3475860B2 (en) Arithmetic processing unit
JPH06324861A (en) System and method for controlling cpu
JP2727023B2 (en) Information processing device
JP2743947B2 (en) Micro program control method
JPH1139159A (en) Computer system
JP3074809B2 (en) Programmable controller
JPH0981275A (en) Arithmetic processing unit
JPH05241890A (en) Data trace system
JPH0535499A (en) Data processing device and method
JPH0736510A (en) Programmable controller
JP2544533B2 (en) Programmable controller sequence instruction processor
JPH0944355A (en) Programmable controller
JPS5849897B2 (en) program control device
JPH08272411A (en) Ladder instruction processor
JPH10111704A (en) Programmable controller
JPH10320380A (en) Vector processor
JPS58149571A (en) Processing system of vector operation in information processing device

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20030523

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080620

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090620

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090620

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100620

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100620

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110620

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110620

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120620

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130620

Year of fee payment: 10

EXPY Cancellation because of completion of term