Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP2559929B2 - プログラマブルコントローラ - Google Patents
[go: Go Back, main page]

JP2559929B2 - プログラマブルコントローラ - Google Patents

プログラマブルコントローラ

Info

Publication number
JP2559929B2
JP2559929B2 JP3234987A JP23498791A JP2559929B2 JP 2559929 B2 JP2559929 B2 JP 2559929B2 JP 3234987 A JP3234987 A JP 3234987A JP 23498791 A JP23498791 A JP 23498791A JP 2559929 B2 JP2559929 B2 JP 2559929B2
Authority
JP
Japan
Prior art keywords
instruction
execution
processing unit
flag
bit
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 - Fee Related
Application number
JP3234987A
Other languages
English (en)
Other versions
JPH0573113A (ja
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.)
Panasonic Electric Works Co Ltd
Original Assignee
Matsushita Electric Works Ltd
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 Matsushita Electric Works Ltd filed Critical Matsushita Electric Works Ltd
Priority to JP3234987A priority Critical patent/JP2559929B2/ja
Publication of JPH0573113A publication Critical patent/JPH0573113A/ja
Application granted granted Critical
Publication of JP2559929B2 publication Critical patent/JP2559929B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Programmable Controllers (AREA)
  • Advance Control (AREA)
  • Multi Processors (AREA)
  • Devices For Executing Special Programs (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、メインプロセッサとは
別に命令実行専用のコプロセッサを設けたプログラマブ
ルコントローラに関するものである。
【0002】
【従来の技術】従来より、プログラマブルコントローラ
の処理速度を向上させることなどを目的として、図6に
示すように、従来から用いられている汎用のメインプロ
セッサ11と並行動作する命令実行専用のコプロセッサ
21を設けることが提案されている。コプロセッサ21
としては、処理の高速化を図るために、縮小命令セット
プロセッサ(RISCプロセッサ)が用いられる。この
場合、ユーザ等により設計されてソースプログラムメモ
リ12に格納されたシーケンスプログラムのソースコー
ドは、コンパイルされて縮小命令に変換された後にオブ
ジェクトプログラムメモリ22に格納され、基本命令や
応用命令はオブジェクトプログラムメモリ22に格納さ
れた縮小命令よりなるオブジェクトコードに基づいてコ
プロセッサ21で実行される。ソースコードのコンパイ
ルは、システムメモリ13に格納されたコンパイラを用
いてメインプロセッサ11によって行われる。また、メ
インプロセッサ11は、シーケンスプログラムの命令の
実行には用いられず、ソースコードのコンパイルのほ
か、インタフェース14を通して行われる周辺装置の制
御や通信の制御に用いられる。メインプロセッサ11と
コプロセッサ21との間の通信はバスコントローラ15
を介して行われる。ここに、メインプロセッサ11のデ
ータバスは16ビットであり、コプロセッサ21のデー
タバスは、オブジェクトプログラムメモリ22との間で
は32ビット、データメモリ23との間では16ビット
になっている。バスコントローラ15は、メインプロセ
ッサ11の16ビットのデータバスとコプロセッサ21
の32ビットのデータバスとを結合する機能を有してい
る。コプロセッサ21の内部処理は32ビットで行われ
るから、RISCプロセッサであることとあいまって命
令をメインプロセッサ11よりも高速に実行できるので
ある。
【0003】ソースコードとオブジェクトコードとの関
係は、図7のようになる。たとえば、ソースコードでは
3命令であって、各命令のワード数が2、4、4である
とき、縮小命令を用いたオブジェクトコードのワード数
は、ソースコードの各命令に対して、たとえば、3、
7、5などとなる。オブジェクトコードでは、1ワード
が1命令に対応するのであって、上述した例では、ソー
スコードで2ワードを用いる1命令が、オブジェクトコ
ードでは3命令などとなっている。
【0004】ところで、ソースコードにおける基本命令
はビット処理命令であり、応用命令はそれ以外の命令に
なるから、コプロセッサ21では、図8に示すように、
基本命令に対応したビット処理命令を専門に実行するビ
ット処理ユニット31と、応用命令に対応した命令を専
門に実行するマルチビット処理ユニット32とを設け、
一方で命令実行を行っている間に他方でフェッチを行う
など、パイプライン制御による実行の高速化を図ってい
る。このようなパイプライン制御を行うために、マルチ
ビット処理ユニット32の実行条件として、ビット処理
ユニット31から出力されるビットアキュムレータbacc
がHレベル(以下、Hレベルを1とする)であり、か
つ、マルチビット処理ユニット32の内部でのエラーの
発生により送出される内部エラーフラグierrが0である
ことを要求している。すなわち、ビットアキュムレータ
baccおよび内部エラーフラグierrを、ノット回路NOT
1 およびアンド回路AND1 よりなる実行制御ユニット
33に入力し、実行制御ユニット33の出力をマルチビ
ット処理ユニット32に入力することによって上記実行
条件による制御を行うのである。ビットアキュムレータ
baccは、ビット処理ユニット31においてビット処理命
令の実行結果によってセットまたはリセットされるので
あって、マルチビット処理ユニット32に実行を移すと
きにセットされる(1になる)。ここに、ビット処理ユ
ニット32で処理するビット処理命令は、実行のみであ
るからビットアキュムレータbaccの影響を受けることは
ない。
【0005】
【発明が解決しようとする課題】上述のような構成にお
いて、ソースコードの応用命令をオブジェクトコードに
展開したときにステップ数が非常に多くなることがあ
る。このような場合には、オブジェクトコードの一部を
サブルーチン化することによって、オブジェクトプログ
ラムメモリ22の容量を節約することが考えられる。
【0006】ここで、サブルーチンの中に除算命令が含
まれているとすると、サブルーチン内では除数が0であ
る場合などにエラーが生じることになる。ところで、サ
ブルーチンへはメインルーチンでのコール命令によって
移行し、サブルーチンの末尾のリターン命令によってメ
インルーチンに戻るようになっているのが普通である。
しかしながら、サブルーチン内でエラーが生じると、以
後の処理が行われず、リターン命令を実行することがで
きないために、メインルーチンに戻れなくなるという問
題が生じる。
【0007】エラーに対する一般的な処理としては、エ
ラーが発生した時点で実行を停止することが考えられて
いるが、上述したように、ソースコードを展開してオブ
ジェクトコードを得ているものであるから、オブジェク
トコードの任意の位置で実行を停止すると、実行停止時
点がどのような意味を持つのかわからなくなるという問
題がある。すなわち、実行の監視などはソースコードの
命令単位で行われるのに対して、ソースコードの1命令
に相当するオブジェクトコードの単位とは無関係に実行
を停止すると、次に実行を再開する際に、ソースコード
に対応しないことになって不都合が生じるのである。要
するに、サブルーチンの途中でエラーが生じることによ
ってメインルーチンに戻れなくなると、ソースコードの
次の命令に対応するオブジェクトコードのブロックの先
頭で実行を停止させる処理ができないという問題が生じ
るのである。
【0008】エラーに対する他の処理としては、オブジ
ェクトコードの命令に1ビットの終了位置指定フィール
ドを設け、ソースコードの1命令に対応するオブジェク
トコードのブロックの最終位置の命令における終了位置
指定フィールドの値を、他の位置の命令の終了位置指定
フィールドの値とは異ならせておくことにより、終了位
置指定フィールドの値によって、エラーの発生時の実行
の停止時点を制御することが考えられている。このよう
な処理を行えば、メインルーチン内でエラーが生じたと
きには、以後の命令を非実行(NOP)とし、ソースコ
ードの1命令に対応させて実行の停止処理を行うことが
できるのであるが、サブルーチン内にはブロックの終了
位置は存在しないから、サブルーチン内でエラーが生じ
たときには、サブルーチン以後の領域でブロックの終了
位置に相当する箇所を見つけたときに停止することにな
る。すなわち、ソースコードの次の命令ではなく、他の
命令に対応する時点で実行が停止するという問題が生じ
る。
【0009】ところで、エラーの判定処理には、マルチ
ビット処理ユニット32の内部で、オブジェクトコード
の命令が除算やBCD変換のように1命令でエラーが発
生する可能性がある場合、ハードウェアでエラーフラグ
を設定する機能がある。一方、たとえば、インデクス修
飾(インデクスレジスタ内の値に所定の加算値を加えた
値をアドレスとしてメモリをアクセスする)によって指
定したアドレスが、メモリのデータ領域内であるかどう
かの判定など、オブジェクトコードの命令を組み合わせ
て判定処理を行いたい場合もある。しかしながら、従来
は、オブジェクトコードのプログラムによって得られた
判定結果についてはエラーフラグとして設定する手段が
なく、このような判定結果をマルチビット処理ユニット
32の実行制御に用いることができないという問題があ
った。
【0010】本発明は上記問題点の解決を目的とするも
のであり、オブジェクトコードのサブルーチン内でエラ
ーが発生してもリターン命令だけは強制的に実行できる
ような手段を設けることによって、メインルーチンへの
復帰ができるようにし、もって、ソースコードに対応さ
せた実行管理ができるようにし、また、オブジェクトコ
ードによるエラーの判定処理を行う場合でも判定結果を
用いてマルチビット処理ユニットの実行制御が行えるよ
うにしたプログラマブルコントローラを提供しようとす
るものである。
【0011】
【課題を解決するための手段】本発明では、上記目的を
達成するために、シーケンスプログラムを実行する命令
実行専用のコプロセッサをメインプロセッサとは別に備
え、シーケンスプログラムのソースコードをコンパイル
して得たオブジェクトコードをコプロセッサによって実
行するプログラマブルコントローラにおいて、コプロセ
ッサは、ソースコードの基本命令に対応したオブジェク
トコードを実行するビット処理ユニットと、ソースコー
ドの応用命令に対応したオブジェクトコードを実行する
マルチビット処理ユニットと、オブジェクトコードの命
令中の強制実行フラグセットフィールドによって強制実
行フラグがセットされる強制実行フラグレジスタと、オ
ブジェクトコードの命令中のエラーフラグセットフィー
ルドによって外部エラーフラグがセットされるエラーフ
ラグレジスタと、出力によってマルチビット処理ユニッ
トの実行状態を制御する実行制御ユニットとを備え、実
行制御ユニットは、実行許可信号がビット処理ユニット
から送出されないか、マルチビット処理ユニットから内
部でのエラー検出による内部エラーフラグが発生する
か、外部エラーフラグがエラーフラグレジスタにセット
されるかのいずれかの条件が満たされるとマルチビット
処理ユニットの実行を停止し、強制実行フラグが強制実
行フラグレジスタにセットされているときに他の条件に
かかわらずマルチビット処理ユニットを実行状態に設定
するのである。
【0012】
【作用】上記構成によれば、コプロセッサに、オブジェ
クトコード中の強制実行フラグセットフィールドによっ
て強制実行フラグがセットされる強制実行フラグレジス
タと、オブジェクトコード中のエラーフラグセットフィ
ールドによって外部エラーフラグがセットされるエラー
フラグレジスタと、出力値に基づいてマルチビット処理
ユニットの実行状態を制御することができる実行制御ユ
ニットを設けているのであって、実行許可信号がビット
処理ユニットから送出されないか、マルチビット処理ユ
ニットから内部でのエラー検出による内部エラーフラグ
が発生するか、外部エラーフラグがエラーフラグレジス
タにセットされるかのいずれかの条件が満たされるとマ
ルチビット処理ユニットの実行を停止し、強制実行フラ
グが強制実行フラグレジスタにセットされているときに
他の条件にかかわらずマルチビット処理ユニットを実行
状態に設定するので、たとえば、オブジェクトコードの
サブルーチンのリターン命令の強制実行フラグセットフ
ィールドの内容を、強制実行フラグレジスタに強制実行
フラグをセットする内容に設定しておけば、サブルーチ
ン内でエラーが生じたとしてもリターン命令だけは実行
するようにしてメインルーチンに復帰させることが可能
になり、結果的に、エラーが発生したときに、ソースコ
ードの1命令に対応したオブジェクトコードのブロック
の区切り目で実行を停止させるという処理が可能になる
のである。また、ソースコードの命令とオブジェクトコ
ードのブロックとを対応付けることができることによっ
て、デバッグや編集などが容易になるのである。さら
に、シーケンス命令以外のプログラムを強制的に実行さ
せることも可能になり、拡張性が増すことになる。
【0013】一方、外部エラーフラグをセットするエラ
ーフラグレジスタを設けたことによって、オブジェクト
コードの組み合わせによるエラーの判定処理などを行っ
た場合の判定結果に基づいて外部エラーフラグをエラー
フラグレジスタにセットするというような処理が可能に
なり、マルチビット処理ユニットから発生する内部エラ
ーフラグとは別に、エラー処理が可能になるのである。
その結果、オブジェクトコードのプログラムによって複
雑なエラーの判定条件を設定することができ、エラー処
理の拡張性が増すことになる。
【0014】
【実施例】プログラマブルコントローラの基本構成は、
図6に示した従来構成と同様であるから、以下では、主
としてコプロセッサ21の内部構成について説明する。
コプロセッサ21は、図8に示した従来構成に対して、
強制実行フラグレジスタ34、エラーフラグレジスタ3
5を付加し、実行制御ユニット33の構成を変更した点
で相違している。
【0015】強制実行フラグレジスタ34およびエラー
フラグレジスタ35は、それぞれ3入力のアンド回路A
ND2 ,AND3 と、アンド回路AND2 ,AND3
出力がクロック端子CKに入力されるDフリップフロッ
プFF1 ,FF2 とにより構成される。各アンド回路A
ND2 ,AND3 には、オブジェクトコードの後述する
フラグセット命令をデコードして得たフラグセット信号
sreqと、クロック信号clk とが入力され、また、アンド
回路AND2 の残りの入力端子にはフラグセット命令の
第3ビットb3 が入力され、アンド回路AND3 の残り
の入力端子にはフラグセット命令の第1ビットb1 が入
力される。また、DフリップフロップFF1 のデータ端
子Dには、フラグセット命令の第2ビットb2 が入力さ
れ、DフリップフロップFF2 のデータ端子Dには、フ
ラグセット命令の第0ビットb0 が入力される。フラグ
セット信号sreqは、フラグセット命令が発生したときに
Hレベル(以下、Hレベルを1とする)になるのであ
り、このとき同時に、フラグセット命令の第1ビットb
1 が1であると、クロック信号clk に同期してフラグセ
ット命令の第0ビットb0 の値がDフリップフロップF
2 にセットされる。また、フラグセット命令が発生し
たとき、フラグセット命令の第3ビットb3 が1である
と、クロック信号clk に同期してフラグセット命令の第
2ビットb2 の値がDフリップフロップFF1 にセット
されるのである。フラグセット命令の第0ビットb0
外部エラーフラグ、第1ビットb1 は外部エラーフラグ
の更新指示、第2ビットb2 は強制実行フラグ、第3ビ
ットb3 は強制実行フラグの更新指示というように意味
付けがなされている。
【0016】実行制御ユニット33は、Dフリップフロ
ップFF2 の出力であるエラーフラグレジスタ35の出
力と、マルチビット処理ユニット32の内部でエラーが
発生すると出力される内部エラーフラグierrとの論理和
をとるオア回路OR1 、オア回路OR1 の出力の否定を
出力するノット回路NOT1 、ビット処理ユニット31
からマルチビット処理ユニット32に対する実行許可信
号として出力されるビットアキュムレータbaccとノット
回路NOT1 との論理積を出力するアンド回路AN
1 、DフリップフロップFF1 の出力である強制実行
フラグレジスタ34の出力とアンド回路AND1 の出力
との論理和をとるオア回路OR2 により構成される。こ
のオア回路OR2 の出力がマルチビット処理ユニット3
2に対して実行を制御するように入力されるのである。
したがって、フラグセット命令による外部エラーフラグ
がエラーフラグレジスタ35にセットされておらず、エ
ラーフラグレジスタ35の内容が0であって、かつ、マ
ルチビット処理ユニット32から内部エラーフラグierr
が発生していないときであって、ビットアキュムレータ
baccが1であれば、マルチビット処理ユニット32は実
行状態になる。また、上の3つの前提の少なくとも1つ
が満たされていない場合であっても、強制実行フラグレ
ジスタ34の内容が1であれば、マルチビット処理ユニ
ット32は実行状態になるのである。要するに、エラー
フラグレジスタ35に対して外部エラーフラグをセット
すれば、マルチビット処理ユニット32の実行を停止さ
せることができ、強制実行フラグレジスタ34に対して
強制実行フラグをセットすれば、他の条件にかかわりな
くマルチビット処理ユニット32を強制的に実行状態に
設定することができるのである。
【0017】ところで、コプロセッサ21で用いる命令
には、図4に示すような4種類の形式がある。ここに、
src1、src2、dst1は、コプロセッサ21の内部レジスタ
を指定するためのフィールドである。図4(a)は、オ
ブジェクトプログラムメモリ22やデータメモリ23と
内部レジスタとの間のデータの移動命令に対応するMタ
イプと称する形式の命令である。上位6ビットは命令コ
ードフィールド(op-code)、次の3ビットは移動元を指
定するソースレジスタ指定フィールド(src1)、次の3ビ
ットは移動先を指定するディスティネーションレジスタ
指定フィールド(dst1)、次の4ビットはソースコードと
オブジェクトコードとの対応関係を示すステータスタグ
コードを格納するステータスタグフィールド(St) 、下
位16ビットはメモリアドレスのオフセット値を格納す
るオフセットフィールド(offset) になっている。ここ
に、移動元や移動先が内部レジスタであれば指定された
内部レジスタが移動元や移動先になり、移動元や移動先
がオブジェクトプログラムメモリ22やデータメモリ2
3であれば指定された内部レジスタに格納されたデータ
が移動元や移動先のアドレスになる。
【0018】図4(b)は、2個の内部レジスタに格納
された値の間での論理演算や算術演算の結果を他の内部
レジスタに格納するRタイプと称する形式の命令であ
る。上位ビットから命令コードフィールド(op-code)に
6ビット、2個の被演算値がそれぞれ格納された2個の
内部レジスタを指定するソースレジスタ指定フィールド
(src1),(src2)に3ビットずつ、ステータスタグフィー
ルド(St) に4ビット、演算結果を格納する内部レジス
タを指定するディスティネーションレジスタ指定フィー
ルド(dst1)に3ビットを用いている。残りの下位13ビ
ットはファンクションフィールド(function)として高機
能化などの目的で利用される空フィールドになってい
る。
【0019】図4(c)は、内部レジスタに格納された
値と、設定された値との間での論理演算や算術演算の結
果を他の内部レジスタに格納するIタイプと称する形式
の命令である。この形式の命令では、Mタイプの形式の
命令のオフセットフィールドに代えて即値用フィールド
(immediate) を設けている点が形式上の相違点である。
この命令では、ソースレジスタ指定フィールド(src1)に
格納された値と即値用フィールド(immediate) に設定さ
れた値との間で、論理演算や算術演算が行われるのであ
る。したがって、演算すべき2つの値の一方が即値用フ
ィールド(immediate) に設定に格納される点を除けば、
Rタイプの命令と同様の処理を行うことになる。
【0020】図4(d)は、2個の内部レジスタに格納
された値の大小関係に応じてプログラムカウンタで設定
されたアドレスにジャンプしたり、1個の内部レジスタ
に格納されたアドレスにジャンプしたりするJタイプと
称する形式の命令である。形式的には、Mタイプの形式
の命令のディスティネーションレジスタ指定フィールド
(dst1)に代えて、ソースレジスタ指定フィールド(src2)
を設けた形式になっている。すなわち、2個の内部レジ
スタを指定するソースレジスタ指定フィールド(src1),
(src2)に格納された値の大小関係を比較してプログムカ
ウンタで指定されたアドレスにジャンプしたり、いずれ
か一方のソースレジスタ指定フィールド(src1),(src2)
に格納された値をジャンプ先のアドレスとしてジャンプ
したりするのである。また、この形式の命令には無演算
命令も含まれる。
【0021】上述したステータスタグフィールド(St)
は4ビットであって、図5に示すように、ソースコード
の1単位を構成するワード数を格納するための3ビット
のコード数フィールド(code)と、ソースコードの各単位
に対応したオブジェクトコードのブロックの最後の命令
コードの位置を示す1ビットの終了位置指定フィールド
(end) とを備えている。ソースコードの1単位が複数ワ
ードであって対応するオブジェクトコードのブロックが
複数ワードである場合に、コンパイラはソースコードの
1単位に対応するオブジェクトコードのブロックの先頭
の命令コードのコード数フィールド(code)に、ソースコ
ードの1単位のワード数を設定する。また、同一ブロッ
ク内の他の命令コードについてはコード数フィールド(c
ode)を0に設定する。ここに、コード数フィールド(cod
e)は、3ビットであるから最大数は7になるが、ソース
コードの1単位が8ワード以上である場合もある。この
場合には、ソースコードの1単位に対応したオブジェク
トコードのブロックの先頭の命令コードから順にコード
数フィールド(code)にワード数を設定し、同一ブロック
内の合計のワード数が、ソースコードの1単位のワード
数になるようにすればよい。たとえば、ソースコードの
1単位が15ワードであれば、オブジェクトコードの対
応するブロックの命令コードのコード数フィールド(cod
e)は、ブロックの先頭の命令コードから順に、7、7、
1となる。
【0022】一方、ソースコードの1単位に対応するブ
ロックの終了位置は、終了位置指定フィールド(end) の
内容により指定される。すなわち、終了位置指定フィー
ルド(end) が、「0」のときにはブロックの途中の命令
コードを示し、「1」のときには最終位置の命令コード
を示すのである。フラグセット命令は、これら4種類の
命令のうちJタイプの命令であって、図2に示すよう
に、ソースレジスタ指定フィールド(src1),(src2)を未
使用とし、下位4ビットb0 〜b3 を上述したように意
味付けしているのである。すなわち、第0ビットb0
第1ビットb1 とがエラーフラグセットフィールドにな
り、第2ビットb2 と第3ビットb3 とが強制実行フラ
グセットフィールドになっているのであって、各フラグ
セットフィールドの上位側のビットb1 ,b3 が1であ
るときに、下位側のビットb0 ,b2 がそれぞれエラー
フラグレジスタ35と強制実行フラグレジスタ34とに
セットされる。また、下位4ビットb0 〜b3 に対して
このような意味付けをするのは、フラグセット用に設定
した専用の命令だけではなく、サブルーチンのリターン
命令なども同様に意味付けをすることができる。この場
合、リターン命令に対してもフラグセット信号sreqが発
生するようにデコーダを構成することが必要である。
【0023】以上のような構成によって、たとえば、サ
ブルーチンのリターン命令などをマルチビット処理ユニ
ット32で強制的に実行しようとすれば、強制実行フラ
グセットフィールドの両ビットをともに1にセットした
リターン命令がオブジェクトコードのプログラム中に書
き込まれるようにしておく。このようなリターン命令で
は、図3(a)に示すようにデコーダからフラグセット
命令sreqが発生し、また、図3(b)(c)に示すよう
に、命令の強制実行フラグセットフィールドである第2
ビットb2 および第3ビットb3 が1であるから、図3
(d)のようなクロック信号clk に同期してアンド回路
AND2 から図3(e)のような信号がDフリップフロ
ップFF1 のクロック端子CKに入力され、第2ビット
2 の値がラッチされるのである。これによって、マル
チビット処理ユニット32は強制的に実行状態になり、
リターン命令を実行することができるのである。
【0024】一方、強制実行フラグセットフィールドの
上位側である第3ビットb3 を1に設定し、下位側であ
る第2ビットb2 を0に設定しておけば、強制実行フラ
グを解除することができる。外部エラーフラグについて
も同様であって、第0ビットb0 と第1ビットb1 とを
ともに1に設定すれば、外部エラーフラグが設定され、
第1ビットb1 を1、第0ビットb0 を0に設定すれ
ば、外部エラーフラグが解除されるのである。
【0025】
【発明の効果】本発明は上述のように、コプロセッサ
に、オブジェクトコード中の強制実行フラグセットフィ
ールドによって強制実行フラグがセットされる強制実行
フラグレジスタと、オブジェクトコード中のエラーフラ
グセットフィールドによって外部エラーフラグがセット
されるエラーフラグレジスタと、出力値に基づいてマル
チビット処理ユニットの実行状態を制御することができ
る実行制御ユニットを設けているのであって、実行許可
信号がビット処理ユニットから送出されないか、マルチ
ビット処理ユニットから内部でのエラー検出による内部
エラーフラグが発生するか、外部エラーフラグがエラー
フラグレジスタにセットされるかのいずれかの条件が満
たされるとマルチビット処理ユニットの実行を停止し、
強制実行フラグが強制実行フラグレジスタにセットされ
ているときに他の条件にかかわらずマルチビット処理ユ
ニットを実行状態に設定するので、たとえば、オブジェ
クトコードのサブルーチンのリターン命令の強制実行フ
ラグセットフィールドの内容を、強制実行フラグレジス
タに強制実行フラグをセットする内容に設定しておけ
ば、サブルーチン内でエラーが生じたとしてもリターン
命令だけは実行するようにしてメインルーチンに復帰さ
せることが可能になり、結果的に、エラーが発生したと
きに、ソースコードの1命令に対応したオブジェクトコ
ードのブロックの区切り目で実行を停止させるという処
理が可能になるという効果を奏する。また、ソースコー
ドの命令とオブジェクトコードのブロックとを対応付け
ることができることによって、デバッグや編集などが容
易になるのである。さらに、シーケンス命令以外のプロ
グラムを強制的に実行させることも可能になり、たとえ
ば、シーケンス言語以外の言語(BASICなど)への
対応を可能とするなど、拡張性が増すという利点があ
る。
【0026】一方、外部エラーフラグをセットするエラ
ーフラグレジスタを設けたことによって、オブジェクト
コードの組み合わせによるエラーの判定処理などを行っ
た場合の判定結果に基づいて外部エラーフラグをエラー
フラグレジスタにセットするというような処理が可能に
なり、マルチビット処理ユニットから発生する内部エラ
ーフラグとは別に、エラー処理が可能になるのである。
その結果、オブジェクトコードのプログラムによって複
雑なエラーの判定条件を設定することができ、エラー処
理の拡張性が増すという利点を有するのである。
【図面の簡単な説明】
【図1】実施例を示す要部ブロック図である。
【図2】実施例に用いるフラグセット命令の形式を示す
説明図である。
【図3】実施例の動作説明図である。
【図4】実施例に用いる命令コードの形式を示す説明図
である。
【図5】実施例に用いる命令コード中のステータスタグ
フィールドの構成例を示す説明図である。
【図6】本発明に係るプログラマブルコントローラのブ
ロック図である。
【図7】本発明に係るプログラマブルコントローラでの
ソースコードとオブジェクトコードとの関係の例を示す
説明図である。
【図8】従来例を示す要部ブロック図である。
【符号の説明】
31 ビット処理ユニット 32 マルチビット処理ユニット 33 実行制御ユニット 34 強制実行フラグレジスタ 35 エラーフラグレジスタ

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】 シーケンスプログラムを実行する命令実
    行専用のコプロセッサをメインプロセッサとは別に備
    え、シーケンスプログラムのソースコードをコンパイル
    して得たオブジェクトコードをコプロセッサによって実
    行するプログラマブルコントローラにおいて、コプロセ
    ッサは、ソースコードの基本命令に対応したオブジェク
    トコードを実行するビット処理ユニットと、ソースコー
    ドの応用命令に対応したオブジェクトコードを実行する
    マルチビット処理ユニットと、オブジェクトコードの命
    令中の強制実行フラグセットフィールドによって強制実
    行フラグがセットされる強制実行フラグレジスタと、オ
    ブジェクトコードの命令中のエラーフラグセットフィー
    ルドによって外部エラーフラグがセットされるエラーフ
    ラグレジスタと、出力によってマルチビット処理ユニッ
    トの実行状態を制御する実行制御ユニットとを備え、実
    行制御ユニットは、実行許可信号がビット処理ユニット
    から送出されないか、マルチビット処理ユニットから内
    部でのエラー検出による内部エラーフラグが発生する
    か、外部エラーフラグがエラーフラグレジスタにセット
    されるかのいずれかの条件が満たされるとマルチビット
    処理ユニットの実行を停止し、強制実行フラグが強制実
    行フラグレジスタにセットされているときに他の条件に
    かかわらずマルチビット処理ユニットを実行状態に設定
    することを特徴とするプログラマブルコントローラ。
JP3234987A 1991-09-13 1991-09-13 プログラマブルコントローラ Expired - Fee Related JP2559929B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3234987A JP2559929B2 (ja) 1991-09-13 1991-09-13 プログラマブルコントローラ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3234987A JP2559929B2 (ja) 1991-09-13 1991-09-13 プログラマブルコントローラ

Publications (2)

Publication Number Publication Date
JPH0573113A JPH0573113A (ja) 1993-03-26
JP2559929B2 true JP2559929B2 (ja) 1996-12-04

Family

ID=16979378

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3234987A Expired - Fee Related JP2559929B2 (ja) 1991-09-13 1991-09-13 プログラマブルコントローラ

Country Status (1)

Country Link
JP (1) JP2559929B2 (ja)

Also Published As

Publication number Publication date
JPH0573113A (ja) 1993-03-26

Similar Documents

Publication Publication Date Title
JP3711422B2 (ja) 情報処理回路
US6560692B1 (en) Data processing circuit, microcomputer, and electronic equipment
KR0167005B1 (ko) 중앙처리장치
JP3828677B2 (ja) レジスタとメモリとの間のデータ転送
US20040015680A1 (en) Data processor for modifying and executing operation of instruction code
JPH09512652A (ja) 多重命令セットによるデータ処理
US6550000B1 (en) Processor to execute in parallel plurality of instructions using plurality of functional units, and instruction allocation controller
JPH04260930A (ja) データ処理装置
US20100017585A1 (en) Microcomputer and encoding system for instruction code and CPU
JPH04260927A (ja) データ処理装置
JPH04260929A (ja) データ処理装置
US20030037227A1 (en) Processor enabling exception handling to be set by program
JPS6212529B2 (ja)
JP2559929B2 (ja) プログラマブルコントローラ
JPH08221257A (ja) データ処理装置用除算器
JP3570287B2 (ja) マイクロコンピュータ
EP0343668B1 (en) Normalization control system for floating point arithmetic operations
US20050216708A1 (en) Processor for performing context switching, a method for performing context switching, a computer program for perform context switching
JPH0588884A (ja) 状態モード設定方式
JP2007287186A (ja) Risc型cpu,コンパイラ及びマイクロコンピュータ
JPS63214804A (ja) Plc用プロセツサ及びplc
JP2721609B2 (ja) プログラマブルコントローラ
JP2607319B2 (ja) プログラマブルコントローラ
JPH04260928A (ja) データ処理装置
JP2721610B2 (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: 19960723

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

Free format text: PAYMENT UNTIL: 20080905

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20080905

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20090905

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20090905

Year of fee payment: 13

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

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

Free format text: PAYMENT UNTIL: 20090905

Year of fee payment: 13

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20090905

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20100905

Year of fee payment: 14

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

Free format text: PAYMENT UNTIL: 20110905

Year of fee payment: 15

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

Free format text: PAYMENT UNTIL: 20110905

Year of fee payment: 15

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

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

Free format text: PAYMENT UNTIL: 20110905

Year of fee payment: 15

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees