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

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

Info

Publication number
JPH0876996A
JPH0876996A JP6207574A JP20757494A JPH0876996A JP H0876996 A JPH0876996 A JP H0876996A JP 6207574 A JP6207574 A JP 6207574A JP 20757494 A JP20757494 A JP 20757494A JP H0876996 A JPH0876996 A JP H0876996A
Authority
JP
Japan
Prior art keywords
instruction
stage
processing
execution
register
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
JP6207574A
Other languages
English (en)
Other versions
JP3000857B2 (ja
Inventor
Tatsuo Masuda
達男 増田
Akira Yabuta
明 薮田
Hiroshi Sakai
宏史 坂井
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 JP6207574A priority Critical patent/JP3000857B2/ja
Publication of JPH0876996A publication Critical patent/JPH0876996A/ja
Application granted granted Critical
Publication of JP3000857B2 publication Critical patent/JP3000857B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【目的】 プログラマブルコントローラの命令実行速度
の向上を図る。 【構成】 命令フェッチ処理を行う第1ステージIFと、
命令デコード及びレジスタフェッチ処理を行う第2ステ
ージID/RF と、算術論理演算又はデータアドレス計算又
は分岐先計算を行う第3ステージEXと、データメモリへ
のメモリアクセス処理を行う第4ステージMEM と、ビッ
ト演算又は汎用レジスタへの書き込み処理又は分岐処理
を行う第5ステージWB/BPUとをパイプライン実行させ
る。 【効果】 パイプライン構造を統一された命令構造に対
応させることにより、ハードウエアの単純化、制御の単
純化が図れパイプライン多段化が容易になる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ビット演算処理を主と
する基本命令と、複数ビットで構成されるデータを処理
する応用命令とを行うプログラマブルコントローラに関
し、特に、基本命令と応用命令を両方処理することので
きる専用ハードウエア(プロセッサ)を備えたプログラ
マブルコントローラの構造に関するものである。
【0002】
【従来の技術】プログラマブルコントローラは産業用装
置、機械、FA機器の制御に広く用いられており、対象
となる装置の複雑化、さらなる高速化の要求に応じて、
より多数の入出力信号を高速に処理することが求められ
ている。このため、ビット演算処理を主とする基本命令
と、複数ビットで構成されるデータを処理する応用命令
処理を行うことのできる専用ハードウエア(プロセッ
サ)で高速化を実現し、通信処理・周辺処理などを行う
汎用マイクロプロセッサと組み合わせてプログラマブル
コントローラを構成している。
【0003】従来例としては、この専用ハードウエア
(プロセッサ)の構造として、3段パイプライン構造の
ハードウエアで命令を実行していた。この場合の命令実
行ステージの処理内容は、例えば、次のように構成され
ていた。 第1ステージ:命令メモリから次に実行する命令を命令
レジスタに格納する命令フェッチ処理。 第2ステージ:命令デコード及びレジスタフェッチ処理
の後、各種の算術論理演算処理、または、データメモリ
のアクセスする番地を計算するデータアドレス計算処
理、または、分岐先計算処理。 第3ステージ:データメモリへの読み書き処理であるメ
モリアクセス処理(リード/ライト)、または、分岐処
理、または、ビット演算処理、または、汎用レジスタへ
の書き込み処理。
【0004】
【発明が解決しようとする課題】パイプライン構造の場
合、各命令実行ステージの処理時間の一番遅い命令実行
ステージの処理速度で全体の命令実行速度が決まってし
まう。このようなパイプライン処理の高速化のために
は、各命令実行ステージの速度を均等にする必要がある
が、以上に説明した3段パイプライン構造の場合は、命
令メモリとデータメモリに同じアクセス時間のメモリを
使用すると、第1ステージに対して、第2ステージまた
は第3ステージの方がビット演算処理等の処理時間の長
い処理を行うため、全体の命令実行速度が遅くなり処理
時間がかかるという問題点があった。
【0005】本発明は上記問題点に鑑みなされたもの
で、その目的とするところは、実現が容易で命令実行速
度の向上が図れるプログラマブルコントローラの構造を
提供することにある。
【0006】
【課題を解決するための手段】上記目的を達成するた
め、請求項1記載のプログラマブルコントローラは、基
本的なビット演算処理と、複数ビットの応用処理を行う
プログラマブルコントローラにおいて、命令実行ステー
ジを、命令メモリから命令を取り出す命令フェッチ処理
を行う第1ステージと、命令デコード、及び、汎用レジ
スタから値を取り出すレジスタフェッチ処理を行う第2
ステージと、算術論理演算またはデータアドレス計算ま
たは分岐先の実効アドレスを計算する分岐先計算を行う
第3ステージと、データメモリへのメモリアクセス処理
を行う第4ステージと、ビット演算または前記汎用レジ
スタへの書き込み処理または分岐処理を行う第5ステー
ジとで構成し、この5つのステージをパイプライン実行
させることを特徴とするものである。
【0007】請求項2記載のプログラマブルコントロー
ラは、パイプライン処理の各命令実行ステージに対応し
たハードウエアとして、命令メモリとプログラムカウン
タとを備えたIF部と、命令デコーダと汎用レジスタと
を備えたID部と、算術論理演算ユニットを備えたEX
部と、データメモリとそのデータメモリへのアクセス制
御を行うメモリアクセスインタフェースとを備えたME
M部と、ビット演算処理を行うBPUを備えたWB部と
を備えたことを特徴とするものである。
【0008】請求項3記載のプログラマブルコントロー
ラは、請求項1または請求項2記載のプログラマブルコ
ントローラで、プログラマブルコントローラの基本処理
であるビット演算命令の結果から、各命令実行スレージ
の実行仕様情報を所定の値に変更して、後に続く命令を
非実行にすることを特徴とするものである。
【0009】請求項4記載のプログラマブルコントロー
ラは、請求項1乃至請求項3記載のプログラマブルコン
トローラで、パイプライン処理の制御のため、複数のパ
イプラインレジスタを前記命令実行ステージに対応する
ハードウエア間に備え、それぞれの前記パイプラインレ
ジスタに、前記命令実行ステージの実行結果を保存する
ことを特徴とするものである。
【0010】請求項5記載のプログラマブルコントロー
ラは、請求項1乃至請求項4記載のプログラマブルコン
トローラで、複数の前記パイプラインレジスタにそれぞ
れの前記命令実行ステージの実行仕様情報を保存し、実
行が1ステージ進む毎に、前記実行仕様情報を次の命令
実行ステージのパイプラインレジスタへ送ることを特徴
とするものである。
【0011】請求項6記載のプログラマブルコントロー
ラは、請求項1乃至請求項5記載のプログラマブルコン
トローラで、前記命令実行ステージで実行が可能な、メ
モリアクセス命令と、レジスタ間演算命令と、即値演算
命令と、分岐命令と、ビット演算命令とにより構成され
る縮小命令セット構造を有することを特徴とするもので
ある。
【0012】請求項7記載のプログラマブルコントロー
ラは、請求項1乃至請求項5記載のプログラマブルコン
トローラで、前記第3ステージで、アクセスする前記デ
ータメモリの実効アドレスを計算し前記第4ステージで
前記データメモリへの読み書き処理を行い、前記データ
メモリから前記汎用レジスタへデータを書き込む命令の
場合にそのデータ書き込み処理を前記第5ステージで行
うメモリアクセス命令と、前記第3ステージで前記汎用
レジスタ間で算術論理演算を行い、前記第5ステージで
前記汎用レジスタへの書き込み処理を行う前記レジスタ
間演算命令と、前記第3ステージで、命令に含まれる即
値データと所定の前記汎用レジスタに格納された値とで
算術論理演算を行い、前記第5ステージで前記汎用レジ
スタへの書き込み処理を行う即値演算命令と、前記第3
ステージで比較判定を行い、前記第5ステージでその結
果に基づいて分岐処理を行う分岐命令と、前記第4ステ
ージで前記データメモリから前記汎用レジスタへの読み
込み処理を行い、前記第5ステージでデータの各ビット
に対する演算処理を行うビット演算命令とにより構成さ
れる縮小命令セット構造を有することを特徴とするもの
である。
【0013】
【作用】本発明のプログラマブルコントローラは、専用
ハードウエア(プロセッサ)のの命令実行ステージを5
段に要素分割して、5段分割が可能な命令セットと命令
構造を提供し、専用ハードウエア(プロセッサ)を構成
する構成要素の稼働率を向上させて、プログラマブルコ
ントローラ全体の処理速度の向上を図ることを特徴とす
るものである。一般に、命令実行ステージを多段にすれ
ば、実行制御が複雑になるという問題点があったが、本
発明のプログラマブルコントローラは、命令構造をより
統一することにより専用ハードウエアの単純化、制御の
単純化を図り、多段化しやすいように構成したものであ
る。これにより、この5段パイプライン構造の制御を小
規模で単純なハードウエアで実現することができる。さ
らに、プログラマブルコントローラの基本処理であるビ
ット演算命令の結果から、各命令実行ステージの実行仕
様情報を所定の値に変更可能に構成したので、プログラ
マブルコントローラに特有のビット演算処理による後続
の応用命令の無効化(非実行)制御をパイプライン処理
を中断せずに行うことができる。
【0014】
【実施例】本発明のプログラマブルコントローラの5段
パイプライン構造を図1に示す。図1は各命令実行ステ
ージでのパイプライン処理内容を示した構造図である。
図で、IFで示される第1ステージは、命令メモリから命
令レジスタへ次に実行する命令を読み込む命令フェッチ
処理を行うステージで、ID/RF で表される第2ステージ
は、命令デコード、及び、汎用レジスタから値を取り出
すレジスタフェッチ処理を行うステージである。次に、
EXで示される第3ステージは、算術論理演算またはデー
タアドレス計算または分岐先の実効アドレスを計算する
分岐先計算を行うステージである。次に、MEM で示され
る第4ステージは、データメモリへのメモリアクセス処
理を行うステージである。最後に、WB/BPUで示される第
5ステージは、ビット演算または汎用レジスタへの書き
込み処理または分岐処理を行うステージである。
【0015】次に、図2に基づいて、本発明のプログラ
マブルコントローラの命令セットと命令構造の一実施例
について説明する。図2に示すように、命令は、メモリ
アクセス処理を行うメモリアクセス命令(Mタイプ命
令)と、レジスタ間演算を行うレジスタ間演算命令(R
タイプ命令)と、命令に含まれる即値データと汎用レジ
スタに格納された値との演算処理を行う即値演算命令
(Iタイプ命令)と、比較判定を行い、その結果に応じ
て分岐処理を行う分岐命令(Jタイプ命令)と、ビット
演算処理を行うビット演算命令(Bタイプ命令)とで構
成されている。
【0016】Mタイプ命令は、op-codeフィールドと、
そのフィールドに続く、src1フィールド、dst1フィール
ド、offsetフィールドとで構成されており、例えば、sr
c1フィールドで指定される汎用レジスタに格納されたア
ドレス値に、offsetフィールドに格納されたオフセット
値を加算して実効アドレスを求め、データメモリの、そ
の実効アドレスに格納されている値を、dst1フィールド
で指示された汎用レジスタに読み込むという処理(load
命令)を行う命令である。
【0017】Rタイプ命令は、op-codeフィールドと、
そのフィールドに続く、src1フィールド、src2フィール
ド、dst1フィールド、functionフィールドとで構成され
ており、例えば、src1フィールドで指定される汎用レジ
スタに格納された値と、src2フィールドで指定される汎
用レジスタに格納された値との演算結果を、dst1フィー
ルドで指示された汎用レジスタに読み込むという処理を
行う命令である。functionフィールドは、例えば、演算
方法の詳細仕様の指定に用いられる。
【0018】Iタイプ命令は、op-codeフィールドと、
そのフィールドに続く、src1フィールド、dst1フィール
ド、immediateフィールドとで構成されており、例え
ば、src1フィールドで指定される汎用レジスタに格納さ
れた値と、immediateフィールドに格納された値との演
算結果を、dst1フィールドで指示された汎用レジスタに
読み込むという処理を行う命令である。
【0019】Jタイプ命令は、op-codeフィールドと、
そのフィールドに続く、src1フィールド、src2フィール
ド、offsetフィールドとで構成されており、例えば、sr
c1フィールドで指定される汎用レジスタに格納された値
と、src2フィールドで指定される汎用レジスタに格納さ
れた値との比較判定結果に応じて、offsetフィールドに
含まれるオフセット値をプログラムカウンタに加算して
分岐するという処理を行う命令である。
【0020】Bタイプ命令は、op-codeフィールドと、
そのフィールドに続く、BitProcessingInstructionフィ
ールドとで構成されており、例えば、データの特定ビッ
トを1にするというような処理を行う命令である。
【0021】本発明のプログラマブルコントローラの命
令構造は、op-codeフィールドのビット幅を統一すると
共に、図2に示すように、Bタイプ命令以外の命令のop
-codeフィールドの後に、汎用レジスタ指定のためのフ
ィールドが2つ続くように構成して、2つの汎用レジス
タ指定のためのフィールドの位置を統一したので、後述
するような専用ハードウエア構造の単純化、パイプライ
ン制御の単純化が可能となった。
【0022】図3に本発明のプログラマブルコントロー
ラの命令セットの一実施例を示す。図3は、op-codeを6
ビットで構成した場合の命令セットの一実施例を示す一
覧表で、Typeは命令のタイプ、Instructionは命令の名
称、Operationは命令の機能を示している。
【0023】次に、図4に基づいて本発明のプログラマ
ブルコントローラの一実施例について説明する。図4は
本発明のプログラマブルコントローラの専用ハードウエ
ア構成の一実施例を示すブロック図である。図で、IF
部1は、命令を格納する命令メモリ2と、プログラムカ
ウンタ制御回路PCCALからの信号を受けて次に実行する
命令が格納された命令メモリ2のアドレスを計数するプ
ログラムカウンタPCとで構成されている。プログラムカ
ウンタPCのアドレス指定に従って命令メモリ2から読み
出された命令が格納される命令レジスタIRは、IF部1
の実行結果を保存して次のステージでID部3にその結
果を伝える、パイプラインレジスタIF/ID を兼ねてい
る。
【0024】ID部3は、主に命令のop-code 部を解読
する命令デコーダCONTROL と、複数の汎用レジスタで構
成された汎用レジスタブロックREGFILE と、命令デコー
ダCONTROL の後段に接続されてパイプラインレジスタID
/EX に出力する信号を切り換えるマルチプレクサMUX1と
で構成されている。汎用レジスタブロックREGFILE で、
RDREG1は、どの汎用レジスタの値をRDDATA1 から出力す
るかを指定する信号の入力端子、RDREG2は、どの汎用レ
ジスタの値をRDDATA2 から出力するかを指定する信号の
入力端子、WTREG は、WTDATAから入力した値をどの汎用
レジスタに書き込むかを指定する信号の入力端子であ
る。命令デコーダCONTROL の出力は、パイプラインレジ
スタID/EX の、WB,MEM ,EXに格納される。RDDATA1 ,
RDDATA2 から出力された値は、それぞれ、パイプライン
レジスタID/EX の、src1,src2に格納される。さらに、
命令に含まれる即値データは、パイプラインレジスタID
/EXのIREX1 に格納され、Mタイプ命令及びIタイプ命
令のdst1の値はパイプラインレジスタID/EX のIREX2 に
格納され、Rタイプ命令のdst2の値はパイプラインレジ
スタID/EX のIREX3 に格納される。
【0025】EX部4は、算術論理演算を行う算術論理
演算ユニットALU (以下、ALU とする)と、ALU の一方
の入力を、パイプラインレジスタID/EX のsrc2の出力、
または、パイプラインレジスタID/EX のIREX1 の出力に
切り換える切り換え制御部ARGCAL(以下、ARGCALとす
る)と、パイプラインレジスタID/EX のWBとパイプライ
ンレジスタEX/MEMのWB間に介在して、パイプラインレジ
スタEX/MEMのWBへの出力を切り換えるマルチプレクサMU
X2と、パイプラインレジスタID/EX のMEM とパイプライ
ンレジスタEX/MEMのMEM 間に介在して、パイプラインレ
ジスタEX/MEMのWBへの出力を切り換えるマルチプレクサ
MUX3と、パイプラインレジスタEX/MEMのWTREGMEMへの出
力を、IREX2 に格納された値か、または、IREX3 に格納
された値かのどちらかに切り換えるマルチプレクサMUX4
とで構成されている。ALU の出力は、パイプラインレジ
スタEX/MEMのAULRSLT に保持される。パイプラインレジ
スタID/EX のsrc2の出力は、パイプラインレジスタEX/M
EMのSRCMEMにも保持される。
【0026】MEM部5は、データメモリ6と、そのデ
ータメモリ6へのアクセス制御を行うメモリアクセスイ
ンタフェース7と、パイプラインレジスタEX/MEMのWBと
パイプラインレジスタMEM/WBのWB間に介在して、パイプ
ラインレジスタMEM/WBのWBへの出力を切り換えるマルチ
プレクサMUX5とで構成されている。パイプラインレジス
タEX/MEMのALURSLT の出力は、パイプラインレジスタME
M/WBのALURSLT に保持されると共に、データメモリ6へ
のアドレス指定に用いられる。パイプラインレジスタEX
/MEMのMEM の出力は、メモリアクセスインタフェース7
に入力される。また、パイプラインレジスタEX/MEMのSR
CMEMの出力は、データメモリ6に書き込まれる。さら
に、パイプラインレジスタEX/MEMのWTREGMEMの出力は、
パイプラインレジスタMEM/WBのWTREG に出力される。デ
ータメモリ6のRDDATAの出力は、パイプラインレジスタ
MEM/WBのMEMDATA に保持される。
【0027】WB部8は、ビット演算を行うビット演算
ユニットBPU (以下、BPU とする)と、BPU の出力に応
じて、後続の応用命令の無効化(非実行)制御を行うビ
ットアキュムレータBITACC(以下、BITACCとする)と、
汎用レジスタブロックREGFILE に書き込む値を、パイプ
ラインレジスタMEM/WBのALURSLT の出力か、パイプライ
ンレジスタMEM/WBのMEMDATA の出力かに切り換えるマル
チプレクサMUX6とで構成されている。
【0028】図4に示したように専用ハードウエアを構
成した場合、各タイプの命令処理手順は図5に示すよう
になる。図で、Mタイプ命令は、命令フェッチ処理を第
1ステージで行い、命令デコード及びレジスタフェッチ
処理を第2ステージで行い、データアドレス計算を第3
ステージで行い、メモリへのアクセス処理を第4ステー
ジで行い、レジスタ書き込み処理を第5ステージで行
う。
【0029】Rタイプ命令及びIタイプ命令は、命令フ
ェッチ処理を第1ステージで行い、命令デコード及びレ
ジスタフェッチ処理を第2ステージで行い、算術論理演
算を第3ステージで行い、レジスタ書き込み処理を第5
ステージで行う。
【0030】Jタイプ命令は、命令フェッチ処理を第1
ステージで行い、命令デコード及びレジスタフェッチ処
理を第2ステージで行い、比較判定のための算術論理演
算を第3ステージで行い、分岐処理を第5ステージで行
う。
【0031】Bタイプ命令は、命令フェッチ処理を第1
ステージで行い、命令デコード処理を第2ステージで行
い、データメモリ6からの読み込み処理を第4ステージ
で行い、ビット演算処理を第5ステージで行う。
【0032】図4に示した本発明のプログラマブルコン
トローラの個々の命令処理ステージでの動作をパイプラ
イン1段について説明する。まず、第1ステージの命令
フェッチ処理では、更新されたプログラムカウンタPCを
命令メモリ2のアドレスとして、命令メモリ2から命令
をパイプラインレジスタIF/ID に読み込む。Jタイプ命
令で命令アドレスが変わる場合以外は、プログラムカウ
ンタPCの値は次のクロックの立ち上がりで1増加した値
が格納されて、以下同様に次々と新しい命令が取り込ま
れていく。
【0033】次に、第2ステージの命令デコード処理で
は、取り込まれた命令の、主にop-code 部が命令デコー
ダcontorolの組み合わせ回路でデコードされる。デコー
ドされた信号は、後続の第3ステージ、第4ステージ、
第5ステージでの命令実行仕様を全て含んでおり、それ
ぞれ次のクロックの立ち上がりでパイプラインレジスタ
ID/EX のEX、MEM 、WBに取り込まれ保持される。同時
に、命令に含まれるsrc1,src2フィールドで指定される
レジスタからデータを読み出して、同じくパイプライン
レジスタID/EX のsrc1,src2に保持する。また、命令に
含まれるimmediate(offset) フィールドと、M,Iタイ
プ命令のdst1フィールド、Rタイプ命令のdst1フィール
ドも、パイプラインレジスタID/EX のIREX1 、IREX2 、
IREX3 に、それぞれ保持される。第3ステージでは、パ
イプラインレジスタID/EX に保持されたデータ間の算術
論理演算をALU により行う。演算されるデータの組み合
わせは以下のようになる。 (1)ALU に取り込まれて算術論理演算されるデータの
一方はsrc1である。 (2)ALU に取り込まれて算術論理演算されるデータの
他方は、ARGCALの値によて以下のように選択され、必要
であれば、Bit 拡張などの処理も行われる。 (a) R,Jタイプの命令の場合・・・src2 (b) M,Iタイプの命令の場合・・・IREX1 ALUOP で指定される演算の実行仕様は、R,Iタイプの
命令の場合は、対応する演算コードをALU に発行して所
望の演算を行わせる。例えば、演算コードALUOP の割り
つけ例は、図6に示すようになる。
【0034】また、Mタイプ命令では、アクセスするデ
ータのアドレスをALU で計算する。従って、ALUOP はAd
d の処理を指示することになる。すなわち、IREX1 に格
納されたoffsetフィールドに含まれていたアドレスと、
src1のレジスタの内容を足し算してデータメモリ6への
実効アドレスとする。これは、インデックス修飾を意味
している。また、0 を入力した汎用レジスタをscr1に指
定することによって、offsetフィールドに含まれていた
アドレスを絶対アドレスとして指定することもできる。
【0035】Jタイプ命令では、ALU で分岐条件を比較
判定するため、この例では、ALUOPでSub の処理をALU
に指示することになる。すなわち、src1で指定されたレ
ジスタの内容から、src2で指定されたレジスタの内容を
引き算して、その結果と分岐の条件とを比較判定する。
図4に示すブロック図では、Jタイプ命令に関しては、
この分岐のための比較判定以外の回路は簡略化のため省
略している。
【0036】次のクロックの立ち上がりで、これらのAL
U の演算結果をパイプラインレジスタEX/MEMのALURSLT
に保持する。同時に、src2は、そのままパイプラインレ
ジスタEX/MEMのSRCMEMに保持される。また、M,Iタイ
プ命令の場合のdst1を保持するIREX2 と、Rタイプ命令
の場合のdst2を保持するIREX3 は、マルチプレクサMUX4
によってどちらかが選択されて、パイプラインレジスタ
EX/MEMのWTRGMEM に保持される。この選択制御信号REGD
STは、例えば、M,Iタイプ命令の場合に0 、Rタイプ
命令の場合に1 となる。
【0037】次に、第4ステージのメモリアクセス処理
では、パイプラインレジスタEX/MEMに保持された内容で
メモリアクセスが行われる。すなわち、ALURSLT をデー
タメモリ6へのアドレス指定に用い、SRCMEMを書き込み
(ライト)データに用いる。通常のビット処理命令は、
データメモリリードの処理を伴うので、このステージで
複数ビット(ワード)の処理と同様にメモリアクセスが
行われる。
【0038】データメモリ6へのリード/ライトは、パ
イプラインレジスタEX/MEMのMEM で制御され、メモリア
クセスインタフェース7により、実際のメモリリード/
ライトクロックが生成され、データメモリ6に出力され
る。
【0039】第5ステージでは、ビット処理命令の場
合、BPUOP で指定されるビット処理をBPU で行う。この
結果を次のクロック立ち上がりでBITACCに保持する。ま
た、R,Iタイプ命令の場合はALURSLT を、Mタイプ命
令のうち、LOAD命令の場合はMEMDATA を汎用レジスタブ
ロックREGFILE に書き込む。このとき、BITACCが1 であ
れば、後続する応用命令(ワード処理)を実行し、BITA
CCが0 であれば、後続する応用命令(ワード処理)を非
実行とする制御を行う必要がある。これは、BITACCのデ
ータを、後続するパイプライン中の制御信号としてフィ
ードバックすることで実現できる。すなわち、BITACCの
値で、後続するパイプラインステージの実行仕様情報を
キャンセルする回路を付加する。このような回路の実施
例は、例えば、実行仕様情報とBITACCとの論理積をとる
回路、または、図4に示すように、BITACCを選択信号と
したマルチプレクサ(MUX1,MUX2,MUX3,MUX5)で、前
段のパイプラインレジスタに保持された制御信号を入力
するか、後続する応用命令(ワード処理)を非実行とす
る実行仕様情報(図5に示す構成例では0 )を、各パイ
プラインレジスタの実行仕様情報を格納する部分(例え
ば、パイプラインレジスタID/EX のWB)に入力するかを
選択する回路となる。
【0040】以上に説明した回路動作からわかるよう
に、命令の実行仕様情報は、パイプラインレジスタID/E
X のEX,M ,WBをクロック毎に後段のステージにシフト
することによって伝達しているので、単純で効率の良い
実行制御が実現できる。また、各ステージで処理された
データを、そのステージの処理終了後に、後段のパイプ
ラインレジスタに保持するという、統一性のある処理を
行うように構成したので、専用ハードウエアのデータバ
スを単純で効率の良いデータバスとすることができる。
【0041】パイプラインレジスタIF/ID ,ID/EX ,EX
/MEM,MEM/WB,WB/IF 、及びPCは、例えば、立ち上がり
トリガ型のD フリップフロップで構成できる。また、汎
用レジスタブロックREGFILE は、例えば、フリップフロ
ップまたはメモリで構成することができる。その他の回
路要素は、組み合わせ回路で構成できる。
【0042】なお、専用ハードウエアの構造、命令セッ
ト、命令構造、オペーコード構成は実施例に限定される
ものではない。
【0043】
【発明の効果】よって、請求項1乃至請求項7記載のプ
ログラマブルコントローラによれば、統一された命令構
造及びその命令構造により対応するように構成された専
用ハードウエアを備えたことにより、専用ハードウエア
の単純化、制御の単純化が図れる。これにより、専用ハ
ードウエア(プロセッサ)の命令実行ステージの多段化
に伴う、専用ハードウエアの複雑化及び制御の複雑化が
緩和され、多段化が容易になるので、プログラマブルコ
ントローラ全体の処理速度の向上を図ることができる。
【0044】請求項3記載のプログラマブルコントロー
ラによれば、プログラマブルコントローラの基本処理で
あるビット演算命令の結果から、各命令実行ステージの
実行仕様情報を所定の値に変更可能に構成したので、プ
ログラマブルコントローラに特有のビット演算処理によ
る後続の応用命令の無効化(非実行)制御をパイプライ
ン処理を中断せずに行うことができる。
【0045】請求項4記載のプログラマブルコントロー
ラによれば、命令の実行仕様情報を、パイプラインレジ
スタID/EX のEX,M ,WBをクロック毎に後段のステージ
にシフトすることによって伝達しているので、単純で効
率の良い実行制御が実現できる。
【0046】請求項5記載のプログラマブルコントロー
ラによれば、各ステージで処理されたデータを、そのス
テージの処理終了後に、後段のパイプラインレジスタに
保持するという、統一性のある処理を行うように構成し
たので、専用ハードウエアのデータバスを単純で効率の
良いデータバスとすることができる。
【図面の簡単な説明】
【図1】本発明のプログラマブルコントローラの5段パ
イプライン構造を示す説明図である。
【図2】本発明のプログラマブルコントローラの命令セ
ットと命令構造の一実施例を示す説明図である。
【図3】本発明のプログラマブルコントローラのオペコ
ードの構成例を示す説明図である。
【図4】本発明のプログラマブルコントローラの一実施
例を示すブロック図である。
【図5】本発明のプログラマブルコントローラの命令処
理手順を示す説明図である。
【図6】本発明のプログラマブルコントローラの演算コ
ードALUOP の割り付けの一実施例を示す説明図である。
【符号の説明】
1 IF部 2 命令メモリ 3 ID部 4 EX部 5 MEM部 6 データメモリ 7 メモリアクセスインタフェース 8 WB部 IF 第1ステージ ID/RF 第2ステージ EX 第3ステージ MEM 第4ステージ WB/BPU 第5ステージ REGFILE 汎用レジスタブロック(汎用レジス
タ) PC プログラムカウンタ CONTROL 命令デコーダ ALU 算術論理演算ユニット BPU BPU IF/ID ,ID/EX ,EX/MEM,MEM/WB,WB/IF パイプライ
ンレジスタ

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 基本的なビット演算処理と、複数ビット
    の応用処理を行うプログラマブルコントローラにおい
    て、命令実行ステージを、命令メモリから命令を取り出
    す命令フェッチ処理を行う第1ステージと、命令デコー
    ド、及び、汎用レジスタから値を取り出すレジスタフェ
    ッチ処理を行う第2ステージと、算術論理演算またはデ
    ータアドレス計算または分岐先の実効アドレスを計算す
    る分岐先計算を行う第3ステージと、データメモリへの
    メモリアクセス処理を行う第4ステージと、ビット演算
    または前記汎用レジスタへの書き込み処理または分岐処
    理を行う第5ステージとで構成し、この5つのステージ
    をパイプライン実行させることを特徴とするプログラマ
    ブルコントローラ。
  2. 【請求項2】 パイプライン処理の各命令実行ステージ
    に対応したハードウエアとして、命令メモリとプログラ
    ムカウンタとを備えたIF部と、命令デコーダと汎用レ
    ジスタとを備えたID部と、算術論理演算ユニットを備
    えたEX部と、データメモリとそのデータメモリへのア
    クセス制御を行うメモリアクセスインタフェースとを備
    えたMEM部と、ビット演算処理を行うBPUを備えた
    WB部とを備えたことを特徴とするプログラマブルコン
    トローラ。
  3. 【請求項3】 プログラマブルコントローラの基本処理
    であるビット演算命令の結果から、各命令実行スレージ
    の実行仕様情報を所定の値に変更して、後に続く命令を
    非実行にすることを特徴とする請求項1または請求項2
    記載のプログラマブルコントローラ。
  4. 【請求項4】 パイプライン処理の制御のため、複数の
    パイプラインレジスタを前記命令実行ステージに対応す
    るハードウエア間に備え、それぞれの前記パイプライン
    レジスタに、前記命令実行ステージの実行結果を保存す
    ることを特徴とする請求項1乃至請求項3記載のプログ
    ラマブルコントローラ。
  5. 【請求項5】 複数の前記パイプラインレジスタにそれ
    ぞれの前記命令実行ステージの実行仕様情報を保存し、
    実行が1ステージ進む毎に、前記実行仕様情報を次の命
    令実行ステージのパイプラインレジスタへ送ることを特
    徴とする請求項1乃至請求項4記載のプログラマブルコ
    ントローラ。
  6. 【請求項6】 前記命令実行ステージで実行が可能な、
    メモリアクセス命令と、レジスタ間演算命令と、即値演
    算命令と、分岐命令と、ビット演算命令とにより構成さ
    れる縮小命令セット構造を有することを特徴とする請求
    項1乃至請求項5記載のプログラマブルコントローラ。
  7. 【請求項7】 前記第3ステージで、アクセスする前記
    データメモリの実効アドレスを計算し前記第4ステージ
    で前記データメモリへの読み書き処理を行い、前記デー
    タメモリから前記汎用レジスタへデータを書き込む命令
    の場合にそのデータ書き込み処理を前記第5ステージで
    行うメモリアクセス命令と、前記第3ステージで前記汎
    用レジスタ間で算術論理演算を行い、前記第5ステージ
    で前記汎用レジスタへの書き込み処理を行う前記レジス
    タ間演算命令と、前記第3ステージで、命令に含まれる
    即値データと所定の前記汎用レジスタに格納された値と
    で算術論理演算を行い、前記第5ステージで前記汎用レ
    ジスタへの書き込み処理を行う即値演算命令と、前記第
    3ステージで比較判定を行い、前記第5ステージでその
    結果に基づいて分岐処理を行う分岐命令と、前記第4ス
    テージで前記データメモリから前記汎用レジスタへの読
    み込み処理を行い、前記第5ステージでデータの各ビッ
    トに対する演算処理を行うビット演算命令とにより構成
    される縮小命令セット構造を有することを特徴とする請
    求項1乃至請求項5記載のプログラマブルコントロー
    ラ。
JP6207574A 1994-08-31 1994-08-31 プログラマブルコントローラ Expired - Fee Related JP3000857B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6207574A JP3000857B2 (ja) 1994-08-31 1994-08-31 プログラマブルコントローラ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6207574A JP3000857B2 (ja) 1994-08-31 1994-08-31 プログラマブルコントローラ

Publications (2)

Publication Number Publication Date
JPH0876996A true JPH0876996A (ja) 1996-03-22
JP3000857B2 JP3000857B2 (ja) 2000-01-17

Family

ID=16542013

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6207574A Expired - Fee Related JP3000857B2 (ja) 1994-08-31 1994-08-31 プログラマブルコントローラ

Country Status (1)

Country Link
JP (1) JP3000857B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5933651A (en) * 1995-09-29 1999-08-03 Matsushita Electric Works, Ltd. Programmable controller
JP2020091908A (ja) * 2006-09-21 2020-06-11 インテル コーポレイション 論理比較動作を実行するための装置
CN116187455A (zh) * 2022-12-16 2023-05-30 中国人民解放军战略支援部队信息工程大学 一种经典及量子混合指令流水线设计方法及装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8777075B2 (en) 2008-09-05 2014-07-15 Velopass, Llc Combination hydration, nutrition, and pack apparatus for a bicycle

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58106636A (ja) * 1981-12-18 1983-06-25 Hitachi Ltd パイプライン演算装置
JPS59149543A (ja) * 1982-11-26 1984-08-27 インモス,リミテツド コンピユ−タおよびコンピユ−タ装置を動作させる方法
JPS623336A (ja) * 1985-06-28 1987-01-09 Yokogawa Hewlett Packard Ltd 条件付きブランチ方式
JPH04363704A (ja) * 1991-02-25 1992-12-16 Matsushita Electric Works Ltd プログラマブルコントローラの演算プロセッサ
JPH0581119A (ja) * 1991-02-20 1993-04-02 Internatl Business Mach Corp <Ibm> レジスタ間接モードを用いる汎用メモリ・アクセス方式
JPH05197546A (ja) * 1991-06-24 1993-08-06 Hitachi Ltd マイクロコンピュータ及び除算回路

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58106636A (ja) * 1981-12-18 1983-06-25 Hitachi Ltd パイプライン演算装置
JPS59149543A (ja) * 1982-11-26 1984-08-27 インモス,リミテツド コンピユ−タおよびコンピユ−タ装置を動作させる方法
JPS623336A (ja) * 1985-06-28 1987-01-09 Yokogawa Hewlett Packard Ltd 条件付きブランチ方式
JPH0581119A (ja) * 1991-02-20 1993-04-02 Internatl Business Mach Corp <Ibm> レジスタ間接モードを用いる汎用メモリ・アクセス方式
JPH04363704A (ja) * 1991-02-25 1992-12-16 Matsushita Electric Works Ltd プログラマブルコントローラの演算プロセッサ
JPH05197546A (ja) * 1991-06-24 1993-08-06 Hitachi Ltd マイクロコンピュータ及び除算回路

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5933651A (en) * 1995-09-29 1999-08-03 Matsushita Electric Works, Ltd. Programmable controller
JP2020091908A (ja) * 2006-09-21 2020-06-11 インテル コーポレイション 論理比較動作を実行するための装置
CN116187455A (zh) * 2022-12-16 2023-05-30 中国人民解放军战略支援部队信息工程大学 一种经典及量子混合指令流水线设计方法及装置

Also Published As

Publication number Publication date
JP3000857B2 (ja) 2000-01-17

Similar Documents

Publication Publication Date Title
JP3592230B2 (ja) データ処理装置
US6581152B2 (en) Methods and apparatus for instruction addressing in indirect VLIW processors
US4539635A (en) Pipelined digital processor arranged for conditional operation
JPH09231070A (ja) 情報処理回路、半導体集積回路装置、マイクロコンピュータ、電子機器
EP0809180A2 (en) Data processing circuit, microcomputer, and electronic equipment
US7546442B1 (en) Fixed length memory to memory arithmetic and architecture for direct memory access using fixed length instructions
JP2003005958A (ja) データ処理装置およびその制御方法
US20070245127A1 (en) Reconfigurable control structure for cpus and method of operating same
US5938759A (en) Processor instruction control mechanism capable of decoding register instructions and immediate instructions with simple configuration
EP0766155B1 (en) Programmable controller
JP3479385B2 (ja) 情報処理装置
US4598358A (en) Pipelined digital signal processor using a common data and control bus
US5479620A (en) Control unit modifying micro instructions for one cycle execution
JP3000857B2 (ja) プログラマブルコントローラ
JP4800582B2 (ja) 演算処理装置
JPH11307725A (ja) 半導体集積回路
US20040024992A1 (en) Decoding method for a multi-length-mode instruction set
CN115048334A (zh) 可编程阵列处理器控制装置
JP5157129B2 (ja) 情報処理装置およびその回路設計方法
JP3182591B2 (ja) マイクロプロセッサ
JP3504355B2 (ja) プロセッサ
JP3534987B2 (ja) 情報処理装置
JP3619343B2 (ja) データ処理装置と方法
US5649229A (en) Pipeline data processor with arithmetic/logic unit capable of performing different kinds of calculations in a pipeline stage
EP0862112A2 (en) Data processing system having an instruction pipeline

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081112

Year of fee payment: 9

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: 20081112

Year of fee payment: 9

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: 20091112

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20091112

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20101112

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20111112

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20111112

Year of fee payment: 12

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: 20111112

Year of fee payment: 12

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: 20121112

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20121112

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: 20121112

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: 20121112

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20131112

Year of fee payment: 14

LAPS Cancellation because of no payment of annual fees