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

データ処理装置

Info

Publication number
JPH0991137A
JPH0991137A JP7242049A JP24204995A JPH0991137A JP H0991137 A JPH0991137 A JP H0991137A JP 7242049 A JP7242049 A JP 7242049A JP 24204995 A JP24204995 A JP 24204995A JP H0991137 A JPH0991137 A JP H0991137A
Authority
JP
Japan
Prior art keywords
instruction
label
address
word length
read
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.)
Granted
Application number
JP7242049A
Other languages
English (en)
Other versions
JP3441262B2 (ja
Inventor
Masaru Takeuchi
勝 竹内
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 JP24204995A priority Critical patent/JP3441262B2/ja
Publication of JPH0991137A publication Critical patent/JPH0991137A/ja
Application granted granted Critical
Publication of JP3441262B2 publication Critical patent/JP3441262B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【課題】 可変語長命令からなるプログラムにおいてス
キップすべき命令が多数連続している場合、高速に命令
をスキップして、演算速度を高速化する。 【解決手段】 プログラムメモリ14には、可変語長命
令が格納されており、その各可変語長命令を構成するオ
ペコード部およびオペランド部毎に命令先頭情報とパワ
ーフローレジスタ11aの値に基づく実行条件とからな
るラベルを設け、そのラベルを同時に複数読出せるよう
データメモリ15に格納する。プロセッサ11は、可変
語長命令を実行する場合は、まずデータメモリ15から
複数のラベルを読出して、そのラベルの実行条件に基づ
き命令を判断して、実行すべき可変語長命令の場合はプ
ログラムメモリ14から読出して実行する一方、スキッ
プする可変語長命令の場合は、そのオペコード部さえも
プログラムメモリ14から読出さずにスキップする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、可変語長命令から
なるプログラムを実行してデータ処理を行うデータ処理
装置に関する。
【0002】
【従来の技術】従来、可変語長方式の命令(以下、「可
変語長命令」という。)を扱うデータ処理装置では、可
変語長命令を構成する一定長のオペコード部と、命令に
よって語数の異なるアドレス部とをプログラムメモリ内
の連続したアドレスに格納しており、プロセッサがアド
レスに従って可変語長命令を構成するオペコード部とア
ドレス部とを順に読込んで、演算実行するようにしてい
る。
【0003】ところで、このような可変語長命令を実行
するデータ処理装置では、何らかの要因で実行条件が成
立せず演算をスキップさせる場合、プロセッサは次に実
行する命令の先頭を読込むまで命令を実行できず、事実
上その演算実行を停止していた。
【0004】このため、このような可変語長命令を扱う
データ処理装置では、命令演算をスキップさせる場合、
次に実行する命令の先頭をいかに高速に読み出すかが課
題であり、従来は、例えば、以下(1)〜(3)に示す
ような方法で命令演算をスキップして、次に実行する命
令を高速に読出すようにしていた。
【0005】(1)図7に示すように、プログラムメモ
リPMに格納される各命令の先頭語に、命令先頭である
か否かを示す認識ビットD1を付けて、各命令の命令先
頭を容易に認識して、次の命令先頭までのスキップする
方法。
【0006】(2)図8に示すように、プログラムメモ
リPMに格納される各命令の命令毎に命令語長を示すテ
ーブルTを別エリアに設けておき、ある命令をスキップ
させる場合には、その命令の語長をテーブルから読み出
し、プログラムカウンタに加算等することで、次の命令
先頭までのスキップする方法。
【0007】(3)図9に示すように、プログラムメモ
リPMに格納される各命令の先頭語(通常は、オペコー
ド部)にその命令の語長データD2を組み込んでおき、
語長データD2に基づいてその語長分だけスキップする
ことで次の命令を読み出す方法。
【0008】
【発明が解決しようとする課題】しかし、従来の上記
(1)の方法では、次に実行すべき命令の先頭語までス
キップする場合、スキップする途中の命令のオペコード
部や、アドレス部を全て読み出さなければならなかった
ので、その途中の命令の読出しに時間がかかり、効率が
悪いという問題があった。
【0009】また、従来の上記(2)の方法では、命令
語の語長を示すテーブルのデータを読み出すことで次の
命令先頭までのスキップ数を算出しているため、プロセ
ッサがスキップすべき各命令に対応したテーブルアドレ
スを算出してテーブルデータを読出す必要があり、その
算出に時間を要する、という問題があった。
【0010】また、従来の上記(3)の方法では、オペ
コード部の先頭にその命令語の語数を組み込んでいるの
で、オペコード部として1語中の情報ビットが減少する
ことや、従来から使用されてきた命令語にこのような情
報ビットは新たに追加することはできない、という問題
点があった。
【0011】このように、従来の上記(1)〜(3)の
方法では、各命令先頭のオペコード部を読み出すことな
しに、各命令のスキップ数を判別することはできず、さ
らに上記(1)〜(3)の従来方法では、各命令先頭の
オペコード部を読み出すことなしに、その命令を実行す
るのか、あるいはスキップするのかが判別できなかった
ため、スキップすべき命令が多数連続している場合、そ
のスキップすべき各命令の命令先頭を全て読み出す必要
があり、スキップすべき各命令の命令先頭の読出しに時
間がかかる、という問題があった。
【0012】そこで、本発明は、このような問題に着目
してなされたもので、可変語長命令からなるプログラム
においてスキップすべき命令が多数連続している場合で
も、高速にスキップして命令実行が可能なデータ処理装
置を提供することを目的とする。
【0013】
【課題を解決するための手段】上記目的を達成するた
め、請求項1記載の発明では、オペコード部と、命令に
よって語数の異なるアドレス部とで構成された可変語長
命令からなるプログラムを実行してデータ処理を行うデ
ータ処理装置において、可変語長命令を構成するオペコ
ード部およびアドレス部を、オペコード部およびアドレ
ス部毎に連続するアドレスに格納して上記プログラムを
記憶したプログラム記憶手段と、上記プログラム記憶手
段に格納された上記可変語長命令のオペコード部および
アドレス部毎に対応して設定されたラベルを同一アドレ
スに複数記憶したラベル記憶手段と、上記ラベル記憶手
段の同一アドレスに複数記憶されたラベルを1回のアク
セスで同時に読出し、その複数のラベルを参照し上記プ
ログラム記憶手段から可変語長命令を読出して実行する
命令実行手段と、を具備することを特徴とする。
【0014】請求項2記載の発明では、請求項1記載の
データ処理装置において、ラベル記憶手段は、可変語長
命令を構成するオペコード部およびアドレス部が命令先
頭であるか否かを示す命令先頭情報と、可変語長命令を
構成するオペコード部およびアドレス部が演算実行する
ものであるか否かを示す実行条件と、からなるラベルを
記憶する、ことを特徴とする。
【0015】請求項3記載の発明では、請求項2記載の
データ処理装置において、命令実行手段は、複数のラベ
ルを参照し上記プログラム記憶手段から可変語長命令を
読出して実行する際、1回のアクセスで同時に複数読出
したラベルのうち、命令先頭情報に基づき命令先頭を示
しているラベルがあるか否かを判断し、命令先頭を示し
ているラベルがない場合には、ラベル記憶手段から次の
アドレスに複数記憶されたラベルを読出す一方、命令先
頭を示しているラベルがある場合には、続いてそのラベ
ルの実行条件を判断して、その実行条件が演算実行を示
していれば対応するオペコード部またはアドレス部を上
記プログラム記憶手段から読出して実行し、演算実行を
示していなければ対応するオペコード部またはアドレス
部を上記プログラム記憶手段から読出さずにスキップす
る、ことを特徴とする。
【0016】請求項4記載の発明では、請求項2記載の
データ処理装置において、命令実行手段は、基本命令が
実行された際にその演算結果が設定されると共に、その
設定が上記基本命令に続く応用命令の実行条件の判断に
使用されるパワーフローレジスタを有し、プログラム記
憶手段は、上記基本命令および応用命令の可変語長命令
からなるプログラムを記憶する一方、ラベル記憶手段
は、命令先頭情報と、可変語長命令を構成するオペコー
ド部およびアドレス部が演算実行するものであるか否か
を上記パワーフローレジスタの設定に基づいて示す実行
条件と、からなるラベルを記憶し、上記命令実行手段
は、上記ラベル記憶手段の同一アドレスに複数記憶され
たラベルを1回のアクセスで同時に読出し、その複数の
ラベルを参照し上記プログラム記憶手段から可変語長命
令を読出して実行するプログラム実行処理をサイクリッ
クに行う、ことを特徴とする。
【0017】請求項5記載の発明では、請求項4記載の
データ処理装置において、命令実行手段は、複数のラベ
ルを参照し上記プログラム記憶手段から可変語長命令を
読出して実行する際、1回のアクセスで同時に複数読出
したラベルのうち、命令先頭情報に基づき命令先頭を示
しているラベルがあるか否かを判断し、命令先頭を示し
ているラベルがない場合には、ラベル記憶手段から次の
アドレスに複数記憶されたラベルを読出す一方、命令先
頭を示しているラベルがある場合には、続いてそのラベ
ルの実行条件をパワーフローレジスタの設定に基づき判
断して、その実行条件がパワーフローレジスタの設定に
基づき演算実行を示していれば対応するオペコード部ま
たはアドレス部を上記プログラム記憶手段から読出して
実行し、パワーフローレジスタの設定に基づき演算実行
を示していなければ対応するオペコード部またはアドレ
ス部を上記プログラム記憶手段から読出さずにスキップ
する、ことを特徴とする。
【0018】このため、以上のように構成された請求項
1〜5記載の発明では、プログラム記憶手段は、可変語
長命令を構成するオペコード部およびアドレス部をその
オペコード部およびアドレス部毎に連続するアドレスに
格納してプログラムを記憶し、ラベル記憶手段は、可変
語長命令のオペコード部およびアドレス部毎に対応して
設定されたラベルを同一アドレスに複数記憶しているの
で、命令実行手段は、ラベル記憶手段の同一アドレスに
複数記憶されたラベルを1回のアクセスで同時に読出し
て、その同時に読出した複数のラベルを参照しプログラ
ム記憶手段から可変語長命令を読出して実行する。
【0019】
【発明の実施の形態】以下、本発明に係るデータ処理装
置の実施形態を図面に基づいて説明する。
【0020】図1に、本発明に係るデータ処理装置の実
施形態であるプログラマブルコントローラの構成を示
す。
【0021】このプログラマブルコントローラは、図に
示すように、プロセッサ11と、システムプログラムが
格納されたシステムメモリ12と、プロセッサ11のワ
ークエリアとして使用されるワークメモリ13と、ユー
ザプログラムメモリ14と、データメモリ15と、入出
力(I/O)インタフェース16と、がアドレスバスや
データバスからなる内部バス17を介し接続して構成さ
れている。
【0022】プロセッサ11は、システムメモリ12に
格納されたシステムプログラムを実行することにより、
いわゆる入出力処理、プログラム実行処理、周辺サービ
ス処理等をサイクリックに行うもので、プログラム実行
処理の際、命令実行手段として機能して、後述する図6
に示す手順でユーザプログラムメモリ14に格納された
ユーザプログラムを構成するラダー言語等の各可変語長
命令を読出し、またはスキップして演算実行を行うもの
である。
【0023】そして、このプロセッサ11は、図に示す
ように、パワーフローレジスタ11aを内蔵している。
【0024】パワーフローレジスタ11aは、“LOA
D”や“AND”、“OR”等の基本命令が実行された
際、その演算結果を1ビットで設定するもので、その設
定に基づいてユーザプログラム中でその基本命令に続く
応用命令を演算実行するのか、あるいは演算実行しない
のかを判断するために使用されるもので、プログラム実
行処理等をサイクリックに行うプログラマブルコントロ
ーラ特有のものである。
【0025】ユーザプログラムメモリ14は、プログラ
ム記憶手段として、上記基本命令や応用命令からなるラ
ダー言語等の各種可変語長命令をユーザの設定によりプ
ログラミングしたユーザプログラムを予め記憶したもの
である。
【0026】データメモリ15は、入出力(I/O)デ
ータを記憶すると共に、ラベル記憶手段としてユーザプ
ログラムメモリ14に格納されたユーザプログラムを構
成する各可変語長命令のオペコード部およびアドレス部
の命令構成要素毎に後述するラベルを記憶したものであ
る。
【0027】図2は、ユーザプログラムメモリ14にお
けるユーザプログラムを構成する可変語長命令の格納方
法を示している。
【0028】ユーザプログラムメモリ14は、ユーザプ
ログラムを構成する各可変語長命令を、その命令を構成
するオペコード部およびアドレス部の命令構成要素毎に
連続したアドレスに格納している。
【0029】具体的には、ユーザプログラムメモリ14
では、図に示すように、例えば可変語長命令(図では
「命令」という。)1〜4をその命令構成要素毎に連続
したアドレス“×××1〜×××7”に格納しており、
可変語長命令1は、オペコード部の先頭語のみからなる
ので1つのアドレス“×××1”に格納しており、可変
語長命令2は、オペコード部の先頭語と、2つのアドレ
ス部とからなるので連続した3つのアドレス“×××2
〜×××4”に格納し、可変語長命令3は、オペコード
部の先頭語と、1つのアドレス部とからなるので連続し
た2つのアドレス“×××5〜×××6”に格納し、可
変語長命令4は、オペコード部の先頭語のみからなるの
で1つのアドレス“×××7”に格納している。
【0030】なお、各アドレスに格納された各可変語長
命令1〜4のオペコード部およびアドレス部の命令構成
要素毎に、次に説明する命令先頭情報と実行条件とから
なるラベル1〜10が設定される。
【0031】図3は、各可変語長命令を構成するオペコ
ード部およびアドレス部の命令構成要素毎に設定される
ラベルLの内容を示している。
【0032】ラベルLは、図に示すように、L0〜L3
の4ビットで構成されており、最上位1ビットL3が、
対応するオペコード部およびアドレス部が命令の先頭語
であるか否かを示す命令先頭情報であり、下位3ビット
L2〜L0が、プロセッサ11のパワーフローレジスタ
の値(PF)に基づいて演算実行するか否かを示す実行
条件である。
【0033】具体的には、命令先頭情報であるL3のビ
ットが“1”の場合は、命令先頭であり、L3のビット
が“0”の場合は、命令先頭でないことを示している。
また、実行条件であるL2〜L0の下位3ビットが、
“000”の場合は、必ず演算実行するという実行条件
を示しており、“001”の場合は、パワーフローレジ
スタ11aの値(PF)が“1”のときに演算実行し、
“010”の場合は、パワーフローレジスタ11aの値
(PF)が“0”のときに演算実行し、“111”の場
合は、常に演算実行しないという実行条件を示してい
る。
【0034】図4は、図2に示すプログラムメモリ14
に格納された各可変語長命令の命令構成要素毎のラベル
1〜7の内容の具体例を示している。
【0035】つまり、図に示すように、ラベル1は“1
000”と設定され、対応するオペコード部またはアド
レス部が命令先頭で必ず演算実行するものである、とい
うことを示しており、ラベル2,5は“1001”と設
定され、対応するオペコード部またはアドレス部が命令
先頭でパワーフローレジスタ11aの値(PF)が
“1”のとき演算実行するものであるということを示し
ている。
【0036】また、ラベル3,4,6は“0000”と
設定され、対応するオペコード部またはアドレス部が命
令先頭でないということを示しており、ラベル7は“1
010”と設定され、対応するオペコード部またはアド
レス部が命令先頭でパワーフローレジスタ11aの値
(PF)が“0”のとき演算実行するものであるという
ことを示している。
【0037】図5は、データメモリ15におけるラベル
の格納方法を示している。
【0038】データメモリ15は、図示はしていないが
入出力データを16ビットで格納しているので、図に示
すようにその入出力データの格納エリアとは別エリア
に、可変語長命令の命令構成要素毎の上述した4ビット
のラベルを、同一アドレスに4個ずつ格納して、1回の
アクセスで4個のラベルを同時に読み出せるようにして
いる。
【0039】具体的には、図に示すように、アドレス
“△△△1”にラベル1〜4を格納しており、アドレス
“△△△2”にラベル5〜8を格納し、・・・アドレス
“△△△3”にラベル9〜12を格納し、・・・という
ように連続した4個のラベルを同一アドレスに順に格納
している。
【0040】次に、以上のように構成されたプログラマ
ブルコントローラの演算処理を説明する。
【0041】図6に、このプログラマブルコントローラ
の演算処理の手順を示す。
【0042】プログラマブルコントローラでは、プロセ
ッサ1が演算処理を行うが、プロセッサ1は、まず、デ
ータメモリ15におけるラベルの格納エリアにアクセス
して、同一アドレスに格納された4個のラベルを同時に
読出し(ステップ100)、読出した4個の各ラベルの
最上位ビットの命令先頭情報を参照して、その4個の各
ラベルのうち、ラベルの番号の若い順に着目していって
命令先頭情報が“1”、すなわち命令先頭情報が命令先
頭を示しているラベルがあるか否かを判断する(ステッ
プ200)。
【0043】ここで、命令先頭情報が命令先頭を示して
いるラベルがない場合には(ステップ200“N
o”)、上記ステップ100の処理に戻って次のアドレ
スの4個のラベルを読出す。
【0044】その一方、命令先頭情報が命令先頭を示し
ているラベルがある場合には(ステップ200“Ye
s”)、続いてそのラベルの下位3ビットからなる実行
条件が演算実行を示しているか否かを判断して(ステッ
プ300)、その実行条件が演算実行を示している場合
のみ(ステップ300“Yes”)、図示しないプログ
ラムカウンタの値等を基に該当するオペコード部やアド
レス部等の命令構成要素をプログラムメモリ14から読
出して(ステップ400)、その命令構成要素の演算を
実行する(ステップ500)。
【0045】ここで、命令構成要素の演算実行とは、0
アドレス方式の命令語であれば、そのオペコード部を解
読して実行し、0アドレス方式以外の命令語であれば、
その命令構成要素がオペコード部である場合には、その
オペコード部の解読や、その解読結果に応じた演算回路
の選択等、命令構成要素がアドレス部である場合には、
そのアドレス部が示すオペランドであるデータをデータ
メモリ15から読出して上記選択した演算回路により演
算等させる処理をいう。
【0046】そして、再度上記ステップ200の処理に
戻って、同時に読出した残りのラベルに命令先頭情報が
命令先頭を示しているラベルがあるか否かを判断し、命
令先頭情報が命令先頭を示しているラベルがある場合に
は(ステップ200“Yes”)、上記ステップ300
〜500の処理を同様に行う一方、命令先頭情報が命令
先頭を示しているラベルがない場合には(ステップ20
0“No”)、上記ステップ100の処理に戻って次の
アドレスの4個のラベルを読出すようにする。
【0047】次に、図4や図5に示すラベル1〜7を参
照して、図6に示す演算処理の流れを具体的に説明す
る。
【0048】なお、プロセッサ11内のパワーフローレ
ジスタ11aの値(PF)は、最初“0”に設定されて
いるものとする。
【0049】まず、プロセッサ11は、図6のステップ
100の処理により、データメモリ15のアドレス“△
△△1”からラベル1〜4を同時に読出し、図4に示す
ようにラベル1は“1000”であり、命令先頭で必ず
演算実行するという内容を示しているので、ステップ2
00の処理により命令先頭のラベルと判断され、続くス
テップ300の判断により演算実行と判断されるので、
ステップ400,500の処理により、ラベル1に対応
した命令構成要素である命令1のオペコード部をプログ
ラムメモリ14から読出して演算実行し、ステップ20
0の処理に戻る。
【0050】ステップ200の処理に戻ると、次に、ラ
ベル1と同時に読出した残りのラベル2〜4のうち、ラ
ベル2の内容が図4に示すように“1001”で、命令
先頭でPF=1のとき演算実行という内容を示している
ので、このステップ200の判断でラベル2が命令先頭
のラベルと判断される。そして、続くステップ300の
判断により、パワーフローレジスタ11aの値が“0”
に設定されているので、演算実行せずと判断され、ステ
ップ400,500の読出しおよび演算実行の処理を行
わずスキップして、ステップ200の処理に戻る。
【0051】ステップ200の処理に戻ると、次に、残
りのラベル3,4の内容が、図4に示すように共に“0
000”であるので、このステップ200の判断で、命
令先頭のラベルなしと判断され、ステップ300〜50
0の処理であるラベル3,4に対応した命令構成要素で
ある命令2のアドレス部の読出しや、演算実行等を行わ
ずにスキップして、ステップ100の処理に戻る。その
結果、命令2については、何らオペコード部およりアド
レス部の読出しも演算も行われないことになる。
【0052】ステップ100の処理に戻ると、プロセッ
サ11は、図5に示すようにデータメモリ15の次のア
ドレス“△△△2”を指定してラベル5〜8を同時に読
出し、図4に示すようにラベル5は“1001”であ
り、ラベル2と同様に命令先頭でPF=1のとき演算実
行という内容を示しているので、ステップ200の判断
で命令先頭のラベルと判断され、続くステップ300の
判断により、パワーフローレジスタ11aの値が“0”
に設定されたままで、演算実行せずと判断されるので、
ステップ400,500の処理を行わずスキップして、
ステップ200の処理に戻る。
【0053】ステップ200の処理に戻ると、次に、ラ
ベル5と同時に読出した残りのラベル6〜8のうち、ラ
ベル6の内容が図4に示すように、“0000”で命令
先頭でないということを示しているので、ラベル6はス
テップ200の判断によりスキップされる。その結果、
命令3については、何らオペコード部およりアドレス部
の読出しも演算も行われないことになる。
【0054】一方、ラベル7の内容は、図4に示すよう
に、“1010”で、命令先頭でPF=0のとき演算実
行という内容を示しているので、このステップ200の
判断でラベル7が命令先頭のラベルと判断され、続くス
テップ300の判断により、パワーフローレジスタ11
aの値が“0”に設定されているので、このラベル7は
演算実行すると判断され、ステップ400,500の処
理により、ラベル7に対応した命令構成要素である命令
4のオペコード部をプログラムメモリ14から読出して
演算実行し、ステップ200の処理に戻る。
【0055】このように、図4に示すラベル1〜7が対
応して設定された図2に示すような可変語長命令1〜4
があって、命令2,3をスキップして実行する場合、従
来技術であればスキップすべき命令2,3の先頭語であ
るオペコード部も読出し、各命令1〜4のオペコード部
を全て読出すようにしていたが、本実施形態によれば、
スキップする命令2,3についてはそのオペコード部を
プログラムメモリ14から読出す必要がなくなる。
【0056】従って、本実施形態によれば、プロセッサ
11が命令先頭情報と実行条件とからなるラベルの内容
を判断することによって、実行すべき命令のみをプログ
ラムメモリ14から読取って実行する一方、実行しない
命令はオペコード部さえもプログラムメモリ14から読
出さずにスキップするので、命令演算をスキップさせる
場合、次に実行する命令まで高速にスキップすることが
できる。
【0057】このため、プロセッサ11の演算時間のほ
とんどが、実行すべき命令の有効な演算実行にのみ使用
されることになり、プロセッサ11の演算速度を高速化
することができると共に、スキップする命令のオペコー
ド部へのメモリアクセスという無駄なアクセスも排除す
ることが可能になる。
【0058】また、本実施形態によれば、各命令の命令
構成要素毎の4ビットのラベルを4個ずつデータメモリ
15の同一アドレスに順に格納し、各命令を読出す際に
は、データメモリ15から同一アドレスのラベルを4個
ずつ読出して、各命令の4個の命令要素毎に命令先頭で
あるか否かと、実行条件とを判断した後、各命令の命令
要素をプログラムメモリ14から読出して実行するよう
にしているので、語長の短い命令であれば、複数の命令
のラベルを同時に読出して実行条件等を判断することが
でき、この点でもプロセッサ11の演算速度が高速化さ
れる。
【0059】なお、本実施形態では、ラベルを4ビット
で構成して示し、またその実行条件をパワーフローレジ
スタ11aの値に基づいて設定するようにしたが、本発
明では、これに限定されることはなく、ラベルは、4ビ
ット以外でも良く、また、その実行条件をパワーフロー
レジスタ11aの値とは関係なく設定するようにしても
良い。このようにした場合、パワーフローレジスタ11
aは不要になるので、本発明は、パワーフローレジスタ
11aを持たないプロセッサからなる一般のデータ処理
装置にも適用可能になる。
【0060】
【発明の効果】以上説明したように、本発明では、可変
語長命令を構成するオペコード部およびアドレス部毎
に、命令先頭情報や実行条件からなるラベルを格納し
て、そのラベルを1メモリアドレスで数語分読出せるよ
うにし、しかもそのラベルを参照して実行すべき命令の
みをプログラム記憶手段から読出して実行する一方、実
行しない命令はプログラム記憶手段から読出さずにスキ
ップするようにしたので、命令演算をスキップさせる場
合、次に実行すべき命令まで高速にスキップすることが
できる。
【0061】このため、演算時間のほとんどが実行すべ
き命令の有効な演算実行にのみ使用されることになり、
演算速度を高速化することができると共に、スキップす
る命令へのメモリアクセスという無駄なアクセスも排除
することが可能になる。
【図面の簡単な説明】
【図1】本発明に係るデータ処理装置の実施形態である
プログラマブルコントローラの構成を示すブロック図。
【図2】ユーザプログラムメモリにおけるユーザプログ
ラムを構成する可変語長命令の格納方法を示す説明図。
【図3】各可変語長命令を構成するオペコード部および
アドレス部の命令構成要素毎に設定されるラベルLの内
容を示す説明図。
【図4】プログラムメモリに格納された各可変語長命令
の命令構成要素毎のラベル1〜7の内容の具体例を示す
説明図。
【図5】データメモリにおけるラベルの格納方法を示す
説明図。
【図6】プログラマブルコントローラの演算処理の手順
を示すフローチャート。
【図7】従来のデータ処理装置における可変語長命令の
スキップ方法の一例。
【図8】従来のデータ処理装置における可変語長命令の
スキップ方法の他の例。
【図9】従来のデータ処理装置における可変語長命令の
スキップ方法の他の例。
【符号の説明】
11 プロセッサ(命令実行手段) 11a パワーフローレジスタ 12 システムメモリ 13 ワークメモリ 14 プログラムメモリ(プログラム記憶手段) 15 データメモリ(ラベル記憶手段) 16 入出力(I/O)インタフェース L ラベル L3 命令先頭情報 L2〜L0 実行条件

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 オペコード部と、命令によって語数の異
    なるアドレス部とで構成された可変語長命令からなるプ
    ログラムを実行してデータ処理を行うデータ処理装置に
    おいて、 可変語長命令を構成するオペコード部およびアドレス部
    を、オペコード部およびアドレス部毎に連続するアドレ
    スに格納して上記プログラムを記憶したプログラム記憶
    手段と、 上記プログラム記憶手段に格納された上記可変語長命令
    のオペコード部およびアドレス部毎に対応して設定され
    たラベルを同一アドレスに複数記憶したラベル記憶手段
    と、 上記ラベル記憶手段の同一アドレスに複数記憶されたラ
    ベルを1回のアクセスで同時に読出し、その複数のラベ
    ルを参照し上記プログラム記憶手段から可変語長命令を
    読出して実行する命令実行手段と、 を具備することを特徴とするデータ処理装置。
  2. 【請求項2】 ラベル記憶手段は、 可変語長命令を構成するオペコード部およびアドレス部
    が命令先頭であるか否かを示す命令先頭情報と、 可変語長命令を構成するオペコード部およびアドレス部
    が演算実行するものであるか否かを示す実行条件と、 からなるラベルを記憶する、 ことを特徴とする請求項1記載のデータ処理装置。
  3. 【請求項3】 命令実行手段は、 複数のラベルを参照し上記プログラム記憶手段から可変
    語長命令を読出して実行する際、 1回のアクセスで同時に複数読出したラベルのうち、命
    令先頭情報に基づき命令先頭を示しているラベルがある
    か否かを判断し、命令先頭を示しているラベルがない場
    合には、ラベル記憶手段から次のアドレスに複数記憶さ
    れたラベルを読出す一方、命令先頭を示しているラベル
    がある場合には、続いてそのラベルの実行条件を判断し
    て、その実行条件が演算実行を示していれば対応するオ
    ペコード部またはアドレス部を上記プログラム記憶手段
    から読出して実行し、演算実行を示していなければ対応
    するオペコード部またはアドレス部を上記プログラム記
    憶手段から読出さずにスキップする、 ことを特徴とする請求項2記載のデータ処理装置。
  4. 【請求項4】 命令実行手段は、 基本命令が実行された際にその演算結果が設定されると
    共に、その設定が上記基本命令に続く応用命令の実行条
    件の判断に使用されるパワーフローレジスタを有し、 プログラム記憶手段は、 上記基本命令および応用命令の可変語長命令からなるプ
    ログラムを記憶する一方、 ラベル記憶手段は、 命令先頭情報と、可変語長命令を構成するオペコード部
    およびアドレス部が演算実行するものであるか否かを上
    記パワーフローレジスタの設定に基づいて示す実行条件
    と、からなるラベルを記憶し、 上記命令実行手段は、 上記ラベル記憶手段の同一アドレスに複数記憶されたラ
    ベルを1回のアクセスで同時に読出し、その複数のラベ
    ルを参照し上記プログラム記憶手段から可変語長命令を
    読出して実行するプログラム実行処理をサイクリックに
    行う、 ことを特徴とする請求項2記載のデータ処理装置。
  5. 【請求項5】 命令実行手段は、 複数のラベルを参照し上記プログラム記憶手段から可変
    語長命令を読出して実行する際、 1回のアクセスで同時に複数読出したラベルのうち、命
    令先頭情報に基づき命令先頭を示しているラベルがある
    か否かを判断し、命令先頭を示しているラベルがない場
    合には、ラベル記憶手段から次のアドレスに複数記憶さ
    れたラベルを読出す一方、命令先頭を示しているラベル
    がある場合には、続いてそのラベルの実行条件をパワー
    フローレジスタの設定に基づき判断して、その実行条件
    がパワーフローレジスタの設定に基づき演算実行を示し
    ていれば対応するオペコード部またはアドレス部を上記
    プログラム記憶手段から読出して実行し、パワーフロー
    レジスタの設定に基づき演算実行を示していなければ対
    応するオペコード部またはアドレス部を上記プログラム
    記憶手段から読出さずにスキップする、 ことを特徴とする請求項4記載のデータ処理装置。
JP24204995A 1995-09-20 1995-09-20 データ処理装置 Expired - Lifetime JP3441262B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP24204995A JP3441262B2 (ja) 1995-09-20 1995-09-20 データ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP24204995A JP3441262B2 (ja) 1995-09-20 1995-09-20 データ処理装置

Publications (2)

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

Family

ID=17083516

Family Applications (1)

Application Number Title Priority Date Filing Date
JP24204995A Expired - Lifetime JP3441262B2 (ja) 1995-09-20 1995-09-20 データ処理装置

Country Status (1)

Country Link
JP (1) JP3441262B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015118468A (ja) * 2013-12-17 2015-06-25 株式会社東芝 プログラマブルコントローラ

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015118468A (ja) * 2013-12-17 2015-06-25 株式会社東芝 プログラマブルコントローラ

Also Published As

Publication number Publication date
JP3441262B2 (ja) 2003-08-25

Similar Documents

Publication Publication Date Title
JP2883784B2 (ja) マイクロコンピュータ
JP3441262B2 (ja) データ処理装置
JPH10240522A (ja) 演算装置
JP2525492B2 (ja) プログラマブルコントロ―ラ
JP3024719B2 (ja) プログラマブルコントローラの演算処理方法
JPH06324861A (ja) Cpu制御システム及び制御方法
JP3207333B2 (ja) プログラマブルコントロ−ラ
JP3008890B2 (ja) 処理制御装置
JP3074809B2 (ja) プログラマブル・コントローラ
JP2727023B2 (ja) 情報処理装置
JPH1139159A (ja) 計算機システム
JP2982129B2 (ja) マイクロプログラム制御装置
JP2544533B2 (ja) プログラマブルコントロ―ラのシ―ケンス命令処理装置
JP2743947B2 (ja) マイクロプログラム制御方式
JPH0981275A (ja) 演算処理装置
JPH05241890A (ja) データトレース方式
JPH08161010A (ja) ラダーシーケンスプログラム演算装置
JPS63276629A (ja) ファイル内レコ−ドのソ−ト方式
JPH0535499A (ja) データ処理装置及びデータ処理方法
JPH08272411A (ja) ラダー命令処理装置
JPH11288306A (ja) プログラマブルコントローラの演算方式
JPH08297583A (ja) 割り込み処理装置およびその方法
JPH0944355A (ja) プログラマブルコントローラ
JPS5849897B2 (ja) プログラム制御装置
JPH0612260A (ja) 割込み処理方法及び装置

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