JPH08249022A - マルチプロセッサ演算装置、および該装置を有するプログラマブルコントローラ - Google Patents

マルチプロセッサ演算装置、および該装置を有するプログラマブルコントローラ

Info

Publication number
JPH08249022A
JPH08249022A JP5228695A JP5228695A JPH08249022A JP H08249022 A JPH08249022 A JP H08249022A JP 5228695 A JP5228695 A JP 5228695A JP 5228695 A JP5228695 A JP 5228695A JP H08249022 A JPH08249022 A JP H08249022A
Authority
JP
Japan
Prior art keywords
address
slave
data
instruction
access
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
JP5228695A
Other languages
English (en)
Other versions
JP3328867B2 (ja
Inventor
Yasuhiro Nishimura
康裕 西村
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.)
Omron Corp
Original Assignee
Omron Corp
Omron Tateisi Electronics Co
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 Omron Corp, Omron Tateisi Electronics Co filed Critical Omron Corp
Priority to JP05228695A priority Critical patent/JP3328867B2/ja
Publication of JPH08249022A publication Critical patent/JPH08249022A/ja
Application granted granted Critical
Publication of JP3328867B2 publication Critical patent/JP3328867B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Control By Computers (AREA)
  • Programmable Controllers (AREA)

Abstract

(57)【要約】 【目的】 マルチプロセッサ演算装置において、スレー
ブプロセッサ側における演算処理のオーバーヘッドを減
少させる。 【構成】 デコード部11は、各命令を解析して、その
解釈に基づきマスタプロセッサ1側あるいはスレーブプ
ロセッサ2側に演算指令を出力すると共に、当該命令の
オペランドを出力する。アドレス計算部12aは、その
オペランドに基づいてアドレスを計算して、アドレスレ
ジスタ14aに格納する。スレーブプロセッサ2側のス
レーブ演算部21がデコード部11より演算指令を受け
て、インタフェース部14にアクセスすると、インタフ
ェースコントローラ14bは、アクセスレジスタ14a
に格納されたアドレスに基づき、スレーブ演算部21が
データメモリ4上におけるそのアドレスのデータへアク
セスできるようにアクセス制御を行う。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、各命令をマスタプロせ
ッサ、あるいはスレーブプロセッサで実行するようにし
たマルチプロセッサ演算装置、および該装置を有するプ
ログラマブルコントローラに関する。
【0002】
【従来の技術】プログラマブルコントローラ等のマルチ
プロセッサ演算装置では、通常、基本的な命令を高速実
行するASIC等のマスタプロセッサと、それ以外の応
用命令等を汎用MPU等によって実行するスレーブプロ
セッサ(1台でも、複数台でも勿論構わない。)とから
構成されている。
【0003】マスタプロせッサは、命令メモリからの命
令を解読して、その命令がこのマスタプロセッサで実行
されるものか、あるいはスレーブプロセッサで実行され
るものかを判断し、自プロセッサが実行可能な命令につ
いてはこのマスタプロセッサで実行すると共に、スレー
ブプロセッサが実行するものについては当該スレーブプ
ロセッサに対して当該命令をデータとして送出するよう
にしている。
【0004】一方、スレーブプロセッサは、通常は休止
等していて、マスタプロセッサからスレーブプロセッサ
側で実行すべき命令を受けた場合には、当該命令の解析
を行って実行するようにしている。
【0005】つまり、例えば実行する命令のオペランド
が3つある場合、スレーブプロセッサはマスタプロセッ
サ側から命令を受けると、図6に示すように命令の解釈
(ステップ100)、オペランド1のアドレス計算(ス
テップ110)、オペランド1のデータフェッチ(ステ
ップ120)、オペランド2のアドレス計算(ステップ
130)、オペランド2のデータフェッチ(ステップ1
40)オペランド1によるデータとオペランド2による
データとの演算(ステップ150)、オペランド3によ
るディスティネーション(転送先)アドレスの計算(ス
テップ160)、ディスティネーションへの書込み(ス
テップ170)、という手順で処理を行っている。
【0006】
【発明が解決しようとする課題】しかし、このような従
来のマルチプロセッサ演算装置では、スレーブプロセッ
サ側でも、上述の図7に示すように、命令の解釈を行
い、続いて各オペランドにしたがったアドレス計算をし
て、命令の演算に使用するソースデータを取得し、さら
にディスティネーションアドレスを算出して、その後実
際の演算に入るようにしていたため、スレーブプロセッ
サに演算リクエストが送達されてから実際に演算を開始
するまでの処理に時間がかかり、スレーブプロセッサに
おけるオーバヘッドが大きくなってしまう、という問題
があった。
【0007】そこで、本発明はこのような問題に着目し
てなされたもので、スレーブプロセッサ側における演算
処理のオーバーヘッドを減少させることのできるマルチ
プロセッサ演算装置、および該装置を有するプログラマ
ブルコントローラを提供することを目的とする。
【0008】
【課題を解決するための手段】上記目的を達成するた
め、請求項1記載の発明では、各命令をマスタプロせッ
サ、あるいはスレーブプロセッサで実行するようにした
マルチプロセッサ演算装置であって、上記マスタプロセ
ッサは、命令を解析すると共に当該命令がマスタプロセ
ッサ側で実行されるものか、あるいはスレーブプロセッ
サ側で実行されるものかを判断して、その判断結果に基
づきマスタプロセッサ側あるいはスレーブプロセッサ側
に演算指令を出力すると共に、当該命令のオペランドを
出力するデコード手段と、上記デコード手段からのオペ
ランドに基づいてアドレスを計算するアドレス計算手段
と、上記スレーブプロセッサ側からアクセス可能で、上
記アドレス計算手段が計算したアドレスを記憶してその
アドレスのデータへのアクセスを制御するインタフェー
ス手段と、を具備する一方、上記スレーブプロセッサ
は、上記デコード部からの演算指令を受けて上記インタ
フェース手段にアクセスして、当該インタフェース手段
に記憶されたアドレスのデータを読出し実行するスレー
ブ演算手段を具備する、ことを特徴とする。
【0009】また、請求項2記載の発明では、請求項1
記載のマスタプロセッサ演算装置において、インタフェ
ース手段は、アドレス計算手段が計算したアドレスを記
憶するアドレス記憶手段と、上記アドレス記憶手段に記
憶されたアドレスのデータへの直接アクセスを示すデー
タポートを有し、スレーブ演算手段がこのデータポート
へアクセスした場合、当該スレーブ演算手段に上記アド
レスが示すデータへ直接アクセスさせるよう制御するア
クセス制御手段と、を具備することを特徴とする。
【0010】また、請求項3記載の発明では、請求項1
記載のマルチプロセッサ演算装置において、インタフェ
ース手段は、アドレス計算手段が計算したアドレスを記
憶するアドレス記憶手段と、上記アドレス記憶手段に記
憶されたアドレスのデータへの直接アクセスを示すイン
クリメントデータポートを有し、スレーブ演算手段がこ
のインクリメントデータポートへアクセスした場合、当
該スレーブ演算手段に上記アドレスが示すデータへ直接
アクセスさせると共に、上記アドレス記憶手段に記憶さ
れたアドレスをインクリメントするよう制御するアクセ
ス制御手段と、を具備することを特徴とする。
【0011】また、請求項4記載の発明では、請求項
1、請求項2、または請求項3記載のマルチプロセッサ
演算装置によってユーザプログラムを実行するプログラ
マブルコントローラであることを特徴とする。
【0012】
【作用】請求項1〜4記載の発明では、マスタプロセッ
サ側で、デコード手段が命令を解析すると共に当該命令
がマスタプロセッサ側で実行されるものか、あるいはス
レーブプロセッサ側で実行されるものかを判断して、そ
の判断結果に基づきマスタプロセッサ側あるいはスレー
ブプロセッサ側に演算指令を出力すると共に、当該命令
のオペランドを出力し、アドレス計算手段がそのオペラ
ンドに基づいてアドレスを計算して、インタフェース手
段がそのアドレスを記憶する。
【0013】そして、スレーブプロセッサ側のスレーブ
演算手段が、デコード部からの演算指令を受けてインタ
フェース手段にアクセスすると、インタフェース手段の
制御によってそのインタフェース手段に記憶されたアド
レスのデータを読出し、そのデータを実行する。
【0014】特に、請求項2記載の発明では、インタフ
ェース手段は、アドレス計算手段が計算したアドレスを
記憶しておき、スレーブ演算手段がデータポートへアク
セスした場合には、スレーブ演算手段にそのアドレスが
示すデータへ直接アクセスさせるよう制御する。
【0015】また、請求項3記載の発明では、インタフ
ェース手段は、アドレス計算手段が計算したアドレスを
記憶しておき、スレーブ演算手段がインクリメントデー
タポートへアクセスした場合には、当該スレーブ演算手
段にそのアドレスが示すデータへ直接アクセスさせると
共に、そのアドレスをインクリメントするよう制御す
る。
【0016】
【実施例】以下、本発明に係るマルチプロセッサ演算装
置、および本装置を有するプログラマブルコントローラ
の実施例を図面に基づいて説明する。
【0017】図1に、本発明に係るマルチプロセッサ演
算装置の構成を示す。
【0018】このマルチプロセッサ演算装置は、プログ
ラマブルコントローラに設けられるもので、複数(本実
施例では、便宜上2台とする。)のプロセッサ、すなわ
ちマスタプロセッサ1、およびスレーブプロセッサ2
と、ユーザプログラムを格納したユーザプログラムメモ
リ3と、データメモリ4とを基本的構成要素として備え
ている。
【0019】マスタプロセッサ1は、デコード部11
と、オペランド解析部12と、マスタ演算部13と、イ
ンタフェース部14とを有している。
【0020】ここで、デコード部11は、ユーザプログ
ラムメモリ3から命令を読出して解析すると共に当該命
令がマスタプロセッサ1側で実行されるものか、あるい
はスレーブプロセッサ2側で実行されるものかを判断し
て、その判断結果に基づきマスタプロセッサ1側あるい
はスレーブプロセッサ2側に演算指令を出力すると共
に、当該命令のオペランドを出力するように構成されて
いる。なお、デコード部11は、基本命令等の高速演算
が要求される命令は、原則としてマスタプロセッサ1側
に実行させ、応用命令や後からユーザが作成した命令等
はスレーブプロセッサ2側実行させるように判断するも
のとする。
【0021】オペランド解析部12は、デコード部11
からのオペランドによりアドレスを計算して後述するデ
ータフェッチ部12bおよびインタフェース部14のア
ドレスレジスタ14aに常時出力するアドレス計算部1
2aと、デコード部11での判断結果に基づいて命令が
マスタプロセッサ1側で実行される場合には、アクセス
計算部12aが計算したアドレスに基づきデータメモリ
4にアクセスしてデータを読出し、マスタ演算部13へ
送出するデータフェッチ部12bとから構成されてい
る。なお、このデータフェッチ部12bは、デコード部
11での判断結果に基づいて命令がマスタプロセッサ1
側で実行される場合のみデータメモリ4からデータを読
出してマスタ演算部13へ送出するようにしても、デコ
ード部11での判断結果に基づいて常時命令がデータを
読出してマスタ演算部13へ送出するようにしても良
い。
【0022】マスタ演算部13は、本実施例では、AS
IC等の特定の命令を高速演算するもので、デコード部
11からマスタプロセッサ1側への演算指令を受けて、
その演算指令に基づきオペランド解析部12のデータフ
ェッチ部12bがデータメモリ4から読出したデータを
入力して演算実行するように構成されている。
【0023】インタフェース部14は、アドレス計算部
12aで計算された命令のアドレスをスレーブプロセッ
サ2側で実行される命令のアドレスとして命令毎に上書
きで記憶するアドレスレジスタ14aと、インタフェー
スコントローラ14bとから構成されている。
【0024】インタフェースコントローラ14bは、ス
レーブプロセッサ2側からアクセス可能なデータポート
14b1 およびインクリメントデータポート14b2 を
有しており、スレーブプロセッサ2がデータポート14
b1 へアクセスした場合は、レジスタ14aに記憶され
たアドレスをアドレスバスに出力等してスレーブプロセ
ッサ2がデータメモリ4へ直接アクセスできるようメモ
リアクセスの制御を行うと共に、スレーブプロセッサ2
がこのインクリメントデータポート14b2 へアクセス
した場合は、アクセスレジスタ14aに記憶されたアド
レスに基づいてスレーブプロセッサ2がデータメモリ4
へ直接アクセスできるようメモリアクセスの制御を行う
と共に、その後アクセスレジスタ14aに格納されたア
ドレスを1インクリメントするように構成されている。
【0025】一方、スレーブプロセッサ2は、命令のデ
コード部も備えてなく、マスタプロセッサ1のデコード
部11から命令の演算指令を受けて、その演算指令にし
たがって次に説明する図2に示す処理手順でインタフェ
ースコントローラ14bのデータポート14b1 あるい
はインクリメントデータポート14b2 にアクセスして
演算実行するスレーブ演算部21を備えている。
【0026】図2に、本実施例のスレーブ演算部21に
おける命令演算手順を示す。
【0027】本実施例のスレーブ演算部21は、マスタ
プロセッサ1側のデコード部11から演算指令を受ける
と、スレーブ演算処理を開始して、まずはその演算指令
を解釈する(ステップ200)。例えば、その演算指令
がデータポート14b1 へのアクセスか、あるいはイン
クリメントデータポート14b2 へのアクセスを指示し
ているかや、さらにはその命令のオペランドの数等を解
釈する。尚、ここでは、オペランドが3つ、すなわち演
算すべき命令のソースデータのアドレスを示す2つのソ
ースオペランドと、その演算結果の転送先を示す1つの
ディスティネーションオペランドの合計3つのオペラン
ドがあるものとする。
【0028】そして、スレーブ演算部21は、その解釈
に基づき、データポート14b1 あるいはインクリメン
トデータポート14b2 のどちらか一方のポートへアク
セスして、アドレスレジスタ14aに格納されたオペラ
ンド1のアドレスが示すデータメモリ4上へ直接アクセ
スし、まずはオペランド1のアドレスのデータをフェッ
チする(ステップ210)。
【0029】次いで、同様にポートアクセスしてオペラ
ンド2のアドレスのデータをフェッチして(ステップ2
20)、続いて両フェッチしたデータを演算指令にした
がって演算し(ステップ230)、3度目のポートアク
セスによってその演算結果をアドレスレジスタ14aに
格納されたオペランド3のアドレスが示すディスティネ
ーションへ転送して(ステップ240)、この命令の演
算処理を終了する。
【0030】従って、この図2に示す処理をスレーブプ
ロセッサ2側で実行する本実施例によれば、図6に示す
処理をスレーブプロセッサ2側で実行する従来技術と比
較して、ステップ110,130のオペランド1,2の
計算であるソースデータアドレスの計算、およびステッ
プ160のオペランド3の計算であるディスティネーシ
ョンアドレスの計算処理が不要となり、スレーブプロセ
ッサ2側のオーバーヘッドが減少して、スレーブプロセ
ッサ2側の負担が軽減されると共に、スレーブプロセッ
サ2側の高速演算が可能になる。
【0031】次に、このように構成されたマスタプロセ
ッサ演算装置の動作を、具体的な命令を一例にして説明
する。
【0032】図3に、具体的な命令の一例を示す。
【0033】この命令は、スレーブプロセッサ2側で演
算実行されるADD(加算)命令31を示しており、演
算内容を示す命令コード“ADD”と、第1〜第3の3
つのオペランドとで構成されている。
【0034】このADD命令31の動作内容は、「(第
1オペランドの)12番地のデータと、(第2オペラン
ドの)IR0+4番地のデータとを加算して、その加算
結果を(第3オペランドの)18番地のデータが示す番
地のデータに書き込む。」、という内容を示している。
【0035】なお、IR0、すなわちユーザプログラム
メモリ3の0番地には、定数“10”のデータが入って
いるものとする。
【0036】図4に、このADD命令31実行前のデー
タメモリ4のデータ格納状態の一例を示す。
【0037】このデータメモリ4には、例えば“8番
地”のアドレスには定数“8”のデータ、“11番地”
のアドレスには定数“1”のデータというように、アド
レス順にデータが格納されている。
【0038】以上のメモリ状態を前提とした上で、この
図2に示すADD命令31がマスタプロセッサ1のデコ
ード部11によってユーザプログラムメモリ3から読み
出されて解析されると、デコード部11からスレーブプ
ロセッサ2側にそのADD命令31の演算内容を示す演
算指令が送出されると共に、このADD命令31の第1
〜第3のオペランド(図2参照)がオペランド解析部1
2に送出される。
【0039】オペランド解析部12では、この第1〜第
3のオペランドをアドレス計算部12aが受けて、以下
のようにアドレス計算を行う。
【0040】つまり、まず第1オペランドの場合、“$
12”の直接アドレス指定であるため、アドレス計算結
果はそのままの定数“12”であり、これをアドレスレ
ジスタ14aに書き込む。
【0041】また、第2オペランドの場合、“#4(I
R0)”の間接アドレス指定であるため、IR0の内容
“10”を読み込むと共に、“IR0+4”の演算を実
行して“14”を得て、この計算結果“14”をアドレ
スレジスタ14aに書き込む。
【0042】また、第3オペランドの場合、“$18”
の直接アドレス指定であるため、アドレス計算結果はそ
のままの定数“18”であり、これをアドレスレジスタ
14aに書き込む。
【0043】したがって、アドレスレジスタ14aに
は、このADD命令31の第1〜第3のオペランドに各
々対応した3つのアドレスが格納されることになる。
【0044】ところで、スレーブプロセッサ2では、マ
スタプロセッサ1側のデコード部11からそのADD命
令31の演算指令をスレーブ演算部21が受けて、スレ
ーブ演算部21がそのADD命令31の演算指令にした
がってインタフェースコントローラ14bのデータポー
ト14b1 若しくはインクリメントデータポート14b
2 にアクセスしてリードおよびライト動作を行う。
【0045】まず、スレーブ演算部21がデータポート
14b1 へアクセスしてリード動作をした場合、インタ
フェースコントローラ14bは、アドレスバスにアドレ
スレジスタ14に格納された各アドレスを出力等するこ
とによりスレーブ演算部21のメモリアクセスをコント
ロールして、アドレスレジスタ14aに格納された第1
オペランドのアドレスである“12”をアドレスレジス
タ14aから読出してアドレスバスに流す。
【0046】すると、図4に示すようにデータメモリ4
のアドレス“12番地”のデータ内容である定数“2”
が、リードデータとしてデータメモリ4からデータポー
ト14b1 を介しスレーブプロセッサ2内に読み込まれ
ることになる。
【0047】また、同様にして、スレーブ演算部21
は、データポート14b2 を再度アクセスするだけで、
マスタプロセッサ1側で計算された第2オペランドのア
ドレス“14番地”のデータである定数“4”をデータ
メモリ14から読込むことができる。
【0048】そして、スレーブ演算部21は、第1オペ
ランドのアドレスに基づく定数“2”と、第2オペラン
ドのアドレスに基づく定数“4”とを、デコード部11
からのADDの演算指令にしたがって加算して定数
“6”を得て、今度はその演算指令にしたがってデータ
ポート14b1 にアクセスして演算結果“6”のライト
動作を行う。
【0049】すると、データポート14b1 にライトア
クセスしただけで、インタフェースコントローラ14b
のメモリアクセスコントロールによって、アドレスレジ
スタ14aに格納された第3オペランドのアドレス“8
番地”がアドレスバスに出力され、データメモリ4のア
ドレス“8番地”へ演算結果の定数“6”が書き込まれ
ることになる。
【0050】図5は、ADD命令31実行後のデータメ
モリ4の内容を示しており、図に示すように、データメ
モリ4のアドレス“8番地”の内容が定数“6”に変更
されていることがわかる。
【0051】従って、本実施例によれば、図2にも示す
ように、スレーブプロセッサ2側では、命令のオペラン
ドに基づいてアドレス計算をすることなく、マスタプロ
セッサ1側のインタフェースコントローラ14bのデー
タポート14b1 にアクセスするだけで、インタフェー
スコントローラ14bのメモリアドレスコントロールに
よってデータメモリ4からデータを読込み演算を実行し
て、ディスティネーションへ演算結果を書込むことがで
きることになる。
【0052】このため、図6に示すようにスレーブプロ
セッサ2側でも各オペランドに基づいてアクセス計算し
ていた従来技術と比較して、ステップ110,130の
オペランド1,2の計算であるソースデータアドレスの
計算、およびステップ160のオペランド3の計算であ
るディスティネーションアドレスの計算処理が不要とな
り、スレーブプロセッサ2側のオーバーヘッドが減少
し、スレーブプロセッサ2側の負担が軽減されると共
に、スレーブプロセッサ2側の高速演算が可能になる。
【0053】次に、本実施例において、デコード部11
からの演算指令に基づいてスレーブ演算部21がインタ
フェースコントローラ14bのインクリメントデータポ
ート14b2 にアクセスした場合について説明する。
【0054】このインクリメントデータポート14b2
へのアクセスは、デコード部11で解読された命令が、
例えばデータメモリ4のある番地からある番地までの一
定領域の各データを他の領域にブロック単位でコピーす
るデータのブロックコピー命令の場合や、一定領域の各
データを各々演算して他の領域に書込む命令等のブロッ
ク単位の一括処理命令等の場合に行われる。
【0055】つまり、スレーブ演算部21がデコード部
11からそのようなブロック単位でデータを処理する一
括処理命令等の演算指令をうけたものとすると、スレー
ブ演算部21はインタフェースコントローラ14bのデ
ータポート14ではなくインクリメントデータポート1
4b2 にアクセスする。
【0056】このようなブロック転送命令の場合、アド
レスレジスタ14aには、そのデータブロックの先頭番
地が格納されているので(例えばアドレス“9番地”が
格納されているものとする。)、スレーブ演算部21が
インクリメントデータポート14b2 にアクセスする
と、インタフェースコントローラ14bがその先頭番地
“9番地”のアドレスをアドレスバスに出力して、スレ
ーブ演算部21にインクリメントデータポート14b2
を介してデータメモリ4に直接アクセスさせ、その“9
番地”のデータである定数“9”を読込み、ブロック単
位のコピー等の演算処理を実行させることができる。
【0057】その際、その演算処理が終了すると、イン
タフェースコントローラ14bは、インクリメントデー
タポート14b2 へのアクセスであるため、アドレスレ
ジスタ14aに記憶された各オペランドのアドレスを1
インクリメントする。
【0058】すると、スレーブ演算部21が再度インク
リメントデータポート14b2 にアクセスした場合、イ
ンタフェースコントローラ14bの制御によって、スレ
ーブ演算部21がアドレスレジスタ14aに格納された
1インクリメントされたアドレス“10番地”のデータ
にアクセスでき、その再度のインクリメントデータポー
ト14b2 のアクセスによってアドレスレジスタ14a
に格納されたアドレスが再度1インクリメントされ、次
のアクセスの際には次のアドレス“11番地”のデータ
にアクセスできることになる。
【0059】従って、本実施例によれば、スレーブ演算
部21は、必要なデータ数分だけインクリメントデータ
ポート14b2 へのアクセスを繰り返すだけで、アドレ
ス計算をすることなく一定領域のデータを読出して実行
することができ、一定領域のデータの一括処理の場合で
もアドレス計算をせずに高速演算が可能になる。
【0060】
【発明の効果】以上説明したように本発明では、アドレ
ス計算手段が命令のオペランドに基づいて計算したアド
レスをインタフェース手段が記憶しておき、スレーブプ
ロセッサ側のスレーブ演算手段がインタフェース手段に
アクセスした場合には、インタフェース手段はスレーブ
演算手段がその記憶したアクセスのデータへアクセスで
きるようにアクセスコントロールを行うようにしたた
め、スレーブプロセッサ側では、命令のオペランドに基
づいてアドレス計算をすることなく、データメモリから
データを読み込み実行することができる。
【0061】このため、スレーブプロセッサ側でも各オ
ペランドに基づいてアクセス計算していた従来技術と比
較して、ソースデータアドレスおよびディスティネーシ
ョンアドレスの計算処理等が不要となり、スレーブプロ
セッサ側のオーバーヘッドが減少して、スレーブプロセ
ッサ側の負担が軽減されると共に、スレーブプロセッサ
側の高速演算が可能になる。
【0062】また、本発明では、スレーブ演算手段がイ
ンクリメントデータポートへアクセスした場合には、当
該スレーブ演算手段にそのアドレスが示すデータへ直接
アクセスさせると共に、そのアドレスをインクリメント
するようにしたため、スレーブ演算手段が必要なデータ
数分だけインクリメントデータポートへアクセスを繰り
返すだけで、アドレス計算をすることなく一定領域のデ
ータを読出して実行することができ、一定領域のデータ
の一括処理の場合でもアドレス計算をせずに高速演算が
可能になる。
【図面の簡単な説明】
【図1】本発明に係るマルチプロセッサ演算装置の第1
実施例を示すブロック図。
【図2】第1実施例のスレーブ演算部における命令演算
処理の手順を示すフローチャート。
【図3】具体的な命令を示す説明図。
【図4】命令実行前のデータメモリのデータ格納状態の
一例を示す説明図。
【図5】命令実行後のデータメモリのデータ格納状態の
一例を示す説明図。
【図6】従来のスレーブプロセッサにおける命令演算処
理の手順を示すフローチャート。
【符号の説明】
1 マスタプロセッサ 11 デコード部(デコード手段) 12 オペランド解析部 12a アドレス計算部(アドレス計算手段) 12b データフェッチ部 13 マスタ演算部 14 インタフェース部(インタフェース手段) 14a アドレスレジスタ(アドレス記憶手段) 14b インタフェースコントローラ(アクセス制御手
段) 2 スレーブプロセッサ 21 スレーブ演算部 3 ユーザプログラムメモリ 4 データメモリ

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 各命令をマスタプロせッサ、あるいはス
    レーブプロセッサで実行するようにしたマルチプロセッ
    サ演算装置であって、 上記マスタプロセッサは、 命令を解析すると共に当該命令がマスタプロセッサ側で
    実行されるものか、あるいはスレーブプロセッサ側で実
    行されるものかを判断して、その判断結果に基づきマス
    タプロセッサ側あるいはスレーブプロセッサ側に演算指
    令を出力すると共に、当該命令のオペランドを出力する
    デコード手段と、 上記デコード手段からのオペランドに基づいてアドレス
    を計算するアドレス計算手段と、 上記スレーブプロセッサ側からアクセス可能で、上記ア
    ドレス計算手段が計算したアドレスを記憶してそのアド
    レスのデータへのアクセスを制御するインタフェース手
    段と、を具備する一方、 上記スレーブプロセッサは、 上記デコード部からの演算指令を受けて上記インタフェ
    ース手段にアクセスして、当該インタフェース手段に記
    憶されたアドレスのデータを読出し実行するスレーブ演
    算手段を具備する、 ことを特徴とするマルチプロセッサ演算装置。
  2. 【請求項2】 インタフェース手段は、 アドレス計算手段が計算したアドレスを記憶するアドレ
    ス記憶手段と、 上記アドレス記憶手段に記憶されたアドレスのデータへ
    の直接アクセスを示すデータポートを有し、スレーブ演
    算手段がこのデータポートへアクセスした場合、当該ス
    レーブ演算手段に上記アドレスが示すデータへ直接アク
    セスさせるよう制御するアクセス制御手段と、 を具備することを特徴とする請求項1記載のマルチプロ
    セッサ演算装置。
  3. 【請求項3】 インタフェース手段は、 アドレス計算手段が計算したアドレスを記憶するアドレ
    ス記憶手段と、 上記アドレス記憶手段に記憶されたアドレスのデータへ
    の直接アクセスを示すインクリメントデータポートを有
    し、スレーブ演算手段がこのインクリメントデータポー
    トへアクセスした場合、当該スレーブ演算手段に上記ア
    ドレスが示すデータへ直接アクセスさせると共に、上記
    アドレス記憶手段に記憶されたアドレスをインクリメン
    トするよう制御するアクセス制御手段と、 を具備することを特徴とする請求項1記載のマルチプロ
    セッサ演算装置。
  4. 【請求項4】 請求項1、請求項2、または請求項3記
    載のマルチプロセッサ演算装置によってユーザプログラ
    ムを実行することを特徴とするプログラマブルコントロ
    ーラ。
JP05228695A 1995-03-13 1995-03-13 マルチプロセッサ演算装置、および該装置を有するプログラマブルコントローラ Expired - Fee Related JP3328867B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP05228695A JP3328867B2 (ja) 1995-03-13 1995-03-13 マルチプロセッサ演算装置、および該装置を有するプログラマブルコントローラ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP05228695A JP3328867B2 (ja) 1995-03-13 1995-03-13 マルチプロセッサ演算装置、および該装置を有するプログラマブルコントローラ

Publications (2)

Publication Number Publication Date
JPH08249022A true JPH08249022A (ja) 1996-09-27
JP3328867B2 JP3328867B2 (ja) 2002-09-30

Family

ID=12910564

Family Applications (1)

Application Number Title Priority Date Filing Date
JP05228695A Expired - Fee Related JP3328867B2 (ja) 1995-03-13 1995-03-13 マルチプロセッサ演算装置、および該装置を有するプログラマブルコントローラ

Country Status (1)

Country Link
JP (1) JP3328867B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10307607A (ja) * 1997-05-08 1998-11-17 Hitachi Ltd 主プロセッサ及びプログラマブルコントローラ
US7062422B2 (en) 2000-10-02 2006-06-13 Keyence Corporation PLC system construction support tool and PLC system program development support tool including the same

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10307607A (ja) * 1997-05-08 1998-11-17 Hitachi Ltd 主プロセッサ及びプログラマブルコントローラ
US7062422B2 (en) 2000-10-02 2006-06-13 Keyence Corporation PLC system construction support tool and PLC system program development support tool including the same

Also Published As

Publication number Publication date
JP3328867B2 (ja) 2002-09-30

Similar Documents

Publication Publication Date Title
JPS6055849B2 (ja) 命令制御方式
GB2231986A (en) Programmable logic controller including function block processor and bit processor
JPH08249022A (ja) マルチプロセッサ演算装置、および該装置を有するプログラマブルコントローラ
JP2619425B2 (ja) シーケンスコントローラ
JPS6349938A (ja) 命令先取り制御装置
JPH0635800A (ja) マイクロプロセッサ及びそれを使用したデータ処理システム
JPS6041779B2 (ja) 入出力プログラム制御装置
JPH06324861A (ja) Cpu制御システム及び制御方法
JP2591211B2 (ja) 高速割込み処理装置
JPS63155254A (ja) 情報処理装置
JPH07210454A (ja) 高速化処理装置
JPH0795288B2 (ja) マイクロコンピュータ
JPH08161222A (ja) プロセッサ及びそのプログラム作成方法
JPH10187531A (ja) キャッシュメモリのプリフェッチ方式
JPH02109128A (ja) コンピュータシステム
JP3456770B2 (ja) 情報処理装置
JPH0380355A (ja) Dma転送機構を有する計算機
JP2000194554A (ja) 演算処理装置
JP2002182901A (ja) コプロセッサデータアクセス制御装置、その方法およびその命令フォーマット
JPH07191844A (ja) プログラマブル・ロジック付きマイクロプロセッサ
JP2004139218A (ja) マイクロプロセッサ
JPH05204416A (ja) プログラマブルコントローラ
JPH05108342A (ja) プログラマブル制御装置
JPH04188226A (ja) 命令先読み制御装置
JPS62117046A (ja) プレフイクス制御方式

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20020612

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

Free format text: PAYMENT UNTIL: 20080719

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20080719

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20090719

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20090719

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20100719

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20110719

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20110719

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20120719

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20130719

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees