JP2522563B2 - プログラマブルコントロ―ラ - Google Patents
プログラマブルコントロ―ラInfo
- Publication number
- JP2522563B2 JP2522563B2 JP1297067A JP29706789A JP2522563B2 JP 2522563 B2 JP2522563 B2 JP 2522563B2 JP 1297067 A JP1297067 A JP 1297067A JP 29706789 A JP29706789 A JP 29706789A JP 2522563 B2 JP2522563 B2 JP 2522563B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- data
- memory
- program
- instructions
- 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
Links
Landscapes
- Programmable Controllers (AREA)
Description
【発明の詳細な説明】 [産業上の利用分野] 本発明は、負荷を予め設定されたプログラムに基づい
てシーケンス制御するプログラマブルコントローラに関
するものである。
てシーケンス制御するプログラマブルコントローラに関
するものである。
[従来の技術] 従来、負荷を予め設定されたプログラムに基づいてシ
ーケンス制御するこの種のプログラマブルコントローラ
において、命令を縮少命令化(Reduced Instruction
Set)して高速実行する手法として、RISCアーキテクチ
ャが提案されている。ここに、従来のRISCアーキテクチ
ャでは、実効データアドレスの計算に算術論理演算ユニ
ット(以下ALUと称する)を用いており、例えば、加算
命令の場合には、第4図に示すように10サイクルで実行
できるようになっている。すなわち、データを参照する
メモリアクセスの必要な命令(LOAD/STORE)は、IFで命
令を読み出し、RFで命令をデコードし、ALUでデータの
実効アドレスを計算し、MEMでデータメモリからデータ
を読み出し(あるいは書き込み)、WBでレジスタへの書
き込みが行なわれるようになっている。次に、データメ
モリを参照しない命令(例えば、加減算術論理演算命令
ADD)では、IFで命令を読み出し、RFで命令デコードお
よびレジスタ読み出しを行い、ALUで演算を実行し、MEM
をダミーサイクルとし、WBでレジスタへの書き込みを行
う命令実行サイクルとなる。したがって、いずれにして
もIF,RF,ALU,MEM,WBという実行サイクルは単一である。
ここに、2つのLORD命令の後にNOP(無操作)命令が3
つ挿入されているのは、次のADD命令に必要なデータが
レジスタに書き込まれるのを待たなければならないため
である。すなわち、2つ目のLORD命令で読み出されたデ
ータがレジスタに書き込まれてからADD命令のRFサイク
ルが実行できるからである。
ーケンス制御するこの種のプログラマブルコントローラ
において、命令を縮少命令化(Reduced Instruction
Set)して高速実行する手法として、RISCアーキテクチ
ャが提案されている。ここに、従来のRISCアーキテクチ
ャでは、実効データアドレスの計算に算術論理演算ユニ
ット(以下ALUと称する)を用いており、例えば、加算
命令の場合には、第4図に示すように10サイクルで実行
できるようになっている。すなわち、データを参照する
メモリアクセスの必要な命令(LOAD/STORE)は、IFで命
令を読み出し、RFで命令をデコードし、ALUでデータの
実効アドレスを計算し、MEMでデータメモリからデータ
を読み出し(あるいは書き込み)、WBでレジスタへの書
き込みが行なわれるようになっている。次に、データメ
モリを参照しない命令(例えば、加減算術論理演算命令
ADD)では、IFで命令を読み出し、RFで命令デコードお
よびレジスタ読み出しを行い、ALUで演算を実行し、MEM
をダミーサイクルとし、WBでレジスタへの書き込みを行
う命令実行サイクルとなる。したがって、いずれにして
もIF,RF,ALU,MEM,WBという実行サイクルは単一である。
ここに、2つのLORD命令の後にNOP(無操作)命令が3
つ挿入されているのは、次のADD命令に必要なデータが
レジスタに書き込まれるのを待たなければならないため
である。すなわち、2つ目のLORD命令で読み出されたデ
ータがレジスタに書き込まれてからADD命令のRFサイク
ルが実行できるからである。
なお、汎用のRISCコンピュータの場合、このNOPの代
わりに次命令以降で先に実行できる命令を挿入して実行
時間の短縮を図ることが一般的であるが、コンパイラの
設計が複雑になるという問題がある。また、命令の組み
合わせによってはNOPの代わりに挿入できる命令がない
場合もある。ADD命令とSTORE命令の間の3つのNOPも同
様の理由によって挿入されている。したがって、最悪の
場合には、命令実行サイクルは10サイクル必要になる。
わりに次命令以降で先に実行できる命令を挿入して実行
時間の短縮を図ることが一般的であるが、コンパイラの
設計が複雑になるという問題がある。また、命令の組み
合わせによってはNOPの代わりに挿入できる命令がない
場合もある。ADD命令とSTORE命令の間の3つのNOPも同
様の理由によって挿入されている。したがって、最悪の
場合には、命令実行サイクルは10サイクル必要になる。
[発明が解決しようとする課題] 上述の従来例にあっては、命令実行サイクル中に多く
のNOPを含んでおり、命令実行サイクルが不必要に多く
なって非効率な命令実行サイクルになってしまうという
問題があった。
のNOPを含んでおり、命令実行サイクルが不必要に多く
なって非効率な命令実行サイクルになってしまうという
問題があった。
本発明は上記の点に鑑みて為されたものであり、その
目的とするところは、実行サイクルを少なくして効率的
な命令実行サイクルを実現することができるプログラマ
ブルコントローラを提供することにある。
目的とするところは、実行サイクルを少なくして効率的
な命令実行サイクルを実現することができるプログラマ
ブルコントローラを提供することにある。
[課題を解決するための手段] 本発明のプログラマブルコントローラは、負荷をシー
ケンス制御するプログラムが記憶されたプログラムメモ
リと、プログラムメモリから読み出されたプログラムの
命令に基づいてデータメモリの接点データを演算処理す
る演算プロセサとを具備し、上記プログラムの基本命令
と応用命令を順次実行して負荷をシーケンス制御するよ
うにし、上記演算プロセッサとして応用命令を縮少命令
化して演算処理するRISC演算プロセッサを用いたプログ
ラマブルコントローラにおいて、RISC演算プロセッサ
に、専用のデータアドレスジェネレータを設けるととも
に、パイプライン処理効率を上げるためのALU(算術論
理演算ユニット)周辺アーキテクチュアおよびレジスタ
構造を採用したものである。
ケンス制御するプログラムが記憶されたプログラムメモ
リと、プログラムメモリから読み出されたプログラムの
命令に基づいてデータメモリの接点データを演算処理す
る演算プロセサとを具備し、上記プログラムの基本命令
と応用命令を順次実行して負荷をシーケンス制御するよ
うにし、上記演算プロセッサとして応用命令を縮少命令
化して演算処理するRISC演算プロセッサを用いたプログ
ラマブルコントローラにおいて、RISC演算プロセッサ
に、専用のデータアドレスジェネレータを設けるととも
に、パイプライン処理効率を上げるためのALU(算術論
理演算ユニット)周辺アーキテクチュアおよびレジスタ
構造を採用したものである。
[作 用] 本発明は上述のように構成されており、RISC演算プロ
セッサにて縮少命令化した応用命令を実行して負荷をシ
ーケンス制御するようにしたプログラマブルコントロー
ラにおいて、RISC演算プロセッサに、専用のデータアド
レスジェネレータを設けているので、ALU動作中におい
ても並行してデータアドレスの計算が可能となり、しか
も、パイプライン処理効率を上げるためのALU(算術論
理演算ユニット)周辺アーキテクチュアおよびレジスタ
構造を採用しているので、実行サイクルを少なくして効
率的な命令実行サイクルを実現することができるように
なっている。
セッサにて縮少命令化した応用命令を実行して負荷をシ
ーケンス制御するようにしたプログラマブルコントロー
ラにおいて、RISC演算プロセッサに、専用のデータアド
レスジェネレータを設けているので、ALU動作中におい
ても並行してデータアドレスの計算が可能となり、しか
も、パイプライン処理効率を上げるためのALU(算術論
理演算ユニット)周辺アーキテクチュアおよびレジスタ
構造を採用しているので、実行サイクルを少なくして効
率的な命令実行サイクルを実現することができるように
なっている。
[実施例] 第1図は本発明一実施例を示すもので、負荷をシーケ
ンス制御するプログラムが記憶されたプログラムメモリ
1と、データが記憶されたデータメモリ2と、プログラ
ムメモリ1から読み出されたプログラムの命令コードに
基づいてデータメモリ2のデータを演算処理するRISC演
算プロセッサ3と、接点データの取り込み、上記接点デ
ータのデータメモリ2への書き込み、RISC演算プロセッ
サ3の制御などを行うメインコントローラ8とを具備
し、命令コードの先読み、パイプライン処理を行うよう
にしたプログラマブルコントローラにおいて、プログラ
ムメモリ1のデータバス4aと、データメモリ2のデータ
バス4bを別々に設けるとともに、両メモリ1,2のアドレ
スバス5a,5bも別々に設け、命令コードの読み出し、ア
ドレス設定および演算処理を並列的に実行できるように
したものである。図中、6はコントロールバス、7はイ
ンターフェースである。ここに、実施例にあっては、プ
ログラムメモリ1は、ソース命令(CISC型)を記憶する
ソース命令メモリ1aと、RISC命令を記憶するRISC命令メ
モリ1bとで構成されており、ソース命令メモリ1aからマ
ルチビット演算の命令コードだけを取り出してRISC命令
コードに再構成してRISC命令メモリ1bに書き込むように
なっている。また、命令の実行サイクル数が同一となる
ようなRISCプロセッサ3の基本命令セット(縮少命令セ
ット)を定義して命令コードの再構成を行うようにし、
ソース命令メモリ1aはソース命令(CISC型)を記憶して
おり、RISC命令メモリ1aは縮小命令(RISC型)を記憶し
ている。
ンス制御するプログラムが記憶されたプログラムメモリ
1と、データが記憶されたデータメモリ2と、プログラ
ムメモリ1から読み出されたプログラムの命令コードに
基づいてデータメモリ2のデータを演算処理するRISC演
算プロセッサ3と、接点データの取り込み、上記接点デ
ータのデータメモリ2への書き込み、RISC演算プロセッ
サ3の制御などを行うメインコントローラ8とを具備
し、命令コードの先読み、パイプライン処理を行うよう
にしたプログラマブルコントローラにおいて、プログラ
ムメモリ1のデータバス4aと、データメモリ2のデータ
バス4bを別々に設けるとともに、両メモリ1,2のアドレ
スバス5a,5bも別々に設け、命令コードの読み出し、ア
ドレス設定および演算処理を並列的に実行できるように
したものである。図中、6はコントロールバス、7はイ
ンターフェースである。ここに、実施例にあっては、プ
ログラムメモリ1は、ソース命令(CISC型)を記憶する
ソース命令メモリ1aと、RISC命令を記憶するRISC命令メ
モリ1bとで構成されており、ソース命令メモリ1aからマ
ルチビット演算の命令コードだけを取り出してRISC命令
コードに再構成してRISC命令メモリ1bに書き込むように
なっている。また、命令の実行サイクル数が同一となる
ようなRISCプロセッサ3の基本命令セット(縮少命令セ
ット)を定義して命令コードの再構成を行うようにし、
ソース命令メモリ1aはソース命令(CISC型)を記憶して
おり、RISC命令メモリ1aは縮小命令(RISC型)を記憶し
ている。
第2図はRISC演算プロセッサの構成を示すブロック回
路図であり、ALU10と、ビット演算処理ユニット11と、
専用のデータアドレスジェネレータ12と、デコーダ、タ
イミングジェネレータおよびプログラムカウンタよりな
るコントローラ1とで構成されている。M1〜M4はマルチ
プレクサ、R1〜Rnは汎用レジスタ、R10は入力バッファ
レジスタ、R11,R12はALU入力レジスタ、R13は出力バッ
ファレジスタ、R14は命令レジスタ、R15はALU出力レジ
スタである。なお、ビット演算ユニット11は、シーケン
ス基本命令を実行するもので、様々な構成法が考えられ
るが、本発明とは直接関係ないので簡略化してブロック
表示している。また、コントローラ13の内部構造も本発
明に直接関係がないので簡略化してブロク表示してい
る。
路図であり、ALU10と、ビット演算処理ユニット11と、
専用のデータアドレスジェネレータ12と、デコーダ、タ
イミングジェネレータおよびプログラムカウンタよりな
るコントローラ1とで構成されている。M1〜M4はマルチ
プレクサ、R1〜Rnは汎用レジスタ、R10は入力バッファ
レジスタ、R11,R12はALU入力レジスタ、R13は出力バッ
ファレジスタ、R14は命令レジスタ、R15はALU出力レジ
スタである。なお、ビット演算ユニット11は、シーケン
ス基本命令を実行するもので、様々な構成法が考えられ
るが、本発明とは直接関係ないので簡略化してブロック
表示している。また、コントローラ13の内部構造も本発
明に直接関係がないので簡略化してブロク表示してい
る。
以下、実施例の動作について説明する。第3図は、実
施例による加算命令の実行手順を示すもので、専用のデ
ータアドレスジェネレータ12を備えているためALU10が
動作中でも並行してデータアドレスの計算が可能となる
ため、次のような2タイプの命令の基本実行サイクルが
実現できる。すなわち、メモリ非参照命令は、従来例の
MEMがダミーサイクルであったので省略しており、各サ
イクルでの動作内容は従来例と同様である。これに対し
てメモリ参照命令では、IFで命令読み出し、ADRSでデー
タ実効アドレス計算および命令デコードおよびレジスタ
読み出し(レジスタ読み出しはSTORE命令のみ必要)、M
EMでメモリ読み出し、または書き込み、WBでレジスタへ
の書き込み(LORD命令のみ必要、STORE命令ではダミー
サイクル)を行う。この方法では、アドレス計算を従来
例よりも1サイクル早く実施でき、メモリ読み出し(書
き込み)も1サイクル早く実行できるのでメモリ参照に
続くダミーのNOP命令の数を1つ減少させることがで
き、従来例で10サイクルであった加算命令を8サイクル
に減少させることが可能となる。勿論、加算命令以外の
応用命令においても同様に実行サイクルを少なくできる
ことは言うまでもない。
施例による加算命令の実行手順を示すもので、専用のデ
ータアドレスジェネレータ12を備えているためALU10が
動作中でも並行してデータアドレスの計算が可能となる
ため、次のような2タイプの命令の基本実行サイクルが
実現できる。すなわち、メモリ非参照命令は、従来例の
MEMがダミーサイクルであったので省略しており、各サ
イクルでの動作内容は従来例と同様である。これに対し
てメモリ参照命令では、IFで命令読み出し、ADRSでデー
タ実効アドレス計算および命令デコードおよびレジスタ
読み出し(レジスタ読み出しはSTORE命令のみ必要)、M
EMでメモリ読み出し、または書き込み、WBでレジスタへ
の書き込み(LORD命令のみ必要、STORE命令ではダミー
サイクル)を行う。この方法では、アドレス計算を従来
例よりも1サイクル早く実施でき、メモリ読み出し(書
き込み)も1サイクル早く実行できるのでメモリ参照に
続くダミーのNOP命令の数を1つ減少させることがで
き、従来例で10サイクルであった加算命令を8サイクル
に減少させることが可能となる。勿論、加算命令以外の
応用命令においても同様に実行サイクルを少なくできる
ことは言うまでもない。
以下、動作順序を具体的に説明する。まず、メモリ参
照命令の場合は、 IF:コントローラ13からの指令で命令アドレス送出およ
び命令の読み込みを行う。
照命令の場合は、 IF:コントローラ13からの指令で命令アドレス送出およ
び命令の読み込みを行う。
ADRS:コントローラ13で命令をデコードするとともに、
専用のデータアドレスジェネレータ12により実効データ
アドレスの計算および汎用レジスタR1〜Rnの読み出し後
出力バッファレジスタR13への格納(STORE命令のみ)を
行う。
専用のデータアドレスジェネレータ12により実効データ
アドレスの計算および汎用レジスタR1〜Rnの読み出し後
出力バッファレジスタR13への格納(STORE命令のみ)を
行う。
MEM:専用のデータアドレスジェネレータ12からデータア
ドレスをデータアドレスバス5bへ送出する。
ドレスをデータアドレスバス5bへ送出する。
(STORE命令) 出力バッファレジスタR13の内容をデータバス4bへ送
出後、データメモリ2への書き込みを行う。
出後、データメモリ2への書き込みを行う。
(LORD命令) データバス4b上に読み出されたデータを入力バッファ
レジスタR10へ読み込む。
レジスタR10へ読み込む。
WB:データバス4b上のメモリデータを汎用レジスタR1〜R
nへ格納(LORD命令のみ)する。
nへ格納(LORD命令のみ)する。
一方、メモリ非参照命令の場合には、 IF:コントローラ13からの指令で命令アドレス送出およ
び命令の読み込みを行う。
び命令の読み込みを行う。
RF:コントローラ13で命令のデコードを行うとともに、
汎用レジスタR1〜Rnの内容をALU入力レジスタR11,R12へ
格納する。
汎用レジスタR1〜Rnの内容をALU入力レジスタR11,R12へ
格納する。
ALU:ALU10で演算を実行した後、その演算結果をALU出力
レジスタR15へ格納する。
レジスタR15へ格納する。
WB:ALU出力レジスタR15の内容を汎用レジスタR1〜Rnへ
格納する。
格納する。
以上の2タイプの命令の実行基本サイクル(第3図)
は、完全にパイプライン動作が可能である。すなわち、
第2図におけるALU周辺アーキテクチャとレジスタ構造
は、上記のパイプライン動作を2つのタイプについて保
証できるものとなっている。
は、完全にパイプライン動作が可能である。すなわち、
第2図におけるALU周辺アーキテクチャとレジスタ構造
は、上記のパイプライン動作を2つのタイプについて保
証できるものとなっている。
[発明の効果] 本発明は上述のように構成されており、RISC演算プロ
セッサにて縮少命令化した応用命令を実行して負荷をシ
ーケンス制御するようにしたプログラマブルコントロー
ラにおいて、RISC演算プロセッサに、専用のデータアド
レスジェネレータを設けているので、ALU動作中におい
ても並行してデータアドレスの計算が可能となり、しか
も、パイプライン処理効率を上げるためのALU(算術論
理演算ユニット)周辺アーキテクチュアおよびレジスタ
構造を採用しているので、実行サイクルを少なくして効
率的な命令実行サイクルを実現することができるという
効果がある。また、命令実行の基本サイクルをデータメ
モリの参照タイプと、非参照タイプとに分離して命令を
実行するようにすれば、命令の種類によって基本サイク
ルを短縮することができ、より高速化を図ることができ
る。
セッサにて縮少命令化した応用命令を実行して負荷をシ
ーケンス制御するようにしたプログラマブルコントロー
ラにおいて、RISC演算プロセッサに、専用のデータアド
レスジェネレータを設けているので、ALU動作中におい
ても並行してデータアドレスの計算が可能となり、しか
も、パイプライン処理効率を上げるためのALU(算術論
理演算ユニット)周辺アーキテクチュアおよびレジスタ
構造を採用しているので、実行サイクルを少なくして効
率的な命令実行サイクルを実現することができるという
効果がある。また、命令実行の基本サイクルをデータメ
モリの参照タイプと、非参照タイプとに分離して命令を
実行するようにすれば、命令の種類によって基本サイク
ルを短縮することができ、より高速化を図ることができ
る。
第1図は本発明一実施例の概略構成図、第2図は同上の
要部ブロック回路図、第3図は同上の動作説明図、第4
図は従来例の動作説明図である。 1はプログラムメモリ、2はデータメモリ、3は演算プ
ロセッサ、4aは命令データバス、4bはデータバス、5aは
命令アドレスバス、5bはデータアドレスバス、6はコン
トロールバス、8はメインコントローラ、12はデータア
ドレスジェネレータである。
要部ブロック回路図、第3図は同上の動作説明図、第4
図は従来例の動作説明図である。 1はプログラムメモリ、2はデータメモリ、3は演算プ
ロセッサ、4aは命令データバス、4bはデータバス、5aは
命令アドレスバス、5bはデータアドレスバス、6はコン
トロールバス、8はメインコントローラ、12はデータア
ドレスジェネレータである。
Claims (2)
- 【請求項1】負荷をシーケンス制御するプログラムが記
憶されたプログラムメモリと、プログラムメモリから読
み出されたプログラムの命令に基づいてデータメモリの
接点データを演算処理する演算プロセッサとを具備し、
上記プログラムの基本命令と応用命令を順次実行して負
荷をシーケンス制御するようにし、上記演算プロセッサ
として応用命令を縮少命令化して演算処理するRISC演算
プロセッサを用いたプログラマブルコントローラにおい
て、RISC演算プロセッサに、専用のデータアドレスジェ
ネレータを設けるとともに、パイプライン処理効率を上
げるためのALU(算術論理演算ユニット)周辺アーキテ
クチュアおよびレジスタ構造を採用したことを特徴とす
るプログラマブルコントローラ。 - 【請求項2】命令実行の基本サイクルをデータメモリの
参照タイプと、非参照タイプとに分離して命令を実行す
るようにしたことを特徴とする請求項1記載のプログラ
マブルコントローラ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1297067A JP2522563B2 (ja) | 1989-11-15 | 1989-11-15 | プログラマブルコントロ―ラ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1297067A JP2522563B2 (ja) | 1989-11-15 | 1989-11-15 | プログラマブルコントロ―ラ |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH03156605A JPH03156605A (ja) | 1991-07-04 |
JP2522563B2 true JP2522563B2 (ja) | 1996-08-07 |
Family
ID=17841788
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1297067A Expired - Lifetime JP2522563B2 (ja) | 1989-11-15 | 1989-11-15 | プログラマブルコントロ―ラ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2522563B2 (ja) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS58214907A (ja) * | 1982-06-08 | 1983-12-14 | Canon Inc | シ−ケンス制御装置 |
JP2784001B2 (ja) * | 1987-08-26 | 1998-08-06 | 松下電工株式会社 | プログラマブルコントローラの命令処理回路 |
-
1989
- 1989-11-15 JP JP1297067A patent/JP2522563B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH03156605A (ja) | 1991-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112099762B (zh) | 快速实现sm2密码算法的协处理系统及方法 | |
JP7048612B2 (ja) | ベクトル生成命令 | |
US6948049B2 (en) | Data processing system and control method | |
JP4800582B2 (ja) | 演算処理装置 | |
JP2522563B2 (ja) | プログラマブルコントロ―ラ | |
JP2522564B2 (ja) | プログラマブルコントロ―ラ | |
JP3954159B2 (ja) | 同期式ramのアクセス制御回路、データ処理プロセッサ及びその制御方法 | |
JP3520372B2 (ja) | メモリ制御ユニット並びに入出力制御ユニットの動作におけるクリティカル・パスの削除 | |
JP2668987B2 (ja) | データ処理装置 | |
JPS60195661A (ja) | デ−タ処理システム | |
JPH024010B2 (ja) | ||
JPH0193825A (ja) | プリフェッチキュー制御方式 | |
JPS63163929A (ja) | マイクロプロセツサ | |
JP3461887B2 (ja) | 可変長パイプライン制御装置 | |
JP2000029696A (ja) | プロセッサおよびパイプライン処理制御方法 | |
JP2591325B2 (ja) | 分岐制御装置 | |
JPH0241770B2 (ja) | ||
JP2806690B2 (ja) | マイクロプロセッサ | |
JP3743155B2 (ja) | パイプライン制御型計算機 | |
JP2522561B2 (ja) | プログラマブルコントロ―ラ | |
JP2522562B2 (ja) | プログラマブルコントロ―ラ | |
JPH05173778A (ja) | データ処理装置 | |
JP3668643B2 (ja) | 情報処理装置 | |
JPH11203133A (ja) | 情報処理装置 | |
JPS62189535A (ja) | マイクロプロセツサ制御装置 |