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

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

Info

Publication number
JPH04309128A
JPH04309128A JP3075208A JP7520891A JPH04309128A JP H04309128 A JPH04309128 A JP H04309128A JP 3075208 A JP3075208 A JP 3075208A JP 7520891 A JP7520891 A JP 7520891A JP H04309128 A JPH04309128 A JP H04309128A
Authority
JP
Japan
Prior art keywords
address
register
data
bus
sequence program
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
JP3075208A
Other languages
English (en)
Inventor
Makoto Tofuru
誠 登古
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP3075208A priority Critical patent/JPH04309128A/ja
Priority to EP19920105561 priority patent/EP0508283A3/en
Priority to KR1019920005812A priority patent/KR920020298A/ko
Publication of JPH04309128A publication Critical patent/JPH04309128A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/052Linking several PLC's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3824Operand accessing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)
  • Executing Machine-Instructions (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、カスタムLSI(ゲ
ートアレイ)の使用により演算処理能力(速度)を向上
させたプログラマブルコントローラに関する。
【0002】
【従来の技術】プログラマブルコントローラ(以下PC
と呼ぶ)が実行するシーケンスプログラムのデータは、
一般に論理アドレスを用いて書かれる。従って、PCが
データをアクセスする場合には、論理アドレスから物理
アドレスへ変換する必要がある。従来、この変換処理は
PC内のマイクロプロセッサユニット(MPU)で行っ
ている。シーケンスプログラムにおいてデータを指定す
る場合、そのデータが格納されているレジスタを命令中
で指定する場合と、データそのものを直接命令中で指定
する場合がある。従って、MPUはデータ指定がレジス
タなのか、それとも定数なのかを判断する必要がある。 このため、MPUの負荷が重くなり、処理速度の向上を
妨げている。
【0003】この問題を解決するために、従来図7に示
すようなPCが開発されている。図7において、MPU
1はコントロールバス3、データバス5、およびアドレ
スバス7を介してカスタムLSI(Large  Sc
ale  Integration)9と接続されると
ともに、データバス5およびアドレスバス7を介して、
MPU1のシステムプログラムを格納するシステムRO
M11と、シーケンスプログラムを格納するシーケンス
プログラムRAM13とシーケンスデータを格納するシ
ーケンスデータRAM15と接続されている。カスタム
LSI9はゲートアレイで構成され、MPU1と調整を
取りながらビット演算処理を専用に行う。ビット演算処
理とはたとえばリレーシーケンス処理である。MPU1
はファンクション処理を実行する。ファンクション処理
とは、たとえば、算術論理演算、データ転送、関数処理
などである。すなわち、MPU1はシーケンスプログラ
ムRAM13からシーケンスプログラムコードを読みだ
し、そのシーケンスプログラムコードをデコードして、
データ指定がレジスタにより指定されているかあるいは
定数により指定されているか判断する。シーケンスプロ
グラムコードとは、コンパイラ言語で書かれたアプリケ
ーション(ユーザ)プログラムのオブジェクトコードで
ある。レジスタにより指定されている場合には、レジス
タの論理アドレスをメインメモリ上の物理アドレスに変
換して、シーケンスデータRAM15から対応するデー
タを読みだし、シーケンス処理を実行する。
【0004】しかしながら、図7に示すPCでは、カス
タムLSI9の構成は簡単になるが、MPU1は上述し
たように、データの指定がレジスタにより指定されてい
るかあるいは定数により指定されているかの判断、およ
びレジスタの論理アドレスを物理アドレスに変換せねば
ならず、PCの演算処理速度が遅くなるという欠点を有
している。
【0005】この欠点を克服するために図8に示すよう
なPCが開発されている。図8に示すPCでは、カスタ
ムLSI21がファンクション処理を実行する。この例
ではカスタムLSI21がシーケンスプログラムRAM
13からシーケンスプログラムコードを読み出す。さら
に、LSI21は読みだしたプログラムコードをデコー
ドし、レジスタ論理アドレスを物理アドレスに変換し、
対応するデータをシーケンスデータRAM15から読み
出す。さらに、LSI21はファンクション処理を実行
する際、前記デコードしたプログラムシーケンスコード
に対応するファンクション処理実行データをROM23
からアクセスし、実行する。ファンクション処理実行デ
ータコードとは、例えばアセンブラ言語で書かれ、上述
した算術論理演算、データ転送、フラッグ処理を行うた
めのオブジェクトコードである。
【0006】
【発明が解決しようとする課題】図7の例では、MPU
1がレジスタ・定数判断やアドレス変換を行わなければ
ならず、ファンクション処理時間全体に占めるアドレス
変換時間が大きいため、PCとしての演算処理速度が遅
くなってしまう。今、MPU1が図5のシーケンスプロ
グラム(加算)処理を行うものとする。
【0007】まず、カスタムLSI9はシーケンスプロ
グラムRAM13のアドレスnから”FNC”(ファン
クション)を読み出す。カスタムLSI9はファンクシ
ョン処理を実行できないので、MPU1に処理を依頼す
る。MPU1は再度アドレスnの”FNC”とアドレス
n+1の”No.”を読みだして加算処理と判断する。 さらに、MPU1は被加数(WOPR+A)、加数(C
L+B)および加算結果(WOPR+C)についてそれ
ぞれが、レジスタか定数かを判定し、レジスタと定数の
それぞれの処理を実行する。レジスタの場合、演算に使
用するのはレジスタアドレスの内容であり、そのために
は物理的なレジスタアドレスを求めた後にその内容をM
PU1はアクセスする必要がある。また、定数の場合は
シーケンスプログラムの読み込み値をそのまま使用する
。図5の例ではAとCがレジスタ論理アドレスでBが定
数である。すなわち、図5はシーケンスプログラムのプ
ログラムコードの構造を示す。図5の例では、アドレス
nにファンクション(FNC)が格納され、アドレスn
+1にファンクション番号が格納され、アドレスn+2
にはオペランドがレジスタにより指定されることを示す
ワードオペランド(WOPR)が格納されている。従っ
て、アドレスn+3に格納されているアドレスAは物理
アドレスA’に変換される。また、アドレスn+4には
、次のオペランドが定数であることを示すコンスタント
(Constant  Low)が格納されている。従
って、アドレスn+5に格納されているアドレスBは変
換されない。さらにアドレスn+6には、オペランドが
レジスタにより指定されることを示すワードオペランド
(WOPR)が格納されているので、次にアドレスn+
7に格納されているアドレスCは物理アドレスC’に変
換される。これらの処理で、MPU1は、レジスタ論理
アドレスからレジスタ物理アドレスを求めるのに次の処
理が必要となる。 1.レジスタか定数かの判定 2.レジスタ種別の判定 3.レジスタ種別毎の指定固定オフセット加算4.プロ
グラム付属の指定不定オフセット種別判定5.プログラ
ム付属の指定不定オフセット量読み込み6.プログラム
付属の指定不定オフセット量加算7.その他不定オフセ
ット量の判定、読み込み、加算
【0008】なお、上述
2.のレジスタ種別の判定は、レジスタの種類によりオ
フセット値が異なるので、レジスタの種別を判定し、そ
れによりオフセット値を決定する必要がある。プログラ
ム付属の指定不定オフセットとは、ユーザがアプリケー
ションプログラムにおいて指定されたインデックスレジ
スタの内容である。
【0009】この場合、図9に示すように、MPUはス
テップST1においてファンクションの種類を判別する
。ファンクションの種類が加算であれば、ステップST
3において被加数はレジスタによる指定かそれとも定数
かを判別する。ステップST3において、レジスタによ
る指定であると判別すると、MPUはステップST5に
おいて、レジスタ種別を判定する。次に、ステップST
7においてレジスタ種別毎のオフセット量を被加数のレ
ジスタNoに加算する。さらに、ステップST9におい
て、MPUはプログラム付属の指定不定オフセット種別
を判別する。すなわちアプリケーションプログラムの中
で、インデックス修飾がなされているかどうか判別する
【0010】ステップST9において、インデックス修
飾がなされていると判断すると、MPUは、インデック
スレジスタにより指定された不定オフセット量を被加数
のレジスタNoに加算する。さらに、ステップST13
において、その他の不定オフセット量の判定、読み込み
、および加算を行う。このようにして、求めたアドレス
値が、そのレジスタが割り付けられているメモリアドレ
ス空間の規定の範囲内にあるかどうか判断する。ステッ
プST15において、規定の範囲内にあると判断すると
、MPUはステップST17において、計算により求め
たアドレスを用い、レジスタの内容を読み込む。さらに
、図10のステップST21において加数データの読み
込み処理を行い、ステップST23において、加数と被
加数との加算処理を行う。そして、ステップST25に
おいて、加算結果をメモリに格納する。
【0011】上述のように、MPU1によりレジスタ論
理アドレスを物理アドレスに変換するには多くの処理を
行わなければならず、しかも上述の処理はFNC処理の
時に必要となる。
【0012】また、図8に示すPCでは、PCの演算処
理速度は向上するが、カスタムLSI21のゲート数の
増大と周辺素子(ROM23等)が増加し、PC全体と
して回路が複雑になるとともに、コスト面から経済的で
ない。
【0013】この発明の目的は、PCのシステム構成を
抑えてコストの上昇を抑えるとともに、ユーザが要求す
るPCのシーケンス処理実行時間を満足するプログラマ
ブルコントローラを提供することである。
【0014】
【課題を解決するための手段】上記目的を達成するため
に、この発明によれば、シーケンスプログラム実行時に
システム管理や数値演算を含むファンクション処理を行
うマイクロコンピュータと、前記マイクロコンピュータ
とシステムバスを介して接続され、シーケンスプログラ
ムのビット演算処理を行うカスタムLSIと、シーケン
スプログラムを格納するメモリとを備えたプログラマブ
ルコントローラにおいて、前記マイクロコンピュータが
ファンクション処理を実行する際、前記メモリからシー
ケンスプログラムをリードするサイクルにおいて、前記
シーケンスプログラム中に書かれているレジスタ論理ア
ドレスを前記マイクロコンピュータの物理アドレスに変
換する機能を前記カスタムLSIに持たせたている。
【0015】
【作用】この発明のプログラマブルコントローラによれ
ば、カスタムLSIが複雑にならず、また余分な周辺素
子が不要のため、コストも経済的である。さらに、MP
Uのファンクション処理時の、レジスタアドレス変換に
要する時間を削減でき、ユーザの要求するシーケンス実
行処理時間を満足するプログラマブルコントローラが得
られる。
【0016】また、MPU側のシステムバスとゲートア
レイ側(GA2)のシステムバスとを切り離すことがで
きるので、ゲートアレイがビット演算やアドレス変換を
行っている間、MPUはシステム的な管理をシステムR
OMおよびシステムRAMを用いて行うことができる。 また、バスの切り離しおよび接続の制御回路はゲートア
レイ内に含めることができるので、周辺回路が簡素化で
きる。なお、図7に示すシステムでは、図から明かなご
とく、バスを切り離すことは不可能であり、このため、
バスリクエスト回路がバスアービトレータ回路などを設
ける必要があり、その分、周辺回路の構成も複雑となる
。図8に示すシステムでは、MPU側のシステムバスと
ゲートアレイ側のシステムバスとは全く別個のバスであ
る。しかし、カスタムLSIが動作中は両方のバス共カ
スタムLSIが専有する。
【0017】
【実施例】図1はこの発明のプログラマブルコントロー
ラの一実施例を示すブロック図である。マイクロプロセ
ッサユニット(以下MPUと呼ぶ)25はコントロール
バス(リード/ライトラインを含む)27、データバス
29、アドレスバス31を介してカスタムLSI33と
接続されている。さらにMPU25はデータバス29お
よびアドレスバス31を介してシステムROM35およ
びシステムRAM37と接続されている。システムRO
M35には、MPU25のオペレーティングシステムが
格納されている。システムRAM37はMPU25のワ
ークエリアや演算エリアとして使用される。また、カス
タムLSI33は、データバス39およびアドレスバス
41を介してシーケンスプログラムRAM43およびシ
ーケンスデータRAM45と接続されている。
【0018】シーケンスプログラムRAM43には、ユ
ーザアプリケーションプログラムが格納されている。シ
ーケンスデータRAM45には被演算データ、演算結果
、ステータス情報、シーケンスプログラムにより指定さ
れたレジスタの内容等が格納されている。
【0019】カスタムLSI33はたとえばゲートアレ
イで構成される。カスタムLSI33はシーケンスプロ
グラムRAM43からシーケンスプログラムをフェッチ
し、自身で処理可能か否かを判断する。フェッチしたシ
ーケンスプログラムがビット演算処理のように自身で処
理可能な場合、カスタムLSI33は、プログラムコー
ドをデコードし、論理アドレスから物理アドレスへの変
換を行い、対応するデータをシーケンスデータRAM4
3から読みだし、ビット演算処理を行う。
【0020】一方、ファンクション演算などのように、
カスタムLSI33では処理できない場合、MPU25
に処理を依頼する。MPU25はこの依頼に応答し、シ
ーケンスの状態などの情報をカスタムLSI33から読
みだし、処理すべき内容を把握してシーケンスプログラ
ムRAM43からシーケンスプログラムをフェッチし、
カスタムLSIから依頼された処理を行う。処理終了後
、MPU25はカスタムLSI33に処理終了情報を与
える。カスタムLSI33はこの処理終了情報に応答し
てシーケンス処理を再開する。
【0021】MPU25がフェッチしたシーケンスプロ
グラムの一部(定数とレジスタ論理アドレス)を処理す
るときに、実際に使うコード(プログラムアドレスとレ
ジスタ物理アドレス)に変換するための回路を図2に示
す。
【0022】図2に示すように、ゲートアレイ33は、
データバス制御部47、ゲートコントロール部49、イ
ンストラクションポインタ発生回路51,アドレス制御
部53,アドレス変換部55、アドレス修飾部57,お
よび変換タイミング発生部59を有している。
【0023】データバス制御部47は双方向性のバスド
ライバ61、63、65、67で構成されている。バス
制御部47は、ゲートアレイ33がシーケンスプログラ
ムRAM43あるいはシーケンスデータRAM45をア
クセスしているときは、バスドライバ61、63、65
、67をディスエーブルにして、MPU25側のデータ
バス29とゲートアレイ33側のデータバス39を切り
離す。また、MPU25が例えばシーケンスデータRA
M45にデータを書き込む場合は、データバス制御部4
7は、バスドライバ63、65、67をディスエーブル
にし、バスドライバ61をイネーブルにして、MPU2
5からのデータをデータバス39上に送出する。さらに
、MPU25がシーケンスプログラムRAM43、ある
いはシーケンスデータRAM45からデータを読み出す
場合には、データバス制御部47はバスドライバ61、
65、67をディスエーブルにし、バスドライバ63を
イネーブルにすることにより、シーケンスプログラムR
AM43またはシーケンスデータRAM45から読みだ
したデータをデータバス29上に送出する。さらに、ア
ドレス変換部55により論理アドレスから物理アドレス
に変換されたデータは、データバス制御部47は、バス
ドライバ61、63、65をディスエーブルにし、バス
ドライバ67をイネーブルにすることにより、変換され
たデータがデータバス29上に送出される。さらに、M
PU25がインストラクションポインタ発生回路51の
内容を読み出す場合には、バスドライバ61、63、6
7をディスエーブルにし、バスドライバ65をイネーブ
ルにすることにより、インストラクションポインタの内
容がデータバス29上に送出される。
【0024】また、カスタムLSI33がシーケンスプ
ログラムRAM43に格納されているシーケンスプログ
ラムを読み出す場合、ゲートコントロール部49はアド
レス制御部53のバスドライバ54にイネーブル信号を
供給するとともに、バスドライバ52にディスエーブル
信号を供給する。この結果、インストラクションポイン
タ発生回路51からのインストラクションポインタがア
ドレスバス41を介してシーケンスプログラムRAM4
3に供給される。一方、MPU25がシーケンスプログ
ラムRAM43をアクセスする場合には、コントロール
バス27内のリード・ライトラインを介してMPU25
からリードアクセスまたはライトアクセスの情報がゲー
トコントロール部49に供給される。従って、ゲートコ
ントロール部49はアドレス制御部53のバスドライバ
52にイネーブル信号を供給し、バスドライバ54にデ
ィスエーブル信号を供給する。この結果、インストラク
ションポインタ発生回路51からのインストラクション
ポインタがバスドライバ54により阻止され、MPU2
5から供給されたアドレスがバスドライバ52、アドレ
スバス41を介してシーケンスプログラムRAM43に
供給される。
【0025】図3は図2に示すアドレス変換部55の詳
細回路図である。レジスタ論理アドレス、たとえば図5
に示されるレジスタ論理アドレス”A”は図6に示すよ
うに、レジスタ種別とレジスタNo.とで構成されてい
る。レジスタNo.はMPU25の機種や、レジスタ種
別毎に最大値が異なる。メモリを有効に利用するために
は、レジスタ種別によるレジスタオフセットと、レジス
タNo.とを分けてレジスタ物理アドレスを求める。命
令語(オペレーションコードとオペランド)を各機種で
共通化するため、レジスタNoの可能な範囲は各機種に
おいて最大値のレジスタNoに合わせている。
【0026】図3において、データラッチ回路69は変
換タイミング発生部59からのデータラッチ信号71に
応答して、オペランドレジスタNo.をラッチする。デ
ータラッチ回路73は変換タイミング発生部59からの
データラッチ信号75に応答してオペランドレジスタ種
別データをラッチする。データラッチ回路73にラッチ
されたオペランドレジスタ種別データは、デコード回路
77でデコードされ、オペランドレジスタの種別が判別
される。デコード回路77は指定されているオペランド
レジスタを選択するためのレジスタ選択信号をアドレス
修飾部57のレジスタ指定オフセット量レジスタファイ
ル79に出力する。レジスタファイル79は供給された
レジスタ選択信号に対応するレジスタオフセットデータ
を加算回路81に出力する。加算回路81には、データ
ラッチ回路69からオペランドレジスタNoデータが供
給されている。従って、加算回路81は変換タイミング
発生部59からの加算タイミング信号83に応答して、
レジスタオフセットデータとレジスタNo.を加算する
。加算回路81は加算結果を加算回路93に出力する。
【0027】データラッチ回路85は、変換タイミング
発生部59からのデータラッチ信号87に応答して、シ
ーケンスプログラムのオペレーションコードをラッチす
る。デコード回路89はデータラッチ回路85から出力
されたオペレーションコードをデコードし、アドレス修
飾のために指定されたレジスタの種別を判別する。この
実施例では、インデックス修飾のためのインデックスレ
ジスタI、J、K、”D”レジスタ、インダイレクトレ
ジスタ、ソースレジスタ、デスティネーションレジスタ
などがある。デコード回路89はどのレジスタが指定さ
れているかをオペレーションコードをデコードすること
により判別し、指定されているレジスタを選択するため
のレジスタセレクト信号をアドレス修飾部57のレジス
タファイル91に出力する。レジスタファイル91は、
レジスタセレクト信号により指定されたレジスタの内容
を、修飾レジスタデータとして加算回路93に出力する
。この結果、加算回路93は変換タイミング発生部59
からの加算タイミング信号95に応答して修飾レジスタ
データと加算回路81の加算結果とを加算し、レジスタ
物理アドレスを出力する。
【0028】この結果、図4に示すように0000Hな
いしFFFFHにマッピングされている論理アドレスは
、0000Hないし27FFHの物理的なメモリアドレ
ス空間に縮小することができる。以下、上記実施例の動
作について説明する。
【0029】カスタムLSI33において、ゲートコン
トロール部49はデータバス制御部47のバスドライバ
61、63、65、67にディスエーブル信号を供給す
る。この結果、データバス制御部47はバスドライバ6
1、63、65、67をディスエーブルにして、MPU
25側のデータバス9とカスタムLSI33側のデータ
バス39を切り離す。次に、ゲートコントロール部49
は、アドレス制御部53に制御信号を供給する。この制
御信号に応答して、アドレス制御部53は、バスドライ
バ52をディスエーブルにし、バスドライバ54をイネ
ーブルにする。この結果、インストラクションポインタ
発生回路51からのインストラクションポインタがバス
ドライバ54、アドレスバス41を介してシーケンスプ
ログラムRAM43に供給される。シーケンスプログラ
ムRAM43はこのインストラクションポインタに対応
したロケーションのシーケンスプログラムの最初のワー
ド、たとえば図5に示す”FNC”をデータバス39上
に出力する。データバス39上のシーケンスプログラム
はアドレス変換部55に取り込まれる。すなわち、変換
タイミング発生部59からのデータラッチ信号87、7
5、71に応答して、データラッチ回路85にオペレー
ションコードがラッチされる。その後、データラッチ回
路73にオペランドレジスタ種別が、データラッチ回路
69にオペランドレジスタNo.がそれぞれラッチされ
る。データラッチ回路85にラッチされたオペレーショ
ンコードは次にデコード回路89によりデコードされる
。デコードの結果、カスタムLSI33は、リードした
データがファンクションコードであることを知り、上記
と同様の手続きにより、シーケンスプログラムの2ワー
ド目、たとえば図5の”No”を読む。この結果、カス
タムLSI33は、処理内容がたとえばビット演算処理
でないことを認識し、コントロールバス27を介してそ
のことをMPU25に知らせる。アドレス変換部55は
上記ファンクション”FNC”および”ファンクション
No”をアドレス修飾部57内の図示しない特定レジス
タに保持する。MPU25は上記特定レジスタにセット
されたファンクションおよびファンクションNoをリー
ドするとともに、インストラクションポインタ発生回路
51の内容をバスドライバ65、およびデータバス29
を介して読む。そして、MPU25はアドレスバス31
にシーケンスプログラムの3ワード目、たとえば図5の
ワードオペランド”WOPR”と4ワード目のレジスタ
指定”A”を順次読む。このとき、シーケンスプログラ
ムRAM43から読み出された”WOPR”および”A
”の情報はデータバス39介してアドレス変換部55に
取り込まれる。この結果、アドレス変換部55は、論理
アドレスを物理アドレスに変換する必要があると認識す
る。このとき、ゲートコントロール部49からの制御信
号により、データバス制御部47のバスドライバ63は
ディスエーブルになり、上記”WOPR”および”A”
の情報がMPU25に供給されるのを阻止する。
【0030】デコード回路89はアドレス修飾用として
、オペレーションコードで指定されているレジスタを選
択するためのレジスタ選択信号をアドレス修飾レジスタ
ファイル91に出力する。この結果、レジスタファイル
91は指定されたレジスタの内容を加算回路93に出力
する。一方、データラッチ回路73はオペランドレジス
タ種別データをオペランドレジスタ種別デコード回路7
7に出力する。オペランドレジスタ種別デコード回路7
7はオペランドレジスタの種別を判別して、指定されて
いるレジスタを選択する信号をレジスタ指定オフセット
量レジスタファイル79に出力する。レジスタ指定オフ
セット量レジスタファイル79は指定されたレジスタに
格納されているレジスタオフセットデータを加算回路8
1に出力する。加算回路81は、変換タイミング発生部
59から供給された加算タイミング信号83に応答して
データラッチ回路69から供給されたレジスタNo.と
レジスタファイル79から出力されたレジスタオフセッ
トデータとを加算し、加算結果を加算回路93に供給す
る。加算回路93は変換タイミング発生部59から供給
された加算タイミング信号95に応答して、加算回路か
らの加算結果と、レジスタファイル91からの修飾レジ
スタデータとを加算し、物理アドレスを生成する。
【0031】次に、ゲートコントロール部49はデータ
バス制御部47に制御信号を供給して、バスドライバ6
1、63、65をディスエーブルにし、バスドライバ6
7をイネーブルにする。この結果、アドレス変換部55
において論理アドレスから物理アドレスに変換されたデ
ータがデータバス29を介してMPU25に供給される
。ゲートコントロール部49はアドレス制御部53にゲ
ート制御信号を供給する。この結果、アドレス制御部5
3はバスドライバ52をイネーブルにし、バスドライバ
54をディスエーブルにする。この結果、MPU25か
らの物理アドレスがアドレスバス31、バスドライバ5
2を介してシーケンスデータRAM45に供給される。 この結果、シーケンスデータRAM45から供給された
物理アドレスに対応したオペランドデータがデータバス
39上に出力される。次に、変換タイミング発生部59
からゲートコントロール部49に制御信号が供給される
。ゲートコントロール部49は、データバス制御部47
のバスドライバ61、65、67をディスエーブルにし
、バスドライバ63をイネーブルにするように制御信号
を出力する。この結果、データバス39とデータバス2
9が接続され、データバス39上のオペランドデータが
データバス29を介してMPU25に出力される。 この結果、MPU25は、ファンクションコード”FN
C”とファンクションコードナンバ”No”により指定
されたファンクション、たとえば加算処理を実行する。
【0032】なお、オペランドが定数指定の場合には、
変換処理を行わずに、定数が書かれているインストラク
ションポインタ、バスドライバ65、データバス29を
介してMPU25にオペランドを供給する。すなわち、
図5のアドレス”n+5”に格納されている”B”の場
合には、アドレス”n+5”がバスドライバ65、デー
タバス29を介してMPU25に供給される。
【0033】このように、MPU25がシーケンスプロ
グラムをシーケンスプログラムRAM43からリードす
る際、オペランドデータがレジスタ指定の場合には、ア
ドレス変換部33が自動的に論理アドレスから物理アド
レスに変換して、MPU25に供給するので、MPU2
5は 1.レジスタか定数かの判定 2.レジスタ種別の判定 3.レジスタ種別毎の指定固定オフセット加算4.プロ
グラム付属の指定不定オフセット種別判定5.プログラ
ム付属の指定不定オフセット量読み込み6.プログラム
付属の指定不定オフセット量加算7.その他不定オフセ
ット量の判定、読み込み、加算の処理を行う必要が無い
【0034】
【発明の効果】この発明によれば、シーケンスプログラ
ムのオペランドデータがレジスタにより指定されている
場合に、カスタムLSIが論理アドレスから物理アドレ
スに変換してMPUに供給するので、MPU25は上記
変換を行う必要が無い。従って、実行時間の短縮を計る
ことができる。
【図面の簡単な説明】
【図1】この発明のプログラマブルコントローラの一実
施例を示すブロック図。
【図2】図1に示すカスタムLSIの詳細回路図。
【図3】図2に示すアドレス変換回路の詳細回路図。
【図4】論理アドレスにおけるメモリアドレスマップと
、物理アドレスにおけるメモリアドレスマップとの対比
図。
【図5】シーケンスプログラムにおいて、アドレス変換
を必要とするオペランドデータの例(レジスタ指定)と
アドレス変換を必要としないオペランドデータ(定数)
の例を説明するための図。
【図6】レジスタ指定によるオペランドデータのフォー
マット図。
【図7】カスタムLSIがビット演算処理を行う従来の
プログラマブルコントローラのブロック図。
【図8】カスタムLSIがビット演算処理のみならず、
ファンクション処理も行う従来のプログラマブルコント
ローラにブロック図。
【図9】論理アドレスを物理アドレスに変換するフロー
チャートの一部を示す図。
【図10】論理アドレスを物理アドレスに変換するフロ
ーチャートの残りの部分を示す図。
【符号の説明】
25・・・MPU 27・・・コントロールバス 29・・・データバス 31・・・アドレスバス 33・・・カスタムLSI 35・・・システムROM 37・・・システムRAM 39・・・データバス 41・・・アドレスバス 43・・・シーケンスプログラムRAM45・・・シー
ケンスデータRAM 47・・・データバス制御部 49・・・ゲートコントロール部 51・・・インストラクションポインタ発生回路53・
・・アドレス制御部 55・・・アドレス変換部 57・・・アドレス修飾部 59・・・変換タイミング発生部 69、73、85・・・ラッチ回路 77、89・・・デコード回路 81、93・・・加算回路

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】シーケンスプログラム実行時にシステム管
    理や数値演算を含むファンクション処理を行うマイクロ
    コンピュータと、前記マイクロコンピュータとシステム
    バスを介して接続され、シーケンスプログラムのビット
    演算処理を行うカスタムLSIと、シーケンスプログラ
    ムを格納するメモリとを備えたプログラマブルコントロ
    ーラにおいて、前記マイクロコンピュータがファンクシ
    ョン処理を実行する際、前記メモリからシーケンスプロ
    グラムをリードするサイクルにおいて、前記シーケンス
    プログラム中に書かれているレジスタ論理アドレスを前
    記マイクロコンピュータの物理アドレスに変換する機能
    を前記カスタムLSIに持たせたことを特徴とするプロ
    グラマブルコントローラ。
  2. 【請求項2】前記カスタムLSIはゲートアレイで構成
    されることを特徴とする請求項1に記載のプログラマブ
    ルコントローラ。
  3. 【請求項3】前記マイクロコンピュータのシステムバス
    と前記カスタムLSIのシステムバスとを切り離す手段
    を前記カスタムLSIに持たせたことを特徴とする請求
    項1に記載のプログラマブルコントローラ。
JP3075208A 1991-04-08 1991-04-08 プログラマブルコントローラ Pending JPH04309128A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP3075208A JPH04309128A (ja) 1991-04-08 1991-04-08 プログラマブルコントローラ
EP19920105561 EP0508283A3 (en) 1991-04-08 1992-03-31 Programmable controller
KR1019920005812A KR920020298A (ko) 1991-04-08 1992-04-08 프로그래머블 제어장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3075208A JPH04309128A (ja) 1991-04-08 1991-04-08 プログラマブルコントローラ

Publications (1)

Publication Number Publication Date
JPH04309128A true JPH04309128A (ja) 1992-10-30

Family

ID=13569551

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3075208A Pending JPH04309128A (ja) 1991-04-08 1991-04-08 プログラマブルコントローラ

Country Status (3)

Country Link
EP (1) EP0508283A3 (ja)
JP (1) JPH04309128A (ja)
KR (1) KR920020298A (ja)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57138079A (en) * 1981-02-20 1982-08-26 Toshiba Corp Information processor
JPS60204052A (ja) * 1984-03-28 1985-10-15 Fanuc Ltd 入出力ボ−ドのアドレス選択方式
JPH0668732B2 (ja) * 1984-11-21 1994-08-31 株式会社日立製作所 情報処理装置のスキヤン方式
JPS61194557A (ja) * 1985-02-25 1986-08-28 Hitachi Ltd 制御用lsi
JPS63163648A (ja) * 1986-12-26 1988-07-07 Hitachi Ltd メモリ管理装置

Also Published As

Publication number Publication date
EP0508283A2 (en) 1992-10-14
EP0508283A3 (en) 1993-10-20
KR920020298A (ko) 1992-11-20

Similar Documents

Publication Publication Date Title
JP2834837B2 (ja) プログラマブルコントローラ
JP2679363B2 (ja) マイクロプロセッサ
TWI407366B (zh) 具有微代碼之微處理器、在微處理器中儲存資料的方法、以及使用於計算裝置之電腦程式產品
EP0248436B1 (en) Method of and apparatus for processing data
US5016169A (en) Data processor capable of correctly re-executing instructions
US4807113A (en) Microprogrammed control data processing apparatus in which operand source and/or operand destination is determined independent of microprogram control
JPH10187533A (ja) キャッシュシステム、プロセッサ及びプロセッサを動作させる方法
AU681604B2 (en) High speed programmable logic controller
JP3226055B2 (ja) 情報処理装置
JP2730896B2 (ja) データ処理装置
US6401197B1 (en) Microprocessor and multiprocessor system
JPH0786870B2 (ja) コプロセツサのデータ転送制御方法およびその回路
US20030028754A1 (en) Data processor using indirect register addressing
US20020099922A1 (en) Data processing apparatus including a plurality of pipeline processing mechanisms in which memory access instructions are carried out in a memory access pipeline
US4967339A (en) Operation control apparatus for a processor having a plurality of arithmetic devices
JPH04309128A (ja) プログラマブルコントローラ
JPH0574096B2 (ja)
JP3027627B2 (ja) プログラマブルコントローラの演算プロセッサ
JP2583506B2 (ja) データ処理装置
JPH05204416A (ja) プログラマブルコントローラ
JP2743947B2 (ja) マイクロプログラム制御方式
JP3733746B2 (ja) プログラマブルコントローラ
JPS5919287A (ja) メモリアクセス命令による入出力処理方式
JPS603049A (ja) バスインタ−フエ−ス装置
JPS61208133A (ja) 仮想計算機システムにおける状態レジスタ制御装置