JPS6133506A - プログラマブル・コントロ−ラ - Google Patents
プログラマブル・コントロ−ラInfo
- Publication number
- JPS6133506A JPS6133506A JP15471784A JP15471784A JPS6133506A JP S6133506 A JPS6133506 A JP S6133506A JP 15471784 A JP15471784 A JP 15471784A JP 15471784 A JP15471784 A JP 15471784A JP S6133506 A JPS6133506 A JP S6133506A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- circuit
- jump
- interpreter
- address
- 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
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/10—Plc systems
- G05B2219/13—Plc programming
- G05B2219/13083—Jumps
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/10—Plc systems
- G05B2219/15—Plc structure of the system
- G05B2219/15105—Hardwired logic to accelerate, speed up execution of instructions
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Programmable Controllers (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
(発明の分野)
この発明は、論理命令に加え応用命令を処理する機能を
備えたプログラマブル・コントローラの改良に関する。
備えたプログラマブル・コントローラの改良に関する。
(従来技術とその問題点)
プログラマブル・コントローラの中央処理装置(以下、
CPUという)の機能は、ラダーチャート図で表現され
るリレー接点、コイル出力の論理演算を処理するものが
主流であるが、プログラマブル・コントローラの高機能
化に伴い、データ転送、四則演算等の応用命令の演算、
すなわち論理演算に加えてデータ演算も同時に処理する
ことが求められている。
CPUという)の機能は、ラダーチャート図で表現され
るリレー接点、コイル出力の論理演算を処理するものが
主流であるが、プログラマブル・コントローラの高機能
化に伴い、データ転送、四則演算等の応用命令の演算、
すなわち論理演算に加えてデータ演算も同時に処理する
ことが求められている。
ラダーチャート図でプログラミングされるプログラマブ
ル・コントローラは通常サイクリック演紳方式がとられ
る。この場合、プログラマブル・コントローラの入出力
応答は、リレー回路の応答時間と同等程度に高速化する
ことがまず必要である。
ル・コントローラは通常サイクリック演紳方式がとられ
る。この場合、プログラマブル・コントローラの入出力
応答は、リレー回路の応答時間と同等程度に高速化する
ことがまず必要である。
ところが、ユーザプログラム規模の増大および入出力点
数の増加に伴い、ユーザプログラムの1サイクル実行時
間、すなわちプログラマブル・コントローラのサイクル
タイムが問題となり、そのためには命令の高速処理化が
要求されている。
数の増加に伴い、ユーザプログラムの1サイクル実行時
間、すなわちプログラマブル・コントローラのサイクル
タイムが問題となり、そのためには命令の高速処理化が
要求されている。
そこで、従来はユーザ命令をマイクロプロセッサ(以下
、MPUという)のマイクロ言語に予めコンパイルして
ユーザメモリに格納しておくコンパイル方式、あるいは
ユーザ命令そのものはプログラマブル・コントローラ言
語でユーザメモリに格納し、実行の際に命令毎に作られ
た別のコンパイルプログラムを走らせるインタプリタ方
式が採用されている。
、MPUという)のマイクロ言語に予めコンパイルして
ユーザメモリに格納しておくコンパイル方式、あるいは
ユーザ命令そのものはプログラマブル・コントローラ言
語でユーザメモリに格納し、実行の際に命令毎に作られ
た別のコンパイルプログラムを走らせるインタプリタ方
式が採用されている。
しかしながら、MPUはデータ処理を目的として作られ
ているため、ビット処理は苦手であり、そのためにビッ
ト演算用のハードウェアサポートをしているが、なおも
基本的にはMPUのマイクロ言語そのもので処理するた
め、ユーザ命令の処理時間はMPUのマイクロ言語の実
行時間そのものになり高速化には限界がある。
ているため、ビット処理は苦手であり、そのためにビッ
ト演算用のハードウェアサポートをしているが、なおも
基本的にはMPUのマイクロ言語そのもので処理するた
め、ユーザ命令の処理時間はMPUのマイクロ言語の実
行時間そのものになり高速化には限界がある。
また、他の方式としては、論理演算用、データ演算用の
2つのCPUを採用し、ユーザ命令の7エツチ毎に2つ
のCPUのどちらかに制御権を渡し、論理、データ演算
を処理する方式があり、これによれば論理命令の処理は
MPUのマイクロ命令の実行時間に関係ないので高速化
が図れるが、独立したCPUが2つあるので命令によっ
てCPUを切替えるときの回路の複雑化、切替時のロス
タイムが生じ、結局70グラマプル・コントローラのサ
イクルタイムを長くしていた。
2つのCPUを採用し、ユーザ命令の7エツチ毎に2つ
のCPUのどちらかに制御権を渡し、論理、データ演算
を処理する方式があり、これによれば論理命令の処理は
MPUのマイクロ命令の実行時間に関係ないので高速化
が図れるが、独立したCPUが2つあるので命令によっ
てCPUを切替えるときの回路の複雑化、切替時のロス
タイムが生じ、結局70グラマプル・コントローラのサ
イクルタイムを長くしていた。
(発明の目的)
この発明の目的は、この種の論理命令および応用命令の
双方を処理するサイクリック演算方式のプログラマブル
・コントローラにおける演算速度の高速化を達成するこ
とにある。
双方を処理するサイクリック演算方式のプログラマブル
・コントローラにおける演算速度の高速化を達成するこ
とにある。
(発明の構成および効果)
この発明は、ユーザプログラムメモリのアトレースを管
理するプログラムカウンタと、ユーザプログラムメモリ
の内容をラッチするオペコードラッチ回路と、論理命令
処理回路と、応用命令インタプリタジャンプへの前後処
理回路と、マイクロプロセッサユニットと、システムプ
ログラムメモリと、入出力メモリとを有するプログラマ
ブル・コントローラにおいて; リセット解除後、マイクロプロセッサのシステムクロッ
クに同期してプログラムカウンタを更新し、かつユーザ
プログラムメモリの内容をオペコードラッチ回路へ取込
み、その内容が論理命令時は前記論理命令処理回路を通
して処理する手段と;論理命令−演算時にあっては、前
記マイクロプロセッサに対して、特定アドレスをジャン
プするようなアイドル状態を行なわせ、かつ前記オペコ
ードラッチの内容が応用命令時にあって畔、前記応用命
令インタプリタジャンプ前後処理回路によってオペコー
ドラッチデータからジャンプ生成回路を通じて、マイク
ロプロセッサを特定アドレスジャンプからインタプリタ
への先頭アドレスへジャンプさせる手段と; 前記応用命令インタプリタジャンプ前後処理回路によっ
てインタプリタ実行後、次の命令をフェッチするための
プログラムカウンタ更新手段と二次の命!、の実行サイ
クルに入ったときに、マイクロプロセッサを特定アドレ
スへジヤンプさせ、マイクロプロセッサをアイドル状態
にする手段とを設けたことを特徴とする。
理するプログラムカウンタと、ユーザプログラムメモリ
の内容をラッチするオペコードラッチ回路と、論理命令
処理回路と、応用命令インタプリタジャンプへの前後処
理回路と、マイクロプロセッサユニットと、システムプ
ログラムメモリと、入出力メモリとを有するプログラマ
ブル・コントローラにおいて; リセット解除後、マイクロプロセッサのシステムクロッ
クに同期してプログラムカウンタを更新し、かつユーザ
プログラムメモリの内容をオペコードラッチ回路へ取込
み、その内容が論理命令時は前記論理命令処理回路を通
して処理する手段と;論理命令−演算時にあっては、前
記マイクロプロセッサに対して、特定アドレスをジャン
プするようなアイドル状態を行なわせ、かつ前記オペコ
ードラッチの内容が応用命令時にあって畔、前記応用命
令インタプリタジャンプ前後処理回路によってオペコー
ドラッチデータからジャンプ生成回路を通じて、マイク
ロプロセッサを特定アドレスジャンプからインタプリタ
への先頭アドレスへジャンプさせる手段と; 前記応用命令インタプリタジャンプ前後処理回路によっ
てインタプリタ実行後、次の命令をフェッチするための
プログラムカウンタ更新手段と二次の命!、の実行サイ
クルに入ったときに、マイクロプロセッサを特定アドレ
スへジヤンプさせ、マイクロプロセッサをアイドル状態
にする手段とを設けたことを特徴とする。
このような構成によれば、次のような効果がある。
(1)論理命令演算がMPLIのシステムクロックと同
期しているので、命令の実行サイクル時にメモリ(特に
110メモリ)のアクセスタイムにより命令フェッチ実
行サイクルが制約を受けるが、MPLJのメモリレディ
機能を使って必要とする実行サイクルのみ基本のものよ
り長くすることが容易にできる。
期しているので、命令の実行サイクル時にメモリ(特に
110メモリ)のアクセスタイムにより命令フェッチ実
行サイクルが制約を受けるが、MPLJのメモリレディ
機能を使って必要とする実行サイクルのみ基本のものよ
り長くすることが容易にできる。
(2)プログラマブル・コントローラのCPLJは論理
命令の演算結果で応用命令を演算するので、基本的に論
理命令と応用命令の処理を並列にするのは困難である。
命令の演算結果で応用命令を演算するので、基本的に論
理命令と応用命令の処理を並列にするのは困難である。
しかし本発明では、論理命令実行中は、特定アドレスを
ジャンプ処理しているが、割込も(タイマクロック処理
)受付けられ、MPUを有効に動作させることが可能で
ある。
ジャンプ処理しているが、割込も(タイマクロック処理
)受付けられ、MPUを有効に動作させることが可能で
ある。
(3)応用命令時には、命令のオペコードによりインタ
プリタの先頭アドレスへジヤンプすることが可能である
ため、命令の分岐処理をソフトで行なうことが不要とな
り、インタプリタの処理時間が短くなる。
プリタの先頭アドレスへジヤンプすることが可能である
ため、命令の分岐処理をソフトで行なうことが不要とな
り、インタプリタの処理時間が短くなる。
(4)論理命令から応用命令、応用命令から論理命令処
理への切替が全てMPUのシステムクロックと同期して
いるので、CPU回路が簡素化できる。
理への切替が全てMPUのシステムクロックと同期して
いるので、CPU回路が簡素化できる。
(5)ユーザプログラムメモリを8ビツト構成から16
ピツt・構成にすれば、倍速が可能である。
ピツt・構成にすれば、倍速が可能である。
(実施例の説明)
まず、この実施例に係わるプログラマブル・コントロー
ラで使用される命令語について説明する。
ラで使用される命令語について説明する。
このプログラマブル・コントローラでは、論理命令(L
D、AND、OR,0LIT等)と応用命令(TiM、
CNT、MOV、四則演算等)とが併用される。
D、AND、OR,0LIT等)と応用命令(TiM、
CNT、MOV、四則演算等)とが併用される。
なお、論理命令はワード(2バイト)構成となっており
、ファーストバイトにはオペコードが、またセカンドバ
イトにはオペランドが格納される(第8A図参照)。ま
た、オペコードはユーザメモリ(以下、UMという)内
の偶数アドレスに格納され、オペランドは奇数アドレス
に格納される(第8B図参照)。
、ファーストバイトにはオペコードが、またセカンドバ
イトにはオペランドが格納される(第8A図参照)。ま
た、オペコードはユーザメモリ(以下、UMという)内
の偶数アドレスに格納され、オペランドは奇数アドレス
に格納される(第8B図参照)。
応用命令はワード単位の可変長命令となっており、1個
のオペコードと第O〜第nオペランドとから構成されて
いる(第9A図参照)。応用命令についても、オペコー
ドはユーザメモリ内の偶数番地に、またオペランドは奇
数番地に格納されている(第9B図参照)。
のオペコードと第O〜第nオペランドとから構成されて
いる(第9A図参照)。応用命令についても、オペコー
ドはユーザメモリ内の偶数番地に、またオペランドは奇
数番地に格納されている(第9B図参照)。
次に、このプログラマブル・コントローラの中央処理装
置(以下、CPUという)では、マイクロプロセッサ(
以下、MPUという)としてモトローラ社の6809が
使用されている。また、後述するシステムプログラムメ
モリ(以下、SROMという)、ユーザプログラムメモ
リ(以下、UMという)、入出力メモリ(以下、IOM
という)としてはそれぞれ8ビツト構成のメモリが使用
されている。
置(以下、CPUという)では、マイクロプロセッサ(
以下、MPUという)としてモトローラ社の6809が
使用されている。また、後述するシステムプログラムメ
モリ(以下、SROMという)、ユーザプログラムメモ
リ(以下、UMという)、入出力メモリ(以下、IOM
という)としてはそれぞれ8ビツト構成のメモリが使用
されている。
前述した如く、このプログラマブル・コントローラの命
令語はワード(2バイト)単位であるので、tJMのフ
ァーストバイト、セカンドバイトをフェッチして初めて
命令語として確立する。
令語はワード(2バイト)単位であるので、tJMのフ
ァーストバイト、セカンドバイトをフェッチして初めて
命令語として確立する。
次に、第1図を参照して、このプログラマブル・コント
ローラのCPUのハードウェア構成を説明する。なお、
周知の如く、プログラマブル・コントローラは、CPU
、I10ユニットおよび電源ユニット等から構成され、
そ゛のうち第1図はCPUのみを示すものである。
ローラのCPUのハードウェア構成を説明する。なお、
周知の如く、プログラマブル・コントローラは、CPU
、I10ユニットおよび電源ユニット等から構成され、
そ゛のうち第1図はCPUのみを示すものである。
−同図において、プログラムカウンタ(PC)1は、ユ
ーザプログラムメモリ(UM)のアドレスを管理するも
ので、信号PCR’“L 11によって禁止を解かれ、
またクロック信号PC+1で歩進制御される。
ーザプログラムメモリ(UM)のアドレスを管理するも
ので、信号PCR’“L 11によって禁止を解かれ、
またクロック信号PC+1で歩進制御される。
また、前述した如く、プログラムカウンタ1のAoピッ
トが0″のときにはオペコードがフェッチされ 411
1Iのときにはオペランドがフェッチされる。
トが0″のときにはオペコードがフェッチされ 411
1Iのときにはオペランドがフェッチされる。
ユーザプログラムメモリ2は8ビツト構成のメモリであ
り、ユーザプログラムがプログラマブル・コントローラ
言語で格納されている。
り、ユーザプログラムがプログラマブル・コントローラ
言語で格納されている。
演算回路3は、その詳細を第2図に示す如く、タイミン
グ制御回路31.論理命令演算回路33゜応用命令前後
処理回路34.オペコードラッチ回路90.オペコード
デコード回路32等により構成されている。
グ制御回路31.論理命令演算回路33゜応用命令前後
処理回路34.オペコードラッチ回路90.オペコード
デコード回路32等により構成されている。
MPUアドレスセレクト回路4は、MPLJアドレス、
MPU制御信号をデコードすることにより、システムプ
ログラムメモリ(SROM)5のチップセレクト(SO
8)制御、制御ポートCP1゜CF2.CR2,CF2
(第3図、第4図参照)のゲート開閉制御、後述する
が応用命令実行時のインタプリタへのジャンプ制御、実
行完了1てからのNEXT命令への移行制御を行なうた
めの制御信号発生制御およびプログラムカウンタのリセ
ット制御等を司どるものである。
MPU制御信号をデコードすることにより、システムプ
ログラムメモリ(SROM)5のチップセレクト(SO
8)制御、制御ポートCP1゜CF2.CR2,CF2
(第3図、第4図参照)のゲート開閉制御、後述する
が応用命令実行時のインタプリタへのジャンプ制御、実
行完了1てからのNEXT命令への移行制御を行なうた
めの制御信号発生制御およびプログラムカウンタのリセ
ット制御等を司どるものである。
システムプログラムメモリ(SROM)5は、オペレー
ティングシステム(O8)と応用命令のインタプリタプ
ログラムとを格納している。
ティングシステム(O8)と応用命令のインタプリタプ
ログラムとを格納している。
入出力メモリ(IOM)6は、周知の如く入力データお
よび出力データのバッファとして機能するものである。
よび出力データのバッファとして機能するものである。
また、マイクロプロセッサ(MPU)7は、前述した如
く、8ビツトプロセツサで構成され、この例ではモトロ
ー9社の6809が使用されている。
く、8ビツトプロセツサで構成され、この例ではモトロ
ー9社の6809が使用されている。
次に、演算回路3の詳細を第2図に示す。同図において
、オペコードラッチ回路30は、ユーザプログラムメモ
リ(LIM)の命令語のオペコードが、タイミング制御
回路31からの0CLT信号によってラッチされる。
、オペコードラッチ回路30は、ユーザプログラムメモ
リ(LIM)の命令語のオペコードが、タイミング制御
回路31からの0CLT信号によってラッチされる。
オペコードデコード回路32は、オペコードラッチデー
タ0CLDをデコードし、論理命令、応用命令の信号を
発生する。
タ0CLDをデコードし、論理命令、応用命令の信号を
発生する。
タイミング制御回路31は、MPtJ制御信号とプログ
ラムカウンタ(PC>1のAoビット(PCAa )と
により、入出力メモリ(IOM>6の制御信号および論
理命令演算回路33.応用命令前後処理回路34の制御
信号を発生する。
ラムカウンタ(PC>1のAoビット(PCAa )と
により、入出力メモリ(IOM>6の制御信号および論
理命令演算回路33.応用命令前後処理回路34の制御
信号を発生する。
論理命令演算回路33および応用命令前後処理回路34
の詳細については、それぞれ第3図、第゛4図に示す。
の詳細については、それぞれ第3図、第゛4図に示す。
次に、第1図〜第4図に示す回路の詳細な動作説明に移
る前に、第10A図〜第10C図を参照して動作の41
1!要を簡単に説明する。
る前に、第10A図〜第10C図を参照して動作の41
1!要を簡単に説明する。
第10A図に示す如く、電源が投入されると、オペレー
ティングシステム(O8)が起動され、まず最初に信号
RESが発生して各回路のフリップ7qツブがリセット
され、次いでシステムイニシャライズ処理を経て、プロ
グラムカウンタがリセットを解除され、同時に命令実行
が開始されて、アドレス$EOOOへのジャンプが行な
われる。
ティングシステム(O8)が起動され、まず最初に信号
RESが発生して各回路のフリップ7qツブがリセット
され、次いでシステムイニシャライズ処理を経て、プロ
グラムカウンタがリセットを解除され、同時に命令実行
が開始されて、アドレス$EOOOへのジャンプが行な
われる。
ここでは、第108図に示す如く、システムプログラム
メモリ(SROM>のメモリマツプを$EOOO〜$F
FFFとする。
メモリ(SROM>のメモリマツプを$EOOO〜$F
FFFとする。
以後、論理命令および応用命令は次のように処理される
。すなわち、論理命令処理の場合には、第3図に示す回
路で、マイクロプロセッサ(MPU)のクロックに同期
してハードウェア処理され、その間マイクロプロセッサ
(MPU)の動作はJMP $EOOOを実行する(
第10C図参照)。
。すなわち、論理命令処理の場合には、第3図に示す回
路で、マイクロプロセッサ(MPU)のクロックに同期
してハードウェア処理され、その間マイクロプロセッサ
(MPU)の動作はJMP $EOOOを実行する(
第10C図参照)。
これに対して、応用命令処理は、第4図の回路でインタ
プリタジャンプコード生成回路を通じて、インタプリタ
の先頭アドレスへジヤンプさせる。
プリタジャンプコード生成回路を通じて、インタプリタ
の先頭アドレスへジヤンプさせる。
マイクロプロセッサ(MPU)のアドレスが$E001
、$EOO2になったとき、システムプログラムメモリ
(SROM>のアクセス信号SO8を禁止して、インタ
プリタジャンプコードを割込ボートCP1.CP2を通
じてMPUデータバスに載せる(第10C図参照)。
、$EOO2になったとき、システムプログラムメモリ
(SROM>のアクセス信号SO8を禁止して、インタ
プリタジャンプコードを割込ボートCP1.CP2を通
じてMPUデータバスに載せる(第10C図参照)。
以上が動作の概要であり、以下各図に沿ってより詳細に
説明する。
説明する。
まず、第2図、第5図を参照して、回路全体のタイミン
グ制御について概略説明する。
グ制御について概略説明する。
プログラムカウンタ(PC>1は、M P U II御
信号Eと同期したPC+1の立ち上がりエツジで更新さ
れる。LJMDはUMのアクセスタイムtu後に確立す
る。
信号Eと同期したPC+1の立ち上がりエツジで更新さ
れる。LJMDはUMのアクセスタイムtu後に確立す
る。
オペコードラッチ回路32は、オペコードラッチデータ
(OCLD)が、プログラムカウンタ(PC>の偶数ア
ドレス(PCAo = ”O” )と制御信号Eとのア
ンド条件で発生する0CLT信号でラッチされる。0C
LT=“′1″のときUMDをそのまま通過させ、立ち
下がりエツジでラツチする。
(OCLD)が、プログラムカウンタ(PC>の偶数ア
ドレス(PCAo = ”O” )と制御信号Eとのア
ンド条件で発生する0CLT信号でラッチされる。0C
LT=“′1″のときUMDをそのまま通過させ、立ち
下がりエツジでラツチする。
PCが奇数アドレス(UMDがオペランド)のとき、U
MDの内容(IOMのアドレス)により、10Mをアク
セスする。IOMのアクセスタイムt2後IOD (I
OB)が確立する。
MDの内容(IOMのアドレス)により、10Mをアク
セスする。IOMのアクセスタイムt2後IOD (I
OB)が確立する。
論理命令の演算は、PCAo=”1”のときで、[OD
(IOB)が確立した後のPCAa ・E・Qのアン
ド条件が成立して、CKO(論理演算クロック)により
第3図のパワーフローPFの制御を実行する。
(IOB)が確立した後のPCAa ・E・Qのアン
ド条件が成立して、CKO(論理演算クロック)により
第3図のパワーフローPFの制御を実行する。
次に第2図、第3図を参照して論理演算命令を説明する
。論理命令は、オペコードデコード回路32(第2図参
照)からの信号によりl0BD。
。論理命令は、オペコードデコード回路32(第2図参
照)からの信号によりl0BD。
FF間で演算される。すなわち
LD ; l0BD−+PF
AND : PFx 1OBD→PF
OR: PF+ l0BD−+PF
PFは前述のCKOの立ち上がりエツジにより演算結果
を記憶する。
を記憶する。
アウト命令の場合は、PFの内容をリードモデファイラ
イト回路331を通じてIOMに書込む。
イト回路331を通じてIOMに書込む。
なお、リードモデフ?イライト回路331は、指定され
たビットアドレスのビットのみをPFにセットし、かつ
指定以外のビットにはそのまま10Mのリードデータを
書込む動作をする。
たビットアドレスのビットのみをPFにセットし、かつ
指定以外のビットにはそのまま10Mのリードデータを
書込む動作をする。
108D(IOメモリビットデータ)はビット抽出回路
332よりIOMDから1ビット選択する。ビット抽出
はUMD (オペランド部)の10Mのビット指定によ
る(第11図参照)。
332よりIOMDから1ビット選択する。ビット抽出
はUMD (オペランド部)の10Mのビット指定によ
る(第11図参照)。
CKOは応用命令サイクルに入ったときに立つ応用命令
フラグにより禁止する。これは応用命令実行時PFが変
化しないためである。
フラグにより禁止する。これは応用命令実行時PFが変
化しないためである。
PFは制御ポート(CF2)を経由して、応用命令時M
PUがリードできるようにする。第1図の制御信号1
(CG4)によりCF2をゲート制御する。
PUがリードできるようにする。第1図の制御信号1
(CG4)によりCF2をゲート制御する。
次に、第4図、第5図および第6図を参照して、応用命
令前後処理について説明する。
令前後処理について説明する。
第6図において、PCAo=’“0″のとき応用命令フ
ェッチ(OCLD)がなされる。応用命令・PCAo−
Qのアンド条件成立で応用命令フラグをセットする(F
FOQ−’″1″になる)。
ェッチ(OCLD)がなされる。応用命令・PCAo−
Qのアンド条件成立で応用命令フラグをセットする(F
FOQ−’″1″になる)。
FFQ−”1” (FFQ=“0″)になると、以降の
PC+1を禁止する。これはアンド0による。
PC+1を禁止する。これはアンド0による。
同様に、CKOの発生も禁止する。ここまでが応用命令
フェッチサイクルである。
フェッチサイクルである。
次に第4図、第7図を参照して、応用命令インタプリタ
ジャンプサイクルを説明する。
ジャンプサイクルを説明する。
前述のように、MPUはそれまでJMP $E000
を実行している。応用命令がフェッチされたらJMP$
EOOOの代りに、オペコードラッチデータをインタプ
リタジャンプコード生成回路341を経由してインタプ
リタの先頭アドレスへジヤンプさせる。
を実行している。応用命令がフェッチされたらJMP$
EOOOの代りに、オペコードラッチデータをインタプ
リタジャンプコード生成回路341を経由してインタプ
リタの先頭アドレスへジヤンプさせる。
MPUアドレスが$EOOO(JMPコードが入ってい
る)のとき、CGOが発生ずる。
る)のとき、CGOが発生ずる。
CGO−E・応用命令フラグのアンド条件成立でインタ
プリタジャンプフラグ(FF1)をセットする。これは
JMP$EOOOをインタプリタジャンプへすり替えす
るための同期をとるものである(同期引込み)。
プリタジャンプフラグ(FF1)をセットする。これは
JMP$EOOOをインタプリタジャンプへすり替えす
るための同期をとるものである(同期引込み)。
MPUが$EOO1をアクセスするとCG1が発生し、
FFIQ−E−CG1のアンド条件成立で1liIII
IIボートCP1のゲートG1を閲きインタプリタジャ
ンプコード生成回路341の上位8ビツトデータをMP
Uバスに載せる。
FFIQ−E−CG1のアンド条件成立で1liIII
IIボートCP1のゲートG1を閲きインタプリタジャ
ンプコード生成回路341の上位8ビツトデータをMP
Uバスに載せる。
同様にして、$EOO2をアクセスしたとき、CG2が
発生し、CF2のゲート2を開きインタプリタジャンプ
生成回路341の下位8ビツトデータをMPUバスに載
せる。この動作によってMPUはJMP$EOOOの繰
り返しから解放されてインタプリタ処理へ移行する。
発生し、CF2のゲート2を開きインタプリタジャンプ
生成回路341の下位8ビツトデータをMPUバスに載
せる。この動作によってMPUはJMP$EOOOの繰
り返しから解放されてインタプリタ処理へ移行する。
インタプリタジャンプフラグ(FF1.Q)が′1”に
なると、第1図のアドレスセレクト回路4によりMPU
が$EOO1,$EOO2をアクセスするときSROM
5のアクセス(SO8)を禁止する(代りにCPl、C
F2がアクセスされる)。
なると、第1図のアドレスセレクト回路4によりMPU
が$EOO1,$EOO2をアクセスするときSROM
5のアクセス(SO8)を禁止する(代りにCPl、C
F2がアクセスされる)。
CF2をアクセスしたとき、G2が発生するが、G2の
後縁でインタプリタジャンプフラグ(FF1)をクリア
する。これはインタプリタ処理から$EOOOへジヤン
プさせるためである。
後縁でインタプリタジャンプフラグ(FF1)をクリア
する。これはインタプリタ処理から$EOOOへジヤン
プさせるためである。
次に第4図、第7図を参照して応用命令インタプリタ実
行を説明する。
行を説明する。
まず1ワ一ド命令時の場合から説明する。オペランドデ
ータは、第6図のように応用命令時PCの禁止をしてい
るため、フェッチした応用命令のものをそのまま保持し
ているので必要により、第4図の制御ボート(CF2)
を経由して読込む。
ータは、第6図のように応用命令時PCの禁止をしてい
るため、フェッチした応用命令のものをそのまま保持し
ているので必要により、第4図の制御ボート(CF2)
を経由して読込む。
CF2は第1図のアドレスセレクト回路4から発せられ
るゲート信号SG3により開閉する。
るゲート信号SG3により開閉する。
インタプリタ処理が終了すれば、次の命令フェッチをす
る必要があり、MPIJが発生するPC更新信号(CP
P)により行なう。なおCPPは制御信号1に含まれる
。
る必要があり、MPIJが発生するPC更新信号(CP
P)により行なう。なおCPPは制御信号1に含まれる
。
CPPは論理命令実行時のPC更新信号とORされPC
+1信号になる(第4図参照)。
+1信号になる(第4図参照)。
応用命令実行完了(制御信号1に含まれる)の後縁(立
ち上がりエツジ)で応用命令フラグ(FFO)をクリア
する。これより次の命令処理に移行する。
ち上がりエツジ)で応用命令フラグ(FFO)をクリア
する。これより次の命令処理に移行する。
JMP$EOOOを実行し、次の応用命令に備える。前
述のようにインタプリタジャンプフラグがクリアされて
いるためSROMエリアをアクセスする。オペコードラ
ッチには次の命令がラッチされているが、応用命令フラ
グがセットされているので論理演算クロックCKOの発
生、PCの更新が禁止され、次の命令の処理は応用命令
処理完了まで持つことになる。
述のようにインタプリタジャンプフラグがクリアされて
いるためSROMエリアをアクセスする。オペコードラ
ッチには次の命令がラッチされているが、応用命令フラ
グがセットされているので論理演算クロックCKOの発
生、PCの更新が禁止され、次の命令の処理は応用命令
処理完了まで持つことになる。
次に、複数ワード命令時の場合を説明する。この場合に
は、オペランドデータをMPUが順次読込むために、前
述のようなCPP(PC更新)をインタプリタの中で発
生させる(第12図参照)。
は、オペランドデータをMPUが順次読込むために、前
述のようなCPP(PC更新)をインタプリタの中で発
生させる(第12図参照)。
以上の如く、論理命令および応用命令の双方を高速で処
理することができるのである。
理することができるのである。
第1図はCPU全体のハードウェア構成を示すブロック
図、第2図は演算回路の詳細を示すブロック図、第3図
は論理命令演算回路の詳細を示すブロック図、第4図は
応用命令前後処理回路の詳細を示すブロック図、第5図
はタイミング制御回路の動作を示すタイムチャート、第
6図は応用命令前後処理回路の動作を示すタイムチャー
ト、第7図は応用命令前後処理回路の動作を示すタイム
チャート、第8A図、第8B図は論理命令の構成および
ユーザメモリの配置を示す説明図、第9A図および第9
B図は応用命令の構成およびユーザメモリの配置を示す
説明図、第10A図〜第10C図は本実施例装置の動作
の概要を説明するための図、第11図はI10データの
ピット指定を説明するための図、第12図は複数ワード
命令時における応用命令インタプリタ実行処理を説明す
るための図である。 1・・・プログラムカウンタ 2・・・ユーザプログラムメモリ 3・・・演算回路 4・・・MPUアドレスセレクト回路 5・・・システムプログラムメモリ 6・・・入出力メモリ 7・・・MPU
図、第2図は演算回路の詳細を示すブロック図、第3図
は論理命令演算回路の詳細を示すブロック図、第4図は
応用命令前後処理回路の詳細を示すブロック図、第5図
はタイミング制御回路の動作を示すタイムチャート、第
6図は応用命令前後処理回路の動作を示すタイムチャー
ト、第7図は応用命令前後処理回路の動作を示すタイム
チャート、第8A図、第8B図は論理命令の構成および
ユーザメモリの配置を示す説明図、第9A図および第9
B図は応用命令の構成およびユーザメモリの配置を示す
説明図、第10A図〜第10C図は本実施例装置の動作
の概要を説明するための図、第11図はI10データの
ピット指定を説明するための図、第12図は複数ワード
命令時における応用命令インタプリタ実行処理を説明す
るための図である。 1・・・プログラムカウンタ 2・・・ユーザプログラムメモリ 3・・・演算回路 4・・・MPUアドレスセレクト回路 5・・・システムプログラムメモリ 6・・・入出力メモリ 7・・・MPU
Claims (1)
- (1)ユーザプログラムメモリのアドレスを管理するプ
ログラムカウンタと、ユーザプログラムメモリの内容を
ラツチするオペコードラツチ回路と、論理命令処理回路
と、応用命令インタプリタジヤンプへの前後処理回路と
、マイクロプロセツサユニツトと、システムプログラム
メモリと、入出力メモリとを有するプログラマブル・コ
ントローラにおいて; リセツト解除後、マイクロプロセツサのシステムクロツ
クに同期してプログラムカウンタを更新し、かつユーザ
プログラムメモリの内容をオペコードラツチ回路へ取込
み、その内容が論理命令時は前記論理命令処理回路を通
して処理する手段と論理命令演算時にあつては、前記マ
イクロプロセツサに対して、特定アドレスをジヤンプす
るようなアイドル状態を行なわせ、かつ前記オペコード
ラツチの内容が応用命令時にあつては、前記応用命令イ
ンタプリタジヤンプ前後処理回路によつてオペコードラ
ツチデータからジヤンプ生成回路を通じて、マイクロプ
ロセツサを特定アドレスジヤンプからインタプリタへの
先頭アドレスへジヤンプさせる手段と; 前記応用命令インタプリタジヤンプ前後処理回路によつ
てインタプリタ実行後、次の命令をフエツチするための
プログラムカウンタ更新手段と;次の命令の実行サイク
ルに入つたときに、マイクロプロセツサを特定アドレス
へジヤンプさせ、マイクロプロセツサをアイドル状態に
する手段とを設けたことを特徴とするプログラマブル・
コントローラ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP15471784A JPS6133506A (ja) | 1984-07-25 | 1984-07-25 | プログラマブル・コントロ−ラ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP15471784A JPS6133506A (ja) | 1984-07-25 | 1984-07-25 | プログラマブル・コントロ−ラ |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS6133506A true JPS6133506A (ja) | 1986-02-17 |
Family
ID=15590422
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP15471784A Pending JPS6133506A (ja) | 1984-07-25 | 1984-07-25 | プログラマブル・コントロ−ラ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS6133506A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63180104A (ja) * | 1987-01-21 | 1988-07-25 | Mitsubishi Electric Corp | プログラマブルコントロ−ラの制御方式 |
-
1984
- 1984-07-25 JP JP15471784A patent/JPS6133506A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63180104A (ja) * | 1987-01-21 | 1988-07-25 | Mitsubishi Electric Corp | プログラマブルコントロ−ラの制御方式 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR950003552B1 (ko) | 프로그램 가능한 제어기 | |
US3781823A (en) | Computer control unit capable of dynamically reinterpreting instructions | |
US4674089A (en) | In-circuit emulator | |
JPH07129413A (ja) | 割込み処理装置 | |
JP2620511B2 (ja) | データ・プロセッサ | |
JPH0391029A (ja) | データ処理装置 | |
US5068821A (en) | Bit processor with powers flow register switches control a function block processor for execution of the current command | |
US4635188A (en) | Means for fast instruction decoding for a computer | |
KR100391041B1 (ko) | 마이크로코드명령에대한정보를갱신하기위한방법및장치 | |
EP0279953A2 (en) | Computer system having mixed macrocode and microcode instruction execution | |
JPS6133506A (ja) | プログラマブル・コントロ−ラ | |
JPH0384632A (ja) | データ処理装置 | |
GB2069733A (en) | Conditional instruction execution in a pipelined processor | |
JPS6049337B2 (ja) | パイプライン制御方式 | |
KR970006413B1 (ko) | 퍼지 컴퓨터 | |
CN111124496B (zh) | 一种多周期指令处理方法、处理器和电子设备 | |
JPS595354A (ja) | デ−タ処理装置 | |
US5062036A (en) | Instruction prefetcher | |
JP2000029696A (ja) | プロセッサおよびパイプライン処理制御方法 | |
JP2001014161A (ja) | プログラマブルコントローラ | |
KR100304607B1 (ko) | 프로그래머블로직콘트롤러용고속명령처리시스템 | |
JP2504263B2 (ja) | デ―タ処理装置 | |
JPS62245439A (ja) | シンボリツク処理システムおよび方法 | |
JP2825315B2 (ja) | 情報処理装置 | |
WO2020175074A1 (ja) | 中央演算処理装置 |