JPH0241770B2 - - Google Patents

Info

Publication number
JPH0241770B2
JPH0241770B2 JP59042592A JP4259284A JPH0241770B2 JP H0241770 B2 JPH0241770 B2 JP H0241770B2 JP 59042592 A JP59042592 A JP 59042592A JP 4259284 A JP4259284 A JP 4259284A JP H0241770 B2 JPH0241770 B2 JP H0241770B2
Authority
JP
Japan
Prior art keywords
instruction
operand
instruction register
register
read
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
Application number
JP59042592A
Other languages
English (en)
Other versions
JPS60186936A (ja
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 filed Critical
Priority to JP4259284A priority Critical patent/JPS60186936A/ja
Publication of JPS60186936A publication Critical patent/JPS60186936A/ja
Publication of JPH0241770B2 publication Critical patent/JPH0241770B2/ja
Granted legal-status Critical Current

Links

Landscapes

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

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は、プログラマブルコントローラに関し
特に、高速、高機能を必要とする制限に使用する
に好適なプログラマブルコントローラに関する。
〔発明の背景〕
従来のプログラマブルコントローラの1例を第
1図に示す。従来のプログラマブルコントローラ
はレジスタ修飾アドレツシングモードの演算を命
令実行時点で行うため、命令の実行演算とアドレ
ス演算を同一の演算回路7で計算できるという長
所はあるものの、実際にはSW6,8を2側に切
替えて演算回路7を用いて計算し、その結果を
I/Oアドレスレジスタ(IOAR)9に書き込
み、I/O13の番地を出力する。なお、インス
トラクシヨンレジスタのアドレス部16のみでオ
ペランドアドレスを指定したい場合、つまり、ダ
イレクトアドレツシングモードに相当する場合の
処理は、あらかじめ“0”が書き込まれているレ
ジスタをインデツクスレジスタ5の中に用意して
おき、命令のインデツクスレジスタ番号部15を
その番号にし、アドレス演算を行う方式を採つて
いる。
従来のプログラマブルコントローラにおいて
は、以上に説明したように、演算回路7は命令本
来の演算とオペランドのアドレス演算の二通りの
演算を行い、このことがCPUの処理性向上の障
害となつていた。
特開昭49−18542号公報には、デイスプレース
メントパートの内容をアドレス計算手段に入力す
る第1の命令レジスタに後続する1つまたは複数
の命令レジスタを有する命令の先取りブロツクを
備えるとともに命令実行ブロツクをそなえかつ次
の命令のアドレスを指示する命令カウンタをそな
えたデータ処理装置が開示されている。また、特
開昭52−93243号公報には、命令実行に必要なオ
ペランドデータ群のうち、先行制御部内のデータ
バツフアに先取りを行わないデータのアドレスを
その先行制御部内において発生する回路と、その
アドレスに対応するデータをキヤツシユメモリ上
に準備するための要求の先行制御時に該キヤツシ
ユメモリに出す回路とを有する情報処理装置が開
示されている。さらに、特開昭57−168349号公報
は、先取り処理をつかさどる先取り処理装置に、
アドレス計算に必要なアドレス修飾レジスタ群と
演算器を設け、実行中の命令を保持する命令レジ
スタとアドレス修飾レジスタ群の内容を選択する
先取り処理装置にて上記演算器で計算を行つてそ
の結果を先取り処理装置内のアドレス修飾レジス
タ群に格納し、以後このアドレス修飾レジスタを
アドレス修飾として使用する命令に対して上記演
算器でアドレス計算を行つて上記先取り処理装置
で先取り処理を続行するパイプライン計算機を開
示している。しかし、これら公報記載のものは、
いずれもキヤツシユメモリあるいはそれと同等の
メモリを備え、バス構成をプログラムとオペラン
ドに分離することにより、命令の先行フエツチ、
命令の実行、オペランドの先行フエツチの同時動
作を可能としており、回路的に大きくなるので本
願が対象とするプログラマブルコントローラには
適しなかつた。
〔発明の目的〕
本発明の目的は、オペランドのアドレス演算回
路を命令の実行演算回路と分離するとともに、命
令の大部分を占めるオペランド読出し系の命令に
対しては、命令実行に先立つてオペランド読出し
を行うことにより、処理速度の向上を図つたプロ
グラマブルコントローラを提供することにある。
〔発明の概要〕
本発明は、上記目的を達成するために、プログ
ラムメモリから命令を逐次読み出し、その命令に
従つて実行処理を行うプログラマブルコントロー
ラに、該プログラムメモリと独立に動作するデー
タメモリ及び入出力装置と、プログラムメモリか
ら読みだされた命令を一時記憶する第1の命令レ
ジスタと、該第1の命令レジスタに接続された第
2の命令レジスタと、前記第1の命令レジスタに
接続され該第1の命令レジスタ内の命令がオペラ
ンドデータの入力を必要とするか否かを判定する
第1のデコード手段と、前記第2の命令レジスタ
に接続され該第2の命令レジスタ内の命令がオペ
ランドデータを出力するか否かを判定する第2の
デコード手段と、前記第1のデコード手段により
前記第1の命令レジスタ内の命令についてオペラ
ンドの読み出しが必要であると判定され、かつ前
記第2のデコード手段により前記第2の命令レジ
スタ内の命令がオペランドデータを出力しないと
判定された場合に前記第1の命令レジスタ内の命
令のうちオペランドアドレス演算に必要なデータ
を第1の命令レジスタより受けオペランドアドレ
ス演算を行う演算部と、該演算部により演算され
たオペランドアドレスにより指定された入出力装
置またはデータメモリからのオペランドを一時記
憶するレジスタとを備え、オペランドが読みださ
れた後に第1の命令レジスタの内容が第2の命令
レジスタに転送され、第2の命令レジスタに記憶
された命令を実行中の次の命令である第1の命令
レジスタに記憶された内容のオペランドの読み出
しを行うように構成したことを特徴とする。
〔発明の実施例〕
本発明に係るプログラマブルコントローラの一
実施例を第2図に示す。プログラマブルコントロ
ーラは、プログラムを読み出し処理するCPU1
とプログラムを記憶しているプログラムメモリ1
2とオペランドである入出力情報を扱うI/O1
3から構成されている。CPU1の内部は、更に、
発振回路2、制御回路3、プログラムカウンタ
(PC)4、インデツクスレジスタ(IX)5、切
換スイツチ(SW)34,35、演算回路
(ALU)7、I/Oアドレスレジスタ(IOAR)
9、累算レジスタ(アキユムレータ)10、命令
レジスタ(IR)11,18、アドレス演算用加
算器29、アンドゲート31、オアゲート30,
32、I/O読出データレジスタ(RDR)26、
I/O書き込みデータレジスタ(WDR)27か
ら成つており、更にIR11,18は命令コード
(OP)部14,19、該命令がオペランドリード
を必要とするか否かを示す部分(POF)17,
22及び該命令を実行後でないと次の命令のオペ
ランドリードをできないことを示す部分(OFD)
50,51、IX5の内部レジスタの中から1つ
のレジスタを選択する為のインデツクスレジスタ
番号(IXN0)部15,20、アドレス
(ADDR)部16,21からなつている。
まず動作を説明する。PC4でプログラムメモ
リ12からプログラム単位である命令を順次読み
出す。読み出された命令は命令レジスタ(IR)
11に一時記憶され、次に命令レジスタ11の
IXN0部15とADDR部16の内容が加算器29
で加算されその値をアドレスとするI/O13の
データ、すなわちオペランドが読み出されRDR
26に一時記憶される。
次に命令はIR18に転送され、IR18のOP部
19が制御回路3で解読され、演算が開始され
る。演算はALU7でアキユムレータ10の内容
とRDR26の内容について行われ、その結果が
アキユムレータ10に書き込まれる。
以上のようにして1命令は実行されるが、命令
を読み出すPC4、プログラムメモリ12及びオ
ペランドを読み出すIR11、加算器29及び
I/O13、演算を行うALU7、RDR26及び
アキユムレータ10の以上の3つのブロツクはそ
れぞれ並行して動作し、ある第1の命令の演算中
に対し第2の命令のオペランドを読み出し、同時
に第3の命令を読み出すように動作する。このよ
うに、各ブロツクが遊ぶことのないようにしてい
る。
本発明に係るプログラマブルコントローラの動
作を第3図のタイムチヤートを用いて更に詳細に
説明する。全ては、基本クロツク100に同期し
て動いている。PC4がk番地の命令を読み出す
と、次の演算終了信号104でIR11にIkとして
一時的に記憶される。Ikがオペランド読み出し系
の命令である場合、POF17はハイレベル信号
となり、もし、このときにIR18に記憶されて
いる現在実行中の命令のOFD51がローレベル
であればADDR部16とIXNo15の和がオペラ
ンドアドレス(I/Oアドレス)101として、
オペランド読み出しを行う。読み出されたオペラ
ンドは次の演算終了信号104でRDR26は一
時記憶されるとともにIR11の命令はIR18に
移される。
制御回路3は、IR18のOP部19とPOF部2
2とOFD部51を解読し、ALU7に対してALU
動作信号103を与える。ALU7はこれに従つ
て、RDR26の内容とアキユムレータ10の内
容について演算を行い、次の演算終了信号104
で演算結果をアキユムレータ10に記録する。以
上がオペランドリード系命令の処理動作であり、
このような命令が連続する場合には演算終了信号
104を区切りに、次から次へと命令を流れ作業
的に処理していく。
一方、途中にオペランドに対してライト動作を
するような命令があると次のように処理される。
k+1の命令がライト系であるとすると、第3図
に示すように、PC4、IR11は以上説明した通
りに動作するが、POF17が直接オペランドを
読み出せないことを示しローレベルとなる。この
信号がローレベルとなるとオペランドの読み出し
動作は起動されない。次にkの命令に対する演算
終了信号104により、IR18に入つたk+1
の命令を制御回路3が解読して、アドレス演算切
替信号105を出力し、SW34,35を2側に
倒しIXNo20によつて指定されたIX5のレジス
タの内容とADDR部21の和が加算器29によ
り演算されIOAR9にセツトされる。これと同時
にオペランドに書き込むべきデータはアキユムレ
ータ10から、WDR27にセツトされる。次の
クロツクでI/O13にデータが書き込まれる。
以上の動作中は、次の命令k+2のオペランド先
読みはできないが、これは、k+1の命令の
OFD信号がハイレベルであることによりゲート
30を介してゲート31を禁止するようにして実
現している。オペランド書き込みが終了すると制
御回路3からプリオペランドフエツチ可能信号1
06を発し、仮に次の命令のPOF17がハイレ
ベルならばオペランド先読を行う。
以上のように本発明の実施例によると、オペラ
ンド読出し命令を実行する場合に命令読み出しと
オペランド読出しが並行して処理されるので、処
理速度を3倍に向上させることができる効果があ
る。
以上の実施例において、命令コードの中に
POF17,22、DFD50,51を設けずに、
第4図に示すようにOP部14,19とIXNo部
15,20をデコーダ28,33用いて解読して
行うことにより上記実施例と同様の効果を得るこ
とができ、また本実施例ではプログラムの中に
POF、OFDコードを持たなくて良いという利点
がある。
〔発明の効果〕
本発明によれば、プログラムコントローラに、
回路的に大きくなるキヤツシユメモリを設けるこ
となく、第1の命令の実行と、第2の命令のオペ
ランドの読み出しと、第3の命令の読み出しとを
並行して行わせることが可能となり、プログラマ
ブルコントローラの処理速度を飛躍的に向上させ
ることができる。
【図面の簡単な説明】
第1図は従来のプログラマブルコントローラの
構成を示すブロツク図、第2図は本発明に係るプ
ログラマブルコントローラの一実施例の構成を示
すブロツク図、第3図は第2図に示したプログラ
マブルコントローラの動作説明をするためのタイ
ミングチヤート、第4図は本発明の他の実施例の
要部を示すブロツク図である。 1……CPU、3……制御回路、4……プログ
ラムカウンタ、5……インデツクスレジスタ、7
……ALU、9……I/Oアドレスレジスタ、1
0……アキユムレータ、11,18……命令レジ
スタ、12……プログラムメモリ、13……入出
力装置、26……I/Oリードデータレジスタ、
27……I/Oライトデータレジスタ、28,3
3……デコーダ、29……加算器。

Claims (1)

  1. 【特許請求の範囲】 1 プログラムメモリから命令を逐次読み出し、
    その命令に従つて実行処理を行うプログラマブル
    コントローラにおいて、 該プログラムメモリと独立に動作するデータメ
    モリ及び入出力装置と、プログラムメモリから読
    みだされた命令を一時記憶する第1の命令レジス
    タと、該第1の命令レジスタに接続された第2の
    命令レジスタと、前記第1の命令レジスタに接続
    され該第1の命令レジスタ内の命令がオペランド
    データの入力を必要とするか否かを判定する第1
    のデコード手段と、前記第2の命令レジスタに接
    続され該第2の命令レジスタ内の命令がオペラン
    ドデータを出力するか否かを判定する第2のデコ
    ード手段と、前記第1のデコード手段により前記
    第1の命令レジスタ内の命令についてオペランド
    の読み出しが必要であると判定され、かつ前記第
    2のデコード手段により前記第2の命令レジスタ
    内の命令がオペランドデータを出力しないと判定
    された場合に前記第1の命令レジスタ内の命令の
    うちオペランドアドレス演算に必要なデータを第
    1の命令レジスタより受けオペランドアドレス演
    算を行う演算部と、該演算部により演算されたオ
    ペランドアドレスにより指定された入出力装置ま
    たはデータメモリからのオペランドを一時記憶す
    るレジスタとを有し、オペランドが読みだされた
    後に第1の命令レジスタの内容が第2の命令レジ
    スタに転送され、第2の命令レジスタに記憶され
    た命令を実行中に次の命令である第1の命令レジ
    スタに記憶された内容のオペランドの読み出しを
    行うことを特徴とするプログラマブルコントロー
    ラ。 2 特許請求の範囲第1項において、第1のデコ
    ード手段と第2のデコード手段に代えて、命令コ
    ード内に該命令がオペランドリードを必要とする
    か否かを示す第1のビツトと、該命令実行後でな
    いと次の命令のオペランドを読み出すことができ
    ないことを示す第2のビツトが設けられているこ
    とを特徴とするプログラマブルコントローラ。
JP4259284A 1984-03-05 1984-03-05 プログラマブルコントロ−ラ Granted JPS60186936A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4259284A JPS60186936A (ja) 1984-03-05 1984-03-05 プログラマブルコントロ−ラ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4259284A JPS60186936A (ja) 1984-03-05 1984-03-05 プログラマブルコントロ−ラ

Publications (2)

Publication Number Publication Date
JPS60186936A JPS60186936A (ja) 1985-09-24
JPH0241770B2 true JPH0241770B2 (ja) 1990-09-19

Family

ID=12640331

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4259284A Granted JPS60186936A (ja) 1984-03-05 1984-03-05 プログラマブルコントロ−ラ

Country Status (1)

Country Link
JP (1) JPS60186936A (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2695157B2 (ja) * 1986-12-29 1997-12-24 松下電器産業株式会社 可変パイプラインプロセッサ
JPH03257627A (ja) * 1990-03-08 1991-11-18 Koufu Nippon Denki Kk 情報処理装置
US8185721B2 (en) * 2008-03-04 2012-05-22 Qualcomm Incorporated Dual function adder for computing a hardware prefetch address and an arithmetic operation value

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS4918542A (ja) * 1972-06-14 1974-02-19
JPS5293243A (en) * 1976-01-31 1977-08-05 Nec Corp Data processing unit performing preceding control
JPS57168349A (en) * 1981-04-09 1982-10-16 Mitsubishi Electric Corp Pipeline computer

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS4918542A (ja) * 1972-06-14 1974-02-19
JPS5293243A (en) * 1976-01-31 1977-08-05 Nec Corp Data processing unit performing preceding control
JPS57168349A (en) * 1981-04-09 1982-10-16 Mitsubishi Electric Corp Pipeline computer

Also Published As

Publication number Publication date
JPS60186936A (ja) 1985-09-24

Similar Documents

Publication Publication Date Title
JPH03129433A (ja) 並列処理装置および並列処理方法
JPS62245442A (ja) 情報処理装置
JPS6313215B2 (ja)
JP2773471B2 (ja) 情報処理装置
JPH0743648B2 (ja) 情報処理装置
JPH0241770B2 (ja)
JPH024010B2 (ja)
JP2619425B2 (ja) シーケンスコントローラ
JPS63163929A (ja) マイクロプロセツサ
JPH06149669A (ja) キャッシュデータ転送方式およびキャッシュデータ転送装置
JPH0752402B2 (ja) データ処理装置
JPH0721018A (ja) マイクロプログラム制御方式の中央処理装置
JPS61133440A (ja) デ−タ処理装置
JP2806690B2 (ja) マイクロプロセッサ
JP2618703B2 (ja) プログラマブルシーケンスコントローラの高速演算処理方式
JPS61267135A (ja) デ−タ処理装置
JP2522563B2 (ja) プログラマブルコントロ―ラ
JPH05250156A (ja) Riscプロセッサ
JPH0317135B2 (ja)
JP2545594B2 (ja) オペランドデータ先取り方式
JPH0150934B2 (ja)
JPH11203133A (ja) 情報処理装置
JPH0435779B2 (ja)
JPS6028014B2 (ja) マイクロプロセツサ
JP2003015957A (ja) キャッシュメモリ制御システム