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

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

Info

Publication number
JPH117309A
JPH117309A JP15989497A JP15989497A JPH117309A JP H117309 A JPH117309 A JP H117309A JP 15989497 A JP15989497 A JP 15989497A JP 15989497 A JP15989497 A JP 15989497A JP H117309 A JPH117309 A JP H117309A
Authority
JP
Japan
Prior art keywords
instruction
uma
address
register
pipeline
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.)
Pending
Application number
JP15989497A
Other languages
English (en)
Inventor
Sekiya Natsui
関弥 夏井
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.)
Koyo Electronics Industries Co Ltd
Original Assignee
Koyo Electronics Industries Co 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 Koyo Electronics Industries Co Ltd filed Critical Koyo Electronics Industries Co Ltd
Priority to JP15989497A priority Critical patent/JPH117309A/ja
Publication of JPH117309A publication Critical patent/JPH117309A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Programmable Controllers (AREA)

Abstract

(57)【要約】 【課題】 外部から現在実行中のプログラムのアドレス
を正確に把握することができるようにする。 【解決手段】 内部処理として所定段数のパイプライン
処理をする演算手段と、パイプラインの各段に対応して
設けられたアドレスレジスタを含み、パイプライン処理
に対応した制御信号を生成して、アドレスレジスタにパ
イプライン処理される命令のアドレスを格納する制御手
段とを備え、アドレスレジスタには少なくとも現在実行
中の命令のアドレスを格納する。これよって外部のCP
U等から現在実行中の命令を把握することができる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はプログラマブルコン
トローラ、特にパイプライン処理される命令のアドレス
に関するものである。
【0002】
【従来の技術】従来からプログラマブルコントローラに
もパイプライン構造を用いたものがある。通常、パイプ
ライン構造による命令実行は1サイクルで1命令を実行
するのが基本であるが、1つ1つの命令が複雑な動作を
するときにはその実行に何サイクルも必要になる場合が
あり、その場合にはその分パイプラインの一部を一時停
止させる必要があり、結果としてパイプラインの乱れが
大きくなる(なお、分岐によるパイプラインの乱れは、
パイプライン構造を用いた大抵の命令実行ユニットで発
生するが、その場合にはパイプラインの一時停止は必要
ない。)。
【0003】
【発明が解決しようとする課題】ところが、パイプライ
ンがどんなに乱れても、外部CPUはそのパイプライン
動作を正確に把握できなければならない。その理由は少
なくとも2つ挙げられる。 a)プログラマブルコントローラには割り込み機能があ
るが、それは外部から何らかの割り込みがプログラマブ
ルコントローラに送られた場合に、プログラマブルコン
トローラはその実行しているプログラムを即座に中断
し、割り込みプログラムを実行するというものである。
ところが、割り込みプログラムの実行が終われば、中断
していたプログラムの実行を再開しなければならず、そ
のためには外部CPUが実行中のアドレスを正確に把握
する必要がある。 b)プログラマブルコントローラの機能の一つとしてデ
バック機能があり、これは作業者の指示によって命令を
一つずつ実行していくというものである。この機能を実
現するためには外部CPUが実行中のアドレスを正確に
把握して作業者にフィードバックする必要がある。しか
しながら、従来のプログラマブルコントローラにおいて
は、パイプラインが乱れると、外部CPUがパイプライ
ンの動作を正確に把握することができなかったので支障
をきたしていた。
【0004】本発明は、このような問題点を解決するた
めになされたものであり、外部CPUからパイプライン
動作を正確に把握できるようにしたプログラマブルコン
トローラを提供することを目的とする。
【0005】
【課題を解決するための手段】本発明に係るプログラマ
ブルコントローラは、内部処理として所定段数のパイプ
ライン処理をする演算手段と、パイプラインの各段に対
応して設けられたアドレスレジスタを含み、パイプライ
ン処理に対応した制御信号を生成して、アドレスレジス
タにパイプライン処理される命令のアドレスを格納する
制御手段とを備え、アドレスレジスタには少なくとも現
在実行中の命令のアドレスを格納する。これよって外部
のCPU等から現在実行中の命令を把握することができ
る。
【0006】
【発明の実施の形態】図1は本発明の一実施形態に係る
プログラマブルコントローラのゲートアレイの構成を示
すブロック図である。図1において、10はゲートアレ
イ、11〜19はそれぞれこのゲートアレイ10に含ま
れる機能ブロックである。11はCPUインターフェー
スブロックであり、これはゲートアレイ10と外部CP
U31,32とのインターフェースを行うものである。
12はトラップ回路ブロックであり、これはUM(ユー
ザメモリ)アドレスに対するトラップを行う。13はU
Mメモリインターフェースブロックであり、これはUM
メモリ41とユーザープログラムのやり取りを行う。1
4はMMメモリインターフェースブロックであり、これ
はMMメモリ42とマイクロコードのやり取りを行う。
15はVMメモリインターフェースブロックであり、こ
れはVMメモリ43とステータスやデータのやり取りを
行う。16は命令デコードブロックであり、これは命令
語の解析を行い、その解析結果に対応したマイクロコー
ドのアドレスを生成する。17は命令実行ブロックであ
り、これはマイクロコードに基づいて命令を実行する。
18は演算回路ブロックであり、これは演算処理を行
う。19はコントロールブロックであり、これはゲート
アレイ10の全体を制御するものであり、UMAレジス
タ1〜UMAレジスタ4を内蔵している。このUMAレ
ジスタ1〜UMAレジスタ4には各パイプラインにおい
て実行されているプログラムのアドレスが保存される。
【0007】図2は図1のゲートアレイ10のパイプラ
イン処理のサイクルについての説明図である。図示のよ
うに、サイクル1ではUMメモリインターフェースブロ
ック13によりUMメモリ41から命令語の読込を行
い、サイクル2ではその命令語を命令デコードブロック
16にてデコードし、サイクル3ではMMメモリインタ
ーフェースブロック14によりMMメモリ42からその
デコードされた命令語に対応したマイクロコードの読込
を行い、サイクル4では命令実行ブロック17にてその
マイクロコードに基づいた命令を実行する。
【0008】図3はパイプライン処理による命令実行の
例を示した説明図である。図示の例においては、1サイ
クルで命令の実行が完了している。
【0009】図4はパイプライン処理による命令実行の
他の例を示した説明図である。図示の例においては、3
サイクルで命令の実行が完了しており、命令の実行が完
了するまで、第1段目及び第2段目のパイプラインを待
機(WAIT)させて、第3段目及び第4段目のパイプ
ラインのみを動作させている。
【0010】図5はパイプライン処理による命令実行の
更に他の例を示した説明図である。図示の例において
は、CALL命令等の実行によってユーザープログラム
内で分岐処理が発生しており、この場合には、第1段目
と第2段目のパイプラインを、第3段目と第4段目とは
独立させるとともに、各々を別々に動作させる。即ち、
第1段目の待機(WAIT)と第2段目の待機(WAI
T)とを順番に解除している。
【0011】図6はコントロールブロック19における
パイプラインの状態を規定した動作状態を示した説明図
である。ゲートアレイ10の安定動作を確保するため
に、回路全体の動作状態を予め規定しておく必要があ
り、本実施形態ではコントロールブロック19において
パイプラインの状態を基準にして5つの動作状態を規定
している。CPUモード、命令実行モード1、命令実行
モード2、命令実行モード3及び命令実行モード4、と
いう5つのモードが規定されている。CPUモードは電
源投入及び命令実行モード4におけるブレーク命令又は
END命令によって開始し、命令実行モード1は外部C
PU31,32からのプログラム実行開始指令によって
開始するものであり、第1段目のパイプラインが使用さ
れる。命令実行モード2〜命令実行モード4はそれぞれ
前段のモードが終了するとその処理が開始する。命令実
行モード2は第1段目及び第2段目のパイプラインが使
用され、命令実行モード3は第1段目〜第3段目ののパ
イプラインが使用される。命令実行モード4は第1段目
〜第4段目のパイプラインが使用され、ブレーク命令又
はEND命令が現れるまで命令実行モード4が継続され
る。
【0012】図1のコントロールブロック19に内蔵さ
れたUMAレジスタ1〜4には次のアドレスが保存され
る。 UMAレジスタ1:現在実行中又は実行したアドレス
(CPUモード時)を保存する。 UMAレジスタ2:次に実行するアドレスを保存する。 UMAレジスタ3:次の次に実行するアドレスを保存す
る。 UMAレジスタ4:UMメモリ41からリード中のアド
レスを保存する。
【0013】表1はUMAレジスタ1〜4に保存される
データ(アドレス)とコントロール信号との関連を示し
た表である。
【0014】
【表1】
【0015】表1のコントロール信号はそれぞれ次のよ
うな状態においてONになる。 GCST1 :状態が命令実行モード1の時にON GCST2 :状態が命令実行モード2の時にON GCST3 :状態が命令実行モード3の時にON MDGCCE :1つの命令語の処理が終わった時にO
N MDGCSFT:マイクロコードによるレジスタシフト
指示があったときON MDGCEND:END命令を実行したときにON
【0016】次に、上述のコントロール信号、パイプラ
イン処理及びUMAレジスタのアドレスの関係について
説明する。ここで、命令語1のアドレスはA、命令語2
のアドレスはB、命令語3のアドレスはC、命令語4の
アドレスはD、命令語5のアドレスはE、命令語6のア
ドレスはF、命令語7のアドレスはG、命令語8のアド
レスはH、命令語9のアドレスはIであるものとする。
【0017】図7は図3のパイプライン処理に対応した
UMAレジスタのアドレスの遷移状態を示した図であ
り、ここでは1サイクル毎に命令が完了する場合につい
て図示されている。サイクル1においては、命令語1の
読み込みを行うので、UMメモリ41から命令語1を読
み出すためのアドレス「A」が、UMAレジスタ4に書
き込まれる。このサイクル1は命令実行モード1である
ことから、サイクル1が終了する時点(:正確には終了
する時点より若干手前のタイミングである。このことは
後述の場合も同様である。)でGCST1がONとな
り、UMAレジスタ2に可能されているデータ(アドレ
ス)がUMAレジスタ1,3に書き込まれる。なお、U
MAレジスタ2には、この例では、初期状態において
「A」が保存されており、従って、UMAレジスタ1〜
3には「A」が書き込まれることとなる。また、UMA
レジスタ4には次の命令語2を読み出すためのアドレス
「B」が書き込まれる。
【0018】次に、サイクル2においては、命令語2の
読み込みと命令語1のデコードがなされる。サイクル2
は命令実行モード2であるから、その終了の時点でGC
ST2がONとなり、UMAレジスタ4の内容をUMA
レジスタ3に書き込み、同様にして、UMAレジスタ3
→UMAレジスタ2、UMAレジスタ2→UMAレジス
タ1、というようにUMAレジスタ4〜1に保存されて
いるアドレスを同時にシフトする。そして、サイクル3
は命令実行モード3であるから、その終了時点において
GCST3がONとなり、同様にして、UMAレジスタ
4〜1に格納されているアドレスを同時にシフトする。
また、サイクル4においては命令語1の処理が終了する
ことことから、その終了の時点でMDGCCEがONと
なり、上記の場合と同様にして、UMAレジスタ4〜1
に格納されているアドレスを同時に順次する。よって、
サイクル5におけるUMAレジスタ4〜UMAレジスタ
1のアドレスはそれぞれ図7に示されるように、
「E」、「D」、「C」、「B」となる。サイクル5に
おいても、この例においては命令語2の処理が終了する
のでサイクル5の終了時点においてMDGCCEがON
となり、UMAレジスタ4〜1に格納されているアドレ
スが同時にシフトして書き換えられる。
【0019】図8は図4のパイプライン処理に対応した
UMAレジスタのアドレスの遷移状態を示した図であ
り、ここでは3サイクルで命令が完了する場合について
図示されている。サイクル1〜サイクル3までは図7の
場合と同じであるが、この例ではサイクル4において命
令が完了せず、サイクル6において命令が完了するの
で、サイクル4〜6の間はUMAレジスタ4〜1は同一
内容のアドレスを保持することになる。そして、サイク
ル6の終了時点においてMDGCCEがONとなり、U
MAレジスタ4〜1に格納されているアドレスが同時に
シフトして書き換えられる。
【0020】図9は図5のパイプライン処理に対応した
UMAレジスタのアドレスの遷移状態を示した図であ
り、ここでは命令実行中に分岐処理が発生した場合につ
いて図示されている。分岐処理が発生して命令語6を読
み込んだサイクル5及び次のサイクル6の終了時点にお
いてそれぞれMDGCSHTをONにし、UMAレジス
タ1の内容はそのままに維持され、それ以外のUMAレ
ジスタ4〜2についてはその内容が同時にシフトされて
書き換えられる。
【0021】以上の図7〜図9から明らかなように、コ
ントロール信号GCST1〜3、MDGCCE、MDG
CSFT及びMDGCENDに基づいてUMAレジスタ
のアドレスの内容を制御することにより、UMAレジス
タ1には実行中の命令語(又は実行された命令語(CP
Uモード時))のアドレスが書き込まれ、UMAレジス
タ2には次に実行する命令語のアドレスが書き込まれる
ことになる。従って、図1のCPU31,32はUMA
レジスタ1,2の内容(アドレス)を参照することで、
現在実行中の命令(又は実行された命令語)及び次に実
行する命令を把握することが可能になっている。
【0022】
【発明の効果】以上のように本発明によれば、パイプラ
イン処理をする演算手段と、パイプラインの各段に対応
して設けられたアドレスレジスタを含み、パイプライン
処理に対応した制御信号を生成して、アドレスレジスタ
にパイプライン処理される命令のアドレスを格納する制
御手段とを備え、アドレスレジスタには少なくとも現在
実行中の命令のアドレスを格納するようにしたので、外
部から現在実行中の命令語のアドレスを正確に把握する
ことができ、従って、その命令の内容を把握することが
できる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係るプログラマブルコン
トローラのゲートアレイの構成を示すブロック図であ
る。
【図2】図1のゲートアレイのパイプライン処理のサイ
クルについての説明図である。
【図3】パイプライン処理による命令実行の例を示した
説明図である。
【図4】パイプライン処理による命令実行の他の例を示
した説明図である。
【図5】パイプライン処理による命令実行の更に他の例
を示した説明図である。
【図6】図1のコントロールブロックにおけるパイプラ
インの状態を規定した動作状態を示した説明図である。
【図7】図3のパイプライン処理に対応したUMAレジ
スタのアドレスの遷移状態を示した図である。
【図8】図4のパイプライン処理に対応したUMAレジ
スタのアドレスの遷移状態を示した図である。
【図9】図5のパイプライン処理に対応したUMAレジ
スタのアドレスの遷移状態を示した図である。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 内部処理として所定段数のパイプライン
    処理をする演算手段と、前記パイプラインの各段に対応
    して設けられたアドレスレジスタを含み、前記パイプラ
    イン処理に対応した制御信号を生成して、前記アドレス
    レジスタにパイプライン処理される命令のアドレスを格
    納する制御手段とを備え、前記アドレスレジスタには少
    なくとも現在実行中の命令のアドレスを格納することを
    特徴とするプログラマブルコントローラ。
JP15989497A 1997-06-17 1997-06-17 プログラマブルコントローラ Pending JPH117309A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP15989497A JPH117309A (ja) 1997-06-17 1997-06-17 プログラマブルコントローラ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP15989497A JPH117309A (ja) 1997-06-17 1997-06-17 プログラマブルコントローラ

Publications (1)

Publication Number Publication Date
JPH117309A true JPH117309A (ja) 1999-01-12

Family

ID=15703506

Family Applications (1)

Application Number Title Priority Date Filing Date
JP15989497A Pending JPH117309A (ja) 1997-06-17 1997-06-17 プログラマブルコントローラ

Country Status (1)

Country Link
JP (1) JPH117309A (ja)

Similar Documents

Publication Publication Date Title
EP0241946A2 (en) Information processing system
JPH01310441A (ja) データ処理装置
JP2513417B2 (ja) 情報処理装置
JPH06295243A (ja) データ処理装置
JPH117309A (ja) プログラマブルコントローラ
JP2004348327A (ja) デジタル信号処理装置及びデジタル信号処理方法
JP2002535749A (ja) 複数の命令ソースからの命令を実行するプロセッサおよび方法
JP2552738B2 (ja) データ処理装置
JP3719241B2 (ja) 演算装置
JPWO2000073863A1 (ja) プログラマブルコントローラ
JPH02181236A (ja) デバッグ装置
JP4151497B2 (ja) パイプライン処理装置
JP2002229776A (ja) 複数組の命令組を実行するためのデータ処理装置
JP3524240B2 (ja) 並列命令処理装置
JP3097602B2 (ja) データ処理装置
JPH117385A (ja) 演算処理装置
JP2985244B2 (ja) 情報処理装置
JPH03154929A (ja) 中央処理装置
JPH03164945A (ja) データ処理装置
JPS6029846A (ja) 情報処理装置における実行状態制御方式
JPH01258045A (ja) インサーキットエミュレータ
JPH04123229A (ja) パイプライン制御装置
JPH01276231A (ja) データ処理装置
JPS63298634A (ja) 情報処理装置
JP2005134987A (ja) パイプライン演算処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040319

A977 Report on retrieval

Effective date: 20060301

Free format text: JAPANESE INTERMEDIATE CODE: A971007

A131 Notification of reasons for refusal

Effective date: 20060307

Free format text: JAPANESE INTERMEDIATE CODE: A131

A02 Decision of refusal

Effective date: 20060627

Free format text: JAPANESE INTERMEDIATE CODE: A02